@kodax-ai/kodax 0.7.82 → 0.7.83

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 (46) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +10 -0
  3. package/README_CN.md +8 -0
  4. package/dist/chunks/{agent-4UTCCMD5.js → agent-S7LMMTG7.js} +1 -1
  5. package/dist/chunks/argument-completer-SQHG2LYE.js +2 -0
  6. package/dist/chunks/chunk-37RT45HT.js +379 -0
  7. package/dist/chunks/{chunk-ZOBNDWOA.js → chunk-3DKQC7A2.js} +1 -1
  8. package/dist/chunks/{chunk-WMYCNECP.js → chunk-45E23YJI.js} +142 -67
  9. package/dist/chunks/{chunk-GIVYTXQW.js → chunk-6QILIBOU.js} +155 -155
  10. package/dist/chunks/{chunk-JDZFNWMZ.js → chunk-DSFHIUHZ.js} +2 -2
  11. package/dist/chunks/{chunk-7ZN2MLVM.js → chunk-DZUMH6GJ.js} +1 -1
  12. package/dist/chunks/{chunk-VQBJMNFD.js → chunk-HI6RCW5Y.js} +2 -2
  13. package/dist/chunks/{chunk-XTCDCU2Q.js → chunk-LF2JBTBG.js} +4 -4
  14. package/dist/chunks/{chunk-NINELPXH.js → chunk-RAQGGVIF.js} +1 -1
  15. package/dist/chunks/{chunk-ZZUIO5KL.js → chunk-TC2VHPG5.js} +1 -1
  16. package/dist/chunks/{chunk-S6JTWDN6.js → chunk-URCS6CVP.js} +1 -1
  17. package/dist/chunks/{chunk-KH2HED37.js → chunk-XB2JNLXH.js} +2 -2
  18. package/dist/chunks/{compaction-config-IDL5JQVI.js → compaction-config-SSQ5NXUP.js} +1 -1
  19. package/dist/chunks/{construction-bootstrap-STYUR6XA.js → construction-bootstrap-E4M3CY3N.js} +1 -1
  20. package/dist/chunks/{dist-RKBHBUHV.js → dist-MIXP4ULB.js} +1 -1
  21. package/dist/chunks/{host-RF2IX3N6.js → host-ZCPI7SMC.js} +1 -1
  22. package/dist/chunks/{run-manager-WE2KPAKZ.js → run-manager-4RYG7HSP.js} +1 -1
  23. package/dist/chunks/{utils-Z2RSAENX.js → utils-7DKE2EKT.js} +1 -1
  24. package/dist/index.d.ts +1 -1
  25. package/dist/index.js +5 -5
  26. package/dist/kodax_bootstrap.js +1 -1
  27. package/dist/kodax_cli.js +1522 -1098
  28. package/dist/kodax_resume.js +140 -65
  29. package/dist/runtime-worker.js +1415 -991
  30. package/dist/sandbox-workspace-session.js +121 -46
  31. package/dist/sdk-a2a.js +1 -1
  32. package/dist/sdk-agent.d.ts +8 -1
  33. package/dist/sdk-agent.js +1 -1
  34. package/dist/sdk-coding.js +1 -1
  35. package/dist/sdk-mcp.js +1 -1
  36. package/dist/sdk-repl.js +1 -1
  37. package/dist/sdk-runtime.d.ts +47 -2
  38. package/dist/sdk-runtime.js +1 -1
  39. package/dist/sdk-sandbox.js +1 -1
  40. package/dist/sdk-session.js +1 -1
  41. package/dist/sdk-skills.js +1 -1
  42. package/dist/semantic-worker.js +120 -45
  43. package/docs/SDK_EMBEDDER_GUIDE.md +35 -8
  44. package/package.json +2 -1
  45. package/dist/chunks/argument-completer-N7ORRJBS.js +0 -2
  46. package/dist/chunks/chunk-PGTU7JQX.js +0 -30
@@ -1,5 +1,5 @@
1
1
  // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
- import{$ as xg,A as va,Aa as JI,B as EI,Ba as Ki,C as MI,Ca as zi,D as ba,Da as wg,E as Mf,Ea as QI,F as _I,G as Af,Ga as Tg,H as Rl,Ha as Uf,I as gg,Ia as ZI,J as AI,Ja as ev,K as yg,L as Ko,M as Lf,N as Ra,O as Pf,P as $f,Q as LI,R as PI,S as ka,T as $I,U as zo,V as OI,W as Dr,X as Of,Y as Nf,Z as In,_ as Br,a as Sr,aa as Vi,b as V,ba as Yo,c as KP,ca as kl,d as xn,da as Df,e as Tf,ea as NI,f as UC,fa as DI,g as wr,ga as BI,h as Cf,ha as FI,i as If,ia as HI,j as vf,ja as WI,k as ga,ka as Bf,l as GC,la as Ff,m as ya,ma as El,n as yI,na as Hf,o as xI,oa as Wf,p as SI,pa as jf,q as wI,qa as jI,r as TI,ra as UI,s as CI,sa as GI,t as II,ta as Sg,u as Ca,ua as VI,v as vI,va as KI,w as bI,wa as zI,x as RI,xa as YI,y as Ia,ya as XI,z as kI,za as qI}from"./chunk-JDZFNWMZ.js";import{$ as wa,E as aI,J as cI,K as Vo,L as Ui,O as lI,P as uI,Q as dI,R as fI,S as pI,T as mI,U as hI,X as Rf,Y as Gi,Z as kf,_ as Sa,a as ne,aa as Ta,b as VC,ba as Ef,c as KC,ca as xo,d as zC,e as YC,f as vl,g as XC,ga as gI,h as xa,i as qC,j as JC,k as Wi,l as QC,m as ZC,n as eI,o as bl,p as tI,q as bf,r as Or,s as nI,t as rI,u as oI,w as iI,x as sI,y as ji,z as Nr}from"./chunk-VQBJMNFD.js";import{a as _f}from"./chunk-7ZN2MLVM.js";import{Ca as Sf,Da as BC,Ga as FC,Ia as HC,Ja as Go,N as LC,O as PC,Q as hg,R as $C,S as OC,Sa as WC,c as pg,ea as ho,lb as jC,n as yf,o as xf,ob as wf,ta as go,ua as NC,v as AC,va as yo,w as Il,xa as ma,ya as DC,za as ha}from"./chunk-ZOBNDWOA.js";import{C as kC,Ta as MC,Ua as _C,o as Tl,p as wC}from"./chunk-ZZUIO5KL.js";import{J as EC}from"./chunk-KH2HED37.js";import{Ad as bC,Bd as RC,D as TC,La as gf,Ya as CC,dd as Cl,gd as mg,p as pa,wb as IC,wd as vC}from"./chunk-GIVYTXQW.js";import{Aa as sg,Pa as Ni,ma as Jd,ya as sC}from"./chunk-TRNAWSXP.js";import{$c as yC,Ac as mC,Ec as hC,Ga as cC,Ic as qe,Jc as sa,Kc as Lt,Mc as aa,Nc as ca,Oc as lf,Qc as la,Rc as ua,Sc as da,Tc as mo,Uc as uf,Vc as Hi,Wc as gC,Xc as df,Yc as ff,Zc as dg,_c as pf,ab as ag,ad as fa,bb as $r,dc as cf,eb as cg,ec as Fi,fe as xC,ge as fg,he as SC,nd as mf,od as hf,p as aC,pc as pC,qb as lC,qc as ug,vb as rf,xb as uC}from"./chunk-WMYCNECP.js";import{$a as sf,Hb as lg,W as of,a as Di,ab as af,d as ht,g as Bi,h as Uo,v as dC,w as fC}from"./chunk-EVXIJPZ6.js";import{b as er,d as Qd,l as Zd,t as ef,u as tf,y as nf}from"./chunk-E7C4DRD2.js";import{a as i,c as VP}from"./chunk-ONUPGMER.js";import{spawnSync as zP}from"node:child_process";function Gf(e){return e==="1"||e?.toLowerCase()==="true"}i(Gf,"isTruthyEnv");function tv(e){return e==="0"||e?.toLowerCase()==="false"}i(tv,"isFalseyEnv");function Yi(e=process.env){return e.TERM_PROGRAM?.toLowerCase()==="vscode"||!!e.VSCODE_GIT_IPC_HANDLE||!!e.VSCODE_INJECTION}i(Yi,"isVsCodeTerminalHostEnv");function Xi(e={}){let t=e.env??process.env;return(e.platform??process.platform)==="win32"||!!t.WT_SESSION}i(Xi,"hasCursorUpViewportYankRisk");function YP(e){return!!(e.SSH_CONNECTION||e.SSH_CLIENT||e.SSH_TTY)}i(YP,"isSshSession");function Ea(e={}){let t=e.env??process.env;return Gf(t.KODAX_FULLSCREEN)?!1:(e.platform??process.platform)==="win32"&&YP(t)}i(Ea,"isRemoteConptyHost");function Ml(e={}){let t=e.env??process.env;return Xi(e)||Yi(t)}i(Ml,"hasMainScreenRenderScrollRisk");function XP(e){if(!e.TMUX||e.TERM_PROGRAM!=="iTerm.app")return!1;let t=e.TERM??"";return!t.startsWith("screen")&&!t.startsWith("tmux")}i(XP,"isTmuxControlModeEnvHeuristic");var So;function Ma(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(XP(t))return!0;if(!(t===process.env&&n===process.platform))return!1;if(So!==void 0||(So=!1,!t.TMUX)||t.TERM_PROGRAM&&t.TERM_PROGRAM!=="iTerm.app")return So;try{let o=zP("tmux",["display-message","-p","#{client_control_mode}"],{encoding:"utf8",timeout:2e3});o.status===0&&(So=o.stdout.trim()==="1")}catch{So=!1}return So}i(Ma,"isTmuxControlMode");function Vf(){So=void 0}i(Vf,"resetTmuxControlModeProbeForTesting");function Xo(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":Ma(e)?"tmux_control_mode":Yi(t)?"xtermjs_host":Ea(e)?"remote_conpty_host":Xi(e)?"degraded_vt":"native_vt"}i(Xo,"detectTerminalRenderHost");var qo=Xo;function qi(e={}){let t=e.env??process.env;if(Gf(t.KODAX_FORCE_INK))return"legacy";let n=t.KODAX_TUI_RENDERER?.trim().toLowerCase();return n==="legacy"||n==="owned"||n==="auto"?n:"auto"}i(qi,"resolveConfiguredTuiRendererMode");function Jo(e={}){let t=qi(e);if(t==="legacy"||t==="owned")return t;let n=Xo(e);return n==="unsupported_control_host"||n==="tmux_control_mode"?"legacy":"owned"}i(Jo,"resolveEffectiveTuiRendererMode");function _l(e={}){let t=e.env??process.env;if(Gf(t.KODAX_FORCE_CLASSIC_REPL))return"classic";let n=qi({env:t});if(n==="legacy"||n==="owned")return"ink";let r=Xo(e);return r==="unsupported_control_host"||r==="tmux_control_mode"?"classic":"ink"}i(_l,"resolveInteractiveSurfacePreference");var qP={enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!0},nv={enabled:!0,promptShell:"main-screen",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!1,transcriptSpinnerAnimation:!0};function Qo(e,t="owned",n={}){let r=n.env??process.env;return tv(r.KODAX_FULLSCREEN)?t==="owned"&&e!=="tmux_control_mode"&&e!=="unsupported_control_host"?nv:qP:JP(e,t)}i(Qo,"resolveFullscreenPolicy");function JP(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 nv;default:return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1}}}i(JP,"buildFullscreenPolicy");function Ji(e,t={}){let n=t.rendererMode??"owned",r=Qo(e,n,{env:t.env}),o=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:o,supportsCopyOnSelect:!1,supportsWheelHistory:r.mouseWheel,supportsViewportChrome:r.enabled,supportsSearchViewport:r.enabled,supportsStickyPrompt:r.enabled}}i(Ji,"getTerminalHostCapabilities");function Al(e={}){return Jo(e)==="owned"}i(Al,"isOwnedRendererPreferred");function Ll(e={}){let t=e.env??process.env;return Gf(t.KODAX_FORCE_CLASSIC_REPL)&&!tv(t.KODAX_FORCE_CLASSIC_REPL)}i(Ll,"isClassicReplForced");var Qi=class{static{i(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}},Cg=1,Ig=2,QP=1e3,rv;function zf(){if(!(typeof Intl>"u"||typeof Intl.Segmenter!="function"))return rv??=new Intl.Segmenter("en",{granularity:"grapheme"}),rv}i(zf,"getGraphemeSegmenter");function vn(e){if(!e)return 0;let t=zf();if(t){let n=0;for(let r of t.segment(e))n++;return n}return[...e].length}i(vn,"getCodePointLength");function Tr(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}i(Tr,"isWideChar");function Cr(e){if(!e)return 0;let t=0,n=zf();if(n)for(let r of n.segment(e))t+=Tr(r.segment)?Ig:Cg;else for(let r of e)t+=Tr(r)?Ig:Cg;return t}i(Cr,"getVisualWidth");function ov(e,t){if(!e||t<0)return"";let n=zf();if(n){let o=0;for(let s of n.segment(e)){if(o===t)return s.segment;o++}return""}let r=[...e];return t>=r.length?"":r[t]}i(ov,"getCharAtCodePoint");function Sn(e){if(!e)return[];let t=zf();if(t){let n=[];for(let r of t.segment(e))n.push(r.segment);return n}return[...e]}i(Sn,"splitByCodePoints");function ZP(e,t,n){return Sn(e).slice(t,n).join("")}i(ZP,"sliceByCodePoints");function iv(e,t){let n=Math.max(0,t),r=Sn(e),o=0,s=0;for(;o<r.length;){let a=Tr(r[o])?Ig:Cg;if(s+a>n)break;s+=a,o++}return{before:r.slice(0,o).join(""),current:r[o]??"",after:r.slice(o+1).join("")}}i(iv,"splitAtVisualColumn");function _a(e,t,n=!1){if(!e||t<=0)return"";let r="\u2026",s=n?t-1:t,a="",c=0,l=Sn(e);for(let u of l){let d=Tr(u)?2:1;if(c+d>s)break;a+=u,c+=d}return n&&a.length<e.length&&(a+=r),a}i(_a,"truncateByVisualWidth");var Kf=new Qi(QP);function Yf(e){let t=Kf.get(e);if(t!==void 0)return t;let n=Cr(e);return Kf.set(e,n),n}i(Yf,"getVisualWidthCached");function wn(e,t,n,r){let o=[],s=[],a=[];for(let c=0;c<e.length;c++){let l=e[c]||"";if(s[c]=[],l.length===0){o.push("");let p=o.length-1;s[c].push([p,0]),a.push([c,0]);continue}let u=0,d=Sn(l);for(;u<d.length;){let p="",m=0,h=u,g=-1;for(let T=u;T<d.length;T++){let w=d[T],C=Tr(w)?2:1;if(m+C>t){g>=0&&T-u>0?(p=d.slice(u,g).join(""),m=d.slice(u,g).reduce((b,_)=>b+(Tr(_)?2:1),0),h=g):p.length===0&&C>t&&(p=w,m=C,h=T+1);break}p+=w,m+=C,h=T+1,w===" "&&(g=T+1)}if(p.length>0||o.length===0){let T=u,w=o.length;o.push(p),s[c].push([w,T]),a.push([c,T])}u=h}}return{visualLines:o,logicalToVisualMap:s,visualToLogicalMap:a}}i(wn,"calculateVisualLayout");function Xf(e,t){let{logicalToVisualMap:n,visualLines:r}=e;if(r.length===0)return[0,0];let[o,s]=t,a=n[o];if(!a||a.length===0)return[0,0];let c;for(let[h,g]of a)if(g<=s)c=[h,g];else break;let[l,u]=c??a[0],d=r[l]??"",p=Math.max(0,s-u),m=Cr(ZP(d,0,p));return[l,m]}i(Xf,"calculateVisualCursorFromLayout");var qf={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"]}},vg={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 bg={dark:qf,minimal:vg};function ce(e="dark"){return bg[e]??qf}i(ce,"getTheme");function e1(){return Object.keys(bg)}i(e1,"getThemeNames");import{jsx as kn,jsxs as nr,Fragment as cN}from"react/jsx-runtime";import{useMemo as bp}from"react";import{jsx as Hb}from"react/jsx-runtime";import{createContext as DO,useContext as ss,useEffect as Fa,useMemo as Fb,useState as BO,useCallback as Wb,useRef as yp}from"react";import{Stream as pO}from"node:stream";import{openSync as mO,writeSync as kb}from"node:fs";import{performance as hO}from"node:perf_hooks";import{tmpdir as gO}from"node:os";import{join as yO}from"node:path";import Rg,{forwardRef as r1,useContext as o1}from"react";import{createContext as t1}from"react";var Aa=t1({isScreenReaderEnabled:!1});import{createContext as n1}from"react";var Jf=n1(void 0);var sv=r1(({children:e,backgroundColor:t,"aria-label":n,"aria-hidden":r,"aria-role":o,"aria-state":s,...a},c)=>{let{isScreenReaderEnabled:l}=o1(Aa),u=n?Rg.createElement("ink-text",null,n):void 0;if(l&&r)return null;let d=Rg.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:o,state:s}},l&&u?u:e);return t?Rg.createElement(Jf.Provider,{value:t},d):d});sv.displayName="Box";var tr=sv;import c1,{useContext as av}from"react";import La from"chalk";import Zo from"chalk";var i1=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,s1=/^ansi256\(\s?(\d+)\s?\)$/;function a1(e){return e in Zo}i(a1,"isNamedColor");function Ir(e,t,n){if(!t)return e;if(a1(t)){let r=Zo;if(n==="foreground")return r[t]?.(e)??e;let o=`bg${t[0].toUpperCase()+t.slice(1)}`;return r[o]?.(e)??e}if(t.startsWith("#"))return n==="foreground"?Zo.hex(t)(e):Zo.bgHex(t)(e);if(t.startsWith("ansi256")){let r=s1.exec(t);if(!r)return e;let o=Number(r[1]);return n==="foreground"?Zo.ansi256(o)(e):Zo.bgAnsi256(o)(e)}if(t.startsWith("rgb")){let r=i1.exec(t);if(!r)return e;let o=Number(r[1]),s=Number(r[2]),a=Number(r[3]);return n==="foreground"?Zo.rgb(o,s,a)(e):Zo.bgRgb(o,s,a)(e)}return e}i(Ir,"colorize");function bn({color:e,backgroundColor:t,dimColor:n=!1,bold:r=!1,italic:o=!1,underline:s=!1,strikethrough:a=!1,inverse:c=!1,wrap:l="wrap",children:u,"aria-label":d,"aria-hidden":p=!1,internal_cursorAnchor:m=!1}){let{isScreenReaderEnabled:h}=av(Aa),g=av(Jf),T=h&&d?d:u;if(T==null)return null;let w=i(C=>{let b=C;n&&(b=La.dim(b)),e&&(b=Ir(b,e,"foreground"));let _=t??g;return _&&(b=Ir(b,_,"background")),r&&(b=La.bold(b)),o&&(b=La.italic(b)),s&&(b=La.underline(b)),a&&(b=La.strikethrough(b)),c&&(b=La.inverse(b)),b},"transform");return h&&p?null:c1.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:l},internal_transform:w,...m?{internal_cursorAnchor:!0}:{}},h&&d?d:u)}i(bn,"Text");import l1,{useLayoutEffect as u1,useMemo as cv,useState as d1}from"react";function kg({items:e,children:t,style:n}){let[r,o]=d1(0),s=cv(()=>e.slice(r),[e,r]);u1(()=>{o(e.length)},[e.length]);let a=s.map((l,u)=>t(l,r+u)),c=cv(()=>({position:"absolute",flexDirection:"column",...n}),[n]);return l1.createElement("ink-box",{internal_static:!0,style:c},a)}i(kg,"Static");import os from"node:process";import vb from"react";import{throttle as Y$}from"es-toolkit/compat";import Rn from"ansi-escapes";import Ro from"is-in-ci";import X$ from"auto-bind";import{onExit as q$}from"signal-exit";import J$ from"patch-console";import{LegacyRoot as Q$,ConcurrentRoot as Z$}from"react-reconciler/constants.js";import eO from"yoga-layout";import tO from"wrap-ansi";import nO from"terminal-size";import f1 from"node:process";var Qf=i(()=>f1.env.DEV==="true","isDev");import F1 from"react-reconciler";import{DefaultEventPriority as H1,NoEventPriority as vv}from"react-reconciler/constants.js";import*as ei from"scheduler";import wv from"yoga-layout";import{createContext as W1}from"react";import k1 from"yoga-layout";import p1 from"widest-line";var lv=new Map,m1=i(e=>{if(e.length===0)return{width:0,height:0};let t=lv.get(e);if(t)return t;let n=p1(e),r=e.split(`
2
+ import{$ as xg,A as va,Aa as JI,B as EI,Ba as Ki,C as MI,Ca as zi,D as ba,Da as wg,E as Mf,Ea as QI,F as _I,G as Af,Ga as Tg,H as Rl,Ha as Uf,I as gg,Ia as ZI,J as AI,Ja as ev,K as yg,L as Ko,M as Lf,N as Ra,O as Pf,P as $f,Q as LI,R as PI,S as ka,T as $I,U as zo,V as OI,W as Dr,X as Of,Y as Nf,Z as In,_ as Br,a as Sr,aa as Vi,b as V,ba as Yo,c as KP,ca as kl,d as xn,da as Df,e as Tf,ea as NI,f as UC,fa as DI,g as wr,ga as BI,h as Cf,ha as FI,i as If,ia as HI,j as vf,ja as WI,k as ga,ka as Bf,l as GC,la as Ff,m as ya,ma as El,n as yI,na as Hf,o as xI,oa as Wf,p as SI,pa as jf,q as wI,qa as jI,r as TI,ra as UI,s as CI,sa as GI,t as II,ta as Sg,u as Ca,ua as VI,v as vI,va as KI,w as bI,wa as zI,x as RI,xa as YI,y as Ia,ya as XI,z as kI,za as qI}from"./chunk-DSFHIUHZ.js";import{$ as wa,E as aI,J as cI,K as Vo,L as Ui,O as lI,P as uI,Q as dI,R as fI,S as pI,T as mI,U as hI,X as Rf,Y as Gi,Z as kf,_ as Sa,a as ne,aa as Ta,b as VC,ba as Ef,c as KC,ca as xo,d as zC,e as YC,f as vl,g as XC,ga as gI,h as xa,i as qC,j as JC,k as Wi,l as QC,m as ZC,n as eI,o as bl,p as tI,q as bf,r as Or,s as nI,t as rI,u as oI,w as iI,x as sI,y as ji,z as Nr}from"./chunk-HI6RCW5Y.js";import{a as _f}from"./chunk-DZUMH6GJ.js";import{Ca as Sf,Da as BC,Ga as FC,Ia as HC,Ja as Go,N as LC,O as PC,Q as hg,R as $C,S as OC,Sa as WC,c as pg,ea as ho,lb as jC,n as yf,o as xf,ob as wf,ta as go,ua as NC,v as AC,va as yo,w as Il,xa as ma,ya as DC,za as ha}from"./chunk-3DKQC7A2.js";import{C as kC,Ta as MC,Ua as _C,o as Tl,p as wC}from"./chunk-TC2VHPG5.js";import{J as EC}from"./chunk-XB2JNLXH.js";import{Ad as bC,Bd as RC,D as TC,La as gf,Ya as CC,dd as Cl,gd as mg,p as pa,wb as IC,wd as vC}from"./chunk-6QILIBOU.js";import{Aa as sg,Pa as Ni,ma as Jd,ya as sC}from"./chunk-TRNAWSXP.js";import{$c as pf,Bc as mC,Fc as hC,Ga as cC,Jc as qe,Kc as sa,Lc as Lt,Nc as aa,Oc as ca,Pc as lf,Rc as la,Sc as ua,Tc as da,Uc as mo,Vc as uf,Wc as Hi,Xc as gC,Yc as df,Zc as ff,_c as dg,ad as yC,bb as ag,bd as fa,cb as $r,ec as cf,fb as cg,fc as Fi,ge as xC,he as fg,ie as SC,od as mf,p as aC,pd as hf,qc as pC,rb as lC,rc as ug,wb as rf,yb as uC}from"./chunk-45E23YJI.js";import{$a as sf,Hb as lg,W as of,a as Di,ab as af,d as ht,g as Bi,h as Uo,v as dC,w as fC}from"./chunk-EVXIJPZ6.js";import{b as er,d as Qd,l as Zd,t as ef,u as tf,y as nf}from"./chunk-E7C4DRD2.js";import{a as i,c as VP}from"./chunk-ONUPGMER.js";import{spawnSync as zP}from"node:child_process";function Gf(e){return e==="1"||e?.toLowerCase()==="true"}i(Gf,"isTruthyEnv");function tv(e){return e==="0"||e?.toLowerCase()==="false"}i(tv,"isFalseyEnv");function Yi(e=process.env){return e.TERM_PROGRAM?.toLowerCase()==="vscode"||!!e.VSCODE_GIT_IPC_HANDLE||!!e.VSCODE_INJECTION}i(Yi,"isVsCodeTerminalHostEnv");function Xi(e={}){let t=e.env??process.env;return(e.platform??process.platform)==="win32"||!!t.WT_SESSION}i(Xi,"hasCursorUpViewportYankRisk");function YP(e){return!!(e.SSH_CONNECTION||e.SSH_CLIENT||e.SSH_TTY)}i(YP,"isSshSession");function Ea(e={}){let t=e.env??process.env;return Gf(t.KODAX_FULLSCREEN)?!1:(e.platform??process.platform)==="win32"&&YP(t)}i(Ea,"isRemoteConptyHost");function Ml(e={}){let t=e.env??process.env;return Xi(e)||Yi(t)}i(Ml,"hasMainScreenRenderScrollRisk");function XP(e){if(!e.TMUX||e.TERM_PROGRAM!=="iTerm.app")return!1;let t=e.TERM??"";return!t.startsWith("screen")&&!t.startsWith("tmux")}i(XP,"isTmuxControlModeEnvHeuristic");var So;function Ma(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(XP(t))return!0;if(!(t===process.env&&n===process.platform))return!1;if(So!==void 0||(So=!1,!t.TMUX)||t.TERM_PROGRAM&&t.TERM_PROGRAM!=="iTerm.app")return So;try{let o=zP("tmux",["display-message","-p","#{client_control_mode}"],{encoding:"utf8",timeout:2e3});o.status===0&&(So=o.stdout.trim()==="1")}catch{So=!1}return So}i(Ma,"isTmuxControlMode");function Vf(){So=void 0}i(Vf,"resetTmuxControlModeProbeForTesting");function Xo(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":Ma(e)?"tmux_control_mode":Yi(t)?"xtermjs_host":Ea(e)?"remote_conpty_host":Xi(e)?"degraded_vt":"native_vt"}i(Xo,"detectTerminalRenderHost");var qo=Xo;function qi(e={}){let t=e.env??process.env;if(Gf(t.KODAX_FORCE_INK))return"legacy";let n=t.KODAX_TUI_RENDERER?.trim().toLowerCase();return n==="legacy"||n==="owned"||n==="auto"?n:"auto"}i(qi,"resolveConfiguredTuiRendererMode");function Jo(e={}){let t=qi(e);if(t==="legacy"||t==="owned")return t;let n=Xo(e);return n==="unsupported_control_host"||n==="tmux_control_mode"?"legacy":"owned"}i(Jo,"resolveEffectiveTuiRendererMode");function _l(e={}){let t=e.env??process.env;if(Gf(t.KODAX_FORCE_CLASSIC_REPL))return"classic";let n=qi({env:t});if(n==="legacy"||n==="owned")return"ink";let r=Xo(e);return r==="unsupported_control_host"||r==="tmux_control_mode"?"classic":"ink"}i(_l,"resolveInteractiveSurfacePreference");var qP={enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!0},nv={enabled:!0,promptShell:"main-screen",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!1,transcriptSpinnerAnimation:!0};function Qo(e,t="owned",n={}){let r=n.env??process.env;return tv(r.KODAX_FULLSCREEN)?t==="owned"&&e!=="tmux_control_mode"&&e!=="unsupported_control_host"?nv:qP:JP(e,t)}i(Qo,"resolveFullscreenPolicy");function JP(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 nv;default:return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1}}}i(JP,"buildFullscreenPolicy");function Ji(e,t={}){let n=t.rendererMode??"owned",r=Qo(e,n,{env:t.env}),o=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:o,supportsCopyOnSelect:!1,supportsWheelHistory:r.mouseWheel,supportsViewportChrome:r.enabled,supportsSearchViewport:r.enabled,supportsStickyPrompt:r.enabled}}i(Ji,"getTerminalHostCapabilities");function Al(e={}){return Jo(e)==="owned"}i(Al,"isOwnedRendererPreferred");function Ll(e={}){let t=e.env??process.env;return Gf(t.KODAX_FORCE_CLASSIC_REPL)&&!tv(t.KODAX_FORCE_CLASSIC_REPL)}i(Ll,"isClassicReplForced");var Qi=class{static{i(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}},Cg=1,Ig=2,QP=1e3,rv;function zf(){if(!(typeof Intl>"u"||typeof Intl.Segmenter!="function"))return rv??=new Intl.Segmenter("en",{granularity:"grapheme"}),rv}i(zf,"getGraphemeSegmenter");function vn(e){if(!e)return 0;let t=zf();if(t){let n=0;for(let r of t.segment(e))n++;return n}return[...e].length}i(vn,"getCodePointLength");function Tr(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}i(Tr,"isWideChar");function Cr(e){if(!e)return 0;let t=0,n=zf();if(n)for(let r of n.segment(e))t+=Tr(r.segment)?Ig:Cg;else for(let r of e)t+=Tr(r)?Ig:Cg;return t}i(Cr,"getVisualWidth");function ov(e,t){if(!e||t<0)return"";let n=zf();if(n){let o=0;for(let s of n.segment(e)){if(o===t)return s.segment;o++}return""}let r=[...e];return t>=r.length?"":r[t]}i(ov,"getCharAtCodePoint");function Sn(e){if(!e)return[];let t=zf();if(t){let n=[];for(let r of t.segment(e))n.push(r.segment);return n}return[...e]}i(Sn,"splitByCodePoints");function ZP(e,t,n){return Sn(e).slice(t,n).join("")}i(ZP,"sliceByCodePoints");function iv(e,t){let n=Math.max(0,t),r=Sn(e),o=0,s=0;for(;o<r.length;){let a=Tr(r[o])?Ig:Cg;if(s+a>n)break;s+=a,o++}return{before:r.slice(0,o).join(""),current:r[o]??"",after:r.slice(o+1).join("")}}i(iv,"splitAtVisualColumn");function _a(e,t,n=!1){if(!e||t<=0)return"";let r="\u2026",s=n?t-1:t,a="",c=0,l=Sn(e);for(let u of l){let d=Tr(u)?2:1;if(c+d>s)break;a+=u,c+=d}return n&&a.length<e.length&&(a+=r),a}i(_a,"truncateByVisualWidth");var Kf=new Qi(QP);function Yf(e){let t=Kf.get(e);if(t!==void 0)return t;let n=Cr(e);return Kf.set(e,n),n}i(Yf,"getVisualWidthCached");function wn(e,t,n,r){let o=[],s=[],a=[];for(let c=0;c<e.length;c++){let l=e[c]||"";if(s[c]=[],l.length===0){o.push("");let p=o.length-1;s[c].push([p,0]),a.push([c,0]);continue}let u=0,d=Sn(l);for(;u<d.length;){let p="",m=0,h=u,g=-1;for(let T=u;T<d.length;T++){let w=d[T],C=Tr(w)?2:1;if(m+C>t){g>=0&&T-u>0?(p=d.slice(u,g).join(""),m=d.slice(u,g).reduce((b,_)=>b+(Tr(_)?2:1),0),h=g):p.length===0&&C>t&&(p=w,m=C,h=T+1);break}p+=w,m+=C,h=T+1,w===" "&&(g=T+1)}if(p.length>0||o.length===0){let T=u,w=o.length;o.push(p),s[c].push([w,T]),a.push([c,T])}u=h}}return{visualLines:o,logicalToVisualMap:s,visualToLogicalMap:a}}i(wn,"calculateVisualLayout");function Xf(e,t){let{logicalToVisualMap:n,visualLines:r}=e;if(r.length===0)return[0,0];let[o,s]=t,a=n[o];if(!a||a.length===0)return[0,0];let c;for(let[h,g]of a)if(g<=s)c=[h,g];else break;let[l,u]=c??a[0],d=r[l]??"",p=Math.max(0,s-u),m=Cr(ZP(d,0,p));return[l,m]}i(Xf,"calculateVisualCursorFromLayout");var qf={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"]}},vg={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 bg={dark:qf,minimal:vg};function ce(e="dark"){return bg[e]??qf}i(ce,"getTheme");function e1(){return Object.keys(bg)}i(e1,"getThemeNames");import{jsx as kn,jsxs as nr,Fragment as cN}from"react/jsx-runtime";import{useMemo as bp}from"react";import{jsx as Hb}from"react/jsx-runtime";import{createContext as DO,useContext as ss,useEffect as Fa,useMemo as Fb,useState as BO,useCallback as Wb,useRef as yp}from"react";import{Stream as pO}from"node:stream";import{openSync as mO,writeSync as kb}from"node:fs";import{performance as hO}from"node:perf_hooks";import{tmpdir as gO}from"node:os";import{join as yO}from"node:path";import Rg,{forwardRef as r1,useContext as o1}from"react";import{createContext as t1}from"react";var Aa=t1({isScreenReaderEnabled:!1});import{createContext as n1}from"react";var Jf=n1(void 0);var sv=r1(({children:e,backgroundColor:t,"aria-label":n,"aria-hidden":r,"aria-role":o,"aria-state":s,...a},c)=>{let{isScreenReaderEnabled:l}=o1(Aa),u=n?Rg.createElement("ink-text",null,n):void 0;if(l&&r)return null;let d=Rg.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:o,state:s}},l&&u?u:e);return t?Rg.createElement(Jf.Provider,{value:t},d):d});sv.displayName="Box";var tr=sv;import c1,{useContext as av}from"react";import La from"chalk";import Zo from"chalk";var i1=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,s1=/^ansi256\(\s?(\d+)\s?\)$/;function a1(e){return e in Zo}i(a1,"isNamedColor");function Ir(e,t,n){if(!t)return e;if(a1(t)){let r=Zo;if(n==="foreground")return r[t]?.(e)??e;let o=`bg${t[0].toUpperCase()+t.slice(1)}`;return r[o]?.(e)??e}if(t.startsWith("#"))return n==="foreground"?Zo.hex(t)(e):Zo.bgHex(t)(e);if(t.startsWith("ansi256")){let r=s1.exec(t);if(!r)return e;let o=Number(r[1]);return n==="foreground"?Zo.ansi256(o)(e):Zo.bgAnsi256(o)(e)}if(t.startsWith("rgb")){let r=i1.exec(t);if(!r)return e;let o=Number(r[1]),s=Number(r[2]),a=Number(r[3]);return n==="foreground"?Zo.rgb(o,s,a)(e):Zo.bgRgb(o,s,a)(e)}return e}i(Ir,"colorize");function bn({color:e,backgroundColor:t,dimColor:n=!1,bold:r=!1,italic:o=!1,underline:s=!1,strikethrough:a=!1,inverse:c=!1,wrap:l="wrap",children:u,"aria-label":d,"aria-hidden":p=!1,internal_cursorAnchor:m=!1}){let{isScreenReaderEnabled:h}=av(Aa),g=av(Jf),T=h&&d?d:u;if(T==null)return null;let w=i(C=>{let b=C;n&&(b=La.dim(b)),e&&(b=Ir(b,e,"foreground"));let _=t??g;return _&&(b=Ir(b,_,"background")),r&&(b=La.bold(b)),o&&(b=La.italic(b)),s&&(b=La.underline(b)),a&&(b=La.strikethrough(b)),c&&(b=La.inverse(b)),b},"transform");return h&&p?null:c1.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:l},internal_transform:w,...m?{internal_cursorAnchor:!0}:{}},h&&d?d:u)}i(bn,"Text");import l1,{useLayoutEffect as u1,useMemo as cv,useState as d1}from"react";function kg({items:e,children:t,style:n}){let[r,o]=d1(0),s=cv(()=>e.slice(r),[e,r]);u1(()=>{o(e.length)},[e.length]);let a=s.map((l,u)=>t(l,r+u)),c=cv(()=>({position:"absolute",flexDirection:"column",...n}),[n]);return l1.createElement("ink-box",{internal_static:!0,style:c},a)}i(kg,"Static");import os from"node:process";import vb from"react";import{throttle as Y$}from"es-toolkit/compat";import Rn from"ansi-escapes";import Ro from"is-in-ci";import X$ from"auto-bind";import{onExit as q$}from"signal-exit";import J$ from"patch-console";import{LegacyRoot as Q$,ConcurrentRoot as Z$}from"react-reconciler/constants.js";import eO from"yoga-layout";import tO from"wrap-ansi";import nO from"terminal-size";import f1 from"node:process";var Qf=i(()=>f1.env.DEV==="true","isDev");import F1 from"react-reconciler";import{DefaultEventPriority as H1,NoEventPriority as vv}from"react-reconciler/constants.js";import*as ei from"scheduler";import wv from"yoga-layout";import{createContext as W1}from"react";import k1 from"yoga-layout";import p1 from"widest-line";var lv=new Map,m1=i(e=>{if(e.length===0)return{width:0,height:0};let t=lv.get(e);if(t)return t;let n=p1(e),r=e.split(`
3
3
  `).length,o={width:n,height:r};return lv.set(e,o),o},"measureText"),Eg=m1;import h1 from"wrap-ansi";import g1 from"cli-truncate";var uv={},y1=i((e,t,n)=>{let r=e+String(t)+String(n),o=uv[r];if(o)return o;let s=e;if(n==="wrap"&&(s=h1(e,t,{trim:!1,hard:!0})),n.startsWith("truncate")){let a="end";n==="truncate-middle"&&(a="middle"),n==="truncate-start"&&(a="start"),s=g1(e,t,{position:a})}return uv[r]=s,s},"wrapText"),Zf=y1;var x1=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=63},"isCsiParameterCharacter"),S1=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isCsiIntermediateCharacter"),w1=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=64&&t<=126},"isCsiFinalCharacter"),pv=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isEscapeIntermediateCharacter"),T1=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=126},"isEscapeFinalCharacter"),mv=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=128&&t<=159},"isC1ControlCharacter"),dv=i((e,t)=>{let n=t;for(;n<e.length;){let c=e[n];if(!x1(c))break;n++}let r=e.slice(t,n),o=n;for(;n<e.length;){let c=e[n];if(!S1(c))break;n++}let s=e.slice(o,n),a=e[n];if(!(a===void 0||!w1(a)))return{endIndex:n+1,parameterString:r,intermediateString:s,finalCharacter:a}},"readCsiSequence"),fv=i((e,t,n)=>{for(let r=t;r<e.length;r++){let o=e[r];if(n&&o==="\x07"||o==="\x9C")return r+1;if(o==="\x1B"){let s=e[r+1];if(s==="\x1B"){r++;continue}if(s==="\\")return r+2}}},"findControlStringTerminatorIndex"),C1=i((e,t)=>{let n=t;for(;n<e.length;){let s=e[n];if(!pv(s))break;n++}let r=e.slice(t,n),o=e[n];if(!(o===void 0||!T1(o)))return{endIndex:n+1,intermediateString:r,finalCharacter:o}},"readEscapeSequence"),I1=i(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"),v1=i(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"),Mg=i(e=>{if(e.includes("\x1B"))return!0;for(let t of e)if(mv(t))return!0;return!1},"hasAnsiControlCharacters"),Pa=i((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"),hv=i(e=>{if(!Mg(e))return[{type:"text",value:e}];let t=[],n=0;for(let r=0;r<e.length;){let o=e[r];if(o===void 0)break;if(o==="\x1B"){let a=e[r+1];if(a===void 0)return Pa(t,e,n,r);if(a==="["){let u=dv(e,r+2);if(u===void 0)return Pa(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"csi",value:e.slice(r,u.endIndex),parameterString:u.parameterString,intermediateString:u.intermediateString,finalCharacter:u.finalCharacter}),r=u.endIndex,n=r;continue}let c=I1(a);if(c!==void 0){let u=fv(e,r+2,c.allowBellTerminator);if(u===void 0)return Pa(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:c.type,value:e.slice(r,u)}),r=u,n=r;continue}let l=C1(e,r+1);if(l===void 0){if(pv(a))return Pa(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(o==="\x9B"){let a=dv(e,r+1);if(a===void 0)return Pa(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=v1(o);if(s!==void 0){let a=fv(e,r+1,s.allowBellTerminator);if(a===void 0)return Pa(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(o==="\x9C"){r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"st",value:o}),r++,n=r;continue}if(mv(o)){r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"c1",value:o}),r++,n=r;continue}r++}return n<e.length&&t.push({type:"text",value:e.slice(n)}),t},"tokenizeAnsi");var b1=/^[\d:;]*$/,R1=i(e=>{if(!Mg(e))return e;let t="";for(let n of hv(e)){if(n.type==="text"||n.type==="osc"){t+=n.value;continue}n.type==="csi"&&n.finalCharacter==="m"&&n.intermediateString===""&&b1.test(n.parameterString)&&(t+=n.value)}return t},"sanitizeAnsi"),gv=R1;var yv=i(e=>{let t="";for(let n=0;n<e.childNodes.length;n++){let r=e.childNodes[n];if(r===void 0)continue;let o="";r.nodeName==="#text"?o=r.nodeValue:((r.nodeName==="ink-text"||r.nodeName==="ink-virtual-text")&&(o=yv(r)),o.length>0&&typeof r.internal_transform=="function"&&(o=r.internal_transform(o,n))),t+=o}return gv(t)},"squashTextNodes"),Pl=yv;var ep=i(e=>{let t={nodeName:e,style:{},attributes:{},childNodes:[],parentNode:void 0,yogaNode:e==="ink-virtual-text"?void 0:k1.Node.create(),internal_accessibility:{}};return e==="ink-text"&&t.yogaNode?.setMeasureFunc(E1.bind(null,t)),t},"createNode"),tp=i((e,t)=>{t.parentNode&&$l(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")&&np(e)},"appendChildNode"),_g=i((e,t,n)=>{t.parentNode&&$l(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")&&np(e)},"insertBeforeNode"),$l=i((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")&&np(e)},"removeChildNode"),Ag=i((e,t,n)=>{if(t==="internal_accessibility"){e.internal_accessibility=n;return}e.attributes[t]=n},"setAttribute"),Lg=i((e,t)=>{e.style=t},"setStyle"),xv=i(e=>{let t={nodeName:"#text",nodeValue:e,yogaNode:void 0,parentNode:void 0,style:{}};return Ol(t,e),t},"createTextNode"),E1=i(function(e,t){let n=e.nodeName==="#text"?e.nodeValue:Pl(e),r=Eg(n);if(r.width<=t||r.width>=1&&t>0&&t<1)return r;let o=e.style?.textWrap??"wrap",s=Zf(n,t,o);return Eg(s)},"measureTextNode"),Sv=i(e=>{if(e?.parentNode)return e.yogaNode??Sv(e.parentNode)},"findClosestYogaNode"),np=i(e=>{Sv(e)?.markDirty()},"markNodeAsDirty"),Ol=i((e,t)=>{typeof t!="string"&&(t=String(t)),e.nodeValue=t,np(e)},"setTextNodeValue");import Me from"yoga-layout";var _1=i((e,t)=>{"position"in t&&e.setPositionType(t.position==="absolute"?Me.POSITION_TYPE_ABSOLUTE:Me.POSITION_TYPE_RELATIVE),"top"in t&&e.setPosition(Me.EDGE_TOP,t.top??0),"bottom"in t&&e.setPosition(Me.EDGE_BOTTOM,t.bottom??0),"left"in t&&e.setPosition(Me.EDGE_LEFT,t.left??0),"right"in t&&e.setPosition(Me.EDGE_RIGHT,t.right??0)},"applyPositionStyles"),A1=i((e,t)=>{"margin"in t&&e.setMargin(Me.EDGE_ALL,t.margin??0),"marginX"in t&&e.setMargin(Me.EDGE_HORIZONTAL,t.marginX??0),"marginY"in t&&e.setMargin(Me.EDGE_VERTICAL,t.marginY??0),"marginLeft"in t&&e.setMargin(Me.EDGE_START,t.marginLeft||0),"marginRight"in t&&e.setMargin(Me.EDGE_END,t.marginRight||0),"marginTop"in t&&e.setMargin(Me.EDGE_TOP,t.marginTop||0),"marginBottom"in t&&e.setMargin(Me.EDGE_BOTTOM,t.marginBottom||0)},"applyMarginStyles"),L1=i((e,t)=>{"padding"in t&&e.setPadding(Me.EDGE_ALL,t.padding??0),"paddingX"in t&&e.setPadding(Me.EDGE_HORIZONTAL,t.paddingX??0),"paddingY"in t&&e.setPadding(Me.EDGE_VERTICAL,t.paddingY??0),"paddingLeft"in t&&e.setPadding(Me.EDGE_LEFT,t.paddingLeft||0),"paddingRight"in t&&e.setPadding(Me.EDGE_RIGHT,t.paddingRight||0),"paddingTop"in t&&e.setPadding(Me.EDGE_TOP,t.paddingTop||0),"paddingBottom"in t&&e.setPadding(Me.EDGE_BOTTOM,t.paddingBottom||0)},"applyPaddingStyles"),P1=i((e,t)=>{"flexGrow"in t&&e.setFlexGrow(t.flexGrow??0),"flexShrink"in t&&e.setFlexShrink(typeof t.flexShrink=="number"?t.flexShrink:1),"flexWrap"in t&&(t.flexWrap==="nowrap"&&e.setFlexWrap(Me.WRAP_NO_WRAP),t.flexWrap==="wrap"&&e.setFlexWrap(Me.WRAP_WRAP),t.flexWrap==="wrap-reverse"&&e.setFlexWrap(Me.WRAP_WRAP_REVERSE)),"flexDirection"in t&&(t.flexDirection==="row"&&e.setFlexDirection(Me.FLEX_DIRECTION_ROW),t.flexDirection==="row-reverse"&&e.setFlexDirection(Me.FLEX_DIRECTION_ROW_REVERSE),t.flexDirection==="column"&&e.setFlexDirection(Me.FLEX_DIRECTION_COLUMN),t.flexDirection==="column-reverse"&&e.setFlexDirection(Me.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in t&&(typeof t.flexBasis=="number"?e.setFlexBasis(t.flexBasis):typeof t.flexBasis=="string"?e.setFlexBasisPercent(Number.parseInt(t.flexBasis,10)):e.setFlexBasis(Number.NaN)),"alignItems"in t&&((t.alignItems==="stretch"||!t.alignItems)&&e.setAlignItems(Me.ALIGN_STRETCH),t.alignItems==="flex-start"&&e.setAlignItems(Me.ALIGN_FLEX_START),t.alignItems==="center"&&e.setAlignItems(Me.ALIGN_CENTER),t.alignItems==="flex-end"&&e.setAlignItems(Me.ALIGN_FLEX_END)),"alignSelf"in t&&((t.alignSelf==="auto"||!t.alignSelf)&&e.setAlignSelf(Me.ALIGN_AUTO),t.alignSelf==="flex-start"&&e.setAlignSelf(Me.ALIGN_FLEX_START),t.alignSelf==="center"&&e.setAlignSelf(Me.ALIGN_CENTER),t.alignSelf==="flex-end"&&e.setAlignSelf(Me.ALIGN_FLEX_END)),"justifyContent"in t&&((t.justifyContent==="flex-start"||!t.justifyContent)&&e.setJustifyContent(Me.JUSTIFY_FLEX_START),t.justifyContent==="center"&&e.setJustifyContent(Me.JUSTIFY_CENTER),t.justifyContent==="flex-end"&&e.setJustifyContent(Me.JUSTIFY_FLEX_END),t.justifyContent==="space-between"&&e.setJustifyContent(Me.JUSTIFY_SPACE_BETWEEN),t.justifyContent==="space-around"&&e.setJustifyContent(Me.JUSTIFY_SPACE_AROUND),t.justifyContent==="space-evenly"&&e.setJustifyContent(Me.JUSTIFY_SPACE_EVENLY))},"applyFlexStyles"),$1=i((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"),O1=i((e,t)=>{"display"in t&&e.setDisplay(t.display==="flex"?Me.DISPLAY_FLEX:Me.DISPLAY_NONE)},"applyDisplayStyles"),N1=i((e,t)=>{if("borderStyle"in t){let n=t.borderStyle?1:0;t.borderTop!==!1&&e.setBorder(Me.EDGE_TOP,n),t.borderBottom!==!1&&e.setBorder(Me.EDGE_BOTTOM,n),t.borderLeft!==!1&&e.setBorder(Me.EDGE_LEFT,n),t.borderRight!==!1&&e.setBorder(Me.EDGE_RIGHT,n)}},"applyBorderStyles"),D1=i((e,t)=>{"gap"in t&&e.setGap(Me.GUTTER_ALL,t.gap??0),"columnGap"in t&&e.setGap(Me.GUTTER_COLUMN,t.columnGap??0),"rowGap"in t&&e.setGap(Me.GUTTER_ROW,t.rowGap??0)},"applyGapStyles"),B1=i((e,t={})=>{_1(e,t),A1(e,t),L1(e,t),P1(e,t),$1(e,t),O1(e,t),N1(e,t),D1(e,t)},"styles"),Pg=B1;if(Qf())try{await import("./devtools-CD6KSIHE.js")}catch(e){if(e.code==="ERR_MODULE_NOT_FOUND")console.warn(`
4
4
  The environment variable DEV is set to true, so Ink tried to import \`react-devtools-core\`,
5
5
  but this failed as it was not installed. Debugging with React Devtools requires it.
@@ -139,7 +139,7 @@ $ npm install --save-dev react-devtools-core
139
139
  [Interrupted]`}),r}i(h2,"buildInterruptedPersistenceItems");function eS({thinking:e,response:t,toolCalls:n,toolNames:r}){let o=[],s=e?.trim()??"",a=t?.trim()??"",c=n&&n.length>0?[...n]:[],l=r&&r.length>0?[...r]:[];return s&&o.push({type:"thinking",text:s}),c.length>0?o.push({type:"tool_group",tools:c}):!s&&!a&&l.length>0&&o.push({type:"info",icon:"*",text:`Tools: ${l.join(", ")}`}),a&&o.push({type:"assistant",text:a}),o}i(eS,"buildRoundHistoryItems");var g2=20,y2="Session ended before the tool completed.";function x2(e){switch(e.status){case V.Success:return{status:"success"};case V.Error:return{status:"error"};case V.Cancelled:return{status:"cancelled"};case V.AwaitingApproval:case V.Scheduled:case V.Validating:case V.Executing:return{status:"cancelled",error:y2};default:return e.status}}i(x2,"toPersistedToolStatus");function S2(e){if(!e.id||!e.name)return;let t=x2(e),n=t.status==="success"?yg(e.output):void 0,r=t.status==="error"||t.status==="cancelled"?gg(e.error??yg(e.output)??t.error??""):void 0,o=AI(e.input);return{id:e.id,name:e.name,status:t.status,...o?{input:o}:{},...typeof e.preview=="string"&&e.preview.trim().length>0?{preview:gg(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}:{}}}i(S2,"toPersistedToolCall");function w2(e){let t=e.tools.slice(0,g2).map(S2).filter(r=>!!r),n=tS(e);return t.length>0?{type:"tool_group",tools:t,...n===void 0?{}:{timestamp:n}}:void 0}i(w2,"toPersistedToolGroup");function tS(e){return e.timestamp!==void 0&&Number.isFinite(e.timestamp)&&e.timestamp>=0?e.timestamp:void 0}i(tS,"persistedHistoryTimestamp");function h_(e){if(e.type==="tool_group")return w2(e);let t="text"in e&&typeof e.text=="string"?e.text.trimEnd():"";if(!t)return;if(e.type==="sidecar"){let s=e.delivery==="budget-exhausted"?"budget-exhausted":e.verdict??"revise",a=tS(e);return{type:"sidecar",text:t,icon:s,...a===void 0?{}:{timestamp:a}}}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,o=tS(e);return{type:e.type,text:t,...o===void 0?{}:{timestamp:o},...n?{icon:n}:{},...r?{compactText:r}:{}}}i(h_,"toPersistedUiHistoryItem");var d_=process.env.KODAX_TRANSCRIPT_HARNESS_MARKERS==="1",T2=process.env.KODAX_SCROLL_OVERSCAN==="1"?80:void 0;function f_(e){return zr(e.map(t=>h_(t)).filter(t=>!!t))}i(f_,"serializeUiHistorySnapshot");function C2(e){return e.map(t=>h_(t)).filter(t=>!!t)}i(C2,"serializeCreatableHistoryItems");function Km(e,t){return t.length===0?zr(e):zr([...e,...C2(t)])}i(Km,"appendPersistedUiHistorySnapshot");function $u(e,t,n){console.log((e==="block"?gt.red:gt.yellow)(t)),n.forEach(r=>console.log(gt.dim(r)))}i($u,"logSessionTransitionGuard");var Qx=i(({config:e,sessionId:t,workingDir:n,compactionInfo:r})=>{let o=ce("dark"),s=e.model??Nr(e.provider)??e.provider,a=Vo({provider:e.provider,model:e.model,effort:e.effort,effortOverride:e.effortOverride,thinking:e.thinking,reasoningMode:e.reasoningMode}),c=r?Math.round(r.contextWindow/1e3):0,l=r?cu(r.contextWindow,r.triggerPercent,r.triggerTokens):void 0;return Mn(A,{flexDirection:"column",marginBottom:1,children:[ux.map((u,d)=>fe(R,{color:o.colors.primary,children:u},d)),Mn(A,{children:[fe(R,{color:o.colors.primary,children:" \u258E "}),fe(R,{color:o.colors.primary,children:"AI Coding Agent \xB7 Minimalist & Intelligent"})]}),Mn(A,{children:[fe(R,{color:o.colors.success,children:" \u258E "}),Mn(R,{bold:!0,color:o.colors.text,children:["v",ji]}),fe(R,{dimColor:!0,children:" \xB7 "}),Mn(R,{color:o.colors.success,children:[e.provider,"/",s]}),fe(R,{dimColor:!0,children:` \xB7 effort:${a}`}),fe(R,{dimColor:!0,children:" \xB7 "}),fe(R,{color:o.colors.primary,children:e.agentMode.toUpperCase()}),fe(R,{dimColor:!0,children:" / "}),fe(R,{color:o.colors.accent,children:e.permissionMode})]}),r&&Mn(A,{children:[fe(R,{color:o.colors.accent,children:" \u258E "}),fe(R,{color:o.colors.text,children:`ctx ${c}k \xB7 compaction `}),fe(R,{color:r.enabled?o.colors.success:o.colors.text,children:r.enabled?"on":"off"}),fe(R,{color:o.colors.text,children:` \xB7 ${l}`})]}),Mn(A,{children:[fe(R,{color:o.colors.secondary,children:" \u258E "}),fe(R,{color:o.colors.text,children:"session "}),fe(R,{color:o.colors.primary,children:t}),fe(R,{color:o.colors.text,children:" \xB7 "}),fe(R,{color:o.colors.text,children:n})]})]})},"Banner");function I2(e){let t=e.config.model??Nr(e.config.provider)??e.config.provider,n=Vo({provider:e.config.provider,model:e.config.model,effort:e.config.effort,effortOverride:e.config.effortOverride,thinking:e.config.thinking,reasoningMode:e.config.reasoningMode}),r=e.compactionInfo?Math.round(e.compactionInfo.contextWindow/1e3):0,o=e.compactionInfo?cu(e.compactionInfo.contextWindow,e.compactionInfo.triggerPercent,e.compactionInfo.triggerTokens):void 0,s=" \u258E AI Coding Agent \xB7 Minimalist & Intelligent",a=` \u258E v${ji} \xB7 ${e.config.provider}/${t} \xB7 effort:${n} \xB7 ${e.config.agentMode.toUpperCase()} / ${e.config.permissionMode}`,c=e.compactionInfo?` \u258E ctx ${r}k \xB7 compaction ${e.compactionInfo.enabled?"on":"off"} \xB7 ${o}`:void 0,l=` \u258E session ${e.sessionId} \xB7 ${e.workingDir}`,u=[],d=i(m=>{let h=wn(m.length>0?m.split(`
140
140
  `):[""],Math.max(1,e.terminalWidth),0,0);return h.visualLines.length>0?h.visualLines:[""]},"wrapBannerLine"),p=i((m,h,g)=>{d(h).forEach((T,w)=>{u.push({key:`${m}-${w}`,text:T,...g})})},"pushLineRows");return ux.forEach((m,h)=>{p(`banner-logo-${h}`,m,{color:"primary"})}),p("banner-tagline",s,{color:"primary"}),p("banner-version",a,{color:"text",bold:!0}),c&&p("banner-compaction",c,{color:"text"}),p("banner-session",l,{color:"text"}),u.push({key:"banner-blank",text:" "}),{key:"banner",rows:u}}i(I2,"buildBannerTranscriptSection");function p_(e,t){return t?{...e,sections:[t,...e.sections],rows:[...t.rows,...e.rows]}:e}i(p_,"prependTranscriptSection");var v2=process.env.KODAX_INLINE_LEDGER!=="0";function m_(e,t){process.env.KODAX_INLINE_LEDGER_DEBUG==="1"&&ht({source:"repl:inline-ledger",level:"debug",message:`${e}; rebuilding on next change.`,...t!==void 0?{detail:t}:{}})}i(m_,"reportInlineLedgerFailure");var b2=i(({options:e,config:t,context:n,startupRuntimeInfo:r,storage:o,autoModeSettings:s,rendererMode:a,fullscreenPolicy:c,onExit:l,compactionInfo:u,autoModeBootstrap:d,setAutoModeAskUser:p,setAutoModeEngineChange:m,setCurrentConfigRef:h,teamModeHandle:g})=>{let{exit:T}=Ur(),{stdout:w}=jr(),C=w.rows??24,{stdin:b,setRawMode:_,isRawModeSupported:M}=Vl(),E=Va(),{history:v}=nc(),W=o_.useRef(null),O=o_.useRef(PC()),{addHistoryItem:F,addHistoryItems:Y,clearHistory:re,setSessionId:q}=rc(),y=xe(v),L=xe(f_(v));Be(()=>{y.current=v,L.current=f_(v)},[v]),Be(()=>{Jk()},[]),Be(()=>{YI()},[]);let ee=w.columns||80,j=sc(),ae=xe(j);Be(()=>{ae.current=j},[j]);let{startStreaming:de,stopStreaming:me,abort:be,startThinking:pe,appendThinkingChars:Se,appendThinkingContent:Pe,stopThinking:Q,clearThinkingContent:se,setCurrentTool:Te,appendToolInputChars:tt,appendToolInputContent:Ct,clearToolInputContent:Ke,clearResponse:Ge,appendResponse:he,getSignal:ve,getFullResponse:G,getThinkingContent:Fe,startNewIteration:xt,clearIterationHistory:Ut,startCompacting:Ye,stopCompacting:_t,setMaxIter:Jt,addPendingInput:Kn,removeLastPendingInput:pn,shiftPendingInput:P,consumePendingInputs:U}=ac(),[H,Z]=Ue(!1),[N,_e]=Ue(t),Ie=ye(()=>Ui({provider:N.provider,model:N.model,effort:N.effort,effortOverride:N.effortOverride,permissionMode:N.permissionMode,planModeEffort:N.planModeEffort,thinking:N.thinking,reasoningMode:N.reasoningMode}),[N.provider,N.model,N.effort,N.effortOverride,N.permissionMode,N.planModeEffort,N.thinking,N.reasoningMode]),Re=Ie.configuredEffort,At=Ie.runtimeEffort,Gt=ye(()=>({...N,effort:Re}),[N,Re]),mn=ye(()=>OM(u,{provider:N.provider,model:N.model},Ni),[u,N.provider,N.model]),[to,Dt]=Ue(!0),[lr,xw]=Ue(!0),[Zu,ed]=Ue(0),[gh,Nc]=Ue(!1),[Sw,ww]=Ue(void 0),[Tw,yh]=Ue([]),[Cw,ur]=Ue(null),Dc=xe(!1),tP=ye(()=>qo(),[]),Bc=xe(null),td=xe(null),xh=xe(Promise.resolve()),nd=xe(null),bi=xe({requested:!1,uiHistoryOverride:void 0}),_s=xe(null),Fc=xe(!1),Hc=xe(null);Be(()=>{let f=e.learning;if(!f)return;let x=!0,S,I=i(async()=>{let D=await f.getSnapshot();return x&&ww(B=>B!==void 0&&B.revision>D.revision?B:D),D},"refresh"),k=i(D=>{ht({source:"repl:learning",level:"warn",message:"Failed to refresh the Learning Center snapshot.",detail:D instanceof Error?D.message:String(D)})},"reportRefreshFailure"),$=i(D=>{if(x){if(D.kind==="ready"||D.kind==="activated"||D.kind==="attention"){let B=D.kind==="ready"?"is ready for review":D.kind==="activated"?"became active":"requires attention";yh(te=>[{id:D.eventId,text:`A learned ${D.carrier} ${B}: ${D.displayName} [/learn]`,tone:D.kind==="activated"?"accent":"warning"},...te.filter(oe=>oe.id!==D.eventId)].slice(0,2))}I().catch(k)}},"onEvent");return I().then(D=>{if(!x)return;let B=Af(D);if(B){let te=D.attention>0||D.ready>0?"warning":"accent";yh(oe=>[{id:"learning-recovery",text:B,tone:te},...oe.filter(je=>je.id!=="learning-recovery")].slice(0,2))}S=f.subscribe($,{afterRevision:D.revision})}).catch(k),()=>{x=!1,S?.close()}},[e.learning]);let[Wc,rd]=Ue(!0),[Sh,od]=Ue(""),[ze,kr]=Ue(()=>rE(tP,{rendererMode:a})),[Vt,wh]=Ue(!1),[nP,rP]=Ue(0),{scrollRef:oP,scrollOffset:dr,sticky:Th,setScrollOffset:iP,handleScrollTopChange:sP,handleStickyChange:aP,scrollTo:id,scrollBy:sd,scrollToBottom:ad}=TM(),Ch=xe(null),cd=xe(null),jc=xe([]),ld=xe([]),As=xe(null),fr=xe(null),Iw=xe({time:0,row:-1,column:-1,count:0}),[ud,Ih]=Ue(void 0),[no,vh]=Ue(void 0),[Ls,vw]=Ue(void 0),[An,cP]=Ue(()=>new Set),[bh,bw]=Ue(null),[an,Rw]=Ue(null),[J,dd]=Ue(null),[kw,Ps]=Ue(null),[Rh,Ew]=Ue(null),Uc=xe(null),Gc=X(f=>{Uc.current=f,Ew(f)},[]),Vc=X(f=>{let x=f(Uc.current);Uc.current=x,Ew(x)},[]),Kc=X((f,x)=>{let S=Uc.current;return S?.status!=="running"||!LR(f,S.runId)?!1:(Gc({...S,message:x}),!0)},[Gc]),kh=X(f=>{if(f.status==="running"){Gc({runId:f.runId,workflow:f.workflow,status:f.status,...f.phase!==void 0?{phase:f.phase}:{},...f.phaseIndex!==void 0?{phaseIndex:f.phaseIndex}:{},...f.phaseTotal!==void 0?{phaseTotal:f.phaseTotal}:{},...f.startedAt!==void 0?{startedAt:f.startedAt}:{},...f.elapsedMs!==void 0?{elapsedMs:f.elapsedMs}:{},activeAgents:f.activeAgents,totalSpawned:f.totalSpawned,...f.plannedAgents!==void 0?{plannedAgents:f.plannedAgents}:{},...f.agentCap!==void 0?{agentCap:f.agentCap}:{},...f.tokenBudgetSpent!==void 0?{tokenBudgetSpent:f.tokenBudgetSpent}:{},...f.tokenBudgetTotal!==void 0?{tokenBudgetTotal:f.tokenBudgetTotal}:{},completedAgents:f.completedAgents,failedAgents:f.failedAgents,stoppedAgents:f.stoppedAgents,...f.message!==void 0?{message:f.message}:{},...f.locale!==void 0?{locale:f.locale}:{}});return}Vc(x=>x?.runId===f.runId?null:x)},[Gc,Vc]),lP=X(f=>{let x=f.type==="workflow_updated"?f.message:void 0,S=kl(f.snapshot.goal,f.snapshot.workflowName,f.snapshot.displayName,f.snapshot.latestMessage,x);kh(FI(f.snapshot,x===void 0?{locale:S}:{locale:S,message:x}))},[kh]),[fd,ro]=Ue([]),$s=ye(()=>{for(let f of fd)if(f.status==="in_progress"){if(f.activeForm&&f.activeForm.length>0)return f.activeForm;if(f.subject&&f.subject.length>0)return f.subject}},[fd]),[jG,zc]=Ue([]),[Yc,uP]=Ue([]),[pd,kt]=Ue(void 0),[Ri,Xc]=Ue(void 0),mt=xe(null),md=xe(null),ki=xe([]),Os=xe([]),hn=xe([]),Eh=xe(new Set),at=xe({}),It=xe({activeToolGroupTools:[]}),Mw=xe(0),hd=xe({itemId:void 0,kind:"thinking",pendingText:""}),pr=xe(null),dP=80,fP=20,pP=xe(null),gd=ye(()=>[...v,...Yc],[v,Yc]),Mh=ye(()=>{let f=U0(gd,pP);return f===0?gd:gd.slice(f)},[gd]),yd=ye(()=>G0(Mh,fP),[Mh]),Ns=Mh,cn=xe(null),Er=xe(null),Mr=xe([]),ln=xe([]),[Ei,mP]=Ue([]),oo=xe([]),[_h,hP]=Ue([]),qc=xe([]),zn=X(f=>{oo.current=f,mP(f)},[]),Ds=X(f=>{qc.current=f,hP(f)},[]),Ah=X(()=>{Ds([])},[Ds]),_w=X(f=>{if(!gm(f))return!1;let x=Xy(f),S=qc.current.filter(I=>I.id!==x);return S.length===qc.current.length||Ds(S),!0},[Ds]),Yn=X((f,x,S,I)=>{if(!gm(f))return!1;let k=Xy(f),$=qc.current.find(Ve=>Ve.id===k);if(I?.skipIfExisting&&$?.kind===x||DR($?.kind,x))return!0;let D=I?.append&&$?.kind===x?`${$.detail}${S}`:S||$?.detail||"running",B={id:k,label:$R(f),source:OR(f),status:"running",kind:x,detail:Yy(D),startedAt:$?.startedAt??Date.now()},te=qc.current,oe=te.findIndex(Ve=>Ve.id===k),je=oe>=0?te.map((Ve,nn)=>nn===oe?B:Ve):[...te,B].slice(0,l2);return Ds(je),!0},[Ds]),Aw=X(f=>{ki.current=f,zc(f)},[]),Bs=X(f=>{hn.current=f,uP(f)},[]),Lw=X(f=>{let x=f([...hn.current]);Bs(x)},[Bs]),Pw=X(f=>{f.length!==0&&Bs([...hn.current,...f])},[Bs]),xd=X(f=>{let x=It.current,S=x.activeToolGroupTools.some(I=>I.status===V.Executing);It.current={...f?.clearOwner?{}:{workerId:x.workerId,workerTitle:x.workerTitle},...S?{activeToolGroupItemId:x.activeToolGroupItemId,activeToolGroupTools:x.activeToolGroupTools}:{activeToolGroupTools:[]}},f?.clearOwner&&(at.current={})},[]),Sd=X(f=>{for(let x of f)x.type==="user"&&typeof x.id=="string"&&Eh.current.add(x.id)},[]),Jc=X(()=>{hd.current={itemId:void 0,kind:"thinking",pendingText:""},pr.current&&(clearTimeout(pr.current),pr.current=null);let f=Wy(hn.current,Eh.current);if(f.length>0){for(let x of f)Eh.current.add(x.id);_s.current?.(f.map(x=>yi(x)))}xd({clearOwner:!0}),Bs([])},[xd,Bs]),wd=X(f=>(Mw.current+=1,`managed-foreground-${f}-${Mw.current}`),[]),Qt=X(f=>(Pw([f]),f.id),[Pw]),Ln=X((f,x)=>{at.current.workerId?Qt({id:`${x}-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:f.type,text:f.text,...f.icon?{icon:f.icon}:{},...f.tightSpacing?{tightSpacing:!0}:{},timestamp:Date.now()}):F(f)},[F,Qt]),$w=X((f,x)=>{let S=Date.now();at.current.workerId?Qt({id:`${x}-${S}-${Math.random().toString(36).slice(2,7)}`,type:"sidecar",text:f.text,...f.verdict?{verdict:f.verdict}:{},...f.delivery?{delivery:f.delivery}:{},timestamp:S}):F(f)},[F,Qt]),io=X((f,x)=>{if(!f)return;let S;return Lw(I=>I.map(k=>k.id!==f?k:(S=x(k),S))),S},[Lw]),Fs=X((f,x)=>{let S=It.current;if(S.activeKind===f){if(f==="thinking"&&S.activeThinkingItemId)return S.activeThinkingItemId;if(f==="assistant"&&S.activeAssistantItemId)return S.activeAssistantItemId;if(f==="tool_group"&&S.activeToolGroupItemId)return S.activeToolGroupItemId}let I=Date.now(),k=x?.trim()?`[${x.trim()}] `:"",$=S.activeToolGroupTools.some(B=>B.status===V.Executing);if(f==="thinking"){let B=Qt({id:wd("thinking"),type:"thinking",timestamp:I,text:k});return It.current={...It.current,activeKind:"thinking",activeThinkingItemId:B,currentTurnThinkingItemId:B,activeAssistantItemId:void 0,...$?{}:{activeToolGroupItemId:void 0,activeToolGroupTools:[]}},B}if(f==="assistant"){let B=Qt({id:wd("assistant"),type:"assistant",timestamp:I,text:k});return It.current={...It.current,activeKind:"assistant",activeThinkingItemId:void 0,activeAssistantItemId:B,...$?{}:{activeToolGroupItemId:void 0,activeToolGroupTools:[]}},B}let D=Qt({id:wd("tool_group"),type:"tool_group",timestamp:I,tools:[]});return It.current={...It.current,activeKind:"tool_group",activeThinkingItemId:void 0,activeAssistantItemId:void 0,activeToolGroupItemId:D,activeToolGroupTools:[]},D},[Qt,wd]),mr=X(()=>{pr.current&&(clearTimeout(pr.current),pr.current=null);let f=hd.current;if(!f.pendingText||!f.itemId)return;let x=f.pendingText,S=f.itemId,I=f.kind;f.pendingText="",io(S,k=>k.type!==I?k:{...k,text:`${k.text}${x}`})},[io]),Ow=X(()=>{pr.current||(pr.current=setTimeout(mr,dP))},[mr]),Td=X((f,x)=>{if(!x)return;let S=It.current;if(f==="assistant"&&!m2(x,S.activeKind==="assistant"&&!!S.activeAssistantItemId))return;let I=S.workerTitle,k=Fs(f,I),$=hd.current;$.itemId===k&&$.kind===f?$.pendingText+=x:(mr(),$.itemId=k,$.kind=f,$.pendingText=x),Ow()},[Fs,mr,Ow]),Nw=X(f=>{let x=f.trim();if(!x)return;let S=hd.current;S.kind==="thinking"&&S.pendingText&&(S.pendingText="",pr.current&&(clearTimeout(pr.current),pr.current=null));let I=It.current.workerTitle?.trim(),k=I?`[${I}] ${x}`:x,$=It.current.currentTurnThinkingItemId;if($){io($,B=>B.type==="thinking"?{...B,text:k}:B);return}let D=Fs("thinking",It.current.workerTitle);io(D,B=>B.type==="thinking"?{...B,text:k}:B)},[Fs,io]),hr=X(f=>{mr();let x=It.current;if(x.activeToolGroupItemId&&x.activeToolGroupTools.some(D=>D.id===f.id)){let D=x.activeToolGroupTools.map(te=>te.id===f.id?f:te),B=D.every(te=>te.status===V.Success||te.status===V.Error||te.status===V.Cancelled);It.current={...x,...B?{activeToolGroupItemId:void 0,activeToolGroupTools:[]}:{activeToolGroupTools:D}},io(x.activeToolGroupItemId,te=>te.type==="tool_group"?{...te,tools:D}:te);return}let S=hn.current;for(let D=S.length-1;D>=0;D-=1){let B=S[D];if(B.type!=="tool_group"||!B.tools.some(oe=>oe.id===f.id))continue;let te=B.tools.map(oe=>oe.id===f.id?f:oe);io(B.id,oe=>oe.type==="tool_group"?{...oe,tools:te}:oe);return}let I=Fs("tool_group",x.workerTitle),$=x.activeKind==="tool_group"&&x.activeToolGroupItemId===I?x.activeToolGroupTools.some(D=>D.id===f.id)?x.activeToolGroupTools.map(D=>D.id===f.id?f:D):[...x.activeToolGroupTools,f]:[f];It.current={...It.current,activeKind:"tool_group",activeToolGroupItemId:I,activeToolGroupTools:$},io(I,D=>D.type==="tool_group"?{...D,tools:$}:D)},[Fs,io,mr]),gP=X(f=>{mr();let x=It.current,S=x.activeToolGroupTools.some($=>$.status===V.Executing),I=oo.current.filter($=>$.status===V.Executing),k=new Set(I.map($=>$.id));It.current={workerId:f?.workerId,workerTitle:f?.workerTitle,...S?{activeToolGroupItemId:x.activeToolGroupItemId,activeToolGroupTools:x.activeToolGroupTools}:{activeToolGroupTools:[]}},at.current={workerId:f?.workerId,workerTitle:f?.workerTitle},Mr.current=[],ln.current=ln.current.filter($=>k.has($.id)),zn(I),Ke(),Te(void 0),Q(),se(),Ge(),kt(void 0)},[mr,Ke,Ge,se,Te,zn,kt,Q]),yP=X(f=>{if(f.length===0)return[];let x=[],S=[...ki.current],I=[...Os.current];for(let k of f){let $=k.item,D=S.findIndex(B=>B.id===$.id);if(D>=0){let B=S[D];Em(B,$)||(S=S.map((te,oe)=>oe===D?{...$,timestamp:B.timestamp}:te))}else S=[...S,$].slice(-12),x.push($);if(k.persistToHistory){let B=I.findIndex(te=>te.id===$.id);if(B>=0){let te=I[B];Em(te,$)||(I=I.map((oe,je)=>je===B?{...$,timestamp:te.timestamp}:oe))}else I=[...I,$].slice(-48)}}return Os.current=I,(x.length>0||S.some((k,$)=>!Em(k,ki.current[$]??k)||k.id!==ki.current[$]?.id))&&Aw(S),x},[Aw]),Cd=X(f=>{if(ln.current.findIndex(S=>S.id===f.id)===-1){ln.current=[...ln.current,f];return}ln.current=ln.current.map(S=>S.id===f.id?f:S)},[]),No=X(f=>{let x=oo.current.filter(S=>S.status===V.Executing);if(x.length!==0){if(f){let S=ax(f);for(let I=x.length-1;I>=0;I-=1){let k=x[I];if(ax(k.name)===S)return k}}return x[x.length-1]}},[]),Hs=X(()=>{let f=No();Te(f?sx(f.name):void 0)},[No,Te]),Dw=X(f=>(Cd(f),zn([...oo.current.filter(x=>x.id!==f.id),f]),Hs(),f),[zn,Hs,Cd]),Ws=X((f,x)=>{let S=oo.current.find(k=>k.id===f);if(!S)return null;let I=x(S);return Cd(I),zn(oo.current.map(k=>k.id===f?I:k)),Hs(),I},[zn,Hs,Cd]),Bw=X((f,x,S)=>{if(f){let k=Ws(f,S);if(k)return k}let I=No(x);return I?Ws(I.id,S):null},[No,Ws]),Id=X((f,x,S,I,k)=>{let $=f??No(k)?.id;return $?Ws($,D=>({...D,status:x,endTime:Date.now(),error:S,output:I})):null},[No,Ws]),Qc=X((f,x)=>{let S=Date.now(),I=new Map;for(let k of oo.current){if(k.status!==V.Executing)continue;let $=x(k);I.set(k.id,{...k,status:f,endTime:S,...$})}return I.size===0?[]:(ln.current=ln.current.map(k=>I.get(k.id)??k),zn(oo.current.map(k=>I.get(k.id)??k)),Hs(),[...I.values()])},[zn,Hs]),Do=X(()=>{zn([])},[zn]),{showHelp:Fw,toggleHelp:xP,setShowHelp:Hw}=px(),SP=X(f=>{od(f),rd(f.trim().length===0)},[]),vd=si(),Ww=ye(()=>vd?vd.state.visible&&vd.suggestions.length>0:!1,[vd]),[Zc,jw]=Ue(!1),Uw=xe(Zu),Mi=X(()=>{cn.current&&(clearTimeout(cn.current),cn.current=null),Er.current&&(clearTimeout(Er.current),Er.current=null)},[]);Be(()=>{Ww&&!Zc&&jw(!0)},[Ww,Zc]),Be(()=>{Zu!==Uw.current&&(Uw.current=Zu,Zc&&jw(!1))},[Zu,Zc]);let[Xe,el]=Ue(null),so=xe(null),wP=xe(bk()),[He,gr]=Ue(null),bd=xe(null),Rd=xe(He);Rd.current=He;let[gn,js]=Ue(""),[kd,yr]=Ue(0),Lh=xe(""),tl=xe(void 0),Gw=ye(()=>{if(!mn)return;let{contextWindow:f,triggerPercent:x,triggerTokens:S,reservedResponseTokens:I}=mn;return{currentTokens:Cw??n.contextTokenSnapshot?.currentTokens??Di(n.messages),contextWindow:f,triggerPercent:x,triggerTokens:S,reservedResponseTokens:I}},[n.messages,n.contextTokenSnapshot,mn,Cw]),nl=ye(()=>{if(!Xe)return;let f=new Set(Xe.runtimeGrantSuggestions?.map(I=>I.kind)??[]);if(f.has("persistent"))return ne("confirm.instruction.runtime_persistent");if(f.has("session"))return ne("confirm.instruction.runtime_session");if(Xe.runtimeGrantSuggestions!==void 0)return ne("confirm.instruction.basic");let x=!!Xe.input._alwaysConfirm,S=N.permissionMode==="accept-edits"&&!x;return x?ne("confirm.instruction.protected"):S?ne("confirm.instruction.always"):ne("confirm.instruction.basic")},[Xe,N.permissionMode]),St=ze.searchMode==="history",ue=ze.surface==="transcript",_r=!!Xe||!!He||St,Bt=ue?Vt?P0:1e3:12,Bo=e_(c,ze.surface),Vw=Bo.shellMode,Ph=Bo.usesAlternateScreenShell,_i=Bo.usesRendererViewportShell,Ed=Bo.usesRendererMouseTracking,Kw=Bo.usesManagedMouseClicks,zw=Bo.usesManagedMouseWheel,$h=Bo.usesManagedSelection,Ft=t_(c,ze.surface,pE(ze)),Yw=mE(ze),Md=Zc&&!ue,Xw=X(()=>Kx({items:Ns,managedLiveEvents:[],isLoading:H,isThinking:j.isThinking,thinkingCharCount:j.thinkingCharCount,thinkingContent:j.thinkingContent,currentResponse:j.currentResponse,currentTool:j.currentTool,activeToolCalls:Ei,toolInputCharCount:j.toolInputCharCount,toolInputContent:j.toolInputContent,lastLiveActivityLabel:pd,workStripText:Ri,iterationHistory:j.iterationHistory,currentIteration:j.currentIteration,isCompacting:j.isCompacting}),[Ns,H,j.isThinking,j.thinkingCharCount,j.thinkingContent,j.currentResponse,j.currentTool,Ei,j.toolInputCharCount,j.toolInputContent,pd,Ri,j.iterationHistory,j.currentIteration,j.isCompacting]);Be(()=>{if(ue){bw(f=>f??Xw());return}bw(null)},[Xw,ue]);let rl=ye(()=>qM({isTranscriptMode:ue,snapshot:bh,currentItemsLength:Ns.length,currentManagedLiveEventsLength:0,isLoading:H,currentResponse:j.currentResponse,thinkingContent:j.thinkingContent,activeToolCallsLength:Ei.length}),[Ei.length,H,ue,Ns.length,j.currentResponse,j.thinkingContent,bh]),Zt=ue?bh:null,Oh=ye(()=>QM(yd),[yd]),TP=ye(()=>!!(Yc.length>0||u_(J)),[Yc.length,J]),_d=Yc.length>0,un=c.streamingPreview&&TP,Us=ye(()=>JM({surface:"transcript",snapshot:Zt,promptItems:yd,transcriptItems:Ns}),[Zt,yd,Ns]),ol=ye(()=>{if(!ue||Vt||Us.length<=_y)return Us;let f=Us.slice(-_y),x=Us.length-f.length;return[z0(x,f[0]?.timestamp),...f]},[Us,ue,Vt]),wt=Zt?.isLoading??H,ut=c.streamingPreview?{isThinking:un?!1:j.isThinking,thinkingCharCount:un?0:j.thinkingCharCount,thinkingContent:un?"":j.thinkingContent,currentResponse:un?"":j.currentResponse,currentTool:un?void 0:j.currentTool,activeToolCalls:un?[]:Ei,toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:un?pd:void 0,iterationHistory:[],currentIteration:j.currentIteration,isCompacting:!1}:{isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentResponse:"",currentTool:void 0,activeToolCalls:[],toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:void 0,iterationHistory:[],currentIteration:j.currentIteration,isCompacting:!1},ke=c.streamingPreview?{isThinking:un?!1:Zt?.isThinking??j.isThinking,thinkingCharCount:un?0:Zt?.thinkingCharCount??j.thinkingCharCount,thinkingContent:un?"":Zt?.thinkingContent??j.thinkingContent,currentResponse:un?"":Zt?.currentResponse??j.currentResponse,currentTool:un?void 0:Zt?.currentTool??j.currentTool,activeToolCalls:un?[]:Zt?.activeToolCalls??Ei,toolInputCharCount:un?0:Zt?.toolInputCharCount??j.toolInputCharCount,toolInputContent:un?"":Zt?.toolInputContent??j.toolInputContent,managedLiveEvents:[],lastLiveActivityLabel:Zt?.lastLiveActivityLabel??pd,iterationHistory:un?[]:Zt?.iterationHistory??j.iterationHistory,currentIteration:Zt?.currentIteration??j.currentIteration,isCompacting:Zt?.isCompacting??j.isCompacting}:{isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentResponse:"",currentTool:void 0,activeToolCalls:[],toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:void 0,iterationHistory:[],currentIteration:Zt?.currentIteration??j.currentIteration,isCompacting:!1},ao=ue?no:ud,qw=!!ud,Jw=X(()=>Kx({items:Oh,managedLiveEvents:[],isLoading:H,isThinking:ut.isThinking,thinkingCharCount:ut.thinkingCharCount,thinkingContent:ut.thinkingContent,currentResponse:ut.currentResponse,currentTool:ut.currentTool,activeToolCalls:ut.activeToolCalls,toolInputCharCount:ut.toolInputCharCount,toolInputContent:ut.toolInputContent,lastLiveActivityLabel:ut.lastLiveActivityLabel,iterationHistory:ut.iterationHistory,currentIteration:ut.currentIteration,isCompacting:ut.isCompacting}),[H,Oh,ut.activeToolCalls,ut.currentIteration,ut.currentResponse,ut.currentTool,ut.isCompacting,ut.isThinking,ut.iterationHistory,ut.lastLiveActivityLabel,ut.thinkingCharCount,ut.thinkingContent,ut.toolInputCharCount,ut.toolInputContent]);Be(()=>{if(!qw){Rw(null);return}Rw(f=>f??Jw())},[Jw,qw]);let il=an?.items??Oh,yn=an?.isLoading??H,De=an?{isThinking:an.isThinking,thinkingCharCount:an.thinkingCharCount,thinkingContent:an.thinkingContent,currentResponse:an.currentResponse,currentTool:an.currentTool,activeToolCalls:an.activeToolCalls,toolInputCharCount:an.toolInputCharCount,toolInputContent:an.toolInputContent,managedLiveEvents:an.managedLiveEvents,lastLiveActivityLabel:an.lastLiveActivityLabel,iterationHistory:an.iterationHistory,currentIteration:an.currentIteration,isCompacting:an.isCompacting}:ut,en=ue?ol:il,Ar=ue?wt:yn,Ze=ue?ke:De,Qw=yn&&!j.currentResponse&&!j.thinkingContent&&Ei.length===0,CP=tu(Rh?.status==="running"),Kt=ye(()=>WI(Rh,Date.now()),[Rh,CP]),Zw=Kt.shouldRender?`Workflow ${Kt.workflow}${Kt.phase?` - ${Kt.phase}`:""}`:void 0,co=ye(()=>Ck(fd,{now:Date.now(),lastAllCompletedAt:null}),[fd]),eT=C<=20?1:zy,IP=tu(_h.length>0),Nh=ye(()=>BR(_h,eT,Date.now()),[eT,_h,IP]),tT=PR({isTranscriptMode:ue,isLoading:H,hasWorkflowLiveSurface:Kt.shouldRender,childActivityVisible:Nh.shouldRender}),Gs=ye(()=>{if(!ue)return[];let f=[];return f.push(...HI(Kt)),H&&co.shouldRender&&f.push(...Sk(co)),f},[ue,H,co,Kt]),Ai=ye(()=>({config:Gt,sessionId:n.sessionId,workingDir:e.context?.executionCwd||e.context?.gitRoot||n.runtimeInfo?.executionCwd||n.gitRoot||process.cwd(),terminalWidth:ee,compactionInfo:mn??void 0}),[mn,n.sessionId,Gt,n.runtimeInfo?.executionCwd,e.context?.gitRoot,e.context?.executionCwd,ee]),Fo=ye(()=>c.enabled&&lr?I2(Ai):void 0,[Ai,c.enabled,lr]),nT=xe(Sc),rT=xe(!1),Dh=xe(!1),Vs=oM({enabled:v2,useRendererViewportShell:_i,isTranscriptMode:ue,hasCommitHandle:typeof is(w)?.commitInlineScrollback=="function"}),sl=ye(()=>Up({items:il,viewportWidth:ee,maxLines:Bt,showDetailedTools:!1,showAllContent:!1,windowed:!1}),[il,ee,Bt]),Li=ye(()=>{let f=Gp({activeItems:sl.activeItems,viewportWidth:ee,isLoading:yn,maxLines:Bt,isThinking:De.isThinking,thinkingCharCount:De.thinkingCharCount,thinkingContent:De.thinkingContent,streamingResponse:De.currentResponse,currentTool:De.currentTool,activeToolCalls:De.activeToolCalls,toolInputCharCount:De.toolInputCharCount,toolInputContent:De.toolInputContent,iterationHistory:De.iterationHistory,currentIteration:De.currentIteration,isCompacting:De.isCompacting,managedAgentMode:N.agentMode,managedPhase:yn?J?.phase:void 0,managedHarnessProfile:yn?J?.harnessProfile:void 0,managedWorkerTitle:yn?J?.activeWorkerTitle:void 0,managedRound:yn?J?.currentRound:void 0,managedMaxRounds:yn?J?.maxRounds:void 0,managedGlobalWorkBudget:yn?J?.globalWorkBudget:void 0,managedBudgetUsage:yn?J?.budgetUsage:void 0,managedBudgetApprovalRequired:yn?J?.budgetApprovalRequired:void 0,lastLiveActivityLabel:De.lastLiveActivityLabel,currentTodoActiveForm:$s,showFullThinking:!1,showDetailedTools:!1,showAllContent:!1,showLiveProgressRows:Qw}),x=B0(sl,f,Fo);return aM(x,Vs)},[N.agentMode,Vs,yn,De.activeToolCalls,De.currentIteration,De.currentTool,De.isCompacting,De.currentResponse,De.isThinking,De.iterationHistory,De.lastLiveActivityLabel,De.thinkingCharCount,De.thinkingContent,De.toolInputCharCount,De.toolInputContent,J?.activeWorkerTitle,J?.budgetApprovalRequired,J?.budgetUsage,J?.currentRound,J?.globalWorkBudget,J?.harnessProfile,J?.maxRounds,J?.phase,Qw,sl,Fo,ee,Bt,$s]),Bh=ye(()=>Up({items:ol,viewportWidth:ee,maxLines:Bt,showDetailedTools:Vt,showAllContent:Vt,showFullThinking:!0,windowed:!1}),[ol,ee,Bt,Vt]),Ad=ye(()=>{if(!ue||_i)return;let f=Gp({activeItems:Bh.activeItems,viewportWidth:ee,isLoading:wt,maxLines:Bt,isThinking:ke.isThinking,thinkingCharCount:ke.thinkingCharCount,thinkingContent:ke.thinkingContent,streamingResponse:ke.currentResponse,currentTool:ke.currentTool,activeToolCalls:ke.activeToolCalls,toolInputCharCount:ke.toolInputCharCount,toolInputContent:ke.toolInputContent,iterationHistory:ke.iterationHistory,currentIteration:ke.currentIteration,isCompacting:ke.isCompacting,managedAgentMode:N.agentMode,managedPhase:wt?J?.phase:void 0,managedHarnessProfile:wt?J?.harnessProfile:void 0,managedWorkerTitle:wt?J?.activeWorkerTitle:void 0,managedRound:wt?J?.currentRound:void 0,managedMaxRounds:wt?J?.maxRounds:void 0,managedGlobalWorkBudget:wt?J?.globalWorkBudget:void 0,managedBudgetUsage:wt?J?.budgetUsage:void 0,managedBudgetApprovalRequired:wt?J?.budgetApprovalRequired:void 0,lastLiveActivityLabel:ke.lastLiveActivityLabel,liveStatusLines:Gs,currentTodoActiveForm:$s,showFullThinking:!0,showDetailedTools:Vt,showAllContent:Vt,showLiveProgressRows:!_d,expandedItemKeys:An});return p_(My(Vp(Bh,f)),Fo)},[N.agentMode,An,_d,Fo,ue,J?.activeWorkerTitle,J?.budgetApprovalRequired,J?.budgetUsage,J?.currentRound,J?.globalWorkBudget,J?.harnessProfile,J?.maxRounds,J?.phase,ee,wt,Bt,Bh,ke.activeToolCalls,ke.currentIteration,ke.currentResponse,ke.currentTool,ke.isCompacting,ke.isThinking,ke.iterationHistory,ke.lastLiveActivityLabel,ke.thinkingCharCount,ke.thinkingContent,ke.toolInputCharCount,ke.toolInputContent,Vt,Gs,_i,$s]),al=ye(()=>{if(Ft)return ue?p_(Kp({items:en,viewportWidth:ee,isLoading:Ar,maxLines:Bt,isThinking:Ze.isThinking,thinkingCharCount:Ze.thinkingCharCount,thinkingContent:Ze.thinkingContent,streamingResponse:Ze.currentResponse,currentTool:Ze.currentTool,activeToolCalls:Ze.activeToolCalls,toolInputCharCount:Ze.toolInputCharCount,toolInputContent:Ze.toolInputContent,iterationHistory:Ze.iterationHistory,currentIteration:Ze.currentIteration,isCompacting:Ze.isCompacting,managedAgentMode:N.agentMode,managedPhase:Ar?J?.phase:void 0,managedHarnessProfile:Ar?J?.harnessProfile:void 0,managedWorkerTitle:Ar?J?.activeWorkerTitle:void 0,managedRound:Ar?J?.currentRound:void 0,managedMaxRounds:Ar?J?.maxRounds:void 0,managedGlobalWorkBudget:Ar?J?.globalWorkBudget:void 0,managedBudgetUsage:Ar?J?.budgetUsage:void 0,managedBudgetApprovalRequired:Ar?J?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Ze.lastLiveActivityLabel,liveStatusLines:Gs,currentTodoActiveForm:$s,windowed:!0,showFullThinking:ue,showDetailedTools:Vt,showAllContent:Vt,showLiveProgressRows:ue&&!_d,expandedItemKeys:ue?An:void 0}),Fo):My(Li)},[N.agentMode,Ar,en,_d,Fo,Ze.activeToolCalls,Ze.currentIteration,Ze.currentResponse,Ze.currentTool,Ze.isCompacting,Ze.isThinking,Ze.iterationHistory,Ze.lastLiveActivityLabel,Ze.thinkingCharCount,Ze.thinkingContent,Ze.toolInputCharCount,Ze.toolInputContent,An,ue,J?.activeWorkerTitle,J?.budgetApprovalRequired,J?.budgetUsage,J?.currentRound,J?.globalWorkBudget,J?.harnessProfile,J?.maxRounds,J?.phase,Li,H,ue,ee,Bt,Ft,Gs,Vt,$s]),Lr=ye(()=>al??Ad,[al,Ad]),cl=ye(()=>Vx({status:J,isLoading:H,agentMode:N.agentMode}),[N.agentMode,H,J]).workStripText,ll=Zt?.workStripText??Ri,Ks=ye(()=>Vx({status:J,isLoading:H,agentMode:N.agentMode,parallelTextOverride:ll}),[N.agentMode,ll,H,J]),Pi=ye(()=>pM(en).filter(f=>f!==zp),[en]),ct=ye(()=>Om(ze,Pi,ze.selectedItemId),[Pi,ze]),Pn=ye(()=>en.find(f=>f.id===ct),[en,ct]),oT=ye(()=>({...ze,supportsSelection:ze.supportsSelection&&Ft,supportsCopyOnSelect:ze.supportsCopyOnSelect&&Ft}),[ze,Ft]),Xn=ye(()=>DM({state:oT,selectableItemIds:Pi,selectedItemId:ct,selectedItemType:Pn?.type,isExpanded:ct?An.has(ct):!1}),[An,Pi,Pn?.type,ct,oT]),iT=Xn.selectionEnabled,sT=Xn.copyCapabilities.copyOnSelect,VG=Xn.selectedItemIndex,aT=ye(()=>fM(Pn),[Pn]),Ld=ye(()=>cM(en.filter(f=>!Ly(f))),[en]),zt=ye(()=>lM(Ld,gn),[Ld,gn]),Pd=ye(()=>HM({isHistorySearchActive:St,historySearchQuery:gn,matches:zt,selectedIndex:kd,anchorItemId:ze.searchAnchorItemId,useOverlaySurface:ze.supportsOverlaySurface&&ze.supportsSearchViewport&&Ft}),[zt,gn,kd,St,ze.searchAnchorItemId,ze.supportsOverlaySurface,ze.supportsSearchViewport,Ft]),Ho=Pd.clampedSelectedIndex,cT=Pd.statusText,Fh=Pd.detailText,lT=Pd.searchState,KG=Xn.detailState==="expanded",$d=Xn.selectionEnabled&&Pi.length>0&&!ao,zs=Xn.copyCapabilities.message,Od=Xn.copyCapabilities.toolInput,Nd=Xn.toggleDetail;Be(()=>{if(cl){if(Er.current&&(clearTimeout(Er.current),Er.current=null),Ri===cl)return;if(Ri){cn.current&&(clearTimeout(cn.current),cn.current=null),Xc(cl);return}cn.current&&clearTimeout(cn.current),cn.current=setTimeout(()=>{Xc(cl),cn.current=null},400);return}if(!Ri){cn.current&&(clearTimeout(cn.current),cn.current=null);return}cn.current&&(clearTimeout(cn.current),cn.current=null),Er.current&&clearTimeout(Er.current),Er.current=setTimeout(()=>{Xc(void 0),Er.current=null},300)},[Mi,cl,Ri]),Be(()=>()=>{Mi()},[Mi]);let Wo=ye(()=>yM({state:ze,ownsViewport:Ft,isAwaitingUserInteraction:_r,isHistorySearchActive:St,isTranscriptMode:ue,historySearchQuery:gn}),[gn,_r,St,ue,ze,Ft]);Be(()=>{kr(f=>{let x=aE(f,dr);return x=sE(x,rl),x=lE(x,c.enabled&&Ft?!Th||St||_r:ue||St||_r),x=fE(x,Ho),x})},[Ho,c.enabled,dr,_r,St,ue,rl,Ft,Th]),Be(()=>{kd!==Ho&&yr(Ho)},[Ho,kd]),Be(()=>{if(!St){Lh.current=gn;return}if(gn===Lh.current)return;Lh.current=gn;let f=dM(Ld,zt,ze.searchAnchorItemId);yr(f)},[zt,gn,St,ze.searchAnchorItemId,Ld]);let uT=ue?ke:{isThinking:De.isThinking,thinkingCharCount:De.thinkingCharCount,currentTool:De.currentTool,activeToolCalls:De.activeToolCalls,toolInputCharCount:De.toolInputCharCount,toolInputContent:De.toolInputContent,currentIteration:De.currentIteration,isCompacting:De.isCompacting},ul=ue?wt:yn,[Hh,qn]=Ue(()=>ys(N.permissionMode,e.runtimeAutoModeControl?void 0:d.getGuardrail().getEngine(),s.engine));Be(()=>{if(!e.runtimeAutoModeControl){wr(N.permissionMode)||qn(void 0);return}if(!wr(N.permissionMode)){qn(void 0),e.runtimeAutoModeControl.syncSettings?.(n.sessionId,N.permissionMode,s);return}qn(I=>ys(N.permissionMode,I,s.engine));let f=!0;i(async()=>{let I=await e.runtimeAutoModeControl?.syncSettings?.(n.sessionId,N.permissionMode,s)??await e.runtimeAutoModeControl?.getStats(n.sessionId);f&&qn(ys(N.permissionMode,I?.engine,s.engine))},"refresh")();let S=e.runtimeAutoModeControl.subscribe?.(n.sessionId,I=>{f&&qn(ys(N.permissionMode,I?.engine,s.engine))});return()=>{f=!1,S?.close()}},[s,n.sessionId,N.permissionMode,e.runtimeAutoModeControl]);let Dd=ye(()=>NM({sessionId:n.sessionId,permissionMode:N.permissionMode,agentMode:N.agentMode,provider:N.provider,model:N.model??Nr(N.provider)??N.provider,thinking:N.thinking,reasoningMode:N.reasoningMode,effort:Re,reasoningEffortLabel:Vo({provider:N.provider,model:N.model,effort:Re,effortOverride:N.effortOverride,thinking:N.thinking,reasoningMode:N.reasoningMode}),isTranscriptMode:ue,streamingState:uT,maxIter:j.maxIter,contextUsage:Gw,learning:Sw,isLoading:ul,managedState:{phase:J?.phase,harnessProfile:J?.harnessProfile,workerTitle:J?.activeWorkerTitle,round:J?.currentRound,maxRounds:J?.maxRounds,globalWorkBudget:J?.globalWorkBudget,budgetUsage:J?.budgetUsage,budgetApprovalRequired:J?.budgetApprovalRequired,idleWaiting:J?.idleWaiting,idleWaitingPendingCount:J?.idleWaitingPendingCount},autoModeEngine:Hh}),[n.sessionId,N.permissionMode,N.agentMode,N.provider,N.model,N.thinking,N.reasoningMode,N.effortOverride,Re,ue,uT,j.maxIter,Gw,Sw,ul,J?.phase,J?.harnessProfile,J?.activeWorkerTitle,J?.currentRound,J?.maxRounds,J?.globalWorkBudget,J?.budgetUsage,J?.budgetApprovalRequired,J?.idleWaiting,J?.idleWaitingPendingCount,Hh]),Wh=Xe?"confirm":He?.kind,dT=ye(()=>$M({isTranscriptMode:ue,isLoading:ul,streamingState:De,managedState:ul?{phase:J?.phase,harnessProfile:J?.harnessProfile,workerTitle:J?.activeWorkerTitle}:void 0,waitingReason:Wh,workflowBuilderMessage:kw??void 0,backgroundWorkflowMessage:Zw}),[De.activeToolCalls,De.currentTool,De.isCompacting,De.isThinking,De.thinkingCharCount,De.toolInputCharCount,De.toolInputContent,ue,J?.activeWorkerTitle,J?.harnessProfile,J?.phase,Wh,ul,kw,Zw]),lo=LM({activity:dT})?dT:void 0,fT=lo?.text,pT=!!lo,mT=xe(!1);Be(()=>{mT.current&&!H&&ro(f=>f.length>0?[]:f),mT.current=H},[H]);let jh=ye(()=>Qp(Dd),[Dd]),hT=ye(()=>jh,[jh]),gT=hT.text,vP=ye(()=>bR(j.pendingInputs),[j.pendingInputs]),Uh=ye(()=>Ik({isHistorySearchActive:St,isTranscriptMode:ue,pendingInputCount:j.pendingInputs.length,buffering:ze.buffering,pendingLiveUpdates:rl}),[St,ue,rl,j.pendingInputs.length,ze.buffering]),yT=Uh.leftItems,xT=Uh.rightItems,ST=Uh.summary,Bd=ye(()=>jM({historySearchQuery:gn,pendingInputCount:j.pendingInputs.length}),[gn,j.pendingInputs.length]),Fd=ye(()=>[...WM({historySearchQuery:gn,isHistorySearchActive:St,historySearchMatchCount:zt.length,pendingInputCount:j.pendingInputs.length,maxPendingInputs:5}),...Tw],[zt.length,gn,St,Tw,j.pendingInputs.length]),wT=ye(()=>Fd.map(f=>f.text).join(" | "),[Fd]),Hd=ye(()=>UM({inputText:Sh,isTranscriptMode:ue,isHistorySearchActive:St}),[Sh,St,ue]),TT=ze.supportsOverlaySurface&&ze.supportsSearchViewport&&Ft,Wd=ye(()=>BM({runtime:Xn,itemSummary:aT}),[aT,Xn]),Gh=ye(()=>GM(Bd),[Bd]),CT=ye(()=>VM({textSelection:ao,selectionState:Wd,isHistorySearchActive:St,historySearchDetailText:Fh,historySearchHasMatches:!!cT&&zt.length>0,showAllActive:Vt,baseFooterNotices:Bd}),[ao,Bd,Fh,zt.length,cT,St,Vt,Wd]),bP=CT.secondaryText,RP=CT.budgetNotices,IT=ue?RP:Gh,vT=C,bT=ue?"":Sh,RT=ue?void 0:vP,kT=ll,ET=ue?!1:Fw,MT=Kt.shouldRender?hk(Kt):0,_T=H&&co.shouldRender?co.rows.length:0,AT=tT?ym(Nh):0,tn=ye(()=>nE({terminalRows:vT,terminalWidth:ee,windowedTranscript:_i,inputText:bT,footerHeaderText:ST,activitySummary:ue?void 0:fT,activityBarVisible:ue?!1:pT,workflowSurfaceRows:ue?0:MT,childActivitySurfaceRows:ue?0:AT,todoSurfaceRows:ue?0:_T,pendingInputSummary:RT,stashNoticeSummary:Hd,notificationSummary:wT,statusNoticeSummary:IT.join(" | "),workStripText:kT,suggestionsReserved:Md,suggestionsMode:"inline",showHelp:ET,statusBarText:gT,confirmPrompt:Xe?.prompt,confirmInstruction:nl,dialogMode:"inline",reviewHint:c.enabled&&Ft?void 0:Wo.browseHintText,uiRequest:He?He.kind==="select"?{kind:"select",title:He.title,options:He.options.map(f=>({label:f.label,description:f.description})),buffer:He.buffer,error:He.error}:{kind:"input",prompt:He.prompt,defaultValue:He.defaultValue,buffer:He.buffer,error:He.error}:null}),[vT,ee,bT,ST,fT,pT,ue,MT,AT,_T,RT,Hd,wT,IT,kT,Md,TT,ET,gT,Xe,nl,c.enabled,Wo.browseHintText,Ft,He]),Vh=ye(()=>{if(!Vs)return{model:Li,committedSections:[]};let{committedSections:f,liveRows:x}=F0(sl.staticSections,Li.rows,Li.previewRows,tn.messageRows);return{model:{...Li,staticSections:[],rows:x,previewRows:[]},committedSections:f}},[Vs,Li,sl.staticSections,tn.messageRows]),LT=Vh.model;Be(()=>{let f=is(w),x=typeof f?.commitInlineScrollback=="function",S=iM({active:Vs,hasCommitHandle:x,wasActive:rT.current,forceRebuild:Dh.current,prior:nT.current,finalizedSections:Vh.committedSections,bannerSection:Fo,width:ee,identify:H0}),I=!1,k=!1;if(S.kind==="commit"){let D=S.sections.flatMap(te=>te.rows),B=rM(D.length>0?[{key:"il-delta",rows:D}]:[],{width:ee,theme:ce("dark")});if(k=B.length>0,S.mode==="append"&&!B)m_("empty-append-text");else try{f?.commitInlineScrollback?.({mode:S.mode,text:B}),I=!0}catch(te){m_("commit-threw",te)}}let $=sM(S,{committed:I,hadContent:k},Dh.current);nT.current=$.state,rT.current=$.wasActive,Dh.current=$.owns},[Vs,Vh.committedSections,Fo,ee,w]);let kP=ye(()=>fe(fm,{reserveSpace:Md,width:ee,hidden:ue,mode:"inline"}),[Md,ee,ue,TT]),dl=ye(()=>xM(tn.messageRows),[tn.messageRows]),PT=ye(()=>SM(dl),[dl]),Ys=!Yw&&c.transcriptSpinnerAnimation,fl=Lr?Lr.rows.length+Lr.previewRows.length:nP,jd=X(f=>{Lr||rP(f.scrollHeight)},[Lr]),pl=X(f=>bM({window:f,stickyHeader:Wo.stickyHeader,width:ee,topChromeRows:0}),[ee,Wo.stickyHeader]),Xs=X((f=jc.current,x=ld.current,S=Ch.current?pl(Ch.current):cd.current)=>{if(!S||f.length===0){As.current=null;return}cd.current=S,As.current=RM(f,{allRows:x,rowIndexByKey:Fx(x),topOffsetRows:S.topOffsetRows,viewportHeight:S.contentWindow.viewportHeight,animateSpinners:Ys})},[pl,Ys]),ml=X(()=>{let f=cd.current;return f?.contentWindow.viewportHeight&&f.contentWindow.viewportHeight>0?f.contentWindow.viewportHeight:tn.messageRows},[tn.messageRows]),EP=X(f=>{Ch.current=f;let x=pl(f);cd.current=x,Xs(jc.current,ld.current,x)},[Xs,pl]),Ud=X(f=>{jc.current=f.rows,ld.current=f.allRows,Xs(f.rows,f.allRows)},[Xs]),dn=X(()=>{fr.current=null,Ih(void 0),vh(void 0)},[]),Kh=X(()=>{dn(),kr(f=>xc(f,void 0))},[dn]);Be(()=>{Xs()},[Xs]),Be(()=>{iP(f=>wM(f,fl,tn.messageRows))},[fl,tn.messageRows]),Be(()=>{if(!Ls)return;let f=setTimeout(()=>{vw(void 0)},2e3);return()=>{clearTimeout(f)}},[Ls]);let $n=X((f,x="success")=>{let S=f?.trim();S&&vw({text:S,tone:x})},[]);Be(()=>e.subscribeTransientNotices?.(f=>{$n(f.text,f.tone)}),[e.subscribeTransientNotices,$n]);let MP=X(f=>{$n(f,"warning")},[$n]),qs=X((f,x)=>{let S=x instanceof Error?x.message:String(x);return`${f}: ${S}`},[]),Gd=X(async f=>{let x=f??ao;if(!x)return!1;let S=x.text.trimEnd();if(!S)return!1;try{return await Rl(S,{terminalWrite:E}),$n(`Copied ${x.rowCount} selected line${x.rowCount===1?"":"s"} to clipboard.`,"success"),!0}catch(I){return $n(qs("Failed to copy transcript selection",I),"warning"),!1}},[ao,qs,$n,E]),Js=X(f=>{if(!f||CM({items:en,renderModel:Lr,terminalWidth:ee,transcriptMaxLines:Bt,viewportRows:ml(),itemId:f,visibleRows:jc.current,expandedItemKeys:An,showDetailedTools:!1}))return;let x=IM({items:en,renderModel:Lr,terminalWidth:ee,transcriptMaxLines:Bt,viewportRows:ml(),itemId:f,expandedItemKeys:An,showDetailedTools:!1});id(x)},[en,ee,Bt,Lr,An,ml,id,jc]),$T=X(f=>{kr(x=>xc(x,f)),f&&Js(f)},[Js]),zh=X(f=>{f&&Js(f)},[Js]),OT=X(f=>{if(!$d)return;let x=mM(Pi,ct,f);x&&$T(x)},[$d,Pi,ct,$T]),NT=X(()=>{!Nd||!ct||(cP(f=>{let x=new Set(f);return x.has(ct)?x.delete(ct):x.add(ct),x}),Js(ct))},[Js,Nd,ct]),DT=X(async()=>{if(!zs||!Pn)return;let f=Bx(Pn);if(f)try{await Rl(f,{terminalWrite:E}),$n("Copied selected transcript entry to clipboard.","success")}catch(x){$n(qs("Failed to copy transcript entry",x),"warning")}},[qs,zs,Pn,$n,E]),BT=X(async()=>{if(!Od||!Pn)return;let f=hM(Pn);if(f)try{await Rl(f,{terminalWrite:E}),$n("Copied selected tool args to clipboard.","success")}catch(x){$n(qs("Failed to copy tool args",x),"warning")}},[qs,Od,Pn,$n,E]),hl=X(()=>ld.current,[]),FT=X((f,x)=>{if(!c.enabled||!Ft)return;let S=As.current;return S?Wx(S,f,x):void 0},[c.enabled,Ft]),Qs=X((f,x,S)=>{let I=hl(),k=MM(I,f,x,{animateSpinners:Ys,selectFullRowOnCollapsed:S?.selectFullRowOnCollapsed});ue?vh(k):Ih(k);let $=I[Math.max(0,Math.min(x.modelRowIndex,I.length-1))];return S?.updateSelectedItem&&$?.itemId&&kr(D=>xc(D,$.itemId)),k},[ue,hl,Ys]),HT=X((f,x)=>{if(!f)return;fr.current=null;let S={...f,focus:x?.focusPoint??f.focus};if(!(S.mode!=="char"||S.didDrag)){dn();return}let k=Qs(S.anchor,S.focus,{selectFullRowOnCollapsed:!1,updateSelectedItem:!1});if(!k){dn();return}return x?.copySelection!==!1&&Gd(k),k},[dn,Gd,Qs]),Yh=X(()=>{if(!ue||!en.length||Xe||He)return;dn();let f=vM({items:en,selectedItemId:ct,renderModel:Lr,terminalWidth:ee,transcriptMaxLines:Bt,viewportRows:ml(),scrollOffset:dr,expandedItemKeys:An,showDetailedTools:!1,preferViewportAnchor:!0});kr(x=>uE(x,{anchorItemId:f,initialMatchIndex:0})),js(""),yr(0)},[Xe,en,An,dr,ue,ct,Lr,ee,Bt,He,ml,dn]),Xh=X(()=>{kr(f=>dE(f)),js(""),yr(0),dn()},[dn]),Vd=X(()=>{!St||zt.length===0||yr(-1)},[zt.length,St]),WT=ye(()=>{if(!Xe)return null;if(Xe.tool==="exit_plan_mode"){let f=typeof Xe.input.plan=="string"?Xe.input.plan:void 0;return{prompt:Xe.prompt.split(`
141
141
  `,1)[0]??Xe.prompt,instruction:nl,planContent:f}}return{prompt:Xe.prompt,instruction:nl}},[nl,Xe]),jT=ye(()=>He?He.kind==="select"?{kind:"select",title:He.title,options:He.options,buffer:He.buffer,error:He.error,visibleSelectOptions:tn.visibleSelectOptions,focusedIndex:He.focusedIndex,selectedIndices:He.selectedIndices,multiSelect:He.multiSelect}:{kind:"input",prompt:He.prompt,defaultValue:He.defaultValue,buffer:He.buffer,error:He.error}:null,[He,tn.visibleSelectOptions]),_P=ye(()=>fe(pm,{confirm:WT,request:jT}),[WT,jT]),qh=ye(()=>{if(Ls)return fe(fk,{text:Ls.text,tone:Ls.tone})},[Ls]),Jh=ye(()=>{if(qh)return fe(A,{flexDirection:"column",width:"100%",children:qh})},[qh]),Kd=X(()=>{kr(f=>cE(iE(f))),wh(!1),ad(),js(""),yr(0),dn()},[dn,ad]),UT=X(()=>{ue&&wh(f=>!f)},[ue]),AP=X(()=>{if(ue){Kd();return}wh(!1),kr(f=>oE(f)),js(""),yr(0),dn()},[dn,Kd,ue]);Be(()=>{iT||!ze.selectedItemId||kr(f=>xc(f,void 0))},[iT,ze.selectedItemId]),Be(()=>{if(!ue||!zs||!sT){tl.current=void 0;return}if(no||!ct||!Pn)return;if(!tl.current){tl.current=ct;return}if(tl.current===ct)return;tl.current=ct;let f=Bx(Pn);f&&Rl(f,{terminalWrite:E}).catch(()=>{})},[ue,Pn,ct,zs,sT,no,E]),Be(()=>{if(w?.isTTY!==!0)return;let f=is(w);f?.setShellMode?.(Vw,Ed),Ph||f?.setAltScreenActive?.(!1)},[Vw,w,Ph,Ed]);let LP=ye(()=>vk(o,()=>xh.current),[o]),$e=xe({...e,thinking:N.thinking,reasoningMode:N.reasoningMode,effort:At,agentMode:N.agentMode,workflowRunsBaseDir:Uo("workflow-runs",Vi(process.cwd()).key),context:{...e.context,gitRoot:n.gitRoot??void 0,executionCwd:n.runtimeInfo?.executionCwd??n.gitRoot??process.cwd(),repoIntelligenceMode:N.repoIntelligenceMode,repoIntelligenceTrace:N.repoIntelligenceTrace,toolConstructionMode:!0},session:{...e.session,id:n.sessionId,storage:LP,persistedByHost:!0},guardrails:e.runtimeRunner?void 0:Xx(N.permissionMode,d)});Be(()=>{$e.current.effort=At},[At]);let gl=X(f=>{let x=f.workspaceRoot??void 0;n.runtimeInfo=f,n.gitRoot=x,$e.current.context={...$e.current.context,gitRoot:x,executionCwd:f.executionCwd??x??process.cwd()}},[n]),On=xe(N.permissionMode),GT=xe(0);Be(()=>{On.current=N.permissionMode},[N.permissionMode]);let PP=ye(()=>ba(),[]),VT=xe(PP),vt=xe(N);Be(()=>{vt.current=N},[N]);let Qh=xe(null);Qh.current===null&&(Qh.current=wf({getProvider:i(()=>Ni(vt.current.provider),"getProvider"),getModel:i(()=>vt.current.model??"","getModel")}));let KT=xe(vf());Be(()=>{N.permissionMode==="auto-in-project"&&KT.current()},[]);let Zh=X(async f=>{let x=++GT.current;_e(k=>({...k,permissionMode:f})),On.current=f,qn(ys(f,void 0,s.engine));let S=await e.runtimeAutoModeControl?.syncSettings?.(n.sessionId,f,s);if(x!==GT.current)return;let I=Ui({provider:vt.current.provider,model:vt.current.model,effort:vt.current.effort,effortOverride:vt.current.effortOverride,permissionMode:f,planModeEffort:vt.current.planModeEffort,thinking:vt.current.thinking,reasoningMode:vt.current.reasoningMode});if($e.current={...$e.current,effort:I.runtimeEffort,guardrails:e.runtimeRunner?void 0:Xx(f,d)},!wr(f))qn(void 0);else if(e.runtimeAutoModeControl){let k=S??await e.runtimeAutoModeControl.getStats(n.sessionId);qn(ys(f,k?.engine,s.engine))}else qn(d.getGuardrail().getEngine());f==="auto-in-project"&&KT.current()},[d,s,n.sessionId,e.runtimeAutoModeControl,e.runtimeRunner]),zT=xe(j.pendingInputs),lt=xe(!1),YT=xe(0),eg=xe(null),yl=xe(0),zd=X(()=>{if(Fc.current)return;let f=md.current?.trim(),x=y.current.length>0?y.current[y.current.length-1]:void 0,S=x&&"text"in x&&typeof x.text=="string"?x.text.trim():void 0,k=hn.current.length>0?[...hn.current.map($=>yi($)),...f&&f!==S?[{type:"info",text:f}]:[]]:[...hn.current.map($=>yi($)),...h2(Fe(),G(),{toolCalls:ln.current,toolNames:Mr.current,infoItems:f&&f!==S?[f]:[]})];k.length!==0&&(Fc.current=!0,Sd(hn.current),_s.current?.(k))},[G,Fe,Sd]);Be(()=>{zT.current=j.pendingInputs},[j.pendingInputs]);let XT=X(()=>{lt.current=!0,be(),me(),Q(),se(),Ke(),Ge(),Te(void 0),Do(),kt(void 0),Jc(),ki.current=[],Os.current=[],mt.current=null,md.current=null,zc([]),dd(null),Ps(null),Mi(),Xc(void 0),Z(!1),w?.isTTY===!0&&is(w)?.clear?.()},[be,Ge,se,Ke,Mi,Do,Jc,Te,zc,Z,kt,me,Q,w]),Yd=X(f=>{let x=EC(),S=x.list().filter(k=>k.status==="running"||k.status==="paused");if(S.length===0)return!1;for(let k of S)x.stop(k.runId,f);Vc(k=>!k||k.status!=="running"||!S.some($=>$.runId===k.runId)?k:{...k,status:"stopped",activeAgents:[],message:"Workflow stopped by user."});let I=S[0];return S.length===1&&I?Ln({type:"info",text:`Stopped workflow ${I.workflow} (${I.runId}).`},"workflow-stop"):Ln({type:"info",text:`Stopped ${S.length} active workflows.`},"workflow-stop"),!0},[Ln,Vc]);Be(()=>{if(!Kt.shouldRender)return;let f=i(()=>{Yd("stopped by Ctrl+C")},"handleSigint");return process.on("SIGINT",f),()=>{process.off("SIGINT",f)}},[Yd,Kt.shouldRender]),Fn(xn.Critical,f=>{let x=f.name==="escape",S=Date.now(),I=x&&!ue&&!_r&&Wc&&j.pendingInputs.length===0&&(H||Kt.shouldRender),k=I&&(f.meta===!0||S-YT.current<r2);if(YT.current=I?S:0,bE({keyName:f.name,ctrl:!!f.ctrl,isTranscriptMode:ue,isAwaitingUserInteraction:_r,isInputEmpty:Wc,isDoubleEscape:k,pendingInputCount:j.pendingInputs.length,hasTranscriptTextSelection:!!no,hasActiveWorkflow:Kt.shouldRender}))return Yd(f.ctrl?"stopped by Ctrl+C":"stopped by Escape");if(!H)return!1;switch(RE({keyName:f.name,ctrl:!!f.ctrl,isTranscriptMode:ue,isAwaitingUserInteraction:_r,isInputEmpty:Wc,isDoubleEscape:k,pendingInputCount:j.pendingInputs.length,hasTranscriptTextSelection:!!no}).kind){case"interrupt":return zd(),XT(),!0;case"pop-pending-input":return pn(),!0;default:break}return!1},[H,ue,_r,Wc,j.pendingInputs.length,pn,zd,XT,Yd,no,Kt.shouldRender]),Fn(xn.Critical,f=>{let x=CE({itemsLength:en.length,currentResponse:Ze.currentResponse,thinkingContent:Ze.thinkingContent,activeToolCallsLength:Ze.activeToolCalls.length}),S=IE({keyName:f.name,hasTranscript:x,historyScrollOffset:dr,reviewPageSize:dl,reviewWheelStep:PT,hasMouse:!!f.mouse,mouseButton:f.mouse?.button,mouseAction:f.mouse?.action,usesManagedMouseClicks:Kw,supportsMouseTracking:ze.supportsMouseTracking,usesRendererMouseTracking:Ed,usesManagedMouseWheel:zw,supportsWheelHistory:ze.supportsWheelHistory});if(S.kind==="mouse-phase"){let k=f.mouse;if(!k)return!1;S.phase==="press"&&fr.current&&HT(fr.current);let $=FT(k.row,k.column);if(S.phase==="press"){if(!$||!x)return ao||ct?(Kh(),!0):(dn(),!1);let D=r_({previous:Iw.current,time:Date.now(),row:k.row,column:k.column});Iw.current=D;let B=D.count>=3?"line":D.count===2?"word":"char";if(Vd(),kr(te=>xc(te,void 0)),ue?vh(void 0):Ih(void 0),B!=="char"){let te=Vm(hl(),$.point,B);if(te)return fr.current={anchor:te.start,focus:te.end,didDrag:!1,mode:B,anchorSpan:te},Qs(te.start,te.end,{updateSelectedItem:!1}),!0}return fr.current={anchor:$.point,focus:$.point,didDrag:!1,mode:"char"},!0}if(!fr.current)return!1;if(S.phase==="drag"){let D=As.current,B=D?AM(D,k.row):0;B!==0&&sd(B);let te=$??(D?jx(D,k.row,k.column):void 0);if(!te)return!1;let oe=fr.current;if(oe.mode!=="char"&&oe.anchorSpan){let je=Vm(hl(),te.point,oe.mode);if(!je)return!1;let Ve=Yx(oe.anchorSpan,je);return fr.current={...oe,anchor:Ve.anchor,focus:Ve.focus,didDrag:!0},Qs(Ve.anchor,Ve.focus,{updateSelectedItem:!1}),!0}return fr.current={...oe,focus:te.point,didDrag:!0},Qs(oe.anchor,te.point,{updateSelectedItem:!1}),!0}if(S.phase==="release"){let D=fr.current,B=D.focus,oe=($??(As.current?jx(As.current,k.row,k.column):void 0))?.point??B;if(D.mode!=="char"&&D.anchorSpan){let je=Vm(hl(),oe,D.mode);if(je){let Ve=Yx(D.anchorSpan,je);D.anchor=Ve.anchor,oe=Ve.focus}}return HT(D,{focusPoint:oe}),!0}}if(S.kind==="scroll-by")return Vd(),sd(S.delta),!0;if(S.kind==="consume")return!0;let I=kE({key:f,isTranscriptMode:ue,isHistorySearchActive:St,historySearchMatchCount:zt.length,hasTextSelection:!!ao,hasFocusedItem:!!ct,canCopySelectedItem:zs,canCopySelectedToolInput:Od,canToggleSelectedDetail:Nd,canCycleTranscriptSelection:$d});return EE({action:I,hasTranscript:x,isTranscriptMode:ue,pageScrollDelta:dl,disarmHistorySearchSelection:Vd,scrollTranscriptBy:sd,closeHistorySearchSurface:Xh,backspaceHistorySearchQuery:i(()=>{js(k=>k.slice(0,-1)),yr(0)},"backspaceHistorySearchQuery"),stepHistorySearchSelection:i(k=>{yr($=>Dx(zt.length,$,k))},"stepHistorySearchSelection"),submitHistorySearchSelection:i(()=>{let k=zt[Ho];k&&(zh(k.itemId),Xh())},"submitHistorySearchSelection"),appendHistorySearchQuery:i(k=>{js($=>$+k),yr(0)},"appendHistorySearchQuery"),openHistorySearchSurface:Yh,clearTranscriptSelectionFocus:Kh,exitTranscriptModeSurface:Kd,toggleTranscriptShowAll:UT,scrollTranscriptHome:i(()=>{id(Math.max(0,fl-tn.messageRows))},"scrollTranscriptHome"),scrollTranscriptToBottom:i(()=>{ad(),dn()},"scrollTranscriptToBottom"),cycleTranscriptSelection:OT,copySelectedTranscriptText:i(()=>{Gd()},"copySelectedTranscriptText"),copySelectedTranscriptItem:i(()=>{DT()},"copySelectedTranscriptItem"),copySelectedTranscriptToolInput:i(()=>{BT()},"copySelectedTranscriptToolInput"),toggleSelectedTranscriptDetail:NT,navigateSearchMatch:i(k=>{yr($=>{let D=Dx(zt.length,$,k),B=zt[D];return B&&zh(B.itemId),D})},"navigateSearchMatch"),dumpTranscriptToScrollback:i(()=>{ME({items:en.filter(k=>!Ly(k)),exitAltScreen:i(()=>{E(wp({mouseTracking:!0}))},"exitAltScreen"),writeToScrollback:i(k=>{E(k)},"writeToScrollback"),enterAltScreen:i(()=>{E(Sp({mouseTracking:!0,clearOnEnter:!1}))},"enterAltScreen")})},"dumpTranscriptToScrollback")})},[ue,en,Ze.currentResponse,Ze.thinkingContent,Ze.activeToolCalls,dr,fl,dl,PT,ct,Kh,Kd,UT,ze,sd,id,ad,$d,Ho,dn,Gd,zt,Yh,Xh,Vd,OT,zs,DT,Od,BT,Nd,NT,zh,ao,FT,ze.supportsMouseTracking,no,Kw,zw,$h,_i,Ed,Qs,tn.messageRows]),Fn(f=>{if(!Xe)return!1;let x=f.sequence.trim().toLowerCase(),S=Xe.runtimeGrantSuggestions?.find(te=>te.kind==="session"),I=Xe.runtimeGrantSuggestions?.find(te=>te.kind==="persistent"),k=!!Xe.input._alwaysConfirm,$=Xe.runtimeGrantSuggestions!==void 0,D=I!==void 0||!$&&N.permissionMode==="accept-edits"&&!k,B=i(te=>{let oe=`${ne("dialog.confirm")} ${Xe.prompt}
142
- \u2192 ${ne(`confirm.result.${te}`)}`;!!at.current.workerId?Qt({id:`confirm-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"info",text:oe,timestamp:Date.now()}):F({type:"info",text:oe})},"recordConfirmResult");return x==="y"||x==="yes"?(B("approved"),el(null),so.current?.({confirmed:!0}),so.current=null,!0):S&&(x==="s"||x==="session")?(B("approved_session"),el(null),so.current?.({confirmed:!0,runtimeGrantKind:"session"}),so.current=null,!0):D&&(x==="a"||x==="always")?(B("approved_always"),el(null),so.current?.(I?{confirmed:!0,runtimeGrantKind:"persistent"}:{confirmed:!0,always:!0}),so.current=null,!0):x==="n"||x==="no"||f.name==="escape"?(B("denied"),el(null),so.current?.({confirmed:!1}),so.current=null,!0):f.insertable||f.name==="return"},{isActive:!!Xe,priority:xn.Critical});let Xd=X(f=>{gr(null),bd.current?.(f),bd.current=null},[]),uo=X((f,x,S,I)=>x.length===0?Promise.resolve(void 0):new Promise(k=>{bd.current=k,gr({kind:"select",title:f,options:x,buffer:"",focusedIndex:0,selectedIndices:[],multiSelect:S,minSelections:I?.minSelections,maxSelections:I?.maxSelections})}),[]),$P=X((f,x)=>uo(f,x.map(S=>({label:S,value:S}))).then(S=>Array.isArray(S)?S[0]:S),[uo]),OP=X(async f=>{let x=e.learning;if(!x)return;let S=f;if(!S){let D=await x.list({limit:200});if(D.items.length===0){yh([{id:"learning-center-empty",text:"Learning Center has no learned capabilities.",tone:"accent"}]);return}let B=await uo("Learning Center \u2014 type to search",i2(D.items));S=Array.isArray(B)?B[0]:B}if(!S)return;let I=await x.get(S),k=await uo(`${I.displayName} \xB7 ${I.carrier} \xB7 ${I.lifecycle}`,o2(I)),$=Array.isArray(k)?k[0]:k;$&&(await s2(x,I.capabilityId,$),ww(await x.getSnapshot()))},[e.learning,uo]),qT=X(async f=>{let x=f.options?Gm(f.options):[],S=await uo(Gx(f),x,!1);return S===void 0?pa:Array.isArray(S)?S[0]??pa:S},[uo]);Be(()=>{let f=!1;return(async()=>{let{bindAskUserForConstruction:x}=await import("./construction-bootstrap-STYUR6XA.js");f||x(qT)})(),()=>{f=!0,(async()=>{let{bindAskUserForConstruction:x}=await import("./construction-bootstrap-STYUR6XA.js");x(null)})()}},[qT]);let Zs=X((f,x)=>new Promise(S=>{bd.current=I=>S(Array.isArray(I)?I[0]:I),gr({kind:"input",prompt:f,defaultValue:x,buffer:""})}),[]);Fn(f=>{let x=Rd.current;if(!x)return!1;if(f.name==="escape")return Xd(void 0),!0;if(x.kind==="select"){let S=x.options.length;if(f.name==="up"||f.sequence==="k")return gr(I=>I&&I.kind==="select"?{...I,focusedIndex:(I.focusedIndex-1+S)%S,error:void 0}:I),!0;if(f.name==="down"||f.sequence==="j")return gr(I=>I&&I.kind==="select"?{...I,focusedIndex:(I.focusedIndex+1)%S,error:void 0}:I),!0;if(f.sequence===" "&&x.multiSelect)return gr(I=>{if(!I||I.kind!=="select")return I;let k=I.focusedIndex,$=I.selectedIndices.includes(k)?I.selectedIndices.filter(D=>D!==k):[...I.selectedIndices,k];return{...I,selectedIndices:$,error:void 0}}),!0;if(f.name==="return"){let I=Rd.current;if(!I||I.kind!=="select")return!1;if(I.multiSelect){let k=I.selectedIndices.length,{minSelections:$,maxSelections:D}=I,B=k===0&&$!==0?ne("select.multiselect_empty"):$!==void 0&&k<$?ne("select.multiselect_min",{min:String($)}):D!==void 0&&k>D?ne("select.multiselect_max",{max:String(D)}):void 0;if(B!==void 0)return gr(oe=>oe&&oe.kind==="select"?{...oe,error:B}:oe),!0;let te=I.selectedIndices.slice().sort((oe,je)=>oe-je).map(oe=>I.options[oe]?.value).filter(oe=>typeof oe=="string"&&oe.length>0);Xd(te)}else Xd(I.options[I.focusedIndex]?.value);return!0}if(/^[1-9]$/.test(f.sequence)){let I=Number.parseInt(f.sequence,10)-1;if(I>=0&&I<S)return x.multiSelect?gr(k=>{if(!k||k.kind!=="select")return k;let $=k.selectedIndices.includes(I)?k.selectedIndices.filter(D=>D!==I):[...k.selectedIndices,I];return{...k,focusedIndex:I,selectedIndices:$,error:void 0}}):gr(k=>k&&k.kind==="select"?{...k,focusedIndex:I,error:void 0}:k),!0}return!1}if(f.name==="return"){let S=Rd.current;if(!S||S.kind!=="input")return!1;let I=S.buffer.trim();return Xd(I===""?S.defaultValue??void 0:I),!0}return f.name==="backspace"||f.name==="delete"?(gr(S=>S&&S.kind==="input"?{...S,buffer:S.buffer.slice(0,-1),error:void 0}:S),!0):(f.insertable||f.isPasted===!0)&&!f.ctrl&&!f.meta?(gr(S=>S&&S.kind==="input"?{...S,buffer:S.buffer+f.sequence,error:void 0}:S),!0):!1},{isActive:!!He,priority:xn.Critical}),Be(()=>{if(n.messages.length>0&&v.length===0){if(n.uiHistory?.length){let f=zr(n.uiHistory);f.length!==n.uiHistory.length&&(n.uiHistory=f),Y(bu({messages:n.messages,uiHistory:f}));return}Y(bu({messages:n.messages}))}},[n.messages,n.uiHistory,v.length,Y]),Be(()=>{af(n.gitRoot)},[n.gitRoot]),Be(()=>{process.env.KODAX_PREWARM_REPO_INTELLIGENCE!=="0"&&CC({executionCwd:n.runtimeInfo?.executionCwd??n.gitRoot??process.cwd(),gitRoot:n.gitRoot??void 0},{mode:N.repoIntelligenceMode})},[n.gitRoot,n.runtimeInfo?.executionCwd,N.repoIntelligenceMode]);let xl=X(()=>({onMemoryOutcomeDigest:i((f,x)=>{if(f.sessionId!==n.sessionId){e.events?.onMemoryOutcomeDigest?.(f,x);return}n.lineage=df(n.lineage??qe(n.messages),f,x?.jobId)},"onMemoryOutcomeDigest"),onMemoryReviewReceipt:i(f=>{if(f.sessionId!==void 0&&f.sessionId!==n.sessionId){e.events?.onMemoryReviewReceipt?.(f);return}n.lineage=ff(n.lineage??qe(n.messages),f)},"onMemoryReviewReceipt"),onMemoryNotice:i(f=>{if(f.sessionId!==void 0&&f.sessionId!==n.sessionId){e.events?.onMemoryNotice?.(f);return}let x=n.lineage??qe(n.messages),S=pf(x,{...f,createdAt:new Date().toISOString()});n.lineage=S,S!==x&&F({type:"info",text:`[memory] ${f.summaries.slice(0,3).join("; ")}`}),e.events?.onMemoryNotice?.(f)},"onMemoryNotice"),onThinkingDelta:i((f,x)=>{if(lt.current||Yn(x,"thinking",f,{append:!0}))return;j.currentTool&&(Te(void 0),Ke());let{header:S}=Fk(Fe()+f),I=S?`[Thinking: ${S}]`:"[Thinking]";kt(km(mt.current?.activeWorkerTitle?`[${mt.current.activeWorkerTitle}] ${I}`:I,mt.current?.activeWorkerTitle)),Se(f.length),Pe(f),at.current.workerId&&Td("thinking",f)},"onThinkingDelta"),onThinkingEnd:i((f,x)=>{if(lt.current||Yn(x,"thinking",f))return;let S=Fe(),I=Nk(S,f);I&&I!==S&&(se(),pe(),Se(I.length),Pe(I)),at.current.workerId&&Nw(I),Q()},"onThinkingEnd"),onTextDelta:i((f,x)=>{lt.current||Yn(x,"assistant",f,{append:!0})||(j.currentTool&&(Te(void 0),Ke()),Q(),kt(void 0),he(f),at.current.workerId&&Td("assistant",f))},"onTextDelta"),onToolUseStart:i((f,x)=>{if(lt.current||Yn(x,"tool",NR(f.name,f.input)))return;Mr.current.includes(f.name)||(Mr.current=[...Mr.current,f.name]);let S=mt.current?.activeWorkerTitle?`[${mt.current.activeWorkerTitle}] `:"",I={id:f.id,name:`${S}${f.name}`,status:V.Executing,startTime:Date.now(),input:f.input};Dw(I),at.current.workerId&&hr(I),kt(ko(I,mt.current?.activeWorkerTitle))},"onToolUseStart"),onToolInputDelta:i((f,x,S)=>{if(lt.current||Yn(S,"tool",f,{skipIfExisting:!0}))return;tt(x.length),Ct(x);let I=Bw(S?.toolId,f,k=>{let $=k.preview??"",D=Pk(`${$}${x}`);return{...k,preview:D||void 0,input:k.input?D?{...k.input,preview:D}:{...k.input}:D?{preview:D}:void 0}});I&&(at.current.workerId&&hr(I),kt(ko(I,mt.current?.activeWorkerTitle)))},"onToolInputDelta"),onToolResult:i((f,x)=>{if(lt.current||Yn(x,"tool",`${f.name} completed`))return;let S=typeof f.content=="string"?f.content:String(f.content??""),I=$k(S);if(/^\[(?:Tool Error|Error)\]/.test(S)){let $=Id(f.id,V.Error,I,I,f.name);$&&(at.current.workerId&&hr($),kt(ko($,mt.current?.activeWorkerTitle)));return}if(/^\[(?:Cancelled|Blocked)\]/.test(S)){let $=Id(f.id,V.Cancelled,void 0,I,f.name);$&&(at.current.workerId&&hr($),kt(ko($,mt.current?.activeWorkerTitle)));return}let k=Id(f.id,V.Success,void 0,I||void 0,f.name);k&&(at.current.workerId&&hr(k),kt(ko(k,mt.current?.activeWorkerTitle)))},"onToolResult"),onToolProgress:i((f,x)=>{if(lt.current||Yn(x,"progress",f.message))return;let S=f.message.length>100?f.message.slice(0,97)+"...":f.message,I=Ws(f.id,k=>({...k,preview:S,progressLines:[...(k.progressLines??[]).slice(-4),S]}));I&&at.current.workerId&&hr(I),kt(S)},"onToolProgress"),onStreamEnd:i(f=>{if(lt.current||gm(f))return;let x=Qc(V.Cancelled,()=>({error:"Stream ended before the tool completed.",output:void 0})),S=x[x.length-1];at.current.workerId&&x.forEach(I=>hr(I)),S&&kt(ko(S,mt.current?.activeWorkerTitle)),Q(),Ke(),Te(void 0)},"onStreamEnd"),onChildActivityEnd:i(f=>{_w(f)},"onChildActivityEnd"),hasPendingInputs:i(()=>zT.current.length>0,"hasPendingInputs"),onMidTurnUserMessages:i(f=>{if(!lt.current)for(let x of f){let S=x.trim();S&&(at.current.workerId?Qt({id:`mid-turn-user-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"user",text:S,timestamp:Date.now()}):F({type:"user",text:S}))}},"onMidTurnUserMessages"),onSidecarMessage:i(f=>{if(lt.current)return;let x=f.suggestedFix?`${f.content}
142
+ \u2192 ${ne(`confirm.result.${te}`)}`;!!at.current.workerId?Qt({id:`confirm-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"info",text:oe,timestamp:Date.now()}):F({type:"info",text:oe})},"recordConfirmResult");return x==="y"||x==="yes"?(B("approved"),el(null),so.current?.({confirmed:!0}),so.current=null,!0):S&&(x==="s"||x==="session")?(B("approved_session"),el(null),so.current?.({confirmed:!0,runtimeGrantKind:"session"}),so.current=null,!0):D&&(x==="a"||x==="always")?(B("approved_always"),el(null),so.current?.(I?{confirmed:!0,runtimeGrantKind:"persistent"}:{confirmed:!0,always:!0}),so.current=null,!0):x==="n"||x==="no"||f.name==="escape"?(B("denied"),el(null),so.current?.({confirmed:!1}),so.current=null,!0):f.insertable||f.name==="return"},{isActive:!!Xe,priority:xn.Critical});let Xd=X(f=>{gr(null),bd.current?.(f),bd.current=null},[]),uo=X((f,x,S,I)=>x.length===0?Promise.resolve(void 0):new Promise(k=>{bd.current=k,gr({kind:"select",title:f,options:x,buffer:"",focusedIndex:0,selectedIndices:[],multiSelect:S,minSelections:I?.minSelections,maxSelections:I?.maxSelections})}),[]),$P=X((f,x)=>uo(f,x.map(S=>({label:S,value:S}))).then(S=>Array.isArray(S)?S[0]:S),[uo]),OP=X(async f=>{let x=e.learning;if(!x)return;let S=f;if(!S){let D=await x.list({limit:200});if(D.items.length===0){yh([{id:"learning-center-empty",text:"Learning Center has no learned capabilities.",tone:"accent"}]);return}let B=await uo("Learning Center \u2014 type to search",i2(D.items));S=Array.isArray(B)?B[0]:B}if(!S)return;let I=await x.get(S),k=await uo(`${I.displayName} \xB7 ${I.carrier} \xB7 ${I.lifecycle}`,o2(I)),$=Array.isArray(k)?k[0]:k;$&&(await s2(x,I.capabilityId,$),ww(await x.getSnapshot()))},[e.learning,uo]),qT=X(async f=>{let x=f.options?Gm(f.options):[],S=await uo(Gx(f),x,!1);return S===void 0?pa:Array.isArray(S)?S[0]??pa:S},[uo]);Be(()=>{let f=!1;return(async()=>{let{bindAskUserForConstruction:x}=await import("./construction-bootstrap-E4M3CY3N.js");f||x(qT)})(),()=>{f=!0,(async()=>{let{bindAskUserForConstruction:x}=await import("./construction-bootstrap-E4M3CY3N.js");x(null)})()}},[qT]);let Zs=X((f,x)=>new Promise(S=>{bd.current=I=>S(Array.isArray(I)?I[0]:I),gr({kind:"input",prompt:f,defaultValue:x,buffer:""})}),[]);Fn(f=>{let x=Rd.current;if(!x)return!1;if(f.name==="escape")return Xd(void 0),!0;if(x.kind==="select"){let S=x.options.length;if(f.name==="up"||f.sequence==="k")return gr(I=>I&&I.kind==="select"?{...I,focusedIndex:(I.focusedIndex-1+S)%S,error:void 0}:I),!0;if(f.name==="down"||f.sequence==="j")return gr(I=>I&&I.kind==="select"?{...I,focusedIndex:(I.focusedIndex+1)%S,error:void 0}:I),!0;if(f.sequence===" "&&x.multiSelect)return gr(I=>{if(!I||I.kind!=="select")return I;let k=I.focusedIndex,$=I.selectedIndices.includes(k)?I.selectedIndices.filter(D=>D!==k):[...I.selectedIndices,k];return{...I,selectedIndices:$,error:void 0}}),!0;if(f.name==="return"){let I=Rd.current;if(!I||I.kind!=="select")return!1;if(I.multiSelect){let k=I.selectedIndices.length,{minSelections:$,maxSelections:D}=I,B=k===0&&$!==0?ne("select.multiselect_empty"):$!==void 0&&k<$?ne("select.multiselect_min",{min:String($)}):D!==void 0&&k>D?ne("select.multiselect_max",{max:String(D)}):void 0;if(B!==void 0)return gr(oe=>oe&&oe.kind==="select"?{...oe,error:B}:oe),!0;let te=I.selectedIndices.slice().sort((oe,je)=>oe-je).map(oe=>I.options[oe]?.value).filter(oe=>typeof oe=="string"&&oe.length>0);Xd(te)}else Xd(I.options[I.focusedIndex]?.value);return!0}if(/^[1-9]$/.test(f.sequence)){let I=Number.parseInt(f.sequence,10)-1;if(I>=0&&I<S)return x.multiSelect?gr(k=>{if(!k||k.kind!=="select")return k;let $=k.selectedIndices.includes(I)?k.selectedIndices.filter(D=>D!==I):[...k.selectedIndices,I];return{...k,focusedIndex:I,selectedIndices:$,error:void 0}}):gr(k=>k&&k.kind==="select"?{...k,focusedIndex:I,error:void 0}:k),!0}return!1}if(f.name==="return"){let S=Rd.current;if(!S||S.kind!=="input")return!1;let I=S.buffer.trim();return Xd(I===""?S.defaultValue??void 0:I),!0}return f.name==="backspace"||f.name==="delete"?(gr(S=>S&&S.kind==="input"?{...S,buffer:S.buffer.slice(0,-1),error:void 0}:S),!0):(f.insertable||f.isPasted===!0)&&!f.ctrl&&!f.meta?(gr(S=>S&&S.kind==="input"?{...S,buffer:S.buffer+f.sequence,error:void 0}:S),!0):!1},{isActive:!!He,priority:xn.Critical}),Be(()=>{if(n.messages.length>0&&v.length===0){if(n.uiHistory?.length){let f=zr(n.uiHistory);f.length!==n.uiHistory.length&&(n.uiHistory=f),Y(bu({messages:n.messages,uiHistory:f}));return}Y(bu({messages:n.messages}))}},[n.messages,n.uiHistory,v.length,Y]),Be(()=>{af(n.gitRoot)},[n.gitRoot]),Be(()=>{process.env.KODAX_PREWARM_REPO_INTELLIGENCE!=="0"&&CC({executionCwd:n.runtimeInfo?.executionCwd??n.gitRoot??process.cwd(),gitRoot:n.gitRoot??void 0},{mode:N.repoIntelligenceMode})},[n.gitRoot,n.runtimeInfo?.executionCwd,N.repoIntelligenceMode]);let xl=X(()=>({onMemoryOutcomeDigest:i((f,x)=>{if(f.sessionId!==n.sessionId){e.events?.onMemoryOutcomeDigest?.(f,x);return}n.lineage=df(n.lineage??qe(n.messages),f,x?.jobId)},"onMemoryOutcomeDigest"),onMemoryReviewReceipt:i(f=>{if(f.sessionId!==void 0&&f.sessionId!==n.sessionId){e.events?.onMemoryReviewReceipt?.(f);return}n.lineage=ff(n.lineage??qe(n.messages),f)},"onMemoryReviewReceipt"),onMemoryNotice:i(f=>{if(f.sessionId!==void 0&&f.sessionId!==n.sessionId){e.events?.onMemoryNotice?.(f);return}let x=n.lineage??qe(n.messages),S=pf(x,{...f,createdAt:new Date().toISOString()});n.lineage=S,S!==x&&F({type:"info",text:`[memory] ${f.summaries.slice(0,3).join("; ")}`}),e.events?.onMemoryNotice?.(f)},"onMemoryNotice"),onThinkingDelta:i((f,x)=>{if(lt.current||Yn(x,"thinking",f,{append:!0}))return;j.currentTool&&(Te(void 0),Ke());let{header:S}=Fk(Fe()+f),I=S?`[Thinking: ${S}]`:"[Thinking]";kt(km(mt.current?.activeWorkerTitle?`[${mt.current.activeWorkerTitle}] ${I}`:I,mt.current?.activeWorkerTitle)),Se(f.length),Pe(f),at.current.workerId&&Td("thinking",f)},"onThinkingDelta"),onThinkingEnd:i((f,x)=>{if(lt.current||Yn(x,"thinking",f))return;let S=Fe(),I=Nk(S,f);I&&I!==S&&(se(),pe(),Se(I.length),Pe(I)),at.current.workerId&&Nw(I),Q()},"onThinkingEnd"),onTextDelta:i((f,x)=>{lt.current||Yn(x,"assistant",f,{append:!0})||(j.currentTool&&(Te(void 0),Ke()),Q(),kt(void 0),he(f),at.current.workerId&&Td("assistant",f))},"onTextDelta"),onToolUseStart:i((f,x)=>{if(lt.current||Yn(x,"tool",NR(f.name,f.input)))return;Mr.current.includes(f.name)||(Mr.current=[...Mr.current,f.name]);let S=mt.current?.activeWorkerTitle?`[${mt.current.activeWorkerTitle}] `:"",I={id:f.id,name:`${S}${f.name}`,status:V.Executing,startTime:Date.now(),input:f.input};Dw(I),at.current.workerId&&hr(I),kt(ko(I,mt.current?.activeWorkerTitle))},"onToolUseStart"),onToolInputDelta:i((f,x,S)=>{if(lt.current||Yn(S,"tool",f,{skipIfExisting:!0}))return;tt(x.length),Ct(x);let I=Bw(S?.toolId,f,k=>{let $=k.preview??"",D=Pk(`${$}${x}`);return{...k,preview:D||void 0,input:k.input?D?{...k.input,preview:D}:{...k.input}:D?{preview:D}:void 0}});I&&(at.current.workerId&&hr(I),kt(ko(I,mt.current?.activeWorkerTitle)))},"onToolInputDelta"),onToolResult:i((f,x)=>{if(lt.current||Yn(x,"tool",`${f.name} completed`))return;let S=typeof f.content=="string"?f.content:String(f.content??""),I=$k(S);if(/^\[(?:Tool Error|Error)\]/.test(S)){let $=Id(f.id,V.Error,I,I,f.name);$&&(at.current.workerId&&hr($),kt(ko($,mt.current?.activeWorkerTitle)));return}if(/^\[(?:Cancelled|Blocked)\]/.test(S)){let $=Id(f.id,V.Cancelled,void 0,I,f.name);$&&(at.current.workerId&&hr($),kt(ko($,mt.current?.activeWorkerTitle)));return}let k=Id(f.id,V.Success,void 0,I||void 0,f.name);k&&(at.current.workerId&&hr(k),kt(ko(k,mt.current?.activeWorkerTitle)))},"onToolResult"),onToolProgress:i((f,x)=>{if(lt.current||Yn(x,"progress",f.message))return;let S=f.message.length>100?f.message.slice(0,97)+"...":f.message,I=Ws(f.id,k=>({...k,preview:S,progressLines:[...(k.progressLines??[]).slice(-4),S]}));I&&at.current.workerId&&hr(I),kt(S)},"onToolProgress"),onStreamEnd:i(f=>{if(lt.current||gm(f))return;let x=Qc(V.Cancelled,()=>({error:"Stream ended before the tool completed.",output:void 0})),S=x[x.length-1];at.current.workerId&&x.forEach(I=>hr(I)),S&&kt(ko(S,mt.current?.activeWorkerTitle)),Q(),Ke(),Te(void 0)},"onStreamEnd"),onChildActivityEnd:i(f=>{_w(f)},"onChildActivityEnd"),hasPendingInputs:i(()=>zT.current.length>0,"hasPendingInputs"),onMidTurnUserMessages:i(f=>{if(!lt.current)for(let x of f){let S=x.trim();S&&(at.current.workerId?Qt({id:`mid-turn-user-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"user",text:S,timestamp:Date.now()}):F({type:"user",text:S}))}},"onMidTurnUserMessages"),onSidecarMessage:i(f=>{if(lt.current)return;let x=f.suggestedFix?`${f.content}
143
143
  Suggested fix: ${f.suggestedFix}`:f.content;if(f.delivery==="budget-exhausted")$w({type:"sidecar",text:x,delivery:"budget-exhausted"},"sidecar-message");else{let S=f.verdict==="blocked"?"blocked":"revise";$w({type:"sidecar",text:x,verdict:S},"sidecar-message")}},"onSidecarMessage"),onError:i(f=>{let x=No();x?.name&&kt(ko(x,mt.current?.activeWorkerTitle));let S=Qc(V.Error,()=>({error:f.message,output:void 0})),I=S[S.length-1];at.current.workerId&&S.forEach(je=>hr(je)),I&&kt(ko(I,mt.current?.activeWorkerTitle));let k=wC(f),$=["Transient","Permanent","Tool Call ID","User Abort"];if(k.category===Tl.USER_ABORT)return;let B=[`\u274C API Error (${$[k.category]||"Unknown"}): ${f.message}`];k.shouldCleanup&&B.push(" \u{1F9F9} Cleaned incomplete tool calls"),k.category===Tl.PERMANENT?(B.push(" \u{1F4A1} This error requires manual intervention. Please check:"),f.message.includes("auth")||f.message.includes("401")?(B.push(" - Your API key is valid"),B.push(" - Run /config to check provider settings")):f.message.includes("400")?(B.push(" - The request parameters are correct"),B.push(" - Try restarting the conversation")):B.push(" - The error details above")):k.category===Tl.TRANSIENT?B.push(" \u23F3 Retries exhausted. Press Enter to continue the conversation"):k.category===Tl.TOOL_CALL_ID&&B.push(" \u2705 Session cleaned, ready to continue");let te=B.join(`
144
144
  `);!!at.current.workerId?Qt({id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"error",text:te,timestamp:Date.now()}):F({type:"error",text:te})},"onError"),onRetry:i((f,x,S,I)=>{if(lt.current)return;let k=Ru(f,x,S);if(Kc(I,k.text)||Yn(I,"progress",k.text))return;!!at.current.workerId?Qt({...k,id:`retry-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):F(k)},"onRetry"),onProviderRecovery:i((f,x)=>{if(lt.current)return;let S=ku(f);if(Kc(x,S.text)||Yn(x,"progress",S.text))return;let I=!!at.current.workerId,k=G().trim();k&&(I?Td("assistant",k):F({type:"assistant",text:k})),Ge(),se(),Q(),Ke(),Te(void 0),Do(),kt(void 0),I?Qt({...S,id:`recovery-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):F(S)},"onProviderRecovery"),onManagedTaskStatus:i(f=>{if(lt.current)return;let x=at.current;if(u_(f)){if(x.workerId&&x.workerId!==f.activeWorkerId)gP({workerId:f.activeWorkerId,workerTitle:f.activeWorkerTitle});else if(x.workerId!==f.activeWorkerId){let D=It.current,B=D.activeToolGroupTools.some(te=>te.status===V.Executing);It.current={workerId:f.activeWorkerId,workerTitle:f.activeWorkerTitle,...B?{activeToolGroupItemId:D.activeToolGroupItemId,activeToolGroupTools:D.activeToolGroupTools}:{activeToolGroupTools:[]}},at.current={workerId:f.activeWorkerId,workerTitle:f.activeWorkerTitle}}}mt.current=f,dd(f);let S=Bk(f);yP(S);let I=hc(f),$=hc(f,{expanded:!0})??I;$&&(md.current=$)},"onManagedTaskStatus"),onProviderRateLimit:i((f,x,S,I)=>{if(lt.current)return;let k=eg.current;if(eg.current=null,kk(k,{attempt:f,maxAttempts:x,delayMs:S}))return;let $=`[Rate Limit] Retrying in ${S/1e3}s (${f}/${x})...`;Kc(I,$)||Yn(I,"progress",$)||Ln({type:"info",icon:"\u23F3",text:$},"ratelimit")},"onProviderRateLimit"),onRetryAfter:i((f,x)=>{if(lt.current)return;eg.current={attempt:f.attempt,maxAttempts:f.maxAttempts,waitMs:f.waitMs};let S=Math.round(f.waitMs/1e3),I=f.source==="exponential-backoff"?"no-header \u2192 backoff":f.source,$=`[${f.reason==="overloaded"?"Overloaded":"Rate limited"}] (${f.provider}) \u2014 retrying in ${S}s [${I}] (${f.attempt}/${f.maxAttempts})`;Kc(x,$)||Yn(x,"progress",$)||Ln({type:"info",icon:"\u23F3",text:$},"ratelimit")},"onRetryAfter"),onReasoningEffortRejected:i(f=>{cC(f.provider,f.model,f.effort,"observed",new Date().toISOString());let S=Ui({provider:f.provider,model:f.model,effort:vt.current.effort,effortOverride:vt.current.effortOverride,permissionMode:vt.current.permissionMode,planModeEffort:vt.current.planModeEffort,thinking:vt.current.thinking,reasoningMode:vt.current.reasoningMode}).runtimeEffort;_e(I=>({...I,effort:S,effortOverride:S!==void 0})),Gi({effort:S}),$e.current.effort=S,Ln({type:"info",icon:"\u26A0",text:`[${f.provider}/${f.model} \u4E0D\u652F\u6301 effort "${f.effort}",\u5DF2\u8BB0\u5F55;\u540E\u7EED\u4E0D\u518D\u63D0\u4F9B\u8BE5\u6863${S?`,\u5DF2\u5207\u5230 ${S}`:""}]`},"ratelimit")},"onReasoningEffortRejected"),onRepoIntelligenceTrace:i(f=>{lt.current||Ln(Qk(f),"repointel-trace")},"onRepoIntelligenceTrace"),onTodoUpdate:i(f=>{lt.current||ro(f)},"onTodoUpdate"),onScoutSuspiciousCompletion:i(f=>{lt.current||d_&&Ln({type:"info",icon:"\u26A0",text:`[Scout] Completion marked uncertain \u2014 signals: ${f.signals.join(", ")}. Verify the result before continuing.`},"scout-uncertain")},"onScoutSuspiciousCompletion"),onIterationStart:i((f,x)=>{if(lt.current)return;if(x&&Jt(x),mt.current?.globalWorkBudget){let oe={...mt.current,budgetUsage:Math.min(mt.current.globalWorkBudget,(mt.current.budgetUsage??0)+1)};mt.current=oe,dd(oe)}let S=f>1?Fe().trim():"",I=f>1?Zx(G()):"",k=f>1?[...Mr.current]:[],$=f>1?[...ln.current]:[],D=!!at.current.workerId;xt(f),D&&xd({clearOwner:!1});let B=oo.current.filter(oe=>oe.status===V.Executing),te=new Set(B.map(oe=>oe.id));if(Mr.current=[],ln.current=ln.current.filter(oe=>te.has(oe.id)),zn(B),Ke(),Te(void 0),kt(km(mt.current?.activeWorkerTitle?`[Thinking] [${mt.current.activeWorkerTitle}]`:void 0,mt.current?.activeWorkerTitle)),pe(),f>1&&!D){let oe=eS({thinking:S,response:I,toolCalls:$,toolNames:k});_s.current?_s.current(oe):Y([...oe])}},"onIterationStart"),beforeToolExecute:i(async(f,x)=>{let S=On.current,I=ga(S),k=VT.current,$=n.gitRoot;if(Cf(S,Hh))return!0;if($C(O.current,f,x))return`[Skipped] Previously denied operation. ${OC(O.current)}`;if(S==="plan"&&(ho.has(f)||f==="undo"))return`[Blocked] Tool '${f}' is not allowed in plan mode (read-only). ${a_}`;if(S==="plan"&&f==="bash"){let D=x.command??"";if(yo(D))return`[Blocked] Bash write operation not allowed in plan mode: ${D.slice(0,50)}... ${a_}`}if(f==="bash"){let D=x.command??"";if(go(D))return!0}if(f==="bash"){let D=x.command??"",B=LC(D);if(B.level==="dangerous"){let te=await fo(f,{...x,_dangerousCommand:!0});return te.confirmed?te.confirmed:(O.current=hg(O.current,f,x,B.reason),`[Blocked] Dangerous command requires confirmation: ${B.reason}`)}}if($){let D=!1;if(ho.has(f)){let B=x.path;B&&ha(B,$)&&(D=!0)}if(f==="bash"){let B=x.command;B&&Sf(B,$)&&(D=!0)}if(D){let B=await fo(f,{...x,_alwaysConfirm:!0});if(On.current==="plan"&&(ho.has(f)||f==="undo"))return!1;if(On.current==="plan"&&f==="bash"){let te=x.command??"";if(yo(te))return!1}return B.confirmed}}if(I.has(f)){if(S==="accept-edits"&&f==="bash"&&await ma(f,x,k,Qh.current??void 0))return!0;let D=await fo(f,x);if(On.current==="plan"&&(ho.has(f)||f==="undo"))return!1;if(On.current==="plan"&&f==="bash"){let B=x.command??"";if(yo(B))return!1}if(!D.confirmed)return F({type:"info",text:ne("cancelled")}),O.current=hg(O.current,f,x),!1;D.always&&S==="accept-edits"&&(Mf(f,x,!1),VT.current=ba())}return!0},"beforeToolExecute"),askUser:i(async f=>{let x=Ux(f.options?Gm(f.options):[],f),S=await uo(Gx(f),x,f.multiSelect,{minSelections:f.minSelections,maxSelections:f.maxSelections});if(S===void 0)return pa;if(S===$r){let I=await Zs(f.customInputPrompt??f.question,f.customInputDefault);return I===void 0?pa:{kind:"customInput",value:I}}if(Array.isArray(S)&&S.includes($r)){let I=await Zs(f.customInputPrompt??f.question,f.customInputDefault);return I===void 0?pa:S.map(k=>k===$r?{kind:"customInput",value:I}:k)}return S},"askUser"),exitPlanMode:i(async f=>On.current!=="plan"?"not-in-plan-mode":(await fo("exit_plan_mode",{plan:f})).confirmed?(Zh("accept-edits"),!0):!1,"exitPlanMode"),askUserMulti:i(async f=>{let x=f.questions,S={},I=0;for(;I<x.length;){let k=x[I],$=Ux(Gm(k.options),k);I>0&&$.push({label:ne("select.back_prev"),value:ag});let D=`[${I+1}/${x.length}] ${k.question}`,B=await uo(D,$,k.multiSelect,{minSelections:k.minSelections,maxSelections:k.maxSelections});if(B===void 0)return;if(!Array.isArray(B)&&B===ag){I--;continue}if(!Array.isArray(B)&&B===$r){let te=await Zs(k.customInputPrompt??k.question,k.customInputDefault);if(te===void 0)return;S[k.question]={kind:"customInput",value:te},I++;continue}if(Array.isArray(B)&&B.includes($r)){let te=await Zs(k.customInputPrompt??k.question,k.customInputDefault);if(te===void 0)return;S[k.question]=B.map(oe=>oe===$r?{kind:"customInput",value:te}:oe),I++;continue}S[k.question]=B,I++}return S},"askUserMulti"),askUserInput:i(async f=>Zs(f.question,f.default),"askUserInput"),onCompactStart:i(()=>{Ye()},"onCompactStart"),onCompactStats:i(f=>{Bc.current=f.tokensBefore,ur(f.tokensAfter)},"onCompactStats"),onCompactedMessages:i(async(f,x,S)=>{let I=vm(n.lineage,f,x,S);if(!I)return;n.messages=f,x?.artifactLedger&&x.artifactLedger.length>0&&(n.artifactLedger=Fi(n.artifactLedger??[],x.artifactLedger),n.sessionSnapshotDirty=!0),n.lineage=I;let k=Di(f);if(n.contextTokenSnapshot={currentTokens:k,baselineEstimatedTokens:k,source:"estimate"},br(n),ur(k),e.runtimeRunner){n.lineage===I&&(n.lineage=la(I));return}let $=td.current;if(!$)throw new Error("Ink REPL compaction persistence is not initialized.");try{await $(),n.lineage===I&&(n.lineage=la(I))}catch(D){throw ht({source:"repl:compaction",level:"error",message:"Failed to durably persist compacted session history.",detail:D}),D}},"onCompactedMessages"),onCompact:i(f=>{_t();let x=Bc.current??f;Bc.current=null;let S=Math.round(x/1e3);Ln({type:"info",icon:"\u2728",text:`Context auto-compacted (was ~${S}k tokens)`},"compact")},"onCompact"),onCompactEnd:i(()=>{Bc.current=null,_t()},"onCompactEnd"),onIterationEnd:i(f=>{f.scope!=="worker"&&(n.contextTokenSnapshot=f.contextTokenSnapshot),ur(f.tokenCount)},"onIterationEnd")}),[Se,Pe,Q,he,Te,tt,Ct,Ke,xt,pe,N,n,Ye,_t,F,se,Fe,G,xd,kt,Td,Nw,hr,Dw,Bw,Id,Qc,No,Do,zn,_w,Kc,Yn,Ln,j.currentTool]),fo=i((f,x,S)=>{let I=Lk(f,x),k=S?.map(B=>B.label)??[],$=S===void 0?[]:[cc,...k.map(B=>`Runtime scope: ${B}`)],D=$.length>0?`${I}
145
145
  ${$.join(`
@@ -171,7 +171,7 @@ Suggestion: Set the required API key environment variable`:Oe.message.includes("
171
171
  Suggestion: Check your internet connection`:(Oe.message.includes("token")||Oe.message.includes("context too long"))&&(Qn=`[Context Error] ${Oe.message}
172
172
  Suggestion: Use /clear to start fresh`),console.log=nt,at.current.workerId?Qt({id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"error",text:Qn,timestamp:Date.now()}):Jn([{type:"error",text:Qn}]),Hf({error:Oe,messageCount:n.messages.length})){let xr={type:"info",text:El};if(at.current.workerId?(Qt({id:`recover-hint-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,...xr,timestamp:Date.now()}),qd([xr])):Jn([xr]),(await fo("confirm",{_alwaysConfirm:!0,_message:Ff})).confirmed)try{await QT(nn)}catch(Pr){let ia=Pr instanceof Error?Pr.message:String(Pr);Jn([{type:"error",text:`[Recover failed] ${ia}`}])}}}}finally{if(console.log=nt,Oi.length>0){let Oe=Oi.filter((Qn,xr,jo)=>jo.indexOf(Qn)===xr),Dn=Jx(Oe);Dn&&F({type:"info",text:Dn})}if(!lt.current){let Oe=Qc(V.Cancelled,()=>({error:"Run ended before the tool result was observed.",output:void 0}));Oe.length>0&&at.current.workerId&&Oe.forEach(Dn=>hr(Dn))}Z(!1),me(),Ge(),Ah(),se();let Ee=Di(n.messages);n.contextTokenSnapshot={currentTokens:Ee,baselineEstimatedTokens:Ee,source:"estimate"},ur(Ee)}},[to,n,N,gh,j.pendingInputs.length,o,Xe,He,T,l,F,re,de,me,Ge,xl,ZT,ve,G,Fe,Qt,ta,Jn,rg,Sl,po,qd,Nn,ra,ng,Ye,_t,Do,Ah,Qc,hr,Mi,Gc,Vc]),eC=Kt.shouldRender?fe(A,{paddingX:1,children:fe(gk,{viewModel:Kt})}):void 0,tC=H&&co.shouldRender?fe(A,{paddingX:1,children:fe(pk,{viewModel:co})}):void 0,nC=tT?fe(A,{paddingX:1,children:fe(xm,{viewModel:Nh})}):void 0,HP=eC||tC||nC?Mn(A,{flexDirection:"column",children:[tC,eC,nC]}):void 0,rC=Kt.shouldRender?Kt.counterText:void 0,WP=fe(du,{left:fe(lu,{items:yT}),right:fe(uu,{items:xT}),queued:fe(mm,{pendingInputs:j.pendingInputs}),stashNotice:fe(xu,{text:Hd}),notifications:fe(yu,{notifications:Fd}),inlineNotices:Gh.length>0?fe(hm,{notices:Gh}):void 0,activityBar:lo?Mn(A,{paddingX:1,flexDirection:"row",children:[Mn(A,{flexGrow:1,children:[lo?.showSpinner?fe(Hn,{color:ce("dark").colors.accent}):null,lo?Mn(R,{color:lo.kind==="waiting"?ce("dark").colors.warning:ce("dark").colors.accent,wrap:"truncate",children:[lo.showSpinner?" ":"",lo.text]}):null,lo?.showSpinner&&j.roundStartedAt!=null?fe(h0,{roundStartedAt:j.roundStartedAt,charCount:j.currentResponse.length,theme:ce("dark")}):null]}),rC?fe(R,{dimColor:!0,wrap:"truncate",children:rC}):H&&co.shouldRender?fe(R,{dimColor:!0,wrap:"truncate",children:xk(co)}):null]}):void 0,todoSurface:HP,composer:fe(am,{onSubmit:FP,onHistoryRecall:BP,onPopPendingInputs:i(()=>{let f=U();if(f.length!==0)return f.join(`
173
173
  ---
174
- `)},"onPopPendingInputs"),prompt:">",placeholder:PM({isLoading:H,canQueueFollowUps:gh,waitingReason:Wh}),focus:!Xe&&!He&&!St,cwd:process.cwd(),gitRoot:e.context?.gitRoot||n.gitRoot,onInputChange:SP,onPasteFallback:MP}),inlineSuggestions:kP,helpSurface:Fw?fe(lm,{sections:$m()}):void 0,taskBar:ll?fe(Su,{items:Ks.backgroundTask.items,overflowLabel:Ks.backgroundTask.overflowLabel,ctaHint:Ks.backgroundTask.ctaHint,showSpinner:H}):void 0,statusLine:fe(A,{children:fe(us,{...Dd,viewModel:hT})}),inlineDialogs:_P}),jP=fe(du,{left:fe(lu,{items:yT}),right:fe(uu,{items:xT}),stashNotice:fe(xu,{text:Hd}),notifications:fe(yu,{notifications:Fd}),composer:fe(lk,{searchActive:St,selectionActive:!!(ao||ct),showAllActive:Vt,searchQuery:gn,searchCurrent:zt.length>0?Ho+1:0,searchCount:zt.length,searchDetailText:Fh,pendingLiveUpdates:rl,secondaryText:bP}),taskBar:ll?fe(Su,{items:Ks.backgroundTask.items,overflowLabel:Ks.backgroundTask.overflowLabel,ctaHint:Ks.backgroundTask.ctaHint,showSpinner:wt}):void 0,statusLine:fe(A,{children:fe(us,{...Dd,viewModel:jh})})}),og=X(f=>fe(uk,{banner:f?.bannerVisible?fe(Qx,{...Ai}):void 0,items:il,isLoading:yn,viewportRows:tn.messageRows,viewportWidth:ee,scrollOffset:dr,windowed:!!f?.rendererWindow,rendererWindow:f?.rendererWindow,transcriptModel:f?.rendererWindow?al:LT,maxLines:Bt,selectedTextRanges:$h?ud?.rowRanges:void 0,onMetricsChange:jd,onVisibleRowsChange:Ud}),[Ai,il,yn,jd,Ud,dr,LT,ee,Bt,ud?.rowRanges,tn.messageRows,$h]),ig=X(f=>fe(dk,{banner:f?.bannerVisible?fe(Qx,{...Ai}):void 0,items:ol,browse:{hintText:Wo.browseHintText},selection:Wd,search:lT,isLoading:wt,isThinking:ke.isThinking,thinkingCharCount:ke.thinkingCharCount,thinkingContent:ke.thinkingContent,streamingResponse:ke.currentResponse,currentTool:ke.currentTool,activeToolCalls:ke.activeToolCalls,toolInputCharCount:ke.toolInputCharCount,toolInputContent:ke.toolInputContent,iterationHistory:ke.iterationHistory,currentIteration:ke.currentIteration,isCompacting:ke.isCompacting,agentMode:N.agentMode,managedPhase:wt?J?.phase:void 0,managedHarnessProfile:wt?J?.harnessProfile:void 0,managedWorkerTitle:wt?J?.activeWorkerTitle:void 0,managedRound:wt?J?.currentRound:void 0,managedMaxRounds:wt?J?.maxRounds:void 0,managedGlobalWorkBudget:wt?J?.globalWorkBudget:void 0,managedBudgetUsage:wt?J?.budgetUsage:void 0,managedBudgetApprovalRequired:wt?J?.budgetApprovalRequired:void 0,lastLiveActivityLabel:ke.lastLiveActivityLabel,liveStatusLines:Gs,viewportRows:tn.messageRows,viewportWidth:ee,scrollOffset:dr,windowed:!!f?.windowed,animateSpinners:!!f?.rendererWindow&&Ys,rendererWindow:f?.rendererWindow,transcriptModel:f?.rendererWindow?al:Ad,maxLines:Bt,showDetailedTools:Vt,showAllContent:Vt,selectedItemId:Xn.selectionEnabled?ct:void 0,selectedTextRanges:no?.rowRanges,expandedItemKeys:Xn.selectionEnabled?An:void 0,onMetricsChange:jd,onVisibleRowsChange:Ud}),[Ai,N.agentMode,wt,An,c.transcriptSpinnerAnimation,jd,Ud,dr,Yw,J?.activeWorkerTitle,J?.budgetApprovalRequired,J?.budgetUsage,J?.currentRound,J?.globalWorkBudget,J?.harnessProfile,J?.maxRounds,J?.phase,al,Ad,Wo.browseHintText,ct,Wd,ee,Ys,ol,Bt,ke.activeToolCalls,ke.currentIteration,ke.currentResponse,ke.currentTool,ke.isCompacting,ke.isThinking,ke.iterationHistory,ke.lastLiveActivityLabel,ke.thinkingCharCount,ke.thinkingContent,ke.toolInputCharCount,ke.toolInputContent,Gs,no?.rowRanges,lT,Vt,tn.messageRows]),UP=ue?ig({bannerVisible:!1,windowed:Ft}):og({bannerVisible:!1}),oC=ue?jP:WP,GP=c.enabled&&_i,iC=Mn(A,{flexDirection:"column",width:ee,flexShrink:0,flexGrow:GP?1:0,children:[fe(mx,{currentConfig:N,setCurrentConfig:_e,isLoading:H,abort:be,stopThinking:Q,clearThinkingContent:se,setCurrentTool:Te,setIsLoading:Z,onToggleHelp:xP,setShowHelp:Hw,onSetThinking:i(f=>{$e.current.thinking=f},"onSetThinking"),onSetReasoningMode:i(f=>{$e.current.reasoningMode=f,$e.current.thinking=f!=="off"},"onSetReasoningMode"),onToggleTranscriptMode:AP,onOpenTranscriptSearch:Yh,canOpenTranscriptSearch:ue&&!Xe&&!He,isInteractiveDialogActive:!!(Xe||He),onSetAgentMode:i(f=>{$e.current.agentMode=f},"onSetAgentMode"),onSetPermissionMode:i(f=>{Zh(f)},"onSetPermissionMode"),isInputEmpty:Wc,onSavePermissionMode:MI}),lr&&(c.enabled?null:fe(Wa,{items:[1],children:i(()=>fe(Qx,{...Ai},"banner"),"children")})),_i?fe(rm,{width:ee,stickyHeader:Wo.stickyHeader,jumpToLatest:Wo.jumpToLatest,transcript:!c.enabled||!Ft?ue?ig({bannerVisible:!1}):og({bannerVisible:!1}):void 0,renderTranscriptWindow:c.enabled&&Ft?f=>(()=>{let S=pl(f).contentWindow;return ue?ig({bannerVisible:!1,windowed:!0,rendererWindow:S}):og({bannerVisible:!1,rendererWindow:S})})():void 0,overlay:Jh,scrollTop:dr,scrollHeight:fl,viewportHeight:tn.messageRows,stickyScroll:!ue&&!_r&&Th,overscanRows:T2,scrollRef:oP,onWindowChange:EP,onScrollTopChange:sP,onStickyChange:aP,footer:oC}):Mn(n2,{children:[Mn(A,{flexDirection:"column",flexGrow:1,children:[UP,Jh?fe(A,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:Jh}):null]}),oC]})]});return Ph?fe(oy,{mouseTracking:Bo.usesRendererMouseTracking,children:iC}):iC},"InkREPLInner"),R2=i(e=>{let t=process.cwd(),n=e.options?.context?.gitRoot??void 0;return fe(mu,{children:fe(Cu,{getPendingInputAgentId:i(()=>Qd(e.context.sessionId,"/root"),"getPendingInputAgentId"),children:fe(Jl,{children:fe(fx,{children:fe(Mp,{cwd:t,gitRoot:n,children:fe(b2,{...e})})})})})})},"InkREPL");function k2(){return process.stdin.isTTY===!0&&typeof process.stdin.setRawMode=="function"}i(k2,"isRawModeSupported");async function zm(e){if(!k2())throw new pg("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 ms,n=qo(),r=Jo(),o=Qo(n,r),{prepareRuntimeConfig:s}=await import("./utils-Z2RSAENX.js"),{loadCompactionConfig:a}=await import("./compaction-config-IDL5JQVI.js"),{resolveProvider:c}=await import("./dist-RKBHBUHV.js"),l=s(),u=Sa({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,configuredProvider:l.provider,defaultProvider:Jd}),d=wa({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,explicitModel:e.model,configuredProvider:l.provider,configuredModel:l.model}),p=u2(e,l),m=Ta({explicitEffort:e.effort,environmentEffort:process.env.KODAX_EFFORT,configuredEffort:l.effort}),h=kf(e,l,process.env.KODAX_EFFORT),g=e.agentMode??l.agentMode??"ama",T=p!=="off",w=ya(l.permissionMode,"accept-edits")??"accept-edits",C=gf(),b=l.repoIntelligenceTrace===!0,_={provider:u,model:d,effort:m,effortOverride:h,planModeEffort:l.planModeEffort,thinking:T,reasoningMode:p,agentMode:g,permissionMode:w,repoIntelligenceMode:C.mode,repoIntelligenceTrace:b},M=e.session?.id,E=[],v,W,O,F,Y,re="",q=await Dr({cwd:process.cwd()}),y=q.workspaceRoot??void 0,L=q,ee=y,j=rf({meta:{cwd:process.cwd(),startedAt:Date.now()}});if(j){let Q=i(()=>{j.shutdown()},"teamModeCleanup");process.on("exit",Q),process.on("SIGTERM",Q)}try{let{bootstrapConstructionRuntime:Q}=await import("./construction-bootstrap-STYUR6XA.js"),se=await Q(y??process.cwd());if(se.loaded>0||se.failed>0||se.tampered>0){let Te=se.failed>0?`; ${se.failed} failed`:"",tt=se.tampered>0?`; ${se.tampered} skipped due to manifest contentHash mismatch \u2014 re-stage and re-activate to re-approve`:"";ht({source:"repl:construction",level:se.failed>0||se.tampered>0?"warn":"info",message:`Rehydrated ${se.loaded} active tool(s)${Te}${tt}.`})}if(se.markdownLoaded>0||se.markdownFailures.length>0){ht({source:"repl:agents",level:se.markdownFailures.length>0?"warn":"info",message:`Loaded ${se.markdownLoaded} markdown agent(s).`});for(let Te of se.markdownFailures)ht({source:"repl:agents",level:"warn",message:`Skipped markdown agent ${Te.path}: ${Te.reason}`})}}catch(Q){ht({source:"repl:construction",level:"warn",message:`Bootstrap failed: ${Q.message}. Self-construction disabled this session.`})}let ae;try{let Q=await a(y),se=c(u);ae={contextWindow:Q.contextWindow??se.getContextWindow?.()??2e5,triggerPercent:Q.triggerPercent,triggerTokens:Q.triggerTokens,enabled:Q.enabled,reservedResponseTokens:se.getEffectiveMaxOutputTokens?.(d),userOverrideContextWindow:Q.contextWindow}}catch{}if(e.session?.id&&!e.session.resume){let Q=await t.load(e.session.id);Q&&(E=Q.messages,v=di(Q.uiHistory),W=Q.lineage,O=Q.artifactLedger,F=Q.extensionState,Y=Q.extensionRecords,re=Q.title,M=e.session.id,L=In(Q)??q,ee=L.workspaceRoot??void 0,e={...e,session:{...e.session??{},id:M,tag:Q.tag}},console.log(gt.green(`[Session loaded: ${M}]`)))}else if(e.session?.resume||e.session?.autoResume){let Q=await fc(t,y);if(Q){let se=await t.load(Q.id);se&&(E=se.messages,v=di(se.uiHistory),W=se.lineage,O=se.artifactLedger,F=se.extensionState,Y=se.extensionRecords,re=se.title,M=Q.id,L=In(se)??q,ee=L.workspaceRoot??void 0,e={...e,session:{...e.session??{},id:M,tag:se.tag}},console.log(gt.green(`[Continuing session: ${Q.id}]`)))}}let de=await uc({sessionId:M,gitRoot:ee,runtimeInfo:L,existingMessages:E,existingUiHistory:v,existingLineage:W,existingArtifactLedger:O,existingExtensionState:F,existingExtensionRecords:Y});de.title=re,e={...e,context:{...e.context,gitRoot:de.gitRoot??void 0,executionCwd:de.runtimeInfo?.executionCwd??de.gitRoot??process.cwd()}},j?.writer.update({sessionId:de.sessionId});let me={current:null},be={current:null},pe={current:_},Se=va(),Pe=await dc({askUser:i(async(Q,se,Te)=>{let tt=me.current;return tt?tt(Q,se,Te):"block"},"askUser"),projectRoot:y??process.cwd(),executionCwd:L.executionCwd??y??process.cwd(),getCurrentProviderName:i(()=>pe.current.provider,"getCurrentProviderName"),getCurrentModel:i(()=>pe.current.model,"getCurrentModel"),getCurrentPermissionMode:i(()=>pe.current.permissionMode,"getCurrentPermissionMode"),autoModeSettings:Se,log:i((Q,se)=>{ht({source:"repl:auto-mode",level:Q==="warn"?"warn":"info",message:se})},"log"),onEngineChange:i(Q=>{be.current?.(Q)},"onEngineChange"),extraCollectors:[Ia]});try{let Q=process.stdout,se=process.stdin,Te=!1,{waitUntilExit:tt,cleanup:Ct}=Ha(fe(R2,{options:e,config:_,context:de,startupRuntimeInfo:q,storage:t,autoModeSettings:lc(Se),compactionInfo:ae,rendererMode:r,fullscreenPolicy:o,autoModeBootstrap:Pe,setAutoModeAskUser:i(Ge=>{me.current=Ge},"setAutoModeAskUser"),setAutoModeEngineChange:i(Ge=>{be.current=Ge},"setAutoModeEngineChange"),setCurrentConfigRef:i(Ge=>{pe.current=Ge},"setCurrentConfigRef"),teamModeHandle:j,onExit:i(()=>{Te=!0},"onExit")}),{stdout:Q,stdin:se,exitOnCtrlC:!1,patchConsole:!1,maxFps:30,shellMode:o.enabled?o.promptShell:"main-screen"});await tt(),Ct(),j?.shutdown(),se.isTTY===!0&&typeof se.setRawMode=="function"&&se.isRaw&&se.setRawMode(!1),se.pause?.(),se.unref?.(),Te&&console.log(gt.dim(`
174
+ `)},"onPopPendingInputs"),prompt:">",placeholder:PM({isLoading:H,canQueueFollowUps:gh,waitingReason:Wh}),focus:!Xe&&!He&&!St,cwd:process.cwd(),gitRoot:e.context?.gitRoot||n.gitRoot,onInputChange:SP,onPasteFallback:MP}),inlineSuggestions:kP,helpSurface:Fw?fe(lm,{sections:$m()}):void 0,taskBar:ll?fe(Su,{items:Ks.backgroundTask.items,overflowLabel:Ks.backgroundTask.overflowLabel,ctaHint:Ks.backgroundTask.ctaHint,showSpinner:H}):void 0,statusLine:fe(A,{children:fe(us,{...Dd,viewModel:hT})}),inlineDialogs:_P}),jP=fe(du,{left:fe(lu,{items:yT}),right:fe(uu,{items:xT}),stashNotice:fe(xu,{text:Hd}),notifications:fe(yu,{notifications:Fd}),composer:fe(lk,{searchActive:St,selectionActive:!!(ao||ct),showAllActive:Vt,searchQuery:gn,searchCurrent:zt.length>0?Ho+1:0,searchCount:zt.length,searchDetailText:Fh,pendingLiveUpdates:rl,secondaryText:bP}),taskBar:ll?fe(Su,{items:Ks.backgroundTask.items,overflowLabel:Ks.backgroundTask.overflowLabel,ctaHint:Ks.backgroundTask.ctaHint,showSpinner:wt}):void 0,statusLine:fe(A,{children:fe(us,{...Dd,viewModel:jh})})}),og=X(f=>fe(uk,{banner:f?.bannerVisible?fe(Qx,{...Ai}):void 0,items:il,isLoading:yn,viewportRows:tn.messageRows,viewportWidth:ee,scrollOffset:dr,windowed:!!f?.rendererWindow,rendererWindow:f?.rendererWindow,transcriptModel:f?.rendererWindow?al:LT,maxLines:Bt,selectedTextRanges:$h?ud?.rowRanges:void 0,onMetricsChange:jd,onVisibleRowsChange:Ud}),[Ai,il,yn,jd,Ud,dr,LT,ee,Bt,ud?.rowRanges,tn.messageRows,$h]),ig=X(f=>fe(dk,{banner:f?.bannerVisible?fe(Qx,{...Ai}):void 0,items:ol,browse:{hintText:Wo.browseHintText},selection:Wd,search:lT,isLoading:wt,isThinking:ke.isThinking,thinkingCharCount:ke.thinkingCharCount,thinkingContent:ke.thinkingContent,streamingResponse:ke.currentResponse,currentTool:ke.currentTool,activeToolCalls:ke.activeToolCalls,toolInputCharCount:ke.toolInputCharCount,toolInputContent:ke.toolInputContent,iterationHistory:ke.iterationHistory,currentIteration:ke.currentIteration,isCompacting:ke.isCompacting,agentMode:N.agentMode,managedPhase:wt?J?.phase:void 0,managedHarnessProfile:wt?J?.harnessProfile:void 0,managedWorkerTitle:wt?J?.activeWorkerTitle:void 0,managedRound:wt?J?.currentRound:void 0,managedMaxRounds:wt?J?.maxRounds:void 0,managedGlobalWorkBudget:wt?J?.globalWorkBudget:void 0,managedBudgetUsage:wt?J?.budgetUsage:void 0,managedBudgetApprovalRequired:wt?J?.budgetApprovalRequired:void 0,lastLiveActivityLabel:ke.lastLiveActivityLabel,liveStatusLines:Gs,viewportRows:tn.messageRows,viewportWidth:ee,scrollOffset:dr,windowed:!!f?.windowed,animateSpinners:!!f?.rendererWindow&&Ys,rendererWindow:f?.rendererWindow,transcriptModel:f?.rendererWindow?al:Ad,maxLines:Bt,showDetailedTools:Vt,showAllContent:Vt,selectedItemId:Xn.selectionEnabled?ct:void 0,selectedTextRanges:no?.rowRanges,expandedItemKeys:Xn.selectionEnabled?An:void 0,onMetricsChange:jd,onVisibleRowsChange:Ud}),[Ai,N.agentMode,wt,An,c.transcriptSpinnerAnimation,jd,Ud,dr,Yw,J?.activeWorkerTitle,J?.budgetApprovalRequired,J?.budgetUsage,J?.currentRound,J?.globalWorkBudget,J?.harnessProfile,J?.maxRounds,J?.phase,al,Ad,Wo.browseHintText,ct,Wd,ee,Ys,ol,Bt,ke.activeToolCalls,ke.currentIteration,ke.currentResponse,ke.currentTool,ke.isCompacting,ke.isThinking,ke.iterationHistory,ke.lastLiveActivityLabel,ke.thinkingCharCount,ke.thinkingContent,ke.toolInputCharCount,ke.toolInputContent,Gs,no?.rowRanges,lT,Vt,tn.messageRows]),UP=ue?ig({bannerVisible:!1,windowed:Ft}):og({bannerVisible:!1}),oC=ue?jP:WP,GP=c.enabled&&_i,iC=Mn(A,{flexDirection:"column",width:ee,flexShrink:0,flexGrow:GP?1:0,children:[fe(mx,{currentConfig:N,setCurrentConfig:_e,isLoading:H,abort:be,stopThinking:Q,clearThinkingContent:se,setCurrentTool:Te,setIsLoading:Z,onToggleHelp:xP,setShowHelp:Hw,onSetThinking:i(f=>{$e.current.thinking=f},"onSetThinking"),onSetReasoningMode:i(f=>{$e.current.reasoningMode=f,$e.current.thinking=f!=="off"},"onSetReasoningMode"),onToggleTranscriptMode:AP,onOpenTranscriptSearch:Yh,canOpenTranscriptSearch:ue&&!Xe&&!He,isInteractiveDialogActive:!!(Xe||He),onSetAgentMode:i(f=>{$e.current.agentMode=f},"onSetAgentMode"),onSetPermissionMode:i(f=>{Zh(f)},"onSetPermissionMode"),isInputEmpty:Wc,onSavePermissionMode:MI}),lr&&(c.enabled?null:fe(Wa,{items:[1],children:i(()=>fe(Qx,{...Ai},"banner"),"children")})),_i?fe(rm,{width:ee,stickyHeader:Wo.stickyHeader,jumpToLatest:Wo.jumpToLatest,transcript:!c.enabled||!Ft?ue?ig({bannerVisible:!1}):og({bannerVisible:!1}):void 0,renderTranscriptWindow:c.enabled&&Ft?f=>(()=>{let S=pl(f).contentWindow;return ue?ig({bannerVisible:!1,windowed:!0,rendererWindow:S}):og({bannerVisible:!1,rendererWindow:S})})():void 0,overlay:Jh,scrollTop:dr,scrollHeight:fl,viewportHeight:tn.messageRows,stickyScroll:!ue&&!_r&&Th,overscanRows:T2,scrollRef:oP,onWindowChange:EP,onScrollTopChange:sP,onStickyChange:aP,footer:oC}):Mn(n2,{children:[Mn(A,{flexDirection:"column",flexGrow:1,children:[UP,Jh?fe(A,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:Jh}):null]}),oC]})]});return Ph?fe(oy,{mouseTracking:Bo.usesRendererMouseTracking,children:iC}):iC},"InkREPLInner"),R2=i(e=>{let t=process.cwd(),n=e.options?.context?.gitRoot??void 0;return fe(mu,{children:fe(Cu,{getPendingInputAgentId:i(()=>Qd(e.context.sessionId,"/root"),"getPendingInputAgentId"),children:fe(Jl,{children:fe(fx,{children:fe(Mp,{cwd:t,gitRoot:n,children:fe(b2,{...e})})})})})})},"InkREPL");function k2(){return process.stdin.isTTY===!0&&typeof process.stdin.setRawMode=="function"}i(k2,"isRawModeSupported");async function zm(e){if(!k2())throw new pg("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 ms,n=qo(),r=Jo(),o=Qo(n,r),{prepareRuntimeConfig:s}=await import("./utils-7DKE2EKT.js"),{loadCompactionConfig:a}=await import("./compaction-config-SSQ5NXUP.js"),{resolveProvider:c}=await import("./dist-MIXP4ULB.js"),l=s(),u=Sa({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,configuredProvider:l.provider,defaultProvider:Jd}),d=wa({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,explicitModel:e.model,configuredProvider:l.provider,configuredModel:l.model}),p=u2(e,l),m=Ta({explicitEffort:e.effort,environmentEffort:process.env.KODAX_EFFORT,configuredEffort:l.effort}),h=kf(e,l,process.env.KODAX_EFFORT),g=e.agentMode??l.agentMode??"ama",T=p!=="off",w=ya(l.permissionMode,"accept-edits")??"accept-edits",C=gf(),b=l.repoIntelligenceTrace===!0,_={provider:u,model:d,effort:m,effortOverride:h,planModeEffort:l.planModeEffort,thinking:T,reasoningMode:p,agentMode:g,permissionMode:w,repoIntelligenceMode:C.mode,repoIntelligenceTrace:b},M=e.session?.id,E=[],v,W,O,F,Y,re="",q=await Dr({cwd:process.cwd()}),y=q.workspaceRoot??void 0,L=q,ee=y,j=rf({meta:{cwd:process.cwd(),startedAt:Date.now()}});if(j){let Q=i(()=>{j.shutdown()},"teamModeCleanup");process.on("exit",Q),process.on("SIGTERM",Q)}try{let{bootstrapConstructionRuntime:Q}=await import("./construction-bootstrap-E4M3CY3N.js"),se=await Q(y??process.cwd());if(se.loaded>0||se.failed>0||se.tampered>0){let Te=se.failed>0?`; ${se.failed} failed`:"",tt=se.tampered>0?`; ${se.tampered} skipped due to manifest contentHash mismatch \u2014 re-stage and re-activate to re-approve`:"";ht({source:"repl:construction",level:se.failed>0||se.tampered>0?"warn":"info",message:`Rehydrated ${se.loaded} active tool(s)${Te}${tt}.`})}if(se.markdownLoaded>0||se.markdownFailures.length>0){ht({source:"repl:agents",level:se.markdownFailures.length>0?"warn":"info",message:`Loaded ${se.markdownLoaded} markdown agent(s).`});for(let Te of se.markdownFailures)ht({source:"repl:agents",level:"warn",message:`Skipped markdown agent ${Te.path}: ${Te.reason}`})}}catch(Q){ht({source:"repl:construction",level:"warn",message:`Bootstrap failed: ${Q.message}. Self-construction disabled this session.`})}let ae;try{let Q=await a(y),se=c(u);ae={contextWindow:Q.contextWindow??se.getContextWindow?.()??2e5,triggerPercent:Q.triggerPercent,triggerTokens:Q.triggerTokens,enabled:Q.enabled,reservedResponseTokens:se.getEffectiveMaxOutputTokens?.(d),userOverrideContextWindow:Q.contextWindow}}catch{}if(e.session?.id&&!e.session.resume){let Q=await t.load(e.session.id);Q&&(E=Q.messages,v=di(Q.uiHistory),W=Q.lineage,O=Q.artifactLedger,F=Q.extensionState,Y=Q.extensionRecords,re=Q.title,M=e.session.id,L=In(Q)??q,ee=L.workspaceRoot??void 0,e={...e,session:{...e.session??{},id:M,tag:Q.tag}},console.log(gt.green(`[Session loaded: ${M}]`)))}else if(e.session?.resume||e.session?.autoResume){let Q=await fc(t,y);if(Q){let se=await t.load(Q.id);se&&(E=se.messages,v=di(se.uiHistory),W=se.lineage,O=se.artifactLedger,F=se.extensionState,Y=se.extensionRecords,re=se.title,M=Q.id,L=In(se)??q,ee=L.workspaceRoot??void 0,e={...e,session:{...e.session??{},id:M,tag:se.tag}},console.log(gt.green(`[Continuing session: ${Q.id}]`)))}}let de=await uc({sessionId:M,gitRoot:ee,runtimeInfo:L,existingMessages:E,existingUiHistory:v,existingLineage:W,existingArtifactLedger:O,existingExtensionState:F,existingExtensionRecords:Y});de.title=re,e={...e,context:{...e.context,gitRoot:de.gitRoot??void 0,executionCwd:de.runtimeInfo?.executionCwd??de.gitRoot??process.cwd()}},j?.writer.update({sessionId:de.sessionId});let me={current:null},be={current:null},pe={current:_},Se=va(),Pe=await dc({askUser:i(async(Q,se,Te)=>{let tt=me.current;return tt?tt(Q,se,Te):"block"},"askUser"),projectRoot:y??process.cwd(),executionCwd:L.executionCwd??y??process.cwd(),getCurrentProviderName:i(()=>pe.current.provider,"getCurrentProviderName"),getCurrentModel:i(()=>pe.current.model,"getCurrentModel"),getCurrentPermissionMode:i(()=>pe.current.permissionMode,"getCurrentPermissionMode"),autoModeSettings:Se,log:i((Q,se)=>{ht({source:"repl:auto-mode",level:Q==="warn"?"warn":"info",message:se})},"log"),onEngineChange:i(Q=>{be.current?.(Q)},"onEngineChange"),extraCollectors:[Ia]});try{let Q=process.stdout,se=process.stdin,Te=!1,{waitUntilExit:tt,cleanup:Ct}=Ha(fe(R2,{options:e,config:_,context:de,startupRuntimeInfo:q,storage:t,autoModeSettings:lc(Se),compactionInfo:ae,rendererMode:r,fullscreenPolicy:o,autoModeBootstrap:Pe,setAutoModeAskUser:i(Ge=>{me.current=Ge},"setAutoModeAskUser"),setAutoModeEngineChange:i(Ge=>{be.current=Ge},"setAutoModeEngineChange"),setCurrentConfigRef:i(Ge=>{pe.current=Ge},"setCurrentConfigRef"),teamModeHandle:j,onExit:i(()=>{Te=!0},"onExit")}),{stdout:Q,stdin:se,exitOnCtrlC:!1,patchConsole:!1,maxFps:30,shellMode:o.enabled?o.promptShell:"main-screen"});await tt(),Ct(),j?.shutdown(),se.isTTY===!0&&typeof se.setRawMode=="function"&&se.isRaw&&se.setRawMode(!1),se.pause?.(),se.unref?.(),Te&&console.log(gt.dim(`
175
175
  [Exiting KodaX...]`));let Ke=e.hardExitOnClose??process.env.VITEST!=="true";if(Te&&Ke){let Ge=process.exitCode??0,he=!1,ve=i(()=>{he||(he=!0,process.exit(Ge))},"requestProcessExit");setTimeout(ve,0).unref?.(),Q.write("",ve);return}}catch(Q){throw Q instanceof Error&&Q.message.includes("Raw mode")?new pg("Interactive mode failed to start.",['kodax -p "your task" # Run a single task',"kodax -c # Continue last session"]):Q}}i(zm,"runInkInteractiveMode");import{jsx as Ou,jsxs as vc}from"react/jsx-runtime";import{useMemo as E2,useRef as M2,useState as nS}from"react";var _2=40;function A2(e,t){let n=t.trim().toLocaleLowerCase().split(/\s+/).filter(Boolean);return n.length===0?[...e]:e.filter(r=>{let o=[r.title,r.id,r.surface??"",r.createdAt??"",String(r.msgCount)].join(" ").toLocaleLowerCase();return n.every(s=>o.includes(s))})}i(A2,"filterSessionPickerItems");function L2(e,t,n){let r=Math.max(1,n),o=e.length===0?0:Math.max(0,Math.min(t,e.length-1)),s=Math.floor(o/r)*r;return{items:e.slice(s,s+r),selectedIndex:o,pageStart:s,pageIndex:Math.floor(s/r),pageCount:Math.max(1,Math.ceil(e.length/r))}}i(L2,"buildSessionPickerPage");function P2(e){if(!e)return"unknown time";let t=new Date(e);if(Number.isNaN(t.getTime()))return e;let n=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),o=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),a=String(t.getMinutes()).padStart(2,"0");return`${n}-${r}-${o} ${s}:${a}`}i(P2,"formatTimestamp");function $2({sessions:e,onSelect:t,onSelectionError:n,onCancel:r,pageSize:o=8}){let{exit:s}=Ur(),[a,c]=nS(""),[l,u]=nS(0),[d,p]=nS(!1),m=M2(!1),h=E2(()=>A2(e,a),[e,a]),g=L2(h,l,o),T=h[g.selectedIndex];return ja((w,C)=>{if(!m.current){if(C.escape||C.ctrl&&w==="c"){r(),s();return}if(C.return){let b=h[g.selectedIndex];b&&(m.current=!0,p(!0),(async()=>{await new Promise(_=>setTimeout(_,_2));try{await t(b)}catch(_){n(_)}finally{s()}})());return}if(C.upArrow)u(b=>Math.max(0,b-1));else if(C.downArrow)u(b=>Math.min(Math.max(0,h.length-1),b+1));else if(C.pageUp)u(b=>Math.max(0,b-o));else if(C.pageDown)u(b=>Math.min(Math.max(0,h.length-1),b+o));else if(C.home)u(0);else if(C.end)u(Math.max(0,h.length-1));else if(C.tab){let b=h[g.selectedIndex];b&&(c(b.title),u(0))}else C.backspace||C.delete?(c(b=>b.slice(0,-1)),u(0)):w&&!C.ctrl&&!C.meta&&!C.super&&(c(b=>b+w),u(0))}}),vc(A,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,children:[Ou(R,{bold:!0,color:"cyan",children:"Resume a session"}),vc(R,{children:["Search: ",Ou(R,{color:"yellow",children:a||"type to filter"})]}),Ou(R,{dimColor:!0,children:d?"Loading selected session...":"\u2191/\u2193 select \xB7 PgUp/PgDn page \xB7 Tab complete \xB7 Enter resume \xB7 Esc cancel"}),vc(A,{flexDirection:"column",marginTop:1,children:[g.items.length===0?Ou(R,{color:"yellow",children:"No matching sessions."}):null,g.items.map((w,C)=>{let _=g.pageStart+C===g.selectedIndex,M=w.title.trim()||"Untitled session",E=w.surface?` \xB7 ${w.surface}`:"";return vc(R,{color:_?"cyan":void 0,bold:_,children:[_?"\u276F":" "," ",M," \xB7 ",w.msgCount," msgs",E," \xB7 ",P2(w.createdAt)," \xB7 ",w.id.slice(0,8)]},w.id)})]}),vc(R,{dimColor:!0,children:[h.length," matches \xB7 Page ",g.pageIndex+1,"/",g.pageCount]}),vc(R,{dimColor:!0,children:["Selected ID: ",T?.id??"none"]})]})}i($2,"SessionPicker");async function g_(e,t={}){if(process.stdin.isTTY!==!0||process.stdout.isTTY!==!0)throw new Error("Searchable session resume requires an interactive terminal. Pass an exact session ID or title to -r/--resume instead.");let n,r=!1,o=!1,s,a=Math.max(4,Math.min(12,(process.stdout.rows??24)-8)),c=Ha(Ou($2,{sessions:e,pageSize:a,onSelect:i(async l=>{n=l,await t.prepareSelection?.(l)},"onSelect"),onSelectionError:i(l=>{o=!0,s=l},"onSelectionError"),onCancel:i(()=>{r=!0},"onCancel")}),{stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,exitOnCtrlC:!1,patchConsole:!1});try{await c.waitUntilExit()}finally{c.unmount(),c.cleanup()}if(o)throw s;if(!n&&!r)throw new Error("Session picker exited unexpectedly before selection or cancellation.");return n}i(g_,"runSessionPicker");import Tn from"chalk";var y_=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],x_=["\x1B[36m","\x1B[35m","\x1B[34m"],Du=null,bc=!1;function Nu(){let e=0,t=0,n=!1,r="Thinking...",o=i(()=>{if(n)return;let c=x_[t%x_.length],l="\x1B[0m",u=y_[e%y_.length];process.stdout.write(`\r${c}${u}${l} ${r}`)},"renderFrame"),s=setInterval(()=>{e++,e%10===0&&t++,o()},80);o();let a={stop:i(()=>{n||(n=!0,clearInterval(s),process.stdout.write("\r\x1B[K"))},"stop"),isStopped:i(()=>n,"isStopped"),updateText:i(c=>{r=c},"updateText")};return Du=a,a}i(Nu,"startWaitingDots");function S_(e=!0){let t=null,n=0,r=!1;return{onSessionStart:i(s=>{console.log(e?Tn.cyan(`[KodaX] Provider: ${s.provider} | Session: ${s.sessionId}`):Tn.cyan(`[KodaX] Provider: ${s.provider}`))},"onSessionStart"),onTextDelta:i(s=>{t&&(t.stop(),t=null),n=0,process.stdout.write(s),r=!0},"onTextDelta"),onThinkingDelta:i(s=>{n+=s.length,t||(t=Nu()),t.updateText(`Thinking... (${n} chars)`)},"onThinkingDelta"),onThinkingEnd:i(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(Tn.dim(`[Thinking] ${c}`))}},"onThinkingEnd"),onToolUseStart:i(s=>{t||(bc||(process.stdout.write(`
176
176
  `),bc=!0),t=Nu()),t.updateText(`Executing ${s.name}...`)},"onToolUseStart"),onToolInputDelta:i((s,a,c)=>{let l=a.length;t&&!t.isStopped()?t.updateText(`Receiving ${s}... (${l} chars)`):(!t||t.isStopped())&&(bc||(process.stdout.write(`
177
177
  `),bc=!0,r=!1),t=Nu(),t.updateText(`Receiving ${s}... (${l} chars)`))},"onToolInputDelta"),onToolResult:i(s=>{t&&(t.stop(),t=null),console.log(Tn.green(`[Result] ${s.content.slice(0,300)}${s.content.length>300?"...":""}`))},"onToolResult"),onRepoIntelligenceTrace:i(s=>{t&&(t.stop(),t=null),console.log(Tn.dim(`[RepoIntel] ${s.summary}`))},"onRepoIntelligenceTrace"),onSidecarMessage:i(s=>{t&&(t.stop(),t=null);let a=s.delivery==="budget-exhausted"?"\u26A1 Sidecar Verifier \u2014 budget exhausted":s.verdict==="blocked"?"\u26A1 Sidecar Verifier \u2014 blocked":"\u26A1 Sidecar Verifier \u2014 revise",c=s.suggestedFix?`${s.content}
@@ -217,7 +217,7 @@ ${t}`),console.log("\u2500".repeat(t.length)),n.forEach((r,o)=>{console.log(` $
217
217
  Keyboard: Tab (complete) | Esc+Esc (edit last) | Ctrl+T (reasoning) | Ctrl+E (editor) | Ctrl+R (history)
218
218
  `))}i(U_,"printStartupBanner");async function rj(e,t,n){if(e?.id){let r=await t.load(e.id);if(!r)return null;let o=In(r);return{id:e.id,data:r,kind:"load",...o?{runtimeInfo:o}:{}}}if(e?.resume||e?.autoResume){let r=await fc(t,n);if(!r)return null;let o=await t.load(r.id);if(!o)return null;let s=In(o);return{id:r.id,data:o,kind:"continue",...s?{runtimeInfo:s}:{}}}return null}i(rj,"loadClassicStartupSession");async function oj(e){return(await af(e)).getSystemPromptSnippet()}i(oj,"buildClassicCliSkillsPrompt");function ij(e,t){let n=sf(e);t.context={...t.context,skillsPrompt:n.getSystemPromptSnippet()}}i(ij,"syncClassicCliSkillsPrompt");var gS=class{static{i(this,"MemorySessionStorage")}sessions=new Map;async save(t,n){let r=this.sessions.get(t),o=qe(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:o}})}async load(t){return structuredClone(this.sessions.get(t)?.data??null)}async getLineage(t){return structuredClone(this.sessions.get(t)?.data.lineage??null)}async loadFullLineage(t){return this.getLineage(t)}async setActiveEntry(t,n,r){let o=this.sessions.get(t);if(!o?.data.lineage)return null;let s=aa(o.data.lineage,n,r);if(!s)return null;let a={...structuredClone(o.data),messages:Lt(s),lineage:s};return this.sessions.set(t,{...o,data:a}),structuredClone(a)}async setLabel(t,n,r){let o=this.sessions.get(t);if(!o?.data.lineage)return null;let s=ca(o.data.lineage,n,r);if(!s)return null;let a={...structuredClone(o.data),lineage:s};return this.sessions.set(t,{...o,data:a}),structuredClone(a)}async fork(t,n,r){let o=this.sessions.get(t);if(!o?.data.lineage)return null;let s=mo(o.data.lineage,n);if(!s)return null;let a=r?.sessionId??await fa(),c={messages:Lt(s),title:r?.title??o.data.title,gitRoot:o.data.gitRoot,tag:o.data.tag,runtimeInfo:o.data.runtimeInfo?structuredClone(o.data.runtimeInfo):void 0,scope:o.data.scope??"user",extensionState:o.data.extensionState?structuredClone(o.data.extensionState):void 0,extensionRecords:o.data.extensionRecords?structuredClone(o.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 o=n??ua(r.data.lineage);if(!o)return null;let s=da(r.data.lineage,o);if(!s)return null;let a={...r.data,messages:Lt(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?Hi(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 mS(e,t,n){e.runtimeInfo=n,e.gitRoot=n?.workspaceRoot??e.gitRoot,t.context={...t.context,gitRoot:e.gitRoot,executionCwd:n?.executionCwd??process.cwd()}}i(mS,"applyRuntimeContext");function Xm(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))}i(Xm,"applyRuntimeSessionSnapshot");function _o(e){return{...e.extensionStateDirty?{extensionState:e.extensionState??{}}:{},...e.extensionRecordsDirty?{extensionRecords:e.extensionRecords??[]}:{}}}i(_o,"contextExtensionSessionData");function Mc(e){e.extensionStateDirty=!1,e.extensionRecordsDirty=!1}i(Mc,"markExtensionSessionPersisted");function sj(e,t){return e.reasoningMode?e.reasoningMode:t.reasoningMode?t.reasoningMode:(e.thinking===!0||t.thinking===!0,"auto")}i(sj,"resolveInitialReasoningMode");var yS={current:null};async function V_(e){let t=await Dr({cwd:process.cwd()}),n=t.workspaceRoot??await xo()??void 0,r=e.storage??new gS,o=await rj(e.session,r,n),s=o?o.runtimeInfo??t:t,a=s.workspaceRoot??n;o&&(e={...e,session:{...e.session??{},id:o.id,tag:o.data.tag}});let c=rf({meta:{cwd:process.cwd(),startedAt:Date.now()}}),l=Rf(),u=Sa({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,configuredProvider:l.provider,defaultProvider:Jd}),d=wa({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,explicitModel:e.model,configuredProvider:l.provider,configuredModel:l.model}),p=sj(e,l),m=Ta({explicitEffort:e.effort,environmentEffort:process.env.KODAX_EFFORT,configuredEffort:l.effort}),h=kf(e,l,process.env.KODAX_EFFORT),g=e.agentMode??l.agentMode??"ama",T=p!=="off",w=ya(l.permissionMode,"accept-edits")??"accept-edits",C=vf();w==="auto-in-project"&&C();let b=gf(),_=l.theme;_&&Wu(_);let M=Ss(),E={provider:u,model:d,effort:m,effortOverride:h,planModeEffort:l.planModeEffort,thinking:T,reasoningMode:p,agentMode:g,permissionMode:w,repoIntelligenceMode:b.mode,repoIntelligenceTrace:b.trace,fallbackProviders:l.fallbackProviders},v=w,W=ba(),O=i(P=>Ui({provider:P?.provider??E.provider,model:P?.model??E.model,effort:E.effort,effortOverride:E.effortOverride,permissionMode:P?.permissionMode??E.permissionMode,planModeEffort:E.planModeEffort,thinking:E.thinking,reasoningMode:E.reasoningMode}),"resolveCurrentRuntimeEffort"),F=0,Y="",re=!1,q=500,y=await uc({sessionId:o?.id??e.session?.id,gitRoot:a,runtimeInfo:s,existingMessages:o?.data.messages,existingUiHistory:o?.data.uiHistory,existingLineage:o?.data.lineage,existingArtifactLedger:o?.data.artifactLedger,existingExtensionState:o?.data.extensionState,existingExtensionRecords:o?.data.extensionRecords});if(y.title=o?.data.title??"",o){let P=o.kind==="continue"?"Continuing session":"Session loaded";process.stdout.write(`${le.green(`[${P}: ${o.id}]`)}
219
219
  `)}y.skillDynamicContext=e.skillDynamicContext,c?.writer.update({sessionId:y.sessionId});let L=i(P=>pi(E,P,(U,H,Z)=>{console.log((U==="block"?le.red:le.yellow)(`
220
- ${H}`));for(let N of Z)console.log(le.dim(N));console.log()}),"guardSessionTransition"),ee=await _f(a??void 0),{resolveProvider:j}=await import("./dist-RKBHBUHV.js"),ae=j(E.provider),de=ee.contextWindow??ae.getEffectiveContextWindow?.(E.model)??ae.getContextWindow?.()??2e5,{loadAgentsFiles:me}=await import("./dist-RKBHBUHV.js"),be=i(async()=>me({cwd:process.cwd(),projectRoot:y.gitRoot??void 0}),"reloadAgentsFiles"),pe=await be();if(U_(E,E.permissionMode,{contextWindow:de,triggerPercent:ee.triggerPercent,triggerTokens:ee.triggerTokens,enabled:ee.enabled},pe),j_(s),e.learning)try{let P=Af(await e.learning.getSnapshot());P&&console.log(le.yellow(`
220
+ ${H}`));for(let N of Z)console.log(le.dim(N));console.log()}),"guardSessionTransition"),ee=await _f(a??void 0),{resolveProvider:j}=await import("./dist-MIXP4ULB.js"),ae=j(E.provider),de=ee.contextWindow??ae.getEffectiveContextWindow?.(E.model)??ae.getContextWindow?.()??2e5,{loadAgentsFiles:me}=await import("./dist-MIXP4ULB.js"),be=i(async()=>me({cwd:process.cwd(),projectRoot:y.gitRoot??void 0}),"reloadAgentsFiles"),pe=await be();if(U_(E,E.permissionMode,{contextWindow:de,triggerPercent:ee.triggerPercent,triggerTokens:ee.triggerTokens,enabled:ee.enabled},pe),j_(s),e.learning)try{let P=Af(await e.learning.getSnapshot());P&&console.log(le.yellow(`
221
221
  ${P}
222
222
  `))}catch(P){ht({source:"repl:learning",level:"warn",message:"Failed to recover the Learning Center startup summary.",detail:P instanceof Error?P.message:String(P)})}let Se=ev(()=>y.gitRoot??process.cwd()),Pe=G_.createInterface({input:process.stdin,output:process.stdout,terminal:process.stdout.isTTY??!0,historySize:100,completer:i((P,U)=>{Se(P).then(H=>{U(null,H)}).catch(()=>{U(null,[[],P])})},"completer")}),Q=i(async P=>{let U=await Ec(Pe,P.toolName,{...P.input,...P.reason!==void 0?{_reason:P.reason}:{},...P.executionCwd!==void 0?{_executionCwd:P.executionCwd}:{},...P.risk!==void 0?{_runtimeRisk:P.risk}:{}},{permissionMode:v,runtimeGrantSuggestions:P.grantSuggestions??[]});return Tm(P,U)},"requestRuntimePermission"),se=va(),Te=lc(se);await e.runtimeAutoModeControl?.syncSettings?.(y.sessionId,v,Te);let tt=await dc({askUser:i(async(P,U,H)=>(await Ec(Pe,P.name,{...P.input,...H&&H.length>0?{_classifierSignals:H}:{}},{permissionMode:v,reason:`[auto-mode] ${U}`})).confirmed?"allow":"block","askUser"),projectRoot:a??process.cwd(),executionCwd:s.executionCwd??a??process.cwd(),getCurrentProviderName:i(()=>E.provider,"getCurrentProviderName"),getCurrentModel:i(()=>E.model,"getCurrentModel"),getCurrentPermissionMode:i(()=>v,"getCurrentPermissionMode"),autoModeSettings:se,log:i((P,U)=>{console.log(P==="warn"?le.yellow(U):le.dim(U))},"log"),extraCollectors:[Ia]}),Ct=wf({getProvider:i(()=>j(E.provider),"getProvider"),getModel:i(()=>E.model??"","getModel")}),Ke=`
223
223
  Keyboard Shortcuts:
@@ -1,5 +1,5 @@
1
1
  // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
- import{D as N,J as C}from"./chunk-KH2HED37.js";import{Vd as q,Wd as j,ca as _}from"./chunk-GIVYTXQW.js";import{Pa as E,gb as T,m as x,n as R}from"./chunk-TRNAWSXP.js";import{Ad as $,Bd as g,Cd as k,Fd as I,Gd as y,Hd as b}from"./chunk-WMYCNECP.js";import{$a as O,ab as W,fb as M}from"./chunk-EVXIJPZ6.js";import{a as o}from"./chunk-ONUPGMER.js";import{join as Pe}from"node:path";var ne=["You generate KodaX Dynamic Workflow scripts.","Return JSON only. Do not wrap the answer in prose.","For simple tasks that do not benefit from multiple agents, return:",'{"action":"decline","reason":"..."}',"For complex tasks, return:",'{"action":"generate","manifest":{...},"source":"async function run(wf, args) { ... }","approvalSummary":"..."}',"Generated source may only coordinate agents through wf and args.","Generated source must return displayable final text for the user.","Never use import, require, process, fs, child_process, network APIs, shell commands, or direct file access."].join(`
2
+ import{D as N,J as C}from"./chunk-XB2JNLXH.js";import{Vd as q,Wd as j,ca as _}from"./chunk-6QILIBOU.js";import{Pa as E,gb as T,m as x,n as R}from"./chunk-TRNAWSXP.js";import{Bd as $,Cd as g,Dd as k,Gd as I,Hd as y,Id as b}from"./chunk-45E23YJI.js";import{$a as O,ab as W,fb as M}from"./chunk-EVXIJPZ6.js";import{a as o}from"./chunk-ONUPGMER.js";import{join as Pe}from"node:path";var ne=["You generate KodaX Dynamic Workflow scripts.","Return JSON only. Do not wrap the answer in prose.","For simple tasks that do not benefit from multiple agents, return:",'{"action":"decline","reason":"..."}',"For complex tasks, return:",'{"action":"generate","manifest":{...},"source":"async function run(wf, args) { ... }","approvalSummary":"..."}',"Generated source may only coordinate agents through wf and args.","Generated source must return displayable final text for the user.","Never use import, require, process, fs, child_process, network APIs, shell commands, or direct file access."].join(`
3
3
  `),P=12e4,re="KODAX_WORKFLOW_GENERATION_TIMEOUT_SEC",se="KODAX_WORKFLOW_GENERATION_TIMEOUT_MS",oe=64,ie=2,ae=2e3,le=[{name:"default"},{name:"variant-results",finalText:o((e,n)=>`Variant smoke child report from ${e} (${n}).`,"finalText"),synthesizeText:"Variant smoke synthesis report."},{name:"unverified-success",status:o(()=>"completed_unverified","status"),finalText:o(e=>`Smoke result for ${e}: completed with verification warnings.`,"finalText"),synthesizeText:"Smoke synthesis: completed with verification warnings."},{name:"empty-args-rerun",args:o(()=>({}),"args")}],ce=[{id:"import",pattern:/\bimport\s*(?:\(|['"*{]|\w+\s+from\b)/},{id:"require",pattern:/\brequire\s*\(/},{id:"process",pattern:/\bprocess\s*(?:\.|\[)/},{id:"fs",pattern:/\b(?:node:)?fs\b/},{id:"child_process",pattern:/\bchild_process\b/},{id:"shell",pattern:/\b(?:exec|spawn|execFile)\s*\(/},{id:"fetch",pattern:/\bfetch\s*\(/},{id:"Deno",pattern:/\bDeno\s*(?:\.|\[)/},{id:"Bun",pattern:/\bBun\s*(?:\.|\[)/},{id:"globalThis-index",pattern:/\bglobalThis\s*\[/}];function ue(e=process.env,n){let t=x(n?.workflow?.generationTimeoutSec,"timeouts.workflow.generationTimeoutSec");if(t!==void 0)return t;let r=R(e[re]);if(r!==void 0)return r;let s=e[se];if(s===void 0||s.trim().length===0)return P;let i=Number(s);return!Number.isFinite(i)||i<=0?P:Math.floor(i)}o(ue,"resolveWorkflowGenerationTimeoutMs");function fe(e,n){if(typeof e!="object"||e===null)throw new Error(`${n} must be an object`);return e}o(fe,"readRecord");function D(e,n){let t=e[n];if(typeof t!="string"||t.trim().length===0)throw new Error(`workflow generation ${n} must be a non-empty string`);return t}o(D,"readNonEmptyString");function de(e){let n=e.trim(),t=/^```(?:json)?\s*([\s\S]*?)\s*```$/i.exec(n);if(t?.[1])return t[1].trim();let r=n.indexOf("{"),s=n.lastIndexOf("}");if(r>=0&&s>r)return n.slice(r,s+1);throw new Error("workflow generation output did not contain a JSON object")}o(de,"extractJsonText");function pe(e){let n=de(e);return fe(JSON.parse(n),"workflow generation output")}o(pe,"parseGenerationJson");function me(e){if(typeof e=="string"){let t=e.trim();return t.length>0?t:void 0}if(typeof e!="object"||e===null)return;let n=e;for(let t of["name","id","title","phase"]){let r=n[t];if(typeof r=="string"&&r.trim().length>0)return r.trim()}}o(me,"normalizePhaseEntry");function we(e){return e.split(/(?:->|\u2192|,|\n)/).map(n=>n.trim()).filter(n=>n.length>0)}o(we,"splitPhaseString");function he(e){if(typeof e!="object"||e===null)return e;let n=e,t=n.phases,r;if(Array.isArray(t)){let s=t.map(me);s.every(i=>i!==void 0)&&(r=s)}else if(typeof t=="string"){let s=we(t);s.length>0&&(r=s)}return r?{...n,phases:r}:e}o(he,"normalizeGeneratedManifestCandidate");function ge(e){return e.match(/\bwf\.(?:runAgent|spawnAgent|synthesize)\s*\(/g)?.length??0}o(ge,"estimateDirectAgentCalls");function ke(e,n){let t=e.maxConcurrency*Math.max(1,e.phases.length)+2,r=ge(n)+2,s=Math.min(oe,Math.max(e.maxAgents,t,r));return s>e.maxAgents?{...e,maxAgents:s}:e}o(ke,"reserveGeneratedWorkflowAgentCapacity");function w(e){let n="",t=0,r=["code"],s=[0];for(;t<e.length;){let i=e[t],a=e[t+1];if(r[r.length-1]==="template"){if(i==="\\"){n+=" ",t+=2;continue}if(i==="`"){n+=" ",t+=1,r.pop(),s.pop();continue}if(i==="$"&&a==="{"){n+=" ",t+=2,r.push("code"),s.push(0);continue}n+=i===`
4
4
  `?`
5
5
  `:" ",t+=1;continue}if(i==="/"&&a==="/"){for(n+=" ",t+=2;t<e.length&&e[t]!==`