@kodax-ai/kodax 0.7.54 → 0.7.56

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 (59) hide show
  1. package/CHANGELOG.md +1887 -1855
  2. package/README.md +1 -1
  3. package/README_CN.md +1 -1
  4. package/dist/builtin/skill-creator/scripts/utils.js +5 -2
  5. package/dist/chunks/agent-MAAKRAF2.js +2 -0
  6. package/dist/chunks/argument-completer-OWEXGWNL.js +2 -0
  7. package/dist/chunks/{chunk-KSBSEPV5.js → chunk-4OHXHC2S.js} +4 -4
  8. package/dist/chunks/{chunk-EM4GOL3S.js → chunk-5YJIAP6C.js} +2 -2
  9. package/dist/chunks/{chunk-QQX333VC.js → chunk-7EAGBLRV.js} +1 -1
  10. package/dist/chunks/{chunk-7C2QUBLE.js → chunk-CDGOEK3T.js} +6 -6
  11. package/dist/chunks/{chunk-FV6KHPWT.js → chunk-DHETLULC.js} +121 -121
  12. package/dist/chunks/{chunk-AMFPS2WC.js → chunk-JCDO2FR4.js} +63 -63
  13. package/dist/chunks/{chunk-JEQ62ZMK.js → chunk-NZVJ3DFC.js} +201 -196
  14. package/dist/chunks/chunk-QI3MRJGU.js +5 -0
  15. package/dist/chunks/chunk-XXQ3RLA2.js +2 -0
  16. package/dist/chunks/{chunk-UHNSW2SR.js → chunk-ZBK3DZ3S.js} +1 -1
  17. package/dist/chunks/{compaction-config-HY46N24Q.js → compaction-config-NAJEEPG5.js} +1 -1
  18. package/dist/chunks/{construction-bootstrap-AVTILHEH.js → construction-bootstrap-EDDVNP2B.js} +1 -1
  19. package/dist/chunks/dist-2267YGB5.js +2 -0
  20. package/dist/chunks/dist-GW32CHO5.js +2 -0
  21. package/dist/chunks/paste-5IDBBQQ3.js +2 -0
  22. package/dist/chunks/utils-J7XBBZGB.js +2 -0
  23. package/dist/index.d.ts +12 -11
  24. package/dist/index.js +2 -2
  25. package/dist/kodax_cli.js +944 -939
  26. package/dist/provider-capabilities.json +2 -0
  27. package/dist/sdk-agent.d.ts +9 -8
  28. package/dist/sdk-agent.js +1 -1
  29. package/dist/sdk-coding.d.ts +3096 -3010
  30. package/dist/sdk-coding.js +1 -1
  31. package/dist/sdk-llm.d.ts +10 -5
  32. package/dist/sdk-llm.js +1 -1
  33. package/dist/sdk-mcp.js +1 -1
  34. package/dist/sdk-media.d.ts +99 -0
  35. package/dist/sdk-media.js +2 -0
  36. package/dist/sdk-repl.d.ts +11 -10
  37. package/dist/sdk-repl.js +1 -1
  38. package/dist/sdk-session.d.ts +6 -5
  39. package/dist/sdk-session.js +1 -1
  40. package/dist/sdk-skills.js +1 -1
  41. package/dist/types-chunks/base.d-CwPfI8WQ.d.ts +271 -0
  42. package/dist/types-chunks/{bash-prefix-extractor.d-CBLoD2Jk.d.ts → bash-prefix-extractor.d-DZF1gDDz.d.ts} +16 -10
  43. package/dist/types-chunks/{capsule.d-CNonpwAZ.d.ts → capsule.d-D0kjnqYy.d.ts} +3 -3
  44. package/dist/types-chunks/{guardrail.d-B18oO1gt.d.ts → guardrail.d-DQQknOfb.d.ts} +3 -3
  45. package/dist/types-chunks/{process.d-Bj82oJhD.d.ts → process.d-BdiIUr8T.d.ts} +1 -1
  46. package/dist/types-chunks/{resolver.d-CCX9NXWP.d.ts → resolver.d-Djq8KlCE.d.ts} +2 -1
  47. package/dist/types-chunks/{sdk-session-DrPxcDuO.d.ts → sdk-session-BP6ZNpOp.d.ts} +4 -4
  48. package/dist/types-chunks/{storage.d-DoA3NvdD.d.ts → storage.d-CkydxFsV.d.ts} +2 -2
  49. package/dist/types-chunks/{base.d-BBNUF9nz.d.ts → types.d-BJmoMf5H.d.ts} +1 -269
  50. package/dist/types-chunks/{types.d-D4jL-gAA.d.ts → types.d-BKuHSiR0.d.ts} +1 -1
  51. package/dist/types-chunks/{utils.d-DSqmMq7l.d.ts → utils.d-bC97IuQZ.d.ts} +5 -5
  52. package/package.json +5 -1
  53. package/dist/chunks/agent-5FZH3VUN.js +0 -2
  54. package/dist/chunks/argument-completer-VURFBB37.js +0 -2
  55. package/dist/chunks/chunk-EVIDQWMF.js +0 -5
  56. package/dist/chunks/dist-BNKIZRCP.js +0 -2
  57. package/dist/chunks/dist-EV5MWJQ6.js +0 -2
  58. package/dist/chunks/paste-5DSTHQGK.js +0 -2
  59. package/dist/chunks/utils-ZUC3AIL5.js +0 -2
package/README.md CHANGED
@@ -31,7 +31,7 @@
31
31
  </p>
32
32
 
33
33
  <p align="center">
34
- <img src="kodax.gif" alt="KodaX in action" width="880">
34
+ <img src="kodax-hd.gif" alt="KodaX in action" width="880">
35
35
  </p>
36
36
 
37
37
  ---
package/README_CN.md CHANGED
@@ -31,7 +31,7 @@
31
31
  </p>
32
32
 
33
33
  <p align="center">
34
- <img src="kodax.gif" alt="KodaX 实战演示" width="880">
34
+ <img src="kodax-hd.gif" alt="KodaX 实战演示" width="880">
35
35
  </p>
36
36
 
37
37
  ---
@@ -48,9 +48,12 @@ export async function loadKodaXSDK() {
48
48
  }
49
49
  errors.push(`relative SDK path not found: ${relSdkPath}`);
50
50
 
51
- // Strategy 2: bare-name canonical (dev monorepo / rare edge-case fallback)
51
+ // Strategy 2: bare-name canonical (dev monorepo / rare edge-case fallback).
52
+ // Keep the specifier computed so Vite does not resolve the root package
53
+ // during test collection before the root dist entry exists.
52
54
  try {
53
- _cachedSdk = await import('@kodax-ai/kodax');
55
+ const packageName = ['@kodax-ai', 'kodax'].join('/');
56
+ _cachedSdk = await import(packageName);
54
57
  return _cachedSdk;
55
58
  } catch (err) {
56
59
  errors.push(`bare-name @kodax-ai/kodax failed: ${err?.code ?? err?.message}`);
@@ -0,0 +1,2 @@
1
+ // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
+ import{Pb as c,Qb as d,Rb as e,Sb as f,kc as g,lc as h,pd as i,ud as j}from"./chunk-NZVJ3DFC.js";import"./chunk-QI3MRJGU.js";import"./chunk-CDGOEK3T.js";import{jb as a,kb as b}from"./chunk-JCDO2FR4.js";import"./chunk-V4WSBIXB.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{wa as a,xa as b}from"./chunk-5YJIAP6C.js";import"./chunk-7EAGBLRV.js";import"./chunk-ZBK3DZ3S.js";import"./chunk-DHETLULC.js";import"./chunk-NZVJ3DFC.js";import"./chunk-QI3MRJGU.js";import"./chunk-CDGOEK3T.js";import"./chunk-JCDO2FR4.js";import"./chunk-V4WSBIXB.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 Up,A as uS,Aa as AS,B as Zi,Ba as _S,C as fu,D as dS,E as Wa,F as Np,G as pS,H as Bp,I as jo,J as Hp,K as Fa,L as Wp,M as Fp,N as mS,O as hS,P as es,Q as gS,R as Uo,T as ts,U as pu,V as yS,W as ja,X as cr,Y as jp,Z as Ua,_ as ns,a as ar,aa as xS,b as H,ba as SS,ca as wS,d as cn,da as TS,e as Op,ea as mu,fa as hu,g as ln,ga as Ga,h as Oa,ha as gu,i as su,ia as yu,j as Bo,ja as xu,k as Da,ka as CS,la as bS,m as Na,ma as IS,n as no,na as Gp,o as cS,oa as vS,p as ro,pa as RS,q as Ba,qa as kS,ra as ES,s as Ha,t as lS,ta as rs,ua as os,va as Vp,wa as MS,x as Fo,y as uu,ya as Kp,z as du,za as Su}from"./chunk-EM4GOL3S.js";import{a as oe,c as Ho,j as Ji,k as Pn,m as au,p as aS,r as cu,x as Dp,y as lu,z as Wo}from"./chunk-QQX333VC.js";import{a as fS}from"./chunk-UHNSW2SR.js";import{n as LS,o as PS,p as $S}from"./chunk-EVIDQWMF.js";import{Ba as iS,C as Zx,D as $a,Ea as ru,Q as eS,R as tS,T as $p,U as nS,V as rS,ab as sS,c as Ap,fa as oS,pb as ou,qb as iu}from"./chunk-FV6KHPWT.js";import{$ as tu,Ia as Xx,Ja as Pp,Ka as Yx,Td as nu,Va as qx,Wd as Jx,a as Pa,b as Bx,g as Lp,ma as zx,mb as Qx}from"./chunk-JEQ62ZMK.js";import{S as zl,ca as Dx,ea as Mp,fa as Nx,j as Kl,sa as La}from"./chunk-7C2QUBLE.js";import{Ka as _p,Ld as Zl,Mc as Gx,Md as eu,Na as Ln,Nc as ql,Xc as Vi,db as Wx,dd as qt,fd as $t,hd as Ki,ib as Yl,id as zi,jd as Vx,k as Xl,kb as Fx,ld as Xi,md as Yi,nd as qi,od as Ql,pd as No,qd as Kx,ub as jx,va as Hx,vb as Ux,wa as Gi,xd as Jl,yd as Qi}from"./chunk-AMFPS2WC.js";import{a as o}from"./chunk-V4WSBIXB.js";import{spawnSync as Ok}from"node:child_process";function wu(e){return e==="1"||e?.toLowerCase()==="true"}o(wu,"isTruthyEnv");function OS(e){return e==="0"||e?.toLowerCase()==="false"}o(OS,"isFalseyEnv");function is(e=process.env){return e.TERM_PROGRAM?.toLowerCase()==="vscode"||!!e.VSCODE_GIT_IPC_HANDLE||!!e.VSCODE_INJECTION}o(is,"isVsCodeTerminalHostEnv");function ss(e={}){let t=e.env??process.env;return(e.platform??process.platform)==="win32"||!!t.WT_SESSION}o(ss,"hasCursorUpViewportYankRisk");function Dk(e){return!!(e.SSH_CONNECTION||e.SSH_CLIENT||e.SSH_TTY)}o(Dk,"isSshSession");function Va(e={}){let t=e.env??process.env;return wu(t.KODAX_FULLSCREEN)?!1:(e.platform??process.platform)==="win32"&&Dk(t)}o(Va,"isRemoteConptyHost");function as(e={}){let t=e.env??process.env;return ss(e)||is(t)}o(as,"hasMainScreenRenderScrollRisk");function Nk(e){if(!e.TMUX||e.TERM_PROGRAM!=="iTerm.app")return!1;let t=e.TERM??"";return!t.startsWith("screen")&&!t.startsWith("tmux")}o(Nk,"isTmuxControlModeEnvHeuristic");var Lr;function Ka(e={}){if(typeof e.tmuxControlMode=="boolean")return e.tmuxControlMode;let t=e.env??process.env,n=e.platform??process.platform;if(n==="win32")return!1;if(Nk(t))return!0;if(!(t===process.env&&n===process.platform))return!1;if(Lr!==void 0||(Lr=!1,!t.TMUX)||t.TERM_PROGRAM&&t.TERM_PROGRAM!=="iTerm.app")return Lr;try{let i=Ok("tmux",["display-message","-p","#{client_control_mode}"],{encoding:"utf8",timeout:2e3});i.status===0&&(Lr=i.stdout.trim()==="1")}catch{Lr=!1}return Lr}o(Ka,"isTmuxControlMode");function zp(){Lr=void 0}o(zp,"resetTmuxControlModeProbeForTesting");function Go(e={}){let t=e.env??process.env,n=e.isTTY??process.stdout.isTTY===!0,r=e.rawModeSupported??(process.stdin.isTTY===!0&&typeof process.stdin.setRawMode=="function");return!n||!r||t.TERM==="dumb"||t.CI==="true"?"unsupported_control_host":Ka(e)?"tmux_control_mode":is(t)?"xtermjs_host":Va(e)?"remote_conpty_host":ss(e)?"degraded_vt":"native_vt"}o(Go,"detectTerminalRenderHost");var Vo=Go;function cs(e={}){let t=e.env??process.env;if(wu(t.KODAX_FORCE_INK))return"legacy";let n=t.KODAX_TUI_RENDERER?.trim().toLowerCase();return n==="legacy"||n==="owned"||n==="auto"?n:"auto"}o(cs,"resolveConfiguredTuiRendererMode");function Ko(e={}){let t=cs(e);if(t==="legacy"||t==="owned")return t;let n=Go(e);return n==="unsupported_control_host"||n==="tmux_control_mode"?"legacy":"owned"}o(Ko,"resolveEffectiveTuiRendererMode");function Tu(e={}){let t=e.env??process.env;if(wu(t.KODAX_FORCE_CLASSIC_REPL))return"classic";let n=cs({env:t});if(n==="legacy"||n==="owned")return"ink";let r=Go(e);return r==="unsupported_control_host"||r==="tmux_control_mode"?"classic":"ink"}o(Tu,"resolveInteractiveSurfacePreference");var Bk={enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!0},DS={enabled:!0,promptShell:"main-screen",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!1,transcriptSpinnerAnimation:!0};function zo(e,t="owned",n={}){let r=n.env??process.env;return OS(r.KODAX_FULLSCREEN)?t==="owned"&&e!=="tmux_control_mode"&&e!=="unsupported_control_host"?DS:Bk:Hk(e,t)}o(zo,"resolveFullscreenPolicy");function Hk(e,t){if(t==="legacy")switch(e){case"native_vt":return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!0,transcriptSpinnerAnimation:!0};case"xtermjs_host":case"degraded_vt":case"remote_conpty_host":return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1};default:return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1}}switch(e){case"native_vt":return{enabled:!0,promptShell:"virtual",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!0,transcriptSpinnerAnimation:!0};case"xtermjs_host":return{enabled:!0,promptShell:"virtual",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!0,transcriptSpinnerAnimation:!0};case"degraded_vt":return{enabled:!0,promptShell:"virtual",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!0,transcriptSpinnerAnimation:!0};case"remote_conpty_host":return DS;default:return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1}}}o(Hk,"buildFullscreenPolicy");function ls(e,t={}){let n=t.rendererMode??"owned",r=zo(e,n,{env:t.env}),i=e!=="unsupported_control_host"&&e!=="tmux_control_mode";return{profile:e,ownsViewportByDefault:r.enabled&&r.promptShell==="virtual",supportsMouseTracking:r.mouseWheel||r.mouseClicks,bufferingMode:r.streamingPreview?"live":"buffered-fallback",supportsFullscreenLayout:r.enabled,supportsOverlaySurface:r.enabled,supportsSelection:i,supportsCopyOnSelect:!1,supportsWheelHistory:r.mouseWheel,supportsViewportChrome:r.enabled,supportsSearchViewport:r.enabled,supportsStickyPrompt:r.enabled}}o(ls,"getTerminalHostCapabilities");function Cu(e={}){return Ko(e)==="owned"}o(Cu,"isOwnedRendererPreferred");function bu(e={}){let t=e.env??process.env;return wu(t.KODAX_FORCE_CLASSIC_REPL)&&!OS(t.KODAX_FORCE_CLASSIC_REPL)}o(bu,"isClassicReplForced");var us=class{static{o(this,"LRUCache")}capacity;cache;constructor(t){this.capacity=t,this.cache=new Map}get(t){if(!this.cache.has(t))return;let n=this.cache.get(t);return this.cache.delete(t),this.cache.set(t,n),n}set(t,n){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.capacity){let r=this.cache.keys().next().value;r!==void 0&&this.cache.delete(r)}this.cache.set(t,n)}has(t){return this.cache.has(t)}delete(t){return this.cache.delete(t)}clear(){this.cache.clear()}get size(){return this.cache.size}},Xp=1,Yp=2,Wk=1e3,NS;function Iu(){if(!(typeof Intl>"u"||typeof Intl.Segmenter!="function"))return NS??=new Intl.Segmenter("en",{granularity:"grapheme"}),NS}o(Iu,"getGraphemeSegmenter");function vn(e){if(!e)return 0;let t=Iu();if(t){let n=0;for(let r of t.segment(e))n++;return n}return[...e].length}o(vn,"getCodePointLength");function lr(e){if(!e)return!1;let t=e.codePointAt(0);return t===void 0?!1:t>=19968&&t<=40959||t>=13312&&t<=19903||t>=63744&&t<=64255||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=44032&&t<=55215||t>=12288&&t<=12351||t>=65280&&t<=65519||t>=128512&&t<=128591||t>=127744&&t<=128511||t>=128640&&t<=128767||t>=127456&&t<=127487||t>=9728&&t<=9983||t>=9984&&t<=10175||t>=129280&&t<=129535||t>=129536&&t<=129647||t>=129648&&t<=129791}o(lr,"isWideChar");function ur(e){if(!e)return 0;let t=0,n=Iu();if(n)for(let r of n.segment(e))t+=lr(r.segment)?Yp:Xp;else for(let r of e)t+=lr(r)?Yp:Xp;return t}o(ur,"getVisualWidth");function Fk(e,t){if(!e||t<0)return"";let n=Iu();if(n){let i=0;for(let s of n.segment(e)){if(i===t)return s.segment;i++}return""}let r=[...e];return t>=r.length?"":r[t]}o(Fk,"getCharAtCodePoint");function un(e){if(!e)return[];let t=Iu();if(t){let n=[];for(let r of t.segment(e))n.push(r.segment);return n}return[...e]}o(un,"splitByCodePoints");function jk(e,t,n){return un(e).slice(t,n).join("")}o(jk,"sliceByCodePoints");function BS(e,t){let n=Math.max(0,t),r=un(e),i=0,s=0;for(;i<r.length;){let a=lr(r[i])?Yp:Xp;if(s+a>n)break;s+=a,i++}return{before:r.slice(0,i).join(""),current:r[i]??"",after:r.slice(i+1).join("")}}o(BS,"splitAtVisualColumn");function za(e,t,n=!1){if(!e||t<=0)return"";let r="\u2026",s=n?t-1:t,a="",c=0,l=un(e);for(let d of l){let f=lr(d)?2:1;if(c+f>s)break;a+=d,c+=f}return n&&a.length<e.length&&(a+=r),a}o(za,"truncateByVisualWidth");var qp=new us(Wk);function Qp(e){let t=qp.get(e);if(t!==void 0)return t;let n=ur(e);return qp.set(e,n),n}o(Qp,"getVisualWidthCached");function dn(e,t,n,r){let i=[],s=[],a=[];for(let c=0;c<e.length;c++){let l=e[c]||"";if(s[c]=[],l.length===0){i.push("");let p=i.length-1;s[c].push([p,0]),a.push([c,0]);continue}let d=0,f=un(l);for(;d<f.length;){let p="",m=0,h=d,w=-1;for(let T=d;T<f.length;T++){let S=f[T],C=lr(S)?2:1;if(m+C>t){w>=0&&T-d>0?(p=f.slice(d,w).join(""),m=f.slice(d,w).reduce((M,E)=>M+(lr(E)?2:1),0),h=w):p.length===0&&C>t&&(p=S,m=C,h=T+1);break}p+=S,m+=C,h=T+1,S===" "&&(w=T+1)}if(p.length>0||i.length===0){let T=d,S=i.length;i.push(p),s[c].push([S,T]),a.push([c,T])}d=h}}return{visualLines:i,logicalToVisualMap:s,visualToLogicalMap:a}}o(dn,"calculateVisualLayout");function Jp(e,t){let{logicalToVisualMap:n,visualLines:r}=e;if(r.length===0)return[0,0];let[i,s]=t,a=n[i];if(!a||a.length===0)return[0,0];let c;for(let[h,w]of a)if(w<=s)c=[h,w];else break;let[l,d]=c??a[0],f=r[l]??"",p=Math.max(0,s-d),m=ur(jk(f,0,p));return[l,m]}o(Jp,"calculateVisualCursorFromLayout");var Zp={name:"dark",colors:{primary:"#01A4FF",secondary:"#8B5CF6",accent:"#F59E0B",text:"#CCCCCC",dim:"#666666",thinking:"#A3ADC2",success:"#19C37D",warning:"#FF9F43",error:"#FF5F56",info:"#01A4FF",hint:"#8B5CF6",background:"#0D0D0D",inputBackground:"#1A1A1A"},symbols:{prompt:">",success:"\u2713",error:"\u2717",warning:"!",spinner:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]}},HS={name:"minimal",colors:{primary:"#01A4FF",secondary:"#8B5CF6",accent:"#F59E0B",text:"#CCCCCC",dim:"#666666",thinking:"#A3ADC2",success:"#19C37D",warning:"#FF9F43",error:"#FF5F56",info:"#01A4FF",hint:"#8B5CF6",background:"#0D0D0D",inputBackground:"#1A1A1A"},symbols:{prompt:"$",success:"+",error:"-",warning:"?",spinner:["-","\\","|","/"]}};var WS={dark:Zp,minimal:HS};function ne(e="dark"){return WS[e]??Zp}o(ne,"getTheme");function OB(){return Object.keys(WS)}o(OB,"getThemeNames");import{jsx as mn,jsxs as On,Fragment as JA}from"react/jsx-runtime";import{useMemo as rd}from"react";import{jsx as xT}from"react/jsx-runtime";import{createContext as kA,useContext as Jo,useEffect as ws,useMemo as yT,useState as EA,useCallback as ST,useRef as Xu}from"react";import{Stream as rA}from"node:stream";import{openSync as oA,writeSync as iT}from"node:fs";import{performance as iA}from"node:perf_hooks";import{tmpdir as sA}from"node:os";import{join as aA}from"node:path";import em,{forwardRef as Vk,useContext as Kk}from"react";import{createContext as Uk}from"react";var ds=Uk({isScreenReaderEnabled:!1});import{createContext as Gk}from"react";var vu=Gk(void 0);var FS=Vk(({children:e,backgroundColor:t,"aria-label":n,"aria-hidden":r,"aria-role":i,"aria-state":s,...a},c)=>{let{isScreenReaderEnabled:l}=Kk(ds),d=n?em.createElement("ink-text",null,n):void 0;if(l&&r)return null;let f=em.createElement("ink-box",{ref:c,style:{flexWrap:"nowrap",flexDirection:"row",flexGrow:0,flexShrink:1,...a,backgroundColor:t,overflowX:a.overflowX??a.overflow??"visible",overflowY:a.overflowY??a.overflow??"visible"},internal_accessibility:{role:i,state:s}},l&&d?d:e);return t?em.createElement(vu.Provider,{value:t},f):f});FS.displayName="Box";var $n=FS;import qk,{useContext as jS}from"react";import fs from"chalk";import oo from"chalk";var zk=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,Xk=/^ansi256\(\s?(\d+)\s?\)$/;function Yk(e){return e in oo}o(Yk,"isNamedColor");function Yn(e,t,n){if(!t)return e;if(Yk(t)){let r=oo;if(n==="foreground")return r[t]?.(e)??e;let i=`bg${t[0].toUpperCase()+t.slice(1)}`;return r[i]?.(e)??e}if(t.startsWith("#"))return n==="foreground"?oo.hex(t)(e):oo.bgHex(t)(e);if(t.startsWith("ansi256")){let r=Xk.exec(t);if(!r)return e;let i=Number(r[1]);return n==="foreground"?oo.ansi256(i)(e):oo.bgAnsi256(i)(e)}if(t.startsWith("rgb")){let r=zk.exec(t);if(!r)return e;let i=Number(r[1]),s=Number(r[2]),a=Number(r[3]);return n==="foreground"?oo.rgb(i,s,a)(e):oo.bgRgb(i,s,a)(e)}return e}o(Yn,"colorize");function fn({color:e,backgroundColor:t,dimColor:n=!1,bold:r=!1,italic:i=!1,underline:s=!1,strikethrough:a=!1,inverse:c=!1,wrap:l="wrap",children:d,"aria-label":f,"aria-hidden":p=!1,internal_cursorAnchor:m=!1}){let{isScreenReaderEnabled:h}=jS(ds),w=jS(vu),T=h&&f?f:d;if(T==null)return null;let S=o(C=>{let M=C;n&&(M=fs.dim(M)),e&&(M=Yn(M,e,"foreground"));let E=t??w;return E&&(M=Yn(M,E,"background")),r&&(M=fs.bold(M)),i&&(M=fs.italic(M)),s&&(M=fs.underline(M)),a&&(M=fs.strikethrough(M)),c&&(M=fs.inverse(M)),M},"transform");return h&&p?null:qk.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:l},internal_transform:S,...m?{internal_cursorAnchor:!0}:{}},h&&f?f:d)}o(fn,"Text");import Qk,{useLayoutEffect as Jk,useMemo as US,useState as Zk}from"react";function tm({items:e,children:t,style:n}){let[r,i]=Zk(0),s=US(()=>e.slice(r),[e,r]);Jk(()=>{i(e.length)},[e.length]);let a=s.map((l,d)=>t(l,r+d)),c=US(()=>({position:"absolute",flexDirection:"column",...n}),[n]);return Qk.createElement("ink-box",{internal_static:!0,style:c},a)}o(tm,"Static");import qo from"node:process";import nT from"react";import{throttle as BM}from"es-toolkit/compat";import pn from"ansi-escapes";import Hr from"is-in-ci";import HM from"auto-bind";import{onExit as WM}from"signal-exit";import FM from"patch-console";import{LegacyRoot as jM,ConcurrentRoot as UM}from"react-reconciler/constants.js";import GM from"yoga-layout";import VM from"wrap-ansi";import KM from"terminal-size";import eE from"node:process";var Ru=o(()=>eE.env.DEV==="true","isDev");import kE from"react-reconciler";import{DefaultEventPriority as EE,NoEventPriority as iw}from"react-reconciler/constants.js";import*as io from"scheduler";import tw from"yoga-layout";import{createContext as ME}from"react";import hE from"yoga-layout";import tE from"widest-line";var GS=new Map,nE=o(e=>{if(e.length===0)return{width:0,height:0};let t=GS.get(e);if(t)return t;let n=tE(e),r=e.split(`
2
+ import{e as LS,f as PS,g as $S}from"./chunk-XXQ3RLA2.js";import{$ as Up,A as uS,Aa as AS,B as Zi,Ba as _S,C as fu,D as dS,E as Wa,F as Np,G as pS,H as Bp,I as jo,J as Hp,K as Fa,L as Wp,M as Fp,N as mS,O as hS,P as es,Q as gS,R as Uo,T as ts,U as pu,V as yS,W as ja,X as cr,Y as jp,Z as Ua,_ as ns,a as ar,aa as xS,b as H,ba as SS,ca as wS,d as cn,da as TS,e as Op,ea as mu,fa as hu,g as ln,ga as Ga,h as Oa,ha as gu,i as su,ia as yu,j as Bo,ja as xu,k as Da,ka as CS,la as bS,m as Na,ma as IS,n as no,na as Gp,o as cS,oa as vS,p as ro,pa as RS,q as Ba,qa as kS,ra as ES,s as Ha,t as lS,ta as rs,ua as os,va as Vp,wa as MS,x as Fo,y as uu,ya as Kp,z as du,za as Su}from"./chunk-5YJIAP6C.js";import{a as oe,c as Ho,j as Ji,k as Pn,m as au,p as aS,r as cu,x as Dp,y as lu,z as Wo}from"./chunk-7EAGBLRV.js";import{a as fS}from"./chunk-ZBK3DZ3S.js";import{Ba as iS,C as Zx,D as $a,Ea as ru,Q as eS,R as tS,T as $p,U as nS,V as rS,ab as sS,c as Ap,fa as oS,pb as ou,qb as iu}from"./chunk-DHETLULC.js";import{$ as tu,Ia as Xx,Ja as Pp,Ka as Yx,Ud as nu,Va as qx,Xd as Jx,a as Pa,b as Bx,g as Lp,ma as zx,mb as Qx}from"./chunk-NZVJ3DFC.js";import{S as zl,ca as Dx,ea as Mp,fa as Nx,j as Kl,sa as La}from"./chunk-CDGOEK3T.js";import{Ka as _p,Ld as Zl,Mc as Gx,Md as eu,Na as Ln,Nc as ql,Xc as Vi,db as Wx,dd as qt,fd as $t,hd as Ki,ib as Yl,id as zi,jd as Vx,k as Xl,kb as Fx,ld as Xi,md as Yi,nd as qi,od as Ql,pd as No,qd as Kx,ub as jx,va as Hx,vb as Ux,wa as Gi,xd as Jl,yd as Qi}from"./chunk-JCDO2FR4.js";import{a as o}from"./chunk-V4WSBIXB.js";import{spawnSync as Ok}from"node:child_process";function wu(e){return e==="1"||e?.toLowerCase()==="true"}o(wu,"isTruthyEnv");function OS(e){return e==="0"||e?.toLowerCase()==="false"}o(OS,"isFalseyEnv");function is(e=process.env){return e.TERM_PROGRAM?.toLowerCase()==="vscode"||!!e.VSCODE_GIT_IPC_HANDLE||!!e.VSCODE_INJECTION}o(is,"isVsCodeTerminalHostEnv");function ss(e={}){let t=e.env??process.env;return(e.platform??process.platform)==="win32"||!!t.WT_SESSION}o(ss,"hasCursorUpViewportYankRisk");function Dk(e){return!!(e.SSH_CONNECTION||e.SSH_CLIENT||e.SSH_TTY)}o(Dk,"isSshSession");function Va(e={}){let t=e.env??process.env;return wu(t.KODAX_FULLSCREEN)?!1:(e.platform??process.platform)==="win32"&&Dk(t)}o(Va,"isRemoteConptyHost");function as(e={}){let t=e.env??process.env;return ss(e)||is(t)}o(as,"hasMainScreenRenderScrollRisk");function Nk(e){if(!e.TMUX||e.TERM_PROGRAM!=="iTerm.app")return!1;let t=e.TERM??"";return!t.startsWith("screen")&&!t.startsWith("tmux")}o(Nk,"isTmuxControlModeEnvHeuristic");var Lr;function Ka(e={}){if(typeof e.tmuxControlMode=="boolean")return e.tmuxControlMode;let t=e.env??process.env,n=e.platform??process.platform;if(n==="win32")return!1;if(Nk(t))return!0;if(!(t===process.env&&n===process.platform))return!1;if(Lr!==void 0||(Lr=!1,!t.TMUX)||t.TERM_PROGRAM&&t.TERM_PROGRAM!=="iTerm.app")return Lr;try{let i=Ok("tmux",["display-message","-p","#{client_control_mode}"],{encoding:"utf8",timeout:2e3});i.status===0&&(Lr=i.stdout.trim()==="1")}catch{Lr=!1}return Lr}o(Ka,"isTmuxControlMode");function zp(){Lr=void 0}o(zp,"resetTmuxControlModeProbeForTesting");function Go(e={}){let t=e.env??process.env,n=e.isTTY??process.stdout.isTTY===!0,r=e.rawModeSupported??(process.stdin.isTTY===!0&&typeof process.stdin.setRawMode=="function");return!n||!r||t.TERM==="dumb"||t.CI==="true"?"unsupported_control_host":Ka(e)?"tmux_control_mode":is(t)?"xtermjs_host":Va(e)?"remote_conpty_host":ss(e)?"degraded_vt":"native_vt"}o(Go,"detectTerminalRenderHost");var Vo=Go;function cs(e={}){let t=e.env??process.env;if(wu(t.KODAX_FORCE_INK))return"legacy";let n=t.KODAX_TUI_RENDERER?.trim().toLowerCase();return n==="legacy"||n==="owned"||n==="auto"?n:"auto"}o(cs,"resolveConfiguredTuiRendererMode");function Ko(e={}){let t=cs(e);if(t==="legacy"||t==="owned")return t;let n=Go(e);return n==="unsupported_control_host"||n==="tmux_control_mode"?"legacy":"owned"}o(Ko,"resolveEffectiveTuiRendererMode");function Tu(e={}){let t=e.env??process.env;if(wu(t.KODAX_FORCE_CLASSIC_REPL))return"classic";let n=cs({env:t});if(n==="legacy"||n==="owned")return"ink";let r=Go(e);return r==="unsupported_control_host"||r==="tmux_control_mode"?"classic":"ink"}o(Tu,"resolveInteractiveSurfacePreference");var Bk={enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!0},DS={enabled:!0,promptShell:"main-screen",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!1,transcriptSpinnerAnimation:!0};function zo(e,t="owned",n={}){let r=n.env??process.env;return OS(r.KODAX_FULLSCREEN)?t==="owned"&&e!=="tmux_control_mode"&&e!=="unsupported_control_host"?DS:Bk:Hk(e,t)}o(zo,"resolveFullscreenPolicy");function Hk(e,t){if(t==="legacy")switch(e){case"native_vt":return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!0,transcriptSpinnerAnimation:!0};case"xtermjs_host":case"degraded_vt":case"remote_conpty_host":return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1};default:return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1}}switch(e){case"native_vt":return{enabled:!0,promptShell:"virtual",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!0,transcriptSpinnerAnimation:!0};case"xtermjs_host":return{enabled:!0,promptShell:"virtual",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!0,transcriptSpinnerAnimation:!0};case"degraded_vt":return{enabled:!0,promptShell:"virtual",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!0,transcriptSpinnerAnimation:!0};case"remote_conpty_host":return DS;default:return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1}}}o(Hk,"buildFullscreenPolicy");function ls(e,t={}){let n=t.rendererMode??"owned",r=zo(e,n,{env:t.env}),i=e!=="unsupported_control_host"&&e!=="tmux_control_mode";return{profile:e,ownsViewportByDefault:r.enabled&&r.promptShell==="virtual",supportsMouseTracking:r.mouseWheel||r.mouseClicks,bufferingMode:r.streamingPreview?"live":"buffered-fallback",supportsFullscreenLayout:r.enabled,supportsOverlaySurface:r.enabled,supportsSelection:i,supportsCopyOnSelect:!1,supportsWheelHistory:r.mouseWheel,supportsViewportChrome:r.enabled,supportsSearchViewport:r.enabled,supportsStickyPrompt:r.enabled}}o(ls,"getTerminalHostCapabilities");function Cu(e={}){return Ko(e)==="owned"}o(Cu,"isOwnedRendererPreferred");function bu(e={}){let t=e.env??process.env;return wu(t.KODAX_FORCE_CLASSIC_REPL)&&!OS(t.KODAX_FORCE_CLASSIC_REPL)}o(bu,"isClassicReplForced");var us=class{static{o(this,"LRUCache")}capacity;cache;constructor(t){this.capacity=t,this.cache=new Map}get(t){if(!this.cache.has(t))return;let n=this.cache.get(t);return this.cache.delete(t),this.cache.set(t,n),n}set(t,n){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.capacity){let r=this.cache.keys().next().value;r!==void 0&&this.cache.delete(r)}this.cache.set(t,n)}has(t){return this.cache.has(t)}delete(t){return this.cache.delete(t)}clear(){this.cache.clear()}get size(){return this.cache.size}},Xp=1,Yp=2,Wk=1e3,NS;function Iu(){if(!(typeof Intl>"u"||typeof Intl.Segmenter!="function"))return NS??=new Intl.Segmenter("en",{granularity:"grapheme"}),NS}o(Iu,"getGraphemeSegmenter");function vn(e){if(!e)return 0;let t=Iu();if(t){let n=0;for(let r of t.segment(e))n++;return n}return[...e].length}o(vn,"getCodePointLength");function lr(e){if(!e)return!1;let t=e.codePointAt(0);return t===void 0?!1:t>=19968&&t<=40959||t>=13312&&t<=19903||t>=63744&&t<=64255||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=44032&&t<=55215||t>=12288&&t<=12351||t>=65280&&t<=65519||t>=128512&&t<=128591||t>=127744&&t<=128511||t>=128640&&t<=128767||t>=127456&&t<=127487||t>=9728&&t<=9983||t>=9984&&t<=10175||t>=129280&&t<=129535||t>=129536&&t<=129647||t>=129648&&t<=129791}o(lr,"isWideChar");function ur(e){if(!e)return 0;let t=0,n=Iu();if(n)for(let r of n.segment(e))t+=lr(r.segment)?Yp:Xp;else for(let r of e)t+=lr(r)?Yp:Xp;return t}o(ur,"getVisualWidth");function Fk(e,t){if(!e||t<0)return"";let n=Iu();if(n){let i=0;for(let s of n.segment(e)){if(i===t)return s.segment;i++}return""}let r=[...e];return t>=r.length?"":r[t]}o(Fk,"getCharAtCodePoint");function un(e){if(!e)return[];let t=Iu();if(t){let n=[];for(let r of t.segment(e))n.push(r.segment);return n}return[...e]}o(un,"splitByCodePoints");function jk(e,t,n){return un(e).slice(t,n).join("")}o(jk,"sliceByCodePoints");function BS(e,t){let n=Math.max(0,t),r=un(e),i=0,s=0;for(;i<r.length;){let a=lr(r[i])?Yp:Xp;if(s+a>n)break;s+=a,i++}return{before:r.slice(0,i).join(""),current:r[i]??"",after:r.slice(i+1).join("")}}o(BS,"splitAtVisualColumn");function za(e,t,n=!1){if(!e||t<=0)return"";let r="\u2026",s=n?t-1:t,a="",c=0,l=un(e);for(let d of l){let f=lr(d)?2:1;if(c+f>s)break;a+=d,c+=f}return n&&a.length<e.length&&(a+=r),a}o(za,"truncateByVisualWidth");var qp=new us(Wk);function Qp(e){let t=qp.get(e);if(t!==void 0)return t;let n=ur(e);return qp.set(e,n),n}o(Qp,"getVisualWidthCached");function dn(e,t,n,r){let i=[],s=[],a=[];for(let c=0;c<e.length;c++){let l=e[c]||"";if(s[c]=[],l.length===0){i.push("");let p=i.length-1;s[c].push([p,0]),a.push([c,0]);continue}let d=0,f=un(l);for(;d<f.length;){let p="",m=0,h=d,w=-1;for(let T=d;T<f.length;T++){let S=f[T],C=lr(S)?2:1;if(m+C>t){w>=0&&T-d>0?(p=f.slice(d,w).join(""),m=f.slice(d,w).reduce((M,E)=>M+(lr(E)?2:1),0),h=w):p.length===0&&C>t&&(p=S,m=C,h=T+1);break}p+=S,m+=C,h=T+1,S===" "&&(w=T+1)}if(p.length>0||i.length===0){let T=d,S=i.length;i.push(p),s[c].push([S,T]),a.push([c,T])}d=h}}return{visualLines:i,logicalToVisualMap:s,visualToLogicalMap:a}}o(dn,"calculateVisualLayout");function Jp(e,t){let{logicalToVisualMap:n,visualLines:r}=e;if(r.length===0)return[0,0];let[i,s]=t,a=n[i];if(!a||a.length===0)return[0,0];let c;for(let[h,w]of a)if(w<=s)c=[h,w];else break;let[l,d]=c??a[0],f=r[l]??"",p=Math.max(0,s-d),m=ur(jk(f,0,p));return[l,m]}o(Jp,"calculateVisualCursorFromLayout");var Zp={name:"dark",colors:{primary:"#01A4FF",secondary:"#8B5CF6",accent:"#F59E0B",text:"#CCCCCC",dim:"#666666",thinking:"#A3ADC2",success:"#19C37D",warning:"#FF9F43",error:"#FF5F56",info:"#01A4FF",hint:"#8B5CF6",background:"#0D0D0D",inputBackground:"#1A1A1A"},symbols:{prompt:">",success:"\u2713",error:"\u2717",warning:"!",spinner:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]}},HS={name:"minimal",colors:{primary:"#01A4FF",secondary:"#8B5CF6",accent:"#F59E0B",text:"#CCCCCC",dim:"#666666",thinking:"#A3ADC2",success:"#19C37D",warning:"#FF9F43",error:"#FF5F56",info:"#01A4FF",hint:"#8B5CF6",background:"#0D0D0D",inputBackground:"#1A1A1A"},symbols:{prompt:"$",success:"+",error:"-",warning:"?",spinner:["-","\\","|","/"]}};var WS={dark:Zp,minimal:HS};function ne(e="dark"){return WS[e]??Zp}o(ne,"getTheme");function OB(){return Object.keys(WS)}o(OB,"getThemeNames");import{jsx as mn,jsxs as On,Fragment as JA}from"react/jsx-runtime";import{useMemo as rd}from"react";import{jsx as xT}from"react/jsx-runtime";import{createContext as kA,useContext as Jo,useEffect as ws,useMemo as yT,useState as EA,useCallback as ST,useRef as Xu}from"react";import{Stream as rA}from"node:stream";import{openSync as oA,writeSync as iT}from"node:fs";import{performance as iA}from"node:perf_hooks";import{tmpdir as sA}from"node:os";import{join as aA}from"node:path";import em,{forwardRef as Vk,useContext as Kk}from"react";import{createContext as Uk}from"react";var ds=Uk({isScreenReaderEnabled:!1});import{createContext as Gk}from"react";var vu=Gk(void 0);var FS=Vk(({children:e,backgroundColor:t,"aria-label":n,"aria-hidden":r,"aria-role":i,"aria-state":s,...a},c)=>{let{isScreenReaderEnabled:l}=Kk(ds),d=n?em.createElement("ink-text",null,n):void 0;if(l&&r)return null;let f=em.createElement("ink-box",{ref:c,style:{flexWrap:"nowrap",flexDirection:"row",flexGrow:0,flexShrink:1,...a,backgroundColor:t,overflowX:a.overflowX??a.overflow??"visible",overflowY:a.overflowY??a.overflow??"visible"},internal_accessibility:{role:i,state:s}},l&&d?d:e);return t?em.createElement(vu.Provider,{value:t},f):f});FS.displayName="Box";var $n=FS;import qk,{useContext as jS}from"react";import fs from"chalk";import oo from"chalk";var zk=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,Xk=/^ansi256\(\s?(\d+)\s?\)$/;function Yk(e){return e in oo}o(Yk,"isNamedColor");function Yn(e,t,n){if(!t)return e;if(Yk(t)){let r=oo;if(n==="foreground")return r[t]?.(e)??e;let i=`bg${t[0].toUpperCase()+t.slice(1)}`;return r[i]?.(e)??e}if(t.startsWith("#"))return n==="foreground"?oo.hex(t)(e):oo.bgHex(t)(e);if(t.startsWith("ansi256")){let r=Xk.exec(t);if(!r)return e;let i=Number(r[1]);return n==="foreground"?oo.ansi256(i)(e):oo.bgAnsi256(i)(e)}if(t.startsWith("rgb")){let r=zk.exec(t);if(!r)return e;let i=Number(r[1]),s=Number(r[2]),a=Number(r[3]);return n==="foreground"?oo.rgb(i,s,a)(e):oo.bgRgb(i,s,a)(e)}return e}o(Yn,"colorize");function fn({color:e,backgroundColor:t,dimColor:n=!1,bold:r=!1,italic:i=!1,underline:s=!1,strikethrough:a=!1,inverse:c=!1,wrap:l="wrap",children:d,"aria-label":f,"aria-hidden":p=!1,internal_cursorAnchor:m=!1}){let{isScreenReaderEnabled:h}=jS(ds),w=jS(vu),T=h&&f?f:d;if(T==null)return null;let S=o(C=>{let M=C;n&&(M=fs.dim(M)),e&&(M=Yn(M,e,"foreground"));let E=t??w;return E&&(M=Yn(M,E,"background")),r&&(M=fs.bold(M)),i&&(M=fs.italic(M)),s&&(M=fs.underline(M)),a&&(M=fs.strikethrough(M)),c&&(M=fs.inverse(M)),M},"transform");return h&&p?null:qk.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:l},internal_transform:S,...m?{internal_cursorAnchor:!0}:{}},h&&f?f:d)}o(fn,"Text");import Qk,{useLayoutEffect as Jk,useMemo as US,useState as Zk}from"react";function tm({items:e,children:t,style:n}){let[r,i]=Zk(0),s=US(()=>e.slice(r),[e,r]);Jk(()=>{i(e.length)},[e.length]);let a=s.map((l,d)=>t(l,r+d)),c=US(()=>({position:"absolute",flexDirection:"column",...n}),[n]);return Qk.createElement("ink-box",{internal_static:!0,style:c},a)}o(tm,"Static");import qo from"node:process";import nT from"react";import{throttle as BM}from"es-toolkit/compat";import pn from"ansi-escapes";import Hr from"is-in-ci";import HM from"auto-bind";import{onExit as WM}from"signal-exit";import FM from"patch-console";import{LegacyRoot as jM,ConcurrentRoot as UM}from"react-reconciler/constants.js";import GM from"yoga-layout";import VM from"wrap-ansi";import KM from"terminal-size";import eE from"node:process";var Ru=o(()=>eE.env.DEV==="true","isDev");import kE from"react-reconciler";import{DefaultEventPriority as EE,NoEventPriority as iw}from"react-reconciler/constants.js";import*as io from"scheduler";import tw from"yoga-layout";import{createContext as ME}from"react";import hE from"yoga-layout";import tE from"widest-line";var GS=new Map,nE=o(e=>{if(e.length===0)return{width:0,height:0};let t=GS.get(e);if(t)return t;let n=tE(e),r=e.split(`
3
3
  `).length,i={width:n,height:r};return GS.set(e,i),i},"measureText"),nm=nE;import rE from"wrap-ansi";import oE from"cli-truncate";var VS={},iE=o((e,t,n)=>{let r=e+String(t)+String(n),i=VS[r];if(i)return i;let s=e;if(n==="wrap"&&(s=rE(e,t,{trim:!1,hard:!0})),n.startsWith("truncate")){let a="end";n==="truncate-middle"&&(a="middle"),n==="truncate-start"&&(a="start"),s=oE(e,t,{position:a})}return VS[r]=s,s},"wrapText"),ku=iE;var sE=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=63},"isCsiParameterCharacter"),aE=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isCsiIntermediateCharacter"),cE=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=64&&t<=126},"isCsiFinalCharacter"),XS=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isEscapeIntermediateCharacter"),lE=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=126},"isEscapeFinalCharacter"),YS=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=128&&t<=159},"isC1ControlCharacter"),KS=o((e,t)=>{let n=t;for(;n<e.length;){let c=e[n];if(!sE(c))break;n++}let r=e.slice(t,n),i=n;for(;n<e.length;){let c=e[n];if(!aE(c))break;n++}let s=e.slice(i,n),a=e[n];if(!(a===void 0||!cE(a)))return{endIndex:n+1,parameterString:r,intermediateString:s,finalCharacter:a}},"readCsiSequence"),zS=o((e,t,n)=>{for(let r=t;r<e.length;r++){let i=e[r];if(n&&i==="\x07"||i==="\x9C")return r+1;if(i==="\x1B"){let s=e[r+1];if(s==="\x1B"){r++;continue}if(s==="\\")return r+2}}},"findControlStringTerminatorIndex"),uE=o((e,t)=>{let n=t;for(;n<e.length;){let s=e[n];if(!XS(s))break;n++}let r=e.slice(t,n),i=e[n];if(!(i===void 0||!lE(i)))return{endIndex:n+1,intermediateString:r,finalCharacter:i}},"readEscapeSequence"),dE=o(e=>{switch(e){case"]":return{type:"osc",allowBellTerminator:!0};case"P":return{type:"dcs",allowBellTerminator:!1};case"^":return{type:"pm",allowBellTerminator:!1};case"_":return{type:"apc",allowBellTerminator:!1};case"X":return{type:"sos",allowBellTerminator:!1};default:return}},"getControlStringFromEscapeIntroducer"),fE=o(e=>{switch(e){case"\x9D":return{type:"osc",allowBellTerminator:!0};case"\x90":return{type:"dcs",allowBellTerminator:!1};case"\x9E":return{type:"pm",allowBellTerminator:!1};case"\x9F":return{type:"apc",allowBellTerminator:!1};case"\x98":return{type:"sos",allowBellTerminator:!1};default:return}},"getControlStringFromC1Introducer"),rm=o(e=>{if(e.includes("\x1B"))return!0;for(let t of e)if(YS(t))return!0;return!1},"hasAnsiControlCharacters"),ps=o((e,t,n,r)=>(r>n&&e.push({type:"text",value:t.slice(n,r)}),e.push({type:"invalid",value:t.slice(r)}),e),"malformedFromIndex"),qS=o(e=>{if(!rm(e))return[{type:"text",value:e}];let t=[],n=0;for(let r=0;r<e.length;){let i=e[r];if(i===void 0)break;if(i==="\x1B"){let a=e[r+1];if(a===void 0)return ps(t,e,n,r);if(a==="["){let d=KS(e,r+2);if(d===void 0)return ps(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"csi",value:e.slice(r,d.endIndex),parameterString:d.parameterString,intermediateString:d.intermediateString,finalCharacter:d.finalCharacter}),r=d.endIndex,n=r;continue}let c=dE(a);if(c!==void 0){let d=zS(e,r+2,c.allowBellTerminator);if(d===void 0)return ps(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:c.type,value:e.slice(r,d)}),r=d,n=r;continue}let l=uE(e,r+1);if(l===void 0){if(XS(a))return ps(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),r++,n=r;continue}r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"esc",value:e.slice(r,l.endIndex),intermediateString:l.intermediateString,finalCharacter:l.finalCharacter}),r=l.endIndex,n=r;continue}if(i==="\x9B"){let a=KS(e,r+1);if(a===void 0)return ps(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"csi",value:e.slice(r,a.endIndex),parameterString:a.parameterString,intermediateString:a.intermediateString,finalCharacter:a.finalCharacter}),r=a.endIndex,n=r;continue}let s=fE(i);if(s!==void 0){let a=zS(e,r+1,s.allowBellTerminator);if(a===void 0)return ps(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:s.type,value:e.slice(r,a)}),r=a,n=r;continue}if(i==="\x9C"){r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"st",value:i}),r++,n=r;continue}if(YS(i)){r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"c1",value:i}),r++,n=r;continue}r++}return n<e.length&&t.push({type:"text",value:e.slice(n)}),t},"tokenizeAnsi");var pE=/^[\d:;]*$/,mE=o(e=>{if(!rm(e))return e;let t="";for(let n of qS(e)){if(n.type==="text"||n.type==="osc"){t+=n.value;continue}n.type==="csi"&&n.finalCharacter==="m"&&n.intermediateString===""&&pE.test(n.parameterString)&&(t+=n.value)}return t},"sanitizeAnsi"),QS=mE;var JS=o(e=>{let t="";for(let n=0;n<e.childNodes.length;n++){let r=e.childNodes[n];if(r===void 0)continue;let i="";r.nodeName==="#text"?i=r.nodeValue:((r.nodeName==="ink-text"||r.nodeName==="ink-virtual-text")&&(i=JS(r)),i.length>0&&typeof r.internal_transform=="function"&&(i=r.internal_transform(i,n))),t+=i}return QS(t)},"squashTextNodes"),Xa=JS;var Eu=o(e=>{let t={nodeName:e,style:{},attributes:{},childNodes:[],parentNode:void 0,yogaNode:e==="ink-virtual-text"?void 0:hE.Node.create(),internal_accessibility:{}};return e==="ink-text"&&t.yogaNode?.setMeasureFunc(gE.bind(null,t)),t},"createNode"),Mu=o((e,t)=>{t.parentNode&&Ya(t.parentNode,t),t.parentNode=e,e.childNodes.push(t),t.yogaNode&&e.yogaNode?.insertChild(t.yogaNode,e.yogaNode.getChildCount()),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&Au(e)},"appendChildNode"),om=o((e,t,n)=>{t.parentNode&&Ya(t.parentNode,t),t.parentNode=e;let r=e.childNodes.indexOf(n);r>=0?(e.childNodes.splice(r,0,t),t.yogaNode&&e.yogaNode?.insertChild(t.yogaNode,r)):(e.childNodes.push(t),t.yogaNode&&e.yogaNode?.insertChild(t.yogaNode,e.yogaNode.getChildCount())),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&Au(e)},"insertBeforeNode"),Ya=o((e,t)=>{t.yogaNode&&t.parentNode?.yogaNode?.removeChild(t.yogaNode),t.parentNode=void 0;let n=e.childNodes.indexOf(t);n>=0&&e.childNodes.splice(n,1),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&Au(e)},"removeChildNode"),im=o((e,t,n)=>{if(t==="internal_accessibility"){e.internal_accessibility=n;return}e.attributes[t]=n},"setAttribute"),sm=o((e,t)=>{e.style=t},"setStyle"),ZS=o(e=>{let t={nodeName:"#text",nodeValue:e,yogaNode:void 0,parentNode:void 0,style:{}};return qa(t,e),t},"createTextNode"),gE=o(function(e,t){let n=e.nodeName==="#text"?e.nodeValue:Xa(e),r=nm(n);if(r.width<=t||r.width>=1&&t>0&&t<1)return r;let i=e.style?.textWrap??"wrap",s=ku(n,t,i);return nm(s)},"measureTextNode"),ew=o(e=>{if(e?.parentNode)return e.yogaNode??ew(e.parentNode)},"findClosestYogaNode"),Au=o(e=>{ew(e)?.markDirty()},"markNodeAsDirty"),qa=o((e,t)=>{typeof t!="string"&&(t=String(t)),e.nodeValue=t,Au(e)},"setTextNodeValue");import ke from"yoga-layout";var xE=o((e,t)=>{"position"in t&&e.setPositionType(t.position==="absolute"?ke.POSITION_TYPE_ABSOLUTE:ke.POSITION_TYPE_RELATIVE),"top"in t&&e.setPosition(ke.EDGE_TOP,t.top??0),"bottom"in t&&e.setPosition(ke.EDGE_BOTTOM,t.bottom??0),"left"in t&&e.setPosition(ke.EDGE_LEFT,t.left??0),"right"in t&&e.setPosition(ke.EDGE_RIGHT,t.right??0)},"applyPositionStyles"),SE=o((e,t)=>{"margin"in t&&e.setMargin(ke.EDGE_ALL,t.margin??0),"marginX"in t&&e.setMargin(ke.EDGE_HORIZONTAL,t.marginX??0),"marginY"in t&&e.setMargin(ke.EDGE_VERTICAL,t.marginY??0),"marginLeft"in t&&e.setMargin(ke.EDGE_START,t.marginLeft||0),"marginRight"in t&&e.setMargin(ke.EDGE_END,t.marginRight||0),"marginTop"in t&&e.setMargin(ke.EDGE_TOP,t.marginTop||0),"marginBottom"in t&&e.setMargin(ke.EDGE_BOTTOM,t.marginBottom||0)},"applyMarginStyles"),wE=o((e,t)=>{"padding"in t&&e.setPadding(ke.EDGE_ALL,t.padding??0),"paddingX"in t&&e.setPadding(ke.EDGE_HORIZONTAL,t.paddingX??0),"paddingY"in t&&e.setPadding(ke.EDGE_VERTICAL,t.paddingY??0),"paddingLeft"in t&&e.setPadding(ke.EDGE_LEFT,t.paddingLeft||0),"paddingRight"in t&&e.setPadding(ke.EDGE_RIGHT,t.paddingRight||0),"paddingTop"in t&&e.setPadding(ke.EDGE_TOP,t.paddingTop||0),"paddingBottom"in t&&e.setPadding(ke.EDGE_BOTTOM,t.paddingBottom||0)},"applyPaddingStyles"),TE=o((e,t)=>{"flexGrow"in t&&e.setFlexGrow(t.flexGrow??0),"flexShrink"in t&&e.setFlexShrink(typeof t.flexShrink=="number"?t.flexShrink:1),"flexWrap"in t&&(t.flexWrap==="nowrap"&&e.setFlexWrap(ke.WRAP_NO_WRAP),t.flexWrap==="wrap"&&e.setFlexWrap(ke.WRAP_WRAP),t.flexWrap==="wrap-reverse"&&e.setFlexWrap(ke.WRAP_WRAP_REVERSE)),"flexDirection"in t&&(t.flexDirection==="row"&&e.setFlexDirection(ke.FLEX_DIRECTION_ROW),t.flexDirection==="row-reverse"&&e.setFlexDirection(ke.FLEX_DIRECTION_ROW_REVERSE),t.flexDirection==="column"&&e.setFlexDirection(ke.FLEX_DIRECTION_COLUMN),t.flexDirection==="column-reverse"&&e.setFlexDirection(ke.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in t&&(typeof t.flexBasis=="number"?e.setFlexBasis(t.flexBasis):typeof t.flexBasis=="string"?e.setFlexBasisPercent(Number.parseInt(t.flexBasis,10)):e.setFlexBasis(Number.NaN)),"alignItems"in t&&((t.alignItems==="stretch"||!t.alignItems)&&e.setAlignItems(ke.ALIGN_STRETCH),t.alignItems==="flex-start"&&e.setAlignItems(ke.ALIGN_FLEX_START),t.alignItems==="center"&&e.setAlignItems(ke.ALIGN_CENTER),t.alignItems==="flex-end"&&e.setAlignItems(ke.ALIGN_FLEX_END)),"alignSelf"in t&&((t.alignSelf==="auto"||!t.alignSelf)&&e.setAlignSelf(ke.ALIGN_AUTO),t.alignSelf==="flex-start"&&e.setAlignSelf(ke.ALIGN_FLEX_START),t.alignSelf==="center"&&e.setAlignSelf(ke.ALIGN_CENTER),t.alignSelf==="flex-end"&&e.setAlignSelf(ke.ALIGN_FLEX_END)),"justifyContent"in t&&((t.justifyContent==="flex-start"||!t.justifyContent)&&e.setJustifyContent(ke.JUSTIFY_FLEX_START),t.justifyContent==="center"&&e.setJustifyContent(ke.JUSTIFY_CENTER),t.justifyContent==="flex-end"&&e.setJustifyContent(ke.JUSTIFY_FLEX_END),t.justifyContent==="space-between"&&e.setJustifyContent(ke.JUSTIFY_SPACE_BETWEEN),t.justifyContent==="space-around"&&e.setJustifyContent(ke.JUSTIFY_SPACE_AROUND),t.justifyContent==="space-evenly"&&e.setJustifyContent(ke.JUSTIFY_SPACE_EVENLY))},"applyFlexStyles"),CE=o((e,t)=>{"width"in t&&(typeof t.width=="number"?e.setWidth(t.width):typeof t.width=="string"?e.setWidthPercent(Number.parseInt(t.width,10)):e.setWidthAuto()),"height"in t&&(typeof t.height=="number"?e.setHeight(t.height):typeof t.height=="string"?e.setHeightPercent(Number.parseInt(t.height,10)):e.setHeightAuto()),"minWidth"in t&&(typeof t.minWidth=="string"?e.setMinWidthPercent(Number.parseInt(t.minWidth,10)):e.setMinWidth(t.minWidth??0)),"minHeight"in t&&(typeof t.minHeight=="string"?e.setMinHeightPercent(Number.parseInt(t.minHeight,10)):e.setMinHeight(t.minHeight??0))},"applyDimensionStyles"),bE=o((e,t)=>{"display"in t&&e.setDisplay(t.display==="flex"?ke.DISPLAY_FLEX:ke.DISPLAY_NONE)},"applyDisplayStyles"),IE=o((e,t)=>{if("borderStyle"in t){let n=t.borderStyle?1:0;t.borderTop!==!1&&e.setBorder(ke.EDGE_TOP,n),t.borderBottom!==!1&&e.setBorder(ke.EDGE_BOTTOM,n),t.borderLeft!==!1&&e.setBorder(ke.EDGE_LEFT,n),t.borderRight!==!1&&e.setBorder(ke.EDGE_RIGHT,n)}},"applyBorderStyles"),vE=o((e,t)=>{"gap"in t&&e.setGap(ke.GUTTER_ALL,t.gap??0),"columnGap"in t&&e.setGap(ke.GUTTER_COLUMN,t.columnGap??0),"rowGap"in t&&e.setGap(ke.GUTTER_ROW,t.rowGap??0)},"applyGapStyles"),RE=o((e,t={})=>{xE(e,t),SE(e,t),wE(e,t),TE(e,t),CE(e,t),bE(e,t),IE(e,t),vE(e,t)},"styles"),am=RE;if(Ru())try{await import("./devtools-YINBSZC7.js")}catch(e){if(e.code==="ERR_MODULE_NOT_FOUND")console.warn(`
4
4
  The environment variable DEV is set to true, so Ink tried to import \`react-devtools-core\`,
5
5
  but this failed as it was not installed. Debugging with React Devtools requires it.
@@ -139,7 +139,7 @@ $ npm install --save-dev react-devtools-core
139
139
  `):[""],Math.max(1,e.terminalWidth),0,0);return w.visualLines.length>0?w.visualLines:[""]},"wrapBannerLine"),m=o((h,w,T)=>{p(w).forEach((S,C)=>{f.push({key:`${h}-${C}`,text:S,...T})})},"pushLineRows");return Vh.forEach((h,w)=>{m(`banner-logo-${w}`,h,{color:"primary"})}),m("banner-tagline",a,{color:"primary"}),m("banner-version",c,{color:"text",bold:!0}),l&&m("banner-compaction",l,{color:"text"}),m("banner-session",d,{color:"text"}),f.push({key:"banner-blank",text:" "}),{key:"banner",rows:f}}o(SD,"buildBannerTranscriptSection");function hv(e,t){return t?{...e,sections:[t,...e.sections],rows:[...t.rows,...e.rows]}:e}o(hv,"prependTranscriptSection");var wD=process.env.KODAX_INLINE_LEDGER!=="0";function gv(e,t){if(process.env.KODAX_INLINE_LEDGER_DEBUG!=="1")return;let n=t instanceof Error?t.message:t!==void 0?String(t):"";process.stderr.write(`[inline-ledger] ${e}${n?`: ${n}`:""} \u2014 rebuilding on next change
140
140
  `)}o(gv,"reportInlineLedgerFailure");var TD=o(({options:e,config:t,context:n,storage:r,rendererMode:i,fullscreenPolicy:s,onExit:a,compactionInfo:c,autoModeBootstrap:l,setAutoModeAskUser:d,setAutoModeEngineChange:f,setCurrentConfigRef:p,onAgentsFilesReload:m,teamModeHandle:h})=>{let{exit:w}=lo(),{stdout:T}=pr(),S=T.rows??24,{stdin:C,setRawMode:M,isRawModeSupported:E}=ic(),P=Is(),{history:D}=Sc(),L=cv.useRef(null),y=cv.useRef(tS()),{addHistoryItem:W,addHistoryItems:de,clearHistory:xe,setSessionId:me}=wc(),Z=we(D),O=we(mv(D));je(()=>{Z.current=D,O.current=mv(D)},[D]),je(()=>{n0()},[]),je(()=>{ES()},[]);let k=T.columns||80,$=Ic(),Le=we($);je(()=>{Le.current=$},[$]);let{startStreaming:Q,stopStreaming:X,abort:le,startThinking:Ee,appendThinkingChars:He,appendThinkingContent:F,stopThinking:fe,clearThinkingContent:be,setCurrentTool:ce,appendToolInputChars:it,appendToolInputContent:re,clearToolInputContent:Pe,clearResponse:We,appendResponse:Ct,getSignal:ue,getFullResponse:Ce,getThinkingContent:Se,startNewIteration:Ke,clearIterationHistory:A,startCompacting:K,stopCompacting:j,setMaxIter:pe,addPendingInput:Me,removeLastPendingInput:$e,shiftPendingInput:N,consumePendingInputs:se}=vc(),[ye,he]=Ue(!1),[G,gt]=Ue(t),et=ge(()=>HI(c,{provider:G.provider,model:G.model},La),[c,G.provider,G.model]),[Bt,Bf]=Ue(!0),[Hf,wB]=Ue(!0),[Gc,Vc]=Ue(0),[Wf,ta]=Ue(!1),[Qg,Wn]=Ue(null),fi=we(!1),YR=ge(()=>Vo(),[]),na=we(null),Kc=we(null),Jg=we(Promise.resolve()),zc=we(null),ko=we({requested:!1,uiHistoryOverride:void 0}),pi=we(null),ra=we(!1),oa=we(null),[ia,Xc]=Ue(!0),[Ff,Yc]=Ue(""),[Ve,Zn]=Ue(()=>c0(YR,{rendererMode:i})),[At,jf]=Ue(!1),[qR,QR]=Ue(0),{scrollRef:JR,scrollOffset:Fn,sticky:Uf,setScrollOffset:ZR,handleScrollTopChange:ek,handleStickyChange:tk,scrollTo:qc,scrollBy:Qc,scrollToBottom:Jc}=vI(),Gf=we(null),Zc=we(null),sa=we([]),el=we([]),mi=we(null),jn=we(null),Zg=we({time:0,row:-1,column:-1,count:0}),[tl,Vf]=Ue(void 0),[Cr,Kf]=Ue(void 0),[hi,ey]=Ue(void 0),[Sn,nk]=Ue(()=>new Set),[zf,ty]=Ue(null),[Vt,ny]=Ue(null),[Y,nl]=Ue(null),[ry,gi]=Ue(null),[Xf,oy]=Ue(null),rl=we(null),ol=z(u=>{rl.current=u,oy(u)},[]),il=z(u=>{let g=u(rl.current);rl.current=g,oy(g)},[]),aa=z((u,g)=>{let x=rl.current;return x?.status!=="running"||!ZC(u,x.runId)?!1:(ol({...x,message:g}),!0)},[ol]),[sl,br]=Ue([]),yi=ge(()=>{for(let u of sl)if(u.status==="in_progress"){if(u.activeForm&&u.activeForm.length>0)return u.activeForm;if(u.subject&&u.subject.length>0)return u.subject}},[sl]),[TB,ca]=Ue([]),[la,rk]=Ue([]),[al,xt]=Ue(void 0),[Eo,ua]=Ue(void 0),ut=we(null),cl=we(null),Mo=we([]),xi=we([]),Jt=we([]),Yf=we(new Set),st=we({}),St=we({activeToolGroupTools:[]}),iy=we(0),ll=we({itemId:void 0,kind:"thinking",pendingText:""}),Un=we(null),ok=80,ik=20,sk=we(null),ul=ge(()=>[...D,...la],[D,la]),qf=ge(()=>{let u=yC(ul,sk);return u===0?ul:ul.slice(u)},[ul]),dl=ge(()=>xC(qf,ik),[qf]),Si=qf,Kt=we(null),er=we(null),tr=we([]),zt=we([]),[Ao,ak]=Ue([]),Ir=we([]),[sy,ck]=Ue([]),da=we([]),Mn=z(u=>{Ir.current=u,ak(u)},[]),wi=z(u=>{da.current=u,ck(u)},[]),Qf=z(()=>{wi([])},[wi]),ay=z(u=>{if(!Vd(u))return!1;let g=Mh(u),x=da.current.filter(I=>I.id!==g);return x.length===da.current.length||wi(x),!0},[wi]),An=z((u,g,x,I)=>{if(!Vd(u))return!1;let v=Mh(u),_=da.current.find(nt=>nt.id===v);if(I?.skipIfExisting&&_?.kind===g)return!0;let U=I?.append&&_?.kind===g?`${_.detail}${x}`:x||_?.detail||"running",V={id:v,label:tb(u),source:nb(u),status:"running",kind:g,detail:Eh(U)},ee=da.current,Te=ee.findIndex(nt=>nt.id===v),ct=Te>=0?ee.map((nt,In)=>In===Te?V:nt):[...ee,V].slice(0,cD);return wi(ct),!0},[wi]),cy=z(u=>{Mo.current=u,ca(u)},[]),Ti=z(u=>{Jt.current=u,rk(u)},[]),ly=z(u=>{let g=u([...Jt.current]);Ti(g)},[Ti]),uy=z(u=>{u.length!==0&&Ti([...Jt.current,...u])},[Ti]),fl=z(u=>{let g=St.current,x=g.activeToolGroupTools.some(I=>I.status===H.Executing);St.current={...u?.clearOwner?{}:{workerId:g.workerId,workerTitle:g.workerTitle},...x?{activeToolGroupItemId:g.activeToolGroupItemId,activeToolGroupTools:g.activeToolGroupTools}:{activeToolGroupTools:[]}},u?.clearOwner&&(st.current={})},[]),pl=z(u=>{for(let g of u)g.type==="user"&&typeof g.id=="string"&&Yf.current.add(g.id)},[]),fa=z(()=>{ll.current={itemId:void 0,kind:"thinking",pendingText:""},Un.current&&(clearTimeout(Un.current),Un.current=null);let u=yh(Jt.current,Yf.current);if(u.length>0){for(let g of u)Yf.current.add(g.id);pi.current?.(u.map(g=>To(g)))}fl({clearOwner:!0}),Ti([])},[fl,Ti]),ml=z(u=>(iy.current+=1,`managed-foreground-${u}-${iy.current}`),[]),on=z(u=>(uy([u]),u.id),[uy]),wn=z((u,g)=>{st.current.workerId?on({id:`${g}-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:u.type,text:u.text,...u.icon?{icon:u.icon}:{},...u.tightSpacing?{tightSpacing:!0}:{},timestamp:Date.now()}):W(u)},[W,on]),vr=z((u,g)=>{if(!u)return;let x;return ly(I=>I.map(v=>v.id!==u?v:(x=g(v),x))),x},[ly]),Ci=z((u,g)=>{let x=St.current;if(x.activeKind===u){if(u==="thinking"&&x.activeThinkingItemId)return x.activeThinkingItemId;if(u==="assistant"&&x.activeAssistantItemId)return x.activeAssistantItemId;if(u==="tool_group"&&x.activeToolGroupItemId)return x.activeToolGroupItemId}let I=Date.now(),v=g?.trim()?`[${g.trim()}] `:"",_=x.activeToolGroupTools.some(V=>V.status===H.Executing);if(u==="thinking"){let V=on({id:ml("thinking"),type:"thinking",timestamp:I,text:v});return St.current={...St.current,activeKind:"thinking",activeThinkingItemId:V,currentTurnThinkingItemId:V,activeAssistantItemId:void 0,..._?{}:{activeToolGroupItemId:void 0,activeToolGroupTools:[]}},V}if(u==="assistant"){let V=on({id:ml("assistant"),type:"assistant",timestamp:I,text:v});return St.current={...St.current,activeKind:"assistant",activeThinkingItemId:void 0,activeAssistantItemId:V,..._?{}:{activeToolGroupItemId:void 0,activeToolGroupTools:[]}},V}let U=on({id:ml("tool_group"),type:"tool_group",timestamp:I,tools:[]});return St.current={...St.current,activeKind:"tool_group",activeThinkingItemId:void 0,activeAssistantItemId:void 0,activeToolGroupItemId:U,activeToolGroupTools:[]},U},[on,ml]),Rr=z(()=>{Un.current&&(clearTimeout(Un.current),Un.current=null);let u=ll.current;if(!u.pendingText||!u.itemId)return;let g=u.pendingText,x=u.itemId,I=u.kind;u.pendingText="",vr(x,v=>v.type!==I?v:{...v,text:`${v.text}${g}`})},[vr]),dy=z(()=>{Un.current||(Un.current=setTimeout(Rr,ok))},[Rr]),hl=z((u,g)=>{if(!g)return;let x=St.current.workerTitle,I=Ci(u,x),v=ll.current;v.itemId===I&&v.kind===u?v.pendingText+=g:(Rr(),v.itemId=I,v.kind=u,v.pendingText=g),dy()},[Ci,Rr,dy]),fy=z(u=>{let g=u.trim();if(!g)return;let x=ll.current;x.kind==="thinking"&&x.pendingText&&(x.pendingText="",Un.current&&(clearTimeout(Un.current),Un.current=null));let I=St.current.workerTitle?.trim(),v=I?`[${I}] ${g}`:g,_=St.current.currentTurnThinkingItemId;if(_){vr(_,V=>V.type==="thinking"?{...V,text:v}:V);return}let U=Ci("thinking",St.current.workerTitle);vr(U,V=>V.type==="thinking"?{...V,text:v}:V)},[Ci,vr]),Gn=z(u=>{Rr();let g=St.current;if(g.activeToolGroupItemId&&g.activeToolGroupTools.some(U=>U.id===u.id)){let U=g.activeToolGroupTools.map(ee=>ee.id===u.id?u:ee),V=U.every(ee=>ee.status===H.Success||ee.status===H.Error||ee.status===H.Cancelled);St.current={...g,...V?{activeToolGroupItemId:void 0,activeToolGroupTools:[]}:{activeToolGroupTools:U}},vr(g.activeToolGroupItemId,ee=>ee.type==="tool_group"?{...ee,tools:U}:ee);return}let x=Jt.current;for(let U=x.length-1;U>=0;U-=1){let V=x[U];if(V.type!=="tool_group"||!V.tools.some(Te=>Te.id===u.id))continue;let ee=V.tools.map(Te=>Te.id===u.id?u:Te);vr(V.id,Te=>Te.type==="tool_group"?{...Te,tools:ee}:Te);return}let I=Ci("tool_group",g.workerTitle),_=g.activeKind==="tool_group"&&g.activeToolGroupItemId===I?g.activeToolGroupTools.some(U=>U.id===u.id)?g.activeToolGroupTools.map(U=>U.id===u.id?u:U):[...g.activeToolGroupTools,u]:[u];St.current={...St.current,activeKind:"tool_group",activeToolGroupItemId:I,activeToolGroupTools:_},vr(I,U=>U.type==="tool_group"?{...U,tools:_}:U)},[Ci,vr,Rr]),lk=z(u=>{Rr();let g=St.current,x=g.activeToolGroupTools.some(_=>_.status===H.Executing),I=Ir.current.filter(_=>_.status===H.Executing),v=new Set(I.map(_=>_.id));St.current={workerId:u?.workerId,workerTitle:u?.workerTitle,...x?{activeToolGroupItemId:g.activeToolGroupItemId,activeToolGroupTools:g.activeToolGroupTools}:{activeToolGroupTools:[]}},st.current={workerId:u?.workerId,workerTitle:u?.workerTitle},tr.current=[],zt.current=zt.current.filter(_=>v.has(_.id)),Mn(I),Pe(),ce(void 0),fe(),be(),We(),xt(void 0)},[Rr,Pe,We,be,ce,Mn,xt,fe]),uk=z(u=>{if(u.length===0)return[];let g=[],x=[...Mo.current],I=[...xi.current];for(let v of u){let _=v.item,U=x.findIndex(V=>V.id===_.id);if(U>=0){let V=x[U];rf(V,_)||(x=x.map((ee,Te)=>Te===U?{..._,timestamp:V.timestamp}:ee))}else x=[...x,_].slice(-12),g.push(_);if(v.persistToHistory){let V=I.findIndex(ee=>ee.id===_.id);if(V>=0){let ee=I[V];rf(ee,_)||(I=I.map((Te,ct)=>ct===V?{..._,timestamp:ee.timestamp}:Te))}else I=[...I,_].slice(-48)}}return xi.current=I,(g.length>0||x.some((v,_)=>!rf(v,Mo.current[_]??v)||v.id!==Mo.current[_]?.id))&&cy(x),g},[cy]),gl=z(u=>{if(zt.current.findIndex(x=>x.id===u.id)===-1){zt.current=[...zt.current,u];return}zt.current=zt.current.map(x=>x.id===u.id?u:x)},[]),Xr=z(u=>{let g=Ir.current.filter(x=>x.status===H.Executing);if(g.length!==0){if(u){let x=jh(u);for(let I=g.length-1;I>=0;I-=1){let v=g[I];if(jh(v.name)===x)return v}}return g[g.length-1]}},[]),bi=z(()=>{let u=Xr();ce(u?Fh(u.name):void 0)},[Xr,ce]),py=z(u=>(gl(u),Mn([...Ir.current.filter(g=>g.id!==u.id),u]),bi(),u),[Mn,bi,gl]),Ii=z((u,g)=>{let x=Ir.current.find(v=>v.id===u);if(!x)return null;let I=g(x);return gl(I),Mn(Ir.current.map(v=>v.id===u?I:v)),bi(),I},[Mn,bi,gl]),my=z((u,g,x)=>{if(u){let v=Ii(u,x);if(v)return v}let I=Xr(g);return I?Ii(I.id,x):null},[Xr,Ii]),yl=z((u,g,x,I,v)=>{let _=u??Xr(v)?.id;return _?Ii(_,U=>({...U,status:g,endTime:Date.now(),error:x,output:I})):null},[Xr,Ii]),pa=z((u,g)=>{let x=Date.now(),I=new Map;for(let v of Ir.current){if(v.status!==H.Executing)continue;let _=g(v);I.set(v.id,{...v,status:u,endTime:x,..._})}return I.size===0?[]:(zt.current=zt.current.map(v=>I.get(v.id)??v),Mn(Ir.current.map(v=>I.get(v.id)??v)),bi(),[...I.values()])},[Mn,bi]),Yr=z(()=>{Mn([])},[Mn]),{showHelp:hy,toggleHelp:dk,setShowHelp:gy}=Xh(),fk=z(u=>{Yc(u),Xc(u.trim().length===0)},[]),xl=Zo(),yy=ge(()=>xl?xl.state.visible&&xl.suggestions.length>0:!1,[xl]),[ma,xy]=Ue(!1),Sy=we(Gc),_o=z(()=>{Kt.current&&(clearTimeout(Kt.current),Kt.current=null),er.current&&(clearTimeout(er.current),er.current=null)},[]);je(()=>{yy&&!ma&&xy(!0)},[yy,ma]),je(()=>{Gc!==Sy.current&&(Sy.current=Gc,ma&&xy(!1))},[Gc,ma]);let[rt,Sl]=Ue(null),Lo=we(null),[Be,Vn]=Ue(null),wl=we(null),Tl=we(Be);Tl.current=Be;let[Zt,vi]=Ue(""),[Cl,Kn]=Ue(0),Jf=we(""),ha=we(void 0),wy=ge(()=>{if(!et)return;let{contextWindow:u,triggerPercent:g}=et;return{currentTokens:Qg??n.contextTokenSnapshot?.currentTokens??Xl(n.messages),contextWindow:u,triggerPercent:g}},[n.messages,n.contextTokenSnapshot,et,Qg]),ga=ge(()=>{if(!rt)return;let u=!!rt.input._alwaysConfirm,g=G.permissionMode==="accept-edits"&&!u;return u?oe("confirm.instruction.protected"):g?oe("confirm.instruction.always"):oe("confirm.instruction.basic")},[rt,G.permissionMode]),pt=Ve.searchMode==="history",te=Ve.surface==="transcript",nr=!!rt||!!Be||pt,vt=te?At?aC:1e3:12,qr=ov(s,Ve.surface),Ty=qr.shellMode,Zf=qr.usesAlternateScreenShell,Po=qr.usesRendererViewportShell,bl=qr.usesRendererMouseTracking,Cy=qr.usesManagedMouseClicks,by=qr.usesManagedMouseWheel,ep=qr.usesManagedSelection,Rt=iv(s,Ve.surface,x0(Ve)),Iy=S0(Ve),Il=ma&&!te,vy=z(()=>vg({items:Si,managedLiveEvents:[],isLoading:ye,isThinking:$.isThinking,thinkingCharCount:$.thinkingCharCount,thinkingContent:$.thinkingContent,currentResponse:$.currentResponse,currentTool:$.currentTool,activeToolCalls:Ao,toolInputCharCount:$.toolInputCharCount,toolInputContent:$.toolInputContent,lastLiveActivityLabel:al,workStripText:Eo,iterationHistory:$.iterationHistory,currentIteration:$.currentIteration,isCompacting:$.isCompacting}),[Si,ye,$.isThinking,$.thinkingCharCount,$.thinkingContent,$.currentResponse,$.currentTool,Ao,$.toolInputCharCount,$.toolInputContent,al,Eo,$.iterationHistory,$.currentIteration,$.isCompacting]);je(()=>{if(te){ty(u=>u??vy());return}ty(null)},[vy,te]);let ya=ge(()=>ev({isTranscriptMode:te,snapshot:zf,currentItemsLength:Si.length,currentManagedLiveEventsLength:0,isLoading:ye,currentResponse:$.currentResponse,thinkingContent:$.thinkingContent,activeToolCallsLength:Ao.length}),[Ao.length,ye,te,Si.length,$.currentResponse,$.thinkingContent,zf]),Ht=te?zf:null,tp=ge(()=>nv(dl),[dl]),pk=ge(()=>!!(la.length>0||fv(Y)),[la.length,Y]),vl=la.length>0,Xt=s.streamingPreview&&pk,Ri=ge(()=>tv({surface:"transcript",snapshot:Ht,promptItems:dl,transcriptItems:Si}),[Ht,dl,Si]),xa=ge(()=>{if(!te||At||Ri.length<=th)return Ri;let u=Ri.slice(-th),g=Ri.length-u.length;return[TC(g,u[0]?.timestamp),...u]},[Ri,te,At]),mt=Ht?.isLoading??ye,at=s.streamingPreview?{isThinking:Xt?!1:$.isThinking,thinkingCharCount:Xt?0:$.thinkingCharCount,thinkingContent:Xt?"":$.thinkingContent,currentResponse:Xt?"":$.currentResponse,currentTool:Xt?void 0:$.currentTool,activeToolCalls:Xt?[]:Ao,toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:Xt?al:void 0,iterationHistory:[],currentIteration:$.currentIteration,isCompacting:!1}:{isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentResponse:"",currentTool:void 0,activeToolCalls:[],toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:void 0,iterationHistory:[],currentIteration:$.currentIteration,isCompacting:!1},Re=s.streamingPreview?{isThinking:Xt?!1:Ht?.isThinking??$.isThinking,thinkingCharCount:Xt?0:Ht?.thinkingCharCount??$.thinkingCharCount,thinkingContent:Xt?"":Ht?.thinkingContent??$.thinkingContent,currentResponse:Xt?"":Ht?.currentResponse??$.currentResponse,currentTool:Xt?void 0:Ht?.currentTool??$.currentTool,activeToolCalls:Xt?[]:Ht?.activeToolCalls??Ao,toolInputCharCount:Xt?0:Ht?.toolInputCharCount??$.toolInputCharCount,toolInputContent:Xt?"":Ht?.toolInputContent??$.toolInputContent,managedLiveEvents:[],lastLiveActivityLabel:Ht?.lastLiveActivityLabel??al,iterationHistory:Xt?[]:Ht?.iterationHistory??$.iterationHistory,currentIteration:Ht?.currentIteration??$.currentIteration,isCompacting:Ht?.isCompacting??$.isCompacting}:{isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentResponse:"",currentTool:void 0,activeToolCalls:[],toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:void 0,iterationHistory:[],currentIteration:Ht?.currentIteration??$.currentIteration,isCompacting:!1},kr=te?Cr:tl,Ry=!!tl,ky=z(()=>vg({items:tp,managedLiveEvents:[],isLoading:ye,isThinking:at.isThinking,thinkingCharCount:at.thinkingCharCount,thinkingContent:at.thinkingContent,currentResponse:at.currentResponse,currentTool:at.currentTool,activeToolCalls:at.activeToolCalls,toolInputCharCount:at.toolInputCharCount,toolInputContent:at.toolInputContent,lastLiveActivityLabel:at.lastLiveActivityLabel,iterationHistory:at.iterationHistory,currentIteration:at.currentIteration,isCompacting:at.isCompacting}),[ye,tp,at.activeToolCalls,at.currentIteration,at.currentResponse,at.currentTool,at.isCompacting,at.isThinking,at.iterationHistory,at.lastLiveActivityLabel,at.thinkingCharCount,at.thinkingContent,at.toolInputCharCount,at.toolInputContent]);je(()=>{if(!Ry){ny(null);return}ny(u=>u??ky())},[ky,Ry]);let Sa=Vt?.items??tp,en=Vt?.isLoading??ye,Oe=Vt?{isThinking:Vt.isThinking,thinkingCharCount:Vt.thinkingCharCount,thinkingContent:Vt.thinkingContent,currentResponse:Vt.currentResponse,currentTool:Vt.currentTool,activeToolCalls:Vt.activeToolCalls,toolInputCharCount:Vt.toolInputCharCount,toolInputContent:Vt.toolInputContent,managedLiveEvents:Vt.managedLiveEvents,lastLiveActivityLabel:Vt.lastLiveActivityLabel,iterationHistory:Vt.iterationHistory,currentIteration:Vt.currentIteration,isCompacting:Vt.isCompacting}:at,Wt=te?xa:Sa,rr=te?mt:en,Ye=te?Re:Oe,Ey=en&&!$.currentResponse&&!$.thinkingContent&&Ao.length===0,mk=ud(Xf?.status==="running"),_t=ge(()=>TS(Xf,Date.now()),[Xf,mk]),My=_t.shouldRender?`Workflow ${_t.workflow}${_t.phase?` - ${_t.phase}`:""}`:void 0,or=ge(()=>_b(sl,{now:Date.now(),lastAllCompletedAt:null}),[sl]),Ay=S<=20?1:kh,np=ge(()=>ob(sy,Ay),[Ay,sy]),_y=eb({isTranscriptMode:te,isLoading:ye,hasWorkflowLiveSurface:_t.shouldRender,childActivityVisible:np.shouldRender}),ki=ge(()=>{if(!te)return[];let u=[];return u.push(...wS(_t)),ye&&or.shouldRender&&u.push(...Eb(or)),u},[te,ye,or,_t]),$o=ge(()=>({config:G,sessionId:n.sessionId,workingDir:e.context?.gitRoot||process.cwd(),terminalWidth:k,compactionInfo:et??void 0}),[et,n.sessionId,G,e.context?.gitRoot,k]),Qr=ge(()=>s.enabled&&Hf?SD($o):void 0,[$o,s.enabled,Hf]),Ly=we(Vs),Py=we(!1),rp=we(!1),Ei=cI({enabled:wD,useRendererViewportShell:Po,isTranscriptMode:te,hasCommitHandle:typeof Qo(T)?.commitInlineScrollback=="function"}),wa=ge(()=>xd({items:Sa,viewportWidth:k,maxLines:vt,showDetailedTools:!1,showAllContent:!1,windowed:!1}),[Sa,k,vt]),Oo=ge(()=>{let u=Sd({activeItems:wa.activeItems,viewportWidth:k,isLoading:en,maxLines:vt,isThinking:Oe.isThinking,thinkingCharCount:Oe.thinkingCharCount,thinkingContent:Oe.thinkingContent,streamingResponse:Oe.currentResponse,currentTool:Oe.currentTool,activeToolCalls:Oe.activeToolCalls,toolInputCharCount:Oe.toolInputCharCount,toolInputContent:Oe.toolInputContent,iterationHistory:Oe.iterationHistory,currentIteration:Oe.currentIteration,isCompacting:Oe.isCompacting,managedAgentMode:G.agentMode,managedPhase:en?Y?.phase:void 0,managedHarnessProfile:en?Y?.harnessProfile:void 0,managedWorkerTitle:en?Y?.activeWorkerTitle:void 0,managedRound:en?Y?.currentRound:void 0,managedMaxRounds:en?Y?.maxRounds:void 0,managedGlobalWorkBudget:en?Y?.globalWorkBudget:void 0,managedBudgetUsage:en?Y?.budgetUsage:void 0,managedBudgetApprovalRequired:en?Y?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Oe.lastLiveActivityLabel,currentTodoActiveForm:yi,showFullThinking:!1,showDetailedTools:!1,showAllContent:!1,showLiveProgressRows:Ey}),g=fC(wa,u,Qr);return dI(g,Ei)},[G.agentMode,Ei,en,Oe.activeToolCalls,Oe.currentIteration,Oe.currentTool,Oe.isCompacting,Oe.currentResponse,Oe.isThinking,Oe.iterationHistory,Oe.lastLiveActivityLabel,Oe.thinkingCharCount,Oe.thinkingContent,Oe.toolInputCharCount,Oe.toolInputContent,Y?.activeWorkerTitle,Y?.budgetApprovalRequired,Y?.budgetUsage,Y?.currentRound,Y?.globalWorkBudget,Y?.harnessProfile,Y?.maxRounds,Y?.phase,Ey,wa,Qr,k,vt,yi]),op=ge(()=>xd({items:xa,viewportWidth:k,maxLines:vt,showDetailedTools:At,showAllContent:At,showFullThinking:!0,windowed:!1}),[xa,k,vt,At]),Rl=ge(()=>{if(!te||Po)return;let u=Sd({activeItems:op.activeItems,viewportWidth:k,isLoading:mt,maxLines:vt,isThinking:Re.isThinking,thinkingCharCount:Re.thinkingCharCount,thinkingContent:Re.thinkingContent,streamingResponse:Re.currentResponse,currentTool:Re.currentTool,activeToolCalls:Re.activeToolCalls,toolInputCharCount:Re.toolInputCharCount,toolInputContent:Re.toolInputContent,iterationHistory:Re.iterationHistory,currentIteration:Re.currentIteration,isCompacting:Re.isCompacting,managedAgentMode:G.agentMode,managedPhase:mt?Y?.phase:void 0,managedHarnessProfile:mt?Y?.harnessProfile:void 0,managedWorkerTitle:mt?Y?.activeWorkerTitle:void 0,managedRound:mt?Y?.currentRound:void 0,managedMaxRounds:mt?Y?.maxRounds:void 0,managedGlobalWorkBudget:mt?Y?.globalWorkBudget:void 0,managedBudgetUsage:mt?Y?.budgetUsage:void 0,managedBudgetApprovalRequired:mt?Y?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Re.lastLiveActivityLabel,liveStatusLines:ki,currentTodoActiveForm:yi,showFullThinking:!0,showDetailedTools:At,showAllContent:At,showLiveProgressRows:!vl,expandedItemKeys:Sn});return hv(eh(wd(op,u)),Qr)},[G.agentMode,Sn,vl,Qr,te,Y?.activeWorkerTitle,Y?.budgetApprovalRequired,Y?.budgetUsage,Y?.currentRound,Y?.globalWorkBudget,Y?.harnessProfile,Y?.maxRounds,Y?.phase,k,mt,vt,op,Re.activeToolCalls,Re.currentIteration,Re.currentResponse,Re.currentTool,Re.isCompacting,Re.isThinking,Re.iterationHistory,Re.lastLiveActivityLabel,Re.thinkingCharCount,Re.thinkingContent,Re.toolInputCharCount,Re.toolInputContent,At,ki,Po,yi]),Ta=ge(()=>{if(Rt)return te?hv(Td({items:Wt,viewportWidth:k,isLoading:rr,maxLines:vt,isThinking:Ye.isThinking,thinkingCharCount:Ye.thinkingCharCount,thinkingContent:Ye.thinkingContent,streamingResponse:Ye.currentResponse,currentTool:Ye.currentTool,activeToolCalls:Ye.activeToolCalls,toolInputCharCount:Ye.toolInputCharCount,toolInputContent:Ye.toolInputContent,iterationHistory:Ye.iterationHistory,currentIteration:Ye.currentIteration,isCompacting:Ye.isCompacting,managedAgentMode:G.agentMode,managedPhase:rr?Y?.phase:void 0,managedHarnessProfile:rr?Y?.harnessProfile:void 0,managedWorkerTitle:rr?Y?.activeWorkerTitle:void 0,managedRound:rr?Y?.currentRound:void 0,managedMaxRounds:rr?Y?.maxRounds:void 0,managedGlobalWorkBudget:rr?Y?.globalWorkBudget:void 0,managedBudgetUsage:rr?Y?.budgetUsage:void 0,managedBudgetApprovalRequired:rr?Y?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Ye.lastLiveActivityLabel,liveStatusLines:ki,currentTodoActiveForm:yi,windowed:!0,showFullThinking:te,showDetailedTools:At,showAllContent:At,showLiveProgressRows:te&&!vl,expandedItemKeys:te?Sn:void 0}),Qr):eh(Oo)},[G.agentMode,rr,Wt,vl,Qr,Ye.activeToolCalls,Ye.currentIteration,Ye.currentResponse,Ye.currentTool,Ye.isCompacting,Ye.isThinking,Ye.iterationHistory,Ye.lastLiveActivityLabel,Ye.thinkingCharCount,Ye.thinkingContent,Ye.toolInputCharCount,Ye.toolInputContent,Sn,te,Y?.activeWorkerTitle,Y?.budgetApprovalRequired,Y?.budgetUsage,Y?.currentRound,Y?.globalWorkBudget,Y?.harnessProfile,Y?.maxRounds,Y?.phase,Oo,ye,te,k,vt,Rt,ki,At,yi]),ir=ge(()=>Ta??Rl,[Ta,Rl]),Ca=ge(()=>Ig({status:Y,isLoading:ye,agentMode:G.agentMode}),[G.agentMode,ye,Y]).workStripText,ba=Ht?.workStripText??Eo,Mi=ge(()=>Ig({status:Y,isLoading:ye,agentMode:G.agentMode,parallelTextOverride:ba}),[G.agentMode,ba,ye,Y]),Do=ge(()=>yI(Wt).filter(u=>u!==Cd),[Wt]),tt=ge(()=>ff(Ve,Do,Ve.selectedItemId),[Do,Ve]),Tn=ge(()=>Wt.find(u=>u.id===tt),[Wt,tt]),$y=ge(()=>({...Ve,supportsSelection:Ve.supportsSelection&&Rt,supportsCopyOnSelect:Ve.supportsCopyOnSelect&&Rt}),[Ve,Rt]),_n=ge(()=>FI({state:$y,selectableItemIds:Do,selectedItemId:tt,selectedItemType:Tn?.type,isExpanded:tt?Sn.has(tt):!1}),[Sn,Do,Tn?.type,tt,$y]),Oy=_n.selectionEnabled,Dy=_n.copyCapabilities.copyOnSelect,IB=_n.selectedItemIndex,Ny=ge(()=>gI(Tn),[Tn]),kl=ge(()=>fI(Wt.filter(u=>!rh(u))),[Wt]),Lt=ge(()=>pI(kl,Zt),[kl,Zt]),El=ge(()=>GI({isHistorySearchActive:pt,historySearchQuery:Zt,matches:Lt,selectedIndex:Cl,anchorItemId:Ve.searchAnchorItemId,useOverlaySurface:Ve.supportsOverlaySurface&&Ve.supportsSearchViewport&&Rt}),[Lt,Zt,Cl,pt,Ve.searchAnchorItemId,Ve.supportsOverlaySurface,Ve.supportsSearchViewport,Rt]),Jr=El.clampedSelectedIndex,By=El.statusText,ip=El.detailText,Hy=El.searchState,vB=_n.detailState==="expanded",Ml=_n.selectionEnabled&&Do.length>0&&!kr,Ai=_n.copyCapabilities.message,Al=_n.copyCapabilities.toolInput,_l=_n.toggleDetail;je(()=>{if(Ca){if(er.current&&(clearTimeout(er.current),er.current=null),Eo===Ca)return;if(Eo){Kt.current&&(clearTimeout(Kt.current),Kt.current=null),ua(Ca);return}Kt.current&&clearTimeout(Kt.current),Kt.current=setTimeout(()=>{ua(Ca),Kt.current=null},400);return}if(!Eo){Kt.current&&(clearTimeout(Kt.current),Kt.current=null);return}Kt.current&&(clearTimeout(Kt.current),Kt.current=null),er.current&&clearTimeout(er.current),er.current=setTimeout(()=>{ua(void 0),er.current=null},300)},[_o,Ca,Eo]),je(()=>()=>{_o()},[_o]);let Zr=ge(()=>TI({state:Ve,ownsViewport:Rt,isAwaitingUserInteraction:nr,isHistorySearchActive:pt,isTranscriptMode:te,historySearchQuery:Zt}),[Zt,nr,pt,te,Ve,Rt]);je(()=>{Zn(u=>{let g=f0(u,Fn);return g=d0(g,ya),g=m0(g,s.enabled&&Rt?!Uf||pt||nr:te||pt||nr),g=y0(g,Jr),g})},[Jr,s.enabled,Fn,nr,pt,te,ya,Rt,Uf]),je(()=>{Cl!==Jr&&Kn(Jr)},[Jr,Cl]),je(()=>{if(!pt){Jf.current=Zt;return}if(Zt===Jf.current)return;Jf.current=Zt;let u=hI(kl,Lt,Ve.searchAnchorItemId);Kn(u)},[Lt,Zt,pt,Ve.searchAnchorItemId,kl]);let Wy=te?Re:{isThinking:Oe.isThinking,thinkingCharCount:Oe.thinkingCharCount,currentTool:Oe.currentTool,activeToolCalls:Oe.activeToolCalls,toolInputCharCount:Oe.toolInputCharCount,toolInputContent:Oe.toolInputContent,currentIteration:Oe.currentIteration,isCompacting:Oe.isCompacting},Ia=te?mt:en,[sp,ap]=Ue(()=>ln(G.permissionMode)?l.getGuardrail().getEngine():void 0),Ll=ge(()=>WI({sessionId:n.sessionId,permissionMode:G.permissionMode,agentMode:G.agentMode,provider:G.provider,model:G.model??Pn(G.provider)??G.provider,thinking:G.thinking,reasoningMode:G.reasoningMode,reasoningCapability:cu(au(G.provider,G.model)),isTranscriptMode:te,streamingState:Wy,maxIter:$.maxIter,contextUsage:wy,isLoading:Ia,managedState:{phase:Y?.phase,harnessProfile:Y?.harnessProfile,workerTitle:Y?.activeWorkerTitle,round:Y?.currentRound,maxRounds:Y?.maxRounds,globalWorkBudget:Y?.globalWorkBudget,budgetUsage:Y?.budgetUsage,budgetApprovalRequired:Y?.budgetApprovalRequired,idleWaiting:Y?.idleWaiting,idleWaitingPendingCount:Y?.idleWaitingPendingCount},autoModeEngine:sp}),[n.sessionId,G.permissionMode,G.agentMode,G.provider,G.model,G.thinking,G.reasoningMode,te,Wy,$.maxIter,wy,Ia,Y?.phase,Y?.harnessProfile,Y?.activeWorkerTitle,Y?.currentRound,Y?.maxRounds,Y?.globalWorkBudget,Y?.budgetUsage,Y?.budgetApprovalRequired,Y?.idleWaiting,Y?.idleWaitingPendingCount,sp]),cp=rt?"confirm":Be?.kind,Fy=ge(()=>BI({isTranscriptMode:te,isLoading:Ia,streamingState:Oe,managedState:Ia?{phase:Y?.phase,harnessProfile:Y?.harnessProfile,workerTitle:Y?.activeWorkerTitle}:void 0,waitingReason:cp,workflowBuilderMessage:ry??void 0,backgroundWorkflowMessage:My}),[Oe.activeToolCalls,Oe.currentTool,Oe.isCompacting,Oe.isThinking,Oe.thinkingCharCount,Oe.toolInputCharCount,Oe.toolInputContent,te,Y?.activeWorkerTitle,Y?.harnessProfile,Y?.phase,cp,Ia,ry,My]),Er=DI({activity:Fy})?Fy:void 0,jy=Er?.text,Uy=!!Er,Gy=we(!1);je(()=>{Gy.current&&!ye&&br(u=>u.length>0?[]:u),Gy.current=ye},[ye]);let lp=ge(()=>kd(Ll),[Ll]),Vy=ge(()=>lp,[lp]),Ky=Vy.text,hk=ge(()=>KC($.pendingInputs),[$.pendingInputs]),up=ge(()=>Lb({isHistorySearchActive:pt,isTranscriptMode:te,pendingInputCount:$.pendingInputs.length,buffering:Ve.buffering,pendingLiveUpdates:ya}),[pt,te,ya,$.pendingInputs.length,Ve.buffering]),zy=up.leftItems,Xy=up.rightItems,Yy=up.summary,Pl=ge(()=>KI({historySearchQuery:Zt,pendingInputCount:$.pendingInputs.length}),[Zt,$.pendingInputs.length]),$l=ge(()=>VI({historySearchQuery:Zt,isHistorySearchActive:pt,historySearchMatchCount:Lt.length,pendingInputCount:$.pendingInputs.length,maxPendingInputs:5}),[Lt.length,Zt,pt,$.pendingInputs.length]),qy=ge(()=>$l.map(u=>u.text).join(" | "),[$l]),Ol=ge(()=>zI({inputText:Ff,isTranscriptMode:te,isHistorySearchActive:pt}),[Ff,pt,te]),Qy=Ve.supportsOverlaySurface&&Ve.supportsSearchViewport&&Rt,Dl=ge(()=>jI({runtime:_n,itemSummary:Ny}),[Ny,_n]),dp=ge(()=>XI(Pl),[Pl]),Jy=ge(()=>YI({textSelection:kr,selectionState:Dl,isHistorySearchActive:pt,historySearchDetailText:ip,historySearchHasMatches:!!By&&Lt.length>0,showAllActive:At,baseFooterNotices:Pl}),[kr,Pl,ip,Lt.length,By,pt,At,Dl]),gk=Jy.secondaryText,yk=Jy.budgetNotices,Zy=te?yk:dp,ex=S,tx=te?"":Ff,nx=te?void 0:hk,rx=ba,ox=te?!1:hy,ix=_t.shouldRender?Rb(_t):0,sx=ye&&or.shouldRender?or.rows.length:0,ax=_y?Ah(np):0,Ft=ge(()=>a0({terminalRows:ex,terminalWidth:k,windowedTranscript:Po,inputText:tx,footerHeaderText:Yy,activitySummary:te?void 0:jy,activityBarVisible:te?!1:Uy,workflowSurfaceRows:te?0:ix,childActivitySurfaceRows:te?0:ax,todoSurfaceRows:te?0:sx,pendingInputSummary:nx,stashNoticeSummary:Ol,notificationSummary:qy,statusNoticeSummary:Zy.join(" | "),workStripText:rx,suggestionsReserved:Il,suggestionsMode:"inline",showHelp:ox,statusBarText:Ky,confirmPrompt:rt?.prompt,confirmInstruction:ga,dialogMode:"inline",reviewHint:s.enabled&&Rt?void 0:Zr.browseHintText,uiRequest:Be?Be.kind==="select"?{kind:"select",title:Be.title,options:Be.options.map(u=>({label:u.label,description:u.description})),buffer:Be.buffer,error:Be.error}:{kind:"input",prompt:Be.prompt,defaultValue:Be.defaultValue,buffer:Be.buffer,error:Be.error}:null}),[ex,k,tx,Yy,jy,Uy,te,ix,ax,sx,nx,Ol,qy,Zy,rx,Il,Qy,ox,Ky,rt,ga,s.enabled,Zr.browseHintText,Rt,Be]),fp=ge(()=>{if(!Ei)return{model:Oo,committedSections:[]};let{committedSections:u,liveRows:g}=pC(wa.staticSections,Oo.rows,Oo.previewRows,Ft.messageRows);return{model:{...Oo,staticSections:[],rows:g,previewRows:[]},committedSections:u}},[Ei,Oo,wa.staticSections,Ft.messageRows]),cx=fp.model;je(()=>{let u=Qo(T),g=typeof u?.commitInlineScrollback=="function",x=lI({active:Ei,hasCommitHandle:g,wasActive:Py.current,forceRebuild:rp.current,prior:Ly.current,finalizedSections:fp.committedSections,bannerSection:Qr,width:k,identify:mC}),I=!1,v=!1;if(x.kind==="commit"){let U=x.sections.flatMap(ee=>ee.rows),V=aI(U.length>0?[{key:"il-delta",rows:U}]:[],{width:k,theme:ne("dark")});if(v=V.length>0,x.mode==="append"&&!V)gv("empty-append-text");else try{u?.commitInlineScrollback?.({mode:x.mode,text:V}),I=!0}catch(ee){gv("commit-threw",ee)}}let _=uI(x,{committed:I,hadContent:v},rp.current);Ly.current=_.state,Py.current=_.wasActive,rp.current=_.owns},[Ei,fp.committedSections,Qr,k,T]);let xk=ge(()=>ie(wh,{reserveSpace:Il,width:k,hidden:te,mode:"inline"}),[Il,k,te,Qy]),va=ge(()=>CI(Ft.messageRows),[Ft.messageRows]),lx=ge(()=>bI(va),[va]),_i=!Iy&&s.transcriptSpinnerAnimation,Ra=ir?ir.rows.length+ir.previewRows.length:qR,Nl=z(u=>{ir||QR(u.scrollHeight)},[ir]),ka=z(u=>MI({window:u,stickyHeader:Zr.stickyHeader,width:k,topChromeRows:0}),[k,Zr.stickyHeader]),Li=z((u=sa.current,g=el.current,x=Gf.current?ka(Gf.current):Zc.current)=>{if(!x||u.length===0){mi.current=null;return}Zc.current=x,mi.current=AI(u,{allRows:g,rowIndexByKey:Sg(g),topOffsetRows:x.topOffsetRows,viewportHeight:x.contentWindow.viewportHeight,animateSpinners:_i})},[ka,_i]),Ea=z(()=>{let u=Zc.current;return u?.contentWindow.viewportHeight&&u.contentWindow.viewportHeight>0?u.contentWindow.viewportHeight:Ft.messageRows},[Ft.messageRows]),Sk=z(u=>{Gf.current=u;let g=ka(u);Zc.current=g,Li(sa.current,el.current,g)},[Li,ka]),Bl=z(u=>{sa.current=u.rows,el.current=u.allRows,Li(u.rows,u.allRows)},[Li]),Yt=z(()=>{jn.current=null,Vf(void 0),Kf(void 0)},[]),pp=z(()=>{Yt(),Zn(u=>Gs(u,void 0))},[Yt]);je(()=>{Li()},[Li]),je(()=>{ZR(u=>II(u,Ra,Ft.messageRows))},[Ra,Ft.messageRows]),je(()=>{if(!hi)return;let u=setTimeout(()=>{ey(void 0)},2e3);return()=>{clearTimeout(u)}},[hi]);let Mr=z((u,g="success")=>{let x=u?.trim();x&&ey({text:x,tone:g})},[]),Pi=z((u,g)=>{let x=g instanceof Error?g.message:String(g);return`${u}: ${x}`},[]),Hl=z(async u=>{let g=u??kr;if(!g)return!1;let x=g.text.trimEnd();if(!x)return!1;try{return await Wa(x,{terminalWrite:P}),Mr(`Copied ${g.rowCount} selected line${g.rowCount===1?"":"s"} to clipboard.`,"success"),!0}catch(I){return Mr(Pi("Failed to copy transcript selection",I),"warning"),!1}},[kr,Pi,Mr,P]),$i=z(u=>{if(!u||RI({items:Wt,renderModel:ir,terminalWidth:k,transcriptMaxLines:vt,viewportRows:Ea(),itemId:u,visibleRows:sa.current,expandedItemKeys:Sn,showDetailedTools:!1}))return;let g=kI({items:Wt,renderModel:ir,terminalWidth:k,transcriptMaxLines:vt,viewportRows:Ea(),itemId:u,expandedItemKeys:Sn,showDetailedTools:!1});qc(g)},[Wt,k,vt,ir,Sn,Ea,qc,sa]),ux=z(u=>{Zn(g=>Gs(g,u)),u&&$i(u)},[$i]),mp=z(u=>{u&&$i(u)},[$i]),dx=z(u=>{if(!Ml)return;let g=xI(Do,tt,u);g&&ux(g)},[Ml,Do,tt,ux]),fx=z(()=>{!_l||!tt||(nk(u=>{let g=new Set(u);return g.has(tt)?g.delete(tt):g.add(tt),g}),$i(tt))},[$i,_l,tt]),px=z(async()=>{if(!Ai||!Tn)return;let u=xg(Tn);if(u)try{await Wa(u,{terminalWrite:P}),Mr("Copied selected transcript entry to clipboard.","success")}catch(g){Mr(Pi("Failed to copy transcript entry",g),"warning")}},[Pi,Ai,Tn,Mr,P]),mx=z(async()=>{if(!Al||!Tn)return;let u=SI(Tn);if(u)try{await Wa(u,{terminalWrite:P}),Mr("Copied selected tool args to clipboard.","success")}catch(g){Mr(Pi("Failed to copy tool args",g),"warning")}},[Pi,Al,Tn,Mr,P]),Ma=z(()=>el.current,[]),hx=z((u,g)=>{if(!s.enabled||!Rt)return;let x=mi.current;return x?Tg(x,u,g):void 0},[s.enabled,Rt]),Oi=z((u,g,x)=>{let I=Ma(),v=PI(I,u,g,{animateSpinners:_i,selectFullRowOnCollapsed:x?.selectFullRowOnCollapsed});te?Kf(v):Vf(v);let _=I[Math.max(0,Math.min(g.modelRowIndex,I.length-1))];return x?.updateSelectedItem&&_?.itemId&&Zn(U=>Gs(U,_.itemId)),v},[te,Ma,_i]),gx=z((u,g)=>{if(!u)return;jn.current=null;let x={...u,focus:g?.focusPoint??u.focus};if(!(x.mode!=="char"||x.didDrag)){Yt();return}let v=Oi(x.anchor,x.focus,{selectFullRowOnCollapsed:!1,updateSelectedItem:!1});if(!v){Yt();return}return g?.copySelection!==!1&&Hl(v),v},[Yt,Hl,Oi]),hp=z(()=>{if(!te||!Wt.length||rt||Be)return;Yt();let u=EI({items:Wt,selectedItemId:tt,renderModel:ir,terminalWidth:k,transcriptMaxLines:vt,viewportRows:Ea(),scrollOffset:Fn,expandedItemKeys:Sn,showDetailedTools:!1,preferViewportAnchor:!0});Zn(g=>h0(g,{anchorItemId:u,initialMatchIndex:0})),vi(""),Kn(0)},[rt,Wt,Sn,Fn,te,tt,ir,k,vt,Be,Ea,Yt]),gp=z(()=>{Zn(u=>g0(u)),vi(""),Kn(0),Yt()},[Yt]),Wl=z(()=>{!pt||Lt.length===0||Kn(-1)},[Lt.length,pt]),yx=ge(()=>{if(!rt)return null;if(rt.tool==="exit_plan_mode"){let u=typeof rt.input.plan=="string"?rt.input.plan:void 0;return{prompt:rt.prompt.split(`
141
141
  `,1)[0]??rt.prompt,instruction:ga,planContent:u}}return{prompt:rt.prompt,instruction:ga}},[ga,rt]),xx=ge(()=>Be?Be.kind==="select"?{kind:"select",title:Be.title,options:Be.options,buffer:Be.buffer,error:Be.error,visibleSelectOptions:Ft.visibleSelectOptions,focusedIndex:Be.focusedIndex,selectedIndices:Be.selectedIndices,multiSelect:Be.multiSelect}:{kind:"input",prompt:Be.prompt,defaultValue:Be.defaultValue,buffer:Be.buffer,error:Be.error}:null,[Be,Ft.visibleSelectOptions]),wk=ge(()=>ie(Ch,{confirm:yx,request:xx}),[yx,xx]),yp=ge(()=>{if(hi)return ie(bb,{text:hi.text,tone:hi.tone})},[hi]),xp=ge(()=>{if(yp)return ie(R,{flexDirection:"column",width:"100%",children:yp})},[yp]),Fl=z(()=>{Zn(u=>p0(u0(u))),jf(!1),Jc(),vi(""),Kn(0),Yt()},[Yt,Jc]),Sx=z(()=>{te&&jf(u=>!u)},[te]),Tk=z(()=>{if(te){Fl();return}jf(!1),Zn(u=>l0(u)),vi(""),Kn(0),Yt()},[Yt,Fl,te]);je(()=>{Oy||!Ve.selectedItemId||Zn(u=>Gs(u,void 0))},[Oy,Ve.selectedItemId]),je(()=>{if(!te||!Ai||!Dy){ha.current=void 0;return}if(Cr||!tt||!Tn)return;if(!ha.current){ha.current=tt;return}if(ha.current===tt)return;ha.current=tt;let u=xg(Tn);u&&Wa(u,{terminalWrite:P}).catch(()=>{})},[te,Tn,tt,Ai,Dy,Cr,P]),je(()=>{if(T?.isTTY!==!0)return;let u=Qo(T);u?.setShellMode?.(Ty,bl),Zf||u?.setAltScreenActive?.(!1)},[Ty,T,Zf,bl]);let De=we({...e,thinking:G.thinking,reasoningMode:G.reasoningMode,agentMode:G.agentMode,context:{...e.context,repoIntelligenceMode:G.repoIntelligenceMode,repoIntelligenceTrace:G.repoIntelligenceTrace,toolConstructionMode:!0},session:{...e.session,id:n.sessionId,persistedByHost:!0},guardrails:bf(G.permissionMode,l)}),Cn=we(G.permissionMode);je(()=>{Cn.current=G.permissionMode},[G.permissionMode]);let Ck=ge(()=>Zi(),[]),wx=we(Ck),Sp=we(G);je(()=>{Sp.current=G},[G]);let wp=we(null);wp.current===null&&(wp.current=ru({getProvider:o(()=>La(Sp.current.provider),"getProvider"),getModel:o(()=>Sp.current.model??"","getModel")}));let Tx=we(su());je(()=>{G.permissionMode==="auto-in-project"&&Tx.current()},[]);let Tp=z(u=>{gt(g=>({...g,permissionMode:u})),Cn.current=u,De.current={...De.current,guardrails:bf(u,l)},ap(ln(u)?l.getGuardrail().getEngine():void 0),u==="auto-in-project"&&Tx.current()},[l]),Cx=we($.pendingInputs),ot=we(!1),bx=we(0),Aa=we(0),jl=z(()=>{if(ra.current)return;let u=cl.current?.trim(),g=Z.current.length>0?Z.current[Z.current.length-1]:void 0,x=g&&"text"in g&&typeof g.text=="string"?g.text.trim():void 0,v=Jt.current.length>0?[...Jt.current.map(_=>To(_)),...u&&u!==x?[{type:"info",text:u}]:[]]:[...Jt.current.map(_=>To(_)),...dD(Se(),Ce(),{toolCalls:zt.current,toolNames:tr.current,infoItems:u&&u!==x?[u]:[]})];v.length!==0&&(ra.current=!0,pl(Jt.current),pi.current?.(v))},[Ce,Se,pl]);je(()=>{Cx.current=$.pendingInputs},[$.pendingInputs]);let Ix=z(()=>{ot.current=!0,le(),X(),fe(),be(),Pe(),We(),ce(void 0),Yr(),xt(void 0),fa(),Mo.current=[],xi.current=[],ut.current=null,cl.current=null,ca([]),nl(null),gi(null),_o(),ua(void 0),he(!1),T?.isTTY===!0&&Qo(T)?.clear?.()},[le,We,be,Pe,_o,Yr,fa,ce,ca,he,xt,X,fe,T]),Ul=z(u=>{let g=sS(),x=g.list().filter(v=>v.status==="running"||v.status==="paused");if(x.length===0)return!1;for(let v of x)g.stop(v.runId,u);il(v=>!v||v.status!=="running"||!x.some(_=>_.runId===v.runId)?v:{...v,status:"stopped",activeAgents:[],message:"Workflow stopped by user."});let I=x[0];return x.length===1&&I?wn({type:"info",text:`Stopped workflow ${I.workflow} (${I.runId}).`},"workflow-stop"):wn({type:"info",text:`Stopped ${x.length} active workflows.`},"workflow-stop"),!0},[wn,il]);je(()=>{if(!_t.shouldRender)return;let u=o(()=>{Ul("stopped by Ctrl+C")},"handleSigint");return process.on("SIGINT",u),()=>{process.off("SIGINT",u)}},[Ul,_t.shouldRender]),kn(cn.Critical,u=>{let g=u.name==="escape",x=Date.now(),I=g&&!te&&!nr&&ia&&$.pendingInputs.length===0&&(ye||_t.shouldRender),v=I&&(u.meta===!0||x-bx.current<sD);if(bx.current=I?x:0,A0({keyName:u.name,ctrl:!!u.ctrl,isTranscriptMode:te,isAwaitingUserInteraction:nr,isInputEmpty:ia,isDoubleEscape:v,pendingInputCount:$.pendingInputs.length,hasTranscriptTextSelection:!!Cr,hasActiveWorkflow:_t.shouldRender}))return Ul(u.ctrl?"stopped by Ctrl+C":"stopped by Escape");if(!ye)return!1;switch(_0({keyName:u.name,ctrl:!!u.ctrl,isTranscriptMode:te,isAwaitingUserInteraction:nr,isInputEmpty:ia,isDoubleEscape:v,pendingInputCount:$.pendingInputs.length,hasTranscriptTextSelection:!!Cr}).kind){case"interrupt":return jl(),Ix(),!0;case"pop-pending-input":return $e(),!0;default:break}return!1},[ye,te,nr,ia,$.pendingInputs.length,$e,jl,Ix,Ul,Cr,_t.shouldRender]),kn(cn.Critical,u=>{let g=k0({itemsLength:Wt.length,currentResponse:Ye.currentResponse,thinkingContent:Ye.thinkingContent,activeToolCallsLength:Ye.activeToolCalls.length}),x=E0({keyName:u.name,hasTranscript:g,historyScrollOffset:Fn,reviewPageSize:va,reviewWheelStep:lx,hasMouse:!!u.mouse,mouseButton:u.mouse?.button,mouseAction:u.mouse?.action,usesManagedMouseClicks:Cy,supportsMouseTracking:Ve.supportsMouseTracking,usesRendererMouseTracking:bl,usesManagedMouseWheel:by,supportsWheelHistory:Ve.supportsWheelHistory});if(x.kind==="mouse-phase"){let v=u.mouse;if(!v)return!1;x.phase==="press"&&jn.current&&gx(jn.current);let _=hx(v.row,v.column);if(x.phase==="press"){if(!_||!g)return kr||tt?(pp(),!0):(Yt(),!1);let U=av({previous:Zg.current,time:Date.now(),row:v.row,column:v.column});Zg.current=U;let V=U.count>=3?"line":U.count===2?"word":"char";if(Wl(),Zn(ee=>Gs(ee,void 0)),te?Kf(void 0):Vf(void 0),V!=="char"){let ee=Cf(Ma(),_.point,V);if(ee)return jn.current={anchor:ee.start,focus:ee.end,didDrag:!1,mode:V,anchorSpan:ee},Oi(ee.start,ee.end,{updateSelectedItem:!1}),!0}return jn.current={anchor:_.point,focus:_.point,didDrag:!1,mode:"char"},!0}if(!jn.current)return!1;if(x.phase==="drag"){let U=mi.current,V=U?OI(U,v.row):0;V!==0&&Qc(V);let ee=_??(U?Cg(U,v.row,v.column):void 0);if(!ee)return!1;let Te=jn.current;if(Te.mode!=="char"&&Te.anchorSpan){let ct=Cf(Ma(),ee.point,Te.mode);if(!ct)return!1;let nt=kg(Te.anchorSpan,ct);return jn.current={...Te,anchor:nt.anchor,focus:nt.focus,didDrag:!0},Oi(nt.anchor,nt.focus,{updateSelectedItem:!1}),!0}return jn.current={...Te,focus:ee.point,didDrag:!0},Oi(Te.anchor,ee.point,{updateSelectedItem:!1}),!0}if(x.phase==="release"){let U=jn.current,V=U.focus,Te=(_??(mi.current?Cg(mi.current,v.row,v.column):void 0))?.point??V;if(U.mode!=="char"&&U.anchorSpan){let ct=Cf(Ma(),Te,U.mode);if(ct){let nt=kg(U.anchorSpan,ct);U.anchor=nt.anchor,Te=nt.focus}}return gx(U,{focusPoint:Te}),!0}}if(x.kind==="scroll-by")return Wl(),Qc(x.delta),!0;if(x.kind==="consume")return!0;let I=L0({key:u,isTranscriptMode:te,isHistorySearchActive:pt,historySearchMatchCount:Lt.length,hasTextSelection:!!kr,hasFocusedItem:!!tt,canCopySelectedItem:Ai,canCopySelectedToolInput:Al,canToggleSelectedDetail:_l,canCycleTranscriptSelection:Ml});return P0({action:I,hasTranscript:g,isTranscriptMode:te,pageScrollDelta:va,disarmHistorySearchSelection:Wl,scrollTranscriptBy:Qc,closeHistorySearchSurface:gp,backspaceHistorySearchQuery:o(()=>{vi(v=>v.slice(0,-1)),Kn(0)},"backspaceHistorySearchQuery"),stepHistorySearchSelection:o(v=>{Kn(_=>yg(Lt.length,_,v))},"stepHistorySearchSelection"),submitHistorySearchSelection:o(()=>{let v=Lt[Jr];v&&(mp(v.itemId),gp())},"submitHistorySearchSelection"),appendHistorySearchQuery:o(v=>{vi(_=>_+v),Kn(0)},"appendHistorySearchQuery"),openHistorySearchSurface:hp,clearTranscriptSelectionFocus:pp,exitTranscriptModeSurface:Fl,toggleTranscriptShowAll:Sx,scrollTranscriptHome:o(()=>{qc(Math.max(0,Ra-Ft.messageRows))},"scrollTranscriptHome"),scrollTranscriptToBottom:o(()=>{Jc(),Yt()},"scrollTranscriptToBottom"),cycleTranscriptSelection:dx,copySelectedTranscriptText:o(()=>{Hl()},"copySelectedTranscriptText"),copySelectedTranscriptItem:o(()=>{px()},"copySelectedTranscriptItem"),copySelectedTranscriptToolInput:o(()=>{mx()},"copySelectedTranscriptToolInput"),toggleSelectedTranscriptDetail:fx,navigateSearchMatch:o(v=>{Kn(_=>{let U=yg(Lt.length,_,v),V=Lt[U];return V&&mp(V.itemId),U})},"navigateSearchMatch"),dumpTranscriptToScrollback:o(()=>{$0({items:Wt.filter(v=>!rh(v)),exitAltScreen:o(()=>{P(Zu({mouseTracking:!0}))},"exitAltScreen"),writeToScrollback:o(v=>{P(v)},"writeToScrollback"),enterAltScreen:o(()=>{P(Ju({mouseTracking:!0,clearOnEnter:!1}))},"enterAltScreen")})},"dumpTranscriptToScrollback")})},[te,Wt,Ye.currentResponse,Ye.thinkingContent,Ye.activeToolCalls,Fn,Ra,va,lx,tt,pp,Fl,Sx,Ve,Qc,qc,Jc,Ml,Jr,Yt,Hl,Lt,hp,gp,Wl,dx,Ai,px,Al,mx,_l,fx,mp,kr,hx,Ve.supportsMouseTracking,Cr,Cy,by,ep,Po,bl,Oi,Ft.messageRows]),kn(u=>{if(!rt)return!1;let g=u.sequence.trim().toLowerCase(),x=!!rt.input._alwaysConfirm,I=G.permissionMode==="accept-edits"&&!x,v=o(_=>{let U=`${oe("dialog.confirm")} ${rt.prompt}
142
- \u2192 ${oe(`confirm.result.${_}`)}`;!!st.current.workerId?on({id:`confirm-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"info",text:U,timestamp:Date.now()}):W({type:"info",text:U})},"recordConfirmResult");return g==="y"||g==="yes"?(v("approved"),Sl(null),Lo.current?.({confirmed:!0}),Lo.current=null,!0):I&&(g==="a"||g==="always")?(v("approved_always"),Sl(null),Lo.current?.({confirmed:!0,always:!0}),Lo.current=null,!0):g==="n"||g==="no"||u.name==="escape"?(v("denied"),Sl(null),Lo.current?.({confirmed:!1}),Lo.current=null,!0):u.insertable||u.name==="return"},{isActive:!!rt,priority:cn.Critical});let Gl=z(u=>{Vn(null),wl.current?.(u),wl.current=null},[]),Di=z((u,g,x)=>g.length===0?Promise.resolve(void 0):new Promise(I=>{wl.current=I,Vn({kind:"select",title:u,options:g,buffer:"",focusedIndex:0,selectedIndices:[],multiSelect:x})}),[]),bk=z((u,g)=>Di(u,g.map(x=>({label:x,value:x}))),[Di]),vx=z(async u=>{let g=u.options?Tf(u.options):[];return await Di(bg(u),g,u.multiSelect)??Lp},[Di]);je(()=>{let u=!1;return(async()=>{let{bindAskUserForConstruction:g}=await import("./construction-bootstrap-AVTILHEH.js");u||g(vx)})(),()=>{u=!0,(async()=>{let{bindAskUserForConstruction:g}=await import("./construction-bootstrap-AVTILHEH.js");g(null)})()}},[vx]);let Rx=z((u,g)=>new Promise(x=>{wl.current=x,Vn({kind:"input",prompt:u,defaultValue:g,buffer:""})}),[]);kn(u=>{let g=Tl.current;if(!g)return!1;if(u.name==="escape")return Gl(void 0),!0;if(g.kind==="select"){let x=g.options.length;if(u.name==="up"||u.sequence==="k")return Vn(I=>I&&I.kind==="select"?{...I,focusedIndex:(I.focusedIndex-1+x)%x,error:void 0}:I),!0;if(u.name==="down"||u.sequence==="j")return Vn(I=>I&&I.kind==="select"?{...I,focusedIndex:(I.focusedIndex+1)%x,error:void 0}:I),!0;if(u.sequence===" "&&g.multiSelect)return Vn(I=>{if(!I||I.kind!=="select")return I;let v=I.focusedIndex,_=I.selectedIndices.includes(v)?I.selectedIndices.filter(U=>U!==v):[...I.selectedIndices,v];return{...I,selectedIndices:_,error:void 0}}),!0;if(u.name==="return"){let I=Tl.current;if(!I||I.kind!=="select")return!1;if(I.multiSelect){if(I.selectedIndices.length===0)return Vn(_=>_&&_.kind==="select"?{..._,error:oe("select.multiselect_empty")}:_),!0;let v=I.selectedIndices.sort((_,U)=>_-U).map(_=>I.options[_]?.value).filter(Boolean).join(", ");Gl(v)}else Gl(I.options[I.focusedIndex]?.value);return!0}if(/^[1-9]$/.test(u.sequence)){let I=Number.parseInt(u.sequence,10)-1;if(I>=0&&I<x)return g.multiSelect?Vn(v=>{if(!v||v.kind!=="select")return v;let _=v.selectedIndices.includes(I)?v.selectedIndices.filter(U=>U!==I):[...v.selectedIndices,I];return{...v,focusedIndex:I,selectedIndices:_,error:void 0}}):Vn(v=>v&&v.kind==="select"?{...v,focusedIndex:I,error:void 0}:v),!0}return!1}if(u.name==="return"){let x=Tl.current;if(!x||x.kind!=="input")return!1;let I=x.buffer.trim();return Gl(I===""?x.defaultValue??void 0:I),!0}return u.name==="backspace"||u.name==="delete"?(Vn(x=>x&&x.kind==="input"?{...x,buffer:x.buffer.slice(0,-1),error:void 0}:x),!0):(u.insertable||u.isPasted===!0)&&!u.ctrl&&!u.meta?(Vn(x=>x&&x.kind==="input"?{...x,buffer:x.buffer+u.sequence,error:void 0}:x),!0):!1},{isActive:!!Be,priority:cn.Critical}),je(()=>{if(n.messages.length>0&&D.length===0){if(n.uiHistory?.length){let u=Wr(n.uiHistory);u.length!==n.uiHistory.length&&(n.uiHistory=u),de(qd({messages:n.messages,uiHistory:u}));return}de(qd({messages:n.messages}))}},[n.messages,n.uiHistory,D.length,de]),je(()=>{ql(n.gitRoot)},[n.gitRoot]),je(()=>{process.env.KODAX_PREWARM_REPO_INTELLIGENCE!=="0"&&zx({executionCwd:n.gitRoot??process.cwd(),gitRoot:n.gitRoot??void 0},{mode:G.repoIntelligenceMode})},[n.gitRoot,G.repoIntelligenceMode]);let Ni=z(()=>({onThinkingDelta:o((u,g)=>{if(ot.current||An(g,"thinking",u,{append:!0}))return;$.currentTool&&(ce(void 0),Pe());let{header:x}=Vb(Se()+u),I=x?`[Thinking: ${x}]`:"[Thinking]";xt(nf(ut.current?.activeWorkerTitle?`[${ut.current.activeWorkerTitle}] ${I}`:I,ut.current?.activeWorkerTitle)),He(u.length),F(u),st.current.workerId&&hl("thinking",u)},"onThinkingDelta"),onThinkingEnd:o((u,g)=>{if(ot.current||An(g,"thinking",u))return;let x=Se(),I=jb(x,u);I&&I!==x&&(be(),Ee(),He(I.length),F(I)),st.current.workerId&&fy(I),fe()},"onThinkingEnd"),onTextDelta:o((u,g)=>{ot.current||An(g,"assistant",u,{append:!0})||($.currentTool&&(ce(void 0),Pe()),fe(),xt(void 0),Ct(u),st.current.workerId&&hl("assistant",u))},"onTextDelta"),onToolUseStart:o((u,g)=>{if(ot.current||An(g,"tool",rb(u.name,u.input)))return;tr.current.includes(u.name)||(tr.current=[...tr.current,u.name]);let x=ut.current?.activeWorkerTitle?`[${ut.current.activeWorkerTitle}] `:"",I={id:u.id,name:`${x}${u.name}`,status:H.Executing,startTime:Date.now(),input:u.input};py(I),st.current.workerId&&Gn(I),xt(Fr(I,ut.current?.activeWorkerTitle))},"onToolUseStart"),onToolInputDelta:o((u,g,x)=>{if(ot.current||An(x,"tool",u,{skipIfExisting:!0}))return;it(g.length),re(g);let I=my(x?.toolId,u,v=>{let _=v.preview??"",U=Hb(`${_}${g}`);return{...v,preview:U||void 0,input:v.input?U?{...v.input,preview:U}:{...v.input}:U?{preview:U}:void 0}});I&&(st.current.workerId&&Gn(I),xt(Fr(I,ut.current?.activeWorkerTitle)))},"onToolInputDelta"),onToolResult:o((u,g)=>{if(ot.current||An(g,"tool",`${u.name} completed`))return;let x=typeof u.content=="string"?u.content:String(u.content??""),I=Wb(x);if(/^\[(?:Tool Error|Error)\]/.test(x)){let _=yl(u.id,H.Error,I,I,u.name);_&&(st.current.workerId&&Gn(_),xt(Fr(_,ut.current?.activeWorkerTitle)));return}if(/^\[(?:Cancelled|Blocked)\]/.test(x)){let _=yl(u.id,H.Cancelled,void 0,I,u.name);_&&(st.current.workerId&&Gn(_),xt(Fr(_,ut.current?.activeWorkerTitle)));return}let v=yl(u.id,H.Success,void 0,I||void 0,u.name);v&&(st.current.workerId&&Gn(v),xt(Fr(v,ut.current?.activeWorkerTitle)))},"onToolResult"),onToolProgress:o((u,g)=>{if(ot.current||An(g,"progress",u.message))return;let x=u.message.length>100?u.message.slice(0,97)+"...":u.message,I=Ii(u.id,v=>({...v,preview:x,progressLines:[...(v.progressLines??[]).slice(-4),x]}));I&&st.current.workerId&&Gn(I),xt(x)},"onToolProgress"),onStreamEnd:o(u=>{if(ot.current||Vd(u))return;let g=pa(H.Cancelled,()=>({error:"Stream ended before the tool completed.",output:void 0})),x=g[g.length-1];st.current.workerId&&g.forEach(I=>Gn(I)),x&&xt(Fr(x,ut.current?.activeWorkerTitle)),fe(),Pe(),ce(void 0)},"onStreamEnd"),onChildActivityEnd:o(u=>{ay(u)},"onChildActivityEnd"),hasPendingInputs:o(()=>Cx.current.length>0,"hasPendingInputs"),onMidTurnUserMessages:o(u=>{if(!ot.current)for(let g of u){let x=g.trim();x&&(st.current.workerId?on({id:`mid-turn-user-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"user",text:x,timestamp:Date.now()}):W({type:"user",text:x}))}},"onMidTurnUserMessages"),onSidecarMessage:o(u=>{if(ot.current)return;let g=u.delivery==="budget-exhausted"?"[Sidecar budget exhausted]":u.verdict==="revise"?"[Sidecar -> Agent]":"[Sidecar blocked]",x=u.suggestedFix?`
142
+ \u2192 ${oe(`confirm.result.${_}`)}`;!!st.current.workerId?on({id:`confirm-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"info",text:U,timestamp:Date.now()}):W({type:"info",text:U})},"recordConfirmResult");return g==="y"||g==="yes"?(v("approved"),Sl(null),Lo.current?.({confirmed:!0}),Lo.current=null,!0):I&&(g==="a"||g==="always")?(v("approved_always"),Sl(null),Lo.current?.({confirmed:!0,always:!0}),Lo.current=null,!0):g==="n"||g==="no"||u.name==="escape"?(v("denied"),Sl(null),Lo.current?.({confirmed:!1}),Lo.current=null,!0):u.insertable||u.name==="return"},{isActive:!!rt,priority:cn.Critical});let Gl=z(u=>{Vn(null),wl.current?.(u),wl.current=null},[]),Di=z((u,g,x)=>g.length===0?Promise.resolve(void 0):new Promise(I=>{wl.current=I,Vn({kind:"select",title:u,options:g,buffer:"",focusedIndex:0,selectedIndices:[],multiSelect:x})}),[]),bk=z((u,g)=>Di(u,g.map(x=>({label:x,value:x}))),[Di]),vx=z(async u=>{let g=u.options?Tf(u.options):[];return await Di(bg(u),g,u.multiSelect)??Lp},[Di]);je(()=>{let u=!1;return(async()=>{let{bindAskUserForConstruction:g}=await import("./construction-bootstrap-EDDVNP2B.js");u||g(vx)})(),()=>{u=!0,(async()=>{let{bindAskUserForConstruction:g}=await import("./construction-bootstrap-EDDVNP2B.js");g(null)})()}},[vx]);let Rx=z((u,g)=>new Promise(x=>{wl.current=x,Vn({kind:"input",prompt:u,defaultValue:g,buffer:""})}),[]);kn(u=>{let g=Tl.current;if(!g)return!1;if(u.name==="escape")return Gl(void 0),!0;if(g.kind==="select"){let x=g.options.length;if(u.name==="up"||u.sequence==="k")return Vn(I=>I&&I.kind==="select"?{...I,focusedIndex:(I.focusedIndex-1+x)%x,error:void 0}:I),!0;if(u.name==="down"||u.sequence==="j")return Vn(I=>I&&I.kind==="select"?{...I,focusedIndex:(I.focusedIndex+1)%x,error:void 0}:I),!0;if(u.sequence===" "&&g.multiSelect)return Vn(I=>{if(!I||I.kind!=="select")return I;let v=I.focusedIndex,_=I.selectedIndices.includes(v)?I.selectedIndices.filter(U=>U!==v):[...I.selectedIndices,v];return{...I,selectedIndices:_,error:void 0}}),!0;if(u.name==="return"){let I=Tl.current;if(!I||I.kind!=="select")return!1;if(I.multiSelect){if(I.selectedIndices.length===0)return Vn(_=>_&&_.kind==="select"?{..._,error:oe("select.multiselect_empty")}:_),!0;let v=I.selectedIndices.sort((_,U)=>_-U).map(_=>I.options[_]?.value).filter(Boolean).join(", ");Gl(v)}else Gl(I.options[I.focusedIndex]?.value);return!0}if(/^[1-9]$/.test(u.sequence)){let I=Number.parseInt(u.sequence,10)-1;if(I>=0&&I<x)return g.multiSelect?Vn(v=>{if(!v||v.kind!=="select")return v;let _=v.selectedIndices.includes(I)?v.selectedIndices.filter(U=>U!==I):[...v.selectedIndices,I];return{...v,focusedIndex:I,selectedIndices:_,error:void 0}}):Vn(v=>v&&v.kind==="select"?{...v,focusedIndex:I,error:void 0}:v),!0}return!1}if(u.name==="return"){let x=Tl.current;if(!x||x.kind!=="input")return!1;let I=x.buffer.trim();return Gl(I===""?x.defaultValue??void 0:I),!0}return u.name==="backspace"||u.name==="delete"?(Vn(x=>x&&x.kind==="input"?{...x,buffer:x.buffer.slice(0,-1),error:void 0}:x),!0):(u.insertable||u.isPasted===!0)&&!u.ctrl&&!u.meta?(Vn(x=>x&&x.kind==="input"?{...x,buffer:x.buffer+u.sequence,error:void 0}:x),!0):!1},{isActive:!!Be,priority:cn.Critical}),je(()=>{if(n.messages.length>0&&D.length===0){if(n.uiHistory?.length){let u=Wr(n.uiHistory);u.length!==n.uiHistory.length&&(n.uiHistory=u),de(qd({messages:n.messages,uiHistory:u}));return}de(qd({messages:n.messages}))}},[n.messages,n.uiHistory,D.length,de]),je(()=>{ql(n.gitRoot)},[n.gitRoot]),je(()=>{process.env.KODAX_PREWARM_REPO_INTELLIGENCE!=="0"&&zx({executionCwd:n.gitRoot??process.cwd(),gitRoot:n.gitRoot??void 0},{mode:G.repoIntelligenceMode})},[n.gitRoot,G.repoIntelligenceMode]);let Ni=z(()=>({onThinkingDelta:o((u,g)=>{if(ot.current||An(g,"thinking",u,{append:!0}))return;$.currentTool&&(ce(void 0),Pe());let{header:x}=Vb(Se()+u),I=x?`[Thinking: ${x}]`:"[Thinking]";xt(nf(ut.current?.activeWorkerTitle?`[${ut.current.activeWorkerTitle}] ${I}`:I,ut.current?.activeWorkerTitle)),He(u.length),F(u),st.current.workerId&&hl("thinking",u)},"onThinkingDelta"),onThinkingEnd:o((u,g)=>{if(ot.current||An(g,"thinking",u))return;let x=Se(),I=jb(x,u);I&&I!==x&&(be(),Ee(),He(I.length),F(I)),st.current.workerId&&fy(I),fe()},"onThinkingEnd"),onTextDelta:o((u,g)=>{ot.current||An(g,"assistant",u,{append:!0})||($.currentTool&&(ce(void 0),Pe()),fe(),xt(void 0),Ct(u),st.current.workerId&&hl("assistant",u))},"onTextDelta"),onToolUseStart:o((u,g)=>{if(ot.current||An(g,"tool",rb(u.name,u.input)))return;tr.current.includes(u.name)||(tr.current=[...tr.current,u.name]);let x=ut.current?.activeWorkerTitle?`[${ut.current.activeWorkerTitle}] `:"",I={id:u.id,name:`${x}${u.name}`,status:H.Executing,startTime:Date.now(),input:u.input};py(I),st.current.workerId&&Gn(I),xt(Fr(I,ut.current?.activeWorkerTitle))},"onToolUseStart"),onToolInputDelta:o((u,g,x)=>{if(ot.current||An(x,"tool",u,{skipIfExisting:!0}))return;it(g.length),re(g);let I=my(x?.toolId,u,v=>{let _=v.preview??"",U=Hb(`${_}${g}`);return{...v,preview:U||void 0,input:v.input?U?{...v.input,preview:U}:{...v.input}:U?{preview:U}:void 0}});I&&(st.current.workerId&&Gn(I),xt(Fr(I,ut.current?.activeWorkerTitle)))},"onToolInputDelta"),onToolResult:o((u,g)=>{if(ot.current||An(g,"tool",`${u.name} completed`))return;let x=typeof u.content=="string"?u.content:String(u.content??""),I=Wb(x);if(/^\[(?:Tool Error|Error)\]/.test(x)){let _=yl(u.id,H.Error,I,I,u.name);_&&(st.current.workerId&&Gn(_),xt(Fr(_,ut.current?.activeWorkerTitle)));return}if(/^\[(?:Cancelled|Blocked)\]/.test(x)){let _=yl(u.id,H.Cancelled,void 0,I,u.name);_&&(st.current.workerId&&Gn(_),xt(Fr(_,ut.current?.activeWorkerTitle)));return}let v=yl(u.id,H.Success,void 0,I||void 0,u.name);v&&(st.current.workerId&&Gn(v),xt(Fr(v,ut.current?.activeWorkerTitle)))},"onToolResult"),onToolProgress:o((u,g)=>{if(ot.current||An(g,"progress",u.message))return;let x=u.message.length>100?u.message.slice(0,97)+"...":u.message,I=Ii(u.id,v=>({...v,preview:x,progressLines:[...(v.progressLines??[]).slice(-4),x]}));I&&st.current.workerId&&Gn(I),xt(x)},"onToolProgress"),onStreamEnd:o(u=>{if(ot.current||Vd(u))return;let g=pa(H.Cancelled,()=>({error:"Stream ended before the tool completed.",output:void 0})),x=g[g.length-1];st.current.workerId&&g.forEach(I=>Gn(I)),x&&xt(Fr(x,ut.current?.activeWorkerTitle)),fe(),Pe(),ce(void 0)},"onStreamEnd"),onChildActivityEnd:o(u=>{ay(u)},"onChildActivityEnd"),hasPendingInputs:o(()=>Cx.current.length>0,"hasPendingInputs"),onMidTurnUserMessages:o(u=>{if(!ot.current)for(let g of u){let x=g.trim();x&&(st.current.workerId?on({id:`mid-turn-user-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"user",text:x,timestamp:Date.now()}):W({type:"user",text:x}))}},"onMidTurnUserMessages"),onSidecarMessage:o(u=>{if(ot.current)return;let g=u.delivery==="budget-exhausted"?"[Sidecar budget exhausted]":u.verdict==="revise"?"[Sidecar -> Agent]":"[Sidecar blocked]",x=u.suggestedFix?`
143
143
  Suggested fix: ${u.suggestedFix}`:"";wn({type:"info",icon:">",text:`${g}
144
144
  ${u.content}${x}`},"sidecar-message")},"onSidecarMessage"),onError:o(u=>{let g=Xr();g?.name&&xt(Fr(g,ut.current?.activeWorkerTitle));let x=pa(H.Error,()=>({error:u.message,output:void 0})),I=x[x.length-1];st.current.workerId&&x.forEach(ct=>Gn(ct)),I&&xt(Fr(I,ut.current?.activeWorkerTitle));let v=Bx(u),_=["Transient","Permanent","Tool Call ID","User Abort"];if(v.category===Pa.USER_ABORT)return;let V=[`\u274C API Error (${_[v.category]||"Unknown"}): ${u.message}`];v.shouldCleanup&&V.push(" \u{1F9F9} Cleaned incomplete tool calls"),v.category===Pa.PERMANENT?(V.push(" \u{1F4A1} This error requires manual intervention. Please check:"),u.message.includes("auth")||u.message.includes("401")?(V.push(" - Your API key is valid"),V.push(" - Run /config to check provider settings")):u.message.includes("400")?(V.push(" - The request parameters are correct"),V.push(" - Try restarting the conversation")):V.push(" - The error details above")):v.category===Pa.TRANSIENT?V.push(" \u23F3 Retries exhausted. Press Enter to continue the conversation"):v.category===Pa.TOOL_CALL_ID&&V.push(" \u2705 Session cleaned, ready to continue");let ee=V.join(`
145
145
  `);!!st.current.workerId?on({id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"error",text:ee,timestamp:Date.now()}):W({type:"error",text:ee})},"onError"),onRetry:o((u,g,x,I)=>{if(ot.current)return;let v=Qd(u,g,x);if(aa(I,v.text)||An(I,"progress",v.text))return;!!st.current.workerId?on({...v,id:`retry-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):W(v)},"onRetry"),onProviderRecovery:o((u,g)=>{if(ot.current)return;let x=Jd(u);if(aa(g,x.text)||An(g,"progress",x.text))return;let I=!!st.current.workerId,v=Ce().trim();v&&(I?hl("assistant",v):W({type:"assistant",text:v})),We(),be(),fe(),Pe(),ce(void 0),Yr(),xt(void 0),I?on({...x,id:`recovery-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):W(x)},"onProviderRecovery"),onManagedTaskStatus:o(u=>{if(ot.current)return;let g=st.current;if(fv(u)){if(g.workerId&&g.workerId!==u.activeWorkerId)lk({workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle});else if(g.workerId!==u.activeWorkerId){let U=St.current,V=U.activeToolGroupTools.some(ee=>ee.status===H.Executing);St.current={workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle,...V?{activeToolGroupItemId:U.activeToolGroupItemId,activeToolGroupTools:U.activeToolGroupTools}:{activeToolGroupTools:[]}},st.current={workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle}}}ut.current=u,nl(u);let x=Gb(u);uk(x);let I=Ws(u),_=Ws(u,{expanded:!0})??I;_&&(cl.current=_)},"onManagedTaskStatus"),onProviderRateLimit:o((u,g,x,I)=>{if(ot.current)return;let v=`[Rate Limit] Retrying in ${x/1e3}s (${u}/${g})...`;aa(I,v)||An(I,"progress",v)||wn({type:"info",icon:"\u23F3",text:v},"ratelimit")},"onProviderRateLimit"),onRetryAfter:o((u,g)=>{if(ot.current)return;let x=Math.round(u.waitMs/1e3),I=u.source==="exponential-backoff"?"no-header \u2192 backoff":u.source,_=`[${u.reason==="overloaded"?"Overloaded":"Rate limited"}] (${u.provider}) \u2014 retrying in ${x}s [${I}] (${u.attempt}/${u.maxAttempts})`;aa(g,_)||An(g,"progress",_)||wn({type:"info",icon:"\u23F3",text:_},"ratelimit")},"onRetryAfter"),onRepoIntelligenceTrace:o(u=>{ot.current||wn(r0(u),"repointel-trace")},"onRepoIntelligenceTrace"),onTodoUpdate:o(u=>{ot.current||br(u)},"onTodoUpdate"),onScoutSuspiciousCompletion:o(u=>{ot.current||pv&&wn({type:"info",icon:"\u26A0",text:`[Scout] Completion marked uncertain \u2014 signals: ${u.signals.join(", ")}. Verify the result before continuing.`},"scout-uncertain")},"onScoutSuspiciousCompletion"),onIterationStart:o((u,g)=>{if(ot.current)return;if(g&&pe(g),ut.current?.globalWorkBudget){let Te={...ut.current,budgetUsage:Math.min(ut.current.globalWorkBudget,(ut.current.budgetUsage??0)+1)};ut.current=Te,nl(Te)}let x=u>1?Se().trim():"",I=u>1?_g(Ce()):"",v=u>1?[...tr.current]:[],_=u>1?[...zt.current]:[],U=!!st.current.workerId;Ke(u),U&&fl({clearOwner:!1});let V=Ir.current.filter(Te=>Te.status===H.Executing),ee=new Set(V.map(Te=>Te.id));if(tr.current=[],zt.current=zt.current.filter(Te=>ee.has(Te.id)),Mn(V),Pe(),ce(void 0),xt(nf(ut.current?.activeWorkerTitle?`[Thinking] [${ut.current.activeWorkerTitle}]`:void 0,ut.current?.activeWorkerTitle)),Ee(),u>1&&!U){let Te=Lg({thinking:x,response:I,toolCalls:_,toolNames:v});pi.current?pi.current(Te):de([...Te])}},"onIterationStart"),beforeToolExecute:o(async(u,g)=>{let x=Cn.current,I=Da(x),v=wx.current,_=n.gitRoot;if(nS(y.current,u,g))return`[Skipped] Previously denied operation. ${rS(y.current)}`;if(x==="plan"&&(Bo.has(u)||u==="undo"))return`[Blocked] Tool '${u}' is not allowed in plan mode (read-only). ${uv}`;if(x==="plan"&&u==="bash"){let U=g.command??"";if(ro(U))return`[Blocked] Bash write operation not allowed in plan mode: ${U.slice(0,50)}... ${uv}`}if(u==="bash"){let U=g.command??"";if(no(U))return!0}if(ln(x)&&sp==="llm")return!0;if(u==="bash"){let U=g.command??"",V=eS(U);if(V.level==="dangerous"){let ee=await Ar(u,{...g,_dangerousCommand:!0});return ee.confirmed?ee.confirmed:(y.current=$p(y.current,u,g,V.reason),`[Blocked] Dangerous command requires confirmation: ${V.reason}`)}}if(_){let U=!1;if(Bo.has(u)){let V=g.path;V&&Ha(V,_)&&(U=!0)}if(u==="bash"){let V=g.command;V&&lS(V,_)&&(U=!0)}if(U){let V=await Ar(u,{...g,_alwaysConfirm:!0});if(Cn.current==="plan"&&(Bo.has(u)||u==="undo"))return!1;if(Cn.current==="plan"&&u==="bash"){let ee=g.command??"";if(ro(ee))return!1}return V.confirmed}}if(I.has(u)){if(x==="accept-edits"&&u==="bash"&&await Ba(u,g,v,wp.current??void 0))return!0;let U=await Ar(u,g);if(Cn.current==="plan"&&(Bo.has(u)||u==="undo"))return!1;if(Cn.current==="plan"&&u==="bash"){let V=g.command??"";if(ro(V))return!1}if(!U.confirmed)return W({type:"info",text:oe("cancelled")}),y.current=$p(y.current,u,g),!1;U.always&&x==="accept-edits"&&(fu(u,g,!1),wx.current=Zi())}return!0},"beforeToolExecute"),askUser:o(async u=>{let g=u.options?Tf(u.options):[],x=await Di(bg(u),g,u.multiSelect);return x===void 0?Lp:x},"askUser"),exitPlanMode:o(async u=>Cn.current!=="plan"?"not-in-plan-mode":(await Ar("exit_plan_mode",{plan:u})).confirmed?(Tp("accept-edits"),!0):!1,"exitPlanMode"),askUserMulti:o(async u=>{let g=u.questions,x={},I="__back__",v=0;for(;v<g.length;){let _=g[v],U=Tf(_.options);v>0&&U.push({label:oe("select.back_prev"),value:I});let V=`[${v+1}/${g.length}] ${_.question}`,ee=await Di(V,U,_.multiSelect);if(ee===void 0)return;if(ee===I){v--;continue}x[_.question]=ee,v++}return x},"askUserMulti"),askUserInput:o(async u=>Rx(u.question,u.default),"askUserInput"),onCompactStart:o(()=>{K()},"onCompactStart"),onCompactStats:o(u=>{na.current=u.tokensBefore,Wn(u.tokensAfter)},"onCompactStats"),onCompactedMessages:o((u,g)=>{n.messages=u,g?.artifactLedger&&g.artifactLedger.length>0&&(n.artifactLedger=Qi(n.artifactLedger??[],g.artifactLedger)),n.lineage=g?.anchor?Vx(n.lineage,u,g.anchor,g.postCompactAttachments??[]):qt(u,n.lineage);let x=Xl(u);n.contextTokenSnapshot={currentTokens:x,baselineEstimatedTokens:x,source:"estimate"},yr(n),Wn(x),Kc.current?.().catch(()=>{})},"onCompactedMessages"),onCompact:o(u=>{j();let g=na.current??u;na.current=null;let x=Math.round(g/1e3);wn({type:"info",icon:"\u2728",text:`Context auto-compacted (was ~${x}k tokens)`},"compact")},"onCompact"),onCompactEnd:o(()=>{na.current=null,j()},"onCompactEnd"),onIterationEnd:o(u=>{u.scope!=="worker"&&(n.contextTokenSnapshot=u.contextTokenSnapshot),Wn(u.tokenCount)},"onIterationEnd")}),[He,F,fe,Ct,ce,it,re,Pe,Ke,Ee,G,n,K,j,W,be,Se,Ce,fl,xt,hl,fy,Gn,py,my,yl,pa,Xr,Yr,Mn,ay,aa,An,wn,$.currentTool]),Ar=o((u,g)=>{let x=Bb(u,g);return Rr(),new Promise(I=>{Lo.current=I,Sl({tool:u,input:g,prompt:x})})},"showConfirmDialog");je(()=>(d(async(u,g,x)=>(await Ar(u.name,{...u.input,_reason:`[auto-mode] ${g}`,...x&&x.length>0?{_classifierSignals:x}:{}})).confirmed?"allow":"block"),f(u=>{ap(u)}),()=>{d(null),f(null)}),[]),je(()=>{p(G)},[G,p]),je(()=>{let u=o(()=>Ni(),"resolve");return _p({askUser:o(g=>{let x=u().askUser;if(!x)throw new Error("askUser surface unavailable");return x(g)},"askUser"),askUserMulti:o(async g=>{let x=u().askUserMulti;return x?x(g):void 0},"askUserMulti"),askUserInput:o(async g=>{let x=u().askUserInput;return x?x(g):void 0},"askUserInput")}),()=>_p(void 0)},[Ni]);let Bi=o(async(u,g,x=n.lineage?$t(n.lineage,n.lineage.activeEntryId):n.messages,I)=>{let v={...Ni(),getCostReport:L},U=Gx(n.gitRoot).getSystemPromptSnippet(),V=o0(u.context,n.gitRoot,n.contextTokenSnapshot,U);I&&I.length>0&&(V.inputArtifacts=[...I]),V.planModeBlockCheck=(ee,Te)=>Cn.current!=="plan"?null:Fo(ee,Te,n.gitRoot??process.cwd());try{return await $a({...u,session:{...u.session,initialMessages:x,initialExtensionState:n.extensionState??{},initialExtensionRecords:n.extensionRecords??[]},context:V,events:v,abortSignal:ue()},g)}finally{qx()}},"runAgentRound"),bn=z(u=>{let g=qt([...u],n.lineage);return n.lineage=g,g},[n]),_a=z(async u=>{if(n.messages.length===0)return;let g=Uo(n.messages),x=Wr(u??O.current);O.current=x,n.title=g,n.uiHistory=x;let I=n.lineage??bn(n.messages);n.lineage=I;let v={...n.extensionStateDirty?{extensionState:n.extensionState??{}}:{},...n.extensionRecordsDirty?{extensionRecords:n.extensionRecords??[]}:{}},_=Ys({messages:n.messages,title:g,gitRoot:n.gitRoot??"",tag:De.current.session?.tag,uiHistory:x,lineage:I,artifactLedger:n.artifactLedger,...v});aD(r)?await r.appendSessionDelta(n.sessionId,_):await r.save(n.sessionId,_),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,cf()&&lf("persist",uf(n.messages,I,{historyItems:Z.current,foregroundItems:Jt.current,streamingResponse:Le.current.currentResponse,streamingThinking:Le.current.thinkingContent,persistedUiHistory:O.current}))},[n,bn,r]),Cp=z(()=>{if(zc.current)return zc.current;let u=(async()=>{try{for(;ko.current.requested;){ko.current.requested=!1;let g=ko.current.uiHistoryOverride;ko.current.uiHistoryOverride=void 0,await _a(g)}}finally{zc.current=null,ko.current.requested&&Cp()}})();return zc.current=u,Jg.current=u,u},[_a]),_r=z(u=>{if(u!==void 0){let g=Wr(u);O.current=g,ko.current.uiHistoryOverride=g}return ko.current.requested=!0,Cp()},[Cp]),Ik=z(async()=>{if(oa.current)return oa.current;let u=(async()=>{ot.current=!0,le(),X(),fe(),be(),Pe(),We(),ce(void 0),he(!1),await Jg.current.catch(()=>{}),await Kc.current?.().catch(()=>{}),Bf(!1),E&&C?.isRaw&&M(!1),C?.pause?.(),C?.unref?.(),w(),a()})();return oa.current=u.finally(()=>{oa.current=null}),oa.current},[le,We,be,Pe,w,E,a,ce,he,M,C,X,fe]);je(()=>(Kc.current=_r,()=>{Kc.current=null}),[_r]);let Vl=z(u=>{if(u.length===0)return;let g=If(O.current,u);O.current=g,_r(g)},[_r]),zn=z(u=>{u.length!==0&&(de([...u]),Vl(u))},[de,Vl]),Hi=z(u=>{u.length!==0&&(de([...u]),O.current=If(O.current,u))},[de]);je(()=>(pi.current=zn,()=>{pi.current=null}),[zn]);let kx=z(async u=>{n.messages=u.messages,n.contextTokenSnapshot=u.contextTokenSnapshot,lv(n,u),bn(u.messages);let g=u.success===!1&&!u.interrupted,x=Se().trim(),I=hS(u.messages,Ce(),u.managedTask?.verdict.summary,u.lastText),v=[...Jt.current],_=v.length>0;pl(v);let U=_&&v.some(Pt=>Pt.type==="assistant"&&"text"in Pt&&es(String(Pt.text??"")).length>0),V=!g&&I&&!U,ee=[...xi.current],Te=g?[]:ee.length===0?pv?Gh(u):Gh(u).filter(Pt=>!Uh(Pt)):[],ct=_?[]:Lg({thinking:x,response:void 0,toolCalls:zt.current,toolNames:tr.current}),nt=[...v.map(Pt=>To(Pt)),...ct,...g?[]:ee.map(Pt=>To(Pt)),...Te.map(Pt=>dv(Pt)),...V?[{type:"assistant",text:u.interrupted?`${I}
@@ -169,7 +169,7 @@ Suggestion: Set the required API key environment variable`:Ae.message.includes("
169
169
  Suggestion: Check your internet connection`:(Ae.message.includes("token")||Ae.message.includes("context too long"))&&(tn=`[Context Error] ${Ae.message}
170
170
  Suggestion: Use /clear to start fresh`),console.log=Ep,st.current.workerId?on({id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"error",text:tn,timestamp:Date.now()}):zn([{type:"error",text:tn}]),gu({error:Ae,messageCount:n.messages.length})){let Xn={type:"info",text:Ga};if(st.current.workerId?(on({id:`recover-hint-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,...Xn,timestamp:Date.now()}),Vl([Xn])):zn([Xn]),(await Ar("confirm",{_alwaysConfirm:!0,_message:hu})).confirmed)try{await Ex(eo)}catch(sr){let ji=sr instanceof Error?sr.message:String(sr);zn([{type:"error",text:`[Recover failed] ${ji}`}])}}}}finally{if(console.log=Ep,kp.length>0){let Ae=kp.filter((tn,Xn,to)=>to.indexOf(tn)===Xn),sn=Mg(Ae);sn&&W({type:"info",text:sn})}if(!ot.current){let Ae=pa(H.Cancelled,()=>({error:"Run ended before the tool result was observed.",output:void 0}));Ae.length>0&&st.current.workerId&&Ae.forEach(sn=>Gn(sn))}he(!1),X(),We(),Qf(),be();let q=Xl(n.messages);n.contextTokenSnapshot={currentTokens:q,baselineEstimatedTokens:q,source:"estimate"},Wn(q)}},[Bt,n,G,Wf,$.pendingInputs.length,r,rt,Be,w,a,W,xe,Q,X,We,Ni,Mx,ue,Ce,Se,on,Hi,zn,Ip,_a,_r,Vl,bn,Fi,bp,K,j,Yr,Qf,pa,Gn,_o,ol,il]),Ax=_t.shouldRender?ie(R,{paddingX:1,children:ie(kb,{viewModel:_t})}):void 0,_x=ye&&or.shouldRender?ie(R,{paddingX:1,children:ie(Ib,{viewModel:or})}):void 0,Lx=_y?ie(R,{paddingX:1,children:ie(_h,{viewModel:np})}):void 0,kk=Ax||_x||Lx?nn(R,{flexDirection:"column",children:[Ax,_x,Lx]}):void 0,Px=_t.shouldRender?_t.counterText:void 0,Ek=ie(Dd,{left:ie($d,{items:zy}),right:ie(Od,{items:Xy}),queued:ie(Ih,{pendingInputs:$.pendingInputs}),stashNotice:ie(Ud,{text:Ol}),notifications:ie(jd,{notifications:$l}),inlineNotices:dp.length>0?ie(vh,{notices:dp}):void 0,activityBar:Er?nn(R,{paddingX:1,flexDirection:"row",children:[nn(R,{flexGrow:1,children:[Er?.showSpinner?ie(Bn,{color:ne("dark").colors.accent}):null,Er?nn(b,{color:Er.kind==="waiting"?ne("dark").colors.warning:ne("dark").colors.accent,wrap:"truncate",children:[Er.showSpinner?" ":"",Er.text]}):null,Er?.showSpinner&&$.roundStartedAt!=null?ie(UT,{roundStartedAt:$.roundStartedAt,charCount:$.currentResponse.length,theme:ne("dark")}):null]}),Px?ie(b,{dimColor:!0,wrap:"truncate",children:Px}):ye&&or.shouldRender?ie(b,{dimColor:!0,wrap:"truncate",children:`${or.completedCount}/${or.totalCount} completed`}):null]}):void 0,todoSurface:kk,composer:ie(mh,{onSubmit:Rk,onHistoryRecall:vk,onPopPendingInputs:o(()=>{let u=se();if(u.length!==0)return u.join(`
171
171
  ---
172
- `)},"onPopPendingInputs"),prompt:">",placeholder:NI({isLoading:ye,canQueueFollowUps:Wf,waitingReason:cp}),focus:!rt&&!Be&&!pt,cwd:process.cwd(),gitRoot:e.context?.gitRoot||n.gitRoot,onInputChange:fk}),inlineSuggestions:xk,helpSurface:hy?ie(gh,{sections:df()}):void 0,taskBar:ba?ie(Gd,{items:Mi.backgroundTask.items,overflowLabel:Mi.backgroundTask.overflowLabel,ctaHint:Mi.backgroundTask.ctaHint,showSpinner:ye}):void 0,statusLine:ie(R,{children:ie(Ls,{...Ll,viewModel:Vy})}),inlineDialogs:wk}),Mk=ie(Dd,{left:ie($d,{items:zy}),right:ie(Od,{items:Xy}),stashNotice:ie(Ud,{text:Ol}),notifications:ie(jd,{notifications:$l}),composer:ie(wb,{searchActive:pt,selectionActive:!!(kr||tt),showAllActive:At,searchQuery:Zt,searchCurrent:Lt.length>0?Jr+1:0,searchCount:Lt.length,searchDetailText:ip,pendingLiveUpdates:ya,secondaryText:gk}),taskBar:ba?ie(Gd,{items:Mi.backgroundTask.items,overflowLabel:Mi.backgroundTask.overflowLabel,ctaHint:Mi.backgroundTask.ctaHint,showSpinner:mt}):void 0,statusLine:ie(R,{children:ie(Ls,{...Ll,viewModel:lp})})}),vp=z(u=>ie(Tb,{banner:u?.bannerVisible?ie(Ag,{...$o}):void 0,items:Sa,isLoading:en,viewportRows:Ft.messageRows,viewportWidth:k,scrollOffset:Fn,windowed:!!u?.rendererWindow,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?Ta:cx,maxLines:vt,selectedTextRanges:ep?tl?.rowRanges:void 0,onMetricsChange:Nl,onVisibleRowsChange:Bl}),[$o,Sa,en,Nl,Bl,Fn,cx,k,vt,tl?.rowRanges,Ft.messageRows,ep]),Rp=z(u=>ie(Cb,{banner:u?.bannerVisible?ie(Ag,{...$o}):void 0,items:xa,browse:{hintText:Zr.browseHintText},selection:Dl,search:Hy,isLoading:mt,isThinking:Re.isThinking,thinkingCharCount:Re.thinkingCharCount,thinkingContent:Re.thinkingContent,streamingResponse:Re.currentResponse,currentTool:Re.currentTool,activeToolCalls:Re.activeToolCalls,toolInputCharCount:Re.toolInputCharCount,toolInputContent:Re.toolInputContent,iterationHistory:Re.iterationHistory,currentIteration:Re.currentIteration,isCompacting:Re.isCompacting,agentMode:G.agentMode,managedPhase:mt?Y?.phase:void 0,managedHarnessProfile:mt?Y?.harnessProfile:void 0,managedWorkerTitle:mt?Y?.activeWorkerTitle:void 0,managedRound:mt?Y?.currentRound:void 0,managedMaxRounds:mt?Y?.maxRounds:void 0,managedGlobalWorkBudget:mt?Y?.globalWorkBudget:void 0,managedBudgetUsage:mt?Y?.budgetUsage:void 0,managedBudgetApprovalRequired:mt?Y?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Re.lastLiveActivityLabel,liveStatusLines:ki,viewportRows:Ft.messageRows,viewportWidth:k,scrollOffset:Fn,windowed:!!u?.windowed,animateSpinners:!!u?.rendererWindow&&_i,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?Ta:Rl,maxLines:vt,showDetailedTools:At,showAllContent:At,selectedItemId:_n.selectionEnabled?tt:void 0,selectedTextRanges:Cr?.rowRanges,expandedItemKeys:_n.selectionEnabled?Sn:void 0,onMetricsChange:Nl,onVisibleRowsChange:Bl}),[$o,G.agentMode,mt,Sn,s.transcriptSpinnerAnimation,Nl,Bl,Fn,Iy,Y?.activeWorkerTitle,Y?.budgetApprovalRequired,Y?.budgetUsage,Y?.currentRound,Y?.globalWorkBudget,Y?.harnessProfile,Y?.maxRounds,Y?.phase,Ta,Rl,Zr.browseHintText,tt,Dl,k,_i,xa,vt,Re.activeToolCalls,Re.currentIteration,Re.currentResponse,Re.currentTool,Re.isCompacting,Re.isThinking,Re.iterationHistory,Re.lastLiveActivityLabel,Re.thinkingCharCount,Re.thinkingContent,Re.toolInputCharCount,Re.toolInputContent,ki,Cr?.rowRanges,Hy,At,Ft.messageRows]),Ak=te?Rp({bannerVisible:!1,windowed:Rt}):vp({bannerVisible:!1}),$x=te?Mk:Ek,_k=s.enabled&&Po,Ox=nn(R,{flexDirection:"column",width:k,flexShrink:0,flexGrow:_k?1:0,children:[ie(Yh,{currentConfig:G,setCurrentConfig:gt,isLoading:ye,abort:le,stopThinking:fe,clearThinkingContent:be,setCurrentTool:ce,setIsLoading:he,onToggleHelp:dk,setShowHelp:gy,onSetThinking:o(u=>{De.current.thinking=u},"onSetThinking"),onSetReasoningMode:o(u=>{De.current.reasoningMode=u,De.current.thinking=u!=="off"},"onSetReasoningMode"),onToggleTranscriptMode:Tk,onOpenTranscriptSearch:hp,canOpenTranscriptSearch:te&&!rt&&!Be,isInteractiveDialogActive:!!(rt||Be),onSetAgentMode:o(u=>{De.current.agentMode=u},"onSetAgentMode"),onSetPermissionMode:o(u=>{Tp(u)},"onSetPermissionMode"),isInputEmpty:ia,onSavePermissionMode:uS}),Hf&&(s.enabled?null:ie(Ts,{items:[1],children:o(()=>ie(Ag,{...$o},"banner"),"children")})),Po?ie(uh,{width:k,stickyHeader:Zr.stickyHeader,jumpToLatest:Zr.jumpToLatest,transcript:!s.enabled||!Rt?te?Rp({bannerVisible:!1}):vp({bannerVisible:!1}):void 0,renderTranscriptWindow:s.enabled&&Rt?u=>(()=>{let x=ka(u).contentWindow;return te?Rp({bannerVisible:!1,windowed:!0,rendererWindow:x}):vp({bannerVisible:!1,rendererWindow:x})})():void 0,overlay:xp,scrollTop:Fn,scrollHeight:Ra,viewportHeight:Ft.messageRows,stickyScroll:!te&&!nr&&Uf,overscanRows:yD,scrollRef:JR,onWindowChange:Sk,onScrollTopChange:ek,onStickyChange:tk,footer:$x}):nn(yv,{children:[nn(R,{flexDirection:"column",flexGrow:1,children:[Ak,xp?ie(R,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:xp}):null]}),$x]})]});return Zf?ie(Mm,{mouseTracking:qr.usesRendererMouseTracking,children:Ox}):Ox},"InkREPLInner"),CD=o(e=>{let t=process.cwd(),n=e.options?.context?.gitRoot??void 0;return ie(Hd,{children:ie(Kd,{children:ie(id,{children:ie(zh,{children:ie(Fm,{cwd:t,gitRoot:n,children:ie(TD,{...e})})})})})})},"InkREPL");function bD(){return process.stdin.isTTY===!0&&typeof process.stdin.setRawMode=="function"}o(bD,"isRawModeSupported");async function Pg(e){if(!bD())throw new Ap("Interactive mode requires a TTY with raw mode support.",['kodax -p "your task" # Run a single task',"kodax -c # Continue last session","kodax -r # Resume session"]);let t=e.storage??new Ns,n=Vo(),r=Ko(),i=zo(n,r),{prepareRuntimeConfig:s,getGitRoot:a}=await import("./utils-ZUC3AIL5.js"),{loadCompactionConfig:c}=await import("./compaction-config-HY46N24Q.js"),{resolveProvider:l}=await import("./dist-EV5MWJQ6.js"),d=s(),f=e.provider??d.provider??zl,p=e.model??d.model,m=lD(e,d),h=e.agentMode??d.agentMode??"ama",w=m!=="off",T=Na(d.permissionMode,"accept-edits")??"accept-edits",S=tu(),C=d.repoIntelligenceTrace===!0,M={provider:f,model:p,thinking:w,reasoningMode:m,agentMode:h,permissionMode:T,repoIntelligenceMode:S.mode,repointelEndpoint:S.endpoint,repointelBin:S.bin,repoIntelligenceTrace:C},E=e.session?.id,P=[],D,L,y,W,de,xe="",me=await a().catch(()=>null)??void 0,Z=Yl({meta:{cwd:process.cwd(),startedAt:Date.now()}});if(Z){let F=o(()=>{Z.shutdown()},"teamModeCleanup");process.on("exit",F),process.on("SIGTERM",F)}try{let{bootstrapConstructionRuntime:F}=await import("./construction-bootstrap-AVTILHEH.js"),fe=await F(me??process.cwd());if(fe.loaded>0||fe.failed>0||fe.tampered>0){let be=fe.failed>0?`; ${fe.failed} failed (see warnings above)`:"",ce=fe.tampered>0?`; ${fe.tampered} skipped due to manifest contentHash mismatch \u2014 re-stage and re-activate to re-approve`:"";console.log(Qe.dim(`[Constructed] Rehydrated ${fe.loaded} active tool(s)${be}${ce}.`))}if(fe.markdownLoaded>0||fe.markdownFailures.length>0){console.log(Qe.dim(`[Agents] Loaded ${fe.markdownLoaded} markdown agent(s).`));for(let be of fe.markdownFailures)console.warn(Qe.yellow(`[Agents] Skipped ${be.path}: ${be.reason}`))}}catch(F){console.warn(Qe.yellow(`[Constructed] Bootstrap failed: ${F.message}. Self-construction disabled this session.`))}let O;try{let F=await c(me),fe=l(f);O={contextWindow:F.contextWindow??fe.getContextWindow?.()??2e5,triggerPercent:F.triggerPercent,enabled:F.enabled,userOverrideContextWindow:F.contextWindow}}catch{}if(e.session?.id&&!e.session.resume){let F=await t.load(e.session.id);F&&(P=F.messages,D=go(F.uiHistory),L=F.lineage,y=F.artifactLedger,W=F.extensionState,de=F.extensionRecords,xe=F.title,E=e.session.id,e={...e,session:{...e.session??{},id:E,tag:F.tag}},console.log(Qe.green(`[Session loaded: ${E}]`)))}else if(e.session?.resume||e.session?.autoResume){let F=await t.list(me);if(F.length>0){let fe=F[0];if(fe){let be=await t.load(fe.id);be&&(P=be.messages,D=go(be.uiHistory),L=be.lineage,y=be.artifactLedger,W=be.extensionState,de=be.extensionRecords,xe=be.title,E=fe.id,e={...e,session:{...e.session??{},tag:be.tag}},console.log(Qe.green(`[Continuing session: ${fe.id}]`)))}}}let k=await Rc({sessionId:E,gitRoot:me,existingMessages:P,existingUiHistory:D,existingLineage:L,existingArtifactLedger:y,existingExtensionState:W,existingExtensionRecords:de});k.title=xe,Z?.writer.update({sessionId:k.sessionId});let Le={current:await Pp({cwd:process.cwd(),projectRoot:me??void 0})},Q={current:null},X={current:null},le={current:M},Ee=du(),He=await kc({askUser:o(async(F,fe,be)=>{let ce=Q.current;return ce?ce(F,fe,be):"block"},"askUser"),projectRoot:me??process.cwd(),getAgentsFiles:o(()=>Le.current,"getAgentsFiles"),getCurrentProviderName:o(()=>le.current.provider,"getCurrentProviderName"),getCurrentModel:o(()=>le.current.model,"getCurrentModel"),getCurrentPermissionMode:o(()=>le.current.permissionMode,"getCurrentPermissionMode"),autoModeSettings:Ee,log:o((F,fe)=>{F==="warn"?console.warn(Qe.yellow(fe)):console.log(Qe.dim(fe))},"log"),onEngineChange:o(F=>{X.current?.(F)},"onEngineChange"),extraCollectors:[uu]});try{let F=process.stdout,fe=process.stdin;import("./paste-5DSTHQGK.js").then(Pe=>Pe.prunePasteTmpDir()).catch(()=>{});let be=!1,{waitUntilExit:ce,cleanup:it}=qu(ie(CD,{options:e,config:M,context:k,storage:t,compactionInfo:O,rendererMode:r,fullscreenPolicy:i,autoModeBootstrap:He,setAutoModeAskUser:o(Pe=>{Q.current=Pe},"setAutoModeAskUser"),setAutoModeEngineChange:o(Pe=>{X.current=Pe},"setAutoModeEngineChange"),setCurrentConfigRef:o(Pe=>{le.current=Pe},"setCurrentConfigRef"),onAgentsFilesReload:o(Pe=>{Le.current=Pe},"onAgentsFilesReload"),teamModeHandle:Z,onExit:o(()=>{be=!0},"onExit")}),{stdout:F,stdin:fe,exitOnCtrlC:!1,patchConsole:!1,maxFps:30,shellMode:i.enabled?i.promptShell:"main-screen"});await ce(),it(),Z?.shutdown(),fe.isTTY===!0&&typeof fe.setRawMode=="function"&&fe.isRaw&&fe.setRawMode(!1),fe.pause?.(),fe.unref?.(),be&&console.log(Qe.dim(`
172
+ `)},"onPopPendingInputs"),prompt:">",placeholder:NI({isLoading:ye,canQueueFollowUps:Wf,waitingReason:cp}),focus:!rt&&!Be&&!pt,cwd:process.cwd(),gitRoot:e.context?.gitRoot||n.gitRoot,onInputChange:fk}),inlineSuggestions:xk,helpSurface:hy?ie(gh,{sections:df()}):void 0,taskBar:ba?ie(Gd,{items:Mi.backgroundTask.items,overflowLabel:Mi.backgroundTask.overflowLabel,ctaHint:Mi.backgroundTask.ctaHint,showSpinner:ye}):void 0,statusLine:ie(R,{children:ie(Ls,{...Ll,viewModel:Vy})}),inlineDialogs:wk}),Mk=ie(Dd,{left:ie($d,{items:zy}),right:ie(Od,{items:Xy}),stashNotice:ie(Ud,{text:Ol}),notifications:ie(jd,{notifications:$l}),composer:ie(wb,{searchActive:pt,selectionActive:!!(kr||tt),showAllActive:At,searchQuery:Zt,searchCurrent:Lt.length>0?Jr+1:0,searchCount:Lt.length,searchDetailText:ip,pendingLiveUpdates:ya,secondaryText:gk}),taskBar:ba?ie(Gd,{items:Mi.backgroundTask.items,overflowLabel:Mi.backgroundTask.overflowLabel,ctaHint:Mi.backgroundTask.ctaHint,showSpinner:mt}):void 0,statusLine:ie(R,{children:ie(Ls,{...Ll,viewModel:lp})})}),vp=z(u=>ie(Tb,{banner:u?.bannerVisible?ie(Ag,{...$o}):void 0,items:Sa,isLoading:en,viewportRows:Ft.messageRows,viewportWidth:k,scrollOffset:Fn,windowed:!!u?.rendererWindow,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?Ta:cx,maxLines:vt,selectedTextRanges:ep?tl?.rowRanges:void 0,onMetricsChange:Nl,onVisibleRowsChange:Bl}),[$o,Sa,en,Nl,Bl,Fn,cx,k,vt,tl?.rowRanges,Ft.messageRows,ep]),Rp=z(u=>ie(Cb,{banner:u?.bannerVisible?ie(Ag,{...$o}):void 0,items:xa,browse:{hintText:Zr.browseHintText},selection:Dl,search:Hy,isLoading:mt,isThinking:Re.isThinking,thinkingCharCount:Re.thinkingCharCount,thinkingContent:Re.thinkingContent,streamingResponse:Re.currentResponse,currentTool:Re.currentTool,activeToolCalls:Re.activeToolCalls,toolInputCharCount:Re.toolInputCharCount,toolInputContent:Re.toolInputContent,iterationHistory:Re.iterationHistory,currentIteration:Re.currentIteration,isCompacting:Re.isCompacting,agentMode:G.agentMode,managedPhase:mt?Y?.phase:void 0,managedHarnessProfile:mt?Y?.harnessProfile:void 0,managedWorkerTitle:mt?Y?.activeWorkerTitle:void 0,managedRound:mt?Y?.currentRound:void 0,managedMaxRounds:mt?Y?.maxRounds:void 0,managedGlobalWorkBudget:mt?Y?.globalWorkBudget:void 0,managedBudgetUsage:mt?Y?.budgetUsage:void 0,managedBudgetApprovalRequired:mt?Y?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Re.lastLiveActivityLabel,liveStatusLines:ki,viewportRows:Ft.messageRows,viewportWidth:k,scrollOffset:Fn,windowed:!!u?.windowed,animateSpinners:!!u?.rendererWindow&&_i,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?Ta:Rl,maxLines:vt,showDetailedTools:At,showAllContent:At,selectedItemId:_n.selectionEnabled?tt:void 0,selectedTextRanges:Cr?.rowRanges,expandedItemKeys:_n.selectionEnabled?Sn:void 0,onMetricsChange:Nl,onVisibleRowsChange:Bl}),[$o,G.agentMode,mt,Sn,s.transcriptSpinnerAnimation,Nl,Bl,Fn,Iy,Y?.activeWorkerTitle,Y?.budgetApprovalRequired,Y?.budgetUsage,Y?.currentRound,Y?.globalWorkBudget,Y?.harnessProfile,Y?.maxRounds,Y?.phase,Ta,Rl,Zr.browseHintText,tt,Dl,k,_i,xa,vt,Re.activeToolCalls,Re.currentIteration,Re.currentResponse,Re.currentTool,Re.isCompacting,Re.isThinking,Re.iterationHistory,Re.lastLiveActivityLabel,Re.thinkingCharCount,Re.thinkingContent,Re.toolInputCharCount,Re.toolInputContent,ki,Cr?.rowRanges,Hy,At,Ft.messageRows]),Ak=te?Rp({bannerVisible:!1,windowed:Rt}):vp({bannerVisible:!1}),$x=te?Mk:Ek,_k=s.enabled&&Po,Ox=nn(R,{flexDirection:"column",width:k,flexShrink:0,flexGrow:_k?1:0,children:[ie(Yh,{currentConfig:G,setCurrentConfig:gt,isLoading:ye,abort:le,stopThinking:fe,clearThinkingContent:be,setCurrentTool:ce,setIsLoading:he,onToggleHelp:dk,setShowHelp:gy,onSetThinking:o(u=>{De.current.thinking=u},"onSetThinking"),onSetReasoningMode:o(u=>{De.current.reasoningMode=u,De.current.thinking=u!=="off"},"onSetReasoningMode"),onToggleTranscriptMode:Tk,onOpenTranscriptSearch:hp,canOpenTranscriptSearch:te&&!rt&&!Be,isInteractiveDialogActive:!!(rt||Be),onSetAgentMode:o(u=>{De.current.agentMode=u},"onSetAgentMode"),onSetPermissionMode:o(u=>{Tp(u)},"onSetPermissionMode"),isInputEmpty:ia,onSavePermissionMode:uS}),Hf&&(s.enabled?null:ie(Ts,{items:[1],children:o(()=>ie(Ag,{...$o},"banner"),"children")})),Po?ie(uh,{width:k,stickyHeader:Zr.stickyHeader,jumpToLatest:Zr.jumpToLatest,transcript:!s.enabled||!Rt?te?Rp({bannerVisible:!1}):vp({bannerVisible:!1}):void 0,renderTranscriptWindow:s.enabled&&Rt?u=>(()=>{let x=ka(u).contentWindow;return te?Rp({bannerVisible:!1,windowed:!0,rendererWindow:x}):vp({bannerVisible:!1,rendererWindow:x})})():void 0,overlay:xp,scrollTop:Fn,scrollHeight:Ra,viewportHeight:Ft.messageRows,stickyScroll:!te&&!nr&&Uf,overscanRows:yD,scrollRef:JR,onWindowChange:Sk,onScrollTopChange:ek,onStickyChange:tk,footer:$x}):nn(yv,{children:[nn(R,{flexDirection:"column",flexGrow:1,children:[Ak,xp?ie(R,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:xp}):null]}),$x]})]});return Zf?ie(Mm,{mouseTracking:qr.usesRendererMouseTracking,children:Ox}):Ox},"InkREPLInner"),CD=o(e=>{let t=process.cwd(),n=e.options?.context?.gitRoot??void 0;return ie(Hd,{children:ie(Kd,{children:ie(id,{children:ie(zh,{children:ie(Fm,{cwd:t,gitRoot:n,children:ie(TD,{...e})})})})})})},"InkREPL");function bD(){return process.stdin.isTTY===!0&&typeof process.stdin.setRawMode=="function"}o(bD,"isRawModeSupported");async function Pg(e){if(!bD())throw new Ap("Interactive mode requires a TTY with raw mode support.",['kodax -p "your task" # Run a single task',"kodax -c # Continue last session","kodax -r # Resume session"]);let t=e.storage??new Ns,n=Vo(),r=Ko(),i=zo(n,r),{prepareRuntimeConfig:s,getGitRoot:a}=await import("./utils-J7XBBZGB.js"),{loadCompactionConfig:c}=await import("./compaction-config-NAJEEPG5.js"),{resolveProvider:l}=await import("./dist-2267YGB5.js"),d=s(),f=e.provider??d.provider??zl,p=e.model??d.model,m=lD(e,d),h=e.agentMode??d.agentMode??"ama",w=m!=="off",T=Na(d.permissionMode,"accept-edits")??"accept-edits",S=tu(),C=d.repoIntelligenceTrace===!0,M={provider:f,model:p,thinking:w,reasoningMode:m,agentMode:h,permissionMode:T,repoIntelligenceMode:S.mode,repointelEndpoint:S.endpoint,repointelBin:S.bin,repoIntelligenceTrace:C},E=e.session?.id,P=[],D,L,y,W,de,xe="",me=await a().catch(()=>null)??void 0,Z=Yl({meta:{cwd:process.cwd(),startedAt:Date.now()}});if(Z){let F=o(()=>{Z.shutdown()},"teamModeCleanup");process.on("exit",F),process.on("SIGTERM",F)}try{let{bootstrapConstructionRuntime:F}=await import("./construction-bootstrap-EDDVNP2B.js"),fe=await F(me??process.cwd());if(fe.loaded>0||fe.failed>0||fe.tampered>0){let be=fe.failed>0?`; ${fe.failed} failed (see warnings above)`:"",ce=fe.tampered>0?`; ${fe.tampered} skipped due to manifest contentHash mismatch \u2014 re-stage and re-activate to re-approve`:"";console.log(Qe.dim(`[Constructed] Rehydrated ${fe.loaded} active tool(s)${be}${ce}.`))}if(fe.markdownLoaded>0||fe.markdownFailures.length>0){console.log(Qe.dim(`[Agents] Loaded ${fe.markdownLoaded} markdown agent(s).`));for(let be of fe.markdownFailures)console.warn(Qe.yellow(`[Agents] Skipped ${be.path}: ${be.reason}`))}}catch(F){console.warn(Qe.yellow(`[Constructed] Bootstrap failed: ${F.message}. Self-construction disabled this session.`))}let O;try{let F=await c(me),fe=l(f);O={contextWindow:F.contextWindow??fe.getContextWindow?.()??2e5,triggerPercent:F.triggerPercent,enabled:F.enabled,userOverrideContextWindow:F.contextWindow}}catch{}if(e.session?.id&&!e.session.resume){let F=await t.load(e.session.id);F&&(P=F.messages,D=go(F.uiHistory),L=F.lineage,y=F.artifactLedger,W=F.extensionState,de=F.extensionRecords,xe=F.title,E=e.session.id,e={...e,session:{...e.session??{},id:E,tag:F.tag}},console.log(Qe.green(`[Session loaded: ${E}]`)))}else if(e.session?.resume||e.session?.autoResume){let F=await t.list(me);if(F.length>0){let fe=F[0];if(fe){let be=await t.load(fe.id);be&&(P=be.messages,D=go(be.uiHistory),L=be.lineage,y=be.artifactLedger,W=be.extensionState,de=be.extensionRecords,xe=be.title,E=fe.id,e={...e,session:{...e.session??{},tag:be.tag}},console.log(Qe.green(`[Continuing session: ${fe.id}]`)))}}}let k=await Rc({sessionId:E,gitRoot:me,existingMessages:P,existingUiHistory:D,existingLineage:L,existingArtifactLedger:y,existingExtensionState:W,existingExtensionRecords:de});k.title=xe,Z?.writer.update({sessionId:k.sessionId});let Le={current:await Pp({cwd:process.cwd(),projectRoot:me??void 0})},Q={current:null},X={current:null},le={current:M},Ee=du(),He=await kc({askUser:o(async(F,fe,be)=>{let ce=Q.current;return ce?ce(F,fe,be):"block"},"askUser"),projectRoot:me??process.cwd(),getAgentsFiles:o(()=>Le.current,"getAgentsFiles"),getCurrentProviderName:o(()=>le.current.provider,"getCurrentProviderName"),getCurrentModel:o(()=>le.current.model,"getCurrentModel"),getCurrentPermissionMode:o(()=>le.current.permissionMode,"getCurrentPermissionMode"),autoModeSettings:Ee,log:o((F,fe)=>{F==="warn"?console.warn(Qe.yellow(fe)):console.log(Qe.dim(fe))},"log"),onEngineChange:o(F=>{X.current?.(F)},"onEngineChange"),extraCollectors:[uu]});try{let F=process.stdout,fe=process.stdin;import("./paste-5IDBBQQ3.js").then(Pe=>Pe.prunePasteTmpDir()).catch(()=>{});let be=!1,{waitUntilExit:ce,cleanup:it}=qu(ie(CD,{options:e,config:M,context:k,storage:t,compactionInfo:O,rendererMode:r,fullscreenPolicy:i,autoModeBootstrap:He,setAutoModeAskUser:o(Pe=>{Q.current=Pe},"setAutoModeAskUser"),setAutoModeEngineChange:o(Pe=>{X.current=Pe},"setAutoModeEngineChange"),setCurrentConfigRef:o(Pe=>{le.current=Pe},"setCurrentConfigRef"),onAgentsFilesReload:o(Pe=>{Le.current=Pe},"onAgentsFilesReload"),teamModeHandle:Z,onExit:o(()=>{be=!0},"onExit")}),{stdout:F,stdin:fe,exitOnCtrlC:!1,patchConsole:!1,maxFps:30,shellMode:i.enabled?i.promptShell:"main-screen"});await ce(),it(),Z?.shutdown(),fe.isTTY===!0&&typeof fe.setRawMode=="function"&&fe.isRaw&&fe.setRawMode(!1),fe.pause?.(),fe.unref?.(),be&&console.log(Qe.dim(`
173
173
  [Exiting KodaX...]`));let re=e.hardExitOnClose??process.env.VITEST!=="true";if(be&&re){let Pe=process.exitCode??0,We=!1,Ct=o(()=>{We||(We=!0,process.exit(Pe))},"requestProcessExit");setTimeout(Ct,0).unref?.(),F.write("",Ct);return}}catch(F){throw F instanceof Error&&F.message.includes("Raw mode")?new Ap("Interactive mode failed to start.",['kodax -p "your task" # Run a single task',"kodax -c # Continue last session"]):F}}o(Pg,"runInkInteractiveMode");import gn from"chalk";var Sv=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],wv=["\x1B[36m","\x1B[35m","\x1B[34m"],Dc=null,qs=!1;function Oc(){let e=0,t=0,n=!1,r="Thinking...",i=o(()=>{if(n)return;let c=wv[t%wv.length],l="\x1B[0m",d=Sv[e%Sv.length];process.stdout.write(`\r${c}${d}${l} ${r}`)},"renderFrame"),s=setInterval(()=>{e++,e%10===0&&t++,i()},80);i();let a={stop:o(()=>{n||(n=!0,clearInterval(s),process.stdout.write("\r\x1B[K"))},"stop"),isStopped:o(()=>n,"isStopped"),updateText:o(c=>{r=c},"updateText")};return Dc=a,a}o(Oc,"startWaitingDots");function ID(e=!0){let t=null,n=0,r=!1;return{onSessionStart:o(s=>{console.log(e?gn.cyan(`[KodaX] Provider: ${s.provider} | Session: ${s.sessionId}`):gn.cyan(`[KodaX] Provider: ${s.provider}`))},"onSessionStart"),onTextDelta:o(s=>{t&&(t.stop(),t=null),n=0,process.stdout.write(s),r=!0},"onTextDelta"),onThinkingDelta:o(s=>{n+=s.length,t||(t=Oc()),t.updateText(`Thinking... (${n} chars)`)},"onThinkingDelta"),onThinkingEnd:o(s=>{if(t&&(t.stop(),t=null),s){let a=s.replace(/\n/g," "),c=a.length>100?a.slice(0,100)+"...":a;console.log(gn.dim(`[Thinking] ${c}`))}},"onThinkingEnd"),onToolUseStart:o(s=>{t||(qs||(process.stdout.write(`
174
174
  `),qs=!0),t=Oc()),t.updateText(`Executing ${s.name}...`)},"onToolUseStart"),onToolInputDelta:o((s,a,c)=>{let l=a.length;t&&!t.isStopped()?t.updateText(`Receiving ${s}... (${l} chars)`):(!t||t.isStopped())&&(qs||(process.stdout.write(`
175
175
  `),qs=!0,r=!1),t=Oc(),t.updateText(`Receiving ${s}... (${l} chars)`))},"onToolInputDelta"),onToolResult:o(s=>{t&&(t.stop(),t=null),console.log(gn.green(`[Result] ${s.content.slice(0,300)}${s.content.length>300?"...":""}`))},"onToolResult"),onRepoIntelligenceTrace:o(s=>{t&&(t.stop(),t=null),console.log(gn.dim(`[RepoIntel] ${s.summary}`))},"onRepoIntelligenceTrace"),onSidecarMessage:o(s=>{t&&(t.stop(),t=null);let a=s.delivery==="budget-exhausted"?"[Sidecar budget exhausted]":s.verdict==="revise"?"[Sidecar -> Agent]":"[Sidecar blocked]",c=s.suggestedFix?`
@@ -211,7 +211,7 @@ ${t}`),console.log("\u2500".repeat(t.length)),n.forEach((r,i)=>{console.log(` $
211
211
  `+a)),console.log(""),console.log(c(i.colors.primary)+Xe.hex(i.colors.primary)("AI Coding Agent \xB7 Minimalist & Intelligent")),console.log(c(i.colors.success)+Xe.bold.hex(i.colors.text)(`v${Ji}`)+l+Xe.hex(i.colors.success)(`${e.provider}:${s}`)+l+Xe.hex(i.colors.primary)(e.agentMode.toUpperCase())+Xe.hex(i.colors.dim)(" / ")+Xe.hex(i.colors.accent)(t)+(e.reasoningMode==="off"?"":Xe.hex(i.colors.dim)(" \xB7 ")+Xe.hex(i.colors.warning)(`reason:${e.reasoningMode}`))),n){let d=Math.round(n.contextWindow/1e3),f=Math.round(n.contextWindow*n.triggerPercent/100/1e3),p=n.enabled?Xe.hex(i.colors.success)("on"):Xe.hex(i.colors.secondary)("off");console.log(c(i.colors.accent)+Xe.hex(i.colors.secondary)(`ctx ${d}k \xB7 compaction `)+p+Xe.hex(i.colors.secondary)(` @ ${n.triggerPercent}% (${f}k)`))}r&&console.log(c(i.colors.secondary)+Xe.hex(i.colors.secondary)(`${r.length} project rule file(s) loaded \u2014 `)+Xe.hex(i.colors.dim)("/reload to refresh")),console.log(""),console.log(Xe.hex(i.colors.dim)(" Quick tips:")),console.log(Xe.hex(i.colors.primary)(" /help ")+Xe.hex(i.colors.dim)("Show all commands")),console.log(Xe.hex(i.colors.primary)(" /mode ")+Xe.hex(i.colors.dim)("Switch permission mode")),console.log(Xe.hex(i.colors.primary)(" /clear ")+Xe.hex(i.colors.dim)("Clear conversation")),console.log(Xe.hex(i.colors.primary)(" @path ")+Xe.hex(i.colors.dim)("Attach image to context")),console.log(Xe.hex(i.colors.primary)(" !cmd ")+Xe.hex(i.colors.dim)("Run read-only shell command")),console.log(Xe.hex(i.colors.dim)(`
212
212
  Keyboard: Tab (complete) | Esc+Esc (edit last) | Ctrl+T (reasoning) | Ctrl+E (editor) | Ctrl+R (history)
213
213
  `))}o(Kv,"printStartupBanner");async function nN(e){return(await ql(e)).getSystemPromptSnippet()}o(nN,"buildClassicCliSkillsPrompt");var Wg=class{static{o(this,"MemorySessionStorage")}sessions=new Map;async save(t,n){let r=this.sessions.get(t),i=qt(n.messages,n.lineage??r?.data.lineage);this.sessions.set(t,{createdAt:r?.createdAt??new Date().toISOString(),data:{...structuredClone(n),scope:n.scope??r?.data.scope??"user",uiHistory:n.uiHistory??r?.data.uiHistory,extensionState:n.extensionState??r?.data.extensionState,extensionRecords:n.extensionRecords??r?.data.extensionRecords,tag:n.tag??r?.data.tag,lineage:i}})}async load(t){return structuredClone(this.sessions.get(t)?.data??null)}async getLineage(t){return structuredClone(this.sessions.get(t)?.data.lineage??null)}async setActiveEntry(t,n,r){let i=this.sessions.get(t);if(!i?.data.lineage)return null;let s=Ki(i.data.lineage,n,r);if(!s)return null;let a={...structuredClone(i.data),messages:$t(s),lineage:s};return this.sessions.set(t,{...i,data:a}),structuredClone(a)}async setLabel(t,n,r){let i=this.sessions.get(t);if(!i?.data.lineage)return null;let s=zi(i.data.lineage,n,r);if(!s)return null;let a={...structuredClone(i.data),lineage:s};return this.sessions.set(t,{...i,data:a}),structuredClone(a)}async fork(t,n,r){let i=this.sessions.get(t);if(!i?.data.lineage)return null;let s=qi(i.data.lineage,n);if(!s)return null;let a=r?.sessionId??await Vi(),c={messages:$t(s),title:r?.title??i.data.title,gitRoot:i.data.gitRoot,tag:i.data.tag,runtimeInfo:i.data.runtimeInfo?structuredClone(i.data.runtimeInfo):void 0,scope:i.data.scope??"user",extensionState:i.data.extensionState?structuredClone(i.data.extensionState):void 0,extensionRecords:i.data.extensionRecords?structuredClone(i.data.extensionRecords):void 0,lineage:s};return this.sessions.set(a,{createdAt:new Date().toISOString(),data:c}),{sessionId:a,data:structuredClone(c)}}async rewind(t,n){let r=this.sessions.get(t);if(!r?.data.lineage)return null;let i=n??Xi(r.data.lineage);if(!i)return null;let s=Yi(r.data.lineage,i);if(!s)return null;let a={...r.data,messages:$t(s),lineage:s};return this.sessions.set(t,{...r,data:a}),structuredClone(a)}async list(t){return Array.from(this.sessions.entries()).filter(([,n])=>(n.data.scope??"user")==="user").map(([n,r])=>({id:n,title:r.data.title,msgCount:r.data.lineage?No(r.data.lineage):r.data.messages.length,...r.data.tag!==void 0?{tag:r.data.tag}:{},...r.data.runtimeInfo?{runtimeInfo:structuredClone(r.data.runtimeInfo)}:{}}))}async delete(t){this.sessions.delete(t)}async deleteAll(t){this.sessions.clear()}};function Bg(e,t,n){e.runtimeInfo=n,e.gitRoot=n?.workspaceRoot??e.gitRoot,t.context={...t.context,gitRoot:e.gitRoot,executionCwd:n?.executionCwd??process.cwd()}}o(Bg,"applyRuntimeContext");function Mf(e,t){let n=t.runtimeSessionSnapshot;n&&("extensionState"in n&&(e.extensionState=n.extensionState?structuredClone(n.extensionState):{},e.extensionStateDirty=!0),"extensionRecords"in n&&(e.extensionRecords=n.extensionRecords?.map(r=>({...r}))??[],e.extensionRecordsDirty=!0))}o(Mf,"applyRuntimeSessionSnapshot");function bo(e){return{...e.extensionStateDirty?{extensionState:e.extensionState??{}}:{},...e.extensionRecordsDirty?{extensionRecords:e.extensionRecords??[]}:{}}}o(bo,"contextExtensionSessionData");function Zs(e){e.extensionStateDirty=!1,e.extensionRecordsDirty=!1}o(Zs,"markExtensionSessionPersisted");function rN(e,t){return e.reasoningMode?e.reasoningMode:t.reasoningMode?t.reasoningMode:(e.thinking===!0||t.thinking===!0,"auto")}o(rN,"resolveInitialReasoningMode");var Fg={current:null};async function oN(e){let t=await ts({cwd:process.cwd()}),n=t.workspaceRoot??await Wo()??void 0,r=e.storage??new Wg,i=Yl({meta:{cwd:process.cwd(),startedAt:Date.now()}}),s=Dp(),a=e.provider??s.provider??zl,c=e.model??s.model,l=rN(e,s),d=e.agentMode??s.agentMode??"ama",f=l!=="off",p=Na(s.permissionMode,"accept-edits")??"accept-edits",m=su();p==="auto-in-project"&&m();let h=tu(),w=s.theme;w&&Fc(w);let T=li(),S={provider:a,model:c,thinking:f,reasoningMode:l,agentMode:d,permissionMode:p,repoIntelligenceMode:h.mode,repointelEndpoint:h.endpoint,repointelBin:h.bin,repoIntelligenceTrace:h.trace,fallbackProviders:s.fallbackProviders},C=p,M=Zi(),E=0,P="",D=!1,L=500,y=await Rc({sessionId:e.session?.id,gitRoot:n,runtimeInfo:t});i?.writer.update({sessionId:y.sessionId});let W=o(A=>xo(S,A,(K,j,pe)=>{console.log((K==="block"?ae.red:ae.yellow)(`
214
- ${j}`));for(let Me of pe)console.log(ae.dim(Me));console.log()}),"guardSessionTransition"),de=await fS(n??void 0),{resolveProvider:xe}=await import("./dist-EV5MWJQ6.js"),me=xe(S.provider),Z=de.contextWindow??me.getEffectiveContextWindow?.(S.model)??me.getContextWindow?.()??2e5,{loadAgentsFiles:O}=await import("./dist-EV5MWJQ6.js"),k=o(async()=>O({cwd:process.cwd(),projectRoot:y.gitRoot??void 0}),"reloadAgentsFiles"),$=await k();Kv(S,S.permissionMode,{contextWindow:Z,triggerPercent:de.triggerPercent,enabled:de.enabled},$),Vv(t);let Le=_S(()=>y.gitRoot??process.cwd()),Q=zv.createInterface({input:process.stdin,output:process.stdout,terminal:process.stdout.isTTY??!0,historySize:100,completer:o((A,K)=>{Le(A).then(j=>{K(null,j)}).catch(()=>{K(null,[[],A])})},"completer")}),X=du(),le=await kc({askUser:o(async(A,K,j)=>(await Wc(Q,A.name,{...A.input,...j&&j.length>0?{_classifierSignals:j}:{}},{permissionMode:C,reason:`[auto-mode] ${K}`})).confirmed?"allow":"block","askUser"),projectRoot:n??process.cwd(),getAgentsFiles:o(()=>$,"getAgentsFiles"),getCurrentProviderName:o(()=>S.provider,"getCurrentProviderName"),getCurrentModel:o(()=>S.model,"getCurrentModel"),getCurrentPermissionMode:o(()=>C,"getCurrentPermissionMode"),autoModeSettings:X,log:o((A,K)=>{A==="warn"?console.warn(ae.yellow(K)):console.log(ae.dim(K))},"log"),onEngineChange:o(A=>{ln(C)&&F?.update({autoModeEngine:A})},"onEngineChange"),extraCollectors:[uu]}),Ee=ru({getProvider:o(()=>xe(S.provider),"getProvider"),getModel:o(()=>S.model??"","getModel")}),He=S.model??Pn(S.provider)??S.provider,F=null;Nv()&&(F=new kf(Dv(y.sessionId,S.permissionMode,S.provider,He,S.reasoningMode)),ln(C)&&F.update({autoModeEngine:le.getGuardrail().getEngine()}));let fe=`
214
+ ${j}`));for(let Me of pe)console.log(ae.dim(Me));console.log()}),"guardSessionTransition"),de=await fS(n??void 0),{resolveProvider:xe}=await import("./dist-2267YGB5.js"),me=xe(S.provider),Z=de.contextWindow??me.getEffectiveContextWindow?.(S.model)??me.getContextWindow?.()??2e5,{loadAgentsFiles:O}=await import("./dist-2267YGB5.js"),k=o(async()=>O({cwd:process.cwd(),projectRoot:y.gitRoot??void 0}),"reloadAgentsFiles"),$=await k();Kv(S,S.permissionMode,{contextWindow:Z,triggerPercent:de.triggerPercent,enabled:de.enabled},$),Vv(t);let Le=_S(()=>y.gitRoot??process.cwd()),Q=zv.createInterface({input:process.stdin,output:process.stdout,terminal:process.stdout.isTTY??!0,historySize:100,completer:o((A,K)=>{Le(A).then(j=>{K(null,j)}).catch(()=>{K(null,[[],A])})},"completer")}),X=du(),le=await kc({askUser:o(async(A,K,j)=>(await Wc(Q,A.name,{...A.input,...j&&j.length>0?{_classifierSignals:j}:{}},{permissionMode:C,reason:`[auto-mode] ${K}`})).confirmed?"allow":"block","askUser"),projectRoot:n??process.cwd(),getAgentsFiles:o(()=>$,"getAgentsFiles"),getCurrentProviderName:o(()=>S.provider,"getCurrentProviderName"),getCurrentModel:o(()=>S.model,"getCurrentModel"),getCurrentPermissionMode:o(()=>C,"getCurrentPermissionMode"),autoModeSettings:X,log:o((A,K)=>{A==="warn"?console.warn(ae.yellow(K)):console.log(ae.dim(K))},"log"),onEngineChange:o(A=>{ln(C)&&F?.update({autoModeEngine:A})},"onEngineChange"),extraCollectors:[uu]}),Ee=ru({getProvider:o(()=>xe(S.provider),"getProvider"),getModel:o(()=>S.model??"","getModel")}),He=S.model??Pn(S.provider)??S.provider,F=null;Nv()&&(F=new kf(Dv(y.sessionId,S.permissionMode,S.provider,He,S.reasoningMode)),ln(C)&&F.update({autoModeEngine:le.getGuardrail().getEngine()}));let fe=`
215
215
  Keyboard Shortcuts:
216
216
  Tab Auto-complete (@paths, /commands)
217
217
  Esc+Esc Edit last message