@kodax-ai/kodax 0.7.72 → 0.7.73
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +92 -0
- package/README.md +48 -14
- package/README_CN.md +33 -10
- package/dist/chunks/{agent-YKGU4USA.js → agent-T6PGT6AU.js} +1 -1
- package/dist/chunks/argument-completer-QGMWA2C3.js +2 -0
- package/dist/chunks/{chunk-SQODXBLX.js → chunk-64M5HOCA.js} +1 -1
- package/dist/chunks/{chunk-PKQOEDHJ.js → chunk-6JTWXGVU.js} +217 -223
- package/dist/chunks/{chunk-IR5KIK7E.js → chunk-6RI2RBTF.js} +1 -1
- package/dist/chunks/chunk-AGDDM5AW.js +329 -0
- package/dist/chunks/chunk-BUPJGG3C.js +5 -0
- package/dist/chunks/chunk-EAD4SF3Z.js +413 -0
- package/dist/chunks/chunk-F7AIEHSS.js +46 -0
- package/dist/chunks/{chunk-E27LHEIP.js → chunk-GAFFYJU3.js} +1 -1
- package/dist/chunks/chunk-HVCNAZ52.js +365 -0
- package/dist/chunks/{chunk-MVARIMQV.js → chunk-M7FXNPWV.js} +2 -2
- package/dist/chunks/{chunk-44QXPEEE.js → chunk-MBAPT2R5.js} +1 -1
- package/dist/chunks/{chunk-WIBLZK4G.js → chunk-MLEAQTCD.js} +2 -2
- package/dist/chunks/{chunk-JSDLBXME.js → chunk-OG6DRNKV.js} +63 -63
- package/dist/chunks/{chunk-2RI252RN.js → chunk-PFH53O4M.js} +1 -1
- package/dist/chunks/chunk-V4F6IYNK.js +73 -0
- package/dist/chunks/chunk-WQ6PWGK5.js +320 -0
- package/dist/chunks/chunk-XXQLPTAN.js +78 -0
- package/dist/chunks/compaction-config-IHJBP4GO.js +2 -0
- package/dist/chunks/{construction-bootstrap-ZJPXUPXQ.js → construction-bootstrap-EGRUHKLP.js} +1 -1
- package/dist/chunks/dist-5N3I2RTW.js +2 -0
- package/dist/chunks/{dist-GOUP4YVE.js → dist-EVEJAII2.js} +1 -1
- package/dist/chunks/host-MECITNE3.js +2 -0
- package/dist/chunks/run-manager-AY7RQOWM.js +2 -0
- package/dist/chunks/{utils-OTT5CG5J.js → utils-2GAE4XIM.js} +1 -1
- package/dist/index.d.ts +16 -16
- package/dist/index.js +5 -5
- package/dist/kodax_cli.js +1341 -1320
- package/dist/provider-capabilities.json +184 -5
- package/dist/runtime-worker.js +1227 -1216
- package/dist/sdk-a2a.d.ts +10 -10
- package/dist/sdk-a2a.js +1 -1
- package/dist/sdk-agent.d.ts +13 -13
- package/dist/sdk-agent.js +1 -1
- package/dist/sdk-coding.d.ts +96 -30
- package/dist/sdk-coding.js +1 -1
- package/dist/sdk-experimental-memory.d.ts +1 -1
- package/dist/sdk-experimental-memory.js +1 -1
- package/dist/sdk-llm.d.ts +8 -49
- package/dist/sdk-llm.js +1 -1
- package/dist/sdk-mcp.js +1 -1
- package/dist/sdk-media.d.ts +1 -1
- package/dist/sdk-media.js +1 -1
- package/dist/sdk-repl.d.ts +138 -16
- package/dist/sdk-repl.js +2 -2
- package/dist/sdk-runtime.d.ts +99 -17
- package/dist/sdk-runtime.js +1 -1
- package/dist/sdk-session.d.ts +6 -6
- package/dist/sdk-session.js +1 -1
- package/dist/sdk-skills.js +1 -1
- package/dist/semantic-worker.js +10 -10
- package/dist/types-chunks/{base.d-Cz_rwpOi.d.ts → base.d-ChvpaKjZ.d.ts} +1 -1
- package/dist/types-chunks/{bash-prefix-extractor.d-CHJO5y94.d.ts → bash-prefix-extractor.d-bApf5nGw.d.ts} +3 -3
- package/dist/types-chunks/{capability-learning.d-_lR0J4iR.d.ts → capability-learning.d-DPrYxRjF.d.ts} +1 -1
- package/dist/types-chunks/{capsule.d-DxtdE-GD.d.ts → capsule.d-CGWltwno.d.ts} +2 -2
- package/dist/types-chunks/{commands.d-DZxHzH5-.d.ts → commands.d-CEHGwRok.d.ts} +62 -6
- package/dist/types-chunks/{guardrail.d-DlpMnd-Y.d.ts → guardrail.d-CC4vAQl7.d.ts} +2 -1
- package/dist/types-chunks/{guardrail.d-auV61_h5.d.ts → guardrail.d-CXIPlWP3.d.ts} +10 -10
- package/dist/types-chunks/{public-api.d--IDNJsu1.d.ts → public-api.d-FBmX0kxo.d.ts} +4 -3
- package/dist/types-chunks/{run-manager.d-Bh50OdVl.d.ts → run-manager.d-DUNnJcpE.d.ts} +1 -1
- package/dist/types-chunks/{sdk-session-Cfw6NFu-.d.ts → sdk-session-XqacVOs8.d.ts} +3 -3
- package/dist/types-chunks/{resolver.d-ssgNSlrh.d.ts → side-query.d-DWTMsndP.d.ts} +68 -5
- package/dist/types-chunks/{types.d-DH1mvdcl.d.ts → types.d-BnPhGmar.d.ts} +3 -1
- package/dist/types-chunks/{types.d-Cqaw71Ax.d.ts → types.d-CSmF0t0n.d.ts} +6 -5
- package/dist/types-chunks/{types.d-EqQmHztg.d.ts → types.d-DKr6TCXL.d.ts} +16 -9
- package/dist/types-chunks/{types.d-CNZgY52F.d.ts → types.d-DgciGHoG.d.ts} +2 -2
- package/dist/types-chunks/{utils.d-gmn3c5U4.d.ts → utils.d-BPYX7-KN.d.ts} +94 -10
- package/docs/SDK_EMBEDDER_GUIDE.md +128 -21
- package/package.json +2 -2
- package/dist/chunks/argument-completer-QZETLNAB.js +0 -2
- package/dist/chunks/chunk-23X6REO4.js +0 -46
- package/dist/chunks/chunk-CLFP6UGU.js +0 -71
- package/dist/chunks/chunk-EDZ5KJFT.js +0 -5
- package/dist/chunks/chunk-GIK4SGAT.js +0 -364
- package/dist/chunks/chunk-GVWPHE23.js +0 -310
- package/dist/chunks/chunk-VDGCGOQH.js +0 -328
- package/dist/chunks/chunk-VVE3UM4F.js +0 -410
- package/dist/chunks/chunk-ZJIMT5I3.js +0 -78
- package/dist/chunks/compaction-config-TWCDFLX6.js +0 -2
- package/dist/chunks/dist-JT4ATXVM.js +0 -2
- package/dist/chunks/host-SVEDZUC5.js +0 -2
- package/dist/chunks/run-manager-RX42UNEM.js +0 -2
|
@@ -1,310 +0,0 @@
|
|
|
1
|
-
// @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
|
|
2
|
-
import{$ as xi,A as Ed,Aa as Si,B as gT,Ba as wi,C as js,Ca as eh,D as Md,Da as WT,E as yT,F as Ad,Fa as th,G as _c,Ga as jd,H as qm,Ha as FT,I as ST,Ia as jT,J as Qm,K as Io,L as _d,M as Us,N as Ld,O as Pd,P as wT,Q as TT,R as Gs,S as CT,T as bo,U as IT,V as Cr,W as $d,X as Dd,Y as Nn,Z as Ir,_ as Jm,a as er,aa as vo,b as F,ba as Lc,c as wA,ca as Od,d as ln,da as bT,e as Td,ea as vT,f as Bw,fa as RT,g as tr,ga as kT,h as Cd,ha as ET,i as Id,ia as MT,j as zr,ja as Nd,k as Ps,ka as Bd,l as Hw,la as Pc,m as $s,ma as Hd,n as qr,na as Wd,o as uT,oa as Fd,p as Qr,pa as AT,q as Hs,qa as _T,r as dT,ra as LT,s as Ws,sa as Zm,t as kd,ta as PT,u as fT,ua as $T,v as pT,va as DT,w as mT,wa as OT,x as Co,xa as NT,y as Fs,ya as BT,z as hT,za as HT}from"./chunk-PKQOEDHJ.js";import{A as eT,F as tT,G as To,H as gi,K as nT,L as rT,M as oT,N as iT,O as sT,P as aT,Q as cT,T as bd,U as yi,V as vd,W as Os,X as Ns,Y as Bs,Z as Rd,_ as Xr,a as se,b as Ww,c as Fw,ca as lT,d as Ds,e as jw,f as Uw,g as mi,h as Gw,i as Vw,j as Kw,k as Ac,l as zw,m as Yw,n as Yr,o as Xw,p as qw,q as Qw,s as Jw,t as Zw,u as hi,v as Tr}from"./chunk-WIBLZK4G.js";import{a as xT}from"./chunk-2RI252RN.js";import{Aa as wd,K as Lw,L as Pw,N as Xm,O as $w,P as Dw,ba as Ow,c as Km,n as xd,o as Sd,v as _w,w as Mc,xa as Nw}from"./chunk-VVE3UM4F.js";import{J as Ew}from"./chunk-MVARIMQV.js";import{Ba as Mw,Ca as Aw,b as Ec,c as uw,q as kw}from"./chunk-VDGCGOQH.js";import{$c as bw,Ca as Tw,Gc as gd,Jc as Iw,_a as Cw,dd as vw,e as Ls,ed as yd,fd as Rw,pa as hd,r as ww}from"./chunk-GIK4SGAT.js";import{Ma as di,ka as Ju,wa as lw,ya as Vm}from"./chunk-ZJIMT5I3.js";import{Bc as ad,Cc as cd,Dc as ld,Ec as vs,Ga as fw,Jc as yw,Mc as mt,Oc as Ht,Qc as Rs,Rc as ks,Sc as ud,Uc as Es,Vc as Ms,Wc as As,Xc as dd,Ya as zm,Yc as pi,Za as wr,Zc as xw,ab as Ym,ed as fd,fd as _s,k as bs,mb as pw,pd as Sw,r as dw,rb as od,sd as pd,tb as mw,td as md}from"./chunk-JSDLBXME.js";import{W as id,X as sd,b as Lt,e as fi,f as wo,t as hw,u as gw}from"./chunk-E27LHEIP.js";import{b as Zu,j as ed,k as td,o as nd,w as On,y as rd}from"./chunk-EDZ5KJFT.js";import{a as o,c as SA}from"./chunk-ONUPGMER.js";import{spawnSync as TA}from"node:child_process";function Ud(e){return e==="1"||e?.toLowerCase()==="true"}o(Ud,"isTruthyEnv");function UT(e){return e==="0"||e?.toLowerCase()==="false"}o(UT,"isFalseyEnv");function Ti(e=process.env){return e.TERM_PROGRAM?.toLowerCase()==="vscode"||!!e.VSCODE_GIT_IPC_HANDLE||!!e.VSCODE_INJECTION}o(Ti,"isVsCodeTerminalHostEnv");function Ci(e={}){let t=e.env??process.env;return(e.platform??process.platform)==="win32"||!!t.WT_SESSION}o(Ci,"hasCursorUpViewportYankRisk");function CA(e){return!!(e.SSH_CONNECTION||e.SSH_CLIENT||e.SSH_TTY)}o(CA,"isSshSession");function Vs(e={}){let t=e.env??process.env;return Ud(t.KODAX_FULLSCREEN)?!1:(e.platform??process.platform)==="win32"&&CA(t)}o(Vs,"isRemoteConptyHost");function $c(e={}){let t=e.env??process.env;return Ci(e)||Ti(t)}o($c,"hasMainScreenRenderScrollRisk");function IA(e){if(!e.TMUX||e.TERM_PROGRAM!=="iTerm.app")return!1;let t=e.TERM??"";return!t.startsWith("screen")&&!t.startsWith("tmux")}o(IA,"isTmuxControlModeEnvHeuristic");var Jr;function Ks(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(IA(t))return!0;if(!(t===process.env&&n===process.platform))return!1;if(Jr!==void 0||(Jr=!1,!t.TMUX)||t.TERM_PROGRAM&&t.TERM_PROGRAM!=="iTerm.app")return Jr;try{let i=TA("tmux",["display-message","-p","#{client_control_mode}"],{encoding:"utf8",timeout:2e3});i.status===0&&(Jr=i.stdout.trim()==="1")}catch{Jr=!1}return Jr}o(Ks,"isTmuxControlMode");function Gd(){Jr=void 0}o(Gd,"resetTmuxControlModeProbeForTesting");function Ro(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":Ks(e)?"tmux_control_mode":Ti(t)?"xtermjs_host":Vs(e)?"remote_conpty_host":Ci(e)?"degraded_vt":"native_vt"}o(Ro,"detectTerminalRenderHost");var ko=Ro;function Ii(e={}){let t=e.env??process.env;if(Ud(t.KODAX_FORCE_INK))return"legacy";let n=t.KODAX_TUI_RENDERER?.trim().toLowerCase();return n==="legacy"||n==="owned"||n==="auto"?n:"auto"}o(Ii,"resolveConfiguredTuiRendererMode");function Eo(e={}){let t=Ii(e);if(t==="legacy"||t==="owned")return t;let n=Ro(e);return n==="unsupported_control_host"||n==="tmux_control_mode"?"legacy":"owned"}o(Eo,"resolveEffectiveTuiRendererMode");function Dc(e={}){let t=e.env??process.env;if(Ud(t.KODAX_FORCE_CLASSIC_REPL))return"classic";let n=Ii({env:t});if(n==="legacy"||n==="owned")return"ink";let r=Ro(e);return r==="unsupported_control_host"||r==="tmux_control_mode"?"classic":"ink"}o(Dc,"resolveInteractiveSurfacePreference");var bA={enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!0},GT={enabled:!0,promptShell:"main-screen",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!1,transcriptSpinnerAnimation:!0};function Mo(e,t="owned",n={}){let r=n.env??process.env;return UT(r.KODAX_FULLSCREEN)?t==="owned"&&e!=="tmux_control_mode"&&e!=="unsupported_control_host"?GT:bA:vA(e,t)}o(Mo,"resolveFullscreenPolicy");function vA(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 GT;default:return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1}}}o(vA,"buildFullscreenPolicy");function bi(e,t={}){let n=t.rendererMode??"owned",r=Mo(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(bi,"getTerminalHostCapabilities");function Oc(e={}){return Eo(e)==="owned"}o(Oc,"isOwnedRendererPreferred");function Nc(e={}){let t=e.env??process.env;return Ud(t.KODAX_FORCE_CLASSIC_REPL)&&!UT(t.KODAX_FORCE_CLASSIC_REPL)}o(Nc,"isClassicReplForced");var vi=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}},nh=1,rh=2,RA=1e3,VT;function Kd(){if(!(typeof Intl>"u"||typeof Intl.Segmenter!="function"))return VT??=new Intl.Segmenter("en",{granularity:"grapheme"}),VT}o(Kd,"getGraphemeSegmenter");function mn(e){if(!e)return 0;let t=Kd();if(t){let n=0;for(let r of t.segment(e))n++;return n}return[...e].length}o(mn,"getCodePointLength");function nr(e){if(!e)return!1;let t=e.codePointAt(0);return t===void 0?!1:t>=19968&&t<=40959||t>=13312&&t<=19903||t>=63744&&t<=64255||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=44032&&t<=55215||t>=12288&&t<=12351||t>=65280&&t<=65519||t>=128512&&t<=128591||t>=127744&&t<=128511||t>=128640&&t<=128767||t>=127456&&t<=127487||t>=9728&&t<=9983||t>=9984&&t<=10175||t>=129280&&t<=129535||t>=129536&&t<=129647||t>=129648&&t<=129791}o(nr,"isWideChar");function rr(e){if(!e)return 0;let t=0,n=Kd();if(n)for(let r of n.segment(e))t+=nr(r.segment)?rh:nh;else for(let r of e)t+=nr(r)?rh:nh;return t}o(rr,"getVisualWidth");function KT(e,t){if(!e||t<0)return"";let n=Kd();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(KT,"getCharAtCodePoint");function un(e){if(!e)return[];let t=Kd();if(t){let n=[];for(let r of t.segment(e))n.push(r.segment);return n}return[...e]}o(un,"splitByCodePoints");function kA(e,t,n){return un(e).slice(t,n).join("")}o(kA,"sliceByCodePoints");function zT(e,t){let n=Math.max(0,t),r=un(e),i=0,s=0;for(;i<r.length;){let a=nr(r[i])?rh:nh;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(zT,"splitAtVisualColumn");function zs(e,t,n=!1){if(!e||t<=0)return"";let r="\u2026",s=n?t-1:t,a="",c=0,l=un(e);for(let d of l){let f=nr(d)?2:1;if(c+f>s)break;a+=d,c+=f}return n&&a.length<e.length&&(a+=r),a}o(zs,"truncateByVisualWidth");var Vd=new vi(RA);function zd(e){let t=Vd.get(e);if(t!==void 0)return t;let n=rr(e);return Vd.set(e,n),n}o(zd,"getVisualWidthCached");function dn(e,t,n,r){let i=[],s=[],a=[];for(let c=0;c<e.length;c++){let l=e[c]||"";if(s[c]=[],l.length===0){i.push("");let p=i.length-1;s[c].push([p,0]),a.push([c,0]);continue}let d=0,f=un(l);for(;d<f.length;){let p="",h=0,g=d,T=-1;for(let v=d;v<f.length;v++){let C=f[v],S=nr(C)?2:1;if(h+S>t){T>=0&&v-d>0?(p=f.slice(d,T).join(""),h=f.slice(d,T).reduce((w,M)=>w+(nr(M)?2:1),0),g=T):p.length===0&&S>t&&(p=C,h=S,g=v+1);break}p+=C,h+=S,g=v+1,C===" "&&(T=v+1)}if(p.length>0||i.length===0){let v=d,C=i.length;i.push(p),s[c].push([C,v]),a.push([c,v])}d=g}}return{visualLines:i,logicalToVisualMap:s,visualToLogicalMap:a}}o(dn,"calculateVisualLayout");function Yd(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,T]of a)if(T<=s)c=[g,T];else break;let[l,d]=c??a[0],f=r[l]??"",p=Math.max(0,s-d),h=rr(kA(f,0,p));return[l,h]}o(Yd,"calculateVisualCursorFromLayout");var Xd={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"]}},oh={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 ih={dark:Xd,minimal:oh};function oe(e="dark"){return ih[e]??Xd}o(oe,"getTheme");function EA(){return Object.keys(ih)}o(EA,"getThemeNames");import{jsx as yn,jsxs as Hn,Fragment as OP}from"react/jsx-runtime";import{useMemo as vf}from"react";import{jsx as EI}from"react/jsx-runtime";import{createContext as dP,useContext as Pi,useEffect as na,useMemo as kI,useState as fP,useCallback as MI,useRef as yf}from"react";import{Stream as FL}from"node:stream";import{openSync as jL,writeSync as hI}from"node:fs";import{performance as UL}from"node:perf_hooks";import{tmpdir as GL}from"node:os";import{join as VL}from"node:path";import sh,{forwardRef as _A,useContext as LA}from"react";import{createContext as MA}from"react";var Ys=MA({isScreenReaderEnabled:!1});import{createContext as AA}from"react";var qd=AA(void 0);var YT=_A(({children:e,backgroundColor:t,"aria-label":n,"aria-hidden":r,"aria-role":i,"aria-state":s,...a},c)=>{let{isScreenReaderEnabled:l}=LA(Ys),d=n?sh.createElement("ink-text",null,n):void 0;if(l&&r)return null;let f=sh.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?sh.createElement(qd.Provider,{value:t},f):f});YT.displayName="Box";var Bn=YT;import OA,{useContext as XT}from"react";import Xs from"chalk";import Ao from"chalk";var PA=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,$A=/^ansi256\(\s?(\d+)\s?\)$/;function DA(e){return e in Ao}o(DA,"isNamedColor");function or(e,t,n){if(!t)return e;if(DA(t)){let r=Ao;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"?Ao.hex(t)(e):Ao.bgHex(t)(e);if(t.startsWith("ansi256")){let r=$A.exec(t);if(!r)return e;let i=Number(r[1]);return n==="foreground"?Ao.ansi256(i)(e):Ao.bgAnsi256(i)(e)}if(t.startsWith("rgb")){let r=PA.exec(t);if(!r)return e;let i=Number(r[1]),s=Number(r[2]),a=Number(r[3]);return n==="foreground"?Ao.rgb(i,s,a)(e):Ao.bgRgb(i,s,a)(e)}return e}o(or,"colorize");function hn({color:e,backgroundColor:t,dimColor:n=!1,bold:r=!1,italic:i=!1,underline:s=!1,strikethrough:a=!1,inverse:c=!1,wrap:l="wrap",children:d,"aria-label":f,"aria-hidden":p=!1,internal_cursorAnchor:h=!1}){let{isScreenReaderEnabled:g}=XT(Ys),T=XT(qd),v=g&&f?f:d;if(v==null)return null;let C=o(S=>{let w=S;n&&(w=Xs.dim(w)),e&&(w=or(w,e,"foreground"));let M=t??T;return M&&(w=or(w,M,"background")),r&&(w=Xs.bold(w)),i&&(w=Xs.italic(w)),s&&(w=Xs.underline(w)),a&&(w=Xs.strikethrough(w)),c&&(w=Xs.inverse(w)),w},"transform");return g&&p?null:OA.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:l},internal_transform:C,...h?{internal_cursorAnchor:!0}:{}},g&&f?f:d)}o(hn,"Text");import NA,{useLayoutEffect as BA,useMemo as qT,useState as HA}from"react";function ah({items:e,children:t,style:n}){let[r,i]=HA(0),s=qT(()=>e.slice(r),[e,r]);BA(()=>{i(e.length)},[e.length]);let a=s.map((l,d)=>t(l,r+d)),c=qT(()=>({position:"absolute",flexDirection:"column",...n}),[n]);return NA.createElement("ink-box",{internal_static:!0,style:c},a)}o(ah,"Static");import _i from"node:process";import fI from"react";import{throttle as CL}from"es-toolkit/compat";import gn from"ansi-escapes";import io from"is-in-ci";import IL from"auto-bind";import{onExit as bL}from"signal-exit";import vL from"patch-console";import{LegacyRoot as RL,ConcurrentRoot as kL}from"react-reconciler/constants.js";import EL from"yoga-layout";import ML from"wrap-ansi";import AL from"terminal-size";import WA from"node:process";var Qd=o(()=>WA.env.DEV==="true","isDev");import p_ from"react-reconciler";import{DefaultEventPriority as m_,NoEventPriority as fC}from"react-reconciler/constants.js";import*as _o from"scheduler";import cC from"yoga-layout";import{createContext as h_}from"react";import t_ from"yoga-layout";import FA from"widest-line";var QT=new Map,jA=o(e=>{if(e.length===0)return{width:0,height:0};let t=QT.get(e);if(t)return t;let n=FA(e),r=e.split(`
|
|
3
|
-
`).length,i={width:n,height:r};return QT.set(e,i),i},"measureText"),ch=jA;import UA from"wrap-ansi";import GA from"cli-truncate";var JT={},VA=o((e,t,n)=>{let r=e+String(t)+String(n),i=JT[r];if(i)return i;let s=e;if(n==="wrap"&&(s=UA(e,t,{trim:!1,hard:!0})),n.startsWith("truncate")){let a="end";n==="truncate-middle"&&(a="middle"),n==="truncate-start"&&(a="start"),s=GA(e,t,{position:a})}return JT[r]=s,s},"wrapText"),Jd=VA;var KA=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=63},"isCsiParameterCharacter"),zA=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isCsiIntermediateCharacter"),YA=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=64&&t<=126},"isCsiFinalCharacter"),tC=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isEscapeIntermediateCharacter"),XA=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=126},"isEscapeFinalCharacter"),nC=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=128&&t<=159},"isC1ControlCharacter"),ZT=o((e,t)=>{let n=t;for(;n<e.length;){let c=e[n];if(!KA(c))break;n++}let r=e.slice(t,n),i=n;for(;n<e.length;){let c=e[n];if(!zA(c))break;n++}let s=e.slice(i,n),a=e[n];if(!(a===void 0||!YA(a)))return{endIndex:n+1,parameterString:r,intermediateString:s,finalCharacter:a}},"readCsiSequence"),eC=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"),qA=o((e,t)=>{let n=t;for(;n<e.length;){let s=e[n];if(!tC(s))break;n++}let r=e.slice(t,n),i=e[n];if(!(i===void 0||!XA(i)))return{endIndex:n+1,intermediateString:r,finalCharacter:i}},"readEscapeSequence"),QA=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"),JA=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"),lh=o(e=>{if(e.includes("\x1B"))return!0;for(let t of e)if(nC(t))return!0;return!1},"hasAnsiControlCharacters"),qs=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"),rC=o(e=>{if(!lh(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 qs(t,e,n,r);if(a==="["){let d=ZT(e,r+2);if(d===void 0)return qs(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=QA(a);if(c!==void 0){let d=eC(e,r+2,c.allowBellTerminator);if(d===void 0)return qs(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=qA(e,r+1);if(l===void 0){if(tC(a))return qs(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=ZT(e,r+1);if(a===void 0)return qs(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=JA(i);if(s!==void 0){let a=eC(e,r+1,s.allowBellTerminator);if(a===void 0)return qs(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(nC(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 ZA=/^[\d:;]*$/,e_=o(e=>{if(!lh(e))return e;let t="";for(let n of rC(e)){if(n.type==="text"||n.type==="osc"){t+=n.value;continue}n.type==="csi"&&n.finalCharacter==="m"&&n.intermediateString===""&&ZA.test(n.parameterString)&&(t+=n.value)}return t},"sanitizeAnsi"),oC=e_;var iC=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=iC(r)),i.length>0&&typeof r.internal_transform=="function"&&(i=r.internal_transform(i,n))),t+=i}return oC(t)},"squashTextNodes"),Bc=iC;var Zd=o(e=>{let t={nodeName:e,style:{},attributes:{},childNodes:[],parentNode:void 0,yogaNode:e==="ink-virtual-text"?void 0:t_.Node.create(),internal_accessibility:{}};return e==="ink-text"&&t.yogaNode?.setMeasureFunc(n_.bind(null,t)),t},"createNode"),ef=o((e,t)=>{t.parentNode&&Hc(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")&&tf(e)},"appendChildNode"),uh=o((e,t,n)=>{t.parentNode&&Hc(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")&&tf(e)},"insertBeforeNode"),Hc=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")&&tf(e)},"removeChildNode"),dh=o((e,t,n)=>{if(t==="internal_accessibility"){e.internal_accessibility=n;return}e.attributes[t]=n},"setAttribute"),fh=o((e,t)=>{e.style=t},"setStyle"),sC=o(e=>{let t={nodeName:"#text",nodeValue:e,yogaNode:void 0,parentNode:void 0,style:{}};return Wc(t,e),t},"createTextNode"),n_=o(function(e,t){let n=e.nodeName==="#text"?e.nodeValue:Bc(e),r=ch(n);if(r.width<=t||r.width>=1&&t>0&&t<1)return r;let i=e.style?.textWrap??"wrap",s=Jd(n,t,i);return ch(s)},"measureTextNode"),aC=o(e=>{if(e?.parentNode)return e.yogaNode??aC(e.parentNode)},"findClosestYogaNode"),tf=o(e=>{aC(e)?.markDirty()},"markNodeAsDirty"),Wc=o((e,t)=>{typeof t!="string"&&(t=String(t)),e.nodeValue=t,tf(e)},"setTextNodeValue");import Ee from"yoga-layout";var o_=o((e,t)=>{"position"in t&&e.setPositionType(t.position==="absolute"?Ee.POSITION_TYPE_ABSOLUTE:Ee.POSITION_TYPE_RELATIVE),"top"in t&&e.setPosition(Ee.EDGE_TOP,t.top??0),"bottom"in t&&e.setPosition(Ee.EDGE_BOTTOM,t.bottom??0),"left"in t&&e.setPosition(Ee.EDGE_LEFT,t.left??0),"right"in t&&e.setPosition(Ee.EDGE_RIGHT,t.right??0)},"applyPositionStyles"),i_=o((e,t)=>{"margin"in t&&e.setMargin(Ee.EDGE_ALL,t.margin??0),"marginX"in t&&e.setMargin(Ee.EDGE_HORIZONTAL,t.marginX??0),"marginY"in t&&e.setMargin(Ee.EDGE_VERTICAL,t.marginY??0),"marginLeft"in t&&e.setMargin(Ee.EDGE_START,t.marginLeft||0),"marginRight"in t&&e.setMargin(Ee.EDGE_END,t.marginRight||0),"marginTop"in t&&e.setMargin(Ee.EDGE_TOP,t.marginTop||0),"marginBottom"in t&&e.setMargin(Ee.EDGE_BOTTOM,t.marginBottom||0)},"applyMarginStyles"),s_=o((e,t)=>{"padding"in t&&e.setPadding(Ee.EDGE_ALL,t.padding??0),"paddingX"in t&&e.setPadding(Ee.EDGE_HORIZONTAL,t.paddingX??0),"paddingY"in t&&e.setPadding(Ee.EDGE_VERTICAL,t.paddingY??0),"paddingLeft"in t&&e.setPadding(Ee.EDGE_LEFT,t.paddingLeft||0),"paddingRight"in t&&e.setPadding(Ee.EDGE_RIGHT,t.paddingRight||0),"paddingTop"in t&&e.setPadding(Ee.EDGE_TOP,t.paddingTop||0),"paddingBottom"in t&&e.setPadding(Ee.EDGE_BOTTOM,t.paddingBottom||0)},"applyPaddingStyles"),a_=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(Ee.WRAP_NO_WRAP),t.flexWrap==="wrap"&&e.setFlexWrap(Ee.WRAP_WRAP),t.flexWrap==="wrap-reverse"&&e.setFlexWrap(Ee.WRAP_WRAP_REVERSE)),"flexDirection"in t&&(t.flexDirection==="row"&&e.setFlexDirection(Ee.FLEX_DIRECTION_ROW),t.flexDirection==="row-reverse"&&e.setFlexDirection(Ee.FLEX_DIRECTION_ROW_REVERSE),t.flexDirection==="column"&&e.setFlexDirection(Ee.FLEX_DIRECTION_COLUMN),t.flexDirection==="column-reverse"&&e.setFlexDirection(Ee.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in t&&(typeof t.flexBasis=="number"?e.setFlexBasis(t.flexBasis):typeof t.flexBasis=="string"?e.setFlexBasisPercent(Number.parseInt(t.flexBasis,10)):e.setFlexBasis(Number.NaN)),"alignItems"in t&&((t.alignItems==="stretch"||!t.alignItems)&&e.setAlignItems(Ee.ALIGN_STRETCH),t.alignItems==="flex-start"&&e.setAlignItems(Ee.ALIGN_FLEX_START),t.alignItems==="center"&&e.setAlignItems(Ee.ALIGN_CENTER),t.alignItems==="flex-end"&&e.setAlignItems(Ee.ALIGN_FLEX_END)),"alignSelf"in t&&((t.alignSelf==="auto"||!t.alignSelf)&&e.setAlignSelf(Ee.ALIGN_AUTO),t.alignSelf==="flex-start"&&e.setAlignSelf(Ee.ALIGN_FLEX_START),t.alignSelf==="center"&&e.setAlignSelf(Ee.ALIGN_CENTER),t.alignSelf==="flex-end"&&e.setAlignSelf(Ee.ALIGN_FLEX_END)),"justifyContent"in t&&((t.justifyContent==="flex-start"||!t.justifyContent)&&e.setJustifyContent(Ee.JUSTIFY_FLEX_START),t.justifyContent==="center"&&e.setJustifyContent(Ee.JUSTIFY_CENTER),t.justifyContent==="flex-end"&&e.setJustifyContent(Ee.JUSTIFY_FLEX_END),t.justifyContent==="space-between"&&e.setJustifyContent(Ee.JUSTIFY_SPACE_BETWEEN),t.justifyContent==="space-around"&&e.setJustifyContent(Ee.JUSTIFY_SPACE_AROUND),t.justifyContent==="space-evenly"&&e.setJustifyContent(Ee.JUSTIFY_SPACE_EVENLY))},"applyFlexStyles"),c_=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"),l_=o((e,t)=>{"display"in t&&e.setDisplay(t.display==="flex"?Ee.DISPLAY_FLEX:Ee.DISPLAY_NONE)},"applyDisplayStyles"),u_=o((e,t)=>{if("borderStyle"in t){let n=t.borderStyle?1:0;t.borderTop!==!1&&e.setBorder(Ee.EDGE_TOP,n),t.borderBottom!==!1&&e.setBorder(Ee.EDGE_BOTTOM,n),t.borderLeft!==!1&&e.setBorder(Ee.EDGE_LEFT,n),t.borderRight!==!1&&e.setBorder(Ee.EDGE_RIGHT,n)}},"applyBorderStyles"),d_=o((e,t)=>{"gap"in t&&e.setGap(Ee.GUTTER_ALL,t.gap??0),"columnGap"in t&&e.setGap(Ee.GUTTER_COLUMN,t.columnGap??0),"rowGap"in t&&e.setGap(Ee.GUTTER_ROW,t.rowGap??0)},"applyGapStyles"),f_=o((e,t={})=>{o_(e,t),i_(e,t),s_(e,t),a_(e,t),c_(e,t),l_(e,t),u_(e,t),d_(e,t)},"styles"),ph=f_;if(Qd())try{await import("./devtools-CD6KSIHE.js")}catch(e){if(e.code==="ERR_MODULE_NOT_FOUND")console.warn(`
|
|
4
|
-
The environment variable DEV is set to true, so Ink tried to import \`react-devtools-core\`,
|
|
5
|
-
but this failed as it was not installed. Debugging with React Devtools requires it.
|
|
6
|
-
|
|
7
|
-
To install use this command:
|
|
8
|
-
|
|
9
|
-
$ npm install --save-dev react-devtools-core
|
|
10
|
-
`.trim()+`
|
|
11
|
-
`);else throw e}var lC=o((e,t)=>{if(e===t)return;if(!e)return t;let n={},r=!1;for(let i of Object.keys(e))(!t||!Object.hasOwn(t,i))&&(n[i]=void 0,r=!0);if(t)for(let i of Object.keys(t))t[i]!==e[i]&&(n[i]=t[i],r=!0);return r?n:void 0},"diff"),uC=o(e=>{e?.unsetMeasureFunc(),e?.freeRecursive()},"cleanupYogaNode"),nf=fC,mh,dC={name:void 0,version:void 0},Zr=p_({getRootHostContext:o(()=>({isInsideText:!1}),"getRootHostContext"),prepareForCommit:o(()=>null,"prepareForCommit"),preparePortalMount:o(()=>null,"preparePortalMount"),clearContainer:o(()=>!1,"clearContainer"),resetAfterCommit(e){if(typeof e.onComputeLayout=="function"&&e.onComputeLayout(),e.isStaticDirty){e.isStaticDirty=!1,typeof e.onImmediateRender=="function"&&e.onImmediateRender();return}typeof e.onRender=="function"&&e.onRender()},getChildHostContext(e,t){let n=e.isInsideText,r=t==="ink-text"||t==="ink-virtual-text";return n===r?e:{isInsideText:r}},shouldSetTextContent:o(()=>!1,"shouldSetTextContent"),createInstance(e,t,n,r){if(r.isInsideText&&e==="ink-box")throw new Error("<Box> can\u2019t be nested inside <Text> component");let i=e==="ink-text"&&r.isInsideText?"ink-virtual-text":e,s=Zd(i);for(let[a,c]of Object.entries(t))if(a!=="children"){if(a==="style"){fh(s,c),s.yogaNode&&ph(s.yogaNode,c);continue}if(a==="internal_transform"){s.internal_transform=c;continue}if(a==="internal_cursorAnchor"){s.internal_cursorAnchor=c;continue}if(a==="internal_static"){mh=n,s.internal_static=!0,n.isStaticDirty=!0,n.staticNode=s;continue}dh(s,a,c)}return s},createTextInstance(e,t,n){if(!n.isInsideText)throw new Error(`Text string "${e}" must be rendered inside <Text> component`);return sC(e)},resetTextContent(){},hideTextInstance(e){Wc(e,"")},unhideTextInstance(e,t){Wc(e,t)},getPublicInstance:o(e=>e,"getPublicInstance"),hideInstance(e){e.yogaNode?.setDisplay(cC.DISPLAY_NONE)},unhideInstance(e){e.yogaNode?.setDisplay(cC.DISPLAY_FLEX)},appendInitialChild:ef,appendChild:ef,insertBefore:uh,finalizeInitialChildren(){return!1},isPrimaryRenderer:!0,supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,supportsMicrotasks:!0,scheduleMicrotask:queueMicrotask,scheduleCallback:_o.unstable_scheduleCallback,cancelCallback:_o.unstable_cancelCallback,shouldYield:_o.unstable_shouldYield,now:_o.unstable_now,scheduleTimeout:setTimeout,cancelTimeout:clearTimeout,noTimeout:-1,beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},detachDeletedInstance(){},getInstanceFromNode:o(()=>null,"getInstanceFromNode"),prepareScopeUpdate(){},getInstanceFromScope:o(()=>null,"getInstanceFromScope"),appendChildToContainer:ef,insertInContainerBefore:uh,removeChildFromContainer(e,t){Hc(e,t),uC(t.yogaNode)},commitUpdate(e,t,n,r){mh&&e.internal_static&&(mh.isStaticDirty=!0);let i=lC(n,r),s=lC(n.style,r.style);if(!(!i&&!s)){if(i)for(let[a,c]of Object.entries(i)){if(a==="style"){fh(e,c);continue}if(a==="internal_transform"){e.internal_transform=c;continue}if(a==="internal_cursorAnchor"){e.internal_cursorAnchor=c;continue}if(a==="internal_static"){e.internal_static=!0;continue}dh(e,a,c)}s&&e.yogaNode&&ph(e.yogaNode,s)}},commitTextUpdate(e,t,n){Wc(e,n)},removeChild(e,t){Hc(e,t),uC(t.yogaNode)},setCurrentUpdatePriority(e){nf=e},getCurrentUpdatePriority:o(()=>nf,"getCurrentUpdatePriority"),resolveUpdatePriority(){return nf!==fC?nf:m_},maySuspendCommit(){return!0},NotPendingTransition:void 0,HostTransitionContext:h_(null),resetFormInstance(){},requestPostPaintCallback(){},shouldAttemptEagerTransition(){return!1},trackSchedulerEvent(){},resolveEventType(){return null},resolveEventTimeStamp(){return-1.1},preloadInstance(){return!0},startSuspendingCommit(){},suspendInstance(){},waitForCommitToBeReady(){return null},rendererPackageName:dC.name,rendererVersion:dC.version});import w_ from"widest-line";import T_ from"indent-string";import Lo from"yoga-layout";import rf from"yoga-layout";var g_=o(e=>e.getComputedWidth()-e.getComputedPadding(rf.EDGE_LEFT)-e.getComputedPadding(rf.EDGE_RIGHT)-e.getComputedBorder(rf.EDGE_LEFT)-e.getComputedBorder(rf.EDGE_RIGHT),"getMaxWidth"),pC=g_;import y_ from"cli-boxes";import of from"chalk";var x_=o((e,t,n,r)=>{if(n.style.borderStyle){let i=n.yogaNode.getComputedWidth(),s=n.yogaNode.getComputedHeight(),a=typeof n.style.borderStyle=="string"?y_[n.style.borderStyle]:n.style.borderStyle,c=n.style.borderTopColor??n.style.borderColor,l=n.style.borderBottomColor??n.style.borderColor,d=n.style.borderLeftColor??n.style.borderColor,f=n.style.borderRightColor??n.style.borderColor,p=n.style.borderTopDimColor??n.style.borderDimColor,h=n.style.borderBottomDimColor??n.style.borderDimColor,g=n.style.borderLeftDimColor??n.style.borderDimColor,T=n.style.borderRightDimColor??n.style.borderDimColor,v=n.style.borderTop!==!1,C=n.style.borderBottom!==!1,S=n.style.borderLeft!==!1,w=n.style.borderRight!==!1,M=i-(S?1:0)-(w?1:0),L=v?or((S?a.topLeft:"")+a.top.repeat(M)+(w?a.topRight:""),c,"foreground"):void 0;v&&p&&(L=of.dim(L));let A=s;v&&(A-=1),C&&(A-=1);let H=(or(a.left,d,"foreground")+`
|
|
12
|
-
`).repeat(A);g&&(H=of.dim(H));let K=(or(a.right,f,"foreground")+`
|
|
13
|
-
`).repeat(A);T&&(K=of.dim(K));let W=C?or((S?a.bottomLeft:"")+a.bottom.repeat(M)+(w?a.bottomRight:""),l,"foreground"):void 0;C&&h&&(W=of.dim(W));let ne=v?1:0;L&&r.write(e,t,L,{transformers:[]}),S&&r.write(e,t+ne,H,{transformers:[]}),w&&r.write(e+i-1,t+ne,K,{transformers:[]}),W&&r.write(e,t+s-1,W,{transformers:[]})}},"renderBorder"),mC=x_;var S_=o((e,t,n,r)=>{if(!n.style.backgroundColor)return;let i=n.yogaNode.getComputedWidth(),s=n.yogaNode.getComputedHeight(),a=n.style.borderStyle&&n.style.borderLeft!==!1?1:0,c=n.style.borderStyle&&n.style.borderRight!==!1?1:0,l=n.style.borderStyle&&n.style.borderTop!==!1?1:0,d=n.style.borderStyle&&n.style.borderBottom!==!1?1:0,f=i-a-c,p=s-l-d;if(!(f>0&&p>0))return;let h=or(" ".repeat(f),n.style.backgroundColor,"background");for(let g=0;g<p;g++)r.write(e+a,t+l+g,h,{transformers:[]})},"renderBackground"),hC=S_;function sf(e){let{rawScrollTop:t,contentHeight:n,viewportHeight:r,previousScrollHeight:i,stickyScroll:s,clampMin:a,clampMax:c,virtualScrollWindowed:l,inWindowScrollTop:d,previousAppliedScrollTop:f,regionTop:p}=e,h=Math.max(0,n-r),g=Math.max(0,Math.min(Math.floor(t),h)),v=s&&n>=i?h:g,C=a!==void 0||c!==void 0?Math.max(a??0,Math.min(v,Math.min(h,c??h))):v,S=l&&d!==void 0,w=Math.max(0,Math.floor(d??0)),M=l?S?w:0:C,L=S?M:C,A=null;if(f!==void 0&&f!==L&&r>0){let H=p+r-1;H>=p&&(A={top:p,bottom:H,delta:L-f})}return{scrollHeight:n,viewportTop:C,appliedScrollTop:L,scrollTop:C,scrollOffsetY:M,scrollHint:A}}o(sf,"computeScrollState");var C_=o((e,t)=>{let n=e.childNodes[0]?.yogaNode;if(n){let r=n.getComputedLeft(),i=n.getComputedTop();t=`
|
|
14
|
-
`.repeat(i)+T_(t,r)}return t},"applyPaddingToText"),af=o((e,t={})=>{if(t.skipStaticElements&&e.internal_static||e.yogaNode?.getDisplay()===Lo.DISPLAY_NONE)return"";let n="";if(e.nodeName==="ink-text")n=Bc(e);else if(e.nodeName==="ink-box"||e.nodeName==="ink-root"){let r=e.style.flexDirection==="row"||e.style.flexDirection==="row-reverse"?" ":`
|
|
15
|
-
`;n=(e.style.flexDirection==="row-reverse"||e.style.flexDirection==="column-reverse"?[...e.childNodes].reverse():[...e.childNodes]).map(s=>af(s,{parentRole:e.internal_accessibility?.role,skipStaticElements:t.skipStaticElements})).filter(Boolean).join(r)}if(e.internal_accessibility){let{role:r,state:i}=e.internal_accessibility;if(i){let a=Object.keys(i).filter(c=>i[c]).join(", ");a&&(n=`(${a}) ${n}`)}r&&r!==t.parentRole&&(n=`${r}: ${n}`)}return n},"renderNodeToScreenReaderOutput"),hh=null,gh=null;function gC(){hh=null,gh=null}o(gC,"resetScrollHint");function yC(){return hh}o(yC,"getScrollHint");function xC(){return gh}o(xC,"getScrollRepaint");var SC=o((e,t,n)=>{let{offsetX:r=0,offsetY:i=0,transformers:s=[],skipStaticElements:a}=n;if(a&&e.internal_static)return;let{yogaNode:c}=e;if(c){if(c.getDisplay()===Lo.DISPLAY_NONE)return;let l=r+c.getComputedLeft(),d=i+c.getComputedTop();e.internal_cursorAnchor&&(t.cursorPosition={x:l,y:d});let f=s;if(typeof e.internal_transform=="function"&&(f=[e.internal_transform,...s]),e.nodeName==="ink-text"){let g=Bc(e);if(g.length>0){let T=w_(g),v=pC(c);if(T>v){let C=e.style.textWrap??"wrap";g=Jd(g,v,C)}g=C_(e,g),t.write(l,d,g,{transformers:f})}return}let p=!1,h=0;if(e.nodeName==="ink-box"){hC(l,d,e,t),mC(l,d,e,t);let g=e.style.overflowX??e.style.overflow,T=e.style.overflowY??e.style.overflow,v=g==="hidden"||g==="scroll",C=T==="hidden"||T==="scroll";if(T==="scroll"){let S=c.getComputedBorder(Lo.EDGE_TOP),w=c.getComputedBorder(Lo.EDGE_BOTTOM),M=Math.max(0,c.getComputedHeight()-S-w),L=e.attributes?.virtualScrollWindowed===!0,A=e.childNodes[0],H=Math.max(0,Math.floor(L?e.attributes?.scrollHeight??0:A?.yogaNode?.getComputedHeight()??e.attributes?.scrollHeight??0)),K=typeof e.scrollHeight=="number"?e.scrollHeight:H,W=sf({rawScrollTop:e.scrollTop??e.attributes?.scrollTop??0,contentHeight:H,viewportHeight:M,previousScrollHeight:K,stickyScroll:e.stickyScroll??!!e.attributes?.stickyScroll,clampMin:e.attributes?.scrollClampMin,clampMax:e.attributes?.scrollClampMax,virtualScrollWindowed:L,inWindowScrollTop:e.attributes?.inWindowScrollTop,previousAppliedScrollTop:e.appliedScrollTop,regionTop:d+S});e.scrollHeight=W.scrollHeight,e.scrollViewportHeight=M,e.scrollViewportTop=W.viewportTop,e.appliedScrollTop=W.appliedScrollTop,W.scrollHint&&(hh=W.scrollHint,Math.trunc(Number(e.attributes?.pendingScrollDelta??0))!==0&&(gh={top:W.scrollHint.top,bottom:W.scrollHint.bottom})),e.attributes&&e.attributes.pendingScrollDelta&&(e.attributes.pendingScrollDelta=0),e.scrollTop=W.scrollTop,h=W.scrollOffsetY}if(v||C){let S=v?l+c.getComputedBorder(Lo.EDGE_LEFT):void 0,w=v?l+c.getComputedWidth()-c.getComputedBorder(Lo.EDGE_RIGHT):void 0,M=C?d+c.getComputedBorder(Lo.EDGE_TOP):void 0,L=C?d+c.getComputedHeight()-c.getComputedBorder(Lo.EDGE_BOTTOM):void 0;t.clip({x1:S,x2:w,y1:M,y2:L}),p=!0}}if(e.nodeName==="ink-root"||e.nodeName==="ink-box"){for(let g of e.childNodes)SC(g,t,{offsetX:l,offsetY:d-h,transformers:f,skipStaticElements:a});p&&t.unclip()}}},"renderNodeToOutput"),yh=SC;import I_ from"slice-ansi";import b_ from"string-width";import{styledCharsFromTokens as v_,styledCharsToString as R_,tokenize as k_}from"@alcalzone/ansi-tokenize";var xh=class{static{o(this,"OutputCaches")}widths=new Map;blockWidths=new Map;styledChars=new Map;getStyledChars(t){let n=this.styledChars.get(t);return n===void 0&&(n=v_(k_(t)),this.styledChars.set(t,n)),n}getStringWidth(t){let n=this.widths.get(t);return n===void 0&&(n=b_(t),this.widths.set(t,n)),n}getWidestLine(t){let n=this.blockWidths.get(t);if(n===void 0){let r=0;for(let i of t.split(`
|
|
16
|
-
`))r=Math.max(r,this.getStringWidth(i));n=r,this.blockWidths.set(t,n)}return n}},Qs=class{static{o(this,"Output")}width;height;operations=[];caches=new xh;constructor(t){let{width:n,height:r}=t;this.width=n,this.height=r}write(t,n,r,i){let{transformers:s}=i;r&&this.operations.push({type:"write",x:t,y:n,text:r,transformers:s})}clip(t){this.operations.push({type:"clip",clip:t})}unclip(){this.operations.push({type:"unclip"})}getGrid(){let t=[];for(let r=0;r<this.height;r++){let i=[];for(let s=0;s<this.width;s++)i.push({type:"char",value:" ",fullWidth:!1,styles:[]});t.push(i)}let n=[];for(let r of this.operations)if(r.type==="clip"&&n.push(r.clip),r.type==="unclip"&&n.pop(),r.type==="write"){let{text:i,transformers:s}=r,{x:a,y:c}=r,l=i.split(`
|
|
17
|
-
`),d=n.at(-1);if(d){let p=typeof d?.x1=="number"&&typeof d?.x2=="number",h=typeof d?.y1=="number"&&typeof d?.y2=="number";if(p){let g=this.caches.getWidestLine(i);if(a+g<d.x1||a>d.x2)continue}if(h){let g=l.length;if(c+g<d.y1||c>d.y2)continue}if(p&&(l=l.map(g=>{let T=a<d.x1?d.x1-a:0,v=this.caches.getStringWidth(g),C=a+v>d.x2?d.x2-a:v;return I_(g,T,C)}),a<d.x1&&(a=d.x1)),h){let g=c<d.y1?d.y1-c:0,T=l.length,v=c+T>d.y2?d.y2-c:T;l=l.slice(g,v),c<d.y1&&(c=d.y1)}}let f=0;for(let[p,h]of l.entries()){let g=t[c+f];if(!g)continue;for(let C of s)h=C(h,p);let T=this.caches.getStyledChars(h),v=a;for(let C of T){g[v]=C;let S=Math.max(1,this.caches.getStringWidth(C.value));if(S>1)for(let w=1;w<S;w++)g[v+w]={type:"char",value:"",fullWidth:!1,styles:C.styles};v+=S}f++}}return t}get(){let t=this.getGrid();return{output:t.map(r=>{let i=r.filter(s=>s!==void 0);return R_(i).trimEnd()}).join(`
|
|
18
|
-
`),height:t.length}}};var vr={Single:0,Wide:1,SpacerTail:2},br={char:" ",width:vr.Single,style:"",hyperlink:void 0};function wC(e,t){if(e<0||t<0)throw new RangeError(`Screen dimensions must be non-negative (got width=${e}, height=${t})`);let n=new Array(e*t).fill(br);return{width:e,height:t,cells:n}}o(wC,"createScreen");function Ri(e,t,n){if(!(t<0||n<0||t>=e.width||n>=e.height))return e.cells[n*e.width+t]}o(Ri,"cellAt");function TC(e,t){if(e<0||t<0)throw new RangeError(`Screen dimensions must be non-negative (got width=${e}, height=${t})`);let n=new Array(e*t).fill(br),r=!1;return{width:e,height:t,setCellAt(i,s,a){if(r)throw new Error("ScreenBuilder.setCellAt called after build()");if(i<0||s<0||i>=e||s>=t)throw new RangeError(`ScreenBuilder.setCellAt out of bounds: (${i}, ${s}) on ${e}x${t}`);n[s*e+i]=a},build(){if(r)throw new Error("ScreenBuilder.build called twice");return r=!0,{width:e,height:t,cells:n}}}}o(TC,"createScreenBuilder");function*cf(e,t){let n=Math.max(e.width,t.width),r=Math.max(e.height,t.height);for(let i=0;i<r;i++)for(let s=0;s<n;s++){let a=Ri(e,s,i),c=Ri(t,s,i);E_(a,c)||(yield{x:s,y:i,prev:a,next:c})}}o(cf,"diffEach");function CC(e,t,n,r){if(r===0||e.height===0)return e;let i=Math.max(0,t),s=Math.min(e.height-1,n);if(i>s)return e;let a=e.width,c=e.cells.slice(),l=s-i+1,d=o(f=>{for(let p=0;p<a;p++)c[f*a+p]=br},"blankRow");if(Math.abs(r)>=l){for(let f=i;f<=s;f++)d(f);return{...e,cells:c}}if(r>0){for(let f=i;f<=s-r;f++)for(let p=0;p<a;p++)c[f*a+p]=e.cells[(f+r)*a+p]??br;for(let f=s-r+1;f<=s;f++)d(f)}else{let f=-r;for(let p=s;p>=i+f;p--)for(let h=0;h<a;h++)c[p*a+h]=e.cells[(p-f)*a+h]??br;for(let p=i;p<=i+f-1;p++)d(p)}return{...e,cells:c}}o(CC,"shiftRowsRegion");function E_(e,t){return e===t?!0:e===void 0||t===void 0?!1:e.char===t.char&&e.width===t.width&&e.style===t.style&&e.hyperlink===t.hyperlink}o(E_,"cellsEqual");var Sh="\x1B]8;";function M_(e){return e.endsWith("\x07")?e.slice(0,-1):e}o(M_,"stripOsc8Terminator");function A_(e){if(!e.startsWith(Sh))return;let t=e.slice(Sh.length),n=t.indexOf(";");if(n<0)return;let r=t.slice(n+1),i=M_(r);return i.length>0?i:void 0}o(A_,"parseOsc8Url");function __(e){if(e.value==="")return{char:"",width:vr.SpacerTail,style:"",hyperlink:void 0};let t="",n;for(let r of e.styles)if(r.code.startsWith(Sh)){let i=A_(r.code);i!==void 0&&(n=i)}else t+=r.code;return{char:e.value,width:e.fullWidth?vr.Wide:vr.Single,style:t,hyperlink:n}}o(__,"styledCharToCell");function lf(e){let t=e.getGrid(),n=e.width,r=e.height,i=TC(n,r),s=Math.min(t.length,r);for(let a=0;a<s;a++){let c=t[a];if(!c)continue;let l=Math.min(c.length,n);for(let d=0;d<l;d++){let f=c[d];if(!f)continue;let p=__(f);p.char===br.char&&p.width===br.width&&p.style===br.style&&p.hyperlink===br.hyperlink||i.setCellAt(d,a,p)}}return i.build()}o(lf,"outputToScreen");var L_=o((e,t,n)=>{if(e.yogaNode){if(t){let h=af(e,{skipStaticElements:!0}),g=h===""?0:h.split(`
|
|
19
|
-
`).length,T="";return e.staticNode&&(T=af(e.staticNode,{skipStaticElements:!1})),{output:h,outputHeight:g,staticOutput:T?`${T}
|
|
20
|
-
`:"",frame:void 0}}let r=new Qs({width:e.yogaNode.getComputedWidth(),height:e.yogaNode.getComputedHeight()});gC(),yh(e,r,{skipStaticElements:!0});let i;e.staticNode?.yogaNode&&(i=new Qs({width:e.staticNode.yogaNode.getComputedWidth(),height:e.staticNode.yogaNode.getComputedHeight()}),yh(e.staticNode,i,{skipStaticElements:!1}));let{output:s,height:a}=r.get(),c=lf(r),l=n?.columns??e.yogaNode.getComputedWidth(),d=n?.rows??e.yogaNode.getComputedHeight(),f=r.cursorPosition,p={screen:c,viewport:{width:l,height:d},cursor:{x:0,y:c.height,visible:!1},scrollHint:yC(),scrollRepaint:xC(),...f?{inputCursor:{x:f.x,y:f.y}}:{}};return{output:s,outputHeight:a,staticOutput:i?`${i.get().output}
|
|
21
|
-
`:"",frame:p}}return{output:"",outputHeight:0,staticOutput:"",frame:void 0}},"renderer"),wh=L_;function kn(...e){if(e.length===0)return"\x1B[";if(e.length===1)return`\x1B[${e[0]}`;let t=e.slice(0,-1),n=e[e.length-1];return`\x1B[${t.join(";")}${n}`}o(kn,"csi");function IC(e=1){return e===0?"":kn(e,"A")}o(IC,"cursorUp");function P_(e=1){return e===0?"":kn(e,"B")}o(P_,"cursorDown");function $_(e=1){return e===0?"":kn(e,"C")}o($_,"cursorForward");function D_(e=1){return e===0?"":kn(e,"D")}o(D_,"cursorBack");function bC(e){return kn(e,"G")}o(bC,"cursorTo");var O_=kn("G"),vC=kn("H");function RC(e,t){let n="";return e<0?n+=D_(-e):e>0&&(n+=$_(e)),t<0?n+=IC(-t):t>0&&(n+=P_(t)),n}o(RC,"cursorMove");var Th=kn(2,"K");function kC(e){if(e<=0)return"";let t="";for(let n=0;n<e;n++)t+=Th,n<e-1&&(t+=IC(1));return t+=O_,t}o(kC,"eraseLines");var EC=kn("r"),MC="\x1B7",AC="\x1B8";function _C(e,t){return kn(e,t,"r")}o(_C,"setScrollRegion");function LC(e=1){return kn(e,"S")}o(LC,"scrollUp");function PC(e=1){return kn(e,"T")}o(PC,"scrollDown");var Fc=kn(0,"m");function $C(e){return`\x1B]${e.join(";")}\x07`}o($C,"osc");function N_(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return(t>>>0).toString(36)}o(N_,"osc8Id");function jc(e,t){if(!e)return Js;let n={id:N_(e),...t??{}},r=Object.entries(n).map(([i,s])=>`${i}=${s}`).join(":");return $C(["8",r,e])}o(jc,"link");var Js=$C(["8","",""]);function Ch(e){let{screen:t}=e;if(t.width===0||t.height===0)return[];let n=[],r="",i;for(let s=0;s<t.height;s++){let a="";for(let c=0;c<t.width;c++){let l=Ri(t,c,s);!l||l.width===vr.SpacerTail||(l.hyperlink!==i&&(i!==void 0&&(a+=Js),l.hyperlink!==void 0&&(a+=jc(l.hyperlink)),i=l.hyperlink),l.style!==r&&(r!==""&&(a+=Fc),l.style!==""&&(a+=l.style),r=l.style),a+=l.char)}i!==void 0&&(a+=Js,i=void 0),r!==""&&(a+=Fc,r=""),n.push(a.trimEnd())}return[{type:"stdout",content:n.join(`
|
|
22
|
-
`)}]}o(Ch,"renderFullFrame");var B_=Object.freeze([]),H_=Object.freeze([]);function ki(e,t){if(e===t)return{patches:B_,current:e};let n=[];return e!==""&&n.push({type:"stdout",content:Fc}),t!==""&&n.push({type:"stdout",content:t}),{patches:n,current:t}}o(ki,"transitionStyle");function Gc(e,t){let n=ki(e,t),r="";for(let i of n.patches)i.type==="stdout"&&(r+=i.content);return{str:r,current:n.current}}o(Gc,"transitionStyleStr");function eo(e,t){if(e===t)return{patches:H_,current:e};let n=[];return e!==void 0&&n.push({type:"stdout",content:Js}),t!==void 0&&n.push({type:"stdout",content:jc(t)}),{patches:n,current:t}}o(eo,"transitionHyperlink");function DC(e){let t=e.codePointAt(0);if(t===void 0)return!1;if(t>=129648&&t<=129791||t>=129792&&t<=130047)return!0;if(e.length>=2){for(let n=0;n<e.length;n++)if(e.charCodeAt(n)===65039)return!0}return!1}o(DC,"needsWidthCompensation");var Ei=class{static{o(this,"VirtualScreen")}viewportWidth;cursor;diff;_cursorMut;_diffMut=[];constructor(t,n){this.viewportWidth=n,this._cursorMut={x:t.x,y:t.y},this.cursor=this._cursorMut,this.diff=this._diffMut}txn(t){let[n,r]=t(this.cursor);for(let i of n)this._diffMut.push(i);this._cursorMut.x+=r.dx,this._cursorMut.y+=r.dy}},to={type:"carriageReturn"},Uc={type:"stdout",content:`
|
|
23
|
-
`};function Vc(e,t,n){let r=t.width===vr.Wide?2:1,i=e.viewportWidth,s=!1;return e.txn(a=>{let c=a.x;if(r===2&&c<i){let f=t.char.length>2?i:i+1;if(c+2>=f)return[[],{dx:0,dy:0}]}let l=[];n.length>0&&l.push({type:"stdout",content:n});let d=r===2&&DC(t.char);return d&&c+1<i&&(l.push({type:"cursorTo",col:c+2}),l.push({type:"stdout",content:" "}),l.push({type:"cursorTo",col:c+1})),l.push({type:"stdout",content:t.char}),d&&l.push({type:"cursorTo",col:c+r+1}),s=!0,c>=i?[l,{dx:r-c,dy:1}]:[l,{dx:r,dy:0}]}),s}o(Vc,"writeCellWithStyleStr");function Mi(e,t,n){e.txn(r=>{let i=t-r.x,s=n-r.y;return r.x>=e.viewportWidth?[[to,{type:"cursorMove",x:t,y:s}],{dx:i,dy:s}]:s!==0?[[to,{type:"cursorMove",x:t,y:s}],{dx:i,dy:s}]:[[{type:"cursorMove",x:i,y:s}],{dx:i,dy:s}]})}o(Mi,"moveCursorTo");function Kc(e,t,n,r,i=!1){let s="",a;for(let c=n;c<r;c++){if(e.cursor.y<c){let p=c-e.cursor.y;e.txn(h=>{let g=new Array(1+p);g[0]=to;for(let T=0;T<p;T++)g[1+T]=Uc;return[g,{dx:-h.x,dy:p}]})}for(let p=0;p<t.screen.width;p++){let h=Ri(t.screen,p,c);if(!h||h.width===vr.SpacerTail||h.char===" "&&h.style===""&&h.hyperlink===void 0)continue;Mi(e,p,c);let g=eo(a,h.hyperlink);for(let v of g.patches)e.txn(()=>[[v],{dx:0,dy:0}]);a=g.current;let T=Gc(s,h.style);Vc(e,h,T.str)&&(s=T.current)}let l=ki(s,"");for(let p of l.patches)e.txn(()=>[[p],{dx:0,dy:0}]);s=l.current;let d=eo(a,void 0);for(let p of d.patches)e.txn(()=>[[p],{dx:0,dy:0}]);a=d.current;let f=c===r-1&&t.screen.height<=t.viewport.height&&(c+1>=t.viewport.height||i);e.txn(p=>f?[[to],{dx:-p.x,dy:0}]:[[to,Uc],{dx:-p.x,dy:1}])}if(s!==""||a!==void 0){let c=ki(s,"");for(let d of c.patches)e.txn(()=>[[d],{dx:0,dy:0}]);let l=eo(a,void 0);for(let d of l.patches)e.txn(()=>[[d],{dx:0,dy:0}])}}o(Kc,"renderFrameSlice");function Ih(e,t,n,r){let i=Math.max(0,Math.floor(n)),s=Math.min(t.screen.height-1,t.viewport.height-1,Math.floor(r));for(let a=i;a<=s;a++)W_(e,t,a)}o(Ih,"repaintFrameRows");function W_(e,t,n){let r="",i;Mi(e,0,n),e.txn(()=>[[{type:"stdout",content:Js+Fc},{type:"eraseLine"}],{dx:0,dy:0}]);for(let s=0;s<t.screen.width;s++){let a=Ri(t.screen,s,n);if(!a||a.width===vr.SpacerTail||a.char===" "&&a.style===""&&a.hyperlink===void 0)continue;Mi(e,s,n);let c=eo(i,a.hyperlink);for(let d of c.patches)e.txn(()=>[[d],{dx:0,dy:0}]);i=c.current;let l=Gc(r,a.style);Vc(e,a,l.str)&&(r=l.current)}for(let s of ki(r,"").patches)e.txn(()=>[[s],{dx:0,dy:0}]);for(let s of eo(i,void 0).patches)e.txn(()=>[[s],{dx:0,dy:0}])}o(W_,"repaintFrameRow");function bh(e,t){let n="";for(let r=0;r<e.width;r++){let i=Ri(e,r,t);n+=i?.char??" "}return n.trimEnd()}o(bh,"readLine");function Zs(e,t,n=!1){let r=new Ei({x:0,y:0},e.viewport.width);Kc(r,e,0,e.screen.height,n);let i=[{type:"clearTerminal",reason:t}];for(let s of r.diff)i.push(s);return i}o(Zs,"fullResetSequence_CAUSES_FLICKER");function uf(e,t){let n=e.cursor.y>=e.screen.height,r=t.screen.height>e.screen.height,i=t.screen.height<e.screen.height,s=n&&e.screen.height>=e.viewport.height,a=t.screen.height<=e.viewport.height,c=s?1:0;return{viewportY:r?Math.max(0,e.screen.height-e.viewport.height+c):Math.max(e.screen.height,t.screen.height)-t.viewport.height+c,cursorAtBottom:n,growing:r,shrinking:i,prevHadScrollback:s,nextFitsViewport:a}}o(uf,"computeViewportState");function OC(e,t,n){if(t.viewport.height<e.viewport.height||e.viewport.width!==0&&t.viewport.width!==e.viewport.width)return{reset:!0,reason:"resize"};let r=uf(e,t);if(r.prevHadScrollback&&r.nextFitsViewport&&r.shrinking)return{reset:!0,reason:"offscreen"};if(e.screen.height>=e.viewport.height&&e.screen.height>0&&r.cursorAtBottom&&!r.growing){let s=e.screen.height-e.viewport.height+1;for(let a of cf(e.screen,t.screen))if(a.y<s)return{reset:!0,reason:"offscreen",trigger:{y:a.y,prevLine:n(e.screen,a.y),nextLine:n(t.screen,a.y)}}}return r.shrinking&&e.screen.height-t.screen.height>e.viewport.height?{reset:!0,reason:"offscreen"}:{reset:!1}}o(OC,"shouldFullReset");function NC(e,t,n){return!!(t&&t.width===2||e&&e.width===2&&!t||t&&n&&!e)}o(NC,"shouldSkipDiff");var df=class{static{o(this,"LogUpdate")}options;constructor(t){this.options=t}render(t,n,r={}){if(!this.options.isTTY)return Ch(n);let i=r.inlineBottomAnchored??!1,s=BC(t,i),a=BC(n,i);if(r.altScreen===!0&&t.screen.height===0&&a.screen.height>0)return Zs(a,"clear",i);let c=OC(s,a,bh);if(c.reset)return Zs(a,c.reason,i);if(a.scrollRepaint&&r.altScreen===!0)return F_(s,a,a.scrollRepaint);let l=a.scrollHint;if(l&&r.altScreen&&r.decstbmSafe&&process.env.KODAX_SCROLL_DECSTBM==="1"&&l.delta!==0&&l.top>=0&&l.bottom<s.screen.height&&l.bottom<a.screen.height&&Math.abs(l.delta)<=l.bottom-l.top){let d={type:"scrollRegion",top:l.top,bottom:l.bottom,delta:l.delta},f={...s,screen:CC(s.screen,l.top,l.bottom,l.delta)};return[d,...HC(f,a,i)]}return HC(s,a,i)}reset(){}};function vh(e,t){for(let n of t)e.txn(()=>[[n],{dx:0,dy:0}])}o(vh,"emitPatches");function Rh(e,t,n){if(t!==""){let r=ki(t,"");vh(e,r.patches)}if(n!==void 0){let r=eo(n,void 0);vh(e,r.patches)}return{style:"",hyperlink:void 0}}o(Rh,"resetStyleAndHyperlink");function F_(e,t,n){let r=uf(e,t),i=new Ei(e.cursor,t.viewport.width);r.shrinking&&WC(i,e,t);let s=Math.max(0,Math.floor(n.top)),a=Math.min(t.screen.height-1,t.viewport.height-1,Math.floor(n.bottom)),c=a>=s?{top:s,bottom:a}:void 0;c&&Ih(i,t,c.top,c.bottom);let l=FC(i,e,t,{...r,skipRows:c});return l.needsFullReset?Zs(t,"offscreen"):(Rh(i,l.currentStyle,l.currentHyperlink),r.growing&&Kc(i,t,e.screen.height,t.screen.height),jC(i,t),i.diff)}o(F_,"renderScrollRepaint");function WC(e,t,n){let r=t.screen.height-n.screen.height;e.txn(i=>[[{type:"clear",count:r},{type:"cursorMove",x:0,y:-1}],{dx:-i.x,dy:-r}])}o(WC,"applyShrink");function FC(e,t,n,r){let i="",s,a=!1;for(let c of cf(t.screen,n.screen)){let{x:l,y:d,prev:f,next:p}=c;if(r.growing&&d>=t.screen.height||r.skipRows&&d>=r.skipRows.top&&d<=r.skipRows.bottom)continue;let h=!!(p&&p.char===" "&&p.style===""&&p.hyperlink===void 0);if(!NC(f,p,h)){if(d<r.viewportY){a=!0;break}if(Mi(e,l,d),p){let g=eo(s,p.hyperlink);vh(e,g.patches),s=g.current;let T=Gc(i,p.style);Vc(e,p,T.str)&&(i=T.current)}else if(f){let g=Rh(e,i,s);i=g.style,s=g.hyperlink,e.txn(()=>[[{type:"stdout",content:" "}],{dx:1,dy:0}])}}}return{currentStyle:i,currentHyperlink:s,needsFullReset:a}}o(FC,"diffPass");function BC(e,t){let n=t?Math.max(0,Math.min(e.viewport.height-1,e.screen.height-1)):Math.max(0,e.viewport.height-1);return e.cursor.y<=n?e:{...e,cursor:{...e.cursor,y:n}}}o(BC,"clampRestingCursor");function jC(e,t){t.cursor.y>=t.screen.height?e.txn(n=>{let r=t.cursor.y-n.y;if(r>0){let s=new Array(1+r);s[0]=to;for(let a=0;a<r;a++)s[1+a]=Uc;return[s,{dx:-n.x,dy:r}]}let i=t.cursor.y-n.y;return i!==0||n.x!==t.cursor.x?[[to,{type:"cursorMove",x:t.cursor.x,y:i}],{dx:t.cursor.x-n.x,dy:i}]:[[],{dx:0,dy:0}]}):Mi(e,t.cursor.x,t.cursor.y)}o(jC,"restoreCursor");function HC(e,t,n=!1){let r=uf(e,t),i=new Ei(e.cursor,t.viewport.width);r.shrinking&&WC(i,e,t);let s=FC(i,e,t,r);return s.needsFullReset?Zs(t,"offscreen",n):(Rh(i,s.currentStyle,s.currentHyperlink),r.growing&&Kc(i,t,e.screen.height,t.screen.height,n),jC(i,t),i.diff)}o(HC,"renderIncremental");var j_="\x1B[?25l",U_="\x1B[?25h",G_=`\x1B[2J${vC}`,V_="\x1B[?2026h",K_="\x1B[?2026l";function z_(e){switch(e.type){case"stdout":return e.content;case"carriageReturn":return"\r";case"cursorHide":return j_;case"cursorShow":return U_;case"cursorMove":return RC(e.x,e.y);case"cursorTo":return bC(e.col);case"eraseLine":return Th;case"clear":return kC(e.count);case"clearTerminal":return G_;case"hyperlink":return jc(e.uri);case"scrollRegion":{let t=e.top+1,n=e.bottom+1,r=Math.abs(e.delta),i=e.delta>0?LC(r):PC(r);return MC+_C(t,n)+i+EC+AC}}}o(z_,"patchToBytes");function ff(e,t,n=!1){let r="",i=!1;for(let s of t)s.type==="clearTerminal"&&(i=!0),r+=z_(s);if(r.length!==0){if(n&&i){e.write(V_+r+K_);return}e.write(r)}}o(ff,"applyDiff");function UC(e,t,n={}){if(t===void 0)return!1;let r=e.cellLogUpdate.render(e.prevFrame,t,n);return ff(e.stdout,r,n.synchronized??!1),e.prevFrame=t,!0}o(UC,"applyCellFrame");function zc(e,t){return{screen:wC(0,0),viewport:{width:t,height:e},cursor:{x:0,y:0,visible:!0}}}o(zc,"emptyFrame");import Y_ from"is-in-ci";var no="\x1B[?2026h",Rr="\x1B[?2026l";function ro(e){return"isTTY"in e&&e.isTTY===!0&&!Y_}o(ro,"shouldSynchronize");var X_=new WeakMap,GC=X_;import{EventEmitter as hL}from"node:events";import gL from"node:process";import Ai,{useState as Mh,useRef as ea,useCallback as kt,useMemo as ta,useEffect as cI}from"react";import yL from"cli-cursor";var q_=o(e=>e>=48&&e<=63,"isCsiParameterByte"),Q_=o(e=>e>=32&&e<=47,"isCsiIntermediateByte"),KC=o(e=>e>=64&&e<=126,"isCsiFinalByte");function J_(e,t,n){let r=t+n+1,i=r;for(;i<e.length;i+=1){let s=e.codePointAt(i);if(s===void 0)return"pending";if(!(q_(s)||Q_(s))&&!(s===91&&i===r))return KC(s)?{sequence:e.slice(t,i+1),nextIndex:i+1}:void 0}return"pending"}o(J_,"parseCsiSequence");function Z_(e,t,n){let r=t+n+2;if(r>e.length)return"pending";let i=e.codePointAt(r-1);if(!(i===void 0||!KC(i)))return{sequence:e.slice(t,r),nextIndex:r}}o(Z_,"parseSs3Sequence");function VC(e,t,n){let r=e[t+n];if(r===void 0)return"pending";if(r==="[")return J_(e,t,n);if(r==="O")return Z_(e,t,n)}o(VC,"parseControlSequence");function eL(e,t){let n=e.codePointAt(t+1),r=n!==void 0&&n>65535?2:1,i=t+1+r;return{sequence:e.slice(t,i),nextIndex:i}}o(eL,"parseEscapedCodePoint");function tL(e){let t=[],n=0,r=o(i=>({events:t,pending:e.slice(i)}),"pendingFrom");for(;n<e.length;){let i=e.indexOf("\x1B",n);if(i===-1)return t.push(e.slice(n)),{events:t,pending:""};if(i>n&&t.push(e.slice(n,i)),i===e.length-1)return r(i);let s=VC(e,i,1);if(s==="pending")return r(i);if(s){t.push(s.sequence),n=s.nextIndex;continue}if(e[i+1]==="\x1B"){if(i+2>=e.length)return r(i);let l=VC(e,i,2);if(l==="pending")return r(i);if(l){t.push(l.sequence),n=l.nextIndex;continue}t.push(e.slice(i,i+2)),n=i+2;continue}let c=eL(e,i);t.push(c.sequence),n=c.nextIndex}return{events:t,pending:""}}o(tL,"parseKeypresses");function pf(){let e="";return{push(t){let n=tL(e+t);return e=n.pending,n.events},hasPendingEscape(){return e.startsWith("\x1B")},flushPendingEscape(){if(!e.startsWith("\x1B"))return;let t=e;return e="",t},reset(){e=""}}}o(pf,"createInputParser");import{createContext as nL}from"react";var zC=nL({exit(){}});zC.displayName="InternalAppContext";var YC=zC;import{EventEmitter as rL}from"node:events";import{createContext as oL}from"react";var iL={isTTY:!1,isRaw:!1,on(){},off(){},pause(){},resume(){},setRawMode(){}},XC=oL({stdin:iL,internal_eventEmitter:new rL,setRawMode(){},isRawModeSupported:!1,internal_exitOnCtrlC:!0});XC.displayName="InternalStdinContext";var qC=XC;import{createContext as sL}from"react";var aL={isTTY:!1,columns:80,rows:24,write(){return!0},on(){},off(){}},QC=sL({stdout:aL,write(){}});QC.displayName="InternalStdoutContext";var JC=QC;import{createContext as cL}from"react";var lL={isTTY:!1,write(){return!0},on(){},off(){}},ZC=cL({stderr:lL,write(){}});ZC.displayName="InternalStderrContext";var eI=ZC;import{createContext as uL}from"react";var tI=uL({activeId:void 0,add(){},remove(){},activate(){},deactivate(){},enableFocus(){},disableFocus(){},focusNext(){},focusPrevious(){},focus(){}});tI.displayName="InternalFocusContext";var nI=tI;import{createContext as dL}from"react";var rI=dL({setCursorPosition(){}});rI.displayName="InternalCursorContext";var oI=rI;import pL,{PureComponent as mL}from"react";import*as mf from"node:fs";import{cwd as aI}from"node:process";import Pt from"react";import iI from"stack-utils";import fL from"code-excerpt";var kh=o(e=>e?.replace(`file://${aI()}/`,""),"cleanupPath"),sI=new iI({cwd:aI(),internals:iI.nodeInternals()});function Eh({error:e}){let t=e.stack?e.stack.split(`
|
|
24
|
-
`).slice(1):void 0,n=t?sI.parseLine(t[0]):void 0,r=kh(n?.file),i,s=0;if(r&&n?.line&&mf.existsSync(r)){let a=mf.readFileSync(r,"utf8");if(i=fL(a,n.line),i)for(let{line:c}of i)s=Math.max(s,String(c).length)}return Pt.createElement(Bn,{flexDirection:"column",padding:1},Pt.createElement(Bn,null,Pt.createElement(hn,{backgroundColor:"red",color:"white"}," ","ERROR"," "),Pt.createElement(hn,null," ",e.message)),n&&r&&Pt.createElement(Bn,{marginTop:1},Pt.createElement(hn,{dimColor:!0},r,":",n.line,":",n.column)),n&&i&&Pt.createElement(Bn,{marginTop:1,flexDirection:"column"},i.map(({line:a,value:c})=>Pt.createElement(Bn,{key:a},Pt.createElement(Bn,{width:s+1},Pt.createElement(hn,{dimColor:a!==n.line,backgroundColor:a===n.line?"red":void 0,color:a===n.line?"white":void 0,"aria-label":a===n.line?`Line ${a}, error`:`Line ${a}`},String(a).padStart(s," "),":")),Pt.createElement(hn,{key:a,backgroundColor:a===n.line?"red":void 0,color:a===n.line?"white":void 0}," "+c)))),e.stack&&Pt.createElement(Bn,{marginTop:1,flexDirection:"column"},e.stack.split(`
|
|
25
|
-
`).slice(1).map(a=>{let c=sI.parseLine(a);return c?Pt.createElement(Bn,{key:a},Pt.createElement(hn,{dimColor:!0},"- "),Pt.createElement(hn,{dimColor:!0,bold:!0},c.function),Pt.createElement(hn,{dimColor:!0,color:"gray","aria-label":`at ${kh(c.file)??""} line ${c.line} column ${c.column}`}," ","(",kh(c.file)??"",":",c.line,":",c.column,")")):Pt.createElement(Bn,{key:a},Pt.createElement(hn,{dimColor:!0},"- "),Pt.createElement(hn,{dimColor:!0,bold:!0},a,"\\t"," "))})))}o(Eh,"ErrorOverview");var Yc=class extends mL{static{o(this,"ErrorBoundary")}static displayName="InternalErrorBoundary";static getDerivedStateFromError(t){return{error:t}}state={error:void 0};componentDidCatch(t){this.props.onError(t)}render(){return this.state.error?pL.createElement(Eh,{error:this.state.error}):this.props.children}};var xL=" ",SL="\x1B[Z",wL="\x1B";function lI({children:e,stdin:t,stdout:n,stderr:r,writeToStdout:i,writeToStderr:s,exitOnCtrlC:a,onExit:c,setCursorPosition:l}){let[d,f]=Mh(!0),[p,h]=Mh(void 0),[,g]=Mh([]),T=ea(0),v=ea(0),C=ea(new hL);C.current.setMaxListeners(1/0);let S=ea(void 0),w=ea(pf()),M=ea(void 0),L=kt(()=>{M.current&&(clearImmediate(M.current),M.current=void 0)},[]),A=t.isTTY,H=kt(()=>{S.current&&(t.removeListener("readable",S.current),S.current=void 0)},[t]),K=kt(()=>{t.setRawMode(!1),H(),t.unref(),v.current=0,w.current.reset(),L()},[t,H,L]),W=kt(le=>{A&&v.current>0&&K(),c(le)},[A,K,c]),ne=kt(le=>{if(le===""&&a){W();return}le===wL&&h(Ie=>Ie&&void 0)},[a,W]),x=kt(le=>{ne(le),C.current.emit("input",le)},[ne]),Ce=kt(()=>{L(),M.current=setImmediate(()=>{M.current=void 0;let le=w.current.flushPendingEscape();le&&x(le)})},[L,x]),J=kt(()=>{L();let le;for(;(le=t.read())!==null;){let Ie=w.current.push(le);for(let ye of Ie)x(ye)}w.current.hasPendingEscape()&&Ce()},[t,x,L,Ce]),D=kt(le=>{if(!A)throw t===gL.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default.
|
|
26
|
-
Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`):new Error(`Raw mode is not supported on the stdin provided to Ink.
|
|
27
|
-
Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(t.setEncoding("utf8"),le){v.current===0&&(t.ref(),t.setRawMode(!0),S.current=J,t.addListener("readable",J)),v.current++;return}v.current!==0&&--v.current===0&&K()},[A,t,J,K]),k=kt((le,Ie)=>{let ye=le.findIndex(Xe=>Xe.id===Ie);for(let Xe=ye+1;Xe<le.length;Xe++){let ft=le[Xe];if(ft?.isActive)return ft.id}},[]),B=kt((le,Ie)=>{let ye=le.findIndex(Xe=>Xe.id===Ie);for(let Xe=ye-1;Xe>=0;Xe--){let ft=le[Xe];if(ft?.isActive)return ft.id}},[]),Se=kt(()=>{g(le=>(h(Ie=>{let ye=le.find(ft=>ft.isActive)?.id;return k(le,Ie)??ye}),le))},[k]),de=kt(()=>{g(le=>(h(Ie=>{let ye=le.findLast(ft=>ft.isActive)?.id;return B(le,Ie)??ye}),le))},[B]);cI(()=>{let le=o(ye=>{!d||T.current===0||(ye===xL&&Se(),ye===SL&&de())},"handleTabNavigation");C.current.on("input",le);let Ie=C.current;return()=>{Ie.off("input",le)}},[d,Se,de]);let ee=kt(()=>{f(!0)},[]),he=kt(()=>{f(!1)},[]),we=kt(le=>{g(Ie=>(Ie.some(Xe=>Xe?.id===le)&&h(le),Ie))},[]),fe=kt((le,{autoFocus:Ie})=>{g(ye=>(T.current=ye.length+1,[...ye,{id:le,isActive:!0}])),Ie&&h(ye=>ye??le)},[]),Te=kt(le=>{h(Ie=>Ie===le?void 0:Ie),g(Ie=>{let ye=Ie.filter(Xe=>Xe.id!==le);return T.current=ye.length,ye})},[]),Oe=kt(le=>{g(Ie=>Ie.map(ye=>ye.id!==le?ye:{id:le,isActive:!0}))},[]),X=kt(le=>{h(Ie=>Ie===le?void 0:Ie),g(Ie=>Ie.map(ye=>ye.id!==le?ye:{id:le,isActive:!1}))},[]);cI(()=>()=>{yL.show(n),A&&v.current>0&&K()},[n,A,K]);let ce=ta(()=>({exit:W}),[W]),_e=ta(()=>({stdin:t,setRawMode:D,isRawModeSupported:A,internal_exitOnCtrlC:a,internal_eventEmitter:C.current}),[t,D,A,a]),tt=ta(()=>({stdout:n,write:i}),[n,i]),q=ta(()=>({stderr:r,write:s}),[r,s]),Ke=ta(()=>({setCursorPosition:l}),[l]),ct=ta(()=>({activeId:p,add:fe,remove:Te,activate:Oe,deactivate:X,enableFocus:ee,disableFocus:he,focusNext:Se,focusPrevious:de,focus:we}),[p,fe,Te,Oe,X,ee,he,Se,de,we]);return Ai.createElement(YC.Provider,{value:ce},Ai.createElement(qC.Provider,{value:_e},Ai.createElement(JC.Provider,{value:tt},Ai.createElement(eI.Provider,{value:q},Ai.createElement(nI.Provider,{value:ct},Ai.createElement(oI.Provider,{value:Ke},Ai.createElement(Yc,{onError:W},e)))))))}o(lI,"App");lI.displayName="InternalApp";var uI=lI;var TL={disambiguateEscapeCodes:1,reportEventTypes:2,reportAlternateKeys:4,reportAllKeysAsEscapeCodes:8,reportAssociatedText:16};function dI(e){let t=0;for(let n of e)t|=TL[n];return t}o(dI,"resolveFlags");var oo={shift:1,alt:2,ctrl:4,super:8,hyper:16,meta:32,capsLock:64,numLock:128};var Ah=o((e,t)=>(t<0?gn.cursorUp(-t):t>0?gn.cursorDown(t):"")+(e<0?gn.cursorBackward(-e):e>0?gn.cursorForward(e):""),"cursorMoveSeq"),_h=o((e,t=!1)=>{let n=Math.max(0,e.screen.height-e.viewport.height),r=t?Math.max(0,Math.min(e.viewport.height-1,e.screen.height-1)):Math.max(0,e.viewport.height-1);return i=>({x:i.x,y:Math.min(Math.max(i.y-n,0),r)})},"toVisibleCursor"),hf=o(()=>{},"noop"),_L=27,LL=91,PL=63,$L=117,DL=48,OL=57,NL=o(e=>e>=DL&&e<=OL,"isDigitByte"),pI=o((e,t)=>{if(e[t]!==_L||e[t+1]!==LL||e[t+2]!==PL)return;let n=t+3,r=n;for(;n<e.length&&NL(e[n]);)n++;if(n!==r){if(n===e.length)return{state:"partial"};if(e[n]===$L)return{state:"complete",endIndex:n}}},"matchKittyQueryResponse"),BL=o(e=>{for(let t=0;t<e.length;t++)if(pI(e,t)?.state==="complete")return!0;return!1},"hasCompleteKittyQueryResponse"),HL=o(e=>{let t=[],n=0;for(;n<e.length;){let r=pI(e,n);if(r?.state==="complete"){n=r.endIndex+1;continue}if(r?.state==="partial")break;t.push(e[n]),n++}return t},"stripKittyQueryResponsesAndTrailingPartial"),Lh=o(e=>e instanceof Error||Object.prototype.toString.call(e)==="[object Error]","isErrorInput"),WL=class{static{o(this,"Ink")}isConcurrent;options;cursorPosition;isScreenReaderEnabled;isUnmounted;isUnmounting;lastOutput;lastOutputToRender;lastOutputHeight;lastTerminalWidth;container;rootNode;fullStaticOutput;exitPromise;exitResult;beforeExitHandler;restoreConsole;restoreStreamWriteGuard;rawStdoutWrite;rawStderrWrite;internalStreamWriteDepth=0;unsubscribeResize;throttledOnRender;hasPendingThrottledRender=!1;kittyProtocolEnabled=!1;cancelKittyDetection;altScreenActive=!1;shellMode;mouseTrackingActive=!1;shellTransitionPhase=void 0;cursorHidden=!1;constructor(t){IL(this),this.options=t,this.rawStdoutWrite=t.stdout.write.bind(t.stdout),this.rawStderrWrite=t.stderr.write.bind(t.stderr),this.rootNode=Zd("ink-root"),this.rootNode.onComputeLayout=this.calculateLayout,this.isScreenReaderEnabled=t.isScreenReaderEnabled??_i.env.INK_SCREEN_READER==="true";let n=t.debug||this.isScreenReaderEnabled,r=t.maxFps??30,i=r>0?Math.max(1,Math.ceil(1e3/r)):0;if(n)this.rootNode.onRender=this.onRender,this.throttledOnRender=void 0;else{let a=CL(this.onRender,i,{leading:!0,trailing:!0});this.rootNode.onRender=()=>{this.hasPendingThrottledRender=!0,a()},this.throttledOnRender=a}this.rootNode.onImmediateRender=this.onRender,this.cellLogUpdate=new df({isTTY:!!t.stdout.isTTY}),this.prevFrame=zc(t.stdout.rows??24,t.stdout.columns??80),this.cursorPosition=void 0,this.isUnmounted=!1,this.isUnmounting=!1,this.installExternalStreamWriteGuard(),this.isConcurrent=t.concurrent??!1,this.lastOutput="",this.lastOutputToRender="",this.lastOutputHeight=0,this.lastTerminalWidth=this.getTerminalWidth(),this.fullStaticOutput="",this.shellMode=t.shellMode??"virtual";let s=t.concurrent?kL:RL;this.container=Zr.createContainer(this.rootNode,s,null,!1,null,"id",()=>{},()=>{},()=>{},()=>{}),this.unsubscribeExit=bL(this.unmount,{alwaysLast:!1}),Qd()&&Zr.injectIntoDevTools(),t.patchConsole&&this.patchConsole(),io||(t.stdout.on("resize",this.resized),this.unsubscribeResize=()=>{t.stdout.off("resize",this.resized)}),this.initKittyKeyboard()}getTerminalWidth=o(()=>this.options.stdout.columns?this.options.stdout.columns:AL()?.columns??80,"getTerminalWidth");resized=o(()=>{let t=this.getTerminalWidth();if(t<this.lastTerminalWidth){this.returnCursorToRest();let n=this.altScreenActive?this.lastOutputHeight>0?gn.eraseLines(this.lastOutputHeight):"":this.eraseInlineLiveBlock();n.length>0&&this.writeStdout(n),this.lastOutput="",this.lastOutputToRender="",this.cellLogUpdate.reset(),this.prevFrame=zc(this.options.stdout.rows??24,t)}this.calculateLayout(),this.onRender(),this.lastTerminalWidth=t},"resized");resolveExitPromise=o(()=>{},"resolveExitPromise");rejectExitPromise=o(()=>{},"rejectExitPromise");unsubscribeExit=o(()=>{},"unsubscribeExit");handleAppExit=o(t=>{if(!(this.isUnmounted||this.isUnmounting)){if(Lh(t)){this.unmount(t);return}this.exitResult=t,this.unmount()}},"handleAppExit");setCursorPosition=o(t=>{if(t===void 0){this.cursorPosition=void 0;return}let n=this.getTerminalWidth(),r=this.options.stdout.rows??24;if(n<=0||r<=0){this.cursorPosition=void 0;return}let i=Math.max(0,Math.min(t.x|0,n-1)),s=Math.max(0,Math.min(t.y|0,r-1));this.cursorPosition={x:i,y:s}},"setCursorPosition");resetOutputTracking=o(()=>{this.lastOutput="",this.lastOutputToRender="",this.lastOutputHeight=0,this.cursorPosition=void 0,this.invalidateCellFrame()},"resetOutputTracking");usesVirtualShellOwnership=o((t={})=>t.altScreenActive??this.altScreenActive,"usesVirtualShellOwnership");beginShellTransition(t){this.shellTransitionPhase=t}setShellMode(t,n){let r=this.shellMode,i=this.mouseTrackingActive,s=this.usesVirtualShellOwnership(),a=n??!1;this.shellMode=t,this.mouseTrackingActive=a;let c=this.usesVirtualShellOwnership();(r!==t&&(s||c)||i!==a&&c)&&this.resetOutputTracking()}setAltScreenActive(t,n){let r=this.altScreenActive,i=this.mouseTrackingActive,s=this.usesVirtualShellOwnership(),a=n??!1;this.altScreenActive=t,this.mouseTrackingActive=a,this.shellTransitionPhase=void 0;let c=this.usesVirtualShellOwnership();(r!==t||i!==a&&(s||c))&&this.resetOutputTracking()}clearTextSelection(){}installExternalStreamWriteGuard(){if(this.options.debug||io)return;let t=this.options.stdout,n=this.options.stderr,r=t.write,i=n.write,s=o((...c)=>{let l=this.rawStdoutWrite(...c);return this.internalStreamWriteDepth===0&&this.handleExternalStreamWrite(),l},"guardedStdoutWrite"),a=o((...c)=>{let l=this.rawStderrWrite(...c);return this.internalStreamWriteDepth===0&&this.handleExternalStreamWrite(),l},"guardedStderrWrite");t.write=s,n.write=a,this.restoreStreamWriteGuard=()=>{t.write===s&&(t.write=r),n.write===a&&(n.write=i)}}handleExternalStreamWrite(){this.isUnmounted||this.invalidateCellFrame()}withInternalStreamWrite(t){this.internalStreamWriteDepth+=1;try{return t()}finally{this.internalStreamWriteDepth-=1}}writeStdout(t,...n){return this.withInternalStreamWrite(()=>this.rawStdoutWrite(t,...n))}writeStderr(t,...n){return this.withInternalStreamWrite(()=>this.rawStderrWrite(t,...n))}restoreLastOutput=o(()=>{if(this.prevFrame.screen.height===0)return;let t=zc(this.options.stdout.rows??24,this.getTerminalWidth()),n=this.cellLogUpdate.render(t,this.prevFrame);this.withInternalStreamWrite(()=>ff(this.options.stdout,n))},"restoreLastOutput");shouldRestoreManagedShellAfterExternalWrite=o(()=>this.altScreenActive,"shouldRestoreManagedShellAfterExternalWrite");calculateLayout=o(()=>{let t=this.getTerminalWidth();this.rootNode.yogaNode.setWidth(t),this.rootNode.yogaNode.calculateLayout(void 0,void 0,EL.DIRECTION_LTR)},"calculateLayout");onRender=o(()=>{if(this.hasPendingThrottledRender=!1,this.isUnmounted)return;let t=performance.now(),n={rows:this.options.stdout.rows??24,columns:this.getTerminalWidth()},{output:r,outputHeight:i,staticOutput:s,frame:a}=wh(this.rootNode,this.isScreenReaderEnabled,n);this.options.onRender?.({renderTime:performance.now()-t}),!io&&!this.options.debug&&!this.isScreenReaderEnabled&&!this.cursorHidden&&(this.writeStdout(gn.cursorHide),this.cursorHidden=!0);let c=s&&s!==`
|
|
28
|
-
`;if(this.options.debug){c&&(this.fullStaticOutput+=s),this.writeStdout(this.fullStaticOutput+r);return}if(io){c&&this.writeStdout(s),this.lastOutput=r,this.lastOutputToRender=r+`
|
|
29
|
-
`,this.lastOutputHeight=i;return}if(this.isScreenReaderEnabled){let C=ro(this.options.stdout);if(C&&this.writeStdout(no),c){let M=this.lastOutputHeight>0?gn.eraseLines(this.lastOutputHeight):"";this.writeStdout(M+s),this.lastOutputHeight=0}if(r===this.lastOutput&&!c){C&&this.writeStdout(Rr);return}let S=this.getTerminalWidth(),w=ML(r,S,{trim:!1,hard:!0});if(c)this.writeStdout(w);else{let M=this.lastOutputHeight>0?gn.eraseLines(this.lastOutputHeight):"";this.writeStdout(M+w)}this.lastOutput=r,this.lastOutputToRender=w,this.lastOutputHeight=w===""?0:w.split(`
|
|
30
|
-
`).length,C&&this.writeStdout(Rr);return}c&&(this.fullStaticOutput+=s);let d=!this.altScreenActive&&!!(a&&a.inputCursor)?[]:null,f=o(C=>{C&&(d?d.push(C):this.writeStdout(C))},"emit"),p=d?{write:f}:null;f(this.computeReturnToRestSeq());let h=this.altScreenActive,T=this.options.stdout.isTTY&&i>=this.options.stdout.rows&&h?r:r+`
|
|
31
|
-
`;if(this.lastOutputHeight>=this.options.stdout.rows&&h){if(_i.env.KODAX_FULLSCREEN_CELLDIFF!=="0"&&this.altScreenActive&&this.fullStaticOutput===""){let w=ro(this.options.stdout);w&&this.writeStdout(no),this.applyCellFrame(a),w&&this.writeStdout(Rr),this.lastOutput=r,this.lastOutputToRender=T,this.lastOutputHeight=i;return}let C=ro(this.options.stdout);C&&this.writeStdout(no);let S=this.fullStaticOutput+T;if(this.altScreenActive){let w=this.lastOutputHeight>0?gn.eraseLines(this.lastOutputHeight):"";this.writeStdout(w+S)}else this.writeStdout(gn.clearTerminal+this.fullStaticOutput+r);this.lastOutput=r,this.lastOutputToRender=this.altScreenActive?S:T,this.lastOutputHeight=i,this.invalidateCellFrame(),C&&this.writeStdout(Rr);return}let v=!d&&ro(this.options.stdout);try{if(c?(v&&f(no),f(this.eraseInlineLiveBlock()+s),this.invalidateCellFrame(),this.applyCellFrame(a,p),v&&f(Rr)):!this.altScreenActive&&this.prevFrame&&this.prevFrame.screen.height!==a.screen.height&&this.lastOutputHeight>0&&i<=this.options.stdout.rows&&this.lastOutputHeight<this.options.stdout.rows?(v&&f(no),f(this.eraseInlineLiveBlock()),this.invalidateCellFrame(),this.applyCellFrame(a,p),v&&f(Rr)):this.applyCellFrame(a,p),a?.inputCursor){let C=_h(a,!this.altScreenActive),S=C(a.cursor),w=C(a.inputCursor),M=Ah(w.x-S.x,w.y-S.y);f(M),this.displayCursor=w}}finally{d&&this.flushCursorTxn(d)}this.lastOutput=r,this.lastOutputToRender=T,this.lastOutputHeight=i},"onRender");applyCellFrame=o((t,n=null)=>{let r={cellLogUpdate:this.cellLogUpdate,prevFrame:this.prevFrame,stdout:n??this.options.stdout},i=ro(this.options.stdout),s={altScreen:this.altScreenActive,decstbmSafe:i,synchronized:n?!1:i,inlineBottomAnchored:!this.altScreenActive},a=this.withInternalStreamWrite(()=>UC(r,t,s));return this.prevFrame=r.prevFrame,a},"applyCellFrame");invalidateCellFrame=o(()=>{this.cellLogUpdate.reset(),this.prevFrame=zc(this.options.stdout.rows??24,this.getTerminalWidth())},"invalidateCellFrame");eraseInlineLiveBlock=o(()=>this.lastOutputHeight>0?gn.eraseLines(this.lastOutputHeight):"","eraseInlineLiveBlock");commitInlineScrollback=o(({mode:t,text:n})=>{if(this.altScreenActive||this.isUnmounted)return;let r=[],i=o(c=>{c&&r.push(c)},"emit"),s={write:i};i(this.computeReturnToRestSeq());let a=t==="rebuild"?"\x1B[2J\x1B[3J\x1B[H":this.eraseInlineLiveBlock();i(a+(n??"")),this.lastOutput="",this.lastOutputToRender="",this.lastOutputHeight=0,this.fullStaticOutput="",this.invalidateCellFrame();try{this.calculateLayout();let c={rows:this.options.stdout.rows??24,columns:this.getTerminalWidth()},{output:l,outputHeight:d,frame:f}=wh(this.rootNode,this.isScreenReaderEnabled,c);if(this.applyCellFrame(f,s),f?.inputCursor){let p=_h(f,!this.altScreenActive),h=p(f.cursor),g=p(f.inputCursor),T=Ah(g.x-h.x,g.y-h.y);i(T),this.displayCursor=g}this.lastOutput=l,this.lastOutputToRender=l,this.lastOutputHeight=d}finally{this.flushCursorTxn(r)}},"commitInlineScrollback");flushCursorTxn(t){let n=t.join("");if(!n)return;let r=ro(this.options.stdout);this.writeStdout(r?no+n+Rr:n)}render(t){let n=fI.createElement(Ys.Provider,{value:{isScreenReaderEnabled:this.isScreenReaderEnabled}},fI.createElement(uI,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,exitOnCtrlC:this.options.exitOnCtrlC,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,setCursorPosition:this.setCursorPosition,onExit:this.handleAppExit},t));this.options.concurrent?Zr.updateContainer(n,this.container,null,hf):(Zr.updateContainerSync(n,this.container,null,hf),Zr.flushSyncWork())}computeReturnToRestSeq(){if(this.displayCursor&&this.prevFrame){let t=_h(this.prevFrame,!this.altScreenActive)(this.prevFrame.cursor),n=Ah(t.x-this.displayCursor.x,t.y-this.displayCursor.y);return this.displayCursor=null,n}return""}returnCursorToRest(){let t=this.computeReturnToRestSeq();t&&this.writeStdout(t)}writeToStdout(t){if(this.isUnmounted)return;if(this.options.debug){this.writeStdout(t+this.fullStaticOutput+this.lastOutput);return}if(io){this.writeStdout(t);return}if(!this.shouldRestoreManagedShellAfterExternalWrite()){this.returnCursorToRest(),this.writeStdout(t),this.invalidateCellFrame();return}let n=ro(this.options.stdout);n&&this.writeStdout(no),this.returnCursorToRest();let r=this.lastOutputHeight>0?gn.eraseLines(this.lastOutputHeight):"";this.writeStdout(r+t),this.restoreLastOutput(),this.invalidateCellFrame(),n&&this.writeStdout(Rr)}writeToStderr(t){if(this.isUnmounted)return;if(this.options.debug){this.writeStderr(t),this.writeStdout(this.fullStaticOutput+this.lastOutput);return}if(io){this.writeStderr(t);return}if(!this.shouldRestoreManagedShellAfterExternalWrite()){this.returnCursorToRest(),this.writeStderr(t),this.invalidateCellFrame();return}let n=ro(this.options.stdout);n&&this.writeStdout(no),this.returnCursorToRest();let r=this.lastOutputHeight>0?gn.eraseLines(this.lastOutputHeight):"";r.length>0&&this.writeStdout(r),this.writeStderr(t),this.restoreLastOutput(),this.invalidateCellFrame(),n&&this.writeStdout(Rr)}unmount(t){if(this.isUnmounted||this.isUnmounting)return;this.isUnmounting=!0,this.beforeExitHandler&&(_i.off("beforeExit",this.beforeExitHandler),this.beforeExitHandler=void 0);let n=this.options.stdout,r=!n.destroyed&&!n.writableEnded&&(n.writable??!0);if(o(d=>{typeof d.flush=="function"&&(r?d.flush():typeof d.cancel=="function"&&d.cancel())},"settleThrottle")(this.throttledOnRender??{}),r&&(!this.throttledOnRender||!this.hasPendingThrottledRender&&this.fullStaticOutput==="")&&(this.calculateLayout(),this.onRender()),this.isUnmounted=!0,this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.restoreStreamWriteGuard=="function"&&(this.restoreStreamWriteGuard(),this.restoreStreamWriteGuard=void 0),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),this.cancelKittyDetection&&this.cancelKittyDetection(),r){if(this.kittyProtocolEnabled)try{this.writeStdout("\x1B[<u")}catch{}io&&this.writeStdout(this.lastOutput+`
|
|
32
|
-
`)}this.kittyProtocolEnabled=!1,this.shellTransitionPhase=void 0,this.options.concurrent?Zr.updateContainer(null,this.container,null,hf):(Zr.updateContainerSync(null,this.container,null,hf),Zr.flushSyncWork()),GC.delete(this.options.stdout);let{exitResult:s}=this,a=o(()=>{Lh(t)?this.rejectExitPromise(t):this.resolveExitPromise(s)},"resolveOrReject"),c=t!==void 0&&!Lh(t),l=n._writableState!==void 0||n.writableLength!==void 0;c?a():r&&l?this.writeStdout("",a):setImmediate(a)}async waitUntilExit(){return this.exitPromise||=new Promise((t,n)=>{this.resolveExitPromise=t,this.rejectExitPromise=n}),this.beforeExitHandler||(this.beforeExitHandler=()=>{this.unmount()},_i.once("beforeExit",this.beforeExitHandler)),this.exitPromise}clear(){if(!io&&!this.options.debug){this.returnCursorToRest();let t=this.altScreenActive?this.lastOutputHeight>0?gn.eraseLines(this.lastOutputHeight):"":this.eraseInlineLiveBlock();t.length>0&&this.writeStdout(t),this.lastOutput="",this.lastOutputToRender="",this.lastOutputHeight=0,this.invalidateCellFrame()}}patchConsole(){this.options.debug||(this.restoreConsole=vL((t,n)=>{t==="stdout"&&this.writeToStdout(n),t==="stderr"&&(n.startsWith("The above error occurred")||this.writeToStderr(n))}))}initKittyKeyboard(){if(!this.options.kittyKeyboard)return;let t=this.options.kittyKeyboard,n=t.mode??"auto";if(n==="disabled"||!this.options.stdin.isTTY||!this.options.stdout.isTTY)return;let r=t.flags??["disambiguateEscapeCodes"];if(n==="enabled"){this.enableKittyProtocol(r);return}let i=_i.env.TERM??"",s=_i.env.TERM_PROGRAM??"",a="KITTY_WINDOW_ID"in _i.env||i==="xterm-kitty"||s==="WezTerm"||s==="ghostty";!io&&a&&this.confirmKittySupport(r)}confirmKittySupport(t){let{stdin:n}=this.options,r=[],i=o(()=>{this.cancelKittyDetection=void 0,clearTimeout(a),n.removeListener("data",s);let c=HL(r);r=[],c.length>0&&n.unshift(Buffer.from(c))},"cleanup"),s=o(c=>{let l=typeof c=="string"?Buffer.from(c):c;for(let d of l)r.push(d);BL(r)&&(i(),this.isUnmounted||this.enableKittyProtocol(t))},"onData");n.on("data",s);let a=setTimeout(i,200);this.cancelKittyDetection=i,this.writeStdout("\x1B[?u")}enableKittyProtocol(t){this.writeStdout(`\x1B[>${dI(t)}u`),this.kittyProtocolEnabled=!0}},mI=WL;var Xc=class{static{o(this,"KodaXRenderer")}engineInstance;isConcurrent;constructor(t){this.engineInstance=new mI(t),this.isConcurrent=this.engineInstance.isConcurrent}render=o(t=>{this.engineInstance.render(t)},"render");unmount=o(t=>{this.engineInstance.unmount(t)},"unmount");waitUntilExit=o(()=>this.engineInstance.waitUntilExit(),"waitUntilExit");clear=o(()=>{this.engineInstance.clear()},"clear");setAltScreenActive=o((t,n)=>{this.engineInstance.setAltScreenActive?.(t,n)},"setAltScreenActive");setShellMode=o((t,n)=>{this.engineInstance.setShellMode?.(t,n)},"setShellMode");beginShellTransition=o(t=>{this.engineInstance.beginShellTransition?.(t)},"beginShellTransition");clearTextSelection=o(()=>{this.engineInstance.clearTextSelection?.()},"clearTextSelection");commitInlineScrollback=o(t=>{this.engineInstance.commitInlineScrollback?.(t)},"commitInlineScrollback")};var Po=null;function gI(){if(Po===-1)return null;if(Po!==null)return Po;let e=process.env.KODAX_RENDER_TRACE;if(!e||e==="0"||e==="false")return Po=-1,null;let t=e==="1"||e==="true"?VL(GL(),`kodax-render-trace-${process.pid}.log`):e;try{return Po=jL(t,"a"),hI(Po,`=== KODAX render trace pid=${process.pid} ${new Date().toISOString()} platform=${process.platform} node=${process.version} ===
|
|
33
|
-
`),Po}catch{return Po=-1,null}}o(gI,"resolveTraceFd");function KL(e){let t=gI();if(t!==null)try{hI(t,e)}catch{}}o(KL,"traceLine");var gf=new WeakMap,zL={isTTY:!1,columns:80,rows:24,write:o(()=>!0,"write"),on:o(()=>{},"on"),off:o(()=>{},"off")},YL={isTTY:!1,write:o(()=>!0,"write"),on:o(()=>{},"on"),off:o(()=>{},"off")},XL={isTTY:!1,isRaw:!1,on:o(()=>{},"on"),off:o(()=>{},"off"),pause:o(()=>{},"pause"),resume:o(()=>{},"resume"),setRawMode:o(()=>{},"setRawMode")};function qL(e={}){return e instanceof FL?{stdout:e}:e}o(qL,"getOptions");function QL(e,t,n){let r=gf.get(e);return r?r.isConcurrent!==n&&console.warn(`Warning: render() was called with concurrent: ${n}, but the existing renderer for this stdout uses concurrent: ${r.isConcurrent}. The concurrent option only takes effect on the first render. Call unmount() first if you need to change the rendering mode.`):(r=t(),gf.set(e,r)),r}o(QL,"getInstance");function Li(e){return gf.get(e)}o(Li,"getRendererInstance");function Ph(e,t){let n={stdout:zL,stdin:XL,stderr:YL,debug:!1,exitOnCtrlC:!0,patchConsole:!1,maxFps:30,concurrent:!1,...qL(t)};if(gI()!==null){let s=n.stdout,a=s.write.bind(s),c=0,l=0;s.write=((h,...g)=>(c+=1,l+=typeof h=="string"?Buffer.byteLength(h,"utf8"):h?.length??0,a(h,...g)));let d=0,f=0,p=n.onRender;n.onRender=h=>{let g=UL.now(),T=d===0?0:g-d,v=s,C=v.columns??0,S=v.rows??0;return KL(`frame=${f} renderTime=${h.renderTime.toFixed(2)}ms interval=${T.toFixed(2)}ms writes=${c} bytes=${l} viewport=${C}x${S}
|
|
34
|
-
`),c=0,l=0,d=g,f+=1,p?.(h)}}let i=QL(n.stdout,()=>new Xc(n),n.concurrent??!1);return i.render(e),{rerender:i.render,unmount(){i.unmount()},waitUntilExit:i.waitUntilExit,cleanup:o(()=>{gf.delete(n.stdout)},"cleanup"),clear:i.clear}}o(Ph,"render");var yI=Bn,xI=hn,SI=ah;import{Buffer as ZL}from"node:buffer";var eP=/^(?:\x1b)([a-zA-Z0-9])$/,tP=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,TI={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"},CI=[...Object.values(TI),"backspace"],nP=o(e=>["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(e),"isShiftKey"),rP=o(e=>["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(e),"isCtrlKey"),II=/^\x1b\[(\d+)(?:;(\d+)(?::(\d+))?(?:;([\d:]+))?)?u$/,oP=/^\x1b\[(\d+);(\d+):(\d+)([A-Za-z~])$/,iP={A:"up",B:"down",C:"right",D:"left",E:"clear",F:"end",H:"home",P:"f1",Q:"f2",R:"f3",S:"f4"},sP={2:"insert",3:"delete",5:"pageup",6:"pagedown",7:"home",8:"end",11:"f1",12:"f2",13:"f3",14:"f4",15:"f5",17:"f6",18:"f7",19:"f8",20:"f9",21:"f10",23:"f11",24:"f12"},wI={27:"escape",9:"tab",127:"delete",8:"backspace",57358:"capslock",57359:"scrolllock",57360:"numlock",57361:"printscreen",57362:"pause",57363:"menu",57376:"f13",57377:"f14",57378:"f15",57379:"f16",57380:"f17",57381:"f18",57382:"f19",57383:"f20",57384:"f21",57385:"f22",57386:"f23",57387:"f24"},bI=o(e=>e>=0&&e<=1114111&&!(e>=55296&&e<=57343),"isValidCodepoint"),$h=o(e=>bI(e)?String.fromCodePoint(e):"?","safeFromCodePoint");function vI(e){return e===3?"release":e===2?"repeat":"press"}o(vI,"resolveEventType");function RI(e){return{ctrl:!!(e&oo.ctrl),shift:!!(e&oo.shift),meta:!!(e&oo.meta),option:!!(e&oo.alt),super:!!(e&oo.super),hyper:!!(e&oo.hyper),capsLock:!!(e&oo.capsLock),numLock:!!(e&oo.numLock)}}o(RI,"parseKittyModifiers");function aP(e){let t=II.exec(e);if(!t)return null;let n=Number.parseInt(t[1],10),r=t[2]?Math.max(0,Number.parseInt(t[2],10)-1):0,i=t[3]?Number.parseInt(t[3],10):1,s=t[4];if(!bI(n))return null;let a;s&&(a=s.split(":").map(d=>$h(Number.parseInt(d,10))).join(""));let c,l;return n===32?(c="space",l=!0):n===13?(c="return",l=!0):wI[n]?(c=wI[n],l=!1):n>=1&&n<=26?(c=String.fromCodePoint(n+96),l=!1):(c=$h(n).toLowerCase(),l=!0),l&&!a&&(a=$h(n)),{name:c,...RI(r),eventType:vI(i),sequence:e,raw:e,isKittyProtocol:!0,isPrintable:l,text:a}}o(aP,"parseKittyKeypress");function cP(e){let t=oP.exec(e);if(!t)return null;let n=Number.parseInt(t[1],10),r=Math.max(0,Number.parseInt(t[2],10)-1),i=Number.parseInt(t[3],10),s=t[4],a=s==="~"?sP[n]:iP[s];return a?{name:a,...RI(r),eventType:vI(i),sequence:e,raw:e,isKittyProtocol:!0,isPrintable:!1}:null}o(cP,"parseKittySpecialKey");var Dh="\x1B[200~",lP="\x1B[201~";function uP(e){if(!e.startsWith(Dh))return null;let t=e.indexOf(lP,Dh.length);return t===-1?null:e.slice(Dh.length,t)}o(uP,"extractBracketedPaste");function Oh(e=""){let t=e,n;if(ZL.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t="\x1B"+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=""),typeof t=="string"){let a=uP(t);if(a!==null)return{name:"paste",ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t,isPaste:!0,isPrintable:!1,text:a}}let r=aP(t);if(r)return r;let i=cP(t);if(i)return i;if(II.test(t))return{name:"",ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t,isKittyProtocol:!0,isPrintable:!1};let s={name:"",ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t};if(s.sequence=s.sequence||t||s.name,t==="\r"||t==="\x1B\r")s.raw=void 0,s.name="return",s.option=t.length===2;else if(t===`
|
|
35
|
-
`)s.name="enter";else if(t===" ")s.name="tab";else if(t==="\b"||t==="\x1B\b")s.name="backspace",s.meta=t.charAt(0)==="\x1B";else if(t==="\x7F"||t==="\x1B\x7F")s.name="delete",s.meta=t.charAt(0)==="\x1B";else if(t==="\x1B"||t==="\x1B\x1B")s.name="escape",s.meta=t.length===2;else if(t===" "||t==="\x1B ")s.name="space",s.meta=t.length===2;else if(t.length===1&&t<="")s.name=String.fromCharCode(t.charCodeAt(0)+97-1),s.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")s.name="number";else if(t.length===1&&t>="a"&&t<="z")s.name=t;else if(t.length===1&&t>="A"&&t<="Z")s.name=t.toLowerCase(),s.shift=!0;else if(n=eP.exec(t))s.meta=!0,s.shift=/^[A-Z]$/.test(n[1]??"");else if(n=tP.exec(t)){let a=[...t];a[0]==="\x1B"&&a[1]==="\x1B"&&(s.option=!0);let c=[n[1],n[2],n[4],n[6]].filter(Boolean).join(""),l=Number(n[3]||n[5]||1)-1;s.ctrl=!!(l&4),s.meta=!!(l&10),s.shift=!!(l&1),s.code=c,s.name=TI[c]??"",s.shift=nP(c)||s.shift,s.ctrl=rP(c)||s.ctrl}return s}o(Oh,"parseKeypress");var pP=50;function xf(e){return{columns:e?.columns??80,rows:e?.rows??24}}o(xf,"resolveTerminalSize");var $o=dP(null),Nh={isTTY:!1,columns:80,rows:24,write:o(()=>!0,"write"),on:o(()=>{},"on"),off:o(()=>{},"off")};var AI={isTTY:!1,isRaw:!1,on:o(()=>{},"on"),off:o(()=>{},"off"),pause:o(()=>{},"pause"),resume:o(()=>{},"resume"),setRawMode:o(()=>{},"setRawMode")};function mP(e){for(let t of e)if(t.rawMode)return!0;return!1}o(mP,"hasRawModeSubscribers");function hP({stdin:e,setRawMode:t,isRawModeSupported:n}){let r=new Set,i,s=!1,a=!1,c=o(p=>{for(let h of r)h.listener(p)},"handleData"),l=o(()=>{if(a){try{t(!1)}catch{}a=!1}},"disableRawModeIfOwned"),d=o(()=>{let p=i;p?.off?.("data",c),l(),s&&(p?.unref?.(),s=!1),i=void 0},"detachInput"),f=o(()=>{if(i&&i!==e&&d(),!e||r.size===0){d();return}if(i!==e&&(e.hasRef?.()!==!0&&typeof e.ref=="function"&&(e.ref(),s=!0),e.on?.("data",c),e.resume?.(),i=e),!(n&&mP(r))){l();return}if(e.isRaw===!1&&!a)try{t(!0),a=!0}catch{a=!1}},"syncInputOwnership");return{subscribe(p,h={}){let g={listener:p,rawMode:h.rawMode!==!1};return r.add(g),f(),()=>{r.delete(g),f()}},dispose(){r.clear(),d()}}}o(hP,"createTerminalInputController");var gP=o(({children:e,runtime:t})=>{let[n,r]=fP(()=>t.terminalSize);na(()=>{if(r(xf(t.stdout)),typeof t.stdout?.on!="function"||typeof t.stdout?.off!="function")return;let c=o(()=>{r(xf(t.stdout))},"handleResize");return t.stdout.on("resize",c),()=>{t.stdout.off?.("resize",c)}},[t.stdout]);let i=MI(c=>typeof t.stdout?.write!="function"?!1:(t.stdout.write(c),!0),[t.stdout]),s=kI(()=>hP({stdin:t.stdin,setRawMode:t.setRawMode,isRawModeSupported:t.isRawModeSupported}),[t.stdin,t.isRawModeSupported,t.setRawMode]);na(()=>()=>{s.dispose()},[s]);let a=kI(()=>({stdout:t.stdout,stdin:t.stdin,setRawMode:t.setRawMode,isRawModeSupported:t.isRawModeSupported,exit:t.exit,terminalSize:n,isTTY:t.stdout?.isTTY===!0,writeRaw:i,subscribeInput:s.subscribe}),[s.subscribe,t.exit,t.isRawModeSupported,t.setRawMode,t.stdin,t.stdout,s.subscribe,n,i]);return EI($o.Provider,{value:a,children:e})},"TuiRuntimeProvider");function yP(e){let t=e?.stdout??Nh,n=e?.stdin??AI,r=o(s=>{typeof n?.setRawMode=="function"&&n.setRawMode(s)},"setRawMode"),i;return{stdout:t,stdin:n,setRawMode:r,isRawModeSupported:typeof n?.setRawMode=="function",exit:o(()=>{i?.()},"exit"),terminalSize:xf(t),isTTY:t?.isTTY===!0,writeRaw:o(s=>typeof t?.write!="function"?!1:(t.write(s),!0),"writeRaw"),subscribeInput:o(()=>()=>{},"subscribeInput"),attachExit(s){i=s}}}o(yP,"createRuntimeValue");function ra(e,t){let n=yP(t),r=Ph(EI(gP,{runtime:n,children:e}),t);return n.attachExit(r.unmount),r}o(ra,"render");var E=yI,I=xI,oa=SI;function xP(e){let t={upArrow:e.name==="up",downArrow:e.name==="down",leftArrow:e.name==="left",rightArrow:e.name==="right",pageDown:e.name==="pagedown",pageUp:e.name==="pageup",home:e.name==="home",end:e.name==="end",return:e.name==="return",escape:e.name==="escape",ctrl:e.ctrl,shift:e.shift,tab:e.name==="tab",backspace:e.name==="backspace",delete:e.name==="delete",meta:e.meta||e.name==="escape"||e.option===!0,super:e.super??!1,hyper:e.hyper??!1,capsLock:e.capsLock??!1,numLock:e.numLock??!1,eventType:e.eventType},n="";return e.isKittyProtocol?e.isPrintable?n=e.text??e.name:e.ctrl&&e.name.length===1&&(n=e.name):e.ctrl?n=e.name:n=e.sequence,!e.isKittyProtocol&&CI.includes(e.name)&&(n=""),n.startsWith("\x1B")&&(n=n.slice(1)),n.length===1&&typeof n[0]=="string"&&/[A-Z]/.test(n[0])&&(t.shift=!0),{input:n,key:t}}o(xP,"createCompatKeypress");function ia(e,t={}){let{isActive:n=!0}=t,r=yf(e),i=yf(null),s=yf(null);na(()=>{r.current=e},[e]),na(()=>{if(!n){i.current=null,s.current&&(clearTimeout(s.current),s.current=null);return}return i.current=pf(),()=>{i.current?.reset(),i.current=null,s.current&&(clearTimeout(s.current),s.current=null)}},[n]);let a=MI(c=>{let{input:l,key:d}=xP(Oh(c));r.current(l,d)},[]);Qc(c=>{if(!n)return;s.current&&(clearTimeout(s.current),s.current=null);let l=i.current,d=typeof c=="string"?c:c.toString("utf8"),f=l?.push(d)??[d];for(let p of f)a(p);d.length>0&&(s.current=setTimeout(()=>{let p=i.current?.flushPendingEscape();p&&a(p)},pP))},{isActive:n,rawMode:!0})}o(ia,"useInput");function kr(){return{stdout:Pi($o)?.stdout??Nh}}o(kr,"useStdout");function qc(){let e=Pi($o),t=e?.stdin??AI,n=e?.setRawMode??(r=>{typeof t?.setRawMode=="function"&&t.setRawMode(r)});return{stdin:t,setRawMode:n,isRawModeSupported:e?.isRawModeSupported??typeof t?.setRawMode=="function"}}o(qc,"useStdin");function Er(){return{exit:Pi($o)?.exit??(()=>{})}}o(Er,"useApp");function sa(){return Pi($o)?.stdout??Nh}o(sa,"useTerminalOutput");function aa(){let e=sa();return Pi($o)?.terminalSize??xf(e)}o(aa,"useTerminalSize");function ca(){let e=sa();return Pi($o)?.writeRaw??(n=>typeof e?.write!="function"?!1:(e.write(n),!0))}o(ca,"useTerminalWrite");function Qc(e,t={}){let{isActive:n=!0,rawMode:r=!0}=t,i=Pi($o),{stdin:s,setRawMode:a,isRawModeSupported:c}=qc(),l=yf(e);na(()=>{l.current=e},[e]),na(()=>{if(!n||!s)return;if(i)return i.subscribeInput(h=>{l.current(h)},{rawMode:r});let d=s,f=d.isRaw;r&&c&&f===!1&&a(!0);let p=o(h=>{l.current(h)},"handleData");return d.on?.("data",p),()=>{if(d.off?.("data",p),r&&c&&f===!1)try{a(!1)}catch{}}},[i,s,n,r,c,a])}o(Qc,"useTerminalInput");import{jsx as bP}from"react/jsx-runtime";import{useInsertionEffect as vP,useMemo as RP}from"react";var SP="\x1B[?1049h",wP="\x1B[?1049l";var TP="\x1B[2J",CP="\x1B[?1000h\x1B[?1002h\x1B[?1006h",IP="\x1B[?1006l\x1B[?1002l\x1B[?1000l";function Sf(e={}){let t=e.mouseTracking!==!1,n=e.clearOnEnter===!0;return SP+(n?TP:"")+"\x1B[H"+(t?CP:"")}o(Sf,"buildAlternateScreenEnterSequence");function wf(e={}){return(e.mouseTracking!==!1?IP:"")+wP}o(wf,"buildAlternateScreenExitSequence");var Bh=o(({children:e,mouseTracking:t=!0,enabled:n=!0,clearOnEnter:r=!1})=>{let i=sa(),{rows:s}=aa(),a=ca(),c=RP(()=>n&&i.isTTY===!0,[n,i]);return vP(()=>{if(!c)return;let l=Li(i);if(l?.setShellMode?.("virtual",t),l?.beginShellTransition?.("enter-alt-screen"),!!a(Sf({mouseTracking:t,clearOnEnter:r})))return l?.setAltScreenActive?.(!0,t),()=>{l?.beginShellTransition?.("exit-alt-screen"),l?.clearTextSelection?.(),l?.setAltScreenActive?.(!1),a(wf({mouseTracking:t}))}},[r,c,t,i,a]),bP(E,{flexDirection:"column",height:s,width:"100%",flexGrow:1,flexShrink:0,children:e})},"AlternateScreen");import{jsx as Do,jsxs as DI}from"react/jsx-runtime";import{jsx as EP}from"react/jsx-runtime";import MP,{useEffect as Tf,useImperativeHandle as AP,useMemo as _P,useRef as Cf,useCallback as Zc,useState as LP}from"react";function kP(e,t,n){return Math.max(t,Math.min(e,n))}o(kP,"clamp");function Jc(e){let t=Math.max(0,Math.floor(e.overscan??80)),n=Math.max(1,Math.floor(e.quantum??40)),r=Math.max(0,Math.floor(e.viewportHeight)),i=Math.max(0,Math.floor(e.contentHeight)),s=Math.max(0,i-r),a=kP(Math.floor(e.globalScrollTop),0,s),c=Math.floor(a/n),l=c*n,d=Math.max(0,l-t),f=Math.min(i,l+r+t),p=Math.max(0,f-d),h=a-d;return{blockTop:d,blockHeight:p,inBlockOffset:h,bin:c}}o(Jc,"computeOverscanWindow");function _I(e,t,n){let r=Jc({...n,globalScrollTop:e}),i=Jc({...n,globalScrollTop:t});return r.bin===i.bin}o(_I,"staysWithinOverscanBlock");function LI(e){let t=e??void 0;for(;t?.parentNode;)t=t.parentNode;return t&&typeof t.onRender=="function"?(t.onRender(),!0):!1}o(LI,"scheduleRenderFromNode");function PI(e){let t={...e,scrollHeight:Math.max(0,Math.floor(e.scrollHeight)),viewportHeight:Math.max(0,Math.floor(e.viewportHeight)),pendingDelta:Math.floor(e.pendingDelta)};return{...t,scrollTop:If(t,t.scrollTop)}}o(PI,"normalizeScrollSnapshot");function $I(e,t){return e.scrollTop===t.scrollTop&&e.scrollHeight===t.scrollHeight&&e.viewportHeight===t.viewportHeight&&e.pendingDelta===t.pendingDelta&&e.clampMin===t.clampMin&&e.clampMax===t.clampMax&&e.sticky===t.sticky&&e.overscanRows===t.overscanRows}o($I,"areSnapshotsEqual");function PP(e,t){return e.start===t.start&&e.end===t.end&&e.scrollTop===t.scrollTop&&e.scrollHeight===t.scrollHeight&&e.viewportHeight===t.viewportHeight&&e.viewportTop===t.viewportTop&&e.pendingDelta===t.pendingDelta&&e.sticky===t.sticky&&e.inWindowScrollTop===t.inWindowScrollTop}o(PP,"areWindowsEqual");function If(e,t){let n=Math.max(0,e.scrollHeight-e.viewportHeight),r=e.clampMin??0,i=e.clampMax??n;return Math.max(r,Math.min(Math.floor(t),Math.min(n,i)))}o(If,"clampScrollTop");function Hh(e){let t=Math.max(0,e.viewportHeight),n=If(e,e.scrollTop),r=Math.max(0,e.scrollHeight-n),i=Math.max(0,r-t),s=Math.max(0,Math.floor(e.overscanRows??0));if(s>0&&t>0){let a=Jc({globalScrollTop:i,viewportHeight:t,contentHeight:e.scrollHeight,overscan:s});return{start:a.blockTop,end:a.blockTop+a.blockHeight,scrollTop:n,scrollHeight:e.scrollHeight,viewportHeight:t,viewportTop:i,pendingDelta:e.pendingDelta,sticky:e.sticky,inWindowScrollTop:a.inBlockOffset}}return{start:i,end:r,scrollTop:n,scrollHeight:e.scrollHeight,viewportHeight:t,viewportTop:i,pendingDelta:e.pendingDelta,sticky:e.sticky,inWindowScrollTop:0}}o(Hh,"resolveScrollWindow");function $P(e){let t=If(e,e.scrollTop);return Math.max(0,e.scrollHeight-e.viewportHeight-t)}o($P,"resolveNativeScrollTop");var Wh=o(({children:e,width:t,flexGrow:n=0,flexShrink:r=1,paddingTop:i=0,scrollTop:s=0,scrollHeight:a=0,viewportHeight:c=0,stickyScroll:l=!0,scrollRef:d,onScrollTopChange:f,onStickyChange:p,onWindowChange:h,renderWindow:g,overscanRows:T})=>{let v=Cf(null),C=Cf(new Set),S=Cf(PI({scrollTop:s,scrollHeight:a,viewportHeight:c,pendingDelta:0,sticky:l,overscanRows:T})),[w,M]=LP(()=>Hh(S.current)),L=Cf(null),A=Zc(()=>{for(let de of C.current)de()},[]),H=Zc((de,ee=!0)=>{let he=S.current,we=PI(de),fe=Hh(we);return S.current=we,M(Te=>PP(Te,fe)?Te:fe),ee&&!$I(he,we)&&A(),{previous:he,snapshot:we,window:fe,changed:!$I(he,we)}},[A]),K=Zc(de=>{let ee=S.current,he=Math.max(0,Math.floor(ee.overscanRows??0)),we=v.current;if(he<=0||!we||ee.viewportHeight<=0)return!1;let fe=Math.max(0,ee.scrollHeight-ee.viewportHeight),Te=L.current??If(ee,ee.scrollTop),Oe=Math.max(0,Math.min(Math.floor(Te+de),fe)),X=Oe-Te;if(Oe===Te)return!0;let ce=Math.max(0,ee.scrollHeight-ee.viewportHeight-Te),_e=Math.max(0,ee.scrollHeight-ee.viewportHeight-Oe),tt={viewportHeight:ee.viewportHeight,contentHeight:ee.scrollHeight,overscan:he};if(!_I(ce,_e,tt))return!1;let q=Jc({...tt,globalScrollTop:_e});return we.scrollTop=_e,we.attributes&&(we.attributes.inWindowScrollTop=q.inBlockOffset,we.attributes.pendingScrollDelta=X),LI(we)?(L.current=Oe,ee.sticky&&(S.current={...S.current,sticky:!1},p?.(!1)),A(),!0):!1},[A,p]),W=Zc(de=>{let ee=v.current;ee&&S.current.overscanRows&&(ee.scrollTop=de.viewportTop)},[]);Tf(()=>{let de=S.current,ee={scrollTop:s,scrollHeight:a,viewportHeight:c,pendingDelta:0,clampMin:de.clampMin,clampMax:de.clampMax,sticky:l,overscanRows:T},he=H(ee);he.previous.sticky!==l&&p?.(l),he.window.scrollTop!==s&&f?.(he.window.scrollTop)},[H,p,f,T,a,s,l,c]);let ne=Zc(()=>{let de=v.current;if(!de)return;L.current=null;let ee=typeof de.scrollHeight=="number"?Math.max(0,Math.floor(de.scrollHeight)):void 0,he=typeof de.scrollViewportHeight=="number"?Math.max(0,Math.floor(de.scrollViewportHeight)):void 0,we=typeof de.scrollViewportTop=="number"?Math.max(0,Math.floor(de.scrollViewportTop)):void 0;if(ee===void 0||he===void 0||we===void 0)return;let fe=Math.max(0,ee-he-we),Te=H({...S.current,scrollTop:fe,scrollHeight:ee,viewportHeight:he});Te.changed&&Te.window.scrollTop!==Te.previous.scrollTop&&f?.(Te.window.scrollTop)},[H,f]);Tf(()=>{ne()},[ne]);let x=_P(()=>({scrollTo(de){L.current=null;let ee=H({...S.current,scrollTop:de,pendingDelta:0,sticky:!1});ee.previous.sticky!==!1&&p?.(!1),W(ee.window),f?.(ee.window.scrollTop)},scrollBy(de){if(K(de))return;let ee=L.current??S.current.scrollTop;L.current=null;let he=H({...S.current,scrollTop:ee+de,pendingDelta:S.current.pendingDelta+Math.floor(de),sticky:!1});he.previous.sticky!==!1&&p?.(!1),W(he.window),f?.(he.window.scrollTop)},scrollToElement(de,ee=0){L.current=null;let he=H({...S.current,scrollTop:de-ee,pendingDelta:0,sticky:!1});he.previous.sticky!==!1&&p?.(!1),W(he.window),f?.(he.window.scrollTop)},scrollToBottom(){L.current=null;let de=H({...S.current,scrollTop:0,pendingDelta:0,sticky:!0});W(de.window),f?.(de.window.scrollTop),de.previous.sticky!==!0&&p?.(!0)},getScrollTop(){return L.current??S.current.scrollTop},getPendingDelta(){return S.current.pendingDelta},getScrollHeight(){return v.current?.scrollHeight??S.current.scrollHeight},getViewportHeight(){return v.current?.scrollViewportHeight??w.viewportHeight},getViewportTop(){return v.current?.scrollViewportTop??w.viewportTop},isSticky(){return S.current.sticky},subscribe(de){return C.current.add(de),()=>{C.current.delete(de)}},setClampBounds(de,ee){L.current=null;let he=H({...S.current,clampMin:de,clampMax:ee});W(he.window),he.window.scrollTop!==he.previous.scrollTop&&f?.(he.window.scrollTop)}}),[H,f,p,K,W]);AP(d,()=>x,[x]),Tf(()=>{h?.(w)},[h,w]),Tf(()=>{S.current.pendingDelta!==0&&(S.current={...S.current,pendingDelta:0})},[w]);let Ce=L.current!==null,J=Ce?{...S.current,scrollTop:L.current}:S.current,D=Ce?Hh(J):w,k=g?g(D):e,B=Math.max(0,c+i),Se=$P(J);return MP.createElement("ink-box",{ref:v,style:{flexWrap:"nowrap",flexDirection:"row",flexGrow:n,flexShrink:r,width:t,height:B,paddingTop:i,overflowX:"visible",overflowY:"scroll"},scrollTop:Se,scrollHeight:S.current.scrollHeight,scrollViewportHeight:S.current.viewportHeight,scrollViewportTop:D.viewportTop,pendingScrollDelta:S.current.pendingDelta,virtualScrollWindowed:!!g,...S.current.overscanRows?{inWindowScrollTop:D.inWindowScrollTop}:{},...S.current.clampMin!==void 0?{scrollClampMin:S.current.clampMin}:{},...S.current.clampMax!==void 0?{scrollClampMax:S.current.clampMax}:{},...l?{stickyScroll:!0}:{}},EP(E,{flexDirection:"column",flexGrow:1,flexShrink:0,width:"100%",children:k}))},"ScrollBox");var DP=80;function el(e){if(!(!e?.visible||!e.label))return e.hint?`${e.label}: ${e.hint}`:e.label}o(el,"resolveFullscreenChromeSlotText");function bf(e,t){if(!e)return 0;let n=Math.max(1,(typeof t=="number"?t:DP)-2);return Math.max(1,dn(e.split(`
|
|
36
|
-
`),n,0,0).visualLines.length)}o(bf,"measureFullscreenChromeSlotRows");var Fh=o(({top:e,topRows:t=0,scrollable:n,renderScrollableWindow:r,bottom:i,overlay:s,stickyHeader:a,jumpToLatest:c,width:l,scrollTop:d=0,scrollHeight:f=0,viewportHeight:p=0,stickyScroll:h=!0,scrollRef:g,onScrollTopChange:T,onStickyChange:v,onWindowChange:C,overscanRows:S})=>{let w=o((x,Ce)=>Ce?Do(E,{paddingX:1,children:Do(I,{dimColor:x?.tone!=="accent",children:Ce})}):null,"renderChromeSlot"),M=el(a),L=el(c),A=bf(M,l),H=w(a,M),K=s?null:w(c,L),W=Math.max(0,e?t:0),ne=Math.max(0,p-A-W);return DI(E,{flexDirection:"column",width:l,flexGrow:1,flexShrink:0,children:[e?Do(E,{flexDirection:"column",flexShrink:0,children:e}):null,DI(E,{flexDirection:"column",flexGrow:1,overflowY:"hidden",children:[Do(Wh,{width:l,flexGrow:1,flexShrink:1,paddingTop:A,scrollTop:d,scrollHeight:f,viewportHeight:ne,stickyScroll:h,scrollRef:g,onScrollTopChange:T,onStickyChange:v,onWindowChange:C,renderWindow:r,overscanRows:S,children:n}),H?Do(E,{position:"absolute",top:0,left:0,right:0,flexDirection:"column",children:H}):null,K?Do(E,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:K}):null,s?Do(E,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:s}):null]}),Do(E,{flexDirection:"column",flexShrink:0,children:i})]})},"FullscreenLayout");import NP from"string-width";function BP(){return aa().columns}o(BP,"useTerminalWidth");var Rf=o(({lines:e,cursorRow:t,cursorCol:n,prompt:r=">",placeholder:i="Type your message...",focus:s=!0,terminalFocused:a=!0,isPasting:c=!1,editingMode:l="idle",theme:d="dark",width:f})=>{let p=vf(()=>oe(d),[d]),h=BP(),g=f??h,T=NP(r)+1,v=vf(()=>{let A=Math.max(20,g-T);return dn(e,A,t,n)},[e,g,t,n,T]),C=vf(()=>{if(!v)return null;let[A,H]=Yd(v,[t,n]);return{row:A,col:H}},[v,t,n]),S=s&&a,w=c&&e.some(A=>A.length>0),M=v,L=C;return Hn(E,{flexDirection:"column",borderStyle:"round",borderColor:p.colors.dim,borderTop:!0,borderBottom:!0,borderLeft:!1,borderRight:!1,width:f??"100%",children:[w?yn(E,{children:yn(I,{dimColor:!0,children:l==="pasting"?"Pasting input...":"Editing input..."})}):null,M.visualLines.length===0||M.visualLines.length===1&&M.visualLines[0]===""?Hn(E,{children:[Hn(I,{color:p.colors.primary,children:[r," "]}),S?Hn(OP,{children:[yn(I,{internal_cursorAnchor:!0,backgroundColor:p.colors.primary,color:"#000000",children:" "}),yn(I,{dimColor:!0,children:i})]}):yn(I,{dimColor:!0,children:i})]}):M.visualLines.map((A,H)=>{let K=H===L.row,W=H===0?r:" ".repeat(T-1);if(K&&S){let{before:ne,current:x,after:Ce}=zT(A,L.col),J=x||" ";return Hn(E,{children:[Hn(I,{color:p.colors.primary,children:[W," "]}),yn(I,{color:p.colors.text,children:ne}),yn(I,{internal_cursorAnchor:!0,backgroundColor:p.colors.primary,color:"#000000",children:J}),yn(I,{color:p.colors.text,children:Ce})]},H)}return Hn(E,{children:[Hn(I,{color:p.colors.dim,children:[W," "]}),yn(I,{color:p.colors.text,children:A})]},H)})]})},"TextInput"),OI=o(({value:e,cursorCol:t,prompt:n=">",placeholder:r,focus:i=!0,theme:s="dark"})=>{let a=vf(()=>oe(s),[s]);if(!e)return Hn(E,{children:[Hn(I,{color:a.colors.primary,children:[n," "]}),r&&yn(I,{dimColor:!0,children:r}),i&&yn(I,{backgroundColor:a.colors.primary,color:"#000000",children:" "})]});let c=un(e),l=c.slice(0,t).join(""),d=c[t]??" ",f=c.slice(t+1).join("");return Hn(E,{children:[Hn(I,{color:a.colors.primary,children:[n," "]}),yn(I,{color:a.colors.text,children:l}),yn(I,{backgroundColor:a.colors.primary,color:"#000000",children:d}),yn(I,{color:a.colors.text,children:f})]})},"SingleLineTextInput");var jh={"[A":{name:"up"},"[B":{name:"down"},"[C":{name:"right"},"[D":{name:"left"},"[200~":{name:"paste_start"},"[201~":{name:"paste_end"},"[Z":{name:"tab",shift:!0},"[1;2A":{name:"up",shift:!0},"[1;2B":{name:"down",shift:!0},"[1;2C":{name:"right",shift:!0},"[1;2D":{name:"left",shift:!0},"[13;2u":{name:"return",shift:!0},"[13;3u":{name:"return",meta:!0},"[13;5u":{name:"return",ctrl:!0},"[H":{name:"home"},"[F":{name:"end"},"[1~":{name:"home"},"[4~":{name:"end"},"[7~":{name:"home"},"[8~":{name:"end"},"[2~":{name:"insert"},"[3~":{name:"delete"},"[5~":{name:"pageup"},"[6~":{name:"pagedown"},"[11~":{name:"f1"},"[12~":{name:"f2"},"[13~":{name:"f3"},"[14~":{name:"f4"},"[15~":{name:"f5"},"[17~":{name:"f6"},"[18~":{name:"f7"},"[19~":{name:"f8"},"[20~":{name:"f9"},"[21~":{name:"f10"},"[23~":{name:"f11"},"[24~":{name:"f12"},OP:{name:"f1"},OQ:{name:"f2"},OR:{name:"f3"},OS:{name:"f4"},OA:{name:"up"},OB:{name:"down"},OC:{name:"right"},OD:{name:"left"},OH:{name:"home"},OF:{name:"end"}},HP=/^\x1b\[([0-9]+);?([0-9]+)?([~A-Za-z])?/,WP=/^\x1b\[<(\d+);(\d+);(\d+)([Mm])$/;function FP(e){switch(e&3){case 0:return"left";case 1:return"middle";case 2:return"right";default:return"unknown"}}o(FP,"parseMouseButton");function jP(e){return{shift:(e&1)!==0,alt:(e&2)!==0,ctrl:(e&4)!==0,meta:(e&8)!==0}}o(jP,"parseModifier");function tl(e,t=!1){let n={name:"",sequence:e,ctrl:!1,meta:!1,shift:!1,insertable:!1,isPasted:!1};if(!e||e.length===0)return n;let r=e.match(WP);if(r){let[,i,s,a,c]=r,l=Number(i),d=Number(s),f=Number(a),p=l&28;return n.shift=(p&4)!==0,n.meta=(p&8)!==0,n.ctrl=(p&16)!==0,l===64?(n.name="wheelup",n.mouse={action:"wheel",button:"wheelup",row:f,column:d},n):l===65?(n.name="wheeldown",n.mouse={action:"wheel",button:"wheeldown",row:f,column:d},n):(n.name="mouse",n.mouse={action:c==="m"?"release":(l&32)!==0?"drag":"press",button:FP(l),row:f,column:d},n)}if(e===`\r
|
|
37
|
-
`)return n.name="newline",n;if(e==="\r")return n.name=t?"newline":"return",n;if(e===`
|
|
38
|
-
`)return n.name="newline",n;if(e===" ")return n.name="tab",n;if(e==="\b"||e==="\x7F")return n.name="backspace",n;if(e==="\x1B\b"||e==="\x1B\x7F")return n.name="backspace",n.meta=!0,n;if(e==="\x1B\r"||e===`\x1B
|
|
39
|
-
`)return n.name=e==="\x1B\r"?"return":"enter",n.shift=!0,n;if(e==="\x1B"||e==="\x1B\x1B")return n.name="escape",n.meta=e.length===2,n;if(e===" "||e==="\x1B ")return n.name="space",n.meta=e.length===2,n.insertable=!n.meta,n;if(e.length===1&&e.charCodeAt(0)<=26)return n.name=String.fromCharCode(e.charCodeAt(0)+96),n.ctrl=!0,n;if(e.length===1&&e>="0"&&e<="9"||e.length===1&&e>="a"&&e<="z")return n.name=e,n.insertable=!0,n;if(e.length===1&&e>="A"&&e<="Z")return n.name=e.toLowerCase(),n.shift=!0,n.insertable=!0,n;if(e.length===1&&e.charCodeAt(0)>=32)return n.name=e,n.insertable=!0,n;if(e.startsWith("\x1B")){let i=e.slice(1);if(i.length===1)return n.meta=!0,i>="a"&&i<="z"?(n.name=i,n.insertable=!0):i>="A"&&i<="Z"?(n.name=i.toLowerCase(),n.shift=!0,n.insertable=!0):i.charCodeAt(0)>=32&&(n.name=i,n.insertable=!0),n;let s=e.match(HP);if(s){let[,l,d,f]=s,p=f||"~",g=jh[i];if(g)return Object.assign(n,g),n;let T="["+l+p+"]",v=jh[T];if(v&&v.name){if(n.name=v.name,d){let C=parseInt(d,10)-1,S=jP(C);Object.assign(n,S)}return n}}let c=jh[i];if(c)return Object.assign(n,c),n;if(e.startsWith("\x1B\x1B")){n.meta=!0;let l="\x1B"+e.slice(2),d=tl(l);return n.name=d.name,n}}return n}o(tl,"parseKeypress");var la=class{static{o(this,"KeypressParser")}buffer="";listeners=[];flushing=!1;inBracketedPaste=!1;pasteAccumulator="";onKeypress(t){return this.listeners.push(t),()=>{let n=this.listeners.indexOf(t);n>=0&&this.listeners.splice(n,1)}}feed(t,n=!1){let r=typeof t=="string"?t:t.toString("utf8");this.buffer+=r,this.flushing=n,this.processBuffer()}processBuffer(){for(;this.buffer.length>0;){let t=this.extractNextSequence();if(!t){if(this.flushing&&this.buffer.length>0){let s=this.buffer;this.buffer="";let a=tl(s,this.inBracketedPaste);this.emit(a)}break}let{sequence:n,remaining:r}=t;this.buffer=r;let i=tl(n,this.inBracketedPaste);if(i.name==="paste_start"){this.inBracketedPaste=!0,this.pasteAccumulator="";continue}if(i.name==="paste_end"){this.inBracketedPaste=!1,this.flushPasteAccumulator();continue}this.emit(i)}}flushPasteAccumulator(){if(this.pasteAccumulator.length===0)return;let t={name:"paste",sequence:this.pasteAccumulator,ctrl:!1,meta:!1,shift:!1,insertable:!0,isPasted:!0};this.pasteAccumulator="";for(let n of this.listeners)n(t)}extractNextSequence(){if(this.buffer.length===0)return null;let t=this.buffer[0];if(t!=="\x1B")return t==="\r"&&this.buffer.length>=2&&this.buffer[1]===`
|
|
40
|
-
`?{sequence:this.buffer.slice(0,2),remaining:this.buffer.slice(2)}:{sequence:this.buffer[0],remaining:this.buffer.slice(1)};if(this.buffer.length===1)return this.flushing?{sequence:this.buffer,remaining:""}:null;let n=this.buffer[1];if(n!=="["&&n!=="O")return{sequence:this.buffer.slice(0,2),remaining:this.buffer.slice(2)};if(this.buffer.startsWith("\x1B[<")){let a=3;for(;a<this.buffer.length;){let c=this.buffer[a];if(!c)break;if(c>="0"&&c<="9"||c===";"||c==="<"){a++;continue}if(c==="M"||c==="m")return a++,{sequence:this.buffer.slice(0,a),remaining:this.buffer.slice(a)};break}return this.flushing?{sequence:this.buffer,remaining:""}:null}let r=2;for(;r<this.buffer.length;){let a=this.buffer[r];if(!a)break;if(a>="0"&&a<="9"||a===";"){r++;continue}if(a>="A"&&a<="Z"||a>="a"&&a<="z"||a==="~"){r++;break}break}let i=this.buffer[r-1];return i&&(i>="A"&&i<="Z"||i>="a"&&i<="z"||i==="~")?{sequence:this.buffer.slice(0,r),remaining:this.buffer.slice(r)}:this.flushing?{sequence:this.buffer.slice(0,r),remaining:this.buffer.slice(r)}:null}emit(t){if(this.inBracketedPaste){if(t.isPasted=!0,t.insertable){this.pasteAccumulator+=t.sequence;return}if(t.name==="newline"){this.pasteAccumulator+=`
|
|
41
|
-
`;return}return}for(let n of this.listeners)n(t)}clear(){this.buffer=""}};function Uh(e){return["up","down","left","right","home","end","insert","delete","pageup","pagedown","wheelup","wheeldown","f1","f2","f3","f4","f5","f6","f7","f8","f9","f10","f11","f12","tab","return","enter","backspace","escape"].includes(e.name)}o(Uh,"isFunctionKey");function NI(e){return e.ctrl||e.meta||Uh(e)?!1:e.sequence.length===1&&e.sequence.charCodeAt(0)>=32}o(NI,"isPrintable");function BI(e){let t=[];return e.ctrl&&t.push("Ctrl"),e.meta&&t.push("Alt"),e.shift&&t.push("Shift"),e.name?t.push(e.name.toUpperCase()):e.sequence&&t.push(e.sequence),t.join("+")}o(BI,"getKeyDisplayName");import UP,{createContext as GP,useContext as VP,useEffect as HI,useCallback as KP,useRef as Gh}from"react";var zP=50;function kf(){let e=new Map,t=null,n=o(()=>(t===null&&(t=[...e.keys()].sort((r,i)=>i-r)),t),"getSortedPriorities");return{register(r,i){return e.has(r)||e.set(r,[]),e.get(r).push(i),t=null,()=>{let s=e.get(r);if(!s)return;let a=s.indexOf(i);a>=0&&s.splice(a,1),s.length===0&&e.delete(r),t=null}},dispatch(r){let i=n();for(let s of i){let a=e.get(s);if(a)for(let c=a.length-1;c>=0;c-=1){let l=a[c];if(l&&l(r)===!0)return!0}}return!1},size(){let r=0;for(let i of e.values())r+=i.length;return r}}}o(kf,"createKeypressManager");var WI=GP(null);function nl({children:e,enabled:t=!0}){let{stdout:n}=kr(),r=Gh(kf()),i=Gh(null),s=Gh(null),a=KP(c=>{t&&r.current.dispatch(c)},[t]);return HI(()=>{if(!t)return;n?.write?.("\x1B[?2004h");let c=new la;i.current=c;let l=c.onKeypress(a);return()=>{s.current&&(clearTimeout(s.current),s.current=null),l(),i.current=null;try{n?.write?.("\x1B[?2004l")}catch{}}},[a,t,n]),Qc(c=>{t&&(s.current&&clearTimeout(s.current),i.current?.feed(c),c.length!==0&&(s.current=setTimeout(()=>{i.current?.feed("",!0)},zP)))},{isActive:t,rawMode:!0}),UP.createElement(WI.Provider,{value:r.current},e)}o(nl,"KeypressProvider");function Ef(){let e=VP(WI);if(!e)throw new Error("useKeypressManager must be used within a KeypressProvider");return e}o(Ef,"useKeypressManager");function En(e,t,n=[]){let r=Ef(),i=typeof e=="function",s,a,c;if(i){s=e;let l=t??{};c=l.isActive??!0;let d=l.priority;a=typeof d=="boolean"?d?ln.High:ln.Normal:d??ln.Normal}else a=typeof e=="boolean"?e?ln.High:ln.Normal:e,s=t,c=!0;HI(()=>c?r.register(a,s):void 0,[r,a,c,...i?[]:n])}o(En,"useKeypress");function Wn(e){return t=>!(e.name!==void 0&&t.name!==e.name||e.ctrl!==void 0&&t.ctrl!==e.ctrl||e.meta!==void 0&&t.meta!==e.meta||e.shift!==void 0&&t.shift!==e.shift||e.sequence!==void 0&&t.sequence!==e.sequence||e.insertable!==void 0&&t.insertable!==e.insertable)}o(Wn,"createKeyMatcher");var Vh={isEnter:Wn({name:"return"}),isEscape:Wn({name:"escape"}),isCtrlC:Wn({name:"c",ctrl:!0}),isCtrlD:Wn({name:"d",ctrl:!0}),isUp:Wn({name:"up"}),isDown:Wn({name:"down"}),isLeft:Wn({name:"left"}),isRight:Wn({name:"right"}),isBackspace:Wn({name:"backspace"}),isDelete:Wn({name:"delete"}),isTab:Wn({name:"tab"}),isShiftEnter:o(e=>e.name==="return"&&e.shift===!0,"isShiftEnter"),isCtrlEnter:o(e=>e.name==="return"&&e.ctrl===!0,"isCtrlEnter"),isInsertable:o(e=>e.insertable===!0&&!e.ctrl&&!e.meta,"isInsertable")};import{jsx as ZP}from"react/jsx-runtime";import{useState as e1,useEffect as UI,useCallback as Oo,useMemo as GI,createContext as t1,useContext as VI}from"react";function YP(e,t){if(!e)return{matched:!0,score:0,highlights:[]};if(e.length>t.length)return{matched:!1,score:0,highlights:[]};let n=e.toLowerCase(),r=t.toLowerCase(),i=0,s=-1,a=[];for(let l=0;l<e.length;l++){let d=n[l];if(d===void 0)continue;let f=r.indexOf(d,s+1);if(f===-1)return{matched:!1,score:0,highlights:[]};f===s+1?i+=10:f===0?i+=5:i-=1,t[f]===e[l]&&(i+=2),a.push(f),s=f}let c=XP(t,a);return i+=c,{matched:!0,score:i,highlights:a}}o(YP,"fuzzyMatch");function XP(e,t){let n=0;for(let r of t)if(r===0)n+=3;else if(r>0){let i=e[r-1];(i===" "||i==="-"||i==="_")&&(n+=2)}return n}o(XP,"calculateWordBoundaryBonus");function qP(e,t){return e?t.toLowerCase().startsWith(e.toLowerCase()):!0}o(qP,"prefixMatch");function QP(e,t){if(qP(e,t)){let i=e?Array.from({length:e.length},(s,a)=>a):[];return{matched:!0,score:100+e.length*10,highlights:i,isPrefix:!0}}return{...YP(e,t),isPrefix:!1}}o(QP,"combinedMatch");function FI(e,t,n=0){return e?t.map(r=>{let i=QP(e,r.text);return{...r,_fuzzyScore:i.matched?i.score:-1,_fuzzyHighlights:i.highlights}}).filter(r=>(r._fuzzyScore??-1)>=n).sort((r,i)=>{let s=(i._fuzzyScore??0)-(r._fuzzyScore??0);return s!==0?s:r.text.length-i.text.length}):t}o(FI,"sortCandidatesCombined");var JP={debounceDelay:100,minTriggerChars:1,maxCompletions:10,minScore:0},Kh=class{static{o(this,"AutocompleteProvider")}completers;options;state;listeners=new Set;debounceTimer=null;lastInput="";lastCursorPos=0;constructor(t={}){this.options={...JP,...t},this.completers=[new eh(this.options.gitRoot),new WT,new FT,new jd(this.options.cwd)],this.state={visible:!1,selectedIndex:0,completions:[],loading:!1}}getOptions(){return{...this.options}}getState(){return{...this.state}}subscribe(t){return this.listeners.add(t),()=>this.listeners.delete(t)}updateOptions(t){let n=t.gitRoot!==void 0&&t.gitRoot!==this.options.gitRoot,r=t.cwd!==void 0&&t.cwd!==this.options.cwd;if(this.options={...this.options,...t},n&&this.completers.find(s=>s instanceof eh)?.setGitRoot(this.options.gitRoot),r){let i=this.completers.findIndex(s=>s instanceof jd);i!==-1&&(this.completers[i]=new jd(this.options.cwd))}}handleInput(t,n){if(this.lastInput=t,this.lastCursorPos=n,this.debounceTimer&&clearTimeout(this.debounceTimer),!this.shouldTrigger(t,n)){this.state.visible&&this.updateState({visible:!1,completions:[],selectedIndex:0});return}this.debounceTimer=setTimeout(()=>{this.fetchCompletions(t,n)},this.options.debounceDelay)}async fetchImmediate(t,n){return this.fetchCompletionsInternal(t,n)}selectPrevious(){if(!this.state.visible||this.state.completions.length===0)return;let t=this.state.selectedIndex>0?this.state.selectedIndex-1:this.state.completions.length-1;this.updateState({selectedIndex:t})}selectNext(){if(!this.state.visible||this.state.completions.length===0)return;let t=this.state.selectedIndex<this.state.completions.length-1?this.state.selectedIndex+1:0;this.updateState({selectedIndex:t})}getSelectedCompletion(){return!this.state.visible||this.state.completions.length===0?null:this.state.completions[this.state.selectedIndex]??null}acceptCompletion(){let t=this.getSelectedCompletion();return t?(this.updateState({visible:!1,completions:[],selectedIndex:0}),t.text):null}acceptCompletionWithType(){let t=this.getSelectedCompletion();return t?(this.updateState({visible:!1,completions:[],selectedIndex:0}),{text:t.text,type:t.type}):null}cancel(){this.debounceTimer&&(clearTimeout(this.debounceTimer),this.debounceTimer=null),this.state.visible&&this.updateState({visible:!1,completions:[],selectedIndex:0})}shouldTrigger(t,n){if(t.length<this.options.minTriggerChars)return!1;let r=t.slice(0,n),s=th(r)!==-1,a=r.lastIndexOf("@"),c=a===0||a>0&&/\s/.test(r[a-1]??"");return s||c}fetchCompletions(t,n){this.updateState({loading:!0}),this.fetchCompletionsInternal(t,n).then(r=>{this.lastInput!==t||this.lastCursorPos!==n||(r.length>0?this.updateState({visible:!0,completions:r.slice(0,this.options.maxCompletions),selectedIndex:0,loading:!1}):this.updateState({visible:!1,completions:[],selectedIndex:0,loading:!1}))}).catch(()=>{this.updateState({loading:!1})})}async fetchCompletionsInternal(t,n){let r=this.completers.filter(l=>l.canComplete(t,n));if(r.length===0)return[];let i=[];for(let l of r)try{let d=await l.getCompletions(t,n);i.push(...d)}catch(d){Lt({source:"repl:autocomplete",level:"error",message:"Completer failed; continuing with remaining completers.",detail:d})}let s=this.extractPattern(t,n),a=i.map((l,d)=>({_idx:d,text:l.type==="command"&&l.display.startsWith("/")?l.display.slice(1):l.display}));return FI(s,a,this.options.minScore).map(l=>i[l._idx]).filter(l=>l!==void 0)}extractPattern(t,n){let r=t.slice(0,n),i=th(r);if(i!==-1){let c=r.slice(i),l=c.match(/^\/skill:(\S*)$/);if(l)return l[1]??"";let d=c.match(/^\/(\S*)$/);if(d)return d[1]??"";let f=c.split(/\s+/);return(f[f.length-1]??"").toLowerCase()}let s=r.lastIndexOf("@");if(s!==-1){let c=r.slice(s+1),l=c.lastIndexOf("/");return l===-1?c:c.slice(l+1)}let a=r.match(/(\S+)$/);return a?a[1]??"":""}updateState(t){this.state={...this.state,...t};for(let n of this.listeners)try{n(this.state)}catch(r){Lt({source:"repl:autocomplete",level:"error",message:"Listener failed during autocomplete state update.",detail:r})}}};function jI(e){return new Kh(e)}o(jI,"createAutocompleteProvider");var zh=t1(null);function Mf({children:e,cwd:t,gitRoot:n}){let r=rl({cwd:t,gitRoot:n,enabled:!0});return ZP(zh.Provider,{value:r,children:e})}o(Mf,"AutocompleteContextProvider");function No(){return VI(zh)}o(No,"useAutocompleteContext");function n1(e,t){let n={command:"command",file:"file",argument:"argument",skill:"skill"},r={command:"\u26A1",file:"\u{1F4C4}",argument:"\u2022",skill:"\u2605"};return{id:`autocomplete-${t}`,text:e.text,displayText:e.display,description:e.description,type:n[e.type]??"command",icon:r[e.type]??">"}}o(n1,"completionToSuggestion");function rl(e={}){let t=VI(zh);return t&&!e.cwd&&!e.gitRoot?t:r1(e)}o(rl,"useAutocomplete");function r1(e){let{cwd:t,gitRoot:n,enabled:r=!0}=e,i=GI(()=>jI({cwd:t,gitRoot:n,debounceDelay:100,minTriggerChars:1,maxCompletions:50}),[]);UI(()=>{i.updateOptions({cwd:t,gitRoot:n})},[i,t,n]);let[s,a]=e1({visible:!1,selectedIndex:0,completions:[],loading:!1});UI(()=>i.subscribe(S=>{a(S)}),[i]);let c=GI(()=>s.completions.map((C,S)=>n1(C,S)),[s.completions]),l=Oo((C,S)=>{if(!r){i.cancel();return}i.handleInput(C,S)},[i,r]),d=Oo(()=>s.visible?i.acceptCompletionWithType():null,[i,s.visible]),f=Oo(()=>s.visible?i.acceptCompletionWithType():null,[i,s.visible]),p=Oo(()=>{s.visible&&i.selectPrevious()},[i,s.visible]),h=Oo(()=>{s.visible&&i.selectNext()},[i,s.visible]),g=Oo(()=>{s.visible&&i.cancel()},[i,s.visible]),T=Oo(()=>{i.cancel()},[i]),v=Oo(()=>i,[i]);return{state:s,suggestions:c,handleInput:l,handleTab:d,handleEnter:f,handleUp:p,handleDown:h,handleEscape:g,cancel:T,getProvider:v}}o(r1,"useAutocompleteImpl");import{useCallback as ol,useRef as KI}from"react";var Fn=[];function Af(e={}){let{maxSize:t=1e3,onSave:n}=e,r=KI(-1),i=KI(""),s=ol((f,p)=>{if(!f.trim())return;if(Fn[Fn.length-1]?.text!==f){let g={text:f,timestamp:Date.now(),...p?.pastedContents&&p.pastedContents.length>0?{pastedContents:[...p.pastedContents]}:{}};Fn.push(g),Fn.length>t&&Fn.splice(0,Fn.length-t),n?.(g)}r.current=-1,i.current=""},[t,n]),a=ol(()=>Fn.length===0?null:r.current===-1?(r.current=Fn.length-1,Fn[r.current]??null):r.current>0?(r.current--,Fn[r.current]??null):null,[]),c=ol(()=>r.current===-1?null:r.current<Fn.length-1?(r.current++,Fn[r.current]??null):(r.current=-1,{text:i.current,timestamp:Date.now()}),[]),l=ol(()=>{r.current=-1,i.current=""},[]),d=ol(f=>{r.current===-1&&(i.current=f)},[]);return{add:s,navigateUp:a,navigateDown:c,reset:l,saveTempInput:d}}o(Af,"useInputHistory");function xn(e,t,n){return un(e).slice(t,n).join("")}o(xn,"sliceByCodePoints");var ua=class{static{o(this,"TextBuffer")}_text="";_lines=[""];_cursor={row:0,col:0};_rememberedCol=0;_history=[];_historyIndex=-1;_maxHistory;constructor(t={}){this._maxHistory=t.maxHistory??100}get text(){return this._text}get lines(){return[...this._lines]}get cursor(){return{...this._cursor}}get lineCount(){return this._lines.length}get currentLine(){return this._lines[this._cursor.row]??""}get isEmpty(){return this._text.length===0}get currentLineVisualWidth(){return rr(this.currentLine)}get visualCursor(){let t=this._lines[this._cursor.row]??"",n=xn(t,0,this._cursor.col);return{row:this._cursor.row,col:rr(n)}}getCharWidthAtCursor(){let t=this._lines[this._cursor.row]??"",r=un(t)[this._cursor.col];return r?nr(r)?2:1:0}visualColToLogicalCol(t){let n=this._lines[this._cursor.row]??"",r=un(n),i=0;for(let s=0;s<r.length;s++){let a=nr(r[s])?2:1;if(i+a>t)return s;i+=a}return r.length}moveToVisualCol(t){this._cursor.col=this.visualColToLogicalCol(t),this._rememberedCol=this._cursor.col}setText(t){this._saveHistory(),this._setTextInternal(t),this._clampCursor()}replaceRange(t,n,r){this._saveHistory();let i=Math.max(0,Math.min(t,this._text.length)),s=Math.max(i,Math.min(n,this._text.length)),a=this._text.slice(0,i)+r+this._text.slice(s);this._setTextInternal(a),this.moveToAbsoluteOffset(i+r.length)}insert(t,n){if(this._saveHistory(),n?.paste){this._insertText(t);return}let r=t.split(`
|
|
42
|
-
`);for(let i=0;i<r.length;i++)i>0&&this._insertNewline(),this._insertText(r[i])}_insertText(t){let n=this._lines[this._cursor.row],r=xn(n,0,this._cursor.col),i=xn(n,this._cursor.col);this._lines[this._cursor.row]=r+t+i,this._cursor.col+=mn(t),this._rememberedCol=this._cursor.col,this._updateText()}newline(){this._saveHistory(),this._insertNewline()}_insertNewline(){let t=this._lines[this._cursor.row],n=xn(t,0,this._cursor.col),r=xn(t,this._cursor.col);this._lines[this._cursor.row]=n,this._lines.splice(this._cursor.row+1,0,r),this._cursor.row++,this._cursor.col=0,this._rememberedCol=0,this._updateText()}backspace(){if(this._cursor.col>0){this._saveHistory();let t=this._lines[this._cursor.row],n=this._cursor.col-1,r=xn(t,0,n),i=xn(t,this._cursor.col);this._lines[this._cursor.row]=r+i,this._cursor.col=n,this._rememberedCol=this._cursor.col,this._updateText()}else if(this._cursor.row>0){this._saveHistory();let t=this._lines[this._cursor.row],n=this._lines[this._cursor.row-1];this._cursor.col=mn(n),this._lines[this._cursor.row-1]=n+t,this._lines.splice(this._cursor.row,1),this._cursor.row--,this._rememberedCol=this._cursor.col,this._updateText()}}delete(){let t=this._lines[this._cursor.row];if(this._cursor.col<mn(t)){this._saveHistory();let n=xn(t,0,this._cursor.col),r=xn(t,this._cursor.col+1);this._lines[this._cursor.row]=n+r,this._updateText()}else if(this._cursor.row<this._lines.length-1){this._saveHistory();let n=this._lines[this._cursor.row+1];this._lines[this._cursor.row]=t+n,this._lines.splice(this._cursor.row+1,1),this._updateText()}}move(t){switch(t){case"up":this._moveUp();break;case"down":this._moveDown();break;case"left":this._moveLeft();break;case"right":this._moveRight();break;case"home":this._moveHome();break;case"end":this._moveEnd();break}}_moveUp(){this._cursor.row>0&&(this._cursor.row--,this._clampColumn())}_moveDown(){this._cursor.row<this._lines.length-1&&(this._cursor.row++,this._clampColumn())}_moveLeft(){this._cursor.col>0?(this._cursor.col--,this._rememberedCol=this._cursor.col):this._cursor.row>0&&(this._cursor.row--,this._cursor.col=mn(this._lines[this._cursor.row]),this._rememberedCol=this._cursor.col)}_moveRight(){let t=this._lines[this._cursor.row];this._cursor.col<mn(t)?(this._cursor.col++,this._rememberedCol=this._cursor.col):this._cursor.row<this._lines.length-1&&(this._cursor.row++,this._cursor.col=0,this._rememberedCol=0)}_moveHome(){this._cursor.col=0,this._rememberedCol=0}_moveEnd(){this._cursor.col=mn(this._lines[this._cursor.row]),this._rememberedCol=this._cursor.col}_clampColumn(){let t=this._lines[this._cursor.row],n=mn(t);this._cursor.col=Math.min(this._rememberedCol,n)}_clampCursor(){this._cursor.row=Math.max(0,Math.min(this._cursor.row,this._lines.length-1)),this._cursor.col=Math.max(0,Math.min(this._cursor.col,mn(this._lines[this._cursor.row]))),this._rememberedCol=this._cursor.col}killLineRight(){let t=this._lines[this._cursor.row];this._cursor.col<mn(t)&&(this._saveHistory(),this._lines[this._cursor.row]=xn(t,0,this._cursor.col),this._updateText())}killLineLeft(){if(this._cursor.col>0){this._saveHistory();let t=this._lines[this._cursor.row];this._lines[this._cursor.row]=xn(t,this._cursor.col),this._cursor.col=0,this._rememberedCol=0,this._updateText()}}deleteWordLeft(){if(this._cursor.col===0)return;this._saveHistory();let t=this._lines[this._cursor.row],n=this._cursor.col-1,r=un(t);for(;n>0&&/\s/.test(r[n]??"");)n--;for(;n>0&&!/\s/.test(r[n-1]??"");)n--;let i=xn(t,0,n),s=xn(t,this._cursor.col);this._lines[this._cursor.row]=i+s,this._cursor.col=n,this._rememberedCol=this._cursor.col,this._updateText()}_saveHistory(){this._history=this._history.slice(0,this._historyIndex+1),this._history.push(this._text),this._history.length>this._maxHistory&&this._history.shift(),this._historyIndex=this._history.length-1}undo(){return this._historyIndex>0?(this._historyIndex--,this._text=this._history[this._historyIndex]??"",this._lines=this._text.split(`
|
|
43
|
-
`),this._lines.length===0&&(this._lines=[""]),this._clampCursor(),!0):!1}redo(){return this._historyIndex<this._history.length-1?(this._historyIndex++,this._text=this._history[this._historyIndex]??"",this._lines=this._text.split(`
|
|
44
|
-
`),this._lines.length===0&&(this._lines=[""]),this._clampCursor(),!0):!1}_updateText(){this._text=this._lines.join(`
|
|
45
|
-
`)}_setTextInternal(t){this._text=t,this._lines=t.split(`
|
|
46
|
-
`),this._lines.length===0&&(this._lines=[""])}moveToAbsoluteOffset(t){let r=Math.max(0,Math.min(t,this._text.length));for(let i=0;i<this._lines.length;i++){let s=this._lines[i]??"",a=s.length;if(r<=a){this._cursor={row:i,col:mn(s.slice(0,r))},this._rememberedCol=this._cursor.col;return}r-=a,i<this._lines.length-1&&(r-=1)}this.moveToEnd()}clear(){this._saveHistory(),this._text="",this._lines=[""],this._cursor={row:0,col:0},this._rememberedCol=0}getAbsoluteOffset(){let t=0;for(let r=0;r<this._cursor.row;r++)t+=(this._lines[r]?.length??0)+1;let n=this._lines[this._cursor.row]??"";return t+=xn(n,0,this._cursor.col).length,t}isLineContinuation(){return this._lines[this._cursor.row].endsWith("\\")}moveToEnd(){this._cursor.row=this._lines.length-1,this._cursor.col=mn(this._lines[this._cursor.row]??""),this._rememberedCol=this._cursor.col}};import{useState as o1,useCallback as Wt,useRef as Yh,useEffect as i1}from"react";function _f(e={}){let{initialValue:t="",onTextChange:n}=e,r=Yh(null),i=Yh(null),s=Yh(null),[a,c]=o1({text:t,cursor:{row:0,col:0},lines:[""],isPasting:!1,editingMode:t?"typing":"idle"});r.current===null&&(r.current=new ua,t&&r.current.setText(t)),i.current===null&&(i.current=LT());let l=r.current,d=i.current,f=Wt(J=>{c(D=>({text:l.text,cursor:l.cursor,lines:l.lines,isPasting:J?.isPasting??D.isPasting,editingMode:J?.editingMode??D.editingMode})),n?.(l.text)},[l,n]),p=Wt(()=>{s.current&&clearTimeout(s.current),s.current=setTimeout(()=>{c(J=>({...J,isPasting:!1,editingMode:J.text?"typing":"idle"})),s.current=null},120)},[]),h=Wt(J=>{l.setText(J),f({isPasting:!1,editingMode:J?"typing":"idle"})},[l,f]),g=Wt((J,D,k)=>{l.replaceRange(J,D,k),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),T=Wt((J,D)=>{let k=D?.paste??!1;if(k&&AT(J)){let B=J.replace(/\r\n/g,`
|
|
47
|
-
`).replace(/\r/g,`
|
|
48
|
-
`),{placeholder:Se}=d.registerText(B);l.insert(Se,{paste:!0}),f({isPasting:!0,editingMode:"pasting"}),p();return}l.insert(J,{paste:!1}),f({isPasting:k,editingMode:k?"pasting":"typing"}),k&&p()},[l,d,p,f]),v=Wt(()=>{l.newline(),f({isPasting:!1,editingMode:"typing"})},[l,f]),C=Wt(()=>{let J=l.getAbsoluteOffset(),D=Wd(l.text,J);D?l.replaceRange(D.start,D.end,""):l.backspace(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),S=Wt(()=>{let J=l.getAbsoluteOffset(),D=Fd(l.text,J);D?l.replaceRange(D.start,D.end,""):l.delete(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),w=Wt(J=>{l.move(J),f()},[l,f]),M=Wt(()=>{l.clear(),f({isPasting:!1,editingMode:"idle"})},[l,f]),L=Wt(()=>{let J=l.undo();return J&&f(),J},[l,f]),A=Wt(()=>{let J=l.redo();return J&&f(),J},[l,f]),H=Wt(()=>{l.moveToEnd(),f()},[l,f]),K=Wt(J=>{l.moveToAbsoluteOffset(J),f()},[l,f]),W=Wt(()=>{l.killLineRight(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),ne=Wt(()=>{l.killLineLeft(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),x=Wt(()=>{l.deleteWordLeft(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),Ce=Wt(()=>{s.current&&(clearTimeout(s.current),s.current=null),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]);return i1(()=>()=>{s.current&&clearTimeout(s.current),r.current=null},[]),{buffer:l,text:a.text,cursor:a.cursor,lines:a.lines,isPasting:a.isPasting,editingMode:a.editingMode,pasteStore:d,resetTransientState:Ce,setText:h,replaceRange:g,insert:T,newline:v,backspace:C,delete:S,move:w,moveToEnd:H,moveToOffset:K,killLineRight:W,killLineLeft:ne,deleteWordLeft:x,clear:M,undo:L,redo:A}}o(_f,"useTextBuffer");import{jsx as $i,jsxs as Df}from"react/jsx-runtime";import{useState as JI}from"react";import{useCallback as da,useEffect as Jh,useRef as Pf}from"react";function zI(e,t,n){let r=Math.max(0,Math.min(t,e.length)),i=e.slice(0,r);if(n.type==="command"||n.type==="skill"){let a=i.lastIndexOf("/");return{start:a===-1?0:a,end:r,replacement:n.text}}if(n.type==="argument"){let a=i.match(/\S+$/);if(a){let c=a[0],l=r-c.length;if(c.startsWith("/")&&i.lastIndexOf("/")===l)return{start:r,end:r,replacement:` ${n.text}`}}return{start:a?r-a[0].length:r,end:r,replacement:n.text}}let s=i.lastIndexOf("@");return{start:s===-1?0:s,end:r,replacement:n.text}}o(zI,"buildAutocompleteReplacement");import{readFile as d1}from"node:fs/promises";var f1=/\.(png|jpe?g|gif|webp|bmp)$/i;async function Xh(e){if(e.length===0)return process.platform==="darwin"?YI():{kind:"text",text:""};let t=Lf(e);return t.length>0?p1(t,e):{kind:"text",text:e}}o(Xh,"handleBracketedPaste");async function qh(){return YI()}o(qh,"triggerExplicitClipboardImage");async function YI(){let e;try{e=await td()}catch(t){return{kind:"error",message:`Failed to read clipboard image: ${Qh(t)}`}}return e?XI(e):{kind:"noop"}}o(YI,"readClipboardAsImagesOutcome");async function p1(e,t){let n=[],r=[];for(let i of e){let s;try{s=await d1(i)}catch(c){r.push(`Failed to read ${i}: ${Qh(c)}`);continue}let a=await XI(s);a.kind==="images"?n.push(...a.blocks):a.kind==="error"&&r.push(a.message)}return n.length===0?r.length>0?{kind:"error",message:r.join("; ")}:{kind:"text",text:t}:{kind:"images",blocks:n}}o(p1,"readImagePathsAsOutcome");async function XI(e){try{let t=await ed(e);return{kind:"images",blocks:[await nd(t)]}}catch(t){return t instanceof Zu?{kind:"error",message:t.message}:{kind:"error",message:`Failed to process pasted image: ${Qh(t)}`}}}o(XI,"decodeBufferToOutcome");function Lf(e){return e.split(/ (?=\/|[A-Za-z]:\\)/).filter(n=>f1.test(n.trim()))}o(Lf,"extractImagePaths");function Qh(e){return e instanceof Error?e.message:String(e)}o(Qh,"describeError");function $f(e,t){Lt({source:"repl:prompt-input",level:"warn",message:e,...t!==void 0?{detail:t}:{}})}o($f,"reportPromptInputDiagnostic");var h1=500;function qI(e,t,n){return n==="up"?e===0:e>=Math.max(0,t-1)}o(qI,"shouldUseHistoryNavigation");function g1(e){return e.isAutocompleteVisible?"cancel-autocomplete":e.hasText?e.timeSinceLastEscapeMs<h1?"clear-input":"arm-clear":"pass-through"}o(g1,"resolvePromptEscapeBehavior");function y1(e){return e.keyName==="newline"||e.keyName==="return"&&(e.ctrl||e.shift)||e.isPasting?"newline":e.isAutocompleteVisible?"accept-completion-and-submit":e.isLineContinuation?"line-continuation":"submit"}o(y1,"resolvePromptEnterBehavior");function x1(e){if(e.meta&&e.name==="backspace")return"delete-word-left";if(e.ctrl)switch(e.name){case"a":return"move-home";case"e":return"move-end";case"z":return"undo";case"y":return"redo";case"k":return"kill-line-right";case"u":return"kill-line-left";case"w":return"delete-word-left";default:return}}o(x1,"resolvePromptEditingCommand");function QI({onSubmit:e,onExit:t,focus:n=!0,initialValue:r="",cwd:i,gitRoot:s,autocompleteEnabled:a=!0,onInputChange:c,onPasteFallback:l,onHistoryRecall:d,onPopPendingInputs:f}){let p=Pf(0),{add:h,navigateUp:g,navigateDown:T,reset:v,saveTempInput:C}=Af(),{buffer:S,text:w,cursor:M,lines:L,isPasting:A,editingMode:H,pasteStore:K,resetTransientState:W,setText:ne,replaceRange:x,clear:Ce,move:J,moveToOffset:D,insert:k,backspace:B,newline:Se,delete:de,undo:ee,redo:he,killLineRight:we,killLineLeft:fe,deleteWordLeft:Te}=_f({initialValue:r,onTextChange:c}),Oe=Pf(0);Jh(()=>{if(A)return;if(w.length<=1e4){Oe.current=0;return}if(w.length===Oe.current)return;let Q=K.peekNextId(),{truncatedText:j,placeholderContent:pe}=_T(w,Q);pe&&(K.registerTruncatedText(pe),Oe.current=j.length,ne(j))},[w,A,K,ne]);let X=No(),ce=rl({cwd:i,gitRoot:s,enabled:a}),{state:_e,suggestions:tt,handleInput:q,handleTab:Ke,handleEnter:ct,handleUp:le,handleDown:Ie,handleEscape:ye}=X??ce;Jh(()=>{n||(p.current=0,W(),_e.visible&&ye())},[_e.visible,n,ye,W]);let Xe=Pf(w);Jh(()=>{a&&w!==Xe.current&&(Xe.current=w,q(w,S.getAbsoluteOffset()))},[a,S,q,w]);let ft=da(Q=>{if(!Q?.text)return;let j=zI(w,S.getAbsoluteOffset(),Q),pe=w.slice(0,j.start)+j.replacement+w.slice(j.end);return x(j.start,j.end,j.replacement),pe},[S,x,w]),Qt=da(Q=>{let j=Q??w;if(!j.trim())return;let pe=K.expand(j),O=new Set,We=/\[(Pasted text|\.\.\.Truncated text) #(\d+)(?: \+\d+ lines)?(\.*)\]/g;for(let Jt of j.matchAll(We)){let Qe=Number.parseInt(Jt[2]??"0",10);Number.isFinite(Qe)&&Qe>0&&O.add(Qe)}let Dt=[];for(let Jt of O){let Qe=K.get(Jt);Qe&&Dt.push(Qe)}h(j,{pastedContents:Dt}),e({displayText:j,fullText:pe,pastedContents:Dt}),Ce()},[h,Ce,e,K,w]),P=da(Q=>{if(Q){if(Q.pastedContents&&Q.pastedContents.length>0){for(let j of Q.pastedContents)K.adopt(j);d?.({text:Q.text,pastedContents:[...Q.pastedContents]})}ne(Q.text)}},[d,K,ne]),V=da(async Q=>{try{let j=await Xh(Q);if(j.kind==="images"){let pe=j.blocks.map(O=>`@${O.path}`).join(" ");k(`${pe} `,{paste:!1})}else j.kind==="error"&&($f(`Paste image handling failed: ${j.message}`),k(Q,{paste:!1}),l?.("Image paste failed; inserted as plain text."))}catch(j){$f("Paste image handling failed.",j)}},[k,l]),z=Pf(!1),ge=da(async()=>{if(!z.current){z.current=!0;try{let Q=await qh();if(Q.kind==="images"){let j=Q.blocks.map(pe=>`@${pe.path}`).join(" ");k(`${j} `,{paste:!1})}else Q.kind==="error"&&$f(`Clipboard image handling failed: ${Q.message}`)}catch(Q){$f("Clipboard image handling failed.",Q)}finally{z.current=!1}}},[k]),Me=da(Q=>{if(!n)return!1;if(Q.name==="v"&&(Q.ctrl||Q.meta))return ge(),!0;if(Q.name==="paste"&&Q.isPasted&&Lf(Q.sequence).length>0)return V(Q.sequence),!0;let j=_e.visible&&tt.length>0;if(Q.name==="tab"&&j){let O=Ke();return O&&ft(O),!0}if(Q.ctrl&&Q.name==="c")return w.length>0?(Ce(),v()):t?.(),!0;if(Q.name==="escape")switch(g1({isAutocompleteVisible:j,hasText:w.length>0,timeSinceLastEscapeMs:Date.now()-p.current})){case"cancel-autocomplete":return ye(),p.current=0,!0;case"clear-input":return p.current=0,Ce(),v(),!0;case"arm-clear":return p.current=Date.now(),!0;default:return!1}if(Q.name==="up"){if(j)return le(),!0;if(Q.ctrl)return J("up"),!0;if(w.length===0&&f){let O=f();if(typeof O=="string"&&O.length>0)return ne(O),!0}if(qI(M.row,L.length,"up")){C(w);let O=g();P(O)}else J("up");return!0}if(Q.name==="down"){if(j)return Ie(),!0;if(Q.ctrl)return J("down"),!0;if(qI(M.row,L.length,"down")){let O=T();P(O)}else J("down");return!0}if(Q.name==="left"){let O=S.getAbsoluteOffset(),We=Wd(S.text,O);return We?D(We.start):J("left"),!0}if(Q.name==="right"){let O=S.getAbsoluteOffset(),We=Fd(S.text,O);return We?D(We.end):J("right"),!0}if(Q.name==="home")return J("home"),!0;if(Q.name==="end")return J("end"),!0;let pe=x1(Q);if(pe)switch(pe){case"move-home":return J("home"),!0;case"move-end":return J("end"),!0;case"undo":return ee(),!0;case"redo":return he(),!0;case"kill-line-right":return we(),!0;case"kill-line-left":return fe(),!0;case"delete-word-left":return Te(),!0;default:break}if(Q.name==="backspace")return B(),!0;if(Q.name==="delete")return de(),!0;if(Q.name==="return"||Q.name==="newline")switch(y1({keyName:Q.name,ctrl:Q.ctrl,shift:Q.shift,isAutocompleteVisible:j,isLineContinuation:!!L[M.row]?.endsWith("\\"),isPasting:A})){case"accept-completion-and-submit":{let We=ct();if(We){let Dt=ft(We);Qt(Dt)}else Qt();return!0}case"newline":return Se(),!0;case"line-continuation":return B(),Se(),!0;default:return Qt(),!0}return Q.insertable&&!Q.ctrl&&!Q.meta?(k(Q.sequence,Q.isPasted?{paste:!0}:void 0),!0):!1},[ft,h,_e.visible,B,S,Ce,M.row,de,n,Ie,ye,le,ct,P,Ke,V,ge,L,fe,we,J,D,T,g,Se,t,f,he,v,C,ne,Qt,tt.length,w.length,Te,A,ee]);return{text:w,cursor:M,lines:L,isPasting:A,terminalFocused:n,editingMode:H,handleKey:Me}}o(QI,"usePromptInputController");var Di=o(({onSubmit:e,onHistoryRecall:t,onPopPendingInputs:n,placeholder:r="Type a message...",prompt:i=">",focus:s=!0,initialValue:a="",cwd:c,gitRoot:l,autocompleteEnabled:d=!0,onInputChange:f,onPasteFallback:p})=>{let{exit:h}=Er(),{cursor:g,lines:T,handleKey:v,isPasting:C,terminalFocused:S,editingMode:w}=QI({onSubmit:e,onExit:h,focus:s,initialValue:a,cwd:c,gitRoot:l,autocompleteEnabled:d,onInputChange:f,onPasteFallback:p,onHistoryRecall:t,onPopPendingInputs:n});return En(ln.High,M=>v(M),[v]),$i(E,{flexDirection:"column",children:$i(Rf,{lines:T,cursorRow:g.row,cursorCol:g.col,prompt:i,placeholder:r,focus:s,terminalFocused:S,isPasting:C,editingMode:w,theme:"dark"})})},"InputPrompt"),ZI=o(({onSubmit:e,placeholder:t,prompt:n=">"})=>{let[r,i]=JI(""),[s,a]=JI(0);En(ln.High,p=>{if(p.name==="return")return r.trim()&&(e(r),i(""),a(0)),!0;if(p.name==="backspace"&&s>0){let h=[...r].slice(0,s-1).join(""),g=[...r].slice(s).join("");return i(h+g),a(s-1),!0}if(p.name==="left"&&s>0)return a(s-1),!0;if(p.name==="right"&&s<[...r].length)return a(s+1),!0;if(p.insertable&&!p.ctrl&&!p.meta){let h=[...r].slice(0,s).join(""),g=[...r].slice(s).join("");return i(h+p.sequence+g),a(s+1),!0}return!1},[r,s,e]);let c=oe("dark");if(!r)return Df(E,{children:[Df(I,{color:c.colors.primary,children:[n," "]}),t&&$i(I,{dimColor:!0,children:t}),$i(I,{backgroundColor:c.colors.primary,color:"#000000",children:" "})]});let l=[...r].slice(0,s).join(""),d=[...r][s]??" ",f=[...r].slice(s+1).join("");return Df(E,{children:[Df(I,{color:c.colors.primary,children:[n," "]}),$i(I,{children:l}),$i(I,{backgroundColor:c.colors.primary,color:"#000000",children:d}),$i(I,{children:f})]})},"SimpleInputPrompt");import{jsx as xt,jsxs as zt}from"react/jsx-runtime";import{useState as tb,useEffect as nb}from"react";var eb=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],S1=80,Of=new Set,il=null;function w1(){let e=Array.from(Of);for(let t of e)t()}o(w1,"dispatchSharedSpinnerTick");function T1(e){return Of.add(e),il===null&&(il=setInterval(w1,S1)),()=>{Of.delete(e),Of.size===0&&il!==null&&(clearInterval(il),il=null)}}o(T1,"subscribeToSharedSpinnerClock");function sl(e=!0){let[t,n]=tb(0);return nb(()=>{if(e)return T1(()=>{n(r=>r+1)})},[e]),t}o(sl,"useSharedSpinnerTick");var Mn=o(({color:e,theme:t})=>{let n=t??oe("dark"),i=sl(!0)%eb.length,s=e??n.colors.accent;return xt(I,{color:s,children:eb[i]})},"Spinner");function C1(e){return e<=0?0:Math.round(e/4)}o(C1,"estimateOutputTokens");function I1(e){let t=Math.max(0,Math.floor(e/1e3));if(t<60)return`${t}s`;let n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60;return n===0?`${r}m${i}s`:`${n}h${r}m${i}s`}o(I1,"formatElapsedDuration");var rb=o(({roundStartedAt:e,charCount:t,theme:n})=>{let r=n??oe("dark");if(sl(e!==null),e===null)return null;let i=b1(Date.now()-e,t);return xt(I,{color:r.colors.dim,wrap:"truncate",children:i})},"SpinnerStatsTail");function b1(e,t){let n=I1(e),r=C1(t);return r>0?` (${n} \xB7 \u2193 ${r} tokens)`:` (${n})`}o(b1,"buildSpinnerStatsText");var Zh=o(({label:e,dotCount:t=3,theme:n})=>{let r=n??oe("dark"),[i,s]=tb(1);nb(()=>{let c=setInterval(()=>{s(l=>l%t+1)},300);return()=>clearInterval(c)},[t]);let a=".".repeat(i);return zt(E,{children:[e&&xt(I,{color:r.colors.text,children:e}),xt(I,{color:r.colors.accent,children:a})]})},"DotsIndicator"),eg=o(({progress:e,label:t,width:n=20,theme:r})=>{let i=r??oe("dark"),s=Math.max(0,Math.min(100,e)),a=Math.round(s/100*n),c=n-a,l="\u2588".repeat(a),d="\u2591".repeat(c);return zt(E,{flexDirection:"column",children:[t&&xt(E,{marginBottom:1,children:xt(I,{color:i.colors.text,children:t})}),zt(E,{children:[xt(I,{color:i.colors.primary,children:l}),xt(I,{dimColor:!0,children:d}),zt(I,{children:[" ",s,"%"]})]})]})},"ProgressIndicator"),ob=o(({message:e,showSpinner:t=!1,theme:n})=>{let r=n??oe("dark"),i=e??"Thinking";return zt(E,{children:[t&&xt(E,{marginRight:1,children:xt(Mn,{theme:r})}),zt(I,{color:r.colors.accent,children:[i,"\u2026"]})]})},"ThinkingIndicator"),ib=o(({message:e,subMessage:t,progress:n,type:r="spinner",compact:i=!1,theme:s})=>{let a=s??oe("dark"),c=e??"Loading";return i?zt(E,{children:[xt(Mn,{theme:a}),zt(I,{color:a.colors.text,children:[" ",c,"\u2026"]})]}):r==="bar"&&n!==void 0?zt(E,{flexDirection:"column",children:[xt(eg,{progress:n,label:c,theme:a}),t&&xt(E,{marginTop:1,children:xt(I,{dimColor:!0,children:t})})]}):r==="dots"?zt(E,{flexDirection:"column",children:[xt(Zh,{label:c,theme:a}),t&&xt(E,{marginTop:1,children:xt(I,{dimColor:!0,children:t})})]}):r==="simple"?zt(E,{flexDirection:"column",children:[zt(I,{color:a.colors.accent,children:[c,"\u2026"]}),t&&xt(E,{marginTop:1,children:xt(I,{dimColor:!0,children:t})}),n!==void 0&&xt(E,{marginTop:1,children:zt(I,{dimColor:!0,children:[n,"%"]})})]}):zt(E,{flexDirection:"column",children:[zt(E,{children:[xt(Mn,{theme:a}),zt(I,{color:a.colors.text,children:[" ",c,"\u2026"]}),n!==void 0&&zt(I,{dimColor:!0,children:[" (",n,"%)"]})]}),t&&xt(E,{marginTop:1,children:xt(I,{dimColor:!0,children:t})})]})},"LoadingIndicator");import{jsx as ve,jsxs as ze,Fragment as pg}from"react/jsx-runtime";import{useEffect as Hb,useMemo as _r,memo as An}from"react";import*as cl from"node:path";function al(e){if(hw(e)){let t=gw(e);return t?`[memory:${t}]`:"[memory]"}if(v1(e))return"[memory]"}o(al,"memoryBadgeFor");function v1(e){let t=cl.resolve(e),n=wo("projects");if(!t.startsWith(n+cl.sep)&&t!==n)return!1;let i=t.slice(n.length+1).split(cl.sep);return i.length>=2&&i[1]==="memory"}o(v1,"isInsideAnyMemoryDir");function Ze(e,t=120){return e.length>t?`${e.slice(0,t-3)}...`:e}o(Ze,"truncateValue");function sb(e){if(e)return e.split(/\r?\n/).map(t=>t.trim()).find(Boolean)}o(sb,"extractFirstMeaningfulLine");function lb(e){let t=e.match(/^\[([^\]]+)\]\s+(.*)$/);if(!t)return{toolLabel:e};let n=t[1]?.trim(),r=t[2]?.trim()??e,i=new RegExp(`^${n?.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}:`,"i"),s=r.replace(i,"").trim();return{rolePrefix:n?`[${n}]`:void 0,toolLabel:s||r}}o(lb,"splitDisplayToolName");function Nf(e){let{rolePrefix:t,toolLabel:n}=lb(e);return t?`${t} ${n}`:n}o(Nf,"normalizeDisplayToolName");function ll(e){return lb(e).toolLabel}o(ll,"stripRolePrefix");function Bf(e){if(!(!e||Array.isArray(e)||typeof e!="object"))return e}o(Bf,"asRecord");function ub(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}o(ub,"readString");function Et(e,...t){for(let n of t){let r=ub(e?.[n]);if(r)return r}}o(Et,"readFirstString");function Mr(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"&&e.trim().length>0){let t=Number(e.trim());return Number.isFinite(t)?t:void 0}}o(Mr,"readNumber");function db(e){if(!Array.isArray(e))return;let t=e.map(n=>typeof n=="string"?n.trim():"").filter(Boolean);return t.length>0?t:void 0}o(db,"readStringArray");function R1(e){if(typeof e=="string")return e.trim()||void 0;let t=Bf(e);if(t)return ub(t.preview)??void 0}o(R1,"extractPreview");function ab(e){if(e)try{return Bf(JSON.parse(e))}catch{return}}o(ab,"parsePreviewRecord");function Be(e,t){return e&&e.match(new RegExp(`"${t}"\\s*:\\s*"([^"]+)`))?.[1]?.trim()||void 0}o(Be,"extractFieldFromPreview");function Ar(e,t){if(!e)return;let n=e.match(new RegExp(`"${t}"\\s*:\\s*(\\d+)`));return n?.[1]?Number(n[1]):void 0}o(Ar,"extractNumberFromPreview");function fb(e){if(!e)return;let t=e.match(/"paths"\s*:\s*\[([^\]]*)/);if(!t?.[1])return;let n=Array.from(t[1].matchAll(/"([^"]+)"/g)).map(r=>r[1]?.trim()??"").filter(Boolean);return n.length>0?n:void 0}o(fb,"extractPathsFromPreview");function k1(e){let t=R1(e);if(typeof e=="string")return{record:ab(t),preview:t};let n=Bf(e),r=ab(t);return n?r?{record:{...n,...r},preview:t}:{record:n,preview:t}:{record:r,preview:t}}o(k1,"resolveInputRecord");function fa(e,t,n,r=!1){let i=Et(t,"path","target_path","targetPath")??Be(n,"path")??Be(n,"target_path")??Be(n,"targetPath"),s=db(t?.paths)??fb(n);if(r&&s?.length){if(s.length===1){let a=al(s[0]);a&&e.push(a),e.push(Ze(s[0]))}else e.push(`${s.length} files`);return}if(i){let a=al(i);a&&e.push(a),e.push(Ze(i));return}if(s?.length)if(s.length===1){let a=al(s[0]);a&&e.push(a),e.push(Ze(s[0]))}else e.push(`${s.length} files`)}o(fa,"pushPathSummary");function pa(e,t,n){n!==void 0&&e.push(`${t}=${n}`)}o(pa,"pushNumericSummary");function tg(e,t,n){let r=Et(t,"baseRef","base_ref")??Be(n,"baseRef")??Be(n,"base_ref"),i=Et(t,"targetRef","target_ref")??Be(n,"targetRef")??Be(n,"target_ref");r&&i&&e.push(Ze(`${r}...${i}`,88))}o(tg,"pushRangeSummary");function E1(e,t){let{record:n,preview:r}=k1(t),i=ll(e).toLowerCase(),s=[];if(i.includes("changed_diff_bundle")){let a=db(n?.paths)??fb(r);a?.length?(s.push(a.length===1?Ze(a[0]):`${a.length} files`),a.length>1&&s.push(Ze(a[0]))):fa(s,n,r,!0);let c=Mr(n?.limit_per_path)??Mr(n?.limitPerPath)??Ar(r,"limit_per_path")??Ar(r,"limitPerPath");return c!==void 0&&s.push(`limit=${c}`),tg(s,n,r),s}if(i.includes("changed_diff"))return fa(s,n,r),pa(s,"offset",Mr(n?.offset)??Ar(r,"offset")),pa(s,"limit",Mr(n?.limit)??Ar(r,"limit")),tg(s,n,r),s;if(i==="read"||i.includes("read_"))return fa(s,n,r),pa(s,"offset",Mr(n?.offset)??Ar(r,"offset")),pa(s,"limit",Mr(n?.limit)??Ar(r,"limit")),s;if(i.includes("changed_scope"))return fa(s,n,r,!0),tg(s,n,r),s;if(i.includes("repo_overview"))return fa(s,n,r),s;if(i.includes("bash")||i.includes("shell_command")){let a=Et(n,"command")??Be(r,"command");return a&&s.push(`cmd=${Ze(a,140)}`),s}if(i==="glob"||i.includes("glob_")){let a=Et(n,"pattern")??Be(r,"pattern"),c=Et(n,"path","root","directory","cwd")??Be(r,"path")??Be(r,"root")??Be(r,"directory")??Be(r,"cwd");if(a&&s.push(`pattern=${Ze(a,96)}`),c){let l=al(c);l&&s.push(l),s.push(Ze(c))}return s}if(i==="grep"||i.includes("grep_")){let a=Et(n,"pattern","query")??Be(r,"pattern")??Be(r,"query"),c=Et(n,"path","root","directory","cwd")??Be(r,"path")??Be(r,"root")??Be(r,"directory")??Be(r,"cwd");if(a&&s.push(`pattern=${Ze(a,96)}`),c){let l=al(c);l&&s.push(l),s.push(Ze(c))}return s}if(i==="web_fetch"){let a=Et(n,"url")??Be(r,"url"),c=Et(n,"provider_id","providerId")??Be(r,"provider_id")??Be(r,"providerId"),l=Et(n,"capability_id","capabilityId")??Be(r,"capability_id")??Be(r,"capabilityId");return a&&s.push(Ze(a,120)),c&&s.push(`provider=${Ze(c,48)}`),l&&s.push(`cap=${Ze(l,48)}`),s}if(i==="mcp_describe"||i==="mcp_read_resource"){let a=Et(n,"id")??Be(r,"id");return a&&s.push(Ze(a,120)),s}if(i==="mcp_call"){let a=Et(n,"id")??Be(r,"id"),c=Bf(n?.args),l=c?Object.keys(c).length:void 0;return a&&s.push(Ze(a,120)),l!==void 0&&s.push(`args=${l}`),s}if(i==="skill"){let a=Et(n,"skill","name")??Be(r,"skill");return a&&s.push(Ze(a,64)),s}if(i==="mcp_search"){let a=Et(n,"query")??Be(r,"query"),c=Et(n,"server")??Be(r,"server"),l=Et(n,"kind")??Be(r,"kind"),d=Mr(n?.limit)??Ar(r,"limit");return a&&s.push(`query=${Ze(a,96)}`),c&&s.push(`server=${Ze(c,48)}`),l&&s.push(`kind=${l}`),d!==void 0&&s.push(`limit=${d}`),s}if(i==="web_search"||i==="code_search"||i==="semantic_lookup"){let a=Et(n,"query","pattern")??Be(r,"query")??Be(r,"pattern"),c=Et(n,"path","target_path","targetPath")??Be(r,"path")??Be(r,"target_path")??Be(r,"targetPath"),l=Et(n,"provider_id","providerId")??Be(r,"provider_id")??Be(r,"providerId"),d=Mr(n?.limit)??Ar(r,"limit");return a&&s.push(`query=${Ze(a,96)}`),c&&s.push(Ze(c,72)),l&&s.push(`provider=${Ze(l,48)}`),d!==void 0&&s.push(`limit=${d}`),s}return fa(s,n,r,!0),pa(s,"offset",Mr(n?.offset)??Ar(r,"offset")),pa(s,"limit",Mr(n?.limit)??Ar(r,"limit")),s}o(E1,"summarizeToolDetails");function pb(e){let t=e.match(/Showing diff lines\s+(\d+)-(\d+)\s+of\s+(\d+)/i);if(t)return`${t[1]}-${t[2]}/${t[3]}`}o(pb,"extractChangedDiffRange");function M1(e){return e.split(/\r?\n/).map(t=>t.trim()).find(t=>t.startsWith("+")||t.startsWith("-")||t.startsWith("@@"))}o(M1,"extractDiffPreviewLine");function A1(e){let t=[],n=pb(e);if(n){let[i,s]=n.split("/");t.push(s?`Diff range: ${i} of ${s}`:`Diff range: ${n}`)}let r=M1(e);return r&&t.push(`Preview: ${Ze(r,220)}`),t}o(A1,"formatChangedDiffExplanation");function _1(e){let t=[],n=e.match(/^Changed diff bundle for\s+(\d+)\s+file\(s\)/im);if(n?.[1]){let i=Number(n[1]);Number.isFinite(i)&&i>0&&t.push(`Bundle: ${i===1?"1 file":`${i} files`}`)}let r=e.match(/^===\s+(.+?)\s+===/m);return r?.[1]&&t.push(`First file: ${Ze(r[1].trim(),220)}`),t}o(_1,"formatChangedDiffBundleExplanation");function mb(e,t){if(!t)return[];let n=ll(e).toLowerCase(),r=[];if(n.includes("changed_diff_bundle")){let i=t.match(/^Changed diff bundle for\s+(\d+)\s+file\(s\)/im);if(i?.[1]){let a=Number(i[1]);Number.isFinite(a)&&a>0&&r.push(a===1?"1 file":`${a} files`)}let s=t.match(/^===\s+(.+?)\s+===/m);return s?.[1]&&r.push(Ze(s[1].trim())),r}if(n.includes("changed_diff")){let i=t.match(/^Changed diff for\s+(.+)$/im);i?.[1]&&r.push(Ze(i[1].trim()));let s=pb(t);return s&&r.push(s),r}if(n==="read"||n.includes("read_")){let i=t.match(/^Reading\s+(.+)$/im);return i?.[1]&&r.push(Ze(i[1].trim())),r}return[]}o(mb,"summarizeToolOutputDetails");function ng(e,t){let n=Nf(e);return t.length>0?`${n} - ${t.join(" - ")}`:n}o(ng,"formatToolDetailSummary");function L1(e,t){if(!t)return;let n=t-e;return n<1e3?`${n}ms`:`${(n/1e3).toFixed(1)}s`}o(L1,"formatDuration");function P1(e){switch(e.status){case F.Scheduled:return"scheduled";case F.Validating:return"validating";case F.AwaitingApproval:return"awaiting approval";case F.Executing:return"running";case F.Error:return"failed";case F.Cancelled:return"cancelled";default:return}}o(P1,"formatToolStatusDetail");function cb(e){switch(e.status){case F.Scheduled:return["Queued: waiting to start"];case F.Validating:return["Validating: checking inputs and policy"];case F.AwaitingApproval:return["Waiting: approval required before execution"];case F.Executing:return e.progress!==void 0?[`Progress: ${e.progress}% complete`]:e.progressLines&&e.progressLines.length>0?e.progressLines.slice(-5):e.preview?[`Running: ${e.preview}`]:["Running: waiting for tool output"];case F.Cancelled:return["Cancelled before completion"];default:return[]}}o(cb,"formatToolProgressExplanation");function rg(e){return e.startsWith("Error:")?"error":e.startsWith("Waiting:")?"accent":e.startsWith("Progress:")||e.startsWith("Running:")?"primary":"dim"}o(rg,"resolveToolExplanationTone");function $1(e){let t=sb(e.error),n=typeof e.output=="string"?sb(e.output):void 0,r=[];return t&&r.push(`Error: ${Ze(t,220)}`),e.status===F.Error&&n&&(!t||n.toLowerCase()!==t.toLowerCase())&&r.push(`Last output: ${Ze(n,220)}`),r}o($1,"formatToolFailureExplanation");function og(e){if(typeof e.output!="string"||!e.output.trim())return cb(e);let t=ll(e.name).toLowerCase();return e.status===F.Error?$1(e):e.status!==F.Success?cb(e):t.includes("changed_diff_bundle")?_1(e.output):t.includes("changed_diff")?A1(e.output):[]}o(og,"formatToolResultExplanation");function ig(e,t){return ng(e,E1(e,t))}o(ig,"formatToolSummary");function Hf(e){let t=typeof e.output=="string"?mb(e.name,e.output):[],n=t.length>0?ng(e.name,t):ig(e.name,e.input),r=P1(e),i=L1(e.startTime,e.endTime),s=e.status===F.Executing&&e.progress!==void 0?`${e.progress}%`:e.status===F.Executing&&e.preview?e.preview:void 0,a=[r,s,i].filter(Boolean);return a.length>0?`${n} (${a.join(" - ")})`:n}o(Hf,"formatToolCallInlineText");function Wf(e){let t=new Map;for(let n of e){let r=typeof n.output=="string"?mb(n.name,n.output):[],i=r.length>0?ng(n.name,r):ig(n.name,n.input),a=n.progressLines&&n.progressLines.length>0?`${i}|${n.id}`:`${i}|${n.error??""}`,c=t.get(a);c?(c.tool=n,c.count+=1):t.set(a,{tool:n,count:1})}return[...t.values()]}o(Wf,"collapseToolCalls");function ul(e){let t=Hf(e.tool);return e.count>1?`${t} x${e.count}`:t}o(ul,"formatCollapsedToolInlineText");function Ff(e,t,n){let r=ig(e,t);return r!==Nf(e)?`[Tools] ${r}`:n>0?`[Tools] ${Nf(e)} (${n} chars)`:`[Tools] ${Nf(e)}`}o(Ff,"formatLiveToolLabel");function sg(e,t=e.length){let n=0,r=Math.min(t,e.length);for(let i=0;i<r;i++)e.charCodeAt(i)===10&&(n+=1);return n}o(sg,"countNewlines");function jf(e,t={}){let n=t.maxChars??1e4,r=t.headChars??2500,i=t.tailChars??2500;if(e.length<=n)return e;let s=e.slice(0,r),a=e.slice(-i),c=sg(e),l=sg(s),d=sg(a),f=Math.max(0,c-l-d);return`${s}
|
|
49
|
-
\u2026 +${f} lines \u2026
|
|
50
|
-
${a}`}o(jf,"truncateUserMessageForDisplay");var hb="(?:\x1B[[0-9;]*m)*",D1=new RegExp(`^(${hb})(?:[ \r]*
|
|
51
|
-
)+`),O1=new RegExp(`(?:
|
|
52
|
-
[ \r]*)+(${hb})$`);function ag(e){return e.replace(D1,"$1").replace(O1,"$1")}o(ag,"stripOuterBlankLines");function $t(e){let t=/\u001b\[[0-9;?]*[ -/]*[@-~]/g,n=/\u001b\][^\u0007\u001b]*(?:\u0007|\u001b\\)/g,r=/\u001b[@-_]/g;return e.replace(t,"").replace(n,"").replace(r,"")}o($t,"stripAnsi");var N1=new Set(["edit","write","multi_edit","insert_after_anchor"]),B1=20;function H1(e){return N1.has(ll(e.name).trim().toLowerCase())}o(H1,"isMutationTool");function W1(e){return e.startsWith("--- ")||e.startsWith("+++ ")?{color:"dim",skip:!0}:/^(File (edited|created|updated|written)|Content inserted)/.test(e)?{color:"dim",skip:!0}:e.startsWith("@@")?{color:"dim",skip:!1}:e.startsWith("+")?{color:"success",skip:!1}:e.startsWith("-")?{color:"error",skip:!1}:{color:"dim",skip:!1}}o(W1,"classifyDiffLine");function F1(e,t,n,r,i){let s=[],a=!1;for(let p of n.split(/\r?\n/)){let{color:h,skip:g}=W1(p);g||((h==="success"||h==="error")&&(a=!0),s.push({text:p,color:h}))}if(!a)return!1;let c=0,l=s.length;for(;c<l&&s[c].text.trim()==="";)c++;for(;l>c&&s[l-1].text.trim()==="";)l--;let d=s.slice(c,l);if(d.length===0)return!1;let f=i?d:d.slice(0,B1);return f.forEach((p,h)=>{$e(e,`${t}-diff-${h}`,p.text,ut(r,4),{color:p.color,indent:4})}),!i&&d.length>f.length&&$e(e,`${t}-diff-more`,`... (${d.length-f.length} more lines)`,ut(r,4),{color:"dim",indent:4}),!0}o(F1,"pushDiffRows");var gb=400,j1="... (thinking truncated; press Ctrl+O to inspect full reasoning)",yb=2e5,U1="... (thinking show-all truncated at 200K chars; full content available via session artifacts)",Tb=1e5,xb=120,G1=" \u2026 (Ctrl+O to expand)";function Cb(){return process.env.KODAX_THINKING_COLLAPSE!=="0"}o(Cb,"isThinkingCollapseEnabled");function V1(e){let t=e.split(/\r?\n/).map(a=>a.trim()).filter(a=>a.length>0),n=t[0]??"",r=t.length>1,i=n.length>xb;return{summary:i?`${n.slice(0,xb).trimEnd()}\u2026`:n,hasMore:r||i}}o(V1,"buildCollapsedThinkingLine");function K1(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(K1,"normalizeManagedLiveActivityLabel");function dl(e){return new Date(e).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"})}o(dl,"formatTimestamp");function Ib(e){switch(e){case F.Scheduled:return"\u25CB";case F.Validating:return"\u25D0";case F.AwaitingApproval:return"\u23F8";case F.Executing:return"\u25CF";case F.Success:return"\u2713";case F.Error:return"\u2717";case F.Cancelled:return"\u2298";default:return"[tool]"}}o(Ib,"getToolStatusIcon");function bb(e){switch(e){case F.Scheduled:case F.Validating:return"dim";case F.AwaitingApproval:return"accent";case F.Executing:return"primary";case F.Success:return"success";case F.Error:return"error";case F.Cancelled:return"dim";default:return"text"}}o(bb,"getToolStatusColor");function z1(e,t){let n=Math.max(1,t),r=e.split(`
|
|
53
|
-
`),i=dn(r.length>0?r:[""],n,0,0);return i.visualLines.length>0?i.visualLines:[""]}o(z1,"wrapText");function cg(e,t,n,r=!1){if(n||r)return e.length>yb?`${e.slice(0,yb)}
|
|
54
|
-
|
|
55
|
-
${U1}`:e;let i=e.split(/\r?\n/),s=i.length>t,a=s?i.slice(0,t).join(`
|
|
56
|
-
`):e,c=a.length>gb,l=c?a.slice(0,gb):a;return!s&&!c?e:`${l}
|
|
57
|
-
|
|
58
|
-
${j1}`}o(cg,"buildThinkingPreview");function Y1(e){for(let t=e.length-1;t>=0;t--)if(e[t]?.type==="user")return t;return 0}o(Y1,"findActiveRoundStartIndex");function $e(e,t,n,r,i){let s=$t(n),a=z1(s,r);if(a.length===0){e.push({key:`${t}-0`,text:"",...i});return}a.forEach((c,l)=>{e.push({key:`${t}-${l}`,text:c,...i})})}o($e,"pushWrappedRows");function ma(e,t){e.push({key:t,text:" "})}o(ma,"pushBlankRow");function ut(e,t=0){return Math.max(20,e-t)}o(ut,"getBodyWidth");function X1(e){if(!e.input)return[];let t=JSON.stringify(e.input,null,2)?.trim();return t?t.split(/\r?\n/).slice(0,6).map((n,r)=>r===0?`input: ${n}`:n):[]}o(X1,"buildToolInputPreview");function q1(e,t,n,r,i,s=!1,a=!1){$e(e,`${t}-tool-${n.id}-main`,`${Ib(n.status)} ${ul({tool:n,count:r})}`,ut(i,2),{color:bb(n.status),indent:2,bold:n.status===F.Executing}),og(n).forEach((d,f)=>{let p=rg(d);$e(e,`${t}-tool-${n.id}-explanation-${f}`,d,ut(i,4),{color:p,indent:4})});let l=n.status===F.Success&&typeof n.output=="string"&&n.output.trim().length>0&&H1(n)&&F1(e,`${t}-tool-${n.id}`,n.output,i,a);if(s){let d=X1(n),f=a?d:d.slice(0,6);f.forEach((p,h)=>{$e(e,`${t}-tool-${n.id}-input-${h}`,p,ut(i,4),{color:"dim",indent:4})}),!a&&d.length>f.length&&$e(e,`${t}-tool-${n.id}-input-more`,`... (${d.length-f.length} more lines)`,ut(i,4),{color:"dim",indent:4})}if(s&&!l&&typeof n.output=="string"&&n.output.trim()){let d=n.output.trim().split(/\r?\n/),f=a?d:d.slice(0,8);f.forEach((h,g)=>{$e(e,`${t}-tool-${n.id}-output-${g}`,h,ut(i,4),{color:"dim",indent:4})});let p=d.length;!a&&p>f.length&&$e(e,`${t}-tool-${n.id}-output-more`,`... (${p-f.length} more lines)`,ut(i,4),{color:"dim",indent:4})}}o(q1,"buildToolRows");function Q1(e,t,n,r){let i=n.status===F.Executing,s=i?"":`${Ib(n.status)} `;$e(e,`${t}-tool-${n.id}-main`,`${s}${ul({tool:n,count:1})}`,ut(r,2),{color:bb(n.status),indent:2,bold:i,spinner:i}),og(n).forEach((c,l)=>{let d=rg(c);$e(e,`${t}-tool-${n.id}-explanation-${l}`,c,ut(r,4),{color:d,indent:4})})}o(Q1,"buildLiveToolRows");function vb(e){let{items:t,viewportWidth:n,isLoading:r=!1,maxLines:i=1e3,isThinking:s=!1,thinkingCharCount:a=0,thinkingContent:c="",streamingResponse:l="",currentTool:d,activeToolCalls:f=[],toolInputCharCount:p=0,toolInputContent:h="",iterationHistory:g=[],currentIteration:T=1,isCompacting:v=!1,managedAgentMode:C,managedPhase:S,managedHarnessProfile:w,managedWorkerTitle:M,managedRound:L,managedMaxRounds:A,lastLiveActivityLabel:H,liveStatusLines:K=[],currentTodoActiveForm:W,showFullThinking:ne=!1,showDetailedTools:x=!1,showAllContent:Ce=!1,showLiveProgressRows:J=!0}=e,D=[];for(let k of t)switch(k.type){case"user":$e(D,`${k.id}-header`,`You [${dl(k.timestamp)}]`,n,{color:"primary",bold:!0,itemId:k.id}),$e(D,`${k.id}-body`,jf(k.text),ut(n,2),{color:"text",indent:2,itemId:k.id}),D.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break;case"assistant":{let B=ag(Ce?k.text:k.compactText??k.text);$e(D,`${k.id}-header`,`Assistant [${dl(k.timestamp)}]`,n,{color:"secondary",bold:!0,spinner:k.isStreaming,itemId:k.id}),$e(D,`${k.id}-body`,B,ut(n,2),{color:"text",indent:2,itemId:k.id}),D.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break}case"system":$e(D,`${k.id}-header`,`System [${dl(k.timestamp)}]`,n,{color:"dim",bold:!0,itemId:k.id}),$e(D,`${k.id}-body`,k.text,ut(n,2),{color:"dim",indent:2,itemId:k.id}),D.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break;case"tool_group":$e(D,`${k.id}-header`,`Tools [${dl(k.timestamp)}]`,n,{color:"accent",bold:!0,itemId:k.id}),Wf(k.tools).forEach(B=>q1(D,k.id,B.tool,B.count,n,x,Ce)),D.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break;case"thinking":{$e(D,`${k.id}-header`,"Thinking",n,{color:"thinking",italic:!0,itemId:k.id});let B=Cb()&&!ne&&!Ce?V1(k.compactText??k.text):void 0;if(B?.hasMore){$e(D,`${k.id}-body`,`${B.summary}${G1}`,ut(n,2),{color:"thinking",indent:2,italic:!0,itemId:k.id}),D.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break}let Se=Ce?cg(k.text,i,ne,Ce):k.compactText??cg(k.text,i,ne,Ce);$e(D,`${k.id}-body`,Se,ut(n,2),{color:"thinking",indent:2,italic:!0,itemId:k.id}),D.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break}case"error":$e(D,`${k.id}-header`,"\u2717 Error",n,{color:"error",bold:!0,itemId:k.id}),$e(D,`${k.id}-body`,k.text,ut(n,2),{color:"error",indent:2,itemId:k.id}),D.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break;case"info":$e(D,`${k.id}-body`,`${k.icon??"\u2139"} ${ag(Ce?k.text:k.compactText??k.text)}`,n,{color:"info",itemId:k.id}),D.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break;case"event":$e(D,`${k.id}-body`,`${k.icon??">"} ${Ce?k.text:k.compactText??k.text}`,n,{color:"text",itemId:k.id}),D.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break;case"hint":$e(D,`${k.id}-header`,"\u{1F4A1} Hint",n,{color:"hint",bold:!0,itemId:k.id}),$e(D,`${k.id}-body`,k.text,ut(n,2),{color:"dim",indent:2,itemId:k.id}),D.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break;case"sidecar":{let B=k.delivery==="budget-exhausted"?"\u26A1 Sidecar Verifier \u2014 budget exhausted":k.verdict==="blocked"?"\u26A1 Sidecar Verifier \u2014 blocked":"\u26A1 Sidecar Verifier \u2014 revise";$e(D,`${k.id}-header`,`${B} [${dl(k.timestamp)}]`,n,{color:"warning",bold:!0,itemId:k.id}),$e(D,`${k.id}-body`,k.text,ut(n,2),{color:"dim",indent:2,itemId:k.id}),D.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break}default:break}if(J&&g.length>0&&(g.forEach(k=>{if($e(D,`iteration-${k.iteration}-header`,`\u2500\u2500 Round ${k.iteration} \u2500\u2500`,n,{color:"dim",bold:!0}),k.thinkingSummary){let B=k.thinkingLength>60?` (${k.thinkingLength} chars total)`:"";$e(D,`iteration-${k.iteration}-thinking`,`\u{1F4AD} ${k.thinkingSummary}${B}`,ut(n,1),{color:"thinking",indent:1,italic:!0})}if(k.response){let B=k.response.slice(0,200);$e(D,`iteration-${k.iteration}-response`,B,ut(n,1),{color:"text",indent:1}),k.response.length>200&&$e(D,`iteration-${k.iteration}-response-more`,`... (${k.response.length} chars total)`,ut(n,1),{color:"dim",indent:1})}k.toolsUsed.length>0&&$e(D,`iteration-${k.iteration}-tools`,`* tools: ${k.toolsUsed.join(", ")}`,ut(n,1),{color:"accent",indent:1}),ma(D,`iteration-${k.iteration}-blank`)}),$e(D,"iteration-current-header",`\u2500\u2500 Round ${T} (current) \u2500\u2500`,n,{color:"accent",bold:!0}),ma(D,"iteration-current-blank")),r&&c){let k=cg(c,i,ne,Ce);$e(D,"thinking-stream-header","Thinking",n,{color:"thinking",italic:!0}),$e(D,"thinking-stream-body",k,ut(n,2),{color:"thinking",indent:2,italic:!0}),ma(D,"thinking-stream-blank")}if(r){let k="Thinking",B="",Se=K1(H,M),de=M??"Scout",ee=S==="routing"?`[${C?C.toUpperCase():"AMA"} Routing] `:S==="preflight"?`[${C?C.toUpperCase():"AMA"} ${de}] `:S==="verifying"?`[${C?C.toUpperCase():"AMA"} Verifying] `:w?`[${C?C.toUpperCase():"AMA"} ${M??"Worker"}] `:"",he=f.filter(X=>X.status===F.Executing).length,we=f.filter(X=>X.status===F.Success).length,fe=f.filter(X=>X.status===F.Error).length,Te=f.filter(X=>X.status===F.Cancelled).length,Oe=f.length>0&&(he>0||!l);if(v)k="Compacting";else if(S==="verifying")B=ee,k="checking agent output";else if(Oe){let X=[];if(he>0&&X.push(`${he} running`),we>0&&X.push(`${we} done`),fe>0&&X.push(`${fe} error`),Te>0&&X.push(`${Te} cancelled`),X.length===0&&X.push(`${f.length} tools`),$e(D,"loading-tools-header",`${ee}[Tools] ${X.join(", ")}`,n,{color:"primary",bold:!0,spinner:he>0}),f.forEach(ce=>{Q1(D,"loading-tools",ce,n)}),ma(D,"loading-tools-blank"),he>0&&!l&&!J)return D}else if(W)B=ee||"[Plan] ",k=W;else if(d)B=ee||"[Tool] ",k=Se?.startsWith("[Tools]")?Se:Ff(d,h,p);else if(s){B=ee||"[Thinking] ";let X=L&&A&&L>1?` round ${L}/${A}`:"";k=a>0?`${a} chars${X}`:Se?`${Se}${X}`:`processing${X}`}else Se&&(k=Se);J&&$e(D,"loading-indicator",`${B}${k}...`,n,{color:"accent",spinner:!0})}if(J&&K.length>0&&($e(D,"live-status-header","Live status",n,{color:"dim",bold:!0}),K.forEach((k,B)=>{$e(D,`live-status-${B}`,k,ut(n,2),{color:"dim",indent:2})}),ma(D,"live-status-blank")),l){let k=l.lastIndexOf(`
|
|
59
|
-
`),B=k>=0?l.slice(0,k+1):"";B.length>0&&($e(D,"streaming-header","Assistant",n,{color:"secondary",bold:!0}),$e(D,"streaming-body",B,ut(n,2),{color:"text",indent:2}),ma(D,"streaming-blank"))}return D}o(vb,"buildTranscriptRows");function J1(e,t,n=1e3,r=!1,i=!1,s=!1){return ha(e,t,n,r,void 0,i,s)}o(J1,"buildStaticTranscriptSections");var Sb=new WeakMap,wb=new Set(["thinking","tool_group"]);function Z1(){return process.env.KODAX_TRANSCRIPT_TIGHT!=="0"}o(Z1,"isTightRunSpacingEnabled");function e$(e,t){return Z1()?t.map((n,r)=>{let i=e[r],s=e[r+1];if(!i||!s||!wb.has(i.type)||!wb.has(s.type))return n;let a=n.rows,c=a[a.length-1];return c&&c.text===" "&&c.key.endsWith("-blank")?{...n,rows:a.slice(0,-1)}:n}):t}o(e$,"suppressTightRunBlanks");function ha(e,t,n=1e3,r=!1,i,s=!1,a=!1){let c=e.map(l=>{let d=r||!!i?.has(l.id),f=`${t}|${n}|${s?1:0}|${d?1:0}|${Cb()?1:0}|${a?1:0}`,p=Sb.get(l);if(p!==void 0&&p.sig===f)return p.section;let h={key:l.id,rows:vb({items:[l],viewportWidth:t,maxLines:n,showAllContent:s,showDetailedTools:d,showFullThinking:a})};return Sb.set(l,{sig:f,section:h}),h});return e$(e,c)}o(ha,"buildHistoryItemTranscriptSections");function t$(e,t){return{key:e,rows:vb(t)}}o(t$,"buildDynamicTranscriptSection");function Uf(e){let{items:t,viewportWidth:n,maxLines:r=1e3,showDetailedTools:i=!1,showAllContent:s=!1,showFullThinking:a=!1,windowed:c=!1}=e;if(c)return{staticSections:[],activeItems:t};let l=Y1(t),d=t.slice(0,l),f=t.slice(l);return{staticSections:J1(d,n,r,i,s,a),activeItems:f}}o(Uf,"buildTranscriptStaticPortion");function Gf(e){let{activeItems:t,viewportWidth:n,maxLines:r=1e3,showDetailedTools:i=!1,showAllContent:s=!1,showFullThinking:a=!1,expandedItemKeys:c,...l}=e,d=ha(t,n,r,i,c,s,a),f=t$("active-pending",{...l,items:[],managedLiveEvents:[],lastLiveActivityLabel:l.lastLiveActivityLabel,viewportWidth:n,maxLines:r,showAllContent:s,showDetailedTools:i,showFullThinking:a,expandedItemKeys:c}),p=f.rows.length>0?[f]:[];return{sections:d,previewSections:p}}o(Gf,"buildTranscriptDynamicPortion");function Vf(e,t){return{staticSections:e.staticSections,sections:t.sections,rows:Oi(t.sections),previewSections:t.previewSections,previewRows:Oi(t.previewSections)}}o(Vf,"composeTranscriptRenderModel");function Rb(e,t,n){let r=Vf(e,t);return n?{...r,staticSections:[n,...r.staticSections]}:r}o(Rb,"buildInlinePromptRenderModel");function kb(e,t,n,r){let i=Number.isFinite(r)?Math.max(1,Math.floor(r)):1,s=[...t,...n],a=Math.max(0,s.length-i),c=s.slice(a),l=e.flatMap(h=>h.rows),d=s.slice(0,a).filter(h=>h.spinner!==!0);return{committedSections:[...l,...d].map((h,g)=>({key:`il-${g}`,rows:[{...h,key:`il-${g}`}]})),liveRows:c}}o(kb,"splitInlineLedgerModel");function n$(e){return e.replace(/^(You|Assistant|Tools|System) \[\d{1,2}:\d{2}[^\]]*\]$/u,"$1")}o(n$,"stripHeaderTimestamp");function Eb(e){let t=5381;for(let n of e.rows){let r=n$(n.text);for(let i=0;i<n.key.length;i++)t=(t<<5)+t+n.key.charCodeAt(i)|0;t=(t<<5)+t+0|0;for(let i=0;i<r.length;i++)t=(t<<5)+t+r.charCodeAt(i)|0;t=(t<<5)+t+1|0}return{key:e.key,fingerprint:`${t>>>0}`}}o(Eb,"identifyInlineCommitSection");function Kf(e){let t=Uf({items:e.items,viewportWidth:e.viewportWidth,maxLines:e.maxLines,showDetailedTools:e.showDetailedTools,showAllContent:e.showAllContent,showFullThinking:e.showFullThinking,windowed:e.windowed}),{items:n,...r}=e,i=Gf({...r,activeItems:t.activeItems});return Vf(t,i)}o(Kf,"buildTranscriptRenderModel");function Oi(e){return e.flatMap(t=>t.rows)}o(Oi,"flattenTranscriptSections");function Mb(e){let t=5381;for(let n of e.rows){let r=`${n.key}\0${n.text}`;for(let i=0;i<r.length;i++)t=Math.imul(t,33)+r.charCodeAt(i)|0}return{key:e.key,fingerprint:`${e.rows.length}:${(t>>>0).toString(36)}`}}o(Mb,"identifyTranscriptSection");function lg(e){let t=[...e.staticSections,...e.sections];return{staticSections:[],sections:t,rows:Oi(t),previewSections:[...e.previewSections],previewRows:Oi(e.previewSections)}}o(lg,"materializeTranscriptRenderModel");function Ab(e,t={}){let{start:n,end:r,viewportTop:i,viewportHeight:s,viewportRows:a,scrollOffset:c=0,windowed:l=!1}=t;if(typeof i=="number"&&typeof s=="number"){let d=Math.max(0,i),f=Math.max(d,i+Math.max(0,s));return e.slice(d,f)}return typeof n=="number"&&typeof r=="number"?e.slice(Math.max(0,n),Math.max(0,r)):l?dg(e,a,c):e}o(Ab,"resolveVisibleTranscriptRows");var r$=200,o$=50,ug=30;function _b(e,t,n=r$,r=o$){let i=t.current,s=i?e.findIndex(l=>l.id===i.id):-1,a=s>=0?s:i?Math.min(i.idx,Math.max(0,e.length-n)):0;e.length-a>n+r&&(a=e.length-n);let c=e[a];return c&&(i?.id!==c.id||i.idx!==a)?t.current={id:c.id,idx:a}:!c&&i&&(t.current=null),a}o(_b,"computeTranscriptCapStart");function Lb(e,t){if(t<=0||e.length===0)return[];let n=0,r=0;for(let i=e.length-1;i>=0;i--)if(e[i]?.type==="user"&&(n++,n>t)){r=i+1;break}return e.slice(r)}o(Lb,"sliceHistoryToRecentRounds");function dg(e,t,n=0){if(!t||t<=0)return e;let r=Math.max(0,n),i=Math.max(0,e.length-r),s=Math.max(0,i-t);return e.slice(s,i)}o(dg,"getVisibleTranscriptRows");function Pb(e,t,n){if(!t||!n||n<=0)return 0;let r=Oi(e),i=e.find(d=>d.key===t);if(!i||i.rows.length===0)return 0;let s=i.rows[0]?.key,a=r.findIndex(d=>d.key===s);if(a===-1)return 0;let c=Math.max(0,a-Math.floor(n/3)),l=Math.min(r.length,c+n);return Math.max(0,r.length-l)}o(Pb,"resolveScrollOffsetForTranscriptItem");function $b(e,t){if(t)switch(t){case"warning":return e.colors.warning;case"info":return e.colors.info;case"hint":return e.colors.hint;default:return e.colors[t]}}o($b,"resolveTranscriptColor");var zf="__transcript_hidden_divider__";function Db(e,t){let n=e===1?"message":"messages";return{id:zf,type:"info",timestamp:t?Math.max(0,t-1):0,text:`${e} earlier ${n} hidden \u2014 press Ctrl+E to show all`,icon:"\u2191"}}o(Db,"buildTranscriptHiddenDivider");function fg(e){return e.id===zf}o(fg,"isTranscriptHiddenDivider");var Ob=new vi(500);function i$(e){let t=un(e),n=[],r=[],i=0,s=0;for(let a of t)n.push(i),r.push(s),i+=a.length,s+=zd(a);return{graphemes:t,codeUnitOffsets:n,visualOffsets:r,length:t.length,displayWidth:s}}o(i$,"buildTranscriptTextMetrics");function fl(e){let t=Ob.get(e);if(t)return t;let n=i$(e);return Ob.set(e,n),n}o(fl,"getTranscriptTextMetrics");function Bo(e){return fl(e).length}o(Bo,"getTranscriptTextLength");function Nb(e){return fl(e).displayWidth}o(Nb,"getTranscriptTextDisplayWidth");function Yf(e,t){let n=fl(e),r=Math.max(0,Math.min(n.length-1,t));return n.graphemes[r]??""}o(Yf,"charAtTranscriptText");function ga(e,t,n){let r=fl(e),i=Math.max(0,Math.min(r.length,Math.floor(t))),s=typeof n=="number"?Math.max(i,Math.min(r.length,Math.floor(n))):r.length;return r.graphemes.slice(i,s).join("")}o(ga,"sliceTranscriptText");function Bb(e,t){let n=fl(e),r=Math.max(0,Math.floor(t));if(r<=0||n.length===0)return 0;for(let i=0;i<n.length;i+=1){let s=n.visualOffsets[i]??0,a=i+1<n.length?n.visualOffsets[i+1]??n.displayWidth:n.displayWidth;if(r<a||r===s)return i}return n.length}o(Bb,"resolveTranscriptTextIndexAtVisualColumn");function Xf(e){return new Date(e).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"})}o(Xf,"formatTimestamp");function s$(e,t){let n=e.split(`
|
|
60
|
-
`),r=n.slice(0,t),i=n.length>t;return{lines:r,hasMore:i}}o(s$,"truncateLines");function a$(e){switch(e){case F.Scheduled:return"\u25CB";case F.Validating:return"\u25D0";case F.AwaitingApproval:return"\u23F8";case F.Executing:return"\u25CF";case F.Success:return"\u2713";case F.Error:return"\u2717";case F.Cancelled:return"\u2298";default:return"?"}}o(a$,"getToolStatusIcon");function c$(e,t){switch(e){case F.Scheduled:case F.Validating:return t.colors.dim;case F.AwaitingApproval:return t.colors.accent;case F.Executing:return t.colors.primary;case F.Success:return t.colors.success;case F.Error:return t.colors.error;case F.Cancelled:return t.colors.dim;default:return t.colors.text}}o(c$,"getToolStatusColor");var l$=An(({item:e,theme:t})=>{let n=_r(()=>jf(e.text),[e.text]);return ze(E,{flexDirection:"column",marginBottom:1,children:[ze(E,{children:[ve(I,{color:t.colors.primary,bold:!0,children:"You"}),ze(I,{dimColor:!0,children:[" [",Xf(e.timestamp),"]"]})]}),ve(E,{marginLeft:2,children:ve(I,{color:t.colors.text,children:n})})]})}),u$=An(({item:e,theme:t,maxLines:n})=>{let r=e.compactText??e.text,{lines:i,hasMore:s}=s$(r,n);return ze(E,{flexDirection:"column",marginBottom:1,children:[ze(E,{children:[ve(I,{color:t.colors.secondary,bold:!0,children:"Assistant"}),e.isStreaming&&ze(pg,{children:[ve(I,{children:" "}),ve(Mn,{color:t.colors.accent})]}),ze(I,{dimColor:!0,children:[" [",Xf(e.timestamp),"]"]})]}),ze(E,{marginLeft:2,flexDirection:"column",children:[i.map((a,c)=>ve(I,{color:t.colors.text,children:a||" "},c)),s&&ze(I,{dimColor:!0,children:["... (",r.split(`
|
|
61
|
-
`).length-n," more lines)"]})]})]})}),d$=An(({item:e,theme:t})=>ze(E,{flexDirection:"column",marginBottom:1,children:[ze(E,{children:[ve(I,{color:t.colors.dim,bold:!0,children:"System"}),ze(I,{dimColor:!0,children:[" [",Xf(e.timestamp),"]"]})]}),ve(E,{marginLeft:2,children:ve(I,{dimColor:!0,children:e.text})})]})),f$=An(({tool:e,count:t=1,theme:n})=>{let r=a$(e.status),i=c$(e.status,n);return ze(E,{flexDirection:"column",marginLeft:2,children:[ze(E,{children:[ze(I,{color:i,children:[r," "]}),ve(I,{color:n.colors.text,bold:!0,children:ul({tool:e,count:t})})]}),e.error&&ve(E,{marginLeft:2,children:ve(I,{color:n.colors.error,children:e.error})})]})}),p$=An(({item:e,theme:t})=>{let n=Wf(e.tools);return ze(E,{flexDirection:"column",marginBottom:1,children:[ze(E,{children:[ve(I,{color:t.colors.accent,bold:!0,children:"Tools"}),ze(I,{dimColor:!0,children:[" [",Xf(e.timestamp),"]"]})]}),n.map(r=>ve(f$,{tool:r.tool,count:r.count,theme:t},`${r.tool.id}-${r.count}`))]})}),m$=An(({item:e,theme:t})=>ze(E,{flexDirection:"column",marginBottom:1,children:[ve(E,{children:ve(I,{color:t.colors.thinking,italic:!0,children:"Thinking"})}),ve(E,{marginLeft:2,children:ve(I,{color:t.colors.thinking,italic:!0,children:e.compactText??e.text})})]})),h$=An(({item:e,theme:t})=>ze(E,{flexDirection:"column",marginBottom:1,children:[ve(E,{children:ze(I,{color:t.colors.error,bold:!0,children:["\u2717"," Error"]})}),ve(E,{marginLeft:2,children:ve(I,{color:t.colors.error,children:e.text})})]})),g$=An(({item:e,theme:t})=>ve(E,{flexDirection:"column",marginBottom:1,children:ze(I,{color:t.colors.text,children:[ve(I,{color:t.colors.accent,bold:!0,children:e.icon??">"}),ve(I,{children:" "}),e.compactText??e.text]})})),y$=An(({item:e,theme:t})=>ve(E,{flexDirection:"column",marginBottom:e.tightSpacing?0:1,children:ze(I,{color:t.colors.info,children:[ze(I,{bold:!0,children:[e.icon??"\u2139"," "]}),e.compactText??e.text]})})),x$=An(({item:e,theme:t})=>ze(E,{flexDirection:"column",marginBottom:1,children:[ve(E,{children:ze(I,{color:t.colors.hint,bold:!0,children:["\u{1F4A1}"," Hint"]})}),ve(E,{marginLeft:2,children:ve(I,{dimColor:!0,children:e.text})})]})),Wb=An(({item:e,theme:t,maxLines:n=1e3})=>{let r=_r(()=>oe("dark"),[]),i=t??r;switch(e.type){case"user":return ve(l$,{item:e,theme:i});case"assistant":return ve(u$,{item:e,theme:i,maxLines:n});case"system":return ve(d$,{item:e,theme:i});case"tool_group":return ve(p$,{item:e,theme:i});case"thinking":return ve(m$,{item:e,theme:i});case"error":return ve(h$,{item:e,theme:i});case"event":return ve(g$,{item:e,theme:i});case"info":return ve(y$,{item:e,theme:i});case"hint":return ve(x$,{item:e,theme:i});default:return ve(E,{children:ve(I,{dimColor:!0,children:"Unknown item type"})})}});function S$(e,t){if(e.theme!==t.theme||(e.animateSpinners??!0)!==(t.animateSpinners??!0)||(e.selectedItem??!1)!==(t.selectedItem??!1))return!1;let n=e.row,r=t.row;if(n!==r){if(n.key!==r.key||n.text!==r.text||n.color!==r.color||n.bold!==r.bold||n.italic!==r.italic||n.indent!==r.indent||n.spinner!==r.spinner||n.itemId!==r.itemId)return!1}let i=e.selectionRange,s=t.selectionRange;return i===s?!0:!i||!s?!1:i.start===s.start&&i.end===s.end}o(S$,"areTranscriptRowPropsEqual");var Fb=An(({row:e,theme:t,animateSpinners:n=!0,selectedItem:r=!1,selectionRange:i})=>{let s=$b(t,e.color),a=e.text===" "?"":e.text,c=a||" ",l=i&&a?ga(a,i.start,i.end):"",d=i&&a?ga(a,0,i.start):a,f=i&&a?ga(a,i.end):"",p=r&&!i,h=!p&&e.color==="dim",g={bold:e.bold||p,italic:e.italic,dimColor:h};return ze(E,{marginLeft:e.indent??0,children:[e.spinner&&n&&ze(pg,{children:[ve(Mn,{color:t.colors.accent,theme:t}),ve(I,{children:" "})]}),ve(I,{color:p?t.colors.accent:s,...g,children:i&&a?ze(pg,{children:[d?ve(I,{color:p?t.colors.accent:s,...g,children:d}):null,ve(I,{backgroundColor:t.colors.accent,color:t.colors.background,bold:!0,italic:e.italic,children:l}),f?ve(I,{color:p?t.colors.accent:s,...g,children:f}):null]}):c})]})},S$),mg=An(({section:e,theme:t,animateSpinners:n=!0})=>ve(E,{flexDirection:"column",children:e.rows.map(r=>ve(Fb,{row:r,theme:t,animateSpinners:n},r.key))})),Ho=o(({items:e,isLoading:t=!1,maxLines:n=1e3,isThinking:r=!1,thinkingCharCount:i=0,thinkingContent:s="",streamingResponse:a="",currentTool:c,activeToolCalls:l,toolInputCharCount:d=0,toolInputContent:f="",iterationHistory:p=[],currentIteration:h=1,isCompacting:g=!1,agentMode:T,managedPhase:v,managedHarnessProfile:C,managedWorkerTitle:S,managedRound:w,managedMaxRounds:M,managedGlobalWorkBudget:L,managedBudgetUsage:A,managedBudgetApprovalRequired:H,lastLiveActivityLabel:K,liveStatusLines:W,viewportRows:ne,viewportWidth:x,scrollOffset:Ce=0,animateSpinners:J=!0,windowed:D=!1,showFullThinking:k=!1,showDetailedTools:B=!1,showAllContent:Se=!1,showLiveProgressRows:de=!0,selectedItemId:ee,expandedItemKeys:he,onMetricsChange:we,onVisibleRowsChange:fe,rendererWindow:Te,selectedTextRanges:Oe,transcriptModel:X,visibleRowsOverride:ce})=>{let _e=_r(()=>oe("dark"),[]),{stdout:tt}=kr(),q=x??tt?.columns??80,Ke=_r(()=>X??Kf({items:e,viewportWidth:q,isLoading:t,maxLines:n,isThinking:r,thinkingCharCount:i,thinkingContent:s,streamingResponse:a,currentTool:c,activeToolCalls:l,toolInputCharCount:d,toolInputContent:f,iterationHistory:p,currentIteration:h,isCompacting:g,managedAgentMode:T,managedPhase:v,managedHarnessProfile:C,managedWorkerTitle:S,managedRound:w,managedMaxRounds:M,managedGlobalWorkBudget:L,managedBudgetUsage:A,managedBudgetApprovalRequired:H,lastLiveActivityLabel:K,liveStatusLines:W,windowed:D,showFullThinking:k,showDetailedTools:B,showAllContent:Se,showLiveProgressRows:de,expandedItemKeys:he}),[X,e,q,t,n,r,i,s,a,c,l,d,f,p,h,g,T,v,C,S,w,M,L,A,H,K,W,D,k,B,Se,de,he]),ct=Ke.staticSections,le=Ke.rows,Ie=Ke.previewRows,ye=_r(()=>[...le,...Ie],[Ie,le]),ft=!(ye.length>0)&&e.length===0&&!t,Qt=_r(()=>D||Te||ce?ye:le,[ye,Te,le,ce,D]),P=_r(()=>ce||Ab(Qt,{viewportTop:Te?Math.max(0,Te.viewportTop):void 0,viewportHeight:Te?Math.max(0,Te.viewportHeight):void 0,start:void 0,end:void 0,viewportRows:ne,scrollOffset:Ce,windowed:D}),[Te,Ce,ne,ce,D,Qt]),V=_r(()=>ce||D||Te?P:ye,[ye,Te,P,ce,D]),z=_r(()=>ye,[ye]),ge=Te?Math.max(0,Te.viewportHeight):ne;return Hb(()=>{we?.({scrollHeight:ye.length,viewportHeight:Te?Math.max(0,Te.viewportHeight):ge??ye.length})},[ye.length,ge,we,Te]),Hb(()=>{fe?.({rows:V,allRows:z})},[z,fe,V]),ft?ve(E,{paddingY:1,children:ve(I,{dimColor:!0,children:"No messages yet. Start typing to begin."})}):ze(E,{flexDirection:"column",children:[!D&&ct.length>0&&ve(oa,{items:ct,children:o(Me=>ve(mg,{section:Me,theme:_e,animateSpinners:J},Me.key),"children")}),V.map(Me=>ve(Fb,{row:Me,theme:_e,animateSpinners:J,selectedItem:ee?Me.key.startsWith(`${ee}-`):!1,selectionRange:Oe?.get(Me.key)},Me.key))]})},"MessageList");var jb=o(({role:e,content:t})=>{let n=_r(()=>oe("dark"),[]),r={user:n.colors.primary,assistant:n.colors.secondary,system:n.colors.dim}[e];return ze(E,{flexDirection:"column",marginBottom:1,children:[ve(I,{color:r,bold:!0,children:e==="user"?">":e==="assistant"?"<":"#"}),ve(I,{children:t})]})},"SimpleMessageDisplay");import{jsx as gg,jsxs as Zf}from"react/jsx-runtime";import O$,{useMemo as yg}from"react";function pl(e,t){if(t>=100)return"capacity-driven";let n=Math.round(e*t/100/1e3);return`@ ${t}% (${n}k)`}o(pl,"formatCompactionPolicy");function Ub(e,t,n=0){let r=dw(e,n);return t>=100?r:Math.min(r,Math.floor(e*t/100))}o(Ub,"resolveCompactionThresholdTokens");var w$="\u{1F504}",T$="\u2588",C$="\u2592",I$="\u2192",b$=" \xB7 ";function v$(e){switch(e){case"auto":return"auto";case"balanced":return"medium";case"quick":return"low";case"deep":return"high";case"off":return"off";default:return e.toLowerCase()}}o(v$,"formatReasoningModeShort");function R$(e){if(e)return e==="none"?"off":e}o(R$,"formatEffortShort");function k$(e){let t=e.split("->"),n=t[0]??e;if((t.length>1?t[t.length-1]:n)==="off")return"dim";switch(n){case"off":return"dim";case"low":return"green";case"medium":return"yellow";case"high":case"xhigh":case"max":return"magenta";default:return"cyan"}}o(k$,"getReasoningColor");function Gb(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}o(Gb,"formatTokenCount");function E$(e){let t=Math.min(10,Math.max(0,Math.round(e/10))),n=10-t;return`${T$.repeat(t)}${C$.repeat(n)}`}o(E$,"createMiniProgressBar");function M$(e,t,n,r){if(t===0)return"green";let i=Ub(t,n,r);return e>=i?"red":e>=i*(2/3)?"yellow":"green"}o(M$,"getContextColor");function A$(e){switch(e.toLowerCase()){case"plan":return"blue";case"accept-edits":return"green";case"auto":case"auto-in-project":return"warning";default:return"magenta"}}o(A$,"getPermissionModeColor");function _$(e,t){let n=Cd(e);return!(e==="auto"||e==="auto-in-project")||!t?n:`${n}${t==="llm"?"[LLM]":"[RULES]"}`}o(_$,"buildPermissionModeText");function L$(e){let t=e.toLowerCase();return t.includes("read")||t.includes("view")||t.includes("search")||t.includes("list")||t.includes("find")||t.includes("browser")||t.includes("get")?"Read":t.includes("write")||t.includes("replace")||t.includes("edit")||t.includes("modify")?"Edit":t.includes("command")||t.includes("bash")||t.includes("terminal")?"Bash":t.includes("ask")||t.includes("notify")||t.includes("user")||t.includes("question")?"Ask":t.includes("think")||t.includes("reason")?"Think":e}o(L$,"formatToolAction");function qf(e,t){return t&&t>0?`${e} (${t} chars)`:e}o(qf,"formatThinkingStatus");function Qf(e,t,n){let r=L$(e);return n?`${r} (${n}...)`:t&&t>0?`${r} (${t} chars)`:r}o(Qf,"formatToolStatus");function hg({activeToolCount:e,currentTool:t,isThinkingActive:n,thinkingCharCount:r,isCompacting:i,toolInputCharCount:s,toolInputContent:a,managedPhase:c,managedHarnessProfile:l,managedWorkerTitle:d,managedIdleWaiting:f,managedIdleWaitingPendingCount:p}){let h=e&&e>0?`${e} tool${e===1?"":"s"} running`:void 0;if(i)return"Compacting";if(c==="routing")return h?`Routing - ${h}`:t?`Routing - ${Qf(t,s,a)}`:n?qf("Routing",r):"Routing";if(c==="preflight"){let g=d??"Scout";return h?`${g} - ${h}`:t?`${g} - ${Qf(t,s,a)}`:n?qf(g,r):g}if(c==="verifying")return"Verifying";if(l){let g=d??"Worker";if(f===!0&&!h&&!t&&!n){let T=p??0,v=T>1?`waiting for ${T} children`:T===1?"waiting for 1 child":"idle - resuming";return`${g} - ${v}`}return h?`${g} - ${h}`:t?`${g} - ${Qf(t,s,a)}`:n?qf(g,r):g}if(h)return h;if(t)return Qf(t,s,a);if(n)return qf("Thinking",r)}o(hg,"buildBusyStatusText");function P$({agentMode:e,managedPhase:t,managedHarnessProfile:n,managedRound:r,managedMaxRounds:i,managedGlobalWorkBudget:s,managedBudgetUsage:a,currentIteration:c,maxIter:l}){let d=[];return t==="routing"||t==="preflight"||(n&&r&&i&&r>1&&d.push({label:"Round",current:r,max:i}),n&&s&&typeof a=="number"?d.push({label:"Work",current:a,max:s}):e==="sa"&&c&&l&&d.push({label:"Iter",current:c,max:l})),d}o(P$,"resolveIterationSegments");function $$(e){if(e.length!==0)return`${w$} ${e.map(t=>`${t.label} ${t.current}/${t.max}`).join(b$)}`}o($$,"formatLabeledIterationStatus");function D$(e){let{sessionId:t,permissionMode:n,agentMode:r,provider:i,model:s,tokenUsage:a,currentTool:c,activeToolCount:l,thinking:d,isThinkingActive:f,thinkingCharCount:p,reasoningMode:h=d?"auto":"off",effort:g,reasoningEffortLabel:T,isCompacting:v,toolInputCharCount:C,toolInputContent:S,currentIteration:w,maxIter:M,contextUsage:L,learning:A,showBusyStatus:H=!0,managedPhase:K,managedHarnessProfile:W,managedWorkerTitle:ne,managedRound:x,managedMaxRounds:Ce,managedGlobalWorkBudget:J,managedBudgetUsage:D,managedIdleWaiting:k,managedIdleWaitingPendingCount:B}=e,Se=[{id:"agent-mode",text:`KodaX - ${r.toUpperCase()}`,color:"primary",bold:!0},{id:"permission-mode",text:_$(n,e.autoModeEngine),color:A$(n)}],de=T??R$(g)??v$(h);Se.push({id:"reasoning-mode",text:de,color:k$(de)});let ee=P$({agentMode:r,managedPhase:K,managedHarnessProfile:W,managedRound:x,managedMaxRounds:Ce,managedGlobalWorkBudget:J,managedBudgetUsage:D,currentIteration:w,maxIter:M}),he=$$(ee);if(he){let fe=Math.max(...ee.map(Oe=>Oe.current/Oe.max)),Te="green";fe>=.8?Te="red":fe>=.5&&(Te="yellow"),Se.push({id:"iteration-status",text:he,color:Te})}Se.push({id:"session-id",text:t,color:"dim"});let we=H?hg({activeToolCount:l,currentTool:c,isThinkingActive:f,thinkingCharCount:p,isCompacting:v,toolInputCharCount:C,toolInputContent:S,managedPhase:K,managedHarnessProfile:W,managedWorkerTitle:ne,managedIdleWaiting:k,managedIdleWaitingPendingCount:B}):void 0;if(we&&Se.push({id:"busy-status",text:we,color:"dim"}),Se.push({id:"provider-model",text:`${i}/${s}`,color:"secondary"}),L&&L.contextWindow!==0){let fe=Math.round(L.currentTokens/L.contextWindow*100),Te=Gb(L.currentTokens),Oe=Gb(L.contextWindow),X=E$(fe);Se.push({id:"context-usage",text:`${Te}/${Oe} ${X} ${fe}%`,color:M$(L.currentTokens,L.contextWindow,L.triggerPercent,L.reservedResponseTokens)})}if(A&&(A.ready>0||A.newlyActive>0||A.attention>0)){let fe=[...A.ready>0?[`${A.ready}R`]:[],...A.newlyActive>0?[`${A.newlyActive}N`]:[],...A.attention>0?[`${A.attention}!`]:[]];Se.push({id:"learning",text:`Learn:${fe.join("/")}`,color:A.attention>0||A.ready>0?"yellow":"cyan",tone:A.attention>0||A.ready>0?"warning":"accent"})}return a&&Se.push({id:"token-usage",text:`${a.input}${I$}${a.output} (${a.total})`,color:"dim"}),Se}o(D$,"buildStatusBarSegments");function Jf(e){let t=D$(e);return{text:t.map(n=>n.text).join(" | "),segments:t}}o(Jf,"buildStatusBarViewModel");function N$(e,t){if(e.color)return t.colors[e.color]??e.color;switch(e.tone){case"primary":return t.colors.primary;case"accent":return t.colors.accent;case"success":return t.colors.success;case"warning":return t.colors.warning;case"error":return t.colors.error;default:return t.colors.dim}}o(N$,"resolveViewModelSegmentColor");var Ni=o(({viewModel:e,...t})=>{let n=yg(()=>oe("dark"),[]),r=yg(()=>e??Jf(t),[t,e]);return gg(E,{paddingX:1,children:r.segments.map((i,s)=>Zf(O$.Fragment,{children:[gg(I,{color:N$(i,n),bold:i.bold,children:i.text}),s<r.segments.length-1?gg(I,{dimColor:!0,children:" | "}):null]},i.id))})},"StatusBar"),Vb=o(({permissionMode:e,provider:t,model:n})=>{let r=yg(()=>oe("dark"),[]);return Zf(E,{children:[Zf(I,{color:r.colors.primary,bold:!0,children:["[",e,"]"]}),Zf(I,{dimColor:!0,children:[" ",t,"/",n]})]})},"SimpleStatusBar");import{jsx as Wo,jsxs as np}from"react/jsx-runtime";import{useState as xg,useCallback as ep,useMemo as Kb}from"react";function tp(){return`${Date.now()}-${Math.random().toString(36).slice(2,9)}`}o(tp,"generateId");function B$(e){let t={id:e.id,timestamp:e.timestamp};switch(e.role){case"user":return{...t,type:"user",text:e.content};case"assistant":return{...t,type:"assistant",text:e.content};case"system":return{...t,type:"system",text:e.content};default:return{...t,type:"info",text:e.content}}}o(B$,"messageToHistoryItem");var zb=o(({model:e,provider:t,onSubmit:n,permissionMode:r="accept-edits",agentMode:i="ama"})=>{let{stdout:s}=kr(),a=Kb(()=>oe("dark"),[]),[c,l]=xg({messages:[],isLoading:!1,sessionId:tp()}),[d,f]=xg(null),[p,h]=xg(),g=ep(async S=>{if(!S.trim())return;let w={id:tp(),role:"user",content:S,timestamp:Date.now()};l(M=>({...M,messages:[...M.messages,w],isLoading:!0}));try{await n(S)}catch(M){let L={id:tp(),role:"system",content:`Error: ${M instanceof Error?M.message:"Unknown error"}`,timestamp:Date.now()};l(A=>({...A,messages:[...A.messages,L],isLoading:!1}))}finally{l(M=>({...M,isLoading:!1}))}},[n]),T=ep((S,w)=>{let M={id:tp(),role:S,content:w,timestamp:Date.now()};l(L=>({...L,messages:[...L.messages,M]}))},[]),v=ep((S,w)=>{f({input:S,output:w,total:S+w})},[]),C=ep(S=>{h(S)},[]);return np(E,{flexDirection:"column",children:[Wo(E,{flexGrow:1,flexDirection:"column",overflow:"hidden",children:Wo(Ho,{items:c.messages.map(B$),isLoading:c.isLoading})}),Wo(E,{flexShrink:0,children:Wo(Di,{onSubmit:o(S=>g(S.fullText),"onSubmit"),prompt:">",focus:!c.isLoading})}),Wo(E,{flexShrink:0,children:Wo(Ni,{sessionId:c.sessionId,permissionMode:r,agentMode:i,provider:t,model:e,tokenUsage:d??void 0,currentTool:p})})]})},"App"),Yb=o(({model:e,provider:t,onInput:n})=>{let r=Kb(()=>oe("dark"),[]);return np(E,{flexDirection:"column",children:[np(E,{marginBottom:1,children:[Wo(I,{color:r.colors.primary,bold:!0,children:"KodaX CLI"}),np(I,{dimColor:!0,children:[" ","- ",t,"/",e]})]}),Wo(Di,{onSubmit:o(i=>n(i.fullText),"onSubmit"),placeholder:"Type a message...",prompt:">"})]})},"SimpleApp");import{jsx as H$}from"react/jsx-runtime";var rp=o(({top:e,topRows:t=0,transcript:n,renderTranscriptWindow:r,footer:i,overlay:s,stickyHeader:a,jumpToLatest:c,width:l,scrollTop:d=0,scrollHeight:f=0,viewportHeight:p=0,stickyScroll:h=!0,scrollRef:g,onScrollTopChange:T,onStickyChange:v,onWindowChange:C,overscanRows:S})=>H$(Fh,{width:l,top:e,topRows:t,stickyHeader:a,jumpToLatest:c,scrollable:n,renderScrollableWindow:r,overlay:s,bottom:i,scrollTop:d,scrollHeight:f,viewportHeight:p,stickyScroll:h,scrollRef:g,onScrollTopChange:T,onStickyChange:v,onWindowChange:C,overscanRows:S}),"FullscreenTranscriptLayout");import{jsx as Xb}from"react/jsx-runtime";function ya({copyMessage:e=!1,copyToolInput:t=!1,copyOnSelect:n=!1,toggleDetail:r=!1,selectionNavigation:i=!1,matchNavigation:s=!1,dismissAction:a}){let c=[];return i&&c.push("\u2190/\u2192 browse"),e&&c.push("C copy"),t&&c.push("I tool input"),n&&c.push("Mouse select copies"),r&&c.push("V details"),s&&c.push("N/Shift+N matches"),a==="clear"&&c.push("Esc clear"),a==="close-search"&&c.push("Esc close search"),c.length>0?c.join(" | "):void 0}o(ya,"buildMessageActionsText");var op=o(({copyMessage:e=!1,copyToolInput:t=!1,copyOnSelect:n=!1,toggleDetail:r=!1,selectionNavigation:i=!1,matchNavigation:s=!1,dismissAction:a})=>{let c=oe("dark"),l=ya({copyMessage:e,copyToolInput:t,copyOnSelect:n,toggleDetail:r,selectionNavigation:i,matchNavigation:s,dismissAction:a});return l?Xb(E,{paddingX:1,children:Xb(I,{color:c.colors.dim,children:l})}):null},"MessageActions");import{jsx as qb}from"react/jsx-runtime";function Sg({itemSummary:e,itemKind:t,position:n,detailState:r="compact"}){if(!e||!n||n.total<=0)return;let i=r==="expanded"?"expanded":"compact",s=t?`${t}: `:"";return`Selected item ${n.current}/${n.total}: ${s}${e} | ${i}`}o(Sg,"buildMessageSelectorText");var Qb=o(({itemSummary:e,itemKind:t,position:n,detailState:r="compact"})=>{let i=oe("dark"),s=Sg({itemSummary:e,itemKind:t,position:n,detailState:r});return s?qb(E,{paddingX:1,children:qb(I,{color:i.colors.dim,children:s})}):null},"MessageSelector");import{jsx as xa,jsxs as W$}from"react/jsx-runtime";import{useMemo as Jb}from"react";function ip(e,t){return Math.max(1,dn(e.length>0?e.split(`
|
|
62
|
-
`):[""],Math.max(1,t),0,0).visualLines.length)}o(ip,"countWrappedRows");var sp=o(({browse:e,selection:t,search:n,chromeMode:r="inline",...i})=>{let s=r==="inline",a=t?.itemSummary,c=t?.position,l=t?.itemKind,d=t?.detailState??"compact",f=t?.copyCapabilities,p=f?.message??!1,h=f?.toolInput??!1,g=f?.copyOnSelect??!1,T=t?.toggleDetail??!1,v=t?.navigationCapabilities?.selection??!1,C=n?.statusText,S=n?.matches?.length??0,w=n?.surface,M=i.viewportWidth??80,L=Math.max(1,M-2),A=n?.query?.trim()?"close-search":a||p||h||T||v?"clear":void 0,H=Sg({itemSummary:a,itemKind:l,position:c,detailState:d}),K=Jb(()=>ya({copyMessage:p,copyToolInput:h,copyOnSelect:g,toggleDetail:T,selectionNavigation:v,matchNavigation:!!C&&S>0,dismissAction:A}),[p,h,v,T,A,S,C,g]),W=Jb(()=>{if(!s)return 0;let x=0;return e?.hintText&&(x+=ip(e.hintText,L)),H&&(x+=ip(H,L)),K&&(x+=ip(K,L)),C&&(x+=ip(C,L)),w&&(x+=1),x},[K,e?.hintText,L,s,C,w,H]),ne=typeof i.viewportRows=="number"?Math.max(1,i.viewportRows-W):i.viewportRows;return W$(E,{flexDirection:"column",flexGrow:i.windowed?0:1,children:[s&&e?.hintText?xa(E,{paddingX:1,children:xa(I,{dimColor:!0,children:e.hintText})}):null,null,s&&(p||h||g||T||v||S>0)?xa(op,{copyMessage:p,copyToolInput:h,copyOnSelect:g,toggleDetail:T,selectionNavigation:v,matchNavigation:!!C&&S>0,dismissAction:A}):null,s&&C?xa(E,{paddingX:1,children:xa(I,{dimColor:!0,children:C})}):null,s?w:null,xa(Ho,{...i,viewportRows:ne})]})},"TranscriptViewport");import{jsx as Zb}from"react/jsx-runtime";var ap=o(e=>Zb(E,{flexDirection:"column",children:Zb(Di,{...e})}),"PromptComposer");import{jsx as Bi,jsxs as cp}from"react/jsx-runtime";import e0 from"react";var t0=" \xB7 ",ml=o(({items:e=[]})=>{let t=e.filter(r=>r.label.trim().length>0),n=oe("dark");return t.length===0?null:Bi(E,{flexGrow:1,children:t.map((r,i)=>cp(e0.Fragment,{children:[Bi(I,{color:r.accent?n.colors.accent:n.colors.dim,bold:r.accent,children:r.label}),i<t.length-1?Bi(I,{dimColor:!0,children:t0}):null]},r.id))})},"PromptFooterLeftSide"),hl=o(({items:e=[]})=>{let t=e.filter(r=>r.label.trim().length>0),n=oe("dark");return t.length===0?null:Bi(E,{justifyContent:"flex-end",children:t.map((r,i)=>cp(e0.Fragment,{children:[Bi(I,{color:r.accent?n.colors.primary:n.colors.dim,bold:r.accent,children:r.label}),i<t.length-1?Bi(I,{dimColor:!0,children:t0}):null]},r.id))})},"PromptFooterRightSide"),gl=o(({left:e,right:t,queued:n,stashNotice:r,notifications:i,inlineNotices:s,activityBar:a,todoSurface:c,composer:l,inlineSuggestions:d,helpSurface:f,taskBar:p,statusLine:h,inlineDialogs:g})=>cp(E,{flexDirection:"column",children:[e||t?cp(E,{paddingX:1,children:[Bi(E,{flexGrow:1,children:e}),t]}):null,n,r,i,s,a,c,l,d,g,f,p,h]}),"PromptFooter");import{jsx as wg,jsxs as n0}from"react/jsx-runtime";var lp=o(({sections:e,title:t="Help"})=>{let n=oe("dark"),r=e.filter(i=>i.items.length>0);return r.length===0?null:n0(E,{flexDirection:"column",borderStyle:"round",borderColor:n.colors.accent,paddingX:1,marginTop:1,children:[wg(I,{color:n.colors.accent,bold:!0,children:t}),r.map(i=>n0(E,{flexDirection:"column",children:[wg(I,{color:n.colors.primary,bold:!0,children:i.title}),wg(I,{dimColor:!0,children:i.items.map(s=>s.label).join(" | ")})]},i.id))]})},"PromptHelpMenu");import{jsx as r0}from"react/jsx-runtime";import{createContext as i0,useContext as s0,useReducer as F$,useCallback as Yt,useMemo as j$}from"react";var U$=150;function xl(){return`${Date.now()}-${Math.random().toString(36).slice(2,9)}`}o(xl,"generateId");function yl(e){let t=e.timestamp;return{...e,id:xl(),timestamp:t!==void 0&&Number.isFinite(t)&&t>=0?t:Date.now()}}o(yl,"createHistoryItem");function o0(e){if(e.length<=U$)return e;let t=0,n=0;for(let r=e.length-1;r>=0;r--)if(e[r]?.type==="user"&&(t++,t>50)){n=r;break}return n>0?e.slice(n):e}o(o0,"trimHistoryToRounds");function Tg(e,t){return e.filter(n=>n.type==="user"&&typeof n.id=="string"&&!t.has(n.id))}o(Tg,"selectUncommittedLedgerUserItems");function up(e){return{...e,id:xl(),startTime:Date.now()}}o(up,"createToolCall");function G$(e,t){switch(t.type){case"SET_STREAMING_STATE":return{...e,streamingState:t.payload};case"APPEND_TO_RESPONSE":return{...e,currentResponse:e.currentResponse+t.payload};case"CLEAR_RESPONSE":return{...e,currentResponse:""};case"ADD_HISTORY_ITEM":return{...e,history:o0([...e.history,t.payload])};case"BULK_ADD_HISTORY_ITEMS":return{...e,history:o0([...e.history,...t.payload])};case"UPDATE_HISTORY_ITEM":return{...e,history:e.history.map(n=>n.id===t.payload.id?{...n,...t.payload.updates}:n)};case"CLEAR_HISTORY":return{...e,history:[]};case"ADD_TOOL_CALL":return{...e,pendingToolCalls:[...e.pendingToolCalls,t.payload]};case"UPDATE_TOOL_CALL":return{...e,pendingToolCalls:e.pendingToolCalls.map(n=>n.id===t.payload.id?{...n,...t.payload.updates}:n)};case"CLEAR_TOOL_CALLS":return{...e,pendingToolCalls:[]};case"SET_SESSION_ID":return{...e,sessionId:t.payload};case"SET_PROVIDER":return{...e,provider:t.payload};case"SET_MODEL":return{...e,model:t.payload};case"SET_TOKEN_USAGE":return{...e,tokenUsage:t.payload};case"SET_ERROR":return{...e,error:t.payload};case"SET_LOADING":return{...e,isLoading:t.payload};case"RESET_STATE":return{...Td,sessionId:e.sessionId};default:return e}}o(G$,"uiReducer");var a0=i0(null),c0=i0(null);function Sl({children:e,initialState:t}){let[n,r]=F$(G$,{...Td,...t}),i=Yt(H=>{r({type:"SET_STREAMING_STATE",payload:H})},[]),s=Yt(H=>{r({type:"APPEND_TO_RESPONSE",payload:H})},[]),a=Yt(()=>{r({type:"CLEAR_RESPONSE"})},[]),c=Yt(H=>{let K=yl(H);r({type:"ADD_HISTORY_ITEM",payload:K})},[]),l=Yt(H=>{H.length!==0&&r({type:"BULK_ADD_HISTORY_ITEMS",payload:H.map(yl)})},[]),d=Yt((H,K)=>{r({type:"UPDATE_HISTORY_ITEM",payload:{id:H,updates:K}})},[]),f=Yt(()=>{r({type:"CLEAR_HISTORY"})},[]),p=Yt(H=>{let K=up(H);return r({type:"ADD_TOOL_CALL",payload:K}),K.id},[]),h=Yt((H,K)=>{r({type:"UPDATE_TOOL_CALL",payload:{id:H,updates:K}})},[]),g=Yt(()=>{r({type:"CLEAR_TOOL_CALLS"})},[]),T=Yt(H=>{r({type:"SET_SESSION_ID",payload:H})},[]),v=Yt(H=>{r({type:"SET_MODE",payload:H})},[]),C=Yt(H=>{r({type:"SET_PROVIDER",payload:H})},[]),S=Yt(H=>{r({type:"SET_MODEL",payload:H})},[]),w=Yt(H=>{r({type:"SET_TOKEN_USAGE",payload:H})},[]),M=Yt(H=>{r({type:"SET_ERROR",payload:H})},[]),L=Yt(H=>{r({type:"SET_LOADING",payload:H})},[]),A=j$(()=>({setStreamingState:i,appendToResponse:s,clearResponse:a,addHistoryItem:c,addHistoryItems:l,updateHistoryItem:d,clearHistory:f,addToolCall:p,updateToolCall:h,clearToolCalls:g,setSessionId:T,setMode:v,setProvider:C,setModel:S,setTokenUsage:w,setError:M,setLoading:L}),[i,s,a,c,l,d,f,p,h,g,T,v,C,S,w,M,L]);return r0(a0.Provider,{value:n,children:r0(c0.Provider,{value:A,children:e})})}o(Sl,"UIStateProvider");function Sa(){let e=s0(a0);if(!e)throw new Error("useUIState must be used within a UIStateProvider");return e}o(Sa,"useUIState");function wa(){let e=s0(c0);if(!e)throw new Error("useUIActions must be used within a UIStateProvider");return e}o(wa,"useUIActions");function Cg(){let e=Sa(),t=wa();return{state:e,actions:t}}o(Cg,"useUI");function Ig(){return oe()}o(Ig,"useTheme");import{jsxs as Fo,jsx as dp,Fragment as V$}from"react/jsx-runtime";import{useMemo as K$}from"react";var z$=80,Y$=7,X$={command:">",file:"\u{1F4C4}",history:"\u23F1",argument:"\u2022",snippet:"\u25C7",skill:"\u2605"};function q$(e,t,n){if(t<=n)return{start:0,end:t};let r=Math.floor(n/2),i=e-r,s=i+n;return i<0?(i=0,s=n):s>t&&(s=t,i=t-n),{start:i,end:s}}o(q$,"getVisibleRange");function Q$({suggestion:e,isSelected:t,width:n}){let r=Ig(),i=e.icon||e.type&&X$[e.type]||"",s=i?rr(i)+1:0,a=rr(e.displayText||e.text),c=e.description?rr(e.description):0,l=Math.min(a,n-s-2),d=n-s-l-3,f=Math.max(0,d),p=zs(e.displayText||e.text,l),h=e.description?zs(e.description,f):"";return Fo(E,{children:[i&&Fo(I,{color:t?r.colors.accent:r.colors.dim,children:[i," "]}),dp(I,{color:t?r.colors.primary:r.colors.text,bold:t,children:p}),h&&Fo(V$,{children:[dp(I,{children:" "}),dp(I,{color:r.colors.dim,children:zs(e.description||"",f)})]}),t&&Fo(I,{color:r.colors.accent,children:[" ","\u25C0"]})]})}o(Q$,"SuggestionItem");function wl({suggestions:e,selectedIndex:t,visible:n,maxVisible:r=Y$,width:i=z$,showCount:s=!1}){let a=Ig();if(!n||e.length===0)return null;let{start:c,end:l}=K$(()=>q$(t,e.length,r),[t,e.length,r]),d=e.slice(c,l);return Fo(E,{flexDirection:"column",marginLeft:2,children:[c>0&&Fo(I,{color:a.colors.dim,children:[" ","\u25B2 ",c," more..."]}),d.map((f,p)=>{let g=c+p===t;return dp(Q$,{suggestion:f,isSelected:g,width:i},f.id)}),l<e.length&&Fo(I,{color:a.colors.dim,children:[" ","\u25BC ",e.length-l," more..."]}),s&&Fo(I,{color:a.colors.dim,children:[t+1,"/",e.length]})]})}o(wl,"SuggestionsDisplay");import{jsx as Ta,jsxs as J$}from"react/jsx-runtime";var fp=o(({reserveSpace:e,width:t,hidden:n=!1,mode:r="inline"})=>{let i=No(),s=oe("dark");if(n)return null;if(!i)return e?Ta(E,{height:8}):null;let{state:a,suggestions:c}=i;return a.visible&&c.length>0?r==="overlay"?J$(E,{flexDirection:"column",borderStyle:"round",borderColor:s.colors.accent,paddingX:1,marginTop:1,children:[Ta(I,{color:s.colors.accent,bold:!0,children:"Suggestions"}),Ta(wl,{suggestions:c,selectedIndex:a.selectedIndex,visible:a.visible,maxVisible:7,width:Math.max(20,t-6)})]}):Ta(E,{height:8,children:Ta(wl,{suggestions:c,selectedIndex:a.selectedIndex,visible:a.visible,maxVisible:7,width:Math.max(20,t-2)})}):e?Ta(E,{height:8}):null},"PromptSuggestionsSurface");import{jsxs as ir,jsx as jn,Fragment as bg}from"react/jsx-runtime";import Z$,{useEffect as eD,useState as tD}from"react";var Ca=15,l0=Math.max(1,Ca-2),pp=o(({confirm:e,request:t})=>e?ir(E,{flexDirection:"column",borderStyle:"round",borderColor:"yellow",paddingX:1,marginTop:1,width:"100%",children:[ir(I,{color:"yellow",bold:!0,children:[se("dialog.confirm")," ",e.prompt]}),e.planContent?jn(nD,{content:e.planContent}):null,e.instruction?jn(I,{dimColor:!0,children:e.instruction}):null]}):t?ir(E,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,marginTop:1,width:"100%",children:[t.kind==="select"?ir(bg,{children:[ir(I,{color:"cyan",bold:!0,children:[se("dialog.select")," ",t.title]}),(()=>{let n=t.options??[],r=t.visibleSelectOptions??5,i=t.focusedIndex??0,s=n.length,a=0;if(s>r){let d=Math.floor(r/2);a=Math.max(0,Math.min(i-d,s-r))}let c=a,l=Math.max(0,s-a-r);return ir(bg,{children:[c>0?jn(I,{dimColor:!0,children:se("select.more_above",{count:c})}):null,n.slice(a,a+r).map((d,f)=>{let p=a+f,h=p===i,g=t.selectedIndices?.includes(p)??!1,T=h?"\u276F ":" ",v=g?" \u2713":"",C=d.description?` - ${d.description}`:"";return jn(I,{color:h?"cyan":void 0,dimColor:!h,children:`${T}${d.label}${C}${v}`},`${d.value}-${p}`)}),l>0?jn(I,{dimColor:!0,children:se("select.more_below",{count:l})}):null]})})(),jn(I,{dimColor:!0,children:t.multiSelect?se("select.multiselect_hint"):se("select.navigate_hint")})]}):ir(bg,{children:[ir(I,{color:"cyan",bold:!0,children:[se("dialog.input")," ",t.prompt]}),t.defaultValue!==void 0?jn(I,{dimColor:!0,children:`${se("input.default")} ${t.defaultValue}`}):null,jn(I,{dimColor:!0,children:`${se("input.value")} ${t.buffer||se("input.type_response")}`}),jn(I,{dimColor:!0,children:se("select.confirm_hint")})]}),t.error?jn(I,{color:"red",children:t.error}):null]}):null,"DialogSurface"),nD=o(({content:e})=>{let t=Z$.useMemo(()=>e.split(`
|
|
63
|
-
`),[e]),n=t.length,r=n>Ca,[i,s]=tD(0);eD(()=>{s(d=>{let f=Math.max(0,n-Ca);return d>f?f:d})},[n]),ia((d,f)=>{if(!r)return;let p=Math.max(0,n-Ca);f.upArrow?s(h=>Math.max(0,h-1)):f.downArrow?s(h=>Math.min(p,h+1)):f.pageUp?s(h=>Math.max(0,h-l0)):f.pageDown&&s(h=>Math.min(p,h+l0))},{isActive:!0});let a=t.slice(i,i+Ca),c=i,l=Math.max(0,n-i-Ca);return ir(E,{flexDirection:"column",marginTop:1,children:[r&&c>0?ir(I,{dimColor:!0,children:["\u2026 ",c," more line",c===1?"":"s"," above"]}):null,a.map((d,f)=>jn(I,{children:d},`plan-line-${i+f}`)),r&&l>0?ir(I,{dimColor:!0,children:["\u2026 ",l," more line",l===1?"":"s"," below"]}):null,r?jn(I,{dimColor:!0,children:"PgUp/PgDn/\u2191\u2193 to scroll"}):null]})},"PlanScrollPanel");import{jsxs as Tl,jsx as rD}from"react/jsx-runtime";function u0(e){let t=e.replace(/\s+/g," ").trim();return t.length<=72?t:`${t.slice(0,69)}...`}o(u0,"normalizePendingPreview");function d0(e){if(e.length===0)return;let t=u0(e[e.length-1]??"");return e.length===1?`Queued 1 follow-up: ${t} (Esc removes it)`:`Queued ${e.length} follow-ups. Latest: ${t} (Esc removes latest)`}o(d0,"formatPendingInputsSummary");function vg(e){if(e.length===0)return[];let t=e.length;return e.map((n,r)=>({index:r+1,total:t,preview:u0(n)}))}o(vg,"formatPendingInputsLines");function f0(e){let t=vg(e);return t.length===0?void 0:[...t.map(i=>`\u23F3 [${i.index}/${i.total}] ${i.preview}`)," \u2191 pull all into editor \xB7 Esc drops latest"].join(`
|
|
64
|
-
`)}o(f0,"formatPendingInputsBudgetText");var mp=o(({pendingInputs:e})=>{let t=vg(e);if(t.length===0)return null;let n=oe("dark");return Tl(E,{flexDirection:"column",children:[t.map(r=>Tl(E,{children:[Tl(I,{color:n.colors.hint,children:["\u23F3"," "]}),Tl(I,{color:n.colors.dim,children:["[",r.index,"/",r.total,"] ",r.preview]})]},r.index)),rD(E,{children:Tl(I,{color:n.colors.dim,children:[" ","\u2191 pull all into editor \xB7 Esc drops latest"]})})]})},"QueuedCommandsSurface");import{jsx as p0}from"react/jsx-runtime";function oD(e,t){switch(e){case"warning":return t.warning;case"accent":return t.accent;default:return t.dim}}o(oD,"resolveNotificationColor");var Cl=o(({notifications:e})=>{let t=e.filter(r=>r.text.trim().length>0),n=oe("dark");return t.length===0?null:p0(E,{flexDirection:"column",paddingX:1,children:t.map(r=>p0(I,{color:oD(r.tone,n.colors),children:r.text},r.id))})},"NotificationsSurface");import{jsx as m0}from"react/jsx-runtime";var hp=o(({notices:e})=>{let t=e.filter(r=>r.trim().length>0);if(t.length===0)return null;let n=oe("dark");return m0(E,{flexDirection:"column",paddingX:1,children:t.map((r,i)=>m0(I,{color:n.colors.dim,children:r},`${r}-${i}`))})},"StatusNoticesSurface");import{jsxs as h0,jsx as iD}from"react/jsx-runtime";var Il=o(({text:e})=>{let t=e?.trim();if(!t)return null;let n=oe("dark");return h0(E,{paddingX:1,children:[h0(I,{color:n.colors.hint,children:["\u22EF"," "]}),iD(I,{color:n.colors.dim,children:t})]})},"StashNotice");import{jsx as Hi,jsxs as sD}from"react/jsx-runtime";function g0({text:e,accent:t=!1,selected:n=!1}){let r=oe("dark");return Hi(E,{marginRight:1,children:Hi(I,{color:t?r.colors.accent:r.colors.primary,bold:n||t,children:`[ ${e} ]`})})}o(g0,"Pill");var bl=o(({items:e,overflowLabel:t,ctaHint:n,showSpinner:r=!1})=>{let i=e.filter(s=>s.label.trim().length>0);return i.length===0&&!t&&!n&&!r?null:sD(E,{flexDirection:"row",paddingX:1,children:[r?Hi(E,{marginRight:1,children:Hi(Mn,{})}):null,i.map(s=>Hi(g0,{text:s.hint?`${s.label} (${s.hint})`:s.label,accent:s.accent,selected:s.selected},s.id)),t?Hi(g0,{text:t}):null,n?Hi(I,{dimColor:!0,children:n}):null]})},"BackgroundTaskBar");import{jsx as vl,jsxs as fD}from"react/jsx-runtime";import aD from"string-width";var Rg=9,kg=3,y0=160,cD={shouldRender:!1,activeCount:0,rows:[]};function x0(e,t=Rg){let n=aD(e);return n>=t?e:`${e}${" ".repeat(t-n)}`}o(x0,"padChildActivitySymbol");function Eg(e){let t=e.replace(/\s+/gu," ").trim();return t.length<=y0?t:`${t.slice(0,y0-3)}...`}o(Eg,"truncateChildActivityDetail");function gp(e){return!!(e?.liveOnly===!0&&(e.workflowCorrelation||e.childAgentId))}o(gp,"shouldRouteToChildActivity");function S0(e,t){return!!(e?.liveOnly===!0&&e.workflowCorrelation?.workflowRunId&&t&&e.workflowCorrelation.workflowRunId===t)}o(S0,"shouldRouteWorkflowLiveOnlyNotice");function w0(e){return!e.isTranscriptMode&&e.childActivityVisible&&(e.isLoading||e.hasWorkflowLiveSurface)}o(w0,"shouldShowChildActivitySurface");function Mg(e){let t=e.childAgentId??e.workflowCorrelation?.childAgentId??"child",n=e.workflowCorrelation?.workflowRunId;return n?`${n}:${t}`:t}o(Mg,"childActivityId");function T0(e){return e.childAgentName??e.childAgentId??e.workflowCorrelation?.childAgentId??"child"}o(T0,"childActivityLabel");function C0(e){return e.workflowCorrelation?"workflow":"normal"}o(C0,"childActivitySource");function I0(e,t){let n=t?.path??t?.pattern??t?.command??t?.preview,r=typeof n=="string"&&n.trim().length>0?` ${n}`:"";return Eg(`${e}${r}`)}o(I0,"toolActivityDetail");function b0(e,t){return e==="tool"&&["thinking","assistant","stream"].includes(t)}o(b0,"suppressesChurnOverToolAction");function lD(e){let t=Math.max(0,Math.floor(e/1e3)),n=t%60,r=Math.floor(t/60)%60,i=Math.floor(t/3600);return i>0?`${i}h${String(r).padStart(2,"0")}m`:r>0?`${r}m${String(n).padStart(2,"0")}s`:`${n}s`}o(lD,"formatChildActivityElapsed");function uD(e){switch(e){case"assistant":return"Assistant";case"thinking":return"Thinking";case"tool":return"Tool";case"progress":return"Progress";case"prompt":return"Prompt";default:return"Status"}}o(uD,"kindLabel");function dD(e,t){let n=e.label.trim()||"child",r=e.startedAt!==void 0?` \xB7 ${lD(t-e.startedAt)}`:"",i=e.detail.trim(),s=i.length>0?`: ${i}`:"";return`${n}${r} - ${uD(e.kind)}${s}`}o(dD,"rowText");function v0(e,t=kg,n=Date.now()){let r=e.filter(d=>d.status==="running");if(r.length===0)return cD;let i=Math.max(1,Math.floor(t)),s=[],a=r.length>i&&i>1?i-1:i,c=r.slice(0,a);for(let d of c)s.push({kind:"activity",id:d.id,symbol:d.source==="workflow"?"agent":"child",symbolColor:"cyan",text:dD(d,n),isActive:!0});let l=r.length-c.length;return l>0&&s.length<i&&s.push({kind:"summary",id:"children-more",symbol:"more",symbolColor:"dim",text:`${l} more active`,isActive:!1}),{shouldRender:!0,activeCount:r.length,rows:s.slice(0,i)}}o(v0,"buildChildActivityViewModel");var R0=Rg;function pD(e){let t=oe("dark");switch(e){case"cyan":return t.colors.primary;case"green":return t.colors.success;default:return t.colors.dim}}o(pD,"resolveSymbolColor");var mD=o(({row:e})=>{let t=pD(e.symbolColor);return fD(E,{flexDirection:"row",children:[vl(E,{width:R0,flexShrink:0,children:vl(I,{color:t,bold:e.isActive,wrap:"truncate",children:x0(e.symbol,R0)})}),vl(I,{color:e.kind==="summary"?oe("dark").colors.dim:void 0,bold:e.isActive,wrap:"truncate",children:e.text})]})},"ChildActivityRowView");function yp(e){return!e.shouldRender||e.rows.length===0?0:e.rows.length}o(yp,"measureChildActivitySurfaceRows");var xp=o(({viewModel:e})=>!e.shouldRender||e.rows.length===0?null:vl(E,{flexDirection:"column",flexGrow:1,children:e.rows.map(t=>vl(mD,{row:t},`${t.kind}-${t.id}`))}),"ChildActivitySurface");import k0,{createContext as A0,useContext as _0,useReducer as hD,useCallback as et,useRef as E0,useEffect as M0}from"react";function gD(e,t){return e.agentId===t&&e.priority==="user"&&e.mode==="prompt"}o(gD,"isPendingPromptForAgent");function Lg(e){return On().getSnapshot().filter(t=>gD(t,e))}o(Lg,"getPendingPrompts");function Ag(e){return Lg(e).map(t=>t.content)}o(Ag,"getPendingPromptContents");var _g={state:er.Idle,currentResponse:"",error:void 0,abortController:void 0,isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentTool:void 0,toolInputCharCount:0,toolInputContent:"",iterationHistory:[],currentIteration:1,maxIter:200,isCompacting:!1,pendingInputs:[],roundStartedAt:null};function Sp(e={}){let t=o(()=>e.getPendingInputAgentId?.(),"getPendingInputAgentId"),n={..._g,pendingInputs:Ag(t())},r=new Set,i="",s="",a=0,c=null,l=!1,d=80,f=o(()=>{for(let C of r)C(n)},"notify"),p=o(()=>{let C=Ag(t());if(C.length===n.pendingInputs.length){let S=!0;for(let w=0;w<C.length;w++)if(C[w]!==n.pendingInputs[w]){S=!1;break}if(S)return}n={...n,pendingInputs:C},f()},"syncReactStateFromQueue"),h=On().subscribe(()=>{p()}),g=o(()=>On().dequeue({agentId:t(),maxPriority:"user",mode:"prompt"}).map(S=>S.content),"drainOurSlice"),T=o(()=>{if(c&&(clearTimeout(c),c=null),i||s||a>0){let S=n.thinkingContent+s,w=s?S.length:n.thinkingCharCount+a;n={...n,currentResponse:n.currentResponse+i,thinkingContent:S,thinkingCharCount:w,...s||a>0?{isThinking:!0}:{}},i="",s="",a=0,f()}},"flushPendingUpdates"),v=o(()=>{c||(c=setTimeout(T,d))},"scheduleFlush");return{getState:o(()=>n,"getState"),setState:o(C=>{T(),n={...n,state:C},f()},"setState"),startStreaming:o(()=>{l=!1,i="",s="",a=0,c&&(clearTimeout(c),c=null),n={...n,state:er.Responding,currentResponse:"",abortController:new AbortController,error:void 0,roundStartedAt:Date.now()},f()},"startStreaming"),stopStreaming:o(()=>{T(),n={...n,state:er.Idle,abortController:void 0,roundStartedAt:null},f()},"stopStreaming"),appendResponse:o(C=>{l||(i+=C,v())},"appendResponse"),clearResponse:o(()=>{T(),n={...n,currentResponse:""},f()},"clearResponse"),setError:o(C=>{T(),n={...n,error:C,state:C?er.Idle:n.state},f()},"setError"),abort:o(C=>{l=!0,T(),n.abortController?.abort(),i="",s="",a=0,c&&(clearTimeout(c),c=null),C?.preservePendingInputs||g(),n={...n,state:er.Idle,abortController:void 0,roundStartedAt:null},f()},"abort"),reset:o(()=>{l=!0,T(),n.abortController?.abort(),i="",s="",a=0,c&&(clearTimeout(c),c=null),g(),n={..._g,pendingInputs:Ag(t())},l=!1,f()},"reset"),isStreaming:o(()=>n.state===er.Responding||n.state===er.WaitingForConfirmation,"isStreaming"),subscribe:o(C=>(r.add(C),()=>{r.delete(C)}),"subscribe"),startThinking:o(()=>{T(),n={...n,isThinking:!0,thinkingCharCount:0,thinkingContent:""},f()},"startThinking"),appendThinkingChars:o(C=>{l||(a+=C,v())},"appendThinkingChars"),appendThinkingContent:o(C=>{l||(s+=C,v())},"appendThinkingContent"),stopThinking:o(()=>{T(),n={...n,isThinking:!1,thinkingCharCount:0},f()},"stopThinking"),clearThinkingContent:o(()=>{T(),n={...n,isThinking:!1,thinkingCharCount:0,thinkingContent:""},f()},"clearThinkingContent"),setCurrentTool:o(C=>{T(),n={...n,currentTool:C,toolInputCharCount:0,toolInputContent:""},f()},"setCurrentTool"),appendToolInputChars:o(C=>{n={...n,toolInputCharCount:n.toolInputCharCount+C},f()},"appendToolInputChars"),appendToolInputContent:o(C=>{n.toolInputContent.length<240&&(n={...n,toolInputContent:(n.toolInputContent+C).slice(0,240)},f())},"appendToolInputContent"),clearToolInputContent:o(()=>{n={...n,toolInputContent:""},f()},"clearToolInputContent"),getSignal:o(()=>n.abortController?.signal,"getSignal"),getFullResponse:o(()=>n.currentResponse+i,"getFullResponse"),getThinkingContent:o(()=>n.thinkingContent+s,"getThinkingContent"),startNewIteration:o(C=>{T(),n.thinkingContent||n.currentResponse?n={...n,thinkingContent:"",thinkingCharCount:0,currentResponse:"",isThinking:!1,currentTool:void 0,toolInputCharCount:0,toolInputContent:"",currentIteration:C}:n={...n,currentIteration:C},f()},"startNewIteration"),clearIterationHistory:o(()=>{T(),n={...n,iterationHistory:[],currentIteration:1,maxIter:_g.maxIter,thinkingContent:"",thinkingCharCount:0,currentResponse:"",currentTool:void 0,toolInputCharCount:0,toolInputContent:""},f()},"clearIterationHistory"),setMaxIter:o(C=>{T(),n={...n,maxIter:C},f()},"setMaxIter"),startCompacting:o(()=>{T(),n={...n,isCompacting:!0},f()},"startCompacting"),stopCompacting:o(()=>{T(),n={...n,isCompacting:!1},f()},"stopCompacting"),addPendingInput:o(C=>{let S=C.trim();S&&(Lg(t()).length>=5||(T(),On().enqueue({agentId:t(),priority:"user",mode:"prompt",content:S})))},"addPendingInput"),removeLastPendingInput:o(()=>{let C=Lg(t()),S=C[C.length-1];S&&(T(),On().dequeue({agentId:t(),maxPriority:"user",mode:"prompt",id:S.id}))},"removeLastPendingInput"),shiftPendingInput:o(()=>(T(),On().dequeue({agentId:t(),maxPriority:"user",mode:"prompt",limit:1})[0]?.content),"shiftPendingInput"),clearPendingInputs:o(()=>{T(),g()},"clearPendingInputs"),consumePendingInputs:o(()=>(T(),g()),"consumePendingInputs"),dispose:o(()=>{h()},"dispose")}}o(Sp,"createStreamingManager");var L0=A0(null),P0=A0(null);function kl({children:e,onStateChange:t,getPendingInputAgentId:n}){let r=E0(n);r.current=n;let i=E0(void 0);i.current||(i.current=Sp({getPendingInputAgentId:o(()=>r.current?.(),"getPendingInputAgentId")}));let s=i.current,[,a]=hD(fe=>fe+1,0);M0(()=>s.subscribe(Te=>{a(),t?.(Te)}),[s,t]),M0(()=>()=>{s.dispose()},[s]);let c=et(()=>{s.startStreaming()},[]),l=et(()=>{s.stopStreaming()},[]),d=et(fe=>{s.appendResponse(fe)},[]),f=et(()=>{s.clearResponse()},[]),p=et(fe=>{s.setError(fe)},[]),h=et(fe=>{s.abort(fe)},[]),g=et(()=>{s.reset()},[]),T=et(()=>{s.startThinking()},[]),v=et(fe=>{s.appendThinkingChars(fe)},[]),C=et(fe=>{s.appendThinkingContent(fe)},[]),S=et(()=>{s.stopThinking()},[]),w=et(()=>{s.clearThinkingContent()},[]),M=et(fe=>{s.setCurrentTool(fe)},[]),L=et(fe=>{s.appendToolInputChars(fe)},[]),A=et(fe=>{s.appendToolInputContent(fe)},[]),H=et(()=>{s.clearToolInputContent()},[]),K=et(()=>s.getSignal(),[]),W=et(()=>s.getFullResponse(),[]),ne=et(()=>s.getThinkingContent(),[]),x=et(fe=>{s.startNewIteration(fe)},[]),Ce=et(()=>{s.clearIterationHistory()},[]),J=et(fe=>{s.setMaxIter(fe)},[]),D=et(()=>{s.startCompacting()},[]),k=et(()=>{s.stopCompacting()},[]),B=et(fe=>{s.addPendingInput(fe)},[]),Se=et(()=>{s.removeLastPendingInput()},[]),de=et(()=>s.shiftPendingInput(),[]),ee=et(()=>{s.clearPendingInputs()},[]),he=et(()=>s.consumePendingInputs(),[]),we={startStreaming:c,stopStreaming:l,appendResponse:d,clearResponse:f,setError:p,abort:h,reset:g,startThinking:T,appendThinkingChars:v,appendThinkingContent:C,stopThinking:S,clearThinkingContent:w,setCurrentTool:M,appendToolInputChars:L,appendToolInputContent:A,clearToolInputContent:H,getSignal:K,getFullResponse:W,getThinkingContent:ne,startNewIteration:x,clearIterationHistory:Ce,setMaxIter:J,startCompacting:D,stopCompacting:k,addPendingInput:B,removeLastPendingInput:Se,shiftPendingInput:de,clearPendingInputs:ee,consumePendingInputs:he};return k0.createElement(L0.Provider,{value:s.getState()},k0.createElement(P0.Provider,{value:we},e))}o(kl,"StreamingProvider");function Ia(){let e=_0(L0);if(!e)throw new Error("useStreamingState must be used within a StreamingProvider");return e}o(Ia,"useStreamingState");function ba(){let e=_0(P0);if(!e)throw new Error("useStreamingActions must be used within a StreamingProvider");return e}o(ba,"useStreamingActions");function Pg(){let e=Ia(),t=ba(),n=e.state===er.Responding||e.state===er.WaitingForConfirmation;return{state:e,actions:t,isStreaming:n}}o(Pg,"useStreaming");import{useCallback as yD,useRef as xD}from"react";var SD=500;function $0(e={}){let{onKey:t,onEsc:n,onCtrlC:r,enabled:i=!0}=e,s=xD(0),{exit:a}=Er(),c=yD(l=>{if(!i)return!1;if(l.name==="escape"){let d=Date.now(),f=d-s.current<SD;return s.current=d,f&&(l.name="escape-escape"),n?.(),t?.(l),!0}return l.ctrl&&l.name==="c"?(r?.(),t?.(l),!0):l.ctrl&&l.name==="d"?(a(),!0):(t?.(l),!1)},[i,a,r,n,t]);return En(c,{isActive:i}),{lastEscTime:s.current}}o($0,"useKeypress");function D0(e){return{is:o((t,n)=>!(e.name!==t||n?.ctrl!==void 0&&e.ctrl!==n.ctrl||n?.shift!==void 0&&e.shift!==n.shift||n?.meta!==void 0&&e.meta!==n.meta),"is"),isCtrl:o(t=>e.ctrl&&e.name===t,"isCtrl"),isShift:o(t=>e.shift&&e.name===t,"isShift"),isArrow:o(()=>["up","down","left","right"].includes(e.name),"isArrow"),isChar:o(()=>e.sequence?.length===1&&!e.ctrl&&!e.meta,"isChar"),getChar:o(()=>e.sequence?.length===1?e.sequence:null,"getChar")}}o(D0,"createKeyMatcher");import{useCallback as O0,useSyncExternalStore as wD}from"react";function TD(e,t){return e.agentId===t&&e.priority==="user"&&e.mode==="prompt"}o(TD,"isQueuedPromptForAgent");var $g=null,wp=new Map;function CD(e){let t=On().getSnapshot();t!==$g&&($g=t,wp.clear());let n=wp.get(e);if(n!==void 0)return n;let r=Object.freeze(t.filter(i=>TD(i,e)));return wp.set(e,r),r}o(CD,"getQueueSliceSnapshot");function Dg(e){let t=O0(r=>On().subscribe(r),[]),n=O0(()=>CD(e),[e]);return wD(t,n,n)}o(Dg,"useQueuedPrompts");function N0(e){return Dg(e).map(n=>n.content)}o(N0,"useQueuedPromptContents");function B0(){$g=null,wp.clear()}o(B0,"_resetQueuedPromptsCacheForTests");async function va(e){return{messages:e.existingMessages??[],uiHistory:e.existingUiHistory?.map(t=>({...t})),lineage:e.existingLineage??void 0,artifactLedger:e.existingArtifactLedger?.map(t=>({...t,metadata:t.metadata?{...t.metadata}:void 0})),extensionState:e.existingExtensionState?structuredClone(e.existingExtensionState):void 0,extensionRecords:e.existingExtensionRecords?.map(t=>({...t})),extensionStateDirty:!1,extensionRecordsDirty:!1,sessionId:e.sessionId??Wi(),title:"",gitRoot:e.gitRoot,runtimeInfo:e.runtimeInfo,createdAt:new Date().toISOString(),lastAccessed:new Date().toISOString()}}o(va,"createInteractiveContext");function Wi(){let e=new Date,t=e.toISOString().split("T")[0].replace(/-/g,""),n=e.toTimeString().split(" ")[0].replace(/:/g,"");return`${t}_${n}`}o(Wi,"generateSessionId");function sr(e){e.lastAccessed=new Date().toISOString()}o(sr,"touchContext");async function Ra(e){let t=await Ow({userKodaxDir:vw(),projectRoot:e.projectRoot}),n;return{getGuardrail:o(()=>n||(n=Nw({rules:t.merged,getClaudeMd:o(()=>Rw(yd({cwd:process.cwd(),projectRoot:e.projectRoot})),"getClaudeMd"),getToolProjection:o(i=>(gd(i)??Iw(i))?.toClassifierInput,"getToolProjection"),resolveProvider:o(i=>{try{return di(i)}catch{return}},"resolveProvider"),defaultProvider:e.getCurrentProviderName(),defaultModel:e.getCurrentModel()??"",getDefaultProvider:e.getCurrentProviderName,getDefaultModel:o(()=>{let i=e.getCurrentModel();return i||(e.log?.("warn","[auto-mode] classifier defaultModel is empty; main session has no model set \u2014 classifier will likely fail"),"")},"getDefaultModel"),askUser:e.askUser,log:e.log,onEngineChange:e.onEngineChange,sharedState:e.sharedState,projectRoot:e.projectRoot,executionCwd:e.executionCwd,extraCollectors:e.extraCollectors,extraAbsoluteDenyChecks:[hT],initialEngine:e.autoModeSettings.engine,timeoutMs:e.autoModeSettings.timeoutMs,userSettings:e.autoModeSettings.classifierModel,envVar:e.autoModeSettings.classifierModelEnv,speculativeWindowMs:e.autoModeSettings.speculativeWindowMs}),n),"getGuardrail"),rulesLoadResult:t}}o(Ra,"bootstrapAutoMode");var Fi=class{static{o(this,"MemorySessionStorage")}sessions=new Map;async save(t,n){let r=this.sessions.get(t);this.sessions.set(t,{...structuredClone(n),scope:n.scope??r?.scope??"user",uiHistory:n.uiHistory??r?.uiHistory,extensionState:n.extensionState??r?.extensionState,artifactLedger:n.artifactLedger??r?.artifactLedger,actorSnapshot:n.actorSnapshot??r?.actorSnapshot,extensionRecords:n.extensionRecords??r?.extensionRecords,tag:n.tag??r?.tag,lineage:mt(n.messages,n.lineage??r?.lineage)})}async load(t){return structuredClone(this.sessions.get(t)??null)}async getLineage(t){return structuredClone(this.sessions.get(t)?.lineage??null)}async setActiveEntry(t,n,r){let i=this.sessions.get(t);if(!i?.lineage)return null;let s=Rs(i.lineage,n,r);if(!s)return null;let a={...structuredClone(i),messages:Ht(s),lineage:s};return this.sessions.set(t,a),structuredClone(a)}async setLabel(t,n,r){let i=this.sessions.get(t);if(!i?.lineage)return null;let s=ks(i.lineage,n,r);if(!s)return null;let a={...structuredClone(i),lineage:s};return this.sessions.set(t,a),structuredClone(a)}async fork(t,n,r){let i=this.sessions.get(t);if(!i?.lineage)return null;let s=As(i.lineage,n);if(!s)return null;let a=r?.sessionId??await vs(),c={messages:Ht(s),title:r?.title??i.title,gitRoot:i.gitRoot,tag:i.tag,uiHistory:i.uiHistory?i.uiHistory.map(l=>({...l})):void 0,extensionState:i.extensionState?structuredClone(i.extensionState):void 0,artifactLedger:i.artifactLedger?structuredClone(i.artifactLedger):void 0,extensionRecords:i.extensionRecords?structuredClone(i.extensionRecords):void 0,lineage:s};return this.sessions.set(a,c),{sessionId:a,data:structuredClone(c)}}async rewind(t,n){let r=this.sessions.get(t);if(!r?.lineage)return null;let i=n??Es(r.lineage);if(!i)return null;let s=Ms(r.lineage,i);if(!s)return null;let a={...r,messages:Ht(s),lineage:s};return this.sessions.set(t,a),structuredClone(a)}async list(t){return Array.from(this.sessions.entries()).filter(([,n])=>(n.scope??"user")==="user").map(([n,r])=>({id:n,title:r.title,msgCount:r.lineage?pi(r.lineage):r.messages.length,...r.tag!==void 0?{tag:r.tag}:{}}))}async delete(t){this.sessions.delete(t)}async deleteAll(t){this.sessions.clear()}};function H0(){return new Fi}o(H0,"createMemorySessionStorage");import*as W0 from"child_process";import*as F0 from"util";import Tp from"chalk";var ID=F0.promisify(W0.exec),bD={maxBuffer:1024*1024,timeout:3e4,maxOutputLength:8e3,maxErrorLength:4e3};async function El(e,t={}){let n={...bD,...t},r=e.trim(),i=uT(r);if(i)return i.startsWith("[Blocked]")&&(console.log(Tp.yellow(`
|
|
65
|
-
${i}`)),console.log()),i;try{console.log(Tp.dim(`
|
|
66
|
-
[Executing: ${r}]`));let{stdout:s,stderr:a}=await ID(r,{cwd:n.cwd,maxBuffer:n.maxBuffer,timeout:n.timeout,windowsHide:!0}),c="";return s&&(c+=s),a&&(c+=(c?`
|
|
67
|
-
`:"")+`[stderr] ${a}`),c.length>n.maxOutputLength&&(c=c.slice(0,n.maxOutputLength)+`
|
|
68
|
-
...[output truncated]`),console.log(Tp.dim(c||"[No output]")),console.log(),`[Shell command executed: ${r}]
|
|
69
|
-
|
|
70
|
-
Output:
|
|
71
|
-
${c||"(no output)"}`}catch(s){let c=(s instanceof Error?s:new Error(String(s))).message;return c.length>n.maxErrorLength&&(c=c.slice(0,n.maxErrorLength)+`
|
|
72
|
-
...[error truncated]`),console.log(Tp.red(`
|
|
73
|
-
[Shell Error: ${c}]`)),console.log(),`[Shell command failed: ${r}]
|
|
74
|
-
|
|
75
|
-
Error: ${c}`}}o(El,"executeShellCommand");async function Og(e,t={}){if(e.startsWith("!")){let n=e.slice(1).trim();return El(n,t)}return e}o(Og,"processSpecialSyntax");function j0(e){return e.trim().startsWith("!")}o(j0,"isShellCommand");function U0(e){return e.startsWith("[Shell command executed:")||e.startsWith("[Shell:")}o(U0,"isShellCommandSuccess");function Ml(e){return e.startsWith("[Shell command executed:")||e.startsWith("[Shell command failed:")||e.startsWith("[Shell:")||e.startsWith("[Blocked]")}o(Ml,"isShellCommandHandled");var G0=150,V0=50;function Lr(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>V0){let r=t[t.length-V0]??0;n=e.slice(r)}if(n.length>G0){let r=n.slice(-G0),i=r.findIndex(s=>s.type==="user");n=i>0?r.slice(i):r}return[...n]}o(Lr,"trimPersistedUiHistorySnapshot");function jo(e){if(e)return Lr(e)}o(jo,"normalizePersistedUiHistory");function vD(e){let t=e.timestamp===void 0?{}:{timestamp:e.timestamp};switch(e.type){case"assistant":return{type:"assistant",text:e.text,...t,...e.compactText?{compactText:e.compactText}:{}};case"thinking":return{type:"thinking",text:e.text,...t,...e.compactText?{compactText:e.compactText}:{}};case"event":return{type:"event",text:e.text,...t,...e.icon?{icon:e.icon}:{},...e.compactText?{compactText:e.compactText}:{}};case"info":return{type:"info",text:e.text,...t,...e.icon?{icon:e.icon}:{},...e.compactText?{compactText:e.compactText}:{}};case"user":return{type:"user",text:e.text,...t};case"system":return{type:"system",text:e.text,...t};case"error":return{type:"error",text:e.text,...t};case"hint":return{type:"hint",text:e.text,...t};case"sidecar":{let n=e.icon;if(n==="budget-exhausted")return{type:"sidecar",text:e.text,delivery:"budget-exhausted",...t};let r=n==="blocked"?"blocked":"revise";return{type:"sidecar",text:e.text,verdict:r,...t}}}}o(vD,"toCreatableTextHistoryItem");function RD(e){if(e.type!=="tool_group")return vD(e);let t=e.tools.map(_d);return t.length>0?{type:"tool_group",tools:t,...e.timestamp===void 0?{}:{timestamp:e.timestamp}}:void 0}o(RD,"persistedUiHistoryItemToCreatableHistoryItem");function K0(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(K0,"splitCreatableHistoryRounds");function kD(e){return e.some(t=>t.type==="tool_group")}o(kD,"roundHasToolGroup");function ED(e){return e.type==="event"&&e.icon==="tool"}o(ED,"isLegacyToolSummaryItem");function MD(e,t){if(t.length===0||kD(e))return[...e];let n=e.filter(a=>!ED(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(MD,"insertDerivedToolGroupsIntoRound");function AD(e,t){if(e.type!==t.type)return!1;if(e.type==="tool_group"&&t.type==="tool_group")return e.tools.map(i=>i.id).join(`
|
|
76
|
-
`)===t.tools.map(i=>i.id).join(`
|
|
77
|
-
`);if(e.type==="tool_group"||t.type==="tool_group")return!1;let n=e.text.trim(),r=t.text.trim();return n===r||z0(n,r)||z0(r,n)}o(AD,"matchesTimestampSource");function z0(e,t){if(!e.endsWith(t))return!1;let n=e.slice(0,-t.length);return/^\[[^\]\r\n]+\]\s+$/.test(n)}o(z0,"hasDisplayPrefix");function _D(e,t){let n=0;return e.map(r=>{if(r.timestamp!==void 0)return r;for(let i=n;i<t.length;i+=1){let s=t[i];if(!(s?.timestamp===void 0||!AD(r,s)))return n=i+1,{...r,timestamp:s.timestamp}}return r})}o(_D,"recoverMissingTimestamps");function LD(e,t){let n=K0(e),r=K0(t),i=Math.max(0,r.length-n.length);return n.flatMap((s,a)=>{let c=r[a+i]??[],l=c.filter(d=>d.type==="tool_group");return _D(MD(s,l),c)})}o(LD,"enrichTextOnlyUiHistory");function Al(e){let t=Ld(e.messages).map(Io),n=jo(e.uiHistory);if(!n||n.length===0)return t;let r=n.map(RD).filter(i=>!!i);return LD(r,t)}o(Al,"restoreHistoryItemsFromSession");function _l(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(_l,"createRetryHistoryItem");function Y0(e,t,n,r){e(_l(t,n,r))}o(Y0,"emitRetryHistoryItem");function Ll(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(Ll,"createRecoveryHistoryItem");function X0(e,t){e(Ll(t))}o(X0,"emitRecoveryHistoryItem");import{jsx as ue,jsxs as Sn,Fragment as _B}from"react/jsx-runtime";import Fk,{useState as Fe,useCallback as G,useRef as xe,useEffect as He,useMemo as me}from"react";import{jsx as Pr,Fragment as PD,jsxs as Cp}from"react/jsx-runtime";var Ng=" | ",q0=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=oe("dark"),p=r.trim(),h=a?.trim(),g=l?.trim(),T=d?.trim(),v=e?p?`Search /${p}`:"Search":"Transcript",C=e?`Enter jump | n/N next/prev | Ctrl+E ${n?"collapse":"show all"} | Esc close | Ctrl+O/q back`:t?`PgUp/PgDn page | j/k scroll | / search | n/N matches | Ctrl+E ${n?"collapse":"show all"} | Esc clear focus | Ctrl+O/q back`:`PgUp/PgDn page | j/k scroll | \u2190/\u2192 select | / search | n/N matches | Ctrl+E ${n?"collapse":"show all"} | s dump | Ctrl+O/q/Esc back`,S=c>0?c===1?"1 new update":`${c} new updates`:void 0,w=e&&s>0?`${Math.max(0,i)}/${s}`:void 0,M=e&&h||g,L=!!(M||T);return Cp(E,{flexDirection:"column",children:[Cp(E,{paddingX:1,children:[Pr(I,{color:f.colors.dim,children:v}),Pr(I,{dimColor:!0,children:Ng}),Pr(I,{color:f.colors.dim,children:C}),w||S?Pr(E,{flexGrow:1}):null,w?Cp(PD,{children:[Pr(I,{dimColor:!0,children:w}),S?Pr(I,{dimColor:!0,children:Ng}):null]}):null,S?Pr(I,{color:f.colors.accent,bold:!0,children:S}):null]}),L?Cp(E,{paddingX:1,children:[M?Pr(I,{color:f.colors.dim,children:M}):null,M&&T?Pr(I,{dimColor:!0,children:Ng}):null,T?Pr(I,{color:f.colors.accent,bold:!0,children:T}):null]}):null]})},"TranscriptModeFooter");import{jsx as $D,jsxs as DD}from"react/jsx-runtime";var Q0=o(({banner:e,...t})=>DD(E,{flexDirection:"column",children:[e,$D(Ho,{...t,animateSpinners:!1,showFullThinking:!1,showDetailedTools:!1,showLiveProgressRows:!1})]}),"PromptTranscriptSurface");import{jsx as OD,jsxs as ND}from"react/jsx-runtime";var J0=o(({banner:e,windowed:t=!1,showDetailedTools:n=!1,showAllContent:r=!1,...i})=>ND(E,{flexDirection:"column",children:[e,OD(sp,{...i,chromeMode:"hidden",windowed:t,showFullThinking:!0,showDetailedTools:n,showAllContent:r,showLiveProgressRows:!0})]}),"TranscriptModeSurface");import{jsxs as BD,jsx as HD}from"react/jsx-runtime";var Z0=o(({text:e,tone:t="success"})=>{let n=e?.trim();if(!n)return null;let r=oe("dark"),i=t==="warning"?r.colors.warning:r.colors.accent,s=t==="warning"?"!":"\u2713";return HD(E,{paddingX:1,backgroundColor:r.colors.inputBackground,children:BD(I,{color:i,children:[s," ",n]})})},"ClipboardToastSurface");import{jsx as Uo,Fragment as WD,jsxs as Bg}from"react/jsx-runtime";var FD=" \u23BF ";function jD(e){let t=oe("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(jD,"resolveSymbolColor");var UD=o(({row:e})=>{let t=jD(e.symbolColor),n=e.kind!=="item";return Bg(E,{flexDirection:"row",children:[Uo(I,{color:t,bold:e.isActive,children:e.symbol}),Uo(I,{children:" "}),Uo(I,{dimColor:n,bold:e.isActive,strikethrough:e.isStrikethrough,children:e.text}),e.evaluatorBadge?Bg(WD,{children:[Uo(I,{children:" "}),Uo(I,{dimColor:!0,children:e.evaluatorBadge})]}):null]})},"TodoListRow"),ev=o(({viewModel:e})=>{if(!e.shouldRender||e.rows.length===0)return null;let t=oe("dark").colors.dim;return Bg(E,{flexDirection:"row",children:[Uo(I,{color:t,children:FD}),Uo(E,{flexDirection:"column",flexGrow:1,children:e.rows.map((n,r)=>Uo(UD,{row:n},`${n.kind}-${n.id??r}`))})]})},"TodoListSurface");import{jsx as Pl,jsxs as GD}from"react/jsx-runtime";var tv=vT;function VD(e){let t=oe("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(VD,"resolveSymbolColor");var KD=o(({row:e})=>{let t=VD(e.symbolColor);return GD(E,{flexDirection:"row",children:[Pl(E,{width:tv,flexShrink:0,children:Pl(I,{color:t,bold:e.isActive,wrap:"truncate",children:RT(e.symbol,tv)})}),Pl(I,{color:e.kind==="hint"?oe("dark").colors.dim:void 0,bold:e.isActive,wrap:"truncate",children:e.text})]})},"WorkflowRunRow");function nv(e){return!e.shouldRender||e.rows.length===0?0:e.rows.length}o(nv,"measureWorkflowRunSurfaceRows");var rv=o(({viewModel:e})=>!e.shouldRender||e.rows.length===0?null:Pl(E,{flexDirection:"column",flexGrow:1,children:e.rows.map((t,n)=>Pl(KD,{row:t},`${t.kind}-${t.id??n}`))}),"WorkflowRunSurface");function ov(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(ov,"formatTodoPlanViewModelForTranscript");var iv="\u2610",zD="\u25CF",sv="\u2713",YD="\u2717",XD="\u2298",qD="\u2612";function QD(e){switch(e){case"in_progress":return{symbol:zD,color:"cyan"};case"completed":return{symbol:sv,color:"green"};case"failed":return{symbol:YD,color:"red"};case"skipped":return{symbol:XD,color:"gray"};case"cancelled":return{symbol:qD,color:"gray"};default:return{symbol:iv,color:"dim"}}}o(QD,"symbolForStatus");function JD(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(JD,"pickAnchorIndex");function ZD(e){let{symbol:t,color:n}=QD(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(ZD,"buildItemRow");function eO(e){return{kind:"summary_done",symbol:sv,symbolColor:"green",text:`${e} done`,isActive:!1}}o(eO,"buildDoneSummary");function Hg(e){return{kind:"summary_pending",symbol:iv,symbolColor:"dim",text:`+${e} more`,isActive:!1}}o(Hg,"buildPendingSummary");function tO(e,t){for(let n=e.length-1;n>=0;n--)if(e[n].status==="failed"&&!t.has(n))return n;return-1}o(tO,"pickFailedToPromote");function nO(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(nO,"decideWindow");function av(e,t){let n=e.length,r=e.reduce((g,T)=>T.status==="completed"?g+1:g,0),i=o((g,T)=>({shouldRender:T,rows:g,completedCount:r,totalCount:n}),"baseVm");if(n<1)return i([],!1);t.now,t.lastAllCompletedAt;let s=JD(e),a=nO(e,s),c=new Set(a.visibleIdx),l=tO(e,c),d=[...a.visibleIdx],f=a.hiddenCompletedCount,p=a.hiddenPendingCount;if(l>=0){let g=-1;for(let T=d.length-1;T>=0;T--){let v=d[T];if(v!==s&&e[v].status==="pending"){g=T;break}}if(g>=0){let T=d[g];d[g]=l,p+=1,d.sort((S,w)=>S-w);let v=d[0],C=0;for(let S=0;S<v;S++)e[S].status==="completed"&&C++;f=C}}let h=[];f>0&&h.push(eO(f));for(let g of d)h.push(ZD(e[g]));if(p>0&&h.push(Hg(p)),h.length>6)for(;h.length>6;){let g=!1;for(let T=h.length-1;T>=0;T--){let v=h[T];if(v.kind==="item"&&!v.isActive){h.splice(T,1);let C=h[h.length-1];if(C&&C.kind==="summary_pending"){let S=/\+(\d+) more/.exec(C.text),w=S?Number.parseInt(S[1],10)+1:1;h[h.length-1]=Hg(w)}else h.push(Hg(1));g=!0;break}}if(!g)break}return i(h,!0)}o(av,"buildTodoPlanViewModel");function cv(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(cv,"buildFooterHeaderViewModel");function rO(e){return eT(e.provider,e.model,"off",{longRunning:!0})}o(rO,"evaluateSessionTransitionPolicy");function oO(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(oO,"formatSessionTransitionGuardMessage");function Go(e,t,n){let r=rO(e);if(!r||r.status==="allow")return!0;let[i,...s]=oO(t,r);return n(r.status,i,s),r.status!=="block"}o(Go,"enforceSessionTransitionGuard");function iO(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(iO,"summarizeEntry");function lv(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} ${iO(e.entry)}${c}`);let l=t+(t?n?" ":"| ":"");e.children.forEach((d,f)=>{lv(d,l,f===e.children.length-1,r)})}o(lv,"formatNode");function Ip(e){let t=[];return e.forEach((n,r)=>{lv(n,"",r===e.length-1,t)}),t}o(Ip,"formatSessionTree");function uv(e,t){return e!==null&&e.attempt===t.attempt&&e.maxAttempts===t.maxAttempts&&e.waitMs===t.delayMs}o(uv,"isDuplicateLegacyRateLimit");var sO=100,aO=/\b(curl|wget|invoke-webrequest|invoke-restmethod|iwr|irm)\b/i,fv=/\b(rm|del|erase|remove-item|rmdir|rd|git clean)\b/i,pv=/\b(npm|pnpm|yarn|pip|choco|winget)\s+(install|add|remove|uninstall|update|upgrade|ci)\b/i,mv=/\b(set-content|add-content|out-file|new-item|copy-item|move-item|rename-item|cp|mv|copy|move|ren|touch)\b/i;function ka(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}o(ka,"readString");function on(e,t,n){n&&e.push({label:t,value:n})}o(on,"pushField");function cO(e){return e.replace(/\s+/g," ").trim()}o(cO,"normalizeWhitespace");function lO(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(lO,"truncateMiddle");function uO(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(uO,"maskSensitiveSegments");function dv(e){return lO(uO(cO(e)),sO)}o(dv,"summarizeCommand");function dO(e){return qr(e)?se("intent.read"):fv.test(e)?se("intent.delete"):pv.test(e)?se("intent.deps"):Qr(e)||mv.test(e)?se("intent.modify"):se("intent.execute")}o(dO,"classifyShellIntent");function fO(e){let t=[];return fv.test(e)?t.push(se("risk.destructive")):pv.test(e)?t.push(se("risk.deps")):Qr(e)||mv.test(e)?t.push(se("risk.modify")):qr(e)||t.push(se("risk.unknown")),aO.test(e)&&t.push(se("risk.network")),t}o(fO,"classifyShellRisks");function pO(e){if(Array.isArray(e))return e.filter(t=>typeof t=="object"&&t!==null&&typeof t.kind=="string")}o(pO,"readSignals");function mO(e){if(e){if(e.some(t=>t.kind==="protected_path"))return se("scope.protected");if(e.some(t=>t.kind==="outside_project"||t.kind==="shell_redirect_outside"))return se("scope.outside")}}o(mO,"scopeFromSignals");function hO(e){if(e._outsideProject===!0)return se("scope.outside");if(e._alwaysConfirm===!0)return se("scope.protected")}o(hO,"scopeFromMarkers");function gO(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(se("risk.destructive")):r&&t.push(se("risk.modify")),e.some(i=>i.kind==="network")&&t.push(se("risk.network")),e.some(i=>i.kind==="package_install")&&t.push(se("risk.deps")),t}o(gO,"risksFromSignals");var yO={Reason:"field.reason",Intent:"field.intent",Target:"field.target",Scope:"field.scope",Risk:"field.risk",Summary:"field.summary"};function xO(e){return se(yO[e])}o(xO,"localizeFieldLabel");function Ea(e,t){return{title:e,fields:t,details:t.map(n=>`${xO(n.label)}: ${n.value}`)}}o(Ea,"buildDisplayFromFields");function bp(e,t){if(e==="confirm"){let l=ka(t._message);if(l)return Ea(l,[])}if(e==="exit_plan_mode"){let l=ka(t.plan),d="Approve plan? (exits plan mode \u2192 accept-edits)";return l?{title:d,fields:[],details:l.split(`
|
|
78
|
-
`)}:Ea(d,[])}let n=[],r=ka(t.path),i=ka(t.command),s=ka(t._reason)??ka(t.justification),a=pO(t._classifierSignals),c=mO(a)??hO(t);switch(on(n,"Reason",s),e){case"bash":case"shell_command":{if(i){on(n,"Intent",dO(i)),on(n,"Scope",c);let l=gO(a),d=l.length>0?l:fO(i);d.length>0&&on(n,"Risk",d.join("; ")),on(n,"Summary",dv(i))}else on(n,"Scope",c);return Ea(e==="bash"?se("tool.bash.title"):se("tool.shell.title"),n)}case"write":return on(n,"Intent",se("intent.write_file")),on(n,"Target",r),on(n,"Scope",c),Ea(se("tool.write.title"),n);case"edit":return on(n,"Intent",se("intent.edit_file")),on(n,"Target",r),on(n,"Scope",c),Ea(se("tool.edit.title"),n);default:return on(n,"Intent",se("intent.use_tool",{tool:e})),on(n,"Target",r),on(n,"Scope",c),i&&on(n,"Summary",dv(i)),Ea(se("tool.generic.title",{tool:e}),n)}}o(bp,"buildToolConfirmationDisplay");function hv(e,t){let n=bp(e,t);return n.details.length>0?`${n.title}
|
|
79
|
-
${n.details.join(`
|
|
80
|
-
`)}`:n.title}o(hv,"buildToolConfirmationPrompt");function gv(e,t=240){let n=e.trim();return n?n.length>t?`${n.slice(0,t-3)}...`:n:""}o(gv,"truncateToolPreview");function yv(e,t=800){let n=e.trim();return n?n.length>t?`${n.slice(0,t-3)}...`:n:""}o(yv,"truncateToolOutputPreview");function Wg(e){return e.replace(/^\[[^\]]+\]\s+/,"").replace(/^[A-Za-z][A-Za-z0-9_-]*:\s*/,"").trim()}o(Wg,"stripToolRolePrefix");function Fg(e){return Wg(e).toLowerCase()}o(Fg,"normalizeToolNameForMatch");function jg(e){return e===`[${se("managed.completed")}]`||e===`[${se("managed.completed.blocked")}]`||e===`[${se("managed.completed.continuation")}]`}o(jg,"isCompletionTranscriptItem");function vp(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(vp,"formatManagedLiveActivityLabel");function so(e,t){return vp(`[Tools] ${Hf(e)}`,t)??`[Tools] ${Hf(e)}`}o(so,"formatManagedLiveToolLabel");function Rp(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(Rp,"areManagedLiveItemsEquivalent");function xv(e){return e==="Task completed"?se("managed.completed"):e==="Task needs continuation"?se("managed.completed.continuation"):e==="Task ended: blocked"?se("managed.completed.blocked"):e==="Task ended: needs_continuation"?se("managed.completed.continuation"):e.startsWith("Task ended:")?se("managed.completed.blocked"):e}o(xv,"localizeManagedCompletionSummary");function Sv(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(Sv,"mergeLiveThinkingContent");function Ma(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(Ma,"formatManagedTaskBreadcrumb");var wv=process.env.KODAX_TRANSCRIPT_HARNESS_MARKERS==="1";function Tv(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&&!wv)return r;let p=f?`[${xv(s)}]`:void 0,h=p??s,g=p??a;return r.push({item:{id:c,type:"event",timestamp:l,text:g,icon:i.kind==="warning"?"!":f?"\u2713":">",...h!==g?{compactText:h}:{}},persistToHistory:d}),r},[]);if(e.phase==="completed"&&!wv)return[];let t=Ma(e),n=Ma(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(Tv,"buildManagedLiveEventDrafts");function SO(e,t){return!(t||e.role!=="evaluator"||e.signal!=="COMPLETE")}o(SO,"shouldFilterSidecarAcceptEntry");function Ug(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()??"",h=f.summary?.trim()??"",g=f.output?.trim()??"",T=p.includes("Orchestration cancelled"),v=h.includes("Orchestration cancelled"),C=!g||h==="No textual output produced.";return f.status!=="completed"&&(T||v||C)||(T||v)&&C},"isInterruptedCancellation"),s=new Map(n.roleAssignments.map((f,p)=>[f.id,p])),a=n.verdict.decidedByAssignmentId,c=Math.max(0,...n.evidence.entries.filter(f=>f.assignmentId===a).map(f=>f.round??1)),l=[...n.evidence.entries].sort((f,p)=>{let h=(f.round??1)-(p.round??1);return h!==0?h:(s.get(f.assignmentId)??0)-(s.get(p.assignmentId)??0)}).filter(f=>!i(f)).filter(f=>!SO(f,r)).filter(f=>e.interrupted||!(f.assignmentId===a&&(f.round??1)===c)).map(f=>{let p=f.output?.trim()??"",h=f.summary?.trim()??"",g=p?Gs(p):"",T=h?Gs(h):"",v=f.role==="scout"?T?`Scout completed: ${T}`:"Scout completed.":T;return{entry:f,text:T||g||v}}).filter(({text:f})=>!!f).map(({entry:f,text:p})=>{let h=f.role==="scout"?" Preflight":(f.round??1)>1?` Round ${f.round}`:"";return`[${f.role==="evaluator"?`\u26A1 Sidecar Verifier${h}`:`${f.title??f.assignmentId}${h}`}]
|
|
81
|
-
${p}`}),d=n.verdict.disposition==="complete"?se("managed.completed"):n.verdict.disposition==="needs_continuation"?se("managed.completed.continuation"):n.verdict.disposition==="blocked"?se("managed.completed.blocked"):void 0;return[...l,...d?[`[${d}]`]:[]]}o(Ug,"buildManagedTaskTranscriptItems");function Cv(e){let r=e.slice(0,400).match(new RegExp("\\*\\*([^*\\n]{1,80}?)\\*\\*"))?.[1]?.trim();return r?{header:r}:{}}o(Cv,"extractBoldHeader");var Gg=[" \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 ht from"chalk";var kp=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 ")}},$r=o(()=>kp.getInstance(),"getShortcutsRegistry");var Aa=[{id:"interrupt",name:"Interrupt",description:"Interrupt the current streaming response",defaultBindings:[{key:"c",ctrl:!0}],context:"global",priority:200,category:"global",configurable:!1},{id:"showHelp",name:"Toggle Help",description:"Show or hide shortcut help when the input is empty",defaultBindings:[{key:"?"}],context:"global",priority:150,category:"global",configurable:!0},{id:"toggleThinking",name:"Cycle Reasoning Effort",description:"Cycle reasoning effort for the active model: off, low \u2026 max, auto",defaultBindings:[{key:"t",ctrl:!0}],context:"global",priority:150,category:"mode",configurable:!0},{id:"toggleTranscriptMode",name:"Toggle Transcript Mode",description:"Toggle transcript mode on or off",defaultBindings:[{key:"o",ctrl:!0}],context:"global",priority:150,category:"mode",configurable:!0},{id:"openTranscriptSearch",name:"Search Transcript",description:"Open transcript search",defaultBindings:[{key:"f",ctrl:!0}],context:"global",priority:150,category:"navigation",configurable:!0},{id:"togglePermissionMode",name:"Cycle Permissions",description:"Cycle permission mode: plan, accept-edits, auto-in-project",defaultBindings:[{key:"tab",shift:!0}],context:"global",priority:150,category:"mode",configurable:!0},{id:"toggleAgentMode",name:"Cycle Agent Mode",description:"Cycle agent mode: AMA, SA",defaultBindings:[{key:"m",meta:!0}],context:"global",priority:150,category:"mode",configurable:!0},{id:"submitInput",name:"Submit Input",description:"Submit the current input",defaultBindings:[{key:"enter"}],context:"input",priority:50,category:"global",configurable:!1},{id:"acceptCompletion",name:"Accept Completion",description:"Accept the current autocomplete suggestion",defaultBindings:[{key:"tab"}],context:"input",priority:60,category:"editing",configurable:!0},{id:"cancelInput",name:"Cancel Input",description:"Cancel or clear the current input",defaultBindings:[{key:"escape"}],context:"input",priority:70,category:"editing",configurable:!0},{id:"newline",name:"Insert Newline",description:"Insert a newline in the current input",defaultBindings:[{key:"enter",shift:!0},{key:"j",ctrl:!0}],context:"input",priority:40,category:"editing",configurable:!0},{id:"historyUp",name:"History Up",description:"Browse previous input history",defaultBindings:[{key:"up"}],context:"input",priority:30,category:"navigation",configurable:!0},{id:"historyDown",name:"History Down",description:"Browse next input history",defaultBindings:[{key:"down"}],context:"input",priority:30,category:"navigation",configurable:!0},{id:"moveLeft",name:"Move Left",description:"Move the cursor left",defaultBindings:[{key:"left"}],context:"input",priority:20,category:"navigation",configurable:!1},{id:"moveRight",name:"Move Right",description:"Move the cursor right",defaultBindings:[{key:"right"}],context:"input",priority:20,category:"navigation",configurable:!1},{id:"moveToStart",name:"Move To Start",description:"Move the cursor to the start of the line",defaultBindings:[{key:"a",ctrl:!0}],context:"input",priority:25,category:"navigation",configurable:!0},{id:"moveToEnd",name:"Move To End",description:"Move the cursor to the end of the line",defaultBindings:[{key:"e",ctrl:!0}],context:"input",priority:25,category:"navigation",configurable:!0},{id:"killLineRight",name:"Delete To End",description:"Delete from the cursor to the end of the current line",defaultBindings:[{key:"k",ctrl:!0}],context:"input",priority:25,category:"editing",configurable:!0},{id:"killLineLeft",name:"Delete To Start",description:"Delete from the start of the line to the cursor",defaultBindings:[{key:"u",ctrl:!0}],context:"input",priority:25,category:"editing",configurable:!0},{id:"deleteWordLeft",name:"Delete Word Left",description:"Delete the word before the cursor",defaultBindings:[{key:"w",ctrl:!0},{key:"backspace",meta:!0}],context:"input",priority:25,category:"editing",configurable:!0},{id:"moveLineUp",name:"Move Line Up",description:"Move to the previous visual line in multiline input",defaultBindings:[{key:"up",ctrl:!0}],context:"input",priority:20,category:"navigation",configurable:!0},{id:"moveLineDown",name:"Move Line Down",description:"Move to the next visual line in multiline input",defaultBindings:[{key:"down",ctrl:!0}],context:"input",priority:20,category:"navigation",configurable:!0},{id:"backspace",name:"Backspace",description:"Delete the previous character",defaultBindings:[{key:"backspace"}],context:"input",priority:10,category:"editing",configurable:!1},{id:"delete",name:"Delete",description:"Delete the next character",defaultBindings:[{key:"delete"}],context:"input",priority:10,category:"editing",configurable:!1}];import{useEffect as wO,useCallback as TO,useRef as CO}from"react";function ao(e,t,n={}){let{context:r,isActive:i=!0}=n,s=$r(),a=CO(t);a.current=t,wO(()=>(s.setHandler(e,d=>a.current(d)),()=>{s.setHandler(e,void 0)}),[s,e]);let c=TO(d=>{if(!i)return!1;let p=s.getAllShortcuts().find(v=>v.definition.id===e);if(!p)return!1;let h=r??p.definition.context,g=h==="global"?"input":h,T=s.findMatchingShortcut(d,g);return T&&T.definition.id===e?a.current(d)===!0:!1},[s,e,i,r]),l=IO(e,s);En(c,{isActive:i,priority:l})}o(ao,"useShortcut");function IO(e,t){let r=t.getAllShortcuts().find(i=>i.definition.id===e);return r?r.definition.priority:0}o(IO,"getShortcutPriority");import bO,{createContext as vO,useContext as RO,useState as Iv,useCallback as Vg}from"react";var bv=vO(null);function Kg({children:e,initialContext:t="input"}){let[n,r]=Iv(!1),[i,s]=Iv(t);$r().registerAll(Aa);let c=Vg(()=>{r(p=>!p)},[]),l=Vg(()=>{let h=$r().getAllShortcuts(),g={global:[],mode:[],navigation:[],editing:[]};for(let T of h){let v=T.definition.category;g[v]||(g[v]=[]),g[v].push(T)}return g},[]),d=Vg(()=>$r().getShortcutsByContext(i),[i]),f={showHelp:n,toggleHelp:c,setShowHelp:r,currentContext:i,setCurrentContext:s,getShortcutsByCategory:l,getContextShortcuts:d};return bO.createElement(bv.Provider,{value:f},e)}o(Kg,"ShortcutsProvider");function zg(){let e=RO(bv);if(!e)throw new Error("useShortcutsContext must be used within a ShortcutsProvider");return e}o(zg,"useShortcutsContext");import kO from"chalk";var vv={off:0,minimal:1,low:2,medium:3,high:4,xhigh:5,max:6,auto:7};function EO(e,t){let n=e.indexOf(t);if(n!==-1)return n;let r=vv[t];if(r===void 0)return-1;let i=-1,s=-1;for(let a=0;a<e.length;a++){let c=vv[e[a]];c===void 0||c>r||c>s&&(s=c,i=a)}return i}o(EO,"nearestCycleIndex");function Yg({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:h,onOpenTranscriptSearch:g,canOpenTranscriptSearch:T=!0,isInteractiveDialogActive:v=!1,onSetAgentMode:C,onSetPermissionMode:S,isInputEmpty:w,onSavePermissionMode:M}){let L=o(A=>A?.name?.toLowerCase()==="c"&&A.ctrl===!0,"isCtrlCInterrupt");return ao("interrupt",A=>L(A)&&n?(r(),i(),s(),a(void 0),c(!1),console.log(kO.yellow(`
|
|
82
|
-
[Interrupted]`)),!0):!1,{isActive:n}),ao("showHelp",()=>v?!1:w?(l(),!0):!1,{isActive:w}),ao("toggleThinking",()=>{if(v)return!1;let A=tT(e.provider,e.model);if(A.length===0)return!1;let H=e.permissionMode==="plan"&&!e.effortOverride&&e.planModeEffort!==void 0?e.planModeEffort:e.effortOverride?e.effort:void 0,W=EO(A,H===void 0||H==="auto"?"auto":H==="none"?"off":H),ne=A[(W+1)%A.length]??A[0],x=ne==="auto"?void 0:ne==="off"?"none":ne,Ce=ne!=="auto",J=ne!=="off",D=ne==="off"?"off":"auto";return t(k=>({...k,effort:x,effortOverride:Ce,thinking:J,reasoningMode:D})),yi({effort:x,thinking:J,reasoningMode:D}),p?.(D),f?.(J),d(!1),!0}),ao("toggleTranscriptMode",()=>v?!1:(h?.(),d(!1),!0)),ao("openTranscriptSearch",()=>v||!T?!1:(g?.(),d(!1),!0)),ao("togglePermissionMode",()=>{if(v)return!1;let A=["plan","accept-edits","auto"],H=e.permissionMode==="auto-in-project"?"auto":e.permissionMode,W=(A.indexOf(H)+1)%A.length,ne=A[W];return t(x=>({...x,permissionMode:ne})),S?.(ne),M?.(ne),d(!1),!0}),ao("toggleAgentMode",()=>{if(v)return!1;let A=yT(e.agentMode);return t(H=>({...H,agentMode:A})),yi({agentMode:A}),C?.(A),d(!1),!0}),null}o(Yg,"GlobalShortcuts");import{exec as MO}from"child_process";import{promisify as AO}from"util";var _O=AO(MO),LO={read:"read",grep:"grep",glob:"glob",write:"write",edit:"edit",bash:"bash",undo:"undo",askuserquestion:"ask-user-question",askuser:"ask-user-question"};function Rv(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(Rv,"splitTopLevelCommaList");function PO(e){if(!e?.trim())return{configured:!1,rules:[],invalidEntries:[]};let t=[];return{configured:!0,rules:Rv(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=LO[i[1].replace(/[^a-z]/gi,"").toLowerCase()];if(!s){t.push(r);return}let a=i[2]?Rv(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(PO,"parseAllowedTools");function $O(e){let t=e.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*");return new RegExp(`^${t}$`,"i")}o($O,"wildcardToRegExp");function kv(e,t){return $O(e).test(t)}o(kv,"matchesPattern");function Ev(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=>kv(a,i)))}o(Ev,"isToolAllowed");function DO(e,t){return e.matcher?kv(e.matcher,t):!0}o(DO,"hookMatches");function OO(e){let t=e.source==="skill"?"skill":e.source==="extension"?"extension command":"command";return[`Note: ${e.displayName} has model invocation disabled.`,`The ${t} content is shown below for manual use:`,"",`--- ${e.displayName} ---`,e.prompt,`--- end ${e.displayName} ---`].join(`
|
|
83
|
-
`)}o(OO,"formatManualOutput");function NO(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(NO,"resolveModelOverride");async function BO(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(!Ev(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 _O(t.command,{env:{...process.env,KODAX_HOOK_EVENT:e,KODAX_HOOK_PAYLOAD:JSON.stringify(n)},maxBuffer:1048576,windowsHide:!0}),f=[l.trim(),d.trim()].filter(Boolean).join(`
|
|
84
|
-
`);f&&i.onToolResult?.({id:`frontmatter-hook:${e}`,name:"bash",content:f}),d.trim()&&await r(`[Hook ${e} stderr] ${d.trim()}`);let p=l.trim();if(!p)return{};try{let h=JSON.parse(p);return{allow:typeof h.allow=="boolean"?h.allow:typeof h.continue=="boolean"?h.continue:void 0,message:typeof h.message=="string"?h.message:void 0,additionalContext:typeof h.additionalContext=="string"?h.additionalContext:typeof h.additional_context=="string"?h.additional_context:void 0}}catch{return{message:p,additionalContext:p}}}catch(l){return await r(`[Hook ${e} failed] ${l instanceof Error?l.message:String(l)}`),{}}}o(BO,"executeHookCommand");async function _a(e,t,n,r,i,s,a){let c=e?.[t];if(!c||c.length===0)return{};let l={};for(let d of c){if(!DO(d,n))continue;let f=await BO(t,d,r,i,s,a);if(f.message&&await i(`[Hook ${t}] ${f.message}`),f.additionalContext&&(l.additionalContext=l.additionalContext?`${l.additionalContext}
|
|
85
|
-
${f.additionalContext}`:f.additionalContext),f.allow===!1){l.allow=!1;break}}return l}o(_a,"runHooks");async function Ep(e,t,n,r){if(t.disableModelInvocation)return{mode:"manual",manualOutput:OO(t),finalize:o(async()=>{},"finalize")};let i=e.events??{},s=PO(t.allowedTools),a=NO(e.provider,t.model),c=!1,l=o(async C=>{if(r(C),!(c||!t.hooks?.Notification?.length)){c=!0;try{await _a(t.hooks,"Notification",C,{displayName:t.displayName,source:t.source,path:t.path,message:C},async S=>{r(S)},i,s)}finally{c=!1}}},"emitWithNotifications");t.model&&!a&&await l(`[Info] Model preference '${t.model}' is not supported by provider '${e.provider}', using the current model.`),s.invalidEntries.length>0&&await l(`[Warning] ${t.displayName} has invalid allowed-tools entries: ${s.invalidEntries.join(", ")}`),s.configured&&s.rules.length===0&&await l(`[Warning] ${t.displayName} has no valid allowed-tools entries, so all tool execution will be blocked.`);let d=await _a(t.hooks,"SessionStart",t.displayName,{displayName:t.displayName,source:t.source,path:t.path},l,i,s);if(d.allow===!1)return{mode:"manual",manualOutput:`[Blocked] ${t.displayName} was stopped before execution.`,finalize:o(async()=>{},"finalize")};let f=await _a(t.hooks,"UserPromptSubmit",n,{displayName:t.displayName,source:t.source,prompt:n,path:t.path},l,i,s);if(f.allow===!1)return{mode:"manual",manualOutput:`[Blocked] ${t.displayName} was stopped by a UserPromptSubmit hook.`,finalize:o(async()=>{},"finalize")};let p=[t.agent?`Preferred agent: ${t.agent}`:void 0,d.additionalContext,f.additionalContext].filter(C=>typeof C=="string"&&C.trim().length>0),h=[p.length>0?p.join(`
|
|
86
|
-
|
|
87
|
-
`):void 0,t.prompt,`User request: ${n}`].filter(C=>typeof C=="string"&&C.trim().length>0),g={...i,beforeToolExecute:o(async(C,S,w)=>Ev(s,C,S)?(await _a(t.hooks,"PreToolUse",C,{tool:C,input:S,displayName:t.displayName,source:t.source,path:t.path},l,i,s)).allow===!1?(await l(`[Blocked] PreToolUse hook blocked '${C}' for ${t.displayName}`),!1):i.beforeToolExecute?await i.beforeToolExecute(C,S,w):!0:(await l(`[Blocked] Tool '${C}' is not allowed by ${t.displayName}`),!1),"beforeToolExecute"),onToolResult:o((C,S)=>{i.onToolResult?.(C,S),_a(t.hooks,"PostToolUse",C.name,{...C,displayName:t.displayName,source:t.source,path:t.path},l,i,s)},"onToolResult")},T=!1,v=o(async C=>{T||(T=!0,await _a(t.hooks,t.context==="fork"?"SubagentStop":"Stop",t.displayName,{displayName:t.displayName,source:t.source,path:t.path,error:C?.message},l,i,s))},"finalize");return{mode:t.context==="fork"?"fork":"inline",prompt:h.join(`
|
|
88
|
-
|
|
89
|
-
`),options:{...e,modelOverride:a,context:{...e.context,...t.workflowIntent?{workflowIntent:t.workflowIntent}:{},rawUserInput:n,skillInvocation:t.source==="skill"?t.skillInvocation:e.context?.skillInvocation},events:g},finalize:v}}o(Ep,"prepareInvocationExecution");import{appendFileSync as HO,mkdirSync as WO,writeFileSync as FO}from"node:fs";import{join as Av}from"node:path";import Mv from"node:v8";var Qg=parseInt(process.env.KODAX_MEMORY_DIAG??"0",10),Jg=Qg>=1,Zg=fi(),_v=Av(Zg,"memory-diag.log"),Xg=0,qg=!1;function Lv(){if(!qg)try{WO(Zg,{recursive:!0}),qg=!0}catch{qg=!0}}o(Lv,"ensureLogDir");function jO(e){Lv();try{HO(_v,e+`
|
|
90
|
-
`)}catch{}}o(jO,"writeLog");function Mt(e){return`${(e/1024/1024).toFixed(2)}MB`}o(Mt,"formatMB");function UO(){return typeof globalThis.gc=="function"?(globalThis.gc(),!0):!1}o(UO,"tryGC");function It(e){return e?e.length*2:0}o(It,"strBytes");function ji(e,t=0){if(t>8)return 0;if(e==null)return 8;if(typeof e=="string")return e.length*2;if(typeof e=="number"||typeof e=="boolean")return 8;if(Array.isArray(e)){let n=32;for(let r of e)n+=ji(r,t+1);return n}if(typeof e=="object"){let n=64;for(let[r,i]of Object.entries(e))n+=r.length*2,n+=ji(i,t+1);return n}return 16}o(ji,"estimateJsonBytes");function Pv(e){if(!e||typeof e!="object")return 64;let t=e,n=64,r=new Set(["type","text","thinking","content","partial_json","input","data","signature","path","mediaType","tool_use_id","id","name","is_error"]);if(typeof t.text=="string"&&(n+=t.text.length*2),typeof t.thinking=="string"&&(n+=t.thinking.length*2),typeof t.content=="string")n+=t.content.length*2;else if(Array.isArray(t.content))for(let i of t.content)n+=Pv(i);typeof t.partial_json=="string"&&(n+=t.partial_json.length*2),typeof t.data=="string"&&(n+=t.data.length*2),typeof t.signature=="string"&&(n+=t.signature.length*2),typeof t.path=="string"&&(n+=t.path.length*2),t.input!==void 0&&(n+=ji(t.input));for(let[i,s]of Object.entries(t))r.has(i)||(n+=i.length*2+ji(s));return n}o(Pv,"estimateBlockBytes");function ey(e){if(typeof e.content=="string")return e.content.length*2+64;if(Array.isArray(e.content)){let t=64;for(let n of e.content)t+=Pv(n);return t}return 200}o(ey,"estimateMessageBytes");function $l(e){let t=128;switch(t+=It(e.id)+It(e.parentId??void 0)+It(e.timestamp),e.type){case"message":return t+ey(e.message);case"compaction":return t+=It(e.summary),t+=It(e.firstKeptEntryId),t+=It(e.reason),t+=It(e.artifactLedgerId),e.details!==void 0&&(t+=ji(e.details)),e.memorySeed!==void 0&&(t+=ji(e.memorySeed)),t;case"branch_summary":return t+=It(e.summary),t+=It(e.fromId),e.details!==void 0&&(t+=ji(e.details)),t;case"label":return t+=It(e.targetId),t+=It(e.label),t;case"archive_marker":return t+=It(e.archiveBatchId),t+=It(e.summary),t+=8,t;case"rewind_marker":return t+=It(e.targetId),t+=It(e.fromId),t+=It(e.summary),t+=8,t;default:return t}}o($l,"estimateEntryBytes");function GO(e){let t={},n=[];for(let i=0;i<e.length;i++){let s=e[i],a=ey(s);n.push({index:i,role:s.role,bytes:a});let c=t[s.role]??{count:0,bytes:0};c.count++,c.bytes+=a,t[s.role]=c}return n.sort((i,s)=>s.bytes-i.bytes),{totalBytes:n.reduce((i,s)=>i+s.bytes,0),biggest:n.slice(0,5),byRole:t}}o(GO,"buildMessageBreakdown");function Mp(){return Jg}o(Mp,"memDiagEnabled");function Ap(e,t){if(!Jg)return;e==="turn-start"&&Xg++;let n=process.memoryUsage(),r=new Date().toISOString(),i=t.biggestMessages,s=["",`\u2550\u2550\u2550 [MEMDIAG] turn=${Xg} phase=${e} @${r} \u2550\u2550\u2550`,` V8 heap: used=${Mt(n.heapUsed)} total=${Mt(n.heapTotal)} rss=${Mt(n.rss)} ext=${Mt(n.external)}`," \u2500\u2500 Data breakdown \u2500\u2500",` context.messages: ${t.messageCount} msgs, ${Mt(t.messageBytes)}`,` lineage.entries: ${t.lineageEntryCount} total (msg=${t.lineageMessageEntryCount}, compact=${t.lineageCompactionCount}, branch=${t.lineageBranchSummaryCount}, label=${t.lineageLabelCount}, archive=${t.lineageArchiveMarkerCount}, rewind=${t.lineageRewindMarkerCount})`,` lineage non-message: ${Mt(t.lineageNonMessageBytes)} (sidecar payloads)`,` lineage orphan messages: ${t.lineageOrphanMessageCount} msgs, ${Mt(t.lineageOrphanMessageBytes)} (in lineage but not in context.messages \u2014 branches/pruned)`,` UI history: ${t.historyItemCount} items, ${Mt(t.historyTextBytes)}`,` foreground turn: ${t.foregroundItemCount} items, ${Mt(t.foregroundTextBytes)}`,` streaming response: ${Mt(t.streamingResponseBytes)}`,` streaming thinking: ${Mt(t.streamingThinkingBytes)}`,` persisted UI history: ${t.persistedUiHistoryCount} items, ${Mt(t.persistedUiHistoryBytes)}`];if(i.length>0){s.push(" \u2500\u2500 Top 5 biggest messages \u2500\u2500");for(let d of i)s.push(` [${d.index}] role=${d.role} ${Mt(d.bytes)}`)}let a=t.messageBytes+t.lineageNonMessageBytes+t.lineageOrphanMessageBytes+t.historyTextBytes+t.foregroundTextBytes+t.streamingResponseBytes+t.streamingThinkingBytes+t.persistedUiHistoryBytes;s.push(" \u2500\u2500 V8 heap spaces \u2500\u2500");let c=Mv.getHeapSpaceStatistics();for(let d of c)d.space_used_size>1024*1024&&s.push(` ${d.space_name.padEnd(25)} used=${Mt(d.space_used_size)} allocated=${Mt(d.space_size)}`);if(s.push(" \u2500\u2500 Summary \u2500\u2500"),s.push(` tracked data total: ${Mt(a)}`),s.push(` V8 heap used: ${Mt(n.heapUsed)}`),s.push(` unaccounted (overhead): ${Mt(n.heapUsed-a)}`),s.push(" (React/Ink tree, provider SDK buffers, module metadata,"),s.push(' tokenizer caches, source maps \u2014 see "Blind spots" note)'),UO()){let d=process.memoryUsage();s.push(` after forced GC: heap=${Mt(d.heapUsed)} (freed ${Mt(n.heapUsed-d.heapUsed)})`)}else s.push(" after forced GC: UNAVAILABLE \u2014 re-run with `node --expose-gc` to distinguish"),s.push(` "real leak" from "GC hasn't run yet".`);if(Qg>=2)try{let d=Av(Zg,`heap-turn${Xg}-${e}.heapsnapshot`);Mv.writeHeapSnapshot(d),s.push(` heap snapshot: ${d}`)}catch{s.push(" heap snapshot: FAILED")}jO(s.join(`
|
|
91
|
-
`))}o(Ap,"memDiagSnapshot");function _p(e,t,n){let r=GO(e),i=new Set(e),s=0,a=0,c=0,l=0,d=0,f=0,p=0,h=0,g=0,T=t?.entries??[];for(let w of T)switch(w.type){case"message":g++,i.has(w.message)||(c++,a+=ey(w.message));break;case"compaction":l++,s+=$l(w);break;case"branch_summary":d++,s+=$l(w);break;case"label":f++,s+=$l(w);break;case"archive_marker":p++,s+=$l(w);break;case"rewind_marker":h++,s+=$l(w);break}let v=0;for(let w of n.historyItems)v+=It(w.text);let C=0;for(let w of n.foregroundItems)C+=It(w.text);let S=0;for(let w of n.persistedUiHistory)S+=It(w.text);return{messageCount:e.length,messageBytes:r.totalBytes,biggestMessages:r.biggest,lineageEntryCount:T.length,lineageMessageEntryCount:g,lineageCompactionCount:l,lineageBranchSummaryCount:d,lineageLabelCount:f,lineageArchiveMarkerCount:p,lineageRewindMarkerCount:h,lineageNonMessageBytes:s,lineageOrphanMessageBytes:a,lineageOrphanMessageCount:c,historyItemCount:n.historyItems.length,historyTextBytes:v,foregroundItemCount:n.foregroundItems.length,foregroundTextBytes:C,streamingResponseBytes:It(n.streamingResponse),streamingThinkingBytes:It(n.streamingThinking),persistedUiHistoryCount:n.persistedUiHistory.length,persistedUiHistoryBytes:S}}o(_p,"buildMemDiagBreakdown");function $v(){if(Jg){Lv();try{let e=typeof globalThis.gc=="function",t=[`[MEMDIAG] Session started at ${new Date().toISOString()}`,`[MEMDIAG] Level=${Qg} gc=${e?"available":"UNAVAILABLE (run with node --expose-gc)"}`,"[MEMDIAG] Blind spots: React/Ink trees, provider SDK buffers, WeakMap/Map caches,","[MEMDIAG] tokenizer internal state, source-map strings, native handles.",'[MEMDIAG] A large "unaccounted" number living in these buckets is expected;',"[MEMDIAG] use Level 2 (KODAX_MEMORY_DIAG=2) to dump heap snapshots for DevTools.",""].join(`
|
|
92
|
-
`);FO(_v,t+`
|
|
93
|
-
`)}catch{}}}o($v,"memDiagReset");import VO from"node:fs";import ny from"node:path";var KO={".gif":"image/gif",".jpeg":"image/jpeg",".jpg":"image/jpeg",".png":"image/png",".webp":"image/webp"},zO=/@(?:"([^"]+)"|'([^']+)'|([^\s]+))/g;function YO(e){return KO[ny.extname(e).toLowerCase()]}o(YO,"resolveImageMediaType");var ty="[Image unavailable]";function XO(e){return""}o(XO,"buildImageAnchor");function La(e,t){let n=[],r=[],i=new Set,s=new Map,a=new Set,c=[],l=0;for(let f of e.matchAll(zO)){let p=f.index??l;c.push(e.slice(l,p));let h=f[1]??f[2]??f[3];if(!h){c.push(f[0]),l=p+f[0].length;continue}let g=YO(h);if(!g){c.push(f[0]),l=p+f[0].length;continue}let T=ny.resolve(t,h);try{if(!VO.statSync(T).isFile()){a.has(T)||(r.push(`[Image input skipped] ${h} is not a file.`),a.add(T)),c.push(ty),l=p+f[0].length;continue}}catch{a.has(T)||(r.push(`[Image input missing] ${h} was not found from ${t}.`),a.add(T)),c.push(ty),l=p+f[0].length;continue}if(!i.has(T)){i.add(T);let v=XO(n.length+1);s.set(T,v),n.push({kind:"image",path:T,mediaType:g,source:"user-inline",description:`Attached image ${ny.basename(T)}`})}c.push(s.get(T)??ty),l=p+f[0].length}c.push(e.slice(l));let d=c.join("");return{promptText:d,messageContent:kw(d,n),inputArtifacts:n,warnings:r}}o(La,"preparePromptInputArtifacts");function Dv(e){let t=qO(e.stage),n=QO(e);return{type:"info",icon:"\u{1F4E1}",text:n?`[RepoIntel] ${t} \xB7 ${n}`:`[RepoIntel] ${t}`,tightSpacing:!0}}o(Dv,"createRepoIntelTraceHistoryItem");function qO(e){switch(e){case"routing":return"routing";case"preturn":return"preturn";case"module":return"module";case"impact":return"impact";case"task-snapshot":return"task-snapshot";default:return String(e)}}o(qO,"stageDisplayName");function QO(e){let t=[],n=e.capability;n&&(t.push(`mode=${n.mode}`),t.push(`engine=${n.engine}`),n.status!=="ok"&&t.push(`status=${n.status}`));let r=e.trace;return r&&(r.cacheHit!==void 0&&t.push(r.cacheHit?"cache hit":"cache miss"),r.capsuleEstimatedTokens!==void 0&&t.push(`${JO(r.capsuleEstimatedTokens)} tokens`)),t.length===0&&e.summary?ZO(e.summary):t.join(" \xB7 ")}o(QO,"buildRepoIntelDetailLine");function JO(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}o(JO,"formatTokens");function ZO(e){return e.replace(/^stage=[^|]+\|\s*/,"").trim()}o(ZO,"stripSummaryStagePrefix");function Ov(e,t,n,r,i){let s=e?.gitRoot??t??void 0,a=e?.executionCwd??i??s??process.cwd();return{...e,gitRoot:s,executionCwd:a,contextTokenSnapshot:n,taskSurface:"repl",skillsPrompt:r}}o(Ov,"buildManagedRunContext");var eN=["global","mode","navigation","editing"],tN={global:["showHelp","interrupt"],mode:["toggleThinking","toggleTranscriptMode","togglePermissionMode","toggleAgentMode"],navigation:["openTranscriptSearch","historyUp","historyDown","moveToStart","moveToEnd"],editing:["acceptCompletion","cancelInput","newline","killLineRight","killLineLeft","deleteWordLeft"]},nN={global:"Global",mode:"Modes",navigation:"Navigation",editing:"Editing"},rN={id:"transcript",title:"Transcript",items:[{id:"mode",label:"Ctrl+O transcript mode"},{id:"search",label:"Ctrl+F search transcript"},{id:"browse",label:"PgUp/PgDn/j/k scroll"},{id:"match",label:"n/N next match"},{id:"latest",label:"End back to live"},{id:"exit",label:"q or Esc back to live"}]};function oN(e){let t=$r(),n=t.getAllShortcuts().find(i=>i.definition.id===e);if(n?.effectiveBindings?.length)return t.formatBindings(n.effectiveBindings);let r=Aa.find(i=>i.id===e);if(r?.defaultBindings?.length)return t.formatBindings(r.defaultBindings)}o(oN,"resolveShortcutBindingLabel");function iN(e){return`${oN(e.id)??e.id} ${e.name}`}o(iN,"buildMenuItemLabel");function sN(e){return $r().getAllShortcuts().find(r=>r.definition.id===e)?.definition??Aa.find(r=>r.id===e)}o(sN,"resolveShortcutDefinition");function Lp(){return[...eN.map(t=>{let n=tN[t].map(r=>sN(r)).filter(r=>!!r).map(r=>({id:r.id,label:iN(r)}));return{id:t,title:nN[t],items:n}}).filter(t=>t.items.length>0),rN]}o(Lp,"buildHelpMenuSections");var ry=2,Nv=1,Bv=4;function dt(e,t){let n=dn(e.length>0?e.split(`
|
|
94
|
-
`):[""],Math.max(1,t),0,0);return Math.max(1,n.visualLines.length)}o(dt,"wrapLineCount");function aN(e,t,n=">"){let r=n.length+1,i=Math.max(20,t-r),s=dn(e.length>0?e.split(`
|
|
95
|
-
`):[""],i,0,0);return Math.max(1,s.visualLines.length)+2}o(aN,"calculateInputPromptRows");function Hv(e){let{terminalRows:t,terminalWidth:n,windowedTranscript:r=!1,inputText:i,inputPrompt:s=">",footerHeaderText:a,activitySummary:c,pendingInputSummary:l,stashNoticeSummary:d,notificationSummary:f,statusNoticeSummary:p,workStripText:h,suggestionsReserved:g,suggestionsMode:T="inline",showHelp:v,statusBarText:C,confirmPrompt:S,confirmInstruction:w,uiRequest:M,dialogMode:L="inline",historySearch:A,maxVisibleSelectOptions:H=5,reviewHint:K,todoSurfaceRows:W=0,workflowSurfaceRows:ne=0,childActivitySurfaceRows:x=0,activityBarVisible:Ce=!1}=e,J=Math.max(0,Math.floor(W)),D=Math.max(0,Math.floor(ne)),k=Math.max(0,Math.floor(x)),B=a?dt(a,Math.max(1,n-2)):0,Se=c?dt(c,Math.max(1,n-2)):0,de=Ce?1:Se,ee=l?dt(l,Math.max(1,n-2)):0,he=d?dt(d,Math.max(1,n-2)):0,we=f?dt(f,Math.max(1,n-2)):0,fe=p?dt(p,Math.max(1,n-2)):0,Te=h?dt(h,Math.max(1,n-2)):0,Oe=aN(i,n,s),X=g?8:0,ce=v?Nv+Bv+Lp().reduce((P,V)=>P+dt(V.title,Math.max(1,n-ry))+dt(V.items.map(z=>z.label).join(" | "),Math.max(1,n-ry)),0):0,_e=dt(C,Math.max(1,n-2)),tt=0;if(S&&w){let P=Math.max(1,n-4);tt=3+dt(`[Confirm] ${S}`,P)+dt(w,P)}let q=0,Ke=0;if(M){let P=Math.max(1,n-4);M.kind==="select"?(Ke=Math.min(H,M.options.length),q=3+dt(`[Select] ${M.title}`,P)+M.options.slice(0,Ke).reduce((V,z,ge)=>V+dt(`${ge+1}. ${z.label}${z.description?` - ${z.description}`:""}`,P),0)+(M.options.length>Ke?2:0)+dt(`Choice: ${M.buffer||"(type a number)"}`,P)+1+(M.error?dt(M.error,P):0)):q=3+dt(`[Input] ${M.prompt}`,P)+(M.defaultValue!==void 0?dt(`Default: ${M.defaultValue}`,P):0)+dt(`Value: ${M.buffer||"(type your response)"}`,P)+1+(M.error?dt(M.error,P):0)}let ct=0;if(A){let P=Math.max(1,n-4);ct=3+dt(`Query: ${A.query||"(type to search)"}`,P)+(A.matchCount===0?dt("No matches yet",P):dt(`${Math.max(1,A.matchCount)} matches`,P)+dt(A.selectedExcerpt||"",P))+1}let le=K?dt(K,Math.max(1,n-2)):0,Ie=B+de+D+J+k+ee+he+we+Oe+ce+fe+le+(T==="inline"?X:0)+(L==="inline"?tt+q+ct:0),ye=(T==="overlay"?X:0)+(L==="overlay"?tt+q+ct:0),Xe=Ie+Te+_e,ft=Math.max(1,t-Xe);return{messageRows:ft,reservedBottomRows:Xe,headerRows:B,activityRows:de,pendingInputRows:ee,stashNoticeRows:he,notificationRows:we,workStripRows:Te,inputRows:Oe,suggestionsRows:X,helpRows:ce,statusNoticeRows:fe,statusRows:_e,confirmRows:tt,uiRequestRows:q,historySearchRows:ct,footerRows:Ie,overlayRows:ye,visibleSelectOptions:Ke,reviewHintRows:le,todoSurfaceRows:J,workflowSurfaceRows:D,childActivitySurfaceRows:k,slots:[{name:"transcript",rows:ft},{name:"footer",rows:Ie},{name:"overlay",rows:ye},{name:"status",rows:_e},{name:"task-bar",rows:Te}]}}o(Hv,"calculateViewportBudget");function Wv(e,t={}){let n=bi(e,{rendererMode:t.rendererMode??"owned"});return{hostProfile:e,surface:"prompt",buffering:n.bufferingMode,ownsViewportByDefault:n.ownsViewportByDefault,supportsMouseTracking:n.supportsMouseTracking,supportsFullscreenLayout:n.supportsFullscreenLayout,supportsOverlaySurface:n.supportsOverlaySurface,supportsSelection:n.supportsSelection,supportsCopyOnSelect:n.supportsCopyOnSelect,supportsWheelHistory:n.supportsWheelHistory,supportsViewportChrome:n.supportsViewportChrome,supportsSearchViewport:n.supportsSearchViewport,supportsStickyPrompt:n.supportsStickyPrompt,scrollAnchor:0,jumpToLatestAvailable:!1,stickyPromptVisible:!1,selectionMode:"none",selectedItemId:void 0,searchMode:"closed",searchAnchorItemId:void 0,currentMatchIndex:0,pendingLiveUpdates:0}}o(Wv,"createTranscriptDisplayState");function Fv(e){return{...e,surface:"transcript",jumpToLatestAvailable:e.pendingLiveUpdates>0}}o(Fv,"enterTranscriptMode");function jv(e){return{...e,surface:"prompt",scrollAnchor:0,jumpToLatestAvailable:!1,selectionMode:"none",selectedItemId:void 0,searchMode:"closed",searchAnchorItemId:void 0,currentMatchIndex:0,pendingLiveUpdates:0}}o(jv,"exitTranscriptMode");function Uv(e,t){let n=Math.max(0,t);return{...e,pendingLiveUpdates:n,jumpToLatestAvailable:e.surface==="transcript"?n>0:e.scrollAnchor>0}}o(Uv,"setTranscriptPendingLiveUpdates");function Gv(e,t){let n=Math.max(0,t);return{...e,scrollAnchor:n,jumpToLatestAvailable:e.surface==="transcript"?e.pendingLiveUpdates>0:n>0}}o(Gv,"setTranscriptScrollAnchor");function Vv(e){return{...e,surface:"prompt",scrollAnchor:0,jumpToLatestAvailable:!1,selectionMode:"none",selectedItemId:void 0,searchMode:"closed",searchAnchorItemId:void 0,currentMatchIndex:0,pendingLiveUpdates:0}}o(Vv,"jumpTranscriptToLatest");function Kv(e,t){return{...e,stickyPromptVisible:t}}o(Kv,"setTranscriptStickyPromptVisible");function Pa(e,t){return{...e,selectedItemId:t,selectionMode:t?"message":"none"}}o(Pa,"setTranscriptSelectedItem");function zv(e,t){return{...e,surface:"transcript",searchMode:"history",searchAnchorItemId:t?.anchorItemId??e.selectedItemId??e.searchAnchorItemId,currentMatchIndex:Math.max(0,t?.initialMatchIndex??e.currentMatchIndex),jumpToLatestAvailable:e.pendingLiveUpdates>0}}o(zv,"openTranscriptSearch");function Yv(e){return{...e,searchMode:"closed",searchAnchorItemId:void 0,currentMatchIndex:0}}o(Yv,"closeTranscriptSearch");function Xv(e,t){return{...e,currentMatchIndex:Math.max(-1,t)}}o(Xv,"setTranscriptSearchMatchIndex");function qv(e){return e.supportsFullscreenLayout&&e.ownsViewportByDefault}o(qv,"shouldWindowTranscript");function Qv(e){return e.surface==="transcript"}o(Qv,"shouldPauseLiveTranscript");function oy(e){return e.supportsSelection}o(oy,"ownsTranscriptSelectionPath");function Pp(e,t,n){if(!(!oy(e)||!n))return t.includes(n)?n:void 0}o(Pp,"resolveTranscriptSelectedItemId");function Jv(e){return e.supportsSelection&&e.supportsCopyOnSelect}o(Jv,"supportsPassiveTranscriptCopyOnSelect");function Zv(e){if(e.surface==="transcript")return"Transcript | PgUp/PgDn page | j/k scroll | \u2190/\u2192 select | / search | n/N matches | q/Esc/Ctrl+O back"}o(Zv,"buildTranscriptBrowseHint");var eR="Slash commands cannot be queued mid-task. Press Esc twice or Ctrl+C to abort the current task, then run the command.",tR="slash-guard";function nR(e){return e.trimStart().startsWith("/")}o(nR,"isSlashCommandText");var cN=`
|
|
96
|
-
|
|
97
|
-
---
|
|
98
|
-
|
|
99
|
-
`;async function rR(e){let{initialPrompt:t,runRound:n,shiftPendingPrompt:r,onRoundComplete:i,onBeforeQueuedRound:s,shouldContinue:a=o(()=>!0,"shouldContinue"),shouldDrainQueuedPrompts:c=o(()=>!0,"shouldDrainQueuedPrompts")}=e,l=t,d=await n(l);for(;;){if(await i?.(d),!a(d)||!c())return d;let f=[];for(;;){let p=r();if(p===void 0)break;let h=typeof p=="string"?p.trim():"";h.length>0&&f.push(h)}if(f.length===0)return d;l=f.length===1?f[0]:f.join(cN),await s?.(l),d=await n(l)}}o(rR,"runQueuedPromptSequence");function iR(e){return e.itemsLength>0||e.currentResponse.length>0||e.thinkingContent.length>0||e.activeToolCallsLength>0}o(iR,"hasTranscriptInputActivity");function lN(e){return e.keyName==="mouse"&&e.hasMouse&&e.usesManagedMouseClicks&&e.supportsMouseTracking&&e.usesRendererMouseTracking}o(lN,"shouldHandleManagedTranscriptMouse");function oR(e){return e.usesManagedMouseWheel&&e.supportsWheelHistory&&e.hasTranscript}o(oR,"shouldHandleManagedTranscriptWheel");function sR(e){if(lN({keyName:e.keyName,hasMouse:e.hasMouse,usesManagedMouseClicks:e.usesManagedMouseClicks,supportsMouseTracking:e.supportsMouseTracking,usesRendererMouseTracking:e.usesRendererMouseTracking})){if(e.mouseButton!=="left")return{kind:"none"};if(e.mouseAction==="press"||e.mouseAction==="drag"||e.mouseAction==="release")return{kind:"mouse-phase",phase:e.mouseAction}}return e.keyName==="pageup"?e.hasTranscript?{kind:"scroll-by",delta:e.reviewPageSize}:{kind:"consume"}:e.keyName==="wheelup"?oR({usesManagedMouseWheel:e.usesManagedMouseWheel,supportsWheelHistory:e.supportsWheelHistory,hasTranscript:e.hasTranscript})?{kind:"scroll-by",delta:e.reviewWheelStep}:{kind:"none"}:e.keyName==="wheeldown"?oR({usesManagedMouseWheel:e.usesManagedMouseWheel,supportsWheelHistory:e.supportsWheelHistory,hasTranscript:e.hasTranscript})?e.historyScrollOffset===0?{kind:"consume"}:{kind:"scroll-by",delta:-e.reviewWheelStep}:{kind:"none"}:{kind:"none"}}o(sR,"resolveTranscriptPointerAction");function aR(e){return e.isTranscriptMode&&e.hasTextSelection}o(aR,"shouldDeferInterruptToTranscriptSelectionCopy");function cR(e){return e.hasActiveWorkflow?e.ctrl&&e.keyName==="c"?!aR({isTranscriptMode:e.isTranscriptMode,hasTextSelection:e.hasTranscriptTextSelection}):e.keyName!=="escape"||e.isTranscriptMode||e.isAwaitingUserInteraction?!1:e.isDoubleEscape&&e.isInputEmpty&&e.pendingInputCount===0:!1}o(cR,"shouldStopWorkflowFromInterruptKey");function lR(e){return e.ctrl&&e.keyName==="c"?aR({isTranscriptMode:e.isTranscriptMode,hasTextSelection:e.hasTranscriptTextSelection})?{kind:"none"}:{kind:"interrupt"}:e.keyName!=="escape"?{kind:"none"}:e.isTranscriptMode||e.isAwaitingUserInteraction?{kind:"none"}:e.isInputEmpty&&e.pendingInputCount>0?{kind:"pop-pending-input"}:e.isInputEmpty?e.isDoubleEscape?{kind:"interrupt"}:{kind:"none"}:{kind:"none"}}o(lR,"resolveStreamingInterruptAction");function uR(e){let{key:t,isTranscriptMode:n,isHistorySearchActive:r,historySearchMatchCount:i,hasTextSelection:s,hasFocusedItem:a,canCopySelectedItem:c,canCopySelectedToolInput:l,canToggleSelectedDetail:d,canCycleTranscriptSelection:f}=e;if(t.name==="pageup")return{kind:"scroll-page-up"};if(r){if(t.name==="escape")return{kind:"close-history-search"};if(t.name==="backspace")return{kind:"history-search-backspace"};if(t.name==="down")return{kind:"history-search-step",direction:"next"};if(t.name==="up")return{kind:"history-search-step",direction:"prev"};if(t.name==="enter"||t.name==="return")return{kind:"history-search-submit"};if(t.insertable&&t.sequence)return{kind:"history-search-append",text:t.sequence}}return n&&!r&&!t.ctrl&&!t.meta&&t.insertable&&t.sequence==="/"?{kind:"open-history-search"}:n&&!t.ctrl&&!t.meta&&t.name==="q"?{kind:"exit-transcript"}:n&&t.name==="escape"?s||a?{kind:"clear-selection-focus"}:{kind:"exit-transcript"}:t.name==="home"?{kind:"scroll-home"}:t.name==="pagedown"?{kind:"scroll-page-down"}:t.name==="end"?{kind:"scroll-end"}:n?t.ctrl&&!t.meta&&t.name==="e"?{kind:"toggle-show-all"}:t.name==="j"||t.name==="down"?{kind:"scroll-line-down"}:t.name==="k"||t.name==="up"?{kind:"scroll-line-up"}:!t.ctrl&&!t.meta&&t.name==="g"&&t.shift?{kind:"jump-latest"}:!t.ctrl&&!t.meta&&t.name==="g"&&!t.shift?{kind:"jump-oldest"}:t.name==="left"?f?{kind:"cycle-selection",direction:"prev"}:{kind:"none"}:t.name==="right"?f?{kind:"cycle-selection",direction:"next"}:{kind:"none"}:!t.ctrl&&!t.meta&&!t.shift&&t.name==="c"?s?{kind:"copy-selection"}:c?{kind:"copy-item"}:{kind:"none"}:!t.ctrl&&!t.meta&&!t.shift&&t.name==="i"?l?{kind:"copy-tool-input"}:{kind:"none"}:!t.ctrl&&!t.meta&&!t.shift&&t.name==="v"?d?{kind:"toggle-detail"}:{kind:"none"}:!t.ctrl&&!t.meta&&!t.shift&&t.name==="s"?{kind:"dump-to-scrollback"}:!t.ctrl&&!t.meta&&t.name==="n"?i===0?{kind:"none"}:{kind:"search-match-nav",direction:t.shift?"prev":"next"}:{kind:"none"}:{kind:"none"}}o(uR,"resolveTranscriptKeyboardAction");function dR(e){switch(e.action.kind){case"none":return!1;case"scroll-page-up":return e.hasTranscript&&(e.disarmHistorySearchSelection(),e.scrollTranscriptBy(e.pageScrollDelta)),!0;case"close-history-search":return e.closeHistorySearchSurface(),!0;case"history-search-backspace":return e.backspaceHistorySearchQuery(),!0;case"history-search-step":return e.stepHistorySearchSelection(e.action.direction),!0;case"history-search-submit":return e.submitHistorySearchSelection(),!0;case"history-search-append":return e.appendHistorySearchQuery(e.action.text),!0;case"open-history-search":return e.openHistorySearchSurface(),!0;case"clear-selection-focus":return e.clearTranscriptSelectionFocus(),!0;case"exit-transcript":return e.exitTranscriptModeSurface(),!0;case"toggle-show-all":return e.toggleTranscriptShowAll(),!0;case"scroll-home":case"jump-oldest":return e.disarmHistorySearchSelection(),e.scrollTranscriptHome(),!0;case"scroll-page-down":return e.disarmHistorySearchSelection(),e.scrollTranscriptBy(-e.pageScrollDelta),!0;case"scroll-end":return e.isTranscriptMode?(e.exitTranscriptModeSurface(),!0):(e.scrollTranscriptToBottom(),!0);case"scroll-line-down":return e.disarmHistorySearchSelection(),e.scrollTranscriptBy(-1),!0;case"scroll-line-up":return e.disarmHistorySearchSelection(),e.scrollTranscriptBy(1),!0;case"jump-latest":return e.scrollTranscriptToBottom(),!0;case"cycle-selection":return e.cycleTranscriptSelection(e.action.direction),!0;case"copy-selection":return e.copySelectedTranscriptText(),!0;case"copy-item":return e.copySelectedTranscriptItem(),!0;case"copy-tool-input":return e.copySelectedTranscriptToolInput(),!0;case"toggle-detail":return e.toggleSelectedTranscriptDetail(),!0;case"search-match-nav":return e.navigateSearchMatch(e.action.direction),!0;case"dump-to-scrollback":return e.dumpTranscriptToScrollback(),!0;default:return!1}}o(dR,"executeTranscriptKeyboardAction");function Vo(e){let t=/\u001b\[[0-9;?]*[ -/]*[@-~]/g,n=/\u001b\][^\u0007\u001b]*(?:\u0007|\u001b\\)/g,r=/\u001b[@-_]/g;return e.replace(t,"").replace(n,"").replace(r,"")}o(Vo,"stripAnsi");function uN(e){return e.tools.map(n=>`tool: ${n.name}`).join(`
|
|
100
|
-
`)}o(uN,"serializeToolGroup");function dN(e){switch(e.type){case"thinking":return null;case"user":return`user: ${Vo(e.text)}`;case"assistant":return`assistant: ${Vo(e.text)}`;case"system":return`system: ${Vo(e.text)}`;case"info":return`info: ${Vo(e.text)}`;case"error":return`error: ${Vo(e.text)}`;case"event":return`event: ${Vo(e.text)}`;case"hint":return`hint: ${Vo(e.text)}`;case"sidecar":return`sidecar: ${Vo(e.text)}`;case"tool_group":return uN(e);default:return e}}o(dN,"serializeOne");function fN(e){let t=[];for(let n of e){let r=dN(n);r!==null&&r!==""&&t.push(r)}return t.join(`
|
|
101
|
-
|
|
102
|
-
`)}o(fN,"serializeTranscriptForScrollback");function fR(e){let{items:t,writeToScrollback:n,exitAltScreen:r,enterAltScreen:i}=e,s=fN(t);r(),s.length>0&&n(`${s}
|
|
103
|
-
`),i()}o(fR,"dumpTranscriptToNativeScrollback");var $a={committed:[],width:0,hasBanner:!1};function pR(e,t,n){let r=e.bannerSection!==null,i=e.bannerSection!==null?[e.bannerSection,...e.finalizedSections]:[...e.finalizedSections],s=i.map(t),a={committed:s,width:e.width,hasBanner:r},c=o(f=>({plan:{kind:"rebuild",sections:i,reason:f},nextState:a}),"rebuild"),l=n.committed.length>0;if(l&&n.width!==e.width)return c("width-change");if(l&&n.hasBanner!==r)return c("banner-change");let d=Math.min(n.committed.length,s.length);for(let f=0;f<d;f++){let p=r&&f===0;if(n.committed[f].key!==s[f].key)return c(p?"banner-change":"key-order-change");if(n.committed[f].fingerprint!==s[f].fingerprint)return c(p?"banner-change":"fingerprint-change")}return s.length<n.committed.length?c("source-rewrite"):s.length===n.committed.length?{plan:{kind:"none"},nextState:a}:{plan:{kind:"append",sections:i.slice(n.committed.length)},nextState:a}}o(pR,"planInlineScrollback");import{jsx as HR}from"react/jsx-runtime";import iB from"yoga-layout";import{LegacyRoot as sB}from"react-reconciler/constants.js";import HN from"react-reconciler";import{DefaultEventPriority as WN,NoEventPriority as AR}from"react-reconciler/constants.js";import*as Ko from"scheduler";import RR from"yoga-layout";import{createContext as FN}from"react";import kN from"yoga-layout";import pN from"widest-line";var mR=new Map,mN=o(e=>{if(e.length===0)return{width:0,height:0};let t=mR.get(e);if(t)return t;let n=pN(e),r=e.split(`
|
|
104
|
-
`).length,i={width:n,height:r};return mR.set(e,i),i},"measureText"),iy=mN;import hN from"wrap-ansi";import gN from"cli-truncate";var hR={},yN=o((e,t,n)=>{let r=e+String(t)+String(n),i=hR[r];if(i)return i;let s=e;if(n==="wrap"&&(s=hN(e,t,{trim:!1,hard:!0})),n.startsWith("truncate")){let a="end";n==="truncate-middle"&&(a="middle"),n==="truncate-start"&&(a="start"),s=gN(e,t,{position:a})}return hR[r]=s,s},"wrapText"),$p=yN;var xN=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=63},"isCsiParameterCharacter"),SN=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isCsiIntermediateCharacter"),wN=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=64&&t<=126},"isCsiFinalCharacter"),xR=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isEscapeIntermediateCharacter"),TN=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=126},"isEscapeFinalCharacter"),SR=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=128&&t<=159},"isC1ControlCharacter"),gR=o((e,t)=>{let n=t;for(;n<e.length;){let c=e[n];if(!xN(c))break;n++}let r=e.slice(t,n),i=n;for(;n<e.length;){let c=e[n];if(!SN(c))break;n++}let s=e.slice(i,n),a=e[n];if(!(a===void 0||!wN(a)))return{endIndex:n+1,parameterString:r,intermediateString:s,finalCharacter:a}},"readCsiSequence"),yR=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"),CN=o((e,t)=>{let n=t;for(;n<e.length;){let s=e[n];if(!xR(s))break;n++}let r=e.slice(t,n),i=e[n];if(!(i===void 0||!TN(i)))return{endIndex:n+1,intermediateString:r,finalCharacter:i}},"readEscapeSequence"),IN=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"),bN=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"),sy=o(e=>{if(e.includes("\x1B"))return!0;for(let t of e)if(SR(t))return!0;return!1},"hasAnsiControlCharacters"),Da=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"),wR=o(e=>{if(!sy(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 Da(t,e,n,r);if(a==="["){let d=gR(e,r+2);if(d===void 0)return Da(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=IN(a);if(c!==void 0){let d=yR(e,r+2,c.allowBellTerminator);if(d===void 0)return Da(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=CN(e,r+1);if(l===void 0){if(xR(a))return Da(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=gR(e,r+1);if(a===void 0)return Da(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=bN(i);if(s!==void 0){let a=yR(e,r+1,s.allowBellTerminator);if(a===void 0)return Da(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(SR(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 vN=/^[\d:;]*$/,RN=o(e=>{if(!sy(e))return e;let t="";for(let n of wR(e)){if(n.type==="text"||n.type==="osc"){t+=n.value;continue}n.type==="csi"&&n.finalCharacter==="m"&&n.intermediateString===""&&vN.test(n.parameterString)&&(t+=n.value)}return t},"sanitizeAnsi"),TR=RN;var CR=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=CR(r)),i.length>0&&typeof r.internal_transform=="function"&&(i=r.internal_transform(i,n))),t+=i}return TR(t)},"squashTextNodes"),Dl=CR;var Dp=o(e=>{let t={nodeName:e,style:{},attributes:{},childNodes:[],parentNode:void 0,yogaNode:e==="ink-virtual-text"?void 0:kN.Node.create(),internal_accessibility:{}};return e==="ink-text"&&t.yogaNode?.setMeasureFunc(EN.bind(null,t)),t},"createNode"),Op=o((e,t)=>{t.parentNode&&Ol(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")&&Np(e)},"appendChildNode"),ay=o((e,t,n)=>{t.parentNode&&Ol(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")&&Np(e)},"insertBeforeNode"),Ol=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")&&Np(e)},"removeChildNode"),cy=o((e,t,n)=>{if(t==="internal_accessibility"){e.internal_accessibility=n;return}e.attributes[t]=n},"setAttribute"),ly=o((e,t)=>{e.style=t},"setStyle"),IR=o(e=>{let t={nodeName:"#text",nodeValue:e,yogaNode:void 0,parentNode:void 0,style:{}};return Nl(t,e),t},"createTextNode"),EN=o(function(e,t){let n=e.nodeName==="#text"?e.nodeValue:Dl(e),r=iy(n);if(r.width<=t||r.width>=1&&t>0&&t<1)return r;let i=e.style?.textWrap??"wrap",s=$p(n,t,i);return iy(s)},"measureTextNode"),bR=o(e=>{if(e?.parentNode)return e.yogaNode??bR(e.parentNode)},"findClosestYogaNode"),Np=o(e=>{bR(e)?.markDirty()},"markNodeAsDirty"),Nl=o((e,t)=>{typeof t!="string"&&(t=String(t)),e.nodeValue=t,Np(e)},"setTextNodeValue");import Ae from"yoga-layout";var MN=o((e,t)=>{"position"in t&&e.setPositionType(t.position==="absolute"?Ae.POSITION_TYPE_ABSOLUTE:Ae.POSITION_TYPE_RELATIVE)},"applyPositionStyles"),AN=o((e,t)=>{"margin"in t&&e.setMargin(Ae.EDGE_ALL,t.margin??0),"marginX"in t&&e.setMargin(Ae.EDGE_HORIZONTAL,t.marginX??0),"marginY"in t&&e.setMargin(Ae.EDGE_VERTICAL,t.marginY??0),"marginLeft"in t&&e.setMargin(Ae.EDGE_START,t.marginLeft||0),"marginRight"in t&&e.setMargin(Ae.EDGE_END,t.marginRight||0),"marginTop"in t&&e.setMargin(Ae.EDGE_TOP,t.marginTop||0),"marginBottom"in t&&e.setMargin(Ae.EDGE_BOTTOM,t.marginBottom||0)},"applyMarginStyles"),_N=o((e,t)=>{"padding"in t&&e.setPadding(Ae.EDGE_ALL,t.padding??0),"paddingX"in t&&e.setPadding(Ae.EDGE_HORIZONTAL,t.paddingX??0),"paddingY"in t&&e.setPadding(Ae.EDGE_VERTICAL,t.paddingY??0),"paddingLeft"in t&&e.setPadding(Ae.EDGE_LEFT,t.paddingLeft||0),"paddingRight"in t&&e.setPadding(Ae.EDGE_RIGHT,t.paddingRight||0),"paddingTop"in t&&e.setPadding(Ae.EDGE_TOP,t.paddingTop||0),"paddingBottom"in t&&e.setPadding(Ae.EDGE_BOTTOM,t.paddingBottom||0)},"applyPaddingStyles"),LN=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(Ae.WRAP_NO_WRAP),t.flexWrap==="wrap"&&e.setFlexWrap(Ae.WRAP_WRAP),t.flexWrap==="wrap-reverse"&&e.setFlexWrap(Ae.WRAP_WRAP_REVERSE)),"flexDirection"in t&&(t.flexDirection==="row"&&e.setFlexDirection(Ae.FLEX_DIRECTION_ROW),t.flexDirection==="row-reverse"&&e.setFlexDirection(Ae.FLEX_DIRECTION_ROW_REVERSE),t.flexDirection==="column"&&e.setFlexDirection(Ae.FLEX_DIRECTION_COLUMN),t.flexDirection==="column-reverse"&&e.setFlexDirection(Ae.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in t&&(typeof t.flexBasis=="number"?e.setFlexBasis(t.flexBasis):typeof t.flexBasis=="string"?e.setFlexBasisPercent(Number.parseInt(t.flexBasis,10)):e.setFlexBasis(Number.NaN)),"alignItems"in t&&((t.alignItems==="stretch"||!t.alignItems)&&e.setAlignItems(Ae.ALIGN_STRETCH),t.alignItems==="flex-start"&&e.setAlignItems(Ae.ALIGN_FLEX_START),t.alignItems==="center"&&e.setAlignItems(Ae.ALIGN_CENTER),t.alignItems==="flex-end"&&e.setAlignItems(Ae.ALIGN_FLEX_END)),"alignSelf"in t&&((t.alignSelf==="auto"||!t.alignSelf)&&e.setAlignSelf(Ae.ALIGN_AUTO),t.alignSelf==="flex-start"&&e.setAlignSelf(Ae.ALIGN_FLEX_START),t.alignSelf==="center"&&e.setAlignSelf(Ae.ALIGN_CENTER),t.alignSelf==="flex-end"&&e.setAlignSelf(Ae.ALIGN_FLEX_END)),"justifyContent"in t&&((t.justifyContent==="flex-start"||!t.justifyContent)&&e.setJustifyContent(Ae.JUSTIFY_FLEX_START),t.justifyContent==="center"&&e.setJustifyContent(Ae.JUSTIFY_CENTER),t.justifyContent==="flex-end"&&e.setJustifyContent(Ae.JUSTIFY_FLEX_END),t.justifyContent==="space-between"&&e.setJustifyContent(Ae.JUSTIFY_SPACE_BETWEEN),t.justifyContent==="space-around"&&e.setJustifyContent(Ae.JUSTIFY_SPACE_AROUND),t.justifyContent==="space-evenly"&&e.setJustifyContent(Ae.JUSTIFY_SPACE_EVENLY))},"applyFlexStyles"),PN=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"),$N=o((e,t)=>{"display"in t&&e.setDisplay(t.display==="flex"?Ae.DISPLAY_FLEX:Ae.DISPLAY_NONE)},"applyDisplayStyles"),DN=o((e,t)=>{if("borderStyle"in t){let n=t.borderStyle?1:0;t.borderTop!==!1&&e.setBorder(Ae.EDGE_TOP,n),t.borderBottom!==!1&&e.setBorder(Ae.EDGE_BOTTOM,n),t.borderLeft!==!1&&e.setBorder(Ae.EDGE_LEFT,n),t.borderRight!==!1&&e.setBorder(Ae.EDGE_RIGHT,n)}},"applyBorderStyles"),ON=o((e,t)=>{"gap"in t&&e.setGap(Ae.GUTTER_ALL,t.gap??0),"columnGap"in t&&e.setGap(Ae.GUTTER_COLUMN,t.columnGap??0),"rowGap"in t&&e.setGap(Ae.GUTTER_ROW,t.rowGap??0)},"applyGapStyles"),NN=o((e,t={})=>{MN(e,t),AN(e,t),_N(e,t),LN(e,t),PN(e,t),$N(e,t),DN(e,t),ON(e,t)},"styles"),uy=NN;import BN from"node:process";var vR=o(()=>BN.env.DEV==="true","isDev");if(vR())try{await import("./devtools-XR5F2C6T.js")}catch(e){if(e.code==="ERR_MODULE_NOT_FOUND")console.warn(`
|
|
105
|
-
The environment variable DEV is set to true, so Ink tried to import \`react-devtools-core\`,
|
|
106
|
-
but this failed as it was not installed. Debugging with React Devtools requires it.
|
|
107
|
-
|
|
108
|
-
To install use this command:
|
|
109
|
-
|
|
110
|
-
$ npm install --save-dev react-devtools-core
|
|
111
|
-
`.trim()+`
|
|
112
|
-
`);else throw e}var kR=o((e,t)=>{if(e===t)return;if(!e)return t;let n={},r=!1;for(let i of Object.keys(e))(!t||!Object.hasOwn(t,i))&&(n[i]=void 0,r=!0);if(t)for(let i of Object.keys(t))t[i]!==e[i]&&(n[i]=t[i],r=!0);return r?n:void 0},"diff"),ER=o(e=>{e?.unsetMeasureFunc(),e?.freeRecursive()},"cleanupYogaNode"),Bp=AR,dy,MR={name:void 0,version:void 0},Oa=HN({getRootHostContext:o(()=>({isInsideText:!1}),"getRootHostContext"),prepareForCommit:o(()=>null,"prepareForCommit"),preparePortalMount:o(()=>null,"preparePortalMount"),clearContainer:o(()=>!1,"clearContainer"),resetAfterCommit(e){if(typeof e.onComputeLayout=="function"&&e.onComputeLayout(),e.isStaticDirty){e.isStaticDirty=!1,typeof e.onImmediateRender=="function"&&e.onImmediateRender();return}typeof e.onRender=="function"&&e.onRender()},getChildHostContext(e,t){let n=e.isInsideText,r=t==="ink-text"||t==="ink-virtual-text";return n===r?e:{isInsideText:r}},shouldSetTextContent:o(()=>!1,"shouldSetTextContent"),createInstance(e,t,n,r){if(r.isInsideText&&e==="ink-box")throw new Error("<Box> can\u2019t be nested inside <Text> component");let i=e==="ink-text"&&r.isInsideText?"ink-virtual-text":e,s=Dp(i);for(let[a,c]of Object.entries(t))if(a!=="children"){if(a==="style"){ly(s,c),s.yogaNode&&uy(s.yogaNode,c);continue}if(a==="internal_transform"){s.internal_transform=c;continue}if(a==="internal_static"){dy=n,s.internal_static=!0,n.isStaticDirty=!0,n.staticNode=s;continue}cy(s,a,c)}return s},createTextInstance(e,t,n){if(!n.isInsideText)throw new Error(`Text string "${e}" must be rendered inside <Text> component`);return IR(e)},resetTextContent(){},hideTextInstance(e){Nl(e,"")},unhideTextInstance(e,t){Nl(e,t)},getPublicInstance:o(e=>e,"getPublicInstance"),hideInstance(e){e.yogaNode?.setDisplay(RR.DISPLAY_NONE)},unhideInstance(e){e.yogaNode?.setDisplay(RR.DISPLAY_FLEX)},appendInitialChild:Op,appendChild:Op,insertBefore:ay,finalizeInitialChildren(){return!1},isPrimaryRenderer:!0,supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,supportsMicrotasks:!0,scheduleMicrotask:queueMicrotask,scheduleCallback:Ko.unstable_scheduleCallback,cancelCallback:Ko.unstable_cancelCallback,shouldYield:Ko.unstable_shouldYield,now:Ko.unstable_now,scheduleTimeout:setTimeout,cancelTimeout:clearTimeout,noTimeout:-1,beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},detachDeletedInstance(){},getInstanceFromNode:o(()=>null,"getInstanceFromNode"),prepareScopeUpdate(){},getInstanceFromScope:o(()=>null,"getInstanceFromScope"),appendChildToContainer:Op,insertInContainerBefore:ay,removeChildFromContainer(e,t){Ol(e,t),ER(t.yogaNode)},commitUpdate(e,t,n,r){dy&&e.internal_static&&(dy.isStaticDirty=!0);let i=kR(n,r),s=kR(n.style,r.style);if(!(!i&&!s)){if(i)for(let[a,c]of Object.entries(i)){if(a==="style"){ly(e,c);continue}if(a==="internal_transform"){e.internal_transform=c;continue}if(a==="internal_static"){e.internal_static=!0;continue}cy(e,a,c)}s&&e.yogaNode&&uy(e.yogaNode,s)}},commitTextUpdate(e,t,n){Nl(e,n)},removeChild(e,t){Ol(e,t),ER(t.yogaNode)},setCurrentUpdatePriority(e){Bp=e},getCurrentUpdatePriority:o(()=>Bp,"getCurrentUpdatePriority"),resolveUpdatePriority(){return Bp!==AR?Bp:WN},maySuspendCommit(){return!0},NotPendingTransition:void 0,HostTransitionContext:FN(null),resetFormInstance(){},requestPostPaintCallback(){},shouldAttemptEagerTransition(){return!1},trackSchedulerEvent(){},resolveEventType(){return null},resolveEventTimeStamp(){return-1.1},preloadInstance(){return!0},startSuspendingCommit(){},suspendInstance(){},waitForCommitToBeReady(){return null},rendererPackageName:MR.name,rendererVersion:MR.version});import qN from"widest-line";import QN from"indent-string";import zo from"yoga-layout";import Hp from"yoga-layout";var jN=o(e=>e.getComputedWidth()-e.getComputedPadding(Hp.EDGE_LEFT)-e.getComputedPadding(Hp.EDGE_RIGHT)-e.getComputedBorder(Hp.EDGE_LEFT)-e.getComputedBorder(Hp.EDGE_RIGHT),"getMaxWidth"),_R=jN;import zN from"cli-boxes";import Wp from"chalk";import co from"chalk";var UN=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,GN=/^ansi256\(\s?(\d+)\s?\)$/,VN=o(e=>e in co,"isNamedColor"),KN=o((e,t,n)=>{if(!t)return e;if(VN(t)){if(n==="foreground")return co[t](e);let r=`bg${t[0].toUpperCase()+t.slice(1)}`;return co[r](e)}if(t.startsWith("#"))return n==="foreground"?co.hex(t)(e):co.bgHex(t)(e);if(t.startsWith("ansi256")){let r=GN.exec(t);if(!r)return e;let i=Number(r[1]);return n==="foreground"?co.ansi256(i)(e):co.bgAnsi256(i)(e)}if(t.startsWith("rgb")){let r=UN.exec(t);if(!r)return e;let i=Number(r[1]),s=Number(r[2]),a=Number(r[3]);return n==="foreground"?co.rgb(i,s,a)(e):co.bgRgb(i,s,a)(e)}return e},"colorize"),Ui=KN;var YN=o((e,t,n,r)=>{if(n.style.borderStyle){let i=n.yogaNode.getComputedWidth(),s=n.yogaNode.getComputedHeight(),a=typeof n.style.borderStyle=="string"?zN[n.style.borderStyle]:n.style.borderStyle,c=n.style.borderTopColor??n.style.borderColor,l=n.style.borderBottomColor??n.style.borderColor,d=n.style.borderLeftColor??n.style.borderColor,f=n.style.borderRightColor??n.style.borderColor,p=n.style.borderTopDimColor??n.style.borderDimColor,h=n.style.borderBottomDimColor??n.style.borderDimColor,g=n.style.borderLeftDimColor??n.style.borderDimColor,T=n.style.borderRightDimColor??n.style.borderDimColor,v=n.style.borderTop!==!1,C=n.style.borderBottom!==!1,S=n.style.borderLeft!==!1,w=n.style.borderRight!==!1,M=i-(S?1:0)-(w?1:0),L=v?Ui((S?a.topLeft:"")+a.top.repeat(M)+(w?a.topRight:""),c,"foreground"):void 0;v&&p&&(L=Wp.dim(L));let A=s;v&&(A-=1),C&&(A-=1);let H=(Ui(a.left,d,"foreground")+`
|
|
113
|
-
`).repeat(A);g&&(H=Wp.dim(H));let K=(Ui(a.right,f,"foreground")+`
|
|
114
|
-
`).repeat(A);T&&(K=Wp.dim(K));let W=C?Ui((S?a.bottomLeft:"")+a.bottom.repeat(M)+(w?a.bottomRight:""),l,"foreground"):void 0;C&&h&&(W=Wp.dim(W));let ne=v?1:0;L&&r.write(e,t,L,{transformers:[]}),S&&r.write(e,t+ne,H,{transformers:[]}),w&&r.write(e+i-1,t+ne,K,{transformers:[]}),W&&r.write(e,t+s-1,W,{transformers:[]})}},"renderBorder"),LR=YN;var XN=o((e,t,n,r)=>{if(!n.style.backgroundColor)return;let i=n.yogaNode.getComputedWidth(),s=n.yogaNode.getComputedHeight(),a=n.style.borderStyle&&n.style.borderLeft!==!1?1:0,c=n.style.borderStyle&&n.style.borderRight!==!1?1:0,l=n.style.borderStyle&&n.style.borderTop!==!1?1:0,d=n.style.borderStyle&&n.style.borderBottom!==!1?1:0,f=i-a-c,p=s-l-d;if(!(f>0&&p>0))return;let h=Ui(" ".repeat(f),n.style.backgroundColor,"background");for(let g=0;g<p;g++)r.write(e+a,t+l+g,h,{transformers:[]})},"renderBackground"),PR=XN;var JN=o((e,t)=>{let n=e.childNodes[0]?.yogaNode;if(n){let r=n.getComputedLeft(),i=n.getComputedTop();t=`
|
|
115
|
-
`.repeat(i)+QN(t,r)}return t},"applyPaddingToText"),Fp=o((e,t={})=>{if(t.skipStaticElements&&e.internal_static||e.yogaNode?.getDisplay()===zo.DISPLAY_NONE)return"";let n="";if(e.nodeName==="ink-text")n=Dl(e);else if(e.nodeName==="ink-box"||e.nodeName==="ink-root"){let r=e.style.flexDirection==="row"||e.style.flexDirection==="row-reverse"?" ":`
|
|
116
|
-
`;n=(e.style.flexDirection==="row-reverse"||e.style.flexDirection==="column-reverse"?[...e.childNodes].reverse():[...e.childNodes]).map(s=>Fp(s,{parentRole:e.internal_accessibility?.role,skipStaticElements:t.skipStaticElements})).filter(Boolean).join(r)}if(e.internal_accessibility){let{role:r,state:i}=e.internal_accessibility;if(i){let a=Object.keys(i).filter(c=>i[c]).join(", ");a&&(n=`(${a}) ${n}`)}r&&r!==t.parentRole&&(n=`${r}: ${n}`)}return n},"renderNodeToScreenReaderOutput"),fy=null,py=null;function $R(){fy=null,py=null}o($R,"resetScrollHint");function DR(){return fy}o(DR,"getScrollHint");function OR(){return py}o(OR,"getScrollRepaint");var NR=o((e,t,n)=>{let{offsetX:r=0,offsetY:i=0,transformers:s=[],skipStaticElements:a}=n;if(a&&e.internal_static)return;let{yogaNode:c}=e;if(c){if(c.getDisplay()===zo.DISPLAY_NONE)return;let l=r+c.getComputedLeft(),d=i+c.getComputedTop(),f=s;if(typeof e.internal_transform=="function"&&(f=[e.internal_transform,...s]),e.nodeName==="ink-text"){let g=Dl(e);if(g.length>0){let T=qN(g),v=_R(c);if(T>v){let C=e.style.textWrap??"wrap";g=$p(g,v,C)}g=JN(e,g),t.write(l,d,g,{transformers:f})}return}let p=!1,h=0;if(e.nodeName==="ink-box"){PR(l,d,e,t),LR(l,d,e,t);let g=e.style.overflowX??e.style.overflow,T=e.style.overflowY??e.style.overflow,v=g==="hidden"||g==="scroll",C=T==="hidden"||T==="scroll";if(T==="scroll"){let S=c.getComputedBorder(zo.EDGE_TOP),w=c.getComputedBorder(zo.EDGE_BOTTOM),M=Math.max(0,c.getComputedHeight()-S-w),L=e.attributes?.virtualScrollWindowed===!0,A=e.childNodes[0],H=Math.max(0,Math.floor(L?e.attributes?.scrollHeight??0:A?.yogaNode?.getComputedHeight()??e.attributes?.scrollHeight??0)),K=typeof e.scrollHeight=="number"?e.scrollHeight:H,W=sf({rawScrollTop:e.scrollTop??e.attributes?.scrollTop??0,contentHeight:H,viewportHeight:M,previousScrollHeight:K,stickyScroll:e.stickyScroll??!!e.attributes?.stickyScroll,clampMin:e.attributes?.scrollClampMin,clampMax:e.attributes?.scrollClampMax,virtualScrollWindowed:L,inWindowScrollTop:e.attributes?.inWindowScrollTop,previousAppliedScrollTop:e.appliedScrollTop,regionTop:d+S});e.scrollHeight=W.scrollHeight,e.scrollViewportHeight=M,e.scrollViewportTop=W.viewportTop,e.appliedScrollTop=W.appliedScrollTop,W.scrollHint&&(fy=W.scrollHint,Math.trunc(Number(e.attributes?.pendingScrollDelta??0))!==0&&(py={top:W.scrollHint.top,bottom:W.scrollHint.bottom})),e.attributes&&e.attributes.pendingScrollDelta&&(e.attributes.pendingScrollDelta=0),e.scrollTop=W.scrollTop,h=W.scrollOffsetY}if(v||C){let S=v?l+c.getComputedBorder(zo.EDGE_LEFT):void 0,w=v?l+c.getComputedWidth()-c.getComputedBorder(zo.EDGE_RIGHT):void 0,M=C?d+c.getComputedBorder(zo.EDGE_TOP):void 0,L=C?d+c.getComputedHeight()-c.getComputedBorder(zo.EDGE_BOTTOM):void 0;t.clip({x1:S,x2:w,y1:M,y2:L}),p=!0}}if(e.nodeName==="ink-root"||e.nodeName==="ink-box"){for(let g of e.childNodes)NR(g,t,{offsetX:l,offsetY:d-h,transformers:f,skipStaticElements:a});p&&t.unclip()}}},"renderNodeToOutput"),my=NR;import ZN from"slice-ansi";import eB from"string-width";import{styledCharsFromTokens as tB,styledCharsToString as nB,tokenize as rB}from"@alcalzone/ansi-tokenize";var hy=class{static{o(this,"OutputCaches")}widths=new Map;blockWidths=new Map;styledChars=new Map;getStyledChars(t){let n=this.styledChars.get(t);return n===void 0&&(n=tB(rB(t)),this.styledChars.set(t,n)),n}getStringWidth(t){let n=this.widths.get(t);return n===void 0&&(n=eB(t),this.widths.set(t,n)),n}getWidestLine(t){let n=this.blockWidths.get(t);if(n===void 0){let r=0;for(let i of t.split(`
|
|
117
|
-
`))r=Math.max(r,this.getStringWidth(i));n=r,this.blockWidths.set(t,n)}return n}},Na=class{static{o(this,"Output")}width;height;operations=[];caches=new hy;constructor(t){let{width:n,height:r}=t;this.width=n,this.height=r}write(t,n,r,i){let{transformers:s}=i;r&&this.operations.push({type:"write",x:t,y:n,text:r,transformers:s})}clip(t){this.operations.push({type:"clip",clip:t})}unclip(){this.operations.push({type:"unclip"})}getGrid(){let t=[];for(let r=0;r<this.height;r++){let i=[];for(let s=0;s<this.width;s++)i.push({type:"char",value:" ",fullWidth:!1,styles:[]});t.push(i)}let n=[];for(let r of this.operations)if(r.type==="clip"&&n.push(r.clip),r.type==="unclip"&&n.pop(),r.type==="write"){let{text:i,transformers:s}=r,{x:a,y:c}=r,l=i.split(`
|
|
118
|
-
`),d=n.at(-1);if(d){let p=typeof d?.x1=="number"&&typeof d?.x2=="number",h=typeof d?.y1=="number"&&typeof d?.y2=="number";if(p){let g=this.caches.getWidestLine(i);if(a+g<d.x1||a>d.x2)continue}if(h){let g=l.length;if(c+g<d.y1||c>d.y2)continue}if(p&&(l=l.map(g=>{let T=a<d.x1?d.x1-a:0,v=this.caches.getStringWidth(g),C=a+v>d.x2?d.x2-a:v;return ZN(g,T,C)}),a<d.x1&&(a=d.x1)),h){let g=c<d.y1?d.y1-c:0,T=l.length,v=c+T>d.y2?d.y2-c:T;l=l.slice(g,v),c<d.y1&&(c=d.y1)}}let f=0;for(let[p,h]of l.entries()){let g=t[c+f];if(!g)continue;for(let C of s)h=C(h,p);let T=this.caches.getStyledChars(h),v=a;for(let C of T){g[v]=C;let S=Math.max(1,this.caches.getStringWidth(C.value));if(S>1)for(let w=1;w<S;w++)g[v+w]={type:"char",value:"",fullWidth:!1,styles:C.styles};v+=S}f++}}return t}get(){let t=this.getGrid();return{output:t.map(r=>{let i=r.filter(s=>s!==void 0);return nB(i).trimEnd()}).join(`
|
|
119
|
-
`),height:t.length}}};var oB=o((e,t,n)=>{if(e.yogaNode){if(t){let p=Fp(e,{skipStaticElements:!0}),h=p===""?0:p.split(`
|
|
120
|
-
`).length,g="";return e.staticNode&&(g=Fp(e.staticNode,{skipStaticElements:!1})),{output:p,outputHeight:h,staticOutput:g?`${g}
|
|
121
|
-
`:"",frame:void 0}}let r=new Na({width:e.yogaNode.getComputedWidth(),height:e.yogaNode.getComputedHeight()});$R(),my(e,r,{skipStaticElements:!0});let i;e.staticNode?.yogaNode&&(i=new Na({width:e.staticNode.yogaNode.getComputedWidth(),height:e.staticNode.yogaNode.getComputedHeight()}),my(e.staticNode,i,{skipStaticElements:!1}));let{output:s,height:a}=r.get(),c=lf(r),l=n?.columns??e.yogaNode.getComputedWidth(),d=n?.rows??e.yogaNode.getComputedHeight(),f={screen:c,viewport:{width:l,height:d},cursor:{x:0,y:c.height,visible:!0},scrollHint:DR(),scrollRepaint:OR()};return{output:s,outputHeight:a,staticOutput:i?`${i.get().output}
|
|
122
|
-
`:"",frame:f}}return{output:"",outputHeight:0,staticOutput:"",frame:void 0}},"renderer"),gy=oB;var aB=o((e,t)=>{let n=t?.columns??80,r=Dp("ink-root"),i="";r.onComputeLayout=()=>{r.yogaNode.setWidth(n),r.yogaNode.calculateLayout(void 0,void 0,iB.DIRECTION_LTR)},r.onImmediateRender=()=>{let{staticOutput:l}=gy(r,!1);l&&l!==`
|
|
123
|
-
`&&(i+=l)};let s,a=Oa.createContainer(r,sB,null,!1,null,"render-to-string",l=>{s??=l},()=>{},()=>{},()=>{}),c=!1;try{Oa.updateContainerSync(e,a,null,()=>{}),Oa.flushSyncWork();let{output:l}=gy(r,!1);if(Oa.updateContainerSync(null,a,null,()=>{}),Oa.flushSyncWork(),c=!0,r.yogaNode.free(),s!==void 0)throw s instanceof Error?s:new Error(String(s));let d=i.endsWith(`
|
|
124
|
-
`)?i.slice(0,-1):i;return d&&l?d+`
|
|
125
|
-
`+l:d||l}finally{if(!c&&r.yogaNode)try{r.yogaNode.freeRecursive()}catch{}}},"renderToString"),BR=aB;var cB="\x1B[0m";function WR(e,t){if(e.length===0)return"";let n=HR(E,{flexDirection:"column",children:e.map(s=>HR(mg,{section:s,theme:t.theme,animateSpinners:!1},s.key))}),r=BR(n,{columns:t.width});return(r.endsWith(`
|
|
126
|
-
`)?r.slice(0,-1):r)+cB+`
|
|
127
|
-
`}o(WR,"renderFinalizedSectionsToScrollbackText");function FR(e){return e.enabled&&!e.useRendererViewportShell&&!e.isTranscriptMode&&e.hasCommitHandle}o(FR,"isInlineLedgerActive");function jR(e){if(!e.active)return{kind:"reset"};if(!e.hasCommitHandle)return{kind:"skip"};let t=!e.wasActive,n=t?$a:e.prior,{plan:r,nextState:i}=pR({bannerSection:e.bannerSection??null,finalizedSections:e.finalizedSections,width:e.width},e.identify??Mb,n);return t?r.kind==="none"?e.forceRebuild?{kind:"commit",mode:"rebuild",sections:e.finalizedSections,nextState:i}:{kind:"noop",nextState:i}:{kind:"commit",mode:e.forceRebuild?"rebuild":"append",sections:r.sections,nextState:i}:r.kind==="none"?{kind:"noop",nextState:i}:{kind:"commit",mode:r.kind,sections:r.sections,nextState:i}}o(jR,"computeInlineLedgerStep");function UR(e,t,n){return e.kind==="noop"?{state:e.nextState,wasActive:!0,owns:n}:e.kind==="commit"?t.committed?{state:e.nextState,wasActive:!0,owns:t.hadContent}:{state:$a,wasActive:!1,owns:!0}:{state:$a,wasActive:!1,owns:n}}o(UR,"resolveInlineLedgerState");function GR(e,t){return t?{...e,staticSections:[]}:e}o(GR,"gateInlinePromptModel");function lB(e){switch(e.type){case"tool_group":return e.tools.map(t=>{let n=[t.name];return typeof t.output=="string"&&n.push($t(t.output)),t.error&&n.push($t(t.error)),n.join(`
|
|
128
|
-
`)}).join(`
|
|
129
|
-
`);case"assistant":case"user":case"system":case"thinking":case"error":case"info":case"hint":return $t(e.text);default:return""}}o(lB,"buildSearchText");function uB(e,t){let n=e.replace(/\s+/g," ").trim();if(!n)return"";let r=n.toLowerCase(),i=t.toLowerCase(),s=r.indexOf(i);if(s===-1)return n.slice(0,120);let a=Math.max(0,s-40),c=Math.min(n.length,s+t.length+60),l=a>0?"...":"",d=c<n.length?"...":"";return`${l}${n.slice(a,c)}${d}`}o(uB,"buildExcerpt");function VR(e){return e.map((t,n)=>({itemId:t.id,itemIndex:n,searchText:lB(t)}))}o(VR,"createTranscriptSearchIndex");function KR(e,t){let n=t.trim().toLowerCase();return n?e.flatMap(r=>{let i=r.searchText;return i.toLowerCase().includes(n)?[{itemId:r.itemId,itemIndex:r.itemIndex,excerpt:uB(i,t.trim())}]:[]}):[]}o(KR,"searchTranscriptIndex");function yy(e,t,n){return e<=0?0:t<0?n==="next"?0:e-1:n==="next"?(t+1)%e:t<=0?e-1:t-1}o(yy,"stepTranscriptSearchMatch");function zR(e,t){return e.length===0?void 0:t<0?`${e.length} transcript matches`:`${Math.min(Math.max(t,0),e.length-1)+1}/${e.length} transcript matches`}o(zR,"buildTranscriptSearchSummary");function YR(e,t,n){if(t.length===0||!n)return 0;let r=t.findIndex(a=>a.itemId===n);if(r>=0)return r;let i=e.find(a=>a.itemId===n)?.itemIndex;if(i===void 0)return 0;let s=t.findIndex(a=>a.itemIndex>=i);return s>=0?s:0}o(YR,"resolveTranscriptSearchMatchIndex");function XR(e){if(e)switch(e.type){case"assistant":return{summary:"Assistant response",kindLabel:"assistant"};case"user":return{summary:"User prompt",kindLabel:"user"};case"system":return{summary:"System note",kindLabel:"system"};case"thinking":return{summary:"Thinking trace",kindLabel:"thinking"};case"tool_group":return{summary:dB(e),kindLabel:"tool"};case"error":return{summary:"Error entry",kindLabel:"error"};case"info":return{summary:"Info note",kindLabel:"info"};case"hint":return{summary:"Hint",kindLabel:"hint"};default:return{summary:"Transcript entry",kindLabel:"entry"}}}o(XR,"buildTranscriptSelectionSummary");function dB(e){return e.tools.length===1?`Tool call: ${e.tools[0]?.name??"tool"}`:`Tool group: ${e.tools.length} calls`}o(dB,"summarizeToolGroup");function qR(e){return e.map(t=>t.id)}o(qR,"getSelectableTranscriptItemIds");function QR(e,t,n){if(e.length===0)return;if(!t)return n==="next"?e[0]:e[e.length-1];let r=e.indexOf(t);return r===-1?n==="next"?e[0]:e[e.length-1]:n==="next"?e[Math.min(e.length-1,r+1)]:e[Math.max(0,r-1)]}o(QR,"moveTranscriptSelection");function xy(e){if(e)switch(e.type){case"tool_group":return e.tools.map(t=>{let n=[`Tool: ${t.name}`,`Status: ${t.status}`];return t.input&&n.push(`Input: ${JSON.stringify(t.input)}`),typeof t.output=="string"&&t.output.trim()&&n.push(`Output: ${$t(t.output)}`),t.error&&n.push(`Error: ${$t(t.error)}`),n.join(`
|
|
130
|
-
`)}).join(`
|
|
131
|
-
|
|
132
|
-
`);case"assistant":case"user":case"system":case"thinking":case"error":case"info":case"hint":return $t(e.text);default:return}}o(xy,"buildTranscriptCopyText");function JR(e){if(!e||e.type!=="tool_group")return;let t=e.tools.map(n=>{if(!n.input)return;let r=typeof n.input=="string"?n.input:JSON.stringify(n.input,null,2);if(r?.trim())return[`Tool: ${n.name}`,r].join(`
|
|
133
|
-
`)}).filter(n=>!!n);return t.length>0?t.join(`
|
|
134
|
-
|
|
135
|
-
`):void 0}o(JR,"buildTranscriptToolInputCopyText");import{useCallback as Bl,useRef as fB,useState as ZR}from"react";function ek(e){let{state:t,ownsViewport:n,isAwaitingUserInteraction:r,isHistorySearchActive:i,isTranscriptMode:s,historySearchQuery:a}=e,c=Zv(t),l;if(t.supportsStickyPrompt&&t.stickyPromptVisible)if(i){let f=a.trim();l={visible:!0,label:f?`Searching transcript for "${f}"`:"Searching transcript"}}else s?l={visible:!0,label:"Transcript Mode"}:r&&(l={visible:!0,label:"Interaction active"});let d;return n&&t.supportsViewportChrome&&(s&&t.pendingLiveUpdates>0?d={visible:!0,label:t.pendingLiveUpdates===1?"1 new update":`${t.pendingLiveUpdates} new updates`,hint:"Ctrl+O",tone:"accent"}:!s&&t.jumpToLatestAvailable&&(d={visible:!0,label:"Back to live",hint:"End",tone:"accent"})),{browseHintText:c,stickyHeader:l,jumpToLatest:d}}o(ek,"buildTranscriptChromeModel");function tk(e){return Math.max(1,e-2)}o(tk,"resolveTranscriptPageSize");function nk(e){return Math.max(3,Math.floor(e/4))}o(nk,"resolveTranscriptWheelStep");function pB(e,t){return Math.max(0,e+t)}o(pB,"incrementTranscriptScrollOffset");function rk(e,t,n){let r=Math.max(0,t-n);return Math.min(Math.max(0,e),r)}o(rk,"clampTranscriptScrollOffset");function ok(){let e=fB(null),[t,n]=ZR(0),[r,i]=ZR(!0),s=Bl(f=>{n(Math.max(0,f))},[]),a=Bl(f=>{i(f)},[]),c=Bl(f=>{if(e.current){e.current.scrollTo(f);return}n(Math.max(0,f)),i(f===0)},[]),l=Bl(f=>{if(e.current){e.current.scrollBy(f);return}n(p=>pB(p,f)),i(!1)},[]),d=Bl(()=>{if(e.current){e.current.scrollToBottom();return}n(0),i(!0)},[]);return{scrollRef:e,scrollOffset:t,sticky:r,setScrollOffset:n,setSticky:i,handleScrollTopChange:s,handleStickyChange:a,scrollTo:c,scrollBy:l,scrollToBottom:d}}o(ok,"useTranscriptViewportScrollController");function ik(e){let{items:t,renderModel:n,terminalWidth:r,transcriptMaxLines:i,viewportRows:s,itemId:a,visibleRows:c,expandedItemKeys:l,showDetailedTools:d=!1}=e;if(!a||c.length===0)return!1;let p=(n?.sections??ha(t,r,i,d,l)).find(T=>T.key===a);if(!p||p.rows.length===0)return!1;let h=new Set(c.map(T=>T.key)),g=Math.max(0,s??0);return g>0&&p.rows.length<=g?p.rows.every(T=>h.has(T.key)):h.has(p.rows[0]?.key??"")}o(ik,"isTranscriptItemVisible");function sk(e){let{items:t,renderModel:n,terminalWidth:r,transcriptMaxLines:i,viewportRows:s,itemId:a,expandedItemKeys:c,showDetailedTools:l=!1}=e,d=n?.sections??ha(t,r,i,l,c);return Pb(d,a,s)}o(sk,"resolveTranscriptSelectionOffset");function ak(e){let{items:t,renderModel:n,selectedItemId:r,terminalWidth:i=80,transcriptMaxLines:s=1e3,viewportRows:a,scrollOffset:c=0,expandedItemKeys:l,showDetailedTools:d=!1,preferViewportAnchor:f=!1}=e;if(r&&t.some(p=>p.id===r))return r;if(f&&c>0&&a&&a>0){let p=n?.sections??ha(t,i,s,d,l),h=n?.rows??Oi(p),T=dg(h,a,c)[0]?.key,v=T?p.find(C=>C.rows.some(S=>S.key===T)):void 0;if(v?.key)return v.key}return t[t.length-1]?.id}o(ak,"resolveTranscriptSearchAnchorItemId");function ck(e){let t=el(e.stickyHeader),n=bf(t,e.width),r=Math.max(0,e.topChromeRows??0);return{contentWindow:e.window,topOffsetRows:n+r,stickyHeaderRows:n,topChromeRows:r}}o(ck,"resolveTranscriptOwnedWindowGeometry");function mB(e){return e.text===" "?"":$t(e.text)}o(mB,"normalizeTranscriptRowText");function Sy(e){let t=new Map;return e.forEach((n,r)=>{t.set(n.key,r)}),t}o(Sy,"buildTranscriptRowIndexByKey");function hB(e,t={}){let n=Math.max(0,e.indent??0),r=e.spinner&&t.animateSpinners!==!1?2:0;return 1+n+r}o(hB,"resolveTranscriptTextStartColumn");function lk(e,t={}){let n=Math.max(0,t.topOffsetRows??0),r=t.rowIndexByKey??Sy(t.allRows??e),i=e.map((s,a)=>{let c=mB(s),l=hB(s,t),d=Bo(c);return{key:s.key,row:s,modelRowIndex:r.get(s.key)??a,screenRow:n+a+1,text:c,textLength:d,textStartColumn:l,textEndColumn:l+Nb(c)}});return{rows:i,topRow:i[0]?.screenRow??n+1,bottomRow:i[i.length-1]?.screenRow??n,viewportHeight:Math.max(0,t.viewportHeight??e.length)}}o(lk,"buildTranscriptScreenBuffer");function gB(e,t){let n=Math.max(1,Math.floor(t));return Bb(e.text,n-e.textStartColumn)}o(gB,"clampTextColumn");function wy(e,t){return{screenRow:e,point:{rowKey:e.key,modelRowIndex:e.modelRowIndex,column:gB(e,t)}}}o(wy,"toHit");function Ty(e,t,n){let r=e.rows.find(i=>i.screenRow===t);return r?wy(r,n):void 0}o(Ty,"hitTestTranscriptScreen");function Cy(e,t,n){if(e.rows.length!==0)return t<=e.topRow?wy(e.rows[0],n):t>=e.bottomRow?wy(e.rows[e.rows.length-1],n):Ty(e,t,n)}o(Cy,"clampTranscriptScreenHit");function uk(e){return e.text===" "?"":$t(e.text)}o(uk,"normalizeTranscriptRowText");function dk(e,t){return e.modelRowIndex!==t.modelRowIndex?e.modelRowIndex-t.modelRowIndex:e.column-t.column}o(dk,"comparePoints");function fk(e,t,n,r={}){if(e.length===0)return;let[i,s]=dk(t,n)<=0?[t,n]:[n,t],a=r.selectFullRowOnCollapsed===!0,c=dk(t,n)===0,l=e[i.modelRowIndex],d=e[s.modelRowIndex];if(!l||!d)return;let f=a&&c?{...i,column:0}:i,p=a&&c?{...s,column:Bo(uk(d))}:s,h=new Map,g=[],T=0;for(let v=f.modelRowIndex;v<=p.modelRowIndex;v+=1){let C=e[v];if(!C)continue;let S=uk(C),w=Bo(S),M=v===f.modelRowIndex?f.column:0,L=v===p.modelRowIndex?p.column:w,A=Math.max(0,Math.min(M,w)),H=Math.max(A,Math.min(L,w)),K=ga(S,A,H);H>A&&(h.set(C.key,{start:A,end:H}),T+=H-A),g.push(K)}if(h.size!==0)return{anchor:t,focus:n,rowRanges:h,rowCount:g.length,charCount:T,text:g.join(`
|
|
136
|
-
`)}}o(fk,"buildTranscriptScreenSelection");function pk(e){if(!e)return;let t=`${e.charCount} char${e.charCount===1?"":"s"}`;return e.rowCount<=1?`Selected ${t}`:`Selected ${t} across ${e.rowCount} lines`}o(pk,"buildTranscriptScreenSelectionSummary");function mk(e,t){return e.rows.length===0?0:t<e.topRow?1:t>e.bottomRow?-1:0}o(mk,"resolveTranscriptDragEdgeScrollDirection");var yB="Other...";function jp(e){return e?e.map(t=>({label:t.label,value:t.value,description:t.description})):[]}o(jp,"toSelectOptions");function Iy(e,t){return t.kind==="input"||t.allowCustomInput===!1||e.some(n=>n.value===wr)?e:[...e,{label:t.customInputLabel??yB,value:wr}]}o(Iy,"appendCustomInputOption");function by(e){return e.question}o(by,"getAskUserDialogTitle");function hk(e){return!!e.activity}o(hk,"shouldRenderPromptActivityInFooter");function xB(e){switch(e){case"confirm":return se("waiting.confirm");case"select":return se("waiting.select");case"input":return se("waiting.input")}}o(xB,"formatPromptWaitingText");function gk(e){return e.waitingReason==="confirm"?se("placeholder.confirm"):e.waitingReason==="select"?se("placeholder.select"):e.waitingReason==="input"?se("placeholder.input"):e.isLoading?e.canQueueFollowUps?se("placeholder.queue"):se("placeholder.busy"):se("placeholder.idle")}o(gk,"buildPromptPlaceholderText");function yk(e){return e.isTranscriptMode?void 0:e.waitingReason?{kind:"waiting",text:xB(e.waitingReason),showSpinner:!1}:e.workflowBuilderMessage?{kind:"busy",text:e.workflowBuilderMessage,showSpinner:!0}:e.backgroundWorkflowMessage?{kind:"busy",text:e.backgroundWorkflowMessage,showSpinner:!0}:e.isLoading?{kind:"busy",text:hg({activeToolCount:e.streamingState.activeToolCalls.filter(n=>n.status===F.Executing).length,currentTool:e.streamingState.currentTool,isThinkingActive:e.streamingState.isThinking,thinkingCharCount:e.streamingState.thinkingCharCount,isCompacting:e.streamingState.isCompacting,toolInputCharCount:e.streamingState.toolInputCharCount,toolInputContent:e.streamingState.toolInputContent,managedPhase:e.managedState?.phase,managedHarnessProfile:e.managedState?.harnessProfile,managedWorkerTitle:e.managedState?.workerTitle})??"Thinking",showSpinner:!0}:void 0}o(yk,"buildPromptActivityViewModel");function xk(e,t,n){if(!e)return;let r=e.userOverrideContextWindow??e.contextWindow,i=e.reservedResponseTokens;try{let s=n(t.provider);e.userOverrideContextWindow===void 0&&(r=s?.getEffectiveContextWindow?.(t.model)??r),i=s?.getEffectiveMaxOutputTokens?.(t.model)??i}catch{}return r===e.contextWindow&&i===e.reservedResponseTokens?e:{...e,contextWindow:r,reservedResponseTokens:i}}o(xk,"resolveEffectiveCompactionInfo");function Sk(e){return{sessionId:e.sessionId,permissionMode:e.permissionMode,agentMode:e.agentMode,provider:e.provider,model:e.model,currentTool:e.streamingState.currentTool,activeToolCount:e.streamingState.activeToolCalls.filter(t=>t.status===F.Executing).length,thinking:e.thinking,reasoningMode:e.reasoningMode,effort:e.effort,reasoningEffortLabel:e.reasoningEffortLabel,reasoningCapability:e.reasoningCapability,isThinkingActive:e.streamingState.isThinking,thinkingCharCount:e.streamingState.thinkingCharCount,toolInputCharCount:e.isTranscriptMode?e.streamingState.toolInputCharCount:0,toolInputContent:e.isTranscriptMode?e.streamingState.toolInputContent:"",currentIteration:e.streamingState.currentIteration,maxIter:e.maxIter,contextUsage:e.contextUsage,learning:e.learning,isCompacting:e.streamingState.isCompacting,showBusyStatus:!1,managedPhase:e.isLoading?e.managedState?.phase:void 0,managedHarnessProfile:e.isLoading?e.managedState?.harnessProfile:void 0,managedWorkerTitle:e.isLoading?e.managedState?.workerTitle:void 0,managedRound:e.isLoading?e.managedState?.round:void 0,managedMaxRounds:e.isLoading?e.managedState?.maxRounds:void 0,managedGlobalWorkBudget:e.isLoading?e.managedState?.globalWorkBudget:void 0,managedBudgetUsage:e.isLoading?e.managedState?.budgetUsage:void 0,managedBudgetApprovalRequired:e.isLoading?e.managedState?.budgetApprovalRequired:void 0,managedIdleWaiting:e.isLoading?e.managedState?.idleWaiting:void 0,managedIdleWaitingPendingCount:e.isLoading?e.managedState?.idleWaitingPendingCount:void 0,autoModeEngine:e.autoModeEngine}}o(Sk,"buildSurfaceStatusBarProps");function wk(e){let t=oy(e.state),n=t?Pp(e.state,e.selectableItemIds,e.selectedItemId):void 0,r=n?e.selectableItemIds.indexOf(n):-1;return{selectionEnabled:t,selectedItemId:n,selectedItemIndex:r,position:n?{current:Math.max(1,r+1),total:e.selectableItemIds.length}:void 0,detailState:n&&e.isExpanded?"expanded":"compact",copyCapabilities:{message:t&&!!n,toolInput:t&&!!n&&e.selectedItemType==="tool_group",copyOnSelect:t&&Jv(e.state)},toggleDetail:t&&!!n,navigationCapabilities:{selection:t&&!!n&&e.selectableItemIds.length>0}}}o(wk,"buildTranscriptSelectionRuntimeState");function Tk(e){if(!(!e.runtime.selectionEnabled||!e.runtime.selectedItemId))return{itemSummary:e.itemSummary?.summary,itemKind:e.itemSummary?.kindLabel,position:e.runtime.position,detailState:e.runtime.detailState,copyCapabilities:e.runtime.copyCapabilities,toggleDetail:e.runtime.toggleDetail,navigationCapabilities:e.runtime.navigationCapabilities}}o(Tk,"buildTranscriptSelectionViewModel");function Ck(e){return{query:e.query,matches:e.matches,currentMatchIndex:e.currentMatchIndex,anchorItemId:e.anchorItemId,statusText:e.useOverlaySurface?void 0:e.statusText}}o(Ck,"buildTranscriptSearchViewModel");function SB(e,t){return e===0?0:t<0?-1:Math.min(t,e-1)}o(SB,"clampTranscriptSearchSelectedIndex");function wB(e){return e.isHistorySearchActive?e.historySearchQuery.trim()?e.matches.length===0?"No matches yet":e.clampedSelectedIndex<0?`${e.matches.length} matches | use n/N or Enter to jump`:e.matches[e.clampedSelectedIndex]?.excerpt:"Type to search transcript":void 0}o(wB,"buildTranscriptSearchDetailText");function Ik(e){let t=SB(e.matches.length,e.selectedIndex),n=zR(e.matches,t),r=wB({isHistorySearchActive:e.isHistorySearchActive,historySearchQuery:e.historySearchQuery,matches:e.matches,clampedSelectedIndex:t});return{clampedSelectedIndex:t,statusText:n,detailText:r,searchState:Ck({query:e.historySearchQuery,matches:e.matches,currentMatchIndex:t,anchorItemId:e.anchorItemId,statusText:n,useOverlaySurface:e.useOverlaySurface})}}o(Ik,"buildTranscriptSearchChrome");function TB(e=!1){return`\u2190/\u2192 enter select mode | Ctrl+E ${e?"collapse":"show all"} | Mouse drag selects text`}o(TB,"buildDefaultTranscriptSecondaryText");function bk(e){let t=[];return e.historySearchQuery.trim().length>0&&e.isHistorySearchActive&&e.historySearchMatchCount===0&&t.push({id:"search-empty",text:"No transcript matches yet",tone:"info"}),e.pendingInputCount>=e.maxPendingInputs&&t.push({id:"queue-full",text:`Queued follow-up limit reached (${e.maxPendingInputs})`,tone:"warning"}),t}o(bk,"buildFooterNotifications");function vk(e){let t=[];return e.historySearchQuery.trim()&&t.push(`Search: ${e.historySearchQuery.trim()}`),e.pendingInputCount>0&&t.push(`Queued follow-ups: ${e.pendingInputCount}`),t}o(vk,"buildBaseFooterNotices");function Rk(e){if(e.inputText.trim()&&(e.isTranscriptMode||e.isHistorySearchActive))return"Draft preserved while viewing transcript"}o(Rk,"buildStashNoticeText");function kk(e){return[...e]}o(kk,"buildPromptFooterNotices");function CB(e){let n=(e.isHistorySearchActive?[e.historySearchDetailText]:[e.selectionSummary,e.actionSummary]).filter(r=>!!(r&&r.trim().length>0));return n.length===0?TB(e.showAllActive):n.join(" | ")}o(CB,"buildTranscriptFooterSecondaryText");function IB(e){let t=[];return e&&t.push(e),t}o(IB,"buildTranscriptFooterBudgetNotices");function Ek(e){let t=e.selectionState?.copyCapabilities,n=e.selectionState?.navigationCapabilities,i=pk(e.textSelection),s=e.textSelection?ya({copyMessage:!0,copyToolInput:!1,copyOnSelect:!!t?.copyOnSelect,toggleDetail:!1,selectionNavigation:!1,matchNavigation:!1,dismissAction:"clear"}):e.selectionState?.itemSummary?ya({copyMessage:!!t?.message,copyToolInput:!!t?.toolInput,copyOnSelect:!!t?.copyOnSelect,toggleDetail:!!e.selectionState?.toggleDetail,selectionNavigation:!!n?.selection,matchNavigation:!1,dismissAction:"clear"}):void 0,a=CB({isHistorySearchActive:e.isHistorySearchActive,historySearchDetailText:e.historySearchDetailText,selectionSummary:i,actionSummary:s,showAllActive:e.showAllActive,baseFooterNotices:e.baseFooterNotices});return{selectionSummary:i,actionSummary:s,secondaryText:a,budgetNotices:IB(a)}}o(Ek,"buildTranscriptFooterViewModel");import{jsx as t7,jsxs as n7}from"react/jsx-runtime";function Mk(e,t){if(!(!e||!t||t<=0))switch(e){case"finding-validation":return`Validating ${t} finding${t===1?"":"s"}`;case"module-triage":return`Scanning ${t} module${t===1?"":"s"}`;case"evidence-scan":return`Parallel evidence pass (${t})`;case"hypothesis-check":return`Checking ${t} hypothesis${t===1?"":"es"}`;default:return}}o(Mk,"formatAmaWorkStripText");function Ak(e){return e.replace(/^\[[^\]]+\]\s*/,"").trim()}o(Ak,"stripLiveActivityPrefix");function _k(e){let t=[],n=e.showPrimary??!0;if(e.isLoading&&n){let l=e.currentTool?Ak(Ff(e.currentTool,e.toolInputContent??"",e.toolInputCharCount??0)):void 0,d=e.liveActivityLabel?Ak(e.liveActivityLabel):void 0;e.activeWorkerTitle?t.push({id:"primary-worker",label:`${e.activeWorkerTitle} active`,accent:!0,selected:!0}):e.activePhase?t.push({id:"primary-phase",label:e.activePhase,accent:!0,selected:!0}):d?t.push({id:"primary-live-activity",label:d,accent:!0,selected:!0}):l?t.push({id:"primary-tool",label:l,accent:!0,selected:!0}):e.isThinkingActive?t.push({id:"primary-thinking",label:"Thinking",accent:!0,selected:!0}):t.push({id:"primary-generic",label:"Agent active",accent:!0,selected:!0})}e.parallelText&&t.push({id:"parallel",label:e.parallelText});let[r,i,s,...a]=t,c=[r,i,s].filter(l=>!!l);return e.isLoading?{items:c,overflowLabel:a.length>0?`+${a.length} more`:void 0,ctaHint:e.parallelText?"Ctrl+O transcript":void 0}:{items:c,overflowLabel:a.length>0?`+${a.length} more`:void 0,ctaHint:e.parallelText?"Ctrl+O transcript":void 0}}o(_k,"buildBackgroundTaskViewModel");function Lk(e,t){if(!(!t||!e||e.agentMode!=="ama"))return Mk(e.childFanoutClass,e.childFanoutCount)}o(Lk,"buildAmaWorkStripFromStatus");function vy(e){let t=Lk(e.status,e.isLoading);return{workStripText:t,backgroundTask:_k({isLoading:e.isLoading,showPrimary:!!(e.parallelTextOverride??t),activeWorkerTitle:e.status?.activeWorkerTitle,activePhase:e.status?.phase??(e.agentMode==="ama"?"AMA active":void 0),parallelText:e.parallelTextOverride??t,currentTool:e.currentTool,toolInputCharCount:e.toolInputCharCount,toolInputContent:e.toolInputContent,liveActivityLabel:e.liveActivityLabel,isThinkingActive:e.isThinkingActive})}}o(vy,"buildAmaSummaryViewModel");function Ry(e){return{...e,items:[...e.items],managedLiveEvents:[...e.managedLiveEvents??[]]}}o(Ry,"captureTranscriptSnapshot");function Pk(e){if(!e.isTranscriptMode||!e.snapshot)return 0;let t=Math.max(0,e.currentItemsLength-e.snapshot.items.length);return e.isLoading!==e.snapshot.isLoading&&(t+=1),e.currentResponse!==e.snapshot.currentResponse&&(t+=1),e.thinkingContent!==e.snapshot.thinkingContent&&(t+=1),e.activeToolCallsLength!==e.snapshot.activeToolCalls.length&&(t+=1),(e.currentManagedLiveEventsLength??0)!==e.snapshot.managedLiveEvents.length&&(t+=1),t}o(Pk,"countPendingTranscriptUpdates");function $k(e){return e.snapshot?[...e.snapshot.items]:e.surface==="transcript"?[...e.transcriptItems]:[...e.promptItems]}o($k,"resolveTranscriptSurfaceItems");function Dk(e){let t=[];for(let n of e)switch(n.type){case"user":case"system":case"error":case"tool_group":case"event":case"info":t.push({...n});break;case"assistant":case"thinking":{let{compactText:r,...i}=n;t.push(i);break}default:break}return t}o(Dk,"buildPromptSurfaceItems");function Ok(e,t){return e.enabled?t==="transcript"?e.transcriptShell:e.promptShell:"main-screen"}o(Ok,"resolveFullscreenShellMode");function bB(e,t){return e.enabled&&Ok(e,t)==="virtual"}o(bB,"shouldUseRendererViewportShell");function Nk(e,t){let n=Ok(e,t),r=e.enabled&&n==="virtual",i=e.enabled&&n==="virtual",s=r&&(e.mouseWheel||e.mouseClicks),a=s&&e.mouseClicks,c=i&&e.mouseWheel;return{shellMode:n,usesAlternateScreenShell:r,usesRendererViewportShell:i,usesRendererMouseTracking:s,usesManagedMouseClicks:a,usesManagedMouseWheel:c,usesManagedSelection:i,usesManagedWheelHistory:c,usesNativeMainScreenScrollback:!i}}o(Nk,"resolveTranscriptInteractionPolicy");function Bk(e,t,n){return bB(e,t)?t==="transcript"||n:!1}o(Bk,"shouldOwnTranscriptViewport");var vB=500,RB=1,kB=/[\p{L}\p{N}_/.\-+~\\]/u;function EB(e){return e.text===" "?"":e.text}o(EB,"normalizeTranscriptRowText");function Hk(e,t){return e.modelRowIndex!==t.modelRowIndex?e.modelRowIndex-t.modelRowIndex:e.column-t.column}o(Hk,"comparePoints");function ky(e){return e===""||/\s/.test(e)?0:kB.test(e)?1:2}o(ky,"charClass");function Wk(e){let t=e.timeoutMs??vB,n=e.distance??RB,r=e.time-e.previous.time<=t,i=Math.abs(e.row-e.previous.row)<=n&&Math.abs(e.column-e.previous.column)<=n,s=r&&i?Math.min(3,e.previous.count+1):1;return{time:e.time,row:e.row,column:e.column,count:s}}o(Wk,"resolveTranscriptMultiClickState");function Up(e,t,n){let r=e[t.modelRowIndex];if(!r)return;let i=EB(r);if(n==="line")return{kind:n,start:{...t,column:0},end:{...t,column:Bo(i)}};let s=Bo(i);if(s===0)return{kind:n,start:{...t,column:0},end:{...t,column:0}};let a=Math.max(0,Math.min(s-1,t.column));t.column===s&&(a=s-1);let c=ky(Yf(i,a)),l=a,d=a+1;for(;l>0&&ky(Yf(i,l-1))===c;)l-=1;for(;d<s&&ky(Yf(i,d))===c;)d+=1;return{kind:n,start:{...t,column:l},end:{...t,column:d}}}o(Up,"resolveTranscriptSelectionSpanAt");function Ey(e,t){return Hk(t.end,e.start)<0?{anchor:e.end,focus:t.start}:Hk(t.start,e.end)>0?{anchor:e.start,focus:t.end}:{anchor:e.start,focus:e.end}}o(Ey,"extendTranscriptSelectionSpan");function Ba(e){return{messages:e.messages,title:e.title,gitRoot:e.gitRoot??"",...e.runtimeInfo!==void 0?{runtimeInfo:e.runtimeInfo}:{},...e.tag!==void 0?{tag:e.tag}:{},...e.uiHistory!==void 0?{uiHistory:e.uiHistory}:{},...e.lineage!==void 0?{lineage:e.lineage}:{},...e.artifactLedger!==void 0?{artifactLedger:e.artifactLedger}:{},...e.extensionState!==void 0?{extensionState:e.extensionState}:{},...e.extensionRecords!==void 0?{extensionRecords:e.extensionRecords}:{}}}o(Ba,"buildHostSessionPayload");var LB=500;function PB(e){let t=[{label:"Acknowledge notification",value:"acknowledge"}];return e.lifecycle==="ready"?t.push({label:"Review",value:"review"},{label:"Review & Trust",value:"trust"},{label:"Snooze for 24 hours",value:"snooze"},{label:"Reject",value:"reject"}):e.lifecycle==="active_learned"?t.push({label:"Disable",value:"disable"},{label:"Promote to user catalog",value:"promote"}):e.lifecycle==="quarantined"&&t.push({label:"Rollback",value:"rollback"},{label:"Disable",value:"disable"}),t}o(PB,"learningCenterActions");async function $B(e,t,n){n==="acknowledge"?await e.acknowledge(t):n==="snooze"?await e.snooze(t,new Date(Date.now()+1440*6e4).toISOString()):n==="reject"?await e.reject(t):n==="disable"?await e.disable(t):n==="rollback"?await e.rollback(t):n==="promote"?await e.promote(t,"user"):n==="review"?await e.review(t):n==="trust"&&await e.trust(t)}o($B,"applyLearningCenterAction");function DB(e){return typeof e.appendSessionDelta=="function"}o(DB,"hasAppendSessionDelta");function jk(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(jk,"applyRuntimeSessionSnapshot");var OB=12,Uk="Do not try to modify files while planning. Finish the plan first, then call exit_plan_mode with the finalized plan \u2014 the user will review and approve or reject.";function My(e,t){if(tr(e))return[t.getGuardrail()]}o(My,"buildAutoModeGuardrails");function NB(e,t){return e.reasoningMode?e.reasoningMode:t.reasoningMode?t.reasoningMode:e.thinking===!0||t.thinking===!0?"auto":"off"}o(NB,"resolveInitialReasoningMode");function Ay(e){return $t(e.map(t=>typeof t=="string"?t:String(t)).join(" "))}o(Ay,"formatCapturedConsoleOutput");function _y(e){let t=e.map($t).join(`
|
|
137
|
-
`).trimEnd();return t.trim().length>0?t:void 0}o(_y,"joinCapturedConsoleOutput");function BB(e){let t=e.split(/\r?\n/).map(s=>s.trim()).filter(Boolean);if(t.length===0)return;if(t.length===1)return t[0];let[n,r]=t,i=n.startsWith("[")?`${n} ${r}`:`${n} / ${r}`;return i.length>220?`${i.slice(0,217)}...`:i}o(BB,"buildManagedTranscriptCompactText");function Gk(e){let t=BB(e);return{type:"event",icon:jg(e)?"\u2713":">",text:e,...t&&t!==e?{compactText:t}:{}}}o(Gk,"toManagedTranscriptEventItem");function Yo(e){switch(e.type){case"assistant":return{type:"assistant",text:e.text,timestamp:e.timestamp,...e.compactText?{compactText:e.compactText}:{}};case"thinking":return{type:"thinking",text:e.text,timestamp:e.timestamp,...e.compactText?{compactText:e.compactText}:{}};case"event":return{type:"event",text:e.text,timestamp:e.timestamp,...e.icon?{icon:e.icon}:{},...e.compactText?{compactText:e.compactText}:{}};case"info":return{type:"info",text:e.text,timestamp:e.timestamp,...e.icon?{icon:e.icon}:{},...e.compactText?{compactText:e.compactText}:{}};case"error":return{type:"error",text:e.text,timestamp:e.timestamp};case"system":return{type:"system",text:e.text,timestamp:e.timestamp};case"hint":return{type:"hint",text:e.text,timestamp:e.timestamp};case"sidecar":return{type:"sidecar",text:e.text,timestamp:e.timestamp,...e.verdict?{verdict:e.verdict}:{},...e.delivery?{delivery:e.delivery}:{}};case"tool_group":return{type:"tool_group",tools:e.tools,timestamp:e.timestamp};case"user":return{type:"user",text:e.text,timestamp:e.timestamp};default:return e}}o(Yo,"toCreatableHistoryItem");function Py(e){return CT(e)?"":Gs(e).trim()}o(Py,"sanitizeInterruptedAssistantText");function HB(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}o(HB,"escapeRegExpLiteral");function WB(e,t){let n=t?.trim();return n?e.replace(new RegExp(`^\\[${HB(n)}\\]\\s*`),""):e}o(WB,"stripManagedWorkerPrefix");function Vk(e,t){let n=Gs(e);return WB(n,t).trim().length>0}o(Vk,"hasSubstantiveManagedAssistantText");function FB(e,t){return e?t||e.trim().length>0:!1}o(FB,"shouldAppendManagedAssistantTextDelta");function Kk(e){return!!(e?.activeWorkerId&&!e.childFanoutClass&&(e.phase==="preflight"||e.phase==="worker"))}o(Kk,"isForegroundManagedStreamingStatus");function jB(e,t,n){let r=[],i=n?.infoItems??[],s=$y({thinking:e,toolCalls:n?.toolCalls,toolNames:n?.toolNames});for(let c of i){let l=c.trim();l&&r.push({type:"info",text:l})}r.push(...s);let a=Py(t);return a&&r.push({type:"assistant",text:`${a}
|
|
138
|
-
|
|
139
|
-
[Interrupted]`}),r}o(jB,"buildInterruptedPersistenceItems");function $y({thinking:e,response:t,toolCalls:n,toolNames:r}){let i=[],s=e?.trim()??"",a=t?.trim()??"",c=n&&n.length>0?[...n]:[],l=r&&r.length>0?[...r]:[];return s&&i.push({type:"thinking",text:s}),c.length>0?i.push({type:"tool_group",tools:c}):!s&&!a&&l.length>0&&i.push({type:"info",icon:"*",text:`Tools: ${l.join(", ")}`}),a&&i.push({type:"assistant",text:a}),i}o($y,"buildRoundHistoryItems");var UB=20,GB="Session ended before the tool completed.";function VB(e){switch(e.status){case F.Success:return{status:"success"};case F.Error:return{status:"error"};case F.Cancelled:return{status:"cancelled"};case F.AwaitingApproval:case F.Scheduled:case F.Validating:case F.Executing:return{status:"cancelled",error:GB};default:return e.status}}o(VB,"toPersistedToolStatus");function KB(e){if(!e.id||!e.name)return;let t=VB(e),n=t.status==="success"?Qm(e.output):void 0,r=t.status==="error"||t.status==="cancelled"?qm(e.error??Qm(e.output)??t.error??""):void 0,i=ST(e.input);return{id:e.id,name:e.name,status:t.status,...i?{input:i}:{},...typeof e.preview=="string"&&e.preview.trim().length>0?{preview:qm(e.preview.trim(),500)}:{},...n&&n.trim().length>0?{output:n}:{},...r&&r.trim().length>0?{error:r}:{},...typeof e.startTime=="number"?{startTime:e.startTime}:{},...typeof e.endTime=="number"?{endTime:e.endTime}:{}}}o(KB,"toPersistedToolCall");function zB(e){let t=e.tools.slice(0,UB).map(KB).filter(r=>!!r),n=Dy(e);return t.length>0?{type:"tool_group",tools:t,...n===void 0?{}:{timestamp:n}}:void 0}o(zB,"toPersistedToolGroup");function Dy(e){return e.timestamp!==void 0&&Number.isFinite(e.timestamp)&&e.timestamp>=0?e.timestamp:void 0}o(Dy,"persistedHistoryTimestamp");function Qk(e){if(e.type==="tool_group")return zB(e);let t="text"in e&&typeof e.text=="string"?e.text.trimEnd():"";if(!t)return;if(e.type==="sidecar"){let s=e.delivery==="budget-exhausted"?"budget-exhausted":e.verdict??"revise",a=Dy(e);return{type:"sidecar",text:t,icon:s,...a===void 0?{}:{timestamp:a}}}let n="icon"in e&&typeof e.icon=="string"&&e.icon.length>0?e.icon:void 0,r="compactText"in e&&typeof e.compactText=="string"&&e.compactText.length>0?e.compactText.trimEnd():void 0,i=Dy(e);return{type:e.type,text:t,...i===void 0?{}:{timestamp:i},...n?{icon:n}:{},...r?{compactText:r}:{}}}o(Qk,"toPersistedUiHistoryItem");var zk=process.env.KODAX_TRANSCRIPT_HARNESS_MARKERS==="1",YB=process.env.KODAX_SCROLL_OVERSCAN==="1"?80:void 0;function Yk(e){return Lr(e.map(t=>Qk(t)).filter(t=>!!t))}o(Yk,"serializeUiHistorySnapshot");function XB(e){return e.map(t=>Qk(t)).filter(t=>!!t)}o(XB,"serializeCreatableHistoryItems");function Gp(e,t){return t.length===0?Lr(e):Lr([...e,...XB(t)])}o(Gp,"appendPersistedUiHistorySnapshot");function Hl(e,t,n){console.log((e==="block"?ht.red:ht.yellow)(t)),n.forEach(r=>console.log(ht.dim(r)))}o(Hl,"logSessionTransitionGuard");var Ly=o(({config:e,sessionId:t,workingDir:n,compactionInfo:r})=>{let i=oe("dark"),s=e.model??Tr(e.provider)??e.provider,a=To({provider:e.provider,model:e.model,effort:e.effort,effortOverride:e.effortOverride,thinking:e.thinking,reasoningMode:e.reasoningMode}),c=r?Math.round(r.contextWindow/1e3):0,l=r?pl(r.contextWindow,r.triggerPercent):void 0;return Sn(E,{flexDirection:"column",marginBottom:1,children:[Gg.map((d,f)=>ue(I,{color:i.colors.primary,children:d},f)),Sn(E,{children:[ue(I,{color:i.colors.primary,children:" \u258E "}),ue(I,{color:i.colors.primary,children:"AI Coding Agent \xB7 Minimalist & Intelligent"})]}),Sn(E,{children:[ue(I,{color:i.colors.success,children:" \u258E "}),Sn(I,{bold:!0,color:i.colors.text,children:["v",hi]}),ue(I,{dimColor:!0,children:" \xB7 "}),Sn(I,{color:i.colors.success,children:[e.provider,"/",s]}),ue(I,{dimColor:!0,children:` \xB7 effort:${a}`}),ue(I,{dimColor:!0,children:" \xB7 "}),ue(I,{color:i.colors.primary,children:e.agentMode.toUpperCase()}),ue(I,{dimColor:!0,children:" / "}),ue(I,{color:i.colors.accent,children:e.permissionMode})]}),r&&Sn(E,{children:[ue(I,{color:i.colors.accent,children:" \u258E "}),ue(I,{color:i.colors.text,children:`ctx ${c}k \xB7 compaction `}),ue(I,{color:r.enabled?i.colors.success:i.colors.text,children:r.enabled?"on":"off"}),ue(I,{color:i.colors.text,children:` \xB7 ${l}`})]}),Sn(E,{children:[ue(I,{color:i.colors.secondary,children:" \u258E "}),ue(I,{color:i.colors.text,children:"session "}),ue(I,{color:i.colors.primary,children:t}),ue(I,{color:i.colors.text,children:" \xB7 "}),ue(I,{color:i.colors.text,children:n})]})]})},"Banner");function qB(e){let t=e.config.model??Tr(e.config.provider)??e.config.provider,n=To({provider:e.config.provider,model:e.config.model,effort:e.config.effort,effortOverride:e.config.effortOverride,thinking:e.config.thinking,reasoningMode:e.config.reasoningMode}),r=e.compactionInfo?Math.round(e.compactionInfo.contextWindow/1e3):0,i=e.compactionInfo?pl(e.compactionInfo.contextWindow,e.compactionInfo.triggerPercent):void 0,s=" \u258E AI Coding Agent \xB7 Minimalist & Intelligent",a=` \u258E v${hi} \xB7 ${e.config.provider}/${t} \xB7 effort:${n} \xB7 ${e.config.agentMode.toUpperCase()} / ${e.config.permissionMode}`,c=e.compactionInfo?` \u258E ctx ${r}k \xB7 compaction ${e.compactionInfo.enabled?"on":"off"} \xB7 ${i}`:void 0,l=` \u258E session ${e.sessionId} \xB7 ${e.workingDir}`,d=[],f=o(h=>{let g=dn(h.length>0?h.split(`
|
|
140
|
-
`):[""],Math.max(1,e.terminalWidth),0,0);return g.visualLines.length>0?g.visualLines:[""]},"wrapBannerLine"),p=o((h,g,T)=>{f(g).forEach((v,C)=>{d.push({key:`${h}-${C}`,text:v,...T})})},"pushLineRows");return Gg.forEach((h,g)=>{p(`banner-logo-${g}`,h,{color:"primary"})}),p("banner-tagline",s,{color:"primary"}),p("banner-version",a,{color:"text",bold:!0}),c&&p("banner-compaction",c,{color:"text"}),p("banner-session",l,{color:"text"}),d.push({key:"banner-blank",text:" "}),{key:"banner",rows:d}}o(qB,"buildBannerTranscriptSection");function Xk(e,t){return t?{...e,sections:[t,...e.sections],rows:[...t.rows,...e.rows]}:e}o(Xk,"prependTranscriptSection");var QB=process.env.KODAX_INLINE_LEDGER!=="0";function qk(e,t){process.env.KODAX_INLINE_LEDGER_DEBUG==="1"&&Lt({source:"repl:inline-ledger",level:"debug",message:`${e}; rebuilding on next change.`,...t!==void 0?{detail:t}:{}})}o(qk,"reportInlineLedgerFailure");var JB=o(({options:e,config:t,context:n,startupRuntimeInfo:r,storage:i,rendererMode:s,fullscreenPolicy:a,onExit:c,compactionInfo:l,autoModeBootstrap:d,setAutoModeAskUser:f,setAutoModeEngineChange:p,setCurrentConfigRef:h,teamModeHandle:g})=>{let{exit:T}=Er(),{stdout:v}=kr(),C=v.rows??24,{stdin:S,setRawMode:w,isRawModeSupported:M}=qc(),L=ca(),{history:A}=Sa(),H=Fk.useRef(null),K=Fk.useRef(Pw()),{addHistoryItem:W,addHistoryItems:ne,clearHistory:x,setSessionId:Ce}=wa(),J=xe(A),D=xe(Yk(A));He(()=>{J.current=A,D.current=Yk(A)},[A]),He(()=>{$v()},[]),He(()=>{OT()},[]);let k=v.columns||80,B=Ia(),Se=xe(B);He(()=>{Se.current=B},[B]);let{startStreaming:de,stopStreaming:ee,abort:he,startThinking:we,appendThinkingChars:fe,appendThinkingContent:Te,stopThinking:Oe,clearThinkingContent:X,setCurrentTool:ce,appendToolInputChars:_e,appendToolInputContent:tt,clearToolInputContent:q,clearResponse:Ke,appendResponse:ct,getSignal:le,getFullResponse:Ie,getThinkingContent:ye,startNewIteration:Xe,clearIterationHistory:ft,startCompacting:Qt,stopCompacting:P,setMaxIter:V,addPendingInput:z,removeLastPendingInput:ge,shiftPendingInput:Me,consumePendingInputs:Q}=ba(),[j,pe]=Fe(!1),[O,We]=Fe(t),Dt=me(()=>gi({provider:O.provider,model:O.model,effort:O.effort,effortOverride:O.effortOverride,permissionMode:O.permissionMode,planModeEffort:O.planModeEffort,thinking:O.thinking,reasoningMode:O.reasoningMode}),[O.provider,O.model,O.effort,O.effortOverride,O.permissionMode,O.planModeEffort,O.thinking,O.reasoningMode]),Jt=Dt.configuredEffort,Qe=Dt.runtimeEffort,ur=me(()=>({...O,effort:Jt}),[O,Jt]),Jo=me(()=>xk(l,{provider:O.provider,model:O.model},di),[l,O.provider,O.model]),[Tx,_M]=Fe(!0),[Zp,rF]=Fe(!0),[Jl,Zl]=Fe(0),[em,Va]=Fe(!1),[Cx,Ix]=Fe(void 0),[bx,tm]=Fe([]),[vx,Gn]=Fe(null),Ka=xe(!1),LM=me(()=>ko(),[]),za=xe(null),eu=xe(null),Rx=xe(Promise.resolve()),tu=xe(null),Zo=xe({requested:!1,uiHistoryOverride:void 0}),Yi=xe(null),Ya=xe(!1),Xa=xe(null);He(()=>{let u=e.learning;if(!u)return;let m=!0,y,b=o(async()=>{let $=await u.getSnapshot();return m&&Ix(N=>N!==void 0&&N.revision>$.revision?N:$),$},"refresh"),R=o($=>{Lt({source:"repl:learning",level:"warn",message:"Failed to refresh the Learning Center snapshot.",detail:$ instanceof Error?$.message:String($)})},"reportRefreshFailure"),_=o($=>{if(m){if($.kind==="ready"||$.kind==="activated"||$.kind==="attention"){let N=$.kind==="ready"?"is ready for review":$.kind==="activated"?"became active":"requires attention";tm(Z=>[{id:$.eventId,text:`A learned ${$.carrier} ${N}: ${$.displayName} [/learn]`,tone:$.kind==="activated"?"accent":"warning"},...Z.filter(re=>re.id!==$.eventId)].slice(0,2))}b().catch(R)}},"onEvent");return b().then($=>{if(!m)return;let N=Ad($);if(N){let Z=$.attention>0||$.ready>0?"warning":"accent";tm(re=>[{id:"learning-recovery",text:N,tone:Z},...re.filter(je=>je.id!=="learning-recovery")].slice(0,2))}y=u.subscribe(_,{afterRevision:$.revision})}).catch(R),()=>{m=!1,y?.close()}},[e.learning]);let[qa,nu]=Fe(!0),[nm,ru]=Fe(""),[Ve,dr]=Fe(()=>Wv(LM,{rendererMode:s})),[Ot,rm]=Fe(!1),[PM,$M]=Fe(0),{scrollRef:DM,scrollOffset:Vn,sticky:om,setScrollOffset:OM,handleScrollTopChange:NM,handleStickyChange:BM,scrollTo:ou,scrollBy:iu,scrollToBottom:su}=ok(),im=xe(null),au=xe(null),Qa=xe([]),cu=xe([]),Xi=xe(null),Kn=xe(null),kx=xe({time:0,row:-1,column:-1,count:0}),[lu,sm]=Fe(void 0),[Hr,am]=Fe(void 0),[qi,Ex]=Fe(void 0),[Tn,HM]=Fe(()=>new Set),[cm,Mx]=Fe(null),[Zt,Ax]=Fe(null),[Y,uu]=Fe(null),[_x,Qi]=Fe(null),[lm,Lx]=Fe(null),Ja=xe(null),Za=G(u=>{Ja.current=u,Lx(u)},[]),ec=G(u=>{let m=u(Ja.current);Ja.current=m,Lx(m)},[]),tc=G((u,m)=>{let y=Ja.current;return y?.status!=="running"||!S0(u,y.runId)?!1:(Za({...y,message:m}),!0)},[Za]),um=G(u=>{if(u.status==="running"){Za({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}ec(m=>m?.runId===u.runId?null:m)},[Za,ec]),WM=G(u=>{let m=u.type==="workflow_updated"?u.message:void 0,y=Lc(u.snapshot.goal,u.snapshot.workflowName,u.snapshot.displayName,u.snapshot.latestMessage,m);um(kT(u.snapshot,m===void 0?{locale:y}:{locale:y,message:m}))},[um]),[du,Wr]=Fe([]),Ji=me(()=>{for(let u of du)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}},[du]),[oF,nc]=Fe([]),[rc,FM]=Fe([]),[fu,Ct]=Fe(void 0),[ei,oc]=Fe(void 0),pt=xe(null),pu=xe(null),ti=xe([]),Zi=xe([]),sn=xe([]),dm=xe(new Set),rt=xe({}),St=xe({activeToolGroupTools:[]}),Px=xe(0),mu=xe({itemId:void 0,kind:"thinking",pendingText:""}),zn=xe(null),jM=80,UM=20,GM=xe(null),hu=me(()=>[...A,...rc],[A,rc]),fm=me(()=>{let u=_b(hu,GM);return u===0?hu:hu.slice(u)},[hu]),gu=me(()=>Lb(fm,UM),[fm]),es=fm,en=xe(null),fr=xe(null),pr=xe([]),tn=xe([]),[ni,VM]=Fe([]),Fr=xe([]),[pm,KM]=Fe([]),ic=xe([]),_n=G(u=>{Fr.current=u,VM(u)},[]),ts=G(u=>{ic.current=u,KM(u)},[]),mm=G(()=>{ts([])},[ts]),$x=G(u=>{if(!gp(u))return!1;let m=Mg(u),y=ic.current.filter(b=>b.id!==m);return y.length===ic.current.length||ts(y),!0},[ts]),Ln=G((u,m,y,b)=>{if(!gp(u))return!1;let R=Mg(u),_=ic.current.find(Ge=>Ge.id===R);if(b?.skipIfExisting&&_?.kind===m||b0(_?.kind,m))return!0;let $=b?.append&&_?.kind===m?`${_.detail}${y}`:y||_?.detail||"running",N={id:R,label:T0(u),source:C0(u),status:"running",kind:m,detail:Eg($),startedAt:_?.startedAt??Date.now()},Z=ic.current,re=Z.findIndex(Ge=>Ge.id===R),je=re>=0?Z.map((Ge,Vt)=>Vt===re?N:Ge):[...Z,N].slice(0,OB);return ts(je),!0},[ts]),Dx=G(u=>{ti.current=u,nc(u)},[]),ns=G(u=>{sn.current=u,FM(u)},[]),Ox=G(u=>{let m=u([...sn.current]);ns(m)},[ns]),Nx=G(u=>{u.length!==0&&ns([...sn.current,...u])},[ns]),yu=G(u=>{let m=St.current,y=m.activeToolGroupTools.some(b=>b.status===F.Executing);St.current={...u?.clearOwner?{}:{workerId:m.workerId,workerTitle:m.workerTitle},...y?{activeToolGroupItemId:m.activeToolGroupItemId,activeToolGroupTools:m.activeToolGroupTools}:{activeToolGroupTools:[]}},u?.clearOwner&&(rt.current={})},[]),xu=G(u=>{for(let m of u)m.type==="user"&&typeof m.id=="string"&&dm.current.add(m.id)},[]),sc=G(()=>{mu.current={itemId:void 0,kind:"thinking",pendingText:""},zn.current&&(clearTimeout(zn.current),zn.current=null);let u=Tg(sn.current,dm.current);if(u.length>0){for(let m of u)dm.current.add(m.id);Yi.current?.(u.map(m=>Yo(m)))}yu({clearOwner:!0}),ns([])},[yu,ns]),Su=G(u=>(Px.current+=1,`managed-foreground-${u}-${Px.current}`),[]),Ft=G(u=>(Nx([u]),u.id),[Nx]),Cn=G((u,m)=>{rt.current.workerId?Ft({id:`${m}-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:u.type,text:u.text,...u.icon?{icon:u.icon}:{},...u.tightSpacing?{tightSpacing:!0}:{},timestamp:Date.now()}):W(u)},[W,Ft]),Bx=G((u,m)=>{let y=Date.now();rt.current.workerId?Ft({id:`${m}-${y}-${Math.random().toString(36).slice(2,7)}`,type:"sidecar",text:u.text,...u.verdict?{verdict:u.verdict}:{},...u.delivery?{delivery:u.delivery}:{},timestamp:y}):W(u)},[W,Ft]),jr=G((u,m)=>{if(!u)return;let y;return Ox(b=>b.map(R=>R.id!==u?R:(y=m(R),y))),y},[Ox]),rs=G((u,m)=>{let y=St.current;if(y.activeKind===u){if(u==="thinking"&&y.activeThinkingItemId)return y.activeThinkingItemId;if(u==="assistant"&&y.activeAssistantItemId)return y.activeAssistantItemId;if(u==="tool_group"&&y.activeToolGroupItemId)return y.activeToolGroupItemId}let b=Date.now(),R=m?.trim()?`[${m.trim()}] `:"",_=y.activeToolGroupTools.some(N=>N.status===F.Executing);if(u==="thinking"){let N=Ft({id:Su("thinking"),type:"thinking",timestamp:b,text:R});return St.current={...St.current,activeKind:"thinking",activeThinkingItemId:N,currentTurnThinkingItemId:N,activeAssistantItemId:void 0,..._?{}:{activeToolGroupItemId:void 0,activeToolGroupTools:[]}},N}if(u==="assistant"){let N=Ft({id:Su("assistant"),type:"assistant",timestamp:b,text:R});return St.current={...St.current,activeKind:"assistant",activeThinkingItemId:void 0,activeAssistantItemId:N,..._?{}:{activeToolGroupItemId:void 0,activeToolGroupTools:[]}},N}let $=Ft({id:Su("tool_group"),type:"tool_group",timestamp:b,tools:[]});return St.current={...St.current,activeKind:"tool_group",activeThinkingItemId:void 0,activeAssistantItemId:void 0,activeToolGroupItemId:$,activeToolGroupTools:[]},$},[Ft,Su]),Yn=G(()=>{zn.current&&(clearTimeout(zn.current),zn.current=null);let u=mu.current;if(!u.pendingText||!u.itemId)return;let m=u.pendingText,y=u.itemId,b=u.kind;u.pendingText="",jr(y,R=>R.type!==b?R:{...R,text:`${R.text}${m}`})},[jr]),Hx=G(()=>{zn.current||(zn.current=setTimeout(Yn,jM))},[Yn]),wu=G((u,m)=>{if(!m)return;let y=St.current;if(u==="assistant"&&!FB(m,y.activeKind==="assistant"&&!!y.activeAssistantItemId))return;let b=y.workerTitle,R=rs(u,b),_=mu.current;_.itemId===R&&_.kind===u?_.pendingText+=m:(Yn(),_.itemId=R,_.kind=u,_.pendingText=m),Hx()},[rs,Yn,Hx]),Wx=G(u=>{let m=u.trim();if(!m)return;let y=mu.current;y.kind==="thinking"&&y.pendingText&&(y.pendingText="",zn.current&&(clearTimeout(zn.current),zn.current=null));let b=St.current.workerTitle?.trim(),R=b?`[${b}] ${m}`:m,_=St.current.currentTurnThinkingItemId;if(_){jr(_,N=>N.type==="thinking"?{...N,text:R}:N);return}let $=rs("thinking",St.current.workerTitle);jr($,N=>N.type==="thinking"?{...N,text:R}:N)},[rs,jr]),Xn=G(u=>{Yn();let m=St.current;if(m.activeToolGroupItemId&&m.activeToolGroupTools.some($=>$.id===u.id)){let $=m.activeToolGroupTools.map(Z=>Z.id===u.id?u:Z),N=$.every(Z=>Z.status===F.Success||Z.status===F.Error||Z.status===F.Cancelled);St.current={...m,...N?{activeToolGroupItemId:void 0,activeToolGroupTools:[]}:{activeToolGroupTools:$}},jr(m.activeToolGroupItemId,Z=>Z.type==="tool_group"?{...Z,tools:$}:Z);return}let y=sn.current;for(let $=y.length-1;$>=0;$-=1){let N=y[$];if(N.type!=="tool_group"||!N.tools.some(re=>re.id===u.id))continue;let Z=N.tools.map(re=>re.id===u.id?u:re);jr(N.id,re=>re.type==="tool_group"?{...re,tools:Z}:re);return}let b=rs("tool_group",m.workerTitle),_=m.activeKind==="tool_group"&&m.activeToolGroupItemId===b?m.activeToolGroupTools.some($=>$.id===u.id)?m.activeToolGroupTools.map($=>$.id===u.id?u:$):[...m.activeToolGroupTools,u]:[u];St.current={...St.current,activeKind:"tool_group",activeToolGroupItemId:b,activeToolGroupTools:_},jr(b,$=>$.type==="tool_group"?{...$,tools:_}:$)},[rs,jr,Yn]),zM=G(u=>{Yn();let m=St.current,y=m.activeToolGroupTools.some(_=>_.status===F.Executing),b=Fr.current.filter(_=>_.status===F.Executing),R=new Set(b.map(_=>_.id));St.current={workerId:u?.workerId,workerTitle:u?.workerTitle,...y?{activeToolGroupItemId:m.activeToolGroupItemId,activeToolGroupTools:m.activeToolGroupTools}:{activeToolGroupTools:[]}},rt.current={workerId:u?.workerId,workerTitle:u?.workerTitle},pr.current=[],tn.current=tn.current.filter(_=>R.has(_.id)),_n(b),q(),ce(void 0),Oe(),X(),Ke(),Ct(void 0)},[Yn,q,Ke,X,ce,_n,Ct,Oe]),YM=G(u=>{if(u.length===0)return[];let m=[],y=[...ti.current],b=[...Zi.current];for(let R of u){let _=R.item,$=y.findIndex(N=>N.id===_.id);if($>=0){let N=y[$];Rp(N,_)||(y=y.map((Z,re)=>re===$?{..._,timestamp:N.timestamp}:Z))}else y=[...y,_].slice(-12),m.push(_);if(R.persistToHistory){let N=b.findIndex(Z=>Z.id===_.id);if(N>=0){let Z=b[N];Rp(Z,_)||(b=b.map((re,je)=>je===N?{..._,timestamp:Z.timestamp}:re))}else b=[...b,_].slice(-48)}}return Zi.current=b,(m.length>0||y.some((R,_)=>!Rp(R,ti.current[_]??R)||R.id!==ti.current[_]?.id))&&Dx(y),m},[Dx]),Tu=G(u=>{if(tn.current.findIndex(y=>y.id===u.id)===-1){tn.current=[...tn.current,u];return}tn.current=tn.current.map(y=>y.id===u.id?u:y)},[]),fo=G(u=>{let m=Fr.current.filter(y=>y.status===F.Executing);if(m.length!==0){if(u){let y=Fg(u);for(let b=m.length-1;b>=0;b-=1){let R=m[b];if(Fg(R.name)===y)return R}}return m[m.length-1]}},[]),os=G(()=>{let u=fo();ce(u?Wg(u.name):void 0)},[fo,ce]),Fx=G(u=>(Tu(u),_n([...Fr.current.filter(m=>m.id!==u.id),u]),os(),u),[_n,os,Tu]),is=G((u,m)=>{let y=Fr.current.find(R=>R.id===u);if(!y)return null;let b=m(y);return Tu(b),_n(Fr.current.map(R=>R.id===u?b:R)),os(),b},[_n,os,Tu]),jx=G((u,m,y)=>{if(u){let R=is(u,y);if(R)return R}let b=fo(m);return b?is(b.id,y):null},[fo,is]),Cu=G((u,m,y,b,R)=>{let _=u??fo(R)?.id;return _?is(_,$=>({...$,status:m,endTime:Date.now(),error:y,output:b})):null},[fo,is]),ac=G((u,m)=>{let y=Date.now(),b=new Map;for(let R of Fr.current){if(R.status!==F.Executing)continue;let _=m(R);b.set(R.id,{...R,status:u,endTime:y,..._})}return b.size===0?[]:(tn.current=tn.current.map(R=>b.get(R.id)??R),_n(Fr.current.map(R=>b.get(R.id)??R)),os(),[...b.values()])},[_n,os]),po=G(()=>{_n([])},[_n]),{showHelp:Ux,toggleHelp:XM,setShowHelp:Gx}=zg(),qM=G(u=>{ru(u),nu(u.trim().length===0)},[]),Iu=No(),Vx=me(()=>Iu?Iu.state.visible&&Iu.suggestions.length>0:!1,[Iu]),[cc,Kx]=Fe(!1),zx=xe(Jl),ri=G(()=>{en.current&&(clearTimeout(en.current),en.current=null),fr.current&&(clearTimeout(fr.current),fr.current=null)},[]);He(()=>{Vx&&!cc&&Kx(!0)},[Vx,cc]),He(()=>{Jl!==zx.current&&(zx.current=Jl,cc&&Kx(!1))},[Jl,cc]);let[st,bu]=Fe(null),oi=xe(null),[Ne,qn]=Fe(null),vu=xe(null),Ru=xe(Ne);Ru.current=Ne;let[an,ss]=Fe(""),[ku,Qn]=Fe(0),hm=xe(""),lc=xe(void 0),Yx=me(()=>{if(!Jo)return;let{contextWindow:u,triggerPercent:m,reservedResponseTokens:y}=Jo;return{currentTokens:vx??n.contextTokenSnapshot?.currentTokens??bs(n.messages),contextWindow:u,triggerPercent:m,reservedResponseTokens:y}},[n.messages,n.contextTokenSnapshot,Jo,vx]),uc=me(()=>{if(!st)return;let u=!!st.input._alwaysConfirm,m=O.permissionMode==="accept-edits"&&!u;return u?se("confirm.instruction.protected"):m?se("confirm.instruction.always"):se("confirm.instruction.basic")},[st,O.permissionMode]),gt=Ve.searchMode==="history",ie=Ve.surface==="transcript",mr=!!st||!!Ne||gt,At=ie?Ot?Tb:1e3:12,mo=Nk(a,Ve.surface),Xx=mo.shellMode,gm=mo.usesAlternateScreenShell,ii=mo.usesRendererViewportShell,Eu=mo.usesRendererMouseTracking,qx=mo.usesManagedMouseClicks,Qx=mo.usesManagedMouseWheel,ym=mo.usesManagedSelection,_t=Bk(a,Ve.surface,qv(Ve)),Jx=Qv(Ve),Mu=cc&&!ie,Zx=G(()=>Ry({items:es,managedLiveEvents:[],isLoading:j,isThinking:B.isThinking,thinkingCharCount:B.thinkingCharCount,thinkingContent:B.thinkingContent,currentResponse:B.currentResponse,currentTool:B.currentTool,activeToolCalls:ni,toolInputCharCount:B.toolInputCharCount,toolInputContent:B.toolInputContent,lastLiveActivityLabel:fu,workStripText:ei,iterationHistory:B.iterationHistory,currentIteration:B.currentIteration,isCompacting:B.isCompacting}),[es,j,B.isThinking,B.thinkingCharCount,B.thinkingContent,B.currentResponse,B.currentTool,ni,B.toolInputCharCount,B.toolInputContent,fu,ei,B.iterationHistory,B.currentIteration,B.isCompacting]);He(()=>{if(ie){Mx(u=>u??Zx());return}Mx(null)},[Zx,ie]);let dc=me(()=>Pk({isTranscriptMode:ie,snapshot:cm,currentItemsLength:es.length,currentManagedLiveEventsLength:0,isLoading:j,currentResponse:B.currentResponse,thinkingContent:B.thinkingContent,activeToolCallsLength:ni.length}),[ni.length,j,ie,es.length,B.currentResponse,B.thinkingContent,cm]),jt=ie?cm:null,xm=me(()=>Dk(gu),[gu]),QM=me(()=>!!(rc.length>0||Kk(Y)),[rc.length,Y]),Au=rc.length>0,nn=a.streamingPreview&&QM,as=me(()=>$k({surface:"transcript",snapshot:jt,promptItems:gu,transcriptItems:es}),[jt,gu,es]),fc=me(()=>{if(!ie||Ot||as.length<=ug)return as;let u=as.slice(-ug),m=as.length-u.length;return[Db(m,u[0]?.timestamp),...u]},[as,ie,Ot]),yt=jt?.isLoading??j,lt=a.streamingPreview?{isThinking:nn?!1:B.isThinking,thinkingCharCount:nn?0:B.thinkingCharCount,thinkingContent:nn?"":B.thinkingContent,currentResponse:nn?"":B.currentResponse,currentTool:nn?void 0:B.currentTool,activeToolCalls:nn?[]:ni,toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:nn?fu:void 0,iterationHistory:[],currentIteration:B.currentIteration,isCompacting:!1}:{isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentResponse:"",currentTool:void 0,activeToolCalls:[],toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:void 0,iterationHistory:[],currentIteration:B.currentIteration,isCompacting:!1},Re=a.streamingPreview?{isThinking:nn?!1:jt?.isThinking??B.isThinking,thinkingCharCount:nn?0:jt?.thinkingCharCount??B.thinkingCharCount,thinkingContent:nn?"":jt?.thinkingContent??B.thinkingContent,currentResponse:nn?"":jt?.currentResponse??B.currentResponse,currentTool:nn?void 0:jt?.currentTool??B.currentTool,activeToolCalls:nn?[]:jt?.activeToolCalls??ni,toolInputCharCount:nn?0:jt?.toolInputCharCount??B.toolInputCharCount,toolInputContent:nn?"":jt?.toolInputContent??B.toolInputContent,managedLiveEvents:[],lastLiveActivityLabel:jt?.lastLiveActivityLabel??fu,iterationHistory:nn?[]:jt?.iterationHistory??B.iterationHistory,currentIteration:jt?.currentIteration??B.currentIteration,isCompacting:jt?.isCompacting??B.isCompacting}:{isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentResponse:"",currentTool:void 0,activeToolCalls:[],toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:void 0,iterationHistory:[],currentIteration:jt?.currentIteration??B.currentIteration,isCompacting:!1},Ur=ie?Hr:lu,eS=!!lu,tS=G(()=>Ry({items:xm,managedLiveEvents:[],isLoading:j,isThinking:lt.isThinking,thinkingCharCount:lt.thinkingCharCount,thinkingContent:lt.thinkingContent,currentResponse:lt.currentResponse,currentTool:lt.currentTool,activeToolCalls:lt.activeToolCalls,toolInputCharCount:lt.toolInputCharCount,toolInputContent:lt.toolInputContent,lastLiveActivityLabel:lt.lastLiveActivityLabel,iterationHistory:lt.iterationHistory,currentIteration:lt.currentIteration,isCompacting:lt.isCompacting}),[j,xm,lt.activeToolCalls,lt.currentIteration,lt.currentResponse,lt.currentTool,lt.isCompacting,lt.isThinking,lt.iterationHistory,lt.lastLiveActivityLabel,lt.thinkingCharCount,lt.thinkingContent,lt.toolInputCharCount,lt.toolInputContent]);He(()=>{if(!eS){Ax(null);return}Ax(u=>u??tS())},[tS,eS]);let pc=Zt?.items??xm,cn=Zt?.isLoading??j,De=Zt?{isThinking:Zt.isThinking,thinkingCharCount:Zt.thinkingCharCount,thinkingContent:Zt.thinkingContent,currentResponse:Zt.currentResponse,currentTool:Zt.currentTool,activeToolCalls:Zt.activeToolCalls,toolInputCharCount:Zt.toolInputCharCount,toolInputContent:Zt.toolInputContent,managedLiveEvents:Zt.managedLiveEvents,lastLiveActivityLabel:Zt.lastLiveActivityLabel,iterationHistory:Zt.iterationHistory,currentIteration:Zt.currentIteration,isCompacting:Zt.isCompacting}:lt,Ut=ie?fc:pc,hr=ie?yt:cn,qe=ie?Re:De,nS=cn&&!B.currentResponse&&!B.thinkingContent&&ni.length===0,JM=sl(lm?.status==="running"),Nt=me(()=>MT(lm,Date.now()),[lm,JM]),rS=Nt.shouldRender?`Workflow ${Nt.workflow}${Nt.phase?` - ${Nt.phase}`:""}`:void 0,gr=me(()=>av(du,{now:Date.now(),lastAllCompletedAt:null}),[du]),oS=C<=20?1:kg,ZM=sl(pm.length>0),Sm=me(()=>v0(pm,oS,Date.now()),[oS,pm,ZM]),iS=w0({isTranscriptMode:ie,isLoading:j,hasWorkflowLiveSurface:Nt.shouldRender,childActivityVisible:Sm.shouldRender}),cs=me(()=>{if(!ie)return[];let u=[];return u.push(...ET(Nt)),j&&gr.shouldRender&&u.push(...ov(gr)),u},[ie,j,gr,Nt]),si=me(()=>({config:ur,sessionId:n.sessionId,workingDir:e.context?.executionCwd||e.context?.gitRoot||n.runtimeInfo?.executionCwd||n.gitRoot||process.cwd(),terminalWidth:k,compactionInfo:Jo??void 0}),[Jo,n.sessionId,ur,n.runtimeInfo?.executionCwd,e.context?.gitRoot,e.context?.executionCwd,k]),ho=me(()=>a.enabled&&Zp?qB(si):void 0,[si,a.enabled,Zp]),sS=xe($a),aS=xe(!1),wm=xe(!1),ls=FR({enabled:QB,useRendererViewportShell:ii,isTranscriptMode:ie,hasCommitHandle:typeof Li(v)?.commitInlineScrollback=="function"}),mc=me(()=>Uf({items:pc,viewportWidth:k,maxLines:At,showDetailedTools:!1,showAllContent:!1,windowed:!1}),[pc,k,At]),ai=me(()=>{let u=Gf({activeItems:mc.activeItems,viewportWidth:k,isLoading:cn,maxLines:At,isThinking:De.isThinking,thinkingCharCount:De.thinkingCharCount,thinkingContent:De.thinkingContent,streamingResponse:De.currentResponse,currentTool:De.currentTool,activeToolCalls:De.activeToolCalls,toolInputCharCount:De.toolInputCharCount,toolInputContent:De.toolInputContent,iterationHistory:De.iterationHistory,currentIteration:De.currentIteration,isCompacting:De.isCompacting,managedAgentMode:O.agentMode,managedPhase:cn?Y?.phase:void 0,managedHarnessProfile:cn?Y?.harnessProfile:void 0,managedWorkerTitle:cn?Y?.activeWorkerTitle:void 0,managedRound:cn?Y?.currentRound:void 0,managedMaxRounds:cn?Y?.maxRounds:void 0,managedGlobalWorkBudget:cn?Y?.globalWorkBudget:void 0,managedBudgetUsage:cn?Y?.budgetUsage:void 0,managedBudgetApprovalRequired:cn?Y?.budgetApprovalRequired:void 0,lastLiveActivityLabel:De.lastLiveActivityLabel,currentTodoActiveForm:Ji,showFullThinking:!1,showDetailedTools:!1,showAllContent:!1,showLiveProgressRows:nS}),m=Rb(mc,u,ho);return GR(m,ls)},[O.agentMode,ls,cn,De.activeToolCalls,De.currentIteration,De.currentTool,De.isCompacting,De.currentResponse,De.isThinking,De.iterationHistory,De.lastLiveActivityLabel,De.thinkingCharCount,De.thinkingContent,De.toolInputCharCount,De.toolInputContent,Y?.activeWorkerTitle,Y?.budgetApprovalRequired,Y?.budgetUsage,Y?.currentRound,Y?.globalWorkBudget,Y?.harnessProfile,Y?.maxRounds,Y?.phase,nS,mc,ho,k,At,Ji]),Tm=me(()=>Uf({items:fc,viewportWidth:k,maxLines:At,showDetailedTools:Ot,showAllContent:Ot,showFullThinking:!0,windowed:!1}),[fc,k,At,Ot]),_u=me(()=>{if(!ie||ii)return;let u=Gf({activeItems:Tm.activeItems,viewportWidth:k,isLoading:yt,maxLines:At,isThinking:Re.isThinking,thinkingCharCount:Re.thinkingCharCount,thinkingContent:Re.thinkingContent,streamingResponse:Re.currentResponse,currentTool:Re.currentTool,activeToolCalls:Re.activeToolCalls,toolInputCharCount:Re.toolInputCharCount,toolInputContent:Re.toolInputContent,iterationHistory:Re.iterationHistory,currentIteration:Re.currentIteration,isCompacting:Re.isCompacting,managedAgentMode:O.agentMode,managedPhase:yt?Y?.phase:void 0,managedHarnessProfile:yt?Y?.harnessProfile:void 0,managedWorkerTitle:yt?Y?.activeWorkerTitle:void 0,managedRound:yt?Y?.currentRound:void 0,managedMaxRounds:yt?Y?.maxRounds:void 0,managedGlobalWorkBudget:yt?Y?.globalWorkBudget:void 0,managedBudgetUsage:yt?Y?.budgetUsage:void 0,managedBudgetApprovalRequired:yt?Y?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Re.lastLiveActivityLabel,liveStatusLines:cs,currentTodoActiveForm:Ji,showFullThinking:!0,showDetailedTools:Ot,showAllContent:Ot,showLiveProgressRows:!Au,expandedItemKeys:Tn});return Xk(lg(Vf(Tm,u)),ho)},[O.agentMode,Tn,Au,ho,ie,Y?.activeWorkerTitle,Y?.budgetApprovalRequired,Y?.budgetUsage,Y?.currentRound,Y?.globalWorkBudget,Y?.harnessProfile,Y?.maxRounds,Y?.phase,k,yt,At,Tm,Re.activeToolCalls,Re.currentIteration,Re.currentResponse,Re.currentTool,Re.isCompacting,Re.isThinking,Re.iterationHistory,Re.lastLiveActivityLabel,Re.thinkingCharCount,Re.thinkingContent,Re.toolInputCharCount,Re.toolInputContent,Ot,cs,ii,Ji]),hc=me(()=>{if(_t)return ie?Xk(Kf({items:Ut,viewportWidth:k,isLoading:hr,maxLines:At,isThinking:qe.isThinking,thinkingCharCount:qe.thinkingCharCount,thinkingContent:qe.thinkingContent,streamingResponse:qe.currentResponse,currentTool:qe.currentTool,activeToolCalls:qe.activeToolCalls,toolInputCharCount:qe.toolInputCharCount,toolInputContent:qe.toolInputContent,iterationHistory:qe.iterationHistory,currentIteration:qe.currentIteration,isCompacting:qe.isCompacting,managedAgentMode:O.agentMode,managedPhase:hr?Y?.phase:void 0,managedHarnessProfile:hr?Y?.harnessProfile:void 0,managedWorkerTitle:hr?Y?.activeWorkerTitle:void 0,managedRound:hr?Y?.currentRound:void 0,managedMaxRounds:hr?Y?.maxRounds:void 0,managedGlobalWorkBudget:hr?Y?.globalWorkBudget:void 0,managedBudgetUsage:hr?Y?.budgetUsage:void 0,managedBudgetApprovalRequired:hr?Y?.budgetApprovalRequired:void 0,lastLiveActivityLabel:qe.lastLiveActivityLabel,liveStatusLines:cs,currentTodoActiveForm:Ji,windowed:!0,showFullThinking:ie,showDetailedTools:Ot,showAllContent:Ot,showLiveProgressRows:ie&&!Au,expandedItemKeys:ie?Tn:void 0}),ho):lg(ai)},[O.agentMode,hr,Ut,Au,ho,qe.activeToolCalls,qe.currentIteration,qe.currentResponse,qe.currentTool,qe.isCompacting,qe.isThinking,qe.iterationHistory,qe.lastLiveActivityLabel,qe.thinkingCharCount,qe.thinkingContent,qe.toolInputCharCount,qe.toolInputContent,Tn,ie,Y?.activeWorkerTitle,Y?.budgetApprovalRequired,Y?.budgetUsage,Y?.currentRound,Y?.globalWorkBudget,Y?.harnessProfile,Y?.maxRounds,Y?.phase,ai,j,ie,k,At,_t,cs,Ot,Ji]),yr=me(()=>hc??_u,[hc,_u]),gc=me(()=>vy({status:Y,isLoading:j,agentMode:O.agentMode}),[O.agentMode,j,Y]).workStripText,yc=jt?.workStripText??ei,us=me(()=>vy({status:Y,isLoading:j,agentMode:O.agentMode,parallelTextOverride:yc}),[O.agentMode,yc,j,Y]),ci=me(()=>qR(Ut).filter(u=>u!==zf),[Ut]),ot=me(()=>Pp(Ve,ci,Ve.selectedItemId),[ci,Ve]),In=me(()=>Ut.find(u=>u.id===ot),[Ut,ot]),cS=me(()=>({...Ve,supportsSelection:Ve.supportsSelection&&_t,supportsCopyOnSelect:Ve.supportsCopyOnSelect&&_t}),[Ve,_t]),Pn=me(()=>wk({state:cS,selectableItemIds:ci,selectedItemId:ot,selectedItemType:In?.type,isExpanded:ot?Tn.has(ot):!1}),[Tn,ci,In?.type,ot,cS]),lS=Pn.selectionEnabled,uS=Pn.copyCapabilities.copyOnSelect,aF=Pn.selectedItemIndex,dS=me(()=>XR(In),[In]),Lu=me(()=>VR(Ut.filter(u=>!fg(u))),[Ut]),Bt=me(()=>KR(Lu,an),[Lu,an]),Pu=me(()=>Ik({isHistorySearchActive:gt,historySearchQuery:an,matches:Bt,selectedIndex:ku,anchorItemId:Ve.searchAnchorItemId,useOverlaySurface:Ve.supportsOverlaySurface&&Ve.supportsSearchViewport&&_t}),[Bt,an,ku,gt,Ve.searchAnchorItemId,Ve.supportsOverlaySurface,Ve.supportsSearchViewport,_t]),go=Pu.clampedSelectedIndex,fS=Pu.statusText,Cm=Pu.detailText,pS=Pu.searchState,cF=Pn.detailState==="expanded",$u=Pn.selectionEnabled&&ci.length>0&&!Ur,ds=Pn.copyCapabilities.message,Du=Pn.copyCapabilities.toolInput,Ou=Pn.toggleDetail;He(()=>{if(gc){if(fr.current&&(clearTimeout(fr.current),fr.current=null),ei===gc)return;if(ei){en.current&&(clearTimeout(en.current),en.current=null),oc(gc);return}en.current&&clearTimeout(en.current),en.current=setTimeout(()=>{oc(gc),en.current=null},400);return}if(!ei){en.current&&(clearTimeout(en.current),en.current=null);return}en.current&&(clearTimeout(en.current),en.current=null),fr.current&&clearTimeout(fr.current),fr.current=setTimeout(()=>{oc(void 0),fr.current=null},300)},[ri,gc,ei]),He(()=>()=>{ri()},[ri]);let yo=me(()=>ek({state:Ve,ownsViewport:_t,isAwaitingUserInteraction:mr,isHistorySearchActive:gt,isTranscriptMode:ie,historySearchQuery:an}),[an,mr,gt,ie,Ve,_t]);He(()=>{dr(u=>{let m=Gv(u,Vn);return m=Uv(m,dc),m=Kv(m,a.enabled&&_t?!om||gt||mr:ie||gt||mr),m=Xv(m,go),m})},[go,a.enabled,Vn,mr,gt,ie,dc,_t,om]),He(()=>{ku!==go&&Qn(go)},[go,ku]),He(()=>{if(!gt){hm.current=an;return}if(an===hm.current)return;hm.current=an;let u=YR(Lu,Bt,Ve.searchAnchorItemId);Qn(u)},[Bt,an,gt,Ve.searchAnchorItemId,Lu]);let mS=ie?Re:{isThinking:De.isThinking,thinkingCharCount:De.thinkingCharCount,currentTool:De.currentTool,activeToolCalls:De.activeToolCalls,toolInputCharCount:De.toolInputCharCount,toolInputContent:De.toolInputContent,currentIteration:De.currentIteration,isCompacting:De.isCompacting},xc=ie?yt:cn,[Im,bm]=Fe(()=>tr(O.permissionMode)?d.getGuardrail().getEngine():void 0),Nu=me(()=>Sk({sessionId:n.sessionId,permissionMode:O.permissionMode,agentMode:O.agentMode,provider:O.provider,model:O.model??Tr(O.provider)??O.provider,thinking:O.thinking,reasoningMode:O.reasoningMode,effort:Jt,reasoningEffortLabel:To({provider:O.provider,model:O.model,effort:Jt,effortOverride:O.effortOverride,thinking:O.thinking,reasoningMode:O.reasoningMode}),isTranscriptMode:ie,streamingState:mS,maxIter:B.maxIter,contextUsage:Yx,learning:Cx,isLoading:xc,managedState:{phase:Y?.phase,harnessProfile:Y?.harnessProfile,workerTitle:Y?.activeWorkerTitle,round:Y?.currentRound,maxRounds:Y?.maxRounds,globalWorkBudget:Y?.globalWorkBudget,budgetUsage:Y?.budgetUsage,budgetApprovalRequired:Y?.budgetApprovalRequired,idleWaiting:Y?.idleWaiting,idleWaitingPendingCount:Y?.idleWaitingPendingCount},autoModeEngine:Im}),[n.sessionId,O.permissionMode,O.agentMode,O.provider,O.model,O.thinking,O.reasoningMode,O.effortOverride,Jt,ie,mS,B.maxIter,Yx,Cx,xc,Y?.phase,Y?.harnessProfile,Y?.activeWorkerTitle,Y?.currentRound,Y?.maxRounds,Y?.globalWorkBudget,Y?.budgetUsage,Y?.budgetApprovalRequired,Y?.idleWaiting,Y?.idleWaitingPendingCount,Im]),vm=st?"confirm":Ne?.kind,hS=me(()=>yk({isTranscriptMode:ie,isLoading:xc,streamingState:De,managedState:xc?{phase:Y?.phase,harnessProfile:Y?.harnessProfile,workerTitle:Y?.activeWorkerTitle}:void 0,waitingReason:vm,workflowBuilderMessage:_x??void 0,backgroundWorkflowMessage:rS}),[De.activeToolCalls,De.currentTool,De.isCompacting,De.isThinking,De.thinkingCharCount,De.toolInputCharCount,De.toolInputContent,ie,Y?.activeWorkerTitle,Y?.harnessProfile,Y?.phase,vm,xc,_x,rS]),Gr=hk({activity:hS})?hS:void 0,gS=Gr?.text,yS=!!Gr,xS=xe(!1);He(()=>{xS.current&&!j&&Wr(u=>u.length>0?[]:u),xS.current=j},[j]);let Rm=me(()=>Jf(Nu),[Nu]),SS=me(()=>Rm,[Rm]),wS=SS.text,eA=me(()=>f0(B.pendingInputs),[B.pendingInputs]),km=me(()=>cv({isHistorySearchActive:gt,isTranscriptMode:ie,pendingInputCount:B.pendingInputs.length,buffering:Ve.buffering,pendingLiveUpdates:dc}),[gt,ie,dc,B.pendingInputs.length,Ve.buffering]),TS=km.leftItems,CS=km.rightItems,IS=km.summary,Bu=me(()=>vk({historySearchQuery:an,pendingInputCount:B.pendingInputs.length}),[an,B.pendingInputs.length]),Hu=me(()=>[...bk({historySearchQuery:an,isHistorySearchActive:gt,historySearchMatchCount:Bt.length,pendingInputCount:B.pendingInputs.length,maxPendingInputs:5}),...bx],[Bt.length,an,gt,bx,B.pendingInputs.length]),bS=me(()=>Hu.map(u=>u.text).join(" | "),[Hu]),Wu=me(()=>Rk({inputText:nm,isTranscriptMode:ie,isHistorySearchActive:gt}),[nm,gt,ie]),vS=Ve.supportsOverlaySurface&&Ve.supportsSearchViewport&&_t,Fu=me(()=>Tk({runtime:Pn,itemSummary:dS}),[dS,Pn]),Em=me(()=>kk(Bu),[Bu]),RS=me(()=>Ek({textSelection:Ur,selectionState:Fu,isHistorySearchActive:gt,historySearchDetailText:Cm,historySearchHasMatches:!!fS&&Bt.length>0,showAllActive:Ot,baseFooterNotices:Bu}),[Ur,Bu,Cm,Bt.length,fS,gt,Ot,Fu]),tA=RS.secondaryText,nA=RS.budgetNotices,kS=ie?nA:Em,ES=C,MS=ie?"":nm,AS=ie?void 0:eA,_S=yc,LS=ie?!1:Ux,PS=Nt.shouldRender?nv(Nt):0,$S=j&&gr.shouldRender?gr.rows.length:0,DS=iS?yp(Sm):0,Gt=me(()=>Hv({terminalRows:ES,terminalWidth:k,windowedTranscript:ii,inputText:MS,footerHeaderText:IS,activitySummary:ie?void 0:gS,activityBarVisible:ie?!1:yS,workflowSurfaceRows:ie?0:PS,childActivitySurfaceRows:ie?0:DS,todoSurfaceRows:ie?0:$S,pendingInputSummary:AS,stashNoticeSummary:Wu,notificationSummary:bS,statusNoticeSummary:kS.join(" | "),workStripText:_S,suggestionsReserved:Mu,suggestionsMode:"inline",showHelp:LS,statusBarText:wS,confirmPrompt:st?.prompt,confirmInstruction:uc,dialogMode:"inline",reviewHint:a.enabled&&_t?void 0:yo.browseHintText,uiRequest:Ne?Ne.kind==="select"?{kind:"select",title:Ne.title,options:Ne.options.map(u=>({label:u.label,description:u.description})),buffer:Ne.buffer,error:Ne.error}:{kind:"input",prompt:Ne.prompt,defaultValue:Ne.defaultValue,buffer:Ne.buffer,error:Ne.error}:null}),[ES,k,MS,IS,gS,yS,ie,PS,DS,$S,AS,Wu,bS,kS,_S,Mu,vS,LS,wS,st,uc,a.enabled,yo.browseHintText,_t,Ne]),Mm=me(()=>{if(!ls)return{model:ai,committedSections:[]};let{committedSections:u,liveRows:m}=kb(mc.staticSections,ai.rows,ai.previewRows,Gt.messageRows);return{model:{...ai,staticSections:[],rows:m,previewRows:[]},committedSections:u}},[ls,ai,mc.staticSections,Gt.messageRows]),OS=Mm.model;He(()=>{let u=Li(v),m=typeof u?.commitInlineScrollback=="function",y=jR({active:ls,hasCommitHandle:m,wasActive:aS.current,forceRebuild:wm.current,prior:sS.current,finalizedSections:Mm.committedSections,bannerSection:ho,width:k,identify:Eb}),b=!1,R=!1;if(y.kind==="commit"){let $=y.sections.flatMap(Z=>Z.rows),N=WR($.length>0?[{key:"il-delta",rows:$}]:[],{width:k,theme:oe("dark")});if(R=N.length>0,y.mode==="append"&&!N)qk("empty-append-text");else try{u?.commitInlineScrollback?.({mode:y.mode,text:N}),b=!0}catch(Z){qk("commit-threw",Z)}}let _=UR(y,{committed:b,hadContent:R},wm.current);sS.current=_.state,aS.current=_.wasActive,wm.current=_.owns},[ls,Mm.committedSections,ho,k,v]);let rA=me(()=>ue(fp,{reserveSpace:Mu,width:k,hidden:ie,mode:"inline"}),[Mu,k,ie,vS]),Sc=me(()=>tk(Gt.messageRows),[Gt.messageRows]),NS=me(()=>nk(Sc),[Sc]),fs=!Jx&&a.transcriptSpinnerAnimation,wc=yr?yr.rows.length+yr.previewRows.length:PM,ju=G(u=>{yr||$M(u.scrollHeight)},[yr]),Tc=G(u=>ck({window:u,stickyHeader:yo.stickyHeader,width:k,topChromeRows:0}),[k,yo.stickyHeader]),ps=G((u=Qa.current,m=cu.current,y=im.current?Tc(im.current):au.current)=>{if(!y||u.length===0){Xi.current=null;return}au.current=y,Xi.current=lk(u,{allRows:m,rowIndexByKey:Sy(m),topOffsetRows:y.topOffsetRows,viewportHeight:y.contentWindow.viewportHeight,animateSpinners:fs})},[Tc,fs]),Cc=G(()=>{let u=au.current;return u?.contentWindow.viewportHeight&&u.contentWindow.viewportHeight>0?u.contentWindow.viewportHeight:Gt.messageRows},[Gt.messageRows]),oA=G(u=>{im.current=u;let m=Tc(u);au.current=m,ps(Qa.current,cu.current,m)},[ps,Tc]),Uu=G(u=>{Qa.current=u.rows,cu.current=u.allRows,ps(u.rows,u.allRows)},[ps]),rn=G(()=>{Kn.current=null,sm(void 0),am(void 0)},[]),Am=G(()=>{rn(),dr(u=>Pa(u,void 0))},[rn]);He(()=>{ps()},[ps]),He(()=>{OM(u=>rk(u,wc,Gt.messageRows))},[wc,Gt.messageRows]),He(()=>{if(!qi)return;let u=setTimeout(()=>{Ex(void 0)},2e3);return()=>{clearTimeout(u)}},[qi]);let Jn=G((u,m="success")=>{let y=u?.trim();y&&Ex({text:y,tone:m})},[]),iA=G(u=>{Jn(u,"warning")},[Jn]),ms=G((u,m)=>{let y=m instanceof Error?m.message:String(m);return`${u}: ${y}`},[]),Gu=G(async u=>{let m=u??Ur;if(!m)return!1;let y=m.text.trimEnd();if(!y)return!1;try{return await _c(y,{terminalWrite:L}),Jn(`Copied ${m.rowCount} selected line${m.rowCount===1?"":"s"} to clipboard.`,"success"),!0}catch(b){return Jn(ms("Failed to copy transcript selection",b),"warning"),!1}},[Ur,ms,Jn,L]),hs=G(u=>{if(!u||ik({items:Ut,renderModel:yr,terminalWidth:k,transcriptMaxLines:At,viewportRows:Cc(),itemId:u,visibleRows:Qa.current,expandedItemKeys:Tn,showDetailedTools:!1}))return;let m=sk({items:Ut,renderModel:yr,terminalWidth:k,transcriptMaxLines:At,viewportRows:Cc(),itemId:u,expandedItemKeys:Tn,showDetailedTools:!1});ou(m)},[Ut,k,At,yr,Tn,Cc,ou,Qa]),BS=G(u=>{dr(m=>Pa(m,u)),u&&hs(u)},[hs]),_m=G(u=>{u&&hs(u)},[hs]),HS=G(u=>{if(!$u)return;let m=QR(ci,ot,u);m&&BS(m)},[$u,ci,ot,BS]),WS=G(()=>{!Ou||!ot||(HM(u=>{let m=new Set(u);return m.has(ot)?m.delete(ot):m.add(ot),m}),hs(ot))},[hs,Ou,ot]),FS=G(async()=>{if(!ds||!In)return;let u=xy(In);if(u)try{await _c(u,{terminalWrite:L}),Jn("Copied selected transcript entry to clipboard.","success")}catch(m){Jn(ms("Failed to copy transcript entry",m),"warning")}},[ms,ds,In,Jn,L]),jS=G(async()=>{if(!Du||!In)return;let u=JR(In);if(u)try{await _c(u,{terminalWrite:L}),Jn("Copied selected tool args to clipboard.","success")}catch(m){Jn(ms("Failed to copy tool args",m),"warning")}},[ms,Du,In,Jn,L]),Ic=G(()=>cu.current,[]),US=G((u,m)=>{if(!a.enabled||!_t)return;let y=Xi.current;return y?Ty(y,u,m):void 0},[a.enabled,_t]),gs=G((u,m,y)=>{let b=Ic(),R=fk(b,u,m,{animateSpinners:fs,selectFullRowOnCollapsed:y?.selectFullRowOnCollapsed});ie?am(R):sm(R);let _=b[Math.max(0,Math.min(m.modelRowIndex,b.length-1))];return y?.updateSelectedItem&&_?.itemId&&dr($=>Pa($,_.itemId)),R},[ie,Ic,fs]),GS=G((u,m)=>{if(!u)return;Kn.current=null;let y={...u,focus:m?.focusPoint??u.focus};if(!(y.mode!=="char"||y.didDrag)){rn();return}let R=gs(y.anchor,y.focus,{selectFullRowOnCollapsed:!1,updateSelectedItem:!1});if(!R){rn();return}return m?.copySelection!==!1&&Gu(R),R},[rn,Gu,gs]),Lm=G(()=>{if(!ie||!Ut.length||st||Ne)return;rn();let u=ak({items:Ut,selectedItemId:ot,renderModel:yr,terminalWidth:k,transcriptMaxLines:At,viewportRows:Cc(),scrollOffset:Vn,expandedItemKeys:Tn,showDetailedTools:!1,preferViewportAnchor:!0});dr(m=>zv(m,{anchorItemId:u,initialMatchIndex:0})),ss(""),Qn(0)},[st,Ut,Tn,Vn,ie,ot,yr,k,At,Ne,Cc,rn]),Pm=G(()=>{dr(u=>Yv(u)),ss(""),Qn(0),rn()},[rn]),Vu=G(()=>{!gt||Bt.length===0||Qn(-1)},[Bt.length,gt]),VS=me(()=>{if(!st)return null;if(st.tool==="exit_plan_mode"){let u=typeof st.input.plan=="string"?st.input.plan:void 0;return{prompt:st.prompt.split(`
|
|
141
|
-
`,1)[0]??st.prompt,instruction:uc,planContent:u}}return{prompt:st.prompt,instruction:uc}},[uc,st]),KS=me(()=>Ne?Ne.kind==="select"?{kind:"select",title:Ne.title,options:Ne.options,buffer:Ne.buffer,error:Ne.error,visibleSelectOptions:Gt.visibleSelectOptions,focusedIndex:Ne.focusedIndex,selectedIndices:Ne.selectedIndices,multiSelect:Ne.multiSelect}:{kind:"input",prompt:Ne.prompt,defaultValue:Ne.defaultValue,buffer:Ne.buffer,error:Ne.error}:null,[Ne,Gt.visibleSelectOptions]),sA=me(()=>ue(pp,{confirm:VS,request:KS}),[VS,KS]),$m=me(()=>{if(qi)return ue(Z0,{text:qi.text,tone:qi.tone})},[qi]),Dm=me(()=>{if($m)return ue(E,{flexDirection:"column",width:"100%",children:$m})},[$m]),Ku=G(()=>{dr(u=>Vv(jv(u))),rm(!1),su(),ss(""),Qn(0),rn()},[rn,su]),zS=G(()=>{ie&&rm(u=>!u)},[ie]),aA=G(()=>{if(ie){Ku();return}rm(!1),dr(u=>Fv(u)),ss(""),Qn(0),rn()},[rn,Ku,ie]);He(()=>{lS||!Ve.selectedItemId||dr(u=>Pa(u,void 0))},[lS,Ve.selectedItemId]),He(()=>{if(!ie||!ds||!uS){lc.current=void 0;return}if(Hr||!ot||!In)return;if(!lc.current){lc.current=ot;return}if(lc.current===ot)return;lc.current=ot;let u=xy(In);u&&_c(u,{terminalWrite:L}).catch(()=>{})},[ie,In,ot,ds,uS,Hr,L]),He(()=>{if(v?.isTTY!==!0)return;let u=Li(v);u?.setShellMode?.(Xx,Eu),gm||u?.setAltScreenActive?.(!1)},[Xx,v,gm,Eu]);let Le=xe({...e,thinking:O.thinking,reasoningMode:O.reasoningMode,effort:Qe,agentMode:O.agentMode,workflowRunsBaseDir:wo("workflow-runs",xi(process.cwd()).key),context:{...e.context,gitRoot:n.gitRoot??void 0,executionCwd:n.runtimeInfo?.executionCwd??n.gitRoot??process.cwd(),repoIntelligenceMode:O.repoIntelligenceMode,repoIntelligenceTrace:O.repoIntelligenceTrace,toolConstructionMode:!0},session:{...e.session,id:n.sessionId,persistedByHost:!0},guardrails:My(O.permissionMode,d)});He(()=>{Le.current.effort=Qe},[Qe]);let bc=G(u=>{let m=u.workspaceRoot??void 0;n.runtimeInfo=u,n.gitRoot=m,Le.current.context={...Le.current.context,gitRoot:m,executionCwd:u.executionCwd??m??process.cwd()}},[n]),bn=xe(O.permissionMode);He(()=>{bn.current=O.permissionMode},[O.permissionMode]);let cA=me(()=>js(),[]),YS=xe(cA),wt=xe(O);He(()=>{wt.current=O},[O]);let Om=xe(null);Om.current===null&&(Om.current=wd({getProvider:o(()=>di(wt.current.provider),"getProvider"),getModel:o(()=>wt.current.model??"","getModel")}));let XS=xe(Id());He(()=>{O.permissionMode==="auto-in-project"&&XS.current()},[]);let Nm=G(u=>{We(y=>({...y,permissionMode:u})),bn.current=u;let m=gi({provider:wt.current.provider,model:wt.current.model,effort:wt.current.effort,effortOverride:wt.current.effortOverride,permissionMode:u,planModeEffort:wt.current.planModeEffort,thinking:wt.current.thinking,reasoningMode:wt.current.reasoningMode});Le.current={...Le.current,effort:m.runtimeEffort,guardrails:My(u,d)},bm(tr(u)?d.getGuardrail().getEngine():void 0),u==="auto-in-project"&&XS.current()},[d]),qS=xe(B.pendingInputs),at=xe(!1),QS=xe(0),Bm=xe(null),vc=xe(0),zu=G(()=>{if(Ya.current)return;let u=pu.current?.trim(),m=J.current.length>0?J.current[J.current.length-1]:void 0,y=m&&"text"in m&&typeof m.text=="string"?m.text.trim():void 0,R=sn.current.length>0?[...sn.current.map(_=>Yo(_)),...u&&u!==y?[{type:"info",text:u}]:[]]:[...sn.current.map(_=>Yo(_)),...jB(ye(),Ie(),{toolCalls:tn.current,toolNames:pr.current,infoItems:u&&u!==y?[u]:[]})];R.length!==0&&(Ya.current=!0,xu(sn.current),Yi.current?.(R))},[Ie,ye,xu]);He(()=>{qS.current=B.pendingInputs},[B.pendingInputs]);let JS=G(()=>{at.current=!0,he(),ee(),Oe(),X(),q(),Ke(),ce(void 0),po(),Ct(void 0),sc(),ti.current=[],Zi.current=[],pt.current=null,pu.current=null,nc([]),uu(null),Qi(null),ri(),oc(void 0),pe(!1),v?.isTTY===!0&&Li(v)?.clear?.()},[he,Ke,X,q,ri,po,sc,ce,nc,pe,Ct,ee,Oe,v]),Yu=G(u=>{let m=Ew(),y=m.list().filter(R=>R.status==="running"||R.status==="paused");if(y.length===0)return!1;for(let R of y)m.stop(R.runId,u);ec(R=>!R||R.status!=="running"||!y.some(_=>_.runId===R.runId)?R:{...R,status:"stopped",activeAgents:[],message:"Workflow stopped by user."});let b=y[0];return y.length===1&&b?Cn({type:"info",text:`Stopped workflow ${b.workflow} (${b.runId}).`},"workflow-stop"):Cn({type:"info",text:`Stopped ${y.length} active workflows.`},"workflow-stop"),!0},[Cn,ec]);He(()=>{if(!Nt.shouldRender)return;let u=o(()=>{Yu("stopped by Ctrl+C")},"handleSigint");return process.on("SIGINT",u),()=>{process.off("SIGINT",u)}},[Yu,Nt.shouldRender]),En(ln.Critical,u=>{let m=u.name==="escape",y=Date.now(),b=m&&!ie&&!mr&&qa&&B.pendingInputs.length===0&&(j||Nt.shouldRender),R=b&&(u.meta===!0||y-QS.current<LB);if(QS.current=b?y:0,cR({keyName:u.name,ctrl:!!u.ctrl,isTranscriptMode:ie,isAwaitingUserInteraction:mr,isInputEmpty:qa,isDoubleEscape:R,pendingInputCount:B.pendingInputs.length,hasTranscriptTextSelection:!!Hr,hasActiveWorkflow:Nt.shouldRender}))return Yu(u.ctrl?"stopped by Ctrl+C":"stopped by Escape");if(!j)return!1;switch(lR({keyName:u.name,ctrl:!!u.ctrl,isTranscriptMode:ie,isAwaitingUserInteraction:mr,isInputEmpty:qa,isDoubleEscape:R,pendingInputCount:B.pendingInputs.length,hasTranscriptTextSelection:!!Hr}).kind){case"interrupt":return zu(),JS(),!0;case"pop-pending-input":return ge(),!0;default:break}return!1},[j,ie,mr,qa,B.pendingInputs.length,ge,zu,JS,Yu,Hr,Nt.shouldRender]),En(ln.Critical,u=>{let m=iR({itemsLength:Ut.length,currentResponse:qe.currentResponse,thinkingContent:qe.thinkingContent,activeToolCallsLength:qe.activeToolCalls.length}),y=sR({keyName:u.name,hasTranscript:m,historyScrollOffset:Vn,reviewPageSize:Sc,reviewWheelStep:NS,hasMouse:!!u.mouse,mouseButton:u.mouse?.button,mouseAction:u.mouse?.action,usesManagedMouseClicks:qx,supportsMouseTracking:Ve.supportsMouseTracking,usesRendererMouseTracking:Eu,usesManagedMouseWheel:Qx,supportsWheelHistory:Ve.supportsWheelHistory});if(y.kind==="mouse-phase"){let R=u.mouse;if(!R)return!1;y.phase==="press"&&Kn.current&&GS(Kn.current);let _=US(R.row,R.column);if(y.phase==="press"){if(!_||!m)return Ur||ot?(Am(),!0):(rn(),!1);let $=Wk({previous:kx.current,time:Date.now(),row:R.row,column:R.column});kx.current=$;let N=$.count>=3?"line":$.count===2?"word":"char";if(Vu(),dr(Z=>Pa(Z,void 0)),ie?am(void 0):sm(void 0),N!=="char"){let Z=Up(Ic(),_.point,N);if(Z)return Kn.current={anchor:Z.start,focus:Z.end,didDrag:!1,mode:N,anchorSpan:Z},gs(Z.start,Z.end,{updateSelectedItem:!1}),!0}return Kn.current={anchor:_.point,focus:_.point,didDrag:!1,mode:"char"},!0}if(!Kn.current)return!1;if(y.phase==="drag"){let $=Xi.current,N=$?mk($,R.row):0;N!==0&&iu(N);let Z=_??($?Cy($,R.row,R.column):void 0);if(!Z)return!1;let re=Kn.current;if(re.mode!=="char"&&re.anchorSpan){let je=Up(Ic(),Z.point,re.mode);if(!je)return!1;let Ge=Ey(re.anchorSpan,je);return Kn.current={...re,anchor:Ge.anchor,focus:Ge.focus,didDrag:!0},gs(Ge.anchor,Ge.focus,{updateSelectedItem:!1}),!0}return Kn.current={...re,focus:Z.point,didDrag:!0},gs(re.anchor,Z.point,{updateSelectedItem:!1}),!0}if(y.phase==="release"){let $=Kn.current,N=$.focus,re=(_??(Xi.current?Cy(Xi.current,R.row,R.column):void 0))?.point??N;if($.mode!=="char"&&$.anchorSpan){let je=Up(Ic(),re,$.mode);if(je){let Ge=Ey($.anchorSpan,je);$.anchor=Ge.anchor,re=Ge.focus}}return GS($,{focusPoint:re}),!0}}if(y.kind==="scroll-by")return Vu(),iu(y.delta),!0;if(y.kind==="consume")return!0;let b=uR({key:u,isTranscriptMode:ie,isHistorySearchActive:gt,historySearchMatchCount:Bt.length,hasTextSelection:!!Ur,hasFocusedItem:!!ot,canCopySelectedItem:ds,canCopySelectedToolInput:Du,canToggleSelectedDetail:Ou,canCycleTranscriptSelection:$u});return dR({action:b,hasTranscript:m,isTranscriptMode:ie,pageScrollDelta:Sc,disarmHistorySearchSelection:Vu,scrollTranscriptBy:iu,closeHistorySearchSurface:Pm,backspaceHistorySearchQuery:o(()=>{ss(R=>R.slice(0,-1)),Qn(0)},"backspaceHistorySearchQuery"),stepHistorySearchSelection:o(R=>{Qn(_=>yy(Bt.length,_,R))},"stepHistorySearchSelection"),submitHistorySearchSelection:o(()=>{let R=Bt[go];R&&(_m(R.itemId),Pm())},"submitHistorySearchSelection"),appendHistorySearchQuery:o(R=>{ss(_=>_+R),Qn(0)},"appendHistorySearchQuery"),openHistorySearchSurface:Lm,clearTranscriptSelectionFocus:Am,exitTranscriptModeSurface:Ku,toggleTranscriptShowAll:zS,scrollTranscriptHome:o(()=>{ou(Math.max(0,wc-Gt.messageRows))},"scrollTranscriptHome"),scrollTranscriptToBottom:o(()=>{su(),rn()},"scrollTranscriptToBottom"),cycleTranscriptSelection:HS,copySelectedTranscriptText:o(()=>{Gu()},"copySelectedTranscriptText"),copySelectedTranscriptItem:o(()=>{FS()},"copySelectedTranscriptItem"),copySelectedTranscriptToolInput:o(()=>{jS()},"copySelectedTranscriptToolInput"),toggleSelectedTranscriptDetail:WS,navigateSearchMatch:o(R=>{Qn(_=>{let $=yy(Bt.length,_,R),N=Bt[$];return N&&_m(N.itemId),$})},"navigateSearchMatch"),dumpTranscriptToScrollback:o(()=>{fR({items:Ut.filter(R=>!fg(R)),exitAltScreen:o(()=>{L(wf({mouseTracking:!0}))},"exitAltScreen"),writeToScrollback:o(R=>{L(R)},"writeToScrollback"),enterAltScreen:o(()=>{L(Sf({mouseTracking:!0,clearOnEnter:!1}))},"enterAltScreen")})},"dumpTranscriptToScrollback")})},[ie,Ut,qe.currentResponse,qe.thinkingContent,qe.activeToolCalls,Vn,wc,Sc,NS,ot,Am,Ku,zS,Ve,iu,ou,su,$u,go,rn,Gu,Bt,Lm,Pm,Vu,HS,ds,FS,Du,jS,Ou,WS,_m,Ur,US,Ve.supportsMouseTracking,Hr,qx,Qx,ym,ii,Eu,gs,Gt.messageRows]),En(u=>{if(!st)return!1;let m=u.sequence.trim().toLowerCase(),y=!!st.input._alwaysConfirm,b=O.permissionMode==="accept-edits"&&!y,R=o(_=>{let $=`${se("dialog.confirm")} ${st.prompt}
|
|
142
|
-
\u2192 ${se(`confirm.result.${_}`)}`;!!rt.current.workerId?Ft({id:`confirm-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"info",text:$,timestamp:Date.now()}):W({type:"info",text:$})},"recordConfirmResult");return m==="y"||m==="yes"?(R("approved"),bu(null),oi.current?.({confirmed:!0}),oi.current=null,!0):b&&(m==="a"||m==="always")?(R("approved_always"),bu(null),oi.current?.({confirmed:!0,always:!0}),oi.current=null,!0):m==="n"||m==="no"||u.name==="escape"?(R("denied"),bu(null),oi.current?.({confirmed:!1}),oi.current=null,!0):u.insertable||u.name==="return"},{isActive:!!st,priority:ln.Critical});let Xu=G(u=>{qn(null),vu.current?.(u),vu.current=null},[]),Vr=G((u,m,y,b)=>m.length===0?Promise.resolve(void 0):new Promise(R=>{vu.current=R,qn({kind:"select",title:u,options:m,buffer:"",focusedIndex:0,selectedIndices:[],multiSelect:y,minSelections:b?.minSelections,maxSelections:b?.maxSelections})}),[]),lA=G((u,m)=>Vr(u,m.map(y=>({label:y,value:y}))).then(y=>Array.isArray(y)?y[0]:y),[Vr]),uA=G(async u=>{let m=e.learning;if(!m)return;let y=u;if(!y){let $=await m.list({limit:200});if($.items.length===0){tm([{id:"learning-center-empty",text:"Learning Center has no learned capabilities.",tone:"accent"}]);return}let N=await Vr("Learning Center \u2014 type to search",$.items.map(Z=>({label:`${Z.displayName} \xB7 ${Z.carrier} \xB7 ${Z.lifecycle}`,value:Z.slug})));y=Array.isArray(N)?N[0]:N}if(!y)return;let b=await m.get(y),R=await Vr(`${b.displayName} \xB7 ${b.carrier} \xB7 ${b.lifecycle}`,PB(b)),_=Array.isArray(R)?R[0]:R;_&&(await $B(m,b.slug,_),Ix(await m.getSnapshot()))},[e.learning,Vr]),ZS=G(async u=>{let m=u.options?jp(u.options):[],y=await Vr(by(u),m,!1);return y===void 0?Ls:Array.isArray(y)?y[0]??Ls:y},[Vr]);He(()=>{let u=!1;return(async()=>{let{bindAskUserForConstruction:m}=await import("./construction-bootstrap-ZJPXUPXQ.js");u||m(ZS)})(),()=>{u=!0,(async()=>{let{bindAskUserForConstruction:m}=await import("./construction-bootstrap-ZJPXUPXQ.js");m(null)})()}},[ZS]);let ys=G((u,m)=>new Promise(y=>{vu.current=b=>y(Array.isArray(b)?b[0]:b),qn({kind:"input",prompt:u,defaultValue:m,buffer:""})}),[]);En(u=>{let m=Ru.current;if(!m)return!1;if(u.name==="escape")return Xu(void 0),!0;if(m.kind==="select"){let y=m.options.length;if(u.name==="up"||u.sequence==="k")return qn(b=>b&&b.kind==="select"?{...b,focusedIndex:(b.focusedIndex-1+y)%y,error:void 0}:b),!0;if(u.name==="down"||u.sequence==="j")return qn(b=>b&&b.kind==="select"?{...b,focusedIndex:(b.focusedIndex+1)%y,error:void 0}:b),!0;if(u.sequence===" "&&m.multiSelect)return qn(b=>{if(!b||b.kind!=="select")return b;let R=b.focusedIndex,_=b.selectedIndices.includes(R)?b.selectedIndices.filter($=>$!==R):[...b.selectedIndices,R];return{...b,selectedIndices:_,error:void 0}}),!0;if(u.name==="return"){let b=Ru.current;if(!b||b.kind!=="select")return!1;if(b.multiSelect){let R=b.selectedIndices.length,{minSelections:_,maxSelections:$}=b,N=R===0&&_!==0?se("select.multiselect_empty"):_!==void 0&&R<_?se("select.multiselect_min",{min:String(_)}):$!==void 0&&R>$?se("select.multiselect_max",{max:String($)}):void 0;if(N!==void 0)return qn(re=>re&&re.kind==="select"?{...re,error:N}:re),!0;let Z=b.selectedIndices.slice().sort((re,je)=>re-je).map(re=>b.options[re]?.value).filter(re=>typeof re=="string"&&re.length>0);Xu(Z)}else Xu(b.options[b.focusedIndex]?.value);return!0}if(/^[1-9]$/.test(u.sequence)){let b=Number.parseInt(u.sequence,10)-1;if(b>=0&&b<y)return m.multiSelect?qn(R=>{if(!R||R.kind!=="select")return R;let _=R.selectedIndices.includes(b)?R.selectedIndices.filter($=>$!==b):[...R.selectedIndices,b];return{...R,focusedIndex:b,selectedIndices:_,error:void 0}}):qn(R=>R&&R.kind==="select"?{...R,focusedIndex:b,error:void 0}:R),!0}return!1}if(u.name==="return"){let y=Ru.current;if(!y||y.kind!=="input")return!1;let b=y.buffer.trim();return Xu(b===""?y.defaultValue??void 0:b),!0}return u.name==="backspace"||u.name==="delete"?(qn(y=>y&&y.kind==="input"?{...y,buffer:y.buffer.slice(0,-1),error:void 0}:y),!0):(u.insertable||u.isPasted===!0)&&!u.ctrl&&!u.meta?(qn(y=>y&&y.kind==="input"?{...y,buffer:y.buffer+u.sequence,error:void 0}:y),!0):!1},{isActive:!!Ne,priority:ln.Critical}),He(()=>{if(n.messages.length>0&&A.length===0){if(n.uiHistory?.length){let u=Lr(n.uiHistory);u.length!==n.uiHistory.length&&(n.uiHistory=u),ne(Al({messages:n.messages,uiHistory:u}));return}ne(Al({messages:n.messages}))}},[n.messages,n.uiHistory,A.length,ne]),He(()=>{sd(n.gitRoot)},[n.gitRoot]),He(()=>{process.env.KODAX_PREWARM_REPO_INTELLIGENCE!=="0"&&Tw({executionCwd:n.runtimeInfo?.executionCwd??n.gitRoot??process.cwd(),gitRoot:n.gitRoot??void 0},{mode:O.repoIntelligenceMode})},[n.gitRoot,n.runtimeInfo?.executionCwd,O.repoIntelligenceMode]);let Rc=G(()=>({onMemoryOutcomeDigest:o(u=>{n.lineage=ad(n.lineage??mt(n.messages),u)},"onMemoryOutcomeDigest"),onMemoryReviewReceipt:o(u=>{n.lineage=cd(n.lineage??mt(n.messages),u)},"onMemoryReviewReceipt"),onMemoryNotice:o(u=>{n.lineage=ld(n.lineage??mt(n.messages),{...u,createdAt:new Date().toISOString()}),W({type:"info",text:`[memory] ${u.summaries.slice(0,3).join("; ")}`})},"onMemoryNotice"),onThinkingDelta:o((u,m)=>{if(at.current||Ln(m,"thinking",u,{append:!0}))return;B.currentTool&&(ce(void 0),q());let{header:y}=Cv(ye()+u),b=y?`[Thinking: ${y}]`:"[Thinking]";Ct(vp(pt.current?.activeWorkerTitle?`[${pt.current.activeWorkerTitle}] ${b}`:b,pt.current?.activeWorkerTitle)),fe(u.length),Te(u),rt.current.workerId&&wu("thinking",u)},"onThinkingDelta"),onThinkingEnd:o((u,m)=>{if(at.current||Ln(m,"thinking",u))return;let y=ye(),b=Sv(y,u);b&&b!==y&&(X(),we(),fe(b.length),Te(b)),rt.current.workerId&&Wx(b),Oe()},"onThinkingEnd"),onTextDelta:o((u,m)=>{at.current||Ln(m,"assistant",u,{append:!0})||(B.currentTool&&(ce(void 0),q()),Oe(),Ct(void 0),ct(u),rt.current.workerId&&wu("assistant",u))},"onTextDelta"),onToolUseStart:o((u,m)=>{if(at.current||Ln(m,"tool",I0(u.name,u.input)))return;pr.current.includes(u.name)||(pr.current=[...pr.current,u.name]);let y=pt.current?.activeWorkerTitle?`[${pt.current.activeWorkerTitle}] `:"",b={id:u.id,name:`${y}${u.name}`,status:F.Executing,startTime:Date.now(),input:u.input};Fx(b),rt.current.workerId&&Xn(b),Ct(so(b,pt.current?.activeWorkerTitle))},"onToolUseStart"),onToolInputDelta:o((u,m,y)=>{if(at.current||Ln(y,"tool",u,{skipIfExisting:!0}))return;_e(m.length),tt(m);let b=jx(y?.toolId,u,R=>{let _=R.preview??"",$=gv(`${_}${m}`);return{...R,preview:$||void 0,input:R.input?$?{...R.input,preview:$}:{...R.input}:$?{preview:$}:void 0}});b&&(rt.current.workerId&&Xn(b),Ct(so(b,pt.current?.activeWorkerTitle)))},"onToolInputDelta"),onToolResult:o((u,m)=>{if(at.current||Ln(m,"tool",`${u.name} completed`))return;let y=typeof u.content=="string"?u.content:String(u.content??""),b=yv(y);if(/^\[(?:Tool Error|Error)\]/.test(y)){let _=Cu(u.id,F.Error,b,b,u.name);_&&(rt.current.workerId&&Xn(_),Ct(so(_,pt.current?.activeWorkerTitle)));return}if(/^\[(?:Cancelled|Blocked)\]/.test(y)){let _=Cu(u.id,F.Cancelled,void 0,b,u.name);_&&(rt.current.workerId&&Xn(_),Ct(so(_,pt.current?.activeWorkerTitle)));return}let R=Cu(u.id,F.Success,void 0,b||void 0,u.name);R&&(rt.current.workerId&&Xn(R),Ct(so(R,pt.current?.activeWorkerTitle)))},"onToolResult"),onToolProgress:o((u,m)=>{if(at.current||Ln(m,"progress",u.message))return;let y=u.message.length>100?u.message.slice(0,97)+"...":u.message,b=is(u.id,R=>({...R,preview:y,progressLines:[...(R.progressLines??[]).slice(-4),y]}));b&&rt.current.workerId&&Xn(b),Ct(y)},"onToolProgress"),onStreamEnd:o(u=>{if(at.current||gp(u))return;let m=ac(F.Cancelled,()=>({error:"Stream ended before the tool completed.",output:void 0})),y=m[m.length-1];rt.current.workerId&&m.forEach(b=>Xn(b)),y&&Ct(so(y,pt.current?.activeWorkerTitle)),Oe(),q(),ce(void 0)},"onStreamEnd"),onChildActivityEnd:o(u=>{$x(u)},"onChildActivityEnd"),hasPendingInputs:o(()=>qS.current.length>0,"hasPendingInputs"),onMidTurnUserMessages:o(u=>{if(!at.current)for(let m of u){let y=m.trim();y&&(rt.current.workerId?Ft({id:`mid-turn-user-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"user",text:y,timestamp:Date.now()}):W({type:"user",text:y}))}},"onMidTurnUserMessages"),onSidecarMessage:o(u=>{if(at.current)return;let m=u.suggestedFix?`${u.content}
|
|
143
|
-
Suggested fix: ${u.suggestedFix}`:u.content;if(u.delivery==="budget-exhausted")Bx({type:"sidecar",text:m,delivery:"budget-exhausted"},"sidecar-message");else{let y=u.verdict==="blocked"?"blocked":"revise";Bx({type:"sidecar",text:m,verdict:y},"sidecar-message")}},"onSidecarMessage"),onError:o(u=>{let m=fo();m?.name&&Ct(so(m,pt.current?.activeWorkerTitle));let y=ac(F.Error,()=>({error:u.message,output:void 0})),b=y[y.length-1];rt.current.workerId&&y.forEach(je=>Xn(je)),b&&Ct(so(b,pt.current?.activeWorkerTitle));let R=uw(u),_=["Transient","Permanent","Tool Call ID","User Abort"];if(R.category===Ec.USER_ABORT)return;let N=[`\u274C API Error (${_[R.category]||"Unknown"}): ${u.message}`];R.shouldCleanup&&N.push(" \u{1F9F9} Cleaned incomplete tool calls"),R.category===Ec.PERMANENT?(N.push(" \u{1F4A1} This error requires manual intervention. Please check:"),u.message.includes("auth")||u.message.includes("401")?(N.push(" - Your API key is valid"),N.push(" - Run /config to check provider settings")):u.message.includes("400")?(N.push(" - The request parameters are correct"),N.push(" - Try restarting the conversation")):N.push(" - The error details above")):R.category===Ec.TRANSIENT?N.push(" \u23F3 Retries exhausted. Press Enter to continue the conversation"):R.category===Ec.TOOL_CALL_ID&&N.push(" \u2705 Session cleaned, ready to continue");let Z=N.join(`
|
|
144
|
-
`);!!rt.current.workerId?Ft({id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"error",text:Z,timestamp:Date.now()}):W({type:"error",text:Z})},"onError"),onRetry:o((u,m,y,b)=>{if(at.current)return;let R=_l(u,m,y);if(tc(b,R.text)||Ln(b,"progress",R.text))return;!!rt.current.workerId?Ft({...R,id:`retry-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):W(R)},"onRetry"),onProviderRecovery:o((u,m)=>{if(at.current)return;let y=Ll(u);if(tc(m,y.text)||Ln(m,"progress",y.text))return;let b=!!rt.current.workerId,R=Ie().trim();R&&(b?wu("assistant",R):W({type:"assistant",text:R})),Ke(),X(),Oe(),q(),ce(void 0),po(),Ct(void 0),b?Ft({...y,id:`recovery-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):W(y)},"onProviderRecovery"),onManagedTaskStatus:o(u=>{if(at.current)return;let m=rt.current;if(Kk(u)){if(m.workerId&&m.workerId!==u.activeWorkerId)zM({workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle});else if(m.workerId!==u.activeWorkerId){let $=St.current,N=$.activeToolGroupTools.some(Z=>Z.status===F.Executing);St.current={workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle,...N?{activeToolGroupItemId:$.activeToolGroupItemId,activeToolGroupTools:$.activeToolGroupTools}:{activeToolGroupTools:[]}},rt.current={workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle}}}pt.current=u,uu(u);let y=Tv(u);YM(y);let b=Ma(u),_=Ma(u,{expanded:!0})??b;_&&(pu.current=_)},"onManagedTaskStatus"),onProviderRateLimit:o((u,m,y,b)=>{if(at.current)return;let R=Bm.current;if(Bm.current=null,uv(R,{attempt:u,maxAttempts:m,delayMs:y}))return;let _=`[Rate Limit] Retrying in ${y/1e3}s (${u}/${m})...`;tc(b,_)||Ln(b,"progress",_)||Cn({type:"info",icon:"\u23F3",text:_},"ratelimit")},"onProviderRateLimit"),onRetryAfter:o((u,m)=>{if(at.current)return;Bm.current={attempt:u.attempt,maxAttempts:u.maxAttempts,waitMs:u.waitMs};let y=Math.round(u.waitMs/1e3),b=u.source==="exponential-backoff"?"no-header \u2192 backoff":u.source,_=`[${u.reason==="overloaded"?"Overloaded":"Rate limited"}] (${u.provider}) \u2014 retrying in ${y}s [${b}] (${u.attempt}/${u.maxAttempts})`;tc(m,_)||Ln(m,"progress",_)||Cn({type:"info",icon:"\u23F3",text:_},"ratelimit")},"onRetryAfter"),onReasoningEffortRejected:o(u=>{fw(u.provider,u.model,u.effort,"observed",new Date().toISOString());let y=gi({provider:u.provider,model:u.model,effort:wt.current.effort,effortOverride:wt.current.effortOverride,permissionMode:wt.current.permissionMode,planModeEffort:wt.current.planModeEffort,thinking:wt.current.thinking,reasoningMode:wt.current.reasoningMode}).runtimeEffort;We(b=>({...b,effort:y,effortOverride:y!==void 0})),yi({effort:y}),Le.current.effort=y,Cn({type:"info",icon:"\u26A0",text:`[${u.provider}/${u.model} \u4E0D\u652F\u6301 effort "${u.effort}",\u5DF2\u8BB0\u5F55;\u540E\u7EED\u4E0D\u518D\u63D0\u4F9B\u8BE5\u6863${y?`,\u5DF2\u5207\u5230 ${y}`:""}]`},"ratelimit")},"onReasoningEffortRejected"),onRepoIntelligenceTrace:o(u=>{at.current||Cn(Dv(u),"repointel-trace")},"onRepoIntelligenceTrace"),onTodoUpdate:o(u=>{at.current||Wr(u)},"onTodoUpdate"),onScoutSuspiciousCompletion:o(u=>{at.current||zk&&Cn({type:"info",icon:"\u26A0",text:`[Scout] Completion marked uncertain \u2014 signals: ${u.signals.join(", ")}. Verify the result before continuing.`},"scout-uncertain")},"onScoutSuspiciousCompletion"),onIterationStart:o((u,m)=>{if(at.current)return;if(m&&V(m),pt.current?.globalWorkBudget){let re={...pt.current,budgetUsage:Math.min(pt.current.globalWorkBudget,(pt.current.budgetUsage??0)+1)};pt.current=re,uu(re)}let y=u>1?ye().trim():"",b=u>1?Py(Ie()):"",R=u>1?[...pr.current]:[],_=u>1?[...tn.current]:[],$=!!rt.current.workerId;Xe(u),$&&yu({clearOwner:!1});let N=Fr.current.filter(re=>re.status===F.Executing),Z=new Set(N.map(re=>re.id));if(pr.current=[],tn.current=tn.current.filter(re=>Z.has(re.id)),_n(N),q(),ce(void 0),Ct(vp(pt.current?.activeWorkerTitle?`[Thinking] [${pt.current.activeWorkerTitle}]`:void 0,pt.current?.activeWorkerTitle)),we(),u>1&&!$){let re=$y({thinking:y,response:b,toolCalls:_,toolNames:R});Yi.current?Yi.current(re):ne([...re])}},"onIterationStart"),beforeToolExecute:o(async(u,m)=>{let y=bn.current,b=Ps(y),R=YS.current,_=n.gitRoot;if($w(K.current,u,m))return`[Skipped] Previously denied operation. ${Dw(K.current)}`;if(y==="plan"&&(zr.has(u)||u==="undo"))return`[Blocked] Tool '${u}' is not allowed in plan mode (read-only). ${Uk}`;if(y==="plan"&&u==="bash"){let $=m.command??"";if(Qr($))return`[Blocked] Bash write operation not allowed in plan mode: ${$.slice(0,50)}... ${Uk}`}if(u==="bash"){let $=m.command??"";if(qr($))return!0}if(tr(y)&&Im==="llm")return!0;if(u==="bash"){let $=m.command??"",N=Lw($);if(N.level==="dangerous"){let Z=await xo(u,{...m,_dangerousCommand:!0});return Z.confirmed?Z.confirmed:(K.current=Xm(K.current,u,m,N.reason),`[Blocked] Dangerous command requires confirmation: ${N.reason}`)}}if(_){let $=!1;if(zr.has(u)){let N=m.path;N&&Ws(N,_)&&($=!0)}if(u==="bash"){let N=m.command;N&&kd(N,_)&&($=!0)}if($){let N=await xo(u,{...m,_alwaysConfirm:!0});if(bn.current==="plan"&&(zr.has(u)||u==="undo"))return!1;if(bn.current==="plan"&&u==="bash"){let Z=m.command??"";if(Qr(Z))return!1}return N.confirmed}}if(b.has(u)){if(y==="accept-edits"&&u==="bash"&&await Hs(u,m,R,Om.current??void 0))return!0;let $=await xo(u,m);if(bn.current==="plan"&&(zr.has(u)||u==="undo"))return!1;if(bn.current==="plan"&&u==="bash"){let N=m.command??"";if(Qr(N))return!1}if(!$.confirmed)return W({type:"info",text:se("cancelled")}),K.current=Xm(K.current,u,m),!1;$.always&&y==="accept-edits"&&(Md(u,m,!1),YS.current=js())}return!0},"beforeToolExecute"),askUser:o(async u=>{let m=Iy(u.options?jp(u.options):[],u),y=await Vr(by(u),m,u.multiSelect,{minSelections:u.minSelections,maxSelections:u.maxSelections});if(y===void 0)return Ls;if(y===wr){let b=await ys(u.customInputPrompt??u.question,u.customInputDefault);return b===void 0?Ls:{kind:"customInput",value:b}}if(Array.isArray(y)&&y.includes(wr)){let b=await ys(u.customInputPrompt??u.question,u.customInputDefault);return b===void 0?Ls:y.map(R=>R===wr?{kind:"customInput",value:b}:R)}return y},"askUser"),exitPlanMode:o(async u=>bn.current!=="plan"?"not-in-plan-mode":(await xo("exit_plan_mode",{plan:u})).confirmed?(Nm("accept-edits"),!0):!1,"exitPlanMode"),askUserMulti:o(async u=>{let m=u.questions,y={},b=0;for(;b<m.length;){let R=m[b],_=Iy(jp(R.options),R);b>0&&_.push({label:se("select.back_prev"),value:zm});let $=`[${b+1}/${m.length}] ${R.question}`,N=await Vr($,_,R.multiSelect,{minSelections:R.minSelections,maxSelections:R.maxSelections});if(N===void 0)return;if(!Array.isArray(N)&&N===zm){b--;continue}if(!Array.isArray(N)&&N===wr){let Z=await ys(R.customInputPrompt??R.question,R.customInputDefault);if(Z===void 0)return;y[R.question]={kind:"customInput",value:Z},b++;continue}if(Array.isArray(N)&&N.includes(wr)){let Z=await ys(R.customInputPrompt??R.question,R.customInputDefault);if(Z===void 0)return;y[R.question]=N.map(re=>re===wr?{kind:"customInput",value:Z}:re),b++;continue}y[R.question]=N,b++}return y},"askUserMulti"),askUserInput:o(async u=>ys(u.question,u.default),"askUserInput"),onCompactStart:o(()=>{Qt()},"onCompactStart"),onCompactStats:o(u=>{za.current=u.tokensBefore,Gn(u.tokensAfter)},"onCompactStats"),onCompactedMessages:o((u,m)=>{n.messages=u,m?.artifactLedger&&m.artifactLedger.length>0&&(n.artifactLedger=_s(n.artifactLedger??[],m.artifactLedger)),n.lineage=m?.anchor?ud(n.lineage,u,m.anchor,m.postCompactAttachments??[]):mt(u,n.lineage);let y=bs(u);n.contextTokenSnapshot={currentTokens:y,baselineEstimatedTokens:y,source:"estimate"},sr(n),Gn(y),eu.current?.().catch(()=>{})},"onCompactedMessages"),onCompact:o(u=>{P();let m=za.current??u;za.current=null;let y=Math.round(m/1e3);Cn({type:"info",icon:"\u2728",text:`Context auto-compacted (was ~${y}k tokens)`},"compact")},"onCompact"),onCompactEnd:o(()=>{za.current=null,P()},"onCompactEnd"),onIterationEnd:o(u=>{u.scope!=="worker"&&(n.contextTokenSnapshot=u.contextTokenSnapshot),Gn(u.tokenCount)},"onIterationEnd")}),[fe,Te,Oe,ct,ce,_e,tt,q,Xe,we,O,n,Qt,P,W,X,ye,Ie,yu,Ct,wu,Wx,Xn,Fx,jx,Cu,ac,fo,po,_n,$x,tc,Ln,Cn,B.currentTool]),xo=o((u,m)=>{let y=hv(u,m);return Yn(),new Promise(b=>{oi.current=b,bu({tool:u,input:m,prompt:y})})},"showConfirmDialog");He(()=>(f(async(u,m,y)=>(await xo(u.name,{...u.input,_reason:`[auto-mode] ${m}`,...y&&y.length>0?{_classifierSignals:y}:{}})).confirmed?"allow":"block"),p(u=>{bm(u)}),()=>{f(null),p(null)}),[]),He(()=>{h(O)},[O,h]),He(()=>{let u=o(()=>Rc(),"resolve");return Ym({askUser:o(m=>{let y=u().askUser;if(!y)throw new Error("askUser surface unavailable");return y(m)},"askUser"),askUserMulti:o(async m=>{let y=u().askUserMulti;return y?y(m):void 0},"askUserMulti"),askUserInput:o(async m=>{let y=u().askUserInput;return y?y(m):void 0},"askUserInput")}),()=>Ym(void 0)},[Rc]);let xs=o(async(u,m,y=n.lineage?Ht(n.lineage,n.lineage.activeEntryId):n.messages,b)=>{let R={...Rc(),getCostReport:H,onWorkflowProcessEvent:WM,onWorkflowAgentDigest:o(({runId:re,event:je})=>{let Ge=je.data??{},Vt=typeof Ge.summary=="string"?Ge.summary:void 0,li=typeof Ge.name=="string"?Ge.name:void 0,Cs=Ja.current,ui=Vt!==void 0||li!==void 0?Lc(Vt,li):Cs?.runId===re?Cs.locale??"en":"en",Je=Od(je,ui,re);Je&&(rt.current.workerId?Ft({id:`wf-digest-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"assistant",text:Je,timestamp:Date.now()}):$n([{type:"assistant",text:Je}]))},"onWorkflowAgentDigest")},$=id(n.gitRoot).getSystemPromptSnippet(),N=Ov(u.context,n.gitRoot,n.contextTokenSnapshot,$,n.runtimeInfo?.executionCwd);b&&b.length>0&&(N.inputArtifacts=[...b]),N.planModeBlockCheck=(re,je)=>bn.current!=="plan"?null:Co(re,je,n.gitRoot??n.runtimeInfo?.executionCwd??process.cwd());let Z={...u,session:{...u.session,initialMessages:y,initialExtensionState:n.extensionState??{},initialExtensionRecords:n.extensionRecords??[]},context:N,events:R,abortSignal:le()};try{return e.runtimeRunner?await e.runtimeRunner({options:Z,prompt:m,sessionId:n.sessionId,permissionMode:bn.current}):await Mc(Z,m)}finally{Cw()}},"runAgentRound"),vn=G(u=>{let m=mt([...u],n.lineage);return n.lineage=m,m},[n]),kc=G(async u=>{if(n.messages.length===0)return;let m=bo(n.messages),y=Lr(u??D.current);D.current=y,n.title=m,n.uiHistory=y;let b=n.lineage??vn(n.messages);n.lineage=b;let R={...n.extensionStateDirty?{extensionState:n.extensionState??{}}:{},...n.extensionRecordsDirty?{extensionRecords:n.extensionRecords??[]}:{}},_=Ba({messages:n.messages,title:m,gitRoot:n.gitRoot??"",runtimeInfo:n.runtimeInfo,tag:Le.current.session?.tag,uiHistory:y,lineage:b,artifactLedger:n.artifactLedger,...R});DB(i)?await i.appendSessionDelta(n.sessionId,_):await i.save(n.sessionId,_),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,Mp()&&Ap("persist",_p(n.messages,b,{historyItems:J.current,foregroundItems:sn.current,streamingResponse:Se.current.currentResponse,streamingThinking:Se.current.thinkingContent,persistedUiHistory:D.current}))},[n,vn,i]),Hm=G(()=>{if(tu.current)return tu.current;let u=(async()=>{try{for(;Zo.current.requested;){Zo.current.requested=!1;let m=Zo.current.uiHistoryOverride;Zo.current.uiHistoryOverride=void 0,await kc(m)}}finally{tu.current=null,Zo.current.requested&&Hm()}})();return tu.current=u,Rx.current=u,u},[kc]),Kr=G(u=>{if(u!==void 0){let m=Lr(u);D.current=m,Zo.current.uiHistoryOverride=m}return Zo.current.requested=!0,Hm()},[Hm]),dA=G(async()=>{if(Xa.current)return Xa.current;let u=(async()=>{at.current=!0,he(),ee(),Oe(),X(),q(),Ke(),ce(void 0),pe(!1),await Rx.current.catch(()=>{}),await eu.current?.().catch(()=>{}),_M(!1),M&&S?.isRaw&&w(!1),S?.pause?.(),S?.unref?.(),T(),c()})();return Xa.current=u.finally(()=>{Xa.current=null}),Xa.current},[he,Ke,X,q,T,M,c,ce,pe,w,S,ee,Oe]);He(()=>(eu.current=Kr,()=>{eu.current=null}),[Kr]);let qu=G(u=>{if(u.length===0)return;let m=Gp(D.current,u);D.current=m,Kr(m)},[Kr]),$n=G(u=>{u.length!==0&&(ne([...u]),qu(u))},[ne,qu]),Ss=G(u=>{u.length!==0&&(ne([...u]),D.current=Gp(D.current,u))},[ne]);He(()=>(Yi.current=$n,()=>{Yi.current=null}),[$n]);let ew=G(async u=>{Yn(),n.messages=u.messages,n.contextTokenSnapshot=u.contextTokenSnapshot,jk(n,u),vn(u.messages);let m=u.success===!1&&!u.interrupted,y=ye().trim(),b=TT(u.messages,Ie(),u.managedTask?.verdict.summary,u.lastText),R=St.current.workerTitle,_=[...sn.current],$=_.length>0;xu(_);let N=$&&_.some(Je=>Je.type==="assistant"&&"text"in Je&&Vk(String(Je.text??""),R)),Z=_.filter(Je=>Je.type!=="assistant"||!("text"in Je)||Vk(String(Je.text??""),R)),re=!m&&b&&!N,je=[...Zi.current],Ge=m?[]:je.length===0?zk?Ug(u):Ug(u).filter(Je=>!jg(Je)):[],Vt=$?[]:$y({thinking:y,response:void 0,toolCalls:tn.current,toolNames:pr.current}),li=[...Z.map(Je=>Yo(Je)),...Vt,...m?[]:je.map(Je=>Yo(Je)),...Ge.map(Je=>Gk(Je)),...re?[{type:"assistant",text:u.interrupted?`${b}
|
|
145
|
-
|
|
146
|
-
[Interrupted]`:b}]:!b&&!N&&!u.interrupted&&!m?[{type:"info",text:"[No response text was produced for this round]"}]:[]],Cs=Gp(D.current,li);X(),Ke();let ui=[...Z.map(Je=>Yo(Je)),...Vt,...m?[]:[...Ge.map(Je=>Gk(Je)),...je.map(Je=>Yo(Je))],...re?[{type:"assistant",text:u.interrupted?`${b}
|
|
147
|
-
|
|
148
|
-
[Interrupted]`:b}]:!b&&!N&&!u.interrupted&&!m?[{type:"info",text:"[No response text was produced for this round]"}]:[]];ne(ui),pr.current=[],tn.current=[],po(),q(),ce(void 0),Ct(void 0),sc(),ti.current=[],Zi.current=[],nc([]),ft(),Kr(Cs).catch(()=>{})},[ne,ft,q,Ke,X,n,Yn,Ie,ye,Kr,vn,po,sc,ce,Ct,B.currentIteration]),ws=G(async u=>{let m=u.trim();m&&(W({type:"user",text:m}),Zl(y=>y+1),sr(n))},[W,n]),Ts=G(async(u,m)=>{let y=vc.current;at.current=!1,Ya.current=!1,Va(!0);try{return await rR({initialPrompt:u,runRound:m,shiftPendingPrompt:Me,onRoundComplete:o(async b=>{vc.current===y&&await ew(b)},"onRoundComplete"),onBeforeQueuedRound:o(async b=>{at.current=!1,Ya.current=!1,await ws(b)},"onBeforeQueuedRound"),shouldContinue:o(b=>!at.current&&b.success!==!1,"shouldContinue"),shouldDrainQueuedPrompts:o(()=>Ka.current?Se.current.pendingInputs.length===0?(Ka.current=!1,!0):!1:!0,"shouldDrainQueuedPrompts")})}finally{Va(!1)}},[ew,Me,ws]),tw=G(async u=>{if(n.messages.length===0)return"empty";if(!Go(O,"Recovering into a new session",Hl))return"blocked";let y=n.sessionId,b=n.lineage??vn(n.messages);n.lineage=b;let R=n.artifactLedger?structuredClone(n.artifactLedger):void 0,_=md({sourceSessionId:y,messages:n.messages,lineage:b,artifactLedger:R,reason:"provider session recovery"}),$=n.title||bo(n.messages);await i.save(n.sessionId,Ba({messages:n.messages,title:$,gitRoot:n.gitRoot??"",runtimeInfo:n.runtimeInfo,tag:Le.current.session?.tag,uiHistory:D.current,lineage:b,artifactLedger:R,extensionState:n.extensionState,extensionRecords:n.extensionRecords}));let N=Wi(),Z=mt(_.messages);await i.save(N,Ba({messages:_.messages,title:_.title,gitRoot:n.gitRoot??"",runtimeInfo:n.runtimeInfo,tag:Le.current.session?.tag,uiHistory:[],lineage:Z,artifactLedger:R}));let re=new Date().toISOString();n.sessionId=N,n.messages=_.messages,n.uiHistory=[],n.title=_.title,n.contextTokenSnapshot=void 0,n.lineage=Z,n.artifactLedger=R,n.extensionState=void 0,n.extensionRecords=void 0,n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.createdAt=re,n.lastAccessed=re,D.current=[],Le.current.session={...Le.current.session,id:N},Gn(null),x(),Wr([]),Zm()?.reset(),Ce(N),g?.writer.update({sessionId:N}),Ss([{type:"info",text:`Recovered into new session ${N}
|
|
149
|
-
Source session saved: ${y}
|
|
150
|
-
Raw provider history was not replayed.`}]),await i.save(N,Ba({messages:n.messages,title:n.title,gitRoot:n.gitRoot??"",runtimeInfo:n.runtimeInfo,tag:Le.current.session?.tag,uiHistory:D.current,lineage:n.lineage,artifactLedger:n.artifactLedger}));let je=pd(u);try{await ws(je),await Ts(je,async Ge=>{let Vt=La(Ge,Le.current.context?.executionCwd??process.cwd());for(let li of Vt.warnings)W({type:"info",text:li});return xs(Le.current,Vt.promptText,n.messages,Vt.inputArtifacts)})}catch(Ge){let Vt=Ge instanceof Error?Ge.message:String(Ge);return $n([{type:"error",text:`[Recover failed] ${Vt}`}]),"failed"}return"recovered"},[W,$n,Ss,x,n,O,vn,Ts,ws,i,g]),Wm=G(async()=>{let u=Me();if(!u||!u.trim())return;let m=u.trim();await ws(m),await Ts(m,async y=>xs(Le.current,y))},[xs,Ts,Me,ws]),Fm=G(u=>{let m=u[u.length-1];if(m?.role!=="assistant")return;let y=Us(m);ne(y.map(Io))},[ne]),nw=G(async(u,m)=>{let y=await Ep({...Le.current,provider:O.provider,thinking:O.thinking,reasoningMode:O.reasoningMode},u,m,b=>W({type:"info",text:b}));if(y.mode==="manual"){y.manualOutput&&W({type:"info",text:y.manualOutput}),await y.finalize();return}if(!y.prompt||!y.options){await y.finalize();return}Va(!0);try{let b=y.mode==="fork"?[]:n.lineage?Ht(n.lineage,n.lineage.activeEntryId):n.messages,R=vc.current,_=await xs(y.options,y.prompt,b);if(vc.current!==R)await y.finalize();else{let $=D.current,N=[];if(y.mode==="fork"){let Z=_.messages.find(je=>je.role==="user");Z&&n.messages.push(Z);let re=_.messages.slice().reverse().find(je=>je.role==="assistant");if(re){n.messages.push({role:"assistant",content:re.content}),vn(n.messages);for(let je of Us(re)){let Ge=Io(je);W(Ge),N.push(Ge)}}}else{n.messages=_.messages,n.contextTokenSnapshot=_.contextTokenSnapshot,vn(_.messages),Fm(_.messages);let Z=_.messages[_.messages.length-1];if(Z?.role==="assistant")for(let re of Us(Z))N.push(Io(re))}jk(n,_),await kc(Gp($,N)),Mp()&&Ap("round-end",_p(n.messages,n.lineage,{historyItems:J.current,foregroundItems:sn.current,streamingResponse:Se.current.currentResponse,streamingThinking:Se.current.thinkingContent,persistedUiHistory:D.current})),await y.finalize()}}catch(b){let R=b instanceof Error?b:new Error(String(b));throw await y.finalize(R),Va(!1),R}Va(!1),await Wm()},[W,Fm,n,O.provider,O.thinking,Wm,kc,vn,xs]),fA=G(async u=>{for(let m of u.pastedContents)if(m.type==="text"&&!m.content&&m.contentHash)try{let y=await DT(m.contentHash);y&&(m.content=y)}catch{}},[]),pA=G(async u=>{let{displayText:m,fullText:y,pastedContents:b}=u;if(!y.trim()||!Tx||st||Ne)return;for(let ke of b){if(ke.type!=="text"||ke.content.length<1024)continue;let Pe=PT(ke.content);$T(Pe,ke.content)}if(Gx(!1),j){if(!em)return;if(B.pendingInputs.length>=5){Cn({type:"info",icon:"\u23F3",text:`Queued follow-up limit reached (${5}). Wait for the next round or press Esc to remove the latest item.`},"queue-limit");return}if(nR(y)){Cn({type:"info",icon:"\u26A0",text:eR},tR);return}let ke=B.currentTool;if(ke&&gd(ke)?.interruptBehavior==="cancel"){z(y),he({preservePendingInputs:!0}),ru(""),nu(!0),Zl(Rn=>Rn+1),sr(n);return}z(y),ru(""),nu(!0),Zl(Pe=>Pe+1),sr(n);return}let R=Py(Ie()),_=sn.current.map(ke=>Yo(ke)),$=_.length>0;_.length>0&&(xu(sn.current),Ss(_)),!$&&R&&Ss([{type:"assistant",text:R+`
|
|
151
|
-
|
|
152
|
-
[Interrupted]`}]),Ss([{type:"user",text:m}]),ru(""),nu(!0),Zl(ke=>ke+1),Mp()&&Ap("turn-start",_p(n.messages,n.lineage,{historyItems:J.current,foregroundItems:sn.current,streamingResponse:Se.current.currentResponse,streamingThinking:Se.current.thinkingContent,persistedUiHistory:D.current})),pe(!0),at.current=!1,Ya.current=!1,++vc.current,uu(null),Qi(null),pt.current=null,pu.current=null,Ct(void 0),sc(),ti.current=[],Zi.current=[],nc([]),ri(),oc(void 0),pr.current=[],tn.current=[],po(),mm(),Ke(),q(),ce(void 0),ft(),de(),sr(n),await new Promise(ke=>setTimeout(ke,50));let N=o(ke=>{if(ke.stage==="started"||ke.stage==="generating"||ke.stage==="validating"||ke.stage==="ready"){Qi(ke.message);return}Qi(null)},"handleWorkflowBuilderEvent"),Z=um,re=o(ke=>{if(ke.type==="event")return;let Pe=$t(ke.text).trimEnd();if(Pe.trim()){if(ke.type==="error"){W({type:"error",text:Pe});return}if(ke.type==="assistant"){$n([{type:"assistant",text:Pe}]);return}Cn({type:"info",text:Pe},"workflow-message")}},"handleWorkflowRunMessage"),je=o(async(ke,Pe,Rn)=>{if(xd({source:ke.source}).action==="none")return!1;let Zn=[],So=console.log;console.log=(...te)=>{Zn.push(Ay(te))};let xr=!1,Is=o(()=>{xr||(xr=!0,n.messages.push({role:"user",content:Pe||ke.request}))},"commitWorkflowUserMessage"),U={...Rn,onWorkflowRunMessage:o(te=>{if(Rn.onWorkflowRunMessage?.(te),te.type!=="assistant"||te.final!==!0)return;let be=$t(te.text).trimEnd();be.trim()&&(Is(),n.messages.push({role:"assistant",content:be}),vn(n.messages),Kr(),Se.current.pendingInputs.length>0&&(Ka.current=!0))},"onWorkflowRunMessage")};try{let te=await Nd({request:ke.request,callbacks:U,approval:O.permissionMode==="plan"?"required":"silent",presentation:"agentic",sourceLabel:ke.displayName,processSource:ke.processSource??"command",...ke.builtin!==void 0?{builtin:ke.builtin}:{},onBuilderEvent:U.onWorkflowBuilderEvent});return te==="started"&&Se.current.pendingInputs.length>0&&(Ka.current=!0),Sd({outcome:te})}finally{Qi(null),console.log=So;let te=_y(Zn.filter((be,Kt,Sr)=>Sr.indexOf(be)===Kt));te&&W({type:"info",text:te})}},"runWorkflowInvocation"),Ge=Si(y.trim());if(Ge){let ke=!1,Pe=o(U=>{Ge.command==="workflow"&&(ke||(ke=!0,n.messages.push({role:"user",content:y.trim()})),n.messages.push({role:"assistant",content:U}),vn(n.messages),Kr())},"commitSlashWorkflowFinalMessage"),Rn={getRuntimeStatus:e.getRuntimeStatus,learning:e.learning,getLearningSummary:e.learning?()=>e.learning.getSnapshot():void 0,openLearningCenter:uA,exit:dA,saveSession:o(async()=>{if(n.messages.length>0){let U=bo(n.messages);n.title=U;let te=n.lineage??vn(n.messages);n.lineage=te,await i.save(n.sessionId,Ba({messages:n.messages,title:U,gitRoot:n.gitRoot??"",runtimeInfo:n.runtimeInfo,tag:Le.current.session?.tag,uiHistory:D.current,lineage:te,artifactLedger:n.artifactLedger,extensionState:n.extensionState,extensionRecords:n.extensionRecords})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1}},"saveSession"),startNewSession:o(()=>{let U=Wi(),te=new Date().toISOString();n.sessionId=U,n.title="",n.uiHistory=[],n.contextTokenSnapshot=void 0,n.lineage=void 0,n.artifactLedger=void 0,n.extensionState=void 0,n.extensionRecords=void 0,n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,D.current=[],n.createdAt=te,n.lastAccessed=te,bc(r),Le.current.session={...Le.current.session,id:U},Gn(null),x(),Wr([]),Zm()?.reset(),Ce(U),g?.writer.update({sessionId:U})},"startNewSession"),loadSession:o(async U=>{let te=await i.load(U);if(te){if(!Go(O,"Resuming a saved session",Hl))return"blocked";let Kt=await Cr({cwd:process.cwd()}),Sr=Nn(te),Qu=Sr??Kt;return Sr?.workspaceRoot&&!Dd(Sr)&&(Qu=Kt),n.messages=te.messages,n.uiHistory=jo(te.uiHistory),n.lineage=te.lineage,n.artifactLedger=te.artifactLedger,n.extensionState=te.extensionState?structuredClone(te.extensionState):void 0,n.extensionRecords=te.extensionRecords?.map(Gm=>({...Gm})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.title=te.title,n.sessionId=U,n.contextTokenSnapshot=void 0,bc(Qu),Le.current.session={...Le.current.session,id:U,tag:te.tag},D.current=n.uiHistory??[],Gn(null),x(),Wr([]),Ce(U),g?.writer.update({sessionId:U}),console.log(ht.green(`[Session loaded: ${U}]`)),"loaded"}return"missing"},"loadSession"),listSessions:o(async()=>{let U=await i.list(n.gitRoot??void 0);if(U.length===0){console.log(ht.dim(`
|
|
153
|
-
[No saved sessions]`));return}console.log(ht.bold(`
|
|
154
|
-
Recent Sessions:
|
|
155
|
-
`));for(let te of U.slice(0,10))console.log(` ${ht.cyan(te.id)} ${ht.dim(`(${te.msgCount} messages)`)} ${te.title.slice(0,40)}`);console.log()},"listSessions"),clearHistory:o(()=>{n.uiHistory=[],x(),Wr([])},"clearHistory"),printHistory:o(()=>{if(n.messages.length===0){console.log(ht.dim(`
|
|
156
|
-
[No conversation history]`));return}console.log(ht.bold(`
|
|
157
|
-
Conversation History:
|
|
158
|
-
`));let U=n.messages.slice(-20);for(let te=0;te<U.length;te++){let be=U[te],Kt=ht.cyan(be.role.padEnd(10)),Sr=Pd(be.content),Qu=Sr.slice(0,60).replace(/\n/g," "),Gm=Sr.length>60?"...":"";console.log(` ${(te+1).toString().padStart(2)}. ${Kt} ${Qu}${Gm}`)}console.log()},"printHistory"),switchProvider:o((U,te)=>{let be=gi({provider:U,model:te,effort:wt.current.effort,effortOverride:wt.current.effortOverride,permissionMode:wt.current.permissionMode,planModeEffort:wt.current.planModeEffort,thinking:wt.current.thinking,reasoningMode:wt.current.reasoningMode});We(Kt=>({...Kt,provider:U,model:te})),Le.current.provider=U,Le.current.model=te,Le.current.effort=be.runtimeEffort,be.diagnostic&&console.log(ht.yellow(`
|
|
159
|
-
[${be.diagnostic}]`))},"switchProvider"),setThinking:o(U=>{let te=U?"auto":"off";We(be=>({...be,thinking:U,reasoningMode:te})),Le.current.thinking=U,Le.current.reasoningMode=te},"setThinking"),setEffort:o(U=>{We(te=>({...te,effort:U,effortOverride:U!==void 0}))},"setEffort"),setReasoningMode:o(U=>{let te=U!=="off";We(be=>({...be,thinking:te,reasoningMode:U})),Le.current.thinking=te,Le.current.reasoningMode=U},"setReasoningMode"),setAgentMode:o(U=>{We(te=>({...te,agentMode:U})),Le.current.agentMode=U},"setAgentMode"),setPermissionMode:o(U=>{Nm(U)},"setPermissionMode"),setRepoIntelligenceRuntime:o(U=>{We(te=>({...te,...U.mode!==void 0?{repoIntelligenceMode:U.mode}:{},...U.trace!==void 0?{repoIntelligenceTrace:U.trace}:{}})),U.mode!==void 0&&(process.env.KODAX_REPO_INTELLIGENCE=U.mode,Le.current.context={...Le.current.context,repoIntelligenceMode:U.mode}),U.trace!==void 0&&(U.trace?process.env.KODAX_REPO_INTELLIGENCE_TRACE="1":delete process.env.KODAX_REPO_INTELLIGENCE_TRACE,Le.current.context={...Le.current.context,repoIntelligenceTrace:U.trace})},"setRepoIntelligenceRuntime"),deleteSession:o(async U=>{await i.delete?.(U)},"deleteSession"),deleteAllSessions:o(async()=>{await i.deleteAll?.(n.gitRoot??void 0)},"deleteAllSessions"),printSessionTree:o(async()=>{let U=await i.getLineage?.(n.sessionId);if(!U){console.log(ht.dim(`
|
|
160
|
-
[No session tree available for this session]`));return}let te=Ip(dd(U));console.log(ht.bold(`
|
|
161
|
-
Session Tree:
|
|
162
|
-
`)),te.forEach(be=>console.log(` ${be}`)),console.log()},"printSessionTree"),switchSessionBranch:o(async U=>{if(!Go(O,"Switching session branches",Hl))return"blocked";let be=await i.setActiveEntry?.(n.sessionId,U,{summarizeCurrentBranch:!0});return be?(n.messages=be.messages,n.uiHistory=jo(be.uiHistory),n.extensionState=be.extensionState?structuredClone(be.extensionState):void 0,n.extensionRecords=be.extensionRecords?.map(Kt=>({...Kt})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.title=be.title,n.contextTokenSnapshot=void 0,bc(Nn(be)??n.runtimeInfo??r),D.current=n.uiHistory??[],Gn(null),x(),Wr([]),console.log(ht.green(`
|
|
163
|
-
[Switched to tree entry: ${U}]`)),console.log(ht.dim(` Messages: ${be.messages.length}`)),"switched"):"missing"},"switchSessionBranch"),labelSessionBranch:o(async(U,te)=>{if(!await i.setLabel?.(n.sessionId,U,te))return!1;let Kt=te&&te.trim()?`checkpoint label set: ${te.trim()}`:"checkpoint label cleared";return console.log(ht.green(`
|
|
164
|
-
[${Kt}]`)),!0},"labelSessionBranch"),forkSession:o(async U=>{if(!Go(O,"Forking a session branch",Hl))return"blocked";let be=await i.fork?.(n.sessionId,U);if(!be)return"failed";n.sessionId=be.sessionId,n.messages=be.data.messages,n.uiHistory=jo(be.data.uiHistory),n.extensionState=be.data.extensionState?structuredClone(be.data.extensionState):void 0,n.extensionRecords=be.data.extensionRecords?.map(Sr=>({...Sr})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.title=be.data.title,n.contextTokenSnapshot=void 0,bc(Nn(be.data)??n.runtimeInfo??r),D.current=n.uiHistory??[];let Kt=new Date().toISOString();return n.createdAt=Kt,n.lastAccessed=Kt,Le.current.session={...Le.current.session,id:be.sessionId},Gn(null),x(),Wr([]),Ce(be.sessionId),g?.writer.update({sessionId:be.sessionId}),console.log(ht.green(`
|
|
165
|
-
[Forked session: ${be.sessionId}]`)),console.log(ht.dim(` Messages: ${be.data.messages.length}`)),"forked"},"forkSession"),recoverSession:tw,rewindSession:o(async U=>{if(!Go(O,"Rewinding session",Hl))return"blocked";let be=await i.rewind?.(n.sessionId,U);return be?(n.messages=be.messages,n.uiHistory=jo(be.uiHistory),n.extensionState=be.extensionState?structuredClone(be.extensionState):void 0,n.extensionRecords=be.extensionRecords?.map(Kt=>({...Kt})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.title=be.title,n.contextTokenSnapshot=void 0,bc(Nn(be)??n.runtimeInfo??r),D.current=n.uiHistory??[],Gn(null),x(),Wr([]),console.log(ht.green(`
|
|
166
|
-
[Rewound session${U?` to ${U}`:" to previous turn"}]`)),console.log(ht.dim(` Messages: ${be.messages.length}`)),"rewound"):"failed"},"rewindSession"),getCostReport:o(()=>H.current?.()??null,"getCostReport"),getAutoModeStats:o(()=>{if(tr(bn.current))return d.getGuardrail().getStats()},"getAutoModeStats"),setAutoModeEngine:o(U=>{tr(bn.current)&&(d.getGuardrail().setEngine(U),bm(U))},"setAutoModeEngine"),createKodaXOptions:o(()=>({...Le.current,provider:O.provider,model:O.model,effort:Qe,thinking:O.thinking,reasoningMode:O.reasoningMode,agentMode:O.agentMode,guardrails:My(bn.current,d),events:Rc()}),"createKodaXOptions"),reloadAgentsFiles:o(async()=>await yd({cwd:process.cwd(),projectRoot:n.gitRoot??void 0}),"reloadAgentsFiles"),startCompacting:o(()=>{Qt()},"startCompacting"),stopCompacting:o(()=>{P()},"stopCompacting"),onCompactStats:o(U=>{za.current=U.tokensBefore,Gn(U.tokensAfter)},"onCompactStats"),confirm:o(async U=>(await xo("confirm",{_alwaysConfirm:!0,_message:U})).confirmed,"confirm"),onWorkflowBuilderEvent:N,onWorkflowRunMessage:o(U=>{if(re(U),U.type!=="assistant"||U.final!==!0)return;let te=$t(U.text).trimEnd();te.trim()&&Pe(te)},"onWorkflowRunMessage"),onWorkflowRunUpdate:Z,ui:{select:o(async(U,te)=>lA(U,te),"select"),confirm:o(async U=>(await xo("confirm",{_alwaysConfirm:!0,_message:U})).confirmed,"confirm"),input:o(async(U,te)=>ys(U,te),"input")}},Dn=[],Zn=console.log;console.log=(...U)=>{Dn.push(Ay(U))};let So,xr;try{let U=await wi(Ge,n,Rn,O);typeof U=="object"&&U!==null&&"invocation"in U&&(So=U.invocation),typeof U=="object"&&U!==null&&"workflow"in U&&(xr=U.workflow)}finally{Qi(null),console.log=Zn}let Is=_y(Dn);if(Is&&W({type:"info",text:Is}),xr){try{await je(xr,y.trim(),Rn)}finally{Se.current.pendingInputs.length>0&&(Ka.current=!0),pe(!1),ee(),X()}return}if(So){pe(!1),ee(),pe(!0),de(),we();try{await nw(So,y.trim())}catch(U){let te=U instanceof Error?U:new Error(String(U)),be=te.name==="AbortError"||te.message.includes("aborted")||te.message.includes("ABORTED");console.log=Zn,be?zu():$n([{type:"error",text:te.message}])}finally{pe(!1),ee(),X()}return}pe(!1),ee();return}let Vt=await Og(y.trim());if(y.trim().startsWith("!")&&Ml(Vt)){pe(!1),ee();return}let li=Le.current.context?.executionCwd??process.cwd(),Cs=o(ke=>{ke.length!==0&&$n(ke.map(Pe=>({type:"info",text:Pe})))},"emitArtifactWarnings");we();let ui=[],Je=console.log;console.log=(...ke)=>{ui.push(Ay(ke))};try{await Ts(Vt,async ke=>{let Pe=La(ke,Le.current.context?.executionCwd??process.cwd());return Cs(Pe.warnings),xs(Le.current,Pe.promptText,n.messages,Pe.inputArtifacts)})}catch(ke){let Pe=ke instanceof Error?ke:new Error(String(ke));if(Pe.name==="AbortError"||Pe.message.includes("aborted")||Pe.message.includes("ABORTED"))console.log=Je,zu();else{let Dn=Pe.message;if(Pe.message.includes("rate limit")||Pe.message.includes("Rate limit")?Dn=`[Rate Limit] ${Pe.message}
|
|
167
|
-
Suggestion: Wait a moment and try again, or switch provider with /mode`:Pe.message.includes("API key")||Pe.message.includes("not configured")?Dn=`[Configuration Error] ${Pe.message}
|
|
168
|
-
Suggestion: Set the required API key environment variable`:Pe.message.includes("network")||Pe.message.includes("ECONNREFUSED")||Pe.message.includes("ETIMEDOUT")?Dn=`[Network Error] ${Pe.message}
|
|
169
|
-
Suggestion: Check your internet connection`:(Pe.message.includes("token")||Pe.message.includes("context too long"))&&(Dn=`[Context Error] ${Pe.message}
|
|
170
|
-
Suggestion: Use /clear to start fresh`),console.log=Je,rt.current.workerId?Ft({id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"error",text:Dn,timestamp:Date.now()}):$n([{type:"error",text:Dn}]),Hd({error:Pe,messageCount:n.messages.length})){let Zn={type:"info",text:Pc};if(rt.current.workerId?(Ft({id:`recover-hint-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,...Zn,timestamp:Date.now()}),qu([Zn])):$n([Zn]),(await xo("confirm",{_alwaysConfirm:!0,_message:Bd})).confirmed)try{await tw(Vt)}catch(xr){let Is=xr instanceof Error?xr.message:String(xr);$n([{type:"error",text:`[Recover failed] ${Is}`}])}}}}finally{if(console.log=Je,ui.length>0){let Pe=ui.filter((Dn,Zn,So)=>So.indexOf(Dn)===Zn),Rn=_y(Pe);Rn&&W({type:"info",text:Rn})}if(!at.current){let Pe=ac(F.Cancelled,()=>({error:"Run ended before the tool result was observed.",output:void 0}));Pe.length>0&&rt.current.workerId&&Pe.forEach(Rn=>Xn(Rn))}pe(!1),ee(),Ke(),mm(),X();let ke=bs(n.messages);n.contextTokenSnapshot={currentTokens:ke,baselineEstimatedTokens:ke,source:"estimate"},Gn(ke)}},[Tx,n,O,em,B.pendingInputs.length,i,st,Ne,T,c,W,x,de,ee,Ke,Rc,nw,le,Ie,ye,Ft,Ss,$n,Fm,kc,Kr,qu,vn,Ts,Wm,Qt,P,po,mm,ac,Xn,ri,Za,ec]),rw=Nt.shouldRender?ue(E,{paddingX:1,children:ue(rv,{viewModel:Nt})}):void 0,ow=j&&gr.shouldRender?ue(E,{paddingX:1,children:ue(ev,{viewModel:gr})}):void 0,iw=iS?ue(E,{paddingX:1,children:ue(xp,{viewModel:Sm})}):void 0,mA=rw||ow||iw?Sn(E,{flexDirection:"column",children:[ow,rw,iw]}):void 0,sw=Nt.shouldRender?Nt.counterText:void 0,hA=ue(gl,{left:ue(ml,{items:TS}),right:ue(hl,{items:CS}),queued:ue(mp,{pendingInputs:B.pendingInputs}),stashNotice:ue(Il,{text:Wu}),notifications:ue(Cl,{notifications:Hu}),inlineNotices:Em.length>0?ue(hp,{notices:Em}):void 0,activityBar:Gr?Sn(E,{paddingX:1,flexDirection:"row",children:[Sn(E,{flexGrow:1,children:[Gr?.showSpinner?ue(Mn,{color:oe("dark").colors.accent}):null,Gr?Sn(I,{color:Gr.kind==="waiting"?oe("dark").colors.warning:oe("dark").colors.accent,wrap:"truncate",children:[Gr.showSpinner?" ":"",Gr.text]}):null,Gr?.showSpinner&&B.roundStartedAt!=null?ue(rb,{roundStartedAt:B.roundStartedAt,charCount:B.currentResponse.length,theme:oe("dark")}):null]}),sw?ue(I,{dimColor:!0,wrap:"truncate",children:sw}):j&&gr.shouldRender?ue(I,{dimColor:!0,wrap:"truncate",children:`${gr.completedCount}/${gr.totalCount} completed`}):null]}):void 0,todoSurface:mA,composer:ue(ap,{onSubmit:pA,onHistoryRecall:fA,onPopPendingInputs:o(()=>{let u=Q();if(u.length!==0)return u.join(`
|
|
171
|
-
---
|
|
172
|
-
`)},"onPopPendingInputs"),prompt:">",placeholder:gk({isLoading:j,canQueueFollowUps:em,waitingReason:vm}),focus:!st&&!Ne&&!gt,cwd:process.cwd(),gitRoot:e.context?.gitRoot||n.gitRoot,onInputChange:qM,onPasteFallback:iA}),inlineSuggestions:rA,helpSurface:Ux?ue(lp,{sections:Lp()}):void 0,taskBar:yc?ue(bl,{items:us.backgroundTask.items,overflowLabel:us.backgroundTask.overflowLabel,ctaHint:us.backgroundTask.ctaHint,showSpinner:j}):void 0,statusLine:ue(E,{children:ue(Ni,{...Nu,viewModel:SS})}),inlineDialogs:sA}),gA=ue(gl,{left:ue(ml,{items:TS}),right:ue(hl,{items:CS}),stashNotice:ue(Il,{text:Wu}),notifications:ue(Cl,{notifications:Hu}),composer:ue(q0,{searchActive:gt,selectionActive:!!(Ur||ot),showAllActive:Ot,searchQuery:an,searchCurrent:Bt.length>0?go+1:0,searchCount:Bt.length,searchDetailText:Cm,pendingLiveUpdates:dc,secondaryText:tA}),taskBar:yc?ue(bl,{items:us.backgroundTask.items,overflowLabel:us.backgroundTask.overflowLabel,ctaHint:us.backgroundTask.ctaHint,showSpinner:yt}):void 0,statusLine:ue(E,{children:ue(Ni,{...Nu,viewModel:Rm})})}),jm=G(u=>ue(Q0,{banner:u?.bannerVisible?ue(Ly,{...si}):void 0,items:pc,isLoading:cn,viewportRows:Gt.messageRows,viewportWidth:k,scrollOffset:Vn,windowed:!!u?.rendererWindow,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?hc:OS,maxLines:At,selectedTextRanges:ym?lu?.rowRanges:void 0,onMetricsChange:ju,onVisibleRowsChange:Uu}),[si,pc,cn,ju,Uu,Vn,OS,k,At,lu?.rowRanges,Gt.messageRows,ym]),Um=G(u=>ue(J0,{banner:u?.bannerVisible?ue(Ly,{...si}):void 0,items:fc,browse:{hintText:yo.browseHintText},selection:Fu,search:pS,isLoading:yt,isThinking:Re.isThinking,thinkingCharCount:Re.thinkingCharCount,thinkingContent:Re.thinkingContent,streamingResponse:Re.currentResponse,currentTool:Re.currentTool,activeToolCalls:Re.activeToolCalls,toolInputCharCount:Re.toolInputCharCount,toolInputContent:Re.toolInputContent,iterationHistory:Re.iterationHistory,currentIteration:Re.currentIteration,isCompacting:Re.isCompacting,agentMode:O.agentMode,managedPhase:yt?Y?.phase:void 0,managedHarnessProfile:yt?Y?.harnessProfile:void 0,managedWorkerTitle:yt?Y?.activeWorkerTitle:void 0,managedRound:yt?Y?.currentRound:void 0,managedMaxRounds:yt?Y?.maxRounds:void 0,managedGlobalWorkBudget:yt?Y?.globalWorkBudget:void 0,managedBudgetUsage:yt?Y?.budgetUsage:void 0,managedBudgetApprovalRequired:yt?Y?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Re.lastLiveActivityLabel,liveStatusLines:cs,viewportRows:Gt.messageRows,viewportWidth:k,scrollOffset:Vn,windowed:!!u?.windowed,animateSpinners:!!u?.rendererWindow&&fs,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?hc:_u,maxLines:At,showDetailedTools:Ot,showAllContent:Ot,selectedItemId:Pn.selectionEnabled?ot:void 0,selectedTextRanges:Hr?.rowRanges,expandedItemKeys:Pn.selectionEnabled?Tn:void 0,onMetricsChange:ju,onVisibleRowsChange:Uu}),[si,O.agentMode,yt,Tn,a.transcriptSpinnerAnimation,ju,Uu,Vn,Jx,Y?.activeWorkerTitle,Y?.budgetApprovalRequired,Y?.budgetUsage,Y?.currentRound,Y?.globalWorkBudget,Y?.harnessProfile,Y?.maxRounds,Y?.phase,hc,_u,yo.browseHintText,ot,Fu,k,fs,fc,At,Re.activeToolCalls,Re.currentIteration,Re.currentResponse,Re.currentTool,Re.isCompacting,Re.isThinking,Re.iterationHistory,Re.lastLiveActivityLabel,Re.thinkingCharCount,Re.thinkingContent,Re.toolInputCharCount,Re.toolInputContent,cs,Hr?.rowRanges,pS,Ot,Gt.messageRows]),yA=ie?Um({bannerVisible:!1,windowed:_t}):jm({bannerVisible:!1}),aw=ie?gA:hA,xA=a.enabled&&ii,cw=Sn(E,{flexDirection:"column",width:k,flexShrink:0,flexGrow:xA?1:0,children:[ue(Yg,{currentConfig:O,setCurrentConfig:We,isLoading:j,abort:he,stopThinking:Oe,clearThinkingContent:X,setCurrentTool:ce,setIsLoading:pe,onToggleHelp:XM,setShowHelp:Gx,onSetThinking:o(u=>{Le.current.thinking=u},"onSetThinking"),onSetReasoningMode:o(u=>{Le.current.reasoningMode=u,Le.current.thinking=u!=="off"},"onSetReasoningMode"),onToggleTranscriptMode:aA,onOpenTranscriptSearch:Lm,canOpenTranscriptSearch:ie&&!st&&!Ne,isInteractiveDialogActive:!!(st||Ne),onSetAgentMode:o(u=>{Le.current.agentMode=u},"onSetAgentMode"),onSetPermissionMode:o(u=>{Nm(u)},"onSetPermissionMode"),isInputEmpty:qa,onSavePermissionMode:gT}),Zp&&(a.enabled?null:ue(oa,{items:[1],children:o(()=>ue(Ly,{...si},"banner"),"children")})),ii?ue(rp,{width:k,stickyHeader:yo.stickyHeader,jumpToLatest:yo.jumpToLatest,transcript:!a.enabled||!_t?ie?Um({bannerVisible:!1}):jm({bannerVisible:!1}):void 0,renderTranscriptWindow:a.enabled&&_t?u=>(()=>{let y=Tc(u).contentWindow;return ie?Um({bannerVisible:!1,windowed:!0,rendererWindow:y}):jm({bannerVisible:!1,rendererWindow:y})})():void 0,overlay:Dm,scrollTop:Vn,scrollHeight:wc,viewportHeight:Gt.messageRows,stickyScroll:!ie&&!mr&&om,overscanRows:YB,scrollRef:DM,onWindowChange:oA,onScrollTopChange:NM,onStickyChange:BM,footer:aw}):Sn(_B,{children:[Sn(E,{flexDirection:"column",flexGrow:1,children:[yA,Dm?ue(E,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:Dm}):null]}),aw]})]});return gm?ue(Bh,{mouseTracking:mo.usesRendererMouseTracking,children:cw}):cw},"InkREPLInner"),ZB=o(e=>{let t=process.cwd(),n=e.options?.context?.gitRoot??void 0;return ue(Sl,{children:ue(kl,{getPendingInputAgentId:o(()=>rd(e.context.sessionId,"/root"),"getPendingInputAgentId"),children:ue(nl,{children:ue(Kg,{children:ue(Mf,{cwd:t,gitRoot:n,children:ue(JB,{...e})})})})})})},"InkREPL");function eH(){return process.stdin.isTTY===!0&&typeof process.stdin.setRawMode=="function"}o(eH,"isRawModeSupported");async function Vp(e){if(!eH())throw new Km("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 Fi,n=ko(),r=Eo(),i=Mo(n,r),{prepareRuntimeConfig:s}=await import("./utils-OTT5CG5J.js"),{loadCompactionConfig:a}=await import("./compaction-config-TWCDFLX6.js"),{resolveProvider:c}=await import("./dist-JT4ATXVM.js"),l=s(),d=Os({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,configuredProvider:l.provider,defaultProvider:Ju}),f=Ns({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,explicitModel:e.model,configuredProvider:l.provider,configuredModel:l.model}),p=NB(e,l),h=Bs({explicitEffort:e.effort,environmentEffort:process.env.KODAX_EFFORT,configuredEffort:l.effort}),g=vd(e,l,process.env.KODAX_EFFORT),T=e.agentMode??l.agentMode??"ama",v=p!=="off",C=$s(l.permissionMode,"accept-edits")??"accept-edits",S=hd(),w=l.repoIntelligenceTrace===!0,M={provider:d,model:f,effort:h,effortOverride:g,planModeEffort:l.planModeEffort,thinking:v,reasoningMode:p,agentMode:T,permissionMode:C,repoIntelligenceMode:S.mode,repoIntelligenceTrace:w},L=e.session?.id,A=[],H,K,W,ne,x,Ce="",J=await Cr({cwd:process.cwd()}),D=J.workspaceRoot??void 0,k=J,B=D,Se=od({meta:{cwd:process.cwd(),startedAt:Date.now()}});if(Se){let X=o(()=>{Se.shutdown()},"teamModeCleanup");process.on("exit",X),process.on("SIGTERM",X)}try{let{bootstrapConstructionRuntime:X}=await import("./construction-bootstrap-ZJPXUPXQ.js"),ce=await X(D??process.cwd());if(ce.loaded>0||ce.failed>0||ce.tampered>0){let _e=ce.failed>0?`; ${ce.failed} failed`:"",tt=ce.tampered>0?`; ${ce.tampered} skipped due to manifest contentHash mismatch \u2014 re-stage and re-activate to re-approve`:"";Lt({source:"repl:construction",level:ce.failed>0||ce.tampered>0?"warn":"info",message:`Rehydrated ${ce.loaded} active tool(s)${_e}${tt}.`})}if(ce.markdownLoaded>0||ce.markdownFailures.length>0){Lt({source:"repl:agents",level:ce.markdownFailures.length>0?"warn":"info",message:`Loaded ${ce.markdownLoaded} markdown agent(s).`});for(let _e of ce.markdownFailures)Lt({source:"repl:agents",level:"warn",message:`Skipped markdown agent ${_e.path}: ${_e.reason}`})}}catch(X){Lt({source:"repl:construction",level:"warn",message:`Bootstrap failed: ${X.message}. Self-construction disabled this session.`})}let de;try{let X=await a(D),ce=c(d);de={contextWindow:X.contextWindow??ce.getContextWindow?.()??2e5,triggerPercent:X.triggerPercent,enabled:X.enabled,reservedResponseTokens:ce.getEffectiveMaxOutputTokens?.(f),userOverrideContextWindow:X.contextWindow}}catch{}if(e.session?.id&&!e.session.resume){let X=await t.load(e.session.id);X&&(A=X.messages,H=jo(X.uiHistory),K=X.lineage,W=X.artifactLedger,ne=X.extensionState,x=X.extensionRecords,Ce=X.title,L=e.session.id,k=Nn(X)??J,B=k.workspaceRoot??void 0,e={...e,session:{...e.session??{},id:L,tag:X.tag}},console.log(ht.green(`[Session loaded: ${L}]`)))}else if(e.session?.resume||e.session?.autoResume){let X=await t.list(D);if(X.length>0){let ce=X[0];if(ce){let _e=await t.load(ce.id);_e&&(A=_e.messages,H=jo(_e.uiHistory),K=_e.lineage,W=_e.artifactLedger,ne=_e.extensionState,x=_e.extensionRecords,Ce=_e.title,L=ce.id,k=Nn(_e)??J,B=k.workspaceRoot??void 0,e={...e,session:{...e.session??{},tag:_e.tag}},console.log(ht.green(`[Continuing session: ${ce.id}]`)))}}}let ee=await va({sessionId:L,gitRoot:B,runtimeInfo:k,existingMessages:A,existingUiHistory:H,existingLineage:K,existingArtifactLedger:W,existingExtensionState:ne,existingExtensionRecords:x});ee.title=Ce,e={...e,context:{...e.context,gitRoot:ee.gitRoot??void 0,executionCwd:ee.runtimeInfo?.executionCwd??ee.gitRoot??process.cwd()}},Se?.writer.update({sessionId:ee.sessionId});let he={current:null},we={current:null},fe={current:M},Te=Ed(),Oe=await Ra({askUser:o(async(X,ce,_e)=>{let tt=he.current;return tt?tt(X,ce,_e):"block"},"askUser"),projectRoot:D??process.cwd(),executionCwd:k.executionCwd??D??process.cwd(),getCurrentProviderName:o(()=>fe.current.provider,"getCurrentProviderName"),getCurrentModel:o(()=>fe.current.model,"getCurrentModel"),getCurrentPermissionMode:o(()=>fe.current.permissionMode,"getCurrentPermissionMode"),autoModeSettings:Te,log:o((X,ce)=>{Lt({source:"repl:auto-mode",level:X==="warn"?"warn":"info",message:ce})},"log"),onEngineChange:o(X=>{we.current?.(X)},"onEngineChange"),extraCollectors:[Fs]});try{let X=process.stdout,ce=process.stdin,_e=!1,{waitUntilExit:tt,cleanup:q}=ra(ue(ZB,{options:e,config:M,context:ee,startupRuntimeInfo:J,storage:t,compactionInfo:de,rendererMode:r,fullscreenPolicy:i,autoModeBootstrap:Oe,setAutoModeAskUser:o(ct=>{he.current=ct},"setAutoModeAskUser"),setAutoModeEngineChange:o(ct=>{we.current=ct},"setAutoModeEngineChange"),setCurrentConfigRef:o(ct=>{fe.current=ct},"setCurrentConfigRef"),teamModeHandle:Se,onExit:o(()=>{_e=!0},"onExit")}),{stdout:X,stdin:ce,exitOnCtrlC:!1,patchConsole:!1,maxFps:30,shellMode:i.enabled?i.promptShell:"main-screen"});await tt(),q(),Se?.shutdown(),ce.isTTY===!0&&typeof ce.setRawMode=="function"&&ce.isRaw&&ce.setRawMode(!1),ce.pause?.(),ce.unref?.(),_e&&console.log(ht.dim(`
|
|
173
|
-
[Exiting KodaX...]`));let Ke=e.hardExitOnClose??process.env.VITEST!=="true";if(_e&&Ke){let ct=process.exitCode??0,le=!1,Ie=o(()=>{le||(le=!0,process.exit(ct))},"requestProcessExit");setTimeout(Ie,0).unref?.(),X.write("",Ie);return}}catch(X){throw X instanceof Error&&X.message.includes("Raw mode")?new Km("Interactive mode failed to start.",['kodax -p "your task" # Run a single task',"kodax -c # Continue last session"]):X}}o(Vp,"runInkInteractiveMode");import{jsx as Wl,jsxs as Ha}from"react/jsx-runtime";import{useMemo as tH,useRef as nH,useState as Oy}from"react";var rH=40;function oH(e,t){let n=t.trim().toLocaleLowerCase().split(/\s+/).filter(Boolean);return n.length===0?[...e]:e.filter(r=>{let i=[r.title,r.id,r.surface??"",r.createdAt??"",String(r.msgCount)].join(" ").toLocaleLowerCase();return n.every(s=>i.includes(s))})}o(oH,"filterSessionPickerItems");function iH(e,t,n){let r=Math.max(1,n),i=e.length===0?0:Math.max(0,Math.min(t,e.length-1)),s=Math.floor(i/r)*r;return{items:e.slice(s,s+r),selectedIndex:i,pageStart:s,pageIndex:Math.floor(s/r),pageCount:Math.max(1,Math.ceil(e.length/r))}}o(iH,"buildSessionPickerPage");function sH(e){if(!e)return"unknown time";let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toISOString().slice(0,16).replace("T"," ")}o(sH,"formatTimestamp");function aH({sessions:e,onSelect:t,onSelectionError:n,onCancel:r,pageSize:i=8}){let{exit:s}=Er(),[a,c]=Oy(""),[l,d]=Oy(0),[f,p]=Oy(!1),h=nH(!1),g=tH(()=>oH(e,a),[e,a]),T=iH(g,l,i),v=g[T.selectedIndex];return ia((C,S)=>{if(!h.current){if(S.escape||S.ctrl&&C==="c"){r(),s();return}if(S.return){let w=g[T.selectedIndex];w&&(h.current=!0,p(!0),(async()=>{await new Promise(M=>setTimeout(M,rH));try{await t(w)}catch(M){n(M)}finally{s()}})());return}if(S.upArrow)d(w=>Math.max(0,w-1));else if(S.downArrow)d(w=>Math.min(Math.max(0,g.length-1),w+1));else if(S.pageUp)d(w=>Math.max(0,w-i));else if(S.pageDown)d(w=>Math.min(Math.max(0,g.length-1),w+i));else if(S.home)d(0);else if(S.end)d(Math.max(0,g.length-1));else if(S.tab){let w=g[T.selectedIndex];w&&(c(w.title),d(0))}else S.backspace||S.delete?(c(w=>w.slice(0,-1)),d(0)):C&&!S.ctrl&&!S.meta&&!S.super&&(c(w=>w+C),d(0))}}),Ha(E,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,children:[Wl(I,{bold:!0,color:"cyan",children:"Resume a session"}),Ha(I,{children:["Search: ",Wl(I,{color:"yellow",children:a||"type to filter"})]}),Wl(I,{dimColor:!0,children:f?"Loading selected session...":"\u2191/\u2193 select \xB7 PgUp/PgDn page \xB7 Tab complete \xB7 Enter resume \xB7 Esc cancel"}),Ha(E,{flexDirection:"column",marginTop:1,children:[T.items.length===0?Wl(I,{color:"yellow",children:"No matching sessions."}):null,T.items.map((C,S)=>{let M=T.pageStart+S===T.selectedIndex,L=C.title.trim()||"Untitled session",A=C.surface?` \xB7 ${C.surface}`:"";return Ha(I,{color:M?"cyan":void 0,bold:M,children:[M?"\u276F":" "," ",L," \xB7 ",C.msgCount," msgs",A," \xB7 ",sH(C.createdAt)," \xB7 ",C.id.slice(0,8)]},C.id)})]}),Ha(I,{dimColor:!0,children:[g.length," matches \xB7 Page ",T.pageIndex+1,"/",T.pageCount]}),Ha(I,{dimColor:!0,children:["Selected ID: ",v?.id??"none"]})]})}o(aH,"SessionPicker");async function Jk(e,t={}){if(process.stdin.isTTY!==!0||process.stdout.isTTY!==!0)throw new Error("Searchable session resume requires an interactive terminal. Pass an exact session ID or title to -r/--resume instead.");let n,r=!1,i=!1,s,a=Math.max(4,Math.min(12,(process.stdout.rows??24)-8)),c=ra(Wl(aH,{sessions:e,pageSize:a,onSelect:o(async l=>{n=l,await t.prepareSelection?.(l)},"onSelect"),onSelectionError:o(l=>{i=!0,s=l},"onSelectionError"),onCancel:o(()=>{r=!0},"onCancel")}),{stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,exitOnCtrlC:!1,patchConsole:!1});try{await c.waitUntilExit()}finally{c.unmount(),c.cleanup()}if(i)throw s;if(!n&&!r)throw new Error("Session picker exited unexpectedly before selection or cancellation.");return n}o(Jk,"runSessionPicker");import fn from"chalk";var Zk=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],eE=["\x1B[36m","\x1B[35m","\x1B[34m"],jl=null,Wa=!1;function Fl(){let e=0,t=0,n=!1,r="Thinking...",i=o(()=>{if(n)return;let c=eE[t%eE.length],l="\x1B[0m",d=Zk[e%Zk.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 jl=a,a}o(Fl,"startWaitingDots");function tE(e=!0){let t=null,n=0,r=!1;return{onSessionStart:o(s=>{console.log(e?fn.cyan(`[KodaX] Provider: ${s.provider} | Session: ${s.sessionId}`):fn.cyan(`[KodaX] Provider: ${s.provider}`))},"onSessionStart"),onTextDelta:o(s=>{t&&(t.stop(),t=null),n=0,process.stdout.write(s),r=!0},"onTextDelta"),onThinkingDelta:o(s=>{n+=s.length,t||(t=Fl()),t.updateText(`Thinking... (${n} chars)`)},"onThinkingDelta"),onThinkingEnd:o(s=>{if(t&&(t.stop(),t=null),s){let a=s.replace(/\n/g," "),c=a.length>100?a.slice(0,100)+"...":a;console.log(fn.dim(`[Thinking] ${c}`))}},"onThinkingEnd"),onToolUseStart:o(s=>{t||(Wa||(process.stdout.write(`
|
|
174
|
-
`),Wa=!0),t=Fl()),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())&&(Wa||(process.stdout.write(`
|
|
175
|
-
`),Wa=!0,r=!1),t=Fl(),t.updateText(`Receiving ${s}... (${l} chars)`))},"onToolInputDelta"),onToolResult:o(s=>{t&&(t.stop(),t=null),console.log(fn.green(`[Result] ${s.content.slice(0,300)}${s.content.length>300?"...":""}`))},"onToolResult"),onRepoIntelligenceTrace:o(s=>{t&&(t.stop(),t=null),console.log(fn.dim(`[RepoIntel] ${s.summary}`))},"onRepoIntelligenceTrace"),onSidecarMessage:o(s=>{t&&(t.stop(),t=null);let a=s.delivery==="budget-exhausted"?"\u26A1 Sidecar Verifier \u2014 budget exhausted":s.verdict==="blocked"?"\u26A1 Sidecar Verifier \u2014 blocked":"\u26A1 Sidecar Verifier \u2014 revise",c=s.suggestedFix?`${s.content}
|
|
176
|
-
Suggested fix: ${s.suggestedFix}`:s.content;process.stdout.write(fn.yellow(`
|
|
177
|
-
${a}
|
|
178
|
-
`)+fn.dim(`${c}
|
|
179
|
-
`))},"onSidecarMessage"),onStreamEnd:o(()=>{jl&&!jl.isStopped()&&jl.stop(),jl=null,Wa=!1,r&&(console.log(),r=!1),(!t||t.isStopped())&&(t=Fl(),t.updateText("Processing..."))},"onStreamEnd"),onIterationStart:o((s,a)=>{t&&!t.isStopped()&&t.stop(),Wa=!1,r=!1,console.log(fn.magenta(`
|
|
180
|
-
[Assistant]`)),t=Fl()},"onIterationStart"),onCompactStart:o(()=>{console.log(fn.dim(`
|
|
181
|
-
[KodaX] Compacting context...`))},"onCompactStart"),onCompact:o(s=>{console.log(fn.dim(`[KodaX] Compaction finished (${s} tokens).`))},"onCompact"),onCompactEnd:o(()=>{},"onCompactEnd"),onRetry:o((s,a,c)=>{console.log(fn.yellow(`[KodaX] Retry ${a}/${c}: ${s}`))},"onRetry"),onProviderRecovery:o(s=>{let a=s.recoveryAction==="non_streaming_fallback"?"switching to non-streaming fallback":s.recoveryAction==="manual_continue"?"awaiting manual continue":`recovering ${s.attempt}/${s.maxAttempts}`;console.log(fn.yellow(`[KodaX] ${a} (${s.errorClass}, ${s.stage})`))},"onProviderRecovery"),onComplete:o(()=>{t&&(t.stop(),t=null),console.log(fn.green(`
|
|
182
|
-
[KodaX] Done!`))},"onComplete"),onError:o(s=>{t&&(t.stop(),t=null),console.log(fn.red(`
|
|
183
|
-
[Error] ${s.message}`))},"onError"),onScoutSuspiciousCompletion:o(s=>{console.log(fn.yellow(`
|
|
184
|
-
[Scout] Completion marked uncertain \u2014 signals: ${s.signals.join(", ")}. Verify the result before continuing.`))},"onScoutSuspiciousCompletion"),beforeToolExecute:o(async(s,a)=>!0,"beforeToolExecute")}}o(tE,"createCliEvents");function Xt(e){return{...e?.sessionId!==void 0?{sessionId:e.sessionId}:{},...e?.seq!==void 0?{seq:e.seq}:{},...e?.turnId!==void 0?{turnId:e.turnId}:{},...e?.deliveryId!==void 0?{deliveryId:e.deliveryId}:{},...e?.timestamp!==void 0?{timestamp:e.timestamp}:{},...e?.workflowCorrelation!==void 0?{workflowCorrelation:e.workflowCorrelation}:{},...e?.childAgentId!==void 0?{childAgentId:e.childAgentId}:{},...e?.childAgentName!==void 0?{childAgentName:e.childAgentName}:{},...e?.parentToolId!==void 0?{parentToolId:e.parentToolId}:{},...e?.liveOnly!==void 0?{liveOnly:e.liveOnly}:{}}}o(Xt,"activityMetaFields");function Gi(e){return{...e.sessionId!==void 0?{sessionId:e.sessionId}:{},...e.seq!==void 0?{seq:e.seq}:{},...e.turnId!==void 0?{turnId:e.turnId}:{},...e.deliveryId!==void 0?{deliveryId:e.deliveryId}:{},...e.timestamp!==void 0?{timestamp:e.timestamp}:{}}}o(Gi,"liveMetaFields");function it(e,t){e.write(`${JSON.stringify(t)}
|
|
185
|
-
`)}o(it,"writeJsonLine");function cH(e,t){return{type:"error",name:e.name,message:e.message,stack:e.stack,...Xt(t)}}o(cH,"serializeError");function nE(e={}){let t=e.stdout??process.stdout,n=e.stderr??process.stderr;return{onSessionStart:o(r=>{it(t,{type:"session.start",provider:r.provider,sessionId:r.sessionId,...Gi(r)})},"onSessionStart"),onTurnStarted:o(r=>{it(t,{type:"turn.started",...r})},"onTurnStarted"),onTurnCompleted:o(r=>{it(t,{type:"turn.completed",...r})},"onTurnCompleted"),onTurnFailed:o(r=>{it(t,{type:"turn.failed",...r})},"onTurnFailed"),onIterationStart:o((r,i,s)=>{it(t,{type:"iteration.start",iter:r,maxIter:i,...Xt(s)})},"onIterationStart"),onIterationEnd:o(r=>{it(t,{type:"iteration.end",iter:r.iter,maxIter:r.maxIter,tokenCount:r.tokenCount,tokenSource:r.tokenSource,usage:r.usage,contextTokenSnapshot:r.contextTokenSnapshot,...r.scope!==void 0?{scope:r.scope}:{},...Gi(r)})},"onIterationEnd"),onTextDelta:o((r,i)=>{it(t,{type:"text.delta",text:r,...Xt(i)})},"onTextDelta"),onThinkingDelta:o((r,i)=>{it(t,{type:"thinking.delta",text:r,...Xt(i)})},"onThinkingDelta"),onThinkingEnd:o((r,i)=>{it(t,{type:"thinking.end",thinking:r,...Xt(i)})},"onThinkingEnd"),onToolUseStart:o((r,i)=>{it(t,{type:"tool.start",id:r.id,name:r.name,input:r.input,...Xt(i)})},"onToolUseStart"),onToolInputDelta:o((r,i,s)=>{it(t,{type:"tool.input.delta",toolName:r,partialJson:i,toolId:s?.toolId,...Xt(s)})},"onToolInputDelta"),onToolResult:o((r,i)=>{it(t,{type:"tool.result",id:r.id,name:r.name,content:r.content,...Xt(i)})},"onToolResult"),onStreamEnd:o(r=>{it(t,{type:"stream.end",...Xt(r)})},"onStreamEnd"),onCompactStart:o(r=>{it(t,{type:"compact.start",...Xt(r)})},"onCompactStart"),onCompact:o((r,i)=>{it(t,{type:"compact.finish",estimatedTokens:r,...Xt(i)})},"onCompact"),onCompactStats:o(r=>{it(t,{type:"compact.stats",tokensBefore:r.tokensBefore,tokensAfter:r.tokensAfter,...Gi(r)})},"onCompactStats"),onCompactEnd:o(r=>{it(t,{type:"compact.end",...Xt(r)})},"onCompactEnd"),onRetry:o((r,i,s,a)=>{it(t,{type:"retry",reason:r,attempt:i,maxAttempts:s,...Xt(a)})},"onRetry"),onProviderRecovery:o((r,i)=>{it(t,{type:"provider.recovery",stage:r.stage,reasonCode:r.errorClass,attempt:r.attempt,maxAttempts:r.maxAttempts,delayMs:r.delayMs,nextAt:Date.now()+r.delayMs,recoveryAction:r.recoveryAction,fallbackUsed:r.fallbackUsed,...Xt(i)})},"onProviderRecovery"),onProviderRateLimit:o((r,i,s,a)=>{it(t,{type:"provider.rate_limit",attempt:r,maxRetries:i,delayMs:s,...Xt(a)})},"onProviderRateLimit"),onRepoIntelligenceTrace:o(r=>{it(t,{type:"repo_intelligence.trace",stage:r.stage,summary:r.summary,capability:r.capability,trace:r.trace,...Gi(r)})},"onRepoIntelligenceTrace"),onSidecarMessage:o(r=>{it(t,{type:"sidecar.message",source:r.source,verdict:r.verdict,recipient:r.recipient,delivery:r.delivery,content:r.content,...r.suggestedFix!==void 0?{suggestedFix:r.suggestedFix}:{},...r.trace!==void 0?{trace:r.trace}:{},...Gi(r)})},"onSidecarMessage"),onToolProgress:o((r,i)=>{it(t,{type:"tool.progress",id:r.id,message:r.message,...Xt(i)})},"onToolProgress"),onManagedTaskStatus:o(r=>{it(t,{type:"managed_task.status",agentMode:r.agentMode,harnessProfile:r.harnessProfile,phase:r.phase,activeWorkerId:r.activeWorkerId,activeWorkerTitle:r.activeWorkerTitle,childFanoutClass:r.childFanoutClass,childFanoutCount:r.childFanoutCount,currentRound:r.currentRound,maxRounds:r.maxRounds,note:r.note,detailNote:r.detailNote,globalWorkBudget:r.globalWorkBudget,budgetUsage:r.budgetUsage,budgetApprovalRequired:r.budgetApprovalRequired,...Gi(r)})},"onManagedTaskStatus"),onScoutSuspiciousCompletion:o(r=>{it(t,{type:"scout.suspicious_completion",confidence:r.confidence,signals:r.signals,sessionId:r.sessionId,lastTextPreview:r.lastTextPreview,...Gi(r)})},"onScoutSuspiciousCompletion"),onComplete:o(r=>{it(t,{type:"complete",...Xt(r)})},"onComplete"),onError:o((r,i)=>{it(n,cH(r,i))},"onError")}}o(nE,"createJsonEvents");import{jsx as Tt,jsxs as wn}from"react/jsx-runtime";import pH,{useMemo as Ul}from"react";var Ny=/^@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@.*$/,rE=/^---\s+(.+)$/;function oE(e){if(!e)return[];let t=e.split(`
|
|
186
|
-
`),n=[],r=[],i=[],s=!1,a=null,c=null,l=0,d=0,f=o(()=>{if(r.length===0)return;let h=r.join(`
|
|
187
|
-
`);h.length>0&&n.push({kind:"text",text:h}),r=[]},"flushText"),p=o(()=>{i.length!==0&&(n.push({kind:"diff",text:i.join(`
|
|
188
|
-
`),addedLines:l,removedLines:d,filePath:c}),i=[],l=0,d=0,c=null)},"flushDiff");for(let h=0;h<t.length;h++){let g=t[h];if(!s){let C=rE.exec(g);if(C){let S=Math.min(h+3,t.length-1),w=!1;for(let M=h+1;M<=S;M++)if(t[M]?.startsWith("+++ ")||Ny.test(t[M]??"")){w=!0;break}if(w){f(),s=!0,a=C[1]??null,c=a,i.push(g);continue}}if(Ny.test(g)){f(),s=!0,i.push(g);continue}r.push(g);continue}let T=rE.exec(g);if(T){let C=Math.min(h+3,t.length-1),S=!1;for(let w=h+1;w<=C;w++)if(t[w]?.startsWith("+++ ")||Ny.test(t[w]??"")){S=!0;break}if(S){p(),c=T[1]??null,i.push(g);continue}}let v=g[0];if(v==="+"||v==="-"||v===" "||v==="@"||g===""){v==="+"&&!g.startsWith("+++ ")&&l++,v==="-"&&!g.startsWith("--- ")&&d++,i.push(g);continue}p(),s=!1,a=null,r.push(g)}return p(),f(),n}o(oE,"parseUnifiedDiff");function iE(e){return e?/^@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@/m.test(e):!1}o(iE,"containsUnifiedDiff");import{jsxs as Fa,jsx as lH}from"react/jsx-runtime";import uH from"react";function dH(e){return e.startsWith("+++ ")?{text:e,kind:"file-header"}:e.startsWith("--- ")?{text:e,kind:"file-header"}:e.startsWith("@@ ")?{text:e,kind:"hunk-header"}:e.startsWith("+")?{text:e,kind:"add"}:e.startsWith("-")?{text:e,kind:"remove"}:{text:e,kind:"context"}}o(dH,"classifyLine");function fH(e,t){switch(e){case"add":return t.colors.success;case"remove":return t.colors.error;case"hunk-header":case"file-header":return t.colors.dim;default:return}}o(fH,"colorFor");var By=uH.memo(({text:e,addedLines:t,removedLines:n,filePath:r,theme:i,maxLines:s=16,extremeThreshold:a=200})=>{let c=i??oe("dark"),l=e.split(`
|
|
189
|
-
`),d=l.map(dH),f=`(${t>0?`+${t}`:"\xB10"} ${n>0?`-${n}`:""})`.trim();if(l.length>a)return Fa(E,{flexDirection:"column",marginLeft:4,children:[r&&Fa(I,{dimColor:!0,children:[r," ",f]}),Fa(I,{dimColor:!0,children:["[diff too large to render inline \u2014 ",l.length," lines, ",t,"+ / ",n,"-]"]})]});let p,h=0;if(l.length>s){let g=Math.floor(s/2),T=d.slice(0,g),v=d.slice(-g);h=l.length-T.length-v.length,p=[...T,{text:"",kind:"context"},...v]}else p=d;return Fa(E,{flexDirection:"column",marginLeft:4,children:[r&&Fa(I,{dimColor:!0,children:[r," ",f]}),p.map((g,T)=>{if(T===Math.floor(s/2)&&h>0&&g.kind==="context"&&g.text==="")return Fa(I,{dimColor:!0,children:["... ",h," lines collapsed ..."]},`collapse-${T}`);let C=fH(g.kind,c);return lH(I,{color:C,children:g.text||" "},T)})]})});By.displayName="DiffHunk";function sE(e){switch(e){case F.Scheduled:return"\u25CB";case F.Validating:return"\u25D0";case F.AwaitingApproval:return"\u23F8";case F.Executing:return"\u25CF";case F.Success:return"\u2713";case F.Error:return"\u2717";case F.Cancelled:return"\u2298";default:return"?"}}o(sE,"getStatusIcon");function aE(e,t){switch(e){case F.Scheduled:case F.Validating:return t.colors.dim;case F.AwaitingApproval:return t.colors.accent;case F.Executing:return t.colors.primary;case F.Success:return t.colors.success??t.colors.primary;case F.Error:return t.colors.error;case F.Cancelled:return t.colors.dim;default:return t.colors.text}}o(aE,"getStatusColor");function mH(e,t){if(!t)return"";let n=t-e;return n<1e3?`${n}ms`:`${(n/1e3).toFixed(1)}s`}o(mH,"formatDuration");function hH(e){if(!e)return"";let t=JSON.stringify(e);return t.length<=50?t:t.slice(0,47)+"..."}o(hH,"formatInputSummary");var cE=o(({status:e,theme:t})=>{let n=t??Ul(()=>oe("dark"),[]),r=sE(e),i=aE(e,n);return Tt(I,{color:i,children:r})},"ToolStatusBadge"),Hy=o(({progress:e,width:t=20,theme:n})=>{let r=n??Ul(()=>oe("dark"),[]),i=Math.max(0,Math.min(100,e)),s=Math.round(i/100*t),a=t-s,c="\u2588".repeat(s),l="\u2591".repeat(a);return wn(E,{children:[Tt(I,{color:r.colors.primary,children:c}),Tt(I,{dimColor:!0,children:l}),wn(I,{children:[" ",i,"%"]})]})},"ToolProgressBar"),Wy=o(({tool:e,collapsed:t=!1,theme:n})=>{let r=n??Ul(()=>oe("dark"),[]),i=sE(e.status),s=aE(e.status,r),a=hH(e.input),c=mH(e.startTime,e.endTime);return t?wn(E,{children:[wn(I,{color:s,children:[i," "]}),Tt(I,{color:r.colors.text,children:e.name})]}):wn(E,{flexDirection:"column",marginLeft:2,children:[wn(E,{children:[wn(I,{color:s,children:[i," "]}),Tt(I,{color:r.colors.text,bold:!0,children:e.name}),a&&wn(I,{dimColor:!0,children:[" ",a]})]}),e.progress!==void 0&&e.status===F.Executing&&Tt(E,{marginLeft:2,children:Tt(Hy,{progress:e.progress,theme:r})}),e.progressLines&&e.progressLines.length>0&&e.status===F.Executing&&Tt(E,{flexDirection:"column",marginLeft:2,children:e.progressLines.slice(-5).map((l,d)=>Tt(I,{dimColor:!0,children:l},d))}),e.error&&Tt(E,{marginLeft:2,children:Tt(I,{color:r.colors.error,children:e.error})}),e.status===F.Success&&typeof e.output=="string"&&e.output.length>0&&Tt(lE,{output:e.output,theme:r}),c&&e.status!==F.Executing&&Tt(E,{marginLeft:2,children:wn(I,{dimColor:!0,children:["Completed in ",c]})})]})},"ToolCallDisplay"),lE=pH.memo(({output:e,theme:t})=>{if(!iE(e))return Tt(E,{marginLeft:2,children:Tt(I,{dimColor:!0,children:e})});let n=oE(e);return Tt(E,{flexDirection:"column",marginLeft:2,children:n.map((r,i)=>r.kind==="text"?Tt(I,{dimColor:!0,children:r.text},i):Tt(By,{text:r.text,addedLines:r.addedLines,removedLines:r.removedLines,filePath:r.filePath,theme:t},i))})});lE.displayName="ToolOutputBlock";var uE=o(({tools:e,collapsed:t=!1,title:n,theme:r})=>{let i=r??Ul(()=>oe("dark"),[]);if(e.length===0)return null;let s=Ul(()=>{let c={[F.Scheduled]:0,[F.Validating]:0,[F.AwaitingApproval]:0,[F.Executing]:0,[F.Success]:0,[F.Error]:0,[F.Cancelled]:0};for(let l of e)c[l.status]++;return c},[e]),a=n??"Tools";if(t){let c=s[F.Success],l=s[F.Error],d=s[F.Executing]+s[F.Scheduled]+s[F.Validating];return Tt(E,{flexDirection:"column",marginBottom:1,children:wn(E,{children:[Tt(I,{color:i.colors.accent,bold:!0,children:a}),wn(I,{dimColor:!0,children:[" ","(",e.length," tools",c>0&&`, ${c} succeeded`,l>0&&`, ${l} failed`,d>0&&`, ${d} running`,")"]})]})})}return wn(E,{flexDirection:"column",marginBottom:1,children:[wn(E,{children:[Tt(I,{color:i.colors.accent,bold:!0,children:a}),wn(I,{dimColor:!0,children:[" ","(",e.length," ",e.length===1?"tool":"tools",")"]})]}),e.map(c=>Tt(Wy,{tool:c,theme:i},c.id))]})},"ToolGroup");import{jsxs as dE,jsx as gH}from"react/jsx-runtime";var fE=o(({pendingInputs:e})=>{let t=d0(e);if(!t)return null;let n=oe("dark");return dE(E,{children:[dE(I,{color:n.colors.hint,children:["\u23F3"," "]}),gH(I,{color:n.colors.dim,children:t})]})},"PendingInputsIndicator");import*as pE from"child_process";var Gl;function yH(){if(process.platform!=="win32")return null;if(Gl!==void 0)return Gl;try{Gl=pE.execFileSync(process.env.ComSpec??"cmd.exe",["/d","/s","/c","chcp"],{encoding:"utf8",stdio:["ignore","pipe","ignore"],windowsHide:!0}).match(/(\d{3,5})/)?.[1]??null}catch{Gl=null}return Gl}o(yH,"detectWindowsCodePage");function Vl(){let e=process.env;return!!(e.COLORTERM==="truecolor"||e.COLORTERM==="24bit"||e.TERM_PROGRAM==="iTerm.app"||e.WT_SESSION||e.TERM==="xterm-kitty"||e.TERM_PROGRAM==="vscode"||e.TERM_PROGRAM==="gnome-terminal")}o(Vl,"supportsTrueColor");function Fy(){if(Vl())return!0;let e=process.env.TERM||"";return e.includes("256color")||e==="xterm-256color"||e==="screen-256color"||e==="tmux-256color"}o(Fy,"supports256Colors");function Dr(){let e=process.env,t=e.LC_ALL||"",n=e.LC_CTYPE||"",r=e.LANG||"";if(t==="C"||t==="POSIX"||n==="C"||n==="POSIX"||r==="C"||r==="POSIX")return!1;let i=`${t}|${n}|${r}`.toLowerCase();return i.includes("utf-8")||i.includes("utf8")?!0:process.platform==="win32"?e.WT_SESSION||e.TERM_PROGRAM==="vscode"?!0:yH()==="65001":!0}o(Dr,"supportsUnicode");function jy(){let e=process.env;return!!(e.TERM_PROGRAM==="iTerm.app"||e.WT_SESSION||e.TERM==="xterm-kitty"||e.TERM_PROGRAM==="vscode"||e.TERM_PROGRAM==="Apple_Terminal"||e.TERM_PROGRAM==="gnome-terminal"||e.COLORTERM)}o(jy,"supportsEmoji");function Uy(){if(process.stdout?.columns)return process.stdout.columns;let t=process.env.COLUMNS;if(t){let n=Number.parseInt(t,10);if(!Number.isNaN(n)&&n>0)return n}return 80}o(Uy,"getTerminalWidth");function Gy(){let e=process.env;return!!(e.NO_COLOR||e.TERM==="dumb"||e.CI)}o(Gy,"isScreenReader");function xH(){return process.stdout?.isTTY??!1}o(xH,"isTTY");function mE(){return{trueColor:Vl(),colors256:Fy(),unicode:Dr(),emoji:jy(),tty:xH(),columns:Uy(),screenReader:Gy()}}o(mE,"detectTerminalCapabilities");var ja=class{static{o(this,"ConsoleCapturer")}captured=[];originalLog=null;start(){this.captured=[],this.originalLog=console.log,console.log=(...t)=>{let n=t.map(r=>typeof r=="string"?r:String(r)).join(" ");this.captured.push(n)}}stop(){return this.originalLog!==null&&(console.log=this.originalLog,this.originalLog=null),this.captured}getCaptured(){return[...this.captured]}clear(){this.captured=[]}};async function hE(e){let t=new ja;t.start();try{let n=await e(),r=t.stop();return{result:n,captured:r}}finally{t.stop()}}o(hE,"withCapture");function gE(e){let t=new ja;t.start();try{let n=e(),r=t.stop();return{result:n,captured:r}}finally{t.stop()}}o(gE,"withCaptureSync");import*as RE from"readline";import ae from"chalk";import ar from"chalk";var SH=[{key:"y",label:"Yes",description:"Confirm the action",value:"yes"},{key:"n",label:"No",description:"Cancel the action",value:"no"}],wH=[{key:"y",label:"Yes",description:"Allow this once",value:"yes"},{key:"n",label:"No",description:"Cancel",value:"no"},{key:"a",label:"Always",description:"Always allow this kind of action",value:"always"}];function TH(e,t=!0){return e.map(n=>{let r=ar.dim(`[${n.key}]`);return t?`${r} ${ar.cyan(n.label)} ${ar.dim(`- ${n.description}`)}`:`${r} ${n.label}`}).join(" ")}o(TH,"formatOptions");function Vy(){return process.stdout.columns??80}o(Vy,"getTerminalWidth");function CH(){return Dr()}o(CH,"supportsUnicode");function IH(){let e=CH();return{success:e?"\u2713":"[OK]",error:e?"\u2717":"[X]",warning:e?"\u26A0":"[!]",info:e?"\u2139":"[i]",arrow:e?"\u2192":"->",bullet:e?"\u2022":"*",check:e?"\u2713":"[v]",cross:e?"\u2717":"[x]"}}o(IH,"getSymbols");async function bH(e,t){let{message:n,default:r,options:i,showDescription:s=!0}=t,a=i??SH,c=TH(a,s);console.log(),console.log(ar.cyan(`? ${n}`));let l=Vy();if(c.length>l-4)for(let d of a){let f=ar.dim(` [${d.key}]`);console.log(`${f} ${ar.cyan(d.label)}`),s&&console.log(ar.dim(` ${d.description}`))}else console.log(ar.dim(` ${c}`));return new Promise(d=>{let f=r?` (${r})`:"";e.question(ar.dim(` Choose${f}: `),p=>{let h=p.trim().toLowerCase()||r||"",g=a.find(T=>T.key===h||T.value===h||T.label.toLowerCase()===h);d(g?g.value:h===""?"no":h)})})}o(bH,"confirmEnhanced");async function Kl(e,t,n,r){let{isOutsideProject:i=!1,isProtectedPath:s=!1,permissionMode:a="accept-edits"}=r??{},c=IH(),l,d,f={...n,...i?{_outsideProject:!0}:{},...s?{_alwaysConfirm:!0}:{}},p=bp(t,f),h=p.details.map(T=>` ${ar.dim(T)}`);i||s?(l=`${ar.yellow(c.warning)} Safety Warning`,h.length>0&&(l+=`
|
|
190
|
-
${h.join(`
|
|
191
|
-
`)}`),d=[{key:"y",label:"Yes",description:"Allow this once",value:"yes"},{key:"n",label:"No",description:"Cancel",value:"no"}]):(l=p.title,h.length>0&&(l+=`
|
|
192
|
-
${h.join(`
|
|
193
|
-
`)}`),d=a==="accept-edits"?wH:[{key:"y",label:"Yes",description:"Confirm the action",value:"yes"},{key:"n",label:"No",description:"Cancel",value:"no"}]);let g=await bH(e,{message:l,default:"n",options:d});return g==="always"?{confirmed:!0,always:!0}:{confirmed:g==="yes"}}o(Kl,"confirmToolExecution");import SZ from"chalk";function yE(){return{prompt:"\u276F",success:"\u2713",error:"\u2717",warning:"\u26A0",info:"\u2139",arrow:"\u2192",bullet:"\u2022",check:"\u2713",cross:"\u2717",spinner:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]}}o(yE,"getUnicodeSymbols");function Ky(){return{prompt:">",success:"[OK]",error:"[X]",warning:"[!]",info:"[i]",arrow:"->",bullet:"*",check:"[v]",cross:"[x]",spinner:["|","/","-","\\","|","/","-","\\"]}}o(Ky,"getAsciiSymbols");var xE={name:"dark",description:"Dark theme with vibrant colors",colors:{primary:"#00D7FF",secondary:"#9D9D9D",accent:"#FF6B6B",text:"#FFFFFF",dim:"#6B6B6B",success:"#4CAF50",warning:"#FF9800",error:"#F44336",info:"#2196F3"},symbols:Dr()?yE():Ky(),spinner:{frames:Dr()?["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]:["|","/","-","\\","|","/","-","\\"],interval:80}},vH={name:"light",description:"Light theme for bright terminals",colors:{primary:"#0066CC",secondary:"#666666",accent:"#CC0000",text:"#000000",dim:"#999999",success:"#228B22",warning:"#CC7A00",error:"#CC0000",info:"#0066CC"},symbols:Dr()?yE():Ky(),spinner:{frames:Dr()?["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]:["|","/","-","\\","|","/","-","\\"],interval:80}},RH={name:"minimal",description:"Minimal theme without colors (for CI or limited terminals)",colors:{primary:"",secondary:"",accent:"",text:"",dim:"",success:"",warning:"",error:"",info:""},symbols:Ky(),spinner:{frames:[".","o","O","0","O","o"],interval:120}},kH={dark:xE,light:vH,minimal:RH},SE=xE;function Vi(){return SE}o(Vi,"getCurrentTheme");function zl(e){let t=kH[e];return t?(SE=t,!0):!1}o(zl,"setTheme");function EH(){if(!process.stdout.isTTY){zl("minimal");return}let e=process.env;if(e.WT_SESSION!==void 0||e.TERM_PROGRAM==="vscode"){zl("dark");return}zl("dark")}o(EH,"autoSelectTheme");EH();var Kp=class{static{o(this,"ReadlineUIContext")}rl;constructor(t){this.rl=t}async select(t,n){if(n.length!==0)return console.log(`
|
|
194
|
-
${t}`),console.log("\u2500".repeat(t.length)),n.forEach((r,i)=>{console.log(` ${i+1}. ${r}`)}),console.log(" 0. Cancel"),console.log(""),new Promise(r=>{this.rl.question("Enter choice (0 to cancel): ",i=>{let s=i.trim();if(s==="0"||s===""){r(void 0);return}let a=parseInt(s,10)-1;if(isNaN(a)||a<0||a>=n.length){console.log("Invalid choice. Please try again."),r(void 0);return}r(n[a])})})}async confirm(t){return new Promise(n=>{this.rl.question(`${t} (y/N): `,r=>{let i=r.trim().toLowerCase();n(i==="y"||i==="yes")})})}async input(t,n){let r=n?`${t} [${n}]: `:`${t}: `;return new Promise(i=>{this.rl.question(r,s=>{let a=s.trim();if(a===""&&n!==void 0){i(n);return}i(a||void 0)})})}};import*as wE from"child_process";import*as Xl from"path";import*as Yl from"fs";import*as TE from"os";import Or from"chalk";function CE(e,t){let n=Vi(),r=e==="plan"?Or.hex(n.colors.warning):Or.hex(n.colors.success),i=t.model??Tr(t.provider)??t.provider,s=To({provider:t.provider,model:t.model,effort:Rd(t),effortOverride:t.effortOverride,thinking:t.thinking,reasoningMode:t.reasoningMode}),a=Vy();if(a<60){let l=e==="plan"?"?":n.symbols.prompt;return r(`${l} `)}if(a<100){let l=Or.hex(n.colors.dim)(`[${s}]`);return r(`kodax:${e}${l}> `)}let c=Or.hex(n.colors.info)(`[effort:${s}]`);return r(`kodax:${e} (${t.provider}:${i})${c}> `)}o(CE,"getPrompt");async function IE(e,t){let n=Vi(),r=[],i=await new Promise(s=>{e.question(t,s)});if(i===""||i.toLowerCase()==="/e")return zy(r.join(`
|
|
195
|
-
`));for(r.push(i);MH(r.join(`
|
|
196
|
-
`));){let s=Or.hex(n.colors.dim)("... "),a=await new Promise(c=>{e.question(s,c)});r.push(a)}return r.join(`
|
|
197
|
-
`).replace(/\\\n/g,`
|
|
198
|
-
`)}o(IE,"askInput");async function zy(e){let t=Xl.join(TE.tmpdir(),"kodax"),n=Xl.join(t,`input-${Date.now()}-${Math.random().toString(36).slice(2)}.txt`);try{await Yl.promises.mkdir(t,{recursive:!0}),await Yl.promises.writeFile(n,e,"utf-8");let r=process.env.EDITOR??process.env.VISUAL??(process.platform==="win32"?"notepad.exe":"nano");if(r.includes("/")||r.includes("\\")||r.includes("&&")||r.includes("|")){let a=Xl.basename(r);console.log(Or.yellow(`
|
|
199
|
-
[Security] Editor path sanitized: ${a}`)),r=a}console.log(Or.dim(`
|
|
200
|
-
[Opening editor: ${r}]`));let i=process.platform==="win32"&&(r.toLowerCase()==="notepad"||r.toLowerCase()==="notepad.exe");return console.log(i?Or.dim(`Note: Please close Notepad manually after editing to continue.
|
|
201
|
-
`):Or.dim(`Save and close the editor to continue...
|
|
202
|
-
`)),wE.spawnSync(r,[n],{stdio:"inherit",timeout:3e5,shell:!1}),(await Yl.promises.readFile(n,"utf-8")).trim()}catch(r){let i=r instanceof Error?r:new Error(String(r));return console.log(Or.red(`
|
|
203
|
-
[Editor Error] ${i.message}`)),e}finally{try{await Yl.promises.unlink(n)}catch{}}}o(zy,"openExternalEditor");function MH(e){if(e.endsWith("\\")&&!e.endsWith("\\\\"))return!0;let t={"(":0,"[":0,"{":0},n={")":"(","]":"[","}":"{"},r=null;for(let i=0;i<e.length;i++){let s=e[i];if(s!==void 0){if((s==='"'||s==="'"||s==="`")&&e[i-1]!=="\\"){r===s?r=null:r===null&&(r=s);continue}if(!r){if(s in t)t[s]+=1;else if(s in n){let a=n[s];a&&(t[a]-=1)}}}}return Object.values(t).some(i=>i>0)?!0:r!==null}o(MH,"needsContinuation");import Ye from"chalk";function bE(e){e?.workspaceRoot&&(console.log(Ye.dim(` Workspace: ${Ir(e)}`)),console.log(Ye.dim(` Use /status workspace for runtime details.
|
|
204
|
-
`)))}o(bE,"printWorkspaceEntryNotice");function vE(e,t,n,r){let i=Vi(),s=e.model??Tr(e.provider)??e.provider,a=To({provider:e.provider,model:e.model,effort:Rd(e),effortOverride:e.effortOverride,thinking:e.thinking,reasoningMode:e.reasoningMode}),c=`
|
|
205
|
-
\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
|
|
206
|
-
\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
|
|
207
|
-
\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
|
|
208
|
-
\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
|
|
209
|
-
\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
|
|
210
|
-
\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=>Ye.hex(f)(" \u258E "),"bar"),d=Ye.hex(i.colors.dim)(" \xB7 ");if(console.log(Ye.hex(i.colors.primary)(`
|
|
211
|
-
`+c)),console.log(""),console.log(l(i.colors.primary)+Ye.hex(i.colors.primary)("AI Coding Agent \xB7 Minimalist & Intelligent")),console.log(l(i.colors.success)+Ye.bold.hex(i.colors.text)(`v${hi}`)+d+Ye.hex(i.colors.success)(`${e.provider}:${s}`)+d+Ye.hex(i.colors.primary)(e.agentMode.toUpperCase())+Ye.hex(i.colors.dim)(" / ")+Ye.hex(i.colors.accent)(t)+Ye.hex(i.colors.dim)(" \xB7 ")+Ye.hex(i.colors.warning)(`effort:${a}`)),n){let f=Math.round(n.contextWindow/1e3),p=n.enabled?Ye.hex(i.colors.success)("on"):Ye.hex(i.colors.secondary)("off"),h=pl(n.contextWindow,n.triggerPercent);console.log(l(i.colors.accent)+Ye.hex(i.colors.secondary)(`ctx ${f}k \xB7 compaction `)+p+Ye.hex(i.colors.secondary)(` \xB7 ${h}`))}r&&console.log(l(i.colors.secondary)+Ye.hex(i.colors.secondary)(`${r.length} project rule file(s) loaded \u2014 `)+Ye.hex(i.colors.dim)("/reload to refresh")),console.log(""),console.log(Ye.hex(i.colors.dim)(" Quick tips:")),console.log(Ye.hex(i.colors.primary)(" /help ")+Ye.hex(i.colors.dim)("Show all commands")),console.log(Ye.hex(i.colors.primary)(" /mode ")+Ye.hex(i.colors.dim)("Switch permission mode")),console.log(Ye.hex(i.colors.primary)(" /clear ")+Ye.hex(i.colors.dim)("Clear conversation")),console.log(Ye.hex(i.colors.primary)(" @path ")+Ye.hex(i.colors.dim)("Attach image to context")),console.log(Ye.hex(i.colors.primary)(" !cmd ")+Ye.hex(i.colors.dim)("Run read-only shell command")),console.log(Ye.hex(i.colors.dim)(`
|
|
212
|
-
Keyboard: Tab (complete) | Esc+Esc (edit last) | Ctrl+T (reasoning) | Ctrl+E (editor) | Ctrl+R (history)
|
|
213
|
-
`))}o(vE,"printStartupBanner");async function AH(e){return(await sd(e)).getSystemPromptSnippet()}o(AH,"buildClassicCliSkillsPrompt");function _H(e,t){let n=id(e);t.context={...t.context,skillsPrompt:n.getSystemPromptSnippet()}}o(_H,"syncClassicCliSkillsPrompt");var qy=class{static{o(this,"MemorySessionStorage")}sessions=new Map;async save(t,n){let r=this.sessions.get(t),i=mt(n.messages,n.lineage??r?.data.lineage);this.sessions.set(t,{createdAt:r?.createdAt??new Date().toISOString(),data:{...structuredClone(n),scope:n.scope??r?.data.scope??"user",uiHistory:n.uiHistory??r?.data.uiHistory,extensionState:n.extensionState??r?.data.extensionState,extensionRecords:n.extensionRecords??r?.data.extensionRecords,tag:n.tag??r?.data.tag,lineage:i}})}async load(t){return structuredClone(this.sessions.get(t)?.data??null)}async getLineage(t){return structuredClone(this.sessions.get(t)?.data.lineage??null)}async setActiveEntry(t,n,r){let i=this.sessions.get(t);if(!i?.data.lineage)return null;let s=Rs(i.data.lineage,n,r);if(!s)return null;let a={...structuredClone(i.data),messages:Ht(s),lineage:s};return this.sessions.set(t,{...i,data:a}),structuredClone(a)}async setLabel(t,n,r){let i=this.sessions.get(t);if(!i?.data.lineage)return null;let s=ks(i.data.lineage,n,r);if(!s)return null;let a={...structuredClone(i.data),lineage:s};return this.sessions.set(t,{...i,data:a}),structuredClone(a)}async fork(t,n,r){let i=this.sessions.get(t);if(!i?.data.lineage)return null;let s=As(i.data.lineage,n);if(!s)return null;let a=r?.sessionId??await vs(),c={messages:Ht(s),title:r?.title??i.data.title,gitRoot:i.data.gitRoot,tag:i.data.tag,runtimeInfo:i.data.runtimeInfo?structuredClone(i.data.runtimeInfo):void 0,scope:i.data.scope??"user",extensionState:i.data.extensionState?structuredClone(i.data.extensionState):void 0,extensionRecords:i.data.extensionRecords?structuredClone(i.data.extensionRecords):void 0,lineage:s};return this.sessions.set(a,{createdAt:new Date().toISOString(),data:c}),{sessionId:a,data:structuredClone(c)}}async rewind(t,n){let r=this.sessions.get(t);if(!r?.data.lineage)return null;let i=n??Es(r.data.lineage);if(!i)return null;let s=Ms(r.data.lineage,i);if(!s)return null;let a={...r.data,messages:Ht(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?pi(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 Yy(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(Yy,"applyRuntimeContext");function zp(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(zp,"applyRuntimeSessionSnapshot");function Xo(e){return{...e.extensionStateDirty?{extensionState:e.extensionState??{}}:{},...e.extensionRecordsDirty?{extensionRecords:e.extensionRecords??[]}:{}}}o(Xo,"contextExtensionSessionData");function Ua(e){e.extensionStateDirty=!1,e.extensionRecordsDirty=!1}o(Ua,"markExtensionSessionPersisted");function LH(e,t){return e.reasoningMode?e.reasoningMode:t.reasoningMode?t.reasoningMode:(e.thinking===!0||t.thinking===!0,"auto")}o(LH,"resolveInitialReasoningMode");var Qy={current:null};async function kE(e){let t=await Cr({cwd:process.cwd()}),n=t.workspaceRoot??await Xr()??void 0,r=e.storage??new qy,i=od({meta:{cwd:process.cwd(),startedAt:Date.now()}}),s=bd(),a=Os({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,configuredProvider:s.provider,defaultProvider:Ju}),c=Ns({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,explicitModel:e.model,configuredProvider:s.provider,configuredModel:s.model}),l=LH(e,s),d=Bs({explicitEffort:e.effort,environmentEffort:process.env.KODAX_EFFORT,configuredEffort:s.effort}),f=vd(e,s,process.env.KODAX_EFFORT),p=e.agentMode??s.agentMode??"ama",h=l!=="off",g=$s(s.permissionMode,"accept-edits")??"accept-edits",T=Id();g==="auto-in-project"&&T();let v=hd(),C=s.theme;C&&zl(C);let S=Vi(),w={provider:a,model:c,effort:d,effortOverride:f,planModeEffort:s.planModeEffort,thinking:h,reasoningMode:l,agentMode:p,permissionMode:g,repoIntelligenceMode:v.mode,repoIntelligenceTrace:v.trace,fallbackProviders:s.fallbackProviders},M=g,L=js(),A=o(P=>gi({provider:P?.provider??w.provider,model:P?.model??w.model,effort:w.effort,effortOverride:w.effortOverride,permissionMode:P?.permissionMode??w.permissionMode,planModeEffort:w.planModeEffort,thinking:w.thinking,reasoningMode:w.reasoningMode}),"resolveCurrentRuntimeEffort"),H=0,K="",W=!1,ne=500,x=await va({sessionId:e.session?.id,gitRoot:n,runtimeInfo:t});x.skillDynamicContext=e.skillDynamicContext,i?.writer.update({sessionId:x.sessionId});let Ce=o(P=>Go(w,P,(V,z,ge)=>{console.log((V==="block"?ae.red:ae.yellow)(`
|
|
214
|
-
${z}`));for(let Me of ge)console.log(ae.dim(Me));console.log()}),"guardSessionTransition"),J=await xT(n??void 0),{resolveProvider:D}=await import("./dist-JT4ATXVM.js"),k=D(w.provider),B=J.contextWindow??k.getEffectiveContextWindow?.(w.model)??k.getContextWindow?.()??2e5,{loadAgentsFiles:Se}=await import("./dist-JT4ATXVM.js"),de=o(async()=>Se({cwd:process.cwd(),projectRoot:x.gitRoot??void 0}),"reloadAgentsFiles"),ee=await de();if(vE(w,w.permissionMode,{contextWindow:B,triggerPercent:J.triggerPercent,enabled:J.enabled},ee),bE(t),e.learning)try{let P=Ad(await e.learning.getSnapshot());P&&console.log(ae.yellow(`
|
|
215
|
-
${P}
|
|
216
|
-
`))}catch(P){Lt({source:"repl:learning",level:"warn",message:"Failed to recover the Learning Center startup summary.",detail:P instanceof Error?P.message:String(P)})}let he=jT(()=>x.gitRoot??process.cwd()),we=RE.createInterface({input:process.stdin,output:process.stdout,terminal:process.stdout.isTTY??!0,historySize:100,completer:o((P,V)=>{he(P).then(z=>{V(null,z)}).catch(()=>{V(null,[[],P])})},"completer")}),fe=Ed(),Te=await Ra({askUser:o(async(P,V,z)=>(await Kl(we,P.name,{...P.input,...z&&z.length>0?{_classifierSignals:z}:{}},{permissionMode:M,reason:`[auto-mode] ${V}`})).confirmed?"allow":"block","askUser"),projectRoot:n??process.cwd(),executionCwd:t.executionCwd??n??process.cwd(),getCurrentProviderName:o(()=>w.provider,"getCurrentProviderName"),getCurrentModel:o(()=>w.model,"getCurrentModel"),getCurrentPermissionMode:o(()=>M,"getCurrentPermissionMode"),autoModeSettings:fe,log:o((P,V)=>{console.log(P==="warn"?ae.yellow(V):ae.dim(V))},"log"),extraCollectors:[Fs]}),Oe=wd({getProvider:o(()=>D(w.provider),"getProvider"),getModel:o(()=>w.model??"","getModel")}),X=`
|
|
217
|
-
Keyboard Shortcuts:
|
|
218
|
-
Tab Auto-complete (@paths, /commands)
|
|
219
|
-
Esc+Esc Edit last message
|
|
220
|
-
Ctrl+T Cycle reasoning effort
|
|
221
|
-
Ctrl+E Open external editor
|
|
222
|
-
Ctrl+R Search command history (built-in)
|
|
223
|
-
Ctrl+C Cancel current input
|
|
224
|
-
Ctrl+D Exit REPL`,ce=o(()=>{console.log(ae.dim(X))},"_printKeyboardShortcuts");process.stdin.isTTY&&process.stdin.on("keypress",(P,V)=>{if(V&&V.name==="escape"){let z=Date.now();z-H<ne&&K&&(W=!0,console.log(ae.dim(`
|
|
225
|
-
[Opening editor with last message...]`)),we.pause()),H=z}});let _e=await AH(n),tt=!0,q={...e,provider:a,model:c,effort:A().runtimeEffort,agentMode:p,reasoningMode:l,thinking:h,workflowRunsBaseDir:wo("workflow-runs",xi(process.cwd()).key),context:{...e.context,gitRoot:n,executionCwd:t.executionCwd,repoIntelligenceMode:v.mode,repoIntelligenceTrace:v.trace,skillsPrompt:_e},session:{...e.session,id:x.sessionId,persistedByHost:!0}},Ke=o(()=>{let P=A();q.effort=P.runtimeEffort},"refreshCurrentEffort");Qy.current=null;let ct=o(async P=>{if(x.messages.length===0)return"empty";if(!Ce("Recovering into a new session"))return"blocked";let V=x.sessionId,z=x.lineage??mt(x.messages);x.lineage=z;let ge=x.artifactLedger?structuredClone(x.artifactLedger):void 0,Me=x.title||lo(x.messages),Q=md({sourceSessionId:V,messages:x.messages,lineage:z,artifactLedger:ge,reason:"provider session recovery"});await r.save(V,{messages:x.messages,title:Me,gitRoot:x.gitRoot??"",runtimeInfo:x.runtimeInfo,lineage:z,artifactLedger:ge,uiHistory:x.uiHistory,...Xo(x),...q.session?.tag!==void 0?{tag:q.session.tag}:{}});let j=Wi(),pe=mt(Q.messages);await r.save(j,{messages:Q.messages,title:Q.title,gitRoot:x.gitRoot??"",runtimeInfo:x.runtimeInfo,lineage:pe,artifactLedger:ge,...q.session?.tag!==void 0?{tag:q.session.tag}:{}});let O=new Date().toISOString();x.sessionId=j,x.messages=Q.messages,x.title=Q.title,x.contextTokenSnapshot=void 0,x.lineage=pe,x.artifactLedger=ge,x.extensionState=void 0,x.extensionRecords=void 0,x.extensionStateDirty=!1,x.extensionRecordsDirty=!1,x.createdAt=O,x.lastAccessed=O,q.session={...q.session,id:j},i?.writer.update({sessionId:j}),console.log(ae.green(`
|
|
226
|
-
[Recovered session: ${j}]`)),console.log(ae.dim(` Source session saved: ${V}`)),console.log(ae.dim(" Raw provider history was not replayed."));let We;try{We=await Xy(q,x,pd(P),x.messages,void 0,e.runtimeRunner,M)}catch(Jt){let Qe=Jt instanceof Error?Jt.message:String(Jt);return console.log(ae.red(`
|
|
227
|
-
[Recover failed] ${Qe}`)),"failed"}x.messages=We.messages,x.contextTokenSnapshot=We.contextTokenSnapshot,zp(x,We),x.artifactLedger=_s(x.artifactLedger??[],We.artifactLedger??fd(We.messages)),x.lineage=mt(x.messages,x.lineage);let Dt=lo(x.messages);return x.title=Dt,await r.save(x.sessionId,{messages:x.messages,title:Dt,gitRoot:x.gitRoot??"",runtimeInfo:x.runtimeInfo,lineage:x.lineage,artifactLedger:x.artifactLedger,...Xo(x),...q.session?.tag!==void 0?{tag:q.session.tag}:{}}),Ua(x),"recovered"},"recoverCurrentSession"),le={getRuntimeStatus:e.getRuntimeStatus,learning:e.learning,getLearningSummary:e.learning?()=>e.learning.getSnapshot():void 0,exit:o(()=>{tt=!1,i?.shutdown(),we.close()},"exit"),saveSession:o(async()=>{if(x.messages.length>0){let P=lo(x.messages);x.title=P,await r.save(x.sessionId,{messages:x.messages,title:P,gitRoot:x.gitRoot??"",runtimeInfo:x.runtimeInfo,artifactLedger:x.artifactLedger,...Xo(x),...q.session?.tag!==void 0?{tag:q.session.tag}:{}}),Ua(x)}},"saveSession"),startNewSession:o(()=>{x.sessionId=Wi(),x.title="",x.contextTokenSnapshot=void 0,x.artifactLedger=void 0,x.extensionState=void 0,x.extensionRecords=void 0,x.extensionStateDirty=!1,x.extensionRecordsDirty=!1,x.createdAt=new Date().toISOString(),x.lastAccessed=x.createdAt,Yy(x,q,t),q.session={...q.session,id:x.sessionId},i?.writer.update({sessionId:x.sessionId})},"startNewSession"),loadSession:o(async P=>{let V=await r.load(P);if(V){if(!Ce("Resuming a saved session"))return"blocked";let z=await Cr({cwd:process.cwd()}),ge=Nn(V),Me=ge??z;return ge?.workspaceRoot&&!Dd(ge)?(console.log(ae.yellow(`
|
|
228
|
-
[Saved workspace unavailable]`)),console.log(ae.dim(` Session workspace: ${Ir(ge)}`)),console.log(ae.dim(` Falling back to current workspace: ${Ir(z)}`)),Me=z):ge?.workspaceRoot&&z.workspaceRoot&&ge.workspaceRoot!==z.workspaceRoot&&(console.log(ae.cyan(`
|
|
229
|
-
[Loading sibling workspace session]`)),console.log(ae.dim(` Current workspace: ${Ir(z)}`)),console.log(ae.dim(` Session workspace: ${Ir(ge)}`))),x.messages=V.messages,x.title=V.title,x.sessionId=P,x.contextTokenSnapshot=void 0,x.artifactLedger=V.artifactLedger,x.extensionState=V.extensionState?structuredClone(V.extensionState):void 0,x.extensionRecords=V.extensionRecords?.map(Q=>({...Q})),x.extensionStateDirty=!1,x.extensionRecordsDirty=!1,x.lastAccessed=new Date().toISOString(),Yy(x,q,Me),q.session={...q.session,id:P,tag:V.tag},i?.writer.update({sessionId:P}),console.log(ae.green(`
|
|
230
|
-
[Loaded session: ${P}]`)),console.log(ae.dim(` Messages: ${V.messages.length}`)),x.runtimeInfo?.workspaceRoot&&console.log(ae.dim(` Workspace: ${Ir(x.runtimeInfo)}`)),"loaded"}return"missing"},"loadSession"),listSessions:o(async()=>{let P=await r.list(x.gitRoot??void 0);if(P.length===0){console.log(ae.dim(`
|
|
231
|
-
[No saved sessions]`));return}console.log(ae.bold(`
|
|
232
|
-
Recent Sessions:
|
|
233
|
-
`)),x.runtimeInfo?.workspaceRoot&&(console.log(ae.dim(` Current workspace: ${Ir(x.runtimeInfo)}`)),console.log());for(let V of P.slice(0,10))if(console.log(` ${ae.cyan(V.id)} ${ae.dim(`(${V.msgCount} messages)`)} ${V.title.slice(0,40)}`),V.runtimeInfo?.workspaceRoot){let ge=x.runtimeInfo?.workspaceRoot===V.runtimeInfo.workspaceRoot?" (current workspace)":"";console.log(ae.dim(` workspace: ${Ir(V.runtimeInfo)}${ge}`))}console.log()},"listSessions"),clearHistory:o(()=>{x.messages=[],x.contextTokenSnapshot=void 0},"clearHistory"),printHistory:o(()=>{if(x.messages.length===0){console.log(ae.dim(`
|
|
234
|
-
[No conversation history]`));return}console.log(ae.bold(`
|
|
235
|
-
Conversation History:
|
|
236
|
-
`));let P=x.messages.slice(-20);for(let V=0;V<P.length;V++){let z=P[V],ge=ae.cyan(z.role.padEnd(10)),Me=typeof z.content=="string"?z.content:"[Complex content]",Q=Me.slice(0,60).replace(/\n/g," "),j=Me.length>60?"...":"";console.log(` ${(V+1).toString().padStart(2)}. ${ge} ${Q}${j}`)}console.log()},"printHistory"),switchProvider:o((P,V)=>{let z=A({provider:P,model:V});w.provider=P,w.model=V,q.provider=P,q.model=V,q.effort=z.runtimeEffort,z.diagnostic&&console.log(ae.yellow(`
|
|
237
|
-
[${z.diagnostic}]`))},"switchProvider"),setThinking:o(P=>{w.thinking=P,q.thinking=P,w.reasoningMode=P?"auto":"off",q.reasoningMode=w.reasoningMode},"setThinking"),setEffort:o(P=>{w.effort=P,w.effortOverride=P!==void 0,Ke()},"setEffort"),setReasoningMode:o(P=>{let V=P!=="off";w.reasoningMode=P,w.thinking=V,q.reasoningMode=P,q.thinking=V},"setReasoningMode"),setAgentMode:o(P=>{w.agentMode=P,q.agentMode=P},"setAgentMode"),setPermissionMode:o(P=>{w.permissionMode=P,M=P,Ke(),P==="auto-in-project"&&T()},"setPermissionMode"),setRepoIntelligenceRuntime:o(P=>{P.mode!==void 0&&(w.repoIntelligenceMode=P.mode,process.env.KODAX_REPO_INTELLIGENCE=P.mode,q.context={...q.context,repoIntelligenceMode:P.mode}),P.trace!==void 0&&(w.repoIntelligenceTrace=P.trace,P.trace?process.env.KODAX_REPO_INTELLIGENCE_TRACE="1":delete process.env.KODAX_REPO_INTELLIGENCE_TRACE,q.context={...q.context,repoIntelligenceTrace:P.trace})},"setRepoIntelligenceRuntime"),deleteSession:o(async P=>{await r.delete?.(P)},"deleteSession"),deleteAllSessions:o(async()=>{await r.deleteAll?.(x.gitRoot??void 0)},"deleteAllSessions"),printSessionTree:o(async()=>{let P=await r.getLineage?.(x.sessionId);if(!P){console.log(ae.dim(`
|
|
238
|
-
[No session tree available for this session]`));return}let V=Ip(dd(P));console.log(ae.bold(`
|
|
239
|
-
Session Tree:
|
|
240
|
-
`));for(let z of V)console.log(` ${z}`);console.log()},"printSessionTree"),switchSessionBranch:o(async P=>{if(!Ce("Switching session branches"))return"blocked";let V=await r.setActiveEntry?.(x.sessionId,P,{summarizeCurrentBranch:!0});return V?(x.messages=V.messages,x.title=V.title,x.contextTokenSnapshot=void 0,console.log(ae.green(`
|
|
241
|
-
[Switched to tree entry: ${P}]`)),console.log(ae.dim(` Messages: ${V.messages.length}`)),"switched"):"missing"},"switchSessionBranch"),labelSessionBranch:o(async(P,V)=>{if(!await r.setLabel?.(x.sessionId,P,V))return!1;let ge=V&&V.trim()?`checkpoint label set: ${V.trim()}`:"checkpoint label cleared";return console.log(ae.green(`
|
|
242
|
-
[${ge}]`)),!0},"labelSessionBranch"),forkSession:o(async P=>{if(!Ce("Forking a session branch"))return"blocked";let V=await r.fork?.(x.sessionId,P);return V?(x.sessionId=V.sessionId,x.messages=V.data.messages,x.title=V.data.title,x.contextTokenSnapshot=void 0,x.createdAt=new Date().toISOString(),x.lastAccessed=x.createdAt,Yy(x,q,Nn(V.data)??x.runtimeInfo),q.session={...q.session,id:V.sessionId},console.log(ae.green(`
|
|
243
|
-
[Forked session: ${V.sessionId}]`)),console.log(ae.dim(` Messages: ${V.data.messages.length}`)),"forked"):"failed"},"forkSession"),recoverSession:ct,rewindSession:o(async P=>{if(!Ce("Rewinding session"))return"blocked";let V=await r.rewind?.(x.sessionId,P);return V?(x.messages=V.messages,x.title=V.title,x.contextTokenSnapshot=void 0,x.lastAccessed=new Date().toISOString(),console.log(ae.green(`
|
|
244
|
-
[Rewound session${P?` to ${P}`:" to previous turn"}]`)),console.log(ae.dim(` Messages: ${V.messages.length}`)),"rewound"):"failed"},"rewindSession"),getCostReport:o(()=>Qy.current?.()??null,"getCostReport"),getAutoModeStats:o(()=>{if(tr(M))return Te.getGuardrail().getStats()},"getAutoModeStats"),setAutoModeEngine:o(P=>{tr(M)&&Te.getGuardrail().setEngine(P)},"setAutoModeEngine"),createKodaXOptions:o(()=>{let P=o((z,ge)=>M!=="plan"?null:Co(z,ge,n??process.cwd()),"planModeBlockCheck"),V=tr(M)?[Te.getGuardrail()]:void 0;return{...q,provider:w.provider,model:w.model,effort:A().runtimeEffort,thinking:w.thinking,reasoningMode:w.reasoningMode,guardrails:V,context:{...q.context,planModeBlockCheck:P},events:{...q.events,onMemoryOutcomeDigest:o(z=>{x.lineage=ad(x.lineage??mt(x.messages),z),q.events?.onMemoryOutcomeDigest?.(z)},"onMemoryOutcomeDigest"),onMemoryReviewReceipt:o(z=>{x.lineage=cd(x.lineage??mt(x.messages),z),q.events?.onMemoryReviewReceipt?.(z)},"onMemoryReviewReceipt"),onMemoryNotice:o(z=>{x.lineage=ld(x.lineage??mt(x.messages),{...z,createdAt:new Date().toISOString()}),console.log(ae.dim(`
|
|
245
|
-
[memory] ${z.summaries.slice(0,3).join("; ")}`)),q.events?.onMemoryNotice?.(z)},"onMemoryNotice"),exitPlanMode:o(async z=>M!=="plan"?"not-in-plan-mode":(await Kl(we,"exit_plan_mode",{plan:z},{isProtectedPath:!1,permissionMode:M})).confirmed?(w.permissionMode="accept-edits",M="accept-edits",Ke(),!0):!1,"exitPlanMode"),beforeToolExecute:o(async(z,ge)=>{let Me=M,Q=Ps(Me);if(Me==="plan"){let j=Co(z,ge,n??process.cwd());if(j)return console.log(ae.yellow(j)),`${j} Do not modify files while planning. Finish the plan first, then call exit_plan_mode with the finalized plan \u2014 the user will review and approve or reject.`}if(z==="bash"){let j=ge.command??"";if(qr(j))return!0}if(n&&zr.has(z)){let j=ge.path;if(j&&Ws(j,n))return(await Kl(we,z,ge,{isProtectedPath:!0,permissionMode:Me})).confirmed?!0:(console.log(ae.dim("[Cancelled] Operation on protected path requires confirmation")),!1)}if(Q.has(z)){if(Me==="accept-edits"&&z==="bash"&&await Hs(z,ge,L,Oe))return!0;let j=await Kl(we,z,ge,{isOutsideProject:ge._outsideProject===!0,reason:ge._reason,permissionMode:Me});if(!j.confirmed)return console.log(ae.dim("[Cancelled] Operation cancelled by user")),!1;j.always&&Me==="accept-edits"&&(Md(z,ge,!1),L=js())}return!0},"beforeToolExecute")}}},"createKodaXOptions"),reloadAgentsFiles:o(async()=>(ee=await de(),ee),"reloadAgentsFiles"),readline:we,ui:new Kp(we)},Ie=o(async P=>{x.uiHistory=[...x.uiHistory??[],P];let V=x.title||lo(x.messages);x.title=V,await r.save(x.sessionId,{messages:x.messages,title:V,gitRoot:x.gitRoot??"",runtimeInfo:x.runtimeInfo,lineage:x.lineage,artifactLedger:x.artifactLedger,uiHistory:x.uiHistory,...Xo(x),...q.session?.tag!==void 0?{tag:q.session.tag}:{}})},"appendPersistedUiHistoryItem"),ye=o(async(P,V)=>{if(!Hd({error:P,messageCount:x.messages.length}))return!1;console.log(ae.dim(`
|
|
246
|
-
${Pc}`));try{await Ie({type:"info",text:Pc})}catch(Q){let j=Q instanceof Error?Q.message:String(Q);console.log(ae.dim(`Could not persist recovery hint: ${j}`))}let z=bT(le);if(!z)return console.log(),!1;if(!await z(Bd))return!1;let Me;try{Me=await le.recoverSession?.(V)}catch(Q){let j=Q instanceof Error?Q.message:String(Q);return console.log(ae.red(`
|
|
247
|
-
[Recover failed] ${j}`)),!1}return Me==="failed"&&console.log(ae.dim(`Recovery session was created, but the continuation request still failed.
|
|
248
|
-
`)),Me==="recovered"},"maybeRecoverAfterProviderError");we.on("SIGINT",async()=>{console.log(ae.dim(`
|
|
249
|
-
|
|
250
|
-
[Press /exit to quit]`)),we.prompt()});let Xe=o(()=>{i?.shutdown(),we.close()},"cleanup");process.on("exit",Xe),process.on("SIGTERM",Xe);let ft=o(async(P,V)=>{if(xd({source:P.source}).action==="none")return!1;let ge=!1,Me=o(pe=>{ge||(ge=!0,x.messages.push({role:"user",content:V||P.request,timestamp:new Date().toISOString()})),x.messages.push({role:"assistant",content:pe,timestamp:new Date().toISOString()});let O=lo(x.messages);x.title=O,r.save(x.sessionId,{messages:x.messages,title:O,gitRoot:x.gitRoot??"",runtimeInfo:x.runtimeInfo,artifactLedger:x.artifactLedger,...q.session?.tag!==void 0?{tag:q.session.tag}:{}}).catch(We=>{let Dt=We instanceof Error?We.message:String(We);console.log(ae.red(`
|
|
251
|
-
[workflow] failed to save final answer: ${Dt}
|
|
252
|
-
`))})},"commitWorkflowFinal"),Q={...le,onWorkflowRunMessage:o(pe=>{if(pe.type==="event")return;let O=pe.text.trimEnd();if(O.trim()){if(pe.type==="error"){console.log(ae.red(`
|
|
253
|
-
${O}
|
|
254
|
-
`));return}if(pe.type==="success"){console.log(ae.green(`
|
|
255
|
-
${O}
|
|
256
|
-
`));return}if(pe.type==="assistant"){console.log(`
|
|
257
|
-
${O}
|
|
258
|
-
`),pe.final===!0&&Me(O);return}console.log(ae.dim(`
|
|
259
|
-
${O}
|
|
260
|
-
`))}},"onWorkflowRunMessage")},j=await Nd({request:P.request,callbacks:Q,approval:w.permissionMode==="plan"?"required":"silent",presentation:"agentic",sourceLabel:P.displayName,processSource:P.processSource??"command",...P.builtin!==void 0?{builtin:P.builtin}:{}});return Sd({outcome:j})},"startWorkflowInvocation"),Qt=o(async(P,V)=>{if(!P||typeof P!="object")return;if(P.workflow){await ft(P.workflow,V);return}if(!P.invocation)return;let z=await Ep({...q,provider:w.provider,thinking:w.thinking,reasoningMode:w.reasoningMode},P.invocation,V,ge=>console.log(ae.dim(`
|
|
261
|
-
${ge}`)));if(z.mode==="manual"){z.manualOutput&&console.log(ae.yellow(`
|
|
262
|
-
${z.manualOutput}
|
|
263
|
-
`)),await z.finalize();return}if(!z.prompt||!z.options){await z.finalize();return}try{let ge=z.mode==="fork"?[]:x.messages,Me=await Xy(z.options,x,z.prompt,ge,void 0,e.runtimeRunner,M);if(z.mode==="fork"){let Q=wT(Me.messages);Q.trim()&&(console.log(`
|
|
264
|
-
${Q}
|
|
265
|
-
`),x.messages.push({role:"assistant",content:Q,timestamp:new Date().toISOString()}))}else x.messages=Me.messages,x.contextTokenSnapshot=Me.contextTokenSnapshot;if(zp(x,Me),x.messages.length>0){let Q=lo(x.messages);x.title=Q,await r.save(x.sessionId,{messages:x.messages,title:Q,gitRoot:x.gitRoot??"",runtimeInfo:x.runtimeInfo,...Xo(x),...q.session?.tag!==void 0?{tag:q.session.tag}:{}}),Ua(x)}await z.finalize()}catch(ge){throw await z.finalize(ge instanceof Error?ge:new Error(String(ge))),ge}},"handleCommandResult");for(;tt;){if(W&&K){W=!1,we.resume();let j=await zy(K);if(j&&j.trim()&&j!==K){console.log(ae.dim(`
|
|
266
|
-
[Edited message ready to send]`));let pe=j.trim();sr(x);let O=Si(pe);if(O){let Qe=await wi(O,x,le,w);await Qt(Qe,pe);continue}let We=await Yp(pe);if(pe.startsWith("!")&&Ml(We))continue;let Dt=La(We,q.context?.executionCwd??process.cwd());for(let Qe of Dt.warnings)console.log(ae.yellow(`
|
|
267
|
-
${Qe}`));x.messages.push({role:"user",content:Dt.messageContent}),K=pe;let Jt=x.lineage?_w({getLineage:o(()=>x.lineage,"getLineage"),setLineage:o(Qe=>{x.lineage=Qe},"setLineage"),saveSession:o(async()=>{await r.save(x.sessionId,{messages:x.messages,title:x.title??lo(x.messages),gitRoot:x.gitRoot??"",runtimeInfo:x.runtimeInfo,artifactLedger:x.artifactLedger,lineage:x.lineage,...Xo(x),...q.session?.tag!==void 0?{tag:q.session.tag}:{}}),Ua(x)},"saveSession"),getLatestUsage:o(()=>{},"getLatestUsage"),getTurnStartMs:o(()=>{},"getTurnStartMs"),getPermissionMode:o(()=>M,"getPermissionMode"),hasPendingUserInput:o(()=>On().has({agentId:rd(x.sessionId,"/root"),maxPriority:"user",mode:"prompt"}),"hasPendingUserInput"),verifyComplete:o(async()=>({ok:!0}),"verifyComplete")}):void 0;try{let Qe=await Mc({...q,provider:w.provider,thinking:w.thinking,reasoningMode:w.reasoningMode,session:{...q.session,initialMessages:x.lineage?Ht(x.lineage,x.lineage.activeEntryId):x.messages,initialExtensionState:x.extensionState??{},initialExtensionRecords:x.extensionRecords??[]},context:{...q.context,taskSurface:"repl",planModeBlockCheck:o((ur,Jo)=>M!=="plan"?null:Co(ur,Jo,n??process.cwd()),"planModeBlockCheck"),...Dt.inputArtifacts.length>0?{inputArtifacts:Dt.inputArtifacts}:{},...Jt?{goalRuntime:Jt}:{}}},We);if(x.messages=Qe.messages,x.contextTokenSnapshot=Qe.contextTokenSnapshot,zp(x,Qe),x.artifactLedger=_s(x.artifactLedger??[],Qe.artifactLedger??fd(Qe.messages)),x.messages.length>0){let ur=lo(x.messages);x.title=ur,await r.save(x.sessionId,{messages:x.messages,title:ur,gitRoot:x.gitRoot??"",runtimeInfo:x.runtimeInfo,artifactLedger:x.artifactLedger,...Xo(x),...q.session?.tag!==void 0?{tag:q.session.tag}:{}}),Ua(x)}}catch(Qe){let ur=Qe instanceof Error?Qe:new Error(String(Qe));if(x.messages.pop(),console.log(ae.red(`
|
|
268
|
-
[Error] ${ur.message}`)),await ye(ur,We))continue}continue}else j===K&&console.log(ae.dim(`
|
|
269
|
-
[No changes made, continuing...]`))}let P=CE(w.permissionMode,w),V=await IE(we,P);if(!tt)break;let z=V.trim();if(!z)continue;sr(x);let ge=Si(z);if(ge){let j=await wi(ge,x,le,w);await Qt(j,z);continue}let Me=await Yp(z);if(z.startsWith("!")&&Ml(Me))continue;let Q=La(Me,q.context?.executionCwd??process.cwd());for(let j of Q.warnings)console.log(ae.yellow(`
|
|
270
|
-
${j}`));x.messages.push({role:"user",content:Q.messageContent}),K=z;try{let j=await Xy(q,x,Me,x.messages,Q.inputArtifacts,e.runtimeRunner,M);if(x.messages=j.messages,x.contextTokenSnapshot=j.contextTokenSnapshot,zp(x,j),x.artifactLedger=_s(x.artifactLedger??[],j.artifactLedger??fd(j.messages)),x.messages.length>0){let pe=lo(x.messages);x.title=pe,await r.save(x.sessionId,{messages:x.messages,title:pe,gitRoot:x.gitRoot??"",runtimeInfo:x.runtimeInfo,artifactLedger:x.artifactLedger,...Xo(x),...q.session?.tag!==void 0?{tag:q.session.tag}:{}}),Ua(x)}}catch(j){let pe=j instanceof Error?j:new Error(String(j));x.messages.pop(),pe.message.includes("rate limit")||pe.message.includes("Rate limit")?(console.log(ae.yellow(`
|
|
271
|
-
[Rate Limit] ${pe.message}`)),console.log(ae.dim(`Suggestion: Wait a moment and try again, or switch provider with /mode
|
|
272
|
-
`))):pe.message.includes("API key")||pe.message.includes("not configured")?(console.log(ae.red(`
|
|
273
|
-
[Configuration Error] ${pe.message}`)),console.log(ae.dim(`Suggestion: Set the required API key environment variable
|
|
274
|
-
`))):pe.message.includes("network")||pe.message.includes("ECONNREFUSED")||pe.message.includes("ETIMEDOUT")?(console.log(ae.red(`
|
|
275
|
-
[Network Error] ${pe.message}`)),console.log(ae.dim(`Suggestion: Check your internet connection and try again
|
|
276
|
-
`))):pe.message.includes("token")||pe.message.includes("context too long")?(console.log(ae.yellow(`
|
|
277
|
-
[Context Error] ${pe.message}`)),console.log(ae.dim(`Suggestion: Use /clear to start a fresh conversation
|
|
278
|
-
`))):(console.log(ae.red(`
|
|
279
|
-
[Error] ${pe.message}`)),console.log(ae.dim(`Your message was not sent. Please try again.
|
|
280
|
-
`))),await ye(pe,Me)}}}o(kE,"runInteractiveMode");async function Yp(e){let t=e.match(/@[\w./-]+/g);if(t)for(let n of t){let r=n.slice(1)}if(e.startsWith("!")){let n=e.slice(1).trim();return El(n,{cwd:process.cwd()})}return e}o(Yp,"processSpecialSyntax");function PH(e){let t=e.snapshot;if(e.type==="workflow_started")return ae.dim(`
|
|
281
|
-
\u25B6 workflow ${t.workflowName} started (${t.runId})`);if(e.type==="workflow_finished"){let n=t.status==="completed"?ae.green("\u2713"):t.status==="failed"?ae.red("\u2717"):ae.yellow("\u2022"),r=t.resultSummary?` \u2014 ${t.resultSummary.split(`
|
|
282
|
-
`)[0]}`:"";return`${n} workflow ${t.workflowName} ${t.status}${r}`}if(e.type==="workflow_updated"&&e.message)return ae.dim(` ${e.message}`)}o(PH,"renderInlineWorkflowProcessLine");async function Xy(e,t,n,r=t.messages,i,s,a="accept-edits"){let c={...e.events??{},getCostReport:Qy,onWorkflowProcessEvent:o(d=>{let f=PH(d);f&&console.log(f)},"onWorkflowProcessEvent"),onWorkflowAgentDigest:o(({runId:d,event:f})=>{let p=f.data??{},h=typeof p.summary=="string"?p.summary:void 0,g=typeof p.name=="string"?p.name:void 0,T=Lc(h,g),v=Od(f,T,d);v&&console.log(`
|
|
283
|
-
${v}
|
|
284
|
-
`)},"onWorkflowAgentDigest")};_H(t.gitRoot,e);let l={...e,events:c,session:{...e.session,initialExtensionState:t.extensionState??{},initialExtensionRecords:t.extensionRecords??[],initialMessages:r},context:{...e.context,contextTokenSnapshot:t.contextTokenSnapshot,taskSurface:"repl",...i&&i.length>0?{inputArtifacts:[...i]}:{}}};return s?s({options:l,prompt:n,sessionId:t.sessionId,permissionMode:a}):Mc(l,n)}o(Xy,"runAgentRound");function lo(e){return bo(e)}o(lo,"extractTitle");import Xp from"node:fs";import $H from"node:path";function EE(){let e=Qp();return Jp(e).map(n=>qp(n))}o(EE,"listCustomProviders");function ME(e){if(typeof e!="string"||e.length===0)return;let t=Jp(Qp()).find(n=>n.name===e);return t?qp(t):void 0}o(ME,"getCustomProviderConfig");function AE(e){lw(e);let t=qp(e),n=Qp(),r=Jp(n),i=r.findIndex(a=>a.name===t.name),s=i>=0?r.map((a,c)=>c===i?t:a):[...r,t];return PE({...n,customProviders:s}),Vm(s),qp(t)}o(AE,"upsertCustomProvider");function _E(e){if(typeof e!="string"||e.length===0)return!1;let t=Qp(),n=Jp(t),r=n.filter(i=>i.name!==e);return r.length===n.length?!1:(PE({...t,customProviders:r}),Vm(r),!0)}o(_E,"removeCustomProvider");function LE(){return wo("config.json")}o(LE,"configFilePath");function Qp(){let e=LE();if(!Xp.existsSync(e))return{};try{let t=JSON.parse(Xp.readFileSync(e,"utf-8"));return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{return{}}}o(Qp,"readWholeConfig");function PE(e){let t=LE();Xp.mkdirSync($H.dirname(t),{recursive:!0}),Xp.writeFileSync(t,JSON.stringify(e,null,2),"utf-8")}o(PE,"writeWholeConfig");function Jp(e){let t=e.customProviders;return Array.isArray(t)?t:[]}o(Jp,"extractCustomProviders");function qp(e){return structuredClone(e)}o(qp,"cloneCustomProvider");function $E(){return structuredClone(mi(fi()).document.servers)}o($E,"listMcpServers");function DE(e){if(typeof e!="string"||e.length===0)return;let t=mi(fi()).document.servers[e];return t===void 0?void 0:structuredClone(t)}o(DE,"getMcpServerConfig");function OE(e,t){Jy(e,t);let n=fi(),r=mi(n),i=structuredClone(t);return Ac({domain:"mcp",configHome:n,...r.source==="user"?{expectedRevision:r.revision}:{},document:{version:1,servers:{...r.document.servers,[e]:i}},validate:Ds}),structuredClone(i)}o(OE,"upsertMcpServer");function NE(e){if(typeof e!="string"||e.length===0)return!1;let t=fi(),n=mi(t);if(!(e in n.document.servers))return!1;let r=structuredClone(n.document.servers);return delete r[e],Ac({domain:"mcp",configHome:t,...n.source==="user"?{expectedRevision:n.revision}:{},document:{version:1,servers:r},validate:Ds}),!0}o(NE,"removeMcpServer");function Jy(e,t){if(typeof e!="string"||e.length===0)throw new TypeError("MCP server name must be a non-empty string");Ds({version:1,servers:{[e]:t}})}o(Jy,"validateMcpServerConfig");import nt from"fs/promises";import lr from"fs";import Ue from"path";import JE from"chalk";import bt from"fs/promises";import HE from"fs";import qt from"path";var DH=2,OH=300*1e3,BE=65536,Zy=o(e=>qt.join(e,".layout.json"),"layoutMarkerPath"),tx=o(e=>qt.join(e,".migration-lock"),"lockDirPath"),WE=o(e=>qt.join(tx(e),"owner.json"),"ownerPath"),ex=o(e=>qt.join(e,".migration-journal.jsonl"),"journalPath"),FE=o(e=>qt.join(qt.dirname(e),"sessions-archive"),"sessionsArchiveDir");function jE(e){return e.endsWith(".jsonl")&&!e.endsWith(".archive.jsonl")&&!e.endsWith(".islands.jsonl")&&!e.startsWith(".")}o(jE,"isSessionFile");function UE(e){return e.endsWith(".archive.jsonl")||e.endsWith(".islands.jsonl")?e.slice(0,-14):null}o(UE,"sidecarId");async function NH(e){let t;try{t=await bt.open(e,"r");let n=Buffer.allocUnsafe(BE),{bytesRead:r}=await t.read(n,0,BE,0);if(r===0)return null;let i=n.toString("utf8",0,r),s=i.indexOf(`
|
|
285
|
-
`),a=(s>=0?i.slice(0,s):i).trim();if(!a)return null;let c=JSON.parse(a);if(c&&typeof c=="object"&&c._type==="meta"){let l=c;return{gitRoot:typeof l.gitRoot=="string"?l.gitRoot:void 0,runtimeInfo:l.runtimeInfo}}return null}catch{return null}finally{await t?.close()}}o(NH,"readMeta");async function BH(e){let t=await NH(e);return t?vo({gitRoot:t.gitRoot,runtimeInfo:t.runtimeInfo}).key:Jm}o(BH,"destKeyFor");async function GE(e){let t=[],n=o(async(r,i)=>{let s=[];try{s=await bt.readdir(r,{withFileTypes:!0})}catch{return}for(let a of s)!a.isFile()||a.name.startsWith(".")||(jE(a.name)||i&&UE(a.name)!==null)&&t.push(qt.join(r,a.name))},"pushDir");return await n(e,!0),await n(FE(e),!0),t}o(GE,"collectFlatSources");async function HH(e){let t=await GE(e),n=t.filter(s=>jE(qt.basename(s))),r=new Set(n.map(s=>qt.basename(s,".jsonl"))),i=[];for(let s of n){let a=qt.basename(s,".jsonl"),c=await BH(s);i.push({from:s,to:qt.join(e,c,`${a}.jsonl`),reason:`session\u2192${c}`});for(let l of[".archive.jsonl",".islands.jsonl"]){let d=qt.join(qt.dirname(s),`${a}${l}`);HE.existsSync(d)&&i.push({from:d,to:qt.join(e,c,`${a}.islands.jsonl`),reason:"sidecar\u2192islands"})}}for(let s of t){let a=UE(qt.basename(s));a===null||r.has(a)||i.push({from:s,to:qt.join(e,Jm,"orphan-islands",`${a}.islands.jsonl`),reason:"orphan-sidecar\u2192_unknown"})}return i}o(HH,"planMigration");async function VE(e){try{return await bt.access(Zy(e)),!0}catch{return!1}}o(VE,"isMigrated");async function WH(e){return await VE(e)?!1:(await GE(e)).length>0}o(WH,"needsMigration");async function FH(e){try{let t=JSON.parse(await bt.readFile(WE(e),"utf8"));if(typeof t.pid=="number"&&t.pid!==process.pid)try{process.kill(t.pid,0)}catch(n){if(n.code==="ESRCH")return!0}return typeof t.heartbeatAt=="number"&&Date.now()-t.heartbeatAt>OH}catch{return!0}}o(FH,"lockIsStale");async function jH(e){let t=tx(e);for(let n=0;n<2;n+=1)try{return await bt.mkdir(t),await bt.writeFile(WE(e),JSON.stringify({pid:process.pid,startTime:Date.now(),heartbeatAt:Date.now()})),!0}catch(r){if(r.code!=="EEXIST")return!1;if(n===0&&await FH(e)){await bt.rm(t,{recursive:!0,force:!0}).catch(()=>{});continue}return!1}return!1}o(jH,"acquireLock");async function UH(e){await bt.rm(tx(e),{recursive:!0,force:!0}).catch(()=>{})}o(UH,"releaseLock");async function GH(e){let t=new Set;try{let n=await bt.readFile(ex(e),"utf8");for(let r of n.split(`
|
|
286
|
-
`))if(r.trim())try{let i=JSON.parse(r);i.done&&typeof i.from=="string"&&t.add(i.from)}catch{}}catch{}return t}o(GH,"readJournalDone");async function VH(e){if(await bt.mkdir(qt.dirname(e.to),{recursive:!0}),HE.existsSync(e.to)){await bt.unlink(e.from).catch(()=>{});return}try{await bt.rename(e.from,e.to)}catch(t){let n=t.code;if(n==="EXDEV")await bt.copyFile(e.from,e.to),await bt.unlink(e.from).catch(()=>{});else if(n!=="ENOENT")throw t}}o(VH,"executeMove");async function KE(e){await bt.mkdir(e,{recursive:!0});let t=`${Zy(e)}.${process.pid}.tmp`,n=JSON.stringify({version:DH,migratedAt:new Date().toISOString(),from:"flat-v1"});await bt.writeFile(t,n+`
|
|
287
|
-
`,"utf8"),await bt.rename(t,Zy(e))}o(KE,"writeMarker");async function KH(e){let t=FE(e);try{(await bt.readdir(t)).length===0&&await bt.rmdir(t).catch(()=>{})}catch{}}o(KH,"retireSessionsArchive");async function zH(e){if(!await jH(e))return{moved:0,planned:0};try{let t=await HH(e),n=await GH(e),r=await bt.open(ex(e),"a"),i=0;try{for(let s of t)n.has(s.from)||(await VH(s),await r.write(JSON.stringify({from:s.from,to:s.to,done:!0})+`
|
|
288
|
-
`),i+=1)}finally{await r.close()}return await KH(e),await KE(e),await bt.rm(ex(e),{force:!0}).catch(()=>{}),{moved:i,planned:t.length}}finally{await UH(e)}}o(zH,"runMigration");async function qo(e){try{if(await VE(e))return;if(!await WH(e)){await KE(e).catch(()=>{});return}await zH(e)}catch{}}o(qo,"ensureLayoutMigrated");var YH=new Set(["user","assistant","system"]),XH=new Set(["user","assistant","system","thinking","error","event","info","hint"]),qH=new Set(["success","error","cancelled","awaiting_approval"]);function vt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}o(vt,"isRecord");function cr(e){if(e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return!0;if(Array.isArray(e))return e.every(cr);if(!vt(e))return!1;let t=Object.getPrototypeOf(e);return t!==Object.prototype&&t!==null?!1:Object.values(e).every(cr)}o(cr,"isKodaXJsonValue");function YE(e){return vt(e)&&typeof e.id=="string"&&typeof e.extensionId=="string"&&typeof e.type=="string"&&typeof e.ts=="number"&&(e.data===void 0||cr(e.data))&&(e.dedupeKey===void 0||typeof e.dedupeKey=="string")}o(YE,"isKodaXExtensionSessionRecord");function XE(e){return vt(e)?Object.values(e).every(t=>vt(t)?Object.values(t).every(cr):!1):!1}o(XE,"isKodaXExtensionSessionState");function QH(e){if(!vt(e)||typeof e.type!="string")return!1;switch(e.type){case"text":return typeof e.text=="string";case"tool_use":return typeof e.id=="string"&&typeof e.name=="string"&&vt(e.input);case"tool_result":return typeof e.tool_use_id=="string"&&typeof e.content=="string"&&(e.is_error===void 0||typeof e.is_error=="boolean");case"image":return typeof e.path=="string"&&(e.mediaType===void 0||typeof e.mediaType=="string");case"thinking":return typeof e.thinking=="string"&&(e.signature===void 0||typeof e.signature=="string");case"redacted_thinking":return typeof e.data=="string";default:return!1}}o(QH,"isKodaXContentBlock");function nx(e){return!vt(e)||typeof e.role!="string"||!YH.has(e.role)?!1:typeof e.content=="string"||Array.isArray(e.content)&&e.content.every(QH)}o(nx,"isKodaXMessage");function qE(e){return vt(e)?(e.lastError===void 0||typeof e.lastError=="string")&&(e.lastErrorTime===void 0||typeof e.lastErrorTime=="number")&&(e.consecutiveErrors===void 0||typeof e.consecutiveErrors=="number"):!1}o(qE,"isSessionErrorMetadata");function JH(e){return vt(e)&&Object.values(e).every(cr)}o(JH,"isKodaXSessionUiToolInput");function ZH(e){return vt(e)&&typeof e.id=="string"&&typeof e.name=="string"&&typeof e.status=="string"&&qH.has(e.status)&&(e.input===void 0||JH(e.input))&&(e.preview===void 0||typeof e.preview=="string")&&(e.output===void 0||typeof e.output=="string")&&(e.error===void 0||typeof e.error=="string")&&(e.startTime===void 0||typeof e.startTime=="number")&&(e.endTime===void 0||typeof e.endTime=="number")}o(ZH,"isKodaXSessionUiToolCall");function zE(e){return e===void 0||typeof e=="number"&&Number.isFinite(e)&&e>=0}o(zE,"isOptionalHistoryTimestamp");function QE(e){return!vt(e)||typeof e.type!="string"?!1:e.type==="tool_group"?zE(e.timestamp)&&Array.isArray(e.tools)&&e.tools.length>0&&e.tools.every(ZH):XH.has(e.type)&&typeof e.text=="string"&&zE(e.timestamp)&&(e.icon===void 0||typeof e.icon=="string")&&(e.compactText===void 0||typeof e.compactText=="string")}o(QE,"isKodaXSessionUiHistoryItem");var eW=[10,25,50,100],tW=0;async function nW(e,t){for(let n=0;;n+=1)try{await nt.rename(e,t);return}catch(r){let i=eW[n];if(i===void 0||!rW(r))throw r;await new Promise(s=>setTimeout(s,i))}}o(nW,"replaceSessionFile");function rW(e){if(!(e instanceof Error)||!("code"in e))return!1;let t=e.code;return t==="EPERM"||t==="EBUSY"||t==="EACCES"}o(rW,"isTransientRenameError");function oW(e){return!vt(e)||e._type!=="meta_update"?!1:(e.title===void 0||typeof e.title=="string")&&(e.tag===void 0||typeof e.tag=="string")&&(e.activeEntryId===void 0||typeof e.activeEntryId=="string"||e.activeEntryId===null)&&(e.activeMessageCount===void 0||typeof e.activeMessageCount=="number")&&(e.uiHistory===void 0||Array.isArray(e.uiHistory))&&(e.scope===void 0||typeof e.scope=="string")}o(oW,"isPersistedMetaUpdateLine");function sM(e){if(!Array.isArray(e))return;let t=e.filter(QE).map(n=>n.type==="tool_group"?{...n,tools:n.tools.map(r=>({...r}))}:{...n});return t.length>0?t:void 0}o(sM,"normalizeKodaXSessionUiHistory");function ox(e,t,n){Lt({source:"repl:session-storage",level:e,message:t,...n!==void 0?{detail:n}:{}})}o(ox,"reportStorageDiagnostic");function ZE(e,t){t!==0&&ox("warn",`Skipped ${t} malformed session record(s) from ${Ue.basename(e)}.`)}o(ZE,"warnMalformedSessionData");function uo(e){ox("info",e)}o(uo,"writeStorageNotice");function eM(e){return{_type:"extension_record",...e}}o(eM,"toExtensionRecordLine");function tM(e){return{_type:"lineage_entry",entry:e}}o(tM,"toLineageEntryLine");function nM(e){return{_type:"artifact_ledger_entry",entry:e}}o(nM,"toArtifactLedgerLine");function iW(e){return vt(e)&&e._type==="extension_record"&&YE(e)}o(iW,"isPersistedExtensionRecordLine");function sW(e){return vt(e)&&typeof e.id=="string"&&(e.parentId===null||typeof e.parentId=="string")&&typeof e.timestamp=="string"&&typeof e.type=="string"&&(e.logicalId===void 0||typeof e.logicalId=="string")&&(e.sourceEntryId===void 0||typeof e.sourceEntryId=="string")}o(sW,"hasEntryBase");function aW(e){if(!sW(e))return!1;let t=e;switch(t.type){case"message":return nx(t.message);case"compaction":return typeof t.summary=="string"&&(t.firstKeptEntryId===void 0||typeof t.firstKeptEntryId=="string")&&(t.tokensBefore===void 0||typeof t.tokensBefore=="number");case"branch_summary":return typeof t.summary=="string"&&(t.fromId===void 0||typeof t.fromId=="string")&&(t.details===void 0||cr(t.details));case"label":return typeof t.targetId=="string"&&(t.label===void 0||typeof t.label=="string");case"archive_marker":return typeof t.archiveBatchId=="string"&&typeof t.archivedEntryCount=="number"&&typeof t.summary=="string";case"rewind_marker":return typeof t.targetId=="string"&&(t.fromId===void 0||typeof t.fromId=="string")&&typeof t.truncatedCount=="number"&&typeof t.summary=="string";case"client_notice":return typeof t.source=="string"&&typeof t.content=="string"&&(t.turnId===void 0||typeof t.turnId=="string")&&(t.payload===void 0||cr(t.payload));case"goal":return typeof t.event=="string";default:return!1}}o(aW,"isKodaXSessionEntry");function cW(e){return vt(e)&&e._type==="lineage_entry"&&aW(e.entry)}o(cW,"isPersistedLineageEntryLine");function lW(e){return vt(e)&&typeof e.id=="string"&&typeof e.kind=="string"&&typeof e.target=="string"&&typeof e.timestamp=="string"&&(e.sourceTool===void 0||typeof e.sourceTool=="string")&&(e.action===void 0||typeof e.action=="string")&&(e.displayTarget===void 0||typeof e.displayTarget=="string")&&(e.summary===void 0||typeof e.summary=="string")&&(e.sessionEntryId===void 0||typeof e.sessionEntryId=="string")&&(e.metadata===void 0||cr(e.metadata))}o(lW,"isKodaXSessionArtifactLedgerEntry");function uW(e){return vt(e)&&e._type==="artifact_ledger_entry"&&lW(e.entry)}o(uW,"isPersistedArtifactLedgerLine");function aM(e){return vt(e)&&(e.canonicalRepoRoot===void 0||typeof e.canonicalRepoRoot=="string")&&(e.workspaceRoot===void 0||typeof e.workspaceRoot=="string")&&(e.executionCwd===void 0||typeof e.executionCwd=="string")&&(e.branch===void 0||typeof e.branch=="string")&&(e.workspaceKind===void 0||e.workspaceKind==="detected"||e.workspaceKind==="managed")}o(aM,"isKodaXSessionRuntimeInfo");function rx(e,t){return process.platform==="win32"||process.platform==="darwin"?e.toLowerCase()===t.toLowerCase():e===t}o(rx,"pathsEqual");function dW(e){for(let t=e.length-1;t>=0;t-=1){let n=e[t];if(n&&n.type!=="label"&&n.type!=="goal"&&n.type!=="client_notice"&&n.type!=="rewind_marker")return n.id}return null}o(dW,"getLastNavigableEntryId");function fW(e){if(e.lineageEntries.length>0)return{version:2,activeEntryId:e.meta?.activeEntryId??dW(e.lineageEntries),entries:e.lineageEntries};if(e.legacyMessages.length!==0)return mt(e.legacyMessages)}o(fW,"buildLineage");function rM(e){return typeof e=="string"?`t:${e}`:`j:${JSON.stringify(e)}`}o(rM,"serializeMessageContentForCompare");function pW(e,t){return e===t?!0:e.role===t.role&&e._synthetic===!0==(t._synthetic===!0)&&rM(e.content)===rM(t.content)}o(pW,"sameMessageByContent");function mW(e,t){if(e.lineage)return e.lineage;if(t){let n=Ht(t),r=e.messages;if(r.length<=n.length&&r.every((s,a)=>pW(s,n[a])))return t}return mt(e.messages,t)}o(mW,"resolveSnapshotLineage");function hW(e){let t=fW(e);return{createdAt:e.meta?.createdAt,data:{messages:t?Ht(t):[...e.legacyMessages],title:e.meta?.title??"",gitRoot:e.meta?.gitRoot??"",tag:typeof e.meta?.tag=="string"?e.meta.tag:void 0,runtimeInfo:aM(e.meta?.runtimeInfo)?{...e.meta.runtimeInfo}:void 0,scope:e.meta?.scope??"user",uiHistory:sM(e.meta?.uiHistory),errorMetadata:qE(e.meta?.errorMetadata)?{...e.meta.errorMetadata}:void 0,extensionState:XE(e.meta?.extensionState)?e.meta?.extensionState:void 0,extensionRecords:e.extensionRecords.map(n=>({...n})),lineage:t,artifactLedger:e.artifactLedger.map(n=>({...n,metadata:n.metadata?structuredClone(n.metadata):void 0})),actorSnapshot:e.meta?.actorSnapshot?structuredClone(e.meta.actorSnapshot):void 0}}}o(hW,"buildSessionData");function gW(e,t,n,r){return{_type:"meta",title:t.title,id:e,gitRoot:t.gitRoot,tag:t.tag,runtimeInfo:t.runtimeInfo?{...t.runtimeInfo}:void 0,createdAt:r??new Date().toISOString(),scope:t.scope??"user",uiHistory:t.uiHistory,errorMetadata:t.errorMetadata,extensionState:t.extensionState,extensionRecordCount:t.extensionRecords?.length??0,artifactLedgerCount:t.artifactLedger?.length??0,actorSnapshot:t.actorSnapshot?structuredClone(t.actorSnapshot):void 0,lineageVersion:n?.version,activeEntryId:n?.activeEntryId,lineageEntryCount:n?.entries.length??0,activeMessageCount:n?pi(n):t.messages.length}}o(gW,"createSessionMeta");async function yW(e){let t;try{t=await nt.readFile(e,"utf-8")}catch(s){if(s?.code==="ENOENT")return null;throw s}let n=t.trim();if(!n)return null;let r={legacyMessages:[],lineageEntries:[],artifactLedger:[],extensionRecords:[],malformedCount:0},i=n.split(`
|
|
289
|
-
`);for(let s=0;s<i.length;s+=1)try{let a=JSON.parse(i[s]);if(s===0&&vt(a)&&a._type==="meta"){r.meta=a;continue}if(oW(a)){r.meta&&(a.title!==void 0&&(r.meta.title=a.title),a.tag!==void 0&&(r.meta.tag=a.tag),a.activeEntryId!==void 0&&(r.meta.activeEntryId=a.activeEntryId),a.activeMessageCount!==void 0&&(r.meta.activeMessageCount=a.activeMessageCount),a.uiHistory!==void 0&&(r.meta.uiHistory=sM(a.uiHistory)),a.scope!==void 0&&(r.meta.scope=a.scope));continue}if(cW(a)){r.lineageEntries.push(a.entry);continue}if(uW(a)){r.artifactLedger.push(a.entry);continue}if(iW(a)){r.extensionRecords.push({id:a.id,extensionId:a.extensionId,type:a.type,ts:a.ts,data:a.data,dedupeKey:a.dedupeKey});continue}if(nx(a)){r.legacyMessages.push(a);continue}r.malformedCount+=1}catch{r.malformedCount+=1}return r}o(yW,"readPersistedSessionFile");var oM=65536;async function ix(e){let t;try{t=await nt.open(e,"r");let n=Buffer.allocUnsafe(oM),{bytesRead:r}=await t.read(n,0,oM,0);if(r===0)return null;let i=n.toString("utf8",0,r),s=i.indexOf(`
|
|
290
|
-
`);if(s>=0)return i.slice(0,s).trim();let a=await nt.readFile(e,"utf-8"),c=a.indexOf(`
|
|
291
|
-
`);return(c>=0?a.slice(0,c):a).trim()}catch{return null}finally{await t?.close()}}o(ix,"readSessionFirstLine");async function iM(e){try{let t=(await nt.readFile(e,"utf-8")).trim();return t?t.split(`
|
|
292
|
-
`).length:0}catch{return 0}}o(iM,"countSessionLines");var Un=class{static{o(this,"FileSessionStorage")}sessionsDir;hostCwd;emitMismatchWarnings;constructor(t){this.sessionsDir=Ue.resolve(t?.sessionsDir??Yr),this.hostCwd=t?.cwd,this.emitMismatchWarnings=t?.emitMismatchWarnings??!1}getSessionsDir(){return this.sessionsDir}writeQueues=new Map;serializedWrite(t,n){let i=(this.writeQueues.get(t)??Promise.resolve()).then(n,()=>n());return this.writeQueues.set(t,i),i}appendState=new Map;sessionDirCache=new Map;projectJsonWritten=new Set;migrationPromise;ensureMigrated(){return this.migrationPromise||(this.migrationPromise=qo(this.sessionsDir)),this.migrationPromise}syncAppendState(t,n,r){let i=this.appendState.get(t);this.appendState.set(t,{lineageCount:n.lineage?.entries.length??i?.lineageCount??0,artifactCount:n.artifactLedger?.length??i?.artifactCount??0,extensionCount:n.extensionRecords?.length??i?.extensionCount??0,metaUpdateCount:r??i?.metaUpdateCount??0,tag:n.tag!==void 0?n.tag:i?.tag})}legacyFlatPath(t){return Ue.join(this.sessionsDir,`${t}.jsonl`)}legacyFlatArchivePath(t){return Ue.join(this.sessionsDir,`${t}.archive.jsonl`)}projectDir(t){return Ue.join(this.sessionsDir,t)}resolveWriteDir(t,n){let r=this.sessionDirCache.get(t);if(r)return r;let i=vo(n),s=this.projectDir(i.key);return this.sessionDirCache.set(t,s),s}writeFilePath(t,n){return Ue.join(this.resolveWriteDir(t,n),`${t}.jsonl`)}async resolveSessionLocation(t){let n=this.sessionDirCache.get(t);if(n){let s=Ue.join(n,`${t}.jsonl`);if(lr.existsSync(s))return s;let a=Ue.join(n,"archived",`${t}.jsonl`);if(lr.existsSync(a))return a}let r=[],i=[];try{i=await nt.readdir(this.sessionsDir,{withFileTypes:!0})}catch{i=[]}for(let s of i){if(!s.isDirectory()||s.name.startsWith("."))continue;let a=Ue.join(this.sessionsDir,s.name,`${t}.jsonl`);lr.existsSync(a)&&r.push(a);let c=Ue.join(this.sessionsDir,s.name,"archived",`${t}.jsonl`);lr.existsSync(c)&&r.push(c)}if(r.length===0){let s=this.legacyFlatPath(t);return lr.existsSync(s)?s:null}if(r.length===1){let s=Ue.dirname(r[0]),a=Ue.basename(s)==="archived"?Ue.dirname(s):s;return this.sessionDirCache.set(t,a),r[0]}if(this.hostCwd){let s=await Cr({cwd:this.hostCwd}),a=await Xr(this.hostCwd),c=this.projectDir(vo({gitRoot:a??void 0,runtimeInfo:s}).key),l=r.find(d=>Ue.dirname(d)===c);if(l)return l}return uo(`[KodaX] Ambiguous session id ${t} found in ${r.length} projects; ${this.hostCwd?"no current-project match \u2014 ":""}returning the first match. Specify projectKey to disambiguate.`),r[0]}async readSession(t){await this.ensureMigrated();let n=await this.resolveSessionLocation(t);if(!n)return null;let r=await yW(n);return r?(ZE(n,r.malformedCount),hW(r)):null}async ensureProjectJson(t,n){if(n.canonicalRoot===null||this.projectJsonWritten.has(t))return;this.projectJsonWritten.add(t);let r=Ue.join(t,"project.json");try{let i=JSON.stringify({canonicalRoot:n.canonicalRoot,displayName:n.displayName,lastUsed:new Date().toISOString()});await nt.writeFile(r,i+`
|
|
293
|
-
`,"utf-8")}catch{}}async writeSessionInternal(t,n,r){let i=this.resolveWriteDir(t,n);await nt.mkdir(i,{recursive:!0});let s=Ue.join(i,`${t}.jsonl`),a=`${s}.${process.pid}.${Date.now()}.${tW++}.tmp`,c=n.lineage??mt(n.messages),l=gW(t,n,c,r);try{let d=await nt.open(a,"w");try{await d.write(JSON.stringify(l)+`
|
|
294
|
-
`);for(let p of c.entries)await d.write(JSON.stringify(tM(p))+`
|
|
295
|
-
`);for(let p of n.artifactLedger??[])await d.write(JSON.stringify(nM(p))+`
|
|
296
|
-
`);for(let p of n.extensionRecords??[])await d.write(JSON.stringify(eM(p))+`
|
|
297
|
-
`)}finally{await d.close()}await nW(a,s),await this.ensureProjectJson(i,vo(n));let f=this.legacyFlatPath(t);if(f!==s&&lr.existsSync(f)){await nt.unlink(f).catch(()=>{});let p=this.legacyFlatArchivePath(t);lr.existsSync(p)&&await nt.rename(p,Ue.join(i,`${t}.islands.jsonl`)).catch(()=>{})}}finally{lr.existsSync(a)&&await nt.unlink(a).catch(()=>{})}}async mergeAndWriteInternal(t,n){let r=await this.readSession(t),i={...n,scope:n.scope??r?.data.scope??"user",uiHistory:n.uiHistory??r?.data.uiHistory,extensionState:n.extensionState??r?.data.extensionState,artifactLedger:n.artifactLedger??r?.data.artifactLedger,actorSnapshot:n.actorSnapshot??r?.data.actorSnapshot,extensionRecords:n.extensionRecords??r?.data.extensionRecords,runtimeInfo:n.runtimeInfo??r?.data.runtimeInfo,errorMetadata:n.errorMetadata??r?.data.errorMetadata,tag:n.tag??r?.data.tag,lineage:mW(n,r?.data.lineage)};await this.writeSessionInternal(t,i,r?.createdAt),this.syncAppendState(t,i)}async appendSessionDelta(t,n){await this.ensureMigrated();let r=this.writeFilePath(t,n);if(!lr.existsSync(r)||!n.lineage){await this.save(t,n);return}await this.serializedWrite(t,async()=>{let s=this.appendState.get(t);if(!s){await this.mergeAndWriteInternal(t,n);return}if(n.lineage.entries.length<s.lineageCount||(n.artifactLedger?.length??0)<s.artifactCount){await this.mergeAndWriteInternal(t,n);return}if(n.tag!==void 0&&n.tag!==s.tag){await this.mergeAndWriteInternal(t,n);return}if(n.extensionState!==void 0){await this.mergeAndWriteInternal(t,n);return}if(n.actorSnapshot!==void 0){await this.mergeAndWriteInternal(t,n);return}if(n.extensionRecords!==void 0&&n.extensionRecords.length<=s.extensionCount){await this.mergeAndWriteInternal(t,n);return}let a=n.lineage.entries.slice(s.lineageCount),c=(n.artifactLedger??[]).slice(s.artifactCount),l=(n.extensionRecords??[]).slice(s.extensionCount),d=[];for(let p of a)d.push(JSON.stringify(tM(p)));for(let p of c)d.push(JSON.stringify(nM(p)));for(let p of l)d.push(JSON.stringify(eM(p)));let f={_type:"meta_update",title:n.title,activeEntryId:n.lineage.activeEntryId,activeMessageCount:pi(n.lineage),...n.uiHistory!==void 0?{uiHistory:n.uiHistory}:{},...n.scope!==void 0?{scope:n.scope}:{}};d.push(JSON.stringify(f)),d.length>0&&await nt.appendFile(r,`
|
|
298
|
-
`+d.join(`
|
|
299
|
-
`),"utf-8"),this.syncAppendState(t,n,s.metaUpdateCount+1)});let i=this.appendState.get(t);i&&this.shouldRunMaintenance(i)&&this.runMaintenance(t).catch(s=>{ox("error","Archive maintenance failed.",s)})}shouldRunMaintenance(t){return t.metaUpdateCount>=50||t.lineageCount>500}async runMaintenance(t){await this.serializedWrite(t,async()=>{let n=await this.readSession(t);if(!n?.data.lineage)return;let{slimmedLineage:r,archivedEntries:i,archiveBatchId:s}=xw(n.data.lineage);if(i.length===0){await this.writeSessionInternal(t,n.data,n.createdAt),this.syncAppendState(t,n.data,0);return}let a=this.resolveWriteDir(t,n.data);await nt.mkdir(a,{recursive:!0});let c=Ue.join(a,`${t}.islands.jsonl`),l=await nt.open(c,"a");try{await l.write(JSON.stringify({_type:"archive_batch",archiveBatchId:s,sessionId:t,archivedAt:new Date().toISOString(),entryCount:i.length})+`
|
|
300
|
-
`);for(let f of i)await l.write(JSON.stringify({_type:"archived_entry",archiveBatchId:s,entry:f})+`
|
|
301
|
-
`)}finally{await l.close()}let d={...n.data,lineage:r};await this.writeSessionInternal(t,d,n.createdAt),this.syncAppendState(t,d,0)})}async save(t,n){await this.serializedWrite(t,async()=>{await this.mergeAndWriteInternal(t,n)})}async saveActorSnapshot(t,n,r){await this.serializedWrite(t,async()=>{let i=await this.readSession(t);if(!i)throw new Error(`Session not found: ${t}`);let s=i.data.actorSnapshot?.revision??0;if(s!==r)throw new Error(`Actor snapshot revision conflict for ${t}: expected ${r}, actual ${s}.`);let a={...i.data,actorSnapshot:structuredClone(n)};await this.writeSessionInternal(t,a,i.createdAt),this.syncAppendState(t,a)})}async load(t){let n=await this.readSession(t);if(!n)return null;this.syncAppendState(t,n.data);let{data:r,createdAt:i}=n,s=this.legacyFlatPath(t);if(this.emitMismatchWarnings){let a=await Xr(this.hostCwd),c=await Cr({cwd:this.hostCwd}),l=Nn(r);(c.canonicalRepoRoot&&l?.canonicalRepoRoot&&!$d(c,l)||a&&r.gitRoot&&a!==r.gitRoot&&!$d(c,{canonicalRepoRoot:r.gitRoot}))&&(uo(JE.yellow(`
|
|
302
|
-
[Warning] Session project mismatch:`)),c.workspaceRoot&&uo(` Current workspace: ${c.workspaceRoot}`),l?.workspaceRoot&&uo(` Session workspace: ${l.workspaceRoot}`),c.canonicalRepoRoot&&uo(` Current repo: ${c.canonicalRepoRoot}`),l?.canonicalRepoRoot?uo(` Session repo: ${l.canonicalRepoRoot}`):r.gitRoot&&uo(` Session repo: ${r.gitRoot}`),uo(` Continuing anyway...
|
|
303
|
-
`))}if(r.errorMetadata?.consecutiveErrors&&r.errorMetadata.consecutiveErrors>0){let a=mw(r.messages);if(a!==r.messages){uo(JE.cyan("[Session Recovery] Cleaned incomplete tool calls from previous session"));let c={...r,messages:a,errorMetadata:{...r.errorMetadata,consecutiveErrors:0},lineage:mt(a,r.lineage)};return await this.serializedWrite(t,async()=>{await this.writeSessionInternal(t,c,i),this.syncAppendState(t,c)}),c}}return ZE(s,0),r}async getLineage(t){return(await this.readSession(t))?.data.lineage??null}async setActiveEntry(t,n,r){let i=null;return await this.serializedWrite(t,async()=>{let s=await this.readSession(t);if(!s?.data.lineage)return;let a=Rs(s.data.lineage,n,r);if(!a)return;let c={...s.data,messages:Ht(a),lineage:a};await this.writeSessionInternal(t,c,s.createdAt),this.syncAppendState(t,c),i=c}),i}async rewind(t,n){let r=null;return await this.serializedWrite(t,async()=>{let i=await this.readSession(t);if(!i?.data.lineage)return;let s=n??Es(i.data.lineage);if(!s)return;let a=Ms(i.data.lineage,s);if(!a)return;let c={...i.data,messages:Ht(a),lineage:a};await this.writeSessionInternal(t,c,i.createdAt),this.syncAppendState(t,c),r=c}),r}async setLabel(t,n,r){let i=null;return await this.serializedWrite(t,async()=>{let s=await this.readSession(t);if(!s?.data.lineage)return;let a=ks(s.data.lineage,n,r);if(!a)return;let c={...s.data,lineage:a};await this.writeSessionInternal(t,c,s.createdAt),this.syncAppendState(t,c),i=c}),i}async fork(t,n,r){let i=null;return await this.serializedWrite(t,async()=>{let s=await this.readSession(t);if(!s?.data.lineage)return;let a=As(s.data.lineage,n);if(!a)return;let c=r?.sessionId??await vs(),l={messages:Ht(a),title:r?.title??s.data.title,gitRoot:s.data.gitRoot,tag:s.data.tag,runtimeInfo:s.data.runtimeInfo?{...s.data.runtimeInfo}:void 0,uiHistory:s.data.uiHistory?s.data.uiHistory.map(d=>({...d})):void 0,extensionState:s.data.extensionState?structuredClone(s.data.extensionState):void 0,artifactLedger:s.data.artifactLedger?structuredClone(s.data.artifactLedger):void 0,extensionRecords:s.data.extensionRecords?structuredClone(s.data.extensionRecords):void 0,lineage:a};await this.writeSessionInternal(c,l),i={sessionId:c,data:l}}),i}async list(t,n){await this.ensureMigrated(),await nt.mkdir(this.sessionsDir,{recursive:!0});let r=t&&t.trim()?t:void 0,i=r!==void 0||this.hostCwd!==void 0,s=r??(this.hostCwd?await Xr(this.hostCwd):null),a=await Cr({cwd:s??this.hostCwd??process.cwd()}),c=await nt.readdir(this.sessionsDir,{withFileTypes:!0}),l=[],d=vo({gitRoot:s??void 0,runtimeInfo:a}).key,f=o(S=>S.endsWith(".archive.jsonl")||S.endsWith(".islands.jsonl"),"isSidecar"),p=i?[d]:c.filter(S=>S.isDirectory()&&!S.name.startsWith(".")).map(S=>S.name);for(let S of p){let w=[];try{w=await nt.readdir(this.projectDir(S))}catch{continue}for(let M of w)M.endsWith(".jsonl")&&!f(M)&&l.push({path:Ue.join(this.projectDir(S),M),trusted:i,archived:!1});if(n?.includeArchived){let M=[];try{M=await nt.readdir(Ue.join(this.projectDir(S),"archived"))}catch{M=[]}for(let L of M)L.endsWith(".jsonl")&&!f(L)&&l.push({path:Ue.join(this.projectDir(S),"archived",L),trusted:i,archived:!0})}}for(let S of c)S.isFile()&&S.name.endsWith(".jsonl")&&!f(S.name)&&!S.name.startsWith("archived-")&&!S.name.startsWith(".")&&l.push({path:Ue.join(this.sessionsDir,S.name),trusted:!1,archived:!1});let h=[],g=o(async(S,w,M)=>{try{let L=await ix(S);if(!L)return null;let A=JSON.parse(L);if(vt(A)&&A._type==="meta"){let K=typeof A.gitRoot=="string"?A.gitRoot:"",W=aM(A.runtimeInfo)?A.runtimeInfo:void 0,ne=A.scope==="managed-task-worker"?"managed-task-worker":"user";if(i&&!w){let J=$d(a,W),D=W?.workspaceRoot?rx(W.workspaceRoot,a.workspaceRoot??""):!!(s&&K&&rx(K,s)),k=W?.executionCwd?rx(W.executionCwd,a.executionCwd??""):!1,B=vo({gitRoot:K||void 0,runtimeInfo:W}).key===d;if(!J&&!D&&!k&&!B)return null}if(ne!=="user")return null;let x=typeof A.extensionRecordCount=="number"&&A.extensionRecordCount>0?A.extensionRecordCount:0,Ce=typeof A.activeMessageCount=="number"&&A.activeMessageCount>=0?A.activeMessageCount:Math.max(0,await iM(S)-1-x);return{id:Ue.basename(S,".jsonl"),title:typeof A.title=="string"?A.title:"",msgCount:Ce,...typeof A.tag=="string"?{tag:A.tag}:{},createdAt:typeof A.createdAt=="string"?A.createdAt:void 0,runtimeInfo:W?{...W}:K?{canonicalRepoRoot:K}:void 0,...M?{archived:!0}:{}}}let H=await iM(S);return{id:Ue.basename(S,".jsonl"),title:"",msgCount:H,...M?{archived:!0}:{}}}catch{return null}},"parseSessionFile"),T=48,v=new Set;for(let S=0;S<l.length;S+=T){let w=await Promise.all(l.slice(S,S+T).map(M=>g(M.path,M.trusted,M.archived)));for(let M of w)M&&!v.has(M.id)&&(v.add(M.id),h.push(M))}let C=n?.limit??10;return h.sort((S,w)=>{let M=S.createdAt?Date.parse(S.createdAt):Number.NaN,L=w.createdAt?Date.parse(w.createdAt):Number.NaN;return Number.isFinite(M)&&Number.isFinite(L)&&M!==L?L-M:Number.isFinite(L)&&!Number.isFinite(M)?1:Number.isFinite(M)&&!Number.isFinite(L)?-1:w.id.localeCompare(S.id)}).slice(0,C).map(({id:S,title:w,msgCount:M,tag:L,runtimeInfo:A,createdAt:H,archived:K})=>({id:S,title:w,msgCount:M,...L!==void 0?{tag:L}:{},...A?{runtimeInfo:A}:{},...H!==void 0?{createdAt:H}:{},...K?{archived:!0}:{}}))}async archive(t){await this.ensureMigrated();let n=!1;return await this.serializedWrite(t,async()=>{let r=await this.resolveSessionLocation(t);if(!r)return;let i=Ue.dirname(r);if(Ue.basename(i)==="archived"){n=!0;return}await this.movePair(t,i,Ue.join(i,"archived")),this.sessionDirCache.delete(t),n=!0}),n}async unarchive(t){await this.ensureMigrated();let n=!1;return await this.serializedWrite(t,async()=>{let r=await this.resolveSessionLocation(t);if(!r)return;let i=Ue.dirname(r);if(Ue.basename(i)!=="archived"){n=!0;return}await this.movePair(t,i,Ue.dirname(i)),this.sessionDirCache.delete(t),n=!0}),n}async movePair(t,n,r){await nt.mkdir(r,{recursive:!0});for(let i of[`${t}.jsonl`,`${t}.islands.jsonl`]){let s=Ue.join(n,i);if(lr.existsSync(s))try{await nt.rename(s,Ue.join(r,i))}catch(a){if(a.code!=="ENOENT")throw a}}}async delete(t){await this.ensureMigrated();let n=await this.resolveSessionLocation(t),r=new Set;n&&(r.add(n),r.add(n.replace(/\.jsonl$/,".archive.jsonl")),r.add(n.replace(/\.jsonl$/,".islands.jsonl"))),r.add(this.legacyFlatPath(t)),r.add(this.legacyFlatArchivePath(t));for(let i of r)lr.existsSync(i)&&await nt.unlink(i).catch(()=>{});this.sessionDirCache.delete(t)}async deleteAll(t){let n=t??(this.hostCwd?await Xr(this.hostCwd):null),r=await this.list(n??void 0,{limit:Number.MAX_SAFE_INTEGER});for(let i of r)await this.delete(i.id)}async cleanupOldSessions(t){if(!Number.isFinite(t)||t<=0)return 0;await this.ensureMigrated();let n=0,r=Date.now()-t*24*60*60*1e3,i=o(async s=>{if(s.endsWith(".jsonl"))try{(await nt.stat(s)).mtimeMs<r&&(await nt.unlink(s),n++)}catch{}},"unlinkIfOld");try{await nt.mkdir(this.sessionsDir,{recursive:!0});let s=await nt.readdir(this.sessionsDir,{withFileTypes:!0});for(let a of s){let c=Ue.join(this.sessionsDir,a.name);if(a.isFile()){await i(c);continue}if(!a.isDirectory()||a.name.startsWith("."))continue;let l=[];try{l=await nt.readdir(c,{withFileTypes:!0})}catch{continue}for(let d of l){let f=Ue.join(c,d.name);if(d.isFile())await i(f);else if(d.isDirectory()&&d.name==="archived"){let p=[];try{p=await nt.readdir(f)}catch{continue}for(let h of p)await i(Ue.join(f,h))}}}}catch{}return n}};import Ki from"node:fs/promises";import pn from"node:path";var xW=8;function cM(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}o(cM,"isRecord");function lM(e){return e.endsWith(".jsonl")&&!e.endsWith(".archive.jsonl")&&!e.endsWith(".islands.jsonl")&&!e.startsWith(".")&&!e.startsWith("archived-")}o(lM,"isSessionFile");async function SW(e){let t=[],n=[];try{n=await Ki.readdir(e,{withFileTypes:!0})}catch{return t}for(let r of n){if(r.isFile()){lM(r.name)&&t.push(pn.join(e,r.name));continue}if(!r.isDirectory()||r.name.startsWith("."))continue;let i=pn.join(e,r.name),s=[];try{s=await Ki.readdir(i)}catch{continue}for(let a of s)lM(a)&&t.push(pn.join(i,a))}return t}o(SW,"collectSessionFiles");function wW(e,t){let r=pn.relative(e,t).split(pn.sep);return r.length>1?r[0]:void 0}o(wW,"getProjectKey");async function TW(e,t){let n=pn.relative(e,t),r=pn.basename(t,".jsonl");try{let s=(await Ki.readFile(t,"utf8")).split(/\r?\n/,1)[0];if(!s)return null;let a=JSON.parse(s);if(!cM(a)||a._type!=="meta")return null;let c=cM(a.runtimeInfo)?a.runtimeInfo:void 0,l=typeof c?.canonicalRepoRoot=="string"?c.canonicalRepoRoot:typeof c?.workspaceRoot=="string"?c.workspaceRoot:void 0,d=typeof a.createdAt=="string"?Date.parse(a.createdAt):Number.NaN,f=Array.isArray(a.uiHistory)?a.uiHistory:void 0,p=typeof a.artifactLedgerCount=="number"?a.artifactLedgerCount:0,h=typeof a.activeEntryId=="string"||a.activeEntryId===null;return{id:typeof a.id=="string"?a.id:r,filePath:t,relativePath:n,projectKey:wW(e,t),isRunner:r.startsWith("runner-"),title:typeof a.title=="string"?a.title:"",gitRoot:typeof a.gitRoot=="string"?a.gitRoot:"",runtimeRoot:l,createdAtMs:Number.isFinite(d)?d:void 0,scope:a.scope==="managed-task-worker"?"managed-task-worker":"user",activeMessageCount:typeof a.activeMessageCount=="number"?a.activeMessageCount:void 0,hasHostState:!!(f&&f.length>0||a.lineageVersion===2||h||p>0)}}catch{return null}}o(TW,"parseCandidate");function CW(e,t){return e.projectKey&&t.projectKey&&e.projectKey===t.projectKey||e.runtimeRoot&&t.runtimeRoot&&e.runtimeRoot===t.runtimeRoot?!0:!!(e.gitRoot&&t.gitRoot&&e.gitRoot===t.gitRoot)}o(CW,"sameProject");function IW(e,t){if(t.isRunner||t.scope!=="user"||!CW(e,t))return null;let n=0,r=[];if(e.projectKey&&t.projectKey&&e.projectKey===t.projectKey?(n+=4,r.push("same-project-dir")):(n+=3,r.push("same-project-identity")),e.title&&t.title&&e.title===t.title)n+=2,r.push("same-title");else if(e.title&&t.title)return null;return e.activeMessageCount!==void 0&&t.activeMessageCount!==void 0&&e.activeMessageCount===t.activeMessageCount&&(n+=1,r.push("same-active-message-count")),e.createdAtMs!==void 0&&t.createdAtMs!==void 0&&Math.abs(e.createdAtMs-t.createdAtMs)<=3600*1e3&&(n+=1,r.push("near-created-at")),t.hasHostState&&!e.hasHostState&&(n+=2,r.push("canonical-has-host-state")),n>=xW?{canonical:t,score:n,reasons:r}:null}o(IW,"scoreCandidate");function bW(e){let t=o(n=>String(n).padStart(2,"0"),"pad");return[e.getUTCFullYear(),t(e.getUTCMonth()+1),t(e.getUTCDate()),"-",t(e.getUTCHours()),t(e.getUTCMinutes()),t(e.getUTCSeconds())].join("")}o(bW,"formatArchiveBatch");async function vW(e){let t=e,n=1;for(;;){try{await Ki.access(t)}catch{return t}let r=pn.extname(e);t=`${e.slice(0,e.length-r.length)}.${n}${r}`,n+=1}}o(vW,"uniqueTargetPath");async function uM(e={}){let t=e.sessionsDir??Yr;e.apply&&(await Ki.mkdir(t,{recursive:!0}),await qo(t));let n=await SW(t),r=[],i=[];for(let f of n){let p=await TW(t,f);if(!p){pn.basename(f).startsWith("runner-")&&i.push({runnerId:pn.basename(f,".jsonl"),path:f,reason:"unreadable"});continue}if(p.isRunner&&p.scope==="managed-task-worker"){i.push({runnerId:p.id,path:p.filePath,reason:"managed-task-worker"});continue}r.push(p)}let s=r.filter(f=>f.isRunner&&f.scope==="user"),a=r.filter(f=>!f.isRunner&&f.scope==="user"),c=[];for(let f of s){let p=a.map(g=>IW(f,g)).filter(g=>g!==null).sort((g,T)=>T.score-g.score);if(p.length===0){i.push({runnerId:f.id,path:f.filePath,reason:"no-match"});continue}if(p.length>1){i.push({runnerId:f.id,path:f.filePath,reason:"ambiguous-match",detail:p.map(g=>`${g.canonical.id}:${g.score}`).join(", ")});continue}let h=p[0];c.push({runnerId:f.id,runnerPath:f.filePath,canonicalId:h.canonical.id,canonicalPath:h.canonical.filePath,score:h.score,reasons:h.reasons})}let l=[],d=pn.join(t,".dedupe-archive",bW(e.now??new Date));if(e.apply)for(let f of c){let p=pn.relative(t,f.runnerPath),h;try{h=await vW(pn.join(d,p)),await Ki.mkdir(pn.dirname(h),{recursive:!0}),await Ki.rename(f.runnerPath,h),l.push({runnerId:f.runnerId,from:f.runnerPath,to:h})}catch(g){i.push({runnerId:f.runnerId,path:f.runnerPath,reason:"move-failed",detail:`target=${h??pn.join(d,p)}; ${g instanceof Error?g.message:String(g)}`})}}return{scanned:n.length,runnerCandidates:s.length,matches:c,moved:l,skipped:i,...e.apply?{archiveDir:d}:{}}}o(uM,"dedupeSessions");function RW(e){return e?.storage?e.storage:e?.sessionsDir!==void 0?new Un({sessionsDir:e.sessionsDir}):new Un}o(RW,"resolveStorage");async function Ga(e,t){let n={compacted:!1,tokensBefore:0,tokensAfter:0,messages:[]};try{let r=RW(t),i=await r.load(e);if(!i)return{...n,reason:`session not found: ${e}`};let s=i.messages,a=t?.provider??i.runtimeInfo?.provider??"anthropic",c=di(a);if(!c)return{...n,messages:s,reason:`provider not found: ${a}`};let l=t?.contextWindow??c.getEffectiveContextWindow?.(t?.model)??c.getContextWindow?.()??2e5,d=bs(s),f=await Sw(s,{enabled:!0,triggerPercent:100,contextWindow:l},c,l,t?.customInstructions,void 0,d,Mw,Aw,t?.model,!0,c.getEffectiveMaxOutputTokens(t?.model));if(!f.compacted)return{compacted:!1,tokensBefore:f.tokensBefore,tokensAfter:f.tokensAfter,messages:s,reason:"no compaction needed"};let p=f.anchor??{summary:f.summary??"",tokensBefore:f.tokensBefore,tokensAfter:f.tokensAfter,reason:"manual"},h=f.artifactLedger??i.artifactLedger??[],g=Math.max(0,(f.tokensBefore??0)-(f.tokensAfter??0)),{ledgerMessage:T}=yw(h,g),v=T?[T]:[],C=ud(i.lineage,f.messages,p,v),S={...i,messages:f.messages,lineage:C,artifactLedger:f.artifactLedger??i.artifactLedger};return await r.save(e,S),{compacted:!0,tokensBefore:f.tokensBefore,tokensAfter:f.tokensAfter,messages:f.messages}}catch(r){return{...n,reason:r instanceof Error?r.message:String(r)}}}o(Ga,"compactSession");import zi from"node:fs";import Nr from"node:fs/promises";import Rt from"node:path";import{randomUUID as kW}from"node:crypto";async function hM(e,t){let n=[],r=o(s=>s.endsWith(".jsonl")&&!s.endsWith(".archive.jsonl")&&!s.endsWith(".islands.jsonl")&&!s.startsWith("."),"isSession"),i=[];try{i=await Nr.readdir(e,{withFileTypes:!0})}catch{return n}for(let s of i){if(s.isFile()){r(s.name)&&(t||!s.name.startsWith("archived-"))&&n.push(Rt.join(e,s.name));continue}if(!s.isDirectory()||s.name.startsWith("."))continue;let a=Rt.join(e,s.name);try{for(let c of await Nr.readdir(a))r(c)&&n.push(Rt.join(a,c))}catch{}if(t){let c=Rt.join(a,"archived");try{for(let l of await Nr.readdir(c))r(l)&&n.push(Rt.join(c,l))}catch{}}}return n}o(hM,"collectSessionFilePaths");function dM(e){if(!e||!e.trim())return;let t=Rt.resolve(e).replace(/\\/g,"/");return process.platform==="win32"||process.platform==="darwin"?t.toLowerCase():t}o(dM,"normalizeComparableRoot");function EW(e,t,n){let r=dM(n);return r?[e?.gitRoot,e?.workspaceRoot,t].some(i=>dM(i)===r):!0}o(EW,"sessionMatchesProjectRoot");async function MW(e){let t=[],n=[e];for(;n.length>0;){let r=n.pop(),i;try{i=await Nr.readdir(r,{withFileTypes:!0})}catch{continue}for(let s of i){let a=Rt.join(r,s.name);s.isDirectory()&&!s.isSymbolicLink()?n.push(a):s.isFile()&&s.name.endsWith(".jsonl")&&t.push(a)}}return t}o(MW,"collectJsonlFiles");async function AW(e,t){let n;try{n=new Set(await Nr.readdir(t))}catch{return new Set}let r=new Set,i=o(s=>{for(let a of s.matchAll(/[a-zA-Z0-9._-]+\.txt/g)){let c=a[0];n.has(c)&&r.add(Rt.join(t,c))}},"collectNames");for(let s of await MW(e)){let a;try{a=await Nr.readFile(s,"utf-8")}catch{continue}i(a)}for(let s of[...r].filter(a=>Rt.basename(a).includes("-bash-recovery-manifest-")))try{i(await Nr.readFile(s,"utf-8"))}catch{}return r}o(AW,"collectToolOutputReferences");function _W(e){let t=ww();bw(t,()=>AW(e,t))}o(_W,"scheduleToolOutputRetention");async function LW(e){let t=await ix(e);if(!t)return;let n=JSON.parse(t);if(n===null||typeof n!="object")return;let r=n;return r._type==="meta"?r:void 0}o(LW,"readSessionMetaRecord");async function PW(e,t){if(typeof t.activeMessageCount=="number"&&t.activeMessageCount>=0)return t.activeMessageCount;let n=(await Nr.readFile(e,"utf-8")).trim(),r=typeof t.extensionRecordCount=="number"&&t.extensionRecordCount>0?t.extensionRecordCount:0;return Math.max(0,n.split(`
|
|
304
|
-
`).length-1-r)}o(PW,"readActiveMessageCount");async function $W(e,t){let n=await LW(e);if(!n)return;let r=n.scope==="managed-task-worker"?"managed-task-worker":"user";if(t.scope!=="all"&&t.scope!==r)return;let i=typeof n.createdAt=="string"?n.createdAt:void 0,s=i?Date.parse(i):void 0;if(t.before!==void 0&&s!==void 0&&Number.isFinite(s)&&s>=t.before)return;let a=typeof n.tag=="string"?n.tag:void 0;if(t.tag!==void 0&&a!==t.tag)return;let c=n.runtimeInfo!==null&&typeof n.runtimeInfo=="object"?yM(n.runtimeInfo):void 0,l=typeof n.gitRoot=="string"?n.gitRoot:void 0,d=c??(l?{gitRoot:l}:void 0);if(!EW(d,l,t.gitRoot)||t.surface!==void 0&&d?.surface!==t.surface)return;let f=Rt.basename(e,".jsonl"),p=Rt.basename(Rt.dirname(e))==="archived";return{id:f,title:typeof n.title=="string"?n.title:"",msgCount:await PW(e,n),...a!==void 0?{tag:a}:{},...i!==void 0?{createdAt:i}:{},...d!==void 0?{runtimeInfo:d}:{},projectKey:xi(d?.gitRoot??d?.workspaceRoot).key,...p?{archived:!0}:{},_createdAtMs:s}}o($W,"readSessionListCandidate");function Br(e){return e!==void 0?new Un({sessionsDir:e}):new Un}o(Br,"getStorage");function lx(e){return e??Yr}o(lx,"resolveSessionsDir");function ux(e){return Buffer.from(e,"utf8").toString("base64url")}o(ux,"encodeSessionCursor");function DW(e){if(!(!e||e.length>1024))try{let t=Buffer.from(e,"base64url").toString("utf8");return t&&ux(t)===e?t:void 0}catch{return}}o(DW,"decodeSessionCursor");async function dx(e){return gM(e,void 0)}o(dx,"listSessions");async function gM(e,t){try{let n=lx(t);await qo(n);let r=e?.projectRoot,i=Br(t);await Nr.mkdir(n,{recursive:!0});let s=e?.scope??"user",a=e?.includeArchived??!1,c=e?.limit??50,l=e?.before?Date.parse(e.before):void 0,d=e?.tag,f=e?.surface,p=e?.cursor===void 0?void 0:DW(e.cursor);if(e?.cursor!==void 0&&p===void 0)return[];if(s==="user"&&!r&&l===void 0&&!a&&d===void 0&&f===void 0&&p===void 0)return(await i.list(r,{limit:c})).map(OW);let h=await hM(n,a),g=[],T=new Set,v={scope:s,...l!==void 0?{before:l}:{},...d!==void 0?{tag:d}:{},...f!==void 0?{surface:f}:{},...r!==void 0?{gitRoot:r}:{}},C=48;for(let M=0;M<h.length;M+=C){let L=await Promise.all(h.slice(M,M+C).map(async A=>{try{return await $W(A,v)}catch(H){Lt({source:"session.public-api",level:"warn",message:"Unreadable session record was skipped.",detail:{filePath:A,error:H}});return}}));for(let A of L)A&&!T.has(A.id)&&(T.add(A.id),g.push(A))}g.sort((M,L)=>{let A=M._createdAtMs,H=L._createdAtMs;return Number.isFinite(A)&&Number.isFinite(H)&&A!==H?H-A:Number.isFinite(H)&&!Number.isFinite(A)?1:Number.isFinite(A)&&!Number.isFinite(H)?-1:L.id.localeCompare(M.id)});let S=p===void 0?-1:g.findIndex(M=>M.id===p);if(p!==void 0&&S<0)return[];let w=S+1;return g.slice(w,w+c).map(({id:M,title:L,msgCount:A,tag:H,createdAt:K,runtimeInfo:W,projectKey:ne,archived:x})=>({id:M,cursor:ux(M),title:L,msgCount:A,...H!==void 0?{tag:H}:{},...K!==void 0?{createdAt:K}:{},...W!==void 0?{runtimeInfo:W}:{},...ne!==void 0?{projectKey:ne}:{},...x?{archived:!0}:{}}))}catch{return[]}}o(gM,"listSessionsImpl");function yM(e){let t={...e.workspaceRoot?{workspaceRoot:e.workspaceRoot}:{},...e.canonicalRepoRoot?{gitRoot:e.canonicalRepoRoot}:{},...e.surface?{surface:e.surface}:{},...e.profileId?{profileId:e.profileId}:{}};return Object.keys(t).length>0?t:void 0}o(yM,"extractRuntimeInfoSummary");function OW(e){let t=e.runtimeInfo?yM(e.runtimeInfo):void 0,n=xi(t?.gitRoot??t?.workspaceRoot).key;return{id:e.id,cursor:ux(e.id),title:e.title,msgCount:e.msgCount,...e.tag!==void 0?{tag:e.tag}:{},...t!==void 0?{runtimeInfo:t}:{},...e.createdAt!==void 0?{createdAt:e.createdAt}:{},projectKey:n}}o(OW,"toSessionSummary");function Ql(e){return typeof e=="object"&&e!==null}o(Ql,"isRecord");function NW(e){return Ql(e)?(e.role==="user"||e.role==="assistant"||e.role==="system")&&(typeof e.content=="string"||Array.isArray(e.content)):!1}o(NW,"isMessage");function BW(e){return Ql(e)&&typeof e.id=="string"&&(e.parentId===null||typeof e.parentId=="string")&&typeof e.timestamp=="string"&&typeof e.type=="string"&&(e.logicalId===void 0||typeof e.logicalId=="string")&&(e.sourceEntryId===void 0||typeof e.sourceEntryId=="string")}o(BW,"hasEntryBase");function HW(e){if(!BW(e))return!1;let t=e;switch(t.type){case"message":return NW(t.message);case"compaction":return typeof t.summary=="string";case"branch_summary":return typeof t.summary=="string";case"archive_marker":return typeof t.archiveBatchId=="string"&&typeof t.archivedEntryCount=="number"&&typeof t.summary=="string";case"rewind_marker":return typeof t.targetId=="string"&&(t.fromId===void 0||typeof t.fromId=="string")&&typeof t.truncatedCount=="number"&&typeof t.summary=="string";case"label":return typeof t.targetId=="string"&&(t.label===void 0||typeof t.label=="string");case"client_notice":return typeof t.source=="string"&&typeof t.content=="string"&&(t.turnId===void 0||typeof t.turnId=="string")&&(t.payload===void 0||cr(t.payload));case"goal":return typeof t.event=="string";default:return!1}}o(HW,"isTranscriptSidecarEntry");function WW(e){return Ql(e)&&e._type==="archived_entry"&&typeof e.archiveBatchId=="string"&&HW(e.entry)}o(WW,"isArchivedEntryLine");async function FW(e,t){let n,r=new Set([`${e}.jsonl`,`archived-${e}.jsonl`]);for(let f of await hM(t,!0))if(r.has(Rt.basename(f))){n=f;break}if(!n)return[];let i=Rt.dirname(n),s=Rt.basename(n,".jsonl"),c=Array.from(new Set([e,s])).flatMap(f=>[Rt.join(i,`${f}.islands.jsonl`),Rt.join(i,`${f}.archive.jsonl`)]),l=[],d=new Set;for(let f of c){let p="";try{p=await Nr.readFile(f,"utf-8")}catch{continue}for(let h of p.split(/\r?\n/))if(h.trim())try{let g=JSON.parse(h);WW(g)&&(d.has(g.entry.id)||(d.add(g.entry.id),l.push(g.entry)))}catch{}}return l}o(FW,"readArchivedTranscriptEntries");function jW(e,t){let n=new Set,r=[];for(let i of e)n.has(i.id)||(n.add(i.id),r.push(i));for(let i of t)n.has(i.id)||(n.add(i.id),r.push(i));return r}o(jW,"mergeTranscriptLineageEntries");function xM(e){let t=new Map(e.entries.map(i=>[i.id,i])),n=new Set,r=e.activeEntryId;for(;r;){let i=t.get(r);if(!i)break;n.add(i.id),r=i.parentId}return n}o(xM,"collectActiveIds");function fM(e,t){return t==="branch_summary"?{role:"user",content:`The following is a summary of a branch that this conversation came back from:
|
|
305
|
-
|
|
306
|
-
<summary>
|
|
307
|
-
${e}
|
|
308
|
-
</summary>`}:{role:"system",content:`[\u5BF9\u8BDD\u5386\u53F2\u6458\u8981]
|
|
309
|
-
|
|
310
|
-
${e}`}}o(fM,"summaryMessage");function pM(e){return{role:"system",content:`[Rewind] ${e}`}}o(pM,"rewindMarkerMessage");function UW(e){return{role:"system",content:e.content,_source:"client_notice",timestamp:e.timestamp,...e.turnId!==void 0?{turnId:e.turnId}:{}}}o(UW,"clientNoticeMessage");function sx(e,t){let n=e[t];return typeof n=="string"?n:void 0}o(sx,"messageStringField");function GW(e){if(e.role==="user")return"user";if(e.role==="assistant")return"assistant";if(e.role==="system")return"system"}o(GW,"messageSource");function mM(e){return Ql(e)?e.type==="task_result"&&(e.source==="workflow"||e.source==="child_task")&&typeof e.taskId=="string"&&(e.status==="completed"||e.status==="failed"||e.status==="cancelled")&&(e.runId===void 0||typeof e.runId=="string")&&(e.title===void 0||typeof e.title=="string")&&(e.summary===void 0||typeof e.summary=="string")&&(e.artifactRefs===void 0||Array.isArray(e.artifactRefs)&&e.artifactRefs.every(t=>typeof t=="string")):!1}o(mM,"isTaskResultMetadata");function VW(e){if(mM(e._taskResult))return[e._taskResult];if(Array.isArray(e._taskResults))return e._taskResults.filter(mM);if(e._source!=="task-completed"||typeof e.content!="string")return[];let t=[],n=/<task-completed\s+task_id="([^"]+)">([\s\S]*?)<\/task-completed>/g;for(let r of e.content.matchAll(n)){let i=r[1];if(!i)continue;let s=r[2]?.trim()??"";t.push({type:"task_result",source:"child_task",taskId:i,status:s.startsWith("failed:")||s.startsWith("[Tool Error]")?"failed":"completed",...s.length>0?{summary:s}:{}})}return t}o(VW,"taskResultsFromMessage");function KW(e){if(e.length===1)return e[0];let t=e[0];return t?{type:"task_result",source:t.source,taskId:t.taskId,status:t.status,results:e}:void 0}o(KW,"taskResultPayload");function zW(e){if(!Ql(e))return{};let t=typeof e.rewindTargetId=="string"?e.rewindTargetId:void 0,n=typeof e.truncatedCount=="number"?e.truncatedCount:void 0;return{...t!==void 0?{rewindTargetId:t}:{},...n!==void 0?{truncatedCount:n}:{}}}o(zW,"legacyRewindDetails");function YW(e,t,n){return t.has(e.id)?!0:e.type!=="client_notice"&&e.type!=="rewind_marker"?!1:e.parentId===null?n===null:t.has(e.parentId)}o(YW,"transcriptEntryActive");function Qo(e){return{entryId:e.id,parentId:e.parentId,logicalId:e.logicalId??e.id,...e.sourceEntryId!==void 0?{sourceEntryId:e.sourceEntryId}:{}}}o(Qo,"transcriptEntryIdentity");function SM(e,t,n){let r=YW(e,t,n);switch(e.type){case"message":{let i=VW(e.message);if(i.length>0){let s=i[0];return{...Qo(e),timestamp:e.timestamp,type:"task_result",source:s.source,turnId:sx(e.message,"turnId"),message:e.message,active:r,payload:KW(i),taskResults:i}}return e.message._source==="client_notice"?{...Qo(e),timestamp:e.timestamp,type:"client_notice",source:"client",turnId:sx(e.message,"turnId"),message:e.message,active:r,payload:{content:e.message.content,entersModelContext:!1}}:{...Qo(e),timestamp:e.timestamp,type:"message",source:GW(e.message),turnId:sx(e.message,"turnId"),message:e.message,active:r}}case"compaction":if(e.reason==="rewind"){let i=zW(e.details),s=r||(e.parentId===null?n===null:t.has(e.parentId));return{...Qo(e),timestamp:e.timestamp,type:"rewind_marker",source:"system",message:pM(e.summary),active:s,summary:e.summary,payload:{summary:e.summary,reason:"rewind",...i.rewindTargetId!==void 0?{rewindTargetId:i.rewindTargetId}:{},...i.truncatedCount!==void 0?{truncatedCount:i.truncatedCount}:{},...e.details!==void 0?{details:e.details}:{}}}}return{...Qo(e),timestamp:e.timestamp,type:"compaction",source:"system",message:fM(e.summary,"compaction"),active:r,summary:e.summary,payload:{summary:e.summary,tokensBefore:e.tokensBefore,tokensAfter:e.tokensAfter,reason:e.reason,details:e.details}};case"rewind_marker":return{...Qo(e),timestamp:e.timestamp,type:"rewind_marker",source:"system",message:pM(e.summary),active:r,summary:e.summary,payload:{summary:e.summary,rewindTargetId:e.targetId,...e.fromId!==void 0?{fromId:e.fromId}:{},truncatedCount:e.truncatedCount}};case"branch_summary":return{...Qo(e),timestamp:e.timestamp,type:"branch_summary",source:"system",message:fM(e.summary,"branch_summary"),active:r,summary:e.summary,payload:{summary:e.summary,fromId:e.fromId,details:e.details}};case"client_notice":return{...Qo(e),timestamp:e.timestamp,type:"client_notice",source:"client",turnId:e.turnId,message:UW(e),active:r,payload:{source:e.source,content:e.content,entersModelContext:!1,...e.payload!==void 0?{payload:e.payload}:{}}};case"archive_marker":case"label":case"goal":case"memory_outcome_digest":case"memory_review_receipt":return null;default:return e}}o(SM,"toTranscriptEntry");function XW(e){let t=xM(e);return e.entries.map(n=>SM(n,t,e.activeEntryId)).filter(n=>n!==null)}o(XW,"buildTranscriptEntries");async function fx(e){return wM(e,void 0)}o(fx,"loadSession");async function wM(e,t){try{return await Br(t).load(e)}catch{return null}}o(wM,"loadSessionImpl");async function px(e){return TM(e,void 0)}o(px,"loadFullTranscript");async function TM(e,t){try{let n=lx(t);await qo(n);let r=Br(t),i=await r.load(e);if(!i)return null;let s=await r.getLineage(e);if(!s)return{...i,activeMessages:i.messages,transcriptEntries:[]};let a=await FW(e,n),c=a.length>0?{...s,entries:jW(a,s.entries)}:s,l=XW(c);return{...i,messages:l.filter(d=>d.type!=="rewind_marker").map(d=>d.message),activeMessages:i.messages,transcriptEntries:l,lineage:c}}catch{return null}}o(TM,"loadFullTranscriptImpl");function qW(e){let t=e?.trim();return t&&t.length>0?t:"client"}o(qW,"normalizeClientNoticeSource");function QW(e,t){let n=`notice_${kW().replace(/-/g,"").slice(0,12)}`;return{type:"client_notice",id:n,parentId:e.activeEntryId,timestamp:t.timestamp??new Date().toISOString(),logicalId:n,source:qW(t.source),content:t.content,...t.turnId!==void 0?{turnId:t.turnId}:{},...t.payload!==void 0?{payload:t.payload}:{}}}o(QW,"createClientNoticeEntry");async function CM(e,t){return JW(e,t,void 0)}o(CM,"appendClientNotice");async function JW(e,t,n){return ax(e,t,Br(n))}o(JW,"appendClientNoticeImpl");async function ax(e,t,n){try{let r=await n.load(e);if(!r)return null;let i=r.lineage??mt(r.messages),s=QW(i,t),a={...i,entries:[...i.entries,s]},c={...r,lineage:a,messages:r.messages};await n.appendSessionDelta(e,c);let l=xM(a);return SM(s,l,a.activeEntryId)}catch{return null}}o(ax,"appendClientNoticeWithStorage");async function mx(e,t){return IM(e,t,void 0)}o(mx,"forkSession");async function IM(e,t,n){try{return await Br(n).fork(e,t?.selector,{sessionId:t?.sessionId,title:t?.title})}catch{return null}}o(IM,"forkSessionImpl");async function hx(e,t){return bM(e,t,void 0)}o(hx,"rewindSession");async function bM(e,t,n){try{return await Br(n).rewind(e,t?.selector)}catch{return null}}o(bM,"rewindSessionImpl");async function gx(e,t){return vM(e,t,void 0)}o(gx,"setActiveEntry");async function vM(e,t,n){try{return await Br(n).setActiveEntry(e,t)}catch{return null}}o(vM,"setActiveEntryImpl");async function ql(){try{return pw({excludePid:process.pid}).map(t=>({pid:t.pid,startedAt:t.state.meta.startedAt,cwd:t.state.meta.cwd,sessionId:t.state.sessionId}))}catch{return[]}}o(ql,"listRunningSessions");async function yx(e){return RM(e,void 0)}o(yx,"deleteSession");async function RM(e,t){try{let r=(await ql()).find(i=>i.sessionId===e);return r?{error:{code:"session_running",runningProcess:{pid:r.pid,startedAt:r.startedAt}}}:(await Br(t).delete(e),{ok:!0})}catch{return{ok:!0}}}o(RM,"deleteSessionImpl");async function xx(e){return kM(e,void 0)}o(xx,"archiveSession");async function kM(e,t){try{return await Br(t).archive(e)}catch{return!1}}o(kM,"archiveSessionImpl");async function Sx(e){return EM(e,void 0)}o(Sx,"unarchiveSession");async function EM(e,t){try{return await Br(t).unarchive(e)}catch{return!1}}o(EM,"unarchiveSessionImpl");function wx(e){return MM(e,void 0)}o(wx,"watchSessions");function MM(e,t){let n=lx(t);return qo(n).catch(()=>{}),process.platform==="win32"?tF(e,n):ZW(e,n)}o(MM,"watchSessionsImpl");function cx(e){let t=Rt.basename(e);return!t.endsWith(".jsonl")||t.endsWith(".archive.jsonl")||t.endsWith(".islands.jsonl")||t.startsWith(".")?null:t.slice(0,-6)}o(cx,"sessionIdFromFilename");function ZW(e,t){let n=null,r=!1,i=new Map;function s(c,l){let d=i.get(l);d!==void 0&&clearTimeout(d);let f=setTimeout(()=>{i.delete(l),r||e({kind:c,sessionId:l})},100);i.set(l,f)}o(s,"emitDebounced");function a(){if(!r)try{if(!zi.existsSync(t)){setTimeout(a,1e3);return}let c=o((l,d)=>{if(!d)return;let f=typeof d=="string"?d:d.toString(),p=cx(f);if(!p)return;let h=l==="rename"?eF(t,f):"change";s(h,p)},"onEvent");try{n=zi.watch(t,{recursive:!0},c)}catch{n=zi.watch(t,c)}n.on("error",()=>{n?.close(),n=null,r||setTimeout(a,1e3)})}catch{}}return o(a,"startWatch"),a(),{close(){r=!0,n?.close(),n=null;for(let c of i.values())clearTimeout(c);i.clear()}}}o(ZW,"watchSessionsPosix");function eF(e,t){try{return zi.statSync(Rt.join(e,t)),"add"}catch{return"remove"}}o(eF,"detectRenameKind");function tF(e,t){let n=!1,r=new Set;function i(c,l){try{for(let d of zi.readdirSync(l)){let f=cx(d);f&&c.add(f)}}catch{}}o(i,"addIds");function s(){let c=new Set;try{if(!zi.existsSync(t))return c;for(let l of zi.readdirSync(t,{withFileTypes:!0}))if(l.isFile()){let d=cx(l.name);d&&c.add(d)}else if(l.isDirectory()&&!l.name.startsWith(".")){let d=Rt.join(t,l.name);i(c,d),i(c,Rt.join(d,"archived"))}}catch{}return c}o(s,"buildSnapshot"),r=s();let a=setInterval(()=>{if(n)return;let c=s();for(let l of c)r.has(l)||e({kind:"add",sessionId:l});for(let l of r)c.has(l)||e({kind:"remove",sessionId:l});r=c},1e3);return{close(){n=!0,clearInterval(a)}}}o(tF,"watchSessionsWindows");function AM(e){let t=e?.sessionsDir;_W(t??Yr);let n=t!==void 0?new Un({sessionsDir:t}):new Un;return t===void 0?{listSessions:dx,loadSession:fx,loadFullTranscript:px,appendClientNotice:o((r,i)=>ax(r,i,n),"appendClientNotice"),forkSession:mx,rewindSession:hx,setActiveEntry:gx,deleteSession:yx,archiveSession:xx,unarchiveSession:Sx,listRunningSessions:ql,watchSessions:wx,compactSession:o((r,i)=>Ga(r,{...i,storage:n}),"compactSession"),storage:n}:{listSessions:o(r=>gM(r,t),"listSessions"),loadSession:o(r=>wM(r,t),"loadSession"),loadFullTranscript:o(r=>TM(r,t),"loadFullTranscript"),appendClientNotice:o((r,i)=>ax(r,i,n),"appendClientNotice"),forkSession:o((r,i)=>IM(r,i,t),"forkSession"),rewindSession:o((r,i)=>bM(r,i,t),"rewindSession"),setActiveEntry:o((r,i)=>vM(r,i,t),"setActiveEntry"),deleteSession:o(r=>RM(r,t),"deleteSession"),archiveSession:o(r=>kM(r,t),"archiveSession"),unarchiveSession:o(r=>EM(r,t),"unarchiveSession"),listRunningSessions:ql,watchSessions:o(r=>MM(r,t),"watchSessions"),compactSession:o((r,i)=>Ga(r,{...i,storage:n}),"compactSession"),storage:n}}o(AM,"createSessionManager");var nF={};SA(nF,{App:()=>zb,AutocompleteContextProvider:()=>Mf,BUILTIN_COMMANDS:()=>BT,BackgroundTaskBar:()=>bl,CONFIG_TEMPLATES:()=>Ww,ChildActivitySurface:()=>xp,ConsoleCapturer:()=>ja,DEFAULT_UI_STATE:()=>Td,DialogSurface:()=>pp,DotsIndicator:()=>Zh,FILE_MODIFICATION_TOOLS:()=>zr,FileSessionStorage:()=>Un,FullscreenTranscriptLayout:()=>rp,HistoryItemRenderer:()=>Wb,InputPrompt:()=>Di,IntegrationConfigController:()=>zw,KODAX_CONFIG_FILE:()=>Xw,KODAX_DIR:()=>Yw,KODAX_EXAMPLE_CONFIG_FILE:()=>iT,KODAX_INTEGRATION_EXAMPLE_FILES:()=>sT,KODAX_SESSIONS_DIR:()=>Yr,KODAX_VERSION:()=>hi,KeyMatchers:()=>Vh,KeypressHandlerPriority:()=>ln,KeypressParser:()=>la,KeypressProvider:()=>nl,LRUCache:()=>vi,LoadingIndicator:()=>ib,MemorySessionStorage:()=>Fi,MessageActions:()=>op,MessageList:()=>Ho,MessageSelector:()=>Qb,NotificationsSurface:()=>Cl,PERMISSION_MODES:()=>Bw,PREVIEW_MAX_LENGTH:()=>qw,PendingInputsIndicator:()=>fE,ProgressIndicator:()=>eg,PromptComposer:()=>ap,PromptFooter:()=>gl,PromptFooterLeftSide:()=>ml,PromptFooterRightSide:()=>hl,PromptHelpMenu:()=>lp,PromptSuggestionsSurface:()=>fp,QueuedCommandsSurface:()=>mp,SimpleApp:()=>Yb,SimpleInputPrompt:()=>ZI,SimpleMessageDisplay:()=>jb,SimpleStatusBar:()=>Vb,SingleLineTextInput:()=>OI,Spinner:()=>Mn,StashNotice:()=>Il,StatusBar:()=>Ni,StatusNoticesSurface:()=>hp,StreamingProvider:()=>kl,StreamingState:()=>er,SuggestionsDisplay:()=>wl,TOOL_STATUS_ICONS:()=>wA,TextBuffer:()=>ua,TextInput:()=>Rf,ThinkingIndicator:()=>ob,ToolCallDisplay:()=>Wy,ToolCallStatus:()=>F,ToolGroup:()=>uE,ToolProgressBar:()=>Hy,ToolStatusBadge:()=>cE,TranscriptViewport:()=>sp,UIStateProvider:()=>Sl,_resetQueuedPromptsCacheForTests:()=>B0,appendClientNotice:()=>CM,archiveSession:()=>xx,bootstrapAutoMode:()=>Ra,calculateVisualCursorFromLayout:()=>Yd,calculateVisualLayout:()=>dn,collectBashWriteTargets:()=>pT,compactSession:()=>Ga,computeConfirmTools:()=>Ps,createCliEvents:()=>tE,createHistoryItem:()=>yl,createInteractiveContext:()=>va,createJsonEvents:()=>nE,createKeyMatcher:()=>D0,createKeypressManager:()=>kf,createMemorySessionStorage:()=>H0,createRecoveryHistoryItem:()=>Ll,createRetryHistoryItem:()=>_l,createSessionManager:()=>AM,createStreamingManager:()=>Sp,createToolCall:()=>up,darkTheme:()=>Xd,dedupeSessions:()=>uM,deleteSession:()=>yx,detectTerminalCapabilities:()=>mE,detectTerminalHostProfile:()=>ko,detectTerminalRenderHost:()=>Ro,emitRecoveryHistoryItem:()=>X0,emitRetryHistoryItem:()=>Y0,ensureExampleConfigFile:()=>cT,ensureExampleConfigFiles:()=>aT,executeCommand:()=>wi,executeShellCommand:()=>El,extractHistorySeedsFromMessage:()=>Us,extractHistorySeedsFromMessages:()=>Ld,extractTextContent:()=>Pd,extractTitle:()=>bo,forkSession:()=>mx,formatMessagePreview:()=>IT,generateId:()=>xl,generateSavePattern:()=>dT,getBashOutsideProjectWriteRisk:()=>mT,getCharAtCodePoint:()=>KT,getCodePointLength:()=>mn,getCommandRegistry:()=>HT,getConfigTemplate:()=>Fw,getCustomProviderConfig:()=>ME,getGitRoot:()=>Xr,getKeyDisplayName:()=>BI,getMcpServerConfig:()=>DE,getPlanModeBlockReason:()=>Co,getProviderList:()=>nT,getProviderModel:()=>Tr,getTerminalHostCapabilities:()=>bi,getTerminalWidth:()=>Uy,getTheme:()=>oe,getThemeNames:()=>EA,getVersion:()=>Zw,getVisualWidth:()=>rr,getVisualWidthCached:()=>zd,hasCursorUpViewportYankRisk:()=>Ci,hasMainScreenRenderScrollRisk:()=>$c,hydrateProcessEnvFromShell:()=>Qw,isAlwaysConfirmPath:()=>Ws,isBashReadCommand:()=>qr,isBashWriteCommand:()=>Qr,isClassicReplForced:()=>Nc,isCommandOnProtectedPath:()=>kd,isFunctionKey:()=>Uh,isOwnedRendererPreferred:()=>Oc,isPathInsideProject:()=>fT,isPermissionMode:()=>Hw,isPrintable:()=>NI,isProviderConfigured:()=>rT,isRemoteConptyHost:()=>Vs,isScreenReader:()=>Gy,isShellCommand:()=>j0,isShellCommandSuccess:()=>U0,isTmuxControlMode:()=>Ks,isToolCallAllowed:()=>Hs,isVsCodeTerminalHostEnv:()=>Ti,isWideChar:()=>nr,listCustomProviders:()=>EE,listMcpServers:()=>$E,listRegisteredCommands:()=>NT,listRunningSessions:()=>ql,listSessions:()=>dx,loadConfig:()=>oT,loadFullTranscript:()=>px,loadSession:()=>fx,measureChildActivitySurfaceRows:()=>yp,migrateLegacyIntegrationConfig:()=>Kw,minimalTheme:()=>oh,normalizePermissionMode:()=>$s,parseCommand:()=>Si,parseExtensionsIntegrationDocument:()=>jw,parseKeypress:()=>tl,parseMcpIntegrationDocument:()=>Ds,permissionModeDisplayName:()=>Cd,planLegacyIntegrationMigration:()=>Vw,prepareRuntimeConfig:()=>bd,processSpecialSyntax:()=>Yp,rateLimitedCall:()=>lT,readExtensionsIntegration:()=>Gw,readMcpIntegration:()=>mi,registerConfiguredCustomProviders:()=>Jw,removeCustomProvider:()=>_E,removeMcpServer:()=>NE,replBashPathSignalCollector:()=>Fs,resetTmuxControlModeProbeForTesting:()=>Gd,resolveConfiguredTuiRendererMode:()=>Ii,resolveEffectiveTuiRendererMode:()=>Eo,resolveFullscreenPolicy:()=>Mo,resolveIntegrationConfigPath:()=>Uw,resolveInteractiveSurfacePreference:()=>Dc,resolveRuntimeEffortSelection:()=>Bs,resolveRuntimeModelSelection:()=>Ns,resolveRuntimeProviderSelection:()=>Os,restoreHistoryItemsFromSession:()=>Al,rewindSession:()=>hx,runInkInteractiveMode:()=>Vp,runInteractiveMode:()=>kE,runSessionPicker:()=>Jk,saveConfig:()=>yi,seedToHistoryItem:()=>Io,setActiveEntry:()=>gx,splitByCodePoints:()=>un,supports256Colors:()=>Fy,supportsEmoji:()=>jy,supportsTrueColor:()=>Vl,supportsUnicode:()=>Dr,themes:()=>ih,toolCallSeedToHistoryToolCall:()=>_d,touchContext:()=>sr,trimPersistedUiHistorySnapshot:()=>Lr,truncateByVisualWidth:()=>zs,unarchiveSession:()=>Sx,upsertCustomProvider:()=>AE,upsertMcpServer:()=>OE,useAutocomplete:()=>rl,useAutocompleteContext:()=>No,useInputHistory:()=>Af,useKeypress:()=>$0,useKeypressManager:()=>Ef,useQueuedPromptContents:()=>N0,useQueuedPrompts:()=>Dg,useStreaming:()=>Pg,useStreamingActions:()=>ba,useStreamingState:()=>Ia,useTextBuffer:()=>_f,useUI:()=>Cg,useUIActions:()=>wa,useUIState:()=>Sa,validateMcpServerConfig:()=>Jy,visualWidthCache:()=>Vd,watchSessions:()=>wx,withCapture:()=>hE,withCaptureSync:()=>gE,writeIntegrationDocument:()=>Ac});export{Ti as a,Ci as b,Vs as c,$c as d,Ks as e,Gd as f,Ro as g,ko as h,Ii as i,Eo as j,Dc as k,Mo as l,bi as m,Oc as n,Nc as o,vi as p,mn as q,nr as r,rr as s,KT as t,un as u,zs as v,Vd as w,zd as x,dn as y,Yd as z,Xd as A,oh as B,ih as C,oe as D,EA as E,Rf as F,OI as G,tl as H,la as I,Uh as J,NI as K,BI as L,kf as M,nl as N,Ef as O,Vh as P,Mf as Q,No as R,rl as S,Af as T,ua as U,_f as V,Di as W,ZI as X,Mn as Y,Zh as Z,eg as _,ob as $,ib as aa,Wb as ba,Ho as ca,jb as da,Ni as ea,Vb as fa,zb as ga,Yb as ha,rp as ia,op as ja,Qb as ka,sp as la,ap as ma,ml as na,hl as oa,gl as pa,lp as qa,xl as ra,yl as sa,up as ta,Sl as ua,Sa as va,wa,Cg as xa,wl as ya,fp as za,pp as Aa,mp as Ba,Cl as Ca,hp as Da,Il as Ea,bl as Fa,yp as Ga,xp as Ha,Sp as Ia,kl as Ja,Ia as Ka,ba as La,Pg as Ma,$0 as Na,D0 as Oa,Dg as Pa,N0 as Qa,B0 as Ra,va as Sa,sr as Ta,Ra as Ua,Fi as Va,H0 as Wa,El as Xa,j0 as Ya,U0 as Za,Lr as _a,Al as $a,_l as ab,Y0 as bb,Ll as cb,X0 as db,Vp as eb,Jk as fb,tE as gb,nE as hb,cE as ib,Hy as jb,Wy as kb,uE as lb,fE as mb,Vl as nb,Fy as ob,Dr as pb,jy as qb,Uy as rb,Gy as sb,mE as tb,ja as ub,hE as vb,gE as wb,kE as xb,Yp as yb,EE as zb,ME as Ab,AE as Bb,_E as Cb,$E as Db,DE as Eb,OE as Fb,NE as Gb,Jy as Hb,Un as Ib,uM as Jb,Ga as Kb,dx as Lb,fx as Mb,px as Nb,CM as Ob,mx as Pb,hx as Qb,gx as Rb,ql as Sb,yx as Tb,xx as Ub,Sx as Vb,wx as Wb,AM as Xb,nF as Yb};
|