@kodax-ai/kodax 0.7.72 → 0.7.73

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 (86) hide show
  1. package/CHANGELOG.md +92 -0
  2. package/README.md +48 -14
  3. package/README_CN.md +33 -10
  4. package/dist/chunks/{agent-YKGU4USA.js → agent-T6PGT6AU.js} +1 -1
  5. package/dist/chunks/argument-completer-QGMWA2C3.js +2 -0
  6. package/dist/chunks/{chunk-SQODXBLX.js → chunk-64M5HOCA.js} +1 -1
  7. package/dist/chunks/{chunk-PKQOEDHJ.js → chunk-6JTWXGVU.js} +217 -223
  8. package/dist/chunks/{chunk-IR5KIK7E.js → chunk-6RI2RBTF.js} +1 -1
  9. package/dist/chunks/chunk-AGDDM5AW.js +329 -0
  10. package/dist/chunks/chunk-BUPJGG3C.js +5 -0
  11. package/dist/chunks/chunk-EAD4SF3Z.js +413 -0
  12. package/dist/chunks/chunk-F7AIEHSS.js +46 -0
  13. package/dist/chunks/{chunk-E27LHEIP.js → chunk-GAFFYJU3.js} +1 -1
  14. package/dist/chunks/chunk-HVCNAZ52.js +365 -0
  15. package/dist/chunks/{chunk-MVARIMQV.js → chunk-M7FXNPWV.js} +2 -2
  16. package/dist/chunks/{chunk-44QXPEEE.js → chunk-MBAPT2R5.js} +1 -1
  17. package/dist/chunks/{chunk-WIBLZK4G.js → chunk-MLEAQTCD.js} +2 -2
  18. package/dist/chunks/{chunk-JSDLBXME.js → chunk-OG6DRNKV.js} +63 -63
  19. package/dist/chunks/{chunk-2RI252RN.js → chunk-PFH53O4M.js} +1 -1
  20. package/dist/chunks/chunk-V4F6IYNK.js +73 -0
  21. package/dist/chunks/chunk-WQ6PWGK5.js +320 -0
  22. package/dist/chunks/chunk-XXQLPTAN.js +78 -0
  23. package/dist/chunks/compaction-config-IHJBP4GO.js +2 -0
  24. package/dist/chunks/{construction-bootstrap-ZJPXUPXQ.js → construction-bootstrap-EGRUHKLP.js} +1 -1
  25. package/dist/chunks/dist-5N3I2RTW.js +2 -0
  26. package/dist/chunks/{dist-GOUP4YVE.js → dist-EVEJAII2.js} +1 -1
  27. package/dist/chunks/host-MECITNE3.js +2 -0
  28. package/dist/chunks/run-manager-AY7RQOWM.js +2 -0
  29. package/dist/chunks/{utils-OTT5CG5J.js → utils-2GAE4XIM.js} +1 -1
  30. package/dist/index.d.ts +16 -16
  31. package/dist/index.js +5 -5
  32. package/dist/kodax_cli.js +1341 -1320
  33. package/dist/provider-capabilities.json +184 -5
  34. package/dist/runtime-worker.js +1227 -1216
  35. package/dist/sdk-a2a.d.ts +10 -10
  36. package/dist/sdk-a2a.js +1 -1
  37. package/dist/sdk-agent.d.ts +13 -13
  38. package/dist/sdk-agent.js +1 -1
  39. package/dist/sdk-coding.d.ts +96 -30
  40. package/dist/sdk-coding.js +1 -1
  41. package/dist/sdk-experimental-memory.d.ts +1 -1
  42. package/dist/sdk-experimental-memory.js +1 -1
  43. package/dist/sdk-llm.d.ts +8 -49
  44. package/dist/sdk-llm.js +1 -1
  45. package/dist/sdk-mcp.js +1 -1
  46. package/dist/sdk-media.d.ts +1 -1
  47. package/dist/sdk-media.js +1 -1
  48. package/dist/sdk-repl.d.ts +138 -16
  49. package/dist/sdk-repl.js +2 -2
  50. package/dist/sdk-runtime.d.ts +99 -17
  51. package/dist/sdk-runtime.js +1 -1
  52. package/dist/sdk-session.d.ts +6 -6
  53. package/dist/sdk-session.js +1 -1
  54. package/dist/sdk-skills.js +1 -1
  55. package/dist/semantic-worker.js +10 -10
  56. package/dist/types-chunks/{base.d-Cz_rwpOi.d.ts → base.d-ChvpaKjZ.d.ts} +1 -1
  57. package/dist/types-chunks/{bash-prefix-extractor.d-CHJO5y94.d.ts → bash-prefix-extractor.d-bApf5nGw.d.ts} +3 -3
  58. package/dist/types-chunks/{capability-learning.d-_lR0J4iR.d.ts → capability-learning.d-DPrYxRjF.d.ts} +1 -1
  59. package/dist/types-chunks/{capsule.d-DxtdE-GD.d.ts → capsule.d-CGWltwno.d.ts} +2 -2
  60. package/dist/types-chunks/{commands.d-DZxHzH5-.d.ts → commands.d-CEHGwRok.d.ts} +62 -6
  61. package/dist/types-chunks/{guardrail.d-DlpMnd-Y.d.ts → guardrail.d-CC4vAQl7.d.ts} +2 -1
  62. package/dist/types-chunks/{guardrail.d-auV61_h5.d.ts → guardrail.d-CXIPlWP3.d.ts} +10 -10
  63. package/dist/types-chunks/{public-api.d--IDNJsu1.d.ts → public-api.d-FBmX0kxo.d.ts} +4 -3
  64. package/dist/types-chunks/{run-manager.d-Bh50OdVl.d.ts → run-manager.d-DUNnJcpE.d.ts} +1 -1
  65. package/dist/types-chunks/{sdk-session-Cfw6NFu-.d.ts → sdk-session-XqacVOs8.d.ts} +3 -3
  66. package/dist/types-chunks/{resolver.d-ssgNSlrh.d.ts → side-query.d-DWTMsndP.d.ts} +68 -5
  67. package/dist/types-chunks/{types.d-DH1mvdcl.d.ts → types.d-BnPhGmar.d.ts} +3 -1
  68. package/dist/types-chunks/{types.d-Cqaw71Ax.d.ts → types.d-CSmF0t0n.d.ts} +6 -5
  69. package/dist/types-chunks/{types.d-EqQmHztg.d.ts → types.d-DKr6TCXL.d.ts} +16 -9
  70. package/dist/types-chunks/{types.d-CNZgY52F.d.ts → types.d-DgciGHoG.d.ts} +2 -2
  71. package/dist/types-chunks/{utils.d-gmn3c5U4.d.ts → utils.d-BPYX7-KN.d.ts} +94 -10
  72. package/docs/SDK_EMBEDDER_GUIDE.md +128 -21
  73. package/package.json +2 -2
  74. package/dist/chunks/argument-completer-QZETLNAB.js +0 -2
  75. package/dist/chunks/chunk-23X6REO4.js +0 -46
  76. package/dist/chunks/chunk-CLFP6UGU.js +0 -71
  77. package/dist/chunks/chunk-EDZ5KJFT.js +0 -5
  78. package/dist/chunks/chunk-GIK4SGAT.js +0 -364
  79. package/dist/chunks/chunk-GVWPHE23.js +0 -310
  80. package/dist/chunks/chunk-VDGCGOQH.js +0 -328
  81. package/dist/chunks/chunk-VVE3UM4F.js +0 -410
  82. package/dist/chunks/chunk-ZJIMT5I3.js +0 -78
  83. package/dist/chunks/compaction-config-TWCDFLX6.js +0 -2
  84. package/dist/chunks/dist-JT4ATXVM.js +0 -2
  85. package/dist/chunks/host-SVEDZUC5.js +0 -2
  86. package/dist/chunks/run-manager-RX42UNEM.js +0 -2
@@ -0,0 +1,320 @@
1
+ // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
+ import{$ as hh,A as Vs,Aa as oC,B as $T,Ba as Ii,C as DT,Ca as vi,D as zs,Da as yh,E as Wd,Ea as iC,F as OT,G as Fd,Ga as xh,H as Uc,Ha as Zd,I as ph,Ia as sC,J as BT,Ja as aC,K as mh,L as ko,M as jd,N as Xs,O as Ud,P as Gd,Q as HT,R as WT,S as Ys,T as FT,U as Eo,V as jT,W as Rr,X as Kd,Y as Vd,Z as Fn,_ as kr,a as sr,aa as Ci,b as W,ba as Mo,c as e_,ca as Gc,d as un,da as zd,e as Pd,ea as UT,f as nT,fa as GT,g as Mn,ga as KT,h as $d,ha as VT,i as Dd,ia as zT,j as Zr,ja as XT,k as Ns,ka as Xd,l as rT,la as Yd,m as Bs,ma as Kc,n as no,na as qd,o as ET,oa as Jd,p as ro,pa as Qd,q as Us,qa as YT,r as MT,ra as qT,s as Gs,sa as JT,t as Hd,ta as gh,u as AT,ua as QT,v as _T,va as ZT,w as LT,wa as eC,x as Ro,xa as tC,y as Ks,ya as nC,z as PT,za as rC}from"./chunk-6JTWXGVU.js";import{A as xT,F as ST,G as bo,H as wi,K as wT,L as TT,M as CT,N as IT,O as vT,P as bT,Q as RT,T as Od,U as Ti,V as Nd,W as Ws,X as Fs,Y as js,Z as Bd,_ as to,a as oe,b as oT,c as iT,ca as kT,d as Hs,e as sT,f as aT,g as xi,h as cT,i as lT,j as uT,k as jc,l as dT,m as fT,n as eo,o as pT,p as mT,q as hT,s as gT,t as yT,u as Si,v as br}from"./chunk-MLEAQTCD.js";import{a as NT}from"./chunk-PFH53O4M.js";import{Ba as Ld,K as qw,L as Jw,N as fh,O as Qw,P as Zw,c as lh,da as eT,n as Ad,o as _d,v as Yw,w as Fc,ya as tT}from"./chunk-EAD4SF3Z.js";import{J as Vw}from"./chunk-M7FXNPWV.js";import{Ba as zw,Ca as Xw,b as Wc,c as Ew,q as Kw}from"./chunk-AGDDM5AW.js";import{Fa as Hw,Jc as Ed,Mc as Fw,bb as Ww,cd as jw,e as Os,gd as Uw,hd as Md,id as Gw,sa as kd,u as Bw}from"./chunk-HVCNAZ52.js";import{Ma as hi,ia as ah,ka as mi,wa as Hc,ya as ch}from"./chunk-XXQLPTAN.js";import{Bc as Sd,Cc as wd,Dc as Td,Ec as Ms,Ga as Aw,Jc as Dw,Mc as ft,Oc as Ft,Qc as As,Rc as _s,Sc as Cd,Uc as Ls,Vc as Ps,Wc as $s,Xc as Id,Ya as uh,Yc as yi,Za as vr,Zc as Ow,ab as dh,ed as vd,fd as Ds,k as Es,mb as _w,pd as Nw,r as Mw,rb as gd,sd as bd,tb as Lw,td as Rd}from"./chunk-OG6DRNKV.js";import{W as yd,X as xd,b as Dt,e as gi,f as ir,t as Pw,u as $w}from"./chunk-GAFFYJU3.js";import{b as dd,j as fd,k as pd,o as md,w as Wn,y as hd}from"./chunk-BUPJGG3C.js";import{a as i,c as ZA}from"./chunk-ONUPGMER.js";import{spawnSync as t_}from"node:child_process";function ef(e){return e==="1"||e?.toLowerCase()==="true"}i(ef,"isTruthyEnv");function cC(e){return e==="0"||e?.toLowerCase()==="false"}i(cC,"isFalseyEnv");function bi(e=process.env){return e.TERM_PROGRAM?.toLowerCase()==="vscode"||!!e.VSCODE_GIT_IPC_HANDLE||!!e.VSCODE_INJECTION}i(bi,"isVsCodeTerminalHostEnv");function Ri(e={}){let t=e.env??process.env;return(e.platform??process.platform)==="win32"||!!t.WT_SESSION}i(Ri,"hasCursorUpViewportYankRisk");function n_(e){return!!(e.SSH_CONNECTION||e.SSH_CLIENT||e.SSH_TTY)}i(n_,"isSshSession");function qs(e={}){let t=e.env??process.env;return ef(t.KODAX_FULLSCREEN)?!1:(e.platform??process.platform)==="win32"&&n_(t)}i(qs,"isRemoteConptyHost");function Vc(e={}){let t=e.env??process.env;return Ri(e)||bi(t)}i(Vc,"hasMainScreenRenderScrollRisk");function r_(e){if(!e.TMUX||e.TERM_PROGRAM!=="iTerm.app")return!1;let t=e.TERM??"";return!t.startsWith("screen")&&!t.startsWith("tmux")}i(r_,"isTmuxControlModeEnvHeuristic");var oo;function Js(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(r_(t))return!0;if(!(t===process.env&&n===process.platform))return!1;if(oo!==void 0||(oo=!1,!t.TMUX)||t.TERM_PROGRAM&&t.TERM_PROGRAM!=="iTerm.app")return oo;try{let o=t_("tmux",["display-message","-p","#{client_control_mode}"],{encoding:"utf8",timeout:2e3});o.status===0&&(oo=o.stdout.trim()==="1")}catch{oo=!1}return oo}i(Js,"isTmuxControlMode");function tf(){oo=void 0}i(tf,"resetTmuxControlModeProbeForTesting");function Ao(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":Js(e)?"tmux_control_mode":bi(t)?"xtermjs_host":qs(e)?"remote_conpty_host":Ri(e)?"degraded_vt":"native_vt"}i(Ao,"detectTerminalRenderHost");var _o=Ao;function ki(e={}){let t=e.env??process.env;if(ef(t.KODAX_FORCE_INK))return"legacy";let n=t.KODAX_TUI_RENDERER?.trim().toLowerCase();return n==="legacy"||n==="owned"||n==="auto"?n:"auto"}i(ki,"resolveConfiguredTuiRendererMode");function Lo(e={}){let t=ki(e);if(t==="legacy"||t==="owned")return t;let n=Ao(e);return n==="unsupported_control_host"||n==="tmux_control_mode"?"legacy":"owned"}i(Lo,"resolveEffectiveTuiRendererMode");function zc(e={}){let t=e.env??process.env;if(ef(t.KODAX_FORCE_CLASSIC_REPL))return"classic";let n=ki({env:t});if(n==="legacy"||n==="owned")return"ink";let r=Ao(e);return r==="unsupported_control_host"||r==="tmux_control_mode"?"classic":"ink"}i(zc,"resolveInteractiveSurfacePreference");var o_={enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!0},lC={enabled:!0,promptShell:"main-screen",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!1,transcriptSpinnerAnimation:!0};function Po(e,t="owned",n={}){let r=n.env??process.env;return cC(r.KODAX_FULLSCREEN)?t==="owned"&&e!=="tmux_control_mode"&&e!=="unsupported_control_host"?lC:o_:i_(e,t)}i(Po,"resolveFullscreenPolicy");function i_(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 lC;default:return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1}}}i(i_,"buildFullscreenPolicy");function Ei(e,t={}){let n=t.rendererMode??"owned",r=Po(e,n,{env:t.env}),o=e!=="unsupported_control_host"&&e!=="tmux_control_mode";return{profile:e,ownsViewportByDefault:r.enabled&&r.promptShell==="virtual",supportsMouseTracking:r.mouseWheel||r.mouseClicks,bufferingMode:r.streamingPreview?"live":"buffered-fallback",supportsFullscreenLayout:r.enabled,supportsOverlaySurface:r.enabled,supportsSelection:o,supportsCopyOnSelect:!1,supportsWheelHistory:r.mouseWheel,supportsViewportChrome:r.enabled,supportsSearchViewport:r.enabled,supportsStickyPrompt:r.enabled}}i(Ei,"getTerminalHostCapabilities");function Xc(e={}){return Lo(e)==="owned"}i(Xc,"isOwnedRendererPreferred");function Yc(e={}){let t=e.env??process.env;return ef(t.KODAX_FORCE_CLASSIC_REPL)&&!cC(t.KODAX_FORCE_CLASSIC_REPL)}i(Yc,"isClassicReplForced");var Mi=class{static{i(this,"LRUCache")}capacity;cache;constructor(t){this.capacity=t,this.cache=new Map}get(t){if(!this.cache.has(t))return;let n=this.cache.get(t);return this.cache.delete(t),this.cache.set(t,n),n}set(t,n){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.capacity){let r=this.cache.keys().next().value;r!==void 0&&this.cache.delete(r)}this.cache.set(t,n)}has(t){return this.cache.has(t)}delete(t){return this.cache.delete(t)}clear(){this.cache.clear()}get size(){return this.cache.size}},Sh=1,wh=2,s_=1e3,uC;function rf(){if(!(typeof Intl>"u"||typeof Intl.Segmenter!="function"))return uC??=new Intl.Segmenter("en",{granularity:"grapheme"}),uC}i(rf,"getGraphemeSegmenter");function hn(e){if(!e)return 0;let t=rf();if(t){let n=0;for(let r of t.segment(e))n++;return n}return[...e].length}i(hn,"getCodePointLength");function ar(e){if(!e)return!1;let t=e.codePointAt(0);return t===void 0?!1:t>=19968&&t<=40959||t>=13312&&t<=19903||t>=63744&&t<=64255||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=44032&&t<=55215||t>=12288&&t<=12351||t>=65280&&t<=65519||t>=128512&&t<=128591||t>=127744&&t<=128511||t>=128640&&t<=128767||t>=127456&&t<=127487||t>=9728&&t<=9983||t>=9984&&t<=10175||t>=129280&&t<=129535||t>=129536&&t<=129647||t>=129648&&t<=129791}i(ar,"isWideChar");function cr(e){if(!e)return 0;let t=0,n=rf();if(n)for(let r of n.segment(e))t+=ar(r.segment)?wh:Sh;else for(let r of e)t+=ar(r)?wh:Sh;return t}i(cr,"getVisualWidth");function dC(e,t){if(!e||t<0)return"";let n=rf();if(n){let o=0;for(let s of n.segment(e)){if(o===t)return s.segment;o++}return""}let r=[...e];return t>=r.length?"":r[t]}i(dC,"getCharAtCodePoint");function dn(e){if(!e)return[];let t=rf();if(t){let n=[];for(let r of t.segment(e))n.push(r.segment);return n}return[...e]}i(dn,"splitByCodePoints");function a_(e,t,n){return dn(e).slice(t,n).join("")}i(a_,"sliceByCodePoints");function fC(e,t){let n=Math.max(0,t),r=dn(e),o=0,s=0;for(;o<r.length;){let a=ar(r[o])?wh:Sh;if(s+a>n)break;s+=a,o++}return{before:r.slice(0,o).join(""),current:r[o]??"",after:r.slice(o+1).join("")}}i(fC,"splitAtVisualColumn");function Qs(e,t,n=!1){if(!e||t<=0)return"";let r="\u2026",s=n?t-1:t,a="",c=0,l=dn(e);for(let d of l){let f=ar(d)?2:1;if(c+f>s)break;a+=d,c+=f}return n&&a.length<e.length&&(a+=r),a}i(Qs,"truncateByVisualWidth");var nf=new Mi(s_);function of(e){let t=nf.get(e);if(t!==void 0)return t;let n=cr(e);return nf.set(e,n),n}i(of,"getVisualWidthCached");function fn(e,t,n,r){let o=[],s=[],a=[];for(let c=0;c<e.length;c++){let l=e[c]||"";if(s[c]=[],l.length===0){o.push("");let p=o.length-1;s[c].push([p,0]),a.push([c,0]);continue}let d=0,f=dn(l);for(;d<f.length;){let p="",h=0,g=d,C=-1;for(let b=d;b<f.length;b++){let T=f[b],S=ar(T)?2:1;if(h+S>t){C>=0&&b-d>0?(p=f.slice(d,C).join(""),h=f.slice(d,C).reduce((w,M)=>w+(ar(M)?2:1),0),g=C):p.length===0&&S>t&&(p=T,h=S,g=b+1);break}p+=T,h+=S,g=b+1,T===" "&&(C=b+1)}if(p.length>0||o.length===0){let b=d,T=o.length;o.push(p),s[c].push([T,b]),a.push([c,b])}d=g}}return{visualLines:o,logicalToVisualMap:s,visualToLogicalMap:a}}i(fn,"calculateVisualLayout");function sf(e,t){let{logicalToVisualMap:n,visualLines:r}=e;if(r.length===0)return[0,0];let[o,s]=t,a=n[o];if(!a||a.length===0)return[0,0];let c;for(let[g,C]of a)if(C<=s)c=[g,C];else break;let[l,d]=c??a[0],f=r[l]??"",p=Math.max(0,s-d),h=cr(a_(f,0,p));return[l,h]}i(sf,"calculateVisualCursorFromLayout");var af={name:"dark",colors:{primary:"#01A4FF",secondary:"#8B5CF6",accent:"#F59E0B",text:"#CCCCCC",dim:"#666666",thinking:"#A3ADC2",success:"#19C37D",warning:"#FF9F43",error:"#FF5F56",info:"#01A4FF",hint:"#8B5CF6",background:"#0D0D0D",inputBackground:"#1A1A1A"},symbols:{prompt:">",success:"\u2713",error:"\u2717",warning:"!",spinner:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]}},Th={name:"minimal",colors:{primary:"#01A4FF",secondary:"#8B5CF6",accent:"#F59E0B",text:"#CCCCCC",dim:"#666666",thinking:"#A3ADC2",success:"#19C37D",warning:"#FF9F43",error:"#FF5F56",info:"#01A4FF",hint:"#8B5CF6",background:"#0D0D0D",inputBackground:"#1A1A1A"},symbols:{prompt:"$",success:"+",error:"-",warning:"?",spinner:["-","\\","|","/"]}};var Ch={dark:af,minimal:Th};function se(e="dark"){return Ch[e]??af}i(se,"getTheme");function c_(){return Object.keys(Ch)}i(c_,"getThemeNames");import{jsx as xn,jsxs as Un,Fragment as g$}from"react/jsx-runtime";import{useMemo as Of}from"react";import{jsx as zI}from"react/jsx-runtime";import{createContext as KP,useContext as Ni,useEffect as aa,useMemo as VI,useState as VP,useCallback as XI,useRef as Ef}from"react";import{Stream as TP}from"node:stream";import{openSync as CP,writeSync as $I}from"node:fs";import{performance as IP}from"node:perf_hooks";import{tmpdir as vP}from"node:os";import{join as bP}from"node:path";import Ih,{forwardRef as d_,useContext as f_}from"react";import{createContext as l_}from"react";var Zs=l_({isScreenReaderEnabled:!1});import{createContext as u_}from"react";var cf=u_(void 0);var pC=d_(({children:e,backgroundColor:t,"aria-label":n,"aria-hidden":r,"aria-role":o,"aria-state":s,...a},c)=>{let{isScreenReaderEnabled:l}=f_(Zs),d=n?Ih.createElement("ink-text",null,n):void 0;if(l&&r)return null;let f=Ih.createElement("ink-box",{ref:c,style:{flexWrap:"nowrap",flexDirection:"row",flexGrow:0,flexShrink:1,...a,backgroundColor:t,overflowX:a.overflowX??a.overflow??"visible",overflowY:a.overflowY??a.overflow??"visible"},internal_accessibility:{role:o,state:s}},l&&d?d:e);return t?Ih.createElement(cf.Provider,{value:t},f):f});pC.displayName="Box";var jn=pC;import g_,{useContext as mC}from"react";import ea from"chalk";import $o from"chalk";var p_=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,m_=/^ansi256\(\s?(\d+)\s?\)$/;function h_(e){return e in $o}i(h_,"isNamedColor");function lr(e,t,n){if(!t)return e;if(h_(t)){let r=$o;if(n==="foreground")return r[t]?.(e)??e;let o=`bg${t[0].toUpperCase()+t.slice(1)}`;return r[o]?.(e)??e}if(t.startsWith("#"))return n==="foreground"?$o.hex(t)(e):$o.bgHex(t)(e);if(t.startsWith("ansi256")){let r=m_.exec(t);if(!r)return e;let o=Number(r[1]);return n==="foreground"?$o.ansi256(o)(e):$o.bgAnsi256(o)(e)}if(t.startsWith("rgb")){let r=p_.exec(t);if(!r)return e;let o=Number(r[1]),s=Number(r[2]),a=Number(r[3]);return n==="foreground"?$o.rgb(o,s,a)(e):$o.bgRgb(o,s,a)(e)}return e}i(lr,"colorize");function gn({color:e,backgroundColor:t,dimColor:n=!1,bold:r=!1,italic:o=!1,underline:s=!1,strikethrough:a=!1,inverse:c=!1,wrap:l="wrap",children:d,"aria-label":f,"aria-hidden":p=!1,internal_cursorAnchor:h=!1}){let{isScreenReaderEnabled:g}=mC(Zs),C=mC(cf),b=g&&f?f:d;if(b==null)return null;let T=i(S=>{let w=S;n&&(w=ea.dim(w)),e&&(w=lr(w,e,"foreground"));let M=t??C;return M&&(w=lr(w,M,"background")),r&&(w=ea.bold(w)),o&&(w=ea.italic(w)),s&&(w=ea.underline(w)),a&&(w=ea.strikethrough(w)),c&&(w=ea.inverse(w)),w},"transform");return g&&p?null:g_.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:l},internal_transform:T,...h?{internal_cursorAnchor:!0}:{}},g&&f?f:d)}i(gn,"Text");import y_,{useLayoutEffect as x_,useMemo as hC,useState as S_}from"react";function vh({items:e,children:t,style:n}){let[r,o]=S_(0),s=hC(()=>e.slice(r),[e,r]);x_(()=>{o(e.length)},[e.length]);let a=s.map((l,d)=>t(l,r+d)),c=hC(()=>({position:"absolute",flexDirection:"column",...n}),[n]);return y_.createElement("ink-box",{internal_static:!0,style:c},a)}i(vh,"Static");import Di from"node:process";import _I from"react";import{throttle as nP}from"es-toolkit/compat";import yn from"ansi-escapes";import fo from"is-in-ci";import rP from"auto-bind";import{onExit as oP}from"signal-exit";import iP from"patch-console";import{LegacyRoot as sP,ConcurrentRoot as aP}from"react-reconciler/constants.js";import cP from"yoga-layout";import lP from"wrap-ansi";import uP from"terminal-size";import w_ from"node:process";var lf=i(()=>w_.env.DEV==="true","isDev");import z_ from"react-reconciler";import{DefaultEventPriority as X_,NoEventPriority as _C}from"react-reconciler/constants.js";import*as Do from"scheduler";import kC from"yoga-layout";import{createContext as Y_}from"react";import D_ from"yoga-layout";import T_ from"widest-line";var gC=new Map,C_=i(e=>{if(e.length===0)return{width:0,height:0};let t=gC.get(e);if(t)return t;let n=T_(e),r=e.split(`
3
+ `).length,o={width:n,height:r};return gC.set(e,o),o},"measureText"),bh=C_;import I_ from"wrap-ansi";import v_ from"cli-truncate";var yC={},b_=i((e,t,n)=>{let r=e+String(t)+String(n),o=yC[r];if(o)return o;let s=e;if(n==="wrap"&&(s=I_(e,t,{trim:!1,hard:!0})),n.startsWith("truncate")){let a="end";n==="truncate-middle"&&(a="middle"),n==="truncate-start"&&(a="start"),s=v_(e,t,{position:a})}return yC[r]=s,s},"wrapText"),uf=b_;var R_=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=63},"isCsiParameterCharacter"),k_=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isCsiIntermediateCharacter"),E_=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=64&&t<=126},"isCsiFinalCharacter"),wC=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isEscapeIntermediateCharacter"),M_=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=126},"isEscapeFinalCharacter"),TC=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=128&&t<=159},"isC1ControlCharacter"),xC=i((e,t)=>{let n=t;for(;n<e.length;){let c=e[n];if(!R_(c))break;n++}let r=e.slice(t,n),o=n;for(;n<e.length;){let c=e[n];if(!k_(c))break;n++}let s=e.slice(o,n),a=e[n];if(!(a===void 0||!E_(a)))return{endIndex:n+1,parameterString:r,intermediateString:s,finalCharacter:a}},"readCsiSequence"),SC=i((e,t,n)=>{for(let r=t;r<e.length;r++){let o=e[r];if(n&&o==="\x07"||o==="\x9C")return r+1;if(o==="\x1B"){let s=e[r+1];if(s==="\x1B"){r++;continue}if(s==="\\")return r+2}}},"findControlStringTerminatorIndex"),A_=i((e,t)=>{let n=t;for(;n<e.length;){let s=e[n];if(!wC(s))break;n++}let r=e.slice(t,n),o=e[n];if(!(o===void 0||!M_(o)))return{endIndex:n+1,intermediateString:r,finalCharacter:o}},"readEscapeSequence"),__=i(e=>{switch(e){case"]":return{type:"osc",allowBellTerminator:!0};case"P":return{type:"dcs",allowBellTerminator:!1};case"^":return{type:"pm",allowBellTerminator:!1};case"_":return{type:"apc",allowBellTerminator:!1};case"X":return{type:"sos",allowBellTerminator:!1};default:return}},"getControlStringFromEscapeIntroducer"),L_=i(e=>{switch(e){case"\x9D":return{type:"osc",allowBellTerminator:!0};case"\x90":return{type:"dcs",allowBellTerminator:!1};case"\x9E":return{type:"pm",allowBellTerminator:!1};case"\x9F":return{type:"apc",allowBellTerminator:!1};case"\x98":return{type:"sos",allowBellTerminator:!1};default:return}},"getControlStringFromC1Introducer"),Rh=i(e=>{if(e.includes("\x1B"))return!0;for(let t of e)if(TC(t))return!0;return!1},"hasAnsiControlCharacters"),ta=i((e,t,n,r)=>(r>n&&e.push({type:"text",value:t.slice(n,r)}),e.push({type:"invalid",value:t.slice(r)}),e),"malformedFromIndex"),CC=i(e=>{if(!Rh(e))return[{type:"text",value:e}];let t=[],n=0;for(let r=0;r<e.length;){let o=e[r];if(o===void 0)break;if(o==="\x1B"){let a=e[r+1];if(a===void 0)return ta(t,e,n,r);if(a==="["){let d=xC(e,r+2);if(d===void 0)return ta(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=__(a);if(c!==void 0){let d=SC(e,r+2,c.allowBellTerminator);if(d===void 0)return ta(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=A_(e,r+1);if(l===void 0){if(wC(a))return ta(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),r++,n=r;continue}r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"esc",value:e.slice(r,l.endIndex),intermediateString:l.intermediateString,finalCharacter:l.finalCharacter}),r=l.endIndex,n=r;continue}if(o==="\x9B"){let a=xC(e,r+1);if(a===void 0)return ta(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=L_(o);if(s!==void 0){let a=SC(e,r+1,s.allowBellTerminator);if(a===void 0)return ta(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:s.type,value:e.slice(r,a)}),r=a,n=r;continue}if(o==="\x9C"){r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"st",value:o}),r++,n=r;continue}if(TC(o)){r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"c1",value:o}),r++,n=r;continue}r++}return n<e.length&&t.push({type:"text",value:e.slice(n)}),t},"tokenizeAnsi");var P_=/^[\d:;]*$/,$_=i(e=>{if(!Rh(e))return e;let t="";for(let n of CC(e)){if(n.type==="text"||n.type==="osc"){t+=n.value;continue}n.type==="csi"&&n.finalCharacter==="m"&&n.intermediateString===""&&P_.test(n.parameterString)&&(t+=n.value)}return t},"sanitizeAnsi"),IC=$_;var vC=i(e=>{let t="";for(let n=0;n<e.childNodes.length;n++){let r=e.childNodes[n];if(r===void 0)continue;let o="";r.nodeName==="#text"?o=r.nodeValue:((r.nodeName==="ink-text"||r.nodeName==="ink-virtual-text")&&(o=vC(r)),o.length>0&&typeof r.internal_transform=="function"&&(o=r.internal_transform(o,n))),t+=o}return IC(t)},"squashTextNodes"),qc=vC;var df=i(e=>{let t={nodeName:e,style:{},attributes:{},childNodes:[],parentNode:void 0,yogaNode:e==="ink-virtual-text"?void 0:D_.Node.create(),internal_accessibility:{}};return e==="ink-text"&&t.yogaNode?.setMeasureFunc(O_.bind(null,t)),t},"createNode"),ff=i((e,t)=>{t.parentNode&&Jc(t.parentNode,t),t.parentNode=e,e.childNodes.push(t),t.yogaNode&&e.yogaNode?.insertChild(t.yogaNode,e.yogaNode.getChildCount()),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&pf(e)},"appendChildNode"),kh=i((e,t,n)=>{t.parentNode&&Jc(t.parentNode,t),t.parentNode=e;let r=e.childNodes.indexOf(n);r>=0?(e.childNodes.splice(r,0,t),t.yogaNode&&e.yogaNode?.insertChild(t.yogaNode,r)):(e.childNodes.push(t),t.yogaNode&&e.yogaNode?.insertChild(t.yogaNode,e.yogaNode.getChildCount())),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&pf(e)},"insertBeforeNode"),Jc=i((e,t)=>{t.yogaNode&&t.parentNode?.yogaNode?.removeChild(t.yogaNode),t.parentNode=void 0;let n=e.childNodes.indexOf(t);n>=0&&e.childNodes.splice(n,1),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&pf(e)},"removeChildNode"),Eh=i((e,t,n)=>{if(t==="internal_accessibility"){e.internal_accessibility=n;return}e.attributes[t]=n},"setAttribute"),Mh=i((e,t)=>{e.style=t},"setStyle"),bC=i(e=>{let t={nodeName:"#text",nodeValue:e,yogaNode:void 0,parentNode:void 0,style:{}};return Qc(t,e),t},"createTextNode"),O_=i(function(e,t){let n=e.nodeName==="#text"?e.nodeValue:qc(e),r=bh(n);if(r.width<=t||r.width>=1&&t>0&&t<1)return r;let o=e.style?.textWrap??"wrap",s=uf(n,t,o);return bh(s)},"measureTextNode"),RC=i(e=>{if(e?.parentNode)return e.yogaNode??RC(e.parentNode)},"findClosestYogaNode"),pf=i(e=>{RC(e)?.markDirty()},"markNodeAsDirty"),Qc=i((e,t)=>{typeof t!="string"&&(t=String(t)),e.nodeValue=t,pf(e)},"setTextNodeValue");import Ee from"yoga-layout";var B_=i((e,t)=>{"position"in t&&e.setPositionType(t.position==="absolute"?Ee.POSITION_TYPE_ABSOLUTE:Ee.POSITION_TYPE_RELATIVE),"top"in t&&e.setPosition(Ee.EDGE_TOP,t.top??0),"bottom"in t&&e.setPosition(Ee.EDGE_BOTTOM,t.bottom??0),"left"in t&&e.setPosition(Ee.EDGE_LEFT,t.left??0),"right"in t&&e.setPosition(Ee.EDGE_RIGHT,t.right??0)},"applyPositionStyles"),H_=i((e,t)=>{"margin"in t&&e.setMargin(Ee.EDGE_ALL,t.margin??0),"marginX"in t&&e.setMargin(Ee.EDGE_HORIZONTAL,t.marginX??0),"marginY"in t&&e.setMargin(Ee.EDGE_VERTICAL,t.marginY??0),"marginLeft"in t&&e.setMargin(Ee.EDGE_START,t.marginLeft||0),"marginRight"in t&&e.setMargin(Ee.EDGE_END,t.marginRight||0),"marginTop"in t&&e.setMargin(Ee.EDGE_TOP,t.marginTop||0),"marginBottom"in t&&e.setMargin(Ee.EDGE_BOTTOM,t.marginBottom||0)},"applyMarginStyles"),W_=i((e,t)=>{"padding"in t&&e.setPadding(Ee.EDGE_ALL,t.padding??0),"paddingX"in t&&e.setPadding(Ee.EDGE_HORIZONTAL,t.paddingX??0),"paddingY"in t&&e.setPadding(Ee.EDGE_VERTICAL,t.paddingY??0),"paddingLeft"in t&&e.setPadding(Ee.EDGE_LEFT,t.paddingLeft||0),"paddingRight"in t&&e.setPadding(Ee.EDGE_RIGHT,t.paddingRight||0),"paddingTop"in t&&e.setPadding(Ee.EDGE_TOP,t.paddingTop||0),"paddingBottom"in t&&e.setPadding(Ee.EDGE_BOTTOM,t.paddingBottom||0)},"applyPaddingStyles"),F_=i((e,t)=>{"flexGrow"in t&&e.setFlexGrow(t.flexGrow??0),"flexShrink"in t&&e.setFlexShrink(typeof t.flexShrink=="number"?t.flexShrink:1),"flexWrap"in t&&(t.flexWrap==="nowrap"&&e.setFlexWrap(Ee.WRAP_NO_WRAP),t.flexWrap==="wrap"&&e.setFlexWrap(Ee.WRAP_WRAP),t.flexWrap==="wrap-reverse"&&e.setFlexWrap(Ee.WRAP_WRAP_REVERSE)),"flexDirection"in t&&(t.flexDirection==="row"&&e.setFlexDirection(Ee.FLEX_DIRECTION_ROW),t.flexDirection==="row-reverse"&&e.setFlexDirection(Ee.FLEX_DIRECTION_ROW_REVERSE),t.flexDirection==="column"&&e.setFlexDirection(Ee.FLEX_DIRECTION_COLUMN),t.flexDirection==="column-reverse"&&e.setFlexDirection(Ee.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(Ee.ALIGN_STRETCH),t.alignItems==="flex-start"&&e.setAlignItems(Ee.ALIGN_FLEX_START),t.alignItems==="center"&&e.setAlignItems(Ee.ALIGN_CENTER),t.alignItems==="flex-end"&&e.setAlignItems(Ee.ALIGN_FLEX_END)),"alignSelf"in t&&((t.alignSelf==="auto"||!t.alignSelf)&&e.setAlignSelf(Ee.ALIGN_AUTO),t.alignSelf==="flex-start"&&e.setAlignSelf(Ee.ALIGN_FLEX_START),t.alignSelf==="center"&&e.setAlignSelf(Ee.ALIGN_CENTER),t.alignSelf==="flex-end"&&e.setAlignSelf(Ee.ALIGN_FLEX_END)),"justifyContent"in t&&((t.justifyContent==="flex-start"||!t.justifyContent)&&e.setJustifyContent(Ee.JUSTIFY_FLEX_START),t.justifyContent==="center"&&e.setJustifyContent(Ee.JUSTIFY_CENTER),t.justifyContent==="flex-end"&&e.setJustifyContent(Ee.JUSTIFY_FLEX_END),t.justifyContent==="space-between"&&e.setJustifyContent(Ee.JUSTIFY_SPACE_BETWEEN),t.justifyContent==="space-around"&&e.setJustifyContent(Ee.JUSTIFY_SPACE_AROUND),t.justifyContent==="space-evenly"&&e.setJustifyContent(Ee.JUSTIFY_SPACE_EVENLY))},"applyFlexStyles"),j_=i((e,t)=>{"width"in t&&(typeof t.width=="number"?e.setWidth(t.width):typeof t.width=="string"?e.setWidthPercent(Number.parseInt(t.width,10)):e.setWidthAuto()),"height"in t&&(typeof t.height=="number"?e.setHeight(t.height):typeof t.height=="string"?e.setHeightPercent(Number.parseInt(t.height,10)):e.setHeightAuto()),"minWidth"in t&&(typeof t.minWidth=="string"?e.setMinWidthPercent(Number.parseInt(t.minWidth,10)):e.setMinWidth(t.minWidth??0)),"minHeight"in t&&(typeof t.minHeight=="string"?e.setMinHeightPercent(Number.parseInt(t.minHeight,10)):e.setMinHeight(t.minHeight??0))},"applyDimensionStyles"),U_=i((e,t)=>{"display"in t&&e.setDisplay(t.display==="flex"?Ee.DISPLAY_FLEX:Ee.DISPLAY_NONE)},"applyDisplayStyles"),G_=i((e,t)=>{if("borderStyle"in t){let n=t.borderStyle?1:0;t.borderTop!==!1&&e.setBorder(Ee.EDGE_TOP,n),t.borderBottom!==!1&&e.setBorder(Ee.EDGE_BOTTOM,n),t.borderLeft!==!1&&e.setBorder(Ee.EDGE_LEFT,n),t.borderRight!==!1&&e.setBorder(Ee.EDGE_RIGHT,n)}},"applyBorderStyles"),K_=i((e,t)=>{"gap"in t&&e.setGap(Ee.GUTTER_ALL,t.gap??0),"columnGap"in t&&e.setGap(Ee.GUTTER_COLUMN,t.columnGap??0),"rowGap"in t&&e.setGap(Ee.GUTTER_ROW,t.rowGap??0)},"applyGapStyles"),V_=i((e,t={})=>{B_(e,t),H_(e,t),W_(e,t),F_(e,t),j_(e,t),U_(e,t),G_(e,t),K_(e,t)},"styles"),Ah=V_;if(lf())try{await import("./devtools-CD6KSIHE.js")}catch(e){if(e.code==="ERR_MODULE_NOT_FOUND")console.warn(`
4
+ The environment variable DEV is set to true, so Ink tried to import \`react-devtools-core\`,
5
+ but this failed as it was not installed. Debugging with React Devtools requires it.
6
+
7
+ To install use this command:
8
+
9
+ $ npm install --save-dev react-devtools-core
10
+ `.trim()+`
11
+ `);else throw e}var EC=i((e,t)=>{if(e===t)return;if(!e)return t;let n={},r=!1;for(let o of Object.keys(e))(!t||!Object.hasOwn(t,o))&&(n[o]=void 0,r=!0);if(t)for(let o of Object.keys(t))t[o]!==e[o]&&(n[o]=t[o],r=!0);return r?n:void 0},"diff"),MC=i(e=>{e?.unsetMeasureFunc(),e?.freeRecursive()},"cleanupYogaNode"),mf=_C,_h,AC={name:void 0,version:void 0},io=z_({getRootHostContext:i(()=>({isInsideText:!1}),"getRootHostContext"),prepareForCommit:i(()=>null,"prepareForCommit"),preparePortalMount:i(()=>null,"preparePortalMount"),clearContainer:i(()=>!1,"clearContainer"),resetAfterCommit(e){if(typeof e.onComputeLayout=="function"&&e.onComputeLayout(),e.isStaticDirty){e.isStaticDirty=!1,typeof e.onImmediateRender=="function"&&e.onImmediateRender();return}typeof e.onRender=="function"&&e.onRender()},getChildHostContext(e,t){let n=e.isInsideText,r=t==="ink-text"||t==="ink-virtual-text";return n===r?e:{isInsideText:r}},shouldSetTextContent:i(()=>!1,"shouldSetTextContent"),createInstance(e,t,n,r){if(r.isInsideText&&e==="ink-box")throw new Error("<Box> can\u2019t be nested inside <Text> component");let o=e==="ink-text"&&r.isInsideText?"ink-virtual-text":e,s=df(o);for(let[a,c]of Object.entries(t))if(a!=="children"){if(a==="style"){Mh(s,c),s.yogaNode&&Ah(s.yogaNode,c);continue}if(a==="internal_transform"){s.internal_transform=c;continue}if(a==="internal_cursorAnchor"){s.internal_cursorAnchor=c;continue}if(a==="internal_static"){_h=n,s.internal_static=!0,n.isStaticDirty=!0,n.staticNode=s;continue}Eh(s,a,c)}return s},createTextInstance(e,t,n){if(!n.isInsideText)throw new Error(`Text string "${e}" must be rendered inside <Text> component`);return bC(e)},resetTextContent(){},hideTextInstance(e){Qc(e,"")},unhideTextInstance(e,t){Qc(e,t)},getPublicInstance:i(e=>e,"getPublicInstance"),hideInstance(e){e.yogaNode?.setDisplay(kC.DISPLAY_NONE)},unhideInstance(e){e.yogaNode?.setDisplay(kC.DISPLAY_FLEX)},appendInitialChild:ff,appendChild:ff,insertBefore:kh,finalizeInitialChildren(){return!1},isPrimaryRenderer:!0,supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,supportsMicrotasks:!0,scheduleMicrotask:queueMicrotask,scheduleCallback:Do.unstable_scheduleCallback,cancelCallback:Do.unstable_cancelCallback,shouldYield:Do.unstable_shouldYield,now:Do.unstable_now,scheduleTimeout:setTimeout,cancelTimeout:clearTimeout,noTimeout:-1,beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},detachDeletedInstance(){},getInstanceFromNode:i(()=>null,"getInstanceFromNode"),prepareScopeUpdate(){},getInstanceFromScope:i(()=>null,"getInstanceFromScope"),appendChildToContainer:ff,insertInContainerBefore:kh,removeChildFromContainer(e,t){Jc(e,t),MC(t.yogaNode)},commitUpdate(e,t,n,r){_h&&e.internal_static&&(_h.isStaticDirty=!0);let o=EC(n,r),s=EC(n.style,r.style);if(!(!o&&!s)){if(o)for(let[a,c]of Object.entries(o)){if(a==="style"){Mh(e,c);continue}if(a==="internal_transform"){e.internal_transform=c;continue}if(a==="internal_cursorAnchor"){e.internal_cursorAnchor=c;continue}if(a==="internal_static"){e.internal_static=!0;continue}Eh(e,a,c)}s&&e.yogaNode&&Ah(e.yogaNode,s)}},commitTextUpdate(e,t,n){Qc(e,n)},removeChild(e,t){Jc(e,t),MC(t.yogaNode)},setCurrentUpdatePriority(e){mf=e},getCurrentUpdatePriority:i(()=>mf,"getCurrentUpdatePriority"),resolveUpdatePriority(){return mf!==_C?mf:X_},maySuspendCommit(){return!0},NotPendingTransition:void 0,HostTransitionContext:Y_(null),resetFormInstance(){},requestPostPaintCallback(){},shouldAttemptEagerTransition(){return!1},trackSchedulerEvent(){},resolveEventType(){return null},resolveEventTimeStamp(){return-1.1},preloadInstance(){return!0},startSuspendingCommit(){},suspendInstance(){},waitForCommitToBeReady(){return null},rendererPackageName:AC.name,rendererVersion:AC.version});import eL from"widest-line";import tL from"indent-string";import Oo from"yoga-layout";import hf from"yoga-layout";var q_=i(e=>e.getComputedWidth()-e.getComputedPadding(hf.EDGE_LEFT)-e.getComputedPadding(hf.EDGE_RIGHT)-e.getComputedBorder(hf.EDGE_LEFT)-e.getComputedBorder(hf.EDGE_RIGHT),"getMaxWidth"),LC=q_;import J_ from"cli-boxes";import gf from"chalk";var Q_=i((e,t,n,r)=>{if(n.style.borderStyle){let o=n.yogaNode.getComputedWidth(),s=n.yogaNode.getComputedHeight(),a=typeof n.style.borderStyle=="string"?J_[n.style.borderStyle]:n.style.borderStyle,c=n.style.borderTopColor??n.style.borderColor,l=n.style.borderBottomColor??n.style.borderColor,d=n.style.borderLeftColor??n.style.borderColor,f=n.style.borderRightColor??n.style.borderColor,p=n.style.borderTopDimColor??n.style.borderDimColor,h=n.style.borderBottomDimColor??n.style.borderDimColor,g=n.style.borderLeftDimColor??n.style.borderDimColor,C=n.style.borderRightDimColor??n.style.borderDimColor,b=n.style.borderTop!==!1,T=n.style.borderBottom!==!1,S=n.style.borderLeft!==!1,w=n.style.borderRight!==!1,M=o-(S?1:0)-(w?1:0),O=b?lr((S?a.topLeft:"")+a.top.repeat(M)+(w?a.topRight:""),c,"foreground"):void 0;b&&p&&(O=gf.dim(O));let A=s;b&&(A-=1),T&&(A-=1);let N=(lr(a.left,d,"foreground")+`
12
+ `).repeat(A);g&&(N=gf.dim(N));let X=(lr(a.right,f,"foreground")+`
13
+ `).repeat(A);C&&(X=gf.dim(X));let K=T?lr((S?a.bottomLeft:"")+a.bottom.repeat(M)+(w?a.bottomRight:""),l,"foreground"):void 0;T&&h&&(K=gf.dim(K));let q=b?1:0;O&&r.write(e,t,O,{transformers:[]}),S&&r.write(e,t+q,N,{transformers:[]}),w&&r.write(e+o-1,t+q,X,{transformers:[]}),K&&r.write(e,t+s-1,K,{transformers:[]})}},"renderBorder"),PC=Q_;var Z_=i((e,t,n,r)=>{if(!n.style.backgroundColor)return;let o=n.yogaNode.getComputedWidth(),s=n.yogaNode.getComputedHeight(),a=n.style.borderStyle&&n.style.borderLeft!==!1?1:0,c=n.style.borderStyle&&n.style.borderRight!==!1?1:0,l=n.style.borderStyle&&n.style.borderTop!==!1?1:0,d=n.style.borderStyle&&n.style.borderBottom!==!1?1:0,f=o-a-c,p=s-l-d;if(!(f>0&&p>0))return;let h=lr(" ".repeat(f),n.style.backgroundColor,"background");for(let g=0;g<p;g++)r.write(e+a,t+l+g,h,{transformers:[]})},"renderBackground"),$C=Z_;function yf(e){let{rawScrollTop:t,contentHeight:n,viewportHeight:r,previousScrollHeight:o,stickyScroll:s,clampMin:a,clampMax:c,virtualScrollWindowed:l,inWindowScrollTop:d,previousAppliedScrollTop:f,regionTop:p}=e,h=Math.max(0,n-r),g=Math.max(0,Math.min(Math.floor(t),h)),b=s&&n>=o?h:g,T=a!==void 0||c!==void 0?Math.max(a??0,Math.min(b,Math.min(h,c??h))):b,S=l&&d!==void 0,w=Math.max(0,Math.floor(d??0)),M=l?S?w:0:T,O=S?M:T,A=null;if(f!==void 0&&f!==O&&r>0){let N=p+r-1;N>=p&&(A={top:p,bottom:N,delta:O-f})}return{scrollHeight:n,viewportTop:T,appliedScrollTop:O,scrollTop:T,scrollOffsetY:M,scrollHint:A}}i(yf,"computeScrollState");var nL=i((e,t)=>{let n=e.childNodes[0]?.yogaNode;if(n){let r=n.getComputedLeft(),o=n.getComputedTop();t=`
14
+ `.repeat(o)+tL(t,r)}return t},"applyPaddingToText"),xf=i((e,t={})=>{if(t.skipStaticElements&&e.internal_static||e.yogaNode?.getDisplay()===Oo.DISPLAY_NONE)return"";let n="";if(e.nodeName==="ink-text")n=qc(e);else if(e.nodeName==="ink-box"||e.nodeName==="ink-root"){let r=e.style.flexDirection==="row"||e.style.flexDirection==="row-reverse"?" ":`
15
+ `;n=(e.style.flexDirection==="row-reverse"||e.style.flexDirection==="column-reverse"?[...e.childNodes].reverse():[...e.childNodes]).map(s=>xf(s,{parentRole:e.internal_accessibility?.role,skipStaticElements:t.skipStaticElements})).filter(Boolean).join(r)}if(e.internal_accessibility){let{role:r,state:o}=e.internal_accessibility;if(o){let a=Object.keys(o).filter(c=>o[c]).join(", ");a&&(n=`(${a}) ${n}`)}r&&r!==t.parentRole&&(n=`${r}: ${n}`)}return n},"renderNodeToScreenReaderOutput"),Lh=null,Ph=null;function DC(){Lh=null,Ph=null}i(DC,"resetScrollHint");function OC(){return Lh}i(OC,"getScrollHint");function NC(){return Ph}i(NC,"getScrollRepaint");var BC=i((e,t,n)=>{let{offsetX:r=0,offsetY:o=0,transformers:s=[],skipStaticElements:a}=n;if(a&&e.internal_static)return;let{yogaNode:c}=e;if(c){if(c.getDisplay()===Oo.DISPLAY_NONE)return;let l=r+c.getComputedLeft(),d=o+c.getComputedTop();e.internal_cursorAnchor&&(t.cursorPosition={x:l,y:d});let f=s;if(typeof e.internal_transform=="function"&&(f=[e.internal_transform,...s]),e.nodeName==="ink-text"){let g=qc(e);if(g.length>0){let C=eL(g),b=LC(c);if(C>b){let T=e.style.textWrap??"wrap";g=uf(g,b,T)}g=nL(e,g),t.write(l,d,g,{transformers:f})}return}let p=!1,h=0;if(e.nodeName==="ink-box"){$C(l,d,e,t),PC(l,d,e,t);let g=e.style.overflowX??e.style.overflow,C=e.style.overflowY??e.style.overflow,b=g==="hidden"||g==="scroll",T=C==="hidden"||C==="scroll";if(C==="scroll"){let S=c.getComputedBorder(Oo.EDGE_TOP),w=c.getComputedBorder(Oo.EDGE_BOTTOM),M=Math.max(0,c.getComputedHeight()-S-w),O=e.attributes?.virtualScrollWindowed===!0,A=e.childNodes[0],N=Math.max(0,Math.floor(O?e.attributes?.scrollHeight??0:A?.yogaNode?.getComputedHeight()??e.attributes?.scrollHeight??0)),X=typeof e.scrollHeight=="number"?e.scrollHeight:N,K=yf({rawScrollTop:e.scrollTop??e.attributes?.scrollTop??0,contentHeight:N,viewportHeight:M,previousScrollHeight:X,stickyScroll:e.stickyScroll??!!e.attributes?.stickyScroll,clampMin:e.attributes?.scrollClampMin,clampMax:e.attributes?.scrollClampMax,virtualScrollWindowed:O,inWindowScrollTop:e.attributes?.inWindowScrollTop,previousAppliedScrollTop:e.appliedScrollTop,regionTop:d+S});e.scrollHeight=K.scrollHeight,e.scrollViewportHeight=M,e.scrollViewportTop=K.viewportTop,e.appliedScrollTop=K.appliedScrollTop,K.scrollHint&&(Lh=K.scrollHint,Math.trunc(Number(e.attributes?.pendingScrollDelta??0))!==0&&(Ph={top:K.scrollHint.top,bottom:K.scrollHint.bottom})),e.attributes&&e.attributes.pendingScrollDelta&&(e.attributes.pendingScrollDelta=0),e.scrollTop=K.scrollTop,h=K.scrollOffsetY}if(b||T){let S=b?l+c.getComputedBorder(Oo.EDGE_LEFT):void 0,w=b?l+c.getComputedWidth()-c.getComputedBorder(Oo.EDGE_RIGHT):void 0,M=T?d+c.getComputedBorder(Oo.EDGE_TOP):void 0,O=T?d+c.getComputedHeight()-c.getComputedBorder(Oo.EDGE_BOTTOM):void 0;t.clip({x1:S,x2:w,y1:M,y2:O}),p=!0}}if(e.nodeName==="ink-root"||e.nodeName==="ink-box"){for(let g of e.childNodes)BC(g,t,{offsetX:l,offsetY:d-h,transformers:f,skipStaticElements:a});p&&t.unclip()}}},"renderNodeToOutput"),$h=BC;import rL from"slice-ansi";import oL from"string-width";import{styledCharsFromTokens as iL,styledCharsToString as sL,tokenize as aL}from"@alcalzone/ansi-tokenize";var Dh=class{static{i(this,"OutputCaches")}widths=new Map;blockWidths=new Map;styledChars=new Map;getStyledChars(t){let n=this.styledChars.get(t);return n===void 0&&(n=iL(aL(t)),this.styledChars.set(t,n)),n}getStringWidth(t){let n=this.widths.get(t);return n===void 0&&(n=oL(t),this.widths.set(t,n)),n}getWidestLine(t){let n=this.blockWidths.get(t);if(n===void 0){let r=0;for(let o of t.split(`
16
+ `))r=Math.max(r,this.getStringWidth(o));n=r,this.blockWidths.set(t,n)}return n}},na=class{static{i(this,"Output")}width;height;operations=[];caches=new Dh;constructor(t){let{width:n,height:r}=t;this.width=n,this.height=r}write(t,n,r,o){let{transformers:s}=o;r&&this.operations.push({type:"write",x:t,y:n,text:r,transformers:s})}clip(t){this.operations.push({type:"clip",clip:t})}unclip(){this.operations.push({type:"unclip"})}getGrid(){let t=[];for(let r=0;r<this.height;r++){let o=[];for(let s=0;s<this.width;s++)o.push({type:"char",value:" ",fullWidth:!1,styles:[]});t.push(o)}let n=[];for(let r of this.operations)if(r.type==="clip"&&n.push(r.clip),r.type==="unclip"&&n.pop(),r.type==="write"){let{text:o,transformers:s}=r,{x:a,y:c}=r,l=o.split(`
17
+ `),d=n.at(-1);if(d){let p=typeof d?.x1=="number"&&typeof d?.x2=="number",h=typeof d?.y1=="number"&&typeof d?.y2=="number";if(p){let g=this.caches.getWidestLine(o);if(a+g<d.x1||a>d.x2)continue}if(h){let g=l.length;if(c+g<d.y1||c>d.y2)continue}if(p&&(l=l.map(g=>{let C=a<d.x1?d.x1-a:0,b=this.caches.getStringWidth(g),T=a+b>d.x2?d.x2-a:b;return rL(g,C,T)}),a<d.x1&&(a=d.x1)),h){let g=c<d.y1?d.y1-c:0,C=l.length,b=c+C>d.y2?d.y2-c:C;l=l.slice(g,b),c<d.y1&&(c=d.y1)}}let f=0;for(let[p,h]of l.entries()){let g=t[c+f];if(!g)continue;for(let T of s)h=T(h,p);let C=this.caches.getStyledChars(h),b=a;for(let T of C){g[b]=T;let S=Math.max(1,this.caches.getStringWidth(T.value));if(S>1)for(let w=1;w<S;w++)g[b+w]={type:"char",value:"",fullWidth:!1,styles:T.styles};b+=S}f++}}return t}get(){let t=this.getGrid();return{output:t.map(r=>{let o=r.filter(s=>s!==void 0);return sL(o).trimEnd()}).join(`
18
+ `),height:t.length}}};var Mr={Single:0,Wide:1,SpacerTail:2},Er={char:" ",width:Mr.Single,style:"",hyperlink:void 0};function HC(e,t){if(e<0||t<0)throw new RangeError(`Screen dimensions must be non-negative (got width=${e}, height=${t})`);let n=new Array(e*t).fill(Er);return{width:e,height:t,cells:n}}i(HC,"createScreen");function Ai(e,t,n){if(!(t<0||n<0||t>=e.width||n>=e.height))return e.cells[n*e.width+t]}i(Ai,"cellAt");function WC(e,t){if(e<0||t<0)throw new RangeError(`Screen dimensions must be non-negative (got width=${e}, height=${t})`);let n=new Array(e*t).fill(Er),r=!1;return{width:e,height:t,setCellAt(o,s,a){if(r)throw new Error("ScreenBuilder.setCellAt called after build()");if(o<0||s<0||o>=e||s>=t)throw new RangeError(`ScreenBuilder.setCellAt out of bounds: (${o}, ${s}) on ${e}x${t}`);n[s*e+o]=a},build(){if(r)throw new Error("ScreenBuilder.build called twice");return r=!0,{width:e,height:t,cells:n}}}}i(WC,"createScreenBuilder");function*Sf(e,t){let n=Math.max(e.width,t.width),r=Math.max(e.height,t.height);for(let o=0;o<r;o++)for(let s=0;s<n;s++){let a=Ai(e,s,o),c=Ai(t,s,o);cL(a,c)||(yield{x:s,y:o,prev:a,next:c})}}i(Sf,"diffEach");function FC(e,t,n,r){if(r===0||e.height===0)return e;let o=Math.max(0,t),s=Math.min(e.height-1,n);if(o>s)return e;let a=e.width,c=e.cells.slice(),l=s-o+1,d=i(f=>{for(let p=0;p<a;p++)c[f*a+p]=Er},"blankRow");if(Math.abs(r)>=l){for(let f=o;f<=s;f++)d(f);return{...e,cells:c}}if(r>0){for(let f=o;f<=s-r;f++)for(let p=0;p<a;p++)c[f*a+p]=e.cells[(f+r)*a+p]??Er;for(let f=s-r+1;f<=s;f++)d(f)}else{let f=-r;for(let p=s;p>=o+f;p--)for(let h=0;h<a;h++)c[p*a+h]=e.cells[(p-f)*a+h]??Er;for(let p=o;p<=o+f-1;p++)d(p)}return{...e,cells:c}}i(FC,"shiftRowsRegion");function cL(e,t){return e===t?!0:e===void 0||t===void 0?!1:e.char===t.char&&e.width===t.width&&e.style===t.style&&e.hyperlink===t.hyperlink}i(cL,"cellsEqual");var Oh="\x1B]8;";function lL(e){return e.endsWith("\x07")?e.slice(0,-1):e}i(lL,"stripOsc8Terminator");function uL(e){if(!e.startsWith(Oh))return;let t=e.slice(Oh.length),n=t.indexOf(";");if(n<0)return;let r=t.slice(n+1),o=lL(r);return o.length>0?o:void 0}i(uL,"parseOsc8Url");function dL(e){if(e.value==="")return{char:"",width:Mr.SpacerTail,style:"",hyperlink:void 0};let t="",n;for(let r of e.styles)if(r.code.startsWith(Oh)){let o=uL(r.code);o!==void 0&&(n=o)}else t+=r.code;return{char:e.value,width:e.fullWidth?Mr.Wide:Mr.Single,style:t,hyperlink:n}}i(dL,"styledCharToCell");function wf(e){let t=e.getGrid(),n=e.width,r=e.height,o=WC(n,r),s=Math.min(t.length,r);for(let a=0;a<s;a++){let c=t[a];if(!c)continue;let l=Math.min(c.length,n);for(let d=0;d<l;d++){let f=c[d];if(!f)continue;let p=dL(f);p.char===Er.char&&p.width===Er.width&&p.style===Er.style&&p.hyperlink===Er.hyperlink||o.setCellAt(d,a,p)}}return o.build()}i(wf,"outputToScreen");var fL=i((e,t,n)=>{if(e.yogaNode){if(t){let h=xf(e,{skipStaticElements:!0}),g=h===""?0:h.split(`
19
+ `).length,C="";return e.staticNode&&(C=xf(e.staticNode,{skipStaticElements:!1})),{output:h,outputHeight:g,staticOutput:C?`${C}
20
+ `:"",frame:void 0}}let r=new na({width:e.yogaNode.getComputedWidth(),height:e.yogaNode.getComputedHeight()});DC(),$h(e,r,{skipStaticElements:!0});let o;e.staticNode?.yogaNode&&(o=new na({width:e.staticNode.yogaNode.getComputedWidth(),height:e.staticNode.yogaNode.getComputedHeight()}),$h(e.staticNode,o,{skipStaticElements:!1}));let{output:s,height:a}=r.get(),c=wf(r),l=n?.columns??e.yogaNode.getComputedWidth(),d=n?.rows??e.yogaNode.getComputedHeight(),f=r.cursorPosition,p={screen:c,viewport:{width:l,height:d},cursor:{x:0,y:c.height,visible:!1},scrollHint:OC(),scrollRepaint:NC(),...f?{inputCursor:{x:f.x,y:f.y}}:{}};return{output:s,outputHeight:a,staticOutput:o?`${o.get().output}
21
+ `:"",frame:p}}return{output:"",outputHeight:0,staticOutput:"",frame:void 0}},"renderer"),Nh=fL;function An(...e){if(e.length===0)return"\x1B[";if(e.length===1)return`\x1B[${e[0]}`;let t=e.slice(0,-1),n=e[e.length-1];return`\x1B[${t.join(";")}${n}`}i(An,"csi");function jC(e=1){return e===0?"":An(e,"A")}i(jC,"cursorUp");function pL(e=1){return e===0?"":An(e,"B")}i(pL,"cursorDown");function mL(e=1){return e===0?"":An(e,"C")}i(mL,"cursorForward");function hL(e=1){return e===0?"":An(e,"D")}i(hL,"cursorBack");function UC(e){return An(e,"G")}i(UC,"cursorTo");var gL=An("G"),GC=An("H");function KC(e,t){let n="";return e<0?n+=hL(-e):e>0&&(n+=mL(e)),t<0?n+=jC(-t):t>0&&(n+=pL(t)),n}i(KC,"cursorMove");var Bh=An(2,"K");function VC(e){if(e<=0)return"";let t="";for(let n=0;n<e;n++)t+=Bh,n<e-1&&(t+=jC(1));return t+=gL,t}i(VC,"eraseLines");var zC=An("r"),XC="\x1B7",YC="\x1B8";function qC(e,t){return An(e,t,"r")}i(qC,"setScrollRegion");function JC(e=1){return An(e,"S")}i(JC,"scrollUp");function QC(e=1){return An(e,"T")}i(QC,"scrollDown");var Zc=An(0,"m");function ZC(e){return`\x1B]${e.join(";")}\x07`}i(ZC,"osc");function yL(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return(t>>>0).toString(36)}i(yL,"osc8Id");function el(e,t){if(!e)return ra;let n={id:yL(e),...t??{}},r=Object.entries(n).map(([o,s])=>`${o}=${s}`).join(":");return ZC(["8",r,e])}i(el,"link");var ra=ZC(["8","",""]);function Hh(e){let{screen:t}=e;if(t.width===0||t.height===0)return[];let n=[],r="",o;for(let s=0;s<t.height;s++){let a="";for(let c=0;c<t.width;c++){let l=Ai(t,c,s);!l||l.width===Mr.SpacerTail||(l.hyperlink!==o&&(o!==void 0&&(a+=ra),l.hyperlink!==void 0&&(a+=el(l.hyperlink)),o=l.hyperlink),l.style!==r&&(r!==""&&(a+=Zc),l.style!==""&&(a+=l.style),r=l.style),a+=l.char)}o!==void 0&&(a+=ra,o=void 0),r!==""&&(a+=Zc,r=""),n.push(a.trimEnd())}return[{type:"stdout",content:n.join(`
22
+ `)}]}i(Hh,"renderFullFrame");var xL=Object.freeze([]),SL=Object.freeze([]);function _i(e,t){if(e===t)return{patches:xL,current:e};let n=[];return e!==""&&n.push({type:"stdout",content:Zc}),t!==""&&n.push({type:"stdout",content:t}),{patches:n,current:t}}i(_i,"transitionStyle");function nl(e,t){let n=_i(e,t),r="";for(let o of n.patches)o.type==="stdout"&&(r+=o.content);return{str:r,current:n.current}}i(nl,"transitionStyleStr");function so(e,t){if(e===t)return{patches:SL,current:e};let n=[];return e!==void 0&&n.push({type:"stdout",content:ra}),t!==void 0&&n.push({type:"stdout",content:el(t)}),{patches:n,current:t}}i(so,"transitionHyperlink");function eI(e){let t=e.codePointAt(0);if(t===void 0)return!1;if(t>=129648&&t<=129791||t>=129792&&t<=130047)return!0;if(e.length>=2){for(let n=0;n<e.length;n++)if(e.charCodeAt(n)===65039)return!0}return!1}i(eI,"needsWidthCompensation");var Li=class{static{i(this,"VirtualScreen")}viewportWidth;cursor;diff;_cursorMut;_diffMut=[];constructor(t,n){this.viewportWidth=n,this._cursorMut={x:t.x,y:t.y},this.cursor=this._cursorMut,this.diff=this._diffMut}txn(t){let[n,r]=t(this.cursor);for(let o of n)this._diffMut.push(o);this._cursorMut.x+=r.dx,this._cursorMut.y+=r.dy}},ao={type:"carriageReturn"},tl={type:"stdout",content:`
23
+ `};function rl(e,t,n){let r=t.width===Mr.Wide?2:1,o=e.viewportWidth,s=!1;return e.txn(a=>{let c=a.x;if(r===2&&c<o){let f=t.char.length>2?o:o+1;if(c+2>=f)return[[],{dx:0,dy:0}]}let l=[];n.length>0&&l.push({type:"stdout",content:n});let d=r===2&&eI(t.char);return d&&c+1<o&&(l.push({type:"cursorTo",col:c+2}),l.push({type:"stdout",content:" "}),l.push({type:"cursorTo",col:c+1})),l.push({type:"stdout",content:t.char}),d&&l.push({type:"cursorTo",col:c+r+1}),s=!0,c>=o?[l,{dx:r-c,dy:1}]:[l,{dx:r,dy:0}]}),s}i(rl,"writeCellWithStyleStr");function Pi(e,t,n){e.txn(r=>{let o=t-r.x,s=n-r.y;return r.x>=e.viewportWidth?[[ao,{type:"cursorMove",x:t,y:s}],{dx:o,dy:s}]:s!==0?[[ao,{type:"cursorMove",x:t,y:s}],{dx:o,dy:s}]:[[{type:"cursorMove",x:o,y:s}],{dx:o,dy:s}]})}i(Pi,"moveCursorTo");function ol(e,t,n,r,o=!1){let s="",a;for(let c=n;c<r;c++){if(e.cursor.y<c){let p=c-e.cursor.y;e.txn(h=>{let g=new Array(1+p);g[0]=ao;for(let C=0;C<p;C++)g[1+C]=tl;return[g,{dx:-h.x,dy:p}]})}for(let p=0;p<t.screen.width;p++){let h=Ai(t.screen,p,c);if(!h||h.width===Mr.SpacerTail||h.char===" "&&h.style===""&&h.hyperlink===void 0)continue;Pi(e,p,c);let g=so(a,h.hyperlink);for(let b of g.patches)e.txn(()=>[[b],{dx:0,dy:0}]);a=g.current;let C=nl(s,h.style);rl(e,h,C.str)&&(s=C.current)}let l=_i(s,"");for(let p of l.patches)e.txn(()=>[[p],{dx:0,dy:0}]);s=l.current;let d=so(a,void 0);for(let p of d.patches)e.txn(()=>[[p],{dx:0,dy:0}]);a=d.current;let f=c===r-1&&t.screen.height<=t.viewport.height&&(c+1>=t.viewport.height||o);e.txn(p=>f?[[ao],{dx:-p.x,dy:0}]:[[ao,tl],{dx:-p.x,dy:1}])}if(s!==""||a!==void 0){let c=_i(s,"");for(let d of c.patches)e.txn(()=>[[d],{dx:0,dy:0}]);let l=so(a,void 0);for(let d of l.patches)e.txn(()=>[[d],{dx:0,dy:0}])}}i(ol,"renderFrameSlice");function Wh(e,t,n,r){let o=Math.max(0,Math.floor(n)),s=Math.min(t.screen.height-1,t.viewport.height-1,Math.floor(r));for(let a=o;a<=s;a++)wL(e,t,a)}i(Wh,"repaintFrameRows");function wL(e,t,n){let r="",o;Pi(e,0,n),e.txn(()=>[[{type:"stdout",content:ra+Zc},{type:"eraseLine"}],{dx:0,dy:0}]);for(let s=0;s<t.screen.width;s++){let a=Ai(t.screen,s,n);if(!a||a.width===Mr.SpacerTail||a.char===" "&&a.style===""&&a.hyperlink===void 0)continue;Pi(e,s,n);let c=so(o,a.hyperlink);for(let d of c.patches)e.txn(()=>[[d],{dx:0,dy:0}]);o=c.current;let l=nl(r,a.style);rl(e,a,l.str)&&(r=l.current)}for(let s of _i(r,"").patches)e.txn(()=>[[s],{dx:0,dy:0}]);for(let s of so(o,void 0).patches)e.txn(()=>[[s],{dx:0,dy:0}])}i(wL,"repaintFrameRow");function Fh(e,t){let n="";for(let r=0;r<e.width;r++){let o=Ai(e,r,t);n+=o?.char??" "}return n.trimEnd()}i(Fh,"readLine");function oa(e,t,n=!1){let r=new Li({x:0,y:0},e.viewport.width);ol(r,e,0,e.screen.height,n);let o=[{type:"clearTerminal",reason:t}];for(let s of r.diff)o.push(s);return o}i(oa,"fullResetSequence_CAUSES_FLICKER");function Tf(e,t){let n=e.cursor.y>=e.screen.height,r=t.screen.height>e.screen.height,o=t.screen.height<e.screen.height,s=n&&e.screen.height>=e.viewport.height,a=t.screen.height<=e.viewport.height,c=s?1:0;return{viewportY:r?Math.max(0,e.screen.height-e.viewport.height+c):Math.max(e.screen.height,t.screen.height)-t.viewport.height+c,cursorAtBottom:n,growing:r,shrinking:o,prevHadScrollback:s,nextFitsViewport:a}}i(Tf,"computeViewportState");function tI(e,t,n){if(t.viewport.height<e.viewport.height||e.viewport.width!==0&&t.viewport.width!==e.viewport.width)return{reset:!0,reason:"resize"};let r=Tf(e,t);if(r.prevHadScrollback&&r.nextFitsViewport&&r.shrinking)return{reset:!0,reason:"offscreen"};if(e.screen.height>=e.viewport.height&&e.screen.height>0&&r.cursorAtBottom&&!r.growing){let s=e.screen.height-e.viewport.height+1;for(let a of Sf(e.screen,t.screen))if(a.y<s)return{reset:!0,reason:"offscreen",trigger:{y:a.y,prevLine:n(e.screen,a.y),nextLine:n(t.screen,a.y)}}}return r.shrinking&&e.screen.height-t.screen.height>e.viewport.height?{reset:!0,reason:"offscreen"}:{reset:!1}}i(tI,"shouldFullReset");function nI(e,t,n){return!!(t&&t.width===2||e&&e.width===2&&!t||t&&n&&!e)}i(nI,"shouldSkipDiff");var Cf=class{static{i(this,"LogUpdate")}options;constructor(t){this.options=t}render(t,n,r={}){if(!this.options.isTTY)return Hh(n);let o=r.inlineBottomAnchored??!1,s=rI(t,o),a=rI(n,o);if(r.altScreen===!0&&t.screen.height===0&&a.screen.height>0)return oa(a,"clear",o);let c=tI(s,a,Fh);if(c.reset)return oa(a,c.reason,o);if(a.scrollRepaint&&r.altScreen===!0)return TL(s,a,a.scrollRepaint);let l=a.scrollHint;if(l&&r.altScreen&&r.decstbmSafe&&process.env.KODAX_SCROLL_DECSTBM==="1"&&l.delta!==0&&l.top>=0&&l.bottom<s.screen.height&&l.bottom<a.screen.height&&Math.abs(l.delta)<=l.bottom-l.top){let d={type:"scrollRegion",top:l.top,bottom:l.bottom,delta:l.delta},f={...s,screen:FC(s.screen,l.top,l.bottom,l.delta)};return[d,...oI(f,a,o)]}return oI(s,a,o)}reset(){}};function jh(e,t){for(let n of t)e.txn(()=>[[n],{dx:0,dy:0}])}i(jh,"emitPatches");function Uh(e,t,n){if(t!==""){let r=_i(t,"");jh(e,r.patches)}if(n!==void 0){let r=so(n,void 0);jh(e,r.patches)}return{style:"",hyperlink:void 0}}i(Uh,"resetStyleAndHyperlink");function TL(e,t,n){let r=Tf(e,t),o=new Li(e.cursor,t.viewport.width);r.shrinking&&iI(o,e,t);let s=Math.max(0,Math.floor(n.top)),a=Math.min(t.screen.height-1,t.viewport.height-1,Math.floor(n.bottom)),c=a>=s?{top:s,bottom:a}:void 0;c&&Wh(o,t,c.top,c.bottom);let l=sI(o,e,t,{...r,skipRows:c});return l.needsFullReset?oa(t,"offscreen"):(Uh(o,l.currentStyle,l.currentHyperlink),r.growing&&ol(o,t,e.screen.height,t.screen.height),aI(o,t),o.diff)}i(TL,"renderScrollRepaint");function iI(e,t,n){let r=t.screen.height-n.screen.height;e.txn(o=>[[{type:"clear",count:r},{type:"cursorMove",x:0,y:-1}],{dx:-o.x,dy:-r}])}i(iI,"applyShrink");function sI(e,t,n,r){let o="",s,a=!1;for(let c of Sf(t.screen,n.screen)){let{x:l,y:d,prev:f,next:p}=c;if(r.growing&&d>=t.screen.height||r.skipRows&&d>=r.skipRows.top&&d<=r.skipRows.bottom)continue;let h=!!(p&&p.char===" "&&p.style===""&&p.hyperlink===void 0);if(!nI(f,p,h)){if(d<r.viewportY){a=!0;break}if(Pi(e,l,d),p){let g=so(s,p.hyperlink);jh(e,g.patches),s=g.current;let C=nl(o,p.style);rl(e,p,C.str)&&(o=C.current)}else if(f){let g=Uh(e,o,s);o=g.style,s=g.hyperlink,e.txn(()=>[[{type:"stdout",content:" "}],{dx:1,dy:0}])}}}return{currentStyle:o,currentHyperlink:s,needsFullReset:a}}i(sI,"diffPass");function rI(e,t){let n=t?Math.max(0,Math.min(e.viewport.height-1,e.screen.height-1)):Math.max(0,e.viewport.height-1);return e.cursor.y<=n?e:{...e,cursor:{...e.cursor,y:n}}}i(rI,"clampRestingCursor");function aI(e,t){t.cursor.y>=t.screen.height?e.txn(n=>{let r=t.cursor.y-n.y;if(r>0){let s=new Array(1+r);s[0]=ao;for(let a=0;a<r;a++)s[1+a]=tl;return[s,{dx:-n.x,dy:r}]}let o=t.cursor.y-n.y;return o!==0||n.x!==t.cursor.x?[[ao,{type:"cursorMove",x:t.cursor.x,y:o}],{dx:t.cursor.x-n.x,dy:o}]:[[],{dx:0,dy:0}]}):Pi(e,t.cursor.x,t.cursor.y)}i(aI,"restoreCursor");function oI(e,t,n=!1){let r=Tf(e,t),o=new Li(e.cursor,t.viewport.width);r.shrinking&&iI(o,e,t);let s=sI(o,e,t,r);return s.needsFullReset?oa(t,"offscreen",n):(Uh(o,s.currentStyle,s.currentHyperlink),r.growing&&ol(o,t,e.screen.height,t.screen.height,n),aI(o,t),o.diff)}i(oI,"renderIncremental");var CL="\x1B[?25l",IL="\x1B[?25h",vL=`\x1B[2J${GC}`,bL="\x1B[?2026h",RL="\x1B[?2026l";function kL(e){switch(e.type){case"stdout":return e.content;case"carriageReturn":return"\r";case"cursorHide":return CL;case"cursorShow":return IL;case"cursorMove":return KC(e.x,e.y);case"cursorTo":return UC(e.col);case"eraseLine":return Bh;case"clear":return VC(e.count);case"clearTerminal":return vL;case"hyperlink":return el(e.uri);case"scrollRegion":{let t=e.top+1,n=e.bottom+1,r=Math.abs(e.delta),o=e.delta>0?JC(r):QC(r);return XC+qC(t,n)+o+zC+YC}}}i(kL,"patchToBytes");function If(e,t,n=!1){let r="",o=!1;for(let s of t)s.type==="clearTerminal"&&(o=!0),r+=kL(s);if(r.length!==0){if(n&&o){e.write(bL+r+RL);return}e.write(r)}}i(If,"applyDiff");function cI(e,t,n={}){if(t===void 0)return!1;let r=e.cellLogUpdate.render(e.prevFrame,t,n);return If(e.stdout,r,n.synchronized??!1),e.prevFrame=t,!0}i(cI,"applyCellFrame");function il(e,t){return{screen:HC(0,0),viewport:{width:t,height:e},cursor:{x:0,y:0,visible:!0}}}i(il,"emptyFrame");import EL from"is-in-ci";var co="\x1B[?2026h",Ar="\x1B[?2026l";function lo(e){return"isTTY"in e&&e.isTTY===!0&&!EL}i(lo,"shouldSynchronize");var ML=new WeakMap,lI=ML;import{EventEmitter as YL}from"node:events";import qL from"node:process";import $i,{useState as Vh,useRef as ia,useCallback as At,useMemo as sa,useEffect as kI}from"react";import JL from"cli-cursor";var AL=i(e=>e>=48&&e<=63,"isCsiParameterByte"),_L=i(e=>e>=32&&e<=47,"isCsiIntermediateByte"),dI=i(e=>e>=64&&e<=126,"isCsiFinalByte");function LL(e,t,n){let r=t+n+1,o=r;for(;o<e.length;o+=1){let s=e.codePointAt(o);if(s===void 0)return"pending";if(!(AL(s)||_L(s))&&!(s===91&&o===r))return dI(s)?{sequence:e.slice(t,o+1),nextIndex:o+1}:void 0}return"pending"}i(LL,"parseCsiSequence");function PL(e,t,n){let r=t+n+2;if(r>e.length)return"pending";let o=e.codePointAt(r-1);if(!(o===void 0||!dI(o)))return{sequence:e.slice(t,r),nextIndex:r}}i(PL,"parseSs3Sequence");function uI(e,t,n){let r=e[t+n];if(r===void 0)return"pending";if(r==="[")return LL(e,t,n);if(r==="O")return PL(e,t,n)}i(uI,"parseControlSequence");function $L(e,t){let n=e.codePointAt(t+1),r=n!==void 0&&n>65535?2:1,o=t+1+r;return{sequence:e.slice(t,o),nextIndex:o}}i($L,"parseEscapedCodePoint");function DL(e){let t=[],n=0,r=i(o=>({events:t,pending:e.slice(o)}),"pendingFrom");for(;n<e.length;){let o=e.indexOf("\x1B",n);if(o===-1)return t.push(e.slice(n)),{events:t,pending:""};if(o>n&&t.push(e.slice(n,o)),o===e.length-1)return r(o);let s=uI(e,o,1);if(s==="pending")return r(o);if(s){t.push(s.sequence),n=s.nextIndex;continue}if(e[o+1]==="\x1B"){if(o+2>=e.length)return r(o);let l=uI(e,o,2);if(l==="pending")return r(o);if(l){t.push(l.sequence),n=l.nextIndex;continue}t.push(e.slice(o,o+2)),n=o+2;continue}let c=$L(e,o);t.push(c.sequence),n=c.nextIndex}return{events:t,pending:""}}i(DL,"parseKeypresses");function vf(){let e="";return{push(t){let n=DL(e+t);return e=n.pending,n.events},hasPendingEscape(){return e.startsWith("\x1B")},flushPendingEscape(){if(!e.startsWith("\x1B"))return;let t=e;return e="",t},reset(){e=""}}}i(vf,"createInputParser");import{createContext as OL}from"react";var fI=OL({exit(){}});fI.displayName="InternalAppContext";var pI=fI;import{EventEmitter as NL}from"node:events";import{createContext as BL}from"react";var HL={isTTY:!1,isRaw:!1,on(){},off(){},pause(){},resume(){},setRawMode(){}},mI=BL({stdin:HL,internal_eventEmitter:new NL,setRawMode(){},isRawModeSupported:!1,internal_exitOnCtrlC:!0});mI.displayName="InternalStdinContext";var hI=mI;import{createContext as WL}from"react";var FL={isTTY:!1,columns:80,rows:24,write(){return!0},on(){},off(){}},gI=WL({stdout:FL,write(){}});gI.displayName="InternalStdoutContext";var yI=gI;import{createContext as jL}from"react";var UL={isTTY:!1,write(){return!0},on(){},off(){}},xI=jL({stderr:UL,write(){}});xI.displayName="InternalStderrContext";var SI=xI;import{createContext as GL}from"react";var wI=GL({activeId:void 0,add(){},remove(){},activate(){},deactivate(){},enableFocus(){},disableFocus(){},focusNext(){},focusPrevious(){},focus(){}});wI.displayName="InternalFocusContext";var TI=wI;import{createContext as KL}from"react";var CI=KL({setCursorPosition(){}});CI.displayName="InternalCursorContext";var II=CI;import zL,{PureComponent as XL}from"react";import*as bf from"node:fs";import{cwd as RI}from"node:process";import Ot from"react";import vI from"stack-utils";import VL from"code-excerpt";var Gh=i(e=>e?.replace(`file://${RI()}/`,""),"cleanupPath"),bI=new vI({cwd:RI(),internals:vI.nodeInternals()});function Kh({error:e}){let t=e.stack?e.stack.split(`
24
+ `).slice(1):void 0,n=t?bI.parseLine(t[0]):void 0,r=Gh(n?.file),o,s=0;if(r&&n?.line&&bf.existsSync(r)){let a=bf.readFileSync(r,"utf8");if(o=VL(a,n.line),o)for(let{line:c}of o)s=Math.max(s,String(c).length)}return Ot.createElement(jn,{flexDirection:"column",padding:1},Ot.createElement(jn,null,Ot.createElement(gn,{backgroundColor:"red",color:"white"}," ","ERROR"," "),Ot.createElement(gn,null," ",e.message)),n&&r&&Ot.createElement(jn,{marginTop:1},Ot.createElement(gn,{dimColor:!0},r,":",n.line,":",n.column)),n&&o&&Ot.createElement(jn,{marginTop:1,flexDirection:"column"},o.map(({line:a,value:c})=>Ot.createElement(jn,{key:a},Ot.createElement(jn,{width:s+1},Ot.createElement(gn,{dimColor:a!==n.line,backgroundColor:a===n.line?"red":void 0,color:a===n.line?"white":void 0,"aria-label":a===n.line?`Line ${a}, error`:`Line ${a}`},String(a).padStart(s," "),":")),Ot.createElement(gn,{key:a,backgroundColor:a===n.line?"red":void 0,color:a===n.line?"white":void 0}," "+c)))),e.stack&&Ot.createElement(jn,{marginTop:1,flexDirection:"column"},e.stack.split(`
25
+ `).slice(1).map(a=>{let c=bI.parseLine(a);return c?Ot.createElement(jn,{key:a},Ot.createElement(gn,{dimColor:!0},"- "),Ot.createElement(gn,{dimColor:!0,bold:!0},c.function),Ot.createElement(gn,{dimColor:!0,color:"gray","aria-label":`at ${Gh(c.file)??""} line ${c.line} column ${c.column}`}," ","(",Gh(c.file)??"",":",c.line,":",c.column,")")):Ot.createElement(jn,{key:a},Ot.createElement(gn,{dimColor:!0},"- "),Ot.createElement(gn,{dimColor:!0,bold:!0},a,"\\t"," "))})))}i(Kh,"ErrorOverview");var sl=class extends XL{static{i(this,"ErrorBoundary")}static displayName="InternalErrorBoundary";static getDerivedStateFromError(t){return{error:t}}state={error:void 0};componentDidCatch(t){this.props.onError(t)}render(){return this.state.error?zL.createElement(Kh,{error:this.state.error}):this.props.children}};var QL=" ",ZL="\x1B[Z",eP="\x1B";function EI({children:e,stdin:t,stdout:n,stderr:r,writeToStdout:o,writeToStderr:s,exitOnCtrlC:a,onExit:c,setCursorPosition:l}){let[d,f]=Vh(!0),[p,h]=Vh(void 0),[,g]=Vh([]),C=ia(0),b=ia(0),T=ia(new YL);T.current.setMaxListeners(1/0);let S=ia(void 0),w=ia(vf()),M=ia(void 0),O=At(()=>{M.current&&(clearImmediate(M.current),M.current=void 0)},[]),A=t.isTTY,N=At(()=>{S.current&&(t.removeListener("readable",S.current),S.current=void 0)},[t]),X=At(()=>{t.setRawMode(!1),N(),t.unref(),b.current=0,w.current.reset(),O()},[t,N,O]),K=At(me=>{A&&b.current>0&&X(),c(me)},[A,X,c]),q=At(me=>{if(me===""&&a){K();return}me===eP&&h(Me=>Me&&void 0)},[a,K]),x=At(me=>{q(me),T.current.emit("input",me)},[q]),Se=At(()=>{O(),M.current=setImmediate(()=>{M.current=void 0;let me=w.current.flushPendingEscape();me&&x(me)})},[O,x]),ee=At(()=>{O();let me;for(;(me=t.read())!==null;){let Me=w.current.push(me);for(let xe of Me)x(xe)}w.current.hasPendingEscape()&&Se()},[t,x,O,Se]),H=At(me=>{if(!A)throw t===qL.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default.
26
+ Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`):new Error(`Raw mode is not supported on the stdin provided to Ink.
27
+ Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(t.setEncoding("utf8"),me){b.current===0&&(t.ref(),t.setRawMode(!0),S.current=ee,t.addListener("readable",ee)),b.current++;return}b.current!==0&&--b.current===0&&X()},[A,t,ee,X]),E=At((me,Me)=>{let xe=me.findIndex(Be=>Be.id===Me);for(let Be=xe+1;Be<me.length;Be++){let ut=me[Be];if(ut?.isActive)return ut.id}},[]),Z=At((me,Me)=>{let xe=me.findIndex(Be=>Be.id===Me);for(let Be=xe-1;Be>=0;Be--){let ut=me[Be];if(ut?.isActive)return ut.id}},[]),B=At(()=>{g(me=>(h(Me=>{let xe=me.find(ut=>ut.isActive)?.id;return E(me,Me)??xe}),me))},[E]),le=At(()=>{g(me=>(h(Me=>{let xe=me.findLast(ut=>ut.isActive)?.id;return Z(me,Me)??xe}),me))},[Z]);kI(()=>{let me=i(xe=>{!d||C.current===0||(xe===QL&&B(),xe===ZL&&le())},"handleTabNavigation");T.current.on("input",me);let Me=T.current;return()=>{Me.off("input",me)}},[d,B,le]);let ue=At(()=>{f(!0)},[]),he=At(()=>{f(!1)},[]),Te=At(me=>{g(Me=>(Me.some(Be=>Be?.id===me)&&h(me),Me))},[]),pe=At((me,{autoFocus:Me})=>{g(xe=>(C.current=xe.length+1,[...xe,{id:me,isActive:!0}])),Me&&h(xe=>xe??me)},[]),Ie=At(me=>{h(Me=>Me===me?void 0:Me),g(Me=>{let xe=Me.filter(Be=>Be.id!==me);return C.current=xe.length,xe})},[]),Fe=At(me=>{g(Me=>Me.map(xe=>xe.id!==me?xe:{id:me,isActive:!0}))},[]),Q=At(me=>{h(Me=>Me===me?void 0:Me),g(Me=>Me.map(xe=>xe.id!==me?xe:{id:me,isActive:!1}))},[]);kI(()=>()=>{JL.show(n),A&&b.current>0&&X()},[n,A,X]);let de=sa(()=>({exit:K}),[K]),we=sa(()=>({stdin:t,setRawMode:H,isRawModeSupported:A,internal_exitOnCtrlC:a,internal_eventEmitter:T.current}),[t,H,A,a]),st=sa(()=>({stdout:n,write:o}),[n,o]),yt=sa(()=>({stderr:r,write:s}),[r,s]),je=sa(()=>({setCursorPosition:l}),[l]),J=sa(()=>({activeId:p,add:pe,remove:Ie,activate:Fe,deactivate:Q,enableFocus:ue,disableFocus:he,focusNext:B,focusPrevious:le,focus:Te}),[p,pe,Ie,Fe,Q,ue,he,B,le,Te]);return $i.createElement(pI.Provider,{value:de},$i.createElement(hI.Provider,{value:we},$i.createElement(yI.Provider,{value:st},$i.createElement(SI.Provider,{value:yt},$i.createElement(TI.Provider,{value:J},$i.createElement(II.Provider,{value:je},$i.createElement(sl,{onError:K},e)))))))}i(EI,"App");EI.displayName="InternalApp";var MI=EI;var tP={disambiguateEscapeCodes:1,reportEventTypes:2,reportAlternateKeys:4,reportAllKeysAsEscapeCodes:8,reportAssociatedText:16};function AI(e){let t=0;for(let n of e)t|=tP[n];return t}i(AI,"resolveFlags");var uo={shift:1,alt:2,ctrl:4,super:8,hyper:16,meta:32,capsLock:64,numLock:128};var zh=i((e,t)=>(t<0?yn.cursorUp(-t):t>0?yn.cursorDown(t):"")+(e<0?yn.cursorBackward(-e):e>0?yn.cursorForward(e):""),"cursorMoveSeq"),Xh=i((e,t=!1)=>{let n=Math.max(0,e.screen.height-e.viewport.height),r=t?Math.max(0,Math.min(e.viewport.height-1,e.screen.height-1)):Math.max(0,e.viewport.height-1);return o=>({x:o.x,y:Math.min(Math.max(o.y-n,0),r)})},"toVisibleCursor"),Rf=i(()=>{},"noop"),dP=27,fP=91,pP=63,mP=117,hP=48,gP=57,yP=i(e=>e>=hP&&e<=gP,"isDigitByte"),LI=i((e,t)=>{if(e[t]!==dP||e[t+1]!==fP||e[t+2]!==pP)return;let n=t+3,r=n;for(;n<e.length&&yP(e[n]);)n++;if(n!==r){if(n===e.length)return{state:"partial"};if(e[n]===mP)return{state:"complete",endIndex:n}}},"matchKittyQueryResponse"),xP=i(e=>{for(let t=0;t<e.length;t++)if(LI(e,t)?.state==="complete")return!0;return!1},"hasCompleteKittyQueryResponse"),SP=i(e=>{let t=[],n=0;for(;n<e.length;){let r=LI(e,n);if(r?.state==="complete"){n=r.endIndex+1;continue}if(r?.state==="partial")break;t.push(e[n]),n++}return t},"stripKittyQueryResponsesAndTrailingPartial"),Yh=i(e=>e instanceof Error||Object.prototype.toString.call(e)==="[object Error]","isErrorInput"),wP=class{static{i(this,"Ink")}isConcurrent;options;cursorPosition;isScreenReaderEnabled;isUnmounted;isUnmounting;lastOutput;lastOutputToRender;lastOutputHeight;lastTerminalWidth;container;rootNode;fullStaticOutput;exitPromise;exitResult;beforeExitHandler;restoreConsole;restoreStreamWriteGuard;rawStdoutWrite;rawStderrWrite;internalStreamWriteDepth=0;unsubscribeResize;throttledOnRender;hasPendingThrottledRender=!1;kittyProtocolEnabled=!1;cancelKittyDetection;altScreenActive=!1;shellMode;mouseTrackingActive=!1;shellTransitionPhase=void 0;cursorHidden=!1;constructor(t){rP(this),this.options=t,this.rawStdoutWrite=t.stdout.write.bind(t.stdout),this.rawStderrWrite=t.stderr.write.bind(t.stderr),this.rootNode=df("ink-root"),this.rootNode.onComputeLayout=this.calculateLayout,this.isScreenReaderEnabled=t.isScreenReaderEnabled??Di.env.INK_SCREEN_READER==="true";let n=t.debug||this.isScreenReaderEnabled,r=t.maxFps??30,o=r>0?Math.max(1,Math.ceil(1e3/r)):0;if(n)this.rootNode.onRender=this.onRender,this.throttledOnRender=void 0;else{let a=nP(this.onRender,o,{leading:!0,trailing:!0});this.rootNode.onRender=()=>{this.hasPendingThrottledRender=!0,a()},this.throttledOnRender=a}this.rootNode.onImmediateRender=this.onRender,this.cellLogUpdate=new Cf({isTTY:!!t.stdout.isTTY}),this.prevFrame=il(t.stdout.rows??24,t.stdout.columns??80),this.cursorPosition=void 0,this.isUnmounted=!1,this.isUnmounting=!1,this.installExternalStreamWriteGuard(),this.isConcurrent=t.concurrent??!1,this.lastOutput="",this.lastOutputToRender="",this.lastOutputHeight=0,this.lastTerminalWidth=this.getTerminalWidth(),this.fullStaticOutput="",this.shellMode=t.shellMode??"virtual";let s=t.concurrent?aP:sP;this.container=io.createContainer(this.rootNode,s,null,!1,null,"id",()=>{},()=>{},()=>{},()=>{}),this.unsubscribeExit=oP(this.unmount,{alwaysLast:!1}),lf()&&io.injectIntoDevTools(),t.patchConsole&&this.patchConsole(),fo||(t.stdout.on("resize",this.resized),this.unsubscribeResize=()=>{t.stdout.off("resize",this.resized)}),this.initKittyKeyboard()}getTerminalWidth=i(()=>this.options.stdout.columns?this.options.stdout.columns:uP()?.columns??80,"getTerminalWidth");resized=i(()=>{let t=this.getTerminalWidth();if(t<this.lastTerminalWidth){this.returnCursorToRest();let n=this.altScreenActive?this.lastOutputHeight>0?yn.eraseLines(this.lastOutputHeight):"":this.eraseInlineLiveBlock();n.length>0&&this.writeStdout(n),this.lastOutput="",this.lastOutputToRender="",this.cellLogUpdate.reset(),this.prevFrame=il(this.options.stdout.rows??24,t)}this.calculateLayout(),this.onRender(),this.lastTerminalWidth=t},"resized");resolveExitPromise=i(()=>{},"resolveExitPromise");rejectExitPromise=i(()=>{},"rejectExitPromise");unsubscribeExit=i(()=>{},"unsubscribeExit");handleAppExit=i(t=>{if(!(this.isUnmounted||this.isUnmounting)){if(Yh(t)){this.unmount(t);return}this.exitResult=t,this.unmount()}},"handleAppExit");setCursorPosition=i(t=>{if(t===void 0){this.cursorPosition=void 0;return}let n=this.getTerminalWidth(),r=this.options.stdout.rows??24;if(n<=0||r<=0){this.cursorPosition=void 0;return}let o=Math.max(0,Math.min(t.x|0,n-1)),s=Math.max(0,Math.min(t.y|0,r-1));this.cursorPosition={x:o,y:s}},"setCursorPosition");resetOutputTracking=i(()=>{this.lastOutput="",this.lastOutputToRender="",this.lastOutputHeight=0,this.cursorPosition=void 0,this.invalidateCellFrame()},"resetOutputTracking");usesVirtualShellOwnership=i((t={})=>t.altScreenActive??this.altScreenActive,"usesVirtualShellOwnership");beginShellTransition(t){this.shellTransitionPhase=t}setShellMode(t,n){let r=this.shellMode,o=this.mouseTrackingActive,s=this.usesVirtualShellOwnership(),a=n??!1;this.shellMode=t,this.mouseTrackingActive=a;let c=this.usesVirtualShellOwnership();(r!==t&&(s||c)||o!==a&&c)&&this.resetOutputTracking()}setAltScreenActive(t,n){let r=this.altScreenActive,o=this.mouseTrackingActive,s=this.usesVirtualShellOwnership(),a=n??!1;this.altScreenActive=t,this.mouseTrackingActive=a,this.shellTransitionPhase=void 0;let c=this.usesVirtualShellOwnership();(r!==t||o!==a&&(s||c))&&this.resetOutputTracking()}clearTextSelection(){}installExternalStreamWriteGuard(){if(this.options.debug||fo)return;let t=this.options.stdout,n=this.options.stderr,r=t.write,o=n.write,s=i((...c)=>{let l=this.rawStdoutWrite(...c);return this.internalStreamWriteDepth===0&&this.handleExternalStreamWrite(),l},"guardedStdoutWrite"),a=i((...c)=>{let l=this.rawStderrWrite(...c);return this.internalStreamWriteDepth===0&&this.handleExternalStreamWrite(),l},"guardedStderrWrite");t.write=s,n.write=a,this.restoreStreamWriteGuard=()=>{t.write===s&&(t.write=r),n.write===a&&(n.write=o)}}handleExternalStreamWrite(){this.isUnmounted||this.invalidateCellFrame()}withInternalStreamWrite(t){this.internalStreamWriteDepth+=1;try{return t()}finally{this.internalStreamWriteDepth-=1}}writeStdout(t,...n){return this.withInternalStreamWrite(()=>this.rawStdoutWrite(t,...n))}writeStderr(t,...n){return this.withInternalStreamWrite(()=>this.rawStderrWrite(t,...n))}restoreLastOutput=i(()=>{if(this.prevFrame.screen.height===0)return;let t=il(this.options.stdout.rows??24,this.getTerminalWidth()),n=this.cellLogUpdate.render(t,this.prevFrame);this.withInternalStreamWrite(()=>If(this.options.stdout,n))},"restoreLastOutput");shouldRestoreManagedShellAfterExternalWrite=i(()=>this.altScreenActive,"shouldRestoreManagedShellAfterExternalWrite");calculateLayout=i(()=>{let t=this.getTerminalWidth();this.rootNode.yogaNode.setWidth(t),this.rootNode.yogaNode.calculateLayout(void 0,void 0,cP.DIRECTION_LTR)},"calculateLayout");onRender=i(()=>{if(this.hasPendingThrottledRender=!1,this.isUnmounted)return;let t=performance.now(),n={rows:this.options.stdout.rows??24,columns:this.getTerminalWidth()},{output:r,outputHeight:o,staticOutput:s,frame:a}=Nh(this.rootNode,this.isScreenReaderEnabled,n);this.options.onRender?.({renderTime:performance.now()-t}),!fo&&!this.options.debug&&!this.isScreenReaderEnabled&&!this.cursorHidden&&(this.writeStdout(yn.cursorHide),this.cursorHidden=!0);let c=s&&s!==`
28
+ `;if(this.options.debug){c&&(this.fullStaticOutput+=s),this.writeStdout(this.fullStaticOutput+r);return}if(fo){c&&this.writeStdout(s),this.lastOutput=r,this.lastOutputToRender=r+`
29
+ `,this.lastOutputHeight=o;return}if(this.isScreenReaderEnabled){let T=lo(this.options.stdout);if(T&&this.writeStdout(co),c){let M=this.lastOutputHeight>0?yn.eraseLines(this.lastOutputHeight):"";this.writeStdout(M+s),this.lastOutputHeight=0}if(r===this.lastOutput&&!c){T&&this.writeStdout(Ar);return}let S=this.getTerminalWidth(),w=lP(r,S,{trim:!1,hard:!0});if(c)this.writeStdout(w);else{let M=this.lastOutputHeight>0?yn.eraseLines(this.lastOutputHeight):"";this.writeStdout(M+w)}this.lastOutput=r,this.lastOutputToRender=w,this.lastOutputHeight=w===""?0:w.split(`
30
+ `).length,T&&this.writeStdout(Ar);return}c&&(this.fullStaticOutput+=s);let d=!this.altScreenActive&&!!(a&&a.inputCursor)?[]:null,f=i(T=>{T&&(d?d.push(T):this.writeStdout(T))},"emit"),p=d?{write:f}:null;f(this.computeReturnToRestSeq());let h=this.altScreenActive,C=this.options.stdout.isTTY&&o>=this.options.stdout.rows&&h?r:r+`
31
+ `;if(this.lastOutputHeight>=this.options.stdout.rows&&h){if(Di.env.KODAX_FULLSCREEN_CELLDIFF!=="0"&&this.altScreenActive&&this.fullStaticOutput===""){let w=lo(this.options.stdout);w&&this.writeStdout(co),this.applyCellFrame(a),w&&this.writeStdout(Ar),this.lastOutput=r,this.lastOutputToRender=C,this.lastOutputHeight=o;return}let T=lo(this.options.stdout);T&&this.writeStdout(co);let S=this.fullStaticOutput+C;if(this.altScreenActive){let w=this.lastOutputHeight>0?yn.eraseLines(this.lastOutputHeight):"";this.writeStdout(w+S)}else this.writeStdout(yn.clearTerminal+this.fullStaticOutput+r);this.lastOutput=r,this.lastOutputToRender=this.altScreenActive?S:C,this.lastOutputHeight=o,this.invalidateCellFrame(),T&&this.writeStdout(Ar);return}let b=!d&&lo(this.options.stdout);try{if(c?(b&&f(co),f(this.eraseInlineLiveBlock()+s),this.invalidateCellFrame(),this.applyCellFrame(a,p),b&&f(Ar)):!this.altScreenActive&&this.prevFrame&&this.prevFrame.screen.height!==a.screen.height&&this.lastOutputHeight>0&&o<=this.options.stdout.rows&&this.lastOutputHeight<this.options.stdout.rows?(b&&f(co),f(this.eraseInlineLiveBlock()),this.invalidateCellFrame(),this.applyCellFrame(a,p),b&&f(Ar)):this.applyCellFrame(a,p),a?.inputCursor){let T=Xh(a,!this.altScreenActive),S=T(a.cursor),w=T(a.inputCursor),M=zh(w.x-S.x,w.y-S.y);f(M),this.displayCursor=w}}finally{d&&this.flushCursorTxn(d)}this.lastOutput=r,this.lastOutputToRender=C,this.lastOutputHeight=o},"onRender");applyCellFrame=i((t,n=null)=>{let r={cellLogUpdate:this.cellLogUpdate,prevFrame:this.prevFrame,stdout:n??this.options.stdout},o=lo(this.options.stdout),s={altScreen:this.altScreenActive,decstbmSafe:o,synchronized:n?!1:o,inlineBottomAnchored:!this.altScreenActive},a=this.withInternalStreamWrite(()=>cI(r,t,s));return this.prevFrame=r.prevFrame,a},"applyCellFrame");invalidateCellFrame=i(()=>{this.cellLogUpdate.reset(),this.prevFrame=il(this.options.stdout.rows??24,this.getTerminalWidth())},"invalidateCellFrame");eraseInlineLiveBlock=i(()=>this.lastOutputHeight>0?yn.eraseLines(this.lastOutputHeight):"","eraseInlineLiveBlock");commitInlineScrollback=i(({mode:t,text:n})=>{if(this.altScreenActive||this.isUnmounted)return;let r=[],o=i(c=>{c&&r.push(c)},"emit"),s={write:o};o(this.computeReturnToRestSeq());let a=t==="rebuild"?"\x1B[2J\x1B[3J\x1B[H":this.eraseInlineLiveBlock();o(a+(n??"")),this.lastOutput="",this.lastOutputToRender="",this.lastOutputHeight=0,this.fullStaticOutput="",this.invalidateCellFrame();try{this.calculateLayout();let c={rows:this.options.stdout.rows??24,columns:this.getTerminalWidth()},{output:l,outputHeight:d,frame:f}=Nh(this.rootNode,this.isScreenReaderEnabled,c);if(this.applyCellFrame(f,s),f?.inputCursor){let p=Xh(f,!this.altScreenActive),h=p(f.cursor),g=p(f.inputCursor),C=zh(g.x-h.x,g.y-h.y);o(C),this.displayCursor=g}this.lastOutput=l,this.lastOutputToRender=l,this.lastOutputHeight=d}finally{this.flushCursorTxn(r)}},"commitInlineScrollback");flushCursorTxn(t){let n=t.join("");if(!n)return;let r=lo(this.options.stdout);this.writeStdout(r?co+n+Ar:n)}render(t){let n=_I.createElement(Zs.Provider,{value:{isScreenReaderEnabled:this.isScreenReaderEnabled}},_I.createElement(MI,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,exitOnCtrlC:this.options.exitOnCtrlC,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,setCursorPosition:this.setCursorPosition,onExit:this.handleAppExit},t));this.options.concurrent?io.updateContainer(n,this.container,null,Rf):(io.updateContainerSync(n,this.container,null,Rf),io.flushSyncWork())}computeReturnToRestSeq(){if(this.displayCursor&&this.prevFrame){let t=Xh(this.prevFrame,!this.altScreenActive)(this.prevFrame.cursor),n=zh(t.x-this.displayCursor.x,t.y-this.displayCursor.y);return this.displayCursor=null,n}return""}returnCursorToRest(){let t=this.computeReturnToRestSeq();t&&this.writeStdout(t)}writeToStdout(t){if(this.isUnmounted)return;if(this.options.debug){this.writeStdout(t+this.fullStaticOutput+this.lastOutput);return}if(fo){this.writeStdout(t);return}if(!this.shouldRestoreManagedShellAfterExternalWrite()){this.returnCursorToRest(),this.writeStdout(t),this.invalidateCellFrame();return}let n=lo(this.options.stdout);n&&this.writeStdout(co),this.returnCursorToRest();let r=this.lastOutputHeight>0?yn.eraseLines(this.lastOutputHeight):"";this.writeStdout(r+t),this.restoreLastOutput(),this.invalidateCellFrame(),n&&this.writeStdout(Ar)}writeToStderr(t){if(this.isUnmounted)return;if(this.options.debug){this.writeStderr(t),this.writeStdout(this.fullStaticOutput+this.lastOutput);return}if(fo){this.writeStderr(t);return}if(!this.shouldRestoreManagedShellAfterExternalWrite()){this.returnCursorToRest(),this.writeStderr(t),this.invalidateCellFrame();return}let n=lo(this.options.stdout);n&&this.writeStdout(co),this.returnCursorToRest();let r=this.lastOutputHeight>0?yn.eraseLines(this.lastOutputHeight):"";r.length>0&&this.writeStdout(r),this.writeStderr(t),this.restoreLastOutput(),this.invalidateCellFrame(),n&&this.writeStdout(Ar)}unmount(t){if(this.isUnmounted||this.isUnmounting)return;this.isUnmounting=!0,this.beforeExitHandler&&(Di.off("beforeExit",this.beforeExitHandler),this.beforeExitHandler=void 0);let n=this.options.stdout,r=!n.destroyed&&!n.writableEnded&&(n.writable??!0);if(i(d=>{typeof d.flush=="function"&&(r?d.flush():typeof d.cancel=="function"&&d.cancel())},"settleThrottle")(this.throttledOnRender??{}),r&&(!this.throttledOnRender||!this.hasPendingThrottledRender&&this.fullStaticOutput==="")&&(this.calculateLayout(),this.onRender()),this.isUnmounted=!0,this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.restoreStreamWriteGuard=="function"&&(this.restoreStreamWriteGuard(),this.restoreStreamWriteGuard=void 0),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),this.cancelKittyDetection&&this.cancelKittyDetection(),r){if(this.kittyProtocolEnabled)try{this.writeStdout("\x1B[<u")}catch{}fo&&this.writeStdout(this.lastOutput+`
32
+ `)}this.kittyProtocolEnabled=!1,this.shellTransitionPhase=void 0,this.options.concurrent?io.updateContainer(null,this.container,null,Rf):(io.updateContainerSync(null,this.container,null,Rf),io.flushSyncWork()),lI.delete(this.options.stdout);let{exitResult:s}=this,a=i(()=>{Yh(t)?this.rejectExitPromise(t):this.resolveExitPromise(s)},"resolveOrReject"),c=t!==void 0&&!Yh(t),l=n._writableState!==void 0||n.writableLength!==void 0;c?a():r&&l?this.writeStdout("",a):setImmediate(a)}async waitUntilExit(){return this.exitPromise||=new Promise((t,n)=>{this.resolveExitPromise=t,this.rejectExitPromise=n}),this.beforeExitHandler||(this.beforeExitHandler=()=>{this.unmount()},Di.once("beforeExit",this.beforeExitHandler)),this.exitPromise}clear(){if(!fo&&!this.options.debug){this.returnCursorToRest();let t=this.altScreenActive?this.lastOutputHeight>0?yn.eraseLines(this.lastOutputHeight):"":this.eraseInlineLiveBlock();t.length>0&&this.writeStdout(t),this.lastOutput="",this.lastOutputToRender="",this.lastOutputHeight=0,this.invalidateCellFrame()}}patchConsole(){this.options.debug||(this.restoreConsole=iP((t,n)=>{t==="stdout"&&this.writeToStdout(n),t==="stderr"&&(n.startsWith("The above error occurred")||this.writeToStderr(n))}))}initKittyKeyboard(){if(!this.options.kittyKeyboard)return;let t=this.options.kittyKeyboard,n=t.mode??"auto";if(n==="disabled"||!this.options.stdin.isTTY||!this.options.stdout.isTTY)return;let r=t.flags??["disambiguateEscapeCodes"];if(n==="enabled"){this.enableKittyProtocol(r);return}let o=Di.env.TERM??"",s=Di.env.TERM_PROGRAM??"",a="KITTY_WINDOW_ID"in Di.env||o==="xterm-kitty"||s==="WezTerm"||s==="ghostty";!fo&&a&&this.confirmKittySupport(r)}confirmKittySupport(t){let{stdin:n}=this.options,r=[],o=i(()=>{this.cancelKittyDetection=void 0,clearTimeout(a),n.removeListener("data",s);let c=SP(r);r=[],c.length>0&&n.unshift(Buffer.from(c))},"cleanup"),s=i(c=>{let l=typeof c=="string"?Buffer.from(c):c;for(let d of l)r.push(d);xP(r)&&(o(),this.isUnmounted||this.enableKittyProtocol(t))},"onData");n.on("data",s);let a=setTimeout(o,200);this.cancelKittyDetection=o,this.writeStdout("\x1B[?u")}enableKittyProtocol(t){this.writeStdout(`\x1B[>${AI(t)}u`),this.kittyProtocolEnabled=!0}},PI=wP;var al=class{static{i(this,"KodaXRenderer")}engineInstance;isConcurrent;constructor(t){this.engineInstance=new PI(t),this.isConcurrent=this.engineInstance.isConcurrent}render=i(t=>{this.engineInstance.render(t)},"render");unmount=i(t=>{this.engineInstance.unmount(t)},"unmount");waitUntilExit=i(()=>this.engineInstance.waitUntilExit(),"waitUntilExit");clear=i(()=>{this.engineInstance.clear()},"clear");setAltScreenActive=i((t,n)=>{this.engineInstance.setAltScreenActive?.(t,n)},"setAltScreenActive");setShellMode=i((t,n)=>{this.engineInstance.setShellMode?.(t,n)},"setShellMode");beginShellTransition=i(t=>{this.engineInstance.beginShellTransition?.(t)},"beginShellTransition");clearTextSelection=i(()=>{this.engineInstance.clearTextSelection?.()},"clearTextSelection");commitInlineScrollback=i(t=>{this.engineInstance.commitInlineScrollback?.(t)},"commitInlineScrollback")};var No=null;function DI(){if(No===-1)return null;if(No!==null)return No;let e=process.env.KODAX_RENDER_TRACE;if(!e||e==="0"||e==="false")return No=-1,null;let t=e==="1"||e==="true"?bP(vP(),`kodax-render-trace-${process.pid}.log`):e;try{return No=CP(t,"a"),$I(No,`=== KODAX render trace pid=${process.pid} ${new Date().toISOString()} platform=${process.platform} node=${process.version} ===
33
+ `),No}catch{return No=-1,null}}i(DI,"resolveTraceFd");function RP(e){let t=DI();if(t!==null)try{$I(t,e)}catch{}}i(RP,"traceLine");var kf=new WeakMap,kP={isTTY:!1,columns:80,rows:24,write:i(()=>!0,"write"),on:i(()=>{},"on"),off:i(()=>{},"off")},EP={isTTY:!1,write:i(()=>!0,"write"),on:i(()=>{},"on"),off:i(()=>{},"off")},MP={isTTY:!1,isRaw:!1,on:i(()=>{},"on"),off:i(()=>{},"off"),pause:i(()=>{},"pause"),resume:i(()=>{},"resume"),setRawMode:i(()=>{},"setRawMode")};function AP(e={}){return e instanceof TP?{stdout:e}:e}i(AP,"getOptions");function _P(e,t,n){let r=kf.get(e);return r?r.isConcurrent!==n&&console.warn(`Warning: render() was called with concurrent: ${n}, but the existing renderer for this stdout uses concurrent: ${r.isConcurrent}. The concurrent option only takes effect on the first render. Call unmount() first if you need to change the rendering mode.`):(r=t(),kf.set(e,r)),r}i(_P,"getInstance");function Oi(e){return kf.get(e)}i(Oi,"getRendererInstance");function qh(e,t){let n={stdout:kP,stdin:MP,stderr:EP,debug:!1,exitOnCtrlC:!0,patchConsole:!1,maxFps:30,concurrent:!1,...AP(t)};if(DI()!==null){let s=n.stdout,a=s.write.bind(s),c=0,l=0;s.write=((h,...g)=>(c+=1,l+=typeof h=="string"?Buffer.byteLength(h,"utf8"):h?.length??0,a(h,...g)));let d=0,f=0,p=n.onRender;n.onRender=h=>{let g=IP.now(),C=d===0?0:g-d,b=s,T=b.columns??0,S=b.rows??0;return RP(`frame=${f} renderTime=${h.renderTime.toFixed(2)}ms interval=${C.toFixed(2)}ms writes=${c} bytes=${l} viewport=${T}x${S}
34
+ `),c=0,l=0,d=g,f+=1,p?.(h)}}let o=_P(n.stdout,()=>new al(n),n.concurrent??!1);return o.render(e),{rerender:o.render,unmount(){o.unmount()},waitUntilExit:o.waitUntilExit,cleanup:i(()=>{kf.delete(n.stdout)},"cleanup"),clear:o.clear}}i(qh,"render");var OI=jn,NI=gn,BI=vh;import{Buffer as PP}from"node:buffer";var $P=/^(?:\x1b)([a-zA-Z0-9])$/,DP=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,WI={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"},FI=[...Object.values(WI),"backspace"],OP=i(e=>["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(e),"isShiftKey"),NP=i(e=>["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(e),"isCtrlKey"),jI=/^\x1b\[(\d+)(?:;(\d+)(?::(\d+))?(?:;([\d:]+))?)?u$/,BP=/^\x1b\[(\d+);(\d+):(\d+)([A-Za-z~])$/,HP={A:"up",B:"down",C:"right",D:"left",E:"clear",F:"end",H:"home",P:"f1",Q:"f2",R:"f3",S:"f4"},WP={2:"insert",3:"delete",5:"pageup",6:"pagedown",7:"home",8:"end",11:"f1",12:"f2",13:"f3",14:"f4",15:"f5",17:"f6",18:"f7",19:"f8",20:"f9",21:"f10",23:"f11",24:"f12"},HI={27:"escape",9:"tab",127:"delete",8:"backspace",57358:"capslock",57359:"scrolllock",57360:"numlock",57361:"printscreen",57362:"pause",57363:"menu",57376:"f13",57377:"f14",57378:"f15",57379:"f16",57380:"f17",57381:"f18",57382:"f19",57383:"f20",57384:"f21",57385:"f22",57386:"f23",57387:"f24"},UI=i(e=>e>=0&&e<=1114111&&!(e>=55296&&e<=57343),"isValidCodepoint"),Jh=i(e=>UI(e)?String.fromCodePoint(e):"?","safeFromCodePoint");function GI(e){return e===3?"release":e===2?"repeat":"press"}i(GI,"resolveEventType");function KI(e){return{ctrl:!!(e&uo.ctrl),shift:!!(e&uo.shift),meta:!!(e&uo.meta),option:!!(e&uo.alt),super:!!(e&uo.super),hyper:!!(e&uo.hyper),capsLock:!!(e&uo.capsLock),numLock:!!(e&uo.numLock)}}i(KI,"parseKittyModifiers");function FP(e){let t=jI.exec(e);if(!t)return null;let n=Number.parseInt(t[1],10),r=t[2]?Math.max(0,Number.parseInt(t[2],10)-1):0,o=t[3]?Number.parseInt(t[3],10):1,s=t[4];if(!UI(n))return null;let a;s&&(a=s.split(":").map(d=>Jh(Number.parseInt(d,10))).join(""));let c,l;return n===32?(c="space",l=!0):n===13?(c="return",l=!0):HI[n]?(c=HI[n],l=!1):n>=1&&n<=26?(c=String.fromCodePoint(n+96),l=!1):(c=Jh(n).toLowerCase(),l=!0),l&&!a&&(a=Jh(n)),{name:c,...KI(r),eventType:GI(o),sequence:e,raw:e,isKittyProtocol:!0,isPrintable:l,text:a}}i(FP,"parseKittyKeypress");function jP(e){let t=BP.exec(e);if(!t)return null;let n=Number.parseInt(t[1],10),r=Math.max(0,Number.parseInt(t[2],10)-1),o=Number.parseInt(t[3],10),s=t[4],a=s==="~"?WP[n]:HP[s];return a?{name:a,...KI(r),eventType:GI(o),sequence:e,raw:e,isKittyProtocol:!0,isPrintable:!1}:null}i(jP,"parseKittySpecialKey");var Qh="\x1B[200~",UP="\x1B[201~";function GP(e){if(!e.startsWith(Qh))return null;let t=e.indexOf(UP,Qh.length);return t===-1?null:e.slice(Qh.length,t)}i(GP,"extractBracketedPaste");function Zh(e=""){let t=e,n;if(PP.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t="\x1B"+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=""),typeof t=="string"){let a=GP(t);if(a!==null)return{name:"paste",ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t,isPaste:!0,isPrintable:!1,text:a}}let r=FP(t);if(r)return r;let o=jP(t);if(o)return o;if(jI.test(t))return{name:"",ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t,isKittyProtocol:!0,isPrintable:!1};let s={name:"",ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t};if(s.sequence=s.sequence||t||s.name,t==="\r"||t==="\x1B\r")s.raw=void 0,s.name="return",s.option=t.length===2;else if(t===`
35
+ `)s.name="enter";else if(t===" ")s.name="tab";else if(t==="\b"||t==="\x1B\b")s.name="backspace",s.meta=t.charAt(0)==="\x1B";else if(t==="\x7F"||t==="\x1B\x7F")s.name="delete",s.meta=t.charAt(0)==="\x1B";else if(t==="\x1B"||t==="\x1B\x1B")s.name="escape",s.meta=t.length===2;else if(t===" "||t==="\x1B ")s.name="space",s.meta=t.length===2;else if(t.length===1&&t<="")s.name=String.fromCharCode(t.charCodeAt(0)+97-1),s.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")s.name="number";else if(t.length===1&&t>="a"&&t<="z")s.name=t;else if(t.length===1&&t>="A"&&t<="Z")s.name=t.toLowerCase(),s.shift=!0;else if(n=$P.exec(t))s.meta=!0,s.shift=/^[A-Z]$/.test(n[1]??"");else if(n=DP.exec(t)){let a=[...t];a[0]==="\x1B"&&a[1]==="\x1B"&&(s.option=!0);let c=[n[1],n[2],n[4],n[6]].filter(Boolean).join(""),l=Number(n[3]||n[5]||1)-1;s.ctrl=!!(l&4),s.meta=!!(l&10),s.shift=!!(l&1),s.code=c,s.name=WI[c]??"",s.shift=OP(c)||s.shift,s.ctrl=NP(c)||s.ctrl}return s}i(Zh,"parseKeypress");var zP=50;function Mf(e){return{columns:e?.columns??80,rows:e?.rows??24}}i(Mf,"resolveTerminalSize");var Bo=KP(null),eg={isTTY:!1,columns:80,rows:24,write:i(()=>!0,"write"),on:i(()=>{},"on"),off:i(()=>{},"off")};var YI={isTTY:!1,isRaw:!1,on:i(()=>{},"on"),off:i(()=>{},"off"),pause:i(()=>{},"pause"),resume:i(()=>{},"resume"),setRawMode:i(()=>{},"setRawMode")};function XP(e){for(let t of e)if(t.rawMode)return!0;return!1}i(XP,"hasRawModeSubscribers");function YP({stdin:e,setRawMode:t,isRawModeSupported:n}){let r=new Set,o,s=!1,a=!1,c=i(p=>{for(let h of r)h.listener(p)},"handleData"),l=i(()=>{if(a){try{t(!1)}catch{}a=!1}},"disableRawModeIfOwned"),d=i(()=>{let p=o;p?.off?.("data",c),l(),s&&(p?.unref?.(),s=!1),o=void 0},"detachInput"),f=i(()=>{if(o&&o!==e&&d(),!e||r.size===0){d();return}if(o!==e&&(e.hasRef?.()!==!0&&typeof e.ref=="function"&&(e.ref(),s=!0),e.on?.("data",c),e.resume?.(),o=e),!(n&&XP(r))){l();return}if(e.isRaw===!1&&!a)try{t(!0),a=!0}catch{a=!1}},"syncInputOwnership");return{subscribe(p,h={}){let g={listener:p,rawMode:h.rawMode!==!1};return r.add(g),f(),()=>{r.delete(g),f()}},dispose(){r.clear(),d()}}}i(YP,"createTerminalInputController");var qP=i(({children:e,runtime:t})=>{let[n,r]=VP(()=>t.terminalSize);aa(()=>{if(r(Mf(t.stdout)),typeof t.stdout?.on!="function"||typeof t.stdout?.off!="function")return;let c=i(()=>{r(Mf(t.stdout))},"handleResize");return t.stdout.on("resize",c),()=>{t.stdout.off?.("resize",c)}},[t.stdout]);let o=XI(c=>typeof t.stdout?.write!="function"?!1:(t.stdout.write(c),!0),[t.stdout]),s=VI(()=>YP({stdin:t.stdin,setRawMode:t.setRawMode,isRawModeSupported:t.isRawModeSupported}),[t.stdin,t.isRawModeSupported,t.setRawMode]);aa(()=>()=>{s.dispose()},[s]);let a=VI(()=>({stdout:t.stdout,stdin:t.stdin,setRawMode:t.setRawMode,isRawModeSupported:t.isRawModeSupported,exit:t.exit,terminalSize:n,isTTY:t.stdout?.isTTY===!0,writeRaw:o,subscribeInput:s.subscribe}),[s.subscribe,t.exit,t.isRawModeSupported,t.setRawMode,t.stdin,t.stdout,s.subscribe,n,o]);return zI(Bo.Provider,{value:a,children:e})},"TuiRuntimeProvider");function JP(e){let t=e?.stdout??eg,n=e?.stdin??YI,r=i(s=>{typeof n?.setRawMode=="function"&&n.setRawMode(s)},"setRawMode"),o;return{stdout:t,stdin:n,setRawMode:r,isRawModeSupported:typeof n?.setRawMode=="function",exit:i(()=>{o?.()},"exit"),terminalSize:Mf(t),isTTY:t?.isTTY===!0,writeRaw:i(s=>typeof t?.write!="function"?!1:(t.write(s),!0),"writeRaw"),subscribeInput:i(()=>()=>{},"subscribeInput"),attachExit(s){o=s}}}i(JP,"createRuntimeValue");function ca(e,t){let n=JP(t),r=qh(zI(qP,{runtime:n,children:e}),t);return n.attachExit(r.unmount),r}i(ca,"render");var k=OI,v=NI,la=BI;function QP(e){let t={upArrow:e.name==="up",downArrow:e.name==="down",leftArrow:e.name==="left",rightArrow:e.name==="right",pageDown:e.name==="pagedown",pageUp:e.name==="pageup",home:e.name==="home",end:e.name==="end",return:e.name==="return",escape:e.name==="escape",ctrl:e.ctrl,shift:e.shift,tab:e.name==="tab",backspace:e.name==="backspace",delete:e.name==="delete",meta:e.meta||e.name==="escape"||e.option===!0,super:e.super??!1,hyper:e.hyper??!1,capsLock:e.capsLock??!1,numLock:e.numLock??!1,eventType:e.eventType},n="";return e.isKittyProtocol?e.isPrintable?n=e.text??e.name:e.ctrl&&e.name.length===1&&(n=e.name):e.ctrl?n=e.name:n=e.sequence,!e.isKittyProtocol&&FI.includes(e.name)&&(n=""),n.startsWith("\x1B")&&(n=n.slice(1)),n.length===1&&typeof n[0]=="string"&&/[A-Z]/.test(n[0])&&(t.shift=!0),{input:n,key:t}}i(QP,"createCompatKeypress");function ua(e,t={}){let{isActive:n=!0}=t,r=Ef(e),o=Ef(null),s=Ef(null);aa(()=>{r.current=e},[e]),aa(()=>{if(!n){o.current=null,s.current&&(clearTimeout(s.current),s.current=null);return}return o.current=vf(),()=>{o.current?.reset(),o.current=null,s.current&&(clearTimeout(s.current),s.current=null)}},[n]);let a=XI(c=>{let{input:l,key:d}=QP(Zh(c));r.current(l,d)},[]);ll(c=>{if(!n)return;s.current&&(clearTimeout(s.current),s.current=null);let l=o.current,d=typeof c=="string"?c:c.toString("utf8"),f=l?.push(d)??[d];for(let p of f)a(p);d.length>0&&(s.current=setTimeout(()=>{let p=o.current?.flushPendingEscape();p&&a(p)},zP))},{isActive:n,rawMode:!0})}i(ua,"useInput");function _r(){return{stdout:Ni(Bo)?.stdout??eg}}i(_r,"useStdout");function cl(){let e=Ni(Bo),t=e?.stdin??YI,n=e?.setRawMode??(r=>{typeof t?.setRawMode=="function"&&t.setRawMode(r)});return{stdin:t,setRawMode:n,isRawModeSupported:e?.isRawModeSupported??typeof t?.setRawMode=="function"}}i(cl,"useStdin");function Lr(){return{exit:Ni(Bo)?.exit??(()=>{})}}i(Lr,"useApp");function da(){return Ni(Bo)?.stdout??eg}i(da,"useTerminalOutput");function fa(){let e=da();return Ni(Bo)?.terminalSize??Mf(e)}i(fa,"useTerminalSize");function pa(){let e=da();return Ni(Bo)?.writeRaw??(n=>typeof e?.write!="function"?!1:(e.write(n),!0))}i(pa,"useTerminalWrite");function ll(e,t={}){let{isActive:n=!0,rawMode:r=!0}=t,o=Ni(Bo),{stdin:s,setRawMode:a,isRawModeSupported:c}=cl(),l=Ef(e);aa(()=>{l.current=e},[e]),aa(()=>{if(!n||!s)return;if(o)return o.subscribeInput(h=>{l.current(h)},{rawMode:r});let d=s,f=d.isRaw;r&&c&&f===!1&&a(!0);let p=i(h=>{l.current(h)},"handleData");return d.on?.("data",p),()=>{if(d.off?.("data",p),r&&c&&f===!1)try{a(!1)}catch{}}},[o,s,n,r,c,a])}i(ll,"useTerminalInput");import{jsx as o$}from"react/jsx-runtime";import{useInsertionEffect as i$,useMemo as s$}from"react";var ZP="\x1B[?1049h",e$="\x1B[?1049l";var t$="\x1B[2J",n$="\x1B[?1000h\x1B[?1002h\x1B[?1006h",r$="\x1B[?1006l\x1B[?1002l\x1B[?1000l";function Af(e={}){let t=e.mouseTracking!==!1,n=e.clearOnEnter===!0;return ZP+(n?t$:"")+"\x1B[H"+(t?n$:"")}i(Af,"buildAlternateScreenEnterSequence");function _f(e={}){return(e.mouseTracking!==!1?r$:"")+e$}i(_f,"buildAlternateScreenExitSequence");var tg=i(({children:e,mouseTracking:t=!0,enabled:n=!0,clearOnEnter:r=!1})=>{let o=da(),{rows:s}=fa(),a=pa(),c=s$(()=>n&&o.isTTY===!0,[n,o]);return i$(()=>{if(!c)return;let l=Oi(o);if(l?.setShellMode?.("virtual",t),l?.beginShellTransition?.("enter-alt-screen"),!!a(Af({mouseTracking:t,clearOnEnter:r})))return l?.setAltScreenActive?.(!0,t),()=>{l?.beginShellTransition?.("exit-alt-screen"),l?.clearTextSelection?.(),l?.setAltScreenActive?.(!1),a(_f({mouseTracking:t}))}},[r,c,t,o,a]),o$(k,{flexDirection:"column",height:s,width:"100%",flexGrow:1,flexShrink:0,children:e})},"AlternateScreen");import{jsx as Ho,jsxs as ev}from"react/jsx-runtime";import{jsx as c$}from"react/jsx-runtime";import l$,{useEffect as Lf,useImperativeHandle as u$,useMemo as d$,useRef as Pf,useCallback as dl,useState as f$}from"react";function a$(e,t,n){return Math.max(t,Math.min(e,n))}i(a$,"clamp");function ul(e){let t=Math.max(0,Math.floor(e.overscan??80)),n=Math.max(1,Math.floor(e.quantum??40)),r=Math.max(0,Math.floor(e.viewportHeight)),o=Math.max(0,Math.floor(e.contentHeight)),s=Math.max(0,o-r),a=a$(Math.floor(e.globalScrollTop),0,s),c=Math.floor(a/n),l=c*n,d=Math.max(0,l-t),f=Math.min(o,l+r+t),p=Math.max(0,f-d),h=a-d;return{blockTop:d,blockHeight:p,inBlockOffset:h,bin:c}}i(ul,"computeOverscanWindow");function qI(e,t,n){let r=ul({...n,globalScrollTop:e}),o=ul({...n,globalScrollTop:t});return r.bin===o.bin}i(qI,"staysWithinOverscanBlock");function JI(e){let t=e??void 0;for(;t?.parentNode;)t=t.parentNode;return t&&typeof t.onRender=="function"?(t.onRender(),!0):!1}i(JI,"scheduleRenderFromNode");function QI(e){let t={...e,scrollHeight:Math.max(0,Math.floor(e.scrollHeight)),viewportHeight:Math.max(0,Math.floor(e.viewportHeight)),pendingDelta:Math.floor(e.pendingDelta)};return{...t,scrollTop:$f(t,t.scrollTop)}}i(QI,"normalizeScrollSnapshot");function ZI(e,t){return e.scrollTop===t.scrollTop&&e.scrollHeight===t.scrollHeight&&e.viewportHeight===t.viewportHeight&&e.pendingDelta===t.pendingDelta&&e.clampMin===t.clampMin&&e.clampMax===t.clampMax&&e.sticky===t.sticky&&e.overscanRows===t.overscanRows}i(ZI,"areSnapshotsEqual");function p$(e,t){return e.start===t.start&&e.end===t.end&&e.scrollTop===t.scrollTop&&e.scrollHeight===t.scrollHeight&&e.viewportHeight===t.viewportHeight&&e.viewportTop===t.viewportTop&&e.pendingDelta===t.pendingDelta&&e.sticky===t.sticky&&e.inWindowScrollTop===t.inWindowScrollTop}i(p$,"areWindowsEqual");function $f(e,t){let n=Math.max(0,e.scrollHeight-e.viewportHeight),r=e.clampMin??0,o=e.clampMax??n;return Math.max(r,Math.min(Math.floor(t),Math.min(n,o)))}i($f,"clampScrollTop");function ng(e){let t=Math.max(0,e.viewportHeight),n=$f(e,e.scrollTop),r=Math.max(0,e.scrollHeight-n),o=Math.max(0,r-t),s=Math.max(0,Math.floor(e.overscanRows??0));if(s>0&&t>0){let a=ul({globalScrollTop:o,viewportHeight:t,contentHeight:e.scrollHeight,overscan:s});return{start:a.blockTop,end:a.blockTop+a.blockHeight,scrollTop:n,scrollHeight:e.scrollHeight,viewportHeight:t,viewportTop:o,pendingDelta:e.pendingDelta,sticky:e.sticky,inWindowScrollTop:a.inBlockOffset}}return{start:o,end:r,scrollTop:n,scrollHeight:e.scrollHeight,viewportHeight:t,viewportTop:o,pendingDelta:e.pendingDelta,sticky:e.sticky,inWindowScrollTop:0}}i(ng,"resolveScrollWindow");function m$(e){let t=$f(e,e.scrollTop);return Math.max(0,e.scrollHeight-e.viewportHeight-t)}i(m$,"resolveNativeScrollTop");var rg=i(({children:e,width:t,flexGrow:n=0,flexShrink:r=1,paddingTop:o=0,scrollTop:s=0,scrollHeight:a=0,viewportHeight:c=0,stickyScroll:l=!0,scrollRef:d,onScrollTopChange:f,onStickyChange:p,onWindowChange:h,renderWindow:g,overscanRows:C})=>{let b=Pf(null),T=Pf(new Set),S=Pf(QI({scrollTop:s,scrollHeight:a,viewportHeight:c,pendingDelta:0,sticky:l,overscanRows:C})),[w,M]=f$(()=>ng(S.current)),O=Pf(null),A=dl(()=>{for(let le of T.current)le()},[]),N=dl((le,ue=!0)=>{let he=S.current,Te=QI(le),pe=ng(Te);return S.current=Te,M(Ie=>p$(Ie,pe)?Ie:pe),ue&&!ZI(he,Te)&&A(),{previous:he,snapshot:Te,window:pe,changed:!ZI(he,Te)}},[A]),X=dl(le=>{let ue=S.current,he=Math.max(0,Math.floor(ue.overscanRows??0)),Te=b.current;if(he<=0||!Te||ue.viewportHeight<=0)return!1;let pe=Math.max(0,ue.scrollHeight-ue.viewportHeight),Ie=O.current??$f(ue,ue.scrollTop),Fe=Math.max(0,Math.min(Math.floor(Ie+le),pe)),Q=Fe-Ie;if(Fe===Ie)return!0;let de=Math.max(0,ue.scrollHeight-ue.viewportHeight-Ie),we=Math.max(0,ue.scrollHeight-ue.viewportHeight-Fe),st={viewportHeight:ue.viewportHeight,contentHeight:ue.scrollHeight,overscan:he};if(!qI(de,we,st))return!1;let yt=ul({...st,globalScrollTop:we});return Te.scrollTop=we,Te.attributes&&(Te.attributes.inWindowScrollTop=yt.inBlockOffset,Te.attributes.pendingScrollDelta=Q),JI(Te)?(O.current=Fe,ue.sticky&&(S.current={...S.current,sticky:!1},p?.(!1)),A(),!0):!1},[A,p]),K=dl(le=>{let ue=b.current;ue&&S.current.overscanRows&&(ue.scrollTop=le.viewportTop)},[]);Lf(()=>{let le=S.current,ue={scrollTop:s,scrollHeight:a,viewportHeight:c,pendingDelta:0,clampMin:le.clampMin,clampMax:le.clampMax,sticky:l,overscanRows:C},he=N(ue);he.previous.sticky!==l&&p?.(l),he.window.scrollTop!==s&&f?.(he.window.scrollTop)},[N,p,f,C,a,s,l,c]);let q=dl(()=>{let le=b.current;if(!le)return;O.current=null;let ue=typeof le.scrollHeight=="number"?Math.max(0,Math.floor(le.scrollHeight)):void 0,he=typeof le.scrollViewportHeight=="number"?Math.max(0,Math.floor(le.scrollViewportHeight)):void 0,Te=typeof le.scrollViewportTop=="number"?Math.max(0,Math.floor(le.scrollViewportTop)):void 0;if(ue===void 0||he===void 0||Te===void 0)return;let pe=Math.max(0,ue-he-Te),Ie=N({...S.current,scrollTop:pe,scrollHeight:ue,viewportHeight:he});Ie.changed&&Ie.window.scrollTop!==Ie.previous.scrollTop&&f?.(Ie.window.scrollTop)},[N,f]);Lf(()=>{q()},[q]);let x=d$(()=>({scrollTo(le){O.current=null;let ue=N({...S.current,scrollTop:le,pendingDelta:0,sticky:!1});ue.previous.sticky!==!1&&p?.(!1),K(ue.window),f?.(ue.window.scrollTop)},scrollBy(le){if(X(le))return;let ue=O.current??S.current.scrollTop;O.current=null;let he=N({...S.current,scrollTop:ue+le,pendingDelta:S.current.pendingDelta+Math.floor(le),sticky:!1});he.previous.sticky!==!1&&p?.(!1),K(he.window),f?.(he.window.scrollTop)},scrollToElement(le,ue=0){O.current=null;let he=N({...S.current,scrollTop:le-ue,pendingDelta:0,sticky:!1});he.previous.sticky!==!1&&p?.(!1),K(he.window),f?.(he.window.scrollTop)},scrollToBottom(){O.current=null;let le=N({...S.current,scrollTop:0,pendingDelta:0,sticky:!0});K(le.window),f?.(le.window.scrollTop),le.previous.sticky!==!0&&p?.(!0)},getScrollTop(){return O.current??S.current.scrollTop},getPendingDelta(){return S.current.pendingDelta},getScrollHeight(){return b.current?.scrollHeight??S.current.scrollHeight},getViewportHeight(){return b.current?.scrollViewportHeight??w.viewportHeight},getViewportTop(){return b.current?.scrollViewportTop??w.viewportTop},isSticky(){return S.current.sticky},subscribe(le){return T.current.add(le),()=>{T.current.delete(le)}},setClampBounds(le,ue){O.current=null;let he=N({...S.current,clampMin:le,clampMax:ue});K(he.window),he.window.scrollTop!==he.previous.scrollTop&&f?.(he.window.scrollTop)}}),[N,f,p,X,K]);u$(d,()=>x,[x]),Lf(()=>{h?.(w)},[h,w]),Lf(()=>{S.current.pendingDelta!==0&&(S.current={...S.current,pendingDelta:0})},[w]);let Se=O.current!==null,ee=Se?{...S.current,scrollTop:O.current}:S.current,H=Se?ng(ee):w,E=g?g(H):e,Z=Math.max(0,c+o),B=m$(ee);return l$.createElement("ink-box",{ref:b,style:{flexWrap:"nowrap",flexDirection:"row",flexGrow:n,flexShrink:r,width:t,height:Z,paddingTop:o,overflowX:"visible",overflowY:"scroll"},scrollTop:B,scrollHeight:S.current.scrollHeight,scrollViewportHeight:S.current.viewportHeight,scrollViewportTop:H.viewportTop,pendingScrollDelta:S.current.pendingDelta,virtualScrollWindowed:!!g,...S.current.overscanRows?{inWindowScrollTop:H.inWindowScrollTop}:{},...S.current.clampMin!==void 0?{scrollClampMin:S.current.clampMin}:{},...S.current.clampMax!==void 0?{scrollClampMax:S.current.clampMax}:{},...l?{stickyScroll:!0}:{}},c$(k,{flexDirection:"column",flexGrow:1,flexShrink:0,width:"100%",children:E}))},"ScrollBox");var h$=80;function fl(e){if(!(!e?.visible||!e.label))return e.hint?`${e.label}: ${e.hint}`:e.label}i(fl,"resolveFullscreenChromeSlotText");function Df(e,t){if(!e)return 0;let n=Math.max(1,(typeof t=="number"?t:h$)-2);return Math.max(1,fn(e.split(`
36
+ `),n,0,0).visualLines.length)}i(Df,"measureFullscreenChromeSlotRows");var og=i(({top:e,topRows:t=0,scrollable:n,renderScrollableWindow:r,bottom:o,overlay:s,stickyHeader:a,jumpToLatest:c,width:l,scrollTop:d=0,scrollHeight:f=0,viewportHeight:p=0,stickyScroll:h=!0,scrollRef:g,onScrollTopChange:C,onStickyChange:b,onWindowChange:T,overscanRows:S})=>{let w=i((x,Se)=>Se?Ho(k,{paddingX:1,children:Ho(v,{dimColor:x?.tone!=="accent",children:Se})}):null,"renderChromeSlot"),M=fl(a),O=fl(c),A=Df(M,l),N=w(a,M),X=s?null:w(c,O),K=Math.max(0,e?t:0),q=Math.max(0,p-A-K);return ev(k,{flexDirection:"column",width:l,flexGrow:1,flexShrink:0,children:[e?Ho(k,{flexDirection:"column",flexShrink:0,children:e}):null,ev(k,{flexDirection:"column",flexGrow:1,overflowY:"hidden",children:[Ho(rg,{width:l,flexGrow:1,flexShrink:1,paddingTop:A,scrollTop:d,scrollHeight:f,viewportHeight:q,stickyScroll:h,scrollRef:g,onScrollTopChange:C,onStickyChange:b,onWindowChange:T,renderWindow:r,overscanRows:S,children:n}),N?Ho(k,{position:"absolute",top:0,left:0,right:0,flexDirection:"column",children:N}):null,X?Ho(k,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:X}):null,s?Ho(k,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:s}):null]}),Ho(k,{flexDirection:"column",flexShrink:0,children:o})]})},"FullscreenLayout");import y$ from"string-width";function x$(){return fa().columns}i(x$,"useTerminalWidth");var Nf=i(({lines:e,cursorRow:t,cursorCol:n,prompt:r=">",placeholder:o="Type your message...",focus:s=!0,terminalFocused:a=!0,isPasting:c=!1,editingMode:l="idle",theme:d="dark",width:f})=>{let p=Of(()=>se(d),[d]),h=x$(),g=f??h,C=y$(r)+1,b=Of(()=>{let A=Math.max(20,g-C);return fn(e,A,t,n)},[e,g,t,n,C]),T=Of(()=>{if(!b)return null;let[A,N]=sf(b,[t,n]);return{row:A,col:N}},[b,t,n]),S=s&&a,w=c&&e.some(A=>A.length>0),M=b,O=T;return Un(k,{flexDirection:"column",borderStyle:"round",borderColor:p.colors.dim,borderTop:!0,borderBottom:!0,borderLeft:!1,borderRight:!1,width:f??"100%",children:[w?xn(k,{children:xn(v,{dimColor:!0,children:l==="pasting"?"Pasting input...":"Editing input..."})}):null,M.visualLines.length===0||M.visualLines.length===1&&M.visualLines[0]===""?Un(k,{children:[Un(v,{color:p.colors.primary,children:[r," "]}),S?Un(g$,{children:[xn(v,{internal_cursorAnchor:!0,backgroundColor:p.colors.primary,color:"#000000",children:" "}),xn(v,{dimColor:!0,children:o})]}):xn(v,{dimColor:!0,children:o})]}):M.visualLines.map((A,N)=>{let X=N===O.row,K=N===0?r:" ".repeat(C-1);if(X&&S){let{before:q,current:x,after:Se}=fC(A,O.col),ee=x||" ";return Un(k,{children:[Un(v,{color:p.colors.primary,children:[K," "]}),xn(v,{color:p.colors.text,children:q}),xn(v,{internal_cursorAnchor:!0,backgroundColor:p.colors.primary,color:"#000000",children:ee}),xn(v,{color:p.colors.text,children:Se})]},N)}return Un(k,{children:[Un(v,{color:p.colors.dim,children:[K," "]}),xn(v,{color:p.colors.text,children:A})]},N)})]})},"TextInput"),tv=i(({value:e,cursorCol:t,prompt:n=">",placeholder:r,focus:o=!0,theme:s="dark"})=>{let a=Of(()=>se(s),[s]);if(!e)return Un(k,{children:[Un(v,{color:a.colors.primary,children:[n," "]}),r&&xn(v,{dimColor:!0,children:r}),o&&xn(v,{backgroundColor:a.colors.primary,color:"#000000",children:" "})]});let c=dn(e),l=c.slice(0,t).join(""),d=c[t]??" ",f=c.slice(t+1).join("");return Un(k,{children:[Un(v,{color:a.colors.primary,children:[n," "]}),xn(v,{color:a.colors.text,children:l}),xn(v,{backgroundColor:a.colors.primary,color:"#000000",children:d}),xn(v,{color:a.colors.text,children:f})]})},"SingleLineTextInput");var ig={"[A":{name:"up"},"[B":{name:"down"},"[C":{name:"right"},"[D":{name:"left"},"[200~":{name:"paste_start"},"[201~":{name:"paste_end"},"[Z":{name:"tab",shift:!0},"[1;2A":{name:"up",shift:!0},"[1;2B":{name:"down",shift:!0},"[1;2C":{name:"right",shift:!0},"[1;2D":{name:"left",shift:!0},"[13;2u":{name:"return",shift:!0},"[13;3u":{name:"return",meta:!0},"[13;5u":{name:"return",ctrl:!0},"[H":{name:"home"},"[F":{name:"end"},"[1~":{name:"home"},"[4~":{name:"end"},"[7~":{name:"home"},"[8~":{name:"end"},"[2~":{name:"insert"},"[3~":{name:"delete"},"[5~":{name:"pageup"},"[6~":{name:"pagedown"},"[11~":{name:"f1"},"[12~":{name:"f2"},"[13~":{name:"f3"},"[14~":{name:"f4"},"[15~":{name:"f5"},"[17~":{name:"f6"},"[18~":{name:"f7"},"[19~":{name:"f8"},"[20~":{name:"f9"},"[21~":{name:"f10"},"[23~":{name:"f11"},"[24~":{name:"f12"},OP:{name:"f1"},OQ:{name:"f2"},OR:{name:"f3"},OS:{name:"f4"},OA:{name:"up"},OB:{name:"down"},OC:{name:"right"},OD:{name:"left"},OH:{name:"home"},OF:{name:"end"}},S$=/^\x1b\[([0-9]+);?([0-9]+)?([~A-Za-z])?/,w$=/^\x1b\[<(\d+);(\d+);(\d+)([Mm])$/;function T$(e){switch(e&3){case 0:return"left";case 1:return"middle";case 2:return"right";default:return"unknown"}}i(T$,"parseMouseButton");function C$(e){return{shift:(e&1)!==0,alt:(e&2)!==0,ctrl:(e&4)!==0,meta:(e&8)!==0}}i(C$,"parseModifier");function pl(e,t=!1){let n={name:"",sequence:e,ctrl:!1,meta:!1,shift:!1,insertable:!1,isPasted:!1};if(!e||e.length===0)return n;let r=e.match(w$);if(r){let[,o,s,a,c]=r,l=Number(o),d=Number(s),f=Number(a),p=l&28;return n.shift=(p&4)!==0,n.meta=(p&8)!==0,n.ctrl=(p&16)!==0,l===64?(n.name="wheelup",n.mouse={action:"wheel",button:"wheelup",row:f,column:d},n):l===65?(n.name="wheeldown",n.mouse={action:"wheel",button:"wheeldown",row:f,column:d},n):(n.name="mouse",n.mouse={action:c==="m"?"release":(l&32)!==0?"drag":"press",button:T$(l),row:f,column:d},n)}if(e===`\r
37
+ `)return n.name="newline",n;if(e==="\r")return n.name=t?"newline":"return",n;if(e===`
38
+ `)return n.name="newline",n;if(e===" ")return n.name="tab",n;if(e==="\b"||e==="\x7F")return n.name="backspace",n;if(e==="\x1B\b"||e==="\x1B\x7F")return n.name="backspace",n.meta=!0,n;if(e==="\x1B\r"||e===`\x1B
39
+ `)return n.name=e==="\x1B\r"?"return":"enter",n.shift=!0,n;if(e==="\x1B"||e==="\x1B\x1B")return n.name="escape",n.meta=e.length===2,n;if(e===" "||e==="\x1B ")return n.name="space",n.meta=e.length===2,n.insertable=!n.meta,n;if(e.length===1&&e.charCodeAt(0)<=26)return n.name=String.fromCharCode(e.charCodeAt(0)+96),n.ctrl=!0,n;if(e.length===1&&e>="0"&&e<="9"||e.length===1&&e>="a"&&e<="z")return n.name=e,n.insertable=!0,n;if(e.length===1&&e>="A"&&e<="Z")return n.name=e.toLowerCase(),n.shift=!0,n.insertable=!0,n;if(e.length===1&&e.charCodeAt(0)>=32)return n.name=e,n.insertable=!0,n;if(e.startsWith("\x1B")){let o=e.slice(1);if(o.length===1)return n.meta=!0,o>="a"&&o<="z"?(n.name=o,n.insertable=!0):o>="A"&&o<="Z"?(n.name=o.toLowerCase(),n.shift=!0,n.insertable=!0):o.charCodeAt(0)>=32&&(n.name=o,n.insertable=!0),n;let s=e.match(S$);if(s){let[,l,d,f]=s,p=f||"~",g=ig[o];if(g)return Object.assign(n,g),n;let C="["+l+p+"]",b=ig[C];if(b&&b.name){if(n.name=b.name,d){let T=parseInt(d,10)-1,S=C$(T);Object.assign(n,S)}return n}}let c=ig[o];if(c)return Object.assign(n,c),n;if(e.startsWith("\x1B\x1B")){n.meta=!0;let l="\x1B"+e.slice(2),d=pl(l);return n.name=d.name,n}}return n}i(pl,"parseKeypress");var ma=class{static{i(this,"KeypressParser")}buffer="";listeners=[];flushing=!1;inBracketedPaste=!1;pasteAccumulator="";onKeypress(t){return this.listeners.push(t),()=>{let n=this.listeners.indexOf(t);n>=0&&this.listeners.splice(n,1)}}feed(t,n=!1){let r=typeof t=="string"?t:t.toString("utf8");this.buffer+=r,this.flushing=n,this.processBuffer()}processBuffer(){for(;this.buffer.length>0;){let t=this.extractNextSequence();if(!t){if(this.flushing&&this.buffer.length>0){let s=this.buffer;this.buffer="";let a=pl(s,this.inBracketedPaste);this.emit(a)}break}let{sequence:n,remaining:r}=t;this.buffer=r;let o=pl(n,this.inBracketedPaste);if(o.name==="paste_start"){this.inBracketedPaste=!0,this.pasteAccumulator="";continue}if(o.name==="paste_end"){this.inBracketedPaste=!1,this.flushPasteAccumulator();continue}this.emit(o)}}flushPasteAccumulator(){if(this.pasteAccumulator.length===0)return;let t={name:"paste",sequence:this.pasteAccumulator,ctrl:!1,meta:!1,shift:!1,insertable:!0,isPasted:!0};this.pasteAccumulator="";for(let n of this.listeners)n(t)}extractNextSequence(){if(this.buffer.length===0)return null;let t=this.buffer[0];if(t!=="\x1B")return t==="\r"&&this.buffer.length>=2&&this.buffer[1]===`
40
+ `?{sequence:this.buffer.slice(0,2),remaining:this.buffer.slice(2)}:{sequence:this.buffer[0],remaining:this.buffer.slice(1)};if(this.buffer.length===1)return this.flushing?{sequence:this.buffer,remaining:""}:null;let n=this.buffer[1];if(n!=="["&&n!=="O")return{sequence:this.buffer.slice(0,2),remaining:this.buffer.slice(2)};if(this.buffer.startsWith("\x1B[<")){let a=3;for(;a<this.buffer.length;){let c=this.buffer[a];if(!c)break;if(c>="0"&&c<="9"||c===";"||c==="<"){a++;continue}if(c==="M"||c==="m")return a++,{sequence:this.buffer.slice(0,a),remaining:this.buffer.slice(a)};break}return this.flushing?{sequence:this.buffer,remaining:""}:null}let r=2;for(;r<this.buffer.length;){let a=this.buffer[r];if(!a)break;if(a>="0"&&a<="9"||a===";"){r++;continue}if(a>="A"&&a<="Z"||a>="a"&&a<="z"||a==="~"){r++;break}break}let o=this.buffer[r-1];return o&&(o>="A"&&o<="Z"||o>="a"&&o<="z"||o==="~")?{sequence:this.buffer.slice(0,r),remaining:this.buffer.slice(r)}:this.flushing?{sequence:this.buffer.slice(0,r),remaining:this.buffer.slice(r)}:null}emit(t){if(this.inBracketedPaste){if(t.isPasted=!0,t.insertable){this.pasteAccumulator+=t.sequence;return}if(t.name==="newline"){this.pasteAccumulator+=`
41
+ `;return}return}for(let n of this.listeners)n(t)}clear(){this.buffer=""}};function sg(e){return["up","down","left","right","home","end","insert","delete","pageup","pagedown","wheelup","wheeldown","f1","f2","f3","f4","f5","f6","f7","f8","f9","f10","f11","f12","tab","return","enter","backspace","escape"].includes(e.name)}i(sg,"isFunctionKey");function nv(e){return e.ctrl||e.meta||sg(e)?!1:e.sequence.length===1&&e.sequence.charCodeAt(0)>=32}i(nv,"isPrintable");function rv(e){let t=[];return e.ctrl&&t.push("Ctrl"),e.meta&&t.push("Alt"),e.shift&&t.push("Shift"),e.name?t.push(e.name.toUpperCase()):e.sequence&&t.push(e.sequence),t.join("+")}i(rv,"getKeyDisplayName");import I$,{createContext as v$,useContext as b$,useEffect as ov,useCallback as R$,useRef as ag}from"react";var k$=50;function Bf(){let e=new Map,t=null,n=i(()=>(t===null&&(t=[...e.keys()].sort((r,o)=>o-r)),t),"getSortedPriorities");return{register(r,o){return e.has(r)||e.set(r,[]),e.get(r).push(o),t=null,()=>{let s=e.get(r);if(!s)return;let a=s.indexOf(o);a>=0&&s.splice(a,1),s.length===0&&e.delete(r),t=null}},dispatch(r){let o=n();for(let s of o){let a=e.get(s);if(a)for(let c=a.length-1;c>=0;c-=1){let l=a[c];if(l&&l(r)===!0)return!0}}return!1},size(){let r=0;for(let o of e.values())r+=o.length;return r}}}i(Bf,"createKeypressManager");var iv=v$(null);function ml({children:e,enabled:t=!0}){let{stdout:n}=_r(),r=ag(Bf()),o=ag(null),s=ag(null),a=R$(c=>{t&&r.current.dispatch(c)},[t]);return ov(()=>{if(!t)return;n?.write?.("\x1B[?2004h");let c=new ma;o.current=c;let l=c.onKeypress(a);return()=>{s.current&&(clearTimeout(s.current),s.current=null),l(),o.current=null;try{n?.write?.("\x1B[?2004l")}catch{}}},[a,t,n]),ll(c=>{t&&(s.current&&clearTimeout(s.current),o.current?.feed(c),c.length!==0&&(s.current=setTimeout(()=>{o.current?.feed("",!0)},k$)))},{isActive:t,rawMode:!0}),I$.createElement(iv.Provider,{value:r.current},e)}i(ml,"KeypressProvider");function Hf(){let e=b$(iv);if(!e)throw new Error("useKeypressManager must be used within a KeypressProvider");return e}i(Hf,"useKeypressManager");function _n(e,t,n=[]){let r=Hf(),o=typeof e=="function",s,a,c;if(o){s=e;let l=t??{};c=l.isActive??!0;let d=l.priority;a=typeof d=="boolean"?d?un.High:un.Normal:d??un.Normal}else a=typeof e=="boolean"?e?un.High:un.Normal:e,s=t,c=!0;ov(()=>c?r.register(a,s):void 0,[r,a,c,...o?[]:n])}i(_n,"useKeypress");function Gn(e){return t=>!(e.name!==void 0&&t.name!==e.name||e.ctrl!==void 0&&t.ctrl!==e.ctrl||e.meta!==void 0&&t.meta!==e.meta||e.shift!==void 0&&t.shift!==e.shift||e.sequence!==void 0&&t.sequence!==e.sequence||e.insertable!==void 0&&t.insertable!==e.insertable)}i(Gn,"createKeyMatcher");var cg={isEnter:Gn({name:"return"}),isEscape:Gn({name:"escape"}),isCtrlC:Gn({name:"c",ctrl:!0}),isCtrlD:Gn({name:"d",ctrl:!0}),isUp:Gn({name:"up"}),isDown:Gn({name:"down"}),isLeft:Gn({name:"left"}),isRight:Gn({name:"right"}),isBackspace:Gn({name:"backspace"}),isDelete:Gn({name:"delete"}),isTab:Gn({name:"tab"}),isShiftEnter:i(e=>e.name==="return"&&e.shift===!0,"isShiftEnter"),isCtrlEnter:i(e=>e.name==="return"&&e.ctrl===!0,"isCtrlEnter"),isInsertable:i(e=>e.insertable===!0&&!e.ctrl&&!e.meta,"isInsertable")};import{jsx as P$}from"react/jsx-runtime";import{useState as $$,useEffect as cv,useCallback as Wo,useMemo as lv,createContext as D$,useContext as uv}from"react";function E$(e,t){if(!e)return{matched:!0,score:0,highlights:[]};if(e.length>t.length)return{matched:!1,score:0,highlights:[]};let n=e.toLowerCase(),r=t.toLowerCase(),o=0,s=-1,a=[];for(let l=0;l<e.length;l++){let d=n[l];if(d===void 0)continue;let f=r.indexOf(d,s+1);if(f===-1)return{matched:!1,score:0,highlights:[]};f===s+1?o+=10:f===0?o+=5:o-=1,t[f]===e[l]&&(o+=2),a.push(f),s=f}let c=M$(t,a);return o+=c,{matched:!0,score:o,highlights:a}}i(E$,"fuzzyMatch");function M$(e,t){let n=0;for(let r of t)if(r===0)n+=3;else if(r>0){let o=e[r-1];(o===" "||o==="-"||o==="_")&&(n+=2)}return n}i(M$,"calculateWordBoundaryBonus");function A$(e,t){return e?t.toLowerCase().startsWith(e.toLowerCase()):!0}i(A$,"prefixMatch");function _$(e,t){if(A$(e,t)){let o=e?Array.from({length:e.length},(s,a)=>a):[];return{matched:!0,score:100+e.length*10,highlights:o,isPrefix:!0}}return{...E$(e,t),isPrefix:!1}}i(_$,"combinedMatch");function sv(e,t,n=0){return e?t.map(r=>{let o=_$(e,r.text);return{...r,_fuzzyScore:o.matched?o.score:-1,_fuzzyHighlights:o.highlights}}).filter(r=>(r._fuzzyScore??-1)>=n).sort((r,o)=>{let s=(o._fuzzyScore??0)-(r._fuzzyScore??0);return s!==0?s:r.text.length-o.text.length}):t}i(sv,"sortCandidatesCombined");var L$={debounceDelay:100,minTriggerChars:1,maxCompletions:10,minScore:0},lg=class{static{i(this,"AutocompleteProvider")}completers;options;state;listeners=new Set;debounceTimer=null;lastInput="";lastCursorPos=0;constructor(t={}){this.options={...L$,...t},this.completers=[new yh(this.options.gitRoot),new iC,new sC,new Zd(this.options.cwd)],this.state={visible:!1,selectedIndex:0,completions:[],loading:!1}}getOptions(){return{...this.options}}getState(){return{...this.state}}subscribe(t){return this.listeners.add(t),()=>this.listeners.delete(t)}updateOptions(t){let n=t.gitRoot!==void 0&&t.gitRoot!==this.options.gitRoot,r=t.cwd!==void 0&&t.cwd!==this.options.cwd;if(this.options={...this.options,...t},n&&this.completers.find(s=>s instanceof yh)?.setGitRoot(this.options.gitRoot),r){let o=this.completers.findIndex(s=>s instanceof Zd);o!==-1&&(this.completers[o]=new Zd(this.options.cwd))}}handleInput(t,n){if(this.lastInput=t,this.lastCursorPos=n,this.debounceTimer&&clearTimeout(this.debounceTimer),!this.shouldTrigger(t,n)){this.state.visible&&this.updateState({visible:!1,completions:[],selectedIndex:0});return}this.debounceTimer=setTimeout(()=>{this.fetchCompletions(t,n)},this.options.debounceDelay)}async fetchImmediate(t,n){return this.fetchCompletionsInternal(t,n)}selectPrevious(){if(!this.state.visible||this.state.completions.length===0)return;let t=this.state.selectedIndex>0?this.state.selectedIndex-1:this.state.completions.length-1;this.updateState({selectedIndex:t})}selectNext(){if(!this.state.visible||this.state.completions.length===0)return;let t=this.state.selectedIndex<this.state.completions.length-1?this.state.selectedIndex+1:0;this.updateState({selectedIndex:t})}getSelectedCompletion(){return!this.state.visible||this.state.completions.length===0?null:this.state.completions[this.state.selectedIndex]??null}acceptCompletion(){let t=this.getSelectedCompletion();return t?(this.updateState({visible:!1,completions:[],selectedIndex:0}),t.text):null}acceptCompletionWithType(){let t=this.getSelectedCompletion();return t?(this.updateState({visible:!1,completions:[],selectedIndex:0}),{text:t.text,type:t.type}):null}cancel(){this.debounceTimer&&(clearTimeout(this.debounceTimer),this.debounceTimer=null),this.state.visible&&this.updateState({visible:!1,completions:[],selectedIndex:0})}shouldTrigger(t,n){if(t.length<this.options.minTriggerChars)return!1;let r=t.slice(0,n),s=xh(r)!==-1,a=r.lastIndexOf("@"),c=a===0||a>0&&/\s/.test(r[a-1]??"");return s||c}fetchCompletions(t,n){this.updateState({loading:!0}),this.fetchCompletionsInternal(t,n).then(r=>{this.lastInput!==t||this.lastCursorPos!==n||(r.length>0?this.updateState({visible:!0,completions:r.slice(0,this.options.maxCompletions),selectedIndex:0,loading:!1}):this.updateState({visible:!1,completions:[],selectedIndex:0,loading:!1}))}).catch(()=>{this.updateState({loading:!1})})}async fetchCompletionsInternal(t,n){let r=this.completers.filter(l=>l.canComplete(t,n));if(r.length===0)return[];let o=[];for(let l of r)try{let d=await l.getCompletions(t,n);o.push(...d)}catch(d){Dt({source:"repl:autocomplete",level:"error",message:"Completer failed; continuing with remaining completers.",detail:d})}let s=this.extractPattern(t,n),a=o.map((l,d)=>({_idx:d,text:l.type==="command"&&l.display.startsWith("/")?l.display.slice(1):l.display}));return sv(s,a,this.options.minScore).map(l=>o[l._idx]).filter(l=>l!==void 0)}extractPattern(t,n){let r=t.slice(0,n),o=xh(r);if(o!==-1){let c=r.slice(o),l=c.match(/^\/skill:(\S*)$/);if(l)return l[1]??"";let d=c.match(/^\/(\S*)$/);if(d)return d[1]??"";let f=c.split(/\s+/);return(f[f.length-1]??"").toLowerCase()}let s=r.lastIndexOf("@");if(s!==-1){let c=r.slice(s+1),l=c.lastIndexOf("/");return l===-1?c:c.slice(l+1)}let a=r.match(/(\S+)$/);return a?a[1]??"":""}updateState(t){this.state={...this.state,...t};for(let n of this.listeners)try{n(this.state)}catch(r){Dt({source:"repl:autocomplete",level:"error",message:"Listener failed during autocomplete state update.",detail:r})}}};function av(e){return new lg(e)}i(av,"createAutocompleteProvider");var ug=D$(null);function Wf({children:e,cwd:t,gitRoot:n}){let r=hl({cwd:t,gitRoot:n,enabled:!0});return P$(ug.Provider,{value:r,children:e})}i(Wf,"AutocompleteContextProvider");function Fo(){return uv(ug)}i(Fo,"useAutocompleteContext");function O$(e,t){let n={command:"command",file:"file",argument:"argument",skill:"skill"},r={command:"\u26A1",file:"\u{1F4C4}",argument:"\u2022",skill:"\u2605"};return{id:`autocomplete-${t}`,text:e.text,displayText:e.display,description:e.description,type:n[e.type]??"command",icon:r[e.type]??">"}}i(O$,"completionToSuggestion");function hl(e={}){let t=uv(ug);return t&&!e.cwd&&!e.gitRoot?t:N$(e)}i(hl,"useAutocomplete");function N$(e){let{cwd:t,gitRoot:n,enabled:r=!0}=e,o=lv(()=>av({cwd:t,gitRoot:n,debounceDelay:100,minTriggerChars:1,maxCompletions:50}),[]);cv(()=>{o.updateOptions({cwd:t,gitRoot:n})},[o,t,n]);let[s,a]=$$({visible:!1,selectedIndex:0,completions:[],loading:!1});cv(()=>o.subscribe(S=>{a(S)}),[o]);let c=lv(()=>s.completions.map((T,S)=>O$(T,S)),[s.completions]),l=Wo((T,S)=>{if(!r){o.cancel();return}o.handleInput(T,S)},[o,r]),d=Wo(()=>s.visible?o.acceptCompletionWithType():null,[o,s.visible]),f=Wo(()=>s.visible?o.acceptCompletionWithType():null,[o,s.visible]),p=Wo(()=>{s.visible&&o.selectPrevious()},[o,s.visible]),h=Wo(()=>{s.visible&&o.selectNext()},[o,s.visible]),g=Wo(()=>{s.visible&&o.cancel()},[o,s.visible]),C=Wo(()=>{o.cancel()},[o]),b=Wo(()=>o,[o]);return{state:s,suggestions:c,handleInput:l,handleTab:d,handleEnter:f,handleUp:p,handleDown:h,handleEscape:g,cancel:C,getProvider:b}}i(N$,"useAutocompleteImpl");import{useCallback as gl,useRef as dv}from"react";var Kn=[];function Ff(e={}){let{maxSize:t=1e3,onSave:n}=e,r=dv(-1),o=dv(""),s=gl((f,p)=>{if(!f.trim())return;if(Kn[Kn.length-1]?.text!==f){let g={text:f,timestamp:Date.now(),...p?.pastedContents&&p.pastedContents.length>0?{pastedContents:[...p.pastedContents]}:{}};Kn.push(g),Kn.length>t&&Kn.splice(0,Kn.length-t),n?.(g)}r.current=-1,o.current=""},[t,n]),a=gl(()=>Kn.length===0?null:r.current===-1?(r.current=Kn.length-1,Kn[r.current]??null):r.current>0?(r.current--,Kn[r.current]??null):null,[]),c=gl(()=>r.current===-1?null:r.current<Kn.length-1?(r.current++,Kn[r.current]??null):(r.current=-1,{text:o.current,timestamp:Date.now()}),[]),l=gl(()=>{r.current=-1,o.current=""},[]),d=gl(f=>{r.current===-1&&(o.current=f)},[]);return{add:s,navigateUp:a,navigateDown:c,reset:l,saveTempInput:d}}i(Ff,"useInputHistory");function Sn(e,t,n){return dn(e).slice(t,n).join("")}i(Sn,"sliceByCodePoints");var ha=class{static{i(this,"TextBuffer")}_text="";_lines=[""];_cursor={row:0,col:0};_rememberedCol=0;_history=[];_historyIndex=-1;_maxHistory;constructor(t={}){this._maxHistory=t.maxHistory??100}get text(){return this._text}get lines(){return[...this._lines]}get cursor(){return{...this._cursor}}get lineCount(){return this._lines.length}get currentLine(){return this._lines[this._cursor.row]??""}get isEmpty(){return this._text.length===0}get currentLineVisualWidth(){return cr(this.currentLine)}get visualCursor(){let t=this._lines[this._cursor.row]??"",n=Sn(t,0,this._cursor.col);return{row:this._cursor.row,col:cr(n)}}getCharWidthAtCursor(){let t=this._lines[this._cursor.row]??"",r=dn(t)[this._cursor.col];return r?ar(r)?2:1:0}visualColToLogicalCol(t){let n=this._lines[this._cursor.row]??"",r=dn(n),o=0;for(let s=0;s<r.length;s++){let a=ar(r[s])?2:1;if(o+a>t)return s;o+=a}return r.length}moveToVisualCol(t){this._cursor.col=this.visualColToLogicalCol(t),this._rememberedCol=this._cursor.col}setText(t){this._saveHistory(),this._setTextInternal(t),this._clampCursor()}replaceRange(t,n,r){this._saveHistory();let o=Math.max(0,Math.min(t,this._text.length)),s=Math.max(o,Math.min(n,this._text.length)),a=this._text.slice(0,o)+r+this._text.slice(s);this._setTextInternal(a),this.moveToAbsoluteOffset(o+r.length)}insert(t,n){if(this._saveHistory(),n?.paste){this._insertText(t);return}let r=t.split(`
42
+ `);for(let o=0;o<r.length;o++)o>0&&this._insertNewline(),this._insertText(r[o])}_insertText(t){let n=this._lines[this._cursor.row],r=Sn(n,0,this._cursor.col),o=Sn(n,this._cursor.col);this._lines[this._cursor.row]=r+t+o,this._cursor.col+=hn(t),this._rememberedCol=this._cursor.col,this._updateText()}newline(){this._saveHistory(),this._insertNewline()}_insertNewline(){let t=this._lines[this._cursor.row],n=Sn(t,0,this._cursor.col),r=Sn(t,this._cursor.col);this._lines[this._cursor.row]=n,this._lines.splice(this._cursor.row+1,0,r),this._cursor.row++,this._cursor.col=0,this._rememberedCol=0,this._updateText()}backspace(){if(this._cursor.col>0){this._saveHistory();let t=this._lines[this._cursor.row],n=this._cursor.col-1,r=Sn(t,0,n),o=Sn(t,this._cursor.col);this._lines[this._cursor.row]=r+o,this._cursor.col=n,this._rememberedCol=this._cursor.col,this._updateText()}else if(this._cursor.row>0){this._saveHistory();let t=this._lines[this._cursor.row],n=this._lines[this._cursor.row-1];this._cursor.col=hn(n),this._lines[this._cursor.row-1]=n+t,this._lines.splice(this._cursor.row,1),this._cursor.row--,this._rememberedCol=this._cursor.col,this._updateText()}}delete(){let t=this._lines[this._cursor.row];if(this._cursor.col<hn(t)){this._saveHistory();let n=Sn(t,0,this._cursor.col),r=Sn(t,this._cursor.col+1);this._lines[this._cursor.row]=n+r,this._updateText()}else if(this._cursor.row<this._lines.length-1){this._saveHistory();let n=this._lines[this._cursor.row+1];this._lines[this._cursor.row]=t+n,this._lines.splice(this._cursor.row+1,1),this._updateText()}}move(t){switch(t){case"up":this._moveUp();break;case"down":this._moveDown();break;case"left":this._moveLeft();break;case"right":this._moveRight();break;case"home":this._moveHome();break;case"end":this._moveEnd();break}}_moveUp(){this._cursor.row>0&&(this._cursor.row--,this._clampColumn())}_moveDown(){this._cursor.row<this._lines.length-1&&(this._cursor.row++,this._clampColumn())}_moveLeft(){this._cursor.col>0?(this._cursor.col--,this._rememberedCol=this._cursor.col):this._cursor.row>0&&(this._cursor.row--,this._cursor.col=hn(this._lines[this._cursor.row]),this._rememberedCol=this._cursor.col)}_moveRight(){let t=this._lines[this._cursor.row];this._cursor.col<hn(t)?(this._cursor.col++,this._rememberedCol=this._cursor.col):this._cursor.row<this._lines.length-1&&(this._cursor.row++,this._cursor.col=0,this._rememberedCol=0)}_moveHome(){this._cursor.col=0,this._rememberedCol=0}_moveEnd(){this._cursor.col=hn(this._lines[this._cursor.row]),this._rememberedCol=this._cursor.col}_clampColumn(){let t=this._lines[this._cursor.row],n=hn(t);this._cursor.col=Math.min(this._rememberedCol,n)}_clampCursor(){this._cursor.row=Math.max(0,Math.min(this._cursor.row,this._lines.length-1)),this._cursor.col=Math.max(0,Math.min(this._cursor.col,hn(this._lines[this._cursor.row]))),this._rememberedCol=this._cursor.col}killLineRight(){let t=this._lines[this._cursor.row];this._cursor.col<hn(t)&&(this._saveHistory(),this._lines[this._cursor.row]=Sn(t,0,this._cursor.col),this._updateText())}killLineLeft(){if(this._cursor.col>0){this._saveHistory();let t=this._lines[this._cursor.row];this._lines[this._cursor.row]=Sn(t,this._cursor.col),this._cursor.col=0,this._rememberedCol=0,this._updateText()}}deleteWordLeft(){if(this._cursor.col===0)return;this._saveHistory();let t=this._lines[this._cursor.row],n=this._cursor.col-1,r=dn(t);for(;n>0&&/\s/.test(r[n]??"");)n--;for(;n>0&&!/\s/.test(r[n-1]??"");)n--;let o=Sn(t,0,n),s=Sn(t,this._cursor.col);this._lines[this._cursor.row]=o+s,this._cursor.col=n,this._rememberedCol=this._cursor.col,this._updateText()}_saveHistory(){this._history=this._history.slice(0,this._historyIndex+1),this._history.push(this._text),this._history.length>this._maxHistory&&this._history.shift(),this._historyIndex=this._history.length-1}undo(){return this._historyIndex>0?(this._historyIndex--,this._text=this._history[this._historyIndex]??"",this._lines=this._text.split(`
43
+ `),this._lines.length===0&&(this._lines=[""]),this._clampCursor(),!0):!1}redo(){return this._historyIndex<this._history.length-1?(this._historyIndex++,this._text=this._history[this._historyIndex]??"",this._lines=this._text.split(`
44
+ `),this._lines.length===0&&(this._lines=[""]),this._clampCursor(),!0):!1}_updateText(){this._text=this._lines.join(`
45
+ `)}_setTextInternal(t){this._text=t,this._lines=t.split(`
46
+ `),this._lines.length===0&&(this._lines=[""])}moveToAbsoluteOffset(t){let r=Math.max(0,Math.min(t,this._text.length));for(let o=0;o<this._lines.length;o++){let s=this._lines[o]??"",a=s.length;if(r<=a){this._cursor={row:o,col:hn(s.slice(0,r))},this._rememberedCol=this._cursor.col;return}r-=a,o<this._lines.length-1&&(r-=1)}this.moveToEnd()}clear(){this._saveHistory(),this._text="",this._lines=[""],this._cursor={row:0,col:0},this._rememberedCol=0}getAbsoluteOffset(){let t=0;for(let r=0;r<this._cursor.row;r++)t+=(this._lines[r]?.length??0)+1;let n=this._lines[this._cursor.row]??"";return t+=Sn(n,0,this._cursor.col).length,t}isLineContinuation(){return this._lines[this._cursor.row].endsWith("\\")}moveToEnd(){this._cursor.row=this._lines.length-1,this._cursor.col=hn(this._lines[this._cursor.row]??""),this._rememberedCol=this._cursor.col}};import{useState as B$,useCallback as jt,useRef as dg,useEffect as H$}from"react";function jf(e={}){let{initialValue:t="",onTextChange:n}=e,r=dg(null),o=dg(null),s=dg(null),[a,c]=B$({text:t,cursor:{row:0,col:0},lines:[""],isPasting:!1,editingMode:t?"typing":"idle"});r.current===null&&(r.current=new ha,t&&r.current.setText(t)),o.current===null&&(o.current=JT());let l=r.current,d=o.current,f=jt(ee=>{c(H=>({text:l.text,cursor:l.cursor,lines:l.lines,isPasting:ee?.isPasting??H.isPasting,editingMode:ee?.editingMode??H.editingMode})),n?.(l.text)},[l,n]),p=jt(()=>{s.current&&clearTimeout(s.current),s.current=setTimeout(()=>{c(ee=>({...ee,isPasting:!1,editingMode:ee.text?"typing":"idle"})),s.current=null},120)},[]),h=jt(ee=>{l.setText(ee),f({isPasting:!1,editingMode:ee?"typing":"idle"})},[l,f]),g=jt((ee,H,E)=>{l.replaceRange(ee,H,E),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),C=jt((ee,H)=>{let E=H?.paste??!1;if(E&&YT(ee)){let Z=ee.replace(/\r\n/g,`
47
+ `).replace(/\r/g,`
48
+ `),{placeholder:B}=d.registerText(Z);l.insert(B,{paste:!0}),f({isPasting:!0,editingMode:"pasting"}),p();return}l.insert(ee,{paste:!1}),f({isPasting:E,editingMode:E?"pasting":"typing"}),E&&p()},[l,d,p,f]),b=jt(()=>{l.newline(),f({isPasting:!1,editingMode:"typing"})},[l,f]),T=jt(()=>{let ee=l.getAbsoluteOffset(),H=Jd(l.text,ee);H?l.replaceRange(H.start,H.end,""):l.backspace(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),S=jt(()=>{let ee=l.getAbsoluteOffset(),H=Qd(l.text,ee);H?l.replaceRange(H.start,H.end,""):l.delete(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),w=jt(ee=>{l.move(ee),f()},[l,f]),M=jt(()=>{l.clear(),f({isPasting:!1,editingMode:"idle"})},[l,f]),O=jt(()=>{let ee=l.undo();return ee&&f(),ee},[l,f]),A=jt(()=>{let ee=l.redo();return ee&&f(),ee},[l,f]),N=jt(()=>{l.moveToEnd(),f()},[l,f]),X=jt(ee=>{l.moveToAbsoluteOffset(ee),f()},[l,f]),K=jt(()=>{l.killLineRight(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),q=jt(()=>{l.killLineLeft(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),x=jt(()=>{l.deleteWordLeft(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),Se=jt(()=>{s.current&&(clearTimeout(s.current),s.current=null),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]);return H$(()=>()=>{s.current&&clearTimeout(s.current),r.current=null},[]),{buffer:l,text:a.text,cursor:a.cursor,lines:a.lines,isPasting:a.isPasting,editingMode:a.editingMode,pasteStore:d,resetTransientState:Se,setText:h,replaceRange:g,insert:C,newline:b,backspace:T,delete:S,move:w,moveToEnd:N,moveToOffset:X,killLineRight:K,killLineLeft:q,deleteWordLeft:x,clear:M,undo:O,redo:A}}i(jf,"useTextBuffer");import{jsx as Bi,jsxs as Vf}from"react/jsx-runtime";import{useState as yv}from"react";import{useCallback as ga,useEffect as hg,useRef as Gf}from"react";function fv(e,t,n){let r=Math.max(0,Math.min(t,e.length)),o=e.slice(0,r);if(n.type==="command"||n.type==="skill"){let a=o.lastIndexOf("/");return{start:a===-1?0:a,end:r,replacement:n.text}}if(n.type==="argument"){let a=o.match(/\S+$/);if(a){let c=a[0],l=r-c.length;if(c.startsWith("/")&&o.lastIndexOf("/")===l)return{start:r,end:r,replacement:` ${n.text}`}}return{start:a?r-a[0].length:r,end:r,replacement:n.text}}let s=o.lastIndexOf("@");return{start:s===-1?0:s,end:r,replacement:n.text}}i(fv,"buildAutocompleteReplacement");import{readFile as K$}from"node:fs/promises";var V$=/\.(png|jpe?g|gif|webp|bmp)$/i;async function fg(e){if(e.length===0)return process.platform==="darwin"?pv():{kind:"text",text:""};let t=Uf(e);return t.length>0?z$(t,e):{kind:"text",text:e}}i(fg,"handleBracketedPaste");async function pg(){return pv()}i(pg,"triggerExplicitClipboardImage");async function pv(){let e;try{e=await pd()}catch(t){return{kind:"error",message:`Failed to read clipboard image: ${mg(t)}`}}return e?mv(e):{kind:"noop"}}i(pv,"readClipboardAsImagesOutcome");async function z$(e,t){let n=[],r=[];for(let o of e){let s;try{s=await K$(o)}catch(c){r.push(`Failed to read ${o}: ${mg(c)}`);continue}let a=await mv(s);a.kind==="images"?n.push(...a.blocks):a.kind==="error"&&r.push(a.message)}return n.length===0?r.length>0?{kind:"error",message:r.join("; ")}:{kind:"text",text:t}:{kind:"images",blocks:n}}i(z$,"readImagePathsAsOutcome");async function mv(e){try{let t=await fd(e);return{kind:"images",blocks:[await md(t)]}}catch(t){return t instanceof dd?{kind:"error",message:t.message}:{kind:"error",message:`Failed to process pasted image: ${mg(t)}`}}}i(mv,"decodeBufferToOutcome");function Uf(e){return e.split(/ (?=\/|[A-Za-z]:\\)/).filter(n=>V$.test(n.trim()))}i(Uf,"extractImagePaths");function mg(e){return e instanceof Error?e.message:String(e)}i(mg,"describeError");function Kf(e,t){Dt({source:"repl:prompt-input",level:"warn",message:e,...t!==void 0?{detail:t}:{}})}i(Kf,"reportPromptInputDiagnostic");var Y$=500;function hv(e,t,n){return n==="up"?e===0:e>=Math.max(0,t-1)}i(hv,"shouldUseHistoryNavigation");function q$(e){return e.isAutocompleteVisible?"cancel-autocomplete":e.hasText?e.timeSinceLastEscapeMs<Y$?"clear-input":"arm-clear":"pass-through"}i(q$,"resolvePromptEscapeBehavior");function J$(e){return e.keyName==="newline"||e.keyName==="return"&&(e.ctrl||e.shift)||e.isPasting?"newline":e.isAutocompleteVisible?"accept-completion-and-submit":e.isLineContinuation?"line-continuation":"submit"}i(J$,"resolvePromptEnterBehavior");function Q$(e){if(e.meta&&e.name==="backspace")return"delete-word-left";if(e.ctrl)switch(e.name){case"a":return"move-home";case"e":return"move-end";case"z":return"undo";case"y":return"redo";case"k":return"kill-line-right";case"u":return"kill-line-left";case"w":return"delete-word-left";default:return}}i(Q$,"resolvePromptEditingCommand");function gv({onSubmit:e,onExit:t,focus:n=!0,initialValue:r="",cwd:o,gitRoot:s,autocompleteEnabled:a=!0,onInputChange:c,onPasteFallback:l,onHistoryRecall:d,onPopPendingInputs:f}){let p=Gf(0),{add:h,navigateUp:g,navigateDown:C,reset:b,saveTempInput:T}=Ff(),{buffer:S,text:w,cursor:M,lines:O,isPasting:A,editingMode:N,pasteStore:X,resetTransientState:K,setText:q,replaceRange:x,clear:Se,move:ee,moveToOffset:H,insert:E,backspace:Z,newline:B,delete:le,undo:ue,redo:he,killLineRight:Te,killLineLeft:pe,deleteWordLeft:Ie}=jf({initialValue:r,onTextChange:c}),Fe=Gf(0);hg(()=>{if(A)return;if(w.length<=1e4){Fe.current=0;return}if(w.length===Fe.current)return;let F=X.peekNextId(),{truncatedText:ge,placeholderContent:ie}=qT(w,F);ie&&(X.registerTruncatedText(ie),Fe.current=ge.length,q(ge))},[w,A,X,q]);let Q=Fo(),de=hl({cwd:o,gitRoot:s,enabled:a}),{state:we,suggestions:st,handleInput:yt,handleTab:je,handleEnter:J,handleUp:me,handleDown:Me,handleEscape:xe}=Q??de;hg(()=>{n||(p.current=0,K(),we.visible&&xe())},[we.visible,n,xe,K]);let Be=Gf(w);hg(()=>{a&&w!==Be.current&&(Be.current=w,yt(w,S.getAbsoluteOffset()))},[a,S,yt,w]);let ut=ga(F=>{if(!F?.text)return;let ge=fv(w,S.getAbsoluteOffset(),F),ie=w.slice(0,ge.start)+ge.replacement+w.slice(ge.end);return x(ge.start,ge.end,ge.replacement),ie},[S,x,w]),sn=ga(F=>{let ge=F??w;if(!ge.trim())return;let ie=X.expand(ge),te=new Set,L=/\[(Pasted text|\.\.\.Truncated text) #(\d+)(?: \+\d+ lines)?(\.*)\]/g;for(let xt of ge.matchAll(L)){let St=Number.parseInt(xt[2]??"0",10);Number.isFinite(St)&&St>0&&te.add(St)}let ze=[];for(let xt of te){let St=X.get(xt);St&&ze.push(St)}h(ge,{pastedContents:ze}),e({displayText:ge,fullText:ie,pastedContents:ze}),Se()},[h,Se,e,X,w]),Ve=ga(F=>{if(F){if(F.pastedContents&&F.pastedContents.length>0){for(let ge of F.pastedContents)X.adopt(ge);d?.({text:F.text,pastedContents:[...F.pastedContents]})}q(F.text)}},[d,X,q]),Et=ga(async F=>{try{let ge=await fg(F);if(ge.kind==="images"){let ie=ge.blocks.map(te=>`@${te.path}`).join(" ");E(`${ie} `,{paste:!1})}else ge.kind==="error"&&(Kf(`Paste image handling failed: ${ge.message}`),E(F,{paste:!1}),l?.("Image paste failed; inserted as plain text."))}catch(ge){Kf("Paste image handling failed.",ge)}},[E,l]),P=Gf(!1),G=ga(async()=>{if(!P.current){P.current=!0;try{let F=await pg();if(F.kind==="images"){let ge=F.blocks.map(ie=>`@${ie.path}`).join(" ");E(`${ge} `,{paste:!1})}else F.kind==="error"&&Kf(`Clipboard image handling failed: ${F.message}`)}catch(F){Kf("Clipboard image handling failed.",F)}finally{P.current=!1}}},[E]),z=ga(F=>{if(!n)return!1;if(F.name==="v"&&(F.ctrl||F.meta))return G(),!0;if(F.name==="paste"&&F.isPasted&&Uf(F.sequence).length>0)return Et(F.sequence),!0;let ge=we.visible&&st.length>0;if(F.name==="tab"&&ge){let te=je();return te&&ut(te),!0}if(F.ctrl&&F.name==="c")return w.length>0?(Se(),b()):t?.(),!0;if(F.name==="escape")switch(q$({isAutocompleteVisible:ge,hasText:w.length>0,timeSinceLastEscapeMs:Date.now()-p.current})){case"cancel-autocomplete":return xe(),p.current=0,!0;case"clear-input":return p.current=0,Se(),b(),!0;case"arm-clear":return p.current=Date.now(),!0;default:return!1}if(F.name==="up"){if(ge)return me(),!0;if(F.ctrl)return ee("up"),!0;if(w.length===0&&f){let te=f();if(typeof te=="string"&&te.length>0)return q(te),!0}if(hv(M.row,O.length,"up")){T(w);let te=g();Ve(te)}else ee("up");return!0}if(F.name==="down"){if(ge)return Me(),!0;if(F.ctrl)return ee("down"),!0;if(hv(M.row,O.length,"down")){let te=C();Ve(te)}else ee("down");return!0}if(F.name==="left"){let te=S.getAbsoluteOffset(),L=Jd(S.text,te);return L?H(L.start):ee("left"),!0}if(F.name==="right"){let te=S.getAbsoluteOffset(),L=Qd(S.text,te);return L?H(L.end):ee("right"),!0}if(F.name==="home")return ee("home"),!0;if(F.name==="end")return ee("end"),!0;let ie=Q$(F);if(ie)switch(ie){case"move-home":return ee("home"),!0;case"move-end":return ee("end"),!0;case"undo":return ue(),!0;case"redo":return he(),!0;case"kill-line-right":return Te(),!0;case"kill-line-left":return pe(),!0;case"delete-word-left":return Ie(),!0;default:break}if(F.name==="backspace")return Z(),!0;if(F.name==="delete")return le(),!0;if(F.name==="return"||F.name==="newline")switch(J$({keyName:F.name,ctrl:F.ctrl,shift:F.shift,isAutocompleteVisible:ge,isLineContinuation:!!O[M.row]?.endsWith("\\"),isPasting:A})){case"accept-completion-and-submit":{let L=J();if(L){let ze=ut(L);sn(ze)}else sn();return!0}case"newline":return B(),!0;case"line-continuation":return Z(),B(),!0;default:return sn(),!0}return F.insertable&&!F.ctrl&&!F.meta?(E(F.sequence,F.isPasted?{paste:!0}:void 0),!0):!1},[ut,h,we.visible,Z,S,Se,M.row,le,n,Me,xe,me,J,Ve,je,Et,G,O,pe,Te,ee,H,C,g,B,t,f,he,b,T,q,sn,st.length,w.length,Ie,A,ue]);return{text:w,cursor:M,lines:O,isPasting:A,terminalFocused:n,editingMode:N,handleKey:z}}i(gv,"usePromptInputController");var Hi=i(({onSubmit:e,onHistoryRecall:t,onPopPendingInputs:n,placeholder:r="Type a message...",prompt:o=">",focus:s=!0,initialValue:a="",cwd:c,gitRoot:l,autocompleteEnabled:d=!0,onInputChange:f,onPasteFallback:p})=>{let{exit:h}=Lr(),{cursor:g,lines:C,handleKey:b,isPasting:T,terminalFocused:S,editingMode:w}=gv({onSubmit:e,onExit:h,focus:s,initialValue:a,cwd:c,gitRoot:l,autocompleteEnabled:d,onInputChange:f,onPasteFallback:p,onHistoryRecall:t,onPopPendingInputs:n});return _n(un.High,M=>b(M),[b]),Bi(k,{flexDirection:"column",children:Bi(Nf,{lines:C,cursorRow:g.row,cursorCol:g.col,prompt:o,placeholder:r,focus:s,terminalFocused:S,isPasting:T,editingMode:w,theme:"dark"})})},"InputPrompt"),xv=i(({onSubmit:e,placeholder:t,prompt:n=">"})=>{let[r,o]=yv(""),[s,a]=yv(0);_n(un.High,p=>{if(p.name==="return")return r.trim()&&(e(r),o(""),a(0)),!0;if(p.name==="backspace"&&s>0){let h=[...r].slice(0,s-1).join(""),g=[...r].slice(s).join("");return o(h+g),a(s-1),!0}if(p.name==="left"&&s>0)return a(s-1),!0;if(p.name==="right"&&s<[...r].length)return a(s+1),!0;if(p.insertable&&!p.ctrl&&!p.meta){let h=[...r].slice(0,s).join(""),g=[...r].slice(s).join("");return o(h+p.sequence+g),a(s+1),!0}return!1},[r,s,e]);let c=se("dark");if(!r)return Vf(k,{children:[Vf(v,{color:c.colors.primary,children:[n," "]}),t&&Bi(v,{dimColor:!0,children:t}),Bi(v,{backgroundColor:c.colors.primary,color:"#000000",children:" "})]});let l=[...r].slice(0,s).join(""),d=[...r][s]??" ",f=[...r].slice(s+1).join("");return Vf(k,{children:[Vf(v,{color:c.colors.primary,children:[n," "]}),Bi(v,{children:l}),Bi(v,{backgroundColor:c.colors.primary,color:"#000000",children:d}),Bi(v,{children:f})]})},"SimpleInputPrompt");import{jsx as gt,jsxs as Yt}from"react/jsx-runtime";import{useState as wv,useEffect as Tv}from"react";var Sv=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],Z$=80,zf=new Set,yl=null;function e1(){let e=Array.from(zf);for(let t of e)t()}i(e1,"dispatchSharedSpinnerTick");function t1(e){return zf.add(e),yl===null&&(yl=setInterval(e1,Z$)),()=>{zf.delete(e),zf.size===0&&yl!==null&&(clearInterval(yl),yl=null)}}i(t1,"subscribeToSharedSpinnerClock");function xl(e=!0){let[t,n]=wv(0);return Tv(()=>{if(e)return t1(()=>{n(r=>r+1)})},[e]),t}i(xl,"useSharedSpinnerTick");var Ln=i(({color:e,theme:t})=>{let n=t??se("dark"),o=xl(!0)%Sv.length,s=e??n.colors.accent;return gt(v,{color:s,children:Sv[o]})},"Spinner");function n1(e){return e<=0?0:Math.round(e/4)}i(n1,"estimateOutputTokens");function r1(e){let t=Math.max(0,Math.floor(e/1e3));if(t<60)return`${t}s`;let n=Math.floor(t/3600),r=Math.floor(t%3600/60),o=t%60;return n===0?`${r}m${o}s`:`${n}h${r}m${o}s`}i(r1,"formatElapsedDuration");var Cv=i(({roundStartedAt:e,charCount:t,theme:n})=>{let r=n??se("dark");if(xl(e!==null),e===null)return null;let o=o1(Date.now()-e,t);return gt(v,{color:r.colors.dim,wrap:"truncate",children:o})},"SpinnerStatsTail");function o1(e,t){let n=r1(e),r=n1(t);return r>0?` (${n} \xB7 \u2193 ${r} tokens)`:` (${n})`}i(o1,"buildSpinnerStatsText");var gg=i(({label:e,dotCount:t=3,theme:n})=>{let r=n??se("dark"),[o,s]=wv(1);Tv(()=>{let c=setInterval(()=>{s(l=>l%t+1)},300);return()=>clearInterval(c)},[t]);let a=".".repeat(o);return Yt(k,{children:[e&&gt(v,{color:r.colors.text,children:e}),gt(v,{color:r.colors.accent,children:a})]})},"DotsIndicator"),yg=i(({progress:e,label:t,width:n=20,theme:r})=>{let o=r??se("dark"),s=Math.max(0,Math.min(100,e)),a=Math.round(s/100*n),c=n-a,l="\u2588".repeat(a),d="\u2591".repeat(c);return Yt(k,{flexDirection:"column",children:[t&&gt(k,{marginBottom:1,children:gt(v,{color:o.colors.text,children:t})}),Yt(k,{children:[gt(v,{color:o.colors.primary,children:l}),gt(v,{dimColor:!0,children:d}),Yt(v,{children:[" ",s,"%"]})]})]})},"ProgressIndicator"),Iv=i(({message:e,showSpinner:t=!1,theme:n})=>{let r=n??se("dark"),o=e??"Thinking";return Yt(k,{children:[t&&gt(k,{marginRight:1,children:gt(Ln,{theme:r})}),Yt(v,{color:r.colors.accent,children:[o,"\u2026"]})]})},"ThinkingIndicator"),vv=i(({message:e,subMessage:t,progress:n,type:r="spinner",compact:o=!1,theme:s})=>{let a=s??se("dark"),c=e??"Loading";return o?Yt(k,{children:[gt(Ln,{theme:a}),Yt(v,{color:a.colors.text,children:[" ",c,"\u2026"]})]}):r==="bar"&&n!==void 0?Yt(k,{flexDirection:"column",children:[gt(yg,{progress:n,label:c,theme:a}),t&&gt(k,{marginTop:1,children:gt(v,{dimColor:!0,children:t})})]}):r==="dots"?Yt(k,{flexDirection:"column",children:[gt(gg,{label:c,theme:a}),t&&gt(k,{marginTop:1,children:gt(v,{dimColor:!0,children:t})})]}):r==="simple"?Yt(k,{flexDirection:"column",children:[Yt(v,{color:a.colors.accent,children:[c,"\u2026"]}),t&&gt(k,{marginTop:1,children:gt(v,{dimColor:!0,children:t})}),n!==void 0&&gt(k,{marginTop:1,children:Yt(v,{dimColor:!0,children:[n,"%"]})})]}):Yt(k,{flexDirection:"column",children:[Yt(k,{children:[gt(Ln,{theme:a}),Yt(v,{color:a.colors.text,children:[" ",c,"\u2026"]}),n!==void 0&&Yt(v,{dimColor:!0,children:[" (",n,"%)"]})]}),t&&gt(k,{marginTop:1,children:gt(v,{dimColor:!0,children:t})})]})},"LoadingIndicator");import{jsx as be,jsxs as Ye,Fragment as Ag}from"react/jsx-runtime";import{useEffect as ob,useMemo as Dr,memo as Pn}from"react";import*as wl from"node:path";function Sl(e){if(Pw(e)){let t=$w(e);return t?`[memory:${t}]`:"[memory]"}if(i1(e))return"[memory]"}i(Sl,"memoryBadgeFor");function i1(e){let t=wl.resolve(e),n=ir("projects");if(!t.startsWith(n+wl.sep)&&t!==n)return!1;let o=t.slice(n.length+1).split(wl.sep);return o.length>=2&&o[1]==="memory"}i(i1,"isInsideAnyMemoryDir");function Ze(e,t=120){return e.length>t?`${e.slice(0,t-3)}...`:e}i(Ze,"truncateValue");function bv(e){if(e)return e.split(/\r?\n/).map(t=>t.trim()).find(Boolean)}i(bv,"extractFirstMeaningfulLine");function Ev(e){let t=e.match(/^\[([^\]]+)\]\s+(.*)$/);if(!t)return{toolLabel:e};let n=t[1]?.trim(),r=t[2]?.trim()??e,o=new RegExp(`^${n?.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}:`,"i"),s=r.replace(o,"").trim();return{rolePrefix:n?`[${n}]`:void 0,toolLabel:s||r}}i(Ev,"splitDisplayToolName");function Xf(e){let{rolePrefix:t,toolLabel:n}=Ev(e);return t?`${t} ${n}`:n}i(Xf,"normalizeDisplayToolName");function Tl(e){return Ev(e).toolLabel}i(Tl,"stripRolePrefix");function Yf(e){if(!(!e||Array.isArray(e)||typeof e!="object"))return e}i(Yf,"asRecord");function Mv(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}i(Mv,"readString");function _t(e,...t){for(let n of t){let r=Mv(e?.[n]);if(r)return r}}i(_t,"readFirstString");function Pr(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"&&e.trim().length>0){let t=Number(e.trim());return Number.isFinite(t)?t:void 0}}i(Pr,"readNumber");function Av(e){if(!Array.isArray(e))return;let t=e.map(n=>typeof n=="string"?n.trim():"").filter(Boolean);return t.length>0?t:void 0}i(Av,"readStringArray");function s1(e){if(typeof e=="string")return e.trim()||void 0;let t=Yf(e);if(t)return Mv(t.preview)??void 0}i(s1,"extractPreview");function Rv(e){if(e)try{return Yf(JSON.parse(e))}catch{return}}i(Rv,"parsePreviewRecord");function Ne(e,t){return e&&e.match(new RegExp(`"${t}"\\s*:\\s*"([^"]+)`))?.[1]?.trim()||void 0}i(Ne,"extractFieldFromPreview");function $r(e,t){if(!e)return;let n=e.match(new RegExp(`"${t}"\\s*:\\s*(\\d+)`));return n?.[1]?Number(n[1]):void 0}i($r,"extractNumberFromPreview");function _v(e){if(!e)return;let t=e.match(/"paths"\s*:\s*\[([^\]]*)/);if(!t?.[1])return;let n=Array.from(t[1].matchAll(/"([^"]+)"/g)).map(r=>r[1]?.trim()??"").filter(Boolean);return n.length>0?n:void 0}i(_v,"extractPathsFromPreview");function a1(e){let t=s1(e);if(typeof e=="string")return{record:Rv(t),preview:t};let n=Yf(e),r=Rv(t);return n?r?{record:{...n,...r},preview:t}:{record:n,preview:t}:{record:r,preview:t}}i(a1,"resolveInputRecord");function ya(e,t,n,r=!1){let o=_t(t,"path","target_path","targetPath")??Ne(n,"path")??Ne(n,"target_path")??Ne(n,"targetPath"),s=Av(t?.paths)??_v(n);if(r&&s?.length){if(s.length===1){let a=Sl(s[0]);a&&e.push(a),e.push(Ze(s[0]))}else e.push(`${s.length} files`);return}if(o){let a=Sl(o);a&&e.push(a),e.push(Ze(o));return}if(s?.length)if(s.length===1){let a=Sl(s[0]);a&&e.push(a),e.push(Ze(s[0]))}else e.push(`${s.length} files`)}i(ya,"pushPathSummary");function xa(e,t,n){n!==void 0&&e.push(`${t}=${n}`)}i(xa,"pushNumericSummary");function xg(e,t,n){let r=_t(t,"baseRef","base_ref")??Ne(n,"baseRef")??Ne(n,"base_ref"),o=_t(t,"targetRef","target_ref")??Ne(n,"targetRef")??Ne(n,"target_ref");r&&o&&e.push(Ze(`${r}...${o}`,88))}i(xg,"pushRangeSummary");function c1(e,t){let{record:n,preview:r}=a1(t),o=Tl(e).toLowerCase(),s=[];if(o.includes("changed_diff_bundle")){let a=Av(n?.paths)??_v(r);a?.length?(s.push(a.length===1?Ze(a[0]):`${a.length} files`),a.length>1&&s.push(Ze(a[0]))):ya(s,n,r,!0);let c=Pr(n?.limit_per_path)??Pr(n?.limitPerPath)??$r(r,"limit_per_path")??$r(r,"limitPerPath");return c!==void 0&&s.push(`limit=${c}`),xg(s,n,r),s}if(o.includes("changed_diff"))return ya(s,n,r),xa(s,"offset",Pr(n?.offset)??$r(r,"offset")),xa(s,"limit",Pr(n?.limit)??$r(r,"limit")),xg(s,n,r),s;if(o==="read"||o.includes("read_"))return ya(s,n,r),xa(s,"offset",Pr(n?.offset)??$r(r,"offset")),xa(s,"limit",Pr(n?.limit)??$r(r,"limit")),s;if(o.includes("changed_scope"))return ya(s,n,r,!0),xg(s,n,r),s;if(o.includes("repo_overview"))return ya(s,n,r),s;if(o.includes("bash")||o.includes("shell_command")){let a=_t(n,"command")??Ne(r,"command");return a&&s.push(`cmd=${Ze(a,140)}`),s}if(o==="glob"||o.includes("glob_")){let a=_t(n,"pattern")??Ne(r,"pattern"),c=_t(n,"path","root","directory","cwd")??Ne(r,"path")??Ne(r,"root")??Ne(r,"directory")??Ne(r,"cwd");if(a&&s.push(`pattern=${Ze(a,96)}`),c){let l=Sl(c);l&&s.push(l),s.push(Ze(c))}return s}if(o==="grep"||o.includes("grep_")){let a=_t(n,"pattern","query")??Ne(r,"pattern")??Ne(r,"query"),c=_t(n,"path","root","directory","cwd")??Ne(r,"path")??Ne(r,"root")??Ne(r,"directory")??Ne(r,"cwd");if(a&&s.push(`pattern=${Ze(a,96)}`),c){let l=Sl(c);l&&s.push(l),s.push(Ze(c))}return s}if(o==="web_fetch"){let a=_t(n,"url")??Ne(r,"url"),c=_t(n,"provider_id","providerId")??Ne(r,"provider_id")??Ne(r,"providerId"),l=_t(n,"capability_id","capabilityId")??Ne(r,"capability_id")??Ne(r,"capabilityId");return a&&s.push(Ze(a,120)),c&&s.push(`provider=${Ze(c,48)}`),l&&s.push(`cap=${Ze(l,48)}`),s}if(o==="mcp_describe"||o==="mcp_read_resource"){let a=_t(n,"id")??Ne(r,"id");return a&&s.push(Ze(a,120)),s}if(o==="mcp_call"){let a=_t(n,"id")??Ne(r,"id"),c=Yf(n?.args),l=c?Object.keys(c).length:void 0;return a&&s.push(Ze(a,120)),l!==void 0&&s.push(`args=${l}`),s}if(o==="skill"){let a=_t(n,"skill","name")??Ne(r,"skill");return a&&s.push(Ze(a,64)),s}if(o==="mcp_search"){let a=_t(n,"query")??Ne(r,"query"),c=_t(n,"server")??Ne(r,"server"),l=_t(n,"kind")??Ne(r,"kind"),d=Pr(n?.limit)??$r(r,"limit");return a&&s.push(`query=${Ze(a,96)}`),c&&s.push(`server=${Ze(c,48)}`),l&&s.push(`kind=${l}`),d!==void 0&&s.push(`limit=${d}`),s}if(o==="web_search"||o==="code_search"||o==="semantic_lookup"){let a=_t(n,"query","pattern")??Ne(r,"query")??Ne(r,"pattern"),c=_t(n,"path","target_path","targetPath")??Ne(r,"path")??Ne(r,"target_path")??Ne(r,"targetPath"),l=_t(n,"provider_id","providerId")??Ne(r,"provider_id")??Ne(r,"providerId"),d=Pr(n?.limit)??$r(r,"limit");return a&&s.push(`query=${Ze(a,96)}`),c&&s.push(Ze(c,72)),l&&s.push(`provider=${Ze(l,48)}`),d!==void 0&&s.push(`limit=${d}`),s}return ya(s,n,r,!0),xa(s,"offset",Pr(n?.offset)??$r(r,"offset")),xa(s,"limit",Pr(n?.limit)??$r(r,"limit")),s}i(c1,"summarizeToolDetails");function Lv(e){let t=e.match(/Showing diff lines\s+(\d+)-(\d+)\s+of\s+(\d+)/i);if(t)return`${t[1]}-${t[2]}/${t[3]}`}i(Lv,"extractChangedDiffRange");function l1(e){return e.split(/\r?\n/).map(t=>t.trim()).find(t=>t.startsWith("+")||t.startsWith("-")||t.startsWith("@@"))}i(l1,"extractDiffPreviewLine");function u1(e){let t=[],n=Lv(e);if(n){let[o,s]=n.split("/");t.push(s?`Diff range: ${o} of ${s}`:`Diff range: ${n}`)}let r=l1(e);return r&&t.push(`Preview: ${Ze(r,220)}`),t}i(u1,"formatChangedDiffExplanation");function d1(e){let t=[],n=e.match(/^Changed diff bundle for\s+(\d+)\s+file\(s\)/im);if(n?.[1]){let o=Number(n[1]);Number.isFinite(o)&&o>0&&t.push(`Bundle: ${o===1?"1 file":`${o} files`}`)}let r=e.match(/^===\s+(.+?)\s+===/m);return r?.[1]&&t.push(`First file: ${Ze(r[1].trim(),220)}`),t}i(d1,"formatChangedDiffBundleExplanation");function Pv(e,t){if(!t)return[];let n=Tl(e).toLowerCase(),r=[];if(n.includes("changed_diff_bundle")){let o=t.match(/^Changed diff bundle for\s+(\d+)\s+file\(s\)/im);if(o?.[1]){let a=Number(o[1]);Number.isFinite(a)&&a>0&&r.push(a===1?"1 file":`${a} files`)}let s=t.match(/^===\s+(.+?)\s+===/m);return s?.[1]&&r.push(Ze(s[1].trim())),r}if(n.includes("changed_diff")){let o=t.match(/^Changed diff for\s+(.+)$/im);o?.[1]&&r.push(Ze(o[1].trim()));let s=Lv(t);return s&&r.push(s),r}if(n==="read"||n.includes("read_")){let o=t.match(/^Reading\s+(.+)$/im);return o?.[1]&&r.push(Ze(o[1].trim())),r}return[]}i(Pv,"summarizeToolOutputDetails");function Sg(e,t){let n=Xf(e);return t.length>0?`${n} - ${t.join(" - ")}`:n}i(Sg,"formatToolDetailSummary");function f1(e,t){if(!t)return;let n=t-e;return n<1e3?`${n}ms`:`${(n/1e3).toFixed(1)}s`}i(f1,"formatDuration");function p1(e){switch(e.status){case W.Scheduled:return"scheduled";case W.Validating:return"validating";case W.AwaitingApproval:return"awaiting approval";case W.Executing:return"running";case W.Error:return"failed";case W.Cancelled:return"cancelled";default:return}}i(p1,"formatToolStatusDetail");function kv(e){switch(e.status){case W.Scheduled:return["Queued: waiting to start"];case W.Validating:return["Validating: checking inputs and policy"];case W.AwaitingApproval:return["Waiting: approval required before execution"];case W.Executing:return e.progress!==void 0?[`Progress: ${e.progress}% complete`]:e.progressLines&&e.progressLines.length>0?e.progressLines.slice(-5):e.preview?[`Running: ${e.preview}`]:["Running: waiting for tool output"];case W.Cancelled:return["Cancelled before completion"];default:return[]}}i(kv,"formatToolProgressExplanation");function wg(e){return e.startsWith("Error:")?"error":e.startsWith("Waiting:")?"accent":e.startsWith("Progress:")||e.startsWith("Running:")?"primary":"dim"}i(wg,"resolveToolExplanationTone");function m1(e){let t=bv(e.error),n=typeof e.output=="string"?bv(e.output):void 0,r=[];return t&&r.push(`Error: ${Ze(t,220)}`),e.status===W.Error&&n&&(!t||n.toLowerCase()!==t.toLowerCase())&&r.push(`Last output: ${Ze(n,220)}`),r}i(m1,"formatToolFailureExplanation");function Tg(e){if(typeof e.output!="string"||!e.output.trim())return kv(e);let t=Tl(e.name).toLowerCase();return e.status===W.Error?m1(e):e.status!==W.Success?kv(e):t.includes("changed_diff_bundle")?d1(e.output):t.includes("changed_diff")?u1(e.output):[]}i(Tg,"formatToolResultExplanation");function Cg(e,t){return Sg(e,c1(e,t))}i(Cg,"formatToolSummary");function qf(e){let t=typeof e.output=="string"?Pv(e.name,e.output):[],n=t.length>0?Sg(e.name,t):Cg(e.name,e.input),r=p1(e),o=f1(e.startTime,e.endTime),s=e.status===W.Executing&&e.progress!==void 0?`${e.progress}%`:e.status===W.Executing&&e.preview?e.preview:void 0,a=[r,s,o].filter(Boolean);return a.length>0?`${n} (${a.join(" - ")})`:n}i(qf,"formatToolCallInlineText");function Jf(e){let t=new Map;for(let n of e){let r=typeof n.output=="string"?Pv(n.name,n.output):[],o=r.length>0?Sg(n.name,r):Cg(n.name,n.input),a=n.progressLines&&n.progressLines.length>0?`${o}|${n.id}`:`${o}|${n.error??""}`,c=t.get(a);c?(c.tool=n,c.count+=1):t.set(a,{tool:n,count:1})}return[...t.values()]}i(Jf,"collapseToolCalls");function Cl(e){let t=qf(e.tool);return e.count>1?`${t} x${e.count}`:t}i(Cl,"formatCollapsedToolInlineText");function Qf(e,t,n){let r=Cg(e,t);return r!==Xf(e)?`[Tools] ${r}`:n>0?`[Tools] ${Xf(e)} (${n} chars)`:`[Tools] ${Xf(e)}`}i(Qf,"formatLiveToolLabel");function Ig(e,t=e.length){let n=0,r=Math.min(t,e.length);for(let o=0;o<r;o++)e.charCodeAt(o)===10&&(n+=1);return n}i(Ig,"countNewlines");function Zf(e,t={}){let n=t.maxChars??1e4,r=t.headChars??2500,o=t.tailChars??2500;if(e.length<=n)return e;let s=e.slice(0,r),a=e.slice(-o),c=Ig(e),l=Ig(s),d=Ig(a),f=Math.max(0,c-l-d);return`${s}
49
+ \u2026 +${f} lines \u2026
50
+ ${a}`}i(Zf,"truncateUserMessageForDisplay");var $v="(?:\x1B[[0-9;]*m)*",h1=new RegExp(`^(${$v})(?:[ \r]*
51
+ )+`),g1=new RegExp(`(?:
52
+ [ \r]*)+(${$v})$`);function vg(e){return e.replace(h1,"$1").replace(g1,"$1")}i(vg,"stripOuterBlankLines");function Nt(e){let t=/\u001b\[[0-9;?]*[ -/]*[@-~]/g,n=/\u001b\][^\u0007\u001b]*(?:\u0007|\u001b\\)/g,r=/\u001b[@-_]/g;return e.replace(t,"").replace(n,"").replace(r,"")}i(Nt,"stripAnsi");var y1=new Set(["edit","write","multi_edit","insert_after_anchor"]),x1=20;function S1(e){return y1.has(Tl(e.name).trim().toLowerCase())}i(S1,"isMutationTool");function w1(e){return e.startsWith("--- ")||e.startsWith("+++ ")?{color:"dim",skip:!0}:/^(File (edited|created|updated|written)|Content inserted)/.test(e)?{color:"dim",skip:!0}:e.startsWith("@@")?{color:"dim",skip:!1}:e.startsWith("+")?{color:"success",skip:!1}:e.startsWith("-")?{color:"error",skip:!1}:{color:"dim",skip:!1}}i(w1,"classifyDiffLine");function T1(e,t,n,r,o){let s=[],a=!1;for(let p of n.split(/\r?\n/)){let{color:h,skip:g}=w1(p);g||((h==="success"||h==="error")&&(a=!0),s.push({text:p,color:h}))}if(!a)return!1;let c=0,l=s.length;for(;c<l&&s[c].text.trim()==="";)c++;for(;l>c&&s[l-1].text.trim()==="";)l--;let d=s.slice(c,l);if(d.length===0)return!1;let f=o?d:d.slice(0,x1);return f.forEach((p,h)=>{Pe(e,`${t}-diff-${h}`,p.text,ct(r,4),{color:p.color,indent:4})}),!o&&d.length>f.length&&Pe(e,`${t}-diff-more`,`... (${d.length-f.length} more lines)`,ct(r,4),{color:"dim",indent:4}),!0}i(T1,"pushDiffRows");var Dv=400,C1="... (thinking truncated; press Ctrl+O to inspect full reasoning)",Ov=2e5,I1="... (thinking show-all truncated at 200K chars; full content available via session artifacts)",Wv=1e5,Nv=120,v1=" \u2026 (Ctrl+O to expand)";function Fv(){return process.env.KODAX_THINKING_COLLAPSE!=="0"}i(Fv,"isThinkingCollapseEnabled");function b1(e){let t=e.split(/\r?\n/).map(a=>a.trim()).filter(a=>a.length>0),n=t[0]??"",r=t.length>1,o=n.length>Nv;return{summary:o?`${n.slice(0,Nv).trimEnd()}\u2026`:n,hasMore:r||o}}i(b1,"buildCollapsedThinkingLine");function R1(e,t){if(!e||!t)return e;let n=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return e.replace(new RegExp(`^\\[Tools\\]\\s+\\[${n}\\]\\s+`,"i"),"[Tools] ").replace(new RegExp(`^\\[Thinking\\]\\s+\\[${n}\\]\\s*`,"i"),"[Thinking] ").replace(new RegExp(`^\\[${n}\\]\\s+thinking\\b`,"i"),"[Thinking]").trim()}i(R1,"normalizeManagedLiveActivityLabel");function Il(e){return new Date(e).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"})}i(Il,"formatTimestamp");function jv(e){switch(e){case W.Scheduled:return"\u25CB";case W.Validating:return"\u25D0";case W.AwaitingApproval:return"\u23F8";case W.Executing:return"\u25CF";case W.Success:return"\u2713";case W.Error:return"\u2717";case W.Cancelled:return"\u2298";default:return"[tool]"}}i(jv,"getToolStatusIcon");function Uv(e){switch(e){case W.Scheduled:case W.Validating:return"dim";case W.AwaitingApproval:return"accent";case W.Executing:return"primary";case W.Success:return"success";case W.Error:return"error";case W.Cancelled:return"dim";default:return"text"}}i(Uv,"getToolStatusColor");function k1(e,t){let n=Math.max(1,t),r=e.split(`
53
+ `),o=fn(r.length>0?r:[""],n,0,0);return o.visualLines.length>0?o.visualLines:[""]}i(k1,"wrapText");function bg(e,t,n,r=!1){if(n||r)return e.length>Ov?`${e.slice(0,Ov)}
54
+
55
+ ${I1}`:e;let o=e.split(/\r?\n/),s=o.length>t,a=s?o.slice(0,t).join(`
56
+ `):e,c=a.length>Dv,l=c?a.slice(0,Dv):a;return!s&&!c?e:`${l}
57
+
58
+ ${C1}`}i(bg,"buildThinkingPreview");function E1(e){for(let t=e.length-1;t>=0;t--)if(e[t]?.type==="user")return t;return 0}i(E1,"findActiveRoundStartIndex");function Pe(e,t,n,r,o){let s=Nt(n),a=k1(s,r);if(a.length===0){e.push({key:`${t}-0`,text:"",...o});return}a.forEach((c,l)=>{e.push({key:`${t}-${l}`,text:c,...o})})}i(Pe,"pushWrappedRows");function Sa(e,t){e.push({key:t,text:" "})}i(Sa,"pushBlankRow");function ct(e,t=0){return Math.max(20,e-t)}i(ct,"getBodyWidth");function M1(e){if(!e.input)return[];let t=JSON.stringify(e.input,null,2)?.trim();return t?t.split(/\r?\n/).slice(0,6).map((n,r)=>r===0?`input: ${n}`:n):[]}i(M1,"buildToolInputPreview");function A1(e,t,n,r,o,s=!1,a=!1){Pe(e,`${t}-tool-${n.id}-main`,`${jv(n.status)} ${Cl({tool:n,count:r})}`,ct(o,2),{color:Uv(n.status),indent:2,bold:n.status===W.Executing}),Tg(n).forEach((d,f)=>{let p=wg(d);Pe(e,`${t}-tool-${n.id}-explanation-${f}`,d,ct(o,4),{color:p,indent:4})});let l=n.status===W.Success&&typeof n.output=="string"&&n.output.trim().length>0&&S1(n)&&T1(e,`${t}-tool-${n.id}`,n.output,o,a);if(s){let d=M1(n),f=a?d:d.slice(0,6);f.forEach((p,h)=>{Pe(e,`${t}-tool-${n.id}-input-${h}`,p,ct(o,4),{color:"dim",indent:4})}),!a&&d.length>f.length&&Pe(e,`${t}-tool-${n.id}-input-more`,`... (${d.length-f.length} more lines)`,ct(o,4),{color:"dim",indent:4})}if(s&&!l&&typeof n.output=="string"&&n.output.trim()){let d=n.output.trim().split(/\r?\n/),f=a?d:d.slice(0,8);f.forEach((h,g)=>{Pe(e,`${t}-tool-${n.id}-output-${g}`,h,ct(o,4),{color:"dim",indent:4})});let p=d.length;!a&&p>f.length&&Pe(e,`${t}-tool-${n.id}-output-more`,`... (${p-f.length} more lines)`,ct(o,4),{color:"dim",indent:4})}}i(A1,"buildToolRows");function _1(e,t,n,r){let o=n.status===W.Executing,s=o?"":`${jv(n.status)} `;Pe(e,`${t}-tool-${n.id}-main`,`${s}${Cl({tool:n,count:1})}`,ct(r,2),{color:Uv(n.status),indent:2,bold:o,spinner:o}),Tg(n).forEach((c,l)=>{let d=wg(c);Pe(e,`${t}-tool-${n.id}-explanation-${l}`,c,ct(r,4),{color:d,indent:4})})}i(_1,"buildLiveToolRows");function Gv(e){let{items:t,viewportWidth:n,isLoading:r=!1,maxLines:o=1e3,isThinking:s=!1,thinkingCharCount:a=0,thinkingContent:c="",streamingResponse:l="",currentTool:d,activeToolCalls:f=[],toolInputCharCount:p=0,toolInputContent:h="",iterationHistory:g=[],currentIteration:C=1,isCompacting:b=!1,managedAgentMode:T,managedPhase:S,managedHarnessProfile:w,managedWorkerTitle:M,managedRound:O,managedMaxRounds:A,lastLiveActivityLabel:N,liveStatusLines:X=[],currentTodoActiveForm:K,showFullThinking:q=!1,showDetailedTools:x=!1,showAllContent:Se=!1,showLiveProgressRows:ee=!0}=e,H=[];for(let E of t)switch(E.type){case"user":Pe(H,`${E.id}-header`,`You [${Il(E.timestamp)}]`,n,{color:"primary",bold:!0,itemId:E.id}),Pe(H,`${E.id}-body`,Zf(E.text),ct(n,2),{color:"text",indent:2,itemId:E.id}),H.push({key:`${E.id}-blank`,text:" ",itemId:E.id});break;case"assistant":{let Z=vg(Se?E.text:E.compactText??E.text);Pe(H,`${E.id}-header`,`Assistant [${Il(E.timestamp)}]`,n,{color:"secondary",bold:!0,spinner:E.isStreaming,itemId:E.id}),Pe(H,`${E.id}-body`,Z,ct(n,2),{color:"text",indent:2,itemId:E.id}),H.push({key:`${E.id}-blank`,text:" ",itemId:E.id});break}case"system":Pe(H,`${E.id}-header`,`System [${Il(E.timestamp)}]`,n,{color:"dim",bold:!0,itemId:E.id}),Pe(H,`${E.id}-body`,E.text,ct(n,2),{color:"dim",indent:2,itemId:E.id}),H.push({key:`${E.id}-blank`,text:" ",itemId:E.id});break;case"tool_group":Pe(H,`${E.id}-header`,`Tools [${Il(E.timestamp)}]`,n,{color:"accent",bold:!0,itemId:E.id}),Jf(E.tools).forEach(Z=>A1(H,E.id,Z.tool,Z.count,n,x,Se)),H.push({key:`${E.id}-blank`,text:" ",itemId:E.id});break;case"thinking":{Pe(H,`${E.id}-header`,"Thinking",n,{color:"thinking",italic:!0,itemId:E.id});let Z=Fv()&&!q&&!Se?b1(E.compactText??E.text):void 0;if(Z?.hasMore){Pe(H,`${E.id}-body`,`${Z.summary}${v1}`,ct(n,2),{color:"thinking",indent:2,italic:!0,itemId:E.id}),H.push({key:`${E.id}-blank`,text:" ",itemId:E.id});break}let B=Se?bg(E.text,o,q,Se):E.compactText??bg(E.text,o,q,Se);Pe(H,`${E.id}-body`,B,ct(n,2),{color:"thinking",indent:2,italic:!0,itemId:E.id}),H.push({key:`${E.id}-blank`,text:" ",itemId:E.id});break}case"error":Pe(H,`${E.id}-header`,"\u2717 Error",n,{color:"error",bold:!0,itemId:E.id}),Pe(H,`${E.id}-body`,E.text,ct(n,2),{color:"error",indent:2,itemId:E.id}),H.push({key:`${E.id}-blank`,text:" ",itemId:E.id});break;case"info":Pe(H,`${E.id}-body`,`${E.icon??"\u2139"} ${vg(Se?E.text:E.compactText??E.text)}`,n,{color:"info",itemId:E.id}),H.push({key:`${E.id}-blank`,text:" ",itemId:E.id});break;case"event":Pe(H,`${E.id}-body`,`${E.icon??">"} ${Se?E.text:E.compactText??E.text}`,n,{color:"text",itemId:E.id}),H.push({key:`${E.id}-blank`,text:" ",itemId:E.id});break;case"hint":Pe(H,`${E.id}-header`,"\u{1F4A1} Hint",n,{color:"hint",bold:!0,itemId:E.id}),Pe(H,`${E.id}-body`,E.text,ct(n,2),{color:"dim",indent:2,itemId:E.id}),H.push({key:`${E.id}-blank`,text:" ",itemId:E.id});break;case"sidecar":{let Z=E.delivery==="budget-exhausted"?"\u26A1 Sidecar Verifier \u2014 budget exhausted":E.verdict==="blocked"?"\u26A1 Sidecar Verifier \u2014 blocked":"\u26A1 Sidecar Verifier \u2014 revise";Pe(H,`${E.id}-header`,`${Z} [${Il(E.timestamp)}]`,n,{color:"warning",bold:!0,itemId:E.id}),Pe(H,`${E.id}-body`,E.text,ct(n,2),{color:"dim",indent:2,itemId:E.id}),H.push({key:`${E.id}-blank`,text:" ",itemId:E.id});break}default:break}if(ee&&g.length>0&&(g.forEach(E=>{if(Pe(H,`iteration-${E.iteration}-header`,`\u2500\u2500 Round ${E.iteration} \u2500\u2500`,n,{color:"dim",bold:!0}),E.thinkingSummary){let Z=E.thinkingLength>60?` (${E.thinkingLength} chars total)`:"";Pe(H,`iteration-${E.iteration}-thinking`,`\u{1F4AD} ${E.thinkingSummary}${Z}`,ct(n,1),{color:"thinking",indent:1,italic:!0})}if(E.response){let Z=E.response.slice(0,200);Pe(H,`iteration-${E.iteration}-response`,Z,ct(n,1),{color:"text",indent:1}),E.response.length>200&&Pe(H,`iteration-${E.iteration}-response-more`,`... (${E.response.length} chars total)`,ct(n,1),{color:"dim",indent:1})}E.toolsUsed.length>0&&Pe(H,`iteration-${E.iteration}-tools`,`* tools: ${E.toolsUsed.join(", ")}`,ct(n,1),{color:"accent",indent:1}),Sa(H,`iteration-${E.iteration}-blank`)}),Pe(H,"iteration-current-header",`\u2500\u2500 Round ${C} (current) \u2500\u2500`,n,{color:"accent",bold:!0}),Sa(H,"iteration-current-blank")),r&&c){let E=bg(c,o,q,Se);Pe(H,"thinking-stream-header","Thinking",n,{color:"thinking",italic:!0}),Pe(H,"thinking-stream-body",E,ct(n,2),{color:"thinking",indent:2,italic:!0}),Sa(H,"thinking-stream-blank")}if(r){let E="Thinking",Z="",B=R1(N,M),le=M??"Scout",ue=S==="routing"?`[${T?T.toUpperCase():"AMA"} Routing] `:S==="preflight"?`[${T?T.toUpperCase():"AMA"} ${le}] `:S==="verifying"?`[${T?T.toUpperCase():"AMA"} Verifying] `:w?`[${T?T.toUpperCase():"AMA"} ${M??"Worker"}] `:"",he=f.filter(Q=>Q.status===W.Executing).length,Te=f.filter(Q=>Q.status===W.Success).length,pe=f.filter(Q=>Q.status===W.Error).length,Ie=f.filter(Q=>Q.status===W.Cancelled).length,Fe=f.length>0&&(he>0||!l);if(b)E="Compacting";else if(S==="verifying")Z=ue,E="checking agent output";else if(Fe){let Q=[];if(he>0&&Q.push(`${he} running`),Te>0&&Q.push(`${Te} done`),pe>0&&Q.push(`${pe} error`),Ie>0&&Q.push(`${Ie} cancelled`),Q.length===0&&Q.push(`${f.length} tools`),Pe(H,"loading-tools-header",`${ue}[Tools] ${Q.join(", ")}`,n,{color:"primary",bold:!0,spinner:he>0}),f.forEach(de=>{_1(H,"loading-tools",de,n)}),Sa(H,"loading-tools-blank"),he>0&&!l&&!ee)return H}else if(K)Z=ue||"[Plan] ",E=K;else if(d)Z=ue||"[Tool] ",E=B?.startsWith("[Tools]")?B:Qf(d,h,p);else if(s){Z=ue||"[Thinking] ";let Q=O&&A&&O>1?` round ${O}/${A}`:"";E=a>0?`${a} chars${Q}`:B?`${B}${Q}`:`processing${Q}`}else B&&(E=B);ee&&Pe(H,"loading-indicator",`${Z}${E}...`,n,{color:"accent",spinner:!0})}if(ee&&X.length>0&&(Pe(H,"live-status-header","Live status",n,{color:"dim",bold:!0}),X.forEach((E,Z)=>{Pe(H,`live-status-${Z}`,E,ct(n,2),{color:"dim",indent:2})}),Sa(H,"live-status-blank")),l){let E=l.lastIndexOf(`
59
+ `),Z=E>=0?l.slice(0,E+1):"";Z.length>0&&(Pe(H,"streaming-header","Assistant",n,{color:"secondary",bold:!0}),Pe(H,"streaming-body",Z,ct(n,2),{color:"text",indent:2}),Sa(H,"streaming-blank"))}return H}i(Gv,"buildTranscriptRows");function L1(e,t,n=1e3,r=!1,o=!1,s=!1){return wa(e,t,n,r,void 0,o,s)}i(L1,"buildStaticTranscriptSections");var Bv=new WeakMap,Hv=new Set(["thinking","tool_group"]);function P1(){return process.env.KODAX_TRANSCRIPT_TIGHT!=="0"}i(P1,"isTightRunSpacingEnabled");function $1(e,t){return P1()?t.map((n,r)=>{let o=e[r],s=e[r+1];if(!o||!s||!Hv.has(o.type)||!Hv.has(s.type))return n;let a=n.rows,c=a[a.length-1];return c&&c.text===" "&&c.key.endsWith("-blank")?{...n,rows:a.slice(0,-1)}:n}):t}i($1,"suppressTightRunBlanks");function wa(e,t,n=1e3,r=!1,o,s=!1,a=!1){let c=e.map(l=>{let d=r||!!o?.has(l.id),f=`${t}|${n}|${s?1:0}|${d?1:0}|${Fv()?1:0}|${a?1:0}`,p=Bv.get(l);if(p!==void 0&&p.sig===f)return p.section;let h={key:l.id,rows:Gv({items:[l],viewportWidth:t,maxLines:n,showAllContent:s,showDetailedTools:d,showFullThinking:a})};return Bv.set(l,{sig:f,section:h}),h});return $1(e,c)}i(wa,"buildHistoryItemTranscriptSections");function D1(e,t){return{key:e,rows:Gv(t)}}i(D1,"buildDynamicTranscriptSection");function ep(e){let{items:t,viewportWidth:n,maxLines:r=1e3,showDetailedTools:o=!1,showAllContent:s=!1,showFullThinking:a=!1,windowed:c=!1}=e;if(c)return{staticSections:[],activeItems:t};let l=E1(t),d=t.slice(0,l),f=t.slice(l);return{staticSections:L1(d,n,r,o,s,a),activeItems:f}}i(ep,"buildTranscriptStaticPortion");function tp(e){let{activeItems:t,viewportWidth:n,maxLines:r=1e3,showDetailedTools:o=!1,showAllContent:s=!1,showFullThinking:a=!1,expandedItemKeys:c,...l}=e,d=wa(t,n,r,o,c,s,a),f=D1("active-pending",{...l,items:[],managedLiveEvents:[],lastLiveActivityLabel:l.lastLiveActivityLabel,viewportWidth:n,maxLines:r,showAllContent:s,showDetailedTools:o,showFullThinking:a,expandedItemKeys:c}),p=f.rows.length>0?[f]:[];return{sections:d,previewSections:p}}i(tp,"buildTranscriptDynamicPortion");function np(e,t){return{staticSections:e.staticSections,sections:t.sections,rows:Wi(t.sections),previewSections:t.previewSections,previewRows:Wi(t.previewSections)}}i(np,"composeTranscriptRenderModel");function Kv(e,t,n){let r=np(e,t);return n?{...r,staticSections:[n,...r.staticSections]}:r}i(Kv,"buildInlinePromptRenderModel");function Vv(e,t,n,r){let o=Number.isFinite(r)?Math.max(1,Math.floor(r)):1,s=[...t,...n],a=Math.max(0,s.length-o),c=s.slice(a),l=e.flatMap(h=>h.rows),d=s.slice(0,a).filter(h=>h.spinner!==!0);return{committedSections:[...l,...d].map((h,g)=>({key:`il-${g}`,rows:[{...h,key:`il-${g}`}]})),liveRows:c}}i(Vv,"splitInlineLedgerModel");function O1(e){return e.replace(/^(You|Assistant|Tools|System) \[\d{1,2}:\d{2}[^\]]*\]$/u,"$1")}i(O1,"stripHeaderTimestamp");function zv(e){let t=5381;for(let n of e.rows){let r=O1(n.text);for(let o=0;o<n.key.length;o++)t=(t<<5)+t+n.key.charCodeAt(o)|0;t=(t<<5)+t+0|0;for(let o=0;o<r.length;o++)t=(t<<5)+t+r.charCodeAt(o)|0;t=(t<<5)+t+1|0}return{key:e.key,fingerprint:`${t>>>0}`}}i(zv,"identifyInlineCommitSection");function rp(e){let t=ep({items:e.items,viewportWidth:e.viewportWidth,maxLines:e.maxLines,showDetailedTools:e.showDetailedTools,showAllContent:e.showAllContent,showFullThinking:e.showFullThinking,windowed:e.windowed}),{items:n,...r}=e,o=tp({...r,activeItems:t.activeItems});return np(t,o)}i(rp,"buildTranscriptRenderModel");function Wi(e){return e.flatMap(t=>t.rows)}i(Wi,"flattenTranscriptSections");function Xv(e){let t=5381;for(let n of e.rows){let r=`${n.key}\0${n.text}`;for(let o=0;o<r.length;o++)t=Math.imul(t,33)+r.charCodeAt(o)|0}return{key:e.key,fingerprint:`${e.rows.length}:${(t>>>0).toString(36)}`}}i(Xv,"identifyTranscriptSection");function Rg(e){let t=[...e.staticSections,...e.sections];return{staticSections:[],sections:t,rows:Wi(t),previewSections:[...e.previewSections],previewRows:Wi(e.previewSections)}}i(Rg,"materializeTranscriptRenderModel");function Yv(e,t={}){let{start:n,end:r,viewportTop:o,viewportHeight:s,viewportRows:a,scrollOffset:c=0,windowed:l=!1}=t;if(typeof o=="number"&&typeof s=="number"){let d=Math.max(0,o),f=Math.max(d,o+Math.max(0,s));return e.slice(d,f)}return typeof n=="number"&&typeof r=="number"?e.slice(Math.max(0,n),Math.max(0,r)):l?Eg(e,a,c):e}i(Yv,"resolveVisibleTranscriptRows");var N1=200,B1=50,kg=30;function qv(e,t,n=N1,r=B1){let o=t.current,s=o?e.findIndex(l=>l.id===o.id):-1,a=s>=0?s:o?Math.min(o.idx,Math.max(0,e.length-n)):0;e.length-a>n+r&&(a=e.length-n);let c=e[a];return c&&(o?.id!==c.id||o.idx!==a)?t.current={id:c.id,idx:a}:!c&&o&&(t.current=null),a}i(qv,"computeTranscriptCapStart");function Jv(e,t){if(t<=0||e.length===0)return[];let n=0,r=0;for(let o=e.length-1;o>=0;o--)if(e[o]?.type==="user"&&(n++,n>t)){r=o+1;break}return e.slice(r)}i(Jv,"sliceHistoryToRecentRounds");function Eg(e,t,n=0){if(!t||t<=0)return e;let r=Math.max(0,n),o=Math.max(0,e.length-r),s=Math.max(0,o-t);return e.slice(s,o)}i(Eg,"getVisibleTranscriptRows");function Qv(e,t,n){if(!t||!n||n<=0)return 0;let r=Wi(e),o=e.find(d=>d.key===t);if(!o||o.rows.length===0)return 0;let s=o.rows[0]?.key,a=r.findIndex(d=>d.key===s);if(a===-1)return 0;let c=Math.max(0,a-Math.floor(n/3)),l=Math.min(r.length,c+n);return Math.max(0,r.length-l)}i(Qv,"resolveScrollOffsetForTranscriptItem");function Zv(e,t){if(t)switch(t){case"warning":return e.colors.warning;case"info":return e.colors.info;case"hint":return e.colors.hint;default:return e.colors[t]}}i(Zv,"resolveTranscriptColor");var op="__transcript_hidden_divider__";function eb(e,t){let n=e===1?"message":"messages";return{id:op,type:"info",timestamp:t?Math.max(0,t-1):0,text:`${e} earlier ${n} hidden \u2014 press Ctrl+E to show all`,icon:"\u2191"}}i(eb,"buildTranscriptHiddenDivider");function Mg(e){return e.id===op}i(Mg,"isTranscriptHiddenDivider");var tb=new Mi(500);function H1(e){let t=dn(e),n=[],r=[],o=0,s=0;for(let a of t)n.push(o),r.push(s),o+=a.length,s+=of(a);return{graphemes:t,codeUnitOffsets:n,visualOffsets:r,length:t.length,displayWidth:s}}i(H1,"buildTranscriptTextMetrics");function vl(e){let t=tb.get(e);if(t)return t;let n=H1(e);return tb.set(e,n),n}i(vl,"getTranscriptTextMetrics");function jo(e){return vl(e).length}i(jo,"getTranscriptTextLength");function nb(e){return vl(e).displayWidth}i(nb,"getTranscriptTextDisplayWidth");function ip(e,t){let n=vl(e),r=Math.max(0,Math.min(n.length-1,t));return n.graphemes[r]??""}i(ip,"charAtTranscriptText");function Ta(e,t,n){let r=vl(e),o=Math.max(0,Math.min(r.length,Math.floor(t))),s=typeof n=="number"?Math.max(o,Math.min(r.length,Math.floor(n))):r.length;return r.graphemes.slice(o,s).join("")}i(Ta,"sliceTranscriptText");function rb(e,t){let n=vl(e),r=Math.max(0,Math.floor(t));if(r<=0||n.length===0)return 0;for(let o=0;o<n.length;o+=1){let s=n.visualOffsets[o]??0,a=o+1<n.length?n.visualOffsets[o+1]??n.displayWidth:n.displayWidth;if(r<a||r===s)return o}return n.length}i(rb,"resolveTranscriptTextIndexAtVisualColumn");function sp(e){return new Date(e).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"})}i(sp,"formatTimestamp");function W1(e,t){let n=e.split(`
60
+ `),r=n.slice(0,t),o=n.length>t;return{lines:r,hasMore:o}}i(W1,"truncateLines");function F1(e){switch(e){case W.Scheduled:return"\u25CB";case W.Validating:return"\u25D0";case W.AwaitingApproval:return"\u23F8";case W.Executing:return"\u25CF";case W.Success:return"\u2713";case W.Error:return"\u2717";case W.Cancelled:return"\u2298";default:return"?"}}i(F1,"getToolStatusIcon");function j1(e,t){switch(e){case W.Scheduled:case W.Validating:return t.colors.dim;case W.AwaitingApproval:return t.colors.accent;case W.Executing:return t.colors.primary;case W.Success:return t.colors.success;case W.Error:return t.colors.error;case W.Cancelled:return t.colors.dim;default:return t.colors.text}}i(j1,"getToolStatusColor");var U1=Pn(({item:e,theme:t})=>{let n=Dr(()=>Zf(e.text),[e.text]);return Ye(k,{flexDirection:"column",marginBottom:1,children:[Ye(k,{children:[be(v,{color:t.colors.primary,bold:!0,children:"You"}),Ye(v,{dimColor:!0,children:[" [",sp(e.timestamp),"]"]})]}),be(k,{marginLeft:2,children:be(v,{color:t.colors.text,children:n})})]})}),G1=Pn(({item:e,theme:t,maxLines:n})=>{let r=e.compactText??e.text,{lines:o,hasMore:s}=W1(r,n);return Ye(k,{flexDirection:"column",marginBottom:1,children:[Ye(k,{children:[be(v,{color:t.colors.secondary,bold:!0,children:"Assistant"}),e.isStreaming&&Ye(Ag,{children:[be(v,{children:" "}),be(Ln,{color:t.colors.accent})]}),Ye(v,{dimColor:!0,children:[" [",sp(e.timestamp),"]"]})]}),Ye(k,{marginLeft:2,flexDirection:"column",children:[o.map((a,c)=>be(v,{color:t.colors.text,children:a||" "},c)),s&&Ye(v,{dimColor:!0,children:["... (",r.split(`
61
+ `).length-n," more lines)"]})]})]})}),K1=Pn(({item:e,theme:t})=>Ye(k,{flexDirection:"column",marginBottom:1,children:[Ye(k,{children:[be(v,{color:t.colors.dim,bold:!0,children:"System"}),Ye(v,{dimColor:!0,children:[" [",sp(e.timestamp),"]"]})]}),be(k,{marginLeft:2,children:be(v,{dimColor:!0,children:e.text})})]})),V1=Pn(({tool:e,count:t=1,theme:n})=>{let r=F1(e.status),o=j1(e.status,n);return Ye(k,{flexDirection:"column",marginLeft:2,children:[Ye(k,{children:[Ye(v,{color:o,children:[r," "]}),be(v,{color:n.colors.text,bold:!0,children:Cl({tool:e,count:t})})]}),e.error&&be(k,{marginLeft:2,children:be(v,{color:n.colors.error,children:e.error})})]})}),z1=Pn(({item:e,theme:t})=>{let n=Jf(e.tools);return Ye(k,{flexDirection:"column",marginBottom:1,children:[Ye(k,{children:[be(v,{color:t.colors.accent,bold:!0,children:"Tools"}),Ye(v,{dimColor:!0,children:[" [",sp(e.timestamp),"]"]})]}),n.map(r=>be(V1,{tool:r.tool,count:r.count,theme:t},`${r.tool.id}-${r.count}`))]})}),X1=Pn(({item:e,theme:t})=>Ye(k,{flexDirection:"column",marginBottom:1,children:[be(k,{children:be(v,{color:t.colors.thinking,italic:!0,children:"Thinking"})}),be(k,{marginLeft:2,children:be(v,{color:t.colors.thinking,italic:!0,children:e.compactText??e.text})})]})),Y1=Pn(({item:e,theme:t})=>Ye(k,{flexDirection:"column",marginBottom:1,children:[be(k,{children:Ye(v,{color:t.colors.error,bold:!0,children:["\u2717"," Error"]})}),be(k,{marginLeft:2,children:be(v,{color:t.colors.error,children:e.text})})]})),q1=Pn(({item:e,theme:t})=>be(k,{flexDirection:"column",marginBottom:1,children:Ye(v,{color:t.colors.text,children:[be(v,{color:t.colors.accent,bold:!0,children:e.icon??">"}),be(v,{children:" "}),e.compactText??e.text]})})),J1=Pn(({item:e,theme:t})=>be(k,{flexDirection:"column",marginBottom:e.tightSpacing?0:1,children:Ye(v,{color:t.colors.info,children:[Ye(v,{bold:!0,children:[e.icon??"\u2139"," "]}),e.compactText??e.text]})})),Q1=Pn(({item:e,theme:t})=>Ye(k,{flexDirection:"column",marginBottom:1,children:[be(k,{children:Ye(v,{color:t.colors.hint,bold:!0,children:["\u{1F4A1}"," Hint"]})}),be(k,{marginLeft:2,children:be(v,{dimColor:!0,children:e.text})})]})),ib=Pn(({item:e,theme:t,maxLines:n=1e3})=>{let r=Dr(()=>se("dark"),[]),o=t??r;switch(e.type){case"user":return be(U1,{item:e,theme:o});case"assistant":return be(G1,{item:e,theme:o,maxLines:n});case"system":return be(K1,{item:e,theme:o});case"tool_group":return be(z1,{item:e,theme:o});case"thinking":return be(X1,{item:e,theme:o});case"error":return be(Y1,{item:e,theme:o});case"event":return be(q1,{item:e,theme:o});case"info":return be(J1,{item:e,theme:o});case"hint":return be(Q1,{item:e,theme:o});default:return be(k,{children:be(v,{dimColor:!0,children:"Unknown item type"})})}});function Z1(e,t){if(e.theme!==t.theme||(e.animateSpinners??!0)!==(t.animateSpinners??!0)||(e.selectedItem??!1)!==(t.selectedItem??!1))return!1;let n=e.row,r=t.row;if(n!==r){if(n.key!==r.key||n.text!==r.text||n.color!==r.color||n.bold!==r.bold||n.italic!==r.italic||n.indent!==r.indent||n.spinner!==r.spinner||n.itemId!==r.itemId)return!1}let o=e.selectionRange,s=t.selectionRange;return o===s?!0:!o||!s?!1:o.start===s.start&&o.end===s.end}i(Z1,"areTranscriptRowPropsEqual");var sb=Pn(({row:e,theme:t,animateSpinners:n=!0,selectedItem:r=!1,selectionRange:o})=>{let s=Zv(t,e.color),a=e.text===" "?"":e.text,c=a||" ",l=o&&a?Ta(a,o.start,o.end):"",d=o&&a?Ta(a,0,o.start):a,f=o&&a?Ta(a,o.end):"",p=r&&!o,h=!p&&e.color==="dim",g={bold:e.bold||p,italic:e.italic,dimColor:h};return Ye(k,{marginLeft:e.indent??0,children:[e.spinner&&n&&Ye(Ag,{children:[be(Ln,{color:t.colors.accent,theme:t}),be(v,{children:" "})]}),be(v,{color:p?t.colors.accent:s,...g,children:o&&a?Ye(Ag,{children:[d?be(v,{color:p?t.colors.accent:s,...g,children:d}):null,be(v,{backgroundColor:t.colors.accent,color:t.colors.background,bold:!0,italic:e.italic,children:l}),f?be(v,{color:p?t.colors.accent:s,...g,children:f}):null]}):c})]})},Z1),_g=Pn(({section:e,theme:t,animateSpinners:n=!0})=>be(k,{flexDirection:"column",children:e.rows.map(r=>be(sb,{row:r,theme:t,animateSpinners:n},r.key))})),Uo=i(({items:e,isLoading:t=!1,maxLines:n=1e3,isThinking:r=!1,thinkingCharCount:o=0,thinkingContent:s="",streamingResponse:a="",currentTool:c,activeToolCalls:l,toolInputCharCount:d=0,toolInputContent:f="",iterationHistory:p=[],currentIteration:h=1,isCompacting:g=!1,agentMode:C,managedPhase:b,managedHarnessProfile:T,managedWorkerTitle:S,managedRound:w,managedMaxRounds:M,managedGlobalWorkBudget:O,managedBudgetUsage:A,managedBudgetApprovalRequired:N,lastLiveActivityLabel:X,liveStatusLines:K,viewportRows:q,viewportWidth:x,scrollOffset:Se=0,animateSpinners:ee=!0,windowed:H=!1,showFullThinking:E=!1,showDetailedTools:Z=!1,showAllContent:B=!1,showLiveProgressRows:le=!0,selectedItemId:ue,expandedItemKeys:he,onMetricsChange:Te,onVisibleRowsChange:pe,rendererWindow:Ie,selectedTextRanges:Fe,transcriptModel:Q,visibleRowsOverride:de})=>{let we=Dr(()=>se("dark"),[]),{stdout:st}=_r(),yt=x??st?.columns??80,je=Dr(()=>Q??rp({items:e,viewportWidth:yt,isLoading:t,maxLines:n,isThinking:r,thinkingCharCount:o,thinkingContent:s,streamingResponse:a,currentTool:c,activeToolCalls:l,toolInputCharCount:d,toolInputContent:f,iterationHistory:p,currentIteration:h,isCompacting:g,managedAgentMode:C,managedPhase:b,managedHarnessProfile:T,managedWorkerTitle:S,managedRound:w,managedMaxRounds:M,managedGlobalWorkBudget:O,managedBudgetUsage:A,managedBudgetApprovalRequired:N,lastLiveActivityLabel:X,liveStatusLines:K,windowed:H,showFullThinking:E,showDetailedTools:Z,showAllContent:B,showLiveProgressRows:le,expandedItemKeys:he}),[Q,e,yt,t,n,r,o,s,a,c,l,d,f,p,h,g,C,b,T,S,w,M,O,A,N,X,K,H,E,Z,B,le,he]),J=je.staticSections,me=je.rows,Me=je.previewRows,xe=Dr(()=>[...me,...Me],[Me,me]),ut=!(xe.length>0)&&e.length===0&&!t,sn=Dr(()=>H||Ie||de?xe:me,[xe,Ie,me,de,H]),Ve=Dr(()=>de||Yv(sn,{viewportTop:Ie?Math.max(0,Ie.viewportTop):void 0,viewportHeight:Ie?Math.max(0,Ie.viewportHeight):void 0,start:void 0,end:void 0,viewportRows:q,scrollOffset:Se,windowed:H}),[Ie,Se,q,de,H,sn]),Et=Dr(()=>de||H||Ie?Ve:xe,[xe,Ie,Ve,de,H]),P=Dr(()=>xe,[xe]),G=Ie?Math.max(0,Ie.viewportHeight):q;return ob(()=>{Te?.({scrollHeight:xe.length,viewportHeight:Ie?Math.max(0,Ie.viewportHeight):G??xe.length})},[xe.length,G,Te,Ie]),ob(()=>{pe?.({rows:Et,allRows:P})},[P,pe,Et]),ut?be(k,{paddingY:1,children:be(v,{dimColor:!0,children:"No messages yet. Start typing to begin."})}):Ye(k,{flexDirection:"column",children:[!H&&J.length>0&&be(la,{items:J,children:i(z=>be(_g,{section:z,theme:we,animateSpinners:ee},z.key),"children")}),Et.map(z=>be(sb,{row:z,theme:we,animateSpinners:ee,selectedItem:ue?z.key.startsWith(`${ue}-`):!1,selectionRange:Fe?.get(z.key)},z.key))]})},"MessageList");var ab=i(({role:e,content:t})=>{let n=Dr(()=>se("dark"),[]),r={user:n.colors.primary,assistant:n.colors.secondary,system:n.colors.dim}[e];return Ye(k,{flexDirection:"column",marginBottom:1,children:[be(v,{color:r,bold:!0,children:e==="user"?">":e==="assistant"?"<":"#"}),be(v,{children:t})]})},"SimpleMessageDisplay");import{jsx as Pg,jsxs as up}from"react/jsx-runtime";import gD,{useMemo as $g}from"react";function bl(e,t){if(t>=100)return"capacity-driven";let n=Math.round(e*t/100/1e3);return`@ ${t}% (${n}k)`}i(bl,"formatCompactionPolicy");function cb(e,t,n=0){let r=Mw(e,n);return t>=100?r:Math.min(r,Math.floor(e*t/100))}i(cb,"resolveCompactionThresholdTokens");var eD="\u{1F504}",tD="\u2588",nD="\u2592",rD="\u2192",oD=" \xB7 ";function iD(e){switch(e){case"auto":return"auto";case"balanced":return"medium";case"quick":return"low";case"deep":return"high";case"off":return"off";default:return e.toLowerCase()}}i(iD,"formatReasoningModeShort");function sD(e){if(e)return e==="none"?"off":e}i(sD,"formatEffortShort");function aD(e){let t=e.split("->"),n=t[0]??e;if((t.length>1?t[t.length-1]:n)==="off")return"dim";switch(n){case"off":return"dim";case"low":return"green";case"medium":return"yellow";case"high":case"xhigh":case"max":return"magenta";default:return"cyan"}}i(aD,"getReasoningColor");function lb(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}i(lb,"formatTokenCount");function cD(e){let t=Math.min(10,Math.max(0,Math.round(e/10))),n=10-t;return`${tD.repeat(t)}${nD.repeat(n)}`}i(cD,"createMiniProgressBar");function lD(e,t,n,r){if(t===0)return"green";let o=cb(t,n,r);return e>=o?"red":e>=o*(2/3)?"yellow":"green"}i(lD,"getContextColor");function uD(e){switch(e.toLowerCase()){case"plan":return"blue";case"accept-edits":return"green";case"auto":case"auto-in-project":return"warning";default:return"magenta"}}i(uD,"getPermissionModeColor");function dD(e,t){let n=$d(e);return!(e==="auto"||e==="auto-in-project")||!t?n:`${n}${t==="llm"?"[LLM]":"[RULES]"}`}i(dD,"buildPermissionModeText");function fD(e){let t=e.toLowerCase();return t.includes("read")||t.includes("view")||t.includes("search")||t.includes("list")||t.includes("find")||t.includes("browser")||t.includes("get")?"Read":t.includes("write")||t.includes("replace")||t.includes("edit")||t.includes("modify")?"Edit":t.includes("command")||t.includes("bash")||t.includes("terminal")?"Bash":t.includes("ask")||t.includes("notify")||t.includes("user")||t.includes("question")?"Ask":t.includes("think")||t.includes("reason")?"Think":e}i(fD,"formatToolAction");function ap(e,t){return t&&t>0?`${e} (${t} chars)`:e}i(ap,"formatThinkingStatus");function cp(e,t,n){let r=fD(e);return n?`${r} (${n}...)`:t&&t>0?`${r} (${t} chars)`:r}i(cp,"formatToolStatus");function Lg({activeToolCount:e,currentTool:t,isThinkingActive:n,thinkingCharCount:r,isCompacting:o,toolInputCharCount:s,toolInputContent:a,managedPhase:c,managedHarnessProfile:l,managedWorkerTitle:d,managedIdleWaiting:f,managedIdleWaitingPendingCount:p}){let h=e&&e>0?`${e} tool${e===1?"":"s"} running`:void 0;if(o)return"Compacting";if(c==="routing")return h?`Routing - ${h}`:t?`Routing - ${cp(t,s,a)}`:n?ap("Routing",r):"Routing";if(c==="preflight"){let g=d??"Scout";return h?`${g} - ${h}`:t?`${g} - ${cp(t,s,a)}`:n?ap(g,r):g}if(c==="verifying")return"Verifying";if(l){let g=d??"Worker";if(f===!0&&!h&&!t&&!n){let C=p??0,b=C>1?`waiting for ${C} children`:C===1?"waiting for 1 child":"idle - resuming";return`${g} - ${b}`}return h?`${g} - ${h}`:t?`${g} - ${cp(t,s,a)}`:n?ap(g,r):g}if(h)return h;if(t)return cp(t,s,a);if(n)return ap("Thinking",r)}i(Lg,"buildBusyStatusText");function pD({agentMode:e,managedPhase:t,managedHarnessProfile:n,managedRound:r,managedMaxRounds:o,managedGlobalWorkBudget:s,managedBudgetUsage:a,currentIteration:c,maxIter:l}){let d=[];return t==="routing"||t==="preflight"||(n&&r&&o&&r>1&&d.push({label:"Round",current:r,max:o}),n&&s&&typeof a=="number"?d.push({label:"Work",current:a,max:s}):e==="sa"&&c&&l&&d.push({label:"Iter",current:c,max:l})),d}i(pD,"resolveIterationSegments");function mD(e){if(e.length!==0)return`${eD} ${e.map(t=>`${t.label} ${t.current}/${t.max}`).join(oD)}`}i(mD,"formatLabeledIterationStatus");function hD(e){let{sessionId:t,permissionMode:n,agentMode:r,provider:o,model:s,tokenUsage:a,currentTool:c,activeToolCount:l,thinking:d,isThinkingActive:f,thinkingCharCount:p,reasoningMode:h=d?"auto":"off",effort:g,reasoningEffortLabel:C,isCompacting:b,toolInputCharCount:T,toolInputContent:S,currentIteration:w,maxIter:M,contextUsage:O,learning:A,showBusyStatus:N=!0,managedPhase:X,managedHarnessProfile:K,managedWorkerTitle:q,managedRound:x,managedMaxRounds:Se,managedGlobalWorkBudget:ee,managedBudgetUsage:H,managedIdleWaiting:E,managedIdleWaitingPendingCount:Z}=e,B=[{id:"agent-mode",text:`KodaX - ${r.toUpperCase()}`,color:"primary",bold:!0},{id:"permission-mode",text:dD(n,e.autoModeEngine),color:uD(n)}],le=C??sD(g)??iD(h);B.push({id:"reasoning-mode",text:le,color:aD(le)});let ue=pD({agentMode:r,managedPhase:X,managedHarnessProfile:K,managedRound:x,managedMaxRounds:Se,managedGlobalWorkBudget:ee,managedBudgetUsage:H,currentIteration:w,maxIter:M}),he=mD(ue);if(he){let pe=Math.max(...ue.map(Fe=>Fe.current/Fe.max)),Ie="green";pe>=.8?Ie="red":pe>=.5&&(Ie="yellow"),B.push({id:"iteration-status",text:he,color:Ie})}B.push({id:"session-id",text:t,color:"dim"});let Te=N?Lg({activeToolCount:l,currentTool:c,isThinkingActive:f,thinkingCharCount:p,isCompacting:b,toolInputCharCount:T,toolInputContent:S,managedPhase:X,managedHarnessProfile:K,managedWorkerTitle:q,managedIdleWaiting:E,managedIdleWaitingPendingCount:Z}):void 0;if(Te&&B.push({id:"busy-status",text:Te,color:"dim"}),B.push({id:"provider-model",text:`${o}/${s}`,color:"secondary"}),O&&O.contextWindow!==0){let pe=Math.round(O.currentTokens/O.contextWindow*100),Ie=lb(O.currentTokens),Fe=lb(O.contextWindow),Q=cD(pe);B.push({id:"context-usage",text:`${Ie}/${Fe} ${Q} ${pe}%`,color:lD(O.currentTokens,O.contextWindow,O.triggerPercent,O.reservedResponseTokens)})}if(A&&(A.ready>0||A.newlyActive>0||A.attention>0)){let pe=[...A.ready>0?[`${A.ready}R`]:[],...A.newlyActive>0?[`${A.newlyActive}N`]:[],...A.attention>0?[`${A.attention}!`]:[]];B.push({id:"learning",text:`Learn:${pe.join("/")}`,color:A.attention>0||A.ready>0?"yellow":"cyan",tone:A.attention>0||A.ready>0?"warning":"accent"})}return a&&B.push({id:"token-usage",text:`${a.input}${rD}${a.output} (${a.total})`,color:"dim"}),B}i(hD,"buildStatusBarSegments");function lp(e){let t=hD(e);return{text:t.map(n=>n.text).join(" | "),segments:t}}i(lp,"buildStatusBarViewModel");function yD(e,t){if(e.color)return t.colors[e.color]??e.color;switch(e.tone){case"primary":return t.colors.primary;case"accent":return t.colors.accent;case"success":return t.colors.success;case"warning":return t.colors.warning;case"error":return t.colors.error;default:return t.colors.dim}}i(yD,"resolveViewModelSegmentColor");var Fi=i(({viewModel:e,...t})=>{let n=$g(()=>se("dark"),[]),r=$g(()=>e??lp(t),[t,e]);return Pg(k,{paddingX:1,children:r.segments.map((o,s)=>up(gD.Fragment,{children:[Pg(v,{color:yD(o,n),bold:o.bold,children:o.text}),s<r.segments.length-1?Pg(v,{dimColor:!0,children:" | "}):null]},o.id))})},"StatusBar"),ub=i(({permissionMode:e,provider:t,model:n})=>{let r=$g(()=>se("dark"),[]);return up(k,{children:[up(v,{color:r.colors.primary,bold:!0,children:["[",e,"]"]}),up(v,{dimColor:!0,children:[" ",t,"/",n]})]})},"SimpleStatusBar");import{jsx as Go,jsxs as pp}from"react/jsx-runtime";import{useState as Dg,useCallback as dp,useMemo as db}from"react";function fp(){return`${Date.now()}-${Math.random().toString(36).slice(2,9)}`}i(fp,"generateId");function xD(e){let t={id:e.id,timestamp:e.timestamp};switch(e.role){case"user":return{...t,type:"user",text:e.content};case"assistant":return{...t,type:"assistant",text:e.content};case"system":return{...t,type:"system",text:e.content};default:return{...t,type:"info",text:e.content}}}i(xD,"messageToHistoryItem");var fb=i(({model:e,provider:t,onSubmit:n,permissionMode:r="accept-edits",agentMode:o="ama"})=>{let{stdout:s}=_r(),a=db(()=>se("dark"),[]),[c,l]=Dg({messages:[],isLoading:!1,sessionId:fp()}),[d,f]=Dg(null),[p,h]=Dg(),g=dp(async S=>{if(!S.trim())return;let w={id:fp(),role:"user",content:S,timestamp:Date.now()};l(M=>({...M,messages:[...M.messages,w],isLoading:!0}));try{await n(S)}catch(M){let O={id:fp(),role:"system",content:`Error: ${M instanceof Error?M.message:"Unknown error"}`,timestamp:Date.now()};l(A=>({...A,messages:[...A.messages,O],isLoading:!1}))}finally{l(M=>({...M,isLoading:!1}))}},[n]),C=dp((S,w)=>{let M={id:fp(),role:S,content:w,timestamp:Date.now()};l(O=>({...O,messages:[...O.messages,M]}))},[]),b=dp((S,w)=>{f({input:S,output:w,total:S+w})},[]),T=dp(S=>{h(S)},[]);return pp(k,{flexDirection:"column",children:[Go(k,{flexGrow:1,flexDirection:"column",overflow:"hidden",children:Go(Uo,{items:c.messages.map(xD),isLoading:c.isLoading})}),Go(k,{flexShrink:0,children:Go(Hi,{onSubmit:i(S=>g(S.fullText),"onSubmit"),prompt:">",focus:!c.isLoading})}),Go(k,{flexShrink:0,children:Go(Fi,{sessionId:c.sessionId,permissionMode:r,agentMode:o,provider:t,model:e,tokenUsage:d??void 0,currentTool:p})})]})},"App"),pb=i(({model:e,provider:t,onInput:n})=>{let r=db(()=>se("dark"),[]);return pp(k,{flexDirection:"column",children:[pp(k,{marginBottom:1,children:[Go(v,{color:r.colors.primary,bold:!0,children:"KodaX CLI"}),pp(v,{dimColor:!0,children:[" ","- ",t,"/",e]})]}),Go(Hi,{onSubmit:i(o=>n(o.fullText),"onSubmit"),placeholder:"Type a message...",prompt:">"})]})},"SimpleApp");import{jsx as SD}from"react/jsx-runtime";var mp=i(({top:e,topRows:t=0,transcript:n,renderTranscriptWindow:r,footer:o,overlay:s,stickyHeader:a,jumpToLatest:c,width:l,scrollTop:d=0,scrollHeight:f=0,viewportHeight:p=0,stickyScroll:h=!0,scrollRef:g,onScrollTopChange:C,onStickyChange:b,onWindowChange:T,overscanRows:S})=>SD(og,{width:l,top:e,topRows:t,stickyHeader:a,jumpToLatest:c,scrollable:n,renderScrollableWindow:r,overlay:s,bottom:o,scrollTop:d,scrollHeight:f,viewportHeight:p,stickyScroll:h,scrollRef:g,onScrollTopChange:C,onStickyChange:b,onWindowChange:T,overscanRows:S}),"FullscreenTranscriptLayout");import{jsx as mb}from"react/jsx-runtime";function Ca({copyMessage:e=!1,copyToolInput:t=!1,copyOnSelect:n=!1,toggleDetail:r=!1,selectionNavigation:o=!1,matchNavigation:s=!1,dismissAction:a}){let c=[];return o&&c.push("\u2190/\u2192 browse"),e&&c.push("C copy"),t&&c.push("I tool input"),n&&c.push("Mouse select copies"),r&&c.push("V details"),s&&c.push("N/Shift+N matches"),a==="clear"&&c.push("Esc clear"),a==="close-search"&&c.push("Esc close search"),c.length>0?c.join(" | "):void 0}i(Ca,"buildMessageActionsText");var hp=i(({copyMessage:e=!1,copyToolInput:t=!1,copyOnSelect:n=!1,toggleDetail:r=!1,selectionNavigation:o=!1,matchNavigation:s=!1,dismissAction:a})=>{let c=se("dark"),l=Ca({copyMessage:e,copyToolInput:t,copyOnSelect:n,toggleDetail:r,selectionNavigation:o,matchNavigation:s,dismissAction:a});return l?mb(k,{paddingX:1,children:mb(v,{color:c.colors.dim,children:l})}):null},"MessageActions");import{jsx as hb}from"react/jsx-runtime";function Og({itemSummary:e,itemKind:t,position:n,detailState:r="compact"}){if(!e||!n||n.total<=0)return;let o=r==="expanded"?"expanded":"compact",s=t?`${t}: `:"";return`Selected item ${n.current}/${n.total}: ${s}${e} | ${o}`}i(Og,"buildMessageSelectorText");var gb=i(({itemSummary:e,itemKind:t,position:n,detailState:r="compact"})=>{let o=se("dark"),s=Og({itemSummary:e,itemKind:t,position:n,detailState:r});return s?hb(k,{paddingX:1,children:hb(v,{color:o.colors.dim,children:s})}):null},"MessageSelector");import{jsx as Ia,jsxs as wD}from"react/jsx-runtime";import{useMemo as yb}from"react";function gp(e,t){return Math.max(1,fn(e.length>0?e.split(`
62
+ `):[""],Math.max(1,t),0,0).visualLines.length)}i(gp,"countWrappedRows");var yp=i(({browse:e,selection:t,search:n,chromeMode:r="inline",...o})=>{let s=r==="inline",a=t?.itemSummary,c=t?.position,l=t?.itemKind,d=t?.detailState??"compact",f=t?.copyCapabilities,p=f?.message??!1,h=f?.toolInput??!1,g=f?.copyOnSelect??!1,C=t?.toggleDetail??!1,b=t?.navigationCapabilities?.selection??!1,T=n?.statusText,S=n?.matches?.length??0,w=n?.surface,M=o.viewportWidth??80,O=Math.max(1,M-2),A=n?.query?.trim()?"close-search":a||p||h||C||b?"clear":void 0,N=Og({itemSummary:a,itemKind:l,position:c,detailState:d}),X=yb(()=>Ca({copyMessage:p,copyToolInput:h,copyOnSelect:g,toggleDetail:C,selectionNavigation:b,matchNavigation:!!T&&S>0,dismissAction:A}),[p,h,b,C,A,S,T,g]),K=yb(()=>{if(!s)return 0;let x=0;return e?.hintText&&(x+=gp(e.hintText,O)),N&&(x+=gp(N,O)),X&&(x+=gp(X,O)),T&&(x+=gp(T,O)),w&&(x+=1),x},[X,e?.hintText,O,s,T,w,N]),q=typeof o.viewportRows=="number"?Math.max(1,o.viewportRows-K):o.viewportRows;return wD(k,{flexDirection:"column",flexGrow:o.windowed?0:1,children:[s&&e?.hintText?Ia(k,{paddingX:1,children:Ia(v,{dimColor:!0,children:e.hintText})}):null,null,s&&(p||h||g||C||b||S>0)?Ia(hp,{copyMessage:p,copyToolInput:h,copyOnSelect:g,toggleDetail:C,selectionNavigation:b,matchNavigation:!!T&&S>0,dismissAction:A}):null,s&&T?Ia(k,{paddingX:1,children:Ia(v,{dimColor:!0,children:T})}):null,s?w:null,Ia(Uo,{...o,viewportRows:q})]})},"TranscriptViewport");import{jsx as xb}from"react/jsx-runtime";var xp=i(e=>xb(k,{flexDirection:"column",children:xb(Hi,{...e})}),"PromptComposer");import{jsx as ji,jsxs as Sp}from"react/jsx-runtime";import Sb from"react";var wb=" \xB7 ",Rl=i(({items:e=[]})=>{let t=e.filter(r=>r.label.trim().length>0),n=se("dark");return t.length===0?null:ji(k,{flexGrow:1,children:t.map((r,o)=>Sp(Sb.Fragment,{children:[ji(v,{color:r.accent?n.colors.accent:n.colors.dim,bold:r.accent,children:r.label}),o<t.length-1?ji(v,{dimColor:!0,children:wb}):null]},r.id))})},"PromptFooterLeftSide"),kl=i(({items:e=[]})=>{let t=e.filter(r=>r.label.trim().length>0),n=se("dark");return t.length===0?null:ji(k,{justifyContent:"flex-end",children:t.map((r,o)=>Sp(Sb.Fragment,{children:[ji(v,{color:r.accent?n.colors.primary:n.colors.dim,bold:r.accent,children:r.label}),o<t.length-1?ji(v,{dimColor:!0,children:wb}):null]},r.id))})},"PromptFooterRightSide"),El=i(({left:e,right:t,queued:n,stashNotice:r,notifications:o,inlineNotices:s,activityBar:a,todoSurface:c,composer:l,inlineSuggestions:d,helpSurface:f,taskBar:p,statusLine:h,inlineDialogs:g})=>Sp(k,{flexDirection:"column",children:[e||t?Sp(k,{paddingX:1,children:[ji(k,{flexGrow:1,children:e}),t]}):null,n,r,o,s,a,c,l,d,g,f,p,h]}),"PromptFooter");import{jsx as Ng,jsxs as Tb}from"react/jsx-runtime";var wp=i(({sections:e,title:t="Help"})=>{let n=se("dark"),r=e.filter(o=>o.items.length>0);return r.length===0?null:Tb(k,{flexDirection:"column",borderStyle:"round",borderColor:n.colors.accent,paddingX:1,marginTop:1,children:[Ng(v,{color:n.colors.accent,bold:!0,children:t}),r.map(o=>Tb(k,{flexDirection:"column",children:[Ng(v,{color:n.colors.primary,bold:!0,children:o.title}),Ng(v,{dimColor:!0,children:o.items.map(s=>s.label).join(" | ")})]},o.id))]})},"PromptHelpMenu");import{jsx as Cb}from"react/jsx-runtime";import{createContext as vb,useContext as bb,useReducer as TD,useCallback as qt,useMemo as CD}from"react";var ID=150;function Al(){return`${Date.now()}-${Math.random().toString(36).slice(2,9)}`}i(Al,"generateId");function Ml(e){let t=e.timestamp;return{...e,id:Al(),timestamp:t!==void 0&&Number.isFinite(t)&&t>=0?t:Date.now()}}i(Ml,"createHistoryItem");function Ib(e){if(e.length<=ID)return e;let t=0,n=0;for(let r=e.length-1;r>=0;r--)if(e[r]?.type==="user"&&(t++,t>50)){n=r;break}return n>0?e.slice(n):e}i(Ib,"trimHistoryToRounds");function Bg(e,t){return e.filter(n=>n.type==="user"&&typeof n.id=="string"&&!t.has(n.id))}i(Bg,"selectUncommittedLedgerUserItems");function Tp(e){return{...e,id:Al(),startTime:Date.now()}}i(Tp,"createToolCall");function vD(e,t){switch(t.type){case"SET_STREAMING_STATE":return{...e,streamingState:t.payload};case"APPEND_TO_RESPONSE":return{...e,currentResponse:e.currentResponse+t.payload};case"CLEAR_RESPONSE":return{...e,currentResponse:""};case"ADD_HISTORY_ITEM":return{...e,history:Ib([...e.history,t.payload])};case"BULK_ADD_HISTORY_ITEMS":return{...e,history:Ib([...e.history,...t.payload])};case"UPDATE_HISTORY_ITEM":return{...e,history:e.history.map(n=>n.id===t.payload.id?{...n,...t.payload.updates}:n)};case"CLEAR_HISTORY":return{...e,history:[]};case"ADD_TOOL_CALL":return{...e,pendingToolCalls:[...e.pendingToolCalls,t.payload]};case"UPDATE_TOOL_CALL":return{...e,pendingToolCalls:e.pendingToolCalls.map(n=>n.id===t.payload.id?{...n,...t.payload.updates}:n)};case"CLEAR_TOOL_CALLS":return{...e,pendingToolCalls:[]};case"SET_SESSION_ID":return{...e,sessionId:t.payload};case"SET_PROVIDER":return{...e,provider:t.payload};case"SET_MODEL":return{...e,model:t.payload};case"SET_TOKEN_USAGE":return{...e,tokenUsage:t.payload};case"SET_ERROR":return{...e,error:t.payload};case"SET_LOADING":return{...e,isLoading:t.payload};case"RESET_STATE":return{...Pd,sessionId:e.sessionId};default:return e}}i(vD,"uiReducer");var Rb=vb(null),kb=vb(null);function _l({children:e,initialState:t}){let[n,r]=TD(vD,{...Pd,...t}),o=qt(N=>{r({type:"SET_STREAMING_STATE",payload:N})},[]),s=qt(N=>{r({type:"APPEND_TO_RESPONSE",payload:N})},[]),a=qt(()=>{r({type:"CLEAR_RESPONSE"})},[]),c=qt(N=>{let X=Ml(N);r({type:"ADD_HISTORY_ITEM",payload:X})},[]),l=qt(N=>{N.length!==0&&r({type:"BULK_ADD_HISTORY_ITEMS",payload:N.map(Ml)})},[]),d=qt((N,X)=>{r({type:"UPDATE_HISTORY_ITEM",payload:{id:N,updates:X}})},[]),f=qt(()=>{r({type:"CLEAR_HISTORY"})},[]),p=qt(N=>{let X=Tp(N);return r({type:"ADD_TOOL_CALL",payload:X}),X.id},[]),h=qt((N,X)=>{r({type:"UPDATE_TOOL_CALL",payload:{id:N,updates:X}})},[]),g=qt(()=>{r({type:"CLEAR_TOOL_CALLS"})},[]),C=qt(N=>{r({type:"SET_SESSION_ID",payload:N})},[]),b=qt(N=>{r({type:"SET_MODE",payload:N})},[]),T=qt(N=>{r({type:"SET_PROVIDER",payload:N})},[]),S=qt(N=>{r({type:"SET_MODEL",payload:N})},[]),w=qt(N=>{r({type:"SET_TOKEN_USAGE",payload:N})},[]),M=qt(N=>{r({type:"SET_ERROR",payload:N})},[]),O=qt(N=>{r({type:"SET_LOADING",payload:N})},[]),A=CD(()=>({setStreamingState:o,appendToResponse:s,clearResponse:a,addHistoryItem:c,addHistoryItems:l,updateHistoryItem:d,clearHistory:f,addToolCall:p,updateToolCall:h,clearToolCalls:g,setSessionId:C,setMode:b,setProvider:T,setModel:S,setTokenUsage:w,setError:M,setLoading:O}),[o,s,a,c,l,d,f,p,h,g,C,b,T,S,w,M,O]);return Cb(Rb.Provider,{value:n,children:Cb(kb.Provider,{value:A,children:e})})}i(_l,"UIStateProvider");function va(){let e=bb(Rb);if(!e)throw new Error("useUIState must be used within a UIStateProvider");return e}i(va,"useUIState");function ba(){let e=bb(kb);if(!e)throw new Error("useUIActions must be used within a UIStateProvider");return e}i(ba,"useUIActions");function Hg(){let e=va(),t=ba();return{state:e,actions:t}}i(Hg,"useUI");function Wg(){return se()}i(Wg,"useTheme");import{jsxs as Ko,jsx as Cp,Fragment as bD}from"react/jsx-runtime";import{useMemo as RD}from"react";var kD=80,ED=7,MD={command:">",file:"\u{1F4C4}",history:"\u23F1",argument:"\u2022",snippet:"\u25C7",skill:"\u2605"};function AD(e,t,n){if(t<=n)return{start:0,end:t};let r=Math.floor(n/2),o=e-r,s=o+n;return o<0?(o=0,s=n):s>t&&(s=t,o=t-n),{start:o,end:s}}i(AD,"getVisibleRange");function _D({suggestion:e,isSelected:t,width:n}){let r=Wg(),o=e.icon||e.type&&MD[e.type]||"",s=o?cr(o)+1:0,a=cr(e.displayText||e.text),c=e.description?cr(e.description):0,l=Math.min(a,n-s-2),d=n-s-l-3,f=Math.max(0,d),p=Qs(e.displayText||e.text,l),h=e.description?Qs(e.description,f):"";return Ko(k,{children:[o&&Ko(v,{color:t?r.colors.accent:r.colors.dim,children:[o," "]}),Cp(v,{color:t?r.colors.primary:r.colors.text,bold:t,children:p}),h&&Ko(bD,{children:[Cp(v,{children:" "}),Cp(v,{color:r.colors.dim,children:Qs(e.description||"",f)})]}),t&&Ko(v,{color:r.colors.accent,children:[" ","\u25C0"]})]})}i(_D,"SuggestionItem");function Ll({suggestions:e,selectedIndex:t,visible:n,maxVisible:r=ED,width:o=kD,showCount:s=!1}){let a=Wg();if(!n||e.length===0)return null;let{start:c,end:l}=RD(()=>AD(t,e.length,r),[t,e.length,r]),d=e.slice(c,l);return Ko(k,{flexDirection:"column",marginLeft:2,children:[c>0&&Ko(v,{color:a.colors.dim,children:[" ","\u25B2 ",c," more..."]}),d.map((f,p)=>{let g=c+p===t;return Cp(_D,{suggestion:f,isSelected:g,width:o},f.id)}),l<e.length&&Ko(v,{color:a.colors.dim,children:[" ","\u25BC ",e.length-l," more..."]}),s&&Ko(v,{color:a.colors.dim,children:[t+1,"/",e.length]})]})}i(Ll,"SuggestionsDisplay");import{jsx as Ra,jsxs as LD}from"react/jsx-runtime";var Ip=i(({reserveSpace:e,width:t,hidden:n=!1,mode:r="inline"})=>{let o=Fo(),s=se("dark");if(n)return null;if(!o)return e?Ra(k,{height:8}):null;let{state:a,suggestions:c}=o;return a.visible&&c.length>0?r==="overlay"?LD(k,{flexDirection:"column",borderStyle:"round",borderColor:s.colors.accent,paddingX:1,marginTop:1,children:[Ra(v,{color:s.colors.accent,bold:!0,children:"Suggestions"}),Ra(Ll,{suggestions:c,selectedIndex:a.selectedIndex,visible:a.visible,maxVisible:7,width:Math.max(20,t-6)})]}):Ra(k,{height:8,children:Ra(Ll,{suggestions:c,selectedIndex:a.selectedIndex,visible:a.visible,maxVisible:7,width:Math.max(20,t-2)})}):e?Ra(k,{height:8}):null},"PromptSuggestionsSurface");import{jsxs as ur,jsx as Vn,Fragment as Fg}from"react/jsx-runtime";import PD,{useEffect as $D,useState as DD}from"react";var ka=15,Eb=Math.max(1,ka-2),vp=i(({confirm:e,request:t})=>e?ur(k,{flexDirection:"column",borderStyle:"round",borderColor:"yellow",paddingX:1,marginTop:1,width:"100%",children:[ur(v,{color:"yellow",bold:!0,children:[oe("dialog.confirm")," ",e.prompt]}),e.planContent?Vn(OD,{content:e.planContent}):null,e.instruction?Vn(v,{dimColor:!0,children:e.instruction}):null]}):t?ur(k,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,marginTop:1,width:"100%",children:[t.kind==="select"?ur(Fg,{children:[ur(v,{color:"cyan",bold:!0,children:[oe("dialog.select")," ",t.title]}),(()=>{let n=t.options??[],r=t.visibleSelectOptions??5,o=t.focusedIndex??0,s=n.length,a=0;if(s>r){let d=Math.floor(r/2);a=Math.max(0,Math.min(o-d,s-r))}let c=a,l=Math.max(0,s-a-r);return ur(Fg,{children:[c>0?Vn(v,{dimColor:!0,children:oe("select.more_above",{count:c})}):null,n.slice(a,a+r).map((d,f)=>{let p=a+f,h=p===o,g=t.selectedIndices?.includes(p)??!1,C=h?"\u276F ":" ",b=g?" \u2713":"",T=d.description?` - ${d.description}`:"";return Vn(v,{color:h?"cyan":void 0,dimColor:!h,children:`${C}${d.label}${T}${b}`},`${d.value}-${p}`)}),l>0?Vn(v,{dimColor:!0,children:oe("select.more_below",{count:l})}):null]})})(),Vn(v,{dimColor:!0,children:t.multiSelect?oe("select.multiselect_hint"):oe("select.navigate_hint")})]}):ur(Fg,{children:[ur(v,{color:"cyan",bold:!0,children:[oe("dialog.input")," ",t.prompt]}),t.defaultValue!==void 0?Vn(v,{dimColor:!0,children:`${oe("input.default")} ${t.defaultValue}`}):null,Vn(v,{dimColor:!0,children:`${oe("input.value")} ${t.buffer||oe("input.type_response")}`}),Vn(v,{dimColor:!0,children:oe("select.confirm_hint")})]}),t.error?Vn(v,{color:"red",children:t.error}):null]}):null,"DialogSurface"),OD=i(({content:e})=>{let t=PD.useMemo(()=>e.split(`
63
+ `),[e]),n=t.length,r=n>ka,[o,s]=DD(0);$D(()=>{s(d=>{let f=Math.max(0,n-ka);return d>f?f:d})},[n]),ua((d,f)=>{if(!r)return;let p=Math.max(0,n-ka);f.upArrow?s(h=>Math.max(0,h-1)):f.downArrow?s(h=>Math.min(p,h+1)):f.pageUp?s(h=>Math.max(0,h-Eb)):f.pageDown&&s(h=>Math.min(p,h+Eb))},{isActive:!0});let a=t.slice(o,o+ka),c=o,l=Math.max(0,n-o-ka);return ur(k,{flexDirection:"column",marginTop:1,children:[r&&c>0?ur(v,{dimColor:!0,children:["\u2026 ",c," more line",c===1?"":"s"," above"]}):null,a.map((d,f)=>Vn(v,{children:d},`plan-line-${o+f}`)),r&&l>0?ur(v,{dimColor:!0,children:["\u2026 ",l," more line",l===1?"":"s"," below"]}):null,r?Vn(v,{dimColor:!0,children:"PgUp/PgDn/\u2191\u2193 to scroll"}):null]})},"PlanScrollPanel");import{jsxs as Pl,jsx as ND}from"react/jsx-runtime";function Mb(e){let t=e.replace(/\s+/g," ").trim();return t.length<=72?t:`${t.slice(0,69)}...`}i(Mb,"normalizePendingPreview");function Ab(e){if(e.length===0)return;let t=Mb(e[e.length-1]??"");return e.length===1?`Queued 1 follow-up: ${t} (Esc removes it)`:`Queued ${e.length} follow-ups. Latest: ${t} (Esc removes latest)`}i(Ab,"formatPendingInputsSummary");function jg(e){if(e.length===0)return[];let t=e.length;return e.map((n,r)=>({index:r+1,total:t,preview:Mb(n)}))}i(jg,"formatPendingInputsLines");function _b(e){let t=jg(e);return t.length===0?void 0:[...t.map(o=>`\u23F3 [${o.index}/${o.total}] ${o.preview}`)," \u2191 pull all into editor \xB7 Esc drops latest"].join(`
64
+ `)}i(_b,"formatPendingInputsBudgetText");var bp=i(({pendingInputs:e})=>{let t=jg(e);if(t.length===0)return null;let n=se("dark");return Pl(k,{flexDirection:"column",children:[t.map(r=>Pl(k,{children:[Pl(v,{color:n.colors.hint,children:["\u23F3"," "]}),Pl(v,{color:n.colors.dim,children:["[",r.index,"/",r.total,"] ",r.preview]})]},r.index)),ND(k,{children:Pl(v,{color:n.colors.dim,children:[" ","\u2191 pull all into editor \xB7 Esc drops latest"]})})]})},"QueuedCommandsSurface");import{jsx as Lb}from"react/jsx-runtime";function BD(e,t){switch(e){case"warning":return t.warning;case"accent":return t.accent;default:return t.dim}}i(BD,"resolveNotificationColor");var $l=i(({notifications:e})=>{let t=e.filter(r=>r.text.trim().length>0),n=se("dark");return t.length===0?null:Lb(k,{flexDirection:"column",paddingX:1,children:t.map(r=>Lb(v,{color:BD(r.tone,n.colors),children:r.text},r.id))})},"NotificationsSurface");import{jsx as Pb}from"react/jsx-runtime";var Rp=i(({notices:e})=>{let t=e.filter(r=>r.trim().length>0);if(t.length===0)return null;let n=se("dark");return Pb(k,{flexDirection:"column",paddingX:1,children:t.map((r,o)=>Pb(v,{color:n.colors.dim,children:r},`${r}-${o}`))})},"StatusNoticesSurface");import{jsxs as $b,jsx as HD}from"react/jsx-runtime";var Dl=i(({text:e})=>{let t=e?.trim();if(!t)return null;let n=se("dark");return $b(k,{paddingX:1,children:[$b(v,{color:n.colors.hint,children:["\u22EF"," "]}),HD(v,{color:n.colors.dim,children:t})]})},"StashNotice");import{jsx as Ui,jsxs as WD}from"react/jsx-runtime";function Db({text:e,accent:t=!1,selected:n=!1}){let r=se("dark");return Ui(k,{marginRight:1,children:Ui(v,{color:t?r.colors.accent:r.colors.primary,bold:n||t,children:`[ ${e} ]`})})}i(Db,"Pill");var Ol=i(({items:e,overflowLabel:t,ctaHint:n,showSpinner:r=!1})=>{let o=e.filter(s=>s.label.trim().length>0);return o.length===0&&!t&&!n&&!r?null:WD(k,{flexDirection:"row",paddingX:1,children:[r?Ui(k,{marginRight:1,children:Ui(Ln,{})}):null,o.map(s=>Ui(Db,{text:s.hint?`${s.label} (${s.hint})`:s.label,accent:s.accent,selected:s.selected},s.id)),t?Ui(Db,{text:t}):null,n?Ui(v,{dimColor:!0,children:n}):null]})},"BackgroundTaskBar");import{jsx as Nl,jsxs as VD}from"react/jsx-runtime";import FD from"string-width";var Ug=9,Gg=3,Ob=160,jD={shouldRender:!1,activeCount:0,rows:[]};function Nb(e,t=Ug){let n=FD(e);return n>=t?e:`${e}${" ".repeat(t-n)}`}i(Nb,"padChildActivitySymbol");function Kg(e){let t=e.replace(/\s+/gu," ").trim();return t.length<=Ob?t:`${t.slice(0,Ob-3)}...`}i(Kg,"truncateChildActivityDetail");function kp(e){return!!(e?.liveOnly===!0&&(e.workflowCorrelation||e.childAgentId))}i(kp,"shouldRouteToChildActivity");function Bb(e,t){return!!(e?.liveOnly===!0&&e.workflowCorrelation?.workflowRunId&&t&&e.workflowCorrelation.workflowRunId===t)}i(Bb,"shouldRouteWorkflowLiveOnlyNotice");function Hb(e){return!e.isTranscriptMode&&e.childActivityVisible&&(e.isLoading||e.hasWorkflowLiveSurface)}i(Hb,"shouldShowChildActivitySurface");function Vg(e){let t=e.childAgentId??e.workflowCorrelation?.childAgentId??"child",n=e.workflowCorrelation?.workflowRunId;return n?`${n}:${t}`:t}i(Vg,"childActivityId");function Wb(e){return e.childAgentName??e.childAgentId??e.workflowCorrelation?.childAgentId??"child"}i(Wb,"childActivityLabel");function Fb(e){return e.workflowCorrelation?"workflow":"normal"}i(Fb,"childActivitySource");function jb(e,t){let n=t?.path??t?.pattern??t?.command??t?.preview,r=typeof n=="string"&&n.trim().length>0?` ${n}`:"";return Kg(`${e}${r}`)}i(jb,"toolActivityDetail");function Ub(e,t){return e==="tool"&&["thinking","assistant","stream"].includes(t)}i(Ub,"suppressesChurnOverToolAction");function UD(e){let t=Math.max(0,Math.floor(e/1e3)),n=t%60,r=Math.floor(t/60)%60,o=Math.floor(t/3600);return o>0?`${o}h${String(r).padStart(2,"0")}m`:r>0?`${r}m${String(n).padStart(2,"0")}s`:`${n}s`}i(UD,"formatChildActivityElapsed");function GD(e){switch(e){case"assistant":return"Assistant";case"thinking":return"Thinking";case"tool":return"Tool";case"progress":return"Progress";case"prompt":return"Prompt";default:return"Status"}}i(GD,"kindLabel");function KD(e,t){let n=e.label.trim()||"child",r=e.startedAt!==void 0?` \xB7 ${UD(t-e.startedAt)}`:"",o=e.detail.trim(),s=o.length>0?`: ${o}`:"";return`${n}${r} - ${GD(e.kind)}${s}`}i(KD,"rowText");function Gb(e,t=Gg,n=Date.now()){let r=e.filter(d=>d.status==="running");if(r.length===0)return jD;let o=Math.max(1,Math.floor(t)),s=[],a=r.length>o&&o>1?o-1:o,c=r.slice(0,a);for(let d of c)s.push({kind:"activity",id:d.id,symbol:d.source==="workflow"?"agent":"child",symbolColor:"cyan",text:KD(d,n),isActive:!0});let l=r.length-c.length;return l>0&&s.length<o&&s.push({kind:"summary",id:"children-more",symbol:"more",symbolColor:"dim",text:`${l} more active`,isActive:!1}),{shouldRender:!0,activeCount:r.length,rows:s.slice(0,o)}}i(Gb,"buildChildActivityViewModel");var Kb=Ug;function zD(e){let t=se("dark");switch(e){case"cyan":return t.colors.primary;case"green":return t.colors.success;default:return t.colors.dim}}i(zD,"resolveSymbolColor");var XD=i(({row:e})=>{let t=zD(e.symbolColor);return VD(k,{flexDirection:"row",children:[Nl(k,{width:Kb,flexShrink:0,children:Nl(v,{color:t,bold:e.isActive,wrap:"truncate",children:Nb(e.symbol,Kb)})}),Nl(v,{color:e.kind==="summary"?se("dark").colors.dim:void 0,bold:e.isActive,wrap:"truncate",children:e.text})]})},"ChildActivityRowView");function Ep(e){return!e.shouldRender||e.rows.length===0?0:e.rows.length}i(Ep,"measureChildActivitySurfaceRows");var Mp=i(({viewModel:e})=>!e.shouldRender||e.rows.length===0?null:Nl(k,{flexDirection:"column",flexGrow:1,children:e.rows.map(t=>Nl(XD,{row:t},`${t.kind}-${t.id}`))}),"ChildActivitySurface");import Vb,{createContext as Yb,useContext as qb,useReducer as YD,useCallback as et,useRef as zb,useEffect as Xb}from"react";function qD(e,t){return e.agentId===t&&e.priority==="user"&&e.mode==="prompt"}i(qD,"isPendingPromptForAgent");function Yg(e){return Wn().getSnapshot().filter(t=>qD(t,e))}i(Yg,"getPendingPrompts");function zg(e){return Yg(e).map(t=>t.content)}i(zg,"getPendingPromptContents");var Xg={state:sr.Idle,currentResponse:"",error:void 0,abortController:void 0,isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentTool:void 0,toolInputCharCount:0,toolInputContent:"",iterationHistory:[],currentIteration:1,maxIter:200,isCompacting:!1,pendingInputs:[],roundStartedAt:null};function Ap(e={}){let t=i(()=>e.getPendingInputAgentId?.(),"getPendingInputAgentId"),n={...Xg,pendingInputs:zg(t())},r=new Set,o="",s="",a=0,c=null,l=!1,d=80,f=i(()=>{for(let T of r)T(n)},"notify"),p=i(()=>{let T=zg(t());if(T.length===n.pendingInputs.length){let S=!0;for(let w=0;w<T.length;w++)if(T[w]!==n.pendingInputs[w]){S=!1;break}if(S)return}n={...n,pendingInputs:T},f()},"syncReactStateFromQueue"),h=Wn().subscribe(()=>{p()}),g=i(()=>Wn().dequeue({agentId:t(),maxPriority:"user",mode:"prompt"}).map(S=>S.content),"drainOurSlice"),C=i(()=>{if(c&&(clearTimeout(c),c=null),o||s||a>0){let S=n.thinkingContent+s,w=s?S.length:n.thinkingCharCount+a;n={...n,currentResponse:n.currentResponse+o,thinkingContent:S,thinkingCharCount:w,...s||a>0?{isThinking:!0}:{}},o="",s="",a=0,f()}},"flushPendingUpdates"),b=i(()=>{c||(c=setTimeout(C,d))},"scheduleFlush");return{getState:i(()=>n,"getState"),setState:i(T=>{C(),n={...n,state:T},f()},"setState"),startStreaming:i(()=>{l=!1,o="",s="",a=0,c&&(clearTimeout(c),c=null),n={...n,state:sr.Responding,currentResponse:"",abortController:new AbortController,error:void 0,roundStartedAt:Date.now()},f()},"startStreaming"),stopStreaming:i(()=>{C(),n={...n,state:sr.Idle,abortController:void 0,roundStartedAt:null},f()},"stopStreaming"),appendResponse:i(T=>{l||(o+=T,b())},"appendResponse"),clearResponse:i(()=>{C(),n={...n,currentResponse:""},f()},"clearResponse"),setError:i(T=>{C(),n={...n,error:T,state:T?sr.Idle:n.state},f()},"setError"),abort:i(T=>{l=!0,C(),n.abortController?.abort(),o="",s="",a=0,c&&(clearTimeout(c),c=null),T?.preservePendingInputs||g(),n={...n,state:sr.Idle,abortController:void 0,roundStartedAt:null},f()},"abort"),reset:i(()=>{l=!0,C(),n.abortController?.abort(),o="",s="",a=0,c&&(clearTimeout(c),c=null),g(),n={...Xg,pendingInputs:zg(t())},l=!1,f()},"reset"),isStreaming:i(()=>n.state===sr.Responding||n.state===sr.WaitingForConfirmation,"isStreaming"),subscribe:i(T=>(r.add(T),()=>{r.delete(T)}),"subscribe"),startThinking:i(()=>{C(),n={...n,isThinking:!0,thinkingCharCount:0,thinkingContent:""},f()},"startThinking"),appendThinkingChars:i(T=>{l||(a+=T,b())},"appendThinkingChars"),appendThinkingContent:i(T=>{l||(s+=T,b())},"appendThinkingContent"),stopThinking:i(()=>{C(),n={...n,isThinking:!1,thinkingCharCount:0},f()},"stopThinking"),clearThinkingContent:i(()=>{C(),n={...n,isThinking:!1,thinkingCharCount:0,thinkingContent:""},f()},"clearThinkingContent"),setCurrentTool:i(T=>{C(),n={...n,currentTool:T,toolInputCharCount:0,toolInputContent:""},f()},"setCurrentTool"),appendToolInputChars:i(T=>{n={...n,toolInputCharCount:n.toolInputCharCount+T},f()},"appendToolInputChars"),appendToolInputContent:i(T=>{n.toolInputContent.length<240&&(n={...n,toolInputContent:(n.toolInputContent+T).slice(0,240)},f())},"appendToolInputContent"),clearToolInputContent:i(()=>{n={...n,toolInputContent:""},f()},"clearToolInputContent"),getSignal:i(()=>n.abortController?.signal,"getSignal"),getFullResponse:i(()=>n.currentResponse+o,"getFullResponse"),getThinkingContent:i(()=>n.thinkingContent+s,"getThinkingContent"),startNewIteration:i(T=>{C(),n.thinkingContent||n.currentResponse?n={...n,thinkingContent:"",thinkingCharCount:0,currentResponse:"",isThinking:!1,currentTool:void 0,toolInputCharCount:0,toolInputContent:"",currentIteration:T}:n={...n,currentIteration:T},f()},"startNewIteration"),clearIterationHistory:i(()=>{C(),n={...n,iterationHistory:[],currentIteration:1,maxIter:Xg.maxIter,thinkingContent:"",thinkingCharCount:0,currentResponse:"",currentTool:void 0,toolInputCharCount:0,toolInputContent:""},f()},"clearIterationHistory"),setMaxIter:i(T=>{C(),n={...n,maxIter:T},f()},"setMaxIter"),startCompacting:i(()=>{C(),n={...n,isCompacting:!0},f()},"startCompacting"),stopCompacting:i(()=>{C(),n={...n,isCompacting:!1},f()},"stopCompacting"),addPendingInput:i(T=>{let S=T.trim();S&&(Yg(t()).length>=5||(C(),Wn().enqueue({agentId:t(),priority:"user",mode:"prompt",content:S})))},"addPendingInput"),removeLastPendingInput:i(()=>{let T=Yg(t()),S=T[T.length-1];S&&(C(),Wn().dequeue({agentId:t(),maxPriority:"user",mode:"prompt",id:S.id}))},"removeLastPendingInput"),shiftPendingInput:i(()=>(C(),Wn().dequeue({agentId:t(),maxPriority:"user",mode:"prompt",limit:1})[0]?.content),"shiftPendingInput"),clearPendingInputs:i(()=>{C(),g()},"clearPendingInputs"),consumePendingInputs:i(()=>(C(),g()),"consumePendingInputs"),dispose:i(()=>{h()},"dispose")}}i(Ap,"createStreamingManager");var Jb=Yb(null),Qb=Yb(null);function Hl({children:e,onStateChange:t,getPendingInputAgentId:n}){let r=zb(n);r.current=n;let o=zb(void 0);o.current||(o.current=Ap({getPendingInputAgentId:i(()=>r.current?.(),"getPendingInputAgentId")}));let s=o.current,[,a]=YD(pe=>pe+1,0);Xb(()=>s.subscribe(Ie=>{a(),t?.(Ie)}),[s,t]),Xb(()=>()=>{s.dispose()},[s]);let c=et(()=>{s.startStreaming()},[]),l=et(()=>{s.stopStreaming()},[]),d=et(pe=>{s.appendResponse(pe)},[]),f=et(()=>{s.clearResponse()},[]),p=et(pe=>{s.setError(pe)},[]),h=et(pe=>{s.abort(pe)},[]),g=et(()=>{s.reset()},[]),C=et(()=>{s.startThinking()},[]),b=et(pe=>{s.appendThinkingChars(pe)},[]),T=et(pe=>{s.appendThinkingContent(pe)},[]),S=et(()=>{s.stopThinking()},[]),w=et(()=>{s.clearThinkingContent()},[]),M=et(pe=>{s.setCurrentTool(pe)},[]),O=et(pe=>{s.appendToolInputChars(pe)},[]),A=et(pe=>{s.appendToolInputContent(pe)},[]),N=et(()=>{s.clearToolInputContent()},[]),X=et(()=>s.getSignal(),[]),K=et(()=>s.getFullResponse(),[]),q=et(()=>s.getThinkingContent(),[]),x=et(pe=>{s.startNewIteration(pe)},[]),Se=et(()=>{s.clearIterationHistory()},[]),ee=et(pe=>{s.setMaxIter(pe)},[]),H=et(()=>{s.startCompacting()},[]),E=et(()=>{s.stopCompacting()},[]),Z=et(pe=>{s.addPendingInput(pe)},[]),B=et(()=>{s.removeLastPendingInput()},[]),le=et(()=>s.shiftPendingInput(),[]),ue=et(()=>{s.clearPendingInputs()},[]),he=et(()=>s.consumePendingInputs(),[]),Te={startStreaming:c,stopStreaming:l,appendResponse:d,clearResponse:f,setError:p,abort:h,reset:g,startThinking:C,appendThinkingChars:b,appendThinkingContent:T,stopThinking:S,clearThinkingContent:w,setCurrentTool:M,appendToolInputChars:O,appendToolInputContent:A,clearToolInputContent:N,getSignal:X,getFullResponse:K,getThinkingContent:q,startNewIteration:x,clearIterationHistory:Se,setMaxIter:ee,startCompacting:H,stopCompacting:E,addPendingInput:Z,removeLastPendingInput:B,shiftPendingInput:le,clearPendingInputs:ue,consumePendingInputs:he};return Vb.createElement(Jb.Provider,{value:s.getState()},Vb.createElement(Qb.Provider,{value:Te},e))}i(Hl,"StreamingProvider");function Ea(){let e=qb(Jb);if(!e)throw new Error("useStreamingState must be used within a StreamingProvider");return e}i(Ea,"useStreamingState");function Ma(){let e=qb(Qb);if(!e)throw new Error("useStreamingActions must be used within a StreamingProvider");return e}i(Ma,"useStreamingActions");function qg(){let e=Ea(),t=Ma(),n=e.state===sr.Responding||e.state===sr.WaitingForConfirmation;return{state:e,actions:t,isStreaming:n}}i(qg,"useStreaming");import{useCallback as JD,useRef as QD}from"react";var ZD=500;function Zb(e={}){let{onKey:t,onEsc:n,onCtrlC:r,enabled:o=!0}=e,s=QD(0),{exit:a}=Lr(),c=JD(l=>{if(!o)return!1;if(l.name==="escape"){let d=Date.now(),f=d-s.current<ZD;return s.current=d,f&&(l.name="escape-escape"),n?.(),t?.(l),!0}return l.ctrl&&l.name==="c"?(r?.(),t?.(l),!0):l.ctrl&&l.name==="d"?(a(),!0):(t?.(l),!1)},[o,a,r,n,t]);return _n(c,{isActive:o}),{lastEscTime:s.current}}i(Zb,"useKeypress");function e0(e){return{is:i((t,n)=>!(e.name!==t||n?.ctrl!==void 0&&e.ctrl!==n.ctrl||n?.shift!==void 0&&e.shift!==n.shift||n?.meta!==void 0&&e.meta!==n.meta),"is"),isCtrl:i(t=>e.ctrl&&e.name===t,"isCtrl"),isShift:i(t=>e.shift&&e.name===t,"isShift"),isArrow:i(()=>["up","down","left","right"].includes(e.name),"isArrow"),isChar:i(()=>e.sequence?.length===1&&!e.ctrl&&!e.meta,"isChar"),getChar:i(()=>e.sequence?.length===1?e.sequence:null,"getChar")}}i(e0,"createKeyMatcher");import{useCallback as t0,useSyncExternalStore as eO}from"react";function tO(e,t){return e.agentId===t&&e.priority==="user"&&e.mode==="prompt"}i(tO,"isQueuedPromptForAgent");var Jg=null,_p=new Map;function nO(e){let t=Wn().getSnapshot();t!==Jg&&(Jg=t,_p.clear());let n=_p.get(e);if(n!==void 0)return n;let r=Object.freeze(t.filter(o=>tO(o,e)));return _p.set(e,r),r}i(nO,"getQueueSliceSnapshot");function Qg(e){let t=t0(r=>Wn().subscribe(r),[]),n=t0(()=>nO(e),[e]);return eO(t,n,n)}i(Qg,"useQueuedPrompts");function n0(e){return Qg(e).map(n=>n.content)}i(n0,"useQueuedPromptContents");function r0(){Jg=null,_p.clear()}i(r0,"_resetQueuedPromptsCacheForTests");var Aa="Runtime state: run active until this approval is resolved.";function Lp(e,t){if(!t.confirmed)return{type:"reject",reason:"User rejected the tool call."};if(t.runtimeGrantKind===void 0)return{type:"allow_once"};let n=e.grantSuggestions?.find(r=>r.kind===t.runtimeGrantKind);return n?t.runtimeGrantKind==="session"?{type:"allow_session",suggestionId:n.id}:{type:"allow_always",suggestionId:n.id}:{type:"reject",reason:"Runtime grant suggestion expired."}}i(Lp,"resolveReplRuntimePermissionDecision");function _a(e){let t=e.classifierModelEnv??e.classifierModel;return{engine:e.engine,...t!==void 0?{classifierModel:t}:{},...e.timeoutMs!==void 0?{timeoutMs:e.timeoutMs}:{},...e.speculativeWindowMs!==void 0?{speculativeWindowMs:e.speculativeWindowMs}:{}}}i(_a,"toReplRuntimeAutoModeSettings");async function La(e){return{messages:e.existingMessages??[],uiHistory:e.existingUiHistory?.map(t=>({...t})),lineage:e.existingLineage??void 0,artifactLedger:e.existingArtifactLedger?.map(t=>({...t,metadata:t.metadata?{...t.metadata}:void 0})),extensionState:e.existingExtensionState?structuredClone(e.existingExtensionState):void 0,extensionRecords:e.existingExtensionRecords?.map(t=>({...t})),extensionStateDirty:!1,extensionRecordsDirty:!1,sessionId:e.sessionId??Gi(),title:"",gitRoot:e.gitRoot,runtimeInfo:e.runtimeInfo,createdAt:new Date().toISOString(),lastAccessed:new Date().toISOString()}}i(La,"createInteractiveContext");function Gi(){let e=new Date,t=e.toISOString().split("T")[0].replace(/-/g,""),n=e.toTimeString().split(" ")[0].replace(/:/g,"");return`${t}_${n}`}i(Gi,"generateSessionId");function dr(e){e.lastAccessed=new Date().toISOString()}i(dr,"touchContext");async function Pa(e){let t=await eT({userKodaxDir:Uw(),projectRoot:e.projectRoot}),n;return{getGuardrail:i(()=>n||(n=tT({rules:t.merged,getClaudeMd:i(()=>Gw(Md({cwd:process.cwd(),projectRoot:e.projectRoot})),"getClaudeMd"),getToolProjection:i(o=>(Ed(o)??Fw(o))?.toClassifierInput,"getToolProjection"),resolveProvider:i(o=>{try{return hi(o)}catch{return}},"resolveProvider"),defaultProvider:e.getCurrentProviderName(),defaultModel:e.getCurrentModel()??"",getDefaultProvider:e.getCurrentProviderName,getDefaultModel:i(()=>e.getCurrentModel()??"","getDefaultModel"),askUser:e.askUser,log:e.log,onEngineChange:e.onEngineChange,sharedState:e.sharedState,projectRoot:e.projectRoot,executionCwd:e.executionCwd,extraCollectors:e.extraCollectors,extraAbsoluteDenyChecks:[PT],initialEngine:e.autoModeSettings.engine,timeoutMs:e.autoModeSettings.timeoutMs,userSettings:e.autoModeSettings.classifierModel,envVar:e.autoModeSettings.classifierModelEnv,speculativeWindowMs:e.autoModeSettings.speculativeWindowMs}),n),"getGuardrail"),rulesLoadResult:t}}i(Pa,"bootstrapAutoMode");var Ki=class{static{i(this,"MemorySessionStorage")}sessions=new Map;async save(t,n){let r=this.sessions.get(t);this.sessions.set(t,{...structuredClone(n),scope:n.scope??r?.scope??"user",uiHistory:n.uiHistory??r?.uiHistory,extensionState:n.extensionState??r?.extensionState,artifactLedger:n.artifactLedger??r?.artifactLedger,actorSnapshot:n.actorSnapshot??r?.actorSnapshot,extensionRecords:n.extensionRecords??r?.extensionRecords,tag:n.tag??r?.tag,lineage:ft(n.messages,n.lineage??r?.lineage)})}async load(t){return structuredClone(this.sessions.get(t)??null)}async getLineage(t){return structuredClone(this.sessions.get(t)?.lineage??null)}async setActiveEntry(t,n,r){let o=this.sessions.get(t);if(!o?.lineage)return null;let s=As(o.lineage,n,r);if(!s)return null;let a={...structuredClone(o),messages:Ft(s),lineage:s};return this.sessions.set(t,a),structuredClone(a)}async setLabel(t,n,r){let o=this.sessions.get(t);if(!o?.lineage)return null;let s=_s(o.lineage,n,r);if(!s)return null;let a={...structuredClone(o),lineage:s};return this.sessions.set(t,a),structuredClone(a)}async fork(t,n,r){let o=this.sessions.get(t);if(!o?.lineage)return null;let s=$s(o.lineage,n);if(!s)return null;let a=r?.sessionId??await Ms(),c={messages:Ft(s),title:r?.title??o.title,gitRoot:o.gitRoot,tag:o.tag,uiHistory:o.uiHistory?o.uiHistory.map(l=>({...l})):void 0,extensionState:o.extensionState?structuredClone(o.extensionState):void 0,artifactLedger:o.artifactLedger?structuredClone(o.artifactLedger):void 0,extensionRecords:o.extensionRecords?structuredClone(o.extensionRecords):void 0,lineage:s};return this.sessions.set(a,c),{sessionId:a,data:structuredClone(c)}}async rewind(t,n){let r=this.sessions.get(t);if(!r?.lineage)return null;let o=n??Ls(r.lineage);if(!o)return null;let s=Ps(r.lineage,o);if(!s)return null;let a={...r,messages:Ft(s),lineage:s};return this.sessions.set(t,a),structuredClone(a)}async list(t){return Array.from(this.sessions.entries()).filter(([,n])=>(n.scope??"user")==="user").map(([n,r])=>({id:n,title:r.title,msgCount:r.lineage?yi(r.lineage):r.messages.length,...r.tag!==void 0?{tag:r.tag}:{}}))}async delete(t){this.sessions.delete(t)}async deleteAll(t){this.sessions.clear()}};function o0(){return new Ki}i(o0,"createMemorySessionStorage");import*as i0 from"child_process";import*as s0 from"util";import Pp from"chalk";var rO=s0.promisify(i0.exec),oO={maxBuffer:1024*1024,timeout:3e4,maxOutputLength:8e3,maxErrorLength:4e3};async function Wl(e,t={}){let n={...oO,...t},r=e.trim(),o=ET(r);if(o)return o.startsWith("[Blocked]")&&(console.log(Pp.yellow(`
65
+ ${o}`)),console.log()),o;try{console.log(Pp.dim(`
66
+ [Executing: ${r}]`));let{stdout:s,stderr:a}=await rO(r,{cwd:n.cwd,maxBuffer:n.maxBuffer,timeout:n.timeout,windowsHide:!0}),c="";return s&&(c+=s),a&&(c+=(c?`
67
+ `:"")+`[stderr] ${a}`),c.length>n.maxOutputLength&&(c=c.slice(0,n.maxOutputLength)+`
68
+ ...[output truncated]`),console.log(Pp.dim(c||"[No output]")),console.log(),`[Shell command executed: ${r}]
69
+
70
+ Output:
71
+ ${c||"(no output)"}`}catch(s){let c=(s instanceof Error?s:new Error(String(s))).message;return c.length>n.maxErrorLength&&(c=c.slice(0,n.maxErrorLength)+`
72
+ ...[error truncated]`),console.log(Pp.red(`
73
+ [Shell Error: ${c}]`)),console.log(),`[Shell command failed: ${r}]
74
+
75
+ Error: ${c}`}}i(Wl,"executeShellCommand");async function Zg(e,t={}){if(e.startsWith("!")){let n=e.slice(1).trim();return Wl(n,t)}return e}i(Zg,"processSpecialSyntax");function a0(e){return e.trim().startsWith("!")}i(a0,"isShellCommand");function c0(e){return e.startsWith("[Shell command executed:")||e.startsWith("[Shell:")}i(c0,"isShellCommandSuccess");function Fl(e){return e.startsWith("[Shell command executed:")||e.startsWith("[Shell command failed:")||e.startsWith("[Shell:")||e.startsWith("[Blocked]")}i(Fl,"isShellCommandHandled");var l0=150,u0=50;function Or(e){if(e.length===0)return[];let t=[];for(let r=0;r<e.length;r+=1)e[r]?.type==="user"&&t.push(r);let n=[...e];if(t.length>u0){let r=t[t.length-u0]??0;n=e.slice(r)}if(n.length>l0){let r=n.slice(-l0),o=r.findIndex(s=>s.type==="user");n=o>0?r.slice(o):r}return[...n]}i(Or,"trimPersistedUiHistorySnapshot");function Vo(e){if(e)return Or(e)}i(Vo,"normalizePersistedUiHistory");function iO(e){let t=e.timestamp===void 0?{}:{timestamp:e.timestamp};switch(e.type){case"assistant":return{type:"assistant",text:e.text,...t,...e.compactText?{compactText:e.compactText}:{}};case"thinking":return{type:"thinking",text:e.text,...t,...e.compactText?{compactText:e.compactText}:{}};case"event":return{type:"event",text:e.text,...t,...e.icon?{icon:e.icon}:{},...e.compactText?{compactText:e.compactText}:{}};case"info":return{type:"info",text:e.text,...t,...e.icon?{icon:e.icon}:{},...e.compactText?{compactText:e.compactText}:{}};case"user":return{type:"user",text:e.text,...t};case"system":return{type:"system",text:e.text,...t};case"error":return{type:"error",text:e.text,...t};case"hint":return{type:"hint",text:e.text,...t};case"sidecar":{let n=e.icon;if(n==="budget-exhausted")return{type:"sidecar",text:e.text,delivery:"budget-exhausted",...t};let r=n==="blocked"?"blocked":"revise";return{type:"sidecar",text:e.text,verdict:r,...t}}}}i(iO,"toCreatableTextHistoryItem");function sO(e){if(e.type!=="tool_group")return iO(e);let t=e.tools.map(jd);return t.length>0?{type:"tool_group",tools:t,...e.timestamp===void 0?{}:{timestamp:e.timestamp}}:void 0}i(sO,"persistedUiHistoryItemToCreatableHistoryItem");function d0(e){let t=[],n=[];for(let r of e)r.type==="user"&&n.length>0&&(t.push(n),n=[]),n.push(r);return n.length>0&&t.push(n),t}i(d0,"splitCreatableHistoryRounds");function aO(e){return e.some(t=>t.type==="tool_group")}i(aO,"roundHasToolGroup");function cO(e){return e.type==="event"&&e.icon==="tool"}i(cO,"isLegacyToolSummaryItem");function lO(e,t){if(t.length===0||aO(e))return[...e];let n=e.filter(a=>!cO(a)),r=-1;for(let a=n.length-1;a>=0;a-=1)if(n[a]?.type==="thinking"){r=a;break}let o=n.findIndex(a=>a.type==="assistant"),s=r>=0?r+1:o>=0?o:n.length;return[...n.slice(0,s),...t,...n.slice(s)]}i(lO,"insertDerivedToolGroupsIntoRound");function uO(e,t){if(e.type!==t.type)return!1;if(e.type==="tool_group"&&t.type==="tool_group")return e.tools.map(o=>o.id).join(`
76
+ `)===t.tools.map(o=>o.id).join(`
77
+ `);if(e.type==="tool_group"||t.type==="tool_group")return!1;let n=e.text.trim(),r=t.text.trim();return n===r||f0(n,r)||f0(r,n)}i(uO,"matchesTimestampSource");function f0(e,t){if(!e.endsWith(t))return!1;let n=e.slice(0,-t.length);return/^\[[^\]\r\n]+\]\s+$/.test(n)}i(f0,"hasDisplayPrefix");function dO(e,t){let n=0;return e.map(r=>{if(r.timestamp!==void 0)return r;for(let o=n;o<t.length;o+=1){let s=t[o];if(!(s?.timestamp===void 0||!uO(r,s)))return n=o+1,{...r,timestamp:s.timestamp}}return r})}i(dO,"recoverMissingTimestamps");function fO(e,t){let n=d0(e),r=d0(t),o=Math.max(0,r.length-n.length);return n.flatMap((s,a)=>{let c=r[a+o]??[],l=c.filter(d=>d.type==="tool_group");return dO(lO(s,l),c)})}i(fO,"enrichTextOnlyUiHistory");function jl(e){let t=Ud(e.messages).map(ko),n=Vo(e.uiHistory);if(!n||n.length===0)return t;let r=n.map(sO).filter(o=>!!o);return fO(r,t)}i(jl,"restoreHistoryItemsFromSession");function Ul(e,t,n){let r=e.trim();return{type:"info",icon:"\u23F3",text:/\bretry\s+\d+\/\d+\b/i.test(r)||/\b\d+\/\d+\b/.test(r)?r:`${r} \xB7 retry ${t}/${n}`}}i(Ul,"createRetryHistoryItem");function p0(e,t,n,r){e(Ul(t,n,r))}i(p0,"emitRetryHistoryItem");function Gl(e){let{recoveryAction:t,attempt:n,maxAttempts:r,delayMs:o,stage:s,fallbackUsed:a}=e,c=Math.round(o/1e3);if(t==="manual_continue")return{type:"info",icon:"\u26A0",text:'Recovery exhausted. Type "continue" to retry or "stop" to cancel.'};if(t==="non_streaming_fallback"||a)return{type:"info",icon:"\u23F3",text:"Stream unstable, switching to non-streaming mode"};if(t==="sanitize_thinking_and_retry")return{type:"info",icon:"\u23F3",text:"Provider rejected replay thinking, sanitizing history and retrying"};let l;switch(s){case"before_first_delta":case"before_request_accepted":l="Provider request timed out";break;case"mid_stream_text":case"mid_stream_thinking":l="Stream interrupted after partial output";break;case"mid_stream_tool_input":l="Stream interrupted during tool input";break;case"post_tool_execution_pre_assistant_close":l="Stream interrupted after tool execution";break;default:l="Stream interrupted";break}let d=t==="stable_boundary_retry"?"recovering":"retrying";return{type:"info",icon:"\u23F3",text:c>0?`${l} \xB7 ${d} ${n}/${r} in ${c}s`:`${l} \xB7 ${d} ${n}/${r}`}}i(Gl,"createRecoveryHistoryItem");function m0(e,t){e(Gl(t))}i(m0,"emitRecoveryHistoryItem");import{jsx as fe,jsxs as wn,Fragment as dH}from"react/jsx-runtime";import aE,{useState as We,useCallback as U,useRef as Ce,useEffect as De,useMemo as ye}from"react";import{jsx as Nr,Fragment as pO,jsxs as $p}from"react/jsx-runtime";var ey=" | ",h0=i(({searchActive:e=!1,selectionActive:t=!1,showAllActive:n=!1,searchQuery:r="",searchCurrent:o=0,searchCount:s=0,searchDetailText:a,pendingLiveUpdates:c=0,secondaryText:l,noticeText:d})=>{let f=se("dark"),p=r.trim(),h=a?.trim(),g=l?.trim(),C=d?.trim(),b=e?p?`Search /${p}`:"Search":"Transcript",T=e?`Enter jump | n/N next/prev | Ctrl+E ${n?"collapse":"show all"} | Esc close | Ctrl+O/q back`:t?`PgUp/PgDn page | j/k scroll | / search | n/N matches | Ctrl+E ${n?"collapse":"show all"} | Esc clear focus | Ctrl+O/q back`:`PgUp/PgDn page | j/k scroll | \u2190/\u2192 select | / search | n/N matches | Ctrl+E ${n?"collapse":"show all"} | s dump | Ctrl+O/q/Esc back`,S=c>0?c===1?"1 new update":`${c} new updates`:void 0,w=e&&s>0?`${Math.max(0,o)}/${s}`:void 0,M=e&&h||g,O=!!(M||C);return $p(k,{flexDirection:"column",children:[$p(k,{paddingX:1,children:[Nr(v,{color:f.colors.dim,children:b}),Nr(v,{dimColor:!0,children:ey}),Nr(v,{color:f.colors.dim,children:T}),w||S?Nr(k,{flexGrow:1}):null,w?$p(pO,{children:[Nr(v,{dimColor:!0,children:w}),S?Nr(v,{dimColor:!0,children:ey}):null]}):null,S?Nr(v,{color:f.colors.accent,bold:!0,children:S}):null]}),O?$p(k,{paddingX:1,children:[M?Nr(v,{color:f.colors.dim,children:M}):null,M&&C?Nr(v,{dimColor:!0,children:ey}):null,C?Nr(v,{color:f.colors.accent,bold:!0,children:C}):null]}):null]})},"TranscriptModeFooter");import{jsx as mO,jsxs as hO}from"react/jsx-runtime";var g0=i(({banner:e,...t})=>hO(k,{flexDirection:"column",children:[e,mO(Uo,{...t,animateSpinners:!1,showFullThinking:!1,showDetailedTools:!1,showLiveProgressRows:!1})]}),"PromptTranscriptSurface");import{jsx as gO,jsxs as yO}from"react/jsx-runtime";var y0=i(({banner:e,windowed:t=!1,showDetailedTools:n=!1,showAllContent:r=!1,...o})=>yO(k,{flexDirection:"column",children:[e,gO(yp,{...o,chromeMode:"hidden",windowed:t,showFullThinking:!0,showDetailedTools:n,showAllContent:r,showLiveProgressRows:!0})]}),"TranscriptModeSurface");import{jsxs as xO,jsx as SO}from"react/jsx-runtime";var x0=i(({text:e,tone:t="success"})=>{let n=e?.trim();if(!n)return null;let r=se("dark"),o=t==="warning"?r.colors.warning:r.colors.accent,s=t==="warning"?"!":"\u2713";return SO(k,{paddingX:1,backgroundColor:r.colors.inputBackground,children:xO(v,{color:o,children:[s," ",n]})})},"ClipboardToastSurface");import{jsx as zo,Fragment as wO,jsxs as ty}from"react/jsx-runtime";var TO=" \u23BF ";function CO(e){let t=se("dark");switch(e){case"cyan":return t.colors.primary;case"green":return t.colors.success;case"red":return t.colors.error;default:return t.colors.dim}}i(CO,"resolveSymbolColor");var IO=i(({row:e})=>{let t=CO(e.symbolColor),n=e.kind!=="item";return ty(k,{flexDirection:"row",children:[zo(v,{color:t,bold:e.isActive,children:e.symbol}),zo(v,{children:" "}),zo(v,{dimColor:n,bold:e.isActive,strikethrough:e.isStrikethrough,children:e.text}),e.evaluatorBadge?ty(wO,{children:[zo(v,{children:" "}),zo(v,{dimColor:!0,children:e.evaluatorBadge})]}):null]})},"TodoListRow"),S0=i(({viewModel:e})=>{if(!e.shouldRender||e.rows.length===0)return null;let t=se("dark").colors.dim;return ty(k,{flexDirection:"row",children:[zo(v,{color:t,children:TO}),zo(k,{flexDirection:"column",flexGrow:1,children:e.rows.map((n,r)=>zo(IO,{row:n},`${n.kind}-${n.id??r}`))})]})},"TodoListSurface");import{jsx as Kl,jsxs as vO}from"react/jsx-runtime";var w0=GT;function bO(e){let t=se("dark");switch(e){case"cyan":return t.colors.primary;case"green":return t.colors.success;case"red":return t.colors.error;default:return t.colors.dim}}i(bO,"resolveSymbolColor");var RO=i(({row:e})=>{let t=bO(e.symbolColor);return vO(k,{flexDirection:"row",children:[Kl(k,{width:w0,flexShrink:0,children:Kl(v,{color:t,bold:e.isActive,wrap:"truncate",children:KT(e.symbol,w0)})}),Kl(v,{color:e.kind==="hint"?se("dark").colors.dim:void 0,bold:e.isActive,wrap:"truncate",children:e.text})]})},"WorkflowRunRow");function T0(e){return!e.shouldRender||e.rows.length===0?0:e.rows.length}i(T0,"measureWorkflowRunSurfaceRows");var C0=i(({viewModel:e})=>!e.shouldRender||e.rows.length===0?null:Kl(k,{flexDirection:"column",flexGrow:1,children:e.rows.map((t,n)=>Kl(RO,{row:t},`${t.kind}-${t.id??n}`))}),"WorkflowRunSurface");function I0(e){if(!e.shouldRender||e.rows.length===0)return[];let t=[`Plan ${e.completedCount}/${e.totalCount} completed`];for(let n of e.rows){let r=n.evaluatorBadge?` ${n.evaluatorBadge}`:"";t.push(`${n.symbol} ${n.text}${r}`)}return t}i(I0,"formatTodoPlanViewModelForTranscript");var v0="\u2610",kO="\u25CF",b0="\u2713",EO="\u2717",MO="\u2298",AO="\u2612";function _O(e){switch(e){case"in_progress":return{symbol:kO,color:"cyan"};case"completed":return{symbol:b0,color:"green"};case"failed":return{symbol:EO,color:"red"};case"skipped":return{symbol:MO,color:"gray"};case"cancelled":return{symbol:AO,color:"gray"};default:return{symbol:v0,color:"dim"}}}i(_O,"symbolForStatus");function LO(e){for(let t=0;t<e.length;t++)if(e[t].status==="in_progress")return t;for(let t=0;t<e.length;t++)if(e[t].status==="pending")return t;for(let t=e.length-1;t>=0;t--)if(e[t].status==="completed")return t;return 0}i(LO,"pickAnchorIndex");function PO(e){let{symbol:t,color:n}=_O(e.status),r=e.status==="failed"&&e.note?`${e.subject} (${e.note})`:e.subject,o=e.status==="cancelled",s=e.evaluator?`[${e.evaluator}]`:void 0;return{kind:"item",id:e.id,symbol:t,symbolColor:n,text:r,isActive:e.status==="in_progress",isStrikethrough:o,evaluatorBadge:s}}i(PO,"buildItemRow");function $O(e){return{kind:"summary_done",symbol:b0,symbolColor:"green",text:`${e} done`,isActive:!1}}i($O,"buildDoneSummary");function ny(e){return{kind:"summary_pending",symbol:v0,symbolColor:"dim",text:`+${e} more`,isActive:!1}}i(ny,"buildPendingSummary");function DO(e,t){for(let n=e.length-1;n>=0;n--)if(e[n].status==="failed"&&!t.has(n))return n;return-1}i(DO,"pickFailedToPromote");function OO(e,t){let n=e.length;if(n===0)return{visibleIdx:[],hiddenCompletedCount:0,hiddenPendingCount:0};let r=4,o=Math.max(0,t-1),s=Math.min(n,o+r);s-o<r&&o>0&&(o=Math.max(0,s-r)),s-o<r&&s<n&&(s=Math.min(n,o+r));let a=[];for(let d=o;d<s;d++)a.push(d);let c=0,l=0;for(let d=0;d<o;d++)e[d].status==="completed"&&c++;for(let d=s;d<n;d++){let f=e[d].status;(f==="pending"||f==="in_progress")&&l++}return{visibleIdx:a,hiddenCompletedCount:c,hiddenPendingCount:l}}i(OO,"decideWindow");function R0(e,t){let n=e.length,r=e.reduce((g,C)=>C.status==="completed"?g+1:g,0),o=i((g,C)=>({shouldRender:C,rows:g,completedCount:r,totalCount:n}),"baseVm");if(n<1)return o([],!1);t.now,t.lastAllCompletedAt;let s=LO(e),a=OO(e,s),c=new Set(a.visibleIdx),l=DO(e,c),d=[...a.visibleIdx],f=a.hiddenCompletedCount,p=a.hiddenPendingCount;if(l>=0){let g=-1;for(let C=d.length-1;C>=0;C--){let b=d[C];if(b!==s&&e[b].status==="pending"){g=C;break}}if(g>=0){let C=d[g];d[g]=l,p+=1,d.sort((S,w)=>S-w);let b=d[0],T=0;for(let S=0;S<b;S++)e[S].status==="completed"&&T++;f=T}}let h=[];f>0&&h.push($O(f));for(let g of d)h.push(PO(e[g]));if(p>0&&h.push(ny(p)),h.length>6)for(;h.length>6;){let g=!1;for(let C=h.length-1;C>=0;C--){let b=h[C];if(b.kind==="item"&&!b.isActive){h.splice(C,1);let T=h[h.length-1];if(T&&T.kind==="summary_pending"){let S=/\+(\d+) more/.exec(T.text),w=S?Number.parseInt(S[1],10)+1:1;h[h.length-1]=ny(w)}else h.push(ny(1));g=!0;break}}if(!g)break}return o(h,!0)}i(R0,"buildTodoPlanViewModel");function k0(e){let t=[];e.isHistorySearchActive?t.push({id:"search",label:"Search",accent:!0}):e.isTranscriptMode&&t.push({id:"transcript",label:"Transcript"}),e.pendingInputCount>0&&t.push({id:"queue",label:`Queue ${e.pendingInputCount}`}),e.buffering==="buffered-fallback"&&(e.isHistorySearchActive||e.isTranscriptMode)&&t.push({id:"buffered",label:"Buffered"}),e.isTranscriptMode&&e.pendingLiveUpdates>0&&t.push({id:"updates",label:e.pendingLiveUpdates===1?"1 update":`${e.pendingLiveUpdates} updates`,accent:!0});let n=[],r=[...t,...n].map(o=>o.label.trim()).filter(Boolean).join(" | ");return{leftItems:t,rightItems:n,summary:r}}i(k0,"buildFooterHeaderViewModel");function E0(){let e=Promise.resolve();return t=>{let n=e.then(t);return e=n.then(()=>{},()=>{}),n}}i(E0,"createConfirmationDialogQueue");function NO(e){return xT(e.provider,e.model,"off",{longRunning:!0})}i(NO,"evaluateSessionTransitionPolicy");function BO(e,t){let n=t.snapshot.model?`${t.snapshot.provider}:${t.snapshot.model}`:t.snapshot.provider,r=[`[Provider Guardrail] ${e} on ${n}: ${t.summary}`],o=t.issues[0]?.detail;return o&&r.push(` ${o}`),t.status==="block"?r.push(" Switch to a provider with durable full-history session semantics before continuing."):t.status==="warn"&&r.push(" Continuing with degraded session semantics."),r}i(BO,"formatSessionTransitionGuardMessage");function Xo(e,t,n){let r=NO(e);if(!r||r.status==="allow")return!0;let[o,...s]=BO(t,r);return n(r.status,o,s),r.status!=="block"}i(Xo,"enforceSessionTransitionGuard");function HO(e){switch(e.type){case"message":{let n=(typeof e.message.content=="string"?e.message.content:"[complex content]").replace(/\s+/g," ").trim();return`${e.message.role}: ${n.slice(0,48)}${n.length>48?"...":""}`}case"compaction":return`compaction: ${e.summary.slice(0,48)}${e.summary.length>48?"...":""}`;case"branch_summary":return`branch: ${e.summary.slice(0,48)}${e.summary.length>48?"...":""}`;case"archive_marker":return`archived: ${e.summary.slice(0,48)}${e.summary.length>48?"...":""}`;default:return e}}i(HO,"summarizeEntry");function M0(e,t,n,r){let o=t?n?"\\- ":"|- ":"",s=e.active?"*":" ",a=e.entry.id.slice(0,12),c=e.label?` [${e.label}]`:"";r.push(`${t}${o}${s} ${a} ${HO(e.entry)}${c}`);let l=t+(t?n?" ":"| ":"");e.children.forEach((d,f)=>{M0(d,l,f===e.children.length-1,r)})}i(M0,"formatNode");function Dp(e){let t=[];return e.forEach((n,r)=>{M0(n,"",r===e.length-1,t)}),t}i(Dp,"formatSessionTree");function A0(e,t){return e!==null&&e.attempt===t.attempt&&e.maxAttempts===t.maxAttempts&&e.waitMs===t.delayMs}i(A0,"isDuplicateLegacyRateLimit");var WO=100,FO=/\b(curl|wget|invoke-webrequest|invoke-restmethod|iwr|irm)\b/i,L0=/\b(rm|del|erase|remove-item|rmdir|rd|git clean)\b/i,P0=/\b(npm|pnpm|yarn|pip|choco|winget)\s+(install|add|remove|uninstall|update|upgrade|ci)\b/i,$0=/\b(set-content|add-content|out-file|new-item|copy-item|move-item|rename-item|cp|mv|copy|move|ren|touch)\b/i;function $a(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}i($a,"readString");function on(e,t,n){n&&e.push({label:t,value:n})}i(on,"pushField");function jO(e){return e.replace(/\s+/g," ").trim()}i(jO,"normalizeWhitespace");function UO(e,t){if(e.length<=t)return e;let n=Math.ceil((t-3)/2),r=Math.floor((t-3)/2);return`${e.slice(0,n)}...${e.slice(e.length-r)}`}i(UO,"truncateMiddle");function GO(e){let t=e;return t=t.replace(/\b(authorization\s*:\s*bearer\s+)([^\s'"]+)/gi,(n,r)=>`${r}[REDACTED]`),t=t.replace(/\b((?:authorization|cookie)\s*:\s*)([^'"]+)/gi,(n,r)=>`${r}[REDACTED]`),t=t.replace(/\b(bearer\s+)([^\s'"]+)/gi,(n,r)=>`${r}[REDACTED]`),t=t.replace(/\b(api[_-]?key|access[_-]?token|refresh[_-]?token|token|secret|password|passwd|cookie|session)\b(\s*[:=]\s*)(['"]?)([^'"\s]+)(\3)/gi,(n,r,o,s)=>`${r}${o}${s}[REDACTED]${s}`),t=t.replace(/(--(?:api-key|token|secret|password|cookie)\s+)(\S+)/gi,(n,r)=>`${r}[REDACTED]`),t=t.replace(/((?:-u|--user)\s+)(\S+)/gi,(n,r)=>`${r}[REDACTED]`),t}i(GO,"maskSensitiveSegments");function _0(e){return UO(GO(jO(e)),WO)}i(_0,"summarizeCommand");function KO(e){return no(e)?oe("intent.read"):L0.test(e)?oe("intent.delete"):P0.test(e)?oe("intent.deps"):ro(e)||$0.test(e)?oe("intent.modify"):oe("intent.execute")}i(KO,"classifyShellIntent");function VO(e){let t=[];return L0.test(e)?t.push(oe("risk.destructive")):P0.test(e)?t.push(oe("risk.deps")):ro(e)||$0.test(e)?t.push(oe("risk.modify")):no(e)||t.push(oe("risk.unknown")),FO.test(e)&&t.push(oe("risk.network")),t}i(VO,"classifyShellRisks");function zO(e){if(Array.isArray(e))return e.filter(t=>typeof t=="object"&&t!==null&&typeof t.kind=="string")}i(zO,"readSignals");function XO(e){if(e){if(e.some(t=>t.kind==="protected_path"))return oe("scope.protected");if(e.some(t=>t.kind==="outside_project"||t.kind==="shell_redirect_outside"))return oe("scope.outside")}}i(XO,"scopeFromSignals");function YO(e){if(e._outsideProject===!0)return oe("scope.outside");if(e._alwaysConfirm===!0)return oe("scope.protected")}i(YO,"scopeFromMarkers");function qO(e){if(!e)return[];let t=[],n=e.some(o=>o.kind==="dangerous_pattern"&&o.severity==="high"),r=e.some(o=>o.kind==="dangerous_pattern"&&o.severity==="medium");return n?t.push(oe("risk.destructive")):r&&t.push(oe("risk.modify")),e.some(o=>o.kind==="network")&&t.push(oe("risk.network")),e.some(o=>o.kind==="package_install")&&t.push(oe("risk.deps")),t}i(qO,"risksFromSignals");var JO={Reason:"field.reason",Intent:"field.intent",Target:"field.target",Scope:"field.scope",Risk:"field.risk",Summary:"field.summary"};function QO(e){return oe(JO[e])}i(QO,"localizeFieldLabel");function Da(e,t){return{title:e,fields:t,details:t.map(n=>`${QO(n.label)}: ${n.value}`)}}i(Da,"buildDisplayFromFields");function Op(e,t){if(e==="confirm"){let l=$a(t._message);if(l)return Da(l,[])}if(e==="exit_plan_mode"){let l=$a(t.plan),d="Approve plan? (exits plan mode \u2192 accept-edits)";return l?{title:d,fields:[],details:l.split(`
78
+ `)}:Da(d,[])}let n=[],r=$a(t.path),o=$a(t.command),s=$a(t._reason)??$a(t.justification),a=zO(t._classifierSignals),c=XO(a)??YO(t);switch(on(n,"Reason",s),e){case"bash":case"shell_command":{if(o){on(n,"Intent",KO(o)),on(n,"Scope",c);let l=qO(a),d=l.length>0?l:VO(o);d.length>0&&on(n,"Risk",d.join("; ")),on(n,"Summary",_0(o))}else on(n,"Scope",c);return Da(e==="bash"?oe("tool.bash.title"):oe("tool.shell.title"),n)}case"write":return on(n,"Intent",oe("intent.write_file")),on(n,"Target",r),on(n,"Scope",c),Da(oe("tool.write.title"),n);case"edit":return on(n,"Intent",oe("intent.edit_file")),on(n,"Target",r),on(n,"Scope",c),Da(oe("tool.edit.title"),n);default:return on(n,"Intent",oe("intent.use_tool",{tool:e})),on(n,"Target",r),on(n,"Scope",c),o&&on(n,"Summary",_0(o)),Da(oe("tool.generic.title",{tool:e}),n)}}i(Op,"buildToolConfirmationDisplay");function D0(e,t){let n=Op(e,t);return n.details.length>0?`${n.title}
79
+ ${n.details.join(`
80
+ `)}`:n.title}i(D0,"buildToolConfirmationPrompt");function O0(e,t=240){let n=e.trim();return n?n.length>t?`${n.slice(0,t-3)}...`:n:""}i(O0,"truncateToolPreview");function N0(e,t=800){let n=e.trim();return n?n.length>t?`${n.slice(0,t-3)}...`:n:""}i(N0,"truncateToolOutputPreview");function ry(e){return e.replace(/^\[[^\]]+\]\s+/,"").replace(/^[A-Za-z][A-Za-z0-9_-]*:\s*/,"").trim()}i(ry,"stripToolRolePrefix");function oy(e){return ry(e).toLowerCase()}i(oy,"normalizeToolNameForMatch");function iy(e){return e===`[${oe("managed.completed")}]`||e===`[${oe("managed.completed.blocked")}]`||e===`[${oe("managed.completed.continuation")}]`}i(iy,"isCompletionTranscriptItem");function Np(e,t){if(!e||!t)return e;let n=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return e.replace(new RegExp(`^\\[Tools\\]\\s+\\[${n}\\]\\s+`,"i"),"[Tools] ").replace(new RegExp(`^\\[Thinking\\]\\s+\\[${n}\\]\\s*`,"i"),"[Thinking] ").replace(new RegExp(`^\\[${n}\\]\\s+thinking\\b`,"i"),"[Thinking]").trim()}i(Np,"formatManagedLiveActivityLabel");function po(e,t){return Np(`[Tools] ${qf(e)}`,t)??`[Tools] ${qf(e)}`}i(po,"formatManagedLiveToolLabel");function Bp(e,t){if(e.type!==t.type)return!1;switch(e.type){case"assistant":{let n=t;return e.text===n.text&&e.compactText===n.compactText}case"thinking":{let n=t;return e.text===n.text&&e.compactText===n.compactText}case"event":{let n=t;return e.text===n.text&&e.compactText===n.compactText&&e.icon===n.icon}case"info":{let n=t;return e.text===n.text&&e.compactText===n.compactText&&e.icon===n.icon}case"error":case"hint":case"system":case"user":{let n=t;return e.text===n.text}case"tool_group":{let n=t;return JSON.stringify(e.tools)===JSON.stringify(n.tools)}default:return!1}}i(Bp,"areManagedLiveItemsEquivalent");function B0(e){return e==="Task completed"?oe("managed.completed"):e==="Task needs continuation"?oe("managed.completed.continuation"):e==="Task ended: blocked"?oe("managed.completed.blocked"):e==="Task ended: needs_continuation"?oe("managed.completed.continuation"):e.startsWith("Task ended:")?oe("managed.completed.blocked"):e}i(B0,"localizeManagedCompletionSummary");function H0(e,t){let n=e.trim();return t.trim()?n?e===t?e:t.startsWith(e)?t:e.startsWith(t)?e:t:t:e}i(H0,"mergeLiveThinkingContent");function Oa(e,t){let n=t?.expanded?e.detailNote??e.note:e.note,r=e.activeWorkerTitle?`${e.agentMode.toUpperCase()} ${e.activeWorkerTitle}`:e.agentMode.toUpperCase(),o=e.activeWorkerTitle??"Scout",s=`${e.agentMode.toUpperCase()} ${o}`,a=`${e.agentMode.toUpperCase()} Routing`,c=e.currentRound&&e.maxRounds&&e.currentRound>1?` - Round ${e.currentRound}/${e.maxRounds}`:"";switch(e.phase){case"routing":return`${a} - Routing ready`;case"starting":return n?`${r} - ${n}`:`${r} - Managed task starting`;case"preflight":return n?`${s} - ${n}`:`${s} - ${o} preflight starting`;case"round":return n?`${r} - ${n}`:`${r} - Managed task round update${c}`;case"worker":return n?`${r} - ${n}${c}`:`${r} - ${e.activeWorkerTitle??"Worker"} starting${c}`;case"upgrade":return n?`${r} - ${n}`:`${r} - Harness transition${c}`;case"verifying":return n?`${e.agentMode.toUpperCase()} Verifying - ${n}`:`${e.agentMode.toUpperCase()} Verifying`;case"completed":return n?`${r} - ${n}`:`${r} - Managed task completed`;default:return}}i(Oa,"formatManagedTaskBreadcrumb");var W0=process.env.KODAX_TRANSCRIPT_HARNESS_MARKERS==="1";function F0(e){if(e.events&&e.events.length>0)return e.events.reduce((r,o)=>{let s=o.summary.trim(),a=(o.detail??o.summary).trim();if(!s||!a)return r;let c=`managed-live-${o.key}`,l=Date.now(),d=o.persistToHistory??e.persistToHistory??!1;if(o.presentation==="thinking")return r.push({item:{id:c,type:"thinking",timestamp:l,text:a,...s!==a?{compactText:s}:{}},persistToHistory:d}),r;if(o.presentation==="assistant")return r.push({item:{id:c,type:"assistant",timestamp:l,text:a,...s!==a?{compactText:s}:{}},persistToHistory:d}),r;let f=o.kind==="completed";if(f&&!W0)return r;let p=f?`[${B0(s)}]`:void 0,h=p??s,g=p??a;return r.push({item:{id:c,type:"event",timestamp:l,text:g,icon:o.kind==="warning"?"!":f?"\u2713":">",...h!==g?{compactText:h}:{}},persistToHistory:d}),r},[]);if(e.phase==="completed"&&!W0)return[];let t=Oa(e),n=Oa(e,{expanded:!0})??t;return!t||!n?[]:[{item:{id:`managed-live-fallback-${e.phase??"worker"}-${t.toLowerCase().replace(/[^a-z0-9]+/g,"-").slice(0,48)}`,type:"event",timestamp:Date.now(),text:n,icon:">",...t!==n?{compactText:t}:{}},persistToHistory:e.persistToHistory??!1}]}i(F0,"buildManagedLiveEventDrafts");function ZO(e,t){return!(t||e.role!=="evaluator"||e.signal!=="COMPLETE")}i(ZO,"shouldFilterSidecarAcceptEntry");function sy(e,t){let n=e.managedTask;if(!n)return[];let r=t?.verifierLog??process.env.KODAX_VERIFIER_LOG==="1",o=i(f=>{if(!e.interrupted&&!n.verdict.signalReason?.includes("Orchestration cancelled"))return!1;let p=f.signalReason?.trim()??"",h=f.summary?.trim()??"",g=f.output?.trim()??"",C=p.includes("Orchestration cancelled"),b=h.includes("Orchestration cancelled"),T=!g||h==="No textual output produced.";return f.status!=="completed"&&(C||b||T)||(C||b)&&T},"isInterruptedCancellation"),s=new Map(n.roleAssignments.map((f,p)=>[f.id,p])),a=n.verdict.decidedByAssignmentId,c=Math.max(0,...n.evidence.entries.filter(f=>f.assignmentId===a).map(f=>f.round??1)),l=[...n.evidence.entries].sort((f,p)=>{let h=(f.round??1)-(p.round??1);return h!==0?h:(s.get(f.assignmentId)??0)-(s.get(p.assignmentId)??0)}).filter(f=>!o(f)).filter(f=>!ZO(f,r)).filter(f=>e.interrupted||!(f.assignmentId===a&&(f.round??1)===c)).map(f=>{let p=f.output?.trim()??"",h=f.summary?.trim()??"",g=p?Ys(p):"",C=h?Ys(h):"",b=f.role==="scout"?C?`Scout completed: ${C}`:"Scout completed.":C;return{entry:f,text:C||g||b}}).filter(({text:f})=>!!f).map(({entry:f,text:p})=>{let h=f.role==="scout"?" Preflight":(f.round??1)>1?` Round ${f.round}`:"";return`[${f.role==="evaluator"?`\u26A1 Sidecar Verifier${h}`:`${f.title??f.assignmentId}${h}`}]
81
+ ${p}`}),d=n.verdict.disposition==="complete"?oe("managed.completed"):n.verdict.disposition==="needs_continuation"?oe("managed.completed.continuation"):n.verdict.disposition==="blocked"?oe("managed.completed.blocked"):void 0;return[...l,...d?[`[${d}]`]:[]]}i(sy,"buildManagedTaskTranscriptItems");function j0(e){let r=e.slice(0,400).match(new RegExp("\\*\\*([^*\\n]{1,80}?)\\*\\*"))?.[1]?.trim();return r?{header:r}:{}}i(j0,"extractBoldHeader");var ay=[" \u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2557"," \u2588\u2588\u2551 \u2588\u2588\u2554\u255D \u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557 \u255A\u2588\u2588\u2557\u2588\u2588\u2554\u255D"," \u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2554\u255D "," \u2588\u2588\u2554\u2550\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2551 \u2588\u2588\u2554\u2588\u2588\u2557 "," \u2588\u2588\u2551 \u2588\u2588\u2557 \u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2554\u255D \u2588\u2588\u2557"," \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D"];import pt from"chalk";var Hp=class e{static{i(this,"ShortcutsRegistry")}static instance=null;shortcuts=new Map;static getInstance(){return e.instance||(e.instance=new e),e.instance}static resetInstance(){e.instance=null}register(t){let n=this.shortcuts.get(t.id);this.shortcuts.set(t.id,{definition:t,effectiveBindings:n?.effectiveBindings??t.defaultBindings,handler:n?.handler})}registerAll(t){for(let n of t)this.register(n)}unregister(t){return this.shortcuts.delete(t)}setHandler(t,n){let r=this.shortcuts.get(t);r&&(r.handler=n)}findMatchingShortcut(t,n){let r=null,o=-1/0;for(let s of this.shortcuts.values()){let a=s.definition.context;a!=="global"&&a!==n||this.matchesBinding(t,s.effectiveBindings)&&s.handler&&s.definition.priority>o&&(o=s.definition.priority,r=s)}return r}matchesBinding(t,n){for(let r of n){let o=this.normalizeKeyName(t.name),s=this.normalizeKeyName(r.key);if(o===s){let a=(r.ctrl??!1)===t.ctrl,c=(r.shift??!1)===t.shift,l=(r.meta??!1)===t.meta;if(a&&c&&l)return!0}}return!1}normalizeKeyName(t){let n={return:"enter",esc:"escape",del:"delete",backspace:"backspace"," ":"space"},r=t.toLowerCase();return n[r]??r}executeShortcut(t,n){let r=this.findMatchingShortcut(t,n);return r?.handler?r.handler(t)===!0:!1}getAllShortcuts(){return Array.from(this.shortcuts.values())}getShortcutsByCategory(t){return this.getAllShortcuts().filter(n=>n.definition.category===t)}getShortcutsByContext(t){return this.getAllShortcuts().filter(n=>{let r=n.definition.context;return r==="global"||r===t})}formatBinding(t){let n=[];t.ctrl&&n.push("Ctrl"),t.meta&&n.push("Alt"),t.shift&&n.push("Shift");let r=t.key.length===1?t.key.toUpperCase():t.key;return n.push(r),n.join("+")}formatBindings(t){return t.map(n=>this.formatBinding(n)).join(" or ")}},Br=i(()=>Hp.getInstance(),"getShortcutsRegistry");var Na=[{id:"interrupt",name:"Interrupt",description:"Interrupt the current streaming response",defaultBindings:[{key:"c",ctrl:!0}],context:"global",priority:200,category:"global",configurable:!1},{id:"showHelp",name:"Toggle Help",description:"Show or hide shortcut help when the input is empty",defaultBindings:[{key:"?"}],context:"global",priority:150,category:"global",configurable:!0},{id:"toggleThinking",name:"Cycle Reasoning Effort",description:"Cycle reasoning effort for the active model: off, low \u2026 max, auto",defaultBindings:[{key:"t",ctrl:!0}],context:"global",priority:150,category:"mode",configurable:!0},{id:"toggleTranscriptMode",name:"Toggle Transcript Mode",description:"Toggle transcript mode on or off",defaultBindings:[{key:"o",ctrl:!0}],context:"global",priority:150,category:"mode",configurable:!0},{id:"openTranscriptSearch",name:"Search Transcript",description:"Open transcript search",defaultBindings:[{key:"f",ctrl:!0}],context:"global",priority:150,category:"navigation",configurable:!0},{id:"togglePermissionMode",name:"Cycle Permissions",description:"Cycle permission mode: plan, accept-edits, auto-in-project",defaultBindings:[{key:"tab",shift:!0}],context:"global",priority:150,category:"mode",configurable:!0},{id:"toggleAgentMode",name:"Cycle Agent Mode",description:"Cycle agent mode: AMA, SA",defaultBindings:[{key:"m",meta:!0}],context:"global",priority:150,category:"mode",configurable:!0},{id:"submitInput",name:"Submit Input",description:"Submit the current input",defaultBindings:[{key:"enter"}],context:"input",priority:50,category:"global",configurable:!1},{id:"acceptCompletion",name:"Accept Completion",description:"Accept the current autocomplete suggestion",defaultBindings:[{key:"tab"}],context:"input",priority:60,category:"editing",configurable:!0},{id:"cancelInput",name:"Cancel Input",description:"Cancel or clear the current input",defaultBindings:[{key:"escape"}],context:"input",priority:70,category:"editing",configurable:!0},{id:"newline",name:"Insert Newline",description:"Insert a newline in the current input",defaultBindings:[{key:"enter",shift:!0},{key:"j",ctrl:!0}],context:"input",priority:40,category:"editing",configurable:!0},{id:"historyUp",name:"History Up",description:"Browse previous input history",defaultBindings:[{key:"up"}],context:"input",priority:30,category:"navigation",configurable:!0},{id:"historyDown",name:"History Down",description:"Browse next input history",defaultBindings:[{key:"down"}],context:"input",priority:30,category:"navigation",configurable:!0},{id:"moveLeft",name:"Move Left",description:"Move the cursor left",defaultBindings:[{key:"left"}],context:"input",priority:20,category:"navigation",configurable:!1},{id:"moveRight",name:"Move Right",description:"Move the cursor right",defaultBindings:[{key:"right"}],context:"input",priority:20,category:"navigation",configurable:!1},{id:"moveToStart",name:"Move To Start",description:"Move the cursor to the start of the line",defaultBindings:[{key:"a",ctrl:!0}],context:"input",priority:25,category:"navigation",configurable:!0},{id:"moveToEnd",name:"Move To End",description:"Move the cursor to the end of the line",defaultBindings:[{key:"e",ctrl:!0}],context:"input",priority:25,category:"navigation",configurable:!0},{id:"killLineRight",name:"Delete To End",description:"Delete from the cursor to the end of the current line",defaultBindings:[{key:"k",ctrl:!0}],context:"input",priority:25,category:"editing",configurable:!0},{id:"killLineLeft",name:"Delete To Start",description:"Delete from the start of the line to the cursor",defaultBindings:[{key:"u",ctrl:!0}],context:"input",priority:25,category:"editing",configurable:!0},{id:"deleteWordLeft",name:"Delete Word Left",description:"Delete the word before the cursor",defaultBindings:[{key:"w",ctrl:!0},{key:"backspace",meta:!0}],context:"input",priority:25,category:"editing",configurable:!0},{id:"moveLineUp",name:"Move Line Up",description:"Move to the previous visual line in multiline input",defaultBindings:[{key:"up",ctrl:!0}],context:"input",priority:20,category:"navigation",configurable:!0},{id:"moveLineDown",name:"Move Line Down",description:"Move to the next visual line in multiline input",defaultBindings:[{key:"down",ctrl:!0}],context:"input",priority:20,category:"navigation",configurable:!0},{id:"backspace",name:"Backspace",description:"Delete the previous character",defaultBindings:[{key:"backspace"}],context:"input",priority:10,category:"editing",configurable:!1},{id:"delete",name:"Delete",description:"Delete the next character",defaultBindings:[{key:"delete"}],context:"input",priority:10,category:"editing",configurable:!1}];import{useEffect as eN,useCallback as tN,useRef as nN}from"react";function mo(e,t,n={}){let{context:r,isActive:o=!0}=n,s=Br(),a=nN(t);a.current=t,eN(()=>(s.setHandler(e,d=>a.current(d)),()=>{s.setHandler(e,void 0)}),[s,e]);let c=tN(d=>{if(!o)return!1;let p=s.getAllShortcuts().find(b=>b.definition.id===e);if(!p)return!1;let h=r??p.definition.context,g=h==="global"?"input":h,C=s.findMatchingShortcut(d,g);return C&&C.definition.id===e?a.current(d)===!0:!1},[s,e,o,r]),l=rN(e,s);_n(c,{isActive:o,priority:l})}i(mo,"useShortcut");function rN(e,t){let r=t.getAllShortcuts().find(o=>o.definition.id===e);return r?r.definition.priority:0}i(rN,"getShortcutPriority");import oN,{createContext as iN,useContext as sN,useState as U0,useCallback as cy}from"react";var G0=iN(null);function ly({children:e,initialContext:t="input"}){let[n,r]=U0(!1),[o,s]=U0(t);Br().registerAll(Na);let c=cy(()=>{r(p=>!p)},[]),l=cy(()=>{let h=Br().getAllShortcuts(),g={global:[],mode:[],navigation:[],editing:[]};for(let C of h){let b=C.definition.category;g[b]||(g[b]=[]),g[b].push(C)}return g},[]),d=cy(()=>Br().getShortcutsByContext(o),[o]),f={showHelp:n,toggleHelp:c,setShowHelp:r,currentContext:o,setCurrentContext:s,getShortcutsByCategory:l,getContextShortcuts:d};return oN.createElement(G0.Provider,{value:f},e)}i(ly,"ShortcutsProvider");function uy(){let e=sN(G0);if(!e)throw new Error("useShortcutsContext must be used within a ShortcutsProvider");return e}i(uy,"useShortcutsContext");import aN from"chalk";var K0={off:0,minimal:1,low:2,medium:3,high:4,xhigh:5,max:6,auto:7};function cN(e,t){let n=e.indexOf(t);if(n!==-1)return n;let r=K0[t];if(r===void 0)return-1;let o=-1,s=-1;for(let a=0;a<e.length;a++){let c=K0[e[a]];c===void 0||c>r||c>s&&(s=c,o=a)}return o}i(cN,"nearestCycleIndex");function dy({currentConfig:e,setCurrentConfig:t,isLoading:n,abort:r,stopThinking:o,clearThinkingContent:s,setCurrentTool:a,setIsLoading:c,onToggleHelp:l,setShowHelp:d,onSetThinking:f,onSetReasoningMode:p,onToggleTranscriptMode:h,onOpenTranscriptSearch:g,canOpenTranscriptSearch:C=!0,isInteractiveDialogActive:b=!1,onSetAgentMode:T,onSetPermissionMode:S,isInputEmpty:w,onSavePermissionMode:M}){let O=i(A=>A?.name?.toLowerCase()==="c"&&A.ctrl===!0,"isCtrlCInterrupt");return mo("interrupt",A=>O(A)&&n?(r(),o(),s(),a(void 0),c(!1),console.log(aN.yellow(`
82
+ [Interrupted]`)),!0):!1,{isActive:n}),mo("showHelp",()=>b?!1:w?(l(),!0):!1,{isActive:w}),mo("toggleThinking",()=>{if(b)return!1;let A=ST(e.provider,e.model);if(A.length===0)return!1;let N=e.permissionMode==="plan"&&!e.effortOverride&&e.planModeEffort!==void 0?e.planModeEffort:e.effortOverride?e.effort:void 0,K=cN(A,N===void 0||N==="auto"?"auto":N==="none"?"off":N),q=A[(K+1)%A.length]??A[0],x=q==="auto"?void 0:q==="off"?"none":q,Se=q!=="auto",ee=q!=="off",H=q==="off"?"off":"auto";return t(E=>({...E,effort:x,effortOverride:Se,thinking:ee,reasoningMode:H})),Ti({effort:x,thinking:ee,reasoningMode:H}),p?.(H),f?.(ee),d(!1),!0}),mo("toggleTranscriptMode",()=>b?!1:(h?.(),d(!1),!0)),mo("openTranscriptSearch",()=>b||!C?!1:(g?.(),d(!1),!0)),mo("togglePermissionMode",()=>{if(b)return!1;let A=["plan","accept-edits","auto"],N=e.permissionMode==="auto-in-project"?"auto":e.permissionMode,K=(A.indexOf(N)+1)%A.length,q=A[K];return t(x=>({...x,permissionMode:q})),S?.(q),M?.(q),d(!1),!0}),mo("toggleAgentMode",()=>{if(b)return!1;let A=OT(e.agentMode);return t(N=>({...N,agentMode:A})),Ti({agentMode:A}),T?.(A),d(!1),!0}),null}i(dy,"GlobalShortcuts");import{exec as lN}from"child_process";import{promisify as uN}from"util";var dN=uN(lN),fN={read:"read",grep:"grep",glob:"glob",write:"write",edit:"edit",bash:"bash",undo:"undo",askuserquestion:"ask-user-question",askuser:"ask-user-question"};function V0(e){let t=[],n="",r=0;for(let o of e){if(o===","&&r===0){n.trim()&&t.push(n.trim()),n="";continue}o==="("?r++:o===")"&&r>0&&r--,n+=o}return n.trim()&&t.push(n.trim()),t}i(V0,"splitTopLevelCommaList");function pN(e){if(!e?.trim())return{configured:!1,rules:[],invalidEntries:[]};let t=[];return{configured:!0,rules:V0(e).map(r=>{if(r==="*")return{tool:"*"};if(r.includes("(")&&!r.endsWith(")")){t.push(r);return}let o=r.match(/^([^(]+?)(?:\((.*)\))?$/);if(!o){t.push(r);return}let s=fN[o[1].replace(/[^a-z]/gi,"").toLowerCase()];if(!s){t.push(r);return}let a=o[2]?V0(o[2]).map(c=>c.trim()).filter(Boolean):void 0;return{tool:s,patterns:a&&a.length>0?a:void 0}}).filter(r=>r!==void 0),invalidEntries:t}}i(pN,"parseAllowedTools");function mN(e){let t=e.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*");return new RegExp(`^${t}$`,"i")}i(mN,"wildcardToRegExp");function z0(e,t){return mN(e).test(t)}i(z0,"matchesPattern");function X0(e,t,n){if(!e.configured)return!0;if(e.rules.length===0)return!1;let r=t.toLowerCase(),o=r==="bash"?String(n.command??"").trim():"";return e.rules.some(s=>s.tool!=="*"&&s.tool!==r?!1:!s.patterns||s.patterns.length===0||r!=="bash"?!0:s.patterns.some(a=>z0(a,o)))}i(X0,"isToolAllowed");function hN(e,t){return e.matcher?z0(e.matcher,t):!0}i(hN,"hookMatches");function gN(e){let t=e.source==="skill"?"skill":e.source==="extension"?"extension command":"command";return[`Note: ${e.displayName} has model invocation disabled.`,`The ${t} content is shown below for manual use:`,"",`--- ${e.displayName} ---`,e.prompt,`--- end ${e.displayName} ---`].join(`
83
+ `)}i(gN,"formatManualOutput");function yN(e,t){if(!t)return;let n=t.trim();if(n){if(!["haiku","sonnet","opus"].includes(n))return n;if(e==="anthropic")switch(n){case"haiku":return"claude-3-5-haiku-latest";case"opus":return"claude-opus-4-1";default:return"claude-sonnet-4-6"}}}i(yN,"resolveModelOverride");async function xN(e,t,n,r,o,s){let a=typeof n.displayName=="string"?n.displayName:"frontmatter invocation",c={command:t.command,_reason:`Frontmatter hook ${e} for ${a}`,_frontmatterHook:!0,_hookEvent:e,_hookMatcher:t.matcher};if(!X0(s,"bash",c))return{allow:!1,message:`Hook ${e} for ${a} is blocked by allowed-tools policy.`};if(o.beforeToolExecute&&!await o.beforeToolExecute("bash",c))return{allow:!1,message:`Hook ${e} for ${a} was blocked by the current permission policy.`};try{let{stdout:l,stderr:d}=await dN(t.command,{env:{...process.env,KODAX_HOOK_EVENT:e,KODAX_HOOK_PAYLOAD:JSON.stringify(n)},maxBuffer:1048576,windowsHide:!0}),f=[l.trim(),d.trim()].filter(Boolean).join(`
84
+ `);f&&o.onToolResult?.({id:`frontmatter-hook:${e}`,name:"bash",content:f}),d.trim()&&await r(`[Hook ${e} stderr] ${d.trim()}`);let p=l.trim();if(!p)return{};try{let h=JSON.parse(p);return{allow:typeof h.allow=="boolean"?h.allow:typeof h.continue=="boolean"?h.continue:void 0,message:typeof h.message=="string"?h.message:void 0,additionalContext:typeof h.additionalContext=="string"?h.additionalContext:typeof h.additional_context=="string"?h.additional_context:void 0}}catch{return{message:p,additionalContext:p}}}catch(l){return await r(`[Hook ${e} failed] ${l instanceof Error?l.message:String(l)}`),{}}}i(xN,"executeHookCommand");async function Ba(e,t,n,r,o,s,a){let c=e?.[t];if(!c||c.length===0)return{};let l={};for(let d of c){if(!hN(d,n))continue;let f=await xN(t,d,r,o,s,a);if(f.message&&await o(`[Hook ${t}] ${f.message}`),f.additionalContext&&(l.additionalContext=l.additionalContext?`${l.additionalContext}
85
+ ${f.additionalContext}`:f.additionalContext),f.allow===!1){l.allow=!1;break}}return l}i(Ba,"runHooks");async function Wp(e,t,n,r){if(t.disableModelInvocation)return{mode:"manual",manualOutput:gN(t),finalize:i(async()=>{},"finalize")};let o=e.events??{},s=pN(t.allowedTools),a=yN(e.provider,t.model),c=!1,l=i(async T=>{if(r(T),!(c||!t.hooks?.Notification?.length)){c=!0;try{await Ba(t.hooks,"Notification",T,{displayName:t.displayName,source:t.source,path:t.path,message:T},async S=>{r(S)},o,s)}finally{c=!1}}},"emitWithNotifications");t.model&&!a&&await l(`[Info] Model preference '${t.model}' is not supported by provider '${e.provider}', using the current model.`),s.invalidEntries.length>0&&await l(`[Warning] ${t.displayName} has invalid allowed-tools entries: ${s.invalidEntries.join(", ")}`),s.configured&&s.rules.length===0&&await l(`[Warning] ${t.displayName} has no valid allowed-tools entries, so all tool execution will be blocked.`);let d=await Ba(t.hooks,"SessionStart",t.displayName,{displayName:t.displayName,source:t.source,path:t.path},l,o,s);if(d.allow===!1)return{mode:"manual",manualOutput:`[Blocked] ${t.displayName} was stopped before execution.`,finalize:i(async()=>{},"finalize")};let f=await Ba(t.hooks,"UserPromptSubmit",n,{displayName:t.displayName,source:t.source,prompt:n,path:t.path},l,o,s);if(f.allow===!1)return{mode:"manual",manualOutput:`[Blocked] ${t.displayName} was stopped by a UserPromptSubmit hook.`,finalize:i(async()=>{},"finalize")};let p=[t.agent?`Preferred agent: ${t.agent}`:void 0,d.additionalContext,f.additionalContext].filter(T=>typeof T=="string"&&T.trim().length>0),h=[p.length>0?p.join(`
86
+
87
+ `):void 0,t.prompt,`User request: ${n}`].filter(T=>typeof T=="string"&&T.trim().length>0),g={...o,beforeToolExecute:i(async(T,S,w)=>X0(s,T,S)?(await Ba(t.hooks,"PreToolUse",T,{tool:T,input:S,displayName:t.displayName,source:t.source,path:t.path},l,o,s)).allow===!1?(await l(`[Blocked] PreToolUse hook blocked '${T}' for ${t.displayName}`),!1):o.beforeToolExecute?await o.beforeToolExecute(T,S,w):!0:(await l(`[Blocked] Tool '${T}' is not allowed by ${t.displayName}`),!1),"beforeToolExecute"),onToolResult:i((T,S)=>{o.onToolResult?.(T,S),Ba(t.hooks,"PostToolUse",T.name,{...T,displayName:t.displayName,source:t.source,path:t.path},l,o,s)},"onToolResult")},C=!1,b=i(async T=>{C||(C=!0,await Ba(t.hooks,t.context==="fork"?"SubagentStop":"Stop",t.displayName,{displayName:t.displayName,source:t.source,path:t.path,error:T?.message},l,o,s))},"finalize");return{mode:t.context==="fork"?"fork":"inline",prompt:h.join(`
88
+
89
+ `),options:{...e,modelOverride:a,context:{...e.context,...t.workflowIntent?{workflowIntent:t.workflowIntent}:{},rawUserInput:n,skillInvocation:t.source==="skill"?t.skillInvocation:e.context?.skillInvocation},events:g},finalize:b}}i(Wp,"prepareInvocationExecution");import{appendFileSync as SN,mkdirSync as wN,writeFileSync as TN}from"node:fs";import{join as q0}from"node:path";import Y0 from"node:v8";var my=parseInt(process.env.KODAX_MEMORY_DIAG??"0",10),hy=my>=1,gy=gi(),J0=q0(gy,"memory-diag.log"),fy=0,py=!1;function Q0(){if(!py)try{wN(gy,{recursive:!0}),py=!0}catch{py=!0}}i(Q0,"ensureLogDir");function CN(e){Q0();try{SN(J0,e+`
90
+ `)}catch{}}i(CN,"writeLog");function Lt(e){return`${(e/1024/1024).toFixed(2)}MB`}i(Lt,"formatMB");function IN(){return typeof globalThis.gc=="function"?(globalThis.gc(),!0):!1}i(IN,"tryGC");function vt(e){return e?e.length*2:0}i(vt,"strBytes");function Vi(e,t=0){if(t>8)return 0;if(e==null)return 8;if(typeof e=="string")return e.length*2;if(typeof e=="number"||typeof e=="boolean")return 8;if(Array.isArray(e)){let n=32;for(let r of e)n+=Vi(r,t+1);return n}if(typeof e=="object"){let n=64;for(let[r,o]of Object.entries(e))n+=r.length*2,n+=Vi(o,t+1);return n}return 16}i(Vi,"estimateJsonBytes");function Z0(e){if(!e||typeof e!="object")return 64;let t=e,n=64,r=new Set(["type","text","thinking","content","partial_json","input","data","signature","path","mediaType","tool_use_id","id","name","is_error"]);if(typeof t.text=="string"&&(n+=t.text.length*2),typeof t.thinking=="string"&&(n+=t.thinking.length*2),typeof t.content=="string")n+=t.content.length*2;else if(Array.isArray(t.content))for(let o of t.content)n+=Z0(o);typeof t.partial_json=="string"&&(n+=t.partial_json.length*2),typeof t.data=="string"&&(n+=t.data.length*2),typeof t.signature=="string"&&(n+=t.signature.length*2),typeof t.path=="string"&&(n+=t.path.length*2),t.input!==void 0&&(n+=Vi(t.input));for(let[o,s]of Object.entries(t))r.has(o)||(n+=o.length*2+Vi(s));return n}i(Z0,"estimateBlockBytes");function yy(e){if(typeof e.content=="string")return e.content.length*2+64;if(Array.isArray(e.content)){let t=64;for(let n of e.content)t+=Z0(n);return t}return 200}i(yy,"estimateMessageBytes");function Vl(e){let t=128;switch(t+=vt(e.id)+vt(e.parentId??void 0)+vt(e.timestamp),e.type){case"message":return t+yy(e.message);case"compaction":return t+=vt(e.summary),t+=vt(e.firstKeptEntryId),t+=vt(e.reason),t+=vt(e.artifactLedgerId),e.details!==void 0&&(t+=Vi(e.details)),e.memorySeed!==void 0&&(t+=Vi(e.memorySeed)),t;case"branch_summary":return t+=vt(e.summary),t+=vt(e.fromId),e.details!==void 0&&(t+=Vi(e.details)),t;case"label":return t+=vt(e.targetId),t+=vt(e.label),t;case"archive_marker":return t+=vt(e.archiveBatchId),t+=vt(e.summary),t+=8,t;case"rewind_marker":return t+=vt(e.targetId),t+=vt(e.fromId),t+=vt(e.summary),t+=8,t;default:return t}}i(Vl,"estimateEntryBytes");function vN(e){let t={},n=[];for(let o=0;o<e.length;o++){let s=e[o],a=yy(s);n.push({index:o,role:s.role,bytes:a});let c=t[s.role]??{count:0,bytes:0};c.count++,c.bytes+=a,t[s.role]=c}return n.sort((o,s)=>s.bytes-o.bytes),{totalBytes:n.reduce((o,s)=>o+s.bytes,0),biggest:n.slice(0,5),byRole:t}}i(vN,"buildMessageBreakdown");function Fp(){return hy}i(Fp,"memDiagEnabled");function jp(e,t){if(!hy)return;e==="turn-start"&&fy++;let n=process.memoryUsage(),r=new Date().toISOString(),o=t.biggestMessages,s=["",`\u2550\u2550\u2550 [MEMDIAG] turn=${fy} phase=${e} @${r} \u2550\u2550\u2550`,` V8 heap: used=${Lt(n.heapUsed)} total=${Lt(n.heapTotal)} rss=${Lt(n.rss)} ext=${Lt(n.external)}`," \u2500\u2500 Data breakdown \u2500\u2500",` context.messages: ${t.messageCount} msgs, ${Lt(t.messageBytes)}`,` lineage.entries: ${t.lineageEntryCount} total (msg=${t.lineageMessageEntryCount}, compact=${t.lineageCompactionCount}, branch=${t.lineageBranchSummaryCount}, label=${t.lineageLabelCount}, archive=${t.lineageArchiveMarkerCount}, rewind=${t.lineageRewindMarkerCount})`,` lineage non-message: ${Lt(t.lineageNonMessageBytes)} (sidecar payloads)`,` lineage orphan messages: ${t.lineageOrphanMessageCount} msgs, ${Lt(t.lineageOrphanMessageBytes)} (in lineage but not in context.messages \u2014 branches/pruned)`,` UI history: ${t.historyItemCount} items, ${Lt(t.historyTextBytes)}`,` foreground turn: ${t.foregroundItemCount} items, ${Lt(t.foregroundTextBytes)}`,` streaming response: ${Lt(t.streamingResponseBytes)}`,` streaming thinking: ${Lt(t.streamingThinkingBytes)}`,` persisted UI history: ${t.persistedUiHistoryCount} items, ${Lt(t.persistedUiHistoryBytes)}`];if(o.length>0){s.push(" \u2500\u2500 Top 5 biggest messages \u2500\u2500");for(let d of o)s.push(` [${d.index}] role=${d.role} ${Lt(d.bytes)}`)}let a=t.messageBytes+t.lineageNonMessageBytes+t.lineageOrphanMessageBytes+t.historyTextBytes+t.foregroundTextBytes+t.streamingResponseBytes+t.streamingThinkingBytes+t.persistedUiHistoryBytes;s.push(" \u2500\u2500 V8 heap spaces \u2500\u2500");let c=Y0.getHeapSpaceStatistics();for(let d of c)d.space_used_size>1024*1024&&s.push(` ${d.space_name.padEnd(25)} used=${Lt(d.space_used_size)} allocated=${Lt(d.space_size)}`);if(s.push(" \u2500\u2500 Summary \u2500\u2500"),s.push(` tracked data total: ${Lt(a)}`),s.push(` V8 heap used: ${Lt(n.heapUsed)}`),s.push(` unaccounted (overhead): ${Lt(n.heapUsed-a)}`),s.push(" (React/Ink tree, provider SDK buffers, module metadata,"),s.push(' tokenizer caches, source maps \u2014 see "Blind spots" note)'),IN()){let d=process.memoryUsage();s.push(` after forced GC: heap=${Lt(d.heapUsed)} (freed ${Lt(n.heapUsed-d.heapUsed)})`)}else s.push(" after forced GC: UNAVAILABLE \u2014 re-run with `node --expose-gc` to distinguish"),s.push(` "real leak" from "GC hasn't run yet".`);if(my>=2)try{let d=q0(gy,`heap-turn${fy}-${e}.heapsnapshot`);Y0.writeHeapSnapshot(d),s.push(` heap snapshot: ${d}`)}catch{s.push(" heap snapshot: FAILED")}CN(s.join(`
91
+ `))}i(jp,"memDiagSnapshot");function Up(e,t,n){let r=vN(e),o=new Set(e),s=0,a=0,c=0,l=0,d=0,f=0,p=0,h=0,g=0,C=t?.entries??[];for(let w of C)switch(w.type){case"message":g++,o.has(w.message)||(c++,a+=yy(w.message));break;case"compaction":l++,s+=Vl(w);break;case"branch_summary":d++,s+=Vl(w);break;case"label":f++,s+=Vl(w);break;case"archive_marker":p++,s+=Vl(w);break;case"rewind_marker":h++,s+=Vl(w);break}let b=0;for(let w of n.historyItems)b+=vt(w.text);let T=0;for(let w of n.foregroundItems)T+=vt(w.text);let S=0;for(let w of n.persistedUiHistory)S+=vt(w.text);return{messageCount:e.length,messageBytes:r.totalBytes,biggestMessages:r.biggest,lineageEntryCount:C.length,lineageMessageEntryCount:g,lineageCompactionCount:l,lineageBranchSummaryCount:d,lineageLabelCount:f,lineageArchiveMarkerCount:p,lineageRewindMarkerCount:h,lineageNonMessageBytes:s,lineageOrphanMessageBytes:a,lineageOrphanMessageCount:c,historyItemCount:n.historyItems.length,historyTextBytes:b,foregroundItemCount:n.foregroundItems.length,foregroundTextBytes:T,streamingResponseBytes:vt(n.streamingResponse),streamingThinkingBytes:vt(n.streamingThinking),persistedUiHistoryCount:n.persistedUiHistory.length,persistedUiHistoryBytes:S}}i(Up,"buildMemDiagBreakdown");function eR(){if(hy){Q0();try{let e=typeof globalThis.gc=="function",t=[`[MEMDIAG] Session started at ${new Date().toISOString()}`,`[MEMDIAG] Level=${my} gc=${e?"available":"UNAVAILABLE (run with node --expose-gc)"}`,"[MEMDIAG] Blind spots: React/Ink trees, provider SDK buffers, WeakMap/Map caches,","[MEMDIAG] tokenizer internal state, source-map strings, native handles.",'[MEMDIAG] A large "unaccounted" number living in these buckets is expected;',"[MEMDIAG] use Level 2 (KODAX_MEMORY_DIAG=2) to dump heap snapshots for DevTools.",""].join(`
92
+ `);TN(J0,t+`
93
+ `)}catch{}}}i(eR,"memDiagReset");import bN from"node:fs";import Sy from"node:path";var RN={".gif":"image/gif",".jpeg":"image/jpeg",".jpg":"image/jpeg",".png":"image/png",".webp":"image/webp"},kN=/@(?:"([^"]+)"|'([^']+)'|([^\s]+))/g;function EN(e){return RN[Sy.extname(e).toLowerCase()]}i(EN,"resolveImageMediaType");var xy="[Image unavailable]";function MN(e){return""}i(MN,"buildImageAnchor");function Ha(e,t){let n=[],r=[],o=new Set,s=new Map,a=new Set,c=[],l=0;for(let f of e.matchAll(kN)){let p=f.index??l;c.push(e.slice(l,p));let h=f[1]??f[2]??f[3];if(!h){c.push(f[0]),l=p+f[0].length;continue}let g=EN(h);if(!g){c.push(f[0]),l=p+f[0].length;continue}let C=Sy.resolve(t,h);try{if(!bN.statSync(C).isFile()){a.has(C)||(r.push(`[Image input skipped] ${h} is not a file.`),a.add(C)),c.push(xy),l=p+f[0].length;continue}}catch{a.has(C)||(r.push(`[Image input missing] ${h} was not found from ${t}.`),a.add(C)),c.push(xy),l=p+f[0].length;continue}if(!o.has(C)){o.add(C);let b=MN(n.length+1);s.set(C,b),n.push({kind:"image",path:C,mediaType:g,source:"user-inline",description:`Attached image ${Sy.basename(C)}`})}c.push(s.get(C)??xy),l=p+f[0].length}c.push(e.slice(l));let d=c.join("");return{promptText:d,messageContent:Kw(d,n),inputArtifacts:n,warnings:r}}i(Ha,"preparePromptInputArtifacts");function tR(e){let t=AN(e.stage),n=_N(e);return{type:"info",icon:"\u{1F4E1}",text:n?`[RepoIntel] ${t} \xB7 ${n}`:`[RepoIntel] ${t}`,tightSpacing:!0}}i(tR,"createRepoIntelTraceHistoryItem");function AN(e){switch(e){case"routing":return"routing";case"preturn":return"preturn";case"module":return"module";case"impact":return"impact";case"task-snapshot":return"task-snapshot";default:return String(e)}}i(AN,"stageDisplayName");function _N(e){let t=[],n=e.capability;n&&(t.push(`mode=${n.mode}`),t.push(`engine=${n.engine}`),n.status!=="ok"&&t.push(`status=${n.status}`));let r=e.trace;return r&&(r.cacheHit!==void 0&&t.push(r.cacheHit?"cache hit":"cache miss"),r.capsuleEstimatedTokens!==void 0&&t.push(`${LN(r.capsuleEstimatedTokens)} tokens`)),t.length===0&&e.summary?PN(e.summary):t.join(" \xB7 ")}i(_N,"buildRepoIntelDetailLine");function LN(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}i(LN,"formatTokens");function PN(e){return e.replace(/^stage=[^|]+\|\s*/,"").trim()}i(PN,"stripSummaryStagePrefix");function nR(e,t,n,r,o){let s=e?.gitRoot??t??void 0,a=e?.executionCwd??o??s??process.cwd();return{...e,gitRoot:s,executionCwd:a,contextTokenSnapshot:n,taskSurface:"repl",skillsPrompt:r}}i(nR,"buildManagedRunContext");var $N=["global","mode","navigation","editing"],DN={global:["showHelp","interrupt"],mode:["toggleThinking","toggleTranscriptMode","togglePermissionMode","toggleAgentMode"],navigation:["openTranscriptSearch","historyUp","historyDown","moveToStart","moveToEnd"],editing:["acceptCompletion","cancelInput","newline","killLineRight","killLineLeft","deleteWordLeft"]},ON={global:"Global",mode:"Modes",navigation:"Navigation",editing:"Editing"},NN={id:"transcript",title:"Transcript",items:[{id:"mode",label:"Ctrl+O transcript mode"},{id:"search",label:"Ctrl+F search transcript"},{id:"browse",label:"PgUp/PgDn/j/k scroll"},{id:"match",label:"n/N next match"},{id:"latest",label:"End back to live"},{id:"exit",label:"q or Esc back to live"}]};function BN(e){let t=Br(),n=t.getAllShortcuts().find(o=>o.definition.id===e);if(n?.effectiveBindings?.length)return t.formatBindings(n.effectiveBindings);let r=Na.find(o=>o.id===e);if(r?.defaultBindings?.length)return t.formatBindings(r.defaultBindings)}i(BN,"resolveShortcutBindingLabel");function HN(e){return`${BN(e.id)??e.id} ${e.name}`}i(HN,"buildMenuItemLabel");function WN(e){return Br().getAllShortcuts().find(r=>r.definition.id===e)?.definition??Na.find(r=>r.id===e)}i(WN,"resolveShortcutDefinition");function Gp(){return[...$N.map(t=>{let n=DN[t].map(r=>WN(r)).filter(r=>!!r).map(r=>({id:r.id,label:HN(r)}));return{id:t,title:ON[t],items:n}}).filter(t=>t.items.length>0),NN]}i(Gp,"buildHelpMenuSections");var wy=2,rR=1,oR=4;function lt(e,t){let n=fn(e.length>0?e.split(`
94
+ `):[""],Math.max(1,t),0,0);return Math.max(1,n.visualLines.length)}i(lt,"wrapLineCount");function FN(e,t,n=">"){let r=n.length+1,o=Math.max(20,t-r),s=fn(e.length>0?e.split(`
95
+ `):[""],o,0,0);return Math.max(1,s.visualLines.length)+2}i(FN,"calculateInputPromptRows");function iR(e){let{terminalRows:t,terminalWidth:n,windowedTranscript:r=!1,inputText:o,inputPrompt:s=">",footerHeaderText:a,activitySummary:c,pendingInputSummary:l,stashNoticeSummary:d,notificationSummary:f,statusNoticeSummary:p,workStripText:h,suggestionsReserved:g,suggestionsMode:C="inline",showHelp:b,statusBarText:T,confirmPrompt:S,confirmInstruction:w,uiRequest:M,dialogMode:O="inline",historySearch:A,maxVisibleSelectOptions:N=5,reviewHint:X,todoSurfaceRows:K=0,workflowSurfaceRows:q=0,childActivitySurfaceRows:x=0,activityBarVisible:Se=!1}=e,ee=Math.max(0,Math.floor(K)),H=Math.max(0,Math.floor(q)),E=Math.max(0,Math.floor(x)),Z=a?lt(a,Math.max(1,n-2)):0,B=c?lt(c,Math.max(1,n-2)):0,le=Se?1:B,ue=l?lt(l,Math.max(1,n-2)):0,he=d?lt(d,Math.max(1,n-2)):0,Te=f?lt(f,Math.max(1,n-2)):0,pe=p?lt(p,Math.max(1,n-2)):0,Ie=h?lt(h,Math.max(1,n-2)):0,Fe=FN(o,n,s),Q=g?8:0,de=b?rR+oR+Gp().reduce((Ve,Et)=>Ve+lt(Et.title,Math.max(1,n-wy))+lt(Et.items.map(P=>P.label).join(" | "),Math.max(1,n-wy)),0):0,we=lt(T,Math.max(1,n-2)),st=0;if(S&&w){let Ve=Math.max(1,n-4);st=3+lt(`[Confirm] ${S}`,Ve)+lt(w,Ve)}let yt=0,je=0;if(M){let Ve=Math.max(1,n-4);M.kind==="select"?(je=Math.min(N,M.options.length),yt=3+lt(`[Select] ${M.title}`,Ve)+M.options.slice(0,je).reduce((Et,P,G)=>Et+lt(`${G+1}. ${P.label}${P.description?` - ${P.description}`:""}`,Ve),0)+(M.options.length>je?2:0)+lt(`Choice: ${M.buffer||"(type a number)"}`,Ve)+1+(M.error?lt(M.error,Ve):0)):yt=3+lt(`[Input] ${M.prompt}`,Ve)+(M.defaultValue!==void 0?lt(`Default: ${M.defaultValue}`,Ve):0)+lt(`Value: ${M.buffer||"(type your response)"}`,Ve)+1+(M.error?lt(M.error,Ve):0)}let J=0;if(A){let Ve=Math.max(1,n-4);J=3+lt(`Query: ${A.query||"(type to search)"}`,Ve)+(A.matchCount===0?lt("No matches yet",Ve):lt(`${Math.max(1,A.matchCount)} matches`,Ve)+lt(A.selectedExcerpt||"",Ve))+1}let me=X?lt(X,Math.max(1,n-2)):0,Me=Z+le+H+ee+E+ue+he+Te+Fe+de+pe+me+(C==="inline"?Q:0)+(O==="inline"?st+yt+J:0),xe=(C==="overlay"?Q:0)+(O==="overlay"?st+yt+J:0),Be=Me+Ie+we,ut=Math.max(1,t-Be);return{messageRows:ut,reservedBottomRows:Be,headerRows:Z,activityRows:le,pendingInputRows:ue,stashNoticeRows:he,notificationRows:Te,workStripRows:Ie,inputRows:Fe,suggestionsRows:Q,helpRows:de,statusNoticeRows:pe,statusRows:we,confirmRows:st,uiRequestRows:yt,historySearchRows:J,footerRows:Me,overlayRows:xe,visibleSelectOptions:je,reviewHintRows:me,todoSurfaceRows:ee,workflowSurfaceRows:H,childActivitySurfaceRows:E,slots:[{name:"transcript",rows:ut},{name:"footer",rows:Me},{name:"overlay",rows:xe},{name:"status",rows:we},{name:"task-bar",rows:Ie}]}}i(iR,"calculateViewportBudget");function sR(e,t={}){let n=Ei(e,{rendererMode:t.rendererMode??"owned"});return{hostProfile:e,surface:"prompt",buffering:n.bufferingMode,ownsViewportByDefault:n.ownsViewportByDefault,supportsMouseTracking:n.supportsMouseTracking,supportsFullscreenLayout:n.supportsFullscreenLayout,supportsOverlaySurface:n.supportsOverlaySurface,supportsSelection:n.supportsSelection,supportsCopyOnSelect:n.supportsCopyOnSelect,supportsWheelHistory:n.supportsWheelHistory,supportsViewportChrome:n.supportsViewportChrome,supportsSearchViewport:n.supportsSearchViewport,supportsStickyPrompt:n.supportsStickyPrompt,scrollAnchor:0,jumpToLatestAvailable:!1,stickyPromptVisible:!1,selectionMode:"none",selectedItemId:void 0,searchMode:"closed",searchAnchorItemId:void 0,currentMatchIndex:0,pendingLiveUpdates:0}}i(sR,"createTranscriptDisplayState");function aR(e){return{...e,surface:"transcript",jumpToLatestAvailable:e.pendingLiveUpdates>0}}i(aR,"enterTranscriptMode");function cR(e){return{...e,surface:"prompt",scrollAnchor:0,jumpToLatestAvailable:!1,selectionMode:"none",selectedItemId:void 0,searchMode:"closed",searchAnchorItemId:void 0,currentMatchIndex:0,pendingLiveUpdates:0}}i(cR,"exitTranscriptMode");function lR(e,t){let n=Math.max(0,t);return{...e,pendingLiveUpdates:n,jumpToLatestAvailable:e.surface==="transcript"?n>0:e.scrollAnchor>0}}i(lR,"setTranscriptPendingLiveUpdates");function uR(e,t){let n=Math.max(0,t);return{...e,scrollAnchor:n,jumpToLatestAvailable:e.surface==="transcript"?e.pendingLiveUpdates>0:n>0}}i(uR,"setTranscriptScrollAnchor");function dR(e){return{...e,surface:"prompt",scrollAnchor:0,jumpToLatestAvailable:!1,selectionMode:"none",selectedItemId:void 0,searchMode:"closed",searchAnchorItemId:void 0,currentMatchIndex:0,pendingLiveUpdates:0}}i(dR,"jumpTranscriptToLatest");function fR(e,t){return{...e,stickyPromptVisible:t}}i(fR,"setTranscriptStickyPromptVisible");function Wa(e,t){return{...e,selectedItemId:t,selectionMode:t?"message":"none"}}i(Wa,"setTranscriptSelectedItem");function pR(e,t){return{...e,surface:"transcript",searchMode:"history",searchAnchorItemId:t?.anchorItemId??e.selectedItemId??e.searchAnchorItemId,currentMatchIndex:Math.max(0,t?.initialMatchIndex??e.currentMatchIndex),jumpToLatestAvailable:e.pendingLiveUpdates>0}}i(pR,"openTranscriptSearch");function mR(e){return{...e,searchMode:"closed",searchAnchorItemId:void 0,currentMatchIndex:0}}i(mR,"closeTranscriptSearch");function hR(e,t){return{...e,currentMatchIndex:Math.max(-1,t)}}i(hR,"setTranscriptSearchMatchIndex");function gR(e){return e.supportsFullscreenLayout&&e.ownsViewportByDefault}i(gR,"shouldWindowTranscript");function yR(e){return e.surface==="transcript"}i(yR,"shouldPauseLiveTranscript");function Ty(e){return e.supportsSelection}i(Ty,"ownsTranscriptSelectionPath");function Kp(e,t,n){if(!(!Ty(e)||!n))return t.includes(n)?n:void 0}i(Kp,"resolveTranscriptSelectedItemId");function xR(e){return e.supportsSelection&&e.supportsCopyOnSelect}i(xR,"supportsPassiveTranscriptCopyOnSelect");function SR(e){if(e.surface==="transcript")return"Transcript | PgUp/PgDn page | j/k scroll | \u2190/\u2192 select | / search | n/N matches | q/Esc/Ctrl+O back"}i(SR,"buildTranscriptBrowseHint");var wR="Slash commands cannot be queued mid-task. Press Esc twice or Ctrl+C to abort the current task, then run the command.",TR="slash-guard";function CR(e){return e.trimStart().startsWith("/")}i(CR,"isSlashCommandText");var jN=`
96
+
97
+ ---
98
+
99
+ `;async function IR(e){let{initialPrompt:t,runRound:n,shiftPendingPrompt:r,onRoundComplete:o,onBeforeQueuedRound:s,shouldContinue:a=i(()=>!0,"shouldContinue"),shouldDrainQueuedPrompts:c=i(()=>!0,"shouldDrainQueuedPrompts")}=e,l=t,d=await n(l);for(;;){if(await o?.(d),!a(d)||!c())return d;let f=[];for(;;){let p=r();if(p===void 0)break;let h=typeof p=="string"?p.trim():"";h.length>0&&f.push(h)}if(f.length===0)return d;l=f.length===1?f[0]:f.join(jN),await s?.(l),d=await n(l)}}i(IR,"runQueuedPromptSequence");function bR(e){return e.itemsLength>0||e.currentResponse.length>0||e.thinkingContent.length>0||e.activeToolCallsLength>0}i(bR,"hasTranscriptInputActivity");function UN(e){return e.keyName==="mouse"&&e.hasMouse&&e.usesManagedMouseClicks&&e.supportsMouseTracking&&e.usesRendererMouseTracking}i(UN,"shouldHandleManagedTranscriptMouse");function vR(e){return e.usesManagedMouseWheel&&e.supportsWheelHistory&&e.hasTranscript}i(vR,"shouldHandleManagedTranscriptWheel");function RR(e){if(UN({keyName:e.keyName,hasMouse:e.hasMouse,usesManagedMouseClicks:e.usesManagedMouseClicks,supportsMouseTracking:e.supportsMouseTracking,usesRendererMouseTracking:e.usesRendererMouseTracking})){if(e.mouseButton!=="left")return{kind:"none"};if(e.mouseAction==="press"||e.mouseAction==="drag"||e.mouseAction==="release")return{kind:"mouse-phase",phase:e.mouseAction}}return e.keyName==="pageup"?e.hasTranscript?{kind:"scroll-by",delta:e.reviewPageSize}:{kind:"consume"}:e.keyName==="wheelup"?vR({usesManagedMouseWheel:e.usesManagedMouseWheel,supportsWheelHistory:e.supportsWheelHistory,hasTranscript:e.hasTranscript})?{kind:"scroll-by",delta:e.reviewWheelStep}:{kind:"none"}:e.keyName==="wheeldown"?vR({usesManagedMouseWheel:e.usesManagedMouseWheel,supportsWheelHistory:e.supportsWheelHistory,hasTranscript:e.hasTranscript})?e.historyScrollOffset===0?{kind:"consume"}:{kind:"scroll-by",delta:-e.reviewWheelStep}:{kind:"none"}:{kind:"none"}}i(RR,"resolveTranscriptPointerAction");function kR(e){return e.isTranscriptMode&&e.hasTextSelection}i(kR,"shouldDeferInterruptToTranscriptSelectionCopy");function ER(e){return e.hasActiveWorkflow?e.ctrl&&e.keyName==="c"?!kR({isTranscriptMode:e.isTranscriptMode,hasTextSelection:e.hasTranscriptTextSelection}):e.keyName!=="escape"||e.isTranscriptMode||e.isAwaitingUserInteraction?!1:e.isDoubleEscape&&e.isInputEmpty&&e.pendingInputCount===0:!1}i(ER,"shouldStopWorkflowFromInterruptKey");function MR(e){return e.ctrl&&e.keyName==="c"?kR({isTranscriptMode:e.isTranscriptMode,hasTextSelection:e.hasTranscriptTextSelection})?{kind:"none"}:{kind:"interrupt"}:e.keyName!=="escape"?{kind:"none"}:e.isTranscriptMode||e.isAwaitingUserInteraction?{kind:"none"}:e.isInputEmpty&&e.pendingInputCount>0?{kind:"pop-pending-input"}:e.isInputEmpty?e.isDoubleEscape?{kind:"interrupt"}:{kind:"none"}:{kind:"none"}}i(MR,"resolveStreamingInterruptAction");function AR(e){let{key:t,isTranscriptMode:n,isHistorySearchActive:r,historySearchMatchCount:o,hasTextSelection:s,hasFocusedItem:a,canCopySelectedItem:c,canCopySelectedToolInput:l,canToggleSelectedDetail:d,canCycleTranscriptSelection:f}=e;if(t.name==="pageup")return{kind:"scroll-page-up"};if(r){if(t.name==="escape")return{kind:"close-history-search"};if(t.name==="backspace")return{kind:"history-search-backspace"};if(t.name==="down")return{kind:"history-search-step",direction:"next"};if(t.name==="up")return{kind:"history-search-step",direction:"prev"};if(t.name==="enter"||t.name==="return")return{kind:"history-search-submit"};if(t.insertable&&t.sequence)return{kind:"history-search-append",text:t.sequence}}return n&&!r&&!t.ctrl&&!t.meta&&t.insertable&&t.sequence==="/"?{kind:"open-history-search"}:n&&!t.ctrl&&!t.meta&&t.name==="q"?{kind:"exit-transcript"}:n&&t.name==="escape"?s||a?{kind:"clear-selection-focus"}:{kind:"exit-transcript"}:t.name==="home"?{kind:"scroll-home"}:t.name==="pagedown"?{kind:"scroll-page-down"}:t.name==="end"?{kind:"scroll-end"}:n?t.ctrl&&!t.meta&&t.name==="e"?{kind:"toggle-show-all"}:t.name==="j"||t.name==="down"?{kind:"scroll-line-down"}:t.name==="k"||t.name==="up"?{kind:"scroll-line-up"}:!t.ctrl&&!t.meta&&t.name==="g"&&t.shift?{kind:"jump-latest"}:!t.ctrl&&!t.meta&&t.name==="g"&&!t.shift?{kind:"jump-oldest"}:t.name==="left"?f?{kind:"cycle-selection",direction:"prev"}:{kind:"none"}:t.name==="right"?f?{kind:"cycle-selection",direction:"next"}:{kind:"none"}:!t.ctrl&&!t.meta&&!t.shift&&t.name==="c"?s?{kind:"copy-selection"}:c?{kind:"copy-item"}:{kind:"none"}:!t.ctrl&&!t.meta&&!t.shift&&t.name==="i"?l?{kind:"copy-tool-input"}:{kind:"none"}:!t.ctrl&&!t.meta&&!t.shift&&t.name==="v"?d?{kind:"toggle-detail"}:{kind:"none"}:!t.ctrl&&!t.meta&&!t.shift&&t.name==="s"?{kind:"dump-to-scrollback"}:!t.ctrl&&!t.meta&&t.name==="n"?o===0?{kind:"none"}:{kind:"search-match-nav",direction:t.shift?"prev":"next"}:{kind:"none"}:{kind:"none"}}i(AR,"resolveTranscriptKeyboardAction");function _R(e){switch(e.action.kind){case"none":return!1;case"scroll-page-up":return e.hasTranscript&&(e.disarmHistorySearchSelection(),e.scrollTranscriptBy(e.pageScrollDelta)),!0;case"close-history-search":return e.closeHistorySearchSurface(),!0;case"history-search-backspace":return e.backspaceHistorySearchQuery(),!0;case"history-search-step":return e.stepHistorySearchSelection(e.action.direction),!0;case"history-search-submit":return e.submitHistorySearchSelection(),!0;case"history-search-append":return e.appendHistorySearchQuery(e.action.text),!0;case"open-history-search":return e.openHistorySearchSurface(),!0;case"clear-selection-focus":return e.clearTranscriptSelectionFocus(),!0;case"exit-transcript":return e.exitTranscriptModeSurface(),!0;case"toggle-show-all":return e.toggleTranscriptShowAll(),!0;case"scroll-home":case"jump-oldest":return e.disarmHistorySearchSelection(),e.scrollTranscriptHome(),!0;case"scroll-page-down":return e.disarmHistorySearchSelection(),e.scrollTranscriptBy(-e.pageScrollDelta),!0;case"scroll-end":return e.isTranscriptMode?(e.exitTranscriptModeSurface(),!0):(e.scrollTranscriptToBottom(),!0);case"scroll-line-down":return e.disarmHistorySearchSelection(),e.scrollTranscriptBy(-1),!0;case"scroll-line-up":return e.disarmHistorySearchSelection(),e.scrollTranscriptBy(1),!0;case"jump-latest":return e.scrollTranscriptToBottom(),!0;case"cycle-selection":return e.cycleTranscriptSelection(e.action.direction),!0;case"copy-selection":return e.copySelectedTranscriptText(),!0;case"copy-item":return e.copySelectedTranscriptItem(),!0;case"copy-tool-input":return e.copySelectedTranscriptToolInput(),!0;case"toggle-detail":return e.toggleSelectedTranscriptDetail(),!0;case"search-match-nav":return e.navigateSearchMatch(e.action.direction),!0;case"dump-to-scrollback":return e.dumpTranscriptToScrollback(),!0;default:return!1}}i(_R,"executeTranscriptKeyboardAction");function Yo(e){let t=/\u001b\[[0-9;?]*[ -/]*[@-~]/g,n=/\u001b\][^\u0007\u001b]*(?:\u0007|\u001b\\)/g,r=/\u001b[@-_]/g;return e.replace(t,"").replace(n,"").replace(r,"")}i(Yo,"stripAnsi");function GN(e){return e.tools.map(n=>`tool: ${n.name}`).join(`
100
+ `)}i(GN,"serializeToolGroup");function KN(e){switch(e.type){case"thinking":return null;case"user":return`user: ${Yo(e.text)}`;case"assistant":return`assistant: ${Yo(e.text)}`;case"system":return`system: ${Yo(e.text)}`;case"info":return`info: ${Yo(e.text)}`;case"error":return`error: ${Yo(e.text)}`;case"event":return`event: ${Yo(e.text)}`;case"hint":return`hint: ${Yo(e.text)}`;case"sidecar":return`sidecar: ${Yo(e.text)}`;case"tool_group":return GN(e);default:return e}}i(KN,"serializeOne");function VN(e){let t=[];for(let n of e){let r=KN(n);r!==null&&r!==""&&t.push(r)}return t.join(`
101
+
102
+ `)}i(VN,"serializeTranscriptForScrollback");function LR(e){let{items:t,writeToScrollback:n,exitAltScreen:r,enterAltScreen:o}=e,s=VN(t);r(),s.length>0&&n(`${s}
103
+ `),o()}i(LR,"dumpTranscriptToNativeScrollback");var Fa={committed:[],width:0,hasBanner:!1};function PR(e,t,n){let r=e.bannerSection!==null,o=e.bannerSection!==null?[e.bannerSection,...e.finalizedSections]:[...e.finalizedSections],s=o.map(t),a={committed:s,width:e.width,hasBanner:r},c=i(f=>({plan:{kind:"rebuild",sections:o,reason:f},nextState:a}),"rebuild"),l=n.committed.length>0;if(l&&n.width!==e.width)return c("width-change");if(l&&n.hasBanner!==r)return c("banner-change");let d=Math.min(n.committed.length,s.length);for(let f=0;f<d;f++){let p=r&&f===0;if(n.committed[f].key!==s[f].key)return c(p?"banner-change":"key-order-change");if(n.committed[f].fingerprint!==s[f].fingerprint)return c(p?"banner-change":"fingerprint-change")}return s.length<n.committed.length?c("source-rewrite"):s.length===n.committed.length?{plan:{kind:"none"},nextState:a}:{plan:{kind:"append",sections:o.slice(n.committed.length)},nextState:a}}i(PR,"planInlineScrollback");import{jsx as ik}from"react/jsx-runtime";import HB from"yoga-layout";import{LegacyRoot as WB}from"react-reconciler/constants.js";import SB from"react-reconciler";import{DefaultEventPriority as wB,NoEventPriority as qR}from"react-reconciler/constants.js";import*as qo from"scheduler";import VR from"yoga-layout";import{createContext as TB}from"react";import aB from"yoga-layout";import zN from"widest-line";var $R=new Map,XN=i(e=>{if(e.length===0)return{width:0,height:0};let t=$R.get(e);if(t)return t;let n=zN(e),r=e.split(`
104
+ `).length,o={width:n,height:r};return $R.set(e,o),o},"measureText"),Cy=XN;import YN from"wrap-ansi";import qN from"cli-truncate";var DR={},JN=i((e,t,n)=>{let r=e+String(t)+String(n),o=DR[r];if(o)return o;let s=e;if(n==="wrap"&&(s=YN(e,t,{trim:!1,hard:!0})),n.startsWith("truncate")){let a="end";n==="truncate-middle"&&(a="middle"),n==="truncate-start"&&(a="start"),s=qN(e,t,{position:a})}return DR[r]=s,s},"wrapText"),Vp=JN;var QN=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=63},"isCsiParameterCharacter"),ZN=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isCsiIntermediateCharacter"),eB=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=64&&t<=126},"isCsiFinalCharacter"),BR=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isEscapeIntermediateCharacter"),tB=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=126},"isEscapeFinalCharacter"),HR=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=128&&t<=159},"isC1ControlCharacter"),OR=i((e,t)=>{let n=t;for(;n<e.length;){let c=e[n];if(!QN(c))break;n++}let r=e.slice(t,n),o=n;for(;n<e.length;){let c=e[n];if(!ZN(c))break;n++}let s=e.slice(o,n),a=e[n];if(!(a===void 0||!eB(a)))return{endIndex:n+1,parameterString:r,intermediateString:s,finalCharacter:a}},"readCsiSequence"),NR=i((e,t,n)=>{for(let r=t;r<e.length;r++){let o=e[r];if(n&&o==="\x07"||o==="\x9C")return r+1;if(o==="\x1B"){let s=e[r+1];if(s==="\x1B"){r++;continue}if(s==="\\")return r+2}}},"findControlStringTerminatorIndex"),nB=i((e,t)=>{let n=t;for(;n<e.length;){let s=e[n];if(!BR(s))break;n++}let r=e.slice(t,n),o=e[n];if(!(o===void 0||!tB(o)))return{endIndex:n+1,intermediateString:r,finalCharacter:o}},"readEscapeSequence"),rB=i(e=>{switch(e){case"]":return{type:"osc",allowBellTerminator:!0};case"P":return{type:"dcs",allowBellTerminator:!1};case"^":return{type:"pm",allowBellTerminator:!1};case"_":return{type:"apc",allowBellTerminator:!1};case"X":return{type:"sos",allowBellTerminator:!1};default:return}},"getControlStringFromEscapeIntroducer"),oB=i(e=>{switch(e){case"\x9D":return{type:"osc",allowBellTerminator:!0};case"\x90":return{type:"dcs",allowBellTerminator:!1};case"\x9E":return{type:"pm",allowBellTerminator:!1};case"\x9F":return{type:"apc",allowBellTerminator:!1};case"\x98":return{type:"sos",allowBellTerminator:!1};default:return}},"getControlStringFromC1Introducer"),Iy=i(e=>{if(e.includes("\x1B"))return!0;for(let t of e)if(HR(t))return!0;return!1},"hasAnsiControlCharacters"),ja=i((e,t,n,r)=>(r>n&&e.push({type:"text",value:t.slice(n,r)}),e.push({type:"invalid",value:t.slice(r)}),e),"malformedFromIndex"),WR=i(e=>{if(!Iy(e))return[{type:"text",value:e}];let t=[],n=0;for(let r=0;r<e.length;){let o=e[r];if(o===void 0)break;if(o==="\x1B"){let a=e[r+1];if(a===void 0)return ja(t,e,n,r);if(a==="["){let d=OR(e,r+2);if(d===void 0)return ja(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=rB(a);if(c!==void 0){let d=NR(e,r+2,c.allowBellTerminator);if(d===void 0)return ja(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=nB(e,r+1);if(l===void 0){if(BR(a))return ja(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),r++,n=r;continue}r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"esc",value:e.slice(r,l.endIndex),intermediateString:l.intermediateString,finalCharacter:l.finalCharacter}),r=l.endIndex,n=r;continue}if(o==="\x9B"){let a=OR(e,r+1);if(a===void 0)return ja(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=oB(o);if(s!==void 0){let a=NR(e,r+1,s.allowBellTerminator);if(a===void 0)return ja(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:s.type,value:e.slice(r,a)}),r=a,n=r;continue}if(o==="\x9C"){r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"st",value:o}),r++,n=r;continue}if(HR(o)){r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"c1",value:o}),r++,n=r;continue}r++}return n<e.length&&t.push({type:"text",value:e.slice(n)}),t},"tokenizeAnsi");var iB=/^[\d:;]*$/,sB=i(e=>{if(!Iy(e))return e;let t="";for(let n of WR(e)){if(n.type==="text"||n.type==="osc"){t+=n.value;continue}n.type==="csi"&&n.finalCharacter==="m"&&n.intermediateString===""&&iB.test(n.parameterString)&&(t+=n.value)}return t},"sanitizeAnsi"),FR=sB;var jR=i(e=>{let t="";for(let n=0;n<e.childNodes.length;n++){let r=e.childNodes[n];if(r===void 0)continue;let o="";r.nodeName==="#text"?o=r.nodeValue:((r.nodeName==="ink-text"||r.nodeName==="ink-virtual-text")&&(o=jR(r)),o.length>0&&typeof r.internal_transform=="function"&&(o=r.internal_transform(o,n))),t+=o}return FR(t)},"squashTextNodes"),zl=jR;var zp=i(e=>{let t={nodeName:e,style:{},attributes:{},childNodes:[],parentNode:void 0,yogaNode:e==="ink-virtual-text"?void 0:aB.Node.create(),internal_accessibility:{}};return e==="ink-text"&&t.yogaNode?.setMeasureFunc(cB.bind(null,t)),t},"createNode"),Xp=i((e,t)=>{t.parentNode&&Xl(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")&&Yp(e)},"appendChildNode"),vy=i((e,t,n)=>{t.parentNode&&Xl(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")&&Yp(e)},"insertBeforeNode"),Xl=i((e,t)=>{t.yogaNode&&t.parentNode?.yogaNode?.removeChild(t.yogaNode),t.parentNode=void 0;let n=e.childNodes.indexOf(t);n>=0&&e.childNodes.splice(n,1),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&Yp(e)},"removeChildNode"),by=i((e,t,n)=>{if(t==="internal_accessibility"){e.internal_accessibility=n;return}e.attributes[t]=n},"setAttribute"),Ry=i((e,t)=>{e.style=t},"setStyle"),UR=i(e=>{let t={nodeName:"#text",nodeValue:e,yogaNode:void 0,parentNode:void 0,style:{}};return Yl(t,e),t},"createTextNode"),cB=i(function(e,t){let n=e.nodeName==="#text"?e.nodeValue:zl(e),r=Cy(n);if(r.width<=t||r.width>=1&&t>0&&t<1)return r;let o=e.style?.textWrap??"wrap",s=Vp(n,t,o);return Cy(s)},"measureTextNode"),GR=i(e=>{if(e?.parentNode)return e.yogaNode??GR(e.parentNode)},"findClosestYogaNode"),Yp=i(e=>{GR(e)?.markDirty()},"markNodeAsDirty"),Yl=i((e,t)=>{typeof t!="string"&&(t=String(t)),e.nodeValue=t,Yp(e)},"setTextNodeValue");import Ae from"yoga-layout";var lB=i((e,t)=>{"position"in t&&e.setPositionType(t.position==="absolute"?Ae.POSITION_TYPE_ABSOLUTE:Ae.POSITION_TYPE_RELATIVE)},"applyPositionStyles"),uB=i((e,t)=>{"margin"in t&&e.setMargin(Ae.EDGE_ALL,t.margin??0),"marginX"in t&&e.setMargin(Ae.EDGE_HORIZONTAL,t.marginX??0),"marginY"in t&&e.setMargin(Ae.EDGE_VERTICAL,t.marginY??0),"marginLeft"in t&&e.setMargin(Ae.EDGE_START,t.marginLeft||0),"marginRight"in t&&e.setMargin(Ae.EDGE_END,t.marginRight||0),"marginTop"in t&&e.setMargin(Ae.EDGE_TOP,t.marginTop||0),"marginBottom"in t&&e.setMargin(Ae.EDGE_BOTTOM,t.marginBottom||0)},"applyMarginStyles"),dB=i((e,t)=>{"padding"in t&&e.setPadding(Ae.EDGE_ALL,t.padding??0),"paddingX"in t&&e.setPadding(Ae.EDGE_HORIZONTAL,t.paddingX??0),"paddingY"in t&&e.setPadding(Ae.EDGE_VERTICAL,t.paddingY??0),"paddingLeft"in t&&e.setPadding(Ae.EDGE_LEFT,t.paddingLeft||0),"paddingRight"in t&&e.setPadding(Ae.EDGE_RIGHT,t.paddingRight||0),"paddingTop"in t&&e.setPadding(Ae.EDGE_TOP,t.paddingTop||0),"paddingBottom"in t&&e.setPadding(Ae.EDGE_BOTTOM,t.paddingBottom||0)},"applyPaddingStyles"),fB=i((e,t)=>{"flexGrow"in t&&e.setFlexGrow(t.flexGrow??0),"flexShrink"in t&&e.setFlexShrink(typeof t.flexShrink=="number"?t.flexShrink:1),"flexWrap"in t&&(t.flexWrap==="nowrap"&&e.setFlexWrap(Ae.WRAP_NO_WRAP),t.flexWrap==="wrap"&&e.setFlexWrap(Ae.WRAP_WRAP),t.flexWrap==="wrap-reverse"&&e.setFlexWrap(Ae.WRAP_WRAP_REVERSE)),"flexDirection"in t&&(t.flexDirection==="row"&&e.setFlexDirection(Ae.FLEX_DIRECTION_ROW),t.flexDirection==="row-reverse"&&e.setFlexDirection(Ae.FLEX_DIRECTION_ROW_REVERSE),t.flexDirection==="column"&&e.setFlexDirection(Ae.FLEX_DIRECTION_COLUMN),t.flexDirection==="column-reverse"&&e.setFlexDirection(Ae.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(Ae.ALIGN_STRETCH),t.alignItems==="flex-start"&&e.setAlignItems(Ae.ALIGN_FLEX_START),t.alignItems==="center"&&e.setAlignItems(Ae.ALIGN_CENTER),t.alignItems==="flex-end"&&e.setAlignItems(Ae.ALIGN_FLEX_END)),"alignSelf"in t&&((t.alignSelf==="auto"||!t.alignSelf)&&e.setAlignSelf(Ae.ALIGN_AUTO),t.alignSelf==="flex-start"&&e.setAlignSelf(Ae.ALIGN_FLEX_START),t.alignSelf==="center"&&e.setAlignSelf(Ae.ALIGN_CENTER),t.alignSelf==="flex-end"&&e.setAlignSelf(Ae.ALIGN_FLEX_END)),"justifyContent"in t&&((t.justifyContent==="flex-start"||!t.justifyContent)&&e.setJustifyContent(Ae.JUSTIFY_FLEX_START),t.justifyContent==="center"&&e.setJustifyContent(Ae.JUSTIFY_CENTER),t.justifyContent==="flex-end"&&e.setJustifyContent(Ae.JUSTIFY_FLEX_END),t.justifyContent==="space-between"&&e.setJustifyContent(Ae.JUSTIFY_SPACE_BETWEEN),t.justifyContent==="space-around"&&e.setJustifyContent(Ae.JUSTIFY_SPACE_AROUND),t.justifyContent==="space-evenly"&&e.setJustifyContent(Ae.JUSTIFY_SPACE_EVENLY))},"applyFlexStyles"),pB=i((e,t)=>{"width"in t&&(typeof t.width=="number"?e.setWidth(t.width):typeof t.width=="string"?e.setWidthPercent(Number.parseInt(t.width,10)):e.setWidthAuto()),"height"in t&&(typeof t.height=="number"?e.setHeight(t.height):typeof t.height=="string"?e.setHeightPercent(Number.parseInt(t.height,10)):e.setHeightAuto()),"minWidth"in t&&(typeof t.minWidth=="string"?e.setMinWidthPercent(Number.parseInt(t.minWidth,10)):e.setMinWidth(t.minWidth??0)),"minHeight"in t&&(typeof t.minHeight=="string"?e.setMinHeightPercent(Number.parseInt(t.minHeight,10)):e.setMinHeight(t.minHeight??0))},"applyDimensionStyles"),mB=i((e,t)=>{"display"in t&&e.setDisplay(t.display==="flex"?Ae.DISPLAY_FLEX:Ae.DISPLAY_NONE)},"applyDisplayStyles"),hB=i((e,t)=>{if("borderStyle"in t){let n=t.borderStyle?1:0;t.borderTop!==!1&&e.setBorder(Ae.EDGE_TOP,n),t.borderBottom!==!1&&e.setBorder(Ae.EDGE_BOTTOM,n),t.borderLeft!==!1&&e.setBorder(Ae.EDGE_LEFT,n),t.borderRight!==!1&&e.setBorder(Ae.EDGE_RIGHT,n)}},"applyBorderStyles"),gB=i((e,t)=>{"gap"in t&&e.setGap(Ae.GUTTER_ALL,t.gap??0),"columnGap"in t&&e.setGap(Ae.GUTTER_COLUMN,t.columnGap??0),"rowGap"in t&&e.setGap(Ae.GUTTER_ROW,t.rowGap??0)},"applyGapStyles"),yB=i((e,t={})=>{lB(e,t),uB(e,t),dB(e,t),fB(e,t),pB(e,t),mB(e,t),hB(e,t),gB(e,t)},"styles"),ky=yB;import xB from"node:process";var KR=i(()=>xB.env.DEV==="true","isDev");if(KR())try{await import("./devtools-XR5F2C6T.js")}catch(e){if(e.code==="ERR_MODULE_NOT_FOUND")console.warn(`
105
+ The environment variable DEV is set to true, so Ink tried to import \`react-devtools-core\`,
106
+ but this failed as it was not installed. Debugging with React Devtools requires it.
107
+
108
+ To install use this command:
109
+
110
+ $ npm install --save-dev react-devtools-core
111
+ `.trim()+`
112
+ `);else throw e}var zR=i((e,t)=>{if(e===t)return;if(!e)return t;let n={},r=!1;for(let o of Object.keys(e))(!t||!Object.hasOwn(t,o))&&(n[o]=void 0,r=!0);if(t)for(let o of Object.keys(t))t[o]!==e[o]&&(n[o]=t[o],r=!0);return r?n:void 0},"diff"),XR=i(e=>{e?.unsetMeasureFunc(),e?.freeRecursive()},"cleanupYogaNode"),qp=qR,Ey,YR={name:void 0,version:void 0},Ua=SB({getRootHostContext:i(()=>({isInsideText:!1}),"getRootHostContext"),prepareForCommit:i(()=>null,"prepareForCommit"),preparePortalMount:i(()=>null,"preparePortalMount"),clearContainer:i(()=>!1,"clearContainer"),resetAfterCommit(e){if(typeof e.onComputeLayout=="function"&&e.onComputeLayout(),e.isStaticDirty){e.isStaticDirty=!1,typeof e.onImmediateRender=="function"&&e.onImmediateRender();return}typeof e.onRender=="function"&&e.onRender()},getChildHostContext(e,t){let n=e.isInsideText,r=t==="ink-text"||t==="ink-virtual-text";return n===r?e:{isInsideText:r}},shouldSetTextContent:i(()=>!1,"shouldSetTextContent"),createInstance(e,t,n,r){if(r.isInsideText&&e==="ink-box")throw new Error("<Box> can\u2019t be nested inside <Text> component");let o=e==="ink-text"&&r.isInsideText?"ink-virtual-text":e,s=zp(o);for(let[a,c]of Object.entries(t))if(a!=="children"){if(a==="style"){Ry(s,c),s.yogaNode&&ky(s.yogaNode,c);continue}if(a==="internal_transform"){s.internal_transform=c;continue}if(a==="internal_static"){Ey=n,s.internal_static=!0,n.isStaticDirty=!0,n.staticNode=s;continue}by(s,a,c)}return s},createTextInstance(e,t,n){if(!n.isInsideText)throw new Error(`Text string "${e}" must be rendered inside <Text> component`);return UR(e)},resetTextContent(){},hideTextInstance(e){Yl(e,"")},unhideTextInstance(e,t){Yl(e,t)},getPublicInstance:i(e=>e,"getPublicInstance"),hideInstance(e){e.yogaNode?.setDisplay(VR.DISPLAY_NONE)},unhideInstance(e){e.yogaNode?.setDisplay(VR.DISPLAY_FLEX)},appendInitialChild:Xp,appendChild:Xp,insertBefore:vy,finalizeInitialChildren(){return!1},isPrimaryRenderer:!0,supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,supportsMicrotasks:!0,scheduleMicrotask:queueMicrotask,scheduleCallback:qo.unstable_scheduleCallback,cancelCallback:qo.unstable_cancelCallback,shouldYield:qo.unstable_shouldYield,now:qo.unstable_now,scheduleTimeout:setTimeout,cancelTimeout:clearTimeout,noTimeout:-1,beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},detachDeletedInstance(){},getInstanceFromNode:i(()=>null,"getInstanceFromNode"),prepareScopeUpdate(){},getInstanceFromScope:i(()=>null,"getInstanceFromScope"),appendChildToContainer:Xp,insertInContainerBefore:vy,removeChildFromContainer(e,t){Xl(e,t),XR(t.yogaNode)},commitUpdate(e,t,n,r){Ey&&e.internal_static&&(Ey.isStaticDirty=!0);let o=zR(n,r),s=zR(n.style,r.style);if(!(!o&&!s)){if(o)for(let[a,c]of Object.entries(o)){if(a==="style"){Ry(e,c);continue}if(a==="internal_transform"){e.internal_transform=c;continue}if(a==="internal_static"){e.internal_static=!0;continue}by(e,a,c)}s&&e.yogaNode&&ky(e.yogaNode,s)}},commitTextUpdate(e,t,n){Yl(e,n)},removeChild(e,t){Xl(e,t),XR(t.yogaNode)},setCurrentUpdatePriority(e){qp=e},getCurrentUpdatePriority:i(()=>qp,"getCurrentUpdatePriority"),resolveUpdatePriority(){return qp!==qR?qp:wB},maySuspendCommit(){return!0},NotPendingTransition:void 0,HostTransitionContext:TB(null),resetFormInstance(){},requestPostPaintCallback(){},shouldAttemptEagerTransition(){return!1},trackSchedulerEvent(){},resolveEventType(){return null},resolveEventTimeStamp(){return-1.1},preloadInstance(){return!0},startSuspendingCommit(){},suspendInstance(){},waitForCommitToBeReady(){return null},rendererPackageName:YR.name,rendererVersion:YR.version});import AB from"widest-line";import _B from"indent-string";import Jo from"yoga-layout";import Jp from"yoga-layout";var CB=i(e=>e.getComputedWidth()-e.getComputedPadding(Jp.EDGE_LEFT)-e.getComputedPadding(Jp.EDGE_RIGHT)-e.getComputedBorder(Jp.EDGE_LEFT)-e.getComputedBorder(Jp.EDGE_RIGHT),"getMaxWidth"),JR=CB;import kB from"cli-boxes";import Qp from"chalk";import ho from"chalk";var IB=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,vB=/^ansi256\(\s?(\d+)\s?\)$/,bB=i(e=>e in ho,"isNamedColor"),RB=i((e,t,n)=>{if(!t)return e;if(bB(t)){if(n==="foreground")return ho[t](e);let r=`bg${t[0].toUpperCase()+t.slice(1)}`;return ho[r](e)}if(t.startsWith("#"))return n==="foreground"?ho.hex(t)(e):ho.bgHex(t)(e);if(t.startsWith("ansi256")){let r=vB.exec(t);if(!r)return e;let o=Number(r[1]);return n==="foreground"?ho.ansi256(o)(e):ho.bgAnsi256(o)(e)}if(t.startsWith("rgb")){let r=IB.exec(t);if(!r)return e;let o=Number(r[1]),s=Number(r[2]),a=Number(r[3]);return n==="foreground"?ho.rgb(o,s,a)(e):ho.bgRgb(o,s,a)(e)}return e},"colorize"),zi=RB;var EB=i((e,t,n,r)=>{if(n.style.borderStyle){let o=n.yogaNode.getComputedWidth(),s=n.yogaNode.getComputedHeight(),a=typeof n.style.borderStyle=="string"?kB[n.style.borderStyle]:n.style.borderStyle,c=n.style.borderTopColor??n.style.borderColor,l=n.style.borderBottomColor??n.style.borderColor,d=n.style.borderLeftColor??n.style.borderColor,f=n.style.borderRightColor??n.style.borderColor,p=n.style.borderTopDimColor??n.style.borderDimColor,h=n.style.borderBottomDimColor??n.style.borderDimColor,g=n.style.borderLeftDimColor??n.style.borderDimColor,C=n.style.borderRightDimColor??n.style.borderDimColor,b=n.style.borderTop!==!1,T=n.style.borderBottom!==!1,S=n.style.borderLeft!==!1,w=n.style.borderRight!==!1,M=o-(S?1:0)-(w?1:0),O=b?zi((S?a.topLeft:"")+a.top.repeat(M)+(w?a.topRight:""),c,"foreground"):void 0;b&&p&&(O=Qp.dim(O));let A=s;b&&(A-=1),T&&(A-=1);let N=(zi(a.left,d,"foreground")+`
113
+ `).repeat(A);g&&(N=Qp.dim(N));let X=(zi(a.right,f,"foreground")+`
114
+ `).repeat(A);C&&(X=Qp.dim(X));let K=T?zi((S?a.bottomLeft:"")+a.bottom.repeat(M)+(w?a.bottomRight:""),l,"foreground"):void 0;T&&h&&(K=Qp.dim(K));let q=b?1:0;O&&r.write(e,t,O,{transformers:[]}),S&&r.write(e,t+q,N,{transformers:[]}),w&&r.write(e+o-1,t+q,X,{transformers:[]}),K&&r.write(e,t+s-1,K,{transformers:[]})}},"renderBorder"),QR=EB;var MB=i((e,t,n,r)=>{if(!n.style.backgroundColor)return;let o=n.yogaNode.getComputedWidth(),s=n.yogaNode.getComputedHeight(),a=n.style.borderStyle&&n.style.borderLeft!==!1?1:0,c=n.style.borderStyle&&n.style.borderRight!==!1?1:0,l=n.style.borderStyle&&n.style.borderTop!==!1?1:0,d=n.style.borderStyle&&n.style.borderBottom!==!1?1:0,f=o-a-c,p=s-l-d;if(!(f>0&&p>0))return;let h=zi(" ".repeat(f),n.style.backgroundColor,"background");for(let g=0;g<p;g++)r.write(e+a,t+l+g,h,{transformers:[]})},"renderBackground"),ZR=MB;var LB=i((e,t)=>{let n=e.childNodes[0]?.yogaNode;if(n){let r=n.getComputedLeft(),o=n.getComputedTop();t=`
115
+ `.repeat(o)+_B(t,r)}return t},"applyPaddingToText"),Zp=i((e,t={})=>{if(t.skipStaticElements&&e.internal_static||e.yogaNode?.getDisplay()===Jo.DISPLAY_NONE)return"";let n="";if(e.nodeName==="ink-text")n=zl(e);else if(e.nodeName==="ink-box"||e.nodeName==="ink-root"){let r=e.style.flexDirection==="row"||e.style.flexDirection==="row-reverse"?" ":`
116
+ `;n=(e.style.flexDirection==="row-reverse"||e.style.flexDirection==="column-reverse"?[...e.childNodes].reverse():[...e.childNodes]).map(s=>Zp(s,{parentRole:e.internal_accessibility?.role,skipStaticElements:t.skipStaticElements})).filter(Boolean).join(r)}if(e.internal_accessibility){let{role:r,state:o}=e.internal_accessibility;if(o){let a=Object.keys(o).filter(c=>o[c]).join(", ");a&&(n=`(${a}) ${n}`)}r&&r!==t.parentRole&&(n=`${r}: ${n}`)}return n},"renderNodeToScreenReaderOutput"),My=null,Ay=null;function ek(){My=null,Ay=null}i(ek,"resetScrollHint");function tk(){return My}i(tk,"getScrollHint");function nk(){return Ay}i(nk,"getScrollRepaint");var rk=i((e,t,n)=>{let{offsetX:r=0,offsetY:o=0,transformers:s=[],skipStaticElements:a}=n;if(a&&e.internal_static)return;let{yogaNode:c}=e;if(c){if(c.getDisplay()===Jo.DISPLAY_NONE)return;let l=r+c.getComputedLeft(),d=o+c.getComputedTop(),f=s;if(typeof e.internal_transform=="function"&&(f=[e.internal_transform,...s]),e.nodeName==="ink-text"){let g=zl(e);if(g.length>0){let C=AB(g),b=JR(c);if(C>b){let T=e.style.textWrap??"wrap";g=Vp(g,b,T)}g=LB(e,g),t.write(l,d,g,{transformers:f})}return}let p=!1,h=0;if(e.nodeName==="ink-box"){ZR(l,d,e,t),QR(l,d,e,t);let g=e.style.overflowX??e.style.overflow,C=e.style.overflowY??e.style.overflow,b=g==="hidden"||g==="scroll",T=C==="hidden"||C==="scroll";if(C==="scroll"){let S=c.getComputedBorder(Jo.EDGE_TOP),w=c.getComputedBorder(Jo.EDGE_BOTTOM),M=Math.max(0,c.getComputedHeight()-S-w),O=e.attributes?.virtualScrollWindowed===!0,A=e.childNodes[0],N=Math.max(0,Math.floor(O?e.attributes?.scrollHeight??0:A?.yogaNode?.getComputedHeight()??e.attributes?.scrollHeight??0)),X=typeof e.scrollHeight=="number"?e.scrollHeight:N,K=yf({rawScrollTop:e.scrollTop??e.attributes?.scrollTop??0,contentHeight:N,viewportHeight:M,previousScrollHeight:X,stickyScroll:e.stickyScroll??!!e.attributes?.stickyScroll,clampMin:e.attributes?.scrollClampMin,clampMax:e.attributes?.scrollClampMax,virtualScrollWindowed:O,inWindowScrollTop:e.attributes?.inWindowScrollTop,previousAppliedScrollTop:e.appliedScrollTop,regionTop:d+S});e.scrollHeight=K.scrollHeight,e.scrollViewportHeight=M,e.scrollViewportTop=K.viewportTop,e.appliedScrollTop=K.appliedScrollTop,K.scrollHint&&(My=K.scrollHint,Math.trunc(Number(e.attributes?.pendingScrollDelta??0))!==0&&(Ay={top:K.scrollHint.top,bottom:K.scrollHint.bottom})),e.attributes&&e.attributes.pendingScrollDelta&&(e.attributes.pendingScrollDelta=0),e.scrollTop=K.scrollTop,h=K.scrollOffsetY}if(b||T){let S=b?l+c.getComputedBorder(Jo.EDGE_LEFT):void 0,w=b?l+c.getComputedWidth()-c.getComputedBorder(Jo.EDGE_RIGHT):void 0,M=T?d+c.getComputedBorder(Jo.EDGE_TOP):void 0,O=T?d+c.getComputedHeight()-c.getComputedBorder(Jo.EDGE_BOTTOM):void 0;t.clip({x1:S,x2:w,y1:M,y2:O}),p=!0}}if(e.nodeName==="ink-root"||e.nodeName==="ink-box"){for(let g of e.childNodes)rk(g,t,{offsetX:l,offsetY:d-h,transformers:f,skipStaticElements:a});p&&t.unclip()}}},"renderNodeToOutput"),_y=rk;import PB from"slice-ansi";import $B from"string-width";import{styledCharsFromTokens as DB,styledCharsToString as OB,tokenize as NB}from"@alcalzone/ansi-tokenize";var Ly=class{static{i(this,"OutputCaches")}widths=new Map;blockWidths=new Map;styledChars=new Map;getStyledChars(t){let n=this.styledChars.get(t);return n===void 0&&(n=DB(NB(t)),this.styledChars.set(t,n)),n}getStringWidth(t){let n=this.widths.get(t);return n===void 0&&(n=$B(t),this.widths.set(t,n)),n}getWidestLine(t){let n=this.blockWidths.get(t);if(n===void 0){let r=0;for(let o of t.split(`
117
+ `))r=Math.max(r,this.getStringWidth(o));n=r,this.blockWidths.set(t,n)}return n}},Ga=class{static{i(this,"Output")}width;height;operations=[];caches=new Ly;constructor(t){let{width:n,height:r}=t;this.width=n,this.height=r}write(t,n,r,o){let{transformers:s}=o;r&&this.operations.push({type:"write",x:t,y:n,text:r,transformers:s})}clip(t){this.operations.push({type:"clip",clip:t})}unclip(){this.operations.push({type:"unclip"})}getGrid(){let t=[];for(let r=0;r<this.height;r++){let o=[];for(let s=0;s<this.width;s++)o.push({type:"char",value:" ",fullWidth:!1,styles:[]});t.push(o)}let n=[];for(let r of this.operations)if(r.type==="clip"&&n.push(r.clip),r.type==="unclip"&&n.pop(),r.type==="write"){let{text:o,transformers:s}=r,{x:a,y:c}=r,l=o.split(`
118
+ `),d=n.at(-1);if(d){let p=typeof d?.x1=="number"&&typeof d?.x2=="number",h=typeof d?.y1=="number"&&typeof d?.y2=="number";if(p){let g=this.caches.getWidestLine(o);if(a+g<d.x1||a>d.x2)continue}if(h){let g=l.length;if(c+g<d.y1||c>d.y2)continue}if(p&&(l=l.map(g=>{let C=a<d.x1?d.x1-a:0,b=this.caches.getStringWidth(g),T=a+b>d.x2?d.x2-a:b;return PB(g,C,T)}),a<d.x1&&(a=d.x1)),h){let g=c<d.y1?d.y1-c:0,C=l.length,b=c+C>d.y2?d.y2-c:C;l=l.slice(g,b),c<d.y1&&(c=d.y1)}}let f=0;for(let[p,h]of l.entries()){let g=t[c+f];if(!g)continue;for(let T of s)h=T(h,p);let C=this.caches.getStyledChars(h),b=a;for(let T of C){g[b]=T;let S=Math.max(1,this.caches.getStringWidth(T.value));if(S>1)for(let w=1;w<S;w++)g[b+w]={type:"char",value:"",fullWidth:!1,styles:T.styles};b+=S}f++}}return t}get(){let t=this.getGrid();return{output:t.map(r=>{let o=r.filter(s=>s!==void 0);return OB(o).trimEnd()}).join(`
119
+ `),height:t.length}}};var BB=i((e,t,n)=>{if(e.yogaNode){if(t){let p=Zp(e,{skipStaticElements:!0}),h=p===""?0:p.split(`
120
+ `).length,g="";return e.staticNode&&(g=Zp(e.staticNode,{skipStaticElements:!1})),{output:p,outputHeight:h,staticOutput:g?`${g}
121
+ `:"",frame:void 0}}let r=new Ga({width:e.yogaNode.getComputedWidth(),height:e.yogaNode.getComputedHeight()});ek(),_y(e,r,{skipStaticElements:!0});let o;e.staticNode?.yogaNode&&(o=new Ga({width:e.staticNode.yogaNode.getComputedWidth(),height:e.staticNode.yogaNode.getComputedHeight()}),_y(e.staticNode,o,{skipStaticElements:!1}));let{output:s,height:a}=r.get(),c=wf(r),l=n?.columns??e.yogaNode.getComputedWidth(),d=n?.rows??e.yogaNode.getComputedHeight(),f={screen:c,viewport:{width:l,height:d},cursor:{x:0,y:c.height,visible:!0},scrollHint:tk(),scrollRepaint:nk()};return{output:s,outputHeight:a,staticOutput:o?`${o.get().output}
122
+ `:"",frame:f}}return{output:"",outputHeight:0,staticOutput:"",frame:void 0}},"renderer"),Py=BB;var FB=i((e,t)=>{let n=t?.columns??80,r=zp("ink-root"),o="";r.onComputeLayout=()=>{r.yogaNode.setWidth(n),r.yogaNode.calculateLayout(void 0,void 0,HB.DIRECTION_LTR)},r.onImmediateRender=()=>{let{staticOutput:l}=Py(r,!1);l&&l!==`
123
+ `&&(o+=l)};let s,a=Ua.createContainer(r,WB,null,!1,null,"render-to-string",l=>{s??=l},()=>{},()=>{},()=>{}),c=!1;try{Ua.updateContainerSync(e,a,null,()=>{}),Ua.flushSyncWork();let{output:l}=Py(r,!1);if(Ua.updateContainerSync(null,a,null,()=>{}),Ua.flushSyncWork(),c=!0,r.yogaNode.free(),s!==void 0)throw s instanceof Error?s:new Error(String(s));let d=o.endsWith(`
124
+ `)?o.slice(0,-1):o;return d&&l?d+`
125
+ `+l:d||l}finally{if(!c&&r.yogaNode)try{r.yogaNode.freeRecursive()}catch{}}},"renderToString"),ok=FB;var jB="\x1B[0m";function sk(e,t){if(e.length===0)return"";let n=ik(k,{flexDirection:"column",children:e.map(s=>ik(_g,{section:s,theme:t.theme,animateSpinners:!1},s.key))}),r=ok(n,{columns:t.width});return(r.endsWith(`
126
+ `)?r.slice(0,-1):r)+jB+`
127
+ `}i(sk,"renderFinalizedSectionsToScrollbackText");function ak(e){return e.enabled&&!e.useRendererViewportShell&&!e.isTranscriptMode&&e.hasCommitHandle}i(ak,"isInlineLedgerActive");function ck(e){if(!e.active)return{kind:"reset"};if(!e.hasCommitHandle)return{kind:"skip"};let t=!e.wasActive,n=t?Fa:e.prior,{plan:r,nextState:o}=PR({bannerSection:e.bannerSection??null,finalizedSections:e.finalizedSections,width:e.width},e.identify??Xv,n);return t?r.kind==="none"?e.forceRebuild?{kind:"commit",mode:"rebuild",sections:e.finalizedSections,nextState:o}:{kind:"noop",nextState:o}:{kind:"commit",mode:e.forceRebuild?"rebuild":"append",sections:r.sections,nextState:o}:r.kind==="none"?{kind:"noop",nextState:o}:{kind:"commit",mode:r.kind,sections:r.sections,nextState:o}}i(ck,"computeInlineLedgerStep");function lk(e,t,n){return e.kind==="noop"?{state:e.nextState,wasActive:!0,owns:n}:e.kind==="commit"?t.committed?{state:e.nextState,wasActive:!0,owns:t.hadContent}:{state:Fa,wasActive:!1,owns:!0}:{state:Fa,wasActive:!1,owns:n}}i(lk,"resolveInlineLedgerState");function uk(e,t){return t?{...e,staticSections:[]}:e}i(uk,"gateInlinePromptModel");function UB(e){switch(e.type){case"tool_group":return e.tools.map(t=>{let n=[t.name];return typeof t.output=="string"&&n.push(Nt(t.output)),t.error&&n.push(Nt(t.error)),n.join(`
128
+ `)}).join(`
129
+ `);case"assistant":case"user":case"system":case"thinking":case"error":case"info":case"hint":return Nt(e.text);default:return""}}i(UB,"buildSearchText");function GB(e,t){let n=e.replace(/\s+/g," ").trim();if(!n)return"";let r=n.toLowerCase(),o=t.toLowerCase(),s=r.indexOf(o);if(s===-1)return n.slice(0,120);let a=Math.max(0,s-40),c=Math.min(n.length,s+t.length+60),l=a>0?"...":"",d=c<n.length?"...":"";return`${l}${n.slice(a,c)}${d}`}i(GB,"buildExcerpt");function dk(e){return e.map((t,n)=>({itemId:t.id,itemIndex:n,searchText:UB(t)}))}i(dk,"createTranscriptSearchIndex");function fk(e,t){let n=t.trim().toLowerCase();return n?e.flatMap(r=>{let o=r.searchText;return o.toLowerCase().includes(n)?[{itemId:r.itemId,itemIndex:r.itemIndex,excerpt:GB(o,t.trim())}]:[]}):[]}i(fk,"searchTranscriptIndex");function $y(e,t,n){return e<=0?0:t<0?n==="next"?0:e-1:n==="next"?(t+1)%e:t<=0?e-1:t-1}i($y,"stepTranscriptSearchMatch");function pk(e,t){return e.length===0?void 0:t<0?`${e.length} transcript matches`:`${Math.min(Math.max(t,0),e.length-1)+1}/${e.length} transcript matches`}i(pk,"buildTranscriptSearchSummary");function mk(e,t,n){if(t.length===0||!n)return 0;let r=t.findIndex(a=>a.itemId===n);if(r>=0)return r;let o=e.find(a=>a.itemId===n)?.itemIndex;if(o===void 0)return 0;let s=t.findIndex(a=>a.itemIndex>=o);return s>=0?s:0}i(mk,"resolveTranscriptSearchMatchIndex");function hk(e){if(e)switch(e.type){case"assistant":return{summary:"Assistant response",kindLabel:"assistant"};case"user":return{summary:"User prompt",kindLabel:"user"};case"system":return{summary:"System note",kindLabel:"system"};case"thinking":return{summary:"Thinking trace",kindLabel:"thinking"};case"tool_group":return{summary:KB(e),kindLabel:"tool"};case"error":return{summary:"Error entry",kindLabel:"error"};case"info":return{summary:"Info note",kindLabel:"info"};case"hint":return{summary:"Hint",kindLabel:"hint"};default:return{summary:"Transcript entry",kindLabel:"entry"}}}i(hk,"buildTranscriptSelectionSummary");function KB(e){return e.tools.length===1?`Tool call: ${e.tools[0]?.name??"tool"}`:`Tool group: ${e.tools.length} calls`}i(KB,"summarizeToolGroup");function gk(e){return e.map(t=>t.id)}i(gk,"getSelectableTranscriptItemIds");function yk(e,t,n){if(e.length===0)return;if(!t)return n==="next"?e[0]:e[e.length-1];let r=e.indexOf(t);return r===-1?n==="next"?e[0]:e[e.length-1]:n==="next"?e[Math.min(e.length-1,r+1)]:e[Math.max(0,r-1)]}i(yk,"moveTranscriptSelection");function Dy(e){if(e)switch(e.type){case"tool_group":return e.tools.map(t=>{let n=[`Tool: ${t.name}`,`Status: ${t.status}`];return t.input&&n.push(`Input: ${JSON.stringify(t.input)}`),typeof t.output=="string"&&t.output.trim()&&n.push(`Output: ${Nt(t.output)}`),t.error&&n.push(`Error: ${Nt(t.error)}`),n.join(`
130
+ `)}).join(`
131
+
132
+ `);case"assistant":case"user":case"system":case"thinking":case"error":case"info":case"hint":return Nt(e.text);default:return}}i(Dy,"buildTranscriptCopyText");function xk(e){if(!e||e.type!=="tool_group")return;let t=e.tools.map(n=>{if(!n.input)return;let r=typeof n.input=="string"?n.input:JSON.stringify(n.input,null,2);if(r?.trim())return[`Tool: ${n.name}`,r].join(`
133
+ `)}).filter(n=>!!n);return t.length>0?t.join(`
134
+
135
+ `):void 0}i(xk,"buildTranscriptToolInputCopyText");import{useCallback as ql,useRef as VB,useState as Sk}from"react";function wk(e){let{state:t,ownsViewport:n,isAwaitingUserInteraction:r,isHistorySearchActive:o,isTranscriptMode:s,historySearchQuery:a}=e,c=SR(t),l;if(t.supportsStickyPrompt&&t.stickyPromptVisible)if(o){let f=a.trim();l={visible:!0,label:f?`Searching transcript for "${f}"`:"Searching transcript"}}else s?l={visible:!0,label:"Transcript Mode"}:r&&(l={visible:!0,label:"Interaction active"});let d;return n&&t.supportsViewportChrome&&(s&&t.pendingLiveUpdates>0?d={visible:!0,label:t.pendingLiveUpdates===1?"1 new update":`${t.pendingLiveUpdates} new updates`,hint:"Ctrl+O",tone:"accent"}:!s&&t.jumpToLatestAvailable&&(d={visible:!0,label:"Back to live",hint:"End",tone:"accent"})),{browseHintText:c,stickyHeader:l,jumpToLatest:d}}i(wk,"buildTranscriptChromeModel");function Tk(e){return Math.max(1,e-2)}i(Tk,"resolveTranscriptPageSize");function Ck(e){return Math.max(3,Math.floor(e/4))}i(Ck,"resolveTranscriptWheelStep");function zB(e,t){return Math.max(0,e+t)}i(zB,"incrementTranscriptScrollOffset");function Ik(e,t,n){let r=Math.max(0,t-n);return Math.min(Math.max(0,e),r)}i(Ik,"clampTranscriptScrollOffset");function vk(){let e=VB(null),[t,n]=Sk(0),[r,o]=Sk(!0),s=ql(f=>{n(Math.max(0,f))},[]),a=ql(f=>{o(f)},[]),c=ql(f=>{if(e.current){e.current.scrollTo(f);return}n(Math.max(0,f)),o(f===0)},[]),l=ql(f=>{if(e.current){e.current.scrollBy(f);return}n(p=>zB(p,f)),o(!1)},[]),d=ql(()=>{if(e.current){e.current.scrollToBottom();return}n(0),o(!0)},[]);return{scrollRef:e,scrollOffset:t,sticky:r,setScrollOffset:n,setSticky:o,handleScrollTopChange:s,handleStickyChange:a,scrollTo:c,scrollBy:l,scrollToBottom:d}}i(vk,"useTranscriptViewportScrollController");function bk(e){let{items:t,renderModel:n,terminalWidth:r,transcriptMaxLines:o,viewportRows:s,itemId:a,visibleRows:c,expandedItemKeys:l,showDetailedTools:d=!1}=e;if(!a||c.length===0)return!1;let p=(n?.sections??wa(t,r,o,d,l)).find(C=>C.key===a);if(!p||p.rows.length===0)return!1;let h=new Set(c.map(C=>C.key)),g=Math.max(0,s??0);return g>0&&p.rows.length<=g?p.rows.every(C=>h.has(C.key)):h.has(p.rows[0]?.key??"")}i(bk,"isTranscriptItemVisible");function Rk(e){let{items:t,renderModel:n,terminalWidth:r,transcriptMaxLines:o,viewportRows:s,itemId:a,expandedItemKeys:c,showDetailedTools:l=!1}=e,d=n?.sections??wa(t,r,o,l,c);return Qv(d,a,s)}i(Rk,"resolveTranscriptSelectionOffset");function kk(e){let{items:t,renderModel:n,selectedItemId:r,terminalWidth:o=80,transcriptMaxLines:s=1e3,viewportRows:a,scrollOffset:c=0,expandedItemKeys:l,showDetailedTools:d=!1,preferViewportAnchor:f=!1}=e;if(r&&t.some(p=>p.id===r))return r;if(f&&c>0&&a&&a>0){let p=n?.sections??wa(t,o,s,d,l),h=n?.rows??Wi(p),C=Eg(h,a,c)[0]?.key,b=C?p.find(T=>T.rows.some(S=>S.key===C)):void 0;if(b?.key)return b.key}return t[t.length-1]?.id}i(kk,"resolveTranscriptSearchAnchorItemId");function Ek(e){let t=fl(e.stickyHeader),n=Df(t,e.width),r=Math.max(0,e.topChromeRows??0);return{contentWindow:e.window,topOffsetRows:n+r,stickyHeaderRows:n,topChromeRows:r}}i(Ek,"resolveTranscriptOwnedWindowGeometry");function XB(e){return e.text===" "?"":Nt(e.text)}i(XB,"normalizeTranscriptRowText");function Oy(e){let t=new Map;return e.forEach((n,r)=>{t.set(n.key,r)}),t}i(Oy,"buildTranscriptRowIndexByKey");function YB(e,t={}){let n=Math.max(0,e.indent??0),r=e.spinner&&t.animateSpinners!==!1?2:0;return 1+n+r}i(YB,"resolveTranscriptTextStartColumn");function Mk(e,t={}){let n=Math.max(0,t.topOffsetRows??0),r=t.rowIndexByKey??Oy(t.allRows??e),o=e.map((s,a)=>{let c=XB(s),l=YB(s,t),d=jo(c);return{key:s.key,row:s,modelRowIndex:r.get(s.key)??a,screenRow:n+a+1,text:c,textLength:d,textStartColumn:l,textEndColumn:l+nb(c)}});return{rows:o,topRow:o[0]?.screenRow??n+1,bottomRow:o[o.length-1]?.screenRow??n,viewportHeight:Math.max(0,t.viewportHeight??e.length)}}i(Mk,"buildTranscriptScreenBuffer");function qB(e,t){let n=Math.max(1,Math.floor(t));return rb(e.text,n-e.textStartColumn)}i(qB,"clampTextColumn");function Ny(e,t){return{screenRow:e,point:{rowKey:e.key,modelRowIndex:e.modelRowIndex,column:qB(e,t)}}}i(Ny,"toHit");function By(e,t,n){let r=e.rows.find(o=>o.screenRow===t);return r?Ny(r,n):void 0}i(By,"hitTestTranscriptScreen");function Hy(e,t,n){if(e.rows.length!==0)return t<=e.topRow?Ny(e.rows[0],n):t>=e.bottomRow?Ny(e.rows[e.rows.length-1],n):By(e,t,n)}i(Hy,"clampTranscriptScreenHit");function Ak(e){return e.text===" "?"":Nt(e.text)}i(Ak,"normalizeTranscriptRowText");function _k(e,t){return e.modelRowIndex!==t.modelRowIndex?e.modelRowIndex-t.modelRowIndex:e.column-t.column}i(_k,"comparePoints");function Lk(e,t,n,r={}){if(e.length===0)return;let[o,s]=_k(t,n)<=0?[t,n]:[n,t],a=r.selectFullRowOnCollapsed===!0,c=_k(t,n)===0,l=e[o.modelRowIndex],d=e[s.modelRowIndex];if(!l||!d)return;let f=a&&c?{...o,column:0}:o,p=a&&c?{...s,column:jo(Ak(d))}:s,h=new Map,g=[],C=0;for(let b=f.modelRowIndex;b<=p.modelRowIndex;b+=1){let T=e[b];if(!T)continue;let S=Ak(T),w=jo(S),M=b===f.modelRowIndex?f.column:0,O=b===p.modelRowIndex?p.column:w,A=Math.max(0,Math.min(M,w)),N=Math.max(A,Math.min(O,w)),X=Ta(S,A,N);N>A&&(h.set(T.key,{start:A,end:N}),C+=N-A),g.push(X)}if(h.size!==0)return{anchor:t,focus:n,rowRanges:h,rowCount:g.length,charCount:C,text:g.join(`
136
+ `)}}i(Lk,"buildTranscriptScreenSelection");function Pk(e){if(!e)return;let t=`${e.charCount} char${e.charCount===1?"":"s"}`;return e.rowCount<=1?`Selected ${t}`:`Selected ${t} across ${e.rowCount} lines`}i(Pk,"buildTranscriptScreenSelectionSummary");function $k(e,t){return e.rows.length===0?0:t<e.topRow?1:t>e.bottomRow?-1:0}i($k,"resolveTranscriptDragEdgeScrollDirection");var JB="Other...";function em(e){return e?e.map(t=>({label:t.label,value:t.value,description:t.description})):[]}i(em,"toSelectOptions");function Wy(e,t){return t.kind==="input"||t.allowCustomInput===!1||e.some(n=>n.value===vr)?e:[...e,{label:t.customInputLabel??JB,value:vr}]}i(Wy,"appendCustomInputOption");function Fy(e){return e.question}i(Fy,"getAskUserDialogTitle");function Dk(e){return!!e.activity}i(Dk,"shouldRenderPromptActivityInFooter");function QB(e){switch(e){case"confirm":return oe("waiting.confirm");case"select":return oe("waiting.select");case"input":return oe("waiting.input")}}i(QB,"formatPromptWaitingText");function Ok(e){return e.waitingReason==="confirm"?oe("placeholder.confirm"):e.waitingReason==="select"?oe("placeholder.select"):e.waitingReason==="input"?oe("placeholder.input"):e.isLoading?e.canQueueFollowUps?oe("placeholder.queue"):oe("placeholder.busy"):oe("placeholder.idle")}i(Ok,"buildPromptPlaceholderText");function Nk(e){return e.isTranscriptMode?void 0:e.waitingReason?{kind:"waiting",text:QB(e.waitingReason),showSpinner:!1}:e.workflowBuilderMessage?{kind:"busy",text:e.workflowBuilderMessage,showSpinner:!0}:e.backgroundWorkflowMessage?{kind:"busy",text:e.backgroundWorkflowMessage,showSpinner:!0}:e.isLoading?{kind:"busy",text:Lg({activeToolCount:e.streamingState.activeToolCalls.filter(n=>n.status===W.Executing).length,currentTool:e.streamingState.currentTool,isThinkingActive:e.streamingState.isThinking,thinkingCharCount:e.streamingState.thinkingCharCount,isCompacting:e.streamingState.isCompacting,toolInputCharCount:e.streamingState.toolInputCharCount,toolInputContent:e.streamingState.toolInputContent,managedPhase:e.managedState?.phase,managedHarnessProfile:e.managedState?.harnessProfile,managedWorkerTitle:e.managedState?.workerTitle})??"Thinking",showSpinner:!0}:void 0}i(Nk,"buildPromptActivityViewModel");function Bk(e,t,n){if(!e)return;let r=e.userOverrideContextWindow??e.contextWindow,o=e.reservedResponseTokens;try{let s=n(t.provider);e.userOverrideContextWindow===void 0&&(r=s?.getEffectiveContextWindow?.(t.model)??r),o=s?.getEffectiveMaxOutputTokens?.(t.model)??o}catch{}return r===e.contextWindow&&o===e.reservedResponseTokens?e:{...e,contextWindow:r,reservedResponseTokens:o}}i(Bk,"resolveEffectiveCompactionInfo");function Hk(e){return{sessionId:e.sessionId,permissionMode:e.permissionMode,agentMode:e.agentMode,provider:e.provider,model:e.model,currentTool:e.streamingState.currentTool,activeToolCount:e.streamingState.activeToolCalls.filter(t=>t.status===W.Executing).length,thinking:e.thinking,reasoningMode:e.reasoningMode,effort:e.effort,reasoningEffortLabel:e.reasoningEffortLabel,reasoningCapability:e.reasoningCapability,isThinkingActive:e.streamingState.isThinking,thinkingCharCount:e.streamingState.thinkingCharCount,toolInputCharCount:e.isTranscriptMode?e.streamingState.toolInputCharCount:0,toolInputContent:e.isTranscriptMode?e.streamingState.toolInputContent:"",currentIteration:e.streamingState.currentIteration,maxIter:e.maxIter,contextUsage:e.contextUsage,learning:e.learning,isCompacting:e.streamingState.isCompacting,showBusyStatus:!1,managedPhase:e.isLoading?e.managedState?.phase:void 0,managedHarnessProfile:e.isLoading?e.managedState?.harnessProfile:void 0,managedWorkerTitle:e.isLoading?e.managedState?.workerTitle:void 0,managedRound:e.isLoading?e.managedState?.round:void 0,managedMaxRounds:e.isLoading?e.managedState?.maxRounds:void 0,managedGlobalWorkBudget:e.isLoading?e.managedState?.globalWorkBudget:void 0,managedBudgetUsage:e.isLoading?e.managedState?.budgetUsage:void 0,managedBudgetApprovalRequired:e.isLoading?e.managedState?.budgetApprovalRequired:void 0,managedIdleWaiting:e.isLoading?e.managedState?.idleWaiting:void 0,managedIdleWaitingPendingCount:e.isLoading?e.managedState?.idleWaitingPendingCount:void 0,autoModeEngine:e.autoModeEngine}}i(Hk,"buildSurfaceStatusBarProps");function Wk(e){let t=Ty(e.state),n=t?Kp(e.state,e.selectableItemIds,e.selectedItemId):void 0,r=n?e.selectableItemIds.indexOf(n):-1;return{selectionEnabled:t,selectedItemId:n,selectedItemIndex:r,position:n?{current:Math.max(1,r+1),total:e.selectableItemIds.length}:void 0,detailState:n&&e.isExpanded?"expanded":"compact",copyCapabilities:{message:t&&!!n,toolInput:t&&!!n&&e.selectedItemType==="tool_group",copyOnSelect:t&&xR(e.state)},toggleDetail:t&&!!n,navigationCapabilities:{selection:t&&!!n&&e.selectableItemIds.length>0}}}i(Wk,"buildTranscriptSelectionRuntimeState");function Fk(e){if(!(!e.runtime.selectionEnabled||!e.runtime.selectedItemId))return{itemSummary:e.itemSummary?.summary,itemKind:e.itemSummary?.kindLabel,position:e.runtime.position,detailState:e.runtime.detailState,copyCapabilities:e.runtime.copyCapabilities,toggleDetail:e.runtime.toggleDetail,navigationCapabilities:e.runtime.navigationCapabilities}}i(Fk,"buildTranscriptSelectionViewModel");function jk(e){return{query:e.query,matches:e.matches,currentMatchIndex:e.currentMatchIndex,anchorItemId:e.anchorItemId,statusText:e.useOverlaySurface?void 0:e.statusText}}i(jk,"buildTranscriptSearchViewModel");function ZB(e,t){return e===0?0:t<0?-1:Math.min(t,e-1)}i(ZB,"clampTranscriptSearchSelectedIndex");function eH(e){return e.isHistorySearchActive?e.historySearchQuery.trim()?e.matches.length===0?"No matches yet":e.clampedSelectedIndex<0?`${e.matches.length} matches | use n/N or Enter to jump`:e.matches[e.clampedSelectedIndex]?.excerpt:"Type to search transcript":void 0}i(eH,"buildTranscriptSearchDetailText");function Uk(e){let t=ZB(e.matches.length,e.selectedIndex),n=pk(e.matches,t),r=eH({isHistorySearchActive:e.isHistorySearchActive,historySearchQuery:e.historySearchQuery,matches:e.matches,clampedSelectedIndex:t});return{clampedSelectedIndex:t,statusText:n,detailText:r,searchState:jk({query:e.historySearchQuery,matches:e.matches,currentMatchIndex:t,anchorItemId:e.anchorItemId,statusText:n,useOverlaySurface:e.useOverlaySurface})}}i(Uk,"buildTranscriptSearchChrome");function tH(e=!1){return`\u2190/\u2192 enter select mode | Ctrl+E ${e?"collapse":"show all"} | Mouse drag selects text`}i(tH,"buildDefaultTranscriptSecondaryText");function Gk(e){let t=[];return e.historySearchQuery.trim().length>0&&e.isHistorySearchActive&&e.historySearchMatchCount===0&&t.push({id:"search-empty",text:"No transcript matches yet",tone:"info"}),e.pendingInputCount>=e.maxPendingInputs&&t.push({id:"queue-full",text:`Queued follow-up limit reached (${e.maxPendingInputs})`,tone:"warning"}),t}i(Gk,"buildFooterNotifications");function Kk(e){let t=[];return e.historySearchQuery.trim()&&t.push(`Search: ${e.historySearchQuery.trim()}`),e.pendingInputCount>0&&t.push(`Queued follow-ups: ${e.pendingInputCount}`),t}i(Kk,"buildBaseFooterNotices");function Vk(e){if(e.inputText.trim()&&(e.isTranscriptMode||e.isHistorySearchActive))return"Draft preserved while viewing transcript"}i(Vk,"buildStashNoticeText");function zk(e){return[...e]}i(zk,"buildPromptFooterNotices");function nH(e){let n=(e.isHistorySearchActive?[e.historySearchDetailText]:[e.selectionSummary,e.actionSummary]).filter(r=>!!(r&&r.trim().length>0));return n.length===0?tH(e.showAllActive):n.join(" | ")}i(nH,"buildTranscriptFooterSecondaryText");function rH(e){let t=[];return e&&t.push(e),t}i(rH,"buildTranscriptFooterBudgetNotices");function Xk(e){let t=e.selectionState?.copyCapabilities,n=e.selectionState?.navigationCapabilities,o=Pk(e.textSelection),s=e.textSelection?Ca({copyMessage:!0,copyToolInput:!1,copyOnSelect:!!t?.copyOnSelect,toggleDetail:!1,selectionNavigation:!1,matchNavigation:!1,dismissAction:"clear"}):e.selectionState?.itemSummary?Ca({copyMessage:!!t?.message,copyToolInput:!!t?.toolInput,copyOnSelect:!!t?.copyOnSelect,toggleDetail:!!e.selectionState?.toggleDetail,selectionNavigation:!!n?.selection,matchNavigation:!1,dismissAction:"clear"}):void 0,a=nH({isHistorySearchActive:e.isHistorySearchActive,historySearchDetailText:e.historySearchDetailText,selectionSummary:o,actionSummary:s,showAllActive:e.showAllActive,baseFooterNotices:e.baseFooterNotices});return{selectionSummary:o,actionSummary:s,secondaryText:a,budgetNotices:rH(a)}}i(Xk,"buildTranscriptFooterViewModel");import{jsx as J7,jsxs as Q7}from"react/jsx-runtime";function Yk(e,t){if(!(!e||!t||t<=0))switch(e){case"finding-validation":return`Validating ${t} finding${t===1?"":"s"}`;case"module-triage":return`Scanning ${t} module${t===1?"":"s"}`;case"evidence-scan":return`Parallel evidence pass (${t})`;case"hypothesis-check":return`Checking ${t} hypothesis${t===1?"":"es"}`;default:return}}i(Yk,"formatAmaWorkStripText");function qk(e){return e.replace(/^\[[^\]]+\]\s*/,"").trim()}i(qk,"stripLiveActivityPrefix");function Jk(e){let t=[],n=e.showPrimary??!0;if(e.isLoading&&n){let l=e.currentTool?qk(Qf(e.currentTool,e.toolInputContent??"",e.toolInputCharCount??0)):void 0,d=e.liveActivityLabel?qk(e.liveActivityLabel):void 0;e.activeWorkerTitle?t.push({id:"primary-worker",label:`${e.activeWorkerTitle} active`,accent:!0,selected:!0}):e.activePhase?t.push({id:"primary-phase",label:e.activePhase,accent:!0,selected:!0}):d?t.push({id:"primary-live-activity",label:d,accent:!0,selected:!0}):l?t.push({id:"primary-tool",label:l,accent:!0,selected:!0}):e.isThinkingActive?t.push({id:"primary-thinking",label:"Thinking",accent:!0,selected:!0}):t.push({id:"primary-generic",label:"Agent active",accent:!0,selected:!0})}e.parallelText&&t.push({id:"parallel",label:e.parallelText});let[r,o,s,...a]=t,c=[r,o,s].filter(l=>!!l);return e.isLoading?{items:c,overflowLabel:a.length>0?`+${a.length} more`:void 0,ctaHint:e.parallelText?"Ctrl+O transcript":void 0}:{items:c,overflowLabel:a.length>0?`+${a.length} more`:void 0,ctaHint:e.parallelText?"Ctrl+O transcript":void 0}}i(Jk,"buildBackgroundTaskViewModel");function Qk(e,t){if(!(!t||!e||e.agentMode!=="ama"))return Yk(e.childFanoutClass,e.childFanoutCount)}i(Qk,"buildAmaWorkStripFromStatus");function jy(e){let t=Qk(e.status,e.isLoading);return{workStripText:t,backgroundTask:Jk({isLoading:e.isLoading,showPrimary:!!(e.parallelTextOverride??t),activeWorkerTitle:e.status?.activeWorkerTitle,activePhase:e.status?.phase??(e.agentMode==="ama"?"AMA active":void 0),parallelText:e.parallelTextOverride??t,currentTool:e.currentTool,toolInputCharCount:e.toolInputCharCount,toolInputContent:e.toolInputContent,liveActivityLabel:e.liveActivityLabel,isThinkingActive:e.isThinkingActive})}}i(jy,"buildAmaSummaryViewModel");function Uy(e){return{...e,items:[...e.items],managedLiveEvents:[...e.managedLiveEvents??[]]}}i(Uy,"captureTranscriptSnapshot");function Zk(e){if(!e.isTranscriptMode||!e.snapshot)return 0;let t=Math.max(0,e.currentItemsLength-e.snapshot.items.length);return e.isLoading!==e.snapshot.isLoading&&(t+=1),e.currentResponse!==e.snapshot.currentResponse&&(t+=1),e.thinkingContent!==e.snapshot.thinkingContent&&(t+=1),e.activeToolCallsLength!==e.snapshot.activeToolCalls.length&&(t+=1),(e.currentManagedLiveEventsLength??0)!==e.snapshot.managedLiveEvents.length&&(t+=1),t}i(Zk,"countPendingTranscriptUpdates");function eE(e){return e.snapshot?[...e.snapshot.items]:e.surface==="transcript"?[...e.transcriptItems]:[...e.promptItems]}i(eE,"resolveTranscriptSurfaceItems");function tE(e){let t=[];for(let n of e)switch(n.type){case"user":case"system":case"error":case"tool_group":case"event":case"info":t.push({...n});break;case"assistant":case"thinking":{let{compactText:r,...o}=n;t.push(o);break}default:break}return t}i(tE,"buildPromptSurfaceItems");function nE(e,t){return e.enabled?t==="transcript"?e.transcriptShell:e.promptShell:"main-screen"}i(nE,"resolveFullscreenShellMode");function oH(e,t){return e.enabled&&nE(e,t)==="virtual"}i(oH,"shouldUseRendererViewportShell");function rE(e,t){let n=nE(e,t),r=e.enabled&&n==="virtual",o=e.enabled&&n==="virtual",s=r&&(e.mouseWheel||e.mouseClicks),a=s&&e.mouseClicks,c=o&&e.mouseWheel;return{shellMode:n,usesAlternateScreenShell:r,usesRendererViewportShell:o,usesRendererMouseTracking:s,usesManagedMouseClicks:a,usesManagedMouseWheel:c,usesManagedSelection:o,usesManagedWheelHistory:c,usesNativeMainScreenScrollback:!o}}i(rE,"resolveTranscriptInteractionPolicy");function oE(e,t,n){return oH(e,t)?t==="transcript"||n:!1}i(oE,"shouldOwnTranscriptViewport");var iH=500,sH=1,aH=/[\p{L}\p{N}_/.\-+~\\]/u;function cH(e){return e.text===" "?"":e.text}i(cH,"normalizeTranscriptRowText");function iE(e,t){return e.modelRowIndex!==t.modelRowIndex?e.modelRowIndex-t.modelRowIndex:e.column-t.column}i(iE,"comparePoints");function Gy(e){return e===""||/\s/.test(e)?0:aH.test(e)?1:2}i(Gy,"charClass");function sE(e){let t=e.timeoutMs??iH,n=e.distance??sH,r=e.time-e.previous.time<=t,o=Math.abs(e.row-e.previous.row)<=n&&Math.abs(e.column-e.previous.column)<=n,s=r&&o?Math.min(3,e.previous.count+1):1;return{time:e.time,row:e.row,column:e.column,count:s}}i(sE,"resolveTranscriptMultiClickState");function tm(e,t,n){let r=e[t.modelRowIndex];if(!r)return;let o=cH(r);if(n==="line")return{kind:n,start:{...t,column:0},end:{...t,column:jo(o)}};let s=jo(o);if(s===0)return{kind:n,start:{...t,column:0},end:{...t,column:0}};let a=Math.max(0,Math.min(s-1,t.column));t.column===s&&(a=s-1);let c=Gy(ip(o,a)),l=a,d=a+1;for(;l>0&&Gy(ip(o,l-1))===c;)l-=1;for(;d<s&&Gy(ip(o,d))===c;)d+=1;return{kind:n,start:{...t,column:l},end:{...t,column:d}}}i(tm,"resolveTranscriptSelectionSpanAt");function Ky(e,t){return iE(t.end,e.start)<0?{anchor:e.end,focus:t.start}:iE(t.start,e.end)>0?{anchor:e.start,focus:t.end}:{anchor:e.start,focus:e.end}}i(Ky,"extendTranscriptSelectionSpan");function Ka(e){return{messages:e.messages,title:e.title,gitRoot:e.gitRoot??"",...e.runtimeInfo!==void 0?{runtimeInfo:e.runtimeInfo}:{},...e.tag!==void 0?{tag:e.tag}:{},...e.uiHistory!==void 0?{uiHistory:e.uiHistory}:{},...e.lineage!==void 0?{lineage:e.lineage}:{},...e.artifactLedger!==void 0?{artifactLedger:e.artifactLedger}:{},...e.extensionState!==void 0?{extensionState:e.extensionState}:{},...e.extensionRecords!==void 0?{extensionRecords:e.extensionRecords}:{}}}i(Ka,"buildHostSessionPayload");var fH=500;function pH(e){let t=[{label:"Acknowledge notification",value:"acknowledge"}];return e.lifecycle==="ready"?t.push({label:"Review",value:"review"},{label:"Review & Trust",value:"trust"},{label:"Snooze for 24 hours",value:"snooze"},{label:"Reject",value:"reject"}):e.lifecycle==="active_learned"?t.push({label:"Disable",value:"disable"},{label:"Promote to user catalog",value:"promote"}):e.lifecycle==="quarantined"&&t.push({label:"Rollback",value:"rollback"},{label:"Disable",value:"disable"}),t}i(pH,"learningCenterActions");async function mH(e,t,n){n==="acknowledge"?await e.acknowledge(t):n==="snooze"?await e.snooze(t,new Date(Date.now()+1440*6e4).toISOString()):n==="reject"?await e.reject(t):n==="disable"?await e.disable(t):n==="rollback"?await e.rollback(t):n==="promote"?await e.promote(t,"user"):n==="review"?await e.review(t):n==="trust"&&await e.trust(t)}i(mH,"applyLearningCenterAction");function hH(e){return typeof e.appendSessionDelta=="function"}i(hH,"hasAppendSessionDelta");function cE(e,t){let n=t.runtimeSessionSnapshot;n&&("extensionState"in n&&(e.extensionState=n.extensionState?structuredClone(n.extensionState):{},e.extensionStateDirty=!0),"extensionRecords"in n&&(e.extensionRecords=n.extensionRecords?.map(r=>({...r}))??[],e.extensionRecordsDirty=!0))}i(cE,"applyRuntimeSessionSnapshot");var gH=12,lE="Do not try to modify files while planning. Finish the plan first, then call exit_plan_mode with the finalized plan \u2014 the user will review and approve or reject.";function Vy(e,t){if(Mn(e))return[t.getGuardrail()]}i(Vy,"buildAutoModeGuardrails");function yH(e,t){return e.reasoningMode?e.reasoningMode:t.reasoningMode?t.reasoningMode:e.thinking===!0||t.thinking===!0?"auto":"off"}i(yH,"resolveInitialReasoningMode");function zy(e){return Nt(e.map(t=>typeof t=="string"?t:String(t)).join(" "))}i(zy,"formatCapturedConsoleOutput");function Xy(e){let t=e.map(Nt).join(`
137
+ `).trimEnd();return t.trim().length>0?t:void 0}i(Xy,"joinCapturedConsoleOutput");function xH(e){let t=e.split(/\r?\n/).map(s=>s.trim()).filter(Boolean);if(t.length===0)return;if(t.length===1)return t[0];let[n,r]=t,o=n.startsWith("[")?`${n} ${r}`:`${n} / ${r}`;return o.length>220?`${o.slice(0,217)}...`:o}i(xH,"buildManagedTranscriptCompactText");function uE(e){let t=xH(e);return{type:"event",icon:iy(e)?"\u2713":">",text:e,...t&&t!==e?{compactText:t}:{}}}i(uE,"toManagedTranscriptEventItem");function Qo(e){switch(e.type){case"assistant":return{type:"assistant",text:e.text,timestamp:e.timestamp,...e.compactText?{compactText:e.compactText}:{}};case"thinking":return{type:"thinking",text:e.text,timestamp:e.timestamp,...e.compactText?{compactText:e.compactText}:{}};case"event":return{type:"event",text:e.text,timestamp:e.timestamp,...e.icon?{icon:e.icon}:{},...e.compactText?{compactText:e.compactText}:{}};case"info":return{type:"info",text:e.text,timestamp:e.timestamp,...e.icon?{icon:e.icon}:{},...e.compactText?{compactText:e.compactText}:{}};case"error":return{type:"error",text:e.text,timestamp:e.timestamp};case"system":return{type:"system",text:e.text,timestamp:e.timestamp};case"hint":return{type:"hint",text:e.text,timestamp:e.timestamp};case"sidecar":return{type:"sidecar",text:e.text,timestamp:e.timestamp,...e.verdict?{verdict:e.verdict}:{},...e.delivery?{delivery:e.delivery}:{}};case"tool_group":return{type:"tool_group",tools:e.tools,timestamp:e.timestamp};case"user":return{type:"user",text:e.text,timestamp:e.timestamp};default:return e}}i(Qo,"toCreatableHistoryItem");function qy(e){return FT(e)?"":Ys(e).trim()}i(qy,"sanitizeInterruptedAssistantText");function SH(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}i(SH,"escapeRegExpLiteral");function wH(e,t){let n=t?.trim();return n?e.replace(new RegExp(`^\\[${SH(n)}\\]\\s*`),""):e}i(wH,"stripManagedWorkerPrefix");function dE(e,t){let n=Ys(e);return wH(n,t).trim().length>0}i(dE,"hasSubstantiveManagedAssistantText");function TH(e,t){return e?t||e.trim().length>0:!1}i(TH,"shouldAppendManagedAssistantTextDelta");function fE(e){return!!(e?.activeWorkerId&&!e.childFanoutClass&&(e.phase==="preflight"||e.phase==="worker"))}i(fE,"isForegroundManagedStreamingStatus");function CH(e,t,n){let r=[],o=n?.infoItems??[],s=Jy({thinking:e,toolCalls:n?.toolCalls,toolNames:n?.toolNames});for(let c of o){let l=c.trim();l&&r.push({type:"info",text:l})}r.push(...s);let a=qy(t);return a&&r.push({type:"assistant",text:`${a}
138
+
139
+ [Interrupted]`}),r}i(CH,"buildInterruptedPersistenceItems");function Jy({thinking:e,response:t,toolCalls:n,toolNames:r}){let o=[],s=e?.trim()??"",a=t?.trim()??"",c=n&&n.length>0?[...n]:[],l=r&&r.length>0?[...r]:[];return s&&o.push({type:"thinking",text:s}),c.length>0?o.push({type:"tool_group",tools:c}):!s&&!a&&l.length>0&&o.push({type:"info",icon:"*",text:`Tools: ${l.join(", ")}`}),a&&o.push({type:"assistant",text:a}),o}i(Jy,"buildRoundHistoryItems");var IH=20,vH="Session ended before the tool completed.";function bH(e){switch(e.status){case W.Success:return{status:"success"};case W.Error:return{status:"error"};case W.Cancelled:return{status:"cancelled"};case W.AwaitingApproval:case W.Scheduled:case W.Validating:case W.Executing:return{status:"cancelled",error:vH};default:return e.status}}i(bH,"toPersistedToolStatus");function RH(e){if(!e.id||!e.name)return;let t=bH(e),n=t.status==="success"?mh(e.output):void 0,r=t.status==="error"||t.status==="cancelled"?ph(e.error??mh(e.output)??t.error??""):void 0,o=BT(e.input);return{id:e.id,name:e.name,status:t.status,...o?{input:o}:{},...typeof e.preview=="string"&&e.preview.trim().length>0?{preview:ph(e.preview.trim(),500)}:{},...n&&n.trim().length>0?{output:n}:{},...r&&r.trim().length>0?{error:r}:{},...typeof e.startTime=="number"?{startTime:e.startTime}:{},...typeof e.endTime=="number"?{endTime:e.endTime}:{}}}i(RH,"toPersistedToolCall");function kH(e){let t=e.tools.slice(0,IH).map(RH).filter(r=>!!r),n=Qy(e);return t.length>0?{type:"tool_group",tools:t,...n===void 0?{}:{timestamp:n}}:void 0}i(kH,"toPersistedToolGroup");function Qy(e){return e.timestamp!==void 0&&Number.isFinite(e.timestamp)&&e.timestamp>=0?e.timestamp:void 0}i(Qy,"persistedHistoryTimestamp");function yE(e){if(e.type==="tool_group")return kH(e);let t="text"in e&&typeof e.text=="string"?e.text.trimEnd():"";if(!t)return;if(e.type==="sidecar"){let s=e.delivery==="budget-exhausted"?"budget-exhausted":e.verdict??"revise",a=Qy(e);return{type:"sidecar",text:t,icon:s,...a===void 0?{}:{timestamp:a}}}let n="icon"in e&&typeof e.icon=="string"&&e.icon.length>0?e.icon:void 0,r="compactText"in e&&typeof e.compactText=="string"&&e.compactText.length>0?e.compactText.trimEnd():void 0,o=Qy(e);return{type:e.type,text:t,...o===void 0?{}:{timestamp:o},...n?{icon:n}:{},...r?{compactText:r}:{}}}i(yE,"toPersistedUiHistoryItem");var pE=process.env.KODAX_TRANSCRIPT_HARNESS_MARKERS==="1",EH=process.env.KODAX_SCROLL_OVERSCAN==="1"?80:void 0;function mE(e){return Or(e.map(t=>yE(t)).filter(t=>!!t))}i(mE,"serializeUiHistorySnapshot");function MH(e){return e.map(t=>yE(t)).filter(t=>!!t)}i(MH,"serializeCreatableHistoryItems");function nm(e,t){return t.length===0?Or(e):Or([...e,...MH(t)])}i(nm,"appendPersistedUiHistorySnapshot");function Jl(e,t,n){console.log((e==="block"?pt.red:pt.yellow)(t)),n.forEach(r=>console.log(pt.dim(r)))}i(Jl,"logSessionTransitionGuard");var Yy=i(({config:e,sessionId:t,workingDir:n,compactionInfo:r})=>{let o=se("dark"),s=e.model??br(e.provider)??e.provider,a=bo({provider:e.provider,model:e.model,effort:e.effort,effortOverride:e.effortOverride,thinking:e.thinking,reasoningMode:e.reasoningMode}),c=r?Math.round(r.contextWindow/1e3):0,l=r?bl(r.contextWindow,r.triggerPercent):void 0;return wn(k,{flexDirection:"column",marginBottom:1,children:[ay.map((d,f)=>fe(v,{color:o.colors.primary,children:d},f)),wn(k,{children:[fe(v,{color:o.colors.primary,children:" \u258E "}),fe(v,{color:o.colors.primary,children:"AI Coding Agent \xB7 Minimalist & Intelligent"})]}),wn(k,{children:[fe(v,{color:o.colors.success,children:" \u258E "}),wn(v,{bold:!0,color:o.colors.text,children:["v",Si]}),fe(v,{dimColor:!0,children:" \xB7 "}),wn(v,{color:o.colors.success,children:[e.provider,"/",s]}),fe(v,{dimColor:!0,children:` \xB7 effort:${a}`}),fe(v,{dimColor:!0,children:" \xB7 "}),fe(v,{color:o.colors.primary,children:e.agentMode.toUpperCase()}),fe(v,{dimColor:!0,children:" / "}),fe(v,{color:o.colors.accent,children:e.permissionMode})]}),r&&wn(k,{children:[fe(v,{color:o.colors.accent,children:" \u258E "}),fe(v,{color:o.colors.text,children:`ctx ${c}k \xB7 compaction `}),fe(v,{color:r.enabled?o.colors.success:o.colors.text,children:r.enabled?"on":"off"}),fe(v,{color:o.colors.text,children:` \xB7 ${l}`})]}),wn(k,{children:[fe(v,{color:o.colors.secondary,children:" \u258E "}),fe(v,{color:o.colors.text,children:"session "}),fe(v,{color:o.colors.primary,children:t}),fe(v,{color:o.colors.text,children:" \xB7 "}),fe(v,{color:o.colors.text,children:n})]})]})},"Banner");function AH(e){let t=e.config.model??br(e.config.provider)??e.config.provider,n=bo({provider:e.config.provider,model:e.config.model,effort:e.config.effort,effortOverride:e.config.effortOverride,thinking:e.config.thinking,reasoningMode:e.config.reasoningMode}),r=e.compactionInfo?Math.round(e.compactionInfo.contextWindow/1e3):0,o=e.compactionInfo?bl(e.compactionInfo.contextWindow,e.compactionInfo.triggerPercent):void 0,s=" \u258E AI Coding Agent \xB7 Minimalist & Intelligent",a=` \u258E v${Si} \xB7 ${e.config.provider}/${t} \xB7 effort:${n} \xB7 ${e.config.agentMode.toUpperCase()} / ${e.config.permissionMode}`,c=e.compactionInfo?` \u258E ctx ${r}k \xB7 compaction ${e.compactionInfo.enabled?"on":"off"} \xB7 ${o}`:void 0,l=` \u258E session ${e.sessionId} \xB7 ${e.workingDir}`,d=[],f=i(h=>{let g=fn(h.length>0?h.split(`
140
+ `):[""],Math.max(1,e.terminalWidth),0,0);return g.visualLines.length>0?g.visualLines:[""]},"wrapBannerLine"),p=i((h,g,C)=>{f(g).forEach((b,T)=>{d.push({key:`${h}-${T}`,text:b,...C})})},"pushLineRows");return ay.forEach((h,g)=>{p(`banner-logo-${g}`,h,{color:"primary"})}),p("banner-tagline",s,{color:"primary"}),p("banner-version",a,{color:"text",bold:!0}),c&&p("banner-compaction",c,{color:"text"}),p("banner-session",l,{color:"text"}),d.push({key:"banner-blank",text:" "}),{key:"banner",rows:d}}i(AH,"buildBannerTranscriptSection");function hE(e,t){return t?{...e,sections:[t,...e.sections],rows:[...t.rows,...e.rows]}:e}i(hE,"prependTranscriptSection");var _H=process.env.KODAX_INLINE_LEDGER!=="0";function gE(e,t){process.env.KODAX_INLINE_LEDGER_DEBUG==="1"&&Dt({source:"repl:inline-ledger",level:"debug",message:`${e}; rebuilding on next change.`,...t!==void 0?{detail:t}:{}})}i(gE,"reportInlineLedgerFailure");var LH=i(({options:e,config:t,context:n,startupRuntimeInfo:r,storage:o,autoModeSettings:s,rendererMode:a,fullscreenPolicy:c,onExit:l,compactionInfo:d,autoModeBootstrap:f,setAutoModeAskUser:p,setAutoModeEngineChange:h,setCurrentConfigRef:g,teamModeHandle:C})=>{let{exit:b}=Lr(),{stdout:T}=_r(),S=T.rows??24,{stdin:w,setRawMode:M,isRawModeSupported:O}=cl(),A=pa(),{history:N}=va(),X=aE.useRef(null),K=aE.useRef(Jw()),{addHistoryItem:q,addHistoryItems:x,clearHistory:Se,setSessionId:ee}=ba(),H=Ce(N),E=Ce(mE(N));De(()=>{H.current=N,E.current=mE(N)},[N]),De(()=>{eR()},[]),De(()=>{tC()},[]);let Z=T.columns||80,B=Ea(),le=Ce(B);De(()=>{le.current=B},[B]);let{startStreaming:ue,stopStreaming:he,abort:Te,startThinking:pe,appendThinkingChars:Ie,appendThinkingContent:Fe,stopThinking:Q,clearThinkingContent:de,setCurrentTool:we,appendToolInputChars:st,appendToolInputContent:yt,clearToolInputContent:je,clearResponse:J,appendResponse:me,getSignal:Me,getFullResponse:xe,getThinkingContent:Be,startNewIteration:ut,clearIterationHistory:sn,startCompacting:Ve,stopCompacting:Et,setMaxIter:P,addPendingInput:G,removeLastPendingInput:z,shiftPendingInput:F,consumePendingInputs:ge}=Ma(),[ie,te]=We(!1),[L,ze]=We(t),xt=ye(()=>wi({provider:L.provider,model:L.model,effort:L.effort,effortOverride:L.effortOverride,permissionMode:L.permissionMode,planModeEffort:L.planModeEffort,thinking:L.thinking,reasoningMode:L.reasoningMode}),[L.provider,L.model,L.effort,L.effortOverride,L.permissionMode,L.planModeEffort,L.thinking,L.reasoningMode]),St=xt.configuredEffort,Xn=xt.runtimeEffort,Mt=ye(()=>({...L,effort:St}),[L,St]),Cn=ye(()=>Bk(d,{provider:L.provider,model:L.model},hi),[d,L.provider,L.model]),[du,lA]=We(!0),[gm,YF]=We(!0),[fu,pu]=We(0),[ym,tc]=We(!1),[Fx,jx]=We(void 0),[Ux,xm]=We([]),[Gx,Yn]=We(null),nc=Ce(!1),uA=ye(()=>_o(),[]),rc=Ce(null),mu=Ce(null),Kx=Ce(Promise.resolve()),hu=Ce(null),ri=Ce({requested:!1,uiHistoryOverride:void 0}),Qi=Ce(null),oc=Ce(!1),ic=Ce(null);De(()=>{let u=e.learning;if(!u)return;let m=!0,y,I=i(async()=>{let D=await u.getSnapshot();return m&&jx($=>$!==void 0&&$.revision>D.revision?$:D),D},"refresh"),R=i(D=>{Dt({source:"repl:learning",level:"warn",message:"Failed to refresh the Learning Center snapshot.",detail:D instanceof Error?D.message:String(D)})},"reportRefreshFailure"),_=i(D=>{if(m){if(D.kind==="ready"||D.kind==="activated"||D.kind==="attention"){let $=D.kind==="ready"?"is ready for review":D.kind==="activated"?"became active":"requires attention";xm(Y=>[{id:D.eventId,text:`A learned ${D.carrier} ${$}: ${D.displayName} [/learn]`,tone:D.kind==="activated"?"accent":"warning"},...Y.filter(ne=>ne.id!==D.eventId)].slice(0,2))}I().catch(R)}},"onEvent");return I().then(D=>{if(!m)return;let $=Fd(D);if($){let Y=D.attention>0||D.ready>0?"warning":"accent";xm(ne=>[{id:"learning-recovery",text:$,tone:Y},...ne.filter(He=>He.id!=="learning-recovery")].slice(0,2))}y=u.subscribe(_,{afterRevision:D.revision})}).catch(R),()=>{m=!1,y?.close()}},[e.learning]);let[sc,gu]=We(!0),[Sm,yu]=We(""),[Ke,mr]=We(()=>sR(uA,{rendererMode:a})),[Bt,wm]=We(!1),[dA,fA]=We(0),{scrollRef:pA,scrollOffset:qn,sticky:Tm,setScrollOffset:mA,handleScrollTopChange:hA,handleStickyChange:gA,scrollTo:xu,scrollBy:Su,scrollToBottom:wu}=vk(),Cm=Ce(null),Tu=Ce(null),ac=Ce([]),Cu=Ce([]),Zi=Ce(null),Jn=Ce(null),Vx=Ce({time:0,row:-1,column:-1,count:0}),[Iu,Im]=We(void 0),[Ur,vm]=We(void 0),[es,zx]=We(void 0),[In,yA]=We(()=>new Set),[bm,Xx]=We(null),[Zt,Yx]=We(null),[V,vu]=We(null),[qx,ts]=We(null),[Rm,Jx]=We(null),cc=Ce(null),lc=U(u=>{cc.current=u,Jx(u)},[]),uc=U(u=>{let m=u(cc.current);cc.current=m,Jx(m)},[]),dc=U((u,m)=>{let y=cc.current;return y?.status!=="running"||!Bb(u,y.runId)?!1:(lc({...y,message:m}),!0)},[lc]),km=U(u=>{if(u.status==="running"){lc({runId:u.runId,workflow:u.workflow,status:u.status,...u.phase!==void 0?{phase:u.phase}:{},...u.phaseIndex!==void 0?{phaseIndex:u.phaseIndex}:{},...u.phaseTotal!==void 0?{phaseTotal:u.phaseTotal}:{},...u.startedAt!==void 0?{startedAt:u.startedAt}:{},...u.elapsedMs!==void 0?{elapsedMs:u.elapsedMs}:{},activeAgents:u.activeAgents,totalSpawned:u.totalSpawned,...u.plannedAgents!==void 0?{plannedAgents:u.plannedAgents}:{},...u.agentCap!==void 0?{agentCap:u.agentCap}:{},...u.tokenBudgetSpent!==void 0?{tokenBudgetSpent:u.tokenBudgetSpent}:{},...u.tokenBudgetTotal!==void 0?{tokenBudgetTotal:u.tokenBudgetTotal}:{},completedAgents:u.completedAgents,failedAgents:u.failedAgents,stoppedAgents:u.stoppedAgents,...u.message!==void 0?{message:u.message}:{},...u.locale!==void 0?{locale:u.locale}:{}});return}uc(m=>m?.runId===u.runId?null:m)},[lc,uc]),xA=U(u=>{let m=u.type==="workflow_updated"?u.message:void 0,y=Gc(u.snapshot.goal,u.snapshot.workflowName,u.snapshot.displayName,u.snapshot.latestMessage,m);km(VT(u.snapshot,m===void 0?{locale:y}:{locale:y,message:m}))},[km]),[bu,Gr]=We([]),ns=ye(()=>{for(let u of bu)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}},[bu]),[qF,fc]=We([]),[pc,SA]=We([]),[Ru,It]=We(void 0),[oi,mc]=We(void 0),dt=Ce(null),ku=Ce(null),ii=Ce([]),rs=Ce([]),an=Ce([]),Em=Ce(new Set),nt=Ce({}),wt=Ce({activeToolGroupTools:[]}),Qx=Ce(0),Eu=Ce({itemId:void 0,kind:"thinking",pendingText:""}),Qn=Ce(null),wA=80,TA=20,CA=Ce(null),Mu=ye(()=>[...N,...pc],[N,pc]),Mm=ye(()=>{let u=qv(Mu,CA);return u===0?Mu:Mu.slice(u)},[Mu]),Au=ye(()=>Jv(Mm,TA),[Mm]),os=Mm,en=Ce(null),hr=Ce(null),gr=Ce([]),tn=Ce([]),[si,IA]=We([]),Kr=Ce([]),[Am,vA]=We([]),hc=Ce([]),Dn=U(u=>{Kr.current=u,IA(u)},[]),is=U(u=>{hc.current=u,vA(u)},[]),_m=U(()=>{is([])},[is]),Zx=U(u=>{if(!kp(u))return!1;let m=Vg(u),y=hc.current.filter(I=>I.id!==m);return y.length===hc.current.length||is(y),!0},[is]),On=U((u,m,y,I)=>{if(!kp(u))return!1;let R=Vg(u),_=hc.current.find(Ge=>Ge.id===R);if(I?.skipIfExisting&&_?.kind===m||Ub(_?.kind,m))return!0;let D=I?.append&&_?.kind===m?`${_.detail}${y}`:y||_?.detail||"running",$={id:R,label:Wb(u),source:Fb(u),status:"running",kind:m,detail:Kg(D),startedAt:_?.startedAt??Date.now()},Y=hc.current,ne=Y.findIndex(Ge=>Ge.id===R),He=ne>=0?Y.map((Ge,zt)=>zt===ne?$:Ge):[...Y,$].slice(0,gH);return is(He),!0},[is]),eS=U(u=>{ii.current=u,fc(u)},[]),ss=U(u=>{an.current=u,SA(u)},[]),tS=U(u=>{let m=u([...an.current]);ss(m)},[ss]),nS=U(u=>{u.length!==0&&ss([...an.current,...u])},[ss]),_u=U(u=>{let m=wt.current,y=m.activeToolGroupTools.some(I=>I.status===W.Executing);wt.current={...u?.clearOwner?{}:{workerId:m.workerId,workerTitle:m.workerTitle},...y?{activeToolGroupItemId:m.activeToolGroupItemId,activeToolGroupTools:m.activeToolGroupTools}:{activeToolGroupTools:[]}},u?.clearOwner&&(nt.current={})},[]),Lu=U(u=>{for(let m of u)m.type==="user"&&typeof m.id=="string"&&Em.current.add(m.id)},[]),gc=U(()=>{Eu.current={itemId:void 0,kind:"thinking",pendingText:""},Qn.current&&(clearTimeout(Qn.current),Qn.current=null);let u=Bg(an.current,Em.current);if(u.length>0){for(let m of u)Em.current.add(m.id);Qi.current?.(u.map(m=>Qo(m)))}_u({clearOwner:!0}),ss([])},[_u,ss]),Pu=U(u=>(Qx.current+=1,`managed-foreground-${u}-${Qx.current}`),[]),Ut=U(u=>(nS([u]),u.id),[nS]),vn=U((u,m)=>{nt.current.workerId?Ut({id:`${m}-${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()}):q(u)},[q,Ut]),rS=U((u,m)=>{let y=Date.now();nt.current.workerId?Ut({id:`${m}-${y}-${Math.random().toString(36).slice(2,7)}`,type:"sidecar",text:u.text,...u.verdict?{verdict:u.verdict}:{},...u.delivery?{delivery:u.delivery}:{},timestamp:y}):q(u)},[q,Ut]),Vr=U((u,m)=>{if(!u)return;let y;return tS(I=>I.map(R=>R.id!==u?R:(y=m(R),y))),y},[tS]),as=U((u,m)=>{let y=wt.current;if(y.activeKind===u){if(u==="thinking"&&y.activeThinkingItemId)return y.activeThinkingItemId;if(u==="assistant"&&y.activeAssistantItemId)return y.activeAssistantItemId;if(u==="tool_group"&&y.activeToolGroupItemId)return y.activeToolGroupItemId}let I=Date.now(),R=m?.trim()?`[${m.trim()}] `:"",_=y.activeToolGroupTools.some($=>$.status===W.Executing);if(u==="thinking"){let $=Ut({id:Pu("thinking"),type:"thinking",timestamp:I,text:R});return wt.current={...wt.current,activeKind:"thinking",activeThinkingItemId:$,currentTurnThinkingItemId:$,activeAssistantItemId:void 0,..._?{}:{activeToolGroupItemId:void 0,activeToolGroupTools:[]}},$}if(u==="assistant"){let $=Ut({id:Pu("assistant"),type:"assistant",timestamp:I,text:R});return wt.current={...wt.current,activeKind:"assistant",activeThinkingItemId:void 0,activeAssistantItemId:$,..._?{}:{activeToolGroupItemId:void 0,activeToolGroupTools:[]}},$}let D=Ut({id:Pu("tool_group"),type:"tool_group",timestamp:I,tools:[]});return wt.current={...wt.current,activeKind:"tool_group",activeThinkingItemId:void 0,activeAssistantItemId:void 0,activeToolGroupItemId:D,activeToolGroupTools:[]},D},[Ut,Pu]),Zn=U(()=>{Qn.current&&(clearTimeout(Qn.current),Qn.current=null);let u=Eu.current;if(!u.pendingText||!u.itemId)return;let m=u.pendingText,y=u.itemId,I=u.kind;u.pendingText="",Vr(y,R=>R.type!==I?R:{...R,text:`${R.text}${m}`})},[Vr]),oS=U(()=>{Qn.current||(Qn.current=setTimeout(Zn,wA))},[Zn]),$u=U((u,m)=>{if(!m)return;let y=wt.current;if(u==="assistant"&&!TH(m,y.activeKind==="assistant"&&!!y.activeAssistantItemId))return;let I=y.workerTitle,R=as(u,I),_=Eu.current;_.itemId===R&&_.kind===u?_.pendingText+=m:(Zn(),_.itemId=R,_.kind=u,_.pendingText=m),oS()},[as,Zn,oS]),iS=U(u=>{let m=u.trim();if(!m)return;let y=Eu.current;y.kind==="thinking"&&y.pendingText&&(y.pendingText="",Qn.current&&(clearTimeout(Qn.current),Qn.current=null));let I=wt.current.workerTitle?.trim(),R=I?`[${I}] ${m}`:m,_=wt.current.currentTurnThinkingItemId;if(_){Vr(_,$=>$.type==="thinking"?{...$,text:R}:$);return}let D=as("thinking",wt.current.workerTitle);Vr(D,$=>$.type==="thinking"?{...$,text:R}:$)},[as,Vr]),er=U(u=>{Zn();let m=wt.current;if(m.activeToolGroupItemId&&m.activeToolGroupTools.some(D=>D.id===u.id)){let D=m.activeToolGroupTools.map(Y=>Y.id===u.id?u:Y),$=D.every(Y=>Y.status===W.Success||Y.status===W.Error||Y.status===W.Cancelled);wt.current={...m,...$?{activeToolGroupItemId:void 0,activeToolGroupTools:[]}:{activeToolGroupTools:D}},Vr(m.activeToolGroupItemId,Y=>Y.type==="tool_group"?{...Y,tools:D}:Y);return}let y=an.current;for(let D=y.length-1;D>=0;D-=1){let $=y[D];if($.type!=="tool_group"||!$.tools.some(ne=>ne.id===u.id))continue;let Y=$.tools.map(ne=>ne.id===u.id?u:ne);Vr($.id,ne=>ne.type==="tool_group"?{...ne,tools:Y}:ne);return}let I=as("tool_group",m.workerTitle),_=m.activeKind==="tool_group"&&m.activeToolGroupItemId===I?m.activeToolGroupTools.some(D=>D.id===u.id)?m.activeToolGroupTools.map(D=>D.id===u.id?u:D):[...m.activeToolGroupTools,u]:[u];wt.current={...wt.current,activeKind:"tool_group",activeToolGroupItemId:I,activeToolGroupTools:_},Vr(I,D=>D.type==="tool_group"?{...D,tools:_}:D)},[as,Vr,Zn]),bA=U(u=>{Zn();let m=wt.current,y=m.activeToolGroupTools.some(_=>_.status===W.Executing),I=Kr.current.filter(_=>_.status===W.Executing),R=new Set(I.map(_=>_.id));wt.current={workerId:u?.workerId,workerTitle:u?.workerTitle,...y?{activeToolGroupItemId:m.activeToolGroupItemId,activeToolGroupTools:m.activeToolGroupTools}:{activeToolGroupTools:[]}},nt.current={workerId:u?.workerId,workerTitle:u?.workerTitle},gr.current=[],tn.current=tn.current.filter(_=>R.has(_.id)),Dn(I),je(),we(void 0),Q(),de(),J(),It(void 0)},[Zn,je,J,de,we,Dn,It,Q]),RA=U(u=>{if(u.length===0)return[];let m=[],y=[...ii.current],I=[...rs.current];for(let R of u){let _=R.item,D=y.findIndex($=>$.id===_.id);if(D>=0){let $=y[D];Bp($,_)||(y=y.map((Y,ne)=>ne===D?{..._,timestamp:$.timestamp}:Y))}else y=[...y,_].slice(-12),m.push(_);if(R.persistToHistory){let $=I.findIndex(Y=>Y.id===_.id);if($>=0){let Y=I[$];Bp(Y,_)||(I=I.map((ne,He)=>He===$?{..._,timestamp:Y.timestamp}:ne))}else I=[...I,_].slice(-48)}}return rs.current=I,(m.length>0||y.some((R,_)=>!Bp(R,ii.current[_]??R)||R.id!==ii.current[_]?.id))&&eS(y),m},[eS]),Du=U(u=>{if(tn.current.findIndex(y=>y.id===u.id)===-1){tn.current=[...tn.current,u];return}tn.current=tn.current.map(y=>y.id===u.id?u:y)},[]),xo=U(u=>{let m=Kr.current.filter(y=>y.status===W.Executing);if(m.length!==0){if(u){let y=oy(u);for(let I=m.length-1;I>=0;I-=1){let R=m[I];if(oy(R.name)===y)return R}}return m[m.length-1]}},[]),cs=U(()=>{let u=xo();we(u?ry(u.name):void 0)},[xo,we]),sS=U(u=>(Du(u),Dn([...Kr.current.filter(m=>m.id!==u.id),u]),cs(),u),[Dn,cs,Du]),ls=U((u,m)=>{let y=Kr.current.find(R=>R.id===u);if(!y)return null;let I=m(y);return Du(I),Dn(Kr.current.map(R=>R.id===u?I:R)),cs(),I},[Dn,cs,Du]),aS=U((u,m,y)=>{if(u){let R=ls(u,y);if(R)return R}let I=xo(m);return I?ls(I.id,y):null},[xo,ls]),Ou=U((u,m,y,I,R)=>{let _=u??xo(R)?.id;return _?ls(_,D=>({...D,status:m,endTime:Date.now(),error:y,output:I})):null},[xo,ls]),yc=U((u,m)=>{let y=Date.now(),I=new Map;for(let R of Kr.current){if(R.status!==W.Executing)continue;let _=m(R);I.set(R.id,{...R,status:u,endTime:y,..._})}return I.size===0?[]:(tn.current=tn.current.map(R=>I.get(R.id)??R),Dn(Kr.current.map(R=>I.get(R.id)??R)),cs(),[...I.values()])},[Dn,cs]),So=U(()=>{Dn([])},[Dn]),{showHelp:cS,toggleHelp:kA,setShowHelp:lS}=uy(),EA=U(u=>{yu(u),gu(u.trim().length===0)},[]),Nu=Fo(),uS=ye(()=>Nu?Nu.state.visible&&Nu.suggestions.length>0:!1,[Nu]),[xc,dS]=We(!1),fS=Ce(fu),ai=U(()=>{en.current&&(clearTimeout(en.current),en.current=null),hr.current&&(clearTimeout(hr.current),hr.current=null)},[]);De(()=>{uS&&!xc&&dS(!0)},[uS,xc]),De(()=>{fu!==fS.current&&(fS.current=fu,xc&&dS(!1))},[fu,xc]);let[Xe,Sc]=We(null),zr=Ce(null),MA=Ce(E0()),[Oe,tr]=We(null),Bu=Ce(null),Hu=Ce(Oe);Hu.current=Oe;let[cn,us]=We(""),[Wu,nr]=We(0),Lm=Ce(""),wc=Ce(void 0),pS=ye(()=>{if(!Cn)return;let{contextWindow:u,triggerPercent:m,reservedResponseTokens:y}=Cn;return{currentTokens:Gx??n.contextTokenSnapshot?.currentTokens??Es(n.messages),contextWindow:u,triggerPercent:m,reservedResponseTokens:y}},[n.messages,n.contextTokenSnapshot,Cn,Gx]),Tc=ye(()=>{if(!Xe)return;let u=new Set(Xe.runtimeGrantSuggestions?.map(I=>I.kind)??[]);if(u.has("persistent"))return oe("confirm.instruction.runtime_persistent");if(u.has("session"))return oe("confirm.instruction.runtime_session");if(Xe.runtimeGrantSuggestions!==void 0)return oe("confirm.instruction.basic");let m=!!Xe.input._alwaysConfirm,y=L.permissionMode==="accept-edits"&&!m;return m?oe("confirm.instruction.protected"):y?oe("confirm.instruction.always"):oe("confirm.instruction.basic")},[Xe,L.permissionMode]),mt=Ke.searchMode==="history",ae=Ke.surface==="transcript",yr=!!Xe||!!Oe||mt,Pt=ae?Bt?Wv:1e3:12,wo=rE(c,Ke.surface),mS=wo.shellMode,Pm=wo.usesAlternateScreenShell,ci=wo.usesRendererViewportShell,Fu=wo.usesRendererMouseTracking,hS=wo.usesManagedMouseClicks,gS=wo.usesManagedMouseWheel,$m=wo.usesManagedSelection,$t=oE(c,Ke.surface,gR(Ke)),yS=yR(Ke),ju=xc&&!ae,xS=U(()=>Uy({items:os,managedLiveEvents:[],isLoading:ie,isThinking:B.isThinking,thinkingCharCount:B.thinkingCharCount,thinkingContent:B.thinkingContent,currentResponse:B.currentResponse,currentTool:B.currentTool,activeToolCalls:si,toolInputCharCount:B.toolInputCharCount,toolInputContent:B.toolInputContent,lastLiveActivityLabel:Ru,workStripText:oi,iterationHistory:B.iterationHistory,currentIteration:B.currentIteration,isCompacting:B.isCompacting}),[os,ie,B.isThinking,B.thinkingCharCount,B.thinkingContent,B.currentResponse,B.currentTool,si,B.toolInputCharCount,B.toolInputContent,Ru,oi,B.iterationHistory,B.currentIteration,B.isCompacting]);De(()=>{if(ae){Xx(u=>u??xS());return}Xx(null)},[xS,ae]);let Cc=ye(()=>Zk({isTranscriptMode:ae,snapshot:bm,currentItemsLength:os.length,currentManagedLiveEventsLength:0,isLoading:ie,currentResponse:B.currentResponse,thinkingContent:B.thinkingContent,activeToolCallsLength:si.length}),[si.length,ie,ae,os.length,B.currentResponse,B.thinkingContent,bm]),Gt=ae?bm:null,Dm=ye(()=>tE(Au),[Au]),AA=ye(()=>!!(pc.length>0||fE(V)),[pc.length,V]),Uu=pc.length>0,nn=c.streamingPreview&&AA,ds=ye(()=>eE({surface:"transcript",snapshot:Gt,promptItems:Au,transcriptItems:os}),[Gt,Au,os]),Ic=ye(()=>{if(!ae||Bt||ds.length<=kg)return ds;let u=ds.slice(-kg),m=ds.length-u.length;return[eb(m,u[0]?.timestamp),...u]},[ds,ae,Bt]),ht=Gt?.isLoading??ie,at=c.streamingPreview?{isThinking:nn?!1:B.isThinking,thinkingCharCount:nn?0:B.thinkingCharCount,thinkingContent:nn?"":B.thinkingContent,currentResponse:nn?"":B.currentResponse,currentTool:nn?void 0:B.currentTool,activeToolCalls:nn?[]:si,toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:nn?Ru:void 0,iterationHistory:[],currentIteration:B.currentIteration,isCompacting:!1}:{isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentResponse:"",currentTool:void 0,activeToolCalls:[],toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:void 0,iterationHistory:[],currentIteration:B.currentIteration,isCompacting:!1},Re=c.streamingPreview?{isThinking:nn?!1:Gt?.isThinking??B.isThinking,thinkingCharCount:nn?0:Gt?.thinkingCharCount??B.thinkingCharCount,thinkingContent:nn?"":Gt?.thinkingContent??B.thinkingContent,currentResponse:nn?"":Gt?.currentResponse??B.currentResponse,currentTool:nn?void 0:Gt?.currentTool??B.currentTool,activeToolCalls:nn?[]:Gt?.activeToolCalls??si,toolInputCharCount:nn?0:Gt?.toolInputCharCount??B.toolInputCharCount,toolInputContent:nn?"":Gt?.toolInputContent??B.toolInputContent,managedLiveEvents:[],lastLiveActivityLabel:Gt?.lastLiveActivityLabel??Ru,iterationHistory:nn?[]:Gt?.iterationHistory??B.iterationHistory,currentIteration:Gt?.currentIteration??B.currentIteration,isCompacting:Gt?.isCompacting??B.isCompacting}:{isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentResponse:"",currentTool:void 0,activeToolCalls:[],toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:void 0,iterationHistory:[],currentIteration:Gt?.currentIteration??B.currentIteration,isCompacting:!1},Xr=ae?Ur:Iu,SS=!!Iu,wS=U(()=>Uy({items:Dm,managedLiveEvents:[],isLoading:ie,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}),[ie,Dm,at.activeToolCalls,at.currentIteration,at.currentResponse,at.currentTool,at.isCompacting,at.isThinking,at.iterationHistory,at.lastLiveActivityLabel,at.thinkingCharCount,at.thinkingContent,at.toolInputCharCount,at.toolInputContent]);De(()=>{if(!SS){Yx(null);return}Yx(u=>u??wS())},[wS,SS]);let vc=Zt?.items??Dm,ln=Zt?.isLoading??ie,$e=Zt?{isThinking:Zt.isThinking,thinkingCharCount:Zt.thinkingCharCount,thinkingContent:Zt.thinkingContent,currentResponse:Zt.currentResponse,currentTool:Zt.currentTool,activeToolCalls:Zt.activeToolCalls,toolInputCharCount:Zt.toolInputCharCount,toolInputContent:Zt.toolInputContent,managedLiveEvents:Zt.managedLiveEvents,lastLiveActivityLabel:Zt.lastLiveActivityLabel,iterationHistory:Zt.iterationHistory,currentIteration:Zt.currentIteration,isCompacting:Zt.isCompacting}:at,Kt=ae?Ic:vc,xr=ae?ht:ln,Je=ae?Re:$e,TS=ln&&!B.currentResponse&&!B.thinkingContent&&si.length===0,_A=xl(Rm?.status==="running"),Ht=ye(()=>XT(Rm,Date.now()),[Rm,_A]),CS=Ht.shouldRender?`Workflow ${Ht.workflow}${Ht.phase?` - ${Ht.phase}`:""}`:void 0,Sr=ye(()=>R0(bu,{now:Date.now(),lastAllCompletedAt:null}),[bu]),IS=S<=20?1:Gg,LA=xl(Am.length>0),Om=ye(()=>Gb(Am,IS,Date.now()),[IS,Am,LA]),vS=Hb({isTranscriptMode:ae,isLoading:ie,hasWorkflowLiveSurface:Ht.shouldRender,childActivityVisible:Om.shouldRender}),fs=ye(()=>{if(!ae)return[];let u=[];return u.push(...zT(Ht)),ie&&Sr.shouldRender&&u.push(...I0(Sr)),u},[ae,ie,Sr,Ht]),li=ye(()=>({config:Mt,sessionId:n.sessionId,workingDir:e.context?.executionCwd||e.context?.gitRoot||n.runtimeInfo?.executionCwd||n.gitRoot||process.cwd(),terminalWidth:Z,compactionInfo:Cn??void 0}),[Cn,n.sessionId,Mt,n.runtimeInfo?.executionCwd,e.context?.gitRoot,e.context?.executionCwd,Z]),To=ye(()=>c.enabled&&gm?AH(li):void 0,[li,c.enabled,gm]),bS=Ce(Fa),RS=Ce(!1),Nm=Ce(!1),ps=ak({enabled:_H,useRendererViewportShell:ci,isTranscriptMode:ae,hasCommitHandle:typeof Oi(T)?.commitInlineScrollback=="function"}),bc=ye(()=>ep({items:vc,viewportWidth:Z,maxLines:Pt,showDetailedTools:!1,showAllContent:!1,windowed:!1}),[vc,Z,Pt]),ui=ye(()=>{let u=tp({activeItems:bc.activeItems,viewportWidth:Z,isLoading:ln,maxLines:Pt,isThinking:$e.isThinking,thinkingCharCount:$e.thinkingCharCount,thinkingContent:$e.thinkingContent,streamingResponse:$e.currentResponse,currentTool:$e.currentTool,activeToolCalls:$e.activeToolCalls,toolInputCharCount:$e.toolInputCharCount,toolInputContent:$e.toolInputContent,iterationHistory:$e.iterationHistory,currentIteration:$e.currentIteration,isCompacting:$e.isCompacting,managedAgentMode:L.agentMode,managedPhase:ln?V?.phase:void 0,managedHarnessProfile:ln?V?.harnessProfile:void 0,managedWorkerTitle:ln?V?.activeWorkerTitle:void 0,managedRound:ln?V?.currentRound:void 0,managedMaxRounds:ln?V?.maxRounds:void 0,managedGlobalWorkBudget:ln?V?.globalWorkBudget:void 0,managedBudgetUsage:ln?V?.budgetUsage:void 0,managedBudgetApprovalRequired:ln?V?.budgetApprovalRequired:void 0,lastLiveActivityLabel:$e.lastLiveActivityLabel,currentTodoActiveForm:ns,showFullThinking:!1,showDetailedTools:!1,showAllContent:!1,showLiveProgressRows:TS}),m=Kv(bc,u,To);return uk(m,ps)},[L.agentMode,ps,ln,$e.activeToolCalls,$e.currentIteration,$e.currentTool,$e.isCompacting,$e.currentResponse,$e.isThinking,$e.iterationHistory,$e.lastLiveActivityLabel,$e.thinkingCharCount,$e.thinkingContent,$e.toolInputCharCount,$e.toolInputContent,V?.activeWorkerTitle,V?.budgetApprovalRequired,V?.budgetUsage,V?.currentRound,V?.globalWorkBudget,V?.harnessProfile,V?.maxRounds,V?.phase,TS,bc,To,Z,Pt,ns]),Bm=ye(()=>ep({items:Ic,viewportWidth:Z,maxLines:Pt,showDetailedTools:Bt,showAllContent:Bt,showFullThinking:!0,windowed:!1}),[Ic,Z,Pt,Bt]),Gu=ye(()=>{if(!ae||ci)return;let u=tp({activeItems:Bm.activeItems,viewportWidth:Z,isLoading:ht,maxLines:Pt,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:L.agentMode,managedPhase:ht?V?.phase:void 0,managedHarnessProfile:ht?V?.harnessProfile:void 0,managedWorkerTitle:ht?V?.activeWorkerTitle:void 0,managedRound:ht?V?.currentRound:void 0,managedMaxRounds:ht?V?.maxRounds:void 0,managedGlobalWorkBudget:ht?V?.globalWorkBudget:void 0,managedBudgetUsage:ht?V?.budgetUsage:void 0,managedBudgetApprovalRequired:ht?V?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Re.lastLiveActivityLabel,liveStatusLines:fs,currentTodoActiveForm:ns,showFullThinking:!0,showDetailedTools:Bt,showAllContent:Bt,showLiveProgressRows:!Uu,expandedItemKeys:In});return hE(Rg(np(Bm,u)),To)},[L.agentMode,In,Uu,To,ae,V?.activeWorkerTitle,V?.budgetApprovalRequired,V?.budgetUsage,V?.currentRound,V?.globalWorkBudget,V?.harnessProfile,V?.maxRounds,V?.phase,Z,ht,Pt,Bm,Re.activeToolCalls,Re.currentIteration,Re.currentResponse,Re.currentTool,Re.isCompacting,Re.isThinking,Re.iterationHistory,Re.lastLiveActivityLabel,Re.thinkingCharCount,Re.thinkingContent,Re.toolInputCharCount,Re.toolInputContent,Bt,fs,ci,ns]),Rc=ye(()=>{if($t)return ae?hE(rp({items:Kt,viewportWidth:Z,isLoading:xr,maxLines:Pt,isThinking:Je.isThinking,thinkingCharCount:Je.thinkingCharCount,thinkingContent:Je.thinkingContent,streamingResponse:Je.currentResponse,currentTool:Je.currentTool,activeToolCalls:Je.activeToolCalls,toolInputCharCount:Je.toolInputCharCount,toolInputContent:Je.toolInputContent,iterationHistory:Je.iterationHistory,currentIteration:Je.currentIteration,isCompacting:Je.isCompacting,managedAgentMode:L.agentMode,managedPhase:xr?V?.phase:void 0,managedHarnessProfile:xr?V?.harnessProfile:void 0,managedWorkerTitle:xr?V?.activeWorkerTitle:void 0,managedRound:xr?V?.currentRound:void 0,managedMaxRounds:xr?V?.maxRounds:void 0,managedGlobalWorkBudget:xr?V?.globalWorkBudget:void 0,managedBudgetUsage:xr?V?.budgetUsage:void 0,managedBudgetApprovalRequired:xr?V?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Je.lastLiveActivityLabel,liveStatusLines:fs,currentTodoActiveForm:ns,windowed:!0,showFullThinking:ae,showDetailedTools:Bt,showAllContent:Bt,showLiveProgressRows:ae&&!Uu,expandedItemKeys:ae?In:void 0}),To):Rg(ui)},[L.agentMode,xr,Kt,Uu,To,Je.activeToolCalls,Je.currentIteration,Je.currentResponse,Je.currentTool,Je.isCompacting,Je.isThinking,Je.iterationHistory,Je.lastLiveActivityLabel,Je.thinkingCharCount,Je.thinkingContent,Je.toolInputCharCount,Je.toolInputContent,In,ae,V?.activeWorkerTitle,V?.budgetApprovalRequired,V?.budgetUsage,V?.currentRound,V?.globalWorkBudget,V?.harnessProfile,V?.maxRounds,V?.phase,ui,ie,ae,Z,Pt,$t,fs,Bt,ns]),wr=ye(()=>Rc??Gu,[Rc,Gu]),kc=ye(()=>jy({status:V,isLoading:ie,agentMode:L.agentMode}),[L.agentMode,ie,V]).workStripText,Ec=Gt?.workStripText??oi,ms=ye(()=>jy({status:V,isLoading:ie,agentMode:L.agentMode,parallelTextOverride:Ec}),[L.agentMode,Ec,ie,V]),di=ye(()=>gk(Kt).filter(u=>u!==op),[Kt]),rt=ye(()=>Kp(Ke,di,Ke.selectedItemId),[di,Ke]),bn=ye(()=>Kt.find(u=>u.id===rt),[Kt,rt]),kS=ye(()=>({...Ke,supportsSelection:Ke.supportsSelection&&$t,supportsCopyOnSelect:Ke.supportsCopyOnSelect&&$t}),[Ke,$t]),Nn=ye(()=>Wk({state:kS,selectableItemIds:di,selectedItemId:rt,selectedItemType:bn?.type,isExpanded:rt?In.has(rt):!1}),[In,di,bn?.type,rt,kS]),ES=Nn.selectionEnabled,MS=Nn.copyCapabilities.copyOnSelect,ZF=Nn.selectedItemIndex,AS=ye(()=>hk(bn),[bn]),Ku=ye(()=>dk(Kt.filter(u=>!Mg(u))),[Kt]),Wt=ye(()=>fk(Ku,cn),[Ku,cn]),Vu=ye(()=>Uk({isHistorySearchActive:mt,historySearchQuery:cn,matches:Wt,selectedIndex:Wu,anchorItemId:Ke.searchAnchorItemId,useOverlaySurface:Ke.supportsOverlaySurface&&Ke.supportsSearchViewport&&$t}),[Wt,cn,Wu,mt,Ke.searchAnchorItemId,Ke.supportsOverlaySurface,Ke.supportsSearchViewport,$t]),Co=Vu.clampedSelectedIndex,_S=Vu.statusText,Hm=Vu.detailText,LS=Vu.searchState,e2=Nn.detailState==="expanded",zu=Nn.selectionEnabled&&di.length>0&&!Xr,hs=Nn.copyCapabilities.message,Xu=Nn.copyCapabilities.toolInput,Yu=Nn.toggleDetail;De(()=>{if(kc){if(hr.current&&(clearTimeout(hr.current),hr.current=null),oi===kc)return;if(oi){en.current&&(clearTimeout(en.current),en.current=null),mc(kc);return}en.current&&clearTimeout(en.current),en.current=setTimeout(()=>{mc(kc),en.current=null},400);return}if(!oi){en.current&&(clearTimeout(en.current),en.current=null);return}en.current&&(clearTimeout(en.current),en.current=null),hr.current&&clearTimeout(hr.current),hr.current=setTimeout(()=>{mc(void 0),hr.current=null},300)},[ai,kc,oi]),De(()=>()=>{ai()},[ai]);let Io=ye(()=>wk({state:Ke,ownsViewport:$t,isAwaitingUserInteraction:yr,isHistorySearchActive:mt,isTranscriptMode:ae,historySearchQuery:cn}),[cn,yr,mt,ae,Ke,$t]);De(()=>{mr(u=>{let m=uR(u,qn);return m=lR(m,Cc),m=fR(m,c.enabled&&$t?!Tm||mt||yr:ae||mt||yr),m=hR(m,Co),m})},[Co,c.enabled,qn,yr,mt,ae,Cc,$t,Tm]),De(()=>{Wu!==Co&&nr(Co)},[Co,Wu]),De(()=>{if(!mt){Lm.current=cn;return}if(cn===Lm.current)return;Lm.current=cn;let u=mk(Ku,Wt,Ke.searchAnchorItemId);nr(u)},[Wt,cn,mt,Ke.searchAnchorItemId,Ku]);let PS=ae?Re:{isThinking:$e.isThinking,thinkingCharCount:$e.thinkingCharCount,currentTool:$e.currentTool,activeToolCalls:$e.activeToolCalls,toolInputCharCount:$e.toolInputCharCount,toolInputContent:$e.toolInputContent,currentIteration:$e.currentIteration,isCompacting:$e.isCompacting},Mc=ae?ht:ln,[Wm,Tr]=We(()=>Mn(L.permissionMode)?e.runtimeAutoModeControl?void 0:f.getGuardrail().getEngine():void 0);De(()=>{if(!e.runtimeAutoModeControl){Mn(L.permissionMode)||Tr(void 0);return}if(!Mn(L.permissionMode)){Tr(void 0),e.runtimeAutoModeControl.syncSettings?.(n.sessionId,L.permissionMode,s);return}let u=!0;i(async()=>{let I=await e.runtimeAutoModeControl?.syncSettings?.(n.sessionId,L.permissionMode,s)??await e.runtimeAutoModeControl?.getStats(n.sessionId);u&&Tr(I?.engine)},"refresh")();let y=e.runtimeAutoModeControl.subscribe?.(n.sessionId,I=>{u&&Tr(I?.engine)});return()=>{u=!1,y?.close()}},[s,n.sessionId,L.permissionMode,e.runtimeAutoModeControl]);let qu=ye(()=>Hk({sessionId:n.sessionId,permissionMode:L.permissionMode,agentMode:L.agentMode,provider:L.provider,model:L.model??br(L.provider)??L.provider,thinking:L.thinking,reasoningMode:L.reasoningMode,effort:St,reasoningEffortLabel:bo({provider:L.provider,model:L.model,effort:St,effortOverride:L.effortOverride,thinking:L.thinking,reasoningMode:L.reasoningMode}),isTranscriptMode:ae,streamingState:PS,maxIter:B.maxIter,contextUsage:pS,learning:Fx,isLoading:Mc,managedState:{phase:V?.phase,harnessProfile:V?.harnessProfile,workerTitle:V?.activeWorkerTitle,round:V?.currentRound,maxRounds:V?.maxRounds,globalWorkBudget:V?.globalWorkBudget,budgetUsage:V?.budgetUsage,budgetApprovalRequired:V?.budgetApprovalRequired,idleWaiting:V?.idleWaiting,idleWaitingPendingCount:V?.idleWaitingPendingCount},autoModeEngine:Wm}),[n.sessionId,L.permissionMode,L.agentMode,L.provider,L.model,L.thinking,L.reasoningMode,L.effortOverride,St,ae,PS,B.maxIter,pS,Fx,Mc,V?.phase,V?.harnessProfile,V?.activeWorkerTitle,V?.currentRound,V?.maxRounds,V?.globalWorkBudget,V?.budgetUsage,V?.budgetApprovalRequired,V?.idleWaiting,V?.idleWaitingPendingCount,Wm]),Fm=Xe?"confirm":Oe?.kind,$S=ye(()=>Nk({isTranscriptMode:ae,isLoading:Mc,streamingState:$e,managedState:Mc?{phase:V?.phase,harnessProfile:V?.harnessProfile,workerTitle:V?.activeWorkerTitle}:void 0,waitingReason:Fm,workflowBuilderMessage:qx??void 0,backgroundWorkflowMessage:CS}),[$e.activeToolCalls,$e.currentTool,$e.isCompacting,$e.isThinking,$e.thinkingCharCount,$e.toolInputCharCount,$e.toolInputContent,ae,V?.activeWorkerTitle,V?.harnessProfile,V?.phase,Fm,Mc,qx,CS]),Yr=Dk({activity:$S})?$S:void 0,DS=Yr?.text,OS=!!Yr,NS=Ce(!1);De(()=>{NS.current&&!ie&&Gr(u=>u.length>0?[]:u),NS.current=ie},[ie]);let jm=ye(()=>lp(qu),[qu]),BS=ye(()=>jm,[jm]),HS=BS.text,PA=ye(()=>_b(B.pendingInputs),[B.pendingInputs]),Um=ye(()=>k0({isHistorySearchActive:mt,isTranscriptMode:ae,pendingInputCount:B.pendingInputs.length,buffering:Ke.buffering,pendingLiveUpdates:Cc}),[mt,ae,Cc,B.pendingInputs.length,Ke.buffering]),WS=Um.leftItems,FS=Um.rightItems,jS=Um.summary,Ju=ye(()=>Kk({historySearchQuery:cn,pendingInputCount:B.pendingInputs.length}),[cn,B.pendingInputs.length]),Qu=ye(()=>[...Gk({historySearchQuery:cn,isHistorySearchActive:mt,historySearchMatchCount:Wt.length,pendingInputCount:B.pendingInputs.length,maxPendingInputs:5}),...Ux],[Wt.length,cn,mt,Ux,B.pendingInputs.length]),US=ye(()=>Qu.map(u=>u.text).join(" | "),[Qu]),Zu=ye(()=>Vk({inputText:Sm,isTranscriptMode:ae,isHistorySearchActive:mt}),[Sm,mt,ae]),GS=Ke.supportsOverlaySurface&&Ke.supportsSearchViewport&&$t,ed=ye(()=>Fk({runtime:Nn,itemSummary:AS}),[AS,Nn]),Gm=ye(()=>zk(Ju),[Ju]),KS=ye(()=>Xk({textSelection:Xr,selectionState:ed,isHistorySearchActive:mt,historySearchDetailText:Hm,historySearchHasMatches:!!_S&&Wt.length>0,showAllActive:Bt,baseFooterNotices:Ju}),[Xr,Ju,Hm,Wt.length,_S,mt,Bt,ed]),$A=KS.secondaryText,DA=KS.budgetNotices,VS=ae?DA:Gm,zS=S,XS=ae?"":Sm,YS=ae?void 0:PA,qS=Ec,JS=ae?!1:cS,QS=Ht.shouldRender?T0(Ht):0,ZS=ie&&Sr.shouldRender?Sr.rows.length:0,ew=vS?Ep(Om):0,Vt=ye(()=>iR({terminalRows:zS,terminalWidth:Z,windowedTranscript:ci,inputText:XS,footerHeaderText:jS,activitySummary:ae?void 0:DS,activityBarVisible:ae?!1:OS,workflowSurfaceRows:ae?0:QS,childActivitySurfaceRows:ae?0:ew,todoSurfaceRows:ae?0:ZS,pendingInputSummary:YS,stashNoticeSummary:Zu,notificationSummary:US,statusNoticeSummary:VS.join(" | "),workStripText:qS,suggestionsReserved:ju,suggestionsMode:"inline",showHelp:JS,statusBarText:HS,confirmPrompt:Xe?.prompt,confirmInstruction:Tc,dialogMode:"inline",reviewHint:c.enabled&&$t?void 0:Io.browseHintText,uiRequest:Oe?Oe.kind==="select"?{kind:"select",title:Oe.title,options:Oe.options.map(u=>({label:u.label,description:u.description})),buffer:Oe.buffer,error:Oe.error}:{kind:"input",prompt:Oe.prompt,defaultValue:Oe.defaultValue,buffer:Oe.buffer,error:Oe.error}:null}),[zS,Z,XS,jS,DS,OS,ae,QS,ew,ZS,YS,Zu,US,VS,qS,ju,GS,JS,HS,Xe,Tc,c.enabled,Io.browseHintText,$t,Oe]),Km=ye(()=>{if(!ps)return{model:ui,committedSections:[]};let{committedSections:u,liveRows:m}=Vv(bc.staticSections,ui.rows,ui.previewRows,Vt.messageRows);return{model:{...ui,staticSections:[],rows:m,previewRows:[]},committedSections:u}},[ps,ui,bc.staticSections,Vt.messageRows]),tw=Km.model;De(()=>{let u=Oi(T),m=typeof u?.commitInlineScrollback=="function",y=ck({active:ps,hasCommitHandle:m,wasActive:RS.current,forceRebuild:Nm.current,prior:bS.current,finalizedSections:Km.committedSections,bannerSection:To,width:Z,identify:zv}),I=!1,R=!1;if(y.kind==="commit"){let D=y.sections.flatMap(Y=>Y.rows),$=sk(D.length>0?[{key:"il-delta",rows:D}]:[],{width:Z,theme:se("dark")});if(R=$.length>0,y.mode==="append"&&!$)gE("empty-append-text");else try{u?.commitInlineScrollback?.({mode:y.mode,text:$}),I=!0}catch(Y){gE("commit-threw",Y)}}let _=lk(y,{committed:I,hadContent:R},Nm.current);bS.current=_.state,RS.current=_.wasActive,Nm.current=_.owns},[ps,Km.committedSections,To,Z,T]);let OA=ye(()=>fe(Ip,{reserveSpace:ju,width:Z,hidden:ae,mode:"inline"}),[ju,Z,ae,GS]),Ac=ye(()=>Tk(Vt.messageRows),[Vt.messageRows]),nw=ye(()=>Ck(Ac),[Ac]),gs=!yS&&c.transcriptSpinnerAnimation,_c=wr?wr.rows.length+wr.previewRows.length:dA,td=U(u=>{wr||fA(u.scrollHeight)},[wr]),Lc=U(u=>Ek({window:u,stickyHeader:Io.stickyHeader,width:Z,topChromeRows:0}),[Z,Io.stickyHeader]),ys=U((u=ac.current,m=Cu.current,y=Cm.current?Lc(Cm.current):Tu.current)=>{if(!y||u.length===0){Zi.current=null;return}Tu.current=y,Zi.current=Mk(u,{allRows:m,rowIndexByKey:Oy(m),topOffsetRows:y.topOffsetRows,viewportHeight:y.contentWindow.viewportHeight,animateSpinners:gs})},[Lc,gs]),Pc=U(()=>{let u=Tu.current;return u?.contentWindow.viewportHeight&&u.contentWindow.viewportHeight>0?u.contentWindow.viewportHeight:Vt.messageRows},[Vt.messageRows]),NA=U(u=>{Cm.current=u;let m=Lc(u);Tu.current=m,ys(ac.current,Cu.current,m)},[ys,Lc]),nd=U(u=>{ac.current=u.rows,Cu.current=u.allRows,ys(u.rows,u.allRows)},[ys]),rn=U(()=>{Jn.current=null,Im(void 0),vm(void 0)},[]),Vm=U(()=>{rn(),mr(u=>Wa(u,void 0))},[rn]);De(()=>{ys()},[ys]),De(()=>{mA(u=>Ik(u,_c,Vt.messageRows))},[_c,Vt.messageRows]),De(()=>{if(!es)return;let u=setTimeout(()=>{zx(void 0)},2e3);return()=>{clearTimeout(u)}},[es]);let rr=U((u,m="success")=>{let y=u?.trim();y&&zx({text:y,tone:m})},[]),BA=U(u=>{rr(u,"warning")},[rr]),xs=U((u,m)=>{let y=m instanceof Error?m.message:String(m);return`${u}: ${y}`},[]),rd=U(async u=>{let m=u??Xr;if(!m)return!1;let y=m.text.trimEnd();if(!y)return!1;try{return await Uc(y,{terminalWrite:A}),rr(`Copied ${m.rowCount} selected line${m.rowCount===1?"":"s"} to clipboard.`,"success"),!0}catch(I){return rr(xs("Failed to copy transcript selection",I),"warning"),!1}},[Xr,xs,rr,A]),Ss=U(u=>{if(!u||bk({items:Kt,renderModel:wr,terminalWidth:Z,transcriptMaxLines:Pt,viewportRows:Pc(),itemId:u,visibleRows:ac.current,expandedItemKeys:In,showDetailedTools:!1}))return;let m=Rk({items:Kt,renderModel:wr,terminalWidth:Z,transcriptMaxLines:Pt,viewportRows:Pc(),itemId:u,expandedItemKeys:In,showDetailedTools:!1});xu(m)},[Kt,Z,Pt,wr,In,Pc,xu,ac]),rw=U(u=>{mr(m=>Wa(m,u)),u&&Ss(u)},[Ss]),zm=U(u=>{u&&Ss(u)},[Ss]),ow=U(u=>{if(!zu)return;let m=yk(di,rt,u);m&&rw(m)},[zu,di,rt,rw]),iw=U(()=>{!Yu||!rt||(yA(u=>{let m=new Set(u);return m.has(rt)?m.delete(rt):m.add(rt),m}),Ss(rt))},[Ss,Yu,rt]),sw=U(async()=>{if(!hs||!bn)return;let u=Dy(bn);if(u)try{await Uc(u,{terminalWrite:A}),rr("Copied selected transcript entry to clipboard.","success")}catch(m){rr(xs("Failed to copy transcript entry",m),"warning")}},[xs,hs,bn,rr,A]),aw=U(async()=>{if(!Xu||!bn)return;let u=xk(bn);if(u)try{await Uc(u,{terminalWrite:A}),rr("Copied selected tool args to clipboard.","success")}catch(m){rr(xs("Failed to copy tool args",m),"warning")}},[xs,Xu,bn,rr,A]),$c=U(()=>Cu.current,[]),cw=U((u,m)=>{if(!c.enabled||!$t)return;let y=Zi.current;return y?By(y,u,m):void 0},[c.enabled,$t]),ws=U((u,m,y)=>{let I=$c(),R=Lk(I,u,m,{animateSpinners:gs,selectFullRowOnCollapsed:y?.selectFullRowOnCollapsed});ae?vm(R):Im(R);let _=I[Math.max(0,Math.min(m.modelRowIndex,I.length-1))];return y?.updateSelectedItem&&_?.itemId&&mr(D=>Wa(D,_.itemId)),R},[ae,$c,gs]),lw=U((u,m)=>{if(!u)return;Jn.current=null;let y={...u,focus:m?.focusPoint??u.focus};if(!(y.mode!=="char"||y.didDrag)){rn();return}let R=ws(y.anchor,y.focus,{selectFullRowOnCollapsed:!1,updateSelectedItem:!1});if(!R){rn();return}return m?.copySelection!==!1&&rd(R),R},[rn,rd,ws]),Xm=U(()=>{if(!ae||!Kt.length||Xe||Oe)return;rn();let u=kk({items:Kt,selectedItemId:rt,renderModel:wr,terminalWidth:Z,transcriptMaxLines:Pt,viewportRows:Pc(),scrollOffset:qn,expandedItemKeys:In,showDetailedTools:!1,preferViewportAnchor:!0});mr(m=>pR(m,{anchorItemId:u,initialMatchIndex:0})),us(""),nr(0)},[Xe,Kt,In,qn,ae,rt,wr,Z,Pt,Oe,Pc,rn]),Ym=U(()=>{mr(u=>mR(u)),us(""),nr(0),rn()},[rn]),od=U(()=>{!mt||Wt.length===0||nr(-1)},[Wt.length,mt]),uw=ye(()=>{if(!Xe)return null;if(Xe.tool==="exit_plan_mode"){let u=typeof Xe.input.plan=="string"?Xe.input.plan:void 0;return{prompt:Xe.prompt.split(`
141
+ `,1)[0]??Xe.prompt,instruction:Tc,planContent:u}}return{prompt:Xe.prompt,instruction:Tc}},[Tc,Xe]),dw=ye(()=>Oe?Oe.kind==="select"?{kind:"select",title:Oe.title,options:Oe.options,buffer:Oe.buffer,error:Oe.error,visibleSelectOptions:Vt.visibleSelectOptions,focusedIndex:Oe.focusedIndex,selectedIndices:Oe.selectedIndices,multiSelect:Oe.multiSelect}:{kind:"input",prompt:Oe.prompt,defaultValue:Oe.defaultValue,buffer:Oe.buffer,error:Oe.error}:null,[Oe,Vt.visibleSelectOptions]),HA=ye(()=>fe(vp,{confirm:uw,request:dw}),[uw,dw]),qm=ye(()=>{if(es)return fe(x0,{text:es.text,tone:es.tone})},[es]),Jm=ye(()=>{if(qm)return fe(k,{flexDirection:"column",width:"100%",children:qm})},[qm]),id=U(()=>{mr(u=>dR(cR(u))),wm(!1),wu(),us(""),nr(0),rn()},[rn,wu]),fw=U(()=>{ae&&wm(u=>!u)},[ae]),WA=U(()=>{if(ae){id();return}wm(!1),mr(u=>aR(u)),us(""),nr(0),rn()},[rn,id,ae]);De(()=>{ES||!Ke.selectedItemId||mr(u=>Wa(u,void 0))},[ES,Ke.selectedItemId]),De(()=>{if(!ae||!hs||!MS){wc.current=void 0;return}if(Ur||!rt||!bn)return;if(!wc.current){wc.current=rt;return}if(wc.current===rt)return;wc.current=rt;let u=Dy(bn);u&&Uc(u,{terminalWrite:A}).catch(()=>{})},[ae,bn,rt,hs,MS,Ur,A]),De(()=>{if(T?.isTTY!==!0)return;let u=Oi(T);u?.setShellMode?.(mS,Fu),Pm||u?.setAltScreenActive?.(!1)},[mS,T,Pm,Fu]);let _e=Ce({...e,thinking:L.thinking,reasoningMode:L.reasoningMode,effort:Xn,agentMode:L.agentMode,workflowRunsBaseDir:ir("workflow-runs",Ci(process.cwd()).key),context:{...e.context,gitRoot:n.gitRoot??void 0,executionCwd:n.runtimeInfo?.executionCwd??n.gitRoot??process.cwd(),repoIntelligenceMode:L.repoIntelligenceMode,repoIntelligenceTrace:L.repoIntelligenceTrace,toolConstructionMode:!0},session:{...e.session,id:n.sessionId,persistedByHost:!0},guardrails:e.runtimeRunner?void 0:Vy(L.permissionMode,f)});De(()=>{_e.current.effort=Xn},[Xn]);let Dc=U(u=>{let m=u.workspaceRoot??void 0;n.runtimeInfo=u,n.gitRoot=m,_e.current.context={..._e.current.context,gitRoot:m,executionCwd:u.executionCwd??m??process.cwd()}},[n]),Rn=Ce(L.permissionMode);De(()=>{Rn.current=L.permissionMode},[L.permissionMode]);let FA=ye(()=>zs(),[]),pw=Ce(FA),Tt=Ce(L);De(()=>{Tt.current=L},[L]);let Qm=Ce(null);Qm.current===null&&(Qm.current=Ld({getProvider:i(()=>hi(Tt.current.provider),"getProvider"),getModel:i(()=>Tt.current.model??"","getModel")}));let mw=Ce(Dd());De(()=>{L.permissionMode==="auto-in-project"&&mw.current()},[]);let Zm=U(async u=>{let m=await e.runtimeAutoModeControl?.syncSettings?.(n.sessionId,u,s);ze(I=>({...I,permissionMode:u})),Rn.current=u;let y=wi({provider:Tt.current.provider,model:Tt.current.model,effort:Tt.current.effort,effortOverride:Tt.current.effortOverride,permissionMode:u,planModeEffort:Tt.current.planModeEffort,thinking:Tt.current.thinking,reasoningMode:Tt.current.reasoningMode});if(_e.current={..._e.current,effort:y.runtimeEffort,guardrails:e.runtimeRunner?void 0:Vy(u,f)},!Mn(u))Tr(void 0);else if(e.runtimeAutoModeControl){let I=m??await e.runtimeAutoModeControl.getStats(n.sessionId);Tr(I?.engine)}else Tr(f.getGuardrail().getEngine());u==="auto-in-project"&&mw.current()},[f,s,n.sessionId,e.runtimeAutoModeControl,e.runtimeRunner]),hw=Ce(B.pendingInputs),it=Ce(!1),gw=Ce(0),eh=Ce(null),Oc=Ce(0),sd=U(()=>{if(oc.current)return;let u=ku.current?.trim(),m=H.current.length>0?H.current[H.current.length-1]:void 0,y=m&&"text"in m&&typeof m.text=="string"?m.text.trim():void 0,R=an.current.length>0?[...an.current.map(_=>Qo(_)),...u&&u!==y?[{type:"info",text:u}]:[]]:[...an.current.map(_=>Qo(_)),...CH(Be(),xe(),{toolCalls:tn.current,toolNames:gr.current,infoItems:u&&u!==y?[u]:[]})];R.length!==0&&(oc.current=!0,Lu(an.current),Qi.current?.(R))},[xe,Be,Lu]);De(()=>{hw.current=B.pendingInputs},[B.pendingInputs]);let yw=U(()=>{it.current=!0,Te(),he(),Q(),de(),je(),J(),we(void 0),So(),It(void 0),gc(),ii.current=[],rs.current=[],dt.current=null,ku.current=null,fc([]),vu(null),ts(null),ai(),mc(void 0),te(!1),T?.isTTY===!0&&Oi(T)?.clear?.()},[Te,J,de,je,ai,So,gc,we,fc,te,It,he,Q,T]),ad=U(u=>{let m=Vw(),y=m.list().filter(R=>R.status==="running"||R.status==="paused");if(y.length===0)return!1;for(let R of y)m.stop(R.runId,u);uc(R=>!R||R.status!=="running"||!y.some(_=>_.runId===R.runId)?R:{...R,status:"stopped",activeAgents:[],message:"Workflow stopped by user."});let I=y[0];return y.length===1&&I?vn({type:"info",text:`Stopped workflow ${I.workflow} (${I.runId}).`},"workflow-stop"):vn({type:"info",text:`Stopped ${y.length} active workflows.`},"workflow-stop"),!0},[vn,uc]);De(()=>{if(!Ht.shouldRender)return;let u=i(()=>{ad("stopped by Ctrl+C")},"handleSigint");return process.on("SIGINT",u),()=>{process.off("SIGINT",u)}},[ad,Ht.shouldRender]),_n(un.Critical,u=>{let m=u.name==="escape",y=Date.now(),I=m&&!ae&&!yr&&sc&&B.pendingInputs.length===0&&(ie||Ht.shouldRender),R=I&&(u.meta===!0||y-gw.current<fH);if(gw.current=I?y:0,ER({keyName:u.name,ctrl:!!u.ctrl,isTranscriptMode:ae,isAwaitingUserInteraction:yr,isInputEmpty:sc,isDoubleEscape:R,pendingInputCount:B.pendingInputs.length,hasTranscriptTextSelection:!!Ur,hasActiveWorkflow:Ht.shouldRender}))return ad(u.ctrl?"stopped by Ctrl+C":"stopped by Escape");if(!ie)return!1;switch(MR({keyName:u.name,ctrl:!!u.ctrl,isTranscriptMode:ae,isAwaitingUserInteraction:yr,isInputEmpty:sc,isDoubleEscape:R,pendingInputCount:B.pendingInputs.length,hasTranscriptTextSelection:!!Ur}).kind){case"interrupt":return sd(),yw(),!0;case"pop-pending-input":return z(),!0;default:break}return!1},[ie,ae,yr,sc,B.pendingInputs.length,z,sd,yw,ad,Ur,Ht.shouldRender]),_n(un.Critical,u=>{let m=bR({itemsLength:Kt.length,currentResponse:Je.currentResponse,thinkingContent:Je.thinkingContent,activeToolCallsLength:Je.activeToolCalls.length}),y=RR({keyName:u.name,hasTranscript:m,historyScrollOffset:qn,reviewPageSize:Ac,reviewWheelStep:nw,hasMouse:!!u.mouse,mouseButton:u.mouse?.button,mouseAction:u.mouse?.action,usesManagedMouseClicks:hS,supportsMouseTracking:Ke.supportsMouseTracking,usesRendererMouseTracking:Fu,usesManagedMouseWheel:gS,supportsWheelHistory:Ke.supportsWheelHistory});if(y.kind==="mouse-phase"){let R=u.mouse;if(!R)return!1;y.phase==="press"&&Jn.current&&lw(Jn.current);let _=cw(R.row,R.column);if(y.phase==="press"){if(!_||!m)return Xr||rt?(Vm(),!0):(rn(),!1);let D=sE({previous:Vx.current,time:Date.now(),row:R.row,column:R.column});Vx.current=D;let $=D.count>=3?"line":D.count===2?"word":"char";if(od(),mr(Y=>Wa(Y,void 0)),ae?vm(void 0):Im(void 0),$!=="char"){let Y=tm($c(),_.point,$);if(Y)return Jn.current={anchor:Y.start,focus:Y.end,didDrag:!1,mode:$,anchorSpan:Y},ws(Y.start,Y.end,{updateSelectedItem:!1}),!0}return Jn.current={anchor:_.point,focus:_.point,didDrag:!1,mode:"char"},!0}if(!Jn.current)return!1;if(y.phase==="drag"){let D=Zi.current,$=D?$k(D,R.row):0;$!==0&&Su($);let Y=_??(D?Hy(D,R.row,R.column):void 0);if(!Y)return!1;let ne=Jn.current;if(ne.mode!=="char"&&ne.anchorSpan){let He=tm($c(),Y.point,ne.mode);if(!He)return!1;let Ge=Ky(ne.anchorSpan,He);return Jn.current={...ne,anchor:Ge.anchor,focus:Ge.focus,didDrag:!0},ws(Ge.anchor,Ge.focus,{updateSelectedItem:!1}),!0}return Jn.current={...ne,focus:Y.point,didDrag:!0},ws(ne.anchor,Y.point,{updateSelectedItem:!1}),!0}if(y.phase==="release"){let D=Jn.current,$=D.focus,ne=(_??(Zi.current?Hy(Zi.current,R.row,R.column):void 0))?.point??$;if(D.mode!=="char"&&D.anchorSpan){let He=tm($c(),ne,D.mode);if(He){let Ge=Ky(D.anchorSpan,He);D.anchor=Ge.anchor,ne=Ge.focus}}return lw(D,{focusPoint:ne}),!0}}if(y.kind==="scroll-by")return od(),Su(y.delta),!0;if(y.kind==="consume")return!0;let I=AR({key:u,isTranscriptMode:ae,isHistorySearchActive:mt,historySearchMatchCount:Wt.length,hasTextSelection:!!Xr,hasFocusedItem:!!rt,canCopySelectedItem:hs,canCopySelectedToolInput:Xu,canToggleSelectedDetail:Yu,canCycleTranscriptSelection:zu});return _R({action:I,hasTranscript:m,isTranscriptMode:ae,pageScrollDelta:Ac,disarmHistorySearchSelection:od,scrollTranscriptBy:Su,closeHistorySearchSurface:Ym,backspaceHistorySearchQuery:i(()=>{us(R=>R.slice(0,-1)),nr(0)},"backspaceHistorySearchQuery"),stepHistorySearchSelection:i(R=>{nr(_=>$y(Wt.length,_,R))},"stepHistorySearchSelection"),submitHistorySearchSelection:i(()=>{let R=Wt[Co];R&&(zm(R.itemId),Ym())},"submitHistorySearchSelection"),appendHistorySearchQuery:i(R=>{us(_=>_+R),nr(0)},"appendHistorySearchQuery"),openHistorySearchSurface:Xm,clearTranscriptSelectionFocus:Vm,exitTranscriptModeSurface:id,toggleTranscriptShowAll:fw,scrollTranscriptHome:i(()=>{xu(Math.max(0,_c-Vt.messageRows))},"scrollTranscriptHome"),scrollTranscriptToBottom:i(()=>{wu(),rn()},"scrollTranscriptToBottom"),cycleTranscriptSelection:ow,copySelectedTranscriptText:i(()=>{rd()},"copySelectedTranscriptText"),copySelectedTranscriptItem:i(()=>{sw()},"copySelectedTranscriptItem"),copySelectedTranscriptToolInput:i(()=>{aw()},"copySelectedTranscriptToolInput"),toggleSelectedTranscriptDetail:iw,navigateSearchMatch:i(R=>{nr(_=>{let D=$y(Wt.length,_,R),$=Wt[D];return $&&zm($.itemId),D})},"navigateSearchMatch"),dumpTranscriptToScrollback:i(()=>{LR({items:Kt.filter(R=>!Mg(R)),exitAltScreen:i(()=>{A(_f({mouseTracking:!0}))},"exitAltScreen"),writeToScrollback:i(R=>{A(R)},"writeToScrollback"),enterAltScreen:i(()=>{A(Af({mouseTracking:!0,clearOnEnter:!1}))},"enterAltScreen")})},"dumpTranscriptToScrollback")})},[ae,Kt,Je.currentResponse,Je.thinkingContent,Je.activeToolCalls,qn,_c,Ac,nw,rt,Vm,id,fw,Ke,Su,xu,wu,zu,Co,rn,rd,Wt,Xm,Ym,od,ow,hs,sw,Xu,aw,Yu,iw,zm,Xr,cw,Ke.supportsMouseTracking,Ur,hS,gS,$m,ci,Fu,ws,Vt.messageRows]),_n(u=>{if(!Xe)return!1;let m=u.sequence.trim().toLowerCase(),y=Xe.runtimeGrantSuggestions?.find(Y=>Y.kind==="session"),I=Xe.runtimeGrantSuggestions?.find(Y=>Y.kind==="persistent"),R=!!Xe.input._alwaysConfirm,_=Xe.runtimeGrantSuggestions!==void 0,D=I!==void 0||!_&&L.permissionMode==="accept-edits"&&!R,$=i(Y=>{let ne=`${oe("dialog.confirm")} ${Xe.prompt}
142
+ \u2192 ${oe(`confirm.result.${Y}`)}`;!!nt.current.workerId?Ut({id:`confirm-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"info",text:ne,timestamp:Date.now()}):q({type:"info",text:ne})},"recordConfirmResult");return m==="y"||m==="yes"?($("approved"),Sc(null),zr.current?.({confirmed:!0}),zr.current=null,!0):y&&(m==="s"||m==="session")?($("approved_session"),Sc(null),zr.current?.({confirmed:!0,runtimeGrantKind:"session"}),zr.current=null,!0):D&&(m==="a"||m==="always")?($("approved_always"),Sc(null),zr.current?.(I?{confirmed:!0,runtimeGrantKind:"persistent"}:{confirmed:!0,always:!0}),zr.current=null,!0):m==="n"||m==="no"||u.name==="escape"?($("denied"),Sc(null),zr.current?.({confirmed:!1}),zr.current=null,!0):u.insertable||u.name==="return"},{isActive:!!Xe,priority:un.Critical});let cd=U(u=>{tr(null),Bu.current?.(u),Bu.current=null},[]),qr=U((u,m,y,I)=>m.length===0?Promise.resolve(void 0):new Promise(R=>{Bu.current=R,tr({kind:"select",title:u,options:m,buffer:"",focusedIndex:0,selectedIndices:[],multiSelect:y,minSelections:I?.minSelections,maxSelections:I?.maxSelections})}),[]),jA=U((u,m)=>qr(u,m.map(y=>({label:y,value:y}))).then(y=>Array.isArray(y)?y[0]:y),[qr]),UA=U(async u=>{let m=e.learning;if(!m)return;let y=u;if(!y){let D=await m.list({limit:200});if(D.items.length===0){xm([{id:"learning-center-empty",text:"Learning Center has no learned capabilities.",tone:"accent"}]);return}let $=await qr("Learning Center \u2014 type to search",D.items.map(Y=>({label:`${Y.displayName} \xB7 ${Y.carrier} \xB7 ${Y.lifecycle}`,value:Y.slug})));y=Array.isArray($)?$[0]:$}if(!y)return;let I=await m.get(y),R=await qr(`${I.displayName} \xB7 ${I.carrier} \xB7 ${I.lifecycle}`,pH(I)),_=Array.isArray(R)?R[0]:R;_&&(await mH(m,I.slug,_),jx(await m.getSnapshot()))},[e.learning,qr]),xw=U(async u=>{let m=u.options?em(u.options):[],y=await qr(Fy(u),m,!1);return y===void 0?Os:Array.isArray(y)?y[0]??Os:y},[qr]);De(()=>{let u=!1;return(async()=>{let{bindAskUserForConstruction:m}=await import("./construction-bootstrap-EGRUHKLP.js");u||m(xw)})(),()=>{u=!0,(async()=>{let{bindAskUserForConstruction:m}=await import("./construction-bootstrap-EGRUHKLP.js");m(null)})()}},[xw]);let Ts=U((u,m)=>new Promise(y=>{Bu.current=I=>y(Array.isArray(I)?I[0]:I),tr({kind:"input",prompt:u,defaultValue:m,buffer:""})}),[]);_n(u=>{let m=Hu.current;if(!m)return!1;if(u.name==="escape")return cd(void 0),!0;if(m.kind==="select"){let y=m.options.length;if(u.name==="up"||u.sequence==="k")return tr(I=>I&&I.kind==="select"?{...I,focusedIndex:(I.focusedIndex-1+y)%y,error:void 0}:I),!0;if(u.name==="down"||u.sequence==="j")return tr(I=>I&&I.kind==="select"?{...I,focusedIndex:(I.focusedIndex+1)%y,error:void 0}:I),!0;if(u.sequence===" "&&m.multiSelect)return tr(I=>{if(!I||I.kind!=="select")return I;let R=I.focusedIndex,_=I.selectedIndices.includes(R)?I.selectedIndices.filter(D=>D!==R):[...I.selectedIndices,R];return{...I,selectedIndices:_,error:void 0}}),!0;if(u.name==="return"){let I=Hu.current;if(!I||I.kind!=="select")return!1;if(I.multiSelect){let R=I.selectedIndices.length,{minSelections:_,maxSelections:D}=I,$=R===0&&_!==0?oe("select.multiselect_empty"):_!==void 0&&R<_?oe("select.multiselect_min",{min:String(_)}):D!==void 0&&R>D?oe("select.multiselect_max",{max:String(D)}):void 0;if($!==void 0)return tr(ne=>ne&&ne.kind==="select"?{...ne,error:$}:ne),!0;let Y=I.selectedIndices.slice().sort((ne,He)=>ne-He).map(ne=>I.options[ne]?.value).filter(ne=>typeof ne=="string"&&ne.length>0);cd(Y)}else cd(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<y)return m.multiSelect?tr(R=>{if(!R||R.kind!=="select")return R;let _=R.selectedIndices.includes(I)?R.selectedIndices.filter(D=>D!==I):[...R.selectedIndices,I];return{...R,focusedIndex:I,selectedIndices:_,error:void 0}}):tr(R=>R&&R.kind==="select"?{...R,focusedIndex:I,error:void 0}:R),!0}return!1}if(u.name==="return"){let y=Hu.current;if(!y||y.kind!=="input")return!1;let I=y.buffer.trim();return cd(I===""?y.defaultValue??void 0:I),!0}return u.name==="backspace"||u.name==="delete"?(tr(y=>y&&y.kind==="input"?{...y,buffer:y.buffer.slice(0,-1),error:void 0}:y),!0):(u.insertable||u.isPasted===!0)&&!u.ctrl&&!u.meta?(tr(y=>y&&y.kind==="input"?{...y,buffer:y.buffer+u.sequence,error:void 0}:y),!0):!1},{isActive:!!Oe,priority:un.Critical}),De(()=>{if(n.messages.length>0&&N.length===0){if(n.uiHistory?.length){let u=Or(n.uiHistory);u.length!==n.uiHistory.length&&(n.uiHistory=u),x(jl({messages:n.messages,uiHistory:u}));return}x(jl({messages:n.messages}))}},[n.messages,n.uiHistory,N.length,x]),De(()=>{xd(n.gitRoot)},[n.gitRoot]),De(()=>{process.env.KODAX_PREWARM_REPO_INTELLIGENCE!=="0"&&Hw({executionCwd:n.runtimeInfo?.executionCwd??n.gitRoot??process.cwd(),gitRoot:n.gitRoot??void 0},{mode:L.repoIntelligenceMode})},[n.gitRoot,n.runtimeInfo?.executionCwd,L.repoIntelligenceMode]);let Nc=U(()=>({onMemoryOutcomeDigest:i(u=>{n.lineage=Sd(n.lineage??ft(n.messages),u)},"onMemoryOutcomeDigest"),onMemoryReviewReceipt:i(u=>{n.lineage=wd(n.lineage??ft(n.messages),u)},"onMemoryReviewReceipt"),onMemoryNotice:i(u=>{n.lineage=Td(n.lineage??ft(n.messages),{...u,createdAt:new Date().toISOString()}),q({type:"info",text:`[memory] ${u.summaries.slice(0,3).join("; ")}`})},"onMemoryNotice"),onThinkingDelta:i((u,m)=>{if(it.current||On(m,"thinking",u,{append:!0}))return;B.currentTool&&(we(void 0),je());let{header:y}=j0(Be()+u),I=y?`[Thinking: ${y}]`:"[Thinking]";It(Np(dt.current?.activeWorkerTitle?`[${dt.current.activeWorkerTitle}] ${I}`:I,dt.current?.activeWorkerTitle)),Ie(u.length),Fe(u),nt.current.workerId&&$u("thinking",u)},"onThinkingDelta"),onThinkingEnd:i((u,m)=>{if(it.current||On(m,"thinking",u))return;let y=Be(),I=H0(y,u);I&&I!==y&&(de(),pe(),Ie(I.length),Fe(I)),nt.current.workerId&&iS(I),Q()},"onThinkingEnd"),onTextDelta:i((u,m)=>{it.current||On(m,"assistant",u,{append:!0})||(B.currentTool&&(we(void 0),je()),Q(),It(void 0),me(u),nt.current.workerId&&$u("assistant",u))},"onTextDelta"),onToolUseStart:i((u,m)=>{if(it.current||On(m,"tool",jb(u.name,u.input)))return;gr.current.includes(u.name)||(gr.current=[...gr.current,u.name]);let y=dt.current?.activeWorkerTitle?`[${dt.current.activeWorkerTitle}] `:"",I={id:u.id,name:`${y}${u.name}`,status:W.Executing,startTime:Date.now(),input:u.input};sS(I),nt.current.workerId&&er(I),It(po(I,dt.current?.activeWorkerTitle))},"onToolUseStart"),onToolInputDelta:i((u,m,y)=>{if(it.current||On(y,"tool",u,{skipIfExisting:!0}))return;st(m.length),yt(m);let I=aS(y?.toolId,u,R=>{let _=R.preview??"",D=O0(`${_}${m}`);return{...R,preview:D||void 0,input:R.input?D?{...R.input,preview:D}:{...R.input}:D?{preview:D}:void 0}});I&&(nt.current.workerId&&er(I),It(po(I,dt.current?.activeWorkerTitle)))},"onToolInputDelta"),onToolResult:i((u,m)=>{if(it.current||On(m,"tool",`${u.name} completed`))return;let y=typeof u.content=="string"?u.content:String(u.content??""),I=N0(y);if(/^\[(?:Tool Error|Error)\]/.test(y)){let _=Ou(u.id,W.Error,I,I,u.name);_&&(nt.current.workerId&&er(_),It(po(_,dt.current?.activeWorkerTitle)));return}if(/^\[(?:Cancelled|Blocked)\]/.test(y)){let _=Ou(u.id,W.Cancelled,void 0,I,u.name);_&&(nt.current.workerId&&er(_),It(po(_,dt.current?.activeWorkerTitle)));return}let R=Ou(u.id,W.Success,void 0,I||void 0,u.name);R&&(nt.current.workerId&&er(R),It(po(R,dt.current?.activeWorkerTitle)))},"onToolResult"),onToolProgress:i((u,m)=>{if(it.current||On(m,"progress",u.message))return;let y=u.message.length>100?u.message.slice(0,97)+"...":u.message,I=ls(u.id,R=>({...R,preview:y,progressLines:[...(R.progressLines??[]).slice(-4),y]}));I&&nt.current.workerId&&er(I),It(y)},"onToolProgress"),onStreamEnd:i(u=>{if(it.current||kp(u))return;let m=yc(W.Cancelled,()=>({error:"Stream ended before the tool completed.",output:void 0})),y=m[m.length-1];nt.current.workerId&&m.forEach(I=>er(I)),y&&It(po(y,dt.current?.activeWorkerTitle)),Q(),je(),we(void 0)},"onStreamEnd"),onChildActivityEnd:i(u=>{Zx(u)},"onChildActivityEnd"),hasPendingInputs:i(()=>hw.current.length>0,"hasPendingInputs"),onMidTurnUserMessages:i(u=>{if(!it.current)for(let m of u){let y=m.trim();y&&(nt.current.workerId?Ut({id:`mid-turn-user-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"user",text:y,timestamp:Date.now()}):q({type:"user",text:y}))}},"onMidTurnUserMessages"),onSidecarMessage:i(u=>{if(it.current)return;let m=u.suggestedFix?`${u.content}
143
+ Suggested fix: ${u.suggestedFix}`:u.content;if(u.delivery==="budget-exhausted")rS({type:"sidecar",text:m,delivery:"budget-exhausted"},"sidecar-message");else{let y=u.verdict==="blocked"?"blocked":"revise";rS({type:"sidecar",text:m,verdict:y},"sidecar-message")}},"onSidecarMessage"),onError:i(u=>{let m=xo();m?.name&&It(po(m,dt.current?.activeWorkerTitle));let y=yc(W.Error,()=>({error:u.message,output:void 0})),I=y[y.length-1];nt.current.workerId&&y.forEach(He=>er(He)),I&&It(po(I,dt.current?.activeWorkerTitle));let R=Ew(u),_=["Transient","Permanent","Tool Call ID","User Abort"];if(R.category===Wc.USER_ABORT)return;let $=[`\u274C API Error (${_[R.category]||"Unknown"}): ${u.message}`];R.shouldCleanup&&$.push(" \u{1F9F9} Cleaned incomplete tool calls"),R.category===Wc.PERMANENT?($.push(" \u{1F4A1} This error requires manual intervention. Please check:"),u.message.includes("auth")||u.message.includes("401")?($.push(" - Your API key is valid"),$.push(" - Run /config to check provider settings")):u.message.includes("400")?($.push(" - The request parameters are correct"),$.push(" - Try restarting the conversation")):$.push(" - The error details above")):R.category===Wc.TRANSIENT?$.push(" \u23F3 Retries exhausted. Press Enter to continue the conversation"):R.category===Wc.TOOL_CALL_ID&&$.push(" \u2705 Session cleaned, ready to continue");let Y=$.join(`
144
+ `);!!nt.current.workerId?Ut({id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"error",text:Y,timestamp:Date.now()}):q({type:"error",text:Y})},"onError"),onRetry:i((u,m,y,I)=>{if(it.current)return;let R=Ul(u,m,y);if(dc(I,R.text)||On(I,"progress",R.text))return;!!nt.current.workerId?Ut({...R,id:`retry-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):q(R)},"onRetry"),onProviderRecovery:i((u,m)=>{if(it.current)return;let y=Gl(u);if(dc(m,y.text)||On(m,"progress",y.text))return;let I=!!nt.current.workerId,R=xe().trim();R&&(I?$u("assistant",R):q({type:"assistant",text:R})),J(),de(),Q(),je(),we(void 0),So(),It(void 0),I?Ut({...y,id:`recovery-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):q(y)},"onProviderRecovery"),onManagedTaskStatus:i(u=>{if(it.current)return;let m=nt.current;if(fE(u)){if(m.workerId&&m.workerId!==u.activeWorkerId)bA({workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle});else if(m.workerId!==u.activeWorkerId){let D=wt.current,$=D.activeToolGroupTools.some(Y=>Y.status===W.Executing);wt.current={workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle,...$?{activeToolGroupItemId:D.activeToolGroupItemId,activeToolGroupTools:D.activeToolGroupTools}:{activeToolGroupTools:[]}},nt.current={workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle}}}dt.current=u,vu(u);let y=F0(u);RA(y);let I=Oa(u),_=Oa(u,{expanded:!0})??I;_&&(ku.current=_)},"onManagedTaskStatus"),onProviderRateLimit:i((u,m,y,I)=>{if(it.current)return;let R=eh.current;if(eh.current=null,A0(R,{attempt:u,maxAttempts:m,delayMs:y}))return;let _=`[Rate Limit] Retrying in ${y/1e3}s (${u}/${m})...`;dc(I,_)||On(I,"progress",_)||vn({type:"info",icon:"\u23F3",text:_},"ratelimit")},"onProviderRateLimit"),onRetryAfter:i((u,m)=>{if(it.current)return;eh.current={attempt:u.attempt,maxAttempts:u.maxAttempts,waitMs:u.waitMs};let y=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 ${y}s [${I}] (${u.attempt}/${u.maxAttempts})`;dc(m,_)||On(m,"progress",_)||vn({type:"info",icon:"\u23F3",text:_},"ratelimit")},"onRetryAfter"),onReasoningEffortRejected:i(u=>{Aw(u.provider,u.model,u.effort,"observed",new Date().toISOString());let y=wi({provider:u.provider,model:u.model,effort:Tt.current.effort,effortOverride:Tt.current.effortOverride,permissionMode:Tt.current.permissionMode,planModeEffort:Tt.current.planModeEffort,thinking:Tt.current.thinking,reasoningMode:Tt.current.reasoningMode}).runtimeEffort;ze(I=>({...I,effort:y,effortOverride:y!==void 0})),Ti({effort:y}),_e.current.effort=y,vn({type:"info",icon:"\u26A0",text:`[${u.provider}/${u.model} \u4E0D\u652F\u6301 effort "${u.effort}",\u5DF2\u8BB0\u5F55;\u540E\u7EED\u4E0D\u518D\u63D0\u4F9B\u8BE5\u6863${y?`,\u5DF2\u5207\u5230 ${y}`:""}]`},"ratelimit")},"onReasoningEffortRejected"),onRepoIntelligenceTrace:i(u=>{it.current||vn(tR(u),"repointel-trace")},"onRepoIntelligenceTrace"),onTodoUpdate:i(u=>{it.current||Gr(u)},"onTodoUpdate"),onScoutSuspiciousCompletion:i(u=>{it.current||pE&&vn({type:"info",icon:"\u26A0",text:`[Scout] Completion marked uncertain \u2014 signals: ${u.signals.join(", ")}. Verify the result before continuing.`},"scout-uncertain")},"onScoutSuspiciousCompletion"),onIterationStart:i((u,m)=>{if(it.current)return;if(m&&P(m),dt.current?.globalWorkBudget){let ne={...dt.current,budgetUsage:Math.min(dt.current.globalWorkBudget,(dt.current.budgetUsage??0)+1)};dt.current=ne,vu(ne)}let y=u>1?Be().trim():"",I=u>1?qy(xe()):"",R=u>1?[...gr.current]:[],_=u>1?[...tn.current]:[],D=!!nt.current.workerId;ut(u),D&&_u({clearOwner:!1});let $=Kr.current.filter(ne=>ne.status===W.Executing),Y=new Set($.map(ne=>ne.id));if(gr.current=[],tn.current=tn.current.filter(ne=>Y.has(ne.id)),Dn($),je(),we(void 0),It(Np(dt.current?.activeWorkerTitle?`[Thinking] [${dt.current.activeWorkerTitle}]`:void 0,dt.current?.activeWorkerTitle)),pe(),u>1&&!D){let ne=Jy({thinking:y,response:I,toolCalls:_,toolNames:R});Qi.current?Qi.current(ne):x([...ne])}},"onIterationStart"),beforeToolExecute:i(async(u,m)=>{let y=Rn.current,I=Ns(y),R=pw.current,_=n.gitRoot;if(Qw(K.current,u,m))return`[Skipped] Previously denied operation. ${Zw(K.current)}`;if(y==="plan"&&(Zr.has(u)||u==="undo"))return`[Blocked] Tool '${u}' is not allowed in plan mode (read-only). ${lE}`;if(y==="plan"&&u==="bash"){let D=m.command??"";if(ro(D))return`[Blocked] Bash write operation not allowed in plan mode: ${D.slice(0,50)}... ${lE}`}if(u==="bash"){let D=m.command??"";if(no(D))return!0}if(Mn(y)&&Wm==="llm")return!0;if(u==="bash"){let D=m.command??"",$=qw(D);if($.level==="dangerous"){let Y=await Jr(u,{...m,_dangerousCommand:!0});return Y.confirmed?Y.confirmed:(K.current=fh(K.current,u,m,$.reason),`[Blocked] Dangerous command requires confirmation: ${$.reason}`)}}if(_){let D=!1;if(Zr.has(u)){let $=m.path;$&&Gs($,_)&&(D=!0)}if(u==="bash"){let $=m.command;$&&Hd($,_)&&(D=!0)}if(D){let $=await Jr(u,{...m,_alwaysConfirm:!0});if(Rn.current==="plan"&&(Zr.has(u)||u==="undo"))return!1;if(Rn.current==="plan"&&u==="bash"){let Y=m.command??"";if(ro(Y))return!1}return $.confirmed}}if(I.has(u)){if(y==="accept-edits"&&u==="bash"&&await Us(u,m,R,Qm.current??void 0))return!0;let D=await Jr(u,m);if(Rn.current==="plan"&&(Zr.has(u)||u==="undo"))return!1;if(Rn.current==="plan"&&u==="bash"){let $=m.command??"";if(ro($))return!1}if(!D.confirmed)return q({type:"info",text:oe("cancelled")}),K.current=fh(K.current,u,m),!1;D.always&&y==="accept-edits"&&(Wd(u,m,!1),pw.current=zs())}return!0},"beforeToolExecute"),askUser:i(async u=>{let m=Wy(u.options?em(u.options):[],u),y=await qr(Fy(u),m,u.multiSelect,{minSelections:u.minSelections,maxSelections:u.maxSelections});if(y===void 0)return Os;if(y===vr){let I=await Ts(u.customInputPrompt??u.question,u.customInputDefault);return I===void 0?Os:{kind:"customInput",value:I}}if(Array.isArray(y)&&y.includes(vr)){let I=await Ts(u.customInputPrompt??u.question,u.customInputDefault);return I===void 0?Os:y.map(R=>R===vr?{kind:"customInput",value:I}:R)}return y},"askUser"),exitPlanMode:i(async u=>Rn.current!=="plan"?"not-in-plan-mode":(await Jr("exit_plan_mode",{plan:u})).confirmed?(Zm("accept-edits"),!0):!1,"exitPlanMode"),askUserMulti:i(async u=>{let m=u.questions,y={},I=0;for(;I<m.length;){let R=m[I],_=Wy(em(R.options),R);I>0&&_.push({label:oe("select.back_prev"),value:uh});let D=`[${I+1}/${m.length}] ${R.question}`,$=await qr(D,_,R.multiSelect,{minSelections:R.minSelections,maxSelections:R.maxSelections});if($===void 0)return;if(!Array.isArray($)&&$===uh){I--;continue}if(!Array.isArray($)&&$===vr){let Y=await Ts(R.customInputPrompt??R.question,R.customInputDefault);if(Y===void 0)return;y[R.question]={kind:"customInput",value:Y},I++;continue}if(Array.isArray($)&&$.includes(vr)){let Y=await Ts(R.customInputPrompt??R.question,R.customInputDefault);if(Y===void 0)return;y[R.question]=$.map(ne=>ne===vr?{kind:"customInput",value:Y}:ne),I++;continue}y[R.question]=$,I++}return y},"askUserMulti"),askUserInput:i(async u=>Ts(u.question,u.default),"askUserInput"),onCompactStart:i(()=>{Ve()},"onCompactStart"),onCompactStats:i(u=>{rc.current=u.tokensBefore,Yn(u.tokensAfter)},"onCompactStats"),onCompactedMessages:i((u,m)=>{n.messages=u,m?.artifactLedger&&m.artifactLedger.length>0&&(n.artifactLedger=Ds(n.artifactLedger??[],m.artifactLedger)),n.lineage=m?.anchor?Cd(n.lineage,u,m.anchor,m.postCompactAttachments??[]):ft(u,n.lineage);let y=Es(u);n.contextTokenSnapshot={currentTokens:y,baselineEstimatedTokens:y,source:"estimate"},dr(n),Yn(y),mu.current?.().catch(()=>{})},"onCompactedMessages"),onCompact:i(u=>{Et();let m=rc.current??u;rc.current=null;let y=Math.round(m/1e3);vn({type:"info",icon:"\u2728",text:`Context auto-compacted (was ~${y}k tokens)`},"compact")},"onCompact"),onCompactEnd:i(()=>{rc.current=null,Et()},"onCompactEnd"),onIterationEnd:i(u=>{u.scope!=="worker"&&(n.contextTokenSnapshot=u.contextTokenSnapshot),Yn(u.tokenCount)},"onIterationEnd")}),[Ie,Fe,Q,me,we,st,yt,je,ut,pe,L,n,Ve,Et,q,de,Be,xe,_u,It,$u,iS,er,sS,aS,Ou,yc,xo,So,Dn,Zx,dc,On,vn,B.currentTool]),Jr=i((u,m,y)=>{let I=D0(u,m),R=y?.map($=>$.label)??[],_=y===void 0?[]:[Aa,...R.map($=>`Runtime scope: ${$}`)],D=_.length>0?`${I}
145
+ ${_.join(`
146
+ `)}`:I;return MA.current(()=>(Zn(),new Promise($=>{zr.current=$,Sc({tool:u,input:m,prompt:D,...y!==void 0?{runtimeGrantSuggestions:y}:{}})})))},"showConfirmDialog"),GA=i(async u=>{let m=await Jr(u.toolName,{...u.input,...u.reason!==void 0?{_reason:u.reason}:{},...u.executionCwd!==void 0?{_executionCwd:u.executionCwd}:{},...u.risk!==void 0?{_runtimeRisk:u.risk}:{}},u.grantSuggestions??[]);return Lp(u,m)},"requestRuntimePermission");De(()=>(p(async(u,m,y)=>(await Jr(u.name,{...u.input,_reason:`[auto-mode] ${m}`,...y&&y.length>0?{_classifierSignals:y}:{}})).confirmed?"allow":"block"),h(u=>{Tr(u)}),()=>{p(null),h(null)}),[]),De(()=>{g(L)},[L,g]),De(()=>{let u=i(()=>Nc(),"resolve");return dh({askUser:i(m=>{let y=u().askUser;if(!y)throw new Error("askUser surface unavailable");return y(m)},"askUser"),askUserMulti:i(async m=>{let y=u().askUserMulti;return y?y(m):void 0},"askUserMulti"),askUserInput:i(async m=>{let y=u().askUserInput;return y?y(m):void 0},"askUserInput")}),()=>dh(void 0)},[Nc]);let Cs=i(async(u,m,y=n.lineage?Ft(n.lineage,n.lineage.activeEntryId):n.messages,I)=>{let R={...Nc(),getCostReport:X,onWorkflowProcessEvent:xA,onWorkflowAgentDigest:i(({runId:ne,event:He})=>{let Ge=He.data??{},zt=typeof Ge.summary=="string"?Ge.summary:void 0,fi=typeof Ge.name=="string"?Ge.name:void 0,Rs=cc.current,pi=zt!==void 0||fi!==void 0?Gc(zt,fi):Rs?.runId===ne?Rs.locale??"en":"en",Qe=zd(He,pi,ne);Qe&&(nt.current.workerId?Ut({id:`wf-digest-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"assistant",text:Qe,timestamp:Date.now()}):Bn([{type:"assistant",text:Qe}]))},"onWorkflowAgentDigest")},D=yd(n.gitRoot).getSystemPromptSnippet(),$=nR(u.context,n.gitRoot,n.contextTokenSnapshot,D,n.runtimeInfo?.executionCwd);I&&I.length>0&&($.inputArtifacts=[...I]),$.planModeBlockCheck=(ne,He)=>Rn.current!=="plan"?null:Ro(ne,He,n.gitRoot??n.runtimeInfo?.executionCwd??process.cwd());let Y={...u,session:{...u.session,initialMessages:y,initialExtensionState:n.extensionState??{},initialExtensionRecords:n.extensionRecords??[]},context:$,events:R,abortSignal:Me()};try{return e.runtimeRunner?await e.runtimeRunner({options:Y,prompt:m,sessionId:n.sessionId,permissionMode:Rn.current,autoModeSettings:s,requestPermission:GA,legacyPermissionHook:!0}):await Fc(Y,m)}finally{Ww()}},"runAgentRound"),kn=U(u=>{let m=ft([...u],n.lineage);return n.lineage=m,m},[n]),Bc=U(async u=>{if(n.messages.length===0)return;let m=Eo(n.messages),y=Or(u??E.current);E.current=y,n.title=m,n.uiHistory=y;let I=n.lineage??kn(n.messages);n.lineage=I;let R={...n.extensionStateDirty?{extensionState:n.extensionState??{}}:{},...n.extensionRecordsDirty?{extensionRecords:n.extensionRecords??[]}:{}},_=Ka({messages:n.messages,title:m,gitRoot:n.gitRoot??"",runtimeInfo:n.runtimeInfo,tag:_e.current.session?.tag,uiHistory:y,lineage:I,artifactLedger:n.artifactLedger,...R});hH(o)?await o.appendSessionDelta(n.sessionId,_):await o.save(n.sessionId,_),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,Fp()&&jp("persist",Up(n.messages,I,{historyItems:H.current,foregroundItems:an.current,streamingResponse:le.current.currentResponse,streamingThinking:le.current.thinkingContent,persistedUiHistory:E.current}))},[n,kn,o]),th=U(()=>{if(hu.current)return hu.current;let u=(async()=>{try{for(;ri.current.requested;){ri.current.requested=!1;let m=ri.current.uiHistoryOverride;ri.current.uiHistoryOverride=void 0,await Bc(m)}}finally{hu.current=null,ri.current.requested&&th()}})();return hu.current=u,Kx.current=u,u},[Bc]),Qr=U(u=>{if(u!==void 0){let m=Or(u);E.current=m,ri.current.uiHistoryOverride=m}return ri.current.requested=!0,th()},[th]),KA=U(async()=>{if(ic.current)return ic.current;let u=(async()=>{it.current=!0,Te(),he(),Q(),de(),je(),J(),we(void 0),te(!1),await Kx.current.catch(()=>{}),await mu.current?.().catch(()=>{}),lA(!1),O&&w?.isRaw&&M(!1),w?.pause?.(),w?.unref?.(),b(),l()})();return ic.current=u.finally(()=>{ic.current=null}),ic.current},[Te,J,de,je,b,O,l,we,te,M,w,he,Q]);De(()=>(mu.current=Qr,()=>{mu.current=null}),[Qr]);let ld=U(u=>{if(u.length===0)return;let m=nm(E.current,u);E.current=m,Qr(m)},[Qr]),Bn=U(u=>{u.length!==0&&(x([...u]),ld(u))},[x,ld]),Is=U(u=>{u.length!==0&&(x([...u]),E.current=nm(E.current,u))},[x]);De(()=>(Qi.current=Bn,()=>{Qi.current=null}),[Bn]);let Sw=U(async u=>{Zn(),n.messages=u.messages,n.contextTokenSnapshot=u.contextTokenSnapshot,cE(n,u),kn(u.messages);let m=u.success===!1&&!u.interrupted,y=Be().trim(),I=WT(u.messages,xe(),u.managedTask?.verdict.summary,u.lastText),R=wt.current.workerTitle,_=[...an.current],D=_.length>0;Lu(_);let $=D&&_.some(Qe=>Qe.type==="assistant"&&"text"in Qe&&dE(String(Qe.text??""),R)),Y=_.filter(Qe=>Qe.type!=="assistant"||!("text"in Qe)||dE(String(Qe.text??""),R)),ne=!m&&I&&!$,He=[...rs.current],Ge=m?[]:He.length===0?pE?sy(u):sy(u).filter(Qe=>!iy(Qe)):[],zt=D?[]:Jy({thinking:y,response:void 0,toolCalls:tn.current,toolNames:gr.current}),fi=[...Y.map(Qe=>Qo(Qe)),...zt,...m?[]:He.map(Qe=>Qo(Qe)),...Ge.map(Qe=>uE(Qe)),...ne?[{type:"assistant",text:u.interrupted?`${I}
147
+
148
+ [Interrupted]`:I}]:!I&&!$&&!u.interrupted&&!m?[{type:"info",text:"[No response text was produced for this round]"}]:[]],Rs=nm(E.current,fi);de(),J();let pi=[...Y.map(Qe=>Qo(Qe)),...zt,...m?[]:[...Ge.map(Qe=>uE(Qe)),...He.map(Qe=>Qo(Qe))],...ne?[{type:"assistant",text:u.interrupted?`${I}
149
+
150
+ [Interrupted]`:I}]:!I&&!$&&!u.interrupted&&!m?[{type:"info",text:"[No response text was produced for this round]"}]:[]];x(pi),gr.current=[],tn.current=[],So(),je(),we(void 0),It(void 0),gc(),ii.current=[],rs.current=[],fc([]),sn(),Qr(Rs).catch(()=>{})},[x,sn,je,J,de,n,Zn,xe,Be,Qr,kn,So,gc,we,It,B.currentIteration]),vs=U(async u=>{let m=u.trim();m&&(q({type:"user",text:m}),pu(y=>y+1),dr(n))},[q,n]),bs=U(async(u,m)=>{let y=Oc.current;it.current=!1,oc.current=!1,tc(!0);try{return await IR({initialPrompt:u,runRound:m,shiftPendingPrompt:F,onRoundComplete:i(async I=>{Oc.current===y&&await Sw(I)},"onRoundComplete"),onBeforeQueuedRound:i(async I=>{it.current=!1,oc.current=!1,await vs(I)},"onBeforeQueuedRound"),shouldContinue:i(I=>!it.current&&I.success!==!1,"shouldContinue"),shouldDrainQueuedPrompts:i(()=>nc.current?le.current.pendingInputs.length===0?(nc.current=!1,!0):!1:!0,"shouldDrainQueuedPrompts")})}finally{tc(!1)}},[Sw,F,vs]),ww=U(async u=>{if(n.messages.length===0)return"empty";if(!Xo(L,"Recovering into a new session",Jl))return"blocked";let y=n.sessionId,I=n.lineage??kn(n.messages);n.lineage=I;let R=n.artifactLedger?structuredClone(n.artifactLedger):void 0,_=Rd({sourceSessionId:y,messages:n.messages,lineage:I,artifactLedger:R,reason:"provider session recovery"}),D=n.title||Eo(n.messages);await o.save(n.sessionId,Ka({messages:n.messages,title:D,gitRoot:n.gitRoot??"",runtimeInfo:n.runtimeInfo,tag:_e.current.session?.tag,uiHistory:E.current,lineage:I,artifactLedger:R,extensionState:n.extensionState,extensionRecords:n.extensionRecords}));let $=Gi(),Y=ft(_.messages);await o.save($,Ka({messages:_.messages,title:_.title,gitRoot:n.gitRoot??"",runtimeInfo:n.runtimeInfo,tag:_e.current.session?.tag,uiHistory:[],lineage:Y,artifactLedger:R}));let ne=new Date().toISOString();n.sessionId=$,n.messages=_.messages,n.uiHistory=[],n.title=_.title,n.contextTokenSnapshot=void 0,n.lineage=Y,n.artifactLedger=R,n.extensionState=void 0,n.extensionRecords=void 0,n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.createdAt=ne,n.lastAccessed=ne,E.current=[],_e.current.session={..._e.current.session,id:$},Yn(null),Se(),Gr([]),gh()?.reset(),ee($),C?.writer.update({sessionId:$}),Is([{type:"info",text:`Recovered into new session ${$}
151
+ Source session saved: ${y}
152
+ Raw provider history was not replayed.`}]),await o.save($,Ka({messages:n.messages,title:n.title,gitRoot:n.gitRoot??"",runtimeInfo:n.runtimeInfo,tag:_e.current.session?.tag,uiHistory:E.current,lineage:n.lineage,artifactLedger:n.artifactLedger}));let He=bd(u);try{await vs(He),await bs(He,async Ge=>{let zt=Ha(Ge,_e.current.context?.executionCwd??process.cwd());for(let fi of zt.warnings)q({type:"info",text:fi});return Cs(_e.current,zt.promptText,n.messages,zt.inputArtifacts)})}catch(Ge){let zt=Ge instanceof Error?Ge.message:String(Ge);return Bn([{type:"error",text:`[Recover failed] ${zt}`}]),"failed"}return"recovered"},[q,Bn,Is,Se,n,L,kn,bs,vs,o,C]),nh=U(async()=>{let u=F();if(!u||!u.trim())return;let m=u.trim();await vs(m),await bs(m,async y=>Cs(_e.current,y))},[Cs,bs,F,vs]),rh=U(u=>{let m=u[u.length-1];if(m?.role!=="assistant")return;let y=Xs(m);x(y.map(ko))},[x]),Tw=U(async(u,m)=>{let y=await Wp({..._e.current,provider:L.provider,thinking:L.thinking,reasoningMode:L.reasoningMode},u,m,I=>q({type:"info",text:I}));if(y.mode==="manual"){y.manualOutput&&q({type:"info",text:y.manualOutput}),await y.finalize();return}if(!y.prompt||!y.options){await y.finalize();return}tc(!0);try{let I=y.mode==="fork"?[]:n.lineage?Ft(n.lineage,n.lineage.activeEntryId):n.messages,R=Oc.current,_=await Cs(y.options,y.prompt,I);if(Oc.current!==R)await y.finalize();else{let D=E.current,$=[];if(y.mode==="fork"){let Y=_.messages.find(He=>He.role==="user");Y&&n.messages.push(Y);let ne=_.messages.slice().reverse().find(He=>He.role==="assistant");if(ne){n.messages.push({role:"assistant",content:ne.content}),kn(n.messages);for(let He of Xs(ne)){let Ge=ko(He);q(Ge),$.push(Ge)}}}else{n.messages=_.messages,n.contextTokenSnapshot=_.contextTokenSnapshot,kn(_.messages),rh(_.messages);let Y=_.messages[_.messages.length-1];if(Y?.role==="assistant")for(let ne of Xs(Y))$.push(ko(ne))}cE(n,_),await Bc(nm(D,$)),Fp()&&jp("round-end",Up(n.messages,n.lineage,{historyItems:H.current,foregroundItems:an.current,streamingResponse:le.current.currentResponse,streamingThinking:le.current.thinkingContent,persistedUiHistory:E.current})),await y.finalize()}}catch(I){let R=I instanceof Error?I:new Error(String(I));throw await y.finalize(R),tc(!1),R}tc(!1),await nh()},[q,rh,n,L.provider,L.thinking,nh,Bc,kn,Cs]),VA=U(async u=>{for(let m of u.pastedContents)if(m.type==="text"&&!m.content&&m.contentHash)try{let y=await eC(m.contentHash);y&&(m.content=y)}catch{}},[]),zA=U(async u=>{let{displayText:m,fullText:y,pastedContents:I}=u;if(!y.trim()||!du||Xe||Oe)return;for(let ke of I){if(ke.type!=="text"||ke.content.length<1024)continue;let Le=QT(ke.content);ZT(Le,ke.content)}if(lS(!1),ie){if(!ym)return;if(B.pendingInputs.length>=5){vn({type:"info",icon:"\u23F3",text:`Queued follow-up limit reached (${5}). Wait for the next round or press Esc to remove the latest item.`},"queue-limit");return}if(CR(y)){vn({type:"info",icon:"\u26A0",text:wR},TR);return}let ke=B.currentTool;if(ke&&Ed(ke)?.interruptBehavior==="cancel"){G(y),Te({preservePendingInputs:!0}),yu(""),gu(!0),pu(En=>En+1),dr(n);return}G(y),yu(""),gu(!0),pu(Le=>Le+1),dr(n);return}let R=qy(xe()),_=an.current.map(ke=>Qo(ke)),D=_.length>0;_.length>0&&(Lu(an.current),Is(_)),!D&&R&&Is([{type:"assistant",text:R+`
153
+
154
+ [Interrupted]`}]),Is([{type:"user",text:m}]),yu(""),gu(!0),pu(ke=>ke+1),Fp()&&jp("turn-start",Up(n.messages,n.lineage,{historyItems:H.current,foregroundItems:an.current,streamingResponse:le.current.currentResponse,streamingThinking:le.current.thinkingContent,persistedUiHistory:E.current})),te(!0),it.current=!1,oc.current=!1,++Oc.current,vu(null),ts(null),dt.current=null,ku.current=null,It(void 0),gc(),ii.current=[],rs.current=[],fc([]),ai(),mc(void 0),gr.current=[],tn.current=[],So(),_m(),J(),je(),we(void 0),sn(),ue(),dr(n),await new Promise(ke=>setTimeout(ke,50));let $=i(ke=>{if(ke.stage==="started"||ke.stage==="generating"||ke.stage==="validating"||ke.stage==="ready"){ts(ke.message);return}ts(null)},"handleWorkflowBuilderEvent"),Y=km,ne=i(ke=>{if(ke.type==="event")return;let Le=Nt(ke.text).trimEnd();if(Le.trim()){if(ke.type==="error"){q({type:"error",text:Le});return}if(ke.type==="assistant"){Bn([{type:"assistant",text:Le}]);return}vn({type:"info",text:Le},"workflow-message")}},"handleWorkflowRunMessage"),He=i(async(ke,Le,En)=>{if(Ad({source:ke.source}).action==="none")return!1;let or=[],vo=console.log;console.log=(...re)=>{or.push(zy(re))};let Cr=!1,ks=i(()=>{Cr||(Cr=!0,n.messages.push({role:"user",content:Le||ke.request}))},"commitWorkflowUserMessage"),j={...En,onWorkflowRunMessage:i(re=>{if(En.onWorkflowRunMessage?.(re),re.type!=="assistant"||re.final!==!0)return;let ve=Nt(re.text).trimEnd();ve.trim()&&(ks(),n.messages.push({role:"assistant",content:ve}),kn(n.messages),Qr(),le.current.pendingInputs.length>0&&(nc.current=!0))},"onWorkflowRunMessage")};try{let re=await Xd({request:ke.request,callbacks:j,approval:L.permissionMode==="plan"?"required":"silent",presentation:"agentic",sourceLabel:ke.displayName,processSource:ke.processSource??"command",...ke.builtin!==void 0?{builtin:ke.builtin}:{},onBuilderEvent:j.onWorkflowBuilderEvent});return re==="started"&&le.current.pendingInputs.length>0&&(nc.current=!0),_d({outcome:re})}finally{ts(null),console.log=vo;let re=Xy(or.filter((ve,Xt,Ir)=>Ir.indexOf(ve)===Xt));re&&q({type:"info",text:re})}},"runWorkflowInvocation"),Ge=Ii(y.trim());if(Ge){let ke=!1,Le=i(j=>{Ge.command==="workflow"&&(ke||(ke=!0,n.messages.push({role:"user",content:y.trim()})),n.messages.push({role:"assistant",content:j}),kn(n.messages),Qr())},"commitSlashWorkflowFinalMessage"),En={getRuntimeStatus:e.getRuntimeStatus,learning:e.learning,getLearningSummary:e.learning?()=>e.learning.getSnapshot():void 0,openLearningCenter:UA,exit:KA,saveSession:i(async()=>{if(n.messages.length>0){let j=Eo(n.messages);n.title=j;let re=n.lineage??kn(n.messages);n.lineage=re,await o.save(n.sessionId,Ka({messages:n.messages,title:j,gitRoot:n.gitRoot??"",runtimeInfo:n.runtimeInfo,tag:_e.current.session?.tag,uiHistory:E.current,lineage:re,artifactLedger:n.artifactLedger,extensionState:n.extensionState,extensionRecords:n.extensionRecords})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1}},"saveSession"),startNewSession:i(()=>{let j=Gi(),re=new Date().toISOString();n.sessionId=j,n.title="",n.uiHistory=[],n.contextTokenSnapshot=void 0,n.lineage=void 0,n.artifactLedger=void 0,n.extensionState=void 0,n.extensionRecords=void 0,n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,E.current=[],n.createdAt=re,n.lastAccessed=re,Dc(r),_e.current.session={..._e.current.session,id:j},Yn(null),Se(),Gr([]),gh()?.reset(),ee(j),C?.writer.update({sessionId:j})},"startNewSession"),loadSession:i(async j=>{let re=await o.load(j);if(re){if(!Xo(L,"Resuming a saved session",Jl))return"blocked";let Xt=await Rr({cwd:process.cwd()}),Ir=Fn(re),ud=Ir??Xt;return Ir?.workspaceRoot&&!Vd(Ir)&&(ud=Xt),n.messages=re.messages,n.uiHistory=Vo(re.uiHistory),n.lineage=re.lineage,n.artifactLedger=re.artifactLedger,n.extensionState=re.extensionState?structuredClone(re.extensionState):void 0,n.extensionRecords=re.extensionRecords?.map(sh=>({...sh})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.title=re.title,n.sessionId=j,n.contextTokenSnapshot=void 0,Dc(ud),_e.current.session={..._e.current.session,id:j,tag:re.tag},E.current=n.uiHistory??[],Yn(null),Se(),Gr([]),ee(j),C?.writer.update({sessionId:j}),console.log(pt.green(`[Session loaded: ${j}]`)),"loaded"}return"missing"},"loadSession"),listSessions:i(async()=>{let j=await o.list(n.gitRoot??void 0);if(j.length===0){console.log(pt.dim(`
155
+ [No saved sessions]`));return}console.log(pt.bold(`
156
+ Recent Sessions:
157
+ `));for(let re of j.slice(0,10))console.log(` ${pt.cyan(re.id)} ${pt.dim(`(${re.msgCount} messages)`)} ${re.title.slice(0,40)}`);console.log()},"listSessions"),clearHistory:i(()=>{n.uiHistory=[],Se(),Gr([])},"clearHistory"),printHistory:i(()=>{if(n.messages.length===0){console.log(pt.dim(`
158
+ [No conversation history]`));return}console.log(pt.bold(`
159
+ Conversation History:
160
+ `));let j=n.messages.slice(-20);for(let re=0;re<j.length;re++){let ve=j[re],Xt=pt.cyan(ve.role.padEnd(10)),Ir=Gd(ve.content),ud=Ir.slice(0,60).replace(/\n/g," "),sh=Ir.length>60?"...":"";console.log(` ${(re+1).toString().padStart(2)}. ${Xt} ${ud}${sh}`)}console.log()},"printHistory"),switchProvider:i((j,re)=>{let ve=wi({provider:j,model:re,effort:Tt.current.effort,effortOverride:Tt.current.effortOverride,permissionMode:Tt.current.permissionMode,planModeEffort:Tt.current.planModeEffort,thinking:Tt.current.thinking,reasoningMode:Tt.current.reasoningMode});ze(Xt=>({...Xt,provider:j,model:re})),_e.current.provider=j,_e.current.model=re,_e.current.effort=ve.runtimeEffort,ve.diagnostic&&console.log(pt.yellow(`
161
+ [${ve.diagnostic}]`))},"switchProvider"),setThinking:i(j=>{let re=j?"auto":"off";ze(ve=>({...ve,thinking:j,reasoningMode:re})),_e.current.thinking=j,_e.current.reasoningMode=re},"setThinking"),setEffort:i(j=>{ze(re=>({...re,effort:j,effortOverride:j!==void 0}))},"setEffort"),setReasoningMode:i(j=>{let re=j!=="off";ze(ve=>({...ve,thinking:re,reasoningMode:j})),_e.current.thinking=re,_e.current.reasoningMode=j},"setReasoningMode"),setAgentMode:i(j=>{ze(re=>({...re,agentMode:j})),_e.current.agentMode=j},"setAgentMode"),setPermissionMode:Zm,setRepoIntelligenceRuntime:i(j=>{ze(re=>({...re,...j.mode!==void 0?{repoIntelligenceMode:j.mode}:{},...j.trace!==void 0?{repoIntelligenceTrace:j.trace}:{}})),j.mode!==void 0&&(process.env.KODAX_REPO_INTELLIGENCE=j.mode,_e.current.context={..._e.current.context,repoIntelligenceMode:j.mode}),j.trace!==void 0&&(j.trace?process.env.KODAX_REPO_INTELLIGENCE_TRACE="1":delete process.env.KODAX_REPO_INTELLIGENCE_TRACE,_e.current.context={..._e.current.context,repoIntelligenceTrace:j.trace})},"setRepoIntelligenceRuntime"),deleteSession:i(async j=>{await o.delete?.(j)},"deleteSession"),deleteAllSessions:i(async()=>{await o.deleteAll?.(n.gitRoot??void 0)},"deleteAllSessions"),printSessionTree:i(async()=>{let j=await o.getLineage?.(n.sessionId);if(!j){console.log(pt.dim(`
162
+ [No session tree available for this session]`));return}let re=Dp(Id(j));console.log(pt.bold(`
163
+ Session Tree:
164
+ `)),re.forEach(ve=>console.log(` ${ve}`)),console.log()},"printSessionTree"),switchSessionBranch:i(async j=>{if(!Xo(L,"Switching session branches",Jl))return"blocked";let ve=await o.setActiveEntry?.(n.sessionId,j,{summarizeCurrentBranch:!0});return ve?(n.messages=ve.messages,n.uiHistory=Vo(ve.uiHistory),n.extensionState=ve.extensionState?structuredClone(ve.extensionState):void 0,n.extensionRecords=ve.extensionRecords?.map(Xt=>({...Xt})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.title=ve.title,n.contextTokenSnapshot=void 0,Dc(Fn(ve)??n.runtimeInfo??r),E.current=n.uiHistory??[],Yn(null),Se(),Gr([]),console.log(pt.green(`
165
+ [Switched to tree entry: ${j}]`)),console.log(pt.dim(` Messages: ${ve.messages.length}`)),"switched"):"missing"},"switchSessionBranch"),labelSessionBranch:i(async(j,re)=>{if(!await o.setLabel?.(n.sessionId,j,re))return!1;let Xt=re&&re.trim()?`checkpoint label set: ${re.trim()}`:"checkpoint label cleared";return console.log(pt.green(`
166
+ [${Xt}]`)),!0},"labelSessionBranch"),forkSession:i(async j=>{if(!Xo(L,"Forking a session branch",Jl))return"blocked";let ve=await o.fork?.(n.sessionId,j);if(!ve)return"failed";n.sessionId=ve.sessionId,n.messages=ve.data.messages,n.uiHistory=Vo(ve.data.uiHistory),n.extensionState=ve.data.extensionState?structuredClone(ve.data.extensionState):void 0,n.extensionRecords=ve.data.extensionRecords?.map(Ir=>({...Ir})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.title=ve.data.title,n.contextTokenSnapshot=void 0,Dc(Fn(ve.data)??n.runtimeInfo??r),E.current=n.uiHistory??[];let Xt=new Date().toISOString();return n.createdAt=Xt,n.lastAccessed=Xt,_e.current.session={..._e.current.session,id:ve.sessionId},Yn(null),Se(),Gr([]),ee(ve.sessionId),C?.writer.update({sessionId:ve.sessionId}),console.log(pt.green(`
167
+ [Forked session: ${ve.sessionId}]`)),console.log(pt.dim(` Messages: ${ve.data.messages.length}`)),"forked"},"forkSession"),recoverSession:ww,rewindSession:i(async j=>{if(!Xo(L,"Rewinding session",Jl))return"blocked";let ve=await o.rewind?.(n.sessionId,j);return ve?(n.messages=ve.messages,n.uiHistory=Vo(ve.uiHistory),n.extensionState=ve.extensionState?structuredClone(ve.extensionState):void 0,n.extensionRecords=ve.extensionRecords?.map(Xt=>({...Xt})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.title=ve.title,n.contextTokenSnapshot=void 0,Dc(Fn(ve)??n.runtimeInfo??r),E.current=n.uiHistory??[],Yn(null),Se(),Gr([]),console.log(pt.green(`
168
+ [Rewound session${j?` to ${j}`:" to previous turn"}]`)),console.log(pt.dim(` Messages: ${ve.messages.length}`)),"rewound"):"failed"},"rewindSession"),getCostReport:i(()=>X.current?.()??null,"getCostReport"),getAutoModeStats:i(async()=>{if(Mn(Rn.current))return e.runtimeAutoModeControl?e.runtimeAutoModeControl.getStats(n.sessionId):f.getGuardrail().getStats()},"getAutoModeStats"),setAutoModeEngine:i(async j=>{if(Mn(Rn.current)){if(e.runtimeAutoModeControl){let re=await e.runtimeAutoModeControl.setEngine(n.sessionId,j);Tr(re?.engine??j);return}f.getGuardrail().setEngine(j),Tr(j)}},"setAutoModeEngine"),createKodaXOptions:i(()=>({..._e.current,provider:L.provider,model:L.model,effort:Xn,thinking:L.thinking,reasoningMode:L.reasoningMode,agentMode:L.agentMode,guardrails:e.runtimeRunner?void 0:Vy(Rn.current,f),events:Nc()}),"createKodaXOptions"),reloadAgentsFiles:i(async()=>await Md({cwd:process.cwd(),projectRoot:n.gitRoot??void 0}),"reloadAgentsFiles"),startCompacting:i(()=>{Ve()},"startCompacting"),stopCompacting:i(()=>{Et()},"stopCompacting"),onCompactStats:i(j=>{rc.current=j.tokensBefore,Yn(j.tokensAfter)},"onCompactStats"),confirm:i(async j=>(await Jr("confirm",{_alwaysConfirm:!0,_message:j})).confirmed,"confirm"),onWorkflowBuilderEvent:$,onWorkflowRunMessage:i(j=>{if(ne(j),j.type!=="assistant"||j.final!==!0)return;let re=Nt(j.text).trimEnd();re.trim()&&Le(re)},"onWorkflowRunMessage"),onWorkflowRunUpdate:Y,ui:{select:i(async(j,re)=>jA(j,re),"select"),confirm:i(async j=>(await Jr("confirm",{_alwaysConfirm:!0,_message:j})).confirmed,"confirm"),input:i(async(j,re)=>Ts(j,re),"input")}},Hn=[],or=console.log;console.log=(...j)=>{Hn.push(zy(j))};let vo,Cr;try{let j=await vi(Ge,n,En,L);typeof j=="object"&&j!==null&&"invocation"in j&&(vo=j.invocation),typeof j=="object"&&j!==null&&"workflow"in j&&(Cr=j.workflow)}finally{ts(null),console.log=or}let ks=Xy(Hn);if(ks&&q({type:"info",text:ks}),Cr){try{await He(Cr,y.trim(),En)}finally{le.current.pendingInputs.length>0&&(nc.current=!0),te(!1),he(),de()}return}if(vo){te(!1),he(),te(!0),ue(),pe();try{await Tw(vo,y.trim())}catch(j){let re=j instanceof Error?j:new Error(String(j)),ve=re.name==="AbortError"||re.message.includes("aborted")||re.message.includes("ABORTED");console.log=or,ve?sd():Bn([{type:"error",text:re.message}])}finally{te(!1),he(),de()}return}te(!1),he();return}let zt=await Zg(y.trim());if(y.trim().startsWith("!")&&Fl(zt)){te(!1),he();return}let fi=_e.current.context?.executionCwd??process.cwd(),Rs=i(ke=>{ke.length!==0&&Bn(ke.map(Le=>({type:"info",text:Le})))},"emitArtifactWarnings");pe();let pi=[],Qe=console.log;console.log=(...ke)=>{pi.push(zy(ke))};try{await bs(zt,async ke=>{let Le=Ha(ke,_e.current.context?.executionCwd??process.cwd());return Rs(Le.warnings),Cs(_e.current,Le.promptText,n.messages,Le.inputArtifacts)})}catch(ke){let Le=ke instanceof Error?ke:new Error(String(ke));if(Le.name==="AbortError"||Le.message.includes("aborted")||Le.message.includes("ABORTED"))console.log=Qe,sd();else{let Hn=Le.message;if(Le.message.includes("rate limit")||Le.message.includes("Rate limit")?Hn=`[Rate Limit] ${Le.message}
169
+ Suggestion: Wait a moment and try again, or switch provider with /mode`:Le.message.includes("API key")||Le.message.includes("not configured")?Hn=`[Configuration Error] ${Le.message}
170
+ Suggestion: Set the required API key environment variable`:Le.message.includes("network")||Le.message.includes("ECONNREFUSED")||Le.message.includes("ETIMEDOUT")?Hn=`[Network Error] ${Le.message}
171
+ Suggestion: Check your internet connection`:(Le.message.includes("token")||Le.message.includes("context too long"))&&(Hn=`[Context Error] ${Le.message}
172
+ Suggestion: Use /clear to start fresh`),console.log=Qe,nt.current.workerId?Ut({id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"error",text:Hn,timestamp:Date.now()}):Bn([{type:"error",text:Hn}]),qd({error:Le,messageCount:n.messages.length})){let or={type:"info",text:Kc};if(nt.current.workerId?(Ut({id:`recover-hint-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,...or,timestamp:Date.now()}),ld([or])):Bn([or]),(await Jr("confirm",{_alwaysConfirm:!0,_message:Yd})).confirmed)try{await ww(zt)}catch(Cr){let ks=Cr instanceof Error?Cr.message:String(Cr);Bn([{type:"error",text:`[Recover failed] ${ks}`}])}}}}finally{if(console.log=Qe,pi.length>0){let Le=pi.filter((Hn,or,vo)=>vo.indexOf(Hn)===or),En=Xy(Le);En&&q({type:"info",text:En})}if(!it.current){let Le=yc(W.Cancelled,()=>({error:"Run ended before the tool result was observed.",output:void 0}));Le.length>0&&nt.current.workerId&&Le.forEach(En=>er(En))}te(!1),he(),J(),_m(),de();let ke=Es(n.messages);n.contextTokenSnapshot={currentTokens:ke,baselineEstimatedTokens:ke,source:"estimate"},Yn(ke)}},[du,n,L,ym,B.pendingInputs.length,o,Xe,Oe,b,l,q,Se,ue,he,J,Nc,Tw,Me,xe,Be,Ut,Is,Bn,rh,Bc,Qr,ld,kn,bs,nh,Ve,Et,So,_m,yc,er,ai,lc,uc]),Cw=Ht.shouldRender?fe(k,{paddingX:1,children:fe(C0,{viewModel:Ht})}):void 0,Iw=ie&&Sr.shouldRender?fe(k,{paddingX:1,children:fe(S0,{viewModel:Sr})}):void 0,vw=vS?fe(k,{paddingX:1,children:fe(Mp,{viewModel:Om})}):void 0,XA=Cw||Iw||vw?wn(k,{flexDirection:"column",children:[Iw,Cw,vw]}):void 0,bw=Ht.shouldRender?Ht.counterText:void 0,YA=fe(El,{left:fe(Rl,{items:WS}),right:fe(kl,{items:FS}),queued:fe(bp,{pendingInputs:B.pendingInputs}),stashNotice:fe(Dl,{text:Zu}),notifications:fe($l,{notifications:Qu}),inlineNotices:Gm.length>0?fe(Rp,{notices:Gm}):void 0,activityBar:Yr?wn(k,{paddingX:1,flexDirection:"row",children:[wn(k,{flexGrow:1,children:[Yr?.showSpinner?fe(Ln,{color:se("dark").colors.accent}):null,Yr?wn(v,{color:Yr.kind==="waiting"?se("dark").colors.warning:se("dark").colors.accent,wrap:"truncate",children:[Yr.showSpinner?" ":"",Yr.text]}):null,Yr?.showSpinner&&B.roundStartedAt!=null?fe(Cv,{roundStartedAt:B.roundStartedAt,charCount:B.currentResponse.length,theme:se("dark")}):null]}),bw?fe(v,{dimColor:!0,wrap:"truncate",children:bw}):ie&&Sr.shouldRender?fe(v,{dimColor:!0,wrap:"truncate",children:`${Sr.completedCount}/${Sr.totalCount} completed`}):null]}):void 0,todoSurface:XA,composer:fe(xp,{onSubmit:zA,onHistoryRecall:VA,onPopPendingInputs:i(()=>{let u=ge();if(u.length!==0)return u.join(`
173
+ ---
174
+ `)},"onPopPendingInputs"),prompt:">",placeholder:Ok({isLoading:ie,canQueueFollowUps:ym,waitingReason:Fm}),focus:!Xe&&!Oe&&!mt,cwd:process.cwd(),gitRoot:e.context?.gitRoot||n.gitRoot,onInputChange:EA,onPasteFallback:BA}),inlineSuggestions:OA,helpSurface:cS?fe(wp,{sections:Gp()}):void 0,taskBar:Ec?fe(Ol,{items:ms.backgroundTask.items,overflowLabel:ms.backgroundTask.overflowLabel,ctaHint:ms.backgroundTask.ctaHint,showSpinner:ie}):void 0,statusLine:fe(k,{children:fe(Fi,{...qu,viewModel:BS})}),inlineDialogs:HA}),qA=fe(El,{left:fe(Rl,{items:WS}),right:fe(kl,{items:FS}),stashNotice:fe(Dl,{text:Zu}),notifications:fe($l,{notifications:Qu}),composer:fe(h0,{searchActive:mt,selectionActive:!!(Xr||rt),showAllActive:Bt,searchQuery:cn,searchCurrent:Wt.length>0?Co+1:0,searchCount:Wt.length,searchDetailText:Hm,pendingLiveUpdates:Cc,secondaryText:$A}),taskBar:Ec?fe(Ol,{items:ms.backgroundTask.items,overflowLabel:ms.backgroundTask.overflowLabel,ctaHint:ms.backgroundTask.ctaHint,showSpinner:ht}):void 0,statusLine:fe(k,{children:fe(Fi,{...qu,viewModel:jm})})}),oh=U(u=>fe(g0,{banner:u?.bannerVisible?fe(Yy,{...li}):void 0,items:vc,isLoading:ln,viewportRows:Vt.messageRows,viewportWidth:Z,scrollOffset:qn,windowed:!!u?.rendererWindow,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?Rc:tw,maxLines:Pt,selectedTextRanges:$m?Iu?.rowRanges:void 0,onMetricsChange:td,onVisibleRowsChange:nd}),[li,vc,ln,td,nd,qn,tw,Z,Pt,Iu?.rowRanges,Vt.messageRows,$m]),ih=U(u=>fe(y0,{banner:u?.bannerVisible?fe(Yy,{...li}):void 0,items:Ic,browse:{hintText:Io.browseHintText},selection:ed,search:LS,isLoading:ht,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:L.agentMode,managedPhase:ht?V?.phase:void 0,managedHarnessProfile:ht?V?.harnessProfile:void 0,managedWorkerTitle:ht?V?.activeWorkerTitle:void 0,managedRound:ht?V?.currentRound:void 0,managedMaxRounds:ht?V?.maxRounds:void 0,managedGlobalWorkBudget:ht?V?.globalWorkBudget:void 0,managedBudgetUsage:ht?V?.budgetUsage:void 0,managedBudgetApprovalRequired:ht?V?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Re.lastLiveActivityLabel,liveStatusLines:fs,viewportRows:Vt.messageRows,viewportWidth:Z,scrollOffset:qn,windowed:!!u?.windowed,animateSpinners:!!u?.rendererWindow&&gs,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?Rc:Gu,maxLines:Pt,showDetailedTools:Bt,showAllContent:Bt,selectedItemId:Nn.selectionEnabled?rt:void 0,selectedTextRanges:Ur?.rowRanges,expandedItemKeys:Nn.selectionEnabled?In:void 0,onMetricsChange:td,onVisibleRowsChange:nd}),[li,L.agentMode,ht,In,c.transcriptSpinnerAnimation,td,nd,qn,yS,V?.activeWorkerTitle,V?.budgetApprovalRequired,V?.budgetUsage,V?.currentRound,V?.globalWorkBudget,V?.harnessProfile,V?.maxRounds,V?.phase,Rc,Gu,Io.browseHintText,rt,ed,Z,gs,Ic,Pt,Re.activeToolCalls,Re.currentIteration,Re.currentResponse,Re.currentTool,Re.isCompacting,Re.isThinking,Re.iterationHistory,Re.lastLiveActivityLabel,Re.thinkingCharCount,Re.thinkingContent,Re.toolInputCharCount,Re.toolInputContent,fs,Ur?.rowRanges,LS,Bt,Vt.messageRows]),JA=ae?ih({bannerVisible:!1,windowed:$t}):oh({bannerVisible:!1}),Rw=ae?qA:YA,QA=c.enabled&&ci,kw=wn(k,{flexDirection:"column",width:Z,flexShrink:0,flexGrow:QA?1:0,children:[fe(dy,{currentConfig:L,setCurrentConfig:ze,isLoading:ie,abort:Te,stopThinking:Q,clearThinkingContent:de,setCurrentTool:we,setIsLoading:te,onToggleHelp:kA,setShowHelp:lS,onSetThinking:i(u=>{_e.current.thinking=u},"onSetThinking"),onSetReasoningMode:i(u=>{_e.current.reasoningMode=u,_e.current.thinking=u!=="off"},"onSetReasoningMode"),onToggleTranscriptMode:WA,onOpenTranscriptSearch:Xm,canOpenTranscriptSearch:ae&&!Xe&&!Oe,isInteractiveDialogActive:!!(Xe||Oe),onSetAgentMode:i(u=>{_e.current.agentMode=u},"onSetAgentMode"),onSetPermissionMode:i(u=>{Zm(u)},"onSetPermissionMode"),isInputEmpty:sc,onSavePermissionMode:DT}),gm&&(c.enabled?null:fe(la,{items:[1],children:i(()=>fe(Yy,{...li},"banner"),"children")})),ci?fe(mp,{width:Z,stickyHeader:Io.stickyHeader,jumpToLatest:Io.jumpToLatest,transcript:!c.enabled||!$t?ae?ih({bannerVisible:!1}):oh({bannerVisible:!1}):void 0,renderTranscriptWindow:c.enabled&&$t?u=>(()=>{let y=Lc(u).contentWindow;return ae?ih({bannerVisible:!1,windowed:!0,rendererWindow:y}):oh({bannerVisible:!1,rendererWindow:y})})():void 0,overlay:Jm,scrollTop:qn,scrollHeight:_c,viewportHeight:Vt.messageRows,stickyScroll:!ae&&!yr&&Tm,overscanRows:EH,scrollRef:pA,onWindowChange:NA,onScrollTopChange:hA,onStickyChange:gA,footer:Rw}):wn(dH,{children:[wn(k,{flexDirection:"column",flexGrow:1,children:[JA,Jm?fe(k,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:Jm}):null]}),Rw]})]});return Pm?fe(tg,{mouseTracking:wo.usesRendererMouseTracking,children:kw}):kw},"InkREPLInner"),PH=i(e=>{let t=process.cwd(),n=e.options?.context?.gitRoot??void 0;return fe(_l,{children:fe(Hl,{getPendingInputAgentId:i(()=>hd(e.context.sessionId,"/root"),"getPendingInputAgentId"),children:fe(ml,{children:fe(ly,{children:fe(Wf,{cwd:t,gitRoot:n,children:fe(LH,{...e})})})})})})},"InkREPL");function $H(){return process.stdin.isTTY===!0&&typeof process.stdin.setRawMode=="function"}i($H,"isRawModeSupported");async function rm(e){if(!$H())throw new lh("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 Ki,n=_o(),r=Lo(),o=Po(n,r),{prepareRuntimeConfig:s}=await import("./utils-2GAE4XIM.js"),{loadCompactionConfig:a}=await import("./compaction-config-IHJBP4GO.js"),{resolveProvider:c}=await import("./dist-5N3I2RTW.js"),l=s(),d=Ws({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,configuredProvider:l.provider,defaultProvider:mi}),f=Fs({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,explicitModel:e.model,configuredProvider:l.provider,configuredModel:l.model}),p=yH(e,l),h=js({explicitEffort:e.effort,environmentEffort:process.env.KODAX_EFFORT,configuredEffort:l.effort}),g=Nd(e,l,process.env.KODAX_EFFORT),C=e.agentMode??l.agentMode??"ama",b=p!=="off",T=Bs(l.permissionMode,"accept-edits")??"accept-edits",S=kd(),w=l.repoIntelligenceTrace===!0,M={provider:d,model:f,effort:h,effortOverride:g,planModeEffort:l.planModeEffort,thinking:b,reasoningMode:p,agentMode:C,permissionMode:T,repoIntelligenceMode:S.mode,repoIntelligenceTrace:w},O=e.session?.id,A=[],N,X,K,q,x,Se="",ee=await Rr({cwd:process.cwd()}),H=ee.workspaceRoot??void 0,E=ee,Z=H,B=gd({meta:{cwd:process.cwd(),startedAt:Date.now()}});if(B){let Q=i(()=>{B.shutdown()},"teamModeCleanup");process.on("exit",Q),process.on("SIGTERM",Q)}try{let{bootstrapConstructionRuntime:Q}=await import("./construction-bootstrap-EGRUHKLP.js"),de=await Q(H??process.cwd());if(de.loaded>0||de.failed>0||de.tampered>0){let we=de.failed>0?`; ${de.failed} failed`:"",st=de.tampered>0?`; ${de.tampered} skipped due to manifest contentHash mismatch \u2014 re-stage and re-activate to re-approve`:"";Dt({source:"repl:construction",level:de.failed>0||de.tampered>0?"warn":"info",message:`Rehydrated ${de.loaded} active tool(s)${we}${st}.`})}if(de.markdownLoaded>0||de.markdownFailures.length>0){Dt({source:"repl:agents",level:de.markdownFailures.length>0?"warn":"info",message:`Loaded ${de.markdownLoaded} markdown agent(s).`});for(let we of de.markdownFailures)Dt({source:"repl:agents",level:"warn",message:`Skipped markdown agent ${we.path}: ${we.reason}`})}}catch(Q){Dt({source:"repl:construction",level:"warn",message:`Bootstrap failed: ${Q.message}. Self-construction disabled this session.`})}let le;try{let Q=await a(H),de=c(d);le={contextWindow:Q.contextWindow??de.getContextWindow?.()??2e5,triggerPercent:Q.triggerPercent,enabled:Q.enabled,reservedResponseTokens:de.getEffectiveMaxOutputTokens?.(f),userOverrideContextWindow:Q.contextWindow}}catch{}if(e.session?.id&&!e.session.resume){let Q=await t.load(e.session.id);Q&&(A=Q.messages,N=Vo(Q.uiHistory),X=Q.lineage,K=Q.artifactLedger,q=Q.extensionState,x=Q.extensionRecords,Se=Q.title,O=e.session.id,E=Fn(Q)??ee,Z=E.workspaceRoot??void 0,e={...e,session:{...e.session??{},id:O,tag:Q.tag}},console.log(pt.green(`[Session loaded: ${O}]`)))}else if(e.session?.resume||e.session?.autoResume){let Q=await t.list(H);if(Q.length>0){let de=Q[0];if(de){let we=await t.load(de.id);we&&(A=we.messages,N=Vo(we.uiHistory),X=we.lineage,K=we.artifactLedger,q=we.extensionState,x=we.extensionRecords,Se=we.title,O=de.id,E=Fn(we)??ee,Z=E.workspaceRoot??void 0,e={...e,session:{...e.session??{},tag:we.tag}},console.log(pt.green(`[Continuing session: ${de.id}]`)))}}}let ue=await La({sessionId:O,gitRoot:Z,runtimeInfo:E,existingMessages:A,existingUiHistory:N,existingLineage:X,existingArtifactLedger:K,existingExtensionState:q,existingExtensionRecords:x});ue.title=Se,e={...e,context:{...e.context,gitRoot:ue.gitRoot??void 0,executionCwd:ue.runtimeInfo?.executionCwd??ue.gitRoot??process.cwd()}},B?.writer.update({sessionId:ue.sessionId});let he={current:null},Te={current:null},pe={current:M},Ie=Vs(),Fe=await Pa({askUser:i(async(Q,de,we)=>{let st=he.current;return st?st(Q,de,we):"block"},"askUser"),projectRoot:H??process.cwd(),executionCwd:E.executionCwd??H??process.cwd(),getCurrentProviderName:i(()=>pe.current.provider,"getCurrentProviderName"),getCurrentModel:i(()=>pe.current.model,"getCurrentModel"),getCurrentPermissionMode:i(()=>pe.current.permissionMode,"getCurrentPermissionMode"),autoModeSettings:Ie,log:i((Q,de)=>{Dt({source:"repl:auto-mode",level:Q==="warn"?"warn":"info",message:de})},"log"),onEngineChange:i(Q=>{Te.current?.(Q)},"onEngineChange"),extraCollectors:[Ks]});try{let Q=process.stdout,de=process.stdin,we=!1,{waitUntilExit:st,cleanup:yt}=ca(fe(PH,{options:e,config:M,context:ue,startupRuntimeInfo:ee,storage:t,autoModeSettings:_a(Ie),compactionInfo:le,rendererMode:r,fullscreenPolicy:o,autoModeBootstrap:Fe,setAutoModeAskUser:i(J=>{he.current=J},"setAutoModeAskUser"),setAutoModeEngineChange:i(J=>{Te.current=J},"setAutoModeEngineChange"),setCurrentConfigRef:i(J=>{pe.current=J},"setCurrentConfigRef"),teamModeHandle:B,onExit:i(()=>{we=!0},"onExit")}),{stdout:Q,stdin:de,exitOnCtrlC:!1,patchConsole:!1,maxFps:30,shellMode:o.enabled?o.promptShell:"main-screen"});await st(),yt(),B?.shutdown(),de.isTTY===!0&&typeof de.setRawMode=="function"&&de.isRaw&&de.setRawMode(!1),de.pause?.(),de.unref?.(),we&&console.log(pt.dim(`
175
+ [Exiting KodaX...]`));let je=e.hardExitOnClose??process.env.VITEST!=="true";if(we&&je){let J=process.exitCode??0,me=!1,Me=i(()=>{me||(me=!0,process.exit(J))},"requestProcessExit");setTimeout(Me,0).unref?.(),Q.write("",Me);return}}catch(Q){throw Q instanceof Error&&Q.message.includes("Raw mode")?new lh("Interactive mode failed to start.",['kodax -p "your task" # Run a single task',"kodax -c # Continue last session"]):Q}}i(rm,"runInkInteractiveMode");import{jsx as Ql,jsxs as Va}from"react/jsx-runtime";import{useMemo as DH,useRef as OH,useState as Zy}from"react";var NH=40;function BH(e,t){let n=t.trim().toLocaleLowerCase().split(/\s+/).filter(Boolean);return n.length===0?[...e]:e.filter(r=>{let o=[r.title,r.id,r.surface??"",r.createdAt??"",String(r.msgCount)].join(" ").toLocaleLowerCase();return n.every(s=>o.includes(s))})}i(BH,"filterSessionPickerItems");function HH(e,t,n){let r=Math.max(1,n),o=e.length===0?0:Math.max(0,Math.min(t,e.length-1)),s=Math.floor(o/r)*r;return{items:e.slice(s,s+r),selectedIndex:o,pageStart:s,pageIndex:Math.floor(s/r),pageCount:Math.max(1,Math.ceil(e.length/r))}}i(HH,"buildSessionPickerPage");function WH(e){if(!e)return"unknown time";let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toISOString().slice(0,16).replace("T"," ")}i(WH,"formatTimestamp");function FH({sessions:e,onSelect:t,onSelectionError:n,onCancel:r,pageSize:o=8}){let{exit:s}=Lr(),[a,c]=Zy(""),[l,d]=Zy(0),[f,p]=Zy(!1),h=OH(!1),g=DH(()=>BH(e,a),[e,a]),C=HH(g,l,o),b=g[C.selectedIndex];return ua((T,S)=>{if(!h.current){if(S.escape||S.ctrl&&T==="c"){r(),s();return}if(S.return){let w=g[C.selectedIndex];w&&(h.current=!0,p(!0),(async()=>{await new Promise(M=>setTimeout(M,NH));try{await t(w)}catch(M){n(M)}finally{s()}})());return}if(S.upArrow)d(w=>Math.max(0,w-1));else if(S.downArrow)d(w=>Math.min(Math.max(0,g.length-1),w+1));else if(S.pageUp)d(w=>Math.max(0,w-o));else if(S.pageDown)d(w=>Math.min(Math.max(0,g.length-1),w+o));else if(S.home)d(0);else if(S.end)d(Math.max(0,g.length-1));else if(S.tab){let w=g[C.selectedIndex];w&&(c(w.title),d(0))}else S.backspace||S.delete?(c(w=>w.slice(0,-1)),d(0)):T&&!S.ctrl&&!S.meta&&!S.super&&(c(w=>w+T),d(0))}}),Va(k,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,children:[Ql(v,{bold:!0,color:"cyan",children:"Resume a session"}),Va(v,{children:["Search: ",Ql(v,{color:"yellow",children:a||"type to filter"})]}),Ql(v,{dimColor:!0,children:f?"Loading selected session...":"\u2191/\u2193 select \xB7 PgUp/PgDn page \xB7 Tab complete \xB7 Enter resume \xB7 Esc cancel"}),Va(k,{flexDirection:"column",marginTop:1,children:[C.items.length===0?Ql(v,{color:"yellow",children:"No matching sessions."}):null,C.items.map((T,S)=>{let M=C.pageStart+S===C.selectedIndex,O=T.title.trim()||"Untitled session",A=T.surface?` \xB7 ${T.surface}`:"";return Va(v,{color:M?"cyan":void 0,bold:M,children:[M?"\u276F":" "," ",O," \xB7 ",T.msgCount," msgs",A," \xB7 ",WH(T.createdAt)," \xB7 ",T.id.slice(0,8)]},T.id)})]}),Va(v,{dimColor:!0,children:[g.length," matches \xB7 Page ",C.pageIndex+1,"/",C.pageCount]}),Va(v,{dimColor:!0,children:["Selected ID: ",b?.id??"none"]})]})}i(FH,"SessionPicker");async function xE(e,t={}){if(process.stdin.isTTY!==!0||process.stdout.isTTY!==!0)throw new Error("Searchable session resume requires an interactive terminal. Pass an exact session ID or title to -r/--resume instead.");let n,r=!1,o=!1,s,a=Math.max(4,Math.min(12,(process.stdout.rows??24)-8)),c=ca(Ql(FH,{sessions:e,pageSize:a,onSelect:i(async l=>{n=l,await t.prepareSelection?.(l)},"onSelect"),onSelectionError:i(l=>{o=!0,s=l},"onSelectionError"),onCancel:i(()=>{r=!0},"onCancel")}),{stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,exitOnCtrlC:!1,patchConsole:!1});try{await c.waitUntilExit()}finally{c.unmount(),c.cleanup()}if(o)throw s;if(!n&&!r)throw new Error("Session picker exited unexpectedly before selection or cancellation.");return n}i(xE,"runSessionPicker");import pn from"chalk";var SE=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],wE=["\x1B[36m","\x1B[35m","\x1B[34m"],eu=null,za=!1;function Zl(){let e=0,t=0,n=!1,r="Thinking...",o=i(()=>{if(n)return;let c=wE[t%wE.length],l="\x1B[0m",d=SE[e%SE.length];process.stdout.write(`\r${c}${d}${l} ${r}`)},"renderFrame"),s=setInterval(()=>{e++,e%10===0&&t++,o()},80);o();let a={stop:i(()=>{n||(n=!0,clearInterval(s),process.stdout.write("\r\x1B[K"))},"stop"),isStopped:i(()=>n,"isStopped"),updateText:i(c=>{r=c},"updateText")};return eu=a,a}i(Zl,"startWaitingDots");function TE(e=!0){let t=null,n=0,r=!1;return{onSessionStart:i(s=>{console.log(e?pn.cyan(`[KodaX] Provider: ${s.provider} | Session: ${s.sessionId}`):pn.cyan(`[KodaX] Provider: ${s.provider}`))},"onSessionStart"),onTextDelta:i(s=>{t&&(t.stop(),t=null),n=0,process.stdout.write(s),r=!0},"onTextDelta"),onThinkingDelta:i(s=>{n+=s.length,t||(t=Zl()),t.updateText(`Thinking... (${n} chars)`)},"onThinkingDelta"),onThinkingEnd:i(s=>{if(t&&(t.stop(),t=null),s){let a=s.replace(/\n/g," "),c=a.length>100?a.slice(0,100)+"...":a;console.log(pn.dim(`[Thinking] ${c}`))}},"onThinkingEnd"),onToolUseStart:i(s=>{t||(za||(process.stdout.write(`
176
+ `),za=!0),t=Zl()),t.updateText(`Executing ${s.name}...`)},"onToolUseStart"),onToolInputDelta:i((s,a,c)=>{let l=a.length;t&&!t.isStopped()?t.updateText(`Receiving ${s}... (${l} chars)`):(!t||t.isStopped())&&(za||(process.stdout.write(`
177
+ `),za=!0,r=!1),t=Zl(),t.updateText(`Receiving ${s}... (${l} chars)`))},"onToolInputDelta"),onToolResult:i(s=>{t&&(t.stop(),t=null),console.log(pn.green(`[Result] ${s.content.slice(0,300)}${s.content.length>300?"...":""}`))},"onToolResult"),onRepoIntelligenceTrace:i(s=>{t&&(t.stop(),t=null),console.log(pn.dim(`[RepoIntel] ${s.summary}`))},"onRepoIntelligenceTrace"),onSidecarMessage:i(s=>{t&&(t.stop(),t=null);let a=s.delivery==="budget-exhausted"?"\u26A1 Sidecar Verifier \u2014 budget exhausted":s.verdict==="blocked"?"\u26A1 Sidecar Verifier \u2014 blocked":"\u26A1 Sidecar Verifier \u2014 revise",c=s.suggestedFix?`${s.content}
178
+ Suggested fix: ${s.suggestedFix}`:s.content;process.stdout.write(pn.yellow(`
179
+ ${a}
180
+ `)+pn.dim(`${c}
181
+ `))},"onSidecarMessage"),onStreamEnd:i(()=>{eu&&!eu.isStopped()&&eu.stop(),eu=null,za=!1,r&&(console.log(),r=!1),(!t||t.isStopped())&&(t=Zl(),t.updateText("Processing..."))},"onStreamEnd"),onIterationStart:i((s,a)=>{t&&!t.isStopped()&&t.stop(),za=!1,r=!1,console.log(pn.magenta(`
182
+ [Assistant]`)),t=Zl()},"onIterationStart"),onCompactStart:i(()=>{console.log(pn.dim(`
183
+ [KodaX] Compacting context...`))},"onCompactStart"),onCompact:i(s=>{console.log(pn.dim(`[KodaX] Compaction finished (${s} tokens).`))},"onCompact"),onCompactEnd:i(()=>{},"onCompactEnd"),onRetry:i((s,a,c)=>{console.log(pn.yellow(`[KodaX] Retry ${a}/${c}: ${s}`))},"onRetry"),onProviderRecovery:i(s=>{let a=s.recoveryAction==="non_streaming_fallback"?"switching to non-streaming fallback":s.recoveryAction==="manual_continue"?"awaiting manual continue":`recovering ${s.attempt}/${s.maxAttempts}`;console.log(pn.yellow(`[KodaX] ${a} (${s.errorClass}, ${s.stage})`))},"onProviderRecovery"),onComplete:i(()=>{t&&(t.stop(),t=null),console.log(pn.green(`
184
+ [KodaX] Done!`))},"onComplete"),onError:i(s=>{t&&(t.stop(),t=null),console.log(pn.red(`
185
+ [Error] ${s.message}`))},"onError"),onScoutSuspiciousCompletion:i(s=>{console.log(pn.yellow(`
186
+ [Scout] Completion marked uncertain \u2014 signals: ${s.signals.join(", ")}. Verify the result before continuing.`))},"onScoutSuspiciousCompletion"),beforeToolExecute:i(async(s,a)=>!0,"beforeToolExecute")}}i(TE,"createCliEvents");function Jt(e){return{...e?.sessionId!==void 0?{sessionId:e.sessionId}:{},...e?.seq!==void 0?{seq:e.seq}:{},...e?.turnId!==void 0?{turnId:e.turnId}:{},...e?.deliveryId!==void 0?{deliveryId:e.deliveryId}:{},...e?.timestamp!==void 0?{timestamp:e.timestamp}:{},...e?.workflowCorrelation!==void 0?{workflowCorrelation:e.workflowCorrelation}:{},...e?.childAgentId!==void 0?{childAgentId:e.childAgentId}:{},...e?.childAgentName!==void 0?{childAgentName:e.childAgentName}:{},...e?.parentToolId!==void 0?{parentToolId:e.parentToolId}:{},...e?.liveOnly!==void 0?{liveOnly:e.liveOnly}:{}}}i(Jt,"activityMetaFields");function Xi(e){return{...e.sessionId!==void 0?{sessionId:e.sessionId}:{},...e.seq!==void 0?{seq:e.seq}:{},...e.turnId!==void 0?{turnId:e.turnId}:{},...e.deliveryId!==void 0?{deliveryId:e.deliveryId}:{},...e.timestamp!==void 0?{timestamp:e.timestamp}:{}}}i(Xi,"liveMetaFields");function ot(e,t){e.write(`${JSON.stringify(t)}
187
+ `)}i(ot,"writeJsonLine");function jH(e,t){return{type:"error",name:e.name,message:e.message,stack:e.stack,...Jt(t)}}i(jH,"serializeError");function CE(e={}){let t=e.stdout??process.stdout,n=e.stderr??process.stderr;return{onSessionStart:i(r=>{ot(t,{type:"session.start",provider:r.provider,sessionId:r.sessionId,...Xi(r)})},"onSessionStart"),onTurnStarted:i(r=>{ot(t,{type:"turn.started",...r})},"onTurnStarted"),onTurnCompleted:i(r=>{ot(t,{type:"turn.completed",...r})},"onTurnCompleted"),onTurnFailed:i(r=>{ot(t,{type:"turn.failed",...r})},"onTurnFailed"),onIterationStart:i((r,o,s)=>{ot(t,{type:"iteration.start",iter:r,maxIter:o,...Jt(s)})},"onIterationStart"),onIterationEnd:i(r=>{ot(t,{type:"iteration.end",iter:r.iter,maxIter:r.maxIter,tokenCount:r.tokenCount,tokenSource:r.tokenSource,usage:r.usage,contextTokenSnapshot:r.contextTokenSnapshot,...r.scope!==void 0?{scope:r.scope}:{},...Xi(r)})},"onIterationEnd"),onTextDelta:i((r,o)=>{ot(t,{type:"text.delta",text:r,...Jt(o)})},"onTextDelta"),onThinkingDelta:i((r,o)=>{ot(t,{type:"thinking.delta",text:r,...Jt(o)})},"onThinkingDelta"),onThinkingEnd:i((r,o)=>{ot(t,{type:"thinking.end",thinking:r,...Jt(o)})},"onThinkingEnd"),onToolUseStart:i((r,o)=>{ot(t,{type:"tool.start",id:r.id,name:r.name,input:r.input,...Jt(o)})},"onToolUseStart"),onToolInputDelta:i((r,o,s)=>{ot(t,{type:"tool.input.delta",toolName:r,partialJson:o,toolId:s?.toolId,...Jt(s)})},"onToolInputDelta"),onToolResult:i((r,o)=>{ot(t,{type:"tool.result",id:r.id,name:r.name,content:r.content,...Jt(o)})},"onToolResult"),onStreamEnd:i(r=>{ot(t,{type:"stream.end",...Jt(r)})},"onStreamEnd"),onCompactStart:i(r=>{ot(t,{type:"compact.start",...Jt(r)})},"onCompactStart"),onCompact:i((r,o)=>{ot(t,{type:"compact.finish",estimatedTokens:r,...Jt(o)})},"onCompact"),onCompactStats:i(r=>{ot(t,{type:"compact.stats",tokensBefore:r.tokensBefore,tokensAfter:r.tokensAfter,...Xi(r)})},"onCompactStats"),onCompactEnd:i(r=>{ot(t,{type:"compact.end",...Jt(r)})},"onCompactEnd"),onRetry:i((r,o,s,a)=>{ot(t,{type:"retry",reason:r,attempt:o,maxAttempts:s,...Jt(a)})},"onRetry"),onProviderRecovery:i((r,o)=>{ot(t,{type:"provider.recovery",stage:r.stage,reasonCode:r.errorClass,attempt:r.attempt,maxAttempts:r.maxAttempts,delayMs:r.delayMs,nextAt:Date.now()+r.delayMs,recoveryAction:r.recoveryAction,fallbackUsed:r.fallbackUsed,...Jt(o)})},"onProviderRecovery"),onProviderRateLimit:i((r,o,s,a)=>{ot(t,{type:"provider.rate_limit",attempt:r,maxRetries:o,delayMs:s,...Jt(a)})},"onProviderRateLimit"),onRepoIntelligenceTrace:i(r=>{ot(t,{type:"repo_intelligence.trace",stage:r.stage,summary:r.summary,capability:r.capability,trace:r.trace,...Xi(r)})},"onRepoIntelligenceTrace"),onSidecarMessage:i(r=>{ot(t,{type:"sidecar.message",source:r.source,verdict:r.verdict,recipient:r.recipient,delivery:r.delivery,content:r.content,...r.suggestedFix!==void 0?{suggestedFix:r.suggestedFix}:{},...r.trace!==void 0?{trace:r.trace}:{},...Xi(r)})},"onSidecarMessage"),onToolProgress:i((r,o)=>{ot(t,{type:"tool.progress",id:r.id,message:r.message,...Jt(o)})},"onToolProgress"),onManagedTaskStatus:i(r=>{ot(t,{type:"managed_task.status",agentMode:r.agentMode,harnessProfile:r.harnessProfile,phase:r.phase,activeWorkerId:r.activeWorkerId,activeWorkerTitle:r.activeWorkerTitle,childFanoutClass:r.childFanoutClass,childFanoutCount:r.childFanoutCount,currentRound:r.currentRound,maxRounds:r.maxRounds,note:r.note,detailNote:r.detailNote,globalWorkBudget:r.globalWorkBudget,budgetUsage:r.budgetUsage,budgetApprovalRequired:r.budgetApprovalRequired,...Xi(r)})},"onManagedTaskStatus"),onScoutSuspiciousCompletion:i(r=>{ot(t,{type:"scout.suspicious_completion",confidence:r.confidence,signals:r.signals,sessionId:r.sessionId,lastTextPreview:r.lastTextPreview,...Xi(r)})},"onScoutSuspiciousCompletion"),onComplete:i(r=>{ot(t,{type:"complete",...Jt(r)})},"onComplete"),onError:i((r,o)=>{ot(n,jH(r,o))},"onError")}}i(CE,"createJsonEvents");import{jsx as Ct,jsxs as Tn}from"react/jsx-runtime";import zH,{useMemo as tu}from"react";var ex=/^@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@.*$/,IE=/^---\s+(.+)$/;function vE(e){if(!e)return[];let t=e.split(`
188
+ `),n=[],r=[],o=[],s=!1,a=null,c=null,l=0,d=0,f=i(()=>{if(r.length===0)return;let h=r.join(`
189
+ `);h.length>0&&n.push({kind:"text",text:h}),r=[]},"flushText"),p=i(()=>{o.length!==0&&(n.push({kind:"diff",text:o.join(`
190
+ `),addedLines:l,removedLines:d,filePath:c}),o=[],l=0,d=0,c=null)},"flushDiff");for(let h=0;h<t.length;h++){let g=t[h];if(!s){let T=IE.exec(g);if(T){let S=Math.min(h+3,t.length-1),w=!1;for(let M=h+1;M<=S;M++)if(t[M]?.startsWith("+++ ")||ex.test(t[M]??"")){w=!0;break}if(w){f(),s=!0,a=T[1]??null,c=a,o.push(g);continue}}if(ex.test(g)){f(),s=!0,o.push(g);continue}r.push(g);continue}let C=IE.exec(g);if(C){let T=Math.min(h+3,t.length-1),S=!1;for(let w=h+1;w<=T;w++)if(t[w]?.startsWith("+++ ")||ex.test(t[w]??"")){S=!0;break}if(S){p(),c=C[1]??null,o.push(g);continue}}let b=g[0];if(b==="+"||b==="-"||b===" "||b==="@"||g===""){b==="+"&&!g.startsWith("+++ ")&&l++,b==="-"&&!g.startsWith("--- ")&&d++,o.push(g);continue}p(),s=!1,a=null,r.push(g)}return p(),f(),n}i(vE,"parseUnifiedDiff");function bE(e){return e?/^@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@/m.test(e):!1}i(bE,"containsUnifiedDiff");import{jsxs as Xa,jsx as UH}from"react/jsx-runtime";import GH from"react";function KH(e){return e.startsWith("+++ ")?{text:e,kind:"file-header"}:e.startsWith("--- ")?{text:e,kind:"file-header"}:e.startsWith("@@ ")?{text:e,kind:"hunk-header"}:e.startsWith("+")?{text:e,kind:"add"}:e.startsWith("-")?{text:e,kind:"remove"}:{text:e,kind:"context"}}i(KH,"classifyLine");function VH(e,t){switch(e){case"add":return t.colors.success;case"remove":return t.colors.error;case"hunk-header":case"file-header":return t.colors.dim;default:return}}i(VH,"colorFor");var tx=GH.memo(({text:e,addedLines:t,removedLines:n,filePath:r,theme:o,maxLines:s=16,extremeThreshold:a=200})=>{let c=o??se("dark"),l=e.split(`
191
+ `),d=l.map(KH),f=`(${t>0?`+${t}`:"\xB10"} ${n>0?`-${n}`:""})`.trim();if(l.length>a)return Xa(k,{flexDirection:"column",marginLeft:4,children:[r&&Xa(v,{dimColor:!0,children:[r," ",f]}),Xa(v,{dimColor:!0,children:["[diff too large to render inline \u2014 ",l.length," lines, ",t,"+ / ",n,"-]"]})]});let p,h=0;if(l.length>s){let g=Math.floor(s/2),C=d.slice(0,g),b=d.slice(-g);h=l.length-C.length-b.length,p=[...C,{text:"",kind:"context"},...b]}else p=d;return Xa(k,{flexDirection:"column",marginLeft:4,children:[r&&Xa(v,{dimColor:!0,children:[r," ",f]}),p.map((g,C)=>{if(C===Math.floor(s/2)&&h>0&&g.kind==="context"&&g.text==="")return Xa(v,{dimColor:!0,children:["... ",h," lines collapsed ..."]},`collapse-${C}`);let T=VH(g.kind,c);return UH(v,{color:T,children:g.text||" "},C)})]})});tx.displayName="DiffHunk";function RE(e){switch(e){case W.Scheduled:return"\u25CB";case W.Validating:return"\u25D0";case W.AwaitingApproval:return"\u23F8";case W.Executing:return"\u25CF";case W.Success:return"\u2713";case W.Error:return"\u2717";case W.Cancelled:return"\u2298";default:return"?"}}i(RE,"getStatusIcon");function kE(e,t){switch(e){case W.Scheduled:case W.Validating:return t.colors.dim;case W.AwaitingApproval:return t.colors.accent;case W.Executing:return t.colors.primary;case W.Success:return t.colors.success??t.colors.primary;case W.Error:return t.colors.error;case W.Cancelled:return t.colors.dim;default:return t.colors.text}}i(kE,"getStatusColor");function XH(e,t){if(!t)return"";let n=t-e;return n<1e3?`${n}ms`:`${(n/1e3).toFixed(1)}s`}i(XH,"formatDuration");function YH(e){if(!e)return"";let t=JSON.stringify(e);return t.length<=50?t:t.slice(0,47)+"..."}i(YH,"formatInputSummary");var EE=i(({status:e,theme:t})=>{let n=t??tu(()=>se("dark"),[]),r=RE(e),o=kE(e,n);return Ct(v,{color:o,children:r})},"ToolStatusBadge"),nx=i(({progress:e,width:t=20,theme:n})=>{let r=n??tu(()=>se("dark"),[]),o=Math.max(0,Math.min(100,e)),s=Math.round(o/100*t),a=t-s,c="\u2588".repeat(s),l="\u2591".repeat(a);return Tn(k,{children:[Ct(v,{color:r.colors.primary,children:c}),Ct(v,{dimColor:!0,children:l}),Tn(v,{children:[" ",o,"%"]})]})},"ToolProgressBar"),rx=i(({tool:e,collapsed:t=!1,theme:n})=>{let r=n??tu(()=>se("dark"),[]),o=RE(e.status),s=kE(e.status,r),a=YH(e.input),c=XH(e.startTime,e.endTime);return t?Tn(k,{children:[Tn(v,{color:s,children:[o," "]}),Ct(v,{color:r.colors.text,children:e.name})]}):Tn(k,{flexDirection:"column",marginLeft:2,children:[Tn(k,{children:[Tn(v,{color:s,children:[o," "]}),Ct(v,{color:r.colors.text,bold:!0,children:e.name}),a&&Tn(v,{dimColor:!0,children:[" ",a]})]}),e.progress!==void 0&&e.status===W.Executing&&Ct(k,{marginLeft:2,children:Ct(nx,{progress:e.progress,theme:r})}),e.progressLines&&e.progressLines.length>0&&e.status===W.Executing&&Ct(k,{flexDirection:"column",marginLeft:2,children:e.progressLines.slice(-5).map((l,d)=>Ct(v,{dimColor:!0,children:l},d))}),e.error&&Ct(k,{marginLeft:2,children:Ct(v,{color:r.colors.error,children:e.error})}),e.status===W.Success&&typeof e.output=="string"&&e.output.length>0&&Ct(ME,{output:e.output,theme:r}),c&&e.status!==W.Executing&&Ct(k,{marginLeft:2,children:Tn(v,{dimColor:!0,children:["Completed in ",c]})})]})},"ToolCallDisplay"),ME=zH.memo(({output:e,theme:t})=>{if(!bE(e))return Ct(k,{marginLeft:2,children:Ct(v,{dimColor:!0,children:e})});let n=vE(e);return Ct(k,{flexDirection:"column",marginLeft:2,children:n.map((r,o)=>r.kind==="text"?Ct(v,{dimColor:!0,children:r.text},o):Ct(tx,{text:r.text,addedLines:r.addedLines,removedLines:r.removedLines,filePath:r.filePath,theme:t},o))})});ME.displayName="ToolOutputBlock";var AE=i(({tools:e,collapsed:t=!1,title:n,theme:r})=>{let o=r??tu(()=>se("dark"),[]);if(e.length===0)return null;let s=tu(()=>{let c={[W.Scheduled]:0,[W.Validating]:0,[W.AwaitingApproval]:0,[W.Executing]:0,[W.Success]:0,[W.Error]:0,[W.Cancelled]:0};for(let l of e)c[l.status]++;return c},[e]),a=n??"Tools";if(t){let c=s[W.Success],l=s[W.Error],d=s[W.Executing]+s[W.Scheduled]+s[W.Validating];return Ct(k,{flexDirection:"column",marginBottom:1,children:Tn(k,{children:[Ct(v,{color:o.colors.accent,bold:!0,children:a}),Tn(v,{dimColor:!0,children:[" ","(",e.length," tools",c>0&&`, ${c} succeeded`,l>0&&`, ${l} failed`,d>0&&`, ${d} running`,")"]})]})})}return Tn(k,{flexDirection:"column",marginBottom:1,children:[Tn(k,{children:[Ct(v,{color:o.colors.accent,bold:!0,children:a}),Tn(v,{dimColor:!0,children:[" ","(",e.length," ",e.length===1?"tool":"tools",")"]})]}),e.map(c=>Ct(rx,{tool:c,theme:o},c.id))]})},"ToolGroup");import{jsxs as _E,jsx as qH}from"react/jsx-runtime";var LE=i(({pendingInputs:e})=>{let t=Ab(e);if(!t)return null;let n=se("dark");return _E(k,{children:[_E(v,{color:n.colors.hint,children:["\u23F3"," "]}),qH(v,{color:n.colors.dim,children:t})]})},"PendingInputsIndicator");import*as PE from"child_process";var nu;function JH(){if(process.platform!=="win32")return null;if(nu!==void 0)return nu;try{nu=PE.execFileSync(process.env.ComSpec??"cmd.exe",["/d","/s","/c","chcp"],{encoding:"utf8",stdio:["ignore","pipe","ignore"],windowsHide:!0}).match(/(\d{3,5})/)?.[1]??null}catch{nu=null}return nu}i(JH,"detectWindowsCodePage");function ru(){let e=process.env;return!!(e.COLORTERM==="truecolor"||e.COLORTERM==="24bit"||e.TERM_PROGRAM==="iTerm.app"||e.WT_SESSION||e.TERM==="xterm-kitty"||e.TERM_PROGRAM==="vscode"||e.TERM_PROGRAM==="gnome-terminal")}i(ru,"supportsTrueColor");function ox(){if(ru())return!0;let e=process.env.TERM||"";return e.includes("256color")||e==="xterm-256color"||e==="screen-256color"||e==="tmux-256color"}i(ox,"supports256Colors");function Hr(){let e=process.env,t=e.LC_ALL||"",n=e.LC_CTYPE||"",r=e.LANG||"";if(t==="C"||t==="POSIX"||n==="C"||n==="POSIX"||r==="C"||r==="POSIX")return!1;let o=`${t}|${n}|${r}`.toLowerCase();return o.includes("utf-8")||o.includes("utf8")?!0:process.platform==="win32"?e.WT_SESSION||e.TERM_PROGRAM==="vscode"?!0:JH()==="65001":!0}i(Hr,"supportsUnicode");function ix(){let e=process.env;return!!(e.TERM_PROGRAM==="iTerm.app"||e.WT_SESSION||e.TERM==="xterm-kitty"||e.TERM_PROGRAM==="vscode"||e.TERM_PROGRAM==="Apple_Terminal"||e.TERM_PROGRAM==="gnome-terminal"||e.COLORTERM)}i(ix,"supportsEmoji");function sx(){if(process.stdout?.columns)return process.stdout.columns;let t=process.env.COLUMNS;if(t){let n=Number.parseInt(t,10);if(!Number.isNaN(n)&&n>0)return n}return 80}i(sx,"getTerminalWidth");function ax(){let e=process.env;return!!(e.NO_COLOR||e.TERM==="dumb"||e.CI)}i(ax,"isScreenReader");function QH(){return process.stdout?.isTTY??!1}i(QH,"isTTY");function $E(){return{trueColor:ru(),colors256:ox(),unicode:Hr(),emoji:ix(),tty:QH(),columns:sx(),screenReader:ax()}}i($E,"detectTerminalCapabilities");var Ya=class{static{i(this,"ConsoleCapturer")}captured=[];originalLog=null;start(){this.captured=[],this.originalLog=console.log,console.log=(...t)=>{let n=t.map(r=>typeof r=="string"?r:String(r)).join(" ");this.captured.push(n)}}stop(){return this.originalLog!==null&&(console.log=this.originalLog,this.originalLog=null),this.captured}getCaptured(){return[...this.captured]}clear(){this.captured=[]}};async function DE(e){let t=new Ya;t.start();try{let n=await e(),r=t.stop();return{result:n,captured:r}}finally{t.stop()}}i(DE,"withCapture");function OE(e){let t=new Ya;t.start();try{let n=e(),r=t.stop();return{result:n,captured:r}}finally{t.stop()}}i(OE,"withCaptureSync");import*as VE from"readline";import ce from"chalk";import $n from"chalk";var ZH=[{key:"y",label:"Yes",description:"Confirm the action",value:"yes"},{key:"n",label:"No",description:"Cancel the action",value:"no"}],eW=[{key:"y",label:"Yes",description:"Allow this once",value:"yes"},{key:"n",label:"No",description:"Cancel",value:"no"},{key:"a",label:"Always",description:"Always allow this kind of action",value:"always"}];function tW(e,t=!0){return e.map(n=>{let r=$n.dim(`[${n.key}]`);return t?`${r} ${$n.cyan(n.label)} ${$n.dim(`- ${n.description}`)}`:`${r} ${n.label}`}).join(" ")}i(tW,"formatOptions");function cx(){return process.stdout.columns??80}i(cx,"getTerminalWidth");function nW(){return Hr()}i(nW,"supportsUnicode");function rW(){let e=nW();return{success:e?"\u2713":"[OK]",error:e?"\u2717":"[X]",warning:e?"\u26A0":"[!]",info:e?"\u2139":"[i]",arrow:e?"\u2192":"->",bullet:e?"\u2022":"*",check:e?"\u2713":"[v]",cross:e?"\u2717":"[x]"}}i(rW,"getSymbols");async function oW(e,t){let{message:n,default:r,options:o,showDescription:s=!0}=t,a=o??ZH,c=tW(a,s);console.log(),console.log($n.cyan(`? ${n}`));let l=cx();if(c.length>l-4)for(let d of a){let f=$n.dim(` [${d.key}]`);console.log(`${f} ${$n.cyan(d.label)}`),s&&console.log($n.dim(` ${d.description}`))}else console.log($n.dim(` ${c}`));return new Promise(d=>{let f=r?` (${r})`:"";e.question($n.dim(` Choose${f}: `),p=>{let h=p.trim().toLowerCase()||r||"",g=a.find(C=>C.key===h||C.value===h||C.label.toLowerCase()===h);d(g?g.value:h===""?"no":h)})})}i(oW,"confirmEnhanced");async function qa(e,t,n,r){let{isOutsideProject:o=!1,isProtectedPath:s=!1,permissionMode:a="accept-edits",runtimeGrantSuggestions:c}=r??{},l=rW(),d,f,p={...n,...o?{_outsideProject:!0}:{},...s?{_alwaysConfirm:!0}:{}},h=Op(t,p),g=h.details.map(b=>` ${$n.dim(b)}`);o||s?(d=`${$n.yellow(l.warning)} Safety Warning`,g.length>0&&(d+=`
192
+ ${g.join(`
193
+ `)}`),f=[{key:"y",label:"Yes",description:"Allow this once",value:"yes"},{key:"n",label:"No",description:"Cancel",value:"no"}]):(d=h.title,g.length>0&&(d+=`
194
+ ${g.join(`
195
+ `)}`),c!==void 0&&(d+=`
196
+ ${$n.dim(Aa)}`,d+=`
197
+ ${c.map(b=>` ${$n.dim(`Runtime scope: ${b.label}`)}`).join(`
198
+ `)}`),c!==void 0?f=[{key:"y",label:"Once",description:"Allow this operation once",value:"yes"},...c.some(b=>b.kind==="session")?[{key:"s",label:"Session",description:"Allow this Runtime-issued scope for this session",value:"session"}]:[],...c.some(b=>b.kind==="persistent")?[{key:"a",label:"Always",description:"Always allow this Runtime-issued scope",value:"always"}]:[],{key:"n",label:"No",description:"Cancel",value:"no"}]:f=a==="accept-edits"?eW:[{key:"y",label:"Yes",description:"Confirm the action",value:"yes"},{key:"n",label:"No",description:"Cancel",value:"no"}]);let C=await oW(e,{message:d,default:"n",options:f});return C==="always"?c!==void 0?{confirmed:!0,runtimeGrantKind:"persistent"}:{confirmed:!0,always:!0}:C==="session"?{confirmed:!0,runtimeGrantKind:"session"}:{confirmed:C==="yes"}}i(qa,"confirmToolExecution");import xee from"chalk";function NE(){return{prompt:"\u276F",success:"\u2713",error:"\u2717",warning:"\u26A0",info:"\u2139",arrow:"\u2192",bullet:"\u2022",check:"\u2713",cross:"\u2717",spinner:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]}}i(NE,"getUnicodeSymbols");function lx(){return{prompt:">",success:"[OK]",error:"[X]",warning:"[!]",info:"[i]",arrow:"->",bullet:"*",check:"[v]",cross:"[x]",spinner:["|","/","-","\\","|","/","-","\\"]}}i(lx,"getAsciiSymbols");var BE={name:"dark",description:"Dark theme with vibrant colors",colors:{primary:"#00D7FF",secondary:"#9D9D9D",accent:"#FF6B6B",text:"#FFFFFF",dim:"#6B6B6B",success:"#4CAF50",warning:"#FF9800",error:"#F44336",info:"#2196F3"},symbols:Hr()?NE():lx(),spinner:{frames:Hr()?["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]:["|","/","-","\\","|","/","-","\\"],interval:80}},iW={name:"light",description:"Light theme for bright terminals",colors:{primary:"#0066CC",secondary:"#666666",accent:"#CC0000",text:"#000000",dim:"#999999",success:"#228B22",warning:"#CC7A00",error:"#CC0000",info:"#0066CC"},symbols:Hr()?NE():lx(),spinner:{frames:Hr()?["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]:["|","/","-","\\","|","/","-","\\"],interval:80}},sW={name:"minimal",description:"Minimal theme without colors (for CI or limited terminals)",colors:{primary:"",secondary:"",accent:"",text:"",dim:"",success:"",warning:"",error:"",info:""},symbols:lx(),spinner:{frames:[".","o","O","0","O","o"],interval:120}},aW={dark:BE,light:iW,minimal:sW},HE=BE;function Yi(){return HE}i(Yi,"getCurrentTheme");function ou(e){let t=aW[e];return t?(HE=t,!0):!1}i(ou,"setTheme");function cW(){if(!process.stdout.isTTY){ou("minimal");return}let e=process.env;if(e.WT_SESSION!==void 0||e.TERM_PROGRAM==="vscode"){ou("dark");return}ou("dark")}i(cW,"autoSelectTheme");cW();var om=class{static{i(this,"ReadlineUIContext")}rl;constructor(t){this.rl=t}async select(t,n){if(n.length!==0)return console.log(`
199
+ ${t}`),console.log("\u2500".repeat(t.length)),n.forEach((r,o)=>{console.log(` ${o+1}. ${r}`)}),console.log(" 0. Cancel"),console.log(""),new Promise(r=>{this.rl.question("Enter choice (0 to cancel): ",o=>{let s=o.trim();if(s==="0"||s===""){r(void 0);return}let a=parseInt(s,10)-1;if(isNaN(a)||a<0||a>=n.length){console.log("Invalid choice. Please try again."),r(void 0);return}r(n[a])})})}async confirm(t){return new Promise(n=>{this.rl.question(`${t} (y/N): `,r=>{let o=r.trim().toLowerCase();n(o==="y"||o==="yes")})})}async input(t,n){let r=n?`${t} [${n}]: `:`${t}: `;return new Promise(o=>{this.rl.question(r,s=>{let a=s.trim();if(a===""&&n!==void 0){o(n);return}o(a||void 0)})})}};import*as WE from"child_process";import*as su from"path";import*as iu from"fs";import*as FE from"os";import Wr from"chalk";function jE(e,t){let n=Yi(),r=e==="plan"?Wr.hex(n.colors.warning):Wr.hex(n.colors.success),o=t.model??br(t.provider)??t.provider,s=bo({provider:t.provider,model:t.model,effort:Bd(t),effortOverride:t.effortOverride,thinking:t.thinking,reasoningMode:t.reasoningMode}),a=cx();if(a<60){let l=e==="plan"?"?":n.symbols.prompt;return r(`${l} `)}if(a<100){let l=Wr.hex(n.colors.dim)(`[${s}]`);return r(`kodax:${e}${l}> `)}let c=Wr.hex(n.colors.info)(`[effort:${s}]`);return r(`kodax:${e} (${t.provider}:${o})${c}> `)}i(jE,"getPrompt");async function UE(e,t){let n=Yi(),r=[],o=await new Promise(s=>{e.question(t,s)});if(o===""||o.toLowerCase()==="/e")return ux(r.join(`
200
+ `));for(r.push(o);lW(r.join(`
201
+ `));){let s=Wr.hex(n.colors.dim)("... "),a=await new Promise(c=>{e.question(s,c)});r.push(a)}return r.join(`
202
+ `).replace(/\\\n/g,`
203
+ `)}i(UE,"askInput");async function ux(e){let t=su.join(FE.tmpdir(),"kodax"),n=su.join(t,`input-${Date.now()}-${Math.random().toString(36).slice(2)}.txt`);try{await iu.promises.mkdir(t,{recursive:!0}),await iu.promises.writeFile(n,e,"utf-8");let r=process.env.EDITOR??process.env.VISUAL??(process.platform==="win32"?"notepad.exe":"nano");if(r.includes("/")||r.includes("\\")||r.includes("&&")||r.includes("|")){let a=su.basename(r);console.log(Wr.yellow(`
204
+ [Security] Editor path sanitized: ${a}`)),r=a}console.log(Wr.dim(`
205
+ [Opening editor: ${r}]`));let o=process.platform==="win32"&&(r.toLowerCase()==="notepad"||r.toLowerCase()==="notepad.exe");return console.log(o?Wr.dim(`Note: Please close Notepad manually after editing to continue.
206
+ `):Wr.dim(`Save and close the editor to continue...
207
+ `)),WE.spawnSync(r,[n],{stdio:"inherit",timeout:3e5,shell:!1}),(await iu.promises.readFile(n,"utf-8")).trim()}catch(r){let o=r instanceof Error?r:new Error(String(r));return console.log(Wr.red(`
208
+ [Editor Error] ${o.message}`)),e}finally{try{await iu.promises.unlink(n)}catch{}}}i(ux,"openExternalEditor");function lW(e){if(e.endsWith("\\")&&!e.endsWith("\\\\"))return!0;let t={"(":0,"[":0,"{":0},n={")":"(","]":"[","}":"{"},r=null;for(let o=0;o<e.length;o++){let s=e[o];if(s!==void 0){if((s==='"'||s==="'"||s==="`")&&e[o-1]!=="\\"){r===s?r=null:r===null&&(r=s);continue}if(!r){if(s in t)t[s]+=1;else if(s in n){let a=n[s];a&&(t[a]-=1)}}}}return Object.values(t).some(o=>o>0)?!0:r!==null}i(lW,"needsContinuation");import qe from"chalk";function GE(e){e?.workspaceRoot&&(console.log(qe.dim(` Workspace: ${kr(e)}`)),console.log(qe.dim(` Use /status workspace for runtime details.
209
+ `)))}i(GE,"printWorkspaceEntryNotice");function KE(e,t,n,r){let o=Yi(),s=e.model??br(e.provider)??e.provider,a=bo({provider:e.provider,model:e.model,effort:Bd(e),effortOverride:e.effortOverride,thinking:e.thinking,reasoningMode:e.reasoningMode}),c=`
210
+ \u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2557
211
+ \u2588\u2588\u2551 \u2588\u2588\u2554\u255D \u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557 \u255A\u2588\u2588\u2557\u2588\u2588\u2554\u255D
212
+ \u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2554\u255D
213
+ \u2588\u2588\u2554\u2550\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2551 \u2588\u2588\u2554\u2588\u2588\u2557
214
+ \u2588\u2588\u2551 \u2588\u2588\u2557 \u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2554\u255D \u2588\u2588\u2557
215
+ \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D`,l=i(f=>qe.hex(f)(" \u258E "),"bar"),d=qe.hex(o.colors.dim)(" \xB7 ");if(console.log(qe.hex(o.colors.primary)(`
216
+ `+c)),console.log(""),console.log(l(o.colors.primary)+qe.hex(o.colors.primary)("AI Coding Agent \xB7 Minimalist & Intelligent")),console.log(l(o.colors.success)+qe.bold.hex(o.colors.text)(`v${Si}`)+d+qe.hex(o.colors.success)(`${e.provider}:${s}`)+d+qe.hex(o.colors.primary)(e.agentMode.toUpperCase())+qe.hex(o.colors.dim)(" / ")+qe.hex(o.colors.accent)(t)+qe.hex(o.colors.dim)(" \xB7 ")+qe.hex(o.colors.warning)(`effort:${a}`)),n){let f=Math.round(n.contextWindow/1e3),p=n.enabled?qe.hex(o.colors.success)("on"):qe.hex(o.colors.secondary)("off"),h=bl(n.contextWindow,n.triggerPercent);console.log(l(o.colors.accent)+qe.hex(o.colors.secondary)(`ctx ${f}k \xB7 compaction `)+p+qe.hex(o.colors.secondary)(` \xB7 ${h}`))}r&&console.log(l(o.colors.secondary)+qe.hex(o.colors.secondary)(`${r.length} project rule file(s) loaded \u2014 `)+qe.hex(o.colors.dim)("/reload to refresh")),console.log(""),console.log(qe.hex(o.colors.dim)(" Quick tips:")),console.log(qe.hex(o.colors.primary)(" /help ")+qe.hex(o.colors.dim)("Show all commands")),console.log(qe.hex(o.colors.primary)(" /mode ")+qe.hex(o.colors.dim)("Switch permission mode")),console.log(qe.hex(o.colors.primary)(" /clear ")+qe.hex(o.colors.dim)("Clear conversation")),console.log(qe.hex(o.colors.primary)(" @path ")+qe.hex(o.colors.dim)("Attach image to context")),console.log(qe.hex(o.colors.primary)(" !cmd ")+qe.hex(o.colors.dim)("Run read-only shell command")),console.log(qe.hex(o.colors.dim)(`
217
+ Keyboard: Tab (complete) | Esc+Esc (edit last) | Ctrl+T (reasoning) | Ctrl+E (editor) | Ctrl+R (history)
218
+ `))}i(KE,"printStartupBanner");async function uW(e){return(await xd(e)).getSystemPromptSnippet()}i(uW,"buildClassicCliSkillsPrompt");function dW(e,t){let n=yd(e);t.context={...t.context,skillsPrompt:n.getSystemPromptSnippet()}}i(dW,"syncClassicCliSkillsPrompt");var px=class{static{i(this,"MemorySessionStorage")}sessions=new Map;async save(t,n){let r=this.sessions.get(t),o=ft(n.messages,n.lineage??r?.data.lineage);this.sessions.set(t,{createdAt:r?.createdAt??new Date().toISOString(),data:{...structuredClone(n),scope:n.scope??r?.data.scope??"user",uiHistory:n.uiHistory??r?.data.uiHistory,extensionState:n.extensionState??r?.data.extensionState,extensionRecords:n.extensionRecords??r?.data.extensionRecords,tag:n.tag??r?.data.tag,lineage:o}})}async load(t){return structuredClone(this.sessions.get(t)?.data??null)}async getLineage(t){return structuredClone(this.sessions.get(t)?.data.lineage??null)}async setActiveEntry(t,n,r){let o=this.sessions.get(t);if(!o?.data.lineage)return null;let s=As(o.data.lineage,n,r);if(!s)return null;let a={...structuredClone(o.data),messages:Ft(s),lineage:s};return this.sessions.set(t,{...o,data:a}),structuredClone(a)}async setLabel(t,n,r){let o=this.sessions.get(t);if(!o?.data.lineage)return null;let s=_s(o.data.lineage,n,r);if(!s)return null;let a={...structuredClone(o.data),lineage:s};return this.sessions.set(t,{...o,data:a}),structuredClone(a)}async fork(t,n,r){let o=this.sessions.get(t);if(!o?.data.lineage)return null;let s=$s(o.data.lineage,n);if(!s)return null;let a=r?.sessionId??await Ms(),c={messages:Ft(s),title:r?.title??o.data.title,gitRoot:o.data.gitRoot,tag:o.data.tag,runtimeInfo:o.data.runtimeInfo?structuredClone(o.data.runtimeInfo):void 0,scope:o.data.scope??"user",extensionState:o.data.extensionState?structuredClone(o.data.extensionState):void 0,extensionRecords:o.data.extensionRecords?structuredClone(o.data.extensionRecords):void 0,lineage:s};return this.sessions.set(a,{createdAt:new Date().toISOString(),data:c}),{sessionId:a,data:structuredClone(c)}}async rewind(t,n){let r=this.sessions.get(t);if(!r?.data.lineage)return null;let o=n??Ls(r.data.lineage);if(!o)return null;let s=Ps(r.data.lineage,o);if(!s)return null;let a={...r.data,messages:Ft(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?yi(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 dx(e,t,n){e.runtimeInfo=n,e.gitRoot=n?.workspaceRoot??e.gitRoot,t.context={...t.context,gitRoot:e.gitRoot,executionCwd:n?.executionCwd??process.cwd()}}i(dx,"applyRuntimeContext");function im(e,t){let n=t.runtimeSessionSnapshot;n&&("extensionState"in n&&(e.extensionState=n.extensionState?structuredClone(n.extensionState):{},e.extensionStateDirty=!0),"extensionRecords"in n&&(e.extensionRecords=n.extensionRecords?.map(r=>({...r}))??[],e.extensionRecordsDirty=!0))}i(im,"applyRuntimeSessionSnapshot");function Zo(e){return{...e.extensionStateDirty?{extensionState:e.extensionState??{}}:{},...e.extensionRecordsDirty?{extensionRecords:e.extensionRecords??[]}:{}}}i(Zo,"contextExtensionSessionData");function Ja(e){e.extensionStateDirty=!1,e.extensionRecordsDirty=!1}i(Ja,"markExtensionSessionPersisted");function fW(e,t){return e.reasoningMode?e.reasoningMode:t.reasoningMode?t.reasoningMode:(e.thinking===!0||t.thinking===!0,"auto")}i(fW,"resolveInitialReasoningMode");var mx={current:null};async function zE(e){let t=await Rr({cwd:process.cwd()}),n=t.workspaceRoot??await to()??void 0,r=e.storage??new px,o=gd({meta:{cwd:process.cwd(),startedAt:Date.now()}}),s=Od(),a=Ws({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,configuredProvider:s.provider,defaultProvider:mi}),c=Fs({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,explicitModel:e.model,configuredProvider:s.provider,configuredModel:s.model}),l=fW(e,s),d=js({explicitEffort:e.effort,environmentEffort:process.env.KODAX_EFFORT,configuredEffort:s.effort}),f=Nd(e,s,process.env.KODAX_EFFORT),p=e.agentMode??s.agentMode??"ama",h=l!=="off",g=Bs(s.permissionMode,"accept-edits")??"accept-edits",C=Dd();g==="auto-in-project"&&C();let b=kd(),T=s.theme;T&&ou(T);let S=Yi(),w={provider:a,model:c,effort:d,effortOverride:f,planModeEffort:s.planModeEffort,thinking:h,reasoningMode:l,agentMode:p,permissionMode:g,repoIntelligenceMode:b.mode,repoIntelligenceTrace:b.trace,fallbackProviders:s.fallbackProviders},M=g,O=zs(),A=i(P=>wi({provider:P?.provider??w.provider,model:P?.model??w.model,effort:w.effort,effortOverride:w.effortOverride,permissionMode:P?.permissionMode??w.permissionMode,planModeEffort:w.planModeEffort,thinking:w.thinking,reasoningMode:w.reasoningMode}),"resolveCurrentRuntimeEffort"),N=0,X="",K=!1,q=500,x=await La({sessionId:e.session?.id,gitRoot:n,runtimeInfo:t});x.skillDynamicContext=e.skillDynamicContext,o?.writer.update({sessionId:x.sessionId});let Se=i(P=>Xo(w,P,(G,z,F)=>{console.log((G==="block"?ce.red:ce.yellow)(`
219
+ ${z}`));for(let ge of F)console.log(ce.dim(ge));console.log()}),"guardSessionTransition"),ee=await NT(n??void 0),{resolveProvider:H}=await import("./dist-5N3I2RTW.js"),E=H(w.provider),Z=ee.contextWindow??E.getEffectiveContextWindow?.(w.model)??E.getContextWindow?.()??2e5,{loadAgentsFiles:B}=await import("./dist-5N3I2RTW.js"),le=i(async()=>B({cwd:process.cwd(),projectRoot:x.gitRoot??void 0}),"reloadAgentsFiles"),ue=await le();if(KE(w,w.permissionMode,{contextWindow:Z,triggerPercent:ee.triggerPercent,enabled:ee.enabled},ue),GE(t),e.learning)try{let P=Fd(await e.learning.getSnapshot());P&&console.log(ce.yellow(`
220
+ ${P}
221
+ `))}catch(P){Dt({source:"repl:learning",level:"warn",message:"Failed to recover the Learning Center startup summary.",detail:P instanceof Error?P.message:String(P)})}let he=aC(()=>x.gitRoot??process.cwd()),Te=VE.createInterface({input:process.stdin,output:process.stdout,terminal:process.stdout.isTTY??!0,historySize:100,completer:i((P,G)=>{he(P).then(z=>{G(null,z)}).catch(()=>{G(null,[[],P])})},"completer")}),pe=i(async P=>{let G=await qa(Te,P.toolName,{...P.input,...P.reason!==void 0?{_reason:P.reason}:{},...P.executionCwd!==void 0?{_executionCwd:P.executionCwd}:{},...P.risk!==void 0?{_runtimeRisk:P.risk}:{}},{permissionMode:M,runtimeGrantSuggestions:P.grantSuggestions??[]});return Lp(P,G)},"requestRuntimePermission"),Ie=Vs(),Fe=_a(Ie);await e.runtimeAutoModeControl?.syncSettings?.(x.sessionId,M,Fe);let Q=await Pa({askUser:i(async(P,G,z)=>(await qa(Te,P.name,{...P.input,...z&&z.length>0?{_classifierSignals:z}:{}},{permissionMode:M,reason:`[auto-mode] ${G}`})).confirmed?"allow":"block","askUser"),projectRoot:n??process.cwd(),executionCwd:t.executionCwd??n??process.cwd(),getCurrentProviderName:i(()=>w.provider,"getCurrentProviderName"),getCurrentModel:i(()=>w.model,"getCurrentModel"),getCurrentPermissionMode:i(()=>M,"getCurrentPermissionMode"),autoModeSettings:Ie,log:i((P,G)=>{console.log(P==="warn"?ce.yellow(G):ce.dim(G))},"log"),extraCollectors:[Ks]}),de=Ld({getProvider:i(()=>H(w.provider),"getProvider"),getModel:i(()=>w.model??"","getModel")}),we=`
222
+ Keyboard Shortcuts:
223
+ Tab Auto-complete (@paths, /commands)
224
+ Esc+Esc Edit last message
225
+ Ctrl+T Cycle reasoning effort
226
+ Ctrl+E Open external editor
227
+ Ctrl+R Search command history (built-in)
228
+ Ctrl+C Cancel current input
229
+ Ctrl+D Exit REPL`,st=i(()=>{console.log(ce.dim(we))},"_printKeyboardShortcuts");process.stdin.isTTY&&process.stdin.on("keypress",(P,G)=>{if(G&&G.name==="escape"){let z=Date.now();z-N<q&&X&&(K=!0,console.log(ce.dim(`
230
+ [Opening editor with last message...]`)),Te.pause()),N=z}});let yt=await uW(n),je=!0,J={...e,provider:a,model:c,effort:A().runtimeEffort,agentMode:p,reasoningMode:l,thinking:h,workflowRunsBaseDir:ir("workflow-runs",Ci(process.cwd()).key),context:{...e.context,gitRoot:n,executionCwd:t.executionCwd,repoIntelligenceMode:b.mode,repoIntelligenceTrace:b.trace,skillsPrompt:yt},session:{...e.session,id:x.sessionId,persistedByHost:!0}},me=i(()=>{let P=A();J.effort=P.runtimeEffort},"refreshCurrentEffort");mx.current=null;let Me=i(async P=>{if(x.messages.length===0)return"empty";if(!Se("Recovering into a new session"))return"blocked";let G=x.sessionId,z=x.lineage??ft(x.messages);x.lineage=z;let F=x.artifactLedger?structuredClone(x.artifactLedger):void 0,ge=x.title||go(x.messages),ie=Rd({sourceSessionId:G,messages:x.messages,lineage:z,artifactLedger:F,reason:"provider session recovery"});await r.save(G,{messages:x.messages,title:ge,gitRoot:x.gitRoot??"",runtimeInfo:x.runtimeInfo,lineage:z,artifactLedger:F,uiHistory:x.uiHistory,...Zo(x),...J.session?.tag!==void 0?{tag:J.session.tag}:{}});let te=Gi(),L=ft(ie.messages);await r.save(te,{messages:ie.messages,title:ie.title,gitRoot:x.gitRoot??"",runtimeInfo:x.runtimeInfo,lineage:L,artifactLedger:F,...J.session?.tag!==void 0?{tag:J.session.tag}:{}});let ze=new Date().toISOString();x.sessionId=te,x.messages=ie.messages,x.title=ie.title,x.contextTokenSnapshot=void 0,x.lineage=L,x.artifactLedger=F,x.extensionState=void 0,x.extensionRecords=void 0,x.extensionStateDirty=!1,x.extensionRecordsDirty=!1,x.createdAt=ze,x.lastAccessed=ze,J.session={...J.session,id:te},o?.writer.update({sessionId:te}),console.log(ce.green(`
231
+ [Recovered session: ${te}]`)),console.log(ce.dim(` Source session saved: ${G}`)),console.log(ce.dim(" Raw provider history was not replayed."));let xt;try{xt=await fx(J,x,bd(P),x.messages,void 0,e.runtimeRunner,M,pe,Fe)}catch(Xn){let Mt=Xn instanceof Error?Xn.message:String(Xn);return console.log(ce.red(`
232
+ [Recover failed] ${Mt}`)),"failed"}x.messages=xt.messages,x.contextTokenSnapshot=xt.contextTokenSnapshot,im(x,xt),x.artifactLedger=Ds(x.artifactLedger??[],xt.artifactLedger??vd(xt.messages)),x.lineage=ft(x.messages,x.lineage);let St=go(x.messages);return x.title=St,await r.save(x.sessionId,{messages:x.messages,title:St,gitRoot:x.gitRoot??"",runtimeInfo:x.runtimeInfo,lineage:x.lineage,artifactLedger:x.artifactLedger,...Zo(x),...J.session?.tag!==void 0?{tag:J.session.tag}:{}}),Ja(x),"recovered"},"recoverCurrentSession"),xe={getRuntimeStatus:e.getRuntimeStatus,learning:e.learning,getLearningSummary:e.learning?()=>e.learning.getSnapshot():void 0,exit:i(()=>{je=!1,o?.shutdown(),Te.close()},"exit"),saveSession:i(async()=>{if(x.messages.length>0){let P=go(x.messages);x.title=P,await r.save(x.sessionId,{messages:x.messages,title:P,gitRoot:x.gitRoot??"",runtimeInfo:x.runtimeInfo,artifactLedger:x.artifactLedger,...Zo(x),...J.session?.tag!==void 0?{tag:J.session.tag}:{}}),Ja(x)}},"saveSession"),startNewSession:i(()=>{x.sessionId=Gi(),x.title="",x.contextTokenSnapshot=void 0,x.artifactLedger=void 0,x.extensionState=void 0,x.extensionRecords=void 0,x.extensionStateDirty=!1,x.extensionRecordsDirty=!1,x.createdAt=new Date().toISOString(),x.lastAccessed=x.createdAt,dx(x,J,t),J.session={...J.session,id:x.sessionId},o?.writer.update({sessionId:x.sessionId})},"startNewSession"),loadSession:i(async P=>{let G=await r.load(P);if(G){if(!Se("Resuming a saved session"))return"blocked";let z=await Rr({cwd:process.cwd()}),F=Fn(G),ge=F??z;return F?.workspaceRoot&&!Vd(F)?(console.log(ce.yellow(`
233
+ [Saved workspace unavailable]`)),console.log(ce.dim(` Session workspace: ${kr(F)}`)),console.log(ce.dim(` Falling back to current workspace: ${kr(z)}`)),ge=z):F?.workspaceRoot&&z.workspaceRoot&&F.workspaceRoot!==z.workspaceRoot&&(console.log(ce.cyan(`
234
+ [Loading sibling workspace session]`)),console.log(ce.dim(` Current workspace: ${kr(z)}`)),console.log(ce.dim(` Session workspace: ${kr(F)}`))),x.messages=G.messages,x.title=G.title,x.sessionId=P,x.contextTokenSnapshot=void 0,x.artifactLedger=G.artifactLedger,x.extensionState=G.extensionState?structuredClone(G.extensionState):void 0,x.extensionRecords=G.extensionRecords?.map(ie=>({...ie})),x.extensionStateDirty=!1,x.extensionRecordsDirty=!1,x.lastAccessed=new Date().toISOString(),dx(x,J,ge),J.session={...J.session,id:P,tag:G.tag},o?.writer.update({sessionId:P}),console.log(ce.green(`
235
+ [Loaded session: ${P}]`)),console.log(ce.dim(` Messages: ${G.messages.length}`)),x.runtimeInfo?.workspaceRoot&&console.log(ce.dim(` Workspace: ${kr(x.runtimeInfo)}`)),"loaded"}return"missing"},"loadSession"),listSessions:i(async()=>{let P=await r.list(x.gitRoot??void 0);if(P.length===0){console.log(ce.dim(`
236
+ [No saved sessions]`));return}console.log(ce.bold(`
237
+ Recent Sessions:
238
+ `)),x.runtimeInfo?.workspaceRoot&&(console.log(ce.dim(` Current workspace: ${kr(x.runtimeInfo)}`)),console.log());for(let G of P.slice(0,10))if(console.log(` ${ce.cyan(G.id)} ${ce.dim(`(${G.msgCount} messages)`)} ${G.title.slice(0,40)}`),G.runtimeInfo?.workspaceRoot){let F=x.runtimeInfo?.workspaceRoot===G.runtimeInfo.workspaceRoot?" (current workspace)":"";console.log(ce.dim(` workspace: ${kr(G.runtimeInfo)}${F}`))}console.log()},"listSessions"),clearHistory:i(()=>{x.messages=[],x.contextTokenSnapshot=void 0},"clearHistory"),printHistory:i(()=>{if(x.messages.length===0){console.log(ce.dim(`
239
+ [No conversation history]`));return}console.log(ce.bold(`
240
+ Conversation History:
241
+ `));let P=x.messages.slice(-20);for(let G=0;G<P.length;G++){let z=P[G],F=ce.cyan(z.role.padEnd(10)),ge=typeof z.content=="string"?z.content:"[Complex content]",ie=ge.slice(0,60).replace(/\n/g," "),te=ge.length>60?"...":"";console.log(` ${(G+1).toString().padStart(2)}. ${F} ${ie}${te}`)}console.log()},"printHistory"),switchProvider:i((P,G)=>{let z=A({provider:P,model:G});w.provider=P,w.model=G,J.provider=P,J.model=G,J.effort=z.runtimeEffort,z.diagnostic&&console.log(ce.yellow(`
242
+ [${z.diagnostic}]`))},"switchProvider"),setThinking:i(P=>{w.thinking=P,J.thinking=P,w.reasoningMode=P?"auto":"off",J.reasoningMode=w.reasoningMode},"setThinking"),setEffort:i(P=>{w.effort=P,w.effortOverride=P!==void 0,me()},"setEffort"),setReasoningMode:i(P=>{let G=P!=="off";w.reasoningMode=P,w.thinking=G,J.reasoningMode=P,J.thinking=G},"setReasoningMode"),setAgentMode:i(P=>{w.agentMode=P,J.agentMode=P},"setAgentMode"),setPermissionMode:i(async P=>{await e.runtimeAutoModeControl?.syncSettings?.(x.sessionId,P,Fe),w.permissionMode=P,M=P,me(),P==="auto-in-project"&&C()},"setPermissionMode"),setRepoIntelligenceRuntime:i(P=>{P.mode!==void 0&&(w.repoIntelligenceMode=P.mode,process.env.KODAX_REPO_INTELLIGENCE=P.mode,J.context={...J.context,repoIntelligenceMode:P.mode}),P.trace!==void 0&&(w.repoIntelligenceTrace=P.trace,P.trace?process.env.KODAX_REPO_INTELLIGENCE_TRACE="1":delete process.env.KODAX_REPO_INTELLIGENCE_TRACE,J.context={...J.context,repoIntelligenceTrace:P.trace})},"setRepoIntelligenceRuntime"),deleteSession:i(async P=>{await r.delete?.(P)},"deleteSession"),deleteAllSessions:i(async()=>{await r.deleteAll?.(x.gitRoot??void 0)},"deleteAllSessions"),printSessionTree:i(async()=>{let P=await r.getLineage?.(x.sessionId);if(!P){console.log(ce.dim(`
243
+ [No session tree available for this session]`));return}let G=Dp(Id(P));console.log(ce.bold(`
244
+ Session Tree:
245
+ `));for(let z of G)console.log(` ${z}`);console.log()},"printSessionTree"),switchSessionBranch:i(async P=>{if(!Se("Switching session branches"))return"blocked";let G=await r.setActiveEntry?.(x.sessionId,P,{summarizeCurrentBranch:!0});return G?(x.messages=G.messages,x.title=G.title,x.contextTokenSnapshot=void 0,console.log(ce.green(`
246
+ [Switched to tree entry: ${P}]`)),console.log(ce.dim(` Messages: ${G.messages.length}`)),"switched"):"missing"},"switchSessionBranch"),labelSessionBranch:i(async(P,G)=>{if(!await r.setLabel?.(x.sessionId,P,G))return!1;let F=G&&G.trim()?`checkpoint label set: ${G.trim()}`:"checkpoint label cleared";return console.log(ce.green(`
247
+ [${F}]`)),!0},"labelSessionBranch"),forkSession:i(async P=>{if(!Se("Forking a session branch"))return"blocked";let G=await r.fork?.(x.sessionId,P);return G?(x.sessionId=G.sessionId,x.messages=G.data.messages,x.title=G.data.title,x.contextTokenSnapshot=void 0,x.createdAt=new Date().toISOString(),x.lastAccessed=x.createdAt,dx(x,J,Fn(G.data)??x.runtimeInfo),J.session={...J.session,id:G.sessionId},console.log(ce.green(`
248
+ [Forked session: ${G.sessionId}]`)),console.log(ce.dim(` Messages: ${G.data.messages.length}`)),"forked"):"failed"},"forkSession"),recoverSession:Me,rewindSession:i(async P=>{if(!Se("Rewinding session"))return"blocked";let G=await r.rewind?.(x.sessionId,P);return G?(x.messages=G.messages,x.title=G.title,x.contextTokenSnapshot=void 0,x.lastAccessed=new Date().toISOString(),console.log(ce.green(`
249
+ [Rewound session${P?` to ${P}`:" to previous turn"}]`)),console.log(ce.dim(` Messages: ${G.messages.length}`)),"rewound"):"failed"},"rewindSession"),getCostReport:i(()=>mx.current?.()??null,"getCostReport"),getAutoModeStats:i(async()=>{if(Mn(M))return e.runtimeAutoModeControl?e.runtimeAutoModeControl.getStats(x.sessionId):Q.getGuardrail().getStats()},"getAutoModeStats"),setAutoModeEngine:i(async P=>{if(Mn(M)){if(e.runtimeAutoModeControl){await e.runtimeAutoModeControl.setEngine(x.sessionId,P);return}Q.getGuardrail().setEngine(P)}},"setAutoModeEngine"),createKodaXOptions:i(()=>{let P=i((z,F)=>M!=="plan"?null:Ro(z,F,n??process.cwd()),"planModeBlockCheck"),G=!e.runtimeRunner&&Mn(M)?[Q.getGuardrail()]:void 0;return{...J,provider:w.provider,model:w.model,effort:A().runtimeEffort,thinking:w.thinking,reasoningMode:w.reasoningMode,guardrails:G,context:{...J.context,planModeBlockCheck:P},events:{...J.events,onMemoryOutcomeDigest:i(z=>{x.lineage=Sd(x.lineage??ft(x.messages),z),J.events?.onMemoryOutcomeDigest?.(z)},"onMemoryOutcomeDigest"),onMemoryReviewReceipt:i(z=>{x.lineage=wd(x.lineage??ft(x.messages),z),J.events?.onMemoryReviewReceipt?.(z)},"onMemoryReviewReceipt"),onMemoryNotice:i(z=>{x.lineage=Td(x.lineage??ft(x.messages),{...z,createdAt:new Date().toISOString()}),console.log(ce.dim(`
250
+ [memory] ${z.summaries.slice(0,3).join("; ")}`)),J.events?.onMemoryNotice?.(z)},"onMemoryNotice"),exitPlanMode:i(async z=>M!=="plan"?"not-in-plan-mode":(await qa(Te,"exit_plan_mode",{plan:z},{isProtectedPath:!1,permissionMode:M})).confirmed?(w.permissionMode="accept-edits",M="accept-edits",me(),!0):!1,"exitPlanMode"),beforeToolExecute:i(async(z,F)=>{let ge=M,ie=Ns(ge);if(ge==="plan"){let te=Ro(z,F,n??process.cwd());if(te)return console.log(ce.yellow(te)),`${te} Do not modify files while planning. Finish the plan first, then call exit_plan_mode with the finalized plan \u2014 the user will review and approve or reject.`}if(z==="bash"){let te=F.command??"";if(no(te))return!0}if(n&&Zr.has(z)){let te=F.path;if(te&&Gs(te,n))return(await qa(Te,z,F,{isProtectedPath:!0,permissionMode:ge})).confirmed?!0:(console.log(ce.dim("[Cancelled] Operation on protected path requires confirmation")),!1)}if(ie.has(z)){if(ge==="accept-edits"&&z==="bash"&&await Us(z,F,O,de))return!0;let te=await qa(Te,z,F,{isOutsideProject:F._outsideProject===!0,reason:F._reason,permissionMode:ge});if(!te.confirmed)return console.log(ce.dim("[Cancelled] Operation cancelled by user")),!1;te.always&&ge==="accept-edits"&&(Wd(z,F,!1),O=zs())}return!0},"beforeToolExecute")}}},"createKodaXOptions"),reloadAgentsFiles:i(async()=>(ue=await le(),ue),"reloadAgentsFiles"),readline:Te,ui:new om(Te)},Be=i(async P=>{x.uiHistory=[...x.uiHistory??[],P];let G=x.title||go(x.messages);x.title=G,await r.save(x.sessionId,{messages:x.messages,title:G,gitRoot:x.gitRoot??"",runtimeInfo:x.runtimeInfo,lineage:x.lineage,artifactLedger:x.artifactLedger,uiHistory:x.uiHistory,...Zo(x),...J.session?.tag!==void 0?{tag:J.session.tag}:{}})},"appendPersistedUiHistoryItem"),ut=i(async(P,G)=>{if(!qd({error:P,messageCount:x.messages.length}))return!1;console.log(ce.dim(`
251
+ ${Kc}`));try{await Be({type:"info",text:Kc})}catch(ie){let te=ie instanceof Error?ie.message:String(ie);console.log(ce.dim(`Could not persist recovery hint: ${te}`))}let z=UT(xe);if(!z)return console.log(),!1;if(!await z(Yd))return!1;let ge;try{ge=await xe.recoverSession?.(G)}catch(ie){let te=ie instanceof Error?ie.message:String(ie);return console.log(ce.red(`
252
+ [Recover failed] ${te}`)),!1}return ge==="failed"&&console.log(ce.dim(`Recovery session was created, but the continuation request still failed.
253
+ `)),ge==="recovered"},"maybeRecoverAfterProviderError");Te.on("SIGINT",async()=>{console.log(ce.dim(`
254
+
255
+ [Press /exit to quit]`)),Te.prompt()});let sn=i(()=>{o?.shutdown(),Te.close()},"cleanup");process.on("exit",sn),process.on("SIGTERM",sn);let Ve=i(async(P,G)=>{if(Ad({source:P.source}).action==="none")return!1;let F=!1,ge=i(L=>{F||(F=!0,x.messages.push({role:"user",content:G||P.request,timestamp:new Date().toISOString()})),x.messages.push({role:"assistant",content:L,timestamp:new Date().toISOString()});let ze=go(x.messages);x.title=ze,r.save(x.sessionId,{messages:x.messages,title:ze,gitRoot:x.gitRoot??"",runtimeInfo:x.runtimeInfo,artifactLedger:x.artifactLedger,...J.session?.tag!==void 0?{tag:J.session.tag}:{}}).catch(xt=>{let St=xt instanceof Error?xt.message:String(xt);console.log(ce.red(`
256
+ [workflow] failed to save final answer: ${St}
257
+ `))})},"commitWorkflowFinal"),ie={...xe,onWorkflowRunMessage:i(L=>{if(L.type==="event")return;let ze=L.text.trimEnd();if(ze.trim()){if(L.type==="error"){console.log(ce.red(`
258
+ ${ze}
259
+ `));return}if(L.type==="success"){console.log(ce.green(`
260
+ ${ze}
261
+ `));return}if(L.type==="assistant"){console.log(`
262
+ ${ze}
263
+ `),L.final===!0&&ge(ze);return}console.log(ce.dim(`
264
+ ${ze}
265
+ `))}},"onWorkflowRunMessage")},te=await Xd({request:P.request,callbacks:ie,approval:w.permissionMode==="plan"?"required":"silent",presentation:"agentic",sourceLabel:P.displayName,processSource:P.processSource??"command",...P.builtin!==void 0?{builtin:P.builtin}:{}});return _d({outcome:te})},"startWorkflowInvocation"),Et=i(async(P,G)=>{if(!P||typeof P!="object")return;if(P.workflow){await Ve(P.workflow,G);return}if(!P.invocation)return;let z=await Wp({...J,provider:w.provider,thinking:w.thinking,reasoningMode:w.reasoningMode},P.invocation,G,F=>console.log(ce.dim(`
266
+ ${F}`)));if(z.mode==="manual"){z.manualOutput&&console.log(ce.yellow(`
267
+ ${z.manualOutput}
268
+ `)),await z.finalize();return}if(!z.prompt||!z.options){await z.finalize();return}try{let F=z.mode==="fork"?[]:x.messages,ge=await fx(z.options,x,z.prompt,F,void 0,e.runtimeRunner,M,pe,Fe);if(z.mode==="fork"){let ie=HT(ge.messages);ie.trim()&&(console.log(`
269
+ ${ie}
270
+ `),x.messages.push({role:"assistant",content:ie,timestamp:new Date().toISOString()}))}else x.messages=ge.messages,x.contextTokenSnapshot=ge.contextTokenSnapshot;if(im(x,ge),x.messages.length>0){let ie=go(x.messages);x.title=ie,await r.save(x.sessionId,{messages:x.messages,title:ie,gitRoot:x.gitRoot??"",runtimeInfo:x.runtimeInfo,...Zo(x),...J.session?.tag!==void 0?{tag:J.session.tag}:{}}),Ja(x)}await z.finalize()}catch(F){throw await z.finalize(F instanceof Error?F:new Error(String(F))),F}},"handleCommandResult");for(;je;){if(K&&X){K=!1,Te.resume();let te=await ux(X);if(te&&te.trim()&&te!==X){console.log(ce.dim(`
271
+ [Edited message ready to send]`));let L=te.trim();dr(x);let ze=Ii(L);if(ze){let Mt=await vi(ze,x,xe,w);await Et(Mt,L);continue}let xt=await sm(L);if(L.startsWith("!")&&Fl(xt))continue;let St=Ha(xt,J.context?.executionCwd??process.cwd());for(let Mt of St.warnings)console.log(ce.yellow(`
272
+ ${Mt}`));x.messages.push({role:"user",content:St.messageContent}),X=L;let Xn=x.lineage?Yw({getLineage:i(()=>x.lineage,"getLineage"),setLineage:i(Mt=>{x.lineage=Mt},"setLineage"),saveSession:i(async()=>{await r.save(x.sessionId,{messages:x.messages,title:x.title??go(x.messages),gitRoot:x.gitRoot??"",runtimeInfo:x.runtimeInfo,artifactLedger:x.artifactLedger,lineage:x.lineage,...Zo(x),...J.session?.tag!==void 0?{tag:J.session.tag}:{}}),Ja(x)},"saveSession"),getLatestUsage:i(()=>{},"getLatestUsage"),getTurnStartMs:i(()=>{},"getTurnStartMs"),getPermissionMode:i(()=>M,"getPermissionMode"),hasPendingUserInput:i(()=>Wn().has({agentId:hd(x.sessionId,"/root"),maxPriority:"user",mode:"prompt"}),"hasPendingUserInput"),verifyComplete:i(async()=>({ok:!0}),"verifyComplete")}):void 0;try{let Mt=await Fc({...J,provider:w.provider,thinking:w.thinking,reasoningMode:w.reasoningMode,session:{...J.session,initialMessages:x.lineage?Ft(x.lineage,x.lineage.activeEntryId):x.messages,initialExtensionState:x.extensionState??{},initialExtensionRecords:x.extensionRecords??[]},context:{...J.context,taskSurface:"repl",planModeBlockCheck:i((Cn,du)=>M!=="plan"?null:Ro(Cn,du,n??process.cwd()),"planModeBlockCheck"),...St.inputArtifacts.length>0?{inputArtifacts:St.inputArtifacts}:{},...Xn?{goalRuntime:Xn}:{}}},xt);if(x.messages=Mt.messages,x.contextTokenSnapshot=Mt.contextTokenSnapshot,im(x,Mt),x.artifactLedger=Ds(x.artifactLedger??[],Mt.artifactLedger??vd(Mt.messages)),x.messages.length>0){let Cn=go(x.messages);x.title=Cn,await r.save(x.sessionId,{messages:x.messages,title:Cn,gitRoot:x.gitRoot??"",runtimeInfo:x.runtimeInfo,artifactLedger:x.artifactLedger,...Zo(x),...J.session?.tag!==void 0?{tag:J.session.tag}:{}}),Ja(x)}}catch(Mt){let Cn=Mt instanceof Error?Mt:new Error(String(Mt));if(x.messages.pop(),console.log(ce.red(`
273
+ [Error] ${Cn.message}`)),await ut(Cn,xt))continue}continue}else te===X&&console.log(ce.dim(`
274
+ [No changes made, continuing...]`))}let P=jE(w.permissionMode,w),G=await UE(Te,P);if(!je)break;let z=G.trim();if(!z)continue;dr(x);let F=Ii(z);if(F){let te=await vi(F,x,xe,w);await Et(te,z);continue}let ge=await sm(z);if(z.startsWith("!")&&Fl(ge))continue;let ie=Ha(ge,J.context?.executionCwd??process.cwd());for(let te of ie.warnings)console.log(ce.yellow(`
275
+ ${te}`));x.messages.push({role:"user",content:ie.messageContent}),X=z;try{let te=await fx(J,x,ge,x.messages,ie.inputArtifacts,e.runtimeRunner,M,pe,Fe);if(x.messages=te.messages,x.contextTokenSnapshot=te.contextTokenSnapshot,im(x,te),x.artifactLedger=Ds(x.artifactLedger??[],te.artifactLedger??vd(te.messages)),x.messages.length>0){let L=go(x.messages);x.title=L,await r.save(x.sessionId,{messages:x.messages,title:L,gitRoot:x.gitRoot??"",runtimeInfo:x.runtimeInfo,artifactLedger:x.artifactLedger,...Zo(x),...J.session?.tag!==void 0?{tag:J.session.tag}:{}}),Ja(x)}}catch(te){let L=te instanceof Error?te:new Error(String(te));x.messages.pop(),L.message.includes("rate limit")||L.message.includes("Rate limit")?(console.log(ce.yellow(`
276
+ [Rate Limit] ${L.message}`)),console.log(ce.dim(`Suggestion: Wait a moment and try again, or switch provider with /mode
277
+ `))):L.message.includes("API key")||L.message.includes("not configured")?(console.log(ce.red(`
278
+ [Configuration Error] ${L.message}`)),console.log(ce.dim(`Suggestion: Set the required API key environment variable
279
+ `))):L.message.includes("network")||L.message.includes("ECONNREFUSED")||L.message.includes("ETIMEDOUT")?(console.log(ce.red(`
280
+ [Network Error] ${L.message}`)),console.log(ce.dim(`Suggestion: Check your internet connection and try again
281
+ `))):L.message.includes("token")||L.message.includes("context too long")?(console.log(ce.yellow(`
282
+ [Context Error] ${L.message}`)),console.log(ce.dim(`Suggestion: Use /clear to start a fresh conversation
283
+ `))):(console.log(ce.red(`
284
+ [Error] ${L.message}`)),console.log(ce.dim(`Your message was not sent. Please try again.
285
+ `))),await ut(L,ge)}}}i(zE,"runInteractiveMode");async function sm(e){let t=e.match(/@[\w./-]+/g);if(t)for(let n of t){let r=n.slice(1)}if(e.startsWith("!")){let n=e.slice(1).trim();return Wl(n,{cwd:process.cwd()})}return e}i(sm,"processSpecialSyntax");function pW(e){let t=e.snapshot;if(e.type==="workflow_started")return ce.dim(`
286
+ \u25B6 workflow ${t.workflowName} started (${t.runId})`);if(e.type==="workflow_finished"){let n=t.status==="completed"?ce.green("\u2713"):t.status==="failed"?ce.red("\u2717"):ce.yellow("\u2022"),r=t.resultSummary?` \u2014 ${t.resultSummary.split(`
287
+ `)[0]}`:"";return`${n} workflow ${t.workflowName} ${t.status}${r}`}if(e.type==="workflow_updated"&&e.message)return ce.dim(` ${e.message}`)}i(pW,"renderInlineWorkflowProcessLine");async function fx(e,t,n,r=t.messages,o,s,a="accept-edits",c,l){let d={...e.events??{},getCostReport:mx,onWorkflowProcessEvent:i(p=>{let h=pW(p);h&&console.log(h)},"onWorkflowProcessEvent"),onWorkflowAgentDigest:i(({runId:p,event:h})=>{let g=h.data??{},C=typeof g.summary=="string"?g.summary:void 0,b=typeof g.name=="string"?g.name:void 0,T=Gc(C,b),S=zd(h,T,p);S&&console.log(`
288
+ ${S}
289
+ `)},"onWorkflowAgentDigest")};dW(t.gitRoot,e);let f={...e,events:d,session:{...e.session,initialExtensionState:t.extensionState??{},initialExtensionRecords:t.extensionRecords??[],initialMessages:r},context:{...e.context,contextTokenSnapshot:t.contextTokenSnapshot,taskSurface:"repl",...o&&o.length>0?{inputArtifacts:[...o]}:{}}};return s?s({options:f,prompt:n,sessionId:t.sessionId,permissionMode:a,...l!==void 0?{autoModeSettings:l}:{},...c!==void 0?{requestPermission:c}:{},legacyPermissionHook:!0}):Fc(f,n)}i(fx,"runAgentRound");function go(e){return Eo(e)}i(go,"extractTitle");import am from"node:fs";import mW from"node:path";function XE(){let e=lm();return um(e).map(n=>cm(n))}i(XE,"listCustomProviders");function YE(e){if(typeof e!="string"||e.length===0)return;let t=um(lm()).find(n=>n.name===e);return t?cm(t):void 0}i(YE,"getCustomProviderConfig");function qE(e){Hc(e);let t=cm(e),n=lm(),r=um(n),o=r.findIndex(a=>a.name===t.name),s=o>=0?r.map((a,c)=>c===o?t:a):[...r,t];return ZE({...n,customProviders:s}),ch(s),cm(t)}i(qE,"upsertCustomProvider");function JE(e){if(typeof e!="string"||e.length===0)return!1;let t=lm(),n=um(t),r=n.filter(o=>o.name!==e);return r.length===n.length?!1:(ZE({...t,customProviders:r}),ch(r),!0)}i(JE,"removeCustomProvider");function QE(){return ir("config.json")}i(QE,"configFilePath");function lm(){let e=QE();if(!am.existsSync(e))return{};try{let t=JSON.parse(am.readFileSync(e,"utf-8"));return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{return{}}}i(lm,"readWholeConfig");function ZE(e){let t=QE();am.mkdirSync(mW.dirname(t),{recursive:!0}),am.writeFileSync(t,JSON.stringify(e,null,2),"utf-8")}i(ZE,"writeWholeConfig");function um(e){let t=e.customProviders;return Array.isArray(t)?t:[]}i(um,"extractCustomProviders");function cm(e){return structuredClone(e)}i(cm,"cloneCustomProvider");import{createHash as hW,randomUUID as gW}from"node:crypto";import Qa from"node:fs";import eM from"node:path";var cu=class extends Error{static{i(this,"ProviderSetupConfigConflictError")}constructor(t){super(`KodaX configuration changed while setup was open: ${t}. Re-run \`kodax setup\`.`),this.name="ProviderSetupConfigConflictError"}},ei=class extends Error{static{i(this,"ProviderSetupInvalidConfigError")}constructor(t,n){super(`KodaX configuration cannot be safely updated: ${t}. ${n}`),this.name="ProviderSetupInvalidConfigError"}},oM=/^[A-Za-z_][A-Za-z0-9_]*$/,yW=new Set(["accesskey","apikey","accesstoken","auth","authorization","bearertoken","clientsecret","credential","key","password","privatekey","refreshtoken","secret","sig","signature","token","xapikey"]);function Za(){return Object.entries(ah).filter(([,e])=>e.capabilityProfile.transport!=="cli-bridge").map(([e,t])=>({name:e,apiKeyEnv:t.apiKeyEnv,defaultModel:t.model,models:[...new Set(t.models?[t.model,...t.models.map(n=>n.id)]:[t.model])]})).sort((e,t)=>e.name===mi?-1:t.name===mi?1:e.name.localeCompare(t.name))}i(Za,"getProviderSetupCatalog");function fm(e={}){let t=e.configPath??ir("config.json"),n=e.catalog??Za(),r=e.environment??process.env,o=cM(t);if(!o.config)return{status:"invalid-config",configPath:t,configRevision:o.revision,reason:o.error??"config.json is not a JSON object."};let s=sM(o.config);if(s)return{status:"invalid-config",configPath:t,configRevision:o.revision,reason:s};let a=nM(e.explicitProvider);if(a){let l=rM(o.config,a,n);return l&&(!l.requiresCredential||dm(r,l.apiKeyEnv))?hx(t,o.revision,a):tM(t,o.revision,a,l?.apiKeyEnv)}let c=nM(o.config.provider);if(c){let l=rM(o.config,c,n);return l?!l.requiresCredential||dm(r,l.apiKeyEnv)?hx(t,o.revision,c):tM(t,o.revision,c,l.apiKeyEnv):{status:"invalid-config",configPath:t,configRevision:o.revision,reason:`provider "${c}" is not a valid built-in or custom provider.`}}return n.some(l=>dm(r,l.apiKeyEnv))||SW(o.config,r)?hx(t,o.revision):{status:"needs-provider",configPath:t,configRevision:o.revision}}i(fm,"inspectProviderSetupReadiness");function pm(e){let t=e.configPath??ir("config.json"),n=e.catalog??Za(),r=cM(t);if(!r.config)throw new ei(t,r.error??"config.json is invalid JSON.");if(r.revision!==e.expectedRevision)throw new cu(t);xW(r.config,t);let o=TW(e.choice,n,r.config),s={...r.config,provider:o.provider,model:o.model,...o.customProviders?{customProviders:o.customProviders}:{}};return CW(t,s),{provider:o.provider,model:o.model,apiKeyEnv:o.apiKeyEnv,configPath:t}}i(pm,"persistProviderSetupChoice");function iM(e){return[(e.platform??process.platform)==="win32"?`Set the user environment variable "${e.apiKeyEnv}" in Windows Environment Variables.`:`Set the environment variable "${e.apiKeyEnv}" in your shell profile.`,"Close and restart this terminal so the environment is refreshed.","Then run `kodax` again.","Optional: run `kodax doctor` to verify local configuration without an LLM request."]}i(iM,"providerSetupRestartInstructions");function hx(e,t,n){return{status:"ready",configPath:e,configRevision:t,...n?{provider:n}:{}}}i(hx,"ready");function tM(e,t,n,r){return{status:"needs-credential",configPath:e,configRevision:t,provider:n,...r?{apiKeyEnv:r}:{}}}i(tM,"needsCredential");function nM(e){return typeof e=="string"&&e.trim()?e.trim():void 0}i(nM,"normalizedString");function dm(e,t){return t!==void 0&&!!e[t]?.trim()}i(dm,"hasEnvironmentValue");function rM(e,t,n){let r=n.find(a=>a.name===t);if(r)return{apiKeyEnv:r.apiKeyEnv,requiresCredential:!0};if(Object.entries(ah).find(([a])=>a===t)?.[1]?.capabilityProfile.transport==="cli-bridge")return{requiresCredential:!1};let s=wW(e,t);return s?{apiKeyEnv:s.apiKeyEnv,requiresCredential:!0}:void 0}i(rM,"resolveConfiguredProvider");function xW(e,t){let n=sM(e);if(n)throw new ei(t,n)}i(xW,"assertCustomProvidersPreservable");function sM(e){let t=e.customProviders;if(t===void 0)return;if(!Array.isArray(t))return"Existing customProviders must be an array; repair it before running setup.";let n=new Set;for(let r of t){let o=mm(r);if(!o)return"Existing customProviders contains an invalid entry; repair it before running setup.";let s=aM(o.baseUrl);if(s)return`Existing customProviders entry "${o.name}" is unsafe: ${s}`;if(n.has(o.name))return`Existing customProviders contains duplicate name "${o.name}"; repair it before running setup.`;n.add(o.name)}}i(sM,"existingCustomProvidersError");function SW(e,t){let n=e.customProviders;return Array.isArray(n)?n.some(r=>{let o=mm(r);return o!==void 0&&dm(t,o.apiKeyEnv)}):!1}i(SW,"hasCustomProviderCredential");function wW(e,t){let n=e.customProviders;if(Array.isArray(n))for(let r of n){let o=mm(r);if(o?.name===t)return o}}i(wW,"findValidCustomProvider");function mm(e){if(!lM(e))return;let{name:t,protocol:n,baseUrl:r,apiKeyEnv:o,model:s}=e;if(typeof t!="string"||n!=="openai"&&n!=="anthropic"||typeof r!="string"||typeof o!="string"||typeof s!="string")return;let a={...e,name:t,protocol:n,baseUrl:r,apiKeyEnv:o,model:s};try{return Hc(a),oM.test(a.apiKeyEnv)?a:void 0}catch{return}}i(mm,"toValidCustomProvider");function TW(e,t,n){if(e.kind==="builtin"){let l=t.find(d=>d.name===e.provider);if(!l||!l.models.includes(e.model))throw new Error("Choose a supported built-in provider and model.");return{provider:l.name,model:e.model,apiKeyEnv:l.apiKeyEnv}}let r=gx(e.provider);if(t.some(l=>l.name===r.name))throw new Error(`Custom provider name "${r.name}" conflicts with a built-in provider.`);let o=n.customProviders,s=Array.isArray(o)?o.flatMap(l=>{let d=mm(l);return d?[d]:[]}):[],c=s.find(l=>l.name===r.name)?s.map(l=>l.name===r.name?r:l):[...s,r];return{provider:r.name,model:r.model,apiKeyEnv:r.apiKeyEnv,customProviders:c}}i(TW,"normalizeProviderSetupChoice");function gx(e){let t={name:e.name.trim(),protocol:e.protocol,baseUrl:e.baseUrl.trim(),apiKeyEnv:e.apiKeyEnv.trim(),model:e.model.trim()},n=aM(t.baseUrl);if(n)throw new Error(n);if(Hc(t),!oM.test(t.apiKeyEnv))throw new Error("Custom provider API key environment variable name is invalid.");return t}i(gx,"validateProviderSetupCustomMetadata");function aM(e){let t;try{t=new URL(e)}catch{return"Custom provider Base URL must be a valid absolute URL."}if(t.protocol!=="https:"&&t.protocol!=="http:")return"Custom provider Base URL must use http or https.";if(t.username||t.password)return"Custom provider Base URL must not contain credentials.";let n=[...t.searchParams.keys()].find(r=>yW.has(r.toLowerCase().replace(/[-_.]/g,"")));return n===void 0?void 0:`Custom provider Base URL must not contain credential query parameter "${n}".`}i(aM,"customProviderEndpointError");function cM(e){if(!Qa.existsSync(e))return{configPath:e,revision:au(void 0),config:{}};let t;try{t=Qa.readFileSync(e,"utf8")}catch(n){return{configPath:e,revision:au(void 0),error:n instanceof Error?n.message:"config.json cannot be read."}}try{let n=JSON.parse(t);return lM(n)?{configPath:e,revision:au(t),config:n}:{configPath:e,revision:au(t),error:"config.json must contain a JSON object."}}catch(n){return{configPath:e,revision:au(t),error:n instanceof Error?n.message:"config.json is invalid JSON."}}}i(cM,"readConfig");function au(e){return hW("sha256").update(e??"<missing>","utf8").digest("hex")}i(au,"revisionFor");function lM(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}i(lM,"isRecord");function CW(e,t){let n=eM.dirname(e);Qa.mkdirSync(n,{recursive:!0});let r=eM.join(n,`.config.${process.pid}.${gW()}.tmp`);try{Qa.writeFileSync(r,`${JSON.stringify(t,null,2)}
290
+ `,{encoding:"utf8",mode:384}),Qa.renameSync(r,e)}catch(o){throw Qa.rmSync(r,{force:!0}),o}}i(CW,"writeConfigAtomically");import*as uM from"node:readline";import yx from"chalk";async function dM(e={}){let t=e.catalog??Za(),n=fm({...e.configPath?{configPath:e.configPath}:{},catalog:t});if(n.status==="invalid-config")throw new ei(n.configPath,n.reason);if(t.length===0)throw new Error("No built-in API providers are available for setup.");let r=e.interaction===void 0,o=e.interaction??RW({input:e.input??process.stdin,output:e.output??process.stdout});try{let s=await o.choose("Choose a provider. KodaX will save metadata only and will never ask for an API key.",[...t.map(d=>({value:`builtin:${d.name}`,label:`${d.name} \u2014 ${d.defaultModel} (set ${d.apiKeyEnv})`})),{value:"custom",label:"Custom OpenAI/Anthropic-compatible provider"},{value:"cancel",label:"Cancel"}]);if(!s||s==="cancel")return{status:"cancelled"};let a=s==="custom"?await vW(o):await IW(o,t,s.slice(8));if(!a)return{status:"cancelled"};let c=bW(a,t);return await o.confirm(`Save ${c}? No credential value will be written.`)?{status:"configured",selection:pm({configPath:n.configPath,expectedRevision:n.configRevision,catalog:t,choice:a})}:{status:"cancelled"}}finally{r&&o.close?.()}}i(dM,"runProviderSetupWizard");async function IW(e,t,n){let r=t.find(a=>a.name===n);if(!r)throw new Error(`Unknown setup provider: ${n}`);let o=[...new Set(r.models)],s=await e.choose(`Choose a model for ${r.name}.`,o.map(a=>({value:a,label:a===r.defaultModel?`${a} (default)`:a})));return s?{kind:"builtin",provider:r.name,model:s}:void 0}i(IW,"collectBuiltinChoice");async function vW(e){let t=await hm(e,"Custom provider name");if(!t)return;let n=await e.choose("Protocol family",[{value:"openai",label:"OpenAI-compatible"},{value:"anthropic",label:"Anthropic-compatible"}]);if(n!=="openai"&&n!=="anthropic")return;let r=await hm(e,"Base URL, for example https://example.com/v1");if(!r)return;let o=await hm(e,"Environment-variable name that will hold the API key");if(!o)return;let s=await hm(e,"Model identifier");if(s)return{kind:"custom",provider:gx({name:t,protocol:n,baseUrl:r,apiKeyEnv:o,model:s})}}i(vW,"collectCustomChoice");async function hm(e,t){let r=(await e.text(t))?.trim();return r||void 0}i(hm,"requiredText");function bW(e,t){if(e.kind==="custom"){let r=e.provider;return`provider=${r.name}, protocol=${r.protocol}, baseUrl=${r.baseUrl}, model=${r.model}, apiKeyEnv=${r.apiKeyEnv}`}let n=t.find(r=>r.name===e.provider);return`provider=${e.provider}, model=${e.model}, apiKeyEnv=${n?.apiKeyEnv??"<unknown>"}`}i(bW,"summarizeChoice");function RW(e){let t=uM.createInterface({input:e.input,output:e.output});t.on("SIGINT",()=>t.close());let n=i(r=>new Promise(o=>{let s=!1,a=i(l=>{s||(s=!0,t.removeListener("close",c),o(l))},"finish"),c=i(()=>a(void 0),"onClose");t.once("close",c),t.question(r,l=>a(l))}),"question");return{async choose(r,o){for(e.output.write(`
291
+ ${yx.cyan(r)}
292
+ `),o.forEach((s,a)=>e.output.write(` ${a+1}. ${s.label}
293
+ `));;){let s=await n(yx.dim(`Select 1-${o.length} (q to cancel): `));if(s===void 0||s.trim().toLowerCase()==="q")return;let a=Number.parseInt(s.trim(),10)-1,c=o[a];if(c)return c.value;e.output.write(yx.yellow(`Choose one of the numbered options.
294
+ `))}},async text(r,o){let s=o?` [${o}]`:"",a=await n(`${r}${s} (q to cancel): `);if(!(a===void 0||a.trim().toLowerCase()==="q"))return a.trim()||o},async confirm(r){return(await n(`${r} [y/N]: `))?.trim().toLowerCase()==="y"},close:i(()=>t.close(),"close")}}i(RW,"createTerminalProviderSetupInteraction");function fM(){return structuredClone(xi(gi()).document.servers)}i(fM,"listMcpServers");function pM(e){if(typeof e!="string"||e.length===0)return;let t=xi(gi()).document.servers[e];return t===void 0?void 0:structuredClone(t)}i(pM,"getMcpServerConfig");function mM(e,t){xx(e,t);let n=gi(),r=xi(n),o=structuredClone(t);return jc({domain:"mcp",configHome:n,...r.source==="user"?{expectedRevision:r.revision}:{},document:{version:1,servers:{...r.document.servers,[e]:o}},validate:Hs}),structuredClone(o)}i(mM,"upsertMcpServer");function hM(e){if(typeof e!="string"||e.length===0)return!1;let t=gi(),n=xi(t);if(!(e in n.document.servers))return!1;let r=structuredClone(n.document.servers);return delete r[e],jc({domain:"mcp",configHome:t,...n.source==="user"?{expectedRevision:n.revision}:{},document:{version:1,servers:r},validate:Hs}),!0}i(hM,"removeMcpServer");function xx(e,t){if(typeof e!="string"||e.length===0)throw new TypeError("MCP server name must be a non-empty string");Hs({version:1,servers:{[e]:t}})}i(xx,"validateMcpServerConfig");import tt from"fs/promises";import pr from"fs";import Ue from"path";import AM from"chalk";import bt from"fs/promises";import yM from"fs";import Qt from"path";var kW=2,EW=300*1e3,gM=65536,Sx=i(e=>Qt.join(e,".layout.json"),"layoutMarkerPath"),Tx=i(e=>Qt.join(e,".migration-lock"),"lockDirPath"),xM=i(e=>Qt.join(Tx(e),"owner.json"),"ownerPath"),wx=i(e=>Qt.join(e,".migration-journal.jsonl"),"journalPath"),SM=i(e=>Qt.join(Qt.dirname(e),"sessions-archive"),"sessionsArchiveDir");function wM(e){return e.endsWith(".jsonl")&&!e.endsWith(".archive.jsonl")&&!e.endsWith(".islands.jsonl")&&!e.startsWith(".")}i(wM,"isSessionFile");function TM(e){return e.endsWith(".archive.jsonl")||e.endsWith(".islands.jsonl")?e.slice(0,-14):null}i(TM,"sidecarId");async function MW(e){let t;try{t=await bt.open(e,"r");let n=Buffer.allocUnsafe(gM),{bytesRead:r}=await t.read(n,0,gM,0);if(r===0)return null;let o=n.toString("utf8",0,r),s=o.indexOf(`
295
+ `),a=(s>=0?o.slice(0,s):o).trim();if(!a)return null;let c=JSON.parse(a);if(c&&typeof c=="object"&&c._type==="meta"){let l=c;return{gitRoot:typeof l.gitRoot=="string"?l.gitRoot:void 0,runtimeInfo:l.runtimeInfo}}return null}catch{return null}finally{await t?.close()}}i(MW,"readMeta");async function AW(e){let t=await MW(e);return t?Mo({gitRoot:t.gitRoot,runtimeInfo:t.runtimeInfo}).key:hh}i(AW,"destKeyFor");async function CM(e){let t=[],n=i(async(r,o)=>{let s=[];try{s=await bt.readdir(r,{withFileTypes:!0})}catch{return}for(let a of s)!a.isFile()||a.name.startsWith(".")||(wM(a.name)||o&&TM(a.name)!==null)&&t.push(Qt.join(r,a.name))},"pushDir");return await n(e,!0),await n(SM(e),!0),t}i(CM,"collectFlatSources");async function _W(e){let t=await CM(e),n=t.filter(s=>wM(Qt.basename(s))),r=new Set(n.map(s=>Qt.basename(s,".jsonl"))),o=[];for(let s of n){let a=Qt.basename(s,".jsonl"),c=await AW(s);o.push({from:s,to:Qt.join(e,c,`${a}.jsonl`),reason:`session\u2192${c}`});for(let l of[".archive.jsonl",".islands.jsonl"]){let d=Qt.join(Qt.dirname(s),`${a}${l}`);yM.existsSync(d)&&o.push({from:d,to:Qt.join(e,c,`${a}.islands.jsonl`),reason:"sidecar\u2192islands"})}}for(let s of t){let a=TM(Qt.basename(s));a===null||r.has(a)||o.push({from:s,to:Qt.join(e,hh,"orphan-islands",`${a}.islands.jsonl`),reason:"orphan-sidecar\u2192_unknown"})}return o}i(_W,"planMigration");async function IM(e){try{return await bt.access(Sx(e)),!0}catch{return!1}}i(IM,"isMigrated");async function LW(e){return await IM(e)?!1:(await CM(e)).length>0}i(LW,"needsMigration");async function PW(e){try{let t=JSON.parse(await bt.readFile(xM(e),"utf8"));if(typeof t.pid=="number"&&t.pid!==process.pid)try{process.kill(t.pid,0)}catch(n){if(n.code==="ESRCH")return!0}return typeof t.heartbeatAt=="number"&&Date.now()-t.heartbeatAt>EW}catch{return!0}}i(PW,"lockIsStale");async function $W(e){let t=Tx(e);for(let n=0;n<2;n+=1)try{return await bt.mkdir(t),await bt.writeFile(xM(e),JSON.stringify({pid:process.pid,startTime:Date.now(),heartbeatAt:Date.now()})),!0}catch(r){if(r.code!=="EEXIST")return!1;if(n===0&&await PW(e)){await bt.rm(t,{recursive:!0,force:!0}).catch(()=>{});continue}return!1}return!1}i($W,"acquireLock");async function DW(e){await bt.rm(Tx(e),{recursive:!0,force:!0}).catch(()=>{})}i(DW,"releaseLock");async function OW(e){let t=new Set;try{let n=await bt.readFile(wx(e),"utf8");for(let r of n.split(`
296
+ `))if(r.trim())try{let o=JSON.parse(r);o.done&&typeof o.from=="string"&&t.add(o.from)}catch{}}catch{}return t}i(OW,"readJournalDone");async function NW(e){if(await bt.mkdir(Qt.dirname(e.to),{recursive:!0}),yM.existsSync(e.to)){await bt.unlink(e.from).catch(()=>{});return}try{await bt.rename(e.from,e.to)}catch(t){let n=t.code;if(n==="EXDEV")await bt.copyFile(e.from,e.to),await bt.unlink(e.from).catch(()=>{});else if(n!=="ENOENT")throw t}}i(NW,"executeMove");async function vM(e){await bt.mkdir(e,{recursive:!0});let t=`${Sx(e)}.${process.pid}.tmp`,n=JSON.stringify({version:kW,migratedAt:new Date().toISOString(),from:"flat-v1"});await bt.writeFile(t,n+`
297
+ `,"utf8"),await bt.rename(t,Sx(e))}i(vM,"writeMarker");async function BW(e){let t=SM(e);try{(await bt.readdir(t)).length===0&&await bt.rmdir(t).catch(()=>{})}catch{}}i(BW,"retireSessionsArchive");async function HW(e){if(!await $W(e))return{moved:0,planned:0};try{let t=await _W(e),n=await OW(e),r=await bt.open(wx(e),"a"),o=0;try{for(let s of t)n.has(s.from)||(await NW(s),await r.write(JSON.stringify({from:s.from,to:s.to,done:!0})+`
298
+ `),o+=1)}finally{await r.close()}return await BW(e),await vM(e),await bt.rm(wx(e),{force:!0}).catch(()=>{}),{moved:o,planned:t.length}}finally{await DW(e)}}i(HW,"runMigration");async function ti(e){try{if(await IM(e))return;if(!await LW(e)){await vM(e).catch(()=>{});return}await HW(e)}catch{}}i(ti,"ensureLayoutMigrated");var WW=new Set(["user","assistant","system"]),FW=new Set(["user","assistant","system","thinking","error","event","info","hint"]),jW=new Set(["success","error","cancelled","awaiting_approval"]);function Rt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}i(Rt,"isRecord");function fr(e){if(e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return!0;if(Array.isArray(e))return e.every(fr);if(!Rt(e))return!1;let t=Object.getPrototypeOf(e);return t!==Object.prototype&&t!==null?!1:Object.values(e).every(fr)}i(fr,"isKodaXJsonValue");function RM(e){return Rt(e)&&typeof e.id=="string"&&typeof e.extensionId=="string"&&typeof e.type=="string"&&typeof e.ts=="number"&&(e.data===void 0||fr(e.data))&&(e.dedupeKey===void 0||typeof e.dedupeKey=="string")}i(RM,"isKodaXExtensionSessionRecord");function kM(e){return Rt(e)?Object.values(e).every(t=>Rt(t)?Object.values(t).every(fr):!1):!1}i(kM,"isKodaXExtensionSessionState");function UW(e){if(!Rt(e)||typeof e.type!="string")return!1;switch(e.type){case"text":return typeof e.text=="string";case"tool_use":return typeof e.id=="string"&&typeof e.name=="string"&&Rt(e.input);case"tool_result":return typeof e.tool_use_id=="string"&&typeof e.content=="string"&&(e.is_error===void 0||typeof e.is_error=="boolean");case"image":return typeof e.path=="string"&&(e.mediaType===void 0||typeof e.mediaType=="string");case"thinking":return typeof e.thinking=="string"&&(e.signature===void 0||typeof e.signature=="string");case"redacted_thinking":return typeof e.data=="string";default:return!1}}i(UW,"isKodaXContentBlock");function Cx(e){return!Rt(e)||typeof e.role!="string"||!WW.has(e.role)?!1:typeof e.content=="string"||Array.isArray(e.content)&&e.content.every(UW)}i(Cx,"isKodaXMessage");function EM(e){return Rt(e)?(e.lastError===void 0||typeof e.lastError=="string")&&(e.lastErrorTime===void 0||typeof e.lastErrorTime=="number")&&(e.consecutiveErrors===void 0||typeof e.consecutiveErrors=="number"):!1}i(EM,"isSessionErrorMetadata");function GW(e){return Rt(e)&&Object.values(e).every(fr)}i(GW,"isKodaXSessionUiToolInput");function KW(e){return Rt(e)&&typeof e.id=="string"&&typeof e.name=="string"&&typeof e.status=="string"&&jW.has(e.status)&&(e.input===void 0||GW(e.input))&&(e.preview===void 0||typeof e.preview=="string")&&(e.output===void 0||typeof e.output=="string")&&(e.error===void 0||typeof e.error=="string")&&(e.startTime===void 0||typeof e.startTime=="number")&&(e.endTime===void 0||typeof e.endTime=="number")}i(KW,"isKodaXSessionUiToolCall");function bM(e){return e===void 0||typeof e=="number"&&Number.isFinite(e)&&e>=0}i(bM,"isOptionalHistoryTimestamp");function MM(e){return!Rt(e)||typeof e.type!="string"?!1:e.type==="tool_group"?bM(e.timestamp)&&Array.isArray(e.tools)&&e.tools.length>0&&e.tools.every(KW):FW.has(e.type)&&typeof e.text=="string"&&bM(e.timestamp)&&(e.icon===void 0||typeof e.icon=="string")&&(e.compactText===void 0||typeof e.compactText=="string")}i(MM,"isKodaXSessionUiHistoryItem");var VW=[10,25,50,100],zW=0;async function XW(e,t){for(let n=0;;n+=1)try{await tt.rename(e,t);return}catch(r){let o=VW[n];if(o===void 0||!YW(r))throw r;await new Promise(s=>setTimeout(s,o))}}i(XW,"replaceSessionFile");function YW(e){if(!(e instanceof Error)||!("code"in e))return!1;let t=e.code;return t==="EPERM"||t==="EBUSY"||t==="EACCES"}i(YW,"isTransientRenameError");function qW(e){return!Rt(e)||e._type!=="meta_update"?!1:(e.title===void 0||typeof e.title=="string")&&(e.tag===void 0||typeof e.tag=="string")&&(e.activeEntryId===void 0||typeof e.activeEntryId=="string"||e.activeEntryId===null)&&(e.activeMessageCount===void 0||typeof e.activeMessageCount=="number")&&(e.uiHistory===void 0||Array.isArray(e.uiHistory))&&(e.scope===void 0||typeof e.scope=="string")}i(qW,"isPersistedMetaUpdateLine");function BM(e){if(!Array.isArray(e))return;let t=e.filter(MM).map(n=>n.type==="tool_group"?{...n,tools:n.tools.map(r=>({...r}))}:{...n});return t.length>0?t:void 0}i(BM,"normalizeKodaXSessionUiHistory");function vx(e,t,n){Dt({source:"repl:session-storage",level:e,message:t,...n!==void 0?{detail:n}:{}})}i(vx,"reportStorageDiagnostic");function _M(e,t){t!==0&&vx("warn",`Skipped ${t} malformed session record(s) from ${Ue.basename(e)}.`)}i(_M,"warnMalformedSessionData");function yo(e){vx("info",e)}i(yo,"writeStorageNotice");function LM(e){return{_type:"extension_record",...e}}i(LM,"toExtensionRecordLine");function PM(e){return{_type:"lineage_entry",entry:e}}i(PM,"toLineageEntryLine");function $M(e){return{_type:"artifact_ledger_entry",entry:e}}i($M,"toArtifactLedgerLine");function JW(e){return Rt(e)&&e._type==="extension_record"&&RM(e)}i(JW,"isPersistedExtensionRecordLine");function QW(e){return Rt(e)&&typeof e.id=="string"&&(e.parentId===null||typeof e.parentId=="string")&&typeof e.timestamp=="string"&&typeof e.type=="string"&&(e.logicalId===void 0||typeof e.logicalId=="string")&&(e.sourceEntryId===void 0||typeof e.sourceEntryId=="string")}i(QW,"hasEntryBase");function ZW(e){if(!QW(e))return!1;let t=e;switch(t.type){case"message":return Cx(t.message);case"compaction":return typeof t.summary=="string"&&(t.firstKeptEntryId===void 0||typeof t.firstKeptEntryId=="string")&&(t.tokensBefore===void 0||typeof t.tokensBefore=="number");case"branch_summary":return typeof t.summary=="string"&&(t.fromId===void 0||typeof t.fromId=="string")&&(t.details===void 0||fr(t.details));case"label":return typeof t.targetId=="string"&&(t.label===void 0||typeof t.label=="string");case"archive_marker":return typeof t.archiveBatchId=="string"&&typeof t.archivedEntryCount=="number"&&typeof t.summary=="string";case"rewind_marker":return typeof t.targetId=="string"&&(t.fromId===void 0||typeof t.fromId=="string")&&typeof t.truncatedCount=="number"&&typeof t.summary=="string";case"client_notice":return typeof t.source=="string"&&typeof t.content=="string"&&(t.turnId===void 0||typeof t.turnId=="string")&&(t.payload===void 0||fr(t.payload));case"goal":return typeof t.event=="string";default:return!1}}i(ZW,"isKodaXSessionEntry");function eF(e){return Rt(e)&&e._type==="lineage_entry"&&ZW(e.entry)}i(eF,"isPersistedLineageEntryLine");function tF(e){return Rt(e)&&typeof e.id=="string"&&typeof e.kind=="string"&&typeof e.target=="string"&&typeof e.timestamp=="string"&&(e.sourceTool===void 0||typeof e.sourceTool=="string")&&(e.action===void 0||typeof e.action=="string")&&(e.displayTarget===void 0||typeof e.displayTarget=="string")&&(e.summary===void 0||typeof e.summary=="string")&&(e.sessionEntryId===void 0||typeof e.sessionEntryId=="string")&&(e.metadata===void 0||fr(e.metadata))}i(tF,"isKodaXSessionArtifactLedgerEntry");function nF(e){return Rt(e)&&e._type==="artifact_ledger_entry"&&tF(e.entry)}i(nF,"isPersistedArtifactLedgerLine");function HM(e){return Rt(e)&&(e.canonicalRepoRoot===void 0||typeof e.canonicalRepoRoot=="string")&&(e.workspaceRoot===void 0||typeof e.workspaceRoot=="string")&&(e.executionCwd===void 0||typeof e.executionCwd=="string")&&(e.branch===void 0||typeof e.branch=="string")&&(e.workspaceKind===void 0||e.workspaceKind==="detected"||e.workspaceKind==="managed")}i(HM,"isKodaXSessionRuntimeInfo");function Ix(e,t){return process.platform==="win32"||process.platform==="darwin"?e.toLowerCase()===t.toLowerCase():e===t}i(Ix,"pathsEqual");function rF(e){for(let t=e.length-1;t>=0;t-=1){let n=e[t];if(n&&n.type!=="label"&&n.type!=="goal"&&n.type!=="client_notice"&&n.type!=="rewind_marker")return n.id}return null}i(rF,"getLastNavigableEntryId");function oF(e){if(e.lineageEntries.length>0)return{version:2,activeEntryId:e.meta?.activeEntryId??rF(e.lineageEntries),entries:e.lineageEntries};if(e.legacyMessages.length!==0)return ft(e.legacyMessages)}i(oF,"buildLineage");function DM(e){return typeof e=="string"?`t:${e}`:`j:${JSON.stringify(e)}`}i(DM,"serializeMessageContentForCompare");function iF(e,t){return e===t?!0:e.role===t.role&&e._synthetic===!0==(t._synthetic===!0)&&DM(e.content)===DM(t.content)}i(iF,"sameMessageByContent");function sF(e,t){if(e.lineage)return e.lineage;if(t){let n=Ft(t),r=e.messages;if(r.length<=n.length&&r.every((s,a)=>iF(s,n[a])))return t}return ft(e.messages,t)}i(sF,"resolveSnapshotLineage");function aF(e){let t=oF(e);return{createdAt:e.meta?.createdAt,data:{messages:t?Ft(t):[...e.legacyMessages],title:e.meta?.title??"",gitRoot:e.meta?.gitRoot??"",tag:typeof e.meta?.tag=="string"?e.meta.tag:void 0,runtimeInfo:HM(e.meta?.runtimeInfo)?{...e.meta.runtimeInfo}:void 0,scope:e.meta?.scope??"user",uiHistory:BM(e.meta?.uiHistory),errorMetadata:EM(e.meta?.errorMetadata)?{...e.meta.errorMetadata}:void 0,extensionState:kM(e.meta?.extensionState)?e.meta?.extensionState:void 0,extensionRecords:e.extensionRecords.map(n=>({...n})),lineage:t,artifactLedger:e.artifactLedger.map(n=>({...n,metadata:n.metadata?structuredClone(n.metadata):void 0})),actorSnapshot:e.meta?.actorSnapshot?structuredClone(e.meta.actorSnapshot):void 0}}}i(aF,"buildSessionData");function cF(e,t,n,r){return{_type:"meta",title:t.title,id:e,gitRoot:t.gitRoot,tag:t.tag,runtimeInfo:t.runtimeInfo?{...t.runtimeInfo}:void 0,createdAt:r??new Date().toISOString(),scope:t.scope??"user",uiHistory:t.uiHistory,errorMetadata:t.errorMetadata,extensionState:t.extensionState,extensionRecordCount:t.extensionRecords?.length??0,artifactLedgerCount:t.artifactLedger?.length??0,actorSnapshot:t.actorSnapshot?structuredClone(t.actorSnapshot):void 0,lineageVersion:n?.version,activeEntryId:n?.activeEntryId,lineageEntryCount:n?.entries.length??0,activeMessageCount:n?yi(n):t.messages.length}}i(cF,"createSessionMeta");async function lF(e){let t;try{t=await tt.readFile(e,"utf-8")}catch(s){if(s?.code==="ENOENT")return null;throw s}let n=t.trim();if(!n)return null;let r={legacyMessages:[],lineageEntries:[],artifactLedger:[],extensionRecords:[],malformedCount:0},o=n.split(`
299
+ `);for(let s=0;s<o.length;s+=1)try{let a=JSON.parse(o[s]);if(s===0&&Rt(a)&&a._type==="meta"){r.meta=a;continue}if(qW(a)){r.meta&&(a.title!==void 0&&(r.meta.title=a.title),a.tag!==void 0&&(r.meta.tag=a.tag),a.activeEntryId!==void 0&&(r.meta.activeEntryId=a.activeEntryId),a.activeMessageCount!==void 0&&(r.meta.activeMessageCount=a.activeMessageCount),a.uiHistory!==void 0&&(r.meta.uiHistory=BM(a.uiHistory)),a.scope!==void 0&&(r.meta.scope=a.scope));continue}if(eF(a)){r.lineageEntries.push(a.entry);continue}if(nF(a)){r.artifactLedger.push(a.entry);continue}if(JW(a)){r.extensionRecords.push({id:a.id,extensionId:a.extensionId,type:a.type,ts:a.ts,data:a.data,dedupeKey:a.dedupeKey});continue}if(Cx(a)){r.legacyMessages.push(a);continue}r.malformedCount+=1}catch{r.malformedCount+=1}return r}i(lF,"readPersistedSessionFile");var OM=65536;async function bx(e){let t;try{t=await tt.open(e,"r");let n=Buffer.allocUnsafe(OM),{bytesRead:r}=await t.read(n,0,OM,0);if(r===0)return null;let o=n.toString("utf8",0,r),s=o.indexOf(`
300
+ `);if(s>=0)return o.slice(0,s).trim();let a=await tt.readFile(e,"utf-8"),c=a.indexOf(`
301
+ `);return(c>=0?a.slice(0,c):a).trim()}catch{return null}finally{await t?.close()}}i(bx,"readSessionFirstLine");async function NM(e){try{let t=(await tt.readFile(e,"utf-8")).trim();return t?t.split(`
302
+ `).length:0}catch{return 0}}i(NM,"countSessionLines");var zn=class{static{i(this,"FileSessionStorage")}sessionsDir;hostCwd;emitMismatchWarnings;constructor(t){this.sessionsDir=Ue.resolve(t?.sessionsDir??eo),this.hostCwd=t?.cwd,this.emitMismatchWarnings=t?.emitMismatchWarnings??!1}getSessionsDir(){return this.sessionsDir}writeQueues=new Map;serializedWrite(t,n){let o=(this.writeQueues.get(t)??Promise.resolve()).then(n,()=>n());return this.writeQueues.set(t,o),o}appendState=new Map;sessionDirCache=new Map;projectJsonWritten=new Set;migrationPromise;ensureMigrated(){return this.migrationPromise||(this.migrationPromise=ti(this.sessionsDir)),this.migrationPromise}syncAppendState(t,n,r){let o=this.appendState.get(t);this.appendState.set(t,{lineageCount:n.lineage?.entries.length??o?.lineageCount??0,artifactCount:n.artifactLedger?.length??o?.artifactCount??0,extensionCount:n.extensionRecords?.length??o?.extensionCount??0,metaUpdateCount:r??o?.metaUpdateCount??0,tag:n.tag!==void 0?n.tag:o?.tag})}legacyFlatPath(t){return Ue.join(this.sessionsDir,`${t}.jsonl`)}legacyFlatArchivePath(t){return Ue.join(this.sessionsDir,`${t}.archive.jsonl`)}projectDir(t){return Ue.join(this.sessionsDir,t)}resolveWriteDir(t,n){let r=this.sessionDirCache.get(t);if(r)return r;let o=Mo(n),s=this.projectDir(o.key);return this.sessionDirCache.set(t,s),s}writeFilePath(t,n){return Ue.join(this.resolveWriteDir(t,n),`${t}.jsonl`)}async resolveSessionLocation(t){let n=this.sessionDirCache.get(t);if(n){let s=Ue.join(n,`${t}.jsonl`);if(pr.existsSync(s))return s;let a=Ue.join(n,"archived",`${t}.jsonl`);if(pr.existsSync(a))return a}let r=[],o=[];try{o=await tt.readdir(this.sessionsDir,{withFileTypes:!0})}catch{o=[]}for(let s of o){if(!s.isDirectory()||s.name.startsWith("."))continue;let a=Ue.join(this.sessionsDir,s.name,`${t}.jsonl`);pr.existsSync(a)&&r.push(a);let c=Ue.join(this.sessionsDir,s.name,"archived",`${t}.jsonl`);pr.existsSync(c)&&r.push(c)}if(r.length===0){let s=this.legacyFlatPath(t);return pr.existsSync(s)?s:null}if(r.length===1){let s=Ue.dirname(r[0]),a=Ue.basename(s)==="archived"?Ue.dirname(s):s;return this.sessionDirCache.set(t,a),r[0]}if(this.hostCwd){let s=await Rr({cwd:this.hostCwd}),a=await to(this.hostCwd),c=this.projectDir(Mo({gitRoot:a??void 0,runtimeInfo:s}).key),l=r.find(d=>Ue.dirname(d)===c);if(l)return l}return yo(`[KodaX] Ambiguous session id ${t} found in ${r.length} projects; ${this.hostCwd?"no current-project match \u2014 ":""}returning the first match. Specify projectKey to disambiguate.`),r[0]}async readSession(t){await this.ensureMigrated();let n=await this.resolveSessionLocation(t);if(!n)return null;let r=await lF(n);return r?(_M(n,r.malformedCount),aF(r)):null}async ensureProjectJson(t,n){if(n.canonicalRoot===null||this.projectJsonWritten.has(t))return;this.projectJsonWritten.add(t);let r=Ue.join(t,"project.json");try{let o=JSON.stringify({canonicalRoot:n.canonicalRoot,displayName:n.displayName,lastUsed:new Date().toISOString()});await tt.writeFile(r,o+`
303
+ `,"utf-8")}catch{}}async writeSessionInternal(t,n,r){let o=this.resolveWriteDir(t,n);await tt.mkdir(o,{recursive:!0});let s=Ue.join(o,`${t}.jsonl`),a=`${s}.${process.pid}.${Date.now()}.${zW++}.tmp`,c=n.lineage??ft(n.messages),l=cF(t,n,c,r);try{let d=await tt.open(a,"w");try{await d.write(JSON.stringify(l)+`
304
+ `);for(let p of c.entries)await d.write(JSON.stringify(PM(p))+`
305
+ `);for(let p of n.artifactLedger??[])await d.write(JSON.stringify($M(p))+`
306
+ `);for(let p of n.extensionRecords??[])await d.write(JSON.stringify(LM(p))+`
307
+ `)}finally{await d.close()}await XW(a,s),await this.ensureProjectJson(o,Mo(n));let f=this.legacyFlatPath(t);if(f!==s&&pr.existsSync(f)){await tt.unlink(f).catch(()=>{});let p=this.legacyFlatArchivePath(t);pr.existsSync(p)&&await tt.rename(p,Ue.join(o,`${t}.islands.jsonl`)).catch(()=>{})}}finally{pr.existsSync(a)&&await tt.unlink(a).catch(()=>{})}}async mergeAndWriteInternal(t,n){let r=await this.readSession(t),o={...n,scope:n.scope??r?.data.scope??"user",uiHistory:n.uiHistory??r?.data.uiHistory,extensionState:n.extensionState??r?.data.extensionState,artifactLedger:n.artifactLedger??r?.data.artifactLedger,actorSnapshot:n.actorSnapshot??r?.data.actorSnapshot,extensionRecords:n.extensionRecords??r?.data.extensionRecords,runtimeInfo:n.runtimeInfo??r?.data.runtimeInfo,errorMetadata:n.errorMetadata??r?.data.errorMetadata,tag:n.tag??r?.data.tag,lineage:sF(n,r?.data.lineage)};await this.writeSessionInternal(t,o,r?.createdAt),this.syncAppendState(t,o)}async appendSessionDelta(t,n){await this.ensureMigrated();let r=this.writeFilePath(t,n);if(!pr.existsSync(r)||!n.lineage){await this.save(t,n);return}await this.serializedWrite(t,async()=>{let s=this.appendState.get(t);if(!s){await this.mergeAndWriteInternal(t,n);return}if(n.lineage.entries.length<s.lineageCount||(n.artifactLedger?.length??0)<s.artifactCount){await this.mergeAndWriteInternal(t,n);return}if(n.tag!==void 0&&n.tag!==s.tag){await this.mergeAndWriteInternal(t,n);return}if(n.extensionState!==void 0){await this.mergeAndWriteInternal(t,n);return}if(n.actorSnapshot!==void 0){await this.mergeAndWriteInternal(t,n);return}if(n.extensionRecords!==void 0&&n.extensionRecords.length<=s.extensionCount){await this.mergeAndWriteInternal(t,n);return}let a=n.lineage.entries.slice(s.lineageCount),c=(n.artifactLedger??[]).slice(s.artifactCount),l=(n.extensionRecords??[]).slice(s.extensionCount),d=[];for(let p of a)d.push(JSON.stringify(PM(p)));for(let p of c)d.push(JSON.stringify($M(p)));for(let p of l)d.push(JSON.stringify(LM(p)));let f={_type:"meta_update",title:n.title,activeEntryId:n.lineage.activeEntryId,activeMessageCount:yi(n.lineage),...n.uiHistory!==void 0?{uiHistory:n.uiHistory}:{},...n.scope!==void 0?{scope:n.scope}:{}};d.push(JSON.stringify(f)),d.length>0&&await tt.appendFile(r,`
308
+ `+d.join(`
309
+ `),"utf-8"),this.syncAppendState(t,n,s.metaUpdateCount+1)});let o=this.appendState.get(t);o&&this.shouldRunMaintenance(o)&&this.runMaintenance(t).catch(s=>{vx("error","Archive maintenance failed.",s)})}shouldRunMaintenance(t){return t.metaUpdateCount>=50||t.lineageCount>500}async runMaintenance(t){await this.serializedWrite(t,async()=>{let n=await this.readSession(t);if(!n?.data.lineage)return;let{slimmedLineage:r,archivedEntries:o,archiveBatchId:s}=Ow(n.data.lineage);if(o.length===0){await this.writeSessionInternal(t,n.data,n.createdAt),this.syncAppendState(t,n.data,0);return}let a=this.resolveWriteDir(t,n.data);await tt.mkdir(a,{recursive:!0});let c=Ue.join(a,`${t}.islands.jsonl`),l=await tt.open(c,"a");try{await l.write(JSON.stringify({_type:"archive_batch",archiveBatchId:s,sessionId:t,archivedAt:new Date().toISOString(),entryCount:o.length})+`
310
+ `);for(let f of o)await l.write(JSON.stringify({_type:"archived_entry",archiveBatchId:s,entry:f})+`
311
+ `)}finally{await l.close()}let d={...n.data,lineage:r};await this.writeSessionInternal(t,d,n.createdAt),this.syncAppendState(t,d,0)})}async save(t,n){await this.serializedWrite(t,async()=>{await this.mergeAndWriteInternal(t,n)})}async saveActorSnapshot(t,n,r){await this.serializedWrite(t,async()=>{let o=await this.readSession(t);if(!o)throw new Error(`Session not found: ${t}`);let s=o.data.actorSnapshot?.revision??0;if(s!==r)throw new Error(`Actor snapshot revision conflict for ${t}: expected ${r}, actual ${s}.`);let a={...o.data,actorSnapshot:structuredClone(n)};await this.writeSessionInternal(t,a,o.createdAt),this.syncAppendState(t,a)})}async load(t){let n=await this.readSession(t);if(!n)return null;this.syncAppendState(t,n.data);let{data:r,createdAt:o}=n,s=this.legacyFlatPath(t);if(this.emitMismatchWarnings){let a=await to(this.hostCwd),c=await Rr({cwd:this.hostCwd}),l=Fn(r);(c.canonicalRepoRoot&&l?.canonicalRepoRoot&&!Kd(c,l)||a&&r.gitRoot&&a!==r.gitRoot&&!Kd(c,{canonicalRepoRoot:r.gitRoot}))&&(yo(AM.yellow(`
312
+ [Warning] Session project mismatch:`)),c.workspaceRoot&&yo(` Current workspace: ${c.workspaceRoot}`),l?.workspaceRoot&&yo(` Session workspace: ${l.workspaceRoot}`),c.canonicalRepoRoot&&yo(` Current repo: ${c.canonicalRepoRoot}`),l?.canonicalRepoRoot?yo(` Session repo: ${l.canonicalRepoRoot}`):r.gitRoot&&yo(` Session repo: ${r.gitRoot}`),yo(` Continuing anyway...
313
+ `))}if(r.errorMetadata?.consecutiveErrors&&r.errorMetadata.consecutiveErrors>0){let a=Lw(r.messages);if(a!==r.messages){yo(AM.cyan("[Session Recovery] Cleaned incomplete tool calls from previous session"));let c={...r,messages:a,errorMetadata:{...r.errorMetadata,consecutiveErrors:0},lineage:ft(a,r.lineage)};return await this.serializedWrite(t,async()=>{await this.writeSessionInternal(t,c,o),this.syncAppendState(t,c)}),c}}return _M(s,0),r}async getLineage(t){return(await this.readSession(t))?.data.lineage??null}async setActiveEntry(t,n,r){let o=null;return await this.serializedWrite(t,async()=>{let s=await this.readSession(t);if(!s?.data.lineage)return;let a=As(s.data.lineage,n,r);if(!a)return;let c={...s.data,messages:Ft(a),lineage:a};await this.writeSessionInternal(t,c,s.createdAt),this.syncAppendState(t,c),o=c}),o}async rewind(t,n){let r=null;return await this.serializedWrite(t,async()=>{let o=await this.readSession(t);if(!o?.data.lineage)return;let s=n??Ls(o.data.lineage);if(!s)return;let a=Ps(o.data.lineage,s);if(!a)return;let c={...o.data,messages:Ft(a),lineage:a};await this.writeSessionInternal(t,c,o.createdAt),this.syncAppendState(t,c),r=c}),r}async setLabel(t,n,r){let o=null;return await this.serializedWrite(t,async()=>{let s=await this.readSession(t);if(!s?.data.lineage)return;let a=_s(s.data.lineage,n,r);if(!a)return;let c={...s.data,lineage:a};await this.writeSessionInternal(t,c,s.createdAt),this.syncAppendState(t,c),o=c}),o}async fork(t,n,r){let o=null;return await this.serializedWrite(t,async()=>{let s=await this.readSession(t);if(!s?.data.lineage)return;let a=$s(s.data.lineage,n);if(!a)return;let c=r?.sessionId??await Ms(),l={messages:Ft(a),title:r?.title??s.data.title,gitRoot:s.data.gitRoot,tag:s.data.tag,runtimeInfo:s.data.runtimeInfo?{...s.data.runtimeInfo}:void 0,uiHistory:s.data.uiHistory?s.data.uiHistory.map(d=>({...d})):void 0,extensionState:s.data.extensionState?structuredClone(s.data.extensionState):void 0,artifactLedger:s.data.artifactLedger?structuredClone(s.data.artifactLedger):void 0,extensionRecords:s.data.extensionRecords?structuredClone(s.data.extensionRecords):void 0,lineage:a};await this.writeSessionInternal(c,l),o={sessionId:c,data:l}}),o}async list(t,n){await this.ensureMigrated(),await tt.mkdir(this.sessionsDir,{recursive:!0});let r=t&&t.trim()?t:void 0,o=r!==void 0||this.hostCwd!==void 0,s=r??(this.hostCwd?await to(this.hostCwd):null),a=await Rr({cwd:s??this.hostCwd??process.cwd()}),c=await tt.readdir(this.sessionsDir,{withFileTypes:!0}),l=[],d=Mo({gitRoot:s??void 0,runtimeInfo:a}).key,f=i(S=>S.endsWith(".archive.jsonl")||S.endsWith(".islands.jsonl"),"isSidecar"),p=o?[d]:c.filter(S=>S.isDirectory()&&!S.name.startsWith(".")).map(S=>S.name);for(let S of p){let w=[];try{w=await tt.readdir(this.projectDir(S))}catch{continue}for(let M of w)M.endsWith(".jsonl")&&!f(M)&&l.push({path:Ue.join(this.projectDir(S),M),trusted:o,archived:!1});if(n?.includeArchived){let M=[];try{M=await tt.readdir(Ue.join(this.projectDir(S),"archived"))}catch{M=[]}for(let O of M)O.endsWith(".jsonl")&&!f(O)&&l.push({path:Ue.join(this.projectDir(S),"archived",O),trusted:o,archived:!0})}}for(let S of c)S.isFile()&&S.name.endsWith(".jsonl")&&!f(S.name)&&!S.name.startsWith("archived-")&&!S.name.startsWith(".")&&l.push({path:Ue.join(this.sessionsDir,S.name),trusted:!1,archived:!1});let h=[],g=i(async(S,w,M)=>{try{let O=await bx(S);if(!O)return null;let A=JSON.parse(O);if(Rt(A)&&A._type==="meta"){let X=typeof A.gitRoot=="string"?A.gitRoot:"",K=HM(A.runtimeInfo)?A.runtimeInfo:void 0,q=A.scope==="managed-task-worker"?"managed-task-worker":"user";if(o&&!w){let ee=Kd(a,K),H=K?.workspaceRoot?Ix(K.workspaceRoot,a.workspaceRoot??""):!!(s&&X&&Ix(X,s)),E=K?.executionCwd?Ix(K.executionCwd,a.executionCwd??""):!1,Z=Mo({gitRoot:X||void 0,runtimeInfo:K}).key===d;if(!ee&&!H&&!E&&!Z)return null}if(q!=="user")return null;let x=typeof A.extensionRecordCount=="number"&&A.extensionRecordCount>0?A.extensionRecordCount:0,Se=typeof A.activeMessageCount=="number"&&A.activeMessageCount>=0?A.activeMessageCount:Math.max(0,await NM(S)-1-x);return{id:Ue.basename(S,".jsonl"),title:typeof A.title=="string"?A.title:"",msgCount:Se,...typeof A.tag=="string"?{tag:A.tag}:{},createdAt:typeof A.createdAt=="string"?A.createdAt:void 0,runtimeInfo:K?{...K}:X?{canonicalRepoRoot:X}:void 0,...M?{archived:!0}:{}}}let N=await NM(S);return{id:Ue.basename(S,".jsonl"),title:"",msgCount:N,...M?{archived:!0}:{}}}catch{return null}},"parseSessionFile"),C=48,b=new Set;for(let S=0;S<l.length;S+=C){let w=await Promise.all(l.slice(S,S+C).map(M=>g(M.path,M.trusted,M.archived)));for(let M of w)M&&!b.has(M.id)&&(b.add(M.id),h.push(M))}let T=n?.limit??10;return h.sort((S,w)=>{let M=S.createdAt?Date.parse(S.createdAt):Number.NaN,O=w.createdAt?Date.parse(w.createdAt):Number.NaN;return Number.isFinite(M)&&Number.isFinite(O)&&M!==O?O-M:Number.isFinite(O)&&!Number.isFinite(M)?1:Number.isFinite(M)&&!Number.isFinite(O)?-1:w.id.localeCompare(S.id)}).slice(0,T).map(({id:S,title:w,msgCount:M,tag:O,runtimeInfo:A,createdAt:N,archived:X})=>({id:S,title:w,msgCount:M,...O!==void 0?{tag:O}:{},...A?{runtimeInfo:A}:{},...N!==void 0?{createdAt:N}:{},...X?{archived:!0}:{}}))}async archive(t){await this.ensureMigrated();let n=!1;return await this.serializedWrite(t,async()=>{let r=await this.resolveSessionLocation(t);if(!r)return;let o=Ue.dirname(r);if(Ue.basename(o)==="archived"){n=!0;return}await this.movePair(t,o,Ue.join(o,"archived")),this.sessionDirCache.delete(t),n=!0}),n}async unarchive(t){await this.ensureMigrated();let n=!1;return await this.serializedWrite(t,async()=>{let r=await this.resolveSessionLocation(t);if(!r)return;let o=Ue.dirname(r);if(Ue.basename(o)!=="archived"){n=!0;return}await this.movePair(t,o,Ue.dirname(o)),this.sessionDirCache.delete(t),n=!0}),n}async movePair(t,n,r){await tt.mkdir(r,{recursive:!0});for(let o of[`${t}.jsonl`,`${t}.islands.jsonl`]){let s=Ue.join(n,o);if(pr.existsSync(s))try{await tt.rename(s,Ue.join(r,o))}catch(a){if(a.code!=="ENOENT")throw a}}}async delete(t){await this.ensureMigrated();let n=await this.resolveSessionLocation(t),r=new Set;n&&(r.add(n),r.add(n.replace(/\.jsonl$/,".archive.jsonl")),r.add(n.replace(/\.jsonl$/,".islands.jsonl"))),r.add(this.legacyFlatPath(t)),r.add(this.legacyFlatArchivePath(t));for(let o of r)pr.existsSync(o)&&await tt.unlink(o).catch(()=>{});this.sessionDirCache.delete(t)}async deleteAll(t){let n=t??(this.hostCwd?await to(this.hostCwd):null),r=await this.list(n??void 0,{limit:Number.MAX_SAFE_INTEGER});for(let o of r)await this.delete(o.id)}async cleanupOldSessions(t){if(!Number.isFinite(t)||t<=0)return 0;await this.ensureMigrated();let n=0,r=Date.now()-t*24*60*60*1e3,o=i(async s=>{if(s.endsWith(".jsonl"))try{(await tt.stat(s)).mtimeMs<r&&(await tt.unlink(s),n++)}catch{}},"unlinkIfOld");try{await tt.mkdir(this.sessionsDir,{recursive:!0});let s=await tt.readdir(this.sessionsDir,{withFileTypes:!0});for(let a of s){let c=Ue.join(this.sessionsDir,a.name);if(a.isFile()){await o(c);continue}if(!a.isDirectory()||a.name.startsWith("."))continue;let l=[];try{l=await tt.readdir(c,{withFileTypes:!0})}catch{continue}for(let d of l){let f=Ue.join(c,d.name);if(d.isFile())await o(f);else if(d.isDirectory()&&d.name==="archived"){let p=[];try{p=await tt.readdir(f)}catch{continue}for(let h of p)await o(Ue.join(f,h))}}}}catch{}return n}};import qi from"node:fs/promises";import mn from"node:path";var uF=8;function WM(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}i(WM,"isRecord");function FM(e){return e.endsWith(".jsonl")&&!e.endsWith(".archive.jsonl")&&!e.endsWith(".islands.jsonl")&&!e.startsWith(".")&&!e.startsWith("archived-")}i(FM,"isSessionFile");async function dF(e){let t=[],n=[];try{n=await qi.readdir(e,{withFileTypes:!0})}catch{return t}for(let r of n){if(r.isFile()){FM(r.name)&&t.push(mn.join(e,r.name));continue}if(!r.isDirectory()||r.name.startsWith("."))continue;let o=mn.join(e,r.name),s=[];try{s=await qi.readdir(o)}catch{continue}for(let a of s)FM(a)&&t.push(mn.join(o,a))}return t}i(dF,"collectSessionFiles");function fF(e,t){let r=mn.relative(e,t).split(mn.sep);return r.length>1?r[0]:void 0}i(fF,"getProjectKey");async function pF(e,t){let n=mn.relative(e,t),r=mn.basename(t,".jsonl");try{let s=(await qi.readFile(t,"utf8")).split(/\r?\n/,1)[0];if(!s)return null;let a=JSON.parse(s);if(!WM(a)||a._type!=="meta")return null;let c=WM(a.runtimeInfo)?a.runtimeInfo:void 0,l=typeof c?.canonicalRepoRoot=="string"?c.canonicalRepoRoot:typeof c?.workspaceRoot=="string"?c.workspaceRoot:void 0,d=typeof a.createdAt=="string"?Date.parse(a.createdAt):Number.NaN,f=Array.isArray(a.uiHistory)?a.uiHistory:void 0,p=typeof a.artifactLedgerCount=="number"?a.artifactLedgerCount:0,h=typeof a.activeEntryId=="string"||a.activeEntryId===null;return{id:typeof a.id=="string"?a.id:r,filePath:t,relativePath:n,projectKey:fF(e,t),isRunner:r.startsWith("runner-"),title:typeof a.title=="string"?a.title:"",gitRoot:typeof a.gitRoot=="string"?a.gitRoot:"",runtimeRoot:l,createdAtMs:Number.isFinite(d)?d:void 0,scope:a.scope==="managed-task-worker"?"managed-task-worker":"user",activeMessageCount:typeof a.activeMessageCount=="number"?a.activeMessageCount:void 0,hasHostState:!!(f&&f.length>0||a.lineageVersion===2||h||p>0)}}catch{return null}}i(pF,"parseCandidate");function mF(e,t){return e.projectKey&&t.projectKey&&e.projectKey===t.projectKey||e.runtimeRoot&&t.runtimeRoot&&e.runtimeRoot===t.runtimeRoot?!0:!!(e.gitRoot&&t.gitRoot&&e.gitRoot===t.gitRoot)}i(mF,"sameProject");function hF(e,t){if(t.isRunner||t.scope!=="user"||!mF(e,t))return null;let n=0,r=[];if(e.projectKey&&t.projectKey&&e.projectKey===t.projectKey?(n+=4,r.push("same-project-dir")):(n+=3,r.push("same-project-identity")),e.title&&t.title&&e.title===t.title)n+=2,r.push("same-title");else if(e.title&&t.title)return null;return e.activeMessageCount!==void 0&&t.activeMessageCount!==void 0&&e.activeMessageCount===t.activeMessageCount&&(n+=1,r.push("same-active-message-count")),e.createdAtMs!==void 0&&t.createdAtMs!==void 0&&Math.abs(e.createdAtMs-t.createdAtMs)<=3600*1e3&&(n+=1,r.push("near-created-at")),t.hasHostState&&!e.hasHostState&&(n+=2,r.push("canonical-has-host-state")),n>=uF?{canonical:t,score:n,reasons:r}:null}i(hF,"scoreCandidate");function gF(e){let t=i(n=>String(n).padStart(2,"0"),"pad");return[e.getUTCFullYear(),t(e.getUTCMonth()+1),t(e.getUTCDate()),"-",t(e.getUTCHours()),t(e.getUTCMinutes()),t(e.getUTCSeconds())].join("")}i(gF,"formatArchiveBatch");async function yF(e){let t=e,n=1;for(;;){try{await qi.access(t)}catch{return t}let r=mn.extname(e);t=`${e.slice(0,e.length-r.length)}.${n}${r}`,n+=1}}i(yF,"uniqueTargetPath");async function jM(e={}){let t=e.sessionsDir??eo;e.apply&&(await qi.mkdir(t,{recursive:!0}),await ti(t));let n=await dF(t),r=[],o=[];for(let f of n){let p=await pF(t,f);if(!p){mn.basename(f).startsWith("runner-")&&o.push({runnerId:mn.basename(f,".jsonl"),path:f,reason:"unreadable"});continue}if(p.isRunner&&p.scope==="managed-task-worker"){o.push({runnerId:p.id,path:p.filePath,reason:"managed-task-worker"});continue}r.push(p)}let s=r.filter(f=>f.isRunner&&f.scope==="user"),a=r.filter(f=>!f.isRunner&&f.scope==="user"),c=[];for(let f of s){let p=a.map(g=>hF(f,g)).filter(g=>g!==null).sort((g,C)=>C.score-g.score);if(p.length===0){o.push({runnerId:f.id,path:f.filePath,reason:"no-match"});continue}if(p.length>1){o.push({runnerId:f.id,path:f.filePath,reason:"ambiguous-match",detail:p.map(g=>`${g.canonical.id}:${g.score}`).join(", ")});continue}let h=p[0];c.push({runnerId:f.id,runnerPath:f.filePath,canonicalId:h.canonical.id,canonicalPath:h.canonical.filePath,score:h.score,reasons:h.reasons})}let l=[],d=mn.join(t,".dedupe-archive",gF(e.now??new Date));if(e.apply)for(let f of c){let p=mn.relative(t,f.runnerPath),h;try{h=await yF(mn.join(d,p)),await qi.mkdir(mn.dirname(h),{recursive:!0}),await qi.rename(f.runnerPath,h),l.push({runnerId:f.runnerId,from:f.runnerPath,to:h})}catch(g){o.push({runnerId:f.runnerId,path:f.runnerPath,reason:"move-failed",detail:`target=${h??mn.join(d,p)}; ${g instanceof Error?g.message:String(g)}`})}}return{scanned:n.length,runnerCandidates:s.length,matches:c,moved:l,skipped:o,...e.apply?{archiveDir:d}:{}}}i(jM,"dedupeSessions");function xF(e){return e?.storage?e.storage:e?.sessionsDir!==void 0?new zn({sessionsDir:e.sessionsDir}):new zn}i(xF,"resolveStorage");async function ec(e,t){let n={compacted:!1,tokensBefore:0,tokensAfter:0,messages:[]};try{let r=xF(t),o=await r.load(e);if(!o)return{...n,reason:`session not found: ${e}`};let s=o.messages,a=t?.provider??o.runtimeInfo?.provider??"anthropic",c=hi(a);if(!c)return{...n,messages:s,reason:`provider not found: ${a}`};let l=t?.contextWindow??c.getEffectiveContextWindow?.(t?.model)??c.getContextWindow?.()??2e5,d=Es(s),f=await Nw(s,{enabled:!0,triggerPercent:100,contextWindow:l},c,l,t?.customInstructions,void 0,d,zw,Xw,t?.model,!0,c.getEffectiveMaxOutputTokens(t?.model));if(!f.compacted)return{compacted:!1,tokensBefore:f.tokensBefore,tokensAfter:f.tokensAfter,messages:s,reason:"no compaction needed"};let p=f.anchor??{summary:f.summary??"",tokensBefore:f.tokensBefore,tokensAfter:f.tokensAfter,reason:"manual"},h=f.artifactLedger??o.artifactLedger??[],g=Math.max(0,(f.tokensBefore??0)-(f.tokensAfter??0)),{ledgerMessage:C}=Dw(h,g),b=C?[C]:[],T=Cd(o.lineage,f.messages,p,b),S={...o,messages:f.messages,lineage:T,artifactLedger:f.artifactLedger??o.artifactLedger};return await r.save(e,S),{compacted:!0,tokensBefore:f.tokensBefore,tokensAfter:f.tokensAfter,messages:f.messages}}catch(r){return{...n,reason:r instanceof Error?r.message:String(r)}}}i(ec,"compactSession");import Ji from"node:fs";import Fr from"node:fs/promises";import kt from"node:path";import{randomUUID as SF}from"node:crypto";async function zM(e,t){let n=[],r=i(s=>s.endsWith(".jsonl")&&!s.endsWith(".archive.jsonl")&&!s.endsWith(".islands.jsonl")&&!s.startsWith("."),"isSession"),o=[];try{o=await Fr.readdir(e,{withFileTypes:!0})}catch{return n}for(let s of o){if(s.isFile()){r(s.name)&&(t||!s.name.startsWith("archived-"))&&n.push(kt.join(e,s.name));continue}if(!s.isDirectory()||s.name.startsWith("."))continue;let a=kt.join(e,s.name);try{for(let c of await Fr.readdir(a))r(c)&&n.push(kt.join(a,c))}catch{}if(t){let c=kt.join(a,"archived");try{for(let l of await Fr.readdir(c))r(l)&&n.push(kt.join(c,l))}catch{}}}return n}i(zM,"collectSessionFilePaths");function UM(e){if(!e||!e.trim())return;let t=kt.resolve(e).replace(/\\/g,"/");return process.platform==="win32"||process.platform==="darwin"?t.toLowerCase():t}i(UM,"normalizeComparableRoot");function wF(e,t,n){let r=UM(n);return r?[e?.gitRoot,e?.workspaceRoot,t].some(o=>UM(o)===r):!0}i(wF,"sessionMatchesProjectRoot");async function TF(e){let t=[],n=[e];for(;n.length>0;){let r=n.pop(),o;try{o=await Fr.readdir(r,{withFileTypes:!0})}catch{continue}for(let s of o){let a=kt.join(r,s.name);s.isDirectory()&&!s.isSymbolicLink()?n.push(a):s.isFile()&&s.name.endsWith(".jsonl")&&t.push(a)}}return t}i(TF,"collectJsonlFiles");async function CF(e,t){let n;try{n=new Set(await Fr.readdir(t))}catch{return new Set}let r=new Set,o=i(s=>{for(let a of s.matchAll(/[a-zA-Z0-9._-]+\.txt/g)){let c=a[0];n.has(c)&&r.add(kt.join(t,c))}},"collectNames");for(let s of await TF(e)){let a;try{a=await Fr.readFile(s,"utf-8")}catch{continue}o(a)}for(let s of[...r].filter(a=>kt.basename(a).includes("-bash-recovery-manifest-")))try{o(await Fr.readFile(s,"utf-8"))}catch{}return r}i(CF,"collectToolOutputReferences");function IF(e){let t=Bw();jw(t,()=>CF(e,t))}i(IF,"scheduleToolOutputRetention");async function vF(e){let t=await bx(e);if(!t)return;let n=JSON.parse(t);if(n===null||typeof n!="object")return;let r=n;return r._type==="meta"?r:void 0}i(vF,"readSessionMetaRecord");async function bF(e,t){if(typeof t.activeMessageCount=="number"&&t.activeMessageCount>=0)return t.activeMessageCount;let n=(await Fr.readFile(e,"utf-8")).trim(),r=typeof t.extensionRecordCount=="number"&&t.extensionRecordCount>0?t.extensionRecordCount:0;return Math.max(0,n.split(`
314
+ `).length-1-r)}i(bF,"readActiveMessageCount");async function RF(e,t){let n=await vF(e);if(!n)return;let r=n.scope==="managed-task-worker"?"managed-task-worker":"user";if(t.scope!=="all"&&t.scope!==r)return;let o=typeof n.createdAt=="string"?n.createdAt:void 0,s=o?Date.parse(o):void 0;if(t.before!==void 0&&s!==void 0&&Number.isFinite(s)&&s>=t.before)return;let a=typeof n.tag=="string"?n.tag:void 0;if(t.tag!==void 0&&a!==t.tag)return;let c=n.runtimeInfo!==null&&typeof n.runtimeInfo=="object"?YM(n.runtimeInfo):void 0,l=typeof n.gitRoot=="string"?n.gitRoot:void 0,d=c??(l?{gitRoot:l}:void 0);if(!wF(d,l,t.gitRoot)||t.surface!==void 0&&d?.surface!==t.surface)return;let f=kt.basename(e,".jsonl"),p=kt.basename(kt.dirname(e))==="archived";return{id:f,title:typeof n.title=="string"?n.title:"",msgCount:await bF(e,n),...a!==void 0?{tag:a}:{},...o!==void 0?{createdAt:o}:{},...d!==void 0?{runtimeInfo:d}:{},projectKey:Ci(d?.gitRoot??d?.workspaceRoot).key,...p?{archived:!0}:{},_createdAtMs:s}}i(RF,"readSessionListCandidate");function jr(e){return e!==void 0?new zn({sessionsDir:e}):new zn}i(jr,"getStorage");function Mx(e){return e??eo}i(Mx,"resolveSessionsDir");function Ax(e){return Buffer.from(e,"utf8").toString("base64url")}i(Ax,"encodeSessionCursor");function kF(e){if(!(!e||e.length>1024))try{let t=Buffer.from(e,"base64url").toString("utf8");return t&&Ax(t)===e?t:void 0}catch{return}}i(kF,"decodeSessionCursor");async function _x(e){return XM(e,void 0)}i(_x,"listSessions");async function XM(e,t){try{let n=Mx(t);await ti(n);let r=e?.projectRoot,o=jr(t);await Fr.mkdir(n,{recursive:!0});let s=e?.scope??"user",a=e?.includeArchived??!1,c=e?.limit??50,l=e?.before?Date.parse(e.before):void 0,d=e?.tag,f=e?.surface,p=e?.cursor===void 0?void 0:kF(e.cursor);if(e?.cursor!==void 0&&p===void 0)return[];if(s==="user"&&!r&&l===void 0&&!a&&d===void 0&&f===void 0&&p===void 0)return(await o.list(r,{limit:c})).map(EF);let h=await zM(n,a),g=[],C=new Set,b={scope:s,...l!==void 0?{before:l}:{},...d!==void 0?{tag:d}:{},...f!==void 0?{surface:f}:{},...r!==void 0?{gitRoot:r}:{}},T=48;for(let M=0;M<h.length;M+=T){let O=await Promise.all(h.slice(M,M+T).map(async A=>{try{return await RF(A,b)}catch(N){Dt({source:"session.public-api",level:"warn",message:"Unreadable session record was skipped.",detail:{filePath:A,error:N}});return}}));for(let A of O)A&&!C.has(A.id)&&(C.add(A.id),g.push(A))}g.sort((M,O)=>{let A=M._createdAtMs,N=O._createdAtMs;return Number.isFinite(A)&&Number.isFinite(N)&&A!==N?N-A:Number.isFinite(N)&&!Number.isFinite(A)?1:Number.isFinite(A)&&!Number.isFinite(N)?-1:O.id.localeCompare(M.id)});let S=p===void 0?-1:g.findIndex(M=>M.id===p);if(p!==void 0&&S<0)return[];let w=S+1;return g.slice(w,w+c).map(({id:M,title:O,msgCount:A,tag:N,createdAt:X,runtimeInfo:K,projectKey:q,archived:x})=>({id:M,cursor:Ax(M),title:O,msgCount:A,...N!==void 0?{tag:N}:{},...X!==void 0?{createdAt:X}:{},...K!==void 0?{runtimeInfo:K}:{},...q!==void 0?{projectKey:q}:{},...x?{archived:!0}:{}}))}catch{return[]}}i(XM,"listSessionsImpl");function YM(e){let t={...e.workspaceRoot?{workspaceRoot:e.workspaceRoot}:{},...e.canonicalRepoRoot?{gitRoot:e.canonicalRepoRoot}:{},...e.surface?{surface:e.surface}:{},...e.profileId?{profileId:e.profileId}:{}};return Object.keys(t).length>0?t:void 0}i(YM,"extractRuntimeInfoSummary");function EF(e){let t=e.runtimeInfo?YM(e.runtimeInfo):void 0,n=Ci(t?.gitRoot??t?.workspaceRoot).key;return{id:e.id,cursor:Ax(e.id),title:e.title,msgCount:e.msgCount,...e.tag!==void 0?{tag:e.tag}:{},...t!==void 0?{runtimeInfo:t}:{},...e.createdAt!==void 0?{createdAt:e.createdAt}:{},projectKey:n}}i(EF,"toSessionSummary");function uu(e){return typeof e=="object"&&e!==null}i(uu,"isRecord");function MF(e){return uu(e)?(e.role==="user"||e.role==="assistant"||e.role==="system")&&(typeof e.content=="string"||Array.isArray(e.content)):!1}i(MF,"isMessage");function AF(e){return uu(e)&&typeof e.id=="string"&&(e.parentId===null||typeof e.parentId=="string")&&typeof e.timestamp=="string"&&typeof e.type=="string"&&(e.logicalId===void 0||typeof e.logicalId=="string")&&(e.sourceEntryId===void 0||typeof e.sourceEntryId=="string")}i(AF,"hasEntryBase");function _F(e){if(!AF(e))return!1;let t=e;switch(t.type){case"message":return MF(t.message);case"compaction":return typeof t.summary=="string";case"branch_summary":return typeof t.summary=="string";case"archive_marker":return typeof t.archiveBatchId=="string"&&typeof t.archivedEntryCount=="number"&&typeof t.summary=="string";case"rewind_marker":return typeof t.targetId=="string"&&(t.fromId===void 0||typeof t.fromId=="string")&&typeof t.truncatedCount=="number"&&typeof t.summary=="string";case"label":return typeof t.targetId=="string"&&(t.label===void 0||typeof t.label=="string");case"client_notice":return typeof t.source=="string"&&typeof t.content=="string"&&(t.turnId===void 0||typeof t.turnId=="string")&&(t.payload===void 0||fr(t.payload));case"goal":return typeof t.event=="string";default:return!1}}i(_F,"isTranscriptSidecarEntry");function LF(e){return uu(e)&&e._type==="archived_entry"&&typeof e.archiveBatchId=="string"&&_F(e.entry)}i(LF,"isArchivedEntryLine");async function PF(e,t){let n,r=new Set([`${e}.jsonl`,`archived-${e}.jsonl`]);for(let f of await zM(t,!0))if(r.has(kt.basename(f))){n=f;break}if(!n)return[];let o=kt.dirname(n),s=kt.basename(n,".jsonl"),c=Array.from(new Set([e,s])).flatMap(f=>[kt.join(o,`${f}.islands.jsonl`),kt.join(o,`${f}.archive.jsonl`)]),l=[],d=new Set;for(let f of c){let p="";try{p=await Fr.readFile(f,"utf-8")}catch{continue}for(let h of p.split(/\r?\n/))if(h.trim())try{let g=JSON.parse(h);LF(g)&&(d.has(g.entry.id)||(d.add(g.entry.id),l.push(g.entry)))}catch{}}return l}i(PF,"readArchivedTranscriptEntries");function $F(e,t){let n=new Set,r=[];for(let o of e)n.has(o.id)||(n.add(o.id),r.push(o));for(let o of t)n.has(o.id)||(n.add(o.id),r.push(o));return r}i($F,"mergeTranscriptLineageEntries");function qM(e){let t=new Map(e.entries.map(o=>[o.id,o])),n=new Set,r=e.activeEntryId;for(;r;){let o=t.get(r);if(!o)break;n.add(o.id),r=o.parentId}return n}i(qM,"collectActiveIds");function GM(e,t){return t==="branch_summary"?{role:"user",content:`The following is a summary of a branch that this conversation came back from:
315
+
316
+ <summary>
317
+ ${e}
318
+ </summary>`}:{role:"system",content:`[\u5BF9\u8BDD\u5386\u53F2\u6458\u8981]
319
+
320
+ ${e}`}}i(GM,"summaryMessage");function KM(e){return{role:"system",content:`[Rewind] ${e}`}}i(KM,"rewindMarkerMessage");function DF(e){return{role:"system",content:e.content,_source:"client_notice",timestamp:e.timestamp,...e.turnId!==void 0?{turnId:e.turnId}:{}}}i(DF,"clientNoticeMessage");function Rx(e,t){let n=e[t];return typeof n=="string"?n:void 0}i(Rx,"messageStringField");function OF(e){if(e.role==="user")return"user";if(e.role==="assistant")return"assistant";if(e.role==="system")return"system"}i(OF,"messageSource");function VM(e){return uu(e)?e.type==="task_result"&&(e.source==="workflow"||e.source==="child_task")&&typeof e.taskId=="string"&&(e.status==="completed"||e.status==="failed"||e.status==="cancelled")&&(e.runId===void 0||typeof e.runId=="string")&&(e.title===void 0||typeof e.title=="string")&&(e.summary===void 0||typeof e.summary=="string")&&(e.artifactRefs===void 0||Array.isArray(e.artifactRefs)&&e.artifactRefs.every(t=>typeof t=="string")):!1}i(VM,"isTaskResultMetadata");function NF(e){if(VM(e._taskResult))return[e._taskResult];if(Array.isArray(e._taskResults))return e._taskResults.filter(VM);if(e._source!=="task-completed"||typeof e.content!="string")return[];let t=[],n=/<task-completed\s+task_id="([^"]+)">([\s\S]*?)<\/task-completed>/g;for(let r of e.content.matchAll(n)){let o=r[1];if(!o)continue;let s=r[2]?.trim()??"";t.push({type:"task_result",source:"child_task",taskId:o,status:s.startsWith("failed:")||s.startsWith("[Tool Error]")?"failed":"completed",...s.length>0?{summary:s}:{}})}return t}i(NF,"taskResultsFromMessage");function BF(e){if(e.length===1)return e[0];let t=e[0];return t?{type:"task_result",source:t.source,taskId:t.taskId,status:t.status,results:e}:void 0}i(BF,"taskResultPayload");function HF(e){if(!uu(e))return{};let t=typeof e.rewindTargetId=="string"?e.rewindTargetId:void 0,n=typeof e.truncatedCount=="number"?e.truncatedCount:void 0;return{...t!==void 0?{rewindTargetId:t}:{},...n!==void 0?{truncatedCount:n}:{}}}i(HF,"legacyRewindDetails");function WF(e,t,n){return t.has(e.id)?!0:e.type!=="client_notice"&&e.type!=="rewind_marker"?!1:e.parentId===null?n===null:t.has(e.parentId)}i(WF,"transcriptEntryActive");function ni(e){return{entryId:e.id,parentId:e.parentId,logicalId:e.logicalId??e.id,...e.sourceEntryId!==void 0?{sourceEntryId:e.sourceEntryId}:{}}}i(ni,"transcriptEntryIdentity");function JM(e,t,n){let r=WF(e,t,n);switch(e.type){case"message":{let o=NF(e.message);if(o.length>0){let s=o[0];return{...ni(e),timestamp:e.timestamp,type:"task_result",source:s.source,turnId:Rx(e.message,"turnId"),message:e.message,active:r,payload:BF(o),taskResults:o}}return e.message._source==="client_notice"?{...ni(e),timestamp:e.timestamp,type:"client_notice",source:"client",turnId:Rx(e.message,"turnId"),message:e.message,active:r,payload:{content:e.message.content,entersModelContext:!1}}:{...ni(e),timestamp:e.timestamp,type:"message",source:OF(e.message),turnId:Rx(e.message,"turnId"),message:e.message,active:r}}case"compaction":if(e.reason==="rewind"){let o=HF(e.details),s=r||(e.parentId===null?n===null:t.has(e.parentId));return{...ni(e),timestamp:e.timestamp,type:"rewind_marker",source:"system",message:KM(e.summary),active:s,summary:e.summary,payload:{summary:e.summary,reason:"rewind",...o.rewindTargetId!==void 0?{rewindTargetId:o.rewindTargetId}:{},...o.truncatedCount!==void 0?{truncatedCount:o.truncatedCount}:{},...e.details!==void 0?{details:e.details}:{}}}}return{...ni(e),timestamp:e.timestamp,type:"compaction",source:"system",message:GM(e.summary,"compaction"),active:r,summary:e.summary,payload:{summary:e.summary,tokensBefore:e.tokensBefore,tokensAfter:e.tokensAfter,reason:e.reason,details:e.details}};case"rewind_marker":return{...ni(e),timestamp:e.timestamp,type:"rewind_marker",source:"system",message:KM(e.summary),active:r,summary:e.summary,payload:{summary:e.summary,rewindTargetId:e.targetId,...e.fromId!==void 0?{fromId:e.fromId}:{},truncatedCount:e.truncatedCount}};case"branch_summary":return{...ni(e),timestamp:e.timestamp,type:"branch_summary",source:"system",message:GM(e.summary,"branch_summary"),active:r,summary:e.summary,payload:{summary:e.summary,fromId:e.fromId,details:e.details}};case"client_notice":return{...ni(e),timestamp:e.timestamp,type:"client_notice",source:"client",turnId:e.turnId,message:DF(e),active:r,payload:{source:e.source,content:e.content,entersModelContext:!1,...e.payload!==void 0?{payload:e.payload}:{}}};case"archive_marker":case"label":case"goal":case"memory_outcome_digest":case"memory_review_receipt":return null;default:return e}}i(JM,"toTranscriptEntry");function FF(e){let t=qM(e);return e.entries.map(n=>JM(n,t,e.activeEntryId)).filter(n=>n!==null)}i(FF,"buildTranscriptEntries");async function Lx(e){return QM(e,void 0)}i(Lx,"loadSession");async function QM(e,t){try{return await jr(t).load(e)}catch{return null}}i(QM,"loadSessionImpl");async function Px(e){return ZM(e,void 0)}i(Px,"loadFullTranscript");async function ZM(e,t){try{let n=Mx(t);await ti(n);let r=jr(t),o=await r.load(e);if(!o)return null;let s=await r.getLineage(e);if(!s)return{...o,activeMessages:o.messages,transcriptEntries:[]};let a=await PF(e,n),c=a.length>0?{...s,entries:$F(a,s.entries)}:s,l=FF(c);return{...o,messages:l.filter(d=>d.type!=="rewind_marker").map(d=>d.message),activeMessages:o.messages,transcriptEntries:l,lineage:c}}catch{return null}}i(ZM,"loadFullTranscriptImpl");function jF(e){let t=e?.trim();return t&&t.length>0?t:"client"}i(jF,"normalizeClientNoticeSource");function UF(e,t){let n=`notice_${SF().replace(/-/g,"").slice(0,12)}`;return{type:"client_notice",id:n,parentId:e.activeEntryId,timestamp:t.timestamp??new Date().toISOString(),logicalId:n,source:jF(t.source),content:t.content,...t.turnId!==void 0?{turnId:t.turnId}:{},...t.payload!==void 0?{payload:t.payload}:{}}}i(UF,"createClientNoticeEntry");async function eA(e,t){return GF(e,t,void 0)}i(eA,"appendClientNotice");async function GF(e,t,n){return kx(e,t,jr(n))}i(GF,"appendClientNoticeImpl");async function kx(e,t,n){try{let r=await n.load(e);if(!r)return null;let o=r.lineage??ft(r.messages),s=UF(o,t),a={...o,entries:[...o.entries,s]},c={...r,lineage:a,messages:r.messages};await n.appendSessionDelta(e,c);let l=qM(a);return JM(s,l,a.activeEntryId)}catch{return null}}i(kx,"appendClientNoticeWithStorage");async function $x(e,t){return tA(e,t,void 0)}i($x,"forkSession");async function tA(e,t,n){try{return await jr(n).fork(e,t?.selector,{sessionId:t?.sessionId,title:t?.title})}catch{return null}}i(tA,"forkSessionImpl");async function Dx(e,t){return nA(e,t,void 0)}i(Dx,"rewindSession");async function nA(e,t,n){try{return await jr(n).rewind(e,t?.selector)}catch{return null}}i(nA,"rewindSessionImpl");async function Ox(e,t){return rA(e,t,void 0)}i(Ox,"setActiveEntry");async function rA(e,t,n){try{return await jr(n).setActiveEntry(e,t)}catch{return null}}i(rA,"setActiveEntryImpl");async function lu(){try{return _w({excludePid:process.pid}).map(t=>({pid:t.pid,startedAt:t.state.meta.startedAt,cwd:t.state.meta.cwd,sessionId:t.state.sessionId}))}catch{return[]}}i(lu,"listRunningSessions");async function Nx(e){return oA(e,void 0)}i(Nx,"deleteSession");async function oA(e,t){try{let r=(await lu()).find(o=>o.sessionId===e);return r?{error:{code:"session_running",runningProcess:{pid:r.pid,startedAt:r.startedAt}}}:(await jr(t).delete(e),{ok:!0})}catch{return{ok:!0}}}i(oA,"deleteSessionImpl");async function Bx(e){return iA(e,void 0)}i(Bx,"archiveSession");async function iA(e,t){try{return await jr(t).archive(e)}catch{return!1}}i(iA,"archiveSessionImpl");async function Hx(e){return sA(e,void 0)}i(Hx,"unarchiveSession");async function sA(e,t){try{return await jr(t).unarchive(e)}catch{return!1}}i(sA,"unarchiveSessionImpl");function Wx(e){return aA(e,void 0)}i(Wx,"watchSessions");function aA(e,t){let n=Mx(t);return ti(n).catch(()=>{}),process.platform==="win32"?zF(e,n):KF(e,n)}i(aA,"watchSessionsImpl");function Ex(e){let t=kt.basename(e);return!t.endsWith(".jsonl")||t.endsWith(".archive.jsonl")||t.endsWith(".islands.jsonl")||t.startsWith(".")?null:t.slice(0,-6)}i(Ex,"sessionIdFromFilename");function KF(e,t){let n=null,r=!1,o=new Map;function s(c,l){let d=o.get(l);d!==void 0&&clearTimeout(d);let f=setTimeout(()=>{o.delete(l),r||e({kind:c,sessionId:l})},100);o.set(l,f)}i(s,"emitDebounced");function a(){if(!r)try{if(!Ji.existsSync(t)){setTimeout(a,1e3);return}let c=i((l,d)=>{if(!d)return;let f=typeof d=="string"?d:d.toString(),p=Ex(f);if(!p)return;let h=l==="rename"?VF(t,f):"change";s(h,p)},"onEvent");try{n=Ji.watch(t,{recursive:!0},c)}catch{n=Ji.watch(t,c)}n.on("error",()=>{n?.close(),n=null,r||setTimeout(a,1e3)})}catch{}}return i(a,"startWatch"),a(),{close(){r=!0,n?.close(),n=null;for(let c of o.values())clearTimeout(c);o.clear()}}}i(KF,"watchSessionsPosix");function VF(e,t){try{return Ji.statSync(kt.join(e,t)),"add"}catch{return"remove"}}i(VF,"detectRenameKind");function zF(e,t){let n=!1,r=new Set;function o(c,l){try{for(let d of Ji.readdirSync(l)){let f=Ex(d);f&&c.add(f)}}catch{}}i(o,"addIds");function s(){let c=new Set;try{if(!Ji.existsSync(t))return c;for(let l of Ji.readdirSync(t,{withFileTypes:!0}))if(l.isFile()){let d=Ex(l.name);d&&c.add(d)}else if(l.isDirectory()&&!l.name.startsWith(".")){let d=kt.join(t,l.name);o(c,d),o(c,kt.join(d,"archived"))}}catch{}return c}i(s,"buildSnapshot"),r=s();let a=setInterval(()=>{if(n)return;let c=s();for(let l of c)r.has(l)||e({kind:"add",sessionId:l});for(let l of r)c.has(l)||e({kind:"remove",sessionId:l});r=c},1e3);return{close(){n=!0,clearInterval(a)}}}i(zF,"watchSessionsWindows");function cA(e){let t=e?.sessionsDir;IF(t??eo);let n=t!==void 0?new zn({sessionsDir:t}):new zn;return t===void 0?{listSessions:_x,loadSession:Lx,loadFullTranscript:Px,appendClientNotice:i((r,o)=>kx(r,o,n),"appendClientNotice"),forkSession:$x,rewindSession:Dx,setActiveEntry:Ox,deleteSession:Nx,archiveSession:Bx,unarchiveSession:Hx,listRunningSessions:lu,watchSessions:Wx,compactSession:i((r,o)=>ec(r,{...o,storage:n}),"compactSession"),storage:n}:{listSessions:i(r=>XM(r,t),"listSessions"),loadSession:i(r=>QM(r,t),"loadSession"),loadFullTranscript:i(r=>ZM(r,t),"loadFullTranscript"),appendClientNotice:i((r,o)=>kx(r,o,n),"appendClientNotice"),forkSession:i((r,o)=>tA(r,o,t),"forkSession"),rewindSession:i((r,o)=>nA(r,o,t),"rewindSession"),setActiveEntry:i((r,o)=>rA(r,o,t),"setActiveEntry"),deleteSession:i(r=>oA(r,t),"deleteSession"),archiveSession:i(r=>iA(r,t),"archiveSession"),unarchiveSession:i(r=>sA(r,t),"unarchiveSession"),listRunningSessions:lu,watchSessions:i(r=>aA(r,t),"watchSessions"),compactSession:i((r,o)=>ec(r,{...o,storage:n}),"compactSession"),storage:n}}i(cA,"createSessionManager");var XF={};ZA(XF,{App:()=>fb,AutocompleteContextProvider:()=>Wf,BUILTIN_COMMANDS:()=>rC,BackgroundTaskBar:()=>Ol,CONFIG_TEMPLATES:()=>oT,ChildActivitySurface:()=>Mp,ConsoleCapturer:()=>Ya,DEFAULT_UI_STATE:()=>Pd,DialogSurface:()=>vp,DotsIndicator:()=>gg,FILE_MODIFICATION_TOOLS:()=>Zr,FileSessionStorage:()=>zn,FullscreenTranscriptLayout:()=>mp,HistoryItemRenderer:()=>ib,InputPrompt:()=>Hi,IntegrationConfigController:()=>dT,KODAX_CONFIG_FILE:()=>pT,KODAX_DIR:()=>fT,KODAX_EXAMPLE_CONFIG_FILE:()=>IT,KODAX_INTEGRATION_EXAMPLE_FILES:()=>vT,KODAX_SESSIONS_DIR:()=>eo,KODAX_VERSION:()=>Si,KeyMatchers:()=>cg,KeypressHandlerPriority:()=>un,KeypressParser:()=>ma,KeypressProvider:()=>ml,LRUCache:()=>Mi,LoadingIndicator:()=>vv,MemorySessionStorage:()=>Ki,MessageActions:()=>hp,MessageList:()=>Uo,MessageSelector:()=>gb,NotificationsSurface:()=>$l,PERMISSION_MODES:()=>nT,PREVIEW_MAX_LENGTH:()=>mT,PendingInputsIndicator:()=>LE,ProgressIndicator:()=>yg,PromptComposer:()=>xp,PromptFooter:()=>El,PromptFooterLeftSide:()=>Rl,PromptFooterRightSide:()=>kl,PromptHelpMenu:()=>wp,PromptSuggestionsSurface:()=>Ip,ProviderSetupConfigConflictError:()=>cu,ProviderSetupInvalidConfigError:()=>ei,QueuedCommandsSurface:()=>bp,RUNTIME_PERMISSION_PENDING_NOTICE:()=>Aa,SimpleApp:()=>pb,SimpleInputPrompt:()=>xv,SimpleMessageDisplay:()=>ab,SimpleStatusBar:()=>ub,SingleLineTextInput:()=>tv,Spinner:()=>Ln,StashNotice:()=>Dl,StatusBar:()=>Fi,StatusNoticesSurface:()=>Rp,StreamingProvider:()=>Hl,StreamingState:()=>sr,SuggestionsDisplay:()=>Ll,TOOL_STATUS_ICONS:()=>e_,TextBuffer:()=>ha,TextInput:()=>Nf,ThinkingIndicator:()=>Iv,ToolCallDisplay:()=>rx,ToolCallStatus:()=>W,ToolGroup:()=>AE,ToolProgressBar:()=>nx,ToolStatusBadge:()=>EE,TranscriptViewport:()=>yp,UIStateProvider:()=>_l,_resetQueuedPromptsCacheForTests:()=>r0,appendClientNotice:()=>eA,archiveSession:()=>Bx,bootstrapAutoMode:()=>Pa,calculateVisualCursorFromLayout:()=>sf,calculateVisualLayout:()=>fn,collectBashWriteTargets:()=>_T,compactSession:()=>ec,computeConfirmTools:()=>Ns,createCliEvents:()=>TE,createHistoryItem:()=>Ml,createInteractiveContext:()=>La,createJsonEvents:()=>CE,createKeyMatcher:()=>e0,createKeypressManager:()=>Bf,createMemorySessionStorage:()=>o0,createRecoveryHistoryItem:()=>Gl,createRetryHistoryItem:()=>Ul,createSessionManager:()=>cA,createStreamingManager:()=>Ap,createToolCall:()=>Tp,darkTheme:()=>af,dedupeSessions:()=>jM,deleteSession:()=>Nx,detectTerminalCapabilities:()=>$E,detectTerminalHostProfile:()=>_o,detectTerminalRenderHost:()=>Ao,emitRecoveryHistoryItem:()=>m0,emitRetryHistoryItem:()=>p0,ensureExampleConfigFile:()=>RT,ensureExampleConfigFiles:()=>bT,executeCommand:()=>vi,executeShellCommand:()=>Wl,extractHistorySeedsFromMessage:()=>Xs,extractHistorySeedsFromMessages:()=>Ud,extractTextContent:()=>Gd,extractTitle:()=>Eo,forkSession:()=>$x,formatMessagePreview:()=>jT,generateId:()=>Al,generateSavePattern:()=>MT,getBashOutsideProjectWriteRisk:()=>LT,getCharAtCodePoint:()=>dC,getCodePointLength:()=>hn,getCommandRegistry:()=>oC,getConfigTemplate:()=>iT,getCustomProviderConfig:()=>YE,getGitRoot:()=>to,getKeyDisplayName:()=>rv,getMcpServerConfig:()=>pM,getPlanModeBlockReason:()=>Ro,getProviderList:()=>wT,getProviderModel:()=>br,getProviderSetupCatalog:()=>Za,getTerminalHostCapabilities:()=>Ei,getTerminalWidth:()=>sx,getTheme:()=>se,getThemeNames:()=>c_,getVersion:()=>yT,getVisualWidth:()=>cr,getVisualWidthCached:()=>of,hasCursorUpViewportYankRisk:()=>Ri,hasMainScreenRenderScrollRisk:()=>Vc,hydrateProcessEnvFromShell:()=>hT,inspectProviderSetupReadiness:()=>fm,isAlwaysConfirmPath:()=>Gs,isBashReadCommand:()=>no,isBashWriteCommand:()=>ro,isClassicReplForced:()=>Yc,isCommandOnProtectedPath:()=>Hd,isFunctionKey:()=>sg,isOwnedRendererPreferred:()=>Xc,isPathInsideProject:()=>AT,isPermissionMode:()=>rT,isPrintable:()=>nv,isProviderConfigured:()=>TT,isRemoteConptyHost:()=>qs,isScreenReader:()=>ax,isShellCommand:()=>a0,isShellCommandSuccess:()=>c0,isTmuxControlMode:()=>Js,isToolCallAllowed:()=>Us,isVsCodeTerminalHostEnv:()=>bi,isWideChar:()=>ar,listCustomProviders:()=>XE,listMcpServers:()=>fM,listRegisteredCommands:()=>nC,listRunningSessions:()=>lu,listSessions:()=>_x,loadAutoModeSettings:()=>Vs,loadConfig:()=>CT,loadFullTranscript:()=>Px,loadSession:()=>Lx,measureChildActivitySurfaceRows:()=>Ep,migrateLegacyIntegrationConfig:()=>uT,minimalTheme:()=>Th,normalizePermissionMode:()=>Bs,parseCommand:()=>Ii,parseExtensionsIntegrationDocument:()=>sT,parseKeypress:()=>pl,parseMcpIntegrationDocument:()=>Hs,permissionModeDisplayName:()=>$d,persistProviderSetupChoice:()=>pm,planLegacyIntegrationMigration:()=>lT,prepareRuntimeConfig:()=>Od,processSpecialSyntax:()=>sm,providerSetupRestartInstructions:()=>iM,rateLimitedCall:()=>kT,readExtensionsIntegration:()=>cT,readMcpIntegration:()=>xi,registerConfiguredCustomProviders:()=>gT,removeCustomProvider:()=>JE,removeMcpServer:()=>hM,replBashPathSignalCollector:()=>Ks,resetTmuxControlModeProbeForTesting:()=>tf,resolveAutoModeSettings:()=>$T,resolveConfiguredTuiRendererMode:()=>ki,resolveEffectiveTuiRendererMode:()=>Lo,resolveFullscreenPolicy:()=>Po,resolveIntegrationConfigPath:()=>aT,resolveInteractiveSurfacePreference:()=>zc,resolveRuntimeEffortSelection:()=>js,resolveRuntimeModelSelection:()=>Fs,resolveRuntimeProviderSelection:()=>Ws,restoreHistoryItemsFromSession:()=>jl,rewindSession:()=>Dx,runInkInteractiveMode:()=>rm,runInteractiveMode:()=>zE,runProviderSetupWizard:()=>dM,runSessionPicker:()=>xE,saveConfig:()=>Ti,seedToHistoryItem:()=>ko,setActiveEntry:()=>Ox,splitByCodePoints:()=>dn,supports256Colors:()=>ox,supportsEmoji:()=>ix,supportsTrueColor:()=>ru,supportsUnicode:()=>Hr,themes:()=>Ch,toReplRuntimeAutoModeSettings:()=>_a,toolCallSeedToHistoryToolCall:()=>jd,touchContext:()=>dr,trimPersistedUiHistorySnapshot:()=>Or,truncateByVisualWidth:()=>Qs,unarchiveSession:()=>Hx,upsertCustomProvider:()=>qE,upsertMcpServer:()=>mM,useAutocomplete:()=>hl,useAutocompleteContext:()=>Fo,useInputHistory:()=>Ff,useKeypress:()=>Zb,useKeypressManager:()=>Hf,useQueuedPromptContents:()=>n0,useQueuedPrompts:()=>Qg,useStreaming:()=>qg,useStreamingActions:()=>Ma,useStreamingState:()=>Ea,useTextBuffer:()=>jf,useUI:()=>Hg,useUIActions:()=>ba,useUIState:()=>va,validateMcpServerConfig:()=>xx,visualWidthCache:()=>nf,watchSessions:()=>Wx,withCapture:()=>DE,withCaptureSync:()=>OE,writeIntegrationDocument:()=>jc});export{bi as a,Ri as b,qs as c,Vc as d,Js as e,tf as f,Ao as g,_o as h,ki as i,Lo as j,zc as k,Po as l,Ei as m,Xc as n,Yc as o,Mi as p,hn as q,ar as r,cr as s,dC as t,dn as u,Qs as v,nf as w,of as x,fn as y,sf as z,af as A,Th as B,Ch as C,se as D,c_ as E,Nf as F,tv as G,pl as H,ma as I,sg as J,nv as K,rv as L,Bf as M,ml as N,Hf as O,cg as P,Wf as Q,Fo as R,hl as S,Ff as T,ha as U,jf as V,Hi as W,xv as X,Ln as Y,gg as Z,yg as _,Iv as $,vv as aa,ib as ba,Uo as ca,ab as da,Fi as ea,ub as fa,fb as ga,pb as ha,mp as ia,hp as ja,gb as ka,yp as la,xp as ma,Rl as na,kl as oa,El as pa,wp as qa,Al as ra,Ml as sa,Tp as ta,_l as ua,va,ba as wa,Hg as xa,Ll as ya,Ip as za,vp as Aa,bp as Ba,$l as Ca,Rp as Da,Dl as Ea,Ol as Fa,Ep as Ga,Mp as Ha,Ap as Ia,Hl as Ja,Ea as Ka,Ma as La,qg as Ma,Zb as Na,e0 as Oa,Qg as Pa,n0 as Qa,r0 as Ra,Aa as Sa,_a as Ta,La as Ua,dr as Va,Pa as Wa,Ki as Xa,o0 as Ya,Wl as Za,a0 as _a,c0 as $a,Or as ab,jl as bb,Ul as cb,p0 as db,Gl as eb,m0 as fb,rm as gb,xE as hb,TE as ib,CE as jb,EE as kb,nx as lb,rx as mb,AE as nb,LE as ob,ru as pb,ox as qb,Hr as rb,ix as sb,sx as tb,ax as ub,$E as vb,Ya as wb,DE as xb,OE as yb,zE as zb,sm as Ab,XE as Bb,YE as Cb,qE as Db,JE as Eb,cu as Fb,ei as Gb,Za as Hb,fm as Ib,pm as Jb,iM as Kb,dM as Lb,fM as Mb,pM as Nb,mM as Ob,hM as Pb,xx as Qb,zn as Rb,jM as Sb,ec as Tb,_x as Ub,Lx as Vb,Px as Wb,eA as Xb,$x as Yb,Dx as Zb,Ox as _b,lu as $b,Nx as ac,Bx as bc,Hx as cc,Wx as dc,cA as ec,XF as fc};