@kodax-ai/kodax 0.7.58 → 0.7.59

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 (64) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +1228 -1225
  3. package/README_CN.md +647 -645
  4. package/dist/chunks/{agent-YJNC2755.js → agent-QQCRBU4C.js} +1 -1
  5. package/dist/chunks/argument-completer-7Q2T4YWA.js +2 -0
  6. package/dist/chunks/{chunk-6AU6EPO6.js → chunk-2UUOFT3Z.js} +1 -1
  7. package/dist/chunks/{chunk-NKHXRN7G.js → chunk-5GPJ6MB5.js} +110 -108
  8. package/dist/chunks/{chunk-P4VF3JEP.js → chunk-BEXLPFFB.js} +3 -3
  9. package/dist/chunks/{chunk-CQ6EQG7E.js → chunk-D7RENPQQ.js} +31 -31
  10. package/dist/chunks/{chunk-ZZDC75H4.js → chunk-PRIBJN5E.js} +70 -68
  11. package/dist/chunks/{chunk-HS2K74I4.js → chunk-S4GVQO3W.js} +13 -13
  12. package/dist/chunks/chunk-SDSLWDAZ.js +17 -0
  13. package/dist/chunks/{chunk-7QB55SYG.js → chunk-SVEJFERZ.js} +8 -8
  14. package/dist/chunks/{chunk-XXEIFNBE.js → chunk-TBXP7FEG.js} +1 -1
  15. package/dist/chunks/{chunk-526OILYL.js → chunk-UA744TZM.js} +1 -1
  16. package/dist/chunks/{chunk-QHWXPJEG.js → chunk-UXQILGRX.js} +145 -146
  17. package/dist/chunks/{chunk-CV6JHPEO.js → chunk-YADBB5GN.js} +1 -1
  18. package/dist/chunks/{chunk-OBPB5BQ6.js → chunk-Z23LK3IV.js} +6 -6
  19. package/dist/chunks/chunk-Z3ZXV3DZ.js +18 -0
  20. package/dist/chunks/compaction-config-GQIPCVFD.js +2 -0
  21. package/dist/chunks/{construction-bootstrap-CIXFH5SE.js → construction-bootstrap-YON4ZEMO.js} +1 -1
  22. package/dist/chunks/dist-73L4OYPD.js +2 -0
  23. package/dist/chunks/dist-EZXBR6NW.js +2 -0
  24. package/dist/chunks/host-LO6ZNTMV.js +2 -0
  25. package/dist/chunks/{paste-Y4DVUWSM.js → paste-4THGP5XW.js} +1 -1
  26. package/dist/chunks/run-manager-HTLXKU66.js +2 -0
  27. package/dist/chunks/{utils-FLVVQHM7.js → utils-5XVW33SY.js} +1 -1
  28. package/dist/index.d.ts +10 -9
  29. package/dist/index.js +2 -2
  30. package/dist/kodax_cli.js +995 -990
  31. package/dist/provider-capabilities.json +971 -986
  32. package/dist/sdk-agent.d.ts +9 -8
  33. package/dist/sdk-agent.js +1 -1
  34. package/dist/sdk-coding.d.ts +79 -14
  35. package/dist/sdk-coding.js +1 -1
  36. package/dist/sdk-llm.d.ts +1 -1
  37. package/dist/sdk-llm.js +1 -1
  38. package/dist/sdk-mcp.js +1 -1
  39. package/dist/sdk-media.js +1 -1
  40. package/dist/sdk-repl.d.ts +10 -9
  41. package/dist/sdk-repl.js +1 -1
  42. package/dist/sdk-session.d.ts +5 -4
  43. package/dist/sdk-session.js +1 -1
  44. package/dist/sdk-skills.d.ts +4 -231
  45. package/dist/sdk-skills.js +1 -1
  46. package/dist/types-chunks/{bash-prefix-extractor.d-D3cddmyV.d.ts → bash-prefix-extractor.d-BNdpV4Cf.d.ts} +29 -4
  47. package/dist/types-chunks/{guardrail.d-iK7FwMdW.d.ts → guardrail.d-CNdKuSD_.d.ts} +2 -2
  48. package/dist/types-chunks/{process.d-DHow2y2G.d.ts → process.d-BOrAxjvM.d.ts} +21 -3
  49. package/dist/types-chunks/{resolver.d-DDOfVYDr.d.ts → resolver.d-DFAKKUvt.d.ts} +56 -2
  50. package/dist/types-chunks/{run-manager.d-ByDcJc5g.d.ts → run-manager.d-CsJC9zYf.d.ts} +3 -3
  51. package/dist/types-chunks/{sdk-session-21Tt3N_x.d.ts → sdk-session-ByZlwgdM.d.ts} +14 -3
  52. package/dist/types-chunks/{storage.d-BsZrBPYu.d.ts → storage.d-DHL3XpAL.d.ts} +2 -2
  53. package/dist/types-chunks/{types.d-D4ZA8LJV.d.ts → types.d-CE_Ter29.d.ts} +1 -1
  54. package/dist/types-chunks/types.d-vJExiRje.d.ts +232 -0
  55. package/dist/types-chunks/{utils.d-BURxOxFd.d.ts → utils.d-D9FHU4wB.d.ts} +5 -4
  56. package/package.json +1 -1
  57. package/dist/chunks/argument-completer-QGBNXTYJ.js +0 -2
  58. package/dist/chunks/chunk-73Z7BK5H.js +0 -15
  59. package/dist/chunks/chunk-PIQWODWN.js +0 -18
  60. package/dist/chunks/compaction-config-OPMRZSAK.js +0 -2
  61. package/dist/chunks/dist-JSE7NICF.js +0 -2
  62. package/dist/chunks/dist-SDNQOW52.js +0 -2
  63. package/dist/chunks/host-H7FQMMRC.js +0 -2
  64. package/dist/chunks/run-manager-4H5HWMVW.js +0 -2
@@ -1,2 +1,2 @@
1
1
  // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
- import{b as i,j as c,k as d,o as l}from"./chunk-P4VF3JEP.js";import{a as t}from"./chunk-V4WSBIXB.js";var b="\x1B[?2004h",P="\x1B[?2004l",f=!1,a=!1;function T(){if(!a)try{process.stdout.write(b),a=!0}catch{}}t(T,"enableBracketedPasteMode");function g(){if(a)try{process.stdout.write(P)}catch{}finally{a=!1}}t(g,"disableBracketedPasteMode");function h(){return a}t(h,"isBracketedPasteModeEnabled");function _(){if(f)return;f=!0;let e=t(()=>g(),"handler");process.once("beforeExit",e),process.once("exit",e),process.once("SIGINT",()=>{e(),process.kill(process.pid,"SIGINT")}),process.once("SIGTERM",()=>{e(),process.kill(process.pid,"SIGTERM")}),process.once("uncaughtException",r=>{throw e(),r})}t(_,"installBracketedPasteShutdownGuard");import{readFile as R}from"node:fs/promises";var y=/\.(png|jpe?g|gif|webp|bmp)$/i;async function N(e){if(e.length===0)return process.platform==="darwin"?I():{kind:"text",text:""};let r=k(e);return r.length>0?G(r,e):{kind:"text",text:e}}t(N,"handleBracketedPaste");async function z(){return I()}t(z,"triggerExplicitClipboardImage");async function I(){let e;try{e=await d()}catch(r){return{kind:"error",message:`Failed to read clipboard image: ${m(r)}`}}return e?E(e):{kind:"noop"}}t(I,"readClipboardAsImagesOutcome");async function G(e,r){let o=[],s=[];for(let p of e){let u;try{u=await R(p)}catch(x){s.push(`Failed to read ${p}: ${m(x)}`);continue}let n=await E(u);n.kind==="images"?o.push(...n.blocks):n.kind==="error"&&s.push(n.message)}return o.length===0?s.length>0?{kind:"error",message:s.join("; ")}:{kind:"text",text:r}:{kind:"images",blocks:o}}t(G,"readImagePathsAsOutcome");async function E(e){try{let r=await c(e);return{kind:"images",blocks:[await l(r)]}}catch(r){return r instanceof i?{kind:"error",message:r.message}:{kind:"error",message:`Failed to process pasted image: ${m(r)}`}}}t(E,"decodeBufferToOutcome");function k(e){return e.split(/ (?=\/|[A-Za-z]:\\)/).filter(o=>y.test(o.trim()))}t(k,"extractImagePaths");function m(e){return e instanceof Error?e.message:String(e)}t(m,"describeError");export{T as a,g as b,h as c,_ as d,N as e,z as f,k as g};
2
+ import{b as i,j as c,k as d,o as l}from"./chunk-BEXLPFFB.js";import{a as t}from"./chunk-V4WSBIXB.js";var b="\x1B[?2004h",P="\x1B[?2004l",f=!1,a=!1;function T(){if(!a)try{process.stdout.write(b),a=!0}catch{}}t(T,"enableBracketedPasteMode");function g(){if(a)try{process.stdout.write(P)}catch{}finally{a=!1}}t(g,"disableBracketedPasteMode");function h(){return a}t(h,"isBracketedPasteModeEnabled");function _(){if(f)return;f=!0;let e=t(()=>g(),"handler");process.once("beforeExit",e),process.once("exit",e),process.once("SIGINT",()=>{e(),process.kill(process.pid,"SIGINT")}),process.once("SIGTERM",()=>{e(),process.kill(process.pid,"SIGTERM")}),process.once("uncaughtException",r=>{throw e(),r})}t(_,"installBracketedPasteShutdownGuard");import{readFile as R}from"node:fs/promises";var y=/\.(png|jpe?g|gif|webp|bmp)$/i;async function N(e){if(e.length===0)return process.platform==="darwin"?I():{kind:"text",text:""};let r=k(e);return r.length>0?G(r,e):{kind:"text",text:e}}t(N,"handleBracketedPaste");async function z(){return I()}t(z,"triggerExplicitClipboardImage");async function I(){let e;try{e=await d()}catch(r){return{kind:"error",message:`Failed to read clipboard image: ${m(r)}`}}return e?E(e):{kind:"noop"}}t(I,"readClipboardAsImagesOutcome");async function G(e,r){let o=[],s=[];for(let p of e){let u;try{u=await R(p)}catch(x){s.push(`Failed to read ${p}: ${m(x)}`);continue}let n=await E(u);n.kind==="images"?o.push(...n.blocks):n.kind==="error"&&s.push(n.message)}return o.length===0?s.length>0?{kind:"error",message:s.join("; ")}:{kind:"text",text:r}:{kind:"images",blocks:o}}t(G,"readImagePathsAsOutcome");async function E(e){try{let r=await c(e);return{kind:"images",blocks:[await l(r)]}}catch(r){return r instanceof i?{kind:"error",message:r.message}:{kind:"error",message:`Failed to process pasted image: ${m(r)}`}}}t(E,"decodeBufferToOutcome");function k(e){return e.split(/ (?=\/|[A-Za-z]:\\)/).filter(o=>y.test(o.trim()))}t(k,"extractImagePaths");function m(e){return e instanceof Error?e.message:String(e)}t(m,"describeError");export{T as a,g as b,h as c,_ as d,N as e,z as f,k as g};
@@ -1,5 +1,5 @@
1
1
  // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
- import{$ as cc,A as RS,B as ps,Ba as rm,C as Eu,Ca as Du,D as ES,Da as XS,E as ic,Ea as qS,F as Xp,G as AS,H as qp,I as ni,J as Jp,K as sc,L as Qp,M as Zp,N as _S,O as LS,P as ms,Q as PS,R as ri,T as hs,U as Mu,V as $S,W as ac,X as yr,Y as em,Z as Wr,_ as gs,a as hr,aa as Au,b as B,ba as OS,ca as DS,d as dn,da as NS,e as zp,ea as BS,fa as HS,g as fn,ga as WS,h as ec,ha as _u,i as Iu,ia as Lu,j as Jo,ja as lc,k as tc,ka as Pu,la as $u,m as nc,ma as Ou,n as mo,na as FS,o as vS,oa as jS,p as ho,pa as US,q as rc,qa as tm,ra as GS,s as oc,sa as VS,t as kS,ta as KS,ua as zS,wa as ys,x as ti,xa as xs,y as ku,ya as nm,z as Ru,za as YS}from"./chunk-QHWXPJEG.js";import{a as MS}from"./chunk-6AU6EPO6.js";import{e as JS,f as QS,g as ZS}from"./chunk-CV6JHPEO.js";import{E as Yp,F as ds,G as vu,H as fs,I as ei,a as te,c as Qo,j as us,k as Hn,p as bS,u as IS,v as gr,w as Zo}from"./chunk-XXEIFNBE.js";import{Ea as Cu,Fa as bu,I as yS,J as xS,L as Kp,M as SS,N as wS,Z as TS,c as Up,ta as CS,u as gS,v as Za,wa as Tu}from"./chunk-NKHXRN7G.js";import{z as fS}from"./chunk-PIQWODWN.js";import{a as Qa,b as qx,ea as pS,fa as mS,p as dS}from"./chunk-CQ6EQG7E.js";import{Aa as cS,Ba as Su,Ca as lS,Pa as uS,Y as xu,ad as wu,dd as hS,e as yu,ja as aS}from"./chunk-7QB55SYG.js";import{Ja as Xo,ha as lu,ta as Yx,va as jp,wa as Xx}from"./chunk-HS2K74I4.js";import{$c as rs,Bd as mu,Ca as Qx,Cd as ls,Md as sS,Pd as hu,Qc as rS,Qd as gu,Ra as Gp,Rc as du,Ta as Vp,ed as oS,gb as Zx,hd as tn,jd as Dt,k as ns,lb as uu,ld as os,md as is,nb as eS,nd as fu,pd as ss,qd as as,rd as cs,sd as pu,td as qo,ud as iS,va as Jx,wa as mr,xb as tS,yb as nS}from"./chunk-ZZDC75H4.js";import{B as Bn}from"./chunk-P4VF3JEP.js";import{a as o}from"./chunk-V4WSBIXB.js";import{spawnSync as oE}from"node:child_process";function Nu(e){return e==="1"||e?.toLowerCase()==="true"}o(Nu,"isTruthyEnv");function ew(e){return e==="0"||e?.toLowerCase()==="false"}o(ew,"isFalseyEnv");function Ss(e=process.env){return e.TERM_PROGRAM?.toLowerCase()==="vscode"||!!e.VSCODE_GIT_IPC_HANDLE||!!e.VSCODE_INJECTION}o(Ss,"isVsCodeTerminalHostEnv");function ws(e={}){let t=e.env??process.env;return(e.platform??process.platform)==="win32"||!!t.WT_SESSION}o(ws,"hasCursorUpViewportYankRisk");function iE(e){return!!(e.SSH_CONNECTION||e.SSH_CLIENT||e.SSH_TTY)}o(iE,"isSshSession");function uc(e={}){let t=e.env??process.env;return Nu(t.KODAX_FULLSCREEN)?!1:(e.platform??process.platform)==="win32"&&iE(t)}o(uc,"isRemoteConptyHost");function Ts(e={}){let t=e.env??process.env;return ws(e)||Ss(t)}o(Ts,"hasMainScreenRenderScrollRisk");function sE(e){if(!e.TMUX||e.TERM_PROGRAM!=="iTerm.app")return!1;let t=e.TERM??"";return!t.startsWith("screen")&&!t.startsWith("tmux")}o(sE,"isTmuxControlModeEnvHeuristic");var Fr;function dc(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(sE(t))return!0;if(!(t===process.env&&n===process.platform))return!1;if(Fr!==void 0||(Fr=!1,!t.TMUX)||t.TERM_PROGRAM&&t.TERM_PROGRAM!=="iTerm.app")return Fr;try{let i=oE("tmux",["display-message","-p","#{client_control_mode}"],{encoding:"utf8",timeout:2e3});i.status===0&&(Fr=i.stdout.trim()==="1")}catch{Fr=!1}return Fr}o(dc,"isTmuxControlMode");function om(){Fr=void 0}o(om,"resetTmuxControlModeProbeForTesting");function oi(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":dc(e)?"tmux_control_mode":Ss(t)?"xtermjs_host":uc(e)?"remote_conpty_host":ws(e)?"degraded_vt":"native_vt"}o(oi,"detectTerminalRenderHost");var ii=oi;function Cs(e={}){let t=e.env??process.env;if(Nu(t.KODAX_FORCE_INK))return"legacy";let n=t.KODAX_TUI_RENDERER?.trim().toLowerCase();return n==="legacy"||n==="owned"||n==="auto"?n:"auto"}o(Cs,"resolveConfiguredTuiRendererMode");function si(e={}){let t=Cs(e);if(t==="legacy"||t==="owned")return t;let n=oi(e);return n==="unsupported_control_host"||n==="tmux_control_mode"?"legacy":"owned"}o(si,"resolveEffectiveTuiRendererMode");function Bu(e={}){let t=e.env??process.env;if(Nu(t.KODAX_FORCE_CLASSIC_REPL))return"classic";let n=Cs({env:t});if(n==="legacy"||n==="owned")return"ink";let r=oi(e);return r==="unsupported_control_host"||r==="tmux_control_mode"?"classic":"ink"}o(Bu,"resolveInteractiveSurfacePreference");var aE={enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!0},tw={enabled:!0,promptShell:"main-screen",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!1,transcriptSpinnerAnimation:!0};function ai(e,t="owned",n={}){let r=n.env??process.env;return ew(r.KODAX_FULLSCREEN)?t==="owned"&&e!=="tmux_control_mode"&&e!=="unsupported_control_host"?tw:aE:cE(e,t)}o(ai,"resolveFullscreenPolicy");function cE(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 tw;default:return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1}}}o(cE,"buildFullscreenPolicy");function bs(e,t={}){let n=t.rendererMode??"owned",r=ai(e,n,{env:t.env}),i=e!=="unsupported_control_host"&&e!=="tmux_control_mode";return{profile:e,ownsViewportByDefault:r.enabled&&r.promptShell==="virtual",supportsMouseTracking:r.mouseWheel||r.mouseClicks,bufferingMode:r.streamingPreview?"live":"buffered-fallback",supportsFullscreenLayout:r.enabled,supportsOverlaySurface:r.enabled,supportsSelection:i,supportsCopyOnSelect:!1,supportsWheelHistory:r.mouseWheel,supportsViewportChrome:r.enabled,supportsSearchViewport:r.enabled,supportsStickyPrompt:r.enabled}}o(bs,"getTerminalHostCapabilities");function Hu(e={}){return si(e)==="owned"}o(Hu,"isOwnedRendererPreferred");function Wu(e={}){let t=e.env??process.env;return Nu(t.KODAX_FORCE_CLASSIC_REPL)&&!ew(t.KODAX_FORCE_CLASSIC_REPL)}o(Wu,"isClassicReplForced");var Is=class{static{o(this,"LRUCache")}capacity;cache;constructor(t){this.capacity=t,this.cache=new Map}get(t){if(!this.cache.has(t))return;let n=this.cache.get(t);return this.cache.delete(t),this.cache.set(t,n),n}set(t,n){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.capacity){let r=this.cache.keys().next().value;r!==void 0&&this.cache.delete(r)}this.cache.set(t,n)}has(t){return this.cache.has(t)}delete(t){return this.cache.delete(t)}clear(){this.cache.clear()}get size(){return this.cache.size}},im=1,sm=2,lE=1e3,nw;function Fu(){if(!(typeof Intl>"u"||typeof Intl.Segmenter!="function"))return nw??=new Intl.Segmenter("en",{granularity:"grapheme"}),nw}o(Fu,"getGraphemeSegmenter");function Rn(e){if(!e)return 0;let t=Fu();if(t){let n=0;for(let r of t.segment(e))n++;return n}return[...e].length}o(Rn,"getCodePointLength");function xr(e){if(!e)return!1;let t=e.codePointAt(0);return t===void 0?!1:t>=19968&&t<=40959||t>=13312&&t<=19903||t>=63744&&t<=64255||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=44032&&t<=55215||t>=12288&&t<=12351||t>=65280&&t<=65519||t>=128512&&t<=128591||t>=127744&&t<=128511||t>=128640&&t<=128767||t>=127456&&t<=127487||t>=9728&&t<=9983||t>=9984&&t<=10175||t>=129280&&t<=129535||t>=129536&&t<=129647||t>=129648&&t<=129791}o(xr,"isWideChar");function Sr(e){if(!e)return 0;let t=0,n=Fu();if(n)for(let r of n.segment(e))t+=xr(r.segment)?sm:im;else for(let r of e)t+=xr(r)?sm:im;return t}o(Sr,"getVisualWidth");function uE(e,t){if(!e||t<0)return"";let n=Fu();if(n){let i=0;for(let s of n.segment(e)){if(i===t)return s.segment;i++}return""}let r=[...e];return t>=r.length?"":r[t]}o(uE,"getCharAtCodePoint");function pn(e){if(!e)return[];let t=Fu();if(t){let n=[];for(let r of t.segment(e))n.push(r.segment);return n}return[...e]}o(pn,"splitByCodePoints");function dE(e,t,n){return pn(e).slice(t,n).join("")}o(dE,"sliceByCodePoints");function rw(e,t){let n=Math.max(0,t),r=pn(e),i=0,s=0;for(;i<r.length;){let a=xr(r[i])?sm:im;if(s+a>n)break;s+=a,i++}return{before:r.slice(0,i).join(""),current:r[i]??"",after:r.slice(i+1).join("")}}o(rw,"splitAtVisualColumn");function fc(e,t,n=!1){if(!e||t<=0)return"";let r="\u2026",s=n?t-1:t,a="",c=0,l=pn(e);for(let d of l){let f=xr(d)?2:1;if(c+f>s)break;a+=d,c+=f}return n&&a.length<e.length&&(a+=r),a}o(fc,"truncateByVisualWidth");var am=new Is(lE);function cm(e){let t=am.get(e);if(t!==void 0)return t;let n=Sr(e);return am.set(e,n),n}o(cm,"getVisualWidthCached");function mn(e,t,n,r){let i=[],s=[],a=[];for(let c=0;c<e.length;c++){let l=e[c]||"";if(s[c]=[],l.length===0){i.push("");let p=i.length-1;s[c].push([p,0]),a.push([c,0]);continue}let d=0,f=pn(l);for(;d<f.length;){let p="",m=0,g=d,S=-1;for(let w=d;w<f.length;w++){let b=f[w],T=xr(b)?2:1;if(m+T>t){S>=0&&w-d>0?(p=f.slice(d,S).join(""),m=f.slice(d,S).reduce((v,A)=>v+(xr(A)?2:1),0),g=S):p.length===0&&T>t&&(p=b,m=T,g=w+1);break}p+=b,m+=T,g=w+1,b===" "&&(S=w+1)}if(p.length>0||i.length===0){let w=d,b=i.length;i.push(p),s[c].push([b,w]),a.push([c,w])}d=g}}return{visualLines:i,logicalToVisualMap:s,visualToLogicalMap:a}}o(mn,"calculateVisualLayout");function lm(e,t){let{logicalToVisualMap:n,visualLines:r}=e;if(r.length===0)return[0,0];let[i,s]=t,a=n[i];if(!a||a.length===0)return[0,0];let c;for(let[g,S]of a)if(S<=s)c=[g,S];else break;let[l,d]=c??a[0],f=r[l]??"",p=Math.max(0,s-d),m=Sr(dE(f,0,p));return[l,m]}o(lm,"calculateVisualCursorFromLayout");var um={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"]}},ow={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 iw={dark:um,minimal:ow};function ne(e="dark"){return iw[e]??um}o(ne,"getTheme");function lH(){return Object.keys(iw)}o(lH,"getThemeNames");import{jsx as yn,jsxs as Fn,Fragment as T_}from"react/jsx-runtime";import{useMemo as wd}from"react";import{jsx as NT}from"react/jsx-runtime";import{createContext as qA,useContext as fi,useEffect as $s,useMemo as DT,useState as JA,useCallback as BT,useRef as dd}from"react";import{Stream as kA}from"node:stream";import{openSync as RA,writeSync as IT}from"node:fs";import{performance as EA}from"node:perf_hooks";import{tmpdir as MA}from"node:os";import{join as AA}from"node:path";import dm,{forwardRef as mE,useContext as hE}from"react";import{createContext as fE}from"react";var vs=fE({isScreenReaderEnabled:!1});import{createContext as pE}from"react";var ju=pE(void 0);var sw=mE(({children:e,backgroundColor:t,"aria-label":n,"aria-hidden":r,"aria-role":i,"aria-state":s,...a},c)=>{let{isScreenReaderEnabled:l}=hE(vs),d=n?dm.createElement("ink-text",null,n):void 0;if(l&&r)return null;let f=dm.createElement("ink-box",{ref:c,style:{flexWrap:"nowrap",flexDirection:"row",flexGrow:0,flexShrink:1,...a,backgroundColor:t,overflowX:a.overflowX??a.overflow??"visible",overflowY:a.overflowY??a.overflow??"visible"},internal_accessibility:{role:i,state:s}},l&&d?d:e);return t?dm.createElement(ju.Provider,{value:t},f):f});sw.displayName="Box";var Wn=sw;import SE,{useContext as aw}from"react";import ks from"chalk";import go from"chalk";var gE=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,yE=/^ansi256\(\s?(\d+)\s?\)$/;function xE(e){return e in go}o(xE,"isNamedColor");function tr(e,t,n){if(!t)return e;if(xE(t)){let r=go;if(n==="foreground")return r[t]?.(e)??e;let i=`bg${t[0].toUpperCase()+t.slice(1)}`;return r[i]?.(e)??e}if(t.startsWith("#"))return n==="foreground"?go.hex(t)(e):go.bgHex(t)(e);if(t.startsWith("ansi256")){let r=yE.exec(t);if(!r)return e;let i=Number(r[1]);return n==="foreground"?go.ansi256(i)(e):go.bgAnsi256(i)(e)}if(t.startsWith("rgb")){let r=gE.exec(t);if(!r)return e;let i=Number(r[1]),s=Number(r[2]),a=Number(r[3]);return n==="foreground"?go.rgb(i,s,a)(e):go.bgRgb(i,s,a)(e)}return e}o(tr,"colorize");function hn({color:e,backgroundColor:t,dimColor:n=!1,bold:r=!1,italic:i=!1,underline:s=!1,strikethrough:a=!1,inverse:c=!1,wrap:l="wrap",children:d,"aria-label":f,"aria-hidden":p=!1,internal_cursorAnchor:m=!1}){let{isScreenReaderEnabled:g}=aw(vs),S=aw(ju),w=g&&f?f:d;if(w==null)return null;let b=o(T=>{let v=T;n&&(v=ks.dim(v)),e&&(v=tr(v,e,"foreground"));let A=t??S;return A&&(v=tr(v,A,"background")),r&&(v=ks.bold(v)),i&&(v=ks.italic(v)),s&&(v=ks.underline(v)),a&&(v=ks.strikethrough(v)),c&&(v=ks.inverse(v)),v},"transform");return g&&p?null:SE.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:l},internal_transform:b,...m?{internal_cursorAnchor:!0}:{}},g&&f?f:d)}o(hn,"Text");import wE,{useLayoutEffect as TE,useMemo as cw,useState as CE}from"react";function fm({items:e,children:t,style:n}){let[r,i]=CE(0),s=cw(()=>e.slice(r),[e,r]);TE(()=>{i(e.length)},[e.length]);let a=s.map((l,d)=>t(l,r+d)),c=cw(()=>({position:"absolute",flexDirection:"column",...n}),[n]);return wE.createElement("ink-box",{internal_static:!0,style:c},a)}o(fm,"Static");import ui from"node:process";import TT from"react";import{throttle as aA}from"es-toolkit/compat";import gn from"ansi-escapes";import Yr from"is-in-ci";import cA from"auto-bind";import{onExit as lA}from"signal-exit";import uA from"patch-console";import{LegacyRoot as dA,ConcurrentRoot as fA}from"react-reconciler/constants.js";import pA from"yoga-layout";import mA from"wrap-ansi";import hA from"terminal-size";import bE from"node:process";var Uu=o(()=>bE.env.DEV==="true","isDev");import qE from"react-reconciler";import{DefaultEventPriority as JE,NoEventPriority as Iw}from"react-reconciler/constants.js";import*as yo from"scheduler";import ww from"yoga-layout";import{createContext as QE}from"react";import BE from"yoga-layout";import IE from"widest-line";var lw=new Map,vE=o(e=>{if(e.length===0)return{width:0,height:0};let t=lw.get(e);if(t)return t;let n=IE(e),r=e.split(`
2
+ import{$ as cc,A as RS,B as ps,Ba as rm,C as Eu,Ca as Du,D as ES,Da as XS,E as ic,Ea as qS,F as Xp,G as AS,H as qp,I as ni,J as Jp,K as sc,L as Qp,M as Zp,N as _S,O as LS,P as ms,Q as PS,R as ri,T as hs,U as Mu,V as $S,W as ac,X as yr,Y as em,Z as Wr,_ as gs,a as hr,aa as Au,b as B,ba as OS,ca as DS,d as dn,da as NS,e as zp,ea as BS,fa as HS,g as fn,ga as WS,h as ec,ha as _u,i as Iu,ia as Lu,j as Jo,ja as lc,k as tc,ka as Pu,la as $u,m as nc,ma as Ou,n as mo,na as FS,o as vS,oa as jS,p as ho,pa as US,q as rc,qa as tm,ra as GS,s as oc,sa as VS,t as kS,ta as KS,ua as zS,wa as ys,x as ti,xa as xs,y as ku,ya as nm,z as Ru,za as YS}from"./chunk-UXQILGRX.js";import{a as MS}from"./chunk-2UUOFT3Z.js";import{e as JS,f as QS,g as ZS}from"./chunk-YADBB5GN.js";import{E as Yp,F as ds,G as vu,H as fs,I as ei,a as te,c as Qo,j as us,k as Hn,p as bS,u as IS,v as gr,w as Zo}from"./chunk-TBXP7FEG.js";import{Ea as Cu,Fa as bu,I as yS,J as xS,L as Kp,M as SS,N as wS,Z as TS,c as Up,ta as CS,u as gS,v as Za,wa as Tu}from"./chunk-5GPJ6MB5.js";import{z as fS}from"./chunk-Z3ZXV3DZ.js";import{a as Qa,b as qx,ea as pS,fa as mS,p as dS}from"./chunk-D7RENPQQ.js";import{Aa as cS,Ba as Su,Ca as lS,Pa as uS,Y as xu,ad as wu,dd as hS,e as yu,ja as aS}from"./chunk-SVEJFERZ.js";import{Ja as Xo,ha as lu,ta as Yx,va as jp,wa as Xx}from"./chunk-S4GVQO3W.js";import{$c as rs,Bd as mu,Ca as Qx,Cd as ls,Md as sS,Pd as hu,Qc as rS,Qd as gu,Ra as Gp,Rc as du,Ta as Vp,ed as oS,gb as Zx,hd as tn,jd as Dt,k as ns,lb as uu,ld as os,md as is,nb as eS,nd as fu,pd as ss,qd as as,rd as cs,sd as pu,td as qo,ud as iS,va as Jx,wa as mr,xb as tS,yb as nS}from"./chunk-PRIBJN5E.js";import{B as Bn}from"./chunk-BEXLPFFB.js";import{a as o}from"./chunk-V4WSBIXB.js";import{spawnSync as oE}from"node:child_process";function Nu(e){return e==="1"||e?.toLowerCase()==="true"}o(Nu,"isTruthyEnv");function ew(e){return e==="0"||e?.toLowerCase()==="false"}o(ew,"isFalseyEnv");function Ss(e=process.env){return e.TERM_PROGRAM?.toLowerCase()==="vscode"||!!e.VSCODE_GIT_IPC_HANDLE||!!e.VSCODE_INJECTION}o(Ss,"isVsCodeTerminalHostEnv");function ws(e={}){let t=e.env??process.env;return(e.platform??process.platform)==="win32"||!!t.WT_SESSION}o(ws,"hasCursorUpViewportYankRisk");function iE(e){return!!(e.SSH_CONNECTION||e.SSH_CLIENT||e.SSH_TTY)}o(iE,"isSshSession");function uc(e={}){let t=e.env??process.env;return Nu(t.KODAX_FULLSCREEN)?!1:(e.platform??process.platform)==="win32"&&iE(t)}o(uc,"isRemoteConptyHost");function Ts(e={}){let t=e.env??process.env;return ws(e)||Ss(t)}o(Ts,"hasMainScreenRenderScrollRisk");function sE(e){if(!e.TMUX||e.TERM_PROGRAM!=="iTerm.app")return!1;let t=e.TERM??"";return!t.startsWith("screen")&&!t.startsWith("tmux")}o(sE,"isTmuxControlModeEnvHeuristic");var Fr;function dc(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(sE(t))return!0;if(!(t===process.env&&n===process.platform))return!1;if(Fr!==void 0||(Fr=!1,!t.TMUX)||t.TERM_PROGRAM&&t.TERM_PROGRAM!=="iTerm.app")return Fr;try{let i=oE("tmux",["display-message","-p","#{client_control_mode}"],{encoding:"utf8",timeout:2e3});i.status===0&&(Fr=i.stdout.trim()==="1")}catch{Fr=!1}return Fr}o(dc,"isTmuxControlMode");function om(){Fr=void 0}o(om,"resetTmuxControlModeProbeForTesting");function oi(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":dc(e)?"tmux_control_mode":Ss(t)?"xtermjs_host":uc(e)?"remote_conpty_host":ws(e)?"degraded_vt":"native_vt"}o(oi,"detectTerminalRenderHost");var ii=oi;function Cs(e={}){let t=e.env??process.env;if(Nu(t.KODAX_FORCE_INK))return"legacy";let n=t.KODAX_TUI_RENDERER?.trim().toLowerCase();return n==="legacy"||n==="owned"||n==="auto"?n:"auto"}o(Cs,"resolveConfiguredTuiRendererMode");function si(e={}){let t=Cs(e);if(t==="legacy"||t==="owned")return t;let n=oi(e);return n==="unsupported_control_host"||n==="tmux_control_mode"?"legacy":"owned"}o(si,"resolveEffectiveTuiRendererMode");function Bu(e={}){let t=e.env??process.env;if(Nu(t.KODAX_FORCE_CLASSIC_REPL))return"classic";let n=Cs({env:t});if(n==="legacy"||n==="owned")return"ink";let r=oi(e);return r==="unsupported_control_host"||r==="tmux_control_mode"?"classic":"ink"}o(Bu,"resolveInteractiveSurfacePreference");var aE={enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!0},tw={enabled:!0,promptShell:"main-screen",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!1,transcriptSpinnerAnimation:!0};function ai(e,t="owned",n={}){let r=n.env??process.env;return ew(r.KODAX_FULLSCREEN)?t==="owned"&&e!=="tmux_control_mode"&&e!=="unsupported_control_host"?tw:aE:cE(e,t)}o(ai,"resolveFullscreenPolicy");function cE(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 tw;default:return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1}}}o(cE,"buildFullscreenPolicy");function bs(e,t={}){let n=t.rendererMode??"owned",r=ai(e,n,{env:t.env}),i=e!=="unsupported_control_host"&&e!=="tmux_control_mode";return{profile:e,ownsViewportByDefault:r.enabled&&r.promptShell==="virtual",supportsMouseTracking:r.mouseWheel||r.mouseClicks,bufferingMode:r.streamingPreview?"live":"buffered-fallback",supportsFullscreenLayout:r.enabled,supportsOverlaySurface:r.enabled,supportsSelection:i,supportsCopyOnSelect:!1,supportsWheelHistory:r.mouseWheel,supportsViewportChrome:r.enabled,supportsSearchViewport:r.enabled,supportsStickyPrompt:r.enabled}}o(bs,"getTerminalHostCapabilities");function Hu(e={}){return si(e)==="owned"}o(Hu,"isOwnedRendererPreferred");function Wu(e={}){let t=e.env??process.env;return Nu(t.KODAX_FORCE_CLASSIC_REPL)&&!ew(t.KODAX_FORCE_CLASSIC_REPL)}o(Wu,"isClassicReplForced");var Is=class{static{o(this,"LRUCache")}capacity;cache;constructor(t){this.capacity=t,this.cache=new Map}get(t){if(!this.cache.has(t))return;let n=this.cache.get(t);return this.cache.delete(t),this.cache.set(t,n),n}set(t,n){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.capacity){let r=this.cache.keys().next().value;r!==void 0&&this.cache.delete(r)}this.cache.set(t,n)}has(t){return this.cache.has(t)}delete(t){return this.cache.delete(t)}clear(){this.cache.clear()}get size(){return this.cache.size}},im=1,sm=2,lE=1e3,nw;function Fu(){if(!(typeof Intl>"u"||typeof Intl.Segmenter!="function"))return nw??=new Intl.Segmenter("en",{granularity:"grapheme"}),nw}o(Fu,"getGraphemeSegmenter");function Rn(e){if(!e)return 0;let t=Fu();if(t){let n=0;for(let r of t.segment(e))n++;return n}return[...e].length}o(Rn,"getCodePointLength");function xr(e){if(!e)return!1;let t=e.codePointAt(0);return t===void 0?!1:t>=19968&&t<=40959||t>=13312&&t<=19903||t>=63744&&t<=64255||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=44032&&t<=55215||t>=12288&&t<=12351||t>=65280&&t<=65519||t>=128512&&t<=128591||t>=127744&&t<=128511||t>=128640&&t<=128767||t>=127456&&t<=127487||t>=9728&&t<=9983||t>=9984&&t<=10175||t>=129280&&t<=129535||t>=129536&&t<=129647||t>=129648&&t<=129791}o(xr,"isWideChar");function Sr(e){if(!e)return 0;let t=0,n=Fu();if(n)for(let r of n.segment(e))t+=xr(r.segment)?sm:im;else for(let r of e)t+=xr(r)?sm:im;return t}o(Sr,"getVisualWidth");function uE(e,t){if(!e||t<0)return"";let n=Fu();if(n){let i=0;for(let s of n.segment(e)){if(i===t)return s.segment;i++}return""}let r=[...e];return t>=r.length?"":r[t]}o(uE,"getCharAtCodePoint");function pn(e){if(!e)return[];let t=Fu();if(t){let n=[];for(let r of t.segment(e))n.push(r.segment);return n}return[...e]}o(pn,"splitByCodePoints");function dE(e,t,n){return pn(e).slice(t,n).join("")}o(dE,"sliceByCodePoints");function rw(e,t){let n=Math.max(0,t),r=pn(e),i=0,s=0;for(;i<r.length;){let a=xr(r[i])?sm:im;if(s+a>n)break;s+=a,i++}return{before:r.slice(0,i).join(""),current:r[i]??"",after:r.slice(i+1).join("")}}o(rw,"splitAtVisualColumn");function fc(e,t,n=!1){if(!e||t<=0)return"";let r="\u2026",s=n?t-1:t,a="",c=0,l=pn(e);for(let d of l){let f=xr(d)?2:1;if(c+f>s)break;a+=d,c+=f}return n&&a.length<e.length&&(a+=r),a}o(fc,"truncateByVisualWidth");var am=new Is(lE);function cm(e){let t=am.get(e);if(t!==void 0)return t;let n=Sr(e);return am.set(e,n),n}o(cm,"getVisualWidthCached");function mn(e,t,n,r){let i=[],s=[],a=[];for(let c=0;c<e.length;c++){let l=e[c]||"";if(s[c]=[],l.length===0){i.push("");let p=i.length-1;s[c].push([p,0]),a.push([c,0]);continue}let d=0,f=pn(l);for(;d<f.length;){let p="",m=0,g=d,S=-1;for(let w=d;w<f.length;w++){let b=f[w],T=xr(b)?2:1;if(m+T>t){S>=0&&w-d>0?(p=f.slice(d,S).join(""),m=f.slice(d,S).reduce((v,A)=>v+(xr(A)?2:1),0),g=S):p.length===0&&T>t&&(p=b,m=T,g=w+1);break}p+=b,m+=T,g=w+1,b===" "&&(S=w+1)}if(p.length>0||i.length===0){let w=d,b=i.length;i.push(p),s[c].push([b,w]),a.push([c,w])}d=g}}return{visualLines:i,logicalToVisualMap:s,visualToLogicalMap:a}}o(mn,"calculateVisualLayout");function lm(e,t){let{logicalToVisualMap:n,visualLines:r}=e;if(r.length===0)return[0,0];let[i,s]=t,a=n[i];if(!a||a.length===0)return[0,0];let c;for(let[g,S]of a)if(S<=s)c=[g,S];else break;let[l,d]=c??a[0],f=r[l]??"",p=Math.max(0,s-d),m=Sr(dE(f,0,p));return[l,m]}o(lm,"calculateVisualCursorFromLayout");var um={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"]}},ow={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 iw={dark:um,minimal:ow};function ne(e="dark"){return iw[e]??um}o(ne,"getTheme");function lH(){return Object.keys(iw)}o(lH,"getThemeNames");import{jsx as yn,jsxs as Fn,Fragment as T_}from"react/jsx-runtime";import{useMemo as wd}from"react";import{jsx as NT}from"react/jsx-runtime";import{createContext as qA,useContext as fi,useEffect as $s,useMemo as DT,useState as JA,useCallback as BT,useRef as dd}from"react";import{Stream as kA}from"node:stream";import{openSync as RA,writeSync as IT}from"node:fs";import{performance as EA}from"node:perf_hooks";import{tmpdir as MA}from"node:os";import{join as AA}from"node:path";import dm,{forwardRef as mE,useContext as hE}from"react";import{createContext as fE}from"react";var vs=fE({isScreenReaderEnabled:!1});import{createContext as pE}from"react";var ju=pE(void 0);var sw=mE(({children:e,backgroundColor:t,"aria-label":n,"aria-hidden":r,"aria-role":i,"aria-state":s,...a},c)=>{let{isScreenReaderEnabled:l}=hE(vs),d=n?dm.createElement("ink-text",null,n):void 0;if(l&&r)return null;let f=dm.createElement("ink-box",{ref:c,style:{flexWrap:"nowrap",flexDirection:"row",flexGrow:0,flexShrink:1,...a,backgroundColor:t,overflowX:a.overflowX??a.overflow??"visible",overflowY:a.overflowY??a.overflow??"visible"},internal_accessibility:{role:i,state:s}},l&&d?d:e);return t?dm.createElement(ju.Provider,{value:t},f):f});sw.displayName="Box";var Wn=sw;import SE,{useContext as aw}from"react";import ks from"chalk";import go from"chalk";var gE=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,yE=/^ansi256\(\s?(\d+)\s?\)$/;function xE(e){return e in go}o(xE,"isNamedColor");function tr(e,t,n){if(!t)return e;if(xE(t)){let r=go;if(n==="foreground")return r[t]?.(e)??e;let i=`bg${t[0].toUpperCase()+t.slice(1)}`;return r[i]?.(e)??e}if(t.startsWith("#"))return n==="foreground"?go.hex(t)(e):go.bgHex(t)(e);if(t.startsWith("ansi256")){let r=yE.exec(t);if(!r)return e;let i=Number(r[1]);return n==="foreground"?go.ansi256(i)(e):go.bgAnsi256(i)(e)}if(t.startsWith("rgb")){let r=gE.exec(t);if(!r)return e;let i=Number(r[1]),s=Number(r[2]),a=Number(r[3]);return n==="foreground"?go.rgb(i,s,a)(e):go.bgRgb(i,s,a)(e)}return e}o(tr,"colorize");function hn({color:e,backgroundColor:t,dimColor:n=!1,bold:r=!1,italic:i=!1,underline:s=!1,strikethrough:a=!1,inverse:c=!1,wrap:l="wrap",children:d,"aria-label":f,"aria-hidden":p=!1,internal_cursorAnchor:m=!1}){let{isScreenReaderEnabled:g}=aw(vs),S=aw(ju),w=g&&f?f:d;if(w==null)return null;let b=o(T=>{let v=T;n&&(v=ks.dim(v)),e&&(v=tr(v,e,"foreground"));let A=t??S;return A&&(v=tr(v,A,"background")),r&&(v=ks.bold(v)),i&&(v=ks.italic(v)),s&&(v=ks.underline(v)),a&&(v=ks.strikethrough(v)),c&&(v=ks.inverse(v)),v},"transform");return g&&p?null:SE.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:l},internal_transform:b,...m?{internal_cursorAnchor:!0}:{}},g&&f?f:d)}o(hn,"Text");import wE,{useLayoutEffect as TE,useMemo as cw,useState as CE}from"react";function fm({items:e,children:t,style:n}){let[r,i]=CE(0),s=cw(()=>e.slice(r),[e,r]);TE(()=>{i(e.length)},[e.length]);let a=s.map((l,d)=>t(l,r+d)),c=cw(()=>({position:"absolute",flexDirection:"column",...n}),[n]);return wE.createElement("ink-box",{internal_static:!0,style:c},a)}o(fm,"Static");import ui from"node:process";import TT from"react";import{throttle as aA}from"es-toolkit/compat";import gn from"ansi-escapes";import Yr from"is-in-ci";import cA from"auto-bind";import{onExit as lA}from"signal-exit";import uA from"patch-console";import{LegacyRoot as dA,ConcurrentRoot as fA}from"react-reconciler/constants.js";import pA from"yoga-layout";import mA from"wrap-ansi";import hA from"terminal-size";import bE from"node:process";var Uu=o(()=>bE.env.DEV==="true","isDev");import qE from"react-reconciler";import{DefaultEventPriority as JE,NoEventPriority as Iw}from"react-reconciler/constants.js";import*as yo from"scheduler";import ww from"yoga-layout";import{createContext as QE}from"react";import BE from"yoga-layout";import IE from"widest-line";var lw=new Map,vE=o(e=>{if(e.length===0)return{width:0,height:0};let t=lw.get(e);if(t)return t;let n=IE(e),r=e.split(`
3
3
  `).length,i={width:n,height:r};return lw.set(e,i),i},"measureText"),pm=vE;import kE from"wrap-ansi";import RE from"cli-truncate";var uw={},EE=o((e,t,n)=>{let r=e+String(t)+String(n),i=uw[r];if(i)return i;let s=e;if(n==="wrap"&&(s=kE(e,t,{trim:!1,hard:!0})),n.startsWith("truncate")){let a="end";n==="truncate-middle"&&(a="middle"),n==="truncate-start"&&(a="start"),s=RE(e,t,{position:a})}return uw[r]=s,s},"wrapText"),Gu=EE;var ME=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=63},"isCsiParameterCharacter"),AE=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isCsiIntermediateCharacter"),_E=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=64&&t<=126},"isCsiFinalCharacter"),pw=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isEscapeIntermediateCharacter"),LE=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=126},"isEscapeFinalCharacter"),mw=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=128&&t<=159},"isC1ControlCharacter"),dw=o((e,t)=>{let n=t;for(;n<e.length;){let c=e[n];if(!ME(c))break;n++}let r=e.slice(t,n),i=n;for(;n<e.length;){let c=e[n];if(!AE(c))break;n++}let s=e.slice(i,n),a=e[n];if(!(a===void 0||!_E(a)))return{endIndex:n+1,parameterString:r,intermediateString:s,finalCharacter:a}},"readCsiSequence"),fw=o((e,t,n)=>{for(let r=t;r<e.length;r++){let i=e[r];if(n&&i==="\x07"||i==="\x9C")return r+1;if(i==="\x1B"){let s=e[r+1];if(s==="\x1B"){r++;continue}if(s==="\\")return r+2}}},"findControlStringTerminatorIndex"),PE=o((e,t)=>{let n=t;for(;n<e.length;){let s=e[n];if(!pw(s))break;n++}let r=e.slice(t,n),i=e[n];if(!(i===void 0||!LE(i)))return{endIndex:n+1,intermediateString:r,finalCharacter:i}},"readEscapeSequence"),$E=o(e=>{switch(e){case"]":return{type:"osc",allowBellTerminator:!0};case"P":return{type:"dcs",allowBellTerminator:!1};case"^":return{type:"pm",allowBellTerminator:!1};case"_":return{type:"apc",allowBellTerminator:!1};case"X":return{type:"sos",allowBellTerminator:!1};default:return}},"getControlStringFromEscapeIntroducer"),OE=o(e=>{switch(e){case"\x9D":return{type:"osc",allowBellTerminator:!0};case"\x90":return{type:"dcs",allowBellTerminator:!1};case"\x9E":return{type:"pm",allowBellTerminator:!1};case"\x9F":return{type:"apc",allowBellTerminator:!1};case"\x98":return{type:"sos",allowBellTerminator:!1};default:return}},"getControlStringFromC1Introducer"),mm=o(e=>{if(e.includes("\x1B"))return!0;for(let t of e)if(mw(t))return!0;return!1},"hasAnsiControlCharacters"),Rs=o((e,t,n,r)=>(r>n&&e.push({type:"text",value:t.slice(n,r)}),e.push({type:"invalid",value:t.slice(r)}),e),"malformedFromIndex"),hw=o(e=>{if(!mm(e))return[{type:"text",value:e}];let t=[],n=0;for(let r=0;r<e.length;){let i=e[r];if(i===void 0)break;if(i==="\x1B"){let a=e[r+1];if(a===void 0)return Rs(t,e,n,r);if(a==="["){let d=dw(e,r+2);if(d===void 0)return Rs(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=$E(a);if(c!==void 0){let d=fw(e,r+2,c.allowBellTerminator);if(d===void 0)return Rs(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=PE(e,r+1);if(l===void 0){if(pw(a))return Rs(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),r++,n=r;continue}r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"esc",value:e.slice(r,l.endIndex),intermediateString:l.intermediateString,finalCharacter:l.finalCharacter}),r=l.endIndex,n=r;continue}if(i==="\x9B"){let a=dw(e,r+1);if(a===void 0)return Rs(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=OE(i);if(s!==void 0){let a=fw(e,r+1,s.allowBellTerminator);if(a===void 0)return Rs(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:s.type,value:e.slice(r,a)}),r=a,n=r;continue}if(i==="\x9C"){r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"st",value:i}),r++,n=r;continue}if(mw(i)){r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"c1",value:i}),r++,n=r;continue}r++}return n<e.length&&t.push({type:"text",value:e.slice(n)}),t},"tokenizeAnsi");var DE=/^[\d:;]*$/,NE=o(e=>{if(!mm(e))return e;let t="";for(let n of hw(e)){if(n.type==="text"||n.type==="osc"){t+=n.value;continue}n.type==="csi"&&n.finalCharacter==="m"&&n.intermediateString===""&&DE.test(n.parameterString)&&(t+=n.value)}return t},"sanitizeAnsi"),gw=NE;var yw=o(e=>{let t="";for(let n=0;n<e.childNodes.length;n++){let r=e.childNodes[n];if(r===void 0)continue;let i="";r.nodeName==="#text"?i=r.nodeValue:((r.nodeName==="ink-text"||r.nodeName==="ink-virtual-text")&&(i=yw(r)),i.length>0&&typeof r.internal_transform=="function"&&(i=r.internal_transform(i,n))),t+=i}return gw(t)},"squashTextNodes"),pc=yw;var Vu=o(e=>{let t={nodeName:e,style:{},attributes:{},childNodes:[],parentNode:void 0,yogaNode:e==="ink-virtual-text"?void 0:BE.Node.create(),internal_accessibility:{}};return e==="ink-text"&&t.yogaNode?.setMeasureFunc(HE.bind(null,t)),t},"createNode"),Ku=o((e,t)=>{t.parentNode&&mc(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")&&zu(e)},"appendChildNode"),hm=o((e,t,n)=>{t.parentNode&&mc(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")&&zu(e)},"insertBeforeNode"),mc=o((e,t)=>{t.yogaNode&&t.parentNode?.yogaNode?.removeChild(t.yogaNode),t.parentNode=void 0;let n=e.childNodes.indexOf(t);n>=0&&e.childNodes.splice(n,1),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&zu(e)},"removeChildNode"),gm=o((e,t,n)=>{if(t==="internal_accessibility"){e.internal_accessibility=n;return}e.attributes[t]=n},"setAttribute"),ym=o((e,t)=>{e.style=t},"setStyle"),xw=o(e=>{let t={nodeName:"#text",nodeValue:e,yogaNode:void 0,parentNode:void 0,style:{}};return hc(t,e),t},"createTextNode"),HE=o(function(e,t){let n=e.nodeName==="#text"?e.nodeValue:pc(e),r=pm(n);if(r.width<=t||r.width>=1&&t>0&&t<1)return r;let i=e.style?.textWrap??"wrap",s=Gu(n,t,i);return pm(s)},"measureTextNode"),Sw=o(e=>{if(e?.parentNode)return e.yogaNode??Sw(e.parentNode)},"findClosestYogaNode"),zu=o(e=>{Sw(e)?.markDirty()},"markNodeAsDirty"),hc=o((e,t)=>{typeof t!="string"&&(t=String(t)),e.nodeValue=t,zu(e)},"setTextNodeValue");import Ce from"yoga-layout";var FE=o((e,t)=>{"position"in t&&e.setPositionType(t.position==="absolute"?Ce.POSITION_TYPE_ABSOLUTE:Ce.POSITION_TYPE_RELATIVE),"top"in t&&e.setPosition(Ce.EDGE_TOP,t.top??0),"bottom"in t&&e.setPosition(Ce.EDGE_BOTTOM,t.bottom??0),"left"in t&&e.setPosition(Ce.EDGE_LEFT,t.left??0),"right"in t&&e.setPosition(Ce.EDGE_RIGHT,t.right??0)},"applyPositionStyles"),jE=o((e,t)=>{"margin"in t&&e.setMargin(Ce.EDGE_ALL,t.margin??0),"marginX"in t&&e.setMargin(Ce.EDGE_HORIZONTAL,t.marginX??0),"marginY"in t&&e.setMargin(Ce.EDGE_VERTICAL,t.marginY??0),"marginLeft"in t&&e.setMargin(Ce.EDGE_START,t.marginLeft||0),"marginRight"in t&&e.setMargin(Ce.EDGE_END,t.marginRight||0),"marginTop"in t&&e.setMargin(Ce.EDGE_TOP,t.marginTop||0),"marginBottom"in t&&e.setMargin(Ce.EDGE_BOTTOM,t.marginBottom||0)},"applyMarginStyles"),UE=o((e,t)=>{"padding"in t&&e.setPadding(Ce.EDGE_ALL,t.padding??0),"paddingX"in t&&e.setPadding(Ce.EDGE_HORIZONTAL,t.paddingX??0),"paddingY"in t&&e.setPadding(Ce.EDGE_VERTICAL,t.paddingY??0),"paddingLeft"in t&&e.setPadding(Ce.EDGE_LEFT,t.paddingLeft||0),"paddingRight"in t&&e.setPadding(Ce.EDGE_RIGHT,t.paddingRight||0),"paddingTop"in t&&e.setPadding(Ce.EDGE_TOP,t.paddingTop||0),"paddingBottom"in t&&e.setPadding(Ce.EDGE_BOTTOM,t.paddingBottom||0)},"applyPaddingStyles"),GE=o((e,t)=>{"flexGrow"in t&&e.setFlexGrow(t.flexGrow??0),"flexShrink"in t&&e.setFlexShrink(typeof t.flexShrink=="number"?t.flexShrink:1),"flexWrap"in t&&(t.flexWrap==="nowrap"&&e.setFlexWrap(Ce.WRAP_NO_WRAP),t.flexWrap==="wrap"&&e.setFlexWrap(Ce.WRAP_WRAP),t.flexWrap==="wrap-reverse"&&e.setFlexWrap(Ce.WRAP_WRAP_REVERSE)),"flexDirection"in t&&(t.flexDirection==="row"&&e.setFlexDirection(Ce.FLEX_DIRECTION_ROW),t.flexDirection==="row-reverse"&&e.setFlexDirection(Ce.FLEX_DIRECTION_ROW_REVERSE),t.flexDirection==="column"&&e.setFlexDirection(Ce.FLEX_DIRECTION_COLUMN),t.flexDirection==="column-reverse"&&e.setFlexDirection(Ce.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(Ce.ALIGN_STRETCH),t.alignItems==="flex-start"&&e.setAlignItems(Ce.ALIGN_FLEX_START),t.alignItems==="center"&&e.setAlignItems(Ce.ALIGN_CENTER),t.alignItems==="flex-end"&&e.setAlignItems(Ce.ALIGN_FLEX_END)),"alignSelf"in t&&((t.alignSelf==="auto"||!t.alignSelf)&&e.setAlignSelf(Ce.ALIGN_AUTO),t.alignSelf==="flex-start"&&e.setAlignSelf(Ce.ALIGN_FLEX_START),t.alignSelf==="center"&&e.setAlignSelf(Ce.ALIGN_CENTER),t.alignSelf==="flex-end"&&e.setAlignSelf(Ce.ALIGN_FLEX_END)),"justifyContent"in t&&((t.justifyContent==="flex-start"||!t.justifyContent)&&e.setJustifyContent(Ce.JUSTIFY_FLEX_START),t.justifyContent==="center"&&e.setJustifyContent(Ce.JUSTIFY_CENTER),t.justifyContent==="flex-end"&&e.setJustifyContent(Ce.JUSTIFY_FLEX_END),t.justifyContent==="space-between"&&e.setJustifyContent(Ce.JUSTIFY_SPACE_BETWEEN),t.justifyContent==="space-around"&&e.setJustifyContent(Ce.JUSTIFY_SPACE_AROUND),t.justifyContent==="space-evenly"&&e.setJustifyContent(Ce.JUSTIFY_SPACE_EVENLY))},"applyFlexStyles"),VE=o((e,t)=>{"width"in t&&(typeof t.width=="number"?e.setWidth(t.width):typeof t.width=="string"?e.setWidthPercent(Number.parseInt(t.width,10)):e.setWidthAuto()),"height"in t&&(typeof t.height=="number"?e.setHeight(t.height):typeof t.height=="string"?e.setHeightPercent(Number.parseInt(t.height,10)):e.setHeightAuto()),"minWidth"in t&&(typeof t.minWidth=="string"?e.setMinWidthPercent(Number.parseInt(t.minWidth,10)):e.setMinWidth(t.minWidth??0)),"minHeight"in t&&(typeof t.minHeight=="string"?e.setMinHeightPercent(Number.parseInt(t.minHeight,10)):e.setMinHeight(t.minHeight??0))},"applyDimensionStyles"),KE=o((e,t)=>{"display"in t&&e.setDisplay(t.display==="flex"?Ce.DISPLAY_FLEX:Ce.DISPLAY_NONE)},"applyDisplayStyles"),zE=o((e,t)=>{if("borderStyle"in t){let n=t.borderStyle?1:0;t.borderTop!==!1&&e.setBorder(Ce.EDGE_TOP,n),t.borderBottom!==!1&&e.setBorder(Ce.EDGE_BOTTOM,n),t.borderLeft!==!1&&e.setBorder(Ce.EDGE_LEFT,n),t.borderRight!==!1&&e.setBorder(Ce.EDGE_RIGHT,n)}},"applyBorderStyles"),YE=o((e,t)=>{"gap"in t&&e.setGap(Ce.GUTTER_ALL,t.gap??0),"columnGap"in t&&e.setGap(Ce.GUTTER_COLUMN,t.columnGap??0),"rowGap"in t&&e.setGap(Ce.GUTTER_ROW,t.rowGap??0)},"applyGapStyles"),XE=o((e,t={})=>{FE(e,t),jE(e,t),UE(e,t),GE(e,t),VE(e,t),KE(e,t),zE(e,t),YE(e,t)},"styles"),xm=XE;if(Uu())try{await import("./devtools-YINBSZC7.js")}catch(e){if(e.code==="ERR_MODULE_NOT_FOUND")console.warn(`
4
4
  The environment variable DEV is set to true, so Ink tried to import \`react-devtools-core\`,
5
5
  but this failed as it was not installed. Debugging with React Devtools requires it.
@@ -75,7 +75,7 @@ ${c||"(no output)"}`}catch(s){let c=(s instanceof Error?s:new Error(String(s))).
75
75
  Error: ${c}`}}o(df,"executeShellCommand");async function Yh(e,t={}){if(e.startsWith("!")){let n=e.slice(1).trim();return df(n,t)}return e}o(Yh,"processSpecialSyntax");function w1(e){return e.trim().startsWith("!")}o(w1,"isShellCommand");function T1(e){return e.startsWith("[Shell command executed:")||e.startsWith("[Shell:")}o(T1,"isShellCommandSuccess");function Xc(e){return e.startsWith("[Shell command executed:")||e.startsWith("[Shell command failed:")||e.startsWith("[Shell:")||e.startsWith("[Blocked]")}o(Xc,"isShellCommandHandled");var N0=150,B0=50;function Xr(e){if(e.length===0)return[];let t=[];for(let r=0;r<e.length;r+=1)e[r]?.type==="user"&&t.push(r);let n=[...e];if(t.length>B0){let r=t[t.length-B0]??0;n=e.slice(r)}if(n.length>N0){let r=n.slice(-N0),i=r.findIndex(s=>s.type==="user");n=i>0?r.slice(i):r}return[...n]}o(Xr,"trimPersistedUiHistorySnapshot");function Ro(e){if(e)return Xr(e)}o(Ro,"normalizePersistedUiHistory");function C1(e){switch(e.type){case"assistant":return{type:"assistant",text:e.text,...e.compactText?{compactText:e.compactText}:{}};case"thinking":return{type:"thinking",text:e.text,...e.compactText?{compactText:e.compactText}:{}};case"event":return{type:"event",text:e.text,...e.icon?{icon:e.icon}:{},...e.compactText?{compactText:e.compactText}:{}};case"info":return{type:"info",text:e.text,...e.icon?{icon:e.icon}:{},...e.compactText?{compactText:e.compactText}:{}};case"user":return{type:"user",text:e.text};case"system":return{type:"system",text:e.text};case"error":return{type:"error",text:e.text};case"hint":return{type:"hint",text:e.text};case"sidecar":{let t=e.icon;if(t==="budget-exhausted")return{type:"sidecar",text:e.text,delivery:"budget-exhausted"};let n=t==="blocked"?"blocked":"revise";return{type:"sidecar",text:e.text,verdict:n}}}}o(C1,"toCreatableTextHistoryItem");function b1(e){if(e.type!=="tool_group")return C1(e);let t=e.tools.map(Jp);return t.length>0?{type:"tool_group",tools:t}:void 0}o(b1,"persistedUiHistoryItemToCreatableHistoryItem");function H0(e){let t=[],n=[];for(let r of e)r.type==="user"&&n.length>0&&(t.push(n),n=[]),n.push(r);return n.length>0&&t.push(n),t}o(H0,"splitCreatableHistoryRounds");function I1(e){return e.some(t=>t.type==="tool_group")}o(I1,"roundHasToolGroup");function v1(e){return e.type==="event"&&e.icon==="tool"}o(v1,"isLegacyToolSummaryItem");function k1(e,t){if(t.length===0||I1(e))return[...e];let n=e.filter(a=>!v1(a)),r=-1;for(let a=n.length-1;a>=0;a-=1)if(n[a]?.type==="thinking"){r=a;break}let i=n.findIndex(a=>a.type==="assistant"),s=r>=0?r+1:i>=0?i:n.length;return[...n.slice(0,s),...t,...n.slice(s)]}o(k1,"insertDerivedToolGroupsIntoRound");function R1(e,t){if(t.filter(a=>a.type==="tool_group").length===0)return[...e];let r=H0(e),i=H0(t),s=Math.max(0,i.length-r.length);return r.flatMap((a,c)=>{let d=(i[c+s]??[]).filter(f=>f.type==="tool_group");return k1(a,d)})}o(R1,"enrichTextOnlyUiHistory");function ff(e){let t=Qp(e.messages).map(ni),n=Ro(e.uiHistory);if(!n||n.length===0)return t;let r=n.map(b1).filter(i=>!!i);return R1(r,t)}o(ff,"restoreHistoryItemsFromSession");function pf(e,t,n){let r=e.trim();return{type:"info",icon:"\u23F3",text:/\bretry\s+\d+\/\d+\b/i.test(r)||/\b\d+\/\d+\b/.test(r)?r:`${r} \xB7 retry ${t}/${n}`}}o(pf,"createRetryHistoryItem");function E1(e,t,n,r){e(pf(t,n,r))}o(E1,"emitRetryHistoryItem");function mf(e){let{recoveryAction:t,attempt:n,maxAttempts:r,delayMs:i,stage:s,fallbackUsed:a}=e,c=Math.round(i/1e3);if(t==="manual_continue")return{type:"info",icon:"\u26A0",text:'Recovery exhausted. Type "continue" to retry or "stop" to cancel.'};if(t==="non_streaming_fallback"||a)return{type:"info",icon:"\u23F3",text:"Stream unstable, switching to non-streaming mode"};if(t==="sanitize_thinking_and_retry")return{type:"info",icon:"\u23F3",text:"Provider rejected replay thinking, sanitizing history and retrying"};let l;switch(s){case"before_first_delta":case"before_request_accepted":l="Provider request timed out";break;case"mid_stream_text":case"mid_stream_thinking":l="Stream interrupted after partial output";break;case"mid_stream_tool_input":l="Stream interrupted during tool input";break;case"post_tool_execution_pre_assistant_close":l="Stream interrupted after tool execution";break;default:l="Stream interrupted";break}let d=t==="stable_boundary_retry"?"recovering":"retrying";return{type:"info",icon:"\u23F3",text:c>0?`${l} \xB7 ${d} ${n}/${r} in ${c}s`:`${l} \xB7 ${d} ${n}/${r}`}}o(mf,"createRecoveryHistoryItem");function M1(e,t){e(mf(t))}o(M1,"emitRecoveryHistoryItem");import{jsx as ae,jsxs as Sn,Fragment as RD}from"react/jsx-runtime";import Av,{useState as He,useCallback as K,useRef as pe,useEffect as Ne,useMemo as fe}from"react";import{jsx as Rr,Fragment as A1,jsxs as hf}from"react/jsx-runtime";var Xh=" | ",W0=o(({searchActive:e=!1,selectionActive:t=!1,showAllActive:n=!1,searchQuery:r="",searchCurrent:i=0,searchCount:s=0,searchDetailText:a,pendingLiveUpdates:c=0,secondaryText:l,noticeText:d})=>{let f=ne("dark"),p=r.trim(),m=a?.trim(),g=l?.trim(),S=d?.trim(),w=e?p?`Search /${p}`:"Search":"Transcript",b=e?`Enter jump | n/N next/prev | Ctrl+E ${n?"collapse":"show all"} | Esc close | Ctrl+O/q back`:t?`PgUp/PgDn page | j/k scroll | / search | n/N matches | Ctrl+E ${n?"collapse":"show all"} | Esc clear focus | Ctrl+O/q back`:`PgUp/PgDn page | j/k scroll | \u2190/\u2192 select | / search | n/N matches | Ctrl+E ${n?"collapse":"show all"} | s dump | Ctrl+O/q/Esc back`,T=c>0?c===1?"1 new update":`${c} new updates`:void 0,v=e&&s>0?`${Math.max(0,i)}/${s}`:void 0,A=e&&m||g,D=!!(A||S);return hf(E,{flexDirection:"column",children:[hf(E,{paddingX:1,children:[Rr(I,{color:f.colors.dim,children:w}),Rr(I,{dimColor:!0,children:Xh}),Rr(I,{color:f.colors.dim,children:b}),v||T?Rr(E,{flexGrow:1}):null,v?hf(A1,{children:[Rr(I,{dimColor:!0,children:v}),T?Rr(I,{dimColor:!0,children:Xh}):null]}):null,T?Rr(I,{color:f.colors.accent,bold:!0,children:T}):null]}),D?hf(E,{paddingX:1,children:[A?Rr(I,{color:f.colors.dim,children:A}):null,A&&S?Rr(I,{dimColor:!0,children:Xh}):null,S?Rr(I,{color:f.colors.accent,bold:!0,children:S}):null]}):null]})},"TranscriptModeFooter");import{jsx as _1,jsxs as L1}from"react/jsx-runtime";var F0=o(({banner:e,...t})=>L1(E,{flexDirection:"column",children:[e,_1(gi,{...t,animateSpinners:!1,showFullThinking:!1,showDetailedTools:!1,showLiveProgressRows:!1})]}),"PromptTranscriptSurface");import{jsx as P1,jsxs as $1}from"react/jsx-runtime";var j0=o(({banner:e,windowed:t=!1,showDetailedTools:n=!1,showAllContent:r=!1,...i})=>$1(E,{flexDirection:"column",children:[e,P1(Ih,{...i,chromeMode:"hidden",windowed:t,showFullThinking:!0,showDetailedTools:n,showAllContent:r,showLiveProgressRows:!0})]}),"TranscriptModeSurface");import{jsxs as O1,jsx as D1}from"react/jsx-runtime";var U0=o(({text:e,tone:t="success"})=>{let n=e?.trim();if(!n)return null;let r=ne("dark"),i=t==="warning"?r.colors.warning:r.colors.accent,s=t==="warning"?"!":"\u2713";return D1(E,{paddingX:1,backgroundColor:r.colors.inputBackground,children:O1(I,{color:i,children:[s," ",n]})})},"ClipboardToastSurface");import{jsx as Eo,Fragment as N1,jsxs as qh}from"react/jsx-runtime";var B1=" \u23BF ";function H1(e){let t=ne("dark");switch(e){case"cyan":return t.colors.primary;case"green":return t.colors.success;case"red":return t.colors.error;default:return t.colors.dim}}o(H1,"resolveSymbolColor");var W1=o(({row:e})=>{let t=H1(e.symbolColor),n=e.kind!=="item";return qh(E,{flexDirection:"row",children:[Eo(I,{color:t,bold:e.isActive,children:e.symbol}),Eo(I,{children:" "}),Eo(I,{dimColor:n,bold:e.isActive,strikethrough:e.isStrikethrough,children:e.text}),e.evaluatorBadge?qh(N1,{children:[Eo(I,{children:" "}),Eo(I,{dimColor:!0,children:e.evaluatorBadge})]}):null]})},"TodoListRow"),G0=o(({viewModel:e})=>{if(!e.shouldRender||e.rows.length===0)return null;let t=ne("dark").colors.dim;return qh(E,{flexDirection:"row",children:[Eo(I,{color:t,children:B1}),Eo(E,{flexDirection:"column",flexGrow:1,children:e.rows.map((n,r)=>Eo(W1,{row:n},`${n.kind}-${n.id??r}`))})]})},"TodoListSurface");import{jsx as qc,jsxs as F1}from"react/jsx-runtime";var V0=DS;function j1(e){let t=ne("dark");switch(e){case"cyan":return t.colors.primary;case"green":return t.colors.success;case"red":return t.colors.error;default:return t.colors.dim}}o(j1,"resolveSymbolColor");var U1=o(({row:e})=>{let t=j1(e.symbolColor);return F1(E,{flexDirection:"row",children:[qc(E,{width:V0,flexShrink:0,children:qc(I,{color:t,bold:e.isActive,wrap:"truncate",children:NS(e.symbol,V0)})}),qc(I,{color:e.kind==="hint"?ne("dark").colors.dim:void 0,bold:e.isActive,wrap:"truncate",children:e.text})]})},"WorkflowRunRow");function K0(e){return!e.shouldRender||e.rows.length===0?0:e.rows.length}o(K0,"measureWorkflowRunSurfaceRows");var z0=o(({viewModel:e})=>!e.shouldRender||e.rows.length===0?null:qc(E,{flexDirection:"column",flexGrow:1,children:e.rows.map((t,n)=>qc(U1,{row:t},`${t.kind}-${t.id??n}`))}),"WorkflowRunSurface");function Y0(e){if(!e.shouldRender||e.rows.length===0)return[];let t=[`Plan ${e.completedCount}/${e.totalCount} completed`];for(let n of e.rows){let r=n.evaluatorBadge?` ${n.evaluatorBadge}`:"";t.push(`${n.symbol} ${n.text}${r}`)}return t}o(Y0,"formatTodoPlanViewModelForTranscript");var X0="\u2610",G1="\u25CF",q0="\u2713",V1="\u2717",K1="\u2298",z1="\u2612";function Y1(e){switch(e){case"in_progress":return{symbol:G1,color:"cyan"};case"completed":return{symbol:q0,color:"green"};case"failed":return{symbol:V1,color:"red"};case"skipped":return{symbol:K1,color:"gray"};case"cancelled":return{symbol:z1,color:"gray"};default:return{symbol:X0,color:"dim"}}}o(Y1,"symbolForStatus");function X1(e){for(let t=0;t<e.length;t++)if(e[t].status==="in_progress")return t;for(let t=0;t<e.length;t++)if(e[t].status==="pending")return t;for(let t=e.length-1;t>=0;t--)if(e[t].status==="completed")return t;return 0}o(X1,"pickAnchorIndex");function q1(e){let{symbol:t,color:n}=Y1(e.status),r=e.status==="failed"&&e.note?`${e.subject} (${e.note})`:e.subject,i=e.status==="cancelled",s=e.evaluator?`[${e.evaluator}]`:void 0;return{kind:"item",id:e.id,symbol:t,symbolColor:n,text:r,isActive:e.status==="in_progress",isStrikethrough:i,evaluatorBadge:s}}o(q1,"buildItemRow");function J1(e){return{kind:"summary_done",symbol:q0,symbolColor:"green",text:`${e} done`,isActive:!1}}o(J1,"buildDoneSummary");function Jh(e){return{kind:"summary_pending",symbol:X0,symbolColor:"dim",text:`+${e} more`,isActive:!1}}o(Jh,"buildPendingSummary");function Q1(e,t){for(let n=e.length-1;n>=0;n--)if(e[n].status==="failed"&&!t.has(n))return n;return-1}o(Q1,"pickFailedToPromote");function Z1(e,t){let n=e.length;if(n===0)return{visibleIdx:[],hiddenCompletedCount:0,hiddenPendingCount:0};let r=4,i=Math.max(0,t-1),s=Math.min(n,i+r);s-i<r&&i>0&&(i=Math.max(0,s-r)),s-i<r&&s<n&&(s=Math.min(n,i+r));let a=[];for(let d=i;d<s;d++)a.push(d);let c=0,l=0;for(let d=0;d<i;d++)e[d].status==="completed"&&c++;for(let d=s;d<n;d++){let f=e[d].status;(f==="pending"||f==="in_progress")&&l++}return{visibleIdx:a,hiddenCompletedCount:c,hiddenPendingCount:l}}o(Z1,"decideWindow");function J0(e,t){let n=e.length,r=e.reduce((g,S)=>S.status==="completed"?g+1:g,0),i=o((g,S)=>({shouldRender:S,rows:g,completedCount:r,totalCount:n}),"baseVm");if(n<1)return i([],!1);t.now,t.lastAllCompletedAt;let s=X1(e),a=Z1(e,s),c=new Set(a.visibleIdx),l=Q1(e,c),d=[...a.visibleIdx],f=a.hiddenCompletedCount,p=a.hiddenPendingCount;if(l>=0){let g=-1;for(let S=d.length-1;S>=0;S--){let w=d[S];if(w!==s&&e[w].status==="pending"){g=S;break}}if(g>=0){let S=d[g];d[g]=l,p+=1,d.sort((T,v)=>T-v);let w=d[0],b=0;for(let T=0;T<w;T++)e[T].status==="completed"&&b++;f=b}}let m=[];f>0&&m.push(J1(f));for(let g of d)m.push(q1(e[g]));if(p>0&&m.push(Jh(p)),m.length>6)for(;m.length>6;){let g=!1;for(let S=m.length-1;S>=0;S--){let w=m[S];if(w.kind==="item"&&!w.isActive){m.splice(S,1);let b=m[m.length-1];if(b&&b.kind==="summary_pending"){let T=/\+(\d+) more/.exec(b.text),v=T?Number.parseInt(T[1],10)+1:1;m[m.length-1]=Jh(v)}else m.push(Jh(1));g=!0;break}}if(!g)break}return i(m,!0)}o(J0,"buildTodoPlanViewModel");function Q0(e){let t=[];e.isHistorySearchActive?t.push({id:"search",label:"Search",accent:!0}):e.isTranscriptMode&&t.push({id:"transcript",label:"Transcript"}),e.pendingInputCount>0&&t.push({id:"queue",label:`Queue ${e.pendingInputCount}`}),e.buffering==="buffered-fallback"&&(e.isHistorySearchActive||e.isTranscriptMode)&&t.push({id:"buffered",label:"Buffered"}),e.isTranscriptMode&&e.pendingLiveUpdates>0&&t.push({id:"updates",label:e.pendingLiveUpdates===1?"1 update":`${e.pendingLiveUpdates} updates`,accent:!0});let n=[],r=[...t,...n].map(i=>i.label.trim()).filter(Boolean).join(" | ");return{leftItems:t,rightItems:n,summary:r}}o(Q0,"buildFooterHeaderViewModel");function e$(e){return bS(e.provider,e.model,"off",{longRunning:!0})}o(e$,"evaluateSessionTransitionPolicy");function t$(e,t){let n=t.snapshot.model?`${t.snapshot.provider}:${t.snapshot.model}`:t.snapshot.provider,r=[`[Provider Guardrail] ${e} on ${n}: ${t.summary}`],i=t.issues[0]?.detail;return i&&r.push(` ${i}`),t.status==="block"?r.push(" Switch to a provider with durable full-history session semantics before continuing."):t.status==="warn"&&r.push(" Continuing with degraded session semantics."),r}o(t$,"formatSessionTransitionGuardMessage");function Mo(e,t,n){let r=e$(e);if(!r||r.status==="allow")return!0;let[i,...s]=t$(t,r);return n(r.status,i,s),r.status!=="block"}o(Mo,"enforceSessionTransitionGuard");function n$(e){switch(e.type){case"message":{let n=(typeof e.message.content=="string"?e.message.content:"[complex content]").replace(/\s+/g," ").trim();return`${e.message.role}: ${n.slice(0,48)}${n.length>48?"...":""}`}case"compaction":return`compaction: ${e.summary.slice(0,48)}${e.summary.length>48?"...":""}`;case"branch_summary":return`branch: ${e.summary.slice(0,48)}${e.summary.length>48?"...":""}`;case"archive_marker":return`archived: ${e.summary.slice(0,48)}${e.summary.length>48?"...":""}`;default:return e}}o(n$,"summarizeEntry");function Z0(e,t,n,r){let i=t?n?"\\- ":"|- ":"",s=e.active?"*":" ",a=e.entry.id.slice(0,12),c=e.label?` [${e.label}]`:"";r.push(`${t}${i}${s} ${a} ${n$(e.entry)}${c}`);let l=t+(t?n?" ":"| ":"");e.children.forEach((d,f)=>{Z0(d,l,f===e.children.length-1,r)})}o(Z0,"formatNode");function gf(e){let t=[];return e.forEach((n,r)=>{Z0(n,"",r===e.length-1,t)}),t}o(gf,"formatSessionTree");function eb(e,t){return e!==null&&e.attempt===t.attempt&&e.maxAttempts===t.maxAttempts&&e.waitMs===t.delayMs}o(eb,"isDuplicateLegacyRateLimit");var r$=100,o$=/\b(curl|wget|invoke-webrequest|invoke-restmethod|iwr|irm)\b/i,nb=/\b(rm|del|erase|remove-item|rmdir|rd|git clean)\b/i,rb=/\b(npm|pnpm|yarn|pip|choco|winget)\s+(install|add|remove|uninstall|update|upgrade|ci)\b/i,ob=/\b(set-content|add-content|out-file|new-item|copy-item|move-item|rename-item|cp|mv|copy|move|ren|touch)\b/i;function Qs(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}o(Qs,"readString");function nn(e,t,n){n&&e.push({label:t,value:n})}o(nn,"pushField");function i$(e){return e.replace(/\s+/g," ").trim()}o(i$,"normalizeWhitespace");function s$(e,t){if(e.length<=t)return e;let n=Math.ceil((t-3)/2),r=Math.floor((t-3)/2);return`${e.slice(0,n)}...${e.slice(e.length-r)}`}o(s$,"truncateMiddle");function a$(e){let t=e;return t=t.replace(/\b(authorization\s*:\s*bearer\s+)([^\s'"]+)/gi,(n,r)=>`${r}[REDACTED]`),t=t.replace(/\b((?:authorization|cookie)\s*:\s*)([^'"]+)/gi,(n,r)=>`${r}[REDACTED]`),t=t.replace(/\b(bearer\s+)([^\s'"]+)/gi,(n,r)=>`${r}[REDACTED]`),t=t.replace(/\b(api[_-]?key|access[_-]?token|refresh[_-]?token|token|secret|password|passwd|cookie|session)\b(\s*[:=]\s*)(['"]?)([^'"\s]+)(\3)/gi,(n,r,i,s)=>`${r}${i}${s}[REDACTED]${s}`),t=t.replace(/(--(?:api-key|token|secret|password|cookie)\s+)(\S+)/gi,(n,r)=>`${r}[REDACTED]`),t=t.replace(/((?:-u|--user)\s+)(\S+)/gi,(n,r)=>`${r}[REDACTED]`),t}o(a$,"maskSensitiveSegments");function tb(e){return s$(a$(i$(e)),r$)}o(tb,"summarizeCommand");function c$(e){return mo(e)?te("intent.read"):nb.test(e)?te("intent.delete"):rb.test(e)?te("intent.deps"):ho(e)||ob.test(e)?te("intent.modify"):te("intent.execute")}o(c$,"classifyShellIntent");function l$(e){let t=[];return nb.test(e)?t.push(te("risk.destructive")):rb.test(e)?t.push(te("risk.deps")):ho(e)||ob.test(e)?t.push(te("risk.modify")):mo(e)||t.push(te("risk.unknown")),o$.test(e)&&t.push(te("risk.network")),t}o(l$,"classifyShellRisks");function u$(e){if(Array.isArray(e))return e.filter(t=>typeof t=="object"&&t!==null&&typeof t.kind=="string")}o(u$,"readSignals");function d$(e){if(e){if(e.some(t=>t.kind==="protected_path"))return te("scope.protected");if(e.some(t=>t.kind==="outside_project"||t.kind==="shell_redirect_outside"))return te("scope.outside")}}o(d$,"scopeFromSignals");function f$(e){if(e._outsideProject===!0)return te("scope.outside");if(e._alwaysConfirm===!0)return te("scope.protected")}o(f$,"scopeFromMarkers");function p$(e){if(!e)return[];let t=[],n=e.some(i=>i.kind==="dangerous_pattern"&&i.severity==="high"),r=e.some(i=>i.kind==="dangerous_pattern"&&i.severity==="medium");return n?t.push(te("risk.destructive")):r&&t.push(te("risk.modify")),e.some(i=>i.kind==="network")&&t.push(te("risk.network")),e.some(i=>i.kind==="package_install")&&t.push(te("risk.deps")),t}o(p$,"risksFromSignals");var m$={Reason:"field.reason",Intent:"field.intent",Target:"field.target",Scope:"field.scope",Risk:"field.risk",Summary:"field.summary"};function h$(e){return te(m$[e])}o(h$,"localizeFieldLabel");function Zs(e,t){return{title:e,fields:t,details:t.map(n=>`${h$(n.label)}: ${n.value}`)}}o(Zs,"buildDisplayFromFields");function yf(e,t){if(e==="confirm"){let l=Qs(t._message);if(l)return Zs(l,[])}if(e==="exit_plan_mode"){let l=Qs(t.plan),d="Approve plan? (exits plan mode \u2192 accept-edits)";return l?{title:d,fields:[],details:l.split(`
76
76
  `)}:Zs(d,[])}let n=[],r=Qs(t.path),i=Qs(t.command),s=Qs(t._reason)??Qs(t.justification),a=u$(t._classifierSignals),c=d$(a)??f$(t);switch(nn(n,"Reason",s),e){case"bash":case"shell_command":{if(i){nn(n,"Intent",c$(i)),nn(n,"Scope",c);let l=p$(a),d=l.length>0?l:l$(i);d.length>0&&nn(n,"Risk",d.join("; ")),nn(n,"Summary",tb(i))}else nn(n,"Scope",c);return Zs(e==="bash"?te("tool.bash.title"):te("tool.shell.title"),n)}case"write":return nn(n,"Intent",te("intent.write_file")),nn(n,"Target",r),nn(n,"Scope",c),Zs(te("tool.write.title"),n);case"edit":return nn(n,"Intent",te("intent.edit_file")),nn(n,"Target",r),nn(n,"Scope",c),Zs(te("tool.edit.title"),n);default:return nn(n,"Intent",te("intent.use_tool",{tool:e})),nn(n,"Target",r),nn(n,"Scope",c),i&&nn(n,"Summary",tb(i)),Zs(te("tool.generic.title",{tool:e}),n)}}o(yf,"buildToolConfirmationDisplay");function ib(e,t){let n=yf(e,t);return n.details.length>0?`${n.title}
77
77
  ${n.details.join(`
78
- `)}`:n.title}o(ib,"buildToolConfirmationPrompt");function sb(e,t=240){let n=e.trim();return n?n.length>t?`${n.slice(0,t-3)}...`:n:""}o(sb,"truncateToolPreview");function ab(e,t=800){let n=e.trim();return n?n.length>t?`${n.slice(0,t-3)}...`:n:""}o(ab,"truncateToolOutputPreview");function Qh(e){return e.replace(/^\[[^\]]+\]\s+/,"").replace(/^[A-Za-z][A-Za-z0-9_-]*:\s*/,"").trim()}o(Qh,"stripToolRolePrefix");function Zh(e){return Qh(e).toLowerCase()}o(Zh,"normalizeToolNameForMatch");function eg(e){return e===`[${te("managed.completed")}]`||e===`[${te("managed.completed.blocked")}]`||e===`[${te("managed.completed.continuation")}]`}o(eg,"isCompletionTranscriptItem");function xf(e,t){if(!e||!t)return e;let n=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return e.replace(new RegExp(`^\\[Tools\\]\\s+\\[${n}\\]\\s+`,"i"),"[Tools] ").replace(new RegExp(`^\\[Thinking\\]\\s+\\[${n}\\]\\s*`,"i"),"[Thinking] ").replace(new RegExp(`^\\[${n}\\]\\s+thinking\\b`,"i"),"[Thinking]").trim()}o(xf,"formatManagedLiveActivityLabel");function qr(e,t){return xf(`[Tools] ${Md(e)}`,t)??`[Tools] ${Md(e)}`}o(qr,"formatManagedLiveToolLabel");function Sf(e,t){if(e.type!==t.type)return!1;switch(e.type){case"assistant":{let n=t;return e.text===n.text&&e.compactText===n.compactText}case"thinking":{let n=t;return e.text===n.text&&e.compactText===n.compactText}case"event":{let n=t;return e.text===n.text&&e.compactText===n.compactText&&e.icon===n.icon}case"info":{let n=t;return e.text===n.text&&e.compactText===n.compactText&&e.icon===n.icon}case"error":case"hint":case"system":case"user":{let n=t;return e.text===n.text}case"tool_group":{let n=t;return JSON.stringify(e.tools)===JSON.stringify(n.tools)}default:return!1}}o(Sf,"areManagedLiveItemsEquivalent");function cb(e){return e==="Task completed"?te("managed.completed"):e==="Task needs continuation"?te("managed.completed.continuation"):e==="Task ended: blocked"?te("managed.completed.blocked"):e==="Task ended: needs_continuation"?te("managed.completed.continuation"):e.startsWith("Task ended:")?te("managed.completed.blocked"):e}o(cb,"localizeManagedCompletionSummary");function lb(e,t){let n=e.trim();return t.trim()?n?e===t?e:t.startsWith(e)?t:e.startsWith(t)?e:t:t:e}o(lb,"mergeLiveThinkingContent");function ea(e,t){let n=t?.expanded?e.detailNote??e.note:e.note,r=e.activeWorkerTitle?`${e.agentMode.toUpperCase()} ${e.activeWorkerTitle}`:e.agentMode.toUpperCase(),i=e.activeWorkerTitle??"Scout",s=`${e.agentMode.toUpperCase()} ${i}`,a=`${e.agentMode.toUpperCase()} Routing`,c=e.currentRound&&e.maxRounds&&e.currentRound>1?` - Round ${e.currentRound}/${e.maxRounds}`:"";switch(e.phase){case"routing":return`${a} - Routing ready`;case"starting":return n?`${r} - ${n}`:`${r} - Managed task starting`;case"preflight":return n?`${s} - ${n}`:`${s} - ${i} preflight starting`;case"round":return n?`${r} - ${n}`:`${r} - Managed task round update${c}`;case"worker":return n?`${r} - ${n}${c}`:`${r} - ${e.activeWorkerTitle??"Worker"} starting${c}`;case"upgrade":return n?`${r} - ${n}`:`${r} - Harness transition${c}`;case"verifying":return n?`${e.agentMode.toUpperCase()} Verifying - ${n}`:`${e.agentMode.toUpperCase()} Verifying`;case"completed":return n?`${r} - ${n}`:`${r} - Managed task completed`;default:return}}o(ea,"formatManagedTaskBreadcrumb");var ub=process.env.KODAX_TRANSCRIPT_HARNESS_MARKERS==="1";function db(e){if(e.events&&e.events.length>0)return e.events.reduce((r,i)=>{let s=i.summary.trim(),a=(i.detail??i.summary).trim();if(!s||!a)return r;let c=`managed-live-${i.key}`,l=Date.now(),d=i.persistToHistory??e.persistToHistory??!1;if(i.presentation==="thinking")return r.push({item:{id:c,type:"thinking",timestamp:l,text:a,...s!==a?{compactText:s}:{}},persistToHistory:d}),r;if(i.presentation==="assistant")return r.push({item:{id:c,type:"assistant",timestamp:l,text:a,...s!==a?{compactText:s}:{}},persistToHistory:d}),r;let f=i.kind==="completed";if(f&&!ub)return r;let p=f?`[${cb(s)}]`:void 0,m=p??s,g=p??a;return r.push({item:{id:c,type:"event",timestamp:l,text:g,icon:i.kind==="warning"?"!":f?"\u2713":">",...m!==g?{compactText:m}:{}},persistToHistory:d}),r},[]);if(e.phase==="completed"&&!ub)return[];let t=ea(e),n=ea(e,{expanded:!0})??t;return!t||!n?[]:[{item:{id:`managed-live-fallback-${e.phase??"worker"}-${t.toLowerCase().replace(/[^a-z0-9]+/g,"-").slice(0,48)}`,type:"event",timestamp:Date.now(),text:n,icon:">",...t!==n?{compactText:t}:{}},persistToHistory:e.persistToHistory??!1}]}o(db,"buildManagedLiveEventDrafts");function g$(e,t){return!(t||e.role!=="evaluator"||e.signal!=="COMPLETE")}o(g$,"shouldFilterSidecarAcceptEntry");function tg(e,t){let n=e.managedTask;if(!n)return[];let r=t?.verifierLog??process.env.KODAX_VERIFIER_LOG==="1",i=o(f=>{if(!e.interrupted&&!n.verdict.signalReason?.includes("Orchestration cancelled"))return!1;let p=f.signalReason?.trim()??"",m=f.summary?.trim()??"",g=f.output?.trim()??"",S=p.includes("Orchestration cancelled"),w=m.includes("Orchestration cancelled"),b=!g||m==="No textual output produced.";return f.status!=="completed"&&(S||w||b)||(S||w)&&b},"isInterruptedCancellation"),s=new Map(n.roleAssignments.map((f,p)=>[f.id,p])),a=n.verdict.decidedByAssignmentId,c=Math.max(0,...n.evidence.entries.filter(f=>f.assignmentId===a).map(f=>f.round??1)),l=[...n.evidence.entries].sort((f,p)=>{let m=(f.round??1)-(p.round??1);return m!==0?m:(s.get(f.assignmentId)??0)-(s.get(p.assignmentId)??0)}).filter(f=>!i(f)).filter(f=>!g$(f,r)).filter(f=>e.interrupted||!(f.assignmentId===a&&(f.round??1)===c)).map(f=>{let p=f.output?.trim()??"",m=f.summary?.trim()??"",g=p?ms(p):"",S=m?ms(m):"",w=f.role==="scout"?S?`Scout completed: ${S}`:"Scout completed.":S;return{entry:f,text:S||g||w}}).filter(({text:f})=>!!f).map(({entry:f,text:p})=>{let m=f.role==="scout"?" Preflight":(f.round??1)>1?` Round ${f.round}`:"";return`[${f.title??f.assignmentId}${m}]
78
+ `)}`:n.title}o(ib,"buildToolConfirmationPrompt");function sb(e,t=240){let n=e.trim();return n?n.length>t?`${n.slice(0,t-3)}...`:n:""}o(sb,"truncateToolPreview");function ab(e,t=800){let n=e.trim();return n?n.length>t?`${n.slice(0,t-3)}...`:n:""}o(ab,"truncateToolOutputPreview");function Qh(e){return e.replace(/^\[[^\]]+\]\s+/,"").replace(/^[A-Za-z][A-Za-z0-9_-]*:\s*/,"").trim()}o(Qh,"stripToolRolePrefix");function Zh(e){return Qh(e).toLowerCase()}o(Zh,"normalizeToolNameForMatch");function eg(e){return e===`[${te("managed.completed")}]`||e===`[${te("managed.completed.blocked")}]`||e===`[${te("managed.completed.continuation")}]`}o(eg,"isCompletionTranscriptItem");function xf(e,t){if(!e||!t)return e;let n=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return e.replace(new RegExp(`^\\[Tools\\]\\s+\\[${n}\\]\\s+`,"i"),"[Tools] ").replace(new RegExp(`^\\[Thinking\\]\\s+\\[${n}\\]\\s*`,"i"),"[Thinking] ").replace(new RegExp(`^\\[${n}\\]\\s+thinking\\b`,"i"),"[Thinking]").trim()}o(xf,"formatManagedLiveActivityLabel");function qr(e,t){return xf(`[Tools] ${Md(e)}`,t)??`[Tools] ${Md(e)}`}o(qr,"formatManagedLiveToolLabel");function Sf(e,t){if(e.type!==t.type)return!1;switch(e.type){case"assistant":{let n=t;return e.text===n.text&&e.compactText===n.compactText}case"thinking":{let n=t;return e.text===n.text&&e.compactText===n.compactText}case"event":{let n=t;return e.text===n.text&&e.compactText===n.compactText&&e.icon===n.icon}case"info":{let n=t;return e.text===n.text&&e.compactText===n.compactText&&e.icon===n.icon}case"error":case"hint":case"system":case"user":{let n=t;return e.text===n.text}case"tool_group":{let n=t;return JSON.stringify(e.tools)===JSON.stringify(n.tools)}default:return!1}}o(Sf,"areManagedLiveItemsEquivalent");function cb(e){return e==="Task completed"?te("managed.completed"):e==="Task needs continuation"?te("managed.completed.continuation"):e==="Task ended: blocked"?te("managed.completed.blocked"):e==="Task ended: needs_continuation"?te("managed.completed.continuation"):e.startsWith("Task ended:")?te("managed.completed.blocked"):e}o(cb,"localizeManagedCompletionSummary");function lb(e,t){let n=e.trim();return t.trim()?n?e===t?e:t.startsWith(e)?t:e.startsWith(t)?e:t:t:e}o(lb,"mergeLiveThinkingContent");function ea(e,t){let n=t?.expanded?e.detailNote??e.note:e.note,r=e.activeWorkerTitle?`${e.agentMode.toUpperCase()} ${e.activeWorkerTitle}`:e.agentMode.toUpperCase(),i=e.activeWorkerTitle??"Scout",s=`${e.agentMode.toUpperCase()} ${i}`,a=`${e.agentMode.toUpperCase()} Routing`,c=e.currentRound&&e.maxRounds&&e.currentRound>1?` - Round ${e.currentRound}/${e.maxRounds}`:"";switch(e.phase){case"routing":return`${a} - Routing ready`;case"starting":return n?`${r} - ${n}`:`${r} - Managed task starting`;case"preflight":return n?`${s} - ${n}`:`${s} - ${i} preflight starting`;case"round":return n?`${r} - ${n}`:`${r} - Managed task round update${c}`;case"worker":return n?`${r} - ${n}${c}`:`${r} - ${e.activeWorkerTitle??"Worker"} starting${c}`;case"upgrade":return n?`${r} - ${n}`:`${r} - Harness transition${c}`;case"verifying":return n?`${e.agentMode.toUpperCase()} Verifying - ${n}`:`${e.agentMode.toUpperCase()} Verifying`;case"completed":return n?`${r} - ${n}`:`${r} - Managed task completed`;default:return}}o(ea,"formatManagedTaskBreadcrumb");var ub=process.env.KODAX_TRANSCRIPT_HARNESS_MARKERS==="1";function db(e){if(e.events&&e.events.length>0)return e.events.reduce((r,i)=>{let s=i.summary.trim(),a=(i.detail??i.summary).trim();if(!s||!a)return r;let c=`managed-live-${i.key}`,l=Date.now(),d=i.persistToHistory??e.persistToHistory??!1;if(i.presentation==="thinking")return r.push({item:{id:c,type:"thinking",timestamp:l,text:a,...s!==a?{compactText:s}:{}},persistToHistory:d}),r;if(i.presentation==="assistant")return r.push({item:{id:c,type:"assistant",timestamp:l,text:a,...s!==a?{compactText:s}:{}},persistToHistory:d}),r;let f=i.kind==="completed";if(f&&!ub)return r;let p=f?`[${cb(s)}]`:void 0,m=p??s,g=p??a;return r.push({item:{id:c,type:"event",timestamp:l,text:g,icon:i.kind==="warning"?"!":f?"\u2713":">",...m!==g?{compactText:m}:{}},persistToHistory:d}),r},[]);if(e.phase==="completed"&&!ub)return[];let t=ea(e),n=ea(e,{expanded:!0})??t;return!t||!n?[]:[{item:{id:`managed-live-fallback-${e.phase??"worker"}-${t.toLowerCase().replace(/[^a-z0-9]+/g,"-").slice(0,48)}`,type:"event",timestamp:Date.now(),text:n,icon:">",...t!==n?{compactText:t}:{}},persistToHistory:e.persistToHistory??!1}]}o(db,"buildManagedLiveEventDrafts");function g$(e,t){return!(t||e.role!=="evaluator"||e.signal!=="COMPLETE")}o(g$,"shouldFilterSidecarAcceptEntry");function tg(e,t){let n=e.managedTask;if(!n)return[];let r=t?.verifierLog??process.env.KODAX_VERIFIER_LOG==="1",i=o(f=>{if(!e.interrupted&&!n.verdict.signalReason?.includes("Orchestration cancelled"))return!1;let p=f.signalReason?.trim()??"",m=f.summary?.trim()??"",g=f.output?.trim()??"",S=p.includes("Orchestration cancelled"),w=m.includes("Orchestration cancelled"),b=!g||m==="No textual output produced.";return f.status!=="completed"&&(S||w||b)||(S||w)&&b},"isInterruptedCancellation"),s=new Map(n.roleAssignments.map((f,p)=>[f.id,p])),a=n.verdict.decidedByAssignmentId,c=Math.max(0,...n.evidence.entries.filter(f=>f.assignmentId===a).map(f=>f.round??1)),l=[...n.evidence.entries].sort((f,p)=>{let m=(f.round??1)-(p.round??1);return m!==0?m:(s.get(f.assignmentId)??0)-(s.get(p.assignmentId)??0)}).filter(f=>!i(f)).filter(f=>!g$(f,r)).filter(f=>e.interrupted||!(f.assignmentId===a&&(f.round??1)===c)).map(f=>{let p=f.output?.trim()??"",m=f.summary?.trim()??"",g=p?ms(p):"",S=m?ms(m):"",w=f.role==="scout"?S?`Scout completed: ${S}`:"Scout completed.":S;return{entry:f,text:S||g||w}}).filter(({text:f})=>!!f).map(({entry:f,text:p})=>{let m=f.role==="scout"?" Preflight":(f.round??1)>1?` Round ${f.round}`:"";return`[${f.role==="evaluator"?`\u26A1 Sidecar Verifier${m}`:`${f.title??f.assignmentId}${m}`}]
79
79
  ${p}`}),d=n.verdict.disposition==="complete"?te("managed.completed"):n.verdict.disposition==="needs_continuation"?te("managed.completed.continuation"):n.verdict.disposition==="blocked"?te("managed.completed.blocked"):void 0;return[...l,...d?[`[${d}]`]:[]]}o(tg,"buildManagedTaskTranscriptItems");function fb(e){let r=e.slice(0,400).match(new RegExp("\\*\\*([^*\\n]{1,80}?)\\*\\*"))?.[1]?.trim();return r?{header:r}:{}}o(fb,"extractBoldHeader");var ng=[" \u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2557"," \u2588\u2588\u2551 \u2588\u2588\u2554\u255D \u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557 \u255A\u2588\u2588\u2557\u2588\u2588\u2554\u255D"," \u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2554\u255D "," \u2588\u2588\u2554\u2550\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2551 \u2588\u2588\u2554\u2588\u2588\u2557 "," \u2588\u2588\u2551 \u2588\u2588\u2557 \u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2554\u255D \u2588\u2588\u2557"," \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D"];import Xe from"chalk";var wf=class e{static{o(this,"ShortcutsRegistry")}static instance=null;shortcuts=new Map;static getInstance(){return e.instance||(e.instance=new e),e.instance}static resetInstance(){e.instance=null}register(t){let n=this.shortcuts.get(t.id);this.shortcuts.set(t.id,{definition:t,effectiveBindings:n?.effectiveBindings??t.defaultBindings,handler:n?.handler})}registerAll(t){for(let n of t)this.register(n)}unregister(t){return this.shortcuts.delete(t)}setHandler(t,n){let r=this.shortcuts.get(t);r&&(r.handler=n)}findMatchingShortcut(t,n){let r=null,i=-1/0;for(let s of this.shortcuts.values()){let a=s.definition.context;a!=="global"&&a!==n||this.matchesBinding(t,s.effectiveBindings)&&s.handler&&s.definition.priority>i&&(i=s.definition.priority,r=s)}return r}matchesBinding(t,n){for(let r of n){let i=this.normalizeKeyName(t.name),s=this.normalizeKeyName(r.key);if(i===s){let a=(r.ctrl??!1)===t.ctrl,c=(r.shift??!1)===t.shift,l=(r.meta??!1)===t.meta;if(a&&c&&l)return!0}}return!1}normalizeKeyName(t){let n={return:"enter",esc:"escape",del:"delete",backspace:"backspace"," ":"space"},r=t.toLowerCase();return n[r]??r}executeShortcut(t,n){let r=this.findMatchingShortcut(t,n);return r?.handler?r.handler(t)===!0:!1}getAllShortcuts(){return Array.from(this.shortcuts.values())}getShortcutsByCategory(t){return this.getAllShortcuts().filter(n=>n.definition.category===t)}getShortcutsByContext(t){return this.getAllShortcuts().filter(n=>{let r=n.definition.context;return r==="global"||r===t})}formatBinding(t){let n=[];t.ctrl&&n.push("Ctrl"),t.meta&&n.push("Alt"),t.shift&&n.push("Shift");let r=t.key.length===1?t.key.toUpperCase():t.key;return n.push(r),n.join("+")}formatBindings(t){return t.map(n=>this.formatBinding(n)).join(" or ")}},Er=o(()=>wf.getInstance(),"getShortcutsRegistry");var ta=[{id:"interrupt",name:"Interrupt",description:"Interrupt the current streaming response",defaultBindings:[{key:"c",ctrl:!0}],context:"global",priority:200,category:"global",configurable:!1},{id:"showHelp",name:"Toggle Help",description:"Show or hide shortcut help when the input is empty",defaultBindings:[{key:"?"}],context:"global",priority:150,category:"global",configurable:!0},{id:"toggleThinking",name:"Cycle Reasoning Effort",description:"Cycle reasoning effort for the active model: off, low \u2026 max, auto",defaultBindings:[{key:"t",ctrl:!0}],context:"global",priority:150,category:"mode",configurable:!0},{id:"toggleTranscriptMode",name:"Toggle Transcript Mode",description:"Toggle transcript mode on or off",defaultBindings:[{key:"o",ctrl:!0}],context:"global",priority:150,category:"mode",configurable:!0},{id:"openTranscriptSearch",name:"Search Transcript",description:"Open transcript search",defaultBindings:[{key:"f",ctrl:!0}],context:"global",priority:150,category:"navigation",configurable:!0},{id:"togglePermissionMode",name:"Cycle Permissions",description:"Cycle permission mode: plan, accept-edits, auto-in-project",defaultBindings:[{key:"tab",shift:!0}],context:"global",priority:150,category:"mode",configurable:!0},{id:"toggleAgentMode",name:"Cycle Agent Mode",description:"Cycle agent mode: AMA, AMAW, SA",defaultBindings:[{key:"m",meta:!0}],context:"global",priority:150,category:"mode",configurable:!0},{id:"submitInput",name:"Submit Input",description:"Submit the current input",defaultBindings:[{key:"enter"}],context:"input",priority:50,category:"global",configurable:!1},{id:"acceptCompletion",name:"Accept Completion",description:"Accept the current autocomplete suggestion",defaultBindings:[{key:"tab"}],context:"input",priority:60,category:"editing",configurable:!0},{id:"cancelInput",name:"Cancel Input",description:"Cancel or clear the current input",defaultBindings:[{key:"escape"}],context:"input",priority:70,category:"editing",configurable:!0},{id:"newline",name:"Insert Newline",description:"Insert a newline in the current input",defaultBindings:[{key:"enter",shift:!0},{key:"j",ctrl:!0}],context:"input",priority:40,category:"editing",configurable:!0},{id:"historyUp",name:"History Up",description:"Browse previous input history",defaultBindings:[{key:"up"}],context:"input",priority:30,category:"navigation",configurable:!0},{id:"historyDown",name:"History Down",description:"Browse next input history",defaultBindings:[{key:"down"}],context:"input",priority:30,category:"navigation",configurable:!0},{id:"moveLeft",name:"Move Left",description:"Move the cursor left",defaultBindings:[{key:"left"}],context:"input",priority:20,category:"navigation",configurable:!1},{id:"moveRight",name:"Move Right",description:"Move the cursor right",defaultBindings:[{key:"right"}],context:"input",priority:20,category:"navigation",configurable:!1},{id:"moveToStart",name:"Move To Start",description:"Move the cursor to the start of the line",defaultBindings:[{key:"a",ctrl:!0}],context:"input",priority:25,category:"navigation",configurable:!0},{id:"moveToEnd",name:"Move To End",description:"Move the cursor to the end of the line",defaultBindings:[{key:"e",ctrl:!0}],context:"input",priority:25,category:"navigation",configurable:!0},{id:"killLineRight",name:"Delete To End",description:"Delete from the cursor to the end of the current line",defaultBindings:[{key:"k",ctrl:!0}],context:"input",priority:25,category:"editing",configurable:!0},{id:"killLineLeft",name:"Delete To Start",description:"Delete from the start of the line to the cursor",defaultBindings:[{key:"u",ctrl:!0}],context:"input",priority:25,category:"editing",configurable:!0},{id:"deleteWordLeft",name:"Delete Word Left",description:"Delete the word before the cursor",defaultBindings:[{key:"w",ctrl:!0},{key:"backspace",meta:!0}],context:"input",priority:25,category:"editing",configurable:!0},{id:"moveLineUp",name:"Move Line Up",description:"Move to the previous visual line in multiline input",defaultBindings:[{key:"up",ctrl:!0}],context:"input",priority:20,category:"navigation",configurable:!0},{id:"moveLineDown",name:"Move Line Down",description:"Move to the next visual line in multiline input",defaultBindings:[{key:"down",ctrl:!0}],context:"input",priority:20,category:"navigation",configurable:!0},{id:"backspace",name:"Backspace",description:"Delete the previous character",defaultBindings:[{key:"backspace"}],context:"input",priority:10,category:"editing",configurable:!1},{id:"delete",name:"Delete",description:"Delete the next character",defaultBindings:[{key:"delete"}],context:"input",priority:10,category:"editing",configurable:!1}];import{useEffect as y$,useCallback as x$,useRef as S$}from"react";function Jr(e,t,n={}){let{context:r,isActive:i=!0}=n,s=Er(),a=S$(t);a.current=t,y$(()=>(s.setHandler(e,d=>a.current(d)),()=>{s.setHandler(e,void 0)}),[s,e]);let c=x$(d=>{if(!i)return!1;let p=s.getAllShortcuts().find(w=>w.definition.id===e);if(!p)return!1;let m=r??p.definition.context,g=m==="global"?"input":m,S=s.findMatchingShortcut(d,g);return S&&S.definition.id===e?a.current(d)===!0:!1},[s,e,i,r]),l=w$(e,s);Mn(c,{isActive:i,priority:l})}o(Jr,"useShortcut");function w$(e,t){let r=t.getAllShortcuts().find(i=>i.definition.id===e);return r?r.definition.priority:0}o(w$,"getShortcutPriority");import T$,{createContext as C$,useContext as b$,useState as pb,useCallback as rg}from"react";var mb=C$(null);function og({children:e,initialContext:t="input"}){let[n,r]=pb(!1),[i,s]=pb(t);Er().registerAll(ta);let c=rg(()=>{r(p=>!p)},[]),l=rg(()=>{let m=Er().getAllShortcuts(),g={global:[],mode:[],navigation:[],editing:[]};for(let S of m){let w=S.definition.category;g[w]||(g[w]=[]),g[w].push(S)}return g},[]),d=rg(()=>Er().getShortcutsByContext(i),[i]),f={showHelp:n,toggleHelp:c,setShowHelp:r,currentContext:i,setCurrentContext:s,getShortcutsByCategory:l,getContextShortcuts:d};return T$.createElement(mb.Provider,{value:f},e)}o(og,"ShortcutsProvider");function ig(){let e=b$(mb);if(!e)throw new Error("useShortcutsContext must be used within a ShortcutsProvider");return e}o(ig,"useShortcutsContext");import I$ from"chalk";var hb={off:0,minimal:1,low:2,medium:3,high:4,xhigh:5,max:6,auto:7};function v$(e,t){let n=e.indexOf(t);if(n!==-1)return n;let r=hb[t];if(r===void 0)return-1;let i=-1,s=-1;for(let a=0;a<e.length;a++){let c=hb[e[a]];c===void 0||c>r||c>s&&(s=c,i=a)}return i}o(v$,"nearestCycleIndex");function sg({currentConfig:e,setCurrentConfig:t,isLoading:n,abort:r,stopThinking:i,clearThinkingContent:s,setCurrentTool:a,setIsLoading:c,onToggleHelp:l,setShowHelp:d,onSetThinking:f,onSetReasoningMode:p,onToggleTranscriptMode:m,onOpenTranscriptSearch:g,canOpenTranscriptSearch:S=!0,isInteractiveDialogActive:w=!1,onSetAgentMode:b,onSetPermissionMode:T,isInputEmpty:v,onSavePermissionMode:A}){let D=o(N=>N?.name?.toLowerCase()==="c"&&N.ctrl===!0,"isCtrlCInterrupt");return Jr("interrupt",N=>D(N)&&n?(r(),i(),s(),a(void 0),c(!1),console.log(I$.yellow(`
80
80
  [Interrupted]`)),!0):!1,{isActive:n}),Jr("showHelp",()=>w?!1:v?(l(),!0):!1,{isActive:v}),Jr("toggleThinking",()=>{if(w)return!1;let N=IS(e.provider,e.model);if(N.length===0)return!1;let O=e.permissionMode==="plan"&&!e.effortOverride&&e.planModeEffort!==void 0?e.planModeEffort:e.effortOverride?e.effort:void 0,Y=v$(N,O===void 0||O==="auto"?"auto":O==="none"?"off":O),re=N[(Y+1)%N.length]??N[0],me=re==="auto"?void 0:re==="off"?"none":re,ue=re!=="auto",y=re!=="off",P=re==="off"?"off":"auto";return t(C=>({...C,effort:me,effortOverride:ue,thinking:y,reasoningMode:P})),ds({effort:me,thinking:y,reasoningMode:P}),p?.(P),f?.(y),d(!1),!0}),Jr("toggleTranscriptMode",()=>w?!1:(m?.(),d(!1),!0)),Jr("openTranscriptSearch",()=>w||!S?!1:(g?.(),d(!1),!0)),Jr("togglePermissionMode",()=>{if(w)return!1;let N=["plan","accept-edits","auto"],O=e.permissionMode==="auto-in-project"?"auto":e.permissionMode,Y=(N.indexOf(O)+1)%N.length,re=N[Y];return t(me=>({...me,permissionMode:re})),T?.(re),A?.(re),d(!1),!0}),Jr("toggleAgentMode",()=>{if(w)return!1;let N=ES(e.agentMode);return t(O=>({...O,agentMode:N})),ds({agentMode:N}),b?.(N),d(!1),!0}),null}o(sg,"GlobalShortcuts");import{exec as k$}from"child_process";import{promisify as R$}from"util";var E$=R$(k$),M$={read:"read",grep:"grep",glob:"glob",write:"write",edit:"edit",bash:"bash",undo:"undo",askuserquestion:"ask-user-question",askuser:"ask-user-question"};function gb(e){let t=[],n="",r=0;for(let i of e){if(i===","&&r===0){n.trim()&&t.push(n.trim()),n="";continue}i==="("?r++:i===")"&&r>0&&r--,n+=i}return n.trim()&&t.push(n.trim()),t}o(gb,"splitTopLevelCommaList");function A$(e){if(!e?.trim())return{configured:!1,rules:[],invalidEntries:[]};let t=[];return{configured:!0,rules:gb(e).map(r=>{if(r==="*")return{tool:"*"};if(r.includes("(")&&!r.endsWith(")")){t.push(r);return}let i=r.match(/^([^(]+?)(?:\((.*)\))?$/);if(!i){t.push(r);return}let s=M$[i[1].replace(/[^a-z]/gi,"").toLowerCase()];if(!s){t.push(r);return}let a=i[2]?gb(i[2]).map(c=>c.trim()).filter(Boolean):void 0;return{tool:s,patterns:a&&a.length>0?a:void 0}}).filter(r=>r!==void 0),invalidEntries:t}}o(A$,"parseAllowedTools");function _$(e){let t=e.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*");return new RegExp(`^${t}$`,"i")}o(_$,"wildcardToRegExp");function yb(e,t){return _$(e).test(t)}o(yb,"matchesPattern");function xb(e,t,n){if(!e.configured)return!0;if(e.rules.length===0)return!1;let r=t.toLowerCase(),i=r==="bash"?String(n.command??"").trim():"";return e.rules.some(s=>s.tool!=="*"&&s.tool!==r?!1:!s.patterns||s.patterns.length===0||r!=="bash"?!0:s.patterns.some(a=>yb(a,i)))}o(xb,"isToolAllowed");function L$(e,t){return e.matcher?yb(e.matcher,t):!0}o(L$,"hookMatches");function P$(e){let t=e.source==="skill"?"skill":e.source==="extension"?"extension command":"command";return[`Note: ${e.displayName} has model invocation disabled.`,`The ${t} content is shown below for manual use:`,"",`--- ${e.displayName} ---`,e.prompt,`--- end ${e.displayName} ---`].join(`
81
81
  `)}o(P$,"formatManualOutput");function $$(e,t){if(!t)return;let n=t.trim();if(n){if(!["haiku","sonnet","opus"].includes(n))return n;if(e==="anthropic")switch(n){case"haiku":return"claude-3-5-haiku-latest";case"opus":return"claude-opus-4-1";default:return"claude-sonnet-4-6"}}}o($$,"resolveModelOverride");async function O$(e,t,n,r,i,s){let a=typeof n.displayName=="string"?n.displayName:"frontmatter invocation",c={command:t.command,_reason:`Frontmatter hook ${e} for ${a}`,_frontmatterHook:!0,_hookEvent:e,_hookMatcher:t.matcher};if(!xb(s,"bash",c))return{allow:!1,message:`Hook ${e} for ${a} is blocked by allowed-tools policy.`};if(i.beforeToolExecute&&!await i.beforeToolExecute("bash",c))return{allow:!1,message:`Hook ${e} for ${a} was blocked by the current permission policy.`};try{let{stdout:l,stderr:d}=await E$(t.command,{env:{...process.env,KODAX_HOOK_EVENT:e,KODAX_HOOK_PAYLOAD:JSON.stringify(n)},maxBuffer:1048576,windowsHide:!0}),f=[l.trim(),d.trim()].filter(Boolean).join(`
@@ -138,7 +138,7 @@ $ npm install --save-dev react-devtools-core
138
138
  `):[""],Math.max(1,e.terminalWidth),0,0);return g.visualLines.length>0?g.visualLines:[""]},"wrapBannerLine"),p=o((m,g,S)=>{f(g).forEach((w,b)=>{d.push({key:`${m}-${b}`,text:w,...S})})},"pushLineRows");return ng.forEach((m,g)=>{p(`banner-logo-${g}`,m,{color:"primary"})}),p("banner-tagline",s,{color:"primary"}),p("banner-version",a,{color:"text",bold:!0}),c&&p("banner-compaction",c,{color:"text"}),p("banner-session",l,{color:"text"}),d.push({key:"banner-blank",text:" "}),{key:"banner",rows:d}}o(VD,"buildBannerTranscriptSection");function Bv(e,t){return t?{...e,sections:[t,...e.sections],rows:[...t.rows,...e.rows]}:e}o(Bv,"prependTranscriptSection");var KD=process.env.KODAX_INLINE_LEDGER!=="0";function Hv(e,t){if(process.env.KODAX_INLINE_LEDGER_DEBUG!=="1")return;let n=t instanceof Error?t.message:t!==void 0?String(t):"";process.stderr.write(`[inline-ledger] ${e}${n?`: ${n}`:""} \u2014 rebuilding on next change
139
139
  `)}o(Hv,"reportInlineLedgerFailure");var zD=o(({options:e,config:t,context:n,storage:r,rendererMode:i,fullscreenPolicy:s,onExit:a,compactionInfo:c,autoModeBootstrap:l,setAutoModeAskUser:d,setAutoModeEngineChange:f,setCurrentConfigRef:p,teamModeHandle:m})=>{let{exit:g}=To(),{stdout:S}=Cr(),w=S.rows??24,{stdin:b,setRawMode:T,isRawModeSupported:v}=Ic(),A=Bs(),{history:D}=Wc(),N=Av.useRef(null),O=Av.useRef(xS()),{addHistoryItem:G,addHistoryItems:Y,clearHistory:re,setSessionId:me}=Fc(),ue=pe(D),y=pe(Nv(D));Ne(()=>{ue.current=D,y.current=Nv(D)},[D]),Ne(()=>{Ib()},[]),Ne(()=>{zS()},[]);let P=S.columns||80,C=Vc(),ce=pe(C);Ne(()=>{ce.current=C},[C]);let{startStreaming:Me,stopStreaming:oe,abort:X,startThinking:de,appendThinkingChars:ke,appendThinkingContent:De,stopThinking:W,clearThinkingContent:le,setCurrentTool:q,appendToolInputChars:Be,appendToolInputContent:pt,clearToolInputContent:ge,clearResponse:Pe,appendResponse:Ct,getSignal:bt,getFullResponse:Q,getThinkingContent:F,startNewIteration:we,clearIterationHistory:Ke,startCompacting:ze,stopCompacting:rn,setMaxIter:qe,addPendingInput:_t,removeLastPendingInput:Yt,shiftPendingInput:un,consumePendingInputs:M}=Kc(),[L,V]=He(!1),[_,xe]=He(t),Ae=fe(()=>Zo({provider:_.provider,model:_.model,effort:_.effort,effortOverride:_.effortOverride,permissionMode:_.permissionMode,planModeEffort:_.planModeEffort,thinking:_.thinking,reasoningMode:_.reasoningMode}),[_.provider,_.model,_.effort,_.effortOverride,_.permissionMode,_.planModeEffort,_.thinking,_.reasoningMode]),he=Ae.configuredEffort,be=Ae.runtimeEffort,Lt=fe(()=>({..._,effort:he}),[_,he]),yt=fe(()=>av(c,{provider:_.provider,model:_.model},Xo),[c,_.provider,_.model]),[_n,ro]=He(!0),[xt,oo]=He(!0),[vi,dl]=He(0),[Zf,ha]=He(!1),[ly,Kn]=He(null),ga=pe(!1),yR=fe(()=>ii(),[]),ya=pe(null),fl=pe(null),uy=pe(Promise.resolve()),pl=pe(null),Bo=pe({requested:!1,uiHistoryOverride:void 0}),ki=pe(null),xa=pe(!1),Sa=pe(null),[wa,ml]=He(!0),[ep,hl]=He(""),[Fe,sr]=He(()=>Ab(yR,{rendererMode:i})),[Pt,tp]=He(!1),[xR,SR]=He(0),{scrollRef:wR,scrollOffset:zn,sticky:np,setScrollOffset:TR,handleScrollTopChange:CR,handleStickyChange:bR,scrollTo:gl,scrollBy:yl,scrollToBottom:xl}=zI(),rp=pe(null),Sl=pe(null),Ta=pe([]),wl=pe([]),Ri=pe(null),Yn=pe(null),dy=pe({time:0,row:-1,column:-1,count:0}),[Tl,op]=He(void 0),[_r,ip]=He(void 0),[Ei,fy]=He(void 0),[Cn,IR]=He(()=>new Set),[sp,py]=He(null),[Xt,my]=He(null),[z,Cl]=He(null),[hy,Mi]=He(null),[ap,gy]=He(null),Ca=pe(null),ba=K(u=>{Ca.current=u,gy(u)},[]),Ia=K(u=>{let h=u(Ca.current);Ca.current=h,gy(h)},[]),va=K((u,h)=>{let x=Ca.current;return x?.status!=="running"||!x0(u,x.runId)?!1:(ba({...x,message:h}),!0)},[ba]),cp=K(u=>{if(u.status==="running"){ba({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}Ia(h=>h?.runId===u.runId?null:h)},[ba,Ia]),vR=K(u=>{let h=u.type==="workflow_updated"?u.message:void 0,x=cc(u.snapshot.goal,u.snapshot.workflowName,u.snapshot.displayName,u.snapshot.latestMessage,h);cp(BS(u.snapshot,h===void 0?{locale:x}:{locale:x,message:h}))},[cp]),[bl,Lr]=He([]),Ai=fe(()=>{for(let u of bl)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}},[bl]),[XB,ka]=He([]),[Ra,kR]=He([]),[Il,St]=He(void 0),[Ho,Ea]=He(void 0),ct=pe(null),vl=pe(null),Wo=pe([]),_i=pe([]),on=pe([]),lp=pe(new Set),et=pe({}),mt=pe({activeToolGroupTools:[]}),yy=pe(0),kl=pe({itemId:void 0,kind:"thinking",pendingText:""}),Xn=pe(null),RR=80,ER=20,MR=pe(null),Rl=fe(()=>[...D,...Ra],[D,Ra]),up=fe(()=>{let u=DC(Rl,MR);return u===0?Rl:Rl.slice(u)},[Rl]),El=fe(()=>NC(up,ER),[up]),Li=up,qt=pe(null),ar=pe(null),cr=pe([]),Jt=pe([]),[Fo,AR]=He([]),Pr=pe([]),[dp,_R]=He([]),Ma=pe([]),Ln=K(u=>{Pr.current=u,AR(u)},[]),Pi=K(u=>{Ma.current=u,_R(u)},[]),fp=K(()=>{Pi([])},[Pi]),xy=K(u=>{if(!af(u))return!1;let h=Wh(u),x=Ma.current.filter(k=>k.id!==h);return x.length===Ma.current.length||Pi(x),!0},[Pi]),Pn=K((u,h,x,k)=>{if(!af(u))return!1;let R=Wh(u),$=Ma.current.find(Ue=>Ue.id===R);if(k?.skipIfExisting&&$?.kind===h||b0($?.kind,h))return!0;let j=k?.append&&$?.kind===h?`${$.detail}${x}`:x||$?.detail||"running",H={id:R,label:w0(u),source:T0(u),status:"running",kind:h,detail:Hh(j),startedAt:$?.startedAt??Date.now()},ee=Ma.current,se=ee.findIndex(Ue=>Ue.id===R),je=se>=0?ee.map((Ue,Gt)=>Gt===se?H:Ue):[...ee,H].slice(0,AD);return Pi(je),!0},[Pi]),Sy=K(u=>{Wo.current=u,ka(u)},[]),$i=K(u=>{on.current=u,kR(u)},[]),wy=K(u=>{let h=u([...on.current]);$i(h)},[$i]),Ty=K(u=>{u.length!==0&&$i([...on.current,...u])},[$i]),Ml=K(u=>{let h=mt.current,x=h.activeToolGroupTools.some(k=>k.status===B.Executing);mt.current={...u?.clearOwner?{}:{workerId:h.workerId,workerTitle:h.workerTitle},...x?{activeToolGroupItemId:h.activeToolGroupItemId,activeToolGroupTools:h.activeToolGroupTools}:{activeToolGroupTools:[]}},u?.clearOwner&&(et.current={})},[]),Al=K(u=>{for(let h of u)h.type==="user"&&typeof h.id=="string"&&lp.current.add(h.id)},[]),Aa=K(()=>{kl.current={itemId:void 0,kind:"thinking",pendingText:""},Xn.current&&(clearTimeout(Xn.current),Xn.current=null);let u=Eh(on.current,lp.current);if(u.length>0){for(let h of u)lp.current.add(h.id);ki.current?.(u.map(h=>Po(h)))}Ml({clearOwner:!0}),$i([])},[Ml,$i]),_l=K(u=>(yy.current+=1,`managed-foreground-${u}-${yy.current}`),[]),Wt=K(u=>(Ty([u]),u.id),[Ty]),bn=K((u,h)=>{et.current.workerId?Wt({id:`${h}-${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()}):G(u)},[G,Wt]),Cy=K((u,h)=>{let x=Date.now();et.current.workerId?Wt({id:`${h}-${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}):G(u)},[G,Wt]),$r=K((u,h)=>{if(!u)return;let x;return wy(k=>k.map(R=>R.id!==u?R:(x=h(R),x))),x},[wy]),Oi=K((u,h)=>{let x=mt.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 k=Date.now(),R=h?.trim()?`[${h.trim()}] `:"",$=x.activeToolGroupTools.some(H=>H.status===B.Executing);if(u==="thinking"){let H=Wt({id:_l("thinking"),type:"thinking",timestamp:k,text:R});return mt.current={...mt.current,activeKind:"thinking",activeThinkingItemId:H,currentTurnThinkingItemId:H,activeAssistantItemId:void 0,...$?{}:{activeToolGroupItemId:void 0,activeToolGroupTools:[]}},H}if(u==="assistant"){let H=Wt({id:_l("assistant"),type:"assistant",timestamp:k,text:R});return mt.current={...mt.current,activeKind:"assistant",activeThinkingItemId:void 0,activeAssistantItemId:H,...$?{}:{activeToolGroupItemId:void 0,activeToolGroupTools:[]}},H}let j=Wt({id:_l("tool_group"),type:"tool_group",timestamp:k,tools:[]});return mt.current={...mt.current,activeKind:"tool_group",activeThinkingItemId:void 0,activeAssistantItemId:void 0,activeToolGroupItemId:j,activeToolGroupTools:[]},j},[Wt,_l]),qn=K(()=>{Xn.current&&(clearTimeout(Xn.current),Xn.current=null);let u=kl.current;if(!u.pendingText||!u.itemId)return;let h=u.pendingText,x=u.itemId,k=u.kind;u.pendingText="",$r(x,R=>R.type!==k?R:{...R,text:`${R.text}${h}`})},[$r]),by=K(()=>{Xn.current||(Xn.current=setTimeout(qn,RR))},[qn]),Ll=K((u,h)=>{if(!h)return;let x=mt.current;if(u==="assistant"&&!DD(h,x.activeKind==="assistant"&&!!x.activeAssistantItemId))return;let k=x.workerTitle,R=Oi(u,k),$=kl.current;$.itemId===R&&$.kind===u?$.pendingText+=h:(qn(),$.itemId=R,$.kind=u,$.pendingText=h),by()},[Oi,qn,by]),Iy=K(u=>{let h=u.trim();if(!h)return;let x=kl.current;x.kind==="thinking"&&x.pendingText&&(x.pendingText="",Xn.current&&(clearTimeout(Xn.current),Xn.current=null));let k=mt.current.workerTitle?.trim(),R=k?`[${k}] ${h}`:h,$=mt.current.currentTurnThinkingItemId;if($){$r($,H=>H.type==="thinking"?{...H,text:R}:H);return}let j=Oi("thinking",mt.current.workerTitle);$r(j,H=>H.type==="thinking"?{...H,text:R}:H)},[Oi,$r]),Jn=K(u=>{qn();let h=mt.current;if(h.activeToolGroupItemId&&h.activeToolGroupTools.some(j=>j.id===u.id)){let j=h.activeToolGroupTools.map(ee=>ee.id===u.id?u:ee),H=j.every(ee=>ee.status===B.Success||ee.status===B.Error||ee.status===B.Cancelled);mt.current={...h,...H?{activeToolGroupItemId:void 0,activeToolGroupTools:[]}:{activeToolGroupTools:j}},$r(h.activeToolGroupItemId,ee=>ee.type==="tool_group"?{...ee,tools:j}:ee);return}let x=on.current;for(let j=x.length-1;j>=0;j-=1){let H=x[j];if(H.type!=="tool_group"||!H.tools.some(se=>se.id===u.id))continue;let ee=H.tools.map(se=>se.id===u.id?u:se);$r(H.id,se=>se.type==="tool_group"?{...se,tools:ee}:se);return}let k=Oi("tool_group",h.workerTitle),$=h.activeKind==="tool_group"&&h.activeToolGroupItemId===k?h.activeToolGroupTools.some(j=>j.id===u.id)?h.activeToolGroupTools.map(j=>j.id===u.id?u:j):[...h.activeToolGroupTools,u]:[u];mt.current={...mt.current,activeKind:"tool_group",activeToolGroupItemId:k,activeToolGroupTools:$},$r(k,j=>j.type==="tool_group"?{...j,tools:$}:j)},[Oi,$r,qn]),LR=K(u=>{qn();let h=mt.current,x=h.activeToolGroupTools.some($=>$.status===B.Executing),k=Pr.current.filter($=>$.status===B.Executing),R=new Set(k.map($=>$.id));mt.current={workerId:u?.workerId,workerTitle:u?.workerTitle,...x?{activeToolGroupItemId:h.activeToolGroupItemId,activeToolGroupTools:h.activeToolGroupTools}:{activeToolGroupTools:[]}},et.current={workerId:u?.workerId,workerTitle:u?.workerTitle},cr.current=[],Jt.current=Jt.current.filter($=>R.has($.id)),Ln(k),ge(),q(void 0),W(),le(),Pe(),St(void 0)},[qn,ge,Pe,le,q,Ln,St,W]),PR=K(u=>{if(u.length===0)return[];let h=[],x=[...Wo.current],k=[..._i.current];for(let R of u){let $=R.item,j=x.findIndex(H=>H.id===$.id);if(j>=0){let H=x[j];Sf(H,$)||(x=x.map((ee,se)=>se===j?{...$,timestamp:H.timestamp}:ee))}else x=[...x,$].slice(-12),h.push($);if(R.persistToHistory){let H=k.findIndex(ee=>ee.id===$.id);if(H>=0){let ee=k[H];Sf(ee,$)||(k=k.map((se,je)=>je===H?{...$,timestamp:ee.timestamp}:se))}else k=[...k,$].slice(-48)}}return _i.current=k,(h.length>0||x.some((R,$)=>!Sf(R,Wo.current[$]??R)||R.id!==Wo.current[$]?.id))&&Sy(x),h},[Sy]),Pl=K(u=>{if(Jt.current.findIndex(x=>x.id===u.id)===-1){Jt.current=[...Jt.current,u];return}Jt.current=Jt.current.map(x=>x.id===u.id?u:x)},[]),io=K(u=>{let h=Pr.current.filter(x=>x.status===B.Executing);if(h.length!==0){if(u){let x=Zh(u);for(let k=h.length-1;k>=0;k-=1){let R=h[k];if(Zh(R.name)===x)return R}}return h[h.length-1]}},[]),Di=K(()=>{let u=io();q(u?Qh(u.name):void 0)},[io,q]),vy=K(u=>(Pl(u),Ln([...Pr.current.filter(h=>h.id!==u.id),u]),Di(),u),[Ln,Di,Pl]),Ni=K((u,h)=>{let x=Pr.current.find(R=>R.id===u);if(!x)return null;let k=h(x);return Pl(k),Ln(Pr.current.map(R=>R.id===u?k:R)),Di(),k},[Ln,Di,Pl]),ky=K((u,h,x)=>{if(u){let R=Ni(u,x);if(R)return R}let k=io(h);return k?Ni(k.id,x):null},[io,Ni]),$l=K((u,h,x,k,R)=>{let $=u??io(R)?.id;return $?Ni($,j=>({...j,status:h,endTime:Date.now(),error:x,output:k})):null},[io,Ni]),_a=K((u,h)=>{let x=Date.now(),k=new Map;for(let R of Pr.current){if(R.status!==B.Executing)continue;let $=h(R);k.set(R.id,{...R,status:u,endTime:x,...$})}return k.size===0?[]:(Jt.current=Jt.current.map(R=>k.get(R.id)??R),Ln(Pr.current.map(R=>k.get(R.id)??R)),Di(),[...k.values()])},[Ln,Di]),so=K(()=>{Ln([])},[Ln]),{showHelp:Ry,toggleHelp:$R,setShowHelp:Ey}=ig(),OR=K(u=>{hl(u),ml(u.trim().length===0)},[]),Ol=pi(),My=fe(()=>Ol?Ol.state.visible&&Ol.suggestions.length>0:!1,[Ol]),[La,Ay]=He(!1),_y=pe(vi),jo=K(()=>{qt.current&&(clearTimeout(qt.current),qt.current=null),ar.current&&(clearTimeout(ar.current),ar.current=null)},[]);Ne(()=>{My&&!La&&Ay(!0)},[My,La]),Ne(()=>{vi!==_y.current&&(_y.current=vi,La&&Ay(!1))},[vi,La]);let[nt,Dl]=He(null),Uo=pe(null),[$e,Qn]=He(null),Nl=pe(null),Bl=pe($e);Bl.current=$e;let[sn,Bi]=He(""),[Hl,Zn]=He(0),pp=pe(""),Pa=pe(void 0),Ly=fe(()=>{if(!yt)return;let{contextWindow:u,triggerPercent:h}=yt;return{currentTokens:ly??n.contextTokenSnapshot?.currentTokens??ns(n.messages),contextWindow:u,triggerPercent:h}},[n.messages,n.contextTokenSnapshot,yt,ly]),$a=fe(()=>{if(!nt)return;let u=!!nt.input._alwaysConfirm,h=_.permissionMode==="accept-edits"&&!u;return u?te("confirm.instruction.protected"):h?te("confirm.instruction.always"):te("confirm.instruction.basic")},[nt,_.permissionMode]),ut=Fe.searchMode==="history",Z=Fe.surface==="transcript",lr=!!nt||!!$e||ut,Rt=Z?Pt?kC:1e3:12,ao=kv(s,Fe.surface),Py=ao.shellMode,mp=ao.usesAlternateScreenShell,Go=ao.usesRendererViewportShell,Wl=ao.usesRendererMouseTracking,$y=ao.usesManagedMouseClicks,Oy=ao.usesManagedMouseWheel,hp=ao.usesManagedSelection,Et=Rv(s,Fe.surface,Wb(Fe)),Dy=Fb(Fe),Fl=La&&!Z,Ny=K(()=>Dg({items:Li,managedLiveEvents:[],isLoading:L,isThinking:C.isThinking,thinkingCharCount:C.thinkingCharCount,thinkingContent:C.thinkingContent,currentResponse:C.currentResponse,currentTool:C.currentTool,activeToolCalls:Fo,toolInputCharCount:C.toolInputCharCount,toolInputContent:C.toolInputContent,lastLiveActivityLabel:Il,workStripText:Ho,iterationHistory:C.iterationHistory,currentIteration:C.currentIteration,isCompacting:C.isCompacting}),[Li,L,C.isThinking,C.thinkingCharCount,C.thinkingContent,C.currentResponse,C.currentTool,Fo,C.toolInputCharCount,C.toolInputContent,Il,Ho,C.iterationHistory,C.currentIteration,C.isCompacting]);Ne(()=>{if(Z){py(u=>u??Ny());return}py(null)},[Ny,Z]);let Oa=fe(()=>Cv({isTranscriptMode:Z,snapshot:sp,currentItemsLength:Li.length,currentManagedLiveEventsLength:0,isLoading:L,currentResponse:C.currentResponse,thinkingContent:C.thinkingContent,activeToolCallsLength:Fo.length}),[Fo.length,L,Z,Li.length,C.currentResponse,C.thinkingContent,sp]),Ft=Z?sp:null,gp=fe(()=>Iv(El),[El]),DR=fe(()=>!!(Ra.length>0||Ov(z)),[Ra.length,z]),jl=Ra.length>0,Qt=s.streamingPreview&&DR,Hi=fe(()=>bv({surface:"transcript",snapshot:Ft,promptItems:El,transcriptItems:Li}),[Ft,El,Li]),Da=fe(()=>{if(!Z||Pt||Hi.length<=fh)return Hi;let u=Hi.slice(-fh),h=Hi.length-u.length;return[WC(h,u[0]?.timestamp),...u]},[Hi,Z,Pt]),dt=Ft?.isLoading??L,ot=s.streamingPreview?{isThinking:Qt?!1:C.isThinking,thinkingCharCount:Qt?0:C.thinkingCharCount,thinkingContent:Qt?"":C.thinkingContent,currentResponse:Qt?"":C.currentResponse,currentTool:Qt?void 0:C.currentTool,activeToolCalls:Qt?[]:Fo,toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:Qt?Il:void 0,iterationHistory:[],currentIteration:C.currentIteration,isCompacting:!1}:{isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentResponse:"",currentTool:void 0,activeToolCalls:[],toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:void 0,iterationHistory:[],currentIteration:C.currentIteration,isCompacting:!1},Te=s.streamingPreview?{isThinking:Qt?!1:Ft?.isThinking??C.isThinking,thinkingCharCount:Qt?0:Ft?.thinkingCharCount??C.thinkingCharCount,thinkingContent:Qt?"":Ft?.thinkingContent??C.thinkingContent,currentResponse:Qt?"":Ft?.currentResponse??C.currentResponse,currentTool:Qt?void 0:Ft?.currentTool??C.currentTool,activeToolCalls:Qt?[]:Ft?.activeToolCalls??Fo,toolInputCharCount:Qt?0:Ft?.toolInputCharCount??C.toolInputCharCount,toolInputContent:Qt?"":Ft?.toolInputContent??C.toolInputContent,managedLiveEvents:[],lastLiveActivityLabel:Ft?.lastLiveActivityLabel??Il,iterationHistory:Qt?[]:Ft?.iterationHistory??C.iterationHistory,currentIteration:Ft?.currentIteration??C.currentIteration,isCompacting:Ft?.isCompacting??C.isCompacting}:{isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentResponse:"",currentTool:void 0,activeToolCalls:[],toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:void 0,iterationHistory:[],currentIteration:Ft?.currentIteration??C.currentIteration,isCompacting:!1},Or=Z?_r:Tl,By=!!Tl,Hy=K(()=>Dg({items:gp,managedLiveEvents:[],isLoading:L,isThinking:ot.isThinking,thinkingCharCount:ot.thinkingCharCount,thinkingContent:ot.thinkingContent,currentResponse:ot.currentResponse,currentTool:ot.currentTool,activeToolCalls:ot.activeToolCalls,toolInputCharCount:ot.toolInputCharCount,toolInputContent:ot.toolInputContent,lastLiveActivityLabel:ot.lastLiveActivityLabel,iterationHistory:ot.iterationHistory,currentIteration:ot.currentIteration,isCompacting:ot.isCompacting}),[L,gp,ot.activeToolCalls,ot.currentIteration,ot.currentResponse,ot.currentTool,ot.isCompacting,ot.isThinking,ot.iterationHistory,ot.lastLiveActivityLabel,ot.thinkingCharCount,ot.thinkingContent,ot.toolInputCharCount,ot.toolInputContent]);Ne(()=>{if(!By){my(null);return}my(u=>u??Hy())},[Hy,By]);let Na=Xt?.items??gp,an=Xt?.isLoading??L,_e=Xt?{isThinking:Xt.isThinking,thinkingCharCount:Xt.thinkingCharCount,thinkingContent:Xt.thinkingContent,currentResponse:Xt.currentResponse,currentTool:Xt.currentTool,activeToolCalls:Xt.activeToolCalls,toolInputCharCount:Xt.toolInputCharCount,toolInputContent:Xt.toolInputContent,managedLiveEvents:Xt.managedLiveEvents,lastLiveActivityLabel:Xt.lastLiveActivityLabel,iterationHistory:Xt.iterationHistory,currentIteration:Xt.currentIteration,isCompacting:Xt.isCompacting}:ot,jt=Z?Da:Na,ur=Z?dt:an,Ye=Z?Te:_e,Wy=an&&!C.currentResponse&&!C.thinkingContent&&Fo.length===0,NR=Pc(ap?.status==="running"),$t=fe(()=>WS(ap,Date.now()),[ap,NR]),Fy=$t.shouldRender?`Workflow ${$t.workflow}${$t.phase?` - ${$t.phase}`:""}`:void 0,dr=fe(()=>J0(bl,{now:Date.now(),lastAllCompletedAt:null}),[bl]),jy=w<=20?1:Bh,BR=Pc(dp.length>0),yp=fe(()=>I0(dp,jy,Date.now()),[jy,dp,BR]),Uy=S0({isTranscriptMode:Z,isLoading:L,hasWorkflowLiveSurface:$t.shouldRender,childActivityVisible:yp.shouldRender}),Wi=fe(()=>{if(!Z)return[];let u=[];return u.push(...HS($t)),L&&dr.shouldRender&&u.push(...Y0(dr)),u},[Z,L,dr,$t]),Vo=fe(()=>({config:Lt,sessionId:n.sessionId,workingDir:e.context?.gitRoot||process.cwd(),terminalWidth:P,compactionInfo:yt??void 0}),[yt,n.sessionId,Lt,e.context?.gitRoot,P]),co=fe(()=>s.enabled&&xt?VD(Vo):void 0,[Vo,s.enabled,xt]),Gy=pe(ia),Vy=pe(!1),xp=pe(!1),Fi=AI({enabled:KD,useRendererViewportShell:Go,isTranscriptMode:Z,hasCommitHandle:typeof di(S)?.commitInlineScrollback=="function"}),Ba=fe(()=>Pd({items:Na,viewportWidth:P,maxLines:Rt,showDetailedTools:!1,showAllContent:!1,windowed:!1}),[Na,P,Rt]),Ko=fe(()=>{let u=$d({activeItems:Ba.activeItems,viewportWidth:P,isLoading:an,maxLines:Rt,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:an?z?.phase:void 0,managedHarnessProfile:an?z?.harnessProfile:void 0,managedWorkerTitle:an?z?.activeWorkerTitle:void 0,managedRound:an?z?.currentRound:void 0,managedMaxRounds:an?z?.maxRounds:void 0,managedGlobalWorkBudget:an?z?.globalWorkBudget:void 0,managedBudgetUsage:an?z?.budgetUsage:void 0,managedBudgetApprovalRequired:an?z?.budgetApprovalRequired:void 0,lastLiveActivityLabel:_e.lastLiveActivityLabel,currentTodoActiveForm:Ai,showFullThinking:!1,showDetailedTools:!1,showAllContent:!1,showLiveProgressRows:Wy}),h=_C(Ba,u,co);return PI(h,Fi)},[_.agentMode,Fi,an,_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,Wy,Ba,co,P,Rt,Ai]),Sp=fe(()=>Pd({items:Da,viewportWidth:P,maxLines:Rt,showDetailedTools:Pt,showAllContent:Pt,showFullThinking:!0,windowed:!1}),[Da,P,Rt,Pt]),Ul=fe(()=>{if(!Z||Go)return;let u=$d({activeItems:Sp.activeItems,viewportWidth:P,isLoading:dt,maxLines:Rt,isThinking:Te.isThinking,thinkingCharCount:Te.thinkingCharCount,thinkingContent:Te.thinkingContent,streamingResponse:Te.currentResponse,currentTool:Te.currentTool,activeToolCalls:Te.activeToolCalls,toolInputCharCount:Te.toolInputCharCount,toolInputContent:Te.toolInputContent,iterationHistory:Te.iterationHistory,currentIteration:Te.currentIteration,isCompacting:Te.isCompacting,managedAgentMode:_.agentMode,managedPhase:dt?z?.phase:void 0,managedHarnessProfile:dt?z?.harnessProfile:void 0,managedWorkerTitle:dt?z?.activeWorkerTitle:void 0,managedRound:dt?z?.currentRound:void 0,managedMaxRounds:dt?z?.maxRounds:void 0,managedGlobalWorkBudget:dt?z?.globalWorkBudget:void 0,managedBudgetUsage:dt?z?.budgetUsage:void 0,managedBudgetApprovalRequired:dt?z?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Te.lastLiveActivityLabel,liveStatusLines:Wi,currentTodoActiveForm:Ai,showFullThinking:!0,showDetailedTools:Pt,showAllContent:Pt,showLiveProgressRows:!jl,expandedItemKeys:Cn});return Bv(dh(Od(Sp,u)),co)},[_.agentMode,Cn,jl,co,Z,z?.activeWorkerTitle,z?.budgetApprovalRequired,z?.budgetUsage,z?.currentRound,z?.globalWorkBudget,z?.harnessProfile,z?.maxRounds,z?.phase,P,dt,Rt,Sp,Te.activeToolCalls,Te.currentIteration,Te.currentResponse,Te.currentTool,Te.isCompacting,Te.isThinking,Te.iterationHistory,Te.lastLiveActivityLabel,Te.thinkingCharCount,Te.thinkingContent,Te.toolInputCharCount,Te.toolInputContent,Pt,Wi,Go,Ai]),Ha=fe(()=>{if(Et)return Z?Bv(Dd({items:jt,viewportWidth:P,isLoading:ur,maxLines:Rt,isThinking:Ye.isThinking,thinkingCharCount:Ye.thinkingCharCount,thinkingContent:Ye.thinkingContent,streamingResponse:Ye.currentResponse,currentTool:Ye.currentTool,activeToolCalls:Ye.activeToolCalls,toolInputCharCount:Ye.toolInputCharCount,toolInputContent:Ye.toolInputContent,iterationHistory:Ye.iterationHistory,currentIteration:Ye.currentIteration,isCompacting:Ye.isCompacting,managedAgentMode:_.agentMode,managedPhase:ur?z?.phase:void 0,managedHarnessProfile:ur?z?.harnessProfile:void 0,managedWorkerTitle:ur?z?.activeWorkerTitle:void 0,managedRound:ur?z?.currentRound:void 0,managedMaxRounds:ur?z?.maxRounds:void 0,managedGlobalWorkBudget:ur?z?.globalWorkBudget:void 0,managedBudgetUsage:ur?z?.budgetUsage:void 0,managedBudgetApprovalRequired:ur?z?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Ye.lastLiveActivityLabel,liveStatusLines:Wi,currentTodoActiveForm:Ai,windowed:!0,showFullThinking:Z,showDetailedTools:Pt,showAllContent:Pt,showLiveProgressRows:Z&&!jl,expandedItemKeys:Z?Cn:void 0}),co):dh(Ko)},[_.agentMode,ur,jt,jl,co,Ye.activeToolCalls,Ye.currentIteration,Ye.currentResponse,Ye.currentTool,Ye.isCompacting,Ye.isThinking,Ye.iterationHistory,Ye.lastLiveActivityLabel,Ye.thinkingCharCount,Ye.thinkingContent,Ye.toolInputCharCount,Ye.toolInputContent,Cn,Z,z?.activeWorkerTitle,z?.budgetApprovalRequired,z?.budgetUsage,z?.currentRound,z?.globalWorkBudget,z?.harnessProfile,z?.maxRounds,z?.phase,Ko,L,Z,P,Rt,Et,Wi,Pt,Ai]),fr=fe(()=>Ha??Ul,[Ha,Ul]),Wa=fe(()=>Og({status:z,isLoading:L,agentMode:_.agentMode}),[_.agentMode,L,z]).workStripText,Fa=Ft?.workStripText??Ho,ji=fe(()=>Og({status:z,isLoading:L,agentMode:_.agentMode,parallelTextOverride:Fa}),[_.agentMode,Fa,L,z]),zo=fe(()=>HI(jt).filter(u=>u!==Nd),[jt]),tt=fe(()=>Rf(Fe,zo,Fe.selectedItemId),[zo,Fe]),In=fe(()=>jt.find(u=>u.id===tt),[jt,tt]),Ky=fe(()=>({...Fe,supportsSelection:Fe.supportsSelection&&Et,supportsCopyOnSelect:Fe.supportsCopyOnSelect&&Et}),[Fe,Et]),$n=fe(()=>lv({state:Ky,selectableItemIds:zo,selectedItemId:tt,selectedItemType:In?.type,isExpanded:tt?Cn.has(tt):!1}),[Cn,zo,In?.type,tt,Ky]),zy=$n.selectionEnabled,Yy=$n.copyCapabilities.copyOnSelect,QB=$n.selectedItemIndex,Xy=fe(()=>BI(In),[In]),Gl=fe(()=>$I(jt.filter(u=>!mh(u))),[jt]),Ot=fe(()=>OI(Gl,sn),[Gl,sn]),Vl=fe(()=>fv({isHistorySearchActive:ut,historySearchQuery:sn,matches:Ot,selectedIndex:Hl,anchorItemId:Fe.searchAnchorItemId,useOverlaySurface:Fe.supportsOverlaySurface&&Fe.supportsSearchViewport&&Et}),[Ot,sn,Hl,ut,Fe.searchAnchorItemId,Fe.supportsOverlaySurface,Fe.supportsSearchViewport,Et]),lo=Vl.clampedSelectedIndex,qy=Vl.statusText,wp=Vl.detailText,Jy=Vl.searchState,ZB=$n.detailState==="expanded",Kl=$n.selectionEnabled&&zo.length>0&&!Or,Ui=$n.copyCapabilities.message,zl=$n.copyCapabilities.toolInput,Yl=$n.toggleDetail;Ne(()=>{if(Wa){if(ar.current&&(clearTimeout(ar.current),ar.current=null),Ho===Wa)return;if(Ho){qt.current&&(clearTimeout(qt.current),qt.current=null),Ea(Wa);return}qt.current&&clearTimeout(qt.current),qt.current=setTimeout(()=>{Ea(Wa),qt.current=null},400);return}if(!Ho){qt.current&&(clearTimeout(qt.current),qt.current=null);return}qt.current&&(clearTimeout(qt.current),qt.current=null),ar.current&&clearTimeout(ar.current),ar.current=setTimeout(()=>{Ea(void 0),ar.current=null},300)},[jo,Wa,Ho]),Ne(()=>()=>{jo()},[jo]);let uo=fe(()=>UI({state:Fe,ownsViewport:Et,isAwaitingUserInteraction:lr,isHistorySearchActive:ut,isTranscriptMode:Z,historySearchQuery:sn}),[sn,lr,ut,Z,Fe,Et]);Ne(()=>{sr(u=>{let h=$b(u,zn);return h=Pb(h,Oa),h=Db(h,s.enabled&&Et?!np||ut||lr:Z||ut||lr),h=Hb(h,lo),h})},[lo,s.enabled,zn,lr,ut,Z,Oa,Et,np]),Ne(()=>{Hl!==lo&&Zn(lo)},[lo,Hl]),Ne(()=>{if(!ut){pp.current=sn;return}if(sn===pp.current)return;pp.current=sn;let u=NI(Gl,Ot,Fe.searchAnchorItemId);Zn(u)},[Ot,sn,ut,Fe.searchAnchorItemId,Gl]);let Qy=Z?Te:{isThinking:_e.isThinking,thinkingCharCount:_e.thinkingCharCount,currentTool:_e.currentTool,activeToolCalls:_e.activeToolCalls,toolInputCharCount:_e.toolInputCharCount,toolInputContent:_e.toolInputContent,currentIteration:_e.currentIteration,isCompacting:_e.isCompacting},ja=Z?dt:an,[Tp,Cp]=He(()=>fn(_.permissionMode)?l.getGuardrail().getEngine():void 0),Xl=fe(()=>cv({sessionId:n.sessionId,permissionMode:_.permissionMode,agentMode:_.agentMode,provider:_.provider,model:_.model??Hn(_.provider)??_.provider,thinking:_.thinking,reasoningMode:_.reasoningMode,effort:he,reasoningEffortLabel:gr({provider:_.provider,model:_.model,effort:he,effortOverride:_.effortOverride,thinking:_.thinking,reasoningMode:_.reasoningMode}),isTranscriptMode:Z,streamingState:Qy,maxIter:C.maxIter,contextUsage:Ly,isLoading:ja,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:Tp}),[n.sessionId,_.permissionMode,_.agentMode,_.provider,_.model,_.thinking,_.reasoningMode,_.effortOverride,he,Z,Qy,C.maxIter,Ly,ja,z?.phase,z?.harnessProfile,z?.activeWorkerTitle,z?.currentRound,z?.maxRounds,z?.globalWorkBudget,z?.budgetUsage,z?.budgetApprovalRequired,z?.idleWaiting,z?.idleWaitingPendingCount,Tp]),bp=nt?"confirm":$e?.kind,Zy=fe(()=>sv({isTranscriptMode:Z,isLoading:ja,streamingState:_e,managedState:ja?{phase:z?.phase,harnessProfile:z?.harnessProfile,workerTitle:z?.activeWorkerTitle}:void 0,waitingReason:bp,workflowBuilderMessage:hy??void 0,backgroundWorkflowMessage:Fy}),[_e.activeToolCalls,_e.currentTool,_e.isCompacting,_e.isThinking,_e.thinkingCharCount,_e.toolInputCharCount,_e.toolInputContent,Z,z?.activeWorkerTitle,z?.harnessProfile,z?.phase,bp,ja,hy,Fy]),Dr=ov({activity:Zy})?Zy:void 0,ex=Dr?.text,tx=!!Dr,nx=pe(!1);Ne(()=>{nx.current&&!L&&Lr(u=>u.length>0?[]:u),nx.current=L},[L]);let Ip=fe(()=>jd(Xl),[Xl]),rx=fe(()=>Ip,[Ip]),ox=rx.text,HR=fe(()=>d0(C.pendingInputs),[C.pendingInputs]),vp=fe(()=>Q0({isHistorySearchActive:ut,isTranscriptMode:Z,pendingInputCount:C.pendingInputs.length,buffering:Fe.buffering,pendingLiveUpdates:Oa}),[ut,Z,Oa,C.pendingInputs.length,Fe.buffering]),ix=vp.leftItems,sx=vp.rightItems,ax=vp.summary,ql=fe(()=>mv({historySearchQuery:sn,pendingInputCount:C.pendingInputs.length}),[sn,C.pendingInputs.length]),Jl=fe(()=>pv({historySearchQuery:sn,isHistorySearchActive:ut,historySearchMatchCount:Ot.length,pendingInputCount:C.pendingInputs.length,maxPendingInputs:5}),[Ot.length,sn,ut,C.pendingInputs.length]),cx=fe(()=>Jl.map(u=>u.text).join(" | "),[Jl]),Ql=fe(()=>hv({inputText:ep,isTranscriptMode:Z,isHistorySearchActive:ut}),[ep,ut,Z]),lx=Fe.supportsOverlaySurface&&Fe.supportsSearchViewport&&Et,Zl=fe(()=>uv({runtime:$n,itemSummary:Xy}),[Xy,$n]),kp=fe(()=>gv(ql),[ql]),ux=fe(()=>yv({textSelection:Or,selectionState:Zl,isHistorySearchActive:ut,historySearchDetailText:wp,historySearchHasMatches:!!qy&&Ot.length>0,showAllActive:Pt,baseFooterNotices:ql}),[Or,ql,wp,Ot.length,qy,ut,Pt,Zl]),WR=ux.secondaryText,FR=ux.budgetNotices,dx=Z?FR:kp,fx=w,px=Z?"":ep,mx=Z?void 0:HR,hx=Fa,gx=Z?!1:Ry,yx=$t.shouldRender?K0($t):0,xx=L&&dr.shouldRender?dr.rows.length:0,Sx=Uy?Fh(yp):0,Ut=fe(()=>Mb({terminalRows:fx,terminalWidth:P,windowedTranscript:Go,inputText:px,footerHeaderText:ax,activitySummary:Z?void 0:ex,activityBarVisible:Z?!1:tx,workflowSurfaceRows:Z?0:yx,childActivitySurfaceRows:Z?0:Sx,todoSurfaceRows:Z?0:xx,pendingInputSummary:mx,stashNoticeSummary:Ql,notificationSummary:cx,statusNoticeSummary:dx.join(" | "),workStripText:hx,suggestionsReserved:Fl,suggestionsMode:"inline",showHelp:gx,statusBarText:ox,confirmPrompt:nt?.prompt,confirmInstruction:$a,dialogMode:"inline",reviewHint:s.enabled&&Et?void 0:uo.browseHintText,uiRequest:$e?$e.kind==="select"?{kind:"select",title:$e.title,options:$e.options.map(u=>({label:u.label,description:u.description})),buffer:$e.buffer,error:$e.error}:{kind:"input",prompt:$e.prompt,defaultValue:$e.defaultValue,buffer:$e.buffer,error:$e.error}:null}),[fx,P,px,ax,ex,tx,Z,yx,Sx,xx,mx,Ql,cx,dx,hx,Fl,lx,gx,ox,nt,$a,s.enabled,uo.browseHintText,Et,$e]),Rp=fe(()=>{if(!Fi)return{model:Ko,committedSections:[]};let{committedSections:u,liveRows:h}=LC(Ba.staticSections,Ko.rows,Ko.previewRows,Ut.messageRows);return{model:{...Ko,staticSections:[],rows:h,previewRows:[]},committedSections:u}},[Fi,Ko,Ba.staticSections,Ut.messageRows]),wx=Rp.model;Ne(()=>{let u=di(S),h=typeof u?.commitInlineScrollback=="function",x=_I({active:Fi,hasCommitHandle:h,wasActive:Vy.current,forceRebuild:xp.current,prior:Gy.current,finalizedSections:Rp.committedSections,bannerSection:co,width:P,identify:PC}),k=!1,R=!1;if(x.kind==="commit"){let j=x.sections.flatMap(ee=>ee.rows),H=MI(j.length>0?[{key:"il-delta",rows:j}]:[],{width:P,theme:ne("dark")});if(R=H.length>0,x.mode==="append"&&!H)Hv("empty-append-text");else try{u?.commitInlineScrollback?.({mode:x.mode,text:H}),k=!0}catch(ee){Hv("commit-threw",ee)}}let $=LI(x,{committed:k,hadContent:R},xp.current);Gy.current=$.state,Vy.current=$.wasActive,xp.current=$.owns},[Fi,Rp.committedSections,co,P,S]);let jR=fe(()=>ae(_h,{reserveSpace:Fl,width:P,hidden:Z,mode:"inline"}),[Fl,P,Z,lx]),Ua=fe(()=>GI(Ut.messageRows),[Ut.messageRows]),Tx=fe(()=>VI(Ua),[Ua]),Gi=!Dy&&s.transcriptSpinnerAnimation,Ga=fr?fr.rows.length+fr.previewRows.length:xR,eu=K(u=>{fr||SR(u.scrollHeight)},[fr]),Va=K(u=>JI({window:u,stickyHeader:uo.stickyHeader,width:P,topChromeRows:0}),[P,uo.stickyHeader]),Vi=K((u=Ta.current,h=wl.current,x=rp.current?Va(rp.current):Sl.current)=>{if(!x||u.length===0){Ri.current=null;return}Sl.current=x,Ri.current=QI(u,{allRows:h,rowIndexByKey:Ag(h),topOffsetRows:x.topOffsetRows,viewportHeight:x.contentWindow.viewportHeight,animateSpinners:Gi})},[Va,Gi]),Ka=K(()=>{let u=Sl.current;return u?.contentWindow.viewportHeight&&u.contentWindow.viewportHeight>0?u.contentWindow.viewportHeight:Ut.messageRows},[Ut.messageRows]),UR=K(u=>{rp.current=u;let h=Va(u);Sl.current=h,Vi(Ta.current,wl.current,h)},[Vi,Va]),tu=K(u=>{Ta.current=u.rows,wl.current=u.allRows,Vi(u.rows,u.allRows)},[Vi]),Zt=K(()=>{Yn.current=null,op(void 0),ip(void 0)},[]),Ep=K(()=>{Zt(),sr(u=>oa(u,void 0))},[Zt]);Ne(()=>{Vi()},[Vi]),Ne(()=>{TR(u=>KI(u,Ga,Ut.messageRows))},[Ga,Ut.messageRows]),Ne(()=>{if(!Ei)return;let u=setTimeout(()=>{fy(void 0)},2e3);return()=>{clearTimeout(u)}},[Ei]);let Nr=K((u,h="success")=>{let x=u?.trim();x&&fy({text:x,tone:h})},[]),Ki=K((u,h)=>{let x=h instanceof Error?h.message:String(h);return`${u}: ${x}`},[]),nu=K(async u=>{let h=u??Or;if(!h)return!1;let x=h.text.trimEnd();if(!x)return!1;try{return await ic(x,{terminalWrite:A}),Nr(`Copied ${h.rowCount} selected line${h.rowCount===1?"":"s"} to clipboard.`,"success"),!0}catch(k){return Nr(Ki("Failed to copy transcript selection",k),"warning"),!1}},[Or,Ki,Nr,A]),zi=K(u=>{if(!u||YI({items:jt,renderModel:fr,terminalWidth:P,transcriptMaxLines:Rt,viewportRows:Ka(),itemId:u,visibleRows:Ta.current,expandedItemKeys:Cn,showDetailedTools:!1}))return;let h=XI({items:jt,renderModel:fr,terminalWidth:P,transcriptMaxLines:Rt,viewportRows:Ka(),itemId:u,expandedItemKeys:Cn,showDetailedTools:!1});gl(h)},[jt,P,Rt,fr,Cn,Ka,gl,Ta]),Cx=K(u=>{sr(h=>oa(h,u)),u&&zi(u)},[zi]),Mp=K(u=>{u&&zi(u)},[zi]),bx=K(u=>{if(!Kl)return;let h=WI(zo,tt,u);h&&Cx(h)},[Kl,zo,tt,Cx]),Ix=K(()=>{!Yl||!tt||(IR(u=>{let h=new Set(u);return h.has(tt)?h.delete(tt):h.add(tt),h}),zi(tt))},[zi,Yl,tt]),vx=K(async()=>{if(!Ui||!In)return;let u=Mg(In);if(u)try{await ic(u,{terminalWrite:A}),Nr("Copied selected transcript entry to clipboard.","success")}catch(h){Nr(Ki("Failed to copy transcript entry",h),"warning")}},[Ki,Ui,In,Nr,A]),kx=K(async()=>{if(!zl||!In)return;let u=FI(In);if(u)try{await ic(u,{terminalWrite:A}),Nr("Copied selected tool args to clipboard.","success")}catch(h){Nr(Ki("Failed to copy tool args",h),"warning")}},[Ki,zl,In,Nr,A]),za=K(()=>wl.current,[]),Rx=K((u,h)=>{if(!s.enabled||!Et)return;let x=Ri.current;return x?Lg(x,u,h):void 0},[s.enabled,Et]),Yi=K((u,h,x)=>{let k=za(),R=tv(k,u,h,{animateSpinners:Gi,selectFullRowOnCollapsed:x?.selectFullRowOnCollapsed});Z?ip(R):op(R);let $=k[Math.max(0,Math.min(h.modelRowIndex,k.length-1))];return x?.updateSelectedItem&&$?.itemId&&sr(j=>oa(j,$.itemId)),R},[Z,za,Gi]),Ex=K((u,h)=>{if(!u)return;Yn.current=null;let x={...u,focus:h?.focusPoint??u.focus};if(!(x.mode!=="char"||x.didDrag)){Zt();return}let R=Yi(x.anchor,x.focus,{selectFullRowOnCollapsed:!1,updateSelectedItem:!1});if(!R){Zt();return}return h?.copySelection!==!1&&nu(R),R},[Zt,nu,Yi]),Ap=K(()=>{if(!Z||!jt.length||nt||$e)return;Zt();let u=qI({items:jt,selectedItemId:tt,renderModel:fr,terminalWidth:P,transcriptMaxLines:Rt,viewportRows:Ka(),scrollOffset:zn,expandedItemKeys:Cn,showDetailedTools:!1,preferViewportAnchor:!0});sr(h=>Nb(h,{anchorItemId:u,initialMatchIndex:0})),Bi(""),Zn(0)},[nt,jt,Cn,zn,Z,tt,fr,P,Rt,$e,Ka,Zt]),_p=K(()=>{sr(u=>Bb(u)),Bi(""),Zn(0),Zt()},[Zt]),ru=K(()=>{!ut||Ot.length===0||Zn(-1)},[Ot.length,ut]),Mx=fe(()=>{if(!nt)return null;if(nt.tool==="exit_plan_mode"){let u=typeof nt.input.plan=="string"?nt.input.plan:void 0;return{prompt:nt.prompt.split(`
140
140
  `,1)[0]??nt.prompt,instruction:$a,planContent:u}}return{prompt:nt.prompt,instruction:$a}},[$a,nt]),Ax=fe(()=>$e?$e.kind==="select"?{kind:"select",title:$e.title,options:$e.options,buffer:$e.buffer,error:$e.error,visibleSelectOptions:Ut.visibleSelectOptions,focusedIndex:$e.focusedIndex,selectedIndices:$e.selectedIndices,multiSelect:$e.multiSelect}:{kind:"input",prompt:$e.prompt,defaultValue:$e.defaultValue,buffer:$e.buffer,error:$e.error}:null,[$e,Ut.visibleSelectOptions]),GR=fe(()=>ae(Ph,{confirm:Mx,request:Ax}),[Mx,Ax]),Lp=fe(()=>{if(Ei)return ae(U0,{text:Ei.text,tone:Ei.tone})},[Ei]),Pp=fe(()=>{if(Lp)return ae(E,{flexDirection:"column",width:"100%",children:Lp})},[Lp]),ou=K(()=>{sr(u=>Ob(Lb(u))),tp(!1),xl(),Bi(""),Zn(0),Zt()},[Zt,xl]),_x=K(()=>{Z&&tp(u=>!u)},[Z]),VR=K(()=>{if(Z){ou();return}tp(!1),sr(u=>_b(u)),Bi(""),Zn(0),Zt()},[Zt,ou,Z]);Ne(()=>{zy||!Fe.selectedItemId||sr(u=>oa(u,void 0))},[zy,Fe.selectedItemId]),Ne(()=>{if(!Z||!Ui||!Yy){Pa.current=void 0;return}if(_r||!tt||!In)return;if(!Pa.current){Pa.current=tt;return}if(Pa.current===tt)return;Pa.current=tt;let u=Mg(In);u&&ic(u,{terminalWrite:A}).catch(()=>{})},[Z,In,tt,Ui,Yy,_r,A]),Ne(()=>{if(S?.isTTY!==!0)return;let u=di(S);u?.setShellMode?.(Py,Wl),mp||u?.setAltScreenActive?.(!1)},[Py,S,mp,Wl]);let Le=pe({...e,thinking:_.thinking,reasoningMode:_.reasoningMode,effort:be,agentMode:_.agentMode,workflowRunsBaseDir:mr("workflow-runs",Wr(process.cwd()).key),context:{...e.context,repoIntelligenceMode:_.repoIntelligenceMode,repoIntelligenceTrace:_.repoIntelligenceTrace,toolConstructionMode:!0},session:{...e.session,id:n.sessionId,persistedByHost:!0},guardrails:Hg(_.permissionMode,l)});Ne(()=>{Le.current.effort=be},[be]);let On=pe(_.permissionMode);Ne(()=>{On.current=_.permissionMode},[_.permissionMode]);let KR=fe(()=>ps(),[]),Lx=pe(KR),ht=pe(_);Ne(()=>{ht.current=_},[_]);let $p=pe(null);$p.current===null&&($p.current=Tu({getProvider:o(()=>Xo(ht.current.provider),"getProvider"),getModel:o(()=>ht.current.model??"","getModel")}));let Px=pe(Iu());Ne(()=>{_.permissionMode==="auto-in-project"&&Px.current()},[]);let Op=K(u=>{xe(x=>({...x,permissionMode:u})),On.current=u;let h=Zo({provider:ht.current.provider,model:ht.current.model,effort:ht.current.effort,effortOverride:ht.current.effortOverride,permissionMode:u,planModeEffort:ht.current.planModeEffort,thinking:ht.current.thinking,reasoningMode:ht.current.reasoningMode});Le.current={...Le.current,effort:h.runtimeEffort,guardrails:Hg(u,l)},Cp(fn(u)?l.getGuardrail().getEngine():void 0),u==="auto-in-project"&&Px.current()},[l]),$x=pe(C.pendingInputs),rt=pe(!1),Ox=pe(0),Dp=pe(null),Ya=pe(0),iu=K(()=>{if(xa.current)return;let u=vl.current?.trim(),h=ue.current.length>0?ue.current[ue.current.length-1]:void 0,x=h&&"text"in h&&typeof h.text=="string"?h.text.trim():void 0,R=on.current.length>0?[...on.current.map($=>Po($)),...u&&u!==x?[{type:"info",text:u}]:[]]:[...on.current.map($=>Po($)),...ND(F(),Q(),{toolCalls:Jt.current,toolNames:cr.current,infoItems:u&&u!==x?[u]:[]})];R.length!==0&&(xa.current=!0,Al(on.current),ki.current?.(R))},[Q,F,Al]);Ne(()=>{$x.current=C.pendingInputs},[C.pendingInputs]);let Dx=K(()=>{rt.current=!0,X(),oe(),W(),le(),ge(),Pe(),q(void 0),so(),St(void 0),Aa(),Wo.current=[],_i.current=[],ct.current=null,vl.current=null,ka([]),Cl(null),Mi(null),jo(),Ea(void 0),V(!1),S?.isTTY===!0&&di(S)?.clear?.()},[X,Pe,le,ge,jo,so,Aa,q,ka,V,St,oe,W,S]),su=K(u=>{let h=fS(),x=h.list().filter(R=>R.status==="running"||R.status==="paused");if(x.length===0)return!1;for(let R of x)h.stop(R.runId,u);Ia(R=>!R||R.status!=="running"||!x.some($=>$.runId===R.runId)?R:{...R,status:"stopped",activeAgents:[],message:"Workflow stopped by user."});let k=x[0];return x.length===1&&k?bn({type:"info",text:`Stopped workflow ${k.workflow} (${k.runId}).`},"workflow-stop"):bn({type:"info",text:`Stopped ${x.length} active workflows.`},"workflow-stop"),!0},[bn,Ia]);Ne(()=>{if(!$t.shouldRender)return;let u=o(()=>{su("stopped by Ctrl+C")},"handleSigint");return process.on("SIGINT",u),()=>{process.off("SIGINT",u)}},[su,$t.shouldRender]),Mn(dn.Critical,u=>{let h=u.name==="escape",x=Date.now(),k=h&&!Z&&!lr&&wa&&C.pendingInputs.length===0&&(L||$t.shouldRender),R=k&&(u.meta===!0||x-Ox.current<ED);if(Ox.current=k?x:0,Qb({keyName:u.name,ctrl:!!u.ctrl,isTranscriptMode:Z,isAwaitingUserInteraction:lr,isInputEmpty:wa,isDoubleEscape:R,pendingInputCount:C.pendingInputs.length,hasTranscriptTextSelection:!!_r,hasActiveWorkflow:$t.shouldRender}))return su(u.ctrl?"stopped by Ctrl+C":"stopped by Escape");if(!L)return!1;switch(Zb({keyName:u.name,ctrl:!!u.ctrl,isTranscriptMode:Z,isAwaitingUserInteraction:lr,isInputEmpty:wa,isDoubleEscape:R,pendingInputCount:C.pendingInputs.length,hasTranscriptTextSelection:!!_r}).kind){case"interrupt":return iu(),Dx(),!0;case"pop-pending-input":return Yt(),!0;default:break}return!1},[L,Z,lr,wa,C.pendingInputs.length,Yt,iu,Dx,su,_r,$t.shouldRender]),Mn(dn.Critical,u=>{let h=Xb({itemsLength:jt.length,currentResponse:Ye.currentResponse,thinkingContent:Ye.thinkingContent,activeToolCallsLength:Ye.activeToolCalls.length}),x=qb({keyName:u.name,hasTranscript:h,historyScrollOffset:zn,reviewPageSize:Ua,reviewWheelStep:Tx,hasMouse:!!u.mouse,mouseButton:u.mouse?.button,mouseAction:u.mouse?.action,usesManagedMouseClicks:$y,supportsMouseTracking:Fe.supportsMouseTracking,usesRendererMouseTracking:Wl,usesManagedMouseWheel:Oy,supportsWheelHistory:Fe.supportsWheelHistory});if(x.kind==="mouse-phase"){let R=u.mouse;if(!R)return!1;x.phase==="press"&&Yn.current&&Ex(Yn.current);let $=Rx(R.row,R.column);if(x.phase==="press"){if(!$||!h)return Or||tt?(Ep(),!0):(Zt(),!1);let j=Mv({previous:dy.current,time:Date.now(),row:R.row,column:R.column});dy.current=j;let H=j.count>=3?"line":j.count===2?"word":"char";if(ru(),sr(ee=>oa(ee,void 0)),Z?ip(void 0):op(void 0),H!=="char"){let ee=Nf(za(),$.point,H);if(ee)return Yn.current={anchor:ee.start,focus:ee.end,didDrag:!1,mode:H,anchorSpan:ee},Yi(ee.start,ee.end,{updateSelectedItem:!1}),!0}return Yn.current={anchor:$.point,focus:$.point,didDrag:!1,mode:"char"},!0}if(!Yn.current)return!1;if(x.phase==="drag"){let j=Ri.current,H=j?rv(j,R.row):0;H!==0&&yl(H);let ee=$??(j?Pg(j,R.row,R.column):void 0);if(!ee)return!1;let se=Yn.current;if(se.mode!=="char"&&se.anchorSpan){let je=Nf(za(),ee.point,se.mode);if(!je)return!1;let Ue=Bg(se.anchorSpan,je);return Yn.current={...se,anchor:Ue.anchor,focus:Ue.focus,didDrag:!0},Yi(Ue.anchor,Ue.focus,{updateSelectedItem:!1}),!0}return Yn.current={...se,focus:ee.point,didDrag:!0},Yi(se.anchor,ee.point,{updateSelectedItem:!1}),!0}if(x.phase==="release"){let j=Yn.current,H=j.focus,se=($??(Ri.current?Pg(Ri.current,R.row,R.column):void 0))?.point??H;if(j.mode!=="char"&&j.anchorSpan){let je=Nf(za(),se,j.mode);if(je){let Ue=Bg(j.anchorSpan,je);j.anchor=Ue.anchor,se=Ue.focus}}return Ex(j,{focusPoint:se}),!0}}if(x.kind==="scroll-by")return ru(),yl(x.delta),!0;if(x.kind==="consume")return!0;let k=eI({key:u,isTranscriptMode:Z,isHistorySearchActive:ut,historySearchMatchCount:Ot.length,hasTextSelection:!!Or,hasFocusedItem:!!tt,canCopySelectedItem:Ui,canCopySelectedToolInput:zl,canToggleSelectedDetail:Yl,canCycleTranscriptSelection:Kl});return tI({action:k,hasTranscript:h,isTranscriptMode:Z,pageScrollDelta:Ua,disarmHistorySearchSelection:ru,scrollTranscriptBy:yl,closeHistorySearchSurface:_p,backspaceHistorySearchQuery:o(()=>{Bi(R=>R.slice(0,-1)),Zn(0)},"backspaceHistorySearchQuery"),stepHistorySearchSelection:o(R=>{Zn($=>Eg(Ot.length,$,R))},"stepHistorySearchSelection"),submitHistorySearchSelection:o(()=>{let R=Ot[lo];R&&(Mp(R.itemId),_p())},"submitHistorySearchSelection"),appendHistorySearchQuery:o(R=>{Bi($=>$+R),Zn(0)},"appendHistorySearchQuery"),openHistorySearchSurface:Ap,clearTranscriptSelectionFocus:Ep,exitTranscriptModeSurface:ou,toggleTranscriptShowAll:_x,scrollTranscriptHome:o(()=>{gl(Math.max(0,Ga-Ut.messageRows))},"scrollTranscriptHome"),scrollTranscriptToBottom:o(()=>{xl(),Zt()},"scrollTranscriptToBottom"),cycleTranscriptSelection:bx,copySelectedTranscriptText:o(()=>{nu()},"copySelectedTranscriptText"),copySelectedTranscriptItem:o(()=>{vx()},"copySelectedTranscriptItem"),copySelectedTranscriptToolInput:o(()=>{kx()},"copySelectedTranscriptToolInput"),toggleSelectedTranscriptDetail:Ix,navigateSearchMatch:o(R=>{Zn($=>{let j=Eg(Ot.length,$,R),H=Ot[j];return H&&Mp(H.itemId),j})},"navigateSearchMatch"),dumpTranscriptToScrollback:o(()=>{nI({items:jt.filter(R=>!mh(R)),exitAltScreen:o(()=>{A(gd({mouseTracking:!0}))},"exitAltScreen"),writeToScrollback:o(R=>{A(R)},"writeToScrollback"),enterAltScreen:o(()=>{A(hd({mouseTracking:!0,clearOnEnter:!1}))},"enterAltScreen")})},"dumpTranscriptToScrollback")})},[Z,jt,Ye.currentResponse,Ye.thinkingContent,Ye.activeToolCalls,zn,Ga,Ua,Tx,tt,Ep,ou,_x,Fe,yl,gl,xl,Kl,lo,Zt,nu,Ot,Ap,_p,ru,bx,Ui,vx,zl,kx,Yl,Ix,Mp,Or,Rx,Fe.supportsMouseTracking,_r,$y,Oy,hp,Go,Wl,Yi,Ut.messageRows]),Mn(u=>{if(!nt)return!1;let h=u.sequence.trim().toLowerCase(),x=!!nt.input._alwaysConfirm,k=_.permissionMode==="accept-edits"&&!x,R=o($=>{let j=`${te("dialog.confirm")} ${nt.prompt}
141
- \u2192 ${te(`confirm.result.${$}`)}`;!!et.current.workerId?Wt({id:`confirm-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"info",text:j,timestamp:Date.now()}):G({type:"info",text:j})},"recordConfirmResult");return h==="y"||h==="yes"?(R("approved"),Dl(null),Uo.current?.({confirmed:!0}),Uo.current=null,!0):k&&(h==="a"||h==="always")?(R("approved_always"),Dl(null),Uo.current?.({confirmed:!0,always:!0}),Uo.current=null,!0):h==="n"||h==="no"||u.name==="escape"?(R("denied"),Dl(null),Uo.current?.({confirmed:!1}),Uo.current=null,!0):u.insertable||u.name==="return"},{isActive:!!nt,priority:dn.Critical});let au=K(u=>{Qn(null),Nl.current?.(u),Nl.current=null},[]),Xi=K((u,h,x,k)=>h.length===0?Promise.resolve(void 0):new Promise(R=>{Nl.current=R,Qn({kind:"select",title:u,options:h,buffer:"",focusedIndex:0,selectedIndices:[],multiSelect:x,minSelections:k?.minSelections,maxSelections:k?.maxSelections})}),[]),zR=K((u,h)=>Xi(u,h.map(x=>({label:x,value:x}))).then(x=>Array.isArray(x)?x[0]:x),[Xi]),Nx=K(async u=>{let h=u.options?Df(u.options):[],x=await Xi($g(u),h,!1);return x===void 0?yu:Array.isArray(x)?x[0]??yu:x},[Xi]);Ne(()=>{let u=!1;return(async()=>{let{bindAskUserForConstruction:h}=await import("./construction-bootstrap-CIXFH5SE.js");u||h(Nx)})(),()=>{u=!0,(async()=>{let{bindAskUserForConstruction:h}=await import("./construction-bootstrap-CIXFH5SE.js");h(null)})()}},[Nx]);let Bx=K((u,h)=>new Promise(x=>{Nl.current=k=>x(Array.isArray(k)?k[0]:k),Qn({kind:"input",prompt:u,defaultValue:h,buffer:""})}),[]);Mn(u=>{let h=Bl.current;if(!h)return!1;if(u.name==="escape")return au(void 0),!0;if(h.kind==="select"){let x=h.options.length;if(u.name==="up"||u.sequence==="k")return Qn(k=>k&&k.kind==="select"?{...k,focusedIndex:(k.focusedIndex-1+x)%x,error:void 0}:k),!0;if(u.name==="down"||u.sequence==="j")return Qn(k=>k&&k.kind==="select"?{...k,focusedIndex:(k.focusedIndex+1)%x,error:void 0}:k),!0;if(u.sequence===" "&&h.multiSelect)return Qn(k=>{if(!k||k.kind!=="select")return k;let R=k.focusedIndex,$=k.selectedIndices.includes(R)?k.selectedIndices.filter(j=>j!==R):[...k.selectedIndices,R];return{...k,selectedIndices:$,error:void 0}}),!0;if(u.name==="return"){let k=Bl.current;if(!k||k.kind!=="select")return!1;if(k.multiSelect){let R=k.selectedIndices.length,{minSelections:$,maxSelections:j}=k,H=R===0&&$!==0?te("select.multiselect_empty"):$!==void 0&&R<$?te("select.multiselect_min",{min:String($)}):j!==void 0&&R>j?te("select.multiselect_max",{max:String(j)}):void 0;if(H!==void 0)return Qn(se=>se&&se.kind==="select"?{...se,error:H}:se),!0;let ee=k.selectedIndices.slice().sort((se,je)=>se-je).map(se=>k.options[se]?.value).filter(se=>typeof se=="string"&&se.length>0);au(ee)}else au(k.options[k.focusedIndex]?.value);return!0}if(/^[1-9]$/.test(u.sequence)){let k=Number.parseInt(u.sequence,10)-1;if(k>=0&&k<x)return h.multiSelect?Qn(R=>{if(!R||R.kind!=="select")return R;let $=R.selectedIndices.includes(k)?R.selectedIndices.filter(j=>j!==k):[...R.selectedIndices,k];return{...R,focusedIndex:k,selectedIndices:$,error:void 0}}):Qn(R=>R&&R.kind==="select"?{...R,focusedIndex:k,error:void 0}:R),!0}return!1}if(u.name==="return"){let x=Bl.current;if(!x||x.kind!=="input")return!1;let k=x.buffer.trim();return au(k===""?x.defaultValue??void 0:k),!0}return u.name==="backspace"||u.name==="delete"?(Qn(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?(Qn(x=>x&&x.kind==="input"?{...x,buffer:x.buffer+u.sequence,error:void 0}:x),!0):!1},{isActive:!!$e,priority:dn.Critical}),Ne(()=>{if(n.messages.length>0&&D.length===0){if(n.uiHistory?.length){let u=Xr(n.uiHistory);u.length!==n.uiHistory.length&&(n.uiHistory=u),Y(ff({messages:n.messages,uiHistory:u}));return}Y(ff({messages:n.messages}))}},[n.messages,n.uiHistory,D.length,Y]),Ne(()=>{du(n.gitRoot)},[n.gitRoot]),Ne(()=>{process.env.KODAX_PREWARM_REPO_INTELLIGENCE!=="0"&&aS({executionCwd:n.gitRoot??process.cwd(),gitRoot:n.gitRoot??void 0},{mode:_.repoIntelligenceMode})},[n.gitRoot,_.repoIntelligenceMode]);let Xa=K(()=>({onThinkingDelta:o((u,h)=>{if(rt.current||Pn(h,"thinking",u,{append:!0}))return;C.currentTool&&(q(void 0),ge());let{header:x}=fb(F()+u),k=x?`[Thinking: ${x}]`:"[Thinking]";St(xf(ct.current?.activeWorkerTitle?`[${ct.current.activeWorkerTitle}] ${k}`:k,ct.current?.activeWorkerTitle)),ke(u.length),De(u),et.current.workerId&&Ll("thinking",u)},"onThinkingDelta"),onThinkingEnd:o((u,h)=>{if(rt.current||Pn(h,"thinking",u))return;let x=F(),k=lb(x,u);k&&k!==x&&(le(),de(),ke(k.length),De(k)),et.current.workerId&&Iy(k),W()},"onThinkingEnd"),onTextDelta:o((u,h)=>{rt.current||Pn(h,"assistant",u,{append:!0})||(C.currentTool&&(q(void 0),ge()),W(),St(void 0),Ct(u),et.current.workerId&&Ll("assistant",u))},"onTextDelta"),onToolUseStart:o((u,h)=>{if(rt.current||Pn(h,"tool",C0(u.name,u.input)))return;cr.current.includes(u.name)||(cr.current=[...cr.current,u.name]);let x=ct.current?.activeWorkerTitle?`[${ct.current.activeWorkerTitle}] `:"",k={id:u.id,name:`${x}${u.name}`,status:B.Executing,startTime:Date.now(),input:u.input};vy(k),et.current.workerId&&Jn(k),St(qr(k,ct.current?.activeWorkerTitle))},"onToolUseStart"),onToolInputDelta:o((u,h,x)=>{if(rt.current||Pn(x,"tool",u,{skipIfExisting:!0}))return;Be(h.length),pt(h);let k=ky(x?.toolId,u,R=>{let $=R.preview??"",j=sb(`${$}${h}`);return{...R,preview:j||void 0,input:R.input?j?{...R.input,preview:j}:{...R.input}:j?{preview:j}:void 0}});k&&(et.current.workerId&&Jn(k),St(qr(k,ct.current?.activeWorkerTitle)))},"onToolInputDelta"),onToolResult:o((u,h)=>{if(rt.current||Pn(h,"tool",`${u.name} completed`))return;let x=typeof u.content=="string"?u.content:String(u.content??""),k=ab(x);if(/^\[(?:Tool Error|Error)\]/.test(x)){let $=$l(u.id,B.Error,k,k,u.name);$&&(et.current.workerId&&Jn($),St(qr($,ct.current?.activeWorkerTitle)));return}if(/^\[(?:Cancelled|Blocked)\]/.test(x)){let $=$l(u.id,B.Cancelled,void 0,k,u.name);$&&(et.current.workerId&&Jn($),St(qr($,ct.current?.activeWorkerTitle)));return}let R=$l(u.id,B.Success,void 0,k||void 0,u.name);R&&(et.current.workerId&&Jn(R),St(qr(R,ct.current?.activeWorkerTitle)))},"onToolResult"),onToolProgress:o((u,h)=>{if(rt.current||Pn(h,"progress",u.message))return;let x=u.message.length>100?u.message.slice(0,97)+"...":u.message,k=Ni(u.id,R=>({...R,preview:x,progressLines:[...(R.progressLines??[]).slice(-4),x]}));k&&et.current.workerId&&Jn(k),St(x)},"onToolProgress"),onStreamEnd:o(u=>{if(rt.current||af(u))return;let h=_a(B.Cancelled,()=>({error:"Stream ended before the tool completed.",output:void 0})),x=h[h.length-1];et.current.workerId&&h.forEach(k=>Jn(k)),x&&St(qr(x,ct.current?.activeWorkerTitle)),W(),ge(),q(void 0)},"onStreamEnd"),onChildActivityEnd:o(u=>{xy(u)},"onChildActivityEnd"),hasPendingInputs:o(()=>$x.current.length>0,"hasPendingInputs"),onMidTurnUserMessages:o(u=>{if(!rt.current)for(let h of u){let x=h.trim();x&&(et.current.workerId?Wt({id:`mid-turn-user-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"user",text:x,timestamp:Date.now()}):G({type:"user",text:x}))}},"onMidTurnUserMessages"),onSidecarMessage:o(u=>{if(rt.current)return;let h=u.suggestedFix?`${u.content}
141
+ \u2192 ${te(`confirm.result.${$}`)}`;!!et.current.workerId?Wt({id:`confirm-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"info",text:j,timestamp:Date.now()}):G({type:"info",text:j})},"recordConfirmResult");return h==="y"||h==="yes"?(R("approved"),Dl(null),Uo.current?.({confirmed:!0}),Uo.current=null,!0):k&&(h==="a"||h==="always")?(R("approved_always"),Dl(null),Uo.current?.({confirmed:!0,always:!0}),Uo.current=null,!0):h==="n"||h==="no"||u.name==="escape"?(R("denied"),Dl(null),Uo.current?.({confirmed:!1}),Uo.current=null,!0):u.insertable||u.name==="return"},{isActive:!!nt,priority:dn.Critical});let au=K(u=>{Qn(null),Nl.current?.(u),Nl.current=null},[]),Xi=K((u,h,x,k)=>h.length===0?Promise.resolve(void 0):new Promise(R=>{Nl.current=R,Qn({kind:"select",title:u,options:h,buffer:"",focusedIndex:0,selectedIndices:[],multiSelect:x,minSelections:k?.minSelections,maxSelections:k?.maxSelections})}),[]),zR=K((u,h)=>Xi(u,h.map(x=>({label:x,value:x}))).then(x=>Array.isArray(x)?x[0]:x),[Xi]),Nx=K(async u=>{let h=u.options?Df(u.options):[],x=await Xi($g(u),h,!1);return x===void 0?yu:Array.isArray(x)?x[0]??yu:x},[Xi]);Ne(()=>{let u=!1;return(async()=>{let{bindAskUserForConstruction:h}=await import("./construction-bootstrap-YON4ZEMO.js");u||h(Nx)})(),()=>{u=!0,(async()=>{let{bindAskUserForConstruction:h}=await import("./construction-bootstrap-YON4ZEMO.js");h(null)})()}},[Nx]);let Bx=K((u,h)=>new Promise(x=>{Nl.current=k=>x(Array.isArray(k)?k[0]:k),Qn({kind:"input",prompt:u,defaultValue:h,buffer:""})}),[]);Mn(u=>{let h=Bl.current;if(!h)return!1;if(u.name==="escape")return au(void 0),!0;if(h.kind==="select"){let x=h.options.length;if(u.name==="up"||u.sequence==="k")return Qn(k=>k&&k.kind==="select"?{...k,focusedIndex:(k.focusedIndex-1+x)%x,error:void 0}:k),!0;if(u.name==="down"||u.sequence==="j")return Qn(k=>k&&k.kind==="select"?{...k,focusedIndex:(k.focusedIndex+1)%x,error:void 0}:k),!0;if(u.sequence===" "&&h.multiSelect)return Qn(k=>{if(!k||k.kind!=="select")return k;let R=k.focusedIndex,$=k.selectedIndices.includes(R)?k.selectedIndices.filter(j=>j!==R):[...k.selectedIndices,R];return{...k,selectedIndices:$,error:void 0}}),!0;if(u.name==="return"){let k=Bl.current;if(!k||k.kind!=="select")return!1;if(k.multiSelect){let R=k.selectedIndices.length,{minSelections:$,maxSelections:j}=k,H=R===0&&$!==0?te("select.multiselect_empty"):$!==void 0&&R<$?te("select.multiselect_min",{min:String($)}):j!==void 0&&R>j?te("select.multiselect_max",{max:String(j)}):void 0;if(H!==void 0)return Qn(se=>se&&se.kind==="select"?{...se,error:H}:se),!0;let ee=k.selectedIndices.slice().sort((se,je)=>se-je).map(se=>k.options[se]?.value).filter(se=>typeof se=="string"&&se.length>0);au(ee)}else au(k.options[k.focusedIndex]?.value);return!0}if(/^[1-9]$/.test(u.sequence)){let k=Number.parseInt(u.sequence,10)-1;if(k>=0&&k<x)return h.multiSelect?Qn(R=>{if(!R||R.kind!=="select")return R;let $=R.selectedIndices.includes(k)?R.selectedIndices.filter(j=>j!==k):[...R.selectedIndices,k];return{...R,focusedIndex:k,selectedIndices:$,error:void 0}}):Qn(R=>R&&R.kind==="select"?{...R,focusedIndex:k,error:void 0}:R),!0}return!1}if(u.name==="return"){let x=Bl.current;if(!x||x.kind!=="input")return!1;let k=x.buffer.trim();return au(k===""?x.defaultValue??void 0:k),!0}return u.name==="backspace"||u.name==="delete"?(Qn(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?(Qn(x=>x&&x.kind==="input"?{...x,buffer:x.buffer+u.sequence,error:void 0}:x),!0):!1},{isActive:!!$e,priority:dn.Critical}),Ne(()=>{if(n.messages.length>0&&D.length===0){if(n.uiHistory?.length){let u=Xr(n.uiHistory);u.length!==n.uiHistory.length&&(n.uiHistory=u),Y(ff({messages:n.messages,uiHistory:u}));return}Y(ff({messages:n.messages}))}},[n.messages,n.uiHistory,D.length,Y]),Ne(()=>{du(n.gitRoot)},[n.gitRoot]),Ne(()=>{process.env.KODAX_PREWARM_REPO_INTELLIGENCE!=="0"&&aS({executionCwd:n.gitRoot??process.cwd(),gitRoot:n.gitRoot??void 0},{mode:_.repoIntelligenceMode})},[n.gitRoot,_.repoIntelligenceMode]);let Xa=K(()=>({onThinkingDelta:o((u,h)=>{if(rt.current||Pn(h,"thinking",u,{append:!0}))return;C.currentTool&&(q(void 0),ge());let{header:x}=fb(F()+u),k=x?`[Thinking: ${x}]`:"[Thinking]";St(xf(ct.current?.activeWorkerTitle?`[${ct.current.activeWorkerTitle}] ${k}`:k,ct.current?.activeWorkerTitle)),ke(u.length),De(u),et.current.workerId&&Ll("thinking",u)},"onThinkingDelta"),onThinkingEnd:o((u,h)=>{if(rt.current||Pn(h,"thinking",u))return;let x=F(),k=lb(x,u);k&&k!==x&&(le(),de(),ke(k.length),De(k)),et.current.workerId&&Iy(k),W()},"onThinkingEnd"),onTextDelta:o((u,h)=>{rt.current||Pn(h,"assistant",u,{append:!0})||(C.currentTool&&(q(void 0),ge()),W(),St(void 0),Ct(u),et.current.workerId&&Ll("assistant",u))},"onTextDelta"),onToolUseStart:o((u,h)=>{if(rt.current||Pn(h,"tool",C0(u.name,u.input)))return;cr.current.includes(u.name)||(cr.current=[...cr.current,u.name]);let x=ct.current?.activeWorkerTitle?`[${ct.current.activeWorkerTitle}] `:"",k={id:u.id,name:`${x}${u.name}`,status:B.Executing,startTime:Date.now(),input:u.input};vy(k),et.current.workerId&&Jn(k),St(qr(k,ct.current?.activeWorkerTitle))},"onToolUseStart"),onToolInputDelta:o((u,h,x)=>{if(rt.current||Pn(x,"tool",u,{skipIfExisting:!0}))return;Be(h.length),pt(h);let k=ky(x?.toolId,u,R=>{let $=R.preview??"",j=sb(`${$}${h}`);return{...R,preview:j||void 0,input:R.input?j?{...R.input,preview:j}:{...R.input}:j?{preview:j}:void 0}});k&&(et.current.workerId&&Jn(k),St(qr(k,ct.current?.activeWorkerTitle)))},"onToolInputDelta"),onToolResult:o((u,h)=>{if(rt.current||Pn(h,"tool",`${u.name} completed`))return;let x=typeof u.content=="string"?u.content:String(u.content??""),k=ab(x);if(/^\[(?:Tool Error|Error)\]/.test(x)){let $=$l(u.id,B.Error,k,k,u.name);$&&(et.current.workerId&&Jn($),St(qr($,ct.current?.activeWorkerTitle)));return}if(/^\[(?:Cancelled|Blocked)\]/.test(x)){let $=$l(u.id,B.Cancelled,void 0,k,u.name);$&&(et.current.workerId&&Jn($),St(qr($,ct.current?.activeWorkerTitle)));return}let R=$l(u.id,B.Success,void 0,k||void 0,u.name);R&&(et.current.workerId&&Jn(R),St(qr(R,ct.current?.activeWorkerTitle)))},"onToolResult"),onToolProgress:o((u,h)=>{if(rt.current||Pn(h,"progress",u.message))return;let x=u.message.length>100?u.message.slice(0,97)+"...":u.message,k=Ni(u.id,R=>({...R,preview:x,progressLines:[...(R.progressLines??[]).slice(-4),x]}));k&&et.current.workerId&&Jn(k),St(x)},"onToolProgress"),onStreamEnd:o(u=>{if(rt.current||af(u))return;let h=_a(B.Cancelled,()=>({error:"Stream ended before the tool completed.",output:void 0})),x=h[h.length-1];et.current.workerId&&h.forEach(k=>Jn(k)),x&&St(qr(x,ct.current?.activeWorkerTitle)),W(),ge(),q(void 0)},"onStreamEnd"),onChildActivityEnd:o(u=>{xy(u)},"onChildActivityEnd"),hasPendingInputs:o(()=>$x.current.length>0,"hasPendingInputs"),onMidTurnUserMessages:o(u=>{if(!rt.current)for(let h of u){let x=h.trim();x&&(et.current.workerId?Wt({id:`mid-turn-user-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"user",text:x,timestamp:Date.now()}):G({type:"user",text:x}))}},"onMidTurnUserMessages"),onSidecarMessage:o(u=>{if(rt.current)return;let h=u.suggestedFix?`${u.content}
142
142
  Suggested fix: ${u.suggestedFix}`:u.content;if(u.delivery==="budget-exhausted")Cy({type:"sidecar",text:h,delivery:"budget-exhausted"},"sidecar-message");else{let x=u.verdict==="blocked"?"blocked":"revise";Cy({type:"sidecar",text:h,verdict:x},"sidecar-message")}},"onSidecarMessage"),onError:o(u=>{let h=io();h?.name&&St(qr(h,ct.current?.activeWorkerTitle));let x=_a(B.Error,()=>({error:u.message,output:void 0})),k=x[x.length-1];et.current.workerId&&x.forEach(je=>Jn(je)),k&&St(qr(k,ct.current?.activeWorkerTitle));let R=qx(u),$=["Transient","Permanent","Tool Call ID","User Abort"];if(R.category===Qa.USER_ABORT)return;let H=[`\u274C API Error (${$[R.category]||"Unknown"}): ${u.message}`];R.shouldCleanup&&H.push(" \u{1F9F9} Cleaned incomplete tool calls"),R.category===Qa.PERMANENT?(H.push(" \u{1F4A1} This error requires manual intervention. Please check:"),u.message.includes("auth")||u.message.includes("401")?(H.push(" - Your API key is valid"),H.push(" - Run /config to check provider settings")):u.message.includes("400")?(H.push(" - The request parameters are correct"),H.push(" - Try restarting the conversation")):H.push(" - The error details above")):R.category===Qa.TRANSIENT?H.push(" \u23F3 Retries exhausted. Press Enter to continue the conversation"):R.category===Qa.TOOL_CALL_ID&&H.push(" \u2705 Session cleaned, ready to continue");let ee=H.join(`
143
143
  `);!!et.current.workerId?Wt({id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"error",text:ee,timestamp:Date.now()}):G({type:"error",text:ee})},"onError"),onRetry:o((u,h,x,k)=>{if(rt.current)return;let R=pf(u,h,x);if(va(k,R.text)||Pn(k,"progress",R.text))return;!!et.current.workerId?Wt({...R,id:`retry-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):G(R)},"onRetry"),onProviderRecovery:o((u,h)=>{if(rt.current)return;let x=mf(u);if(va(h,x.text)||Pn(h,"progress",x.text))return;let k=!!et.current.workerId,R=Q().trim();R&&(k?Ll("assistant",R):G({type:"assistant",text:R})),Pe(),le(),W(),ge(),q(void 0),so(),St(void 0),k?Wt({...x,id:`recovery-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):G(x)},"onProviderRecovery"),onManagedTaskStatus:o(u=>{if(rt.current)return;let h=et.current;if(Ov(u)){if(h.workerId&&h.workerId!==u.activeWorkerId)LR({workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle});else if(h.workerId!==u.activeWorkerId){let j=mt.current,H=j.activeToolGroupTools.some(ee=>ee.status===B.Executing);mt.current={workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle,...H?{activeToolGroupItemId:j.activeToolGroupItemId,activeToolGroupTools:j.activeToolGroupTools}:{activeToolGroupTools:[]}},et.current={workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle}}}ct.current=u,Cl(u);let x=db(u);PR(x);let k=ea(u),$=ea(u,{expanded:!0})??k;$&&(vl.current=$)},"onManagedTaskStatus"),onProviderRateLimit:o((u,h,x,k)=>{if(rt.current)return;let R=Dp.current;if(Dp.current=null,eb(R,{attempt:u,maxAttempts:h,delayMs:x}))return;let $=`[Rate Limit] Retrying in ${x/1e3}s (${u}/${h})...`;va(k,$)||Pn(k,"progress",$)||bn({type:"info",icon:"\u23F3",text:$},"ratelimit")},"onProviderRateLimit"),onRetryAfter:o((u,h)=>{if(rt.current)return;Dp.current={attempt:u.attempt,maxAttempts:u.maxAttempts,waitMs:u.waitMs};let x=Math.round(u.waitMs/1e3),k=u.source==="exponential-backoff"?"no-header \u2192 backoff":u.source,$=`[${u.reason==="overloaded"?"Overloaded":"Rate limited"}] (${u.provider}) \u2014 retrying in ${x}s [${k}] (${u.attempt}/${u.maxAttempts})`;va(h,$)||Pn(h,"progress",$)||bn({type:"info",icon:"\u23F3",text:$},"ratelimit")},"onRetryAfter"),onReasoningEffortRejected:o(u=>{Qx(u.provider,u.model,u.effort,"observed",new Date().toISOString());let x=Zo({provider:u.provider,model:u.model,effort:ht.current.effort,effortOverride:ht.current.effortOverride,permissionMode:ht.current.permissionMode,planModeEffort:ht.current.planModeEffort,thinking:ht.current.thinking,reasoningMode:ht.current.reasoningMode}).runtimeEffort;xe(k=>({...k,effort:x,effortOverride:x!==void 0})),ds({effort:x}),Le.current.effort=x,bn({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:o(u=>{rt.current||bn(vb(u),"repointel-trace")},"onRepoIntelligenceTrace"),onTodoUpdate:o(u=>{rt.current||Lr(u)},"onTodoUpdate"),onScoutSuspiciousCompletion:o(u=>{rt.current||Dv&&bn({type:"info",icon:"\u26A0",text:`[Scout] Completion marked uncertain \u2014 signals: ${u.signals.join(", ")}. Verify the result before continuing.`},"scout-uncertain")},"onScoutSuspiciousCompletion"),onIterationStart:o((u,h)=>{if(rt.current)return;if(h&&qe(h),ct.current?.globalWorkBudget){let se={...ct.current,budgetUsage:Math.min(ct.current.globalWorkBudget,(ct.current.budgetUsage??0)+1)};ct.current=se,Cl(se)}let x=u>1?F().trim():"",k=u>1?Ug(Q()):"",R=u>1?[...cr.current]:[],$=u>1?[...Jt.current]:[],j=!!et.current.workerId;we(u),j&&Ml({clearOwner:!1});let H=Pr.current.filter(se=>se.status===B.Executing),ee=new Set(H.map(se=>se.id));if(cr.current=[],Jt.current=Jt.current.filter(se=>ee.has(se.id)),Ln(H),ge(),q(void 0),St(xf(ct.current?.activeWorkerTitle?`[Thinking] [${ct.current.activeWorkerTitle}]`:void 0,ct.current?.activeWorkerTitle)),de(),u>1&&!j){let se=Gg({thinking:x,response:k,toolCalls:$,toolNames:R});ki.current?ki.current(se):Y([...se])}},"onIterationStart"),beforeToolExecute:o(async(u,h)=>{let x=On.current,k=tc(x),R=Lx.current,$=n.gitRoot;if(SS(O.current,u,h))return`[Skipped] Previously denied operation. ${wS(O.current)}`;if(x==="plan"&&(Jo.has(u)||u==="undo"))return`[Blocked] Tool '${u}' is not allowed in plan mode (read-only). ${Lv}`;if(x==="plan"&&u==="bash"){let j=h.command??"";if(ho(j))return`[Blocked] Bash write operation not allowed in plan mode: ${j.slice(0,50)}... ${Lv}`}if(u==="bash"){let j=h.command??"";if(mo(j))return!0}if(fn(x)&&Tp==="llm")return!0;if(u==="bash"){let j=h.command??"",H=yS(j);if(H.level==="dangerous"){let ee=await fo(u,{...h,_dangerousCommand:!0});return ee.confirmed?ee.confirmed:(O.current=Kp(O.current,u,h,H.reason),`[Blocked] Dangerous command requires confirmation: ${H.reason}`)}}if($){let j=!1;if(Jo.has(u)){let H=h.path;H&&oc(H,$)&&(j=!0)}if(u==="bash"){let H=h.command;H&&kS(H,$)&&(j=!0)}if(j){let H=await fo(u,{...h,_alwaysConfirm:!0});if(On.current==="plan"&&(Jo.has(u)||u==="undo"))return!1;if(On.current==="plan"&&u==="bash"){let ee=h.command??"";if(ho(ee))return!1}return H.confirmed}}if(k.has(u)){if(x==="accept-edits"&&u==="bash"&&await rc(u,h,R,$p.current??void 0))return!0;let j=await fo(u,h);if(On.current==="plan"&&(Jo.has(u)||u==="undo"))return!1;if(On.current==="plan"&&u==="bash"){let H=h.command??"";if(ho(H))return!1}if(!j.confirmed)return G({type:"info",text:te("cancelled")}),O.current=Kp(O.current,u,h),!1;j.always&&x==="accept-edits"&&(Eu(u,h,!1),Lx.current=ps())}return!0},"beforeToolExecute"),askUser:o(async u=>{let h=u.options?Df(u.options):[],x=await Xi($g(u),h,u.multiSelect,{minSelections:u.minSelections,maxSelections:u.maxSelections});return x===void 0?yu:x},"askUser"),exitPlanMode:o(async u=>On.current!=="plan"?"not-in-plan-mode":(await fo("exit_plan_mode",{plan:u})).confirmed?(Op("accept-edits"),!0):!1,"exitPlanMode"),askUserMulti:o(async u=>{let h=u.questions,x={},k=0;for(;k<h.length;){let R=h[k],$=Df(R.options);k>0&&$.push({label:te("select.back_prev"),value:Gp});let j=`[${k+1}/${h.length}] ${R.question}`,H=await Xi(j,$,R.multiSelect,{minSelections:R.minSelections,maxSelections:R.maxSelections});if(H===void 0)return;if(!Array.isArray(H)&&H===Gp){k--;continue}x[R.question]=H,k++}return x},"askUserMulti"),askUserInput:o(async u=>Bx(u.question,u.default),"askUserInput"),onCompactStart:o(()=>{ze()},"onCompactStart"),onCompactStats:o(u=>{ya.current=u.tokensBefore,Kn(u.tokensAfter)},"onCompactStats"),onCompactedMessages:o((u,h)=>{n.messages=u,h?.artifactLedger&&h.artifactLedger.length>0&&(n.artifactLedger=ls(n.artifactLedger??[],h.artifactLedger)),n.lineage=h?.anchor?fu(n.lineage,u,h.anchor,h.postCompactAttachments??[]):tn(u,n.lineage);let x=ns(u);n.contextTokenSnapshot={currentTokens:x,baselineEstimatedTokens:x,source:"estimate"},kr(n),Kn(x),fl.current?.().catch(()=>{})},"onCompactedMessages"),onCompact:o(u=>{rn();let h=ya.current??u;ya.current=null;let x=Math.round(h/1e3);bn({type:"info",icon:"\u2728",text:`Context auto-compacted (was ~${x}k tokens)`},"compact")},"onCompact"),onCompactEnd:o(()=>{ya.current=null,rn()},"onCompactEnd"),onIterationEnd:o(u=>{u.scope!=="worker"&&(n.contextTokenSnapshot=u.contextTokenSnapshot),Kn(u.tokenCount)},"onIterationEnd")}),[ke,De,W,Ct,q,Be,pt,ge,we,de,_,n,ze,rn,G,le,F,Q,Ml,St,Ll,Iy,Jn,vy,ky,$l,_a,io,so,Ln,xy,va,Pn,bn,C.currentTool]),fo=o((u,h)=>{let x=ib(u,h);return qn(),new Promise(k=>{Uo.current=k,Dl({tool:u,input:h,prompt:x})})},"showConfirmDialog");Ne(()=>(d(async(u,h,x)=>(await fo(u.name,{...u.input,_reason:`[auto-mode] ${h}`,...x&&x.length>0?{_classifierSignals:x}:{}})).confirmed?"allow":"block"),f(u=>{Cp(u)}),()=>{d(null),f(null)}),[]),Ne(()=>{p(_)},[_,p]),Ne(()=>{let u=o(()=>Xa(),"resolve");return Vp({askUser:o(h=>{let x=u().askUser;if(!x)throw new Error("askUser surface unavailable");return x(h)},"askUser"),askUserMulti:o(async h=>{let x=u().askUserMulti;return x?x(h):void 0},"askUserMulti"),askUserInput:o(async h=>{let x=u().askUserInput;return x?x(h):void 0},"askUserInput")}),()=>Vp(void 0)},[Xa]);let qi=o(async(u,h,x=n.lineage?Dt(n.lineage,n.lineage.activeEntryId):n.messages,k)=>{let R={...Xa(),getCostReport:N,onWorkflowProcessEvent:vR,onWorkflowAgentDigest:o(({runId:ee,event:se})=>{let je=se.data??{},Ue=typeof je.summary=="string"?je.summary:void 0,Gt=typeof je.name=="string"?je.name:void 0,Yo=Ca.current,Ja=Ue!==void 0||Gt!==void 0?cc(Ue,Gt):Yo?.runId===ee?Yo.locale??"en":"en",Hr=Au(se,Ja,ee);Hr&&(et.current.workerId?Wt({id:`wf-digest-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"assistant",text:Hr,timestamp:Date.now()}):Dn([{type:"assistant",text:Hr}]))},"onWorkflowAgentDigest")},j=rS(n.gitRoot).getSystemPromptSnippet(),H=kb(u.context,n.gitRoot,n.contextTokenSnapshot,j);k&&k.length>0&&(H.inputArtifacts=[...k]),H.planModeBlockCheck=(ee,se)=>On.current!=="plan"?null:ti(ee,se,n.gitRoot??process.cwd());try{return await Za({...u,session:{...u.session,initialMessages:x,initialExtensionState:n.extensionState??{},initialExtensionRecords:n.extensionRecords??[]},context:H,events:R,abortSignal:bt()},h)}finally{uS()}},"runAgentRound"),vn=K(u=>{let h=tn([...u],n.lineage);return n.lineage=h,h},[n]),qa=K(async u=>{if(n.messages.length===0)return;let h=ri(n.messages),x=Xr(u??y.current);y.current=x,n.title=h,n.uiHistory=x;let k=n.lineage??vn(n.messages);n.lineage=k;let R={...n.extensionStateDirty?{extensionState:n.extensionState??{}}:{},...n.extensionRecordsDirty?{extensionRecords:n.extensionRecords??[]}:{}},$=la({messages:n.messages,title:h,gitRoot:n.gitRoot??"",tag:Le.current.session?.tag,uiHistory:x,lineage:k,artifactLedger:n.artifactLedger,...R});MD(r)?await r.appendSessionDelta(n.sessionId,$):await r.save(n.sessionId,$),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,bf()&&If("persist",vf(n.messages,k,{historyItems:ue.current,foregroundItems:on.current,streamingResponse:ce.current.currentResponse,streamingThinking:ce.current.thinkingContent,persistedUiHistory:y.current}))},[n,vn,r]),Np=K(()=>{if(pl.current)return pl.current;let u=(async()=>{try{for(;Bo.current.requested;){Bo.current.requested=!1;let h=Bo.current.uiHistoryOverride;Bo.current.uiHistoryOverride=void 0,await qa(h)}}finally{pl.current=null,Bo.current.requested&&Np()}})();return pl.current=u,uy.current=u,u},[qa]),Br=K(u=>{if(u!==void 0){let h=Xr(u);y.current=h,Bo.current.uiHistoryOverride=h}return Bo.current.requested=!0,Np()},[Np]),YR=K(async()=>{if(Sa.current)return Sa.current;let u=(async()=>{rt.current=!0,X(),oe(),W(),le(),ge(),Pe(),q(void 0),V(!1),await uy.current.catch(()=>{}),await fl.current?.().catch(()=>{}),ro(!1),v&&b?.isRaw&&T(!1),b?.pause?.(),b?.unref?.(),g(),a()})();return Sa.current=u.finally(()=>{Sa.current=null}),Sa.current},[X,Pe,le,ge,g,v,a,q,V,T,b,oe,W]);Ne(()=>(fl.current=Br,()=>{fl.current=null}),[Br]);let cu=K(u=>{if(u.length===0)return;let h=Bf(y.current,u);y.current=h,Br(h)},[Br]),Dn=K(u=>{u.length!==0&&(Y([...u]),cu(u))},[Y,cu]),Ji=K(u=>{u.length!==0&&(Y([...u]),y.current=Bf(y.current,u))},[Y]);Ne(()=>(ki.current=Dn,()=>{ki.current=null}),[Dn]);let Hx=K(async u=>{qn(),n.messages=u.messages,n.contextTokenSnapshot=u.contextTokenSnapshot,_v(n,u),vn(u.messages);let h=u.success===!1&&!u.interrupted,x=F().trim(),k=LS(u.messages,Q(),u.managedTask?.verdict.summary,u.lastText),R=mt.current.workerTitle,$=[...on.current],j=$.length>0;Al($);let H=j&&$.some(it=>it.type==="assistant"&&"text"in it&&$v(String(it.text??""),R)),ee=$.filter(it=>it.type!=="assistant"||!("text"in it)||$v(String(it.text??""),R)),se=!h&&k&&!H,je=[..._i.current],Ue=h?[]:je.length===0?Dv?tg(u):tg(u).filter(it=>!eg(it)):[],Gt=j?[]:Gg({thinking:x,response:void 0,toolCalls:Jt.current,toolNames:cr.current}),Yo=[...ee.map(it=>Po(it)),...Gt,...h?[]:je.map(it=>Po(it)),...Ue.map(it=>Pv(it)),...se?[{type:"assistant",text:u.interrupted?`${k}
144
144
 
@@ -168,7 +168,7 @@ Suggestion: Set the required API key environment variable`:Re.message.includes("
168
168
  Suggestion: Check your internet connection`:(Re.message.includes("token")||Re.message.includes("context too long"))&&(Nn=`[Context Error] ${Re.message}
169
169
  Suggestion: Use /clear to start fresh`),console.log=it,et.current.workerId?Wt({id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"error",text:Nn,timestamp:Date.now()}):Dn([{type:"error",text:Nn}]),Pu({error:Re,messageCount:n.messages.length})){let er={type:"info",text:lc};if(et.current.workerId?(Wt({id:`recover-hint-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,...er,timestamp:Date.now()}),cu([er])):Dn([er]),(await fo("confirm",{_alwaysConfirm:!0,_message:Lu})).confirmed)try{await Wx(Gt)}catch(pr){let es=pr instanceof Error?pr.message:String(pr);Dn([{type:"error",text:`[Recover failed] ${es}`}])}}}}finally{if(console.log=it,Hr.length>0){let Re=Hr.filter((Nn,er,po)=>po.indexOf(Nn)===er),kn=Fg(Re);kn&&G({type:"info",text:kn})}if(!rt.current){let Re=_a(B.Cancelled,()=>({error:"Run ended before the tool result was observed.",output:void 0}));Re.length>0&&et.current.workerId&&Re.forEach(kn=>Jn(kn))}V(!1),oe(),Pe(),fp(),le();let Ie=ns(n.messages);n.contextTokenSnapshot={currentTokens:Ie,baselineEstimatedTokens:Ie,source:"estimate"},Kn(Ie)}},[_n,n,_,Zf,C.pendingInputs.length,r,nt,$e,g,a,G,re,Me,oe,Pe,Xa,Fx,bt,Q,F,Wt,Ji,Dn,Hp,qa,Br,cu,vn,Zi,Bp,ze,rn,so,fp,_a,Jn,jo,ba,Ia]),jx=$t.shouldRender?ae(E,{paddingX:1,children:ae(z0,{viewModel:$t})}):void 0,Ux=L&&dr.shouldRender?ae(E,{paddingX:1,children:ae(G0,{viewModel:dr})}):void 0,Gx=Uy?ae(E,{paddingX:1,children:ae(jh,{viewModel:yp})}):void 0,JR=jx||Ux||Gx?Sn(E,{flexDirection:"column",children:[Ux,jx,Gx]}):void 0,Vx=$t.shouldRender?$t.counterText:void 0,QR=ae(Jd,{left:ae(Xd,{items:ix}),right:ae(qd,{items:sx}),queued:ae(Oh,{pendingInputs:C.pendingInputs}),stashNotice:ae(of,{text:Ql}),notifications:ae(rf,{notifications:Jl}),inlineNotices:kp.length>0?ae(Dh,{notices:kp}):void 0,activityBar:Dr?Sn(E,{paddingX:1,flexDirection:"row",children:[Sn(E,{flexGrow:1,children:[Dr?.showSpinner?ae(Gn,{color:ne("dark").colors.accent}):null,Dr?Sn(I,{color:Dr.kind==="waiting"?ne("dark").colors.warning:ne("dark").colors.accent,wrap:"truncate",children:[Dr.showSpinner?" ":"",Dr.text]}):null,Dr?.showSpinner&&C.roundStartedAt!=null?ae(cC,{roundStartedAt:C.roundStartedAt,charCount:C.currentResponse.length,theme:ne("dark")}):null]}),Vx?ae(I,{dimColor:!0,wrap:"truncate",children:Vx}):L&&dr.shouldRender?ae(I,{dimColor:!0,wrap:"truncate",children:`${dr.completedCount}/${dr.totalCount} completed`}):null]}):void 0,todoSurface:JR,composer:ae(vh,{onSubmit:qR,onHistoryRecall:XR,onPopPendingInputs:o(()=>{let u=M();if(u.length!==0)return u.join(`
170
170
  ---
171
- `)},"onPopPendingInputs"),prompt:">",placeholder:iv({isLoading:L,canQueueFollowUps:Zf,waitingReason:bp}),focus:!nt&&!$e&&!ut,cwd:process.cwd(),gitRoot:e.context?.gitRoot||n.gitRoot,onInputChange:OR}),inlineSuggestions:jR,helpSurface:Ry?ae(Rh,{sections:kf()}):void 0,taskBar:Fa?ae(sf,{items:ji.backgroundTask.items,overflowLabel:ji.backgroundTask.overflowLabel,ctaHint:ji.backgroundTask.ctaHint,showSpinner:L}):void 0,statusLine:ae(E,{children:ae(Ks,{...Xl,viewModel:rx})}),inlineDialogs:GR}),ZR=ae(Jd,{left:ae(Xd,{items:ix}),right:ae(qd,{items:sx}),stashNotice:ae(of,{text:Ql}),notifications:ae(rf,{notifications:Jl}),composer:ae(W0,{searchActive:ut,selectionActive:!!(Or||tt),showAllActive:Pt,searchQuery:sn,searchCurrent:Ot.length>0?lo+1:0,searchCount:Ot.length,searchDetailText:wp,pendingLiveUpdates:Oa,secondaryText:WR}),taskBar:Fa?ae(sf,{items:ji.backgroundTask.items,overflowLabel:ji.backgroundTask.overflowLabel,ctaHint:ji.backgroundTask.ctaHint,showSpinner:dt}):void 0,statusLine:ae(E,{children:ae(Ks,{...Xl,viewModel:Ip})})}),Wp=K(u=>ae(F0,{banner:u?.bannerVisible?ae(jg,{...Vo}):void 0,items:Na,isLoading:an,viewportRows:Ut.messageRows,viewportWidth:P,scrollOffset:zn,windowed:!!u?.rendererWindow,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?Ha:wx,maxLines:Rt,selectedTextRanges:hp?Tl?.rowRanges:void 0,onMetricsChange:eu,onVisibleRowsChange:tu}),[Vo,Na,an,eu,tu,zn,wx,P,Rt,Tl?.rowRanges,Ut.messageRows,hp]),Fp=K(u=>ae(j0,{banner:u?.bannerVisible?ae(jg,{...Vo}):void 0,items:Da,browse:{hintText:uo.browseHintText},selection:Zl,search:Jy,isLoading:dt,isThinking:Te.isThinking,thinkingCharCount:Te.thinkingCharCount,thinkingContent:Te.thinkingContent,streamingResponse:Te.currentResponse,currentTool:Te.currentTool,activeToolCalls:Te.activeToolCalls,toolInputCharCount:Te.toolInputCharCount,toolInputContent:Te.toolInputContent,iterationHistory:Te.iterationHistory,currentIteration:Te.currentIteration,isCompacting:Te.isCompacting,agentMode:_.agentMode,managedPhase:dt?z?.phase:void 0,managedHarnessProfile:dt?z?.harnessProfile:void 0,managedWorkerTitle:dt?z?.activeWorkerTitle:void 0,managedRound:dt?z?.currentRound:void 0,managedMaxRounds:dt?z?.maxRounds:void 0,managedGlobalWorkBudget:dt?z?.globalWorkBudget:void 0,managedBudgetUsage:dt?z?.budgetUsage:void 0,managedBudgetApprovalRequired:dt?z?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Te.lastLiveActivityLabel,liveStatusLines:Wi,viewportRows:Ut.messageRows,viewportWidth:P,scrollOffset:zn,windowed:!!u?.windowed,animateSpinners:!!u?.rendererWindow&&Gi,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?Ha:Ul,maxLines:Rt,showDetailedTools:Pt,showAllContent:Pt,selectedItemId:$n.selectionEnabled?tt:void 0,selectedTextRanges:_r?.rowRanges,expandedItemKeys:$n.selectionEnabled?Cn:void 0,onMetricsChange:eu,onVisibleRowsChange:tu}),[Vo,_.agentMode,dt,Cn,s.transcriptSpinnerAnimation,eu,tu,zn,Dy,z?.activeWorkerTitle,z?.budgetApprovalRequired,z?.budgetUsage,z?.currentRound,z?.globalWorkBudget,z?.harnessProfile,z?.maxRounds,z?.phase,Ha,Ul,uo.browseHintText,tt,Zl,P,Gi,Da,Rt,Te.activeToolCalls,Te.currentIteration,Te.currentResponse,Te.currentTool,Te.isCompacting,Te.isThinking,Te.iterationHistory,Te.lastLiveActivityLabel,Te.thinkingCharCount,Te.thinkingContent,Te.toolInputCharCount,Te.toolInputContent,Wi,_r?.rowRanges,Jy,Pt,Ut.messageRows]),eE=Z?Fp({bannerVisible:!1,windowed:Et}):Wp({bannerVisible:!1}),Kx=Z?ZR:QR,tE=s.enabled&&Go,zx=Sn(E,{flexDirection:"column",width:P,flexShrink:0,flexGrow:tE?1:0,children:[ae(sg,{currentConfig:_,setCurrentConfig:xe,isLoading:L,abort:X,stopThinking:W,clearThinkingContent:le,setCurrentTool:q,setIsLoading:V,onToggleHelp:$R,setShowHelp:Ey,onSetThinking:o(u=>{Le.current.thinking=u},"onSetThinking"),onSetReasoningMode:o(u=>{Le.current.reasoningMode=u,Le.current.thinking=u!=="off"},"onSetReasoningMode"),onToggleTranscriptMode:VR,onOpenTranscriptSearch:Ap,canOpenTranscriptSearch:Z&&!nt&&!$e,isInteractiveDialogActive:!!(nt||$e),onSetAgentMode:o(u=>{Le.current.agentMode=u},"onSetAgentMode"),onSetPermissionMode:o(u=>{Op(u)},"onSetPermissionMode"),isInputEmpty:wa,onSavePermissionMode:RS}),xt&&(s.enabled?null:ae(Os,{items:[1],children:o(()=>ae(jg,{...Vo},"banner"),"children")})),Go?ae(Th,{width:P,stickyHeader:uo.stickyHeader,jumpToLatest:uo.jumpToLatest,transcript:!s.enabled||!Et?Z?Fp({bannerVisible:!1}):Wp({bannerVisible:!1}):void 0,renderTranscriptWindow:s.enabled&&Et?u=>(()=>{let x=Va(u).contentWindow;return Z?Fp({bannerVisible:!1,windowed:!0,rendererWindow:x}):Wp({bannerVisible:!1,rendererWindow:x})})():void 0,overlay:Pp,scrollTop:zn,scrollHeight:Ga,viewportHeight:Ut.messageRows,stickyScroll:!Z&&!lr&&np,overscanRows:UD,scrollRef:wR,onWindowChange:UR,onScrollTopChange:CR,onStickyChange:bR,footer:Kx}):Sn(RD,{children:[Sn(E,{flexDirection:"column",flexGrow:1,children:[eE,Pp?ae(E,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:Pp}):null]}),Kx]})]});return mp?ae(Wm,{mouseTracking:ao.usesRendererMouseTracking,children:zx}):zx},"InkREPLInner"),YD=o(e=>{let t=process.cwd(),n=e.options?.context?.gitRoot??void 0;return ae(ef,{children:ae(cf,{children:ae(Cd,{children:ae(og,{children:ae(Qm,{cwd:t,gitRoot:n,children:ae(zD,{...e})})})})})})},"InkREPL");function XD(){return process.stdin.isTTY===!0&&typeof process.stdin.setRawMode=="function"}o(XD,"isRawModeSupported");async function Vg(e){if(!XD())throw new Up("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 Js,n=ii(),r=si(),i=ai(n,r),{prepareRuntimeConfig:s,getGitRoot:a}=await import("./utils-FLVVQHM7.js"),{loadCompactionConfig:c}=await import("./compaction-config-OPMRZSAK.js"),{resolveProvider:l}=await import("./dist-JSE7NICF.js"),d=s(),f=e.provider??d.provider??lu,p=e.model??d.model,m=_D(e,d),g=LD(e,d),S=vu(e,d),w=e.agentMode??d.agentMode??"ama",b=m!=="off",T=nc(d.permissionMode,"accept-edits")??"accept-edits",v=xu(),A=d.repoIntelligenceTrace===!0,D={provider:f,model:p,effort:g,effortOverride:S,planModeEffort:d.planModeEffort,thinking:b,reasoningMode:m,agentMode:w,permissionMode:T,repoIntelligenceMode:v.mode,repoIntelligenceTrace:A},N=e.session?.id,O=[],G,Y,re,me,ue,y="",P=await a().catch(()=>null)??void 0,C=uu({meta:{cwd:process.cwd(),startedAt:Date.now()}});if(C){let W=o(()=>{C.shutdown()},"teamModeCleanup");process.on("exit",W),process.on("SIGTERM",W)}try{let{bootstrapConstructionRuntime:W}=await import("./construction-bootstrap-CIXFH5SE.js"),le=await W(P??process.cwd());if(le.loaded>0||le.failed>0||le.tampered>0){let q=le.failed>0?`; ${le.failed} failed (see warnings above)`:"",Be=le.tampered>0?`; ${le.tampered} skipped due to manifest contentHash mismatch \u2014 re-stage and re-activate to re-approve`:"";console.log(Xe.dim(`[Constructed] Rehydrated ${le.loaded} active tool(s)${q}${Be}.`))}if(le.markdownLoaded>0||le.markdownFailures.length>0){console.log(Xe.dim(`[Agents] Loaded ${le.markdownLoaded} markdown agent(s).`));for(let q of le.markdownFailures)console.warn(Xe.yellow(`[Agents] Skipped ${q.path}: ${q.reason}`))}}catch(W){console.warn(Xe.yellow(`[Constructed] Bootstrap failed: ${W.message}. Self-construction disabled this session.`))}let ce;try{let W=await c(P),le=l(f);ce={contextWindow:W.contextWindow??le.getContextWindow?.()??2e5,triggerPercent:W.triggerPercent,enabled:W.enabled,userOverrideContextWindow:W.contextWindow}}catch{}if(e.session?.id&&!e.session.resume){let W=await t.load(e.session.id);W&&(O=W.messages,G=Ro(W.uiHistory),Y=W.lineage,re=W.artifactLedger,me=W.extensionState,ue=W.extensionRecords,y=W.title,N=e.session.id,e={...e,session:{...e.session??{},id:N,tag:W.tag}},console.log(Xe.green(`[Session loaded: ${N}]`)))}else if(e.session?.resume||e.session?.autoResume){let W=await t.list(P);if(W.length>0){let le=W[0];if(le){let q=await t.load(le.id);q&&(O=q.messages,G=Ro(q.uiHistory),Y=q.lineage,re=q.artifactLedger,me=q.extensionState,ue=q.extensionRecords,y=q.title,N=le.id,e={...e,session:{...e.session??{},tag:q.tag}},console.log(Xe.green(`[Continuing session: ${le.id}]`)))}}}let Me=await zc({sessionId:N,gitRoot:P,existingMessages:O,existingUiHistory:G,existingLineage:Y,existingArtifactLedger:re,existingExtensionState:me,existingExtensionRecords:ue});Me.title=y,C?.writer.update({sessionId:Me.sessionId});let oe={current:null},X={current:null},de={current:D},ke=Ru(),De=await Yc({askUser:o(async(W,le,q)=>{let Be=oe.current;return Be?Be(W,le,q):"block"},"askUser"),projectRoot:P??process.cwd(),getCurrentProviderName:o(()=>de.current.provider,"getCurrentProviderName"),getCurrentModel:o(()=>de.current.model,"getCurrentModel"),getCurrentPermissionMode:o(()=>de.current.permissionMode,"getCurrentPermissionMode"),autoModeSettings:ke,log:o((W,le)=>{W==="warn"?console.warn(Xe.yellow(le)):console.log(Xe.dim(le))},"log"),onEngineChange:o(W=>{X.current?.(W)},"onEngineChange"),extraCollectors:[ku]});try{let W=process.stdout,le=process.stdin;import("./paste-Y4DVUWSM.js").then(Pe=>Pe.prunePasteTmpDir()).catch(()=>{});let q=!1,{waitUntilExit:Be,cleanup:pt}=pd(ae(YD,{options:e,config:D,context:Me,storage:t,compactionInfo:ce,rendererMode:r,fullscreenPolicy:i,autoModeBootstrap:De,setAutoModeAskUser:o(Pe=>{oe.current=Pe},"setAutoModeAskUser"),setAutoModeEngineChange:o(Pe=>{X.current=Pe},"setAutoModeEngineChange"),setCurrentConfigRef:o(Pe=>{de.current=Pe},"setCurrentConfigRef"),teamModeHandle:C,onExit:o(()=>{q=!0},"onExit")}),{stdout:W,stdin:le,exitOnCtrlC:!1,patchConsole:!1,maxFps:30,shellMode:i.enabled?i.promptShell:"main-screen"});await Be(),pt(),C?.shutdown(),le.isTTY===!0&&typeof le.setRawMode=="function"&&le.isRaw&&le.setRawMode(!1),le.pause?.(),le.unref?.(),q&&console.log(Xe.dim(`
171
+ `)},"onPopPendingInputs"),prompt:">",placeholder:iv({isLoading:L,canQueueFollowUps:Zf,waitingReason:bp}),focus:!nt&&!$e&&!ut,cwd:process.cwd(),gitRoot:e.context?.gitRoot||n.gitRoot,onInputChange:OR}),inlineSuggestions:jR,helpSurface:Ry?ae(Rh,{sections:kf()}):void 0,taskBar:Fa?ae(sf,{items:ji.backgroundTask.items,overflowLabel:ji.backgroundTask.overflowLabel,ctaHint:ji.backgroundTask.ctaHint,showSpinner:L}):void 0,statusLine:ae(E,{children:ae(Ks,{...Xl,viewModel:rx})}),inlineDialogs:GR}),ZR=ae(Jd,{left:ae(Xd,{items:ix}),right:ae(qd,{items:sx}),stashNotice:ae(of,{text:Ql}),notifications:ae(rf,{notifications:Jl}),composer:ae(W0,{searchActive:ut,selectionActive:!!(Or||tt),showAllActive:Pt,searchQuery:sn,searchCurrent:Ot.length>0?lo+1:0,searchCount:Ot.length,searchDetailText:wp,pendingLiveUpdates:Oa,secondaryText:WR}),taskBar:Fa?ae(sf,{items:ji.backgroundTask.items,overflowLabel:ji.backgroundTask.overflowLabel,ctaHint:ji.backgroundTask.ctaHint,showSpinner:dt}):void 0,statusLine:ae(E,{children:ae(Ks,{...Xl,viewModel:Ip})})}),Wp=K(u=>ae(F0,{banner:u?.bannerVisible?ae(jg,{...Vo}):void 0,items:Na,isLoading:an,viewportRows:Ut.messageRows,viewportWidth:P,scrollOffset:zn,windowed:!!u?.rendererWindow,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?Ha:wx,maxLines:Rt,selectedTextRanges:hp?Tl?.rowRanges:void 0,onMetricsChange:eu,onVisibleRowsChange:tu}),[Vo,Na,an,eu,tu,zn,wx,P,Rt,Tl?.rowRanges,Ut.messageRows,hp]),Fp=K(u=>ae(j0,{banner:u?.bannerVisible?ae(jg,{...Vo}):void 0,items:Da,browse:{hintText:uo.browseHintText},selection:Zl,search:Jy,isLoading:dt,isThinking:Te.isThinking,thinkingCharCount:Te.thinkingCharCount,thinkingContent:Te.thinkingContent,streamingResponse:Te.currentResponse,currentTool:Te.currentTool,activeToolCalls:Te.activeToolCalls,toolInputCharCount:Te.toolInputCharCount,toolInputContent:Te.toolInputContent,iterationHistory:Te.iterationHistory,currentIteration:Te.currentIteration,isCompacting:Te.isCompacting,agentMode:_.agentMode,managedPhase:dt?z?.phase:void 0,managedHarnessProfile:dt?z?.harnessProfile:void 0,managedWorkerTitle:dt?z?.activeWorkerTitle:void 0,managedRound:dt?z?.currentRound:void 0,managedMaxRounds:dt?z?.maxRounds:void 0,managedGlobalWorkBudget:dt?z?.globalWorkBudget:void 0,managedBudgetUsage:dt?z?.budgetUsage:void 0,managedBudgetApprovalRequired:dt?z?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Te.lastLiveActivityLabel,liveStatusLines:Wi,viewportRows:Ut.messageRows,viewportWidth:P,scrollOffset:zn,windowed:!!u?.windowed,animateSpinners:!!u?.rendererWindow&&Gi,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?Ha:Ul,maxLines:Rt,showDetailedTools:Pt,showAllContent:Pt,selectedItemId:$n.selectionEnabled?tt:void 0,selectedTextRanges:_r?.rowRanges,expandedItemKeys:$n.selectionEnabled?Cn:void 0,onMetricsChange:eu,onVisibleRowsChange:tu}),[Vo,_.agentMode,dt,Cn,s.transcriptSpinnerAnimation,eu,tu,zn,Dy,z?.activeWorkerTitle,z?.budgetApprovalRequired,z?.budgetUsage,z?.currentRound,z?.globalWorkBudget,z?.harnessProfile,z?.maxRounds,z?.phase,Ha,Ul,uo.browseHintText,tt,Zl,P,Gi,Da,Rt,Te.activeToolCalls,Te.currentIteration,Te.currentResponse,Te.currentTool,Te.isCompacting,Te.isThinking,Te.iterationHistory,Te.lastLiveActivityLabel,Te.thinkingCharCount,Te.thinkingContent,Te.toolInputCharCount,Te.toolInputContent,Wi,_r?.rowRanges,Jy,Pt,Ut.messageRows]),eE=Z?Fp({bannerVisible:!1,windowed:Et}):Wp({bannerVisible:!1}),Kx=Z?ZR:QR,tE=s.enabled&&Go,zx=Sn(E,{flexDirection:"column",width:P,flexShrink:0,flexGrow:tE?1:0,children:[ae(sg,{currentConfig:_,setCurrentConfig:xe,isLoading:L,abort:X,stopThinking:W,clearThinkingContent:le,setCurrentTool:q,setIsLoading:V,onToggleHelp:$R,setShowHelp:Ey,onSetThinking:o(u=>{Le.current.thinking=u},"onSetThinking"),onSetReasoningMode:o(u=>{Le.current.reasoningMode=u,Le.current.thinking=u!=="off"},"onSetReasoningMode"),onToggleTranscriptMode:VR,onOpenTranscriptSearch:Ap,canOpenTranscriptSearch:Z&&!nt&&!$e,isInteractiveDialogActive:!!(nt||$e),onSetAgentMode:o(u=>{Le.current.agentMode=u},"onSetAgentMode"),onSetPermissionMode:o(u=>{Op(u)},"onSetPermissionMode"),isInputEmpty:wa,onSavePermissionMode:RS}),xt&&(s.enabled?null:ae(Os,{items:[1],children:o(()=>ae(jg,{...Vo},"banner"),"children")})),Go?ae(Th,{width:P,stickyHeader:uo.stickyHeader,jumpToLatest:uo.jumpToLatest,transcript:!s.enabled||!Et?Z?Fp({bannerVisible:!1}):Wp({bannerVisible:!1}):void 0,renderTranscriptWindow:s.enabled&&Et?u=>(()=>{let x=Va(u).contentWindow;return Z?Fp({bannerVisible:!1,windowed:!0,rendererWindow:x}):Wp({bannerVisible:!1,rendererWindow:x})})():void 0,overlay:Pp,scrollTop:zn,scrollHeight:Ga,viewportHeight:Ut.messageRows,stickyScroll:!Z&&!lr&&np,overscanRows:UD,scrollRef:wR,onWindowChange:UR,onScrollTopChange:CR,onStickyChange:bR,footer:Kx}):Sn(RD,{children:[Sn(E,{flexDirection:"column",flexGrow:1,children:[eE,Pp?ae(E,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:Pp}):null]}),Kx]})]});return mp?ae(Wm,{mouseTracking:ao.usesRendererMouseTracking,children:zx}):zx},"InkREPLInner"),YD=o(e=>{let t=process.cwd(),n=e.options?.context?.gitRoot??void 0;return ae(ef,{children:ae(cf,{children:ae(Cd,{children:ae(og,{children:ae(Qm,{cwd:t,gitRoot:n,children:ae(zD,{...e})})})})})})},"InkREPL");function XD(){return process.stdin.isTTY===!0&&typeof process.stdin.setRawMode=="function"}o(XD,"isRawModeSupported");async function Vg(e){if(!XD())throw new Up("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 Js,n=ii(),r=si(),i=ai(n,r),{prepareRuntimeConfig:s,getGitRoot:a}=await import("./utils-5XVW33SY.js"),{loadCompactionConfig:c}=await import("./compaction-config-GQIPCVFD.js"),{resolveProvider:l}=await import("./dist-EZXBR6NW.js"),d=s(),f=e.provider??d.provider??lu,p=e.model??d.model,m=_D(e,d),g=LD(e,d),S=vu(e,d),w=e.agentMode??d.agentMode??"ama",b=m!=="off",T=nc(d.permissionMode,"accept-edits")??"accept-edits",v=xu(),A=d.repoIntelligenceTrace===!0,D={provider:f,model:p,effort:g,effortOverride:S,planModeEffort:d.planModeEffort,thinking:b,reasoningMode:m,agentMode:w,permissionMode:T,repoIntelligenceMode:v.mode,repoIntelligenceTrace:A},N=e.session?.id,O=[],G,Y,re,me,ue,y="",P=await a().catch(()=>null)??void 0,C=uu({meta:{cwd:process.cwd(),startedAt:Date.now()}});if(C){let W=o(()=>{C.shutdown()},"teamModeCleanup");process.on("exit",W),process.on("SIGTERM",W)}try{let{bootstrapConstructionRuntime:W}=await import("./construction-bootstrap-YON4ZEMO.js"),le=await W(P??process.cwd());if(le.loaded>0||le.failed>0||le.tampered>0){let q=le.failed>0?`; ${le.failed} failed (see warnings above)`:"",Be=le.tampered>0?`; ${le.tampered} skipped due to manifest contentHash mismatch \u2014 re-stage and re-activate to re-approve`:"";console.log(Xe.dim(`[Constructed] Rehydrated ${le.loaded} active tool(s)${q}${Be}.`))}if(le.markdownLoaded>0||le.markdownFailures.length>0){console.log(Xe.dim(`[Agents] Loaded ${le.markdownLoaded} markdown agent(s).`));for(let q of le.markdownFailures)console.warn(Xe.yellow(`[Agents] Skipped ${q.path}: ${q.reason}`))}}catch(W){console.warn(Xe.yellow(`[Constructed] Bootstrap failed: ${W.message}. Self-construction disabled this session.`))}let ce;try{let W=await c(P),le=l(f);ce={contextWindow:W.contextWindow??le.getContextWindow?.()??2e5,triggerPercent:W.triggerPercent,enabled:W.enabled,userOverrideContextWindow:W.contextWindow}}catch{}if(e.session?.id&&!e.session.resume){let W=await t.load(e.session.id);W&&(O=W.messages,G=Ro(W.uiHistory),Y=W.lineage,re=W.artifactLedger,me=W.extensionState,ue=W.extensionRecords,y=W.title,N=e.session.id,e={...e,session:{...e.session??{},id:N,tag:W.tag}},console.log(Xe.green(`[Session loaded: ${N}]`)))}else if(e.session?.resume||e.session?.autoResume){let W=await t.list(P);if(W.length>0){let le=W[0];if(le){let q=await t.load(le.id);q&&(O=q.messages,G=Ro(q.uiHistory),Y=q.lineage,re=q.artifactLedger,me=q.extensionState,ue=q.extensionRecords,y=q.title,N=le.id,e={...e,session:{...e.session??{},tag:q.tag}},console.log(Xe.green(`[Continuing session: ${le.id}]`)))}}}let Me=await zc({sessionId:N,gitRoot:P,existingMessages:O,existingUiHistory:G,existingLineage:Y,existingArtifactLedger:re,existingExtensionState:me,existingExtensionRecords:ue});Me.title=y,C?.writer.update({sessionId:Me.sessionId});let oe={current:null},X={current:null},de={current:D},ke=Ru(),De=await Yc({askUser:o(async(W,le,q)=>{let Be=oe.current;return Be?Be(W,le,q):"block"},"askUser"),projectRoot:P??process.cwd(),getCurrentProviderName:o(()=>de.current.provider,"getCurrentProviderName"),getCurrentModel:o(()=>de.current.model,"getCurrentModel"),getCurrentPermissionMode:o(()=>de.current.permissionMode,"getCurrentPermissionMode"),autoModeSettings:ke,log:o((W,le)=>{W==="warn"?console.warn(Xe.yellow(le)):console.log(Xe.dim(le))},"log"),onEngineChange:o(W=>{X.current?.(W)},"onEngineChange"),extraCollectors:[ku]});try{let W=process.stdout,le=process.stdin;import("./paste-4THGP5XW.js").then(Pe=>Pe.prunePasteTmpDir()).catch(()=>{});let q=!1,{waitUntilExit:Be,cleanup:pt}=pd(ae(YD,{options:e,config:D,context:Me,storage:t,compactionInfo:ce,rendererMode:r,fullscreenPolicy:i,autoModeBootstrap:De,setAutoModeAskUser:o(Pe=>{oe.current=Pe},"setAutoModeAskUser"),setAutoModeEngineChange:o(Pe=>{X.current=Pe},"setAutoModeEngineChange"),setCurrentConfigRef:o(Pe=>{de.current=Pe},"setCurrentConfigRef"),teamModeHandle:C,onExit:o(()=>{q=!0},"onExit")}),{stdout:W,stdin:le,exitOnCtrlC:!1,patchConsole:!1,maxFps:30,shellMode:i.enabled?i.promptShell:"main-screen"});await Be(),pt(),C?.shutdown(),le.isTTY===!0&&typeof le.setRawMode=="function"&&le.isRaw&&le.setRawMode(!1),le.pause?.(),le.unref?.(),q&&console.log(Xe.dim(`
172
172
  [Exiting KodaX...]`));let ge=e.hardExitOnClose??process.env.VITEST!=="true";if(q&&ge){let Pe=process.exitCode??0,Ct=!1,bt=o(()=>{Ct||(Ct=!0,process.exit(Pe))},"requestProcessExit");setTimeout(bt,0).unref?.(),W.write("",bt);return}}catch(W){throw W instanceof Error&&W.message.includes("Raw mode")?new Up("Interactive mode failed to start.",['kodax -p "your task" # Run a single task',"kodax -c # Continue last session"]):W}}o(Vg,"runInkInteractiveMode");import cn from"chalk";var Fv=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],jv=["\x1B[36m","\x1B[35m","\x1B[34m"],rl=null,ua=!1;function nl(){let e=0,t=0,n=!1,r="Thinking...",i=o(()=>{if(n)return;let c=jv[t%jv.length],l="\x1B[0m",d=Fv[e%Fv.length];process.stdout.write(`\r${c}${d}${l} ${r}`)},"renderFrame"),s=setInterval(()=>{e++,e%10===0&&t++,i()},80);i();let a={stop:o(()=>{n||(n=!0,clearInterval(s),process.stdout.write("\r\x1B[K"))},"stop"),isStopped:o(()=>n,"isStopped"),updateText:o(c=>{r=c},"updateText")};return rl=a,a}o(nl,"startWaitingDots");function qD(e=!0){let t=null,n=0,r=!1;return{onSessionStart:o(s=>{console.log(e?cn.cyan(`[KodaX] Provider: ${s.provider} | Session: ${s.sessionId}`):cn.cyan(`[KodaX] Provider: ${s.provider}`))},"onSessionStart"),onTextDelta:o(s=>{t&&(t.stop(),t=null),n=0,process.stdout.write(s),r=!0},"onTextDelta"),onThinkingDelta:o(s=>{n+=s.length,t||(t=nl()),t.updateText(`Thinking... (${n} chars)`)},"onThinkingDelta"),onThinkingEnd:o(s=>{if(t&&(t.stop(),t=null),s){let a=s.replace(/\n/g," "),c=a.length>100?a.slice(0,100)+"...":a;console.log(cn.dim(`[Thinking] ${c}`))}},"onThinkingEnd"),onToolUseStart:o(s=>{t||(ua||(process.stdout.write(`
173
173
  `),ua=!0),t=nl()),t.updateText(`Executing ${s.name}...`)},"onToolUseStart"),onToolInputDelta:o((s,a,c)=>{let l=a.length;t&&!t.isStopped()?t.updateText(`Receiving ${s}... (${l} chars)`):(!t||t.isStopped())&&(ua||(process.stdout.write(`
174
174
  `),ua=!0,r=!1),t=nl(),t.updateText(`Receiving ${s}... (${l} chars)`))},"onToolInputDelta"),onToolResult:o(s=>{t&&(t.stop(),t=null),console.log(cn.green(`[Result] ${s.content.slice(0,300)}${s.content.length>300?"...":""}`))},"onToolResult"),onRepoIntelligenceTrace:o(s=>{t&&(t.stop(),t=null),console.log(cn.dim(`[RepoIntel] ${s.summary}`))},"onRepoIntelligenceTrace"),onSidecarMessage:o(s=>{t&&(t.stop(),t=null);let a=s.delivery==="budget-exhausted"?"\u26A1 Sidecar Verifier \u2014 budget exhausted":s.verdict==="blocked"?"\u26A1 Sidecar Verifier \u2014 blocked":"\u26A1 Sidecar Verifier \u2014 revise",c=s.suggestedFix?`${s.content}
@@ -209,8 +209,8 @@ ${t}`),console.log("\u2500".repeat(t.length)),n.forEach((r,i)=>{console.log(` $
209
209
  \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D`,l=o(f=>Ve.hex(f)(" \u258E "),"bar"),d=Ve.hex(i.colors.dim)(" \xB7 ");if(console.log(Ve.hex(i.colors.primary)(`
210
210
  `+c)),console.log(""),console.log(l(i.colors.primary)+Ve.hex(i.colors.primary)("AI Coding Agent \xB7 Minimalist & Intelligent")),console.log(l(i.colors.success)+Ve.bold.hex(i.colors.text)(`v${us}`)+d+Ve.hex(i.colors.success)(`${e.provider}:${s}`)+d+Ve.hex(i.colors.primary)(e.agentMode.toUpperCase())+Ve.hex(i.colors.dim)(" / ")+Ve.hex(i.colors.accent)(t)+Ve.hex(i.colors.dim)(" \xB7 ")+Ve.hex(i.colors.warning)(`effort:${a}`)),n){let f=Math.round(n.contextWindow/1e3),p=Math.round(n.contextWindow*n.triggerPercent/100/1e3),m=n.enabled?Ve.hex(i.colors.success)("on"):Ve.hex(i.colors.secondary)("off");console.log(l(i.colors.accent)+Ve.hex(i.colors.secondary)(`ctx ${f}k \xB7 compaction `)+m+Ve.hex(i.colors.secondary)(` @ ${n.triggerPercent}% (${p}k)`))}r&&console.log(l(i.colors.secondary)+Ve.hex(i.colors.secondary)(`${r.length} project rule file(s) loaded \u2014 `)+Ve.hex(i.colors.dim)("/reload to refresh")),console.log(""),console.log(Ve.hex(i.colors.dim)(" Quick tips:")),console.log(Ve.hex(i.colors.primary)(" /help ")+Ve.hex(i.colors.dim)("Show all commands")),console.log(Ve.hex(i.colors.primary)(" /mode ")+Ve.hex(i.colors.dim)("Switch permission mode")),console.log(Ve.hex(i.colors.primary)(" /clear ")+Ve.hex(i.colors.dim)("Clear conversation")),console.log(Ve.hex(i.colors.primary)(" @path ")+Ve.hex(i.colors.dim)("Attach image to context")),console.log(Ve.hex(i.colors.primary)(" !cmd ")+Ve.hex(i.colors.dim)("Run read-only shell command")),console.log(Ve.hex(i.colors.dim)(`
211
211
  Keyboard: Tab (complete) | Esc+Esc (edit last) | Ctrl+T (reasoning) | Ctrl+E (editor) | Ctrl+R (history)
212
- `))}o(mk,"printStartupBanner");async function EN(e){return(await du(e)).getSystemPromptSnippet()}o(EN,"buildClassicCliSkillsPrompt");var Qg=class{static{o(this,"MemorySessionStorage")}sessions=new Map;async save(t,n){let r=this.sessions.get(t),i=tn(n.messages,n.lineage??r?.data.lineage);this.sessions.set(t,{createdAt:r?.createdAt??new Date().toISOString(),data:{...structuredClone(n),scope:n.scope??r?.data.scope??"user",uiHistory:n.uiHistory??r?.data.uiHistory,extensionState:n.extensionState??r?.data.extensionState,extensionRecords:n.extensionRecords??r?.data.extensionRecords,tag:n.tag??r?.data.tag,lineage:i}})}async load(t){return structuredClone(this.sessions.get(t)?.data??null)}async getLineage(t){return structuredClone(this.sessions.get(t)?.data.lineage??null)}async setActiveEntry(t,n,r){let i=this.sessions.get(t);if(!i?.data.lineage)return null;let s=os(i.data.lineage,n,r);if(!s)return null;let a={...structuredClone(i.data),messages:Dt(s),lineage:s};return this.sessions.set(t,{...i,data:a}),structuredClone(a)}async setLabel(t,n,r){let i=this.sessions.get(t);if(!i?.data.lineage)return null;let s=is(i.data.lineage,n,r);if(!s)return null;let a={...structuredClone(i.data),lineage:s};return this.sessions.set(t,{...i,data:a}),structuredClone(a)}async fork(t,n,r){let i=this.sessions.get(t);if(!i?.data.lineage)return null;let s=cs(i.data.lineage,n);if(!s)return null;let a=r?.sessionId??await rs(),c={messages:Dt(s),title:r?.title??i.data.title,gitRoot:i.data.gitRoot,tag:i.data.tag,runtimeInfo:i.data.runtimeInfo?structuredClone(i.data.runtimeInfo):void 0,scope:i.data.scope??"user",extensionState:i.data.extensionState?structuredClone(i.data.extensionState):void 0,extensionRecords:i.data.extensionRecords?structuredClone(i.data.extensionRecords):void 0,lineage:s};return this.sessions.set(a,{createdAt:new Date().toISOString(),data:c}),{sessionId:a,data:structuredClone(c)}}async rewind(t,n){let r=this.sessions.get(t);if(!r?.data.lineage)return null;let i=n??ss(r.data.lineage);if(!i)return null;let s=as(r.data.lineage,i);if(!s)return null;let a={...r.data,messages:Dt(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?qo(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 qg(e,t,n){e.runtimeInfo=n,e.gitRoot=n?.workspaceRoot??e.gitRoot,t.context={...t.context,gitRoot:e.gitRoot,executionCwd:n?.executionCwd??process.cwd()}}o(qg,"applyRuntimeContext");function Uf(e,t){let n=t.runtimeSessionSnapshot;n&&("extensionState"in n&&(e.extensionState=n.extensionState?structuredClone(n.extensionState):{},e.extensionStateDirty=!0),"extensionRecords"in n&&(e.extensionRecords=n.extensionRecords?.map(r=>({...r}))??[],e.extensionRecordsDirty=!0))}o(Uf,"applyRuntimeSessionSnapshot");function Oo(e){return{...e.extensionStateDirty?{extensionState:e.extensionState??{}}:{},...e.extensionRecordsDirty?{extensionRecords:e.extensionRecords??[]}:{}}}o(Oo,"contextExtensionSessionData");function pa(e){e.extensionStateDirty=!1,e.extensionRecordsDirty=!1}o(pa,"markExtensionSessionPersisted");function MN(e,t){return e.reasoningMode?e.reasoningMode:t.reasoningMode?t.reasoningMode:(e.thinking===!0||t.thinking===!0,"auto")}o(MN,"resolveInitialReasoningMode");function AN(e,t){return e.effort??t.effort}o(AN,"resolveInitialEffort");var Zg={current:null};async function _N(e){let t=await hs({cwd:process.cwd()}),n=t.workspaceRoot??await ei()??void 0,r=e.storage??new Qg;import("./paste-Y4DVUWSM.js").then(M=>M.prunePasteTmpDir()).catch(()=>{});let i=uu({meta:{cwd:process.cwd(),startedAt:Date.now()}}),s=Yp(),a=e.provider??s.provider??lu,c=e.model??s.model,l=MN(e,s),d=AN(e,s),f=vu(e,s),p=e.agentMode??s.agentMode??"ama",m=l!=="off",g=nc(s.permissionMode,"accept-edits")??"accept-edits",S=Iu();g==="auto-in-project"&&S();let w=xu(),b=s.theme;b&&cl(b);let T=Ci(),v={provider:a,model:c,effort:d,effortOverride:f,planModeEffort:s.planModeEffort,thinking:m,reasoningMode:l,agentMode:p,permissionMode:g,repoIntelligenceMode:w.mode,repoIntelligenceTrace:w.trace,fallbackProviders:s.fallbackProviders},A=g,D=ps(),N=o(()=>fs(v),"resolveCurrentEffort"),O=o(M=>Zo({provider:M?.provider??v.provider,model:M?.model??v.model,effort:v.effort,effortOverride:v.effortOverride,permissionMode:M?.permissionMode??v.permissionMode,planModeEffort:v.planModeEffort,thinking:v.thinking,reasoningMode:v.reasoningMode}),"resolveCurrentRuntimeEffort"),G=o(M=>{let L=O(M);return gr({provider:M?.provider??v.provider,model:M?.model??v.model,effort:L.configuredEffort,effortOverride:v.effortOverride,thinking:v.thinking,reasoningMode:v.reasoningMode})},"formatCurrentReasoningEffortLabel"),Y=0,re="",me=!1,ue=500,y=await zc({sessionId:e.session?.id,gitRoot:n,runtimeInfo:t});i?.writer.update({sessionId:y.sessionId});let P=o(M=>Mo(v,M,(L,V,_)=>{console.log((L==="block"?ie.red:ie.yellow)(`
213
- ${V}`));for(let xe of _)console.log(ie.dim(xe));console.log()}),"guardSessionTransition"),C=await MS(n??void 0),{resolveProvider:ce}=await import("./dist-JSE7NICF.js"),Me=ce(v.provider),oe=C.contextWindow??Me.getEffectiveContextWindow?.(v.model)??Me.getContextWindow?.()??2e5,{loadAgentsFiles:X}=await import("./dist-JSE7NICF.js"),de=o(async()=>X({cwd:process.cwd(),projectRoot:y.gitRoot??void 0}),"reloadAgentsFiles"),ke=await de();mk(v,v.permissionMode,{contextWindow:oe,triggerPercent:C.triggerPercent,enabled:C.enabled},ke),pk(t);let De=qS(()=>y.gitRoot??process.cwd()),W=hk.createInterface({input:process.stdin,output:process.stdout,terminal:process.stdout.isTTY??!0,historySize:100,completer:o((M,L)=>{De(M).then(V=>{L(null,V)}).catch(()=>{L(null,[[],M])})},"completer")}),le=Ru(),q=await Yc({askUser:o(async(M,L,V)=>(await al(W,M.name,{...M.input,...V&&V.length>0?{_classifierSignals:V}:{}},{permissionMode:A,reason:`[auto-mode] ${L}`})).confirmed?"allow":"block","askUser"),projectRoot:n??process.cwd(),getCurrentProviderName:o(()=>v.provider,"getCurrentProviderName"),getCurrentModel:o(()=>v.model,"getCurrentModel"),getCurrentPermissionMode:o(()=>A,"getCurrentPermissionMode"),autoModeSettings:le,log:o((M,L)=>{M==="warn"?console.warn(ie.yellow(L)):console.log(ie.dim(L))},"log"),onEngineChange:o(M=>{fn(A)&&ge?.update({autoModeEngine:M})},"onEngineChange"),extraCollectors:[ku]}),Be=Tu({getProvider:o(()=>ce(v.provider),"getProvider"),getModel:o(()=>v.model??"","getModel")}),pt=v.model??Hn(v.provider)??v.provider,ge=null;ik()&&(ge=new Ff(ok(y.sessionId,v.permissionMode,v.provider,pt,v.reasoningMode,N(),G({model:pt}))),fn(A)&&ge.update({autoModeEngine:q.getGuardrail().getEngine()}));let Pe=`
212
+ `))}o(mk,"printStartupBanner");async function EN(e){return(await du(e)).getSystemPromptSnippet()}o(EN,"buildClassicCliSkillsPrompt");var Qg=class{static{o(this,"MemorySessionStorage")}sessions=new Map;async save(t,n){let r=this.sessions.get(t),i=tn(n.messages,n.lineage??r?.data.lineage);this.sessions.set(t,{createdAt:r?.createdAt??new Date().toISOString(),data:{...structuredClone(n),scope:n.scope??r?.data.scope??"user",uiHistory:n.uiHistory??r?.data.uiHistory,extensionState:n.extensionState??r?.data.extensionState,extensionRecords:n.extensionRecords??r?.data.extensionRecords,tag:n.tag??r?.data.tag,lineage:i}})}async load(t){return structuredClone(this.sessions.get(t)?.data??null)}async getLineage(t){return structuredClone(this.sessions.get(t)?.data.lineage??null)}async setActiveEntry(t,n,r){let i=this.sessions.get(t);if(!i?.data.lineage)return null;let s=os(i.data.lineage,n,r);if(!s)return null;let a={...structuredClone(i.data),messages:Dt(s),lineage:s};return this.sessions.set(t,{...i,data:a}),structuredClone(a)}async setLabel(t,n,r){let i=this.sessions.get(t);if(!i?.data.lineage)return null;let s=is(i.data.lineage,n,r);if(!s)return null;let a={...structuredClone(i.data),lineage:s};return this.sessions.set(t,{...i,data:a}),structuredClone(a)}async fork(t,n,r){let i=this.sessions.get(t);if(!i?.data.lineage)return null;let s=cs(i.data.lineage,n);if(!s)return null;let a=r?.sessionId??await rs(),c={messages:Dt(s),title:r?.title??i.data.title,gitRoot:i.data.gitRoot,tag:i.data.tag,runtimeInfo:i.data.runtimeInfo?structuredClone(i.data.runtimeInfo):void 0,scope:i.data.scope??"user",extensionState:i.data.extensionState?structuredClone(i.data.extensionState):void 0,extensionRecords:i.data.extensionRecords?structuredClone(i.data.extensionRecords):void 0,lineage:s};return this.sessions.set(a,{createdAt:new Date().toISOString(),data:c}),{sessionId:a,data:structuredClone(c)}}async rewind(t,n){let r=this.sessions.get(t);if(!r?.data.lineage)return null;let i=n??ss(r.data.lineage);if(!i)return null;let s=as(r.data.lineage,i);if(!s)return null;let a={...r.data,messages:Dt(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?qo(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 qg(e,t,n){e.runtimeInfo=n,e.gitRoot=n?.workspaceRoot??e.gitRoot,t.context={...t.context,gitRoot:e.gitRoot,executionCwd:n?.executionCwd??process.cwd()}}o(qg,"applyRuntimeContext");function Uf(e,t){let n=t.runtimeSessionSnapshot;n&&("extensionState"in n&&(e.extensionState=n.extensionState?structuredClone(n.extensionState):{},e.extensionStateDirty=!0),"extensionRecords"in n&&(e.extensionRecords=n.extensionRecords?.map(r=>({...r}))??[],e.extensionRecordsDirty=!0))}o(Uf,"applyRuntimeSessionSnapshot");function Oo(e){return{...e.extensionStateDirty?{extensionState:e.extensionState??{}}:{},...e.extensionRecordsDirty?{extensionRecords:e.extensionRecords??[]}:{}}}o(Oo,"contextExtensionSessionData");function pa(e){e.extensionStateDirty=!1,e.extensionRecordsDirty=!1}o(pa,"markExtensionSessionPersisted");function MN(e,t){return e.reasoningMode?e.reasoningMode:t.reasoningMode?t.reasoningMode:(e.thinking===!0||t.thinking===!0,"auto")}o(MN,"resolveInitialReasoningMode");function AN(e,t){return e.effort??t.effort}o(AN,"resolveInitialEffort");var Zg={current:null};async function _N(e){let t=await hs({cwd:process.cwd()}),n=t.workspaceRoot??await ei()??void 0,r=e.storage??new Qg;import("./paste-4THGP5XW.js").then(M=>M.prunePasteTmpDir()).catch(()=>{});let i=uu({meta:{cwd:process.cwd(),startedAt:Date.now()}}),s=Yp(),a=e.provider??s.provider??lu,c=e.model??s.model,l=MN(e,s),d=AN(e,s),f=vu(e,s),p=e.agentMode??s.agentMode??"ama",m=l!=="off",g=nc(s.permissionMode,"accept-edits")??"accept-edits",S=Iu();g==="auto-in-project"&&S();let w=xu(),b=s.theme;b&&cl(b);let T=Ci(),v={provider:a,model:c,effort:d,effortOverride:f,planModeEffort:s.planModeEffort,thinking:m,reasoningMode:l,agentMode:p,permissionMode:g,repoIntelligenceMode:w.mode,repoIntelligenceTrace:w.trace,fallbackProviders:s.fallbackProviders},A=g,D=ps(),N=o(()=>fs(v),"resolveCurrentEffort"),O=o(M=>Zo({provider:M?.provider??v.provider,model:M?.model??v.model,effort:v.effort,effortOverride:v.effortOverride,permissionMode:M?.permissionMode??v.permissionMode,planModeEffort:v.planModeEffort,thinking:v.thinking,reasoningMode:v.reasoningMode}),"resolveCurrentRuntimeEffort"),G=o(M=>{let L=O(M);return gr({provider:M?.provider??v.provider,model:M?.model??v.model,effort:L.configuredEffort,effortOverride:v.effortOverride,thinking:v.thinking,reasoningMode:v.reasoningMode})},"formatCurrentReasoningEffortLabel"),Y=0,re="",me=!1,ue=500,y=await zc({sessionId:e.session?.id,gitRoot:n,runtimeInfo:t});y.skillDynamicContext=e.skillDynamicContext,i?.writer.update({sessionId:y.sessionId});let P=o(M=>Mo(v,M,(L,V,_)=>{console.log((L==="block"?ie.red:ie.yellow)(`
213
+ ${V}`));for(let xe of _)console.log(ie.dim(xe));console.log()}),"guardSessionTransition"),C=await MS(n??void 0),{resolveProvider:ce}=await import("./dist-EZXBR6NW.js"),Me=ce(v.provider),oe=C.contextWindow??Me.getEffectiveContextWindow?.(v.model)??Me.getContextWindow?.()??2e5,{loadAgentsFiles:X}=await import("./dist-EZXBR6NW.js"),de=o(async()=>X({cwd:process.cwd(),projectRoot:y.gitRoot??void 0}),"reloadAgentsFiles"),ke=await de();mk(v,v.permissionMode,{contextWindow:oe,triggerPercent:C.triggerPercent,enabled:C.enabled},ke),pk(t);let De=qS(()=>y.gitRoot??process.cwd()),W=hk.createInterface({input:process.stdin,output:process.stdout,terminal:process.stdout.isTTY??!0,historySize:100,completer:o((M,L)=>{De(M).then(V=>{L(null,V)}).catch(()=>{L(null,[[],M])})},"completer")}),le=Ru(),q=await Yc({askUser:o(async(M,L,V)=>(await al(W,M.name,{...M.input,...V&&V.length>0?{_classifierSignals:V}:{}},{permissionMode:A,reason:`[auto-mode] ${L}`})).confirmed?"allow":"block","askUser"),projectRoot:n??process.cwd(),getCurrentProviderName:o(()=>v.provider,"getCurrentProviderName"),getCurrentModel:o(()=>v.model,"getCurrentModel"),getCurrentPermissionMode:o(()=>A,"getCurrentPermissionMode"),autoModeSettings:le,log:o((M,L)=>{M==="warn"?console.warn(ie.yellow(L)):console.log(ie.dim(L))},"log"),onEngineChange:o(M=>{fn(A)&&ge?.update({autoModeEngine:M})},"onEngineChange"),extraCollectors:[ku]}),Be=Tu({getProvider:o(()=>ce(v.provider),"getProvider"),getModel:o(()=>v.model??"","getModel")}),pt=v.model??Hn(v.provider)??v.provider,ge=null;ik()&&(ge=new Ff(ok(y.sessionId,v.permissionMode,v.provider,pt,v.reasoningMode,N(),G({model:pt}))),fn(A)&&ge.update({autoModeEngine:q.getGuardrail().getEngine()}));let Pe=`
214
214
  Keyboard Shortcuts:
215
215
  Tab Auto-complete (@paths, /commands)
216
216
  Esc+Esc Edit last message