@kodax-ai/kodax 0.7.71 → 0.7.72-hotfix.0

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 (34) hide show
  1. package/CHANGELOG.md +13 -1
  2. package/dist/chunks/{agent-X2EWQADL.js → agent-A3N27WVN.js} +1 -1
  3. package/dist/chunks/argument-completer-BWTLOPZG.js +2 -0
  4. package/dist/chunks/{chunk-Z535BARK.js → chunk-5R2SJ2EU.js} +4 -4
  5. package/dist/chunks/{chunk-PHH4TRGF.js → chunk-64ATCY3Q.js} +2 -2
  6. package/dist/chunks/{chunk-4DY756KL.js → chunk-BRQWYBEY.js} +2 -2
  7. package/dist/chunks/{chunk-F7KGYHJ3.js → chunk-OUMXYT55.js} +2 -2
  8. package/dist/chunks/chunk-QDZUOLSM.js +7 -0
  9. package/dist/chunks/{chunk-PVUXONQB.js → chunk-QTXG7B2J.js} +3 -3
  10. package/dist/chunks/{chunk-A574DBTV.js → chunk-RKYTSURE.js} +1 -1
  11. package/dist/chunks/{chunk-A2TFSV5M.js → chunk-SLHL766K.js} +1 -1
  12. package/dist/chunks/{chunk-T7LYK53M.js → chunk-VDJZWXSW.js} +1 -1
  13. package/dist/chunks/{chunk-GVTM4Z6O.js → chunk-X5PDRSXM.js} +2 -2
  14. package/dist/chunks/{compaction-config-5KKKXYFT.js → compaction-config-OCZPAJQO.js} +1 -1
  15. package/dist/chunks/{construction-bootstrap-OXDDDW6O.js → construction-bootstrap-LI2FP7KZ.js} +1 -1
  16. package/dist/chunks/{dist-IXJRJ27U.js → dist-Y2HGGI7W.js} +1 -1
  17. package/dist/chunks/{host-VRKDAN26.js → host-ADFTZO6T.js} +1 -1
  18. package/dist/chunks/{run-manager-Z3W6MDO7.js → run-manager-QU6EBSHJ.js} +1 -1
  19. package/dist/chunks/{utils-CFOXDCB5.js → utils-O4PT6SHQ.js} +1 -1
  20. package/dist/index.js +1 -1
  21. package/dist/kodax_cli.js +687 -687
  22. package/dist/runtime-worker.js +640 -640
  23. package/dist/sdk-a2a.js +1 -1
  24. package/dist/sdk-agent.js +1 -1
  25. package/dist/sdk-coding.js +1 -1
  26. package/dist/sdk-mcp.js +1 -1
  27. package/dist/sdk-media.js +1 -1
  28. package/dist/sdk-repl.js +1 -1
  29. package/dist/sdk-runtime.js +1 -1
  30. package/dist/sdk-session.js +1 -1
  31. package/dist/sdk-skills.js +1 -1
  32. package/package.json +1 -1
  33. package/dist/chunks/argument-completer-BLNXDO2F.js +0 -2
  34. package/dist/chunks/chunk-VRSVNU2Y.js +0 -7
package/CHANGELOG.md CHANGED
@@ -6,6 +6,18 @@ All notable changes to this project will be documented in this file.
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.7.72-hotfix.0] - 2026-07-17
10
+
11
+ ### Fixed
12
+
13
+ - **Ark Coding image input routing.** The SDK now recognizes the five verified
14
+ Ark Coding routes (`doubao-seed-2.0-code`, `doubao-seed-2.0-pro`,
15
+ `kimi-k2.7-code`, `kimi-k2.6`, and `MiniMax-M3`) as image-capable instead of
16
+ raising `MODEL_INPUT_UNSUPPORTED` before provider dispatch. The change is
17
+ scoped to those exact provider/model pairs; other Ark models and all Ark
18
+ video input remain fail-closed. Capability, validation, final Anthropic
19
+ base64 serialization, and opt-in real-gateway regressions cover all five.
20
+
9
21
  ## [0.7.71] - 2026-07-17
10
22
 
11
23
  ### Added
@@ -2614,7 +2626,7 @@ repl → coding, skills
2614
2626
  ### Tests
2615
2627
  - Added / expanded tests for `task-engine`, `reasoning`, `tool-display`, `live-streaming`, `StatusBar`, `invocation-runtime`, `types-legacy`, and `InkREPL.interrupted`
2616
2628
 
2617
- <!-- last-sync: cf5f273b -->
2629
+ <!-- last-sync: a8c9c283 -->
2618
2630
 
2619
2631
  ### Added
2620
2632
  - **Repository intelligence substrate (FEATURE_018)**: Task-aware repository intelligence layer under `.agent/repo-intelligence/` with durable artifacts — `repo-overview.json`, `changed-scope.json`, `module-index.json`, `symbol-index.json`, `process-index.json`, `repo-intelligence-manifest.json` — supporting incremental refresh, freshness metadata, and language-tiered extraction (TS/JS via AST, Python, Go, Rust, Java, C++)
@@ -1,2 +1,2 @@
1
1
  // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
- import{Ga as i,K as c,L as d,M as e,Ma as j,N as f,ma as g,na as h}from"./chunk-T7LYK53M.js";import"./chunk-64NQBOSN.js";import"./chunk-44QXPEEE.js";import"./chunk-PVUXONQB.js";import"./chunk-ZJIMT5I3.js";import{vb as a,wb as b}from"./chunk-Y5XKAN7C.js";import"./chunk-52JSZ77P.js";import"./chunk-VRSVNU2Y.js";import"./chunk-23X6REO4.js";import"./chunk-ONUPGMER.js";export{d as bucketProviderPayloadSize,g as buildAutoRepoIntelligenceContext,e as checkPromiseSignal,b as cleanupIncompleteToolCalls,h as describeTransientProviderRetry,f as emitResilienceDebug,c as estimateProviderPayloadBytes,j as runKodaX,i as saveSessionSnapshot,a as validateAndFixToolHistory};
2
+ import{Ga as i,K as c,L as d,M as e,Ma as j,N as f,ma as g,na as h}from"./chunk-VDJZWXSW.js";import"./chunk-64NQBOSN.js";import"./chunk-44QXPEEE.js";import"./chunk-QTXG7B2J.js";import"./chunk-ZJIMT5I3.js";import{vb as a,wb as b}from"./chunk-Y5XKAN7C.js";import"./chunk-52JSZ77P.js";import"./chunk-QDZUOLSM.js";import"./chunk-23X6REO4.js";import"./chunk-ONUPGMER.js";export{d as bucketProviderPayloadSize,g as buildAutoRepoIntelligenceContext,e as checkPromiseSignal,b as cleanupIncompleteToolCalls,h as describeTransientProviderRetry,f as emitResilienceDebug,c as estimateProviderPayloadBytes,j as runKodaX,i as saveSessionSnapshot,a as validateAndFixToolHistory};
@@ -0,0 +1,2 @@
1
+ // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
+ import{Ba as a,Ca as b}from"./chunk-OUMXYT55.js";import"./chunk-X5PDRSXM.js";import"./chunk-SX2WFHIS.js";import"./chunk-RKYTSURE.js";import"./chunk-SLHL766K.js";import"./chunk-64ATCY3Q.js";import"./chunk-VDJZWXSW.js";import"./chunk-64NQBOSN.js";import"./chunk-44QXPEEE.js";import"./chunk-QTXG7B2J.js";import"./chunk-ZJIMT5I3.js";import"./chunk-Y5XKAN7C.js";import"./chunk-52JSZ77P.js";import"./chunk-QDZUOLSM.js";import"./chunk-23X6REO4.js";import"./chunk-ONUPGMER.js";export{a as ArgumentCompleter,b as createArgumentCompleter};
@@ -1,5 +1,5 @@
1
1
  // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
- import{$ as _c,A as aT,Aa as Jm,B as Fs,Ba as _T,C as Ed,D as cT,Da as Qm,E as Ac,Ea as Wd,F as zm,Fa as LT,G as uT,Ga as PT,H as Xm,I as Co,J as Md,K as js,L as Ad,M as _d,N as dT,O as fT,P as Us,Q as pT,R as Io,S as mT,T as Cr,U as Ld,V as Pd,W as Nn,X as Ir,Y as Ym,Z as yi,_ as bo,a as er,aa as $d,b as W,ba as hT,c as cA,ca as gT,d as ln,da as yT,e as Sd,ea as xT,f as Aw,fa as ST,g as tr,ga as wT,h as wd,ha as Dd,i as Td,ia as Od,j as Kr,ja as Lc,k as Ps,ka as Nd,l as _w,la as Bd,m as $s,ma as Hd,n as Yr,na as TT,o as nT,oa as CT,p as qr,pa as IT,q as Hs,qa as qm,r as rT,ra as bT,s as Ws,sa as vT,t as vd,ta as RT,u as oT,ua as kT,v as iT,va as ET,w as sT,wa as MT,x as To,xa as AT,y as Rd,ya as xi,z as kd,za as Si}from"./chunk-F7KGYHJ3.js";import{A as Kw,F as zw,G as wo,H as hi,K as Xw,L as Yw,M as qw,N as Jw,O as Qw,P as Zw,Q as eT,T as Cd,U as gi,V as Id,W as Os,X as Ns,Y as Bs,Z as bd,_ as Xr,a as ie,b as Lw,c as Pw,ca as tT,d as Ds,e as $w,f as Dw,g as pi,h as Ow,i as Nw,j as Bw,k as Mc,l as Hw,m as Ww,n as zr,o as Fw,p as jw,q as Uw,s as Gw,t as Vw,u as mi,v as Tr}from"./chunk-GVTM4Z6O.js";import{a as lT}from"./chunk-SX2WFHIS.js";import{Fa as yd,Ga as xd,H as bw,I as vw,K as Km,L as Rw,M as kw,_ as Ew,c as Um,s as Iw,t as Ec,ua as Mw,xa as gd}from"./chunk-A574DBTV.js";import{J as xw}from"./chunk-PHH4TRGF.js";import{a as kc,b as nw,p as yw,xa as Sw,ya as ww}from"./chunk-T7LYK53M.js";import{Dd as Cw,Ma as mw,Na as md,Oa as hw,ab as gw,e as Ls,id as hd,ka as pd,ld as Tw,r as fw,xa as pw}from"./chunk-PVUXONQB.js";import{Ma as ui,ka as Ju,wa as tw,ya as jm}from"./chunk-ZJIMT5I3.js";import{Bc as mt,Dc as Bt,Fc as Rs,Ga as ow,Gc as ks,Hc as cd,Jc as Es,Kc as Ms,Lc as As,Mc as ld,Nc as fi,Oc as uw,Vc as ud,Wc as _s,Ya as Gm,Za as wr,ab as Vm,ed as dw,hd as dd,id as fd,k as bs,pb as iw,qc as id,r as rw,rc as sd,sc as ad,tc as vs,ub as nd,wb as sw,yc as lw}from"./chunk-Y5XKAN7C.js";import{U as rd,V as od,b as rn,e as di,f as So,r as aw,s as cw}from"./chunk-52JSZ77P.js";import{b as Qu,j as Zu,k as ed,o as td,w as On}from"./chunk-VRSVNU2Y.js";import{a as o,c as aA}from"./chunk-ONUPGMER.js";import{spawnSync as lA}from"node:child_process";function Fd(e){return e==="1"||e?.toLowerCase()==="true"}o(Fd,"isTruthyEnv");function $T(e){return e==="0"||e?.toLowerCase()==="false"}o($T,"isFalseyEnv");function wi(e=process.env){return e.TERM_PROGRAM?.toLowerCase()==="vscode"||!!e.VSCODE_GIT_IPC_HANDLE||!!e.VSCODE_INJECTION}o(wi,"isVsCodeTerminalHostEnv");function Ti(e={}){let t=e.env??process.env;return(e.platform??process.platform)==="win32"||!!t.WT_SESSION}o(Ti,"hasCursorUpViewportYankRisk");function uA(e){return!!(e.SSH_CONNECTION||e.SSH_CLIENT||e.SSH_TTY)}o(uA,"isSshSession");function Gs(e={}){let t=e.env??process.env;return Fd(t.KODAX_FULLSCREEN)?!1:(e.platform??process.platform)==="win32"&&uA(t)}o(Gs,"isRemoteConptyHost");function Pc(e={}){let t=e.env??process.env;return Ti(e)||wi(t)}o(Pc,"hasMainScreenRenderScrollRisk");function dA(e){if(!e.TMUX||e.TERM_PROGRAM!=="iTerm.app")return!1;let t=e.TERM??"";return!t.startsWith("screen")&&!t.startsWith("tmux")}o(dA,"isTmuxControlModeEnvHeuristic");var Jr;function Vs(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(dA(t))return!0;if(!(t===process.env&&n===process.platform))return!1;if(Jr!==void 0||(Jr=!1,!t.TMUX)||t.TERM_PROGRAM&&t.TERM_PROGRAM!=="iTerm.app")return Jr;try{let i=lA("tmux",["display-message","-p","#{client_control_mode}"],{encoding:"utf8",timeout:2e3});i.status===0&&(Jr=i.stdout.trim()==="1")}catch{Jr=!1}return Jr}o(Vs,"isTmuxControlMode");function jd(){Jr=void 0}o(jd,"resetTmuxControlModeProbeForTesting");function vo(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":Vs(e)?"tmux_control_mode":wi(t)?"xtermjs_host":Gs(e)?"remote_conpty_host":Ti(e)?"degraded_vt":"native_vt"}o(vo,"detectTerminalRenderHost");var Ro=vo;function Ci(e={}){let t=e.env??process.env;if(Fd(t.KODAX_FORCE_INK))return"legacy";let n=t.KODAX_TUI_RENDERER?.trim().toLowerCase();return n==="legacy"||n==="owned"||n==="auto"?n:"auto"}o(Ci,"resolveConfiguredTuiRendererMode");function ko(e={}){let t=Ci(e);if(t==="legacy"||t==="owned")return t;let n=vo(e);return n==="unsupported_control_host"||n==="tmux_control_mode"?"legacy":"owned"}o(ko,"resolveEffectiveTuiRendererMode");function $c(e={}){let t=e.env??process.env;if(Fd(t.KODAX_FORCE_CLASSIC_REPL))return"classic";let n=Ci({env:t});if(n==="legacy"||n==="owned")return"ink";let r=vo(e);return r==="unsupported_control_host"||r==="tmux_control_mode"?"classic":"ink"}o($c,"resolveInteractiveSurfacePreference");var fA={enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!0},DT={enabled:!0,promptShell:"main-screen",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!1,transcriptSpinnerAnimation:!0};function Eo(e,t="owned",n={}){let r=n.env??process.env;return $T(r.KODAX_FULLSCREEN)?t==="owned"&&e!=="tmux_control_mode"&&e!=="unsupported_control_host"?DT:fA:pA(e,t)}o(Eo,"resolveFullscreenPolicy");function pA(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 DT;default:return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1}}}o(pA,"buildFullscreenPolicy");function Ii(e,t={}){let n=t.rendererMode??"owned",r=Eo(e,n,{env:t.env}),i=e!=="unsupported_control_host"&&e!=="tmux_control_mode";return{profile:e,ownsViewportByDefault:r.enabled&&r.promptShell==="virtual",supportsMouseTracking:r.mouseWheel||r.mouseClicks,bufferingMode:r.streamingPreview?"live":"buffered-fallback",supportsFullscreenLayout:r.enabled,supportsOverlaySurface:r.enabled,supportsSelection:i,supportsCopyOnSelect:!1,supportsWheelHistory:r.mouseWheel,supportsViewportChrome:r.enabled,supportsSearchViewport:r.enabled,supportsStickyPrompt:r.enabled}}o(Ii,"getTerminalHostCapabilities");function Dc(e={}){return ko(e)==="owned"}o(Dc,"isOwnedRendererPreferred");function Oc(e={}){let t=e.env??process.env;return Fd(t.KODAX_FORCE_CLASSIC_REPL)&&!$T(t.KODAX_FORCE_CLASSIC_REPL)}o(Oc,"isClassicReplForced");var bi=class{static{o(this,"LRUCache")}capacity;cache;constructor(t){this.capacity=t,this.cache=new Map}get(t){if(!this.cache.has(t))return;let n=this.cache.get(t);return this.cache.delete(t),this.cache.set(t,n),n}set(t,n){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.capacity){let r=this.cache.keys().next().value;r!==void 0&&this.cache.delete(r)}this.cache.set(t,n)}has(t){return this.cache.has(t)}delete(t){return this.cache.delete(t)}clear(){this.cache.clear()}get size(){return this.cache.size}},Zm=1,eh=2,mA=1e3,OT;function Gd(){if(!(typeof Intl>"u"||typeof Intl.Segmenter!="function"))return OT??=new Intl.Segmenter("en",{granularity:"grapheme"}),OT}o(Gd,"getGraphemeSegmenter");function mn(e){if(!e)return 0;let t=Gd();if(t){let n=0;for(let r of t.segment(e))n++;return n}return[...e].length}o(mn,"getCodePointLength");function nr(e){if(!e)return!1;let t=e.codePointAt(0);return t===void 0?!1:t>=19968&&t<=40959||t>=13312&&t<=19903||t>=63744&&t<=64255||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=44032&&t<=55215||t>=12288&&t<=12351||t>=65280&&t<=65519||t>=128512&&t<=128591||t>=127744&&t<=128511||t>=128640&&t<=128767||t>=127456&&t<=127487||t>=9728&&t<=9983||t>=9984&&t<=10175||t>=129280&&t<=129535||t>=129536&&t<=129647||t>=129648&&t<=129791}o(nr,"isWideChar");function rr(e){if(!e)return 0;let t=0,n=Gd();if(n)for(let r of n.segment(e))t+=nr(r.segment)?eh:Zm;else for(let r of e)t+=nr(r)?eh:Zm;return t}o(rr,"getVisualWidth");function NT(e,t){if(!e||t<0)return"";let n=Gd();if(n){let i=0;for(let s of n.segment(e)){if(i===t)return s.segment;i++}return""}let r=[...e];return t>=r.length?"":r[t]}o(NT,"getCharAtCodePoint");function un(e){if(!e)return[];let t=Gd();if(t){let n=[];for(let r of t.segment(e))n.push(r.segment);return n}return[...e]}o(un,"splitByCodePoints");function hA(e,t,n){return un(e).slice(t,n).join("")}o(hA,"sliceByCodePoints");function BT(e,t){let n=Math.max(0,t),r=un(e),i=0,s=0;for(;i<r.length;){let a=nr(r[i])?eh:Zm;if(s+a>n)break;s+=a,i++}return{before:r.slice(0,i).join(""),current:r[i]??"",after:r.slice(i+1).join("")}}o(BT,"splitAtVisualColumn");function Ks(e,t,n=!1){if(!e||t<=0)return"";let r="\u2026",s=n?t-1:t,a="",c=0,l=un(e);for(let d of l){let f=nr(d)?2:1;if(c+f>s)break;a+=d,c+=f}return n&&a.length<e.length&&(a+=r),a}o(Ks,"truncateByVisualWidth");var Ud=new bi(mA);function Vd(e){let t=Ud.get(e);if(t!==void 0)return t;let n=rr(e);return Ud.set(e,n),n}o(Vd,"getVisualWidthCached");function dn(e,t,n,r){let i=[],s=[],a=[];for(let c=0;c<e.length;c++){let l=e[c]||"";if(s[c]=[],l.length===0){i.push("");let p=i.length-1;s[c].push([p,0]),a.push([c,0]);continue}let d=0,f=un(l);for(;d<f.length;){let p="",m=0,h=d,x=-1;for(let T=d;T<f.length;T++){let R=f[T],C=nr(R)?2:1;if(m+C>t){x>=0&&T-d>0?(p=f.slice(d,x).join(""),m=f.slice(d,x).reduce((I,M)=>I+(nr(M)?2:1),0),h=x):p.length===0&&C>t&&(p=R,m=C,h=T+1);break}p+=R,m+=C,h=T+1,R===" "&&(x=T+1)}if(p.length>0||i.length===0){let T=d,R=i.length;i.push(p),s[c].push([R,T]),a.push([c,T])}d=h}}return{visualLines:i,logicalToVisualMap:s,visualToLogicalMap:a}}o(dn,"calculateVisualLayout");function Kd(e,t){let{logicalToVisualMap:n,visualLines:r}=e;if(r.length===0)return[0,0];let[i,s]=t,a=n[i];if(!a||a.length===0)return[0,0];let c;for(let[h,x]of a)if(x<=s)c=[h,x];else break;let[l,d]=c??a[0],f=r[l]??"",p=Math.max(0,s-d),m=rr(hA(f,0,p));return[l,m]}o(Kd,"calculateVisualCursorFromLayout");var zd={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"]}},th={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 nh={dark:zd,minimal:th};function re(e="dark"){return nh[e]??zd}o(re,"getTheme");function gA(){return Object.keys(nh)}o(gA,"getThemeNames");import{jsx as yn,jsxs as Hn,Fragment as bP}from"react/jsx-runtime";import{useMemo as If}from"react";import{jsx as SI}from"react/jsx-runtime";import{createContext as ZL,useContext as Li,useEffect as ta,useMemo as xI,useState as eP,useCallback as wI,useRef as hf}from"react";import{Stream as ML}from"node:stream";import{openSync as AL,writeSync as sI}from"node:fs";import{performance as _L}from"node:perf_hooks";import{tmpdir as LL}from"node:os";import{join as PL}from"node:path";import rh,{forwardRef as SA,useContext as wA}from"react";import{createContext as yA}from"react";var zs=yA({isScreenReaderEnabled:!1});import{createContext as xA}from"react";var Xd=xA(void 0);var HT=SA(({children:e,backgroundColor:t,"aria-label":n,"aria-hidden":r,"aria-role":i,"aria-state":s,...a},c)=>{let{isScreenReaderEnabled:l}=wA(zs),d=n?rh.createElement("ink-text",null,n):void 0;if(l&&r)return null;let f=rh.createElement("ink-box",{ref:c,style:{flexWrap:"nowrap",flexDirection:"row",flexGrow:0,flexShrink:1,...a,backgroundColor:t,overflowX:a.overflowX??a.overflow??"visible",overflowY:a.overflowY??a.overflow??"visible"},internal_accessibility:{role:i,state:s}},l&&d?d:e);return t?rh.createElement(Xd.Provider,{value:t},f):f});HT.displayName="Box";var Bn=HT;import bA,{useContext as WT}from"react";import Xs from"chalk";import Mo from"chalk";var TA=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,CA=/^ansi256\(\s?(\d+)\s?\)$/;function IA(e){return e in Mo}o(IA,"isNamedColor");function or(e,t,n){if(!t)return e;if(IA(t)){let r=Mo;if(n==="foreground")return r[t]?.(e)??e;let i=`bg${t[0].toUpperCase()+t.slice(1)}`;return r[i]?.(e)??e}if(t.startsWith("#"))return n==="foreground"?Mo.hex(t)(e):Mo.bgHex(t)(e);if(t.startsWith("ansi256")){let r=CA.exec(t);if(!r)return e;let i=Number(r[1]);return n==="foreground"?Mo.ansi256(i)(e):Mo.bgAnsi256(i)(e)}if(t.startsWith("rgb")){let r=TA.exec(t);if(!r)return e;let i=Number(r[1]),s=Number(r[2]),a=Number(r[3]);return n==="foreground"?Mo.rgb(i,s,a)(e):Mo.bgRgb(i,s,a)(e)}return e}o(or,"colorize");function hn({color:e,backgroundColor:t,dimColor:n=!1,bold:r=!1,italic:i=!1,underline:s=!1,strikethrough:a=!1,inverse:c=!1,wrap:l="wrap",children:d,"aria-label":f,"aria-hidden":p=!1,internal_cursorAnchor:m=!1}){let{isScreenReaderEnabled:h}=WT(zs),x=WT(Xd),T=h&&f?f:d;if(T==null)return null;let R=o(C=>{let I=C;n&&(I=Xs.dim(I)),e&&(I=or(I,e,"foreground"));let M=t??x;return M&&(I=or(I,M,"background")),r&&(I=Xs.bold(I)),i&&(I=Xs.italic(I)),s&&(I=Xs.underline(I)),a&&(I=Xs.strikethrough(I)),c&&(I=Xs.inverse(I)),I},"transform");return h&&p?null:bA.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:l},internal_transform:R,...m?{internal_cursorAnchor:!0}:{}},h&&f?f:d)}o(hn,"Text");import vA,{useLayoutEffect as RA,useMemo as FT,useState as kA}from"react";function oh({items:e,children:t,style:n}){let[r,i]=kA(0),s=FT(()=>e.slice(r),[e,r]);RA(()=>{i(e.length)},[e.length]);let a=s.map((l,d)=>t(l,r+d)),c=FT(()=>({position:"absolute",flexDirection:"column",...n}),[n]);return vA.createElement("ink-box",{internal_static:!0,style:c},a)}o(oh,"Static");import Ai from"node:process";import rI from"react";import{throttle as uL}from"es-toolkit/compat";import gn from"ansi-escapes";import oo from"is-in-ci";import dL from"auto-bind";import{onExit as fL}from"signal-exit";import pL from"patch-console";import{LegacyRoot as mL,ConcurrentRoot as hL}from"react-reconciler/constants.js";import gL from"yoga-layout";import yL from"wrap-ansi";import xL from"terminal-size";import EA from"node:process";var Yd=o(()=>EA.env.DEV==="true","isDev");import t_ from"react-reconciler";import{DefaultEventPriority as n_,NoEventPriority as rC}from"react-reconciler/constants.js";import*as Ao from"scheduler";import ZT from"yoga-layout";import{createContext as r_}from"react";import UA from"yoga-layout";import MA from"widest-line";var jT=new Map,AA=o(e=>{if(e.length===0)return{width:0,height:0};let t=jT.get(e);if(t)return t;let n=MA(e),r=e.split(`
2
+ import{$ as _c,A as aT,Aa as Jm,B as Fs,Ba as _T,C as Ed,D as cT,Da as Qm,E as Ac,Ea as Wd,F as zm,Fa as LT,G as uT,Ga as PT,H as Xm,I as Co,J as Md,K as js,L as Ad,M as _d,N as dT,O as fT,P as Us,Q as pT,R as Io,S as mT,T as Cr,U as Ld,V as Pd,W as Nn,X as Ir,Y as Ym,Z as yi,_ as bo,a as er,aa as $d,b as W,ba as hT,c as cA,ca as gT,d as ln,da as yT,e as Sd,ea as xT,f as Aw,fa as ST,g as tr,ga as wT,h as wd,ha as Dd,i as Td,ia as Od,j as Kr,ja as Lc,k as Ps,ka as Nd,l as _w,la as Bd,m as $s,ma as Hd,n as Yr,na as TT,o as nT,oa as CT,p as qr,pa as IT,q as Hs,qa as qm,r as rT,ra as bT,s as Ws,sa as vT,t as vd,ta as RT,u as oT,ua as kT,v as iT,va as ET,w as sT,wa as MT,x as To,xa as AT,y as Rd,ya as xi,z as kd,za as Si}from"./chunk-OUMXYT55.js";import{A as Kw,F as zw,G as wo,H as hi,K as Xw,L as Yw,M as qw,N as Jw,O as Qw,P as Zw,Q as eT,T as Cd,U as gi,V as Id,W as Os,X as Ns,Y as Bs,Z as bd,_ as Xr,a as ie,b as Lw,c as Pw,ca as tT,d as Ds,e as $w,f as Dw,g as pi,h as Ow,i as Nw,j as Bw,k as Mc,l as Hw,m as Ww,n as zr,o as Fw,p as jw,q as Uw,s as Gw,t as Vw,u as mi,v as Tr}from"./chunk-X5PDRSXM.js";import{a as lT}from"./chunk-SX2WFHIS.js";import{Fa as yd,Ga as xd,H as bw,I as vw,K as Km,L as Rw,M as kw,_ as Ew,c as Um,s as Iw,t as Ec,ua as Mw,xa as gd}from"./chunk-RKYTSURE.js";import{J as xw}from"./chunk-64ATCY3Q.js";import{a as kc,b as nw,p as yw,xa as Sw,ya as ww}from"./chunk-VDJZWXSW.js";import{Dd as Cw,Ma as mw,Na as md,Oa as hw,ab as gw,e as Ls,id as hd,ka as pd,ld as Tw,r as fw,xa as pw}from"./chunk-QTXG7B2J.js";import{Ma as ui,ka as Ju,wa as tw,ya as jm}from"./chunk-ZJIMT5I3.js";import{Bc as mt,Dc as Bt,Fc as Rs,Ga as ow,Gc as ks,Hc as cd,Jc as Es,Kc as Ms,Lc as As,Mc as ld,Nc as fi,Oc as uw,Vc as ud,Wc as _s,Ya as Gm,Za as wr,ab as Vm,ed as dw,hd as dd,id as fd,k as bs,pb as iw,qc as id,r as rw,rc as sd,sc as ad,tc as vs,ub as nd,wb as sw,yc as lw}from"./chunk-Y5XKAN7C.js";import{U as rd,V as od,b as rn,e as di,f as So,r as aw,s as cw}from"./chunk-52JSZ77P.js";import{b as Qu,j as Zu,k as ed,o as td,w as On}from"./chunk-QDZUOLSM.js";import{a as o,c as aA}from"./chunk-ONUPGMER.js";import{spawnSync as lA}from"node:child_process";function Fd(e){return e==="1"||e?.toLowerCase()==="true"}o(Fd,"isTruthyEnv");function $T(e){return e==="0"||e?.toLowerCase()==="false"}o($T,"isFalseyEnv");function wi(e=process.env){return e.TERM_PROGRAM?.toLowerCase()==="vscode"||!!e.VSCODE_GIT_IPC_HANDLE||!!e.VSCODE_INJECTION}o(wi,"isVsCodeTerminalHostEnv");function Ti(e={}){let t=e.env??process.env;return(e.platform??process.platform)==="win32"||!!t.WT_SESSION}o(Ti,"hasCursorUpViewportYankRisk");function uA(e){return!!(e.SSH_CONNECTION||e.SSH_CLIENT||e.SSH_TTY)}o(uA,"isSshSession");function Gs(e={}){let t=e.env??process.env;return Fd(t.KODAX_FULLSCREEN)?!1:(e.platform??process.platform)==="win32"&&uA(t)}o(Gs,"isRemoteConptyHost");function Pc(e={}){let t=e.env??process.env;return Ti(e)||wi(t)}o(Pc,"hasMainScreenRenderScrollRisk");function dA(e){if(!e.TMUX||e.TERM_PROGRAM!=="iTerm.app")return!1;let t=e.TERM??"";return!t.startsWith("screen")&&!t.startsWith("tmux")}o(dA,"isTmuxControlModeEnvHeuristic");var Jr;function Vs(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(dA(t))return!0;if(!(t===process.env&&n===process.platform))return!1;if(Jr!==void 0||(Jr=!1,!t.TMUX)||t.TERM_PROGRAM&&t.TERM_PROGRAM!=="iTerm.app")return Jr;try{let i=lA("tmux",["display-message","-p","#{client_control_mode}"],{encoding:"utf8",timeout:2e3});i.status===0&&(Jr=i.stdout.trim()==="1")}catch{Jr=!1}return Jr}o(Vs,"isTmuxControlMode");function jd(){Jr=void 0}o(jd,"resetTmuxControlModeProbeForTesting");function vo(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":Vs(e)?"tmux_control_mode":wi(t)?"xtermjs_host":Gs(e)?"remote_conpty_host":Ti(e)?"degraded_vt":"native_vt"}o(vo,"detectTerminalRenderHost");var Ro=vo;function Ci(e={}){let t=e.env??process.env;if(Fd(t.KODAX_FORCE_INK))return"legacy";let n=t.KODAX_TUI_RENDERER?.trim().toLowerCase();return n==="legacy"||n==="owned"||n==="auto"?n:"auto"}o(Ci,"resolveConfiguredTuiRendererMode");function ko(e={}){let t=Ci(e);if(t==="legacy"||t==="owned")return t;let n=vo(e);return n==="unsupported_control_host"||n==="tmux_control_mode"?"legacy":"owned"}o(ko,"resolveEffectiveTuiRendererMode");function $c(e={}){let t=e.env??process.env;if(Fd(t.KODAX_FORCE_CLASSIC_REPL))return"classic";let n=Ci({env:t});if(n==="legacy"||n==="owned")return"ink";let r=vo(e);return r==="unsupported_control_host"||r==="tmux_control_mode"?"classic":"ink"}o($c,"resolveInteractiveSurfacePreference");var fA={enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!0},DT={enabled:!0,promptShell:"main-screen",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!1,transcriptSpinnerAnimation:!0};function Eo(e,t="owned",n={}){let r=n.env??process.env;return $T(r.KODAX_FULLSCREEN)?t==="owned"&&e!=="tmux_control_mode"&&e!=="unsupported_control_host"?DT:fA:pA(e,t)}o(Eo,"resolveFullscreenPolicy");function pA(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 DT;default:return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1}}}o(pA,"buildFullscreenPolicy");function Ii(e,t={}){let n=t.rendererMode??"owned",r=Eo(e,n,{env:t.env}),i=e!=="unsupported_control_host"&&e!=="tmux_control_mode";return{profile:e,ownsViewportByDefault:r.enabled&&r.promptShell==="virtual",supportsMouseTracking:r.mouseWheel||r.mouseClicks,bufferingMode:r.streamingPreview?"live":"buffered-fallback",supportsFullscreenLayout:r.enabled,supportsOverlaySurface:r.enabled,supportsSelection:i,supportsCopyOnSelect:!1,supportsWheelHistory:r.mouseWheel,supportsViewportChrome:r.enabled,supportsSearchViewport:r.enabled,supportsStickyPrompt:r.enabled}}o(Ii,"getTerminalHostCapabilities");function Dc(e={}){return ko(e)==="owned"}o(Dc,"isOwnedRendererPreferred");function Oc(e={}){let t=e.env??process.env;return Fd(t.KODAX_FORCE_CLASSIC_REPL)&&!$T(t.KODAX_FORCE_CLASSIC_REPL)}o(Oc,"isClassicReplForced");var bi=class{static{o(this,"LRUCache")}capacity;cache;constructor(t){this.capacity=t,this.cache=new Map}get(t){if(!this.cache.has(t))return;let n=this.cache.get(t);return this.cache.delete(t),this.cache.set(t,n),n}set(t,n){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.capacity){let r=this.cache.keys().next().value;r!==void 0&&this.cache.delete(r)}this.cache.set(t,n)}has(t){return this.cache.has(t)}delete(t){return this.cache.delete(t)}clear(){this.cache.clear()}get size(){return this.cache.size}},Zm=1,eh=2,mA=1e3,OT;function Gd(){if(!(typeof Intl>"u"||typeof Intl.Segmenter!="function"))return OT??=new Intl.Segmenter("en",{granularity:"grapheme"}),OT}o(Gd,"getGraphemeSegmenter");function mn(e){if(!e)return 0;let t=Gd();if(t){let n=0;for(let r of t.segment(e))n++;return n}return[...e].length}o(mn,"getCodePointLength");function nr(e){if(!e)return!1;let t=e.codePointAt(0);return t===void 0?!1:t>=19968&&t<=40959||t>=13312&&t<=19903||t>=63744&&t<=64255||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=44032&&t<=55215||t>=12288&&t<=12351||t>=65280&&t<=65519||t>=128512&&t<=128591||t>=127744&&t<=128511||t>=128640&&t<=128767||t>=127456&&t<=127487||t>=9728&&t<=9983||t>=9984&&t<=10175||t>=129280&&t<=129535||t>=129536&&t<=129647||t>=129648&&t<=129791}o(nr,"isWideChar");function rr(e){if(!e)return 0;let t=0,n=Gd();if(n)for(let r of n.segment(e))t+=nr(r.segment)?eh:Zm;else for(let r of e)t+=nr(r)?eh:Zm;return t}o(rr,"getVisualWidth");function NT(e,t){if(!e||t<0)return"";let n=Gd();if(n){let i=0;for(let s of n.segment(e)){if(i===t)return s.segment;i++}return""}let r=[...e];return t>=r.length?"":r[t]}o(NT,"getCharAtCodePoint");function un(e){if(!e)return[];let t=Gd();if(t){let n=[];for(let r of t.segment(e))n.push(r.segment);return n}return[...e]}o(un,"splitByCodePoints");function hA(e,t,n){return un(e).slice(t,n).join("")}o(hA,"sliceByCodePoints");function BT(e,t){let n=Math.max(0,t),r=un(e),i=0,s=0;for(;i<r.length;){let a=nr(r[i])?eh:Zm;if(s+a>n)break;s+=a,i++}return{before:r.slice(0,i).join(""),current:r[i]??"",after:r.slice(i+1).join("")}}o(BT,"splitAtVisualColumn");function Ks(e,t,n=!1){if(!e||t<=0)return"";let r="\u2026",s=n?t-1:t,a="",c=0,l=un(e);for(let d of l){let f=nr(d)?2:1;if(c+f>s)break;a+=d,c+=f}return n&&a.length<e.length&&(a+=r),a}o(Ks,"truncateByVisualWidth");var Ud=new bi(mA);function Vd(e){let t=Ud.get(e);if(t!==void 0)return t;let n=rr(e);return Ud.set(e,n),n}o(Vd,"getVisualWidthCached");function dn(e,t,n,r){let i=[],s=[],a=[];for(let c=0;c<e.length;c++){let l=e[c]||"";if(s[c]=[],l.length===0){i.push("");let p=i.length-1;s[c].push([p,0]),a.push([c,0]);continue}let d=0,f=un(l);for(;d<f.length;){let p="",m=0,h=d,x=-1;for(let T=d;T<f.length;T++){let R=f[T],C=nr(R)?2:1;if(m+C>t){x>=0&&T-d>0?(p=f.slice(d,x).join(""),m=f.slice(d,x).reduce((I,M)=>I+(nr(M)?2:1),0),h=x):p.length===0&&C>t&&(p=R,m=C,h=T+1);break}p+=R,m+=C,h=T+1,R===" "&&(x=T+1)}if(p.length>0||i.length===0){let T=d,R=i.length;i.push(p),s[c].push([R,T]),a.push([c,T])}d=h}}return{visualLines:i,logicalToVisualMap:s,visualToLogicalMap:a}}o(dn,"calculateVisualLayout");function Kd(e,t){let{logicalToVisualMap:n,visualLines:r}=e;if(r.length===0)return[0,0];let[i,s]=t,a=n[i];if(!a||a.length===0)return[0,0];let c;for(let[h,x]of a)if(x<=s)c=[h,x];else break;let[l,d]=c??a[0],f=r[l]??"",p=Math.max(0,s-d),m=rr(hA(f,0,p));return[l,m]}o(Kd,"calculateVisualCursorFromLayout");var zd={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"]}},th={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 nh={dark:zd,minimal:th};function re(e="dark"){return nh[e]??zd}o(re,"getTheme");function gA(){return Object.keys(nh)}o(gA,"getThemeNames");import{jsx as yn,jsxs as Hn,Fragment as bP}from"react/jsx-runtime";import{useMemo as If}from"react";import{jsx as SI}from"react/jsx-runtime";import{createContext as ZL,useContext as Li,useEffect as ta,useMemo as xI,useState as eP,useCallback as wI,useRef as hf}from"react";import{Stream as ML}from"node:stream";import{openSync as AL,writeSync as sI}from"node:fs";import{performance as _L}from"node:perf_hooks";import{tmpdir as LL}from"node:os";import{join as PL}from"node:path";import rh,{forwardRef as SA,useContext as wA}from"react";import{createContext as yA}from"react";var zs=yA({isScreenReaderEnabled:!1});import{createContext as xA}from"react";var Xd=xA(void 0);var HT=SA(({children:e,backgroundColor:t,"aria-label":n,"aria-hidden":r,"aria-role":i,"aria-state":s,...a},c)=>{let{isScreenReaderEnabled:l}=wA(zs),d=n?rh.createElement("ink-text",null,n):void 0;if(l&&r)return null;let f=rh.createElement("ink-box",{ref:c,style:{flexWrap:"nowrap",flexDirection:"row",flexGrow:0,flexShrink:1,...a,backgroundColor:t,overflowX:a.overflowX??a.overflow??"visible",overflowY:a.overflowY??a.overflow??"visible"},internal_accessibility:{role:i,state:s}},l&&d?d:e);return t?rh.createElement(Xd.Provider,{value:t},f):f});HT.displayName="Box";var Bn=HT;import bA,{useContext as WT}from"react";import Xs from"chalk";import Mo from"chalk";var TA=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,CA=/^ansi256\(\s?(\d+)\s?\)$/;function IA(e){return e in Mo}o(IA,"isNamedColor");function or(e,t,n){if(!t)return e;if(IA(t)){let r=Mo;if(n==="foreground")return r[t]?.(e)??e;let i=`bg${t[0].toUpperCase()+t.slice(1)}`;return r[i]?.(e)??e}if(t.startsWith("#"))return n==="foreground"?Mo.hex(t)(e):Mo.bgHex(t)(e);if(t.startsWith("ansi256")){let r=CA.exec(t);if(!r)return e;let i=Number(r[1]);return n==="foreground"?Mo.ansi256(i)(e):Mo.bgAnsi256(i)(e)}if(t.startsWith("rgb")){let r=TA.exec(t);if(!r)return e;let i=Number(r[1]),s=Number(r[2]),a=Number(r[3]);return n==="foreground"?Mo.rgb(i,s,a)(e):Mo.bgRgb(i,s,a)(e)}return e}o(or,"colorize");function hn({color:e,backgroundColor:t,dimColor:n=!1,bold:r=!1,italic:i=!1,underline:s=!1,strikethrough:a=!1,inverse:c=!1,wrap:l="wrap",children:d,"aria-label":f,"aria-hidden":p=!1,internal_cursorAnchor:m=!1}){let{isScreenReaderEnabled:h}=WT(zs),x=WT(Xd),T=h&&f?f:d;if(T==null)return null;let R=o(C=>{let I=C;n&&(I=Xs.dim(I)),e&&(I=or(I,e,"foreground"));let M=t??x;return M&&(I=or(I,M,"background")),r&&(I=Xs.bold(I)),i&&(I=Xs.italic(I)),s&&(I=Xs.underline(I)),a&&(I=Xs.strikethrough(I)),c&&(I=Xs.inverse(I)),I},"transform");return h&&p?null:bA.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:l},internal_transform:R,...m?{internal_cursorAnchor:!0}:{}},h&&f?f:d)}o(hn,"Text");import vA,{useLayoutEffect as RA,useMemo as FT,useState as kA}from"react";function oh({items:e,children:t,style:n}){let[r,i]=kA(0),s=FT(()=>e.slice(r),[e,r]);RA(()=>{i(e.length)},[e.length]);let a=s.map((l,d)=>t(l,r+d)),c=FT(()=>({position:"absolute",flexDirection:"column",...n}),[n]);return vA.createElement("ink-box",{internal_static:!0,style:c},a)}o(oh,"Static");import Ai from"node:process";import rI from"react";import{throttle as uL}from"es-toolkit/compat";import gn from"ansi-escapes";import oo from"is-in-ci";import dL from"auto-bind";import{onExit as fL}from"signal-exit";import pL from"patch-console";import{LegacyRoot as mL,ConcurrentRoot as hL}from"react-reconciler/constants.js";import gL from"yoga-layout";import yL from"wrap-ansi";import xL from"terminal-size";import EA from"node:process";var Yd=o(()=>EA.env.DEV==="true","isDev");import t_ from"react-reconciler";import{DefaultEventPriority as n_,NoEventPriority as rC}from"react-reconciler/constants.js";import*as Ao from"scheduler";import ZT from"yoga-layout";import{createContext as r_}from"react";import UA from"yoga-layout";import MA from"widest-line";var jT=new Map,AA=o(e=>{if(e.length===0)return{width:0,height:0};let t=jT.get(e);if(t)return t;let n=MA(e),r=e.split(`
3
3
  `).length,i={width:n,height:r};return jT.set(e,i),i},"measureText"),ih=AA;import _A from"wrap-ansi";import LA from"cli-truncate";var UT={},PA=o((e,t,n)=>{let r=e+String(t)+String(n),i=UT[r];if(i)return i;let s=e;if(n==="wrap"&&(s=_A(e,t,{trim:!1,hard:!0})),n.startsWith("truncate")){let a="end";n==="truncate-middle"&&(a="middle"),n==="truncate-start"&&(a="start"),s=LA(e,t,{position:a})}return UT[r]=s,s},"wrapText"),qd=PA;var $A=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=63},"isCsiParameterCharacter"),DA=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isCsiIntermediateCharacter"),OA=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=64&&t<=126},"isCsiFinalCharacter"),KT=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isEscapeIntermediateCharacter"),NA=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=126},"isEscapeFinalCharacter"),zT=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=128&&t<=159},"isC1ControlCharacter"),GT=o((e,t)=>{let n=t;for(;n<e.length;){let c=e[n];if(!$A(c))break;n++}let r=e.slice(t,n),i=n;for(;n<e.length;){let c=e[n];if(!DA(c))break;n++}let s=e.slice(i,n),a=e[n];if(!(a===void 0||!OA(a)))return{endIndex:n+1,parameterString:r,intermediateString:s,finalCharacter:a}},"readCsiSequence"),VT=o((e,t,n)=>{for(let r=t;r<e.length;r++){let i=e[r];if(n&&i==="\x07"||i==="\x9C")return r+1;if(i==="\x1B"){let s=e[r+1];if(s==="\x1B"){r++;continue}if(s==="\\")return r+2}}},"findControlStringTerminatorIndex"),BA=o((e,t)=>{let n=t;for(;n<e.length;){let s=e[n];if(!KT(s))break;n++}let r=e.slice(t,n),i=e[n];if(!(i===void 0||!NA(i)))return{endIndex:n+1,intermediateString:r,finalCharacter:i}},"readEscapeSequence"),HA=o(e=>{switch(e){case"]":return{type:"osc",allowBellTerminator:!0};case"P":return{type:"dcs",allowBellTerminator:!1};case"^":return{type:"pm",allowBellTerminator:!1};case"_":return{type:"apc",allowBellTerminator:!1};case"X":return{type:"sos",allowBellTerminator:!1};default:return}},"getControlStringFromEscapeIntroducer"),WA=o(e=>{switch(e){case"\x9D":return{type:"osc",allowBellTerminator:!0};case"\x90":return{type:"dcs",allowBellTerminator:!1};case"\x9E":return{type:"pm",allowBellTerminator:!1};case"\x9F":return{type:"apc",allowBellTerminator:!1};case"\x98":return{type:"sos",allowBellTerminator:!1};default:return}},"getControlStringFromC1Introducer"),sh=o(e=>{if(e.includes("\x1B"))return!0;for(let t of e)if(zT(t))return!0;return!1},"hasAnsiControlCharacters"),Ys=o((e,t,n,r)=>(r>n&&e.push({type:"text",value:t.slice(n,r)}),e.push({type:"invalid",value:t.slice(r)}),e),"malformedFromIndex"),XT=o(e=>{if(!sh(e))return[{type:"text",value:e}];let t=[],n=0;for(let r=0;r<e.length;){let i=e[r];if(i===void 0)break;if(i==="\x1B"){let a=e[r+1];if(a===void 0)return Ys(t,e,n,r);if(a==="["){let d=GT(e,r+2);if(d===void 0)return Ys(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"csi",value:e.slice(r,d.endIndex),parameterString:d.parameterString,intermediateString:d.intermediateString,finalCharacter:d.finalCharacter}),r=d.endIndex,n=r;continue}let c=HA(a);if(c!==void 0){let d=VT(e,r+2,c.allowBellTerminator);if(d===void 0)return Ys(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:c.type,value:e.slice(r,d)}),r=d,n=r;continue}let l=BA(e,r+1);if(l===void 0){if(KT(a))return Ys(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),r++,n=r;continue}r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"esc",value:e.slice(r,l.endIndex),intermediateString:l.intermediateString,finalCharacter:l.finalCharacter}),r=l.endIndex,n=r;continue}if(i==="\x9B"){let a=GT(e,r+1);if(a===void 0)return Ys(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=WA(i);if(s!==void 0){let a=VT(e,r+1,s.allowBellTerminator);if(a===void 0)return Ys(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:s.type,value:e.slice(r,a)}),r=a,n=r;continue}if(i==="\x9C"){r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"st",value:i}),r++,n=r;continue}if(zT(i)){r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"c1",value:i}),r++,n=r;continue}r++}return n<e.length&&t.push({type:"text",value:e.slice(n)}),t},"tokenizeAnsi");var FA=/^[\d:;]*$/,jA=o(e=>{if(!sh(e))return e;let t="";for(let n of XT(e)){if(n.type==="text"||n.type==="osc"){t+=n.value;continue}n.type==="csi"&&n.finalCharacter==="m"&&n.intermediateString===""&&FA.test(n.parameterString)&&(t+=n.value)}return t},"sanitizeAnsi"),YT=jA;var qT=o(e=>{let t="";for(let n=0;n<e.childNodes.length;n++){let r=e.childNodes[n];if(r===void 0)continue;let i="";r.nodeName==="#text"?i=r.nodeValue:((r.nodeName==="ink-text"||r.nodeName==="ink-virtual-text")&&(i=qT(r)),i.length>0&&typeof r.internal_transform=="function"&&(i=r.internal_transform(i,n))),t+=i}return YT(t)},"squashTextNodes"),Nc=qT;var Jd=o(e=>{let t={nodeName:e,style:{},attributes:{},childNodes:[],parentNode:void 0,yogaNode:e==="ink-virtual-text"?void 0:UA.Node.create(),internal_accessibility:{}};return e==="ink-text"&&t.yogaNode?.setMeasureFunc(GA.bind(null,t)),t},"createNode"),Qd=o((e,t)=>{t.parentNode&&Bc(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")&&Zd(e)},"appendChildNode"),ah=o((e,t,n)=>{t.parentNode&&Bc(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")&&Zd(e)},"insertBeforeNode"),Bc=o((e,t)=>{t.yogaNode&&t.parentNode?.yogaNode?.removeChild(t.yogaNode),t.parentNode=void 0;let n=e.childNodes.indexOf(t);n>=0&&e.childNodes.splice(n,1),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&Zd(e)},"removeChildNode"),ch=o((e,t,n)=>{if(t==="internal_accessibility"){e.internal_accessibility=n;return}e.attributes[t]=n},"setAttribute"),lh=o((e,t)=>{e.style=t},"setStyle"),JT=o(e=>{let t={nodeName:"#text",nodeValue:e,yogaNode:void 0,parentNode:void 0,style:{}};return Hc(t,e),t},"createTextNode"),GA=o(function(e,t){let n=e.nodeName==="#text"?e.nodeValue:Nc(e),r=ih(n);if(r.width<=t||r.width>=1&&t>0&&t<1)return r;let i=e.style?.textWrap??"wrap",s=qd(n,t,i);return ih(s)},"measureTextNode"),QT=o(e=>{if(e?.parentNode)return e.yogaNode??QT(e.parentNode)},"findClosestYogaNode"),Zd=o(e=>{QT(e)?.markDirty()},"markNodeAsDirty"),Hc=o((e,t)=>{typeof t!="string"&&(t=String(t)),e.nodeValue=t,Zd(e)},"setTextNodeValue");import ke from"yoga-layout";var KA=o((e,t)=>{"position"in t&&e.setPositionType(t.position==="absolute"?ke.POSITION_TYPE_ABSOLUTE:ke.POSITION_TYPE_RELATIVE),"top"in t&&e.setPosition(ke.EDGE_TOP,t.top??0),"bottom"in t&&e.setPosition(ke.EDGE_BOTTOM,t.bottom??0),"left"in t&&e.setPosition(ke.EDGE_LEFT,t.left??0),"right"in t&&e.setPosition(ke.EDGE_RIGHT,t.right??0)},"applyPositionStyles"),zA=o((e,t)=>{"margin"in t&&e.setMargin(ke.EDGE_ALL,t.margin??0),"marginX"in t&&e.setMargin(ke.EDGE_HORIZONTAL,t.marginX??0),"marginY"in t&&e.setMargin(ke.EDGE_VERTICAL,t.marginY??0),"marginLeft"in t&&e.setMargin(ke.EDGE_START,t.marginLeft||0),"marginRight"in t&&e.setMargin(ke.EDGE_END,t.marginRight||0),"marginTop"in t&&e.setMargin(ke.EDGE_TOP,t.marginTop||0),"marginBottom"in t&&e.setMargin(ke.EDGE_BOTTOM,t.marginBottom||0)},"applyMarginStyles"),XA=o((e,t)=>{"padding"in t&&e.setPadding(ke.EDGE_ALL,t.padding??0),"paddingX"in t&&e.setPadding(ke.EDGE_HORIZONTAL,t.paddingX??0),"paddingY"in t&&e.setPadding(ke.EDGE_VERTICAL,t.paddingY??0),"paddingLeft"in t&&e.setPadding(ke.EDGE_LEFT,t.paddingLeft||0),"paddingRight"in t&&e.setPadding(ke.EDGE_RIGHT,t.paddingRight||0),"paddingTop"in t&&e.setPadding(ke.EDGE_TOP,t.paddingTop||0),"paddingBottom"in t&&e.setPadding(ke.EDGE_BOTTOM,t.paddingBottom||0)},"applyPaddingStyles"),YA=o((e,t)=>{"flexGrow"in t&&e.setFlexGrow(t.flexGrow??0),"flexShrink"in t&&e.setFlexShrink(typeof t.flexShrink=="number"?t.flexShrink:1),"flexWrap"in t&&(t.flexWrap==="nowrap"&&e.setFlexWrap(ke.WRAP_NO_WRAP),t.flexWrap==="wrap"&&e.setFlexWrap(ke.WRAP_WRAP),t.flexWrap==="wrap-reverse"&&e.setFlexWrap(ke.WRAP_WRAP_REVERSE)),"flexDirection"in t&&(t.flexDirection==="row"&&e.setFlexDirection(ke.FLEX_DIRECTION_ROW),t.flexDirection==="row-reverse"&&e.setFlexDirection(ke.FLEX_DIRECTION_ROW_REVERSE),t.flexDirection==="column"&&e.setFlexDirection(ke.FLEX_DIRECTION_COLUMN),t.flexDirection==="column-reverse"&&e.setFlexDirection(ke.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in t&&(typeof t.flexBasis=="number"?e.setFlexBasis(t.flexBasis):typeof t.flexBasis=="string"?e.setFlexBasisPercent(Number.parseInt(t.flexBasis,10)):e.setFlexBasis(Number.NaN)),"alignItems"in t&&((t.alignItems==="stretch"||!t.alignItems)&&e.setAlignItems(ke.ALIGN_STRETCH),t.alignItems==="flex-start"&&e.setAlignItems(ke.ALIGN_FLEX_START),t.alignItems==="center"&&e.setAlignItems(ke.ALIGN_CENTER),t.alignItems==="flex-end"&&e.setAlignItems(ke.ALIGN_FLEX_END)),"alignSelf"in t&&((t.alignSelf==="auto"||!t.alignSelf)&&e.setAlignSelf(ke.ALIGN_AUTO),t.alignSelf==="flex-start"&&e.setAlignSelf(ke.ALIGN_FLEX_START),t.alignSelf==="center"&&e.setAlignSelf(ke.ALIGN_CENTER),t.alignSelf==="flex-end"&&e.setAlignSelf(ke.ALIGN_FLEX_END)),"justifyContent"in t&&((t.justifyContent==="flex-start"||!t.justifyContent)&&e.setJustifyContent(ke.JUSTIFY_FLEX_START),t.justifyContent==="center"&&e.setJustifyContent(ke.JUSTIFY_CENTER),t.justifyContent==="flex-end"&&e.setJustifyContent(ke.JUSTIFY_FLEX_END),t.justifyContent==="space-between"&&e.setJustifyContent(ke.JUSTIFY_SPACE_BETWEEN),t.justifyContent==="space-around"&&e.setJustifyContent(ke.JUSTIFY_SPACE_AROUND),t.justifyContent==="space-evenly"&&e.setJustifyContent(ke.JUSTIFY_SPACE_EVENLY))},"applyFlexStyles"),qA=o((e,t)=>{"width"in t&&(typeof t.width=="number"?e.setWidth(t.width):typeof t.width=="string"?e.setWidthPercent(Number.parseInt(t.width,10)):e.setWidthAuto()),"height"in t&&(typeof t.height=="number"?e.setHeight(t.height):typeof t.height=="string"?e.setHeightPercent(Number.parseInt(t.height,10)):e.setHeightAuto()),"minWidth"in t&&(typeof t.minWidth=="string"?e.setMinWidthPercent(Number.parseInt(t.minWidth,10)):e.setMinWidth(t.minWidth??0)),"minHeight"in t&&(typeof t.minHeight=="string"?e.setMinHeightPercent(Number.parseInt(t.minHeight,10)):e.setMinHeight(t.minHeight??0))},"applyDimensionStyles"),JA=o((e,t)=>{"display"in t&&e.setDisplay(t.display==="flex"?ke.DISPLAY_FLEX:ke.DISPLAY_NONE)},"applyDisplayStyles"),QA=o((e,t)=>{if("borderStyle"in t){let n=t.borderStyle?1:0;t.borderTop!==!1&&e.setBorder(ke.EDGE_TOP,n),t.borderBottom!==!1&&e.setBorder(ke.EDGE_BOTTOM,n),t.borderLeft!==!1&&e.setBorder(ke.EDGE_LEFT,n),t.borderRight!==!1&&e.setBorder(ke.EDGE_RIGHT,n)}},"applyBorderStyles"),ZA=o((e,t)=>{"gap"in t&&e.setGap(ke.GUTTER_ALL,t.gap??0),"columnGap"in t&&e.setGap(ke.GUTTER_COLUMN,t.columnGap??0),"rowGap"in t&&e.setGap(ke.GUTTER_ROW,t.rowGap??0)},"applyGapStyles"),e_=o((e,t={})=>{KA(e,t),zA(e,t),XA(e,t),YA(e,t),qA(e,t),JA(e,t),QA(e,t),ZA(e,t)},"styles"),uh=e_;if(Yd())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.
@@ -137,7 +137,7 @@ $ npm install --save-dev react-devtools-core
137
137
  [Interrupted]`}),r}o(kB,"buildInterruptedPersistenceItems");function _y({thinking:e,response:t,toolCalls:n,toolNames:r}){let i=[],s=e?.trim()??"",a=t?.trim()??"",c=n&&n.length>0?[...n]:[],l=r&&r.length>0?[...r]:[];return s&&i.push({type:"thinking",text:s}),c.length>0?i.push({type:"tool_group",tools:c}):!s&&!a&&l.length>0&&i.push({type:"info",icon:"*",text:`Tools: ${l.join(", ")}`}),a&&i.push({type:"assistant",text:a}),i}o(_y,"buildRoundHistoryItems");var EB=20,MB="Session ended before the tool completed.";function AB(e){switch(e.status){case W.Success:return{status:"success"};case W.Error:return{status:"error"};case W.Cancelled:return{status:"cancelled"};case W.AwaitingApproval:case W.Scheduled:case W.Validating:case W.Executing:return{status:"cancelled",error:MB};default:return e.status}}o(AB,"toPersistedToolStatus");function _B(e){if(!e.id||!e.name)return;let t=AB(e),n=t.status==="success"?Xm(e.output):void 0,r=t.status==="error"||t.status==="cancelled"?zm(e.error??Xm(e.output)??t.error??""):void 0,i=uT(e.input);return{id:e.id,name:e.name,status:t.status,...i?{input:i}:{},...typeof e.preview=="string"&&e.preview.trim().length>0?{preview:zm(e.preview.trim(),500)}:{},...n&&n.trim().length>0?{output:n}:{},...r&&r.trim().length>0?{error:r}:{},...typeof e.startTime=="number"?{startTime:e.startTime}:{},...typeof e.endTime=="number"?{endTime:e.endTime}:{}}}o(_B,"toPersistedToolCall");function LB(e){let t=e.tools.slice(0,EB).map(_B).filter(n=>!!n);return t.length>0?{type:"tool_group",tools:t}:void 0}o(LB,"toPersistedToolGroup");function Wk(e){if(e.type==="tool_group")return LB(e);let t="text"in e&&typeof e.text=="string"?e.text.trimEnd():"";if(!t)return;if(e.type==="sidecar"){let i=e.delivery==="budget-exhausted"?"budget-exhausted":e.verdict??"revise";return{type:"sidecar",text:t,icon:i}}let n="icon"in e&&typeof e.icon=="string"&&e.icon.length>0?e.icon:void 0,r="compactText"in e&&typeof e.compactText=="string"&&e.compactText.length>0?e.compactText.trimEnd():void 0;return{type:e.type,text:t,...n?{icon:n}:{},...r?{compactText:r}:{}}}o(Wk,"toPersistedUiHistoryItem");var Ok=process.env.KODAX_TRANSCRIPT_HARNESS_MARKERS==="1",PB=process.env.KODAX_SCROLL_OVERSCAN==="1"?80:void 0;function Nk(e){return Lr(e.map(t=>Wk(t)).filter(t=>!!t))}o(Nk,"serializeUiHistorySnapshot");function $B(e){return e.map(t=>Wk(t)).filter(t=>!!t)}o($B,"serializeCreatableHistoryItems");function jp(e,t){return t.length===0?Lr(e):Lr([...e,...$B(t)])}o(jp,"appendPersistedUiHistorySnapshot");function Bl(e,t,n){console.log((e==="block"?ht.red:ht.yellow)(t)),n.forEach(r=>console.log(ht.dim(r)))}o(Bl,"logSessionTransitionGuard");var My=o(({config:e,sessionId:t,workingDir:n,compactionInfo:r})=>{let i=re("dark"),s=e.model??Tr(e.provider)??e.provider,a=wo({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?fl(r.contextWindow,r.triggerPercent):void 0;return Sn(k,{flexDirection:"column",marginBottom:1,children:[Fg.map((d,f)=>ue(w,{color:i.colors.primary,children:d},f)),Sn(k,{children:[ue(w,{color:i.colors.primary,children:" \u258E "}),ue(w,{color:i.colors.primary,children:"AI Coding Agent \xB7 Minimalist & Intelligent"})]}),Sn(k,{children:[ue(w,{color:i.colors.success,children:" \u258E "}),Sn(w,{bold:!0,color:i.colors.text,children:["v",mi]}),ue(w,{dimColor:!0,children:" \xB7 "}),Sn(w,{color:i.colors.success,children:[e.provider,"/",s]}),ue(w,{dimColor:!0,children:` \xB7 effort:${a}`}),ue(w,{dimColor:!0,children:" \xB7 "}),ue(w,{color:i.colors.primary,children:e.agentMode.toUpperCase()}),ue(w,{dimColor:!0,children:" / "}),ue(w,{color:i.colors.accent,children:e.permissionMode})]}),r&&Sn(k,{children:[ue(w,{color:i.colors.accent,children:" \u258E "}),ue(w,{color:i.colors.text,children:`ctx ${c}k \xB7 compaction `}),ue(w,{color:r.enabled?i.colors.success:i.colors.text,children:r.enabled?"on":"off"}),ue(w,{color:i.colors.text,children:` \xB7 ${l}`})]}),Sn(k,{children:[ue(w,{color:i.colors.secondary,children:" \u258E "}),ue(w,{color:i.colors.text,children:"session "}),ue(w,{color:i.colors.primary,children:t}),ue(w,{color:i.colors.text,children:" \xB7 "}),ue(w,{color:i.colors.text,children:n})]})]})},"Banner");function DB(e){let t=e.config.model??Tr(e.config.provider)??e.config.provider,n=wo({provider:e.config.provider,model:e.config.model,effort:e.config.effort,effortOverride:e.config.effortOverride,thinking:e.config.thinking,reasoningMode:e.config.reasoningMode}),r=e.compactionInfo?Math.round(e.compactionInfo.contextWindow/1e3):0,i=e.compactionInfo?fl(e.compactionInfo.contextWindow,e.compactionInfo.triggerPercent):void 0,s=" \u258E AI Coding Agent \xB7 Minimalist & Intelligent",a=` \u258E v${mi} \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 ${i}`:void 0,l=` \u258E session ${e.sessionId} \xB7 ${e.workingDir}`,d=[],f=o(m=>{let h=dn(m.length>0?m.split(`
138
138
  `):[""],Math.max(1,e.terminalWidth),0,0);return h.visualLines.length>0?h.visualLines:[""]},"wrapBannerLine"),p=o((m,h,x)=>{f(h).forEach((T,R)=>{d.push({key:`${m}-${R}`,text:T,...x})})},"pushLineRows");return Fg.forEach((m,h)=>{p(`banner-logo-${h}`,m,{color:"primary"})}),p("banner-tagline",s,{color:"primary"}),p("banner-version",a,{color:"text",bold:!0}),c&&p("banner-compaction",c,{color:"text"}),p("banner-session",l,{color:"text"}),d.push({key:"banner-blank",text:" "}),{key:"banner",rows:d}}o(DB,"buildBannerTranscriptSection");function Bk(e,t){return t?{...e,sections:[t,...e.sections],rows:[...t.rows,...e.rows]}:e}o(Bk,"prependTranscriptSection");var OB=process.env.KODAX_INLINE_LEDGER!=="0";function Hk(e,t){process.env.KODAX_INLINE_LEDGER_DEBUG==="1"&&rn({source:"repl:inline-ledger",level:"debug",message:`${e}; rebuilding on next change.`,...t!==void 0?{detail:t}:{}})}o(Hk,"reportInlineLedgerFailure");var NB=o(({options:e,config:t,context:n,startupRuntimeInfo:r,storage:i,rendererMode:s,fullscreenPolicy:a,onExit:c,compactionInfo:l,autoModeBootstrap:d,setAutoModeAskUser:f,setAutoModeEngineChange:p,setCurrentConfigRef:m,teamModeHandle:h})=>{let{exit:x}=Er(),{stdout:T}=kr(),R=T.rows??24,{stdin:C,setRawMode:I,isRawModeSupported:M}=Yc(),L=aa(),{history:A}=xa(),N=Ak.useRef(null),z=Ak.useRef(vw()),{addHistoryItem:B,addHistoryItems:ne,clearHistory:S,setSessionId:Se}=Sa(),Z=xe(A),O=xe(Nk(A));We(()=>{Z.current=A,O.current=Nk(A)},[A]),We(()=>{Iv()},[]),We(()=>{kT()},[]);let E=T.columns||80,$=Ca(),be=xe($);We(()=>{be.current=$},[$]);let{startStreaming:de,stopStreaming:G,abort:me,startThinking:ye,appendThinkingChars:De,appendThinkingContent:Ce,stopThinking:Oe,clearThinkingContent:Q,setCurrentTool:se,appendToolInputChars:Ae,appendToolInputContent:tt,clearToolInputContent:q,clearResponse:Ke,appendResponse:ct,getSignal:le,getFullResponse:we,getThinkingContent:ge,startNewIteration:Ye,clearIterationHistory:ft,startCompacting:qt,stopCompacting:P,setMaxIter:K,addPendingInput:X,removeLastPendingInput:he,shiftPendingInput:Ee,consumePendingInputs:J}=Ia(),[j,fe]=Ue(!1),[D,He]=Ue(t),$t=pe(()=>hi({provider:D.provider,model:D.model,effort:D.effort,effortOverride:D.effortOverride,permissionMode:D.permissionMode,planModeEffort:D.planModeEffort,thinking:D.thinking,reasoningMode:D.reasoningMode}),[D.provider,D.model,D.effort,D.effortOverride,D.permissionMode,D.planModeEffort,D.thinking,D.reasoningMode]),Jt=$t.configuredEffort,Je=$t.runtimeEffort,ur=pe(()=>({...D,effort:Jt}),[D,Jt]),Jo=pe(()=>ak(l,{provider:D.provider,model:D.model},ui),[l,D.provider,D.model]),[gx,wM]=Ue(!0),[Jp,OW]=Ue(!0),[Jl,Ql]=Ue(0),[Qp,Ga]=Ue(!1),[yx,Gn]=Ue(null),Va=xe(!1),TM=pe(()=>Ro(),[]),Ka=xe(null),Zl=xe(null),xx=xe(Promise.resolve()),eu=xe(null),Qo=xe({requested:!1,uiHistoryOverride:void 0}),zi=xe(null),za=xe(!1),Xa=xe(null),[Ya,tu]=Ue(!0),[Zp,nu]=Ue(""),[Ge,dr]=Ue(()=>Mv(TM,{rendererMode:s})),[Dt,em]=Ue(!1),[CM,IM]=Ue(0),{scrollRef:bM,scrollOffset:Vn,sticky:tm,setScrollOffset:vM,handleScrollTopChange:RM,handleStickyChange:kM,scrollTo:ru,scrollBy:ou,scrollToBottom:iu}=zR(),nm=xe(null),su=xe(null),qa=xe([]),au=xe([]),Xi=xe(null),Kn=xe(null),Sx=xe({time:0,row:-1,column:-1,count:0}),[cu,rm]=Ue(void 0),[Hr,om]=Ue(void 0),[Yi,wx]=Ue(void 0),[Tn,EM]=Ue(()=>new Set),[im,Tx]=Ue(null),[Qt,Cx]=Ue(null),[Y,lu]=Ue(null),[Ix,qi]=Ue(null),[sm,bx]=Ue(null),Ja=xe(null),Qa=V(u=>{Ja.current=u,bx(u)},[]),Za=V(u=>{let g=u(Ja.current);Ja.current=g,bx(g)},[]),ec=V((u,g)=>{let y=Ja.current;return y?.status!=="running"||!u0(u,y.runId)?!1:(Qa({...y,message:g}),!0)},[Qa]),am=V(u=>{if(u.status==="running"){Qa({runId:u.runId,workflow:u.workflow,status:u.status,...u.phase!==void 0?{phase:u.phase}:{},...u.phaseIndex!==void 0?{phaseIndex:u.phaseIndex}:{},...u.phaseTotal!==void 0?{phaseTotal:u.phaseTotal}:{},...u.startedAt!==void 0?{startedAt:u.startedAt}:{},...u.elapsedMs!==void 0?{elapsedMs:u.elapsedMs}:{},activeAgents:u.activeAgents,totalSpawned:u.totalSpawned,...u.plannedAgents!==void 0?{plannedAgents:u.plannedAgents}:{},...u.agentCap!==void 0?{agentCap:u.agentCap}:{},...u.tokenBudgetSpent!==void 0?{tokenBudgetSpent:u.tokenBudgetSpent}:{},...u.tokenBudgetTotal!==void 0?{tokenBudgetTotal:u.tokenBudgetTotal}:{},completedAgents:u.completedAgents,failedAgents:u.failedAgents,stoppedAgents:u.stoppedAgents,...u.message!==void 0?{message:u.message}:{},...u.locale!==void 0?{locale:u.locale}:{}});return}Za(g=>g?.runId===u.runId?null:g)},[Qa,Za]),MM=V(u=>{let g=u.type==="workflow_updated"?u.message:void 0,y=_c(u.snapshot.goal,u.snapshot.workflowName,u.snapshot.displayName,u.snapshot.latestMessage,g);am(xT(u.snapshot,g===void 0?{locale:y}:{locale:y,message:g}))},[am]),[uu,Wr]=Ue([]),Ji=pe(()=>{for(let u of uu)if(u.status==="in_progress"){if(u.activeForm&&u.activeForm.length>0)return u.activeForm;if(u.subject&&u.subject.length>0)return u.subject}},[uu]),[NW,tc]=Ue([]),[nc,AM]=Ue([]),[du,Ct]=Ue(void 0),[Zo,rc]=Ue(void 0),pt=xe(null),fu=xe(null),ei=xe([]),Qi=xe([]),sn=xe([]),cm=xe(new Set),rt=xe({}),St=xe({activeToolGroupTools:[]}),vx=xe(0),pu=xe({itemId:void 0,kind:"thinking",pendingText:""}),zn=xe(null),_M=80,LM=20,PM=xe(null),mu=pe(()=>[...A,...nc],[A,nc]),lm=pe(()=>{let u=Cb(mu,PM);return u===0?mu:mu.slice(u)},[mu]),hu=pe(()=>Ib(lm,LM),[lm]),Zi=lm,Zt=xe(null),fr=xe(null),pr=xe([]),en=xe([]),[ti,$M]=Ue([]),Fr=xe([]),[um,DM]=Ue([]),oc=xe([]),_n=V(u=>{Fr.current=u,$M(u)},[]),es=V(u=>{oc.current=u,DM(u)},[]),dm=V(()=>{es([])},[es]),Rx=V(u=>{if(!mp(u))return!1;let g=Rg(u),y=oc.current.filter(b=>b.id!==g);return y.length===oc.current.length||es(y),!0},[es]),Ln=V((u,g,y,b)=>{if(!mp(u))return!1;let v=Rg(u),_=oc.current.find(je=>je.id===v);if(b?.skipIfExisting&&_?.kind===g||h0(_?.kind,g))return!0;let F=b?.append&&_?.kind===g?`${_.detail}${y}`:y||_?.detail||"running",H={id:v,label:f0(u),source:p0(u),status:"running",kind:g,detail:vg(F),startedAt:_?.startedAt??Date.now()},ee=oc.current,ae=ee.findIndex(je=>je.id===v),Ve=ae>=0?ee.map((je,Gt)=>Gt===ae?H:je):[...ee,H].slice(0,TB);return es(Ve),!0},[es]),kx=V(u=>{ei.current=u,tc(u)},[]),ts=V(u=>{sn.current=u,AM(u)},[]),Ex=V(u=>{let g=u([...sn.current]);ts(g)},[ts]),Mx=V(u=>{u.length!==0&&ts([...sn.current,...u])},[ts]),gu=V(u=>{let g=St.current,y=g.activeToolGroupTools.some(b=>b.status===W.Executing);St.current={...u?.clearOwner?{}:{workerId:g.workerId,workerTitle:g.workerTitle},...y?{activeToolGroupItemId:g.activeToolGroupItemId,activeToolGroupTools:g.activeToolGroupTools}:{activeToolGroupTools:[]}},u?.clearOwner&&(rt.current={})},[]),yu=V(u=>{for(let g of u)g.type==="user"&&typeof g.id=="string"&&cm.current.add(g.id)},[]),ic=V(()=>{pu.current={itemId:void 0,kind:"thinking",pendingText:""},zn.current&&(clearTimeout(zn.current),zn.current=null);let u=xg(sn.current,cm.current);if(u.length>0){for(let g of u)cm.current.add(g.id);zi.current?.(u.map(g=>zo(g)))}gu({clearOwner:!0}),ts([])},[gu,ts]),xu=V(u=>(vx.current+=1,`managed-foreground-${u}-${vx.current}`),[]),Wt=V(u=>(Mx([u]),u.id),[Mx]),Cn=V((u,g)=>{rt.current.workerId?Wt({id:`${g}-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:u.type,text:u.text,...u.icon?{icon:u.icon}:{},...u.tightSpacing?{tightSpacing:!0}:{},timestamp:Date.now()}):B(u)},[B,Wt]),Ax=V((u,g)=>{let y=Date.now();rt.current.workerId?Wt({id:`${g}-${y}-${Math.random().toString(36).slice(2,7)}`,type:"sidecar",text:u.text,...u.verdict?{verdict:u.verdict}:{},...u.delivery?{delivery:u.delivery}:{},timestamp:y}):B(u)},[B,Wt]),jr=V((u,g)=>{if(!u)return;let y;return Ex(b=>b.map(v=>v.id!==u?v:(y=g(v),y))),y},[Ex]),ns=V((u,g)=>{let y=St.current;if(y.activeKind===u){if(u==="thinking"&&y.activeThinkingItemId)return y.activeThinkingItemId;if(u==="assistant"&&y.activeAssistantItemId)return y.activeAssistantItemId;if(u==="tool_group"&&y.activeToolGroupItemId)return y.activeToolGroupItemId}let b=Date.now(),v=g?.trim()?`[${g.trim()}] `:"",_=y.activeToolGroupTools.some(H=>H.status===W.Executing);if(u==="thinking"){let H=Wt({id:xu("thinking"),type:"thinking",timestamp:b,text:v});return St.current={...St.current,activeKind:"thinking",activeThinkingItemId:H,currentTurnThinkingItemId:H,activeAssistantItemId:void 0,..._?{}:{activeToolGroupItemId:void 0,activeToolGroupTools:[]}},H}if(u==="assistant"){let H=Wt({id:xu("assistant"),type:"assistant",timestamp:b,text:v});return St.current={...St.current,activeKind:"assistant",activeThinkingItemId:void 0,activeAssistantItemId:H,..._?{}:{activeToolGroupItemId:void 0,activeToolGroupTools:[]}},H}let F=Wt({id:xu("tool_group"),type:"tool_group",timestamp:b,tools:[]});return St.current={...St.current,activeKind:"tool_group",activeThinkingItemId:void 0,activeAssistantItemId:void 0,activeToolGroupItemId:F,activeToolGroupTools:[]},F},[Wt,xu]),Xn=V(()=>{zn.current&&(clearTimeout(zn.current),zn.current=null);let u=pu.current;if(!u.pendingText||!u.itemId)return;let g=u.pendingText,y=u.itemId,b=u.kind;u.pendingText="",jr(y,v=>v.type!==b?v:{...v,text:`${v.text}${g}`})},[jr]),_x=V(()=>{zn.current||(zn.current=setTimeout(Xn,_M))},[Xn]),Su=V((u,g)=>{if(!g)return;let y=St.current;if(u==="assistant"&&!RB(g,y.activeKind==="assistant"&&!!y.activeAssistantItemId))return;let b=y.workerTitle,v=ns(u,b),_=pu.current;_.itemId===v&&_.kind===u?_.pendingText+=g:(Xn(),_.itemId=v,_.kind=u,_.pendingText=g),_x()},[ns,Xn,_x]),Lx=V(u=>{let g=u.trim();if(!g)return;let y=pu.current;y.kind==="thinking"&&y.pendingText&&(y.pendingText="",zn.current&&(clearTimeout(zn.current),zn.current=null));let b=St.current.workerTitle?.trim(),v=b?`[${b}] ${g}`:g,_=St.current.currentTurnThinkingItemId;if(_){jr(_,H=>H.type==="thinking"?{...H,text:v}:H);return}let F=ns("thinking",St.current.workerTitle);jr(F,H=>H.type==="thinking"?{...H,text:v}:H)},[ns,jr]),Yn=V(u=>{Xn();let g=St.current;if(g.activeToolGroupItemId&&g.activeToolGroupTools.some(F=>F.id===u.id)){let F=g.activeToolGroupTools.map(ee=>ee.id===u.id?u:ee),H=F.every(ee=>ee.status===W.Success||ee.status===W.Error||ee.status===W.Cancelled);St.current={...g,...H?{activeToolGroupItemId:void 0,activeToolGroupTools:[]}:{activeToolGroupTools:F}},jr(g.activeToolGroupItemId,ee=>ee.type==="tool_group"?{...ee,tools:F}:ee);return}let y=sn.current;for(let F=y.length-1;F>=0;F-=1){let H=y[F];if(H.type!=="tool_group"||!H.tools.some(ae=>ae.id===u.id))continue;let ee=H.tools.map(ae=>ae.id===u.id?u:ae);jr(H.id,ae=>ae.type==="tool_group"?{...ae,tools:ee}:ae);return}let b=ns("tool_group",g.workerTitle),_=g.activeKind==="tool_group"&&g.activeToolGroupItemId===b?g.activeToolGroupTools.some(F=>F.id===u.id)?g.activeToolGroupTools.map(F=>F.id===u.id?u:F):[...g.activeToolGroupTools,u]:[u];St.current={...St.current,activeKind:"tool_group",activeToolGroupItemId:b,activeToolGroupTools:_},jr(b,F=>F.type==="tool_group"?{...F,tools:_}:F)},[ns,jr,Xn]),OM=V(u=>{Xn();let g=St.current,y=g.activeToolGroupTools.some(_=>_.status===W.Executing),b=Fr.current.filter(_=>_.status===W.Executing),v=new Set(b.map(_=>_.id));St.current={workerId:u?.workerId,workerTitle:u?.workerTitle,...y?{activeToolGroupItemId:g.activeToolGroupItemId,activeToolGroupTools:g.activeToolGroupTools}:{activeToolGroupTools:[]}},rt.current={workerId:u?.workerId,workerTitle:u?.workerTitle},pr.current=[],en.current=en.current.filter(_=>v.has(_.id)),_n(b),q(),se(void 0),Oe(),Q(),Ke(),Ct(void 0)},[Xn,q,Ke,Q,se,_n,Ct,Oe]),NM=V(u=>{if(u.length===0)return[];let g=[],y=[...ei.current],b=[...Qi.current];for(let v of u){let _=v.item,F=y.findIndex(H=>H.id===_.id);if(F>=0){let H=y[F];bp(H,_)||(y=y.map((ee,ae)=>ae===F?{..._,timestamp:H.timestamp}:ee))}else y=[...y,_].slice(-12),g.push(_);if(v.persistToHistory){let H=b.findIndex(ee=>ee.id===_.id);if(H>=0){let ee=b[H];bp(ee,_)||(b=b.map((ae,Ve)=>Ve===H?{..._,timestamp:ee.timestamp}:ae))}else b=[...b,_].slice(-48)}}return Qi.current=b,(g.length>0||y.some((v,_)=>!bp(v,ei.current[_]??v)||v.id!==ei.current[_]?.id))&&kx(y),g},[kx]),wu=V(u=>{if(en.current.findIndex(y=>y.id===u.id)===-1){en.current=[...en.current,u];return}en.current=en.current.map(y=>y.id===u.id?u:y)},[]),uo=V(u=>{let g=Fr.current.filter(y=>y.status===W.Executing);if(g.length!==0){if(u){let y=Bg(u);for(let b=g.length-1;b>=0;b-=1){let v=g[b];if(Bg(v.name)===y)return v}}return g[g.length-1]}},[]),rs=V(()=>{let u=uo();se(u?Ng(u.name):void 0)},[uo,se]),Px=V(u=>(wu(u),_n([...Fr.current.filter(g=>g.id!==u.id),u]),rs(),u),[_n,rs,wu]),os=V((u,g)=>{let y=Fr.current.find(v=>v.id===u);if(!y)return null;let b=g(y);return wu(b),_n(Fr.current.map(v=>v.id===u?b:v)),rs(),b},[_n,rs,wu]),$x=V((u,g,y)=>{if(u){let v=os(u,y);if(v)return v}let b=uo(g);return b?os(b.id,y):null},[uo,os]),Tu=V((u,g,y,b,v)=>{let _=u??uo(v)?.id;return _?os(_,F=>({...F,status:g,endTime:Date.now(),error:y,output:b})):null},[uo,os]),sc=V((u,g)=>{let y=Date.now(),b=new Map;for(let v of Fr.current){if(v.status!==W.Executing)continue;let _=g(v);b.set(v.id,{...v,status:u,endTime:y,..._})}return b.size===0?[]:(en.current=en.current.map(v=>b.get(v.id)??v),_n(Fr.current.map(v=>b.get(v.id)??v)),rs(),[...b.values()])},[_n,rs]),fo=V(()=>{_n([])},[_n]),{showHelp:Dx,toggleHelp:BM,setShowHelp:Ox}=Gg(),HM=V(u=>{nu(u),tu(u.trim().length===0)},[]),Cu=Oo(),Nx=pe(()=>Cu?Cu.state.visible&&Cu.suggestions.length>0:!1,[Cu]),[ac,Bx]=Ue(!1),Hx=xe(Jl),ni=V(()=>{Zt.current&&(clearTimeout(Zt.current),Zt.current=null),fr.current&&(clearTimeout(fr.current),fr.current=null)},[]);We(()=>{Nx&&!ac&&Bx(!0)},[Nx,ac]),We(()=>{Jl!==Hx.current&&(Hx.current=Jl,ac&&Bx(!1))},[Jl,ac]);let[st,Iu]=Ue(null),ri=xe(null),[Ne,qn]=Ue(null),bu=xe(null),vu=xe(Ne);vu.current=Ne;let[an,is]=Ue(""),[Ru,Jn]=Ue(0),fm=xe(""),cc=xe(void 0),Wx=pe(()=>{if(!Jo)return;let{contextWindow:u,triggerPercent:g,reservedResponseTokens:y}=Jo;return{currentTokens:yx??n.contextTokenSnapshot?.currentTokens??bs(n.messages),contextWindow:u,triggerPercent:g,reservedResponseTokens:y}},[n.messages,n.contextTokenSnapshot,Jo,yx]),lc=pe(()=>{if(!st)return;let u=!!st.input._alwaysConfirm,g=D.permissionMode==="accept-edits"&&!u;return u?ie("confirm.instruction.protected"):g?ie("confirm.instruction.always"):ie("confirm.instruction.basic")},[st,D.permissionMode]),gt=Ge.searchMode==="history",oe=Ge.surface==="transcript",mr=!!st||!!Ne||gt,At=oe?Dt?fb:1e3:12,po=Rk(a,Ge.surface),Fx=po.shellMode,pm=po.usesAlternateScreenShell,oi=po.usesRendererViewportShell,ku=po.usesRendererMouseTracking,jx=po.usesManagedMouseClicks,Ux=po.usesManagedMouseWheel,mm=po.usesManagedSelection,_t=kk(a,Ge.surface,Hv(Ge)),Gx=Wv(Ge),Eu=ac&&!oe,Vx=V(()=>Iy({items:Zi,managedLiveEvents:[],isLoading:j,isThinking:$.isThinking,thinkingCharCount:$.thinkingCharCount,thinkingContent:$.thinkingContent,currentResponse:$.currentResponse,currentTool:$.currentTool,activeToolCalls:ti,toolInputCharCount:$.toolInputCharCount,toolInputContent:$.toolInputContent,lastLiveActivityLabel:du,workStripText:Zo,iterationHistory:$.iterationHistory,currentIteration:$.currentIteration,isCompacting:$.isCompacting}),[Zi,j,$.isThinking,$.thinkingCharCount,$.thinkingContent,$.currentResponse,$.currentTool,ti,$.toolInputCharCount,$.toolInputContent,du,Zo,$.iterationHistory,$.currentIteration,$.isCompacting]);We(()=>{if(oe){Tx(u=>u??Vx());return}Tx(null)},[Vx,oe]);let uc=pe(()=>Ck({isTranscriptMode:oe,snapshot:im,currentItemsLength:Zi.length,currentManagedLiveEventsLength:0,isLoading:j,currentResponse:$.currentResponse,thinkingContent:$.thinkingContent,activeToolCallsLength:ti.length}),[ti.length,j,oe,Zi.length,$.currentResponse,$.thinkingContent,im]),Ft=oe?im:null,hm=pe(()=>bk(hu),[hu]),WM=pe(()=>!!(nc.length>0||Dk(Y)),[nc.length,Y]),Mu=nc.length>0,tn=a.streamingPreview&&WM,ss=pe(()=>Ik({surface:"transcript",snapshot:Ft,promptItems:hu,transcriptItems:Zi}),[Ft,hu,Zi]),dc=pe(()=>{if(!oe||Dt||ss.length<=ag)return ss;let u=ss.slice(-ag),g=ss.length-u.length;return[Rb(g,u[0]?.timestamp),...u]},[ss,oe,Dt]),yt=Ft?.isLoading??j,lt=a.streamingPreview?{isThinking:tn?!1:$.isThinking,thinkingCharCount:tn?0:$.thinkingCharCount,thinkingContent:tn?"":$.thinkingContent,currentResponse:tn?"":$.currentResponse,currentTool:tn?void 0:$.currentTool,activeToolCalls:tn?[]:ti,toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:tn?du:void 0,iterationHistory:[],currentIteration:$.currentIteration,isCompacting:!1}:{isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentResponse:"",currentTool:void 0,activeToolCalls:[],toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:void 0,iterationHistory:[],currentIteration:$.currentIteration,isCompacting:!1},ve=a.streamingPreview?{isThinking:tn?!1:Ft?.isThinking??$.isThinking,thinkingCharCount:tn?0:Ft?.thinkingCharCount??$.thinkingCharCount,thinkingContent:tn?"":Ft?.thinkingContent??$.thinkingContent,currentResponse:tn?"":Ft?.currentResponse??$.currentResponse,currentTool:tn?void 0:Ft?.currentTool??$.currentTool,activeToolCalls:tn?[]:Ft?.activeToolCalls??ti,toolInputCharCount:tn?0:Ft?.toolInputCharCount??$.toolInputCharCount,toolInputContent:tn?"":Ft?.toolInputContent??$.toolInputContent,managedLiveEvents:[],lastLiveActivityLabel:Ft?.lastLiveActivityLabel??du,iterationHistory:tn?[]:Ft?.iterationHistory??$.iterationHistory,currentIteration:Ft?.currentIteration??$.currentIteration,isCompacting:Ft?.isCompacting??$.isCompacting}:{isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentResponse:"",currentTool:void 0,activeToolCalls:[],toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:void 0,iterationHistory:[],currentIteration:Ft?.currentIteration??$.currentIteration,isCompacting:!1},Ur=oe?Hr:cu,Kx=!!cu,zx=V(()=>Iy({items:hm,managedLiveEvents:[],isLoading:j,isThinking:lt.isThinking,thinkingCharCount:lt.thinkingCharCount,thinkingContent:lt.thinkingContent,currentResponse:lt.currentResponse,currentTool:lt.currentTool,activeToolCalls:lt.activeToolCalls,toolInputCharCount:lt.toolInputCharCount,toolInputContent:lt.toolInputContent,lastLiveActivityLabel:lt.lastLiveActivityLabel,iterationHistory:lt.iterationHistory,currentIteration:lt.currentIteration,isCompacting:lt.isCompacting}),[j,hm,lt.activeToolCalls,lt.currentIteration,lt.currentResponse,lt.currentTool,lt.isCompacting,lt.isThinking,lt.iterationHistory,lt.lastLiveActivityLabel,lt.thinkingCharCount,lt.thinkingContent,lt.toolInputCharCount,lt.toolInputContent]);We(()=>{if(!Kx){Cx(null);return}Cx(u=>u??zx())},[zx,Kx]);let fc=Qt?.items??hm,cn=Qt?.isLoading??j,$e=Qt?{isThinking:Qt.isThinking,thinkingCharCount:Qt.thinkingCharCount,thinkingContent:Qt.thinkingContent,currentResponse:Qt.currentResponse,currentTool:Qt.currentTool,activeToolCalls:Qt.activeToolCalls,toolInputCharCount:Qt.toolInputCharCount,toolInputContent:Qt.toolInputContent,managedLiveEvents:Qt.managedLiveEvents,lastLiveActivityLabel:Qt.lastLiveActivityLabel,iterationHistory:Qt.iterationHistory,currentIteration:Qt.currentIteration,isCompacting:Qt.isCompacting}:lt,jt=oe?dc:fc,hr=oe?yt:cn,qe=oe?ve:$e,Xx=cn&&!$.currentResponse&&!$.thinkingContent&&ti.length===0,FM=il(sm?.status==="running"),Ot=pe(()=>wT(sm,Date.now()),[sm,FM]),Yx=Ot.shouldRender?`Workflow ${Ot.workflow}${Ot.phase?` - ${Ot.phase}`:""}`:void 0,gr=pe(()=>q0(uu,{now:Date.now(),lastAllCompletedAt:null}),[uu]),qx=R<=20?1:bg,jM=il(um.length>0),gm=pe(()=>g0(um,qx,Date.now()),[qx,um,jM]),Jx=d0({isTranscriptMode:oe,isLoading:j,hasWorkflowLiveSurface:Ot.shouldRender,childActivityVisible:gm.shouldRender}),as=pe(()=>{if(!oe)return[];let u=[];return u.push(...ST(Ot)),j&&gr.shouldRender&&u.push(...z0(gr)),u},[oe,j,gr,Ot]),ii=pe(()=>({config:ur,sessionId:n.sessionId,workingDir:e.context?.executionCwd||e.context?.gitRoot||n.runtimeInfo?.executionCwd||n.gitRoot||process.cwd(),terminalWidth:E,compactionInfo:Jo??void 0}),[Jo,n.sessionId,ur,n.runtimeInfo?.executionCwd,e.context?.gitRoot,e.context?.executionCwd,E]),mo=pe(()=>a.enabled&&Jp?DB(ii):void 0,[ii,a.enabled,Jp]),Qx=xe(Pa),Zx=xe(!1),ym=xe(!1),cs=AR({enabled:OB,useRendererViewportShell:oi,isTranscriptMode:oe,hasCommitHandle:typeof _i(T)?.commitInlineScrollback=="function"}),pc=pe(()=>Ff({items:fc,viewportWidth:E,maxLines:At,showDetailedTools:!1,showAllContent:!1,windowed:!1}),[fc,E,At]),si=pe(()=>{let u=jf({activeItems:pc.activeItems,viewportWidth:E,isLoading:cn,maxLines:At,isThinking:$e.isThinking,thinkingCharCount:$e.thinkingCharCount,thinkingContent:$e.thinkingContent,streamingResponse:$e.currentResponse,currentTool:$e.currentTool,activeToolCalls:$e.activeToolCalls,toolInputCharCount:$e.toolInputCharCount,toolInputContent:$e.toolInputContent,iterationHistory:$e.iterationHistory,currentIteration:$e.currentIteration,isCompacting:$e.isCompacting,managedAgentMode:D.agentMode,managedPhase:cn?Y?.phase:void 0,managedHarnessProfile:cn?Y?.harnessProfile:void 0,managedWorkerTitle:cn?Y?.activeWorkerTitle:void 0,managedRound:cn?Y?.currentRound:void 0,managedMaxRounds:cn?Y?.maxRounds:void 0,managedGlobalWorkBudget:cn?Y?.globalWorkBudget:void 0,managedBudgetUsage:cn?Y?.budgetUsage:void 0,managedBudgetApprovalRequired:cn?Y?.budgetApprovalRequired:void 0,lastLiveActivityLabel:$e.lastLiveActivityLabel,currentTodoActiveForm:Ji,showFullThinking:!1,showDetailedTools:!1,showAllContent:!1,showLiveProgressRows:Xx}),g=yb(pc,u,mo);return PR(g,cs)},[D.agentMode,cs,cn,$e.activeToolCalls,$e.currentIteration,$e.currentTool,$e.isCompacting,$e.currentResponse,$e.isThinking,$e.iterationHistory,$e.lastLiveActivityLabel,$e.thinkingCharCount,$e.thinkingContent,$e.toolInputCharCount,$e.toolInputContent,Y?.activeWorkerTitle,Y?.budgetApprovalRequired,Y?.budgetUsage,Y?.currentRound,Y?.globalWorkBudget,Y?.harnessProfile,Y?.maxRounds,Y?.phase,Xx,pc,mo,E,At,Ji]),xm=pe(()=>Ff({items:dc,viewportWidth:E,maxLines:At,showDetailedTools:Dt,showAllContent:Dt,showFullThinking:!0,windowed:!1}),[dc,E,At,Dt]),Au=pe(()=>{if(!oe||oi)return;let u=jf({activeItems:xm.activeItems,viewportWidth:E,isLoading:yt,maxLines:At,isThinking:ve.isThinking,thinkingCharCount:ve.thinkingCharCount,thinkingContent:ve.thinkingContent,streamingResponse:ve.currentResponse,currentTool:ve.currentTool,activeToolCalls:ve.activeToolCalls,toolInputCharCount:ve.toolInputCharCount,toolInputContent:ve.toolInputContent,iterationHistory:ve.iterationHistory,currentIteration:ve.currentIteration,isCompacting:ve.isCompacting,managedAgentMode:D.agentMode,managedPhase:yt?Y?.phase:void 0,managedHarnessProfile:yt?Y?.harnessProfile:void 0,managedWorkerTitle:yt?Y?.activeWorkerTitle:void 0,managedRound:yt?Y?.currentRound:void 0,managedMaxRounds:yt?Y?.maxRounds:void 0,managedGlobalWorkBudget:yt?Y?.globalWorkBudget:void 0,managedBudgetUsage:yt?Y?.budgetUsage:void 0,managedBudgetApprovalRequired:yt?Y?.budgetApprovalRequired:void 0,lastLiveActivityLabel:ve.lastLiveActivityLabel,liveStatusLines:as,currentTodoActiveForm:Ji,showFullThinking:!0,showDetailedTools:Dt,showAllContent:Dt,showLiveProgressRows:!Mu,expandedItemKeys:Tn});return Bk(sg(Uf(xm,u)),mo)},[D.agentMode,Tn,Mu,mo,oe,Y?.activeWorkerTitle,Y?.budgetApprovalRequired,Y?.budgetUsage,Y?.currentRound,Y?.globalWorkBudget,Y?.harnessProfile,Y?.maxRounds,Y?.phase,E,yt,At,xm,ve.activeToolCalls,ve.currentIteration,ve.currentResponse,ve.currentTool,ve.isCompacting,ve.isThinking,ve.iterationHistory,ve.lastLiveActivityLabel,ve.thinkingCharCount,ve.thinkingContent,ve.toolInputCharCount,ve.toolInputContent,Dt,as,oi,Ji]),mc=pe(()=>{if(_t)return oe?Bk(Gf({items:jt,viewportWidth:E,isLoading:hr,maxLines:At,isThinking:qe.isThinking,thinkingCharCount:qe.thinkingCharCount,thinkingContent:qe.thinkingContent,streamingResponse:qe.currentResponse,currentTool:qe.currentTool,activeToolCalls:qe.activeToolCalls,toolInputCharCount:qe.toolInputCharCount,toolInputContent:qe.toolInputContent,iterationHistory:qe.iterationHistory,currentIteration:qe.currentIteration,isCompacting:qe.isCompacting,managedAgentMode:D.agentMode,managedPhase:hr?Y?.phase:void 0,managedHarnessProfile:hr?Y?.harnessProfile:void 0,managedWorkerTitle:hr?Y?.activeWorkerTitle:void 0,managedRound:hr?Y?.currentRound:void 0,managedMaxRounds:hr?Y?.maxRounds:void 0,managedGlobalWorkBudget:hr?Y?.globalWorkBudget:void 0,managedBudgetUsage:hr?Y?.budgetUsage:void 0,managedBudgetApprovalRequired:hr?Y?.budgetApprovalRequired:void 0,lastLiveActivityLabel:qe.lastLiveActivityLabel,liveStatusLines:as,currentTodoActiveForm:Ji,windowed:!0,showFullThinking:oe,showDetailedTools:Dt,showAllContent:Dt,showLiveProgressRows:oe&&!Mu,expandedItemKeys:oe?Tn:void 0}),mo):sg(si)},[D.agentMode,hr,jt,Mu,mo,qe.activeToolCalls,qe.currentIteration,qe.currentResponse,qe.currentTool,qe.isCompacting,qe.isThinking,qe.iterationHistory,qe.lastLiveActivityLabel,qe.thinkingCharCount,qe.thinkingContent,qe.toolInputCharCount,qe.toolInputContent,Tn,oe,Y?.activeWorkerTitle,Y?.budgetApprovalRequired,Y?.budgetUsage,Y?.currentRound,Y?.globalWorkBudget,Y?.harnessProfile,Y?.maxRounds,Y?.phase,si,j,oe,E,At,_t,as,Dt,Ji]),yr=pe(()=>mc??Au,[mc,Au]),hc=pe(()=>Cy({status:Y,isLoading:j,agentMode:D.agentMode}),[D.agentMode,j,Y]).workStripText,gc=Ft?.workStripText??Zo,ls=pe(()=>Cy({status:Y,isLoading:j,agentMode:D.agentMode,parallelTextOverride:gc}),[D.agentMode,gc,j,Y]),ai=pe(()=>HR(jt).filter(u=>u!==Vf),[jt]),ot=pe(()=>_p(Ge,ai,Ge.selectedItemId),[ai,Ge]),In=pe(()=>jt.find(u=>u.id===ot),[jt,ot]),eS=pe(()=>({...Ge,supportsSelection:Ge.supportsSelection&&_t,supportsCopyOnSelect:Ge.supportsCopyOnSelect&&_t}),[Ge,_t]),Pn=pe(()=>lk({state:eS,selectableItemIds:ai,selectedItemId:ot,selectedItemType:In?.type,isExpanded:ot?Tn.has(ot):!1}),[Tn,ai,In?.type,ot,eS]),tS=Pn.selectionEnabled,nS=Pn.copyCapabilities.copyOnSelect,WW=Pn.selectedItemIndex,rS=pe(()=>BR(In),[In]),_u=pe(()=>$R(jt.filter(u=>!lg(u))),[jt]),Nt=pe(()=>DR(_u,an),[_u,an]),Lu=pe(()=>fk({isHistorySearchActive:gt,historySearchQuery:an,matches:Nt,selectedIndex:Ru,anchorItemId:Ge.searchAnchorItemId,useOverlaySurface:Ge.supportsOverlaySurface&&Ge.supportsSearchViewport&&_t}),[Nt,an,Ru,gt,Ge.searchAnchorItemId,Ge.supportsOverlaySurface,Ge.supportsSearchViewport,_t]),ho=Lu.clampedSelectedIndex,oS=Lu.statusText,Sm=Lu.detailText,iS=Lu.searchState,FW=Pn.detailState==="expanded",Pu=Pn.selectionEnabled&&ai.length>0&&!Ur,us=Pn.copyCapabilities.message,$u=Pn.copyCapabilities.toolInput,Du=Pn.toggleDetail;We(()=>{if(hc){if(fr.current&&(clearTimeout(fr.current),fr.current=null),Zo===hc)return;if(Zo){Zt.current&&(clearTimeout(Zt.current),Zt.current=null),rc(hc);return}Zt.current&&clearTimeout(Zt.current),Zt.current=setTimeout(()=>{rc(hc),Zt.current=null},400);return}if(!Zo){Zt.current&&(clearTimeout(Zt.current),Zt.current=null);return}Zt.current&&(clearTimeout(Zt.current),Zt.current=null),fr.current&&clearTimeout(fr.current),fr.current=setTimeout(()=>{rc(void 0),fr.current=null},300)},[ni,hc,Zo]),We(()=>()=>{ni()},[ni]);let go=pe(()=>UR({state:Ge,ownsViewport:_t,isAwaitingUserInteraction:mr,isHistorySearchActive:gt,isTranscriptMode:oe,historySearchQuery:an}),[an,mr,gt,oe,Ge,_t]);We(()=>{dr(u=>{let g=Pv(u,Vn);return g=Lv(g,uc),g=Dv(g,a.enabled&&_t?!tm||gt||mr:oe||gt||mr),g=Bv(g,ho),g})},[ho,a.enabled,Vn,mr,gt,oe,uc,_t,tm]),We(()=>{Ru!==ho&&Jn(ho)},[ho,Ru]),We(()=>{if(!gt){fm.current=an;return}if(an===fm.current)return;fm.current=an;let u=NR(_u,Nt,Ge.searchAnchorItemId);Jn(u)},[Nt,an,gt,Ge.searchAnchorItemId,_u]);let sS=oe?ve:{isThinking:$e.isThinking,thinkingCharCount:$e.thinkingCharCount,currentTool:$e.currentTool,activeToolCalls:$e.activeToolCalls,toolInputCharCount:$e.toolInputCharCount,toolInputContent:$e.toolInputContent,currentIteration:$e.currentIteration,isCompacting:$e.isCompacting},yc=oe?yt:cn,[wm,Tm]=Ue(()=>tr(D.permissionMode)?d.getGuardrail().getEngine():void 0),Ou=pe(()=>ck({sessionId:n.sessionId,permissionMode:D.permissionMode,agentMode:D.agentMode,provider:D.provider,model:D.model??Tr(D.provider)??D.provider,thinking:D.thinking,reasoningMode:D.reasoningMode,effort:Jt,reasoningEffortLabel:wo({provider:D.provider,model:D.model,effort:Jt,effortOverride:D.effortOverride,thinking:D.thinking,reasoningMode:D.reasoningMode}),isTranscriptMode:oe,streamingState:sS,maxIter:$.maxIter,contextUsage:Wx,isLoading:yc,managedState:{phase:Y?.phase,harnessProfile:Y?.harnessProfile,workerTitle:Y?.activeWorkerTitle,round:Y?.currentRound,maxRounds:Y?.maxRounds,globalWorkBudget:Y?.globalWorkBudget,budgetUsage:Y?.budgetUsage,budgetApprovalRequired:Y?.budgetApprovalRequired,idleWaiting:Y?.idleWaiting,idleWaitingPendingCount:Y?.idleWaitingPendingCount},autoModeEngine:wm}),[n.sessionId,D.permissionMode,D.agentMode,D.provider,D.model,D.thinking,D.reasoningMode,D.effortOverride,Jt,oe,sS,$.maxIter,Wx,yc,Y?.phase,Y?.harnessProfile,Y?.activeWorkerTitle,Y?.currentRound,Y?.maxRounds,Y?.globalWorkBudget,Y?.budgetUsage,Y?.budgetApprovalRequired,Y?.idleWaiting,Y?.idleWaitingPendingCount,wm]),Cm=st?"confirm":Ne?.kind,aS=pe(()=>sk({isTranscriptMode:oe,isLoading:yc,streamingState:$e,managedState:yc?{phase:Y?.phase,harnessProfile:Y?.harnessProfile,workerTitle:Y?.activeWorkerTitle}:void 0,waitingReason:Cm,workflowBuilderMessage:Ix??void 0,backgroundWorkflowMessage:Yx}),[$e.activeToolCalls,$e.currentTool,$e.isCompacting,$e.isThinking,$e.thinkingCharCount,$e.toolInputCharCount,$e.toolInputContent,oe,Y?.activeWorkerTitle,Y?.harnessProfile,Y?.phase,Cm,yc,Ix,Yx]),Gr=ok({activity:aS})?aS:void 0,cS=Gr?.text,lS=!!Gr,uS=xe(!1);We(()=>{uS.current&&!j&&Wr(u=>u.length>0?[]:u),uS.current=j},[j]);let Im=pe(()=>qf(Ou),[Ou]),dS=pe(()=>Im,[Im]),fS=dS.text,UM=pe(()=>r0($.pendingInputs),[$.pendingInputs]),bm=pe(()=>J0({isHistorySearchActive:gt,isTranscriptMode:oe,pendingInputCount:$.pendingInputs.length,buffering:Ge.buffering,pendingLiveUpdates:uc}),[gt,oe,uc,$.pendingInputs.length,Ge.buffering]),pS=bm.leftItems,mS=bm.rightItems,hS=bm.summary,Nu=pe(()=>mk({historySearchQuery:an,pendingInputCount:$.pendingInputs.length}),[an,$.pendingInputs.length]),Bu=pe(()=>pk({historySearchQuery:an,isHistorySearchActive:gt,historySearchMatchCount:Nt.length,pendingInputCount:$.pendingInputs.length,maxPendingInputs:5}),[Nt.length,an,gt,$.pendingInputs.length]),gS=pe(()=>Bu.map(u=>u.text).join(" | "),[Bu]),Hu=pe(()=>hk({inputText:Zp,isTranscriptMode:oe,isHistorySearchActive:gt}),[Zp,gt,oe]),yS=Ge.supportsOverlaySurface&&Ge.supportsSearchViewport&&_t,Wu=pe(()=>uk({runtime:Pn,itemSummary:rS}),[rS,Pn]),vm=pe(()=>gk(Nu),[Nu]),xS=pe(()=>yk({textSelection:Ur,selectionState:Wu,isHistorySearchActive:gt,historySearchDetailText:Sm,historySearchHasMatches:!!oS&&Nt.length>0,showAllActive:Dt,baseFooterNotices:Nu}),[Ur,Nu,Sm,Nt.length,oS,gt,Dt,Wu]),GM=xS.secondaryText,VM=xS.budgetNotices,SS=oe?VM:vm,wS=R,TS=oe?"":Zp,CS=oe?void 0:UM,IS=gc,bS=oe?!1:Dx,vS=Ot.shouldRender?V0(Ot):0,RS=j&&gr.shouldRender?gr.rows.length:0,kS=Jx?hp(gm):0,Ut=pe(()=>Ev({terminalRows:wS,terminalWidth:E,windowedTranscript:oi,inputText:TS,footerHeaderText:hS,activitySummary:oe?void 0:cS,activityBarVisible:oe?!1:lS,workflowSurfaceRows:oe?0:vS,childActivitySurfaceRows:oe?0:kS,todoSurfaceRows:oe?0:RS,pendingInputSummary:CS,stashNoticeSummary:Hu,notificationSummary:gS,statusNoticeSummary:SS.join(" | "),workStripText:IS,suggestionsReserved:Eu,suggestionsMode:"inline",showHelp:bS,statusBarText:fS,confirmPrompt:st?.prompt,confirmInstruction:lc,dialogMode:"inline",reviewHint:a.enabled&&_t?void 0:go.browseHintText,uiRequest:Ne?Ne.kind==="select"?{kind:"select",title:Ne.title,options:Ne.options.map(u=>({label:u.label,description:u.description})),buffer:Ne.buffer,error:Ne.error}:{kind:"input",prompt:Ne.prompt,defaultValue:Ne.defaultValue,buffer:Ne.buffer,error:Ne.error}:null}),[wS,E,TS,hS,cS,lS,oe,vS,kS,RS,CS,Hu,gS,SS,IS,Eu,yS,bS,fS,st,lc,a.enabled,go.browseHintText,_t,Ne]),Rm=pe(()=>{if(!cs)return{model:si,committedSections:[]};let{committedSections:u,liveRows:g}=xb(pc.staticSections,si.rows,si.previewRows,Ut.messageRows);return{model:{...si,staticSections:[],rows:g,previewRows:[]},committedSections:u}},[cs,si,pc.staticSections,Ut.messageRows]),ES=Rm.model;We(()=>{let u=_i(T),g=typeof u?.commitInlineScrollback=="function",y=_R({active:cs,hasCommitHandle:g,wasActive:Zx.current,forceRebuild:ym.current,prior:Qx.current,finalizedSections:Rm.committedSections,bannerSection:mo,width:E,identify:Sb}),b=!1,v=!1;if(y.kind==="commit"){let F=y.sections.flatMap(ee=>ee.rows),H=MR(F.length>0?[{key:"il-delta",rows:F}]:[],{width:E,theme:re("dark")});if(v=H.length>0,y.mode==="append"&&!H)Hk("empty-append-text");else try{u?.commitInlineScrollback?.({mode:y.mode,text:H}),b=!0}catch(ee){Hk("commit-threw",ee)}}let _=LR(y,{committed:b,hadContent:v},ym.current);Qx.current=_.state,Zx.current=_.wasActive,ym.current=_.owns},[cs,Rm.committedSections,mo,E,T]);let KM=pe(()=>ue(up,{reserveSpace:Eu,width:E,hidden:oe,mode:"inline"}),[Eu,E,oe,yS]),xc=pe(()=>GR(Ut.messageRows),[Ut.messageRows]),MS=pe(()=>VR(xc),[xc]),ds=!Gx&&a.transcriptSpinnerAnimation,Sc=yr?yr.rows.length+yr.previewRows.length:CM,Fu=V(u=>{yr||IM(u.scrollHeight)},[yr]),wc=V(u=>JR({window:u,stickyHeader:go.stickyHeader,width:E,topChromeRows:0}),[E,go.stickyHeader]),fs=V((u=qa.current,g=au.current,y=nm.current?wc(nm.current):su.current)=>{if(!y||u.length===0){Xi.current=null;return}su.current=y,Xi.current=QR(u,{allRows:g,rowIndexByKey:gy(g),topOffsetRows:y.topOffsetRows,viewportHeight:y.contentWindow.viewportHeight,animateSpinners:ds})},[wc,ds]),Tc=V(()=>{let u=su.current;return u?.contentWindow.viewportHeight&&u.contentWindow.viewportHeight>0?u.contentWindow.viewportHeight:Ut.messageRows},[Ut.messageRows]),zM=V(u=>{nm.current=u;let g=wc(u);su.current=g,fs(qa.current,au.current,g)},[fs,wc]),ju=V(u=>{qa.current=u.rows,au.current=u.allRows,fs(u.rows,u.allRows)},[fs]),nn=V(()=>{Kn.current=null,rm(void 0),om(void 0)},[]),km=V(()=>{nn(),dr(u=>La(u,void 0))},[nn]);We(()=>{fs()},[fs]),We(()=>{vM(u=>KR(u,Sc,Ut.messageRows))},[Sc,Ut.messageRows]),We(()=>{if(!Yi)return;let u=setTimeout(()=>{wx(void 0)},2e3);return()=>{clearTimeout(u)}},[Yi]);let Qn=V((u,g="success")=>{let y=u?.trim();y&&wx({text:y,tone:g})},[]),XM=V(u=>{Qn(u,"warning")},[Qn]),ps=V((u,g)=>{let y=g instanceof Error?g.message:String(g);return`${u}: ${y}`},[]),Uu=V(async u=>{let g=u??Ur;if(!g)return!1;let y=g.text.trimEnd();if(!y)return!1;try{return await Ac(y,{terminalWrite:L}),Qn(`Copied ${g.rowCount} selected line${g.rowCount===1?"":"s"} to clipboard.`,"success"),!0}catch(b){return Qn(ps("Failed to copy transcript selection",b),"warning"),!1}},[Ur,ps,Qn,L]),ms=V(u=>{if(!u||XR({items:jt,renderModel:yr,terminalWidth:E,transcriptMaxLines:At,viewportRows:Tc(),itemId:u,visibleRows:qa.current,expandedItemKeys:Tn,showDetailedTools:!1}))return;let g=YR({items:jt,renderModel:yr,terminalWidth:E,transcriptMaxLines:At,viewportRows:Tc(),itemId:u,expandedItemKeys:Tn,showDetailedTools:!1});ru(g)},[jt,E,At,yr,Tn,Tc,ru,qa]),AS=V(u=>{dr(g=>La(g,u)),u&&ms(u)},[ms]),Em=V(u=>{u&&ms(u)},[ms]),_S=V(u=>{if(!Pu)return;let g=WR(ai,ot,u);g&&AS(g)},[Pu,ai,ot,AS]),LS=V(()=>{!Du||!ot||(EM(u=>{let g=new Set(u);return g.has(ot)?g.delete(ot):g.add(ot),g}),ms(ot))},[ms,Du,ot]),PS=V(async()=>{if(!us||!In)return;let u=hy(In);if(u)try{await Ac(u,{terminalWrite:L}),Qn("Copied selected transcript entry to clipboard.","success")}catch(g){Qn(ps("Failed to copy transcript entry",g),"warning")}},[ps,us,In,Qn,L]),$S=V(async()=>{if(!$u||!In)return;let u=FR(In);if(u)try{await Ac(u,{terminalWrite:L}),Qn("Copied selected tool args to clipboard.","success")}catch(g){Qn(ps("Failed to copy tool args",g),"warning")}},[ps,$u,In,Qn,L]),Cc=V(()=>au.current,[]),DS=V((u,g)=>{if(!a.enabled||!_t)return;let y=Xi.current;return y?xy(y,u,g):void 0},[a.enabled,_t]),hs=V((u,g,y)=>{let b=Cc(),v=tk(b,u,g,{animateSpinners:ds,selectFullRowOnCollapsed:y?.selectFullRowOnCollapsed});oe?om(v):rm(v);let _=b[Math.max(0,Math.min(g.modelRowIndex,b.length-1))];return y?.updateSelectedItem&&_?.itemId&&dr(F=>La(F,_.itemId)),v},[oe,Cc,ds]),OS=V((u,g)=>{if(!u)return;Kn.current=null;let y={...u,focus:g?.focusPoint??u.focus};if(!(y.mode!=="char"||y.didDrag)){nn();return}let v=hs(y.anchor,y.focus,{selectFullRowOnCollapsed:!1,updateSelectedItem:!1});if(!v){nn();return}return g?.copySelection!==!1&&Uu(v),v},[nn,Uu,hs]),Mm=V(()=>{if(!oe||!jt.length||st||Ne)return;nn();let u=qR({items:jt,selectedItemId:ot,renderModel:yr,terminalWidth:E,transcriptMaxLines:At,viewportRows:Tc(),scrollOffset:Vn,expandedItemKeys:Tn,showDetailedTools:!1,preferViewportAnchor:!0});dr(g=>Ov(g,{anchorItemId:u,initialMatchIndex:0})),is(""),Jn(0)},[st,jt,Tn,Vn,oe,ot,yr,E,At,Ne,Tc,nn]),Am=V(()=>{dr(u=>Nv(u)),is(""),Jn(0),nn()},[nn]),Gu=V(()=>{!gt||Nt.length===0||Jn(-1)},[Nt.length,gt]),NS=pe(()=>{if(!st)return null;if(st.tool==="exit_plan_mode"){let u=typeof st.input.plan=="string"?st.input.plan:void 0;return{prompt:st.prompt.split(`
139
139
  `,1)[0]??st.prompt,instruction:lc,planContent:u}}return{prompt:st.prompt,instruction:lc}},[lc,st]),BS=pe(()=>Ne?Ne.kind==="select"?{kind:"select",title:Ne.title,options:Ne.options,buffer:Ne.buffer,error:Ne.error,visibleSelectOptions:Ut.visibleSelectOptions,focusedIndex:Ne.focusedIndex,selectedIndices:Ne.selectedIndices,multiSelect:Ne.multiSelect}:{kind:"input",prompt:Ne.prompt,defaultValue:Ne.defaultValue,buffer:Ne.buffer,error:Ne.error}:null,[Ne,Ut.visibleSelectOptions]),YM=pe(()=>ue(dp,{confirm:NS,request:BS}),[NS,BS]),_m=pe(()=>{if(Yi)return ue(j0,{text:Yi.text,tone:Yi.tone})},[Yi]),Lm=pe(()=>{if(_m)return ue(k,{flexDirection:"column",width:"100%",children:_m})},[_m]),Vu=V(()=>{dr(u=>$v(_v(u))),em(!1),iu(),is(""),Jn(0),nn()},[nn,iu]),HS=V(()=>{oe&&em(u=>!u)},[oe]),qM=V(()=>{if(oe){Vu();return}em(!1),dr(u=>Av(u)),is(""),Jn(0),nn()},[nn,Vu,oe]);We(()=>{tS||!Ge.selectedItemId||dr(u=>La(u,void 0))},[tS,Ge.selectedItemId]),We(()=>{if(!oe||!us||!nS){cc.current=void 0;return}if(Hr||!ot||!In)return;if(!cc.current){cc.current=ot;return}if(cc.current===ot)return;cc.current=ot;let u=hy(In);u&&Ac(u,{terminalWrite:L}).catch(()=>{})},[oe,In,ot,us,nS,Hr,L]),We(()=>{if(T?.isTTY!==!0)return;let u=_i(T);u?.setShellMode?.(Fx,ku),pm||u?.setAltScreenActive?.(!1)},[Fx,T,pm,ku]);let _e=xe({...e,thinking:D.thinking,reasoningMode:D.reasoningMode,effort:Je,agentMode:D.agentMode,workflowRunsBaseDir:So("workflow-runs",yi(process.cwd()).key),context:{...e.context,gitRoot:n.gitRoot??void 0,executionCwd:n.runtimeInfo?.executionCwd??n.gitRoot??process.cwd(),repoIntelligenceMode:D.repoIntelligenceMode,repoIntelligenceTrace:D.repoIntelligenceTrace,toolConstructionMode:!0},session:{...e.session,id:n.sessionId,persistedByHost:!0},guardrails:Ry(D.permissionMode,d)});We(()=>{_e.current.effort=Je},[Je]);let Ic=V(u=>{let g=u.workspaceRoot??void 0;n.runtimeInfo=u,n.gitRoot=g,_e.current.context={..._e.current.context,gitRoot:g,executionCwd:u.executionCwd??g??process.cwd()}},[n]),bn=xe(D.permissionMode);We(()=>{bn.current=D.permissionMode},[D.permissionMode]);let JM=pe(()=>Fs(),[]),WS=xe(JM),wt=xe(D);We(()=>{wt.current=D},[D]);let Pm=xe(null);Pm.current===null&&(Pm.current=gd({getProvider:o(()=>ui(wt.current.provider),"getProvider"),getModel:o(()=>wt.current.model??"","getModel")}));let FS=xe(Td());We(()=>{D.permissionMode==="auto-in-project"&&FS.current()},[]);let $m=V(u=>{He(y=>({...y,permissionMode:u})),bn.current=u;let g=hi({provider:wt.current.provider,model:wt.current.model,effort:wt.current.effort,effortOverride:wt.current.effortOverride,permissionMode:u,planModeEffort:wt.current.planModeEffort,thinking:wt.current.thinking,reasoningMode:wt.current.reasoningMode});_e.current={..._e.current,effort:g.runtimeEffort,guardrails:Ry(u,d)},Tm(tr(u)?d.getGuardrail().getEngine():void 0),u==="auto-in-project"&&FS.current()},[d]),jS=xe($.pendingInputs),at=xe(!1),US=xe(0),Dm=xe(null),bc=xe(0),Ku=V(()=>{if(za.current)return;let u=fu.current?.trim(),g=Z.current.length>0?Z.current[Z.current.length-1]:void 0,y=g&&"text"in g&&typeof g.text=="string"?g.text.trim():void 0,v=sn.current.length>0?[...sn.current.map(_=>zo(_)),...u&&u!==y?[{type:"info",text:u}]:[]]:[...sn.current.map(_=>zo(_)),...kB(ge(),we(),{toolCalls:en.current,toolNames:pr.current,infoItems:u&&u!==y?[u]:[]})];v.length!==0&&(za.current=!0,yu(sn.current),zi.current?.(v))},[we,ge,yu]);We(()=>{jS.current=$.pendingInputs},[$.pendingInputs]);let GS=V(()=>{at.current=!0,me(),G(),Oe(),Q(),q(),Ke(),se(void 0),fo(),Ct(void 0),ic(),ei.current=[],Qi.current=[],pt.current=null,fu.current=null,tc([]),lu(null),qi(null),ni(),rc(void 0),fe(!1),T?.isTTY===!0&&_i(T)?.clear?.()},[me,Ke,Q,q,ni,fo,ic,se,tc,fe,Ct,G,Oe,T]),zu=V(u=>{let g=xw(),y=g.list().filter(v=>v.status==="running"||v.status==="paused");if(y.length===0)return!1;for(let v of y)g.stop(v.runId,u);Za(v=>!v||v.status!=="running"||!y.some(_=>_.runId===v.runId)?v:{...v,status:"stopped",activeAgents:[],message:"Workflow stopped by user."});let b=y[0];return y.length===1&&b?Cn({type:"info",text:`Stopped workflow ${b.workflow} (${b.runId}).`},"workflow-stop"):Cn({type:"info",text:`Stopped ${y.length} active workflows.`},"workflow-stop"),!0},[Cn,Za]);We(()=>{if(!Ot.shouldRender)return;let u=o(()=>{zu("stopped by Ctrl+C")},"handleSigint");return process.on("SIGINT",u),()=>{process.off("SIGINT",u)}},[zu,Ot.shouldRender]),En(ln.Critical,u=>{let g=u.name==="escape",y=Date.now(),b=g&&!oe&&!mr&&Ya&&$.pendingInputs.length===0&&(j||Ot.shouldRender),v=b&&(u.meta===!0||y-US.current<SB);if(US.current=b?y:0,Jv({keyName:u.name,ctrl:!!u.ctrl,isTranscriptMode:oe,isAwaitingUserInteraction:mr,isInputEmpty:Ya,isDoubleEscape:v,pendingInputCount:$.pendingInputs.length,hasTranscriptTextSelection:!!Hr,hasActiveWorkflow:Ot.shouldRender}))return zu(u.ctrl?"stopped by Ctrl+C":"stopped by Escape");if(!j)return!1;switch(Qv({keyName:u.name,ctrl:!!u.ctrl,isTranscriptMode:oe,isAwaitingUserInteraction:mr,isInputEmpty:Ya,isDoubleEscape:v,pendingInputCount:$.pendingInputs.length,hasTranscriptTextSelection:!!Hr}).kind){case"interrupt":return Ku(),GS(),!0;case"pop-pending-input":return he(),!0;default:break}return!1},[j,oe,mr,Ya,$.pendingInputs.length,he,Ku,GS,zu,Hr,Ot.shouldRender]),En(ln.Critical,u=>{let g=Xv({itemsLength:jt.length,currentResponse:qe.currentResponse,thinkingContent:qe.thinkingContent,activeToolCallsLength:qe.activeToolCalls.length}),y=Yv({keyName:u.name,hasTranscript:g,historyScrollOffset:Vn,reviewPageSize:xc,reviewWheelStep:MS,hasMouse:!!u.mouse,mouseButton:u.mouse?.button,mouseAction:u.mouse?.action,usesManagedMouseClicks:jx,supportsMouseTracking:Ge.supportsMouseTracking,usesRendererMouseTracking:ku,usesManagedMouseWheel:Ux,supportsWheelHistory:Ge.supportsWheelHistory});if(y.kind==="mouse-phase"){let v=u.mouse;if(!v)return!1;y.phase==="press"&&Kn.current&&OS(Kn.current);let _=DS(v.row,v.column);if(y.phase==="press"){if(!_||!g)return Ur||ot?(km(),!0):(nn(),!1);let F=Mk({previous:Sx.current,time:Date.now(),row:v.row,column:v.column});Sx.current=F;let H=F.count>=3?"line":F.count===2?"word":"char";if(Gu(),dr(ee=>La(ee,void 0)),oe?om(void 0):rm(void 0),H!=="char"){let ee=Fp(Cc(),_.point,H);if(ee)return Kn.current={anchor:ee.start,focus:ee.end,didDrag:!1,mode:H,anchorSpan:ee},hs(ee.start,ee.end,{updateSelectedItem:!1}),!0}return Kn.current={anchor:_.point,focus:_.point,didDrag:!1,mode:"char"},!0}if(!Kn.current)return!1;if(y.phase==="drag"){let F=Xi.current,H=F?rk(F,v.row):0;H!==0&&ou(H);let ee=_??(F?Sy(F,v.row,v.column):void 0);if(!ee)return!1;let ae=Kn.current;if(ae.mode!=="char"&&ae.anchorSpan){let Ve=Fp(Cc(),ee.point,ae.mode);if(!Ve)return!1;let je=vy(ae.anchorSpan,Ve);return Kn.current={...ae,anchor:je.anchor,focus:je.focus,didDrag:!0},hs(je.anchor,je.focus,{updateSelectedItem:!1}),!0}return Kn.current={...ae,focus:ee.point,didDrag:!0},hs(ae.anchor,ee.point,{updateSelectedItem:!1}),!0}if(y.phase==="release"){let F=Kn.current,H=F.focus,ae=(_??(Xi.current?Sy(Xi.current,v.row,v.column):void 0))?.point??H;if(F.mode!=="char"&&F.anchorSpan){let Ve=Fp(Cc(),ae,F.mode);if(Ve){let je=vy(F.anchorSpan,Ve);F.anchor=je.anchor,ae=je.focus}}return OS(F,{focusPoint:ae}),!0}}if(y.kind==="scroll-by")return Gu(),ou(y.delta),!0;if(y.kind==="consume")return!0;let b=Zv({key:u,isTranscriptMode:oe,isHistorySearchActive:gt,historySearchMatchCount:Nt.length,hasTextSelection:!!Ur,hasFocusedItem:!!ot,canCopySelectedItem:us,canCopySelectedToolInput:$u,canToggleSelectedDetail:Du,canCycleTranscriptSelection:Pu});return eR({action:b,hasTranscript:g,isTranscriptMode:oe,pageScrollDelta:xc,disarmHistorySearchSelection:Gu,scrollTranscriptBy:ou,closeHistorySearchSurface:Am,backspaceHistorySearchQuery:o(()=>{is(v=>v.slice(0,-1)),Jn(0)},"backspaceHistorySearchQuery"),stepHistorySearchSelection:o(v=>{Jn(_=>my(Nt.length,_,v))},"stepHistorySearchSelection"),submitHistorySearchSelection:o(()=>{let v=Nt[ho];v&&(Em(v.itemId),Am())},"submitHistorySearchSelection"),appendHistorySearchQuery:o(v=>{is(_=>_+v),Jn(0)},"appendHistorySearchQuery"),openHistorySearchSurface:Mm,clearTranscriptSelectionFocus:km,exitTranscriptModeSurface:Vu,toggleTranscriptShowAll:HS,scrollTranscriptHome:o(()=>{ru(Math.max(0,Sc-Ut.messageRows))},"scrollTranscriptHome"),scrollTranscriptToBottom:o(()=>{iu(),nn()},"scrollTranscriptToBottom"),cycleTranscriptSelection:_S,copySelectedTranscriptText:o(()=>{Uu()},"copySelectedTranscriptText"),copySelectedTranscriptItem:o(()=>{PS()},"copySelectedTranscriptItem"),copySelectedTranscriptToolInput:o(()=>{$S()},"copySelectedTranscriptToolInput"),toggleSelectedTranscriptDetail:LS,navigateSearchMatch:o(v=>{Jn(_=>{let F=my(Nt.length,_,v),H=Nt[F];return H&&Em(H.itemId),F})},"navigateSearchMatch"),dumpTranscriptToScrollback:o(()=>{tR({items:jt.filter(v=>!lg(v)),exitAltScreen:o(()=>{L(xf({mouseTracking:!0}))},"exitAltScreen"),writeToScrollback:o(v=>{L(v)},"writeToScrollback"),enterAltScreen:o(()=>{L(yf({mouseTracking:!0,clearOnEnter:!1}))},"enterAltScreen")})},"dumpTranscriptToScrollback")})},[oe,jt,qe.currentResponse,qe.thinkingContent,qe.activeToolCalls,Vn,Sc,xc,MS,ot,km,Vu,HS,Ge,ou,ru,iu,Pu,ho,nn,Uu,Nt,Mm,Am,Gu,_S,us,PS,$u,$S,Du,LS,Em,Ur,DS,Ge.supportsMouseTracking,Hr,jx,Ux,mm,oi,ku,hs,Ut.messageRows]),En(u=>{if(!st)return!1;let g=u.sequence.trim().toLowerCase(),y=!!st.input._alwaysConfirm,b=D.permissionMode==="accept-edits"&&!y,v=o(_=>{let F=`${ie("dialog.confirm")} ${st.prompt}
140
- \u2192 ${ie(`confirm.result.${_}`)}`;!!rt.current.workerId?Wt({id:`confirm-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"info",text:F,timestamp:Date.now()}):B({type:"info",text:F})},"recordConfirmResult");return g==="y"||g==="yes"?(v("approved"),Iu(null),ri.current?.({confirmed:!0}),ri.current=null,!0):b&&(g==="a"||g==="always")?(v("approved_always"),Iu(null),ri.current?.({confirmed:!0,always:!0}),ri.current=null,!0):g==="n"||g==="no"||u.name==="escape"?(v("denied"),Iu(null),ri.current?.({confirmed:!1}),ri.current=null,!0):u.insertable||u.name==="return"},{isActive:!!st,priority:ln.Critical});let Xu=V(u=>{qn(null),bu.current?.(u),bu.current=null},[]),gs=V((u,g,y,b)=>g.length===0?Promise.resolve(void 0):new Promise(v=>{bu.current=v,qn({kind:"select",title:u,options:g,buffer:"",focusedIndex:0,selectedIndices:[],multiSelect:y,minSelections:b?.minSelections,maxSelections:b?.maxSelections})}),[]),QM=V((u,g)=>gs(u,g.map(y=>({label:y,value:y}))).then(y=>Array.isArray(y)?y[0]:y),[gs]),VS=V(async u=>{let g=u.options?Wp(u.options):[],y=await gs(Ty(u),g,!1);return y===void 0?Ls:Array.isArray(y)?y[0]??Ls:y},[gs]);We(()=>{let u=!1;return(async()=>{let{bindAskUserForConstruction:g}=await import("./construction-bootstrap-OXDDDW6O.js");u||g(VS)})(),()=>{u=!0,(async()=>{let{bindAskUserForConstruction:g}=await import("./construction-bootstrap-OXDDDW6O.js");g(null)})()}},[VS]);let ys=V((u,g)=>new Promise(y=>{bu.current=b=>y(Array.isArray(b)?b[0]:b),qn({kind:"input",prompt:u,defaultValue:g,buffer:""})}),[]);En(u=>{let g=vu.current;if(!g)return!1;if(u.name==="escape")return Xu(void 0),!0;if(g.kind==="select"){let y=g.options.length;if(u.name==="up"||u.sequence==="k")return qn(b=>b&&b.kind==="select"?{...b,focusedIndex:(b.focusedIndex-1+y)%y,error:void 0}:b),!0;if(u.name==="down"||u.sequence==="j")return qn(b=>b&&b.kind==="select"?{...b,focusedIndex:(b.focusedIndex+1)%y,error:void 0}:b),!0;if(u.sequence===" "&&g.multiSelect)return qn(b=>{if(!b||b.kind!=="select")return b;let v=b.focusedIndex,_=b.selectedIndices.includes(v)?b.selectedIndices.filter(F=>F!==v):[...b.selectedIndices,v];return{...b,selectedIndices:_,error:void 0}}),!0;if(u.name==="return"){let b=vu.current;if(!b||b.kind!=="select")return!1;if(b.multiSelect){let v=b.selectedIndices.length,{minSelections:_,maxSelections:F}=b,H=v===0&&_!==0?ie("select.multiselect_empty"):_!==void 0&&v<_?ie("select.multiselect_min",{min:String(_)}):F!==void 0&&v>F?ie("select.multiselect_max",{max:String(F)}):void 0;if(H!==void 0)return qn(ae=>ae&&ae.kind==="select"?{...ae,error:H}:ae),!0;let ee=b.selectedIndices.slice().sort((ae,Ve)=>ae-Ve).map(ae=>b.options[ae]?.value).filter(ae=>typeof ae=="string"&&ae.length>0);Xu(ee)}else Xu(b.options[b.focusedIndex]?.value);return!0}if(/^[1-9]$/.test(u.sequence)){let b=Number.parseInt(u.sequence,10)-1;if(b>=0&&b<y)return g.multiSelect?qn(v=>{if(!v||v.kind!=="select")return v;let _=v.selectedIndices.includes(b)?v.selectedIndices.filter(F=>F!==b):[...v.selectedIndices,b];return{...v,focusedIndex:b,selectedIndices:_,error:void 0}}):qn(v=>v&&v.kind==="select"?{...v,focusedIndex:b,error:void 0}:v),!0}return!1}if(u.name==="return"){let y=vu.current;if(!y||y.kind!=="input")return!1;let b=y.buffer.trim();return Xu(b===""?y.defaultValue??void 0:b),!0}return u.name==="backspace"||u.name==="delete"?(qn(y=>y&&y.kind==="input"?{...y,buffer:y.buffer.slice(0,-1),error:void 0}:y),!0):(u.insertable||u.isPasted===!0)&&!u.ctrl&&!u.meta?(qn(y=>y&&y.kind==="input"?{...y,buffer:y.buffer+u.sequence,error:void 0}:y),!0):!1},{isActive:!!Ne,priority:ln.Critical}),We(()=>{if(n.messages.length>0&&A.length===0){if(n.uiHistory?.length){let u=Lr(n.uiHistory);u.length!==n.uiHistory.length&&(n.uiHistory=u),ne(Ml({messages:n.messages,uiHistory:u}));return}ne(Ml({messages:n.messages}))}},[n.messages,n.uiHistory,A.length,ne]),We(()=>{od(n.gitRoot)},[n.gitRoot]),We(()=>{process.env.KODAX_PREWARM_REPO_INTELLIGENCE!=="0"&&pw({executionCwd:n.runtimeInfo?.executionCwd??n.gitRoot??process.cwd(),gitRoot:n.gitRoot??void 0},{mode:D.repoIntelligenceMode})},[n.gitRoot,n.runtimeInfo?.executionCwd,D.repoIntelligenceMode]);let vc=V(()=>({onMemoryOutcomeDigest:o(u=>{n.lineage=id(n.lineage??mt(n.messages),u)},"onMemoryOutcomeDigest"),onMemoryReviewReceipt:o(u=>{n.lineage=sd(n.lineage??mt(n.messages),u)},"onMemoryReviewReceipt"),onMemoryNotice:o(u=>{n.lineage=ad(n.lineage??mt(n.messages),{...u,createdAt:new Date().toISOString()}),B({type:"info",text:`[memory] ${u.summaries.slice(0,3).join("; ")}`})},"onMemoryNotice"),onThinkingDelta:o((u,g)=>{if(at.current||Ln(g,"thinking",u,{append:!0}))return;$.currentTool&&(se(void 0),q());let{header:y}=dv(ge()+u),b=y?`[Thinking: ${y}]`:"[Thinking]";Ct(Ip(pt.current?.activeWorkerTitle?`[${pt.current.activeWorkerTitle}] ${b}`:b,pt.current?.activeWorkerTitle)),De(u.length),Ce(u),rt.current.workerId&&Su("thinking",u)},"onThinkingDelta"),onThinkingEnd:o((u,g)=>{if(at.current||Ln(g,"thinking",u))return;let y=ge(),b=cv(y,u);b&&b!==y&&(Q(),ye(),De(b.length),Ce(b)),rt.current.workerId&&Lx(b),Oe()},"onThinkingEnd"),onTextDelta:o((u,g)=>{at.current||Ln(g,"assistant",u,{append:!0})||($.currentTool&&(se(void 0),q()),Oe(),Ct(void 0),ct(u),rt.current.workerId&&Su("assistant",u))},"onTextDelta"),onToolUseStart:o((u,g)=>{if(at.current||Ln(g,"tool",m0(u.name,u.input)))return;pr.current.includes(u.name)||(pr.current=[...pr.current,u.name]);let y=pt.current?.activeWorkerTitle?`[${pt.current.activeWorkerTitle}] `:"",b={id:u.id,name:`${y}${u.name}`,status:W.Executing,startTime:Date.now(),input:u.input};Px(b),rt.current.workerId&&Yn(b),Ct(io(b,pt.current?.activeWorkerTitle))},"onToolUseStart"),onToolInputDelta:o((u,g,y)=>{if(at.current||Ln(y,"tool",u,{skipIfExisting:!0}))return;Ae(g.length),tt(g);let b=$x(y?.toolId,u,v=>{let _=v.preview??"",F=iv(`${_}${g}`);return{...v,preview:F||void 0,input:v.input?F?{...v.input,preview:F}:{...v.input}:F?{preview:F}:void 0}});b&&(rt.current.workerId&&Yn(b),Ct(io(b,pt.current?.activeWorkerTitle)))},"onToolInputDelta"),onToolResult:o((u,g)=>{if(at.current||Ln(g,"tool",`${u.name} completed`))return;let y=typeof u.content=="string"?u.content:String(u.content??""),b=sv(y);if(/^\[(?:Tool Error|Error)\]/.test(y)){let _=Tu(u.id,W.Error,b,b,u.name);_&&(rt.current.workerId&&Yn(_),Ct(io(_,pt.current?.activeWorkerTitle)));return}if(/^\[(?:Cancelled|Blocked)\]/.test(y)){let _=Tu(u.id,W.Cancelled,void 0,b,u.name);_&&(rt.current.workerId&&Yn(_),Ct(io(_,pt.current?.activeWorkerTitle)));return}let v=Tu(u.id,W.Success,void 0,b||void 0,u.name);v&&(rt.current.workerId&&Yn(v),Ct(io(v,pt.current?.activeWorkerTitle)))},"onToolResult"),onToolProgress:o((u,g)=>{if(at.current||Ln(g,"progress",u.message))return;let y=u.message.length>100?u.message.slice(0,97)+"...":u.message,b=os(u.id,v=>({...v,preview:y,progressLines:[...(v.progressLines??[]).slice(-4),y]}));b&&rt.current.workerId&&Yn(b),Ct(y)},"onToolProgress"),onStreamEnd:o(u=>{if(at.current||mp(u))return;let g=sc(W.Cancelled,()=>({error:"Stream ended before the tool completed.",output:void 0})),y=g[g.length-1];rt.current.workerId&&g.forEach(b=>Yn(b)),y&&Ct(io(y,pt.current?.activeWorkerTitle)),Oe(),q(),se(void 0)},"onStreamEnd"),onChildActivityEnd:o(u=>{Rx(u)},"onChildActivityEnd"),hasPendingInputs:o(()=>jS.current.length>0,"hasPendingInputs"),onMidTurnUserMessages:o(u=>{if(!at.current)for(let g of u){let y=g.trim();y&&(rt.current.workerId?Wt({id:`mid-turn-user-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"user",text:y,timestamp:Date.now()}):B({type:"user",text:y}))}},"onMidTurnUserMessages"),onSidecarMessage:o(u=>{if(at.current)return;let g=u.suggestedFix?`${u.content}
140
+ \u2192 ${ie(`confirm.result.${_}`)}`;!!rt.current.workerId?Wt({id:`confirm-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"info",text:F,timestamp:Date.now()}):B({type:"info",text:F})},"recordConfirmResult");return g==="y"||g==="yes"?(v("approved"),Iu(null),ri.current?.({confirmed:!0}),ri.current=null,!0):b&&(g==="a"||g==="always")?(v("approved_always"),Iu(null),ri.current?.({confirmed:!0,always:!0}),ri.current=null,!0):g==="n"||g==="no"||u.name==="escape"?(v("denied"),Iu(null),ri.current?.({confirmed:!1}),ri.current=null,!0):u.insertable||u.name==="return"},{isActive:!!st,priority:ln.Critical});let Xu=V(u=>{qn(null),bu.current?.(u),bu.current=null},[]),gs=V((u,g,y,b)=>g.length===0?Promise.resolve(void 0):new Promise(v=>{bu.current=v,qn({kind:"select",title:u,options:g,buffer:"",focusedIndex:0,selectedIndices:[],multiSelect:y,minSelections:b?.minSelections,maxSelections:b?.maxSelections})}),[]),QM=V((u,g)=>gs(u,g.map(y=>({label:y,value:y}))).then(y=>Array.isArray(y)?y[0]:y),[gs]),VS=V(async u=>{let g=u.options?Wp(u.options):[],y=await gs(Ty(u),g,!1);return y===void 0?Ls:Array.isArray(y)?y[0]??Ls:y},[gs]);We(()=>{let u=!1;return(async()=>{let{bindAskUserForConstruction:g}=await import("./construction-bootstrap-LI2FP7KZ.js");u||g(VS)})(),()=>{u=!0,(async()=>{let{bindAskUserForConstruction:g}=await import("./construction-bootstrap-LI2FP7KZ.js");g(null)})()}},[VS]);let ys=V((u,g)=>new Promise(y=>{bu.current=b=>y(Array.isArray(b)?b[0]:b),qn({kind:"input",prompt:u,defaultValue:g,buffer:""})}),[]);En(u=>{let g=vu.current;if(!g)return!1;if(u.name==="escape")return Xu(void 0),!0;if(g.kind==="select"){let y=g.options.length;if(u.name==="up"||u.sequence==="k")return qn(b=>b&&b.kind==="select"?{...b,focusedIndex:(b.focusedIndex-1+y)%y,error:void 0}:b),!0;if(u.name==="down"||u.sequence==="j")return qn(b=>b&&b.kind==="select"?{...b,focusedIndex:(b.focusedIndex+1)%y,error:void 0}:b),!0;if(u.sequence===" "&&g.multiSelect)return qn(b=>{if(!b||b.kind!=="select")return b;let v=b.focusedIndex,_=b.selectedIndices.includes(v)?b.selectedIndices.filter(F=>F!==v):[...b.selectedIndices,v];return{...b,selectedIndices:_,error:void 0}}),!0;if(u.name==="return"){let b=vu.current;if(!b||b.kind!=="select")return!1;if(b.multiSelect){let v=b.selectedIndices.length,{minSelections:_,maxSelections:F}=b,H=v===0&&_!==0?ie("select.multiselect_empty"):_!==void 0&&v<_?ie("select.multiselect_min",{min:String(_)}):F!==void 0&&v>F?ie("select.multiselect_max",{max:String(F)}):void 0;if(H!==void 0)return qn(ae=>ae&&ae.kind==="select"?{...ae,error:H}:ae),!0;let ee=b.selectedIndices.slice().sort((ae,Ve)=>ae-Ve).map(ae=>b.options[ae]?.value).filter(ae=>typeof ae=="string"&&ae.length>0);Xu(ee)}else Xu(b.options[b.focusedIndex]?.value);return!0}if(/^[1-9]$/.test(u.sequence)){let b=Number.parseInt(u.sequence,10)-1;if(b>=0&&b<y)return g.multiSelect?qn(v=>{if(!v||v.kind!=="select")return v;let _=v.selectedIndices.includes(b)?v.selectedIndices.filter(F=>F!==b):[...v.selectedIndices,b];return{...v,focusedIndex:b,selectedIndices:_,error:void 0}}):qn(v=>v&&v.kind==="select"?{...v,focusedIndex:b,error:void 0}:v),!0}return!1}if(u.name==="return"){let y=vu.current;if(!y||y.kind!=="input")return!1;let b=y.buffer.trim();return Xu(b===""?y.defaultValue??void 0:b),!0}return u.name==="backspace"||u.name==="delete"?(qn(y=>y&&y.kind==="input"?{...y,buffer:y.buffer.slice(0,-1),error:void 0}:y),!0):(u.insertable||u.isPasted===!0)&&!u.ctrl&&!u.meta?(qn(y=>y&&y.kind==="input"?{...y,buffer:y.buffer+u.sequence,error:void 0}:y),!0):!1},{isActive:!!Ne,priority:ln.Critical}),We(()=>{if(n.messages.length>0&&A.length===0){if(n.uiHistory?.length){let u=Lr(n.uiHistory);u.length!==n.uiHistory.length&&(n.uiHistory=u),ne(Ml({messages:n.messages,uiHistory:u}));return}ne(Ml({messages:n.messages}))}},[n.messages,n.uiHistory,A.length,ne]),We(()=>{od(n.gitRoot)},[n.gitRoot]),We(()=>{process.env.KODAX_PREWARM_REPO_INTELLIGENCE!=="0"&&pw({executionCwd:n.runtimeInfo?.executionCwd??n.gitRoot??process.cwd(),gitRoot:n.gitRoot??void 0},{mode:D.repoIntelligenceMode})},[n.gitRoot,n.runtimeInfo?.executionCwd,D.repoIntelligenceMode]);let vc=V(()=>({onMemoryOutcomeDigest:o(u=>{n.lineage=id(n.lineage??mt(n.messages),u)},"onMemoryOutcomeDigest"),onMemoryReviewReceipt:o(u=>{n.lineage=sd(n.lineage??mt(n.messages),u)},"onMemoryReviewReceipt"),onMemoryNotice:o(u=>{n.lineage=ad(n.lineage??mt(n.messages),{...u,createdAt:new Date().toISOString()}),B({type:"info",text:`[memory] ${u.summaries.slice(0,3).join("; ")}`})},"onMemoryNotice"),onThinkingDelta:o((u,g)=>{if(at.current||Ln(g,"thinking",u,{append:!0}))return;$.currentTool&&(se(void 0),q());let{header:y}=dv(ge()+u),b=y?`[Thinking: ${y}]`:"[Thinking]";Ct(Ip(pt.current?.activeWorkerTitle?`[${pt.current.activeWorkerTitle}] ${b}`:b,pt.current?.activeWorkerTitle)),De(u.length),Ce(u),rt.current.workerId&&Su("thinking",u)},"onThinkingDelta"),onThinkingEnd:o((u,g)=>{if(at.current||Ln(g,"thinking",u))return;let y=ge(),b=cv(y,u);b&&b!==y&&(Q(),ye(),De(b.length),Ce(b)),rt.current.workerId&&Lx(b),Oe()},"onThinkingEnd"),onTextDelta:o((u,g)=>{at.current||Ln(g,"assistant",u,{append:!0})||($.currentTool&&(se(void 0),q()),Oe(),Ct(void 0),ct(u),rt.current.workerId&&Su("assistant",u))},"onTextDelta"),onToolUseStart:o((u,g)=>{if(at.current||Ln(g,"tool",m0(u.name,u.input)))return;pr.current.includes(u.name)||(pr.current=[...pr.current,u.name]);let y=pt.current?.activeWorkerTitle?`[${pt.current.activeWorkerTitle}] `:"",b={id:u.id,name:`${y}${u.name}`,status:W.Executing,startTime:Date.now(),input:u.input};Px(b),rt.current.workerId&&Yn(b),Ct(io(b,pt.current?.activeWorkerTitle))},"onToolUseStart"),onToolInputDelta:o((u,g,y)=>{if(at.current||Ln(y,"tool",u,{skipIfExisting:!0}))return;Ae(g.length),tt(g);let b=$x(y?.toolId,u,v=>{let _=v.preview??"",F=iv(`${_}${g}`);return{...v,preview:F||void 0,input:v.input?F?{...v.input,preview:F}:{...v.input}:F?{preview:F}:void 0}});b&&(rt.current.workerId&&Yn(b),Ct(io(b,pt.current?.activeWorkerTitle)))},"onToolInputDelta"),onToolResult:o((u,g)=>{if(at.current||Ln(g,"tool",`${u.name} completed`))return;let y=typeof u.content=="string"?u.content:String(u.content??""),b=sv(y);if(/^\[(?:Tool Error|Error)\]/.test(y)){let _=Tu(u.id,W.Error,b,b,u.name);_&&(rt.current.workerId&&Yn(_),Ct(io(_,pt.current?.activeWorkerTitle)));return}if(/^\[(?:Cancelled|Blocked)\]/.test(y)){let _=Tu(u.id,W.Cancelled,void 0,b,u.name);_&&(rt.current.workerId&&Yn(_),Ct(io(_,pt.current?.activeWorkerTitle)));return}let v=Tu(u.id,W.Success,void 0,b||void 0,u.name);v&&(rt.current.workerId&&Yn(v),Ct(io(v,pt.current?.activeWorkerTitle)))},"onToolResult"),onToolProgress:o((u,g)=>{if(at.current||Ln(g,"progress",u.message))return;let y=u.message.length>100?u.message.slice(0,97)+"...":u.message,b=os(u.id,v=>({...v,preview:y,progressLines:[...(v.progressLines??[]).slice(-4),y]}));b&&rt.current.workerId&&Yn(b),Ct(y)},"onToolProgress"),onStreamEnd:o(u=>{if(at.current||mp(u))return;let g=sc(W.Cancelled,()=>({error:"Stream ended before the tool completed.",output:void 0})),y=g[g.length-1];rt.current.workerId&&g.forEach(b=>Yn(b)),y&&Ct(io(y,pt.current?.activeWorkerTitle)),Oe(),q(),se(void 0)},"onStreamEnd"),onChildActivityEnd:o(u=>{Rx(u)},"onChildActivityEnd"),hasPendingInputs:o(()=>jS.current.length>0,"hasPendingInputs"),onMidTurnUserMessages:o(u=>{if(!at.current)for(let g of u){let y=g.trim();y&&(rt.current.workerId?Wt({id:`mid-turn-user-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"user",text:y,timestamp:Date.now()}):B({type:"user",text:y}))}},"onMidTurnUserMessages"),onSidecarMessage:o(u=>{if(at.current)return;let g=u.suggestedFix?`${u.content}
141
141
  Suggested fix: ${u.suggestedFix}`:u.content;if(u.delivery==="budget-exhausted")Ax({type:"sidecar",text:g,delivery:"budget-exhausted"},"sidecar-message");else{let y=u.verdict==="blocked"?"blocked":"revise";Ax({type:"sidecar",text:g,verdict:y},"sidecar-message")}},"onSidecarMessage"),onError:o(u=>{let g=uo();g?.name&&Ct(io(g,pt.current?.activeWorkerTitle));let y=sc(W.Error,()=>({error:u.message,output:void 0})),b=y[y.length-1];rt.current.workerId&&y.forEach(Ve=>Yn(Ve)),b&&Ct(io(b,pt.current?.activeWorkerTitle));let v=nw(u),_=["Transient","Permanent","Tool Call ID","User Abort"];if(v.category===kc.USER_ABORT)return;let H=[`\u274C API Error (${_[v.category]||"Unknown"}): ${u.message}`];v.shouldCleanup&&H.push(" \u{1F9F9} Cleaned incomplete tool calls"),v.category===kc.PERMANENT?(H.push(" \u{1F4A1} This error requires manual intervention. Please check:"),u.message.includes("auth")||u.message.includes("401")?(H.push(" - Your API key is valid"),H.push(" - Run /config to check provider settings")):u.message.includes("400")?(H.push(" - The request parameters are correct"),H.push(" - Try restarting the conversation")):H.push(" - The error details above")):v.category===kc.TRANSIENT?H.push(" \u23F3 Retries exhausted. Press Enter to continue the conversation"):v.category===kc.TOOL_CALL_ID&&H.push(" \u2705 Session cleaned, ready to continue");let ee=H.join(`
142
142
  `);!!rt.current.workerId?Wt({id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"error",text:ee,timestamp:Date.now()}):B({type:"error",text:ee})},"onError"),onRetry:o((u,g,y,b)=>{if(at.current)return;let v=Al(u,g,y);if(ec(b,v.text)||Ln(b,"progress",v.text))return;!!rt.current.workerId?Wt({...v,id:`retry-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):B(v)},"onRetry"),onProviderRecovery:o((u,g)=>{if(at.current)return;let y=_l(u);if(ec(g,y.text)||Ln(g,"progress",y.text))return;let b=!!rt.current.workerId,v=we().trim();v&&(b?Su("assistant",v):B({type:"assistant",text:v})),Ke(),Q(),Oe(),q(),se(void 0),fo(),Ct(void 0),b?Wt({...y,id:`recovery-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):B(y)},"onProviderRecovery"),onManagedTaskStatus:o(u=>{if(at.current)return;let g=rt.current;if(Dk(u)){if(g.workerId&&g.workerId!==u.activeWorkerId)OM({workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle});else if(g.workerId!==u.activeWorkerId){let F=St.current,H=F.activeToolGroupTools.some(ee=>ee.status===W.Executing);St.current={workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle,...H?{activeToolGroupItemId:F.activeToolGroupItemId,activeToolGroupTools:F.activeToolGroupTools}:{activeToolGroupTools:[]}},rt.current={workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle}}}pt.current=u,lu(u);let y=uv(u);NM(y);let b=Ea(u),_=Ea(u,{expanded:!0})??b;_&&(fu.current=_)},"onManagedTaskStatus"),onProviderRateLimit:o((u,g,y,b)=>{if(at.current)return;let v=Dm.current;if(Dm.current=null,Z0(v,{attempt:u,maxAttempts:g,delayMs:y}))return;let _=`[Rate Limit] Retrying in ${y/1e3}s (${u}/${g})...`;ec(b,_)||Ln(b,"progress",_)||Cn({type:"info",icon:"\u23F3",text:_},"ratelimit")},"onProviderRateLimit"),onRetryAfter:o((u,g)=>{if(at.current)return;Dm.current={attempt:u.attempt,maxAttempts:u.maxAttempts,waitMs:u.waitMs};let y=Math.round(u.waitMs/1e3),b=u.source==="exponential-backoff"?"no-header \u2192 backoff":u.source,_=`[${u.reason==="overloaded"?"Overloaded":"Rate limited"}] (${u.provider}) \u2014 retrying in ${y}s [${b}] (${u.attempt}/${u.maxAttempts})`;ec(g,_)||Ln(g,"progress",_)||Cn({type:"info",icon:"\u23F3",text:_},"ratelimit")},"onRetryAfter"),onReasoningEffortRejected:o(u=>{ow(u.provider,u.model,u.effort,"observed",new Date().toISOString());let y=hi({provider:u.provider,model:u.model,effort:wt.current.effort,effortOverride:wt.current.effortOverride,permissionMode:wt.current.permissionMode,planModeEffort:wt.current.planModeEffort,thinking:wt.current.thinking,reasoningMode:wt.current.reasoningMode}).runtimeEffort;He(b=>({...b,effort:y,effortOverride:y!==void 0})),gi({effort:y}),_e.current.effort=y,Cn({type:"info",icon:"\u26A0",text:`[${u.provider}/${u.model} \u4E0D\u652F\u6301 effort "${u.effort}",\u5DF2\u8BB0\u5F55;\u540E\u7EED\u4E0D\u518D\u63D0\u4F9B\u8BE5\u6863${y?`,\u5DF2\u5207\u5230 ${y}`:""}]`},"ratelimit")},"onReasoningEffortRejected"),onRepoIntelligenceTrace:o(u=>{at.current||Cn(bv(u),"repointel-trace")},"onRepoIntelligenceTrace"),onTodoUpdate:o(u=>{at.current||Wr(u)},"onTodoUpdate"),onScoutSuspiciousCompletion:o(u=>{at.current||Ok&&Cn({type:"info",icon:"\u26A0",text:`[Scout] Completion marked uncertain \u2014 signals: ${u.signals.join(", ")}. Verify the result before continuing.`},"scout-uncertain")},"onScoutSuspiciousCompletion"),onIterationStart:o((u,g)=>{if(at.current)return;if(g&&K(g),pt.current?.globalWorkBudget){let ae={...pt.current,budgetUsage:Math.min(pt.current.globalWorkBudget,(pt.current.budgetUsage??0)+1)};pt.current=ae,lu(ae)}let y=u>1?ge().trim():"",b=u>1?Ay(we()):"",v=u>1?[...pr.current]:[],_=u>1?[...en.current]:[],F=!!rt.current.workerId;Ye(u),F&&gu({clearOwner:!1});let H=Fr.current.filter(ae=>ae.status===W.Executing),ee=new Set(H.map(ae=>ae.id));if(pr.current=[],en.current=en.current.filter(ae=>ee.has(ae.id)),_n(H),q(),se(void 0),Ct(Ip(pt.current?.activeWorkerTitle?`[Thinking] [${pt.current.activeWorkerTitle}]`:void 0,pt.current?.activeWorkerTitle)),ye(),u>1&&!F){let ae=_y({thinking:y,response:b,toolCalls:_,toolNames:v});zi.current?zi.current(ae):ne([...ae])}},"onIterationStart"),beforeToolExecute:o(async(u,g)=>{let y=bn.current,b=Ps(y),v=WS.current,_=n.gitRoot;if(Rw(z.current,u,g))return`[Skipped] Previously denied operation. ${kw(z.current)}`;if(y==="plan"&&(Kr.has(u)||u==="undo"))return`[Blocked] Tool '${u}' is not allowed in plan mode (read-only). ${Lk}`;if(y==="plan"&&u==="bash"){let F=g.command??"";if(qr(F))return`[Blocked] Bash write operation not allowed in plan mode: ${F.slice(0,50)}... ${Lk}`}if(u==="bash"){let F=g.command??"";if(Yr(F))return!0}if(tr(y)&&wm==="llm")return!0;if(u==="bash"){let F=g.command??"",H=bw(F);if(H.level==="dangerous"){let ee=await yo(u,{...g,_dangerousCommand:!0});return ee.confirmed?ee.confirmed:(z.current=Km(z.current,u,g,H.reason),`[Blocked] Dangerous command requires confirmation: ${H.reason}`)}}if(_){let F=!1;if(Kr.has(u)){let H=g.path;H&&Ws(H,_)&&(F=!0)}if(u==="bash"){let H=g.command;H&&vd(H,_)&&(F=!0)}if(F){let H=await yo(u,{...g,_alwaysConfirm:!0});if(bn.current==="plan"&&(Kr.has(u)||u==="undo"))return!1;if(bn.current==="plan"&&u==="bash"){let ee=g.command??"";if(qr(ee))return!1}return H.confirmed}}if(b.has(u)){if(y==="accept-edits"&&u==="bash"&&await Hs(u,g,v,Pm.current??void 0))return!0;let F=await yo(u,g);if(bn.current==="plan"&&(Kr.has(u)||u==="undo"))return!1;if(bn.current==="plan"&&u==="bash"){let H=g.command??"";if(qr(H))return!1}if(!F.confirmed)return B({type:"info",text:ie("cancelled")}),z.current=Km(z.current,u,g),!1;F.always&&y==="accept-edits"&&(Ed(u,g,!1),WS.current=Fs())}return!0},"beforeToolExecute"),askUser:o(async u=>{let g=wy(u.options?Wp(u.options):[],u),y=await gs(Ty(u),g,u.multiSelect,{minSelections:u.minSelections,maxSelections:u.maxSelections});if(y===void 0)return Ls;if(y===wr){let b=await ys(u.customInputPrompt??u.question,u.customInputDefault);return b===void 0?Ls:{kind:"customInput",value:b}}if(Array.isArray(y)&&y.includes(wr)){let b=await ys(u.customInputPrompt??u.question,u.customInputDefault);return b===void 0?Ls:y.map(v=>v===wr?{kind:"customInput",value:b}:v)}return y},"askUser"),exitPlanMode:o(async u=>bn.current!=="plan"?"not-in-plan-mode":(await yo("exit_plan_mode",{plan:u})).confirmed?($m("accept-edits"),!0):!1,"exitPlanMode"),askUserMulti:o(async u=>{let g=u.questions,y={},b=0;for(;b<g.length;){let v=g[b],_=wy(Wp(v.options),v);b>0&&_.push({label:ie("select.back_prev"),value:Gm});let F=`[${b+1}/${g.length}] ${v.question}`,H=await gs(F,_,v.multiSelect,{minSelections:v.minSelections,maxSelections:v.maxSelections});if(H===void 0)return;if(!Array.isArray(H)&&H===Gm){b--;continue}if(!Array.isArray(H)&&H===wr){let ee=await ys(v.customInputPrompt??v.question,v.customInputDefault);if(ee===void 0)return;y[v.question]={kind:"customInput",value:ee},b++;continue}if(Array.isArray(H)&&H.includes(wr)){let ee=await ys(v.customInputPrompt??v.question,v.customInputDefault);if(ee===void 0)return;y[v.question]=H.map(ae=>ae===wr?{kind:"customInput",value:ee}:ae),b++;continue}y[v.question]=H,b++}return y},"askUserMulti"),askUserInput:o(async u=>ys(u.question,u.default),"askUserInput"),onCompactStart:o(()=>{qt()},"onCompactStart"),onCompactStats:o(u=>{Ka.current=u.tokensBefore,Gn(u.tokensAfter)},"onCompactStats"),onCompactedMessages:o((u,g)=>{n.messages=u,g?.artifactLedger&&g.artifactLedger.length>0&&(n.artifactLedger=_s(n.artifactLedger??[],g.artifactLedger)),n.lineage=g?.anchor?cd(n.lineage,u,g.anchor,g.postCompactAttachments??[]):mt(u,n.lineage);let y=bs(u);n.contextTokenSnapshot={currentTokens:y,baselineEstimatedTokens:y,source:"estimate"},sr(n),Gn(y),Zl.current?.().catch(()=>{})},"onCompactedMessages"),onCompact:o(u=>{P();let g=Ka.current??u;Ka.current=null;let y=Math.round(g/1e3);Cn({type:"info",icon:"\u2728",text:`Context auto-compacted (was ~${y}k tokens)`},"compact")},"onCompact"),onCompactEnd:o(()=>{Ka.current=null,P()},"onCompactEnd"),onIterationEnd:o(u=>{u.scope!=="worker"&&(n.contextTokenSnapshot=u.contextTokenSnapshot),Gn(u.tokenCount)},"onIterationEnd")}),[De,Ce,Oe,ct,se,Ae,tt,q,Ye,ye,D,n,qt,P,B,Q,ge,we,gu,Ct,Su,Lx,Yn,Px,$x,Tu,sc,uo,fo,_n,Rx,ec,Ln,Cn,$.currentTool]),yo=o((u,g)=>{let y=ov(u,g);return Xn(),new Promise(b=>{ri.current=b,Iu({tool:u,input:g,prompt:y})})},"showConfirmDialog");We(()=>(f(async(u,g,y)=>(await yo(u.name,{...u.input,_reason:`[auto-mode] ${g}`,...y&&y.length>0?{_classifierSignals:y}:{}})).confirmed?"allow":"block"),p(u=>{Tm(u)}),()=>{f(null),p(null)}),[]),We(()=>{m(D)},[D,m]),We(()=>{let u=o(()=>vc(),"resolve");return Vm({askUser:o(g=>{let y=u().askUser;if(!y)throw new Error("askUser surface unavailable");return y(g)},"askUser"),askUserMulti:o(async g=>{let y=u().askUserMulti;return y?y(g):void 0},"askUserMulti"),askUserInput:o(async g=>{let y=u().askUserInput;return y?y(g):void 0},"askUserInput")}),()=>Vm(void 0)},[vc]);let xs=o(async(u,g,y=n.lineage?Bt(n.lineage,n.lineage.activeEntryId):n.messages,b)=>{let v={...vc(),getCostReport:N,onWorkflowProcessEvent:MM,onWorkflowAgentDigest:o(({runId:ae,event:Ve})=>{let je=Ve.data??{},Gt=typeof je.summary=="string"?je.summary:void 0,ci=typeof je.name=="string"?je.name:void 0,Cs=Ja.current,li=Gt!==void 0||ci!==void 0?_c(Gt,ci):Cs?.runId===ae?Cs.locale??"en":"en",Qe=$d(Ve,li,ae);Qe&&(rt.current.workerId?Wt({id:`wf-digest-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"assistant",text:Qe,timestamp:Date.now()}):$n([{type:"assistant",text:Qe}]))},"onWorkflowAgentDigest")},F=rd(n.gitRoot).getSystemPromptSnippet(),H=vv(u.context,n.gitRoot,n.contextTokenSnapshot,F,n.runtimeInfo?.executionCwd);b&&b.length>0&&(H.inputArtifacts=[...b]),H.planModeBlockCheck=(ae,Ve)=>bn.current!=="plan"?null:To(ae,Ve,n.gitRoot??n.runtimeInfo?.executionCwd??process.cwd());let ee={...u,session:{...u.session,initialMessages:y,initialExtensionState:n.extensionState??{},initialExtensionRecords:n.extensionRecords??[]},context:H,events:v,abortSignal:le()};try{return e.runtimeRunner?await e.runtimeRunner({options:ee,prompt:g,sessionId:n.sessionId,permissionMode:bn.current}):await Ec(ee,g)}finally{gw()}},"runAgentRound"),vn=V(u=>{let g=mt([...u],n.lineage);return n.lineage=g,g},[n]),Rc=V(async u=>{if(n.messages.length===0)return;let g=Io(n.messages),y=Lr(u??O.current);O.current=y,n.title=g,n.uiHistory=y;let b=n.lineage??vn(n.messages);n.lineage=b;let v={...n.extensionStateDirty?{extensionState:n.extensionState??{}}:{},...n.extensionRecordsDirty?{extensionRecords:n.extensionRecords??[]}:{}},_=Na({messages:n.messages,title:g,gitRoot:n.gitRoot??"",runtimeInfo:n.runtimeInfo,tag:_e.current.session?.tag,uiHistory:y,lineage:b,artifactLedger:n.artifactLedger,...v});wB(i)?await i.appendSessionDelta(n.sessionId,_):await i.save(n.sessionId,_),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,kp()&&Ep("persist",Mp(n.messages,b,{historyItems:Z.current,foregroundItems:sn.current,streamingResponse:be.current.currentResponse,streamingThinking:be.current.thinkingContent,persistedUiHistory:O.current}))},[n,vn,i]),Om=V(()=>{if(eu.current)return eu.current;let u=(async()=>{try{for(;Qo.current.requested;){Qo.current.requested=!1;let g=Qo.current.uiHistoryOverride;Qo.current.uiHistoryOverride=void 0,await Rc(g)}}finally{eu.current=null,Qo.current.requested&&Om()}})();return eu.current=u,xx.current=u,u},[Rc]),Vr=V(u=>{if(u!==void 0){let g=Lr(u);O.current=g,Qo.current.uiHistoryOverride=g}return Qo.current.requested=!0,Om()},[Om]),ZM=V(async()=>{if(Xa.current)return Xa.current;let u=(async()=>{at.current=!0,me(),G(),Oe(),Q(),q(),Ke(),se(void 0),fe(!1),await xx.current.catch(()=>{}),await Zl.current?.().catch(()=>{}),wM(!1),M&&C?.isRaw&&I(!1),C?.pause?.(),C?.unref?.(),x(),c()})();return Xa.current=u.finally(()=>{Xa.current=null}),Xa.current},[me,Ke,Q,q,x,M,c,se,fe,I,C,G,Oe]);We(()=>(Zl.current=Vr,()=>{Zl.current=null}),[Vr]);let Yu=V(u=>{if(u.length===0)return;let g=jp(O.current,u);O.current=g,Vr(g)},[Vr]),$n=V(u=>{u.length!==0&&(ne([...u]),Yu(u))},[ne,Yu]),Ss=V(u=>{u.length!==0&&(ne([...u]),O.current=jp(O.current,u))},[ne]);We(()=>(zi.current=$n,()=>{zi.current=null}),[$n]);let KS=V(async u=>{Xn(),n.messages=u.messages,n.contextTokenSnapshot=u.contextTokenSnapshot,_k(n,u),vn(u.messages);let g=u.success===!1&&!u.interrupted,y=ge().trim(),b=fT(u.messages,we(),u.managedTask?.verdict.summary,u.lastText),v=St.current.workerTitle,_=[...sn.current],F=_.length>0;yu(_);let H=F&&_.some(Qe=>Qe.type==="assistant"&&"text"in Qe&&$k(String(Qe.text??""),v)),ee=_.filter(Qe=>Qe.type!=="assistant"||!("text"in Qe)||$k(String(Qe.text??""),v)),ae=!g&&b&&!H,Ve=[...Qi.current],je=g?[]:Ve.length===0?Ok?Wg(u):Wg(u).filter(Qe=>!Hg(Qe)):[],Gt=F?[]:_y({thinking:y,response:void 0,toolCalls:en.current,toolNames:pr.current}),ci=[...ee.map(Qe=>zo(Qe)),...Gt,...g?[]:Ve.map(Qe=>zo(Qe)),...je.map(Qe=>Pk(Qe)),...ae?[{type:"assistant",text:u.interrupted?`${b}
143
143
 
@@ -167,7 +167,7 @@ Suggestion: Set the required API key environment variable`:Le.message.includes("
167
167
  Suggestion: Check your internet connection`:(Le.message.includes("token")||Le.message.includes("context too long"))&&(Dn=`[Context Error] ${Le.message}
168
168
  Suggestion: Use /clear to start fresh`),console.log=Qe,rt.current.workerId?Wt({id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"error",text:Dn,timestamp:Date.now()}):$n([{type:"error",text:Dn}]),Nd({error:Le,messageCount:n.messages.length})){let Zn={type:"info",text:Lc};if(rt.current.workerId?(Wt({id:`recover-hint-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,...Zn,timestamp:Date.now()}),Yu([Zn])):$n([Zn]),(await yo("confirm",{_alwaysConfirm:!0,_message:Od})).confirmed)try{await zS(Gt)}catch(xr){let Is=xr instanceof Error?xr.message:String(xr);$n([{type:"error",text:`[Recover failed] ${Is}`}])}}}}finally{if(console.log=Qe,li.length>0){let Le=li.filter((Dn,Zn,xo)=>xo.indexOf(Dn)===Zn),Rn=Ey(Le);Rn&&B({type:"info",text:Rn})}if(!at.current){let Le=sc(W.Cancelled,()=>({error:"Run ended before the tool result was observed.",output:void 0}));Le.length>0&&rt.current.workerId&&Le.forEach(Rn=>Yn(Rn))}fe(!1),G(),Ke(),dm(),Q();let Re=bs(n.messages);n.contextTokenSnapshot={currentTokens:Re,baselineEstimatedTokens:Re,source:"estimate"},Gn(Re)}},[gx,n,D,Qp,$.pendingInputs.length,i,st,Ne,x,c,B,S,de,G,Ke,vc,XS,le,we,ge,Wt,Ss,$n,Bm,Rc,Vr,Yu,vn,Ts,Nm,qt,P,fo,dm,sc,Yn,ni,Qa,Za]),YS=Ot.shouldRender?ue(k,{paddingX:1,children:ue(K0,{viewModel:Ot})}):void 0,qS=j&&gr.shouldRender?ue(k,{paddingX:1,children:ue(U0,{viewModel:gr})}):void 0,JS=Jx?ue(k,{paddingX:1,children:ue(gp,{viewModel:gm})}):void 0,nA=YS||qS||JS?Sn(k,{flexDirection:"column",children:[qS,YS,JS]}):void 0,QS=Ot.shouldRender?Ot.counterText:void 0,rA=ue(hl,{left:ue(pl,{items:pS}),right:ue(ml,{items:mS}),queued:ue(fp,{pendingInputs:$.pendingInputs}),stashNotice:ue(Cl,{text:Hu}),notifications:ue(Tl,{notifications:Bu}),inlineNotices:vm.length>0?ue(pp,{notices:vm}):void 0,activityBar:Gr?Sn(k,{paddingX:1,flexDirection:"row",children:[Sn(k,{flexGrow:1,children:[Gr?.showSpinner?ue(Mn,{color:re("dark").colors.accent}):null,Gr?Sn(w,{color:Gr.kind==="waiting"?re("dark").colors.warning:re("dark").colors.accent,wrap:"truncate",children:[Gr.showSpinner?" ":"",Gr.text]}):null,Gr?.showSpinner&&$.roundStartedAt!=null?ue(XI,{roundStartedAt:$.roundStartedAt,charCount:$.currentResponse.length,theme:re("dark")}):null]}),QS?ue(w,{dimColor:!0,wrap:"truncate",children:QS}):j&&gr.shouldRender?ue(w,{dimColor:!0,wrap:"truncate",children:`${gr.completedCount}/${gr.totalCount} completed`}):null]}):void 0,todoSurface:nA,composer:ue(ip,{onSubmit:tA,onHistoryRecall:eA,onPopPendingInputs:o(()=>{let u=J();if(u.length!==0)return u.join(`
169
169
  ---
170
- `)},"onPopPendingInputs"),prompt:">",placeholder:ik({isLoading:j,canQueueFollowUps:Qp,waitingReason:Cm}),focus:!st&&!Ne&&!gt,cwd:process.cwd(),gitRoot:e.context?.gitRoot||n.gitRoot,onInputChange:HM,onPasteFallback:XM}),inlineSuggestions:KM,helpSurface:Dx?ue(ap,{sections:Ap()}):void 0,taskBar:gc?ue(Il,{items:ls.backgroundTask.items,overflowLabel:ls.backgroundTask.overflowLabel,ctaHint:ls.backgroundTask.ctaHint,showSpinner:j}):void 0,statusLine:ue(k,{children:ue(Oi,{...Ou,viewModel:dS})}),inlineDialogs:YM}),oA=ue(hl,{left:ue(pl,{items:pS}),right:ue(ml,{items:mS}),stashNotice:ue(Cl,{text:Hu}),notifications:ue(Tl,{notifications:Bu}),composer:ue(H0,{searchActive:gt,selectionActive:!!(Ur||ot),showAllActive:Dt,searchQuery:an,searchCurrent:Nt.length>0?ho+1:0,searchCount:Nt.length,searchDetailText:Sm,pendingLiveUpdates:uc,secondaryText:GM}),taskBar:gc?ue(Il,{items:ls.backgroundTask.items,overflowLabel:ls.backgroundTask.overflowLabel,ctaHint:ls.backgroundTask.ctaHint,showSpinner:yt}):void 0,statusLine:ue(k,{children:ue(Oi,{...Ou,viewModel:Im})})}),Hm=V(u=>ue(W0,{banner:u?.bannerVisible?ue(My,{...ii}):void 0,items:fc,isLoading:cn,viewportRows:Ut.messageRows,viewportWidth:E,scrollOffset:Vn,windowed:!!u?.rendererWindow,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?mc:ES,maxLines:At,selectedTextRanges:mm?cu?.rowRanges:void 0,onMetricsChange:Fu,onVisibleRowsChange:ju}),[ii,fc,cn,Fu,ju,Vn,ES,E,At,cu?.rowRanges,Ut.messageRows,mm]),Wm=V(u=>ue(F0,{banner:u?.bannerVisible?ue(My,{...ii}):void 0,items:dc,browse:{hintText:go.browseHintText},selection:Wu,search:iS,isLoading:yt,isThinking:ve.isThinking,thinkingCharCount:ve.thinkingCharCount,thinkingContent:ve.thinkingContent,streamingResponse:ve.currentResponse,currentTool:ve.currentTool,activeToolCalls:ve.activeToolCalls,toolInputCharCount:ve.toolInputCharCount,toolInputContent:ve.toolInputContent,iterationHistory:ve.iterationHistory,currentIteration:ve.currentIteration,isCompacting:ve.isCompacting,agentMode:D.agentMode,managedPhase:yt?Y?.phase:void 0,managedHarnessProfile:yt?Y?.harnessProfile:void 0,managedWorkerTitle:yt?Y?.activeWorkerTitle:void 0,managedRound:yt?Y?.currentRound:void 0,managedMaxRounds:yt?Y?.maxRounds:void 0,managedGlobalWorkBudget:yt?Y?.globalWorkBudget:void 0,managedBudgetUsage:yt?Y?.budgetUsage:void 0,managedBudgetApprovalRequired:yt?Y?.budgetApprovalRequired:void 0,lastLiveActivityLabel:ve.lastLiveActivityLabel,liveStatusLines:as,viewportRows:Ut.messageRows,viewportWidth:E,scrollOffset:Vn,windowed:!!u?.windowed,animateSpinners:!!u?.rendererWindow&&ds,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?mc:Au,maxLines:At,showDetailedTools:Dt,showAllContent:Dt,selectedItemId:Pn.selectionEnabled?ot:void 0,selectedTextRanges:Hr?.rowRanges,expandedItemKeys:Pn.selectionEnabled?Tn:void 0,onMetricsChange:Fu,onVisibleRowsChange:ju}),[ii,D.agentMode,yt,Tn,a.transcriptSpinnerAnimation,Fu,ju,Vn,Gx,Y?.activeWorkerTitle,Y?.budgetApprovalRequired,Y?.budgetUsage,Y?.currentRound,Y?.globalWorkBudget,Y?.harnessProfile,Y?.maxRounds,Y?.phase,mc,Au,go.browseHintText,ot,Wu,E,ds,dc,At,ve.activeToolCalls,ve.currentIteration,ve.currentResponse,ve.currentTool,ve.isCompacting,ve.isThinking,ve.iterationHistory,ve.lastLiveActivityLabel,ve.thinkingCharCount,ve.thinkingContent,ve.toolInputCharCount,ve.toolInputContent,as,Hr?.rowRanges,iS,Dt,Ut.messageRows]),iA=oe?Wm({bannerVisible:!1,windowed:_t}):Hm({bannerVisible:!1}),ZS=oe?oA:rA,sA=a.enabled&&oi,ew=Sn(k,{flexDirection:"column",width:E,flexShrink:0,flexGrow:sA?1:0,children:[ue(Vg,{currentConfig:D,setCurrentConfig:He,isLoading:j,abort:me,stopThinking:Oe,clearThinkingContent:Q,setCurrentTool:se,setIsLoading:fe,onToggleHelp:BM,setShowHelp:Ox,onSetThinking:o(u=>{_e.current.thinking=u},"onSetThinking"),onSetReasoningMode:o(u=>{_e.current.reasoningMode=u,_e.current.thinking=u!=="off"},"onSetReasoningMode"),onToggleTranscriptMode:qM,onOpenTranscriptSearch:Mm,canOpenTranscriptSearch:oe&&!st&&!Ne,isInteractiveDialogActive:!!(st||Ne),onSetAgentMode:o(u=>{_e.current.agentMode=u},"onSetAgentMode"),onSetPermissionMode:o(u=>{$m(u)},"onSetPermissionMode"),isInputEmpty:Ya,onSavePermissionMode:aT}),Jp&&(a.enabled?null:ue(ra,{items:[1],children:o(()=>ue(My,{...ii},"banner"),"children")})),oi?ue(tp,{width:E,stickyHeader:go.stickyHeader,jumpToLatest:go.jumpToLatest,transcript:!a.enabled||!_t?oe?Wm({bannerVisible:!1}):Hm({bannerVisible:!1}):void 0,renderTranscriptWindow:a.enabled&&_t?u=>(()=>{let y=wc(u).contentWindow;return oe?Wm({bannerVisible:!1,windowed:!0,rendererWindow:y}):Hm({bannerVisible:!1,rendererWindow:y})})():void 0,overlay:Lm,scrollTop:Vn,scrollHeight:Sc,viewportHeight:Ut.messageRows,stickyScroll:!oe&&!mr&&tm,overscanRows:PB,scrollRef:bM,onWindowChange:zM,onScrollTopChange:RM,onStickyChange:kM,footer:ZS}):Sn(xB,{children:[Sn(k,{flexDirection:"column",flexGrow:1,children:[iA,Lm?ue(k,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:Lm}):null]}),ZS]})]});return pm?ue(Dh,{mouseTracking:po.usesRendererMouseTracking,children:ew}):ew},"InkREPLInner"),BB=o(e=>{let t=process.cwd(),n=e.options?.context?.gitRoot??void 0;return ue(xl,{children:ue(Rl,{children:ue(tl,{children:ue(Ug,{children:ue(kf,{cwd:t,gitRoot:n,children:ue(NB,{...e})})})})})})},"InkREPL");function HB(){return process.stdin.isTTY===!0&&typeof process.stdin.setRawMode=="function"}o(HB,"isRawModeSupported");async function Up(e){if(!HB())throw new Um("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 Wi,n=Ro(),r=ko(),i=Eo(n,r),{prepareRuntimeConfig:s}=await import("./utils-CFOXDCB5.js"),{loadCompactionConfig:a}=await import("./compaction-config-5KKKXYFT.js"),{resolveProvider:c}=await import("./dist-IXJRJ27U.js"),l=s(),d=Os({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,configuredProvider:l.provider,defaultProvider:Ju}),f=Ns({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,explicitModel:e.model,configuredProvider:l.provider,configuredModel:l.model}),p=CB(e,l),m=Bs({explicitEffort:e.effort,environmentEffort:process.env.KODAX_EFFORT,configuredEffort:l.effort}),h=Id(e,l,process.env.KODAX_EFFORT),x=e.agentMode??l.agentMode??"ama",T=p!=="off",R=$s(l.permissionMode,"accept-edits")??"accept-edits",C=pd(),I=l.repoIntelligenceTrace===!0,M={provider:d,model:f,effort:m,effortOverride:h,planModeEffort:l.planModeEffort,thinking:T,reasoningMode:p,agentMode:x,permissionMode:R,repoIntelligenceMode:C.mode,repoIntelligenceTrace:I},L=e.session?.id,A=[],N,z,B,ne,S,Se="",Z=await Cr({cwd:process.cwd()}),O=Z.workspaceRoot??void 0,E=Z,$=O,be=nd({meta:{cwd:process.cwd(),startedAt:Date.now()}});if(be){let Q=o(()=>{be.shutdown()},"teamModeCleanup");process.on("exit",Q),process.on("SIGTERM",Q)}try{let{bootstrapConstructionRuntime:Q}=await import("./construction-bootstrap-OXDDDW6O.js"),se=await Q(O??process.cwd());if(se.loaded>0||se.failed>0||se.tampered>0){let Ae=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`:"";rn({source:"repl:construction",level:se.failed>0||se.tampered>0?"warn":"info",message:`Rehydrated ${se.loaded} active tool(s)${Ae}${tt}.`})}if(se.markdownLoaded>0||se.markdownFailures.length>0){rn({source:"repl:agents",level:se.markdownFailures.length>0?"warn":"info",message:`Loaded ${se.markdownLoaded} markdown agent(s).`});for(let Ae of se.markdownFailures)rn({source:"repl:agents",level:"warn",message:`Skipped markdown agent ${Ae.path}: ${Ae.reason}`})}}catch(Q){rn({source:"repl:construction",level:"warn",message:`Bootstrap failed: ${Q.message}. Self-construction disabled this session.`})}let de;try{let Q=await a(O),se=c(d);de={contextWindow:Q.contextWindow??se.getContextWindow?.()??2e5,triggerPercent:Q.triggerPercent,enabled:Q.enabled,reservedResponseTokens:se.getEffectiveMaxOutputTokens?.(f),userOverrideContextWindow:Q.contextWindow}}catch{}if(e.session?.id&&!e.session.resume){let Q=await t.load(e.session.id);Q&&(A=Q.messages,N=Fo(Q.uiHistory),z=Q.lineage,B=Q.artifactLedger,ne=Q.extensionState,S=Q.extensionRecords,Se=Q.title,L=e.session.id,E=Nn(Q)??Z,$=E.workspaceRoot??void 0,e={...e,session:{...e.session??{},id:L,tag:Q.tag}},console.log(ht.green(`[Session loaded: ${L}]`)))}else if(e.session?.resume||e.session?.autoResume){let Q=await t.list(O);if(Q.length>0){let se=Q[0];if(se){let Ae=await t.load(se.id);Ae&&(A=Ae.messages,N=Fo(Ae.uiHistory),z=Ae.lineage,B=Ae.artifactLedger,ne=Ae.extensionState,S=Ae.extensionRecords,Se=Ae.title,L=se.id,E=Nn(Ae)??Z,$=E.workspaceRoot??void 0,e={...e,session:{...e.session??{},tag:Ae.tag}},console.log(ht.green(`[Continuing session: ${se.id}]`)))}}}let G=await ba({sessionId:L,gitRoot:$,runtimeInfo:E,existingMessages:A,existingUiHistory:N,existingLineage:z,existingArtifactLedger:B,existingExtensionState:ne,existingExtensionRecords:S});G.title=Se,e={...e,context:{...e.context,gitRoot:G.gitRoot??void 0,executionCwd:G.runtimeInfo?.executionCwd??G.gitRoot??process.cwd()}},be?.writer.update({sessionId:G.sessionId});let me={current:null},ye={current:null},De={current:M},Ce=kd(),Oe=await va({askUser:o(async(Q,se,Ae)=>{let tt=me.current;return tt?tt(Q,se,Ae):"block"},"askUser"),projectRoot:O??process.cwd(),getCurrentProviderName:o(()=>De.current.provider,"getCurrentProviderName"),getCurrentModel:o(()=>De.current.model,"getCurrentModel"),getCurrentPermissionMode:o(()=>De.current.permissionMode,"getCurrentPermissionMode"),autoModeSettings:Ce,log:o((Q,se)=>{rn({source:"repl:auto-mode",level:Q==="warn"?"warn":"info",message:se})},"log"),onEngineChange:o(Q=>{ye.current?.(Q)},"onEngineChange"),extraCollectors:[Rd]});try{let Q=process.stdout,se=process.stdin,Ae=!1,{waitUntilExit:tt,cleanup:q}=na(ue(BB,{options:e,config:M,context:G,startupRuntimeInfo:Z,storage:t,compactionInfo:de,rendererMode:r,fullscreenPolicy:i,autoModeBootstrap:Oe,setAutoModeAskUser:o(ct=>{me.current=ct},"setAutoModeAskUser"),setAutoModeEngineChange:o(ct=>{ye.current=ct},"setAutoModeEngineChange"),setCurrentConfigRef:o(ct=>{De.current=ct},"setCurrentConfigRef"),teamModeHandle:be,onExit:o(()=>{Ae=!0},"onExit")}),{stdout:Q,stdin:se,exitOnCtrlC:!1,patchConsole:!1,maxFps:30,shellMode:i.enabled?i.promptShell:"main-screen"});await tt(),q(),be?.shutdown(),se.isTTY===!0&&typeof se.setRawMode=="function"&&se.isRaw&&se.setRawMode(!1),se.pause?.(),se.unref?.(),Ae&&console.log(ht.dim(`
170
+ `)},"onPopPendingInputs"),prompt:">",placeholder:ik({isLoading:j,canQueueFollowUps:Qp,waitingReason:Cm}),focus:!st&&!Ne&&!gt,cwd:process.cwd(),gitRoot:e.context?.gitRoot||n.gitRoot,onInputChange:HM,onPasteFallback:XM}),inlineSuggestions:KM,helpSurface:Dx?ue(ap,{sections:Ap()}):void 0,taskBar:gc?ue(Il,{items:ls.backgroundTask.items,overflowLabel:ls.backgroundTask.overflowLabel,ctaHint:ls.backgroundTask.ctaHint,showSpinner:j}):void 0,statusLine:ue(k,{children:ue(Oi,{...Ou,viewModel:dS})}),inlineDialogs:YM}),oA=ue(hl,{left:ue(pl,{items:pS}),right:ue(ml,{items:mS}),stashNotice:ue(Cl,{text:Hu}),notifications:ue(Tl,{notifications:Bu}),composer:ue(H0,{searchActive:gt,selectionActive:!!(Ur||ot),showAllActive:Dt,searchQuery:an,searchCurrent:Nt.length>0?ho+1:0,searchCount:Nt.length,searchDetailText:Sm,pendingLiveUpdates:uc,secondaryText:GM}),taskBar:gc?ue(Il,{items:ls.backgroundTask.items,overflowLabel:ls.backgroundTask.overflowLabel,ctaHint:ls.backgroundTask.ctaHint,showSpinner:yt}):void 0,statusLine:ue(k,{children:ue(Oi,{...Ou,viewModel:Im})})}),Hm=V(u=>ue(W0,{banner:u?.bannerVisible?ue(My,{...ii}):void 0,items:fc,isLoading:cn,viewportRows:Ut.messageRows,viewportWidth:E,scrollOffset:Vn,windowed:!!u?.rendererWindow,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?mc:ES,maxLines:At,selectedTextRanges:mm?cu?.rowRanges:void 0,onMetricsChange:Fu,onVisibleRowsChange:ju}),[ii,fc,cn,Fu,ju,Vn,ES,E,At,cu?.rowRanges,Ut.messageRows,mm]),Wm=V(u=>ue(F0,{banner:u?.bannerVisible?ue(My,{...ii}):void 0,items:dc,browse:{hintText:go.browseHintText},selection:Wu,search:iS,isLoading:yt,isThinking:ve.isThinking,thinkingCharCount:ve.thinkingCharCount,thinkingContent:ve.thinkingContent,streamingResponse:ve.currentResponse,currentTool:ve.currentTool,activeToolCalls:ve.activeToolCalls,toolInputCharCount:ve.toolInputCharCount,toolInputContent:ve.toolInputContent,iterationHistory:ve.iterationHistory,currentIteration:ve.currentIteration,isCompacting:ve.isCompacting,agentMode:D.agentMode,managedPhase:yt?Y?.phase:void 0,managedHarnessProfile:yt?Y?.harnessProfile:void 0,managedWorkerTitle:yt?Y?.activeWorkerTitle:void 0,managedRound:yt?Y?.currentRound:void 0,managedMaxRounds:yt?Y?.maxRounds:void 0,managedGlobalWorkBudget:yt?Y?.globalWorkBudget:void 0,managedBudgetUsage:yt?Y?.budgetUsage:void 0,managedBudgetApprovalRequired:yt?Y?.budgetApprovalRequired:void 0,lastLiveActivityLabel:ve.lastLiveActivityLabel,liveStatusLines:as,viewportRows:Ut.messageRows,viewportWidth:E,scrollOffset:Vn,windowed:!!u?.windowed,animateSpinners:!!u?.rendererWindow&&ds,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?mc:Au,maxLines:At,showDetailedTools:Dt,showAllContent:Dt,selectedItemId:Pn.selectionEnabled?ot:void 0,selectedTextRanges:Hr?.rowRanges,expandedItemKeys:Pn.selectionEnabled?Tn:void 0,onMetricsChange:Fu,onVisibleRowsChange:ju}),[ii,D.agentMode,yt,Tn,a.transcriptSpinnerAnimation,Fu,ju,Vn,Gx,Y?.activeWorkerTitle,Y?.budgetApprovalRequired,Y?.budgetUsage,Y?.currentRound,Y?.globalWorkBudget,Y?.harnessProfile,Y?.maxRounds,Y?.phase,mc,Au,go.browseHintText,ot,Wu,E,ds,dc,At,ve.activeToolCalls,ve.currentIteration,ve.currentResponse,ve.currentTool,ve.isCompacting,ve.isThinking,ve.iterationHistory,ve.lastLiveActivityLabel,ve.thinkingCharCount,ve.thinkingContent,ve.toolInputCharCount,ve.toolInputContent,as,Hr?.rowRanges,iS,Dt,Ut.messageRows]),iA=oe?Wm({bannerVisible:!1,windowed:_t}):Hm({bannerVisible:!1}),ZS=oe?oA:rA,sA=a.enabled&&oi,ew=Sn(k,{flexDirection:"column",width:E,flexShrink:0,flexGrow:sA?1:0,children:[ue(Vg,{currentConfig:D,setCurrentConfig:He,isLoading:j,abort:me,stopThinking:Oe,clearThinkingContent:Q,setCurrentTool:se,setIsLoading:fe,onToggleHelp:BM,setShowHelp:Ox,onSetThinking:o(u=>{_e.current.thinking=u},"onSetThinking"),onSetReasoningMode:o(u=>{_e.current.reasoningMode=u,_e.current.thinking=u!=="off"},"onSetReasoningMode"),onToggleTranscriptMode:qM,onOpenTranscriptSearch:Mm,canOpenTranscriptSearch:oe&&!st&&!Ne,isInteractiveDialogActive:!!(st||Ne),onSetAgentMode:o(u=>{_e.current.agentMode=u},"onSetAgentMode"),onSetPermissionMode:o(u=>{$m(u)},"onSetPermissionMode"),isInputEmpty:Ya,onSavePermissionMode:aT}),Jp&&(a.enabled?null:ue(ra,{items:[1],children:o(()=>ue(My,{...ii},"banner"),"children")})),oi?ue(tp,{width:E,stickyHeader:go.stickyHeader,jumpToLatest:go.jumpToLatest,transcript:!a.enabled||!_t?oe?Wm({bannerVisible:!1}):Hm({bannerVisible:!1}):void 0,renderTranscriptWindow:a.enabled&&_t?u=>(()=>{let y=wc(u).contentWindow;return oe?Wm({bannerVisible:!1,windowed:!0,rendererWindow:y}):Hm({bannerVisible:!1,rendererWindow:y})})():void 0,overlay:Lm,scrollTop:Vn,scrollHeight:Sc,viewportHeight:Ut.messageRows,stickyScroll:!oe&&!mr&&tm,overscanRows:PB,scrollRef:bM,onWindowChange:zM,onScrollTopChange:RM,onStickyChange:kM,footer:ZS}):Sn(xB,{children:[Sn(k,{flexDirection:"column",flexGrow:1,children:[iA,Lm?ue(k,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:Lm}):null]}),ZS]})]});return pm?ue(Dh,{mouseTracking:po.usesRendererMouseTracking,children:ew}):ew},"InkREPLInner"),BB=o(e=>{let t=process.cwd(),n=e.options?.context?.gitRoot??void 0;return ue(xl,{children:ue(Rl,{children:ue(tl,{children:ue(Ug,{children:ue(kf,{cwd:t,gitRoot:n,children:ue(NB,{...e})})})})})})},"InkREPL");function HB(){return process.stdin.isTTY===!0&&typeof process.stdin.setRawMode=="function"}o(HB,"isRawModeSupported");async function Up(e){if(!HB())throw new Um("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 Wi,n=Ro(),r=ko(),i=Eo(n,r),{prepareRuntimeConfig:s}=await import("./utils-O4PT6SHQ.js"),{loadCompactionConfig:a}=await import("./compaction-config-OCZPAJQO.js"),{resolveProvider:c}=await import("./dist-Y2HGGI7W.js"),l=s(),d=Os({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,configuredProvider:l.provider,defaultProvider:Ju}),f=Ns({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,explicitModel:e.model,configuredProvider:l.provider,configuredModel:l.model}),p=CB(e,l),m=Bs({explicitEffort:e.effort,environmentEffort:process.env.KODAX_EFFORT,configuredEffort:l.effort}),h=Id(e,l,process.env.KODAX_EFFORT),x=e.agentMode??l.agentMode??"ama",T=p!=="off",R=$s(l.permissionMode,"accept-edits")??"accept-edits",C=pd(),I=l.repoIntelligenceTrace===!0,M={provider:d,model:f,effort:m,effortOverride:h,planModeEffort:l.planModeEffort,thinking:T,reasoningMode:p,agentMode:x,permissionMode:R,repoIntelligenceMode:C.mode,repoIntelligenceTrace:I},L=e.session?.id,A=[],N,z,B,ne,S,Se="",Z=await Cr({cwd:process.cwd()}),O=Z.workspaceRoot??void 0,E=Z,$=O,be=nd({meta:{cwd:process.cwd(),startedAt:Date.now()}});if(be){let Q=o(()=>{be.shutdown()},"teamModeCleanup");process.on("exit",Q),process.on("SIGTERM",Q)}try{let{bootstrapConstructionRuntime:Q}=await import("./construction-bootstrap-LI2FP7KZ.js"),se=await Q(O??process.cwd());if(se.loaded>0||se.failed>0||se.tampered>0){let Ae=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`:"";rn({source:"repl:construction",level:se.failed>0||se.tampered>0?"warn":"info",message:`Rehydrated ${se.loaded} active tool(s)${Ae}${tt}.`})}if(se.markdownLoaded>0||se.markdownFailures.length>0){rn({source:"repl:agents",level:se.markdownFailures.length>0?"warn":"info",message:`Loaded ${se.markdownLoaded} markdown agent(s).`});for(let Ae of se.markdownFailures)rn({source:"repl:agents",level:"warn",message:`Skipped markdown agent ${Ae.path}: ${Ae.reason}`})}}catch(Q){rn({source:"repl:construction",level:"warn",message:`Bootstrap failed: ${Q.message}. Self-construction disabled this session.`})}let de;try{let Q=await a(O),se=c(d);de={contextWindow:Q.contextWindow??se.getContextWindow?.()??2e5,triggerPercent:Q.triggerPercent,enabled:Q.enabled,reservedResponseTokens:se.getEffectiveMaxOutputTokens?.(f),userOverrideContextWindow:Q.contextWindow}}catch{}if(e.session?.id&&!e.session.resume){let Q=await t.load(e.session.id);Q&&(A=Q.messages,N=Fo(Q.uiHistory),z=Q.lineage,B=Q.artifactLedger,ne=Q.extensionState,S=Q.extensionRecords,Se=Q.title,L=e.session.id,E=Nn(Q)??Z,$=E.workspaceRoot??void 0,e={...e,session:{...e.session??{},id:L,tag:Q.tag}},console.log(ht.green(`[Session loaded: ${L}]`)))}else if(e.session?.resume||e.session?.autoResume){let Q=await t.list(O);if(Q.length>0){let se=Q[0];if(se){let Ae=await t.load(se.id);Ae&&(A=Ae.messages,N=Fo(Ae.uiHistory),z=Ae.lineage,B=Ae.artifactLedger,ne=Ae.extensionState,S=Ae.extensionRecords,Se=Ae.title,L=se.id,E=Nn(Ae)??Z,$=E.workspaceRoot??void 0,e={...e,session:{...e.session??{},tag:Ae.tag}},console.log(ht.green(`[Continuing session: ${se.id}]`)))}}}let G=await ba({sessionId:L,gitRoot:$,runtimeInfo:E,existingMessages:A,existingUiHistory:N,existingLineage:z,existingArtifactLedger:B,existingExtensionState:ne,existingExtensionRecords:S});G.title=Se,e={...e,context:{...e.context,gitRoot:G.gitRoot??void 0,executionCwd:G.runtimeInfo?.executionCwd??G.gitRoot??process.cwd()}},be?.writer.update({sessionId:G.sessionId});let me={current:null},ye={current:null},De={current:M},Ce=kd(),Oe=await va({askUser:o(async(Q,se,Ae)=>{let tt=me.current;return tt?tt(Q,se,Ae):"block"},"askUser"),projectRoot:O??process.cwd(),getCurrentProviderName:o(()=>De.current.provider,"getCurrentProviderName"),getCurrentModel:o(()=>De.current.model,"getCurrentModel"),getCurrentPermissionMode:o(()=>De.current.permissionMode,"getCurrentPermissionMode"),autoModeSettings:Ce,log:o((Q,se)=>{rn({source:"repl:auto-mode",level:Q==="warn"?"warn":"info",message:se})},"log"),onEngineChange:o(Q=>{ye.current?.(Q)},"onEngineChange"),extraCollectors:[Rd]});try{let Q=process.stdout,se=process.stdin,Ae=!1,{waitUntilExit:tt,cleanup:q}=na(ue(BB,{options:e,config:M,context:G,startupRuntimeInfo:Z,storage:t,compactionInfo:de,rendererMode:r,fullscreenPolicy:i,autoModeBootstrap:Oe,setAutoModeAskUser:o(ct=>{me.current=ct},"setAutoModeAskUser"),setAutoModeEngineChange:o(ct=>{ye.current=ct},"setAutoModeEngineChange"),setCurrentConfigRef:o(ct=>{De.current=ct},"setCurrentConfigRef"),teamModeHandle:be,onExit:o(()=>{Ae=!0},"onExit")}),{stdout:Q,stdin:se,exitOnCtrlC:!1,patchConsole:!1,maxFps:30,shellMode:i.enabled?i.promptShell:"main-screen"});await tt(),q(),be?.shutdown(),se.isTTY===!0&&typeof se.setRawMode=="function"&&se.isRaw&&se.setRawMode(!1),se.pause?.(),se.unref?.(),Ae&&console.log(ht.dim(`
171
171
  [Exiting KodaX...]`));let Ke=e.hardExitOnClose??process.env.VITEST!=="true";if(Ae&&Ke){let ct=process.exitCode??0,le=!1,we=o(()=>{le||(le=!0,process.exit(ct))},"requestProcessExit");setTimeout(we,0).unref?.(),Q.write("",we);return}}catch(Q){throw Q instanceof Error&&Q.message.includes("Raw mode")?new Um("Interactive mode failed to start.",['kodax -p "your task" # Run a single task',"kodax -c # Continue last session"]):Q}}o(Up,"runInkInteractiveMode");import{jsx as Hl,jsxs as Ba}from"react/jsx-runtime";import{useMemo as WB,useState as Fk}from"react";function FB(e,t){let n=t.trim().toLocaleLowerCase().split(/\s+/).filter(Boolean);return n.length===0?[...e]:e.filter(r=>{let i=[r.title,r.id,r.surface??"",r.createdAt??"",String(r.msgCount)].join(" ").toLocaleLowerCase();return n.every(s=>i.includes(s))})}o(FB,"filterSessionPickerItems");function jB(e,t,n){let r=Math.max(1,n),i=e.length===0?0:Math.max(0,Math.min(t,e.length-1)),s=Math.floor(i/r)*r;return{items:e.slice(s,s+r),selectedIndex:i,pageStart:s,pageIndex:Math.floor(s/r),pageCount:Math.max(1,Math.ceil(e.length/r))}}o(jB,"buildSessionPickerPage");function UB(e){if(!e)return"unknown time";let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toISOString().slice(0,16).replace("T"," ")}o(UB,"formatTimestamp");function GB({sessions:e,onSelect:t,onCancel:n,pageSize:r=8}){let{exit:i}=Er(),[s,a]=Fk(""),[c,l]=Fk(0),d=WB(()=>FB(e,s),[e,s]),f=jB(d,c,r),p=d[f.selectedIndex];return oa((m,h)=>{if(h.escape||h.ctrl&&m==="c"){n(),i();return}if(h.return){let x=d[f.selectedIndex];x&&(t(x),i());return}if(h.upArrow)l(x=>Math.max(0,x-1));else if(h.downArrow)l(x=>Math.min(Math.max(0,d.length-1),x+1));else if(h.pageUp)l(x=>Math.max(0,x-r));else if(h.pageDown)l(x=>Math.min(Math.max(0,d.length-1),x+r));else if(h.home)l(0);else if(h.end)l(Math.max(0,d.length-1));else if(h.tab){let x=d[f.selectedIndex];x&&(a(x.title),l(0))}else h.backspace||h.delete?(a(x=>x.slice(0,-1)),l(0)):m&&!h.ctrl&&!h.meta&&!h.super&&(a(x=>x+m),l(0))}),Ba(k,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,children:[Hl(w,{bold:!0,color:"cyan",children:"Resume a session"}),Ba(w,{children:["Search: ",Hl(w,{color:"yellow",children:s||"type to filter"})]}),Hl(w,{dimColor:!0,children:"\u2191/\u2193 select \xB7 PgUp/PgDn page \xB7 Tab complete \xB7 Enter resume \xB7 Esc cancel"}),Ba(k,{flexDirection:"column",marginTop:1,children:[f.items.length===0?Hl(w,{color:"yellow",children:"No matching sessions."}):null,f.items.map((m,h)=>{let T=f.pageStart+h===f.selectedIndex,R=m.title.trim()||"Untitled session",C=m.surface?` \xB7 ${m.surface}`:"";return Ba(w,{color:T?"cyan":void 0,bold:T,children:[T?"\u276F":" "," ",R," \xB7 ",m.msgCount," msgs",C," \xB7 ",UB(m.createdAt)," \xB7 ",m.id.slice(0,8)]},m.id)})]}),Ba(w,{dimColor:!0,children:[d.length," matches \xB7 Page ",f.pageIndex+1,"/",f.pageCount]}),Ba(w,{dimColor:!0,children:["Selected ID: ",p?.id??"none"]})]})}o(GB,"SessionPicker");async function jk(e){let t,n=Math.max(4,Math.min(12,(process.stdout.rows??24)-8)),r=na(Hl(GB,{sessions:e,pageSize:n,onSelect:o(i=>{t=i},"onSelect"),onCancel:o(()=>{},"onCancel")}),{exitOnCtrlC:!1,patchConsole:!1});return await r.waitUntilExit(),r.cleanup(),t}o(jk,"runSessionPicker");import fn from"chalk";var Uk=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],Gk=["\x1B[36m","\x1B[35m","\x1B[34m"],Fl=null,Ha=!1;function Wl(){let e=0,t=0,n=!1,r="Thinking...",i=o(()=>{if(n)return;let c=Gk[t%Gk.length],l="\x1B[0m",d=Uk[e%Uk.length];process.stdout.write(`\r${c}${d}${l} ${r}`)},"renderFrame"),s=setInterval(()=>{e++,e%10===0&&t++,i()},80);i();let a={stop:o(()=>{n||(n=!0,clearInterval(s),process.stdout.write("\r\x1B[K"))},"stop"),isStopped:o(()=>n,"isStopped"),updateText:o(c=>{r=c},"updateText")};return Fl=a,a}o(Wl,"startWaitingDots");function Vk(e=!0){let t=null,n=0,r=!1;return{onSessionStart:o(s=>{console.log(e?fn.cyan(`[KodaX] Provider: ${s.provider} | Session: ${s.sessionId}`):fn.cyan(`[KodaX] Provider: ${s.provider}`))},"onSessionStart"),onTextDelta:o(s=>{t&&(t.stop(),t=null),n=0,process.stdout.write(s),r=!0},"onTextDelta"),onThinkingDelta:o(s=>{n+=s.length,t||(t=Wl()),t.updateText(`Thinking... (${n} chars)`)},"onThinkingDelta"),onThinkingEnd:o(s=>{if(t&&(t.stop(),t=null),s){let a=s.replace(/\n/g," "),c=a.length>100?a.slice(0,100)+"...":a;console.log(fn.dim(`[Thinking] ${c}`))}},"onThinkingEnd"),onToolUseStart:o(s=>{t||(Ha||(process.stdout.write(`
172
172
  `),Ha=!0),t=Wl()),t.updateText(`Executing ${s.name}...`)},"onToolUseStart"),onToolInputDelta:o((s,a,c)=>{let l=a.length;t&&!t.isStopped()?t.updateText(`Receiving ${s}... (${l} chars)`):(!t||t.isStopped())&&(Ha||(process.stdout.write(`
173
173
  `),Ha=!0,r=!1),t=Wl(),t.updateText(`Receiving ${s}... (${l} chars)`))},"onToolInputDelta"),onToolResult:o(s=>{t&&(t.stop(),t=null),console.log(fn.green(`[Result] ${s.content.slice(0,300)}${s.content.length>300?"...":""}`))},"onToolResult"),onRepoIntelligenceTrace:o(s=>{t&&(t.stop(),t=null),console.log(fn.dim(`[RepoIntel] ${s.summary}`))},"onRepoIntelligenceTrace"),onSidecarMessage:o(s=>{t&&(t.stop(),t=null);let a=s.delivery==="budget-exhausted"?"\u26A1 Sidecar Verifier \u2014 budget exhausted":s.verdict==="blocked"?"\u26A1 Sidecar Verifier \u2014 blocked":"\u26A1 Sidecar Verifier \u2014 revise",c=s.suggestedFix?`${s.content}
@@ -209,7 +209,7 @@ ${t}`),console.log("\u2500".repeat(t.length)),n.forEach((r,i)=>{console.log(` $
209
209
  `+c)),console.log(""),console.log(l(i.colors.primary)+Xe.hex(i.colors.primary)("AI Coding Agent \xB7 Minimalist & Intelligent")),console.log(l(i.colors.success)+Xe.bold.hex(i.colors.text)(`v${mi}`)+d+Xe.hex(i.colors.success)(`${e.provider}:${s}`)+d+Xe.hex(i.colors.primary)(e.agentMode.toUpperCase())+Xe.hex(i.colors.dim)(" / ")+Xe.hex(i.colors.accent)(t)+Xe.hex(i.colors.dim)(" \xB7 ")+Xe.hex(i.colors.warning)(`effort:${a}`)),n){let f=Math.round(n.contextWindow/1e3),p=n.enabled?Xe.hex(i.colors.success)("on"):Xe.hex(i.colors.secondary)("off"),m=fl(n.contextWindow,n.triggerPercent);console.log(l(i.colors.accent)+Xe.hex(i.colors.secondary)(`ctx ${f}k \xB7 compaction `)+p+Xe.hex(i.colors.secondary)(` \xB7 ${m}`))}r&&console.log(l(i.colors.secondary)+Xe.hex(i.colors.secondary)(`${r.length} project rule file(s) loaded \u2014 `)+Xe.hex(i.colors.dim)("/reload to refresh")),console.log(""),console.log(Xe.hex(i.colors.dim)(" Quick tips:")),console.log(Xe.hex(i.colors.primary)(" /help ")+Xe.hex(i.colors.dim)("Show all commands")),console.log(Xe.hex(i.colors.primary)(" /mode ")+Xe.hex(i.colors.dim)("Switch permission mode")),console.log(Xe.hex(i.colors.primary)(" /clear ")+Xe.hex(i.colors.dim)("Clear conversation")),console.log(Xe.hex(i.colors.primary)(" @path ")+Xe.hex(i.colors.dim)("Attach image to context")),console.log(Xe.hex(i.colors.primary)(" !cmd ")+Xe.hex(i.colors.dim)("Run read-only shell command")),console.log(Xe.hex(i.colors.dim)(`
210
210
  Keyboard: Tab (complete) | Esc+Esc (edit last) | Ctrl+T (reasoning) | Ctrl+E (editor) | Ctrl+R (history)
211
211
  `))}o(hE,"printStartupBanner");async function pH(e){return(await od(e)).getSystemPromptSnippet()}o(pH,"buildClassicCliSkillsPrompt");function mH(e,t){let n=rd(e);t.context={...t.context,skillsPrompt:n.getSystemPromptSnippet()}}o(mH,"syncClassicCliSkillsPrompt");var Vy=class{static{o(this,"MemorySessionStorage")}sessions=new Map;async save(t,n){let r=this.sessions.get(t),i=mt(n.messages,n.lineage??r?.data.lineage);this.sessions.set(t,{createdAt:r?.createdAt??new Date().toISOString(),data:{...structuredClone(n),scope:n.scope??r?.data.scope??"user",uiHistory:n.uiHistory??r?.data.uiHistory,extensionState:n.extensionState??r?.data.extensionState,extensionRecords:n.extensionRecords??r?.data.extensionRecords,tag:n.tag??r?.data.tag,lineage:i}})}async load(t){return structuredClone(this.sessions.get(t)?.data??null)}async getLineage(t){return structuredClone(this.sessions.get(t)?.data.lineage??null)}async setActiveEntry(t,n,r){let i=this.sessions.get(t);if(!i?.data.lineage)return null;let s=Rs(i.data.lineage,n,r);if(!s)return null;let a={...structuredClone(i.data),messages:Bt(s),lineage:s};return this.sessions.set(t,{...i,data:a}),structuredClone(a)}async setLabel(t,n,r){let i=this.sessions.get(t);if(!i?.data.lineage)return null;let s=ks(i.data.lineage,n,r);if(!s)return null;let a={...structuredClone(i.data),lineage:s};return this.sessions.set(t,{...i,data:a}),structuredClone(a)}async fork(t,n,r){let i=this.sessions.get(t);if(!i?.data.lineage)return null;let s=As(i.data.lineage,n);if(!s)return null;let a=r?.sessionId??await vs(),c={messages:Bt(s),title:r?.title??i.data.title,gitRoot:i.data.gitRoot,tag:i.data.tag,runtimeInfo:i.data.runtimeInfo?structuredClone(i.data.runtimeInfo):void 0,scope:i.data.scope??"user",extensionState:i.data.extensionState?structuredClone(i.data.extensionState):void 0,extensionRecords:i.data.extensionRecords?structuredClone(i.data.extensionRecords):void 0,lineage:s};return this.sessions.set(a,{createdAt:new Date().toISOString(),data:c}),{sessionId:a,data:structuredClone(c)}}async rewind(t,n){let r=this.sessions.get(t);if(!r?.data.lineage)return null;let i=n??Es(r.data.lineage);if(!i)return null;let s=Ms(r.data.lineage,i);if(!s)return null;let a={...r.data,messages:Bt(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?fi(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 Uy(e,t,n){e.runtimeInfo=n,e.gitRoot=n?.workspaceRoot??e.gitRoot,t.context={...t.context,gitRoot:e.gitRoot,executionCwd:n?.executionCwd??process.cwd()}}o(Uy,"applyRuntimeContext");function Vp(e,t){let n=t.runtimeSessionSnapshot;n&&("extensionState"in n&&(e.extensionState=n.extensionState?structuredClone(n.extensionState):{},e.extensionStateDirty=!0),"extensionRecords"in n&&(e.extensionRecords=n.extensionRecords?.map(r=>({...r}))??[],e.extensionRecordsDirty=!0))}o(Vp,"applyRuntimeSessionSnapshot");function Xo(e){return{...e.extensionStateDirty?{extensionState:e.extensionState??{}}:{},...e.extensionRecordsDirty?{extensionRecords:e.extensionRecords??[]}:{}}}o(Xo,"contextExtensionSessionData");function ja(e){e.extensionStateDirty=!1,e.extensionRecordsDirty=!1}o(ja,"markExtensionSessionPersisted");function hH(e,t){return e.reasoningMode?e.reasoningMode:t.reasoningMode?t.reasoningMode:(e.thinking===!0||t.thinking===!0,"auto")}o(hH,"resolveInitialReasoningMode");var Ky={current:null};async function yE(e){let t=await Cr({cwd:process.cwd()}),n=t.workspaceRoot??await Xr()??void 0,r=e.storage??new Vy,i=nd({meta:{cwd:process.cwd(),startedAt:Date.now()}}),s=Cd(),a=Os({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,configuredProvider:s.provider,defaultProvider:Ju}),c=Ns({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,explicitModel:e.model,configuredProvider:s.provider,configuredModel:s.model}),l=hH(e,s),d=Bs({explicitEffort:e.effort,environmentEffort:process.env.KODAX_EFFORT,configuredEffort:s.effort}),f=Id(e,s,process.env.KODAX_EFFORT),p=e.agentMode??s.agentMode??"ama",m=l!=="off",h=$s(s.permissionMode,"accept-edits")??"accept-edits",x=Td();h==="auto-in-project"&&x();let T=pd(),R=s.theme;R&&Kl(R);let C=Gi(),I={provider:a,model:c,effort:d,effortOverride:f,planModeEffort:s.planModeEffort,thinking:m,reasoningMode:l,agentMode:p,permissionMode:h,repoIntelligenceMode:T.mode,repoIntelligenceTrace:T.trace,fallbackProviders:s.fallbackProviders},M=h,L=Fs(),A=o(P=>hi({provider:P?.provider??I.provider,model:P?.model??I.model,effort:I.effort,effortOverride:I.effortOverride,permissionMode:P?.permissionMode??I.permissionMode,planModeEffort:I.planModeEffort,thinking:I.thinking,reasoningMode:I.reasoningMode}),"resolveCurrentRuntimeEffort"),N=0,z="",B=!1,ne=500,S=await ba({sessionId:e.session?.id,gitRoot:n,runtimeInfo:t});S.skillDynamicContext=e.skillDynamicContext,i?.writer.update({sessionId:S.sessionId});let Se=o(P=>Uo(I,P,(K,X,he)=>{console.log((K==="block"?ce.red:ce.yellow)(`
212
- ${X}`));for(let Ee of he)console.log(ce.dim(Ee));console.log()}),"guardSessionTransition"),Z=await lT(n??void 0),{resolveProvider:O}=await import("./dist-IXJRJ27U.js"),E=O(I.provider),$=Z.contextWindow??E.getEffectiveContextWindow?.(I.model)??E.getContextWindow?.()??2e5,{loadAgentsFiles:be}=await import("./dist-IXJRJ27U.js"),de=o(async()=>be({cwd:process.cwd(),projectRoot:S.gitRoot??void 0}),"reloadAgentsFiles"),G=await de();hE(I,I.permissionMode,{contextWindow:$,triggerPercent:Z.triggerPercent,enabled:Z.enabled},G),mE(t);let me=PT(()=>S.gitRoot??process.cwd()),ye=gE.createInterface({input:process.stdin,output:process.stdout,terminal:process.stdout.isTTY??!0,historySize:100,completer:o((P,K)=>{me(P).then(X=>{K(null,X)}).catch(()=>{K(null,[[],P])})},"completer")}),De=kd(),Ce=await va({askUser:o(async(P,K,X)=>(await Vl(ye,P.name,{...P.input,...X&&X.length>0?{_classifierSignals:X}:{}},{permissionMode:M,reason:`[auto-mode] ${K}`})).confirmed?"allow":"block","askUser"),projectRoot:n??process.cwd(),getCurrentProviderName:o(()=>I.provider,"getCurrentProviderName"),getCurrentModel:o(()=>I.model,"getCurrentModel"),getCurrentPermissionMode:o(()=>M,"getCurrentPermissionMode"),autoModeSettings:De,log:o((P,K)=>{console.log(P==="warn"?ce.yellow(K):ce.dim(K))},"log"),extraCollectors:[Rd]}),Oe=gd({getProvider:o(()=>O(I.provider),"getProvider"),getModel:o(()=>I.model??"","getModel")}),Q=`
212
+ ${X}`));for(let Ee of he)console.log(ce.dim(Ee));console.log()}),"guardSessionTransition"),Z=await lT(n??void 0),{resolveProvider:O}=await import("./dist-Y2HGGI7W.js"),E=O(I.provider),$=Z.contextWindow??E.getEffectiveContextWindow?.(I.model)??E.getContextWindow?.()??2e5,{loadAgentsFiles:be}=await import("./dist-Y2HGGI7W.js"),de=o(async()=>be({cwd:process.cwd(),projectRoot:S.gitRoot??void 0}),"reloadAgentsFiles"),G=await de();hE(I,I.permissionMode,{contextWindow:$,triggerPercent:Z.triggerPercent,enabled:Z.enabled},G),mE(t);let me=PT(()=>S.gitRoot??process.cwd()),ye=gE.createInterface({input:process.stdin,output:process.stdout,terminal:process.stdout.isTTY??!0,historySize:100,completer:o((P,K)=>{me(P).then(X=>{K(null,X)}).catch(()=>{K(null,[[],P])})},"completer")}),De=kd(),Ce=await va({askUser:o(async(P,K,X)=>(await Vl(ye,P.name,{...P.input,...X&&X.length>0?{_classifierSignals:X}:{}},{permissionMode:M,reason:`[auto-mode] ${K}`})).confirmed?"allow":"block","askUser"),projectRoot:n??process.cwd(),getCurrentProviderName:o(()=>I.provider,"getCurrentProviderName"),getCurrentModel:o(()=>I.model,"getCurrentModel"),getCurrentPermissionMode:o(()=>M,"getCurrentPermissionMode"),autoModeSettings:De,log:o((P,K)=>{console.log(P==="warn"?ce.yellow(K):ce.dim(K))},"log"),extraCollectors:[Rd]}),Oe=gd({getProvider:o(()=>O(I.provider),"getProvider"),getModel:o(()=>I.model??"","getModel")}),Q=`
213
213
  Keyboard Shortcuts:
214
214
  Tab Auto-complete (@paths, /commands)
215
215
  Esc+Esc Edit last message