@kodax-ai/kodax 0.7.53 → 0.7.54

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.
Files changed (42) hide show
  1. package/CHANGELOG.md +18 -1
  2. package/dist/chunks/{agent-DZ37KWZI.js → agent-5FZH3VUN.js} +1 -1
  3. package/dist/chunks/argument-completer-VURFBB37.js +2 -0
  4. package/dist/chunks/{chunk-LE6STNVN.js → chunk-7C2QUBLE.js} +1 -1
  5. package/dist/chunks/chunk-AMFPS2WC.js +584 -0
  6. package/dist/chunks/chunk-EM4GOL3S.js +551 -0
  7. package/dist/chunks/{chunk-CLIRXPAJ.js → chunk-FV6KHPWT.js} +44 -44
  8. package/dist/chunks/{chunk-OQL4ISVD.js → chunk-JEQ62ZMK.js} +198 -195
  9. package/dist/chunks/chunk-KSBSEPV5.js +314 -0
  10. package/dist/chunks/{chunk-D4MGMUDL.js → chunk-QQX333VC.js} +1 -1
  11. package/dist/chunks/{chunk-5YQDGVDB.js → chunk-UHNSW2SR.js} +1 -1
  12. package/dist/chunks/{compaction-config-OF2T45MC.js → compaction-config-HY46N24Q.js} +1 -1
  13. package/dist/chunks/{construction-bootstrap-JIE7LYNN.js → construction-bootstrap-AVTILHEH.js} +1 -1
  14. package/dist/chunks/{dist-Z6U7TWKJ.js → dist-BNKIZRCP.js} +1 -1
  15. package/dist/chunks/dist-EV5MWJQ6.js +2 -0
  16. package/dist/chunks/{utils-AB4DNRZC.js → utils-ZUC3AIL5.js} +1 -1
  17. package/dist/index.d.ts +7 -4
  18. package/dist/index.js +6 -6
  19. package/dist/kodax_cli.js +1090 -1013
  20. package/dist/provider-capabilities.json +3 -3
  21. package/dist/sdk-agent.d.ts +395 -3
  22. package/dist/sdk-agent.js +1 -1
  23. package/dist/sdk-coding.d.ts +47 -27
  24. package/dist/sdk-coding.js +1 -1
  25. package/dist/sdk-llm.js +1 -1
  26. package/dist/sdk-mcp.js +1 -1
  27. package/dist/sdk-repl.d.ts +6 -6
  28. package/dist/sdk-repl.js +1 -1
  29. package/dist/sdk-session.d.ts +3 -3
  30. package/dist/sdk-session.js +1 -1
  31. package/dist/sdk-skills.d.ts +1 -1
  32. package/dist/sdk-skills.js +1 -1
  33. package/dist/types-chunks/{bash-prefix-extractor.d-BpNoRkSD.d.ts → bash-prefix-extractor.d-CBLoD2Jk.d.ts} +43 -14
  34. package/dist/types-chunks/{sdk-session-BkaGuIC6.d.ts → sdk-session-DrPxcDuO.d.ts} +2 -2
  35. package/dist/types-chunks/{storage.d-BUIiD4gq.d.ts → storage.d-DoA3NvdD.d.ts} +1 -1
  36. package/dist/types-chunks/{utils.d-B3fwJEMd.d.ts → utils.d-DSqmMq7l.d.ts} +4 -2
  37. package/package.json +1 -1
  38. package/dist/chunks/argument-completer-OFPM36IZ.js +0 -2
  39. package/dist/chunks/chunk-67HVIUEO.js +0 -307
  40. package/dist/chunks/chunk-RFE5EC7W.js +0 -492
  41. package/dist/chunks/chunk-XFCAXDSD.js +0 -574
  42. package/dist/chunks/dist-BOHLKKR5.js +0 -2
@@ -0,0 +1,314 @@
1
+ // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
+ import{$ as Up,A as uS,Aa as AS,B as Zi,Ba as _S,C as fu,D as dS,E as Wa,F as Np,G as pS,H as Bp,I as jo,J as Hp,K as Fa,L as Wp,M as Fp,N as mS,O as hS,P as es,Q as gS,R as Uo,T as ts,U as pu,V as yS,W as ja,X as cr,Y as jp,Z as Ua,_ as ns,a as ar,aa as xS,b as H,ba as SS,ca as wS,d as cn,da as TS,e as Op,ea as mu,fa as hu,g as ln,ga as Ga,h as Oa,ha as gu,i as su,ia as yu,j as Bo,ja as xu,k as Da,ka as CS,la as bS,m as Na,ma as IS,n as no,na as Gp,o as cS,oa as vS,p as ro,pa as RS,q as Ba,qa as kS,ra as ES,s as Ha,t as lS,ta as rs,ua as os,va as Vp,wa as MS,x as Fo,y as uu,ya as Kp,z as du,za as Su}from"./chunk-EM4GOL3S.js";import{a as oe,c as Ho,j as Ji,k as Pn,m as au,p as aS,r as cu,x as Dp,y as lu,z as Wo}from"./chunk-QQX333VC.js";import{a as fS}from"./chunk-UHNSW2SR.js";import{n as LS,o as PS,p as $S}from"./chunk-EVIDQWMF.js";import{Ba as iS,C as Zx,D as $a,Ea as ru,Q as eS,R as tS,T as $p,U as nS,V as rS,ab as sS,c as Ap,fa as oS,pb as ou,qb as iu}from"./chunk-FV6KHPWT.js";import{$ as tu,Ia as Xx,Ja as Pp,Ka as Yx,Td as nu,Va as qx,Wd as Jx,a as Pa,b as Bx,g as Lp,ma as zx,mb as Qx}from"./chunk-JEQ62ZMK.js";import{S as zl,ca as Dx,ea as Mp,fa as Nx,j as Kl,sa as La}from"./chunk-7C2QUBLE.js";import{Ka as _p,Ld as Zl,Mc as Gx,Md as eu,Na as Ln,Nc as ql,Xc as Vi,db as Wx,dd as qt,fd as $t,hd as Ki,ib as Yl,id as zi,jd as Vx,k as Xl,kb as Fx,ld as Xi,md as Yi,nd as qi,od as Ql,pd as No,qd as Kx,ub as jx,va as Hx,vb as Ux,wa as Gi,xd as Jl,yd as Qi}from"./chunk-AMFPS2WC.js";import{a as o}from"./chunk-V4WSBIXB.js";import{spawnSync as Ok}from"node:child_process";function wu(e){return e==="1"||e?.toLowerCase()==="true"}o(wu,"isTruthyEnv");function OS(e){return e==="0"||e?.toLowerCase()==="false"}o(OS,"isFalseyEnv");function is(e=process.env){return e.TERM_PROGRAM?.toLowerCase()==="vscode"||!!e.VSCODE_GIT_IPC_HANDLE||!!e.VSCODE_INJECTION}o(is,"isVsCodeTerminalHostEnv");function ss(e={}){let t=e.env??process.env;return(e.platform??process.platform)==="win32"||!!t.WT_SESSION}o(ss,"hasCursorUpViewportYankRisk");function Dk(e){return!!(e.SSH_CONNECTION||e.SSH_CLIENT||e.SSH_TTY)}o(Dk,"isSshSession");function Va(e={}){let t=e.env??process.env;return wu(t.KODAX_FULLSCREEN)?!1:(e.platform??process.platform)==="win32"&&Dk(t)}o(Va,"isRemoteConptyHost");function as(e={}){let t=e.env??process.env;return ss(e)||is(t)}o(as,"hasMainScreenRenderScrollRisk");function Nk(e){if(!e.TMUX||e.TERM_PROGRAM!=="iTerm.app")return!1;let t=e.TERM??"";return!t.startsWith("screen")&&!t.startsWith("tmux")}o(Nk,"isTmuxControlModeEnvHeuristic");var Lr;function Ka(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(Nk(t))return!0;if(!(t===process.env&&n===process.platform))return!1;if(Lr!==void 0||(Lr=!1,!t.TMUX)||t.TERM_PROGRAM&&t.TERM_PROGRAM!=="iTerm.app")return Lr;try{let i=Ok("tmux",["display-message","-p","#{client_control_mode}"],{encoding:"utf8",timeout:2e3});i.status===0&&(Lr=i.stdout.trim()==="1")}catch{Lr=!1}return Lr}o(Ka,"isTmuxControlMode");function zp(){Lr=void 0}o(zp,"resetTmuxControlModeProbeForTesting");function Go(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":Ka(e)?"tmux_control_mode":is(t)?"xtermjs_host":Va(e)?"remote_conpty_host":ss(e)?"degraded_vt":"native_vt"}o(Go,"detectTerminalRenderHost");var Vo=Go;function cs(e={}){let t=e.env??process.env;if(wu(t.KODAX_FORCE_INK))return"legacy";let n=t.KODAX_TUI_RENDERER?.trim().toLowerCase();return n==="legacy"||n==="owned"||n==="auto"?n:"auto"}o(cs,"resolveConfiguredTuiRendererMode");function Ko(e={}){let t=cs(e);if(t==="legacy"||t==="owned")return t;let n=Go(e);return n==="unsupported_control_host"||n==="tmux_control_mode"?"legacy":"owned"}o(Ko,"resolveEffectiveTuiRendererMode");function Tu(e={}){let t=e.env??process.env;if(wu(t.KODAX_FORCE_CLASSIC_REPL))return"classic";let n=cs({env:t});if(n==="legacy"||n==="owned")return"ink";let r=Go(e);return r==="unsupported_control_host"||r==="tmux_control_mode"?"classic":"ink"}o(Tu,"resolveInteractiveSurfacePreference");var Bk={enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!0},DS={enabled:!0,promptShell:"main-screen",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!1,transcriptSpinnerAnimation:!0};function zo(e,t="owned",n={}){let r=n.env??process.env;return OS(r.KODAX_FULLSCREEN)?t==="owned"&&e!=="tmux_control_mode"&&e!=="unsupported_control_host"?DS:Bk:Hk(e,t)}o(zo,"resolveFullscreenPolicy");function Hk(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 DS;default:return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1}}}o(Hk,"buildFullscreenPolicy");function ls(e,t={}){let n=t.rendererMode??"owned",r=zo(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(ls,"getTerminalHostCapabilities");function Cu(e={}){return Ko(e)==="owned"}o(Cu,"isOwnedRendererPreferred");function bu(e={}){let t=e.env??process.env;return wu(t.KODAX_FORCE_CLASSIC_REPL)&&!OS(t.KODAX_FORCE_CLASSIC_REPL)}o(bu,"isClassicReplForced");var us=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}},Xp=1,Yp=2,Wk=1e3,NS;function Iu(){if(!(typeof Intl>"u"||typeof Intl.Segmenter!="function"))return NS??=new Intl.Segmenter("en",{granularity:"grapheme"}),NS}o(Iu,"getGraphemeSegmenter");function vn(e){if(!e)return 0;let t=Iu();if(t){let n=0;for(let r of t.segment(e))n++;return n}return[...e].length}o(vn,"getCodePointLength");function lr(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(lr,"isWideChar");function ur(e){if(!e)return 0;let t=0,n=Iu();if(n)for(let r of n.segment(e))t+=lr(r.segment)?Yp:Xp;else for(let r of e)t+=lr(r)?Yp:Xp;return t}o(ur,"getVisualWidth");function Fk(e,t){if(!e||t<0)return"";let n=Iu();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(Fk,"getCharAtCodePoint");function un(e){if(!e)return[];let t=Iu();if(t){let n=[];for(let r of t.segment(e))n.push(r.segment);return n}return[...e]}o(un,"splitByCodePoints");function jk(e,t,n){return un(e).slice(t,n).join("")}o(jk,"sliceByCodePoints");function BS(e,t){let n=Math.max(0,t),r=un(e),i=0,s=0;for(;i<r.length;){let a=lr(r[i])?Yp:Xp;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(BS,"splitAtVisualColumn");function za(e,t,n=!1){if(!e||t<=0)return"";let r="\u2026",s=n?t-1:t,a="",c=0,l=un(e);for(let d of l){let f=lr(d)?2:1;if(c+f>s)break;a+=d,c+=f}return n&&a.length<e.length&&(a+=r),a}o(za,"truncateByVisualWidth");var qp=new us(Wk);function Qp(e){let t=qp.get(e);if(t!==void 0)return t;let n=ur(e);return qp.set(e,n),n}o(Qp,"getVisualWidthCached");function dn(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=un(l);for(;d<f.length;){let p="",m=0,h=d,w=-1;for(let T=d;T<f.length;T++){let S=f[T],C=lr(S)?2:1;if(m+C>t){w>=0&&T-d>0?(p=f.slice(d,w).join(""),m=f.slice(d,w).reduce((M,E)=>M+(lr(E)?2:1),0),h=w):p.length===0&&C>t&&(p=S,m=C,h=T+1);break}p+=S,m+=C,h=T+1,S===" "&&(w=T+1)}if(p.length>0||i.length===0){let T=d,S=i.length;i.push(p),s[c].push([S,T]),a.push([c,T])}d=h}}return{visualLines:i,logicalToVisualMap:s,visualToLogicalMap:a}}o(dn,"calculateVisualLayout");function Jp(e,t){let{logicalToVisualMap:n,visualLines:r}=e;if(r.length===0)return[0,0];let[i,s]=t,a=n[i];if(!a||a.length===0)return[0,0];let c;for(let[h,w]of a)if(w<=s)c=[h,w];else break;let[l,d]=c??a[0],f=r[l]??"",p=Math.max(0,s-d),m=ur(jk(f,0,p));return[l,m]}o(Jp,"calculateVisualCursorFromLayout");var Zp={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"]}},HS={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 WS={dark:Zp,minimal:HS};function ne(e="dark"){return WS[e]??Zp}o(ne,"getTheme");function OB(){return Object.keys(WS)}o(OB,"getThemeNames");import{jsx as mn,jsxs as On,Fragment as JA}from"react/jsx-runtime";import{useMemo as rd}from"react";import{jsx as xT}from"react/jsx-runtime";import{createContext as kA,useContext as Jo,useEffect as ws,useMemo as yT,useState as EA,useCallback as ST,useRef as Xu}from"react";import{Stream as rA}from"node:stream";import{openSync as oA,writeSync as iT}from"node:fs";import{performance as iA}from"node:perf_hooks";import{tmpdir as sA}from"node:os";import{join as aA}from"node:path";import em,{forwardRef as Vk,useContext as Kk}from"react";import{createContext as Uk}from"react";var ds=Uk({isScreenReaderEnabled:!1});import{createContext as Gk}from"react";var vu=Gk(void 0);var FS=Vk(({children:e,backgroundColor:t,"aria-label":n,"aria-hidden":r,"aria-role":i,"aria-state":s,...a},c)=>{let{isScreenReaderEnabled:l}=Kk(ds),d=n?em.createElement("ink-text",null,n):void 0;if(l&&r)return null;let f=em.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?em.createElement(vu.Provider,{value:t},f):f});FS.displayName="Box";var $n=FS;import qk,{useContext as jS}from"react";import fs from"chalk";import oo from"chalk";var zk=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,Xk=/^ansi256\(\s?(\d+)\s?\)$/;function Yk(e){return e in oo}o(Yk,"isNamedColor");function Yn(e,t,n){if(!t)return e;if(Yk(t)){let r=oo;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"?oo.hex(t)(e):oo.bgHex(t)(e);if(t.startsWith("ansi256")){let r=Xk.exec(t);if(!r)return e;let i=Number(r[1]);return n==="foreground"?oo.ansi256(i)(e):oo.bgAnsi256(i)(e)}if(t.startsWith("rgb")){let r=zk.exec(t);if(!r)return e;let i=Number(r[1]),s=Number(r[2]),a=Number(r[3]);return n==="foreground"?oo.rgb(i,s,a)(e):oo.bgRgb(i,s,a)(e)}return e}o(Yn,"colorize");function fn({color:e,backgroundColor:t,dimColor:n=!1,bold:r=!1,italic:i=!1,underline:s=!1,strikethrough:a=!1,inverse:c=!1,wrap:l="wrap",children:d,"aria-label":f,"aria-hidden":p=!1,internal_cursorAnchor:m=!1}){let{isScreenReaderEnabled:h}=jS(ds),w=jS(vu),T=h&&f?f:d;if(T==null)return null;let S=o(C=>{let M=C;n&&(M=fs.dim(M)),e&&(M=Yn(M,e,"foreground"));let E=t??w;return E&&(M=Yn(M,E,"background")),r&&(M=fs.bold(M)),i&&(M=fs.italic(M)),s&&(M=fs.underline(M)),a&&(M=fs.strikethrough(M)),c&&(M=fs.inverse(M)),M},"transform");return h&&p?null:qk.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:l},internal_transform:S,...m?{internal_cursorAnchor:!0}:{}},h&&f?f:d)}o(fn,"Text");import Qk,{useLayoutEffect as Jk,useMemo as US,useState as Zk}from"react";function tm({items:e,children:t,style:n}){let[r,i]=Zk(0),s=US(()=>e.slice(r),[e,r]);Jk(()=>{i(e.length)},[e.length]);let a=s.map((l,d)=>t(l,r+d)),c=US(()=>({position:"absolute",flexDirection:"column",...n}),[n]);return Qk.createElement("ink-box",{internal_static:!0,style:c},a)}o(tm,"Static");import qo from"node:process";import nT from"react";import{throttle as BM}from"es-toolkit/compat";import pn from"ansi-escapes";import Hr from"is-in-ci";import HM from"auto-bind";import{onExit as WM}from"signal-exit";import FM from"patch-console";import{LegacyRoot as jM,ConcurrentRoot as UM}from"react-reconciler/constants.js";import GM from"yoga-layout";import VM from"wrap-ansi";import KM from"terminal-size";import eE from"node:process";var Ru=o(()=>eE.env.DEV==="true","isDev");import kE from"react-reconciler";import{DefaultEventPriority as EE,NoEventPriority as iw}from"react-reconciler/constants.js";import*as io from"scheduler";import tw from"yoga-layout";import{createContext as ME}from"react";import hE from"yoga-layout";import tE from"widest-line";var GS=new Map,nE=o(e=>{if(e.length===0)return{width:0,height:0};let t=GS.get(e);if(t)return t;let n=tE(e),r=e.split(`
3
+ `).length,i={width:n,height:r};return GS.set(e,i),i},"measureText"),nm=nE;import rE from"wrap-ansi";import oE from"cli-truncate";var VS={},iE=o((e,t,n)=>{let r=e+String(t)+String(n),i=VS[r];if(i)return i;let s=e;if(n==="wrap"&&(s=rE(e,t,{trim:!1,hard:!0})),n.startsWith("truncate")){let a="end";n==="truncate-middle"&&(a="middle"),n==="truncate-start"&&(a="start"),s=oE(e,t,{position:a})}return VS[r]=s,s},"wrapText"),ku=iE;var sE=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=63},"isCsiParameterCharacter"),aE=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isCsiIntermediateCharacter"),cE=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=64&&t<=126},"isCsiFinalCharacter"),XS=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isEscapeIntermediateCharacter"),lE=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=126},"isEscapeFinalCharacter"),YS=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=128&&t<=159},"isC1ControlCharacter"),KS=o((e,t)=>{let n=t;for(;n<e.length;){let c=e[n];if(!sE(c))break;n++}let r=e.slice(t,n),i=n;for(;n<e.length;){let c=e[n];if(!aE(c))break;n++}let s=e.slice(i,n),a=e[n];if(!(a===void 0||!cE(a)))return{endIndex:n+1,parameterString:r,intermediateString:s,finalCharacter:a}},"readCsiSequence"),zS=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"),uE=o((e,t)=>{let n=t;for(;n<e.length;){let s=e[n];if(!XS(s))break;n++}let r=e.slice(t,n),i=e[n];if(!(i===void 0||!lE(i)))return{endIndex:n+1,intermediateString:r,finalCharacter:i}},"readEscapeSequence"),dE=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"),fE=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"),rm=o(e=>{if(e.includes("\x1B"))return!0;for(let t of e)if(YS(t))return!0;return!1},"hasAnsiControlCharacters"),ps=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"),qS=o(e=>{if(!rm(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 ps(t,e,n,r);if(a==="["){let d=KS(e,r+2);if(d===void 0)return ps(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=dE(a);if(c!==void 0){let d=zS(e,r+2,c.allowBellTerminator);if(d===void 0)return ps(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=uE(e,r+1);if(l===void 0){if(XS(a))return ps(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=KS(e,r+1);if(a===void 0)return ps(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=fE(i);if(s!==void 0){let a=zS(e,r+1,s.allowBellTerminator);if(a===void 0)return ps(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(YS(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 pE=/^[\d:;]*$/,mE=o(e=>{if(!rm(e))return e;let t="";for(let n of qS(e)){if(n.type==="text"||n.type==="osc"){t+=n.value;continue}n.type==="csi"&&n.finalCharacter==="m"&&n.intermediateString===""&&pE.test(n.parameterString)&&(t+=n.value)}return t},"sanitizeAnsi"),QS=mE;var JS=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=JS(r)),i.length>0&&typeof r.internal_transform=="function"&&(i=r.internal_transform(i,n))),t+=i}return QS(t)},"squashTextNodes"),Xa=JS;var Eu=o(e=>{let t={nodeName:e,style:{},attributes:{},childNodes:[],parentNode:void 0,yogaNode:e==="ink-virtual-text"?void 0:hE.Node.create(),internal_accessibility:{}};return e==="ink-text"&&t.yogaNode?.setMeasureFunc(gE.bind(null,t)),t},"createNode"),Mu=o((e,t)=>{t.parentNode&&Ya(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")&&Au(e)},"appendChildNode"),om=o((e,t,n)=>{t.parentNode&&Ya(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")&&Au(e)},"insertBeforeNode"),Ya=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")&&Au(e)},"removeChildNode"),im=o((e,t,n)=>{if(t==="internal_accessibility"){e.internal_accessibility=n;return}e.attributes[t]=n},"setAttribute"),sm=o((e,t)=>{e.style=t},"setStyle"),ZS=o(e=>{let t={nodeName:"#text",nodeValue:e,yogaNode:void 0,parentNode:void 0,style:{}};return qa(t,e),t},"createTextNode"),gE=o(function(e,t){let n=e.nodeName==="#text"?e.nodeValue:Xa(e),r=nm(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 nm(s)},"measureTextNode"),ew=o(e=>{if(e?.parentNode)return e.yogaNode??ew(e.parentNode)},"findClosestYogaNode"),Au=o(e=>{ew(e)?.markDirty()},"markNodeAsDirty"),qa=o((e,t)=>{typeof t!="string"&&(t=String(t)),e.nodeValue=t,Au(e)},"setTextNodeValue");import ke from"yoga-layout";var xE=o((e,t)=>{"position"in t&&e.setPositionType(t.position==="absolute"?ke.POSITION_TYPE_ABSOLUTE:ke.POSITION_TYPE_RELATIVE),"top"in t&&e.setPosition(ke.EDGE_TOP,t.top??0),"bottom"in t&&e.setPosition(ke.EDGE_BOTTOM,t.bottom??0),"left"in t&&e.setPosition(ke.EDGE_LEFT,t.left??0),"right"in t&&e.setPosition(ke.EDGE_RIGHT,t.right??0)},"applyPositionStyles"),SE=o((e,t)=>{"margin"in t&&e.setMargin(ke.EDGE_ALL,t.margin??0),"marginX"in t&&e.setMargin(ke.EDGE_HORIZONTAL,t.marginX??0),"marginY"in t&&e.setMargin(ke.EDGE_VERTICAL,t.marginY??0),"marginLeft"in t&&e.setMargin(ke.EDGE_START,t.marginLeft||0),"marginRight"in t&&e.setMargin(ke.EDGE_END,t.marginRight||0),"marginTop"in t&&e.setMargin(ke.EDGE_TOP,t.marginTop||0),"marginBottom"in t&&e.setMargin(ke.EDGE_BOTTOM,t.marginBottom||0)},"applyMarginStyles"),wE=o((e,t)=>{"padding"in t&&e.setPadding(ke.EDGE_ALL,t.padding??0),"paddingX"in t&&e.setPadding(ke.EDGE_HORIZONTAL,t.paddingX??0),"paddingY"in t&&e.setPadding(ke.EDGE_VERTICAL,t.paddingY??0),"paddingLeft"in t&&e.setPadding(ke.EDGE_LEFT,t.paddingLeft||0),"paddingRight"in t&&e.setPadding(ke.EDGE_RIGHT,t.paddingRight||0),"paddingTop"in t&&e.setPadding(ke.EDGE_TOP,t.paddingTop||0),"paddingBottom"in t&&e.setPadding(ke.EDGE_BOTTOM,t.paddingBottom||0)},"applyPaddingStyles"),TE=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(ke.WRAP_NO_WRAP),t.flexWrap==="wrap"&&e.setFlexWrap(ke.WRAP_WRAP),t.flexWrap==="wrap-reverse"&&e.setFlexWrap(ke.WRAP_WRAP_REVERSE)),"flexDirection"in t&&(t.flexDirection==="row"&&e.setFlexDirection(ke.FLEX_DIRECTION_ROW),t.flexDirection==="row-reverse"&&e.setFlexDirection(ke.FLEX_DIRECTION_ROW_REVERSE),t.flexDirection==="column"&&e.setFlexDirection(ke.FLEX_DIRECTION_COLUMN),t.flexDirection==="column-reverse"&&e.setFlexDirection(ke.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(ke.ALIGN_STRETCH),t.alignItems==="flex-start"&&e.setAlignItems(ke.ALIGN_FLEX_START),t.alignItems==="center"&&e.setAlignItems(ke.ALIGN_CENTER),t.alignItems==="flex-end"&&e.setAlignItems(ke.ALIGN_FLEX_END)),"alignSelf"in t&&((t.alignSelf==="auto"||!t.alignSelf)&&e.setAlignSelf(ke.ALIGN_AUTO),t.alignSelf==="flex-start"&&e.setAlignSelf(ke.ALIGN_FLEX_START),t.alignSelf==="center"&&e.setAlignSelf(ke.ALIGN_CENTER),t.alignSelf==="flex-end"&&e.setAlignSelf(ke.ALIGN_FLEX_END)),"justifyContent"in t&&((t.justifyContent==="flex-start"||!t.justifyContent)&&e.setJustifyContent(ke.JUSTIFY_FLEX_START),t.justifyContent==="center"&&e.setJustifyContent(ke.JUSTIFY_CENTER),t.justifyContent==="flex-end"&&e.setJustifyContent(ke.JUSTIFY_FLEX_END),t.justifyContent==="space-between"&&e.setJustifyContent(ke.JUSTIFY_SPACE_BETWEEN),t.justifyContent==="space-around"&&e.setJustifyContent(ke.JUSTIFY_SPACE_AROUND),t.justifyContent==="space-evenly"&&e.setJustifyContent(ke.JUSTIFY_SPACE_EVENLY))},"applyFlexStyles"),CE=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"),bE=o((e,t)=>{"display"in t&&e.setDisplay(t.display==="flex"?ke.DISPLAY_FLEX:ke.DISPLAY_NONE)},"applyDisplayStyles"),IE=o((e,t)=>{if("borderStyle"in t){let n=t.borderStyle?1:0;t.borderTop!==!1&&e.setBorder(ke.EDGE_TOP,n),t.borderBottom!==!1&&e.setBorder(ke.EDGE_BOTTOM,n),t.borderLeft!==!1&&e.setBorder(ke.EDGE_LEFT,n),t.borderRight!==!1&&e.setBorder(ke.EDGE_RIGHT,n)}},"applyBorderStyles"),vE=o((e,t)=>{"gap"in t&&e.setGap(ke.GUTTER_ALL,t.gap??0),"columnGap"in t&&e.setGap(ke.GUTTER_COLUMN,t.columnGap??0),"rowGap"in t&&e.setGap(ke.GUTTER_ROW,t.rowGap??0)},"applyGapStyles"),RE=o((e,t={})=>{xE(e,t),SE(e,t),wE(e,t),TE(e,t),CE(e,t),bE(e,t),IE(e,t),vE(e,t)},"styles"),am=RE;if(Ru())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 nw=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"),rw=o(e=>{e?.unsetMeasureFunc(),e?.freeRecursive()},"cleanupYogaNode"),_u=iw,cm,ow={name:void 0,version:void 0},Pr=kE({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=Eu(i);for(let[a,c]of Object.entries(t))if(a!=="children"){if(a==="style"){sm(s,c),s.yogaNode&&am(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}im(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 ZS(e)},resetTextContent(){},hideTextInstance(e){qa(e,"")},unhideTextInstance(e,t){qa(e,t)},getPublicInstance:o(e=>e,"getPublicInstance"),hideInstance(e){e.yogaNode?.setDisplay(tw.DISPLAY_NONE)},unhideInstance(e){e.yogaNode?.setDisplay(tw.DISPLAY_FLEX)},appendInitialChild:Mu,appendChild:Mu,insertBefore:om,finalizeInitialChildren(){return!1},isPrimaryRenderer:!0,supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,supportsMicrotasks:!0,scheduleMicrotask:queueMicrotask,scheduleCallback:io.unstable_scheduleCallback,cancelCallback:io.unstable_cancelCallback,shouldYield:io.unstable_shouldYield,now:io.unstable_now,scheduleTimeout:setTimeout,cancelTimeout:clearTimeout,noTimeout:-1,beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},detachDeletedInstance(){},getInstanceFromNode:o(()=>null,"getInstanceFromNode"),prepareScopeUpdate(){},getInstanceFromScope:o(()=>null,"getInstanceFromScope"),appendChildToContainer:Mu,insertInContainerBefore:om,removeChildFromContainer(e,t){Ya(e,t),rw(t.yogaNode)},commitUpdate(e,t,n,r){cm&&e.internal_static&&(cm.isStaticDirty=!0);let i=nw(n,r),s=nw(n.style,r.style);if(!(!i&&!s)){if(i)for(let[a,c]of Object.entries(i)){if(a==="style"){sm(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}im(e,a,c)}s&&e.yogaNode&&am(e.yogaNode,s)}},commitTextUpdate(e,t,n){qa(e,n)},removeChild(e,t){Ya(e,t),rw(t.yogaNode)},setCurrentUpdatePriority(e){_u=e},getCurrentUpdatePriority:o(()=>_u,"getCurrentUpdatePriority"),resolveUpdatePriority(){return _u!==iw?_u:EE},maySuspendCommit(){return!0},NotPendingTransition:void 0,HostTransitionContext:ME(null),resetFormInstance(){},requestPostPaintCallback(){},shouldAttemptEagerTransition(){return!1},trackSchedulerEvent(){},resolveEventType(){return null},resolveEventTimeStamp(){return-1.1},preloadInstance(){return!0},startSuspendingCommit(){},suspendInstance(){},waitForCommitToBeReady(){return null},rendererPackageName:ow.name,rendererVersion:ow.version});import $E from"widest-line";import OE from"indent-string";import so from"yoga-layout";import Lu from"yoga-layout";var AE=o(e=>e.getComputedWidth()-e.getComputedPadding(Lu.EDGE_LEFT)-e.getComputedPadding(Lu.EDGE_RIGHT)-e.getComputedBorder(Lu.EDGE_LEFT)-e.getComputedBorder(Lu.EDGE_RIGHT),"getMaxWidth"),sw=AE;import _E from"cli-boxes";import Pu from"chalk";var LE=o((e,t,n,r)=>{if(n.style.borderStyle){let i=n.yogaNode.getComputedWidth(),s=n.yogaNode.getComputedHeight(),a=typeof n.style.borderStyle=="string"?_E[n.style.borderStyle]:n.style.borderStyle,c=n.style.borderTopColor??n.style.borderColor,l=n.style.borderBottomColor??n.style.borderColor,d=n.style.borderLeftColor??n.style.borderColor,f=n.style.borderRightColor??n.style.borderColor,p=n.style.borderTopDimColor??n.style.borderDimColor,m=n.style.borderBottomDimColor??n.style.borderDimColor,h=n.style.borderLeftDimColor??n.style.borderDimColor,w=n.style.borderRightDimColor??n.style.borderDimColor,T=n.style.borderTop!==!1,S=n.style.borderBottom!==!1,C=n.style.borderLeft!==!1,M=n.style.borderRight!==!1,E=i-(C?1:0)-(M?1:0),P=T?Yn((C?a.topLeft:"")+a.top.repeat(E)+(M?a.topRight:""),c,"foreground"):void 0;T&&p&&(P=Pu.dim(P));let D=s;T&&(D-=1),S&&(D-=1);let L=(Yn(a.left,d,"foreground")+`
12
+ `).repeat(D);h&&(L=Pu.dim(L));let y=(Yn(a.right,f,"foreground")+`
13
+ `).repeat(D);w&&(y=Pu.dim(y));let W=S?Yn((C?a.bottomLeft:"")+a.bottom.repeat(E)+(M?a.bottomRight:""),l,"foreground"):void 0;S&&m&&(W=Pu.dim(W));let de=T?1:0;P&&r.write(e,t,P,{transformers:[]}),C&&r.write(e,t+de,L,{transformers:[]}),M&&r.write(e+i-1,t+de,y,{transformers:[]}),W&&r.write(e,t+s-1,W,{transformers:[]})}},"renderBorder"),aw=LE;var PE=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=Yn(" ".repeat(f),n.style.backgroundColor,"background");for(let h=0;h<p;h++)r.write(e+a,t+l+h,m,{transformers:[]})},"renderBackground"),cw=PE;function $u(e){let{rawScrollTop:t,contentHeight:n,viewportHeight:r,previousScrollHeight:i,stickyScroll:s,clampMin:a,clampMax:c,virtualScrollWindowed:l,inWindowScrollTop:d,previousAppliedScrollTop:f,regionTop:p}=e,m=Math.max(0,n-r),h=Math.max(0,Math.min(Math.floor(t),m)),T=s&&n>=i?m:h,S=a!==void 0||c!==void 0?Math.max(a??0,Math.min(T,Math.min(m,c??m))):T,C=l&&d!==void 0,M=Math.max(0,Math.floor(d??0)),E=l?C?M:0:S,P=C?E:S,D=null;if(f!==void 0&&f!==P&&r>0){let L=p+r-1;L>=p&&(D={top:p,bottom:L,delta:P-f})}return{scrollHeight:n,viewportTop:S,appliedScrollTop:P,scrollTop:S,scrollOffsetY:E,scrollHint:D}}o($u,"computeScrollState");var DE=o((e,t)=>{let n=e.childNodes[0]?.yogaNode;if(n){let r=n.getComputedLeft(),i=n.getComputedTop();t=`
14
+ `.repeat(i)+OE(t,r)}return t},"applyPaddingToText"),Ou=o((e,t={})=>{if(t.skipStaticElements&&e.internal_static||e.yogaNode?.getDisplay()===so.DISPLAY_NONE)return"";let n="";if(e.nodeName==="ink-text")n=Xa(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=>Ou(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"),lm=null;function lw(){lm=null}o(lw,"resetScrollHint");function uw(){return lm}o(uw,"getScrollHint");var dw=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()===so.DISPLAY_NONE)return;let l=r+c.getComputedLeft(),d=i+c.getComputedTop();e.internal_cursorAnchor&&(t.cursorPosition={x:l,y:d});let f=s;if(typeof e.internal_transform=="function"&&(f=[e.internal_transform,...s]),e.nodeName==="ink-text"){let h=Xa(e);if(h.length>0){let w=$E(h),T=sw(c);if(w>T){let S=e.style.textWrap??"wrap";h=ku(h,T,S)}h=DE(e,h),t.write(l,d,h,{transformers:f})}return}let p=!1,m=0;if(e.nodeName==="ink-box"){cw(l,d,e,t),aw(l,d,e,t);let h=e.style.overflowX??e.style.overflow,w=e.style.overflowY??e.style.overflow,T=h==="hidden"||h==="scroll",S=w==="hidden"||w==="scroll";if(w==="scroll"){let C=c.getComputedBorder(so.EDGE_TOP),M=c.getComputedBorder(so.EDGE_BOTTOM),E=Math.max(0,c.getComputedHeight()-C-M),P=e.attributes?.virtualScrollWindowed===!0,D=e.childNodes[0],L=Math.max(0,Math.floor(P?e.attributes?.scrollHeight??0:D?.yogaNode?.getComputedHeight()??e.attributes?.scrollHeight??0)),y=typeof e.scrollHeight=="number"?e.scrollHeight:L,W=$u({rawScrollTop:e.scrollTop??e.attributes?.scrollTop??0,contentHeight:L,viewportHeight:E,previousScrollHeight:y,stickyScroll:e.stickyScroll??!!e.attributes?.stickyScroll,clampMin:e.attributes?.scrollClampMin,clampMax:e.attributes?.scrollClampMax,virtualScrollWindowed:P,inWindowScrollTop:e.attributes?.inWindowScrollTop,previousAppliedScrollTop:e.appliedScrollTop,regionTop:d+C});e.scrollHeight=W.scrollHeight,e.scrollViewportHeight=E,e.scrollViewportTop=W.viewportTop,e.appliedScrollTop=W.appliedScrollTop,W.scrollHint&&(lm=W.scrollHint),e.scrollTop=W.scrollTop,m=W.scrollOffsetY}if(T||S){let C=T?l+c.getComputedBorder(so.EDGE_LEFT):void 0,M=T?l+c.getComputedWidth()-c.getComputedBorder(so.EDGE_RIGHT):void 0,E=S?d+c.getComputedBorder(so.EDGE_TOP):void 0,P=S?d+c.getComputedHeight()-c.getComputedBorder(so.EDGE_BOTTOM):void 0;t.clip({x1:C,x2:M,y1:E,y2:P}),p=!0}}if(e.nodeName==="ink-root"||e.nodeName==="ink-box"){for(let h of e.childNodes)dw(h,t,{offsetX:l,offsetY:d-m,transformers:f,skipStaticElements:a});p&&t.unclip()}}},"renderNodeToOutput"),um=dw;import NE from"slice-ansi";import BE from"string-width";import{styledCharsFromTokens as HE,styledCharsToString as WE,tokenize as FE}from"@alcalzone/ansi-tokenize";var dm=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=HE(FE(t)),this.styledChars.set(t,n)),n}getStringWidth(t){let n=this.widths.get(t);return n===void 0&&(n=BE(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 dm;constructor(t){let{width:n,height:r}=t;this.width=n,this.height=r}write(t,n,r,i){let{transformers:s}=i;r&&this.operations.push({type:"write",x:t,y:n,text:r,transformers:s})}clip(t){this.operations.push({type:"clip",clip:t})}unclip(){this.operations.push({type:"unclip"})}getGrid(){let t=[];for(let r=0;r<this.height;r++){let i=[];for(let s=0;s<this.width;s++)i.push({type:"char",value:" ",fullWidth:!1,styles:[]});t.push(i)}let n=[];for(let r of this.operations)if(r.type==="clip"&&n.push(r.clip),r.type==="unclip"&&n.pop(),r.type==="write"){let{text:i,transformers:s}=r,{x:a,y:c}=r,l=i.split(`
17
+ `),d=n.at(-1);if(d){let p=typeof d?.x1=="number"&&typeof d?.x2=="number",m=typeof d?.y1=="number"&&typeof d?.y2=="number";if(p){let h=this.caches.getWidestLine(i);if(a+h<d.x1||a>d.x2)continue}if(m){let h=l.length;if(c+h<d.y1||c>d.y2)continue}if(p&&(l=l.map(h=>{let w=a<d.x1?d.x1-a:0,T=this.caches.getStringWidth(h),S=a+T>d.x2?d.x2-a:T;return NE(h,w,S)}),a<d.x1&&(a=d.x1)),m){let h=c<d.y1?d.y1-c:0,w=l.length,T=c+w>d.y2?d.y2-c:w;l=l.slice(h,T),c<d.y1&&(c=d.y1)}}let f=0;for(let[p,m]of l.entries()){let h=t[c+f];if(!h)continue;for(let S of s)m=S(m,p);let w=this.caches.getStyledChars(m),T=a;for(let S of w){h[T]=S;let C=Math.max(1,this.caches.getStringWidth(S.value));if(C>1)for(let M=1;M<C;M++)h[T+M]={type:"char",value:"",fullWidth:!1,styles:S.styles};T+=C}f++}}return t}get(){let t=this.getGrid();return{output:t.map(r=>{let i=r.filter(s=>s!==void 0);return WE(i).trimEnd()}).join(`
18
+ `),height:t.length}}};var $r={Single:0,Wide:1,SpacerTail:2},dr={char:" ",width:$r.Single,style:"",hyperlink:void 0};function fw(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(dr);return{width:e,height:t,cells:n}}o(fw,"createScreen");function hs(e,t,n){if(!(t<0||n<0||t>=e.width||n>=e.height))return e.cells[n*e.width+t]}o(hs,"cellAt");function pw(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(dr),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(pw,"createScreenBuilder");function*Du(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=hs(e,s,i),c=hs(t,s,i);jE(a,c)||(yield{x:s,y:i,prev:a,next:c})}}o(Du,"diffEach");function mw(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]=dr},"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]??dr;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]??dr;for(let p=i;p<=i+f-1;p++)d(p)}return{...e,cells:c}}o(mw,"shiftRowsRegion");function jE(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(jE,"cellsEqual");var fm="\x1B]8;";function UE(e){return e.endsWith("\x07")?e.slice(0,-1):e}o(UE,"stripOsc8Terminator");function GE(e){if(!e.startsWith(fm))return;let t=e.slice(fm.length),n=t.indexOf(";");if(n<0)return;let r=t.slice(n+1),i=UE(r);return i.length>0?i:void 0}o(GE,"parseOsc8Url");function VE(e){if(e.value==="")return{char:"",width:$r.SpacerTail,style:"",hyperlink:void 0};let t="",n;for(let r of e.styles)if(r.code.startsWith(fm)){let i=GE(r.code);i!==void 0&&(n=i)}else t+=r.code;return{char:e.value,width:e.fullWidth?$r.Wide:$r.Single,style:t,hyperlink:n}}o(VE,"styledCharToCell");function Nu(e){let t=e.getGrid(),n=e.width,r=e.height,i=pw(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=VE(f);p.char===dr.char&&p.width===dr.width&&p.style===dr.style&&p.hyperlink===dr.hyperlink||i.setCellAt(d,a,p)}}return i.build()}o(Nu,"outputToScreen");var KE=o((e,t,n)=>{if(e.yogaNode){if(t){let m=Ou(e,{skipStaticElements:!0}),h=m===""?0:m.split(`
19
+ `).length,w="";return e.staticNode&&(w=Ou(e.staticNode,{skipStaticElements:!1})),{output:m,outputHeight:h,staticOutput:w?`${w}
20
+ `:"",frame:void 0}}let r=new ms({width:e.yogaNode.getComputedWidth(),height:e.yogaNode.getComputedHeight()});lw(),um(e,r,{skipStaticElements:!0});let i;e.staticNode?.yogaNode&&(i=new ms({width:e.staticNode.yogaNode.getComputedWidth(),height:e.staticNode.yogaNode.getComputedHeight()}),um(e.staticNode,i,{skipStaticElements:!1}));let{output:s,height:a}=r.get(),c=Nu(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:uw(),...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"),pm=KE;function Rn(...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(Rn,"csi");function hw(e=1){return e===0?"":Rn(e,"A")}o(hw,"cursorUp");function zE(e=1){return e===0?"":Rn(e,"B")}o(zE,"cursorDown");function XE(e=1){return e===0?"":Rn(e,"C")}o(XE,"cursorForward");function YE(e=1){return e===0?"":Rn(e,"D")}o(YE,"cursorBack");function gw(e){return Rn(e,"G")}o(gw,"cursorTo");var qE=Rn("G"),yw=Rn("H");function xw(e,t){let n="";return e<0?n+=YE(-e):e>0&&(n+=XE(e)),t<0?n+=hw(-t):t>0&&(n+=zE(t)),n}o(xw,"cursorMove");var QE=Rn(2,"K");function Sw(e){if(e<=0)return"";let t="";for(let n=0;n<e;n++)t+=QE,n<e-1&&(t+=hw(1));return t+=qE,t}o(Sw,"eraseLines");var ww=Rn("r"),Tw="\x1B7",Cw="\x1B8";function bw(e,t){return Rn(e,t,"r")}o(bw,"setScrollRegion");function Iw(e=1){return Rn(e,"S")}o(Iw,"scrollUp");function vw(e=1){return Rn(e,"T")}o(vw,"scrollDown");var Bu=Rn(0,"m");function Rw(e){return`\x1B]${e.join(";")}\x07`}o(Rw,"osc");function JE(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(JE,"osc8Id");function Qa(e,t){if(!e)return Ja;let n={id:JE(e),...t??{}},r=Object.entries(n).map(([i,s])=>`${i}=${s}`).join(":");return Rw(["8",r,e])}o(Qa,"link");var Ja=Rw(["8","",""]);function mm(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=hs(t,c,s);!l||l.width===$r.SpacerTail||(l.hyperlink!==i&&(i!==void 0&&(a+=Ja),l.hyperlink!==void 0&&(a+=Qa(l.hyperlink)),i=l.hyperlink),l.style!==r&&(r!==""&&(a+=Bu),l.style!==""&&(a+=l.style),r=l.style),a+=l.char)}i!==void 0&&(a+=Ja,i=void 0),r!==""&&(a+=Bu,r=""),n.push(a.trimEnd())}return[{type:"stdout",content:n.join(`
22
+ `)}]}o(mm,"renderFullFrame");var ZE=Object.freeze([]),eM=Object.freeze([]);function gs(e,t){if(e===t)return{patches:ZE,current:e};let n=[];return e!==""&&n.push({type:"stdout",content:Bu}),t!==""&&n.push({type:"stdout",content:t}),{patches:n,current:t}}o(gs,"transitionStyle");function Hu(e,t){let n=gs(e,t),r="";for(let i of n.patches)i.type==="stdout"&&(r+=i.content);return{str:r,current:n.current}}o(Hu,"transitionStyleStr");function Xo(e,t){if(e===t)return{patches:eM,current:e};let n=[];return e!==void 0&&n.push({type:"stdout",content:Ja}),t!==void 0&&n.push({type:"stdout",content:Qa(t)}),{patches:n,current:t}}o(Xo,"transitionHyperlink");function kw(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(kw,"needsWidthCompensation");var ys=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}},Or={type:"carriageReturn"},Za={type:"stdout",content:`
23
+ `};function Wu(e,t,n){let r=t.width===$r.Wide?2:1,i=e.viewportWidth,s=!1;return e.txn(a=>{let c=a.x;if(r===2&&c<i){let f=t.char.length>2?i:i+1;if(c+2>=f)return[[],{dx:0,dy:0}]}let l=[];n.length>0&&l.push({type:"stdout",content:n});let d=r===2&&kw(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(Wu,"writeCellWithStyleStr");function ec(e,t,n){e.txn(r=>{let i=t-r.x,s=n-r.y;return r.x>=e.viewportWidth?[[Or,{type:"cursorMove",x:t,y:s}],{dx:i,dy:s}]:s!==0?[[Or,{type:"cursorMove",x:t,y:s}],{dx:i,dy:s}]:[[{type:"cursorMove",x:i,y:s}],{dx:i,dy:s}]})}o(ec,"moveCursorTo");function Fu(e,t,n,r,i=!1){let s="",a;for(let c=n;c<r;c++){if(e.cursor.y<c){let p=c-e.cursor.y;e.txn(m=>{let h=new Array(1+p);h[0]=Or;for(let w=0;w<p;w++)h[1+w]=Za;return[h,{dx:-m.x,dy:p}]})}for(let p=0;p<t.screen.width;p++){let m=hs(t.screen,p,c);if(!m||m.width===$r.SpacerTail||m.char===" "&&m.style===""&&m.hyperlink===void 0)continue;ec(e,p,c);let h=Xo(a,m.hyperlink);for(let T of h.patches)e.txn(()=>[[T],{dx:0,dy:0}]);a=h.current;let w=Hu(s,m.style);Wu(e,m,w.str)&&(s=w.current)}let l=gs(s,"");for(let p of l.patches)e.txn(()=>[[p],{dx:0,dy:0}]);s=l.current;let d=Xo(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?[[Or],{dx:-p.x,dy:0}]:[[Or,Za],{dx:-p.x,dy:1}])}if(s!==""||a!==void 0){let c=gs(s,"");for(let d of c.patches)e.txn(()=>[[d],{dx:0,dy:0}]);let l=Xo(a,void 0);for(let d of l.patches)e.txn(()=>[[d],{dx:0,dy:0}])}}o(Fu,"renderFrameSlice");function hm(e,t){let n="";for(let r=0;r<e.width;r++){let i=hs(e,r,t);n+=i?.char??" "}return n.trimEnd()}o(hm,"readLine");function tc(e,t,n=!1){let r=new ys({x:0,y:0},e.viewport.width);Fu(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(tc,"fullResetSequence_CAUSES_FLICKER");function gm(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(gm,"computeViewportState");function Ew(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=gm(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 Du(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(Ew,"shouldFullReset");function Mw(e,t,n){return!!(t&&t.width===2||e&&e.width===2&&!t||t&&n&&!e)}o(Mw,"shouldSkipDiff");var ju=class{static{o(this,"LogUpdate")}options;constructor(t){this.options=t}render(t,n,r={}){if(!this.options.isTTY)return mm(n);let i=r.inlineBottomAnchored??!1,s=Aw(t,i),a=Aw(n,i);if(r.altScreen===!0&&t.screen.height===0&&a.screen.height>0)return tc(a,"clear",i);let c=Ew(s,a,hm);if(c.reset)return tc(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:mw(s.screen,l.top,l.bottom,l.delta)};return[d,..._w(f,a,i)]}return _w(s,a,i)}reset(){}};function ym(e,t){for(let n of t)e.txn(()=>[[n],{dx:0,dy:0}])}o(ym,"emitPatches");function Lw(e,t,n){if(t!==""){let r=gs(t,"");ym(e,r.patches)}if(n!==void 0){let r=Xo(n,void 0);ym(e,r.patches)}return{style:"",hyperlink:void 0}}o(Lw,"resetStyleAndHyperlink");function tM(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(tM,"applyShrink");function nM(e,t,n,r){let i="",s,a=!1;for(let c of Du(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(!Mw(f,p,m)){if(d<r.viewportY){a=!0;break}if(ec(e,l,d),p){let h=Xo(s,p.hyperlink);ym(e,h.patches),s=h.current;let w=Hu(i,p.style);Wu(e,p,w.str)&&(i=w.current)}else if(f){let h=Lw(e,i,s);i=h.style,s=h.hyperlink,e.txn(()=>[[{type:"stdout",content:" "}],{dx:1,dy:0}])}}}return{currentStyle:i,currentHyperlink:s,needsFullReset:a}}o(nM,"diffPass");function Aw(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(Aw,"clampRestingCursor");function rM(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]=Or;for(let a=0;a<r;a++)s[1+a]=Za;return[s,{dx:-n.x,dy:r}]}let i=t.cursor.y-n.y;return i!==0||n.x!==t.cursor.x?[[Or,{type:"cursorMove",x:t.cursor.x,y:i}],{dx:t.cursor.x-n.x,dy:i}]:[[],{dx:0,dy:0}]}):ec(e,t.cursor.x,t.cursor.y)}o(rM,"restoreCursor");function _w(e,t,n=!1){let r=gm(e,t),i=new ys(e.cursor,t.viewport.width);r.shrinking&&tM(i,e,t);let s=nM(i,e,t,r);return s.needsFullReset?tc(t,"offscreen",n):(Lw(i,s.currentStyle,s.currentHyperlink),r.growing&&Fu(i,t,e.screen.height,t.screen.height,n),rM(i,t),i.diff)}o(_w,"renderIncremental");var oM="\x1B[?25l",iM="\x1B[?25h",sM=`\x1B[2J${yw}`,aM="\x1B[?2026h",cM="\x1B[?2026l";function lM(e){switch(e.type){case"stdout":return e.content;case"carriageReturn":return"\r";case"cursorHide":return oM;case"cursorShow":return iM;case"cursorMove":return xw(e.x,e.y);case"cursorTo":return gw(e.col);case"clear":return Sw(e.count);case"clearTerminal":return sM;case"hyperlink":return Qa(e.uri);case"scrollRegion":{let t=e.top+1,n=e.bottom+1,r=Math.abs(e.delta),i=e.delta>0?Iw(r):vw(r);return Tw+bw(t,n)+i+ww+Cw}}}o(lM,"patchToBytes");function Uu(e,t,n=!1){let r="",i=!1;for(let s of t)s.type==="clearTerminal"&&(i=!0),r+=lM(s);if(r.length!==0){if(n&&i){e.write(aM+r+cM);return}e.write(r)}}o(Uu,"applyDiff");function Pw(e,t,n={}){if(t===void 0)return!1;let r=e.cellLogUpdate.render(e.prevFrame,t,n);return Uu(e.stdout,r,n.synchronized??!1),e.prevFrame=t,!0}o(Pw,"applyCellFrame");function nc(e,t){return{screen:fw(0,0),viewport:{width:t,height:e},cursor:{x:0,y:0,visible:!0}}}o(nc,"emptyFrame");import uM from"is-in-ci";var Dr="\x1B[?2026h",fr="\x1B[?2026l";function Nr(e){return"isTTY"in e&&e.isTTY===!0&&!uM}o(Nr,"shouldSynchronize");var dM=new WeakMap,$w=dM;import{EventEmitter as _M}from"node:events";import LM from"node:process";import Yo,{useState as wm,useRef as xs,useCallback as bt,useMemo as Ss,useEffect as Jw}from"react";import PM from"cli-cursor";var fM=o(e=>e>=48&&e<=63,"isCsiParameterByte"),pM=o(e=>e>=32&&e<=47,"isCsiIntermediateByte"),Dw=o(e=>e>=64&&e<=126,"isCsiFinalByte");function mM(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(!(fM(s)||pM(s))&&!(s===91&&i===r))return Dw(s)?{sequence:e.slice(t,i+1),nextIndex:i+1}:void 0}return"pending"}o(mM,"parseCsiSequence");function hM(e,t,n){let r=t+n+2;if(r>e.length)return"pending";let i=e.codePointAt(r-1);if(!(i===void 0||!Dw(i)))return{sequence:e.slice(t,r),nextIndex:r}}o(hM,"parseSs3Sequence");function Ow(e,t,n){let r=e[t+n];if(r===void 0)return"pending";if(r==="[")return mM(e,t,n);if(r==="O")return hM(e,t,n)}o(Ow,"parseControlSequence");function gM(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(gM,"parseEscapedCodePoint");function yM(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=Ow(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=Ow(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=gM(e,i);t.push(c.sequence),n=c.nextIndex}return{events:t,pending:""}}o(yM,"parseKeypresses");function Gu(){let e="";return{push(t){let n=yM(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(Gu,"createInputParser");import{createContext as xM}from"react";var Nw=xM({exit(){}});Nw.displayName="InternalAppContext";var Bw=Nw;import{EventEmitter as SM}from"node:events";import{createContext as wM}from"react";var TM={isTTY:!1,isRaw:!1,on(){},off(){},pause(){},resume(){},setRawMode(){}},Hw=wM({stdin:TM,internal_eventEmitter:new SM,setRawMode(){},isRawModeSupported:!1,internal_exitOnCtrlC:!0});Hw.displayName="InternalStdinContext";var Ww=Hw;import{createContext as CM}from"react";var bM={isTTY:!1,columns:80,rows:24,write(){return!0},on(){},off(){}},Fw=CM({stdout:bM,write(){}});Fw.displayName="InternalStdoutContext";var jw=Fw;import{createContext as IM}from"react";var vM={isTTY:!1,write(){return!0},on(){},off(){}},Uw=IM({stderr:vM,write(){}});Uw.displayName="InternalStderrContext";var Gw=Uw;import{createContext as RM}from"react";var Vw=RM({activeId:void 0,add(){},remove(){},activate(){},deactivate(){},enableFocus(){},disableFocus(){},focusNext(){},focusPrevious(){},focus(){}});Vw.displayName="InternalFocusContext";var Kw=Vw;import{createContext as kM}from"react";var zw=kM({setCursorPosition(){}});zw.displayName="InternalCursorContext";var Xw=zw;import MM,{PureComponent as AM}from"react";import*as Vu from"node:fs";import{cwd as Qw}from"node:process";import kt from"react";import Yw from"stack-utils";import EM from"code-excerpt";var xm=o(e=>e?.replace(`file://${Qw()}/`,""),"cleanupPath"),qw=new Yw({cwd:Qw(),internals:Yw.nodeInternals()});function Sm({error:e}){let t=e.stack?e.stack.split(`
24
+ `).slice(1):void 0,n=t?qw.parseLine(t[0]):void 0,r=xm(n?.file),i,s=0;if(r&&n?.line&&Vu.existsSync(r)){let a=Vu.readFileSync(r,"utf8");if(i=EM(a,n.line),i)for(let{line:c}of i)s=Math.max(s,String(c).length)}return kt.createElement($n,{flexDirection:"column",padding:1},kt.createElement($n,null,kt.createElement(fn,{backgroundColor:"red",color:"white"}," ","ERROR"," "),kt.createElement(fn,null," ",e.message)),n&&r&&kt.createElement($n,{marginTop:1},kt.createElement(fn,{dimColor:!0},r,":",n.line,":",n.column)),n&&i&&kt.createElement($n,{marginTop:1,flexDirection:"column"},i.map(({line:a,value:c})=>kt.createElement($n,{key:a},kt.createElement($n,{width:s+1},kt.createElement(fn,{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," "),":")),kt.createElement(fn,{key:a,backgroundColor:a===n.line?"red":void 0,color:a===n.line?"white":void 0}," "+c)))),e.stack&&kt.createElement($n,{marginTop:1,flexDirection:"column"},e.stack.split(`
25
+ `).slice(1).map(a=>{let c=qw.parseLine(a);return c?kt.createElement($n,{key:a},kt.createElement(fn,{dimColor:!0},"- "),kt.createElement(fn,{dimColor:!0,bold:!0},c.function),kt.createElement(fn,{dimColor:!0,color:"gray","aria-label":`at ${xm(c.file)??""} line ${c.line} column ${c.column}`}," ","(",xm(c.file)??"",":",c.line,":",c.column,")")):kt.createElement($n,{key:a},kt.createElement(fn,{dimColor:!0},"- "),kt.createElement(fn,{dimColor:!0,bold:!0},a,"\\t"," "))})))}o(Sm,"ErrorOverview");var rc=class extends AM{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?MM.createElement(Sm,{error:this.state.error}):this.props.children}};var $M=" ",OM="\x1B[Z",DM="\x1B";function Zw({children:e,stdin:t,stdout:n,stderr:r,writeToStdout:i,writeToStderr:s,exitOnCtrlC:a,onExit:c,setCursorPosition:l}){let[d,f]=wm(!0),[p,m]=wm(void 0),[,h]=wm([]),w=xs(0),T=xs(0),S=xs(new _M);S.current.setMaxListeners(1/0);let C=xs(void 0),M=xs(Gu()),E=xs(void 0),P=bt(()=>{E.current&&(clearImmediate(E.current),E.current=void 0)},[]),D=t.isTTY,L=bt(()=>{C.current&&(t.removeListener("readable",C.current),C.current=void 0)},[t]),y=bt(()=>{t.setRawMode(!1),L(),t.unref(),T.current=0,M.current.reset(),P()},[t,L,P]),W=bt(ue=>{D&&T.current>0&&y(),c(ue)},[D,y,c]),de=bt(ue=>{if(ue===""&&a){W();return}ue===DM&&m(Ce=>Ce&&void 0)},[a,W]),xe=bt(ue=>{de(ue),S.current.emit("input",ue)},[de]),me=bt(()=>{P(),E.current=setImmediate(()=>{E.current=void 0;let ue=M.current.flushPendingEscape();ue&&xe(ue)})},[P,xe]),Z=bt(()=>{P();let ue;for(;(ue=t.read())!==null;){let Ce=M.current.push(ue);for(let Se of Ce)xe(Se)}M.current.hasPendingEscape()&&me()},[t,xe,P,me]),O=bt(ue=>{if(!D)throw t===LM.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"),ue){T.current===0&&(t.ref(),t.setRawMode(!0),C.current=Z,t.addListener("readable",Z)),T.current++;return}T.current!==0&&--T.current===0&&y()},[D,t,Z,y]),k=bt((ue,Ce)=>{let Se=ue.findIndex(Ke=>Ke.id===Ce);for(let Ke=Se+1;Ke<ue.length;Ke++){let A=ue[Ke];if(A?.isActive)return A.id}},[]),$=bt((ue,Ce)=>{let Se=ue.findIndex(Ke=>Ke.id===Ce);for(let Ke=Se-1;Ke>=0;Ke--){let A=ue[Ke];if(A?.isActive)return A.id}},[]),Le=bt(()=>{h(ue=>(m(Ce=>{let Se=ue.find(A=>A.isActive)?.id;return k(ue,Ce)??Se}),ue))},[k]),Q=bt(()=>{h(ue=>(m(Ce=>{let Se=ue.findLast(A=>A.isActive)?.id;return $(ue,Ce)??Se}),ue))},[$]);Jw(()=>{let ue=o(Se=>{!d||w.current===0||(Se===$M&&Le(),Se===OM&&Q())},"handleTabNavigation");S.current.on("input",ue);let Ce=S.current;return()=>{Ce.off("input",ue)}},[d,Le,Q]);let X=bt(()=>{f(!0)},[]),le=bt(()=>{f(!1)},[]),Ee=bt(ue=>{h(Ce=>(Ce.some(Ke=>Ke?.id===ue)&&m(ue),Ce))},[]),He=bt((ue,{autoFocus:Ce})=>{h(Se=>(w.current=Se.length+1,[...Se,{id:ue,isActive:!0}])),Ce&&m(Se=>Se??ue)},[]),F=bt(ue=>{m(Ce=>Ce===ue?void 0:Ce),h(Ce=>{let Se=Ce.filter(Ke=>Ke.id!==ue);return w.current=Se.length,Se})},[]),fe=bt(ue=>{h(Ce=>Ce.map(Se=>Se.id!==ue?Se:{id:ue,isActive:!0}))},[]),be=bt(ue=>{m(Ce=>Ce===ue?void 0:Ce),h(Ce=>Ce.map(Se=>Se.id!==ue?Se:{id:ue,isActive:!1}))},[]);Jw(()=>()=>{PM.show(n),D&&T.current>0&&y()},[n,D,y]);let ce=Ss(()=>({exit:W}),[W]),it=Ss(()=>({stdin:t,setRawMode:O,isRawModeSupported:D,internal_exitOnCtrlC:a,internal_eventEmitter:S.current}),[t,O,D,a]),re=Ss(()=>({stdout:n,write:i}),[n,i]),Pe=Ss(()=>({stderr:r,write:s}),[r,s]),We=Ss(()=>({setCursorPosition:l}),[l]),Ct=Ss(()=>({activeId:p,add:He,remove:F,activate:fe,deactivate:be,enableFocus:X,disableFocus:le,focusNext:Le,focusPrevious:Q,focus:Ee}),[p,He,F,fe,be,X,le,Le,Q,Ee]);return Yo.createElement(Bw.Provider,{value:ce},Yo.createElement(Ww.Provider,{value:it},Yo.createElement(jw.Provider,{value:re},Yo.createElement(Gw.Provider,{value:Pe},Yo.createElement(Kw.Provider,{value:Ct},Yo.createElement(Xw.Provider,{value:We},Yo.createElement(rc,{onError:W},e)))))))}o(Zw,"App");Zw.displayName="InternalApp";var eT=Zw;var NM={disambiguateEscapeCodes:1,reportEventTypes:2,reportAlternateKeys:4,reportAllKeysAsEscapeCodes:8,reportAssociatedText:16};function tT(e){let t=0;for(let n of e)t|=NM[n];return t}o(tT,"resolveFlags");var Br={shift:1,alt:2,ctrl:4,super:8,hyper:16,meta:32,capsLock:64,numLock:128};var Tm=o((e,t)=>(t<0?pn.cursorUp(-t):t>0?pn.cursorDown(t):"")+(e<0?pn.cursorBackward(-e):e>0?pn.cursorForward(e):""),"cursorMoveSeq"),Cm=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"),Ku=o(()=>{},"noop"),zM=27,XM=91,YM=63,qM=117,QM=48,JM=57,ZM=o(e=>e>=QM&&e<=JM,"isDigitByte"),rT=o((e,t)=>{if(e[t]!==zM||e[t+1]!==XM||e[t+2]!==YM)return;let n=t+3,r=n;for(;n<e.length&&ZM(e[n]);)n++;if(n!==r){if(n===e.length)return{state:"partial"};if(e[n]===qM)return{state:"complete",endIndex:n}}},"matchKittyQueryResponse"),eA=o(e=>{for(let t=0;t<e.length;t++)if(rT(e,t)?.state==="complete")return!0;return!1},"hasCompleteKittyQueryResponse"),tA=o(e=>{let t=[],n=0;for(;n<e.length;){let r=rT(e,n);if(r?.state==="complete"){n=r.endIndex+1;continue}if(r?.state==="partial")break;t.push(e[n]),n++}return t},"stripKittyQueryResponsesAndTrailingPartial"),bm=o(e=>e instanceof Error||Object.prototype.toString.call(e)==="[object Error]","isErrorInput"),nA=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){HM(this),this.options=t,this.rawStdoutWrite=t.stdout.write.bind(t.stdout),this.rawStderrWrite=t.stderr.write.bind(t.stderr),this.rootNode=Eu("ink-root"),this.rootNode.onComputeLayout=this.calculateLayout,this.isScreenReaderEnabled=t.isScreenReaderEnabled??qo.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=BM(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 ju({isTTY:!!t.stdout.isTTY}),this.prevFrame=nc(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?UM:jM;this.container=Pr.createContainer(this.rootNode,s,null,!1,null,"id",()=>{},()=>{},()=>{},()=>{}),this.unsubscribeExit=WM(this.unmount,{alwaysLast:!1}),Ru()&&Pr.injectIntoDevTools(),t.patchConsole&&this.patchConsole(),Hr||(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:KM()?.columns??80,"getTerminalWidth");resized=o(()=>{let t=this.getTerminalWidth();if(t<this.lastTerminalWidth){this.returnCursorToRest();let n=this.altScreenActive?this.lastOutputHeight>0?pn.eraseLines(this.lastOutputHeight):"":this.eraseInlineLiveBlock();n.length>0&&this.writeStdout(n),this.lastOutput="",this.lastOutputToRender="",this.cellLogUpdate.reset(),this.prevFrame=nc(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(bm(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||Hr)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=nc(this.options.stdout.rows??24,this.getTerminalWidth()),n=this.cellLogUpdate.render(t,this.prevFrame);this.withInternalStreamWrite(()=>Uu(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,GM.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}=pm(this.rootNode,this.isScreenReaderEnabled,n);this.options.onRender?.({renderTime:performance.now()-t}),!Hr&&!this.options.debug&&!this.isScreenReaderEnabled&&!this.cursorHidden&&(this.writeStdout(pn.cursorHide),this.cursorHidden=!0);let c=s&&s!==`
28
+ `;if(this.options.debug){c&&(this.fullStaticOutput+=s),this.writeStdout(this.fullStaticOutput+r);return}if(Hr){c&&this.writeStdout(s),this.lastOutput=r,this.lastOutputToRender=r+`
29
+ `,this.lastOutputHeight=i;return}if(this.isScreenReaderEnabled){let S=Nr(this.options.stdout);if(S&&this.writeStdout(Dr),c){let E=this.lastOutputHeight>0?pn.eraseLines(this.lastOutputHeight):"";this.writeStdout(E+s),this.lastOutputHeight=0}if(r===this.lastOutput&&!c){S&&this.writeStdout(fr);return}let C=this.getTerminalWidth(),M=VM(r,C,{trim:!1,hard:!0});if(c)this.writeStdout(M);else{let E=this.lastOutputHeight>0?pn.eraseLines(this.lastOutputHeight):"";this.writeStdout(E+M)}this.lastOutput=r,this.lastOutputToRender=M,this.lastOutputHeight=M===""?0:M.split(`
30
+ `).length,S&&this.writeStdout(fr);return}c&&(this.fullStaticOutput+=s);let d=!this.altScreenActive&&!!(a&&a.inputCursor)?[]:null,f=o(S=>{S&&(d?d.push(S):this.writeStdout(S))},"emit"),p=d?{write:f}:null;f(this.computeReturnToRestSeq());let m=this.altScreenActive,w=this.options.stdout.isTTY&&i>=this.options.stdout.rows&&m?r:r+`
31
+ `;if(this.lastOutputHeight>=this.options.stdout.rows&&m){if(qo.env.KODAX_FULLSCREEN_CELLDIFF!=="0"&&this.altScreenActive&&this.fullStaticOutput===""){let M=Nr(this.options.stdout);M&&this.writeStdout(Dr),this.applyCellFrame(a),M&&this.writeStdout(fr),this.lastOutput=r,this.lastOutputToRender=w,this.lastOutputHeight=i;return}let S=Nr(this.options.stdout);S&&this.writeStdout(Dr);let C=this.fullStaticOutput+w;if(this.altScreenActive){let M=this.lastOutputHeight>0?pn.eraseLines(this.lastOutputHeight):"";this.writeStdout(M+C)}else this.writeStdout(pn.clearTerminal+this.fullStaticOutput+r);this.lastOutput=r,this.lastOutputToRender=this.altScreenActive?C:w,this.lastOutputHeight=i,this.invalidateCellFrame(),S&&this.writeStdout(fr);return}let T=!d&&Nr(this.options.stdout);try{if(c?(T&&f(Dr),f(this.eraseInlineLiveBlock()+s),this.invalidateCellFrame(),this.applyCellFrame(a,p),T&&f(fr)):!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?(T&&f(Dr),f(this.eraseInlineLiveBlock()),this.invalidateCellFrame(),this.applyCellFrame(a,p),T&&f(fr)):this.applyCellFrame(a,p),a?.inputCursor){let S=Cm(a,!this.altScreenActive),C=S(a.cursor),M=S(a.inputCursor),E=Tm(M.x-C.x,M.y-C.y);f(E),this.displayCursor=M}}finally{d&&this.flushCursorTxn(d)}this.lastOutput=r,this.lastOutputToRender=w,this.lastOutputHeight=i},"onRender");applyCellFrame=o((t,n=null)=>{let r={cellLogUpdate:this.cellLogUpdate,prevFrame:this.prevFrame,stdout:n??this.options.stdout},i=Nr(this.options.stdout),s={altScreen:this.altScreenActive,decstbmSafe:i,synchronized:n?!1:i,inlineBottomAnchored:!this.altScreenActive},a=this.withInternalStreamWrite(()=>Pw(r,t,s));return this.prevFrame=r.prevFrame,a},"applyCellFrame");invalidateCellFrame=o(()=>{this.cellLogUpdate.reset(),this.prevFrame=nc(this.options.stdout.rows??24,this.getTerminalWidth())},"invalidateCellFrame");eraseInlineLiveBlock=o(()=>this.lastOutputHeight>0?pn.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}=pm(this.rootNode,this.isScreenReaderEnabled,c);if(this.applyCellFrame(f,s),f?.inputCursor){let p=Cm(f,!this.altScreenActive),m=p(f.cursor),h=p(f.inputCursor),w=Tm(h.x-m.x,h.y-m.y);i(w),this.displayCursor=h}this.lastOutput=l,this.lastOutputToRender=l,this.lastOutputHeight=d}finally{this.flushCursorTxn(r)}},"commitInlineScrollback");flushCursorTxn(t){let n=t.join("");if(!n)return;let r=Nr(this.options.stdout);this.writeStdout(r?Dr+n+fr:n)}render(t){let n=nT.createElement(ds.Provider,{value:{isScreenReaderEnabled:this.isScreenReaderEnabled}},nT.createElement(eT,{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?Pr.updateContainer(n,this.container,null,Ku):(Pr.updateContainerSync(n,this.container,null,Ku),Pr.flushSyncWork())}computeReturnToRestSeq(){if(this.displayCursor&&this.prevFrame){let t=Cm(this.prevFrame,!this.altScreenActive)(this.prevFrame.cursor),n=Tm(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(Hr){this.writeStdout(t);return}if(!this.shouldRestoreManagedShellAfterExternalWrite()){this.returnCursorToRest(),this.writeStdout(t),this.invalidateCellFrame();return}let n=Nr(this.options.stdout);n&&this.writeStdout(Dr),this.returnCursorToRest();let r=this.lastOutputHeight>0?pn.eraseLines(this.lastOutputHeight):"";this.writeStdout(r+t),this.restoreLastOutput(),this.invalidateCellFrame(),n&&this.writeStdout(fr)}writeToStderr(t){if(this.isUnmounted)return;if(this.options.debug){this.writeStderr(t),this.writeStdout(this.fullStaticOutput+this.lastOutput);return}if(Hr){this.writeStderr(t);return}if(!this.shouldRestoreManagedShellAfterExternalWrite()){this.returnCursorToRest(),this.writeStderr(t),this.invalidateCellFrame();return}let n=Nr(this.options.stdout);n&&this.writeStdout(Dr),this.returnCursorToRest();let r=this.lastOutputHeight>0?pn.eraseLines(this.lastOutputHeight):"";r.length>0&&this.writeStdout(r),this.writeStderr(t),this.restoreLastOutput(),this.invalidateCellFrame(),n&&this.writeStdout(fr)}unmount(t){if(this.isUnmounted||this.isUnmounting)return;this.isUnmounting=!0,this.beforeExitHandler&&(qo.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{}Hr&&this.writeStdout(this.lastOutput+`
32
+ `)}this.kittyProtocolEnabled=!1,this.shellTransitionPhase=void 0,this.options.concurrent?Pr.updateContainer(null,this.container,null,Ku):(Pr.updateContainerSync(null,this.container,null,Ku),Pr.flushSyncWork()),$w.delete(this.options.stdout);let{exitResult:s}=this,a=o(()=>{bm(t)?this.rejectExitPromise(t):this.resolveExitPromise(s)},"resolveOrReject"),c=t!==void 0&&!bm(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()},qo.once("beforeExit",this.beforeExitHandler)),this.exitPromise}clear(){if(!Hr&&!this.options.debug){this.returnCursorToRest();let t=this.altScreenActive?this.lastOutputHeight>0?pn.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=FM((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=qo.env.TERM??"",s=qo.env.TERM_PROGRAM??"",a="KITTY_WINDOW_ID"in qo.env||i==="xterm-kitty"||s==="WezTerm"||s==="ghostty";!Hr&&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=tA(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);eA(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[>${tT(t)}u`),this.kittyProtocolEnabled=!0}},oT=nA;var oc=class{static{o(this,"KodaXRenderer")}engineInstance;isConcurrent;constructor(t){this.engineInstance=new oT(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 ao=null;function sT(){if(ao===-1)return null;if(ao!==null)return ao;let e=process.env.KODAX_RENDER_TRACE;if(!e||e==="0"||e==="false")return ao=-1,null;let t=e==="1"||e==="true"?aA(sA(),`kodax-render-trace-${process.pid}.log`):e;try{return ao=oA(t,"a"),iT(ao,`=== KODAX render trace pid=${process.pid} ${new Date().toISOString()} platform=${process.platform} node=${process.version} ===
33
+ `),ao}catch{return ao=-1,null}}o(sT,"resolveTraceFd");function cA(e){let t=sT();if(t!==null)try{iT(t,e)}catch{}}o(cA,"traceLine");var zu=new WeakMap,lA={isTTY:!1,columns:80,rows:24,write:o(()=>!0,"write"),on:o(()=>{},"on"),off:o(()=>{},"off")},uA={isTTY:!1,write:o(()=>!0,"write"),on:o(()=>{},"on"),off:o(()=>{},"off")},dA={isTTY:!1,isRaw:!1,on:o(()=>{},"on"),off:o(()=>{},"off"),pause:o(()=>{},"pause"),resume:o(()=>{},"resume"),setRawMode:o(()=>{},"setRawMode")};function fA(e={}){return e instanceof rA?{stdout:e}:e}o(fA,"getOptions");function pA(e,t,n){let r=zu.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(),zu.set(e,r)),r}o(pA,"getInstance");function Qo(e){return zu.get(e)}o(Qo,"getRendererInstance");function Im(e,t){let n={stdout:lA,stdin:dA,stderr:uA,debug:!1,exitOnCtrlC:!0,patchConsole:!1,maxFps:30,concurrent:!1,...fA(t)};if(sT()!==null){let s=n.stdout,a=s.write.bind(s),c=0,l=0;s.write=((m,...h)=>(c+=1,l+=typeof m=="string"?Buffer.byteLength(m,"utf8"):m?.length??0,a(m,...h)));let d=0,f=0,p=n.onRender;n.onRender=m=>{let h=iA.now(),w=d===0?0:h-d,T=s,S=T.columns??0,C=T.rows??0;return cA(`frame=${f} renderTime=${m.renderTime.toFixed(2)}ms interval=${w.toFixed(2)}ms writes=${c} bytes=${l} viewport=${S}x${C}
34
+ `),c=0,l=0,d=h,f+=1,p?.(m)}}let i=pA(n.stdout,()=>new oc(n),n.concurrent??!1);return i.render(e),{rerender:i.render,unmount(){i.unmount()},waitUntilExit:i.waitUntilExit,cleanup:o(()=>{zu.delete(n.stdout)},"cleanup"),clear:i.clear}}o(Im,"render");var aT=$n,cT=fn,lT=tm;import{Buffer as hA}from"node:buffer";var gA=/^(?:\x1b)([a-zA-Z0-9])$/,yA=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,dT={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"},fT=[...Object.values(dT),"backspace"],xA=o(e=>["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(e),"isShiftKey"),SA=o(e=>["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(e),"isCtrlKey"),pT=/^\x1b\[(\d+)(?:;(\d+)(?::(\d+))?(?:;([\d:]+))?)?u$/,wA=/^\x1b\[(\d+);(\d+):(\d+)([A-Za-z~])$/,TA={A:"up",B:"down",C:"right",D:"left",E:"clear",F:"end",H:"home",P:"f1",Q:"f2",R:"f3",S:"f4"},CA={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"},uT={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"},mT=o(e=>e>=0&&e<=1114111&&!(e>=55296&&e<=57343),"isValidCodepoint"),vm=o(e=>mT(e)?String.fromCodePoint(e):"?","safeFromCodePoint");function hT(e){return e===3?"release":e===2?"repeat":"press"}o(hT,"resolveEventType");function gT(e){return{ctrl:!!(e&Br.ctrl),shift:!!(e&Br.shift),meta:!!(e&Br.meta),option:!!(e&Br.alt),super:!!(e&Br.super),hyper:!!(e&Br.hyper),capsLock:!!(e&Br.capsLock),numLock:!!(e&Br.numLock)}}o(gT,"parseKittyModifiers");function bA(e){let t=pT.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(!mT(n))return null;let a;s&&(a=s.split(":").map(d=>vm(Number.parseInt(d,10))).join(""));let c,l;return n===32?(c="space",l=!0):n===13?(c="return",l=!0):uT[n]?(c=uT[n],l=!1):n>=1&&n<=26?(c=String.fromCodePoint(n+96),l=!1):(c=vm(n).toLowerCase(),l=!0),l&&!a&&(a=vm(n)),{name:c,...gT(r),eventType:hT(i),sequence:e,raw:e,isKittyProtocol:!0,isPrintable:l,text:a}}o(bA,"parseKittyKeypress");function IA(e){let t=wA.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==="~"?CA[n]:TA[s];return a?{name:a,...gT(r),eventType:hT(i),sequence:e,raw:e,isKittyProtocol:!0,isPrintable:!1}:null}o(IA,"parseKittySpecialKey");var Rm="\x1B[200~",vA="\x1B[201~";function RA(e){if(!e.startsWith(Rm))return null;let t=e.indexOf(vA,Rm.length);return t===-1?null:e.slice(Rm.length,t)}o(RA,"extractBracketedPaste");function km(e=""){let t=e,n;if(hA.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=RA(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=bA(t);if(r)return r;let i=IA(t);if(i)return i;if(pT.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=gA.exec(t))s.meta=!0,s.shift=/^[A-Z]$/.test(n[1]??"");else if(n=yA.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=dT[c]??"",s.shift=xA(c)||s.shift,s.ctrl=SA(c)||s.ctrl}return s}o(km,"parseKeypress");var MA=50;function Yu(e){return{columns:e?.columns??80,rows:e?.rows??24}}o(Yu,"resolveTerminalSize");var co=kA(null),Em={isTTY:!1,columns:80,rows:24,write:o(()=>!0,"write"),on:o(()=>{},"on"),off:o(()=>{},"off")};var wT={isTTY:!1,isRaw:!1,on:o(()=>{},"on"),off:o(()=>{},"off"),pause:o(()=>{},"pause"),resume:o(()=>{},"resume"),setRawMode:o(()=>{},"setRawMode")};function AA(e){for(let t of e)if(t.rawMode)return!0;return!1}o(AA,"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&&AA(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 LA=o(({children:e,runtime:t})=>{let[n,r]=EA(()=>t.terminalSize);ws(()=>{if(r(Yu(t.stdout)),typeof t.stdout?.on!="function"||typeof t.stdout?.off!="function")return;let c=o(()=>{r(Yu(t.stdout))},"handleResize");return t.stdout.on("resize",c),()=>{t.stdout.off?.("resize",c)}},[t.stdout]);let i=ST(c=>typeof t.stdout?.write!="function"?!1:(t.stdout.write(c),!0),[t.stdout]),s=yT(()=>_A({stdin:t.stdin,setRawMode:t.setRawMode,isRawModeSupported:t.isRawModeSupported}),[t.stdin,t.isRawModeSupported,t.setRawMode]);ws(()=>()=>{s.dispose()},[s]);let a=yT(()=>({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 xT(co.Provider,{value:a,children:e})},"TuiRuntimeProvider");function PA(e){let t=e?.stdout??Em,n=e?.stdin??wT,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:Yu(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(PA,"createRuntimeValue");function qu(e,t){let n=PA(t),r=Im(xT(LA,{runtime:n,children:e}),t);return n.attachExit(r.unmount),r}o(qu,"render");var R=aT,b=cT,Ts=lT;function $A(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&&fT.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($A,"createCompatKeypress");function Qu(e,t={}){let{isActive:n=!0}=t,r=Xu(e),i=Xu(null),s=Xu(null);ws(()=>{r.current=e},[e]),ws(()=>{if(!n){i.current=null,s.current&&(clearTimeout(s.current),s.current=null);return}return i.current=Gu(),()=>{i.current?.reset(),i.current=null,s.current&&(clearTimeout(s.current),s.current=null)}},[n]);let a=ST(c=>{let{input:l,key:d}=$A(km(c));l==="c"&&d.ctrl||r.current(l,d)},[]);sc(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)},MA))},{isActive:n,rawMode:!0})}o(Qu,"useInput");function pr(){return{stdout:Jo(co)?.stdout??Em}}o(pr,"useStdout");function ic(){let e=Jo(co),t=e?.stdin??wT,n=e?.setRawMode??(r=>{typeof t?.setRawMode=="function"&&t.setRawMode(r)});return{stdin:t,setRawMode:n,isRawModeSupported:e?.isRawModeSupported??typeof t?.setRawMode=="function"}}o(ic,"useStdin");function lo(){return{exit:Jo(co)?.exit??(()=>{})}}o(lo,"useApp");function Cs(){return Jo(co)?.stdout??Em}o(Cs,"useTerminalOutput");function bs(){let e=Cs();return Jo(co)?.terminalSize??Yu(e)}o(bs,"useTerminalSize");function Is(){let e=Cs();return Jo(co)?.writeRaw??(n=>typeof e?.write!="function"?!1:(e.write(n),!0))}o(Is,"useTerminalWrite");function sc(e,t={}){let{isActive:n=!0,rawMode:r=!0}=t,i=Jo(co),{stdin:s,setRawMode:a,isRawModeSupported:c}=ic(),l=Xu(e);ws(()=>{l.current=e},[e]),ws(()=>{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(sc,"useTerminalInput");import{jsx as WA}from"react/jsx-runtime";import{useInsertionEffect as FA,useMemo as jA}from"react";var OA="\x1B[?1049h",DA="\x1B[?1049l";var NA="\x1B[2J",BA="\x1B[?1000h\x1B[?1002h\x1B[?1006h",HA="\x1B[?1006l\x1B[?1002l\x1B[?1000l";function Ju(e={}){let t=e.mouseTracking!==!1,n=e.clearOnEnter===!0;return OA+(n?NA:"")+"\x1B[H"+(t?BA:"")}o(Ju,"buildAlternateScreenEnterSequence");function Zu(e={}){return(e.mouseTracking!==!1?HA:"")+DA}o(Zu,"buildAlternateScreenExitSequence");var Mm=o(({children:e,mouseTracking:t=!0,enabled:n=!0,clearOnEnter:r=!1})=>{let i=Cs(),{rows:s}=bs(),a=Is(),c=jA(()=>n&&i.isTTY===!0,[n,i]);return FA(()=>{if(!c)return;let l=Qo(i);if(l?.setShellMode?.("virtual",t),l?.beginShellTransition?.("enter-alt-screen"),!!a(Ju({mouseTracking:t,clearOnEnter:r})))return l?.setAltScreenActive?.(!0,t),()=>{l?.beginShellTransition?.("exit-alt-screen"),l?.clearTextSelection?.(),l?.setAltScreenActive?.(!1),a(Zu({mouseTracking:t}))}},[r,c,t,i,a]),WA(R,{flexDirection:"column",height:s,width:"100%",flexGrow:1,flexShrink:0,children:e})},"AlternateScreen");import{jsx as uo,jsxs as vT}from"react/jsx-runtime";import{jsx as GA}from"react/jsx-runtime";import VA,{useEffect as Am,useImperativeHandle as KA,useMemo as zA,useRef as ed,useCallback as cc,useState as XA}from"react";function UA(e,t,n){return Math.max(t,Math.min(e,n))}o(UA,"clamp");function ac(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=UA(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(ac,"computeOverscanWindow");function TT(e,t,n){let r=ac({...n,globalScrollTop:e}),i=ac({...n,globalScrollTop:t});return r.bin===i.bin}o(TT,"staysWithinOverscanBlock");function CT(e){let t=e??void 0;for(;t?.parentNode;)t=t.parentNode;return t&&typeof t.onRender=="function"?(t.onRender(),!0):!1}o(CT,"scheduleRenderFromNode");function bT(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:td(t,t.scrollTop)}}o(bT,"normalizeScrollSnapshot");function IT(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(IT,"areSnapshotsEqual");function YA(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(YA,"areWindowsEqual");function td(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(td,"clampScrollTop");function _m(e){let t=Math.max(0,e.viewportHeight),n=td(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=ac({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(_m,"resolveScrollWindow");function qA(e){let t=td(e,e.scrollTop);return Math.max(0,e.scrollHeight-e.viewportHeight-t)}o(qA,"resolveNativeScrollTop");var Lm=o(({children:e,width:t,flexGrow:n=0,flexShrink:r=1,paddingTop:i=0,scrollTop:s=0,scrollHeight:a=0,viewportHeight:c=0,stickyScroll:l=!0,scrollRef:d,onScrollTopChange:f,onStickyChange:p,onWindowChange:m,renderWindow:h,overscanRows:w})=>{let T=ed(null),S=ed(new Set),C=ed(bT({scrollTop:s,scrollHeight:a,viewportHeight:c,pendingDelta:0,sticky:l,overscanRows:w})),[M,E]=XA(()=>_m(C.current)),P=ed(null),D=cc(()=>{for(let Q of S.current)Q()},[]),L=cc((Q,X=!0)=>{let le=C.current,Ee=bT(Q),He=_m(Ee);return C.current=Ee,E(F=>YA(F,He)?F:He),X&&!IT(le,Ee)&&D(),{previous:le,snapshot:Ee,window:He,changed:!IT(le,Ee)}},[D]),y=cc(Q=>{let X=C.current,le=Math.max(0,Math.floor(X.overscanRows??0)),Ee=T.current;if(le<=0||!Ee||X.viewportHeight<=0)return!1;let He=Math.max(0,X.scrollHeight-X.viewportHeight),F=P.current??td(X,X.scrollTop),fe=Math.max(0,Math.min(Math.floor(F+Q),He));if(fe===F)return!0;let be=Math.max(0,X.scrollHeight-X.viewportHeight-F),ce=Math.max(0,X.scrollHeight-X.viewportHeight-fe),it={viewportHeight:X.viewportHeight,contentHeight:X.scrollHeight,overscan:le};if(!TT(be,ce,it))return!1;let re=ac({...it,globalScrollTop:ce});return Ee.scrollTop=ce,Ee.attributes&&(Ee.attributes.inWindowScrollTop=re.inBlockOffset),CT(Ee)?(P.current=fe,X.sticky&&(C.current={...C.current,sticky:!1},p?.(!1)),D(),!0):!1},[D,p]),W=cc(Q=>{let X=T.current;X&&C.current.overscanRows&&(X.scrollTop=Q.viewportTop)},[]);Am(()=>{let Q=C.current,X={scrollTop:s,scrollHeight:a,viewportHeight:c,pendingDelta:0,clampMin:Q.clampMin,clampMax:Q.clampMax,sticky:l,overscanRows:w},le=L(X);le.previous.sticky!==l&&p?.(l),le.window.scrollTop!==s&&f?.(le.window.scrollTop)},[L,p,f,w,a,s,l,c]);let de=cc(()=>{let Q=T.current;if(!Q)return;P.current=null;let X=typeof Q.scrollHeight=="number"?Math.max(0,Math.floor(Q.scrollHeight)):void 0,le=typeof Q.scrollViewportHeight=="number"?Math.max(0,Math.floor(Q.scrollViewportHeight)):void 0,Ee=typeof Q.scrollViewportTop=="number"?Math.max(0,Math.floor(Q.scrollViewportTop)):void 0;if(X===void 0||le===void 0||Ee===void 0)return;let He=Math.max(0,X-le-Ee),F=L({...C.current,scrollTop:He,scrollHeight:X,viewportHeight:le});F.changed&&F.window.scrollTop!==F.previous.scrollTop&&f?.(F.window.scrollTop)},[L,f]);Am(()=>{de()},[de]);let xe=zA(()=>({scrollTo(Q){P.current=null;let X=L({...C.current,scrollTop:Q,pendingDelta:0,sticky:!1});X.previous.sticky!==!1&&p?.(!1),W(X.window),f?.(X.window.scrollTop)},scrollBy(Q){if(y(Q))return;let X=P.current??C.current.scrollTop;P.current=null;let le=L({...C.current,scrollTop:X+Q,pendingDelta:C.current.pendingDelta+Math.floor(Q),sticky:!1});le.previous.sticky!==!1&&p?.(!1),W(le.window),f?.(le.window.scrollTop)},scrollToElement(Q,X=0){P.current=null;let le=L({...C.current,scrollTop:Q-X,pendingDelta:0,sticky:!1});le.previous.sticky!==!1&&p?.(!1),W(le.window),f?.(le.window.scrollTop)},scrollToBottom(){P.current=null;let Q=L({...C.current,scrollTop:0,pendingDelta:0,sticky:!0});W(Q.window),f?.(Q.window.scrollTop),Q.previous.sticky!==!0&&p?.(!0)},getScrollTop(){return P.current??C.current.scrollTop},getPendingDelta(){return C.current.pendingDelta},getScrollHeight(){return T.current?.scrollHeight??C.current.scrollHeight},getViewportHeight(){return T.current?.scrollViewportHeight??M.viewportHeight},getViewportTop(){return T.current?.scrollViewportTop??M.viewportTop},isSticky(){return C.current.sticky},subscribe(Q){return S.current.add(Q),()=>{S.current.delete(Q)}},setClampBounds(Q,X){P.current=null;let le=L({...C.current,clampMin:Q,clampMax:X});W(le.window),le.window.scrollTop!==le.previous.scrollTop&&f?.(le.window.scrollTop)}}),[L,f,p,y,W]);KA(d,()=>xe,[xe]),Am(()=>{m?.(M)},[m,M]);let me=P.current!==null,Z=me?{...C.current,scrollTop:P.current}:C.current,O=me?_m(Z):M,k=h?h(O):e,$=Math.max(0,c+i),Le=qA(Z);return VA.createElement("ink-box",{ref:T,style:{flexWrap:"nowrap",flexDirection:"row",flexGrow:n,flexShrink:r,width:t,height:$,paddingTop:i,overflowX:"visible",overflowY:"scroll"},scrollTop:Le,scrollHeight:C.current.scrollHeight,scrollViewportHeight:C.current.viewportHeight,scrollViewportTop:O.viewportTop,pendingScrollDelta:C.current.pendingDelta,virtualScrollWindowed:!!h,...C.current.overscanRows?{inWindowScrollTop:O.inWindowScrollTop}:{},...C.current.clampMin!==void 0?{scrollClampMin:C.current.clampMin}:{},...C.current.clampMax!==void 0?{scrollClampMax:C.current.clampMax}:{},...l?{stickyScroll:!0}:{}},GA(R,{flexDirection:"column",flexGrow:1,flexShrink:0,width:"100%",children:k}))},"ScrollBox");var QA=80;function lc(e){if(!(!e?.visible||!e.label))return e.hint?`${e.label}: ${e.hint}`:e.label}o(lc,"resolveFullscreenChromeSlotText");function nd(e,t){if(!e)return 0;let n=Math.max(1,(typeof t=="number"?t:QA)-2);return Math.max(1,dn(e.split(`
36
+ `),n,0,0).visualLines.length)}o(nd,"measureFullscreenChromeSlotRows");var Pm=o(({top:e,topRows:t=0,scrollable:n,renderScrollableWindow:r,bottom:i,overlay:s,stickyHeader:a,jumpToLatest:c,width:l,scrollTop:d=0,scrollHeight:f=0,viewportHeight:p=0,stickyScroll:m=!0,scrollRef:h,onScrollTopChange:w,onStickyChange:T,onWindowChange:S,overscanRows:C})=>{let M=o((xe,me)=>me?uo(R,{paddingX:1,children:uo(b,{dimColor:xe?.tone!=="accent",children:me})}):null,"renderChromeSlot"),E=lc(a),P=lc(c),D=nd(E,l),L=M(a,E),y=s?null:M(c,P),W=Math.max(0,e?t:0),de=Math.max(0,p-D-W);return vT(R,{flexDirection:"column",width:l,flexGrow:1,flexShrink:0,children:[e?uo(R,{flexDirection:"column",flexShrink:0,children:e}):null,vT(R,{flexDirection:"column",flexGrow:1,overflowY:"hidden",children:[uo(Lm,{width:l,flexGrow:1,flexShrink:1,paddingTop:D,scrollTop:d,scrollHeight:f,viewportHeight:de,stickyScroll:m,scrollRef:h,onScrollTopChange:w,onStickyChange:T,onWindowChange:S,renderWindow:r,overscanRows:C,children:n}),L?uo(R,{position:"absolute",top:0,left:0,right:0,flexDirection:"column",children:L}):null,y?uo(R,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:y}):null,s?uo(R,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:s}):null]}),uo(R,{flexDirection:"column",flexShrink:0,children:i})]})},"FullscreenLayout");import ZA from"string-width";function e_(){return bs().columns}o(e_,"useTerminalWidth");var $m=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=rd(()=>ne(d),[d]),m=e_(),h=f??m,w=ZA(r)+1,T=rd(()=>{let D=Math.max(20,h-w);return dn(e,D,t,n)},[e,h,t,n,w]),S=rd(()=>{if(!T)return null;let[D,L]=Jp(T,[t,n]);return{row:D,col:L}},[T,t,n]),C=s&&a,M=c&&e.some(D=>D.length>0),E=T,P=S;return On(R,{flexDirection:"column",borderStyle:"round",borderColor:p.colors.dim,borderTop:!0,borderBottom:!0,borderLeft:!1,borderRight:!1,width:f??"100%",children:[M?mn(R,{children:mn(b,{dimColor:!0,children:l==="pasting"?"Pasting input...":"Editing input..."})}):null,E.visualLines.length===0||E.visualLines.length===1&&E.visualLines[0]===""?On(R,{children:[On(b,{color:p.colors.primary,children:[r," "]}),C?On(JA,{children:[mn(b,{internal_cursorAnchor:!0,backgroundColor:p.colors.primary,color:"#000000",children:" "}),mn(b,{dimColor:!0,children:i})]}):mn(b,{dimColor:!0,children:i})]}):E.visualLines.map((D,L)=>{let y=L===P.row,W=L===0?r:" ".repeat(w-1);if(y&&C){let{before:de,current:xe,after:me}=BS(D,P.col),Z=xe||" ";return On(R,{children:[On(b,{color:p.colors.primary,children:[W," "]}),mn(b,{color:p.colors.text,children:de}),mn(b,{internal_cursorAnchor:!0,backgroundColor:p.colors.primary,color:"#000000",children:Z}),mn(b,{color:p.colors.text,children:me})]},L)}return On(R,{children:[On(b,{color:p.colors.dim,children:[W," "]}),mn(b,{color:p.colors.text,children:D})]},L)})]})},"TextInput"),t_=o(({value:e,cursorCol:t,prompt:n=">",placeholder:r,focus:i=!0,theme:s="dark"})=>{let a=rd(()=>ne(s),[s]);if(!e)return On(R,{children:[On(b,{color:a.colors.primary,children:[n," "]}),r&&mn(b,{dimColor:!0,children:r}),i&&mn(b,{backgroundColor:a.colors.primary,color:"#000000",children:" "})]});let c=un(e),l=c.slice(0,t).join(""),d=c[t]??" ",f=c.slice(t+1).join("");return On(R,{children:[On(b,{color:a.colors.primary,children:[n," "]}),mn(b,{color:a.colors.text,children:l}),mn(b,{backgroundColor:a.colors.primary,color:"#000000",children:d}),mn(b,{color:a.colors.text,children:f})]})},"SingleLineTextInput");var Om={"[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"}},n_=/^\x1b\[([0-9]+);?([0-9]+)?([~A-Za-z])?/,r_=/^\x1b\[<(\d+);(\d+);(\d+)([Mm])$/;function o_(e){switch(e&3){case 0:return"left";case 1:return"middle";case 2:return"right";default:return"unknown"}}o(o_,"parseMouseButton");function i_(e){return{shift:(e&1)!==0,alt:(e&2)!==0,ctrl:(e&4)!==0,meta:(e&8)!==0}}o(i_,"parseModifier");function od(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(r_);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:o_(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(n_);if(s){let[,l,d,f]=s,p=f||"~",h=Om[i];if(h)return Object.assign(n,h),n;let w="["+l+p+"]",T=Om[w];if(T&&T.name){if(n.name=T.name,d){let S=parseInt(d,10)-1,C=i_(S);Object.assign(n,C)}return n}}let c=Om[i];if(c)return Object.assign(n,c),n;if(e.startsWith("\x1B\x1B")){n.meta=!0;let l="\x1B"+e.slice(2),d=od(l);return n.name=d.name,n}}return n}o(od,"parseKeypress");var uc=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=od(s,this.inBracketedPaste);this.emit(a)}break}let{sequence:n,remaining:r}=t;this.buffer=r;let i=od(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 RT(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(RT,"isFunctionKey");function s_(e){return e.ctrl||e.meta||RT(e)?!1:e.sequence.length===1&&e.sequence.charCodeAt(0)>=32}o(s_,"isPrintable");function a_(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(a_,"getKeyDisplayName");import c_,{createContext as l_,useContext as u_,useEffect as kT,useCallback as d_,useRef as Dm}from"react";var f_=50;function Nm(){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(Nm,"createKeypressManager");var ET=l_(null);function id({children:e,enabled:t=!0}){let{stdout:n}=pr(),r=Dm(Nm()),i=Dm(null),s=Dm(null),a=d_(c=>{t&&r.current.dispatch(c)},[t]);return kT(()=>{if(!t)return;n?.write?.("\x1B[?2004h");let c=new uc;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]),sc(c=>{t&&(s.current&&clearTimeout(s.current),i.current?.feed(c),c.length!==0&&(s.current=setTimeout(()=>{i.current?.feed("",!0)},f_)))},{isActive:t,rawMode:!0}),c_.createElement(ET.Provider,{value:r.current},e)}o(id,"KeypressProvider");function Bm(){let e=u_(ET);if(!e)throw new Error("useKeypressManager must be used within a KeypressProvider");return e}o(Bm,"useKeypressManager");function kn(e,t,n=[]){let r=Bm(),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?cn.High:cn.Normal:d??cn.Normal}else a=typeof e=="boolean"?e?cn.High:cn.Normal:e,s=t,c=!0;kT(()=>c?r.register(a,s):void 0,[r,a,c,...i?[]:n])}o(kn,"useKeypress");function Dn(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(Dn,"createKeyMatcher");var MT={isEnter:Dn({name:"return"}),isEscape:Dn({name:"escape"}),isCtrlC:Dn({name:"c",ctrl:!0}),isCtrlD:Dn({name:"d",ctrl:!0}),isUp:Dn({name:"up"}),isDown:Dn({name:"down"}),isLeft:Dn({name:"left"}),isRight:Dn({name:"right"}),isBackspace:Dn({name:"backspace"}),isDelete:Dn({name:"delete"}),isTab:Dn({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 x_}from"react/jsx-runtime";import{useState as S_,useEffect as LT,useCallback as fo,useMemo as PT,createContext as w_,useContext as $T}from"react";function p_(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=m_(t,a);return i+=c,{matched:!0,score:i,highlights:a}}o(p_,"fuzzyMatch");function m_(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(m_,"calculateWordBoundaryBonus");function h_(e,t){return e?t.toLowerCase().startsWith(e.toLowerCase()):!0}o(h_,"prefixMatch");function g_(e,t){if(h_(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{...p_(e,t),isPrefix:!1}}o(g_,"combinedMatch");function AT(e,t,n=0){return e?t.map(r=>{let i=g_(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(AT,"sortCandidatesCombined");var y_={debounceDelay:100,minTriggerChars:1,maxCompletions:10,minScore:0},Hm=class{static{o(this,"AutocompleteProvider")}completers;options;state;listeners=new Set;debounceTimer=null;lastInput="";lastCursorPos=0;constructor(t={}){this.options={...y_,...t},this.completers=[new Vp(this.options.gitRoot),new MS,new AS,new Su(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 Vp)?.setGitRoot(this.options.gitRoot),r){let i=this.completers.findIndex(s=>s instanceof Su);i!==-1&&(this.completers[i]=new Su(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=Kp(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 AT(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=Kp(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 _T(e){return new Hm(e)}o(_T,"createAutocompleteProvider");var Wm=w_(null);function Fm({children:e,cwd:t,gitRoot:n}){let r=sd({cwd:t,gitRoot:n,enabled:!0});return x_(Wm.Provider,{value:r,children:e})}o(Fm,"AutocompleteContextProvider");function Zo(){return $T(Wm)}o(Zo,"useAutocompleteContext");function T_(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(T_,"completionToSuggestion");function sd(e={}){let t=$T(Wm);return t&&!e.cwd&&!e.gitRoot?t:C_(e)}o(sd,"useAutocomplete");function C_(e){let{cwd:t,gitRoot:n,enabled:r=!0}=e,i=PT(()=>_T({cwd:t,gitRoot:n,debounceDelay:100,minTriggerChars:1,maxCompletions:50}),[]);LT(()=>{i.updateOptions({cwd:t,gitRoot:n})},[i,t,n]);let[s,a]=S_({visible:!1,selectedIndex:0,completions:[],loading:!1});LT(()=>i.subscribe(C=>{a(C)}),[i]);let c=PT(()=>s.completions.map((S,C)=>T_(S,C)),[s.completions]),l=fo((S,C)=>{if(!r){i.cancel();return}i.handleInput(S,C)},[i,r]),d=fo(()=>s.visible?i.acceptCompletionWithType():null,[i,s.visible]),f=fo(()=>s.visible?i.acceptCompletionWithType():null,[i,s.visible]),p=fo(()=>{s.visible&&i.selectPrevious()},[i,s.visible]),m=fo(()=>{s.visible&&i.selectNext()},[i,s.visible]),h=fo(()=>{s.visible&&i.cancel()},[i,s.visible]),w=fo(()=>{i.cancel()},[i]),T=fo(()=>i,[i]);return{state:s,suggestions:c,handleInput:l,handleTab:d,handleEnter:f,handleUp:p,handleDown:m,handleEscape:h,cancel:w,getProvider:T}}o(C_,"useAutocompleteImpl");import{useCallback as dc,useRef as OT}from"react";var Nn=[];function jm(e={}){let{maxSize:t=1e3,onSave:n}=e,r=OT(-1),i=OT(""),s=dc((f,p)=>{if(!f.trim())return;if(Nn[Nn.length-1]?.text!==f){let h={text:f,timestamp:Date.now(),...p?.pastedContents&&p.pastedContents.length>0?{pastedContents:[...p.pastedContents]}:{}};Nn.push(h),Nn.length>t&&Nn.splice(0,Nn.length-t),n?.(h)}r.current=-1,i.current=""},[t,n]),a=dc(()=>Nn.length===0?null:r.current===-1?(r.current=Nn.length-1,Nn[r.current]??null):r.current>0?(r.current--,Nn[r.current]??null):null,[]),c=dc(()=>r.current===-1?null:r.current<Nn.length-1?(r.current++,Nn[r.current]??null):(r.current=-1,{text:i.current,timestamp:Date.now()}),[]),l=dc(()=>{r.current=-1,i.current=""},[]),d=dc(f=>{r.current===-1&&(i.current=f)},[]);return{add:s,navigateUp:a,navigateDown:c,reset:l,saveTempInput:d}}o(jm,"useInputHistory");function hn(e,t,n){return un(e).slice(t,n).join("")}o(hn,"sliceByCodePoints");var fc=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 ur(this.currentLine)}get visualCursor(){let t=this._lines[this._cursor.row]??"",n=hn(t,0,this._cursor.col);return{row:this._cursor.row,col:ur(n)}}getCharWidthAtCursor(){let t=this._lines[this._cursor.row]??"",r=un(t)[this._cursor.col];return r?lr(r)?2:1:0}visualColToLogicalCol(t){let n=this._lines[this._cursor.row]??"",r=un(n),i=0;for(let s=0;s<r.length;s++){let a=lr(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=hn(n,0,this._cursor.col),i=hn(n,this._cursor.col);this._lines[this._cursor.row]=r+t+i,this._cursor.col+=vn(t),this._rememberedCol=this._cursor.col,this._updateText()}newline(){this._saveHistory(),this._insertNewline()}_insertNewline(){let t=this._lines[this._cursor.row],n=hn(t,0,this._cursor.col),r=hn(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=hn(t,0,n),i=hn(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=vn(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<vn(t)){this._saveHistory();let n=hn(t,0,this._cursor.col),r=hn(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=vn(this._lines[this._cursor.row]),this._rememberedCol=this._cursor.col)}_moveRight(){let t=this._lines[this._cursor.row];this._cursor.col<vn(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=vn(this._lines[this._cursor.row]),this._rememberedCol=this._cursor.col}_clampColumn(){let t=this._lines[this._cursor.row],n=vn(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,vn(this._lines[this._cursor.row]))),this._rememberedCol=this._cursor.col}killLineRight(){let t=this._lines[this._cursor.row];this._cursor.col<vn(t)&&(this._saveHistory(),this._lines[this._cursor.row]=hn(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]=hn(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=un(t);for(;n>0&&/\s/.test(r[n]??"");)n--;for(;n>0&&!/\s/.test(r[n-1]??"");)n--;let i=hn(t,0,n),s=hn(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:vn(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+=hn(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=vn(this._lines[this._cursor.row]??""),this._rememberedCol=this._cursor.col}};import{useState as b_,useCallback as Ot,useRef as Um,useEffect as I_}from"react";function Gm(e={}){let{initialValue:t="",onTextChange:n}=e,r=Um(null),i=Um(null),s=Um(null),[a,c]=b_({text:t,cursor:{row:0,col:0},lines:[""],isPasting:!1,editingMode:t?"typing":"idle"});r.current===null&&(r.current=new fc,t&&r.current.setText(t)),i.current===null&&(i.current=IS());let l=r.current,d=i.current,f=Ot(Z=>{c(O=>({text:l.text,cursor:l.cursor,lines:l.lines,isPasting:Z?.isPasting??O.isPasting,editingMode:Z?.editingMode??O.editingMode})),n?.(l.text)},[l,n]),p=Ot(()=>{s.current&&clearTimeout(s.current),s.current=setTimeout(()=>{c(Z=>({...Z,isPasting:!1,editingMode:Z.text?"typing":"idle"})),s.current=null},120)},[]),m=Ot(Z=>{l.setText(Z),f({isPasting:!1,editingMode:Z?"typing":"idle"})},[l,f]),h=Ot((Z,O,k)=>{l.replaceRange(Z,O,k),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),w=Ot((Z,O)=>{let k=O?.paste??!1;if(k&&CS(Z)){let $=Z.replace(/\r\n/g,`
47
+ `).replace(/\r/g,`
48
+ `),{placeholder:Le}=d.registerText($);l.insert(Le,{paste:!0}),f({isPasting:!0,editingMode:"pasting"}),p();return}l.insert(Z,{paste:!1}),f({isPasting:k,editingMode:k?"pasting":"typing"}),k&&p()},[l,d,p,f]),T=Ot(()=>{l.newline(),f({isPasting:!1,editingMode:"typing"})},[l,f]),S=Ot(()=>{let Z=l.getAbsoluteOffset(),O=yu(l.text,Z);O?l.replaceRange(O.start,O.end,""):l.backspace(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),C=Ot(()=>{let Z=l.getAbsoluteOffset(),O=xu(l.text,Z);O?l.replaceRange(O.start,O.end,""):l.delete(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),M=Ot(Z=>{l.move(Z),f()},[l,f]),E=Ot(()=>{l.clear(),f({isPasting:!1,editingMode:"idle"})},[l,f]),P=Ot(()=>{let Z=l.undo();return Z&&f(),Z},[l,f]),D=Ot(()=>{let Z=l.redo();return Z&&f(),Z},[l,f]),L=Ot(()=>{l.moveToEnd(),f()},[l,f]),y=Ot(Z=>{l.moveToAbsoluteOffset(Z),f()},[l,f]),W=Ot(()=>{l.killLineRight(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),de=Ot(()=>{l.killLineLeft(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),xe=Ot(()=>{l.deleteWordLeft(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),me=Ot(()=>{s.current&&(clearTimeout(s.current),s.current=null),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]);return I_(()=>()=>{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:me,setText:m,replaceRange:h,insert:w,newline:T,backspace:S,delete:C,move:M,moveToEnd:L,moveToOffset:y,killLineRight:W,killLineLeft:de,deleteWordLeft:xe,clear:E,undo:P,redo:D}}o(Gm,"useTextBuffer");import{jsx as ei,jsxs as cd}from"react/jsx-runtime";import{useState as HT}from"react";import{useCallback as vs,useEffect as Vm,useRef as ad}from"react";function DT(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(DT,"buildAutocompleteReplacement");var R_=500;function NT(e,t,n){return n==="up"?e===0:e>=Math.max(0,t-1)}o(NT,"shouldUseHistoryNavigation");function k_(e){return e.isAutocompleteVisible?"cancel-autocomplete":e.hasText?e.timeSinceLastEscapeMs<R_?"clear-input":"arm-clear":"pass-through"}o(k_,"resolvePromptEscapeBehavior");function E_(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(E_,"resolvePromptEnterBehavior");function M_(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(M_,"resolvePromptEditingCommand");function BT({onSubmit:e,onExit:t,focus:n=!0,initialValue:r="",cwd:i,gitRoot:s,autocompleteEnabled:a=!0,onInputChange:c,onHistoryRecall:l,onPopPendingInputs:d}){let f=ad(0),{add:p,navigateUp:m,navigateDown:h,reset:w,saveTempInput:T}=jm(),{buffer:S,text:C,cursor:M,lines:E,isPasting:P,editingMode:D,pasteStore:L,resetTransientState:y,setText:W,replaceRange:de,clear:xe,move:me,moveToOffset:Z,insert:O,backspace:k,newline:$,delete:Le,undo:Q,redo:X,killLineRight:le,killLineLeft:Ee,deleteWordLeft:He}=Gm({initialValue:r,onTextChange:c}),F=ad(0);Vm(()=>{if(P)return;if(C.length<=1e4){F.current=0;return}if(C.length===F.current)return;let N=L.peekNextId(),{truncatedText:se,placeholderContent:ye}=bS(C,N);ye&&(L.registerTruncatedText(ye),F.current=se.length,W(se))},[C,P,L,W]);let fe=Zo(),be=sd({cwd:i,gitRoot:s,enabled:a}),{state:ce,suggestions:it,handleInput:re,handleTab:Pe,handleEnter:We,handleUp:Ct,handleDown:ue,handleEscape:Ce}=fe??be;Vm(()=>{n||(f.current=0,y(),ce.visible&&Ce())},[ce.visible,n,Ce,y]);let Se=ad(C);Vm(()=>{a&&C!==Se.current&&(Se.current=C,re(C,S.getAbsoluteOffset()))},[a,S,re,C]);let Ke=vs(N=>{if(!N?.text)return;let se=DT(C,S.getAbsoluteOffset(),N),ye=C.slice(0,se.start)+se.replacement+C.slice(se.end);return de(se.start,se.end,se.replacement),ye},[S,de,C]),A=vs(N=>{let se=N??C;if(!se.trim())return;let ye=L.expand(se),he=new Set,G=/\[(Pasted text|\.\.\.Truncated text) #(\d+)(?: \+\d+ lines)?(\.*)\]/g;for(let et of se.matchAll(G)){let Bt=Number.parseInt(et[2]??"0",10);Number.isFinite(Bt)&&Bt>0&&he.add(Bt)}let gt=[];for(let et of he){let Bt=L.get(et);Bt&&gt.push(Bt)}p(se,{pastedContents:gt}),e({displayText:se,fullText:ye,pastedContents:gt}),xe()},[p,xe,e,L,C]),K=vs(N=>{if(N){if(N.pastedContents&&N.pastedContents.length>0){for(let se of N.pastedContents)L.adopt(se);l?.({text:N.text,pastedContents:[...N.pastedContents]})}W(N.text)}},[l,L,W]),j=vs(async N=>{try{let se=await LS(N);if(se.kind==="images"){let ye=se.blocks.map(he=>`@${he.path}`).join(" ");O(`${ye} `,{paste:!1})}else se.kind==="error"&&console.warn(`[KodaX paste] ${se.message}`)}catch(se){console.warn(`[KodaX paste] image handling failed: ${se instanceof Error?se.message:String(se)}`)}},[O]),pe=ad(!1),Me=vs(async()=>{if(!pe.current){pe.current=!0;try{let N=await PS();if(N.kind==="images"){let se=N.blocks.map(ye=>`@${ye.path}`).join(" ");O(`${se} `,{paste:!1})}else N.kind==="error"&&console.warn(`[KodaX clipboard] ${N.message}`)}catch(N){console.warn(`[KodaX clipboard] image handling failed: ${N instanceof Error?N.message:String(N)}`)}finally{pe.current=!1}}},[O]),$e=vs(N=>{if(!n)return!1;if(N.name==="v"&&(N.ctrl||N.meta))return Me(),!0;if(N.name==="paste"&&N.isPasted&&$S(N.sequence).length>0)return j(N.sequence),!0;let se=ce.visible&&it.length>0;if(N.name==="tab"&&se){let he=Pe();return he&&Ke(he),!0}if(N.ctrl&&N.name==="c")return C.length>0?(xe(),w()):t?.(),!0;if(N.name==="escape")switch(k_({isAutocompleteVisible:se,hasText:C.length>0,timeSinceLastEscapeMs:Date.now()-f.current})){case"cancel-autocomplete":return Ce(),f.current=0,!0;case"clear-input":return f.current=0,xe(),w(),!0;case"arm-clear":return f.current=Date.now(),!0;default:return!1}if(N.name==="up"){if(se)return Ct(),!0;if(N.ctrl)return me("up"),!0;if(C.length===0&&d){let he=d();if(typeof he=="string"&&he.length>0)return W(he),!0}if(NT(M.row,E.length,"up")){T(C);let he=m();K(he)}else me("up");return!0}if(N.name==="down"){if(se)return ue(),!0;if(N.ctrl)return me("down"),!0;if(NT(M.row,E.length,"down")){let he=h();K(he)}else me("down");return!0}if(N.name==="left"){let he=S.getAbsoluteOffset(),G=yu(S.text,he);return G?Z(G.start):me("left"),!0}if(N.name==="right"){let he=S.getAbsoluteOffset(),G=xu(S.text,he);return G?Z(G.end):me("right"),!0}if(N.name==="home")return me("home"),!0;if(N.name==="end")return me("end"),!0;let ye=M_(N);if(ye)switch(ye){case"move-home":return me("home"),!0;case"move-end":return me("end"),!0;case"undo":return Q(),!0;case"redo":return X(),!0;case"kill-line-right":return le(),!0;case"kill-line-left":return Ee(),!0;case"delete-word-left":return He(),!0;default:break}if(N.name==="backspace")return k(),!0;if(N.name==="delete")return Le(),!0;if(N.name==="return"||N.name==="newline")switch(E_({keyName:N.name,ctrl:N.ctrl,shift:N.shift,isAutocompleteVisible:se,isLineContinuation:!!E[M.row]?.endsWith("\\"),isPasting:P})){case"accept-completion-and-submit":{let G=We();if(G){let gt=Ke(G);A(gt)}else A();return!0}case"newline":return $(),!0;case"line-continuation":return k(),$(),!0;default:return A(),!0}return N.insertable&&!N.ctrl&&!N.meta?(O(N.sequence,N.isPasted?{paste:!0}:void 0),!0):!1},[Ke,p,ce.visible,k,S,xe,M.row,Le,n,ue,Ce,Ct,We,K,Pe,j,Me,E,Ee,le,me,Z,h,m,$,t,d,X,w,T,W,A,it.length,C.length,He,P,Q]);return{text:C,cursor:M,lines:E,isPasting:P,terminalFocused:n,editingMode:D,handleKey:$e}}o(BT,"usePromptInputController");var Rs=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}=lo(),{cursor:m,lines:h,handleKey:w,isPasting:T,terminalFocused:S,editingMode:C}=BT({onSubmit:e,onExit:p,focus:s,initialValue:a,cwd:c,gitRoot:l,autocompleteEnabled:d,onInputChange:f,onHistoryRecall:t,onPopPendingInputs:n});return kn(cn.High,M=>w(M),[w]),ei(R,{flexDirection:"column",children:ei($m,{lines:h,cursorRow:m.row,cursorCol:m.col,prompt:i,placeholder:r,focus:s,terminalFocused:S,isPasting:T,editingMode:C,theme:"dark"})})},"InputPrompt"),A_=o(({onSubmit:e,placeholder:t,prompt:n=">"})=>{let[r,i]=HT(""),[s,a]=HT(0);kn(cn.High,p=>{if(p.name==="return")return r.trim()&&(e(r),i(""),a(0)),!0;if(p.name==="backspace"&&s>0){let m=[...r].slice(0,s-1).join(""),h=[...r].slice(s).join("");return i(m+h),a(s-1),!0}if(p.name==="left"&&s>0)return a(s-1),!0;if(p.name==="right"&&s<[...r].length)return a(s+1),!0;if(p.insertable&&!p.ctrl&&!p.meta){let m=[...r].slice(0,s).join(""),h=[...r].slice(s).join("");return i(m+p.sequence+h),a(s+1),!0}return!1},[r,s,e]);let c=ne("dark");if(!r)return cd(R,{children:[cd(b,{color:c.colors.primary,children:[n," "]}),t&&ei(b,{dimColor:!0,children:t}),ei(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 cd(R,{children:[cd(b,{color:c.colors.primary,children:[n," "]}),ei(b,{children:l}),ei(b,{backgroundColor:c.colors.primary,color:"#000000",children:d}),ei(b,{children:f})]})},"SimpleInputPrompt");import{jsx as ht,jsxs as jt}from"react/jsx-runtime";import{useState as FT,useEffect as jT}from"react";var WT=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],__=80,ld=new Set,pc=null;function L_(){let e=Array.from(ld);for(let t of e)t()}o(L_,"dispatchSharedSpinnerTick");function P_(e){return ld.add(e),pc===null&&(pc=setInterval(L_,__)),()=>{ld.delete(e),ld.size===0&&pc!==null&&(clearInterval(pc),pc=null)}}o(P_,"subscribeToSharedSpinnerClock");function ud(e=!0){let[t,n]=FT(0);return jT(()=>{if(e)return P_(()=>{n(r=>r+1)})},[e]),t}o(ud,"useSharedSpinnerTick");var Bn=o(({color:e,theme:t})=>{let n=t??ne("dark"),i=ud(!0)%WT.length,s=e??n.colors.accent;return ht(b,{color:s,children:WT[i]})},"Spinner");function $_(e){return e<=0?0:Math.round(e/4)}o($_,"estimateOutputTokens");function O_(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(O_,"formatElapsedDuration");var UT=o(({roundStartedAt:e,charCount:t,theme:n})=>{let r=n??ne("dark");if(ud(e!==null),e===null)return null;let i=D_(Date.now()-e,t);return ht(b,{color:r.colors.dim,wrap:"truncate",children:i})},"SpinnerStatsTail");function D_(e,t){let n=O_(e),r=$_(t);return r>0?` (${n} \xB7 \u2193 ${r} tokens)`:` (${n})`}o(D_,"buildSpinnerStatsText");var GT=o(({label:e,dotCount:t=3,theme:n})=>{let r=n??ne("dark"),[i,s]=FT(1);jT(()=>{let c=setInterval(()=>{s(l=>l%t+1)},300);return()=>clearInterval(c)},[t]);let a=".".repeat(i);return jt(R,{children:[e&&ht(b,{color:r.colors.text,children:e}),ht(b,{color:r.colors.accent,children:a})]})},"DotsIndicator"),VT=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 jt(R,{flexDirection:"column",children:[t&&ht(R,{marginBottom:1,children:ht(b,{color:i.colors.text,children:t})}),jt(R,{children:[ht(b,{color:i.colors.primary,children:l}),ht(b,{dimColor:!0,children:d}),jt(b,{children:[" ",s,"%"]})]})]})},"ProgressIndicator"),N_=o(({message:e,showSpinner:t=!1,theme:n})=>{let r=n??ne("dark"),i=e??"Thinking";return jt(R,{children:[t&&ht(R,{marginRight:1,children:ht(Bn,{theme:r})}),jt(b,{color:r.colors.accent,children:[i,"\u2026"]})]})},"ThinkingIndicator"),B_=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?jt(R,{children:[ht(Bn,{theme:a}),jt(b,{color:a.colors.text,children:[" ",c,"\u2026"]})]}):r==="bar"&&n!==void 0?jt(R,{flexDirection:"column",children:[ht(VT,{progress:n,label:c,theme:a}),t&&ht(R,{marginTop:1,children:ht(b,{dimColor:!0,children:t})})]}):r==="dots"?jt(R,{flexDirection:"column",children:[ht(GT,{label:c,theme:a}),t&&ht(R,{marginTop:1,children:ht(b,{dimColor:!0,children:t})})]}):r==="simple"?jt(R,{flexDirection:"column",children:[jt(b,{color:a.colors.accent,children:[c,"\u2026"]}),t&&ht(R,{marginTop:1,children:ht(b,{dimColor:!0,children:t})}),n!==void 0&&ht(R,{marginTop:1,children:jt(b,{dimColor:!0,children:[n,"%"]})})]}):jt(R,{flexDirection:"column",children:[jt(R,{children:[ht(Bn,{theme:a}),jt(b,{color:a.colors.text,children:[" ",c,"\u2026"]}),n!==void 0&&jt(b,{dimColor:!0,children:[" (",n,"%)"]})]}),t&&ht(R,{marginTop:1,children:ht(b,{dimColor:!0,children:t})})]})},"LoadingIndicator");import{jsx as ve,jsxs as ze,Fragment as oh}from"react/jsx-runtime";import{useEffect as vC,useMemo as gr,memo as En}from"react";import*as hc from"node:path";function mc(e){if(jx(e)){let t=Ux(e);return t?`[memory:${t}]`:"[memory]"}if(H_(e))return"[memory]"}o(mc,"memoryBadgeFor");function H_(e){let t=hc.resolve(e),n=Gi("projects");if(!t.startsWith(n+hc.sep)&&t!==n)return!1;let i=t.slice(n.length+1).split(hc.sep);return i.length>=2&&i[1]==="memory"}o(H_,"isInsideAnyMemoryDir");function Je(e,t=120){return e.length>t?`${e.slice(0,t-3)}...`:e}o(Je,"truncateValue");function KT(e){if(e)return e.split(/\r?\n/).map(t=>t.trim()).find(Boolean)}o(KT,"extractFirstMeaningfulLine");function YT(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(YT,"splitDisplayToolName");function dd(e){let{rolePrefix:t,toolLabel:n}=YT(e);return t?`${t} ${n}`:n}o(dd,"normalizeDisplayToolName");function gc(e){return YT(e).toolLabel}o(gc,"stripRolePrefix");function fd(e){if(!(!e||Array.isArray(e)||typeof e!="object"))return e}o(fd,"asRecord");function qT(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}o(qT,"readString");function Et(e,...t){for(let n of t){let r=qT(e?.[n]);if(r)return r}}o(Et,"readFirstString");function mr(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(mr,"readNumber");function QT(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(QT,"readStringArray");function W_(e){if(typeof e=="string")return e.trim()||void 0;let t=fd(e);if(t)return qT(t.preview)??void 0}o(W_,"extractPreview");function zT(e){if(e)try{return fd(JSON.parse(e))}catch{return}}o(zT,"parsePreviewRecord");function Fe(e,t){return e&&e.match(new RegExp(`"${t}"\\s*:\\s*"([^"]+)`))?.[1]?.trim()||void 0}o(Fe,"extractFieldFromPreview");function hr(e,t){if(!e)return;let n=e.match(new RegExp(`"${t}"\\s*:\\s*(\\d+)`));return n?.[1]?Number(n[1]):void 0}o(hr,"extractNumberFromPreview");function JT(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(JT,"extractPathsFromPreview");function F_(e){let t=W_(e);if(typeof e=="string")return{record:zT(t),preview:t};let n=fd(e),r=zT(t);return n?r?{record:{...n,...r},preview:t}:{record:n,preview:t}:{record:r,preview:t}}o(F_,"resolveInputRecord");function ks(e,t,n,r=!1){let i=Et(t,"path","target_path","targetPath")??Fe(n,"path")??Fe(n,"target_path")??Fe(n,"targetPath"),s=QT(t?.paths)??JT(n);if(r&&s?.length){if(s.length===1){let a=mc(s[0]);a&&e.push(a),e.push(Je(s[0]))}else e.push(`${s.length} files`);return}if(i){let a=mc(i);a&&e.push(a),e.push(Je(i));return}if(s?.length)if(s.length===1){let a=mc(s[0]);a&&e.push(a),e.push(Je(s[0]))}else e.push(`${s.length} files`)}o(ks,"pushPathSummary");function Es(e,t,n){n!==void 0&&e.push(`${t}=${n}`)}o(Es,"pushNumericSummary");function Km(e,t,n){let r=Et(t,"baseRef","base_ref")??Fe(n,"baseRef")??Fe(n,"base_ref"),i=Et(t,"targetRef","target_ref")??Fe(n,"targetRef")??Fe(n,"target_ref");r&&i&&e.push(Je(`${r}...${i}`,88))}o(Km,"pushRangeSummary");function j_(e,t){let{record:n,preview:r}=F_(t),i=gc(e).toLowerCase(),s=[];if(i.includes("changed_diff_bundle")){let a=QT(n?.paths)??JT(r);a?.length?(s.push(a.length===1?Je(a[0]):`${a.length} files`),a.length>1&&s.push(Je(a[0]))):ks(s,n,r,!0);let c=mr(n?.limit_per_path)??mr(n?.limitPerPath)??hr(r,"limit_per_path")??hr(r,"limitPerPath");return c!==void 0&&s.push(`limit=${c}`),Km(s,n,r),s}if(i.includes("changed_diff"))return ks(s,n,r),Es(s,"offset",mr(n?.offset)??hr(r,"offset")),Es(s,"limit",mr(n?.limit)??hr(r,"limit")),Km(s,n,r),s;if(i==="read"||i.includes("read_"))return ks(s,n,r),Es(s,"offset",mr(n?.offset)??hr(r,"offset")),Es(s,"limit",mr(n?.limit)??hr(r,"limit")),s;if(i.includes("changed_scope"))return ks(s,n,r,!0),Km(s,n,r),s;if(i.includes("repo_overview"))return ks(s,n,r),s;if(i.includes("bash")||i.includes("shell_command")){let a=Et(n,"command")??Fe(r,"command");return a&&s.push(`cmd=${Je(a,140)}`),s}if(i==="glob"||i.includes("glob_")){let a=Et(n,"pattern")??Fe(r,"pattern"),c=Et(n,"path","root","directory","cwd")??Fe(r,"path")??Fe(r,"root")??Fe(r,"directory")??Fe(r,"cwd");if(a&&s.push(`pattern=${Je(a,96)}`),c){let l=mc(c);l&&s.push(l),s.push(Je(c))}return s}if(i==="grep"||i.includes("grep_")){let a=Et(n,"pattern","query")??Fe(r,"pattern")??Fe(r,"query"),c=Et(n,"path","root","directory","cwd")??Fe(r,"path")??Fe(r,"root")??Fe(r,"directory")??Fe(r,"cwd");if(a&&s.push(`pattern=${Je(a,96)}`),c){let l=mc(c);l&&s.push(l),s.push(Je(c))}return s}if(i==="web_fetch"){let a=Et(n,"url")??Fe(r,"url"),c=Et(n,"provider_id","providerId")??Fe(r,"provider_id")??Fe(r,"providerId"),l=Et(n,"capability_id","capabilityId")??Fe(r,"capability_id")??Fe(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=Et(n,"id")??Fe(r,"id");return a&&s.push(Je(a,120)),s}if(i==="mcp_call"){let a=Et(n,"id")??Fe(r,"id"),c=fd(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==="mcp_search"){let a=Et(n,"query")??Fe(r,"query"),c=Et(n,"server")??Fe(r,"server"),l=Et(n,"kind")??Fe(r,"kind"),d=mr(n?.limit)??hr(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=Et(n,"query","pattern")??Fe(r,"query")??Fe(r,"pattern"),c=Et(n,"path","target_path","targetPath")??Fe(r,"path")??Fe(r,"target_path")??Fe(r,"targetPath"),l=Et(n,"provider_id","providerId")??Fe(r,"provider_id")??Fe(r,"providerId"),d=mr(n?.limit)??hr(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 ks(s,n,r,!0),Es(s,"offset",mr(n?.offset)??hr(r,"offset")),Es(s,"limit",mr(n?.limit)??hr(r,"limit")),s}o(j_,"summarizeToolDetails");function ZT(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(ZT,"extractChangedDiffRange");function U_(e){return e.split(/\r?\n/).map(t=>t.trim()).find(t=>t.startsWith("+")||t.startsWith("-")||t.startsWith("@@"))}o(U_,"extractDiffPreviewLine");function G_(e){let t=[],n=ZT(e);if(n){let[i,s]=n.split("/");t.push(s?`Diff range: ${i} of ${s}`:`Diff range: ${n}`)}let r=U_(e);return r&&t.push(`Preview: ${Je(r,220)}`),t}o(G_,"formatChangedDiffExplanation");function V_(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(V_,"formatChangedDiffBundleExplanation");function eC(e,t){if(!t)return[];let n=gc(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=ZT(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(eC,"summarizeToolOutputDetails");function zm(e,t){let n=dd(e);return t.length>0?`${n} - ${t.join(" - ")}`:n}o(zm,"formatToolDetailSummary");function K_(e,t){if(!t)return;let n=t-e;return n<1e3?`${n}ms`:`${(n/1e3).toFixed(1)}s`}o(K_,"formatDuration");function z_(e){switch(e.status){case H.Scheduled:return"scheduled";case H.Validating:return"validating";case H.AwaitingApproval:return"awaiting approval";case H.Executing:return"running";case H.Error:return"failed";case H.Cancelled:return"cancelled";default:return}}o(z_,"formatToolStatusDetail");function XT(e){switch(e.status){case H.Scheduled:return["Queued: waiting to start"];case H.Validating:return["Validating: checking inputs and policy"];case H.AwaitingApproval:return["Waiting: approval required before execution"];case H.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 H.Cancelled:return["Cancelled before completion"];default:return[]}}o(XT,"formatToolProgressExplanation");function Xm(e){return e.startsWith("Error:")?"error":e.startsWith("Waiting:")?"accent":e.startsWith("Progress:")||e.startsWith("Running:")?"primary":"dim"}o(Xm,"resolveToolExplanationTone");function X_(e){let t=KT(e.error),n=typeof e.output=="string"?KT(e.output):void 0,r=[];return t&&r.push(`Error: ${Je(t,220)}`),e.status===H.Error&&n&&(!t||n.toLowerCase()!==t.toLowerCase())&&r.push(`Last output: ${Je(n,220)}`),r}o(X_,"formatToolFailureExplanation");function Ym(e){if(typeof e.output!="string"||!e.output.trim())return XT(e);let t=gc(e.name).toLowerCase();return e.status===H.Error?X_(e):e.status!==H.Success?XT(e):t.includes("changed_diff_bundle")?V_(e.output):t.includes("changed_diff")?G_(e.output):[]}o(Ym,"formatToolResultExplanation");function qm(e,t){return zm(e,j_(e,t))}o(qm,"formatToolSummary");function pd(e){let t=typeof e.output=="string"?eC(e.name,e.output):[],n=t.length>0?zm(e.name,t):qm(e.name,e.input),r=z_(e),i=K_(e.startTime,e.endTime),s=e.status===H.Executing&&e.progress!==void 0?`${e.progress}%`:e.status===H.Executing&&e.preview?e.preview:void 0,a=[r,s,i].filter(Boolean);return a.length>0?`${n} (${a.join(" - ")})`:n}o(pd,"formatToolCallInlineText");function md(e){let t=new Map;for(let n of e){let r=typeof n.output=="string"?eC(n.name,n.output):[],i=r.length>0?zm(n.name,r):qm(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(md,"collapseToolCalls");function yc(e){let t=pd(e.tool);return e.count>1?`${t} x${e.count}`:t}o(yc,"formatCollapsedToolInlineText");function hd(e,t,n){let r=qm(e,t);return r!==dd(e)?`[Tools] ${r}`:n>0?`[Tools] ${dd(e)} (${n} chars)`:`[Tools] ${dd(e)}`}o(hd,"formatLiveToolLabel");function Qm(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(Qm,"countNewlines");function gd(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=Qm(e),l=Qm(s),d=Qm(a),f=Math.max(0,c-l-d);return`${s}
49
+ \u2026 +${f} lines \u2026
50
+ ${a}`}o(gd,"truncateUserMessageForDisplay");var tC="(?:\x1B[[0-9;]*m)*",Y_=new RegExp(`^(${tC})(?:[ \r]*
51
+ )+`),q_=new RegExp(`(?:
52
+ [ \r]*)+(${tC})$`);function Jm(e){return e.replace(Y_,"$1").replace(q_,"$1")}o(Jm,"stripOuterBlankLines");function Mt(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(Mt,"stripAnsi");var Q_=new Set(["edit","write","multi_edit","insert_after_anchor"]),J_=20;function Z_(e){return Q_.has(gc(e.name).trim().toLowerCase())}o(Z_,"isMutationTool");function eL(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(eL,"classifyDiffLine");function tL(e,t,n,r,i){let s=[],a=!1;for(let p of n.split(/\r?\n/)){let{color:m,skip:h}=eL(p);h||((m==="success"||m==="error")&&(a=!0),s.push({text:p,color:m}))}if(!a)return!1;let c=0,l=s.length;for(;c<l&&s[c].text.trim()==="";)c++;for(;l>c&&s[l-1].text.trim()==="";)l--;let d=s.slice(c,l);if(d.length===0)return!1;let f=i?d:d.slice(0,J_);return f.forEach((p,m)=>{Ne(e,`${t}-diff-${m}`,p.text,dt(r,4),{color:p.color,indent:4})}),!i&&d.length>f.length&&Ne(e,`${t}-diff-more`,`... (${d.length-f.length} more lines)`,dt(r,4),{color:"dim",indent:4}),!0}o(tL,"pushDiffRows");var nC=400,nL="... (thinking truncated; press Ctrl+O to inspect full reasoning)",rC=2e5,rL="... (thinking show-all truncated at 200K chars; full content available via session artifacts)",aC=1e5,oC=120,oL=" \u2026 (Ctrl+O to expand)";function cC(){return process.env.KODAX_THINKING_COLLAPSE!=="0"}o(cC,"isThinkingCollapseEnabled");function iL(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>oC;return{summary:i?`${n.slice(0,oC).trimEnd()}\u2026`:n,hasMore:r||i}}o(iL,"buildCollapsedThinkingLine");function sL(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(sL,"normalizeManagedLiveActivityLabel");function yd(e){return new Date(e).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"})}o(yd,"formatTimestamp");function lC(e){switch(e){case H.Scheduled:return"\u25CB";case H.Validating:return"\u25D0";case H.AwaitingApproval:return"\u23F8";case H.Executing:return"\u25CF";case H.Success:return"\u2713";case H.Error:return"\u2717";case H.Cancelled:return"\u2298";default:return"[tool]"}}o(lC,"getToolStatusIcon");function uC(e){switch(e){case H.Scheduled:case H.Validating:return"dim";case H.AwaitingApproval:return"accent";case H.Executing:return"primary";case H.Success:return"success";case H.Error:return"error";case H.Cancelled:return"dim";default:return"text"}}o(uC,"getToolStatusColor");function aL(e,t){let n=Math.max(1,t),r=e.split(`
53
+ `),i=dn(r.length>0?r:[""],n,0,0);return i.visualLines.length>0?i.visualLines:[""]}o(aL,"wrapText");function Zm(e,t,n,r=!1){if(n||r)return e.length>rC?`${e.slice(0,rC)}
54
+
55
+ ${rL}`:e;let i=e.split(/\r?\n/),s=i.length>t,a=s?i.slice(0,t).join(`
56
+ `):e,c=a.length>nC,l=c?a.slice(0,nC):a;return!s&&!c?e:`${l}
57
+
58
+ ${nL}`}o(Zm,"buildThinkingPreview");function cL(e){for(let t=e.length-1;t>=0;t--)if(e[t]?.type==="user")return t;return 0}o(cL,"findActiveRoundStartIndex");function Ne(e,t,n,r,i){let s=Mt(n),a=aL(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(Ne,"pushWrappedRows");function Ms(e,t){e.push({key:t,text:" "})}o(Ms,"pushBlankRow");function dt(e,t=0){return Math.max(20,e-t)}o(dt,"getBodyWidth");function lL(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(lL,"buildToolInputPreview");function uL(e){switch(e){case"H0_DIRECT":return"H0";case"H1_EXECUTE_EVAL":return"H1";case"H2_PLAN_EXECUTE_EVAL":return"H2";default:return e}}o(uL,"formatHarnessProfileShort");function dL(e,t,n,r,i,s=!1,a=!1){Ne(e,`${t}-tool-${n.id}-main`,`${lC(n.status)} ${yc({tool:n,count:r})}`,dt(i,2),{color:uC(n.status),indent:2,bold:n.status===H.Executing}),Ym(n).forEach((d,f)=>{let p=Xm(d);Ne(e,`${t}-tool-${n.id}-explanation-${f}`,d,dt(i,4),{color:p,indent:4})});let l=n.status===H.Success&&typeof n.output=="string"&&n.output.trim().length>0&&Z_(n)&&tL(e,`${t}-tool-${n.id}`,n.output,i,a);if(s){let d=lL(n),f=a?d:d.slice(0,6);f.forEach((p,m)=>{Ne(e,`${t}-tool-${n.id}-input-${m}`,p,dt(i,4),{color:"dim",indent:4})}),!a&&d.length>f.length&&Ne(e,`${t}-tool-${n.id}-input-more`,`... (${d.length-f.length} more lines)`,dt(i,4),{color:"dim",indent:4})}if(s&&!l&&typeof n.output=="string"&&n.output.trim()){let d=n.output.trim().split(/\r?\n/),f=a?d:d.slice(0,8);f.forEach((m,h)=>{Ne(e,`${t}-tool-${n.id}-output-${h}`,m,dt(i,4),{color:"dim",indent:4})});let p=d.length;!a&&p>f.length&&Ne(e,`${t}-tool-${n.id}-output-more`,`... (${p-f.length} more lines)`,dt(i,4),{color:"dim",indent:4})}}o(dL,"buildToolRows");function fL(e,t,n,r){let i=n.status===H.Executing,s=i?"":`${lC(n.status)} `;Ne(e,`${t}-tool-${n.id}-main`,`${s}${yc({tool:n,count:1})}`,dt(r,2),{color:uC(n.status),indent:2,bold:i,spinner:i}),Ym(n).forEach((c,l)=>{let d=Xm(c);Ne(e,`${t}-tool-${n.id}-explanation-${l}`,c,dt(r,4),{color:d,indent:4})})}o(fL,"buildLiveToolRows");function dC(e){let{items:t,viewportWidth:n,isLoading:r=!1,maxLines:i=1e3,isThinking:s=!1,thinkingCharCount:a=0,thinkingContent:c="",streamingResponse:l="",currentTool:d,activeToolCalls:f=[],toolInputCharCount:p=0,toolInputContent:m="",iterationHistory:h=[],currentIteration:w=1,isCompacting:T=!1,managedAgentMode:S,managedPhase:C,managedHarnessProfile:M,managedWorkerTitle:E,managedRound:P,managedMaxRounds:D,lastLiveActivityLabel:L,liveStatusLines:y=[],currentTodoActiveForm:W,showFullThinking:de=!1,showDetailedTools:xe=!1,showAllContent:me=!1,showLiveProgressRows:Z=!0}=e,O=[];for(let k of t)switch(k.type){case"user":Ne(O,`${k.id}-header`,`You [${yd(k.timestamp)}]`,n,{color:"primary",bold:!0,itemId:k.id}),Ne(O,`${k.id}-body`,gd(k.text),dt(n,2),{color:"text",indent:2,itemId:k.id}),O.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break;case"assistant":{let $=Jm(me?k.text:k.compactText??k.text);Ne(O,`${k.id}-header`,`Assistant [${yd(k.timestamp)}]`,n,{color:"secondary",bold:!0,spinner:k.isStreaming,itemId:k.id}),Ne(O,`${k.id}-body`,$,dt(n,2),{color:"text",indent:2,itemId:k.id}),O.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break}case"system":Ne(O,`${k.id}-header`,`System [${yd(k.timestamp)}]`,n,{color:"dim",bold:!0,itemId:k.id}),Ne(O,`${k.id}-body`,k.text,dt(n,2),{color:"dim",indent:2,itemId:k.id}),O.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break;case"tool_group":Ne(O,`${k.id}-header`,`Tools [${yd(k.timestamp)}]`,n,{color:"accent",bold:!0,itemId:k.id}),md(k.tools).forEach($=>dL(O,k.id,$.tool,$.count,n,xe,me)),O.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break;case"thinking":{Ne(O,`${k.id}-header`,"Thinking",n,{color:"thinking",italic:!0,itemId:k.id});let $=cC()&&!de&&!me?iL(k.compactText??k.text):void 0;if($?.hasMore){Ne(O,`${k.id}-body`,`${$.summary}${oL}`,dt(n,2),{color:"thinking",indent:2,italic:!0,itemId:k.id}),O.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break}let Le=me?Zm(k.text,i,de,me):k.compactText??Zm(k.text,i,de,me);Ne(O,`${k.id}-body`,Le,dt(n,2),{color:"thinking",indent:2,italic:!0,itemId:k.id}),O.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break}case"error":Ne(O,`${k.id}-header`,"\u2717 Error",n,{color:"error",bold:!0,itemId:k.id}),Ne(O,`${k.id}-body`,k.text,dt(n,2),{color:"error",indent:2,itemId:k.id}),O.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break;case"info":Ne(O,`${k.id}-body`,`${k.icon??"\u2139"} ${Jm(me?k.text:k.compactText??k.text)}`,n,{color:"info",itemId:k.id}),O.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break;case"event":Ne(O,`${k.id}-body`,`${k.icon??">"} ${me?k.text:k.compactText??k.text}`,n,{color:"text",itemId:k.id}),O.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break;case"hint":Ne(O,`${k.id}-header`,"\u{1F4A1} Hint",n,{color:"hint",bold:!0,itemId:k.id}),Ne(O,`${k.id}-body`,k.text,dt(n,2),{color:"dim",indent:2,itemId:k.id}),O.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break;default:break}if(Z&&h.length>0&&(h.forEach(k=>{if(Ne(O,`iteration-${k.iteration}-header`,`\u2500\u2500 Round ${k.iteration} \u2500\u2500`,n,{color:"dim",bold:!0}),k.thinkingSummary){let $=k.thinkingLength>60?` (${k.thinkingLength} chars total)`:"";Ne(O,`iteration-${k.iteration}-thinking`,`\u{1F4AD} ${k.thinkingSummary}${$}`,dt(n,1),{color:"thinking",indent:1,italic:!0})}if(k.response){let $=k.response.slice(0,200);Ne(O,`iteration-${k.iteration}-response`,$,dt(n,1),{color:"text",indent:1}),k.response.length>200&&Ne(O,`iteration-${k.iteration}-response-more`,`... (${k.response.length} chars total)`,dt(n,1),{color:"dim",indent:1})}k.toolsUsed.length>0&&Ne(O,`iteration-${k.iteration}-tools`,`* tools: ${k.toolsUsed.join(", ")}`,dt(n,1),{color:"accent",indent:1}),Ms(O,`iteration-${k.iteration}-blank`)}),Ne(O,"iteration-current-header",`\u2500\u2500 Round ${w} (current) \u2500\u2500`,n,{color:"accent",bold:!0}),Ms(O,"iteration-current-blank")),r&&c){let k=Zm(c,i,de,me);Ne(O,"thinking-stream-header","Thinking",n,{color:"thinking",italic:!0}),Ne(O,"thinking-stream-body",k,dt(n,2),{color:"thinking",indent:2,italic:!0}),Ms(O,"thinking-stream-blank")}if(r){let k="Thinking",$="",Le=uL(M),Q=sL(L,E),X=E??"Scout",le=C==="routing"?`[${S?S.toUpperCase():"AMA"} Routing] `:C==="preflight"?`[${S?S.toUpperCase():"AMA"} ${X}] `:C==="verifying"?`[${S?S.toUpperCase():"AMA"} Verifying] `:M?`[${S?S.toUpperCase():"AMA"} ${Le??M}${E?` - ${E}`:""}] `:"",Ee=f.filter(ce=>ce.status===H.Executing).length,He=f.filter(ce=>ce.status===H.Success).length,F=f.filter(ce=>ce.status===H.Error).length,fe=f.filter(ce=>ce.status===H.Cancelled).length,be=f.length>0&&(Ee>0||!l);if(T)k="Compacting";else if(C==="verifying")$=le,k="checking agent output";else if(be){let ce=[];if(Ee>0&&ce.push(`${Ee} running`),He>0&&ce.push(`${He} done`),F>0&&ce.push(`${F} error`),fe>0&&ce.push(`${fe} cancelled`),ce.length===0&&ce.push(`${f.length} tools`),Ne(O,"loading-tools-header",`${le}[Tools] ${ce.join(", ")}`,n,{color:"primary",bold:!0,spinner:Ee>0}),f.forEach(it=>{fL(O,"loading-tools",it,n)}),Ms(O,"loading-tools-blank"),Ee>0&&!l&&!Z)return O}else if(W)$=le||"[Plan] ",k=W;else if(d)$=le||"[Tool] ",k=Q?.startsWith("[Tools]")?Q:hd(d,m,p);else if(s){$=le||"[Thinking] ";let ce=P&&D&&P>1?` round ${P}/${D}`:"";k=a>0?`${a} chars${ce}`:Q?`${Q}${ce}`:`processing${ce}`}else Q&&(k=Q);Z&&Ne(O,"loading-indicator",`${$}${k}...`,n,{color:"accent",spinner:!0})}if(Z&&y.length>0&&(Ne(O,"live-status-header","Live status",n,{color:"dim",bold:!0}),y.forEach((k,$)=>{Ne(O,`live-status-${$}`,k,dt(n,2),{color:"dim",indent:2})}),Ms(O,"live-status-blank")),l){let k=l.lastIndexOf(`
59
+ `),$=k>=0?l.slice(0,k+1):"";$.length>0&&(Ne(O,"streaming-header","Assistant",n,{color:"secondary",bold:!0}),Ne(O,"streaming-body",$,dt(n,2),{color:"text",indent:2}),Ms(O,"streaming-blank"))}return O}o(dC,"buildTranscriptRows");function pL(e,t,n=1e3,r=!1,i=!1,s=!1){return As(e,t,n,r,void 0,i,s)}o(pL,"buildStaticTranscriptSections");var iC=new WeakMap,sC=new Set(["thinking","tool_group"]);function mL(){return process.env.KODAX_TRANSCRIPT_TIGHT!=="0"}o(mL,"isTightRunSpacingEnabled");function hL(e,t){return mL()?t.map((n,r)=>{let i=e[r],s=e[r+1];if(!i||!s||!sC.has(i.type)||!sC.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(hL,"suppressTightRunBlanks");function As(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}|${cC()?1:0}|${a?1:0}`,p=iC.get(l);if(p!==void 0&&p.sig===f)return p.section;let m={key:l.id,rows:dC({items:[l],viewportWidth:t,maxLines:n,showAllContent:s,showDetailedTools:d,showFullThinking:a})};return iC.set(l,{sig:f,section:m}),m});return hL(e,c)}o(As,"buildHistoryItemTranscriptSections");function gL(e,t){return{key:e,rows:dC(t)}}o(gL,"buildDynamicTranscriptSection");function xd(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=cL(t),d=t.slice(0,l),f=t.slice(l);return{staticSections:pL(d,n,r,i,s,a),activeItems:f}}o(xd,"buildTranscriptStaticPortion");function Sd(e){let{activeItems:t,viewportWidth:n,maxLines:r=1e3,showDetailedTools:i=!1,showAllContent:s=!1,showFullThinking:a=!1,expandedItemKeys:c,...l}=e,d=As(t,n,r,i,c,s,a),f=gL("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(Sd,"buildTranscriptDynamicPortion");function wd(e,t){return{staticSections:e.staticSections,sections:t.sections,rows:ti(t.sections),previewSections:t.previewSections,previewRows:ti(t.previewSections)}}o(wd,"composeTranscriptRenderModel");function fC(e,t,n){let r=wd(e,t);return n?{...r,staticSections:[n,...r.staticSections]}:r}o(fC,"buildInlinePromptRenderModel");function pC(e,t,n,r){let i=Number.isFinite(r)?Math.max(1,Math.floor(r)):1,s=[...t,...n],a=Math.max(0,s.length-i),c=s.slice(a),l=e.flatMap(m=>m.rows),d=s.slice(0,a).filter(m=>m.spinner!==!0);return{committedSections:[...l,...d].map((m,h)=>({key:`il-${h}`,rows:[{...m,key:`il-${h}`}]})),liveRows:c}}o(pC,"splitInlineLedgerModel");function yL(e){return e.replace(/^(You|Assistant|Tools|System) \[\d{1,2}:\d{2}[^\]]*\]$/u,"$1")}o(yL,"stripHeaderTimestamp");function mC(e){let t=5381;for(let n of e.rows){let r=yL(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(mC,"identifyInlineCommitSection");function Td(e){let t=xd({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=Sd({...r,activeItems:t.activeItems});return wd(t,i)}o(Td,"buildTranscriptRenderModel");function ti(e){return e.flatMap(t=>t.rows)}o(ti,"flattenTranscriptSections");function hC(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(hC,"identifyTranscriptSection");function eh(e){let t=[...e.staticSections,...e.sections];return{staticSections:[],sections:t,rows:ti(t),previewSections:[...e.previewSections],previewRows:ti(e.previewSections)}}o(eh,"materializeTranscriptRenderModel");function gC(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?nh(e,a,c):e}o(gC,"resolveVisibleTranscriptRows");var xL=200,SL=50,th=30;function yC(e,t,n=xL,r=SL){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(yC,"computeTranscriptCapStart");function xC(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(xC,"sliceHistoryToRecentRounds");function nh(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(nh,"getVisibleTranscriptRows");function SC(e,t,n){if(!t||!n||n<=0)return 0;let r=ti(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(SC,"resolveScrollOffsetForTranscriptItem");function wC(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(wC,"resolveTranscriptColor");var Cd="__transcript_hidden_divider__";function TC(e,t){let n=e===1?"message":"messages";return{id:Cd,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(TC,"buildTranscriptHiddenDivider");function rh(e){return e.id===Cd}o(rh,"isTranscriptHiddenDivider");var CC=new us(500);function wL(e){let t=un(e),n=[],r=[],i=0,s=0;for(let a of t)n.push(i),r.push(s),i+=a.length,s+=Qp(a);return{graphemes:t,codeUnitOffsets:n,visualOffsets:r,length:t.length,displayWidth:s}}o(wL,"buildTranscriptTextMetrics");function xc(e){let t=CC.get(e);if(t)return t;let n=wL(e);return CC.set(e,n),n}o(xc,"getTranscriptTextMetrics");function po(e){return xc(e).length}o(po,"getTranscriptTextLength");function bC(e){return xc(e).displayWidth}o(bC,"getTranscriptTextDisplayWidth");function bd(e,t){let n=xc(e),r=Math.max(0,Math.min(n.length-1,t));return n.graphemes[r]??""}o(bd,"charAtTranscriptText");function _s(e,t,n){let r=xc(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(_s,"sliceTranscriptText");function IC(e,t){let n=xc(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(IC,"resolveTranscriptTextIndexAtVisualColumn");function Id(e){return new Date(e).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"})}o(Id,"formatTimestamp");function TL(e,t){let n=e.split(`
60
+ `),r=n.slice(0,t),i=n.length>t;return{lines:r,hasMore:i}}o(TL,"truncateLines");function CL(e){switch(e){case H.Scheduled:return"\u25CB";case H.Validating:return"\u25D0";case H.AwaitingApproval:return"\u23F8";case H.Executing:return"\u25CF";case H.Success:return"\u2713";case H.Error:return"\u2717";case H.Cancelled:return"\u2298";default:return"?"}}o(CL,"getToolStatusIcon");function bL(e,t){switch(e){case H.Scheduled:case H.Validating:return t.colors.dim;case H.AwaitingApproval:return t.colors.accent;case H.Executing:return t.colors.primary;case H.Success:return t.colors.success;case H.Error:return t.colors.error;case H.Cancelled:return t.colors.dim;default:return t.colors.text}}o(bL,"getToolStatusColor");var IL=En(({item:e,theme:t})=>{let n=gr(()=>gd(e.text),[e.text]);return ze(R,{flexDirection:"column",marginBottom:1,children:[ze(R,{children:[ve(b,{color:t.colors.primary,bold:!0,children:"You"}),ze(b,{dimColor:!0,children:[" [",Id(e.timestamp),"]"]})]}),ve(R,{marginLeft:2,children:ve(b,{color:t.colors.text,children:n})})]})}),vL=En(({item:e,theme:t,maxLines:n})=>{let r=e.compactText??e.text,{lines:i,hasMore:s}=TL(r,n);return ze(R,{flexDirection:"column",marginBottom:1,children:[ze(R,{children:[ve(b,{color:t.colors.secondary,bold:!0,children:"Assistant"}),e.isStreaming&&ze(oh,{children:[ve(b,{children:" "}),ve(Bn,{color:t.colors.accent})]}),ze(b,{dimColor:!0,children:[" [",Id(e.timestamp),"]"]})]}),ze(R,{marginLeft:2,flexDirection:"column",children:[i.map((a,c)=>ve(b,{color:t.colors.text,children:a||" "},c)),s&&ze(b,{dimColor:!0,children:["... (",r.split(`
61
+ `).length-n," more lines)"]})]})]})}),RL=En(({item:e,theme:t})=>ze(R,{flexDirection:"column",marginBottom:1,children:[ze(R,{children:[ve(b,{color:t.colors.dim,bold:!0,children:"System"}),ze(b,{dimColor:!0,children:[" [",Id(e.timestamp),"]"]})]}),ve(R,{marginLeft:2,children:ve(b,{dimColor:!0,children:e.text})})]})),kL=En(({tool:e,count:t=1,theme:n})=>{let r=CL(e.status),i=bL(e.status,n);return ze(R,{flexDirection:"column",marginLeft:2,children:[ze(R,{children:[ze(b,{color:i,children:[r," "]}),ve(b,{color:n.colors.text,bold:!0,children:yc({tool:e,count:t})})]}),e.error&&ve(R,{marginLeft:2,children:ve(b,{color:n.colors.error,children:e.error})})]})}),EL=En(({item:e,theme:t})=>{let n=md(e.tools);return ze(R,{flexDirection:"column",marginBottom:1,children:[ze(R,{children:[ve(b,{color:t.colors.accent,bold:!0,children:"Tools"}),ze(b,{dimColor:!0,children:[" [",Id(e.timestamp),"]"]})]}),n.map(r=>ve(kL,{tool:r.tool,count:r.count,theme:t},`${r.tool.id}-${r.count}`))]})}),ML=En(({item:e,theme:t})=>ze(R,{flexDirection:"column",marginBottom:1,children:[ve(R,{children:ve(b,{color:t.colors.thinking,italic:!0,children:"Thinking"})}),ve(R,{marginLeft:2,children:ve(b,{color:t.colors.thinking,italic:!0,children:e.compactText??e.text})})]})),AL=En(({item:e,theme:t})=>ze(R,{flexDirection:"column",marginBottom:1,children:[ve(R,{children:ze(b,{color:t.colors.error,bold:!0,children:["\u2717"," Error"]})}),ve(R,{marginLeft:2,children:ve(b,{color:t.colors.error,children:e.text})})]})),_L=En(({item:e,theme:t})=>ve(R,{flexDirection:"column",marginBottom:1,children:ze(b,{color:t.colors.text,children:[ve(b,{color:t.colors.accent,bold:!0,children:e.icon??">"}),ve(b,{children:" "}),e.compactText??e.text]})})),LL=En(({item:e,theme:t})=>ve(R,{flexDirection:"column",marginBottom:e.tightSpacing?0:1,children:ze(b,{color:t.colors.info,children:[ze(b,{bold:!0,children:[e.icon??"\u2139"," "]}),e.compactText??e.text]})})),PL=En(({item:e,theme:t})=>ze(R,{flexDirection:"column",marginBottom:1,children:[ve(R,{children:ze(b,{color:t.colors.hint,bold:!0,children:["\u{1F4A1}"," Hint"]})}),ve(R,{marginLeft:2,children:ve(b,{dimColor:!0,children:e.text})})]})),$L=En(({item:e,theme:t,maxLines:n=1e3})=>{let r=gr(()=>ne("dark"),[]),i=t??r;switch(e.type){case"user":return ve(IL,{item:e,theme:i});case"assistant":return ve(vL,{item:e,theme:i,maxLines:n});case"system":return ve(RL,{item:e,theme:i});case"tool_group":return ve(EL,{item:e,theme:i});case"thinking":return ve(ML,{item:e,theme:i});case"error":return ve(AL,{item:e,theme:i});case"event":return ve(_L,{item:e,theme:i});case"info":return ve(LL,{item:e,theme:i});case"hint":return ve(PL,{item:e,theme:i});default:return ve(R,{children:ve(b,{dimColor:!0,children:"Unknown item type"})})}});function OL(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(OL,"areTranscriptRowPropsEqual");var RC=En(({row:e,theme:t,animateSpinners:n=!0,selectedItem:r=!1,selectionRange:i})=>{let s=wC(t,e.color),a=e.text===" "?"":e.text,c=a||" ",l=i&&a?_s(a,i.start,i.end):"",d=i&&a?_s(a,0,i.start):a,f=i&&a?_s(a,i.end):"",p=r&&!i,m=!p&&e.color==="dim",h={bold:e.bold||p,italic:e.italic,dimColor:m};return ze(R,{marginLeft:e.indent??0,children:[e.spinner&&n&&ze(oh,{children:[ve(Bn,{color:t.colors.accent,theme:t}),ve(b,{children:" "})]}),ve(b,{color:p?t.colors.accent:s,...h,children:i&&a?ze(oh,{children:[d?ve(b,{color:p?t.colors.accent:s,...h,children:d}):null,ve(b,{backgroundColor:t.colors.accent,color:t.colors.background,bold:!0,italic:e.italic,children:l}),f?ve(b,{color:p?t.colors.accent:s,...h,children:f}):null]}):c})]})},OL),ih=En(({section:e,theme:t,animateSpinners:n=!0})=>ve(R,{flexDirection:"column",children:e.rows.map(r=>ve(RC,{row:r,theme:t,animateSpinners:n},r.key))})),ni=o(({items:e,isLoading:t=!1,maxLines:n=1e3,isThinking:r=!1,thinkingCharCount:i=0,thinkingContent:s="",streamingResponse:a="",currentTool:c,activeToolCalls:l,toolInputCharCount:d=0,toolInputContent:f="",iterationHistory:p=[],currentIteration:m=1,isCompacting:h=!1,agentMode:w,managedPhase:T,managedHarnessProfile:S,managedWorkerTitle:C,managedRound:M,managedMaxRounds:E,managedGlobalWorkBudget:P,managedBudgetUsage:D,managedBudgetApprovalRequired:L,lastLiveActivityLabel:y,liveStatusLines:W,viewportRows:de,viewportWidth:xe,scrollOffset:me=0,animateSpinners:Z=!0,windowed:O=!1,showFullThinking:k=!1,showDetailedTools:$=!1,showAllContent:Le=!1,showLiveProgressRows:Q=!0,selectedItemId:X,expandedItemKeys:le,onMetricsChange:Ee,onVisibleRowsChange:He,rendererWindow:F,selectedTextRanges:fe,transcriptModel:be,visibleRowsOverride:ce})=>{let it=gr(()=>ne("dark"),[]),{stdout:re}=pr(),Pe=xe??re?.columns??80,We=gr(()=>be??Td({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:h,managedAgentMode:w,managedPhase:T,managedHarnessProfile:S,managedWorkerTitle:C,managedRound:M,managedMaxRounds:E,managedGlobalWorkBudget:P,managedBudgetUsage:D,managedBudgetApprovalRequired:L,lastLiveActivityLabel:y,liveStatusLines:W,windowed:O,showFullThinking:k,showDetailedTools:$,showAllContent:Le,showLiveProgressRows:Q,expandedItemKeys:le}),[be,e,Pe,t,n,r,i,s,a,c,l,d,f,p,m,h,w,T,S,C,M,E,P,D,L,y,W,O,k,$,Le,Q,le]),Ct=We.staticSections,ue=We.rows,Ce=We.previewRows,Se=gr(()=>[...ue,...Ce],[Ce,ue]),A=!(Se.length>0)&&e.length===0&&!t,K=gr(()=>O||F||ce?Se:ue,[Se,F,ue,ce,O]),j=gr(()=>ce||gC(K,{viewportTop:F?Math.max(0,F.viewportTop):void 0,viewportHeight:F?Math.max(0,F.viewportHeight):void 0,start:void 0,end:void 0,viewportRows:de,scrollOffset:me,windowed:O}),[F,me,de,ce,O,K]),pe=gr(()=>ce||O||F?j:Se,[Se,F,j,ce,O]),Me=gr(()=>Se,[Se]),$e=F?Math.max(0,F.viewportHeight):de;return vC(()=>{Ee?.({scrollHeight:Se.length,viewportHeight:F?Math.max(0,F.viewportHeight):$e??Se.length})},[Se.length,$e,Ee,F]),vC(()=>{He?.({rows:pe,allRows:Me})},[Me,He,pe]),A?ve(R,{paddingY:1,children:ve(b,{dimColor:!0,children:"No messages yet. Start typing to begin."})}):ze(R,{flexDirection:"column",children:[!O&&Ct.length>0&&ve(Ts,{items:Ct,children:o(N=>ve(ih,{section:N,theme:it,animateSpinners:Z},N.key),"children")}),pe.map(N=>ve(RC,{row:N,theme:it,animateSpinners:Z,selectedItem:X?N.key.startsWith(`${X}-`):!1,selectionRange:fe?.get(N.key)},N.key))]})},"MessageList");var DL=o(({role:e,content:t})=>{let n=gr(()=>ne("dark"),[]),r={user:n.colors.primary,assistant:n.colors.secondary,system:n.colors.dim}[e];return ze(R,{flexDirection:"column",marginBottom:1,children:[ve(b,{color:r,bold:!0,children:e==="user"?">":e==="assistant"?"<":"#"}),ve(b,{children:t})]})},"SimpleMessageDisplay");import{jsx as ah,jsxs as Ed}from"react/jsx-runtime";import eP,{useMemo as ch}from"react";var NL="\u{1F504}",BL="\u2588",HL="\u2592",WL="\u2192",FL=" \xB7 ";function jL(e){switch(e){case"auto":return"auto";case"balanced":return"balanced";case"quick":return"quick";case"deep":return"deep";case"off":return"off";default:return e.toLowerCase()}}o(jL,"formatReasoningModeShort");function UL(e){switch(e){case"budget":case"B":return"B";case"effort":case"E":return"E";case"toggle":case"T":return"T";case"prompt":case"-":return"-";case"unknown":case"?":return"?";default:return e??""}}o(UL,"formatReasoningCapabilityShort");function GL(e){switch(e){case"off":return"dim";case"quick":return"green";case"balanced":return"yellow";case"deep":return"magenta";default:return"cyan"}}o(GL,"getReasoningColor");function kC(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}o(kC,"formatTokenCount");function VL(e){let t=Math.min(10,Math.max(0,Math.round(e/10))),n=10-t;return`${BL.repeat(t)}${HL.repeat(n)}`}o(VL,"createMiniProgressBar");function KL(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(KL,"getContextColor");function zL(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(zL,"getPermissionModeColor");function XL(e,t){let n=Oa(e);return!(e==="auto"||e==="auto-in-project")||!t?n:`${n}${t==="llm"?"[LLM]":"[RULES]"}`}o(XL,"buildPermissionModeText");function YL(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(YL,"formatToolAction");function qL(e){switch(e){case"H0_DIRECT":return"H0";case"H1_EXECUTE_EVAL":return"H1";case"H2_PLAN_EXECUTE_EVAL":return"H2";default:return e}}o(qL,"formatHarnessProfileShort");function vd(e,t){return t&&t>0?`${e} (${t} chars)`:e}o(vd,"formatThinkingStatus");function Rd(e,t,n){let r=YL(e);return n?`${r} (${n}...)`:t&&t>0?`${r} (${t} chars)`:r}o(Rd,"formatToolStatus");function sh({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 - ${Rd(t,s,a)}`:n?vd("Routing",r):"Routing";if(c==="preflight"){let h=d??"Scout";return m?`${h} - ${m}`:t?`${h} - ${Rd(t,s,a)}`:n?vd(h,r):h}if(c==="verifying")return"Verifying";if(l){let w=`${qL(l)}${d?` - ${d}`:""}`;if(f===!0&&!m&&!t&&!n){let T=p??0,S=T>1?`waiting for ${T} children`:T===1?"waiting for 1 child":"idle - resuming";return`${w} - ${S}`}return m?`${w} - ${m}`:t?`${w} - ${Rd(t,s,a)}`:n?vd(w,r):w}if(m)return m;if(t)return Rd(t,s,a);if(n)return vd("Thinking",r)}o(sh,"buildBusyStatusText");function QL({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(QL,"resolveIterationSegments");function JL(e){if(e.length!==0)return`${NL} ${e.map(t=>`${t.label} ${t.current}/${t.max}`).join(FL)}`}o(JL,"formatLabeledIterationStatus");function ZL(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",reasoningCapability:h,isCompacting:w,toolInputCharCount:T,toolInputContent:S,currentIteration:C,maxIter:M,contextUsage:E,showBusyStatus:P=!0,managedPhase:D,managedHarnessProfile:L,managedWorkerTitle:y,managedRound:W,managedMaxRounds:de,managedGlobalWorkBudget:xe,managedBudgetUsage:me,managedIdleWaiting:Z,managedIdleWaitingPendingCount:O}=e,k=[{id:"agent-mode",text:`KodaX - ${r.toUpperCase()}`,color:"primary",bold:!0},{id:"permission-mode",text:XL(n,e.autoModeEngine),color:zL(n)}],$=jL(m),Le=UL(h);k.push({id:"reasoning-mode",text:h?`${$}/${Le}`:$,color:GL(m)});let Q=QL({agentMode:r,managedPhase:D,managedHarnessProfile:L,managedRound:W,managedMaxRounds:de,managedGlobalWorkBudget:xe,managedBudgetUsage:me,currentIteration:C,maxIter:M}),X=JL(Q);if(X){let Ee=Math.max(...Q.map(F=>F.current/F.max)),He="green";Ee>=.8?He="red":Ee>=.5&&(He="yellow"),k.push({id:"iteration-status",text:X,color:He})}k.push({id:"session-id",text:t,color:"dim"});let le=P?sh({activeToolCount:l,currentTool:c,isThinkingActive:f,thinkingCharCount:p,isCompacting:w,toolInputCharCount:T,toolInputContent:S,managedPhase:D,managedHarnessProfile:L,managedWorkerTitle:y,managedIdleWaiting:Z,managedIdleWaitingPendingCount:O}):void 0;if(le&&k.push({id:"busy-status",text:le,color:"dim"}),k.push({id:"provider-model",text:`${i}/${s}`,color:"secondary"}),E&&E.contextWindow!==0){let Ee=Math.round(E.currentTokens/E.contextWindow*100),He=kC(E.currentTokens),F=kC(E.contextWindow),fe=VL(Ee);k.push({id:"context-usage",text:`${He}/${F} ${fe} ${Ee}%`,color:KL(E.currentTokens,E.contextWindow,E.triggerPercent)})}return a&&k.push({id:"token-usage",text:`${a.input}${WL}${a.output} (${a.total})`,color:"dim"}),k}o(ZL,"buildStatusBarSegments");function kd(e){let t=ZL(e);return{text:t.map(n=>n.text).join(" | "),segments:t}}o(kd,"buildStatusBarViewModel");function tP(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(tP,"resolveViewModelSegmentColor");var Ls=o(({viewModel:e,...t})=>{let n=ch(()=>ne("dark"),[]),r=ch(()=>e??kd(t),[t,e]);return ah(R,{paddingX:1,children:r.segments.map((i,s)=>Ed(eP.Fragment,{children:[ah(b,{color:tP(i,n),bold:i.bold,children:i.text}),s<r.segments.length-1?ah(b,{dimColor:!0,children:" | "}):null]},i.id))})},"StatusBar"),nP=o(({permissionMode:e,provider:t,model:n})=>{let r=ch(()=>ne("dark"),[]);return Ed(R,{children:[Ed(b,{color:r.colors.primary,bold:!0,children:["[",e,"]"]}),Ed(b,{dimColor:!0,children:[" ",t,"/",n]})]})},"SimpleStatusBar");import{jsx as mo,jsxs as _d}from"react/jsx-runtime";import{useState as lh,useCallback as Md,useMemo as EC}from"react";function Ad(){return`${Date.now()}-${Math.random().toString(36).slice(2,9)}`}o(Ad,"generateId");function rP(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(rP,"messageToHistoryItem");var oP=o(({model:e,provider:t,onSubmit:n,permissionMode:r="accept-edits",agentMode:i="ama"})=>{let{stdout:s}=pr(),a=EC(()=>ne("dark"),[]),[c,l]=lh({messages:[],isLoading:!1,sessionId:Ad()}),[d,f]=lh(null),[p,m]=lh(),h=Md(async C=>{if(!C.trim())return;let M={id:Ad(),role:"user",content:C,timestamp:Date.now()};l(E=>({...E,messages:[...E.messages,M],isLoading:!0}));try{await n(C)}catch(E){let P={id:Ad(),role:"system",content:`Error: ${E instanceof Error?E.message:"Unknown error"}`,timestamp:Date.now()};l(D=>({...D,messages:[...D.messages,P],isLoading:!1}))}finally{l(E=>({...E,isLoading:!1}))}},[n]),w=Md((C,M)=>{let E={id:Ad(),role:C,content:M,timestamp:Date.now()};l(P=>({...P,messages:[...P.messages,E]}))},[]),T=Md((C,M)=>{f({input:C,output:M,total:C+M})},[]),S=Md(C=>{m(C)},[]);return _d(R,{flexDirection:"column",children:[mo(R,{flexGrow:1,flexDirection:"column",overflow:"hidden",children:mo(ni,{items:c.messages.map(rP),isLoading:c.isLoading})}),mo(R,{flexShrink:0,children:mo(Rs,{onSubmit:o(C=>h(C.fullText),"onSubmit"),prompt:">",focus:!c.isLoading})}),mo(R,{flexShrink:0,children:mo(Ls,{sessionId:c.sessionId,permissionMode:r,agentMode:i,provider:t,model:e,tokenUsage:d??void 0,currentTool:p})})]})},"App"),iP=o(({model:e,provider:t,onInput:n})=>{let r=EC(()=>ne("dark"),[]);return _d(R,{flexDirection:"column",children:[_d(R,{marginBottom:1,children:[mo(b,{color:r.colors.primary,bold:!0,children:"KodaX CLI"}),_d(b,{dimColor:!0,children:[" ","- ",t,"/",e]})]}),mo(Rs,{onSubmit:o(i=>n(i.fullText),"onSubmit"),placeholder:"Type a message...",prompt:">"})]})},"SimpleApp");import{jsx as sP}from"react/jsx-runtime";var uh=o(({top:e,topRows:t=0,transcript:n,renderTranscriptWindow:r,footer:i,overlay:s,stickyHeader:a,jumpToLatest:c,width:l,scrollTop:d=0,scrollHeight:f=0,viewportHeight:p=0,stickyScroll:m=!0,scrollRef:h,onScrollTopChange:w,onStickyChange:T,onWindowChange:S,overscanRows:C})=>sP(Pm,{width:l,top:e,topRows:t,stickyHeader:a,jumpToLatest:c,scrollable:n,renderScrollableWindow:r,overlay:s,bottom:i,scrollTop:d,scrollHeight:f,viewportHeight:p,stickyScroll:m,scrollRef:h,onScrollTopChange:w,onStickyChange:T,onWindowChange:S,overscanRows:C}),"FullscreenTranscriptLayout");import{jsx as MC}from"react/jsx-runtime";function Ps({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(Ps,"buildMessageActionsText");var dh=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=Ps({copyMessage:e,copyToolInput:t,copyOnSelect:n,toggleDetail:r,selectionNavigation:i,matchNavigation:s,dismissAction:a});return l?MC(R,{paddingX:1,children:MC(b,{color:c.colors.dim,children:l})}):null},"MessageActions");import{jsx as AC}from"react/jsx-runtime";function fh({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(fh,"buildMessageSelectorText");var aP=o(({itemSummary:e,itemKind:t,position:n,detailState:r="compact"})=>{let i=ne("dark"),s=fh({itemSummary:e,itemKind:t,position:n,detailState:r});return s?AC(R,{paddingX:1,children:AC(b,{color:i.colors.dim,children:s})}):null},"MessageSelector");import{jsx as $s,jsxs as cP}from"react/jsx-runtime";import{useMemo as _C}from"react";function Ld(e,t){return Math.max(1,dn(e.length>0?e.split(`
62
+ `):[""],Math.max(1,t),0,0).visualLines.length)}o(Ld,"countWrappedRows");var ph=o(({browse:e,selection:t,search:n,chromeMode:r="inline",...i})=>{let s=r==="inline",a=t?.itemSummary,c=t?.position,l=t?.itemKind,d=t?.detailState??"compact",f=t?.copyCapabilities,p=f?.message??!1,m=f?.toolInput??!1,h=f?.copyOnSelect??!1,w=t?.toggleDetail??!1,T=t?.navigationCapabilities?.selection??!1,S=n?.statusText,C=n?.matches?.length??0,M=n?.surface,E=i.viewportWidth??80,P=Math.max(1,E-2),D=n?.query?.trim()?"close-search":a||p||m||w||T?"clear":void 0,L=fh({itemSummary:a,itemKind:l,position:c,detailState:d}),y=_C(()=>Ps({copyMessage:p,copyToolInput:m,copyOnSelect:h,toggleDetail:w,selectionNavigation:T,matchNavigation:!!S&&C>0,dismissAction:D}),[p,m,T,w,D,C,S,h]),W=_C(()=>{if(!s)return 0;let xe=0;return e?.hintText&&(xe+=Ld(e.hintText,P)),L&&(xe+=Ld(L,P)),y&&(xe+=Ld(y,P)),S&&(xe+=Ld(S,P)),M&&(xe+=1),xe},[y,e?.hintText,P,s,S,M,L]),de=typeof i.viewportRows=="number"?Math.max(1,i.viewportRows-W):i.viewportRows;return cP(R,{flexDirection:"column",flexGrow:i.windowed?0:1,children:[s&&e?.hintText?$s(R,{paddingX:1,children:$s(b,{dimColor:!0,children:e.hintText})}):null,null,s&&(p||m||h||w||T||C>0)?$s(dh,{copyMessage:p,copyToolInput:m,copyOnSelect:h,toggleDetail:w,selectionNavigation:T,matchNavigation:!!S&&C>0,dismissAction:D}):null,s&&S?$s(R,{paddingX:1,children:$s(b,{dimColor:!0,children:S})}):null,s?M:null,$s(ni,{...i,viewportRows:de})]})},"TranscriptViewport");import{jsx as LC}from"react/jsx-runtime";var mh=o(e=>LC(R,{flexDirection:"column",children:LC(Rs,{...e})}),"PromptComposer");import{jsx as ri,jsxs as Pd}from"react/jsx-runtime";import PC from"react";var $C=" \xB7 ",$d=o(({items:e=[]})=>{let t=e.filter(r=>r.label.trim().length>0),n=ne("dark");return t.length===0?null:ri(R,{flexGrow:1,children:t.map((r,i)=>Pd(PC.Fragment,{children:[ri(b,{color:r.accent?n.colors.accent:n.colors.dim,bold:r.accent,children:r.label}),i<t.length-1?ri(b,{dimColor:!0,children:$C}):null]},r.id))})},"PromptFooterLeftSide"),Od=o(({items:e=[]})=>{let t=e.filter(r=>r.label.trim().length>0),n=ne("dark");return t.length===0?null:ri(R,{justifyContent:"flex-end",children:t.map((r,i)=>Pd(PC.Fragment,{children:[ri(b,{color:r.accent?n.colors.primary:n.colors.dim,bold:r.accent,children:r.label}),i<t.length-1?ri(b,{dimColor:!0,children:$C}):null]},r.id))})},"PromptFooterRightSide"),Dd=o(({left:e,right:t,queued:n,stashNotice:r,notifications:i,inlineNotices:s,activityBar:a,todoSurface:c,composer:l,inlineSuggestions:d,helpSurface:f,taskBar:p,statusLine:m,inlineDialogs:h})=>Pd(R,{flexDirection:"column",children:[e||t?Pd(R,{paddingX:1,children:[ri(R,{flexGrow:1,children:e}),t]}):null,n,r,i,s,a,c,l,d,h,f,p,m]}),"PromptFooter");import{jsx as hh,jsxs as OC}from"react/jsx-runtime";var gh=o(({sections:e,title:t="Help"})=>{let n=ne("dark"),r=e.filter(i=>i.items.length>0);return r.length===0?null:OC(R,{flexDirection:"column",borderStyle:"round",borderColor:n.colors.accent,paddingX:1,marginTop:1,children:[hh(b,{color:n.colors.accent,bold:!0,children:t}),r.map(i=>OC(R,{flexDirection:"column",children:[hh(b,{color:n.colors.primary,bold:!0,children:i.title}),hh(b,{dimColor:!0,children:i.items.map(s=>s.label).join(" | ")})]},i.id))]})},"PromptHelpMenu");import{jsx as DC}from"react/jsx-runtime";import{createContext as BC,useContext as HC,useReducer as lP,useCallback as Ut,useMemo as uP}from"react";var dP=150;function Bd(){return`${Date.now()}-${Math.random().toString(36).slice(2,9)}`}o(Bd,"generateId");function Nd(e){return{...e,id:Bd(),timestamp:Date.now()}}o(Nd,"createHistoryItem");function NC(e){if(e.length<=dP)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(NC,"trimHistoryToRounds");function yh(e,t){return e.filter(n=>n.type==="user"&&typeof n.id=="string"&&!t.has(n.id))}o(yh,"selectUncommittedLedgerUserItems");function xh(e){return{...e,id:Bd(),startTime:Date.now()}}o(xh,"createToolCall");function fP(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:NC([...e.history,t.payload])};case"BULK_ADD_HISTORY_ITEMS":return{...e,history:NC([...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{...Op,sessionId:e.sessionId};default:return e}}o(fP,"uiReducer");var WC=BC(null),FC=BC(null);function Hd({children:e,initialState:t}){let[n,r]=lP(fP,{...Op,...t}),i=Ut(L=>{r({type:"SET_STREAMING_STATE",payload:L})},[]),s=Ut(L=>{r({type:"APPEND_TO_RESPONSE",payload:L})},[]),a=Ut(()=>{r({type:"CLEAR_RESPONSE"})},[]),c=Ut(L=>{let y=Nd(L);r({type:"ADD_HISTORY_ITEM",payload:y})},[]),l=Ut(L=>{L.length!==0&&r({type:"BULK_ADD_HISTORY_ITEMS",payload:L.map(Nd)})},[]),d=Ut((L,y)=>{r({type:"UPDATE_HISTORY_ITEM",payload:{id:L,updates:y}})},[]),f=Ut(()=>{r({type:"CLEAR_HISTORY"})},[]),p=Ut(L=>{let y=xh(L);return r({type:"ADD_TOOL_CALL",payload:y}),y.id},[]),m=Ut((L,y)=>{r({type:"UPDATE_TOOL_CALL",payload:{id:L,updates:y}})},[]),h=Ut(()=>{r({type:"CLEAR_TOOL_CALLS"})},[]),w=Ut(L=>{r({type:"SET_SESSION_ID",payload:L})},[]),T=Ut(L=>{r({type:"SET_MODE",payload:L})},[]),S=Ut(L=>{r({type:"SET_PROVIDER",payload:L})},[]),C=Ut(L=>{r({type:"SET_MODEL",payload:L})},[]),M=Ut(L=>{r({type:"SET_TOKEN_USAGE",payload:L})},[]),E=Ut(L=>{r({type:"SET_ERROR",payload:L})},[]),P=Ut(L=>{r({type:"SET_LOADING",payload:L})},[]),D=uP(()=>({setStreamingState:i,appendToResponse:s,clearResponse:a,addHistoryItem:c,addHistoryItems:l,updateHistoryItem:d,clearHistory:f,addToolCall:p,updateToolCall:m,clearToolCalls:h,setSessionId:w,setMode:T,setProvider:S,setModel:C,setTokenUsage:M,setError:E,setLoading:P}),[i,s,a,c,l,d,f,p,m,h,w,T,S,C,M,E,P]);return DC(WC.Provider,{value:n,children:DC(FC.Provider,{value:D,children:e})})}o(Hd,"UIStateProvider");function Sc(){let e=HC(WC);if(!e)throw new Error("useUIState must be used within a UIStateProvider");return e}o(Sc,"useUIState");function wc(){let e=HC(FC);if(!e)throw new Error("useUIActions must be used within a UIStateProvider");return e}o(wc,"useUIActions");function jC(){let e=Sc(),t=wc();return{state:e,actions:t}}o(jC,"useUI");function Sh(){return ne()}o(Sh,"useTheme");import{jsxs as ho,jsx as Wd,Fragment as pP}from"react/jsx-runtime";import{useMemo as mP}from"react";var hP=80,gP=7,yP={command:">",file:"\u{1F4C4}",history:"\u23F1",argument:"\u2022",snippet:"\u25C7",skill:"\u2605"};function xP(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(xP,"getVisibleRange");function SP({suggestion:e,isSelected:t,width:n}){let r=Sh(),i=e.icon||e.type&&yP[e.type]||"",s=i?ur(i)+1:0,a=ur(e.displayText||e.text),c=e.description?ur(e.description):0,l=Math.min(a,n-s-2),d=n-s-l-3,f=Math.max(0,d),p=za(e.displayText||e.text,l),m=e.description?za(e.description,f):"";return ho(R,{children:[i&&ho(b,{color:t?r.colors.accent:r.colors.dim,children:[i," "]}),Wd(b,{color:t?r.colors.primary:r.colors.text,bold:t,children:p}),m&&ho(pP,{children:[Wd(b,{children:" "}),Wd(b,{color:r.colors.dim,children:za(e.description||"",f)})]}),t&&ho(b,{color:r.colors.accent,children:[" ","\u25C0"]})]})}o(SP,"SuggestionItem");function Fd({suggestions:e,selectedIndex:t,visible:n,maxVisible:r=gP,width:i=hP,showCount:s=!1}){let a=Sh();if(!n||e.length===0)return null;let{start:c,end:l}=mP(()=>xP(t,e.length,r),[t,e.length,r]),d=e.slice(c,l);return ho(R,{flexDirection:"column",marginLeft:2,children:[c>0&&ho(b,{color:a.colors.dim,children:[" ","\u25B2 ",c," more..."]}),d.map((f,p)=>{let h=c+p===t;return Wd(SP,{suggestion:f,isSelected:h,width:i},f.id)}),l<e.length&&ho(b,{color:a.colors.dim,children:[" ","\u25BC ",e.length-l," more..."]}),s&&ho(b,{color:a.colors.dim,children:[t+1,"/",e.length]})]})}o(Fd,"SuggestionsDisplay");import{jsx as Os,jsxs as wP}from"react/jsx-runtime";var wh=o(({reserveSpace:e,width:t,hidden:n=!1,mode:r="inline"})=>{let i=Zo(),s=ne("dark");if(n)return null;if(!i)return e?Os(R,{height:8}):null;let{state:a,suggestions:c}=i;return a.visible&&c.length>0?r==="overlay"?wP(R,{flexDirection:"column",borderStyle:"round",borderColor:s.colors.accent,paddingX:1,marginTop:1,children:[Os(b,{color:s.colors.accent,bold:!0,children:"Suggestions"}),Os(Fd,{suggestions:c,selectedIndex:a.selectedIndex,visible:a.visible,maxVisible:7,width:Math.max(20,t-6)})]}):Os(R,{height:8,children:Os(Fd,{suggestions:c,selectedIndex:a.selectedIndex,visible:a.visible,maxVisible:7,width:Math.max(20,t-2)})}):e?Os(R,{height:8}):null},"PromptSuggestionsSurface");import{jsxs as qn,jsx as Hn,Fragment as Th}from"react/jsx-runtime";import TP,{useEffect as CP,useState as bP}from"react";var Ds=15,UC=Math.max(1,Ds-2),Ch=o(({confirm:e,request:t})=>e?qn(R,{flexDirection:"column",borderStyle:"round",borderColor:"yellow",paddingX:1,marginTop:1,width:"100%",children:[qn(b,{color:"yellow",bold:!0,children:[oe("dialog.confirm")," ",e.prompt]}),e.planContent?Hn(IP,{content:e.planContent}):null,e.instruction?Hn(b,{dimColor:!0,children:e.instruction}):null]}):t?qn(R,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,marginTop:1,width:"100%",children:[t.kind==="select"?qn(Th,{children:[qn(b,{color:"cyan",bold:!0,children:[oe("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 qn(Th,{children:[c>0?Hn(b,{dimColor:!0,children:oe("select.more_above",{count:c})}):null,n.slice(a,a+r).map((d,f)=>{let p=a+f,m=p===i,h=t.selectedIndices?.includes(p)??!1,w=m?"\u276F ":" ",T=h?" \u2713":"",S=d.description?` - ${d.description}`:"";return Hn(b,{color:m?"cyan":void 0,dimColor:!m,children:`${w}${d.label}${S}${T}`},`${d.value}-${p}`)}),l>0?Hn(b,{dimColor:!0,children:oe("select.more_below",{count:l})}):null]})})(),Hn(b,{dimColor:!0,children:t.multiSelect?oe("select.multiselect_hint"):oe("select.navigate_hint")})]}):qn(Th,{children:[qn(b,{color:"cyan",bold:!0,children:[oe("dialog.input")," ",t.prompt]}),t.defaultValue!==void 0?Hn(b,{dimColor:!0,children:`${oe("input.default")} ${t.defaultValue}`}):null,Hn(b,{dimColor:!0,children:`${oe("input.value")} ${t.buffer||oe("input.type_response")}`}),Hn(b,{dimColor:!0,children:oe("select.confirm_hint")})]}),t.error?Hn(b,{color:"red",children:t.error}):null]}):null,"DialogSurface"),IP=o(({content:e})=>{let t=TP.useMemo(()=>e.split(`
63
+ `),[e]),n=t.length,r=n>Ds,[i,s]=bP(0);CP(()=>{s(d=>{let f=Math.max(0,n-Ds);return d>f?f:d})},[n]),Qu((d,f)=>{if(!r)return;let p=Math.max(0,n-Ds);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-UC)):f.pageDown&&s(m=>Math.min(p,m+UC))},{isActive:!0});let a=t.slice(i,i+Ds),c=i,l=Math.max(0,n-i-Ds);return qn(R,{flexDirection:"column",marginTop:1,children:[r&&c>0?qn(b,{dimColor:!0,children:["\u2026 ",c," more line",c===1?"":"s"," above"]}):null,a.map((d,f)=>Hn(b,{children:d},`plan-line-${i+f}`)),r&&l>0?qn(b,{dimColor:!0,children:["\u2026 ",l," more line",l===1?"":"s"," below"]}):null,r?Hn(b,{dimColor:!0,children:"PgUp/PgDn/\u2191\u2193 to scroll"}):null]})},"PlanScrollPanel");import{jsxs as Tc,jsx as vP}from"react/jsx-runtime";function GC(e){let t=e.replace(/\s+/g," ").trim();return t.length<=72?t:`${t.slice(0,69)}...`}o(GC,"normalizePendingPreview");function VC(e){if(e.length===0)return;let t=GC(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(VC,"formatPendingInputsSummary");function bh(e){if(e.length===0)return[];let t=e.length;return e.map((n,r)=>({index:r+1,total:t,preview:GC(n)}))}o(bh,"formatPendingInputsLines");function KC(e){let t=bh(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(KC,"formatPendingInputsBudgetText");var Ih=o(({pendingInputs:e})=>{let t=bh(e);if(t.length===0)return null;let n=ne("dark");return Tc(R,{flexDirection:"column",children:[t.map(r=>Tc(R,{children:[Tc(b,{color:n.colors.hint,children:["\u23F3"," "]}),Tc(b,{color:n.colors.dim,children:["[",r.index,"/",r.total,"] ",r.preview]})]},r.index)),vP(R,{children:Tc(b,{color:n.colors.dim,children:[" ","\u2191 pull all into editor \xB7 Esc drops latest"]})})]})},"QueuedCommandsSurface");import{jsx as zC}from"react/jsx-runtime";function RP(e,t){switch(e){case"warning":return t.warning;case"accent":return t.accent;default:return t.dim}}o(RP,"resolveNotificationColor");var jd=o(({notifications:e})=>{let t=e.filter(r=>r.text.trim().length>0),n=ne("dark");return t.length===0?null:zC(R,{flexDirection:"column",paddingX:1,children:t.map(r=>zC(b,{color:RP(r.tone,n.colors),children:r.text},r.id))})},"NotificationsSurface");import{jsx as XC}from"react/jsx-runtime";var vh=o(({notices:e})=>{let t=e.filter(r=>r.trim().length>0);if(t.length===0)return null;let n=ne("dark");return XC(R,{flexDirection:"column",paddingX:1,children:t.map((r,i)=>XC(b,{color:n.colors.dim,children:r},`${r}-${i}`))})},"StatusNoticesSurface");import{jsxs as YC,jsx as kP}from"react/jsx-runtime";var Ud=o(({text:e})=>{let t=e?.trim();if(!t)return null;let n=ne("dark");return YC(R,{paddingX:1,children:[YC(b,{color:n.colors.hint,children:["\u22EF"," "]}),kP(b,{color:n.colors.dim,children:t})]})},"StashNotice");import{jsx as oi,jsxs as EP}from"react/jsx-runtime";function qC({text:e,accent:t=!1,selected:n=!1}){let r=ne("dark");return oi(R,{marginRight:1,children:oi(b,{color:t?r.colors.accent:r.colors.primary,bold:n||t,children:`[ ${e} ]`})})}o(qC,"Pill");var Gd=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:EP(R,{flexDirection:"row",paddingX:1,children:[r?oi(R,{marginRight:1,children:oi(Bn,{})}):null,i.map(s=>oi(qC,{text:s.hint?`${s.label} (${s.hint})`:s.label,accent:s.accent,selected:s.selected},s.id)),t?oi(qC,{text:t}):null,n?oi(b,{dimColor:!0,children:n}):null]})},"BackgroundTaskBar");import{jsx as Cc,jsxs as PP}from"react/jsx-runtime";import MP from"string-width";var Rh=9,kh=3,QC=160,AP={shouldRender:!1,activeCount:0,rows:[]};function JC(e,t=Rh){let n=MP(e);return n>=t?e:`${e}${" ".repeat(t-n)}`}o(JC,"padChildActivitySymbol");function Eh(e){let t=e.replace(/\s+/gu," ").trim();return t.length<=QC?t:`${t.slice(0,QC-3)}...`}o(Eh,"truncateChildActivityDetail");function Vd(e){return!!(e?.liveOnly===!0&&(e.workflowCorrelation||e.childAgentId))}o(Vd,"shouldRouteToChildActivity");function ZC(e,t){return!!(e?.liveOnly===!0&&e.workflowCorrelation?.workflowRunId&&t&&e.workflowCorrelation.workflowRunId===t)}o(ZC,"shouldRouteWorkflowLiveOnlyNotice");function eb(e){return!e.isTranscriptMode&&e.childActivityVisible&&(e.isLoading||e.hasWorkflowLiveSurface)}o(eb,"shouldShowChildActivitySurface");function Mh(e){let t=e.childAgentId??e.workflowCorrelation?.childAgentId??"child",n=e.workflowCorrelation?.workflowRunId;return n?`${n}:${t}`:t}o(Mh,"childActivityId");function tb(e){return e.childAgentName??e.childAgentId??e.workflowCorrelation?.childAgentId??"child"}o(tb,"childActivityLabel");function nb(e){return e.workflowCorrelation?"workflow":"normal"}o(nb,"childActivitySource");function rb(e,t){let n=t?.path??t?.pattern??t?.command??t?.preview,r=typeof n=="string"&&n.trim().length>0?` ${n}`:"";return Eh(`${e}${r}`)}o(rb,"toolActivityDetail");function _P(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(_P,"kindLabel");function LP(e){let t=e.label.trim()||"child",n=e.detail.trim(),r=n.length>0?`: ${n}`:"";return`${t} - ${_P(e.kind)}${r}`}o(LP,"rowText");function ob(e,t=kh){let n=e.filter(l=>l.status==="running");if(n.length===0)return AP;let r=Math.max(1,Math.floor(t)),i=[],s=n.length>r&&r>1?r-1:r,a=n.slice(0,s);for(let l of a)i.push({kind:"activity",id:l.id,symbol:l.source==="workflow"?"agent":"child",symbolColor:"cyan",text:LP(l),isActive:!0});let c=n.length-a.length;return c>0&&i.length<r&&i.push({kind:"summary",id:"children-more",symbol:"more",symbolColor:"dim",text:`${c} more active`,isActive:!1}),{shouldRender:!0,activeCount:n.length,rows:i.slice(0,r)}}o(ob,"buildChildActivityViewModel");var ib=Rh;function $P(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($P,"resolveSymbolColor");var OP=o(({row:e})=>{let t=$P(e.symbolColor);return PP(R,{flexDirection:"row",children:[Cc(R,{width:ib,flexShrink:0,children:Cc(b,{color:t,bold:e.isActive,wrap:"truncate",children:JC(e.symbol,ib)})}),Cc(b,{color:e.kind==="summary"?ne("dark").colors.dim:void 0,bold:e.isActive,wrap:"truncate",children:e.text})]})},"ChildActivityRowView");function Ah(e){return!e.shouldRender||e.rows.length===0?0:e.rows.length}o(Ah,"measureChildActivitySurfaceRows");var _h=o(({viewModel:e})=>!e.shouldRender||e.rows.length===0?null:Cc(R,{flexDirection:"column",flexGrow:1,children:e.rows.map(t=>Cc(OP,{row:t},`${t.kind}-${t.id}`))}),"ChildActivitySurface");import sb,{createContext as cb,useContext as lb,useReducer as DP,useCallback as qe,useRef as NP,useEffect as ab}from"react";function BP(e){return e.agentId===void 0&&e.priority==="user"&&e.mode==="prompt"}o(BP,"isMainThreadPrompt");function $h(){return Ln().getSnapshot().filter(BP)}o($h,"getMainThreadPrompts");function Lh(){return $h().map(e=>e.content)}o(Lh,"getMainThreadPromptContents");var Ph={state:ar.Idle,currentResponse:"",error:void 0,abortController:void 0,isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentTool:void 0,toolInputCharCount:0,toolInputContent:"",iterationHistory:[],currentIteration:1,maxIter:200,isCompacting:!1,pendingInputs:[],roundStartedAt:null};function Oh(){let e={...Ph,pendingInputs:Lh()},t=new Set,n="",r="",i=0,s=null,a=!1,c=80,l=o(()=>{for(let w of t)w(e)},"notify"),d=o(()=>{let w=Lh();if(w.length===e.pendingInputs.length){let T=!0;for(let S=0;S<w.length;S++)if(w[S]!==e.pendingInputs[S]){T=!1;break}if(T)return}e={...e,pendingInputs:w},l()},"syncReactStateFromQueue"),f=Ln().subscribe(()=>{d()}),p=o(()=>Ln().dequeue({maxPriority:"user",mode:"prompt"}).map(T=>T.content),"drainOurSlice"),m=o(()=>{if(s&&(clearTimeout(s),s=null),n||r||i>0){let T=e.thinkingContent+r,S=r?T.length:e.thinkingCharCount+i;e={...e,currentResponse:e.currentResponse+n,thinkingContent:T,thinkingCharCount:S,...r||i>0?{isThinking:!0}:{}},n="",r="",i=0,l()}},"flushPendingUpdates"),h=o(()=>{s||(s=setTimeout(m,c))},"scheduleFlush");return{getState:o(()=>e,"getState"),setState:o(w=>{m(),e={...e,state:w},l()},"setState"),startStreaming:o(()=>{a=!1,n="",r="",i=0,s&&(clearTimeout(s),s=null),e={...e,state:ar.Responding,currentResponse:"",abortController:new AbortController,error:void 0,roundStartedAt:Date.now()},l()},"startStreaming"),stopStreaming:o(()=>{m(),e={...e,state:ar.Idle,abortController:void 0,roundStartedAt:null},l()},"stopStreaming"),appendResponse:o(w=>{a||(n+=w,h())},"appendResponse"),clearResponse:o(()=>{m(),e={...e,currentResponse:""},l()},"clearResponse"),setError:o(w=>{m(),e={...e,error:w,state:w?ar.Idle:e.state},l()},"setError"),abort:o(w=>{a=!0,m(),e.abortController?.abort(),n="",r="",i=0,s&&(clearTimeout(s),s=null),w?.preservePendingInputs||p(),e={...e,state:ar.Idle,abortController:void 0,roundStartedAt:null},l()},"abort"),reset:o(()=>{a=!0,m(),e.abortController?.abort(),n="",r="",i=0,s&&(clearTimeout(s),s=null),p(),e={...Ph,pendingInputs:Lh()},a=!1,l()},"reset"),isStreaming:o(()=>e.state===ar.Responding||e.state===ar.WaitingForConfirmation,"isStreaming"),subscribe:o(w=>(t.add(w),()=>{t.delete(w)}),"subscribe"),startThinking:o(()=>{m(),e={...e,isThinking:!0,thinkingCharCount:0,thinkingContent:""},l()},"startThinking"),appendThinkingChars:o(w=>{a||(i+=w,h())},"appendThinkingChars"),appendThinkingContent:o(w=>{a||(r+=w,h())},"appendThinkingContent"),stopThinking:o(()=>{m(),e={...e,isThinking:!1,thinkingCharCount:0},l()},"stopThinking"),clearThinkingContent:o(()=>{m(),e={...e,isThinking:!1,thinkingCharCount:0,thinkingContent:""},l()},"clearThinkingContent"),setCurrentTool:o(w=>{m(),e={...e,currentTool:w,toolInputCharCount:0,toolInputContent:""},l()},"setCurrentTool"),appendToolInputChars:o(w=>{e={...e,toolInputCharCount:e.toolInputCharCount+w},l()},"appendToolInputChars"),appendToolInputContent:o(w=>{e.toolInputContent.length<240&&(e={...e,toolInputContent:(e.toolInputContent+w).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(w=>{m(),e.thinkingContent||e.currentResponse?e={...e,thinkingContent:"",thinkingCharCount:0,currentResponse:"",isThinking:!1,currentTool:void 0,toolInputCharCount:0,toolInputContent:"",currentIteration:w}:e={...e,currentIteration:w},l()},"startNewIteration"),clearIterationHistory:o(()=>{m(),e={...e,iterationHistory:[],currentIteration:1,maxIter:Ph.maxIter,thinkingContent:"",thinkingCharCount:0,currentResponse:"",currentTool:void 0,toolInputCharCount:0,toolInputContent:""},l()},"clearIterationHistory"),setMaxIter:o(w=>{m(),e={...e,maxIter:w},l()},"setMaxIter"),startCompacting:o(()=>{m(),e={...e,isCompacting:!0},l()},"startCompacting"),stopCompacting:o(()=>{m(),e={...e,isCompacting:!1},l()},"stopCompacting"),addPendingInput:o(w=>{let T=w.trim();T&&($h().length>=5||(m(),Ln().enqueue({priority:"user",mode:"prompt",content:T})))},"addPendingInput"),removeLastPendingInput:o(()=>{let w=$h(),T=w[w.length-1];T&&(m(),Ln().dequeue({maxPriority:"user",mode:"prompt",id:T.id}))},"removeLastPendingInput"),shiftPendingInput:o(()=>(m(),Ln().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(Oh,"createStreamingManager");var ub=cb(null),db=cb(null);function Kd({children:e,onStateChange:t}){let n=NP(Oh()),[,r]=DP(X=>X+1,0);ab(()=>n.current.subscribe(le=>{r(),t?.(le)}),[t]),ab(()=>{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)},[]),h=qe(X=>{n.current.appendThinkingContent(X)},[]),w=qe(()=>{n.current.stopThinking()},[]),T=qe(()=>{n.current.clearThinkingContent()},[]),S=qe(X=>{n.current.setCurrentTool(X)},[]),C=qe(X=>{n.current.appendToolInputChars(X)},[]),M=qe(X=>{n.current.appendToolInputContent(X)},[]),E=qe(()=>{n.current.clearToolInputContent()},[]),P=qe(()=>n.current.getSignal(),[]),D=qe(()=>n.current.getFullResponse(),[]),L=qe(()=>n.current.getThinkingContent(),[]),y=qe(X=>{n.current.startNewIteration(X)},[]),W=qe(()=>{n.current.clearIterationHistory()},[]),de=qe(X=>{n.current.setMaxIter(X)},[]),xe=qe(()=>{n.current.startCompacting()},[]),me=qe(()=>{n.current.stopCompacting()},[]),Z=qe(X=>{n.current.addPendingInput(X)},[]),O=qe(()=>{n.current.removeLastPendingInput()},[]),k=qe(()=>n.current.shiftPendingInput(),[]),$=qe(()=>{n.current.clearPendingInputs()},[]),Le=qe(()=>n.current.consumePendingInputs(),[]),Q={startStreaming:i,stopStreaming:s,appendResponse:a,clearResponse:c,setError:l,abort:d,reset:f,startThinking:p,appendThinkingChars:m,appendThinkingContent:h,stopThinking:w,clearThinkingContent:T,setCurrentTool:S,appendToolInputChars:C,appendToolInputContent:M,clearToolInputContent:E,getSignal:P,getFullResponse:D,getThinkingContent:L,startNewIteration:y,clearIterationHistory:W,setMaxIter:de,startCompacting:xe,stopCompacting:me,addPendingInput:Z,removeLastPendingInput:O,shiftPendingInput:k,clearPendingInputs:$,consumePendingInputs:Le};return sb.createElement(ub.Provider,{value:n.current.getState()},sb.createElement(db.Provider,{value:Q},e))}o(Kd,"StreamingProvider");function Ic(){let e=lb(ub);if(!e)throw new Error("useStreamingState must be used within a StreamingProvider");return e}o(Ic,"useStreamingState");function vc(){let e=lb(db);if(!e)throw new Error("useStreamingActions must be used within a StreamingProvider");return e}o(vc,"useStreamingActions");function fb(){let e=Ic(),t=vc(),n=e.state===ar.Responding||e.state===ar.WaitingForConfirmation;return{state:e,actions:t,isStreaming:n}}o(fb,"useStreaming");import{useCallback as HP,useRef as WP}from"react";var FP=500;function jP(e={}){let{onKey:t,onEsc:n,onCtrlC:r,enabled:i=!0}=e,s=WP(0),{exit:a}=lo(),c=HP(l=>{if(!i)return!1;if(l.name==="escape"){let d=Date.now(),f=d-s.current<FP;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 kn(c,{isActive:i}),{lastEscTime:s.current}}o(jP,"useKeypress");function UP(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(UP,"createKeyMatcher");import{useCallback as GP,useSyncExternalStore as VP}from"react";function KP(e){return e.agentId===void 0&&e.priority==="user"&&e.mode==="prompt"}o(KP,"isMainThreadPrompt");var Dh=null,zd=Object.freeze([]);function pb(){let e=Ln().getSnapshot();return e===Dh||(Dh=e,zd=Object.freeze(e.filter(KP))),zd}o(pb,"getQueueSliceSnapshot");function mb(){let e=GP(t=>Ln().subscribe(t),[]);return VP(e,pb,pb)}o(mb,"useQueuedPrompts");function zP(){return mb().map(t=>t.content)}o(zP,"useQueuedPromptContents");function XP(){Dh=null,zd=Object.freeze([])}o(XP,"_resetQueuedPromptsCacheForTests");async function Rc(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??ii(),title:"",gitRoot:e.gitRoot,runtimeInfo:e.runtimeInfo,createdAt:new Date().toISOString(),lastAccessed:new Date().toISOString()}}o(Rc,"createInteractiveContext");function ii(){let e=new Date,t=e.toISOString().split("T")[0].replace(/-/g,""),n=e.toTimeString().split(" ")[0].replace(/:/g,"");return`${t}_${n}`}o(ii,"generateSessionId");function yr(e){e.lastAccessed=new Date().toISOString()}o(yr,"touchContext");async function kc(e){let t=await oS({userKodaxDir:Xx(),projectRoot:e.projectRoot}),n;return{getGuardrail:o(()=>n||(n=iS({rules:t.merged,claudeMd:Yx(e.getAgentsFiles()),getToolProjection:o(i=>(nu(i)??Jx(i))?.toClassifierInput,"getToolProjection"),resolveProvider:o(i=>{try{return La(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}),n),"getGuardrail"),rulesLoadResult:t}}o(kc,"bootstrapAutoMode");var Ns=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:qt(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=Ki(i.lineage,n,r);if(!s)return null;let a={...structuredClone(i),messages:$t(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=zi(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=qi(i.lineage,n);if(!s)return null;let a=r?.sessionId??await Vi(),c={messages:$t(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??Xi(r.lineage);if(!i)return null;let s=Yi(r.lineage,i);if(!s)return null;let a={...r,messages:$t(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?No(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 YP(){return new Ns}o(YP,"createMemorySessionStorage");import*as hb from"child_process";import*as gb from"util";import Xd from"chalk";var qP=gb.promisify(hb.exec),QP={maxBuffer:1024*1024,timeout:3e4,maxOutputLength:8e3,maxErrorLength:4e3};async function Yd(e,t={}){let n={...QP,...t},r=e.trim(),i=cS(r);if(i)return i.startsWith("[Blocked]")&&(console.log(Xd.yellow(`
65
+ ${i}`)),console.log()),i;try{console.log(Xd.dim(`
66
+ [Executing: ${r}]`));let{stdout:s,stderr:a}=await qP(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(Xd.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(Xd.red(`
73
+ [Shell Error: ${c}]`)),console.log(),`[Shell command failed: ${r}]
74
+
75
+ Error: ${c}`}}o(Yd,"executeShellCommand");async function Nh(e,t={}){if(e.startsWith("!")){let n=e.slice(1).trim();return Yd(n,t)}return e}o(Nh,"processSpecialSyntax");function JP(e){return e.trim().startsWith("!")}o(JP,"isShellCommand");function ZP(e){return e.startsWith("[Shell command executed:")||e.startsWith("[Shell:")}o(ZP,"isShellCommandSuccess");function Ec(e){return e.startsWith("[Shell command executed:")||e.startsWith("[Shell command failed:")||e.startsWith("[Shell:")||e.startsWith("[Blocked]")}o(Ec,"isShellCommandHandled");var yb=150,xb=50;function Wr(e){if(e.length===0)return[];let t=[];for(let r=0;r<e.length;r+=1)e[r]?.type==="user"&&t.push(r);let n=[...e];if(t.length>xb){let r=t[t.length-xb]??0;n=e.slice(r)}if(n.length>yb){let r=n.slice(-yb),i=r.findIndex(s=>s.type==="user");n=i>0?r.slice(i):r}return[...n]}o(Wr,"trimPersistedUiHistorySnapshot");function go(e){if(e)return Wr(e)}o(go,"normalizePersistedUiHistory");function e1(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}}}o(e1,"toCreatableTextHistoryItem");function t1(e){if(e.type!=="tool_group")return e1(e);let t=e.tools.map(Hp);return t.length>0?{type:"tool_group",tools:t}:void 0}o(t1,"persistedUiHistoryItemToCreatableHistoryItem");function Sb(e){let t=[],n=[];for(let r of e)r.type==="user"&&n.length>0&&(t.push(n),n=[]),n.push(r);return n.length>0&&t.push(n),t}o(Sb,"splitCreatableHistoryRounds");function n1(e){return e.some(t=>t.type==="tool_group")}o(n1,"roundHasToolGroup");function r1(e){return e.type==="event"&&e.icon==="tool"}o(r1,"isLegacyToolSummaryItem");function o1(e,t){if(t.length===0||n1(e))return[...e];let n=e.filter(a=>!r1(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(o1,"insertDerivedToolGroupsIntoRound");function i1(e,t){if(t.filter(a=>a.type==="tool_group").length===0)return[...e];let r=Sb(e),i=Sb(t),s=Math.max(0,i.length-r.length);return r.flatMap((a,c)=>{let d=(i[c+s]??[]).filter(f=>f.type==="tool_group");return o1(a,d)})}o(i1,"enrichTextOnlyUiHistory");function qd(e){let t=Wp(e.messages).map(jo),n=go(e.uiHistory);if(!n||n.length===0)return t;let r=n.map(t1).filter(i=>!!i);return i1(r,t)}o(qd,"restoreHistoryItemsFromSession");function Qd(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(Qd,"createRetryHistoryItem");function s1(e,t,n,r){e(Qd(t,n,r))}o(s1,"emitRetryHistoryItem");function Jd(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(Jd,"createRecoveryHistoryItem");function a1(e,t){e(Jd(t))}o(a1,"emitRecoveryHistoryItem");import{jsx as ie,jsxs as nn,Fragment as yv}from"react/jsx-runtime";import cv,{useState as Ue,useCallback as z,useRef as we,useEffect as je,useMemo as ge}from"react";import{jsx as xr,Fragment as c1,jsxs as Zd}from"react/jsx-runtime";var Bh=" | ",wb=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(),h=l?.trim(),w=d?.trim(),T=e?p?`Search /${p}`:"Search":"Transcript",S=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`,C=c>0?c===1?"1 new update":`${c} new updates`:void 0,M=e&&s>0?`${Math.max(0,i)}/${s}`:void 0,E=e&&m||h,P=!!(E||w);return Zd(R,{flexDirection:"column",children:[Zd(R,{paddingX:1,children:[xr(b,{color:f.colors.dim,children:T}),xr(b,{dimColor:!0,children:Bh}),xr(b,{color:f.colors.dim,children:S}),M||C?xr(R,{flexGrow:1}):null,M?Zd(c1,{children:[xr(b,{dimColor:!0,children:M}),C?xr(b,{dimColor:!0,children:Bh}):null]}):null,C?xr(b,{color:f.colors.accent,bold:!0,children:C}):null]}),P?Zd(R,{paddingX:1,children:[E?xr(b,{color:f.colors.dim,children:E}):null,E&&w?xr(b,{dimColor:!0,children:Bh}):null,w?xr(b,{color:f.colors.accent,bold:!0,children:w}):null]}):null]})},"TranscriptModeFooter");import{jsx as l1,jsxs as u1}from"react/jsx-runtime";var Tb=o(({banner:e,...t})=>u1(R,{flexDirection:"column",children:[e,l1(ni,{...t,animateSpinners:!1,showFullThinking:!1,showDetailedTools:!1,showLiveProgressRows:!1})]}),"PromptTranscriptSurface");import{jsx as d1,jsxs as f1}from"react/jsx-runtime";var Cb=o(({banner:e,windowed:t=!1,showDetailedTools:n=!1,showAllContent:r=!1,...i})=>f1(R,{flexDirection:"column",children:[e,d1(ph,{...i,chromeMode:"hidden",windowed:t,showFullThinking:!0,showDetailedTools:n,showAllContent:r,showLiveProgressRows:!0})]}),"TranscriptModeSurface");import{jsxs as p1,jsx as m1}from"react/jsx-runtime";var bb=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 m1(R,{paddingX:1,backgroundColor:r.colors.inputBackground,children:p1(b,{color:i,children:[s," ",n]})})},"ClipboardToastSurface");import{jsx as yo,Fragment as h1,jsxs as Hh}from"react/jsx-runtime";var g1=" \u23BF ";function y1(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(y1,"resolveSymbolColor");var x1=o(({row:e})=>{let t=y1(e.symbolColor),n=e.kind!=="item";return Hh(R,{flexDirection:"row",children:[yo(b,{color:t,bold:e.isActive,children:e.symbol}),yo(b,{children:" "}),yo(b,{dimColor:n,bold:e.isActive,strikethrough:e.isStrikethrough,children:e.text}),e.evaluatorBadge?Hh(h1,{children:[yo(b,{children:" "}),yo(b,{dimColor:!0,children:e.evaluatorBadge})]}):null]})},"TodoListRow"),Ib=o(({viewModel:e})=>{if(!e.shouldRender||e.rows.length===0)return null;let t=ne("dark").colors.dim;return Hh(R,{flexDirection:"row",children:[yo(b,{color:t,children:g1}),yo(R,{flexDirection:"column",flexGrow:1,children:e.rows.map((n,r)=>yo(x1,{row:n},`${n.kind}-${n.id??r}`))})]})},"TodoListSurface");import{jsx as Mc,jsxs as S1}from"react/jsx-runtime";var vb=xS;function w1(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(w1,"resolveSymbolColor");var T1=o(({row:e})=>{let t=w1(e.symbolColor);return S1(R,{flexDirection:"row",children:[Mc(R,{width:vb,flexShrink:0,children:Mc(b,{color:t,bold:e.isActive,wrap:"truncate",children:SS(e.symbol,vb)})}),Mc(b,{color:e.kind==="hint"?ne("dark").colors.dim:void 0,bold:e.isActive,wrap:"truncate",children:e.text})]})},"WorkflowRunRow");function Rb(e){return!e.shouldRender||e.rows.length===0?0:e.rows.length}o(Rb,"measureWorkflowRunSurfaceRows");var kb=o(({viewModel:e})=>!e.shouldRender||e.rows.length===0?null:Mc(R,{flexDirection:"column",flexGrow:1,children:e.rows.map((t,n)=>Mc(T1,{row:t},`${t.kind}-${t.id??n}`))}),"WorkflowRunSurface");function Eb(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(Eb,"formatTodoPlanViewModelForTranscript");var Mb="\u2610",C1="\u25CF",Ab="\u2713",b1="\u2717",I1="\u2298",v1="\u2612";function R1(e){switch(e){case"in_progress":return{symbol:C1,color:"cyan"};case"completed":return{symbol:Ab,color:"green"};case"failed":return{symbol:b1,color:"red"};case"skipped":return{symbol:I1,color:"gray"};case"cancelled":return{symbol:v1,color:"gray"};default:return{symbol:Mb,color:"dim"}}}o(R1,"symbolForStatus");function k1(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(k1,"pickAnchorIndex");function E1(e){let{symbol:t,color:n}=R1(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(E1,"buildItemRow");function M1(e){return{kind:"summary_done",symbol:Ab,symbolColor:"green",text:`${e} done`,isActive:!1}}o(M1,"buildDoneSummary");function Wh(e){return{kind:"summary_pending",symbol:Mb,symbolColor:"dim",text:`+${e} more`,isActive:!1}}o(Wh,"buildPendingSummary");function A1(e,t){for(let n=e.length-1;n>=0;n--)if(e[n].status==="failed"&&!t.has(n))return n;return-1}o(A1,"pickFailedToPromote");function _1(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(_1,"decideWindow");function _b(e,t){let n=e.length,r=e.reduce((h,w)=>w.status==="completed"?h+1:h,0),i=o((h,w)=>({shouldRender:w,rows:h,completedCount:r,totalCount:n}),"baseVm");if(n<1)return i([],!1);t.now,t.lastAllCompletedAt;let s=k1(e),a=_1(e,s),c=new Set(a.visibleIdx),l=A1(e,c),d=[...a.visibleIdx],f=a.hiddenCompletedCount,p=a.hiddenPendingCount;if(l>=0){let h=-1;for(let w=d.length-1;w>=0;w--){let T=d[w];if(T!==s&&e[T].status==="pending"){h=w;break}}if(h>=0){let w=d[h];d[h]=l,p+=1,d.sort((C,M)=>C-M);let T=d[0],S=0;for(let C=0;C<T;C++)e[C].status==="completed"&&S++;f=S}}let m=[];f>0&&m.push(M1(f));for(let h of d)m.push(E1(e[h]));if(p>0&&m.push(Wh(p)),m.length>6)for(;m.length>6;){let h=!1;for(let w=m.length-1;w>=0;w--){let T=m[w];if(T.kind==="item"&&!T.isActive){m.splice(w,1);let S=m[m.length-1];if(S&&S.kind==="summary_pending"){let C=/\+(\d+) more/.exec(S.text),M=C?Number.parseInt(C[1],10)+1:1;m[m.length-1]=Wh(M)}else m.push(Wh(1));h=!0;break}}if(!h)break}return i(m,!0)}o(_b,"buildTodoPlanViewModel");function Lb(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(Lb,"buildFooterHeaderViewModel");function L1(e){return aS(e.provider,e.model,"off",{longRunning:!0})}o(L1,"evaluateSessionTransitionPolicy");function P1(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(P1,"formatSessionTransitionGuardMessage");function xo(e,t,n){let r=L1(e);if(!r||r.status==="allow")return!0;let[i,...s]=P1(t,r);return n(r.status,i,s),r.status!=="block"}o(xo,"enforceSessionTransitionGuard");function $1(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($1,"summarizeEntry");function Pb(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} ${$1(e.entry)}${c}`);let l=t+(t?n?" ":"| ":"");e.children.forEach((d,f)=>{Pb(d,l,f===e.children.length-1,r)})}o(Pb,"formatNode");function ef(e){let t=[];return e.forEach((n,r)=>{Pb(n,"",r===e.length-1,t)}),t}o(ef,"formatSessionTree");var O1=100,D1=/\b(curl|wget|invoke-webrequest|invoke-restmethod|iwr|irm)\b/i,Ob=/\b(rm|del|erase|remove-item|rmdir|rd|git clean)\b/i,Db=/\b(npm|pnpm|yarn|pip|choco|winget)\s+(install|add|remove|uninstall|update|upgrade|ci)\b/i,Nb=/\b(set-content|add-content|out-file|new-item|copy-item|move-item|rename-item|cp|mv|copy|move|ren|touch)\b/i;function Bs(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}o(Bs,"readString");function Qt(e,t,n){n&&e.push({label:t,value:n})}o(Qt,"pushField");function N1(e){return e.replace(/\s+/g," ").trim()}o(N1,"normalizeWhitespace");function B1(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(B1,"truncateMiddle");function H1(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(H1,"maskSensitiveSegments");function $b(e){return B1(H1(N1(e)),O1)}o($b,"summarizeCommand");function W1(e){return no(e)?oe("intent.read"):Ob.test(e)?oe("intent.delete"):Db.test(e)?oe("intent.deps"):ro(e)||Nb.test(e)?oe("intent.modify"):oe("intent.execute")}o(W1,"classifyShellIntent");function F1(e){let t=[];return Ob.test(e)?t.push(oe("risk.destructive")):Db.test(e)?t.push(oe("risk.deps")):ro(e)||Nb.test(e)?t.push(oe("risk.modify")):no(e)||t.push(oe("risk.unknown")),D1.test(e)&&t.push(oe("risk.network")),t}o(F1,"classifyShellRisks");function j1(e){if(Array.isArray(e))return e.filter(t=>typeof t=="object"&&t!==null&&typeof t.kind=="string")}o(j1,"readSignals");function U1(e){if(e){if(e.some(t=>t.kind==="protected_path"))return oe("scope.protected");if(e.some(t=>t.kind==="outside_project"||t.kind==="shell_redirect_outside"))return oe("scope.outside")}}o(U1,"scopeFromSignals");function G1(e){if(e._outsideProject===!0)return oe("scope.outside");if(e._alwaysConfirm===!0)return oe("scope.protected")}o(G1,"scopeFromMarkers");function V1(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(oe("risk.destructive")):r&&t.push(oe("risk.modify")),e.some(i=>i.kind==="network")&&t.push(oe("risk.network")),e.some(i=>i.kind==="package_install")&&t.push(oe("risk.deps")),t}o(V1,"risksFromSignals");var K1={Reason:"field.reason",Intent:"field.intent",Target:"field.target",Scope:"field.scope",Risk:"field.risk",Summary:"field.summary"};function z1(e){return oe(K1[e])}o(z1,"localizeFieldLabel");function Hs(e,t){return{title:e,fields:t,details:t.map(n=>`${z1(n.label)}: ${n.value}`)}}o(Hs,"buildDisplayFromFields");function tf(e,t){if(e==="confirm"){let l=Bs(t._message);if(l)return Hs(l,[])}if(e==="exit_plan_mode"){let l=Bs(t.plan),d="Approve plan? (exits plan mode \u2192 accept-edits)";return l?{title:d,fields:[],details:l.split(`
76
+ `)}:Hs(d,[])}let n=[],r=Bs(t.path),i=Bs(t.command),s=Bs(t._reason)??Bs(t.justification),a=j1(t._classifierSignals),c=U1(a)??G1(t);switch(Qt(n,"Reason",s),e){case"bash":case"shell_command":{if(i){Qt(n,"Intent",W1(i)),Qt(n,"Scope",c);let l=V1(a),d=l.length>0?l:F1(i);d.length>0&&Qt(n,"Risk",d.join("; ")),Qt(n,"Summary",$b(i))}else Qt(n,"Scope",c);return Hs(e==="bash"?oe("tool.bash.title"):oe("tool.shell.title"),n)}case"write":return Qt(n,"Intent",oe("intent.write_file")),Qt(n,"Target",r),Qt(n,"Scope",c),Hs(oe("tool.write.title"),n);case"edit":return Qt(n,"Intent",oe("intent.edit_file")),Qt(n,"Target",r),Qt(n,"Scope",c),Hs(oe("tool.edit.title"),n);default:return Qt(n,"Intent",oe("intent.use_tool",{tool:e})),Qt(n,"Target",r),Qt(n,"Scope",c),i&&Qt(n,"Summary",$b(i)),Hs(oe("tool.generic.title",{tool:e}),n)}}o(tf,"buildToolConfirmationDisplay");function Bb(e,t){let n=tf(e,t);return n.details.length>0?`${n.title}
77
+ ${n.details.join(`
78
+ `)}`:n.title}o(Bb,"buildToolConfirmationPrompt");function Hb(e,t=240){let n=e.trim();return n?n.length>t?`${n.slice(0,t-3)}...`:n:""}o(Hb,"truncateToolPreview");function Wb(e,t=800){let n=e.trim();return n?n.length>t?`${n.slice(0,t-3)}...`:n:""}o(Wb,"truncateToolOutputPreview");function Fh(e){return e.replace(/^\[[^\]]+\]\s+/,"").replace(/^[A-Za-z][A-Za-z0-9_-]*:\s*/,"").trim()}o(Fh,"stripToolRolePrefix");function jh(e){return Fh(e).toLowerCase()}o(jh,"normalizeToolNameForMatch");function Uh(e){return e===`[${oe("managed.completed")}]`||e===`[${oe("managed.completed.blocked")}]`||e===`[${oe("managed.completed.continuation")}]`}o(Uh,"isCompletionTranscriptItem");function nf(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(nf,"formatManagedLiveActivityLabel");function Fr(e,t){return nf(`[Tools] ${pd(e)}`,t)??`[Tools] ${pd(e)}`}o(Fr,"formatManagedLiveToolLabel");function rf(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(rf,"areManagedLiveItemsEquivalent");function Fb(e){return e==="Task completed"?oe("managed.completed"):e==="Task needs continuation"?oe("managed.completed.continuation"):e==="Task ended: blocked"?oe("managed.completed.blocked"):e==="Task ended: needs_continuation"?oe("managed.completed.continuation"):e.startsWith("Task ended:")?oe("managed.completed.blocked"):e}o(Fb,"localizeManagedCompletionSummary");function X1(e){switch(e){case"H0_DIRECT":return"H0";case"H1_EXECUTE_EVAL":return"H1";case"H2_PLAN_EXECUTE_EVAL":return"H2";default:return e}}o(X1,"formatHarnessProfileShort");function jb(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(jb,"mergeLiveThinkingContent");function Ws(e,t){let n=t?.expanded?e.detailNote??e.note:e.note,r=X1(e.harnessProfile)??e.harnessProfile,i=`${e.agentMode.toUpperCase()} ${r}`,s=e.activeWorkerTitle??"Scout",a=`${e.agentMode.toUpperCase()} ${s}`,c=`${e.agentMode.toUpperCase()} Routing`,l=e.currentRound&&e.maxRounds&&e.currentRound>1?` - Round ${e.currentRound}/${e.maxRounds}`:"";switch(e.phase){case"routing":return`${c} - Routing ready`;case"starting":return n?`${i} - ${n}`:`${i} - Managed task starting`;case"preflight":return n?`${a} - ${n}`:`${a} - ${s} preflight starting`;case"round":return n?`${i} - ${n}`:`${i} - Managed task round update${l}`;case"worker":return n?`${i} - ${n}${l}`:`${i} - ${e.activeWorkerTitle??"Worker"} starting${l}`;case"upgrade":return n?`${i} - ${n}`:`${i} - Harness transition${l}`;case"verifying":return n?`${e.agentMode.toUpperCase()} Verifying - ${n}`:`${e.agentMode.toUpperCase()} Verifying`;case"completed":return n?`${i} - ${n}`:`${i} - Managed task completed`;default:return}}o(Ws,"formatManagedTaskBreadcrumb");var Ub=process.env.KODAX_TRANSCRIPT_HARNESS_MARKERS==="1";function Gb(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&&!Ub)return r;let p=f?`[${Fb(s)}]`:void 0,m=p??s,h=p??a;return r.push({item:{id:c,type:"event",timestamp:l,text:h,icon:i.kind==="warning"?"!":f?"\u2713":">",...m!==h?{compactText:m}:{}},persistToHistory:d}),r},[]);if(e.phase==="completed"&&!Ub)return[];let t=Ws(e),n=Ws(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(Gb,"buildManagedLiveEventDrafts");function Y1(e,t){return!(t||e.role!=="evaluator"||e.signal!=="COMPLETE")}o(Y1,"shouldFilterSidecarAcceptEntry");function q1(e){let t=e.runtime?.rawRoutingDecision,n=e.runtime?.finalRoutingDecision;return!t||!n||t.harnessProfile==="H0_DIRECT"&&n.harnessProfile==="H0_DIRECT"?void 0:["[Routing]",`AMA routing: raw=${t.harnessProfile}(${t.routingSource??"unknown"}) -> final=${n.harnessProfile}`,`Primary task: ${t.primaryTask}`,`Review target: ${n.reviewTarget??"general"}`,`Review scale: ${n.reviewScale??"unknown"}`,`Solo boundary: ${t.soloBoundaryConfidence?.toFixed(2)??"n/a"}`,`Independent QA: ${t.needsIndependentQA?"yes":"no"}`,e.runtime?.qualityAssuranceMode?`Quality assurance: ${e.runtime.qualityAssuranceMode}`:void 0,e.runtime?.budget?`Adaptive budget: rounds=${e.runtime.budget.plannedRounds} total=${e.runtime.budget.totalBudget} reserve=${e.runtime.budget.reserveBudget}`:void 0,e.runtime?.routingOverrideReason?`Override reason: ${e.runtime.routingOverrideReason}`:void 0,n.upgradeCeiling?`Upgrade ceiling: ${n.upgradeCeiling}`:void 0].filter(i=>!!i).join(`
79
+ `)}o(q1,"buildManagedTaskRoutingTranscript");function Gh(e,t){let n=e.managedTask;if(!n)return[];let r=t?.verifierLog??process.env.KODAX_VERIFIER_LOG==="1",i=o(p=>{if(!e.interrupted&&!n.verdict.signalReason?.includes("Orchestration cancelled"))return!1;let m=p.signalReason?.trim()??"",h=p.summary?.trim()??"",w=p.output?.trim()??"",T=m.includes("Orchestration cancelled"),S=h.includes("Orchestration cancelled"),C=!w||h==="No textual output produced.";return p.status!=="completed"&&(T||S||C)||(T||S)&&C},"isInterruptedCancellation"),s=q1(n),a=new Map(n.roleAssignments.map((p,m)=>[p.id,m])),c=n.verdict.decidedByAssignmentId,l=Math.max(0,...n.evidence.entries.filter(p=>p.assignmentId===c).map(p=>p.round??1)),d=[...n.evidence.entries].sort((p,m)=>{let h=(p.round??1)-(m.round??1);return h!==0?h:(a.get(p.assignmentId)??0)-(a.get(m.assignmentId)??0)}).filter(p=>!i(p)).filter(p=>!Y1(p,r)).filter(p=>e.interrupted||!(p.assignmentId===c&&(p.round??1)===l)).map(p=>{let m=p.output?.trim()??"",h=p.summary?.trim()??"",w=m?es(m):"",T=h?es(h):"",S=p.role==="scout"?T?`Scout completed: ${T}`:"Scout completed.":T;return{entry:p,text:T||w||S}}).filter(({text:p})=>!!p).map(({entry:p,text:m})=>{let h=p.role==="scout"?" Preflight":(p.round??1)>1?` Round ${p.round}`:"";return`[${p.title??p.assignmentId}${h}]
80
+ ${m}`}),f=n.verdict.disposition==="complete"?oe("managed.completed"):n.verdict.disposition==="needs_continuation"?oe("managed.completed.continuation"):n.verdict.disposition==="blocked"?oe("managed.completed.blocked"):void 0;return[...s?[s]:[],...d,...f?[`[${f}]`]:[]]}o(Gh,"buildManagedTaskTranscriptItems");function Vb(e){let r=e.slice(0,400).match(new RegExp("\\*\\*([^*\\n]{1,80}?)\\*\\*"))?.[1]?.trim();return r?{header:r}:{}}o(Vb,"extractBoldHeader");var Vh=[" \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 Qe from"chalk";var of=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 ")}},Sr=o(()=>of.getInstance(),"getShortcutsRegistry");var Fs=[{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",description:"Cycle reasoning mode: off, auto, quick, balanced, deep",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 Q1,useCallback as J1,useRef as Z1}from"react";function jr(e,t,n={}){let{context:r,isActive:i=!0}=n,s=Sr(),a=Z1(t);a.current=t,Q1(()=>(s.setHandler(e,d=>a.current(d)),()=>{s.setHandler(e,void 0)}),[s,e]);let c=J1(d=>{if(!i)return!1;let p=s.getAllShortcuts().find(T=>T.definition.id===e);if(!p)return!1;let m=r??p.definition.context,h=m==="global"?"input":m,w=s.findMatchingShortcut(d,h);return w&&w.definition.id===e?a.current(d)===!0:!1},[s,e,i,r]),l=e$(e,s);kn(c,{isActive:i,priority:l})}o(jr,"useShortcut");function e$(e,t){let r=t.getAllShortcuts().find(i=>i.definition.id===e);return r?r.definition.priority:0}o(e$,"getShortcutPriority");import t$,{createContext as n$,useContext as r$,useState as Kb,useCallback as Kh}from"react";var zb=n$(null);function zh({children:e,initialContext:t="input"}){let[n,r]=Kb(!1),[i,s]=Kb(t);Sr().registerAll(Fs);let c=Kh(()=>{r(p=>!p)},[]),l=Kh(()=>{let m=Sr().getAllShortcuts(),h={global:[],mode:[],navigation:[],editing:[]};for(let w of m){let T=w.definition.category;h[T]||(h[T]=[]),h[T].push(w)}return h},[]),d=Kh(()=>Sr().getShortcutsByContext(i),[i]),f={showHelp:n,toggleHelp:c,setShowHelp:r,currentContext:i,setCurrentContext:s,getShortcutsByCategory:l,getContextShortcuts:d};return t$.createElement(zb.Provider,{value:f},e)}o(zh,"ShortcutsProvider");function Xh(){let e=r$(zb);if(!e)throw new Error("useShortcutsContext must be used within a ShortcutsProvider");return e}o(Xh,"useShortcutsContext");import o$ from"chalk";function Yh({currentConfig:e,setCurrentConfig:t,isLoading:n,abort:r,stopThinking:i,clearThinkingContent:s,setCurrentTool:a,setIsLoading:c,onToggleHelp:l,setShowHelp:d,onSetThinking:f,onSetReasoningMode:p,onToggleTranscriptMode:m,onOpenTranscriptSearch:h,canOpenTranscriptSearch:w=!0,isInteractiveDialogActive:T=!1,onSetAgentMode:S,onSetPermissionMode:C,isInputEmpty:M,onSavePermissionMode:E}){let P=o(D=>D?.name?.toLowerCase()==="c"&&D.ctrl===!0,"isCtrlCInterrupt");return jr("interrupt",D=>P(D)&&n?(r(),i(),s(),a(void 0),c(!1),console.log(o$.yellow(`
81
+ [Interrupted]`)),!0):!1,{isActive:n}),jr("showHelp",()=>T?!1:M?(l(),!0):!1,{isActive:M}),jr("toggleThinking",()=>{if(T)return!1;let D=Kl.indexOf(e.reasoningMode),L=Kl[(D+1)%Kl.length],y=L!=="off";return t(W=>({...W,thinking:y,reasoningMode:L})),lu({reasoningMode:L,thinking:y}),p?.(L),f?.(y),d(!1),!0}),jr("toggleTranscriptMode",()=>T?!1:(m?.(),d(!1),!0)),jr("openTranscriptSearch",()=>T||!w?!1:(h?.(),d(!1),!0)),jr("togglePermissionMode",()=>{if(T)return!1;let D=["plan","accept-edits","auto"],L=e.permissionMode==="auto-in-project"?"auto":e.permissionMode,W=(D.indexOf(L)+1)%D.length,de=D[W];return t(xe=>({...xe,permissionMode:de})),C?.(de),E?.(de),d(!1),!0}),jr("toggleAgentMode",()=>{if(T)return!1;let D=dS(e.agentMode);return t(L=>({...L,agentMode:D})),lu({agentMode:D}),S?.(D),d(!1),!0}),null}o(Yh,"GlobalShortcuts");import{exec as i$}from"child_process";import{promisify as s$}from"util";var a$=s$(i$),c$={read:"read",grep:"grep",glob:"glob",write:"write",edit:"edit",bash:"bash",undo:"undo",askuserquestion:"ask-user-question",askuser:"ask-user-question"};function Xb(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(Xb,"splitTopLevelCommaList");function l$(e){if(!e?.trim())return{configured:!1,rules:[],invalidEntries:[]};let t=[];return{configured:!0,rules:Xb(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=c$[i[1].replace(/[^a-z]/gi,"").toLowerCase()];if(!s){t.push(r);return}let a=i[2]?Xb(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(l$,"parseAllowedTools");function u$(e){let t=e.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*");return new RegExp(`^${t}$`,"i")}o(u$,"wildcardToRegExp");function Yb(e,t){return u$(e).test(t)}o(Yb,"matchesPattern");function qb(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=>Yb(a,i)))}o(qb,"isToolAllowed");function d$(e,t){return e.matcher?Yb(e.matcher,t):!0}o(d$,"hookMatches");function f$(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(`
82
+ `)}o(f$,"formatManualOutput");function p$(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(p$,"resolveModelOverride");async function m$(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(!qb(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 a$(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(`
83
+ `);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(m$,"executeHookCommand");async function js(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(!d$(d,n))continue;let f=await m$(t,d,r,i,s,a);if(f.message&&await i(`[Hook ${t}] ${f.message}`),f.additionalContext&&(l.additionalContext=l.additionalContext?`${l.additionalContext}
84
+ ${f.additionalContext}`:f.additionalContext),f.allow===!1){l.allow=!1;break}}return l}o(js,"runHooks");async function sf(e,t,n,r){if(t.disableModelInvocation)return{mode:"manual",manualOutput:f$(t),finalize:o(async()=>{},"finalize")};let i=e.events??{},s=l$(t.allowedTools),a=p$(e.provider,t.model),c=!1,l=o(async S=>{if(r(S),!(c||!t.hooks?.Notification?.length)){c=!0;try{await js(t.hooks,"Notification",S,{displayName:t.displayName,source:t.source,path:t.path,message:S},async C=>{r(C)},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 js(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 js(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(S=>typeof S=="string"&&S.trim().length>0),m=[p.length>0?p.join(`
85
+
86
+ `):void 0,t.prompt,`User request: ${n}`].filter(S=>typeof S=="string"&&S.trim().length>0),h={...i,beforeToolExecute:o(async(S,C,M)=>qb(s,S,C)?(await js(t.hooks,"PreToolUse",S,{tool:S,input:C,displayName:t.displayName,source:t.source,path:t.path},l,i,s)).allow===!1?(await l(`[Blocked] PreToolUse hook blocked '${S}' for ${t.displayName}`),!1):i.beforeToolExecute?await i.beforeToolExecute(S,C,M):!0:(await l(`[Blocked] Tool '${S}' is not allowed by ${t.displayName}`),!1),"beforeToolExecute"),onToolResult:o((S,C)=>{i.onToolResult?.(S,C),js(t.hooks,"PostToolUse",S.name,{...S,displayName:t.displayName,source:t.source,path:t.path},l,i,s)},"onToolResult")},w=!1,T=o(async S=>{w||(w=!0,await js(t.hooks,t.context==="fork"?"SubagentStop":"Stop",t.displayName,{displayName:t.displayName,source:t.source,path:t.path,error:S?.message},l,i,s))},"finalize");return{mode:t.context==="fork"?"fork":"inline",prompt:m.join(`
87
+
88
+ `),options:{...e,modelOverride:a,context:{...e.context,rawUserInput:n,skillInvocation:t.source==="skill"?t.skillInvocation:e.context?.skillInvocation},events:h},finalize:T}}o(sf,"prepareInvocationExecution");import{appendFileSync as h$,mkdirSync as g$,writeFileSync as y$}from"node:fs";import{join as Jb}from"node:path";import Qb from"node:v8";var Jh=parseInt(process.env.KODAX_MEMORY_DIAG??"0",10),Zh=Jh>=1,eg=Hx(),Zb=Jb(eg,"memory-diag.log"),qh=0,Qh=!1;function e0(){if(!Qh)try{g$(eg,{recursive:!0}),Qh=!0}catch{Qh=!0}}o(e0,"ensureLogDir");function x$(e){e0();try{h$(Zb,e+`
89
+ `)}catch{}}o(x$,"writeLog");function It(e){return`${(e/1024/1024).toFixed(2)}MB`}o(It,"formatMB");function S$(){return typeof globalThis.gc=="function"?(globalThis.gc(),!0):!1}o(S$,"tryGC");function Dt(e){return e?e.length*2:0}o(Dt,"strBytes");function si(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+=si(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+=si(i,t+1);return n}return 16}o(si,"estimateJsonBytes");function t0(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+=t0(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+=si(t.input));for(let[i,s]of Object.entries(t))r.has(i)||(n+=i.length*2+si(s));return n}o(t0,"estimateBlockBytes");function tg(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+=t0(n);return t}return 200}o(tg,"estimateMessageBytes");function af(e){let t=128;switch(t+=Dt(e.id)+Dt(e.parentId??void 0)+Dt(e.timestamp),e.type){case"message":return t+tg(e.message);case"compaction":return t+=Dt(e.summary),t+=Dt(e.firstKeptEntryId),t+=Dt(e.reason),t+=Dt(e.artifactLedgerId),e.details!==void 0&&(t+=si(e.details)),e.memorySeed!==void 0&&(t+=si(e.memorySeed)),t;case"branch_summary":return t+=Dt(e.summary),t+=Dt(e.fromId),e.details!==void 0&&(t+=si(e.details)),t;case"label":return t+=Dt(e.targetId),t+=Dt(e.label),t;case"archive_marker":return t+=Dt(e.archiveBatchId),t+=Dt(e.summary),t+=8,t;default:return t}}o(af,"estimateEntryBytes");function w$(e){let t={},n=[];for(let i=0;i<e.length;i++){let s=e[i],a=tg(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(w$,"buildMessageBreakdown");function cf(){return Zh}o(cf,"memDiagEnabled");function lf(e,t){if(!Zh)return;e==="turn-start"&&qh++;let n=process.memoryUsage(),r=new Date().toISOString(),i=t.biggestMessages,s=["",`\u2550\u2550\u2550 [MEMDIAG] turn=${qh} phase=${e} @${r} \u2550\u2550\u2550`,` V8 heap: used=${It(n.heapUsed)} total=${It(n.heapTotal)} rss=${It(n.rss)} ext=${It(n.external)}`," \u2500\u2500 Data breakdown \u2500\u2500",` context.messages: ${t.messageCount} msgs, ${It(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: ${It(t.lineageNonMessageBytes)} (compaction.details/memorySeed + branch_summary payloads)`,` lineage orphan messages: ${t.lineageOrphanMessageCount} msgs, ${It(t.lineageOrphanMessageBytes)} (in lineage but not in context.messages \u2014 branches/pruned)`,` UI history: ${t.historyItemCount} items, ${It(t.historyTextBytes)}`,` foreground turn: ${t.foregroundItemCount} items, ${It(t.foregroundTextBytes)}`,` streaming response: ${It(t.streamingResponseBytes)}`,` streaming thinking: ${It(t.streamingThinkingBytes)}`,` persisted UI history: ${t.persistedUiHistoryCount} items, ${It(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} ${It(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=Qb.getHeapSpaceStatistics();for(let d of c)d.space_used_size>1024*1024&&s.push(` ${d.space_name.padEnd(25)} used=${It(d.space_used_size)} allocated=${It(d.space_size)}`);if(s.push(" \u2500\u2500 Summary \u2500\u2500"),s.push(` tracked data total: ${It(a)}`),s.push(` V8 heap used: ${It(n.heapUsed)}`),s.push(` unaccounted (overhead): ${It(n.heapUsed-a)}`),s.push(" (React/Ink tree, provider SDK buffers, module metadata,"),s.push(' tokenizer caches, source maps \u2014 see "Blind spots" note)'),S$()){let d=process.memoryUsage();s.push(` after forced GC: heap=${It(d.heapUsed)} (freed ${It(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(Jh>=2)try{let d=Jb(eg,`heap-turn${qh}-${e}.heapsnapshot`);Qb.writeHeapSnapshot(d),s.push(` heap snapshot: ${d}`)}catch{s.push(" heap snapshot: FAILED")}x$(s.join(`
90
+ `))}o(lf,"memDiagSnapshot");function uf(e,t,n){let r=w$(e),i=new Set(e),s=0,a=0,c=0,l=0,d=0,f=0,p=0,m=0,h=t?.entries??[];for(let C of h)switch(C.type){case"message":m++,i.has(C.message)||(c++,a+=tg(C.message));break;case"compaction":l++,s+=af(C);break;case"branch_summary":d++,s+=af(C);break;case"label":f++,s+=af(C);break;case"archive_marker":p++,s+=af(C);break}let w=0;for(let C of n.historyItems)w+=Dt(C.text);let T=0;for(let C of n.foregroundItems)T+=Dt(C.text);let S=0;for(let C of n.persistedUiHistory)S+=Dt(C.text);return{messageCount:e.length,messageBytes:r.totalBytes,biggestMessages:r.biggest,lineageEntryCount:h.length,lineageMessageEntryCount:m,lineageCompactionCount:l,lineageBranchSummaryCount:d,lineageLabelCount:f,lineageArchiveMarkerCount:p,lineageNonMessageBytes:s,lineageOrphanMessageBytes:a,lineageOrphanMessageCount:c,historyItemCount:n.historyItems.length,historyTextBytes:w,foregroundItemCount:n.foregroundItems.length,foregroundTextBytes:T,streamingResponseBytes:Dt(n.streamingResponse),streamingThinkingBytes:Dt(n.streamingThinking),persistedUiHistoryCount:n.persistedUiHistory.length,persistedUiHistoryBytes:S}}o(uf,"buildMemDiagBreakdown");function n0(){if(Zh){e0();try{let e=typeof globalThis.gc=="function",t=[`[MEMDIAG] Session started at ${new Date().toISOString()}`,`[MEMDIAG] Level=${Jh} 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(`
91
+ `);y$(Zb,t+`
92
+ `)}catch{}}}o(n0,"memDiagReset");import T$ from"node:fs";import rg from"node:path";var C$={".gif":"image/gif",".jpeg":"image/jpeg",".jpg":"image/jpeg",".png":"image/png",".webp":"image/webp"},b$=/@(?:"([^"]+)"|'([^']+)'|([^\s]+))/g;function I$(e){return C$[rg.extname(e).toLowerCase()]}o(I$,"resolveImageMediaType");var ng="[Image unavailable]";function v$(e){return""}o(v$,"buildImageAnchor");function Us(e,t){let n=[],r=[],i=new Set,s=new Map,a=new Set,c=[],l=0;for(let f of e.matchAll(b$)){let p=f.index??l;c.push(e.slice(l,p));let m=f[1]??f[2]??f[3];if(!m){c.push(f[0]),l=p+f[0].length;continue}let h=I$(m);if(!h){c.push(f[0]),l=p+f[0].length;continue}let w=rg.resolve(t,m);try{if(!T$.statSync(w).isFile()){a.has(w)||(r.push(`[Image input skipped] ${m} is not a file.`),a.add(w)),c.push(ng),l=p+f[0].length;continue}}catch{a.has(w)||(r.push(`[Image input missing] ${m} was not found from ${t}.`),a.add(w)),c.push(ng),l=p+f[0].length;continue}if(!i.has(w)){i.add(w);let T=v$(n.length+1);s.set(w,T),n.push({kind:"image",path:w,mediaType:h,source:"user-inline",description:`Attached image ${rg.basename(w)}`})}c.push(s.get(w)??ng),l=p+f[0].length}c.push(e.slice(l));let d=c.join("");return{promptText:d,messageContent:Qx(d,n),inputArtifacts:n,warnings:r}}o(Us,"preparePromptInputArtifacts");function r0(e){let t=R$(e.stage),n=k$(e);return{type:"info",icon:"\u{1F4E1}",text:n?`[RepoIntel] ${t} \xB7 ${n}`:`[RepoIntel] ${t}`,tightSpacing:!0}}o(r0,"createRepoIntelTraceHistoryItem");function R$(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(R$,"stageDisplayName");function k$(e){let t=[],n=e.capability;n&&(t.push(`mode=${n.mode}`),n.status!=="ok"&&t.push(`status=${n.status}`));let r=e.trace;return r&&(r.daemonLatencyMs!==void 0&&t.push(`daemon ${r.daemonLatencyMs}ms`),r.cliLatencyMs!==void 0&&t.push(`cli ${r.cliLatencyMs}ms`),r.cacheHit!==void 0&&t.push(r.cacheHit?"cache hit":"cache miss"),r.capsuleEstimatedTokens!==void 0&&t.push(`${E$(r.capsuleEstimatedTokens)} tokens`)),t.length===0&&e.summary?M$(e.summary):t.join(" \xB7 ")}o(k$,"buildRepoIntelDetailLine");function E$(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}o(E$,"formatTokens");function M$(e){return e.replace(/^stage=[^|]+\|\s*/,"").trim()}o(M$,"stripSummaryStagePrefix");function o0(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(o0,"buildManagedRunContext");var A$=["global","mode","navigation","editing"],_$={global:["showHelp","interrupt"],mode:["toggleThinking","toggleTranscriptMode","togglePermissionMode","toggleAgentMode"],navigation:["openTranscriptSearch","historyUp","historyDown","moveToStart","moveToEnd"],editing:["acceptCompletion","cancelInput","newline","killLineRight","killLineLeft","deleteWordLeft"]},L$={global:"Global",mode:"Modes",navigation:"Navigation",editing:"Editing"},P$={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 $$(e){let t=Sr(),n=t.getAllShortcuts().find(i=>i.definition.id===e);if(n?.effectiveBindings?.length)return t.formatBindings(n.effectiveBindings);let r=Fs.find(i=>i.id===e);if(r?.defaultBindings?.length)return t.formatBindings(r.defaultBindings)}o($$,"resolveShortcutBindingLabel");function O$(e){return`${$$(e.id)??e.id} ${e.name}`}o(O$,"buildMenuItemLabel");function D$(e){return Sr().getAllShortcuts().find(r=>r.definition.id===e)?.definition??Fs.find(r=>r.id===e)}o(D$,"resolveShortcutDefinition");function df(){return[...A$.map(t=>{let n=_$[t].map(r=>D$(r)).filter(r=>!!r).map(r=>({id:r.id,label:O$(r)}));return{id:t,title:L$[t],items:n}}).filter(t=>t.items.length>0),P$]}o(df,"buildHelpMenuSections");var og=2,i0=1,s0=4;function lt(e,t){let n=dn(e.length>0?e.split(`
93
+ `):[""],Math.max(1,t),0,0);return Math.max(1,n.visualLines.length)}o(lt,"wrapLineCount");function N$(e,t,n=">"){let r=n.length+1,i=Math.max(20,t-r),s=dn(e.length>0?e.split(`
94
+ `):[""],i,0,0);return Math.max(1,s.visualLines.length)+2}o(N$,"calculateInputPromptRows");function a0(e){let{terminalRows:t,terminalWidth:n,windowedTranscript:r=!1,inputText:i,inputPrompt:s=">",footerHeaderText:a,activitySummary:c,pendingInputSummary:l,stashNoticeSummary:d,notificationSummary:f,statusNoticeSummary:p,workStripText:m,suggestionsReserved:h,suggestionsMode:w="inline",showHelp:T,statusBarText:S,confirmPrompt:C,confirmInstruction:M,uiRequest:E,dialogMode:P="inline",historySearch:D,maxVisibleSelectOptions:L=5,reviewHint:y,todoSurfaceRows:W=0,workflowSurfaceRows:de=0,childActivitySurfaceRows:xe=0,activityBarVisible:me=!1}=e,Z=Math.max(0,Math.floor(W)),O=Math.max(0,Math.floor(de)),k=Math.max(0,Math.floor(xe)),$=a?lt(a,Math.max(1,n-2)):0,Le=c?lt(c,Math.max(1,n-2)):0,Q=me?1:Le,X=l?lt(l,Math.max(1,n-2)):0,le=d?lt(d,Math.max(1,n-2)):0,Ee=f?lt(f,Math.max(1,n-2)):0,He=p?lt(p,Math.max(1,n-2)):0,F=m?lt(m,Math.max(1,n-2)):0,fe=N$(i,n,s),be=h?8:0,ce=T?i0+s0+df().reduce((j,pe)=>j+lt(pe.title,Math.max(1,n-og))+lt(pe.items.map(Me=>Me.label).join(" | "),Math.max(1,n-og)),0):0,it=lt(S,Math.max(1,n-2)),re=0;if(C&&M){let j=Math.max(1,n-4);re=3+lt(`[Confirm] ${C}`,j)+lt(M,j)}let Pe=0,We=0;if(E){let j=Math.max(1,n-4);E.kind==="select"?(We=Math.min(L,E.options.length),Pe=3+lt(`[Select] ${E.title}`,j)+E.options.slice(0,We).reduce((pe,Me,$e)=>pe+lt(`${$e+1}. ${Me.label}${Me.description?` - ${Me.description}`:""}`,j),0)+(E.options.length>We?2:0)+lt(`Choice: ${E.buffer||"(type a number)"}`,j)+1+(E.error?lt(E.error,j):0)):Pe=3+lt(`[Input] ${E.prompt}`,j)+(E.defaultValue!==void 0?lt(`Default: ${E.defaultValue}`,j):0)+lt(`Value: ${E.buffer||"(type your response)"}`,j)+1+(E.error?lt(E.error,j):0)}let Ct=0;if(D){let j=Math.max(1,n-4);Ct=3+lt(`Query: ${D.query||"(type to search)"}`,j)+(D.matchCount===0?lt("No matches yet",j):lt(`${Math.max(1,D.matchCount)} matches`,j)+lt(D.selectedExcerpt||"",j))+1}let ue=y?lt(y,Math.max(1,n-2)):0,Ce=$+Q+O+Z+k+X+le+Ee+fe+ce+He+ue+(w==="inline"?be:0)+(P==="inline"?re+Pe+Ct:0),Se=(w==="overlay"?be:0)+(P==="overlay"?re+Pe+Ct:0),Ke=Ce+F+it,A=Math.max(1,t-Ke);return{messageRows:A,reservedBottomRows:Ke,headerRows:$,activityRows:Q,pendingInputRows:X,stashNoticeRows:le,notificationRows:Ee,workStripRows:F,inputRows:fe,suggestionsRows:be,helpRows:ce,statusNoticeRows:He,statusRows:it,confirmRows:re,uiRequestRows:Pe,historySearchRows:Ct,footerRows:Ce,overlayRows:Se,visibleSelectOptions:We,reviewHintRows:ue,todoSurfaceRows:Z,workflowSurfaceRows:O,childActivitySurfaceRows:k,slots:[{name:"transcript",rows:A},{name:"footer",rows:Ce},{name:"overlay",rows:Se},{name:"status",rows:it},{name:"task-bar",rows:F}]}}o(a0,"calculateViewportBudget");function c0(e,t={}){let n=ls(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(c0,"createTranscriptDisplayState");function l0(e){return{...e,surface:"transcript",jumpToLatestAvailable:e.pendingLiveUpdates>0}}o(l0,"enterTranscriptMode");function u0(e){return{...e,surface:"prompt",scrollAnchor:0,jumpToLatestAvailable:!1,selectionMode:"none",selectedItemId:void 0,searchMode:"closed",searchAnchorItemId:void 0,currentMatchIndex:0,pendingLiveUpdates:0}}o(u0,"exitTranscriptMode");function d0(e,t){let n=Math.max(0,t);return{...e,pendingLiveUpdates:n,jumpToLatestAvailable:e.surface==="transcript"?n>0:e.scrollAnchor>0}}o(d0,"setTranscriptPendingLiveUpdates");function f0(e,t){let n=Math.max(0,t);return{...e,scrollAnchor:n,jumpToLatestAvailable:e.surface==="transcript"?e.pendingLiveUpdates>0:n>0}}o(f0,"setTranscriptScrollAnchor");function p0(e){return{...e,surface:"prompt",scrollAnchor:0,jumpToLatestAvailable:!1,selectionMode:"none",selectedItemId:void 0,searchMode:"closed",searchAnchorItemId:void 0,currentMatchIndex:0,pendingLiveUpdates:0}}o(p0,"jumpTranscriptToLatest");function m0(e,t){return{...e,stickyPromptVisible:t}}o(m0,"setTranscriptStickyPromptVisible");function Gs(e,t){return{...e,selectedItemId:t,selectionMode:t?"message":"none"}}o(Gs,"setTranscriptSelectedItem");function h0(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(h0,"openTranscriptSearch");function g0(e){return{...e,searchMode:"closed",searchAnchorItemId:void 0,currentMatchIndex:0}}o(g0,"closeTranscriptSearch");function y0(e,t){return{...e,currentMatchIndex:Math.max(-1,t)}}o(y0,"setTranscriptSearchMatchIndex");function x0(e){return e.supportsFullscreenLayout&&e.ownsViewportByDefault}o(x0,"shouldWindowTranscript");function S0(e){return e.surface==="transcript"}o(S0,"shouldPauseLiveTranscript");function ig(e){return e.supportsSelection}o(ig,"ownsTranscriptSelectionPath");function ff(e,t,n){if(!(!ig(e)||!n))return t.includes(n)?n:void 0}o(ff,"resolveTranscriptSelectedItemId");function w0(e){return e.supportsSelection&&e.supportsCopyOnSelect}o(w0,"supportsPassiveTranscriptCopyOnSelect");function T0(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(T0,"buildTranscriptBrowseHint");var C0="Slash commands cannot be queued mid-task. Press Esc twice or Ctrl+C to abort the current task, then run the command.",b0="slash-guard";function I0(e){return e.trimStart().startsWith("/")}o(I0,"isSlashCommandText");var B$=`
95
+
96
+ ---
97
+
98
+ `;async function v0(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(B$),await s?.(l),d=await n(l)}}o(v0,"runQueuedPromptSequence");function k0(e){return e.itemsLength>0||e.currentResponse.length>0||e.thinkingContent.length>0||e.activeToolCallsLength>0}o(k0,"hasTranscriptInputActivity");function H$(e){return e.keyName==="mouse"&&e.hasMouse&&e.usesManagedMouseClicks&&e.supportsMouseTracking&&e.usesRendererMouseTracking}o(H$,"shouldHandleManagedTranscriptMouse");function R0(e){return e.usesManagedMouseWheel&&e.supportsWheelHistory&&e.hasTranscript}o(R0,"shouldHandleManagedTranscriptWheel");function E0(e){if(H$({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"?R0({usesManagedMouseWheel:e.usesManagedMouseWheel,supportsWheelHistory:e.supportsWheelHistory,hasTranscript:e.hasTranscript})?{kind:"scroll-by",delta:e.reviewWheelStep}:{kind:"none"}:e.keyName==="wheeldown"?R0({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(E0,"resolveTranscriptPointerAction");function M0(e){return e.isTranscriptMode&&e.hasTextSelection}o(M0,"shouldDeferInterruptToTranscriptSelectionCopy");function A0(e){return e.hasActiveWorkflow?e.ctrl&&e.keyName==="c"?!M0({isTranscriptMode:e.isTranscriptMode,hasTextSelection:e.hasTranscriptTextSelection}):e.keyName!=="escape"||e.isTranscriptMode||e.isAwaitingUserInteraction?!1:e.isDoubleEscape&&e.isInputEmpty&&e.pendingInputCount===0:!1}o(A0,"shouldStopWorkflowFromInterruptKey");function _0(e){return e.ctrl&&e.keyName==="c"?M0({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(_0,"resolveStreamingInterruptAction");function L0(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(L0,"resolveTranscriptKeyboardAction");function P0(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(P0,"executeTranscriptKeyboardAction");function ai(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(ai,"stripAnsi");function W$(e){return e.tools.map(n=>`tool: ${n.name}`).join(`
99
+ `)}o(W$,"serializeToolGroup");function F$(e){switch(e.type){case"thinking":return null;case"user":return`user: ${ai(e.text)}`;case"assistant":return`assistant: ${ai(e.text)}`;case"system":return`system: ${ai(e.text)}`;case"info":return`info: ${ai(e.text)}`;case"error":return`error: ${ai(e.text)}`;case"event":return`event: ${ai(e.text)}`;case"hint":return`hint: ${ai(e.text)}`;case"tool_group":return W$(e);default:return e}}o(F$,"serializeOne");function j$(e){let t=[];for(let n of e){let r=F$(n);r!==null&&r!==""&&t.push(r)}return t.join(`
100
+
101
+ `)}o(j$,"serializeTranscriptForScrollback");function $0(e){let{items:t,writeToScrollback:n,exitAltScreen:r,enterAltScreen:i}=e,s=j$(t);r(),s.length>0&&n(`${s}
102
+ `),i()}o($0,"dumpTranscriptToNativeScrollback");var Vs={committed:[],width:0,hasBanner:!1};function O0(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(O0,"planInlineScrollback");import{jsx as sI}from"react/jsx-runtime";import OO from"yoga-layout";import{LegacyRoot as DO}from"react-reconciler/constants.js";import hO from"react-reconciler";import{DefaultEventPriority as gO,NoEventPriority as J0}from"react-reconciler/constants.js";import*as So from"scheduler";import X0 from"yoga-layout";import{createContext as yO}from"react";import rO from"yoga-layout";import U$ from"widest-line";var D0=new Map,G$=o(e=>{if(e.length===0)return{width:0,height:0};let t=D0.get(e);if(t)return t;let n=U$(e),r=e.split(`
103
+ `).length,i={width:n,height:r};return D0.set(e,i),i},"measureText"),sg=G$;import V$ from"wrap-ansi";import K$ from"cli-truncate";var N0={},z$=o((e,t,n)=>{let r=e+String(t)+String(n),i=N0[r];if(i)return i;let s=e;if(n==="wrap"&&(s=V$(e,t,{trim:!1,hard:!0})),n.startsWith("truncate")){let a="end";n==="truncate-middle"&&(a="middle"),n==="truncate-start"&&(a="start"),s=K$(e,t,{position:a})}return N0[r]=s,s},"wrapText"),pf=z$;var X$=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=63},"isCsiParameterCharacter"),Y$=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isCsiIntermediateCharacter"),q$=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=64&&t<=126},"isCsiFinalCharacter"),W0=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isEscapeIntermediateCharacter"),Q$=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=126},"isEscapeFinalCharacter"),F0=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=128&&t<=159},"isC1ControlCharacter"),B0=o((e,t)=>{let n=t;for(;n<e.length;){let c=e[n];if(!X$(c))break;n++}let r=e.slice(t,n),i=n;for(;n<e.length;){let c=e[n];if(!Y$(c))break;n++}let s=e.slice(i,n),a=e[n];if(!(a===void 0||!q$(a)))return{endIndex:n+1,parameterString:r,intermediateString:s,finalCharacter:a}},"readCsiSequence"),H0=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"),J$=o((e,t)=>{let n=t;for(;n<e.length;){let s=e[n];if(!W0(s))break;n++}let r=e.slice(t,n),i=e[n];if(!(i===void 0||!Q$(i)))return{endIndex:n+1,intermediateString:r,finalCharacter:i}},"readEscapeSequence"),Z$=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"),ag=o(e=>{if(e.includes("\x1B"))return!0;for(let t of e)if(F0(t))return!0;return!1},"hasAnsiControlCharacters"),Ks=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"),j0=o(e=>{if(!ag(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 Ks(t,e,n,r);if(a==="["){let d=B0(e,r+2);if(d===void 0)return Ks(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=Z$(a);if(c!==void 0){let d=H0(e,r+2,c.allowBellTerminator);if(d===void 0)return Ks(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=J$(e,r+1);if(l===void 0){if(W0(a))return Ks(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=B0(e,r+1);if(a===void 0)return Ks(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=H0(e,r+1,s.allowBellTerminator);if(a===void 0)return Ks(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(F0(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 tO=/^[\d:;]*$/,nO=o(e=>{if(!ag(e))return e;let t="";for(let n of j0(e)){if(n.type==="text"||n.type==="osc"){t+=n.value;continue}n.type==="csi"&&n.finalCharacter==="m"&&n.intermediateString===""&&tO.test(n.parameterString)&&(t+=n.value)}return t},"sanitizeAnsi"),U0=nO;var G0=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=G0(r)),i.length>0&&typeof r.internal_transform=="function"&&(i=r.internal_transform(i,n))),t+=i}return U0(t)},"squashTextNodes"),Ac=G0;var mf=o(e=>{let t={nodeName:e,style:{},attributes:{},childNodes:[],parentNode:void 0,yogaNode:e==="ink-virtual-text"?void 0:rO.Node.create(),internal_accessibility:{}};return e==="ink-text"&&t.yogaNode?.setMeasureFunc(oO.bind(null,t)),t},"createNode"),hf=o((e,t)=>{t.parentNode&&_c(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")&&gf(e)},"appendChildNode"),cg=o((e,t,n)=>{t.parentNode&&_c(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")&&gf(e)},"insertBeforeNode"),_c=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")&&gf(e)},"removeChildNode"),lg=o((e,t,n)=>{if(t==="internal_accessibility"){e.internal_accessibility=n;return}e.attributes[t]=n},"setAttribute"),ug=o((e,t)=>{e.style=t},"setStyle"),V0=o(e=>{let t={nodeName:"#text",nodeValue:e,yogaNode:void 0,parentNode:void 0,style:{}};return Lc(t,e),t},"createTextNode"),oO=o(function(e,t){let n=e.nodeName==="#text"?e.nodeValue:Ac(e),r=sg(n);if(r.width<=t||r.width>=1&&t>0&&t<1)return r;let i=e.style?.textWrap??"wrap",s=pf(n,t,i);return sg(s)},"measureTextNode"),K0=o(e=>{if(e?.parentNode)return e.yogaNode??K0(e.parentNode)},"findClosestYogaNode"),gf=o(e=>{K0(e)?.markDirty()},"markNodeAsDirty"),Lc=o((e,t)=>{typeof t!="string"&&(t=String(t)),e.nodeValue=t,gf(e)},"setTextNodeValue");import _e from"yoga-layout";var iO=o((e,t)=>{"position"in t&&e.setPositionType(t.position==="absolute"?_e.POSITION_TYPE_ABSOLUTE:_e.POSITION_TYPE_RELATIVE)},"applyPositionStyles"),sO=o((e,t)=>{"margin"in t&&e.setMargin(_e.EDGE_ALL,t.margin??0),"marginX"in t&&e.setMargin(_e.EDGE_HORIZONTAL,t.marginX??0),"marginY"in t&&e.setMargin(_e.EDGE_VERTICAL,t.marginY??0),"marginLeft"in t&&e.setMargin(_e.EDGE_START,t.marginLeft||0),"marginRight"in t&&e.setMargin(_e.EDGE_END,t.marginRight||0),"marginTop"in t&&e.setMargin(_e.EDGE_TOP,t.marginTop||0),"marginBottom"in t&&e.setMargin(_e.EDGE_BOTTOM,t.marginBottom||0)},"applyMarginStyles"),aO=o((e,t)=>{"padding"in t&&e.setPadding(_e.EDGE_ALL,t.padding??0),"paddingX"in t&&e.setPadding(_e.EDGE_HORIZONTAL,t.paddingX??0),"paddingY"in t&&e.setPadding(_e.EDGE_VERTICAL,t.paddingY??0),"paddingLeft"in t&&e.setPadding(_e.EDGE_LEFT,t.paddingLeft||0),"paddingRight"in t&&e.setPadding(_e.EDGE_RIGHT,t.paddingRight||0),"paddingTop"in t&&e.setPadding(_e.EDGE_TOP,t.paddingTop||0),"paddingBottom"in t&&e.setPadding(_e.EDGE_BOTTOM,t.paddingBottom||0)},"applyPaddingStyles"),cO=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(_e.WRAP_NO_WRAP),t.flexWrap==="wrap"&&e.setFlexWrap(_e.WRAP_WRAP),t.flexWrap==="wrap-reverse"&&e.setFlexWrap(_e.WRAP_WRAP_REVERSE)),"flexDirection"in t&&(t.flexDirection==="row"&&e.setFlexDirection(_e.FLEX_DIRECTION_ROW),t.flexDirection==="row-reverse"&&e.setFlexDirection(_e.FLEX_DIRECTION_ROW_REVERSE),t.flexDirection==="column"&&e.setFlexDirection(_e.FLEX_DIRECTION_COLUMN),t.flexDirection==="column-reverse"&&e.setFlexDirection(_e.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(_e.ALIGN_STRETCH),t.alignItems==="flex-start"&&e.setAlignItems(_e.ALIGN_FLEX_START),t.alignItems==="center"&&e.setAlignItems(_e.ALIGN_CENTER),t.alignItems==="flex-end"&&e.setAlignItems(_e.ALIGN_FLEX_END)),"alignSelf"in t&&((t.alignSelf==="auto"||!t.alignSelf)&&e.setAlignSelf(_e.ALIGN_AUTO),t.alignSelf==="flex-start"&&e.setAlignSelf(_e.ALIGN_FLEX_START),t.alignSelf==="center"&&e.setAlignSelf(_e.ALIGN_CENTER),t.alignSelf==="flex-end"&&e.setAlignSelf(_e.ALIGN_FLEX_END)),"justifyContent"in t&&((t.justifyContent==="flex-start"||!t.justifyContent)&&e.setJustifyContent(_e.JUSTIFY_FLEX_START),t.justifyContent==="center"&&e.setJustifyContent(_e.JUSTIFY_CENTER),t.justifyContent==="flex-end"&&e.setJustifyContent(_e.JUSTIFY_FLEX_END),t.justifyContent==="space-between"&&e.setJustifyContent(_e.JUSTIFY_SPACE_BETWEEN),t.justifyContent==="space-around"&&e.setJustifyContent(_e.JUSTIFY_SPACE_AROUND),t.justifyContent==="space-evenly"&&e.setJustifyContent(_e.JUSTIFY_SPACE_EVENLY))},"applyFlexStyles"),lO=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"),uO=o((e,t)=>{"display"in t&&e.setDisplay(t.display==="flex"?_e.DISPLAY_FLEX:_e.DISPLAY_NONE)},"applyDisplayStyles"),dO=o((e,t)=>{if("borderStyle"in t){let n=t.borderStyle?1:0;t.borderTop!==!1&&e.setBorder(_e.EDGE_TOP,n),t.borderBottom!==!1&&e.setBorder(_e.EDGE_BOTTOM,n),t.borderLeft!==!1&&e.setBorder(_e.EDGE_LEFT,n),t.borderRight!==!1&&e.setBorder(_e.EDGE_RIGHT,n)}},"applyBorderStyles"),fO=o((e,t)=>{"gap"in t&&e.setGap(_e.GUTTER_ALL,t.gap??0),"columnGap"in t&&e.setGap(_e.GUTTER_COLUMN,t.columnGap??0),"rowGap"in t&&e.setGap(_e.GUTTER_ROW,t.rowGap??0)},"applyGapStyles"),pO=o((e,t={})=>{iO(e,t),sO(e,t),aO(e,t),cO(e,t),lO(e,t),uO(e,t),dO(e,t),fO(e,t)},"styles"),dg=pO;import mO from"node:process";var z0=o(()=>mO.env.DEV==="true","isDev");if(z0())try{await import("./devtools-4CRULTR2.js")}catch(e){if(e.code==="ERR_MODULE_NOT_FOUND")console.warn(`
104
+ The environment variable DEV is set to true, so Ink tried to import \`react-devtools-core\`,
105
+ but this failed as it was not installed. Debugging with React Devtools requires it.
106
+
107
+ To install use this command:
108
+
109
+ $ npm install --save-dev react-devtools-core
110
+ `.trim()+`
111
+ `);else throw e}var Y0=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"),q0=o(e=>{e?.unsetMeasureFunc(),e?.freeRecursive()},"cleanupYogaNode"),yf=J0,fg,Q0={name:void 0,version:void 0},zs=hO({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=mf(i);for(let[a,c]of Object.entries(t))if(a!=="children"){if(a==="style"){ug(s,c),s.yogaNode&&dg(s.yogaNode,c);continue}if(a==="internal_transform"){s.internal_transform=c;continue}if(a==="internal_static"){fg=n,s.internal_static=!0,n.isStaticDirty=!0,n.staticNode=s;continue}lg(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 V0(e)},resetTextContent(){},hideTextInstance(e){Lc(e,"")},unhideTextInstance(e,t){Lc(e,t)},getPublicInstance:o(e=>e,"getPublicInstance"),hideInstance(e){e.yogaNode?.setDisplay(X0.DISPLAY_NONE)},unhideInstance(e){e.yogaNode?.setDisplay(X0.DISPLAY_FLEX)},appendInitialChild:hf,appendChild:hf,insertBefore:cg,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:hf,insertInContainerBefore:cg,removeChildFromContainer(e,t){_c(e,t),q0(t.yogaNode)},commitUpdate(e,t,n,r){fg&&e.internal_static&&(fg.isStaticDirty=!0);let i=Y0(n,r),s=Y0(n.style,r.style);if(!(!i&&!s)){if(i)for(let[a,c]of Object.entries(i)){if(a==="style"){ug(e,c);continue}if(a==="internal_transform"){e.internal_transform=c;continue}if(a==="internal_static"){e.internal_static=!0;continue}lg(e,a,c)}s&&e.yogaNode&&dg(e.yogaNode,s)}},commitTextUpdate(e,t,n){Lc(e,n)},removeChild(e,t){_c(e,t),q0(t.yogaNode)},setCurrentUpdatePriority(e){yf=e},getCurrentUpdatePriority:o(()=>yf,"getCurrentUpdatePriority"),resolveUpdatePriority(){return yf!==J0?yf:gO},maySuspendCommit(){return!0},NotPendingTransition:void 0,HostTransitionContext:yO(null),resetFormInstance(){},requestPostPaintCallback(){},shouldAttemptEagerTransition(){return!1},trackSchedulerEvent(){},resolveEventType(){return null},resolveEventTimeStamp(){return-1.1},preloadInstance(){return!0},startSuspendingCommit(){},suspendInstance(){},waitForCommitToBeReady(){return null},rendererPackageName:Q0.name,rendererVersion:Q0.version});import RO from"widest-line";import kO from"indent-string";import wo from"yoga-layout";import xf from"yoga-layout";var xO=o(e=>e.getComputedWidth()-e.getComputedPadding(xf.EDGE_LEFT)-e.getComputedPadding(xf.EDGE_RIGHT)-e.getComputedBorder(xf.EDGE_LEFT)-e.getComputedBorder(xf.EDGE_RIGHT),"getMaxWidth"),Z0=xO;import bO from"cli-boxes";import Sf from"chalk";import Ur from"chalk";var SO=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,wO=/^ansi256\(\s?(\d+)\s?\)$/,TO=o(e=>e in Ur,"isNamedColor"),CO=o((e,t,n)=>{if(!t)return e;if(TO(t)){if(n==="foreground")return Ur[t](e);let r=`bg${t[0].toUpperCase()+t.slice(1)}`;return Ur[r](e)}if(t.startsWith("#"))return n==="foreground"?Ur.hex(t)(e):Ur.bgHex(t)(e);if(t.startsWith("ansi256")){let r=wO.exec(t);if(!r)return e;let i=Number(r[1]);return n==="foreground"?Ur.ansi256(i)(e):Ur.bgAnsi256(i)(e)}if(t.startsWith("rgb")){let r=SO.exec(t);if(!r)return e;let i=Number(r[1]),s=Number(r[2]),a=Number(r[3]);return n==="foreground"?Ur.rgb(i,s,a)(e):Ur.bgRgb(i,s,a)(e)}return e},"colorize"),ci=CO;var IO=o((e,t,n,r)=>{if(n.style.borderStyle){let i=n.yogaNode.getComputedWidth(),s=n.yogaNode.getComputedHeight(),a=typeof n.style.borderStyle=="string"?bO[n.style.borderStyle]:n.style.borderStyle,c=n.style.borderTopColor??n.style.borderColor,l=n.style.borderBottomColor??n.style.borderColor,d=n.style.borderLeftColor??n.style.borderColor,f=n.style.borderRightColor??n.style.borderColor,p=n.style.borderTopDimColor??n.style.borderDimColor,m=n.style.borderBottomDimColor??n.style.borderDimColor,h=n.style.borderLeftDimColor??n.style.borderDimColor,w=n.style.borderRightDimColor??n.style.borderDimColor,T=n.style.borderTop!==!1,S=n.style.borderBottom!==!1,C=n.style.borderLeft!==!1,M=n.style.borderRight!==!1,E=i-(C?1:0)-(M?1:0),P=T?ci((C?a.topLeft:"")+a.top.repeat(E)+(M?a.topRight:""),c,"foreground"):void 0;T&&p&&(P=Sf.dim(P));let D=s;T&&(D-=1),S&&(D-=1);let L=(ci(a.left,d,"foreground")+`
112
+ `).repeat(D);h&&(L=Sf.dim(L));let y=(ci(a.right,f,"foreground")+`
113
+ `).repeat(D);w&&(y=Sf.dim(y));let W=S?ci((C?a.bottomLeft:"")+a.bottom.repeat(E)+(M?a.bottomRight:""),l,"foreground"):void 0;S&&m&&(W=Sf.dim(W));let de=T?1:0;P&&r.write(e,t,P,{transformers:[]}),C&&r.write(e,t+de,L,{transformers:[]}),M&&r.write(e+i-1,t+de,y,{transformers:[]}),W&&r.write(e,t+s-1,W,{transformers:[]})}},"renderBorder"),eI=IO;var vO=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=ci(" ".repeat(f),n.style.backgroundColor,"background");for(let h=0;h<p;h++)r.write(e+a,t+l+h,m,{transformers:[]})},"renderBackground"),tI=vO;var EO=o((e,t)=>{let n=e.childNodes[0]?.yogaNode;if(n){let r=n.getComputedLeft(),i=n.getComputedTop();t=`
114
+ `.repeat(i)+kO(t,r)}return t},"applyPaddingToText"),wf=o((e,t={})=>{if(t.skipStaticElements&&e.internal_static||e.yogaNode?.getDisplay()===wo.DISPLAY_NONE)return"";let n="";if(e.nodeName==="ink-text")n=Ac(e);else if(e.nodeName==="ink-box"||e.nodeName==="ink-root"){let r=e.style.flexDirection==="row"||e.style.flexDirection==="row-reverse"?" ":`
115
+ `;n=(e.style.flexDirection==="row-reverse"||e.style.flexDirection==="column-reverse"?[...e.childNodes].reverse():[...e.childNodes]).map(s=>wf(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"),pg=null;function nI(){pg=null}o(nI,"resetScrollHint");function rI(){return pg}o(rI,"getScrollHint");var oI=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(),f=s;if(typeof e.internal_transform=="function"&&(f=[e.internal_transform,...s]),e.nodeName==="ink-text"){let h=Ac(e);if(h.length>0){let w=RO(h),T=Z0(c);if(w>T){let S=e.style.textWrap??"wrap";h=pf(h,T,S)}h=EO(e,h),t.write(l,d,h,{transformers:f})}return}let p=!1,m=0;if(e.nodeName==="ink-box"){tI(l,d,e,t),eI(l,d,e,t);let h=e.style.overflowX??e.style.overflow,w=e.style.overflowY??e.style.overflow,T=h==="hidden"||h==="scroll",S=w==="hidden"||w==="scroll";if(w==="scroll"){let C=c.getComputedBorder(wo.EDGE_TOP),M=c.getComputedBorder(wo.EDGE_BOTTOM),E=Math.max(0,c.getComputedHeight()-C-M),P=e.attributes?.virtualScrollWindowed===!0,D=e.childNodes[0],L=Math.max(0,Math.floor(P?e.attributes?.scrollHeight??0:D?.yogaNode?.getComputedHeight()??e.attributes?.scrollHeight??0)),y=typeof e.scrollHeight=="number"?e.scrollHeight:L,W=$u({rawScrollTop:e.scrollTop??e.attributes?.scrollTop??0,contentHeight:L,viewportHeight:E,previousScrollHeight:y,stickyScroll:e.stickyScroll??!!e.attributes?.stickyScroll,clampMin:e.attributes?.scrollClampMin,clampMax:e.attributes?.scrollClampMax,virtualScrollWindowed:P,inWindowScrollTop:e.attributes?.inWindowScrollTop,previousAppliedScrollTop:e.appliedScrollTop,regionTop:d+C});e.scrollHeight=W.scrollHeight,e.scrollViewportHeight=E,e.scrollViewportTop=W.viewportTop,e.appliedScrollTop=W.appliedScrollTop,W.scrollHint&&(pg=W.scrollHint),e.scrollTop=W.scrollTop,m=W.scrollOffsetY}if(T||S){let C=T?l+c.getComputedBorder(wo.EDGE_LEFT):void 0,M=T?l+c.getComputedWidth()-c.getComputedBorder(wo.EDGE_RIGHT):void 0,E=S?d+c.getComputedBorder(wo.EDGE_TOP):void 0,P=S?d+c.getComputedHeight()-c.getComputedBorder(wo.EDGE_BOTTOM):void 0;t.clip({x1:C,x2:M,y1:E,y2:P}),p=!0}}if(e.nodeName==="ink-root"||e.nodeName==="ink-box"){for(let h of e.childNodes)oI(h,t,{offsetX:l,offsetY:d-m,transformers:f,skipStaticElements:a});p&&t.unclip()}}},"renderNodeToOutput"),mg=oI;import MO from"slice-ansi";import AO from"string-width";import{styledCharsFromTokens as _O,styledCharsToString as LO,tokenize as PO}from"@alcalzone/ansi-tokenize";var hg=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=_O(PO(t)),this.styledChars.set(t,n)),n}getStringWidth(t){let n=this.widths.get(t);return n===void 0&&(n=AO(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(`
116
+ `))r=Math.max(r,this.getStringWidth(i));n=r,this.blockWidths.set(t,n)}return n}},Xs=class{static{o(this,"Output")}width;height;operations=[];caches=new hg;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(`
117
+ `),d=n.at(-1);if(d){let p=typeof d?.x1=="number"&&typeof d?.x2=="number",m=typeof d?.y1=="number"&&typeof d?.y2=="number";if(p){let h=this.caches.getWidestLine(i);if(a+h<d.x1||a>d.x2)continue}if(m){let h=l.length;if(c+h<d.y1||c>d.y2)continue}if(p&&(l=l.map(h=>{let w=a<d.x1?d.x1-a:0,T=this.caches.getStringWidth(h),S=a+T>d.x2?d.x2-a:T;return MO(h,w,S)}),a<d.x1&&(a=d.x1)),m){let h=c<d.y1?d.y1-c:0,w=l.length,T=c+w>d.y2?d.y2-c:w;l=l.slice(h,T),c<d.y1&&(c=d.y1)}}let f=0;for(let[p,m]of l.entries()){let h=t[c+f];if(!h)continue;for(let S of s)m=S(m,p);let w=this.caches.getStyledChars(m),T=a;for(let S of w){h[T]=S;let C=Math.max(1,this.caches.getStringWidth(S.value));if(C>1)for(let M=1;M<C;M++)h[T+M]={type:"char",value:"",fullWidth:!1,styles:S.styles};T+=C}f++}}return t}get(){let t=this.getGrid();return{output:t.map(r=>{let i=r.filter(s=>s!==void 0);return LO(i).trimEnd()}).join(`
118
+ `),height:t.length}}};var $O=o((e,t,n)=>{if(e.yogaNode){if(t){let p=wf(e,{skipStaticElements:!0}),m=p===""?0:p.split(`
119
+ `).length,h="";return e.staticNode&&(h=wf(e.staticNode,{skipStaticElements:!1})),{output:p,outputHeight:m,staticOutput:h?`${h}
120
+ `:"",frame:void 0}}let r=new Xs({width:e.yogaNode.getComputedWidth(),height:e.yogaNode.getComputedHeight()});nI(),mg(e,r,{skipStaticElements:!0});let i;e.staticNode?.yogaNode&&(i=new Xs({width:e.staticNode.yogaNode.getComputedWidth(),height:e.staticNode.yogaNode.getComputedHeight()}),mg(e.staticNode,i,{skipStaticElements:!1}));let{output:s,height:a}=r.get(),c=Nu(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:rI()};return{output:s,outputHeight:a,staticOutput:i?`${i.get().output}
121
+ `:"",frame:f}}return{output:"",outputHeight:0,staticOutput:"",frame:void 0}},"renderer"),gg=$O;var NO=o((e,t)=>{let n=t?.columns??80,r=mf("ink-root"),i="";r.onComputeLayout=()=>{r.yogaNode.setWidth(n),r.yogaNode.calculateLayout(void 0,void 0,OO.DIRECTION_LTR)},r.onImmediateRender=()=>{let{staticOutput:l}=gg(r,!1);l&&l!==`
122
+ `&&(i+=l)};let s,a=zs.createContainer(r,DO,null,!1,null,"render-to-string",l=>{s??=l},()=>{},()=>{},()=>{}),c=!1;try{zs.updateContainerSync(e,a,null,()=>{}),zs.flushSyncWork();let{output:l}=gg(r,!1);if(zs.updateContainerSync(null,a,null,()=>{}),zs.flushSyncWork(),c=!0,r.yogaNode.free(),s!==void 0)throw s instanceof Error?s:new Error(String(s));let d=i.endsWith(`
123
+ `)?i.slice(0,-1):i;return d&&l?d+`
124
+ `+l:d||l}finally{if(!c&&r.yogaNode)try{r.yogaNode.freeRecursive()}catch{}}},"renderToString"),iI=NO;var BO="\x1B[0m";function aI(e,t){if(e.length===0)return"";let n=sI(R,{flexDirection:"column",children:e.map(s=>sI(ih,{section:s,theme:t.theme,animateSpinners:!1},s.key))}),r=iI(n,{columns:t.width});return(r.endsWith(`
125
+ `)?r.slice(0,-1):r)+BO+`
126
+ `}o(aI,"renderFinalizedSectionsToScrollbackText");function cI(e){return e.enabled&&!e.useRendererViewportShell&&!e.isTranscriptMode&&e.hasCommitHandle}o(cI,"isInlineLedgerActive");function lI(e){if(!e.active)return{kind:"reset"};if(!e.hasCommitHandle)return{kind:"skip"};let t=!e.wasActive,n=t?Vs:e.prior,{plan:r,nextState:i}=O0({bannerSection:e.bannerSection??null,finalizedSections:e.finalizedSections,width:e.width},e.identify??hC,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(lI,"computeInlineLedgerStep");function uI(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:Vs,wasActive:!1,owns:!0}:{state:Vs,wasActive:!1,owns:n}}o(uI,"resolveInlineLedgerState");function dI(e,t){return t?{...e,staticSections:[]}:e}o(dI,"gateInlinePromptModel");function HO(e){switch(e.type){case"tool_group":return e.tools.map(t=>{let n=[t.name];return typeof t.output=="string"&&n.push(Mt(t.output)),t.error&&n.push(Mt(t.error)),n.join(`
127
+ `)}).join(`
128
+ `);case"assistant":case"user":case"system":case"thinking":case"error":case"info":case"hint":return Mt(e.text);default:return""}}o(HO,"buildSearchText");function WO(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(WO,"buildExcerpt");function fI(e){return e.map((t,n)=>({itemId:t.id,itemIndex:n,searchText:HO(t)}))}o(fI,"createTranscriptSearchIndex");function pI(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:WO(i,t.trim())}]:[]}):[]}o(pI,"searchTranscriptIndex");function yg(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(yg,"stepTranscriptSearchMatch");function mI(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(mI,"buildTranscriptSearchSummary");function hI(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(hI,"resolveTranscriptSearchMatchIndex");function gI(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:FO(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(gI,"buildTranscriptSelectionSummary");function FO(e){return e.tools.length===1?`Tool call: ${e.tools[0]?.name??"tool"}`:`Tool group: ${e.tools.length} calls`}o(FO,"summarizeToolGroup");function yI(e){return e.map(t=>t.id)}o(yI,"getSelectableTranscriptItemIds");function xI(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(xI,"moveTranscriptSelection");function xg(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: ${Mt(t.output)}`),t.error&&n.push(`Error: ${Mt(t.error)}`),n.join(`
129
+ `)}).join(`
130
+
131
+ `);case"assistant":case"user":case"system":case"thinking":case"error":case"info":case"hint":return Mt(e.text);default:return}}o(xg,"buildTranscriptCopyText");function SI(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(`
132
+ `)}).filter(n=>!!n);return t.length>0?t.join(`
133
+
134
+ `):void 0}o(SI,"buildTranscriptToolInputCopyText");import{useCallback as Pc,useRef as jO,useState as wI}from"react";function TI(e){let{state:t,ownsViewport:n,isAwaitingUserInteraction:r,isHistorySearchActive:i,isTranscriptMode:s,historySearchQuery:a}=e,c=T0(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(TI,"buildTranscriptChromeModel");function CI(e){return Math.max(1,e-2)}o(CI,"resolveTranscriptPageSize");function bI(e){return Math.max(3,Math.floor(e/4))}o(bI,"resolveTranscriptWheelStep");function UO(e,t){return Math.max(0,e+t)}o(UO,"incrementTranscriptScrollOffset");function II(e,t,n){let r=Math.max(0,t-n);return Math.min(Math.max(0,e),r)}o(II,"clampTranscriptScrollOffset");function vI(){let e=jO(null),[t,n]=wI(0),[r,i]=wI(!0),s=Pc(f=>{n(Math.max(0,f))},[]),a=Pc(f=>{i(f)},[]),c=Pc(f=>{if(e.current){e.current.scrollTo(f);return}n(Math.max(0,f)),i(f===0)},[]),l=Pc(f=>{if(e.current){e.current.scrollBy(f);return}n(p=>UO(p,f)),i(!1)},[]),d=Pc(()=>{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(vI,"useTranscriptViewportScrollController");function RI(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??As(t,r,i,d,l)).find(w=>w.key===a);if(!p||p.rows.length===0)return!1;let m=new Set(c.map(w=>w.key)),h=Math.max(0,s??0);return h>0&&p.rows.length<=h?p.rows.every(w=>m.has(w.key)):m.has(p.rows[0]?.key??"")}o(RI,"isTranscriptItemVisible");function kI(e){let{items:t,renderModel:n,terminalWidth:r,transcriptMaxLines:i,viewportRows:s,itemId:a,expandedItemKeys:c,showDetailedTools:l=!1}=e,d=n?.sections??As(t,r,i,l,c);return SC(d,a,s)}o(kI,"resolveTranscriptSelectionOffset");function EI(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??As(t,i,s,d,l),m=n?.rows??ti(p),w=nh(m,a,c)[0]?.key,T=w?p.find(S=>S.rows.some(C=>C.key===w)):void 0;if(T?.key)return T.key}return t[t.length-1]?.id}o(EI,"resolveTranscriptSearchAnchorItemId");function MI(e){let t=lc(e.stickyHeader),n=nd(t,e.width),r=Math.max(0,e.topChromeRows??0);return{contentWindow:e.window,topOffsetRows:n+r,stickyHeaderRows:n,topChromeRows:r}}o(MI,"resolveTranscriptOwnedWindowGeometry");function GO(e){return e.text===" "?"":Mt(e.text)}o(GO,"normalizeTranscriptRowText");function Sg(e){let t=new Map;return e.forEach((n,r)=>{t.set(n.key,r)}),t}o(Sg,"buildTranscriptRowIndexByKey");function VO(e,t={}){let n=Math.max(0,e.indent??0),r=e.spinner&&t.animateSpinners!==!1?2:0;return 1+n+r}o(VO,"resolveTranscriptTextStartColumn");function AI(e,t={}){let n=Math.max(0,t.topOffsetRows??0),r=t.rowIndexByKey??Sg(t.allRows??e),i=e.map((s,a)=>{let c=GO(s),l=VO(s,t),d=po(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+bC(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(AI,"buildTranscriptScreenBuffer");function KO(e,t){let n=Math.max(1,Math.floor(t));return IC(e.text,n-e.textStartColumn)}o(KO,"clampTextColumn");function wg(e,t){return{screenRow:e,point:{rowKey:e.key,modelRowIndex:e.modelRowIndex,column:KO(e,t)}}}o(wg,"toHit");function Tg(e,t,n){let r=e.rows.find(i=>i.screenRow===t);return r?wg(r,n):void 0}o(Tg,"hitTestTranscriptScreen");function Cg(e,t,n){if(e.rows.length!==0)return t<=e.topRow?wg(e.rows[0],n):t>=e.bottomRow?wg(e.rows[e.rows.length-1],n):Tg(e,t,n)}o(Cg,"clampTranscriptScreenHit");function _I(e){return e.text===" "?"":Mt(e.text)}o(_I,"normalizeTranscriptRowText");function LI(e,t){return e.modelRowIndex!==t.modelRowIndex?e.modelRowIndex-t.modelRowIndex:e.column-t.column}o(LI,"comparePoints");function PI(e,t,n,r={}){if(e.length===0)return;let[i,s]=LI(t,n)<=0?[t,n]:[n,t],a=r.selectFullRowOnCollapsed===!0,c=LI(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:po(_I(d))}:s,m=new Map,h=[],w=0;for(let T=f.modelRowIndex;T<=p.modelRowIndex;T+=1){let S=e[T];if(!S)continue;let C=_I(S),M=po(C),E=T===f.modelRowIndex?f.column:0,P=T===p.modelRowIndex?p.column:M,D=Math.max(0,Math.min(E,M)),L=Math.max(D,Math.min(P,M)),y=_s(C,D,L);L>D&&(m.set(S.key,{start:D,end:L}),w+=L-D),h.push(y)}if(m.size!==0)return{anchor:t,focus:n,rowRanges:m,rowCount:h.length,charCount:w,text:h.join(`
135
+ `)}}o(PI,"buildTranscriptScreenSelection");function $I(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($I,"buildTranscriptScreenSelectionSummary");function OI(e,t){return e.rows.length===0?0:t<e.topRow?1:t>e.bottomRow?-1:0}o(OI,"resolveTranscriptDragEdgeScrollDirection");function Tf(e){return e?e.map(t=>({label:t.label,value:t.value,description:t.description})):[]}o(Tf,"toSelectOptions");function bg(e){return e.question}o(bg,"getAskUserDialogTitle");function DI(e){return!!e.activity}o(DI,"shouldRenderPromptActivityInFooter");function zO(e){switch(e){case"confirm":return oe("waiting.confirm");case"select":return oe("waiting.select");case"input":return oe("waiting.input")}}o(zO,"formatPromptWaitingText");function NI(e){return e.waitingReason==="confirm"?oe("placeholder.confirm"):e.waitingReason==="select"?oe("placeholder.select"):e.waitingReason==="input"?oe("placeholder.input"):e.isLoading?e.canQueueFollowUps?oe("placeholder.queue"):oe("placeholder.busy"):oe("placeholder.idle")}o(NI,"buildPromptPlaceholderText");function BI(e){return e.isTranscriptMode?void 0:e.waitingReason?{kind:"waiting",text:zO(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:sh({activeToolCount:e.streamingState.activeToolCalls.filter(n=>n.status===H.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(BI,"buildPromptActivityViewModel");function HI(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(HI,"resolveEffectiveCompactionInfo");function WI(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===H.Executing).length,thinking:e.thinking,reasoningMode:e.reasoningMode,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(WI,"buildSurfaceStatusBarProps");function FI(e){let t=ig(e.state),n=t?ff(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&&w0(e.state)},toggleDetail:t&&!!n,navigationCapabilities:{selection:t&&!!n&&e.selectableItemIds.length>0}}}o(FI,"buildTranscriptSelectionRuntimeState");function jI(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(jI,"buildTranscriptSelectionViewModel");function UI(e){return{query:e.query,matches:e.matches,currentMatchIndex:e.currentMatchIndex,anchorItemId:e.anchorItemId,statusText:e.useOverlaySurface?void 0:e.statusText}}o(UI,"buildTranscriptSearchViewModel");function XO(e,t){return e===0?0:t<0?-1:Math.min(t,e-1)}o(XO,"clampTranscriptSearchSelectedIndex");function YO(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(YO,"buildTranscriptSearchDetailText");function GI(e){let t=XO(e.matches.length,e.selectedIndex),n=mI(e.matches,t),r=YO({isHistorySearchActive:e.isHistorySearchActive,historySearchQuery:e.historySearchQuery,matches:e.matches,clampedSelectedIndex:t});return{clampedSelectedIndex:t,statusText:n,detailText:r,searchState:UI({query:e.historySearchQuery,matches:e.matches,currentMatchIndex:t,anchorItemId:e.anchorItemId,statusText:n,useOverlaySurface:e.useOverlaySurface})}}o(GI,"buildTranscriptSearchChrome");function qO(e=!1){return`\u2190/\u2192 enter select mode | Ctrl+E ${e?"collapse":"show all"} | Mouse drag selects text`}o(qO,"buildDefaultTranscriptSecondaryText");function VI(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(VI,"buildFooterNotifications");function KI(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(KI,"buildBaseFooterNotices");function zI(e){if(e.inputText.trim()&&(e.isTranscriptMode||e.isHistorySearchActive))return"Draft preserved while viewing transcript"}o(zI,"buildStashNoticeText");function XI(e){return[...e]}o(XI,"buildPromptFooterNotices");function QO(e){let n=(e.isHistorySearchActive?[e.historySearchDetailText]:[e.selectionSummary,e.actionSummary]).filter(r=>!!(r&&r.trim().length>0));return n.length===0?qO(e.showAllActive):n.join(" | ")}o(QO,"buildTranscriptFooterSecondaryText");function JO(e){let t=[];return e&&t.push(e),t}o(JO,"buildTranscriptFooterBudgetNotices");function YI(e){let t=e.selectionState?.copyCapabilities,n=e.selectionState?.navigationCapabilities,i=$I(e.textSelection),s=e.textSelection?Ps({copyMessage:!0,copyToolInput:!1,copyOnSelect:!!t?.copyOnSelect,toggleDetail:!1,selectionNavigation:!1,matchNavigation:!1,dismissAction:"clear"}):e.selectionState?.itemSummary?Ps({copyMessage:!!t?.message,copyToolInput:!!t?.toolInput,copyOnSelect:!!t?.copyOnSelect,toggleDetail:!!e.selectionState?.toggleDetail,selectionNavigation:!!n?.selection,matchNavigation:!1,dismissAction:"clear"}):void 0,a=QO({isHistorySearchActive:e.isHistorySearchActive,historySearchDetailText:e.historySearchDetailText,selectionSummary:i,actionSummary:s,showAllActive:e.showAllActive,baseFooterNotices:e.baseFooterNotices});return{selectionSummary:i,actionSummary:s,secondaryText:a,budgetNotices:JO(a)}}o(YI,"buildTranscriptFooterViewModel");import{jsx as H6,jsxs as W6}from"react/jsx-runtime";function qI(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(qI,"formatAmaWorkStripText");function QI(e){return e.replace(/^\[[^\]]+\]\s*/,"").trim()}o(QI,"stripLiveActivityPrefix");function JI(e){let t=[],n=e.showPrimary??!0;if(e.isLoading&&n){let l=e.currentTool?QI(hd(e.currentTool,e.toolInputContent??"",e.toolInputCharCount??0)):void 0,d=e.liveActivityLabel?QI(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(JI,"buildBackgroundTaskViewModel");function ZI(e,t){if(!(!t||!e||e.agentMode!=="ama"&&e.agentMode!=="amaw"))return qI(e.childFanoutClass,e.childFanoutCount)}o(ZI,"buildAmaWorkStripFromStatus");function Ig(e){let t=ZI(e.status,e.isLoading);return{workStripText:t,backgroundTask:JI({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(Ig,"buildAmaSummaryViewModel");function vg(e){return{...e,items:[...e.items],managedLiveEvents:[...e.managedLiveEvents??[]]}}o(vg,"captureTranscriptSnapshot");function ev(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(ev,"countPendingTranscriptUpdates");function tv(e){return e.snapshot?[...e.snapshot.items]:e.surface==="transcript"?[...e.transcriptItems]:[...e.promptItems]}o(tv,"resolveTranscriptSurfaceItems");function nv(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(nv,"buildPromptSurfaceItems");function rv(e,t){return e.enabled?t==="transcript"?e.transcriptShell:e.promptShell:"main-screen"}o(rv,"resolveFullscreenShellMode");function ZO(e,t){return e.enabled&&rv(e,t)==="virtual"}o(ZO,"shouldUseRendererViewportShell");function ov(e,t){let n=rv(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(ov,"resolveTranscriptInteractionPolicy");function iv(e,t,n){return ZO(e,t)?t==="transcript"||n:!1}o(iv,"shouldOwnTranscriptViewport");var eD=500,tD=1,nD=/[\p{L}\p{N}_/.\-+~\\]/u;function rD(e){return e.text===" "?"":e.text}o(rD,"normalizeTranscriptRowText");function sv(e,t){return e.modelRowIndex!==t.modelRowIndex?e.modelRowIndex-t.modelRowIndex:e.column-t.column}o(sv,"comparePoints");function Rg(e){return e===""||/\s/.test(e)?0:nD.test(e)?1:2}o(Rg,"charClass");function av(e){let t=e.timeoutMs??eD,n=e.distance??tD,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(av,"resolveTranscriptMultiClickState");function Cf(e,t,n){let r=e[t.modelRowIndex];if(!r)return;let i=rD(r);if(n==="line")return{kind:n,start:{...t,column:0},end:{...t,column:po(i)}};let s=po(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=Rg(bd(i,a)),l=a,d=a+1;for(;l>0&&Rg(bd(i,l-1))===c;)l-=1;for(;d<s&&Rg(bd(i,d))===c;)d+=1;return{kind:n,start:{...t,column:l},end:{...t,column:d}}}o(Cf,"resolveTranscriptSelectionSpanAt");function kg(e,t){return sv(t.end,e.start)<0?{anchor:e.end,focus:t.start}:sv(t.start,e.end)>0?{anchor:e.start,focus:t.end}:{anchor:e.start,focus:e.end}}o(kg,"extendTranscriptSelectionSpan");function Ys(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(Ys,"buildHostSessionPayload");var sD=500;function aD(e){return typeof e.appendSessionDelta=="function"}o(aD,"hasAppendSessionDelta");function lv(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(lv,"applyRuntimeSessionSnapshot");var cD=12,uv="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 bf(e,t){if(ln(e))return[t.getGuardrail()]}o(bf,"buildAutoModeGuardrails");function lD(e,t){return e.reasoningMode?e.reasoningMode:t.reasoningMode?t.reasoningMode:e.thinking===!0||t.thinking===!0?"auto":"off"}o(lD,"resolveInitialReasoningMode");function Eg(e){return Mt(e.map(t=>typeof t=="string"?t:String(t)).join(" "))}o(Eg,"formatCapturedConsoleOutput");function Mg(e){let t=e.map(Mt).join(`
136
+ `).trimEnd();return t.trim().length>0?t:void 0}o(Mg,"joinCapturedConsoleOutput");function uD(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(uD,"buildManagedTranscriptCompactText");function dv(e){let t=uD(e);return{type:"event",icon:Uh(e)?"\u2713":">",text:e,...t&&t!==e?{compactText:t}:{}}}o(dv,"toManagedTranscriptEventItem");function To(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"tool_group":return{type:"tool_group",tools:e.tools};case"user":return{type:"user",text:e.text};default:return e}}o(To,"toCreatableHistoryItem");function _g(e){return gS(e)?"":es(e).trim()}o(_g,"sanitizeInterruptedAssistantText");function fv(e){return!!(e?.activeWorkerId&&!e.childFanoutClass&&(e.phase==="preflight"||e.phase==="worker"))}o(fv,"isForegroundManagedStreamingStatus");function dD(e,t,n){let r=[],i=n?.infoItems??[],s=Lg({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=_g(t);return a&&r.push({type:"assistant",text:`${a}
137
+
138
+ [Interrupted]`}),r}o(dD,"buildInterruptedPersistenceItems");function Lg({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(Lg,"buildRoundHistoryItems");var fD=20,pD="Session ended before the tool completed.";function mD(e){switch(e.status){case H.Success:return{status:"success"};case H.Error:return{status:"error"};case H.Cancelled:return{status:"cancelled"};case H.AwaitingApproval:case H.Scheduled:case H.Validating:case H.Executing:return{status:"cancelled",error:pD};default:return e.status}}o(mD,"toPersistedToolStatus");function hD(e){if(!e.id||!e.name)return;let t=mD(e),n=t.status==="success"?Bp(e.output):void 0,r=t.status==="error"||t.status==="cancelled"?Np(e.error??Bp(e.output)??t.error??""):void 0,i=pS(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:Np(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(hD,"toPersistedToolCall");function gD(e){let t=e.tools.slice(0,fD).map(hD).filter(n=>!!n);return t.length>0?{type:"tool_group",tools:t}:void 0}o(gD,"toPersistedToolGroup");function xv(e){if(e.type==="tool_group")return gD(e);let t="text"in e&&typeof e.text=="string"?e.text.trimEnd():"";if(!t)return;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(xv,"toPersistedUiHistoryItem");var pv=process.env.KODAX_TRANSCRIPT_HARNESS_MARKERS==="1",yD=process.env.KODAX_SCROLL_OVERSCAN==="1"?80:void 0;function mv(e){return Wr(e.map(t=>xv(t)).filter(t=>!!t))}o(mv,"serializeUiHistorySnapshot");function xD(e){return e.map(t=>xv(t)).filter(t=>!!t)}o(xD,"serializeCreatableHistoryItems");function If(e,t){return t.length===0?Wr(e):Wr([...e,...xD(t)])}o(If,"appendPersistedUiHistorySnapshot");function $c(e,t,n){console.log((e==="block"?Qe.red:Qe.yellow)(t)),n.forEach(r=>console.log(Qe.dim(r)))}o($c,"logSessionTransitionGuard");var Ag=o(({config:e,sessionId:t,workingDir:n,compactionInfo:r})=>{let i=ne("dark"),s=e.model??Pn(e.provider)??e.provider,a=au(e.provider,e.model),c=cu(a),l=r?Math.round(r.contextWindow/1e3):0,d=r?Math.round(r.contextWindow*r.triggerPercent/100/1e3):0;return nn(R,{flexDirection:"column",marginBottom:1,children:[Vh.map((f,p)=>ie(b,{color:i.colors.primary,children:f},p)),nn(R,{children:[ie(b,{color:i.colors.primary,children:" \u258E "}),ie(b,{color:i.colors.primary,children:"AI Coding Agent \xB7 Minimalist & Intelligent"})]}),nn(R,{children:[ie(b,{color:i.colors.success,children:" \u258E "}),nn(b,{bold:!0,color:i.colors.text,children:["v",Ji]}),ie(b,{dimColor:!0,children:" \xB7 "}),nn(b,{color:i.colors.success,children:[e.provider,"/",s]}),ie(b,{dimColor:!0,children:` [${c}]`}),ie(b,{dimColor:!0,children:" \xB7 "}),ie(b,{color:i.colors.primary,children:e.agentMode.toUpperCase()}),ie(b,{dimColor:!0,children:" / "}),ie(b,{color:i.colors.accent,children:e.permissionMode}),e.reasoningMode!=="off"&&nn(yv,{children:[ie(b,{dimColor:!0,children:" \xB7 "}),ie(b,{color:i.colors.warning,children:`reason:${e.reasoningMode}`})]})]}),r&&nn(R,{children:[ie(b,{color:i.colors.accent,children:" \u258E "}),ie(b,{color:i.colors.text,children:`ctx ${l}k \xB7 compaction `}),ie(b,{color:r.enabled?i.colors.success:i.colors.text,children:r.enabled?"on":"off"}),ie(b,{color:i.colors.text,children:` @ ${r.triggerPercent}% (${d}k)`})]}),nn(R,{children:[ie(b,{color:i.colors.secondary,children:" \u258E "}),ie(b,{color:i.colors.text,children:"session "}),ie(b,{color:i.colors.primary,children:t}),ie(b,{color:i.colors.text,children:" \xB7 "}),ie(b,{color:i.colors.text,children:n})]})]})},"Banner");function SD(e){let t=e.config.model??Pn(e.config.provider)??e.config.provider,n=au(e.config.provider,e.config.model),r=cu(n),i=e.compactionInfo?Math.round(e.compactionInfo.contextWindow/1e3):0,s=e.compactionInfo?Math.round(e.compactionInfo.contextWindow*e.compactionInfo.triggerPercent/100/1e3):0,a=" \u258E AI Coding Agent \xB7 Minimalist & Intelligent",c=` \u258E v${Ji} \xB7 ${e.config.provider}/${t} [${r}] \xB7 ${e.config.agentMode.toUpperCase()} / ${e.config.permissionMode}${e.config.reasoningMode!=="off"?` \xB7 reason:${e.config.reasoningMode}`:""}`,l=e.compactionInfo?` \u258E ctx ${i}k \xB7 compaction ${e.compactionInfo.enabled?"on":"off"} @ ${e.compactionInfo.triggerPercent}% (${s}k)`:void 0,d=` \u258E session ${e.sessionId} \xB7 ${e.workingDir}`,f=[],p=o(h=>{let w=dn(h.length>0?h.split(`
139
+ `):[""],Math.max(1,e.terminalWidth),0,0);return w.visualLines.length>0?w.visualLines:[""]},"wrapBannerLine"),m=o((h,w,T)=>{p(w).forEach((S,C)=>{f.push({key:`${h}-${C}`,text:S,...T})})},"pushLineRows");return Vh.forEach((h,w)=>{m(`banner-logo-${w}`,h,{color:"primary"})}),m("banner-tagline",a,{color:"primary"}),m("banner-version",c,{color:"text",bold:!0}),l&&m("banner-compaction",l,{color:"text"}),m("banner-session",d,{color:"text"}),f.push({key:"banner-blank",text:" "}),{key:"banner",rows:f}}o(SD,"buildBannerTranscriptSection");function hv(e,t){return t?{...e,sections:[t,...e.sections],rows:[...t.rows,...e.rows]}:e}o(hv,"prependTranscriptSection");var wD=process.env.KODAX_INLINE_LEDGER!=="0";function gv(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
140
+ `)}o(gv,"reportInlineLedgerFailure");var TD=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,onAgentsFilesReload:m,teamModeHandle:h})=>{let{exit:w}=lo(),{stdout:T}=pr(),S=T.rows??24,{stdin:C,setRawMode:M,isRawModeSupported:E}=ic(),P=Is(),{history:D}=Sc(),L=cv.useRef(null),y=cv.useRef(tS()),{addHistoryItem:W,addHistoryItems:de,clearHistory:xe,setSessionId:me}=wc(),Z=we(D),O=we(mv(D));je(()=>{Z.current=D,O.current=mv(D)},[D]),je(()=>{n0()},[]),je(()=>{ES()},[]);let k=T.columns||80,$=Ic(),Le=we($);je(()=>{Le.current=$},[$]);let{startStreaming:Q,stopStreaming:X,abort:le,startThinking:Ee,appendThinkingChars:He,appendThinkingContent:F,stopThinking:fe,clearThinkingContent:be,setCurrentTool:ce,appendToolInputChars:it,appendToolInputContent:re,clearToolInputContent:Pe,clearResponse:We,appendResponse:Ct,getSignal:ue,getFullResponse:Ce,getThinkingContent:Se,startNewIteration:Ke,clearIterationHistory:A,startCompacting:K,stopCompacting:j,setMaxIter:pe,addPendingInput:Me,removeLastPendingInput:$e,shiftPendingInput:N,consumePendingInputs:se}=vc(),[ye,he]=Ue(!1),[G,gt]=Ue(t),et=ge(()=>HI(c,{provider:G.provider,model:G.model},La),[c,G.provider,G.model]),[Bt,Bf]=Ue(!0),[Hf,wB]=Ue(!0),[Gc,Vc]=Ue(0),[Wf,ta]=Ue(!1),[Qg,Wn]=Ue(null),fi=we(!1),YR=ge(()=>Vo(),[]),na=we(null),Kc=we(null),Jg=we(Promise.resolve()),zc=we(null),ko=we({requested:!1,uiHistoryOverride:void 0}),pi=we(null),ra=we(!1),oa=we(null),[ia,Xc]=Ue(!0),[Ff,Yc]=Ue(""),[Ve,Zn]=Ue(()=>c0(YR,{rendererMode:i})),[At,jf]=Ue(!1),[qR,QR]=Ue(0),{scrollRef:JR,scrollOffset:Fn,sticky:Uf,setScrollOffset:ZR,handleScrollTopChange:ek,handleStickyChange:tk,scrollTo:qc,scrollBy:Qc,scrollToBottom:Jc}=vI(),Gf=we(null),Zc=we(null),sa=we([]),el=we([]),mi=we(null),jn=we(null),Zg=we({time:0,row:-1,column:-1,count:0}),[tl,Vf]=Ue(void 0),[Cr,Kf]=Ue(void 0),[hi,ey]=Ue(void 0),[Sn,nk]=Ue(()=>new Set),[zf,ty]=Ue(null),[Vt,ny]=Ue(null),[Y,nl]=Ue(null),[ry,gi]=Ue(null),[Xf,oy]=Ue(null),rl=we(null),ol=z(u=>{rl.current=u,oy(u)},[]),il=z(u=>{let g=u(rl.current);rl.current=g,oy(g)},[]),aa=z((u,g)=>{let x=rl.current;return x?.status!=="running"||!ZC(u,x.runId)?!1:(ol({...x,message:g}),!0)},[ol]),[sl,br]=Ue([]),yi=ge(()=>{for(let u of sl)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}},[sl]),[TB,ca]=Ue([]),[la,rk]=Ue([]),[al,xt]=Ue(void 0),[Eo,ua]=Ue(void 0),ut=we(null),cl=we(null),Mo=we([]),xi=we([]),Jt=we([]),Yf=we(new Set),st=we({}),St=we({activeToolGroupTools:[]}),iy=we(0),ll=we({itemId:void 0,kind:"thinking",pendingText:""}),Un=we(null),ok=80,ik=20,sk=we(null),ul=ge(()=>[...D,...la],[D,la]),qf=ge(()=>{let u=yC(ul,sk);return u===0?ul:ul.slice(u)},[ul]),dl=ge(()=>xC(qf,ik),[qf]),Si=qf,Kt=we(null),er=we(null),tr=we([]),zt=we([]),[Ao,ak]=Ue([]),Ir=we([]),[sy,ck]=Ue([]),da=we([]),Mn=z(u=>{Ir.current=u,ak(u)},[]),wi=z(u=>{da.current=u,ck(u)},[]),Qf=z(()=>{wi([])},[wi]),ay=z(u=>{if(!Vd(u))return!1;let g=Mh(u),x=da.current.filter(I=>I.id!==g);return x.length===da.current.length||wi(x),!0},[wi]),An=z((u,g,x,I)=>{if(!Vd(u))return!1;let v=Mh(u),_=da.current.find(nt=>nt.id===v);if(I?.skipIfExisting&&_?.kind===g)return!0;let U=I?.append&&_?.kind===g?`${_.detail}${x}`:x||_?.detail||"running",V={id:v,label:tb(u),source:nb(u),status:"running",kind:g,detail:Eh(U)},ee=da.current,Te=ee.findIndex(nt=>nt.id===v),ct=Te>=0?ee.map((nt,In)=>In===Te?V:nt):[...ee,V].slice(0,cD);return wi(ct),!0},[wi]),cy=z(u=>{Mo.current=u,ca(u)},[]),Ti=z(u=>{Jt.current=u,rk(u)},[]),ly=z(u=>{let g=u([...Jt.current]);Ti(g)},[Ti]),uy=z(u=>{u.length!==0&&Ti([...Jt.current,...u])},[Ti]),fl=z(u=>{let g=St.current,x=g.activeToolGroupTools.some(I=>I.status===H.Executing);St.current={...u?.clearOwner?{}:{workerId:g.workerId,workerTitle:g.workerTitle},...x?{activeToolGroupItemId:g.activeToolGroupItemId,activeToolGroupTools:g.activeToolGroupTools}:{activeToolGroupTools:[]}},u?.clearOwner&&(st.current={})},[]),pl=z(u=>{for(let g of u)g.type==="user"&&typeof g.id=="string"&&Yf.current.add(g.id)},[]),fa=z(()=>{ll.current={itemId:void 0,kind:"thinking",pendingText:""},Un.current&&(clearTimeout(Un.current),Un.current=null);let u=yh(Jt.current,Yf.current);if(u.length>0){for(let g of u)Yf.current.add(g.id);pi.current?.(u.map(g=>To(g)))}fl({clearOwner:!0}),Ti([])},[fl,Ti]),ml=z(u=>(iy.current+=1,`managed-foreground-${u}-${iy.current}`),[]),on=z(u=>(uy([u]),u.id),[uy]),wn=z((u,g)=>{st.current.workerId?on({id:`${g}-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:u.type,text:u.text,...u.icon?{icon:u.icon}:{},...u.tightSpacing?{tightSpacing:!0}:{},timestamp:Date.now()}):W(u)},[W,on]),vr=z((u,g)=>{if(!u)return;let x;return ly(I=>I.map(v=>v.id!==u?v:(x=g(v),x))),x},[ly]),Ci=z((u,g)=>{let x=St.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 I=Date.now(),v=g?.trim()?`[${g.trim()}] `:"",_=x.activeToolGroupTools.some(V=>V.status===H.Executing);if(u==="thinking"){let V=on({id:ml("thinking"),type:"thinking",timestamp:I,text:v});return St.current={...St.current,activeKind:"thinking",activeThinkingItemId:V,currentTurnThinkingItemId:V,activeAssistantItemId:void 0,..._?{}:{activeToolGroupItemId:void 0,activeToolGroupTools:[]}},V}if(u==="assistant"){let V=on({id:ml("assistant"),type:"assistant",timestamp:I,text:v});return St.current={...St.current,activeKind:"assistant",activeThinkingItemId:void 0,activeAssistantItemId:V,..._?{}:{activeToolGroupItemId:void 0,activeToolGroupTools:[]}},V}let U=on({id:ml("tool_group"),type:"tool_group",timestamp:I,tools:[]});return St.current={...St.current,activeKind:"tool_group",activeThinkingItemId:void 0,activeAssistantItemId:void 0,activeToolGroupItemId:U,activeToolGroupTools:[]},U},[on,ml]),Rr=z(()=>{Un.current&&(clearTimeout(Un.current),Un.current=null);let u=ll.current;if(!u.pendingText||!u.itemId)return;let g=u.pendingText,x=u.itemId,I=u.kind;u.pendingText="",vr(x,v=>v.type!==I?v:{...v,text:`${v.text}${g}`})},[vr]),dy=z(()=>{Un.current||(Un.current=setTimeout(Rr,ok))},[Rr]),hl=z((u,g)=>{if(!g)return;let x=St.current.workerTitle,I=Ci(u,x),v=ll.current;v.itemId===I&&v.kind===u?v.pendingText+=g:(Rr(),v.itemId=I,v.kind=u,v.pendingText=g),dy()},[Ci,Rr,dy]),fy=z(u=>{let g=u.trim();if(!g)return;let x=ll.current;x.kind==="thinking"&&x.pendingText&&(x.pendingText="",Un.current&&(clearTimeout(Un.current),Un.current=null));let I=St.current.workerTitle?.trim(),v=I?`[${I}] ${g}`:g,_=St.current.currentTurnThinkingItemId;if(_){vr(_,V=>V.type==="thinking"?{...V,text:v}:V);return}let U=Ci("thinking",St.current.workerTitle);vr(U,V=>V.type==="thinking"?{...V,text:v}:V)},[Ci,vr]),Gn=z(u=>{Rr();let g=St.current;if(g.activeToolGroupItemId&&g.activeToolGroupTools.some(U=>U.id===u.id)){let U=g.activeToolGroupTools.map(ee=>ee.id===u.id?u:ee),V=U.every(ee=>ee.status===H.Success||ee.status===H.Error||ee.status===H.Cancelled);St.current={...g,...V?{activeToolGroupItemId:void 0,activeToolGroupTools:[]}:{activeToolGroupTools:U}},vr(g.activeToolGroupItemId,ee=>ee.type==="tool_group"?{...ee,tools:U}:ee);return}let x=Jt.current;for(let U=x.length-1;U>=0;U-=1){let V=x[U];if(V.type!=="tool_group"||!V.tools.some(Te=>Te.id===u.id))continue;let ee=V.tools.map(Te=>Te.id===u.id?u:Te);vr(V.id,Te=>Te.type==="tool_group"?{...Te,tools:ee}:Te);return}let I=Ci("tool_group",g.workerTitle),_=g.activeKind==="tool_group"&&g.activeToolGroupItemId===I?g.activeToolGroupTools.some(U=>U.id===u.id)?g.activeToolGroupTools.map(U=>U.id===u.id?u:U):[...g.activeToolGroupTools,u]:[u];St.current={...St.current,activeKind:"tool_group",activeToolGroupItemId:I,activeToolGroupTools:_},vr(I,U=>U.type==="tool_group"?{...U,tools:_}:U)},[Ci,vr,Rr]),lk=z(u=>{Rr();let g=St.current,x=g.activeToolGroupTools.some(_=>_.status===H.Executing),I=Ir.current.filter(_=>_.status===H.Executing),v=new Set(I.map(_=>_.id));St.current={workerId:u?.workerId,workerTitle:u?.workerTitle,...x?{activeToolGroupItemId:g.activeToolGroupItemId,activeToolGroupTools:g.activeToolGroupTools}:{activeToolGroupTools:[]}},st.current={workerId:u?.workerId,workerTitle:u?.workerTitle},tr.current=[],zt.current=zt.current.filter(_=>v.has(_.id)),Mn(I),Pe(),ce(void 0),fe(),be(),We(),xt(void 0)},[Rr,Pe,We,be,ce,Mn,xt,fe]),uk=z(u=>{if(u.length===0)return[];let g=[],x=[...Mo.current],I=[...xi.current];for(let v of u){let _=v.item,U=x.findIndex(V=>V.id===_.id);if(U>=0){let V=x[U];rf(V,_)||(x=x.map((ee,Te)=>Te===U?{..._,timestamp:V.timestamp}:ee))}else x=[...x,_].slice(-12),g.push(_);if(v.persistToHistory){let V=I.findIndex(ee=>ee.id===_.id);if(V>=0){let ee=I[V];rf(ee,_)||(I=I.map((Te,ct)=>ct===V?{..._,timestamp:ee.timestamp}:Te))}else I=[...I,_].slice(-48)}}return xi.current=I,(g.length>0||x.some((v,_)=>!rf(v,Mo.current[_]??v)||v.id!==Mo.current[_]?.id))&&cy(x),g},[cy]),gl=z(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)},[]),Xr=z(u=>{let g=Ir.current.filter(x=>x.status===H.Executing);if(g.length!==0){if(u){let x=jh(u);for(let I=g.length-1;I>=0;I-=1){let v=g[I];if(jh(v.name)===x)return v}}return g[g.length-1]}},[]),bi=z(()=>{let u=Xr();ce(u?Fh(u.name):void 0)},[Xr,ce]),py=z(u=>(gl(u),Mn([...Ir.current.filter(g=>g.id!==u.id),u]),bi(),u),[Mn,bi,gl]),Ii=z((u,g)=>{let x=Ir.current.find(v=>v.id===u);if(!x)return null;let I=g(x);return gl(I),Mn(Ir.current.map(v=>v.id===u?I:v)),bi(),I},[Mn,bi,gl]),my=z((u,g,x)=>{if(u){let v=Ii(u,x);if(v)return v}let I=Xr(g);return I?Ii(I.id,x):null},[Xr,Ii]),yl=z((u,g,x,I,v)=>{let _=u??Xr(v)?.id;return _?Ii(_,U=>({...U,status:g,endTime:Date.now(),error:x,output:I})):null},[Xr,Ii]),pa=z((u,g)=>{let x=Date.now(),I=new Map;for(let v of Ir.current){if(v.status!==H.Executing)continue;let _=g(v);I.set(v.id,{...v,status:u,endTime:x,..._})}return I.size===0?[]:(zt.current=zt.current.map(v=>I.get(v.id)??v),Mn(Ir.current.map(v=>I.get(v.id)??v)),bi(),[...I.values()])},[Mn,bi]),Yr=z(()=>{Mn([])},[Mn]),{showHelp:hy,toggleHelp:dk,setShowHelp:gy}=Xh(),fk=z(u=>{Yc(u),Xc(u.trim().length===0)},[]),xl=Zo(),yy=ge(()=>xl?xl.state.visible&&xl.suggestions.length>0:!1,[xl]),[ma,xy]=Ue(!1),Sy=we(Gc),_o=z(()=>{Kt.current&&(clearTimeout(Kt.current),Kt.current=null),er.current&&(clearTimeout(er.current),er.current=null)},[]);je(()=>{yy&&!ma&&xy(!0)},[yy,ma]),je(()=>{Gc!==Sy.current&&(Sy.current=Gc,ma&&xy(!1))},[Gc,ma]);let[rt,Sl]=Ue(null),Lo=we(null),[Be,Vn]=Ue(null),wl=we(null),Tl=we(Be);Tl.current=Be;let[Zt,vi]=Ue(""),[Cl,Kn]=Ue(0),Jf=we(""),ha=we(void 0),wy=ge(()=>{if(!et)return;let{contextWindow:u,triggerPercent:g}=et;return{currentTokens:Qg??n.contextTokenSnapshot?.currentTokens??Xl(n.messages),contextWindow:u,triggerPercent:g}},[n.messages,n.contextTokenSnapshot,et,Qg]),ga=ge(()=>{if(!rt)return;let u=!!rt.input._alwaysConfirm,g=G.permissionMode==="accept-edits"&&!u;return u?oe("confirm.instruction.protected"):g?oe("confirm.instruction.always"):oe("confirm.instruction.basic")},[rt,G.permissionMode]),pt=Ve.searchMode==="history",te=Ve.surface==="transcript",nr=!!rt||!!Be||pt,vt=te?At?aC:1e3:12,qr=ov(s,Ve.surface),Ty=qr.shellMode,Zf=qr.usesAlternateScreenShell,Po=qr.usesRendererViewportShell,bl=qr.usesRendererMouseTracking,Cy=qr.usesManagedMouseClicks,by=qr.usesManagedMouseWheel,ep=qr.usesManagedSelection,Rt=iv(s,Ve.surface,x0(Ve)),Iy=S0(Ve),Il=ma&&!te,vy=z(()=>vg({items:Si,managedLiveEvents:[],isLoading:ye,isThinking:$.isThinking,thinkingCharCount:$.thinkingCharCount,thinkingContent:$.thinkingContent,currentResponse:$.currentResponse,currentTool:$.currentTool,activeToolCalls:Ao,toolInputCharCount:$.toolInputCharCount,toolInputContent:$.toolInputContent,lastLiveActivityLabel:al,workStripText:Eo,iterationHistory:$.iterationHistory,currentIteration:$.currentIteration,isCompacting:$.isCompacting}),[Si,ye,$.isThinking,$.thinkingCharCount,$.thinkingContent,$.currentResponse,$.currentTool,Ao,$.toolInputCharCount,$.toolInputContent,al,Eo,$.iterationHistory,$.currentIteration,$.isCompacting]);je(()=>{if(te){ty(u=>u??vy());return}ty(null)},[vy,te]);let ya=ge(()=>ev({isTranscriptMode:te,snapshot:zf,currentItemsLength:Si.length,currentManagedLiveEventsLength:0,isLoading:ye,currentResponse:$.currentResponse,thinkingContent:$.thinkingContent,activeToolCallsLength:Ao.length}),[Ao.length,ye,te,Si.length,$.currentResponse,$.thinkingContent,zf]),Ht=te?zf:null,tp=ge(()=>nv(dl),[dl]),pk=ge(()=>!!(la.length>0||fv(Y)),[la.length,Y]),vl=la.length>0,Xt=s.streamingPreview&&pk,Ri=ge(()=>tv({surface:"transcript",snapshot:Ht,promptItems:dl,transcriptItems:Si}),[Ht,dl,Si]),xa=ge(()=>{if(!te||At||Ri.length<=th)return Ri;let u=Ri.slice(-th),g=Ri.length-u.length;return[TC(g,u[0]?.timestamp),...u]},[Ri,te,At]),mt=Ht?.isLoading??ye,at=s.streamingPreview?{isThinking:Xt?!1:$.isThinking,thinkingCharCount:Xt?0:$.thinkingCharCount,thinkingContent:Xt?"":$.thinkingContent,currentResponse:Xt?"":$.currentResponse,currentTool:Xt?void 0:$.currentTool,activeToolCalls:Xt?[]:Ao,toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:Xt?al:void 0,iterationHistory:[],currentIteration:$.currentIteration,isCompacting:!1}:{isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentResponse:"",currentTool:void 0,activeToolCalls:[],toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:void 0,iterationHistory:[],currentIteration:$.currentIteration,isCompacting:!1},Re=s.streamingPreview?{isThinking:Xt?!1:Ht?.isThinking??$.isThinking,thinkingCharCount:Xt?0:Ht?.thinkingCharCount??$.thinkingCharCount,thinkingContent:Xt?"":Ht?.thinkingContent??$.thinkingContent,currentResponse:Xt?"":Ht?.currentResponse??$.currentResponse,currentTool:Xt?void 0:Ht?.currentTool??$.currentTool,activeToolCalls:Xt?[]:Ht?.activeToolCalls??Ao,toolInputCharCount:Xt?0:Ht?.toolInputCharCount??$.toolInputCharCount,toolInputContent:Xt?"":Ht?.toolInputContent??$.toolInputContent,managedLiveEvents:[],lastLiveActivityLabel:Ht?.lastLiveActivityLabel??al,iterationHistory:Xt?[]:Ht?.iterationHistory??$.iterationHistory,currentIteration:Ht?.currentIteration??$.currentIteration,isCompacting:Ht?.isCompacting??$.isCompacting}:{isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentResponse:"",currentTool:void 0,activeToolCalls:[],toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:void 0,iterationHistory:[],currentIteration:Ht?.currentIteration??$.currentIteration,isCompacting:!1},kr=te?Cr:tl,Ry=!!tl,ky=z(()=>vg({items:tp,managedLiveEvents:[],isLoading:ye,isThinking:at.isThinking,thinkingCharCount:at.thinkingCharCount,thinkingContent:at.thinkingContent,currentResponse:at.currentResponse,currentTool:at.currentTool,activeToolCalls:at.activeToolCalls,toolInputCharCount:at.toolInputCharCount,toolInputContent:at.toolInputContent,lastLiveActivityLabel:at.lastLiveActivityLabel,iterationHistory:at.iterationHistory,currentIteration:at.currentIteration,isCompacting:at.isCompacting}),[ye,tp,at.activeToolCalls,at.currentIteration,at.currentResponse,at.currentTool,at.isCompacting,at.isThinking,at.iterationHistory,at.lastLiveActivityLabel,at.thinkingCharCount,at.thinkingContent,at.toolInputCharCount,at.toolInputContent]);je(()=>{if(!Ry){ny(null);return}ny(u=>u??ky())},[ky,Ry]);let Sa=Vt?.items??tp,en=Vt?.isLoading??ye,Oe=Vt?{isThinking:Vt.isThinking,thinkingCharCount:Vt.thinkingCharCount,thinkingContent:Vt.thinkingContent,currentResponse:Vt.currentResponse,currentTool:Vt.currentTool,activeToolCalls:Vt.activeToolCalls,toolInputCharCount:Vt.toolInputCharCount,toolInputContent:Vt.toolInputContent,managedLiveEvents:Vt.managedLiveEvents,lastLiveActivityLabel:Vt.lastLiveActivityLabel,iterationHistory:Vt.iterationHistory,currentIteration:Vt.currentIteration,isCompacting:Vt.isCompacting}:at,Wt=te?xa:Sa,rr=te?mt:en,Ye=te?Re:Oe,Ey=en&&!$.currentResponse&&!$.thinkingContent&&Ao.length===0,mk=ud(Xf?.status==="running"),_t=ge(()=>TS(Xf,Date.now()),[Xf,mk]),My=_t.shouldRender?`Workflow ${_t.workflow}${_t.phase?` - ${_t.phase}`:""}`:void 0,or=ge(()=>_b(sl,{now:Date.now(),lastAllCompletedAt:null}),[sl]),Ay=S<=20?1:kh,np=ge(()=>ob(sy,Ay),[Ay,sy]),_y=eb({isTranscriptMode:te,isLoading:ye,hasWorkflowLiveSurface:_t.shouldRender,childActivityVisible:np.shouldRender}),ki=ge(()=>{if(!te)return[];let u=[];return u.push(...wS(_t)),ye&&or.shouldRender&&u.push(...Eb(or)),u},[te,ye,or,_t]),$o=ge(()=>({config:G,sessionId:n.sessionId,workingDir:e.context?.gitRoot||process.cwd(),terminalWidth:k,compactionInfo:et??void 0}),[et,n.sessionId,G,e.context?.gitRoot,k]),Qr=ge(()=>s.enabled&&Hf?SD($o):void 0,[$o,s.enabled,Hf]),Ly=we(Vs),Py=we(!1),rp=we(!1),Ei=cI({enabled:wD,useRendererViewportShell:Po,isTranscriptMode:te,hasCommitHandle:typeof Qo(T)?.commitInlineScrollback=="function"}),wa=ge(()=>xd({items:Sa,viewportWidth:k,maxLines:vt,showDetailedTools:!1,showAllContent:!1,windowed:!1}),[Sa,k,vt]),Oo=ge(()=>{let u=Sd({activeItems:wa.activeItems,viewportWidth:k,isLoading:en,maxLines:vt,isThinking:Oe.isThinking,thinkingCharCount:Oe.thinkingCharCount,thinkingContent:Oe.thinkingContent,streamingResponse:Oe.currentResponse,currentTool:Oe.currentTool,activeToolCalls:Oe.activeToolCalls,toolInputCharCount:Oe.toolInputCharCount,toolInputContent:Oe.toolInputContent,iterationHistory:Oe.iterationHistory,currentIteration:Oe.currentIteration,isCompacting:Oe.isCompacting,managedAgentMode:G.agentMode,managedPhase:en?Y?.phase:void 0,managedHarnessProfile:en?Y?.harnessProfile:void 0,managedWorkerTitle:en?Y?.activeWorkerTitle:void 0,managedRound:en?Y?.currentRound:void 0,managedMaxRounds:en?Y?.maxRounds:void 0,managedGlobalWorkBudget:en?Y?.globalWorkBudget:void 0,managedBudgetUsage:en?Y?.budgetUsage:void 0,managedBudgetApprovalRequired:en?Y?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Oe.lastLiveActivityLabel,currentTodoActiveForm:yi,showFullThinking:!1,showDetailedTools:!1,showAllContent:!1,showLiveProgressRows:Ey}),g=fC(wa,u,Qr);return dI(g,Ei)},[G.agentMode,Ei,en,Oe.activeToolCalls,Oe.currentIteration,Oe.currentTool,Oe.isCompacting,Oe.currentResponse,Oe.isThinking,Oe.iterationHistory,Oe.lastLiveActivityLabel,Oe.thinkingCharCount,Oe.thinkingContent,Oe.toolInputCharCount,Oe.toolInputContent,Y?.activeWorkerTitle,Y?.budgetApprovalRequired,Y?.budgetUsage,Y?.currentRound,Y?.globalWorkBudget,Y?.harnessProfile,Y?.maxRounds,Y?.phase,Ey,wa,Qr,k,vt,yi]),op=ge(()=>xd({items:xa,viewportWidth:k,maxLines:vt,showDetailedTools:At,showAllContent:At,showFullThinking:!0,windowed:!1}),[xa,k,vt,At]),Rl=ge(()=>{if(!te||Po)return;let u=Sd({activeItems:op.activeItems,viewportWidth:k,isLoading:mt,maxLines:vt,isThinking:Re.isThinking,thinkingCharCount:Re.thinkingCharCount,thinkingContent:Re.thinkingContent,streamingResponse:Re.currentResponse,currentTool:Re.currentTool,activeToolCalls:Re.activeToolCalls,toolInputCharCount:Re.toolInputCharCount,toolInputContent:Re.toolInputContent,iterationHistory:Re.iterationHistory,currentIteration:Re.currentIteration,isCompacting:Re.isCompacting,managedAgentMode:G.agentMode,managedPhase:mt?Y?.phase:void 0,managedHarnessProfile:mt?Y?.harnessProfile:void 0,managedWorkerTitle:mt?Y?.activeWorkerTitle:void 0,managedRound:mt?Y?.currentRound:void 0,managedMaxRounds:mt?Y?.maxRounds:void 0,managedGlobalWorkBudget:mt?Y?.globalWorkBudget:void 0,managedBudgetUsage:mt?Y?.budgetUsage:void 0,managedBudgetApprovalRequired:mt?Y?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Re.lastLiveActivityLabel,liveStatusLines:ki,currentTodoActiveForm:yi,showFullThinking:!0,showDetailedTools:At,showAllContent:At,showLiveProgressRows:!vl,expandedItemKeys:Sn});return hv(eh(wd(op,u)),Qr)},[G.agentMode,Sn,vl,Qr,te,Y?.activeWorkerTitle,Y?.budgetApprovalRequired,Y?.budgetUsage,Y?.currentRound,Y?.globalWorkBudget,Y?.harnessProfile,Y?.maxRounds,Y?.phase,k,mt,vt,op,Re.activeToolCalls,Re.currentIteration,Re.currentResponse,Re.currentTool,Re.isCompacting,Re.isThinking,Re.iterationHistory,Re.lastLiveActivityLabel,Re.thinkingCharCount,Re.thinkingContent,Re.toolInputCharCount,Re.toolInputContent,At,ki,Po,yi]),Ta=ge(()=>{if(Rt)return te?hv(Td({items:Wt,viewportWidth:k,isLoading:rr,maxLines:vt,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:G.agentMode,managedPhase:rr?Y?.phase:void 0,managedHarnessProfile:rr?Y?.harnessProfile:void 0,managedWorkerTitle:rr?Y?.activeWorkerTitle:void 0,managedRound:rr?Y?.currentRound:void 0,managedMaxRounds:rr?Y?.maxRounds:void 0,managedGlobalWorkBudget:rr?Y?.globalWorkBudget:void 0,managedBudgetUsage:rr?Y?.budgetUsage:void 0,managedBudgetApprovalRequired:rr?Y?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Ye.lastLiveActivityLabel,liveStatusLines:ki,currentTodoActiveForm:yi,windowed:!0,showFullThinking:te,showDetailedTools:At,showAllContent:At,showLiveProgressRows:te&&!vl,expandedItemKeys:te?Sn:void 0}),Qr):eh(Oo)},[G.agentMode,rr,Wt,vl,Qr,Ye.activeToolCalls,Ye.currentIteration,Ye.currentResponse,Ye.currentTool,Ye.isCompacting,Ye.isThinking,Ye.iterationHistory,Ye.lastLiveActivityLabel,Ye.thinkingCharCount,Ye.thinkingContent,Ye.toolInputCharCount,Ye.toolInputContent,Sn,te,Y?.activeWorkerTitle,Y?.budgetApprovalRequired,Y?.budgetUsage,Y?.currentRound,Y?.globalWorkBudget,Y?.harnessProfile,Y?.maxRounds,Y?.phase,Oo,ye,te,k,vt,Rt,ki,At,yi]),ir=ge(()=>Ta??Rl,[Ta,Rl]),Ca=ge(()=>Ig({status:Y,isLoading:ye,agentMode:G.agentMode}),[G.agentMode,ye,Y]).workStripText,ba=Ht?.workStripText??Eo,Mi=ge(()=>Ig({status:Y,isLoading:ye,agentMode:G.agentMode,parallelTextOverride:ba}),[G.agentMode,ba,ye,Y]),Do=ge(()=>yI(Wt).filter(u=>u!==Cd),[Wt]),tt=ge(()=>ff(Ve,Do,Ve.selectedItemId),[Do,Ve]),Tn=ge(()=>Wt.find(u=>u.id===tt),[Wt,tt]),$y=ge(()=>({...Ve,supportsSelection:Ve.supportsSelection&&Rt,supportsCopyOnSelect:Ve.supportsCopyOnSelect&&Rt}),[Ve,Rt]),_n=ge(()=>FI({state:$y,selectableItemIds:Do,selectedItemId:tt,selectedItemType:Tn?.type,isExpanded:tt?Sn.has(tt):!1}),[Sn,Do,Tn?.type,tt,$y]),Oy=_n.selectionEnabled,Dy=_n.copyCapabilities.copyOnSelect,IB=_n.selectedItemIndex,Ny=ge(()=>gI(Tn),[Tn]),kl=ge(()=>fI(Wt.filter(u=>!rh(u))),[Wt]),Lt=ge(()=>pI(kl,Zt),[kl,Zt]),El=ge(()=>GI({isHistorySearchActive:pt,historySearchQuery:Zt,matches:Lt,selectedIndex:Cl,anchorItemId:Ve.searchAnchorItemId,useOverlaySurface:Ve.supportsOverlaySurface&&Ve.supportsSearchViewport&&Rt}),[Lt,Zt,Cl,pt,Ve.searchAnchorItemId,Ve.supportsOverlaySurface,Ve.supportsSearchViewport,Rt]),Jr=El.clampedSelectedIndex,By=El.statusText,ip=El.detailText,Hy=El.searchState,vB=_n.detailState==="expanded",Ml=_n.selectionEnabled&&Do.length>0&&!kr,Ai=_n.copyCapabilities.message,Al=_n.copyCapabilities.toolInput,_l=_n.toggleDetail;je(()=>{if(Ca){if(er.current&&(clearTimeout(er.current),er.current=null),Eo===Ca)return;if(Eo){Kt.current&&(clearTimeout(Kt.current),Kt.current=null),ua(Ca);return}Kt.current&&clearTimeout(Kt.current),Kt.current=setTimeout(()=>{ua(Ca),Kt.current=null},400);return}if(!Eo){Kt.current&&(clearTimeout(Kt.current),Kt.current=null);return}Kt.current&&(clearTimeout(Kt.current),Kt.current=null),er.current&&clearTimeout(er.current),er.current=setTimeout(()=>{ua(void 0),er.current=null},300)},[_o,Ca,Eo]),je(()=>()=>{_o()},[_o]);let Zr=ge(()=>TI({state:Ve,ownsViewport:Rt,isAwaitingUserInteraction:nr,isHistorySearchActive:pt,isTranscriptMode:te,historySearchQuery:Zt}),[Zt,nr,pt,te,Ve,Rt]);je(()=>{Zn(u=>{let g=f0(u,Fn);return g=d0(g,ya),g=m0(g,s.enabled&&Rt?!Uf||pt||nr:te||pt||nr),g=y0(g,Jr),g})},[Jr,s.enabled,Fn,nr,pt,te,ya,Rt,Uf]),je(()=>{Cl!==Jr&&Kn(Jr)},[Jr,Cl]),je(()=>{if(!pt){Jf.current=Zt;return}if(Zt===Jf.current)return;Jf.current=Zt;let u=hI(kl,Lt,Ve.searchAnchorItemId);Kn(u)},[Lt,Zt,pt,Ve.searchAnchorItemId,kl]);let Wy=te?Re:{isThinking:Oe.isThinking,thinkingCharCount:Oe.thinkingCharCount,currentTool:Oe.currentTool,activeToolCalls:Oe.activeToolCalls,toolInputCharCount:Oe.toolInputCharCount,toolInputContent:Oe.toolInputContent,currentIteration:Oe.currentIteration,isCompacting:Oe.isCompacting},Ia=te?mt:en,[sp,ap]=Ue(()=>ln(G.permissionMode)?l.getGuardrail().getEngine():void 0),Ll=ge(()=>WI({sessionId:n.sessionId,permissionMode:G.permissionMode,agentMode:G.agentMode,provider:G.provider,model:G.model??Pn(G.provider)??G.provider,thinking:G.thinking,reasoningMode:G.reasoningMode,reasoningCapability:cu(au(G.provider,G.model)),isTranscriptMode:te,streamingState:Wy,maxIter:$.maxIter,contextUsage:wy,isLoading:Ia,managedState:{phase:Y?.phase,harnessProfile:Y?.harnessProfile,workerTitle:Y?.activeWorkerTitle,round:Y?.currentRound,maxRounds:Y?.maxRounds,globalWorkBudget:Y?.globalWorkBudget,budgetUsage:Y?.budgetUsage,budgetApprovalRequired:Y?.budgetApprovalRequired,idleWaiting:Y?.idleWaiting,idleWaitingPendingCount:Y?.idleWaitingPendingCount},autoModeEngine:sp}),[n.sessionId,G.permissionMode,G.agentMode,G.provider,G.model,G.thinking,G.reasoningMode,te,Wy,$.maxIter,wy,Ia,Y?.phase,Y?.harnessProfile,Y?.activeWorkerTitle,Y?.currentRound,Y?.maxRounds,Y?.globalWorkBudget,Y?.budgetUsage,Y?.budgetApprovalRequired,Y?.idleWaiting,Y?.idleWaitingPendingCount,sp]),cp=rt?"confirm":Be?.kind,Fy=ge(()=>BI({isTranscriptMode:te,isLoading:Ia,streamingState:Oe,managedState:Ia?{phase:Y?.phase,harnessProfile:Y?.harnessProfile,workerTitle:Y?.activeWorkerTitle}:void 0,waitingReason:cp,workflowBuilderMessage:ry??void 0,backgroundWorkflowMessage:My}),[Oe.activeToolCalls,Oe.currentTool,Oe.isCompacting,Oe.isThinking,Oe.thinkingCharCount,Oe.toolInputCharCount,Oe.toolInputContent,te,Y?.activeWorkerTitle,Y?.harnessProfile,Y?.phase,cp,Ia,ry,My]),Er=DI({activity:Fy})?Fy:void 0,jy=Er?.text,Uy=!!Er,Gy=we(!1);je(()=>{Gy.current&&!ye&&br(u=>u.length>0?[]:u),Gy.current=ye},[ye]);let lp=ge(()=>kd(Ll),[Ll]),Vy=ge(()=>lp,[lp]),Ky=Vy.text,hk=ge(()=>KC($.pendingInputs),[$.pendingInputs]),up=ge(()=>Lb({isHistorySearchActive:pt,isTranscriptMode:te,pendingInputCount:$.pendingInputs.length,buffering:Ve.buffering,pendingLiveUpdates:ya}),[pt,te,ya,$.pendingInputs.length,Ve.buffering]),zy=up.leftItems,Xy=up.rightItems,Yy=up.summary,Pl=ge(()=>KI({historySearchQuery:Zt,pendingInputCount:$.pendingInputs.length}),[Zt,$.pendingInputs.length]),$l=ge(()=>VI({historySearchQuery:Zt,isHistorySearchActive:pt,historySearchMatchCount:Lt.length,pendingInputCount:$.pendingInputs.length,maxPendingInputs:5}),[Lt.length,Zt,pt,$.pendingInputs.length]),qy=ge(()=>$l.map(u=>u.text).join(" | "),[$l]),Ol=ge(()=>zI({inputText:Ff,isTranscriptMode:te,isHistorySearchActive:pt}),[Ff,pt,te]),Qy=Ve.supportsOverlaySurface&&Ve.supportsSearchViewport&&Rt,Dl=ge(()=>jI({runtime:_n,itemSummary:Ny}),[Ny,_n]),dp=ge(()=>XI(Pl),[Pl]),Jy=ge(()=>YI({textSelection:kr,selectionState:Dl,isHistorySearchActive:pt,historySearchDetailText:ip,historySearchHasMatches:!!By&&Lt.length>0,showAllActive:At,baseFooterNotices:Pl}),[kr,Pl,ip,Lt.length,By,pt,At,Dl]),gk=Jy.secondaryText,yk=Jy.budgetNotices,Zy=te?yk:dp,ex=S,tx=te?"":Ff,nx=te?void 0:hk,rx=ba,ox=te?!1:hy,ix=_t.shouldRender?Rb(_t):0,sx=ye&&or.shouldRender?or.rows.length:0,ax=_y?Ah(np):0,Ft=ge(()=>a0({terminalRows:ex,terminalWidth:k,windowedTranscript:Po,inputText:tx,footerHeaderText:Yy,activitySummary:te?void 0:jy,activityBarVisible:te?!1:Uy,workflowSurfaceRows:te?0:ix,childActivitySurfaceRows:te?0:ax,todoSurfaceRows:te?0:sx,pendingInputSummary:nx,stashNoticeSummary:Ol,notificationSummary:qy,statusNoticeSummary:Zy.join(" | "),workStripText:rx,suggestionsReserved:Il,suggestionsMode:"inline",showHelp:ox,statusBarText:Ky,confirmPrompt:rt?.prompt,confirmInstruction:ga,dialogMode:"inline",reviewHint:s.enabled&&Rt?void 0:Zr.browseHintText,uiRequest:Be?Be.kind==="select"?{kind:"select",title:Be.title,options:Be.options.map(u=>({label:u.label,description:u.description})),buffer:Be.buffer,error:Be.error}:{kind:"input",prompt:Be.prompt,defaultValue:Be.defaultValue,buffer:Be.buffer,error:Be.error}:null}),[ex,k,tx,Yy,jy,Uy,te,ix,ax,sx,nx,Ol,qy,Zy,rx,Il,Qy,ox,Ky,rt,ga,s.enabled,Zr.browseHintText,Rt,Be]),fp=ge(()=>{if(!Ei)return{model:Oo,committedSections:[]};let{committedSections:u,liveRows:g}=pC(wa.staticSections,Oo.rows,Oo.previewRows,Ft.messageRows);return{model:{...Oo,staticSections:[],rows:g,previewRows:[]},committedSections:u}},[Ei,Oo,wa.staticSections,Ft.messageRows]),cx=fp.model;je(()=>{let u=Qo(T),g=typeof u?.commitInlineScrollback=="function",x=lI({active:Ei,hasCommitHandle:g,wasActive:Py.current,forceRebuild:rp.current,prior:Ly.current,finalizedSections:fp.committedSections,bannerSection:Qr,width:k,identify:mC}),I=!1,v=!1;if(x.kind==="commit"){let U=x.sections.flatMap(ee=>ee.rows),V=aI(U.length>0?[{key:"il-delta",rows:U}]:[],{width:k,theme:ne("dark")});if(v=V.length>0,x.mode==="append"&&!V)gv("empty-append-text");else try{u?.commitInlineScrollback?.({mode:x.mode,text:V}),I=!0}catch(ee){gv("commit-threw",ee)}}let _=uI(x,{committed:I,hadContent:v},rp.current);Ly.current=_.state,Py.current=_.wasActive,rp.current=_.owns},[Ei,fp.committedSections,Qr,k,T]);let xk=ge(()=>ie(wh,{reserveSpace:Il,width:k,hidden:te,mode:"inline"}),[Il,k,te,Qy]),va=ge(()=>CI(Ft.messageRows),[Ft.messageRows]),lx=ge(()=>bI(va),[va]),_i=!Iy&&s.transcriptSpinnerAnimation,Ra=ir?ir.rows.length+ir.previewRows.length:qR,Nl=z(u=>{ir||QR(u.scrollHeight)},[ir]),ka=z(u=>MI({window:u,stickyHeader:Zr.stickyHeader,width:k,topChromeRows:0}),[k,Zr.stickyHeader]),Li=z((u=sa.current,g=el.current,x=Gf.current?ka(Gf.current):Zc.current)=>{if(!x||u.length===0){mi.current=null;return}Zc.current=x,mi.current=AI(u,{allRows:g,rowIndexByKey:Sg(g),topOffsetRows:x.topOffsetRows,viewportHeight:x.contentWindow.viewportHeight,animateSpinners:_i})},[ka,_i]),Ea=z(()=>{let u=Zc.current;return u?.contentWindow.viewportHeight&&u.contentWindow.viewportHeight>0?u.contentWindow.viewportHeight:Ft.messageRows},[Ft.messageRows]),Sk=z(u=>{Gf.current=u;let g=ka(u);Zc.current=g,Li(sa.current,el.current,g)},[Li,ka]),Bl=z(u=>{sa.current=u.rows,el.current=u.allRows,Li(u.rows,u.allRows)},[Li]),Yt=z(()=>{jn.current=null,Vf(void 0),Kf(void 0)},[]),pp=z(()=>{Yt(),Zn(u=>Gs(u,void 0))},[Yt]);je(()=>{Li()},[Li]),je(()=>{ZR(u=>II(u,Ra,Ft.messageRows))},[Ra,Ft.messageRows]),je(()=>{if(!hi)return;let u=setTimeout(()=>{ey(void 0)},2e3);return()=>{clearTimeout(u)}},[hi]);let Mr=z((u,g="success")=>{let x=u?.trim();x&&ey({text:x,tone:g})},[]),Pi=z((u,g)=>{let x=g instanceof Error?g.message:String(g);return`${u}: ${x}`},[]),Hl=z(async u=>{let g=u??kr;if(!g)return!1;let x=g.text.trimEnd();if(!x)return!1;try{return await Wa(x,{terminalWrite:P}),Mr(`Copied ${g.rowCount} selected line${g.rowCount===1?"":"s"} to clipboard.`,"success"),!0}catch(I){return Mr(Pi("Failed to copy transcript selection",I),"warning"),!1}},[kr,Pi,Mr,P]),$i=z(u=>{if(!u||RI({items:Wt,renderModel:ir,terminalWidth:k,transcriptMaxLines:vt,viewportRows:Ea(),itemId:u,visibleRows:sa.current,expandedItemKeys:Sn,showDetailedTools:!1}))return;let g=kI({items:Wt,renderModel:ir,terminalWidth:k,transcriptMaxLines:vt,viewportRows:Ea(),itemId:u,expandedItemKeys:Sn,showDetailedTools:!1});qc(g)},[Wt,k,vt,ir,Sn,Ea,qc,sa]),ux=z(u=>{Zn(g=>Gs(g,u)),u&&$i(u)},[$i]),mp=z(u=>{u&&$i(u)},[$i]),dx=z(u=>{if(!Ml)return;let g=xI(Do,tt,u);g&&ux(g)},[Ml,Do,tt,ux]),fx=z(()=>{!_l||!tt||(nk(u=>{let g=new Set(u);return g.has(tt)?g.delete(tt):g.add(tt),g}),$i(tt))},[$i,_l,tt]),px=z(async()=>{if(!Ai||!Tn)return;let u=xg(Tn);if(u)try{await Wa(u,{terminalWrite:P}),Mr("Copied selected transcript entry to clipboard.","success")}catch(g){Mr(Pi("Failed to copy transcript entry",g),"warning")}},[Pi,Ai,Tn,Mr,P]),mx=z(async()=>{if(!Al||!Tn)return;let u=SI(Tn);if(u)try{await Wa(u,{terminalWrite:P}),Mr("Copied selected tool args to clipboard.","success")}catch(g){Mr(Pi("Failed to copy tool args",g),"warning")}},[Pi,Al,Tn,Mr,P]),Ma=z(()=>el.current,[]),hx=z((u,g)=>{if(!s.enabled||!Rt)return;let x=mi.current;return x?Tg(x,u,g):void 0},[s.enabled,Rt]),Oi=z((u,g,x)=>{let I=Ma(),v=PI(I,u,g,{animateSpinners:_i,selectFullRowOnCollapsed:x?.selectFullRowOnCollapsed});te?Kf(v):Vf(v);let _=I[Math.max(0,Math.min(g.modelRowIndex,I.length-1))];return x?.updateSelectedItem&&_?.itemId&&Zn(U=>Gs(U,_.itemId)),v},[te,Ma,_i]),gx=z((u,g)=>{if(!u)return;jn.current=null;let x={...u,focus:g?.focusPoint??u.focus};if(!(x.mode!=="char"||x.didDrag)){Yt();return}let v=Oi(x.anchor,x.focus,{selectFullRowOnCollapsed:!1,updateSelectedItem:!1});if(!v){Yt();return}return g?.copySelection!==!1&&Hl(v),v},[Yt,Hl,Oi]),hp=z(()=>{if(!te||!Wt.length||rt||Be)return;Yt();let u=EI({items:Wt,selectedItemId:tt,renderModel:ir,terminalWidth:k,transcriptMaxLines:vt,viewportRows:Ea(),scrollOffset:Fn,expandedItemKeys:Sn,showDetailedTools:!1,preferViewportAnchor:!0});Zn(g=>h0(g,{anchorItemId:u,initialMatchIndex:0})),vi(""),Kn(0)},[rt,Wt,Sn,Fn,te,tt,ir,k,vt,Be,Ea,Yt]),gp=z(()=>{Zn(u=>g0(u)),vi(""),Kn(0),Yt()},[Yt]),Wl=z(()=>{!pt||Lt.length===0||Kn(-1)},[Lt.length,pt]),yx=ge(()=>{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(`
141
+ `,1)[0]??rt.prompt,instruction:ga,planContent:u}}return{prompt:rt.prompt,instruction:ga}},[ga,rt]),xx=ge(()=>Be?Be.kind==="select"?{kind:"select",title:Be.title,options:Be.options,buffer:Be.buffer,error:Be.error,visibleSelectOptions:Ft.visibleSelectOptions,focusedIndex:Be.focusedIndex,selectedIndices:Be.selectedIndices,multiSelect:Be.multiSelect}:{kind:"input",prompt:Be.prompt,defaultValue:Be.defaultValue,buffer:Be.buffer,error:Be.error}:null,[Be,Ft.visibleSelectOptions]),wk=ge(()=>ie(Ch,{confirm:yx,request:xx}),[yx,xx]),yp=ge(()=>{if(hi)return ie(bb,{text:hi.text,tone:hi.tone})},[hi]),xp=ge(()=>{if(yp)return ie(R,{flexDirection:"column",width:"100%",children:yp})},[yp]),Fl=z(()=>{Zn(u=>p0(u0(u))),jf(!1),Jc(),vi(""),Kn(0),Yt()},[Yt,Jc]),Sx=z(()=>{te&&jf(u=>!u)},[te]),Tk=z(()=>{if(te){Fl();return}jf(!1),Zn(u=>l0(u)),vi(""),Kn(0),Yt()},[Yt,Fl,te]);je(()=>{Oy||!Ve.selectedItemId||Zn(u=>Gs(u,void 0))},[Oy,Ve.selectedItemId]),je(()=>{if(!te||!Ai||!Dy){ha.current=void 0;return}if(Cr||!tt||!Tn)return;if(!ha.current){ha.current=tt;return}if(ha.current===tt)return;ha.current=tt;let u=xg(Tn);u&&Wa(u,{terminalWrite:P}).catch(()=>{})},[te,Tn,tt,Ai,Dy,Cr,P]),je(()=>{if(T?.isTTY!==!0)return;let u=Qo(T);u?.setShellMode?.(Ty,bl),Zf||u?.setAltScreenActive?.(!1)},[Ty,T,Zf,bl]);let De=we({...e,thinking:G.thinking,reasoningMode:G.reasoningMode,agentMode:G.agentMode,context:{...e.context,repoIntelligenceMode:G.repoIntelligenceMode,repoIntelligenceTrace:G.repoIntelligenceTrace,toolConstructionMode:!0},session:{...e.session,id:n.sessionId,persistedByHost:!0},guardrails:bf(G.permissionMode,l)}),Cn=we(G.permissionMode);je(()=>{Cn.current=G.permissionMode},[G.permissionMode]);let Ck=ge(()=>Zi(),[]),wx=we(Ck),Sp=we(G);je(()=>{Sp.current=G},[G]);let wp=we(null);wp.current===null&&(wp.current=ru({getProvider:o(()=>La(Sp.current.provider),"getProvider"),getModel:o(()=>Sp.current.model??"","getModel")}));let Tx=we(su());je(()=>{G.permissionMode==="auto-in-project"&&Tx.current()},[]);let Tp=z(u=>{gt(g=>({...g,permissionMode:u})),Cn.current=u,De.current={...De.current,guardrails:bf(u,l)},ap(ln(u)?l.getGuardrail().getEngine():void 0),u==="auto-in-project"&&Tx.current()},[l]),Cx=we($.pendingInputs),ot=we(!1),bx=we(0),Aa=we(0),jl=z(()=>{if(ra.current)return;let u=cl.current?.trim(),g=Z.current.length>0?Z.current[Z.current.length-1]:void 0,x=g&&"text"in g&&typeof g.text=="string"?g.text.trim():void 0,v=Jt.current.length>0?[...Jt.current.map(_=>To(_)),...u&&u!==x?[{type:"info",text:u}]:[]]:[...Jt.current.map(_=>To(_)),...dD(Se(),Ce(),{toolCalls:zt.current,toolNames:tr.current,infoItems:u&&u!==x?[u]:[]})];v.length!==0&&(ra.current=!0,pl(Jt.current),pi.current?.(v))},[Ce,Se,pl]);je(()=>{Cx.current=$.pendingInputs},[$.pendingInputs]);let Ix=z(()=>{ot.current=!0,le(),X(),fe(),be(),Pe(),We(),ce(void 0),Yr(),xt(void 0),fa(),Mo.current=[],xi.current=[],ut.current=null,cl.current=null,ca([]),nl(null),gi(null),_o(),ua(void 0),he(!1),T?.isTTY===!0&&Qo(T)?.clear?.()},[le,We,be,Pe,_o,Yr,fa,ce,ca,he,xt,X,fe,T]),Ul=z(u=>{let g=sS(),x=g.list().filter(v=>v.status==="running"||v.status==="paused");if(x.length===0)return!1;for(let v of x)g.stop(v.runId,u);il(v=>!v||v.status!=="running"||!x.some(_=>_.runId===v.runId)?v:{...v,status:"stopped",activeAgents:[],message:"Workflow stopped by user."});let I=x[0];return x.length===1&&I?wn({type:"info",text:`Stopped workflow ${I.workflow} (${I.runId}).`},"workflow-stop"):wn({type:"info",text:`Stopped ${x.length} active workflows.`},"workflow-stop"),!0},[wn,il]);je(()=>{if(!_t.shouldRender)return;let u=o(()=>{Ul("stopped by Ctrl+C")},"handleSigint");return process.on("SIGINT",u),()=>{process.off("SIGINT",u)}},[Ul,_t.shouldRender]),kn(cn.Critical,u=>{let g=u.name==="escape",x=Date.now(),I=g&&!te&&!nr&&ia&&$.pendingInputs.length===0&&(ye||_t.shouldRender),v=I&&(u.meta===!0||x-bx.current<sD);if(bx.current=I?x:0,A0({keyName:u.name,ctrl:!!u.ctrl,isTranscriptMode:te,isAwaitingUserInteraction:nr,isInputEmpty:ia,isDoubleEscape:v,pendingInputCount:$.pendingInputs.length,hasTranscriptTextSelection:!!Cr,hasActiveWorkflow:_t.shouldRender}))return Ul(u.ctrl?"stopped by Ctrl+C":"stopped by Escape");if(!ye)return!1;switch(_0({keyName:u.name,ctrl:!!u.ctrl,isTranscriptMode:te,isAwaitingUserInteraction:nr,isInputEmpty:ia,isDoubleEscape:v,pendingInputCount:$.pendingInputs.length,hasTranscriptTextSelection:!!Cr}).kind){case"interrupt":return jl(),Ix(),!0;case"pop-pending-input":return $e(),!0;default:break}return!1},[ye,te,nr,ia,$.pendingInputs.length,$e,jl,Ix,Ul,Cr,_t.shouldRender]),kn(cn.Critical,u=>{let g=k0({itemsLength:Wt.length,currentResponse:Ye.currentResponse,thinkingContent:Ye.thinkingContent,activeToolCallsLength:Ye.activeToolCalls.length}),x=E0({keyName:u.name,hasTranscript:g,historyScrollOffset:Fn,reviewPageSize:va,reviewWheelStep:lx,hasMouse:!!u.mouse,mouseButton:u.mouse?.button,mouseAction:u.mouse?.action,usesManagedMouseClicks:Cy,supportsMouseTracking:Ve.supportsMouseTracking,usesRendererMouseTracking:bl,usesManagedMouseWheel:by,supportsWheelHistory:Ve.supportsWheelHistory});if(x.kind==="mouse-phase"){let v=u.mouse;if(!v)return!1;x.phase==="press"&&jn.current&&gx(jn.current);let _=hx(v.row,v.column);if(x.phase==="press"){if(!_||!g)return kr||tt?(pp(),!0):(Yt(),!1);let U=av({previous:Zg.current,time:Date.now(),row:v.row,column:v.column});Zg.current=U;let V=U.count>=3?"line":U.count===2?"word":"char";if(Wl(),Zn(ee=>Gs(ee,void 0)),te?Kf(void 0):Vf(void 0),V!=="char"){let ee=Cf(Ma(),_.point,V);if(ee)return jn.current={anchor:ee.start,focus:ee.end,didDrag:!1,mode:V,anchorSpan:ee},Oi(ee.start,ee.end,{updateSelectedItem:!1}),!0}return jn.current={anchor:_.point,focus:_.point,didDrag:!1,mode:"char"},!0}if(!jn.current)return!1;if(x.phase==="drag"){let U=mi.current,V=U?OI(U,v.row):0;V!==0&&Qc(V);let ee=_??(U?Cg(U,v.row,v.column):void 0);if(!ee)return!1;let Te=jn.current;if(Te.mode!=="char"&&Te.anchorSpan){let ct=Cf(Ma(),ee.point,Te.mode);if(!ct)return!1;let nt=kg(Te.anchorSpan,ct);return jn.current={...Te,anchor:nt.anchor,focus:nt.focus,didDrag:!0},Oi(nt.anchor,nt.focus,{updateSelectedItem:!1}),!0}return jn.current={...Te,focus:ee.point,didDrag:!0},Oi(Te.anchor,ee.point,{updateSelectedItem:!1}),!0}if(x.phase==="release"){let U=jn.current,V=U.focus,Te=(_??(mi.current?Cg(mi.current,v.row,v.column):void 0))?.point??V;if(U.mode!=="char"&&U.anchorSpan){let ct=Cf(Ma(),Te,U.mode);if(ct){let nt=kg(U.anchorSpan,ct);U.anchor=nt.anchor,Te=nt.focus}}return gx(U,{focusPoint:Te}),!0}}if(x.kind==="scroll-by")return Wl(),Qc(x.delta),!0;if(x.kind==="consume")return!0;let I=L0({key:u,isTranscriptMode:te,isHistorySearchActive:pt,historySearchMatchCount:Lt.length,hasTextSelection:!!kr,hasFocusedItem:!!tt,canCopySelectedItem:Ai,canCopySelectedToolInput:Al,canToggleSelectedDetail:_l,canCycleTranscriptSelection:Ml});return P0({action:I,hasTranscript:g,isTranscriptMode:te,pageScrollDelta:va,disarmHistorySearchSelection:Wl,scrollTranscriptBy:Qc,closeHistorySearchSurface:gp,backspaceHistorySearchQuery:o(()=>{vi(v=>v.slice(0,-1)),Kn(0)},"backspaceHistorySearchQuery"),stepHistorySearchSelection:o(v=>{Kn(_=>yg(Lt.length,_,v))},"stepHistorySearchSelection"),submitHistorySearchSelection:o(()=>{let v=Lt[Jr];v&&(mp(v.itemId),gp())},"submitHistorySearchSelection"),appendHistorySearchQuery:o(v=>{vi(_=>_+v),Kn(0)},"appendHistorySearchQuery"),openHistorySearchSurface:hp,clearTranscriptSelectionFocus:pp,exitTranscriptModeSurface:Fl,toggleTranscriptShowAll:Sx,scrollTranscriptHome:o(()=>{qc(Math.max(0,Ra-Ft.messageRows))},"scrollTranscriptHome"),scrollTranscriptToBottom:o(()=>{Jc(),Yt()},"scrollTranscriptToBottom"),cycleTranscriptSelection:dx,copySelectedTranscriptText:o(()=>{Hl()},"copySelectedTranscriptText"),copySelectedTranscriptItem:o(()=>{px()},"copySelectedTranscriptItem"),copySelectedTranscriptToolInput:o(()=>{mx()},"copySelectedTranscriptToolInput"),toggleSelectedTranscriptDetail:fx,navigateSearchMatch:o(v=>{Kn(_=>{let U=yg(Lt.length,_,v),V=Lt[U];return V&&mp(V.itemId),U})},"navigateSearchMatch"),dumpTranscriptToScrollback:o(()=>{$0({items:Wt.filter(v=>!rh(v)),exitAltScreen:o(()=>{P(Zu({mouseTracking:!0}))},"exitAltScreen"),writeToScrollback:o(v=>{P(v)},"writeToScrollback"),enterAltScreen:o(()=>{P(Ju({mouseTracking:!0,clearOnEnter:!1}))},"enterAltScreen")})},"dumpTranscriptToScrollback")})},[te,Wt,Ye.currentResponse,Ye.thinkingContent,Ye.activeToolCalls,Fn,Ra,va,lx,tt,pp,Fl,Sx,Ve,Qc,qc,Jc,Ml,Jr,Yt,Hl,Lt,hp,gp,Wl,dx,Ai,px,Al,mx,_l,fx,mp,kr,hx,Ve.supportsMouseTracking,Cr,Cy,by,ep,Po,bl,Oi,Ft.messageRows]),kn(u=>{if(!rt)return!1;let g=u.sequence.trim().toLowerCase(),x=!!rt.input._alwaysConfirm,I=G.permissionMode==="accept-edits"&&!x,v=o(_=>{let U=`${oe("dialog.confirm")} ${rt.prompt}
142
+ \u2192 ${oe(`confirm.result.${_}`)}`;!!st.current.workerId?on({id:`confirm-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"info",text:U,timestamp:Date.now()}):W({type:"info",text:U})},"recordConfirmResult");return g==="y"||g==="yes"?(v("approved"),Sl(null),Lo.current?.({confirmed:!0}),Lo.current=null,!0):I&&(g==="a"||g==="always")?(v("approved_always"),Sl(null),Lo.current?.({confirmed:!0,always:!0}),Lo.current=null,!0):g==="n"||g==="no"||u.name==="escape"?(v("denied"),Sl(null),Lo.current?.({confirmed:!1}),Lo.current=null,!0):u.insertable||u.name==="return"},{isActive:!!rt,priority:cn.Critical});let Gl=z(u=>{Vn(null),wl.current?.(u),wl.current=null},[]),Di=z((u,g,x)=>g.length===0?Promise.resolve(void 0):new Promise(I=>{wl.current=I,Vn({kind:"select",title:u,options:g,buffer:"",focusedIndex:0,selectedIndices:[],multiSelect:x})}),[]),bk=z((u,g)=>Di(u,g.map(x=>({label:x,value:x}))),[Di]),vx=z(async u=>{let g=u.options?Tf(u.options):[];return await Di(bg(u),g,u.multiSelect)??Lp},[Di]);je(()=>{let u=!1;return(async()=>{let{bindAskUserForConstruction:g}=await import("./construction-bootstrap-AVTILHEH.js");u||g(vx)})(),()=>{u=!0,(async()=>{let{bindAskUserForConstruction:g}=await import("./construction-bootstrap-AVTILHEH.js");g(null)})()}},[vx]);let Rx=z((u,g)=>new Promise(x=>{wl.current=x,Vn({kind:"input",prompt:u,defaultValue:g,buffer:""})}),[]);kn(u=>{let g=Tl.current;if(!g)return!1;if(u.name==="escape")return Gl(void 0),!0;if(g.kind==="select"){let x=g.options.length;if(u.name==="up"||u.sequence==="k")return Vn(I=>I&&I.kind==="select"?{...I,focusedIndex:(I.focusedIndex-1+x)%x,error:void 0}:I),!0;if(u.name==="down"||u.sequence==="j")return Vn(I=>I&&I.kind==="select"?{...I,focusedIndex:(I.focusedIndex+1)%x,error:void 0}:I),!0;if(u.sequence===" "&&g.multiSelect)return Vn(I=>{if(!I||I.kind!=="select")return I;let v=I.focusedIndex,_=I.selectedIndices.includes(v)?I.selectedIndices.filter(U=>U!==v):[...I.selectedIndices,v];return{...I,selectedIndices:_,error:void 0}}),!0;if(u.name==="return"){let I=Tl.current;if(!I||I.kind!=="select")return!1;if(I.multiSelect){if(I.selectedIndices.length===0)return Vn(_=>_&&_.kind==="select"?{..._,error:oe("select.multiselect_empty")}:_),!0;let v=I.selectedIndices.sort((_,U)=>_-U).map(_=>I.options[_]?.value).filter(Boolean).join(", ");Gl(v)}else Gl(I.options[I.focusedIndex]?.value);return!0}if(/^[1-9]$/.test(u.sequence)){let I=Number.parseInt(u.sequence,10)-1;if(I>=0&&I<x)return g.multiSelect?Vn(v=>{if(!v||v.kind!=="select")return v;let _=v.selectedIndices.includes(I)?v.selectedIndices.filter(U=>U!==I):[...v.selectedIndices,I];return{...v,focusedIndex:I,selectedIndices:_,error:void 0}}):Vn(v=>v&&v.kind==="select"?{...v,focusedIndex:I,error:void 0}:v),!0}return!1}if(u.name==="return"){let x=Tl.current;if(!x||x.kind!=="input")return!1;let I=x.buffer.trim();return Gl(I===""?x.defaultValue??void 0:I),!0}return u.name==="backspace"||u.name==="delete"?(Vn(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?(Vn(x=>x&&x.kind==="input"?{...x,buffer:x.buffer+u.sequence,error:void 0}:x),!0):!1},{isActive:!!Be,priority:cn.Critical}),je(()=>{if(n.messages.length>0&&D.length===0){if(n.uiHistory?.length){let u=Wr(n.uiHistory);u.length!==n.uiHistory.length&&(n.uiHistory=u),de(qd({messages:n.messages,uiHistory:u}));return}de(qd({messages:n.messages}))}},[n.messages,n.uiHistory,D.length,de]),je(()=>{ql(n.gitRoot)},[n.gitRoot]),je(()=>{process.env.KODAX_PREWARM_REPO_INTELLIGENCE!=="0"&&zx({executionCwd:n.gitRoot??process.cwd(),gitRoot:n.gitRoot??void 0},{mode:G.repoIntelligenceMode})},[n.gitRoot,G.repoIntelligenceMode]);let Ni=z(()=>({onThinkingDelta:o((u,g)=>{if(ot.current||An(g,"thinking",u,{append:!0}))return;$.currentTool&&(ce(void 0),Pe());let{header:x}=Vb(Se()+u),I=x?`[Thinking: ${x}]`:"[Thinking]";xt(nf(ut.current?.activeWorkerTitle?`[${ut.current.activeWorkerTitle}] ${I}`:I,ut.current?.activeWorkerTitle)),He(u.length),F(u),st.current.workerId&&hl("thinking",u)},"onThinkingDelta"),onThinkingEnd:o((u,g)=>{if(ot.current||An(g,"thinking",u))return;let x=Se(),I=jb(x,u);I&&I!==x&&(be(),Ee(),He(I.length),F(I)),st.current.workerId&&fy(I),fe()},"onThinkingEnd"),onTextDelta:o((u,g)=>{ot.current||An(g,"assistant",u,{append:!0})||($.currentTool&&(ce(void 0),Pe()),fe(),xt(void 0),Ct(u),st.current.workerId&&hl("assistant",u))},"onTextDelta"),onToolUseStart:o((u,g)=>{if(ot.current||An(g,"tool",rb(u.name,u.input)))return;tr.current.includes(u.name)||(tr.current=[...tr.current,u.name]);let x=ut.current?.activeWorkerTitle?`[${ut.current.activeWorkerTitle}] `:"",I={id:u.id,name:`${x}${u.name}`,status:H.Executing,startTime:Date.now(),input:u.input};py(I),st.current.workerId&&Gn(I),xt(Fr(I,ut.current?.activeWorkerTitle))},"onToolUseStart"),onToolInputDelta:o((u,g,x)=>{if(ot.current||An(x,"tool",u,{skipIfExisting:!0}))return;it(g.length),re(g);let I=my(x?.toolId,u,v=>{let _=v.preview??"",U=Hb(`${_}${g}`);return{...v,preview:U||void 0,input:v.input?U?{...v.input,preview:U}:{...v.input}:U?{preview:U}:void 0}});I&&(st.current.workerId&&Gn(I),xt(Fr(I,ut.current?.activeWorkerTitle)))},"onToolInputDelta"),onToolResult:o((u,g)=>{if(ot.current||An(g,"tool",`${u.name} completed`))return;let x=typeof u.content=="string"?u.content:String(u.content??""),I=Wb(x);if(/^\[(?:Tool Error|Error)\]/.test(x)){let _=yl(u.id,H.Error,I,I,u.name);_&&(st.current.workerId&&Gn(_),xt(Fr(_,ut.current?.activeWorkerTitle)));return}if(/^\[(?:Cancelled|Blocked)\]/.test(x)){let _=yl(u.id,H.Cancelled,void 0,I,u.name);_&&(st.current.workerId&&Gn(_),xt(Fr(_,ut.current?.activeWorkerTitle)));return}let v=yl(u.id,H.Success,void 0,I||void 0,u.name);v&&(st.current.workerId&&Gn(v),xt(Fr(v,ut.current?.activeWorkerTitle)))},"onToolResult"),onToolProgress:o((u,g)=>{if(ot.current||An(g,"progress",u.message))return;let x=u.message.length>100?u.message.slice(0,97)+"...":u.message,I=Ii(u.id,v=>({...v,preview:x,progressLines:[...(v.progressLines??[]).slice(-4),x]}));I&&st.current.workerId&&Gn(I),xt(x)},"onToolProgress"),onStreamEnd:o(u=>{if(ot.current||Vd(u))return;let g=pa(H.Cancelled,()=>({error:"Stream ended before the tool completed.",output:void 0})),x=g[g.length-1];st.current.workerId&&g.forEach(I=>Gn(I)),x&&xt(Fr(x,ut.current?.activeWorkerTitle)),fe(),Pe(),ce(void 0)},"onStreamEnd"),onChildActivityEnd:o(u=>{ay(u)},"onChildActivityEnd"),hasPendingInputs:o(()=>Cx.current.length>0,"hasPendingInputs"),onMidTurnUserMessages:o(u=>{if(!ot.current)for(let g of u){let x=g.trim();x&&(st.current.workerId?on({id:`mid-turn-user-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"user",text:x,timestamp:Date.now()}):W({type:"user",text:x}))}},"onMidTurnUserMessages"),onSidecarMessage:o(u=>{if(ot.current)return;let g=u.delivery==="budget-exhausted"?"[Sidecar budget exhausted]":u.verdict==="revise"?"[Sidecar -> Agent]":"[Sidecar blocked]",x=u.suggestedFix?`
143
+ Suggested fix: ${u.suggestedFix}`:"";wn({type:"info",icon:">",text:`${g}
144
+ ${u.content}${x}`},"sidecar-message")},"onSidecarMessage"),onError:o(u=>{let g=Xr();g?.name&&xt(Fr(g,ut.current?.activeWorkerTitle));let x=pa(H.Error,()=>({error:u.message,output:void 0})),I=x[x.length-1];st.current.workerId&&x.forEach(ct=>Gn(ct)),I&&xt(Fr(I,ut.current?.activeWorkerTitle));let v=Bx(u),_=["Transient","Permanent","Tool Call ID","User Abort"];if(v.category===Pa.USER_ABORT)return;let V=[`\u274C API Error (${_[v.category]||"Unknown"}): ${u.message}`];v.shouldCleanup&&V.push(" \u{1F9F9} Cleaned incomplete tool calls"),v.category===Pa.PERMANENT?(V.push(" \u{1F4A1} This error requires manual intervention. Please check:"),u.message.includes("auth")||u.message.includes("401")?(V.push(" - Your API key is valid"),V.push(" - Run /config to check provider settings")):u.message.includes("400")?(V.push(" - The request parameters are correct"),V.push(" - Try restarting the conversation")):V.push(" - The error details above")):v.category===Pa.TRANSIENT?V.push(" \u23F3 Retries exhausted. Press Enter to continue the conversation"):v.category===Pa.TOOL_CALL_ID&&V.push(" \u2705 Session cleaned, ready to continue");let ee=V.join(`
145
+ `);!!st.current.workerId?on({id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"error",text:ee,timestamp:Date.now()}):W({type:"error",text:ee})},"onError"),onRetry:o((u,g,x,I)=>{if(ot.current)return;let v=Qd(u,g,x);if(aa(I,v.text)||An(I,"progress",v.text))return;!!st.current.workerId?on({...v,id:`retry-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):W(v)},"onRetry"),onProviderRecovery:o((u,g)=>{if(ot.current)return;let x=Jd(u);if(aa(g,x.text)||An(g,"progress",x.text))return;let I=!!st.current.workerId,v=Ce().trim();v&&(I?hl("assistant",v):W({type:"assistant",text:v})),We(),be(),fe(),Pe(),ce(void 0),Yr(),xt(void 0),I?on({...x,id:`recovery-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):W(x)},"onProviderRecovery"),onManagedTaskStatus:o(u=>{if(ot.current)return;let g=st.current;if(fv(u)){if(g.workerId&&g.workerId!==u.activeWorkerId)lk({workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle});else if(g.workerId!==u.activeWorkerId){let U=St.current,V=U.activeToolGroupTools.some(ee=>ee.status===H.Executing);St.current={workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle,...V?{activeToolGroupItemId:U.activeToolGroupItemId,activeToolGroupTools:U.activeToolGroupTools}:{activeToolGroupTools:[]}},st.current={workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle}}}ut.current=u,nl(u);let x=Gb(u);uk(x);let I=Ws(u),_=Ws(u,{expanded:!0})??I;_&&(cl.current=_)},"onManagedTaskStatus"),onProviderRateLimit:o((u,g,x,I)=>{if(ot.current)return;let v=`[Rate Limit] Retrying in ${x/1e3}s (${u}/${g})...`;aa(I,v)||An(I,"progress",v)||wn({type:"info",icon:"\u23F3",text:v},"ratelimit")},"onProviderRateLimit"),onRetryAfter:o((u,g)=>{if(ot.current)return;let x=Math.round(u.waitMs/1e3),I=u.source==="exponential-backoff"?"no-header \u2192 backoff":u.source,_=`[${u.reason==="overloaded"?"Overloaded":"Rate limited"}] (${u.provider}) \u2014 retrying in ${x}s [${I}] (${u.attempt}/${u.maxAttempts})`;aa(g,_)||An(g,"progress",_)||wn({type:"info",icon:"\u23F3",text:_},"ratelimit")},"onRetryAfter"),onRepoIntelligenceTrace:o(u=>{ot.current||wn(r0(u),"repointel-trace")},"onRepoIntelligenceTrace"),onTodoUpdate:o(u=>{ot.current||br(u)},"onTodoUpdate"),onScoutSuspiciousCompletion:o(u=>{ot.current||pv&&wn({type:"info",icon:"\u26A0",text:`[Scout] Completion marked uncertain \u2014 signals: ${u.signals.join(", ")}. Verify the result before continuing.`},"scout-uncertain")},"onScoutSuspiciousCompletion"),onIterationStart:o((u,g)=>{if(ot.current)return;if(g&&pe(g),ut.current?.globalWorkBudget){let Te={...ut.current,budgetUsage:Math.min(ut.current.globalWorkBudget,(ut.current.budgetUsage??0)+1)};ut.current=Te,nl(Te)}let x=u>1?Se().trim():"",I=u>1?_g(Ce()):"",v=u>1?[...tr.current]:[],_=u>1?[...zt.current]:[],U=!!st.current.workerId;Ke(u),U&&fl({clearOwner:!1});let V=Ir.current.filter(Te=>Te.status===H.Executing),ee=new Set(V.map(Te=>Te.id));if(tr.current=[],zt.current=zt.current.filter(Te=>ee.has(Te.id)),Mn(V),Pe(),ce(void 0),xt(nf(ut.current?.activeWorkerTitle?`[Thinking] [${ut.current.activeWorkerTitle}]`:void 0,ut.current?.activeWorkerTitle)),Ee(),u>1&&!U){let Te=Lg({thinking:x,response:I,toolCalls:_,toolNames:v});pi.current?pi.current(Te):de([...Te])}},"onIterationStart"),beforeToolExecute:o(async(u,g)=>{let x=Cn.current,I=Da(x),v=wx.current,_=n.gitRoot;if(nS(y.current,u,g))return`[Skipped] Previously denied operation. ${rS(y.current)}`;if(x==="plan"&&(Bo.has(u)||u==="undo"))return`[Blocked] Tool '${u}' is not allowed in plan mode (read-only). ${uv}`;if(x==="plan"&&u==="bash"){let U=g.command??"";if(ro(U))return`[Blocked] Bash write operation not allowed in plan mode: ${U.slice(0,50)}... ${uv}`}if(u==="bash"){let U=g.command??"";if(no(U))return!0}if(ln(x)&&sp==="llm")return!0;if(u==="bash"){let U=g.command??"",V=eS(U);if(V.level==="dangerous"){let ee=await Ar(u,{...g,_dangerousCommand:!0});return ee.confirmed?ee.confirmed:(y.current=$p(y.current,u,g,V.reason),`[Blocked] Dangerous command requires confirmation: ${V.reason}`)}}if(_){let U=!1;if(Bo.has(u)){let V=g.path;V&&Ha(V,_)&&(U=!0)}if(u==="bash"){let V=g.command;V&&lS(V,_)&&(U=!0)}if(U){let V=await Ar(u,{...g,_alwaysConfirm:!0});if(Cn.current==="plan"&&(Bo.has(u)||u==="undo"))return!1;if(Cn.current==="plan"&&u==="bash"){let ee=g.command??"";if(ro(ee))return!1}return V.confirmed}}if(I.has(u)){if(x==="accept-edits"&&u==="bash"&&await Ba(u,g,v,wp.current??void 0))return!0;let U=await Ar(u,g);if(Cn.current==="plan"&&(Bo.has(u)||u==="undo"))return!1;if(Cn.current==="plan"&&u==="bash"){let V=g.command??"";if(ro(V))return!1}if(!U.confirmed)return W({type:"info",text:oe("cancelled")}),y.current=$p(y.current,u,g),!1;U.always&&x==="accept-edits"&&(fu(u,g,!1),wx.current=Zi())}return!0},"beforeToolExecute"),askUser:o(async u=>{let g=u.options?Tf(u.options):[],x=await Di(bg(u),g,u.multiSelect);return x===void 0?Lp:x},"askUser"),exitPlanMode:o(async u=>Cn.current!=="plan"?"not-in-plan-mode":(await Ar("exit_plan_mode",{plan:u})).confirmed?(Tp("accept-edits"),!0):!1,"exitPlanMode"),askUserMulti:o(async u=>{let g=u.questions,x={},I="__back__",v=0;for(;v<g.length;){let _=g[v],U=Tf(_.options);v>0&&U.push({label:oe("select.back_prev"),value:I});let V=`[${v+1}/${g.length}] ${_.question}`,ee=await Di(V,U,_.multiSelect);if(ee===void 0)return;if(ee===I){v--;continue}x[_.question]=ee,v++}return x},"askUserMulti"),askUserInput:o(async u=>Rx(u.question,u.default),"askUserInput"),onCompactStart:o(()=>{K()},"onCompactStart"),onCompactStats:o(u=>{na.current=u.tokensBefore,Wn(u.tokensAfter)},"onCompactStats"),onCompactedMessages:o((u,g)=>{n.messages=u,g?.artifactLedger&&g.artifactLedger.length>0&&(n.artifactLedger=Qi(n.artifactLedger??[],g.artifactLedger)),n.lineage=g?.anchor?Vx(n.lineage,u,g.anchor,g.postCompactAttachments??[]):qt(u,n.lineage);let x=Xl(u);n.contextTokenSnapshot={currentTokens:x,baselineEstimatedTokens:x,source:"estimate"},yr(n),Wn(x),Kc.current?.().catch(()=>{})},"onCompactedMessages"),onCompact:o(u=>{j();let g=na.current??u;na.current=null;let x=Math.round(g/1e3);wn({type:"info",icon:"\u2728",text:`Context auto-compacted (was ~${x}k tokens)`},"compact")},"onCompact"),onCompactEnd:o(()=>{na.current=null,j()},"onCompactEnd"),onIterationEnd:o(u=>{u.scope!=="worker"&&(n.contextTokenSnapshot=u.contextTokenSnapshot),Wn(u.tokenCount)},"onIterationEnd")}),[He,F,fe,Ct,ce,it,re,Pe,Ke,Ee,G,n,K,j,W,be,Se,Ce,fl,xt,hl,fy,Gn,py,my,yl,pa,Xr,Yr,Mn,ay,aa,An,wn,$.currentTool]),Ar=o((u,g)=>{let x=Bb(u,g);return Rr(),new Promise(I=>{Lo.current=I,Sl({tool:u,input:g,prompt:x})})},"showConfirmDialog");je(()=>(d(async(u,g,x)=>(await Ar(u.name,{...u.input,_reason:`[auto-mode] ${g}`,...x&&x.length>0?{_classifierSignals:x}:{}})).confirmed?"allow":"block"),f(u=>{ap(u)}),()=>{d(null),f(null)}),[]),je(()=>{p(G)},[G,p]),je(()=>{let u=o(()=>Ni(),"resolve");return _p({askUser:o(g=>{let x=u().askUser;if(!x)throw new Error("askUser surface unavailable");return x(g)},"askUser"),askUserMulti:o(async g=>{let x=u().askUserMulti;return x?x(g):void 0},"askUserMulti"),askUserInput:o(async g=>{let x=u().askUserInput;return x?x(g):void 0},"askUserInput")}),()=>_p(void 0)},[Ni]);let Bi=o(async(u,g,x=n.lineage?$t(n.lineage,n.lineage.activeEntryId):n.messages,I)=>{let v={...Ni(),getCostReport:L},U=Gx(n.gitRoot).getSystemPromptSnippet(),V=o0(u.context,n.gitRoot,n.contextTokenSnapshot,U);I&&I.length>0&&(V.inputArtifacts=[...I]),V.planModeBlockCheck=(ee,Te)=>Cn.current!=="plan"?null:Fo(ee,Te,n.gitRoot??process.cwd());try{return await $a({...u,session:{...u.session,initialMessages:x,initialExtensionState:n.extensionState??{},initialExtensionRecords:n.extensionRecords??[]},context:V,events:v,abortSignal:ue()},g)}finally{qx()}},"runAgentRound"),bn=z(u=>{let g=qt([...u],n.lineage);return n.lineage=g,g},[n]),_a=z(async u=>{if(n.messages.length===0)return;let g=Uo(n.messages),x=Wr(u??O.current);O.current=x,n.title=g,n.uiHistory=x;let I=n.lineage??bn(n.messages);n.lineage=I;let v={...n.extensionStateDirty?{extensionState:n.extensionState??{}}:{},...n.extensionRecordsDirty?{extensionRecords:n.extensionRecords??[]}:{}},_=Ys({messages:n.messages,title:g,gitRoot:n.gitRoot??"",tag:De.current.session?.tag,uiHistory:x,lineage:I,artifactLedger:n.artifactLedger,...v});aD(r)?await r.appendSessionDelta(n.sessionId,_):await r.save(n.sessionId,_),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,cf()&&lf("persist",uf(n.messages,I,{historyItems:Z.current,foregroundItems:Jt.current,streamingResponse:Le.current.currentResponse,streamingThinking:Le.current.thinkingContent,persistedUiHistory:O.current}))},[n,bn,r]),Cp=z(()=>{if(zc.current)return zc.current;let u=(async()=>{try{for(;ko.current.requested;){ko.current.requested=!1;let g=ko.current.uiHistoryOverride;ko.current.uiHistoryOverride=void 0,await _a(g)}}finally{zc.current=null,ko.current.requested&&Cp()}})();return zc.current=u,Jg.current=u,u},[_a]),_r=z(u=>{if(u!==void 0){let g=Wr(u);O.current=g,ko.current.uiHistoryOverride=g}return ko.current.requested=!0,Cp()},[Cp]),Ik=z(async()=>{if(oa.current)return oa.current;let u=(async()=>{ot.current=!0,le(),X(),fe(),be(),Pe(),We(),ce(void 0),he(!1),await Jg.current.catch(()=>{}),await Kc.current?.().catch(()=>{}),Bf(!1),E&&C?.isRaw&&M(!1),C?.pause?.(),C?.unref?.(),w(),a()})();return oa.current=u.finally(()=>{oa.current=null}),oa.current},[le,We,be,Pe,w,E,a,ce,he,M,C,X,fe]);je(()=>(Kc.current=_r,()=>{Kc.current=null}),[_r]);let Vl=z(u=>{if(u.length===0)return;let g=If(O.current,u);O.current=g,_r(g)},[_r]),zn=z(u=>{u.length!==0&&(de([...u]),Vl(u))},[de,Vl]),Hi=z(u=>{u.length!==0&&(de([...u]),O.current=If(O.current,u))},[de]);je(()=>(pi.current=zn,()=>{pi.current=null}),[zn]);let kx=z(async u=>{n.messages=u.messages,n.contextTokenSnapshot=u.contextTokenSnapshot,lv(n,u),bn(u.messages);let g=u.success===!1&&!u.interrupted,x=Se().trim(),I=hS(u.messages,Ce(),u.managedTask?.verdict.summary,u.lastText),v=[...Jt.current],_=v.length>0;pl(v);let U=_&&v.some(Pt=>Pt.type==="assistant"&&"text"in Pt&&es(String(Pt.text??"")).length>0),V=!g&&I&&!U,ee=[...xi.current],Te=g?[]:ee.length===0?pv?Gh(u):Gh(u).filter(Pt=>!Uh(Pt)):[],ct=_?[]:Lg({thinking:x,response:void 0,toolCalls:zt.current,toolNames:tr.current}),nt=[...v.map(Pt=>To(Pt)),...ct,...g?[]:ee.map(Pt=>To(Pt)),...Te.map(Pt=>dv(Pt)),...V?[{type:"assistant",text:u.interrupted?`${I}
146
+
147
+ [Interrupted]`:I}]:!I&&!U&&!u.interrupted&&!g?[{type:"info",text:"[No response text was produced for this round]"}]:[]],In=If(O.current,nt);be(),We();let eo=[...v.map(Pt=>To(Pt)),...ct,...g?[]:[...Te.map(Pt=>dv(Pt)),...ee.map(Pt=>To(Pt))],...V?[{type:"assistant",text:u.interrupted?`${I}
148
+
149
+ [Interrupted]`:I}]:!I&&!U&&!u.interrupted&&!g?[{type:"info",text:"[No response text was produced for this round]"}]:[]];de(eo),tr.current=[],zt.current=[],Yr(),Pe(),ce(void 0),xt(void 0),fa(),Mo.current=[],xi.current=[],ca([]),A(),_r(In).catch(()=>{})},[de,A,Pe,We,be,n,Ce,Se,_r,bn,Yr,fa,ce,xt,$.currentIteration]),Wi=z(async u=>{let g=u.trim();g&&(W({type:"user",text:g}),Vc(x=>x+1),yr(n))},[W,n]),Fi=z(async(u,g)=>{let x=Aa.current;ot.current=!1,ra.current=!1,ta(!0);try{return await v0({initialPrompt:u,runRound:g,shiftPendingPrompt:N,onRoundComplete:o(async I=>{Aa.current===x&&await kx(I)},"onRoundComplete"),onBeforeQueuedRound:o(async I=>{ot.current=!1,ra.current=!1,await Wi(I)},"onBeforeQueuedRound"),shouldContinue:o(I=>!ot.current&&I.success!==!1,"shouldContinue"),shouldDrainQueuedPrompts:o(()=>fi.current?Le.current.pendingInputs.length===0?(fi.current=!1,!0):!1:!0,"shouldDrainQueuedPrompts")})}finally{ta(!1)}},[kx,N,Wi]),Ex=z(async u=>{if(n.messages.length===0)return"empty";if(!xo(G,"Recovering into a new session",$c))return"blocked";let x=n.sessionId,I=n.lineage??bn(n.messages);n.lineage=I;let v=n.artifactLedger?structuredClone(n.artifactLedger):void 0,_=eu({sourceSessionId:x,messages:n.messages,lineage:I,artifactLedger:v,reason:"provider session recovery"}),U=n.title||Uo(n.messages);await r.save(n.sessionId,Ys({messages:n.messages,title:U,gitRoot:n.gitRoot??"",tag:De.current.session?.tag,uiHistory:O.current,lineage:I,artifactLedger:v,extensionState:n.extensionState,extensionRecords:n.extensionRecords}));let V=ii(),ee=qt(_.messages);await r.save(V,Ys({messages:_.messages,title:_.title,gitRoot:n.gitRoot??"",tag:De.current.session?.tag,uiHistory:[],lineage:ee,artifactLedger:v}));let Te=new Date().toISOString();n.sessionId=V,n.messages=_.messages,n.uiHistory=[],n.title=_.title,n.contextTokenSnapshot=void 0,n.lineage=ee,n.artifactLedger=v,n.extensionState=void 0,n.extensionRecords=void 0,n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.createdAt=Te,n.lastAccessed=Te,O.current=[],De.current.session={...De.current.session,id:V},Wn(null),xe(),br([]),Gp()?.reset(),me(V),h?.writer.update({sessionId:V}),Hi([{type:"info",text:`Recovered into new session ${V}
150
+ Source session saved: ${x}
151
+ Raw provider history was not replayed.`}]),await r.save(V,Ys({messages:n.messages,title:n.title,gitRoot:n.gitRoot??"",tag:De.current.session?.tag,uiHistory:O.current,lineage:n.lineage,artifactLedger:n.artifactLedger}));let ct=Zl(u);try{await Wi(ct),await Fi(ct,async nt=>{let In=Us(nt,De.current.context?.executionCwd??process.cwd());for(let eo of In.warnings)W({type:"info",text:eo});return Bi(De.current,In.promptText,n.messages,In.inputArtifacts)})}catch(nt){let In=nt instanceof Error?nt.message:String(nt);return zn([{type:"error",text:`[Recover failed] ${In}`}]),"failed"}return"recovered"},[W,zn,Hi,xe,n,G,bn,Fi,Wi,r,h]),bp=z(async()=>{let u=N();if(!u||!u.trim())return;let g=u.trim();await Wi(g),await Fi(g,async x=>Bi(De.current,x))},[Bi,Fi,N,Wi]),Ip=z(u=>{let g=u[u.length-1];if(g?.role!=="assistant")return;let x=Fa(g);de(x.map(jo))},[de]),Mx=z(async(u,g)=>{let x=await sf({...De.current,provider:G.provider,thinking:G.thinking,reasoningMode:G.reasoningMode},u,g,I=>W({type:"info",text:I}));if(x.mode==="manual"){x.manualOutput&&W({type:"info",text:x.manualOutput}),await x.finalize();return}if(!x.prompt||!x.options){await x.finalize();return}ta(!0);try{let I=x.mode==="fork"?[]:n.lineage?$t(n.lineage,n.lineage.activeEntryId):n.messages,v=Aa.current,_=await Bi(x.options,x.prompt,I);if(Aa.current!==v)await x.finalize();else{let U=O.current,V=[];if(x.mode==="fork"){let ee=_.messages.find(ct=>ct.role==="user");ee&&n.messages.push(ee);let Te=_.messages.slice().reverse().find(ct=>ct.role==="assistant");if(Te){n.messages.push({role:"assistant",content:Te.content}),bn(n.messages);for(let ct of Fa(Te)){let nt=jo(ct);W(nt),V.push(nt)}}}else{n.messages=_.messages,n.contextTokenSnapshot=_.contextTokenSnapshot,bn(_.messages),Ip(_.messages);let ee=_.messages[_.messages.length-1];if(ee?.role==="assistant")for(let Te of Fa(ee))V.push(jo(Te))}lv(n,_),await _a(If(U,V)),cf()&&lf("round-end",uf(n.messages,n.lineage,{historyItems:Z.current,foregroundItems:Jt.current,streamingResponse:Le.current.currentResponse,streamingThinking:Le.current.thinkingContent,persistedUiHistory:O.current})),await x.finalize()}}catch(I){let v=I instanceof Error?I:new Error(String(I));throw await x.finalize(v),ta(!1),v}ta(!1),await bp()},[W,Ip,n,G.provider,G.thinking,bp,_a,bn,Bi]),vk=z(async u=>{for(let g of u.pastedContents)if(g.type==="text"&&!g.content&&g.contentHash)try{let x=await kS(g.contentHash);x&&(g.content=x)}catch{}},[]),Rk=z(async u=>{let{displayText:g,fullText:x,pastedContents:I}=u;if(!x.trim()||!Bt||rt||Be)return;for(let q of I){if(q.type!=="text"||q.content.length<1024)continue;let Ae=vS(q.content);RS(Ae,q.content)}if(gy(!1),ye){if(!Wf)return;if($.pendingInputs.length>=5){wn({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(I0(x)){wn({type:"info",icon:"\u26A0",text:C0},b0);return}let q=$.currentTool;if(q&&nu(q)?.interruptBehavior==="cancel"){Me(x),le({preservePendingInputs:!0}),Yc(""),Xc(!0),Vc(sn=>sn+1),yr(n);return}Me(x),Yc(""),Xc(!0),Vc(Ae=>Ae+1),yr(n);return}let v=_g(Ce()),_=Jt.current.map(q=>To(q)),U=_.length>0;_.length>0&&(pl(Jt.current),Hi(_)),!U&&v&&Hi([{type:"assistant",text:v+`
152
+
153
+ [Interrupted]`}]),Hi([{type:"user",text:g}]),Yc(""),Xc(!0),Vc(q=>q+1),cf()&&lf("turn-start",uf(n.messages,n.lineage,{historyItems:Z.current,foregroundItems:Jt.current,streamingResponse:Le.current.currentResponse,streamingThinking:Le.current.thinkingContent,persistedUiHistory:O.current})),he(!0),ot.current=!1,ra.current=!1,++Aa.current,nl(null),gi(null),ut.current=null,cl.current=null,xt(void 0),fa(),Mo.current=[],xi.current=[],ca([]),_o(),ua(void 0),tr.current=[],zt.current=[],Yr(),Qf(),We(),Pe(),ce(void 0),A(),Q(),yr(n),await new Promise(q=>setTimeout(q,50));let V=o(q=>{if(q.stage==="started"||q.stage==="generating"||q.stage==="validating"||q.stage==="ready"){gi(q.message);return}gi(null)},"handleWorkflowBuilderEvent"),ee=o(q=>{if(q.status==="running"){ol({runId:q.runId,workflow:q.workflow,status:q.status,...q.phase!==void 0?{phase:q.phase}:{},...q.phaseIndex!==void 0?{phaseIndex:q.phaseIndex}:{},...q.phaseTotal!==void 0?{phaseTotal:q.phaseTotal}:{},...q.startedAt!==void 0?{startedAt:q.startedAt}:{},...q.elapsedMs!==void 0?{elapsedMs:q.elapsedMs}:{},activeAgents:q.activeAgents,totalSpawned:q.totalSpawned,...q.plannedAgents!==void 0?{plannedAgents:q.plannedAgents}:{},...q.agentCap!==void 0?{agentCap:q.agentCap}:{},...q.tokenBudgetSpent!==void 0?{tokenBudgetSpent:q.tokenBudgetSpent}:{},...q.tokenBudgetTotal!==void 0?{tokenBudgetTotal:q.tokenBudgetTotal}:{},completedAgents:q.completedAgents,failedAgents:q.failedAgents,stoppedAgents:q.stoppedAgents,...q.message!==void 0?{message:q.message}:{},...q.locale!==void 0?{locale:q.locale}:{}});return}il(Ae=>Ae?.runId===q.runId?null:Ae)},"handleWorkflowRunUpdate"),Te=o(q=>{if(q.type==="event")return;let Ae=Mt(q.text).trimEnd();if(Ae.trim()){if(q.type==="error"){W({type:"error",text:Ae});return}if(q.type==="assistant"){zn([{type:"assistant",text:Ae}]);return}wn({type:"info",text:Ae},"workflow-message")}},"handleWorkflowRunMessage"),ct=o(()=>({createKodaXOptions:o(()=>({...De.current,provider:G.provider,model:G.model,thinking:G.thinking,reasoningMode:G.reasoningMode,agentMode:G.agentMode,guardrails:bf(Cn.current,l),events:Ni()}),"createKodaXOptions"),confirm:o(async q=>(await Ar("confirm",{_alwaysConfirm:!0,_message:q})).confirmed,"confirm"),onWorkflowBuilderEvent:V,onWorkflowRunMessage:Te,onWorkflowRunUpdate:ee}),"createWorkflowCallbacks"),nt=o(async(q,Ae,sn)=>{let tn=ou({agentMode:G.agentMode,source:q.source,input:Ae||q.request,hostPolicy:De.current.workflowHostPolicy});if(tn.action==="none")return!1;if(tn.action==="suggest"&&q.source==="natural-language"){let J=tn.trigger==="explicit";if(!await sn.confirm?.(J?"This request explicitly asks for workflow. Generate and run it? Choose No to cancel this turn.":"This task looks suitable for workflow. Use workflow? Choose No to continue with normal AMA."))return J?(W({type:"info",text:"Workflow request cancelled. No normal AMA fallback was started."}),!0):!1}let Xn=[],to=console.log;console.log=(...J)=>{Xn.push(Eg(J))};let sr=!1,ji=o(()=>{sr||(sr=!0,n.messages.push({role:"user",content:Ae||q.request}))},"commitWorkflowUserMessage"),B={...sn,onWorkflowRunMessage:o(J=>{if(sn.onWorkflowRunMessage?.(J),J.type!=="assistant"||J.final!==!0)return;let Ie=Mt(J.text).trimEnd();Ie.trim()&&(ji(),n.messages.push({role:"assistant",content:Ie}),bn(n.messages),_r(),Le.current.pendingInputs.length>0&&(fi.current=!0))},"onWorkflowRunMessage")};try{let J=await mu({request:q.request,callbacks:B,approval:G.permissionMode==="plan"?"required":"silent",presentation:"agentic",sourceLabel:q.displayName,processSource:q.processSource??(q.source==="natural-language"?"amaw":"command"),onBuilderEvent:B.onWorkflowBuilderEvent});J==="started"&&Le.current.pendingInputs.length>0&&(fi.current=!0);let Ie=iu({outcome:J});return!Ie&&q.source==="natural-language"&&(J==="failed"||J==="declined")&&W({type:"info",text:J==="failed"?"Workflow builder failed after repair attempts. Falling back to normal Agent for this turn.":"Workflow builder declined to create a workflow. Continuing with normal Agent for this turn."}),Ie}finally{gi(null),console.log=to;let J=Mg(Xn.filter((Ie,an,Ui)=>Ui.indexOf(Ie)===an));J&&W({type:"info",text:J})}},"runWorkflowInvocation"),In=rs(x.trim());if(In){let q=!1,Ae=o(B=>{In.command==="workflow"&&(q||(q=!0,n.messages.push({role:"user",content:x.trim()})),n.messages.push({role:"assistant",content:B}),bn(n.messages),_r())},"commitSlashWorkflowFinalMessage"),sn={exit:Ik,saveSession:o(async()=>{if(n.messages.length>0){let B=Uo(n.messages);n.title=B;let J=n.lineage??bn(n.messages);n.lineage=J,await r.save(n.sessionId,Ys({messages:n.messages,title:B,gitRoot:n.gitRoot??"",tag:De.current.session?.tag,uiHistory:O.current,lineage:J,artifactLedger:n.artifactLedger,extensionState:n.extensionState,extensionRecords:n.extensionRecords})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1}},"saveSession"),startNewSession:o(()=>{let B=ii(),J=new Date().toISOString();n.sessionId=B,n.title="",n.uiHistory=[],n.contextTokenSnapshot=void 0,n.lineage=void 0,n.artifactLedger=void 0,n.extensionState=void 0,n.extensionRecords=void 0,n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,O.current=[],n.createdAt=J,n.lastAccessed=J,De.current.session={...De.current.session,id:B},Wn(null),xe(),br([]),Gp()?.reset(),me(B),h?.writer.update({sessionId:B})},"startNewSession"),loadSession:o(async B=>{let J=await r.load(B);return J?xo(G,"Resuming a saved session",$c)?(n.messages=J.messages,n.uiHistory=go(J.uiHistory),n.lineage=J.lineage,n.artifactLedger=J.artifactLedger,n.extensionState=J.extensionState?structuredClone(J.extensionState):void 0,n.extensionRecords=J.extensionRecords?.map(an=>({...an})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.title=J.title,n.sessionId=B,n.contextTokenSnapshot=void 0,De.current.session={...De.current.session,id:B,tag:J.tag},O.current=n.uiHistory??[],Wn(null),xe(),br([]),me(B),h?.writer.update({sessionId:B}),console.log(Qe.green(`[Session loaded: ${B}]`)),"loaded"):"blocked":"missing"},"loadSession"),listSessions:o(async()=>{let B=await r.list(n.gitRoot??void 0);if(B.length===0){console.log(Qe.dim(`
154
+ [No saved sessions]`));return}console.log(Qe.bold(`
155
+ Recent Sessions:
156
+ `));for(let J of B.slice(0,10))console.log(` ${Qe.cyan(J.id)} ${Qe.dim(`(${J.msgCount} messages)`)} ${J.title.slice(0,40)}`);console.log()},"listSessions"),clearHistory:o(()=>{n.uiHistory=[],xe(),br([])},"clearHistory"),printHistory:o(()=>{if(n.messages.length===0){console.log(Qe.dim(`
157
+ [No conversation history]`));return}console.log(Qe.bold(`
158
+ Conversation History:
159
+ `));let B=n.messages.slice(-20);for(let J=0;J<B.length;J++){let Ie=B[J],an=Qe.cyan(Ie.role.padEnd(10)),Ui=Fp(Ie.content),Pk=Ui.slice(0,60).replace(/\n/g," "),$k=Ui.length>60?"...":"";console.log(` ${(J+1).toString().padStart(2)}. ${an} ${Pk}${$k}`)}console.log()},"printHistory"),switchProvider:o((B,J)=>{gt(Ie=>({...Ie,provider:B,model:J})),De.current.provider=B,De.current.model=J},"switchProvider"),setThinking:o(B=>{let J=B?"auto":"off";gt(Ie=>({...Ie,thinking:B,reasoningMode:J})),De.current.thinking=B,De.current.reasoningMode=J},"setThinking"),setReasoningMode:o(B=>{let J=B!=="off";gt(Ie=>({...Ie,thinking:J,reasoningMode:B})),De.current.thinking=J,De.current.reasoningMode=B},"setReasoningMode"),setAgentMode:o(B=>{gt(J=>({...J,agentMode:B})),De.current.agentMode=B},"setAgentMode"),setPermissionMode:o(B=>{Tp(B)},"setPermissionMode"),setRepoIntelligenceRuntime:o(B=>{gt(J=>({...J,...B.mode!==void 0?{repoIntelligenceMode:B.mode}:{},...B.endpoint!==void 0?{repointelEndpoint:B.endpoint??void 0}:{},...B.bin!==void 0?{repointelBin:B.bin??void 0}:{},...B.trace!==void 0?{repoIntelligenceTrace:B.trace}:{}})),B.mode!==void 0&&(process.env.KODAX_REPO_INTELLIGENCE_MODE=B.mode,De.current.context={...De.current.context,repoIntelligenceMode:B.mode}),B.trace!==void 0&&(B.trace?process.env.KODAX_REPO_INTELLIGENCE_TRACE="1":delete process.env.KODAX_REPO_INTELLIGENCE_TRACE,De.current.context={...De.current.context,repoIntelligenceTrace:B.trace}),B.endpoint!==void 0&&(B.endpoint?process.env.KODAX_REPOINTEL_ENDPOINT=B.endpoint:delete process.env.KODAX_REPOINTEL_ENDPOINT),B.bin!==void 0&&(B.bin?process.env.KODAX_REPOINTEL_BIN=B.bin:delete process.env.KODAX_REPOINTEL_BIN)},"setRepoIntelligenceRuntime"),deleteSession:o(async B=>{await r.delete?.(B)},"deleteSession"),deleteAllSessions:o(async()=>{await r.deleteAll?.(n.gitRoot??void 0)},"deleteAllSessions"),printSessionTree:o(async()=>{let B=await r.getLineage?.(n.sessionId);if(!B){console.log(Qe.dim(`
160
+ [No session tree available for this session]`));return}let J=ef(Ql(B));console.log(Qe.bold(`
161
+ Session Tree:
162
+ `)),J.forEach(Ie=>console.log(` ${Ie}`)),console.log()},"printSessionTree"),switchSessionBranch:o(async B=>{if(!xo(G,"Switching session branches",$c))return"blocked";let Ie=await r.setActiveEntry?.(n.sessionId,B,{summarizeCurrentBranch:!0});return Ie?(n.messages=Ie.messages,n.uiHistory=go(Ie.uiHistory),n.extensionState=Ie.extensionState?structuredClone(Ie.extensionState):void 0,n.extensionRecords=Ie.extensionRecords?.map(an=>({...an})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.title=Ie.title,n.contextTokenSnapshot=void 0,O.current=n.uiHistory??[],Wn(null),xe(),br([]),console.log(Qe.green(`
163
+ [Switched to tree entry: ${B}]`)),console.log(Qe.dim(` Messages: ${Ie.messages.length}`)),"switched"):"missing"},"switchSessionBranch"),labelSessionBranch:o(async(B,J)=>{if(!await r.setLabel?.(n.sessionId,B,J))return!1;let an=J&&J.trim()?`checkpoint label set: ${J.trim()}`:"checkpoint label cleared";return console.log(Qe.green(`
164
+ [${an}]`)),!0},"labelSessionBranch"),forkSession:o(async B=>{if(!xo(G,"Forking a session branch",$c))return"blocked";let Ie=await r.fork?.(n.sessionId,B);if(!Ie)return"failed";n.sessionId=Ie.sessionId,n.messages=Ie.data.messages,n.uiHistory=go(Ie.data.uiHistory),n.extensionState=Ie.data.extensionState?structuredClone(Ie.data.extensionState):void 0,n.extensionRecords=Ie.data.extensionRecords?.map(Ui=>({...Ui})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.title=Ie.data.title,n.contextTokenSnapshot=void 0,O.current=n.uiHistory??[];let an=new Date().toISOString();return n.createdAt=an,n.lastAccessed=an,De.current.session={...De.current.session,id:Ie.sessionId},Wn(null),xe(),br([]),me(Ie.sessionId),h?.writer.update({sessionId:Ie.sessionId}),console.log(Qe.green(`
165
+ [Forked session: ${Ie.sessionId}]`)),console.log(Qe.dim(` Messages: ${Ie.data.messages.length}`)),"forked"},"forkSession"),recoverSession:Ex,rewindSession:o(async B=>{if(!xo(G,"Rewinding session",$c))return"blocked";let Ie=await r.rewind?.(n.sessionId,B);return Ie?(n.messages=Ie.messages,n.uiHistory=go(Ie.uiHistory),n.extensionState=Ie.extensionState?structuredClone(Ie.extensionState):void 0,n.extensionRecords=Ie.extensionRecords?.map(an=>({...an})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.title=Ie.title,n.contextTokenSnapshot=void 0,O.current=n.uiHistory??[],Wn(null),xe(),br([]),console.log(Qe.green(`
166
+ [Rewound session${B?` to ${B}`:" to previous turn"}]`)),console.log(Qe.dim(` Messages: ${Ie.messages.length}`)),"rewound"):"failed"},"rewindSession"),getCostReport:o(()=>L.current?.()??null,"getCostReport"),getAutoModeStats:o(()=>{if(ln(Cn.current))return l.getGuardrail().getStats()},"getAutoModeStats"),setAutoModeEngine:o(B=>{ln(Cn.current)&&(l.getGuardrail().setEngine(B),ap(B))},"setAutoModeEngine"),createKodaXOptions:o(()=>({...De.current,provider:G.provider,model:G.model,thinking:G.thinking,reasoningMode:G.reasoningMode,agentMode:G.agentMode,guardrails:bf(Cn.current,l),events:Ni()}),"createKodaXOptions"),reloadAgentsFiles:o(async()=>{let B=await Pp({cwd:process.cwd(),projectRoot:n.gitRoot??void 0});return m(B),B},"reloadAgentsFiles"),startCompacting:o(()=>{K()},"startCompacting"),stopCompacting:o(()=>{j()},"stopCompacting"),onCompactStats:o(B=>{na.current=B.tokensBefore,Wn(B.tokensAfter)},"onCompactStats"),confirm:o(async B=>(await Ar("confirm",{_alwaysConfirm:!0,_message:B})).confirmed,"confirm"),onWorkflowBuilderEvent:V,onWorkflowRunMessage:o(B=>{if(Te(B),B.type!=="assistant"||B.final!==!0)return;let J=Mt(B.text).trimEnd();J.trim()&&Ae(J)},"onWorkflowRunMessage"),onWorkflowRunUpdate:ee,ui:{select:o(async(B,J)=>bk(B,J),"select"),confirm:o(async B=>(await Ar("confirm",{_alwaysConfirm:!0,_message:B})).confirmed,"confirm"),input:o(async(B,J)=>Rx(B,J),"input")}},tn=[],Xn=console.log;console.log=(...B)=>{tn.push(Eg(B))};let to,sr;try{let B=await os(In,n,sn,G);typeof B=="object"&&B!==null&&"invocation"in B&&(to=B.invocation),typeof B=="object"&&B!==null&&"workflow"in B&&(sr=B.workflow)}finally{gi(null),console.log=Xn}let ji=Mg(tn);if(ji&&W({type:"info",text:ji}),sr){try{await nt(sr,x.trim(),sn)}finally{Le.current.pendingInputs.length>0&&(fi.current=!0),he(!1),X(),be()}return}if(to){he(!1),X(),he(!0),Q(),Ee();try{await Mx(to,x.trim())}catch(B){let J=B instanceof Error?B:new Error(String(B)),Ie=J.name==="AbortError"||J.message.includes("aborted")||J.message.includes("ABORTED");console.log=Xn,Ie?jl():zn([{type:"error",text:J.message}])}finally{he(!1),X(),be()}return}he(!1),X();return}let eo=await Nh(x.trim());if(x.trim().startsWith("!")&&Ec(eo)){he(!1),X();return}if(await nt({request:eo,source:"natural-language",displayName:G.agentMode.toUpperCase()},x.trim(),ct())){Le.current.pendingInputs.length>0&&(fi.current=!0),he(!1),X(),be();return}let Pt=De.current.context?.executionCwd??process.cwd(),Lk=o(q=>{q.length!==0&&zn(q.map(Ae=>({type:"info",text:Ae})))},"emitArtifactWarnings");Ee();let kp=[],Ep=console.log;console.log=(...q)=>{kp.push(Eg(q))};try{await Fi(eo,async q=>{let Ae=Us(q,De.current.context?.executionCwd??process.cwd());return Lk(Ae.warnings),Bi(De.current,Ae.promptText,n.messages,Ae.inputArtifacts)})}catch(q){let Ae=q instanceof Error?q:new Error(String(q));if(Ae.name==="AbortError"||Ae.message.includes("aborted")||Ae.message.includes("ABORTED"))console.log=Ep,jl();else{let tn=Ae.message;if(Ae.message.includes("rate limit")||Ae.message.includes("Rate limit")?tn=`[Rate Limit] ${Ae.message}
167
+ Suggestion: Wait a moment and try again, or switch provider with /mode`:Ae.message.includes("API key")||Ae.message.includes("not configured")?tn=`[Configuration Error] ${Ae.message}
168
+ Suggestion: Set the required API key environment variable`:Ae.message.includes("network")||Ae.message.includes("ECONNREFUSED")||Ae.message.includes("ETIMEDOUT")?tn=`[Network Error] ${Ae.message}
169
+ Suggestion: Check your internet connection`:(Ae.message.includes("token")||Ae.message.includes("context too long"))&&(tn=`[Context Error] ${Ae.message}
170
+ Suggestion: Use /clear to start fresh`),console.log=Ep,st.current.workerId?on({id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"error",text:tn,timestamp:Date.now()}):zn([{type:"error",text:tn}]),gu({error:Ae,messageCount:n.messages.length})){let Xn={type:"info",text:Ga};if(st.current.workerId?(on({id:`recover-hint-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,...Xn,timestamp:Date.now()}),Vl([Xn])):zn([Xn]),(await Ar("confirm",{_alwaysConfirm:!0,_message:hu})).confirmed)try{await Ex(eo)}catch(sr){let ji=sr instanceof Error?sr.message:String(sr);zn([{type:"error",text:`[Recover failed] ${ji}`}])}}}}finally{if(console.log=Ep,kp.length>0){let Ae=kp.filter((tn,Xn,to)=>to.indexOf(tn)===Xn),sn=Mg(Ae);sn&&W({type:"info",text:sn})}if(!ot.current){let Ae=pa(H.Cancelled,()=>({error:"Run ended before the tool result was observed.",output:void 0}));Ae.length>0&&st.current.workerId&&Ae.forEach(sn=>Gn(sn))}he(!1),X(),We(),Qf(),be();let q=Xl(n.messages);n.contextTokenSnapshot={currentTokens:q,baselineEstimatedTokens:q,source:"estimate"},Wn(q)}},[Bt,n,G,Wf,$.pendingInputs.length,r,rt,Be,w,a,W,xe,Q,X,We,Ni,Mx,ue,Ce,Se,on,Hi,zn,Ip,_a,_r,Vl,bn,Fi,bp,K,j,Yr,Qf,pa,Gn,_o,ol,il]),Ax=_t.shouldRender?ie(R,{paddingX:1,children:ie(kb,{viewModel:_t})}):void 0,_x=ye&&or.shouldRender?ie(R,{paddingX:1,children:ie(Ib,{viewModel:or})}):void 0,Lx=_y?ie(R,{paddingX:1,children:ie(_h,{viewModel:np})}):void 0,kk=Ax||_x||Lx?nn(R,{flexDirection:"column",children:[Ax,_x,Lx]}):void 0,Px=_t.shouldRender?_t.counterText:void 0,Ek=ie(Dd,{left:ie($d,{items:zy}),right:ie(Od,{items:Xy}),queued:ie(Ih,{pendingInputs:$.pendingInputs}),stashNotice:ie(Ud,{text:Ol}),notifications:ie(jd,{notifications:$l}),inlineNotices:dp.length>0?ie(vh,{notices:dp}):void 0,activityBar:Er?nn(R,{paddingX:1,flexDirection:"row",children:[nn(R,{flexGrow:1,children:[Er?.showSpinner?ie(Bn,{color:ne("dark").colors.accent}):null,Er?nn(b,{color:Er.kind==="waiting"?ne("dark").colors.warning:ne("dark").colors.accent,wrap:"truncate",children:[Er.showSpinner?" ":"",Er.text]}):null,Er?.showSpinner&&$.roundStartedAt!=null?ie(UT,{roundStartedAt:$.roundStartedAt,charCount:$.currentResponse.length,theme:ne("dark")}):null]}),Px?ie(b,{dimColor:!0,wrap:"truncate",children:Px}):ye&&or.shouldRender?ie(b,{dimColor:!0,wrap:"truncate",children:`${or.completedCount}/${or.totalCount} completed`}):null]}):void 0,todoSurface:kk,composer:ie(mh,{onSubmit:Rk,onHistoryRecall:vk,onPopPendingInputs:o(()=>{let u=se();if(u.length!==0)return u.join(`
171
+ ---
172
+ `)},"onPopPendingInputs"),prompt:">",placeholder:NI({isLoading:ye,canQueueFollowUps:Wf,waitingReason:cp}),focus:!rt&&!Be&&!pt,cwd:process.cwd(),gitRoot:e.context?.gitRoot||n.gitRoot,onInputChange:fk}),inlineSuggestions:xk,helpSurface:hy?ie(gh,{sections:df()}):void 0,taskBar:ba?ie(Gd,{items:Mi.backgroundTask.items,overflowLabel:Mi.backgroundTask.overflowLabel,ctaHint:Mi.backgroundTask.ctaHint,showSpinner:ye}):void 0,statusLine:ie(R,{children:ie(Ls,{...Ll,viewModel:Vy})}),inlineDialogs:wk}),Mk=ie(Dd,{left:ie($d,{items:zy}),right:ie(Od,{items:Xy}),stashNotice:ie(Ud,{text:Ol}),notifications:ie(jd,{notifications:$l}),composer:ie(wb,{searchActive:pt,selectionActive:!!(kr||tt),showAllActive:At,searchQuery:Zt,searchCurrent:Lt.length>0?Jr+1:0,searchCount:Lt.length,searchDetailText:ip,pendingLiveUpdates:ya,secondaryText:gk}),taskBar:ba?ie(Gd,{items:Mi.backgroundTask.items,overflowLabel:Mi.backgroundTask.overflowLabel,ctaHint:Mi.backgroundTask.ctaHint,showSpinner:mt}):void 0,statusLine:ie(R,{children:ie(Ls,{...Ll,viewModel:lp})})}),vp=z(u=>ie(Tb,{banner:u?.bannerVisible?ie(Ag,{...$o}):void 0,items:Sa,isLoading:en,viewportRows:Ft.messageRows,viewportWidth:k,scrollOffset:Fn,windowed:!!u?.rendererWindow,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?Ta:cx,maxLines:vt,selectedTextRanges:ep?tl?.rowRanges:void 0,onMetricsChange:Nl,onVisibleRowsChange:Bl}),[$o,Sa,en,Nl,Bl,Fn,cx,k,vt,tl?.rowRanges,Ft.messageRows,ep]),Rp=z(u=>ie(Cb,{banner:u?.bannerVisible?ie(Ag,{...$o}):void 0,items:xa,browse:{hintText:Zr.browseHintText},selection:Dl,search:Hy,isLoading:mt,isThinking:Re.isThinking,thinkingCharCount:Re.thinkingCharCount,thinkingContent:Re.thinkingContent,streamingResponse:Re.currentResponse,currentTool:Re.currentTool,activeToolCalls:Re.activeToolCalls,toolInputCharCount:Re.toolInputCharCount,toolInputContent:Re.toolInputContent,iterationHistory:Re.iterationHistory,currentIteration:Re.currentIteration,isCompacting:Re.isCompacting,agentMode:G.agentMode,managedPhase:mt?Y?.phase:void 0,managedHarnessProfile:mt?Y?.harnessProfile:void 0,managedWorkerTitle:mt?Y?.activeWorkerTitle:void 0,managedRound:mt?Y?.currentRound:void 0,managedMaxRounds:mt?Y?.maxRounds:void 0,managedGlobalWorkBudget:mt?Y?.globalWorkBudget:void 0,managedBudgetUsage:mt?Y?.budgetUsage:void 0,managedBudgetApprovalRequired:mt?Y?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Re.lastLiveActivityLabel,liveStatusLines:ki,viewportRows:Ft.messageRows,viewportWidth:k,scrollOffset:Fn,windowed:!!u?.windowed,animateSpinners:!!u?.rendererWindow&&_i,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?Ta:Rl,maxLines:vt,showDetailedTools:At,showAllContent:At,selectedItemId:_n.selectionEnabled?tt:void 0,selectedTextRanges:Cr?.rowRanges,expandedItemKeys:_n.selectionEnabled?Sn:void 0,onMetricsChange:Nl,onVisibleRowsChange:Bl}),[$o,G.agentMode,mt,Sn,s.transcriptSpinnerAnimation,Nl,Bl,Fn,Iy,Y?.activeWorkerTitle,Y?.budgetApprovalRequired,Y?.budgetUsage,Y?.currentRound,Y?.globalWorkBudget,Y?.harnessProfile,Y?.maxRounds,Y?.phase,Ta,Rl,Zr.browseHintText,tt,Dl,k,_i,xa,vt,Re.activeToolCalls,Re.currentIteration,Re.currentResponse,Re.currentTool,Re.isCompacting,Re.isThinking,Re.iterationHistory,Re.lastLiveActivityLabel,Re.thinkingCharCount,Re.thinkingContent,Re.toolInputCharCount,Re.toolInputContent,ki,Cr?.rowRanges,Hy,At,Ft.messageRows]),Ak=te?Rp({bannerVisible:!1,windowed:Rt}):vp({bannerVisible:!1}),$x=te?Mk:Ek,_k=s.enabled&&Po,Ox=nn(R,{flexDirection:"column",width:k,flexShrink:0,flexGrow:_k?1:0,children:[ie(Yh,{currentConfig:G,setCurrentConfig:gt,isLoading:ye,abort:le,stopThinking:fe,clearThinkingContent:be,setCurrentTool:ce,setIsLoading:he,onToggleHelp:dk,setShowHelp:gy,onSetThinking:o(u=>{De.current.thinking=u},"onSetThinking"),onSetReasoningMode:o(u=>{De.current.reasoningMode=u,De.current.thinking=u!=="off"},"onSetReasoningMode"),onToggleTranscriptMode:Tk,onOpenTranscriptSearch:hp,canOpenTranscriptSearch:te&&!rt&&!Be,isInteractiveDialogActive:!!(rt||Be),onSetAgentMode:o(u=>{De.current.agentMode=u},"onSetAgentMode"),onSetPermissionMode:o(u=>{Tp(u)},"onSetPermissionMode"),isInputEmpty:ia,onSavePermissionMode:uS}),Hf&&(s.enabled?null:ie(Ts,{items:[1],children:o(()=>ie(Ag,{...$o},"banner"),"children")})),Po?ie(uh,{width:k,stickyHeader:Zr.stickyHeader,jumpToLatest:Zr.jumpToLatest,transcript:!s.enabled||!Rt?te?Rp({bannerVisible:!1}):vp({bannerVisible:!1}):void 0,renderTranscriptWindow:s.enabled&&Rt?u=>(()=>{let x=ka(u).contentWindow;return te?Rp({bannerVisible:!1,windowed:!0,rendererWindow:x}):vp({bannerVisible:!1,rendererWindow:x})})():void 0,overlay:xp,scrollTop:Fn,scrollHeight:Ra,viewportHeight:Ft.messageRows,stickyScroll:!te&&!nr&&Uf,overscanRows:yD,scrollRef:JR,onWindowChange:Sk,onScrollTopChange:ek,onStickyChange:tk,footer:$x}):nn(yv,{children:[nn(R,{flexDirection:"column",flexGrow:1,children:[Ak,xp?ie(R,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:xp}):null]}),$x]})]});return Zf?ie(Mm,{mouseTracking:qr.usesRendererMouseTracking,children:Ox}):Ox},"InkREPLInner"),CD=o(e=>{let t=process.cwd(),n=e.options?.context?.gitRoot??void 0;return ie(Hd,{children:ie(Kd,{children:ie(id,{children:ie(zh,{children:ie(Fm,{cwd:t,gitRoot:n,children:ie(TD,{...e})})})})})})},"InkREPL");function bD(){return process.stdin.isTTY===!0&&typeof process.stdin.setRawMode=="function"}o(bD,"isRawModeSupported");async function Pg(e){if(!bD())throw new Ap("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 Ns,n=Vo(),r=Ko(),i=zo(n,r),{prepareRuntimeConfig:s,getGitRoot:a}=await import("./utils-ZUC3AIL5.js"),{loadCompactionConfig:c}=await import("./compaction-config-HY46N24Q.js"),{resolveProvider:l}=await import("./dist-EV5MWJQ6.js"),d=s(),f=e.provider??d.provider??zl,p=e.model??d.model,m=lD(e,d),h=e.agentMode??d.agentMode??"ama",w=m!=="off",T=Na(d.permissionMode,"accept-edits")??"accept-edits",S=tu(),C=d.repoIntelligenceTrace===!0,M={provider:f,model:p,thinking:w,reasoningMode:m,agentMode:h,permissionMode:T,repoIntelligenceMode:S.mode,repointelEndpoint:S.endpoint,repointelBin:S.bin,repoIntelligenceTrace:C},E=e.session?.id,P=[],D,L,y,W,de,xe="",me=await a().catch(()=>null)??void 0,Z=Yl({meta:{cwd:process.cwd(),startedAt:Date.now()}});if(Z){let F=o(()=>{Z.shutdown()},"teamModeCleanup");process.on("exit",F),process.on("SIGTERM",F)}try{let{bootstrapConstructionRuntime:F}=await import("./construction-bootstrap-AVTILHEH.js"),fe=await F(me??process.cwd());if(fe.loaded>0||fe.failed>0||fe.tampered>0){let be=fe.failed>0?`; ${fe.failed} failed (see warnings above)`:"",ce=fe.tampered>0?`; ${fe.tampered} skipped due to manifest contentHash mismatch \u2014 re-stage and re-activate to re-approve`:"";console.log(Qe.dim(`[Constructed] Rehydrated ${fe.loaded} active tool(s)${be}${ce}.`))}if(fe.markdownLoaded>0||fe.markdownFailures.length>0){console.log(Qe.dim(`[Agents] Loaded ${fe.markdownLoaded} markdown agent(s).`));for(let be of fe.markdownFailures)console.warn(Qe.yellow(`[Agents] Skipped ${be.path}: ${be.reason}`))}}catch(F){console.warn(Qe.yellow(`[Constructed] Bootstrap failed: ${F.message}. Self-construction disabled this session.`))}let O;try{let F=await c(me),fe=l(f);O={contextWindow:F.contextWindow??fe.getContextWindow?.()??2e5,triggerPercent:F.triggerPercent,enabled:F.enabled,userOverrideContextWindow:F.contextWindow}}catch{}if(e.session?.id&&!e.session.resume){let F=await t.load(e.session.id);F&&(P=F.messages,D=go(F.uiHistory),L=F.lineage,y=F.artifactLedger,W=F.extensionState,de=F.extensionRecords,xe=F.title,E=e.session.id,e={...e,session:{...e.session??{},id:E,tag:F.tag}},console.log(Qe.green(`[Session loaded: ${E}]`)))}else if(e.session?.resume||e.session?.autoResume){let F=await t.list(me);if(F.length>0){let fe=F[0];if(fe){let be=await t.load(fe.id);be&&(P=be.messages,D=go(be.uiHistory),L=be.lineage,y=be.artifactLedger,W=be.extensionState,de=be.extensionRecords,xe=be.title,E=fe.id,e={...e,session:{...e.session??{},tag:be.tag}},console.log(Qe.green(`[Continuing session: ${fe.id}]`)))}}}let k=await Rc({sessionId:E,gitRoot:me,existingMessages:P,existingUiHistory:D,existingLineage:L,existingArtifactLedger:y,existingExtensionState:W,existingExtensionRecords:de});k.title=xe,Z?.writer.update({sessionId:k.sessionId});let Le={current:await Pp({cwd:process.cwd(),projectRoot:me??void 0})},Q={current:null},X={current:null},le={current:M},Ee=du(),He=await kc({askUser:o(async(F,fe,be)=>{let ce=Q.current;return ce?ce(F,fe,be):"block"},"askUser"),projectRoot:me??process.cwd(),getAgentsFiles:o(()=>Le.current,"getAgentsFiles"),getCurrentProviderName:o(()=>le.current.provider,"getCurrentProviderName"),getCurrentModel:o(()=>le.current.model,"getCurrentModel"),getCurrentPermissionMode:o(()=>le.current.permissionMode,"getCurrentPermissionMode"),autoModeSettings:Ee,log:o((F,fe)=>{F==="warn"?console.warn(Qe.yellow(fe)):console.log(Qe.dim(fe))},"log"),onEngineChange:o(F=>{X.current?.(F)},"onEngineChange"),extraCollectors:[uu]});try{let F=process.stdout,fe=process.stdin;import("./paste-5DSTHQGK.js").then(Pe=>Pe.prunePasteTmpDir()).catch(()=>{});let be=!1,{waitUntilExit:ce,cleanup:it}=qu(ie(CD,{options:e,config:M,context:k,storage:t,compactionInfo:O,rendererMode:r,fullscreenPolicy:i,autoModeBootstrap:He,setAutoModeAskUser:o(Pe=>{Q.current=Pe},"setAutoModeAskUser"),setAutoModeEngineChange:o(Pe=>{X.current=Pe},"setAutoModeEngineChange"),setCurrentConfigRef:o(Pe=>{le.current=Pe},"setCurrentConfigRef"),onAgentsFilesReload:o(Pe=>{Le.current=Pe},"onAgentsFilesReload"),teamModeHandle:Z,onExit:o(()=>{be=!0},"onExit")}),{stdout:F,stdin:fe,exitOnCtrlC:!1,patchConsole:!1,maxFps:30,shellMode:i.enabled?i.promptShell:"main-screen"});await ce(),it(),Z?.shutdown(),fe.isTTY===!0&&typeof fe.setRawMode=="function"&&fe.isRaw&&fe.setRawMode(!1),fe.pause?.(),fe.unref?.(),be&&console.log(Qe.dim(`
173
+ [Exiting KodaX...]`));let re=e.hardExitOnClose??process.env.VITEST!=="true";if(be&&re){let Pe=process.exitCode??0,We=!1,Ct=o(()=>{We||(We=!0,process.exit(Pe))},"requestProcessExit");setTimeout(Ct,0).unref?.(),F.write("",Ct);return}}catch(F){throw F instanceof Error&&F.message.includes("Raw mode")?new Ap("Interactive mode failed to start.",['kodax -p "your task" # Run a single task',"kodax -c # Continue last session"]):F}}o(Pg,"runInkInteractiveMode");import gn from"chalk";var Sv=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],wv=["\x1B[36m","\x1B[35m","\x1B[34m"],Dc=null,qs=!1;function Oc(){let e=0,t=0,n=!1,r="Thinking...",i=o(()=>{if(n)return;let c=wv[t%wv.length],l="\x1B[0m",d=Sv[e%Sv.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 Dc=a,a}o(Oc,"startWaitingDots");function ID(e=!0){let t=null,n=0,r=!1;return{onSessionStart:o(s=>{console.log(e?gn.cyan(`[KodaX] Provider: ${s.provider} | Session: ${s.sessionId}`):gn.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=Oc()),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(gn.dim(`[Thinking] ${c}`))}},"onThinkingEnd"),onToolUseStart:o(s=>{t||(qs||(process.stdout.write(`
174
+ `),qs=!0),t=Oc()),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())&&(qs||(process.stdout.write(`
175
+ `),qs=!0,r=!1),t=Oc(),t.updateText(`Receiving ${s}... (${l} chars)`))},"onToolInputDelta"),onToolResult:o(s=>{t&&(t.stop(),t=null),console.log(gn.green(`[Result] ${s.content.slice(0,300)}${s.content.length>300?"...":""}`))},"onToolResult"),onRepoIntelligenceTrace:o(s=>{t&&(t.stop(),t=null),console.log(gn.dim(`[RepoIntel] ${s.summary}`))},"onRepoIntelligenceTrace"),onSidecarMessage:o(s=>{t&&(t.stop(),t=null);let a=s.delivery==="budget-exhausted"?"[Sidecar budget exhausted]":s.verdict==="revise"?"[Sidecar -> Agent]":"[Sidecar blocked]",c=s.suggestedFix?`
176
+ Suggested fix: ${s.suggestedFix}`:"";process.stdout.write(gn.dim(`
177
+ ${a}
178
+ ${s.content}${c}
179
+ `))},"onSidecarMessage"),onStreamEnd:o(()=>{Dc&&!Dc.isStopped()&&Dc.stop(),Dc=null,qs=!1,r&&(console.log(),r=!1),(!t||t.isStopped())&&(t=Oc(),t.updateText("Processing..."))},"onStreamEnd"),onIterationStart:o((s,a)=>{t&&!t.isStopped()&&t.stop(),qs=!1,r=!1,console.log(gn.magenta(`
180
+ [Assistant]`)),t=Oc()},"onIterationStart"),onCompactStart:o(()=>{console.log(gn.dim(`
181
+ [KodaX] Compacting context...`))},"onCompactStart"),onCompact:o(s=>{console.log(gn.dim(`[KodaX] Compaction finished (${s} tokens).`))},"onCompact"),onCompactEnd:o(()=>{},"onCompactEnd"),onRetry:o((s,a,c)=>{console.log(gn.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(gn.yellow(`[KodaX] ${a} (${s.errorClass}, ${s.stage})`))},"onProviderRecovery"),onComplete:o(()=>{t&&(t.stop(),t=null),console.log(gn.green(`
182
+ [KodaX] Done!`))},"onComplete"),onError:o(s=>{t&&(t.stop(),t=null),console.log(gn.red(`
183
+ [Error] ${s.message}`))},"onError"),onScoutSuspiciousCompletion:o(s=>{console.log(gn.yellow(`
184
+ [Scout] Completion marked uncertain \u2014 signals: ${s.signals.join(", ")}. Verify the result before continuing.`))},"onScoutSuspiciousCompletion"),beforeToolExecute:o(async(s,a)=>!0,"beforeToolExecute")}}o(ID,"createCliEvents");function Co(e){return{...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(Co,"activityMetaFields");function ft(e,t){e.write(`${JSON.stringify(t)}
185
+ `)}o(ft,"writeJsonLine");function vD(e){return{type:"error",name:e.name,message:e.message,stack:e.stack}}o(vD,"serializeError");function RD(e={}){let t=e.stdout??process.stdout,n=e.stderr??process.stderr;return{onSessionStart:o(r=>{ft(t,{type:"session.start",provider:r.provider,sessionId:r.sessionId})},"onSessionStart"),onIterationStart:o((r,i)=>{ft(t,{type:"iteration.start",iter:r,maxIter:i})},"onIterationStart"),onIterationEnd:o(r=>{ft(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}:{}})},"onIterationEnd"),onTextDelta:o((r,i)=>{ft(t,{type:"text.delta",text:r,...Co(i)})},"onTextDelta"),onThinkingDelta:o((r,i)=>{ft(t,{type:"thinking.delta",text:r,...Co(i)})},"onThinkingDelta"),onThinkingEnd:o((r,i)=>{ft(t,{type:"thinking.end",thinking:r,...Co(i)})},"onThinkingEnd"),onToolUseStart:o((r,i)=>{ft(t,{type:"tool.start",id:r.id,name:r.name,input:r.input,...Co(i)})},"onToolUseStart"),onToolInputDelta:o((r,i,s)=>{ft(t,{type:"tool.input.delta",toolName:r,partialJson:i,toolId:s?.toolId,...Co(s)})},"onToolInputDelta"),onToolResult:o((r,i)=>{ft(t,{type:"tool.result",id:r.id,name:r.name,content:r.content,...Co(i)})},"onToolResult"),onStreamEnd:o(r=>{ft(t,{type:"stream.end",...Co(r)})},"onStreamEnd"),onCompactStart:o(()=>{ft(t,{type:"compact.start"})},"onCompactStart"),onCompact:o(r=>{ft(t,{type:"compact.finish",estimatedTokens:r})},"onCompact"),onCompactStats:o(r=>{ft(t,{type:"compact.stats",tokensBefore:r.tokensBefore,tokensAfter:r.tokensAfter})},"onCompactStats"),onCompactEnd:o(()=>{ft(t,{type:"compact.end"})},"onCompactEnd"),onRetry:o((r,i,s)=>{ft(t,{type:"retry",reason:r,attempt:i,maxAttempts:s})},"onRetry"),onProviderRecovery:o(r=>{ft(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})},"onProviderRecovery"),onProviderRateLimit:o((r,i,s)=>{ft(t,{type:"provider.rate_limit",attempt:r,maxRetries:i,delayMs:s})},"onProviderRateLimit"),onRepoIntelligenceTrace:o(r=>{ft(t,{type:"repo_intelligence.trace",stage:r.stage,summary:r.summary,capability:r.capability,trace:r.trace})},"onRepoIntelligenceTrace"),onSidecarMessage:o(r=>{ft(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}:{}})},"onSidecarMessage"),onToolProgress:o((r,i)=>{ft(t,{type:"tool.progress",id:r.id,message:r.message,...Co(i)})},"onToolProgress"),onManagedTaskStatus:o(r=>{ft(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})},"onManagedTaskStatus"),onScoutSuspiciousCompletion:o(r=>{ft(t,{type:"scout.suspicious_completion",confidence:r.confidence,signals:r.signals,sessionId:r.sessionId,lastTextPreview:r.lastTextPreview})},"onScoutSuspiciousCompletion"),onComplete:o(()=>{ft(t,{type:"complete"})},"onComplete"),onError:o(r=>{ft(n,vD(r))},"onError")}}o(RD,"createJsonEvents");import{jsx as yt,jsxs as yn}from"react/jsx-runtime";import _D,{useMemo as Nc}from"react";var $g=/^@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@.*$/,Tv=/^---\s+(.+)$/;function Cv(e){if(!e)return[];let t=e.split(`
186
+ `),n=[],r=[],i=[],s=!1,a=null,c=null,l=0,d=0,f=o(()=>{if(r.length===0)return;let m=r.join(`
187
+ `);m.length>0&&n.push({kind:"text",text:m}),r=[]},"flushText"),p=o(()=>{i.length!==0&&(n.push({kind:"diff",text:i.join(`
188
+ `),addedLines:l,removedLines:d,filePath:c}),i=[],l=0,d=0,c=null)},"flushDiff");for(let m=0;m<t.length;m++){let h=t[m];if(!s){let S=Tv.exec(h);if(S){let C=Math.min(m+3,t.length-1),M=!1;for(let E=m+1;E<=C;E++)if(t[E]?.startsWith("+++ ")||$g.test(t[E]??"")){M=!0;break}if(M){f(),s=!0,a=S[1]??null,c=a,i.push(h);continue}}if($g.test(h)){f(),s=!0,i.push(h);continue}r.push(h);continue}let w=Tv.exec(h);if(w){let S=Math.min(m+3,t.length-1),C=!1;for(let M=m+1;M<=S;M++)if(t[M]?.startsWith("+++ ")||$g.test(t[M]??"")){C=!0;break}if(C){p(),c=w[1]??null,i.push(h);continue}}let T=h[0];if(T==="+"||T==="-"||T===" "||T==="@"||h===""){T==="+"&&!h.startsWith("+++ ")&&l++,T==="-"&&!h.startsWith("--- ")&&d++,i.push(h);continue}p(),s=!1,a=null,r.push(h)}return p(),f(),n}o(Cv,"parseUnifiedDiff");function bv(e){return e?/^@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@/m.test(e):!1}o(bv,"containsUnifiedDiff");import{jsxs as Qs,jsx as kD}from"react/jsx-runtime";import ED from"react";function MD(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(MD,"classifyLine");function AD(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(AD,"colorFor");var Og=ED.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(`
189
+ `),d=l.map(MD),f=`(${t>0?`+${t}`:"\xB10"} ${n>0?`-${n}`:""})`.trim();if(l.length>a)return Qs(R,{flexDirection:"column",marginLeft:4,children:[r&&Qs(b,{dimColor:!0,children:[r," ",f]}),Qs(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 h=Math.floor(s/2),w=d.slice(0,h),T=d.slice(-h);m=l.length-w.length-T.length,p=[...w,{text:"",kind:"context"},...T]}else p=d;return Qs(R,{flexDirection:"column",marginLeft:4,children:[r&&Qs(b,{dimColor:!0,children:[r," ",f]}),p.map((h,w)=>{if(w===Math.floor(s/2)&&m>0&&h.kind==="context"&&h.text==="")return Qs(b,{dimColor:!0,children:["... ",m," lines collapsed ..."]},`collapse-${w}`);let S=AD(h.kind,c);return kD(b,{color:S,children:h.text||" "},w)})]})});Og.displayName="DiffHunk";function Iv(e){switch(e){case H.Scheduled:return"\u25CB";case H.Validating:return"\u25D0";case H.AwaitingApproval:return"\u23F8";case H.Executing:return"\u25CF";case H.Success:return"\u2713";case H.Error:return"\u2717";case H.Cancelled:return"\u2298";default:return"?"}}o(Iv,"getStatusIcon");function vv(e,t){switch(e){case H.Scheduled:case H.Validating:return t.colors.dim;case H.AwaitingApproval:return t.colors.accent;case H.Executing:return t.colors.primary;case H.Success:return t.colors.success??t.colors.primary;case H.Error:return t.colors.error;case H.Cancelled:return t.colors.dim;default:return t.colors.text}}o(vv,"getStatusColor");function LD(e,t){if(!t)return"";let n=t-e;return n<1e3?`${n}ms`:`${(n/1e3).toFixed(1)}s`}o(LD,"formatDuration");function PD(e){if(!e)return"";let t=JSON.stringify(e);return t.length<=50?t:t.slice(0,47)+"..."}o(PD,"formatInputSummary");var $D=o(({status:e,theme:t})=>{let n=t??Nc(()=>ne("dark"),[]),r=Iv(e),i=vv(e,n);return yt(b,{color:i,children:r})},"ToolStatusBadge"),Rv=o(({progress:e,width:t=20,theme:n})=>{let r=n??Nc(()=>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 yn(R,{children:[yt(b,{color:r.colors.primary,children:c}),yt(b,{dimColor:!0,children:l}),yn(b,{children:[" ",i,"%"]})]})},"ToolProgressBar"),kv=o(({tool:e,collapsed:t=!1,theme:n})=>{let r=n??Nc(()=>ne("dark"),[]),i=Iv(e.status),s=vv(e.status,r),a=PD(e.input),c=LD(e.startTime,e.endTime);return t?yn(R,{children:[yn(b,{color:s,children:[i," "]}),yt(b,{color:r.colors.text,children:e.name})]}):yn(R,{flexDirection:"column",marginLeft:2,children:[yn(R,{children:[yn(b,{color:s,children:[i," "]}),yt(b,{color:r.colors.text,bold:!0,children:e.name}),a&&yn(b,{dimColor:!0,children:[" ",a]})]}),e.progress!==void 0&&e.status===H.Executing&&yt(R,{marginLeft:2,children:yt(Rv,{progress:e.progress,theme:r})}),e.progressLines&&e.progressLines.length>0&&e.status===H.Executing&&yt(R,{flexDirection:"column",marginLeft:2,children:e.progressLines.slice(-5).map((l,d)=>yt(b,{dimColor:!0,children:l},d))}),e.error&&yt(R,{marginLeft:2,children:yt(b,{color:r.colors.error,children:e.error})}),e.status===H.Success&&typeof e.output=="string"&&e.output.length>0&&yt(Ev,{output:e.output,theme:r}),c&&e.status!==H.Executing&&yt(R,{marginLeft:2,children:yn(b,{dimColor:!0,children:["Completed in ",c]})})]})},"ToolCallDisplay"),Ev=_D.memo(({output:e,theme:t})=>{if(!bv(e))return yt(R,{marginLeft:2,children:yt(b,{dimColor:!0,children:e})});let n=Cv(e);return yt(R,{flexDirection:"column",marginLeft:2,children:n.map((r,i)=>r.kind==="text"?yt(b,{dimColor:!0,children:r.text},i):yt(Og,{text:r.text,addedLines:r.addedLines,removedLines:r.removedLines,filePath:r.filePath,theme:t},i))})});Ev.displayName="ToolOutputBlock";var OD=o(({tools:e,collapsed:t=!1,title:n,theme:r})=>{let i=r??Nc(()=>ne("dark"),[]);if(e.length===0)return null;let s=Nc(()=>{let c={[H.Scheduled]:0,[H.Validating]:0,[H.AwaitingApproval]:0,[H.Executing]:0,[H.Success]:0,[H.Error]:0,[H.Cancelled]:0};for(let l of e)c[l.status]++;return c},[e]),a=n??"Tools";if(t){let c=s[H.Success],l=s[H.Error],d=s[H.Executing]+s[H.Scheduled]+s[H.Validating];return yt(R,{flexDirection:"column",marginBottom:1,children:yn(R,{children:[yt(b,{color:i.colors.accent,bold:!0,children:a}),yn(b,{dimColor:!0,children:[" ","(",e.length," tools",c>0&&`, ${c} succeeded`,l>0&&`, ${l} failed`,d>0&&`, ${d} running`,")"]})]})})}return yn(R,{flexDirection:"column",marginBottom:1,children:[yn(R,{children:[yt(b,{color:i.colors.accent,bold:!0,children:a}),yn(b,{dimColor:!0,children:[" ","(",e.length," ",e.length===1?"tool":"tools",")"]})]}),e.map(c=>yt(kv,{tool:c,theme:i},c.id))]})},"ToolGroup");import{jsxs as Mv,jsx as DD}from"react/jsx-runtime";var ND=o(({pendingInputs:e})=>{let t=VC(e);if(!t)return null;let n=ne("dark");return Mv(R,{children:[Mv(b,{color:n.colors.hint,children:["\u23F3"," "]}),DD(b,{color:n.colors.dim,children:t})]})},"PendingInputsIndicator");import*as Av from"child_process";var Bc;function BD(){if(process.platform!=="win32")return null;if(Bc!==void 0)return Bc;try{Bc=Av.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{Bc=null}return Bc}o(BD,"detectWindowsCodePage");function vf(){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(vf,"supportsTrueColor");function _v(){if(vf())return!0;let e=process.env.TERM||"";return e.includes("256color")||e==="xterm-256color"||e==="screen-256color"||e==="tmux-256color"}o(_v,"supports256Colors");function Gr(){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:BD()==="65001":!0}o(Gr,"supportsUnicode");function Lv(){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(Lv,"supportsEmoji");function Pv(){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(Pv,"getTerminalWidth");function $v(){let e=process.env;return!!(e.NO_COLOR||e.TERM==="dumb"||e.CI)}o($v,"isScreenReader");function HD(){return process.stdout?.isTTY??!1}o(HD,"isTTY");function WD(){return{trueColor:vf(),colors256:_v(),unicode:Gr(),emoji:Lv(),tty:HD(),columns:Pv(),screenReader:$v()}}o(WD,"detectTerminalCapabilities");var Hc=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 FD(e){let t=new Hc;t.start();try{let n=await e(),r=t.stop();return{result:n,captured:r}}finally{t.stop()}}o(FD,"withCapture");function jD(e){let t=new Hc;t.start();try{let n=e(),r=t.stop();return{result:n,captured:r}}finally{t.stop()}}o(jD,"withCaptureSync");import*as zv from"readline";import ae from"chalk";import Qn from"chalk";var UD=[{key:"y",label:"Yes",description:"Confirm the action",value:"yes"},{key:"n",label:"No",description:"Cancel the action",value:"no"}],GD=[{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 VD(e,t=!0){return e.map(n=>{let r=Qn.dim(`[${n.key}]`);return t?`${r} ${Qn.cyan(n.label)} ${Qn.dim(`- ${n.description}`)}`:`${r} ${n.label}`}).join(" ")}o(VD,"formatOptions");function Js(){return process.stdout.columns??80}o(Js,"getTerminalWidth");function KD(){return Gr()}o(KD,"supportsUnicode");function zD(){let e=KD();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(zD,"getSymbols");async function XD(e,t){let{message:n,default:r,options:i,showDescription:s=!0}=t,a=i??UD,c=VD(a,s);console.log(),console.log(Qn.cyan(`? ${n}`));let l=Js();if(c.length>l-4)for(let d of a){let f=Qn.dim(` [${d.key}]`);console.log(`${f} ${Qn.cyan(d.label)}`),s&&console.log(Qn.dim(` ${d.description}`))}else console.log(Qn.dim(` ${c}`));return new Promise(d=>{let f=r?` (${r})`:"";e.question(Qn.dim(` Choose${f}: `),p=>{let m=p.trim().toLowerCase()||r||"",h=a.find(w=>w.key===m||w.value===m||w.label.toLowerCase()===m);d(h?h.value:m===""?"no":m)})})}o(XD,"confirmEnhanced");async function Wc(e,t,n,r){let{isOutsideProject:i=!1,isProtectedPath:s=!1,permissionMode:a="accept-edits"}=r??{},c=zD(),l,d,f={...n,...i?{_outsideProject:!0}:{},...s?{_alwaysConfirm:!0}:{}},p=tf(t,f),m=p.details.map(w=>` ${Qn.dim(w)}`);i||s?(l=`${Qn.yellow(c.warning)} Safety Warning`,m.length>0&&(l+=`
190
+ ${m.join(`
191
+ `)}`),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+=`
192
+ ${m.join(`
193
+ `)}`),d=a==="accept-edits"?GD:[{key:"y",label:"Yes",description:"Confirm the action",value:"yes"},{key:"n",label:"No",description:"Cancel",value:"no"}]);let h=await XD(e,{message:l,default:"n",options:d});return h==="always"?{confirmed:!0,always:!0}:{confirmed:h==="yes"}}o(Wc,"confirmToolExecution");import xn from"chalk";var Rf=/\x1b\[[0-9;]*m/g,wr={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 YD(e,t){if(t<=0)return"";let n="",r=0,i=0;for(;i<e.length&&r<t;){Rf.lastIndex=i;let s=Rf.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(YD,"truncateAnsi");function Ov(e){return Rf.lastIndex=0,e.replace(Rf,"")}o(Ov,"stripAnsi");function qD(e,t=Js()){let n=[],r=e.sessionId.slice(0,6);n.push(xn.dim(`#${r}`));let i=e.permissionMode==="plan"?xn.blue:e.permissionMode==="accept-edits"?xn.cyan:e.permissionMode==="auto-in-project"?xn.magenta:xn.green,s=Oa(e.permissionMode),c=(e.permissionMode==="auto"||e.permissionMode==="auto-in-project")&&e.autoModeEngine?e.autoModeEngine==="llm"?xn.green("[LLM]"):xn.yellow("[RULES]"):"";if(n.push(i(s)+c),e.reasoningMode&&n.push(xn.yellow(`reason:${e.reasoningMode}`)),n.push(xn.cyan(e.provider)),e.tokenUsage){let f=e.tokenUsage.total,p=f>=1e3?`${(f/1e3).toFixed(1)}k`:String(f);n.push(xn.dim(`${p}t`))}if(e.currentTool&&n.push(xn.magenta(`tool:${e.currentTool}`)),e.projectInfo){let{completedFeatures:f,totalFeatures:p}=e.projectInfo,m=p>0?Math.round(f/p*100):0;n.push(xn.dim(`${f}/${p} [${m}%]`))}e.messageCount!==void 0&&n.push(xn.dim(`${e.messageCount} msgs`));let l=n.join(xn.dim(" | ")),d=t-1;return Ov(l).length>d&&(l=`${YD(l,Math.max(0,d-3))}...`),l}o(qD,"buildStatusBarContent");var kf=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=Js(),n=qD(this.state,t),r=n+" ".repeat(Math.max(0,t-Ov(n).length));process.stdout.write(wr.SAVE_CURSOR+wr.MOVE_TO_BOTTOM+wr.CLEAR_LINE+wr.REVERSE+r+wr.RESET+wr.RESTORE_CURSOR)}clear(){process.stdout.write(wr.SAVE_CURSOR+wr.MOVE_TO_BOTTOM+wr.CLEAR_LINE+wr.RESTORE_CURSOR)}};function Dv(e,t,n,r,i="off"){return{sessionId:e,permissionMode:t,reasoningMode:i,provider:n,model:r}}o(Dv,"createStatusBarState");function Nv(){if(!process.stdout.isTTY||as())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(Nv,"supportsStatusBar");import q7 from"chalk";function Bv(){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(Bv,"getUnicodeSymbols");function Dg(){return{prompt:">",success:"[OK]",error:"[X]",warning:"[!]",info:"[i]",arrow:"->",bullet:"*",check:"[v]",cross:"[x]",spinner:["|","/","-","\\","|","/","-","\\"]}}o(Dg,"getAsciiSymbols");var Hv={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:Gr()?Bv():Dg(),spinner:{frames:Gr()?["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]:["|","/","-","\\","|","/","-","\\"],interval:80}},QD={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:Gr()?Bv():Dg(),spinner:{frames:Gr()?["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]:["|","/","-","\\","|","/","-","\\"],interval:80}},JD={name:"minimal",description:"Minimal theme without colors (for CI or limited terminals)",colors:{primary:"",secondary:"",accent:"",text:"",dim:"",success:"",warning:"",error:"",info:""},symbols:Dg(),spinner:{frames:[".","o","O","0","O","o"],interval:120}},ZD={dark:Hv,light:QD,minimal:JD},Wv=Hv;function li(){return Wv}o(li,"getCurrentTheme");function Fc(e){let t=ZD[e];return t?(Wv=t,!0):!1}o(Fc,"setTheme");function eN(){if(!process.stdout.isTTY){Fc("minimal");return}let e=process.env;if(e.WT_SESSION!==void 0||e.TERM_PROGRAM==="vscode"){Fc("dark");return}Fc("dark")}o(eN,"autoSelectTheme");eN();var Ef=class{static{o(this,"ReadlineUIContext")}rl;constructor(t){this.rl=t}async select(t,n){if(n.length!==0)return console.log(`
194
+ ${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 Fv from"child_process";import*as Uc from"path";import*as jc from"fs";import*as jv from"os";import Tr from"chalk";function Uv(e,t){let n=li(),r=e==="plan"?Tr.hex(n.colors.warning):Tr.hex(n.colors.success),i=t.model??Pn(t.provider)??t.provider,s=Js();if(s<60){let c=e==="plan"?"?":n.symbols.prompt;return r(`${c} `)}else if(s<100){let c=t.reasoningMode!=="off"?t.reasoningMode[0]?.toUpperCase()??"R":"",l=c?Tr.hex(n.colors.dim)(`[${c}]`):"";return r(`kodax:${e}${l}> `)}let a=t.reasoningMode!=="off"?Tr.hex(n.colors.info)(`[reason:${t.reasoningMode}]`):"";return r(`kodax:${e} (${t.provider}:${i})${a}> `)}o(Uv,"getPrompt");async function Gv(e,t){let n=li(),r=[],i=await new Promise(a=>{e.question(t,a)});if(i===""||i.toLowerCase()==="/e")return await Ng(r.join(`
195
+ `));for(r.push(i);tN(r.join(`
196
+ `));){let a=Tr.hex(n.colors.dim)("... "),c=await new Promise(l=>{e.question(a,l)});r.push(c)}return r.join(`
197
+ `).replace(/\\\n/g,`
198
+ `)}o(Gv,"askInput");async function Ng(e){let t=Uc.join(jv.tmpdir(),"kodax"),n=Uc.join(t,`input-${Date.now()}-${Math.random().toString(36).slice(2)}.txt`);try{await jc.promises.mkdir(t,{recursive:!0}),await jc.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=Uc.basename(r);console.log(Tr.yellow(`
199
+ [Security] Editor path sanitized: ${a}`)),r=a}console.log(Tr.dim(`
200
+ [Opening editor: ${r}]`));let i=process.platform==="win32"&&(r.toLowerCase()==="notepad"||r.toLowerCase()==="notepad.exe");return console.log(i?Tr.dim(`Note: Please close Notepad manually after editing to continue.
201
+ `):Tr.dim(`Save and close the editor to continue...
202
+ `)),Fv.spawnSync(r,[n],{stdio:"inherit",timeout:3e5,shell:!1}),(await jc.promises.readFile(n,"utf-8")).trim()}catch(r){let i=r instanceof Error?r:new Error(String(r));return console.log(Tr.red(`
203
+ [Editor Error] ${i.message}`)),e}finally{try{await jc.promises.unlink(n)}catch{}}}o(Ng,"openExternalEditor");function tN(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==='"'||s==="'"||s==="`")&&e[i-1]!=="\\"){r===s?r=null:r===null&&(r=s);continue}if(!r){if(s in t)t[s]++;else if(s in n){let a=n[s];a&&t[a]--}}}return!!(Object.values(t).some(i=>i>0)||r)}o(tN,"needsContinuation");import Xe from"chalk";function Vv(e){e?.workspaceRoot&&(console.log(Xe.dim(` Workspace: ${cr(e)}`)),console.log(Xe.dim(` Use /status workspace for runtime details.
204
+ `)))}o(Vv,"printWorkspaceEntryNotice");function Kv(e,t,n,r){let i=li(),s=e.model??Pn(e.provider)??e.provider,a=`
205
+ \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
206
+ \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
207
+ \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
208
+ \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
209
+ \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
210
+ \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`,c=o(d=>Xe.hex(d)(" \u258E "),"bar"),l=Xe.hex(i.colors.dim)(" \xB7 ");if(console.log(Xe.hex(i.colors.primary)(`
211
+ `+a)),console.log(""),console.log(c(i.colors.primary)+Xe.hex(i.colors.primary)("AI Coding Agent \xB7 Minimalist & Intelligent")),console.log(c(i.colors.success)+Xe.bold.hex(i.colors.text)(`v${Ji}`)+l+Xe.hex(i.colors.success)(`${e.provider}:${s}`)+l+Xe.hex(i.colors.primary)(e.agentMode.toUpperCase())+Xe.hex(i.colors.dim)(" / ")+Xe.hex(i.colors.accent)(t)+(e.reasoningMode==="off"?"":Xe.hex(i.colors.dim)(" \xB7 ")+Xe.hex(i.colors.warning)(`reason:${e.reasoningMode}`))),n){let d=Math.round(n.contextWindow/1e3),f=Math.round(n.contextWindow*n.triggerPercent/100/1e3),p=n.enabled?Xe.hex(i.colors.success)("on"):Xe.hex(i.colors.secondary)("off");console.log(c(i.colors.accent)+Xe.hex(i.colors.secondary)(`ctx ${d}k \xB7 compaction `)+p+Xe.hex(i.colors.secondary)(` @ ${n.triggerPercent}% (${f}k)`))}r&&console.log(c(i.colors.secondary)+Xe.hex(i.colors.secondary)(`${r.length} project rule file(s) loaded \u2014 `)+Xe.hex(i.colors.dim)("/reload to refresh")),console.log(""),console.log(Xe.hex(i.colors.dim)(" Quick tips:")),console.log(Xe.hex(i.colors.primary)(" /help ")+Xe.hex(i.colors.dim)("Show all commands")),console.log(Xe.hex(i.colors.primary)(" /mode ")+Xe.hex(i.colors.dim)("Switch permission mode")),console.log(Xe.hex(i.colors.primary)(" /clear ")+Xe.hex(i.colors.dim)("Clear conversation")),console.log(Xe.hex(i.colors.primary)(" @path ")+Xe.hex(i.colors.dim)("Attach image to context")),console.log(Xe.hex(i.colors.primary)(" !cmd ")+Xe.hex(i.colors.dim)("Run read-only shell command")),console.log(Xe.hex(i.colors.dim)(`
212
+ Keyboard: Tab (complete) | Esc+Esc (edit last) | Ctrl+T (reasoning) | Ctrl+E (editor) | Ctrl+R (history)
213
+ `))}o(Kv,"printStartupBanner");async function nN(e){return(await ql(e)).getSystemPromptSnippet()}o(nN,"buildClassicCliSkillsPrompt");var Wg=class{static{o(this,"MemorySessionStorage")}sessions=new Map;async save(t,n){let r=this.sessions.get(t),i=qt(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=Ki(i.data.lineage,n,r);if(!s)return null;let a={...structuredClone(i.data),messages:$t(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=zi(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=qi(i.data.lineage,n);if(!s)return null;let a=r?.sessionId??await Vi(),c={messages:$t(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??Xi(r.data.lineage);if(!i)return null;let s=Yi(r.data.lineage,i);if(!s)return null;let a={...r.data,messages:$t(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?No(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 Bg(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(Bg,"applyRuntimeContext");function Mf(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(Mf,"applyRuntimeSessionSnapshot");function bo(e){return{...e.extensionStateDirty?{extensionState:e.extensionState??{}}:{},...e.extensionRecordsDirty?{extensionRecords:e.extensionRecords??[]}:{}}}o(bo,"contextExtensionSessionData");function Zs(e){e.extensionStateDirty=!1,e.extensionRecordsDirty=!1}o(Zs,"markExtensionSessionPersisted");function rN(e,t){return e.reasoningMode?e.reasoningMode:t.reasoningMode?t.reasoningMode:(e.thinking===!0||t.thinking===!0,"auto")}o(rN,"resolveInitialReasoningMode");var Fg={current:null};async function oN(e){let t=await ts({cwd:process.cwd()}),n=t.workspaceRoot??await Wo()??void 0,r=e.storage??new Wg,i=Yl({meta:{cwd:process.cwd(),startedAt:Date.now()}}),s=Dp(),a=e.provider??s.provider??zl,c=e.model??s.model,l=rN(e,s),d=e.agentMode??s.agentMode??"ama",f=l!=="off",p=Na(s.permissionMode,"accept-edits")??"accept-edits",m=su();p==="auto-in-project"&&m();let h=tu(),w=s.theme;w&&Fc(w);let T=li(),S={provider:a,model:c,thinking:f,reasoningMode:l,agentMode:d,permissionMode:p,repoIntelligenceMode:h.mode,repointelEndpoint:h.endpoint,repointelBin:h.bin,repoIntelligenceTrace:h.trace,fallbackProviders:s.fallbackProviders},C=p,M=Zi(),E=0,P="",D=!1,L=500,y=await Rc({sessionId:e.session?.id,gitRoot:n,runtimeInfo:t});i?.writer.update({sessionId:y.sessionId});let W=o(A=>xo(S,A,(K,j,pe)=>{console.log((K==="block"?ae.red:ae.yellow)(`
214
+ ${j}`));for(let Me of pe)console.log(ae.dim(Me));console.log()}),"guardSessionTransition"),de=await fS(n??void 0),{resolveProvider:xe}=await import("./dist-EV5MWJQ6.js"),me=xe(S.provider),Z=de.contextWindow??me.getEffectiveContextWindow?.(S.model)??me.getContextWindow?.()??2e5,{loadAgentsFiles:O}=await import("./dist-EV5MWJQ6.js"),k=o(async()=>O({cwd:process.cwd(),projectRoot:y.gitRoot??void 0}),"reloadAgentsFiles"),$=await k();Kv(S,S.permissionMode,{contextWindow:Z,triggerPercent:de.triggerPercent,enabled:de.enabled},$),Vv(t);let Le=_S(()=>y.gitRoot??process.cwd()),Q=zv.createInterface({input:process.stdin,output:process.stdout,terminal:process.stdout.isTTY??!0,historySize:100,completer:o((A,K)=>{Le(A).then(j=>{K(null,j)}).catch(()=>{K(null,[[],A])})},"completer")}),X=du(),le=await kc({askUser:o(async(A,K,j)=>(await Wc(Q,A.name,{...A.input,...j&&j.length>0?{_classifierSignals:j}:{}},{permissionMode:C,reason:`[auto-mode] ${K}`})).confirmed?"allow":"block","askUser"),projectRoot:n??process.cwd(),getAgentsFiles:o(()=>$,"getAgentsFiles"),getCurrentProviderName:o(()=>S.provider,"getCurrentProviderName"),getCurrentModel:o(()=>S.model,"getCurrentModel"),getCurrentPermissionMode:o(()=>C,"getCurrentPermissionMode"),autoModeSettings:X,log:o((A,K)=>{A==="warn"?console.warn(ae.yellow(K)):console.log(ae.dim(K))},"log"),onEngineChange:o(A=>{ln(C)&&F?.update({autoModeEngine:A})},"onEngineChange"),extraCollectors:[uu]}),Ee=ru({getProvider:o(()=>xe(S.provider),"getProvider"),getModel:o(()=>S.model??"","getModel")}),He=S.model??Pn(S.provider)??S.provider,F=null;Nv()&&(F=new kf(Dv(y.sessionId,S.permissionMode,S.provider,He,S.reasoningMode)),ln(C)&&F.update({autoModeEngine:le.getGuardrail().getEngine()}));let fe=`
215
+ Keyboard Shortcuts:
216
+ Tab Auto-complete (@paths, /commands)
217
+ Esc+Esc Edit last message
218
+ Ctrl+T Cycle reasoning mode
219
+ Ctrl+E Open external editor
220
+ Ctrl+R Search command history (built-in)
221
+ Ctrl+C Cancel current input
222
+ Ctrl+D Exit REPL`,be=o(()=>{console.log(ae.dim(fe))},"_printKeyboardShortcuts");process.stdin.isTTY&&process.stdin.on("keypress",(A,K)=>{if(K&&K.name==="escape"){let j=Date.now();j-E<L&&P&&(D=!0,console.log(ae.dim(`
223
+ [Opening editor with last message...]`)),Q.pause()),E=j}});let ce=await nN(n),it=!0,re={...e,provider:a,model:c,agentMode:d,reasoningMode:l,thinking:f,context:{...e.context,gitRoot:n,executionCwd:t.executionCwd,repoIntelligenceMode:h.mode,repoIntelligenceTrace:h.trace,skillsPrompt:ce},session:{...e.session,id:y.sessionId,persistedByHost:!0}};Fg.current=null;let We={exit:o(()=>{it=!1,i?.shutdown(),Q.close()},"exit"),saveSession:o(async()=>{if(y.messages.length>0){let A=Vr(y.messages);y.title=A,await r.save(y.sessionId,{messages:y.messages,title:A,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,artifactLedger:y.artifactLedger,...bo(y),...re.session?.tag!==void 0?{tag:re.session.tag}:{}}),Zs(y)}},"saveSession"),startNewSession:o(()=>{y.sessionId=ii(),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,Bg(y,re,t),re.session={...re.session,id:y.sessionId},F?.update({sessionId:y.sessionId,messageCount:0}),i?.writer.update({sessionId:y.sessionId})},"startNewSession"),loadSession:o(async A=>{let K=await r.load(A);if(K){if(!W("Resuming a saved session"))return"blocked";let j=await ts({cwd:process.cwd()}),pe=ja(K),Me=pe??j;return pe?.workspaceRoot&&!yS(pe)?(console.log(ae.yellow(`
224
+ [Saved workspace unavailable]`)),console.log(ae.dim(` Session workspace: ${cr(pe)}`)),console.log(ae.dim(` Falling back to current workspace: ${cr(j)}`)),Me=j):pe?.workspaceRoot&&j.workspaceRoot&&pe.workspaceRoot!==j.workspaceRoot&&(console.log(ae.cyan(`
225
+ [Loading sibling workspace session]`)),console.log(ae.dim(` Current workspace: ${cr(j)}`)),console.log(ae.dim(` Session workspace: ${cr(pe)}`))),y.messages=K.messages,y.title=K.title,y.sessionId=A,y.contextTokenSnapshot=void 0,y.artifactLedger=K.artifactLedger,y.extensionState=K.extensionState?structuredClone(K.extensionState):void 0,y.extensionRecords=K.extensionRecords?.map($e=>({...$e})),y.extensionStateDirty=!1,y.extensionRecordsDirty=!1,y.lastAccessed=new Date().toISOString(),Bg(y,re,Me),re.session={...re.session,id:A,tag:K.tag},F?.update({sessionId:A,messageCount:K.messages.length}),i?.writer.update({sessionId:A}),console.log(ae.green(`
226
+ [Loaded session: ${A}]`)),console.log(ae.dim(` Messages: ${K.messages.length}`)),y.runtimeInfo?.workspaceRoot&&console.log(ae.dim(` Workspace: ${cr(y.runtimeInfo)}`)),"loaded"}return"missing"},"loadSession"),listSessions:o(async()=>{let A=await r.list(y.gitRoot??void 0);if(A.length===0){console.log(ae.dim(`
227
+ [No saved sessions]`));return}console.log(ae.bold(`
228
+ Recent Sessions:
229
+ `)),y.runtimeInfo?.workspaceRoot&&(console.log(ae.dim(` Current workspace: ${cr(y.runtimeInfo)}`)),console.log());for(let K of A.slice(0,10))if(console.log(` ${ae.cyan(K.id)} ${ae.dim(`(${K.msgCount} messages)`)} ${K.title.slice(0,40)}`),K.runtimeInfo?.workspaceRoot){let pe=y.runtimeInfo?.workspaceRoot===K.runtimeInfo.workspaceRoot?" (current workspace)":"";console.log(ae.dim(` workspace: ${cr(K.runtimeInfo)}${pe}`))}console.log()},"listSessions"),clearHistory:o(()=>{y.messages=[],y.contextTokenSnapshot=void 0},"clearHistory"),printHistory:o(()=>{if(y.messages.length===0){console.log(ae.dim(`
230
+ [No conversation history]`));return}console.log(ae.bold(`
231
+ Conversation History:
232
+ `));let A=y.messages.slice(-20);for(let K=0;K<A.length;K++){let j=A[K],pe=ae.cyan(j.role.padEnd(10)),Me=typeof j.content=="string"?j.content:"[Complex content]",$e=Me.slice(0,60).replace(/\n/g," "),N=Me.length>60?"...":"";console.log(` ${(K+1).toString().padStart(2)}. ${pe} ${$e}${N}`)}console.log()},"printHistory"),switchProvider:o((A,K)=>{S.provider=A,S.model=K,re.provider=A,re.model=K;let j=K??Pn(A);if(!j)try{j=Nx(A)?.getModel()??A}catch{j=A}F?.update({provider:A,model:j})},"switchProvider"),setThinking:o(A=>{S.thinking=A,re.thinking=A,S.reasoningMode=A?"auto":"off",re.reasoningMode=S.reasoningMode,F?.update({reasoningMode:S.reasoningMode})},"setThinking"),setReasoningMode:o(A=>{let K=A!=="off";S.reasoningMode=A,S.thinking=K,re.reasoningMode=A,re.thinking=K,F?.update({reasoningMode:A})},"setReasoningMode"),setAgentMode:o(A=>{S.agentMode=A,re.agentMode=A},"setAgentMode"),setPermissionMode:o(A=>{S.permissionMode=A,C=A;let K=ln(A)?le.getGuardrail().getEngine():void 0;F?.update({permissionMode:A,autoModeEngine:K}),A==="auto-in-project"&&m()},"setPermissionMode"),setRepoIntelligenceRuntime:o(A=>{A.mode!==void 0&&(S.repoIntelligenceMode=A.mode,process.env.KODAX_REPO_INTELLIGENCE_MODE=A.mode,re.context={...re.context,repoIntelligenceMode:A.mode}),A.trace!==void 0&&(S.repoIntelligenceTrace=A.trace,A.trace?process.env.KODAX_REPO_INTELLIGENCE_TRACE="1":delete process.env.KODAX_REPO_INTELLIGENCE_TRACE,re.context={...re.context,repoIntelligenceTrace:A.trace}),A.endpoint!==void 0&&(S.repointelEndpoint=A.endpoint??void 0,A.endpoint?process.env.KODAX_REPOINTEL_ENDPOINT=A.endpoint:delete process.env.KODAX_REPOINTEL_ENDPOINT),A.bin!==void 0&&(S.repointelBin=A.bin??void 0,A.bin?process.env.KODAX_REPOINTEL_BIN=A.bin:delete process.env.KODAX_REPOINTEL_BIN)},"setRepoIntelligenceRuntime"),deleteSession:o(async A=>{await r.delete?.(A)},"deleteSession"),deleteAllSessions:o(async()=>{await r.deleteAll?.(y.gitRoot??void 0)},"deleteAllSessions"),printSessionTree:o(async()=>{let A=await r.getLineage?.(y.sessionId);if(!A){console.log(ae.dim(`
233
+ [No session tree available for this session]`));return}let K=ef(Ql(A));console.log(ae.bold(`
234
+ Session Tree:
235
+ `));for(let j of K)console.log(` ${j}`);console.log()},"printSessionTree"),switchSessionBranch:o(async A=>{if(!W("Switching session branches"))return"blocked";let K=await r.setActiveEntry?.(y.sessionId,A,{summarizeCurrentBranch:!0});return K?(y.messages=K.messages,y.title=K.title,y.contextTokenSnapshot=void 0,F?.update({messageCount:y.messages.length}),console.log(ae.green(`
236
+ [Switched to tree entry: ${A}]`)),console.log(ae.dim(` Messages: ${K.messages.length}`)),"switched"):"missing"},"switchSessionBranch"),labelSessionBranch:o(async(A,K)=>{if(!await r.setLabel?.(y.sessionId,A,K))return!1;let pe=K&&K.trim()?`checkpoint label set: ${K.trim()}`:"checkpoint label cleared";return console.log(ae.green(`
237
+ [${pe}]`)),!0},"labelSessionBranch"),forkSession:o(async A=>{if(!W("Forking a session branch"))return"blocked";let K=await r.fork?.(y.sessionId,A);return K?(y.sessionId=K.sessionId,y.messages=K.data.messages,y.title=K.data.title,y.contextTokenSnapshot=void 0,y.createdAt=new Date().toISOString(),y.lastAccessed=y.createdAt,Bg(y,re,ja(K.data)??y.runtimeInfo),re.session={...re.session,id:K.sessionId},F?.update({sessionId:K.sessionId,messageCount:y.messages.length}),console.log(ae.green(`
238
+ [Forked session: ${K.sessionId}]`)),console.log(ae.dim(` Messages: ${K.data.messages.length}`)),"forked"):"failed"},"forkSession"),recoverSession:o(async A=>{if(y.messages.length===0)return"empty";if(!W("Recovering into a new session"))return"blocked";let K=y.sessionId,j=y.lineage??qt(y.messages);y.lineage=j;let pe=y.artifactLedger?structuredClone(y.artifactLedger):void 0,Me=y.title||Vr(y.messages),$e=eu({sourceSessionId:K,messages:y.messages,lineage:j,artifactLedger:pe,reason:"provider session recovery"});await r.save(K,{messages:y.messages,title:Me,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,lineage:j,artifactLedger:pe,uiHistory:y.uiHistory,...bo(y),...re.session?.tag!==void 0?{tag:re.session.tag}:{}});let N=ii(),se=qt($e.messages);await r.save(N,{messages:$e.messages,title:$e.title,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,lineage:se,artifactLedger:pe,...re.session?.tag!==void 0?{tag:re.session.tag}:{}});let ye=new Date().toISOString();y.sessionId=N,y.messages=$e.messages,y.title=$e.title,y.contextTokenSnapshot=void 0,y.lineage=se,y.artifactLedger=pe,y.extensionState=void 0,y.extensionRecords=void 0,y.extensionStateDirty=!1,y.extensionRecordsDirty=!1,y.createdAt=ye,y.lastAccessed=ye,re.session={...re.session,id:N},F?.update({sessionId:N,messageCount:y.messages.length}),i?.writer.update({sessionId:N}),console.log(ae.green(`
239
+ [Recovered session: ${N}]`)),console.log(ae.dim(` Source session saved: ${K}`)),console.log(ae.dim(" Raw provider history was not replayed."));let he;try{he=await Hg(re,y,Zl(A),y.messages)}catch(gt){let et=gt instanceof Error?gt.message:String(gt);return console.log(ae.red(`
240
+ [Recover failed] ${et}`)),"failed"}y.messages=he.messages,y.contextTokenSnapshot=he.contextTokenSnapshot,Mf(y,he),y.artifactLedger=Qi(y.artifactLedger??[],he.artifactLedger??Jl(he.messages)),y.lineage=qt(y.messages,y.lineage);let G=Vr(y.messages);return y.title=G,F?.update({messageCount:y.messages.length}),await r.save(y.sessionId,{messages:y.messages,title:G,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,lineage:y.lineage,artifactLedger:y.artifactLedger,...bo(y),...re.session?.tag!==void 0?{tag:re.session.tag}:{}}),Zs(y),"recovered"},"recoverCurrentSession"),rewindSession:o(async A=>{if(!W("Rewinding session"))return"blocked";let K=await r.rewind?.(y.sessionId,A);return K?(y.messages=K.messages,y.title=K.title,y.contextTokenSnapshot=void 0,y.lastAccessed=new Date().toISOString(),F?.update({messageCount:y.messages.length}),console.log(ae.green(`
241
+ [Rewound session${A?` to ${A}`:" to previous turn"}]`)),console.log(ae.dim(` Messages: ${K.messages.length}`)),"rewound"):"failed"},"rewindSession"),getCostReport:o(()=>Fg.current?.()??null,"getCostReport"),getAutoModeStats:o(()=>{if(ln(C))return le.getGuardrail().getStats()},"getAutoModeStats"),setAutoModeEngine:o(A=>{ln(C)&&(le.getGuardrail().setEngine(A),F?.update({permissionMode:C}))},"setAutoModeEngine"),createKodaXOptions:o(()=>{let A=o((j,pe)=>C!=="plan"?null:Fo(j,pe,n??process.cwd()),"planModeBlockCheck"),K=ln(C)?[le.getGuardrail()]:void 0;return{...re,provider:S.provider,model:S.model,thinking:S.thinking,reasoningMode:S.reasoningMode,guardrails:K,context:{...re.context,planModeBlockCheck:A},events:{...re.events,exitPlanMode:o(async j=>C!=="plan"?"not-in-plan-mode":(await Wc(Q,"exit_plan_mode",{plan:j},{isProtectedPath:!1,permissionMode:C})).confirmed?(S.permissionMode="accept-edits",C="accept-edits",F?.update({permissionMode:"accept-edits"}),!0):!1,"exitPlanMode"),beforeToolExecute:o(async(j,pe)=>{let Me=C,$e=Da(Me);if(Me==="plan"){let N=Fo(j,pe,n??process.cwd());if(N)return console.log(ae.yellow(N)),`${N} 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(j==="bash"){let N=pe.command??"";if(no(N))return!0}if(n&&Bo.has(j)){let N=pe.path;if(N&&Ha(N,n))return(await Wc(Q,j,pe,{isProtectedPath:!0,permissionMode:Me})).confirmed?!0:(console.log(ae.dim("[Cancelled] Operation on protected path requires confirmation")),!1)}if($e.has(j)){if(Me==="accept-edits"&&j==="bash"&&await Ba(j,pe,M,Ee))return!0;let N=await Wc(Q,j,pe,{isOutsideProject:pe._outsideProject===!0,reason:pe._reason,permissionMode:Me});if(!N.confirmed)return console.log(ae.dim("[Cancelled] Operation cancelled by user")),!1;N.always&&Me==="accept-edits"&&(fu(j,pe,!1),M=Zi())}return!0},"beforeToolExecute")}}},"createKodaXOptions"),reloadAgentsFiles:o(async()=>($=await k(),$),"reloadAgentsFiles"),readline:Q,ui:new Ef(Q)},Ct=o(async A=>{y.uiHistory=[...y.uiHistory??[],A];let K=y.title||Vr(y.messages);y.title=K,await r.save(y.sessionId,{messages:y.messages,title:K,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,lineage:y.lineage,artifactLedger:y.artifactLedger,uiHistory:y.uiHistory,...bo(y),...re.session?.tag!==void 0?{tag:re.session.tag}:{}})},"appendPersistedUiHistoryItem"),ue=o(async(A,K)=>{if(!gu({error:A,messageCount:y.messages.length}))return!1;console.log(ae.dim(`
242
+ ${Ga}`));try{await Ct({type:"info",text:Ga})}catch($e){let N=$e instanceof Error?$e.message:String($e);console.log(ae.dim(`Could not persist recovery hint: ${N}`))}let j=Up(We);if(!j)return console.log(),!1;if(!await j(hu))return!1;let Me;try{Me=await We.recoverSession?.(K)}catch($e){let N=$e instanceof Error?$e.message:String($e);return console.log(ae.red(`
243
+ [Recover failed] ${N}`)),!1}return Me==="failed"&&console.log(ae.dim(`Recovery session was created, but the continuation request still failed.
244
+ `)),Me==="recovered"},"maybeRecoverAfterProviderError");Q.on("SIGINT",async()=>{console.log(ae.dim(`
245
+
246
+ [Press /exit to quit]`)),Q.prompt()});let Ce=o(()=>{F?.hide(),i?.shutdown(),Q.close()},"cleanup");process.on("exit",Ce),process.on("SIGTERM",Ce);let Se=o(async(A,K)=>{let j=ou({agentMode:S.agentMode,source:A.source,input:K||A.request,hostPolicy:re.workflowHostPolicy});if(j.action==="none")return!1;if(j.action==="suggest"&&A.source==="natural-language"){let ye=Up(We);if(!ye)return console.log(ae.dim(`
247
+ [workflow] This task looks suitable for workflow. Use /workflow create <request> to run it.
248
+ `)),!1;let he=j.trigger==="explicit";if(!await ye(he?"This request explicitly asks for workflow. Generate and run it? Choose No to cancel this turn.":"This task looks suitable for workflow. Use workflow? Choose No to continue with normal AMA."))return he?(console.log(ae.dim(`
249
+ Workflow request cancelled. No normal AMA fallback was started.
250
+ `)),!0):!1}let pe=!1,Me=o(ye=>{pe||(pe=!0,y.messages.push({role:"user",content:K||A.request})),y.messages.push({role:"assistant",content:ye}),F?.update({messageCount:y.messages.length});let he=Vr(y.messages);y.title=he,r.save(y.sessionId,{messages:y.messages,title:he,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,artifactLedger:y.artifactLedger,...re.session?.tag!==void 0?{tag:re.session.tag}:{}}).catch(G=>{let gt=G instanceof Error?G.message:String(G);console.log(ae.red(`
251
+ [workflow] failed to save final answer: ${gt}
252
+ `))})},"commitWorkflowFinal"),$e={...We,onWorkflowRunMessage:o(ye=>{if(ye.type==="event")return;let he=ye.text.trimEnd();if(he.trim()){if(ye.type==="error"){console.log(ae.red(`
253
+ ${he}
254
+ `));return}if(ye.type==="success"){console.log(ae.green(`
255
+ ${he}
256
+ `));return}if(ye.type==="assistant"){console.log(`
257
+ ${he}
258
+ `),ye.final===!0&&Me(he);return}console.log(ae.dim(`
259
+ ${he}
260
+ `))}},"onWorkflowRunMessage")},N=await mu({request:A.request,callbacks:$e,approval:S.permissionMode==="plan"?"required":"silent",presentation:"agentic",sourceLabel:A.displayName,processSource:A.processSource??(A.source==="natural-language"?"amaw":"command")}),se=iu({outcome:N});return!se&&A.source==="natural-language"&&(N==="failed"||N==="declined")&&console.log(ae.dim(N==="failed"?`
261
+ Workflow builder failed after repair attempts. Falling back to normal Agent for this turn.
262
+ `:`
263
+ Workflow builder declined to create a workflow. Continuing with normal Agent for this turn.
264
+ `)),se},"startWorkflowInvocation"),Ke=o(async(A,K)=>{if(!A||typeof A!="object")return;if(A.workflow){await Se(A.workflow,K);return}if(!A.invocation)return;let j=await sf({...re,provider:S.provider,thinking:S.thinking,reasoningMode:S.reasoningMode},A.invocation,K,pe=>console.log(ae.dim(`
265
+ ${pe}`)));if(j.mode==="manual"){j.manualOutput&&console.log(ae.yellow(`
266
+ ${j.manualOutput}
267
+ `)),await j.finalize();return}if(!j.prompt||!j.options){await j.finalize();return}try{let pe=j.mode==="fork"?[]:y.messages,Me=await Hg(j.options,y,j.prompt,pe);if(j.mode==="fork"){let $e=mS(Me.messages);$e.trim()&&(console.log(`
268
+ ${$e}
269
+ `),y.messages.push({role:"assistant",content:$e}))}else y.messages=Me.messages,y.contextTokenSnapshot=Me.contextTokenSnapshot;if(Mf(y,Me),F?.update({messageCount:y.messages.length}),y.messages.length>0){let $e=Vr(y.messages);y.title=$e,await r.save(y.sessionId,{messages:y.messages,title:$e,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,...bo(y),...re.session?.tag!==void 0?{tag:re.session.tag}:{}}),Zs(y)}await j.finalize()}catch(pe){throw await j.finalize(pe instanceof Error?pe:new Error(String(pe))),pe}},"handleCommandResult");for(;it;){if(D&&P){D=!1,Q.resume();let N=await Ng(P);if(N&&N.trim()&&N!==P){console.log(ae.dim(`
270
+ [Edited message ready to send]`));let se=N.trim();yr(y);let ye=rs(se);if(ye){let et=await os(ye,y,We,S);await Ke(et,se);continue}let he=await jg(se);if(se.startsWith("!")&&Ec(he))continue;if(await Se({request:he,source:"natural-language",displayName:S.agentMode.toUpperCase()},se)){P=se;continue}let G=Us(he,re.context?.executionCwd??process.cwd());for(let et of G.warnings)console.log(ae.yellow(`
271
+ ${et}`));y.messages.push({role:"user",content:G.messageContent}),P=se,F?.update({messageCount:y.messages.length});let gt=y.lineage?Zx({getLineage:o(()=>y.lineage,"getLineage"),setLineage:o(et=>{y.lineage=et},"setLineage"),saveSession:o(async()=>{await r.save(y.sessionId,{messages:y.messages,title:y.title??Vr(y.messages),gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,artifactLedger:y.artifactLedger,lineage:y.lineage,...bo(y),...re.session?.tag!==void 0?{tag:re.session.tag}:{}}),Zs(y)},"saveSession"),getLatestUsage:o(()=>{},"getLatestUsage"),getTurnStartMs:o(()=>{},"getTurnStartMs"),getPermissionMode:o(()=>C,"getPermissionMode"),hasPendingUserInput:o(()=>Ln().has({agentId:void 0,maxPriority:"user",mode:"prompt"}),"hasPendingUserInput"),verifyComplete:o(async()=>({ok:!0}),"verifyComplete")}):void 0;try{let et=await $a({...re,provider:S.provider,thinking:S.thinking,reasoningMode:S.reasoningMode,session:{...re.session,initialMessages:y.lineage?$t(y.lineage,y.lineage.activeEntryId):y.messages,initialExtensionState:y.extensionState??{},initialExtensionRecords:y.extensionRecords??[]},context:{...re.context,taskSurface:"repl",planModeBlockCheck:o((Bt,Bf)=>C!=="plan"?null:Fo(Bt,Bf,n??process.cwd()),"planModeBlockCheck"),...G.inputArtifacts.length>0?{inputArtifacts:G.inputArtifacts}:{},...gt?{goalRuntime:gt}:{}}},he);if(y.messages=et.messages,y.contextTokenSnapshot=et.contextTokenSnapshot,Mf(y,et),y.artifactLedger=Qi(y.artifactLedger??[],et.artifactLedger??Jl(et.messages)),y.messages.length>0){let Bt=Vr(y.messages);y.title=Bt,await r.save(y.sessionId,{messages:y.messages,title:Bt,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,artifactLedger:y.artifactLedger,...bo(y),...re.session?.tag!==void 0?{tag:re.session.tag}:{}}),Zs(y)}}catch(et){let Bt=et instanceof Error?et:new Error(String(et));if(y.messages.pop(),console.log(ae.red(`
272
+ [Error] ${Bt.message}`)),await ue(Bt,he))continue}continue}else N===P&&console.log(ae.dim(`
273
+ [No changes made, continuing...]`))}let A=Uv(S.permissionMode,S),K=await Gv(Q,A);if(!it)break;let j=K.trim();if(!j)continue;yr(y);let pe=rs(j);if(pe){let N=await os(pe,y,We,S);await Ke(N,j);continue}let Me=await jg(j);if(j.startsWith("!")&&Ec(Me))continue;if(await Se({request:Me,source:"natural-language",displayName:S.agentMode.toUpperCase()},j)){P=j;continue}let $e=Us(Me,re.context?.executionCwd??process.cwd());for(let N of $e.warnings)console.log(ae.yellow(`
274
+ ${N}`));y.messages.push({role:"user",content:$e.messageContent}),P=j,F?.update({messageCount:y.messages.length});try{let N=await Hg(re,y,Me,y.messages,$e.inputArtifacts);if(y.messages=N.messages,y.contextTokenSnapshot=N.contextTokenSnapshot,Mf(y,N),y.artifactLedger=Qi(y.artifactLedger??[],N.artifactLedger??Jl(N.messages)),F?.update({messageCount:y.messages.length}),y.messages.length>0){let se=Vr(y.messages);y.title=se,await r.save(y.sessionId,{messages:y.messages,title:se,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,artifactLedger:y.artifactLedger,...bo(y),...re.session?.tag!==void 0?{tag:re.session.tag}:{}}),Zs(y)}}catch(N){let se=N instanceof Error?N:new Error(String(N));y.messages.pop(),se.message.includes("rate limit")||se.message.includes("Rate limit")?(console.log(ae.yellow(`
275
+ [Rate Limit] ${se.message}`)),console.log(ae.dim(`Suggestion: Wait a moment and try again, or switch provider with /mode
276
+ `))):se.message.includes("API key")||se.message.includes("not configured")?(console.log(ae.red(`
277
+ [Configuration Error] ${se.message}`)),console.log(ae.dim(`Suggestion: Set the required API key environment variable
278
+ `))):se.message.includes("network")||se.message.includes("ECONNREFUSED")||se.message.includes("ETIMEDOUT")?(console.log(ae.red(`
279
+ [Network Error] ${se.message}`)),console.log(ae.dim(`Suggestion: Check your internet connection and try again
280
+ `))):se.message.includes("token")||se.message.includes("context too long")?(console.log(ae.yellow(`
281
+ [Context Error] ${se.message}`)),console.log(ae.dim(`Suggestion: Use /clear to start a fresh conversation
282
+ `))):(console.log(ae.red(`
283
+ [Error] ${se.message}`)),console.log(ae.dim(`Your message was not sent. Please try again.
284
+ `))),await ue(se,Me)}}}o(oN,"runInteractiveMode");async function jg(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 Yd(n,{cwd:process.cwd()})}return e}o(jg,"processSpecialSyntax");async function Hg(e,t,n,r=t.messages,i){let s={...e.events??{},getCostReport:Fg};return $a({...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(Hg,"runAgentRound");function Vr(e){return Uo(e)}o(Vr,"extractTitle");import Af from"node:fs";import iN from"node:path";function sN(){let e=Lf();return Pf(e).map(n=>_f(n))}o(sN,"listCustomProviders");function aN(e){if(typeof e!="string"||e.length===0)return;let t=Pf(Lf()).find(n=>n.name===e);return t?_f(t):void 0}o(aN,"getCustomProviderConfig");function cN(e){Dx(e);let t=_f(e),n=Lf(),r=Pf(n),i=r.findIndex(a=>a.name===t.name),s=i>=0?r.map((a,c)=>c===i?t:a):[...r,t];return Yv({...n,customProviders:s}),Mp(s),_f(t)}o(cN,"upsertCustomProvider");function lN(e){if(typeof e!="string"||e.length===0)return!1;let t=Lf(),n=Pf(t),r=n.filter(i=>i.name!==e);return r.length===n.length?!1:(Yv({...t,customProviders:r}),Mp(r),!0)}o(lN,"removeCustomProvider");function Xv(){return Gi("config.json")}o(Xv,"configFilePath");function Lf(){let e=Xv();if(!Af.existsSync(e))return{};try{let t=JSON.parse(Af.readFileSync(e,"utf-8"));return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{return{}}}o(Lf,"readWholeConfig");function Yv(e){let t=Xv();Af.mkdirSync(iN.dirname(t),{recursive:!0}),Af.writeFileSync(t,JSON.stringify(e,null,2),"utf-8")}o(Yv,"writeWholeConfig");function Pf(e){let t=e.customProviders;return Array.isArray(t)?t:[]}o(Pf,"extractCustomProviders");function _f(e){return structuredClone(e)}o(_f,"cloneCustomProvider");import $f from"node:fs";import uN from"node:path";function dN(){let e=Of();return hN(Df(e))}o(dN,"listMcpServers");function fN(e){if(typeof e!="string"||e.length===0)return;let n=Df(Of())[e];return n?Ug(n):void 0}o(fN,"getMcpServerConfig");function pN(e,t){if(typeof e!="string"||e.length===0)throw new TypeError("upsertMcpServer: name must be a non-empty string");qv(e,t);let n=Ug(t),r=Of(),s={...Df(r),[e]:n};return Jv({...r,mcpServers:s}),Ug(n)}o(pN,"upsertMcpServer");function mN(e){if(typeof e!="string"||e.length===0)return!1;let t=Of(),n=Df(t);if(!(e in n))return!1;let r={};for(let i of Object.keys(n))i!==e&&(r[i]=n[i]);return Jv({...t,mcpServers:r}),!0}o(mN,"removeMcpServer");function qv(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(qv,"validateMcpServerConfig");function Qv(){return Gi("config.json")}o(Qv,"configFilePath");function Of(){let e=Qv();if(!$f.existsSync(e))return{};try{let t=JSON.parse($f.readFileSync(e,"utf-8"));return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{return{}}}o(Of,"readWholeConfig");function Jv(e){let t=Qv();$f.mkdirSync(uN.dirname(t),{recursive:!0}),$f.writeFileSync(t,JSON.stringify(e,null,2),"utf-8")}o(Jv,"writeWholeConfig");function Df(e){let t=e.mcpServers;return!t||typeof t!="object"||Array.isArray(t)?{}:t}o(Df,"extractMcpServers");function Ug(e){return structuredClone(e)}o(Ug,"cloneMcpServerConfig");function hN(e){return structuredClone(e)}o(hN,"cloneMcpServers");import Ze from"fs/promises";import Jn from"fs";import Ge from"path";import fR from"chalk";import wt from"fs/promises";import eR from"fs";import Gt from"path";var gN=2,yN=300*1e3,Zv=65536,Gg=o(e=>Gt.join(e,".layout.json"),"layoutMarkerPath"),Kg=o(e=>Gt.join(e,".migration-lock"),"lockDirPath"),tR=o(e=>Gt.join(Kg(e),"owner.json"),"ownerPath"),Vg=o(e=>Gt.join(e,".migration-journal.jsonl"),"journalPath"),nR=o(e=>Gt.join(Gt.dirname(e),"sessions-archive"),"sessionsArchiveDir");function rR(e){return e.endsWith(".jsonl")&&!e.endsWith(".archive.jsonl")&&!e.endsWith(".islands.jsonl")&&!e.startsWith(".")}o(rR,"isSessionFile");function oR(e){return e.endsWith(".archive.jsonl")||e.endsWith(".islands.jsonl")?e.slice(0,-14):null}o(oR,"sidecarId");async function xN(e){let t;try{t=await wt.open(e,"r");let n=Buffer.allocUnsafe(Zv),{bytesRead:r}=await t.read(n,0,Zv,0);if(r===0)return null;let i=n.toString("utf8",0,r),s=i.indexOf(`
285
+ `),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(xN,"readMeta");async function SN(e){let t=await xN(e);return t?ns({gitRoot:t.gitRoot,runtimeInfo:t.runtimeInfo}).key:jp}o(SN,"destKeyFor");async function iR(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(".")||(rR(a.name)||i&&oR(a.name)!==null)&&t.push(Gt.join(r,a.name))},"pushDir");return await n(e,!0),await n(nR(e),!0),t}o(iR,"collectFlatSources");async function wN(e){let t=await iR(e),n=t.filter(s=>rR(Gt.basename(s))),r=new Set(n.map(s=>Gt.basename(s,".jsonl"))),i=[];for(let s of n){let a=Gt.basename(s,".jsonl"),c=await SN(s);i.push({from:s,to:Gt.join(e,c,`${a}.jsonl`),reason:`session\u2192${c}`});for(let l of[".archive.jsonl",".islands.jsonl"]){let d=Gt.join(Gt.dirname(s),`${a}${l}`);eR.existsSync(d)&&i.push({from:d,to:Gt.join(e,c,`${a}.islands.jsonl`),reason:"sidecar\u2192islands"})}}for(let s of t){let a=oR(Gt.basename(s));a===null||r.has(a)||i.push({from:s,to:Gt.join(e,jp,"orphan-islands",`${a}.islands.jsonl`),reason:"orphan-sidecar\u2192_unknown"})}return i}o(wN,"planMigration");async function sR(e){try{return await wt.access(Gg(e)),!0}catch{return!1}}o(sR,"isMigrated");async function TN(e){return await sR(e)?!1:(await iR(e)).length>0}o(TN,"needsMigration");async function CN(e){try{let t=JSON.parse(await wt.readFile(tR(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>yN}catch{return!0}}o(CN,"lockIsStale");async function bN(e){let t=Kg(e);for(let n=0;n<2;n+=1)try{return await wt.mkdir(t),await wt.writeFile(tR(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 CN(e)){await wt.rm(t,{recursive:!0,force:!0}).catch(()=>{});continue}return!1}return!1}o(bN,"acquireLock");async function IN(e){await wt.rm(Kg(e),{recursive:!0,force:!0}).catch(()=>{})}o(IN,"releaseLock");async function vN(e){let t=new Set;try{let n=await wt.readFile(Vg(e),"utf8");for(let r of n.split(`
286
+ `))if(r.trim())try{let i=JSON.parse(r);i.done&&typeof i.from=="string"&&t.add(i.from)}catch{}}catch{}return t}o(vN,"readJournalDone");async function RN(e){if(await wt.mkdir(Gt.dirname(e.to),{recursive:!0}),eR.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(RN,"executeMove");async function aR(e){await wt.mkdir(e,{recursive:!0});let t=`${Gg(e)}.${process.pid}.tmp`,n=JSON.stringify({version:gN,migratedAt:new Date().toISOString(),from:"flat-v1"});await wt.writeFile(t,n+`
287
+ `,"utf8"),await wt.rename(t,Gg(e))}o(aR,"writeMarker");async function kN(e){let t=nR(e);try{(await wt.readdir(t)).length===0&&await wt.rmdir(t).catch(()=>{})}catch{}}o(kN,"retireSessionsArchive");async function EN(e){if(!await bN(e))return{moved:0,planned:0};try{let t=await wN(e),n=await vN(e),r=await wt.open(Vg(e),"a"),i=0;try{for(let s of t)n.has(s.from)||(await RN(s),await r.write(JSON.stringify({from:s.from,to:s.to,done:!0})+`
288
+ `),i+=1)}finally{await r.close()}return await kN(e),await aR(e),await wt.rm(Vg(e),{force:!0}).catch(()=>{}),{moved:i,planned:t.length}}finally{await IN(e)}}o(EN,"runMigration");async function Io(e){try{if(await sR(e))return;if(!await TN(e)){await aR(e).catch(()=>{});return}await EN(e)}catch{}}o(Io,"ensureLayoutMigrated");var MN=new Set(["user","assistant","system"]),AN=new Set(["user","assistant","system","thinking","error","event","info","hint"]),_N=new Set(["success","error","cancelled","awaiting_approval"]);function Tt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}o(Tt,"isRecord");function vo(e){if(e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return!0;if(Array.isArray(e))return e.every(vo);if(!Tt(e))return!1;let t=Object.getPrototypeOf(e);return t!==Object.prototype&&t!==null?!1:Object.values(e).every(vo)}o(vo,"isKodaXJsonValue");function cR(e){return Tt(e)&&typeof e.id=="string"&&typeof e.extensionId=="string"&&typeof e.type=="string"&&typeof e.ts=="number"&&(e.data===void 0||vo(e.data))&&(e.dedupeKey===void 0||typeof e.dedupeKey=="string")}o(cR,"isKodaXExtensionSessionRecord");function lR(e){return Tt(e)?Object.values(e).every(t=>Tt(t)?Object.values(t).every(vo):!1):!1}o(lR,"isKodaXExtensionSessionState");function LN(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(LN,"isKodaXContentBlock");function zg(e){return!Tt(e)||typeof e.role!="string"||!MN.has(e.role)?!1:typeof e.content=="string"||Array.isArray(e.content)&&e.content.every(LN)}o(zg,"isKodaXMessage");function uR(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(uR,"isSessionErrorMetadata");function PN(e){return Tt(e)&&Object.values(e).every(vo)}o(PN,"isKodaXSessionUiToolInput");function $N(e){return Tt(e)&&typeof e.id=="string"&&typeof e.name=="string"&&typeof e.status=="string"&&_N.has(e.status)&&(e.input===void 0||PN(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($N,"isKodaXSessionUiToolCall");function dR(e){return!Tt(e)||typeof e.type!="string"?!1:e.type==="tool_group"?Array.isArray(e.tools)&&e.tools.length>0&&e.tools.every($N):AN.has(e.type)&&typeof e.text=="string"&&(e.icon===void 0||typeof e.icon=="string")&&(e.compactText===void 0||typeof e.compactText=="string")}o(dR,"isKodaXSessionUiHistoryItem");function ON(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(ON,"isPersistedMetaUpdateLine");function TR(e){if(!Array.isArray(e))return;let t=e.filter(dR).map(n=>n.type==="tool_group"?{...n,tools:n.tools.map(r=>({...r}))}:{...n});return t.length>0?t:void 0}o(TR,"normalizeKodaXSessionUiHistory");function pR(e,t){t!==0&&process.stderr.write(`[KodaX] Skipped ${t} malformed session record(s) from ${Ge.basename(e)}.
289
+ `)}o(pR,"warnMalformedSessionData");function Kr(e){process.stderr.write(`${e}
290
+ `)}o(Kr,"writeStorageNotice");function mR(e){return{_type:"extension_record",...e}}o(mR,"toExtensionRecordLine");function hR(e){return{_type:"lineage_entry",entry:e}}o(hR,"toLineageEntryLine");function gR(e){return{_type:"artifact_ledger_entry",entry:e}}o(gR,"toArtifactLedgerLine");function DN(e){return Tt(e)&&e._type==="extension_record"&&cR(e)}o(DN,"isPersistedExtensionRecordLine");function NN(e){return Tt(e)&&typeof e.id=="string"&&(e.parentId===null||typeof e.parentId=="string")&&typeof e.timestamp=="string"&&typeof e.type=="string"}o(NN,"hasEntryBase");function BN(e){if(!NN(e))return!1;let t=e;switch(t.type){case"message":return zg(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||vo(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";default:return!1}}o(BN,"isKodaXSessionEntry");function HN(e){return Tt(e)&&e._type==="lineage_entry"&&BN(e.entry)}o(HN,"isPersistedLineageEntryLine");function WN(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||vo(e.metadata))}o(WN,"isKodaXSessionArtifactLedgerEntry");function FN(e){return Tt(e)&&e._type==="artifact_ledger_entry"&&WN(e.entry)}o(FN,"isPersistedArtifactLedgerLine");function CR(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(CR,"isKodaXSessionRuntimeInfo");function yR(e,t){return process.platform==="win32"||process.platform==="darwin"?e.toLowerCase()===t.toLowerCase():e===t}o(yR,"pathsEqual");function jN(e){for(let t=e.length-1;t>=0;t-=1){let n=e[t];if(n&&n.type!=="label")return n.id}return null}o(jN,"getLastNavigableEntryId");function UN(e){if(e.lineageEntries.length>0)return{version:2,activeEntryId:e.meta?.activeEntryId??jN(e.lineageEntries),entries:e.lineageEntries};if(e.legacyMessages.length!==0)return qt(e.legacyMessages)}o(UN,"buildLineage");function xR(e){return typeof e=="string"?`t:${e}`:`j:${JSON.stringify(e)}`}o(xR,"serializeMessageContentForCompare");function GN(e,t){return e===t?!0:e.role===t.role&&e._synthetic===!0==(t._synthetic===!0)&&xR(e.content)===xR(t.content)}o(GN,"sameMessageByContent");function VN(e,t){if(e.lineage)return e.lineage;if(t){let n=$t(t),r=e.messages;if(r.length<=n.length&&r.every((s,a)=>GN(s,n[a])))return t}return qt(e.messages,t)}o(VN,"resolveSnapshotLineage");function KN(e){let t=UN(e);return{createdAt:e.meta?.createdAt,data:{messages:t?$t(t):[...e.legacyMessages],title:e.meta?.title??"",gitRoot:e.meta?.gitRoot??"",tag:typeof e.meta?.tag=="string"?e.meta.tag:void 0,runtimeInfo:CR(e.meta?.runtimeInfo)?{...e.meta.runtimeInfo}:void 0,scope:e.meta?.scope??"user",uiHistory:TR(e.meta?.uiHistory),errorMetadata:uR(e.meta?.errorMetadata)?{...e.meta.errorMetadata}:void 0,extensionState:lR(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(KN,"buildSessionData");function zN(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?No(n):t.messages.length}}o(zN,"createSessionMeta");async function XN(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(`
291
+ `);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(ON(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=TR(a.uiHistory)),a.scope!==void 0&&(r.meta.scope=a.scope));continue}if(HN(a)){r.lineageEntries.push(a.entry);continue}if(FN(a)){r.artifactLedger.push(a.entry);continue}if(DN(a)){r.extensionRecords.push({id:a.id,extensionId:a.extensionId,type:a.type,ts:a.ts,data:a.data,dedupeKey:a.dedupeKey});continue}if(zg(a)){r.legacyMessages.push(a);continue}r.malformedCount+=1}catch{r.malformedCount+=1}return r}o(XN,"readPersistedSessionFile");var SR=65536;async function YN(e){let t;try{t=await Ze.open(e,"r");let n=Buffer.allocUnsafe(SR),{bytesRead:r}=await t.read(n,0,SR,0);if(r===0)return null;let i=n.toString("utf8",0,r),s=i.indexOf(`
292
+ `);if(s>=0)return i.slice(0,s).trim();let a=await Ze.readFile(e,"utf-8"),c=a.indexOf(`
293
+ `);return(c>=0?a.slice(0,c):a).trim()}catch{return null}finally{await t?.close()}}o(YN,"readSessionFirstLine");async function wR(e){try{let t=(await Ze.readFile(e,"utf-8")).trim();return t?t.split(`
294
+ `).length:0}catch{return 0}}o(wR,"countSessionLines");var Ro=class{static{o(this,"FileSessionStorage")}sessionsDir;hostCwd;emitMismatchWarnings;constructor(t){this.sessionsDir=t?.sessionsDir??Ho,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=Io(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 Ge.join(this.sessionsDir,`${t}.jsonl`)}legacyFlatArchivePath(t){return Ge.join(this.sessionsDir,`${t}.archive.jsonl`)}projectDir(t){return Ge.join(this.sessionsDir,t)}resolveWriteDir(t,n){let r=this.sessionDirCache.get(t);if(r)return r;let i=ns(n),s=this.projectDir(i.key);return this.sessionDirCache.set(t,s),s}writeFilePath(t,n){return Ge.join(this.resolveWriteDir(t,n),`${t}.jsonl`)}async resolveSessionLocation(t){let n=this.sessionDirCache.get(t);if(n){let s=Ge.join(n,`${t}.jsonl`);if(Jn.existsSync(s))return s;let a=Ge.join(n,"archived",`${t}.jsonl`);if(Jn.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=Ge.join(this.sessionsDir,s.name,`${t}.jsonl`);Jn.existsSync(a)&&r.push(a);let c=Ge.join(this.sessionsDir,s.name,"archived",`${t}.jsonl`);Jn.existsSync(c)&&r.push(c)}if(r.length===0){let s=this.legacyFlatPath(t);return Jn.existsSync(s)?s:null}if(r.length===1){let s=Ge.dirname(r[0]),a=Ge.basename(s)==="archived"?Ge.dirname(s):s;return this.sessionDirCache.set(t,a),r[0]}if(this.hostCwd){let s=this.projectDir(Ua(this.hostCwd).key),a=r.find(c=>Ge.dirname(c)===s);if(a)return a}return Kr(`[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 XN(n);return r?(pR(n,r.malformedCount),KN(r)):null}async ensureProjectJson(t,n){if(n.canonicalRoot===null||this.projectJsonWritten.has(t))return;this.projectJsonWritten.add(t);let r=Ge.join(t,"project.json");try{let i=JSON.stringify({canonicalRoot:n.canonicalRoot,displayName:n.displayName,lastUsed:new Date().toISOString()});await Ze.writeFile(r,i+`
295
+ `,"utf-8")}catch{}}async writeSessionInternal(t,n,r){let i=this.resolveWriteDir(t,n);await Ze.mkdir(i,{recursive:!0});let s=Ge.join(i,`${t}.jsonl`),a=`${s}.${process.pid}.${Date.now()}.tmp`,c=n.lineage??qt(n.messages),l=zN(t,n,c,r);try{let d=await Ze.open(a,"w");try{await d.write(JSON.stringify(l)+`
296
+ `);for(let p of c.entries)await d.write(JSON.stringify(hR(p))+`
297
+ `);for(let p of n.artifactLedger??[])await d.write(JSON.stringify(gR(p))+`
298
+ `);for(let p of n.extensionRecords??[])await d.write(JSON.stringify(mR(p))+`
299
+ `)}finally{await d.close()}await Ze.rename(a,s),await this.ensureProjectJson(i,ns(n));let f=this.legacyFlatPath(t);if(f!==s&&Jn.existsSync(f)){await Ze.unlink(f).catch(()=>{});let p=this.legacyFlatArchivePath(t);Jn.existsSync(p)&&await Ze.rename(p,Ge.join(i,`${t}.islands.jsonl`)).catch(()=>{})}}finally{Jn.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:VN(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(!Jn.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(hR(p)));for(let p of c)d.push(JSON.stringify(gR(p)));for(let p of l)d.push(JSON.stringify(mR(p)));let f={_type:"meta_update",title:n.title,activeEntryId:n.lineage.activeEntryId,activeMessageCount:No(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,`
300
+ `+d.join(`
301
+ `),"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)}
302
+ `)})}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}=Kx(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=Ge.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})+`
303
+ `);for(let f of i)await l.write(JSON.stringify({_type:"archived_entry",archiveBatchId:s,entry:f})+`
304
+ `)}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 Wo(this.hostCwd),c=await ts({cwd:this.hostCwd}),l=ja(r);(c.canonicalRepoRoot&&l?.canonicalRepoRoot&&!pu(c,l)||a&&r.gitRoot&&a!==r.gitRoot&&!pu(c,{canonicalRepoRoot:r.gitRoot}))&&(Kr(fR.yellow(`
305
+ [Warning] Session project mismatch:`)),c.workspaceRoot&&Kr(` Current workspace: ${c.workspaceRoot}`),l?.workspaceRoot&&Kr(` Session workspace: ${l.workspaceRoot}`),c.canonicalRepoRoot&&Kr(` Current repo: ${c.canonicalRepoRoot}`),l?.canonicalRepoRoot?Kr(` Session repo: ${l.canonicalRepoRoot}`):r.gitRoot&&Kr(` Session repo: ${r.gitRoot}`),Kr(` Continuing anyway...
306
+ `))}if(r.errorMetadata?.consecutiveErrors&&r.errorMetadata.consecutiveErrors>0){let a=Fx(r.messages);if(a!==r.messages){Kr(fR.cyan("[Session Recovery] Cleaned incomplete tool calls from previous session"));let c={...r,messages:a,errorMetadata:{...r.errorMetadata,consecutiveErrors:0},lineage:qt(a,r.lineage)};return await this.serializedWrite(t,async()=>{await this.writeSessionInternal(t,c,i),this.syncAppendState(t,c)}),c}}return pR(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=Ki(s.data.lineage,n,r);if(!a)return;let c={...s.data,messages:$t(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??Xi(i.data.lineage);if(!s)return;let a=Yi(i.data.lineage,s);if(!a)return;let c={...i.data,messages:$t(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=zi(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=qi(s.data.lineage,n);if(!a)return;let c=r?.sessionId??await Vi(),l={messages:$t(a),title:r?.title??s.data.title,gitRoot:s.data.gitRoot,tag:s.data.tag,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 Wo(this.hostCwd):null),i=await ts({cwd:r??this.hostCwd??process.cwd()}),s=await Ze.readdir(this.sessionsDir,{withFileTypes:!0}),a=[],c=ns({gitRoot:r??void 0,runtimeInfo:i}).key,l=o(T=>T.endsWith(".archive.jsonl")||T.endsWith(".islands.jsonl"),"isSidecar"),d=r?[c]:s.filter(T=>T.isDirectory()&&!T.name.startsWith(".")).map(T=>T.name);for(let T of d){let S=[];try{S=await Ze.readdir(this.projectDir(T))}catch{continue}for(let C of S)C.endsWith(".jsonl")&&!l(C)&&a.push({path:Ge.join(this.projectDir(T),C),trusted:!!r,archived:!1});if(n?.includeArchived){let C=[];try{C=await Ze.readdir(Ge.join(this.projectDir(T),"archived"))}catch{C=[]}for(let M of C)M.endsWith(".jsonl")&&!l(M)&&a.push({path:Ge.join(this.projectDir(T),"archived",M),trusted:!!r,archived:!0})}}for(let T of s)T.isFile()&&T.name.endsWith(".jsonl")&&!l(T.name)&&!T.name.startsWith("archived-")&&!T.name.startsWith(".")&&a.push({path:Ge.join(this.sessionsDir,T.name),trusted:!1,archived:!1});let f=[],p=o(async(T,S,C)=>{try{let M=await YN(T);if(!M)return null;let E=JSON.parse(M);if(Tt(E)&&E._type==="meta"){let D=typeof E.gitRoot=="string"?E.gitRoot:"",L=CR(E.runtimeInfo)?E.runtimeInfo:void 0,y=E.scope==="managed-task-worker"?"managed-task-worker":"user";if(r&&!S){let xe=pu(i,L),me=L?.workspaceRoot?yR(L.workspaceRoot,i.workspaceRoot??""):yR(D,r);if(!xe&&!me)return null}if(y!=="user")return null;let W=typeof E.extensionRecordCount=="number"&&E.extensionRecordCount>0?E.extensionRecordCount:0,de=typeof E.activeMessageCount=="number"&&E.activeMessageCount>=0?E.activeMessageCount:Math.max(0,await wR(T)-1-W);return{id:Ge.basename(T,".jsonl"),title:typeof E.title=="string"?E.title:"",msgCount:de,...typeof E.tag=="string"?{tag:E.tag}:{},createdAt:typeof E.createdAt=="string"?E.createdAt:void 0,runtimeInfo:L?{...L}:D?{canonicalRepoRoot:D}:void 0,...C?{archived:!0}:{}}}let P=await wR(T);return{id:Ge.basename(T,".jsonl"),title:"",msgCount:P,...C?{archived:!0}:{}}}catch{return null}},"parseSessionFile"),m=48,h=new Set;for(let T=0;T<a.length;T+=m){let S=await Promise.all(a.slice(T,T+m).map(C=>p(C.path,C.trusted,C.archived)));for(let C of S)C&&!h.has(C.id)&&(h.add(C.id),f.push(C))}let w=n?.limit??10;return f.sort((T,S)=>{let C=T.createdAt?Date.parse(T.createdAt):Number.NaN,M=S.createdAt?Date.parse(S.createdAt):Number.NaN;return Number.isFinite(C)&&Number.isFinite(M)&&C!==M?M-C:Number.isFinite(M)&&!Number.isFinite(C)?1:Number.isFinite(C)&&!Number.isFinite(M)?-1:S.id.localeCompare(T.id)}).slice(0,w).map(({id:T,title:S,msgCount:C,tag:M,runtimeInfo:E,createdAt:P,archived:D})=>({id:T,title:S,msgCount:C,...M!==void 0?{tag:M}:{},...E?{runtimeInfo:E}:{},...P!==void 0?{createdAt:P}:{},...D?{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=Ge.dirname(r);if(Ge.basename(i)==="archived"){n=!0;return}await this.movePair(t,i,Ge.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=Ge.dirname(r);if(Ge.basename(i)!=="archived"){n=!0;return}await this.movePair(t,i,Ge.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=Ge.join(n,i);if(Jn.existsSync(s))try{await Ze.rename(s,Ge.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)Jn.existsSync(i)&&await Ze.unlink(i).catch(()=>{});this.sessionDirCache.delete(t)}async deleteAll(t){let n=t??(this.hostCwd?await Wo(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=Ge.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=Ge.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(Ge.join(f,m))}}}}catch{}return n}};import ui from"node:fs/promises";import rn from"node:path";var qN=8;function bR(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}o(bR,"isRecord");function IR(e){return e.endsWith(".jsonl")&&!e.endsWith(".archive.jsonl")&&!e.endsWith(".islands.jsonl")&&!e.startsWith(".")&&!e.startsWith("archived-")}o(IR,"isSessionFile");async function QN(e){let t=[],n=[];try{n=await ui.readdir(e,{withFileTypes:!0})}catch{return t}for(let r of n){if(r.isFile()){IR(r.name)&&t.push(rn.join(e,r.name));continue}if(!r.isDirectory()||r.name.startsWith("."))continue;let i=rn.join(e,r.name),s=[];try{s=await ui.readdir(i)}catch{continue}for(let a of s)IR(a)&&t.push(rn.join(i,a))}return t}o(QN,"collectSessionFiles");function JN(e,t){let r=rn.relative(e,t).split(rn.sep);return r.length>1?r[0]:void 0}o(JN,"getProjectKey");async function ZN(e,t){let n=rn.relative(e,t),r=rn.basename(t,".jsonl");try{let s=(await ui.readFile(t,"utf8")).split(/\r?\n/,1)[0];if(!s)return null;let a=JSON.parse(s);if(!bR(a)||a._type!=="meta")return null;let c=bR(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:JN(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(ZN,"parseCandidate");function eB(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(eB,"sameProject");function tB(e,t){if(t.isRunner||t.scope!=="user"||!eB(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>=qN?{canonical:t,score:n,reasons:r}:null}o(tB,"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 rB(e){let t=e,n=1;for(;;){try{await ui.access(t)}catch{return t}let r=rn.extname(e);t=`${e.slice(0,e.length-r.length)}.${n}${r}`,n+=1}}o(rB,"uniqueTargetPath");async function oB(e={}){let t=e.sessionsDir??Ho;e.apply&&(await ui.mkdir(t,{recursive:!0}),await Io(t));let n=await QN(t),r=[],i=[];for(let f of n){let p=await ZN(t,f);if(!p){rn.basename(f).startsWith("runner-")&&i.push({runnerId:rn.basename(f,".jsonl"),path:f,reason:"unreadable"});continue}if(p.isRunner&&p.scope==="managed-task-worker"){i.push({runnerId:p.id,path:p.filePath,reason:"managed-task-worker"});continue}r.push(p)}let s=r.filter(f=>f.isRunner&&f.scope==="user"),a=r.filter(f=>!f.isRunner&&f.scope==="user"),c=[];for(let f of s){let p=a.map(h=>tB(f,h)).filter(h=>h!==null).sort((h,w)=>w.score-h.score);if(p.length===0){i.push({runnerId:f.id,path:f.filePath,reason:"no-match"});continue}if(p.length>1){i.push({runnerId:f.id,path:f.filePath,reason:"ambiguous-match",detail:p.map(h=>`${h.canonical.id}:${h.score}`).join(", ")});continue}let m=p[0];c.push({runnerId:f.id,runnerPath:f.filePath,canonicalId:m.canonical.id,canonicalPath:m.canonical.filePath,score:m.score,reasons:m.reasons})}let l=[],d=rn.join(t,".dedupe-archive",nB(e.now??new Date));if(e.apply)for(let f of c){let p=rn.relative(t,f.runnerPath),m;try{m=await rB(rn.join(d,p)),await ui.mkdir(rn.dirname(m),{recursive:!0}),await ui.rename(f.runnerPath,m),l.push({runnerId:f.runnerId,from:f.runnerPath,to:m})}catch(h){i.push({runnerId:f.runnerId,path:f.runnerPath,reason:"move-failed",detail:`target=${m??rn.join(d,p)}; ${h instanceof Error?h.message:String(h)}`})}}return{scanned:n.length,runnerCandidates:s.length,matches:c,moved:l,skipped:i,...e.apply?{archiveDir:d}:{}}}o(oB,"dedupeSessions");import di from"node:fs";import ea from"node:fs/promises";import Nt from"node:path";async function kR(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 ea.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(Nt.join(e,s.name));continue}if(!s.isDirectory()||s.name.startsWith("."))continue;let a=Nt.join(e,s.name);try{for(let c of await ea.readdir(a))r(c)&&n.push(Nt.join(a,c))}catch{}if(t){let c=Nt.join(a,"archived");try{for(let l of await ea.readdir(c))r(l)&&n.push(Nt.join(c,l))}catch{}}}return n}o(kR,"collectSessionFilePaths");function vR(e){if(!e||!e.trim())return;let t=Nt.resolve(e).replace(/\\/g,"/");return process.platform==="win32"||process.platform==="darwin"?t.toLowerCase():t}o(vR,"normalizeComparableRoot");function iB(e,t,n){let r=vR(n);return r?[e?.gitRoot,e?.workspaceRoot,t].some(i=>vR(i)===r):!0}o(iB,"sessionMatchesProjectRoot");function zr(e){return e!==void 0?new Ro({sessionsDir:e}):new Ro}o(zr,"getStorage");function Yg(e){return e??Ho}o(Yg,"resolveSessionsDir");async function ER(e){return MR(e,void 0)}o(ER,"listSessions");async function MR(e,t){try{let n=Yg(t);await Io(n);let r=e?.projectRoot,i=zr(t);await ea.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(sB);let f=await kR(n,a),p=[],m=new Set;for(let h of f)try{let w=Nt.basename(h,".jsonl");if(m.has(w))continue;let T=Nt.basename(Nt.dirname(h))==="archived",S=(await ea.readFile(h,"utf-8")).trim(),C=S.split(`
307
+ `)[0];if(!C)continue;let M=JSON.parse(C);if(M===null||typeof M!="object"||M._type!=="meta")continue;let E=M,P=E.scope==="managed-task-worker"?"managed-task-worker":"user";if(s==="user"&&P!=="user"||s==="managed-task-worker"&&P!=="managed-task-worker")continue;let D=typeof E.createdAt=="string"?E.createdAt:void 0;if(l!==void 0&&D!==void 0){let k=Date.parse(D);if(!Number.isNaN(k)&&k>=l)continue}let L=typeof E.tag=="string"?E.tag:void 0;if(d!==void 0&&L!==d)continue;let y=S.split(`
308
+ `).length,W=typeof E.extensionRecordCount=="number"&&E.extensionRecordCount>0?E.extensionRecordCount:0,de=typeof E.activeMessageCount=="number"&&E.activeMessageCount>=0?E.activeMessageCount:Math.max(0,y-1-W),xe=E.runtimeInfo!==null&&typeof E.runtimeInfo=="object"?AR(E.runtimeInfo):void 0,me=typeof E.gitRoot=="string"?E.gitRoot:void 0,Z=xe??(me?{gitRoot:me}:void 0);if(!iB(Z,me,r))continue;let O=Ua(Z?.gitRoot??Z?.workspaceRoot).key;m.add(w),p.push({id:w,title:typeof E.title=="string"?E.title:"",msgCount:de,...L!==void 0?{tag:L}:{},createdAt:D,runtimeInfo:Z,projectKey:O,...T?{archived:!0}:{},_createdAtMs:D?Date.parse(D):void 0})}catch{continue}return p.sort((h,w)=>{let T=h._createdAtMs,S=w._createdAtMs;return Number.isFinite(T)&&Number.isFinite(S)&&T!==S?S-T:Number.isFinite(S)&&!Number.isFinite(T)?1:Number.isFinite(T)&&!Number.isFinite(S)?-1:w.id.localeCompare(h.id)}),p.slice(0,c).map(({id:h,title:w,msgCount:T,tag:S,createdAt:C,runtimeInfo:M,projectKey:E,archived:P})=>({id:h,title:w,msgCount:T,...S!==void 0?{tag:S}:{},...C!==void 0?{createdAt:C}:{},...M!==void 0?{runtimeInfo:M}:{},...E!==void 0?{projectKey:E}:{},...P?{archived:!0}:{}}))}catch{return[]}}o(MR,"listSessionsImpl");function AR(e){if(!(!e.workspaceRoot&&!e.canonicalRepoRoot))return{...e.workspaceRoot?{workspaceRoot:e.workspaceRoot}:{},...e.canonicalRepoRoot?{gitRoot:e.canonicalRepoRoot}:{}}}o(AR,"extractRuntimeInfoSummary");function sB(e){let t=e.runtimeInfo?AR(e.runtimeInfo):void 0,n=Ua(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(sB,"toSessionSummary");function qg(e){return typeof e=="object"&&e!==null}o(qg,"isRecord");function aB(e){return qg(e)?(e.role==="user"||e.role==="assistant"||e.role==="system")&&(typeof e.content=="string"||Array.isArray(e.content)):!1}o(aB,"isMessage");function cB(e){return qg(e)&&typeof e.id=="string"&&(e.parentId===null||typeof e.parentId=="string")&&typeof e.timestamp=="string"&&typeof e.type=="string"}o(cB,"hasEntryBase");function lB(e){if(!cB(e))return!1;let t=e;switch(t.type){case"message":return aB(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"goal":return typeof t.event=="string";default:return!1}}o(lB,"isTranscriptSidecarEntry");function uB(e){return qg(e)&&e._type==="archived_entry"&&typeof e.archiveBatchId=="string"&&lB(e.entry)}o(uB,"isArchivedEntryLine");async function dB(e,t){let n,r=new Set([`${e}.jsonl`,`archived-${e}.jsonl`]);for(let f of await kR(t,!0))if(r.has(Nt.basename(f))){n=f;break}if(!n)return[];let i=Nt.dirname(n),s=Nt.basename(n,".jsonl"),c=Array.from(new Set([e,s])).flatMap(f=>[Nt.join(i,`${f}.islands.jsonl`),Nt.join(i,`${f}.archive.jsonl`)]),l=[],d=new Set;for(let f of c){let p="";try{p=await ea.readFile(f,"utf-8")}catch{continue}for(let m of p.split(/\r?\n/))if(m.trim())try{let h=JSON.parse(m);uB(h)&&(d.has(h.entry.id)||(d.add(h.entry.id),l.push(h.entry)))}catch{}}return l}o(dB,"readArchivedTranscriptEntries");function fB(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(fB,"mergeTranscriptLineageEntries");function pB(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(pB,"collectActiveIds");function RR(e,t){return t==="branch_summary"?{role:"user",content:`The following is a summary of a branch that this conversation came back from:
309
+
310
+ <summary>
311
+ ${e}
312
+ </summary>`}:{role:"system",content:`[\u5BF9\u8BDD\u5386\u53F2\u6458\u8981]
313
+
314
+ ${e}`}}o(RR,"summaryMessage");function mB(e,t){switch(e.type){case"message":return{entryId:e.id,parentId:e.parentId,timestamp:e.timestamp,type:"message",message:e.message,active:t.has(e.id)};case"compaction":return{entryId:e.id,parentId:e.parentId,timestamp:e.timestamp,type:"compaction",message:RR(e.summary,"compaction"),active:t.has(e.id),summary:e.summary};case"branch_summary":return{entryId:e.id,parentId:e.parentId,timestamp:e.timestamp,type:"branch_summary",message:RR(e.summary,"branch_summary"),active:t.has(e.id),summary:e.summary};case"archive_marker":case"label":case"goal":return null;default:return e}}o(mB,"toTranscriptEntry");function hB(e){let t=pB(e);return e.entries.map(n=>mB(n,t)).filter(n=>n!==null)}o(hB,"buildTranscriptEntries");async function _R(e){return LR(e,void 0)}o(_R,"loadSession");async function LR(e,t){try{return await zr(t).load(e)}catch{return null}}o(LR,"loadSessionImpl");async function PR(e){return $R(e,void 0)}o(PR,"loadFullTranscript");async function $R(e,t){try{let n=Yg(t);await Io(n);let r=zr(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 dB(e,n),c=a.length>0?{...s,entries:fB(a,s.entries)}:s,l=hB(c);return{...i,messages:l.map(d=>d.message),activeMessages:i.messages,transcriptEntries:l,lineage:c}}catch{return null}}o($R,"loadFullTranscriptImpl");async function OR(e,t){return DR(e,t,void 0)}o(OR,"forkSession");async function DR(e,t,n){try{return await zr(n).fork(e,t?.selector,{sessionId:t?.sessionId,title:t?.title})}catch{return null}}o(DR,"forkSessionImpl");async function NR(e,t){return BR(e,t,void 0)}o(NR,"rewindSession");async function BR(e,t,n){try{return await zr(n).rewind(e,t?.selector)}catch{return null}}o(BR,"rewindSessionImpl");async function HR(e,t){return WR(e,t,void 0)}o(HR,"setActiveEntry");async function WR(e,t,n){try{return await zr(n).setActiveEntry(e,t)}catch{return null}}o(WR,"setActiveEntryImpl");async function Nf(){try{return Wx({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(Nf,"listRunningSessions");async function FR(e){return jR(e,void 0)}o(FR,"deleteSession");async function jR(e,t){try{let r=(await Nf()).find(i=>i.sessionId===e);return r?{error:{code:"session_running",runningProcess:{pid:r.pid,startedAt:r.startedAt}}}:(await zr(t).delete(e),{ok:!0})}catch{return{ok:!0}}}o(jR,"deleteSessionImpl");async function UR(e){return GR(e,void 0)}o(UR,"archiveSession");async function GR(e,t){try{return await zr(t).archive(e)}catch{return!1}}o(GR,"archiveSessionImpl");async function VR(e){return KR(e,void 0)}o(VR,"unarchiveSession");async function KR(e,t){try{return await zr(t).unarchive(e)}catch{return!1}}o(KR,"unarchiveSessionImpl");function zR(e){return XR(e,void 0)}o(zR,"watchSessions");function XR(e,t){let n=Yg(t);return Io(n).catch(()=>{}),process.platform==="win32"?xB(e,n):gB(e,n)}o(XR,"watchSessionsImpl");function Xg(e){let t=Nt.basename(e);return!t.endsWith(".jsonl")||t.endsWith(".archive.jsonl")||t.endsWith(".islands.jsonl")||t.startsWith(".")?null:t.slice(0,-6)}o(Xg,"sessionIdFromFilename");function gB(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(!di.existsSync(t)){setTimeout(a,1e3);return}let c=o((l,d)=>{if(!d)return;let f=typeof d=="string"?d:d.toString(),p=Xg(f);if(!p)return;let m=l==="rename"?yB(t,f):"change";s(m,p)},"onEvent");try{n=di.watch(t,{recursive:!0},c)}catch{n=di.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(gB,"watchSessionsPosix");function yB(e,t){try{return di.statSync(Nt.join(e,t)),"add"}catch{return"remove"}}o(yB,"detectRenameKind");function xB(e,t){let n=!1,r=new Set;function i(c,l){try{for(let d of di.readdirSync(l)){let f=Xg(d);f&&c.add(f)}}catch{}}o(i,"addIds");function s(){let c=new Set;try{if(!di.existsSync(t))return c;for(let l of di.readdirSync(t,{withFileTypes:!0}))if(l.isFile()){let d=Xg(l.name);d&&c.add(d)}else if(l.isDirectory()&&!l.name.startsWith(".")){let d=Nt.join(t,l.name);i(c,d),i(c,Nt.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(xB,"watchSessionsWindows");function SB(e){let t=e?.sessionsDir,n=t!==void 0?new Ro({sessionsDir:t}):new Ro;return t===void 0?{listSessions:ER,loadSession:_R,loadFullTranscript:PR,forkSession:OR,rewindSession:NR,setActiveEntry:HR,deleteSession:FR,archiveSession:UR,unarchiveSession:VR,listRunningSessions:Nf,watchSessions:zR,storage:n}:{listSessions:o(r=>MR(r,t),"listSessions"),loadSession:o(r=>LR(r,t),"loadSession"),loadFullTranscript:o(r=>$R(r,t),"loadFullTranscript"),forkSession:o((r,i)=>DR(r,i,t),"forkSession"),rewindSession:o((r,i)=>BR(r,i,t),"rewindSession"),setActiveEntry:o((r,i)=>WR(r,i,t),"setActiveEntry"),deleteSession:o(r=>jR(r,t),"deleteSession"),archiveSession:o(r=>GR(r,t),"archiveSession"),unarchiveSession:o(r=>KR(r,t),"unarchiveSession"),listRunningSessions:Nf,watchSessions:o(r=>XR(r,t),"watchSessions"),storage:n}}o(SB,"createSessionManager");export{is as a,ss as b,Va as c,as as d,Ka as e,zp as f,Go as g,Vo as h,cs as i,Ko as j,Tu as k,zo as l,ls as m,Cu as n,bu as o,us as p,vn as q,lr as r,ur as s,Fk as t,un as u,za as v,qp as w,Qp as x,dn as y,Jp as z,Zp as A,HS as B,WS as C,ne as D,OB as E,$m as F,t_ as G,od as H,uc as I,RT as J,s_ as K,a_ as L,Nm as M,id as N,Bm as O,MT as P,Fm as Q,Zo as R,sd as S,jm as T,fc as U,Gm as V,Rs as W,A_ as X,Bn as Y,GT as Z,VT as _,N_ as $,B_ as aa,$L as ba,ni as ca,DL as da,Ls as ea,nP as fa,oP as ga,iP as ha,uh as ia,dh as ja,aP as ka,ph as la,mh as ma,$d as na,Od as oa,Dd as pa,gh as qa,Bd as ra,Nd as sa,xh as ta,Hd as ua,Sc as va,wc as wa,jC as xa,Fd as ya,wh as za,Ch as Aa,Ih as Ba,jd as Ca,vh as Da,Ud as Ea,Gd as Fa,Ah as Ga,_h as Ha,Oh as Ia,Kd as Ja,Ic as Ka,vc as La,fb as Ma,jP as Na,UP as Oa,mb as Pa,zP as Qa,XP as Ra,Rc as Sa,yr as Ta,kc as Ua,Ns as Va,YP as Wa,Yd as Xa,JP as Ya,ZP as Za,Wr as _a,qd as $a,Qd as ab,s1 as bb,Jd as cb,a1 as db,Pg as eb,ID as fb,RD as gb,$D as hb,Rv as ib,kv as jb,OD as kb,ND as lb,vf as mb,_v as nb,Gr as ob,Lv as pb,Pv as qb,$v as rb,WD as sb,Hc as tb,FD as ub,jD as vb,oN as wb,jg as xb,sN as yb,aN as zb,cN as Ab,lN as Bb,dN as Cb,fN as Db,pN as Eb,mN as Fb,qv as Gb,Ro as Hb,oB as Ib,ER as Jb,_R as Kb,PR as Lb,OR as Mb,NR as Nb,HR as Ob,Nf as Pb,FR as Qb,UR as Rb,VR as Sb,zR as Tb,SB as Ub};