@kodax-ai/kodax 0.7.76 → 0.7.77

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 (115) hide show
  1. package/CHANGELOG.md +595 -380
  2. package/LICENSE +158 -158
  3. package/README.md +1608 -1550
  4. package/README_CN.md +942 -896
  5. package/config-templates/config.example.jsonc +33 -33
  6. package/config-templates/integrations/a2a.example.jsonc +98 -98
  7. package/config-templates/integrations/extensions.example.jsonc +7 -7
  8. package/config-templates/integrations/mcp.example.jsonc +16 -16
  9. package/dist/builtin/code-review/SKILL.md +22 -22
  10. package/dist/builtin/skill-creator/scripts/aggregate-benchmark.d.ts +46 -46
  11. package/dist/builtin/skill-creator/scripts/analyze-benchmark.d.ts +46 -46
  12. package/dist/builtin/skill-creator/scripts/compare-runs.d.ts +62 -62
  13. package/dist/builtin/skill-creator/scripts/generate-review.d.ts +33 -33
  14. package/dist/builtin/skill-creator/scripts/grade-evals.d.ts +73 -73
  15. package/dist/builtin/skill-creator/scripts/improve-description.d.ts +23 -23
  16. package/dist/builtin/skill-creator/scripts/init-skill.d.ts +14 -14
  17. package/dist/builtin/skill-creator/scripts/install-skill.d.ts +29 -29
  18. package/dist/builtin/skill-creator/scripts/package-skill.d.ts +38 -38
  19. package/dist/builtin/skill-creator/scripts/quick-validate.d.ts +8 -8
  20. package/dist/builtin/skill-creator/scripts/run-eval.d.ts +66 -66
  21. package/dist/builtin/skill-creator/scripts/run-loop.d.ts +49 -49
  22. package/dist/builtin/skill-creator/scripts/run-trigger-eval.d.ts +58 -58
  23. package/dist/chunks/agent-NGSWFE73.js +2 -0
  24. package/dist/chunks/argument-completer-WGGZPEEO.js +2 -0
  25. package/dist/chunks/chunk-27QLRH3D.js +5 -0
  26. package/dist/chunks/chunk-2MQPVY6P.js +770 -0
  27. package/dist/chunks/chunk-3DD4QEBH.js +22 -0
  28. package/dist/chunks/chunk-6WAPVAGQ.js +74 -0
  29. package/dist/chunks/chunk-AOENDSVN.js +448 -0
  30. package/dist/chunks/{chunk-PXKSE54E.js → chunk-EH7AOMJ7.js} +1 -1
  31. package/dist/chunks/{chunk-SMT2JSM3.js → chunk-FNW2XUL5.js} +9 -9
  32. package/dist/chunks/chunk-FSXI4MAV.js +78 -0
  33. package/dist/chunks/{chunk-RDXRM3UI.js → chunk-HORNWBYR.js} +1 -1
  34. package/dist/chunks/chunk-HV2GMZUZ.js +343 -0
  35. package/dist/chunks/chunk-IQT4RPCE.js +46 -0
  36. package/dist/chunks/{chunk-4PWPNCNK.js → chunk-JS2BHGJP.js} +2 -2
  37. package/dist/chunks/chunk-OAMKECRG.js +381 -0
  38. package/dist/chunks/{chunk-HS3XHF3R.js → chunk-ON2WG2LG.js} +2 -2
  39. package/dist/chunks/{chunk-HGT6WQ24.js → chunk-RUGAAHTF.js} +17 -17
  40. package/dist/chunks/chunk-TGCG7U2W.js +37 -0
  41. package/dist/chunks/chunk-XSA37BVM.js +5 -0
  42. package/dist/chunks/compaction-config-BE7VYWH6.js +2 -0
  43. package/dist/chunks/{construction-bootstrap-5F5KF2BZ.js → construction-bootstrap-RPRL3L7R.js} +1 -1
  44. package/dist/chunks/dist-FDSOIR35.js +2 -0
  45. package/dist/chunks/dist-ZZBNVTKU.js +2 -0
  46. package/dist/chunks/host-QAKQVC4A.js +2 -0
  47. package/dist/chunks/run-manager-N4UFWA2D.js +2 -0
  48. package/dist/chunks/{utils-X3TEH6IO.js → utils-AUHCI4D5.js} +1 -1
  49. package/dist/index.d.ts +17 -16
  50. package/dist/index.js +2 -2
  51. package/dist/kodax_bootstrap.js +25 -25
  52. package/dist/kodax_cli.js +1276 -1229
  53. package/dist/provider-capabilities.json +392 -362
  54. package/dist/runtime-worker.js +1162 -1115
  55. package/dist/sdk-a2a.d.ts +12 -11
  56. package/dist/sdk-a2a.js +1 -1
  57. package/dist/sdk-agent.d.ts +56 -21
  58. package/dist/sdk-agent.js +1 -1
  59. package/dist/sdk-coding.d.ts +120 -21
  60. package/dist/sdk-coding.js +1 -1
  61. package/dist/sdk-experimental-memory.d.ts +14 -597
  62. package/dist/sdk-experimental-memory.js +1 -1
  63. package/dist/sdk-llm.d.ts +218 -6
  64. package/dist/sdk-llm.js +1 -1
  65. package/dist/sdk-mcp.js +1 -1
  66. package/dist/sdk-media.d.ts +1 -1
  67. package/dist/sdk-media.js +1 -1
  68. package/dist/sdk-repl.d.ts +15 -14
  69. package/dist/sdk-repl.js +1 -1
  70. package/dist/sdk-runtime.d.ts +34 -18
  71. package/dist/sdk-runtime.js +1 -1
  72. package/dist/sdk-session.d.ts +7 -6
  73. package/dist/sdk-session.js +1 -1
  74. package/dist/sdk-skills.js +1 -1
  75. package/dist/semantic-worker.js +14 -14
  76. package/dist/types-chunks/{base.d-ChvpaKjZ.d.ts → base.d-4e74xDdy.d.ts} +13 -1
  77. package/dist/types-chunks/{bash-prefix-extractor.d-r1beOESM.d.ts → bash-prefix-extractor.d-pZdu6qt7.d.ts} +197 -5
  78. package/dist/types-chunks/{capability-learning.d-DPrYxRjF.d.ts → capability-learning.d-CVsdHw4j.d.ts} +1 -1
  79. package/dist/types-chunks/{capsule.d-zeqV4IQX.d.ts → capsule.d-CxCm1KZz.d.ts} +2 -2
  80. package/dist/types-chunks/{commands.d-DUxnK2TU.d.ts → commands.d-BccESAMV.d.ts} +5 -5
  81. package/dist/types-chunks/{guardrail.d-qjuKJZ31.d.ts → guardrail.d-B0PwAZVR.d.ts} +3 -3
  82. package/dist/types-chunks/{guardrail.d-CWYD1bdL.d.ts → guardrail.d-CJx9RRd3.d.ts} +1 -1
  83. package/dist/types-chunks/{history-retrieval.d-BKTJIrVd.d.ts → history-retrieval.d-B__aEN62.d.ts} +2 -2
  84. package/dist/types-chunks/{public-api.d-CX4B11qY.d.ts → public-api.d--fF88JrC.d.ts} +3 -3
  85. package/dist/types-chunks/{run-manager.d-B9fEIjZk.d.ts → run-manager.d-B47hIqnI.d.ts} +1 -1
  86. package/dist/types-chunks/{sdk-session-B0fhAOPa.d.ts → sdk-session-CLWf8Adb.d.ts} +3 -3
  87. package/dist/types-chunks/{side-query.d-DWTMsndP.d.ts → side-query.d-5JvXhuOZ.d.ts} +22 -10
  88. package/dist/types-chunks/types-LanCEDj8.d.ts +623 -0
  89. package/dist/types-chunks/{types.d-DEctY20M.d.ts → types.d-CODuyyqy.d.ts} +2 -2
  90. package/dist/types-chunks/{types.d-Bm_y6YuM.d.ts → types.d-DCsKM8aT.d.ts} +4 -4
  91. package/dist/types-chunks/{types.d-CSmF0t0n.d.ts → types.d-DIpZJKUl.d.ts} +15 -0
  92. package/dist/types-chunks/{types.d-sRLugmjy.d.ts → types.d-RdWRfUEs.d.ts} +47 -4
  93. package/dist/types-chunks/{utils.d-D0wPxz8y.d.ts → utils.d-CDduqbFw.d.ts} +5 -5
  94. package/docs/SDK_EMBEDDER_GUIDE.md +197 -68
  95. package/package.json +2 -1
  96. package/scripts/kodax-bin.cjs +28 -28
  97. package/scripts/production-env.cjs +25 -25
  98. package/dist/chunks/agent-7X5CFET2.js +0 -2
  99. package/dist/chunks/argument-completer-3NHIKB4N.js +0 -2
  100. package/dist/chunks/chunk-7FJNLJLF.js +0 -369
  101. package/dist/chunks/chunk-COQYLD4U.js +0 -5
  102. package/dist/chunks/chunk-D3T24FJW.js +0 -78
  103. package/dist/chunks/chunk-EI4JBQKL.js +0 -46
  104. package/dist/chunks/chunk-IDCGNQ4H.js +0 -5
  105. package/dist/chunks/chunk-KAY2XLCP.js +0 -74
  106. package/dist/chunks/chunk-OD6LVXU6.js +0 -329
  107. package/dist/chunks/chunk-OSF3H4RR.js +0 -22
  108. package/dist/chunks/chunk-TGMBHGZO.js +0 -427
  109. package/dist/chunks/chunk-VWSLC2WO.js +0 -770
  110. package/dist/chunks/chunk-Y3AMP22L.js +0 -37
  111. package/dist/chunks/compaction-config-7J2XE35D.js +0 -2
  112. package/dist/chunks/dist-2RA7LSH3.js +0 -2
  113. package/dist/chunks/dist-URKXBOC6.js +0 -2
  114. package/dist/chunks/host-RKZ2OGFT.js +0 -2
  115. package/dist/chunks/run-manager-7RM4HEH6.js +0 -2
@@ -1,5 +1,5 @@
1
1
  // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
- import{$ as Ar,A as aC,Aa as EC,B as cC,Ba as MC,C as Do,Ca as AC,D as ra,Da as _C,E as lC,Ea as LC,F as oa,Fa as PC,G as uC,Ga as Li,H as dC,Ha as Pi,I as ia,Ia as Wh,J as Qd,Ja as $C,K as fC,L as ef,La as Fh,M as nl,Ma as pf,N as Oh,Na as DC,O as pC,Oa as OC,P as Nh,Q as Oo,R as tf,S as sa,T as nf,U as rf,V as mC,W as hC,X as aa,Y as gC,Z as No,_ as yC,a as dr,aa as of,b as j,ba as sf,c as N_,ca as xn,d as fn,da as _r,e as Kd,ea as Bh,f as MT,fa as _i,g as Vn,ga as Bo,h as Vd,ha as rl,i as zd,ia as af,j as co,ja as xC,k as Ys,ka as SC,l as AT,la as wC,m as qs,ma as TC,n as tC,na as CC,o as $h,oa as vC,p as nC,pa as cf,q as pn,qa as lf,r as rC,ra as ol,s as fr,sa as uf,t as ta,ta as df,u as oC,ua as ff,v as na,va as IC,w as Dh,wa as bC,x as Jd,xa as RC,y as iC,ya as Hh,z as sC,za as kC}from"./chunk-HS3XHF3R.js";import{A as KT,F as VT,G as $o,H as Mi,K as zT,L as XT,M as YT,N as qT,O as JT,P as QT,Q as ZT,T as Xd,U as Ai,V as Yd,W as Qs,X as Zs,Y as ea,Z as qd,_ as uo,a as re,b as _T,c as LT,ca as eC,d as Js,e as PT,f as $T,g as ki,h as DT,i as OT,j as NT,k as tl,l as BT,m as HT,n as lo,o as WT,p as FT,q as jT,s as UT,t as GT,u as Ei,v as Mr}from"./chunk-4PWPNCNK.js";import{a as Zd}from"./chunk-RDXRM3UI.js";import{Ba as Gd,K as vT,L as IT,N as Ph,O as bT,P as RT,c as Eh,da as kT,n as jd,o as Ud,v as CT,w as el,ya as ET}from"./chunk-TGMBHGZO.js";import{J as ST}from"./chunk-OSF3H4RR.js";import{Aa as TT,b as Zc,c as eT,q as xT,za as wT}from"./chunk-OD6LVXU6.js";import{Ia as fT,Lc as Fd,Oc as mT,cd as hT,e as Xs,eb as pT,gd as gT,hd as yT,u as dT,va as Wd}from"./chunk-7FJNLJLF.js";import{Ma as vi,ia as Rh,ka as Ci,wa as Qc,ya as kh}from"./chunk-D3T24FJW.js";import{Bc as Ld,Cc as Pd,Dc as $d,Ec as Fs,Ga as nT,Ic as Dd,Id as Bd,Jc as bi,Jd as Hd,Uc as aT,Vc as _h,Ya as Mh,Za as Er,ab as Ah,dd as cT,hd as lT,k as Ii,kd as nt,ld as uT,mb as rT,md as kt,od as js,pd as Us,qd as Od,r as tT,rb as Md,sd as Gs,tb as oT,td as Ks,ud as Vs,vd as zs,wd as Nd,xd as Ri,yd as Lh}from"./chunk-VWSLC2WO.js";import{W as Ad,X as _d,b as Ct,e as ao,f as ur,g as Ed,t as iT,u as sT}from"./chunk-Y3AMP22L.js";import{b as vd,j as Id,k as bd,o as Rd,w as Kn,y as kd}from"./chunk-COQYLD4U.js";import{a as i,c as O_}from"./chunk-ONUPGMER.js";import{spawnSync as B_}from"node:child_process";function mf(e){return e==="1"||e?.toLowerCase()==="true"}i(mf,"isTruthyEnv");function NC(e){return e==="0"||e?.toLowerCase()==="false"}i(NC,"isFalseyEnv");function $i(e=process.env){return e.TERM_PROGRAM?.toLowerCase()==="vscode"||!!e.VSCODE_GIT_IPC_HANDLE||!!e.VSCODE_INJECTION}i($i,"isVsCodeTerminalHostEnv");function Di(e={}){let t=e.env??process.env;return(e.platform??process.platform)==="win32"||!!t.WT_SESSION}i(Di,"hasCursorUpViewportYankRisk");function H_(e){return!!(e.SSH_CONNECTION||e.SSH_CLIENT||e.SSH_TTY)}i(H_,"isSshSession");function ca(e={}){let t=e.env??process.env;return mf(t.KODAX_FULLSCREEN)?!1:(e.platform??process.platform)==="win32"&&H_(t)}i(ca,"isRemoteConptyHost");function il(e={}){let t=e.env??process.env;return Di(e)||$i(t)}i(il,"hasMainScreenRenderScrollRisk");function W_(e){if(!e.TMUX||e.TERM_PROGRAM!=="iTerm.app")return!1;let t=e.TERM??"";return!t.startsWith("screen")&&!t.startsWith("tmux")}i(W_,"isTmuxControlModeEnvHeuristic");var fo;function la(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(W_(t))return!0;if(!(t===process.env&&n===process.platform))return!1;if(fo!==void 0||(fo=!1,!t.TMUX)||t.TERM_PROGRAM&&t.TERM_PROGRAM!=="iTerm.app")return fo;try{let o=B_("tmux",["display-message","-p","#{client_control_mode}"],{encoding:"utf8",timeout:2e3});o.status===0&&(fo=o.stdout.trim()==="1")}catch{fo=!1}return fo}i(la,"isTmuxControlMode");function hf(){fo=void 0}i(hf,"resetTmuxControlModeProbeForTesting");function Ho(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":la(e)?"tmux_control_mode":$i(t)?"xtermjs_host":ca(e)?"remote_conpty_host":Di(e)?"degraded_vt":"native_vt"}i(Ho,"detectTerminalRenderHost");var Wo=Ho;function Oi(e={}){let t=e.env??process.env;if(mf(t.KODAX_FORCE_INK))return"legacy";let n=t.KODAX_TUI_RENDERER?.trim().toLowerCase();return n==="legacy"||n==="owned"||n==="auto"?n:"auto"}i(Oi,"resolveConfiguredTuiRendererMode");function Fo(e={}){let t=Oi(e);if(t==="legacy"||t==="owned")return t;let n=Ho(e);return n==="unsupported_control_host"||n==="tmux_control_mode"?"legacy":"owned"}i(Fo,"resolveEffectiveTuiRendererMode");function sl(e={}){let t=e.env??process.env;if(mf(t.KODAX_FORCE_CLASSIC_REPL))return"classic";let n=Oi({env:t});if(n==="legacy"||n==="owned")return"ink";let r=Ho(e);return r==="unsupported_control_host"||r==="tmux_control_mode"?"classic":"ink"}i(sl,"resolveInteractiveSurfacePreference");var F_={enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!0},BC={enabled:!0,promptShell:"main-screen",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!1,transcriptSpinnerAnimation:!0};function jo(e,t="owned",n={}){let r=n.env??process.env;return NC(r.KODAX_FULLSCREEN)?t==="owned"&&e!=="tmux_control_mode"&&e!=="unsupported_control_host"?BC:F_:j_(e,t)}i(jo,"resolveFullscreenPolicy");function j_(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 BC;default:return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1}}}i(j_,"buildFullscreenPolicy");function Ni(e,t={}){let n=t.rendererMode??"owned",r=jo(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(Ni,"getTerminalHostCapabilities");function al(e={}){return Fo(e)==="owned"}i(al,"isOwnedRendererPreferred");function cl(e={}){let t=e.env??process.env;return mf(t.KODAX_FORCE_CLASSIC_REPL)&&!NC(t.KODAX_FORCE_CLASSIC_REPL)}i(cl,"isClassicReplForced");var Bi=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}},jh=1,Uh=2,U_=1e3,HC;function yf(){if(!(typeof Intl>"u"||typeof Intl.Segmenter!="function"))return HC??=new Intl.Segmenter("en",{granularity:"grapheme"}),HC}i(yf,"getGraphemeSegmenter");function Sn(e){if(!e)return 0;let t=yf();if(t){let n=0;for(let r of t.segment(e))n++;return n}return[...e].length}i(Sn,"getCodePointLength");function pr(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(pr,"isWideChar");function mr(e){if(!e)return 0;let t=0,n=yf();if(n)for(let r of n.segment(e))t+=pr(r.segment)?Uh:jh;else for(let r of e)t+=pr(r)?Uh:jh;return t}i(mr,"getVisualWidth");function WC(e,t){if(!e||t<0)return"";let n=yf();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(WC,"getCharAtCodePoint");function mn(e){if(!e)return[];let t=yf();if(t){let n=[];for(let r of t.segment(e))n.push(r.segment);return n}return[...e]}i(mn,"splitByCodePoints");function G_(e,t,n){return mn(e).slice(t,n).join("")}i(G_,"sliceByCodePoints");function FC(e,t){let n=Math.max(0,t),r=mn(e),o=0,s=0;for(;o<r.length;){let a=pr(r[o])?Uh:jh;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 ua(e,t,n=!1){if(!e||t<=0)return"";let r="\u2026",s=n?t-1:t,a="",c=0,l=mn(e);for(let d of l){let f=pr(d)?2:1;if(c+f>s)break;a+=d,c+=f}return n&&a.length<e.length&&(a+=r),a}i(ua,"truncateByVisualWidth");var gf=new Bi(U_);function xf(e){let t=gf.get(e);if(t!==void 0)return t;let n=mr(e);return gf.set(e,n),n}i(xf,"getVisualWidthCached");function hn(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=mn(l);for(;d<f.length;){let p="",m=0,h=d,S=-1;for(let I=d;I<f.length;I++){let T=f[I],w=pr(T)?2:1;if(m+w>t){S>=0&&I-d>0?(p=f.slice(d,S).join(""),m=f.slice(d,S).reduce((b,M)=>b+(pr(M)?2:1),0),h=S):p.length===0&&w>t&&(p=T,m=w,h=I+1);break}p+=T,m+=w,h=I+1,T===" "&&(S=I+1)}if(p.length>0||o.length===0){let I=d,T=o.length;o.push(p),s[c].push([T,I]),a.push([c,I])}d=h}}return{visualLines:o,logicalToVisualMap:s,visualToLogicalMap:a}}i(hn,"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[h,S]of a)if(S<=s)c=[h,S];else break;let[l,d]=c??a[0],f=r[l]??"",p=Math.max(0,s-d),m=mr(G_(f,0,p));return[l,m]}i(Sf,"calculateVisualCursorFromLayout");var wf={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"]}},Gh={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 Kh={dark:wf,minimal:Gh};function oe(e="dark"){return Kh[e]??wf}i(oe,"getTheme");function K_(){return Object.keys(Kh)}i(K_,"getThemeNames");import{jsx as Cn,jsxs as Xn,Fragment as Z$}from"react/jsx-runtime";import{useMemo as Yf}from"react";import{jsx as CI}from"react/jsx-runtime";import{createContext as E$,useContext as Vi,useEffect as Sa,useMemo as TI,useState as M$,useCallback as vI,useRef as Ff}from"react";import{Stream as o$}from"node:stream";import{openSync as i$,writeSync as lI}from"node:fs";import{performance as s$}from"node:perf_hooks";import{tmpdir as a$}from"node:os";import{join as c$}from"node:path";import Vh,{forwardRef as X_,useContext as Y_}from"react";import{createContext as V_}from"react";var da=V_({isScreenReaderEnabled:!1});import{createContext as z_}from"react";var Tf=z_(void 0);var jC=X_(({children:e,backgroundColor:t,"aria-label":n,"aria-hidden":r,"aria-role":o,"aria-state":s,...a},c)=>{let{isScreenReaderEnabled:l}=Y_(da),d=n?Vh.createElement("ink-text",null,n):void 0;if(l&&r)return null;let f=Vh.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?Vh.createElement(Tf.Provider,{value:t},f):f});jC.displayName="Box";var zn=jC;import Z_,{useContext as UC}from"react";import fa from"chalk";import Uo from"chalk";var q_=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,J_=/^ansi256\(\s?(\d+)\s?\)$/;function Q_(e){return e in Uo}i(Q_,"isNamedColor");function hr(e,t,n){if(!t)return e;if(Q_(t)){let r=Uo;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"?Uo.hex(t)(e):Uo.bgHex(t)(e);if(t.startsWith("ansi256")){let r=J_.exec(t);if(!r)return e;let o=Number(r[1]);return n==="foreground"?Uo.ansi256(o)(e):Uo.bgAnsi256(o)(e)}if(t.startsWith("rgb")){let r=q_.exec(t);if(!r)return e;let o=Number(r[1]),s=Number(r[2]),a=Number(r[3]);return n==="foreground"?Uo.rgb(o,s,a)(e):Uo.bgRgb(o,s,a)(e)}return e}i(hr,"colorize");function wn({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:m=!1}){let{isScreenReaderEnabled:h}=UC(da),S=UC(Tf),I=h&&f?f:d;if(I==null)return null;let T=i(w=>{let b=w;n&&(b=fa.dim(b)),e&&(b=hr(b,e,"foreground"));let M=t??S;return M&&(b=hr(b,M,"background")),r&&(b=fa.bold(b)),o&&(b=fa.italic(b)),s&&(b=fa.underline(b)),a&&(b=fa.strikethrough(b)),c&&(b=fa.inverse(b)),b},"transform");return h&&p?null:Z_.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:l},internal_transform:T,...m?{internal_cursorAnchor:!0}:{}},h&&f?f:d)}i(wn,"Text");import eL,{useLayoutEffect as tL,useMemo as GC,useState as nL}from"react";function zh({items:e,children:t,style:n}){let[r,o]=nL(0),s=GC(()=>e.slice(r),[e,r]);tL(()=>{o(e.length)},[e.length]);let a=s.map((l,d)=>t(l,r+d)),c=GC(()=>({position:"absolute",flexDirection:"column",...n}),[n]);return eL.createElement("ink-box",{internal_static:!0,style:c},a)}i(zh,"Static");import Gi from"node:process";import sI from"react";import{throttle as HP}from"es-toolkit/compat";import Tn from"ansi-escapes";import So from"is-in-ci";import WP from"auto-bind";import{onExit as FP}from"signal-exit";import jP from"patch-console";import{LegacyRoot as UP,ConcurrentRoot as GP}from"react-reconciler/constants.js";import KP from"yoga-layout";import VP from"wrap-ansi";import zP from"terminal-size";import rL from"node:process";var Cf=i(()=>rL.env.DEV==="true","isDev");import AL from"react-reconciler";import{DefaultEventPriority as _L,NoEventPriority as sv}from"react-reconciler/constants.js";import*as Go from"scheduler";import nv from"yoga-layout";import{createContext as LL}from"react";import xL from"yoga-layout";import oL from"widest-line";var KC=new Map,iL=i(e=>{if(e.length===0)return{width:0,height:0};let t=KC.get(e);if(t)return t;let n=oL(e),r=e.split(`
2
+ import{$ as Ar,A as aC,Aa as EC,B as cC,Ba as MC,C as Do,Ca as AC,D as ra,Da as _C,E as lC,Ea as LC,F as oa,Fa as PC,G as uC,Ga as Li,H as dC,Ha as Pi,I as ia,Ia as Wh,J as Qd,Ja as $C,K as fC,L as ef,La as Fh,M as nl,Ma as pf,N as Oh,Na as DC,O as pC,Oa as OC,P as Nh,Q as Oo,R as tf,S as sa,T as nf,U as rf,V as mC,W as hC,X as aa,Y as gC,Z as No,_ as yC,a as dr,aa as of,b as j,ba as sf,c as N_,ca as xn,d as fn,da as _r,e as Kd,ea as Bh,f as MT,fa as _i,g as Vn,ga as Bo,h as Vd,ha as rl,i as zd,ia as af,j as co,ja as xC,k as Ys,ka as SC,l as AT,la as wC,m as qs,ma as TC,n as tC,na as CC,o as $h,oa as vC,p as nC,pa as cf,q as pn,qa as lf,r as rC,ra as ol,s as fr,sa as uf,t as ta,ta as df,u as oC,ua as ff,v as na,va as IC,w as Dh,wa as bC,x as Jd,xa as RC,y as iC,ya as Hh,z as sC,za as kC}from"./chunk-ON2WG2LG.js";import{A as KT,F as VT,G as $o,H as Mi,K as zT,L as XT,M as YT,N as qT,O as JT,P as QT,Q as ZT,T as Xd,U as Ai,V as Yd,W as Qs,X as Zs,Y as ea,Z as qd,_ as uo,a as re,b as _T,c as LT,ca as eC,d as Js,e as PT,f as $T,g as ki,h as DT,i as OT,j as NT,k as tl,l as BT,m as HT,n as lo,o as WT,p as FT,q as jT,s as UT,t as GT,u as Ei,v as Mr}from"./chunk-JS2BHGJP.js";import{a as Zd}from"./chunk-HORNWBYR.js";import{Ba as ET,Ea as Gd,N as vT,O as IT,Q as Ph,R as bT,S as RT,c as Lh,ga as kT,n as jd,o as Ud,v as CT,w as el}from"./chunk-AOENDSVN.js";import{J as ST}from"./chunk-3DD4QEBH.js";import{Ga as wT,Ha as TT,b as Zc,c as uT,q as xT}from"./chunk-HV2GMZUZ.js";import{$c as mT,Ea as Wd,Ra as fT,Yc as Fd,j as Xs,pb as pT,pd as hT,td as gT,ud as yT,z as dT}from"./chunk-OAMKECRG.js";import{Aa as kh,Pa as vi,ka as Rh,ma as Ci,ya as Qc}from"./chunk-FSXI4MAV.js";import{Ac as Pd,Bc as $d,Cc as Fs,Ea as tT,Gc as Dd,Gd as Bd,Hc as bi,Hd,Sc as sT,Tc as Ah,Wa as Eh,Xa as Er,_a as Mh,bd as aT,fd as cT,id as nt,jd as lT,kb as nT,kd as kt,md as js,nd as Us,od as Od,p as eT,pb as Md,qd as Gs,rb as rT,rd as Ks,sd as Vs,td as zs,ud as Nd,vd as Ri,wd as _h,zc as Ld}from"./chunk-2MQPVY6P.js";import{Y as Ad,Z as _d,a as Ii,d as Ct,g as ao,h as ur,i as vd,v as oT,w as iT}from"./chunk-TGCG7U2W.js";import{b as Kn,d as Id,l as bd,t as Rd,u as kd,y as Ed}from"./chunk-XSA37BVM.js";import{a as i,c as O_}from"./chunk-ONUPGMER.js";import{spawnSync as B_}from"node:child_process";function mf(e){return e==="1"||e?.toLowerCase()==="true"}i(mf,"isTruthyEnv");function NC(e){return e==="0"||e?.toLowerCase()==="false"}i(NC,"isFalseyEnv");function $i(e=process.env){return e.TERM_PROGRAM?.toLowerCase()==="vscode"||!!e.VSCODE_GIT_IPC_HANDLE||!!e.VSCODE_INJECTION}i($i,"isVsCodeTerminalHostEnv");function Di(e={}){let t=e.env??process.env;return(e.platform??process.platform)==="win32"||!!t.WT_SESSION}i(Di,"hasCursorUpViewportYankRisk");function H_(e){return!!(e.SSH_CONNECTION||e.SSH_CLIENT||e.SSH_TTY)}i(H_,"isSshSession");function ca(e={}){let t=e.env??process.env;return mf(t.KODAX_FULLSCREEN)?!1:(e.platform??process.platform)==="win32"&&H_(t)}i(ca,"isRemoteConptyHost");function il(e={}){let t=e.env??process.env;return Di(e)||$i(t)}i(il,"hasMainScreenRenderScrollRisk");function W_(e){if(!e.TMUX||e.TERM_PROGRAM!=="iTerm.app")return!1;let t=e.TERM??"";return!t.startsWith("screen")&&!t.startsWith("tmux")}i(W_,"isTmuxControlModeEnvHeuristic");var fo;function la(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(W_(t))return!0;if(!(t===process.env&&n===process.platform))return!1;if(fo!==void 0||(fo=!1,!t.TMUX)||t.TERM_PROGRAM&&t.TERM_PROGRAM!=="iTerm.app")return fo;try{let o=B_("tmux",["display-message","-p","#{client_control_mode}"],{encoding:"utf8",timeout:2e3});o.status===0&&(fo=o.stdout.trim()==="1")}catch{fo=!1}return fo}i(la,"isTmuxControlMode");function hf(){fo=void 0}i(hf,"resetTmuxControlModeProbeForTesting");function Ho(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":la(e)?"tmux_control_mode":$i(t)?"xtermjs_host":ca(e)?"remote_conpty_host":Di(e)?"degraded_vt":"native_vt"}i(Ho,"detectTerminalRenderHost");var Wo=Ho;function Oi(e={}){let t=e.env??process.env;if(mf(t.KODAX_FORCE_INK))return"legacy";let n=t.KODAX_TUI_RENDERER?.trim().toLowerCase();return n==="legacy"||n==="owned"||n==="auto"?n:"auto"}i(Oi,"resolveConfiguredTuiRendererMode");function Fo(e={}){let t=Oi(e);if(t==="legacy"||t==="owned")return t;let n=Ho(e);return n==="unsupported_control_host"||n==="tmux_control_mode"?"legacy":"owned"}i(Fo,"resolveEffectiveTuiRendererMode");function sl(e={}){let t=e.env??process.env;if(mf(t.KODAX_FORCE_CLASSIC_REPL))return"classic";let n=Oi({env:t});if(n==="legacy"||n==="owned")return"ink";let r=Ho(e);return r==="unsupported_control_host"||r==="tmux_control_mode"?"classic":"ink"}i(sl,"resolveInteractiveSurfacePreference");var F_={enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!0},BC={enabled:!0,promptShell:"main-screen",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!1,transcriptSpinnerAnimation:!0};function jo(e,t="owned",n={}){let r=n.env??process.env;return NC(r.KODAX_FULLSCREEN)?t==="owned"&&e!=="tmux_control_mode"&&e!=="unsupported_control_host"?BC:F_:j_(e,t)}i(jo,"resolveFullscreenPolicy");function j_(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 BC;default:return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1}}}i(j_,"buildFullscreenPolicy");function Ni(e,t={}){let n=t.rendererMode??"owned",r=jo(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(Ni,"getTerminalHostCapabilities");function al(e={}){return Fo(e)==="owned"}i(al,"isOwnedRendererPreferred");function cl(e={}){let t=e.env??process.env;return mf(t.KODAX_FORCE_CLASSIC_REPL)&&!NC(t.KODAX_FORCE_CLASSIC_REPL)}i(cl,"isClassicReplForced");var Bi=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}},jh=1,Uh=2,U_=1e3,HC;function yf(){if(!(typeof Intl>"u"||typeof Intl.Segmenter!="function"))return HC??=new Intl.Segmenter("en",{granularity:"grapheme"}),HC}i(yf,"getGraphemeSegmenter");function Sn(e){if(!e)return 0;let t=yf();if(t){let n=0;for(let r of t.segment(e))n++;return n}return[...e].length}i(Sn,"getCodePointLength");function pr(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(pr,"isWideChar");function mr(e){if(!e)return 0;let t=0,n=yf();if(n)for(let r of n.segment(e))t+=pr(r.segment)?Uh:jh;else for(let r of e)t+=pr(r)?Uh:jh;return t}i(mr,"getVisualWidth");function WC(e,t){if(!e||t<0)return"";let n=yf();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(WC,"getCharAtCodePoint");function mn(e){if(!e)return[];let t=yf();if(t){let n=[];for(let r of t.segment(e))n.push(r.segment);return n}return[...e]}i(mn,"splitByCodePoints");function G_(e,t,n){return mn(e).slice(t,n).join("")}i(G_,"sliceByCodePoints");function FC(e,t){let n=Math.max(0,t),r=mn(e),o=0,s=0;for(;o<r.length;){let a=pr(r[o])?Uh:jh;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 ua(e,t,n=!1){if(!e||t<=0)return"";let r="\u2026",s=n?t-1:t,a="",c=0,l=mn(e);for(let d of l){let f=pr(d)?2:1;if(c+f>s)break;a+=d,c+=f}return n&&a.length<e.length&&(a+=r),a}i(ua,"truncateByVisualWidth");var gf=new Bi(U_);function xf(e){let t=gf.get(e);if(t!==void 0)return t;let n=mr(e);return gf.set(e,n),n}i(xf,"getVisualWidthCached");function hn(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=mn(l);for(;d<f.length;){let p="",m=0,h=d,S=-1;for(let I=d;I<f.length;I++){let T=f[I],w=pr(T)?2:1;if(m+w>t){S>=0&&I-d>0?(p=f.slice(d,S).join(""),m=f.slice(d,S).reduce((b,M)=>b+(pr(M)?2:1),0),h=S):p.length===0&&w>t&&(p=T,m=w,h=I+1);break}p+=T,m+=w,h=I+1,T===" "&&(S=I+1)}if(p.length>0||o.length===0){let I=d,T=o.length;o.push(p),s[c].push([T,I]),a.push([c,I])}d=h}}return{visualLines:o,logicalToVisualMap:s,visualToLogicalMap:a}}i(hn,"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[h,S]of a)if(S<=s)c=[h,S];else break;let[l,d]=c??a[0],f=r[l]??"",p=Math.max(0,s-d),m=mr(G_(f,0,p));return[l,m]}i(Sf,"calculateVisualCursorFromLayout");var wf={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"]}},Gh={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 Kh={dark:wf,minimal:Gh};function oe(e="dark"){return Kh[e]??wf}i(oe,"getTheme");function K_(){return Object.keys(Kh)}i(K_,"getThemeNames");import{jsx as Cn,jsxs as Xn,Fragment as Z$}from"react/jsx-runtime";import{useMemo as Yf}from"react";import{jsx as CI}from"react/jsx-runtime";import{createContext as E$,useContext as Vi,useEffect as Sa,useMemo as TI,useState as M$,useCallback as vI,useRef as Ff}from"react";import{Stream as o$}from"node:stream";import{openSync as i$,writeSync as lI}from"node:fs";import{performance as s$}from"node:perf_hooks";import{tmpdir as a$}from"node:os";import{join as c$}from"node:path";import Vh,{forwardRef as X_,useContext as Y_}from"react";import{createContext as V_}from"react";var da=V_({isScreenReaderEnabled:!1});import{createContext as z_}from"react";var Tf=z_(void 0);var jC=X_(({children:e,backgroundColor:t,"aria-label":n,"aria-hidden":r,"aria-role":o,"aria-state":s,...a},c)=>{let{isScreenReaderEnabled:l}=Y_(da),d=n?Vh.createElement("ink-text",null,n):void 0;if(l&&r)return null;let f=Vh.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?Vh.createElement(Tf.Provider,{value:t},f):f});jC.displayName="Box";var zn=jC;import Z_,{useContext as UC}from"react";import fa from"chalk";import Uo from"chalk";var q_=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,J_=/^ansi256\(\s?(\d+)\s?\)$/;function Q_(e){return e in Uo}i(Q_,"isNamedColor");function hr(e,t,n){if(!t)return e;if(Q_(t)){let r=Uo;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"?Uo.hex(t)(e):Uo.bgHex(t)(e);if(t.startsWith("ansi256")){let r=J_.exec(t);if(!r)return e;let o=Number(r[1]);return n==="foreground"?Uo.ansi256(o)(e):Uo.bgAnsi256(o)(e)}if(t.startsWith("rgb")){let r=q_.exec(t);if(!r)return e;let o=Number(r[1]),s=Number(r[2]),a=Number(r[3]);return n==="foreground"?Uo.rgb(o,s,a)(e):Uo.bgRgb(o,s,a)(e)}return e}i(hr,"colorize");function wn({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:m=!1}){let{isScreenReaderEnabled:h}=UC(da),S=UC(Tf),I=h&&f?f:d;if(I==null)return null;let T=i(w=>{let b=w;n&&(b=fa.dim(b)),e&&(b=hr(b,e,"foreground"));let M=t??S;return M&&(b=hr(b,M,"background")),r&&(b=fa.bold(b)),o&&(b=fa.italic(b)),s&&(b=fa.underline(b)),a&&(b=fa.strikethrough(b)),c&&(b=fa.inverse(b)),b},"transform");return h&&p?null:Z_.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:l},internal_transform:T,...m?{internal_cursorAnchor:!0}:{}},h&&f?f:d)}i(wn,"Text");import eL,{useLayoutEffect as tL,useMemo as GC,useState as nL}from"react";function zh({items:e,children:t,style:n}){let[r,o]=nL(0),s=GC(()=>e.slice(r),[e,r]);tL(()=>{o(e.length)},[e.length]);let a=s.map((l,d)=>t(l,r+d)),c=GC(()=>({position:"absolute",flexDirection:"column",...n}),[n]);return eL.createElement("ink-box",{internal_static:!0,style:c},a)}i(zh,"Static");import Gi from"node:process";import sI from"react";import{throttle as HP}from"es-toolkit/compat";import Tn from"ansi-escapes";import So from"is-in-ci";import WP from"auto-bind";import{onExit as FP}from"signal-exit";import jP from"patch-console";import{LegacyRoot as UP,ConcurrentRoot as GP}from"react-reconciler/constants.js";import KP from"yoga-layout";import VP from"wrap-ansi";import zP from"terminal-size";import rL from"node:process";var Cf=i(()=>rL.env.DEV==="true","isDev");import AL from"react-reconciler";import{DefaultEventPriority as _L,NoEventPriority as sv}from"react-reconciler/constants.js";import*as Go from"scheduler";import nv from"yoga-layout";import{createContext as LL}from"react";import xL from"yoga-layout";import oL from"widest-line";var KC=new Map,iL=i(e=>{if(e.length===0)return{width:0,height:0};let t=KC.get(e);if(t)return t;let n=oL(e),r=e.split(`
3
3
  `).length,o={width:n,height:r};return KC.set(e,o),o},"measureText"),Xh=iL;import sL from"wrap-ansi";import aL from"cli-truncate";var VC={},cL=i((e,t,n)=>{let r=e+String(t)+String(n),o=VC[r];if(o)return o;let s=e;if(n==="wrap"&&(s=sL(e,t,{trim:!1,hard:!0})),n.startsWith("truncate")){let a="end";n==="truncate-middle"&&(a="middle"),n==="truncate-start"&&(a="start"),s=aL(e,t,{position:a})}return VC[r]=s,s},"wrapText"),vf=cL;var lL=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=63},"isCsiParameterCharacter"),uL=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isCsiIntermediateCharacter"),dL=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=64&&t<=126},"isCsiFinalCharacter"),YC=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isEscapeIntermediateCharacter"),fL=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=126},"isEscapeFinalCharacter"),qC=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=128&&t<=159},"isC1ControlCharacter"),zC=i((e,t)=>{let n=t;for(;n<e.length;){let c=e[n];if(!lL(c))break;n++}let r=e.slice(t,n),o=n;for(;n<e.length;){let c=e[n];if(!uL(c))break;n++}let s=e.slice(o,n),a=e[n];if(!(a===void 0||!dL(a)))return{endIndex:n+1,parameterString:r,intermediateString:s,finalCharacter:a}},"readCsiSequence"),XC=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"),pL=i((e,t)=>{let n=t;for(;n<e.length;){let s=e[n];if(!YC(s))break;n++}let r=e.slice(t,n),o=e[n];if(!(o===void 0||!fL(o)))return{endIndex:n+1,intermediateString:r,finalCharacter:o}},"readEscapeSequence"),mL=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"),hL=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"),Yh=i(e=>{if(e.includes("\x1B"))return!0;for(let t of e)if(qC(t))return!0;return!1},"hasAnsiControlCharacters"),pa=i((e,t,n,r)=>(r>n&&e.push({type:"text",value:t.slice(n,r)}),e.push({type:"invalid",value:t.slice(r)}),e),"malformedFromIndex"),JC=i(e=>{if(!Yh(e))return[{type:"text",value:e}];let t=[],n=0;for(let r=0;r<e.length;){let o=e[r];if(o===void 0)break;if(o==="\x1B"){let a=e[r+1];if(a===void 0)return pa(t,e,n,r);if(a==="["){let d=zC(e,r+2);if(d===void 0)return pa(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"csi",value:e.slice(r,d.endIndex),parameterString:d.parameterString,intermediateString:d.intermediateString,finalCharacter:d.finalCharacter}),r=d.endIndex,n=r;continue}let c=mL(a);if(c!==void 0){let d=XC(e,r+2,c.allowBellTerminator);if(d===void 0)return pa(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:c.type,value:e.slice(r,d)}),r=d,n=r;continue}let l=pL(e,r+1);if(l===void 0){if(YC(a))return pa(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),r++,n=r;continue}r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"esc",value:e.slice(r,l.endIndex),intermediateString:l.intermediateString,finalCharacter:l.finalCharacter}),r=l.endIndex,n=r;continue}if(o==="\x9B"){let a=zC(e,r+1);if(a===void 0)return pa(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"csi",value:e.slice(r,a.endIndex),parameterString:a.parameterString,intermediateString:a.intermediateString,finalCharacter:a.finalCharacter}),r=a.endIndex,n=r;continue}let s=hL(o);if(s!==void 0){let a=XC(e,r+1,s.allowBellTerminator);if(a===void 0)return pa(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:s.type,value:e.slice(r,a)}),r=a,n=r;continue}if(o==="\x9C"){r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"st",value:o}),r++,n=r;continue}if(qC(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 gL=/^[\d:;]*$/,yL=i(e=>{if(!Yh(e))return e;let t="";for(let n of JC(e)){if(n.type==="text"||n.type==="osc"){t+=n.value;continue}n.type==="csi"&&n.finalCharacter==="m"&&n.intermediateString===""&&gL.test(n.parameterString)&&(t+=n.value)}return t},"sanitizeAnsi"),QC=yL;var ZC=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=ZC(r)),o.length>0&&typeof r.internal_transform=="function"&&(o=r.internal_transform(o,n))),t+=o}return QC(t)},"squashTextNodes"),ll=ZC;var If=i(e=>{let t={nodeName:e,style:{},attributes:{},childNodes:[],parentNode:void 0,yogaNode:e==="ink-virtual-text"?void 0:xL.Node.create(),internal_accessibility:{}};return e==="ink-text"&&t.yogaNode?.setMeasureFunc(SL.bind(null,t)),t},"createNode"),bf=i((e,t)=>{t.parentNode&&ul(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")&&Rf(e)},"appendChildNode"),qh=i((e,t,n)=>{t.parentNode&&ul(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")&&Rf(e)},"insertBeforeNode"),ul=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")&&Rf(e)},"removeChildNode"),Jh=i((e,t,n)=>{if(t==="internal_accessibility"){e.internal_accessibility=n;return}e.attributes[t]=n},"setAttribute"),Qh=i((e,t)=>{e.style=t},"setStyle"),ev=i(e=>{let t={nodeName:"#text",nodeValue:e,yogaNode:void 0,parentNode:void 0,style:{}};return dl(t,e),t},"createTextNode"),SL=i(function(e,t){let n=e.nodeName==="#text"?e.nodeValue:ll(e),r=Xh(n);if(r.width<=t||r.width>=1&&t>0&&t<1)return r;let o=e.style?.textWrap??"wrap",s=vf(n,t,o);return Xh(s)},"measureTextNode"),tv=i(e=>{if(e?.parentNode)return e.yogaNode??tv(e.parentNode)},"findClosestYogaNode"),Rf=i(e=>{tv(e)?.markDirty()},"markNodeAsDirty"),dl=i((e,t)=>{typeof t!="string"&&(t=String(t)),e.nodeValue=t,Rf(e)},"setTextNodeValue");import Re from"yoga-layout";var TL=i((e,t)=>{"position"in t&&e.setPositionType(t.position==="absolute"?Re.POSITION_TYPE_ABSOLUTE:Re.POSITION_TYPE_RELATIVE),"top"in t&&e.setPosition(Re.EDGE_TOP,t.top??0),"bottom"in t&&e.setPosition(Re.EDGE_BOTTOM,t.bottom??0),"left"in t&&e.setPosition(Re.EDGE_LEFT,t.left??0),"right"in t&&e.setPosition(Re.EDGE_RIGHT,t.right??0)},"applyPositionStyles"),CL=i((e,t)=>{"margin"in t&&e.setMargin(Re.EDGE_ALL,t.margin??0),"marginX"in t&&e.setMargin(Re.EDGE_HORIZONTAL,t.marginX??0),"marginY"in t&&e.setMargin(Re.EDGE_VERTICAL,t.marginY??0),"marginLeft"in t&&e.setMargin(Re.EDGE_START,t.marginLeft||0),"marginRight"in t&&e.setMargin(Re.EDGE_END,t.marginRight||0),"marginTop"in t&&e.setMargin(Re.EDGE_TOP,t.marginTop||0),"marginBottom"in t&&e.setMargin(Re.EDGE_BOTTOM,t.marginBottom||0)},"applyMarginStyles"),vL=i((e,t)=>{"padding"in t&&e.setPadding(Re.EDGE_ALL,t.padding??0),"paddingX"in t&&e.setPadding(Re.EDGE_HORIZONTAL,t.paddingX??0),"paddingY"in t&&e.setPadding(Re.EDGE_VERTICAL,t.paddingY??0),"paddingLeft"in t&&e.setPadding(Re.EDGE_LEFT,t.paddingLeft||0),"paddingRight"in t&&e.setPadding(Re.EDGE_RIGHT,t.paddingRight||0),"paddingTop"in t&&e.setPadding(Re.EDGE_TOP,t.paddingTop||0),"paddingBottom"in t&&e.setPadding(Re.EDGE_BOTTOM,t.paddingBottom||0)},"applyPaddingStyles"),IL=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(Re.WRAP_NO_WRAP),t.flexWrap==="wrap"&&e.setFlexWrap(Re.WRAP_WRAP),t.flexWrap==="wrap-reverse"&&e.setFlexWrap(Re.WRAP_WRAP_REVERSE)),"flexDirection"in t&&(t.flexDirection==="row"&&e.setFlexDirection(Re.FLEX_DIRECTION_ROW),t.flexDirection==="row-reverse"&&e.setFlexDirection(Re.FLEX_DIRECTION_ROW_REVERSE),t.flexDirection==="column"&&e.setFlexDirection(Re.FLEX_DIRECTION_COLUMN),t.flexDirection==="column-reverse"&&e.setFlexDirection(Re.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(Re.ALIGN_STRETCH),t.alignItems==="flex-start"&&e.setAlignItems(Re.ALIGN_FLEX_START),t.alignItems==="center"&&e.setAlignItems(Re.ALIGN_CENTER),t.alignItems==="flex-end"&&e.setAlignItems(Re.ALIGN_FLEX_END)),"alignSelf"in t&&((t.alignSelf==="auto"||!t.alignSelf)&&e.setAlignSelf(Re.ALIGN_AUTO),t.alignSelf==="flex-start"&&e.setAlignSelf(Re.ALIGN_FLEX_START),t.alignSelf==="center"&&e.setAlignSelf(Re.ALIGN_CENTER),t.alignSelf==="flex-end"&&e.setAlignSelf(Re.ALIGN_FLEX_END)),"justifyContent"in t&&((t.justifyContent==="flex-start"||!t.justifyContent)&&e.setJustifyContent(Re.JUSTIFY_FLEX_START),t.justifyContent==="center"&&e.setJustifyContent(Re.JUSTIFY_CENTER),t.justifyContent==="flex-end"&&e.setJustifyContent(Re.JUSTIFY_FLEX_END),t.justifyContent==="space-between"&&e.setJustifyContent(Re.JUSTIFY_SPACE_BETWEEN),t.justifyContent==="space-around"&&e.setJustifyContent(Re.JUSTIFY_SPACE_AROUND),t.justifyContent==="space-evenly"&&e.setJustifyContent(Re.JUSTIFY_SPACE_EVENLY))},"applyFlexStyles"),bL=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"),RL=i((e,t)=>{"display"in t&&e.setDisplay(t.display==="flex"?Re.DISPLAY_FLEX:Re.DISPLAY_NONE)},"applyDisplayStyles"),kL=i((e,t)=>{if("borderStyle"in t){let n=t.borderStyle?1:0;t.borderTop!==!1&&e.setBorder(Re.EDGE_TOP,n),t.borderBottom!==!1&&e.setBorder(Re.EDGE_BOTTOM,n),t.borderLeft!==!1&&e.setBorder(Re.EDGE_LEFT,n),t.borderRight!==!1&&e.setBorder(Re.EDGE_RIGHT,n)}},"applyBorderStyles"),EL=i((e,t)=>{"gap"in t&&e.setGap(Re.GUTTER_ALL,t.gap??0),"columnGap"in t&&e.setGap(Re.GUTTER_COLUMN,t.columnGap??0),"rowGap"in t&&e.setGap(Re.GUTTER_ROW,t.rowGap??0)},"applyGapStyles"),ML=i((e,t={})=>{TL(e,t),CL(e,t),vL(e,t),IL(e,t),bL(e,t),RL(e,t),kL(e,t),EL(e,t)},"styles"),Zh=ML;if(Cf())try{await import("./devtools-CD6KSIHE.js")}catch(e){if(e.code==="ERR_MODULE_NOT_FOUND")console.warn(`
4
4
  The environment variable DEV is set to true, so Ink tried to import \`react-devtools-core\`,
5
5
  but this failed as it was not installed. Debugging with React Devtools requires it.
@@ -45,7 +45,7 @@ Read about how to prevent this error on https://github.com/vadimdemedes/ink/#isr
45
45
  `)}_setTextInternal(t){this._text=t,this._lines=t.split(`
46
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:Sn(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+=vn(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=Sn(this._lines[this._cursor.row]??""),this._rememberedCol=this._cursor.col}};import{useState as T1,useCallback as Ft,useRef as $g,useEffect as C1}from"react";function tp(e={}){let{initialValue:t="",onTextChange:n}=e,r=$g(null),o=$g(null),s=$g(null),[a,c]=T1({text:t,cursor:{row:0,col:0},lines:[""],isPasting:!1,editingMode:t?"typing":"idle"});r.current===null&&(r.current=new ka,t&&r.current.setText(t)),o.current===null&&(o.current=RC());let l=r.current,d=o.current,f=Ft(Z=>{c(y=>({text:l.text,cursor:l.cursor,lines:l.lines,isPasting:Z?.isPasting??y.isPasting,editingMode:Z?.editingMode??y.editingMode})),n?.(l.text)},[l,n]),p=Ft(()=>{s.current&&clearTimeout(s.current),s.current=setTimeout(()=>{c(Z=>({...Z,isPasting:!1,editingMode:Z.text?"typing":"idle"})),s.current=null},120)},[]),m=Ft(Z=>{l.setText(Z),f({isPasting:!1,editingMode:Z?"typing":"idle"})},[l,f]),h=Ft((Z,y,A)=>{l.replaceRange(Z,y,A),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),S=Ft((Z,y)=>{let A=y?.paste??!1;if(A&&IC(Z)){let J=Z.replace(/\r\n/g,`
47
47
  `).replace(/\r/g,`
48
- `),{placeholder:H}=d.registerText(J);l.insert(H,{paste:!0}),f({isPasting:!0,editingMode:"pasting"}),p();return}l.insert(Z,{paste:!1}),f({isPasting:A,editingMode:A?"pasting":"typing"}),A&&p()},[l,d,p,f]),I=Ft(()=>{l.newline(),f({isPasting:!1,editingMode:"typing"})},[l,f]),T=Ft(()=>{let Z=l.getAbsoluteOffset(),y=df(l.text,Z);y?l.replaceRange(y.start,y.end,""):l.backspace(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),w=Ft(()=>{let Z=l.getAbsoluteOffset(),y=ff(l.text,Z);y?l.replaceRange(y.start,y.end,""):l.delete(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),b=Ft(Z=>{l.move(Z),f()},[l,f]),M=Ft(()=>{l.clear(),f({isPasting:!1,editingMode:"idle"})},[l,f]),D=Ft(()=>{let Z=l.undo();return Z&&f(),Z},[l,f]),k=Ft(()=>{let Z=l.redo();return Z&&f(),Z},[l,f]),P=Ft(()=>{l.moveToEnd(),f()},[l,f]),q=Ft(Z=>{l.moveToAbsoluteOffset(Z),f()},[l,f]),K=Ft(()=>{l.killLineRight(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),V=Ft(()=>{l.killLineLeft(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),fe=Ft(()=>{l.deleteWordLeft(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),ge=Ft(()=>{s.current&&(clearTimeout(s.current),s.current=null),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]);return C1(()=>()=>{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:ge,setText:m,replaceRange:h,insert:S,newline:I,backspace:T,delete:w,move:b,moveToEnd:P,moveToOffset:q,killLineRight:K,killLineLeft:V,deleteWordLeft:fe,clear:M,undo:D,redo:k}}i(tp,"useTextBuffer");import{jsx as zi,jsxs as ip}from"react/jsx-runtime";import{useState as VI}from"react";import{useCallback as Ea,useEffect as Bg,useRef as rp}from"react";function FI(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(FI,"buildAutocompleteReplacement");import{readFile as E1}from"node:fs/promises";var M1=/\.(png|jpe?g|gif|webp|bmp)$/i;async function Dg(e){if(e.length===0)return process.platform==="darwin"?jI():{kind:"text",text:""};let t=np(e);return t.length>0?A1(t,e):{kind:"text",text:e}}i(Dg,"handleBracketedPaste");async function Og(){return jI()}i(Og,"triggerExplicitClipboardImage");async function jI(){let e;try{e=await bd()}catch(t){return{kind:"error",message:`Failed to read clipboard image: ${Ng(t)}`}}return e?UI(e):{kind:"noop"}}i(jI,"readClipboardAsImagesOutcome");async function A1(e,t){let n=[],r=[];for(let o of e){let s;try{s=await E1(o)}catch(c){r.push(`Failed to read ${o}: ${Ng(c)}`);continue}let a=await UI(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(A1,"readImagePathsAsOutcome");async function UI(e){try{let t=await Id(e);return{kind:"images",blocks:[await Rd(t)]}}catch(t){return t instanceof vd?{kind:"error",message:t.message}:{kind:"error",message:`Failed to process pasted image: ${Ng(t)}`}}}i(UI,"decodeBufferToOutcome");function np(e){return e.split(/ (?=\/|[A-Za-z]:\\)/).filter(n=>M1.test(n.trim()))}i(np,"extractImagePaths");function Ng(e){return e instanceof Error?e.message:String(e)}i(Ng,"describeError");function op(e,t){Ct({source:"repl:prompt-input",level:"warn",message:e,...t!==void 0?{detail:t}:{}})}i(op,"reportPromptInputDiagnostic");var L1=500;function GI(e,t,n){return n==="up"?e===0:e>=Math.max(0,t-1)}i(GI,"shouldUseHistoryNavigation");function P1(e){return e.isAutocompleteVisible?"cancel-autocomplete":e.hasText?e.timeSinceLastEscapeMs<L1?"clear-input":"arm-clear":"pass-through"}i(P1,"resolvePromptEscapeBehavior");function $1(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($1,"resolvePromptEnterBehavior");function D1(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(D1,"resolvePromptEditingCommand");function KI({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=rp(0),{add:m,navigateUp:h,navigateDown:S,reset:I,saveTempInput:T}=ep(),{buffer:w,text:b,cursor:M,lines:D,isPasting:k,editingMode:P,pasteStore:q,resetTransientState:K,setText:V,replaceRange:fe,clear:ge,move:Z,moveToOffset:y,insert:A,backspace:J,newline:H,delete:ae,undo:le,redo:pe,killLineRight:ke,killLineLeft:ue,deleteWordLeft:ye}=tp({initialValue:r,onTextChange:c}),Ae=rp(0);Bg(()=>{if(k)return;if(b.length<=1e4){Ae.current=0;return}if(b.length===Ae.current)return;let _=q.peekNextId(),{truncatedText:W,placeholderContent:B}=bC(b,_);B&&(q.registerTruncatedText(B),Ae.current=W.length,V(W))},[b,k,q,V]);let X=qo(),ne=El({cwd:o,gitRoot:s,enabled:a}),{state:we,suggestions:tt,handleInput:gt,handleTab:Ge,handleEnter:je,handleUp:de,handleDown:Ce,handleEscape:F}=X??ne;Bg(()=>{n||(p.current=0,K(),we.visible&&F())},[we.visible,n,F,K]);let Oe=rp(b);Bg(()=>{a&&b!==Oe.current&&(Oe.current=b,gt(b,w.getAbsoluteOffset()))},[a,w,gt,b]);let ft=Ea(_=>{if(!_?.text)return;let W=FI(b,w.getAbsoluteOffset(),_),B=b.slice(0,W.start)+W.replacement+b.slice(W.end);return fe(W.start,W.end,W.replacement),B},[w,fe,b]),Ot=Ea(_=>{let W=_??b;if(!W.trim())return;let B=q.expand(W),Q=new Set,$=/\[(Pasted text|\.\.\.Truncated text) #(\d+)(?: \+\d+ lines)?(\.*)\]/g;for(let Te of W.matchAll($)){let ve=Number.parseInt(Te[2]??"0",10);Number.isFinite(ve)&&ve>0&&Q.add(ve)}let Ee=[];for(let Te of Q){let ve=q.get(Te);ve&&Ee.push(ve)}m(W,{pastedContents:Ee}),e({displayText:W,fullText:B,pastedContents:Ee}),ge()},[m,ge,e,q,b]),Ve=Ea(_=>{if(_){if(_.pastedContents&&_.pastedContents.length>0){for(let W of _.pastedContents)q.adopt(W);d?.({text:_.text,pastedContents:[..._.pastedContents]})}V(_.text)}},[d,q,V]),bt=Ea(async _=>{try{let W=await Dg(_);if(W.kind==="images"){let B=W.blocks.map(Q=>`@${Q.path}`).join(" ");A(`${B} `,{paste:!1})}else W.kind==="error"&&(op(`Paste image handling failed: ${W.message}`),A(_,{paste:!1}),l?.("Image paste failed; inserted as plain text."))}catch(W){op("Paste image handling failed.",W)}},[A,l]),jt=rp(!1),Bn=Ea(async()=>{if(!jt.current){jt.current=!0;try{let _=await Og();if(_.kind==="images"){let W=_.blocks.map(B=>`@${B.path}`).join(" ");A(`${W} `,{paste:!1})}else _.kind==="error"&&op(`Clipboard image handling failed: ${_.message}`)}catch(_){op("Clipboard image handling failed.",_)}finally{jt.current=!1}}},[A]),an=Ea(_=>{if(!n)return!1;if(_.name==="v"&&(_.ctrl||_.meta))return Bn(),!0;if(_.name==="paste"&&_.isPasted&&np(_.sequence).length>0)return bt(_.sequence),!0;let W=we.visible&&tt.length>0;if(_.name==="tab"&&W){let Q=Ge();return Q&&ft(Q),!0}if(_.ctrl&&_.name==="c")return b.length>0?(ge(),I()):t?.(),!0;if(_.name==="escape")switch(P1({isAutocompleteVisible:W,hasText:b.length>0,timeSinceLastEscapeMs:Date.now()-p.current})){case"cancel-autocomplete":return F(),p.current=0,!0;case"clear-input":return p.current=0,ge(),I(),!0;case"arm-clear":return p.current=Date.now(),!0;default:return!1}if(_.name==="up"){if(W)return de(),!0;if(_.ctrl)return Z("up"),!0;if(b.length===0&&f){let Q=f();if(typeof Q=="string"&&Q.length>0)return V(Q),!0}if(GI(M.row,D.length,"up")){T(b);let Q=h();Ve(Q)}else Z("up");return!0}if(_.name==="down"){if(W)return Ce(),!0;if(_.ctrl)return Z("down"),!0;if(GI(M.row,D.length,"down")){let Q=S();Ve(Q)}else Z("down");return!0}if(_.name==="left"){let Q=w.getAbsoluteOffset(),$=df(w.text,Q);return $?y($.start):Z("left"),!0}if(_.name==="right"){let Q=w.getAbsoluteOffset(),$=ff(w.text,Q);return $?y($.end):Z("right"),!0}if(_.name==="home")return Z("home"),!0;if(_.name==="end")return Z("end"),!0;let B=D1(_);if(B)switch(B){case"move-home":return Z("home"),!0;case"move-end":return Z("end"),!0;case"undo":return le(),!0;case"redo":return pe(),!0;case"kill-line-right":return ke(),!0;case"kill-line-left":return ue(),!0;case"delete-word-left":return ye(),!0;default:break}if(_.name==="backspace")return J(),!0;if(_.name==="delete")return ae(),!0;if(_.name==="return"||_.name==="newline")switch($1({keyName:_.name,ctrl:_.ctrl,shift:_.shift,isAutocompleteVisible:W,isLineContinuation:!!D[M.row]?.endsWith("\\"),isPasting:k})){case"accept-completion-and-submit":{let $=je();if($){let Ee=ft($);Ot(Ee)}else Ot();return!0}case"newline":return H(),!0;case"line-continuation":return J(),H(),!0;default:return Ot(),!0}return _.insertable&&!_.ctrl&&!_.meta?(A(_.sequence,_.isPasted?{paste:!0}:void 0),!0):!1},[ft,m,we.visible,J,w,ge,M.row,ae,n,Ce,F,de,je,Ve,Ge,bt,Bn,D,ue,ke,Z,y,S,h,H,t,f,pe,I,T,V,Ot,tt.length,b.length,ye,k,le]);return{text:b,cursor:M,lines:D,isPasting:k,terminalFocused:n,editingMode:P,handleKey:an}}i(KI,"usePromptInputController");var Xi=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:m}=Or(),{cursor:h,lines:S,handleKey:I,isPasting:T,terminalFocused:w,editingMode:b}=KI({onSubmit:e,onExit:m,focus:s,initialValue:a,cwd:c,gitRoot:l,autocompleteEnabled:d,onInputChange:f,onPasteFallback:p,onHistoryRecall:t,onPopPendingInputs:n});return Pn(fn.High,M=>I(M),[I]),zi(E,{flexDirection:"column",children:zi(qf,{lines:S,cursorRow:h.row,cursorCol:h.col,prompt:o,placeholder:r,focus:s,terminalFocused:w,isPasting:T,editingMode:b,theme:"dark"})})},"InputPrompt"),zI=i(({onSubmit:e,placeholder:t,prompt:n=">"})=>{let[r,o]=VI(""),[s,a]=VI(0);Pn(fn.High,p=>{if(p.name==="return")return r.trim()&&(e(r),o(""),a(0)),!0;if(p.name==="backspace"&&s>0){let m=[...r].slice(0,s-1).join(""),h=[...r].slice(s).join("");return o(m+h),a(s-1),!0}if(p.name==="left"&&s>0)return a(s-1),!0;if(p.name==="right"&&s<[...r].length)return a(s+1),!0;if(p.insertable&&!p.ctrl&&!p.meta){let m=[...r].slice(0,s).join(""),h=[...r].slice(s).join("");return o(m+p.sequence+h),a(s+1),!0}return!1},[r,s,e]);let c=oe("dark");if(!r)return ip(E,{children:[ip(v,{color:c.colors.primary,children:[n," "]}),t&&zi(v,{dimColor:!0,children:t}),zi(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 ip(E,{children:[ip(v,{color:c.colors.primary,children:[n," "]}),zi(v,{children:l}),zi(v,{backgroundColor:c.colors.primary,color:"#000000",children:d}),zi(v,{children:f})]})},"SimpleInputPrompt");import{jsx as ht,jsxs as Yt}from"react/jsx-runtime";import{useState as YI,useEffect as qI}from"react";var XI=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],O1=80,sp=new Set,Al=null;function N1(){let e=Array.from(sp);for(let t of e)t()}i(N1,"dispatchSharedSpinnerTick");function B1(e){return sp.add(e),Al===null&&(Al=setInterval(N1,O1)),()=>{sp.delete(e),sp.size===0&&Al!==null&&(clearInterval(Al),Al=null)}}i(B1,"subscribeToSharedSpinnerClock");function _l(e=!0){let[t,n]=YI(0);return qI(()=>{if(e)return B1(()=>{n(r=>r+1)})},[e]),t}i(_l,"useSharedSpinnerTick");var $n=i(({color:e,theme:t})=>{let n=t??oe("dark"),o=_l(!0)%XI.length,s=e??n.colors.accent;return ht(v,{color:s,children:XI[o]})},"Spinner");function H1(e){return e<=0?0:Math.round(e/4)}i(H1,"estimateOutputTokens");function W1(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(W1,"formatElapsedDuration");var JI=i(({roundStartedAt:e,charCount:t,theme:n})=>{let r=n??oe("dark");if(_l(e!==null),e===null)return null;let o=F1(Date.now()-e,t);return ht(v,{color:r.colors.dim,wrap:"truncate",children:o})},"SpinnerStatsTail");function F1(e,t){let n=W1(e),r=H1(t);return r>0?` (${n} \xB7 \u2193 ${r} tokens)`:` (${n})`}i(F1,"buildSpinnerStatsText");var Hg=i(({label:e,dotCount:t=3,theme:n})=>{let r=n??oe("dark"),[o,s]=YI(1);qI(()=>{let c=setInterval(()=>{s(l=>l%t+1)},300);return()=>clearInterval(c)},[t]);let a=".".repeat(o);return Yt(E,{children:[e&&ht(v,{color:r.colors.text,children:e}),ht(v,{color:r.colors.accent,children:a})]})},"DotsIndicator"),Wg=i(({progress:e,label:t,width:n=20,theme:r})=>{let o=r??oe("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(E,{flexDirection:"column",children:[t&&ht(E,{marginBottom:1,children:ht(v,{color:o.colors.text,children:t})}),Yt(E,{children:[ht(v,{color:o.colors.primary,children:l}),ht(v,{dimColor:!0,children:d}),Yt(v,{children:[" ",s,"%"]})]})]})},"ProgressIndicator"),QI=i(({message:e,showSpinner:t=!1,theme:n})=>{let r=n??oe("dark"),o=e??"Thinking";return Yt(E,{children:[t&&ht(E,{marginRight:1,children:ht($n,{theme:r})}),Yt(v,{color:r.colors.accent,children:[o,"\u2026"]})]})},"ThinkingIndicator"),ZI=i(({message:e,subMessage:t,progress:n,type:r="spinner",compact:o=!1,theme:s})=>{let a=s??oe("dark"),c=e??"Loading";return o?Yt(E,{children:[ht($n,{theme:a}),Yt(v,{color:a.colors.text,children:[" ",c,"\u2026"]})]}):r==="bar"&&n!==void 0?Yt(E,{flexDirection:"column",children:[ht(Wg,{progress:n,label:c,theme:a}),t&&ht(E,{marginTop:1,children:ht(v,{dimColor:!0,children:t})})]}):r==="dots"?Yt(E,{flexDirection:"column",children:[ht(Hg,{label:c,theme:a}),t&&ht(E,{marginTop:1,children:ht(v,{dimColor:!0,children:t})})]}):r==="simple"?Yt(E,{flexDirection:"column",children:[Yt(v,{color:a.colors.accent,children:[c,"\u2026"]}),t&&ht(E,{marginTop:1,children:ht(v,{dimColor:!0,children:t})}),n!==void 0&&ht(E,{marginTop:1,children:Yt(v,{dimColor:!0,children:[n,"%"]})})]}):Yt(E,{flexDirection:"column",children:[Yt(E,{children:[ht($n,{theme:a}),Yt(v,{color:a.colors.text,children:[" ",c,"\u2026"]}),n!==void 0&&Yt(v,{dimColor:!0,children:[" (",n,"%)"]})]}),t&&ht(E,{marginTop:1,children:ht(v,{dimColor:!0,children:t})})]})},"LoadingIndicator");import{jsx as Se,jsxs as Xe,Fragment as Zg}from"react/jsx-runtime";import{useEffect as Pb,useMemo as Hr,memo as Dn}from"react";import*as Pl from"node:path";function Ll(e){if(iT(e)){let t=sT(e);return t?`[memory:${t}]`:"[memory]"}if(j1(e))return"[memory]"}i(Ll,"memoryBadgeFor");function j1(e){let t=Pl.resolve(e),n=ur("projects");if(!t.startsWith(n+Pl.sep)&&t!==n)return!1;let o=t.slice(n.length+1).split(Pl.sep);return o.length>=2&&o[1]==="memory"}i(j1,"isInsideAnyMemoryDir");function Qe(e,t=120){return e.length>t?`${e.slice(0,t-3)}...`:e}i(Qe,"truncateValue");function eb(e){if(e)return e.split(/\r?\n/).map(t=>t.trim()).find(Boolean)}i(eb,"extractFirstMeaningfulLine");function rb(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(rb,"splitDisplayToolName");function ap(e){let{rolePrefix:t,toolLabel:n}=rb(e);return t?`${t} ${n}`:n}i(ap,"normalizeDisplayToolName");function $l(e){return rb(e).toolLabel}i($l,"stripRolePrefix");function cp(e){if(!(!e||Array.isArray(e)||typeof e!="object"))return e}i(cp,"asRecord");function ob(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}i(ob,"readString");function Mt(e,...t){for(let n of t){let r=ob(e?.[n]);if(r)return r}}i(Mt,"readFirstString");function Nr(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(Nr,"readNumber");function ib(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(ib,"readStringArray");function U1(e){if(typeof e=="string")return e.trim()||void 0;let t=cp(e);if(t)return ob(t.preview)??void 0}i(U1,"extractPreview");function tb(e){if(e)try{return cp(JSON.parse(e))}catch{return}}i(tb,"parsePreviewRecord");function He(e,t){return e&&e.match(new RegExp(`"${t}"\\s*:\\s*"([^"]+)`))?.[1]?.trim()||void 0}i(He,"extractFieldFromPreview");function Br(e,t){if(!e)return;let n=e.match(new RegExp(`"${t}"\\s*:\\s*(\\d+)`));return n?.[1]?Number(n[1]):void 0}i(Br,"extractNumberFromPreview");function sb(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(sb,"extractPathsFromPreview");function G1(e){let t=U1(e);if(typeof e=="string")return{record:tb(t),preview:t};let n=cp(e),r=tb(t);return n?r?{record:{...n,...r},preview:t}:{record:n,preview:t}:{record:r,preview:t}}i(G1,"resolveInputRecord");function Ma(e,t,n,r=!1){let o=Mt(t,"path","target_path","targetPath")??He(n,"path")??He(n,"target_path")??He(n,"targetPath"),s=ib(t?.paths)??sb(n);if(r&&s?.length){if(s.length===1){let a=Ll(s[0]);a&&e.push(a),e.push(Qe(s[0]))}else e.push(`${s.length} files`);return}if(o){let a=Ll(o);a&&e.push(a),e.push(Qe(o));return}if(s?.length)if(s.length===1){let a=Ll(s[0]);a&&e.push(a),e.push(Qe(s[0]))}else e.push(`${s.length} files`)}i(Ma,"pushPathSummary");function Aa(e,t,n){n!==void 0&&e.push(`${t}=${n}`)}i(Aa,"pushNumericSummary");function Fg(e,t,n){let r=Mt(t,"baseRef","base_ref")??He(n,"baseRef")??He(n,"base_ref"),o=Mt(t,"targetRef","target_ref")??He(n,"targetRef")??He(n,"target_ref");r&&o&&e.push(Qe(`${r}...${o}`,88))}i(Fg,"pushRangeSummary");function K1(e,t){let{record:n,preview:r}=G1(t),o=$l(e).toLowerCase(),s=[];if(o.includes("changed_diff_bundle")){let a=ib(n?.paths)??sb(r);a?.length?(s.push(a.length===1?Qe(a[0]):`${a.length} files`),a.length>1&&s.push(Qe(a[0]))):Ma(s,n,r,!0);let c=Nr(n?.limit_per_path)??Nr(n?.limitPerPath)??Br(r,"limit_per_path")??Br(r,"limitPerPath");return c!==void 0&&s.push(`limit=${c}`),Fg(s,n,r),s}if(o.includes("changed_diff"))return Ma(s,n,r),Aa(s,"offset",Nr(n?.offset)??Br(r,"offset")),Aa(s,"limit",Nr(n?.limit)??Br(r,"limit")),Fg(s,n,r),s;if(o==="read"||o.includes("read_"))return Ma(s,n,r),Aa(s,"offset",Nr(n?.offset)??Br(r,"offset")),Aa(s,"limit",Nr(n?.limit)??Br(r,"limit")),s;if(o.includes("changed_scope"))return Ma(s,n,r,!0),Fg(s,n,r),s;if(o.includes("repo_overview"))return Ma(s,n,r),s;if(o.includes("bash")||o.includes("shell_command")){let a=Mt(n,"command")??He(r,"command");return a&&s.push(`cmd=${Qe(a,140)}`),s}if(o==="glob"||o.includes("glob_")){let a=Mt(n,"pattern")??He(r,"pattern"),c=Mt(n,"path","root","directory","cwd")??He(r,"path")??He(r,"root")??He(r,"directory")??He(r,"cwd");if(a&&s.push(`pattern=${Qe(a,96)}`),c){let l=Ll(c);l&&s.push(l),s.push(Qe(c))}return s}if(o==="grep"||o.includes("grep_")){let a=Mt(n,"pattern","query")??He(r,"pattern")??He(r,"query"),c=Mt(n,"path","root","directory","cwd")??He(r,"path")??He(r,"root")??He(r,"directory")??He(r,"cwd");if(a&&s.push(`pattern=${Qe(a,96)}`),c){let l=Ll(c);l&&s.push(l),s.push(Qe(c))}return s}if(o==="web_fetch"){let a=Mt(n,"url")??He(r,"url"),c=Mt(n,"provider_id","providerId")??He(r,"provider_id")??He(r,"providerId"),l=Mt(n,"capability_id","capabilityId")??He(r,"capability_id")??He(r,"capabilityId");return a&&s.push(Qe(a,120)),c&&s.push(`provider=${Qe(c,48)}`),l&&s.push(`cap=${Qe(l,48)}`),s}if(o==="mcp_describe"||o==="mcp_read_resource"){let a=Mt(n,"id")??He(r,"id");return a&&s.push(Qe(a,120)),s}if(o==="mcp_call"){let a=Mt(n,"id")??He(r,"id"),c=cp(n?.args),l=c?Object.keys(c).length:void 0;return a&&s.push(Qe(a,120)),l!==void 0&&s.push(`args=${l}`),s}if(o==="skill"){let a=Mt(n,"skill","name")??He(r,"skill");return a&&s.push(Qe(a,64)),s}if(o==="mcp_search"){let a=Mt(n,"query")??He(r,"query"),c=Mt(n,"server")??He(r,"server"),l=Mt(n,"kind")??He(r,"kind"),d=Nr(n?.limit)??Br(r,"limit");return a&&s.push(`query=${Qe(a,96)}`),c&&s.push(`server=${Qe(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=Mt(n,"query","pattern")??He(r,"query")??He(r,"pattern"),c=Mt(n,"path","target_path","targetPath")??He(r,"path")??He(r,"target_path")??He(r,"targetPath"),l=Mt(n,"provider_id","providerId")??He(r,"provider_id")??He(r,"providerId"),d=Nr(n?.limit)??Br(r,"limit");return a&&s.push(`query=${Qe(a,96)}`),c&&s.push(Qe(c,72)),l&&s.push(`provider=${Qe(l,48)}`),d!==void 0&&s.push(`limit=${d}`),s}return Ma(s,n,r,!0),Aa(s,"offset",Nr(n?.offset)??Br(r,"offset")),Aa(s,"limit",Nr(n?.limit)??Br(r,"limit")),s}i(K1,"summarizeToolDetails");function ab(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(ab,"extractChangedDiffRange");function V1(e){return e.split(/\r?\n/).map(t=>t.trim()).find(t=>t.startsWith("+")||t.startsWith("-")||t.startsWith("@@"))}i(V1,"extractDiffPreviewLine");function z1(e){let t=[],n=ab(e);if(n){let[o,s]=n.split("/");t.push(s?`Diff range: ${o} of ${s}`:`Diff range: ${n}`)}let r=V1(e);return r&&t.push(`Preview: ${Qe(r,220)}`),t}i(z1,"formatChangedDiffExplanation");function X1(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: ${Qe(r[1].trim(),220)}`),t}i(X1,"formatChangedDiffBundleExplanation");function cb(e,t){if(!t)return[];let n=$l(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(Qe(s[1].trim())),r}if(n.includes("changed_diff")){let o=t.match(/^Changed diff for\s+(.+)$/im);o?.[1]&&r.push(Qe(o[1].trim()));let s=ab(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(Qe(o[1].trim())),r}return[]}i(cb,"summarizeToolOutputDetails");function jg(e,t){let n=ap(e);return t.length>0?`${n} - ${t.join(" - ")}`:n}i(jg,"formatToolDetailSummary");function Y1(e,t){if(!t)return;let n=t-e;return n<1e3?`${n}ms`:`${(n/1e3).toFixed(1)}s`}i(Y1,"formatDuration");function q1(e){switch(e.status){case j.Scheduled:return"scheduled";case j.Validating:return"validating";case j.AwaitingApproval:return"awaiting approval";case j.Executing:return"running";case j.Error:return"failed";case j.Cancelled:return"cancelled";default:return}}i(q1,"formatToolStatusDetail");function nb(e){switch(e.status){case j.Scheduled:return["Queued: waiting to start"];case j.Validating:return["Validating: checking inputs and policy"];case j.AwaitingApproval:return["Waiting: approval required before execution"];case j.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 j.Cancelled:return["Cancelled before completion"];default:return[]}}i(nb,"formatToolProgressExplanation");function Ug(e){return e.startsWith("Error:")?"error":e.startsWith("Waiting:")?"accent":e.startsWith("Progress:")||e.startsWith("Running:")?"primary":"dim"}i(Ug,"resolveToolExplanationTone");function J1(e){let t=eb(e.error),n=typeof e.output=="string"?eb(e.output):void 0,r=[];return t&&r.push(`Error: ${Qe(t,220)}`),e.status===j.Error&&n&&(!t||n.toLowerCase()!==t.toLowerCase())&&r.push(`Last output: ${Qe(n,220)}`),r}i(J1,"formatToolFailureExplanation");function Gg(e){if(typeof e.output!="string"||!e.output.trim())return nb(e);let t=$l(e.name).toLowerCase();return e.status===j.Error?J1(e):e.status!==j.Success?nb(e):t.includes("changed_diff_bundle")?X1(e.output):t.includes("changed_diff")?z1(e.output):[]}i(Gg,"formatToolResultExplanation");function Kg(e,t){return jg(e,K1(e,t))}i(Kg,"formatToolSummary");function lp(e){let t=typeof e.output=="string"?cb(e.name,e.output):[],n=t.length>0?jg(e.name,t):Kg(e.name,e.input),r=q1(e),o=Y1(e.startTime,e.endTime),s=e.status===j.Executing&&e.progress!==void 0?`${e.progress}%`:e.status===j.Executing&&e.preview?e.preview:void 0,a=[r,s,o].filter(Boolean);return a.length>0?`${n} (${a.join(" - ")})`:n}i(lp,"formatToolCallInlineText");function up(e){let t=new Map;for(let n of e){let r=typeof n.output=="string"?cb(n.name,n.output):[],o=r.length>0?jg(n.name,r):Kg(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(up,"collapseToolCalls");function Dl(e){let t=lp(e.tool);return e.count>1?`${t} x${e.count}`:t}i(Dl,"formatCollapsedToolInlineText");function dp(e,t,n){let r=Kg(e,t);return r!==ap(e)?`[Tools] ${r}`:n>0?`[Tools] ${ap(e)} (${n} chars)`:`[Tools] ${ap(e)}`}i(dp,"formatLiveToolLabel");function Vg(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(Vg,"countNewlines");function fp(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=Vg(e),l=Vg(s),d=Vg(a),f=Math.max(0,c-l-d);return`${s}
48
+ `),{placeholder:H}=d.registerText(J);l.insert(H,{paste:!0}),f({isPasting:!0,editingMode:"pasting"}),p();return}l.insert(Z,{paste:!1}),f({isPasting:A,editingMode:A?"pasting":"typing"}),A&&p()},[l,d,p,f]),I=Ft(()=>{l.newline(),f({isPasting:!1,editingMode:"typing"})},[l,f]),T=Ft(()=>{let Z=l.getAbsoluteOffset(),y=df(l.text,Z);y?l.replaceRange(y.start,y.end,""):l.backspace(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),w=Ft(()=>{let Z=l.getAbsoluteOffset(),y=ff(l.text,Z);y?l.replaceRange(y.start,y.end,""):l.delete(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),b=Ft(Z=>{l.move(Z),f()},[l,f]),M=Ft(()=>{l.clear(),f({isPasting:!1,editingMode:"idle"})},[l,f]),D=Ft(()=>{let Z=l.undo();return Z&&f(),Z},[l,f]),k=Ft(()=>{let Z=l.redo();return Z&&f(),Z},[l,f]),P=Ft(()=>{l.moveToEnd(),f()},[l,f]),q=Ft(Z=>{l.moveToAbsoluteOffset(Z),f()},[l,f]),K=Ft(()=>{l.killLineRight(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),V=Ft(()=>{l.killLineLeft(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),fe=Ft(()=>{l.deleteWordLeft(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),ge=Ft(()=>{s.current&&(clearTimeout(s.current),s.current=null),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]);return C1(()=>()=>{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:ge,setText:m,replaceRange:h,insert:S,newline:I,backspace:T,delete:w,move:b,moveToEnd:P,moveToOffset:q,killLineRight:K,killLineLeft:V,deleteWordLeft:fe,clear:M,undo:D,redo:k}}i(tp,"useTextBuffer");import{jsx as zi,jsxs as ip}from"react/jsx-runtime";import{useState as VI}from"react";import{useCallback as Ea,useEffect as Bg,useRef as rp}from"react";function FI(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(FI,"buildAutocompleteReplacement");import{readFile as E1}from"node:fs/promises";var M1=/\.(png|jpe?g|gif|webp|bmp)$/i;async function Dg(e){if(e.length===0)return process.platform==="darwin"?jI():{kind:"text",text:""};let t=np(e);return t.length>0?A1(t,e):{kind:"text",text:e}}i(Dg,"handleBracketedPaste");async function Og(){return jI()}i(Og,"triggerExplicitClipboardImage");async function jI(){let e;try{e=await kd()}catch(t){return{kind:"error",message:`Failed to read clipboard image: ${Ng(t)}`}}return e?UI(e):{kind:"noop"}}i(jI,"readClipboardAsImagesOutcome");async function A1(e,t){let n=[],r=[];for(let o of e){let s;try{s=await E1(o)}catch(c){r.push(`Failed to read ${o}: ${Ng(c)}`);continue}let a=await UI(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(A1,"readImagePathsAsOutcome");async function UI(e){try{let t=await Rd(e);return{kind:"images",blocks:[await Ed(t)]}}catch(t){return t instanceof bd?{kind:"error",message:t.message}:{kind:"error",message:`Failed to process pasted image: ${Ng(t)}`}}}i(UI,"decodeBufferToOutcome");function np(e){return e.split(/ (?=\/|[A-Za-z]:\\)/).filter(n=>M1.test(n.trim()))}i(np,"extractImagePaths");function Ng(e){return e instanceof Error?e.message:String(e)}i(Ng,"describeError");function op(e,t){Ct({source:"repl:prompt-input",level:"warn",message:e,...t!==void 0?{detail:t}:{}})}i(op,"reportPromptInputDiagnostic");var L1=500;function GI(e,t,n){return n==="up"?e===0:e>=Math.max(0,t-1)}i(GI,"shouldUseHistoryNavigation");function P1(e){return e.isAutocompleteVisible?"cancel-autocomplete":e.hasText?e.timeSinceLastEscapeMs<L1?"clear-input":"arm-clear":"pass-through"}i(P1,"resolvePromptEscapeBehavior");function $1(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($1,"resolvePromptEnterBehavior");function D1(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(D1,"resolvePromptEditingCommand");function KI({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=rp(0),{add:m,navigateUp:h,navigateDown:S,reset:I,saveTempInput:T}=ep(),{buffer:w,text:b,cursor:M,lines:D,isPasting:k,editingMode:P,pasteStore:q,resetTransientState:K,setText:V,replaceRange:fe,clear:ge,move:Z,moveToOffset:y,insert:A,backspace:J,newline:H,delete:ae,undo:le,redo:pe,killLineRight:ke,killLineLeft:ue,deleteWordLeft:ye}=tp({initialValue:r,onTextChange:c}),Ae=rp(0);Bg(()=>{if(k)return;if(b.length<=1e4){Ae.current=0;return}if(b.length===Ae.current)return;let _=q.peekNextId(),{truncatedText:W,placeholderContent:B}=bC(b,_);B&&(q.registerTruncatedText(B),Ae.current=W.length,V(W))},[b,k,q,V]);let X=qo(),ne=El({cwd:o,gitRoot:s,enabled:a}),{state:we,suggestions:tt,handleInput:gt,handleTab:Ge,handleEnter:je,handleUp:de,handleDown:Ce,handleEscape:F}=X??ne;Bg(()=>{n||(p.current=0,K(),we.visible&&F())},[we.visible,n,F,K]);let Oe=rp(b);Bg(()=>{a&&b!==Oe.current&&(Oe.current=b,gt(b,w.getAbsoluteOffset()))},[a,w,gt,b]);let ft=Ea(_=>{if(!_?.text)return;let W=FI(b,w.getAbsoluteOffset(),_),B=b.slice(0,W.start)+W.replacement+b.slice(W.end);return fe(W.start,W.end,W.replacement),B},[w,fe,b]),Ot=Ea(_=>{let W=_??b;if(!W.trim())return;let B=q.expand(W),Q=new Set,$=/\[(Pasted text|\.\.\.Truncated text) #(\d+)(?: \+\d+ lines)?(\.*)\]/g;for(let Te of W.matchAll($)){let ve=Number.parseInt(Te[2]??"0",10);Number.isFinite(ve)&&ve>0&&Q.add(ve)}let Ee=[];for(let Te of Q){let ve=q.get(Te);ve&&Ee.push(ve)}m(W,{pastedContents:Ee}),e({displayText:W,fullText:B,pastedContents:Ee}),ge()},[m,ge,e,q,b]),Ve=Ea(_=>{if(_){if(_.pastedContents&&_.pastedContents.length>0){for(let W of _.pastedContents)q.adopt(W);d?.({text:_.text,pastedContents:[..._.pastedContents]})}V(_.text)}},[d,q,V]),bt=Ea(async _=>{try{let W=await Dg(_);if(W.kind==="images"){let B=W.blocks.map(Q=>`@${Q.path}`).join(" ");A(`${B} `,{paste:!1})}else W.kind==="error"&&(op(`Paste image handling failed: ${W.message}`),A(_,{paste:!1}),l?.("Image paste failed; inserted as plain text."))}catch(W){op("Paste image handling failed.",W)}},[A,l]),jt=rp(!1),Bn=Ea(async()=>{if(!jt.current){jt.current=!0;try{let _=await Og();if(_.kind==="images"){let W=_.blocks.map(B=>`@${B.path}`).join(" ");A(`${W} `,{paste:!1})}else _.kind==="error"&&op(`Clipboard image handling failed: ${_.message}`)}catch(_){op("Clipboard image handling failed.",_)}finally{jt.current=!1}}},[A]),an=Ea(_=>{if(!n)return!1;if(_.name==="v"&&(_.ctrl||_.meta))return Bn(),!0;if(_.name==="paste"&&_.isPasted&&np(_.sequence).length>0)return bt(_.sequence),!0;let W=we.visible&&tt.length>0;if(_.name==="tab"&&W){let Q=Ge();return Q&&ft(Q),!0}if(_.ctrl&&_.name==="c")return b.length>0?(ge(),I()):t?.(),!0;if(_.name==="escape")switch(P1({isAutocompleteVisible:W,hasText:b.length>0,timeSinceLastEscapeMs:Date.now()-p.current})){case"cancel-autocomplete":return F(),p.current=0,!0;case"clear-input":return p.current=0,ge(),I(),!0;case"arm-clear":return p.current=Date.now(),!0;default:return!1}if(_.name==="up"){if(W)return de(),!0;if(_.ctrl)return Z("up"),!0;if(b.length===0&&f){let Q=f();if(typeof Q=="string"&&Q.length>0)return V(Q),!0}if(GI(M.row,D.length,"up")){T(b);let Q=h();Ve(Q)}else Z("up");return!0}if(_.name==="down"){if(W)return Ce(),!0;if(_.ctrl)return Z("down"),!0;if(GI(M.row,D.length,"down")){let Q=S();Ve(Q)}else Z("down");return!0}if(_.name==="left"){let Q=w.getAbsoluteOffset(),$=df(w.text,Q);return $?y($.start):Z("left"),!0}if(_.name==="right"){let Q=w.getAbsoluteOffset(),$=ff(w.text,Q);return $?y($.end):Z("right"),!0}if(_.name==="home")return Z("home"),!0;if(_.name==="end")return Z("end"),!0;let B=D1(_);if(B)switch(B){case"move-home":return Z("home"),!0;case"move-end":return Z("end"),!0;case"undo":return le(),!0;case"redo":return pe(),!0;case"kill-line-right":return ke(),!0;case"kill-line-left":return ue(),!0;case"delete-word-left":return ye(),!0;default:break}if(_.name==="backspace")return J(),!0;if(_.name==="delete")return ae(),!0;if(_.name==="return"||_.name==="newline")switch($1({keyName:_.name,ctrl:_.ctrl,shift:_.shift,isAutocompleteVisible:W,isLineContinuation:!!D[M.row]?.endsWith("\\"),isPasting:k})){case"accept-completion-and-submit":{let $=je();if($){let Ee=ft($);Ot(Ee)}else Ot();return!0}case"newline":return H(),!0;case"line-continuation":return J(),H(),!0;default:return Ot(),!0}return _.insertable&&!_.ctrl&&!_.meta?(A(_.sequence,_.isPasted?{paste:!0}:void 0),!0):!1},[ft,m,we.visible,J,w,ge,M.row,ae,n,Ce,F,de,je,Ve,Ge,bt,Bn,D,ue,ke,Z,y,S,h,H,t,f,pe,I,T,V,Ot,tt.length,b.length,ye,k,le]);return{text:b,cursor:M,lines:D,isPasting:k,terminalFocused:n,editingMode:P,handleKey:an}}i(KI,"usePromptInputController");var Xi=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:m}=Or(),{cursor:h,lines:S,handleKey:I,isPasting:T,terminalFocused:w,editingMode:b}=KI({onSubmit:e,onExit:m,focus:s,initialValue:a,cwd:c,gitRoot:l,autocompleteEnabled:d,onInputChange:f,onPasteFallback:p,onHistoryRecall:t,onPopPendingInputs:n});return Pn(fn.High,M=>I(M),[I]),zi(E,{flexDirection:"column",children:zi(qf,{lines:S,cursorRow:h.row,cursorCol:h.col,prompt:o,placeholder:r,focus:s,terminalFocused:w,isPasting:T,editingMode:b,theme:"dark"})})},"InputPrompt"),zI=i(({onSubmit:e,placeholder:t,prompt:n=">"})=>{let[r,o]=VI(""),[s,a]=VI(0);Pn(fn.High,p=>{if(p.name==="return")return r.trim()&&(e(r),o(""),a(0)),!0;if(p.name==="backspace"&&s>0){let m=[...r].slice(0,s-1).join(""),h=[...r].slice(s).join("");return o(m+h),a(s-1),!0}if(p.name==="left"&&s>0)return a(s-1),!0;if(p.name==="right"&&s<[...r].length)return a(s+1),!0;if(p.insertable&&!p.ctrl&&!p.meta){let m=[...r].slice(0,s).join(""),h=[...r].slice(s).join("");return o(m+p.sequence+h),a(s+1),!0}return!1},[r,s,e]);let c=oe("dark");if(!r)return ip(E,{children:[ip(v,{color:c.colors.primary,children:[n," "]}),t&&zi(v,{dimColor:!0,children:t}),zi(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 ip(E,{children:[ip(v,{color:c.colors.primary,children:[n," "]}),zi(v,{children:l}),zi(v,{backgroundColor:c.colors.primary,color:"#000000",children:d}),zi(v,{children:f})]})},"SimpleInputPrompt");import{jsx as ht,jsxs as Yt}from"react/jsx-runtime";import{useState as YI,useEffect as qI}from"react";var XI=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],O1=80,sp=new Set,Al=null;function N1(){let e=Array.from(sp);for(let t of e)t()}i(N1,"dispatchSharedSpinnerTick");function B1(e){return sp.add(e),Al===null&&(Al=setInterval(N1,O1)),()=>{sp.delete(e),sp.size===0&&Al!==null&&(clearInterval(Al),Al=null)}}i(B1,"subscribeToSharedSpinnerClock");function _l(e=!0){let[t,n]=YI(0);return qI(()=>{if(e)return B1(()=>{n(r=>r+1)})},[e]),t}i(_l,"useSharedSpinnerTick");var $n=i(({color:e,theme:t})=>{let n=t??oe("dark"),o=_l(!0)%XI.length,s=e??n.colors.accent;return ht(v,{color:s,children:XI[o]})},"Spinner");function H1(e){return e<=0?0:Math.round(e/4)}i(H1,"estimateOutputTokens");function W1(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(W1,"formatElapsedDuration");var JI=i(({roundStartedAt:e,charCount:t,theme:n})=>{let r=n??oe("dark");if(_l(e!==null),e===null)return null;let o=F1(Date.now()-e,t);return ht(v,{color:r.colors.dim,wrap:"truncate",children:o})},"SpinnerStatsTail");function F1(e,t){let n=W1(e),r=H1(t);return r>0?` (${n} \xB7 \u2193 ${r} tokens)`:` (${n})`}i(F1,"buildSpinnerStatsText");var Hg=i(({label:e,dotCount:t=3,theme:n})=>{let r=n??oe("dark"),[o,s]=YI(1);qI(()=>{let c=setInterval(()=>{s(l=>l%t+1)},300);return()=>clearInterval(c)},[t]);let a=".".repeat(o);return Yt(E,{children:[e&&ht(v,{color:r.colors.text,children:e}),ht(v,{color:r.colors.accent,children:a})]})},"DotsIndicator"),Wg=i(({progress:e,label:t,width:n=20,theme:r})=>{let o=r??oe("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(E,{flexDirection:"column",children:[t&&ht(E,{marginBottom:1,children:ht(v,{color:o.colors.text,children:t})}),Yt(E,{children:[ht(v,{color:o.colors.primary,children:l}),ht(v,{dimColor:!0,children:d}),Yt(v,{children:[" ",s,"%"]})]})]})},"ProgressIndicator"),QI=i(({message:e,showSpinner:t=!1,theme:n})=>{let r=n??oe("dark"),o=e??"Thinking";return Yt(E,{children:[t&&ht(E,{marginRight:1,children:ht($n,{theme:r})}),Yt(v,{color:r.colors.accent,children:[o,"\u2026"]})]})},"ThinkingIndicator"),ZI=i(({message:e,subMessage:t,progress:n,type:r="spinner",compact:o=!1,theme:s})=>{let a=s??oe("dark"),c=e??"Loading";return o?Yt(E,{children:[ht($n,{theme:a}),Yt(v,{color:a.colors.text,children:[" ",c,"\u2026"]})]}):r==="bar"&&n!==void 0?Yt(E,{flexDirection:"column",children:[ht(Wg,{progress:n,label:c,theme:a}),t&&ht(E,{marginTop:1,children:ht(v,{dimColor:!0,children:t})})]}):r==="dots"?Yt(E,{flexDirection:"column",children:[ht(Hg,{label:c,theme:a}),t&&ht(E,{marginTop:1,children:ht(v,{dimColor:!0,children:t})})]}):r==="simple"?Yt(E,{flexDirection:"column",children:[Yt(v,{color:a.colors.accent,children:[c,"\u2026"]}),t&&ht(E,{marginTop:1,children:ht(v,{dimColor:!0,children:t})}),n!==void 0&&ht(E,{marginTop:1,children:Yt(v,{dimColor:!0,children:[n,"%"]})})]}):Yt(E,{flexDirection:"column",children:[Yt(E,{children:[ht($n,{theme:a}),Yt(v,{color:a.colors.text,children:[" ",c,"\u2026"]}),n!==void 0&&Yt(v,{dimColor:!0,children:[" (",n,"%)"]})]}),t&&ht(E,{marginTop:1,children:ht(v,{dimColor:!0,children:t})})]})},"LoadingIndicator");import{jsx as Se,jsxs as Xe,Fragment as Zg}from"react/jsx-runtime";import{useEffect as Pb,useMemo as Hr,memo as Dn}from"react";import*as Pl from"node:path";function Ll(e){if(oT(e)){let t=iT(e);return t?`[memory:${t}]`:"[memory]"}if(j1(e))return"[memory]"}i(Ll,"memoryBadgeFor");function j1(e){let t=Pl.resolve(e),n=ur("projects");if(!t.startsWith(n+Pl.sep)&&t!==n)return!1;let o=t.slice(n.length+1).split(Pl.sep);return o.length>=2&&o[1]==="memory"}i(j1,"isInsideAnyMemoryDir");function Qe(e,t=120){return e.length>t?`${e.slice(0,t-3)}...`:e}i(Qe,"truncateValue");function eb(e){if(e)return e.split(/\r?\n/).map(t=>t.trim()).find(Boolean)}i(eb,"extractFirstMeaningfulLine");function rb(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(rb,"splitDisplayToolName");function ap(e){let{rolePrefix:t,toolLabel:n}=rb(e);return t?`${t} ${n}`:n}i(ap,"normalizeDisplayToolName");function $l(e){return rb(e).toolLabel}i($l,"stripRolePrefix");function cp(e){if(!(!e||Array.isArray(e)||typeof e!="object"))return e}i(cp,"asRecord");function ob(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}i(ob,"readString");function Mt(e,...t){for(let n of t){let r=ob(e?.[n]);if(r)return r}}i(Mt,"readFirstString");function Nr(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(Nr,"readNumber");function ib(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(ib,"readStringArray");function U1(e){if(typeof e=="string")return e.trim()||void 0;let t=cp(e);if(t)return ob(t.preview)??void 0}i(U1,"extractPreview");function tb(e){if(e)try{return cp(JSON.parse(e))}catch{return}}i(tb,"parsePreviewRecord");function He(e,t){return e&&e.match(new RegExp(`"${t}"\\s*:\\s*"([^"]+)`))?.[1]?.trim()||void 0}i(He,"extractFieldFromPreview");function Br(e,t){if(!e)return;let n=e.match(new RegExp(`"${t}"\\s*:\\s*(\\d+)`));return n?.[1]?Number(n[1]):void 0}i(Br,"extractNumberFromPreview");function sb(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(sb,"extractPathsFromPreview");function G1(e){let t=U1(e);if(typeof e=="string")return{record:tb(t),preview:t};let n=cp(e),r=tb(t);return n?r?{record:{...n,...r},preview:t}:{record:n,preview:t}:{record:r,preview:t}}i(G1,"resolveInputRecord");function Ma(e,t,n,r=!1){let o=Mt(t,"path","target_path","targetPath")??He(n,"path")??He(n,"target_path")??He(n,"targetPath"),s=ib(t?.paths)??sb(n);if(r&&s?.length){if(s.length===1){let a=Ll(s[0]);a&&e.push(a),e.push(Qe(s[0]))}else e.push(`${s.length} files`);return}if(o){let a=Ll(o);a&&e.push(a),e.push(Qe(o));return}if(s?.length)if(s.length===1){let a=Ll(s[0]);a&&e.push(a),e.push(Qe(s[0]))}else e.push(`${s.length} files`)}i(Ma,"pushPathSummary");function Aa(e,t,n){n!==void 0&&e.push(`${t}=${n}`)}i(Aa,"pushNumericSummary");function Fg(e,t,n){let r=Mt(t,"baseRef","base_ref")??He(n,"baseRef")??He(n,"base_ref"),o=Mt(t,"targetRef","target_ref")??He(n,"targetRef")??He(n,"target_ref");r&&o&&e.push(Qe(`${r}...${o}`,88))}i(Fg,"pushRangeSummary");function K1(e,t){let{record:n,preview:r}=G1(t),o=$l(e).toLowerCase(),s=[];if(o.includes("changed_diff_bundle")){let a=ib(n?.paths)??sb(r);a?.length?(s.push(a.length===1?Qe(a[0]):`${a.length} files`),a.length>1&&s.push(Qe(a[0]))):Ma(s,n,r,!0);let c=Nr(n?.limit_per_path)??Nr(n?.limitPerPath)??Br(r,"limit_per_path")??Br(r,"limitPerPath");return c!==void 0&&s.push(`limit=${c}`),Fg(s,n,r),s}if(o.includes("changed_diff"))return Ma(s,n,r),Aa(s,"offset",Nr(n?.offset)??Br(r,"offset")),Aa(s,"limit",Nr(n?.limit)??Br(r,"limit")),Fg(s,n,r),s;if(o==="read"||o.includes("read_"))return Ma(s,n,r),Aa(s,"offset",Nr(n?.offset)??Br(r,"offset")),Aa(s,"limit",Nr(n?.limit)??Br(r,"limit")),s;if(o.includes("changed_scope"))return Ma(s,n,r,!0),Fg(s,n,r),s;if(o.includes("repo_overview"))return Ma(s,n,r),s;if(o.includes("bash")||o.includes("shell_command")){let a=Mt(n,"command")??He(r,"command");return a&&s.push(`cmd=${Qe(a,140)}`),s}if(o==="glob"||o.includes("glob_")){let a=Mt(n,"pattern")??He(r,"pattern"),c=Mt(n,"path","root","directory","cwd")??He(r,"path")??He(r,"root")??He(r,"directory")??He(r,"cwd");if(a&&s.push(`pattern=${Qe(a,96)}`),c){let l=Ll(c);l&&s.push(l),s.push(Qe(c))}return s}if(o==="grep"||o.includes("grep_")){let a=Mt(n,"pattern","query")??He(r,"pattern")??He(r,"query"),c=Mt(n,"path","root","directory","cwd")??He(r,"path")??He(r,"root")??He(r,"directory")??He(r,"cwd");if(a&&s.push(`pattern=${Qe(a,96)}`),c){let l=Ll(c);l&&s.push(l),s.push(Qe(c))}return s}if(o==="web_fetch"){let a=Mt(n,"url")??He(r,"url"),c=Mt(n,"provider_id","providerId")??He(r,"provider_id")??He(r,"providerId"),l=Mt(n,"capability_id","capabilityId")??He(r,"capability_id")??He(r,"capabilityId");return a&&s.push(Qe(a,120)),c&&s.push(`provider=${Qe(c,48)}`),l&&s.push(`cap=${Qe(l,48)}`),s}if(o==="mcp_describe"||o==="mcp_read_resource"){let a=Mt(n,"id")??He(r,"id");return a&&s.push(Qe(a,120)),s}if(o==="mcp_call"){let a=Mt(n,"id")??He(r,"id"),c=cp(n?.args),l=c?Object.keys(c).length:void 0;return a&&s.push(Qe(a,120)),l!==void 0&&s.push(`args=${l}`),s}if(o==="skill"){let a=Mt(n,"skill","name")??He(r,"skill");return a&&s.push(Qe(a,64)),s}if(o==="mcp_search"){let a=Mt(n,"query")??He(r,"query"),c=Mt(n,"server")??He(r,"server"),l=Mt(n,"kind")??He(r,"kind"),d=Nr(n?.limit)??Br(r,"limit");return a&&s.push(`query=${Qe(a,96)}`),c&&s.push(`server=${Qe(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=Mt(n,"query","pattern")??He(r,"query")??He(r,"pattern"),c=Mt(n,"path","target_path","targetPath")??He(r,"path")??He(r,"target_path")??He(r,"targetPath"),l=Mt(n,"provider_id","providerId")??He(r,"provider_id")??He(r,"providerId"),d=Nr(n?.limit)??Br(r,"limit");return a&&s.push(`query=${Qe(a,96)}`),c&&s.push(Qe(c,72)),l&&s.push(`provider=${Qe(l,48)}`),d!==void 0&&s.push(`limit=${d}`),s}return Ma(s,n,r,!0),Aa(s,"offset",Nr(n?.offset)??Br(r,"offset")),Aa(s,"limit",Nr(n?.limit)??Br(r,"limit")),s}i(K1,"summarizeToolDetails");function ab(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(ab,"extractChangedDiffRange");function V1(e){return e.split(/\r?\n/).map(t=>t.trim()).find(t=>t.startsWith("+")||t.startsWith("-")||t.startsWith("@@"))}i(V1,"extractDiffPreviewLine");function z1(e){let t=[],n=ab(e);if(n){let[o,s]=n.split("/");t.push(s?`Diff range: ${o} of ${s}`:`Diff range: ${n}`)}let r=V1(e);return r&&t.push(`Preview: ${Qe(r,220)}`),t}i(z1,"formatChangedDiffExplanation");function X1(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: ${Qe(r[1].trim(),220)}`),t}i(X1,"formatChangedDiffBundleExplanation");function cb(e,t){if(!t)return[];let n=$l(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(Qe(s[1].trim())),r}if(n.includes("changed_diff")){let o=t.match(/^Changed diff for\s+(.+)$/im);o?.[1]&&r.push(Qe(o[1].trim()));let s=ab(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(Qe(o[1].trim())),r}return[]}i(cb,"summarizeToolOutputDetails");function jg(e,t){let n=ap(e);return t.length>0?`${n} - ${t.join(" - ")}`:n}i(jg,"formatToolDetailSummary");function Y1(e,t){if(!t)return;let n=t-e;return n<1e3?`${n}ms`:`${(n/1e3).toFixed(1)}s`}i(Y1,"formatDuration");function q1(e){switch(e.status){case j.Scheduled:return"scheduled";case j.Validating:return"validating";case j.AwaitingApproval:return"awaiting approval";case j.Executing:return"running";case j.Error:return"failed";case j.Cancelled:return"cancelled";default:return}}i(q1,"formatToolStatusDetail");function nb(e){switch(e.status){case j.Scheduled:return["Queued: waiting to start"];case j.Validating:return["Validating: checking inputs and policy"];case j.AwaitingApproval:return["Waiting: approval required before execution"];case j.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 j.Cancelled:return["Cancelled before completion"];default:return[]}}i(nb,"formatToolProgressExplanation");function Ug(e){return e.startsWith("Error:")?"error":e.startsWith("Waiting:")?"accent":e.startsWith("Progress:")||e.startsWith("Running:")?"primary":"dim"}i(Ug,"resolveToolExplanationTone");function J1(e){let t=eb(e.error),n=typeof e.output=="string"?eb(e.output):void 0,r=[];return t&&r.push(`Error: ${Qe(t,220)}`),e.status===j.Error&&n&&(!t||n.toLowerCase()!==t.toLowerCase())&&r.push(`Last output: ${Qe(n,220)}`),r}i(J1,"formatToolFailureExplanation");function Gg(e){if(typeof e.output!="string"||!e.output.trim())return nb(e);let t=$l(e.name).toLowerCase();return e.status===j.Error?J1(e):e.status!==j.Success?nb(e):t.includes("changed_diff_bundle")?X1(e.output):t.includes("changed_diff")?z1(e.output):[]}i(Gg,"formatToolResultExplanation");function Kg(e,t){return jg(e,K1(e,t))}i(Kg,"formatToolSummary");function lp(e){let t=typeof e.output=="string"?cb(e.name,e.output):[],n=t.length>0?jg(e.name,t):Kg(e.name,e.input),r=q1(e),o=Y1(e.startTime,e.endTime),s=e.status===j.Executing&&e.progress!==void 0?`${e.progress}%`:e.status===j.Executing&&e.preview?e.preview:void 0,a=[r,s,o].filter(Boolean);return a.length>0?`${n} (${a.join(" - ")})`:n}i(lp,"formatToolCallInlineText");function up(e){let t=new Map;for(let n of e){let r=typeof n.output=="string"?cb(n.name,n.output):[],o=r.length>0?jg(n.name,r):Kg(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(up,"collapseToolCalls");function Dl(e){let t=lp(e.tool);return e.count>1?`${t} x${e.count}`:t}i(Dl,"formatCollapsedToolInlineText");function dp(e,t,n){let r=Kg(e,t);return r!==ap(e)?`[Tools] ${r}`:n>0?`[Tools] ${ap(e)} (${n} chars)`:`[Tools] ${ap(e)}`}i(dp,"formatLiveToolLabel");function Vg(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(Vg,"countNewlines");function fp(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=Vg(e),l=Vg(s),d=Vg(a),f=Math.max(0,c-l-d);return`${s}
49
49
  \u2026 +${f} lines \u2026
50
50
  ${a}`}i(fp,"truncateUserMessageForDisplay");var lb="(?:\x1B[[0-9;]*m)*",Q1=new RegExp(`^(${lb})(?:[ \r]*
51
51
  )+`),Z1=new RegExp(`(?:
@@ -58,10 +58,10 @@ ${sD}`:e;let o=e.split(/\r?\n/),s=o.length>t,a=s?o.slice(0,t).join(`
58
58
  ${iD}`}i(Xg,"buildThinkingPreview");function dD(e){for(let t=e.length-1;t>=0;t--)if(e[t]?.type==="user")return t;return 0}i(dD,"findActiveRoundStartIndex");function Pe(e,t,n,r,o){let s=Dt(n),a=uD(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 _a(e,t){e.push({key:t,text:" "})}i(_a,"pushBlankRow");function ct(e,t=0){return Math.max(20,e-t)}i(ct,"getBodyWidth");function fD(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(fD,"buildToolInputPreview");function pD(e,t,n,r,o,s=!1,a=!1){Pe(e,`${t}-tool-${n.id}-main`,`${yb(n.status)} ${Dl({tool:n,count:r})}`,ct(o,2),{color:xb(n.status),indent:2,bold:n.status===j.Executing}),Gg(n).forEach((d,f)=>{let p=Ug(d);Pe(e,`${t}-tool-${n.id}-explanation-${f}`,d,ct(o,4),{color:p,indent:4})});let l=n.status===j.Success&&typeof n.output=="string"&&n.output.trim().length>0&&nD(n)&&oD(e,`${t}-tool-${n.id}`,n.output,o,a);if(s){let d=fD(n),f=a?d:d.slice(0,6);f.forEach((p,m)=>{Pe(e,`${t}-tool-${n.id}-input-${m}`,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((m,h)=>{Pe(e,`${t}-tool-${n.id}-output-${h}`,m,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(pD,"buildToolRows");function mD(e,t,n,r){let o=n.status===j.Executing,s=o?"":`${yb(n.status)} `;Pe(e,`${t}-tool-${n.id}-main`,`${s}${Dl({tool:n,count:1})}`,ct(r,2),{color:xb(n.status),indent:2,bold:o,spinner:o}),Gg(n).forEach((c,l)=>{let d=Ug(c);Pe(e,`${t}-tool-${n.id}-explanation-${l}`,c,ct(r,4),{color:d,indent:4})})}i(mD,"buildLiveToolRows");function Sb(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:m="",iterationHistory:h=[],currentIteration:S=1,isCompacting:I=!1,managedAgentMode:T,managedPhase:w,managedHarnessProfile:b,managedWorkerTitle:M,managedRound:D,managedMaxRounds:k,lastLiveActivityLabel:P,liveStatusLines:q=[],currentTodoActiveForm:K,showFullThinking:V=!1,showDetailedTools:fe=!1,showAllContent:ge=!1,showLiveProgressRows:Z=!0}=e,y=[];for(let A of t)switch(A.type){case"user":Pe(y,`${A.id}-header`,`You [${Ol(A.timestamp)}]`,n,{color:"primary",bold:!0,itemId:A.id}),Pe(y,`${A.id}-body`,fp(A.text),ct(n,2),{color:"text",indent:2,itemId:A.id}),y.push({key:`${A.id}-blank`,text:" ",itemId:A.id});break;case"assistant":{let J=zg(ge?A.text:A.compactText??A.text);Pe(y,`${A.id}-header`,`Assistant [${Ol(A.timestamp)}]`,n,{color:"secondary",bold:!0,spinner:A.isStreaming,itemId:A.id}),Pe(y,`${A.id}-body`,J,ct(n,2),{color:"text",indent:2,itemId:A.id}),y.push({key:`${A.id}-blank`,text:" ",itemId:A.id});break}case"system":Pe(y,`${A.id}-header`,`System [${Ol(A.timestamp)}]`,n,{color:"dim",bold:!0,itemId:A.id}),Pe(y,`${A.id}-body`,A.text,ct(n,2),{color:"dim",indent:2,itemId:A.id}),y.push({key:`${A.id}-blank`,text:" ",itemId:A.id});break;case"tool_group":Pe(y,`${A.id}-header`,`Tools [${Ol(A.timestamp)}]`,n,{color:"accent",bold:!0,itemId:A.id}),up(A.tools).forEach(J=>pD(y,A.id,J.tool,J.count,n,fe,ge)),y.push({key:`${A.id}-blank`,text:" ",itemId:A.id});break;case"thinking":{Pe(y,`${A.id}-header`,"Thinking",n,{color:"thinking",italic:!0,itemId:A.id});let J=gb()&&!V&&!ge?cD(A.compactText??A.text):void 0;if(J?.hasMore){Pe(y,`${A.id}-body`,`${J.summary}${aD}`,ct(n,2),{color:"thinking",indent:2,italic:!0,itemId:A.id}),y.push({key:`${A.id}-blank`,text:" ",itemId:A.id});break}let H=ge?Xg(A.text,o,V,ge):A.compactText??Xg(A.text,o,V,ge);Pe(y,`${A.id}-body`,H,ct(n,2),{color:"thinking",indent:2,italic:!0,itemId:A.id}),y.push({key:`${A.id}-blank`,text:" ",itemId:A.id});break}case"error":Pe(y,`${A.id}-header`,"\u2717 Error",n,{color:"error",bold:!0,itemId:A.id}),Pe(y,`${A.id}-body`,A.text,ct(n,2),{color:"error",indent:2,itemId:A.id}),y.push({key:`${A.id}-blank`,text:" ",itemId:A.id});break;case"info":Pe(y,`${A.id}-body`,`${A.icon??"\u2139"} ${zg(ge?A.text:A.compactText??A.text)}`,n,{color:"info",itemId:A.id}),y.push({key:`${A.id}-blank`,text:" ",itemId:A.id});break;case"event":Pe(y,`${A.id}-body`,`${A.icon??">"} ${ge?A.text:A.compactText??A.text}`,n,{color:"text",itemId:A.id}),y.push({key:`${A.id}-blank`,text:" ",itemId:A.id});break;case"hint":Pe(y,`${A.id}-header`,"\u{1F4A1} Hint",n,{color:"hint",bold:!0,itemId:A.id}),Pe(y,`${A.id}-body`,A.text,ct(n,2),{color:"dim",indent:2,itemId:A.id}),y.push({key:`${A.id}-blank`,text:" ",itemId:A.id});break;case"sidecar":{let J=A.delivery==="budget-exhausted"?"\u26A1 Sidecar Verifier \u2014 budget exhausted":A.verdict==="blocked"?"\u26A1 Sidecar Verifier \u2014 blocked":"\u26A1 Sidecar Verifier \u2014 revise";Pe(y,`${A.id}-header`,`${J} [${Ol(A.timestamp)}]`,n,{color:"warning",bold:!0,itemId:A.id}),Pe(y,`${A.id}-body`,A.text,ct(n,2),{color:"dim",indent:2,itemId:A.id}),y.push({key:`${A.id}-blank`,text:" ",itemId:A.id});break}default:break}if(Z&&h.length>0&&(h.forEach(A=>{if(Pe(y,`iteration-${A.iteration}-header`,`\u2500\u2500 Round ${A.iteration} \u2500\u2500`,n,{color:"dim",bold:!0}),A.thinkingSummary){let J=A.thinkingLength>60?` (${A.thinkingLength} chars total)`:"";Pe(y,`iteration-${A.iteration}-thinking`,`\u{1F4AD} ${A.thinkingSummary}${J}`,ct(n,1),{color:"thinking",indent:1,italic:!0})}if(A.response){let J=A.response.slice(0,200);Pe(y,`iteration-${A.iteration}-response`,J,ct(n,1),{color:"text",indent:1}),A.response.length>200&&Pe(y,`iteration-${A.iteration}-response-more`,`... (${A.response.length} chars total)`,ct(n,1),{color:"dim",indent:1})}A.toolsUsed.length>0&&Pe(y,`iteration-${A.iteration}-tools`,`* tools: ${A.toolsUsed.join(", ")}`,ct(n,1),{color:"accent",indent:1}),_a(y,`iteration-${A.iteration}-blank`)}),Pe(y,"iteration-current-header",`\u2500\u2500 Round ${S} (current) \u2500\u2500`,n,{color:"accent",bold:!0}),_a(y,"iteration-current-blank")),r&&c){let A=Xg(c,o,V,ge);Pe(y,"thinking-stream-header","Thinking",n,{color:"thinking",italic:!0}),Pe(y,"thinking-stream-body",A,ct(n,2),{color:"thinking",indent:2,italic:!0}),_a(y,"thinking-stream-blank")}if(r){let A="Thinking",J="",H=lD(P,M),ae=M??"Scout",le=w==="routing"?`[${T?T.toUpperCase():"AMA"} Routing] `:w==="preflight"?`[${T?T.toUpperCase():"AMA"} ${ae}] `:w==="verifying"?`[${T?T.toUpperCase():"AMA"} Verifying] `:b?`[${T?T.toUpperCase():"AMA"} ${M??"Worker"}] `:"",pe=f.filter(X=>X.status===j.Executing).length,ke=f.filter(X=>X.status===j.Success).length,ue=f.filter(X=>X.status===j.Error).length,ye=f.filter(X=>X.status===j.Cancelled).length,Ae=f.length>0&&(pe>0||!l);if(I)A="Compacting";else if(w==="verifying")J=le,A="checking agent output";else if(Ae){let X=[];if(pe>0&&X.push(`${pe} running`),ke>0&&X.push(`${ke} done`),ue>0&&X.push(`${ue} error`),ye>0&&X.push(`${ye} cancelled`),X.length===0&&X.push(`${f.length} tools`),Pe(y,"loading-tools-header",`${le}[Tools] ${X.join(", ")}`,n,{color:"primary",bold:!0,spinner:pe>0}),f.forEach(ne=>{mD(y,"loading-tools",ne,n)}),_a(y,"loading-tools-blank"),pe>0&&!l&&!Z)return y}else if(K)J=le||"[Plan] ",A=K;else if(d)J=le||"[Tool] ",A=H?.startsWith("[Tools]")?H:dp(d,m,p);else if(s){J=le||"[Thinking] ";let X=D&&k&&D>1?` round ${D}/${k}`:"";A=a>0?`${a} chars${X}`:H?`${H}${X}`:`processing${X}`}else H&&(A=H);Z&&Pe(y,"loading-indicator",`${J}${A}...`,n,{color:"accent",spinner:!0})}if(Z&&q.length>0&&(Pe(y,"live-status-header","Live status",n,{color:"dim",bold:!0}),q.forEach((A,J)=>{Pe(y,`live-status-${J}`,A,ct(n,2),{color:"dim",indent:2})}),_a(y,"live-status-blank")),l){let A=l.lastIndexOf(`
59
59
  `),J=A>=0?l.slice(0,A+1):"";J.length>0&&(Pe(y,"streaming-header","Assistant",n,{color:"secondary",bold:!0}),Pe(y,"streaming-body",J,ct(n,2),{color:"text",indent:2}),_a(y,"streaming-blank"))}return y}i(Sb,"buildTranscriptRows");function hD(e,t,n=1e3,r=!1,o=!1,s=!1){return La(e,t,n,r,void 0,o,s)}i(hD,"buildStaticTranscriptSections");var pb=new WeakMap,mb=new Set(["thinking","tool_group"]);function gD(){return process.env.KODAX_TRANSCRIPT_TIGHT!=="0"}i(gD,"isTightRunSpacingEnabled");function yD(e,t){return gD()?t.map((n,r)=>{let o=e[r],s=e[r+1];if(!o||!s||!mb.has(o.type)||!mb.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(yD,"suppressTightRunBlanks");function La(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}|${gb()?1:0}|${a?1:0}`,p=pb.get(l);if(p!==void 0&&p.sig===f)return p.section;let m={key:l.id,rows:Sb({items:[l],viewportWidth:t,maxLines:n,showAllContent:s,showDetailedTools:d,showFullThinking:a})};return pb.set(l,{sig:f,section:m}),m});return yD(e,c)}i(La,"buildHistoryItemTranscriptSections");function xD(e,t){return{key:e,rows:Sb(t)}}i(xD,"buildDynamicTranscriptSection");function pp(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=dD(t),d=t.slice(0,l),f=t.slice(l);return{staticSections:hD(d,n,r,o,s,a),activeItems:f}}i(pp,"buildTranscriptStaticPortion");function mp(e){let{activeItems:t,viewportWidth:n,maxLines:r=1e3,showDetailedTools:o=!1,showAllContent:s=!1,showFullThinking:a=!1,expandedItemKeys:c,...l}=e,d=La(t,n,r,o,c,s,a),f=xD("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(mp,"buildTranscriptDynamicPortion");function hp(e,t){return{staticSections:e.staticSections,sections:t.sections,rows:Yi(t.sections),previewSections:t.previewSections,previewRows:Yi(t.previewSections)}}i(hp,"composeTranscriptRenderModel");function wb(e,t,n){let r=hp(e,t);return n?{...r,staticSections:[n,...r.staticSections]}:r}i(wb,"buildInlinePromptRenderModel");function Tb(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(m=>m.rows),d=s.slice(0,a).filter(m=>m.spinner!==!0);return{committedSections:[...l,...d].map((m,h)=>({key:`il-${h}`,rows:[{...m,key:`il-${h}`}]})),liveRows:c}}i(Tb,"splitInlineLedgerModel");function SD(e){return e.replace(/^(You|Assistant|Tools|System) \[\d{1,2}:\d{2}[^\]]*\]$/u,"$1")}i(SD,"stripHeaderTimestamp");function Cb(e){let t=5381;for(let n of e.rows){let r=SD(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(Cb,"identifyInlineCommitSection");function gp(e){let t=pp({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=mp({...r,activeItems:t.activeItems});return hp(t,o)}i(gp,"buildTranscriptRenderModel");function Yi(e){return e.flatMap(t=>t.rows)}i(Yi,"flattenTranscriptSections");function vb(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(vb,"identifyTranscriptSection");function Yg(e){let t=[...e.staticSections,...e.sections];return{staticSections:[],sections:t,rows:Yi(t),previewSections:[...e.previewSections],previewRows:Yi(e.previewSections)}}i(Yg,"materializeTranscriptRenderModel");function Ib(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?Jg(e,a,c):e}i(Ib,"resolveVisibleTranscriptRows");var wD=200,TD=50,qg=30;function bb(e,t,n=wD,r=TD){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(bb,"computeTranscriptCapStart");function Rb(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(Rb,"sliceHistoryToRecentRounds");function Jg(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(Jg,"getVisibleTranscriptRows");function kb(e,t,n){if(!t||!n||n<=0)return 0;let r=Yi(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(kb,"resolveScrollOffsetForTranscriptItem");function Eb(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(Eb,"resolveTranscriptColor");var yp="__transcript_hidden_divider__";function Mb(e,t){let n=e===1?"message":"messages";return{id:yp,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(Mb,"buildTranscriptHiddenDivider");function Qg(e){return e.id===yp}i(Qg,"isTranscriptHiddenDivider");var Ab=new Bi(500);function CD(e){let t=mn(e),n=[],r=[],o=0,s=0;for(let a of t)n.push(o),r.push(s),o+=a.length,s+=xf(a);return{graphemes:t,codeUnitOffsets:n,visualOffsets:r,length:t.length,displayWidth:s}}i(CD,"buildTranscriptTextMetrics");function Nl(e){let t=Ab.get(e);if(t)return t;let n=CD(e);return Ab.set(e,n),n}i(Nl,"getTranscriptTextMetrics");function Jo(e){return Nl(e).length}i(Jo,"getTranscriptTextLength");function _b(e){return Nl(e).displayWidth}i(_b,"getTranscriptTextDisplayWidth");function xp(e,t){let n=Nl(e),r=Math.max(0,Math.min(n.length-1,t));return n.graphemes[r]??""}i(xp,"charAtTranscriptText");function Pa(e,t,n){let r=Nl(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(Pa,"sliceTranscriptText");function Lb(e,t){let n=Nl(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(Lb,"resolveTranscriptTextIndexAtVisualColumn");function Sp(e){return new Date(e).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"})}i(Sp,"formatTimestamp");function vD(e,t){let n=e.split(`
60
60
  `),r=n.slice(0,t),o=n.length>t;return{lines:r,hasMore:o}}i(vD,"truncateLines");function ID(e){switch(e){case j.Scheduled:return"\u25CB";case j.Validating:return"\u25D0";case j.AwaitingApproval:return"\u23F8";case j.Executing:return"\u25CF";case j.Success:return"\u2713";case j.Error:return"\u2717";case j.Cancelled:return"\u2298";default:return"?"}}i(ID,"getToolStatusIcon");function bD(e,t){switch(e){case j.Scheduled:case j.Validating:return t.colors.dim;case j.AwaitingApproval:return t.colors.accent;case j.Executing:return t.colors.primary;case j.Success:return t.colors.success;case j.Error:return t.colors.error;case j.Cancelled:return t.colors.dim;default:return t.colors.text}}i(bD,"getToolStatusColor");var RD=Dn(({item:e,theme:t})=>{let n=Hr(()=>fp(e.text),[e.text]);return Xe(E,{flexDirection:"column",marginBottom:1,children:[Xe(E,{children:[Se(v,{color:t.colors.primary,bold:!0,children:"You"}),Xe(v,{dimColor:!0,children:[" [",Sp(e.timestamp),"]"]})]}),Se(E,{marginLeft:2,children:Se(v,{color:t.colors.text,children:n})})]})}),kD=Dn(({item:e,theme:t,maxLines:n})=>{let r=e.compactText??e.text,{lines:o,hasMore:s}=vD(r,n);return Xe(E,{flexDirection:"column",marginBottom:1,children:[Xe(E,{children:[Se(v,{color:t.colors.secondary,bold:!0,children:"Assistant"}),e.isStreaming&&Xe(Zg,{children:[Se(v,{children:" "}),Se($n,{color:t.colors.accent})]}),Xe(v,{dimColor:!0,children:[" [",Sp(e.timestamp),"]"]})]}),Xe(E,{marginLeft:2,flexDirection:"column",children:[o.map((a,c)=>Se(v,{color:t.colors.text,children:a||" "},c)),s&&Xe(v,{dimColor:!0,children:["... (",r.split(`
61
- `).length-n," more lines)"]})]})]})}),ED=Dn(({item:e,theme:t})=>Xe(E,{flexDirection:"column",marginBottom:1,children:[Xe(E,{children:[Se(v,{color:t.colors.dim,bold:!0,children:"System"}),Xe(v,{dimColor:!0,children:[" [",Sp(e.timestamp),"]"]})]}),Se(E,{marginLeft:2,children:Se(v,{dimColor:!0,children:e.text})})]})),MD=Dn(({tool:e,count:t=1,theme:n})=>{let r=ID(e.status),o=bD(e.status,n);return Xe(E,{flexDirection:"column",marginLeft:2,children:[Xe(E,{children:[Xe(v,{color:o,children:[r," "]}),Se(v,{color:n.colors.text,bold:!0,children:Dl({tool:e,count:t})})]}),e.error&&Se(E,{marginLeft:2,children:Se(v,{color:n.colors.error,children:e.error})})]})}),AD=Dn(({item:e,theme:t})=>{let n=up(e.tools);return Xe(E,{flexDirection:"column",marginBottom:1,children:[Xe(E,{children:[Se(v,{color:t.colors.accent,bold:!0,children:"Tools"}),Xe(v,{dimColor:!0,children:[" [",Sp(e.timestamp),"]"]})]}),n.map(r=>Se(MD,{tool:r.tool,count:r.count,theme:t},`${r.tool.id}-${r.count}`))]})}),_D=Dn(({item:e,theme:t})=>Xe(E,{flexDirection:"column",marginBottom:1,children:[Se(E,{children:Se(v,{color:t.colors.thinking,italic:!0,children:"Thinking"})}),Se(E,{marginLeft:2,children:Se(v,{color:t.colors.thinking,italic:!0,children:e.compactText??e.text})})]})),LD=Dn(({item:e,theme:t})=>Xe(E,{flexDirection:"column",marginBottom:1,children:[Se(E,{children:Xe(v,{color:t.colors.error,bold:!0,children:["\u2717"," Error"]})}),Se(E,{marginLeft:2,children:Se(v,{color:t.colors.error,children:e.text})})]})),PD=Dn(({item:e,theme:t})=>Se(E,{flexDirection:"column",marginBottom:1,children:Xe(v,{color:t.colors.text,children:[Se(v,{color:t.colors.accent,bold:!0,children:e.icon??">"}),Se(v,{children:" "}),e.compactText??e.text]})})),$D=Dn(({item:e,theme:t})=>Se(E,{flexDirection:"column",marginBottom:e.tightSpacing?0:1,children:Xe(v,{color:t.colors.info,children:[Xe(v,{bold:!0,children:[e.icon??"\u2139"," "]}),e.compactText??e.text]})})),DD=Dn(({item:e,theme:t})=>Xe(E,{flexDirection:"column",marginBottom:1,children:[Se(E,{children:Xe(v,{color:t.colors.hint,bold:!0,children:["\u{1F4A1}"," Hint"]})}),Se(E,{marginLeft:2,children:Se(v,{dimColor:!0,children:e.text})})]})),$b=Dn(({item:e,theme:t,maxLines:n=1e3})=>{let r=Hr(()=>oe("dark"),[]),o=t??r;switch(e.type){case"user":return Se(RD,{item:e,theme:o});case"assistant":return Se(kD,{item:e,theme:o,maxLines:n});case"system":return Se(ED,{item:e,theme:o});case"tool_group":return Se(AD,{item:e,theme:o});case"thinking":return Se(_D,{item:e,theme:o});case"error":return Se(LD,{item:e,theme:o});case"event":return Se(PD,{item:e,theme:o});case"info":return Se($D,{item:e,theme:o});case"hint":return Se(DD,{item:e,theme:o});default:return Se(E,{children:Se(v,{dimColor:!0,children:"Unknown item type"})})}});function OD(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(OD,"areTranscriptRowPropsEqual");var Db=Dn(({row:e,theme:t,animateSpinners:n=!0,selectedItem:r=!1,selectionRange:o})=>{let s=Eb(t,e.color),a=e.text===" "?"":e.text,c=a||" ",l=o&&a?Pa(a,o.start,o.end):"",d=o&&a?Pa(a,0,o.start):a,f=o&&a?Pa(a,o.end):"",p=r&&!o,m=!p&&e.color==="dim",h={bold:e.bold||p,italic:e.italic,dimColor:m};return Xe(E,{marginLeft:e.indent??0,children:[e.spinner&&n&&Xe(Zg,{children:[Se($n,{color:t.colors.accent,theme:t}),Se(v,{children:" "})]}),Se(v,{color:p?t.colors.accent:s,...h,children:o&&a?Xe(Zg,{children:[d?Se(v,{color:p?t.colors.accent:s,...h,children:d}):null,Se(v,{backgroundColor:t.colors.accent,color:t.colors.background,bold:!0,italic:e.italic,children:l}),f?Se(v,{color:p?t.colors.accent:s,...h,children:f}):null]}):c})]})},OD),ey=Dn(({section:e,theme:t,animateSpinners:n=!0})=>Se(E,{flexDirection:"column",children:e.rows.map(r=>Se(Db,{row:r,theme:t,animateSpinners:n},r.key))})),Qo=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:m=1,isCompacting:h=!1,agentMode:S,managedPhase:I,managedHarnessProfile:T,managedWorkerTitle:w,managedRound:b,managedMaxRounds:M,managedGlobalWorkBudget:D,managedBudgetUsage:k,managedBudgetApprovalRequired:P,lastLiveActivityLabel:q,liveStatusLines:K,viewportRows:V,viewportWidth:fe,scrollOffset:ge=0,animateSpinners:Z=!0,windowed:y=!1,showFullThinking:A=!1,showDetailedTools:J=!1,showAllContent:H=!1,showLiveProgressRows:ae=!0,selectedItemId:le,expandedItemKeys:pe,onMetricsChange:ke,onVisibleRowsChange:ue,rendererWindow:ye,selectedTextRanges:Ae,transcriptModel:X,visibleRowsOverride:ne})=>{let we=Hr(()=>oe("dark"),[]),{stdout:tt}=Dr(),gt=fe??tt?.columns??80,Ge=Hr(()=>X??gp({items:e,viewportWidth:gt,isLoading:t,maxLines:n,isThinking:r,thinkingCharCount:o,thinkingContent:s,streamingResponse:a,currentTool:c,activeToolCalls:l,toolInputCharCount:d,toolInputContent:f,iterationHistory:p,currentIteration:m,isCompacting:h,managedAgentMode:S,managedPhase:I,managedHarnessProfile:T,managedWorkerTitle:w,managedRound:b,managedMaxRounds:M,managedGlobalWorkBudget:D,managedBudgetUsage:k,managedBudgetApprovalRequired:P,lastLiveActivityLabel:q,liveStatusLines:K,windowed:y,showFullThinking:A,showDetailedTools:J,showAllContent:H,showLiveProgressRows:ae,expandedItemKeys:pe}),[X,e,gt,t,n,r,o,s,a,c,l,d,f,p,m,h,S,I,T,w,b,M,D,k,P,q,K,y,A,J,H,ae,pe]),je=Ge.staticSections,de=Ge.rows,Ce=Ge.previewRows,F=Hr(()=>[...de,...Ce],[Ce,de]),ft=!(F.length>0)&&e.length===0&&!t,Ot=Hr(()=>y||ye||ne?F:de,[F,ye,de,ne,y]),Ve=Hr(()=>ne||Ib(Ot,{viewportTop:ye?Math.max(0,ye.viewportTop):void 0,viewportHeight:ye?Math.max(0,ye.viewportHeight):void 0,start:void 0,end:void 0,viewportRows:V,scrollOffset:ge,windowed:y}),[ye,ge,V,ne,y,Ot]),bt=Hr(()=>ne||y||ye?Ve:F,[F,ye,Ve,ne,y]),jt=Hr(()=>F,[F]),Bn=ye?Math.max(0,ye.viewportHeight):V;return Pb(()=>{ke?.({scrollHeight:F.length,viewportHeight:ye?Math.max(0,ye.viewportHeight):Bn??F.length})},[F.length,Bn,ke,ye]),Pb(()=>{ue?.({rows:bt,allRows:jt})},[jt,ue,bt]),ft?Se(E,{paddingY:1,children:Se(v,{dimColor:!0,children:"No messages yet. Start typing to begin."})}):Xe(E,{flexDirection:"column",children:[!y&&je.length>0&&Se(Ta,{items:je,children:i(an=>Se(ey,{section:an,theme:we,animateSpinners:Z},an.key),"children")}),bt.map(an=>Se(Db,{row:an,theme:we,animateSpinners:Z,selectedItem:le?an.key.startsWith(`${le}-`):!1,selectionRange:Ae?.get(an.key)},an.key))]})},"MessageList");var Ob=i(({role:e,content:t})=>{let n=Hr(()=>oe("dark"),[]),r={user:n.colors.primary,assistant:n.colors.secondary,system:n.colors.dim}[e];return Xe(E,{flexDirection:"column",marginBottom:1,children:[Se(v,{color:r,bold:!0,children:e==="user"?">":e==="assistant"?"<":"#"}),Se(v,{children:t})]})},"SimpleMessageDisplay");import{jsx as ny,jsxs as vp}from"react/jsx-runtime";import ZD,{useMemo as ry}from"react";function Bl(e,t,n){let r=_h({triggerPercent:t,triggerTokens:n},e),o=r.config.triggerPercent,s=Math.round(r.triggerTokens/1e3);if(r.absoluteTriggerTokens===void 0)return`@ ${o}% (${s}k)`;let a=Math.round(r.absoluteTriggerTokens/1e3);return`@ min(${o}%, ${a}k) (${s}k)`}i(Bl,"formatCompactionPolicy");function Nb(e,t,n=0,r){let o=tT(e,n);return _h({triggerPercent:t,triggerTokens:r},e,o).triggerTokens}i(Nb,"resolveCompactionThresholdTokens");var ND="\u{1F504}",BD="\u2588",HD="\u2592",WD="\u2192",FD=" \xB7 ";function jD(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(jD,"formatReasoningModeShort");function UD(e){if(e)return e==="none"?"off":e}i(UD,"formatEffortShort");function GD(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(GD,"getReasoningColor");function Bb(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}i(Bb,"formatTokenCount");function KD(e){let t=Math.min(10,Math.max(0,Math.round(e/10))),n=10-t;return`${BD.repeat(t)}${HD.repeat(n)}`}i(KD,"createMiniProgressBar");function VD(e,t,n,r,o){if(t===0)return"green";let s=Nb(t,n,r,o);return e>=s?"red":e>=s*(2/3)?"yellow":"green"}i(VD,"getContextColor");function zD(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(zD,"getPermissionModeColor");function XD(e,t){let n=Vd(e);return!(e==="auto"||e==="auto-in-project")||!t?n:`${n}${t==="llm"?"[LLM]":"[RULES]"}`}i(XD,"buildPermissionModeText");function YD(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(YD,"formatToolAction");function wp(e,t){return t&&t>0?`${e} (${t} chars)`:e}i(wp,"formatThinkingStatus");function Tp(e,t,n){let r=YD(e);return n?`${r} (${n}...)`:t&&t>0?`${r} (${t} chars)`:r}i(Tp,"formatToolStatus");function ty({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 m=e&&e>0?`${e} tool${e===1?"":"s"} running`:void 0;if(o)return"Compacting";if(c==="routing")return m?`Routing - ${m}`:t?`Routing - ${Tp(t,s,a)}`:n?wp("Routing",r):"Routing";if(c==="preflight"){let h=d??"Scout";return m?`${h} - ${m}`:t?`${h} - ${Tp(t,s,a)}`:n?wp(h,r):h}if(c==="verifying")return"Verifying";if(l){let h=d??"Worker";if(f===!0&&!m&&!t&&!n){let S=p??0,I=S>1?`waiting for ${S} children`:S===1?"waiting for 1 child":"idle - resuming";return`${h} - ${I}`}return m?`${h} - ${m}`:t?`${h} - ${Tp(t,s,a)}`:n?wp(h,r):h}if(m)return m;if(t)return Tp(t,s,a);if(n)return wp("Thinking",r)}i(ty,"buildBusyStatusText");function qD({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(qD,"resolveIterationSegments");function JD(e){if(e.length!==0)return`${ND} ${e.map(t=>`${t.label} ${t.current}/${t.max}`).join(FD)}`}i(JD,"formatLabeledIterationStatus");function QD(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:m=d?"auto":"off",effort:h,reasoningEffortLabel:S,isCompacting:I,toolInputCharCount:T,toolInputContent:w,currentIteration:b,maxIter:M,contextUsage:D,learning:k,showBusyStatus:P=!0,managedPhase:q,managedHarnessProfile:K,managedWorkerTitle:V,managedRound:fe,managedMaxRounds:ge,managedGlobalWorkBudget:Z,managedBudgetUsage:y,managedIdleWaiting:A,managedIdleWaitingPendingCount:J}=e,H=[{id:"agent-mode",text:`KodaX - ${r.toUpperCase()}`,color:"primary",bold:!0},{id:"permission-mode",text:XD(n,e.autoModeEngine),color:zD(n)}],ae=S??UD(h)??jD(m);H.push({id:"reasoning-mode",text:ae,color:GD(ae)});let le=qD({agentMode:r,managedPhase:q,managedHarnessProfile:K,managedRound:fe,managedMaxRounds:ge,managedGlobalWorkBudget:Z,managedBudgetUsage:y,currentIteration:b,maxIter:M}),pe=JD(le);if(pe){let ue=Math.max(...le.map(Ae=>Ae.current/Ae.max)),ye="green";ue>=.8?ye="red":ue>=.5&&(ye="yellow"),H.push({id:"iteration-status",text:pe,color:ye})}H.push({id:"session-id",text:t,color:"dim"});let ke=P?ty({activeToolCount:l,currentTool:c,isThinkingActive:f,thinkingCharCount:p,isCompacting:I,toolInputCharCount:T,toolInputContent:w,managedPhase:q,managedHarnessProfile:K,managedWorkerTitle:V,managedIdleWaiting:A,managedIdleWaitingPendingCount:J}):void 0;if(ke&&H.push({id:"busy-status",text:ke,color:"dim"}),H.push({id:"provider-model",text:`${o}/${s}`,color:"secondary"}),D&&D.contextWindow!==0){let ue=Math.round(D.currentTokens/D.contextWindow*100),ye=Bb(D.currentTokens),Ae=Bb(D.contextWindow),X=KD(ue);H.push({id:"context-usage",text:`${ye}/${Ae} ${X} ${ue}%`,color:VD(D.currentTokens,D.contextWindow,D.triggerPercent,D.reservedResponseTokens,D.triggerTokens)})}if(k&&(k.ready>0||k.newlyActive>0||k.attention>0)){let ue=[...k.ready>0?[`${k.ready}R`]:[],...k.newlyActive>0?[`${k.newlyActive}N`]:[],...k.attention>0?[`${k.attention}!`]:[]];H.push({id:"learning",text:`Learn:${ue.join("/")}`,color:k.attention>0||k.ready>0?"yellow":"cyan",tone:k.attention>0||k.ready>0?"warning":"accent"})}return a&&H.push({id:"token-usage",text:`${a.input}${WD}${a.output} (${a.total})`,color:"dim"}),H}i(QD,"buildStatusBarSegments");function Cp(e){let t=QD(e);return{text:t.map(n=>n.text).join(" | "),segments:t}}i(Cp,"buildStatusBarViewModel");function eO(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(eO,"resolveViewModelSegmentColor");var qi=i(({viewModel:e,...t})=>{let n=ry(()=>oe("dark"),[]),r=ry(()=>e??Cp(t),[t,e]);return ny(E,{paddingX:1,children:r.segments.map((o,s)=>vp(ZD.Fragment,{children:[ny(v,{color:eO(o,n),bold:o.bold,children:o.text}),s<r.segments.length-1?ny(v,{dimColor:!0,children:" | "}):null]},o.id))})},"StatusBar"),Hb=i(({permissionMode:e,provider:t,model:n})=>{let r=ry(()=>oe("dark"),[]);return vp(E,{children:[vp(v,{color:r.colors.primary,bold:!0,children:["[",e,"]"]}),vp(v,{dimColor:!0,children:[" ",t,"/",n]})]})},"SimpleStatusBar");import{jsx as Zo,jsxs as Rp}from"react/jsx-runtime";import{useState as oy,useCallback as Ip,useMemo as Wb}from"react";function bp(){return`${Date.now()}-${Math.random().toString(36).slice(2,9)}`}i(bp,"generateId");function tO(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(tO,"messageToHistoryItem");var Fb=i(({model:e,provider:t,onSubmit:n,permissionMode:r="accept-edits",agentMode:o="ama"})=>{let{stdout:s}=Dr(),a=Wb(()=>oe("dark"),[]),[c,l]=oy({messages:[],isLoading:!1,sessionId:bp()}),[d,f]=oy(null),[p,m]=oy(),h=Ip(async w=>{if(!w.trim())return;let b={id:bp(),role:"user",content:w,timestamp:Date.now()};l(M=>({...M,messages:[...M.messages,b],isLoading:!0}));try{await n(w)}catch(M){let D={id:bp(),role:"system",content:`Error: ${M instanceof Error?M.message:"Unknown error"}`,timestamp:Date.now()};l(k=>({...k,messages:[...k.messages,D],isLoading:!1}))}finally{l(M=>({...M,isLoading:!1}))}},[n]),S=Ip((w,b)=>{let M={id:bp(),role:w,content:b,timestamp:Date.now()};l(D=>({...D,messages:[...D.messages,M]}))},[]),I=Ip((w,b)=>{f({input:w,output:b,total:w+b})},[]),T=Ip(w=>{m(w)},[]);return Rp(E,{flexDirection:"column",children:[Zo(E,{flexGrow:1,flexDirection:"column",overflow:"hidden",children:Zo(Qo,{items:c.messages.map(tO),isLoading:c.isLoading})}),Zo(E,{flexShrink:0,children:Zo(Xi,{onSubmit:i(w=>h(w.fullText),"onSubmit"),prompt:">",focus:!c.isLoading})}),Zo(E,{flexShrink:0,children:Zo(qi,{sessionId:c.sessionId,permissionMode:r,agentMode:o,provider:t,model:e,tokenUsage:d??void 0,currentTool:p})})]})},"App"),jb=i(({model:e,provider:t,onInput:n})=>{let r=Wb(()=>oe("dark"),[]);return Rp(E,{flexDirection:"column",children:[Rp(E,{marginBottom:1,children:[Zo(v,{color:r.colors.primary,bold:!0,children:"KodaX CLI"}),Rp(v,{dimColor:!0,children:[" ","- ",t,"/",e]})]}),Zo(Xi,{onSubmit:i(o=>n(o.fullText),"onSubmit"),placeholder:"Type a message...",prompt:">"})]})},"SimpleApp");import{jsx as nO}from"react/jsx-runtime";var kp=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:m=!0,scrollRef:h,onScrollTopChange:S,onStickyChange:I,onWindowChange:T,overscanRows:w})=>nO(kg,{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:m,scrollRef:h,onScrollTopChange:S,onStickyChange:I,onWindowChange:T,overscanRows:w}),"FullscreenTranscriptLayout");import{jsx as Ub}from"react/jsx-runtime";function $a({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($a,"buildMessageActionsText");var Ep=i(({copyMessage:e=!1,copyToolInput:t=!1,copyOnSelect:n=!1,toggleDetail:r=!1,selectionNavigation:o=!1,matchNavigation:s=!1,dismissAction:a})=>{let c=oe("dark"),l=$a({copyMessage:e,copyToolInput:t,copyOnSelect:n,toggleDetail:r,selectionNavigation:o,matchNavigation:s,dismissAction:a});return l?Ub(E,{paddingX:1,children:Ub(v,{color:c.colors.dim,children:l})}):null},"MessageActions");import{jsx as Gb}from"react/jsx-runtime";function iy({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(iy,"buildMessageSelectorText");var Kb=i(({itemSummary:e,itemKind:t,position:n,detailState:r="compact"})=>{let o=oe("dark"),s=iy({itemSummary:e,itemKind:t,position:n,detailState:r});return s?Gb(E,{paddingX:1,children:Gb(v,{color:o.colors.dim,children:s})}):null},"MessageSelector");import{jsx as Da,jsxs as rO}from"react/jsx-runtime";import{useMemo as Vb}from"react";function Mp(e,t){return Math.max(1,hn(e.length>0?e.split(`
61
+ `).length-n," more lines)"]})]})]})}),ED=Dn(({item:e,theme:t})=>Xe(E,{flexDirection:"column",marginBottom:1,children:[Xe(E,{children:[Se(v,{color:t.colors.dim,bold:!0,children:"System"}),Xe(v,{dimColor:!0,children:[" [",Sp(e.timestamp),"]"]})]}),Se(E,{marginLeft:2,children:Se(v,{dimColor:!0,children:e.text})})]})),MD=Dn(({tool:e,count:t=1,theme:n})=>{let r=ID(e.status),o=bD(e.status,n);return Xe(E,{flexDirection:"column",marginLeft:2,children:[Xe(E,{children:[Xe(v,{color:o,children:[r," "]}),Se(v,{color:n.colors.text,bold:!0,children:Dl({tool:e,count:t})})]}),e.error&&Se(E,{marginLeft:2,children:Se(v,{color:n.colors.error,children:e.error})})]})}),AD=Dn(({item:e,theme:t})=>{let n=up(e.tools);return Xe(E,{flexDirection:"column",marginBottom:1,children:[Xe(E,{children:[Se(v,{color:t.colors.accent,bold:!0,children:"Tools"}),Xe(v,{dimColor:!0,children:[" [",Sp(e.timestamp),"]"]})]}),n.map(r=>Se(MD,{tool:r.tool,count:r.count,theme:t},`${r.tool.id}-${r.count}`))]})}),_D=Dn(({item:e,theme:t})=>Xe(E,{flexDirection:"column",marginBottom:1,children:[Se(E,{children:Se(v,{color:t.colors.thinking,italic:!0,children:"Thinking"})}),Se(E,{marginLeft:2,children:Se(v,{color:t.colors.thinking,italic:!0,children:e.compactText??e.text})})]})),LD=Dn(({item:e,theme:t})=>Xe(E,{flexDirection:"column",marginBottom:1,children:[Se(E,{children:Xe(v,{color:t.colors.error,bold:!0,children:["\u2717"," Error"]})}),Se(E,{marginLeft:2,children:Se(v,{color:t.colors.error,children:e.text})})]})),PD=Dn(({item:e,theme:t})=>Se(E,{flexDirection:"column",marginBottom:1,children:Xe(v,{color:t.colors.text,children:[Se(v,{color:t.colors.accent,bold:!0,children:e.icon??">"}),Se(v,{children:" "}),e.compactText??e.text]})})),$D=Dn(({item:e,theme:t})=>Se(E,{flexDirection:"column",marginBottom:e.tightSpacing?0:1,children:Xe(v,{color:t.colors.info,children:[Xe(v,{bold:!0,children:[e.icon??"\u2139"," "]}),e.compactText??e.text]})})),DD=Dn(({item:e,theme:t})=>Xe(E,{flexDirection:"column",marginBottom:1,children:[Se(E,{children:Xe(v,{color:t.colors.hint,bold:!0,children:["\u{1F4A1}"," Hint"]})}),Se(E,{marginLeft:2,children:Se(v,{dimColor:!0,children:e.text})})]})),$b=Dn(({item:e,theme:t,maxLines:n=1e3})=>{let r=Hr(()=>oe("dark"),[]),o=t??r;switch(e.type){case"user":return Se(RD,{item:e,theme:o});case"assistant":return Se(kD,{item:e,theme:o,maxLines:n});case"system":return Se(ED,{item:e,theme:o});case"tool_group":return Se(AD,{item:e,theme:o});case"thinking":return Se(_D,{item:e,theme:o});case"error":return Se(LD,{item:e,theme:o});case"event":return Se(PD,{item:e,theme:o});case"info":return Se($D,{item:e,theme:o});case"hint":return Se(DD,{item:e,theme:o});default:return Se(E,{children:Se(v,{dimColor:!0,children:"Unknown item type"})})}});function OD(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(OD,"areTranscriptRowPropsEqual");var Db=Dn(({row:e,theme:t,animateSpinners:n=!0,selectedItem:r=!1,selectionRange:o})=>{let s=Eb(t,e.color),a=e.text===" "?"":e.text,c=a||" ",l=o&&a?Pa(a,o.start,o.end):"",d=o&&a?Pa(a,0,o.start):a,f=o&&a?Pa(a,o.end):"",p=r&&!o,m=!p&&e.color==="dim",h={bold:e.bold||p,italic:e.italic,dimColor:m};return Xe(E,{marginLeft:e.indent??0,children:[e.spinner&&n&&Xe(Zg,{children:[Se($n,{color:t.colors.accent,theme:t}),Se(v,{children:" "})]}),Se(v,{color:p?t.colors.accent:s,...h,children:o&&a?Xe(Zg,{children:[d?Se(v,{color:p?t.colors.accent:s,...h,children:d}):null,Se(v,{backgroundColor:t.colors.accent,color:t.colors.background,bold:!0,italic:e.italic,children:l}),f?Se(v,{color:p?t.colors.accent:s,...h,children:f}):null]}):c})]})},OD),ey=Dn(({section:e,theme:t,animateSpinners:n=!0})=>Se(E,{flexDirection:"column",children:e.rows.map(r=>Se(Db,{row:r,theme:t,animateSpinners:n},r.key))})),Qo=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:m=1,isCompacting:h=!1,agentMode:S,managedPhase:I,managedHarnessProfile:T,managedWorkerTitle:w,managedRound:b,managedMaxRounds:M,managedGlobalWorkBudget:D,managedBudgetUsage:k,managedBudgetApprovalRequired:P,lastLiveActivityLabel:q,liveStatusLines:K,viewportRows:V,viewportWidth:fe,scrollOffset:ge=0,animateSpinners:Z=!0,windowed:y=!1,showFullThinking:A=!1,showDetailedTools:J=!1,showAllContent:H=!1,showLiveProgressRows:ae=!0,selectedItemId:le,expandedItemKeys:pe,onMetricsChange:ke,onVisibleRowsChange:ue,rendererWindow:ye,selectedTextRanges:Ae,transcriptModel:X,visibleRowsOverride:ne})=>{let we=Hr(()=>oe("dark"),[]),{stdout:tt}=Dr(),gt=fe??tt?.columns??80,Ge=Hr(()=>X??gp({items:e,viewportWidth:gt,isLoading:t,maxLines:n,isThinking:r,thinkingCharCount:o,thinkingContent:s,streamingResponse:a,currentTool:c,activeToolCalls:l,toolInputCharCount:d,toolInputContent:f,iterationHistory:p,currentIteration:m,isCompacting:h,managedAgentMode:S,managedPhase:I,managedHarnessProfile:T,managedWorkerTitle:w,managedRound:b,managedMaxRounds:M,managedGlobalWorkBudget:D,managedBudgetUsage:k,managedBudgetApprovalRequired:P,lastLiveActivityLabel:q,liveStatusLines:K,windowed:y,showFullThinking:A,showDetailedTools:J,showAllContent:H,showLiveProgressRows:ae,expandedItemKeys:pe}),[X,e,gt,t,n,r,o,s,a,c,l,d,f,p,m,h,S,I,T,w,b,M,D,k,P,q,K,y,A,J,H,ae,pe]),je=Ge.staticSections,de=Ge.rows,Ce=Ge.previewRows,F=Hr(()=>[...de,...Ce],[Ce,de]),ft=!(F.length>0)&&e.length===0&&!t,Ot=Hr(()=>y||ye||ne?F:de,[F,ye,de,ne,y]),Ve=Hr(()=>ne||Ib(Ot,{viewportTop:ye?Math.max(0,ye.viewportTop):void 0,viewportHeight:ye?Math.max(0,ye.viewportHeight):void 0,start:void 0,end:void 0,viewportRows:V,scrollOffset:ge,windowed:y}),[ye,ge,V,ne,y,Ot]),bt=Hr(()=>ne||y||ye?Ve:F,[F,ye,Ve,ne,y]),jt=Hr(()=>F,[F]),Bn=ye?Math.max(0,ye.viewportHeight):V;return Pb(()=>{ke?.({scrollHeight:F.length,viewportHeight:ye?Math.max(0,ye.viewportHeight):Bn??F.length})},[F.length,Bn,ke,ye]),Pb(()=>{ue?.({rows:bt,allRows:jt})},[jt,ue,bt]),ft?Se(E,{paddingY:1,children:Se(v,{dimColor:!0,children:"No messages yet. Start typing to begin."})}):Xe(E,{flexDirection:"column",children:[!y&&je.length>0&&Se(Ta,{items:je,children:i(an=>Se(ey,{section:an,theme:we,animateSpinners:Z},an.key),"children")}),bt.map(an=>Se(Db,{row:an,theme:we,animateSpinners:Z,selectedItem:le?an.key.startsWith(`${le}-`):!1,selectionRange:Ae?.get(an.key)},an.key))]})},"MessageList");var Ob=i(({role:e,content:t})=>{let n=Hr(()=>oe("dark"),[]),r={user:n.colors.primary,assistant:n.colors.secondary,system:n.colors.dim}[e];return Xe(E,{flexDirection:"column",marginBottom:1,children:[Se(v,{color:r,bold:!0,children:e==="user"?">":e==="assistant"?"<":"#"}),Se(v,{children:t})]})},"SimpleMessageDisplay");import{jsx as ny,jsxs as vp}from"react/jsx-runtime";import ZD,{useMemo as ry}from"react";function Bl(e,t,n){let r=Ah({triggerPercent:t,triggerTokens:n},e),o=r.config.triggerPercent,s=Math.round(r.triggerTokens/1e3);if(r.absoluteTriggerTokens===void 0)return`@ ${o}% (${s}k)`;let a=Math.round(r.absoluteTriggerTokens/1e3);return`@ min(${o}%, ${a}k) (${s}k)`}i(Bl,"formatCompactionPolicy");function Nb(e,t,n=0,r){let o=eT(e,n);return Ah({triggerPercent:t,triggerTokens:r},e,o).triggerTokens}i(Nb,"resolveCompactionThresholdTokens");var ND="\u{1F504}",BD="\u2588",HD="\u2592",WD="\u2192",FD=" \xB7 ";function jD(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(jD,"formatReasoningModeShort");function UD(e){if(e)return e==="none"?"off":e}i(UD,"formatEffortShort");function GD(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(GD,"getReasoningColor");function Bb(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}i(Bb,"formatTokenCount");function KD(e){let t=Math.min(10,Math.max(0,Math.round(e/10))),n=10-t;return`${BD.repeat(t)}${HD.repeat(n)}`}i(KD,"createMiniProgressBar");function VD(e,t,n,r,o){if(t===0)return"green";let s=Nb(t,n,r,o);return e>=s?"red":e>=s*(2/3)?"yellow":"green"}i(VD,"getContextColor");function zD(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(zD,"getPermissionModeColor");function XD(e,t){let n=Vd(e);return!(e==="auto"||e==="auto-in-project")||!t?n:`${n}${t==="llm"?"[LLM]":"[RULES]"}`}i(XD,"buildPermissionModeText");function YD(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(YD,"formatToolAction");function wp(e,t){return t&&t>0?`${e} (${t} chars)`:e}i(wp,"formatThinkingStatus");function Tp(e,t,n){let r=YD(e);return n?`${r} (${n}...)`:t&&t>0?`${r} (${t} chars)`:r}i(Tp,"formatToolStatus");function ty({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 m=e&&e>0?`${e} tool${e===1?"":"s"} running`:void 0;if(o)return"Compacting";if(c==="routing")return m?`Routing - ${m}`:t?`Routing - ${Tp(t,s,a)}`:n?wp("Routing",r):"Routing";if(c==="preflight"){let h=d??"Scout";return m?`${h} - ${m}`:t?`${h} - ${Tp(t,s,a)}`:n?wp(h,r):h}if(c==="verifying")return"Verifying";if(l){let h=d??"Worker";if(f===!0&&!m&&!t&&!n){let S=p??0,I=S>1?`waiting for ${S} children`:S===1?"waiting for 1 child":"idle - resuming";return`${h} - ${I}`}return m?`${h} - ${m}`:t?`${h} - ${Tp(t,s,a)}`:n?wp(h,r):h}if(m)return m;if(t)return Tp(t,s,a);if(n)return wp("Thinking",r)}i(ty,"buildBusyStatusText");function qD({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(qD,"resolveIterationSegments");function JD(e){if(e.length!==0)return`${ND} ${e.map(t=>`${t.label} ${t.current}/${t.max}`).join(FD)}`}i(JD,"formatLabeledIterationStatus");function QD(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:m=d?"auto":"off",effort:h,reasoningEffortLabel:S,isCompacting:I,toolInputCharCount:T,toolInputContent:w,currentIteration:b,maxIter:M,contextUsage:D,learning:k,showBusyStatus:P=!0,managedPhase:q,managedHarnessProfile:K,managedWorkerTitle:V,managedRound:fe,managedMaxRounds:ge,managedGlobalWorkBudget:Z,managedBudgetUsage:y,managedIdleWaiting:A,managedIdleWaitingPendingCount:J}=e,H=[{id:"agent-mode",text:`KodaX - ${r.toUpperCase()}`,color:"primary",bold:!0},{id:"permission-mode",text:XD(n,e.autoModeEngine),color:zD(n)}],ae=S??UD(h)??jD(m);H.push({id:"reasoning-mode",text:ae,color:GD(ae)});let le=qD({agentMode:r,managedPhase:q,managedHarnessProfile:K,managedRound:fe,managedMaxRounds:ge,managedGlobalWorkBudget:Z,managedBudgetUsage:y,currentIteration:b,maxIter:M}),pe=JD(le);if(pe){let ue=Math.max(...le.map(Ae=>Ae.current/Ae.max)),ye="green";ue>=.8?ye="red":ue>=.5&&(ye="yellow"),H.push({id:"iteration-status",text:pe,color:ye})}H.push({id:"session-id",text:t,color:"dim"});let ke=P?ty({activeToolCount:l,currentTool:c,isThinkingActive:f,thinkingCharCount:p,isCompacting:I,toolInputCharCount:T,toolInputContent:w,managedPhase:q,managedHarnessProfile:K,managedWorkerTitle:V,managedIdleWaiting:A,managedIdleWaitingPendingCount:J}):void 0;if(ke&&H.push({id:"busy-status",text:ke,color:"dim"}),H.push({id:"provider-model",text:`${o}/${s}`,color:"secondary"}),D&&D.contextWindow!==0){let ue=Math.round(D.currentTokens/D.contextWindow*100),ye=Bb(D.currentTokens),Ae=Bb(D.contextWindow),X=KD(ue);H.push({id:"context-usage",text:`${ye}/${Ae} ${X} ${ue}%`,color:VD(D.currentTokens,D.contextWindow,D.triggerPercent,D.reservedResponseTokens,D.triggerTokens)})}if(k&&(k.ready>0||k.newlyActive>0||k.attention>0)){let ue=[...k.ready>0?[`${k.ready}R`]:[],...k.newlyActive>0?[`${k.newlyActive}N`]:[],...k.attention>0?[`${k.attention}!`]:[]];H.push({id:"learning",text:`Learn:${ue.join("/")}`,color:k.attention>0||k.ready>0?"yellow":"cyan",tone:k.attention>0||k.ready>0?"warning":"accent"})}return a&&H.push({id:"token-usage",text:`${a.input}${WD}${a.output} (${a.total})`,color:"dim"}),H}i(QD,"buildStatusBarSegments");function Cp(e){let t=QD(e);return{text:t.map(n=>n.text).join(" | "),segments:t}}i(Cp,"buildStatusBarViewModel");function eO(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(eO,"resolveViewModelSegmentColor");var qi=i(({viewModel:e,...t})=>{let n=ry(()=>oe("dark"),[]),r=ry(()=>e??Cp(t),[t,e]);return ny(E,{paddingX:1,children:r.segments.map((o,s)=>vp(ZD.Fragment,{children:[ny(v,{color:eO(o,n),bold:o.bold,children:o.text}),s<r.segments.length-1?ny(v,{dimColor:!0,children:" | "}):null]},o.id))})},"StatusBar"),Hb=i(({permissionMode:e,provider:t,model:n})=>{let r=ry(()=>oe("dark"),[]);return vp(E,{children:[vp(v,{color:r.colors.primary,bold:!0,children:["[",e,"]"]}),vp(v,{dimColor:!0,children:[" ",t,"/",n]})]})},"SimpleStatusBar");import{jsx as Zo,jsxs as Rp}from"react/jsx-runtime";import{useState as oy,useCallback as Ip,useMemo as Wb}from"react";function bp(){return`${Date.now()}-${Math.random().toString(36).slice(2,9)}`}i(bp,"generateId");function tO(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(tO,"messageToHistoryItem");var Fb=i(({model:e,provider:t,onSubmit:n,permissionMode:r="accept-edits",agentMode:o="ama"})=>{let{stdout:s}=Dr(),a=Wb(()=>oe("dark"),[]),[c,l]=oy({messages:[],isLoading:!1,sessionId:bp()}),[d,f]=oy(null),[p,m]=oy(),h=Ip(async w=>{if(!w.trim())return;let b={id:bp(),role:"user",content:w,timestamp:Date.now()};l(M=>({...M,messages:[...M.messages,b],isLoading:!0}));try{await n(w)}catch(M){let D={id:bp(),role:"system",content:`Error: ${M instanceof Error?M.message:"Unknown error"}`,timestamp:Date.now()};l(k=>({...k,messages:[...k.messages,D],isLoading:!1}))}finally{l(M=>({...M,isLoading:!1}))}},[n]),S=Ip((w,b)=>{let M={id:bp(),role:w,content:b,timestamp:Date.now()};l(D=>({...D,messages:[...D.messages,M]}))},[]),I=Ip((w,b)=>{f({input:w,output:b,total:w+b})},[]),T=Ip(w=>{m(w)},[]);return Rp(E,{flexDirection:"column",children:[Zo(E,{flexGrow:1,flexDirection:"column",overflow:"hidden",children:Zo(Qo,{items:c.messages.map(tO),isLoading:c.isLoading})}),Zo(E,{flexShrink:0,children:Zo(Xi,{onSubmit:i(w=>h(w.fullText),"onSubmit"),prompt:">",focus:!c.isLoading})}),Zo(E,{flexShrink:0,children:Zo(qi,{sessionId:c.sessionId,permissionMode:r,agentMode:o,provider:t,model:e,tokenUsage:d??void 0,currentTool:p})})]})},"App"),jb=i(({model:e,provider:t,onInput:n})=>{let r=Wb(()=>oe("dark"),[]);return Rp(E,{flexDirection:"column",children:[Rp(E,{marginBottom:1,children:[Zo(v,{color:r.colors.primary,bold:!0,children:"KodaX CLI"}),Rp(v,{dimColor:!0,children:[" ","- ",t,"/",e]})]}),Zo(Xi,{onSubmit:i(o=>n(o.fullText),"onSubmit"),placeholder:"Type a message...",prompt:">"})]})},"SimpleApp");import{jsx as nO}from"react/jsx-runtime";var kp=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:m=!0,scrollRef:h,onScrollTopChange:S,onStickyChange:I,onWindowChange:T,overscanRows:w})=>nO(kg,{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:m,scrollRef:h,onScrollTopChange:S,onStickyChange:I,onWindowChange:T,overscanRows:w}),"FullscreenTranscriptLayout");import{jsx as Ub}from"react/jsx-runtime";function $a({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($a,"buildMessageActionsText");var Ep=i(({copyMessage:e=!1,copyToolInput:t=!1,copyOnSelect:n=!1,toggleDetail:r=!1,selectionNavigation:o=!1,matchNavigation:s=!1,dismissAction:a})=>{let c=oe("dark"),l=$a({copyMessage:e,copyToolInput:t,copyOnSelect:n,toggleDetail:r,selectionNavigation:o,matchNavigation:s,dismissAction:a});return l?Ub(E,{paddingX:1,children:Ub(v,{color:c.colors.dim,children:l})}):null},"MessageActions");import{jsx as Gb}from"react/jsx-runtime";function iy({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(iy,"buildMessageSelectorText");var Kb=i(({itemSummary:e,itemKind:t,position:n,detailState:r="compact"})=>{let o=oe("dark"),s=iy({itemSummary:e,itemKind:t,position:n,detailState:r});return s?Gb(E,{paddingX:1,children:Gb(v,{color:o.colors.dim,children:s})}):null},"MessageSelector");import{jsx as Da,jsxs as rO}from"react/jsx-runtime";import{useMemo as Vb}from"react";function Mp(e,t){return Math.max(1,hn(e.length>0?e.split(`
62
62
  `):[""],Math.max(1,t),0,0).visualLines.length)}i(Mp,"countWrappedRows");var Ap=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,m=f?.toolInput??!1,h=f?.copyOnSelect??!1,S=t?.toggleDetail??!1,I=t?.navigationCapabilities?.selection??!1,T=n?.statusText,w=n?.matches?.length??0,b=n?.surface,M=o.viewportWidth??80,D=Math.max(1,M-2),k=n?.query?.trim()?"close-search":a||p||m||S||I?"clear":void 0,P=iy({itemSummary:a,itemKind:l,position:c,detailState:d}),q=Vb(()=>$a({copyMessage:p,copyToolInput:m,copyOnSelect:h,toggleDetail:S,selectionNavigation:I,matchNavigation:!!T&&w>0,dismissAction:k}),[p,m,I,S,k,w,T,h]),K=Vb(()=>{if(!s)return 0;let fe=0;return e?.hintText&&(fe+=Mp(e.hintText,D)),P&&(fe+=Mp(P,D)),q&&(fe+=Mp(q,D)),T&&(fe+=Mp(T,D)),b&&(fe+=1),fe},[q,e?.hintText,D,s,T,b,P]),V=typeof o.viewportRows=="number"?Math.max(1,o.viewportRows-K):o.viewportRows;return rO(E,{flexDirection:"column",flexGrow:o.windowed?0:1,children:[s&&e?.hintText?Da(E,{paddingX:1,children:Da(v,{dimColor:!0,children:e.hintText})}):null,null,s&&(p||m||h||S||I||w>0)?Da(Ep,{copyMessage:p,copyToolInput:m,copyOnSelect:h,toggleDetail:S,selectionNavigation:I,matchNavigation:!!T&&w>0,dismissAction:k}):null,s&&T?Da(E,{paddingX:1,children:Da(v,{dimColor:!0,children:T})}):null,s?b:null,Da(Qo,{...o,viewportRows:V})]})},"TranscriptViewport");import{jsx as zb}from"react/jsx-runtime";var _p=i(e=>zb(E,{flexDirection:"column",children:zb(Xi,{...e})}),"PromptComposer");import{jsx as Ji,jsxs as Lp}from"react/jsx-runtime";import Xb from"react";var Yb=" \xB7 ",Hl=i(({items:e=[]})=>{let t=e.filter(r=>r.label.trim().length>0),n=oe("dark");return t.length===0?null:Ji(E,{flexGrow:1,children:t.map((r,o)=>Lp(Xb.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:Yb}):null]},r.id))})},"PromptFooterLeftSide"),Wl=i(({items:e=[]})=>{let t=e.filter(r=>r.label.trim().length>0),n=oe("dark");return t.length===0?null:Ji(E,{justifyContent:"flex-end",children:t.map((r,o)=>Lp(Xb.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:Yb}):null]},r.id))})},"PromptFooterRightSide"),Fl=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:m,inlineDialogs:h})=>Lp(E,{flexDirection:"column",children:[e||t?Lp(E,{paddingX:1,children:[Ji(E,{flexGrow:1,children:e}),t]}):null,n,r,o,s,a,c,l,d,h,f,p,m]}),"PromptFooter");import{jsx as sy,jsxs as qb}from"react/jsx-runtime";var Pp=i(({sections:e,title:t="Help"})=>{let n=oe("dark"),r=e.filter(o=>o.items.length>0);return r.length===0?null:qb(E,{flexDirection:"column",borderStyle:"round",borderColor:n.colors.accent,paddingX:1,marginTop:1,children:[sy(v,{color:n.colors.accent,bold:!0,children:t}),r.map(o=>qb(E,{flexDirection:"column",children:[sy(v,{color:n.colors.primary,bold:!0,children:o.title}),sy(v,{dimColor:!0,children:o.items.map(s=>s.label).join(" | ")})]},o.id))]})},"PromptHelpMenu");import{jsx as Jb}from"react/jsx-runtime";import{createContext as Zb,useContext as e0,useReducer as oO,useCallback as qt,useMemo as iO}from"react";var sO=150;function Ul(){return`${Date.now()}-${Math.random().toString(36).slice(2,9)}`}i(Ul,"generateId");function jl(e){let t=e.timestamp;return{...e,id:Ul(),timestamp:t!==void 0&&Number.isFinite(t)&&t>=0?t:Date.now()}}i(jl,"createHistoryItem");function Qb(e){if(e.length<=sO)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(Qb,"trimHistoryToRounds");function ay(e,t){return e.filter(n=>n.type==="user"&&typeof n.id=="string"&&!t.has(n.id))}i(ay,"selectUncommittedLedgerUserItems");function $p(e){return{...e,id:Ul(),startTime:Date.now()}}i($p,"createToolCall");function aO(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:Qb([...e.history,t.payload])};case"BULK_ADD_HISTORY_ITEMS":return{...e,history:Qb([...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{...Kd,sessionId:e.sessionId};default:return e}}i(aO,"uiReducer");var t0=Zb(null),n0=Zb(null);function Gl({children:e,initialState:t}){let[n,r]=oO(aO,{...Kd,...t}),o=qt(P=>{r({type:"SET_STREAMING_STATE",payload:P})},[]),s=qt(P=>{r({type:"APPEND_TO_RESPONSE",payload:P})},[]),a=qt(()=>{r({type:"CLEAR_RESPONSE"})},[]),c=qt(P=>{let q=jl(P);r({type:"ADD_HISTORY_ITEM",payload:q})},[]),l=qt(P=>{P.length!==0&&r({type:"BULK_ADD_HISTORY_ITEMS",payload:P.map(jl)})},[]),d=qt((P,q)=>{r({type:"UPDATE_HISTORY_ITEM",payload:{id:P,updates:q}})},[]),f=qt(()=>{r({type:"CLEAR_HISTORY"})},[]),p=qt(P=>{let q=$p(P);return r({type:"ADD_TOOL_CALL",payload:q}),q.id},[]),m=qt((P,q)=>{r({type:"UPDATE_TOOL_CALL",payload:{id:P,updates:q}})},[]),h=qt(()=>{r({type:"CLEAR_TOOL_CALLS"})},[]),S=qt(P=>{r({type:"SET_SESSION_ID",payload:P})},[]),I=qt(P=>{r({type:"SET_MODE",payload:P})},[]),T=qt(P=>{r({type:"SET_PROVIDER",payload:P})},[]),w=qt(P=>{r({type:"SET_MODEL",payload:P})},[]),b=qt(P=>{r({type:"SET_TOKEN_USAGE",payload:P})},[]),M=qt(P=>{r({type:"SET_ERROR",payload:P})},[]),D=qt(P=>{r({type:"SET_LOADING",payload:P})},[]),k=iO(()=>({setStreamingState:o,appendToResponse:s,clearResponse:a,addHistoryItem:c,addHistoryItems:l,updateHistoryItem:d,clearHistory:f,addToolCall:p,updateToolCall:m,clearToolCalls:h,setSessionId:S,setMode:I,setProvider:T,setModel:w,setTokenUsage:b,setError:M,setLoading:D}),[o,s,a,c,l,d,f,p,m,h,S,I,T,w,b,M,D]);return Jb(t0.Provider,{value:n,children:Jb(n0.Provider,{value:k,children:e})})}i(Gl,"UIStateProvider");function Oa(){let e=e0(t0);if(!e)throw new Error("useUIState must be used within a UIStateProvider");return e}i(Oa,"useUIState");function Na(){let e=e0(n0);if(!e)throw new Error("useUIActions must be used within a UIStateProvider");return e}i(Na,"useUIActions");function cy(){let e=Oa(),t=Na();return{state:e,actions:t}}i(cy,"useUI");function ly(){return oe()}i(ly,"useTheme");import{jsxs as ei,jsx as Dp,Fragment as cO}from"react/jsx-runtime";import{useMemo as lO}from"react";var uO=80,dO=7,fO={command:">",file:"\u{1F4C4}",history:"\u23F1",argument:"\u2022",snippet:"\u25C7",skill:"\u2605"};function pO(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(pO,"getVisibleRange");function mO({suggestion:e,isSelected:t,width:n}){let r=ly(),o=e.icon||e.type&&fO[e.type]||"",s=o?mr(o)+1:0,a=mr(e.displayText||e.text),c=e.description?mr(e.description):0,l=Math.min(a,n-s-2),d=n-s-l-3,f=Math.max(0,d),p=ua(e.displayText||e.text,l),m=e.description?ua(e.description,f):"";return ei(E,{children:[o&&ei(v,{color:t?r.colors.accent:r.colors.dim,children:[o," "]}),Dp(v,{color:t?r.colors.primary:r.colors.text,bold:t,children:p}),m&&ei(cO,{children:[Dp(v,{children:" "}),Dp(v,{color:r.colors.dim,children:ua(e.description||"",f)})]}),t&&ei(v,{color:r.colors.accent,children:[" ","\u25C0"]})]})}i(mO,"SuggestionItem");function Kl({suggestions:e,selectedIndex:t,visible:n,maxVisible:r=dO,width:o=uO,showCount:s=!1}){let a=ly();if(!n||e.length===0)return null;let{start:c,end:l}=lO(()=>pO(t,e.length,r),[t,e.length,r]),d=e.slice(c,l);return ei(E,{flexDirection:"column",marginLeft:2,children:[c>0&&ei(v,{color:a.colors.dim,children:[" ","\u25B2 ",c," more..."]}),d.map((f,p)=>{let h=c+p===t;return Dp(mO,{suggestion:f,isSelected:h,width:o},f.id)}),l<e.length&&ei(v,{color:a.colors.dim,children:[" ","\u25BC ",e.length-l," more..."]}),s&&ei(v,{color:a.colors.dim,children:[t+1,"/",e.length]})]})}i(Kl,"SuggestionsDisplay");import{jsx as Ba,jsxs as hO}from"react/jsx-runtime";var Op=i(({reserveSpace:e,width:t,hidden:n=!1,mode:r="inline"})=>{let o=qo(),s=oe("dark");if(n)return null;if(!o)return e?Ba(E,{height:8}):null;let{state:a,suggestions:c}=o;return a.visible&&c.length>0?r==="overlay"?hO(E,{flexDirection:"column",borderStyle:"round",borderColor:s.colors.accent,paddingX:1,marginTop:1,children:[Ba(v,{color:s.colors.accent,bold:!0,children:"Suggestions"}),Ba(Kl,{suggestions:c,selectedIndex:a.selectedIndex,visible:a.visible,maxVisible:7,width:Math.max(20,t-6)})]}):Ba(E,{height:8,children:Ba(Kl,{suggestions:c,selectedIndex:a.selectedIndex,visible:a.visible,maxVisible:7,width:Math.max(20,t-2)})}):e?Ba(E,{height:8}):null},"PromptSuggestionsSurface");import{jsxs as gr,jsx as Jn,Fragment as uy}from"react/jsx-runtime";import gO,{useEffect as yO,useState as xO}from"react";var Ha=15,r0=Math.max(1,Ha-2),Np=i(({confirm:e,request:t})=>e?gr(E,{flexDirection:"column",borderStyle:"round",borderColor:"yellow",paddingX:1,marginTop:1,width:"100%",children:[gr(v,{color:"yellow",bold:!0,children:[re("dialog.confirm")," ",e.prompt]}),e.planContent?Jn(SO,{content:e.planContent}):null,e.instruction?Jn(v,{dimColor:!0,children:e.instruction}):null]}):t?gr(E,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,marginTop:1,width:"100%",children:[t.kind==="select"?gr(uy,{children:[gr(v,{color:"cyan",bold:!0,children:[re("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 gr(uy,{children:[c>0?Jn(v,{dimColor:!0,children:re("select.more_above",{count:c})}):null,n.slice(a,a+r).map((d,f)=>{let p=a+f,m=p===o,h=t.selectedIndices?.includes(p)??!1,S=m?"\u276F ":" ",I=h?" \u2713":"",T=d.description?` - ${d.description}`:"";return Jn(v,{color:m?"cyan":void 0,dimColor:!m,children:`${S}${d.label}${T}${I}`},`${d.value}-${p}`)}),l>0?Jn(v,{dimColor:!0,children:re("select.more_below",{count:l})}):null]})})(),Jn(v,{dimColor:!0,children:t.multiSelect?re("select.multiselect_hint"):re("select.navigate_hint")})]}):gr(uy,{children:[gr(v,{color:"cyan",bold:!0,children:[re("dialog.input")," ",t.prompt]}),t.defaultValue!==void 0?Jn(v,{dimColor:!0,children:`${re("input.default")} ${t.defaultValue}`}):null,Jn(v,{dimColor:!0,children:`${re("input.value")} ${t.buffer||re("input.type_response")}`}),Jn(v,{dimColor:!0,children:re("select.confirm_hint")})]}),t.error?Jn(v,{color:"red",children:t.error}):null]}):null,"DialogSurface"),SO=i(({content:e})=>{let t=gO.useMemo(()=>e.split(`
63
63
  `),[e]),n=t.length,r=n>Ha,[o,s]=xO(0);yO(()=>{s(d=>{let f=Math.max(0,n-Ha);return d>f?f:d})},[n]),Ca((d,f)=>{if(!r)return;let p=Math.max(0,n-Ha);f.upArrow?s(m=>Math.max(0,m-1)):f.downArrow?s(m=>Math.min(p,m+1)):f.pageUp?s(m=>Math.max(0,m-r0)):f.pageDown&&s(m=>Math.min(p,m+r0))},{isActive:!0});let a=t.slice(o,o+Ha),c=o,l=Math.max(0,n-o-Ha);return gr(E,{flexDirection:"column",marginTop:1,children:[r&&c>0?gr(v,{dimColor:!0,children:["\u2026 ",c," more line",c===1?"":"s"," above"]}):null,a.map((d,f)=>Jn(v,{children:d},`plan-line-${o+f}`)),r&&l>0?gr(v,{dimColor:!0,children:["\u2026 ",l," more line",l===1?"":"s"," below"]}):null,r?Jn(v,{dimColor:!0,children:"PgUp/PgDn/\u2191\u2193 to scroll"}):null]})},"PlanScrollPanel");import{jsxs as Vl,jsx as wO}from"react/jsx-runtime";function o0(e){let t=e.replace(/\s+/g," ").trim();return t.length<=72?t:`${t.slice(0,69)}...`}i(o0,"normalizePendingPreview");function i0(e){if(e.length===0)return;let t=o0(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(i0,"formatPendingInputsSummary");function dy(e){if(e.length===0)return[];let t=e.length;return e.map((n,r)=>({index:r+1,total:t,preview:o0(n)}))}i(dy,"formatPendingInputsLines");function s0(e){let t=dy(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(s0,"formatPendingInputsBudgetText");var Bp=i(({pendingInputs:e})=>{let t=dy(e);if(t.length===0)return null;let n=oe("dark");return Vl(E,{flexDirection:"column",children:[t.map(r=>Vl(E,{children:[Vl(v,{color:n.colors.hint,children:["\u23F3"," "]}),Vl(v,{color:n.colors.dim,children:["[",r.index,"/",r.total,"] ",r.preview]})]},r.index)),wO(E,{children:Vl(v,{color:n.colors.dim,children:[" ","\u2191 pull all into editor \xB7 Esc drops latest"]})})]})},"QueuedCommandsSurface");import{jsx as a0}from"react/jsx-runtime";function TO(e,t){switch(e){case"warning":return t.warning;case"accent":return t.accent;default:return t.dim}}i(TO,"resolveNotificationColor");var zl=i(({notifications:e})=>{let t=e.filter(r=>r.text.trim().length>0),n=oe("dark");return t.length===0?null:a0(E,{flexDirection:"column",paddingX:1,children:t.map(r=>a0(v,{color:TO(r.tone,n.colors),children:r.text},r.id))})},"NotificationsSurface");import{jsx as c0}from"react/jsx-runtime";var Hp=i(({notices:e})=>{let t=e.filter(r=>r.trim().length>0);if(t.length===0)return null;let n=oe("dark");return c0(E,{flexDirection:"column",paddingX:1,children:t.map((r,o)=>c0(v,{color:n.colors.dim,children:r},`${r}-${o}`))})},"StatusNoticesSurface");import{jsxs as l0,jsx as CO}from"react/jsx-runtime";var Xl=i(({text:e})=>{let t=e?.trim();if(!t)return null;let n=oe("dark");return l0(E,{paddingX:1,children:[l0(v,{color:n.colors.hint,children:["\u22EF"," "]}),CO(v,{color:n.colors.dim,children:t})]})},"StashNotice");import{jsx as Qi,jsxs as vO}from"react/jsx-runtime";function u0({text:e,accent:t=!1,selected:n=!1}){let r=oe("dark");return Qi(E,{marginRight:1,children:Qi(v,{color:t?r.colors.accent:r.colors.primary,bold:n||t,children:`[ ${e} ]`})})}i(u0,"Pill");var Yl=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:vO(E,{flexDirection:"row",paddingX:1,children:[r?Qi(E,{marginRight:1,children:Qi($n,{})}):null,o.map(s=>Qi(u0,{text:s.hint?`${s.label} (${s.hint})`:s.label,accent:s.accent,selected:s.selected},s.id)),t?Qi(u0,{text:t}):null,n?Qi(v,{dimColor:!0,children:n}):null]})},"BackgroundTaskBar");import{jsx as ql,jsxs as MO}from"react/jsx-runtime";import IO from"string-width";var fy=9,py=3,d0=160,bO={shouldRender:!1,activeCount:0,rows:[]};function f0(e,t=fy){let n=IO(e);return n>=t?e:`${e}${" ".repeat(t-n)}`}i(f0,"padChildActivitySymbol");function my(e){let t=e.replace(/\s+/gu," ").trim();return t.length<=d0?t:`${t.slice(0,d0-3)}...`}i(my,"truncateChildActivityDetail");function Wp(e){return!!(e?.liveOnly===!0&&(e.workflowCorrelation||e.childAgentId))}i(Wp,"shouldRouteToChildActivity");function p0(e,t){return!!(e?.liveOnly===!0&&e.workflowCorrelation?.workflowRunId&&t&&e.workflowCorrelation.workflowRunId===t)}i(p0,"shouldRouteWorkflowLiveOnlyNotice");function m0(e){return!e.isTranscriptMode&&e.childActivityVisible&&(e.isLoading||e.hasWorkflowLiveSurface)}i(m0,"shouldShowChildActivitySurface");function hy(e){let t=e.childAgentId??e.workflowCorrelation?.childAgentId??"child",n=e.workflowCorrelation?.workflowRunId;return n?`${n}:${t}`:t}i(hy,"childActivityId");function h0(e){return e.childAgentName??e.childAgentId??e.workflowCorrelation?.childAgentId??"child"}i(h0,"childActivityLabel");function g0(e){return e.workflowCorrelation?"workflow":"normal"}i(g0,"childActivitySource");function y0(e,t){let n=t?.path??t?.pattern??t?.command??t?.preview,r=typeof n=="string"&&n.trim().length>0?` ${n}`:"";return my(`${e}${r}`)}i(y0,"toolActivityDetail");function x0(e,t){return e==="tool"&&["thinking","assistant","stream"].includes(t)}i(x0,"suppressesChurnOverToolAction");function RO(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(RO,"formatChildActivityElapsed");function kO(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(kO,"kindLabel");function EO(e,t){let n=e.label.trim()||"child",r=e.startedAt!==void 0?` \xB7 ${RO(t-e.startedAt)}`:"",o=e.detail.trim(),s=o.length>0?`: ${o}`:"";return`${n}${r} - ${kO(e.kind)}${s}`}i(EO,"rowText");function S0(e,t=py,n=Date.now()){let r=e.filter(d=>d.status==="running");if(r.length===0)return bO;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:EO(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(S0,"buildChildActivityViewModel");var w0=fy;function AO(e){let t=oe("dark");switch(e){case"cyan":return t.colors.primary;case"green":return t.colors.success;default:return t.colors.dim}}i(AO,"resolveSymbolColor");var _O=i(({row:e})=>{let t=AO(e.symbolColor);return MO(E,{flexDirection:"row",children:[ql(E,{width:w0,flexShrink:0,children:ql(v,{color:t,bold:e.isActive,wrap:"truncate",children:f0(e.symbol,w0)})}),ql(v,{color:e.kind==="summary"?oe("dark").colors.dim:void 0,bold:e.isActive,wrap:"truncate",children:e.text})]})},"ChildActivityRowView");function Fp(e){return!e.shouldRender||e.rows.length===0?0:e.rows.length}i(Fp,"measureChildActivitySurfaceRows");var jp=i(({viewModel:e})=>!e.shouldRender||e.rows.length===0?null:ql(E,{flexDirection:"column",flexGrow:1,children:e.rows.map(t=>ql(_O,{row:t},`${t.kind}-${t.id}`))}),"ChildActivitySurface");import T0,{createContext as I0,useContext as b0,useReducer as LO,useCallback as Ze,useRef as C0,useEffect as v0}from"react";function PO(e,t){return e.agentId===t&&e.priority==="user"&&e.mode==="prompt"}i(PO,"isPendingPromptForAgent");function xy(e){return Kn().getSnapshot().filter(t=>PO(t,e))}i(xy,"getPendingPrompts");function gy(e){return xy(e).map(t=>t.content)}i(gy,"getPendingPromptContents");var yy={state:dr.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 Up(e={}){let t=i(()=>e.getPendingInputAgentId?.(),"getPendingInputAgentId"),n={...yy,pendingInputs:gy(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=gy(t());if(T.length===n.pendingInputs.length){let w=!0;for(let b=0;b<T.length;b++)if(T[b]!==n.pendingInputs[b]){w=!1;break}if(w)return}n={...n,pendingInputs:T},f()},"syncReactStateFromQueue"),m=Kn().subscribe(()=>{p()}),h=i(()=>Kn().dequeue({agentId:t(),maxPriority:"user",mode:"prompt"}).map(w=>w.content),"drainOurSlice"),S=i(()=>{if(c&&(clearTimeout(c),c=null),o||s||a>0){let w=n.thinkingContent+s,b=s?w.length:n.thinkingCharCount+a;n={...n,currentResponse:n.currentResponse+o,thinkingContent:w,thinkingCharCount:b,...s||a>0?{isThinking:!0}:{}},o="",s="",a=0,f()}},"flushPendingUpdates"),I=i(()=>{c||(c=setTimeout(S,d))},"scheduleFlush");return{getState:i(()=>n,"getState"),setState:i(T=>{S(),n={...n,state:T},f()},"setState"),startStreaming:i(()=>{l=!1,o="",s="",a=0,c&&(clearTimeout(c),c=null),n={...n,state:dr.Responding,currentResponse:"",abortController:new AbortController,error:void 0,roundStartedAt:Date.now()},f()},"startStreaming"),stopStreaming:i(()=>{S(),n={...n,state:dr.Idle,abortController:void 0,roundStartedAt:null},f()},"stopStreaming"),appendResponse:i(T=>{l||(o+=T,I())},"appendResponse"),clearResponse:i(()=>{S(),n={...n,currentResponse:""},f()},"clearResponse"),setError:i(T=>{S(),n={...n,error:T,state:T?dr.Idle:n.state},f()},"setError"),abort:i(T=>{l=!0,S(),n.abortController?.abort(),o="",s="",a=0,c&&(clearTimeout(c),c=null),T?.preservePendingInputs||h(),n={...n,state:dr.Idle,abortController:void 0,roundStartedAt:null},f()},"abort"),reset:i(()=>{l=!0,S(),n.abortController?.abort(),o="",s="",a=0,c&&(clearTimeout(c),c=null),h(),n={...yy,pendingInputs:gy(t())},l=!1,f()},"reset"),isStreaming:i(()=>n.state===dr.Responding||n.state===dr.WaitingForConfirmation,"isStreaming"),subscribe:i(T=>(r.add(T),()=>{r.delete(T)}),"subscribe"),startThinking:i(()=>{S(),n={...n,isThinking:!0,thinkingCharCount:0,thinkingContent:""},f()},"startThinking"),appendThinkingChars:i(T=>{l||(a+=T,I())},"appendThinkingChars"),appendThinkingContent:i(T=>{l||(s+=T,I())},"appendThinkingContent"),stopThinking:i(()=>{S(),n={...n,isThinking:!1,thinkingCharCount:0},f()},"stopThinking"),clearThinkingContent:i(()=>{S(),n={...n,isThinking:!1,thinkingCharCount:0,thinkingContent:""},f()},"clearThinkingContent"),setCurrentTool:i(T=>{S(),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=>{S(),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(()=>{S(),n={...n,iterationHistory:[],currentIteration:1,maxIter:yy.maxIter,thinkingContent:"",thinkingCharCount:0,currentResponse:"",currentTool:void 0,toolInputCharCount:0,toolInputContent:""},f()},"clearIterationHistory"),setMaxIter:i(T=>{S(),n={...n,maxIter:T},f()},"setMaxIter"),startCompacting:i(()=>{S(),n={...n,isCompacting:!0},f()},"startCompacting"),stopCompacting:i(()=>{S(),n={...n,isCompacting:!1},f()},"stopCompacting"),addPendingInput:i(T=>{let w=T.trim();w&&(xy(t()).length>=5||(S(),Kn().enqueue({agentId:t(),priority:"user",mode:"prompt",content:w})))},"addPendingInput"),removeLastPendingInput:i(()=>{let T=xy(t()),w=T[T.length-1];w&&(S(),Kn().dequeue({agentId:t(),maxPriority:"user",mode:"prompt",id:w.id}))},"removeLastPendingInput"),shiftPendingInput:i(()=>(S(),Kn().dequeue({agentId:t(),maxPriority:"user",mode:"prompt",limit:1})[0]?.content),"shiftPendingInput"),clearPendingInputs:i(()=>{S(),h()},"clearPendingInputs"),consumePendingInputs:i(()=>(S(),h()),"consumePendingInputs"),dispose:i(()=>{m()},"dispose")}}i(Up,"createStreamingManager");var R0=I0(null),k0=I0(null);function Ql({children:e,onStateChange:t,getPendingInputAgentId:n}){let r=C0(n);r.current=n;let o=C0(void 0);o.current||(o.current=Up({getPendingInputAgentId:i(()=>r.current?.(),"getPendingInputAgentId")}));let s=o.current,[,a]=LO(ue=>ue+1,0);v0(()=>s.subscribe(ye=>{a(),t?.(ye)}),[s,t]),v0(()=>()=>{s.dispose()},[s]);let c=Ze(()=>{s.startStreaming()},[]),l=Ze(()=>{s.stopStreaming()},[]),d=Ze(ue=>{s.appendResponse(ue)},[]),f=Ze(()=>{s.clearResponse()},[]),p=Ze(ue=>{s.setError(ue)},[]),m=Ze(ue=>{s.abort(ue)},[]),h=Ze(()=>{s.reset()},[]),S=Ze(()=>{s.startThinking()},[]),I=Ze(ue=>{s.appendThinkingChars(ue)},[]),T=Ze(ue=>{s.appendThinkingContent(ue)},[]),w=Ze(()=>{s.stopThinking()},[]),b=Ze(()=>{s.clearThinkingContent()},[]),M=Ze(ue=>{s.setCurrentTool(ue)},[]),D=Ze(ue=>{s.appendToolInputChars(ue)},[]),k=Ze(ue=>{s.appendToolInputContent(ue)},[]),P=Ze(()=>{s.clearToolInputContent()},[]),q=Ze(()=>s.getSignal(),[]),K=Ze(()=>s.getFullResponse(),[]),V=Ze(()=>s.getThinkingContent(),[]),fe=Ze(ue=>{s.startNewIteration(ue)},[]),ge=Ze(()=>{s.clearIterationHistory()},[]),Z=Ze(ue=>{s.setMaxIter(ue)},[]),y=Ze(()=>{s.startCompacting()},[]),A=Ze(()=>{s.stopCompacting()},[]),J=Ze(ue=>{s.addPendingInput(ue)},[]),H=Ze(()=>{s.removeLastPendingInput()},[]),ae=Ze(()=>s.shiftPendingInput(),[]),le=Ze(()=>{s.clearPendingInputs()},[]),pe=Ze(()=>s.consumePendingInputs(),[]),ke={startStreaming:c,stopStreaming:l,appendResponse:d,clearResponse:f,setError:p,abort:m,reset:h,startThinking:S,appendThinkingChars:I,appendThinkingContent:T,stopThinking:w,clearThinkingContent:b,setCurrentTool:M,appendToolInputChars:D,appendToolInputContent:k,clearToolInputContent:P,getSignal:q,getFullResponse:K,getThinkingContent:V,startNewIteration:fe,clearIterationHistory:ge,setMaxIter:Z,startCompacting:y,stopCompacting:A,addPendingInput:J,removeLastPendingInput:H,shiftPendingInput:ae,clearPendingInputs:le,consumePendingInputs:pe};return T0.createElement(R0.Provider,{value:s.getState()},T0.createElement(k0.Provider,{value:ke},e))}i(Ql,"StreamingProvider");function Wa(){let e=b0(R0);if(!e)throw new Error("useStreamingState must be used within a StreamingProvider");return e}i(Wa,"useStreamingState");function Fa(){let e=b0(k0);if(!e)throw new Error("useStreamingActions must be used within a StreamingProvider");return e}i(Fa,"useStreamingActions");function Sy(){let e=Wa(),t=Fa(),n=e.state===dr.Responding||e.state===dr.WaitingForConfirmation;return{state:e,actions:t,isStreaming:n}}i(Sy,"useStreaming");import{useCallback as $O,useRef as DO}from"react";var OO=500;function E0(e={}){let{onKey:t,onEsc:n,onCtrlC:r,enabled:o=!0}=e,s=DO(0),{exit:a}=Or(),c=$O(l=>{if(!o)return!1;if(l.name==="escape"){let d=Date.now(),f=d-s.current<OO;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 Pn(c,{isActive:o}),{lastEscTime:s.current}}i(E0,"useKeypress");function M0(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(M0,"createKeyMatcher");import{useCallback as A0,useSyncExternalStore as NO}from"react";function BO(e,t){return e.agentId===t&&e.priority==="user"&&e.mode==="prompt"}i(BO,"isQueuedPromptForAgent");var wy=null,Gp=new Map;function HO(e){let t=Kn().getSnapshot();t!==wy&&(wy=t,Gp.clear());let n=Gp.get(e);if(n!==void 0)return n;let r=Object.freeze(t.filter(o=>BO(o,e)));return Gp.set(e,r),r}i(HO,"getQueueSliceSnapshot");function Ty(e){let t=A0(r=>Kn().subscribe(r),[]),n=A0(()=>HO(e),[e]);return NO(t,n,n)}i(Ty,"useQueuedPrompts");function _0(e){return Ty(e).map(n=>n.content)}i(_0,"useQueuedPromptContents");function L0(){wy=null,Gp.clear()}i(L0,"_resetQueuedPromptsCacheForTests");var ja="Runtime state: run active until this approval is resolved.";function Kp(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(Kp,"resolveReplRuntimePermissionDecision");function Ua(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(Ua,"toReplRuntimeAutoModeSettings");async function Ga(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??Zi(),title:"",gitRoot:e.gitRoot,runtimeInfo:e.runtimeInfo,createdAt:new Date().toISOString(),lastAccessed:new Date().toISOString()}}i(Ga,"createInteractiveContext");function Zi(){let e=new Date,t=e.toISOString().split("T")[0].replace(/-/g,""),n=e.toTimeString().split(" ")[0].replace(/:/g,"");return`${t}_${n}`}i(Zi,"generateSessionId");function yr(e){e.lastAccessed=new Date().toISOString()}i(yr,"touchContext");import zp from"node:fs";import Zl from"node:os";import Wr from"node:path";var WO=new Set(["write","edit","multi_edit","insert_after_anchor"]),FO=new Set(["read","grep","glob"]),jO=new Set([".ssh",".aws",".azure",".gnupg",".kube",".docker",".kodax",".agents"]),UO=new Set([".env",".npmrc",".pypirc",".netrc",".git-credentials","credentials","credentials.json","application_default_credentials.json","id_rsa","id_ed25519"]),GO=new Set([".env.example",".env.sample",".env.template"]),P0=/(?:^|_)(?:api_?key|access_?key|secret|token|password|passwd|credential|private_?key|auth|cookie)(?:_|$)/i,KO=new Set(["cat","type","get-content","head","tail","less","more","wc","fc"]),VO=new Set(["rg","ripgrep","grep","egrep","fgrep","findstr","select-string","sed","awk"]),zO=new Set(["-delimiter","-encoding","-readcount","-totalcount","-tail"]),XO=new Set(["-path","-literalpath","-filter","-include","-exclude"]),YO=new Set(["-g","-s","--format","--pretty","--date","--encoding","--diff-algorithm","--word-diff-regex","--diff-filter","--find-object","--line-prefix"]),qO=new Set(["rm","rmdir","mkdir","touch","mv","move","ren","del","erase","rd","cp","copy","chmod","chown","dd","tee","remove-item","set-content","add-content","out-file","new-item","copy-item","move-item","rename-item","ni"]),JO=new Set(["add","remove","rm","rename","set-head","set-branches","set-url","prune","update"]),QO=new Set(["-d","-m","-c","-f","--force","--delete","--move","--copy","--edit-description","--set-upstream-to","--unset-upstream","--create-reflog","--track","--no-track","--recurse-submodules"]),ZO=new Set(["-a","--annotate","-s","--sign","-u","--local-user","-d","--delete","-f","--force","-m","--message","-F","--file","--create-reflog"].map(e=>e.toLowerCase()));function vy(e){let t=Zl.tmpdir(),n=[[/^%temp%/i,t],[/^%tmp%/i,t],[/^\$env:temp\b/i,t],[/^\$env:tmp\b/i,t],[/^\$tmpdir\b/i,t],[/^\$temp\b/i,t],[/^\$tmp\b/i,t]],r=e==="~"?Zl.homedir():/^~[\\/]/.test(e)?Wr.join(Zl.homedir(),e.slice(2)):e,o=/^(?:\$\{HOME\}|\$HOME|\$env:(?:home|userprofile)|%userprofile%)(?=$|[\\/])/i;r=r.replace(o,Zl.homedir());for(let[s,a]of n)s.test(r)&&(r=r.replace(s,a));return r}i(vy,"expandPermissionPath");function eN(e){let t=vy(e);if(!(/[$%*?`]/.test(t)||/^~/.test(t)))return t}i(eN,"normalizeShellTarget");function $0(e,t){if(!e.trim()||e.includes("\0"))return;let n=vy(e);if(process.platform==="win32"&&/^[a-z]:[^\\/]/i.test(n))return;let r=Wr.isAbsolute(n)?Wr.resolve(n):Wr.resolve(t??process.cwd(),n),o=[],s=r;for(;;){try{zp.lstatSync(s)}catch(a){if((a instanceof Error?a.code:void 0)!=="ENOENT")return;let l=Wr.dirname(s);if(l===s)return;o.unshift(Wr.basename(s)),s=l;continue}try{return Wr.join(zp.realpathSync.native(s),...o)}catch{return}}}i($0,"canonicalizePath");function Cy(e){try{let t=Wr.resolve(vy(e));return zp.statSync(t).isDirectory()?zp.realpathSync.native(t):void 0}catch{return}}i(Cy,"canonicalizeExistingDirectory");function tN(){let e=[Zl.tmpdir(),process.env.TEMP,process.env.TMP,process.env.TMPDIR],t=new Set;for(let n of e){if(!n?.trim())continue;let r=Cy(n);r&&t.add(r)}return[...t]}i(tN,"canonicalTempDirectories");function es(e){let t=e.split(/[\\/]+/).map(s=>s.toLowerCase()),n=t.at(-1)??"",r=!GO.has(n)&&(n===".env"||n.startsWith(".env."));return t[1]==="proc"&&(t[0]===""||/^[a-z]:$/i.test(t[0]??""))&&/^(?:self|\d+)$/.test(t[2]??"")&&t[3]==="environ"||t.some(s=>jO.has(s))||t.some(s=>UO.has(s))||r||t.some(s=>/^id_(?:rsa|dsa|ecdsa|ed25519)(?:\.pub)?$/.test(s))||t.some((s,a)=>s===".config"&&(t[a+1]==="gcloud"||t[a+1]==="gh"))}i(es,"isSensitivePath");function nN(e){try{let t=$0(ao());return t!==void 0&&Ed(e,t)}catch{return!0}}i(nN,"isProtectedAgentHome");function On(e,t){if(es(e))return{path:e,boundary:"protected"};let n=eN(e);if(!n)return{path:e,boundary:"unresolved"};if(es(n))return{path:e,boundary:"protected"};let r=Cy(t.executionCwd),o=Cy(t.projectRoot),s=r?$0(n,r):void 0;return!s||!o?{path:e,boundary:"unresolved"}:es(s)||nN(s)?{path:e,boundary:"protected"}:Ed(s,o)?{path:e,boundary:"workspace"}:tN().some(a=>Ed(s,a))?{path:e,boundary:"system-temp"}:{path:e,boundary:"outside-workspace"}}i(On,"classifyTarget");function Vp(e){return e.boundary==="workspace"||e.boundary==="system-temp"}i(Vp,"isAllowedMutationTarget");function Fr(e){return{action:"escalate",reason:e}}i(Fr,"escalate");function ns(e){return(e.argv[0]??"").replace(/\\/g,"/").split("/").at(-1)?.toLowerCase()??""}i(ns,"shellExecutable");function rN(e){return e.unparseable||e.statements.length===0?!1:e.statements.every(t=>t.stages.length>0&&t.stages.every(n=>qO.has(ns(n))||pn(n.argv.join(" "))))}i(rN,"hasOnlyModeledShellStages");function oN(e){for(let t of e.statements)for(let n of t.stages){let r=n.argv.map(c=>c.toLowerCase()),o=ns(n);if(o==="find"&&r.some(c=>c==="-delete"||c==="-exec"||c==="-execdir"||c==="-ok"||c==="-okdir"))return!0;if(o!=="git")continue;let s=r[1],a=r.slice(2);if(s==="remote"){let c=a.find(l=>!l.startsWith("-"));if(c&&JO.has(c))return!0}if(s==="branch"&&(a.some(c=>QO.has(c))||a[0]&&!a[0].startsWith("-"))||s==="tag"&&(a.some(l=>ZO.has(l)||l.startsWith("--message=")||l.startsWith("--file="))||!a.some(l=>l==="-l"||l==="--list")&&a[0]&&!a[0].startsWith("-")))return!0}return!1}i(oN,"hasWriteCapableReadSyntax");function iN(e,t){let n=typeof e.path=="string"?e.path:"";if(!n)return jr(Fr("auto-mode rules could not resolve the file target"),ts("incomplete","tool",[],["target_unresolved"],"file target is missing"));let r={kind:"write",target:On(n,t)},o=r.target.boundary!=="unresolved",s=D0(r)?{action:"allow"}:Fr("auto-mode rules require confirmation for a protected or out-of-boundary file target");return jr(s,ts(o?"complete":"incomplete","tool",[r],Iy([r]),o?void 0:"file target could not be resolved safely"))}i(iN,"assessFileCall");function sN(e,t,n){let r=e==="glob"?t.pattern:t.glob;return typeof r=="string"&&es(r)?r:typeof t.path=="string"&&t.path.trim()?t.path:e==="read"?"":n.executionCwd}i(sN,"readToolTarget");function aN(e,t,n){let r=sN(e,t,n);if(!r)return jr(Fr("auto-mode could not resolve the read target"),ts("incomplete","tool",[],["target_unresolved"],"read target is missing"));let o={kind:"read",target:On(r,n)},s=o.target.boundary!=="unresolved",a=s&&o.target.boundary!=="protected";return jr(a?{action:"allow"}:Fr("auto-mode requires confirmation before reading a sensitive or unresolved target"),ts(s?"complete":"incomplete","tool",[o],Iy([o]),s?void 0:"read target could not be resolved safely"))}i(aN,"assessReadFileCall");function cN(e,t){return[...e.matchAll(/\$(?:env:)?\{?([a-z_][a-z0-9_]*)\}?/gi),...e.matchAll(/%([a-z_][a-z0-9_]*)%/gi),...e.matchAll(/\benv:([a-z_][a-z0-9_]*)/gi)].some(r=>P0.test(r[1]??""))||/\b(?:get-childitem|gci|dir)\b[^\r\n|;&]*\benv:\s*(?:$|[|;&])/i.test(e)||/\bgit\s+config\s+--get\s+\S*(?:credential|token|password|secret|extraheader|oauth)\S*/i.test(e)?!0:t.statements.some(r=>r.stages.some(o=>{let s=ns(o);if(s!=="env"&&s!=="printenv")return!1;let a=o.argv.slice(1).filter(c=>!c.startsWith("-"));return a.length===0||a.some(c=>P0.test(c))}))}i(cN,"sensitiveEnvironmentRead");function lN(e){if(es(e))return e;let t=e.match(/^:\([^)]*\)(.+)$/)?.[1];if(t&&es(t))return t;for(let n=e.indexOf(":");n>=0;n=e.indexOf(":",n+1)){let r=e.slice(n+1);if(r&&es(r))return r}}i(lN,"sensitivePathCandidate");function uN(e){let t=new Set,n=i(r=>{if(!r)return;let o=lN(r);o&&t.add(o)},"addCandidate");for(let r of e.statements)for(let o of r.stages){let s=ns(o);if(s==="git"){let a=o.argv[1]?.toLowerCase(),c=!1;for(let l=2;l<o.argv.length;l+=1){let d=o.argv[l]??"";if(d==="--"){c=!0;continue}if(!c&&YO.has(d.toLowerCase())){l+=1;continue}!c&&d.startsWith("-")||(c||a==="diff"||d.includes(":"))&&n(d)}continue}if(VO.has(s)){let a=o.argv.map(c=>JSON.stringify(c)).join(" ");for(let c of Dh(a))n(c);continue}if(KO.has(s))for(let a=1;a<o.argv.length;a+=1){let c=o.argv[a]??"",l=c.toLowerCase();if(s==="get-content"){if(zO.has(l)){a+=1;continue}if(XO.has(l)){n(o.argv[a+1]),a+=1;continue}}c.startsWith("-")||n(c)}}return[...t]}i(uN,"collectSensitiveReadTargets");function dN(e,t){let n=typeof e.command=="string"?e.command:"";if(!n.trim())return jr(Fr("auto-mode rules could not resolve the shell command"),ts("incomplete","shell",[],["command_unresolved"],"shell command is missing"));let r=tC(n),o=TN(r)?"powershell":"shell",s=fN(n,r,t),a=t.signals.some(h=>h.kind==="dangerous_pattern"&&h.severity==="high"),c=!r.unparseable&&!oN(r)&&rN(r),l=fr(n)||s.operations.some(h=>h.kind!=="execute"),d=s.complete&&c&&(pn(n)||l)&&s.operations.length>0&&s.operations.every(h=>Xp(h).every(S=>S.boundary!=="unresolved")),f=Iy(s.operations);a&&f.push("high_risk_pattern"),cN(n,r)&&f.push("sensitive_environment_read");let p=ts(d?"complete":"incomplete",o,s.operations,f,d?void 0:s.reason??"shell effects are not fully modeled");if(!d)return jr(Fr("auto-mode rules require confirmation for an unmodelled shell command"),p);if(a)return jr(Fr("auto-mode rules require confirmation for a high-risk shell command"),p);if(f.includes("sensitive_environment_read"))return jr(Fr("auto-mode requires confirmation before reading sensitive environment data"),p);let m=s.operations.every(D0)?{action:"allow"}:Fr("auto-mode rules require confirmation for a protected or out-of-boundary shell target");return jr(m,p)}i(dN,"assessBashCall");function fN(e,t,n){if(t.unparseable)return{complete:!1,operations:[{kind:"unknown",summary:`opaque shell payload (${Buffer.byteLength(e,"utf8")} bytes)`}],reason:"shell syntax could not be parsed"};let r=[],o=new Set,s=!0,a;for(let l of t.statements)for(let d of l.stages){if(!$h(ns(d)))continue;let f=nC(d.argv);f.status==="incomplete"&&(s=!1,a??=f.reason);for(let p of f.operations){let m=wN(p,n);r.push(m);for(let h of Xp(m))o.add(h.path)}}for(let l of t.statements)for(let d of l.stages)for(let f of pN(d,n)){r.push(f);for(let p of Xp(f))o.add(p.path)}for(let l of aC(e))o.has(l)||r.push({kind:"write",target:On(l,n)});let c=uN(t);if(pn(e)||c.length>0){let l=new Set(c);if(pn(e))for(let d of Dh(e))l.add(d);for(let d of l)o.has(d)||(r.push({kind:"read",target:On(d,n)}),o.add(d))}return r.length===0&&pn(e)&&r.push({kind:"execute",summary:"read-only shell command",options:{readOnly:!0}}),a===void 0?{complete:s,operations:r}:{complete:s,operations:r,reason:a}}i(fN,"collectShellOperations");function pN(e,t){let n=ns(e),r=mN(n,e.argv.slice(1));if(["rm","rmdir","del","erase","rd"].includes(n))return r.map(o=>({kind:"delete",target:On(o,t),options:{recursive:e.argv.some(s=>s==="--recursive"||/^-[^-]*[rR]/.test(s))}}));if(n==="mkdir"||n==="touch")return r.map(o=>({kind:"create",target:On(o,t)}));if(n==="mv"||n==="move"||n==="cp"||n==="copy"){let o=xN(e.argv),s=o?r:r.slice(0,-1),a=o??r.at(-1);return!a||s.length===0?[]:s.map(c=>({kind:n==="cp"||n==="copy"?"copy":"move",source:On(c,t),destination:On(a,t),options:{force:e.argv.some(l=>/^(?:-f|--force|\/y)$/i.test(l)),recursive:(n==="cp"||n==="copy")&&e.argv.some(l=>l==="--recursive"||/^-[^-]*[rRa]/.test(l)),destinationIsDirectory:o!==void 0||s.length>1,overwritePossible:!0}}))}if(n==="ren"&&r.length===2){let o=r[0];return[{kind:"rename",source:On(o,t),destination:On(SN(o,r[1]),t)}]}return[]}i(pN,"collectDirectShellOperations");function mN(e,t){let n=[],r=!1;for(let o of t){if(r){r=!1;continue}if(yN(e,o)){r=!0;continue}o!=="--"&&(o.startsWith("-")||gN(e,o)||n.push(o))}return n}i(mN,"directPositionals");var hN={copy:new Set(["/a","/b","/d","/j","/l","/n","/v","/y","/-y","/z"]),del:new Set(["/p","/f","/s","/q","/a"]),erase:new Set(["/p","/f","/s","/q","/a"]),move:new Set(["/y","/-y"]),rd:new Set(["/s","/q"])};function gN(e,t){return hN[e]?.has(t.toLowerCase())===!0}i(gN,"isDirectWindowsSwitch");function yN(e,t){return(e==="cp"||e==="copy"||e==="mv"||e==="move")&&["-t","--target-directory","-S","--suffix"].includes(t)||e==="mkdir"&&["-m","--mode"].includes(t)?!0:e==="touch"&&["-d","--date","-r","--reference","-t","--time"].includes(t)}i(yN,"directOptionTakesValue");function xN(e){let t=e.findIndex(r=>r==="-t"||r==="--target-directory");return t>=0?e[t+1]:e.find(r=>r.startsWith("--target-directory="))?.slice(19)}i(xN,"directTargetDirectory");function SN(e,t){let n=/^[a-z]:|\\/i.test(e)?Wr.win32:Wr.posix;return n.join(n.dirname(e),t)}i(SN,"joinSourceParent");function wN(e,t){return"target"in e?{kind:e.kind,target:On(e.target,t),options:e.options}:{kind:e.kind,source:On(e.source,t),destination:On(e.destination,t),options:e.options}}i(wN,"mapPowerShellOperation");function TN(e){return e.statements.some(t=>t.stages.some(n=>$h(ns(n))))}i(TN,"hasPowerShellMutationStage");function Xp(e){return"target"in e?[e.target]:"source"in e?[e.source,e.destination]:[]}i(Xp,"operationPaths");function D0(e){return e.options?.whatIf===!0?!0:e.kind==="execute"?e.options?.readOnly===!0:e.kind==="unknown"?!1:e.kind==="read"?e.target.boundary!=="protected"&&e.target.boundary!=="unresolved":"target"in e?Vp(e.target):"source"in e?e.kind==="copy"?Vp(e.destination)&&e.source.boundary!=="protected"&&e.source.boundary!=="unresolved":Vp(e.source)&&Vp(e.destination):!1}i(D0,"isOperationAllowed");function Iy(e){let t=new Set;for(let n of e){if(n.options?.whatIf===!0)continue;let r=Xp(n);CN(n).some(o=>o.boundary==="outside-workspace")&&t.add("outside_workspace_mutation"),n.kind==="read"&&r.some(o=>o.boundary==="protected")&&t.add("sensitive_read"),r.some(o=>o.boundary==="protected")&&t.add("protected_path"),r.some(o=>o.boundary==="unresolved")&&t.add("target_unresolved"),(n.kind==="move"||n.kind==="rename")&&(t.add("source_removed"),n.source.boundary!==n.destination.boundary&&t.add("cross_boundary_mutation")),n.kind==="copy"&&n.source.boundary!==n.destination.boundary&&(t.add("cross_boundary_copy"),n.destination.boundary==="outside-workspace"&&t.add("data_export_possible")),n.kind==="delete"&&t.add("source_removed"),(n.kind==="move"||n.kind==="copy")&&n.options?.overwritePossible&&t.add("destination_overwrite_possible")}return[...t]}i(Iy,"collectRisks");function CN(e){return"target"in e?e.kind==="read"?[]:[e.target]:"source"in e?e.kind==="copy"?[e.destination]:[e.source,e.destination]:[]}i(CN,"mutationTargets");function ts(e,t,n,r,o){return{schemaVersion:1,analysis:{status:e,shell:t,binding:e==="complete"?"exact":"partial",...o?{reason:o}:{}},operations:n,risks:r}}i(ts,"review");function jr(e,t){return{decision:e,review:t}}i(jr,"assessment");function O0(e,t){return WO.has(e.name)?iN(e.input,t):FO.has(e.name)?aN(e.name,e.input,t):e.name==="bash"?dN(e.input,t):jr(Fr(`auto-mode rules require confirmation for tool "${e.name}"`),ts("incomplete","tool",[{kind:"unknown",summary:`tool ${e.name}`}],["tool_effects_unresolved"],"tool has no deterministic effect analyzer"))}i(O0,"assessAutoModeCall");var N0=i((e,t)=>O0(e,t).review,"analyzeAutoModeCall"),B0=i((e,t)=>O0(e,t).decision,"evaluateAutoRulesCall");async function Ka(e){let t=await kT({userKodaxDir:gT(),projectRoot:e.projectRoot}),n;return{getGuardrail:i(()=>n||(n=ET({rules:t.merged,getToolProjection:i(o=>(Fd(o)??mT(o))?.toClassifierInput,"getToolProjection"),resolveProvider:i(o=>{try{return vi(o)}catch{return}},"resolveProvider"),defaultProvider:e.getCurrentProviderName(),defaultModel:e.getCurrentModel()??"",getDefaultProvider:e.getCurrentProviderName,getDefaultModel:i(()=>e.getCurrentModel()??"","getDefaultModel"),askUser:e.askUser,evaluateRulesCall:B0,analyzeCall:N0,log:e.log,onEngineChange:e.onEngineChange,sharedState:e.sharedState,projectRoot:e.projectRoot,executionCwd:e.executionCwd,extraCollectors:e.extraCollectors,extraAbsoluteDenyChecks:[lC],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(Ka,"bootstrapAutoMode");var rs=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:nt(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 loadFullLineage(t){return this.getLineage(t)}async setActiveEntry(t,n,r){let o=this.sessions.get(t);if(!o?.lineage)return null;let s=js(o.lineage,n,r);if(!s)return null;let a={...structuredClone(o),messages:kt(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=Us(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=zs(o.lineage,n);if(!s)return null;let a=r?.sessionId??await Fs(),c={messages:kt(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??Ks(r.lineage);if(!o)return null;let s=Vs(r.lineage,o);if(!s)return null;let a={...r,messages:kt(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?Ri(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 H0(){return new rs}i(H0,"createMemorySessionStorage");import*as W0 from"child_process";import*as F0 from"util";import Yp from"chalk";var vN=F0.promisify(W0.exec),IN={maxBuffer:1024*1024,timeout:3e4,maxOutputLength:8e3,maxErrorLength:4e3};async function eu(e,t={}){let n={...IN,...t},r=e.trim(),o=rC(r);if(o)return o.startsWith("[Blocked]")&&(console.log(Yp.yellow(`
64
+ `)}i(s0,"formatPendingInputsBudgetText");var Bp=i(({pendingInputs:e})=>{let t=dy(e);if(t.length===0)return null;let n=oe("dark");return Vl(E,{flexDirection:"column",children:[t.map(r=>Vl(E,{children:[Vl(v,{color:n.colors.hint,children:["\u23F3"," "]}),Vl(v,{color:n.colors.dim,children:["[",r.index,"/",r.total,"] ",r.preview]})]},r.index)),wO(E,{children:Vl(v,{color:n.colors.dim,children:[" ","\u2191 pull all into editor \xB7 Esc drops latest"]})})]})},"QueuedCommandsSurface");import{jsx as a0}from"react/jsx-runtime";function TO(e,t){switch(e){case"warning":return t.warning;case"accent":return t.accent;default:return t.dim}}i(TO,"resolveNotificationColor");var zl=i(({notifications:e})=>{let t=e.filter(r=>r.text.trim().length>0),n=oe("dark");return t.length===0?null:a0(E,{flexDirection:"column",paddingX:1,children:t.map(r=>a0(v,{color:TO(r.tone,n.colors),children:r.text},r.id))})},"NotificationsSurface");import{jsx as c0}from"react/jsx-runtime";var Hp=i(({notices:e})=>{let t=e.filter(r=>r.trim().length>0);if(t.length===0)return null;let n=oe("dark");return c0(E,{flexDirection:"column",paddingX:1,children:t.map((r,o)=>c0(v,{color:n.colors.dim,children:r},`${r}-${o}`))})},"StatusNoticesSurface");import{jsxs as l0,jsx as CO}from"react/jsx-runtime";var Xl=i(({text:e})=>{let t=e?.trim();if(!t)return null;let n=oe("dark");return l0(E,{paddingX:1,children:[l0(v,{color:n.colors.hint,children:["\u22EF"," "]}),CO(v,{color:n.colors.dim,children:t})]})},"StashNotice");import{jsx as Qi,jsxs as vO}from"react/jsx-runtime";function u0({text:e,accent:t=!1,selected:n=!1}){let r=oe("dark");return Qi(E,{marginRight:1,children:Qi(v,{color:t?r.colors.accent:r.colors.primary,bold:n||t,children:`[ ${e} ]`})})}i(u0,"Pill");var Yl=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:vO(E,{flexDirection:"row",paddingX:1,children:[r?Qi(E,{marginRight:1,children:Qi($n,{})}):null,o.map(s=>Qi(u0,{text:s.hint?`${s.label} (${s.hint})`:s.label,accent:s.accent,selected:s.selected},s.id)),t?Qi(u0,{text:t}):null,n?Qi(v,{dimColor:!0,children:n}):null]})},"BackgroundTaskBar");import{jsx as ql,jsxs as MO}from"react/jsx-runtime";import IO from"string-width";var fy=9,py=3,d0=160,bO={shouldRender:!1,activeCount:0,rows:[]};function f0(e,t=fy){let n=IO(e);return n>=t?e:`${e}${" ".repeat(t-n)}`}i(f0,"padChildActivitySymbol");function my(e){let t=e.replace(/\s+/gu," ").trim();return t.length<=d0?t:`${t.slice(0,d0-3)}...`}i(my,"truncateChildActivityDetail");function Wp(e){return!!(e?.liveOnly===!0&&(e.workflowCorrelation||e.childAgentId))}i(Wp,"shouldRouteToChildActivity");function p0(e,t){return!!(e?.liveOnly===!0&&e.workflowCorrelation?.workflowRunId&&t&&e.workflowCorrelation.workflowRunId===t)}i(p0,"shouldRouteWorkflowLiveOnlyNotice");function m0(e){return!e.isTranscriptMode&&e.childActivityVisible&&(e.isLoading||e.hasWorkflowLiveSurface)}i(m0,"shouldShowChildActivitySurface");function hy(e){let t=e.childAgentId??e.workflowCorrelation?.childAgentId??"child",n=e.workflowCorrelation?.workflowRunId;return n?`${n}:${t}`:t}i(hy,"childActivityId");function h0(e){return e.childAgentName??e.childAgentId??e.workflowCorrelation?.childAgentId??"child"}i(h0,"childActivityLabel");function g0(e){return e.workflowCorrelation?"workflow":"normal"}i(g0,"childActivitySource");function y0(e,t){let n=t?.path??t?.pattern??t?.command??t?.preview,r=typeof n=="string"&&n.trim().length>0?` ${n}`:"";return my(`${e}${r}`)}i(y0,"toolActivityDetail");function x0(e,t){return e==="tool"&&["thinking","assistant","stream"].includes(t)}i(x0,"suppressesChurnOverToolAction");function RO(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(RO,"formatChildActivityElapsed");function kO(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(kO,"kindLabel");function EO(e,t){let n=e.label.trim()||"child",r=e.startedAt!==void 0?` \xB7 ${RO(t-e.startedAt)}`:"",o=e.detail.trim(),s=o.length>0?`: ${o}`:"";return`${n}${r} - ${kO(e.kind)}${s}`}i(EO,"rowText");function S0(e,t=py,n=Date.now()){let r=e.filter(d=>d.status==="running");if(r.length===0)return bO;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:EO(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(S0,"buildChildActivityViewModel");var w0=fy;function AO(e){let t=oe("dark");switch(e){case"cyan":return t.colors.primary;case"green":return t.colors.success;default:return t.colors.dim}}i(AO,"resolveSymbolColor");var _O=i(({row:e})=>{let t=AO(e.symbolColor);return MO(E,{flexDirection:"row",children:[ql(E,{width:w0,flexShrink:0,children:ql(v,{color:t,bold:e.isActive,wrap:"truncate",children:f0(e.symbol,w0)})}),ql(v,{color:e.kind==="summary"?oe("dark").colors.dim:void 0,bold:e.isActive,wrap:"truncate",children:e.text})]})},"ChildActivityRowView");function Fp(e){return!e.shouldRender||e.rows.length===0?0:e.rows.length}i(Fp,"measureChildActivitySurfaceRows");var jp=i(({viewModel:e})=>!e.shouldRender||e.rows.length===0?null:ql(E,{flexDirection:"column",flexGrow:1,children:e.rows.map(t=>ql(_O,{row:t},`${t.kind}-${t.id}`))}),"ChildActivitySurface");import T0,{createContext as I0,useContext as b0,useReducer as LO,useCallback as Ze,useRef as C0,useEffect as v0}from"react";function PO(e,t){return e.agentId===t&&e.priority==="user"&&e.mode==="prompt"}i(PO,"isPendingPromptForAgent");function xy(e){return Kn().getSnapshot().filter(t=>PO(t,e))}i(xy,"getPendingPrompts");function gy(e){return xy(e).map(t=>t.content)}i(gy,"getPendingPromptContents");var yy={state:dr.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 Up(e={}){let t=i(()=>e.getPendingInputAgentId?.(),"getPendingInputAgentId"),n={...yy,pendingInputs:gy(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=gy(t());if(T.length===n.pendingInputs.length){let w=!0;for(let b=0;b<T.length;b++)if(T[b]!==n.pendingInputs[b]){w=!1;break}if(w)return}n={...n,pendingInputs:T},f()},"syncReactStateFromQueue"),m=Kn().subscribe(()=>{p()}),h=i(()=>Kn().dequeue({agentId:t(),maxPriority:"user",mode:"prompt"}).map(w=>w.content),"drainOurSlice"),S=i(()=>{if(c&&(clearTimeout(c),c=null),o||s||a>0){let w=n.thinkingContent+s,b=s?w.length:n.thinkingCharCount+a;n={...n,currentResponse:n.currentResponse+o,thinkingContent:w,thinkingCharCount:b,...s||a>0?{isThinking:!0}:{}},o="",s="",a=0,f()}},"flushPendingUpdates"),I=i(()=>{c||(c=setTimeout(S,d))},"scheduleFlush");return{getState:i(()=>n,"getState"),setState:i(T=>{S(),n={...n,state:T},f()},"setState"),startStreaming:i(()=>{l=!1,o="",s="",a=0,c&&(clearTimeout(c),c=null),n={...n,state:dr.Responding,currentResponse:"",abortController:new AbortController,error:void 0,roundStartedAt:Date.now()},f()},"startStreaming"),stopStreaming:i(()=>{S(),n={...n,state:dr.Idle,abortController:void 0,roundStartedAt:null},f()},"stopStreaming"),appendResponse:i(T=>{l||(o+=T,I())},"appendResponse"),clearResponse:i(()=>{S(),n={...n,currentResponse:""},f()},"clearResponse"),setError:i(T=>{S(),n={...n,error:T,state:T?dr.Idle:n.state},f()},"setError"),abort:i(T=>{l=!0,S(),n.abortController?.abort(),o="",s="",a=0,c&&(clearTimeout(c),c=null),T?.preservePendingInputs||h(),n={...n,state:dr.Idle,abortController:void 0,roundStartedAt:null},f()},"abort"),reset:i(()=>{l=!0,S(),n.abortController?.abort(),o="",s="",a=0,c&&(clearTimeout(c),c=null),h(),n={...yy,pendingInputs:gy(t())},l=!1,f()},"reset"),isStreaming:i(()=>n.state===dr.Responding||n.state===dr.WaitingForConfirmation,"isStreaming"),subscribe:i(T=>(r.add(T),()=>{r.delete(T)}),"subscribe"),startThinking:i(()=>{S(),n={...n,isThinking:!0,thinkingCharCount:0,thinkingContent:""},f()},"startThinking"),appendThinkingChars:i(T=>{l||(a+=T,I())},"appendThinkingChars"),appendThinkingContent:i(T=>{l||(s+=T,I())},"appendThinkingContent"),stopThinking:i(()=>{S(),n={...n,isThinking:!1,thinkingCharCount:0},f()},"stopThinking"),clearThinkingContent:i(()=>{S(),n={...n,isThinking:!1,thinkingCharCount:0,thinkingContent:""},f()},"clearThinkingContent"),setCurrentTool:i(T=>{S(),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=>{S(),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(()=>{S(),n={...n,iterationHistory:[],currentIteration:1,maxIter:yy.maxIter,thinkingContent:"",thinkingCharCount:0,currentResponse:"",currentTool:void 0,toolInputCharCount:0,toolInputContent:""},f()},"clearIterationHistory"),setMaxIter:i(T=>{S(),n={...n,maxIter:T},f()},"setMaxIter"),startCompacting:i(()=>{S(),n={...n,isCompacting:!0},f()},"startCompacting"),stopCompacting:i(()=>{S(),n={...n,isCompacting:!1},f()},"stopCompacting"),addPendingInput:i(T=>{let w=T.trim();w&&(xy(t()).length>=5||(S(),Kn().enqueue({agentId:t(),priority:"user",mode:"prompt",content:w})))},"addPendingInput"),removeLastPendingInput:i(()=>{let T=xy(t()),w=T[T.length-1];w&&(S(),Kn().dequeue({agentId:t(),maxPriority:"user",mode:"prompt",id:w.id}))},"removeLastPendingInput"),shiftPendingInput:i(()=>(S(),Kn().dequeue({agentId:t(),maxPriority:"user",mode:"prompt",limit:1})[0]?.content),"shiftPendingInput"),clearPendingInputs:i(()=>{S(),h()},"clearPendingInputs"),consumePendingInputs:i(()=>(S(),h()),"consumePendingInputs"),dispose:i(()=>{m()},"dispose")}}i(Up,"createStreamingManager");var R0=I0(null),k0=I0(null);function Ql({children:e,onStateChange:t,getPendingInputAgentId:n}){let r=C0(n);r.current=n;let o=C0(void 0);o.current||(o.current=Up({getPendingInputAgentId:i(()=>r.current?.(),"getPendingInputAgentId")}));let s=o.current,[,a]=LO(ue=>ue+1,0);v0(()=>s.subscribe(ye=>{a(),t?.(ye)}),[s,t]),v0(()=>()=>{s.dispose()},[s]);let c=Ze(()=>{s.startStreaming()},[]),l=Ze(()=>{s.stopStreaming()},[]),d=Ze(ue=>{s.appendResponse(ue)},[]),f=Ze(()=>{s.clearResponse()},[]),p=Ze(ue=>{s.setError(ue)},[]),m=Ze(ue=>{s.abort(ue)},[]),h=Ze(()=>{s.reset()},[]),S=Ze(()=>{s.startThinking()},[]),I=Ze(ue=>{s.appendThinkingChars(ue)},[]),T=Ze(ue=>{s.appendThinkingContent(ue)},[]),w=Ze(()=>{s.stopThinking()},[]),b=Ze(()=>{s.clearThinkingContent()},[]),M=Ze(ue=>{s.setCurrentTool(ue)},[]),D=Ze(ue=>{s.appendToolInputChars(ue)},[]),k=Ze(ue=>{s.appendToolInputContent(ue)},[]),P=Ze(()=>{s.clearToolInputContent()},[]),q=Ze(()=>s.getSignal(),[]),K=Ze(()=>s.getFullResponse(),[]),V=Ze(()=>s.getThinkingContent(),[]),fe=Ze(ue=>{s.startNewIteration(ue)},[]),ge=Ze(()=>{s.clearIterationHistory()},[]),Z=Ze(ue=>{s.setMaxIter(ue)},[]),y=Ze(()=>{s.startCompacting()},[]),A=Ze(()=>{s.stopCompacting()},[]),J=Ze(ue=>{s.addPendingInput(ue)},[]),H=Ze(()=>{s.removeLastPendingInput()},[]),ae=Ze(()=>s.shiftPendingInput(),[]),le=Ze(()=>{s.clearPendingInputs()},[]),pe=Ze(()=>s.consumePendingInputs(),[]),ke={startStreaming:c,stopStreaming:l,appendResponse:d,clearResponse:f,setError:p,abort:m,reset:h,startThinking:S,appendThinkingChars:I,appendThinkingContent:T,stopThinking:w,clearThinkingContent:b,setCurrentTool:M,appendToolInputChars:D,appendToolInputContent:k,clearToolInputContent:P,getSignal:q,getFullResponse:K,getThinkingContent:V,startNewIteration:fe,clearIterationHistory:ge,setMaxIter:Z,startCompacting:y,stopCompacting:A,addPendingInput:J,removeLastPendingInput:H,shiftPendingInput:ae,clearPendingInputs:le,consumePendingInputs:pe};return T0.createElement(R0.Provider,{value:s.getState()},T0.createElement(k0.Provider,{value:ke},e))}i(Ql,"StreamingProvider");function Wa(){let e=b0(R0);if(!e)throw new Error("useStreamingState must be used within a StreamingProvider");return e}i(Wa,"useStreamingState");function Fa(){let e=b0(k0);if(!e)throw new Error("useStreamingActions must be used within a StreamingProvider");return e}i(Fa,"useStreamingActions");function Sy(){let e=Wa(),t=Fa(),n=e.state===dr.Responding||e.state===dr.WaitingForConfirmation;return{state:e,actions:t,isStreaming:n}}i(Sy,"useStreaming");import{useCallback as $O,useRef as DO}from"react";var OO=500;function E0(e={}){let{onKey:t,onEsc:n,onCtrlC:r,enabled:o=!0}=e,s=DO(0),{exit:a}=Or(),c=$O(l=>{if(!o)return!1;if(l.name==="escape"){let d=Date.now(),f=d-s.current<OO;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 Pn(c,{isActive:o}),{lastEscTime:s.current}}i(E0,"useKeypress");function M0(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(M0,"createKeyMatcher");import{useCallback as A0,useSyncExternalStore as NO}from"react";function BO(e,t){return e.agentId===t&&e.priority==="user"&&e.mode==="prompt"}i(BO,"isQueuedPromptForAgent");var wy=null,Gp=new Map;function HO(e){let t=Kn().getSnapshot();t!==wy&&(wy=t,Gp.clear());let n=Gp.get(e);if(n!==void 0)return n;let r=Object.freeze(t.filter(o=>BO(o,e)));return Gp.set(e,r),r}i(HO,"getQueueSliceSnapshot");function Ty(e){let t=A0(r=>Kn().subscribe(r),[]),n=A0(()=>HO(e),[e]);return NO(t,n,n)}i(Ty,"useQueuedPrompts");function _0(e){return Ty(e).map(n=>n.content)}i(_0,"useQueuedPromptContents");function L0(){wy=null,Gp.clear()}i(L0,"_resetQueuedPromptsCacheForTests");var ja="Runtime state: run active until this approval is resolved.";function Kp(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(Kp,"resolveReplRuntimePermissionDecision");function Ua(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(Ua,"toReplRuntimeAutoModeSettings");async function Ga(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??Zi(),title:"",gitRoot:e.gitRoot,runtimeInfo:e.runtimeInfo,createdAt:new Date().toISOString(),lastAccessed:new Date().toISOString()}}i(Ga,"createInteractiveContext");function Zi(){let e=new Date,t=e.toISOString().split("T")[0].replace(/-/g,""),n=e.toTimeString().split(" ")[0].replace(/:/g,"");return`${t}_${n}`}i(Zi,"generateSessionId");function yr(e){e.lastAccessed=new Date().toISOString()}i(yr,"touchContext");import zp from"node:fs";import Zl from"node:os";import Wr from"node:path";var WO=new Set(["write","edit","multi_edit","insert_after_anchor"]),FO=new Set(["read","grep","glob"]),jO=new Set([".ssh",".aws",".azure",".gnupg",".kube",".docker",".kodax",".agents"]),UO=new Set([".env",".npmrc",".pypirc",".netrc",".git-credentials","credentials","credentials.json","application_default_credentials.json","id_rsa","id_ed25519"]),GO=new Set([".env.example",".env.sample",".env.template"]),P0=/(?:^|_)(?:api_?key|access_?key|secret|token|password|passwd|credential|private_?key|auth|cookie)(?:_|$)/i,KO=new Set(["cat","type","get-content","head","tail","less","more","wc","fc"]),VO=new Set(["rg","ripgrep","grep","egrep","fgrep","findstr","select-string","sed","awk"]),zO=new Set(["-delimiter","-encoding","-readcount","-totalcount","-tail"]),XO=new Set(["-path","-literalpath","-filter","-include","-exclude"]),YO=new Set(["-g","-s","--format","--pretty","--date","--encoding","--diff-algorithm","--word-diff-regex","--diff-filter","--find-object","--line-prefix"]),qO=new Set(["rm","rmdir","mkdir","touch","mv","move","ren","del","erase","rd","cp","copy","chmod","chown","dd","tee","remove-item","set-content","add-content","out-file","new-item","copy-item","move-item","rename-item","ni"]),JO=new Set(["add","remove","rm","rename","set-head","set-branches","set-url","prune","update"]),QO=new Set(["-d","-m","-c","-f","--force","--delete","--move","--copy","--edit-description","--set-upstream-to","--unset-upstream","--create-reflog","--track","--no-track","--recurse-submodules"]),ZO=new Set(["-a","--annotate","-s","--sign","-u","--local-user","-d","--delete","-f","--force","-m","--message","-F","--file","--create-reflog"].map(e=>e.toLowerCase()));function vy(e){let t=Zl.tmpdir(),n=[[/^%temp%/i,t],[/^%tmp%/i,t],[/^\$env:temp\b/i,t],[/^\$env:tmp\b/i,t],[/^\$tmpdir\b/i,t],[/^\$temp\b/i,t],[/^\$tmp\b/i,t]],r=e==="~"?Zl.homedir():/^~[\\/]/.test(e)?Wr.join(Zl.homedir(),e.slice(2)):e,o=/^(?:\$\{HOME\}|\$HOME|\$env:(?:home|userprofile)|%userprofile%)(?=$|[\\/])/i;r=r.replace(o,Zl.homedir());for(let[s,a]of n)s.test(r)&&(r=r.replace(s,a));return r}i(vy,"expandPermissionPath");function eN(e){let t=vy(e);if(!(/[$%*?`]/.test(t)||/^~/.test(t)))return t}i(eN,"normalizeShellTarget");function $0(e,t){if(!e.trim()||e.includes("\0"))return;let n=vy(e);if(process.platform==="win32"&&/^[a-z]:[^\\/]/i.test(n))return;let r=Wr.isAbsolute(n)?Wr.resolve(n):Wr.resolve(t??process.cwd(),n),o=[],s=r;for(;;){try{zp.lstatSync(s)}catch(a){if((a instanceof Error?a.code:void 0)!=="ENOENT")return;let l=Wr.dirname(s);if(l===s)return;o.unshift(Wr.basename(s)),s=l;continue}try{return Wr.join(zp.realpathSync.native(s),...o)}catch{return}}}i($0,"canonicalizePath");function Cy(e){try{let t=Wr.resolve(vy(e));return zp.statSync(t).isDirectory()?zp.realpathSync.native(t):void 0}catch{return}}i(Cy,"canonicalizeExistingDirectory");function tN(){let e=[Zl.tmpdir(),process.env.TEMP,process.env.TMP,process.env.TMPDIR],t=new Set;for(let n of e){if(!n?.trim())continue;let r=Cy(n);r&&t.add(r)}return[...t]}i(tN,"canonicalTempDirectories");function es(e){let t=e.split(/[\\/]+/).map(s=>s.toLowerCase()),n=t.at(-1)??"",r=!GO.has(n)&&(n===".env"||n.startsWith(".env."));return t[1]==="proc"&&(t[0]===""||/^[a-z]:$/i.test(t[0]??""))&&/^(?:self|\d+)$/.test(t[2]??"")&&t[3]==="environ"||t.some(s=>jO.has(s))||t.some(s=>UO.has(s))||r||t.some(s=>/^id_(?:rsa|dsa|ecdsa|ed25519)(?:\.pub)?$/.test(s))||t.some((s,a)=>s===".config"&&(t[a+1]==="gcloud"||t[a+1]==="gh"))}i(es,"isSensitivePath");function nN(e){try{let t=$0(ao());return t!==void 0&&vd(e,t)}catch{return!0}}i(nN,"isProtectedAgentHome");function On(e,t){if(es(e))return{path:e,boundary:"protected"};let n=eN(e);if(!n)return{path:e,boundary:"unresolved"};if(es(n))return{path:e,boundary:"protected"};let r=Cy(t.executionCwd),o=Cy(t.projectRoot),s=r?$0(n,r):void 0;return!s||!o?{path:e,boundary:"unresolved"}:es(s)||nN(s)?{path:e,boundary:"protected"}:vd(s,o)?{path:e,boundary:"workspace"}:tN().some(a=>vd(s,a))?{path:e,boundary:"system-temp"}:{path:e,boundary:"outside-workspace"}}i(On,"classifyTarget");function Vp(e){return e.boundary==="workspace"||e.boundary==="system-temp"}i(Vp,"isAllowedMutationTarget");function Fr(e){return{action:"escalate",reason:e}}i(Fr,"escalate");function ns(e){return(e.argv[0]??"").replace(/\\/g,"/").split("/").at(-1)?.toLowerCase()??""}i(ns,"shellExecutable");function rN(e){return e.unparseable||e.statements.length===0?!1:e.statements.every(t=>t.stages.length>0&&t.stages.every(n=>qO.has(ns(n))||pn(n.argv.join(" "))))}i(rN,"hasOnlyModeledShellStages");function oN(e){for(let t of e.statements)for(let n of t.stages){let r=n.argv.map(c=>c.toLowerCase()),o=ns(n);if(o==="find"&&r.some(c=>c==="-delete"||c==="-exec"||c==="-execdir"||c==="-ok"||c==="-okdir"))return!0;if(o!=="git")continue;let s=r[1],a=r.slice(2);if(s==="remote"){let c=a.find(l=>!l.startsWith("-"));if(c&&JO.has(c))return!0}if(s==="branch"&&(a.some(c=>QO.has(c))||a[0]&&!a[0].startsWith("-"))||s==="tag"&&(a.some(l=>ZO.has(l)||l.startsWith("--message=")||l.startsWith("--file="))||!a.some(l=>l==="-l"||l==="--list")&&a[0]&&!a[0].startsWith("-")))return!0}return!1}i(oN,"hasWriteCapableReadSyntax");function iN(e,t){let n=typeof e.path=="string"?e.path:"";if(!n)return jr(Fr("auto-mode rules could not resolve the file target"),ts("incomplete","tool",[],["target_unresolved"],"file target is missing"));let r={kind:"write",target:On(n,t)},o=r.target.boundary!=="unresolved",s=D0(r)?{action:"allow"}:Fr("auto-mode rules require confirmation for a protected or out-of-boundary file target");return jr(s,ts(o?"complete":"incomplete","tool",[r],Iy([r]),o?void 0:"file target could not be resolved safely"))}i(iN,"assessFileCall");function sN(e,t,n){let r=e==="glob"?t.pattern:t.glob;return typeof r=="string"&&es(r)?r:typeof t.path=="string"&&t.path.trim()?t.path:e==="read"?"":n.executionCwd}i(sN,"readToolTarget");function aN(e,t,n){let r=sN(e,t,n);if(!r)return jr(Fr("auto-mode could not resolve the read target"),ts("incomplete","tool",[],["target_unresolved"],"read target is missing"));let o={kind:"read",target:On(r,n)},s=o.target.boundary!=="unresolved",a=s&&o.target.boundary!=="protected";return jr(a?{action:"allow"}:Fr("auto-mode requires confirmation before reading a sensitive or unresolved target"),ts(s?"complete":"incomplete","tool",[o],Iy([o]),s?void 0:"read target could not be resolved safely"))}i(aN,"assessReadFileCall");function cN(e,t){return[...e.matchAll(/\$(?:env:)?\{?([a-z_][a-z0-9_]*)\}?/gi),...e.matchAll(/%([a-z_][a-z0-9_]*)%/gi),...e.matchAll(/\benv:([a-z_][a-z0-9_]*)/gi)].some(r=>P0.test(r[1]??""))||/\b(?:get-childitem|gci|dir)\b[^\r\n|;&]*\benv:\s*(?:$|[|;&])/i.test(e)||/\bgit\s+config\s+--get\s+\S*(?:credential|token|password|secret|extraheader|oauth)\S*/i.test(e)?!0:t.statements.some(r=>r.stages.some(o=>{let s=ns(o);if(s!=="env"&&s!=="printenv")return!1;let a=o.argv.slice(1).filter(c=>!c.startsWith("-"));return a.length===0||a.some(c=>P0.test(c))}))}i(cN,"sensitiveEnvironmentRead");function lN(e){if(es(e))return e;let t=e.match(/^:\([^)]*\)(.+)$/)?.[1];if(t&&es(t))return t;for(let n=e.indexOf(":");n>=0;n=e.indexOf(":",n+1)){let r=e.slice(n+1);if(r&&es(r))return r}}i(lN,"sensitivePathCandidate");function uN(e){let t=new Set,n=i(r=>{if(!r)return;let o=lN(r);o&&t.add(o)},"addCandidate");for(let r of e.statements)for(let o of r.stages){let s=ns(o);if(s==="git"){let a=o.argv[1]?.toLowerCase(),c=!1;for(let l=2;l<o.argv.length;l+=1){let d=o.argv[l]??"";if(d==="--"){c=!0;continue}if(!c&&YO.has(d.toLowerCase())){l+=1;continue}!c&&d.startsWith("-")||(c||a==="diff"||d.includes(":"))&&n(d)}continue}if(VO.has(s)){let a=o.argv.map(c=>JSON.stringify(c)).join(" ");for(let c of Dh(a))n(c);continue}if(KO.has(s))for(let a=1;a<o.argv.length;a+=1){let c=o.argv[a]??"",l=c.toLowerCase();if(s==="get-content"){if(zO.has(l)){a+=1;continue}if(XO.has(l)){n(o.argv[a+1]),a+=1;continue}}c.startsWith("-")||n(c)}}return[...t]}i(uN,"collectSensitiveReadTargets");function dN(e,t){let n=typeof e.command=="string"?e.command:"";if(!n.trim())return jr(Fr("auto-mode rules could not resolve the shell command"),ts("incomplete","shell",[],["command_unresolved"],"shell command is missing"));let r=tC(n),o=TN(r)?"powershell":"shell",s=fN(n,r,t),a=t.signals.some(h=>h.kind==="dangerous_pattern"&&h.severity==="high"),c=!r.unparseable&&!oN(r)&&rN(r),l=fr(n)||s.operations.some(h=>h.kind!=="execute"),d=s.complete&&c&&(pn(n)||l)&&s.operations.length>0&&s.operations.every(h=>Xp(h).every(S=>S.boundary!=="unresolved")),f=Iy(s.operations);a&&f.push("high_risk_pattern"),cN(n,r)&&f.push("sensitive_environment_read");let p=ts(d?"complete":"incomplete",o,s.operations,f,d?void 0:s.reason??"shell effects are not fully modeled");if(!d)return jr(Fr("auto-mode rules require confirmation for an unmodelled shell command"),p);if(a)return jr(Fr("auto-mode rules require confirmation for a high-risk shell command"),p);if(f.includes("sensitive_environment_read"))return jr(Fr("auto-mode requires confirmation before reading sensitive environment data"),p);let m=s.operations.every(D0)?{action:"allow"}:Fr("auto-mode rules require confirmation for a protected or out-of-boundary shell target");return jr(m,p)}i(dN,"assessBashCall");function fN(e,t,n){if(t.unparseable)return{complete:!1,operations:[{kind:"unknown",summary:`opaque shell payload (${Buffer.byteLength(e,"utf8")} bytes)`}],reason:"shell syntax could not be parsed"};let r=[],o=new Set,s=!0,a;for(let l of t.statements)for(let d of l.stages){if(!$h(ns(d)))continue;let f=nC(d.argv);f.status==="incomplete"&&(s=!1,a??=f.reason);for(let p of f.operations){let m=wN(p,n);r.push(m);for(let h of Xp(m))o.add(h.path)}}for(let l of t.statements)for(let d of l.stages)for(let f of pN(d,n)){r.push(f);for(let p of Xp(f))o.add(p.path)}for(let l of aC(e))o.has(l)||r.push({kind:"write",target:On(l,n)});let c=uN(t);if(pn(e)||c.length>0){let l=new Set(c);if(pn(e))for(let d of Dh(e))l.add(d);for(let d of l)o.has(d)||(r.push({kind:"read",target:On(d,n)}),o.add(d))}return r.length===0&&pn(e)&&r.push({kind:"execute",summary:"read-only shell command",options:{readOnly:!0}}),a===void 0?{complete:s,operations:r}:{complete:s,operations:r,reason:a}}i(fN,"collectShellOperations");function pN(e,t){let n=ns(e),r=mN(n,e.argv.slice(1));if(["rm","rmdir","del","erase","rd"].includes(n))return r.map(o=>({kind:"delete",target:On(o,t),options:{recursive:e.argv.some(s=>s==="--recursive"||/^-[^-]*[rR]/.test(s))}}));if(n==="mkdir"||n==="touch")return r.map(o=>({kind:"create",target:On(o,t)}));if(n==="mv"||n==="move"||n==="cp"||n==="copy"){let o=xN(e.argv),s=o?r:r.slice(0,-1),a=o??r.at(-1);return!a||s.length===0?[]:s.map(c=>({kind:n==="cp"||n==="copy"?"copy":"move",source:On(c,t),destination:On(a,t),options:{force:e.argv.some(l=>/^(?:-f|--force|\/y)$/i.test(l)),recursive:(n==="cp"||n==="copy")&&e.argv.some(l=>l==="--recursive"||/^-[^-]*[rRa]/.test(l)),destinationIsDirectory:o!==void 0||s.length>1,overwritePossible:!0}}))}if(n==="ren"&&r.length===2){let o=r[0];return[{kind:"rename",source:On(o,t),destination:On(SN(o,r[1]),t)}]}return[]}i(pN,"collectDirectShellOperations");function mN(e,t){let n=[],r=!1;for(let o of t){if(r){r=!1;continue}if(yN(e,o)){r=!0;continue}o!=="--"&&(o.startsWith("-")||gN(e,o)||n.push(o))}return n}i(mN,"directPositionals");var hN={copy:new Set(["/a","/b","/d","/j","/l","/n","/v","/y","/-y","/z"]),del:new Set(["/p","/f","/s","/q","/a"]),erase:new Set(["/p","/f","/s","/q","/a"]),move:new Set(["/y","/-y"]),rd:new Set(["/s","/q"])};function gN(e,t){return hN[e]?.has(t.toLowerCase())===!0}i(gN,"isDirectWindowsSwitch");function yN(e,t){return(e==="cp"||e==="copy"||e==="mv"||e==="move")&&["-t","--target-directory","-S","--suffix"].includes(t)||e==="mkdir"&&["-m","--mode"].includes(t)?!0:e==="touch"&&["-d","--date","-r","--reference","-t","--time"].includes(t)}i(yN,"directOptionTakesValue");function xN(e){let t=e.findIndex(r=>r==="-t"||r==="--target-directory");return t>=0?e[t+1]:e.find(r=>r.startsWith("--target-directory="))?.slice(19)}i(xN,"directTargetDirectory");function SN(e,t){let n=/^[a-z]:|\\/i.test(e)?Wr.win32:Wr.posix;return n.join(n.dirname(e),t)}i(SN,"joinSourceParent");function wN(e,t){return"target"in e?{kind:e.kind,target:On(e.target,t),options:e.options}:{kind:e.kind,source:On(e.source,t),destination:On(e.destination,t),options:e.options}}i(wN,"mapPowerShellOperation");function TN(e){return e.statements.some(t=>t.stages.some(n=>$h(ns(n))))}i(TN,"hasPowerShellMutationStage");function Xp(e){return"target"in e?[e.target]:"source"in e?[e.source,e.destination]:[]}i(Xp,"operationPaths");function D0(e){return e.options?.whatIf===!0?!0:e.kind==="execute"?e.options?.readOnly===!0:e.kind==="unknown"?!1:e.kind==="read"?e.target.boundary!=="protected"&&e.target.boundary!=="unresolved":"target"in e?Vp(e.target):"source"in e?e.kind==="copy"?Vp(e.destination)&&e.source.boundary!=="protected"&&e.source.boundary!=="unresolved":Vp(e.source)&&Vp(e.destination):!1}i(D0,"isOperationAllowed");function Iy(e){let t=new Set;for(let n of e){if(n.options?.whatIf===!0)continue;let r=Xp(n);CN(n).some(o=>o.boundary==="outside-workspace")&&t.add("outside_workspace_mutation"),n.kind==="read"&&r.some(o=>o.boundary==="protected")&&t.add("sensitive_read"),r.some(o=>o.boundary==="protected")&&t.add("protected_path"),r.some(o=>o.boundary==="unresolved")&&t.add("target_unresolved"),(n.kind==="move"||n.kind==="rename")&&(t.add("source_removed"),n.source.boundary!==n.destination.boundary&&t.add("cross_boundary_mutation")),n.kind==="copy"&&n.source.boundary!==n.destination.boundary&&(t.add("cross_boundary_copy"),n.destination.boundary==="outside-workspace"&&t.add("data_export_possible")),n.kind==="delete"&&t.add("source_removed"),(n.kind==="move"||n.kind==="copy")&&n.options?.overwritePossible&&t.add("destination_overwrite_possible")}return[...t]}i(Iy,"collectRisks");function CN(e){return"target"in e?e.kind==="read"?[]:[e.target]:"source"in e?e.kind==="copy"?[e.destination]:[e.source,e.destination]:[]}i(CN,"mutationTargets");function ts(e,t,n,r,o){return{schemaVersion:1,analysis:{status:e,shell:t,binding:e==="complete"?"exact":"partial",...o?{reason:o}:{}},operations:n,risks:r}}i(ts,"review");function jr(e,t){return{decision:e,review:t}}i(jr,"assessment");function O0(e,t){return WO.has(e.name)?iN(e.input,t):FO.has(e.name)?aN(e.name,e.input,t):e.name==="bash"?dN(e.input,t):jr(Fr(`auto-mode rules require confirmation for tool "${e.name}"`),ts("incomplete","tool",[{kind:"unknown",summary:`tool ${e.name}`}],["tool_effects_unresolved"],"tool has no deterministic effect analyzer"))}i(O0,"assessAutoModeCall");var N0=i((e,t)=>O0(e,t).review,"analyzeAutoModeCall"),B0=i((e,t)=>O0(e,t).decision,"evaluateAutoRulesCall");async function Ka(e){let t=await kT({userKodaxDir:gT(),projectRoot:e.projectRoot}),n;return{getGuardrail:i(()=>n||(n=ET({rules:t.merged,getToolProjection:i(o=>(Fd(o)??mT(o))?.toClassifierInput,"getToolProjection"),resolveProvider:i(o=>{try{return vi(o)}catch{return}},"resolveProvider"),defaultProvider:e.getCurrentProviderName(),defaultModel:e.getCurrentModel()??"",getDefaultProvider:e.getCurrentProviderName,getDefaultModel:i(()=>e.getCurrentModel()??"","getDefaultModel"),askUser:e.askUser,evaluateRulesCall:B0,analyzeCall:N0,log:e.log,onEngineChange:e.onEngineChange,sharedState:e.sharedState,projectRoot:e.projectRoot,executionCwd:e.executionCwd,extraCollectors:e.extraCollectors,extraAbsoluteDenyChecks:[lC],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(Ka,"bootstrapAutoMode");var rs=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:nt(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 loadFullLineage(t){return this.getLineage(t)}async setActiveEntry(t,n,r){let o=this.sessions.get(t);if(!o?.lineage)return null;let s=js(o.lineage,n,r);if(!s)return null;let a={...structuredClone(o),messages:kt(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=Us(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=zs(o.lineage,n);if(!s)return null;let a=r?.sessionId??await Fs(),c={messages:kt(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??Ks(r.lineage);if(!o)return null;let s=Vs(r.lineage,o);if(!s)return null;let a={...r,messages:kt(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?Ri(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 H0(){return new rs}i(H0,"createMemorySessionStorage");import*as W0 from"child_process";import*as F0 from"util";import Yp from"chalk";var vN=F0.promisify(W0.exec),IN={maxBuffer:1024*1024,timeout:3e4,maxOutputLength:8e3,maxErrorLength:4e3};async function eu(e,t={}){let n={...IN,...t},r=e.trim(),o=rC(r);if(o)return o.startsWith("[Blocked]")&&(console.log(Yp.yellow(`
65
65
  ${o}`)),console.log()),o;try{console.log(Yp.dim(`
66
66
  [Executing: ${r}]`));let{stdout:s,stderr:a}=await vN(r,{cwd:n.cwd,maxBuffer:n.maxBuffer,timeout:n.timeout,windowsHide:!0}),c="";return s&&(c+=s),a&&(c+=(c?`
67
67
  `:"")+`[stderr] ${a}`),c.length>n.maxOutputLength&&(c=c.slice(0,n.maxOutputLength)+`
@@ -139,11 +139,11 @@ $ npm install --save-dev react-devtools-core
139
139
  [Interrupted]`}),r}i(jW,"buildInterruptedPersistenceItems");function vx({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(vx,"buildRoundHistoryItems");var UW=20,GW="Session ended before the tool completed.";function KW(e){switch(e.status){case j.Success:return{status:"success"};case j.Error:return{status:"error"};case j.Cancelled:return{status:"cancelled"};case j.AwaitingApproval:case j.Scheduled:case j.Validating:case j.Executing:return{status:"cancelled",error:GW};default:return e.status}}i(KW,"toPersistedToolStatus");function VW(e){if(!e.id||!e.name)return;let t=KW(e),n=t.status==="success"?Nh(e.output):void 0,r=t.status==="error"||t.status==="cancelled"?Oh(e.error??Nh(e.output)??t.error??""):void 0,o=pC(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:Oh(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(VW,"toPersistedToolCall");function zW(e){let t=e.tools.slice(0,UW).map(VW).filter(r=>!!r),n=Ix(e);return t.length>0?{type:"tool_group",tools:t,...n===void 0?{}:{timestamp:n}}:void 0}i(zW,"toPersistedToolGroup");function Ix(e){return e.timestamp!==void 0&&Number.isFinite(e.timestamp)&&e.timestamp>=0?e.timestamp:void 0}i(Ix,"persistedHistoryTimestamp");function ZE(e){if(e.type==="tool_group")return zW(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=Ix(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=Ix(e);return{type:e.type,text:t,...o===void 0?{}:{timestamp:o},...n?{icon:n}:{},...r?{compactText:r}:{}}}i(ZE,"toPersistedUiHistoryItem");var YE=process.env.KODAX_TRANSCRIPT_HARNESS_MARKERS==="1",XW=process.env.KODAX_SCROLL_OVERSCAN==="1"?80:void 0;function qE(e){return Ur(e.map(t=>ZE(t)).filter(t=>!!t))}i(qE,"serializeUiHistorySnapshot");function YW(e){return e.map(t=>ZE(t)).filter(t=>!!t)}i(YW,"serializeCreatableHistoryItems");function Sm(e,t){return t.length===0?Ur(e):Ur([...e,...YW(t)])}i(Sm,"appendPersistedUiHistorySnapshot");function du(e,t,n){console.log((e==="block"?dt.red:dt.yellow)(t)),n.forEach(r=>console.log(dt.dim(r)))}i(du,"logSessionTransitionGuard");var Tx=i(({config:e,sessionId:t,workingDir:n,compactionInfo:r})=>{let o=oe("dark"),s=e.model??Mr(e.provider)??e.provider,a=$o({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,r.triggerTokens):void 0;return In(E,{flexDirection:"column",marginBottom:1,children:[Py.map((d,f)=>ce(v,{color:o.colors.primary,children:d},f)),In(E,{children:[ce(v,{color:o.colors.primary,children:" \u258E "}),ce(v,{color:o.colors.primary,children:"AI Coding Agent \xB7 Minimalist & Intelligent"})]}),In(E,{children:[ce(v,{color:o.colors.success,children:" \u258E "}),In(v,{bold:!0,color:o.colors.text,children:["v",Ei]}),ce(v,{dimColor:!0,children:" \xB7 "}),In(v,{color:o.colors.success,children:[e.provider,"/",s]}),ce(v,{dimColor:!0,children:` \xB7 effort:${a}`}),ce(v,{dimColor:!0,children:" \xB7 "}),ce(v,{color:o.colors.primary,children:e.agentMode.toUpperCase()}),ce(v,{dimColor:!0,children:" / "}),ce(v,{color:o.colors.accent,children:e.permissionMode})]}),r&&In(E,{children:[ce(v,{color:o.colors.accent,children:" \u258E "}),ce(v,{color:o.colors.text,children:`ctx ${c}k \xB7 compaction `}),ce(v,{color:r.enabled?o.colors.success:o.colors.text,children:r.enabled?"on":"off"}),ce(v,{color:o.colors.text,children:` \xB7 ${l}`})]}),In(E,{children:[ce(v,{color:o.colors.secondary,children:" \u258E "}),ce(v,{color:o.colors.text,children:"session "}),ce(v,{color:o.colors.primary,children:t}),ce(v,{color:o.colors.text,children:" \xB7 "}),ce(v,{color:o.colors.text,children:n})]})]})},"Banner");function qW(e){let t=e.config.model??Mr(e.config.provider)??e.config.provider,n=$o({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,e.compactionInfo.triggerTokens):void 0,s=" \u258E AI Coding Agent \xB7 Minimalist & Intelligent",a=` \u258E v${Ei} \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(m=>{let h=hn(m.length>0?m.split(`
140
140
  `):[""],Math.max(1,e.terminalWidth),0,0);return h.visualLines.length>0?h.visualLines:[""]},"wrapBannerLine"),p=i((m,h,S)=>{f(h).forEach((I,T)=>{d.push({key:`${m}-${T}`,text:I,...S})})},"pushLineRows");return Py.forEach((m,h)=>{p(`banner-logo-${h}`,m,{color:"primary"})}),p("banner-tagline",s,{color:"primary"}),p("banner-version",a,{color:"text",bold:!0}),c&&p("banner-compaction",c,{color:"text"}),p("banner-session",l,{color:"text"}),d.push({key:"banner-blank",text:" "}),{key:"banner",rows:d}}i(qW,"buildBannerTranscriptSection");function JE(e,t){return t?{...e,sections:[t,...e.sections],rows:[...t.rows,...e.rows]}:e}i(JE,"prependTranscriptSection");var JW=process.env.KODAX_INLINE_LEDGER!=="0";function QE(e,t){process.env.KODAX_INLINE_LEDGER_DEBUG==="1"&&Ct({source:"repl:inline-ledger",level:"debug",message:`${e}; rebuilding on next change.`,...t!==void 0?{detail:t}:{}})}i(QE,"reportInlineLedgerFailure");var QW=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:m,setCurrentConfigRef:h,teamModeHandle:S})=>{let{exit:I}=Or(),{stdout:T}=Dr(),w=T.rows??24,{stdin:b,setRawMode:M,isRawModeSupported:D}=Tl(),k=ba(),{history:P}=Oa(),q=UE.useRef(null),K=UE.useRef(IT()),{addHistoryItem:V,addHistoryItems:fe,clearHistory:ge,setSessionId:Z}=Na(),y=he(P),A=he(qE(P));Ne(()=>{y.current=P,A.current=qE(P)},[P]),Ne(()=>{OR()},[]),Ne(()=>{AC()},[]);let J=T.columns||80,H=Wa(),ae=he(H);Ne(()=>{ae.current=H},[H]);let{startStreaming:le,stopStreaming:pe,abort:ke,startThinking:ue,appendThinkingChars:ye,appendThinkingContent:Ae,stopThinking:X,clearThinkingContent:ne,setCurrentTool:we,appendToolInputChars:tt,appendToolInputContent:gt,clearToolInputContent:Ge,clearResponse:je,appendResponse:de,getSignal:Ce,getFullResponse:F,getThinkingContent:Oe,startNewIteration:ft,clearIterationHistory:Ot,startCompacting:Ve,stopCompacting:bt,setMaxIter:jt,addPendingInput:Bn,removeLastPendingInput:an,shiftPendingInput:_,consumePendingInputs:W}=Fa(),[B,Q]=Fe(!1),[$,Ee]=Fe(t),Te=me(()=>Mi({provider:$.provider,model:$.model,effort:$.effort,effortOverride:$.effortOverride,permissionMode:$.permissionMode,planModeEffort:$.planModeEffort,thinking:$.thinking,reasoningMode:$.reasoningMode}),[$.provider,$.model,$.effort,$.effortOverride,$.permissionMode,$.planModeEffort,$.thinking,$.reasoningMode]),ve=Te.configuredEffort,Rt=Te.runtimeEffort,Nt=me(()=>({...$,effort:ve}),[$,ve]),cn=me(()=>wE(d,{provider:$.provider,model:$.model},vi),[d,$.provider,$.model]),[qr,_t]=Fe(!0),[Zn,fS]=Fe(!0),[Iu,bu]=Fe(0),[Dm,mc]=Fe(!1),[pS,mS]=Fe(void 0),[hS,Om]=Fe([]),[gS,er]=Fe(null),hc=he(!1),VA=me(()=>Wo(),[]),gc=he(null),Ru=he(null),Nm=he(Promise.resolve()),ku=he(null),di=he({requested:!1,uiHistoryOverride:void 0}),ds=he(null),yc=he(!1),xc=he(null);Ne(()=>{let u=e.learning;if(!u)return;let g=!0,x,C=i(async()=>{let O=await u.getSnapshot();return g&&mS(N=>N!==void 0&&N.revision>O.revision?N:O),O},"refresh"),R=i(O=>{Ct({source:"repl:learning",level:"warn",message:"Failed to refresh the Learning Center snapshot.",detail:O instanceof Error?O.message:String(O)})},"reportRefreshFailure"),L=i(O=>{if(g){if(O.kind==="ready"||O.kind==="activated"||O.kind==="attention"){let N=O.kind==="ready"?"is ready for review":O.kind==="activated"?"became active":"requires attention";Om(Y=>[{id:O.eventId,text:`A learned ${O.carrier} ${N}: ${O.displayName} [/learn]`,tone:O.kind==="activated"?"accent":"warning"},...Y.filter(ee=>ee.id!==O.eventId)].slice(0,2))}C().catch(R)}},"onEvent");return C().then(O=>{if(!g)return;let N=ef(O);if(N){let Y=O.attention>0||O.ready>0?"warning":"accent";Om(ee=>[{id:"learning-recovery",text:N,tone:Y},...ee.filter(We=>We.id!=="learning-recovery")].slice(0,2))}x=u.subscribe(L,{afterRevision:O.revision})}).catch(R),()=>{g=!1,x?.close()}},[e.learning]);let[Sc,Eu]=Fe(!0),[Bm,Mu]=Fe(""),[Ke,Sr]=Fe(()=>jR(VA,{rendererMode:a})),[Bt,Hm]=Fe(!1),[zA,XA]=Fe(0),{scrollRef:YA,scrollOffset:tr,sticky:Wm,setScrollOffset:qA,handleScrollTopChange:JA,handleStickyChange:QA,scrollTo:Au,scrollBy:_u,scrollToBottom:Lu}=sE(),Fm=he(null),Pu=he(null),wc=he([]),$u=he([]),fs=he(null),nr=he(null),yS=he({time:0,row:-1,column:-1,count:0}),[Du,jm]=Fe(void 0),[Jr,Um]=Fe(void 0),[ps,xS]=Fe(void 0),[Rn,ZA]=Fe(()=>new Set),[Gm,SS]=Fe(null),[Zt,wS]=Fe(null),[z,Ou]=Fe(null),[TS,ms]=Fe(null),[Km,CS]=Fe(null),Tc=he(null),Cc=G(u=>{Tc.current=u,CS(u)},[]),vc=G(u=>{let g=u(Tc.current);Tc.current=g,CS(g)},[]),Ic=G((u,g)=>{let x=Tc.current;return x?.status!=="running"||!p0(u,x.runId)?!1:(Cc({...x,message:g}),!0)},[Cc]),Vm=G(u=>{if(u.status==="running"){Cc({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}vc(g=>g?.runId===u.runId?null:g)},[Cc,vc]),e_=G(u=>{let g=u.type==="workflow_updated"?u.message:void 0,x=rl(u.snapshot.goal,u.snapshot.workflowName,u.snapshot.displayName,u.snapshot.latestMessage,g);Vm(TC(u.snapshot,g===void 0?{locale:x}:{locale:x,message:g}))},[Vm]),[Nu,Qr]=Fe([]),hs=me(()=>{for(let u of Nu)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}},[Nu]),[pj,bc]=Fe([]),[Rc,t_]=Fe([]),[Bu,Tt]=Fe(void 0),[fi,kc]=Fe(void 0),ut=he(null),Hu=he(null),pi=he([]),gs=he([]),ln=he([]),zm=he(new Set),rt=he({}),yt=he({activeToolGroupTools:[]}),vS=he(0),Wu=he({itemId:void 0,kind:"thinking",pendingText:""}),rr=he(null),n_=80,r_=20,o_=he(null),Fu=me(()=>[...P,...Rc],[P,Rc]),Xm=me(()=>{let u=bb(Fu,o_);return u===0?Fu:Fu.slice(u)},[Fu]),ju=me(()=>Rb(Xm,r_),[Xm]),ys=Xm,en=he(null),wr=he(null),Tr=he([]),tn=he([]),[mi,i_]=Fe([]),Zr=he([]),[Ym,s_]=Fe([]),Ec=he([]),Hn=G(u=>{Zr.current=u,i_(u)},[]),xs=G(u=>{Ec.current=u,s_(u)},[]),qm=G(()=>{xs([])},[xs]),IS=G(u=>{if(!Wp(u))return!1;let g=hy(u),x=Ec.current.filter(C=>C.id!==g);return x.length===Ec.current.length||xs(x),!0},[xs]),Wn=G((u,g,x,C)=>{if(!Wp(u))return!1;let R=hy(u),L=Ec.current.find(Ue=>Ue.id===R);if(C?.skipIfExisting&&L?.kind===g||x0(L?.kind,g))return!0;let O=C?.append&&L?.kind===g?`${L.detail}${x}`:x||L?.detail||"running",N={id:R,label:h0(u),source:g0(u),status:"running",kind:g,detail:my(O),startedAt:L?.startedAt??Date.now()},Y=Ec.current,ee=Y.findIndex(Ue=>Ue.id===R),We=ee>=0?Y.map((Ue,zt)=>zt===ee?N:Ue):[...Y,N].slice(0,OW);return xs(We),!0},[xs]),bS=G(u=>{pi.current=u,bc(u)},[]),Ss=G(u=>{ln.current=u,t_(u)},[]),RS=G(u=>{let g=u([...ln.current]);Ss(g)},[Ss]),kS=G(u=>{u.length!==0&&Ss([...ln.current,...u])},[Ss]),Uu=G(u=>{let g=yt.current,x=g.activeToolGroupTools.some(C=>C.status===j.Executing);yt.current={...u?.clearOwner?{}:{workerId:g.workerId,workerTitle:g.workerTitle},...x?{activeToolGroupItemId:g.activeToolGroupItemId,activeToolGroupTools:g.activeToolGroupTools}:{activeToolGroupTools:[]}},u?.clearOwner&&(rt.current={})},[]),Gu=G(u=>{for(let g of u)g.type==="user"&&typeof g.id=="string"&&zm.current.add(g.id)},[]),Mc=G(()=>{Wu.current={itemId:void 0,kind:"thinking",pendingText:""},rr.current&&(clearTimeout(rr.current),rr.current=null);let u=ay(ln.current,zm.current);if(u.length>0){for(let g of u)zm.current.add(g.id);ds.current?.(u.map(g=>ai(g)))}Uu({clearOwner:!0}),Ss([])},[Uu,Ss]),Ku=G(u=>(vS.current+=1,`managed-foreground-${u}-${vS.current}`),[]),Ut=G(u=>(kS([u]),u.id),[kS]),kn=G((u,g)=>{rt.current.workerId?Ut({id:`${g}-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:u.type,text:u.text,...u.icon?{icon:u.icon}:{},...u.tightSpacing?{tightSpacing:!0}:{},timestamp:Date.now()}):V(u)},[V,Ut]),ES=G((u,g)=>{let x=Date.now();rt.current.workerId?Ut({id:`${g}-${x}-${Math.random().toString(36).slice(2,7)}`,type:"sidecar",text:u.text,...u.verdict?{verdict:u.verdict}:{},...u.delivery?{delivery:u.delivery}:{},timestamp:x}):V(u)},[V,Ut]),eo=G((u,g)=>{if(!u)return;let x;return RS(C=>C.map(R=>R.id!==u?R:(x=g(R),x))),x},[RS]),ws=G((u,g)=>{let x=yt.current;if(x.activeKind===u){if(u==="thinking"&&x.activeThinkingItemId)return x.activeThinkingItemId;if(u==="assistant"&&x.activeAssistantItemId)return x.activeAssistantItemId;if(u==="tool_group"&&x.activeToolGroupItemId)return x.activeToolGroupItemId}let C=Date.now(),R=g?.trim()?`[${g.trim()}] `:"",L=x.activeToolGroupTools.some(N=>N.status===j.Executing);if(u==="thinking"){let N=Ut({id:Ku("thinking"),type:"thinking",timestamp:C,text:R});return yt.current={...yt.current,activeKind:"thinking",activeThinkingItemId:N,currentTurnThinkingItemId:N,activeAssistantItemId:void 0,...L?{}:{activeToolGroupItemId:void 0,activeToolGroupTools:[]}},N}if(u==="assistant"){let N=Ut({id:Ku("assistant"),type:"assistant",timestamp:C,text:R});return yt.current={...yt.current,activeKind:"assistant",activeThinkingItemId:void 0,activeAssistantItemId:N,...L?{}:{activeToolGroupItemId:void 0,activeToolGroupTools:[]}},N}let O=Ut({id:Ku("tool_group"),type:"tool_group",timestamp:C,tools:[]});return yt.current={...yt.current,activeKind:"tool_group",activeThinkingItemId:void 0,activeAssistantItemId:void 0,activeToolGroupItemId:O,activeToolGroupTools:[]},O},[Ut,Ku]),or=G(()=>{rr.current&&(clearTimeout(rr.current),rr.current=null);let u=Wu.current;if(!u.pendingText||!u.itemId)return;let g=u.pendingText,x=u.itemId,C=u.kind;u.pendingText="",eo(x,R=>R.type!==C?R:{...R,text:`${R.text}${g}`})},[eo]),MS=G(()=>{rr.current||(rr.current=setTimeout(or,n_))},[or]),Vu=G((u,g)=>{if(!g)return;let x=yt.current;if(u==="assistant"&&!FW(g,x.activeKind==="assistant"&&!!x.activeAssistantItemId))return;let C=x.workerTitle,R=ws(u,C),L=Wu.current;L.itemId===R&&L.kind===u?L.pendingText+=g:(or(),L.itemId=R,L.kind=u,L.pendingText=g),MS()},[ws,or,MS]),AS=G(u=>{let g=u.trim();if(!g)return;let x=Wu.current;x.kind==="thinking"&&x.pendingText&&(x.pendingText="",rr.current&&(clearTimeout(rr.current),rr.current=null));let C=yt.current.workerTitle?.trim(),R=C?`[${C}] ${g}`:g,L=yt.current.currentTurnThinkingItemId;if(L){eo(L,N=>N.type==="thinking"?{...N,text:R}:N);return}let O=ws("thinking",yt.current.workerTitle);eo(O,N=>N.type==="thinking"?{...N,text:R}:N)},[ws,eo]),ir=G(u=>{or();let g=yt.current;if(g.activeToolGroupItemId&&g.activeToolGroupTools.some(O=>O.id===u.id)){let O=g.activeToolGroupTools.map(Y=>Y.id===u.id?u:Y),N=O.every(Y=>Y.status===j.Success||Y.status===j.Error||Y.status===j.Cancelled);yt.current={...g,...N?{activeToolGroupItemId:void 0,activeToolGroupTools:[]}:{activeToolGroupTools:O}},eo(g.activeToolGroupItemId,Y=>Y.type==="tool_group"?{...Y,tools:O}:Y);return}let x=ln.current;for(let O=x.length-1;O>=0;O-=1){let N=x[O];if(N.type!=="tool_group"||!N.tools.some(ee=>ee.id===u.id))continue;let Y=N.tools.map(ee=>ee.id===u.id?u:ee);eo(N.id,ee=>ee.type==="tool_group"?{...ee,tools:Y}:ee);return}let C=ws("tool_group",g.workerTitle),L=g.activeKind==="tool_group"&&g.activeToolGroupItemId===C?g.activeToolGroupTools.some(O=>O.id===u.id)?g.activeToolGroupTools.map(O=>O.id===u.id?u:O):[...g.activeToolGroupTools,u]:[u];yt.current={...yt.current,activeKind:"tool_group",activeToolGroupItemId:C,activeToolGroupTools:L},eo(C,O=>O.type==="tool_group"?{...O,tools:L}:O)},[ws,eo,or]),a_=G(u=>{or();let g=yt.current,x=g.activeToolGroupTools.some(L=>L.status===j.Executing),C=Zr.current.filter(L=>L.status===j.Executing),R=new Set(C.map(L=>L.id));yt.current={workerId:u?.workerId,workerTitle:u?.workerTitle,...x?{activeToolGroupItemId:g.activeToolGroupItemId,activeToolGroupTools:g.activeToolGroupTools}:{activeToolGroupTools:[]}},rt.current={workerId:u?.workerId,workerTitle:u?.workerTitle},Tr.current=[],tn.current=tn.current.filter(L=>R.has(L.id)),Hn(C),Ge(),we(void 0),X(),ne(),je(),Tt(void 0)},[or,Ge,je,ne,we,Hn,Tt,X]),c_=G(u=>{if(u.length===0)return[];let g=[],x=[...pi.current],C=[...gs.current];for(let R of u){let L=R.item,O=x.findIndex(N=>N.id===L.id);if(O>=0){let N=x[O];tm(N,L)||(x=x.map((Y,ee)=>ee===O?{...L,timestamp:N.timestamp}:Y))}else x=[...x,L].slice(-12),g.push(L);if(R.persistToHistory){let N=C.findIndex(Y=>Y.id===L.id);if(N>=0){let Y=C[N];tm(Y,L)||(C=C.map((ee,We)=>We===N?{...L,timestamp:Y.timestamp}:ee))}else C=[...C,L].slice(-48)}}return gs.current=C,(g.length>0||x.some((R,L)=>!tm(R,pi.current[L]??R)||R.id!==pi.current[L]?.id))&&bS(x),g},[bS]),zu=G(u=>{if(tn.current.findIndex(x=>x.id===u.id)===-1){tn.current=[...tn.current,u];return}tn.current=tn.current.map(x=>x.id===u.id?u:x)},[]),ko=G(u=>{let g=Zr.current.filter(x=>x.status===j.Executing);if(g.length!==0){if(u){let x=Ay(u);for(let C=g.length-1;C>=0;C-=1){let R=g[C];if(Ay(R.name)===x)return R}}return g[g.length-1]}},[]),Ts=G(()=>{let u=ko();we(u?My(u.name):void 0)},[ko,we]),_S=G(u=>(zu(u),Hn([...Zr.current.filter(g=>g.id!==u.id),u]),Ts(),u),[Hn,Ts,zu]),Cs=G((u,g)=>{let x=Zr.current.find(R=>R.id===u);if(!x)return null;let C=g(x);return zu(C),Hn(Zr.current.map(R=>R.id===u?C:R)),Ts(),C},[Hn,Ts,zu]),LS=G((u,g,x)=>{if(u){let R=Cs(u,x);if(R)return R}let C=ko(g);return C?Cs(C.id,x):null},[ko,Cs]),Xu=G((u,g,x,C,R)=>{let L=u??ko(R)?.id;return L?Cs(L,O=>({...O,status:g,endTime:Date.now(),error:x,output:C})):null},[ko,Cs]),Ac=G((u,g)=>{let x=Date.now(),C=new Map;for(let R of Zr.current){if(R.status!==j.Executing)continue;let L=g(R);C.set(R.id,{...R,status:u,endTime:x,...L})}return C.size===0?[]:(tn.current=tn.current.map(R=>C.get(R.id)??R),Hn(Zr.current.map(R=>C.get(R.id)??R)),Ts(),[...C.values()])},[Hn,Ts]),Eo=G(()=>{Hn([])},[Hn]),{showHelp:PS,toggleHelp:l_,setShowHelp:$S}=Oy(),u_=G(u=>{Mu(u),Eu(u.trim().length===0)},[]),Yu=qo(),DS=me(()=>Yu?Yu.state.visible&&Yu.suggestions.length>0:!1,[Yu]),[_c,OS]=Fe(!1),NS=he(Iu),hi=G(()=>{en.current&&(clearTimeout(en.current),en.current=null),wr.current&&(clearTimeout(wr.current),wr.current=null)},[]);Ne(()=>{DS&&!_c&&OS(!0)},[DS,_c]),Ne(()=>{Iu!==NS.current&&(NS.current=Iu,_c&&OS(!1))},[Iu,_c]);let[ze,Lc]=Fe(null),to=he(null),d_=he(uR()),[Be,sr]=Fe(null),qu=he(null),Ju=he(Be);Ju.current=Be;let[un,vs]=Fe(""),[Qu,ar]=Fe(0),Jm=he(""),Pc=he(void 0),BS=me(()=>{if(!cn)return;let{contextWindow:u,triggerPercent:g,triggerTokens:x,reservedResponseTokens:C}=cn;return{currentTokens:gS??n.contextTokenSnapshot?.currentTokens??Ii(n.messages),contextWindow:u,triggerPercent:g,triggerTokens:x,reservedResponseTokens:C}},[n.messages,n.contextTokenSnapshot,cn,gS]),$c=me(()=>{if(!ze)return;let u=new Set(ze.runtimeGrantSuggestions?.map(C=>C.kind)??[]);if(u.has("persistent"))return re("confirm.instruction.runtime_persistent");if(u.has("session"))return re("confirm.instruction.runtime_session");if(ze.runtimeGrantSuggestions!==void 0)return re("confirm.instruction.basic");let g=!!ze.input._alwaysConfirm,x=$.permissionMode==="accept-edits"&&!g;return g?re("confirm.instruction.protected"):x?re("confirm.instruction.always"):re("confirm.instruction.basic")},[ze,$.permissionMode]),pt=Ke.searchMode==="history",se=Ke.surface==="transcript",Cr=!!ze||!!Be||pt,Lt=se?Bt?hb:1e3:12,Mo=HE(c,Ke.surface),HS=Mo.shellMode,Qm=Mo.usesAlternateScreenShell,gi=Mo.usesRendererViewportShell,Zu=Mo.usesRendererMouseTracking,WS=Mo.usesManagedMouseClicks,FS=Mo.usesManagedMouseWheel,Zm=Mo.usesManagedSelection,Pt=WE(c,Ke.surface,QR(Ke)),jS=ZR(Ke),ed=_c&&!se,US=G(()=>hx({items:ys,managedLiveEvents:[],isLoading:B,isThinking:H.isThinking,thinkingCharCount:H.thinkingCharCount,thinkingContent:H.thinkingContent,currentResponse:H.currentResponse,currentTool:H.currentTool,activeToolCalls:mi,toolInputCharCount:H.toolInputCharCount,toolInputContent:H.toolInputContent,lastLiveActivityLabel:Bu,workStripText:fi,iterationHistory:H.iterationHistory,currentIteration:H.currentIteration,isCompacting:H.isCompacting}),[ys,B,H.isThinking,H.thinkingCharCount,H.thinkingContent,H.currentResponse,H.currentTool,mi,H.toolInputCharCount,H.toolInputContent,Bu,fi,H.iterationHistory,H.currentIteration,H.isCompacting]);Ne(()=>{if(se){SS(u=>u??US());return}SS(null)},[US,se]);let Dc=me(()=>DE({isTranscriptMode:se,snapshot:Gm,currentItemsLength:ys.length,currentManagedLiveEventsLength:0,isLoading:B,currentResponse:H.currentResponse,thinkingContent:H.thinkingContent,activeToolCallsLength:mi.length}),[mi.length,B,se,ys.length,H.currentResponse,H.thinkingContent,Gm]),Gt=se?Gm:null,eh=me(()=>NE(ju),[ju]),f_=me(()=>!!(Rc.length>0||XE(z)),[Rc.length,z]),td=Rc.length>0,nn=c.streamingPreview&&f_,Is=me(()=>OE({surface:"transcript",snapshot:Gt,promptItems:ju,transcriptItems:ys}),[Gt,ju,ys]),Oc=me(()=>{if(!se||Bt||Is.length<=qg)return Is;let u=Is.slice(-qg),g=Is.length-u.length;return[Mb(g,u[0]?.timestamp),...u]},[Is,se,Bt]),mt=Gt?.isLoading??B,at=c.streamingPreview?{isThinking:nn?!1:H.isThinking,thinkingCharCount:nn?0:H.thinkingCharCount,thinkingContent:nn?"":H.thinkingContent,currentResponse:nn?"":H.currentResponse,currentTool:nn?void 0:H.currentTool,activeToolCalls:nn?[]:mi,toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:nn?Bu:void 0,iterationHistory:[],currentIteration:H.currentIteration,isCompacting:!1}:{isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentResponse:"",currentTool:void 0,activeToolCalls:[],toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:void 0,iterationHistory:[],currentIteration:H.currentIteration,isCompacting:!1},Ie=c.streamingPreview?{isThinking:nn?!1:Gt?.isThinking??H.isThinking,thinkingCharCount:nn?0:Gt?.thinkingCharCount??H.thinkingCharCount,thinkingContent:nn?"":Gt?.thinkingContent??H.thinkingContent,currentResponse:nn?"":Gt?.currentResponse??H.currentResponse,currentTool:nn?void 0:Gt?.currentTool??H.currentTool,activeToolCalls:nn?[]:Gt?.activeToolCalls??mi,toolInputCharCount:nn?0:Gt?.toolInputCharCount??H.toolInputCharCount,toolInputContent:nn?"":Gt?.toolInputContent??H.toolInputContent,managedLiveEvents:[],lastLiveActivityLabel:Gt?.lastLiveActivityLabel??Bu,iterationHistory:nn?[]:Gt?.iterationHistory??H.iterationHistory,currentIteration:Gt?.currentIteration??H.currentIteration,isCompacting:Gt?.isCompacting??H.isCompacting}:{isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentResponse:"",currentTool:void 0,activeToolCalls:[],toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:void 0,iterationHistory:[],currentIteration:Gt?.currentIteration??H.currentIteration,isCompacting:!1},no=se?Jr:Du,GS=!!Du,KS=G(()=>hx({items:eh,managedLiveEvents:[],isLoading:B,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}),[B,eh,at.activeToolCalls,at.currentIteration,at.currentResponse,at.currentTool,at.isCompacting,at.isThinking,at.iterationHistory,at.lastLiveActivityLabel,at.thinkingCharCount,at.thinkingContent,at.toolInputCharCount,at.toolInputContent]);Ne(()=>{if(!GS){wS(null);return}wS(u=>u??KS())},[KS,GS]);let Nc=Zt?.items??eh,dn=Zt?.isLoading??B,$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=se?Oc:Nc,vr=se?mt:dn,qe=se?Ie:$e,VS=dn&&!H.currentResponse&&!H.thinkingContent&&mi.length===0,p_=_l(Km?.status==="running"),Ht=me(()=>vC(Km,Date.now()),[Km,p_]),zS=Ht.shouldRender?`Workflow ${Ht.workflow}${Ht.phase?` - ${Ht.phase}`:""}`:void 0,Ir=me(()=>aR(Nu,{now:Date.now(),lastAllCompletedAt:null}),[Nu]),XS=w<=20?1:py,m_=_l(Ym.length>0),th=me(()=>S0(Ym,XS,Date.now()),[XS,Ym,m_]),YS=m0({isTranscriptMode:se,isLoading:B,hasWorkflowLiveSurface:Ht.shouldRender,childActivityVisible:th.shouldRender}),bs=me(()=>{if(!se)return[];let u=[];return u.push(...CC(Ht)),B&&Ir.shouldRender&&u.push(...oR(Ir)),u},[se,B,Ir,Ht]),yi=me(()=>({config:Nt,sessionId:n.sessionId,workingDir:e.context?.executionCwd||e.context?.gitRoot||n.runtimeInfo?.executionCwd||n.gitRoot||process.cwd(),terminalWidth:J,compactionInfo:cn??void 0}),[cn,n.sessionId,Nt,n.runtimeInfo?.executionCwd,e.context?.gitRoot,e.context?.executionCwd,J]),Ao=me(()=>c.enabled&&Zn?qW(yi):void 0,[yi,c.enabled,Zn]),qS=he(ec),JS=he(!1),nh=he(!1),Rs=Uk({enabled:JW,useRendererViewportShell:gi,isTranscriptMode:se,hasCommitHandle:typeof Ki(T)?.commitInlineScrollback=="function"}),Bc=me(()=>pp({items:Nc,viewportWidth:J,maxLines:Lt,showDetailedTools:!1,showAllContent:!1,windowed:!1}),[Nc,J,Lt]),xi=me(()=>{let u=mp({activeItems:Bc.activeItems,viewportWidth:J,isLoading:dn,maxLines:Lt,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:$.agentMode,managedPhase:dn?z?.phase:void 0,managedHarnessProfile:dn?z?.harnessProfile:void 0,managedWorkerTitle:dn?z?.activeWorkerTitle:void 0,managedRound:dn?z?.currentRound:void 0,managedMaxRounds:dn?z?.maxRounds:void 0,managedGlobalWorkBudget:dn?z?.globalWorkBudget:void 0,managedBudgetUsage:dn?z?.budgetUsage:void 0,managedBudgetApprovalRequired:dn?z?.budgetApprovalRequired:void 0,lastLiveActivityLabel:$e.lastLiveActivityLabel,currentTodoActiveForm:hs,showFullThinking:!1,showDetailedTools:!1,showAllContent:!1,showLiveProgressRows:VS}),g=wb(Bc,u,Ao);return Vk(g,Rs)},[$.agentMode,Rs,dn,$e.activeToolCalls,$e.currentIteration,$e.currentTool,$e.isCompacting,$e.currentResponse,$e.isThinking,$e.iterationHistory,$e.lastLiveActivityLabel,$e.thinkingCharCount,$e.thinkingContent,$e.toolInputCharCount,$e.toolInputContent,z?.activeWorkerTitle,z?.budgetApprovalRequired,z?.budgetUsage,z?.currentRound,z?.globalWorkBudget,z?.harnessProfile,z?.maxRounds,z?.phase,VS,Bc,Ao,J,Lt,hs]),rh=me(()=>pp({items:Oc,viewportWidth:J,maxLines:Lt,showDetailedTools:Bt,showAllContent:Bt,showFullThinking:!0,windowed:!1}),[Oc,J,Lt,Bt]),nd=me(()=>{if(!se||gi)return;let u=mp({activeItems:rh.activeItems,viewportWidth:J,isLoading:mt,maxLines:Lt,isThinking:Ie.isThinking,thinkingCharCount:Ie.thinkingCharCount,thinkingContent:Ie.thinkingContent,streamingResponse:Ie.currentResponse,currentTool:Ie.currentTool,activeToolCalls:Ie.activeToolCalls,toolInputCharCount:Ie.toolInputCharCount,toolInputContent:Ie.toolInputContent,iterationHistory:Ie.iterationHistory,currentIteration:Ie.currentIteration,isCompacting:Ie.isCompacting,managedAgentMode:$.agentMode,managedPhase:mt?z?.phase:void 0,managedHarnessProfile:mt?z?.harnessProfile:void 0,managedWorkerTitle:mt?z?.activeWorkerTitle:void 0,managedRound:mt?z?.currentRound:void 0,managedMaxRounds:mt?z?.maxRounds:void 0,managedGlobalWorkBudget:mt?z?.globalWorkBudget:void 0,managedBudgetUsage:mt?z?.budgetUsage:void 0,managedBudgetApprovalRequired:mt?z?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Ie.lastLiveActivityLabel,liveStatusLines:bs,currentTodoActiveForm:hs,showFullThinking:!0,showDetailedTools:Bt,showAllContent:Bt,showLiveProgressRows:!td,expandedItemKeys:Rn});return JE(Yg(hp(rh,u)),Ao)},[$.agentMode,Rn,td,Ao,se,z?.activeWorkerTitle,z?.budgetApprovalRequired,z?.budgetUsage,z?.currentRound,z?.globalWorkBudget,z?.harnessProfile,z?.maxRounds,z?.phase,J,mt,Lt,rh,Ie.activeToolCalls,Ie.currentIteration,Ie.currentResponse,Ie.currentTool,Ie.isCompacting,Ie.isThinking,Ie.iterationHistory,Ie.lastLiveActivityLabel,Ie.thinkingCharCount,Ie.thinkingContent,Ie.toolInputCharCount,Ie.toolInputContent,Bt,bs,gi,hs]),Hc=me(()=>{if(Pt)return se?JE(gp({items:Kt,viewportWidth:J,isLoading:vr,maxLines:Lt,isThinking:qe.isThinking,thinkingCharCount:qe.thinkingCharCount,thinkingContent:qe.thinkingContent,streamingResponse:qe.currentResponse,currentTool:qe.currentTool,activeToolCalls:qe.activeToolCalls,toolInputCharCount:qe.toolInputCharCount,toolInputContent:qe.toolInputContent,iterationHistory:qe.iterationHistory,currentIteration:qe.currentIteration,isCompacting:qe.isCompacting,managedAgentMode:$.agentMode,managedPhase:vr?z?.phase:void 0,managedHarnessProfile:vr?z?.harnessProfile:void 0,managedWorkerTitle:vr?z?.activeWorkerTitle:void 0,managedRound:vr?z?.currentRound:void 0,managedMaxRounds:vr?z?.maxRounds:void 0,managedGlobalWorkBudget:vr?z?.globalWorkBudget:void 0,managedBudgetUsage:vr?z?.budgetUsage:void 0,managedBudgetApprovalRequired:vr?z?.budgetApprovalRequired:void 0,lastLiveActivityLabel:qe.lastLiveActivityLabel,liveStatusLines:bs,currentTodoActiveForm:hs,windowed:!0,showFullThinking:se,showDetailedTools:Bt,showAllContent:Bt,showLiveProgressRows:se&&!td,expandedItemKeys:se?Rn:void 0}),Ao):Yg(xi)},[$.agentMode,vr,Kt,td,Ao,qe.activeToolCalls,qe.currentIteration,qe.currentResponse,qe.currentTool,qe.isCompacting,qe.isThinking,qe.iterationHistory,qe.lastLiveActivityLabel,qe.thinkingCharCount,qe.thinkingContent,qe.toolInputCharCount,qe.toolInputContent,Rn,se,z?.activeWorkerTitle,z?.budgetApprovalRequired,z?.budgetUsage,z?.currentRound,z?.globalWorkBudget,z?.harnessProfile,z?.maxRounds,z?.phase,xi,B,se,J,Lt,Pt,bs,Bt,hs]),br=me(()=>Hc??nd,[Hc,nd]),Wc=me(()=>mx({status:z,isLoading:B,agentMode:$.agentMode}),[$.agentMode,B,z]).workStripText,Fc=Gt?.workStripText??fi,ks=me(()=>mx({status:z,isLoading:B,agentMode:$.agentMode,parallelTextOverride:Fc}),[$.agentMode,Fc,B,z]),Si=me(()=>Qk(Kt).filter(u=>u!==yp),[Kt]),ot=me(()=>cm(Ke,Si,Ke.selectedItemId),[Si,Ke]),En=me(()=>Kt.find(u=>u.id===ot),[Kt,ot]),QS=me(()=>({...Ke,supportsSelection:Ke.supportsSelection&&Pt,supportsCopyOnSelect:Ke.supportsCopyOnSelect&&Pt}),[Ke,Pt]),Fn=me(()=>CE({state:QS,selectableItemIds:Si,selectedItemId:ot,selectedItemType:En?.type,isExpanded:ot?Rn.has(ot):!1}),[Rn,Si,En?.type,ot,QS]),ZS=Fn.selectionEnabled,ew=Fn.copyCapabilities.copyOnSelect,gj=Fn.selectedItemIndex,tw=me(()=>Jk(En),[En]),rd=me(()=>zk(Kt.filter(u=>!Qg(u))),[Kt]),Wt=me(()=>Xk(rd,un),[rd,un]),od=me(()=>bE({isHistorySearchActive:pt,historySearchQuery:un,matches:Wt,selectedIndex:Qu,anchorItemId:Ke.searchAnchorItemId,useOverlaySurface:Ke.supportsOverlaySurface&&Ke.supportsSearchViewport&&Pt}),[Wt,un,Qu,pt,Ke.searchAnchorItemId,Ke.supportsOverlaySurface,Ke.supportsSearchViewport,Pt]),_o=od.clampedSelectedIndex,nw=od.statusText,oh=od.detailText,rw=od.searchState,yj=Fn.detailState==="expanded",id=Fn.selectionEnabled&&Si.length>0&&!no,Es=Fn.copyCapabilities.message,sd=Fn.copyCapabilities.toolInput,ad=Fn.toggleDetail;Ne(()=>{if(Wc){if(wr.current&&(clearTimeout(wr.current),wr.current=null),fi===Wc)return;if(fi){en.current&&(clearTimeout(en.current),en.current=null),kc(Wc);return}en.current&&clearTimeout(en.current),en.current=setTimeout(()=>{kc(Wc),en.current=null},400);return}if(!fi){en.current&&(clearTimeout(en.current),en.current=null);return}en.current&&(clearTimeout(en.current),en.current=null),wr.current&&clearTimeout(wr.current),wr.current=setTimeout(()=>{kc(void 0),wr.current=null},300)},[hi,Wc,fi]),Ne(()=>()=>{hi()},[hi]);let Lo=me(()=>nE({state:Ke,ownsViewport:Pt,isAwaitingUserInteraction:Cr,isHistorySearchActive:pt,isTranscriptMode:se,historySearchQuery:un}),[un,Cr,pt,se,Ke,Pt]);Ne(()=>{Sr(u=>{let g=VR(u,tr);return g=KR(g,Dc),g=XR(g,c.enabled&&Pt?!Wm||pt||Cr:se||pt||Cr),g=JR(g,_o),g})},[_o,c.enabled,tr,Cr,pt,se,Dc,Pt,Wm]),Ne(()=>{Qu!==_o&&ar(_o)},[_o,Qu]),Ne(()=>{if(!pt){Jm.current=un;return}if(un===Jm.current)return;Jm.current=un;let u=qk(rd,Wt,Ke.searchAnchorItemId);ar(u)},[Wt,un,pt,Ke.searchAnchorItemId,rd]);let ow=se?Ie:{isThinking:$e.isThinking,thinkingCharCount:$e.thinkingCharCount,currentTool:$e.currentTool,activeToolCalls:$e.activeToolCalls,toolInputCharCount:$e.toolInputCharCount,toolInputContent:$e.toolInputContent,currentIteration:$e.currentIteration,isCompacting:$e.isCompacting},jc=se?mt:dn,[ih,jn]=Fe(()=>ss($.permissionMode,e.runtimeAutoModeControl?void 0:f.getGuardrail().getEngine(),s.engine));Ne(()=>{if(!e.runtimeAutoModeControl){Vn($.permissionMode)||jn(void 0);return}if(!Vn($.permissionMode)){jn(void 0),e.runtimeAutoModeControl.syncSettings?.(n.sessionId,$.permissionMode,s);return}jn(C=>ss($.permissionMode,C,s.engine));let u=!0;i(async()=>{let C=await e.runtimeAutoModeControl?.syncSettings?.(n.sessionId,$.permissionMode,s)??await e.runtimeAutoModeControl?.getStats(n.sessionId);u&&jn(ss($.permissionMode,C?.engine,s.engine))},"refresh")();let x=e.runtimeAutoModeControl.subscribe?.(n.sessionId,C=>{u&&jn(ss($.permissionMode,C?.engine,s.engine))});return()=>{u=!1,x?.close()}},[s,n.sessionId,$.permissionMode,e.runtimeAutoModeControl]);let cd=me(()=>TE({sessionId:n.sessionId,permissionMode:$.permissionMode,agentMode:$.agentMode,provider:$.provider,model:$.model??Mr($.provider)??$.provider,thinking:$.thinking,reasoningMode:$.reasoningMode,effort:ve,reasoningEffortLabel:$o({provider:$.provider,model:$.model,effort:ve,effortOverride:$.effortOverride,thinking:$.thinking,reasoningMode:$.reasoningMode}),isTranscriptMode:se,streamingState:ow,maxIter:H.maxIter,contextUsage:BS,learning:pS,isLoading:jc,managedState:{phase:z?.phase,harnessProfile:z?.harnessProfile,workerTitle:z?.activeWorkerTitle,round:z?.currentRound,maxRounds:z?.maxRounds,globalWorkBudget:z?.globalWorkBudget,budgetUsage:z?.budgetUsage,budgetApprovalRequired:z?.budgetApprovalRequired,idleWaiting:z?.idleWaiting,idleWaitingPendingCount:z?.idleWaitingPendingCount},autoModeEngine:ih}),[n.sessionId,$.permissionMode,$.agentMode,$.provider,$.model,$.thinking,$.reasoningMode,$.effortOverride,ve,se,ow,H.maxIter,BS,pS,jc,z?.phase,z?.harnessProfile,z?.activeWorkerTitle,z?.currentRound,z?.maxRounds,z?.globalWorkBudget,z?.budgetUsage,z?.budgetApprovalRequired,z?.idleWaiting,z?.idleWaitingPendingCount,ih]),sh=ze?"confirm":Be?.kind,iw=me(()=>SE({isTranscriptMode:se,isLoading:jc,streamingState:$e,managedState:jc?{phase:z?.phase,harnessProfile:z?.harnessProfile,workerTitle:z?.activeWorkerTitle}:void 0,waitingReason:sh,workflowBuilderMessage:TS??void 0,backgroundWorkflowMessage:zS}),[$e.activeToolCalls,$e.currentTool,$e.isCompacting,$e.isThinking,$e.thinkingCharCount,$e.toolInputCharCount,$e.toolInputContent,se,z?.activeWorkerTitle,z?.harnessProfile,z?.phase,sh,jc,TS,zS]),ro=yE({activity:iw})?iw:void 0,sw=ro?.text,aw=!!ro,cw=he(!1);Ne(()=>{cw.current&&!B&&Qr(u=>u.length>0?[]:u),cw.current=B},[B]);let ah=me(()=>Cp(cd),[cd]),lw=me(()=>ah,[ah]),uw=lw.text,h_=me(()=>s0(H.pendingInputs),[H.pendingInputs]),ch=me(()=>cR({isHistorySearchActive:pt,isTranscriptMode:se,pendingInputCount:H.pendingInputs.length,buffering:Ke.buffering,pendingLiveUpdates:Dc}),[pt,se,Dc,H.pendingInputs.length,Ke.buffering]),dw=ch.leftItems,fw=ch.rightItems,pw=ch.summary,ld=me(()=>kE({historySearchQuery:un,pendingInputCount:H.pendingInputs.length}),[un,H.pendingInputs.length]),ud=me(()=>[...RE({historySearchQuery:un,isHistorySearchActive:pt,historySearchMatchCount:Wt.length,pendingInputCount:H.pendingInputs.length,maxPendingInputs:5}),...hS],[Wt.length,un,pt,hS,H.pendingInputs.length]),mw=me(()=>ud.map(u=>u.text).join(" | "),[ud]),dd=me(()=>EE({inputText:Bm,isTranscriptMode:se,isHistorySearchActive:pt}),[Bm,pt,se]),hw=Ke.supportsOverlaySurface&&Ke.supportsSearchViewport&&Pt,fd=me(()=>vE({runtime:Fn,itemSummary:tw}),[tw,Fn]),lh=me(()=>ME(ld),[ld]),gw=me(()=>AE({textSelection:no,selectionState:fd,isHistorySearchActive:pt,historySearchDetailText:oh,historySearchHasMatches:!!nw&&Wt.length>0,showAllActive:Bt,baseFooterNotices:ld}),[no,ld,oh,Wt.length,nw,pt,Bt,fd]),g_=gw.secondaryText,y_=gw.budgetNotices,yw=se?y_:lh,xw=w,Sw=se?"":Bm,ww=se?void 0:h_,Tw=Fc,Cw=se?!1:PS,vw=Ht.shouldRender?nR(Ht):0,Iw=B&&Ir.shouldRender?Ir.rows.length:0,bw=YS?Fp(th):0,Vt=me(()=>FR({terminalRows:xw,terminalWidth:J,windowedTranscript:gi,inputText:Sw,footerHeaderText:pw,activitySummary:se?void 0:sw,activityBarVisible:se?!1:aw,workflowSurfaceRows:se?0:vw,childActivitySurfaceRows:se?0:bw,todoSurfaceRows:se?0:Iw,pendingInputSummary:ww,stashNoticeSummary:dd,notificationSummary:mw,statusNoticeSummary:yw.join(" | "),workStripText:Tw,suggestionsReserved:ed,suggestionsMode:"inline",showHelp:Cw,statusBarText:uw,confirmPrompt:ze?.prompt,confirmInstruction:$c,dialogMode:"inline",reviewHint:c.enabled&&Pt?void 0:Lo.browseHintText,uiRequest:Be?Be.kind==="select"?{kind:"select",title:Be.title,options:Be.options.map(u=>({label:u.label,description:u.description})),buffer:Be.buffer,error:Be.error}:{kind:"input",prompt:Be.prompt,defaultValue:Be.defaultValue,buffer:Be.buffer,error:Be.error}:null}),[xw,J,Sw,pw,sw,aw,se,vw,bw,Iw,ww,dd,mw,yw,Tw,ed,hw,Cw,uw,ze,$c,c.enabled,Lo.browseHintText,Pt,Be]),uh=me(()=>{if(!Rs)return{model:xi,committedSections:[]};let{committedSections:u,liveRows:g}=Tb(Bc.staticSections,xi.rows,xi.previewRows,Vt.messageRows);return{model:{...xi,staticSections:[],rows:g,previewRows:[]},committedSections:u}},[Rs,xi,Bc.staticSections,Vt.messageRows]),Rw=uh.model;Ne(()=>{let u=Ki(T),g=typeof u?.commitInlineScrollback=="function",x=Gk({active:Rs,hasCommitHandle:g,wasActive:JS.current,forceRebuild:nh.current,prior:qS.current,finalizedSections:uh.committedSections,bannerSection:Ao,width:J,identify:Cb}),C=!1,R=!1;if(x.kind==="commit"){let O=x.sections.flatMap(Y=>Y.rows),N=jk(O.length>0?[{key:"il-delta",rows:O}]:[],{width:J,theme:oe("dark")});if(R=N.length>0,x.mode==="append"&&!N)QE("empty-append-text");else try{u?.commitInlineScrollback?.({mode:x.mode,text:N}),C=!0}catch(Y){QE("commit-threw",Y)}}let L=Kk(x,{committed:C,hadContent:R},nh.current);qS.current=L.state,JS.current=L.wasActive,nh.current=L.owns},[Rs,uh.committedSections,Ao,J,T]);let x_=me(()=>ce(Op,{reserveSpace:ed,width:J,hidden:se,mode:"inline"}),[ed,J,se,hw]),Uc=me(()=>rE(Vt.messageRows),[Vt.messageRows]),kw=me(()=>oE(Uc),[Uc]),Ms=!jS&&c.transcriptSpinnerAnimation,Gc=br?br.rows.length+br.previewRows.length:zA,pd=G(u=>{br||XA(u.scrollHeight)},[br]),Kc=G(u=>uE({window:u,stickyHeader:Lo.stickyHeader,width:J,topChromeRows:0}),[J,Lo.stickyHeader]),As=G((u=wc.current,g=$u.current,x=Fm.current?Kc(Fm.current):Pu.current)=>{if(!x||u.length===0){fs.current=null;return}Pu.current=x,fs.current=dE(u,{allRows:g,rowIndexByKey:cx(g),topOffsetRows:x.topOffsetRows,viewportHeight:x.contentWindow.viewportHeight,animateSpinners:Ms})},[Kc,Ms]),Vc=G(()=>{let u=Pu.current;return u?.contentWindow.viewportHeight&&u.contentWindow.viewportHeight>0?u.contentWindow.viewportHeight:Vt.messageRows},[Vt.messageRows]),S_=G(u=>{Fm.current=u;let g=Kc(u);Pu.current=g,As(wc.current,$u.current,g)},[As,Kc]),md=G(u=>{wc.current=u.rows,$u.current=u.allRows,As(u.rows,u.allRows)},[As]),rn=G(()=>{nr.current=null,jm(void 0),Um(void 0)},[]),dh=G(()=>{rn(),Sr(u=>Za(u,void 0))},[rn]);Ne(()=>{As()},[As]),Ne(()=>{qA(u=>iE(u,Gc,Vt.messageRows))},[Gc,Vt.messageRows]),Ne(()=>{if(!ps)return;let u=setTimeout(()=>{xS(void 0)},2e3);return()=>{clearTimeout(u)}},[ps]);let cr=G((u,g="success")=>{let x=u?.trim();x&&xS({text:x,tone:g})},[]),w_=G(u=>{cr(u,"warning")},[cr]),_s=G((u,g)=>{let x=g instanceof Error?g.message:String(g);return`${u}: ${x}`},[]),hd=G(async u=>{let g=u??no;if(!g)return!1;let x=g.text.trimEnd();if(!x)return!1;try{return await nl(x,{terminalWrite:k}),cr(`Copied ${g.rowCount} selected line${g.rowCount===1?"":"s"} to clipboard.`,"success"),!0}catch(C){return cr(_s("Failed to copy transcript selection",C),"warning"),!1}},[no,_s,cr,k]),Ls=G(u=>{if(!u||aE({items:Kt,renderModel:br,terminalWidth:J,transcriptMaxLines:Lt,viewportRows:Vc(),itemId:u,visibleRows:wc.current,expandedItemKeys:Rn,showDetailedTools:!1}))return;let g=cE({items:Kt,renderModel:br,terminalWidth:J,transcriptMaxLines:Lt,viewportRows:Vc(),itemId:u,expandedItemKeys:Rn,showDetailedTools:!1});Au(g)},[Kt,J,Lt,br,Rn,Vc,Au,wc]),Ew=G(u=>{Sr(g=>Za(g,u)),u&&Ls(u)},[Ls]),fh=G(u=>{u&&Ls(u)},[Ls]),Mw=G(u=>{if(!id)return;let g=Zk(Si,ot,u);g&&Ew(g)},[id,Si,ot,Ew]),Aw=G(()=>{!ad||!ot||(ZA(u=>{let g=new Set(u);return g.has(ot)?g.delete(ot):g.add(ot),g}),Ls(ot))},[Ls,ad,ot]),_w=G(async()=>{if(!Es||!En)return;let u=ax(En);if(u)try{await nl(u,{terminalWrite:k}),cr("Copied selected transcript entry to clipboard.","success")}catch(g){cr(_s("Failed to copy transcript entry",g),"warning")}},[_s,Es,En,cr,k]),Lw=G(async()=>{if(!sd||!En)return;let u=eE(En);if(u)try{await nl(u,{terminalWrite:k}),cr("Copied selected tool args to clipboard.","success")}catch(g){cr(_s("Failed to copy tool args",g),"warning")}},[_s,sd,En,cr,k]),zc=G(()=>$u.current,[]),Pw=G((u,g)=>{if(!c.enabled||!Pt)return;let x=fs.current;return x?ux(x,u,g):void 0},[c.enabled,Pt]),Ps=G((u,g,x)=>{let C=zc(),R=mE(C,u,g,{animateSpinners:Ms,selectFullRowOnCollapsed:x?.selectFullRowOnCollapsed});se?Um(R):jm(R);let L=C[Math.max(0,Math.min(g.modelRowIndex,C.length-1))];return x?.updateSelectedItem&&L?.itemId&&Sr(O=>Za(O,L.itemId)),R},[se,zc,Ms]),$w=G((u,g)=>{if(!u)return;nr.current=null;let x={...u,focus:g?.focusPoint??u.focus};if(!(x.mode!=="char"||x.didDrag)){rn();return}let R=Ps(x.anchor,x.focus,{selectFullRowOnCollapsed:!1,updateSelectedItem:!1});if(!R){rn();return}return g?.copySelection!==!1&&hd(R),R},[rn,hd,Ps]),ph=G(()=>{if(!se||!Kt.length||ze||Be)return;rn();let u=lE({items:Kt,selectedItemId:ot,renderModel:br,terminalWidth:J,transcriptMaxLines:Lt,viewportRows:Vc(),scrollOffset:tr,expandedItemKeys:Rn,showDetailedTools:!1,preferViewportAnchor:!0});Sr(g=>YR(g,{anchorItemId:u,initialMatchIndex:0})),vs(""),ar(0)},[ze,Kt,Rn,tr,se,ot,br,J,Lt,Be,Vc,rn]),mh=G(()=>{Sr(u=>qR(u)),vs(""),ar(0),rn()},[rn]),gd=G(()=>{!pt||Wt.length===0||ar(-1)},[Wt.length,pt]),Dw=me(()=>{if(!ze)return null;if(ze.tool==="exit_plan_mode"){let u=typeof ze.input.plan=="string"?ze.input.plan:void 0;return{prompt:ze.prompt.split(`
141
141
  `,1)[0]??ze.prompt,instruction:$c,planContent:u}}return{prompt:ze.prompt,instruction:$c}},[$c,ze]),Ow=me(()=>Be?Be.kind==="select"?{kind:"select",title:Be.title,options:Be.options,buffer:Be.buffer,error:Be.error,visibleSelectOptions:Vt.visibleSelectOptions,focusedIndex:Be.focusedIndex,selectedIndices:Be.selectedIndices,multiSelect:Be.multiSelect}:{kind:"input",prompt:Be.prompt,defaultValue:Be.defaultValue,buffer:Be.buffer,error:Be.error}:null,[Be,Vt.visibleSelectOptions]),T_=me(()=>ce(Np,{confirm:Dw,request:Ow}),[Dw,Ow]),hh=me(()=>{if(ps)return ce(Z0,{text:ps.text,tone:ps.tone})},[ps]),gh=me(()=>{if(hh)return ce(E,{flexDirection:"column",width:"100%",children:hh})},[hh]),yd=G(()=>{Sr(u=>zR(GR(u))),Hm(!1),Lu(),vs(""),ar(0),rn()},[rn,Lu]),Nw=G(()=>{se&&Hm(u=>!u)},[se]),C_=G(()=>{if(se){yd();return}Hm(!1),Sr(u=>UR(u)),vs(""),ar(0),rn()},[rn,yd,se]);Ne(()=>{ZS||!Ke.selectedItemId||Sr(u=>Za(u,void 0))},[ZS,Ke.selectedItemId]),Ne(()=>{if(!se||!Es||!ew){Pc.current=void 0;return}if(Jr||!ot||!En)return;if(!Pc.current){Pc.current=ot;return}if(Pc.current===ot)return;Pc.current=ot;let u=ax(En);u&&nl(u,{terminalWrite:k}).catch(()=>{})},[se,En,ot,Es,ew,Jr,k]),Ne(()=>{if(T?.isTTY!==!0)return;let u=Ki(T);u?.setShellMode?.(HS,Zu),Qm||u?.setAltScreenActive?.(!1)},[HS,T,Qm,Zu]);let v_=me(()=>lR(o,()=>Nm.current),[o]),_e=he({...e,thinking:$.thinking,reasoningMode:$.reasoningMode,effort:Rt,agentMode:$.agentMode,workflowRunsBaseDir:ur("workflow-runs",_i(process.cwd()).key),context:{...e.context,gitRoot:n.gitRoot??void 0,executionCwd:n.runtimeInfo?.executionCwd??n.gitRoot??process.cwd(),repoIntelligenceMode:$.repoIntelligenceMode,repoIntelligenceTrace:$.repoIntelligenceTrace,toolConstructionMode:!0},session:{...e.session,id:n.sessionId,storage:v_,persistedByHost:!0},guardrails:e.runtimeRunner?void 0:xx($.permissionMode,f)});Ne(()=>{_e.current.effort=Rt},[Rt]);let Xc=G(u=>{let g=u.workspaceRoot??void 0;n.runtimeInfo=u,n.gitRoot=g,_e.current.context={..._e.current.context,gitRoot:g,executionCwd:u.executionCwd??g??process.cwd()}},[n]),Mn=he($.permissionMode),Bw=he(0);Ne(()=>{Mn.current=$.permissionMode},[$.permissionMode]);let I_=me(()=>ia(),[]),Hw=he(I_),xt=he($);Ne(()=>{xt.current=$},[$]);let yh=he(null);yh.current===null&&(yh.current=Gd({getProvider:i(()=>vi(xt.current.provider),"getProvider"),getModel:i(()=>xt.current.model??"","getModel")}));let Ww=he(zd());Ne(()=>{$.permissionMode==="auto-in-project"&&Ww.current()},[]);let xh=G(async u=>{let g=++Bw.current;Ee(R=>({...R,permissionMode:u})),Mn.current=u,jn(ss(u,void 0,s.engine));let x=await e.runtimeAutoModeControl?.syncSettings?.(n.sessionId,u,s);if(g!==Bw.current)return;let C=Mi({provider:xt.current.provider,model:xt.current.model,effort:xt.current.effort,effortOverride:xt.current.effortOverride,permissionMode:u,planModeEffort:xt.current.planModeEffort,thinking:xt.current.thinking,reasoningMode:xt.current.reasoningMode});if(_e.current={..._e.current,effort:C.runtimeEffort,guardrails:e.runtimeRunner?void 0:xx(u,f)},!Vn(u))jn(void 0);else if(e.runtimeAutoModeControl){let R=x??await e.runtimeAutoModeControl.getStats(n.sessionId);jn(ss(u,R?.engine,s.engine))}else jn(f.getGuardrail().getEngine());u==="auto-in-project"&&Ww.current()},[f,s,n.sessionId,e.runtimeAutoModeControl,e.runtimeRunner]),Fw=he(H.pendingInputs),st=he(!1),jw=he(0),Sh=he(null),Yc=he(0),xd=G(()=>{if(yc.current)return;let u=Hu.current?.trim(),g=y.current.length>0?y.current[y.current.length-1]:void 0,x=g&&"text"in g&&typeof g.text=="string"?g.text.trim():void 0,R=ln.current.length>0?[...ln.current.map(L=>ai(L)),...u&&u!==x?[{type:"info",text:u}]:[]]:[...ln.current.map(L=>ai(L)),...jW(Oe(),F(),{toolCalls:tn.current,toolNames:Tr.current,infoItems:u&&u!==x?[u]:[]})];R.length!==0&&(yc.current=!0,Gu(ln.current),ds.current?.(R))},[F,Oe,Gu]);Ne(()=>{Fw.current=H.pendingInputs},[H.pendingInputs]);let Uw=G(()=>{st.current=!0,ke(),pe(),X(),ne(),Ge(),je(),we(void 0),Eo(),Tt(void 0),Mc(),pi.current=[],gs.current=[],ut.current=null,Hu.current=null,bc([]),Ou(null),ms(null),hi(),kc(void 0),Q(!1),T?.isTTY===!0&&Ki(T)?.clear?.()},[ke,je,ne,Ge,hi,Eo,Mc,we,bc,Q,Tt,pe,X,T]),Sd=G(u=>{let g=ST(),x=g.list().filter(R=>R.status==="running"||R.status==="paused");if(x.length===0)return!1;for(let R of x)g.stop(R.runId,u);vc(R=>!R||R.status!=="running"||!x.some(L=>L.runId===R.runId)?R:{...R,status:"stopped",activeAgents:[],message:"Workflow stopped by user."});let C=x[0];return x.length===1&&C?kn({type:"info",text:`Stopped workflow ${C.workflow} (${C.runId}).`},"workflow-stop"):kn({type:"info",text:`Stopped ${x.length} active workflows.`},"workflow-stop"),!0},[kn,vc]);Ne(()=>{if(!Ht.shouldRender)return;let u=i(()=>{Sd("stopped by Ctrl+C")},"handleSigint");return process.on("SIGINT",u),()=>{process.off("SIGINT",u)}},[Sd,Ht.shouldRender]),Pn(fn.Critical,u=>{let g=u.name==="escape",x=Date.now(),C=g&&!se&&!Cr&&Sc&&H.pendingInputs.length===0&&(B||Ht.shouldRender),R=C&&(u.meta===!0||x-jw.current<LW);if(jw.current=C?x:0,uk({keyName:u.name,ctrl:!!u.ctrl,isTranscriptMode:se,isAwaitingUserInteraction:Cr,isInputEmpty:Sc,isDoubleEscape:R,pendingInputCount:H.pendingInputs.length,hasTranscriptTextSelection:!!Jr,hasActiveWorkflow:Ht.shouldRender}))return Sd(u.ctrl?"stopped by Ctrl+C":"stopped by Escape");if(!B)return!1;switch(dk({keyName:u.name,ctrl:!!u.ctrl,isTranscriptMode:se,isAwaitingUserInteraction:Cr,isInputEmpty:Sc,isDoubleEscape:R,pendingInputCount:H.pendingInputs.length,hasTranscriptTextSelection:!!Jr}).kind){case"interrupt":return xd(),Uw(),!0;case"pop-pending-input":return an(),!0;default:break}return!1},[B,se,Cr,Sc,H.pendingInputs.length,an,xd,Uw,Sd,Jr,Ht.shouldRender]),Pn(fn.Critical,u=>{let g=ak({itemsLength:Kt.length,currentResponse:qe.currentResponse,thinkingContent:qe.thinkingContent,activeToolCallsLength:qe.activeToolCalls.length}),x=ck({keyName:u.name,hasTranscript:g,historyScrollOffset:tr,reviewPageSize:Uc,reviewWheelStep:kw,hasMouse:!!u.mouse,mouseButton:u.mouse?.button,mouseAction:u.mouse?.action,usesManagedMouseClicks:WS,supportsMouseTracking:Ke.supportsMouseTracking,usesRendererMouseTracking:Zu,usesManagedMouseWheel:FS,supportsWheelHistory:Ke.supportsWheelHistory});if(x.kind==="mouse-phase"){let R=u.mouse;if(!R)return!1;x.phase==="press"&&nr.current&&$w(nr.current);let L=Pw(R.row,R.column);if(x.phase==="press"){if(!L||!g)return no||ot?(dh(),!0):(rn(),!1);let O=jE({previous:yS.current,time:Date.now(),row:R.row,column:R.column});yS.current=O;let N=O.count>=3?"line":O.count===2?"word":"char";if(gd(),Sr(Y=>Za(Y,void 0)),se?Um(void 0):jm(void 0),N!=="char"){let Y=xm(zc(),L.point,N);if(Y)return nr.current={anchor:Y.start,focus:Y.end,didDrag:!1,mode:N,anchorSpan:Y},Ps(Y.start,Y.end,{updateSelectedItem:!1}),!0}return nr.current={anchor:L.point,focus:L.point,didDrag:!1,mode:"char"},!0}if(!nr.current)return!1;if(x.phase==="drag"){let O=fs.current,N=O?gE(O,R.row):0;N!==0&&_u(N);let Y=L??(O?dx(O,R.row,R.column):void 0);if(!Y)return!1;let ee=nr.current;if(ee.mode!=="char"&&ee.anchorSpan){let We=xm(zc(),Y.point,ee.mode);if(!We)return!1;let Ue=yx(ee.anchorSpan,We);return nr.current={...ee,anchor:Ue.anchor,focus:Ue.focus,didDrag:!0},Ps(Ue.anchor,Ue.focus,{updateSelectedItem:!1}),!0}return nr.current={...ee,focus:Y.point,didDrag:!0},Ps(ee.anchor,Y.point,{updateSelectedItem:!1}),!0}if(x.phase==="release"){let O=nr.current,N=O.focus,ee=(L??(fs.current?dx(fs.current,R.row,R.column):void 0))?.point??N;if(O.mode!=="char"&&O.anchorSpan){let We=xm(zc(),ee,O.mode);if(We){let Ue=yx(O.anchorSpan,We);O.anchor=Ue.anchor,ee=Ue.focus}}return $w(O,{focusPoint:ee}),!0}}if(x.kind==="scroll-by")return gd(),_u(x.delta),!0;if(x.kind==="consume")return!0;let C=fk({key:u,isTranscriptMode:se,isHistorySearchActive:pt,historySearchMatchCount:Wt.length,hasTextSelection:!!no,hasFocusedItem:!!ot,canCopySelectedItem:Es,canCopySelectedToolInput:sd,canToggleSelectedDetail:ad,canCycleTranscriptSelection:id});return pk({action:C,hasTranscript:g,isTranscriptMode:se,pageScrollDelta:Uc,disarmHistorySearchSelection:gd,scrollTranscriptBy:_u,closeHistorySearchSurface:mh,backspaceHistorySearchQuery:i(()=>{vs(R=>R.slice(0,-1)),ar(0)},"backspaceHistorySearchQuery"),stepHistorySearchSelection:i(R=>{ar(L=>sx(Wt.length,L,R))},"stepHistorySearchSelection"),submitHistorySearchSelection:i(()=>{let R=Wt[_o];R&&(fh(R.itemId),mh())},"submitHistorySearchSelection"),appendHistorySearchQuery:i(R=>{vs(L=>L+R),ar(0)},"appendHistorySearchQuery"),openHistorySearchSurface:ph,clearTranscriptSelectionFocus:dh,exitTranscriptModeSurface:yd,toggleTranscriptShowAll:Nw,scrollTranscriptHome:i(()=>{Au(Math.max(0,Gc-Vt.messageRows))},"scrollTranscriptHome"),scrollTranscriptToBottom:i(()=>{Lu(),rn()},"scrollTranscriptToBottom"),cycleTranscriptSelection:Mw,copySelectedTranscriptText:i(()=>{hd()},"copySelectedTranscriptText"),copySelectedTranscriptItem:i(()=>{_w()},"copySelectedTranscriptItem"),copySelectedTranscriptToolInput:i(()=>{Lw()},"copySelectedTranscriptToolInput"),toggleSelectedTranscriptDetail:Aw,navigateSearchMatch:i(R=>{ar(L=>{let O=sx(Wt.length,L,R),N=Wt[O];return N&&fh(N.itemId),O})},"navigateSearchMatch"),dumpTranscriptToScrollback:i(()=>{mk({items:Kt.filter(R=>!Qg(R)),exitAltScreen:i(()=>{k(Gf({mouseTracking:!0}))},"exitAltScreen"),writeToScrollback:i(R=>{k(R)},"writeToScrollback"),enterAltScreen:i(()=>{k(Uf({mouseTracking:!0,clearOnEnter:!1}))},"enterAltScreen")})},"dumpTranscriptToScrollback")})},[se,Kt,qe.currentResponse,qe.thinkingContent,qe.activeToolCalls,tr,Gc,Uc,kw,ot,dh,yd,Nw,Ke,_u,Au,Lu,id,_o,rn,hd,Wt,ph,mh,gd,Mw,Es,_w,sd,Lw,ad,Aw,fh,no,Pw,Ke.supportsMouseTracking,Jr,WS,FS,Zm,gi,Zu,Ps,Vt.messageRows]),Pn(u=>{if(!ze)return!1;let g=u.sequence.trim().toLowerCase(),x=ze.runtimeGrantSuggestions?.find(Y=>Y.kind==="session"),C=ze.runtimeGrantSuggestions?.find(Y=>Y.kind==="persistent"),R=!!ze.input._alwaysConfirm,L=ze.runtimeGrantSuggestions!==void 0,O=C!==void 0||!L&&$.permissionMode==="accept-edits"&&!R,N=i(Y=>{let ee=`${re("dialog.confirm")} ${ze.prompt}
142
- \u2192 ${re(`confirm.result.${Y}`)}`;!!rt.current.workerId?Ut({id:`confirm-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"info",text:ee,timestamp:Date.now()}):V({type:"info",text:ee})},"recordConfirmResult");return g==="y"||g==="yes"?(N("approved"),Lc(null),to.current?.({confirmed:!0}),to.current=null,!0):x&&(g==="s"||g==="session")?(N("approved_session"),Lc(null),to.current?.({confirmed:!0,runtimeGrantKind:"session"}),to.current=null,!0):O&&(g==="a"||g==="always")?(N("approved_always"),Lc(null),to.current?.(C?{confirmed:!0,runtimeGrantKind:"persistent"}:{confirmed:!0,always:!0}),to.current=null,!0):g==="n"||g==="no"||u.name==="escape"?(N("denied"),Lc(null),to.current?.({confirmed:!1}),to.current=null,!0):u.insertable||u.name==="return"},{isActive:!!ze,priority:fn.Critical});let wd=G(u=>{sr(null),qu.current?.(u),qu.current=null},[]),oo=G((u,g,x,C)=>g.length===0?Promise.resolve(void 0):new Promise(R=>{qu.current=R,sr({kind:"select",title:u,options:g,buffer:"",focusedIndex:0,selectedIndices:[],multiSelect:x,minSelections:C?.minSelections,maxSelections:C?.maxSelections})}),[]),b_=G((u,g)=>oo(u,g.map(x=>({label:x,value:x}))).then(x=>Array.isArray(x)?x[0]:x),[oo]),R_=G(async u=>{let g=e.learning;if(!g)return;let x=u;if(!x){let O=await g.list({limit:200});if(O.items.length===0){Om([{id:"learning-center-empty",text:"Learning Center has no learned capabilities.",tone:"accent"}]);return}let N=await oo("Learning Center \u2014 type to search",O.items.map(Y=>({label:`${Y.displayName} \xB7 ${Y.carrier} \xB7 ${Y.lifecycle}`,value:Y.slug})));x=Array.isArray(N)?N[0]:N}if(!x)return;let C=await g.get(x),R=await oo(`${C.displayName} \xB7 ${C.carrier} \xB7 ${C.lifecycle}`,PW(C)),L=Array.isArray(R)?R[0]:R;L&&(await $W(g,C.slug,L),mS(await g.getSnapshot()))},[e.learning,oo]),Gw=G(async u=>{let g=u.options?ym(u.options):[],x=await oo(px(u),g,!1);return x===void 0?Xs:Array.isArray(x)?x[0]??Xs:x},[oo]);Ne(()=>{let u=!1;return(async()=>{let{bindAskUserForConstruction:g}=await import("./construction-bootstrap-5F5KF2BZ.js");u||g(Gw)})(),()=>{u=!0,(async()=>{let{bindAskUserForConstruction:g}=await import("./construction-bootstrap-5F5KF2BZ.js");g(null)})()}},[Gw]);let $s=G((u,g)=>new Promise(x=>{qu.current=C=>x(Array.isArray(C)?C[0]:C),sr({kind:"input",prompt:u,defaultValue:g,buffer:""})}),[]);Pn(u=>{let g=Ju.current;if(!g)return!1;if(u.name==="escape")return wd(void 0),!0;if(g.kind==="select"){let x=g.options.length;if(u.name==="up"||u.sequence==="k")return sr(C=>C&&C.kind==="select"?{...C,focusedIndex:(C.focusedIndex-1+x)%x,error:void 0}:C),!0;if(u.name==="down"||u.sequence==="j")return sr(C=>C&&C.kind==="select"?{...C,focusedIndex:(C.focusedIndex+1)%x,error:void 0}:C),!0;if(u.sequence===" "&&g.multiSelect)return sr(C=>{if(!C||C.kind!=="select")return C;let R=C.focusedIndex,L=C.selectedIndices.includes(R)?C.selectedIndices.filter(O=>O!==R):[...C.selectedIndices,R];return{...C,selectedIndices:L,error:void 0}}),!0;if(u.name==="return"){let C=Ju.current;if(!C||C.kind!=="select")return!1;if(C.multiSelect){let R=C.selectedIndices.length,{minSelections:L,maxSelections:O}=C,N=R===0&&L!==0?re("select.multiselect_empty"):L!==void 0&&R<L?re("select.multiselect_min",{min:String(L)}):O!==void 0&&R>O?re("select.multiselect_max",{max:String(O)}):void 0;if(N!==void 0)return sr(ee=>ee&&ee.kind==="select"?{...ee,error:N}:ee),!0;let Y=C.selectedIndices.slice().sort((ee,We)=>ee-We).map(ee=>C.options[ee]?.value).filter(ee=>typeof ee=="string"&&ee.length>0);wd(Y)}else wd(C.options[C.focusedIndex]?.value);return!0}if(/^[1-9]$/.test(u.sequence)){let C=Number.parseInt(u.sequence,10)-1;if(C>=0&&C<x)return g.multiSelect?sr(R=>{if(!R||R.kind!=="select")return R;let L=R.selectedIndices.includes(C)?R.selectedIndices.filter(O=>O!==C):[...R.selectedIndices,C];return{...R,focusedIndex:C,selectedIndices:L,error:void 0}}):sr(R=>R&&R.kind==="select"?{...R,focusedIndex:C,error:void 0}:R),!0}return!1}if(u.name==="return"){let x=Ju.current;if(!x||x.kind!=="input")return!1;let C=x.buffer.trim();return wd(C===""?x.defaultValue??void 0:C),!0}return u.name==="backspace"||u.name==="delete"?(sr(x=>x&&x.kind==="input"?{...x,buffer:x.buffer.slice(0,-1),error:void 0}:x),!0):(u.insertable||u.isPasted===!0)&&!u.ctrl&&!u.meta?(sr(x=>x&&x.kind==="input"?{...x,buffer:x.buffer+u.sequence,error:void 0}:x),!0):!1},{isActive:!!Be,priority:fn.Critical}),Ne(()=>{if(n.messages.length>0&&P.length===0){if(n.uiHistory?.length){let u=Ur(n.uiHistory);u.length!==n.uiHistory.length&&(n.uiHistory=u),fe(nu({messages:n.messages,uiHistory:u}));return}fe(nu({messages:n.messages}))}},[n.messages,n.uiHistory,P.length,fe]),Ne(()=>{_d(n.gitRoot)},[n.gitRoot]),Ne(()=>{process.env.KODAX_PREWARM_REPO_INTELLIGENCE!=="0"&&fT({executionCwd:n.runtimeInfo?.executionCwd??n.gitRoot??process.cwd(),gitRoot:n.gitRoot??void 0},{mode:$.repoIntelligenceMode})},[n.gitRoot,n.runtimeInfo?.executionCwd,$.repoIntelligenceMode]);let qc=G(()=>({onMemoryOutcomeDigest:i(u=>{n.lineage=Ld(n.lineage??nt(n.messages),u)},"onMemoryOutcomeDigest"),onMemoryReviewReceipt:i(u=>{n.lineage=Pd(n.lineage??nt(n.messages),u)},"onMemoryReviewReceipt"),onMemoryNotice:i(u=>{n.lineage=$d(n.lineage??nt(n.messages),{...u,createdAt:new Date().toISOString()}),V({type:"info",text:`[memory] ${u.summaries.slice(0,3).join("; ")}`})},"onMemoryNotice"),onThinkingDelta:i((u,g)=>{if(st.current||Wn(g,"thinking",u,{append:!0}))return;H.currentTool&&(we(void 0),Ge());let{header:x}=IR(Oe()+u),C=x?`[Thinking: ${x}]`:"[Thinking]";Tt(em(ut.current?.activeWorkerTitle?`[${ut.current.activeWorkerTitle}] ${C}`:C,ut.current?.activeWorkerTitle)),ye(u.length),Ae(u),rt.current.workerId&&Vu("thinking",u)},"onThinkingDelta"),onThinkingEnd:i((u,g)=>{if(st.current||Wn(g,"thinking",u))return;let x=Oe(),C=TR(x,u);C&&C!==x&&(ne(),ue(),ye(C.length),Ae(C)),rt.current.workerId&&AS(C),X()},"onThinkingEnd"),onTextDelta:i((u,g)=>{st.current||Wn(g,"assistant",u,{append:!0})||(H.currentTool&&(we(void 0),Ge()),X(),Tt(void 0),de(u),rt.current.workerId&&Vu("assistant",u))},"onTextDelta"),onToolUseStart:i((u,g)=>{if(st.current||Wn(g,"tool",y0(u.name,u.input)))return;Tr.current.includes(u.name)||(Tr.current=[...Tr.current,u.name]);let x=ut.current?.activeWorkerTitle?`[${ut.current.activeWorkerTitle}] `:"",C={id:u.id,name:`${x}${u.name}`,status:j.Executing,startTime:Date.now(),input:u.input};_S(C),rt.current.workerId&&ir(C),Tt(wo(C,ut.current?.activeWorkerTitle))},"onToolUseStart"),onToolInputDelta:i((u,g,x)=>{if(st.current||Wn(x,"tool",u,{skipIfExisting:!0}))return;tt(g.length),gt(g);let C=LS(x?.toolId,u,R=>{let L=R.preview??"",O=xR(`${L}${g}`);return{...R,preview:O||void 0,input:R.input?O?{...R.input,preview:O}:{...R.input}:O?{preview:O}:void 0}});C&&(rt.current.workerId&&ir(C),Tt(wo(C,ut.current?.activeWorkerTitle)))},"onToolInputDelta"),onToolResult:i((u,g)=>{if(st.current||Wn(g,"tool",`${u.name} completed`))return;let x=typeof u.content=="string"?u.content:String(u.content??""),C=SR(x);if(/^\[(?:Tool Error|Error)\]/.test(x)){let L=Xu(u.id,j.Error,C,C,u.name);L&&(rt.current.workerId&&ir(L),Tt(wo(L,ut.current?.activeWorkerTitle)));return}if(/^\[(?:Cancelled|Blocked)\]/.test(x)){let L=Xu(u.id,j.Cancelled,void 0,C,u.name);L&&(rt.current.workerId&&ir(L),Tt(wo(L,ut.current?.activeWorkerTitle)));return}let R=Xu(u.id,j.Success,void 0,C||void 0,u.name);R&&(rt.current.workerId&&ir(R),Tt(wo(R,ut.current?.activeWorkerTitle)))},"onToolResult"),onToolProgress:i((u,g)=>{if(st.current||Wn(g,"progress",u.message))return;let x=u.message.length>100?u.message.slice(0,97)+"...":u.message,C=Cs(u.id,R=>({...R,preview:x,progressLines:[...(R.progressLines??[]).slice(-4),x]}));C&&rt.current.workerId&&ir(C),Tt(x)},"onToolProgress"),onStreamEnd:i(u=>{if(st.current||Wp(u))return;let g=Ac(j.Cancelled,()=>({error:"Stream ended before the tool completed.",output:void 0})),x=g[g.length-1];rt.current.workerId&&g.forEach(C=>ir(C)),x&&Tt(wo(x,ut.current?.activeWorkerTitle)),X(),Ge(),we(void 0)},"onStreamEnd"),onChildActivityEnd:i(u=>{IS(u)},"onChildActivityEnd"),hasPendingInputs:i(()=>Fw.current.length>0,"hasPendingInputs"),onMidTurnUserMessages:i(u=>{if(!st.current)for(let g of u){let x=g.trim();x&&(rt.current.workerId?Ut({id:`mid-turn-user-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"user",text:x,timestamp:Date.now()}):V({type:"user",text:x}))}},"onMidTurnUserMessages"),onSidecarMessage:i(u=>{if(st.current)return;let g=u.suggestedFix?`${u.content}
143
- Suggested fix: ${u.suggestedFix}`:u.content;if(u.delivery==="budget-exhausted")ES({type:"sidecar",text:g,delivery:"budget-exhausted"},"sidecar-message");else{let x=u.verdict==="blocked"?"blocked":"revise";ES({type:"sidecar",text:g,verdict:x},"sidecar-message")}},"onSidecarMessage"),onError:i(u=>{let g=ko();g?.name&&Tt(wo(g,ut.current?.activeWorkerTitle));let x=Ac(j.Error,()=>({error:u.message,output:void 0})),C=x[x.length-1];rt.current.workerId&&x.forEach(We=>ir(We)),C&&Tt(wo(C,ut.current?.activeWorkerTitle));let R=eT(u),L=["Transient","Permanent","Tool Call ID","User Abort"];if(R.category===Zc.USER_ABORT)return;let N=[`\u274C API Error (${L[R.category]||"Unknown"}): ${u.message}`];R.shouldCleanup&&N.push(" \u{1F9F9} Cleaned incomplete tool calls"),R.category===Zc.PERMANENT?(N.push(" \u{1F4A1} This error requires manual intervention. Please check:"),u.message.includes("auth")||u.message.includes("401")?(N.push(" - Your API key is valid"),N.push(" - Run /config to check provider settings")):u.message.includes("400")?(N.push(" - The request parameters are correct"),N.push(" - Try restarting the conversation")):N.push(" - The error details above")):R.category===Zc.TRANSIENT?N.push(" \u23F3 Retries exhausted. Press Enter to continue the conversation"):R.category===Zc.TOOL_CALL_ID&&N.push(" \u2705 Session cleaned, ready to continue");let Y=N.join(`
144
- `);!!rt.current.workerId?Ut({id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"error",text:Y,timestamp:Date.now()}):V({type:"error",text:Y})},"onError"),onRetry:i((u,g,x,C)=>{if(st.current)return;let R=ru(u,g,x);if(Ic(C,R.text)||Wn(C,"progress",R.text))return;!!rt.current.workerId?Ut({...R,id:`retry-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):V(R)},"onRetry"),onProviderRecovery:i((u,g)=>{if(st.current)return;let x=ou(u);if(Ic(g,x.text)||Wn(g,"progress",x.text))return;let C=!!rt.current.workerId,R=F().trim();R&&(C?Vu("assistant",R):V({type:"assistant",text:R})),je(),ne(),X(),Ge(),we(void 0),Eo(),Tt(void 0),C?Ut({...x,id:`recovery-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):V(x)},"onProviderRecovery"),onManagedTaskStatus:i(u=>{if(st.current)return;let g=rt.current;if(XE(u)){if(g.workerId&&g.workerId!==u.activeWorkerId)a_({workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle});else if(g.workerId!==u.activeWorkerId){let O=yt.current,N=O.activeToolGroupTools.some(Y=>Y.status===j.Executing);yt.current={workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle,...N?{activeToolGroupItemId:O.activeToolGroupItemId,activeToolGroupTools:O.activeToolGroupTools}:{activeToolGroupTools:[]}},rt.current={workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle}}}ut.current=u,Ou(u);let x=vR(u);c_(x);let C=Ya(u),L=Ya(u,{expanded:!0})??C;L&&(Hu.current=L)},"onManagedTaskStatus"),onProviderRateLimit:i((u,g,x,C)=>{if(st.current)return;let R=Sh.current;if(Sh.current=null,fR(R,{attempt:u,maxAttempts:g,delayMs:x}))return;let L=`[Rate Limit] Retrying in ${x/1e3}s (${u}/${g})...`;Ic(C,L)||Wn(C,"progress",L)||kn({type:"info",icon:"\u23F3",text:L},"ratelimit")},"onProviderRateLimit"),onRetryAfter:i((u,g)=>{if(st.current)return;Sh.current={attempt:u.attempt,maxAttempts:u.maxAttempts,waitMs:u.waitMs};let x=Math.round(u.waitMs/1e3),C=u.source==="exponential-backoff"?"no-header \u2192 backoff":u.source,L=`[${u.reason==="overloaded"?"Overloaded":"Rate limited"}] (${u.provider}) \u2014 retrying in ${x}s [${C}] (${u.attempt}/${u.maxAttempts})`;Ic(g,L)||Wn(g,"progress",L)||kn({type:"info",icon:"\u23F3",text:L},"ratelimit")},"onRetryAfter"),onReasoningEffortRejected:i(u=>{nT(u.provider,u.model,u.effort,"observed",new Date().toISOString());let x=Mi({provider:u.provider,model:u.model,effort:xt.current.effort,effortOverride:xt.current.effortOverride,permissionMode:xt.current.permissionMode,planModeEffort:xt.current.planModeEffort,thinking:xt.current.thinking,reasoningMode:xt.current.reasoningMode}).runtimeEffort;Ee(C=>({...C,effort:x,effortOverride:x!==void 0})),Ai({effort:x}),_e.current.effort=x,kn({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${x?`,\u5DF2\u5207\u5230 ${x}`:""}]`},"ratelimit")},"onReasoningEffortRejected"),onRepoIntelligenceTrace:i(u=>{st.current||kn(NR(u),"repointel-trace")},"onRepoIntelligenceTrace"),onTodoUpdate:i(u=>{st.current||Qr(u)},"onTodoUpdate"),onScoutSuspiciousCompletion:i(u=>{st.current||YE&&kn({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,g)=>{if(st.current)return;if(g&&jt(g),ut.current?.globalWorkBudget){let ee={...ut.current,budgetUsage:Math.min(ut.current.globalWorkBudget,(ut.current.budgetUsage??0)+1)};ut.current=ee,Ou(ee)}let x=u>1?Oe().trim():"",C=u>1?Cx(F()):"",R=u>1?[...Tr.current]:[],L=u>1?[...tn.current]:[],O=!!rt.current.workerId;ft(u),O&&Uu({clearOwner:!1});let N=Zr.current.filter(ee=>ee.status===j.Executing),Y=new Set(N.map(ee=>ee.id));if(Tr.current=[],tn.current=tn.current.filter(ee=>Y.has(ee.id)),Hn(N),Ge(),we(void 0),Tt(em(ut.current?.activeWorkerTitle?`[Thinking] [${ut.current.activeWorkerTitle}]`:void 0,ut.current?.activeWorkerTitle)),ue(),u>1&&!O){let ee=vx({thinking:x,response:C,toolCalls:L,toolNames:R});ds.current?ds.current(ee):fe([...ee])}},"onIterationStart"),beforeToolExecute:i(async(u,g)=>{let x=Mn.current,C=Ys(x),R=Hw.current,L=n.gitRoot;if(bT(K.current,u,g))return`[Skipped] Previously denied operation. ${RT(K.current)}`;if(x==="plan"&&(co.has(u)||u==="undo"))return`[Blocked] Tool '${u}' is not allowed in plan mode (read-only). ${KE}`;if(x==="plan"&&u==="bash"){let O=g.command??"";if(fr(O))return`[Blocked] Bash write operation not allowed in plan mode: ${O.slice(0,50)}... ${KE}`}if(u==="bash"){let O=g.command??"";if(pn(O))return!0}if(Vn(x)&&ih==="llm")return!0;if(u==="bash"){let O=g.command??"",N=vT(O);if(N.level==="dangerous"){let Y=await io(u,{...g,_dangerousCommand:!0});return Y.confirmed?Y.confirmed:(K.current=Ph(K.current,u,g,N.reason),`[Blocked] Dangerous command requires confirmation: ${N.reason}`)}}if(L){let O=!1;if(co.has(u)){let N=g.path;N&&na(N,L)&&(O=!0)}if(u==="bash"){let N=g.command;N&&Jd(N,L)&&(O=!0)}if(O){let N=await io(u,{...g,_alwaysConfirm:!0});if(Mn.current==="plan"&&(co.has(u)||u==="undo"))return!1;if(Mn.current==="plan"&&u==="bash"){let Y=g.command??"";if(fr(Y))return!1}return N.confirmed}}if(C.has(u)){if(x==="accept-edits"&&u==="bash"&&await ta(u,g,R,yh.current??void 0))return!0;let O=await io(u,g);if(Mn.current==="plan"&&(co.has(u)||u==="undo"))return!1;if(Mn.current==="plan"&&u==="bash"){let N=g.command??"";if(fr(N))return!1}if(!O.confirmed)return V({type:"info",text:re("cancelled")}),K.current=Ph(K.current,u,g),!1;O.always&&x==="accept-edits"&&(Qd(u,g,!1),Hw.current=ia())}return!0},"beforeToolExecute"),askUser:i(async u=>{let g=fx(u.options?ym(u.options):[],u),x=await oo(px(u),g,u.multiSelect,{minSelections:u.minSelections,maxSelections:u.maxSelections});if(x===void 0)return Xs;if(x===Er){let C=await $s(u.customInputPrompt??u.question,u.customInputDefault);return C===void 0?Xs:{kind:"customInput",value:C}}if(Array.isArray(x)&&x.includes(Er)){let C=await $s(u.customInputPrompt??u.question,u.customInputDefault);return C===void 0?Xs:x.map(R=>R===Er?{kind:"customInput",value:C}:R)}return x},"askUser"),exitPlanMode:i(async u=>Mn.current!=="plan"?"not-in-plan-mode":(await io("exit_plan_mode",{plan:u})).confirmed?(xh("accept-edits"),!0):!1,"exitPlanMode"),askUserMulti:i(async u=>{let g=u.questions,x={},C=0;for(;C<g.length;){let R=g[C],L=fx(ym(R.options),R);C>0&&L.push({label:re("select.back_prev"),value:Mh});let O=`[${C+1}/${g.length}] ${R.question}`,N=await oo(O,L,R.multiSelect,{minSelections:R.minSelections,maxSelections:R.maxSelections});if(N===void 0)return;if(!Array.isArray(N)&&N===Mh){C--;continue}if(!Array.isArray(N)&&N===Er){let Y=await $s(R.customInputPrompt??R.question,R.customInputDefault);if(Y===void 0)return;x[R.question]={kind:"customInput",value:Y},C++;continue}if(Array.isArray(N)&&N.includes(Er)){let Y=await $s(R.customInputPrompt??R.question,R.customInputDefault);if(Y===void 0)return;x[R.question]=N.map(ee=>ee===Er?{kind:"customInput",value:Y}:ee),C++;continue}x[R.question]=N,C++}return x},"askUserMulti"),askUserInput:i(async u=>$s(u.question,u.default),"askUserInput"),onCompactStart:i(()=>{Ve()},"onCompactStart"),onCompactStats:i(u=>{gc.current=u.tokensBefore,er(u.tokensAfter)},"onCompactStats"),onCompactedMessages:i(async(u,g,x)=>{let C=Jp(n.lineage,u,g,x);if(!C)return;n.messages=u,g?.artifactLedger&&g.artifactLedger.length>0&&(n.artifactLedger=bi(n.artifactLedger??[],g.artifactLedger)),n.lineage=C;let R=Ii(u);if(n.contextTokenSnapshot={currentTokens:R,baselineEstimatedTokens:R,source:"estimate"},yr(n),er(R),e.runtimeRunner){n.lineage===C&&(n.lineage=Gs(C));return}let L=Ru.current;if(!L)throw new Error("Ink REPL compaction persistence is not initialized.");try{await L(),n.lineage===C&&(n.lineage=Gs(C))}catch(O){throw Ct({source:"repl:compaction",level:"error",message:"Failed to durably persist compacted session history.",detail:O}),O}},"onCompactedMessages"),onCompact:i(u=>{bt();let g=gc.current??u;gc.current=null;let x=Math.round(g/1e3);kn({type:"info",icon:"\u2728",text:`Context auto-compacted (was ~${x}k tokens)`},"compact")},"onCompact"),onCompactEnd:i(()=>{gc.current=null,bt()},"onCompactEnd"),onIterationEnd:i(u=>{u.scope!=="worker"&&(n.contextTokenSnapshot=u.contextTokenSnapshot),er(u.tokenCount)},"onIterationEnd")}),[ye,Ae,X,de,we,tt,gt,Ge,ft,ue,$,n,Ve,bt,V,ne,Oe,F,Uu,Tt,Vu,AS,ir,_S,LS,Xu,Ac,ko,Eo,Hn,IS,Ic,Wn,kn,H.currentTool]),io=i((u,g,x)=>{let C=yR(u,g),R=x?.map(N=>N.label)??[],L=x===void 0?[]:[ja,...R.map(N=>`Runtime scope: ${N}`)],O=L.length>0?`${C}
142
+ \u2192 ${re(`confirm.result.${Y}`)}`;!!rt.current.workerId?Ut({id:`confirm-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"info",text:ee,timestamp:Date.now()}):V({type:"info",text:ee})},"recordConfirmResult");return g==="y"||g==="yes"?(N("approved"),Lc(null),to.current?.({confirmed:!0}),to.current=null,!0):x&&(g==="s"||g==="session")?(N("approved_session"),Lc(null),to.current?.({confirmed:!0,runtimeGrantKind:"session"}),to.current=null,!0):O&&(g==="a"||g==="always")?(N("approved_always"),Lc(null),to.current?.(C?{confirmed:!0,runtimeGrantKind:"persistent"}:{confirmed:!0,always:!0}),to.current=null,!0):g==="n"||g==="no"||u.name==="escape"?(N("denied"),Lc(null),to.current?.({confirmed:!1}),to.current=null,!0):u.insertable||u.name==="return"},{isActive:!!ze,priority:fn.Critical});let wd=G(u=>{sr(null),qu.current?.(u),qu.current=null},[]),oo=G((u,g,x,C)=>g.length===0?Promise.resolve(void 0):new Promise(R=>{qu.current=R,sr({kind:"select",title:u,options:g,buffer:"",focusedIndex:0,selectedIndices:[],multiSelect:x,minSelections:C?.minSelections,maxSelections:C?.maxSelections})}),[]),b_=G((u,g)=>oo(u,g.map(x=>({label:x,value:x}))).then(x=>Array.isArray(x)?x[0]:x),[oo]),R_=G(async u=>{let g=e.learning;if(!g)return;let x=u;if(!x){let O=await g.list({limit:200});if(O.items.length===0){Om([{id:"learning-center-empty",text:"Learning Center has no learned capabilities.",tone:"accent"}]);return}let N=await oo("Learning Center \u2014 type to search",O.items.map(Y=>({label:`${Y.displayName} \xB7 ${Y.carrier} \xB7 ${Y.lifecycle}`,value:Y.slug})));x=Array.isArray(N)?N[0]:N}if(!x)return;let C=await g.get(x),R=await oo(`${C.displayName} \xB7 ${C.carrier} \xB7 ${C.lifecycle}`,PW(C)),L=Array.isArray(R)?R[0]:R;L&&(await $W(g,C.slug,L),mS(await g.getSnapshot()))},[e.learning,oo]),Gw=G(async u=>{let g=u.options?ym(u.options):[],x=await oo(px(u),g,!1);return x===void 0?Xs:Array.isArray(x)?x[0]??Xs:x},[oo]);Ne(()=>{let u=!1;return(async()=>{let{bindAskUserForConstruction:g}=await import("./construction-bootstrap-RPRL3L7R.js");u||g(Gw)})(),()=>{u=!0,(async()=>{let{bindAskUserForConstruction:g}=await import("./construction-bootstrap-RPRL3L7R.js");g(null)})()}},[Gw]);let $s=G((u,g)=>new Promise(x=>{qu.current=C=>x(Array.isArray(C)?C[0]:C),sr({kind:"input",prompt:u,defaultValue:g,buffer:""})}),[]);Pn(u=>{let g=Ju.current;if(!g)return!1;if(u.name==="escape")return wd(void 0),!0;if(g.kind==="select"){let x=g.options.length;if(u.name==="up"||u.sequence==="k")return sr(C=>C&&C.kind==="select"?{...C,focusedIndex:(C.focusedIndex-1+x)%x,error:void 0}:C),!0;if(u.name==="down"||u.sequence==="j")return sr(C=>C&&C.kind==="select"?{...C,focusedIndex:(C.focusedIndex+1)%x,error:void 0}:C),!0;if(u.sequence===" "&&g.multiSelect)return sr(C=>{if(!C||C.kind!=="select")return C;let R=C.focusedIndex,L=C.selectedIndices.includes(R)?C.selectedIndices.filter(O=>O!==R):[...C.selectedIndices,R];return{...C,selectedIndices:L,error:void 0}}),!0;if(u.name==="return"){let C=Ju.current;if(!C||C.kind!=="select")return!1;if(C.multiSelect){let R=C.selectedIndices.length,{minSelections:L,maxSelections:O}=C,N=R===0&&L!==0?re("select.multiselect_empty"):L!==void 0&&R<L?re("select.multiselect_min",{min:String(L)}):O!==void 0&&R>O?re("select.multiselect_max",{max:String(O)}):void 0;if(N!==void 0)return sr(ee=>ee&&ee.kind==="select"?{...ee,error:N}:ee),!0;let Y=C.selectedIndices.slice().sort((ee,We)=>ee-We).map(ee=>C.options[ee]?.value).filter(ee=>typeof ee=="string"&&ee.length>0);wd(Y)}else wd(C.options[C.focusedIndex]?.value);return!0}if(/^[1-9]$/.test(u.sequence)){let C=Number.parseInt(u.sequence,10)-1;if(C>=0&&C<x)return g.multiSelect?sr(R=>{if(!R||R.kind!=="select")return R;let L=R.selectedIndices.includes(C)?R.selectedIndices.filter(O=>O!==C):[...R.selectedIndices,C];return{...R,focusedIndex:C,selectedIndices:L,error:void 0}}):sr(R=>R&&R.kind==="select"?{...R,focusedIndex:C,error:void 0}:R),!0}return!1}if(u.name==="return"){let x=Ju.current;if(!x||x.kind!=="input")return!1;let C=x.buffer.trim();return wd(C===""?x.defaultValue??void 0:C),!0}return u.name==="backspace"||u.name==="delete"?(sr(x=>x&&x.kind==="input"?{...x,buffer:x.buffer.slice(0,-1),error:void 0}:x),!0):(u.insertable||u.isPasted===!0)&&!u.ctrl&&!u.meta?(sr(x=>x&&x.kind==="input"?{...x,buffer:x.buffer+u.sequence,error:void 0}:x),!0):!1},{isActive:!!Be,priority:fn.Critical}),Ne(()=>{if(n.messages.length>0&&P.length===0){if(n.uiHistory?.length){let u=Ur(n.uiHistory);u.length!==n.uiHistory.length&&(n.uiHistory=u),fe(nu({messages:n.messages,uiHistory:u}));return}fe(nu({messages:n.messages}))}},[n.messages,n.uiHistory,P.length,fe]),Ne(()=>{_d(n.gitRoot)},[n.gitRoot]),Ne(()=>{process.env.KODAX_PREWARM_REPO_INTELLIGENCE!=="0"&&fT({executionCwd:n.runtimeInfo?.executionCwd??n.gitRoot??process.cwd(),gitRoot:n.gitRoot??void 0},{mode:$.repoIntelligenceMode})},[n.gitRoot,n.runtimeInfo?.executionCwd,$.repoIntelligenceMode]);let qc=G(()=>({onMemoryOutcomeDigest:i(u=>{n.lineage=Ld(n.lineage??nt(n.messages),u)},"onMemoryOutcomeDigest"),onMemoryReviewReceipt:i(u=>{n.lineage=Pd(n.lineage??nt(n.messages),u)},"onMemoryReviewReceipt"),onMemoryNotice:i(u=>{n.lineage=$d(n.lineage??nt(n.messages),{...u,createdAt:new Date().toISOString()}),V({type:"info",text:`[memory] ${u.summaries.slice(0,3).join("; ")}`})},"onMemoryNotice"),onThinkingDelta:i((u,g)=>{if(st.current||Wn(g,"thinking",u,{append:!0}))return;H.currentTool&&(we(void 0),Ge());let{header:x}=IR(Oe()+u),C=x?`[Thinking: ${x}]`:"[Thinking]";Tt(em(ut.current?.activeWorkerTitle?`[${ut.current.activeWorkerTitle}] ${C}`:C,ut.current?.activeWorkerTitle)),ye(u.length),Ae(u),rt.current.workerId&&Vu("thinking",u)},"onThinkingDelta"),onThinkingEnd:i((u,g)=>{if(st.current||Wn(g,"thinking",u))return;let x=Oe(),C=TR(x,u);C&&C!==x&&(ne(),ue(),ye(C.length),Ae(C)),rt.current.workerId&&AS(C),X()},"onThinkingEnd"),onTextDelta:i((u,g)=>{st.current||Wn(g,"assistant",u,{append:!0})||(H.currentTool&&(we(void 0),Ge()),X(),Tt(void 0),de(u),rt.current.workerId&&Vu("assistant",u))},"onTextDelta"),onToolUseStart:i((u,g)=>{if(st.current||Wn(g,"tool",y0(u.name,u.input)))return;Tr.current.includes(u.name)||(Tr.current=[...Tr.current,u.name]);let x=ut.current?.activeWorkerTitle?`[${ut.current.activeWorkerTitle}] `:"",C={id:u.id,name:`${x}${u.name}`,status:j.Executing,startTime:Date.now(),input:u.input};_S(C),rt.current.workerId&&ir(C),Tt(wo(C,ut.current?.activeWorkerTitle))},"onToolUseStart"),onToolInputDelta:i((u,g,x)=>{if(st.current||Wn(x,"tool",u,{skipIfExisting:!0}))return;tt(g.length),gt(g);let C=LS(x?.toolId,u,R=>{let L=R.preview??"",O=xR(`${L}${g}`);return{...R,preview:O||void 0,input:R.input?O?{...R.input,preview:O}:{...R.input}:O?{preview:O}:void 0}});C&&(rt.current.workerId&&ir(C),Tt(wo(C,ut.current?.activeWorkerTitle)))},"onToolInputDelta"),onToolResult:i((u,g)=>{if(st.current||Wn(g,"tool",`${u.name} completed`))return;let x=typeof u.content=="string"?u.content:String(u.content??""),C=SR(x);if(/^\[(?:Tool Error|Error)\]/.test(x)){let L=Xu(u.id,j.Error,C,C,u.name);L&&(rt.current.workerId&&ir(L),Tt(wo(L,ut.current?.activeWorkerTitle)));return}if(/^\[(?:Cancelled|Blocked)\]/.test(x)){let L=Xu(u.id,j.Cancelled,void 0,C,u.name);L&&(rt.current.workerId&&ir(L),Tt(wo(L,ut.current?.activeWorkerTitle)));return}let R=Xu(u.id,j.Success,void 0,C||void 0,u.name);R&&(rt.current.workerId&&ir(R),Tt(wo(R,ut.current?.activeWorkerTitle)))},"onToolResult"),onToolProgress:i((u,g)=>{if(st.current||Wn(g,"progress",u.message))return;let x=u.message.length>100?u.message.slice(0,97)+"...":u.message,C=Cs(u.id,R=>({...R,preview:x,progressLines:[...(R.progressLines??[]).slice(-4),x]}));C&&rt.current.workerId&&ir(C),Tt(x)},"onToolProgress"),onStreamEnd:i(u=>{if(st.current||Wp(u))return;let g=Ac(j.Cancelled,()=>({error:"Stream ended before the tool completed.",output:void 0})),x=g[g.length-1];rt.current.workerId&&g.forEach(C=>ir(C)),x&&Tt(wo(x,ut.current?.activeWorkerTitle)),X(),Ge(),we(void 0)},"onStreamEnd"),onChildActivityEnd:i(u=>{IS(u)},"onChildActivityEnd"),hasPendingInputs:i(()=>Fw.current.length>0,"hasPendingInputs"),onMidTurnUserMessages:i(u=>{if(!st.current)for(let g of u){let x=g.trim();x&&(rt.current.workerId?Ut({id:`mid-turn-user-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"user",text:x,timestamp:Date.now()}):V({type:"user",text:x}))}},"onMidTurnUserMessages"),onSidecarMessage:i(u=>{if(st.current)return;let g=u.suggestedFix?`${u.content}
143
+ Suggested fix: ${u.suggestedFix}`:u.content;if(u.delivery==="budget-exhausted")ES({type:"sidecar",text:g,delivery:"budget-exhausted"},"sidecar-message");else{let x=u.verdict==="blocked"?"blocked":"revise";ES({type:"sidecar",text:g,verdict:x},"sidecar-message")}},"onSidecarMessage"),onError:i(u=>{let g=ko();g?.name&&Tt(wo(g,ut.current?.activeWorkerTitle));let x=Ac(j.Error,()=>({error:u.message,output:void 0})),C=x[x.length-1];rt.current.workerId&&x.forEach(We=>ir(We)),C&&Tt(wo(C,ut.current?.activeWorkerTitle));let R=uT(u),L=["Transient","Permanent","Tool Call ID","User Abort"];if(R.category===Zc.USER_ABORT)return;let N=[`\u274C API Error (${L[R.category]||"Unknown"}): ${u.message}`];R.shouldCleanup&&N.push(" \u{1F9F9} Cleaned incomplete tool calls"),R.category===Zc.PERMANENT?(N.push(" \u{1F4A1} This error requires manual intervention. Please check:"),u.message.includes("auth")||u.message.includes("401")?(N.push(" - Your API key is valid"),N.push(" - Run /config to check provider settings")):u.message.includes("400")?(N.push(" - The request parameters are correct"),N.push(" - Try restarting the conversation")):N.push(" - The error details above")):R.category===Zc.TRANSIENT?N.push(" \u23F3 Retries exhausted. Press Enter to continue the conversation"):R.category===Zc.TOOL_CALL_ID&&N.push(" \u2705 Session cleaned, ready to continue");let Y=N.join(`
144
+ `);!!rt.current.workerId?Ut({id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"error",text:Y,timestamp:Date.now()}):V({type:"error",text:Y})},"onError"),onRetry:i((u,g,x,C)=>{if(st.current)return;let R=ru(u,g,x);if(Ic(C,R.text)||Wn(C,"progress",R.text))return;!!rt.current.workerId?Ut({...R,id:`retry-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):V(R)},"onRetry"),onProviderRecovery:i((u,g)=>{if(st.current)return;let x=ou(u);if(Ic(g,x.text)||Wn(g,"progress",x.text))return;let C=!!rt.current.workerId,R=F().trim();R&&(C?Vu("assistant",R):V({type:"assistant",text:R})),je(),ne(),X(),Ge(),we(void 0),Eo(),Tt(void 0),C?Ut({...x,id:`recovery-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):V(x)},"onProviderRecovery"),onManagedTaskStatus:i(u=>{if(st.current)return;let g=rt.current;if(XE(u)){if(g.workerId&&g.workerId!==u.activeWorkerId)a_({workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle});else if(g.workerId!==u.activeWorkerId){let O=yt.current,N=O.activeToolGroupTools.some(Y=>Y.status===j.Executing);yt.current={workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle,...N?{activeToolGroupItemId:O.activeToolGroupItemId,activeToolGroupTools:O.activeToolGroupTools}:{activeToolGroupTools:[]}},rt.current={workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle}}}ut.current=u,Ou(u);let x=vR(u);c_(x);let C=Ya(u),L=Ya(u,{expanded:!0})??C;L&&(Hu.current=L)},"onManagedTaskStatus"),onProviderRateLimit:i((u,g,x,C)=>{if(st.current)return;let R=Sh.current;if(Sh.current=null,fR(R,{attempt:u,maxAttempts:g,delayMs:x}))return;let L=`[Rate Limit] Retrying in ${x/1e3}s (${u}/${g})...`;Ic(C,L)||Wn(C,"progress",L)||kn({type:"info",icon:"\u23F3",text:L},"ratelimit")},"onProviderRateLimit"),onRetryAfter:i((u,g)=>{if(st.current)return;Sh.current={attempt:u.attempt,maxAttempts:u.maxAttempts,waitMs:u.waitMs};let x=Math.round(u.waitMs/1e3),C=u.source==="exponential-backoff"?"no-header \u2192 backoff":u.source,L=`[${u.reason==="overloaded"?"Overloaded":"Rate limited"}] (${u.provider}) \u2014 retrying in ${x}s [${C}] (${u.attempt}/${u.maxAttempts})`;Ic(g,L)||Wn(g,"progress",L)||kn({type:"info",icon:"\u23F3",text:L},"ratelimit")},"onRetryAfter"),onReasoningEffortRejected:i(u=>{tT(u.provider,u.model,u.effort,"observed",new Date().toISOString());let x=Mi({provider:u.provider,model:u.model,effort:xt.current.effort,effortOverride:xt.current.effortOverride,permissionMode:xt.current.permissionMode,planModeEffort:xt.current.planModeEffort,thinking:xt.current.thinking,reasoningMode:xt.current.reasoningMode}).runtimeEffort;Ee(C=>({...C,effort:x,effortOverride:x!==void 0})),Ai({effort:x}),_e.current.effort=x,kn({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${x?`,\u5DF2\u5207\u5230 ${x}`:""}]`},"ratelimit")},"onReasoningEffortRejected"),onRepoIntelligenceTrace:i(u=>{st.current||kn(NR(u),"repointel-trace")},"onRepoIntelligenceTrace"),onTodoUpdate:i(u=>{st.current||Qr(u)},"onTodoUpdate"),onScoutSuspiciousCompletion:i(u=>{st.current||YE&&kn({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,g)=>{if(st.current)return;if(g&&jt(g),ut.current?.globalWorkBudget){let ee={...ut.current,budgetUsage:Math.min(ut.current.globalWorkBudget,(ut.current.budgetUsage??0)+1)};ut.current=ee,Ou(ee)}let x=u>1?Oe().trim():"",C=u>1?Cx(F()):"",R=u>1?[...Tr.current]:[],L=u>1?[...tn.current]:[],O=!!rt.current.workerId;ft(u),O&&Uu({clearOwner:!1});let N=Zr.current.filter(ee=>ee.status===j.Executing),Y=new Set(N.map(ee=>ee.id));if(Tr.current=[],tn.current=tn.current.filter(ee=>Y.has(ee.id)),Hn(N),Ge(),we(void 0),Tt(em(ut.current?.activeWorkerTitle?`[Thinking] [${ut.current.activeWorkerTitle}]`:void 0,ut.current?.activeWorkerTitle)),ue(),u>1&&!O){let ee=vx({thinking:x,response:C,toolCalls:L,toolNames:R});ds.current?ds.current(ee):fe([...ee])}},"onIterationStart"),beforeToolExecute:i(async(u,g)=>{let x=Mn.current,C=Ys(x),R=Hw.current,L=n.gitRoot;if(bT(K.current,u,g))return`[Skipped] Previously denied operation. ${RT(K.current)}`;if(x==="plan"&&(co.has(u)||u==="undo"))return`[Blocked] Tool '${u}' is not allowed in plan mode (read-only). ${KE}`;if(x==="plan"&&u==="bash"){let O=g.command??"";if(fr(O))return`[Blocked] Bash write operation not allowed in plan mode: ${O.slice(0,50)}... ${KE}`}if(u==="bash"){let O=g.command??"";if(pn(O))return!0}if(Vn(x)&&ih==="llm")return!0;if(u==="bash"){let O=g.command??"",N=vT(O);if(N.level==="dangerous"){let Y=await io(u,{...g,_dangerousCommand:!0});return Y.confirmed?Y.confirmed:(K.current=Ph(K.current,u,g,N.reason),`[Blocked] Dangerous command requires confirmation: ${N.reason}`)}}if(L){let O=!1;if(co.has(u)){let N=g.path;N&&na(N,L)&&(O=!0)}if(u==="bash"){let N=g.command;N&&Jd(N,L)&&(O=!0)}if(O){let N=await io(u,{...g,_alwaysConfirm:!0});if(Mn.current==="plan"&&(co.has(u)||u==="undo"))return!1;if(Mn.current==="plan"&&u==="bash"){let Y=g.command??"";if(fr(Y))return!1}return N.confirmed}}if(C.has(u)){if(x==="accept-edits"&&u==="bash"&&await ta(u,g,R,yh.current??void 0))return!0;let O=await io(u,g);if(Mn.current==="plan"&&(co.has(u)||u==="undo"))return!1;if(Mn.current==="plan"&&u==="bash"){let N=g.command??"";if(fr(N))return!1}if(!O.confirmed)return V({type:"info",text:re("cancelled")}),K.current=Ph(K.current,u,g),!1;O.always&&x==="accept-edits"&&(Qd(u,g,!1),Hw.current=ia())}return!0},"beforeToolExecute"),askUser:i(async u=>{let g=fx(u.options?ym(u.options):[],u),x=await oo(px(u),g,u.multiSelect,{minSelections:u.minSelections,maxSelections:u.maxSelections});if(x===void 0)return Xs;if(x===Er){let C=await $s(u.customInputPrompt??u.question,u.customInputDefault);return C===void 0?Xs:{kind:"customInput",value:C}}if(Array.isArray(x)&&x.includes(Er)){let C=await $s(u.customInputPrompt??u.question,u.customInputDefault);return C===void 0?Xs:x.map(R=>R===Er?{kind:"customInput",value:C}:R)}return x},"askUser"),exitPlanMode:i(async u=>Mn.current!=="plan"?"not-in-plan-mode":(await io("exit_plan_mode",{plan:u})).confirmed?(xh("accept-edits"),!0):!1,"exitPlanMode"),askUserMulti:i(async u=>{let g=u.questions,x={},C=0;for(;C<g.length;){let R=g[C],L=fx(ym(R.options),R);C>0&&L.push({label:re("select.back_prev"),value:Eh});let O=`[${C+1}/${g.length}] ${R.question}`,N=await oo(O,L,R.multiSelect,{minSelections:R.minSelections,maxSelections:R.maxSelections});if(N===void 0)return;if(!Array.isArray(N)&&N===Eh){C--;continue}if(!Array.isArray(N)&&N===Er){let Y=await $s(R.customInputPrompt??R.question,R.customInputDefault);if(Y===void 0)return;x[R.question]={kind:"customInput",value:Y},C++;continue}if(Array.isArray(N)&&N.includes(Er)){let Y=await $s(R.customInputPrompt??R.question,R.customInputDefault);if(Y===void 0)return;x[R.question]=N.map(ee=>ee===Er?{kind:"customInput",value:Y}:ee),C++;continue}x[R.question]=N,C++}return x},"askUserMulti"),askUserInput:i(async u=>$s(u.question,u.default),"askUserInput"),onCompactStart:i(()=>{Ve()},"onCompactStart"),onCompactStats:i(u=>{gc.current=u.tokensBefore,er(u.tokensAfter)},"onCompactStats"),onCompactedMessages:i(async(u,g,x)=>{let C=Jp(n.lineage,u,g,x);if(!C)return;n.messages=u,g?.artifactLedger&&g.artifactLedger.length>0&&(n.artifactLedger=bi(n.artifactLedger??[],g.artifactLedger)),n.lineage=C;let R=Ii(u);if(n.contextTokenSnapshot={currentTokens:R,baselineEstimatedTokens:R,source:"estimate"},yr(n),er(R),e.runtimeRunner){n.lineage===C&&(n.lineage=Gs(C));return}let L=Ru.current;if(!L)throw new Error("Ink REPL compaction persistence is not initialized.");try{await L(),n.lineage===C&&(n.lineage=Gs(C))}catch(O){throw Ct({source:"repl:compaction",level:"error",message:"Failed to durably persist compacted session history.",detail:O}),O}},"onCompactedMessages"),onCompact:i(u=>{bt();let g=gc.current??u;gc.current=null;let x=Math.round(g/1e3);kn({type:"info",icon:"\u2728",text:`Context auto-compacted (was ~${x}k tokens)`},"compact")},"onCompact"),onCompactEnd:i(()=>{gc.current=null,bt()},"onCompactEnd"),onIterationEnd:i(u=>{u.scope!=="worker"&&(n.contextTokenSnapshot=u.contextTokenSnapshot),er(u.tokenCount)},"onIterationEnd")}),[ye,Ae,X,de,we,tt,gt,Ge,ft,ue,$,n,Ve,bt,V,ne,Oe,F,Uu,Tt,Vu,AS,ir,_S,LS,Xu,Ac,ko,Eo,Hn,IS,Ic,Wn,kn,H.currentTool]),io=i((u,g,x)=>{let C=yR(u,g),R=x?.map(N=>N.label)??[],L=x===void 0?[]:[ja,...R.map(N=>`Runtime scope: ${N}`)],O=L.length>0?`${C}
145
145
  ${L.join(`
146
- `)}`:C;return d_.current(()=>(or(),new Promise(N=>{to.current=N,Lc({tool:u,input:g,prompt:O,...x!==void 0?{runtimeGrantSuggestions:x}:{}})})))},"showConfirmDialog"),k_=i(async u=>{let g=await io(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 Kp(u,g)},"requestRuntimePermission");Ne(()=>(p(async(u,g,x)=>(await io(u.name,{...u.input,_reason:`[auto-mode] ${g}`,...x&&x.length>0?{_classifierSignals:x}:{}})).confirmed?"allow":"block"),m(u=>{jn(u)}),()=>{p(null),m(null)}),[]),Ne(()=>{h($)},[$,h]),Ne(()=>{let u=i(()=>qc(),"resolve");return Ah({askUser:i(g=>{let x=u().askUser;if(!x)throw new Error("askUser surface unavailable");return x(g)},"askUser"),askUserMulti:i(async g=>{let x=u().askUserMulti;return x?x(g):void 0},"askUserMulti"),askUserInput:i(async g=>{let x=u().askUserInput;return x?x(g):void 0},"askUserInput")}),()=>Ah(void 0)},[qc]);let Ds=i(async(u,g,x=n.lineage?kt(n.lineage,n.lineage.activeEntryId):n.messages,C)=>{let R={...qc(),getCostReport:q,onWorkflowProcessEvent:e_,onWorkflowAgentDigest:i(({runId:ee,event:We})=>{let Ue=We.data??{},zt=typeof Ue.summary=="string"?Ue.summary:void 0,wi=typeof Ue.name=="string"?Ue.name:void 0,Hs=Tc.current,Ti=zt!==void 0||wi!==void 0?rl(zt,wi):Hs?.runId===ee?Hs.locale??"en":"en",Je=af(We,Ti,ee);Je&&(rt.current.workerId?Ut({id:`wf-digest-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"assistant",text:Je,timestamp:Date.now()}):Un([{type:"assistant",text:Je}]))},"onWorkflowAgentDigest")},O=Ad(n.gitRoot).getSystemPromptSnippet(),N=BR(u.context,n.gitRoot,n.contextTokenSnapshot,O,n.runtimeInfo?.executionCwd);C&&C.length>0&&(N.inputArtifacts=[...C]),N.planModeBlockCheck=(ee,We)=>Mn.current!=="plan"?null:Do(ee,We,n.gitRoot??n.runtimeInfo?.executionCwd??process.cwd());let Y={...u,session:{...u.session,initialMessages:x,initialExtensionState:n.extensionState??{},initialExtensionRecords:n.extensionRecords??[]},context:N,events:R,abortSignal:Ce()};try{return e.runtimeRunner?await e.runtimeRunner({options:Y,prompt:g,sessionId:n.sessionId,permissionMode:Mn.current,autoModeSettings:s,requestPermission:k_,legacyPermissionHook:!0}):await el(Y,g)}finally{pT()}},"runAgentRound"),An=G(u=>{let g=nt([...u],n.lineage);return n.lineage=g,g},[n]),Jc=G(async u=>{if(n.messages.length===0)return;let g=No(n.messages),x=Ur(u??A.current);A.current=x,n.title=g,n.uiHistory=x;let C=n.lineage??An(n.messages);n.lineage=C;let R={...n.extensionStateDirty?{extensionState:n.extensionState??{}}:{},...n.extensionRecordsDirty?{extensionRecords:n.extensionRecords??[]}:{}},L=oc({messages:n.messages,title:g,gitRoot:n.gitRoot??"",runtimeInfo:n.runtimeInfo,tag:_e.current.session?.tag,uiHistory:x,lineage:C,artifactLedger:n.artifactLedger,...R});DW(o)?await o.appendSessionDelta(n.sessionId,L):await o.save(n.sessionId,L),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,om()&&im("persist",sm(n.messages,C,{historyItems:y.current,foregroundItems:ln.current,streamingResponse:ae.current.currentResponse,streamingThinking:ae.current.thinkingContent,persistedUiHistory:A.current}))},[n,An,o]),wh=G(()=>{if(ku.current)return ku.current;let u=(async()=>{try{for(;di.current.requested;){di.current.requested=!1;let g=di.current.uiHistoryOverride;di.current.uiHistoryOverride=void 0,await Jc(g)}}finally{ku.current=null,di.current.requested&&wh()}})();return ku.current=u,Nm.current=u,u},[Jc]),so=G(u=>{if(u!==void 0){let g=Ur(u);A.current=g,di.current.uiHistoryOverride=g}return di.current.requested=!0,wh()},[wh]),E_=G(async()=>{if(xc.current)return xc.current;let u=(async()=>{st.current=!0,ke(),pe(),X(),ne(),Ge(),je(),we(void 0),Q(!1),await Nm.current.catch(()=>{}),await Ru.current?.().catch(()=>{}),_t(!1),D&&b?.isRaw&&M(!1),b?.pause?.(),b?.unref?.(),I(),l()})();return xc.current=u.finally(()=>{xc.current=null}),xc.current},[ke,je,ne,Ge,I,D,l,we,Q,M,b,pe,X]);Ne(()=>(Ru.current=so,()=>{Ru.current=null}),[so]);let Td=G(u=>{if(u.length===0)return;let g=Sm(A.current,u);A.current=g,so(g)},[so]),Un=G(u=>{u.length!==0&&(fe([...u]),Td(u))},[fe,Td]),Os=G(u=>{u.length!==0&&(fe([...u]),A.current=Sm(A.current,u))},[fe]);Ne(()=>(ds.current=Un,()=>{ds.current=null}),[Un]);let Kw=G(async u=>{or(),n.messages=u.messages,n.contextTokenSnapshot=u.contextTokenSnapshot,GE(n,u),An(u.messages);let g=u.success===!1&&!u.interrupted,x=Oe().trim(),C=hC(u.messages,F(),u.managedTask?.verdict.summary,u.lastText),R=yt.current.workerTitle,L=[...ln.current],O=L.length>0;Gu(L);let N=O&&L.some(Je=>Je.type==="assistant"&&"text"in Je&&zE(String(Je.text??""),R)),Y=L.filter(Je=>Je.type!=="assistant"||!("text"in Je)||zE(String(Je.text??""),R)),ee=!g&&C&&!N,We=[...gs.current],Ue=g?[]:We.length===0?YE?Ly(u):Ly(u).filter(Je=>!_y(Je)):[],zt=O?[]:vx({thinking:x,response:void 0,toolCalls:tn.current,toolNames:Tr.current}),wi=[...Y.map(Je=>ai(Je)),...zt,...g?[]:We.map(Je=>ai(Je)),...Ue.map(Je=>VE(Je)),...ee?[{type:"assistant",text:u.interrupted?`${C}
146
+ `)}`:C;return d_.current(()=>(or(),new Promise(N=>{to.current=N,Lc({tool:u,input:g,prompt:O,...x!==void 0?{runtimeGrantSuggestions:x}:{}})})))},"showConfirmDialog"),k_=i(async u=>{let g=await io(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 Kp(u,g)},"requestRuntimePermission");Ne(()=>(p(async(u,g,x)=>(await io(u.name,{...u.input,_reason:`[auto-mode] ${g}`,...x&&x.length>0?{_classifierSignals:x}:{}})).confirmed?"allow":"block"),m(u=>{jn(u)}),()=>{p(null),m(null)}),[]),Ne(()=>{h($)},[$,h]),Ne(()=>{let u=i(()=>qc(),"resolve");return Mh({askUser:i(g=>{let x=u().askUser;if(!x)throw new Error("askUser surface unavailable");return x(g)},"askUser"),askUserMulti:i(async g=>{let x=u().askUserMulti;return x?x(g):void 0},"askUserMulti"),askUserInput:i(async g=>{let x=u().askUserInput;return x?x(g):void 0},"askUserInput")}),()=>Mh(void 0)},[qc]);let Ds=i(async(u,g,x=n.lineage?kt(n.lineage,n.lineage.activeEntryId):n.messages,C)=>{let R={...qc(),getCostReport:q,onWorkflowProcessEvent:e_,onWorkflowAgentDigest:i(({runId:ee,event:We})=>{let Ue=We.data??{},zt=typeof Ue.summary=="string"?Ue.summary:void 0,wi=typeof Ue.name=="string"?Ue.name:void 0,Hs=Tc.current,Ti=zt!==void 0||wi!==void 0?rl(zt,wi):Hs?.runId===ee?Hs.locale??"en":"en",Je=af(We,Ti,ee);Je&&(rt.current.workerId?Ut({id:`wf-digest-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"assistant",text:Je,timestamp:Date.now()}):Un([{type:"assistant",text:Je}]))},"onWorkflowAgentDigest")},O=Ad(n.gitRoot).getSystemPromptSnippet(),N=BR(u.context,n.gitRoot,n.contextTokenSnapshot,O,n.runtimeInfo?.executionCwd);C&&C.length>0&&(N.inputArtifacts=[...C]),N.planModeBlockCheck=(ee,We)=>Mn.current!=="plan"?null:Do(ee,We,n.gitRoot??n.runtimeInfo?.executionCwd??process.cwd());let Y={...u,session:{...u.session,initialMessages:x,initialExtensionState:n.extensionState??{},initialExtensionRecords:n.extensionRecords??[]},context:N,events:R,abortSignal:Ce()};try{return e.runtimeRunner?await e.runtimeRunner({options:Y,prompt:g,sessionId:n.sessionId,permissionMode:Mn.current,autoModeSettings:s,requestPermission:k_,legacyPermissionHook:!0}):await el(Y,g)}finally{pT()}},"runAgentRound"),An=G(u=>{let g=nt([...u],n.lineage);return n.lineage=g,g},[n]),Jc=G(async u=>{if(n.messages.length===0)return;let g=No(n.messages),x=Ur(u??A.current);A.current=x,n.title=g,n.uiHistory=x;let C=n.lineage??An(n.messages);n.lineage=C;let R={...n.extensionStateDirty?{extensionState:n.extensionState??{}}:{},...n.extensionRecordsDirty?{extensionRecords:n.extensionRecords??[]}:{}},L=oc({messages:n.messages,title:g,gitRoot:n.gitRoot??"",runtimeInfo:n.runtimeInfo,tag:_e.current.session?.tag,uiHistory:x,lineage:C,artifactLedger:n.artifactLedger,...R});DW(o)?await o.appendSessionDelta(n.sessionId,L):await o.save(n.sessionId,L),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,om()&&im("persist",sm(n.messages,C,{historyItems:y.current,foregroundItems:ln.current,streamingResponse:ae.current.currentResponse,streamingThinking:ae.current.thinkingContent,persistedUiHistory:A.current}))},[n,An,o]),wh=G(()=>{if(ku.current)return ku.current;let u=(async()=>{try{for(;di.current.requested;){di.current.requested=!1;let g=di.current.uiHistoryOverride;di.current.uiHistoryOverride=void 0,await Jc(g)}}finally{ku.current=null,di.current.requested&&wh()}})();return ku.current=u,Nm.current=u,u},[Jc]),so=G(u=>{if(u!==void 0){let g=Ur(u);A.current=g,di.current.uiHistoryOverride=g}return di.current.requested=!0,wh()},[wh]),E_=G(async()=>{if(xc.current)return xc.current;let u=(async()=>{st.current=!0,ke(),pe(),X(),ne(),Ge(),je(),we(void 0),Q(!1),await Nm.current.catch(()=>{}),await Ru.current?.().catch(()=>{}),_t(!1),D&&b?.isRaw&&M(!1),b?.pause?.(),b?.unref?.(),I(),l()})();return xc.current=u.finally(()=>{xc.current=null}),xc.current},[ke,je,ne,Ge,I,D,l,we,Q,M,b,pe,X]);Ne(()=>(Ru.current=so,()=>{Ru.current=null}),[so]);let Td=G(u=>{if(u.length===0)return;let g=Sm(A.current,u);A.current=g,so(g)},[so]),Un=G(u=>{u.length!==0&&(fe([...u]),Td(u))},[fe,Td]),Os=G(u=>{u.length!==0&&(fe([...u]),A.current=Sm(A.current,u))},[fe]);Ne(()=>(ds.current=Un,()=>{ds.current=null}),[Un]);let Kw=G(async u=>{or(),n.messages=u.messages,n.contextTokenSnapshot=u.contextTokenSnapshot,GE(n,u),An(u.messages);let g=u.success===!1&&!u.interrupted,x=Oe().trim(),C=hC(u.messages,F(),u.managedTask?.verdict.summary,u.lastText),R=yt.current.workerTitle,L=[...ln.current],O=L.length>0;Gu(L);let N=O&&L.some(Je=>Je.type==="assistant"&&"text"in Je&&zE(String(Je.text??""),R)),Y=L.filter(Je=>Je.type!=="assistant"||!("text"in Je)||zE(String(Je.text??""),R)),ee=!g&&C&&!N,We=[...gs.current],Ue=g?[]:We.length===0?YE?Ly(u):Ly(u).filter(Je=>!_y(Je)):[],zt=O?[]:vx({thinking:x,response:void 0,toolCalls:tn.current,toolNames:Tr.current}),wi=[...Y.map(Je=>ai(Je)),...zt,...g?[]:We.map(Je=>ai(Je)),...Ue.map(Je=>VE(Je)),...ee?[{type:"assistant",text:u.interrupted?`${C}
147
147
 
148
148
  [Interrupted]`:C}]:!C&&!N&&!u.interrupted&&!g?[{type:"info",text:"[No response text was produced for this round]"}]:[]],Hs=Sm(A.current,wi);ne(),je();let Ti=[...Y.map(Je=>ai(Je)),...zt,...g?[]:[...Ue.map(Je=>VE(Je)),...We.map(Je=>ai(Je))],...ee?[{type:"assistant",text:u.interrupted?`${C}
149
149
 
@@ -171,8 +171,8 @@ Suggestion: Set the required API key environment variable`:Le.message.includes("
171
171
  Suggestion: Check your internet connection`:(Le.message.includes("token")||Le.message.includes("context too long"))&&(Gn=`[Context Error] ${Le.message}
172
172
  Suggestion: Use /clear to start fresh`),console.log=Je,rt.current.workerId?Ut({id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"error",text:Gn,timestamp:Date.now()}):Un([{type:"error",text:Gn}]),uf({error:Le,messageCount:n.messages.length})){let lr={type:"info",text:ol};if(rt.current.workerId?(Ut({id:`recover-hint-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,...lr,timestamp:Date.now()}),Td([lr])):Un([lr]),(await io("confirm",{_alwaysConfirm:!0,_message:lf})).confirmed)try{await Vw(zt)}catch(Rr){let Ws=Rr instanceof Error?Rr.message:String(Rr);Un([{type:"error",text:`[Recover failed] ${Ws}`}])}}}}finally{if(console.log=Je,Ti.length>0){let Le=Ti.filter((Gn,lr,Po)=>Po.indexOf(Gn)===lr),_n=wx(Le);_n&&V({type:"info",text:_n})}if(!st.current){let Le=Ac(j.Cancelled,()=>({error:"Run ended before the tool result was observed.",output:void 0}));Le.length>0&&rt.current.workerId&&Le.forEach(_n=>ir(_n))}Q(!1),pe(),je(),qm(),ne();let be=Ii(n.messages);n.contextTokenSnapshot={currentTokens:be,baselineEstimatedTokens:be,source:"estimate"},er(be)}},[qr,n,$,Dm,H.pendingInputs.length,o,ze,Be,I,l,V,ge,le,pe,je,qc,zw,Ce,F,Oe,Ut,Os,Un,Ch,Jc,so,Td,An,Bs,Th,Ve,bt,Eo,qm,Ac,ir,hi,Cc,vc]),Xw=Ht.shouldRender?ce(E,{paddingX:1,children:ce(rR,{viewModel:Ht})}):void 0,Yw=B&&Ir.shouldRender?ce(E,{paddingX:1,children:ce(eR,{viewModel:Ir})}):void 0,qw=YS?ce(E,{paddingX:1,children:ce(jp,{viewModel:th})}):void 0,__=Xw||Yw||qw?In(E,{flexDirection:"column",children:[Yw,Xw,qw]}):void 0,Jw=Ht.shouldRender?Ht.counterText:void 0,L_=ce(Fl,{left:ce(Hl,{items:dw}),right:ce(Wl,{items:fw}),queued:ce(Bp,{pendingInputs:H.pendingInputs}),stashNotice:ce(Xl,{text:dd}),notifications:ce(zl,{notifications:ud}),inlineNotices:lh.length>0?ce(Hp,{notices:lh}):void 0,activityBar:ro?In(E,{paddingX:1,flexDirection:"row",children:[In(E,{flexGrow:1,children:[ro?.showSpinner?ce($n,{color:oe("dark").colors.accent}):null,ro?In(v,{color:ro.kind==="waiting"?oe("dark").colors.warning:oe("dark").colors.accent,wrap:"truncate",children:[ro.showSpinner?" ":"",ro.text]}):null,ro?.showSpinner&&H.roundStartedAt!=null?ce(JI,{roundStartedAt:H.roundStartedAt,charCount:H.currentResponse.length,theme:oe("dark")}):null]}),Jw?ce(v,{dimColor:!0,wrap:"truncate",children:Jw}):B&&Ir.shouldRender?ce(v,{dimColor:!0,wrap:"truncate",children:`${Ir.completedCount}/${Ir.totalCount} completed`}):null]}):void 0,todoSurface:__,composer:ce(_p,{onSubmit:A_,onHistoryRecall:M_,onPopPendingInputs:i(()=>{let u=W();if(u.length!==0)return u.join(`
173
173
  ---
174
- `)},"onPopPendingInputs"),prompt:">",placeholder:xE({isLoading:B,canQueueFollowUps:Dm,waitingReason:sh}),focus:!ze&&!Be&&!pt,cwd:process.cwd(),gitRoot:e.context?.gitRoot||n.gitRoot,onInputChange:u_,onPasteFallback:w_}),inlineSuggestions:x_,helpSurface:PS?ce(Pp,{sections:am()}):void 0,taskBar:Fc?ce(Yl,{items:ks.backgroundTask.items,overflowLabel:ks.backgroundTask.overflowLabel,ctaHint:ks.backgroundTask.ctaHint,showSpinner:B}):void 0,statusLine:ce(E,{children:ce(qi,{...cd,viewModel:lw})}),inlineDialogs:T_}),P_=ce(Fl,{left:ce(Hl,{items:dw}),right:ce(Wl,{items:fw}),stashNotice:ce(Xl,{text:dd}),notifications:ce(zl,{notifications:ud}),composer:ce(q0,{searchActive:pt,selectionActive:!!(no||ot),showAllActive:Bt,searchQuery:un,searchCurrent:Wt.length>0?_o+1:0,searchCount:Wt.length,searchDetailText:oh,pendingLiveUpdates:Dc,secondaryText:g_}),taskBar:Fc?ce(Yl,{items:ks.backgroundTask.items,overflowLabel:ks.backgroundTask.overflowLabel,ctaHint:ks.backgroundTask.ctaHint,showSpinner:mt}):void 0,statusLine:ce(E,{children:ce(qi,{...cd,viewModel:ah})})}),vh=G(u=>ce(J0,{banner:u?.bannerVisible?ce(Tx,{...yi}):void 0,items:Nc,isLoading:dn,viewportRows:Vt.messageRows,viewportWidth:J,scrollOffset:tr,windowed:!!u?.rendererWindow,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?Hc:Rw,maxLines:Lt,selectedTextRanges:Zm?Du?.rowRanges:void 0,onMetricsChange:pd,onVisibleRowsChange:md}),[yi,Nc,dn,pd,md,tr,Rw,J,Lt,Du?.rowRanges,Vt.messageRows,Zm]),Ih=G(u=>ce(Q0,{banner:u?.bannerVisible?ce(Tx,{...yi}):void 0,items:Oc,browse:{hintText:Lo.browseHintText},selection:fd,search:rw,isLoading:mt,isThinking:Ie.isThinking,thinkingCharCount:Ie.thinkingCharCount,thinkingContent:Ie.thinkingContent,streamingResponse:Ie.currentResponse,currentTool:Ie.currentTool,activeToolCalls:Ie.activeToolCalls,toolInputCharCount:Ie.toolInputCharCount,toolInputContent:Ie.toolInputContent,iterationHistory:Ie.iterationHistory,currentIteration:Ie.currentIteration,isCompacting:Ie.isCompacting,agentMode:$.agentMode,managedPhase:mt?z?.phase:void 0,managedHarnessProfile:mt?z?.harnessProfile:void 0,managedWorkerTitle:mt?z?.activeWorkerTitle:void 0,managedRound:mt?z?.currentRound:void 0,managedMaxRounds:mt?z?.maxRounds:void 0,managedGlobalWorkBudget:mt?z?.globalWorkBudget:void 0,managedBudgetUsage:mt?z?.budgetUsage:void 0,managedBudgetApprovalRequired:mt?z?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Ie.lastLiveActivityLabel,liveStatusLines:bs,viewportRows:Vt.messageRows,viewportWidth:J,scrollOffset:tr,windowed:!!u?.windowed,animateSpinners:!!u?.rendererWindow&&Ms,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?Hc:nd,maxLines:Lt,showDetailedTools:Bt,showAllContent:Bt,selectedItemId:Fn.selectionEnabled?ot:void 0,selectedTextRanges:Jr?.rowRanges,expandedItemKeys:Fn.selectionEnabled?Rn:void 0,onMetricsChange:pd,onVisibleRowsChange:md}),[yi,$.agentMode,mt,Rn,c.transcriptSpinnerAnimation,pd,md,tr,jS,z?.activeWorkerTitle,z?.budgetApprovalRequired,z?.budgetUsage,z?.currentRound,z?.globalWorkBudget,z?.harnessProfile,z?.maxRounds,z?.phase,Hc,nd,Lo.browseHintText,ot,fd,J,Ms,Oc,Lt,Ie.activeToolCalls,Ie.currentIteration,Ie.currentResponse,Ie.currentTool,Ie.isCompacting,Ie.isThinking,Ie.iterationHistory,Ie.lastLiveActivityLabel,Ie.thinkingCharCount,Ie.thinkingContent,Ie.toolInputCharCount,Ie.toolInputContent,bs,Jr?.rowRanges,rw,Bt,Vt.messageRows]),$_=se?Ih({bannerVisible:!1,windowed:Pt}):vh({bannerVisible:!1}),Qw=se?P_:L_,D_=c.enabled&&gi,Zw=In(E,{flexDirection:"column",width:J,flexShrink:0,flexGrow:D_?1:0,children:[ce(Ny,{currentConfig:$,setCurrentConfig:Ee,isLoading:B,abort:ke,stopThinking:X,clearThinkingContent:ne,setCurrentTool:we,setIsLoading:Q,onToggleHelp:l_,setShowHelp:$S,onSetThinking:i(u=>{_e.current.thinking=u},"onSetThinking"),onSetReasoningMode:i(u=>{_e.current.reasoningMode=u,_e.current.thinking=u!=="off"},"onSetReasoningMode"),onToggleTranscriptMode:C_,onOpenTranscriptSearch:ph,canOpenTranscriptSearch:se&&!ze&&!Be,isInteractiveDialogActive:!!(ze||Be),onSetAgentMode:i(u=>{_e.current.agentMode=u},"onSetAgentMode"),onSetPermissionMode:i(u=>{xh(u)},"onSetPermissionMode"),isInputEmpty:Sc,onSavePermissionMode:dC}),Zn&&(c.enabled?null:ce(Ta,{items:[1],children:i(()=>ce(Tx,{...yi},"banner"),"children")})),gi?ce(kp,{width:J,stickyHeader:Lo.stickyHeader,jumpToLatest:Lo.jumpToLatest,transcript:!c.enabled||!Pt?se?Ih({bannerVisible:!1}):vh({bannerVisible:!1}):void 0,renderTranscriptWindow:c.enabled&&Pt?u=>(()=>{let x=Kc(u).contentWindow;return se?Ih({bannerVisible:!1,windowed:!0,rendererWindow:x}):vh({bannerVisible:!1,rendererWindow:x})})():void 0,overlay:gh,scrollTop:tr,scrollHeight:Gc,viewportHeight:Vt.messageRows,stickyScroll:!se&&!Cr&&Wm,overscanRows:XW,scrollRef:YA,onWindowChange:S_,onScrollTopChange:JA,onStickyChange:QA,footer:Qw}):In(_W,{children:[In(E,{flexDirection:"column",flexGrow:1,children:[$_,gh?ce(E,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:gh}):null]}),Qw]})]});return Qm?ce(Ig,{mouseTracking:Mo.usesRendererMouseTracking,children:Zw}):Zw},"InkREPLInner"),ZW=i(e=>{let t=process.cwd(),n=e.options?.context?.gitRoot??void 0;return ce(Gl,{children:ce(Ql,{getPendingInputAgentId:i(()=>kd(e.context.sessionId,"/root"),"getPendingInputAgentId"),children:ce(kl,{children:ce(Dy,{children:ce(Zf,{cwd:t,gitRoot:n,children:ce(QW,{...e})})})})})})},"InkREPL");function eF(){return process.stdin.isTTY===!0&&typeof process.stdin.setRawMode=="function"}i(eF,"isRawModeSupported");async function wm(e){if(!eF())throw new Eh("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 rs,n=Wo(),r=Fo(),o=jo(n,r),{prepareRuntimeConfig:s}=await import("./utils-X3TEH6IO.js"),{loadCompactionConfig:a}=await import("./compaction-config-7J2XE35D.js"),{resolveProvider:c}=await import("./dist-URKXBOC6.js"),l=s(),d=Qs({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,configuredProvider:l.provider,defaultProvider:Ci}),f=Zs({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,explicitModel:e.model,configuredProvider:l.provider,configuredModel:l.model}),p=NW(e,l),m=ea({explicitEffort:e.effort,environmentEffort:process.env.KODAX_EFFORT,configuredEffort:l.effort}),h=Yd(e,l,process.env.KODAX_EFFORT),S=e.agentMode??l.agentMode??"ama",I=p!=="off",T=qs(l.permissionMode,"accept-edits")??"accept-edits",w=Wd(),b=l.repoIntelligenceTrace===!0,M={provider:d,model:f,effort:m,effortOverride:h,planModeEffort:l.planModeEffort,thinking:I,reasoningMode:p,agentMode:S,permissionMode:T,repoIntelligenceMode:w.mode,repoIntelligenceTrace:b},D=e.session?.id,k=[],P,q,K,V,fe,ge="",Z=await Ar({cwd:process.cwd()}),y=Z.workspaceRoot??void 0,A=Z,J=y,H=Md({meta:{cwd:process.cwd(),startedAt:Date.now()}});if(H){let X=i(()=>{H.shutdown()},"teamModeCleanup");process.on("exit",X),process.on("SIGTERM",X)}try{let{bootstrapConstructionRuntime:X}=await import("./construction-bootstrap-5F5KF2BZ.js"),ne=await X(y??process.cwd());if(ne.loaded>0||ne.failed>0||ne.tampered>0){let we=ne.failed>0?`; ${ne.failed} failed`:"",tt=ne.tampered>0?`; ${ne.tampered} skipped due to manifest contentHash mismatch \u2014 re-stage and re-activate to re-approve`:"";Ct({source:"repl:construction",level:ne.failed>0||ne.tampered>0?"warn":"info",message:`Rehydrated ${ne.loaded} active tool(s)${we}${tt}.`})}if(ne.markdownLoaded>0||ne.markdownFailures.length>0){Ct({source:"repl:agents",level:ne.markdownFailures.length>0?"warn":"info",message:`Loaded ${ne.markdownLoaded} markdown agent(s).`});for(let we of ne.markdownFailures)Ct({source:"repl:agents",level:"warn",message:`Skipped markdown agent ${we.path}: ${we.reason}`})}}catch(X){Ct({source:"repl:construction",level:"warn",message:`Bootstrap failed: ${X.message}. Self-construction disabled this session.`})}let ae;try{let X=await a(y),ne=c(d);ae={contextWindow:X.contextWindow??ne.getContextWindow?.()??2e5,triggerPercent:X.triggerPercent,triggerTokens:X.triggerTokens,enabled:X.enabled,reservedResponseTokens:ne.getEffectiveMaxOutputTokens?.(f),userOverrideContextWindow:X.contextWindow}}catch{}if(e.session?.id&&!e.session.resume){let X=await t.load(e.session.id);X&&(k=X.messages,P=ti(X.uiHistory),q=X.lineage,K=X.artifactLedger,V=X.extensionState,fe=X.extensionRecords,ge=X.title,D=e.session.id,A=xn(X)??Z,J=A.workspaceRoot??void 0,e={...e,session:{...e.session??{},id:D,tag:X.tag}},console.log(dt.green(`[Session loaded: ${D}]`)))}else if(e.session?.resume||e.session?.autoResume){let X=await Va(t,y);if(X){let ne=await t.load(X.id);ne&&(k=ne.messages,P=ti(ne.uiHistory),q=ne.lineage,K=ne.artifactLedger,V=ne.extensionState,fe=ne.extensionRecords,ge=ne.title,D=X.id,A=xn(ne)??Z,J=A.workspaceRoot??void 0,e={...e,session:{...e.session??{},id:D,tag:ne.tag}},console.log(dt.green(`[Continuing session: ${X.id}]`)))}}let le=await Ga({sessionId:D,gitRoot:J,runtimeInfo:A,existingMessages:k,existingUiHistory:P,existingLineage:q,existingArtifactLedger:K,existingExtensionState:V,existingExtensionRecords:fe});le.title=ge,e={...e,context:{...e.context,gitRoot:le.gitRoot??void 0,executionCwd:le.runtimeInfo?.executionCwd??le.gitRoot??process.cwd()}},H?.writer.update({sessionId:le.sessionId});let pe={current:null},ke={current:null},ue={current:M},ye=oa(),Ae=await Ka({askUser:i(async(X,ne,we)=>{let tt=pe.current;return tt?tt(X,ne,we):"block"},"askUser"),projectRoot:y??process.cwd(),executionCwd:A.executionCwd??y??process.cwd(),getCurrentProviderName:i(()=>ue.current.provider,"getCurrentProviderName"),getCurrentModel:i(()=>ue.current.model,"getCurrentModel"),getCurrentPermissionMode:i(()=>ue.current.permissionMode,"getCurrentPermissionMode"),autoModeSettings:ye,log:i((X,ne)=>{Ct({source:"repl:auto-mode",level:X==="warn"?"warn":"info",message:ne})},"log"),onEngineChange:i(X=>{ke.current?.(X)},"onEngineChange"),extraCollectors:[ra]});try{let X=process.stdout,ne=process.stdin,we=!1,{waitUntilExit:tt,cleanup:gt}=wa(ce(ZW,{options:e,config:M,context:le,startupRuntimeInfo:Z,storage:t,autoModeSettings:Ua(ye),compactionInfo:ae,rendererMode:r,fullscreenPolicy:o,autoModeBootstrap:Ae,setAutoModeAskUser:i(je=>{pe.current=je},"setAutoModeAskUser"),setAutoModeEngineChange:i(je=>{ke.current=je},"setAutoModeEngineChange"),setCurrentConfigRef:i(je=>{ue.current=je},"setCurrentConfigRef"),teamModeHandle:H,onExit:i(()=>{we=!0},"onExit")}),{stdout:X,stdin:ne,exitOnCtrlC:!1,patchConsole:!1,maxFps:30,shellMode:o.enabled?o.promptShell:"main-screen"});await tt(),gt(),H?.shutdown(),ne.isTTY===!0&&typeof ne.setRawMode=="function"&&ne.isRaw&&ne.setRawMode(!1),ne.pause?.(),ne.unref?.(),we&&console.log(dt.dim(`
175
- [Exiting KodaX...]`));let Ge=e.hardExitOnClose??process.env.VITEST!=="true";if(we&&Ge){let je=process.exitCode??0,de=!1,Ce=i(()=>{de||(de=!0,process.exit(je))},"requestProcessExit");setTimeout(Ce,0).unref?.(),X.write("",Ce);return}}catch(X){throw X instanceof Error&&X.message.includes("Raw mode")?new Eh("Interactive mode failed to start.",['kodax -p "your task" # Run a single task',"kodax -c # Continue last session"]):X}}i(wm,"runInkInteractiveMode");import{jsx as fu,jsxs as ic}from"react/jsx-runtime";import{useMemo as tF,useRef as nF,useState as bx}from"react";var rF=40;function oF(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(oF,"filterSessionPickerItems");function iF(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(iF,"buildSessionPickerPage");function sF(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(sF,"formatTimestamp");function aF({sessions:e,onSelect:t,onSelectionError:n,onCancel:r,pageSize:o=8}){let{exit:s}=Or(),[a,c]=bx(""),[l,d]=bx(0),[f,p]=bx(!1),m=nF(!1),h=tF(()=>oF(e,a),[e,a]),S=iF(h,l,o),I=h[S.selectedIndex];return Ca((T,w)=>{if(!m.current){if(w.escape||w.ctrl&&T==="c"){r(),s();return}if(w.return){let b=h[S.selectedIndex];b&&(m.current=!0,p(!0),(async()=>{await new Promise(M=>setTimeout(M,rF));try{await t(b)}catch(M){n(M)}finally{s()}})());return}if(w.upArrow)d(b=>Math.max(0,b-1));else if(w.downArrow)d(b=>Math.min(Math.max(0,h.length-1),b+1));else if(w.pageUp)d(b=>Math.max(0,b-o));else if(w.pageDown)d(b=>Math.min(Math.max(0,h.length-1),b+o));else if(w.home)d(0);else if(w.end)d(Math.max(0,h.length-1));else if(w.tab){let b=h[S.selectedIndex];b&&(c(b.title),d(0))}else w.backspace||w.delete?(c(b=>b.slice(0,-1)),d(0)):T&&!w.ctrl&&!w.meta&&!w.super&&(c(b=>b+T),d(0))}}),ic(E,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,children:[fu(v,{bold:!0,color:"cyan",children:"Resume a session"}),ic(v,{children:["Search: ",fu(v,{color:"yellow",children:a||"type to filter"})]}),fu(v,{dimColor:!0,children:f?"Loading selected session...":"\u2191/\u2193 select \xB7 PgUp/PgDn page \xB7 Tab complete \xB7 Enter resume \xB7 Esc cancel"}),ic(E,{flexDirection:"column",marginTop:1,children:[S.items.length===0?fu(v,{color:"yellow",children:"No matching sessions."}):null,S.items.map((T,w)=>{let M=S.pageStart+w===S.selectedIndex,D=T.title.trim()||"Untitled session",k=T.surface?` \xB7 ${T.surface}`:"";return ic(v,{color:M?"cyan":void 0,bold:M,children:[M?"\u276F":" "," ",D," \xB7 ",T.msgCount," msgs",k," \xB7 ",sF(T.createdAt)," \xB7 ",T.id.slice(0,8)]},T.id)})]}),ic(v,{dimColor:!0,children:[h.length," matches \xB7 Page ",S.pageIndex+1,"/",S.pageCount]}),ic(v,{dimColor:!0,children:["Selected ID: ",I?.id??"none"]})]})}i(aF,"SessionPicker");async function eM(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=wa(fu(aF,{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(eM,"runSessionPicker");import gn from"chalk";var tM=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],nM=["\x1B[36m","\x1B[35m","\x1B[34m"],mu=null,sc=!1;function pu(){let e=0,t=0,n=!1,r="Thinking...",o=i(()=>{if(n)return;let c=nM[t%nM.length],l="\x1B[0m",d=tM[e%tM.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 mu=a,a}i(pu,"startWaitingDots");function rM(e=!0){let t=null,n=0,r=!1;return{onSessionStart:i(s=>{console.log(e?gn.cyan(`[KodaX] Provider: ${s.provider} | Session: ${s.sessionId}`):gn.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=pu()),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(gn.dim(`[Thinking] ${c}`))}},"onThinkingEnd"),onToolUseStart:i(s=>{t||(sc||(process.stdout.write(`
174
+ `)},"onPopPendingInputs"),prompt:">",placeholder:xE({isLoading:B,canQueueFollowUps:Dm,waitingReason:sh}),focus:!ze&&!Be&&!pt,cwd:process.cwd(),gitRoot:e.context?.gitRoot||n.gitRoot,onInputChange:u_,onPasteFallback:w_}),inlineSuggestions:x_,helpSurface:PS?ce(Pp,{sections:am()}):void 0,taskBar:Fc?ce(Yl,{items:ks.backgroundTask.items,overflowLabel:ks.backgroundTask.overflowLabel,ctaHint:ks.backgroundTask.ctaHint,showSpinner:B}):void 0,statusLine:ce(E,{children:ce(qi,{...cd,viewModel:lw})}),inlineDialogs:T_}),P_=ce(Fl,{left:ce(Hl,{items:dw}),right:ce(Wl,{items:fw}),stashNotice:ce(Xl,{text:dd}),notifications:ce(zl,{notifications:ud}),composer:ce(q0,{searchActive:pt,selectionActive:!!(no||ot),showAllActive:Bt,searchQuery:un,searchCurrent:Wt.length>0?_o+1:0,searchCount:Wt.length,searchDetailText:oh,pendingLiveUpdates:Dc,secondaryText:g_}),taskBar:Fc?ce(Yl,{items:ks.backgroundTask.items,overflowLabel:ks.backgroundTask.overflowLabel,ctaHint:ks.backgroundTask.ctaHint,showSpinner:mt}):void 0,statusLine:ce(E,{children:ce(qi,{...cd,viewModel:ah})})}),vh=G(u=>ce(J0,{banner:u?.bannerVisible?ce(Tx,{...yi}):void 0,items:Nc,isLoading:dn,viewportRows:Vt.messageRows,viewportWidth:J,scrollOffset:tr,windowed:!!u?.rendererWindow,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?Hc:Rw,maxLines:Lt,selectedTextRanges:Zm?Du?.rowRanges:void 0,onMetricsChange:pd,onVisibleRowsChange:md}),[yi,Nc,dn,pd,md,tr,Rw,J,Lt,Du?.rowRanges,Vt.messageRows,Zm]),Ih=G(u=>ce(Q0,{banner:u?.bannerVisible?ce(Tx,{...yi}):void 0,items:Oc,browse:{hintText:Lo.browseHintText},selection:fd,search:rw,isLoading:mt,isThinking:Ie.isThinking,thinkingCharCount:Ie.thinkingCharCount,thinkingContent:Ie.thinkingContent,streamingResponse:Ie.currentResponse,currentTool:Ie.currentTool,activeToolCalls:Ie.activeToolCalls,toolInputCharCount:Ie.toolInputCharCount,toolInputContent:Ie.toolInputContent,iterationHistory:Ie.iterationHistory,currentIteration:Ie.currentIteration,isCompacting:Ie.isCompacting,agentMode:$.agentMode,managedPhase:mt?z?.phase:void 0,managedHarnessProfile:mt?z?.harnessProfile:void 0,managedWorkerTitle:mt?z?.activeWorkerTitle:void 0,managedRound:mt?z?.currentRound:void 0,managedMaxRounds:mt?z?.maxRounds:void 0,managedGlobalWorkBudget:mt?z?.globalWorkBudget:void 0,managedBudgetUsage:mt?z?.budgetUsage:void 0,managedBudgetApprovalRequired:mt?z?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Ie.lastLiveActivityLabel,liveStatusLines:bs,viewportRows:Vt.messageRows,viewportWidth:J,scrollOffset:tr,windowed:!!u?.windowed,animateSpinners:!!u?.rendererWindow&&Ms,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?Hc:nd,maxLines:Lt,showDetailedTools:Bt,showAllContent:Bt,selectedItemId:Fn.selectionEnabled?ot:void 0,selectedTextRanges:Jr?.rowRanges,expandedItemKeys:Fn.selectionEnabled?Rn:void 0,onMetricsChange:pd,onVisibleRowsChange:md}),[yi,$.agentMode,mt,Rn,c.transcriptSpinnerAnimation,pd,md,tr,jS,z?.activeWorkerTitle,z?.budgetApprovalRequired,z?.budgetUsage,z?.currentRound,z?.globalWorkBudget,z?.harnessProfile,z?.maxRounds,z?.phase,Hc,nd,Lo.browseHintText,ot,fd,J,Ms,Oc,Lt,Ie.activeToolCalls,Ie.currentIteration,Ie.currentResponse,Ie.currentTool,Ie.isCompacting,Ie.isThinking,Ie.iterationHistory,Ie.lastLiveActivityLabel,Ie.thinkingCharCount,Ie.thinkingContent,Ie.toolInputCharCount,Ie.toolInputContent,bs,Jr?.rowRanges,rw,Bt,Vt.messageRows]),$_=se?Ih({bannerVisible:!1,windowed:Pt}):vh({bannerVisible:!1}),Qw=se?P_:L_,D_=c.enabled&&gi,Zw=In(E,{flexDirection:"column",width:J,flexShrink:0,flexGrow:D_?1:0,children:[ce(Ny,{currentConfig:$,setCurrentConfig:Ee,isLoading:B,abort:ke,stopThinking:X,clearThinkingContent:ne,setCurrentTool:we,setIsLoading:Q,onToggleHelp:l_,setShowHelp:$S,onSetThinking:i(u=>{_e.current.thinking=u},"onSetThinking"),onSetReasoningMode:i(u=>{_e.current.reasoningMode=u,_e.current.thinking=u!=="off"},"onSetReasoningMode"),onToggleTranscriptMode:C_,onOpenTranscriptSearch:ph,canOpenTranscriptSearch:se&&!ze&&!Be,isInteractiveDialogActive:!!(ze||Be),onSetAgentMode:i(u=>{_e.current.agentMode=u},"onSetAgentMode"),onSetPermissionMode:i(u=>{xh(u)},"onSetPermissionMode"),isInputEmpty:Sc,onSavePermissionMode:dC}),Zn&&(c.enabled?null:ce(Ta,{items:[1],children:i(()=>ce(Tx,{...yi},"banner"),"children")})),gi?ce(kp,{width:J,stickyHeader:Lo.stickyHeader,jumpToLatest:Lo.jumpToLatest,transcript:!c.enabled||!Pt?se?Ih({bannerVisible:!1}):vh({bannerVisible:!1}):void 0,renderTranscriptWindow:c.enabled&&Pt?u=>(()=>{let x=Kc(u).contentWindow;return se?Ih({bannerVisible:!1,windowed:!0,rendererWindow:x}):vh({bannerVisible:!1,rendererWindow:x})})():void 0,overlay:gh,scrollTop:tr,scrollHeight:Gc,viewportHeight:Vt.messageRows,stickyScroll:!se&&!Cr&&Wm,overscanRows:XW,scrollRef:YA,onWindowChange:S_,onScrollTopChange:JA,onStickyChange:QA,footer:Qw}):In(_W,{children:[In(E,{flexDirection:"column",flexGrow:1,children:[$_,gh?ce(E,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:gh}):null]}),Qw]})]});return Qm?ce(Ig,{mouseTracking:Mo.usesRendererMouseTracking,children:Zw}):Zw},"InkREPLInner"),ZW=i(e=>{let t=process.cwd(),n=e.options?.context?.gitRoot??void 0;return ce(Gl,{children:ce(Ql,{getPendingInputAgentId:i(()=>Id(e.context.sessionId,"/root"),"getPendingInputAgentId"),children:ce(kl,{children:ce(Dy,{children:ce(Zf,{cwd:t,gitRoot:n,children:ce(QW,{...e})})})})})})},"InkREPL");function eF(){return process.stdin.isTTY===!0&&typeof process.stdin.setRawMode=="function"}i(eF,"isRawModeSupported");async function wm(e){if(!eF())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 rs,n=Wo(),r=Fo(),o=jo(n,r),{prepareRuntimeConfig:s}=await import("./utils-AUHCI4D5.js"),{loadCompactionConfig:a}=await import("./compaction-config-BE7VYWH6.js"),{resolveProvider:c}=await import("./dist-ZZBNVTKU.js"),l=s(),d=Qs({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,configuredProvider:l.provider,defaultProvider:Ci}),f=Zs({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,explicitModel:e.model,configuredProvider:l.provider,configuredModel:l.model}),p=NW(e,l),m=ea({explicitEffort:e.effort,environmentEffort:process.env.KODAX_EFFORT,configuredEffort:l.effort}),h=Yd(e,l,process.env.KODAX_EFFORT),S=e.agentMode??l.agentMode??"ama",I=p!=="off",T=qs(l.permissionMode,"accept-edits")??"accept-edits",w=Wd(),b=l.repoIntelligenceTrace===!0,M={provider:d,model:f,effort:m,effortOverride:h,planModeEffort:l.planModeEffort,thinking:I,reasoningMode:p,agentMode:S,permissionMode:T,repoIntelligenceMode:w.mode,repoIntelligenceTrace:b},D=e.session?.id,k=[],P,q,K,V,fe,ge="",Z=await Ar({cwd:process.cwd()}),y=Z.workspaceRoot??void 0,A=Z,J=y,H=Md({meta:{cwd:process.cwd(),startedAt:Date.now()}});if(H){let X=i(()=>{H.shutdown()},"teamModeCleanup");process.on("exit",X),process.on("SIGTERM",X)}try{let{bootstrapConstructionRuntime:X}=await import("./construction-bootstrap-RPRL3L7R.js"),ne=await X(y??process.cwd());if(ne.loaded>0||ne.failed>0||ne.tampered>0){let we=ne.failed>0?`; ${ne.failed} failed`:"",tt=ne.tampered>0?`; ${ne.tampered} skipped due to manifest contentHash mismatch \u2014 re-stage and re-activate to re-approve`:"";Ct({source:"repl:construction",level:ne.failed>0||ne.tampered>0?"warn":"info",message:`Rehydrated ${ne.loaded} active tool(s)${we}${tt}.`})}if(ne.markdownLoaded>0||ne.markdownFailures.length>0){Ct({source:"repl:agents",level:ne.markdownFailures.length>0?"warn":"info",message:`Loaded ${ne.markdownLoaded} markdown agent(s).`});for(let we of ne.markdownFailures)Ct({source:"repl:agents",level:"warn",message:`Skipped markdown agent ${we.path}: ${we.reason}`})}}catch(X){Ct({source:"repl:construction",level:"warn",message:`Bootstrap failed: ${X.message}. Self-construction disabled this session.`})}let ae;try{let X=await a(y),ne=c(d);ae={contextWindow:X.contextWindow??ne.getContextWindow?.()??2e5,triggerPercent:X.triggerPercent,triggerTokens:X.triggerTokens,enabled:X.enabled,reservedResponseTokens:ne.getEffectiveMaxOutputTokens?.(f),userOverrideContextWindow:X.contextWindow}}catch{}if(e.session?.id&&!e.session.resume){let X=await t.load(e.session.id);X&&(k=X.messages,P=ti(X.uiHistory),q=X.lineage,K=X.artifactLedger,V=X.extensionState,fe=X.extensionRecords,ge=X.title,D=e.session.id,A=xn(X)??Z,J=A.workspaceRoot??void 0,e={...e,session:{...e.session??{},id:D,tag:X.tag}},console.log(dt.green(`[Session loaded: ${D}]`)))}else if(e.session?.resume||e.session?.autoResume){let X=await Va(t,y);if(X){let ne=await t.load(X.id);ne&&(k=ne.messages,P=ti(ne.uiHistory),q=ne.lineage,K=ne.artifactLedger,V=ne.extensionState,fe=ne.extensionRecords,ge=ne.title,D=X.id,A=xn(ne)??Z,J=A.workspaceRoot??void 0,e={...e,session:{...e.session??{},id:D,tag:ne.tag}},console.log(dt.green(`[Continuing session: ${X.id}]`)))}}let le=await Ga({sessionId:D,gitRoot:J,runtimeInfo:A,existingMessages:k,existingUiHistory:P,existingLineage:q,existingArtifactLedger:K,existingExtensionState:V,existingExtensionRecords:fe});le.title=ge,e={...e,context:{...e.context,gitRoot:le.gitRoot??void 0,executionCwd:le.runtimeInfo?.executionCwd??le.gitRoot??process.cwd()}},H?.writer.update({sessionId:le.sessionId});let pe={current:null},ke={current:null},ue={current:M},ye=oa(),Ae=await Ka({askUser:i(async(X,ne,we)=>{let tt=pe.current;return tt?tt(X,ne,we):"block"},"askUser"),projectRoot:y??process.cwd(),executionCwd:A.executionCwd??y??process.cwd(),getCurrentProviderName:i(()=>ue.current.provider,"getCurrentProviderName"),getCurrentModel:i(()=>ue.current.model,"getCurrentModel"),getCurrentPermissionMode:i(()=>ue.current.permissionMode,"getCurrentPermissionMode"),autoModeSettings:ye,log:i((X,ne)=>{Ct({source:"repl:auto-mode",level:X==="warn"?"warn":"info",message:ne})},"log"),onEngineChange:i(X=>{ke.current?.(X)},"onEngineChange"),extraCollectors:[ra]});try{let X=process.stdout,ne=process.stdin,we=!1,{waitUntilExit:tt,cleanup:gt}=wa(ce(ZW,{options:e,config:M,context:le,startupRuntimeInfo:Z,storage:t,autoModeSettings:Ua(ye),compactionInfo:ae,rendererMode:r,fullscreenPolicy:o,autoModeBootstrap:Ae,setAutoModeAskUser:i(je=>{pe.current=je},"setAutoModeAskUser"),setAutoModeEngineChange:i(je=>{ke.current=je},"setAutoModeEngineChange"),setCurrentConfigRef:i(je=>{ue.current=je},"setCurrentConfigRef"),teamModeHandle:H,onExit:i(()=>{we=!0},"onExit")}),{stdout:X,stdin:ne,exitOnCtrlC:!1,patchConsole:!1,maxFps:30,shellMode:o.enabled?o.promptShell:"main-screen"});await tt(),gt(),H?.shutdown(),ne.isTTY===!0&&typeof ne.setRawMode=="function"&&ne.isRaw&&ne.setRawMode(!1),ne.pause?.(),ne.unref?.(),we&&console.log(dt.dim(`
175
+ [Exiting KodaX...]`));let Ge=e.hardExitOnClose??process.env.VITEST!=="true";if(we&&Ge){let je=process.exitCode??0,de=!1,Ce=i(()=>{de||(de=!0,process.exit(je))},"requestProcessExit");setTimeout(Ce,0).unref?.(),X.write("",Ce);return}}catch(X){throw X instanceof Error&&X.message.includes("Raw mode")?new Lh("Interactive mode failed to start.",['kodax -p "your task" # Run a single task',"kodax -c # Continue last session"]):X}}i(wm,"runInkInteractiveMode");import{jsx as fu,jsxs as ic}from"react/jsx-runtime";import{useMemo as tF,useRef as nF,useState as bx}from"react";var rF=40;function oF(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(oF,"filterSessionPickerItems");function iF(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(iF,"buildSessionPickerPage");function sF(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(sF,"formatTimestamp");function aF({sessions:e,onSelect:t,onSelectionError:n,onCancel:r,pageSize:o=8}){let{exit:s}=Or(),[a,c]=bx(""),[l,d]=bx(0),[f,p]=bx(!1),m=nF(!1),h=tF(()=>oF(e,a),[e,a]),S=iF(h,l,o),I=h[S.selectedIndex];return Ca((T,w)=>{if(!m.current){if(w.escape||w.ctrl&&T==="c"){r(),s();return}if(w.return){let b=h[S.selectedIndex];b&&(m.current=!0,p(!0),(async()=>{await new Promise(M=>setTimeout(M,rF));try{await t(b)}catch(M){n(M)}finally{s()}})());return}if(w.upArrow)d(b=>Math.max(0,b-1));else if(w.downArrow)d(b=>Math.min(Math.max(0,h.length-1),b+1));else if(w.pageUp)d(b=>Math.max(0,b-o));else if(w.pageDown)d(b=>Math.min(Math.max(0,h.length-1),b+o));else if(w.home)d(0);else if(w.end)d(Math.max(0,h.length-1));else if(w.tab){let b=h[S.selectedIndex];b&&(c(b.title),d(0))}else w.backspace||w.delete?(c(b=>b.slice(0,-1)),d(0)):T&&!w.ctrl&&!w.meta&&!w.super&&(c(b=>b+T),d(0))}}),ic(E,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,children:[fu(v,{bold:!0,color:"cyan",children:"Resume a session"}),ic(v,{children:["Search: ",fu(v,{color:"yellow",children:a||"type to filter"})]}),fu(v,{dimColor:!0,children:f?"Loading selected session...":"\u2191/\u2193 select \xB7 PgUp/PgDn page \xB7 Tab complete \xB7 Enter resume \xB7 Esc cancel"}),ic(E,{flexDirection:"column",marginTop:1,children:[S.items.length===0?fu(v,{color:"yellow",children:"No matching sessions."}):null,S.items.map((T,w)=>{let M=S.pageStart+w===S.selectedIndex,D=T.title.trim()||"Untitled session",k=T.surface?` \xB7 ${T.surface}`:"";return ic(v,{color:M?"cyan":void 0,bold:M,children:[M?"\u276F":" "," ",D," \xB7 ",T.msgCount," msgs",k," \xB7 ",sF(T.createdAt)," \xB7 ",T.id.slice(0,8)]},T.id)})]}),ic(v,{dimColor:!0,children:[h.length," matches \xB7 Page ",S.pageIndex+1,"/",S.pageCount]}),ic(v,{dimColor:!0,children:["Selected ID: ",I?.id??"none"]})]})}i(aF,"SessionPicker");async function eM(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=wa(fu(aF,{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(eM,"runSessionPicker");import gn from"chalk";var tM=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],nM=["\x1B[36m","\x1B[35m","\x1B[34m"],mu=null,sc=!1;function pu(){let e=0,t=0,n=!1,r="Thinking...",o=i(()=>{if(n)return;let c=nM[t%nM.length],l="\x1B[0m",d=tM[e%tM.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 mu=a,a}i(pu,"startWaitingDots");function rM(e=!0){let t=null,n=0,r=!1;return{onSessionStart:i(s=>{console.log(e?gn.cyan(`[KodaX] Provider: ${s.provider} | Session: ${s.sessionId}`):gn.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=pu()),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(gn.dim(`[Thinking] ${c}`))}},"onThinkingEnd"),onToolUseStart:i(s=>{t||(sc||(process.stdout.write(`
176
176
  `),sc=!0),t=pu()),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())&&(sc||(process.stdout.write(`
177
177
  `),sc=!0,r=!1),t=pu(),t.updateText(`Receiving ${s}... (${l} chars)`))},"onToolInputDelta"),onToolResult:i(s=>{t&&(t.stop(),t=null),console.log(gn.green(`[Result] ${s.content.slice(0,300)}${s.content.length>300?"...":""}`))},"onToolResult"),onRepoIntelligenceTrace:i(s=>{t&&(t.stop(),t=null),console.log(gn.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
178
  Suggested fix: ${s.suggestedFix}`:s.content;process.stdout.write(gn.yellow(`
@@ -217,7 +217,7 @@ ${t}`),console.log("\u2500".repeat(t.length)),n.forEach((r,o)=>{console.log(` $
217
217
  Keyboard: Tab (complete) | Esc+Esc (edit last) | Ctrl+T (reasoning) | Ctrl+E (editor) | Ctrl+R (history)
218
218
  `))}i(kM,"printStartupBanner");async function AF(e,t,n){if(e?.id){let r=await t.load(e.id);if(!r)return null;let o=xn(r);return{id:e.id,data:r,kind:"load",...o?{runtimeInfo:o}:{}}}if(e?.resume||e?.autoResume){let r=await Va(t,n);if(!r)return null;let o=await t.load(r.id);if(!o)return null;let s=xn(o);return{id:r.id,data:o,kind:"continue",...s?{runtimeInfo:s}:{}}}return null}i(AF,"loadClassicStartupSession");async function _F(e){return(await _d(e)).getSystemPromptSnippet()}i(_F,"buildClassicCliSkillsPrompt");function LF(e,t){let n=Ad(e);t.context={...t.context,skillsPrompt:n.getSystemPromptSnippet()}}i(LF,"syncClassicCliSkillsPrompt");var Hx=class{static{i(this,"MemorySessionStorage")}sessions=new Map;async save(t,n){let r=this.sessions.get(t),o=nt(n.messages,n.lineage??r?.data.lineage);this.sessions.set(t,{createdAt:r?.createdAt??new Date().toISOString(),data:{...structuredClone(n),scope:n.scope??r?.data.scope??"user",uiHistory:n.uiHistory??r?.data.uiHistory,extensionState:n.extensionState??r?.data.extensionState,extensionRecords:n.extensionRecords??r?.data.extensionRecords,tag:n.tag??r?.data.tag,lineage:o}})}async load(t){return structuredClone(this.sessions.get(t)?.data??null)}async getLineage(t){return structuredClone(this.sessions.get(t)?.data.lineage??null)}async loadFullLineage(t){return this.getLineage(t)}async setActiveEntry(t,n,r){let o=this.sessions.get(t);if(!o?.data.lineage)return null;let s=js(o.data.lineage,n,r);if(!s)return null;let a={...structuredClone(o.data),messages:kt(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=Us(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=zs(o.data.lineage,n);if(!s)return null;let a=r?.sessionId??await Fs(),c={messages:kt(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??Ks(r.data.lineage);if(!o)return null;let s=Vs(r.data.lineage,o);if(!s)return null;let a={...r.data,messages:kt(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?Ri(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 Nx(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(Nx,"applyRuntimeContext");function Cm(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(Cm,"applyRuntimeSessionSnapshot");function vo(e){return{...e.extensionStateDirty?{extensionState:e.extensionState??{}}:{},...e.extensionRecordsDirty?{extensionRecords:e.extensionRecords??[]}:{}}}i(vo,"contextExtensionSessionData");function uc(e){e.extensionStateDirty=!1,e.extensionRecordsDirty=!1}i(uc,"markExtensionSessionPersisted");function PF(e,t){return e.reasoningMode?e.reasoningMode:t.reasoningMode?t.reasoningMode:(e.thinking===!0||t.thinking===!0,"auto")}i(PF,"resolveInitialReasoningMode");var Wx={current:null};async function MM(e){let t=await Ar({cwd:process.cwd()}),n=t.workspaceRoot??await uo()??void 0,r=e.storage??new Hx,o=await AF(e.session,r,n),s=o?o.runtimeInfo??t:t,a=s.workspaceRoot??n;o&&(e={...e,session:{...e.session??{},id:o.id,tag:o.data.tag}});let c=Md({meta:{cwd:process.cwd(),startedAt:Date.now()}}),l=Xd(),d=Qs({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,configuredProvider:l.provider,defaultProvider:Ci}),f=Zs({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,explicitModel:e.model,configuredProvider:l.provider,configuredModel:l.model}),p=PF(e,l),m=ea({explicitEffort:e.effort,environmentEffort:process.env.KODAX_EFFORT,configuredEffort:l.effort}),h=Yd(e,l,process.env.KODAX_EFFORT),S=e.agentMode??l.agentMode??"ama",I=p!=="off",T=qs(l.permissionMode,"accept-edits")??"accept-edits",w=zd();T==="auto-in-project"&&w();let b=Wd(),M=l.theme;M&&xu(M);let D=cs(),k={provider:d,model:f,effort:m,effortOverride:h,planModeEffort:l.planModeEffort,thinking:I,reasoningMode:p,agentMode:S,permissionMode:T,repoIntelligenceMode:b.mode,repoIntelligenceTrace:b.trace,fallbackProviders:l.fallbackProviders},P=T,q=ia(),K=i(_=>Mi({provider:_?.provider??k.provider,model:_?.model??k.model,effort:k.effort,effortOverride:k.effortOverride,permissionMode:_?.permissionMode??k.permissionMode,planModeEffort:k.planModeEffort,thinking:k.thinking,reasoningMode:k.reasoningMode}),"resolveCurrentRuntimeEffort"),V=0,fe="",ge=!1,Z=500,y=await Ga({sessionId:o?.id??e.session?.id,gitRoot:a,runtimeInfo:s,existingMessages:o?.data.messages,existingUiHistory:o?.data.uiHistory,existingLineage:o?.data.lineage,existingArtifactLedger:o?.data.artifactLedger,existingExtensionState:o?.data.extensionState,existingExtensionRecords:o?.data.extensionRecords});if(y.title=o?.data.title??"",o){let _=o.kind==="continue"?"Continuing session":"Session loaded";process.stdout.write(`${ie.green(`[${_}: ${o.id}]`)}
219
219
  `)}y.skillDynamicContext=e.skillDynamicContext,c?.writer.update({sessionId:y.sessionId});let A=i(_=>ri(k,_,(W,B,Q)=>{console.log((W==="block"?ie.red:ie.yellow)(`
220
- ${B}`));for(let $ of Q)console.log(ie.dim($));console.log()}),"guardSessionTransition"),J=await Zd(a??void 0),{resolveProvider:H}=await import("./dist-URKXBOC6.js"),ae=H(k.provider),le=J.contextWindow??ae.getEffectiveContextWindow?.(k.model)??ae.getContextWindow?.()??2e5,{loadAgentsFiles:pe}=await import("./dist-URKXBOC6.js"),ke=i(async()=>pe({cwd:process.cwd(),projectRoot:y.gitRoot??void 0}),"reloadAgentsFiles"),ue=await ke();if(kM(k,k.permissionMode,{contextWindow:le,triggerPercent:J.triggerPercent,triggerTokens:J.triggerTokens,enabled:J.enabled},ue),RM(s),e.learning)try{let _=ef(await e.learning.getSnapshot());_&&console.log(ie.yellow(`
220
+ ${B}`));for(let $ of Q)console.log(ie.dim($));console.log()}),"guardSessionTransition"),J=await Zd(a??void 0),{resolveProvider:H}=await import("./dist-ZZBNVTKU.js"),ae=H(k.provider),le=J.contextWindow??ae.getEffectiveContextWindow?.(k.model)??ae.getContextWindow?.()??2e5,{loadAgentsFiles:pe}=await import("./dist-ZZBNVTKU.js"),ke=i(async()=>pe({cwd:process.cwd(),projectRoot:y.gitRoot??void 0}),"reloadAgentsFiles"),ue=await ke();if(kM(k,k.permissionMode,{contextWindow:le,triggerPercent:J.triggerPercent,triggerTokens:J.triggerTokens,enabled:J.enabled},ue),RM(s),e.learning)try{let _=ef(await e.learning.getSnapshot());_&&console.log(ie.yellow(`
221
221
  ${_}
222
222
  `))}catch(_){Ct({source:"repl:learning",level:"warn",message:"Failed to recover the Learning Center startup summary.",detail:_ instanceof Error?_.message:String(_)})}let ye=OC(()=>y.gitRoot??process.cwd()),Ae=EM.createInterface({input:process.stdin,output:process.stdout,terminal:process.stdout.isTTY??!0,historySize:100,completer:i((_,W)=>{ye(_).then(B=>{W(null,B)}).catch(()=>{W(null,[[],_])})},"completer")}),X=i(async _=>{let W=await lc(Ae,_.toolName,{..._.input,..._.reason!==void 0?{_reason:_.reason}:{},..._.executionCwd!==void 0?{_executionCwd:_.executionCwd}:{},..._.risk!==void 0?{_runtimeRisk:_.risk}:{}},{permissionMode:P,runtimeGrantSuggestions:_.grantSuggestions??[]});return Kp(_,W)},"requestRuntimePermission"),ne=oa(),we=Ua(ne);await e.runtimeAutoModeControl?.syncSettings?.(y.sessionId,P,we);let tt=await Ka({askUser:i(async(_,W,B)=>(await lc(Ae,_.name,{..._.input,...B&&B.length>0?{_classifierSignals:B}:{}},{permissionMode:P,reason:`[auto-mode] ${W}`})).confirmed?"allow":"block","askUser"),projectRoot:a??process.cwd(),executionCwd:s.executionCwd??a??process.cwd(),getCurrentProviderName:i(()=>k.provider,"getCurrentProviderName"),getCurrentModel:i(()=>k.model,"getCurrentModel"),getCurrentPermissionMode:i(()=>P,"getCurrentPermissionMode"),autoModeSettings:ne,log:i((_,W)=>{console.log(_==="warn"?ie.yellow(W):ie.dim(W))},"log"),extraCollectors:[ra]}),gt=Gd({getProvider:i(()=>H(k.provider),"getProvider"),getModel:i(()=>k.model??"","getModel")}),Ge=`
223
223
  Keyboard Shortcuts:
@@ -270,7 +270,7 @@ ${B.manualOutput}
270
270
  ${Ee}
271
271
  `),y.messages.push({role:"assistant",content:Ee,timestamp:new Date().toISOString()}))}else y.messages=$.messages,y.contextTokenSnapshot=$.contextTokenSnapshot;if(Cm(y,$),y.messages.length>0){let Ee=Xr(y.messages);y.title=Ee,await r.save(y.sessionId,{messages:y.messages,title:Ee,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,...vo(y),...F.session?.tag!==void 0?{tag:F.session.tag}:{}}),uc(y)}await B.finalize()}catch(Q){throw await B.finalize(Q instanceof Error?Q:new Error(String(Q))),Q}},"handleCommandResult");for(;Ce;){if(ge&&fe){ge=!1,Ae.resume();let Te=await Ox(fe);if(Te&&Te.trim()&&Te!==fe){console.log(ie.dim(`
272
272
  [Edited message ready to send]`));let ve=Te.trim();yr(y);let Rt=Li(ve);if(Rt){let _t=await Pi(Rt,y,Ot,k);await an(_t,ve);continue}let Nt=await vm(ve,F.context?.executionCwd);if(ve.startsWith("!")&&tu(Nt))continue;let cn=Qa(Nt,F.context?.executionCwd??process.cwd());for(let _t of cn.warnings)console.log(ie.yellow(`
273
- ${_t}`));y.messages.push({role:"user",content:cn.messageContent}),fe=ve;let qr=y.lineage?CT({getLineage:i(()=>y.lineage,"getLineage"),setLineage:i(_t=>{y.lineage=_t},"setLineage"),saveSession:i(async()=>{await r.save(y.sessionId,{messages:y.messages,title:y.title??Xr(y.messages),gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,artifactLedger:y.artifactLedger,lineage:y.lineage,...vo(y),...F.session?.tag!==void 0?{tag:F.session.tag}:{}}),uc(y)},"saveSession"),getLatestUsage:i(()=>{},"getLatestUsage"),getTurnStartMs:i(()=>{},"getTurnStartMs"),getPermissionMode:i(()=>P,"getPermissionMode"),hasPendingUserInput:i(()=>Kn().has({agentId:kd(y.sessionId,"/root"),maxPriority:"user",mode:"prompt"}),"hasPendingUserInput"),verifyComplete:i(async()=>({ok:!0}),"verifyComplete")}):void 0;try{let _t=await el({...F,provider:k.provider,thinking:k.thinking,reasoningMode:k.reasoningMode,session:{...F.session,initialMessages:y.lineage?kt(y.lineage,y.lineage.activeEntryId):y.messages,initialExtensionState:y.extensionState??{},initialExtensionRecords:y.extensionRecords??[]},context:{...F.context,taskSurface:"repl",planModeBlockCheck:i((Zn,fS)=>P!=="plan"?null:Do(Zn,fS,a??process.cwd()),"planModeBlockCheck"),...cn.inputArtifacts.length>0?{inputArtifacts:cn.inputArtifacts}:{},...qr?{goalRuntime:qr}:{}}},Nt);if(y.messages=_t.messages,y.contextTokenSnapshot=_t.contextTokenSnapshot,Cm(y,_t),y.artifactLedger=bi(y.artifactLedger??[],_t.artifactLedger??Dd(_t.messages)),y.messages.length>0){let Zn=Xr(y.messages);y.title=Zn,await r.save(y.sessionId,{messages:y.messages,title:Zn,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,artifactLedger:y.artifactLedger,...vo(y),...F.session?.tag!==void 0?{tag:F.session.tag}:{}}),uc(y)}}catch(_t){let Zn=_t instanceof Error?_t:new Error(String(_t));if(y.messages.pop(),console.log(ie.red(`
273
+ ${_t}`));y.messages.push({role:"user",content:cn.messageContent}),fe=ve;let qr=y.lineage?CT({getLineage:i(()=>y.lineage,"getLineage"),setLineage:i(_t=>{y.lineage=_t},"setLineage"),saveSession:i(async()=>{await r.save(y.sessionId,{messages:y.messages,title:y.title??Xr(y.messages),gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,artifactLedger:y.artifactLedger,lineage:y.lineage,...vo(y),...F.session?.tag!==void 0?{tag:F.session.tag}:{}}),uc(y)},"saveSession"),getLatestUsage:i(()=>{},"getLatestUsage"),getTurnStartMs:i(()=>{},"getTurnStartMs"),getPermissionMode:i(()=>P,"getPermissionMode"),hasPendingUserInput:i(()=>Kn().has({agentId:Id(y.sessionId,"/root"),maxPriority:"user",mode:"prompt"}),"hasPendingUserInput"),verifyComplete:i(async()=>({ok:!0}),"verifyComplete")}):void 0;try{let _t=await el({...F,provider:k.provider,thinking:k.thinking,reasoningMode:k.reasoningMode,session:{...F.session,initialMessages:y.lineage?kt(y.lineage,y.lineage.activeEntryId):y.messages,initialExtensionState:y.extensionState??{},initialExtensionRecords:y.extensionRecords??[]},context:{...F.context,taskSurface:"repl",planModeBlockCheck:i((Zn,fS)=>P!=="plan"?null:Do(Zn,fS,a??process.cwd()),"planModeBlockCheck"),...cn.inputArtifacts.length>0?{inputArtifacts:cn.inputArtifacts}:{},...qr?{goalRuntime:qr}:{}}},Nt);if(y.messages=_t.messages,y.contextTokenSnapshot=_t.contextTokenSnapshot,Cm(y,_t),y.artifactLedger=bi(y.artifactLedger??[],_t.artifactLedger??Dd(_t.messages)),y.messages.length>0){let Zn=Xr(y.messages);y.title=Zn,await r.save(y.sessionId,{messages:y.messages,title:Zn,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,artifactLedger:y.artifactLedger,...vo(y),...F.session?.tag!==void 0?{tag:F.session.tag}:{}}),uc(y)}}catch(_t){let Zn=_t instanceof Error?_t:new Error(String(_t));if(y.messages.pop(),console.log(ie.red(`
274
274
  [Error] ${Zn.message}`)),await bt(Zn,Nt))continue}continue}else Te===fe&&console.log(ie.dim(`
275
275
  [No changes made, continuing...]`))}let _=IM(k.permissionMode,k),W=await bM(Ae,_);if(!Ce)break;let B=W.trim();if(!B)continue;yr(y);let Q=Li(B);if(Q){let Te=await Pi(Q,y,Ot,k);await an(Te,B);continue}let $=await vm(B,F.context?.executionCwd);if(B.startsWith("!")&&tu($))continue;let Ee=Qa($,F.context?.executionCwd??process.cwd());for(let Te of Ee.warnings)console.log(ie.yellow(`
276
276
  ${Te}`));y.messages.push({role:"user",content:Ee.messageContent}),fe=B;try{let Te=await Bx(F,y,$,y.messages,Ee.inputArtifacts,e.runtimeRunner,P,X,we);if(y.messages=Te.messages,y.contextTokenSnapshot=Te.contextTokenSnapshot,Cm(y,Te),y.artifactLedger=bi(y.artifactLedger??[],Te.artifactLedger??Dd(Te.messages)),y.messages.length>0){let ve=Xr(y.messages);y.title=ve,await r.save(y.sessionId,{messages:y.messages,title:ve,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,artifactLedger:y.artifactLedger,...vo(y),...F.session?.tag!==void 0?{tag:F.session.tag}:{}}),uc(y)}}catch(Te){let ve=Te instanceof Error?Te:new Error(String(Te));y.messages.pop(),ve.message.includes("rate limit")||ve.message.includes("Rate limit")?(console.log(ie.yellow(`
@@ -296,7 +296,7 @@ ${Ux.cyan(r)}
296
296
  `),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(qF,"readMeta");async function JF(e){let t=await qF(e);return t?Bo({gitRoot:t.gitRoot,runtimeInfo:t.runtimeInfo}).key:Bh}i(JF,"destKeyFor");async function oA(e){let t=[],n=i(async(r,o)=>{let s=[];try{s=await It.readdir(r,{withFileTypes:!0})}catch{return}for(let a of s)!a.isFile()||a.name.startsWith(".")||(nA(a.name)||o&&rA(a.name)!==null)&&t.push(Qt.join(r,a.name))},"pushDir");return await n(e,!0),await n(tA(e),!0),t}i(oA,"collectFlatSources");async function QF(e){let t=await oA(e),n=t.filter(s=>nA(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 JF(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}`);ZM.existsSync(d)&&o.push({from:d,to:Qt.join(e,c,`${a}.islands.jsonl`),reason:"sidecar\u2192islands"})}}for(let s of t){let a=rA(Qt.basename(s));a===null||r.has(a)||o.push({from:s,to:Qt.join(e,Bh,"orphan-islands",`${a}.islands.jsonl`),reason:"orphan-sidecar\u2192_unknown"})}return o}i(QF,"planMigration");async function iA(e){try{return await It.access(Kx(e)),!0}catch{return!1}}i(iA,"isMigrated");async function ZF(e){return await iA(e)?!1:(await oA(e)).length>0}i(ZF,"needsMigration");async function e2(e){try{let t=JSON.parse(await It.readFile(eA(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>YF}catch{return!0}}i(e2,"lockIsStale");async function t2(e){let t=zx(e);for(let n=0;n<2;n+=1)try{return await It.mkdir(t),await It.writeFile(eA(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 e2(e)){await It.rm(t,{recursive:!0,force:!0}).catch(()=>{});continue}return!1}return!1}i(t2,"acquireLock");async function n2(e){await It.rm(zx(e),{recursive:!0,force:!0}).catch(()=>{})}i(n2,"releaseLock");async function r2(e){let t=new Set;try{let n=await It.readFile(Vx(e),"utf8");for(let r of n.split(`
297
297
  `))if(r.trim())try{let o=JSON.parse(r);o.done&&typeof o.from=="string"&&t.add(o.from)}catch{}}catch{}return t}i(r2,"readJournalDone");async function o2(e){if(await It.mkdir(Qt.dirname(e.to),{recursive:!0}),ZM.existsSync(e.to)){await It.unlink(e.from).catch(()=>{});return}try{await It.rename(e.from,e.to)}catch(t){let n=t.code;if(n==="EXDEV")await It.copyFile(e.from,e.to),await It.unlink(e.from).catch(()=>{});else if(n!=="ENOENT")throw t}}i(o2,"executeMove");async function sA(e){await It.mkdir(e,{recursive:!0});let t=`${Kx(e)}.${process.pid}.tmp`,n=JSON.stringify({version:XF,migratedAt:new Date().toISOString(),from:"flat-v1"});await It.writeFile(t,n+`
298
298
  `,"utf8"),await It.rename(t,Kx(e))}i(sA,"writeMarker");async function i2(e){let t=tA(e);try{(await It.readdir(t)).length===0&&await It.rmdir(t).catch(()=>{})}catch{}}i(i2,"retireSessionsArchive");async function s2(e){if(!await t2(e))return{moved:0,planned:0};try{let t=await QF(e),n=await r2(e),r=await It.open(Vx(e),"a"),o=0;try{for(let s of t)n.has(s.from)||(await o2(s),await r.write(JSON.stringify({from:s.from,to:s.to,done:!0})+`
299
- `),o+=1)}finally{await r.close()}return await i2(e),await sA(e),await It.rm(Vx(e),{force:!0}).catch(()=>{}),{moved:o,planned:t.length}}finally{await n2(e)}}i(s2,"runMigration");async function li(e){try{if(await iA(e))return;if(!await ZF(e)){await sA(e).catch(()=>{});return}await s2(e)}catch{}}i(li,"ensureLayoutMigrated");var a2=new Set(["user","assistant","system"]),c2=new Set(["user","assistant","system","thinking","error","event","info","hint"]),l2=new Set(["success","error","cancelled","awaiting_approval"]);function wt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}i(wt,"isRecord");function Io(e){if(e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return!0;if(Array.isArray(e))return e.every(Io);if(!wt(e))return!1;let t=Object.getPrototypeOf(e);return t!==Object.prototype&&t!==null?!1:Object.values(e).every(Io)}i(Io,"isKodaXJsonValue");function cA(e){return wt(e)&&typeof e.id=="string"&&typeof e.extensionId=="string"&&typeof e.type=="string"&&typeof e.ts=="number"&&(e.data===void 0||Io(e.data))&&(e.dedupeKey===void 0||typeof e.dedupeKey=="string")}i(cA,"isKodaXExtensionSessionRecord");function lA(e){return wt(e)?Object.values(e).every(t=>wt(t)?Object.values(t).every(Io):!1):!1}i(lA,"isKodaXExtensionSessionState");function u2(e){if(!wt(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"&&wt(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(u2,"isKodaXContentBlock");function Xx(e){return!wt(e)||typeof e.role!="string"||!a2.has(e.role)?!1:typeof e.content=="string"||Array.isArray(e.content)&&e.content.every(u2)}i(Xx,"isKodaXMessage");function uA(e){return wt(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(uA,"isSessionErrorMetadata");function d2(e){return wt(e)&&Object.values(e).every(Io)}i(d2,"isKodaXSessionUiToolInput");function f2(e){return wt(e)&&typeof e.id=="string"&&typeof e.name=="string"&&typeof e.status=="string"&&l2.has(e.status)&&(e.input===void 0||d2(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(f2,"isKodaXSessionUiToolCall");function aA(e){return e===void 0||typeof e=="number"&&Number.isFinite(e)&&e>=0}i(aA,"isOptionalHistoryTimestamp");function dA(e){return!wt(e)||typeof e.type!="string"?!1:e.type==="tool_group"?aA(e.timestamp)&&Array.isArray(e.tools)&&e.tools.length>0&&e.tools.every(f2):c2.has(e.type)&&typeof e.text=="string"&&aA(e.timestamp)&&(e.icon===void 0||typeof e.icon=="string")&&(e.compactText===void 0||typeof e.compactText=="string")}i(dA,"isKodaXSessionUiHistoryItem");var p2=[10,25,50,100],m2=0;async function h2(e,t){for(let n=0;;n+=1)try{await et.rename(e,t);return}catch(r){let o=p2[n];if(o===void 0||!g2(r))throw r;await new Promise(s=>setTimeout(s,o))}}i(h2,"replaceSessionFile");function g2(e){if(!(e instanceof Error)||!("code"in e))return!1;let t=e.code;return t==="EPERM"||t==="EBUSY"||t==="EACCES"}i(g2,"isTransientRenameError");function y2(e){return!wt(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(y2,"isPersistedMetaUpdateLine");function wA(e){if(!Array.isArray(e))return;let t=e.filter(dA).map(n=>n.type==="tool_group"?{...n,tools:n.tools.map(r=>({...r}))}:{...n});return t.length>0?t:void 0}i(wA,"normalizeKodaXSessionUiHistory");function $m(e,t,n){Ct({source:"repl:session-storage",level:e,message:t,...n!==void 0?{detail:n}:{}})}i($m,"reportStorageDiagnostic");function pA(e,t){t!==0&&$m("warn",`Skipped ${t} malformed session record(s) from ${De.basename(e)}.`)}i(pA,"warnMalformedSessionData");function bo(e){$m("info",e)}i(bo,"writeStorageNotice");function mA(e){return{_type:"extension_record",...e}}i(mA,"toExtensionRecordLine");function hA(e){return{_type:"lineage_entry",entry:e}}i(hA,"toLineageEntryLine");function gA(e){return{_type:"artifact_ledger_entry",entry:e}}i(gA,"toArtifactLedgerLine");function x2(e){return wt(e)&&e._type==="extension_record"&&cA(e)}i(x2,"isPersistedExtensionRecordLine");function S2(e){return wt(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(S2,"hasEntryBase");function TA(e){if(!S2(e))return!1;let t=e;switch(t.type){case"message":return Xx(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||Io(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||Io(t.payload));case"goal":return typeof t.event=="string";default:return!1}}i(TA,"isKodaXSessionEntry");function w2(e){return wt(e)&&e._type==="lineage_entry"&&TA(e.entry)}i(w2,"isPersistedLineageEntryLine");function T2(e){return wt(e)&&e._type==="archived_entry"&&typeof e.archiveBatchId=="string"&&TA(e.entry)}i(T2,"isPersistedArchivedEntryLine");function Pm(e){return e.type!=="message"?!1:e.message.content==="[compacted]"?!0:Array.isArray(e.message.content)&&e.message.content.length===1&&e.message.content[0]?.type==="text"&&e.message.content[0].text==="[compacted]"}i(Pm,"isCompactedPlaceholder");function C2(e,t){let n=new Map;for(let r of e)n.set(r.id,r);for(let r of t){let o=n.get(r.id);(!o||Pm(o))&&n.set(r.id,r)}return[...n.values()]}i(C2,"mergeFullLineageEntries");function v2(e,t,n){let r=new Set(uT(e).map(l=>l.id)),o=new Map(n.map(l=>[l.id,l])),s=new Map;for(let l of n)Pm(l)||s.set(l.id,l);for(let l of t?.entries??[])Pm(l)||s.set(l.id,l);let a=[],c=new Set;for(let l of e.entries){if(o.has(l.id)&&!r.has(l.id))continue;let d=Pm(l)?s.get(l.id):void 0,f=d?.type==="message"&&l.type==="message"?{...l,message:d.message}:l;a.push(f),c.add(l.id)}for(let l of t?.entries??[])l.type==="archive_marker"&&!c.has(l.id)&&a.push(l);return{...e,entries:a}}i(v2,"reconcileCompactionLineage");function I2(e){return wt(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||Io(e.metadata))}i(I2,"isKodaXSessionArtifactLedgerEntry");function b2(e){return wt(e)&&e._type==="artifact_ledger_entry"&&I2(e.entry)}i(b2,"isPersistedArtifactLedgerLine");function CA(e){return wt(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(CA,"isKodaXSessionRuntimeInfo");function Yx(e,t){return process.platform==="win32"||process.platform==="darwin"?e.toLowerCase()===t.toLowerCase():e===t}i(Yx,"pathsEqual");function R2(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(R2,"getLastNavigableEntryId");function k2(e){if(e.lineageEntries.length>0)return{version:2,activeEntryId:e.meta?.activeEntryId??R2(e.lineageEntries),entries:e.lineageEntries};if(e.legacyMessages.length!==0)return nt(e.legacyMessages)}i(k2,"buildLineage");function yA(e){return typeof e=="string"?`t:${e}`:`j:${JSON.stringify(e)}`}i(yA,"serializeMessageContentForCompare");function E2(e,t){return e===t?!0:e.role===t.role&&e._synthetic===!0==(t._synthetic===!0)&&yA(e.content)===yA(t.content)}i(E2,"sameMessageByContent");function M2(e,t){if(e.lineage)return e.lineage;if(t){let n=kt(t),r=e.messages;if(r.length<=n.length&&r.every((s,a)=>E2(s,n[a])))return t}return nt(e.messages,t)}i(M2,"resolveSnapshotLineage");function A2(e){let t=k2(e);return{createdAt:e.meta?.createdAt,data:{messages:t?kt(t):[...e.legacyMessages],title:e.meta?.title??"",gitRoot:e.meta?.gitRoot??"",tag:typeof e.meta?.tag=="string"?e.meta.tag:void 0,runtimeInfo:CA(e.meta?.runtimeInfo)?{...e.meta.runtimeInfo}:void 0,scope:e.meta?.scope??"user",uiHistory:wA(e.meta?.uiHistory),errorMetadata:uA(e.meta?.errorMetadata)?{...e.meta.errorMetadata}:void 0,extensionState:lA(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(A2,"buildSessionData");function _2(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?Ri(n):t.messages.length}}i(_2,"createSessionMeta");async function L2(e){let t;try{t=await et.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
+ `),o+=1)}finally{await r.close()}return await i2(e),await sA(e),await It.rm(Vx(e),{force:!0}).catch(()=>{}),{moved:o,planned:t.length}}finally{await n2(e)}}i(s2,"runMigration");async function li(e){try{if(await iA(e))return;if(!await ZF(e)){await sA(e).catch(()=>{});return}await s2(e)}catch{}}i(li,"ensureLayoutMigrated");var a2=new Set(["user","assistant","system"]),c2=new Set(["user","assistant","system","thinking","error","event","info","hint"]),l2=new Set(["success","error","cancelled","awaiting_approval"]);function wt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}i(wt,"isRecord");function Io(e){if(e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return!0;if(Array.isArray(e))return e.every(Io);if(!wt(e))return!1;let t=Object.getPrototypeOf(e);return t!==Object.prototype&&t!==null?!1:Object.values(e).every(Io)}i(Io,"isKodaXJsonValue");function cA(e){return wt(e)&&typeof e.id=="string"&&typeof e.extensionId=="string"&&typeof e.type=="string"&&typeof e.ts=="number"&&(e.data===void 0||Io(e.data))&&(e.dedupeKey===void 0||typeof e.dedupeKey=="string")}i(cA,"isKodaXExtensionSessionRecord");function lA(e){return wt(e)?Object.values(e).every(t=>wt(t)?Object.values(t).every(Io):!1):!1}i(lA,"isKodaXExtensionSessionState");function u2(e){if(!wt(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"&&wt(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(u2,"isKodaXContentBlock");function Xx(e){return!wt(e)||typeof e.role!="string"||!a2.has(e.role)?!1:typeof e.content=="string"||Array.isArray(e.content)&&e.content.every(u2)}i(Xx,"isKodaXMessage");function uA(e){return wt(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(uA,"isSessionErrorMetadata");function d2(e){return wt(e)&&Object.values(e).every(Io)}i(d2,"isKodaXSessionUiToolInput");function f2(e){return wt(e)&&typeof e.id=="string"&&typeof e.name=="string"&&typeof e.status=="string"&&l2.has(e.status)&&(e.input===void 0||d2(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(f2,"isKodaXSessionUiToolCall");function aA(e){return e===void 0||typeof e=="number"&&Number.isFinite(e)&&e>=0}i(aA,"isOptionalHistoryTimestamp");function dA(e){return!wt(e)||typeof e.type!="string"?!1:e.type==="tool_group"?aA(e.timestamp)&&Array.isArray(e.tools)&&e.tools.length>0&&e.tools.every(f2):c2.has(e.type)&&typeof e.text=="string"&&aA(e.timestamp)&&(e.icon===void 0||typeof e.icon=="string")&&(e.compactText===void 0||typeof e.compactText=="string")}i(dA,"isKodaXSessionUiHistoryItem");var p2=[10,25,50,100],m2=0;async function h2(e,t){for(let n=0;;n+=1)try{await et.rename(e,t);return}catch(r){let o=p2[n];if(o===void 0||!g2(r))throw r;await new Promise(s=>setTimeout(s,o))}}i(h2,"replaceSessionFile");function g2(e){if(!(e instanceof Error)||!("code"in e))return!1;let t=e.code;return t==="EPERM"||t==="EBUSY"||t==="EACCES"}i(g2,"isTransientRenameError");function y2(e){return!wt(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(y2,"isPersistedMetaUpdateLine");function wA(e){if(!Array.isArray(e))return;let t=e.filter(dA).map(n=>n.type==="tool_group"?{...n,tools:n.tools.map(r=>({...r}))}:{...n});return t.length>0?t:void 0}i(wA,"normalizeKodaXSessionUiHistory");function $m(e,t,n){Ct({source:"repl:session-storage",level:e,message:t,...n!==void 0?{detail:n}:{}})}i($m,"reportStorageDiagnostic");function pA(e,t){t!==0&&$m("warn",`Skipped ${t} malformed session record(s) from ${De.basename(e)}.`)}i(pA,"warnMalformedSessionData");function bo(e){$m("info",e)}i(bo,"writeStorageNotice");function mA(e){return{_type:"extension_record",...e}}i(mA,"toExtensionRecordLine");function hA(e){return{_type:"lineage_entry",entry:e}}i(hA,"toLineageEntryLine");function gA(e){return{_type:"artifact_ledger_entry",entry:e}}i(gA,"toArtifactLedgerLine");function x2(e){return wt(e)&&e._type==="extension_record"&&cA(e)}i(x2,"isPersistedExtensionRecordLine");function S2(e){return wt(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(S2,"hasEntryBase");function TA(e){if(!S2(e))return!1;let t=e;switch(t.type){case"message":return Xx(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||Io(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||Io(t.payload));case"goal":return typeof t.event=="string";default:return!1}}i(TA,"isKodaXSessionEntry");function w2(e){return wt(e)&&e._type==="lineage_entry"&&TA(e.entry)}i(w2,"isPersistedLineageEntryLine");function T2(e){return wt(e)&&e._type==="archived_entry"&&typeof e.archiveBatchId=="string"&&TA(e.entry)}i(T2,"isPersistedArchivedEntryLine");function Pm(e){return e.type!=="message"?!1:e.message.content==="[compacted]"?!0:Array.isArray(e.message.content)&&e.message.content.length===1&&e.message.content[0]?.type==="text"&&e.message.content[0].text==="[compacted]"}i(Pm,"isCompactedPlaceholder");function C2(e,t){let n=new Map;for(let r of e)n.set(r.id,r);for(let r of t){let o=n.get(r.id);(!o||Pm(o))&&n.set(r.id,r)}return[...n.values()]}i(C2,"mergeFullLineageEntries");function v2(e,t,n){let r=new Set(lT(e).map(l=>l.id)),o=new Map(n.map(l=>[l.id,l])),s=new Map;for(let l of n)Pm(l)||s.set(l.id,l);for(let l of t?.entries??[])Pm(l)||s.set(l.id,l);let a=[],c=new Set;for(let l of e.entries){if(o.has(l.id)&&!r.has(l.id))continue;let d=Pm(l)?s.get(l.id):void 0,f=d?.type==="message"&&l.type==="message"?{...l,message:d.message}:l;a.push(f),c.add(l.id)}for(let l of t?.entries??[])l.type==="archive_marker"&&!c.has(l.id)&&a.push(l);return{...e,entries:a}}i(v2,"reconcileCompactionLineage");function I2(e){return wt(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||Io(e.metadata))}i(I2,"isKodaXSessionArtifactLedgerEntry");function b2(e){return wt(e)&&e._type==="artifact_ledger_entry"&&I2(e.entry)}i(b2,"isPersistedArtifactLedgerLine");function CA(e){return wt(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(CA,"isKodaXSessionRuntimeInfo");function Yx(e,t){return process.platform==="win32"||process.platform==="darwin"?e.toLowerCase()===t.toLowerCase():e===t}i(Yx,"pathsEqual");function R2(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(R2,"getLastNavigableEntryId");function k2(e){if(e.lineageEntries.length>0)return{version:2,activeEntryId:e.meta?.activeEntryId??R2(e.lineageEntries),entries:e.lineageEntries};if(e.legacyMessages.length!==0)return nt(e.legacyMessages)}i(k2,"buildLineage");function yA(e){return typeof e=="string"?`t:${e}`:`j:${JSON.stringify(e)}`}i(yA,"serializeMessageContentForCompare");function E2(e,t){return e===t?!0:e.role===t.role&&e._synthetic===!0==(t._synthetic===!0)&&yA(e.content)===yA(t.content)}i(E2,"sameMessageByContent");function M2(e,t){if(e.lineage)return e.lineage;if(t){let n=kt(t),r=e.messages;if(r.length<=n.length&&r.every((s,a)=>E2(s,n[a])))return t}return nt(e.messages,t)}i(M2,"resolveSnapshotLineage");function A2(e){let t=k2(e);return{createdAt:e.meta?.createdAt,data:{messages:t?kt(t):[...e.legacyMessages],title:e.meta?.title??"",gitRoot:e.meta?.gitRoot??"",tag:typeof e.meta?.tag=="string"?e.meta.tag:void 0,runtimeInfo:CA(e.meta?.runtimeInfo)?{...e.meta.runtimeInfo}:void 0,scope:e.meta?.scope??"user",uiHistory:wA(e.meta?.uiHistory),errorMetadata:uA(e.meta?.errorMetadata)?{...e.meta.errorMetadata}:void 0,extensionState:lA(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(A2,"buildSessionData");function _2(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?Ri(n):t.messages.length}}i(_2,"createSessionMeta");async function L2(e){let t;try{t=await et.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(`
300
300
  `);for(let s=0;s<o.length;s+=1)try{let a=JSON.parse(o[s]);if(s===0&&wt(a)&&a._type==="meta"){r.meta=a;continue}if(y2(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=wA(a.uiHistory)),a.scope!==void 0&&(r.meta.scope=a.scope));continue}if(w2(a)){r.lineageEntries.push(a.entry);continue}if(b2(a)){r.artifactLedger.push(a.entry);continue}if(x2(a)){r.extensionRecords.push({id:a.id,extensionId:a.extensionId,type:a.type,ts:a.ts,data:a.data,dedupeKey:a.dedupeKey});continue}if(Xx(a)){r.legacyMessages.push(a);continue}r.malformedCount+=1}catch{r.malformedCount+=1}return r}i(L2,"readPersistedSessionFile");var xA=65536;async function qx(e){let t;try{t=await et.open(e,"r");let n=Buffer.allocUnsafe(xA),{bytesRead:r}=await t.read(n,0,xA,0);if(r===0)return null;let o=n.toString("utf8",0,r),s=o.indexOf(`
301
301
  `);if(s>=0)return o.slice(0,s).trim();let a=await et.readFile(e,"utf-8"),c=a.indexOf(`
302
302
  `);return(c>=0?a.slice(0,c):a).trim()}catch{return null}finally{await t?.close()}}i(qx,"readSessionFirstLine");async function SA(e){try{let t=(await et.readFile(e,"utf-8")).trim();return t?t.split(`
@@ -307,15 +307,15 @@ ${Ux.cyan(r)}
307
307
  `);for(let p of c.entries)await d.write(JSON.stringify(hA(p))+`
308
308
  `);for(let p of n.artifactLedger??[])await d.write(JSON.stringify(gA(p))+`
309
309
  `);for(let p of n.extensionRecords??[])await d.write(JSON.stringify(mA(p))+`
310
- `);await d.sync()}finally{await d.close()}await h2(a,s),await this.ensureProjectJson(o,Bo(n));let f=this.legacyFlatPath(t);if(f!==s&&xr.existsSync(f)){await et.unlink(f).catch(()=>{});let p=this.legacyFlatArchivePath(t);xr.existsSync(p)&&await et.rename(p,De.join(o,`${t}.islands.jsonl`)).catch(()=>{})}}finally{xr.existsSync(a)&&await et.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:M2(n,r?.data.lineage)},s=await this.readArchivedEntries(t),a=v2(o.lineage,r?.data.lineage,s),c=Lh(a);await this.appendIslandArchive(t,o,c.archivedEntries,c.archiveBatchId);let l={...o,lineage:c.slimmedLineage};await this.writeSessionInternal(t,l,r?.createdAt),this.syncAppendState(t,{...o,lineage:a})}async appendSessionDelta(t,n){await this.ensureMigrated();let r=this.writeFilePath(t,n);if(!xr.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}if(n.lineage.entries.slice(s.lineageCount).some(p=>p.type==="compaction")){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(hA(p)));for(let p of c)d.push(JSON.stringify(gA(p)));for(let p of l)d.push(JSON.stringify(mA(p)));let f={_type:"meta_update",title:n.title,activeEntryId:n.lineage.activeEntryId,activeMessageCount:Ri(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 et.appendFile(r,`
310
+ `);await d.sync()}finally{await d.close()}await h2(a,s),await this.ensureProjectJson(o,Bo(n));let f=this.legacyFlatPath(t);if(f!==s&&xr.existsSync(f)){await et.unlink(f).catch(()=>{});let p=this.legacyFlatArchivePath(t);xr.existsSync(p)&&await et.rename(p,De.join(o,`${t}.islands.jsonl`)).catch(()=>{})}}finally{xr.existsSync(a)&&await et.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:M2(n,r?.data.lineage)},s=await this.readArchivedEntries(t),a=v2(o.lineage,r?.data.lineage,s),c=_h(a);await this.appendIslandArchive(t,o,c.archivedEntries,c.archiveBatchId);let l={...o,lineage:c.slimmedLineage};await this.writeSessionInternal(t,l,r?.createdAt),this.syncAppendState(t,{...o,lineage:a})}async appendSessionDelta(t,n){await this.ensureMigrated();let r=this.writeFilePath(t,n);if(!xr.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}if(n.lineage.entries.slice(s.lineageCount).some(p=>p.type==="compaction")){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(hA(p)));for(let p of c)d.push(JSON.stringify(gA(p)));for(let p of l)d.push(JSON.stringify(mA(p)));let f={_type:"meta_update",title:n.title,activeEntryId:n.lineage.activeEntryId,activeMessageCount:Ri(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 et.appendFile(r,`
311
311
  `+d.join(`
312
- `),"utf-8"),this.syncAppendState(t,n,s.metaUpdateCount+1)});let o=this.appendState.get(t);o&&this.shouldRunMaintenance(o)&&this.runMaintenance(t).catch(s=>{$m("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}=Lh(n.data.lineage);if(o.length===0){await this.writeSessionInternal(t,n.data,n.createdAt),this.syncAppendState(t,n.data,0);return}await this.appendIslandArchive(t,n.data,o,s);let a={...n.data,lineage:r};await this.writeSessionInternal(t,a,n.createdAt),this.syncAppendState(t,n.data,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 uo(this.hostCwd),c=await Ar({cwd:this.hostCwd}),l=xn(r);(c.canonicalRepoRoot&&l?.canonicalRepoRoot&&!of(c,l)||a&&r.gitRoot&&a!==r.gitRoot&&!of(c,{canonicalRepoRoot:r.gitRoot}))&&(bo(fA.yellow(`
312
+ `),"utf-8"),this.syncAppendState(t,n,s.metaUpdateCount+1)});let o=this.appendState.get(t);o&&this.shouldRunMaintenance(o)&&this.runMaintenance(t).catch(s=>{$m("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}=_h(n.data.lineage);if(o.length===0){await this.writeSessionInternal(t,n.data,n.createdAt),this.syncAppendState(t,n.data,0);return}await this.appendIslandArchive(t,n.data,o,s);let a={...n.data,lineage:r};await this.writeSessionInternal(t,a,n.createdAt),this.syncAppendState(t,n.data,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 uo(this.hostCwd),c=await Ar({cwd:this.hostCwd}),l=xn(r);(c.canonicalRepoRoot&&l?.canonicalRepoRoot&&!of(c,l)||a&&r.gitRoot&&a!==r.gitRoot&&!of(c,{canonicalRepoRoot:r.gitRoot}))&&(bo(fA.yellow(`
313
313
  [Warning] Session project mismatch:`)),c.workspaceRoot&&bo(` Current workspace: ${c.workspaceRoot}`),l?.workspaceRoot&&bo(` Session workspace: ${l.workspaceRoot}`),c.canonicalRepoRoot&&bo(` Current repo: ${c.canonicalRepoRoot}`),l?.canonicalRepoRoot?bo(` Session repo: ${l.canonicalRepoRoot}`):r.gitRoot&&bo(` Session repo: ${r.gitRoot}`),bo(` Continuing anyway...
314
- `))}if(r.errorMetadata?.consecutiveErrors&&r.errorMetadata.consecutiveErrors>0){let a=oT(r.messages);if(a!==r.messages){bo(fA.cyan("[Session Recovery] Cleaned incomplete tool calls from previous session"));let c={...r,messages:a,errorMetadata:{...r.errorMetadata,consecutiveErrors:0},lineage:nt(a,r.lineage)};return await this.serializedWrite(t,async()=>{await this.writeSessionInternal(t,c,o),this.syncAppendState(t,c)}),c}}return pA(s,0),r}async getLineage(t){return(await this.readSession(t))?.data.lineage??null}async loadFullLineage(t){await this.ensureMigrated();let n=await this.resolveSessionLocation(t);if(!n)return null;let r=await this.readSession(t);if(!r?.data.lineage)return null;let o=await this.readArchivedEntries(t,n);return o.length===0?r.data.lineage:{...r.data.lineage,entries:C2(o,r.data.lineage.entries)}}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=js(s.data.lineage,n,r);if(!a)return;let c={...s.data,messages:kt(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??Ks(o.data.lineage);if(!s)return;let a=Vs(o.data.lineage,s);if(!a)return;let c={...o.data,messages:kt(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=Us(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=zs(s.data.lineage,n);if(!a)return;let c=r?.sessionId??await Fs(),l={messages:kt(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 et.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 uo(this.hostCwd):null),a=await Ar({cwd:s??this.hostCwd??process.cwd()}),c=await et.readdir(this.sessionsDir,{withFileTypes:!0}),l=[],d=Bo({gitRoot:s??void 0,runtimeInfo:a}).key,f=i(w=>w.endsWith(".archive.jsonl")||w.endsWith(".islands.jsonl"),"isSidecar"),p=o?[d]:c.filter(w=>w.isDirectory()&&!w.name.startsWith(".")).map(w=>w.name);for(let w of p){let b=[];try{b=await et.readdir(this.projectDir(w))}catch{continue}for(let M of b)M.endsWith(".jsonl")&&!f(M)&&l.push({path:De.join(this.projectDir(w),M),trusted:o,archived:!1});if(n?.includeArchived){let M=[];try{M=await et.readdir(De.join(this.projectDir(w),"archived"))}catch{M=[]}for(let D of M)D.endsWith(".jsonl")&&!f(D)&&l.push({path:De.join(this.projectDir(w),"archived",D),trusted:o,archived:!0})}}for(let w of c)w.isFile()&&w.name.endsWith(".jsonl")&&!f(w.name)&&!w.name.startsWith("archived-")&&!w.name.startsWith(".")&&l.push({path:De.join(this.sessionsDir,w.name),trusted:!1,archived:!1});let m=[],h=i(async(w,b,M)=>{try{let D=await qx(w);if(!D)return null;let k=JSON.parse(D);if(wt(k)&&k._type==="meta"){let q=typeof k.gitRoot=="string"?k.gitRoot:"",K=CA(k.runtimeInfo)?k.runtimeInfo:void 0,V=k.scope==="managed-task-worker"?"managed-task-worker":"user";if(o&&!b){let Z=of(a,K),y=K?.workspaceRoot?Yx(K.workspaceRoot,a.workspaceRoot??""):!!(s&&q&&Yx(q,s)),A=K?.executionCwd?Yx(K.executionCwd,a.executionCwd??""):!1,J=Bo({gitRoot:q||void 0,runtimeInfo:K}).key===d;if(!Z&&!y&&!A&&!J)return null}if(V!=="user")return null;let fe=typeof k.extensionRecordCount=="number"&&k.extensionRecordCount>0?k.extensionRecordCount:0,ge=typeof k.activeMessageCount=="number"&&k.activeMessageCount>=0?k.activeMessageCount:Math.max(0,await SA(w)-1-fe);return{id:De.basename(w,".jsonl"),title:typeof k.title=="string"?k.title:"",msgCount:ge,...typeof k.tag=="string"?{tag:k.tag}:{},createdAt:typeof k.createdAt=="string"?k.createdAt:void 0,runtimeInfo:K?{...K}:q?{canonicalRepoRoot:q}:void 0,...M?{archived:!0}:{}}}let P=await SA(w);return{id:De.basename(w,".jsonl"),title:"",msgCount:P,...M?{archived:!0}:{}}}catch{return null}},"parseSessionFile"),S=48,I=new Set;for(let w=0;w<l.length;w+=S){let b=await Promise.all(l.slice(w,w+S).map(M=>h(M.path,M.trusted,M.archived)));for(let M of b)M&&!I.has(M.id)&&(I.add(M.id),m.push(M))}let T=n?.limit??10;return m.sort((w,b)=>{let M=w.createdAt?Date.parse(w.createdAt):Number.NaN,D=b.createdAt?Date.parse(b.createdAt):Number.NaN;return Number.isFinite(M)&&Number.isFinite(D)&&M!==D?D-M:Number.isFinite(D)&&!Number.isFinite(M)?1:Number.isFinite(M)&&!Number.isFinite(D)?-1:b.id.localeCompare(w.id)}).slice(0,T).map(({id:w,title:b,msgCount:M,tag:D,runtimeInfo:k,createdAt:P,archived:q})=>({id:w,title:b,msgCount:M,...D!==void 0?{tag:D}:{},...k?{runtimeInfo:k}:{},...P!==void 0?{createdAt:P}:{},...q?{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=De.dirname(r);if(De.basename(o)==="archived"){n=!0;return}await this.movePair(t,o,De.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=De.dirname(r);if(De.basename(o)!=="archived"){n=!0;return}await this.movePair(t,o,De.dirname(o)),this.sessionDirCache.delete(t),n=!0}),n}async movePair(t,n,r){await et.mkdir(r,{recursive:!0});for(let o of[`${t}.jsonl`,`${t}.islands.jsonl`]){let s=De.join(n,o);if(xr.existsSync(s))try{await et.rename(s,De.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)xr.existsSync(o)&&await et.unlink(o).catch(()=>{});this.sessionDirCache.delete(t)}async deleteAll(t){let n=t??(this.hostCwd?await uo(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 et.stat(s)).mtimeMs<r&&(await et.unlink(s),n++)}catch{}},"unlinkIfOld");try{await et.mkdir(this.sessionsDir,{recursive:!0});let s=await et.readdir(this.sessionsDir,{withFileTypes:!0});for(let a of s){let c=De.join(this.sessionsDir,a.name);if(a.isFile()){await o(c);continue}if(!a.isDirectory()||a.name.startsWith("."))continue;let l=[];try{l=await et.readdir(c,{withFileTypes:!0})}catch{continue}for(let d of l){let f=De.join(c,d.name);if(d.isFile())await o(f);else if(d.isDirectory()&&d.name==="archived"){let p=[];try{p=await et.readdir(f)}catch{continue}for(let m of p)await o(De.join(f,m))}}}}catch{}return n}};import ls from"node:fs/promises";import yn from"node:path";var P2=8;function vA(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}i(vA,"isRecord");function IA(e){return e.endsWith(".jsonl")&&!e.endsWith(".archive.jsonl")&&!e.endsWith(".islands.jsonl")&&!e.startsWith(".")&&!e.startsWith("archived-")}i(IA,"isSessionFile");async function $2(e){let t=[],n=[];try{n=await ls.readdir(e,{withFileTypes:!0})}catch{return t}for(let r of n){if(r.isFile()){IA(r.name)&&t.push(yn.join(e,r.name));continue}if(!r.isDirectory()||r.name.startsWith("."))continue;let o=yn.join(e,r.name),s=[];try{s=await ls.readdir(o)}catch{continue}for(let a of s)IA(a)&&t.push(yn.join(o,a))}return t}i($2,"collectSessionFiles");function D2(e,t){let r=yn.relative(e,t).split(yn.sep);return r.length>1?r[0]:void 0}i(D2,"getProjectKey");async function O2(e,t){let n=yn.relative(e,t),r=yn.basename(t,".jsonl");try{let s=(await ls.readFile(t,"utf8")).split(/\r?\n/,1)[0];if(!s)return null;let a=JSON.parse(s);if(!vA(a)||a._type!=="meta")return null;let c=vA(a.runtimeInfo)?a.runtimeInfo:void 0,l=typeof c?.canonicalRepoRoot=="string"?c.canonicalRepoRoot:typeof c?.workspaceRoot=="string"?c.workspaceRoot:void 0,d=typeof a.createdAt=="string"?Date.parse(a.createdAt):Number.NaN,f=Array.isArray(a.uiHistory)?a.uiHistory:void 0,p=typeof a.artifactLedgerCount=="number"?a.artifactLedgerCount:0,m=typeof a.activeEntryId=="string"||a.activeEntryId===null;return{id:typeof a.id=="string"?a.id:r,filePath:t,relativePath:n,projectKey:D2(e,t),isRunner:r.startsWith("runner-"),title:typeof a.title=="string"?a.title:"",gitRoot:typeof a.gitRoot=="string"?a.gitRoot:"",runtimeRoot:l,createdAtMs:Number.isFinite(d)?d:void 0,scope:a.scope==="managed-task-worker"?"managed-task-worker":"user",activeMessageCount:typeof a.activeMessageCount=="number"?a.activeMessageCount:void 0,hasHostState:!!(f&&f.length>0||a.lineageVersion===2||m||p>0)}}catch{return null}}i(O2,"parseCandidate");function N2(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(N2,"sameProject");function B2(e,t){if(t.isRunner||t.scope!=="user"||!N2(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>=P2?{canonical:t,score:n,reasons:r}:null}i(B2,"scoreCandidate");function H2(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(H2,"formatArchiveBatch");async function W2(e){let t=e,n=1;for(;;){try{await ls.access(t)}catch{return t}let r=yn.extname(e);t=`${e.slice(0,e.length-r.length)}.${n}${r}`,n+=1}}i(W2,"uniqueTargetPath");async function bA(e={}){let t=e.sessionsDir??lo;e.apply&&(await ls.mkdir(t,{recursive:!0}),await li(t));let n=await $2(t),r=[],o=[];for(let f of n){let p=await O2(t,f);if(!p){yn.basename(f).startsWith("runner-")&&o.push({runnerId:yn.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(h=>B2(f,h)).filter(h=>h!==null).sort((h,S)=>S.score-h.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(h=>`${h.canonical.id}:${h.score}`).join(", ")});continue}let m=p[0];c.push({runnerId:f.id,runnerPath:f.filePath,canonicalId:m.canonical.id,canonicalPath:m.canonical.filePath,score:m.score,reasons:m.reasons})}let l=[],d=yn.join(t,".dedupe-archive",H2(e.now??new Date));if(e.apply)for(let f of c){let p=yn.relative(t,f.runnerPath),m;try{m=await W2(yn.join(d,p)),await ls.mkdir(yn.dirname(m),{recursive:!0}),await ls.rename(f.runnerPath,m),l.push({runnerId:f.runnerId,from:f.runnerPath,to:m})}catch(h){o.push({runnerId:f.runnerId,path:f.runnerPath,reason:"move-failed",detail:`target=${m??yn.join(d,p)}; ${h instanceof Error?h.message:String(h)}`})}}return{scanned:n.length,runnerCandidates:s.length,matches:c,moved:l,skipped:o,...e.apply?{archiveDir:d}:{}}}i(bA,"dedupeSessions");function F2(e){return e?.storage?e.storage:e?.sessionsDir!==void 0?new Qn({sessionsDir:e.sessionsDir}):new Qn}i(F2,"resolveStorage");async function pc(e,t){let n={compacted:!1,tokensBefore:0,tokensAfter:0,messages:[]};try{let r=F2(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=vi(a);if(!c)return{...n,messages:s,reason:`provider not found: ${a}`};let l=t?.contextWindow??c.getEffectiveContextWindow?.(t?.model)??c.getContextWindow?.()??2e5,d=Ii(s),f=await Zd(),p=aT({...f,contextWindow:l,triggerPercent:t?.triggerPercent??f.triggerPercent,triggerTokens:t?.triggerTokens??f.triggerTokens}),m=await cT(s,p,c,l,t?.customInstructions,void 0,d,wT,TT,t?.model,!0,c.getEffectiveMaxOutputTokens(t?.model));if(!m.compacted)return{compacted:!1,tokensBefore:m.tokensBefore,tokensAfter:m.tokensAfter,messages:s,reason:"no compaction needed"};let h=m.anchor??{summary:m.summary??"",tokensBefore:m.tokensBefore,tokensAfter:m.tokensAfter,reason:"manual"},S=m.artifactLedger??o.artifactLedger??[],I=Math.max(0,(m.tokensBefore??0)-(m.tokensAfter??0)),{ledgerMessage:T}=lT(S,I),w=T?[T]:[],b=nt(s,o.lineage),M=Od(b,m.messages,h,w),D=kt(M),k=Ii(D),P=[...M.entries].reverse().find(V=>V.type==="compaction"),q=P?{...M,entries:M.entries.map(V=>V.id===P.id&&V.type==="compaction"?{...V,tokensAfter:k}:V)}:M,K={...o,messages:D,lineage:q,artifactLedger:m.artifactLedger??o.artifactLedger};return await r.save(e,K),{compacted:!0,tokensBefore:m.tokensBefore,tokensAfter:k,messages:D,report:m.report}}catch(r){return{...n,reason:r instanceof Error?r.message:String(r)}}}i(pc,"compactSession");import us from"node:fs";import Ro from"node:fs/promises";import sn from"node:path";import{randomUUID as j2}from"node:crypto";async function U2(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 Ro.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(sn.join(e,s.name));continue}if(!s.isDirectory()||s.name.startsWith("."))continue;let a=sn.join(e,s.name);try{for(let c of await Ro.readdir(a))r(c)&&n.push(sn.join(a,c))}catch{}if(t){let c=sn.join(a,"archived");try{for(let l of await Ro.readdir(c))r(l)&&n.push(sn.join(c,l))}catch{}}}return n}i(U2,"collectSessionFilePaths");function RA(e){if(!e||!e.trim())return;let t=sn.resolve(e).replace(/\\/g,"/");return process.platform==="win32"||process.platform==="darwin"?t.toLowerCase():t}i(RA,"normalizeComparableRoot");function G2(e,t,n){let r=RA(n);return r?[e?.gitRoot,e?.workspaceRoot,t].some(o=>RA(o)===r):!0}i(G2,"sessionMatchesProjectRoot");async function K2(e){let t=[],n=[e];for(;n.length>0;){let r=n.pop(),o;try{o=await Ro.readdir(r,{withFileTypes:!0})}catch{continue}for(let s of o){let a=sn.join(r,s.name);s.isDirectory()&&!s.isSymbolicLink()?n.push(a):s.isFile()&&s.name.endsWith(".jsonl")&&t.push(a)}}return t}i(K2,"collectJsonlFiles");async function V2(e,t){let n;try{n=new Set(await Ro.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(sn.join(t,c))}},"collectNames");for(let s of await K2(e)){let a;try{a=await Ro.readFile(s,"utf-8")}catch{continue}o(a)}for(let s of[...r].filter(a=>sn.basename(a).includes("-bash-recovery-manifest-")))try{o(await Ro.readFile(s,"utf-8"))}catch{}return r}i(V2,"collectToolOutputReferences");function z2(e){let t=dT();hT(t,()=>V2(e,t))}i(z2,"scheduleToolOutputRetention");async function X2(e){let t=await qx(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(X2,"readSessionMetaRecord");async function Y2(e,t){if(typeof t.activeMessageCount=="number"&&t.activeMessageCount>=0)return t.activeMessageCount;let n=(await Ro.readFile(e,"utf-8")).trim(),r=typeof t.extensionRecordCount=="number"&&t.extensionRecordCount>0?t.extensionRecordCount:0;return Math.max(0,n.split(`
314
+ `))}if(r.errorMetadata?.consecutiveErrors&&r.errorMetadata.consecutiveErrors>0){let a=rT(r.messages);if(a!==r.messages){bo(fA.cyan("[Session Recovery] Cleaned incomplete tool calls from previous session"));let c={...r,messages:a,errorMetadata:{...r.errorMetadata,consecutiveErrors:0},lineage:nt(a,r.lineage)};return await this.serializedWrite(t,async()=>{await this.writeSessionInternal(t,c,o),this.syncAppendState(t,c)}),c}}return pA(s,0),r}async getLineage(t){return(await this.readSession(t))?.data.lineage??null}async loadFullLineage(t){await this.ensureMigrated();let n=await this.resolveSessionLocation(t);if(!n)return null;let r=await this.readSession(t);if(!r?.data.lineage)return null;let o=await this.readArchivedEntries(t,n);return o.length===0?r.data.lineage:{...r.data.lineage,entries:C2(o,r.data.lineage.entries)}}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=js(s.data.lineage,n,r);if(!a)return;let c={...s.data,messages:kt(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??Ks(o.data.lineage);if(!s)return;let a=Vs(o.data.lineage,s);if(!a)return;let c={...o.data,messages:kt(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=Us(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=zs(s.data.lineage,n);if(!a)return;let c=r?.sessionId??await Fs(),l={messages:kt(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 et.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 uo(this.hostCwd):null),a=await Ar({cwd:s??this.hostCwd??process.cwd()}),c=await et.readdir(this.sessionsDir,{withFileTypes:!0}),l=[],d=Bo({gitRoot:s??void 0,runtimeInfo:a}).key,f=i(w=>w.endsWith(".archive.jsonl")||w.endsWith(".islands.jsonl"),"isSidecar"),p=o?[d]:c.filter(w=>w.isDirectory()&&!w.name.startsWith(".")).map(w=>w.name);for(let w of p){let b=[];try{b=await et.readdir(this.projectDir(w))}catch{continue}for(let M of b)M.endsWith(".jsonl")&&!f(M)&&l.push({path:De.join(this.projectDir(w),M),trusted:o,archived:!1});if(n?.includeArchived){let M=[];try{M=await et.readdir(De.join(this.projectDir(w),"archived"))}catch{M=[]}for(let D of M)D.endsWith(".jsonl")&&!f(D)&&l.push({path:De.join(this.projectDir(w),"archived",D),trusted:o,archived:!0})}}for(let w of c)w.isFile()&&w.name.endsWith(".jsonl")&&!f(w.name)&&!w.name.startsWith("archived-")&&!w.name.startsWith(".")&&l.push({path:De.join(this.sessionsDir,w.name),trusted:!1,archived:!1});let m=[],h=i(async(w,b,M)=>{try{let D=await qx(w);if(!D)return null;let k=JSON.parse(D);if(wt(k)&&k._type==="meta"){let q=typeof k.gitRoot=="string"?k.gitRoot:"",K=CA(k.runtimeInfo)?k.runtimeInfo:void 0,V=k.scope==="managed-task-worker"?"managed-task-worker":"user";if(o&&!b){let Z=of(a,K),y=K?.workspaceRoot?Yx(K.workspaceRoot,a.workspaceRoot??""):!!(s&&q&&Yx(q,s)),A=K?.executionCwd?Yx(K.executionCwd,a.executionCwd??""):!1,J=Bo({gitRoot:q||void 0,runtimeInfo:K}).key===d;if(!Z&&!y&&!A&&!J)return null}if(V!=="user")return null;let fe=typeof k.extensionRecordCount=="number"&&k.extensionRecordCount>0?k.extensionRecordCount:0,ge=typeof k.activeMessageCount=="number"&&k.activeMessageCount>=0?k.activeMessageCount:Math.max(0,await SA(w)-1-fe);return{id:De.basename(w,".jsonl"),title:typeof k.title=="string"?k.title:"",msgCount:ge,...typeof k.tag=="string"?{tag:k.tag}:{},createdAt:typeof k.createdAt=="string"?k.createdAt:void 0,runtimeInfo:K?{...K}:q?{canonicalRepoRoot:q}:void 0,...M?{archived:!0}:{}}}let P=await SA(w);return{id:De.basename(w,".jsonl"),title:"",msgCount:P,...M?{archived:!0}:{}}}catch{return null}},"parseSessionFile"),S=48,I=new Set;for(let w=0;w<l.length;w+=S){let b=await Promise.all(l.slice(w,w+S).map(M=>h(M.path,M.trusted,M.archived)));for(let M of b)M&&!I.has(M.id)&&(I.add(M.id),m.push(M))}let T=n?.limit??10;return m.sort((w,b)=>{let M=w.createdAt?Date.parse(w.createdAt):Number.NaN,D=b.createdAt?Date.parse(b.createdAt):Number.NaN;return Number.isFinite(M)&&Number.isFinite(D)&&M!==D?D-M:Number.isFinite(D)&&!Number.isFinite(M)?1:Number.isFinite(M)&&!Number.isFinite(D)?-1:b.id.localeCompare(w.id)}).slice(0,T).map(({id:w,title:b,msgCount:M,tag:D,runtimeInfo:k,createdAt:P,archived:q})=>({id:w,title:b,msgCount:M,...D!==void 0?{tag:D}:{},...k?{runtimeInfo:k}:{},...P!==void 0?{createdAt:P}:{},...q?{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=De.dirname(r);if(De.basename(o)==="archived"){n=!0;return}await this.movePair(t,o,De.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=De.dirname(r);if(De.basename(o)!=="archived"){n=!0;return}await this.movePair(t,o,De.dirname(o)),this.sessionDirCache.delete(t),n=!0}),n}async movePair(t,n,r){await et.mkdir(r,{recursive:!0});for(let o of[`${t}.jsonl`,`${t}.islands.jsonl`]){let s=De.join(n,o);if(xr.existsSync(s))try{await et.rename(s,De.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)xr.existsSync(o)&&await et.unlink(o).catch(()=>{});this.sessionDirCache.delete(t)}async deleteAll(t){let n=t??(this.hostCwd?await uo(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 et.stat(s)).mtimeMs<r&&(await et.unlink(s),n++)}catch{}},"unlinkIfOld");try{await et.mkdir(this.sessionsDir,{recursive:!0});let s=await et.readdir(this.sessionsDir,{withFileTypes:!0});for(let a of s){let c=De.join(this.sessionsDir,a.name);if(a.isFile()){await o(c);continue}if(!a.isDirectory()||a.name.startsWith("."))continue;let l=[];try{l=await et.readdir(c,{withFileTypes:!0})}catch{continue}for(let d of l){let f=De.join(c,d.name);if(d.isFile())await o(f);else if(d.isDirectory()&&d.name==="archived"){let p=[];try{p=await et.readdir(f)}catch{continue}for(let m of p)await o(De.join(f,m))}}}}catch{}return n}};import ls from"node:fs/promises";import yn from"node:path";var P2=8;function vA(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}i(vA,"isRecord");function IA(e){return e.endsWith(".jsonl")&&!e.endsWith(".archive.jsonl")&&!e.endsWith(".islands.jsonl")&&!e.startsWith(".")&&!e.startsWith("archived-")}i(IA,"isSessionFile");async function $2(e){let t=[],n=[];try{n=await ls.readdir(e,{withFileTypes:!0})}catch{return t}for(let r of n){if(r.isFile()){IA(r.name)&&t.push(yn.join(e,r.name));continue}if(!r.isDirectory()||r.name.startsWith("."))continue;let o=yn.join(e,r.name),s=[];try{s=await ls.readdir(o)}catch{continue}for(let a of s)IA(a)&&t.push(yn.join(o,a))}return t}i($2,"collectSessionFiles");function D2(e,t){let r=yn.relative(e,t).split(yn.sep);return r.length>1?r[0]:void 0}i(D2,"getProjectKey");async function O2(e,t){let n=yn.relative(e,t),r=yn.basename(t,".jsonl");try{let s=(await ls.readFile(t,"utf8")).split(/\r?\n/,1)[0];if(!s)return null;let a=JSON.parse(s);if(!vA(a)||a._type!=="meta")return null;let c=vA(a.runtimeInfo)?a.runtimeInfo:void 0,l=typeof c?.canonicalRepoRoot=="string"?c.canonicalRepoRoot:typeof c?.workspaceRoot=="string"?c.workspaceRoot:void 0,d=typeof a.createdAt=="string"?Date.parse(a.createdAt):Number.NaN,f=Array.isArray(a.uiHistory)?a.uiHistory:void 0,p=typeof a.artifactLedgerCount=="number"?a.artifactLedgerCount:0,m=typeof a.activeEntryId=="string"||a.activeEntryId===null;return{id:typeof a.id=="string"?a.id:r,filePath:t,relativePath:n,projectKey:D2(e,t),isRunner:r.startsWith("runner-"),title:typeof a.title=="string"?a.title:"",gitRoot:typeof a.gitRoot=="string"?a.gitRoot:"",runtimeRoot:l,createdAtMs:Number.isFinite(d)?d:void 0,scope:a.scope==="managed-task-worker"?"managed-task-worker":"user",activeMessageCount:typeof a.activeMessageCount=="number"?a.activeMessageCount:void 0,hasHostState:!!(f&&f.length>0||a.lineageVersion===2||m||p>0)}}catch{return null}}i(O2,"parseCandidate");function N2(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(N2,"sameProject");function B2(e,t){if(t.isRunner||t.scope!=="user"||!N2(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>=P2?{canonical:t,score:n,reasons:r}:null}i(B2,"scoreCandidate");function H2(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(H2,"formatArchiveBatch");async function W2(e){let t=e,n=1;for(;;){try{await ls.access(t)}catch{return t}let r=yn.extname(e);t=`${e.slice(0,e.length-r.length)}.${n}${r}`,n+=1}}i(W2,"uniqueTargetPath");async function bA(e={}){let t=e.sessionsDir??lo;e.apply&&(await ls.mkdir(t,{recursive:!0}),await li(t));let n=await $2(t),r=[],o=[];for(let f of n){let p=await O2(t,f);if(!p){yn.basename(f).startsWith("runner-")&&o.push({runnerId:yn.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(h=>B2(f,h)).filter(h=>h!==null).sort((h,S)=>S.score-h.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(h=>`${h.canonical.id}:${h.score}`).join(", ")});continue}let m=p[0];c.push({runnerId:f.id,runnerPath:f.filePath,canonicalId:m.canonical.id,canonicalPath:m.canonical.filePath,score:m.score,reasons:m.reasons})}let l=[],d=yn.join(t,".dedupe-archive",H2(e.now??new Date));if(e.apply)for(let f of c){let p=yn.relative(t,f.runnerPath),m;try{m=await W2(yn.join(d,p)),await ls.mkdir(yn.dirname(m),{recursive:!0}),await ls.rename(f.runnerPath,m),l.push({runnerId:f.runnerId,from:f.runnerPath,to:m})}catch(h){o.push({runnerId:f.runnerId,path:f.runnerPath,reason:"move-failed",detail:`target=${m??yn.join(d,p)}; ${h instanceof Error?h.message:String(h)}`})}}return{scanned:n.length,runnerCandidates:s.length,matches:c,moved:l,skipped:o,...e.apply?{archiveDir:d}:{}}}i(bA,"dedupeSessions");function F2(e){return e?.storage?e.storage:e?.sessionsDir!==void 0?new Qn({sessionsDir:e.sessionsDir}):new Qn}i(F2,"resolveStorage");async function pc(e,t){let n={compacted:!1,tokensBefore:0,tokensAfter:0,messages:[]};try{let r=F2(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=vi(a);if(!c)return{...n,messages:s,reason:`provider not found: ${a}`};let l=t?.contextWindow??c.getEffectiveContextWindow?.(t?.model)??c.getContextWindow?.()??2e5,d=Ii(s),f=await Zd(),p=sT({...f,contextWindow:l,triggerPercent:t?.triggerPercent??f.triggerPercent,triggerTokens:t?.triggerTokens??f.triggerTokens}),m=await aT(s,p,c,l,t?.customInstructions,void 0,d,wT,TT,t?.model,!0,c.getEffectiveMaxOutputTokens(t?.model));if(!m.compacted)return{compacted:!1,tokensBefore:m.tokensBefore,tokensAfter:m.tokensAfter,messages:s,reason:"no compaction needed"};let h=m.anchor??{summary:m.summary??"",tokensBefore:m.tokensBefore,tokensAfter:m.tokensAfter,reason:"manual"},S=m.artifactLedger??o.artifactLedger??[],I=Math.max(0,(m.tokensBefore??0)-(m.tokensAfter??0)),{ledgerMessage:T}=cT(S,I),w=T?[T]:[],b=nt(s,o.lineage),M=Od(b,m.messages,h,w),D=kt(M),k=Ii(D),P=[...M.entries].reverse().find(V=>V.type==="compaction"),q=P?{...M,entries:M.entries.map(V=>V.id===P.id&&V.type==="compaction"?{...V,tokensAfter:k}:V)}:M,K={...o,messages:D,lineage:q,artifactLedger:m.artifactLedger??o.artifactLedger};return await r.save(e,K),{compacted:!0,tokensBefore:m.tokensBefore,tokensAfter:k,messages:D,report:m.report}}catch(r){return{...n,reason:r instanceof Error?r.message:String(r)}}}i(pc,"compactSession");import us from"node:fs";import Ro from"node:fs/promises";import sn from"node:path";import{randomUUID as j2}from"node:crypto";async function U2(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 Ro.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(sn.join(e,s.name));continue}if(!s.isDirectory()||s.name.startsWith("."))continue;let a=sn.join(e,s.name);try{for(let c of await Ro.readdir(a))r(c)&&n.push(sn.join(a,c))}catch{}if(t){let c=sn.join(a,"archived");try{for(let l of await Ro.readdir(c))r(l)&&n.push(sn.join(c,l))}catch{}}}return n}i(U2,"collectSessionFilePaths");function RA(e){if(!e||!e.trim())return;let t=sn.resolve(e).replace(/\\/g,"/");return process.platform==="win32"||process.platform==="darwin"?t.toLowerCase():t}i(RA,"normalizeComparableRoot");function G2(e,t,n){let r=RA(n);return r?[e?.gitRoot,e?.workspaceRoot,t].some(o=>RA(o)===r):!0}i(G2,"sessionMatchesProjectRoot");async function K2(e){let t=[],n=[e];for(;n.length>0;){let r=n.pop(),o;try{o=await Ro.readdir(r,{withFileTypes:!0})}catch{continue}for(let s of o){let a=sn.join(r,s.name);s.isDirectory()&&!s.isSymbolicLink()?n.push(a):s.isFile()&&s.name.endsWith(".jsonl")&&t.push(a)}}return t}i(K2,"collectJsonlFiles");async function V2(e,t){let n;try{n=new Set(await Ro.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(sn.join(t,c))}},"collectNames");for(let s of await K2(e)){let a;try{a=await Ro.readFile(s,"utf-8")}catch{continue}o(a)}for(let s of[...r].filter(a=>sn.basename(a).includes("-bash-recovery-manifest-")))try{o(await Ro.readFile(s,"utf-8"))}catch{}return r}i(V2,"collectToolOutputReferences");function z2(e){let t=dT();hT(t,()=>V2(e,t))}i(z2,"scheduleToolOutputRetention");async function X2(e){let t=await qx(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(X2,"readSessionMetaRecord");async function Y2(e,t){if(typeof t.activeMessageCount=="number"&&t.activeMessageCount>=0)return t.activeMessageCount;let n=(await Ro.readFile(e,"utf-8")).trim(),r=typeof t.extensionRecordCount=="number"&&t.extensionRecordCount>0?t.extensionRecordCount:0;return Math.max(0,n.split(`
315
315
  `).length-1-r)}i(Y2,"readActiveMessageCount");async function q2(e,t){let n=await X2(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"?_A(n.runtimeInfo):void 0,l=typeof n.gitRoot=="string"?n.gitRoot:void 0,d=c??(l?{gitRoot:l}:void 0);if(!G2(d,l,t.gitRoot)||t.surface!==void 0&&d?.surface!==t.surface)return;let f=sn.basename(e,".jsonl"),p=sn.basename(sn.dirname(e))==="archived";return{id:f,title:typeof n.title=="string"?n.title:"",msgCount:await Y2(e,n),...a!==void 0?{tag:a}:{},...o!==void 0?{createdAt:o}:{},...d!==void 0?{runtimeInfo:d}:{},projectKey:_i(d?.gitRoot??d?.workspaceRoot).key,...p?{archived:!0}:{},_createdAtMs:s}}i(q2,"readSessionListCandidate");function Yr(e){return e!==void 0?new Qn({sessionsDir:e}):new Qn}i(Yr,"getStorage");function eS(e){return e??lo}i(eS,"resolveSessionsDir");function tS(e){return Buffer.from(e,"utf8").toString("base64url")}i(tS,"encodeSessionCursor");function J2(e){if(!(!e||e.length>1024))try{let t=Buffer.from(e,"base64url").toString("utf8");return t&&tS(t)===e?t:void 0}catch{return}}i(J2,"decodeSessionCursor");async function nS(e){return AA(e,void 0)}i(nS,"listSessions");async function AA(e,t){try{let n=eS(t);await li(n);let r=e?.projectRoot,o=Yr(t);await Ro.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:J2(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(Q2);let m=await U2(n,a),h=[],S=new Set,I={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<m.length;M+=T){let D=await Promise.all(m.slice(M,M+T).map(async k=>{try{return await q2(k,I)}catch(P){Ct({source:"session.public-api",level:"warn",message:"Unreadable session record was skipped.",detail:{filePath:k,error:P}});return}}));for(let k of D)k&&!S.has(k.id)&&(S.add(k.id),h.push(k))}h.sort((M,D)=>{let k=M._createdAtMs,P=D._createdAtMs;return Number.isFinite(k)&&Number.isFinite(P)&&k!==P?P-k:Number.isFinite(P)&&!Number.isFinite(k)?1:Number.isFinite(k)&&!Number.isFinite(P)?-1:D.id.localeCompare(M.id)});let w=p===void 0?-1:h.findIndex(M=>M.id===p);if(p!==void 0&&w<0)return[];let b=w+1;return h.slice(b,b+c).map(({id:M,title:D,msgCount:k,tag:P,createdAt:q,runtimeInfo:K,projectKey:V,archived:fe})=>({id:M,cursor:tS(M),title:D,msgCount:k,...P!==void 0?{tag:P}:{},...q!==void 0?{createdAt:q}:{},...K!==void 0?{runtimeInfo:K}:{},...V!==void 0?{projectKey:V}:{},...fe?{archived:!0}:{}}))}catch{return[]}}i(AA,"listSessionsImpl");function _A(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(_A,"extractRuntimeInfoSummary");function Q2(e){let t=e.runtimeInfo?_A(e.runtimeInfo):void 0,n=_i(t?.gitRoot??t?.workspaceRoot).key;return{id:e.id,cursor:tS(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(Q2,"toSessionSummary");function LA(e){return typeof e=="object"&&e!==null}i(LA,"isRecord");function PA(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(PA,"collectActiveIds");function kA(e,t){return t==="branch_summary"?{role:"user",content:`The following is a summary of a branch that this conversation came back from:
316
316
 
317
317
  <summary>
318
318
  ${e}
319
319
  </summary>`}:{role:"system",content:`[\u5BF9\u8BDD\u5386\u53F2\u6458\u8981]
320
320
 
321
- ${e}`}}i(kA,"summaryMessage");function EA(e){return{role:"system",content:`[Rewind] ${e}`}}i(EA,"rewindMarkerMessage");function Z2(e){return{role:"system",content:e.content,_source:"client_notice",timestamp:e.timestamp,...e.turnId!==void 0?{turnId:e.turnId}:{}}}i(Z2,"clientNoticeMessage");function Jx(e,t){let n=e[t];return typeof n=="string"?n:void 0}i(Jx,"messageStringField");function ej(e){if(e.role==="user")return"user";if(e.role==="assistant")return"assistant";if(e.role==="system")return"system"}i(ej,"messageSource");function MA(e){return LA(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(MA,"isTaskResultMetadata");function tj(e){if(MA(e._taskResult))return[e._taskResult];if(Array.isArray(e._taskResults))return e._taskResults.filter(MA);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(tj,"taskResultsFromMessage");function nj(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(nj,"taskResultPayload");function rj(e){if(!LA(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(rj,"legacyRewindDetails");function oj(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(oj,"transcriptEntryActive");function ui(e){return{entryId:e.id,parentId:e.parentId,logicalId:e.logicalId??e.id,...e.sourceEntryId!==void 0?{sourceEntryId:e.sourceEntryId}:{}}}i(ui,"transcriptEntryIdentity");function $A(e,t,n){let r=oj(e,t,n);switch(e.type){case"message":{let o=tj(e.message);if(o.length>0){let s=o[0];return{...ui(e),timestamp:e.timestamp,type:"task_result",source:s.source,turnId:Jx(e.message,"turnId"),message:e.message,active:r,payload:nj(o),taskResults:o}}return e.message._source==="client_notice"?{...ui(e),timestamp:e.timestamp,type:"client_notice",source:"client",turnId:Jx(e.message,"turnId"),message:e.message,active:r,payload:{content:e.message.content,entersModelContext:!1}}:{...ui(e),timestamp:e.timestamp,type:"message",source:ej(e.message),turnId:Jx(e.message,"turnId"),message:e.message,active:r}}case"compaction":if(e.reason==="rewind"){let o=rj(e.details),s=r||(e.parentId===null?n===null:t.has(e.parentId));return{...ui(e),timestamp:e.timestamp,type:"rewind_marker",source:"system",message:EA(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{...ui(e),timestamp:e.timestamp,type:"compaction",source:"system",message:kA(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{...ui(e),timestamp:e.timestamp,type:"rewind_marker",source:"system",message:EA(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{...ui(e),timestamp:e.timestamp,type:"branch_summary",source:"system",message:kA(e.summary,"branch_summary"),active:r,summary:e.summary,payload:{summary:e.summary,fromId:e.fromId,details:e.details}};case"client_notice":return{...ui(e),timestamp:e.timestamp,type:"client_notice",source:"client",turnId:e.turnId,message:Z2(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($A,"toTranscriptEntry");function ij(e){let t=PA(e);return e.entries.map(n=>$A(n,t,e.activeEntryId)).filter(n=>n!==null)}i(ij,"buildTranscriptEntries");async function rS(e){return DA(e,void 0)}i(rS,"loadSession");async function DA(e,t){try{return await Yr(t).load(e)}catch{return null}}i(DA,"loadSessionImpl");async function oS(e){return OA(e,void 0)}i(oS,"loadFullTranscript");async function OA(e,t){try{let n=eS(t);await li(n);let r=Yr(t),o=await r.load(e);if(!o)return null;let s=await r.loadFullLineage(e);if(!s)return{...o,activeMessages:o.messages,transcriptEntries:[]};let a=ij(s);return{...o,messages:a.filter(c=>c.type!=="rewind_marker").map(c=>c.message),activeMessages:o.messages,transcriptEntries:a,lineage:s}}catch{return null}}i(OA,"loadFullTranscriptImpl");function sj(e){let t=e?.trim();return t&&t.length>0?t:"client"}i(sj,"normalizeClientNoticeSource");function aj(e,t){let n=`notice_${j2().replace(/-/g,"").slice(0,12)}`;return{type:"client_notice",id:n,parentId:e.activeEntryId,timestamp:t.timestamp??new Date().toISOString(),logicalId:n,source:sj(t.source),content:t.content,...t.turnId!==void 0?{turnId:t.turnId}:{},...t.payload!==void 0?{payload:t.payload}:{}}}i(aj,"createClientNoticeEntry");async function NA(e,t){return cj(e,t,void 0)}i(NA,"appendClientNotice");async function cj(e,t,n){return Qx(e,t,Yr(n))}i(cj,"appendClientNoticeImpl");async function Qx(e,t,n){try{let r=await n.load(e);if(!r)return null;let o=r.lineage??nt(r.messages),s=aj(o,t),a={...o,entries:[...o.entries,s]},c={...r,lineage:a,messages:r.messages};await n.appendSessionDelta(e,c);let l=PA(a);return $A(s,l,a.activeEntryId)}catch{return null}}i(Qx,"appendClientNoticeWithStorage");async function iS(e,t){return BA(e,t,void 0)}i(iS,"forkSession");async function BA(e,t,n){try{return await Yr(n).fork(e,t?.selector,{sessionId:t?.sessionId,title:t?.title})}catch{return null}}i(BA,"forkSessionImpl");async function sS(e,t){return HA(e,t,void 0)}i(sS,"rewindSession");async function HA(e,t,n){try{return await Yr(n).rewind(e,t?.selector)}catch{return null}}i(HA,"rewindSessionImpl");async function aS(e,t){return WA(e,t,void 0)}i(aS,"setActiveEntry");async function WA(e,t,n){try{return await Yr(n).setActiveEntry(e,t)}catch{return null}}i(WA,"setActiveEntryImpl");async function vu(){try{return rT({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(vu,"listRunningSessions");async function cS(e){return FA(e,void 0)}i(cS,"deleteSession");async function FA(e,t){try{let r=(await vu()).find(o=>o.sessionId===e);return r?{error:{code:"session_running",runningProcess:{pid:r.pid,startedAt:r.startedAt}}}:(await Yr(t).delete(e),{ok:!0})}catch{return{ok:!0}}}i(FA,"deleteSessionImpl");async function lS(e){return jA(e,void 0)}i(lS,"archiveSession");async function jA(e,t){try{return await Yr(t).archive(e)}catch{return!1}}i(jA,"archiveSessionImpl");async function uS(e){return UA(e,void 0)}i(uS,"unarchiveSession");async function UA(e,t){try{return await Yr(t).unarchive(e)}catch{return!1}}i(UA,"unarchiveSessionImpl");function dS(e){return GA(e,void 0)}i(dS,"watchSessions");function GA(e,t){let n=eS(t);return li(n).catch(()=>{}),process.platform==="win32"?dj(e,n):lj(e,n)}i(GA,"watchSessionsImpl");function Zx(e){let t=sn.basename(e);return!t.endsWith(".jsonl")||t.endsWith(".archive.jsonl")||t.endsWith(".islands.jsonl")||t.startsWith(".")?null:t.slice(0,-6)}i(Zx,"sessionIdFromFilename");function lj(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(!us.existsSync(t)){setTimeout(a,1e3);return}let c=i((l,d)=>{if(!d)return;let f=typeof d=="string"?d:d.toString(),p=Zx(f);if(!p)return;let m=l==="rename"?uj(t,f):"change";s(m,p)},"onEvent");try{n=us.watch(t,{recursive:!0},c)}catch{n=us.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(lj,"watchSessionsPosix");function uj(e,t){try{return us.statSync(sn.join(e,t)),"add"}catch{return"remove"}}i(uj,"detectRenameKind");function dj(e,t){let n=!1,r=new Set;function o(c,l){try{for(let d of us.readdirSync(l)){let f=Zx(d);f&&c.add(f)}}catch{}}i(o,"addIds");function s(){let c=new Set;try{if(!us.existsSync(t))return c;for(let l of us.readdirSync(t,{withFileTypes:!0}))if(l.isFile()){let d=Zx(l.name);d&&c.add(d)}else if(l.isDirectory()&&!l.name.startsWith(".")){let d=sn.join(t,l.name);o(c,d),o(c,sn.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(dj,"watchSessionsWindows");function KA(e){let t=e?.sessionsDir;z2(t??lo);let n=t!==void 0?new Qn({sessionsDir:t}):new Qn;return t===void 0?{listSessions:nS,loadSession:rS,loadFullTranscript:oS,appendClientNotice:i((r,o)=>Qx(r,o,n),"appendClientNotice"),forkSession:iS,rewindSession:sS,setActiveEntry:aS,deleteSession:cS,archiveSession:lS,unarchiveSession:uS,listRunningSessions:vu,watchSessions:dS,compactSession:i((r,o)=>pc(r,{...o,storage:n}),"compactSession"),storage:n}:{listSessions:i(r=>AA(r,t),"listSessions"),loadSession:i(r=>DA(r,t),"loadSession"),loadFullTranscript:i(r=>OA(r,t),"loadFullTranscript"),appendClientNotice:i((r,o)=>Qx(r,o,n),"appendClientNotice"),forkSession:i((r,o)=>BA(r,o,t),"forkSession"),rewindSession:i((r,o)=>HA(r,o,t),"rewindSession"),setActiveEntry:i((r,o)=>WA(r,o,t),"setActiveEntry"),deleteSession:i(r=>FA(r,t),"deleteSession"),archiveSession:i(r=>jA(r,t),"archiveSession"),unarchiveSession:i(r=>UA(r,t),"unarchiveSession"),listRunningSessions:vu,watchSessions:i(r=>GA(r,t),"watchSessions"),compactSession:i((r,o)=>pc(r,{...o,storage:n}),"compactSession"),storage:n}}i(KA,"createSessionManager");var fj={};O_(fj,{App:()=>Fb,AutocompleteContextProvider:()=>Zf,BUILTIN_COMMANDS:()=>LC,BackgroundTaskBar:()=>Yl,CONFIG_TEMPLATES:()=>_T,ChildActivitySurface:()=>jp,ConsoleCapturer:()=>cc,DEFAULT_UI_STATE:()=>Kd,DialogSurface:()=>Np,DotsIndicator:()=>Hg,FILE_MODIFICATION_TOOLS:()=>co,FileSessionStorage:()=>Qn,FullscreenTranscriptLayout:()=>kp,HistoryItemRenderer:()=>$b,InputPrompt:()=>Xi,IntegrationConfigController:()=>BT,KODAX_CONFIG_FILE:()=>WT,KODAX_DIR:()=>HT,KODAX_EXAMPLE_CONFIG_FILE:()=>qT,KODAX_INTEGRATION_EXAMPLE_FILES:()=>JT,KODAX_SESSIONS_DIR:()=>lo,KODAX_VERSION:()=>Ei,KeyMatchers:()=>_g,KeypressHandlerPriority:()=>fn,KeypressParser:()=>Ra,KeypressProvider:()=>kl,LRUCache:()=>Bi,LoadingIndicator:()=>ZI,MemorySessionStorage:()=>rs,MessageActions:()=>Ep,MessageList:()=>Qo,MessageSelector:()=>Kb,NotificationsSurface:()=>zl,PERMISSION_MODES:()=>MT,PREVIEW_MAX_LENGTH:()=>FT,PendingInputsIndicator:()=>mM,ProgressIndicator:()=>Wg,PromptComposer:()=>_p,PromptFooter:()=>Fl,PromptFooterLeftSide:()=>Hl,PromptFooterRightSide:()=>Wl,PromptHelpMenu:()=>Pp,PromptSuggestionsSurface:()=>Op,ProviderSetupConfigConflictError:()=>Cu,ProviderSetupInvalidConfigError:()=>ci,QueuedCommandsSurface:()=>Bp,RUNTIME_PERMISSION_PENDING_NOTICE:()=>ja,SimpleApp:()=>jb,SimpleInputPrompt:()=>zI,SimpleMessageDisplay:()=>Ob,SimpleStatusBar:()=>Hb,SingleLineTextInput:()=>AI,Spinner:()=>$n,StashNotice:()=>Xl,StatusBar:()=>qi,StatusNoticesSurface:()=>Hp,StreamingProvider:()=>Ql,StreamingState:()=>dr,SuggestionsDisplay:()=>Kl,TOOL_STATUS_ICONS:()=>N_,TextBuffer:()=>ka,TextInput:()=>qf,ThinkingIndicator:()=>QI,ToolCallDisplay:()=>Mx,ToolCallStatus:()=>j,ToolGroup:()=>fM,ToolProgressBar:()=>Ex,ToolStatusBadge:()=>uM,TranscriptViewport:()=>Ap,UIStateProvider:()=>Gl,_resetQueuedPromptsCacheForTests:()=>L0,appendClientNotice:()=>NA,archiveSession:()=>lS,bootstrapAutoMode:()=>Ka,calculateVisualCursorFromLayout:()=>Sf,calculateVisualLayout:()=>hn,collectBashWriteTargets:()=>sC,compactSession:()=>pc,computeConfirmTools:()=>Ys,createCliEvents:()=>rM,createHistoryItem:()=>jl,createInteractiveContext:()=>Ga,createJsonEvents:()=>oM,createKeyMatcher:()=>M0,createKeypressManager:()=>Jf,createMemorySessionStorage:()=>H0,createRecoveryHistoryItem:()=>ou,createRetryHistoryItem:()=>ru,createSessionManager:()=>KA,createStreamingManager:()=>Up,createToolCall:()=>$p,darkTheme:()=>wf,dedupeSessions:()=>bA,deleteSession:()=>cS,detectTerminalCapabilities:()=>gM,detectTerminalHostProfile:()=>Wo,detectTerminalRenderHost:()=>Ho,emitRecoveryHistoryItem:()=>Y0,emitRetryHistoryItem:()=>X0,ensureExampleConfigFile:()=>ZT,ensureExampleConfigFiles:()=>QT,executeCommand:()=>Pi,executeShellCommand:()=>eu,extractHistorySeedsFromMessage:()=>sa,extractHistorySeedsFromMessages:()=>nf,extractTextContent:()=>rf,extractTitle:()=>No,findMostRecentResumableSession:()=>Va,forkSession:()=>iS,formatMessagePreview:()=>yC,generateId:()=>Ul,generateSavePattern:()=>oC,getBashOutsideProjectWriteRisk:()=>cC,getCharAtCodePoint:()=>WC,getCodePointLength:()=>Sn,getCommandRegistry:()=>PC,getConfigTemplate:()=>LT,getCustomProviderConfig:()=>_M,getGitRoot:()=>uo,getKeyDisplayName:()=>LI,getMcpServerConfig:()=>YM,getPlanModeBlockReason:()=>Do,getProviderList:()=>zT,getProviderModel:()=>Mr,getProviderSetupCatalog:()=>fc,getTerminalHostCapabilities:()=>Ni,getTerminalWidth:()=>Lx,getTheme:()=>oe,getThemeNames:()=>K_,getVersion:()=>GT,getVisualWidth:()=>mr,getVisualWidthCached:()=>xf,hasCursorUpViewportYankRisk:()=>Di,hasMainScreenRenderScrollRisk:()=>il,hydrateProcessEnvFromShell:()=>jT,inspectProviderSetupReadiness:()=>Mm,isAlwaysConfirmPath:()=>na,isBashReadCommand:()=>pn,isBashWriteCommand:()=>fr,isClassicReplForced:()=>cl,isCommandOnProtectedPath:()=>Jd,isFunctionKey:()=>Mg,isOwnedRendererPreferred:()=>al,isPathInsideProject:()=>iC,isPermissionMode:()=>AT,isPrintable:()=>_I,isProviderConfigured:()=>XT,isRemoteConptyHost:()=>ca,isScreenReader:()=>Px,isShellCommand:()=>j0,isShellCommandSuccess:()=>U0,isTmuxControlMode:()=>la,isToolCallAllowed:()=>ta,isVsCodeTerminalHostEnv:()=>$i,isWideChar:()=>pr,listCustomProviders:()=>AM,listMcpServers:()=>XM,listRegisteredCommands:()=>_C,listRunningSessions:()=>vu,listSessions:()=>nS,loadAutoModeSettings:()=>oa,loadConfig:()=>YT,loadFullTranscript:()=>oS,loadSession:()=>rS,measureChildActivitySurfaceRows:()=>Fp,migrateLegacyIntegrationConfig:()=>NT,minimalTheme:()=>Gh,normalizePermissionMode:()=>qs,parseCommand:()=>Li,parseExtensionsIntegrationDocument:()=>PT,parseKeypress:()=>Rl,parseMcpIntegrationDocument:()=>Js,permissionModeDisplayName:()=>Vd,persistProviderSetupChoice:()=>Am,planLegacyIntegrationMigration:()=>OT,prepareRuntimeConfig:()=>Xd,processSpecialSyntax:()=>vm,providerSetupRestartInstructions:()=>FM,rateLimitedCall:()=>eC,readExtensionsIntegration:()=>DT,readMcpIntegration:()=>ki,registerConfiguredCustomProviders:()=>UT,removeCustomProvider:()=>PM,removeMcpServer:()=>JM,replBashPathSignalCollector:()=>ra,resetTmuxControlModeProbeForTesting:()=>hf,resolveAutoModeSettings:()=>uC,resolveConfiguredTuiRendererMode:()=>Oi,resolveEffectiveTuiRendererMode:()=>Fo,resolveFullscreenPolicy:()=>jo,resolveIntegrationConfigPath:()=>$T,resolveInteractiveSurfacePreference:()=>sl,resolveRuntimeEffortSelection:()=>ea,resolveRuntimeModelSelection:()=>Zs,resolveRuntimeProviderSelection:()=>Qs,restoreHistoryItemsFromSession:()=>nu,rewindSession:()=>sS,runInkInteractiveMode:()=>wm,runInteractiveMode:()=>MM,runProviderSetupWizard:()=>zM,runSessionPicker:()=>eM,saveConfig:()=>Ai,seedToHistoryItem:()=>Oo,setActiveEntry:()=>aS,splitByCodePoints:()=>mn,supports256Colors:()=>Ax,supportsEmoji:()=>_x,supportsTrueColor:()=>yu,supportsUnicode:()=>Vr,themes:()=>Kh,toReplRuntimeAutoModeSettings:()=>Ua,toolCallSeedToHistoryToolCall:()=>tf,touchContext:()=>yr,trimPersistedUiHistorySnapshot:()=>Ur,truncateByVisualWidth:()=>ua,unarchiveSession:()=>uS,upsertCustomProvider:()=>LM,upsertMcpServer:()=>qM,useAutocomplete:()=>El,useAutocompleteContext:()=>qo,useInputHistory:()=>ep,useKeypress:()=>E0,useKeypressManager:()=>Qf,useQueuedPromptContents:()=>_0,useQueuedPrompts:()=>Ty,useStreaming:()=>Sy,useStreamingActions:()=>Fa,useStreamingState:()=>Wa,useTextBuffer:()=>tp,useUI:()=>cy,useUIActions:()=>Na,useUIState:()=>Oa,validateMcpServerConfig:()=>Gx,visualWidthCache:()=>gf,watchSessions:()=>dS,withCapture:()=>yM,withCaptureSync:()=>xM,writeIntegrationDocument:()=>tl});export{$i as a,Di as b,ca as c,il as d,la as e,hf as f,Ho as g,Wo as h,Oi as i,Fo as j,sl as k,jo as l,Ni as m,al as n,cl as o,Bi as p,Sn as q,pr as r,mr as s,WC as t,mn as u,ua as v,gf as w,xf as x,hn as y,Sf as z,wf as A,Gh as B,Kh as C,oe as D,K_ as E,qf as F,AI as G,Rl as H,Ra as I,Mg as J,_I as K,LI as L,Jf as M,kl as N,Qf as O,_g as P,Zf as Q,qo as R,El as S,ep as T,ka as U,tp as V,Xi as W,zI as X,$n as Y,Hg as Z,Wg as _,QI as $,ZI as aa,$b as ba,Qo as ca,Ob as da,qi as ea,Hb as fa,Fb as ga,jb as ha,kp as ia,Ep as ja,Kb as ka,Ap as la,_p as ma,Hl as na,Wl as oa,Fl as pa,Pp as qa,Ul as ra,jl as sa,$p as ta,Gl as ua,Oa as va,Na as wa,cy as xa,Kl as ya,Op as za,Np as Aa,Bp as Ba,zl as Ca,Hp as Da,Xl as Ea,Yl as Fa,Fp as Ga,jp as Ha,Up as Ia,Ql as Ja,Wa as Ka,Fa as La,Sy as Ma,E0 as Na,M0 as Oa,Ty as Pa,_0 as Qa,L0 as Ra,ja as Sa,Ua as Ta,Ga as Ua,yr as Va,Ka as Wa,rs as Xa,H0 as Ya,eu as Za,j0 as _a,U0 as $a,Ur as ab,nu as bb,Va as cb,ru as db,X0 as eb,ou as fb,Y0 as gb,wm as hb,eM as ib,rM as jb,oM as kb,uM as lb,Ex as mb,Mx as nb,fM as ob,mM as pb,yu as qb,Ax as rb,Vr as sb,_x as tb,Lx as ub,Px as vb,gM as wb,cc as xb,yM as yb,xM as zb,MM as Ab,vm as Bb,AM as Cb,_M as Db,LM as Eb,PM as Fb,Cu as Gb,ci as Hb,fc as Ib,Mm as Jb,Am as Kb,FM as Lb,zM as Mb,XM as Nb,YM as Ob,qM as Pb,JM as Qb,Gx as Rb,Qn as Sb,bA as Tb,pc as Ub,nS as Vb,rS as Wb,oS as Xb,NA as Yb,iS as Zb,sS as _b,aS as $b,vu as ac,cS as bc,lS as cc,uS as dc,dS as ec,KA as fc,fj as gc};
321
+ ${e}`}}i(kA,"summaryMessage");function EA(e){return{role:"system",content:`[Rewind] ${e}`}}i(EA,"rewindMarkerMessage");function Z2(e){return{role:"system",content:e.content,_source:"client_notice",timestamp:e.timestamp,...e.turnId!==void 0?{turnId:e.turnId}:{}}}i(Z2,"clientNoticeMessage");function Jx(e,t){let n=e[t];return typeof n=="string"?n:void 0}i(Jx,"messageStringField");function ej(e){if(e.role==="user")return"user";if(e.role==="assistant")return"assistant";if(e.role==="system")return"system"}i(ej,"messageSource");function MA(e){return LA(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(MA,"isTaskResultMetadata");function tj(e){if(MA(e._taskResult))return[e._taskResult];if(Array.isArray(e._taskResults))return e._taskResults.filter(MA);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(tj,"taskResultsFromMessage");function nj(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(nj,"taskResultPayload");function rj(e){if(!LA(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(rj,"legacyRewindDetails");function oj(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(oj,"transcriptEntryActive");function ui(e){return{entryId:e.id,parentId:e.parentId,logicalId:e.logicalId??e.id,...e.sourceEntryId!==void 0?{sourceEntryId:e.sourceEntryId}:{}}}i(ui,"transcriptEntryIdentity");function $A(e,t,n){let r=oj(e,t,n);switch(e.type){case"message":{let o=tj(e.message);if(o.length>0){let s=o[0];return{...ui(e),timestamp:e.timestamp,type:"task_result",source:s.source,turnId:Jx(e.message,"turnId"),message:e.message,active:r,payload:nj(o),taskResults:o}}return e.message._source==="client_notice"?{...ui(e),timestamp:e.timestamp,type:"client_notice",source:"client",turnId:Jx(e.message,"turnId"),message:e.message,active:r,payload:{content:e.message.content,entersModelContext:!1}}:{...ui(e),timestamp:e.timestamp,type:"message",source:ej(e.message),turnId:Jx(e.message,"turnId"),message:e.message,active:r}}case"compaction":if(e.reason==="rewind"){let o=rj(e.details),s=r||(e.parentId===null?n===null:t.has(e.parentId));return{...ui(e),timestamp:e.timestamp,type:"rewind_marker",source:"system",message:EA(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{...ui(e),timestamp:e.timestamp,type:"compaction",source:"system",message:kA(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{...ui(e),timestamp:e.timestamp,type:"rewind_marker",source:"system",message:EA(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{...ui(e),timestamp:e.timestamp,type:"branch_summary",source:"system",message:kA(e.summary,"branch_summary"),active:r,summary:e.summary,payload:{summary:e.summary,fromId:e.fromId,details:e.details}};case"client_notice":return{...ui(e),timestamp:e.timestamp,type:"client_notice",source:"client",turnId:e.turnId,message:Z2(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($A,"toTranscriptEntry");function ij(e){let t=PA(e);return e.entries.map(n=>$A(n,t,e.activeEntryId)).filter(n=>n!==null)}i(ij,"buildTranscriptEntries");async function rS(e){return DA(e,void 0)}i(rS,"loadSession");async function DA(e,t){try{return await Yr(t).load(e)}catch{return null}}i(DA,"loadSessionImpl");async function oS(e){return OA(e,void 0)}i(oS,"loadFullTranscript");async function OA(e,t){try{let n=eS(t);await li(n);let r=Yr(t),o=await r.load(e);if(!o)return null;let s=await r.loadFullLineage(e);if(!s)return{...o,activeMessages:o.messages,transcriptEntries:[]};let a=ij(s);return{...o,messages:a.filter(c=>c.type!=="rewind_marker").map(c=>c.message),activeMessages:o.messages,transcriptEntries:a,lineage:s}}catch{return null}}i(OA,"loadFullTranscriptImpl");function sj(e){let t=e?.trim();return t&&t.length>0?t:"client"}i(sj,"normalizeClientNoticeSource");function aj(e,t){let n=`notice_${j2().replace(/-/g,"").slice(0,12)}`;return{type:"client_notice",id:n,parentId:e.activeEntryId,timestamp:t.timestamp??new Date().toISOString(),logicalId:n,source:sj(t.source),content:t.content,...t.turnId!==void 0?{turnId:t.turnId}:{},...t.payload!==void 0?{payload:t.payload}:{}}}i(aj,"createClientNoticeEntry");async function NA(e,t){return cj(e,t,void 0)}i(NA,"appendClientNotice");async function cj(e,t,n){return Qx(e,t,Yr(n))}i(cj,"appendClientNoticeImpl");async function Qx(e,t,n){try{let r=await n.load(e);if(!r)return null;let o=r.lineage??nt(r.messages),s=aj(o,t),a={...o,entries:[...o.entries,s]},c={...r,lineage:a,messages:r.messages};await n.appendSessionDelta(e,c);let l=PA(a);return $A(s,l,a.activeEntryId)}catch{return null}}i(Qx,"appendClientNoticeWithStorage");async function iS(e,t){return BA(e,t,void 0)}i(iS,"forkSession");async function BA(e,t,n){try{return await Yr(n).fork(e,t?.selector,{sessionId:t?.sessionId,title:t?.title})}catch{return null}}i(BA,"forkSessionImpl");async function sS(e,t){return HA(e,t,void 0)}i(sS,"rewindSession");async function HA(e,t,n){try{return await Yr(n).rewind(e,t?.selector)}catch{return null}}i(HA,"rewindSessionImpl");async function aS(e,t){return WA(e,t,void 0)}i(aS,"setActiveEntry");async function WA(e,t,n){try{return await Yr(n).setActiveEntry(e,t)}catch{return null}}i(WA,"setActiveEntryImpl");async function vu(){try{return nT({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(vu,"listRunningSessions");async function cS(e){return FA(e,void 0)}i(cS,"deleteSession");async function FA(e,t){try{let r=(await vu()).find(o=>o.sessionId===e);return r?{error:{code:"session_running",runningProcess:{pid:r.pid,startedAt:r.startedAt}}}:(await Yr(t).delete(e),{ok:!0})}catch{return{ok:!0}}}i(FA,"deleteSessionImpl");async function lS(e){return jA(e,void 0)}i(lS,"archiveSession");async function jA(e,t){try{return await Yr(t).archive(e)}catch{return!1}}i(jA,"archiveSessionImpl");async function uS(e){return UA(e,void 0)}i(uS,"unarchiveSession");async function UA(e,t){try{return await Yr(t).unarchive(e)}catch{return!1}}i(UA,"unarchiveSessionImpl");function dS(e){return GA(e,void 0)}i(dS,"watchSessions");function GA(e,t){let n=eS(t);return li(n).catch(()=>{}),process.platform==="win32"?dj(e,n):lj(e,n)}i(GA,"watchSessionsImpl");function Zx(e){let t=sn.basename(e);return!t.endsWith(".jsonl")||t.endsWith(".archive.jsonl")||t.endsWith(".islands.jsonl")||t.startsWith(".")?null:t.slice(0,-6)}i(Zx,"sessionIdFromFilename");function lj(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(!us.existsSync(t)){setTimeout(a,1e3);return}let c=i((l,d)=>{if(!d)return;let f=typeof d=="string"?d:d.toString(),p=Zx(f);if(!p)return;let m=l==="rename"?uj(t,f):"change";s(m,p)},"onEvent");try{n=us.watch(t,{recursive:!0},c)}catch{n=us.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(lj,"watchSessionsPosix");function uj(e,t){try{return us.statSync(sn.join(e,t)),"add"}catch{return"remove"}}i(uj,"detectRenameKind");function dj(e,t){let n=!1,r=new Set;function o(c,l){try{for(let d of us.readdirSync(l)){let f=Zx(d);f&&c.add(f)}}catch{}}i(o,"addIds");function s(){let c=new Set;try{if(!us.existsSync(t))return c;for(let l of us.readdirSync(t,{withFileTypes:!0}))if(l.isFile()){let d=Zx(l.name);d&&c.add(d)}else if(l.isDirectory()&&!l.name.startsWith(".")){let d=sn.join(t,l.name);o(c,d),o(c,sn.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(dj,"watchSessionsWindows");function KA(e){let t=e?.sessionsDir;z2(t??lo);let n=t!==void 0?new Qn({sessionsDir:t}):new Qn;return t===void 0?{listSessions:nS,loadSession:rS,loadFullTranscript:oS,appendClientNotice:i((r,o)=>Qx(r,o,n),"appendClientNotice"),forkSession:iS,rewindSession:sS,setActiveEntry:aS,deleteSession:cS,archiveSession:lS,unarchiveSession:uS,listRunningSessions:vu,watchSessions:dS,compactSession:i((r,o)=>pc(r,{...o,storage:n}),"compactSession"),storage:n}:{listSessions:i(r=>AA(r,t),"listSessions"),loadSession:i(r=>DA(r,t),"loadSession"),loadFullTranscript:i(r=>OA(r,t),"loadFullTranscript"),appendClientNotice:i((r,o)=>Qx(r,o,n),"appendClientNotice"),forkSession:i((r,o)=>BA(r,o,t),"forkSession"),rewindSession:i((r,o)=>HA(r,o,t),"rewindSession"),setActiveEntry:i((r,o)=>WA(r,o,t),"setActiveEntry"),deleteSession:i(r=>FA(r,t),"deleteSession"),archiveSession:i(r=>jA(r,t),"archiveSession"),unarchiveSession:i(r=>UA(r,t),"unarchiveSession"),listRunningSessions:vu,watchSessions:i(r=>GA(r,t),"watchSessions"),compactSession:i((r,o)=>pc(r,{...o,storage:n}),"compactSession"),storage:n}}i(KA,"createSessionManager");var fj={};O_(fj,{App:()=>Fb,AutocompleteContextProvider:()=>Zf,BUILTIN_COMMANDS:()=>LC,BackgroundTaskBar:()=>Yl,CONFIG_TEMPLATES:()=>_T,ChildActivitySurface:()=>jp,ConsoleCapturer:()=>cc,DEFAULT_UI_STATE:()=>Kd,DialogSurface:()=>Np,DotsIndicator:()=>Hg,FILE_MODIFICATION_TOOLS:()=>co,FileSessionStorage:()=>Qn,FullscreenTranscriptLayout:()=>kp,HistoryItemRenderer:()=>$b,InputPrompt:()=>Xi,IntegrationConfigController:()=>BT,KODAX_CONFIG_FILE:()=>WT,KODAX_DIR:()=>HT,KODAX_EXAMPLE_CONFIG_FILE:()=>qT,KODAX_INTEGRATION_EXAMPLE_FILES:()=>JT,KODAX_SESSIONS_DIR:()=>lo,KODAX_VERSION:()=>Ei,KeyMatchers:()=>_g,KeypressHandlerPriority:()=>fn,KeypressParser:()=>Ra,KeypressProvider:()=>kl,LRUCache:()=>Bi,LoadingIndicator:()=>ZI,MemorySessionStorage:()=>rs,MessageActions:()=>Ep,MessageList:()=>Qo,MessageSelector:()=>Kb,NotificationsSurface:()=>zl,PERMISSION_MODES:()=>MT,PREVIEW_MAX_LENGTH:()=>FT,PendingInputsIndicator:()=>mM,ProgressIndicator:()=>Wg,PromptComposer:()=>_p,PromptFooter:()=>Fl,PromptFooterLeftSide:()=>Hl,PromptFooterRightSide:()=>Wl,PromptHelpMenu:()=>Pp,PromptSuggestionsSurface:()=>Op,ProviderSetupConfigConflictError:()=>Cu,ProviderSetupInvalidConfigError:()=>ci,QueuedCommandsSurface:()=>Bp,RUNTIME_PERMISSION_PENDING_NOTICE:()=>ja,SimpleApp:()=>jb,SimpleInputPrompt:()=>zI,SimpleMessageDisplay:()=>Ob,SimpleStatusBar:()=>Hb,SingleLineTextInput:()=>AI,Spinner:()=>$n,StashNotice:()=>Xl,StatusBar:()=>qi,StatusNoticesSurface:()=>Hp,StreamingProvider:()=>Ql,StreamingState:()=>dr,SuggestionsDisplay:()=>Kl,TOOL_STATUS_ICONS:()=>N_,TextBuffer:()=>ka,TextInput:()=>qf,ThinkingIndicator:()=>QI,ToolCallDisplay:()=>Mx,ToolCallStatus:()=>j,ToolGroup:()=>fM,ToolProgressBar:()=>Ex,ToolStatusBadge:()=>uM,TranscriptViewport:()=>Ap,UIStateProvider:()=>Gl,_resetQueuedPromptsCacheForTests:()=>L0,appendClientNotice:()=>NA,archiveSession:()=>lS,bootstrapAutoMode:()=>Ka,calculateVisualCursorFromLayout:()=>Sf,calculateVisualLayout:()=>hn,collectBashWriteTargets:()=>sC,compactSession:()=>pc,computeConfirmTools:()=>Ys,createCliEvents:()=>rM,createHistoryItem:()=>jl,createInteractiveContext:()=>Ga,createJsonEvents:()=>oM,createKeyMatcher:()=>M0,createKeypressManager:()=>Jf,createMemorySessionStorage:()=>H0,createRecoveryHistoryItem:()=>ou,createRetryHistoryItem:()=>ru,createSessionManager:()=>KA,createStreamingManager:()=>Up,createToolCall:()=>$p,darkTheme:()=>wf,dedupeSessions:()=>bA,deleteSession:()=>cS,detectTerminalCapabilities:()=>gM,detectTerminalHostProfile:()=>Wo,detectTerminalRenderHost:()=>Ho,emitRecoveryHistoryItem:()=>Y0,emitRetryHistoryItem:()=>X0,ensureExampleConfigFile:()=>ZT,ensureExampleConfigFiles:()=>QT,executeCommand:()=>Pi,executeShellCommand:()=>eu,extractHistorySeedsFromMessage:()=>sa,extractHistorySeedsFromMessages:()=>nf,extractTextContent:()=>rf,extractTitle:()=>No,findMostRecentResumableSession:()=>Va,forkSession:()=>iS,formatMessagePreview:()=>yC,generateId:()=>Ul,generateSavePattern:()=>oC,getBashOutsideProjectWriteRisk:()=>cC,getCharAtCodePoint:()=>WC,getCodePointLength:()=>Sn,getCommandRegistry:()=>PC,getConfigTemplate:()=>LT,getCustomProviderConfig:()=>_M,getGitRoot:()=>uo,getKeyDisplayName:()=>LI,getMcpServerConfig:()=>YM,getPlanModeBlockReason:()=>Do,getProviderList:()=>zT,getProviderModel:()=>Mr,getProviderSetupCatalog:()=>fc,getTerminalHostCapabilities:()=>Ni,getTerminalWidth:()=>Lx,getTheme:()=>oe,getThemeNames:()=>K_,getVersion:()=>GT,getVisualWidth:()=>mr,getVisualWidthCached:()=>xf,hasCursorUpViewportYankRisk:()=>Di,hasMainScreenRenderScrollRisk:()=>il,hydrateProcessEnvFromShell:()=>jT,inspectProviderSetupReadiness:()=>Mm,isAlwaysConfirmPath:()=>na,isBashReadCommand:()=>pn,isBashWriteCommand:()=>fr,isClassicReplForced:()=>cl,isCommandOnProtectedPath:()=>Jd,isFunctionKey:()=>Mg,isOwnedRendererPreferred:()=>al,isPathInsideProject:()=>iC,isPermissionMode:()=>AT,isPrintable:()=>_I,isProviderConfigured:()=>XT,isRemoteConptyHost:()=>ca,isScreenReader:()=>Px,isShellCommand:()=>j0,isShellCommandSuccess:()=>U0,isTmuxControlMode:()=>la,isToolCallAllowed:()=>ta,isVsCodeTerminalHostEnv:()=>$i,isWideChar:()=>pr,listCustomProviders:()=>AM,listMcpServers:()=>XM,listRegisteredCommands:()=>_C,listRunningSessions:()=>vu,listSessions:()=>nS,loadAutoModeSettings:()=>oa,loadConfig:()=>YT,loadFullTranscript:()=>oS,loadSession:()=>rS,measureChildActivitySurfaceRows:()=>Fp,migrateLegacyIntegrationConfig:()=>NT,minimalTheme:()=>Gh,normalizePermissionMode:()=>qs,parseCommand:()=>Li,parseExtensionsIntegrationDocument:()=>PT,parseKeypress:()=>Rl,parseMcpIntegrationDocument:()=>Js,permissionModeDisplayName:()=>Vd,persistProviderSetupChoice:()=>Am,planLegacyIntegrationMigration:()=>OT,prepareRuntimeConfig:()=>Xd,processSpecialSyntax:()=>vm,providerSetupRestartInstructions:()=>FM,rateLimitedCall:()=>eC,readExtensionsIntegration:()=>DT,readMcpIntegration:()=>ki,registerConfiguredCustomProviders:()=>UT,removeCustomProvider:()=>PM,removeMcpServer:()=>JM,replBashPathSignalCollector:()=>ra,resetTmuxControlModeProbeForTesting:()=>hf,resolveAutoModeSettings:()=>uC,resolveConfiguredTuiRendererMode:()=>Oi,resolveEffectiveTuiRendererMode:()=>Fo,resolveFullscreenPolicy:()=>jo,resolveIntegrationConfigPath:()=>$T,resolveInteractiveSurfacePreference:()=>sl,resolveRuntimeEffortSelection:()=>ea,resolveRuntimeModelSelection:()=>Zs,resolveRuntimeProviderSelection:()=>Qs,restoreHistoryItemsFromSession:()=>nu,rewindSession:()=>sS,runInkInteractiveMode:()=>wm,runInteractiveMode:()=>MM,runProviderSetupWizard:()=>zM,runSessionPicker:()=>eM,saveConfig:()=>Ai,seedToHistoryItem:()=>Oo,setActiveEntry:()=>aS,splitByCodePoints:()=>mn,supports256Colors:()=>Ax,supportsEmoji:()=>_x,supportsTrueColor:()=>yu,supportsUnicode:()=>Vr,themes:()=>Kh,toReplRuntimeAutoModeSettings:()=>Ua,toolCallSeedToHistoryToolCall:()=>tf,touchContext:()=>yr,trimPersistedUiHistorySnapshot:()=>Ur,truncateByVisualWidth:()=>ua,unarchiveSession:()=>uS,upsertCustomProvider:()=>LM,upsertMcpServer:()=>qM,useAutocomplete:()=>El,useAutocompleteContext:()=>qo,useInputHistory:()=>ep,useKeypress:()=>E0,useKeypressManager:()=>Qf,useQueuedPromptContents:()=>_0,useQueuedPrompts:()=>Ty,useStreaming:()=>Sy,useStreamingActions:()=>Fa,useStreamingState:()=>Wa,useTextBuffer:()=>tp,useUI:()=>cy,useUIActions:()=>Na,useUIState:()=>Oa,validateMcpServerConfig:()=>Gx,visualWidthCache:()=>gf,watchSessions:()=>dS,withCapture:()=>yM,withCaptureSync:()=>xM,writeIntegrationDocument:()=>tl});export{$i as a,Di as b,ca as c,il as d,la as e,hf as f,Ho as g,Wo as h,Oi as i,Fo as j,sl as k,jo as l,Ni as m,al as n,cl as o,Bi as p,Sn as q,pr as r,mr as s,WC as t,mn as u,ua as v,gf as w,xf as x,hn as y,Sf as z,wf as A,Gh as B,Kh as C,oe as D,K_ as E,qf as F,AI as G,Rl as H,Ra as I,Mg as J,_I as K,LI as L,Jf as M,kl as N,Qf as O,_g as P,Zf as Q,qo as R,El as S,ep as T,ka as U,tp as V,Xi as W,zI as X,$n as Y,Hg as Z,Wg as _,QI as $,ZI as aa,$b as ba,Qo as ca,Ob as da,qi as ea,Hb as fa,Fb as ga,jb as ha,kp as ia,Ep as ja,Kb as ka,Ap as la,_p as ma,Hl as na,Wl as oa,Fl as pa,Pp as qa,Ul as ra,jl as sa,$p as ta,Gl as ua,Oa as va,Na as wa,cy as xa,Kl as ya,Op as za,Np as Aa,Bp as Ba,zl as Ca,Hp as Da,Xl as Ea,Yl as Fa,Fp as Ga,jp as Ha,Up as Ia,Ql as Ja,Wa as Ka,Fa as La,Sy as Ma,E0 as Na,M0 as Oa,Ty as Pa,_0 as Qa,L0 as Ra,ja as Sa,Ua as Ta,Ga as Ua,yr as Va,Ka as Wa,rs as Xa,H0 as Ya,eu as Za,j0 as _a,U0 as $a,Ur as ab,nu as bb,Va as cb,ru as db,X0 as eb,ou as fb,Y0 as gb,wm as hb,eM as ib,rM as jb,oM as kb,uM as lb,Ex as mb,Mx as nb,fM as ob,mM as pb,yu as qb,Ax as rb,Vr as sb,_x as tb,Lx as ub,Px as vb,gM as wb,cc as xb,yM as yb,xM as zb,MM as Ab,vm as Bb,AM as Cb,_M as Db,LM as Eb,PM as Fb,Cu as Gb,ci as Hb,fc as Ib,Mm as Jb,Am as Kb,FM as Lb,zM as Mb,XM as Nb,YM as Ob,qM as Pb,JM as Qb,Gx as Rb,Qn as Sb,bA as Tb,pc as Ub,nS as Vb,rS as Wb,oS as Xb,NA as Yb,iS as Zb,sS as _b,aS as $b,vu as ac,cS as bc,lS as cc,uS as dc,dS as ec,KA as fc,fj as gc};