@kodax-ai/kodax 0.7.76 → 0.7.78
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 +758 -371
- package/LICENSE +158 -158
- package/README.md +1702 -1508
- package/README_CN.md +1019 -869
- package/config-templates/config.example.jsonc +86 -4
- package/config-templates/integrations/a2a.example.jsonc +98 -98
- package/config-templates/integrations/extensions.example.jsonc +7 -7
- package/config-templates/integrations/mcp.example.jsonc +16 -16
- package/dist/builtin/code-review/SKILL.md +22 -22
- package/dist/builtin/skill-creator/scripts/aggregate-benchmark.d.ts +46 -46
- package/dist/builtin/skill-creator/scripts/analyze-benchmark.d.ts +46 -46
- package/dist/builtin/skill-creator/scripts/compare-runs.d.ts +62 -62
- package/dist/builtin/skill-creator/scripts/generate-review.d.ts +33 -33
- package/dist/builtin/skill-creator/scripts/grade-evals.d.ts +73 -73
- package/dist/builtin/skill-creator/scripts/improve-description.d.ts +23 -23
- package/dist/builtin/skill-creator/scripts/init-skill.d.ts +14 -14
- package/dist/builtin/skill-creator/scripts/install-skill.d.ts +29 -29
- package/dist/builtin/skill-creator/scripts/package-skill.d.ts +38 -38
- package/dist/builtin/skill-creator/scripts/quick-validate.d.ts +8 -8
- package/dist/builtin/skill-creator/scripts/run-eval.d.ts +66 -66
- package/dist/builtin/skill-creator/scripts/run-loop.d.ts +49 -49
- package/dist/builtin/skill-creator/scripts/run-trigger-eval.d.ts +58 -58
- package/dist/chunks/agent-ASP4MS3X.js +2 -0
- package/dist/chunks/argument-completer-JYQ7FX3W.js +2 -0
- package/dist/chunks/chunk-2CFHBKRE.js +5 -0
- package/dist/chunks/chunk-35PPHOQ2.js +292 -0
- package/dist/chunks/chunk-43QNNDHR.js +29 -0
- package/dist/chunks/chunk-5BNQXXGY.js +1 -0
- package/dist/chunks/chunk-5GO6FH7L.js +458 -0
- package/dist/chunks/chunk-5NDCSFOP.js +78 -0
- package/dist/chunks/chunk-6FOJVETH.js +22 -0
- package/dist/chunks/chunk-6XM4B6K2.js +48 -0
- package/dist/chunks/chunk-6YZUE6NC.js +240 -0
- package/dist/chunks/{chunk-RDXRM3UI.js → chunk-7OEBJGHK.js} +1 -1
- package/dist/chunks/chunk-KQLQYHWU.js +386 -0
- package/dist/chunks/chunk-NXO6GWSY.js +46 -0
- package/dist/chunks/chunk-T2XZTLYE.js +316 -0
- package/dist/chunks/chunk-TQDBTTIM.js +348 -0
- package/dist/chunks/{chunk-SMT2JSM3.js → chunk-UID7BLAB.js} +9 -9
- package/dist/chunks/chunk-VAT2QYXM.js +765 -0
- package/dist/chunks/chunk-YAZQTC2L.js +5 -0
- package/dist/chunks/chunk-YVRYHC4C.js +655 -0
- package/dist/chunks/{chunk-PXKSE54E.js → chunk-Z3KFRTSB.js} +1 -1
- package/dist/chunks/compaction-config-BQSSIWK5.js +2 -0
- package/dist/chunks/{construction-bootstrap-5F5KF2BZ.js → construction-bootstrap-VQLQGWPY.js} +1 -1
- package/dist/chunks/dist-BFT5YIGU.js +2 -0
- package/dist/chunks/dist-PCFE24YP.js +2 -0
- package/dist/chunks/host-UTFXCYYM.js +2 -0
- package/dist/chunks/run-manager-PJU3WIFJ.js +2 -0
- package/dist/chunks/utils-SID4HW2Q.js +2 -0
- package/dist/index.d.ts +21 -19
- package/dist/index.js +6 -6
- package/dist/kodax_bootstrap.js +25 -25
- package/dist/kodax_cli.js +1787 -1341
- package/dist/kodax_resume.js +17 -17
- package/dist/provider-capabilities.json +392 -362
- package/dist/runtime-worker.js +1707 -1279
- package/dist/sandbox-workspace-session.js +563 -0
- package/dist/sdk-a2a.d.ts +18 -17
- package/dist/sdk-a2a.js +8 -8
- package/dist/sdk-agent.d.ts +320 -70
- package/dist/sdk-agent.js +1 -1
- package/dist/sdk-coding.d.ts +135 -168
- package/dist/sdk-coding.js +1 -1
- package/dist/sdk-experimental-memory.d.ts +14 -597
- package/dist/sdk-experimental-memory.js +1 -1
- package/dist/sdk-llm.d.ts +219 -6
- 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 +70 -27
- package/dist/sdk-repl.js +2 -2
- package/dist/sdk-runtime.d.ts +212 -149
- package/dist/sdk-runtime.js +1 -1
- package/dist/sdk-sandbox.d.ts +93 -0
- package/dist/sdk-sandbox.js +2 -0
- package/dist/sdk-session.d.ts +8 -8
- package/dist/sdk-session.js +1 -1
- package/dist/sdk-skills.d.ts +2 -2
- package/dist/sdk-skills.js +1 -1
- package/dist/semantic-worker.js +15 -15
- package/dist/types-chunks/{base.d-ChvpaKjZ.d.ts → base.d-4e74xDdy.d.ts} +13 -1
- package/dist/types-chunks/{bash-prefix-extractor.d-r1beOESM.d.ts → bash-prefix-extractor.d-uAe2Oqda.d.ts} +319 -9
- package/dist/types-chunks/{capability-learning.d-DPrYxRjF.d.ts → capability-learning.d-CVsdHw4j.d.ts} +1 -1
- package/dist/types-chunks/{capsule.d-zeqV4IQX.d.ts → capsule.d-BlSv9l3V.d.ts} +2 -2
- package/dist/types-chunks/{guardrail.d-CWYD1bdL.d.ts → guardrail.d-BRE_ErEj.d.ts} +1 -1
- package/dist/types-chunks/{guardrail.d-qjuKJZ31.d.ts → guardrail.d-CXDYRgZ3.d.ts} +201 -35
- package/dist/types-chunks/{history-retrieval.d-BKTJIrVd.d.ts → history-retrieval.d-DtCy7x64.d.ts} +2 -2
- package/dist/types-chunks/{integration-config.d-ojG4swOP.d.ts → integration-config.d-BNowXE8k.d.ts} +23 -8
- package/dist/types-chunks/{public-api.d-CX4B11qY.d.ts → public-api.d-B3AohsxN.d.ts} +37 -8
- package/dist/types-chunks/{commands.d-DUxnK2TU.d.ts → repl.d-Ie_ZXb_U.d.ts} +89 -78
- package/dist/types-chunks/{side-query.d-DWTMsndP.d.ts → resolver.d-iAQ9ocLB.d.ts} +23 -74
- package/dist/types-chunks/{run-manager.d-B9fEIjZk.d.ts → run-manager.d-D1twIhF9.d.ts} +1 -1
- package/dist/types-chunks/{sdk-session-B0fhAOPa.d.ts → sdk-session-DB9KksIx.d.ts} +3 -3
- package/dist/types-chunks/side-query.d-DTuLPcC5.d.ts +77 -0
- package/dist/types-chunks/types-D3g6XUQr.d.ts +662 -0
- package/dist/types-chunks/{types.d-sRLugmjy.d.ts → types.d-BA-Jwpfs.d.ts} +506 -11
- package/dist/types-chunks/{types.d-DEctY20M.d.ts → types.d-BH0ZkTGf.d.ts} +2 -2
- package/dist/types-chunks/{types.d-DCQVBqVn.d.ts → types.d-BbtGlKZu.d.ts} +25 -3
- package/dist/types-chunks/{types.d-CSmF0t0n.d.ts → types.d-DIpZJKUl.d.ts} +15 -0
- package/dist/types-chunks/{types.d-Bm_y6YuM.d.ts → types.d-DVDTIfB_.d.ts} +4 -4
- package/dist/types-chunks/{utils.d-D0wPxz8y.d.ts → utils.d-CVp6bFl9.d.ts} +23 -7
- package/docs/SDK_EMBEDDER_GUIDE.md +592 -119
- package/package.json +9 -1
- package/scripts/kodax-bin.cjs +28 -28
- package/scripts/production-env.cjs +25 -25
- package/dist/chunks/agent-7X5CFET2.js +0 -2
- package/dist/chunks/argument-completer-3NHIKB4N.js +0 -2
- package/dist/chunks/chunk-4PWPNCNK.js +0 -158
- package/dist/chunks/chunk-7FJNLJLF.js +0 -369
- package/dist/chunks/chunk-COQYLD4U.js +0 -5
- package/dist/chunks/chunk-D3T24FJW.js +0 -78
- package/dist/chunks/chunk-EI4JBQKL.js +0 -46
- package/dist/chunks/chunk-HGT6WQ24.js +0 -321
- package/dist/chunks/chunk-HS3XHF3R.js +0 -622
- package/dist/chunks/chunk-IDCGNQ4H.js +0 -5
- package/dist/chunks/chunk-KAY2XLCP.js +0 -74
- package/dist/chunks/chunk-OD6LVXU6.js +0 -329
- package/dist/chunks/chunk-OSF3H4RR.js +0 -22
- package/dist/chunks/chunk-TGMBHGZO.js +0 -427
- package/dist/chunks/chunk-VWSLC2WO.js +0 -770
- package/dist/chunks/chunk-Y3AMP22L.js +0 -37
- package/dist/chunks/compaction-config-7J2XE35D.js +0 -2
- package/dist/chunks/dist-2RA7LSH3.js +0 -2
- package/dist/chunks/dist-URKXBOC6.js +0 -2
- package/dist/chunks/host-RKZ2OGFT.js +0 -2
- package/dist/chunks/run-manager-7RM4HEH6.js +0 -2
- package/dist/chunks/utils-X3TEH6IO.js +0 -2
- package/dist/types-chunks/center-types.d-BBT122uJ.d.ts +0 -91
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
// @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
|
|
2
|
+
import{$ as Do,A as pn,Aa as of,B as lC,Ba as sf,C as dr,Ca as el,D as ea,Da as af,E as uC,Ea as cf,F as ta,Fa as lf,G as Mh,Ga as _C,H as Yd,Ha as LC,I as dC,Ia as PC,J as fC,Ja as Ph,K as pC,Ka as $C,L as mC,La as OC,M as Oo,Ma as DC,N as hC,Na as NC,O as na,Oa as BC,P as gC,Pa as WC,Q as ra,Qa as HC,R as yC,Ra as _i,S as xC,Sa as Li,T as oa,Ta as $h,U as Xd,Ua as FC,V as SC,W as Qd,Wa as Oh,X as Jc,Xa as uf,Y as Ah,Ya as jC,Z as wC,Za as UC,_ as _h,a as ur,aa as Jd,b as j,ba as ia,c as $_,ca as Zd,d as fn,da as ef,e as Fd,ea as TC,f as vT,fa as CC,g as zn,ga as sa,h as jd,ha as IC,i as Ud,ia as No,j as so,ja as vC,k as zs,ka as _r,l as bT,la as tf,m as Ys,ma as nf,n as JT,na as xn,o as ZT,oa as Lr,p as eC,pa as Lh,q as tC,qa as Ai,r as nC,ra as Bo,s as rC,sa as Zc,t as oC,ta as rf,u as Zs,ua as bC,v as iC,va as RC,w as sC,wa as kC,x as aC,xa as EC,y as Eh,ya as MC,z as cC,za as AC}from"./chunk-YVRYHC4C.js";import{$ as Qs,E as jT,J as UT,K as $o,L as Ei,O as GT,P as VT,Q as KT,R as zT,S as YT,T as XT,U as qT,X as Vd,Y as Mi,Z as Kd,_ as qs,a as re,aa as Js,b as RT,ba as zd,c as kT,ca as co,d as ET,e as MT,f as qc,g as AT,ga as QT,h as Xs,i as _T,j as LT,k as Ri,l as PT,m as $T,n as OT,o as Qc,p as DT,q as Gd,r as ao,s as NT,t as BT,u as WT,w as HT,x as FT,y as ki,z as Ar}from"./chunk-6YZUE6NC.js";import{a as qd}from"./chunk-7OEBJGHK.js";import{Ba as IT,Ea as Hd,N as xT,O as ST,Q as kh,R as wT,S as TT,c as Rh,ga as CT,n as Bd,o as Wd,v as yT,w as Xc}from"./chunk-5GO6FH7L.js";import{C as pT,Ta as hT,Ua as gT,o as Yc,p as iT}from"./chunk-TQDBTTIM.js";import{J as mT}from"./chunk-6FOJVETH.js";import{$c as Nd,Ha as Dd,Ua as aT,cd as lT,l as Ks,sb as cT,sd as uT,wd as dT,xd as fT,z as sT}from"./chunk-KQLQYHWU.js";import{Aa as xh,Pa as Ci,ma as xd,ya as Vw}from"./chunk-5NDCSFOP.js";import{Ac as Ze,Bc as nT,Cc as kt,Ea as zw,Ec as Ws,Fc as Hs,Gc as Md,Ic as Fs,Jc as js,Kc as Us,Lc as Gs,Mc as Ad,Nc as bi,Oc as Ih,Pc as _d,Qc as Ld,Rc as vh,Sc as Pd,Tc as Vs,Wa as Sh,Wd as rT,Xa as Mr,Xd as bh,Yb as Ed,Yd as oT,Zb as vi,_a as wh,cd as $d,dd as Od,ic as Zw,jc as Ch,kb as Yw,p as Kw,pb as bd,rb as Xw,tc as eT,xc as tT}from"./chunk-VAT2QYXM.js";import{$a as Rd,Fb as Th,W as Jw,a as Ii,ab as kd,d as dt,g as io,h as Po,i as Sd,v as qw,w as Qw}from"./chunk-6XM4B6K2.js";import{b as Kn,d as wd,l as Td,t as Cd,u as Id,y as vd}from"./chunk-2CFHBKRE.js";import{a as i,c as P_}from"./chunk-ONUPGMER.js";import{spawnSync as O_}from"node:child_process";function df(e){return e==="1"||e?.toLowerCase()==="true"}i(df,"isTruthyEnv");function GC(e){return e==="0"||e?.toLowerCase()==="false"}i(GC,"isFalseyEnv");function Pi(e=process.env){return e.TERM_PROGRAM?.toLowerCase()==="vscode"||!!e.VSCODE_GIT_IPC_HANDLE||!!e.VSCODE_INJECTION}i(Pi,"isVsCodeTerminalHostEnv");function $i(e={}){let t=e.env??process.env;return(e.platform??process.platform)==="win32"||!!t.WT_SESSION}i($i,"hasCursorUpViewportYankRisk");function D_(e){return!!(e.SSH_CONNECTION||e.SSH_CLIENT||e.SSH_TTY)}i(D_,"isSshSession");function aa(e={}){let t=e.env??process.env;return df(t.KODAX_FULLSCREEN)?!1:(e.platform??process.platform)==="win32"&&D_(t)}i(aa,"isRemoteConptyHost");function tl(e={}){let t=e.env??process.env;return $i(e)||Pi(t)}i(tl,"hasMainScreenRenderScrollRisk");function N_(e){if(!e.TMUX||e.TERM_PROGRAM!=="iTerm.app")return!1;let t=e.TERM??"";return!t.startsWith("screen")&&!t.startsWith("tmux")}i(N_,"isTmuxControlModeEnvHeuristic");var lo;function ca(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(N_(t))return!0;if(!(t===process.env&&n===process.platform))return!1;if(lo!==void 0||(lo=!1,!t.TMUX)||t.TERM_PROGRAM&&t.TERM_PROGRAM!=="iTerm.app")return lo;try{let o=O_("tmux",["display-message","-p","#{client_control_mode}"],{encoding:"utf8",timeout:2e3});o.status===0&&(lo=o.stdout.trim()==="1")}catch{lo=!1}return lo}i(ca,"isTmuxControlMode");function ff(){lo=void 0}i(ff,"resetTmuxControlModeProbeForTesting");function Wo(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":ca(e)?"tmux_control_mode":Pi(t)?"xtermjs_host":aa(e)?"remote_conpty_host":$i(e)?"degraded_vt":"native_vt"}i(Wo,"detectTerminalRenderHost");var Ho=Wo;function Oi(e={}){let t=e.env??process.env;if(df(t.KODAX_FORCE_INK))return"legacy";let n=t.KODAX_TUI_RENDERER?.trim().toLowerCase();return n==="legacy"||n==="owned"||n==="auto"?n:"auto"}i(Oi,"resolveConfiguredTuiRendererMode");function Fo(e={}){let t=Oi(e);if(t==="legacy"||t==="owned")return t;let n=Wo(e);return n==="unsupported_control_host"||n==="tmux_control_mode"?"legacy":"owned"}i(Fo,"resolveEffectiveTuiRendererMode");function nl(e={}){let t=e.env??process.env;if(df(t.KODAX_FORCE_CLASSIC_REPL))return"classic";let n=Oi({env:t});if(n==="legacy"||n==="owned")return"ink";let r=Wo(e);return r==="unsupported_control_host"||r==="tmux_control_mode"?"classic":"ink"}i(nl,"resolveInteractiveSurfacePreference");var B_={enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!0},VC={enabled:!0,promptShell:"main-screen",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!1,transcriptSpinnerAnimation:!0};function jo(e,t="owned",n={}){let r=n.env??process.env;return GC(r.KODAX_FULLSCREEN)?t==="owned"&&e!=="tmux_control_mode"&&e!=="unsupported_control_host"?VC:B_:W_(e,t)}i(jo,"resolveFullscreenPolicy");function W_(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 VC;default:return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1}}}i(W_,"buildFullscreenPolicy");function Di(e,t={}){let n=t.rendererMode??"owned",r=jo(e,n,{env:t.env}),o=e!=="unsupported_control_host"&&e!=="tmux_control_mode";return{profile:e,ownsViewportByDefault:r.enabled&&r.promptShell==="virtual",supportsMouseTracking:r.mouseWheel||r.mouseClicks,bufferingMode:r.streamingPreview?"live":"buffered-fallback",supportsFullscreenLayout:r.enabled,supportsOverlaySurface:r.enabled,supportsSelection:o,supportsCopyOnSelect:!1,supportsWheelHistory:r.mouseWheel,supportsViewportChrome:r.enabled,supportsSearchViewport:r.enabled,supportsStickyPrompt:r.enabled}}i(Di,"getTerminalHostCapabilities");function rl(e={}){return Fo(e)==="owned"}i(rl,"isOwnedRendererPreferred");function ol(e={}){let t=e.env??process.env;return df(t.KODAX_FORCE_CLASSIC_REPL)&&!GC(t.KODAX_FORCE_CLASSIC_REPL)}i(ol,"isClassicReplForced");var Ni=class{static{i(this,"LRUCache")}capacity;cache;constructor(t){this.capacity=t,this.cache=new Map}get(t){if(!this.cache.has(t))return;let n=this.cache.get(t);return this.cache.delete(t),this.cache.set(t,n),n}set(t,n){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.capacity){let r=this.cache.keys().next().value;r!==void 0&&this.cache.delete(r)}this.cache.set(t,n)}has(t){return this.cache.has(t)}delete(t){return this.cache.delete(t)}clear(){this.cache.clear()}get size(){return this.cache.size}},Dh=1,Nh=2,H_=1e3,KC;function mf(){if(!(typeof Intl>"u"||typeof Intl.Segmenter!="function"))return KC??=new Intl.Segmenter("en",{granularity:"grapheme"}),KC}i(mf,"getGraphemeSegmenter");function Sn(e){if(!e)return 0;let t=mf();if(t){let n=0;for(let r of t.segment(e))n++;return n}return[...e].length}i(Sn,"getCodePointLength");function fr(e){if(!e)return!1;let t=e.codePointAt(0);return t===void 0?!1:t>=19968&&t<=40959||t>=13312&&t<=19903||t>=63744&&t<=64255||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=44032&&t<=55215||t>=12288&&t<=12351||t>=65280&&t<=65519||t>=128512&&t<=128591||t>=127744&&t<=128511||t>=128640&&t<=128767||t>=127456&&t<=127487||t>=9728&&t<=9983||t>=9984&&t<=10175||t>=129280&&t<=129535||t>=129536&&t<=129647||t>=129648&&t<=129791}i(fr,"isWideChar");function pr(e){if(!e)return 0;let t=0,n=mf();if(n)for(let r of n.segment(e))t+=fr(r.segment)?Nh:Dh;else for(let r of e)t+=fr(r)?Nh:Dh;return t}i(pr,"getVisualWidth");function zC(e,t){if(!e||t<0)return"";let n=mf();if(n){let o=0;for(let s of n.segment(e)){if(o===t)return s.segment;o++}return""}let r=[...e];return t>=r.length?"":r[t]}i(zC,"getCharAtCodePoint");function mn(e){if(!e)return[];let t=mf();if(t){let n=[];for(let r of t.segment(e))n.push(r.segment);return n}return[...e]}i(mn,"splitByCodePoints");function F_(e,t,n){return mn(e).slice(t,n).join("")}i(F_,"sliceByCodePoints");function YC(e,t){let n=Math.max(0,t),r=mn(e),o=0,s=0;for(;o<r.length;){let a=fr(r[o])?Nh:Dh;if(s+a>n)break;s+=a,o++}return{before:r.slice(0,o).join(""),current:r[o]??"",after:r.slice(o+1).join("")}}i(YC,"splitAtVisualColumn");function la(e,t,n=!1){if(!e||t<=0)return"";let r="\u2026",s=n?t-1:t,a="",c=0,l=mn(e);for(let d of l){let f=fr(d)?2:1;if(c+f>s)break;a+=d,c+=f}return n&&a.length<e.length&&(a+=r),a}i(la,"truncateByVisualWidth");var pf=new Ni(H_);function hf(e){let t=pf.get(e);if(t!==void 0)return t;let n=pr(e);return pf.set(e,n),n}i(hf,"getVisualWidthCached");function hn(e,t,n,r){let o=[],s=[],a=[];for(let c=0;c<e.length;c++){let l=e[c]||"";if(s[c]=[],l.length===0){o.push("");let p=o.length-1;s[c].push([p,0]),a.push([c,0]);continue}let d=0,f=mn(l);for(;d<f.length;){let p="",m=0,h=d,S=-1;for(let v=d;v<f.length;v++){let T=f[v],w=fr(T)?2:1;if(m+w>t){S>=0&&v-d>0?(p=f.slice(d,S).join(""),m=f.slice(d,S).reduce((b,M)=>b+(fr(M)?2:1),0),h=S):p.length===0&&w>t&&(p=T,m=w,h=v+1);break}p+=T,m+=w,h=v+1,T===" "&&(S=v+1)}if(p.length>0||o.length===0){let v=d,T=o.length;o.push(p),s[c].push([T,v]),a.push([c,v])}d=h}}return{visualLines:o,logicalToVisualMap:s,visualToLogicalMap:a}}i(hn,"calculateVisualLayout");function gf(e,t){let{logicalToVisualMap:n,visualLines:r}=e;if(r.length===0)return[0,0];let[o,s]=t,a=n[o];if(!a||a.length===0)return[0,0];let c;for(let[h,S]of a)if(S<=s)c=[h,S];else break;let[l,d]=c??a[0],f=r[l]??"",p=Math.max(0,s-d),m=pr(F_(f,0,p));return[l,m]}i(gf,"calculateVisualCursorFromLayout");var yf={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"]}},Bh={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 Wh={dark:yf,minimal:Bh};function oe(e="dark"){return Wh[e]??yf}i(oe,"getTheme");function j_(){return Object.keys(Wh)}i(j_,"getThemeNames");import{jsx as Cn,jsxs as Xn,Fragment as q$}from"react/jsx-runtime";import{useMemo as Kf}from"react";import{jsx as Mv}from"react/jsx-runtime";import{createContext as b$,useContext as Vi,useEffect as xa,useMemo as Ev,useState as R$,useCallback as Av,useRef as Bf}from"react";import{Stream as t$}from"node:stream";import{openSync as n$,writeSync as gv}from"node:fs";import{performance as r$}from"node:perf_hooks";import{tmpdir as o$}from"node:os";import{join as i$}from"node:path";import Hh,{forwardRef as V_,useContext as K_}from"react";import{createContext as U_}from"react";var ua=U_({isScreenReaderEnabled:!1});import{createContext as G_}from"react";var xf=G_(void 0);var XC=V_(({children:e,backgroundColor:t,"aria-label":n,"aria-hidden":r,"aria-role":o,"aria-state":s,...a},c)=>{let{isScreenReaderEnabled:l}=K_(ua),d=n?Hh.createElement("ink-text",null,n):void 0;if(l&&r)return null;let f=Hh.createElement("ink-box",{ref:c,style:{flexWrap:"nowrap",flexDirection:"row",flexGrow:0,flexShrink:1,...a,backgroundColor:t,overflowX:a.overflowX??a.overflow??"visible",overflowY:a.overflowY??a.overflow??"visible"},internal_accessibility:{role:o,state:s}},l&&d?d:e);return t?Hh.createElement(xf.Provider,{value:t},f):f});XC.displayName="Box";var Yn=XC;import q_,{useContext as qC}from"react";import da from"chalk";import Uo from"chalk";var z_=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,Y_=/^ansi256\(\s?(\d+)\s?\)$/;function X_(e){return e in Uo}i(X_,"isNamedColor");function mr(e,t,n){if(!t)return e;if(X_(t)){let r=Uo;if(n==="foreground")return r[t]?.(e)??e;let o=`bg${t[0].toUpperCase()+t.slice(1)}`;return r[o]?.(e)??e}if(t.startsWith("#"))return n==="foreground"?Uo.hex(t)(e):Uo.bgHex(t)(e);if(t.startsWith("ansi256")){let r=Y_.exec(t);if(!r)return e;let o=Number(r[1]);return n==="foreground"?Uo.ansi256(o)(e):Uo.bgAnsi256(o)(e)}if(t.startsWith("rgb")){let r=z_.exec(t);if(!r)return e;let o=Number(r[1]),s=Number(r[2]),a=Number(r[3]);return n==="foreground"?Uo.rgb(o,s,a)(e):Uo.bgRgb(o,s,a)(e)}return e}i(mr,"colorize");function wn({color:e,backgroundColor:t,dimColor:n=!1,bold:r=!1,italic:o=!1,underline:s=!1,strikethrough:a=!1,inverse:c=!1,wrap:l="wrap",children:d,"aria-label":f,"aria-hidden":p=!1,internal_cursorAnchor:m=!1}){let{isScreenReaderEnabled:h}=qC(ua),S=qC(xf),v=h&&f?f:d;if(v==null)return null;let T=i(w=>{let b=w;n&&(b=da.dim(b)),e&&(b=mr(b,e,"foreground"));let M=t??S;return M&&(b=mr(b,M,"background")),r&&(b=da.bold(b)),o&&(b=da.italic(b)),s&&(b=da.underline(b)),a&&(b=da.strikethrough(b)),c&&(b=da.inverse(b)),b},"transform");return h&&p?null:q_.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:l},internal_transform:T,...m?{internal_cursorAnchor:!0}:{}},h&&f?f:d)}i(wn,"Text");import Q_,{useLayoutEffect as J_,useMemo as QC,useState as Z_}from"react";function Fh({items:e,children:t,style:n}){let[r,o]=Z_(0),s=QC(()=>e.slice(r),[e,r]);J_(()=>{o(e.length)},[e.length]);let a=s.map((l,d)=>t(l,r+d)),c=QC(()=>({position:"absolute",flexDirection:"column",...n}),[n]);return Q_.createElement("ink-box",{internal_static:!0,style:c},a)}i(Fh,"Static");import Ui from"node:process";import pv from"react";import{throttle as DP}from"es-toolkit/compat";import Tn from"ansi-escapes";import yo from"is-in-ci";import NP from"auto-bind";import{onExit as BP}from"signal-exit";import WP from"patch-console";import{LegacyRoot as HP,ConcurrentRoot as FP}from"react-reconciler/constants.js";import jP from"yoga-layout";import UP from"wrap-ansi";import GP from"terminal-size";import eL from"node:process";var Sf=i(()=>eL.env.DEV==="true","isDev");import kL from"react-reconciler";import{DefaultEventPriority as EL,NoEventPriority as pI}from"react-reconciler/constants.js";import*as Go from"scheduler";import lI from"yoga-layout";import{createContext as ML}from"react";import hL from"yoga-layout";import tL from"widest-line";var JC=new Map,nL=i(e=>{if(e.length===0)return{width:0,height:0};let t=JC.get(e);if(t)return t;let n=tL(e),r=e.split(`
|
|
3
|
+
`).length,o={width:n,height:r};return JC.set(e,o),o},"measureText"),jh=nL;import rL from"wrap-ansi";import oL from"cli-truncate";var ZC={},iL=i((e,t,n)=>{let r=e+String(t)+String(n),o=ZC[r];if(o)return o;let s=e;if(n==="wrap"&&(s=rL(e,t,{trim:!1,hard:!0})),n.startsWith("truncate")){let a="end";n==="truncate-middle"&&(a="middle"),n==="truncate-start"&&(a="start"),s=oL(e,t,{position:a})}return ZC[r]=s,s},"wrapText"),wf=iL;var sL=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=63},"isCsiParameterCharacter"),aL=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isCsiIntermediateCharacter"),cL=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=64&&t<=126},"isCsiFinalCharacter"),nI=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isEscapeIntermediateCharacter"),lL=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=126},"isEscapeFinalCharacter"),rI=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=128&&t<=159},"isC1ControlCharacter"),eI=i((e,t)=>{let n=t;for(;n<e.length;){let c=e[n];if(!sL(c))break;n++}let r=e.slice(t,n),o=n;for(;n<e.length;){let c=e[n];if(!aL(c))break;n++}let s=e.slice(o,n),a=e[n];if(!(a===void 0||!cL(a)))return{endIndex:n+1,parameterString:r,intermediateString:s,finalCharacter:a}},"readCsiSequence"),tI=i((e,t,n)=>{for(let r=t;r<e.length;r++){let o=e[r];if(n&&o==="\x07"||o==="\x9C")return r+1;if(o==="\x1B"){let s=e[r+1];if(s==="\x1B"){r++;continue}if(s==="\\")return r+2}}},"findControlStringTerminatorIndex"),uL=i((e,t)=>{let n=t;for(;n<e.length;){let s=e[n];if(!nI(s))break;n++}let r=e.slice(t,n),o=e[n];if(!(o===void 0||!lL(o)))return{endIndex:n+1,intermediateString:r,finalCharacter:o}},"readEscapeSequence"),dL=i(e=>{switch(e){case"]":return{type:"osc",allowBellTerminator:!0};case"P":return{type:"dcs",allowBellTerminator:!1};case"^":return{type:"pm",allowBellTerminator:!1};case"_":return{type:"apc",allowBellTerminator:!1};case"X":return{type:"sos",allowBellTerminator:!1};default:return}},"getControlStringFromEscapeIntroducer"),fL=i(e=>{switch(e){case"\x9D":return{type:"osc",allowBellTerminator:!0};case"\x90":return{type:"dcs",allowBellTerminator:!1};case"\x9E":return{type:"pm",allowBellTerminator:!1};case"\x9F":return{type:"apc",allowBellTerminator:!1};case"\x98":return{type:"sos",allowBellTerminator:!1};default:return}},"getControlStringFromC1Introducer"),Uh=i(e=>{if(e.includes("\x1B"))return!0;for(let t of e)if(rI(t))return!0;return!1},"hasAnsiControlCharacters"),fa=i((e,t,n,r)=>(r>n&&e.push({type:"text",value:t.slice(n,r)}),e.push({type:"invalid",value:t.slice(r)}),e),"malformedFromIndex"),oI=i(e=>{if(!Uh(e))return[{type:"text",value:e}];let t=[],n=0;for(let r=0;r<e.length;){let o=e[r];if(o===void 0)break;if(o==="\x1B"){let a=e[r+1];if(a===void 0)return fa(t,e,n,r);if(a==="["){let d=eI(e,r+2);if(d===void 0)return fa(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=dL(a);if(c!==void 0){let d=tI(e,r+2,c.allowBellTerminator);if(d===void 0)return fa(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=uL(e,r+1);if(l===void 0){if(nI(a))return fa(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),r++,n=r;continue}r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"esc",value:e.slice(r,l.endIndex),intermediateString:l.intermediateString,finalCharacter:l.finalCharacter}),r=l.endIndex,n=r;continue}if(o==="\x9B"){let a=eI(e,r+1);if(a===void 0)return fa(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=fL(o);if(s!==void 0){let a=tI(e,r+1,s.allowBellTerminator);if(a===void 0)return fa(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:s.type,value:e.slice(r,a)}),r=a,n=r;continue}if(o==="\x9C"){r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"st",value:o}),r++,n=r;continue}if(rI(o)){r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"c1",value:o}),r++,n=r;continue}r++}return n<e.length&&t.push({type:"text",value:e.slice(n)}),t},"tokenizeAnsi");var pL=/^[\d:;]*$/,mL=i(e=>{if(!Uh(e))return e;let t="";for(let n of oI(e)){if(n.type==="text"||n.type==="osc"){t+=n.value;continue}n.type==="csi"&&n.finalCharacter==="m"&&n.intermediateString===""&&pL.test(n.parameterString)&&(t+=n.value)}return t},"sanitizeAnsi"),iI=mL;var sI=i(e=>{let t="";for(let n=0;n<e.childNodes.length;n++){let r=e.childNodes[n];if(r===void 0)continue;let o="";r.nodeName==="#text"?o=r.nodeValue:((r.nodeName==="ink-text"||r.nodeName==="ink-virtual-text")&&(o=sI(r)),o.length>0&&typeof r.internal_transform=="function"&&(o=r.internal_transform(o,n))),t+=o}return iI(t)},"squashTextNodes"),il=sI;var Tf=i(e=>{let t={nodeName:e,style:{},attributes:{},childNodes:[],parentNode:void 0,yogaNode:e==="ink-virtual-text"?void 0:hL.Node.create(),internal_accessibility:{}};return e==="ink-text"&&t.yogaNode?.setMeasureFunc(gL.bind(null,t)),t},"createNode"),Cf=i((e,t)=>{t.parentNode&&sl(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")&&If(e)},"appendChildNode"),Gh=i((e,t,n)=>{t.parentNode&&sl(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")&&If(e)},"insertBeforeNode"),sl=i((e,t)=>{t.yogaNode&&t.parentNode?.yogaNode?.removeChild(t.yogaNode),t.parentNode=void 0;let n=e.childNodes.indexOf(t);n>=0&&e.childNodes.splice(n,1),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&If(e)},"removeChildNode"),Vh=i((e,t,n)=>{if(t==="internal_accessibility"){e.internal_accessibility=n;return}e.attributes[t]=n},"setAttribute"),Kh=i((e,t)=>{e.style=t},"setStyle"),aI=i(e=>{let t={nodeName:"#text",nodeValue:e,yogaNode:void 0,parentNode:void 0,style:{}};return al(t,e),t},"createTextNode"),gL=i(function(e,t){let n=e.nodeName==="#text"?e.nodeValue:il(e),r=jh(n);if(r.width<=t||r.width>=1&&t>0&&t<1)return r;let o=e.style?.textWrap??"wrap",s=wf(n,t,o);return jh(s)},"measureTextNode"),cI=i(e=>{if(e?.parentNode)return e.yogaNode??cI(e.parentNode)},"findClosestYogaNode"),If=i(e=>{cI(e)?.markDirty()},"markNodeAsDirty"),al=i((e,t)=>{typeof t!="string"&&(t=String(t)),e.nodeValue=t,If(e)},"setTextNodeValue");import Re from"yoga-layout";var xL=i((e,t)=>{"position"in t&&e.setPositionType(t.position==="absolute"?Re.POSITION_TYPE_ABSOLUTE:Re.POSITION_TYPE_RELATIVE),"top"in t&&e.setPosition(Re.EDGE_TOP,t.top??0),"bottom"in t&&e.setPosition(Re.EDGE_BOTTOM,t.bottom??0),"left"in t&&e.setPosition(Re.EDGE_LEFT,t.left??0),"right"in t&&e.setPosition(Re.EDGE_RIGHT,t.right??0)},"applyPositionStyles"),SL=i((e,t)=>{"margin"in t&&e.setMargin(Re.EDGE_ALL,t.margin??0),"marginX"in t&&e.setMargin(Re.EDGE_HORIZONTAL,t.marginX??0),"marginY"in t&&e.setMargin(Re.EDGE_VERTICAL,t.marginY??0),"marginLeft"in t&&e.setMargin(Re.EDGE_START,t.marginLeft||0),"marginRight"in t&&e.setMargin(Re.EDGE_END,t.marginRight||0),"marginTop"in t&&e.setMargin(Re.EDGE_TOP,t.marginTop||0),"marginBottom"in t&&e.setMargin(Re.EDGE_BOTTOM,t.marginBottom||0)},"applyMarginStyles"),wL=i((e,t)=>{"padding"in t&&e.setPadding(Re.EDGE_ALL,t.padding??0),"paddingX"in t&&e.setPadding(Re.EDGE_HORIZONTAL,t.paddingX??0),"paddingY"in t&&e.setPadding(Re.EDGE_VERTICAL,t.paddingY??0),"paddingLeft"in t&&e.setPadding(Re.EDGE_LEFT,t.paddingLeft||0),"paddingRight"in t&&e.setPadding(Re.EDGE_RIGHT,t.paddingRight||0),"paddingTop"in t&&e.setPadding(Re.EDGE_TOP,t.paddingTop||0),"paddingBottom"in t&&e.setPadding(Re.EDGE_BOTTOM,t.paddingBottom||0)},"applyPaddingStyles"),TL=i((e,t)=>{"flexGrow"in t&&e.setFlexGrow(t.flexGrow??0),"flexShrink"in t&&e.setFlexShrink(typeof t.flexShrink=="number"?t.flexShrink:1),"flexWrap"in t&&(t.flexWrap==="nowrap"&&e.setFlexWrap(Re.WRAP_NO_WRAP),t.flexWrap==="wrap"&&e.setFlexWrap(Re.WRAP_WRAP),t.flexWrap==="wrap-reverse"&&e.setFlexWrap(Re.WRAP_WRAP_REVERSE)),"flexDirection"in t&&(t.flexDirection==="row"&&e.setFlexDirection(Re.FLEX_DIRECTION_ROW),t.flexDirection==="row-reverse"&&e.setFlexDirection(Re.FLEX_DIRECTION_ROW_REVERSE),t.flexDirection==="column"&&e.setFlexDirection(Re.FLEX_DIRECTION_COLUMN),t.flexDirection==="column-reverse"&&e.setFlexDirection(Re.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in t&&(typeof t.flexBasis=="number"?e.setFlexBasis(t.flexBasis):typeof t.flexBasis=="string"?e.setFlexBasisPercent(Number.parseInt(t.flexBasis,10)):e.setFlexBasis(Number.NaN)),"alignItems"in t&&((t.alignItems==="stretch"||!t.alignItems)&&e.setAlignItems(Re.ALIGN_STRETCH),t.alignItems==="flex-start"&&e.setAlignItems(Re.ALIGN_FLEX_START),t.alignItems==="center"&&e.setAlignItems(Re.ALIGN_CENTER),t.alignItems==="flex-end"&&e.setAlignItems(Re.ALIGN_FLEX_END)),"alignSelf"in t&&((t.alignSelf==="auto"||!t.alignSelf)&&e.setAlignSelf(Re.ALIGN_AUTO),t.alignSelf==="flex-start"&&e.setAlignSelf(Re.ALIGN_FLEX_START),t.alignSelf==="center"&&e.setAlignSelf(Re.ALIGN_CENTER),t.alignSelf==="flex-end"&&e.setAlignSelf(Re.ALIGN_FLEX_END)),"justifyContent"in t&&((t.justifyContent==="flex-start"||!t.justifyContent)&&e.setJustifyContent(Re.JUSTIFY_FLEX_START),t.justifyContent==="center"&&e.setJustifyContent(Re.JUSTIFY_CENTER),t.justifyContent==="flex-end"&&e.setJustifyContent(Re.JUSTIFY_FLEX_END),t.justifyContent==="space-between"&&e.setJustifyContent(Re.JUSTIFY_SPACE_BETWEEN),t.justifyContent==="space-around"&&e.setJustifyContent(Re.JUSTIFY_SPACE_AROUND),t.justifyContent==="space-evenly"&&e.setJustifyContent(Re.JUSTIFY_SPACE_EVENLY))},"applyFlexStyles"),CL=i((e,t)=>{"width"in t&&(typeof t.width=="number"?e.setWidth(t.width):typeof t.width=="string"?e.setWidthPercent(Number.parseInt(t.width,10)):e.setWidthAuto()),"height"in t&&(typeof t.height=="number"?e.setHeight(t.height):typeof t.height=="string"?e.setHeightPercent(Number.parseInt(t.height,10)):e.setHeightAuto()),"minWidth"in t&&(typeof t.minWidth=="string"?e.setMinWidthPercent(Number.parseInt(t.minWidth,10)):e.setMinWidth(t.minWidth??0)),"minHeight"in t&&(typeof t.minHeight=="string"?e.setMinHeightPercent(Number.parseInt(t.minHeight,10)):e.setMinHeight(t.minHeight??0))},"applyDimensionStyles"),IL=i((e,t)=>{"display"in t&&e.setDisplay(t.display==="flex"?Re.DISPLAY_FLEX:Re.DISPLAY_NONE)},"applyDisplayStyles"),vL=i((e,t)=>{if("borderStyle"in t){let n=t.borderStyle?1:0;t.borderTop!==!1&&e.setBorder(Re.EDGE_TOP,n),t.borderBottom!==!1&&e.setBorder(Re.EDGE_BOTTOM,n),t.borderLeft!==!1&&e.setBorder(Re.EDGE_LEFT,n),t.borderRight!==!1&&e.setBorder(Re.EDGE_RIGHT,n)}},"applyBorderStyles"),bL=i((e,t)=>{"gap"in t&&e.setGap(Re.GUTTER_ALL,t.gap??0),"columnGap"in t&&e.setGap(Re.GUTTER_COLUMN,t.columnGap??0),"rowGap"in t&&e.setGap(Re.GUTTER_ROW,t.rowGap??0)},"applyGapStyles"),RL=i((e,t={})=>{xL(e,t),SL(e,t),wL(e,t),TL(e,t),CL(e,t),IL(e,t),vL(e,t),bL(e,t)},"styles"),zh=RL;if(Sf())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 uI=i((e,t)=>{if(e===t)return;if(!e)return t;let n={},r=!1;for(let o of Object.keys(e))(!t||!Object.hasOwn(t,o))&&(n[o]=void 0,r=!0);if(t)for(let o of Object.keys(t))t[o]!==e[o]&&(n[o]=t[o],r=!0);return r?n:void 0},"diff"),dI=i(e=>{e?.unsetMeasureFunc(),e?.freeRecursive()},"cleanupYogaNode"),vf=pI,Yh,fI={name:void 0,version:void 0},uo=kL({getRootHostContext:i(()=>({isInsideText:!1}),"getRootHostContext"),prepareForCommit:i(()=>null,"prepareForCommit"),preparePortalMount:i(()=>null,"preparePortalMount"),clearContainer:i(()=>!1,"clearContainer"),resetAfterCommit(e){if(typeof e.onComputeLayout=="function"&&e.onComputeLayout(),e.isStaticDirty){e.isStaticDirty=!1,typeof e.onImmediateRender=="function"&&e.onImmediateRender();return}typeof e.onRender=="function"&&e.onRender()},getChildHostContext(e,t){let n=e.isInsideText,r=t==="ink-text"||t==="ink-virtual-text";return n===r?e:{isInsideText:r}},shouldSetTextContent:i(()=>!1,"shouldSetTextContent"),createInstance(e,t,n,r){if(r.isInsideText&&e==="ink-box")throw new Error("<Box> can\u2019t be nested inside <Text> component");let o=e==="ink-text"&&r.isInsideText?"ink-virtual-text":e,s=Tf(o);for(let[a,c]of Object.entries(t))if(a!=="children"){if(a==="style"){Kh(s,c),s.yogaNode&&zh(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"){Yh=n,s.internal_static=!0,n.isStaticDirty=!0,n.staticNode=s;continue}Vh(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 aI(e)},resetTextContent(){},hideTextInstance(e){al(e,"")},unhideTextInstance(e,t){al(e,t)},getPublicInstance:i(e=>e,"getPublicInstance"),hideInstance(e){e.yogaNode?.setDisplay(lI.DISPLAY_NONE)},unhideInstance(e){e.yogaNode?.setDisplay(lI.DISPLAY_FLEX)},appendInitialChild:Cf,appendChild:Cf,insertBefore:Gh,finalizeInitialChildren(){return!1},isPrimaryRenderer:!0,supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,supportsMicrotasks:!0,scheduleMicrotask:queueMicrotask,scheduleCallback:Go.unstable_scheduleCallback,cancelCallback:Go.unstable_cancelCallback,shouldYield:Go.unstable_shouldYield,now:Go.unstable_now,scheduleTimeout:setTimeout,cancelTimeout:clearTimeout,noTimeout:-1,beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},detachDeletedInstance(){},getInstanceFromNode:i(()=>null,"getInstanceFromNode"),prepareScopeUpdate(){},getInstanceFromScope:i(()=>null,"getInstanceFromScope"),appendChildToContainer:Cf,insertInContainerBefore:Gh,removeChildFromContainer(e,t){sl(e,t),dI(t.yogaNode)},commitUpdate(e,t,n,r){Yh&&e.internal_static&&(Yh.isStaticDirty=!0);let o=uI(n,r),s=uI(n.style,r.style);if(!(!o&&!s)){if(o)for(let[a,c]of Object.entries(o)){if(a==="style"){Kh(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}Vh(e,a,c)}s&&e.yogaNode&&zh(e.yogaNode,s)}},commitTextUpdate(e,t,n){al(e,n)},removeChild(e,t){sl(e,t),dI(t.yogaNode)},setCurrentUpdatePriority(e){vf=e},getCurrentUpdatePriority:i(()=>vf,"getCurrentUpdatePriority"),resolveUpdatePriority(){return vf!==pI?vf:EL},maySuspendCommit(){return!0},NotPendingTransition:void 0,HostTransitionContext:ML(null),resetFormInstance(){},requestPostPaintCallback(){},shouldAttemptEagerTransition(){return!1},trackSchedulerEvent(){},resolveEventType(){return null},resolveEventTimeStamp(){return-1.1},preloadInstance(){return!0},startSuspendingCommit(){},suspendInstance(){},waitForCommitToBeReady(){return null},rendererPackageName:fI.name,rendererVersion:fI.version});import $L from"widest-line";import OL from"indent-string";import Vo from"yoga-layout";import bf from"yoga-layout";var AL=i(e=>e.getComputedWidth()-e.getComputedPadding(bf.EDGE_LEFT)-e.getComputedPadding(bf.EDGE_RIGHT)-e.getComputedBorder(bf.EDGE_LEFT)-e.getComputedBorder(bf.EDGE_RIGHT),"getMaxWidth"),mI=AL;import _L from"cli-boxes";import Rf from"chalk";var LL=i((e,t,n,r)=>{if(n.style.borderStyle){let o=n.yogaNode.getComputedWidth(),s=n.yogaNode.getComputedHeight(),a=typeof n.style.borderStyle=="string"?_L[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,m=n.style.borderBottomDimColor??n.style.borderDimColor,h=n.style.borderLeftDimColor??n.style.borderDimColor,S=n.style.borderRightDimColor??n.style.borderDimColor,v=n.style.borderTop!==!1,T=n.style.borderBottom!==!1,w=n.style.borderLeft!==!1,b=n.style.borderRight!==!1,M=o-(w?1:0)-(b?1:0),O=v?mr((w?a.topLeft:"")+a.top.repeat(M)+(b?a.topRight:""),c,"foreground"):void 0;v&&p&&(O=Rf.dim(O));let k=s;v&&(k-=1),T&&(k-=1);let P=(mr(a.left,d,"foreground")+`
|
|
12
|
+
`).repeat(k);h&&(P=Rf.dim(P));let q=(mr(a.right,f,"foreground")+`
|
|
13
|
+
`).repeat(k);S&&(q=Rf.dim(q));let V=T?mr((w?a.bottomLeft:"")+a.bottom.repeat(M)+(b?a.bottomRight:""),l,"foreground"):void 0;T&&m&&(V=Rf.dim(V));let K=v?1:0;O&&r.write(e,t,O,{transformers:[]}),w&&r.write(e,t+K,P,{transformers:[]}),b&&r.write(e+o-1,t+K,q,{transformers:[]}),V&&r.write(e,t+s-1,V,{transformers:[]})}},"renderBorder"),hI=LL;var PL=i((e,t,n,r)=>{if(!n.style.backgroundColor)return;let o=n.yogaNode.getComputedWidth(),s=n.yogaNode.getComputedHeight(),a=n.style.borderStyle&&n.style.borderLeft!==!1?1:0,c=n.style.borderStyle&&n.style.borderRight!==!1?1:0,l=n.style.borderStyle&&n.style.borderTop!==!1?1:0,d=n.style.borderStyle&&n.style.borderBottom!==!1?1:0,f=o-a-c,p=s-l-d;if(!(f>0&&p>0))return;let m=mr(" ".repeat(f),n.style.backgroundColor,"background");for(let h=0;h<p;h++)r.write(e+a,t+l+h,m,{transformers:[]})},"renderBackground"),gI=PL;function kf(e){let{rawScrollTop:t,contentHeight:n,viewportHeight:r,previousScrollHeight:o,stickyScroll:s,clampMin:a,clampMax:c,virtualScrollWindowed:l,inWindowScrollTop:d,previousAppliedScrollTop:f,regionTop:p}=e,m=Math.max(0,n-r),h=Math.max(0,Math.min(Math.floor(t),m)),v=s&&n>=o?m:h,T=a!==void 0||c!==void 0?Math.max(a??0,Math.min(v,Math.min(m,c??m))):v,w=l&&d!==void 0,b=Math.max(0,Math.floor(d??0)),M=l?w?b:0:T,O=w?M:T,k=null;if(f!==void 0&&f!==O&&r>0){let P=p+r-1;P>=p&&(k={top:p,bottom:P,delta:O-f})}return{scrollHeight:n,viewportTop:T,appliedScrollTop:O,scrollTop:T,scrollOffsetY:M,scrollHint:k}}i(kf,"computeScrollState");var DL=i((e,t)=>{let n=e.childNodes[0]?.yogaNode;if(n){let r=n.getComputedLeft(),o=n.getComputedTop();t=`
|
|
14
|
+
`.repeat(o)+OL(t,r)}return t},"applyPaddingToText"),Ef=i((e,t={})=>{if(t.skipStaticElements&&e.internal_static||e.yogaNode?.getDisplay()===Vo.DISPLAY_NONE)return"";let n="";if(e.nodeName==="ink-text")n=il(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=>Ef(s,{parentRole:e.internal_accessibility?.role,skipStaticElements:t.skipStaticElements})).filter(Boolean).join(r)}if(e.internal_accessibility){let{role:r,state:o}=e.internal_accessibility;if(o){let a=Object.keys(o).filter(c=>o[c]).join(", ");a&&(n=`(${a}) ${n}`)}r&&r!==t.parentRole&&(n=`${r}: ${n}`)}return n},"renderNodeToScreenReaderOutput"),Xh=null,qh=null;function yI(){Xh=null,qh=null}i(yI,"resetScrollHint");function xI(){return Xh}i(xI,"getScrollHint");function SI(){return qh}i(SI,"getScrollRepaint");var wI=i((e,t,n)=>{let{offsetX:r=0,offsetY:o=0,transformers:s=[],skipStaticElements:a}=n;if(a&&e.internal_static)return;let{yogaNode:c}=e;if(c){if(c.getDisplay()===Vo.DISPLAY_NONE)return;let l=r+c.getComputedLeft(),d=o+c.getComputedTop();e.internal_cursorAnchor&&(t.cursorPosition={x:l,y:d});let f=s;if(typeof e.internal_transform=="function"&&(f=[e.internal_transform,...s]),e.nodeName==="ink-text"){let h=il(e);if(h.length>0){let S=$L(h),v=mI(c);if(S>v){let T=e.style.textWrap??"wrap";h=wf(h,v,T)}h=DL(e,h),t.write(l,d,h,{transformers:f})}return}let p=!1,m=0;if(e.nodeName==="ink-box"){gI(l,d,e,t),hI(l,d,e,t);let h=e.style.overflowX??e.style.overflow,S=e.style.overflowY??e.style.overflow,v=h==="hidden"||h==="scroll",T=S==="hidden"||S==="scroll";if(S==="scroll"){let w=c.getComputedBorder(Vo.EDGE_TOP),b=c.getComputedBorder(Vo.EDGE_BOTTOM),M=Math.max(0,c.getComputedHeight()-w-b),O=e.attributes?.virtualScrollWindowed===!0,k=e.childNodes[0],P=Math.max(0,Math.floor(O?e.attributes?.scrollHeight??0:k?.yogaNode?.getComputedHeight()??e.attributes?.scrollHeight??0)),q=typeof e.scrollHeight=="number"?e.scrollHeight:P,V=kf({rawScrollTop:e.scrollTop??e.attributes?.scrollTop??0,contentHeight:P,viewportHeight:M,previousScrollHeight:q,stickyScroll:e.stickyScroll??!!e.attributes?.stickyScroll,clampMin:e.attributes?.scrollClampMin,clampMax:e.attributes?.scrollClampMax,virtualScrollWindowed:O,inWindowScrollTop:e.attributes?.inWindowScrollTop,previousAppliedScrollTop:e.appliedScrollTop,regionTop:d+w});e.scrollHeight=V.scrollHeight,e.scrollViewportHeight=M,e.scrollViewportTop=V.viewportTop,e.appliedScrollTop=V.appliedScrollTop,V.scrollHint&&(Xh=V.scrollHint,Math.trunc(Number(e.attributes?.pendingScrollDelta??0))!==0&&(qh={top:V.scrollHint.top,bottom:V.scrollHint.bottom})),e.attributes&&e.attributes.pendingScrollDelta&&(e.attributes.pendingScrollDelta=0),e.scrollTop=V.scrollTop,m=V.scrollOffsetY}if(v||T){let w=v?l+c.getComputedBorder(Vo.EDGE_LEFT):void 0,b=v?l+c.getComputedWidth()-c.getComputedBorder(Vo.EDGE_RIGHT):void 0,M=T?d+c.getComputedBorder(Vo.EDGE_TOP):void 0,O=T?d+c.getComputedHeight()-c.getComputedBorder(Vo.EDGE_BOTTOM):void 0;t.clip({x1:w,x2:b,y1:M,y2:O}),p=!0}}if(e.nodeName==="ink-root"||e.nodeName==="ink-box"){for(let h of e.childNodes)wI(h,t,{offsetX:l,offsetY:d-m,transformers:f,skipStaticElements:a});p&&t.unclip()}}},"renderNodeToOutput"),Qh=wI;import NL from"slice-ansi";import BL from"string-width";import{styledCharsFromTokens as WL,styledCharsToString as HL,tokenize as FL}from"@alcalzone/ansi-tokenize";var Jh=class{static{i(this,"OutputCaches")}widths=new Map;blockWidths=new Map;styledChars=new Map;getStyledChars(t){let n=this.styledChars.get(t);return n===void 0&&(n=WL(FL(t)),this.styledChars.set(t,n)),n}getStringWidth(t){let n=this.widths.get(t);return n===void 0&&(n=BL(t),this.widths.set(t,n)),n}getWidestLine(t){let n=this.blockWidths.get(t);if(n===void 0){let r=0;for(let o of t.split(`
|
|
16
|
+
`))r=Math.max(r,this.getStringWidth(o));n=r,this.blockWidths.set(t,n)}return n}},pa=class{static{i(this,"Output")}width;height;operations=[];caches=new Jh;constructor(t){let{width:n,height:r}=t;this.width=n,this.height=r}write(t,n,r,o){let{transformers:s}=o;r&&this.operations.push({type:"write",x:t,y:n,text:r,transformers:s})}clip(t){this.operations.push({type:"clip",clip:t})}unclip(){this.operations.push({type:"unclip"})}getGrid(){let t=[];for(let r=0;r<this.height;r++){let o=[];for(let s=0;s<this.width;s++)o.push({type:"char",value:" ",fullWidth:!1,styles:[]});t.push(o)}let n=[];for(let r of this.operations)if(r.type==="clip"&&n.push(r.clip),r.type==="unclip"&&n.pop(),r.type==="write"){let{text:o,transformers:s}=r,{x:a,y:c}=r,l=o.split(`
|
|
17
|
+
`),d=n.at(-1);if(d){let p=typeof d?.x1=="number"&&typeof d?.x2=="number",m=typeof d?.y1=="number"&&typeof d?.y2=="number";if(p){let h=this.caches.getWidestLine(o);if(a+h<d.x1||a>d.x2)continue}if(m){let h=l.length;if(c+h<d.y1||c>d.y2)continue}if(p&&(l=l.map(h=>{let S=a<d.x1?d.x1-a:0,v=this.caches.getStringWidth(h),T=a+v>d.x2?d.x2-a:v;return NL(h,S,T)}),a<d.x1&&(a=d.x1)),m){let h=c<d.y1?d.y1-c:0,S=l.length,v=c+S>d.y2?d.y2-c:S;l=l.slice(h,v),c<d.y1&&(c=d.y1)}}let f=0;for(let[p,m]of l.entries()){let h=t[c+f];if(!h)continue;for(let T of s)m=T(m,p);let S=this.caches.getStyledChars(m),v=a;for(let T of S){h[v]=T;let w=Math.max(1,this.caches.getStringWidth(T.value));if(w>1)for(let b=1;b<w;b++)h[v+b]={type:"char",value:"",fullWidth:!1,styles:T.styles};v+=w}f++}}return t}get(){let t=this.getGrid();return{output:t.map(r=>{let o=r.filter(s=>s!==void 0);return HL(o).trimEnd()}).join(`
|
|
18
|
+
`),height:t.length}}};var $r={Single:0,Wide:1,SpacerTail:2},Pr={char:" ",width:$r.Single,style:"",hyperlink:void 0};function TI(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(Pr);return{width:e,height:t,cells:n}}i(TI,"createScreen");function Bi(e,t,n){if(!(t<0||n<0||t>=e.width||n>=e.height))return e.cells[n*e.width+t]}i(Bi,"cellAt");function CI(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(Pr),r=!1;return{width:e,height:t,setCellAt(o,s,a){if(r)throw new Error("ScreenBuilder.setCellAt called after build()");if(o<0||s<0||o>=e||s>=t)throw new RangeError(`ScreenBuilder.setCellAt out of bounds: (${o}, ${s}) on ${e}x${t}`);n[s*e+o]=a},build(){if(r)throw new Error("ScreenBuilder.build called twice");return r=!0,{width:e,height:t,cells:n}}}}i(CI,"createScreenBuilder");function*Mf(e,t){let n=Math.max(e.width,t.width),r=Math.max(e.height,t.height);for(let o=0;o<r;o++)for(let s=0;s<n;s++){let a=Bi(e,s,o),c=Bi(t,s,o);jL(a,c)||(yield{x:s,y:o,prev:a,next:c})}}i(Mf,"diffEach");function II(e,t,n,r){if(r===0||e.height===0)return e;let o=Math.max(0,t),s=Math.min(e.height-1,n);if(o>s)return e;let a=e.width,c=e.cells.slice(),l=s-o+1,d=i(f=>{for(let p=0;p<a;p++)c[f*a+p]=Pr},"blankRow");if(Math.abs(r)>=l){for(let f=o;f<=s;f++)d(f);return{...e,cells:c}}if(r>0){for(let f=o;f<=s-r;f++)for(let p=0;p<a;p++)c[f*a+p]=e.cells[(f+r)*a+p]??Pr;for(let f=s-r+1;f<=s;f++)d(f)}else{let f=-r;for(let p=s;p>=o+f;p--)for(let m=0;m<a;m++)c[p*a+m]=e.cells[(p-f)*a+m]??Pr;for(let p=o;p<=o+f-1;p++)d(p)}return{...e,cells:c}}i(II,"shiftRowsRegion");function jL(e,t){return e===t?!0:e===void 0||t===void 0?!1:e.char===t.char&&e.width===t.width&&e.style===t.style&&e.hyperlink===t.hyperlink}i(jL,"cellsEqual");var Zh="\x1B]8;";function UL(e){return e.endsWith("\x07")?e.slice(0,-1):e}i(UL,"stripOsc8Terminator");function GL(e){if(!e.startsWith(Zh))return;let t=e.slice(Zh.length),n=t.indexOf(";");if(n<0)return;let r=t.slice(n+1),o=UL(r);return o.length>0?o:void 0}i(GL,"parseOsc8Url");function VL(e){if(e.value==="")return{char:"",width:$r.SpacerTail,style:"",hyperlink:void 0};let t="",n;for(let r of e.styles)if(r.code.startsWith(Zh)){let o=GL(r.code);o!==void 0&&(n=o)}else t+=r.code;return{char:e.value,width:e.fullWidth?$r.Wide:$r.Single,style:t,hyperlink:n}}i(VL,"styledCharToCell");function Af(e){let t=e.getGrid(),n=e.width,r=e.height,o=CI(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=VL(f);p.char===Pr.char&&p.width===Pr.width&&p.style===Pr.style&&p.hyperlink===Pr.hyperlink||o.setCellAt(d,a,p)}}return o.build()}i(Af,"outputToScreen");var KL=i((e,t,n)=>{if(e.yogaNode){if(t){let m=Ef(e,{skipStaticElements:!0}),h=m===""?0:m.split(`
|
|
19
|
+
`).length,S="";return e.staticNode&&(S=Ef(e.staticNode,{skipStaticElements:!1})),{output:m,outputHeight:h,staticOutput:S?`${S}
|
|
20
|
+
`:"",frame:void 0}}let r=new pa({width:e.yogaNode.getComputedWidth(),height:e.yogaNode.getComputedHeight()});yI(),Qh(e,r,{skipStaticElements:!0});let o;e.staticNode?.yogaNode&&(o=new pa({width:e.staticNode.yogaNode.getComputedWidth(),height:e.staticNode.yogaNode.getComputedHeight()}),Qh(e.staticNode,o,{skipStaticElements:!1}));let{output:s,height:a}=r.get(),c=Af(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:xI(),scrollRepaint:SI(),...f?{inputCursor:{x:f.x,y:f.y}}:{}};return{output:s,outputHeight:a,staticOutput:o?`${o.get().output}
|
|
21
|
+
`:"",frame:p}}return{output:"",outputHeight:0,staticOutput:"",frame:void 0}},"renderer"),eg=KL;function Pn(...e){if(e.length===0)return"\x1B[";if(e.length===1)return`\x1B[${e[0]}`;let t=e.slice(0,-1),n=e[e.length-1];return`\x1B[${t.join(";")}${n}`}i(Pn,"csi");function vI(e=1){return e===0?"":Pn(e,"A")}i(vI,"cursorUp");function zL(e=1){return e===0?"":Pn(e,"B")}i(zL,"cursorDown");function YL(e=1){return e===0?"":Pn(e,"C")}i(YL,"cursorForward");function XL(e=1){return e===0?"":Pn(e,"D")}i(XL,"cursorBack");function bI(e){return Pn(e,"G")}i(bI,"cursorTo");var qL=Pn("G"),RI=Pn("H");function kI(e,t){let n="";return e<0?n+=XL(-e):e>0&&(n+=YL(e)),t<0?n+=vI(-t):t>0&&(n+=zL(t)),n}i(kI,"cursorMove");var tg=Pn(2,"K");function EI(e){if(e<=0)return"";let t="";for(let n=0;n<e;n++)t+=tg,n<e-1&&(t+=vI(1));return t+=qL,t}i(EI,"eraseLines");var MI=Pn("r"),AI="\x1B7",_I="\x1B8";function LI(e,t){return Pn(e,t,"r")}i(LI,"setScrollRegion");function PI(e=1){return Pn(e,"S")}i(PI,"scrollUp");function $I(e=1){return Pn(e,"T")}i($I,"scrollDown");var cl=Pn(0,"m");function OI(e){return`\x1B]${e.join(";")}\x07`}i(OI,"osc");function QL(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return(t>>>0).toString(36)}i(QL,"osc8Id");function ll(e,t){if(!e)return ma;let n={id:QL(e),...t??{}},r=Object.entries(n).map(([o,s])=>`${o}=${s}`).join(":");return OI(["8",r,e])}i(ll,"link");var ma=OI(["8","",""]);function ng(e){let{screen:t}=e;if(t.width===0||t.height===0)return[];let n=[],r="",o;for(let s=0;s<t.height;s++){let a="";for(let c=0;c<t.width;c++){let l=Bi(t,c,s);!l||l.width===$r.SpacerTail||(l.hyperlink!==o&&(o!==void 0&&(a+=ma),l.hyperlink!==void 0&&(a+=ll(l.hyperlink)),o=l.hyperlink),l.style!==r&&(r!==""&&(a+=cl),l.style!==""&&(a+=l.style),r=l.style),a+=l.char)}o!==void 0&&(a+=ma,o=void 0),r!==""&&(a+=cl,r=""),n.push(a.trimEnd())}return[{type:"stdout",content:n.join(`
|
|
22
|
+
`)}]}i(ng,"renderFullFrame");var JL=Object.freeze([]),ZL=Object.freeze([]);function Wi(e,t){if(e===t)return{patches:JL,current:e};let n=[];return e!==""&&n.push({type:"stdout",content:cl}),t!==""&&n.push({type:"stdout",content:t}),{patches:n,current:t}}i(Wi,"transitionStyle");function dl(e,t){let n=Wi(e,t),r="";for(let o of n.patches)o.type==="stdout"&&(r+=o.content);return{str:r,current:n.current}}i(dl,"transitionStyleStr");function fo(e,t){if(e===t)return{patches:ZL,current:e};let n=[];return e!==void 0&&n.push({type:"stdout",content:ma}),t!==void 0&&n.push({type:"stdout",content:ll(t)}),{patches:n,current:t}}i(fo,"transitionHyperlink");function DI(e){let t=e.codePointAt(0);if(t===void 0)return!1;if(t>=129648&&t<=129791||t>=129792&&t<=130047)return!0;if(e.length>=2){for(let n=0;n<e.length;n++)if(e.charCodeAt(n)===65039)return!0}return!1}i(DI,"needsWidthCompensation");var Hi=class{static{i(this,"VirtualScreen")}viewportWidth;cursor;diff;_cursorMut;_diffMut=[];constructor(t,n){this.viewportWidth=n,this._cursorMut={x:t.x,y:t.y},this.cursor=this._cursorMut,this.diff=this._diffMut}txn(t){let[n,r]=t(this.cursor);for(let o of n)this._diffMut.push(o);this._cursorMut.x+=r.dx,this._cursorMut.y+=r.dy}},po={type:"carriageReturn"},ul={type:"stdout",content:`
|
|
23
|
+
`};function fl(e,t,n){let r=t.width===$r.Wide?2:1,o=e.viewportWidth,s=!1;return e.txn(a=>{let c=a.x;if(r===2&&c<o){let f=t.char.length>2?o:o+1;if(c+2>=f)return[[],{dx:0,dy:0}]}let l=[];n.length>0&&l.push({type:"stdout",content:n});let d=r===2&&DI(t.char);return d&&c+1<o&&(l.push({type:"cursorTo",col:c+2}),l.push({type:"stdout",content:" "}),l.push({type:"cursorTo",col:c+1})),l.push({type:"stdout",content:t.char}),d&&l.push({type:"cursorTo",col:c+r+1}),s=!0,c>=o?[l,{dx:r-c,dy:1}]:[l,{dx:r,dy:0}]}),s}i(fl,"writeCellWithStyleStr");function Fi(e,t,n){e.txn(r=>{let o=t-r.x,s=n-r.y;return r.x>=e.viewportWidth?[[po,{type:"cursorMove",x:t,y:s}],{dx:o,dy:s}]:s!==0?[[po,{type:"cursorMove",x:t,y:s}],{dx:o,dy:s}]:[[{type:"cursorMove",x:o,y:s}],{dx:o,dy:s}]})}i(Fi,"moveCursorTo");function pl(e,t,n,r,o=!1){let s="",a;for(let c=n;c<r;c++){if(e.cursor.y<c){let p=c-e.cursor.y;e.txn(m=>{let h=new Array(1+p);h[0]=po;for(let S=0;S<p;S++)h[1+S]=ul;return[h,{dx:-m.x,dy:p}]})}for(let p=0;p<t.screen.width;p++){let m=Bi(t.screen,p,c);if(!m||m.width===$r.SpacerTail||m.char===" "&&m.style===""&&m.hyperlink===void 0)continue;Fi(e,p,c);let h=fo(a,m.hyperlink);for(let v of h.patches)e.txn(()=>[[v],{dx:0,dy:0}]);a=h.current;let S=dl(s,m.style);fl(e,m,S.str)&&(s=S.current)}let l=Wi(s,"");for(let p of l.patches)e.txn(()=>[[p],{dx:0,dy:0}]);s=l.current;let d=fo(a,void 0);for(let p of d.patches)e.txn(()=>[[p],{dx:0,dy:0}]);a=d.current;let f=c===r-1&&t.screen.height<=t.viewport.height&&(c+1>=t.viewport.height||o);e.txn(p=>f?[[po],{dx:-p.x,dy:0}]:[[po,ul],{dx:-p.x,dy:1}])}if(s!==""||a!==void 0){let c=Wi(s,"");for(let d of c.patches)e.txn(()=>[[d],{dx:0,dy:0}]);let l=fo(a,void 0);for(let d of l.patches)e.txn(()=>[[d],{dx:0,dy:0}])}}i(pl,"renderFrameSlice");function rg(e,t,n,r){let o=Math.max(0,Math.floor(n)),s=Math.min(t.screen.height-1,t.viewport.height-1,Math.floor(r));for(let a=o;a<=s;a++)eP(e,t,a)}i(rg,"repaintFrameRows");function eP(e,t,n){let r="",o;Fi(e,0,n),e.txn(()=>[[{type:"stdout",content:ma+cl},{type:"eraseLine"}],{dx:0,dy:0}]);for(let s=0;s<t.screen.width;s++){let a=Bi(t.screen,s,n);if(!a||a.width===$r.SpacerTail||a.char===" "&&a.style===""&&a.hyperlink===void 0)continue;Fi(e,s,n);let c=fo(o,a.hyperlink);for(let d of c.patches)e.txn(()=>[[d],{dx:0,dy:0}]);o=c.current;let l=dl(r,a.style);fl(e,a,l.str)&&(r=l.current)}for(let s of Wi(r,"").patches)e.txn(()=>[[s],{dx:0,dy:0}]);for(let s of fo(o,void 0).patches)e.txn(()=>[[s],{dx:0,dy:0}])}i(eP,"repaintFrameRow");function og(e,t){let n="";for(let r=0;r<e.width;r++){let o=Bi(e,r,t);n+=o?.char??" "}return n.trimEnd()}i(og,"readLine");function ha(e,t,n=!1){let r=new Hi({x:0,y:0},e.viewport.width);pl(r,e,0,e.screen.height,n);let o=[{type:"clearTerminal",reason:t}];for(let s of r.diff)o.push(s);return o}i(ha,"fullResetSequence_CAUSES_FLICKER");function _f(e,t){let n=e.cursor.y>=e.screen.height,r=t.screen.height>e.screen.height,o=t.screen.height<e.screen.height,s=n&&e.screen.height>=e.viewport.height,a=t.screen.height<=e.viewport.height,c=s?1:0;return{viewportY:r?Math.max(0,e.screen.height-e.viewport.height+c):Math.max(e.screen.height,t.screen.height)-t.viewport.height+c,cursorAtBottom:n,growing:r,shrinking:o,prevHadScrollback:s,nextFitsViewport:a}}i(_f,"computeViewportState");function NI(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=_f(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 Mf(e.screen,t.screen))if(a.y<s)return{reset:!0,reason:"offscreen",trigger:{y:a.y,prevLine:n(e.screen,a.y),nextLine:n(t.screen,a.y)}}}return r.shrinking&&e.screen.height-t.screen.height>e.viewport.height?{reset:!0,reason:"offscreen"}:{reset:!1}}i(NI,"shouldFullReset");function BI(e,t,n){return!!(t&&t.width===2||e&&e.width===2&&!t||t&&n&&!e)}i(BI,"shouldSkipDiff");var Lf=class{static{i(this,"LogUpdate")}options;constructor(t){this.options=t}render(t,n,r={}){if(!this.options.isTTY)return ng(n);let o=r.inlineBottomAnchored??!1,s=WI(t,o),a=WI(n,o);if(r.altScreen===!0&&t.screen.height===0&&a.screen.height>0)return ha(a,"clear",o);let c=NI(s,a,og);if(c.reset)return ha(a,c.reason,o);if(a.scrollRepaint&&r.altScreen===!0)return tP(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:II(s.screen,l.top,l.bottom,l.delta)};return[d,...HI(f,a,o)]}return HI(s,a,o)}reset(){}};function ig(e,t){for(let n of t)e.txn(()=>[[n],{dx:0,dy:0}])}i(ig,"emitPatches");function sg(e,t,n){if(t!==""){let r=Wi(t,"");ig(e,r.patches)}if(n!==void 0){let r=fo(n,void 0);ig(e,r.patches)}return{style:"",hyperlink:void 0}}i(sg,"resetStyleAndHyperlink");function tP(e,t,n){let r=_f(e,t),o=new Hi(e.cursor,t.viewport.width);r.shrinking&&FI(o,e,t);let s=Math.max(0,Math.floor(n.top)),a=Math.min(t.screen.height-1,t.viewport.height-1,Math.floor(n.bottom)),c=a>=s?{top:s,bottom:a}:void 0;c&&rg(o,t,c.top,c.bottom);let l=jI(o,e,t,{...r,skipRows:c});return l.needsFullReset?ha(t,"offscreen"):(sg(o,l.currentStyle,l.currentHyperlink),r.growing&&pl(o,t,e.screen.height,t.screen.height),UI(o,t),o.diff)}i(tP,"renderScrollRepaint");function FI(e,t,n){let r=t.screen.height-n.screen.height;e.txn(o=>[[{type:"clear",count:r},{type:"cursorMove",x:0,y:-1}],{dx:-o.x,dy:-r}])}i(FI,"applyShrink");function jI(e,t,n,r){let o="",s,a=!1;for(let c of Mf(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 m=!!(p&&p.char===" "&&p.style===""&&p.hyperlink===void 0);if(!BI(f,p,m)){if(d<r.viewportY){a=!0;break}if(Fi(e,l,d),p){let h=fo(s,p.hyperlink);ig(e,h.patches),s=h.current;let S=dl(o,p.style);fl(e,p,S.str)&&(o=S.current)}else if(f){let h=sg(e,o,s);o=h.style,s=h.hyperlink,e.txn(()=>[[{type:"stdout",content:" "}],{dx:1,dy:0}])}}}return{currentStyle:o,currentHyperlink:s,needsFullReset:a}}i(jI,"diffPass");function WI(e,t){let n=t?Math.max(0,Math.min(e.viewport.height-1,e.screen.height-1)):Math.max(0,e.viewport.height-1);return e.cursor.y<=n?e:{...e,cursor:{...e.cursor,y:n}}}i(WI,"clampRestingCursor");function UI(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]=po;for(let a=0;a<r;a++)s[1+a]=ul;return[s,{dx:-n.x,dy:r}]}let o=t.cursor.y-n.y;return o!==0||n.x!==t.cursor.x?[[po,{type:"cursorMove",x:t.cursor.x,y:o}],{dx:t.cursor.x-n.x,dy:o}]:[[],{dx:0,dy:0}]}):Fi(e,t.cursor.x,t.cursor.y)}i(UI,"restoreCursor");function HI(e,t,n=!1){let r=_f(e,t),o=new Hi(e.cursor,t.viewport.width);r.shrinking&&FI(o,e,t);let s=jI(o,e,t,r);return s.needsFullReset?ha(t,"offscreen",n):(sg(o,s.currentStyle,s.currentHyperlink),r.growing&&pl(o,t,e.screen.height,t.screen.height,n),UI(o,t),o.diff)}i(HI,"renderIncremental");var nP="\x1B[?25l",rP="\x1B[?25h",oP=`\x1B[2J${RI}`,iP="\x1B[?2026h",sP="\x1B[?2026l";function aP(e){switch(e.type){case"stdout":return e.content;case"carriageReturn":return"\r";case"cursorHide":return nP;case"cursorShow":return rP;case"cursorMove":return kI(e.x,e.y);case"cursorTo":return bI(e.col);case"eraseLine":return tg;case"clear":return EI(e.count);case"clearTerminal":return oP;case"hyperlink":return ll(e.uri);case"scrollRegion":{let t=e.top+1,n=e.bottom+1,r=Math.abs(e.delta),o=e.delta>0?PI(r):$I(r);return AI+LI(t,n)+o+MI+_I}}}i(aP,"patchToBytes");function Pf(e,t,n=!1){let r="",o=!1;for(let s of t)s.type==="clearTerminal"&&(o=!0),r+=aP(s);if(r.length!==0){if(n&&o){e.write(iP+r+sP);return}e.write(r)}}i(Pf,"applyDiff");function GI(e,t,n={}){if(t===void 0)return!1;let r=e.cellLogUpdate.render(e.prevFrame,t,n);return Pf(e.stdout,r,n.synchronized??!1),e.prevFrame=t,!0}i(GI,"applyCellFrame");function ml(e,t){return{screen:TI(0,0),viewport:{width:t,height:e},cursor:{x:0,y:0,visible:!0}}}i(ml,"emptyFrame");import cP from"is-in-ci";var mo="\x1B[?2026h",Or="\x1B[?2026l";function ho(e){return"isTTY"in e&&e.isTTY===!0&&!cP}i(ho,"shouldSynchronize");var lP=new WeakMap,VI=lP;import{EventEmitter as MP}from"node:events";import AP from"node:process";import ji,{useState as lg,useRef as ga,useCallback as Et,useMemo as ya,useEffect as lv}from"react";import _P from"cli-cursor";var uP=i(e=>e>=48&&e<=63,"isCsiParameterByte"),dP=i(e=>e>=32&&e<=47,"isCsiIntermediateByte"),zI=i(e=>e>=64&&e<=126,"isCsiFinalByte");function fP(e,t,n){let r=t+n+1,o=r;for(;o<e.length;o+=1){let s=e.codePointAt(o);if(s===void 0)return"pending";if(!(uP(s)||dP(s))&&!(s===91&&o===r))return zI(s)?{sequence:e.slice(t,o+1),nextIndex:o+1}:void 0}return"pending"}i(fP,"parseCsiSequence");function pP(e,t,n){let r=t+n+2;if(r>e.length)return"pending";let o=e.codePointAt(r-1);if(!(o===void 0||!zI(o)))return{sequence:e.slice(t,r),nextIndex:r}}i(pP,"parseSs3Sequence");function KI(e,t,n){let r=e[t+n];if(r===void 0)return"pending";if(r==="[")return fP(e,t,n);if(r==="O")return pP(e,t,n)}i(KI,"parseControlSequence");function mP(e,t){let n=e.codePointAt(t+1),r=n!==void 0&&n>65535?2:1,o=t+1+r;return{sequence:e.slice(t,o),nextIndex:o}}i(mP,"parseEscapedCodePoint");function hP(e){let t=[],n=0,r=i(o=>({events:t,pending:e.slice(o)}),"pendingFrom");for(;n<e.length;){let o=e.indexOf("\x1B",n);if(o===-1)return t.push(e.slice(n)),{events:t,pending:""};if(o>n&&t.push(e.slice(n,o)),o===e.length-1)return r(o);let s=KI(e,o,1);if(s==="pending")return r(o);if(s){t.push(s.sequence),n=s.nextIndex;continue}if(e[o+1]==="\x1B"){if(o+2>=e.length)return r(o);let l=KI(e,o,2);if(l==="pending")return r(o);if(l){t.push(l.sequence),n=l.nextIndex;continue}t.push(e.slice(o,o+2)),n=o+2;continue}let c=mP(e,o);t.push(c.sequence),n=c.nextIndex}return{events:t,pending:""}}i(hP,"parseKeypresses");function $f(){let e="";return{push(t){let n=hP(e+t);return e=n.pending,n.events},hasPendingEscape(){return e.startsWith("\x1B")},flushPendingEscape(){if(!e.startsWith("\x1B"))return;let t=e;return e="",t},reset(){e=""}}}i($f,"createInputParser");import{createContext as gP}from"react";var YI=gP({exit(){}});YI.displayName="InternalAppContext";var XI=YI;import{EventEmitter as yP}from"node:events";import{createContext as xP}from"react";var SP={isTTY:!1,isRaw:!1,on(){},off(){},pause(){},resume(){},setRawMode(){}},qI=xP({stdin:SP,internal_eventEmitter:new yP,setRawMode(){},isRawModeSupported:!1,internal_exitOnCtrlC:!0});qI.displayName="InternalStdinContext";var QI=qI;import{createContext as wP}from"react";var TP={isTTY:!1,columns:80,rows:24,write(){return!0},on(){},off(){}},JI=wP({stdout:TP,write(){}});JI.displayName="InternalStdoutContext";var ZI=JI;import{createContext as CP}from"react";var IP={isTTY:!1,write(){return!0},on(){},off(){}},ev=CP({stderr:IP,write(){}});ev.displayName="InternalStderrContext";var tv=ev;import{createContext as vP}from"react";var nv=vP({activeId:void 0,add(){},remove(){},activate(){},deactivate(){},enableFocus(){},disableFocus(){},focusNext(){},focusPrevious(){},focus(){}});nv.displayName="InternalFocusContext";var rv=nv;import{createContext as bP}from"react";var ov=bP({setCursorPosition(){}});ov.displayName="InternalCursorContext";var iv=ov;import kP,{PureComponent as EP}from"react";import*as Of from"node:fs";import{cwd as cv}from"node:process";import $t from"react";import sv from"stack-utils";import RP from"code-excerpt";var ag=i(e=>e?.replace(`file://${cv()}/`,""),"cleanupPath"),av=new sv({cwd:cv(),internals:sv.nodeInternals()});function cg({error:e}){let t=e.stack?e.stack.split(`
|
|
24
|
+
`).slice(1):void 0,n=t?av.parseLine(t[0]):void 0,r=ag(n?.file),o,s=0;if(r&&n?.line&&Of.existsSync(r)){let a=Of.readFileSync(r,"utf8");if(o=RP(a,n.line),o)for(let{line:c}of o)s=Math.max(s,String(c).length)}return $t.createElement(Yn,{flexDirection:"column",padding:1},$t.createElement(Yn,null,$t.createElement(wn,{backgroundColor:"red",color:"white"}," ","ERROR"," "),$t.createElement(wn,null," ",e.message)),n&&r&&$t.createElement(Yn,{marginTop:1},$t.createElement(wn,{dimColor:!0},r,":",n.line,":",n.column)),n&&o&&$t.createElement(Yn,{marginTop:1,flexDirection:"column"},o.map(({line:a,value:c})=>$t.createElement(Yn,{key:a},$t.createElement(Yn,{width:s+1},$t.createElement(wn,{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," "),":")),$t.createElement(wn,{key:a,backgroundColor:a===n.line?"red":void 0,color:a===n.line?"white":void 0}," "+c)))),e.stack&&$t.createElement(Yn,{marginTop:1,flexDirection:"column"},e.stack.split(`
|
|
25
|
+
`).slice(1).map(a=>{let c=av.parseLine(a);return c?$t.createElement(Yn,{key:a},$t.createElement(wn,{dimColor:!0},"- "),$t.createElement(wn,{dimColor:!0,bold:!0},c.function),$t.createElement(wn,{dimColor:!0,color:"gray","aria-label":`at ${ag(c.file)??""} line ${c.line} column ${c.column}`}," ","(",ag(c.file)??"",":",c.line,":",c.column,")")):$t.createElement(Yn,{key:a},$t.createElement(wn,{dimColor:!0},"- "),$t.createElement(wn,{dimColor:!0,bold:!0},a,"\\t"," "))})))}i(cg,"ErrorOverview");var hl=class extends EP{static{i(this,"ErrorBoundary")}static displayName="InternalErrorBoundary";static getDerivedStateFromError(t){return{error:t}}state={error:void 0};componentDidCatch(t){this.props.onError(t)}render(){return this.state.error?kP.createElement(cg,{error:this.state.error}):this.props.children}};var LP=" ",PP="\x1B[Z",$P="\x1B";function uv({children:e,stdin:t,stdout:n,stderr:r,writeToStdout:o,writeToStderr:s,exitOnCtrlC:a,onExit:c,setCursorPosition:l}){let[d,f]=lg(!0),[p,m]=lg(void 0),[,h]=lg([]),S=ga(0),v=ga(0),T=ga(new MP);T.current.setMaxListeners(1/0);let w=ga(void 0),b=ga($f()),M=ga(void 0),O=Et(()=>{M.current&&(clearImmediate(M.current),M.current=void 0)},[]),k=t.isTTY,P=Et(()=>{w.current&&(t.removeListener("readable",w.current),w.current=void 0)},[t]),q=Et(()=>{t.setRawMode(!1),P(),t.unref(),v.current=0,b.current.reset(),O()},[t,P,O]),V=Et(de=>{k&&v.current>0&&q(),c(de)},[k,q,c]),K=Et(de=>{if(de===""&&a){V();return}de===$P&&m(Ce=>Ce&&void 0)},[a,V]),fe=Et(de=>{K(de),T.current.emit("input",de)},[K]),ge=Et(()=>{O(),M.current=setImmediate(()=>{M.current=void 0;let de=b.current.flushPendingEscape();de&&fe(de)})},[O,fe]),Z=Et(()=>{O();let de;for(;(de=t.read())!==null;){let Ce=b.current.push(de);for(let F of Ce)fe(F)}b.current.hasPendingEscape()&&ge()},[t,fe,O,ge]),y=Et(de=>{if(!k)throw t===AP.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"),de){v.current===0&&(t.ref(),t.setRawMode(!0),w.current=Z,t.addListener("readable",Z)),v.current++;return}v.current!==0&&--v.current===0&&q()},[k,t,Z,q]),A=Et((de,Ce)=>{let F=de.findIndex(Ne=>Ne.id===Ce);for(let Ne=F+1;Ne<de.length;Ne++){let pt=de[Ne];if(pt?.isActive)return pt.id}},[]),Q=Et((de,Ce)=>{let F=de.findIndex(Ne=>Ne.id===Ce);for(let Ne=F-1;Ne>=0;Ne--){let pt=de[Ne];if(pt?.isActive)return pt.id}},[]),W=Et(()=>{h(de=>(m(Ce=>{let F=de.find(pt=>pt.isActive)?.id;return A(de,Ce)??F}),de))},[A]),ae=Et(()=>{h(de=>(m(Ce=>{let F=de.findLast(pt=>pt.isActive)?.id;return Q(de,Ce)??F}),de))},[Q]);lv(()=>{let de=i(F=>{!d||S.current===0||(F===LP&&W(),F===PP&&ae())},"handleTabNavigation");T.current.on("input",de);let Ce=T.current;return()=>{Ce.off("input",de)}},[d,W,ae]);let le=Et(()=>{f(!0)},[]),pe=Et(()=>{f(!1)},[]),Ee=Et(de=>{h(Ce=>(Ce.some(Ne=>Ne?.id===de)&&m(de),Ce))},[]),ue=Et((de,{autoFocus:Ce})=>{h(F=>(S.current=F.length+1,[...F,{id:de,isActive:!0}])),Ce&&m(F=>F??de)},[]),ye=Et(de=>{m(Ce=>Ce===de?void 0:Ce),h(Ce=>{let F=Ce.filter(Ne=>Ne.id!==de);return S.current=F.length,F})},[]),_e=Et(de=>{h(Ce=>Ce.map(F=>F.id!==de?F:{id:de,isActive:!0}))},[]),Y=Et(de=>{m(Ce=>Ce===de?void 0:Ce),h(Ce=>Ce.map(F=>F.id!==de?F:{id:de,isActive:!1}))},[]);lv(()=>()=>{_P.show(n),k&&v.current>0&&q()},[n,k,q]);let ne=ya(()=>({exit:V}),[V]),we=ya(()=>({stdin:t,setRawMode:y,isRawModeSupported:k,internal_exitOnCtrlC:a,internal_eventEmitter:T.current}),[t,y,k,a]),nt=ya(()=>({stdout:n,write:o}),[n,o]),xt=ya(()=>({stderr:r,write:s}),[r,s]),Ge=ya(()=>({setCursorPosition:l}),[l]),je=ya(()=>({activeId:p,add:ue,remove:ye,activate:_e,deactivate:Y,enableFocus:le,disableFocus:pe,focusNext:W,focusPrevious:ae,focus:Ee}),[p,ue,ye,_e,Y,le,pe,W,ae,Ee]);return ji.createElement(XI.Provider,{value:ne},ji.createElement(QI.Provider,{value:we},ji.createElement(ZI.Provider,{value:nt},ji.createElement(tv.Provider,{value:xt},ji.createElement(rv.Provider,{value:je},ji.createElement(iv.Provider,{value:Ge},ji.createElement(hl,{onError:V},e)))))))}i(uv,"App");uv.displayName="InternalApp";var dv=uv;var OP={disambiguateEscapeCodes:1,reportEventTypes:2,reportAlternateKeys:4,reportAllKeysAsEscapeCodes:8,reportAssociatedText:16};function fv(e){let t=0;for(let n of e)t|=OP[n];return t}i(fv,"resolveFlags");var go={shift:1,alt:2,ctrl:4,super:8,hyper:16,meta:32,capsLock:64,numLock:128};var ug=i((e,t)=>(t<0?Tn.cursorUp(-t):t>0?Tn.cursorDown(t):"")+(e<0?Tn.cursorBackward(-e):e>0?Tn.cursorForward(e):""),"cursorMoveSeq"),dg=i((e,t=!1)=>{let n=Math.max(0,e.screen.height-e.viewport.height),r=t?Math.max(0,Math.min(e.viewport.height-1,e.screen.height-1)):Math.max(0,e.viewport.height-1);return o=>({x:o.x,y:Math.min(Math.max(o.y-n,0),r)})},"toVisibleCursor"),Df=i(()=>{},"noop"),VP=27,KP=91,zP=63,YP=117,XP=48,qP=57,QP=i(e=>e>=XP&&e<=qP,"isDigitByte"),mv=i((e,t)=>{if(e[t]!==VP||e[t+1]!==KP||e[t+2]!==zP)return;let n=t+3,r=n;for(;n<e.length&&QP(e[n]);)n++;if(n!==r){if(n===e.length)return{state:"partial"};if(e[n]===YP)return{state:"complete",endIndex:n}}},"matchKittyQueryResponse"),JP=i(e=>{for(let t=0;t<e.length;t++)if(mv(e,t)?.state==="complete")return!0;return!1},"hasCompleteKittyQueryResponse"),ZP=i(e=>{let t=[],n=0;for(;n<e.length;){let r=mv(e,n);if(r?.state==="complete"){n=r.endIndex+1;continue}if(r?.state==="partial")break;t.push(e[n]),n++}return t},"stripKittyQueryResponsesAndTrailingPartial"),fg=i(e=>e instanceof Error||Object.prototype.toString.call(e)==="[object Error]","isErrorInput"),e$=class{static{i(this,"Ink")}isConcurrent;options;cursorPosition;isScreenReaderEnabled;isUnmounted;isUnmounting;lastOutput;lastOutputToRender;lastOutputHeight;lastTerminalWidth;container;rootNode;fullStaticOutput;exitPromise;exitResult;beforeExitHandler;restoreConsole;restoreStreamWriteGuard;rawStdoutWrite;rawStderrWrite;internalStreamWriteDepth=0;unsubscribeResize;throttledOnRender;hasPendingThrottledRender=!1;kittyProtocolEnabled=!1;cancelKittyDetection;altScreenActive=!1;shellMode;mouseTrackingActive=!1;shellTransitionPhase=void 0;cursorHidden=!1;constructor(t){NP(this),this.options=t,this.rawStdoutWrite=t.stdout.write.bind(t.stdout),this.rawStderrWrite=t.stderr.write.bind(t.stderr),this.rootNode=Tf("ink-root"),this.rootNode.onComputeLayout=this.calculateLayout,this.isScreenReaderEnabled=t.isScreenReaderEnabled??Ui.env.INK_SCREEN_READER==="true";let n=t.debug||this.isScreenReaderEnabled,r=t.maxFps??30,o=r>0?Math.max(1,Math.ceil(1e3/r)):0;if(n)this.rootNode.onRender=this.onRender,this.throttledOnRender=void 0;else{let a=DP(this.onRender,o,{leading:!0,trailing:!0});this.rootNode.onRender=()=>{this.hasPendingThrottledRender=!0,a()},this.throttledOnRender=a}this.rootNode.onImmediateRender=this.onRender,this.cellLogUpdate=new Lf({isTTY:!!t.stdout.isTTY}),this.prevFrame=ml(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?FP:HP;this.container=uo.createContainer(this.rootNode,s,null,!1,null,"id",()=>{},()=>{},()=>{},()=>{}),this.unsubscribeExit=BP(this.unmount,{alwaysLast:!1}),Sf()&&uo.injectIntoDevTools(),t.patchConsole&&this.patchConsole(),yo||(t.stdout.on("resize",this.resized),this.unsubscribeResize=()=>{t.stdout.off("resize",this.resized)}),this.initKittyKeyboard()}getTerminalWidth=i(()=>this.options.stdout.columns?this.options.stdout.columns:GP()?.columns??80,"getTerminalWidth");resized=i(()=>{let t=this.getTerminalWidth();if(t<this.lastTerminalWidth){this.returnCursorToRest();let n=this.altScreenActive?this.lastOutputHeight>0?Tn.eraseLines(this.lastOutputHeight):"":this.eraseInlineLiveBlock();n.length>0&&this.writeStdout(n),this.lastOutput="",this.lastOutputToRender="",this.cellLogUpdate.reset(),this.prevFrame=ml(this.options.stdout.rows??24,t)}this.calculateLayout(),this.onRender(),this.lastTerminalWidth=t},"resized");resolveExitPromise=i(()=>{},"resolveExitPromise");rejectExitPromise=i(()=>{},"rejectExitPromise");unsubscribeExit=i(()=>{},"unsubscribeExit");handleAppExit=i(t=>{if(!(this.isUnmounted||this.isUnmounting)){if(fg(t)){this.unmount(t);return}this.exitResult=t,this.unmount()}},"handleAppExit");setCursorPosition=i(t=>{if(t===void 0){this.cursorPosition=void 0;return}let n=this.getTerminalWidth(),r=this.options.stdout.rows??24;if(n<=0||r<=0){this.cursorPosition=void 0;return}let o=Math.max(0,Math.min(t.x|0,n-1)),s=Math.max(0,Math.min(t.y|0,r-1));this.cursorPosition={x:o,y:s}},"setCursorPosition");resetOutputTracking=i(()=>{this.lastOutput="",this.lastOutputToRender="",this.lastOutputHeight=0,this.cursorPosition=void 0,this.invalidateCellFrame()},"resetOutputTracking");usesVirtualShellOwnership=i((t={})=>t.altScreenActive??this.altScreenActive,"usesVirtualShellOwnership");beginShellTransition(t){this.shellTransitionPhase=t}setShellMode(t,n){let r=this.shellMode,o=this.mouseTrackingActive,s=this.usesVirtualShellOwnership(),a=n??!1;this.shellMode=t,this.mouseTrackingActive=a;let c=this.usesVirtualShellOwnership();(r!==t&&(s||c)||o!==a&&c)&&this.resetOutputTracking()}setAltScreenActive(t,n){let r=this.altScreenActive,o=this.mouseTrackingActive,s=this.usesVirtualShellOwnership(),a=n??!1;this.altScreenActive=t,this.mouseTrackingActive=a,this.shellTransitionPhase=void 0;let c=this.usesVirtualShellOwnership();(r!==t||o!==a&&(s||c))&&this.resetOutputTracking()}clearTextSelection(){}installExternalStreamWriteGuard(){if(this.options.debug||yo)return;let t=this.options.stdout,n=this.options.stderr,r=t.write,o=n.write,s=i((...c)=>{let l=this.rawStdoutWrite(...c);return this.internalStreamWriteDepth===0&&this.handleExternalStreamWrite(),l},"guardedStdoutWrite"),a=i((...c)=>{let l=this.rawStderrWrite(...c);return this.internalStreamWriteDepth===0&&this.handleExternalStreamWrite(),l},"guardedStderrWrite");t.write=s,n.write=a,this.restoreStreamWriteGuard=()=>{t.write===s&&(t.write=r),n.write===a&&(n.write=o)}}handleExternalStreamWrite(){this.isUnmounted||this.invalidateCellFrame()}withInternalStreamWrite(t){this.internalStreamWriteDepth+=1;try{return t()}finally{this.internalStreamWriteDepth-=1}}writeStdout(t,...n){return this.withInternalStreamWrite(()=>this.rawStdoutWrite(t,...n))}writeStderr(t,...n){return this.withInternalStreamWrite(()=>this.rawStderrWrite(t,...n))}restoreLastOutput=i(()=>{if(this.prevFrame.screen.height===0)return;let t=ml(this.options.stdout.rows??24,this.getTerminalWidth()),n=this.cellLogUpdate.render(t,this.prevFrame);this.withInternalStreamWrite(()=>Pf(this.options.stdout,n))},"restoreLastOutput");shouldRestoreManagedShellAfterExternalWrite=i(()=>this.altScreenActive,"shouldRestoreManagedShellAfterExternalWrite");calculateLayout=i(()=>{let t=this.getTerminalWidth();this.rootNode.yogaNode.setWidth(t),this.rootNode.yogaNode.calculateLayout(void 0,void 0,jP.DIRECTION_LTR)},"calculateLayout");onRender=i(()=>{if(this.hasPendingThrottledRender=!1,this.isUnmounted)return;let t=performance.now(),n={rows:this.options.stdout.rows??24,columns:this.getTerminalWidth()},{output:r,outputHeight:o,staticOutput:s,frame:a}=eg(this.rootNode,this.isScreenReaderEnabled,n);this.options.onRender?.({renderTime:performance.now()-t}),!yo&&!this.options.debug&&!this.isScreenReaderEnabled&&!this.cursorHidden&&(this.writeStdout(Tn.cursorHide),this.cursorHidden=!0);let c=s&&s!==`
|
|
28
|
+
`;if(this.options.debug){c&&(this.fullStaticOutput+=s),this.writeStdout(this.fullStaticOutput+r);return}if(yo){c&&this.writeStdout(s),this.lastOutput=r,this.lastOutputToRender=r+`
|
|
29
|
+
`,this.lastOutputHeight=o;return}if(this.isScreenReaderEnabled){let T=ho(this.options.stdout);if(T&&this.writeStdout(mo),c){let M=this.lastOutputHeight>0?Tn.eraseLines(this.lastOutputHeight):"";this.writeStdout(M+s),this.lastOutputHeight=0}if(r===this.lastOutput&&!c){T&&this.writeStdout(Or);return}let w=this.getTerminalWidth(),b=UP(r,w,{trim:!1,hard:!0});if(c)this.writeStdout(b);else{let M=this.lastOutputHeight>0?Tn.eraseLines(this.lastOutputHeight):"";this.writeStdout(M+b)}this.lastOutput=r,this.lastOutputToRender=b,this.lastOutputHeight=b===""?0:b.split(`
|
|
30
|
+
`).length,T&&this.writeStdout(Or);return}c&&(this.fullStaticOutput+=s);let d=!this.altScreenActive&&!!(a&&a.inputCursor)?[]:null,f=i(T=>{T&&(d?d.push(T):this.writeStdout(T))},"emit"),p=d?{write:f}:null;f(this.computeReturnToRestSeq());let m=this.altScreenActive,S=this.options.stdout.isTTY&&o>=this.options.stdout.rows&&m?r:r+`
|
|
31
|
+
`;if(this.lastOutputHeight>=this.options.stdout.rows&&m){if(Ui.env.KODAX_FULLSCREEN_CELLDIFF!=="0"&&this.altScreenActive&&this.fullStaticOutput===""){let b=ho(this.options.stdout);b&&this.writeStdout(mo),this.applyCellFrame(a),b&&this.writeStdout(Or),this.lastOutput=r,this.lastOutputToRender=S,this.lastOutputHeight=o;return}let T=ho(this.options.stdout);T&&this.writeStdout(mo);let w=this.fullStaticOutput+S;if(this.altScreenActive){let b=this.lastOutputHeight>0?Tn.eraseLines(this.lastOutputHeight):"";this.writeStdout(b+w)}else this.writeStdout(Tn.clearTerminal+this.fullStaticOutput+r);this.lastOutput=r,this.lastOutputToRender=this.altScreenActive?w:S,this.lastOutputHeight=o,this.invalidateCellFrame(),T&&this.writeStdout(Or);return}let v=!d&&ho(this.options.stdout);try{if(c?(v&&f(mo),f(this.eraseInlineLiveBlock()+s),this.invalidateCellFrame(),this.applyCellFrame(a,p),v&&f(Or)):!this.altScreenActive&&this.prevFrame&&this.prevFrame.screen.height!==a.screen.height&&this.lastOutputHeight>0&&o<=this.options.stdout.rows&&this.lastOutputHeight<this.options.stdout.rows?(v&&f(mo),f(this.eraseInlineLiveBlock()),this.invalidateCellFrame(),this.applyCellFrame(a,p),v&&f(Or)):this.applyCellFrame(a,p),a?.inputCursor){let T=dg(a,!this.altScreenActive),w=T(a.cursor),b=T(a.inputCursor),M=ug(b.x-w.x,b.y-w.y);f(M),this.displayCursor=b}}finally{d&&this.flushCursorTxn(d)}this.lastOutput=r,this.lastOutputToRender=S,this.lastOutputHeight=o},"onRender");applyCellFrame=i((t,n=null)=>{let r={cellLogUpdate:this.cellLogUpdate,prevFrame:this.prevFrame,stdout:n??this.options.stdout},o=ho(this.options.stdout),s={altScreen:this.altScreenActive,decstbmSafe:o,synchronized:n?!1:o,inlineBottomAnchored:!this.altScreenActive},a=this.withInternalStreamWrite(()=>GI(r,t,s));return this.prevFrame=r.prevFrame,a},"applyCellFrame");invalidateCellFrame=i(()=>{this.cellLogUpdate.reset(),this.prevFrame=ml(this.options.stdout.rows??24,this.getTerminalWidth())},"invalidateCellFrame");eraseInlineLiveBlock=i(()=>this.lastOutputHeight>0?Tn.eraseLines(this.lastOutputHeight):"","eraseInlineLiveBlock");commitInlineScrollback=i(({mode:t,text:n})=>{if(this.altScreenActive||this.isUnmounted)return;let r=[],o=i(c=>{c&&r.push(c)},"emit"),s={write:o};o(this.computeReturnToRestSeq());let a=t==="rebuild"?"\x1B[2J\x1B[3J\x1B[H":this.eraseInlineLiveBlock();o(a+(n??"")),this.lastOutput="",this.lastOutputToRender="",this.lastOutputHeight=0,this.fullStaticOutput="",this.invalidateCellFrame();try{this.calculateLayout();let c={rows:this.options.stdout.rows??24,columns:this.getTerminalWidth()},{output:l,outputHeight:d,frame:f}=eg(this.rootNode,this.isScreenReaderEnabled,c);if(this.applyCellFrame(f,s),f?.inputCursor){let p=dg(f,!this.altScreenActive),m=p(f.cursor),h=p(f.inputCursor),S=ug(h.x-m.x,h.y-m.y);o(S),this.displayCursor=h}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=ho(this.options.stdout);this.writeStdout(r?mo+n+Or:n)}render(t){let n=pv.createElement(ua.Provider,{value:{isScreenReaderEnabled:this.isScreenReaderEnabled}},pv.createElement(dv,{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?uo.updateContainer(n,this.container,null,Df):(uo.updateContainerSync(n,this.container,null,Df),uo.flushSyncWork())}computeReturnToRestSeq(){if(this.displayCursor&&this.prevFrame){let t=dg(this.prevFrame,!this.altScreenActive)(this.prevFrame.cursor),n=ug(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(yo){this.writeStdout(t);return}if(!this.shouldRestoreManagedShellAfterExternalWrite()){this.returnCursorToRest(),this.writeStdout(t),this.invalidateCellFrame();return}let n=ho(this.options.stdout);n&&this.writeStdout(mo),this.returnCursorToRest();let r=this.lastOutputHeight>0?Tn.eraseLines(this.lastOutputHeight):"";this.writeStdout(r+t),this.restoreLastOutput(),this.invalidateCellFrame(),n&&this.writeStdout(Or)}writeToStderr(t){if(this.isUnmounted)return;if(this.options.debug){this.writeStderr(t),this.writeStdout(this.fullStaticOutput+this.lastOutput);return}if(yo){this.writeStderr(t);return}if(!this.shouldRestoreManagedShellAfterExternalWrite()){this.returnCursorToRest(),this.writeStderr(t),this.invalidateCellFrame();return}let n=ho(this.options.stdout);n&&this.writeStdout(mo),this.returnCursorToRest();let r=this.lastOutputHeight>0?Tn.eraseLines(this.lastOutputHeight):"";r.length>0&&this.writeStdout(r),this.writeStderr(t),this.restoreLastOutput(),this.invalidateCellFrame(),n&&this.writeStdout(Or)}unmount(t){if(this.isUnmounted||this.isUnmounting)return;this.isUnmounting=!0,this.beforeExitHandler&&(Ui.off("beforeExit",this.beforeExitHandler),this.beforeExitHandler=void 0);let n=this.options.stdout,r=!n.destroyed&&!n.writableEnded&&(n.writable??!0);if(i(d=>{typeof d.flush=="function"&&(r?d.flush():typeof d.cancel=="function"&&d.cancel())},"settleThrottle")(this.throttledOnRender??{}),r&&(!this.throttledOnRender||!this.hasPendingThrottledRender&&this.fullStaticOutput==="")&&(this.calculateLayout(),this.onRender()),this.isUnmounted=!0,this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.restoreStreamWriteGuard=="function"&&(this.restoreStreamWriteGuard(),this.restoreStreamWriteGuard=void 0),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),this.cancelKittyDetection&&this.cancelKittyDetection(),r){if(this.kittyProtocolEnabled)try{this.writeStdout("\x1B[<u")}catch{}yo&&this.writeStdout(this.lastOutput+`
|
|
32
|
+
`)}this.kittyProtocolEnabled=!1,this.shellTransitionPhase=void 0,this.options.concurrent?uo.updateContainer(null,this.container,null,Df):(uo.updateContainerSync(null,this.container,null,Df),uo.flushSyncWork()),VI.delete(this.options.stdout);let{exitResult:s}=this,a=i(()=>{fg(t)?this.rejectExitPromise(t):this.resolveExitPromise(s)},"resolveOrReject"),c=t!==void 0&&!fg(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()},Ui.once("beforeExit",this.beforeExitHandler)),this.exitPromise}clear(){if(!yo&&!this.options.debug){this.returnCursorToRest();let t=this.altScreenActive?this.lastOutputHeight>0?Tn.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=WP((t,n)=>{t==="stdout"&&this.writeToStdout(n),t==="stderr"&&(n.startsWith("The above error occurred")||this.writeToStderr(n))}))}initKittyKeyboard(){if(!this.options.kittyKeyboard)return;let t=this.options.kittyKeyboard,n=t.mode??"auto";if(n==="disabled"||!this.options.stdin.isTTY||!this.options.stdout.isTTY)return;let r=t.flags??["disambiguateEscapeCodes"];if(n==="enabled"){this.enableKittyProtocol(r);return}let o=Ui.env.TERM??"",s=Ui.env.TERM_PROGRAM??"",a="KITTY_WINDOW_ID"in Ui.env||o==="xterm-kitty"||s==="WezTerm"||s==="ghostty";!yo&&a&&this.confirmKittySupport(r)}confirmKittySupport(t){let{stdin:n}=this.options,r=[],o=i(()=>{this.cancelKittyDetection=void 0,clearTimeout(a),n.removeListener("data",s);let c=ZP(r);r=[],c.length>0&&n.unshift(Buffer.from(c))},"cleanup"),s=i(c=>{let l=typeof c=="string"?Buffer.from(c):c;for(let d of l)r.push(d);JP(r)&&(o(),this.isUnmounted||this.enableKittyProtocol(t))},"onData");n.on("data",s);let a=setTimeout(o,200);this.cancelKittyDetection=o,this.writeStdout("\x1B[?u")}enableKittyProtocol(t){this.writeStdout(`\x1B[>${fv(t)}u`),this.kittyProtocolEnabled=!0}},hv=e$;var gl=class{static{i(this,"KodaXRenderer")}engineInstance;isConcurrent;constructor(t){this.engineInstance=new hv(t),this.isConcurrent=this.engineInstance.isConcurrent}render=i(t=>{this.engineInstance.render(t)},"render");unmount=i(t=>{this.engineInstance.unmount(t)},"unmount");waitUntilExit=i(()=>this.engineInstance.waitUntilExit(),"waitUntilExit");clear=i(()=>{this.engineInstance.clear()},"clear");setAltScreenActive=i((t,n)=>{this.engineInstance.setAltScreenActive?.(t,n)},"setAltScreenActive");setShellMode=i((t,n)=>{this.engineInstance.setShellMode?.(t,n)},"setShellMode");beginShellTransition=i(t=>{this.engineInstance.beginShellTransition?.(t)},"beginShellTransition");clearTextSelection=i(()=>{this.engineInstance.clearTextSelection?.()},"clearTextSelection");commitInlineScrollback=i(t=>{this.engineInstance.commitInlineScrollback?.(t)},"commitInlineScrollback")};var Ko=null;function yv(){if(Ko===-1)return null;if(Ko!==null)return Ko;let e=process.env.KODAX_RENDER_TRACE;if(!e||e==="0"||e==="false")return Ko=-1,null;let t=e==="1"||e==="true"?i$(o$(),`kodax-render-trace-${process.pid}.log`):e;try{return Ko=n$(t,"a"),gv(Ko,`=== KODAX render trace pid=${process.pid} ${new Date().toISOString()} platform=${process.platform} node=${process.version} ===
|
|
33
|
+
`),Ko}catch{return Ko=-1,null}}i(yv,"resolveTraceFd");function s$(e){let t=yv();if(t!==null)try{gv(t,e)}catch{}}i(s$,"traceLine");var Nf=new WeakMap,a$={isTTY:!1,columns:80,rows:24,write:i(()=>!0,"write"),on:i(()=>{},"on"),off:i(()=>{},"off")},c$={isTTY:!1,write:i(()=>!0,"write"),on:i(()=>{},"on"),off:i(()=>{},"off")},l$={isTTY:!1,isRaw:!1,on:i(()=>{},"on"),off:i(()=>{},"off"),pause:i(()=>{},"pause"),resume:i(()=>{},"resume"),setRawMode:i(()=>{},"setRawMode")};function u$(e={}){return e instanceof t$?{stdout:e}:e}i(u$,"getOptions");function d$(e,t,n){let r=Nf.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(),Nf.set(e,r)),r}i(d$,"getInstance");function Gi(e){return Nf.get(e)}i(Gi,"getRendererInstance");function pg(e,t){let n={stdout:a$,stdin:l$,stderr:c$,debug:!1,exitOnCtrlC:!0,patchConsole:!1,maxFps:30,concurrent:!1,...u$(t)};if(yv()!==null){let s=n.stdout,a=s.write.bind(s),c=0,l=0;s.write=((m,...h)=>(c+=1,l+=typeof m=="string"?Buffer.byteLength(m,"utf8"):m?.length??0,a(m,...h)));let d=0,f=0,p=n.onRender;n.onRender=m=>{let h=r$.now(),S=d===0?0:h-d,v=s,T=v.columns??0,w=v.rows??0;return s$(`frame=${f} renderTime=${m.renderTime.toFixed(2)}ms interval=${S.toFixed(2)}ms writes=${c} bytes=${l} viewport=${T}x${w}
|
|
34
|
+
`),c=0,l=0,d=h,f+=1,p?.(m)}}let o=d$(n.stdout,()=>new gl(n),n.concurrent??!1);return o.render(e),{rerender:o.render,unmount(){o.unmount()},waitUntilExit:o.waitUntilExit,cleanup:i(()=>{Nf.delete(n.stdout)},"cleanup"),clear:o.clear}}i(pg,"render");var xv=Yn,Sv=wn,wv=Fh;import{Buffer as p$}from"node:buffer";var m$=/^(?:\x1b)([a-zA-Z0-9])$/,h$=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,Cv={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"},Iv=[...Object.values(Cv),"backspace"],g$=i(e=>["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(e),"isShiftKey"),y$=i(e=>["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(e),"isCtrlKey"),vv=/^\x1b\[(\d+)(?:;(\d+)(?::(\d+))?(?:;([\d:]+))?)?u$/,x$=/^\x1b\[(\d+);(\d+):(\d+)([A-Za-z~])$/,S$={A:"up",B:"down",C:"right",D:"left",E:"clear",F:"end",H:"home",P:"f1",Q:"f2",R:"f3",S:"f4"},w$={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"},Tv={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"},bv=i(e=>e>=0&&e<=1114111&&!(e>=55296&&e<=57343),"isValidCodepoint"),mg=i(e=>bv(e)?String.fromCodePoint(e):"?","safeFromCodePoint");function Rv(e){return e===3?"release":e===2?"repeat":"press"}i(Rv,"resolveEventType");function kv(e){return{ctrl:!!(e&go.ctrl),shift:!!(e&go.shift),meta:!!(e&go.meta),option:!!(e&go.alt),super:!!(e&go.super),hyper:!!(e&go.hyper),capsLock:!!(e&go.capsLock),numLock:!!(e&go.numLock)}}i(kv,"parseKittyModifiers");function T$(e){let t=vv.exec(e);if(!t)return null;let n=Number.parseInt(t[1],10),r=t[2]?Math.max(0,Number.parseInt(t[2],10)-1):0,o=t[3]?Number.parseInt(t[3],10):1,s=t[4];if(!bv(n))return null;let a;s&&(a=s.split(":").map(d=>mg(Number.parseInt(d,10))).join(""));let c,l;return n===32?(c="space",l=!0):n===13?(c="return",l=!0):Tv[n]?(c=Tv[n],l=!1):n>=1&&n<=26?(c=String.fromCodePoint(n+96),l=!1):(c=mg(n).toLowerCase(),l=!0),l&&!a&&(a=mg(n)),{name:c,...kv(r),eventType:Rv(o),sequence:e,raw:e,isKittyProtocol:!0,isPrintable:l,text:a}}i(T$,"parseKittyKeypress");function C$(e){let t=x$.exec(e);if(!t)return null;let n=Number.parseInt(t[1],10),r=Math.max(0,Number.parseInt(t[2],10)-1),o=Number.parseInt(t[3],10),s=t[4],a=s==="~"?w$[n]:S$[s];return a?{name:a,...kv(r),eventType:Rv(o),sequence:e,raw:e,isKittyProtocol:!0,isPrintable:!1}:null}i(C$,"parseKittySpecialKey");var hg="\x1B[200~",I$="\x1B[201~";function v$(e){if(!e.startsWith(hg))return null;let t=e.indexOf(I$,hg.length);return t===-1?null:e.slice(hg.length,t)}i(v$,"extractBracketedPaste");function gg(e=""){let t=e,n;if(p$.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=v$(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=T$(t);if(r)return r;let o=C$(t);if(o)return o;if(vv.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=m$.exec(t))s.meta=!0,s.shift=/^[A-Z]$/.test(n[1]??"");else if(n=h$.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=Cv[c]??"",s.shift=g$(c)||s.shift,s.ctrl=y$(c)||s.ctrl}return s}i(gg,"parseKeypress");var k$=50;function Wf(e){return{columns:e?.columns??80,rows:e?.rows??24}}i(Wf,"resolveTerminalSize");var zo=b$(null),yg={isTTY:!1,columns:80,rows:24,write:i(()=>!0,"write"),on:i(()=>{},"on"),off:i(()=>{},"off")};var _v={isTTY:!1,isRaw:!1,on:i(()=>{},"on"),off:i(()=>{},"off"),pause:i(()=>{},"pause"),resume:i(()=>{},"resume"),setRawMode:i(()=>{},"setRawMode")};function E$(e){for(let t of e)if(t.rawMode)return!0;return!1}i(E$,"hasRawModeSubscribers");function M$({stdin:e,setRawMode:t,isRawModeSupported:n}){let r=new Set,o,s=!1,a=!1,c=i(p=>{for(let m of r)m.listener(p)},"handleData"),l=i(()=>{if(a){try{t(!1)}catch{}a=!1}},"disableRawModeIfOwned"),d=i(()=>{let p=o;p?.off?.("data",c),l(),s&&(p?.unref?.(),s=!1),o=void 0},"detachInput"),f=i(()=>{if(o&&o!==e&&d(),!e||r.size===0){d();return}if(o!==e&&(e.hasRef?.()!==!0&&typeof e.ref=="function"&&(e.ref(),s=!0),e.on?.("data",c),e.resume?.(),o=e),!(n&&E$(r))){l();return}if(e.isRaw===!1&&!a)try{t(!0),a=!0}catch{a=!1}},"syncInputOwnership");return{subscribe(p,m={}){let h={listener:p,rawMode:m.rawMode!==!1};return r.add(h),f(),()=>{r.delete(h),f()}},dispose(){r.clear(),d()}}}i(M$,"createTerminalInputController");var A$=i(({children:e,runtime:t})=>{let[n,r]=R$(()=>t.terminalSize);xa(()=>{if(r(Wf(t.stdout)),typeof t.stdout?.on!="function"||typeof t.stdout?.off!="function")return;let c=i(()=>{r(Wf(t.stdout))},"handleResize");return t.stdout.on("resize",c),()=>{t.stdout.off?.("resize",c)}},[t.stdout]);let o=Av(c=>typeof t.stdout?.write!="function"?!1:(t.stdout.write(c),!0),[t.stdout]),s=Ev(()=>M$({stdin:t.stdin,setRawMode:t.setRawMode,isRawModeSupported:t.isRawModeSupported}),[t.stdin,t.isRawModeSupported,t.setRawMode]);xa(()=>()=>{s.dispose()},[s]);let a=Ev(()=>({stdout:t.stdout,stdin:t.stdin,setRawMode:t.setRawMode,isRawModeSupported:t.isRawModeSupported,exit:t.exit,terminalSize:n,isTTY:t.stdout?.isTTY===!0,writeRaw:o,subscribeInput:s.subscribe}),[s.subscribe,t.exit,t.isRawModeSupported,t.setRawMode,t.stdin,t.stdout,s.subscribe,n,o]);return Mv(zo.Provider,{value:a,children:e})},"TuiRuntimeProvider");function _$(e){let t=e?.stdout??yg,n=e?.stdin??_v,r=i(s=>{typeof n?.setRawMode=="function"&&n.setRawMode(s)},"setRawMode"),o;return{stdout:t,stdin:n,setRawMode:r,isRawModeSupported:typeof n?.setRawMode=="function",exit:i(()=>{o?.()},"exit"),terminalSize:Wf(t),isTTY:t?.isTTY===!0,writeRaw:i(s=>typeof t?.write!="function"?!1:(t.write(s),!0),"writeRaw"),subscribeInput:i(()=>()=>{},"subscribeInput"),attachExit(s){o=s}}}i(_$,"createRuntimeValue");function Sa(e,t){let n=_$(t),r=pg(Mv(A$,{runtime:n,children:e}),t);return n.attachExit(r.unmount),r}i(Sa,"render");var E=xv,I=Sv,wa=wv;function L$(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&&Iv.includes(e.name)&&(n=""),n.startsWith("\x1B")&&(n=n.slice(1)),n.length===1&&typeof n[0]=="string"&&/[A-Z]/.test(n[0])&&(t.shift=!0),{input:n,key:t}}i(L$,"createCompatKeypress");function Ta(e,t={}){let{isActive:n=!0}=t,r=Bf(e),o=Bf(null),s=Bf(null);xa(()=>{r.current=e},[e]),xa(()=>{if(!n){o.current=null,s.current&&(clearTimeout(s.current),s.current=null);return}return o.current=$f(),()=>{o.current?.reset(),o.current=null,s.current&&(clearTimeout(s.current),s.current=null)}},[n]);let a=Av(c=>{let{input:l,key:d}=L$(gg(c));r.current(l,d)},[]);xl(c=>{if(!n)return;s.current&&(clearTimeout(s.current),s.current=null);let l=o.current,d=typeof c=="string"?c:c.toString("utf8"),f=l?.push(d)??[d];for(let p of f)a(p);d.length>0&&(s.current=setTimeout(()=>{let p=o.current?.flushPendingEscape();p&&a(p)},k$))},{isActive:n,rawMode:!0})}i(Ta,"useInput");function Dr(){return{stdout:Vi(zo)?.stdout??yg}}i(Dr,"useStdout");function yl(){let e=Vi(zo),t=e?.stdin??_v,n=e?.setRawMode??(r=>{typeof t?.setRawMode=="function"&&t.setRawMode(r)});return{stdin:t,setRawMode:n,isRawModeSupported:e?.isRawModeSupported??typeof t?.setRawMode=="function"}}i(yl,"useStdin");function Nr(){return{exit:Vi(zo)?.exit??(()=>{})}}i(Nr,"useApp");function Ca(){return Vi(zo)?.stdout??yg}i(Ca,"useTerminalOutput");function Ia(){let e=Ca();return Vi(zo)?.terminalSize??Wf(e)}i(Ia,"useTerminalSize");function va(){let e=Ca();return Vi(zo)?.writeRaw??(n=>typeof e?.write!="function"?!1:(e.write(n),!0))}i(va,"useTerminalWrite");function xl(e,t={}){let{isActive:n=!0,rawMode:r=!0}=t,o=Vi(zo),{stdin:s,setRawMode:a,isRawModeSupported:c}=yl(),l=Bf(e);xa(()=>{l.current=e},[e]),xa(()=>{if(!n||!s)return;if(o)return o.subscribeInput(m=>{l.current(m)},{rawMode:r});let d=s,f=d.isRaw;r&&c&&f===!1&&a(!0);let p=i(m=>{l.current(m)},"handleData");return d.on?.("data",p),()=>{if(d.off?.("data",p),r&&c&&f===!1)try{a(!1)}catch{}}},[o,s,n,r,c,a])}i(xl,"useTerminalInput");import{jsx as B$}from"react/jsx-runtime";import{useInsertionEffect as W$,useMemo as H$}from"react";var P$="\x1B[?1049h",$$="\x1B[?1049l";var O$="\x1B[2J",D$="\x1B[?1000h\x1B[?1002h\x1B[?1006h",N$="\x1B[?1006l\x1B[?1002l\x1B[?1000l";function Hf(e={}){let t=e.mouseTracking!==!1,n=e.clearOnEnter===!0;return P$+(n?O$:"")+"\x1B[H"+(t?D$:"")}i(Hf,"buildAlternateScreenEnterSequence");function Ff(e={}){return(e.mouseTracking!==!1?N$:"")+$$}i(Ff,"buildAlternateScreenExitSequence");var xg=i(({children:e,mouseTracking:t=!0,enabled:n=!0,clearOnEnter:r=!1})=>{let o=Ca(),{rows:s}=Ia(),a=va(),c=H$(()=>n&&o.isTTY===!0,[n,o]);return W$(()=>{if(!c)return;let l=Gi(o);if(l?.setShellMode?.("virtual",t),l?.beginShellTransition?.("enter-alt-screen"),!!a(Hf({mouseTracking:t,clearOnEnter:r})))return l?.setAltScreenActive?.(!0,t),()=>{l?.beginShellTransition?.("exit-alt-screen"),l?.clearTextSelection?.(),l?.setAltScreenActive?.(!1),a(Ff({mouseTracking:t}))}},[r,c,t,o,a]),B$(E,{flexDirection:"column",height:s,width:"100%",flexGrow:1,flexShrink:0,children:e})},"AlternateScreen");import{jsx as Yo,jsxs as Dv}from"react/jsx-runtime";import{jsx as j$}from"react/jsx-runtime";import U$,{useEffect as jf,useImperativeHandle as G$,useMemo as V$,useRef as Uf,useCallback as wl,useState as K$}from"react";function F$(e,t,n){return Math.max(t,Math.min(e,n))}i(F$,"clamp");function Sl(e){let t=Math.max(0,Math.floor(e.overscan??80)),n=Math.max(1,Math.floor(e.quantum??40)),r=Math.max(0,Math.floor(e.viewportHeight)),o=Math.max(0,Math.floor(e.contentHeight)),s=Math.max(0,o-r),a=F$(Math.floor(e.globalScrollTop),0,s),c=Math.floor(a/n),l=c*n,d=Math.max(0,l-t),f=Math.min(o,l+r+t),p=Math.max(0,f-d),m=a-d;return{blockTop:d,blockHeight:p,inBlockOffset:m,bin:c}}i(Sl,"computeOverscanWindow");function Lv(e,t,n){let r=Sl({...n,globalScrollTop:e}),o=Sl({...n,globalScrollTop:t});return r.bin===o.bin}i(Lv,"staysWithinOverscanBlock");function Pv(e){let t=e??void 0;for(;t?.parentNode;)t=t.parentNode;return t&&typeof t.onRender=="function"?(t.onRender(),!0):!1}i(Pv,"scheduleRenderFromNode");function $v(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:Gf(t,t.scrollTop)}}i($v,"normalizeScrollSnapshot");function Ov(e,t){return e.scrollTop===t.scrollTop&&e.scrollHeight===t.scrollHeight&&e.viewportHeight===t.viewportHeight&&e.pendingDelta===t.pendingDelta&&e.clampMin===t.clampMin&&e.clampMax===t.clampMax&&e.sticky===t.sticky&&e.overscanRows===t.overscanRows}i(Ov,"areSnapshotsEqual");function z$(e,t){return e.start===t.start&&e.end===t.end&&e.scrollTop===t.scrollTop&&e.scrollHeight===t.scrollHeight&&e.viewportHeight===t.viewportHeight&&e.viewportTop===t.viewportTop&&e.pendingDelta===t.pendingDelta&&e.sticky===t.sticky&&e.inWindowScrollTop===t.inWindowScrollTop}i(z$,"areWindowsEqual");function Gf(e,t){let n=Math.max(0,e.scrollHeight-e.viewportHeight),r=e.clampMin??0,o=e.clampMax??n;return Math.max(r,Math.min(Math.floor(t),Math.min(n,o)))}i(Gf,"clampScrollTop");function Sg(e){let t=Math.max(0,e.viewportHeight),n=Gf(e,e.scrollTop),r=Math.max(0,e.scrollHeight-n),o=Math.max(0,r-t),s=Math.max(0,Math.floor(e.overscanRows??0));if(s>0&&t>0){let a=Sl({globalScrollTop:o,viewportHeight:t,contentHeight:e.scrollHeight,overscan:s});return{start:a.blockTop,end:a.blockTop+a.blockHeight,scrollTop:n,scrollHeight:e.scrollHeight,viewportHeight:t,viewportTop:o,pendingDelta:e.pendingDelta,sticky:e.sticky,inWindowScrollTop:a.inBlockOffset}}return{start:o,end:r,scrollTop:n,scrollHeight:e.scrollHeight,viewportHeight:t,viewportTop:o,pendingDelta:e.pendingDelta,sticky:e.sticky,inWindowScrollTop:0}}i(Sg,"resolveScrollWindow");function Y$(e){let t=Gf(e,e.scrollTop);return Math.max(0,e.scrollHeight-e.viewportHeight-t)}i(Y$,"resolveNativeScrollTop");var wg=i(({children:e,width:t,flexGrow:n=0,flexShrink:r=1,paddingTop:o=0,scrollTop:s=0,scrollHeight:a=0,viewportHeight:c=0,stickyScroll:l=!0,scrollRef:d,onScrollTopChange:f,onStickyChange:p,onWindowChange:m,renderWindow:h,overscanRows:S})=>{let v=Uf(null),T=Uf(new Set),w=Uf($v({scrollTop:s,scrollHeight:a,viewportHeight:c,pendingDelta:0,sticky:l,overscanRows:S})),[b,M]=K$(()=>Sg(w.current)),O=Uf(null),k=wl(()=>{for(let ae of T.current)ae()},[]),P=wl((ae,le=!0)=>{let pe=w.current,Ee=$v(ae),ue=Sg(Ee);return w.current=Ee,M(ye=>z$(ye,ue)?ye:ue),le&&!Ov(pe,Ee)&&k(),{previous:pe,snapshot:Ee,window:ue,changed:!Ov(pe,Ee)}},[k]),q=wl(ae=>{let le=w.current,pe=Math.max(0,Math.floor(le.overscanRows??0)),Ee=v.current;if(pe<=0||!Ee||le.viewportHeight<=0)return!1;let ue=Math.max(0,le.scrollHeight-le.viewportHeight),ye=O.current??Gf(le,le.scrollTop),_e=Math.max(0,Math.min(Math.floor(ye+ae),ue)),Y=_e-ye;if(_e===ye)return!0;let ne=Math.max(0,le.scrollHeight-le.viewportHeight-ye),we=Math.max(0,le.scrollHeight-le.viewportHeight-_e),nt={viewportHeight:le.viewportHeight,contentHeight:le.scrollHeight,overscan:pe};if(!Lv(ne,we,nt))return!1;let xt=Sl({...nt,globalScrollTop:we});return Ee.scrollTop=we,Ee.attributes&&(Ee.attributes.inWindowScrollTop=xt.inBlockOffset,Ee.attributes.pendingScrollDelta=Y),Pv(Ee)?(O.current=_e,le.sticky&&(w.current={...w.current,sticky:!1},p?.(!1)),k(),!0):!1},[k,p]),V=wl(ae=>{let le=v.current;le&&w.current.overscanRows&&(le.scrollTop=ae.viewportTop)},[]);jf(()=>{let ae=w.current,le={scrollTop:s,scrollHeight:a,viewportHeight:c,pendingDelta:0,clampMin:ae.clampMin,clampMax:ae.clampMax,sticky:l,overscanRows:S},pe=P(le);pe.previous.sticky!==l&&p?.(l),pe.window.scrollTop!==s&&f?.(pe.window.scrollTop)},[P,p,f,S,a,s,l,c]);let K=wl(()=>{let ae=v.current;if(!ae)return;O.current=null;let le=typeof ae.scrollHeight=="number"?Math.max(0,Math.floor(ae.scrollHeight)):void 0,pe=typeof ae.scrollViewportHeight=="number"?Math.max(0,Math.floor(ae.scrollViewportHeight)):void 0,Ee=typeof ae.scrollViewportTop=="number"?Math.max(0,Math.floor(ae.scrollViewportTop)):void 0;if(le===void 0||pe===void 0||Ee===void 0)return;let ue=Math.max(0,le-pe-Ee),ye=P({...w.current,scrollTop:ue,scrollHeight:le,viewportHeight:pe});ye.changed&&ye.window.scrollTop!==ye.previous.scrollTop&&f?.(ye.window.scrollTop)},[P,f]);jf(()=>{K()},[K]);let fe=V$(()=>({scrollTo(ae){O.current=null;let le=P({...w.current,scrollTop:ae,pendingDelta:0,sticky:!1});le.previous.sticky!==!1&&p?.(!1),V(le.window),f?.(le.window.scrollTop)},scrollBy(ae){if(q(ae))return;let le=O.current??w.current.scrollTop;O.current=null;let pe=P({...w.current,scrollTop:le+ae,pendingDelta:w.current.pendingDelta+Math.floor(ae),sticky:!1});pe.previous.sticky!==!1&&p?.(!1),V(pe.window),f?.(pe.window.scrollTop)},scrollToElement(ae,le=0){O.current=null;let pe=P({...w.current,scrollTop:ae-le,pendingDelta:0,sticky:!1});pe.previous.sticky!==!1&&p?.(!1),V(pe.window),f?.(pe.window.scrollTop)},scrollToBottom(){O.current=null;let ae=P({...w.current,scrollTop:0,pendingDelta:0,sticky:!0});V(ae.window),f?.(ae.window.scrollTop),ae.previous.sticky!==!0&&p?.(!0)},getScrollTop(){return O.current??w.current.scrollTop},getPendingDelta(){return w.current.pendingDelta},getScrollHeight(){return v.current?.scrollHeight??w.current.scrollHeight},getViewportHeight(){return v.current?.scrollViewportHeight??b.viewportHeight},getViewportTop(){return v.current?.scrollViewportTop??b.viewportTop},isSticky(){return w.current.sticky},subscribe(ae){return T.current.add(ae),()=>{T.current.delete(ae)}},setClampBounds(ae,le){O.current=null;let pe=P({...w.current,clampMin:ae,clampMax:le});V(pe.window),pe.window.scrollTop!==pe.previous.scrollTop&&f?.(pe.window.scrollTop)}}),[P,f,p,q,V]);G$(d,()=>fe,[fe]),jf(()=>{m?.(b)},[m,b]),jf(()=>{w.current.pendingDelta!==0&&(w.current={...w.current,pendingDelta:0})},[b]);let ge=O.current!==null,Z=ge?{...w.current,scrollTop:O.current}:w.current,y=ge?Sg(Z):b,A=h?h(y):e,Q=Math.max(0,c+o),W=Y$(Z);return U$.createElement("ink-box",{ref:v,style:{flexWrap:"nowrap",flexDirection:"row",flexGrow:n,flexShrink:r,width:t,height:Q,paddingTop:o,overflowX:"visible",overflowY:"scroll"},scrollTop:W,scrollHeight:w.current.scrollHeight,scrollViewportHeight:w.current.viewportHeight,scrollViewportTop:y.viewportTop,pendingScrollDelta:w.current.pendingDelta,virtualScrollWindowed:!!h,...w.current.overscanRows?{inWindowScrollTop:y.inWindowScrollTop}:{},...w.current.clampMin!==void 0?{scrollClampMin:w.current.clampMin}:{},...w.current.clampMax!==void 0?{scrollClampMax:w.current.clampMax}:{},...l?{stickyScroll:!0}:{}},j$(E,{flexDirection:"column",flexGrow:1,flexShrink:0,width:"100%",children:A}))},"ScrollBox");var X$=80;function Tl(e){if(!(!e?.visible||!e.label))return e.hint?`${e.label}: ${e.hint}`:e.label}i(Tl,"resolveFullscreenChromeSlotText");function Vf(e,t){if(!e)return 0;let n=Math.max(1,(typeof t=="number"?t:X$)-2);return Math.max(1,hn(e.split(`
|
|
36
|
+
`),n,0,0).visualLines.length)}i(Vf,"measureFullscreenChromeSlotRows");var Tg=i(({top:e,topRows:t=0,scrollable:n,renderScrollableWindow:r,bottom:o,overlay:s,stickyHeader:a,jumpToLatest:c,width:l,scrollTop:d=0,scrollHeight:f=0,viewportHeight:p=0,stickyScroll:m=!0,scrollRef:h,onScrollTopChange:S,onStickyChange:v,onWindowChange:T,overscanRows:w})=>{let b=i((fe,ge)=>ge?Yo(E,{paddingX:1,children:Yo(I,{dimColor:fe?.tone!=="accent",children:ge})}):null,"renderChromeSlot"),M=Tl(a),O=Tl(c),k=Vf(M,l),P=b(a,M),q=s?null:b(c,O),V=Math.max(0,e?t:0),K=Math.max(0,p-k-V);return Dv(E,{flexDirection:"column",width:l,flexGrow:1,flexShrink:0,children:[e?Yo(E,{flexDirection:"column",flexShrink:0,children:e}):null,Dv(E,{flexDirection:"column",flexGrow:1,overflowY:"hidden",children:[Yo(wg,{width:l,flexGrow:1,flexShrink:1,paddingTop:k,scrollTop:d,scrollHeight:f,viewportHeight:K,stickyScroll:m,scrollRef:h,onScrollTopChange:S,onStickyChange:v,onWindowChange:T,renderWindow:r,overscanRows:w,children:n}),P?Yo(E,{position:"absolute",top:0,left:0,right:0,flexDirection:"column",children:P}):null,q?Yo(E,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:q}):null,s?Yo(E,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:s}):null]}),Yo(E,{flexDirection:"column",flexShrink:0,children:o})]})},"FullscreenLayout");import Q$ from"string-width";function J$(){return Ia().columns}i(J$,"useTerminalWidth");var zf=i(({lines:e,cursorRow:t,cursorCol:n,prompt:r=">",placeholder:o="Type your message...",focus:s=!0,terminalFocused:a=!0,isPasting:c=!1,editingMode:l="idle",theme:d="dark",width:f})=>{let p=Kf(()=>oe(d),[d]),m=J$(),h=f??m,S=Q$(r)+1,v=Kf(()=>{let k=Math.max(20,h-S);return hn(e,k,t,n)},[e,h,t,n,S]),T=Kf(()=>{if(!v)return null;let[k,P]=gf(v,[t,n]);return{row:k,col:P}},[v,t,n]),w=s&&a,b=c&&e.some(k=>k.length>0),M=v,O=T;return Xn(E,{flexDirection:"column",borderStyle:"round",borderColor:p.colors.dim,borderTop:!0,borderBottom:!0,borderLeft:!1,borderRight:!1,width:f??"100%",children:[b?Cn(E,{children:Cn(I,{dimColor:!0,children:l==="pasting"?"Pasting input...":"Editing input..."})}):null,M.visualLines.length===0||M.visualLines.length===1&&M.visualLines[0]===""?Xn(E,{children:[Xn(I,{color:p.colors.primary,children:[r," "]}),w?Xn(q$,{children:[Cn(I,{internal_cursorAnchor:!0,backgroundColor:p.colors.primary,color:"#000000",children:" "}),Cn(I,{dimColor:!0,children:o})]}):Cn(I,{dimColor:!0,children:o})]}):M.visualLines.map((k,P)=>{let q=P===O.row,V=P===0?r:" ".repeat(S-1);if(q&&w){let{before:K,current:fe,after:ge}=YC(k,O.col),Z=fe||" ";return Xn(E,{children:[Xn(I,{color:p.colors.primary,children:[V," "]}),Cn(I,{color:p.colors.text,children:K}),Cn(I,{internal_cursorAnchor:!0,backgroundColor:p.colors.primary,color:"#000000",children:Z}),Cn(I,{color:p.colors.text,children:ge})]},P)}return Xn(E,{children:[Xn(I,{color:p.colors.dim,children:[V," "]}),Cn(I,{color:p.colors.text,children:k})]},P)})]})},"TextInput"),Nv=i(({value:e,cursorCol:t,prompt:n=">",placeholder:r,focus:o=!0,theme:s="dark"})=>{let a=Kf(()=>oe(s),[s]);if(!e)return Xn(E,{children:[Xn(I,{color:a.colors.primary,children:[n," "]}),r&&Cn(I,{dimColor:!0,children:r}),o&&Cn(I,{backgroundColor:a.colors.primary,color:"#000000",children:" "})]});let c=mn(e),l=c.slice(0,t).join(""),d=c[t]??" ",f=c.slice(t+1).join("");return Xn(E,{children:[Xn(I,{color:a.colors.primary,children:[n," "]}),Cn(I,{color:a.colors.text,children:l}),Cn(I,{backgroundColor:a.colors.primary,color:"#000000",children:d}),Cn(I,{color:a.colors.text,children:f})]})},"SingleLineTextInput");var Cg={"[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"}},Z$=/^\x1b\[([0-9]+);?([0-9]+)?([~A-Za-z])?/,e1=/^\x1b\[<(\d+);(\d+);(\d+)([Mm])$/;function t1(e){switch(e&3){case 0:return"left";case 1:return"middle";case 2:return"right";default:return"unknown"}}i(t1,"parseMouseButton");function n1(e){return{shift:(e&1)!==0,alt:(e&2)!==0,ctrl:(e&4)!==0,meta:(e&8)!==0}}i(n1,"parseModifier");function Cl(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(e1);if(r){let[,o,s,a,c]=r,l=Number(o),d=Number(s),f=Number(a),p=l&28;return n.shift=(p&4)!==0,n.meta=(p&8)!==0,n.ctrl=(p&16)!==0,l===64?(n.name="wheelup",n.mouse={action:"wheel",button:"wheelup",row:f,column:d},n):l===65?(n.name="wheeldown",n.mouse={action:"wheel",button:"wheeldown",row:f,column:d},n):(n.name="mouse",n.mouse={action:c==="m"?"release":(l&32)!==0?"drag":"press",button:t1(l),row:f,column:d},n)}if(e===`\r
|
|
37
|
+
`)return n.name="newline",n;if(e==="\r")return n.name=t?"newline":"return",n;if(e===`
|
|
38
|
+
`)return n.name="newline",n;if(e===" ")return n.name="tab",n;if(e==="\b"||e==="\x7F")return n.name="backspace",n;if(e==="\x1B\b"||e==="\x1B\x7F")return n.name="backspace",n.meta=!0,n;if(e==="\x1B\r"||e===`\x1B
|
|
39
|
+
`)return n.name=e==="\x1B\r"?"return":"enter",n.shift=!0,n;if(e==="\x1B"||e==="\x1B\x1B")return n.name="escape",n.meta=e.length===2,n;if(e===" "||e==="\x1B ")return n.name="space",n.meta=e.length===2,n.insertable=!n.meta,n;if(e.length===1&&e.charCodeAt(0)<=26)return n.name=String.fromCharCode(e.charCodeAt(0)+96),n.ctrl=!0,n;if(e.length===1&&e>="0"&&e<="9"||e.length===1&&e>="a"&&e<="z")return n.name=e,n.insertable=!0,n;if(e.length===1&&e>="A"&&e<="Z")return n.name=e.toLowerCase(),n.shift=!0,n.insertable=!0,n;if(e.length===1&&e.charCodeAt(0)>=32)return n.name=e,n.insertable=!0,n;if(e.startsWith("\x1B")){let o=e.slice(1);if(o.length===1)return n.meta=!0,o>="a"&&o<="z"?(n.name=o,n.insertable=!0):o>="A"&&o<="Z"?(n.name=o.toLowerCase(),n.shift=!0,n.insertable=!0):o.charCodeAt(0)>=32&&(n.name=o,n.insertable=!0),n;let s=e.match(Z$);if(s){let[,l,d,f]=s,p=f||"~",h=Cg[o];if(h)return Object.assign(n,h),n;let S="["+l+p+"]",v=Cg[S];if(v&&v.name){if(n.name=v.name,d){let T=parseInt(d,10)-1,w=n1(T);Object.assign(n,w)}return n}}let c=Cg[o];if(c)return Object.assign(n,c),n;if(e.startsWith("\x1B\x1B")){n.meta=!0;let l="\x1B"+e.slice(2),d=Cl(l);return n.name=d.name,n}}return n}i(Cl,"parseKeypress");var ba=class{static{i(this,"KeypressParser")}buffer="";listeners=[];flushing=!1;inBracketedPaste=!1;pasteAccumulator="";onKeypress(t){return this.listeners.push(t),()=>{let n=this.listeners.indexOf(t);n>=0&&this.listeners.splice(n,1)}}feed(t,n=!1){let r=typeof t=="string"?t:t.toString("utf8");this.buffer+=r,this.flushing=n,this.processBuffer()}processBuffer(){for(;this.buffer.length>0;){let t=this.extractNextSequence();if(!t){if(this.flushing&&this.buffer.length>0){let s=this.buffer;this.buffer="";let a=Cl(s,this.inBracketedPaste);this.emit(a)}break}let{sequence:n,remaining:r}=t;this.buffer=r;let o=Cl(n,this.inBracketedPaste);if(o.name==="paste_start"){this.inBracketedPaste=!0,this.pasteAccumulator="";continue}if(o.name==="paste_end"){this.inBracketedPaste=!1,this.flushPasteAccumulator();continue}this.emit(o)}}flushPasteAccumulator(){if(this.pasteAccumulator.length===0)return;let t={name:"paste",sequence:this.pasteAccumulator,ctrl:!1,meta:!1,shift:!1,insertable:!0,isPasted:!0};this.pasteAccumulator="";for(let n of this.listeners)n(t)}extractNextSequence(){if(this.buffer.length===0)return null;let t=this.buffer[0];if(t!=="\x1B")return t==="\r"&&this.buffer.length>=2&&this.buffer[1]===`
|
|
40
|
+
`?{sequence:this.buffer.slice(0,2),remaining:this.buffer.slice(2)}:{sequence:this.buffer[0],remaining:this.buffer.slice(1)};if(this.buffer.length===1)return this.flushing?{sequence:this.buffer,remaining:""}:null;let n=this.buffer[1];if(n!=="["&&n!=="O")return{sequence:this.buffer.slice(0,2),remaining:this.buffer.slice(2)};if(this.buffer.startsWith("\x1B[<")){let a=3;for(;a<this.buffer.length;){let c=this.buffer[a];if(!c)break;if(c>="0"&&c<="9"||c===";"||c==="<"){a++;continue}if(c==="M"||c==="m")return a++,{sequence:this.buffer.slice(0,a),remaining:this.buffer.slice(a)};break}return this.flushing?{sequence:this.buffer,remaining:""}:null}let r=2;for(;r<this.buffer.length;){let a=this.buffer[r];if(!a)break;if(a>="0"&&a<="9"||a===";"){r++;continue}if(a>="A"&&a<="Z"||a>="a"&&a<="z"||a==="~"){r++;break}break}let o=this.buffer[r-1];return o&&(o>="A"&&o<="Z"||o>="a"&&o<="z"||o==="~")?{sequence:this.buffer.slice(0,r),remaining:this.buffer.slice(r)}:this.flushing?{sequence:this.buffer.slice(0,r),remaining:this.buffer.slice(r)}:null}emit(t){if(this.inBracketedPaste){if(t.isPasted=!0,t.insertable){this.pasteAccumulator+=t.sequence;return}if(t.name==="newline"){this.pasteAccumulator+=`
|
|
41
|
+
`;return}return}for(let n of this.listeners)n(t)}clear(){this.buffer=""}};function Ig(e){return["up","down","left","right","home","end","insert","delete","pageup","pagedown","wheelup","wheeldown","f1","f2","f3","f4","f5","f6","f7","f8","f9","f10","f11","f12","tab","return","enter","backspace","escape"].includes(e.name)}i(Ig,"isFunctionKey");function Bv(e){return e.ctrl||e.meta||Ig(e)?!1:e.sequence.length===1&&e.sequence.charCodeAt(0)>=32}i(Bv,"isPrintable");function Wv(e){let t=[];return e.ctrl&&t.push("Ctrl"),e.meta&&t.push("Alt"),e.shift&&t.push("Shift"),e.name?t.push(e.name.toUpperCase()):e.sequence&&t.push(e.sequence),t.join("+")}i(Wv,"getKeyDisplayName");import r1,{createContext as o1,useContext as i1,useEffect as Hv,useCallback as s1,useRef as vg}from"react";var a1=50;function Yf(){let e=new Map,t=null,n=i(()=>(t===null&&(t=[...e.keys()].sort((r,o)=>o-r)),t),"getSortedPriorities");return{register(r,o){return e.has(r)||e.set(r,[]),e.get(r).push(o),t=null,()=>{let s=e.get(r);if(!s)return;let a=s.indexOf(o);a>=0&&s.splice(a,1),s.length===0&&e.delete(r),t=null}},dispatch(r){let o=n();for(let s of o){let a=e.get(s);if(a)for(let c=a.length-1;c>=0;c-=1){let l=a[c];if(l&&l(r)===!0)return!0}}return!1},size(){let r=0;for(let o of e.values())r+=o.length;return r}}}i(Yf,"createKeypressManager");var Fv=o1(null);function Il({children:e,enabled:t=!0}){let{stdout:n}=Dr(),r=vg(Yf()),o=vg(null),s=vg(null),a=s1(c=>{t&&r.current.dispatch(c)},[t]);return Hv(()=>{if(!t)return;n?.write?.("\x1B[?2004h");let c=new ba;o.current=c;let l=c.onKeypress(a);return()=>{s.current&&(clearTimeout(s.current),s.current=null),l(),o.current=null;try{n?.write?.("\x1B[?2004l")}catch{}}},[a,t,n]),xl(c=>{t&&(s.current&&clearTimeout(s.current),o.current?.feed(c),c.length!==0&&(s.current=setTimeout(()=>{o.current?.feed("",!0)},a1)))},{isActive:t,rawMode:!0}),r1.createElement(Fv.Provider,{value:r.current},e)}i(Il,"KeypressProvider");function Xf(){let e=i1(Fv);if(!e)throw new Error("useKeypressManager must be used within a KeypressProvider");return e}i(Xf,"useKeypressManager");function $n(e,t,n=[]){let r=Xf(),o=typeof e=="function",s,a,c;if(o){s=e;let l=t??{};c=l.isActive??!0;let d=l.priority;a=typeof d=="boolean"?d?fn.High:fn.Normal:d??fn.Normal}else a=typeof e=="boolean"?e?fn.High:fn.Normal:e,s=t,c=!0;Hv(()=>c?r.register(a,s):void 0,[r,a,c,...o?[]:n])}i($n,"useKeypress");function qn(e){return t=>!(e.name!==void 0&&t.name!==e.name||e.ctrl!==void 0&&t.ctrl!==e.ctrl||e.meta!==void 0&&t.meta!==e.meta||e.shift!==void 0&&t.shift!==e.shift||e.sequence!==void 0&&t.sequence!==e.sequence||e.insertable!==void 0&&t.insertable!==e.insertable)}i(qn,"createKeyMatcher");var bg={isEnter:qn({name:"return"}),isEscape:qn({name:"escape"}),isCtrlC:qn({name:"c",ctrl:!0}),isCtrlD:qn({name:"d",ctrl:!0}),isUp:qn({name:"up"}),isDown:qn({name:"down"}),isLeft:qn({name:"left"}),isRight:qn({name:"right"}),isBackspace:qn({name:"backspace"}),isDelete:qn({name:"delete"}),isTab:qn({name:"tab"}),isShiftEnter:i(e=>e.name==="return"&&e.shift===!0,"isShiftEnter"),isCtrlEnter:i(e=>e.name==="return"&&e.ctrl===!0,"isCtrlEnter"),isInsertable:i(e=>e.insertable===!0&&!e.ctrl&&!e.meta,"isInsertable")};import{jsx as p1}from"react/jsx-runtime";import{useState as m1,useEffect as Gv,useCallback as Xo,useMemo as Vv,createContext as h1,useContext as Kv}from"react";function c1(e,t){if(!e)return{matched:!0,score:0,highlights:[]};if(e.length>t.length)return{matched:!1,score:0,highlights:[]};let n=e.toLowerCase(),r=t.toLowerCase(),o=0,s=-1,a=[];for(let l=0;l<e.length;l++){let d=n[l];if(d===void 0)continue;let f=r.indexOf(d,s+1);if(f===-1)return{matched:!1,score:0,highlights:[]};f===s+1?o+=10:f===0?o+=5:o-=1,t[f]===e[l]&&(o+=2),a.push(f),s=f}let c=l1(t,a);return o+=c,{matched:!0,score:o,highlights:a}}i(c1,"fuzzyMatch");function l1(e,t){let n=0;for(let r of t)if(r===0)n+=3;else if(r>0){let o=e[r-1];(o===" "||o==="-"||o==="_")&&(n+=2)}return n}i(l1,"calculateWordBoundaryBonus");function u1(e,t){return e?t.toLowerCase().startsWith(e.toLowerCase()):!0}i(u1,"prefixMatch");function d1(e,t){if(u1(e,t)){let o=e?Array.from({length:e.length},(s,a)=>a):[];return{matched:!0,score:100+e.length*10,highlights:o,isPrefix:!0}}return{...c1(e,t),isPrefix:!1}}i(d1,"combinedMatch");function jv(e,t,n=0){return e?t.map(r=>{let o=d1(e,r.text);return{...r,_fuzzyScore:o.matched?o.score:-1,_fuzzyHighlights:o.highlights}}).filter(r=>(r._fuzzyScore??-1)>=n).sort((r,o)=>{let s=(o._fuzzyScore??0)-(r._fuzzyScore??0);return s!==0?s:r.text.length-o.text.length}):t}i(jv,"sortCandidatesCombined");var f1={debounceDelay:100,minTriggerChars:1,maxCompletions:10,minScore:0},Rg=class{static{i(this,"AutocompleteProvider")}completers;options;state;listeners=new Set;debounceTimer=null;lastInput="";lastCursorPos=0;constructor(t={}){this.options={...f1,...t},this.completers=[new $h(this.options.gitRoot),new FC,new jC,new uf(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 $h)?.setGitRoot(this.options.gitRoot),r){let o=this.completers.findIndex(s=>s instanceof uf);o!==-1&&(this.completers[o]=new uf(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=Oh(r)!==-1,a=r.lastIndexOf("@"),c=a===0||a>0&&/\s/.test(r[a-1]??"");return s||c}fetchCompletions(t,n){this.updateState({loading:!0}),this.fetchCompletionsInternal(t,n).then(r=>{this.lastInput!==t||this.lastCursorPos!==n||(r.length>0?this.updateState({visible:!0,completions:r.slice(0,this.options.maxCompletions),selectedIndex:0,loading:!1}):this.updateState({visible:!1,completions:[],selectedIndex:0,loading:!1}))}).catch(()=>{this.updateState({loading:!1})})}async fetchCompletionsInternal(t,n){let r=this.completers.filter(l=>l.canComplete(t,n));if(r.length===0)return[];let o=[];for(let l of r)try{let d=await l.getCompletions(t,n);o.push(...d)}catch(d){dt({source:"repl:autocomplete",level:"error",message:"Completer failed; continuing with remaining completers.",detail:d})}let s=this.extractPattern(t,n),a=o.map((l,d)=>({_idx:d,text:l.type==="command"&&l.display.startsWith("/")?l.display.slice(1):l.display}));return jv(s,a,this.options.minScore).map(l=>o[l._idx]).filter(l=>l!==void 0)}extractPattern(t,n){let r=t.slice(0,n),o=Oh(r);if(o!==-1){let c=r.slice(o),l=c.match(/^\/skill:(\S*)$/);if(l)return l[1]??"";let d=c.match(/^\/(\S*)$/);if(d)return d[1]??"";let f=c.split(/\s+/);return(f[f.length-1]??"").toLowerCase()}let s=r.lastIndexOf("@");if(s!==-1){let c=r.slice(s+1),l=c.lastIndexOf("/");return l===-1?c:c.slice(l+1)}let a=r.match(/(\S+)$/);return a?a[1]??"":""}updateState(t){this.state={...this.state,...t};for(let n of this.listeners)try{n(this.state)}catch(r){dt({source:"repl:autocomplete",level:"error",message:"Listener failed during autocomplete state update.",detail:r})}}};function Uv(e){return new Rg(e)}i(Uv,"createAutocompleteProvider");var kg=h1(null);function qf({children:e,cwd:t,gitRoot:n}){let r=vl({cwd:t,gitRoot:n,enabled:!0});return p1(kg.Provider,{value:r,children:e})}i(qf,"AutocompleteContextProvider");function qo(){return Kv(kg)}i(qo,"useAutocompleteContext");function g1(e,t){let n={command:"command",file:"file",argument:"argument",skill:"skill"},r={command:"\u26A1",file:"\u{1F4C4}",argument:"\u2022",skill:"\u2605"};return{id:`autocomplete-${t}`,text:e.text,displayText:e.display,description:e.description,type:n[e.type]??"command",icon:r[e.type]??">"}}i(g1,"completionToSuggestion");function vl(e={}){let t=Kv(kg);return t&&!e.cwd&&!e.gitRoot?t:y1(e)}i(vl,"useAutocomplete");function y1(e){let{cwd:t,gitRoot:n,enabled:r=!0}=e,o=Vv(()=>Uv({cwd:t,gitRoot:n,debounceDelay:100,minTriggerChars:1,maxCompletions:50}),[]);Gv(()=>{o.updateOptions({cwd:t,gitRoot:n})},[o,t,n]);let[s,a]=m1({visible:!1,selectedIndex:0,completions:[],loading:!1});Gv(()=>o.subscribe(w=>{a(w)}),[o]);let c=Vv(()=>s.completions.map((T,w)=>g1(T,w)),[s.completions]),l=Xo((T,w)=>{if(!r){o.cancel();return}o.handleInput(T,w)},[o,r]),d=Xo(()=>s.visible?o.acceptCompletionWithType():null,[o,s.visible]),f=Xo(()=>s.visible?o.acceptCompletionWithType():null,[o,s.visible]),p=Xo(()=>{s.visible&&o.selectPrevious()},[o,s.visible]),m=Xo(()=>{s.visible&&o.selectNext()},[o,s.visible]),h=Xo(()=>{s.visible&&o.cancel()},[o,s.visible]),S=Xo(()=>{o.cancel()},[o]),v=Xo(()=>o,[o]);return{state:s,suggestions:c,handleInput:l,handleTab:d,handleEnter:f,handleUp:p,handleDown:m,handleEscape:h,cancel:S,getProvider:v}}i(y1,"useAutocompleteImpl");import{useCallback as bl,useRef as zv}from"react";var Qn=[];function Qf(e={}){let{maxSize:t=1e3,onSave:n}=e,r=zv(-1),o=zv(""),s=bl((f,p)=>{if(!f.trim())return;if(Qn[Qn.length-1]?.text!==f){let h={text:f,timestamp:Date.now(),...p?.pastedContents&&p.pastedContents.length>0?{pastedContents:[...p.pastedContents]}:{}};Qn.push(h),Qn.length>t&&Qn.splice(0,Qn.length-t),n?.(h)}r.current=-1,o.current=""},[t,n]),a=bl(()=>Qn.length===0?null:r.current===-1?(r.current=Qn.length-1,Qn[r.current]??null):r.current>0?(r.current--,Qn[r.current]??null):null,[]),c=bl(()=>r.current===-1?null:r.current<Qn.length-1?(r.current++,Qn[r.current]??null):(r.current=-1,{text:o.current,timestamp:Date.now()}),[]),l=bl(()=>{r.current=-1,o.current=""},[]),d=bl(f=>{r.current===-1&&(o.current=f)},[]);return{add:s,navigateUp:a,navigateDown:c,reset:l,saveTempInput:d}}i(Qf,"useInputHistory");function In(e,t,n){return mn(e).slice(t,n).join("")}i(In,"sliceByCodePoints");var Ra=class{static{i(this,"TextBuffer")}_text="";_lines=[""];_cursor={row:0,col:0};_rememberedCol=0;_history=[];_historyIndex=-1;_maxHistory;constructor(t={}){this._maxHistory=t.maxHistory??100}get text(){return this._text}get lines(){return[...this._lines]}get cursor(){return{...this._cursor}}get lineCount(){return this._lines.length}get currentLine(){return this._lines[this._cursor.row]??""}get isEmpty(){return this._text.length===0}get currentLineVisualWidth(){return pr(this.currentLine)}get visualCursor(){let t=this._lines[this._cursor.row]??"",n=In(t,0,this._cursor.col);return{row:this._cursor.row,col:pr(n)}}getCharWidthAtCursor(){let t=this._lines[this._cursor.row]??"",r=mn(t)[this._cursor.col];return r?fr(r)?2:1:0}visualColToLogicalCol(t){let n=this._lines[this._cursor.row]??"",r=mn(n),o=0;for(let s=0;s<r.length;s++){let a=fr(r[s])?2:1;if(o+a>t)return s;o+=a}return r.length}moveToVisualCol(t){this._cursor.col=this.visualColToLogicalCol(t),this._rememberedCol=this._cursor.col}setText(t){this._saveHistory(),this._setTextInternal(t),this._clampCursor()}replaceRange(t,n,r){this._saveHistory();let o=Math.max(0,Math.min(t,this._text.length)),s=Math.max(o,Math.min(n,this._text.length)),a=this._text.slice(0,o)+r+this._text.slice(s);this._setTextInternal(a),this.moveToAbsoluteOffset(o+r.length)}insert(t,n){if(this._saveHistory(),n?.paste){this._insertText(t);return}let r=t.split(`
|
|
42
|
+
`);for(let o=0;o<r.length;o++)o>0&&this._insertNewline(),this._insertText(r[o])}_insertText(t){let n=this._lines[this._cursor.row],r=In(n,0,this._cursor.col),o=In(n,this._cursor.col);this._lines[this._cursor.row]=r+t+o,this._cursor.col+=Sn(t),this._rememberedCol=this._cursor.col,this._updateText()}newline(){this._saveHistory(),this._insertNewline()}_insertNewline(){let t=this._lines[this._cursor.row],n=In(t,0,this._cursor.col),r=In(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=In(t,0,n),o=In(t,this._cursor.col);this._lines[this._cursor.row]=r+o,this._cursor.col=n,this._rememberedCol=this._cursor.col,this._updateText()}else if(this._cursor.row>0){this._saveHistory();let t=this._lines[this._cursor.row],n=this._lines[this._cursor.row-1];this._cursor.col=Sn(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<Sn(t)){this._saveHistory();let n=In(t,0,this._cursor.col),r=In(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=Sn(this._lines[this._cursor.row]),this._rememberedCol=this._cursor.col)}_moveRight(){let t=this._lines[this._cursor.row];this._cursor.col<Sn(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=Sn(this._lines[this._cursor.row]),this._rememberedCol=this._cursor.col}_clampColumn(){let t=this._lines[this._cursor.row],n=Sn(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,Sn(this._lines[this._cursor.row]))),this._rememberedCol=this._cursor.col}killLineRight(){let t=this._lines[this._cursor.row];this._cursor.col<Sn(t)&&(this._saveHistory(),this._lines[this._cursor.row]=In(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]=In(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=mn(t);for(;n>0&&/\s/.test(r[n]??"");)n--;for(;n>0&&!/\s/.test(r[n-1]??"");)n--;let o=In(t,0,n),s=In(t,this._cursor.col);this._lines[this._cursor.row]=o+s,this._cursor.col=n,this._rememberedCol=this._cursor.col,this._updateText()}_saveHistory(){this._history=this._history.slice(0,this._historyIndex+1),this._history.push(this._text),this._history.length>this._maxHistory&&this._history.shift(),this._historyIndex=this._history.length-1}undo(){return this._historyIndex>0?(this._historyIndex--,this._text=this._history[this._historyIndex]??"",this._lines=this._text.split(`
|
|
43
|
+
`),this._lines.length===0&&(this._lines=[""]),this._clampCursor(),!0):!1}redo(){return this._historyIndex<this._history.length-1?(this._historyIndex++,this._text=this._history[this._historyIndex]??"",this._lines=this._text.split(`
|
|
44
|
+
`),this._lines.length===0&&(this._lines=[""]),this._clampCursor(),!0):!1}_updateText(){this._text=this._lines.join(`
|
|
45
|
+
`)}_setTextInternal(t){this._text=t,this._lines=t.split(`
|
|
46
|
+
`),this._lines.length===0&&(this._lines=[""])}moveToAbsoluteOffset(t){let r=Math.max(0,Math.min(t,this._text.length));for(let o=0;o<this._lines.length;o++){let s=this._lines[o]??"",a=s.length;if(r<=a){this._cursor={row:o,col:Sn(s.slice(0,r))},this._rememberedCol=this._cursor.col;return}r-=a,o<this._lines.length-1&&(r-=1)}this.moveToEnd()}clear(){this._saveHistory(),this._text="",this._lines=[""],this._cursor={row:0,col:0},this._rememberedCol=0}getAbsoluteOffset(){let t=0;for(let r=0;r<this._cursor.row;r++)t+=(this._lines[r]?.length??0)+1;let n=this._lines[this._cursor.row]??"";return t+=In(n,0,this._cursor.col).length,t}isLineContinuation(){return this._lines[this._cursor.row].endsWith("\\")}moveToEnd(){this._cursor.row=this._lines.length-1,this._cursor.col=Sn(this._lines[this._cursor.row]??""),this._rememberedCol=this._cursor.col}};import{useState as x1,useCallback as Ft,useRef as Eg,useEffect as S1}from"react";function Jf(e={}){let{initialValue:t="",onTextChange:n}=e,r=Eg(null),o=Eg(null),s=Eg(null),[a,c]=x1({text:t,cursor:{row:0,col:0},lines:[""],isPasting:!1,editingMode:t?"typing":"idle"});r.current===null&&(r.current=new Ra,t&&r.current.setText(t)),o.current===null&&(o.current=PC());let l=r.current,d=o.current,f=Ft(Z=>{c(y=>({text:l.text,cursor:l.cursor,lines:l.lines,isPasting:Z?.isPasting??y.isPasting,editingMode:Z?.editingMode??y.editingMode})),n?.(l.text)},[l,n]),p=Ft(()=>{s.current&&clearTimeout(s.current),s.current=setTimeout(()=>{c(Z=>({...Z,isPasting:!1,editingMode:Z.text?"typing":"idle"})),s.current=null},120)},[]),m=Ft(Z=>{l.setText(Z),f({isPasting:!1,editingMode:Z?"typing":"idle"})},[l,f]),h=Ft((Z,y,A)=>{l.replaceRange(Z,y,A),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),S=Ft((Z,y)=>{let A=y?.paste??!1;if(A&&_C(Z)){let Q=Z.replace(/\r\n/g,`
|
|
47
|
+
`).replace(/\r/g,`
|
|
48
|
+
`),{placeholder:W}=d.registerText(Q);l.insert(W,{paste:!0}),f({isPasting:!0,editingMode:"pasting"}),p();return}l.insert(Z,{paste:!1}),f({isPasting:A,editingMode:A?"pasting":"typing"}),A&&p()},[l,d,p,f]),v=Ft(()=>{l.newline(),f({isPasting:!1,editingMode:"typing"})},[l,f]),T=Ft(()=>{let Z=l.getAbsoluteOffset(),y=cf(l.text,Z);y?l.replaceRange(y.start,y.end,""):l.backspace(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),w=Ft(()=>{let Z=l.getAbsoluteOffset(),y=lf(l.text,Z);y?l.replaceRange(y.start,y.end,""):l.delete(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),b=Ft(Z=>{l.move(Z),f()},[l,f]),M=Ft(()=>{l.clear(),f({isPasting:!1,editingMode:"idle"})},[l,f]),O=Ft(()=>{let Z=l.undo();return Z&&f(),Z},[l,f]),k=Ft(()=>{let Z=l.redo();return Z&&f(),Z},[l,f]),P=Ft(()=>{l.moveToEnd(),f()},[l,f]),q=Ft(Z=>{l.moveToAbsoluteOffset(Z),f()},[l,f]),V=Ft(()=>{l.killLineRight(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),K=Ft(()=>{l.killLineLeft(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),fe=Ft(()=>{l.deleteWordLeft(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),ge=Ft(()=>{s.current&&(clearTimeout(s.current),s.current=null),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]);return S1(()=>()=>{s.current&&clearTimeout(s.current),r.current=null},[]),{buffer:l,text:a.text,cursor:a.cursor,lines:a.lines,isPasting:a.isPasting,editingMode:a.editingMode,pasteStore:d,resetTransientState:ge,setText:m,replaceRange:h,insert:S,newline:v,backspace:T,delete:w,move:b,moveToEnd:P,moveToOffset:q,killLineRight:V,killLineLeft:K,deleteWordLeft:fe,clear:M,undo:O,redo:k}}i(Jf,"useTextBuffer");import{jsx as Ki,jsxs as np}from"react/jsx-runtime";import{useState as Zv}from"react";import{useCallback as ka,useEffect as Lg,useRef as ep}from"react";function Yv(e,t,n){let r=Math.max(0,Math.min(t,e.length)),o=e.slice(0,r);if(n.type==="command"||n.type==="skill"){let a=o.lastIndexOf("/");return{start:a===-1?0:a,end:r,replacement:n.text}}if(n.type==="argument"){let a=o.match(/\S+$/);if(a){let c=a[0],l=r-c.length;if(c.startsWith("/")&&o.lastIndexOf("/")===l)return{start:r,end:r,replacement:` ${n.text}`}}return{start:a?r-a[0].length:r,end:r,replacement:n.text}}let s=o.lastIndexOf("@");return{start:s===-1?0:s,end:r,replacement:n.text}}i(Yv,"buildAutocompleteReplacement");import{readFile as b1}from"node:fs/promises";var R1=/\.(png|jpe?g|gif|webp|bmp)$/i;async function Mg(e){if(e.length===0)return process.platform==="darwin"?Xv():{kind:"text",text:""};let t=Zf(e);return t.length>0?k1(t,e):{kind:"text",text:e}}i(Mg,"handleBracketedPaste");async function Ag(){return Xv()}i(Ag,"triggerExplicitClipboardImage");async function Xv(){let e;try{e=await Id()}catch(t){return{kind:"error",message:`Failed to read clipboard image: ${_g(t)}`}}return e?qv(e):{kind:"noop"}}i(Xv,"readClipboardAsImagesOutcome");async function k1(e,t){let n=[],r=[];for(let o of e){let s;try{s=await b1(o)}catch(c){r.push(`Failed to read ${o}: ${_g(c)}`);continue}let a=await qv(s);a.kind==="images"?n.push(...a.blocks):a.kind==="error"&&r.push(a.message)}return n.length===0?r.length>0?{kind:"error",message:r.join("; ")}:{kind:"text",text:t}:{kind:"images",blocks:n}}i(k1,"readImagePathsAsOutcome");async function qv(e){try{let t=await Cd(e);return{kind:"images",blocks:[await vd(t)]}}catch(t){return t instanceof Td?{kind:"error",message:t.message}:{kind:"error",message:`Failed to process pasted image: ${_g(t)}`}}}i(qv,"decodeBufferToOutcome");function Zf(e){return e.split(/ (?=\/|[A-Za-z]:\\)/).filter(n=>R1.test(n.trim()))}i(Zf,"extractImagePaths");function _g(e){return e instanceof Error?e.message:String(e)}i(_g,"describeError");function tp(e,t){dt({source:"repl:prompt-input",level:"warn",message:e,...t!==void 0?{detail:t}:{}})}i(tp,"reportPromptInputDiagnostic");var M1=500;function Qv(e,t,n){return n==="up"?e===0:e>=Math.max(0,t-1)}i(Qv,"shouldUseHistoryNavigation");function A1(e){return e.isAutocompleteVisible?"cancel-autocomplete":e.hasText?e.timeSinceLastEscapeMs<M1?"clear-input":"arm-clear":"pass-through"}i(A1,"resolvePromptEscapeBehavior");function _1(e){return e.keyName==="newline"||e.keyName==="return"&&(e.ctrl||e.shift)||e.isPasting?"newline":e.isAutocompleteVisible?"accept-completion-and-submit":e.isLineContinuation?"line-continuation":"submit"}i(_1,"resolvePromptEnterBehavior");function L1(e){if(e.meta&&e.name==="backspace")return"delete-word-left";if(e.ctrl)switch(e.name){case"a":return"move-home";case"e":return"move-end";case"z":return"undo";case"y":return"redo";case"k":return"kill-line-right";case"u":return"kill-line-left";case"w":return"delete-word-left";default:return}}i(L1,"resolvePromptEditingCommand");function Jv({onSubmit:e,onExit:t,focus:n=!0,initialValue:r="",cwd:o,gitRoot:s,autocompleteEnabled:a=!0,onInputChange:c,onPasteFallback:l,onHistoryRecall:d,onPopPendingInputs:f}){let p=ep(0),{add:m,navigateUp:h,navigateDown:S,reset:v,saveTempInput:T}=Qf(),{buffer:w,text:b,cursor:M,lines:O,isPasting:k,editingMode:P,pasteStore:q,resetTransientState:V,setText:K,replaceRange:fe,clear:ge,move:Z,moveToOffset:y,insert:A,backspace:Q,newline:W,delete:ae,undo:le,redo:pe,killLineRight:Ee,killLineLeft:ue,deleteWordLeft:ye}=Jf({initialValue:r,onTextChange:c}),_e=ep(0);Lg(()=>{if(k)return;if(b.length<=1e4){_e.current=0;return}if(b.length===_e.current)return;let _=q.peekNextId(),{truncatedText:H,placeholderContent:B}=LC(b,_);B&&(q.registerTruncatedText(B),_e.current=H.length,K(H))},[b,k,q,K]);let Y=qo(),ne=vl({cwd:o,gitRoot:s,enabled:a}),{state:we,suggestions:nt,handleInput:xt,handleTab:Ge,handleEnter:je,handleUp:de,handleDown:Ce,handleEscape:F}=Y??ne;Lg(()=>{n||(p.current=0,V(),we.visible&&F())},[we.visible,n,F,V]);let Ne=ep(b);Lg(()=>{a&&b!==Ne.current&&(Ne.current=b,xt(b,w.getAbsoluteOffset()))},[a,w,xt,b]);let pt=ka(_=>{if(!_?.text)return;let H=Yv(b,w.getAbsoluteOffset(),_),B=b.slice(0,H.start)+H.replacement+b.slice(H.end);return fe(H.start,H.end,H.replacement),B},[w,fe,b]),Dt=ka(_=>{let H=_??b;if(!H.trim())return;let B=q.expand(H),X=new Set,$=/\[(Pasted text|\.\.\.Truncated text) #(\d+)(?: \+\d+ lines)?(\.*)\]/g;for(let Te of H.matchAll($)){let Ie=Number.parseInt(Te[2]??"0",10);Number.isFinite(Ie)&&Ie>0&&X.add(Ie)}let Me=[];for(let Te of X){let Ie=q.get(Te);Ie&&Me.push(Ie)}m(H,{pastedContents:Me}),e({displayText:H,fullText:B,pastedContents:Me}),ge()},[m,ge,e,q,b]),Ke=ka(_=>{if(_){if(_.pastedContents&&_.pastedContents.length>0){for(let H of _.pastedContents)q.adopt(H);d?.({text:_.text,pastedContents:[..._.pastedContents]})}K(_.text)}},[d,q,K]),bt=ka(async _=>{try{let H=await Mg(_);if(H.kind==="images"){let B=H.blocks.map(X=>`@${X.path}`).join(" ");A(`${B} `,{paste:!1})}else H.kind==="error"&&(tp(`Paste image handling failed: ${H.message}`),A(_,{paste:!1}),l?.("Image paste failed; inserted as plain text."))}catch(H){tp("Paste image handling failed.",H)}},[A,l]),Ut=ep(!1),Wn=ka(async()=>{if(!Ut.current){Ut.current=!0;try{let _=await Ag();if(_.kind==="images"){let H=_.blocks.map(B=>`@${B.path}`).join(" ");A(`${H} `,{paste:!1})}else _.kind==="error"&&tp(`Clipboard image handling failed: ${_.message}`)}catch(_){tp("Clipboard image handling failed.",_)}finally{Ut.current=!1}}},[A]),an=ka(_=>{if(!n)return!1;if(_.name==="v"&&(_.ctrl||_.meta))return Wn(),!0;if(_.name==="paste"&&_.isPasted&&Zf(_.sequence).length>0)return bt(_.sequence),!0;let H=we.visible&&nt.length>0;if(_.name==="tab"&&H){let X=Ge();return X&&pt(X),!0}if(_.ctrl&&_.name==="c")return b.length>0?(ge(),v()):t?.(),!0;if(_.name==="escape")switch(A1({isAutocompleteVisible:H,hasText:b.length>0,timeSinceLastEscapeMs:Date.now()-p.current})){case"cancel-autocomplete":return F(),p.current=0,!0;case"clear-input":return p.current=0,ge(),v(),!0;case"arm-clear":return p.current=Date.now(),!0;default:return!1}if(_.name==="up"){if(H)return de(),!0;if(_.ctrl)return Z("up"),!0;if(b.length===0&&f){let X=f();if(typeof X=="string"&&X.length>0)return K(X),!0}if(Qv(M.row,O.length,"up")){T(b);let X=h();Ke(X)}else Z("up");return!0}if(_.name==="down"){if(H)return Ce(),!0;if(_.ctrl)return Z("down"),!0;if(Qv(M.row,O.length,"down")){let X=S();Ke(X)}else Z("down");return!0}if(_.name==="left"){let X=w.getAbsoluteOffset(),$=cf(w.text,X);return $?y($.start):Z("left"),!0}if(_.name==="right"){let X=w.getAbsoluteOffset(),$=lf(w.text,X);return $?y($.end):Z("right"),!0}if(_.name==="home")return Z("home"),!0;if(_.name==="end")return Z("end"),!0;let B=L1(_);if(B)switch(B){case"move-home":return Z("home"),!0;case"move-end":return Z("end"),!0;case"undo":return le(),!0;case"redo":return pe(),!0;case"kill-line-right":return Ee(),!0;case"kill-line-left":return ue(),!0;case"delete-word-left":return ye(),!0;default:break}if(_.name==="backspace")return Q(),!0;if(_.name==="delete")return ae(),!0;if(_.name==="return"||_.name==="newline")switch(_1({keyName:_.name,ctrl:_.ctrl,shift:_.shift,isAutocompleteVisible:H,isLineContinuation:!!O[M.row]?.endsWith("\\"),isPasting:k})){case"accept-completion-and-submit":{let $=je();if($){let Me=pt($);Dt(Me)}else Dt();return!0}case"newline":return W(),!0;case"line-continuation":return Q(),W(),!0;default:return Dt(),!0}return _.insertable&&!_.ctrl&&!_.meta?(A(_.sequence,_.isPasted?{paste:!0}:void 0),!0):!1},[pt,m,we.visible,Q,w,ge,M.row,ae,n,Ce,F,de,je,Ke,Ge,bt,Wn,O,ue,Ee,Z,y,S,h,W,t,f,pe,v,T,K,Dt,nt.length,b.length,ye,k,le]);return{text:b,cursor:M,lines:O,isPasting:k,terminalFocused:n,editingMode:P,handleKey:an}}i(Jv,"usePromptInputController");var zi=i(({onSubmit:e,onHistoryRecall:t,onPopPendingInputs:n,placeholder:r="Type a message...",prompt:o=">",focus:s=!0,initialValue:a="",cwd:c,gitRoot:l,autocompleteEnabled:d=!0,onInputChange:f,onPasteFallback:p})=>{let{exit:m}=Nr(),{cursor:h,lines:S,handleKey:v,isPasting:T,terminalFocused:w,editingMode:b}=Jv({onSubmit:e,onExit:m,focus:s,initialValue:a,cwd:c,gitRoot:l,autocompleteEnabled:d,onInputChange:f,onPasteFallback:p,onHistoryRecall:t,onPopPendingInputs:n});return $n(fn.High,M=>v(M),[v]),Ki(E,{flexDirection:"column",children:Ki(zf,{lines:S,cursorRow:h.row,cursorCol:h.col,prompt:o,placeholder:r,focus:s,terminalFocused:w,isPasting:T,editingMode:b,theme:"dark"})})},"InputPrompt"),eb=i(({onSubmit:e,placeholder:t,prompt:n=">"})=>{let[r,o]=Zv(""),[s,a]=Zv(0);$n(fn.High,p=>{if(p.name==="return")return r.trim()&&(e(r),o(""),a(0)),!0;if(p.name==="backspace"&&s>0){let m=[...r].slice(0,s-1).join(""),h=[...r].slice(s).join("");return o(m+h),a(s-1),!0}if(p.name==="left"&&s>0)return a(s-1),!0;if(p.name==="right"&&s<[...r].length)return a(s+1),!0;if(p.insertable&&!p.ctrl&&!p.meta){let m=[...r].slice(0,s).join(""),h=[...r].slice(s).join("");return o(m+p.sequence+h),a(s+1),!0}return!1},[r,s,e]);let c=oe("dark");if(!r)return np(E,{children:[np(I,{color:c.colors.primary,children:[n," "]}),t&&Ki(I,{dimColor:!0,children:t}),Ki(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 np(E,{children:[np(I,{color:c.colors.primary,children:[n," "]}),Ki(I,{children:l}),Ki(I,{backgroundColor:c.colors.primary,color:"#000000",children:d}),Ki(I,{children:f})]})},"SimpleInputPrompt");import{jsx as gt,jsxs as qt}from"react/jsx-runtime";import{useState as nb,useEffect as rb}from"react";var tb=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],P1=80,rp=new Set,Rl=null;function $1(){let e=Array.from(rp);for(let t of e)t()}i($1,"dispatchSharedSpinnerTick");function O1(e){return rp.add(e),Rl===null&&(Rl=setInterval($1,P1)),()=>{rp.delete(e),rp.size===0&&Rl!==null&&(clearInterval(Rl),Rl=null)}}i(O1,"subscribeToSharedSpinnerClock");function kl(e=!0){let[t,n]=nb(0);return rb(()=>{if(e)return O1(()=>{n(r=>r+1)})},[e]),t}i(kl,"useSharedSpinnerTick");var On=i(({color:e,theme:t})=>{let n=t??oe("dark"),o=kl(!0)%tb.length,s=e??n.colors.accent;return gt(I,{color:s,children:tb[o]})},"Spinner");function D1(e){return e<=0?0:Math.round(e/4)}i(D1,"estimateOutputTokens");function N1(e){let t=Math.max(0,Math.floor(e/1e3));if(t<60)return`${t}s`;let n=Math.floor(t/3600),r=Math.floor(t%3600/60),o=t%60;return n===0?`${r}m${o}s`:`${n}h${r}m${o}s`}i(N1,"formatElapsedDuration");var ob=i(({roundStartedAt:e,charCount:t,theme:n})=>{let r=n??oe("dark");if(kl(e!==null),e===null)return null;let o=B1(Date.now()-e,t);return gt(I,{color:r.colors.dim,wrap:"truncate",children:o})},"SpinnerStatsTail");function B1(e,t){let n=N1(e),r=D1(t);return r>0?` (${n} \xB7 \u2193 ${r} tokens)`:` (${n})`}i(B1,"buildSpinnerStatsText");var Pg=i(({label:e,dotCount:t=3,theme:n})=>{let r=n??oe("dark"),[o,s]=nb(1);rb(()=>{let c=setInterval(()=>{s(l=>l%t+1)},300);return()=>clearInterval(c)},[t]);let a=".".repeat(o);return qt(E,{children:[e&>(I,{color:r.colors.text,children:e}),gt(I,{color:r.colors.accent,children:a})]})},"DotsIndicator"),$g=i(({progress:e,label:t,width:n=20,theme:r})=>{let o=r??oe("dark"),s=Math.max(0,Math.min(100,e)),a=Math.round(s/100*n),c=n-a,l="\u2588".repeat(a),d="\u2591".repeat(c);return qt(E,{flexDirection:"column",children:[t&>(E,{marginBottom:1,children:gt(I,{color:o.colors.text,children:t})}),qt(E,{children:[gt(I,{color:o.colors.primary,children:l}),gt(I,{dimColor:!0,children:d}),qt(I,{children:[" ",s,"%"]})]})]})},"ProgressIndicator"),ib=i(({message:e,showSpinner:t=!1,theme:n})=>{let r=n??oe("dark"),o=e??"Thinking";return qt(E,{children:[t&>(E,{marginRight:1,children:gt(On,{theme:r})}),qt(I,{color:r.colors.accent,children:[o,"\u2026"]})]})},"ThinkingIndicator"),sb=i(({message:e,subMessage:t,progress:n,type:r="spinner",compact:o=!1,theme:s})=>{let a=s??oe("dark"),c=e??"Loading";return o?qt(E,{children:[gt(On,{theme:a}),qt(I,{color:a.colors.text,children:[" ",c,"\u2026"]})]}):r==="bar"&&n!==void 0?qt(E,{flexDirection:"column",children:[gt($g,{progress:n,label:c,theme:a}),t&>(E,{marginTop:1,children:gt(I,{dimColor:!0,children:t})})]}):r==="dots"?qt(E,{flexDirection:"column",children:[gt(Pg,{label:c,theme:a}),t&>(E,{marginTop:1,children:gt(I,{dimColor:!0,children:t})})]}):r==="simple"?qt(E,{flexDirection:"column",children:[qt(I,{color:a.colors.accent,children:[c,"\u2026"]}),t&>(E,{marginTop:1,children:gt(I,{dimColor:!0,children:t})}),n!==void 0&>(E,{marginTop:1,children:qt(I,{dimColor:!0,children:[n,"%"]})})]}):qt(E,{flexDirection:"column",children:[qt(E,{children:[gt(On,{theme:a}),qt(I,{color:a.colors.text,children:[" ",c,"\u2026"]}),n!==void 0&&qt(I,{dimColor:!0,children:[" (",n,"%)"]})]}),t&>(E,{marginTop:1,children:gt(I,{dimColor:!0,children:t})})]})},"LoadingIndicator");import{jsx as Se,jsxs as Ye,Fragment as zg}from"react/jsx-runtime";import{useEffect as Hb,useMemo as Hr,memo as Dn}from"react";import*as Ml from"node:path";function El(e){if(qw(e)){let t=Qw(e);return t?`[memory:${t}]`:"[memory]"}if(W1(e))return"[memory]"}i(El,"memoryBadgeFor");function W1(e){let t=Ml.resolve(e),n=Po("projects");if(!t.startsWith(n+Ml.sep)&&t!==n)return!1;let o=t.slice(n.length+1).split(Ml.sep);return o.length>=2&&o[1]==="memory"}i(W1,"isInsideAnyMemoryDir");function et(e,t=120){return e.length>t?`${e.slice(0,t-3)}...`:e}i(et,"truncateValue");function ab(e){if(e)return e.split(/\r?\n/).map(t=>t.trim()).find(Boolean)}i(ab,"extractFirstMeaningfulLine");function ub(e){let t=e.match(/^\[([^\]]+)\]\s+(.*)$/);if(!t)return{toolLabel:e};let n=t[1]?.trim(),r=t[2]?.trim()??e,o=new RegExp(`^${n?.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}:`,"i"),s=r.replace(o,"").trim();return{rolePrefix:n?`[${n}]`:void 0,toolLabel:s||r}}i(ub,"splitDisplayToolName");function op(e){let{rolePrefix:t,toolLabel:n}=ub(e);return t?`${t} ${n}`:n}i(op,"normalizeDisplayToolName");function Al(e){return ub(e).toolLabel}i(Al,"stripRolePrefix");function ip(e){if(!(!e||Array.isArray(e)||typeof e!="object"))return e}i(ip,"asRecord");function db(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}i(db,"readString");function Mt(e,...t){for(let n of t){let r=db(e?.[n]);if(r)return r}}i(Mt,"readFirstString");function Br(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"&&e.trim().length>0){let t=Number(e.trim());return Number.isFinite(t)?t:void 0}}i(Br,"readNumber");function fb(e){if(!Array.isArray(e))return;let t=e.map(n=>typeof n=="string"?n.trim():"").filter(Boolean);return t.length>0?t:void 0}i(fb,"readStringArray");function H1(e){if(typeof e=="string")return e.trim()||void 0;let t=ip(e);if(t)return db(t.preview)??void 0}i(H1,"extractPreview");function cb(e){if(e)try{return ip(JSON.parse(e))}catch{return}}i(cb,"parsePreviewRecord");function We(e,t){return e&&e.match(new RegExp(`"${t}"\\s*:\\s*"([^"]+)`))?.[1]?.trim()||void 0}i(We,"extractFieldFromPreview");function Wr(e,t){if(!e)return;let n=e.match(new RegExp(`"${t}"\\s*:\\s*(\\d+)`));return n?.[1]?Number(n[1]):void 0}i(Wr,"extractNumberFromPreview");function pb(e){if(!e)return;let t=e.match(/"paths"\s*:\s*\[([^\]]*)/);if(!t?.[1])return;let n=Array.from(t[1].matchAll(/"([^"]+)"/g)).map(r=>r[1]?.trim()??"").filter(Boolean);return n.length>0?n:void 0}i(pb,"extractPathsFromPreview");function F1(e){let t=H1(e);if(typeof e=="string")return{record:cb(t),preview:t};let n=ip(e),r=cb(t);return n?r?{record:{...n,...r},preview:t}:{record:n,preview:t}:{record:r,preview:t}}i(F1,"resolveInputRecord");function Ea(e,t,n,r=!1){let o=Mt(t,"path","target_path","targetPath")??We(n,"path")??We(n,"target_path")??We(n,"targetPath"),s=fb(t?.paths)??pb(n);if(r&&s?.length){if(s.length===1){let a=El(s[0]);a&&e.push(a),e.push(et(s[0]))}else e.push(`${s.length} files`);return}if(o){let a=El(o);a&&e.push(a),e.push(et(o));return}if(s?.length)if(s.length===1){let a=El(s[0]);a&&e.push(a),e.push(et(s[0]))}else e.push(`${s.length} files`)}i(Ea,"pushPathSummary");function Ma(e,t,n){n!==void 0&&e.push(`${t}=${n}`)}i(Ma,"pushNumericSummary");function Og(e,t,n){let r=Mt(t,"baseRef","base_ref")??We(n,"baseRef")??We(n,"base_ref"),o=Mt(t,"targetRef","target_ref")??We(n,"targetRef")??We(n,"target_ref");r&&o&&e.push(et(`${r}...${o}`,88))}i(Og,"pushRangeSummary");function j1(e,t){let{record:n,preview:r}=F1(t),o=Al(e).toLowerCase(),s=[];if(o.includes("changed_diff_bundle")){let a=fb(n?.paths)??pb(r);a?.length?(s.push(a.length===1?et(a[0]):`${a.length} files`),a.length>1&&s.push(et(a[0]))):Ea(s,n,r,!0);let c=Br(n?.limit_per_path)??Br(n?.limitPerPath)??Wr(r,"limit_per_path")??Wr(r,"limitPerPath");return c!==void 0&&s.push(`limit=${c}`),Og(s,n,r),s}if(o.includes("changed_diff"))return Ea(s,n,r),Ma(s,"offset",Br(n?.offset)??Wr(r,"offset")),Ma(s,"limit",Br(n?.limit)??Wr(r,"limit")),Og(s,n,r),s;if(o==="read"||o.includes("read_"))return Ea(s,n,r),Ma(s,"offset",Br(n?.offset)??Wr(r,"offset")),Ma(s,"limit",Br(n?.limit)??Wr(r,"limit")),s;if(o.includes("changed_scope"))return Ea(s,n,r,!0),Og(s,n,r),s;if(o.includes("repo_overview"))return Ea(s,n,r),s;if(o.includes("bash")||o.includes("shell_command")){let a=Mt(n,"command")??We(r,"command");return a&&s.push(`cmd=${et(a,140)}`),s}if(o==="glob"||o.includes("glob_")){let a=Mt(n,"pattern")??We(r,"pattern"),c=Mt(n,"path","root","directory","cwd")??We(r,"path")??We(r,"root")??We(r,"directory")??We(r,"cwd");if(a&&s.push(`pattern=${et(a,96)}`),c){let l=El(c);l&&s.push(l),s.push(et(c))}return s}if(o==="grep"||o.includes("grep_")){let a=Mt(n,"pattern","query")??We(r,"pattern")??We(r,"query"),c=Mt(n,"path","root","directory","cwd")??We(r,"path")??We(r,"root")??We(r,"directory")??We(r,"cwd");if(a&&s.push(`pattern=${et(a,96)}`),c){let l=El(c);l&&s.push(l),s.push(et(c))}return s}if(o==="web_fetch"){let a=Mt(n,"url")??We(r,"url"),c=Mt(n,"provider_id","providerId")??We(r,"provider_id")??We(r,"providerId"),l=Mt(n,"capability_id","capabilityId")??We(r,"capability_id")??We(r,"capabilityId");return a&&s.push(et(a,120)),c&&s.push(`provider=${et(c,48)}`),l&&s.push(`cap=${et(l,48)}`),s}if(o==="mcp_describe"||o==="mcp_read_resource"){let a=Mt(n,"id")??We(r,"id");return a&&s.push(et(a,120)),s}if(o==="mcp_call"){let a=Mt(n,"id")??We(r,"id"),c=ip(n?.args),l=c?Object.keys(c).length:void 0;return a&&s.push(et(a,120)),l!==void 0&&s.push(`args=${l}`),s}if(o==="skill"){let a=Mt(n,"skill","name")??We(r,"skill");return a&&s.push(et(a,64)),s}if(o==="mcp_search"){let a=Mt(n,"query")??We(r,"query"),c=Mt(n,"server")??We(r,"server"),l=Mt(n,"kind")??We(r,"kind"),d=Br(n?.limit)??Wr(r,"limit");return a&&s.push(`query=${et(a,96)}`),c&&s.push(`server=${et(c,48)}`),l&&s.push(`kind=${l}`),d!==void 0&&s.push(`limit=${d}`),s}if(o==="web_search"||o==="code_search"||o==="semantic_lookup"){let a=Mt(n,"query","pattern")??We(r,"query")??We(r,"pattern"),c=Mt(n,"path","target_path","targetPath")??We(r,"path")??We(r,"target_path")??We(r,"targetPath"),l=Mt(n,"provider_id","providerId")??We(r,"provider_id")??We(r,"providerId"),d=Br(n?.limit)??Wr(r,"limit");return a&&s.push(`query=${et(a,96)}`),c&&s.push(et(c,72)),l&&s.push(`provider=${et(l,48)}`),d!==void 0&&s.push(`limit=${d}`),s}return Ea(s,n,r,!0),Ma(s,"offset",Br(n?.offset)??Wr(r,"offset")),Ma(s,"limit",Br(n?.limit)??Wr(r,"limit")),s}i(j1,"summarizeToolDetails");function mb(e){let t=e.match(/Showing diff lines\s+(\d+)-(\d+)\s+of\s+(\d+)/i);if(t)return`${t[1]}-${t[2]}/${t[3]}`}i(mb,"extractChangedDiffRange");function U1(e){return e.split(/\r?\n/).map(t=>t.trim()).find(t=>t.startsWith("+")||t.startsWith("-")||t.startsWith("@@"))}i(U1,"extractDiffPreviewLine");function G1(e){let t=[],n=mb(e);if(n){let[o,s]=n.split("/");t.push(s?`Diff range: ${o} of ${s}`:`Diff range: ${n}`)}let r=U1(e);return r&&t.push(`Preview: ${et(r,220)}`),t}i(G1,"formatChangedDiffExplanation");function V1(e){let t=[],n=e.match(/^Changed diff bundle for\s+(\d+)\s+file\(s\)/im);if(n?.[1]){let o=Number(n[1]);Number.isFinite(o)&&o>0&&t.push(`Bundle: ${o===1?"1 file":`${o} files`}`)}let r=e.match(/^===\s+(.+?)\s+===/m);return r?.[1]&&t.push(`First file: ${et(r[1].trim(),220)}`),t}i(V1,"formatChangedDiffBundleExplanation");function hb(e,t){if(!t)return[];let n=Al(e).toLowerCase(),r=[];if(n.includes("changed_diff_bundle")){let o=t.match(/^Changed diff bundle for\s+(\d+)\s+file\(s\)/im);if(o?.[1]){let a=Number(o[1]);Number.isFinite(a)&&a>0&&r.push(a===1?"1 file":`${a} files`)}let s=t.match(/^===\s+(.+?)\s+===/m);return s?.[1]&&r.push(et(s[1].trim())),r}if(n.includes("changed_diff")){let o=t.match(/^Changed diff for\s+(.+)$/im);o?.[1]&&r.push(et(o[1].trim()));let s=mb(t);return s&&r.push(s),r}if(n==="read"||n.includes("read_")){let o=t.match(/^Reading\s+(.+)$/im);return o?.[1]&&r.push(et(o[1].trim())),r}return[]}i(hb,"summarizeToolOutputDetails");function Dg(e,t){let n=op(e);return t.length>0?`${n} - ${t.join(" - ")}`:n}i(Dg,"formatToolDetailSummary");function K1(e,t){if(!t)return;let n=t-e;return n<1e3?`${n}ms`:`${(n/1e3).toFixed(1)}s`}i(K1,"formatDuration");function z1(e){switch(e.status){case j.Scheduled:return"scheduled";case j.Validating:return"validating";case j.AwaitingApproval:return"awaiting approval";case j.Executing:return"running";case j.Error:return"failed";case j.Cancelled:return"cancelled";default:return}}i(z1,"formatToolStatusDetail");function lb(e){switch(e.status){case j.Scheduled:return["Queued: waiting to start"];case j.Validating:return["Validating: checking inputs and policy"];case j.AwaitingApproval:return["Waiting: approval required before execution"];case j.Executing:return e.progress!==void 0?[`Progress: ${e.progress}% complete`]:e.progressLines&&e.progressLines.length>0?e.progressLines.slice(-5):e.preview?[`Running: ${e.preview}`]:["Running: waiting for tool output"];case j.Cancelled:return["Cancelled before completion"];default:return[]}}i(lb,"formatToolProgressExplanation");function Ng(e){return e.startsWith("Error:")?"error":e.startsWith("Waiting:")?"accent":e.startsWith("Progress:")||e.startsWith("Running:")?"primary":"dim"}i(Ng,"resolveToolExplanationTone");function Y1(e){let t=ab(e.error),n=typeof e.output=="string"?ab(e.output):void 0,r=[];return t&&r.push(`Error: ${et(t,220)}`),e.status===j.Error&&n&&(!t||n.toLowerCase()!==t.toLowerCase())&&r.push(`Last output: ${et(n,220)}`),r}i(Y1,"formatToolFailureExplanation");function Bg(e){if(typeof e.output!="string"||!e.output.trim())return lb(e);let t=Al(e.name).toLowerCase();return e.status===j.Error?Y1(e):e.status!==j.Success?lb(e):t.includes("changed_diff_bundle")?V1(e.output):t.includes("changed_diff")?G1(e.output):[]}i(Bg,"formatToolResultExplanation");function Wg(e,t){return Dg(e,j1(e,t))}i(Wg,"formatToolSummary");function sp(e){let t=typeof e.output=="string"?hb(e.name,e.output):[],n=t.length>0?Dg(e.name,t):Wg(e.name,e.input),r=z1(e),o=K1(e.startTime,e.endTime),s=e.status===j.Executing&&e.progress!==void 0?`${e.progress}%`:e.status===j.Executing&&e.preview?e.preview:void 0,a=[r,s,o].filter(Boolean);return a.length>0?`${n} (${a.join(" - ")})`:n}i(sp,"formatToolCallInlineText");function ap(e){let t=new Map;for(let n of e){let r=typeof n.output=="string"?hb(n.name,n.output):[],o=r.length>0?Dg(n.name,r):Wg(n.name,n.input),a=n.progressLines&&n.progressLines.length>0?`${o}|${n.id}`:`${o}|${n.error??""}`,c=t.get(a);c?(c.tool=n,c.count+=1):t.set(a,{tool:n,count:1})}return[...t.values()]}i(ap,"collapseToolCalls");function _l(e){let t=sp(e.tool);return e.count>1?`${t} x${e.count}`:t}i(_l,"formatCollapsedToolInlineText");function cp(e,t,n){let r=Wg(e,t);return r!==op(e)?`[Tools] ${r}`:n>0?`[Tools] ${op(e)} (${n} chars)`:`[Tools] ${op(e)}`}i(cp,"formatLiveToolLabel");function Hg(e,t=e.length){let n=0,r=Math.min(t,e.length);for(let o=0;o<r;o++)e.charCodeAt(o)===10&&(n+=1);return n}i(Hg,"countNewlines");function lp(e,t={}){let n=t.maxChars??1e4,r=t.headChars??2500,o=t.tailChars??2500;if(e.length<=n)return e;let s=e.slice(0,r),a=e.slice(-o),c=Hg(e),l=Hg(s),d=Hg(a),f=Math.max(0,c-l-d);return`${s}
|
|
49
|
+
\u2026 +${f} lines \u2026
|
|
50
|
+
${a}`}i(lp,"truncateUserMessageForDisplay");var gb="(?:\x1B[[0-9;]*m)*",X1=new RegExp(`^(${gb})(?:[ \r]*
|
|
51
|
+
)+`),q1=new RegExp(`(?:
|
|
52
|
+
[ \r]*)+(${gb})$`);function Fg(e){return e.replace(X1,"$1").replace(q1,"$1")}i(Fg,"stripOuterBlankLines");function Ot(e){let t=/\u001b\[[0-9;?]*[ -/]*[@-~]/g,n=/\u001b\][^\u0007\u001b]*(?:\u0007|\u001b\\)/g,r=/\u001b[@-_]/g;return e.replace(t,"").replace(n,"").replace(r,"")}i(Ot,"stripAnsi");var Q1=new Set(["edit","write","multi_edit","insert_after_anchor"]),J1=20;function Z1(e){return Q1.has(Al(e.name).trim().toLowerCase())}i(Z1,"isMutationTool");function eO(e){return e.startsWith("--- ")||e.startsWith("+++ ")?{color:"dim",skip:!0}:/^(File (edited|created|updated|written)|Content inserted)/.test(e)?{color:"dim",skip:!0}:e.startsWith("@@")?{color:"dim",skip:!1}:e.startsWith("+")?{color:"success",skip:!1}:e.startsWith("-")?{color:"error",skip:!1}:{color:"dim",skip:!1}}i(eO,"classifyDiffLine");function tO(e,t,n,r,o){let s=[],a=!1;for(let p of n.split(/\r?\n/)){let{color:m,skip:h}=eO(p);h||((m==="success"||m==="error")&&(a=!0),s.push({text:p,color:m}))}if(!a)return!1;let c=0,l=s.length;for(;c<l&&s[c].text.trim()==="";)c++;for(;l>c&&s[l-1].text.trim()==="";)l--;let d=s.slice(c,l);if(d.length===0)return!1;let f=o?d:d.slice(0,J1);return f.forEach((p,m)=>{$e(e,`${t}-diff-${m}`,p.text,ct(r,4),{color:p.color,indent:4})}),!o&&d.length>f.length&&$e(e,`${t}-diff-more`,`... (${d.length-f.length} more lines)`,ct(r,4),{color:"dim",indent:4}),!0}i(tO,"pushDiffRows");var yb=400,nO="... (thinking truncated; press Ctrl+O to inspect full reasoning)",xb=2e5,rO="... (thinking show-all truncated at 200K chars; full content available via session artifacts)",Cb=1e5,Sb=120,oO=" \u2026 (Ctrl+O to expand)";function Ib(){return process.env.KODAX_THINKING_COLLAPSE!=="0"}i(Ib,"isThinkingCollapseEnabled");function iO(e){let t=e.split(/\r?\n/).map(a=>a.trim()).filter(a=>a.length>0),n=t[0]??"",r=t.length>1,o=n.length>Sb;return{summary:o?`${n.slice(0,Sb).trimEnd()}\u2026`:n,hasMore:r||o}}i(iO,"buildCollapsedThinkingLine");function sO(e,t){if(!e||!t)return e;let n=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return e.replace(new RegExp(`^\\[Tools\\]\\s+\\[${n}\\]\\s+`,"i"),"[Tools] ").replace(new RegExp(`^\\[Thinking\\]\\s+\\[${n}\\]\\s*`,"i"),"[Thinking] ").replace(new RegExp(`^\\[${n}\\]\\s+thinking\\b`,"i"),"[Thinking]").trim()}i(sO,"normalizeManagedLiveActivityLabel");function Ll(e){return new Date(e).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"})}i(Ll,"formatTimestamp");function vb(e){switch(e){case j.Scheduled:return"\u25CB";case j.Validating:return"\u25D0";case j.AwaitingApproval:return"\u23F8";case j.Executing:return"\u25CF";case j.Success:return"\u2713";case j.Error:return"\u2717";case j.Cancelled:return"\u2298";default:return"[tool]"}}i(vb,"getToolStatusIcon");function bb(e){switch(e){case j.Scheduled:case j.Validating:return"dim";case j.AwaitingApproval:return"accent";case j.Executing:return"primary";case j.Success:return"success";case j.Error:return"error";case j.Cancelled:return"dim";default:return"text"}}i(bb,"getToolStatusColor");function aO(e,t){let n=Math.max(1,t),r=e.split(`
|
|
53
|
+
`),o=hn(r.length>0?r:[""],n,0,0);return o.visualLines.length>0?o.visualLines:[""]}i(aO,"wrapText");function jg(e,t,n,r=!1){if(n||r)return e.length>xb?`${e.slice(0,xb)}
|
|
54
|
+
|
|
55
|
+
${rO}`:e;let o=e.split(/\r?\n/),s=o.length>t,a=s?o.slice(0,t).join(`
|
|
56
|
+
`):e,c=a.length>yb,l=c?a.slice(0,yb):a;return!s&&!c?e:`${l}
|
|
57
|
+
|
|
58
|
+
${nO}`}i(jg,"buildThinkingPreview");function cO(e){for(let t=e.length-1;t>=0;t--)if(e[t]?.type==="user")return t;return 0}i(cO,"findActiveRoundStartIndex");function $e(e,t,n,r,o){let s=Ot(n),a=aO(s,r);if(a.length===0){e.push({key:`${t}-0`,text:"",...o});return}a.forEach((c,l)=>{e.push({key:`${t}-${l}`,text:c,...o})})}i($e,"pushWrappedRows");function Aa(e,t){e.push({key:t,text:" "})}i(Aa,"pushBlankRow");function ct(e,t=0){return Math.max(20,e-t)}i(ct,"getBodyWidth");function lO(e){if(!e.input)return[];let t=JSON.stringify(e.input,null,2)?.trim();return t?t.split(/\r?\n/).slice(0,6).map((n,r)=>r===0?`input: ${n}`:n):[]}i(lO,"buildToolInputPreview");function uO(e,t,n,r,o,s=!1,a=!1){$e(e,`${t}-tool-${n.id}-main`,`${vb(n.status)} ${_l({tool:n,count:r})}`,ct(o,2),{color:bb(n.status),indent:2,bold:n.status===j.Executing}),Bg(n).forEach((d,f)=>{let p=Ng(d);$e(e,`${t}-tool-${n.id}-explanation-${f}`,d,ct(o,4),{color:p,indent:4})});let l=n.status===j.Success&&typeof n.output=="string"&&n.output.trim().length>0&&Z1(n)&&tO(e,`${t}-tool-${n.id}`,n.output,o,a);if(s){let d=lO(n),f=a?d:d.slice(0,6);f.forEach((p,m)=>{$e(e,`${t}-tool-${n.id}-input-${m}`,p,ct(o,4),{color:"dim",indent:4})}),!a&&d.length>f.length&&$e(e,`${t}-tool-${n.id}-input-more`,`... (${d.length-f.length} more lines)`,ct(o,4),{color:"dim",indent:4})}if(s&&!l&&typeof n.output=="string"&&n.output.trim()){let d=n.output.trim().split(/\r?\n/),f=a?d:d.slice(0,8);f.forEach((m,h)=>{$e(e,`${t}-tool-${n.id}-output-${h}`,m,ct(o,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)`,ct(o,4),{color:"dim",indent:4})}}i(uO,"buildToolRows");function dO(e,t,n,r){let o=n.status===j.Executing,s=o?"":`${vb(n.status)} `;$e(e,`${t}-tool-${n.id}-main`,`${s}${_l({tool:n,count:1})}`,ct(r,2),{color:bb(n.status),indent:2,bold:o,spinner:o}),Bg(n).forEach((c,l)=>{let d=Ng(c);$e(e,`${t}-tool-${n.id}-explanation-${l}`,c,ct(r,4),{color:d,indent:4})})}i(dO,"buildLiveToolRows");function Rb(e){let{items:t,viewportWidth:n,isLoading:r=!1,maxLines:o=1e3,isThinking:s=!1,thinkingCharCount:a=0,thinkingContent:c="",streamingResponse:l="",currentTool:d,activeToolCalls:f=[],toolInputCharCount:p=0,toolInputContent:m="",iterationHistory:h=[],currentIteration:S=1,isCompacting:v=!1,managedAgentMode:T,managedPhase:w,managedHarnessProfile:b,managedWorkerTitle:M,managedRound:O,managedMaxRounds:k,lastLiveActivityLabel:P,liveStatusLines:q=[],currentTodoActiveForm:V,showFullThinking:K=!1,showDetailedTools:fe=!1,showAllContent:ge=!1,showLiveProgressRows:Z=!0}=e,y=[];for(let A of t)switch(A.type){case"user":$e(y,`${A.id}-header`,`You [${Ll(A.timestamp)}]`,n,{color:"primary",bold:!0,itemId:A.id}),$e(y,`${A.id}-body`,lp(A.text),ct(n,2),{color:"text",indent:2,itemId:A.id}),y.push({key:`${A.id}-blank`,text:" ",itemId:A.id});break;case"assistant":{let Q=Fg(ge?A.text:A.compactText??A.text);$e(y,`${A.id}-header`,`Assistant [${Ll(A.timestamp)}]`,n,{color:"secondary",bold:!0,spinner:A.isStreaming,itemId:A.id}),$e(y,`${A.id}-body`,Q,ct(n,2),{color:"text",indent:2,itemId:A.id}),y.push({key:`${A.id}-blank`,text:" ",itemId:A.id});break}case"system":$e(y,`${A.id}-header`,`System [${Ll(A.timestamp)}]`,n,{color:"dim",bold:!0,itemId:A.id}),$e(y,`${A.id}-body`,A.text,ct(n,2),{color:"dim",indent:2,itemId:A.id}),y.push({key:`${A.id}-blank`,text:" ",itemId:A.id});break;case"tool_group":$e(y,`${A.id}-header`,`Tools [${Ll(A.timestamp)}]`,n,{color:"accent",bold:!0,itemId:A.id}),ap(A.tools).forEach(Q=>uO(y,A.id,Q.tool,Q.count,n,fe,ge)),y.push({key:`${A.id}-blank`,text:" ",itemId:A.id});break;case"thinking":{$e(y,`${A.id}-header`,"Thinking",n,{color:"thinking",italic:!0,itemId:A.id});let Q=Ib()&&!K&&!ge?iO(A.compactText??A.text):void 0;if(Q?.hasMore){$e(y,`${A.id}-body`,`${Q.summary}${oO}`,ct(n,2),{color:"thinking",indent:2,italic:!0,itemId:A.id}),y.push({key:`${A.id}-blank`,text:" ",itemId:A.id});break}let W=ge?jg(A.text,o,K,ge):A.compactText??jg(A.text,o,K,ge);$e(y,`${A.id}-body`,W,ct(n,2),{color:"thinking",indent:2,italic:!0,itemId:A.id}),y.push({key:`${A.id}-blank`,text:" ",itemId:A.id});break}case"error":$e(y,`${A.id}-header`,"\u2717 Error",n,{color:"error",bold:!0,itemId:A.id}),$e(y,`${A.id}-body`,A.text,ct(n,2),{color:"error",indent:2,itemId:A.id}),y.push({key:`${A.id}-blank`,text:" ",itemId:A.id});break;case"info":$e(y,`${A.id}-body`,`${A.icon??"\u2139"} ${Fg(ge?A.text:A.compactText??A.text)}`,n,{color:"info",itemId:A.id}),y.push({key:`${A.id}-blank`,text:" ",itemId:A.id});break;case"event":$e(y,`${A.id}-body`,`${A.icon??">"} ${ge?A.text:A.compactText??A.text}`,n,{color:"text",itemId:A.id}),y.push({key:`${A.id}-blank`,text:" ",itemId:A.id});break;case"hint":$e(y,`${A.id}-header`,"\u{1F4A1} Hint",n,{color:"hint",bold:!0,itemId:A.id}),$e(y,`${A.id}-body`,A.text,ct(n,2),{color:"dim",indent:2,itemId:A.id}),y.push({key:`${A.id}-blank`,text:" ",itemId:A.id});break;case"sidecar":{let Q=A.delivery==="budget-exhausted"?"\u26A1 Sidecar Verifier \u2014 budget exhausted":A.verdict==="blocked"?"\u26A1 Sidecar Verifier \u2014 blocked":"\u26A1 Sidecar Verifier \u2014 revise";$e(y,`${A.id}-header`,`${Q} [${Ll(A.timestamp)}]`,n,{color:"warning",bold:!0,itemId:A.id}),$e(y,`${A.id}-body`,A.text,ct(n,2),{color:"dim",indent:2,itemId:A.id}),y.push({key:`${A.id}-blank`,text:" ",itemId:A.id});break}default:break}if(Z&&h.length>0&&(h.forEach(A=>{if($e(y,`iteration-${A.iteration}-header`,`\u2500\u2500 Round ${A.iteration} \u2500\u2500`,n,{color:"dim",bold:!0}),A.thinkingSummary){let Q=A.thinkingLength>60?` (${A.thinkingLength} chars total)`:"";$e(y,`iteration-${A.iteration}-thinking`,`\u{1F4AD} ${A.thinkingSummary}${Q}`,ct(n,1),{color:"thinking",indent:1,italic:!0})}if(A.response){let Q=A.response.slice(0,200);$e(y,`iteration-${A.iteration}-response`,Q,ct(n,1),{color:"text",indent:1}),A.response.length>200&&$e(y,`iteration-${A.iteration}-response-more`,`... (${A.response.length} chars total)`,ct(n,1),{color:"dim",indent:1})}A.toolsUsed.length>0&&$e(y,`iteration-${A.iteration}-tools`,`* tools: ${A.toolsUsed.join(", ")}`,ct(n,1),{color:"accent",indent:1}),Aa(y,`iteration-${A.iteration}-blank`)}),$e(y,"iteration-current-header",`\u2500\u2500 Round ${S} (current) \u2500\u2500`,n,{color:"accent",bold:!0}),Aa(y,"iteration-current-blank")),r&&c){let A=jg(c,o,K,ge);$e(y,"thinking-stream-header","Thinking",n,{color:"thinking",italic:!0}),$e(y,"thinking-stream-body",A,ct(n,2),{color:"thinking",indent:2,italic:!0}),Aa(y,"thinking-stream-blank")}if(r){let A="Thinking",Q="",W=sO(P,M),ae=M??"Scout",le=w==="routing"?`[${T?T.toUpperCase():"AMA"} Routing] `:w==="preflight"?`[${T?T.toUpperCase():"AMA"} ${ae}] `:w==="verifying"?`[${T?T.toUpperCase():"AMA"} Verifying] `:b?`[${T?T.toUpperCase():"AMA"} ${M??"Worker"}] `:"",pe=f.filter(Y=>Y.status===j.Executing).length,Ee=f.filter(Y=>Y.status===j.Success).length,ue=f.filter(Y=>Y.status===j.Error).length,ye=f.filter(Y=>Y.status===j.Cancelled).length,_e=f.length>0&&(pe>0||!l);if(v)A="Compacting";else if(w==="verifying")Q=le,A="checking agent output";else if(_e){let Y=[];if(pe>0&&Y.push(`${pe} running`),Ee>0&&Y.push(`${Ee} done`),ue>0&&Y.push(`${ue} error`),ye>0&&Y.push(`${ye} cancelled`),Y.length===0&&Y.push(`${f.length} tools`),$e(y,"loading-tools-header",`${le}[Tools] ${Y.join(", ")}`,n,{color:"primary",bold:!0,spinner:pe>0}),f.forEach(ne=>{dO(y,"loading-tools",ne,n)}),Aa(y,"loading-tools-blank"),pe>0&&!l&&!Z)return y}else if(V)Q=le||"[Plan] ",A=V;else if(d)Q=le||"[Tool] ",A=W?.startsWith("[Tools]")?W:cp(d,m,p);else if(s){Q=le||"[Thinking] ";let Y=O&&k&&O>1?` round ${O}/${k}`:"";A=a>0?`${a} chars${Y}`:W?`${W}${Y}`:`processing${Y}`}else W&&(A=W);Z&&$e(y,"loading-indicator",`${Q}${A}...`,n,{color:"accent",spinner:!0})}if(Z&&q.length>0&&($e(y,"live-status-header","Live status",n,{color:"dim",bold:!0}),q.forEach((A,Q)=>{$e(y,`live-status-${Q}`,A,ct(n,2),{color:"dim",indent:2})}),Aa(y,"live-status-blank")),l){let A=l.lastIndexOf(`
|
|
59
|
+
`),Q=A>=0?l.slice(0,A+1):"";Q.length>0&&($e(y,"streaming-header","Assistant",n,{color:"secondary",bold:!0}),$e(y,"streaming-body",Q,ct(n,2),{color:"text",indent:2}),Aa(y,"streaming-blank"))}return y}i(Rb,"buildTranscriptRows");function fO(e,t,n=1e3,r=!1,o=!1,s=!1){return _a(e,t,n,r,void 0,o,s)}i(fO,"buildStaticTranscriptSections");var wb=new WeakMap,Tb=new Set(["thinking","tool_group"]);function pO(){return process.env.KODAX_TRANSCRIPT_TIGHT!=="0"}i(pO,"isTightRunSpacingEnabled");function mO(e,t){return pO()?t.map((n,r)=>{let o=e[r],s=e[r+1];if(!o||!s||!Tb.has(o.type)||!Tb.has(s.type))return n;let a=n.rows,c=a[a.length-1];return c&&c.text===" "&&c.key.endsWith("-blank")?{...n,rows:a.slice(0,-1)}:n}):t}i(mO,"suppressTightRunBlanks");function _a(e,t,n=1e3,r=!1,o,s=!1,a=!1){let c=e.map(l=>{let d=r||!!o?.has(l.id),f=`${t}|${n}|${s?1:0}|${d?1:0}|${Ib()?1:0}|${a?1:0}`,p=wb.get(l);if(p!==void 0&&p.sig===f)return p.section;let m={key:l.id,rows:Rb({items:[l],viewportWidth:t,maxLines:n,showAllContent:s,showDetailedTools:d,showFullThinking:a})};return wb.set(l,{sig:f,section:m}),m});return mO(e,c)}i(_a,"buildHistoryItemTranscriptSections");function hO(e,t){return{key:e,rows:Rb(t)}}i(hO,"buildDynamicTranscriptSection");function up(e){let{items:t,viewportWidth:n,maxLines:r=1e3,showDetailedTools:o=!1,showAllContent:s=!1,showFullThinking:a=!1,windowed:c=!1}=e;if(c)return{staticSections:[],activeItems:t};let l=cO(t),d=t.slice(0,l),f=t.slice(l);return{staticSections:fO(d,n,r,o,s,a),activeItems:f}}i(up,"buildTranscriptStaticPortion");function dp(e){let{activeItems:t,viewportWidth:n,maxLines:r=1e3,showDetailedTools:o=!1,showAllContent:s=!1,showFullThinking:a=!1,expandedItemKeys:c,...l}=e,d=_a(t,n,r,o,c,s,a),f=hO("active-pending",{...l,items:[],managedLiveEvents:[],lastLiveActivityLabel:l.lastLiveActivityLabel,viewportWidth:n,maxLines:r,showAllContent:s,showDetailedTools:o,showFullThinking:a,expandedItemKeys:c}),p=f.rows.length>0?[f]:[];return{sections:d,previewSections:p}}i(dp,"buildTranscriptDynamicPortion");function fp(e,t){return{staticSections:e.staticSections,sections:t.sections,rows:Yi(t.sections),previewSections:t.previewSections,previewRows:Yi(t.previewSections)}}i(fp,"composeTranscriptRenderModel");function kb(e,t,n){let r=fp(e,t);return n?{...r,staticSections:[n,...r.staticSections]}:r}i(kb,"buildInlinePromptRenderModel");function Eb(e,t,n,r){let o=Number.isFinite(r)?Math.max(1,Math.floor(r)):1,s=[...t,...n],a=Math.max(0,s.length-o),c=s.slice(a),l=e.flatMap(m=>m.rows),d=s.slice(0,a).filter(m=>m.spinner!==!0);return{committedSections:[...l,...d].map((m,h)=>({key:`il-${h}`,rows:[{...m,key:`il-${h}`}]})),liveRows:c}}i(Eb,"splitInlineLedgerModel");function gO(e){return e.replace(/^(You|Assistant|Tools|System) \[\d{1,2}:\d{2}[^\]]*\]$/u,"$1")}i(gO,"stripHeaderTimestamp");function Mb(e){let t=5381;for(let n of e.rows){let r=gO(n.text);for(let o=0;o<n.key.length;o++)t=(t<<5)+t+n.key.charCodeAt(o)|0;t=(t<<5)+t+0|0;for(let o=0;o<r.length;o++)t=(t<<5)+t+r.charCodeAt(o)|0;t=(t<<5)+t+1|0}return{key:e.key,fingerprint:`${t>>>0}`}}i(Mb,"identifyInlineCommitSection");function pp(e){let t=up({items:e.items,viewportWidth:e.viewportWidth,maxLines:e.maxLines,showDetailedTools:e.showDetailedTools,showAllContent:e.showAllContent,showFullThinking:e.showFullThinking,windowed:e.windowed}),{items:n,...r}=e,o=dp({...r,activeItems:t.activeItems});return fp(t,o)}i(pp,"buildTranscriptRenderModel");function Yi(e){return e.flatMap(t=>t.rows)}i(Yi,"flattenTranscriptSections");function Ab(e){let t=5381;for(let n of e.rows){let r=`${n.key}\0${n.text}`;for(let o=0;o<r.length;o++)t=Math.imul(t,33)+r.charCodeAt(o)|0}return{key:e.key,fingerprint:`${e.rows.length}:${(t>>>0).toString(36)}`}}i(Ab,"identifyTranscriptSection");function Ug(e){let t=[...e.staticSections,...e.sections];return{staticSections:[],sections:t,rows:Yi(t),previewSections:[...e.previewSections],previewRows:Yi(e.previewSections)}}i(Ug,"materializeTranscriptRenderModel");function _b(e,t={}){let{start:n,end:r,viewportTop:o,viewportHeight:s,viewportRows:a,scrollOffset:c=0,windowed:l=!1}=t;if(typeof o=="number"&&typeof s=="number"){let d=Math.max(0,o),f=Math.max(d,o+Math.max(0,s));return e.slice(d,f)}return typeof n=="number"&&typeof r=="number"?e.slice(Math.max(0,n),Math.max(0,r)):l?Vg(e,a,c):e}i(_b,"resolveVisibleTranscriptRows");var yO=200,xO=50,Gg=30;function Lb(e,t,n=yO,r=xO){let o=t.current,s=o?e.findIndex(l=>l.id===o.id):-1,a=s>=0?s:o?Math.min(o.idx,Math.max(0,e.length-n)):0;e.length-a>n+r&&(a=e.length-n);let c=e[a];return c&&(o?.id!==c.id||o.idx!==a)?t.current={id:c.id,idx:a}:!c&&o&&(t.current=null),a}i(Lb,"computeTranscriptCapStart");function Pb(e,t){if(t<=0||e.length===0)return[];let n=0,r=0;for(let o=e.length-1;o>=0;o--)if(e[o]?.type==="user"&&(n++,n>t)){r=o+1;break}return e.slice(r)}i(Pb,"sliceHistoryToRecentRounds");function Vg(e,t,n=0){if(!t||t<=0)return e;let r=Math.max(0,n),o=Math.max(0,e.length-r),s=Math.max(0,o-t);return e.slice(s,o)}i(Vg,"getVisibleTranscriptRows");function $b(e,t,n){if(!t||!n||n<=0)return 0;let r=Yi(e),o=e.find(d=>d.key===t);if(!o||o.rows.length===0)return 0;let s=o.rows[0]?.key,a=r.findIndex(d=>d.key===s);if(a===-1)return 0;let c=Math.max(0,a-Math.floor(n/3)),l=Math.min(r.length,c+n);return Math.max(0,r.length-l)}i($b,"resolveScrollOffsetForTranscriptItem");function Ob(e,t){if(t)switch(t){case"warning":return e.colors.warning;case"info":return e.colors.info;case"hint":return e.colors.hint;default:return e.colors[t]}}i(Ob,"resolveTranscriptColor");var mp="__transcript_hidden_divider__";function Db(e,t){let n=e===1?"message":"messages";return{id:mp,type:"info",timestamp:t?Math.max(0,t-1):0,text:`${e} earlier ${n} hidden \u2014 press Ctrl+E to show all`,icon:"\u2191"}}i(Db,"buildTranscriptHiddenDivider");function Kg(e){return e.id===mp}i(Kg,"isTranscriptHiddenDivider");var Nb=new Ni(500);function SO(e){let t=mn(e),n=[],r=[],o=0,s=0;for(let a of t)n.push(o),r.push(s),o+=a.length,s+=hf(a);return{graphemes:t,codeUnitOffsets:n,visualOffsets:r,length:t.length,displayWidth:s}}i(SO,"buildTranscriptTextMetrics");function Pl(e){let t=Nb.get(e);if(t)return t;let n=SO(e);return Nb.set(e,n),n}i(Pl,"getTranscriptTextMetrics");function Qo(e){return Pl(e).length}i(Qo,"getTranscriptTextLength");function Bb(e){return Pl(e).displayWidth}i(Bb,"getTranscriptTextDisplayWidth");function hp(e,t){let n=Pl(e),r=Math.max(0,Math.min(n.length-1,t));return n.graphemes[r]??""}i(hp,"charAtTranscriptText");function La(e,t,n){let r=Pl(e),o=Math.max(0,Math.min(r.length,Math.floor(t))),s=typeof n=="number"?Math.max(o,Math.min(r.length,Math.floor(n))):r.length;return r.graphemes.slice(o,s).join("")}i(La,"sliceTranscriptText");function Wb(e,t){let n=Pl(e),r=Math.max(0,Math.floor(t));if(r<=0||n.length===0)return 0;for(let o=0;o<n.length;o+=1){let s=n.visualOffsets[o]??0,a=o+1<n.length?n.visualOffsets[o+1]??n.displayWidth:n.displayWidth;if(r<a||r===s)return o}return n.length}i(Wb,"resolveTranscriptTextIndexAtVisualColumn");function gp(e){return new Date(e).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"})}i(gp,"formatTimestamp");function wO(e,t){let n=e.split(`
|
|
60
|
+
`),r=n.slice(0,t),o=n.length>t;return{lines:r,hasMore:o}}i(wO,"truncateLines");function TO(e){switch(e){case j.Scheduled:return"\u25CB";case j.Validating:return"\u25D0";case j.AwaitingApproval:return"\u23F8";case j.Executing:return"\u25CF";case j.Success:return"\u2713";case j.Error:return"\u2717";case j.Cancelled:return"\u2298";default:return"?"}}i(TO,"getToolStatusIcon");function CO(e,t){switch(e){case j.Scheduled:case j.Validating:return t.colors.dim;case j.AwaitingApproval:return t.colors.accent;case j.Executing:return t.colors.primary;case j.Success:return t.colors.success;case j.Error:return t.colors.error;case j.Cancelled:return t.colors.dim;default:return t.colors.text}}i(CO,"getToolStatusColor");var IO=Dn(({item:e,theme:t})=>{let n=Hr(()=>lp(e.text),[e.text]);return Ye(E,{flexDirection:"column",marginBottom:1,children:[Ye(E,{children:[Se(I,{color:t.colors.primary,bold:!0,children:"You"}),Ye(I,{dimColor:!0,children:[" [",gp(e.timestamp),"]"]})]}),Se(E,{marginLeft:2,children:Se(I,{color:t.colors.text,children:n})})]})}),vO=Dn(({item:e,theme:t,maxLines:n})=>{let r=e.compactText??e.text,{lines:o,hasMore:s}=wO(r,n);return Ye(E,{flexDirection:"column",marginBottom:1,children:[Ye(E,{children:[Se(I,{color:t.colors.secondary,bold:!0,children:"Assistant"}),e.isStreaming&&Ye(zg,{children:[Se(I,{children:" "}),Se(On,{color:t.colors.accent})]}),Ye(I,{dimColor:!0,children:[" [",gp(e.timestamp),"]"]})]}),Ye(E,{marginLeft:2,flexDirection:"column",children:[o.map((a,c)=>Se(I,{color:t.colors.text,children:a||" "},c)),s&&Ye(I,{dimColor:!0,children:["... (",r.split(`
|
|
61
|
+
`).length-n," more lines)"]})]})]})}),bO=Dn(({item:e,theme:t})=>Ye(E,{flexDirection:"column",marginBottom:1,children:[Ye(E,{children:[Se(I,{color:t.colors.dim,bold:!0,children:"System"}),Ye(I,{dimColor:!0,children:[" [",gp(e.timestamp),"]"]})]}),Se(E,{marginLeft:2,children:Se(I,{dimColor:!0,children:e.text})})]})),RO=Dn(({tool:e,count:t=1,theme:n})=>{let r=TO(e.status),o=CO(e.status,n);return Ye(E,{flexDirection:"column",marginLeft:2,children:[Ye(E,{children:[Ye(I,{color:o,children:[r," "]}),Se(I,{color:n.colors.text,bold:!0,children:_l({tool:e,count:t})})]}),e.error&&Se(E,{marginLeft:2,children:Se(I,{color:n.colors.error,children:e.error})})]})}),kO=Dn(({item:e,theme:t})=>{let n=ap(e.tools);return Ye(E,{flexDirection:"column",marginBottom:1,children:[Ye(E,{children:[Se(I,{color:t.colors.accent,bold:!0,children:"Tools"}),Ye(I,{dimColor:!0,children:[" [",gp(e.timestamp),"]"]})]}),n.map(r=>Se(RO,{tool:r.tool,count:r.count,theme:t},`${r.tool.id}-${r.count}`))]})}),EO=Dn(({item:e,theme:t})=>Ye(E,{flexDirection:"column",marginBottom:1,children:[Se(E,{children:Se(I,{color:t.colors.thinking,italic:!0,children:"Thinking"})}),Se(E,{marginLeft:2,children:Se(I,{color:t.colors.thinking,italic:!0,children:e.compactText??e.text})})]})),MO=Dn(({item:e,theme:t})=>Ye(E,{flexDirection:"column",marginBottom:1,children:[Se(E,{children:Ye(I,{color:t.colors.error,bold:!0,children:["\u2717"," Error"]})}),Se(E,{marginLeft:2,children:Se(I,{color:t.colors.error,children:e.text})})]})),AO=Dn(({item:e,theme:t})=>Se(E,{flexDirection:"column",marginBottom:1,children:Ye(I,{color:t.colors.text,children:[Se(I,{color:t.colors.accent,bold:!0,children:e.icon??">"}),Se(I,{children:" "}),e.compactText??e.text]})})),_O=Dn(({item:e,theme:t})=>Se(E,{flexDirection:"column",marginBottom:e.tightSpacing?0:1,children:Ye(I,{color:t.colors.info,children:[Ye(I,{bold:!0,children:[e.icon??"\u2139"," "]}),e.compactText??e.text]})})),LO=Dn(({item:e,theme:t})=>Ye(E,{flexDirection:"column",marginBottom:1,children:[Se(E,{children:Ye(I,{color:t.colors.hint,bold:!0,children:["\u{1F4A1}"," Hint"]})}),Se(E,{marginLeft:2,children:Se(I,{dimColor:!0,children:e.text})})]})),Fb=Dn(({item:e,theme:t,maxLines:n=1e3})=>{let r=Hr(()=>oe("dark"),[]),o=t??r;switch(e.type){case"user":return Se(IO,{item:e,theme:o});case"assistant":return Se(vO,{item:e,theme:o,maxLines:n});case"system":return Se(bO,{item:e,theme:o});case"tool_group":return Se(kO,{item:e,theme:o});case"thinking":return Se(EO,{item:e,theme:o});case"error":return Se(MO,{item:e,theme:o});case"event":return Se(AO,{item:e,theme:o});case"info":return Se(_O,{item:e,theme:o});case"hint":return Se(LO,{item:e,theme:o});default:return Se(E,{children:Se(I,{dimColor:!0,children:"Unknown item type"})})}});function PO(e,t){if(e.theme!==t.theme||(e.animateSpinners??!0)!==(t.animateSpinners??!0)||(e.selectedItem??!1)!==(t.selectedItem??!1))return!1;let n=e.row,r=t.row;if(n!==r){if(n.key!==r.key||n.text!==r.text||n.color!==r.color||n.bold!==r.bold||n.italic!==r.italic||n.indent!==r.indent||n.spinner!==r.spinner||n.itemId!==r.itemId)return!1}let o=e.selectionRange,s=t.selectionRange;return o===s?!0:!o||!s?!1:o.start===s.start&&o.end===s.end}i(PO,"areTranscriptRowPropsEqual");var jb=Dn(({row:e,theme:t,animateSpinners:n=!0,selectedItem:r=!1,selectionRange:o})=>{let s=Ob(t,e.color),a=e.text===" "?"":e.text,c=a||" ",l=o&&a?La(a,o.start,o.end):"",d=o&&a?La(a,0,o.start):a,f=o&&a?La(a,o.end):"",p=r&&!o,m=!p&&e.color==="dim",h={bold:e.bold||p,italic:e.italic,dimColor:m};return Ye(E,{marginLeft:e.indent??0,children:[e.spinner&&n&&Ye(zg,{children:[Se(On,{color:t.colors.accent,theme:t}),Se(I,{children:" "})]}),Se(I,{color:p?t.colors.accent:s,...h,children:o&&a?Ye(zg,{children:[d?Se(I,{color:p?t.colors.accent:s,...h,children:d}):null,Se(I,{backgroundColor:t.colors.accent,color:t.colors.background,bold:!0,italic:e.italic,children:l}),f?Se(I,{color:p?t.colors.accent:s,...h,children:f}):null]}):c})]})},PO),Yg=Dn(({section:e,theme:t,animateSpinners:n=!0})=>Se(E,{flexDirection:"column",children:e.rows.map(r=>Se(jb,{row:r,theme:t,animateSpinners:n},r.key))})),Jo=i(({items:e,isLoading:t=!1,maxLines:n=1e3,isThinking:r=!1,thinkingCharCount:o=0,thinkingContent:s="",streamingResponse:a="",currentTool:c,activeToolCalls:l,toolInputCharCount:d=0,toolInputContent:f="",iterationHistory:p=[],currentIteration:m=1,isCompacting:h=!1,agentMode:S,managedPhase:v,managedHarnessProfile:T,managedWorkerTitle:w,managedRound:b,managedMaxRounds:M,managedGlobalWorkBudget:O,managedBudgetUsage:k,managedBudgetApprovalRequired:P,lastLiveActivityLabel:q,liveStatusLines:V,viewportRows:K,viewportWidth:fe,scrollOffset:ge=0,animateSpinners:Z=!0,windowed:y=!1,showFullThinking:A=!1,showDetailedTools:Q=!1,showAllContent:W=!1,showLiveProgressRows:ae=!0,selectedItemId:le,expandedItemKeys:pe,onMetricsChange:Ee,onVisibleRowsChange:ue,rendererWindow:ye,selectedTextRanges:_e,transcriptModel:Y,visibleRowsOverride:ne})=>{let we=Hr(()=>oe("dark"),[]),{stdout:nt}=Dr(),xt=fe??nt?.columns??80,Ge=Hr(()=>Y??pp({items:e,viewportWidth:xt,isLoading:t,maxLines:n,isThinking:r,thinkingCharCount:o,thinkingContent:s,streamingResponse:a,currentTool:c,activeToolCalls:l,toolInputCharCount:d,toolInputContent:f,iterationHistory:p,currentIteration:m,isCompacting:h,managedAgentMode:S,managedPhase:v,managedHarnessProfile:T,managedWorkerTitle:w,managedRound:b,managedMaxRounds:M,managedGlobalWorkBudget:O,managedBudgetUsage:k,managedBudgetApprovalRequired:P,lastLiveActivityLabel:q,liveStatusLines:V,windowed:y,showFullThinking:A,showDetailedTools:Q,showAllContent:W,showLiveProgressRows:ae,expandedItemKeys:pe}),[Y,e,xt,t,n,r,o,s,a,c,l,d,f,p,m,h,S,v,T,w,b,M,O,k,P,q,V,y,A,Q,W,ae,pe]),je=Ge.staticSections,de=Ge.rows,Ce=Ge.previewRows,F=Hr(()=>[...de,...Ce],[Ce,de]),pt=!(F.length>0)&&e.length===0&&!t,Dt=Hr(()=>y||ye||ne?F:de,[F,ye,de,ne,y]),Ke=Hr(()=>ne||_b(Dt,{viewportTop:ye?Math.max(0,ye.viewportTop):void 0,viewportHeight:ye?Math.max(0,ye.viewportHeight):void 0,start:void 0,end:void 0,viewportRows:K,scrollOffset:ge,windowed:y}),[ye,ge,K,ne,y,Dt]),bt=Hr(()=>ne||y||ye?Ke:F,[F,ye,Ke,ne,y]),Ut=Hr(()=>F,[F]),Wn=ye?Math.max(0,ye.viewportHeight):K;return Hb(()=>{Ee?.({scrollHeight:F.length,viewportHeight:ye?Math.max(0,ye.viewportHeight):Wn??F.length})},[F.length,Wn,Ee,ye]),Hb(()=>{ue?.({rows:bt,allRows:Ut})},[Ut,ue,bt]),pt?Se(E,{paddingY:1,children:Se(I,{dimColor:!0,children:"No messages yet. Start typing to begin."})}):Ye(E,{flexDirection:"column",children:[!y&&je.length>0&&Se(wa,{items:je,children:i(an=>Se(Yg,{section:an,theme:we,animateSpinners:Z},an.key),"children")}),bt.map(an=>Se(jb,{row:an,theme:we,animateSpinners:Z,selectedItem:le?an.key.startsWith(`${le}-`):!1,selectionRange:_e?.get(an.key)},an.key))]})},"MessageList");var Ub=i(({role:e,content:t})=>{let n=Hr(()=>oe("dark"),[]),r={user:n.colors.primary,assistant:n.colors.secondary,system:n.colors.dim}[e];return Ye(E,{flexDirection:"column",marginBottom:1,children:[Se(I,{color:r,bold:!0,children:e==="user"?">":e==="assistant"?"<":"#"}),Se(I,{children:t})]})},"SimpleMessageDisplay");import{jsx as qg,jsxs as wp}from"react/jsx-runtime";import qO,{useMemo as Qg}from"react";function $l(e,t,n){let r=Ch({triggerPercent:t,triggerTokens:n},e),o=r.config.triggerPercent,s=Math.round(r.triggerTokens/1e3);if(r.absoluteTriggerTokens===void 0)return`@ ${o}% (${s}k)`;let a=Math.round(r.absoluteTriggerTokens/1e3);return`@ min(${o}%, ${a}k) (${s}k)`}i($l,"formatCompactionPolicy");function Gb(e,t,n=0,r){let o=Kw(e,n);return Ch({triggerPercent:t,triggerTokens:r},e,o).triggerTokens}i(Gb,"resolveCompactionThresholdTokens");var $O="\u{1F504}",OO="\u2588",DO="\u2592",NO="\u2192",BO=" \xB7 ";function WO(e){switch(e){case"auto":return"auto";case"balanced":return"medium";case"quick":return"low";case"deep":return"high";case"off":return"off";default:return e.toLowerCase()}}i(WO,"formatReasoningModeShort");function HO(e){if(e)return e==="none"?"off":e}i(HO,"formatEffortShort");function FO(e){let t=e.split("->"),n=t[0]??e;if((t.length>1?t[t.length-1]:n)==="off")return"dim";switch(n){case"off":return"dim";case"low":return"green";case"medium":return"yellow";case"high":case"xhigh":case"max":return"magenta";default:return"cyan"}}i(FO,"getReasoningColor");function Vb(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}i(Vb,"formatTokenCount");function jO(e){let t=Math.min(10,Math.max(0,Math.round(e/10))),n=10-t;return`${OO.repeat(t)}${DO.repeat(n)}`}i(jO,"createMiniProgressBar");function UO(e,t,n,r,o){if(t===0)return"green";let s=Gb(t,n,r,o);return e>=s?"red":e>=s*(2/3)?"yellow":"green"}i(UO,"getContextColor");function GO(e){switch(e.toLowerCase()){case"plan":return"blue";case"accept-edits":return"green";case"auto":case"auto-in-project":return"warning";default:return"magenta"}}i(GO,"getPermissionModeColor");function VO(e,t){let n=jd(e);return!(e==="auto"||e==="auto-in-project")||!t?n:`${n}${t==="llm"?"[LLM]":"[RULES]"}`}i(VO,"buildPermissionModeText");function KO(e){let t=e.toLowerCase();return t.includes("read")||t.includes("view")||t.includes("search")||t.includes("list")||t.includes("find")||t.includes("browser")||t.includes("get")?"Read":t.includes("write")||t.includes("replace")||t.includes("edit")||t.includes("modify")?"Edit":t.includes("command")||t.includes("bash")||t.includes("terminal")?"Bash":t.includes("ask")||t.includes("notify")||t.includes("user")||t.includes("question")?"Ask":t.includes("think")||t.includes("reason")?"Think":e}i(KO,"formatToolAction");function yp(e,t){return t&&t>0?`${e} (${t} chars)`:e}i(yp,"formatThinkingStatus");function xp(e,t,n){let r=KO(e);return n?`${r} (${n}...)`:t&&t>0?`${r} (${t} chars)`:r}i(xp,"formatToolStatus");function Xg({activeToolCount:e,currentTool:t,isThinkingActive:n,thinkingCharCount:r,isCompacting:o,toolInputCharCount:s,toolInputContent:a,managedPhase:c,managedHarnessProfile:l,managedWorkerTitle:d,managedIdleWaiting:f,managedIdleWaitingPendingCount:p}){let m=e&&e>0?`${e} tool${e===1?"":"s"} running`:void 0;if(o)return"Compacting";if(c==="routing")return m?`Routing - ${m}`:t?`Routing - ${xp(t,s,a)}`:n?yp("Routing",r):"Routing";if(c==="preflight"){let h=d??"Scout";return m?`${h} - ${m}`:t?`${h} - ${xp(t,s,a)}`:n?yp(h,r):h}if(c==="verifying")return"Verifying";if(l){let h=d??"Worker";if(f===!0&&!m&&!t&&!n){let S=p??0,v=S>1?`waiting for ${S} children`:S===1?"waiting for 1 child":"idle - resuming";return`${h} - ${v}`}return m?`${h} - ${m}`:t?`${h} - ${xp(t,s,a)}`:n?yp(h,r):h}if(m)return m;if(t)return xp(t,s,a);if(n)return yp("Thinking",r)}i(Xg,"buildBusyStatusText");function zO({agentMode:e,managedPhase:t,managedHarnessProfile:n,managedRound:r,managedMaxRounds:o,managedGlobalWorkBudget:s,managedBudgetUsage:a,currentIteration:c,maxIter:l}){let d=[];return t==="routing"||t==="preflight"||(n&&r&&o&&r>1&&d.push({label:"Round",current:r,max:o}),n&&s&&typeof a=="number"?d.push({label:"Work",current:a,max:s}):e==="sa"&&c&&l&&d.push({label:"Iter",current:c,max:l})),d}i(zO,"resolveIterationSegments");function YO(e){if(e.length!==0)return`${$O} ${e.map(t=>`${t.label} ${t.current}/${t.max}`).join(BO)}`}i(YO,"formatLabeledIterationStatus");function XO(e){let{sessionId:t,permissionMode:n,agentMode:r,provider:o,model:s,tokenUsage:a,currentTool:c,activeToolCount:l,thinking:d,isThinkingActive:f,thinkingCharCount:p,reasoningMode:m=d?"auto":"off",effort:h,reasoningEffortLabel:S,isCompacting:v,toolInputCharCount:T,toolInputContent:w,currentIteration:b,maxIter:M,contextUsage:O,learning:k,showBusyStatus:P=!0,managedPhase:q,managedHarnessProfile:V,managedWorkerTitle:K,managedRound:fe,managedMaxRounds:ge,managedGlobalWorkBudget:Z,managedBudgetUsage:y,managedIdleWaiting:A,managedIdleWaitingPendingCount:Q}=e,W=[{id:"agent-mode",text:`KodaX - ${r.toUpperCase()}`,color:"primary",bold:!0},{id:"permission-mode",text:VO(n,e.autoModeEngine),color:GO(n)}],ae=S??HO(h)??WO(m);W.push({id:"reasoning-mode",text:ae,color:FO(ae)});let le=zO({agentMode:r,managedPhase:q,managedHarnessProfile:V,managedRound:fe,managedMaxRounds:ge,managedGlobalWorkBudget:Z,managedBudgetUsage:y,currentIteration:b,maxIter:M}),pe=YO(le);if(pe){let ue=Math.max(...le.map(_e=>_e.current/_e.max)),ye="green";ue>=.8?ye="red":ue>=.5&&(ye="yellow"),W.push({id:"iteration-status",text:pe,color:ye})}W.push({id:"session-id",text:t,color:"dim"});let Ee=P?Xg({activeToolCount:l,currentTool:c,isThinkingActive:f,thinkingCharCount:p,isCompacting:v,toolInputCharCount:T,toolInputContent:w,managedPhase:q,managedHarnessProfile:V,managedWorkerTitle:K,managedIdleWaiting:A,managedIdleWaitingPendingCount:Q}):void 0;if(Ee&&W.push({id:"busy-status",text:Ee,color:"dim"}),W.push({id:"provider-model",text:`${o}/${s}`,color:"secondary"}),O&&O.contextWindow!==0){let ue=Math.round(O.currentTokens/O.contextWindow*100),ye=Vb(O.currentTokens),_e=Vb(O.contextWindow),Y=jO(ue);W.push({id:"context-usage",text:`${ye}/${_e} ${Y} ${ue}%`,color:UO(O.currentTokens,O.contextWindow,O.triggerPercent,O.reservedResponseTokens,O.triggerTokens)})}if(k&&(k.ready>0||k.newlyActive>0||k.attention>0)){let ue=[...k.ready>0?[`${k.ready}R`]:[],...k.newlyActive>0?[`${k.newlyActive}N`]:[],...k.attention>0?[`${k.attention}!`]:[]];W.push({id:"learning",text:`Learn:${ue.join("/")}`,color:k.attention>0||k.ready>0?"yellow":"cyan",tone:k.attention>0||k.ready>0?"warning":"accent"})}return a&&W.push({id:"token-usage",text:`${a.input}${NO}${a.output} (${a.total})`,color:"dim"}),W}i(XO,"buildStatusBarSegments");function Sp(e){let t=XO(e);return{text:t.map(n=>n.text).join(" | "),segments:t}}i(Sp,"buildStatusBarViewModel");function QO(e,t){if(e.color)return t.colors[e.color]??e.color;switch(e.tone){case"primary":return t.colors.primary;case"accent":return t.colors.accent;case"success":return t.colors.success;case"warning":return t.colors.warning;case"error":return t.colors.error;default:return t.colors.dim}}i(QO,"resolveViewModelSegmentColor");var Xi=i(({viewModel:e,...t})=>{let n=Qg(()=>oe("dark"),[]),r=Qg(()=>e??Sp(t),[t,e]);return qg(E,{paddingX:1,children:r.segments.map((o,s)=>wp(qO.Fragment,{children:[qg(I,{color:QO(o,n),bold:o.bold,children:o.text}),s<r.segments.length-1?qg(I,{dimColor:!0,children:" | "}):null]},o.id))})},"StatusBar"),Kb=i(({permissionMode:e,provider:t,model:n})=>{let r=Qg(()=>oe("dark"),[]);return wp(E,{children:[wp(I,{color:r.colors.primary,bold:!0,children:["[",e,"]"]}),wp(I,{dimColor:!0,children:[" ",t,"/",n]})]})},"SimpleStatusBar");import{jsx as Zo,jsxs as Ip}from"react/jsx-runtime";import{useState as Jg,useCallback as Tp,useMemo as zb}from"react";function Cp(){return`${Date.now()}-${Math.random().toString(36).slice(2,9)}`}i(Cp,"generateId");function JO(e){let t={id:e.id,timestamp:e.timestamp};switch(e.role){case"user":return{...t,type:"user",text:e.content};case"assistant":return{...t,type:"assistant",text:e.content};case"system":return{...t,type:"system",text:e.content};default:return{...t,type:"info",text:e.content}}}i(JO,"messageToHistoryItem");var Yb=i(({model:e,provider:t,onSubmit:n,permissionMode:r="accept-edits",agentMode:o="ama"})=>{let{stdout:s}=Dr(),a=zb(()=>oe("dark"),[]),[c,l]=Jg({messages:[],isLoading:!1,sessionId:Cp()}),[d,f]=Jg(null),[p,m]=Jg(),h=Tp(async w=>{if(!w.trim())return;let b={id:Cp(),role:"user",content:w,timestamp:Date.now()};l(M=>({...M,messages:[...M.messages,b],isLoading:!0}));try{await n(w)}catch(M){let O={id:Cp(),role:"system",content:`Error: ${M instanceof Error?M.message:"Unknown error"}`,timestamp:Date.now()};l(k=>({...k,messages:[...k.messages,O],isLoading:!1}))}finally{l(M=>({...M,isLoading:!1}))}},[n]),S=Tp((w,b)=>{let M={id:Cp(),role:w,content:b,timestamp:Date.now()};l(O=>({...O,messages:[...O.messages,M]}))},[]),v=Tp((w,b)=>{f({input:w,output:b,total:w+b})},[]),T=Tp(w=>{m(w)},[]);return Ip(E,{flexDirection:"column",children:[Zo(E,{flexGrow:1,flexDirection:"column",overflow:"hidden",children:Zo(Jo,{items:c.messages.map(JO),isLoading:c.isLoading})}),Zo(E,{flexShrink:0,children:Zo(zi,{onSubmit:i(w=>h(w.fullText),"onSubmit"),prompt:">",focus:!c.isLoading})}),Zo(E,{flexShrink:0,children:Zo(Xi,{sessionId:c.sessionId,permissionMode:r,agentMode:o,provider:t,model:e,tokenUsage:d??void 0,currentTool:p})})]})},"App"),Xb=i(({model:e,provider:t,onInput:n})=>{let r=zb(()=>oe("dark"),[]);return Ip(E,{flexDirection:"column",children:[Ip(E,{marginBottom:1,children:[Zo(I,{color:r.colors.primary,bold:!0,children:"KodaX CLI"}),Ip(I,{dimColor:!0,children:[" ","- ",t,"/",e]})]}),Zo(zi,{onSubmit:i(o=>n(o.fullText),"onSubmit"),placeholder:"Type a message...",prompt:">"})]})},"SimpleApp");import{jsx as ZO}from"react/jsx-runtime";var vp=i(({top:e,topRows:t=0,transcript:n,renderTranscriptWindow:r,footer:o,overlay:s,stickyHeader:a,jumpToLatest:c,width:l,scrollTop:d=0,scrollHeight:f=0,viewportHeight:p=0,stickyScroll:m=!0,scrollRef:h,onScrollTopChange:S,onStickyChange:v,onWindowChange:T,overscanRows:w})=>ZO(Tg,{width:l,top:e,topRows:t,stickyHeader:a,jumpToLatest:c,scrollable:n,renderScrollableWindow:r,overlay:s,bottom:o,scrollTop:d,scrollHeight:f,viewportHeight:p,stickyScroll:m,scrollRef:h,onScrollTopChange:S,onStickyChange:v,onWindowChange:T,overscanRows:w}),"FullscreenTranscriptLayout");import{jsx as qb}from"react/jsx-runtime";function Pa({copyMessage:e=!1,copyToolInput:t=!1,copyOnSelect:n=!1,toggleDetail:r=!1,selectionNavigation:o=!1,matchNavigation:s=!1,dismissAction:a}){let c=[];return o&&c.push("\u2190/\u2192 browse"),e&&c.push("C copy"),t&&c.push("I tool input"),n&&c.push("Mouse select copies"),r&&c.push("V details"),s&&c.push("N/Shift+N matches"),a==="clear"&&c.push("Esc clear"),a==="close-search"&&c.push("Esc close search"),c.length>0?c.join(" | "):void 0}i(Pa,"buildMessageActionsText");var bp=i(({copyMessage:e=!1,copyToolInput:t=!1,copyOnSelect:n=!1,toggleDetail:r=!1,selectionNavigation:o=!1,matchNavigation:s=!1,dismissAction:a})=>{let c=oe("dark"),l=Pa({copyMessage:e,copyToolInput:t,copyOnSelect:n,toggleDetail:r,selectionNavigation:o,matchNavigation:s,dismissAction:a});return l?qb(E,{paddingX:1,children:qb(I,{color:c.colors.dim,children:l})}):null},"MessageActions");import{jsx as Qb}from"react/jsx-runtime";function Zg({itemSummary:e,itemKind:t,position:n,detailState:r="compact"}){if(!e||!n||n.total<=0)return;let o=r==="expanded"?"expanded":"compact",s=t?`${t}: `:"";return`Selected item ${n.current}/${n.total}: ${s}${e} | ${o}`}i(Zg,"buildMessageSelectorText");var Jb=i(({itemSummary:e,itemKind:t,position:n,detailState:r="compact"})=>{let o=oe("dark"),s=Zg({itemSummary:e,itemKind:t,position:n,detailState:r});return s?Qb(E,{paddingX:1,children:Qb(I,{color:o.colors.dim,children:s})}):null},"MessageSelector");import{jsx as $a,jsxs as eD}from"react/jsx-runtime";import{useMemo as Zb}from"react";function Rp(e,t){return Math.max(1,hn(e.length>0?e.split(`
|
|
62
|
+
`):[""],Math.max(1,t),0,0).visualLines.length)}i(Rp,"countWrappedRows");var kp=i(({browse:e,selection:t,search:n,chromeMode:r="inline",...o})=>{let s=r==="inline",a=t?.itemSummary,c=t?.position,l=t?.itemKind,d=t?.detailState??"compact",f=t?.copyCapabilities,p=f?.message??!1,m=f?.toolInput??!1,h=f?.copyOnSelect??!1,S=t?.toggleDetail??!1,v=t?.navigationCapabilities?.selection??!1,T=n?.statusText,w=n?.matches?.length??0,b=n?.surface,M=o.viewportWidth??80,O=Math.max(1,M-2),k=n?.query?.trim()?"close-search":a||p||m||S||v?"clear":void 0,P=Zg({itemSummary:a,itemKind:l,position:c,detailState:d}),q=Zb(()=>Pa({copyMessage:p,copyToolInput:m,copyOnSelect:h,toggleDetail:S,selectionNavigation:v,matchNavigation:!!T&&w>0,dismissAction:k}),[p,m,v,S,k,w,T,h]),V=Zb(()=>{if(!s)return 0;let fe=0;return e?.hintText&&(fe+=Rp(e.hintText,O)),P&&(fe+=Rp(P,O)),q&&(fe+=Rp(q,O)),T&&(fe+=Rp(T,O)),b&&(fe+=1),fe},[q,e?.hintText,O,s,T,b,P]),K=typeof o.viewportRows=="number"?Math.max(1,o.viewportRows-V):o.viewportRows;return eD(E,{flexDirection:"column",flexGrow:o.windowed?0:1,children:[s&&e?.hintText?$a(E,{paddingX:1,children:$a(I,{dimColor:!0,children:e.hintText})}):null,null,s&&(p||m||h||S||v||w>0)?$a(bp,{copyMessage:p,copyToolInput:m,copyOnSelect:h,toggleDetail:S,selectionNavigation:v,matchNavigation:!!T&&w>0,dismissAction:k}):null,s&&T?$a(E,{paddingX:1,children:$a(I,{dimColor:!0,children:T})}):null,s?b:null,$a(Jo,{...o,viewportRows:K})]})},"TranscriptViewport");import{jsx as e0}from"react/jsx-runtime";var Ep=i(e=>e0(E,{flexDirection:"column",children:e0(zi,{...e})}),"PromptComposer");import{jsx as qi,jsxs as Mp}from"react/jsx-runtime";import t0 from"react";var n0=" \xB7 ",Ol=i(({items:e=[]})=>{let t=e.filter(r=>r.label.trim().length>0),n=oe("dark");return t.length===0?null:qi(E,{flexGrow:1,children:t.map((r,o)=>Mp(t0.Fragment,{children:[qi(I,{color:r.accent?n.colors.accent:n.colors.dim,bold:r.accent,children:r.label}),o<t.length-1?qi(I,{dimColor:!0,children:n0}):null]},r.id))})},"PromptFooterLeftSide"),Dl=i(({items:e=[]})=>{let t=e.filter(r=>r.label.trim().length>0),n=oe("dark");return t.length===0?null:qi(E,{justifyContent:"flex-end",children:t.map((r,o)=>Mp(t0.Fragment,{children:[qi(I,{color:r.accent?n.colors.primary:n.colors.dim,bold:r.accent,children:r.label}),o<t.length-1?qi(I,{dimColor:!0,children:n0}):null]},r.id))})},"PromptFooterRightSide"),Nl=i(({left:e,right:t,queued:n,stashNotice:r,notifications:o,inlineNotices:s,activityBar:a,todoSurface:c,composer:l,inlineSuggestions:d,helpSurface:f,taskBar:p,statusLine:m,inlineDialogs:h})=>Mp(E,{flexDirection:"column",children:[e||t?Mp(E,{paddingX:1,children:[qi(E,{flexGrow:1,children:e}),t]}):null,n,r,o,s,a,c,l,d,h,f,p,m]}),"PromptFooter");import{jsx as ey,jsxs as r0}from"react/jsx-runtime";var Ap=i(({sections:e,title:t="Help"})=>{let n=oe("dark"),r=e.filter(o=>o.items.length>0);return r.length===0?null:r0(E,{flexDirection:"column",borderStyle:"round",borderColor:n.colors.accent,paddingX:1,marginTop:1,children:[ey(I,{color:n.colors.accent,bold:!0,children:t}),r.map(o=>r0(E,{flexDirection:"column",children:[ey(I,{color:n.colors.primary,bold:!0,children:o.title}),ey(I,{dimColor:!0,children:o.items.map(s=>s.label).join(" | ")})]},o.id))]})},"PromptHelpMenu");import{jsx as o0}from"react/jsx-runtime";import{createContext as s0,useContext as a0,useReducer as tD,useCallback as Qt,useMemo as nD}from"react";var rD=150;function Wl(){return`${Date.now()}-${Math.random().toString(36).slice(2,9)}`}i(Wl,"generateId");function Bl(e){let t=e.timestamp;return{...e,id:Wl(),timestamp:t!==void 0&&Number.isFinite(t)&&t>=0?t:Date.now()}}i(Bl,"createHistoryItem");function i0(e){if(e.length<=rD)return e;let t=0,n=0;for(let r=e.length-1;r>=0;r--)if(e[r]?.type==="user"&&(t++,t>50)){n=r;break}return n>0?e.slice(n):e}i(i0,"trimHistoryToRounds");function ty(e,t){return e.filter(n=>n.type==="user"&&typeof n.id=="string"&&!t.has(n.id))}i(ty,"selectUncommittedLedgerUserItems");function _p(e){return{...e,id:Wl(),startTime:Date.now()}}i(_p,"createToolCall");function oD(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:i0([...e.history,t.payload])};case"BULK_ADD_HISTORY_ITEMS":return{...e,history:i0([...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{...Fd,sessionId:e.sessionId};default:return e}}i(oD,"uiReducer");var c0=s0(null),l0=s0(null);function Hl({children:e,initialState:t}){let[n,r]=tD(oD,{...Fd,...t}),o=Qt(P=>{r({type:"SET_STREAMING_STATE",payload:P})},[]),s=Qt(P=>{r({type:"APPEND_TO_RESPONSE",payload:P})},[]),a=Qt(()=>{r({type:"CLEAR_RESPONSE"})},[]),c=Qt(P=>{let q=Bl(P);r({type:"ADD_HISTORY_ITEM",payload:q})},[]),l=Qt(P=>{P.length!==0&&r({type:"BULK_ADD_HISTORY_ITEMS",payload:P.map(Bl)})},[]),d=Qt((P,q)=>{r({type:"UPDATE_HISTORY_ITEM",payload:{id:P,updates:q}})},[]),f=Qt(()=>{r({type:"CLEAR_HISTORY"})},[]),p=Qt(P=>{let q=_p(P);return r({type:"ADD_TOOL_CALL",payload:q}),q.id},[]),m=Qt((P,q)=>{r({type:"UPDATE_TOOL_CALL",payload:{id:P,updates:q}})},[]),h=Qt(()=>{r({type:"CLEAR_TOOL_CALLS"})},[]),S=Qt(P=>{r({type:"SET_SESSION_ID",payload:P})},[]),v=Qt(P=>{r({type:"SET_MODE",payload:P})},[]),T=Qt(P=>{r({type:"SET_PROVIDER",payload:P})},[]),w=Qt(P=>{r({type:"SET_MODEL",payload:P})},[]),b=Qt(P=>{r({type:"SET_TOKEN_USAGE",payload:P})},[]),M=Qt(P=>{r({type:"SET_ERROR",payload:P})},[]),O=Qt(P=>{r({type:"SET_LOADING",payload:P})},[]),k=nD(()=>({setStreamingState:o,appendToResponse:s,clearResponse:a,addHistoryItem:c,addHistoryItems:l,updateHistoryItem:d,clearHistory:f,addToolCall:p,updateToolCall:m,clearToolCalls:h,setSessionId:S,setMode:v,setProvider:T,setModel:w,setTokenUsage:b,setError:M,setLoading:O}),[o,s,a,c,l,d,f,p,m,h,S,v,T,w,b,M,O]);return o0(c0.Provider,{value:n,children:o0(l0.Provider,{value:k,children:e})})}i(Hl,"UIStateProvider");function Oa(){let e=a0(c0);if(!e)throw new Error("useUIState must be used within a UIStateProvider");return e}i(Oa,"useUIState");function Da(){let e=a0(l0);if(!e)throw new Error("useUIActions must be used within a UIStateProvider");return e}i(Da,"useUIActions");function ny(){let e=Oa(),t=Da();return{state:e,actions:t}}i(ny,"useUI");function ry(){return oe()}i(ry,"useTheme");import{jsxs as ei,jsx as Lp,Fragment as iD}from"react/jsx-runtime";import{useMemo as sD}from"react";var aD=80,cD=7,lD={command:">",file:"\u{1F4C4}",history:"\u23F1",argument:"\u2022",snippet:"\u25C7",skill:"\u2605"};function uD(e,t,n){if(t<=n)return{start:0,end:t};let r=Math.floor(n/2),o=e-r,s=o+n;return o<0?(o=0,s=n):s>t&&(s=t,o=t-n),{start:o,end:s}}i(uD,"getVisibleRange");function dD({suggestion:e,isSelected:t,width:n}){let r=ry(),o=e.icon||e.type&&lD[e.type]||"",s=o?pr(o)+1:0,a=pr(e.displayText||e.text),c=e.description?pr(e.description):0,l=Math.min(a,n-s-2),d=n-s-l-3,f=Math.max(0,d),p=la(e.displayText||e.text,l),m=e.description?la(e.description,f):"";return ei(E,{children:[o&&ei(I,{color:t?r.colors.accent:r.colors.dim,children:[o," "]}),Lp(I,{color:t?r.colors.primary:r.colors.text,bold:t,children:p}),m&&ei(iD,{children:[Lp(I,{children:" "}),Lp(I,{color:r.colors.dim,children:la(e.description||"",f)})]}),t&&ei(I,{color:r.colors.accent,children:[" ","\u25C0"]})]})}i(dD,"SuggestionItem");function Fl({suggestions:e,selectedIndex:t,visible:n,maxVisible:r=cD,width:o=aD,showCount:s=!1}){let a=ry();if(!n||e.length===0)return null;let{start:c,end:l}=sD(()=>uD(t,e.length,r),[t,e.length,r]),d=e.slice(c,l);return ei(E,{flexDirection:"column",marginLeft:2,children:[c>0&&ei(I,{color:a.colors.dim,children:[" ","\u25B2 ",c," more..."]}),d.map((f,p)=>{let h=c+p===t;return Lp(dD,{suggestion:f,isSelected:h,width:o},f.id)}),l<e.length&&ei(I,{color:a.colors.dim,children:[" ","\u25BC ",e.length-l," more..."]}),s&&ei(I,{color:a.colors.dim,children:[t+1,"/",e.length]})]})}i(Fl,"SuggestionsDisplay");import{jsx as Na,jsxs as fD}from"react/jsx-runtime";var Pp=i(({reserveSpace:e,width:t,hidden:n=!1,mode:r="inline"})=>{let o=qo(),s=oe("dark");if(n)return null;if(!o)return e?Na(E,{height:8}):null;let{state:a,suggestions:c}=o;return a.visible&&c.length>0?r==="overlay"?fD(E,{flexDirection:"column",borderStyle:"round",borderColor:s.colors.accent,paddingX:1,marginTop:1,children:[Na(I,{color:s.colors.accent,bold:!0,children:"Suggestions"}),Na(Fl,{suggestions:c,selectedIndex:a.selectedIndex,visible:a.visible,maxVisible:7,width:Math.max(20,t-6)})]}):Na(E,{height:8,children:Na(Fl,{suggestions:c,selectedIndex:a.selectedIndex,visible:a.visible,maxVisible:7,width:Math.max(20,t-2)})}):e?Na(E,{height:8}):null},"PromptSuggestionsSurface");import{jsxs as hr,jsx as Jn,Fragment as oy}from"react/jsx-runtime";import pD,{useEffect as mD,useState as hD}from"react";var Ba=15,u0=Math.max(1,Ba-2),$p=i(({confirm:e,request:t})=>e?hr(E,{flexDirection:"column",borderStyle:"round",borderColor:"yellow",paddingX:1,marginTop:1,width:"100%",children:[hr(I,{color:"yellow",bold:!0,children:[re("dialog.confirm")," ",e.prompt]}),e.planContent?Jn(gD,{content:e.planContent}):null,e.instruction?Jn(I,{dimColor:!0,children:e.instruction}):null]}):t?hr(E,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,marginTop:1,width:"100%",children:[t.kind==="select"?hr(oy,{children:[hr(I,{color:"cyan",bold:!0,children:[re("dialog.select")," ",t.title]}),(()=>{let n=t.options??[],r=t.visibleSelectOptions??5,o=t.focusedIndex??0,s=n.length,a=0;if(s>r){let d=Math.floor(r/2);a=Math.max(0,Math.min(o-d,s-r))}let c=a,l=Math.max(0,s-a-r);return hr(oy,{children:[c>0?Jn(I,{dimColor:!0,children:re("select.more_above",{count:c})}):null,n.slice(a,a+r).map((d,f)=>{let p=a+f,m=p===o,h=t.selectedIndices?.includes(p)??!1,S=m?"\u276F ":" ",v=h?" \u2713":"",T=d.description?` - ${d.description}`:"";return Jn(I,{color:m?"cyan":void 0,dimColor:!m,children:`${S}${d.label}${T}${v}`},`${d.value}-${p}`)}),l>0?Jn(I,{dimColor:!0,children:re("select.more_below",{count:l})}):null]})})(),Jn(I,{dimColor:!0,children:t.multiSelect?re("select.multiselect_hint"):re("select.navigate_hint")})]}):hr(oy,{children:[hr(I,{color:"cyan",bold:!0,children:[re("dialog.input")," ",t.prompt]}),t.defaultValue!==void 0?Jn(I,{dimColor:!0,children:`${re("input.default")} ${t.defaultValue}`}):null,Jn(I,{dimColor:!0,children:`${re("input.value")} ${t.buffer||re("input.type_response")}`}),Jn(I,{dimColor:!0,children:re("select.confirm_hint")})]}),t.error?Jn(I,{color:"red",children:t.error}):null]}):null,"DialogSurface"),gD=i(({content:e})=>{let t=pD.useMemo(()=>e.split(`
|
|
63
|
+
`),[e]),n=t.length,r=n>Ba,[o,s]=hD(0);mD(()=>{s(d=>{let f=Math.max(0,n-Ba);return d>f?f:d})},[n]),Ta((d,f)=>{if(!r)return;let p=Math.max(0,n-Ba);f.upArrow?s(m=>Math.max(0,m-1)):f.downArrow?s(m=>Math.min(p,m+1)):f.pageUp?s(m=>Math.max(0,m-u0)):f.pageDown&&s(m=>Math.min(p,m+u0))},{isActive:!0});let a=t.slice(o,o+Ba),c=o,l=Math.max(0,n-o-Ba);return hr(E,{flexDirection:"column",marginTop:1,children:[r&&c>0?hr(I,{dimColor:!0,children:["\u2026 ",c," more line",c===1?"":"s"," above"]}):null,a.map((d,f)=>Jn(I,{children:d},`plan-line-${o+f}`)),r&&l>0?hr(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 jl,jsx as yD}from"react/jsx-runtime";function d0(e){let t=e.replace(/\s+/g," ").trim();return t.length<=72?t:`${t.slice(0,69)}...`}i(d0,"normalizePendingPreview");function f0(e){if(e.length===0)return;let t=d0(e[e.length-1]??"");return e.length===1?`Queued 1 follow-up: ${t} (Esc removes it)`:`Queued ${e.length} follow-ups. Latest: ${t} (Esc removes latest)`}i(f0,"formatPendingInputsSummary");function iy(e){if(e.length===0)return[];let t=e.length;return e.map((n,r)=>({index:r+1,total:t,preview:d0(n)}))}i(iy,"formatPendingInputsLines");function p0(e){let t=iy(e);return t.length===0?void 0:[...t.map(o=>`\u23F3 [${o.index}/${o.total}] ${o.preview}`)," \u2191 pull all into editor \xB7 Esc drops latest"].join(`
|
|
64
|
+
`)}i(p0,"formatPendingInputsBudgetText");var Op=i(({pendingInputs:e})=>{let t=iy(e);if(t.length===0)return null;let n=oe("dark");return jl(E,{flexDirection:"column",children:[t.map(r=>jl(E,{children:[jl(I,{color:n.colors.hint,children:["\u23F3"," "]}),jl(I,{color:n.colors.dim,children:["[",r.index,"/",r.total,"] ",r.preview]})]},r.index)),yD(E,{children:jl(I,{color:n.colors.dim,children:[" ","\u2191 pull all into editor \xB7 Esc drops latest"]})})]})},"QueuedCommandsSurface");import{jsx as m0}from"react/jsx-runtime";function xD(e,t){switch(e){case"warning":return t.warning;case"accent":return t.accent;default:return t.dim}}i(xD,"resolveNotificationColor");var Ul=i(({notifications:e})=>{let t=e.filter(r=>r.text.trim().length>0),n=oe("dark");return t.length===0?null:m0(E,{flexDirection:"column",paddingX:1,children:t.map(r=>m0(I,{color:xD(r.tone,n.colors),children:r.text},r.id))})},"NotificationsSurface");import{jsx as h0}from"react/jsx-runtime";var Dp=i(({notices:e})=>{let t=e.filter(r=>r.trim().length>0);if(t.length===0)return null;let n=oe("dark");return h0(E,{flexDirection:"column",paddingX:1,children:t.map((r,o)=>h0(I,{color:n.colors.dim,children:r},`${r}-${o}`))})},"StatusNoticesSurface");import{jsxs as g0,jsx as SD}from"react/jsx-runtime";var Gl=i(({text:e})=>{let t=e?.trim();if(!t)return null;let n=oe("dark");return g0(E,{paddingX:1,children:[g0(I,{color:n.colors.hint,children:["\u22EF"," "]}),SD(I,{color:n.colors.dim,children:t})]})},"StashNotice");import{jsx as Qi,jsxs as wD}from"react/jsx-runtime";function y0({text:e,accent:t=!1,selected:n=!1}){let r=oe("dark");return Qi(E,{marginRight:1,children:Qi(I,{color:t?r.colors.accent:r.colors.primary,bold:n||t,children:`[ ${e} ]`})})}i(y0,"Pill");var Vl=i(({items:e,overflowLabel:t,ctaHint:n,showSpinner:r=!1})=>{let o=e.filter(s=>s.label.trim().length>0);return o.length===0&&!t&&!n&&!r?null:wD(E,{flexDirection:"row",paddingX:1,children:[r?Qi(E,{marginRight:1,children:Qi(On,{})}):null,o.map(s=>Qi(y0,{text:s.hint?`${s.label} (${s.hint})`:s.label,accent:s.accent,selected:s.selected},s.id)),t?Qi(y0,{text:t}):null,n?Qi(I,{dimColor:!0,children:n}):null]})},"BackgroundTaskBar");import{jsx as Kl,jsxs as RD}from"react/jsx-runtime";import TD from"string-width";var sy=9,ay=3,x0=160,CD={shouldRender:!1,activeCount:0,rows:[]};function S0(e,t=sy){let n=TD(e);return n>=t?e:`${e}${" ".repeat(t-n)}`}i(S0,"padChildActivitySymbol");function cy(e){let t=e.replace(/\s+/gu," ").trim();return t.length<=x0?t:`${t.slice(0,x0-3)}...`}i(cy,"truncateChildActivityDetail");function Np(e){return!!(e?.liveOnly===!0&&(e.workflowCorrelation||e.childAgentId))}i(Np,"shouldRouteToChildActivity");function w0(e,t){return!!(e?.liveOnly===!0&&e.workflowCorrelation?.workflowRunId&&t&&e.workflowCorrelation.workflowRunId===t)}i(w0,"shouldRouteWorkflowLiveOnlyNotice");function T0(e){return!e.isTranscriptMode&&e.childActivityVisible&&(e.isLoading||e.hasWorkflowLiveSurface)}i(T0,"shouldShowChildActivitySurface");function ly(e){let t=e.childAgentId??e.workflowCorrelation?.childAgentId??"child",n=e.workflowCorrelation?.workflowRunId;return n?`${n}:${t}`:t}i(ly,"childActivityId");function C0(e){return e.childAgentName??e.childAgentId??e.workflowCorrelation?.childAgentId??"child"}i(C0,"childActivityLabel");function I0(e){return e.workflowCorrelation?"workflow":"normal"}i(I0,"childActivitySource");function v0(e,t){let n=t?.path??t?.pattern??t?.command??t?.preview,r=typeof n=="string"&&n.trim().length>0?` ${n}`:"";return cy(`${e}${r}`)}i(v0,"toolActivityDetail");function b0(e,t){return e==="tool"&&["thinking","assistant","stream"].includes(t)}i(b0,"suppressesChurnOverToolAction");function ID(e){let t=Math.max(0,Math.floor(e/1e3)),n=t%60,r=Math.floor(t/60)%60,o=Math.floor(t/3600);return o>0?`${o}h${String(r).padStart(2,"0")}m`:r>0?`${r}m${String(n).padStart(2,"0")}s`:`${n}s`}i(ID,"formatChildActivityElapsed");function vD(e){switch(e){case"assistant":return"Assistant";case"thinking":return"Thinking";case"tool":return"Tool";case"progress":return"Progress";case"prompt":return"Prompt";default:return"Status"}}i(vD,"kindLabel");function bD(e,t){let n=e.label.trim()||"child",r=e.startedAt!==void 0?` \xB7 ${ID(t-e.startedAt)}`:"",o=e.detail.trim(),s=o.length>0?`: ${o}`:"";return`${n}${r} - ${vD(e.kind)}${s}`}i(bD,"rowText");function R0(e,t=ay,n=Date.now()){let r=e.filter(d=>d.status==="running");if(r.length===0)return CD;let o=Math.max(1,Math.floor(t)),s=[],a=r.length>o&&o>1?o-1:o,c=r.slice(0,a);for(let d of c)s.push({kind:"activity",id:d.id,symbol:d.source==="workflow"?"agent":"child",symbolColor:"cyan",text:bD(d,n),isActive:!0});let l=r.length-c.length;return l>0&&s.length<o&&s.push({kind:"summary",id:"children-more",symbol:"more",symbolColor:"dim",text:`${l} more active`,isActive:!1}),{shouldRender:!0,activeCount:r.length,rows:s.slice(0,o)}}i(R0,"buildChildActivityViewModel");var k0=sy;function kD(e){let t=oe("dark");switch(e){case"cyan":return t.colors.primary;case"green":return t.colors.success;default:return t.colors.dim}}i(kD,"resolveSymbolColor");var ED=i(({row:e})=>{let t=kD(e.symbolColor);return RD(E,{flexDirection:"row",children:[Kl(E,{width:k0,flexShrink:0,children:Kl(I,{color:t,bold:e.isActive,wrap:"truncate",children:S0(e.symbol,k0)})}),Kl(I,{color:e.kind==="summary"?oe("dark").colors.dim:void 0,bold:e.isActive,wrap:"truncate",children:e.text})]})},"ChildActivityRowView");function Bp(e){return!e.shouldRender||e.rows.length===0?0:e.rows.length}i(Bp,"measureChildActivitySurfaceRows");var Wp=i(({viewModel:e})=>!e.shouldRender||e.rows.length===0?null:Kl(E,{flexDirection:"column",flexGrow:1,children:e.rows.map(t=>Kl(ED,{row:t},`${t.kind}-${t.id}`))}),"ChildActivitySurface");import E0,{createContext as _0,useContext as L0,useReducer as MD,useCallback as tt,useRef as M0,useEffect as A0}from"react";function AD(e,t){return e.agentId===t&&e.priority==="user"&&e.mode==="prompt"}i(AD,"isPendingPromptForAgent");function fy(e){return Kn().getSnapshot().filter(t=>AD(t,e))}i(fy,"getPendingPrompts");function uy(e){return fy(e).map(t=>t.content)}i(uy,"getPendingPromptContents");var dy={state:ur.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 Hp(e={}){let t=i(()=>e.getPendingInputAgentId?.(),"getPendingInputAgentId"),n={...dy,pendingInputs:uy(t())},r=new Set,o="",s="",a=0,c=null,l=!1,d=80,f=i(()=>{for(let T of r)T(n)},"notify"),p=i(()=>{let T=uy(t());if(T.length===n.pendingInputs.length){let w=!0;for(let b=0;b<T.length;b++)if(T[b]!==n.pendingInputs[b]){w=!1;break}if(w)return}n={...n,pendingInputs:T},f()},"syncReactStateFromQueue"),m=Kn().subscribe(()=>{p()}),h=i(()=>Kn().dequeue({agentId:t(),maxPriority:"user",mode:"prompt"}).map(w=>w.content),"drainOurSlice"),S=i(()=>{if(c&&(clearTimeout(c),c=null),o||s||a>0){let w=n.thinkingContent+s,b=s?w.length:n.thinkingCharCount+a;n={...n,currentResponse:n.currentResponse+o,thinkingContent:w,thinkingCharCount:b,...s||a>0?{isThinking:!0}:{}},o="",s="",a=0,f()}},"flushPendingUpdates"),v=i(()=>{c||(c=setTimeout(S,d))},"scheduleFlush");return{getState:i(()=>n,"getState"),setState:i(T=>{S(),n={...n,state:T},f()},"setState"),startStreaming:i(()=>{l=!1,o="",s="",a=0,c&&(clearTimeout(c),c=null),n={...n,state:ur.Responding,currentResponse:"",abortController:new AbortController,error:void 0,roundStartedAt:Date.now()},f()},"startStreaming"),stopStreaming:i(()=>{S(),n={...n,state:ur.Idle,abortController:void 0,roundStartedAt:null},f()},"stopStreaming"),appendResponse:i(T=>{l||(o+=T,v())},"appendResponse"),clearResponse:i(()=>{S(),n={...n,currentResponse:""},f()},"clearResponse"),setError:i(T=>{S(),n={...n,error:T,state:T?ur.Idle:n.state},f()},"setError"),abort:i(T=>{l=!0,S(),n.abortController?.abort(),o="",s="",a=0,c&&(clearTimeout(c),c=null),T?.preservePendingInputs||h(),n={...n,state:ur.Idle,abortController:void 0,roundStartedAt:null},f()},"abort"),reset:i(()=>{l=!0,S(),n.abortController?.abort(),o="",s="",a=0,c&&(clearTimeout(c),c=null),h(),n={...dy,pendingInputs:uy(t())},l=!1,f()},"reset"),isStreaming:i(()=>n.state===ur.Responding||n.state===ur.WaitingForConfirmation,"isStreaming"),subscribe:i(T=>(r.add(T),()=>{r.delete(T)}),"subscribe"),startThinking:i(()=>{S(),n={...n,isThinking:!0,thinkingCharCount:0,thinkingContent:""},f()},"startThinking"),appendThinkingChars:i(T=>{l||(a+=T,v())},"appendThinkingChars"),appendThinkingContent:i(T=>{l||(s+=T,v())},"appendThinkingContent"),stopThinking:i(()=>{S(),n={...n,isThinking:!1,thinkingCharCount:0},f()},"stopThinking"),clearThinkingContent:i(()=>{S(),n={...n,isThinking:!1,thinkingCharCount:0,thinkingContent:""},f()},"clearThinkingContent"),setCurrentTool:i(T=>{S(),n={...n,currentTool:T,toolInputCharCount:0,toolInputContent:""},f()},"setCurrentTool"),appendToolInputChars:i(T=>{n={...n,toolInputCharCount:n.toolInputCharCount+T},f()},"appendToolInputChars"),appendToolInputContent:i(T=>{n.toolInputContent.length<240&&(n={...n,toolInputContent:(n.toolInputContent+T).slice(0,240)},f())},"appendToolInputContent"),clearToolInputContent:i(()=>{n={...n,toolInputContent:""},f()},"clearToolInputContent"),getSignal:i(()=>n.abortController?.signal,"getSignal"),getFullResponse:i(()=>n.currentResponse+o,"getFullResponse"),getThinkingContent:i(()=>n.thinkingContent+s,"getThinkingContent"),startNewIteration:i(T=>{S(),n.thinkingContent||n.currentResponse?n={...n,thinkingContent:"",thinkingCharCount:0,currentResponse:"",isThinking:!1,currentTool:void 0,toolInputCharCount:0,toolInputContent:"",currentIteration:T}:n={...n,currentIteration:T},f()},"startNewIteration"),clearIterationHistory:i(()=>{S(),n={...n,iterationHistory:[],currentIteration:1,maxIter:dy.maxIter,thinkingContent:"",thinkingCharCount:0,currentResponse:"",currentTool:void 0,toolInputCharCount:0,toolInputContent:""},f()},"clearIterationHistory"),setMaxIter:i(T=>{S(),n={...n,maxIter:T},f()},"setMaxIter"),startCompacting:i(()=>{S(),n={...n,isCompacting:!0},f()},"startCompacting"),stopCompacting:i(()=>{S(),n={...n,isCompacting:!1},f()},"stopCompacting"),addPendingInput:i(T=>{let w=T.trim();w&&(fy(t()).length>=5||(S(),Kn().enqueue({agentId:t(),priority:"user",mode:"prompt",content:w})))},"addPendingInput"),removeLastPendingInput:i(()=>{let T=fy(t()),w=T[T.length-1];w&&(S(),Kn().dequeue({agentId:t(),maxPriority:"user",mode:"prompt",id:w.id}))},"removeLastPendingInput"),shiftPendingInput:i(()=>(S(),Kn().dequeue({agentId:t(),maxPriority:"user",mode:"prompt",limit:1})[0]?.content),"shiftPendingInput"),clearPendingInputs:i(()=>{S(),h()},"clearPendingInputs"),consumePendingInputs:i(()=>(S(),h()),"consumePendingInputs"),dispose:i(()=>{m()},"dispose")}}i(Hp,"createStreamingManager");var P0=_0(null),$0=_0(null);function Yl({children:e,onStateChange:t,getPendingInputAgentId:n}){let r=M0(n);r.current=n;let o=M0(void 0);o.current||(o.current=Hp({getPendingInputAgentId:i(()=>r.current?.(),"getPendingInputAgentId")}));let s=o.current,[,a]=MD(ue=>ue+1,0);A0(()=>s.subscribe(ye=>{a(),t?.(ye)}),[s,t]),A0(()=>()=>{s.dispose()},[s]);let c=tt(()=>{s.startStreaming()},[]),l=tt(()=>{s.stopStreaming()},[]),d=tt(ue=>{s.appendResponse(ue)},[]),f=tt(()=>{s.clearResponse()},[]),p=tt(ue=>{s.setError(ue)},[]),m=tt(ue=>{s.abort(ue)},[]),h=tt(()=>{s.reset()},[]),S=tt(()=>{s.startThinking()},[]),v=tt(ue=>{s.appendThinkingChars(ue)},[]),T=tt(ue=>{s.appendThinkingContent(ue)},[]),w=tt(()=>{s.stopThinking()},[]),b=tt(()=>{s.clearThinkingContent()},[]),M=tt(ue=>{s.setCurrentTool(ue)},[]),O=tt(ue=>{s.appendToolInputChars(ue)},[]),k=tt(ue=>{s.appendToolInputContent(ue)},[]),P=tt(()=>{s.clearToolInputContent()},[]),q=tt(()=>s.getSignal(),[]),V=tt(()=>s.getFullResponse(),[]),K=tt(()=>s.getThinkingContent(),[]),fe=tt(ue=>{s.startNewIteration(ue)},[]),ge=tt(()=>{s.clearIterationHistory()},[]),Z=tt(ue=>{s.setMaxIter(ue)},[]),y=tt(()=>{s.startCompacting()},[]),A=tt(()=>{s.stopCompacting()},[]),Q=tt(ue=>{s.addPendingInput(ue)},[]),W=tt(()=>{s.removeLastPendingInput()},[]),ae=tt(()=>s.shiftPendingInput(),[]),le=tt(()=>{s.clearPendingInputs()},[]),pe=tt(()=>s.consumePendingInputs(),[]),Ee={startStreaming:c,stopStreaming:l,appendResponse:d,clearResponse:f,setError:p,abort:m,reset:h,startThinking:S,appendThinkingChars:v,appendThinkingContent:T,stopThinking:w,clearThinkingContent:b,setCurrentTool:M,appendToolInputChars:O,appendToolInputContent:k,clearToolInputContent:P,getSignal:q,getFullResponse:V,getThinkingContent:K,startNewIteration:fe,clearIterationHistory:ge,setMaxIter:Z,startCompacting:y,stopCompacting:A,addPendingInput:Q,removeLastPendingInput:W,shiftPendingInput:ae,clearPendingInputs:le,consumePendingInputs:pe};return E0.createElement(P0.Provider,{value:s.getState()},E0.createElement($0.Provider,{value:Ee},e))}i(Yl,"StreamingProvider");function Wa(){let e=L0(P0);if(!e)throw new Error("useStreamingState must be used within a StreamingProvider");return e}i(Wa,"useStreamingState");function Ha(){let e=L0($0);if(!e)throw new Error("useStreamingActions must be used within a StreamingProvider");return e}i(Ha,"useStreamingActions");function py(){let e=Wa(),t=Ha(),n=e.state===ur.Responding||e.state===ur.WaitingForConfirmation;return{state:e,actions:t,isStreaming:n}}i(py,"useStreaming");import{useCallback as _D,useRef as LD}from"react";var PD=500;function O0(e={}){let{onKey:t,onEsc:n,onCtrlC:r,enabled:o=!0}=e,s=LD(0),{exit:a}=Nr(),c=_D(l=>{if(!o)return!1;if(l.name==="escape"){let d=Date.now(),f=d-s.current<PD;return s.current=d,f&&(l.name="escape-escape"),n?.(),t?.(l),!0}return l.ctrl&&l.name==="c"?(r?.(),t?.(l),!0):l.ctrl&&l.name==="d"?(a(),!0):(t?.(l),!1)},[o,a,r,n,t]);return $n(c,{isActive:o}),{lastEscTime:s.current}}i(O0,"useKeypress");function D0(e){return{is:i((t,n)=>!(e.name!==t||n?.ctrl!==void 0&&e.ctrl!==n.ctrl||n?.shift!==void 0&&e.shift!==n.shift||n?.meta!==void 0&&e.meta!==n.meta),"is"),isCtrl:i(t=>e.ctrl&&e.name===t,"isCtrl"),isShift:i(t=>e.shift&&e.name===t,"isShift"),isArrow:i(()=>["up","down","left","right"].includes(e.name),"isArrow"),isChar:i(()=>e.sequence?.length===1&&!e.ctrl&&!e.meta,"isChar"),getChar:i(()=>e.sequence?.length===1?e.sequence:null,"getChar")}}i(D0,"createKeyMatcher");import{useCallback as N0,useSyncExternalStore as $D}from"react";function OD(e,t){return e.agentId===t&&e.priority==="user"&&e.mode==="prompt"}i(OD,"isQueuedPromptForAgent");var my=null,Fp=new Map;function DD(e){let t=Kn().getSnapshot();t!==my&&(my=t,Fp.clear());let n=Fp.get(e);if(n!==void 0)return n;let r=Object.freeze(t.filter(o=>OD(o,e)));return Fp.set(e,r),r}i(DD,"getQueueSliceSnapshot");function hy(e){let t=N0(r=>Kn().subscribe(r),[]),n=N0(()=>DD(e),[e]);return $D(t,n,n)}i(hy,"useQueuedPrompts");function B0(e){return hy(e).map(n=>n.content)}i(B0,"useQueuedPromptContents");function W0(){my=null,Fp.clear()}i(W0,"_resetQueuedPromptsCacheForTests");var Fa="Runtime state: run active until this approval is resolved.";function jp(e,t){if(!t.confirmed)return{type:"reject",reason:"User rejected the tool call."};if(t.runtimeGrantKind===void 0)return{type:"allow_once"};let n=e.grantSuggestions?.find(r=>r.kind===t.runtimeGrantKind);return n?t.runtimeGrantKind==="session"?{type:"allow_session",suggestionId:n.id}:{type:"allow_always",suggestionId:n.id}:{type:"reject",reason:"Runtime grant suggestion expired."}}i(jp,"resolveReplRuntimePermissionDecision");function ja(e){let t=e.classifierModelEnv??e.classifierModel;return{engine:e.engine,...t!==void 0?{classifierModel:t}:{},...e.timeoutMs!==void 0?{timeoutMs:e.timeoutMs}:{},...e.speculativeWindowMs!==void 0?{speculativeWindowMs:e.speculativeWindowMs}:{}}}i(ja,"toReplRuntimeAutoModeSettings");async function Ua(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??Ji(),title:"",gitRoot:e.gitRoot,runtimeInfo:e.runtimeInfo,createdAt:new Date().toISOString(),lastAccessed:new Date().toISOString()}}i(Ua,"createInteractiveContext");function Ji(){let e=new Date,t=e.toISOString().split("T")[0].replace(/-/g,""),n=e.toTimeString().split(" ")[0].replace(/:/g,"");return`${t}_${n}`}i(Ji,"generateSessionId");function gr(e){e.lastAccessed=new Date().toISOString()}i(gr,"touchContext");import Gp from"node:fs";import Xl from"node:os";import yr from"node:path";var ND=new Set(["write","edit","multi_edit","insert_after_anchor"]),BD=new Set(["read","grep","glob"]),WD=new Set([".ssh",".aws",".azure",".gnupg",".kube",".docker",".kodax",".agents"]),HD=new Set([".env",".npmrc",".pypirc",".netrc",".git-credentials","credentials","credentials.json","application_default_credentials.json","id_rsa","id_ed25519"]),FD=new Set([".env.example",".env.sample",".env.template"]),H0=/(?:^|_)(?:api_?key|access_?key|secret|token|password|passwd|credential|private_?key|auth|cookie)(?:_|$)/i,jD=new Set(["cat","type","get-content","head","tail","less","more","wc","fc"]),UD=new Set(["rg","ripgrep","grep","egrep","fgrep","findstr","select-string","sed","awk"]),GD=new Set(["-delimiter","-encoding","-readcount","-totalcount","-tail"]),VD=new Set(["-path","-literalpath","-filter","-include","-exclude"]),KD=new Set(["-g","-s","--format","--pretty","--date","--encoding","--diff-algorithm","--word-diff-regex","--diff-filter","--find-object","--line-prefix"]),zD=new Set(["rm","rmdir","mkdir","touch","mv","move","ren","del","erase","rd","cp","copy","chmod","chown","dd","tee","remove-item","set-content","add-content","out-file","new-item","copy-item","move-item","rename-item","ni"]),YD=new Set(["add","remove","rm","rename","set-head","set-branches","set-url","prune","update"]),XD=new Set(["-d","-m","-c","-f","--force","--delete","--move","--copy","--edit-description","--set-upstream-to","--unset-upstream","--create-reflog","--track","--no-track","--recurse-submodules"]),qD=new Set(["-a","--annotate","-s","--sign","-u","--local-user","-d","--delete","-f","--force","-m","--message","-F","--file","--create-reflog"].map(e=>e.toLowerCase()));function yy(e){let t=Xl.tmpdir(),n=[[/^%temp%/i,t],[/^%tmp%/i,t],[/^\$env:temp\b/i,t],[/^\$env:tmp\b/i,t],[/^\$tmpdir\b/i,t],[/^\$temp\b/i,t],[/^\$tmp\b/i,t]],r=e==="~"?Xl.homedir():/^~[\\/]/.test(e)?yr.join(Xl.homedir(),e.slice(2)):e,o=/^(?:\$\{HOME\}|\$HOME|\$env:(?:home|userprofile)|%userprofile%)(?=$|[\\/])/i;r=r.replace(o,Xl.homedir());for(let[s,a]of n)s.test(r)&&(r=r.replace(s,a));return r}i(yy,"expandPermissionPath");function QD(e){let t=yy(e);if(!(/[$%*?`]/.test(t)||/^~/.test(t)))return t}i(QD,"normalizeShellTarget");function F0(e,t){if(!e.trim()||e.includes("\0"))return;let n=yy(e);if(process.platform==="win32"&&/^[a-z]:[^\\/]/i.test(n))return;let r=yr.isAbsolute(n)?yr.resolve(n):yr.resolve(t??process.cwd(),n),o=[],s=r;for(;;){try{Gp.lstatSync(s)}catch(a){if((a instanceof Error?a.code:void 0)!=="ENOENT")return;let l=yr.dirname(s);if(l===s)return;o.unshift(yr.basename(s)),s=l;continue}try{return yr.join(Gp.realpathSync.native(s),...o)}catch{return}}}i(F0,"canonicalizePath");function gy(e){try{let t=yr.resolve(yy(e));return Gp.statSync(t).isDirectory()?Gp.realpathSync.native(t):void 0}catch{return}}i(gy,"canonicalizeExistingDirectory");function JD(){let e=[Xl.tmpdir(),process.env.TEMP,process.env.TMP,process.env.TMPDIR,process.platform==="win32"?yr.join(process.env.SystemRoot??"C:\\Windows","Temp"):"/tmp",...process.platform==="win32"?[]:["/var/tmp"]],t=new Set;for(let n of e){if(!n?.trim())continue;let r=gy(n);r&&t.add(r)}return[...t]}i(JD,"canonicalTempDirectories");function Zi(e){let t=e.split(/[\\/]+/).map(s=>s.toLowerCase()),n=t.at(-1)??"",r=!FD.has(n)&&(n===".env"||n.startsWith(".env."));return t[1]==="proc"&&(t[0]===""||/^[a-z]:$/i.test(t[0]??""))&&/^(?:self|\d+)$/.test(t[2]??"")&&t[3]==="environ"||t.some(s=>WD.has(s))||t.some(s=>HD.has(s))||r||t.some(s=>/^id_(?:rsa|dsa|ecdsa|ed25519)(?:\.pub)?$/.test(s))||t.some((s,a)=>s===".config"&&(t[a+1]==="gcloud"||t[a+1]==="gh"))}i(Zi,"isSensitivePath");function ZD(e){try{let t=F0(io());return t!==void 0&&Sd(e,t)}catch{return!0}}i(ZD,"isProtectedAgentHome");function Nn(e,t){if(Zi(e))return{path:e,boundary:"protected"};let n=QD(e);if(!n)return{path:e,boundary:"unresolved"};if(Zi(n))return{path:e,boundary:"protected"};let r=gy(t.executionCwd),o=gy(t.projectRoot),s=r?F0(n,r):void 0;return!s||!o?{path:e,boundary:"unresolved"}:Zi(s)||ZD(s)?{path:e,boundary:"protected"}:Sd(s,o)?{path:e,boundary:"workspace"}:JD().some(a=>Sd(s,a))?{path:e,boundary:"system-temp"}:{path:e,boundary:"outside-workspace"}}i(Nn,"classifyTarget");function Up(e){return e.boundary==="workspace"||e.boundary==="system-temp"}i(Up,"isAllowedMutationTarget");function xr(e){return{action:"escalate",reason:e}}i(xr,"escalate");function es(e){return(e.argv[0]??"").replace(/\\/g,"/").split("/").at(-1)?.toLowerCase()??""}i(es,"shellExecutable");function eN(e){return e.unparseable||e.statements.length===0?!1:e.statements.every(t=>t.stages.length>0&&t.stages.every(n=>zD.has(es(n))||pn(n.argv.join(" "))))}i(eN,"hasOnlyModeledShellStages");function tN(e){for(let t of e.statements)for(let n of t.stages){let r=n.argv.map(c=>c.toLowerCase()),o=es(n);if(o==="find"&&r.some(c=>c==="-delete"||c==="-exec"||c==="-execdir"||c==="-ok"||c==="-okdir"))return!0;if(o!=="git")continue;let s=r[1],a=r.slice(2);if(s==="remote"){let c=a.find(l=>!l.startsWith("-"));if(c&&YD.has(c))return!0}if(s==="branch"&&(a.some(c=>XD.has(c))||a[0]&&!a[0].startsWith("-"))||s==="tag"&&(a.some(l=>qD.has(l)||l.startsWith("--message=")||l.startsWith("--file="))||!a.some(l=>l==="-l"||l==="--list")&&a[0]&&!a[0].startsWith("-")))return!0}return!1}i(tN,"hasWriteCapableReadSyntax");function nN(e,t){let n=typeof e.path=="string"?e.path:"";if(!n)return Sr(xr("auto-mode rules could not resolve the file target"),ti("incomplete","tool",[],["target_unresolved"],"file target is missing"));let r={kind:"write",target:Nn(n,t)},o=r.target.boundary!=="unresolved",s=j0(r)?{action:"allow"}:xr("auto-mode rules require confirmation for a protected or out-of-boundary file target");return Sr(s,ti(o?"complete":"incomplete","tool",[r],xy([r]),o?void 0:"file target could not be resolved safely"))}i(nN,"assessFileCall");function rN(e,t,n){let r=e==="glob"?t.pattern:t.glob;return typeof r=="string"&&Zi(r)?r:typeof t.path=="string"&&t.path.trim()?t.path:e==="read"?"":n.executionCwd}i(rN,"readToolTarget");function oN(e,t,n){let r=rN(e,t,n);if(!r)return Sr(xr("auto-mode could not resolve the read target"),ti("incomplete","tool",[],["target_unresolved"],"read target is missing"));let o={kind:"read",target:Nn(r,n)},s=o.target.boundary!=="unresolved",a=s&&o.target.boundary!=="protected";return Sr(a?{action:"allow"}:xr("auto-mode requires confirmation before reading a sensitive or unresolved target"),ti(s?"complete":"incomplete","tool",[o],xy([o]),s?void 0:"read target could not be resolved safely"))}i(oN,"assessReadFileCall");function iN(e,t){return[...e.matchAll(/\$(?:env:)?\{?([a-z_][a-z0-9_]*)\}?/gi),...e.matchAll(/%([a-z_][a-z0-9_]*)%/gi),...e.matchAll(/\benv:([a-z_][a-z0-9_]*)/gi)].some(r=>H0.test(r[1]??""))||/\b(?:get-childitem|gci|dir)\b[^\r\n|;&]*\benv:\s*(?:$|[|;&])/i.test(e)||/\bgit\s+config\s+--get\s+\S*(?:credential|token|password|secret|extraheader|oauth)\S*/i.test(e)?!0:t.statements.some(r=>r.stages.some(o=>{let s=es(o);if(s!=="env"&&s!=="printenv")return!1;let a=o.argv.slice(1).filter(c=>!c.startsWith("-"));return a.length===0||a.some(c=>H0.test(c))}))}i(iN,"sensitiveEnvironmentRead");function sN(e){if(Zi(e))return e;let t=e.match(/^:\([^)]*\)(.+)$/)?.[1];if(t&&Zi(t))return t;for(let n=e.indexOf(":");n>=0;n=e.indexOf(":",n+1)){let r=e.slice(n+1);if(r&&Zi(r))return r}}i(sN,"sensitivePathCandidate");function aN(e){let t=new Set,n=i(r=>{if(!r)return;let o=sN(r);o&&t.add(o)},"addCandidate");for(let r of e.statements)for(let o of r.stages){let s=es(o);if(s==="git"){let a=o.argv[1]?.toLowerCase(),c=!1;for(let l=2;l<o.argv.length;l+=1){let d=o.argv[l]??"";if(d==="--"){c=!0;continue}if(!c&&KD.has(d.toLowerCase())){l+=1;continue}!c&&d.startsWith("-")||(c||a==="diff"||d.includes(":"))&&n(d)}continue}if(UD.has(s)){let a=o.argv.map(c=>JSON.stringify(c)).join(" ");for(let c of Mh(a))n(c);continue}if(jD.has(s))for(let a=1;a<o.argv.length;a+=1){let c=o.argv[a]??"",l=c.toLowerCase();if(s==="get-content"){if(GD.has(l)){a+=1;continue}if(VD.has(l)){n(o.argv[a+1]),a+=1;continue}}c.startsWith("-")||n(c)}}return[...t]}i(aN,"collectSensitiveReadTargets");function cN(e,t){let n=typeof e.command=="string"?e.command:"";if(!n.trim())return Sr(xr("auto-mode rules could not resolve the shell command"),ti("incomplete","shell",[],["command_unresolved"],"shell command is missing"));if(lN(n))return Sr(xr("auto-mode requires confirmation because a quoted Windows directory is ambiguous"),ti("incomplete","shell",[{kind:"unknown",summary:"ambiguous quoted Windows directory command"}],["command_unresolved"],"a trailing backslash may escape the closing quote"));let r=aC(n),o=SN(r)?"powershell":"shell",s=uN(n,r,t),a=t.signals.some(h=>h.kind==="dangerous_pattern"&&h.severity==="high"),c=!r.unparseable&&!tN(r)&&eN(r),l=dr(n)||s.operations.some(h=>h.kind!=="execute"),d=s.complete&&c&&(pn(n)||l)&&s.operations.length>0&&s.operations.every(h=>Vp(h).every(S=>S.boundary!=="unresolved")),f=xy(s.operations);a&&f.push("high_risk_pattern"),iN(n,r)&&f.push("sensitive_environment_read");let p=ti(d?"complete":"incomplete",o,s.operations,f,d?void 0:s.reason??"shell effects are not fully modeled");if(!d)return Sr(xr("auto-mode rules require confirmation for an unmodelled shell command"),p);if(a)return Sr(xr("auto-mode rules require confirmation for a high-risk shell command"),p);if(f.includes("sensitive_environment_read"))return Sr(xr("auto-mode requires confirmation before reading sensitive environment data"),p);let m=s.operations.every(j0)?{action:"allow"}:xr("auto-mode rules require confirmation for a protected or out-of-boundary shell target");return Sr(m,p)}i(cN,"assessBashCall");function lN(e){return process.platform!=="win32"?!1:/"[A-Za-z]:\\[^"\r\n]*\\"(?=\s*(?:&&|\|\||[;|]|$))/.test(e)}i(lN,"hasAmbiguousQuotedWindowsDirectory");function uN(e,t,n){if(t.unparseable)return{complete:!1,operations:[{kind:"unknown",summary:`opaque shell payload (${Buffer.byteLength(e,"utf8")} bytes)`}],reason:"shell syntax could not be parsed"};let r=[],o=new Set,s=!0,a;for(let l of t.statements)for(let d of l.stages){if(!Eh(es(d)))continue;let f=cC(d.argv);f.status==="incomplete"&&(s=!1,a??=f.reason);for(let p of f.operations){let m=xN(p,n);r.push(m);for(let h of Vp(m))o.add(h.path)}}for(let l of t.statements)for(let d of l.stages)for(let f of dN(d,n)){r.push(f);for(let p of Vp(f))o.add(p.path)}for(let l of pC(e))o.has(l)||r.push({kind:"write",target:Nn(l,n)});let c=aN(t);if(pn(e)||c.length>0){let l=new Set(c);if(pn(e))for(let d of Mh(e))l.add(d);for(let d of l)o.has(d)||(r.push({kind:"read",target:Nn(d,n)}),o.add(d))}return r.length===0&&pn(e)&&r.push({kind:"execute",summary:"read-only shell command",options:{readOnly:!0}}),a===void 0?{complete:s,operations:r}:{complete:s,operations:r,reason:a}}i(uN,"collectShellOperations");function dN(e,t){let n=es(e),r=fN(n,e.argv.slice(1));if(["rm","rmdir","del","erase","rd"].includes(n))return r.map(o=>({kind:"delete",target:Nn(o,t),options:{recursive:e.argv.some(s=>s==="--recursive"||/^-[^-]*[rR]/.test(s)||["del","erase","rd","rmdir"].includes(n)&&/^\/s$/i.test(s))}}));if(n==="mkdir"||n==="touch")return r.map(o=>({kind:"create",target:Nn(o,t)}));if(n==="mv"||n==="move"||n==="cp"||n==="copy"){let o=gN(e.argv),s=o?r:r.slice(0,-1),a=o??r.at(-1);return!a||s.length===0?[]:s.map(c=>({kind:n==="cp"||n==="copy"?"copy":"move",source:Nn(c,t),destination:Nn(a,t),options:{force:e.argv.some(l=>/^(?:-f|--force|\/y)$/i.test(l)),recursive:(n==="cp"||n==="copy")&&e.argv.some(l=>l==="--recursive"||/^-[^-]*[rRa]/.test(l)),destinationIsDirectory:o!==void 0||s.length>1,overwritePossible:!0}}))}if(n==="ren"&&r.length===2){let o=r[0];return[{kind:"rename",source:Nn(o,t),destination:Nn(yN(o,r[1]),t)}]}return[]}i(dN,"collectDirectShellOperations");function fN(e,t){let n=[],r=!1;for(let o of t){if(r){r=!1;continue}if(hN(e,o)){r=!0;continue}o!=="--"&&(o.startsWith("-")||mN(e,o)||n.push(o))}return n}i(fN,"directPositionals");var pN={copy:new Set(["/a","/b","/d","/j","/l","/n","/v","/y","/-y","/z"]),del:new Set(["/p","/f","/s","/q","/a"]),erase:new Set(["/p","/f","/s","/q","/a"]),move:new Set(["/y","/-y"]),rd:new Set(["/s","/q"]),rmdir:new Set(["/s","/q"])};function mN(e,t){let n=t.toLowerCase(),r=n.indexOf(":"),o=r>=0?n.slice(0,r):n;return pN[e]?.has(o)===!0}i(mN,"isDirectWindowsSwitch");function hN(e,t){return(e==="cp"||e==="copy"||e==="mv"||e==="move")&&["-t","--target-directory","-S","--suffix"].includes(t)||e==="mkdir"&&["-m","--mode"].includes(t)?!0:e==="touch"&&["-d","--date","-r","--reference","-t","--time"].includes(t)}i(hN,"directOptionTakesValue");function gN(e){let t=e.findIndex(r=>r==="-t"||r==="--target-directory");return t>=0?e[t+1]:e.find(r=>r.startsWith("--target-directory="))?.slice(19)}i(gN,"directTargetDirectory");function yN(e,t){let n=/^[a-z]:|\\/i.test(e)?yr.win32:yr.posix;return n.join(n.dirname(e),t)}i(yN,"joinSourceParent");function xN(e,t){return"target"in e?{kind:e.kind,target:Nn(e.target,t),options:e.options}:{kind:e.kind,source:Nn(e.source,t),destination:Nn(e.destination,t),options:e.options}}i(xN,"mapPowerShellOperation");function SN(e){return e.statements.some(t=>t.stages.some(n=>Eh(es(n))))}i(SN,"hasPowerShellMutationStage");function Vp(e){return"target"in e?[e.target]:"source"in e?[e.source,e.destination]:[]}i(Vp,"operationPaths");function j0(e){return e.options?.whatIf===!0?!0:e.kind==="execute"?e.options?.readOnly===!0:e.kind==="unknown"?!1:e.kind==="read"?e.target.boundary!=="protected"&&e.target.boundary!=="unresolved":"target"in e?Up(e.target):"source"in e?e.kind==="copy"?Up(e.destination)&&e.source.boundary!=="protected"&&e.source.boundary!=="unresolved":Up(e.source)&&Up(e.destination):!1}i(j0,"isOperationAllowed");function xy(e){let t=new Set;for(let n of e){if(n.options?.whatIf===!0)continue;let r=Vp(n);wN(n).some(o=>o.boundary==="outside-workspace")&&t.add("outside_workspace_mutation"),n.kind==="read"&&r.some(o=>o.boundary==="protected")&&t.add("sensitive_read"),r.some(o=>o.boundary==="protected")&&t.add("protected_path"),r.some(o=>o.boundary==="unresolved")&&t.add("target_unresolved"),(n.kind==="move"||n.kind==="rename")&&(t.add("source_removed"),n.source.boundary!==n.destination.boundary&&t.add("cross_boundary_mutation")),n.kind==="copy"&&n.source.boundary!==n.destination.boundary&&(t.add("cross_boundary_copy"),n.destination.boundary==="outside-workspace"&&t.add("data_export_possible")),n.kind==="delete"&&t.add("source_removed"),(n.kind==="move"||n.kind==="copy")&&n.options?.overwritePossible&&t.add("destination_overwrite_possible")}return[...t]}i(xy,"collectRisks");function wN(e){return"target"in e?e.kind==="read"?[]:[e.target]:"source"in e?e.kind==="copy"?[e.destination]:[e.source,e.destination]:[]}i(wN,"mutationTargets");function ti(e,t,n,r,o){return{schemaVersion:1,analysis:{status:e,shell:t,binding:e==="complete"?"exact":"partial",...o?{reason:o}:{}},operations:n,risks:r}}i(ti,"review");function Sr(e,t){return{decision:e,review:t}}i(Sr,"assessment");function U0(e,t){return ND.has(e.name)?nN(e.input,t):BD.has(e.name)?oN(e.name,e.input,t):e.name==="bash"?cN(e.input,t):Sr(xr(`auto-mode rules require confirmation for tool "${e.name}"`),ti("incomplete","tool",[{kind:"unknown",summary:`tool ${e.name}`}],["tool_effects_unresolved"],"tool has no deterministic effect analyzer"))}i(U0,"assessAutoModeCall");var G0=i((e,t)=>U0(e,t).review,"analyzeAutoModeCall"),V0=i((e,t)=>U0(e,t).decision,"evaluateAutoRulesCall");async function Ga(e){let t=await CT({userKodaxDir:dT(),projectRoot:e.projectRoot}),n;return{getGuardrail:i(()=>n||(n=IT({rules:t.merged,getToolProjection:i(o=>(Nd(o)??lT(o))?.toClassifierInput,"getToolProjection"),resolveProvider:i(o=>{try{return Ci(o)}catch{return}},"resolveProvider"),defaultProvider:e.getCurrentProviderName(),defaultModel:e.getCurrentModel()??"",getDefaultProvider:e.getCurrentProviderName,getDefaultModel:i(()=>e.getCurrentModel()??"","getDefaultModel"),askUser:e.askUser,allowOnClassifierFailure:i(o=>hC(o,e.projectRoot,e.executionCwd),"allowOnClassifierFailure"),workspaceShellSandboxAvailable:e.workspaceShellSandboxAvailable,admitWorkspaceSandboxCall:e.admitWorkspaceSandboxCall,evaluateRulesCall:V0,analyzeCall:G0,log:e.log,onEngineChange:e.onEngineChange,sharedState:e.sharedState,projectRoot:e.projectRoot,executionCwd:e.executionCwd,extraCollectors:e.extraCollectors,extraAbsoluteDenyChecks:[gC],initialEngine:e.autoModeSettings.engine,timeoutMs:e.autoModeSettings.timeoutMs,userSettings:e.autoModeSettings.classifierModel,envVar:e.autoModeSettings.classifierModelEnv,speculativeWindowMs:e.autoModeSettings.speculativeWindowMs}),n),"getGuardrail"),rulesLoadResult:t}}i(Ga,"bootstrapAutoMode");var ts=class{static{i(this,"MemorySessionStorage")}sessions=new Map;async save(t,n){let r=this.sessions.get(t);this.sessions.set(t,{...structuredClone(n),scope:n.scope??r?.scope??"user",uiHistory:n.uiHistory??r?.uiHistory,extensionState:n.extensionState??r?.extensionState,artifactLedger:n.artifactLedger??r?.artifactLedger,actorSnapshot:n.actorSnapshot??r?.actorSnapshot,extensionRecords:n.extensionRecords??r?.extensionRecords,tag:n.tag??r?.tag,lineage:Ze(n.messages,n.lineage??r?.lineage)})}async load(t){return structuredClone(this.sessions.get(t)??null)}async getLineage(t){return structuredClone(this.sessions.get(t)?.lineage??null)}async loadFullLineage(t){return this.getLineage(t)}async setActiveEntry(t,n,r){let o=this.sessions.get(t);if(!o?.lineage)return null;let s=Ws(o.lineage,n,r);if(!s)return null;let a={...structuredClone(o),messages:kt(s),lineage:s};return this.sessions.set(t,a),structuredClone(a)}async setLabel(t,n,r){let o=this.sessions.get(t);if(!o?.lineage)return null;let s=Hs(o.lineage,n,r);if(!s)return null;let a={...structuredClone(o),lineage:s};return this.sessions.set(t,a),structuredClone(a)}async fork(t,n,r){let o=this.sessions.get(t);if(!o?.lineage)return null;let s=Gs(o.lineage,n);if(!s)return null;let a=r?.sessionId??await Vs(),c={messages:kt(s),title:r?.title??o.title,gitRoot:o.gitRoot,tag:o.tag,uiHistory:o.uiHistory?o.uiHistory.map(l=>({...l})):void 0,extensionState:o.extensionState?structuredClone(o.extensionState):void 0,artifactLedger:o.artifactLedger?structuredClone(o.artifactLedger):void 0,extensionRecords:o.extensionRecords?structuredClone(o.extensionRecords):void 0,lineage:s};return this.sessions.set(a,c),{sessionId:a,data:structuredClone(c)}}async rewind(t,n){let r=this.sessions.get(t);if(!r?.lineage)return null;let o=n??js(r.lineage);if(!o)return null;let s=Us(r.lineage,o);if(!s)return null;let a={...r,messages:kt(s),lineage:s};return this.sessions.set(t,a),structuredClone(a)}async list(t){return Array.from(this.sessions.entries()).filter(([,n])=>(n.scope??"user")==="user").map(([n,r])=>({id:n,title:r.title,msgCount:r.lineage?bi(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 K0(){return new ts}i(K0,"createMemorySessionStorage");import*as z0 from"child_process";import*as Y0 from"util";import Kp from"chalk";var TN=Y0.promisify(z0.exec),CN={maxBuffer:1024*1024,timeout:3e4,maxOutputLength:8e3,maxErrorLength:4e3};async function ql(e,t={}){let n={...CN,...t},r=e.trim(),o=lC(r);if(o)return o.startsWith("[Blocked]")&&(console.log(Kp.yellow(`
|
|
65
|
+
${o}`)),console.log()),o;try{console.log(Kp.dim(`
|
|
66
|
+
[Executing: ${r}]`));let{stdout:s,stderr:a}=await TN(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(Kp.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(Kp.red(`
|
|
73
|
+
[Shell Error: ${c}]`)),console.log(),`[Shell command failed: ${r}]
|
|
74
|
+
|
|
75
|
+
Error: ${c}`}}i(ql,"executeShellCommand");async function Sy(e,t={}){if(e.startsWith("!")){let n=e.slice(1).trim();return ql(n,t)}return e}i(Sy,"processSpecialSyntax");function X0(e){return e.trim().startsWith("!")}i(X0,"isShellCommand");function q0(e){return e.startsWith("[Shell command executed:")||e.startsWith("[Shell:")}i(q0,"isShellCommandSuccess");function Ql(e){return e.startsWith("[Shell command executed:")||e.startsWith("[Shell command failed:")||e.startsWith("[Shell:")||e.startsWith("[Blocked]")}i(Ql,"isShellCommandHandled");var Q0=150,J0=50;function Fr(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>J0){let r=t[t.length-J0]??0;n=e.slice(r)}if(n.length>Q0){let r=n.slice(-Q0),o=r.findIndex(s=>s.type==="user");n=o>0?r.slice(o):r}return[...n]}i(Fr,"trimPersistedUiHistorySnapshot");function ni(e){if(e)return Fr(e)}i(ni,"normalizePersistedUiHistory");function IN(e){let t=e.timestamp===void 0?{}:{timestamp:e.timestamp};switch(e.type){case"assistant":return{type:"assistant",text:e.text,...t,...e.compactText?{compactText:e.compactText}:{}};case"thinking":return{type:"thinking",text:e.text,...t,...e.compactText?{compactText:e.compactText}:{}};case"event":return{type:"event",text:e.text,...t,...e.icon?{icon:e.icon}:{},...e.compactText?{compactText:e.compactText}:{}};case"info":return{type:"info",text:e.text,...t,...e.icon?{icon:e.icon}:{},...e.compactText?{compactText:e.compactText}:{}};case"user":return{type:"user",text:e.text,...t};case"system":return{type:"system",text:e.text,...t};case"error":return{type:"error",text:e.text,...t};case"hint":return{type:"hint",text:e.text,...t};case"sidecar":{let n=e.icon;if(n==="budget-exhausted")return{type:"sidecar",text:e.text,delivery:"budget-exhausted",...t};let r=n==="blocked"?"blocked":"revise";return{type:"sidecar",text:e.text,verdict:r,...t}}}}i(IN,"toCreatableTextHistoryItem");function vN(e){if(e.type!=="tool_group")return IN(e);let t=e.tools.map(Jd);return t.length>0?{type:"tool_group",tools:t,...e.timestamp===void 0?{}:{timestamp:e.timestamp}}:void 0}i(vN,"persistedUiHistoryItemToCreatableHistoryItem");function bN(e){let t=new Set,n=[];for(let r of e){if(r.type!=="tool_group"){n.push(r);continue}let o=r.tools.filter(s=>t.has(s.id)?!1:(t.add(s.id),!0));o.length>0&&n.push({...r,tools:o})}return n}i(bN,"dedupePersistedToolGroups");function eR(e,t){if(e.type!==t.type)return!1;if(e.type==="tool_group"&&t.type==="tool_group")return e.tools.map(o=>o.id).join(`
|
|
76
|
+
`)===t.tools.map(o=>o.id).join(`
|
|
77
|
+
`);if(e.type==="tool_group"||t.type==="tool_group")return!1;let n=e.text.trim(),r=t.text.trim();return n===r||Z0(n,r)||Z0(r,n)}i(eR,"matchesTimestampSource");function Z0(e,t){if(!e.endsWith(t))return!1;let n=e.slice(0,-t.length);return/^\[[^\]\r\n]+\]\s+$/.test(n)}i(Z0,"hasDisplayPrefix");function RN(e,t){let n=0;return e.map(r=>{if(r.timestamp!==void 0)return r;for(let o=n;o<t.length;o+=1){let s=t[o];if(!(s?.timestamp===void 0||!eR(r,s)))return n=o+1,{...r,timestamp:s.timestamp}}return r})}i(RN,"recoverMissingTimestamps");function kN(e,t){let n=new Map,r=e.length-1;for(let o=t.length-1;o>=0;o-=1){let s=t[o];if(!(!s||s.type==="tool_group"))for(let a=r;a>=0;a-=1){let c=e[a];if(!(!c||c.type==="tool_group")&&eR(c,s)){n.set(o,a),r=a-1;break}}}return n}i(kN,"alignCanonicalTextItems");function EN(e,t){for(let n=t-1;n>=0;n-=1){let r=e.get(n);if(r!==void 0)return r}}i(EN,"previousAnchor");function MN(e,t,n){for(let r=t+1;r<n;r+=1){let o=e.get(r);if(o!==void 0)return o}}i(MN,"nextAnchor");function AN(e,t){let n=kN(e,t),r=new Map,o=new Map;for(let d of e)if(d.type==="tool_group")for(let f of d.tools)o.has(f.id)||o.set(f.id,{tool:f,timestamp:d.timestamp});let s=new Set,a=new Set(n.values()),c=new Set;for(let d=0;d<t.length;d+=1){let f=t[d];if(!f||f.type!=="tool_group")continue;let p=f.tools.filter(M=>s.has(M.id)?!1:(s.add(M.id),!0)).map(M=>o.get(M.id)?.tool??M),m=EN(n,d);if(m===void 0||p.length===0){for(let M of p)s.delete(M.id);continue}let h=MN(n,d,t.length),S=h!==void 0&&h>m?h:m+1,v=h??e.findIndex((M,O)=>O>m&&M.type==="user"),T=v<0?e.length:v;for(let M=m+1;M<T;M+=1){let O=e[M];O?.type==="event"&&O.icon==="tool"&&!a.has(M)&&c.add(M)}let w=r.get(S)??[],b=p.map(M=>o.get(M.id)?.timestamp).find(M=>M!==void 0);w.push({...f,tools:p,...b===void 0?{}:{timestamp:b}}),r.set(S,w)}let l=[];for(let d=0;d<=e.length;d+=1){l.push(...r.get(d)??[]);let f=e[d];if(!f||c.has(d))continue;if(f.type!=="tool_group"){l.push(f);continue}let p=f.tools.filter(m=>!s.has(m.id));p.length>0&&l.push({...f,tools:p})}return RN(l,t)}i(AN,"enrichPersistedUiHistory");function Jl(e){let t=Zd(e.messages).map(Do),n=ni(e.uiHistory);if(!n||n.length===0)return t;let r=bN(n.map(vN).filter(o=>!!o));return AN(r,t)}i(Jl,"restoreHistoryItemsFromSession");async function Va(e,t){return(await e.list(t,{limit:1e3})).find(r=>r.msgCount>0)}i(Va,"findMostRecentResumableSession");function Zl(e,t,n){let r=e.trim();return{type:"info",icon:"\u23F3",text:/\bretry\s+\d+\/\d+\b/i.test(r)||/\b\d+\/\d+\b/.test(r)?r:`${r} \xB7 retry ${t}/${n}`}}i(Zl,"createRetryHistoryItem");function tR(e,t,n,r){e(Zl(t,n,r))}i(tR,"emitRetryHistoryItem");function eu(e){let{recoveryAction:t,attempt:n,maxAttempts:r,delayMs:o,stage:s,fallbackUsed:a}=e,c=Math.round(o/1e3);if(t==="manual_continue")return{type:"info",icon:"\u26A0",text:'Recovery exhausted. Type "continue" to retry or "stop" to cancel.'};if(t==="non_streaming_fallback"||a)return{type:"info",icon:"\u23F3",text:"Stream unstable, switching to non-streaming mode"};if(t==="sanitize_thinking_and_retry")return{type:"info",icon:"\u23F3",text:"Provider rejected replay thinking, sanitizing history and retrying"};let l;switch(s){case"before_first_delta":case"before_request_accepted":l="Provider request timed out";break;case"mid_stream_text":case"mid_stream_thinking":l="Stream interrupted after partial output";break;case"mid_stream_tool_input":l="Stream interrupted during tool input";break;case"post_tool_execution_pre_assistant_close":l="Stream interrupted after tool execution";break;default:l="Stream interrupted";break}let d=t==="stable_boundary_retry"?"recovering":"retrying";return{type:"info",icon:"\u23F3",text:c>0?`${l} \xB7 ${d} ${n}/${r} in ${c}s`:`${l} \xB7 ${d} ${n}/${r}`}}i(eu,"createRecoveryHistoryItem");function nR(e,t){e(eu(t))}i(nR,"emitRecoveryHistoryItem");import{jsx as ce,jsxs as vn,Fragment as MH}from"react/jsx-runtime";import qE,{useState as Fe,useCallback as G,useRef as he,useEffect as De,useMemo as me}from"react";import{jsx as jr,Fragment as _N,jsxs as zp}from"react/jsx-runtime";var wy=" | ",rR=i(({searchActive:e=!1,selectionActive:t=!1,showAllActive:n=!1,searchQuery:r="",searchCurrent:o=0,searchCount:s=0,searchDetailText:a,pendingLiveUpdates:c=0,secondaryText:l,noticeText:d})=>{let f=oe("dark"),p=r.trim(),m=a?.trim(),h=l?.trim(),S=d?.trim(),v=e?p?`Search /${p}`:"Search":"Transcript",T=e?`Enter jump | n/N next/prev | Ctrl+E ${n?"collapse":"show all"} | Esc close | Ctrl+O/q back`:t?`PgUp/PgDn page | j/k scroll | / search | n/N matches | Ctrl+E ${n?"collapse":"show all"} | Esc clear focus | Ctrl+O/q back`:`PgUp/PgDn page | j/k scroll | \u2190/\u2192 select | / search | n/N matches | Ctrl+E ${n?"collapse":"show all"} | s dump | Ctrl+O/q/Esc back`,w=c>0?c===1?"1 new update":`${c} new updates`:void 0,b=e&&s>0?`${Math.max(0,o)}/${s}`:void 0,M=e&&m||h,O=!!(M||S);return zp(E,{flexDirection:"column",children:[zp(E,{paddingX:1,children:[jr(I,{color:f.colors.dim,children:v}),jr(I,{dimColor:!0,children:wy}),jr(I,{color:f.colors.dim,children:T}),b||w?jr(E,{flexGrow:1}):null,b?zp(_N,{children:[jr(I,{dimColor:!0,children:b}),w?jr(I,{dimColor:!0,children:wy}):null]}):null,w?jr(I,{color:f.colors.accent,bold:!0,children:w}):null]}),O?zp(E,{paddingX:1,children:[M?jr(I,{color:f.colors.dim,children:M}):null,M&&S?jr(I,{dimColor:!0,children:wy}):null,S?jr(I,{color:f.colors.accent,bold:!0,children:S}):null]}):null]})},"TranscriptModeFooter");import{jsx as LN,jsxs as PN}from"react/jsx-runtime";var oR=i(({banner:e,...t})=>PN(E,{flexDirection:"column",children:[e,LN(Jo,{...t,animateSpinners:!1,showFullThinking:!1,showDetailedTools:!1,showLiveProgressRows:!1})]}),"PromptTranscriptSurface");import{jsx as $N,jsxs as ON}from"react/jsx-runtime";var iR=i(({banner:e,windowed:t=!1,showDetailedTools:n=!1,showAllContent:r=!1,...o})=>ON(E,{flexDirection:"column",children:[e,$N(kp,{...o,chromeMode:"hidden",windowed:t,showFullThinking:!0,showDetailedTools:n,showAllContent:r,showLiveProgressRows:!0})]}),"TranscriptModeSurface");import{jsxs as DN,jsx as NN}from"react/jsx-runtime";var sR=i(({text:e,tone:t="success"})=>{let n=e?.trim();if(!n)return null;let r=oe("dark"),o=t==="warning"?r.colors.warning:r.colors.accent,s=t==="warning"?"!":"\u2713";return NN(E,{paddingX:1,backgroundColor:r.colors.inputBackground,children:DN(I,{color:o,children:[s," ",n]})})},"ClipboardToastSurface");import{jsx as ri,Fragment as BN,jsxs as Ty}from"react/jsx-runtime";var WN=" \u23BF ";function HN(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}}i(HN,"resolveSymbolColor");var FN=i(({row:e})=>{let t=HN(e.symbolColor),n=e.kind!=="item";return Ty(E,{flexDirection:"row",children:[ri(I,{color:t,bold:e.isActive,children:e.symbol}),ri(I,{children:" "}),ri(I,{dimColor:n,bold:e.isActive,strikethrough:e.isStrikethrough,children:e.text}),e.evaluatorBadge?Ty(BN,{children:[ri(I,{children:" "}),ri(I,{dimColor:!0,children:e.evaluatorBadge})]}):null]})},"TodoListRow"),aR=i(({viewModel:e})=>{if(!e.shouldRender||e.rows.length===0)return null;let t=oe("dark").colors.dim;return Ty(E,{flexDirection:"row",children:[ri(I,{color:t,children:WN}),ri(E,{flexDirection:"column",flexGrow:1,children:e.rows.map((n,r)=>ri(FN,{row:n},`${n.kind}-${n.id??r}`))})]})},"TodoListSurface");import{jsx as tu,jsxs as jN}from"react/jsx-runtime";var cR=RC;function UN(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}}i(UN,"resolveSymbolColor");var GN=i(({row:e})=>{let t=UN(e.symbolColor);return jN(E,{flexDirection:"row",children:[tu(E,{width:cR,flexShrink:0,children:tu(I,{color:t,bold:e.isActive,wrap:"truncate",children:kC(e.symbol,cR)})}),tu(I,{color:e.kind==="hint"?oe("dark").colors.dim:void 0,bold:e.isActive,wrap:"truncate",children:e.text})]})},"WorkflowRunRow");function lR(e){return!e.shouldRender||e.rows.length===0?0:e.rows.length}i(lR,"measureWorkflowRunSurfaceRows");var uR=i(({viewModel:e})=>!e.shouldRender||e.rows.length===0?null:tu(E,{flexDirection:"column",flexGrow:1,children:e.rows.map((t,n)=>tu(GN,{row:t},`${t.kind}-${t.id??n}`))}),"WorkflowRunSurface");function dR(e){if(!e.shouldRender||e.rows.length===0)return[];let t=[`Plan ${e.completedCount}/${e.totalCount} completed`];for(let n of e.rows){let r=n.evaluatorBadge?` ${n.evaluatorBadge}`:"";t.push(`${n.symbol} ${n.text}${r}`)}return t}i(dR,"formatTodoPlanViewModelForTranscript");var fR="\u2610",VN="\u25CF",pR="\u2713",KN="\u2717",zN="\u2298",YN="\u2612";function XN(e){switch(e){case"in_progress":return{symbol:VN,color:"cyan"};case"completed":return{symbol:pR,color:"green"};case"failed":return{symbol:KN,color:"red"};case"skipped":return{symbol:zN,color:"gray"};case"cancelled":return{symbol:YN,color:"gray"};default:return{symbol:fR,color:"dim"}}}i(XN,"symbolForStatus");function qN(e){for(let t=0;t<e.length;t++)if(e[t].status==="in_progress")return t;for(let t=0;t<e.length;t++)if(e[t].status==="pending")return t;for(let t=e.length-1;t>=0;t--)if(e[t].status==="completed")return t;return 0}i(qN,"pickAnchorIndex");function QN(e){let{symbol:t,color:n}=XN(e.status),r=e.status==="failed"&&e.note?`${e.subject} (${e.note})`:e.subject,o=e.status==="cancelled",s=e.evaluator?`[${e.evaluator}]`:void 0;return{kind:"item",id:e.id,symbol:t,symbolColor:n,text:r,isActive:e.status==="in_progress",isStrikethrough:o,evaluatorBadge:s}}i(QN,"buildItemRow");function JN(e){return{kind:"summary_done",symbol:pR,symbolColor:"green",text:`${e} done`,isActive:!1}}i(JN,"buildDoneSummary");function Cy(e){return{kind:"summary_pending",symbol:fR,symbolColor:"dim",text:`+${e} more`,isActive:!1}}i(Cy,"buildPendingSummary");function ZN(e,t){for(let n=e.length-1;n>=0;n--)if(e[n].status==="failed"&&!t.has(n))return n;return-1}i(ZN,"pickFailedToPromote");function eB(e,t){let n=e.length;if(n===0)return{visibleIdx:[],hiddenCompletedCount:0,hiddenPendingCount:0};let r=4,o=Math.max(0,t-1),s=Math.min(n,o+r);s-o<r&&o>0&&(o=Math.max(0,s-r)),s-o<r&&s<n&&(s=Math.min(n,o+r));let a=[];for(let d=o;d<s;d++)a.push(d);let c=0,l=0;for(let d=0;d<o;d++)e[d].status==="completed"&&c++;for(let d=s;d<n;d++){let f=e[d].status;(f==="pending"||f==="in_progress")&&l++}return{visibleIdx:a,hiddenCompletedCount:c,hiddenPendingCount:l}}i(eB,"decideWindow");function mR(e,t){let n=e.length,r=e.reduce((h,S)=>S.status==="completed"?h+1:h,0),o=i((h,S)=>({shouldRender:S,rows:h,completedCount:r,totalCount:n}),"baseVm");if(n<1)return o([],!1);t.now,t.lastAllCompletedAt;let s=qN(e),a=eB(e,s),c=new Set(a.visibleIdx),l=ZN(e,c),d=[...a.visibleIdx],f=a.hiddenCompletedCount,p=a.hiddenPendingCount;if(l>=0){let h=-1;for(let S=d.length-1;S>=0;S--){let v=d[S];if(v!==s&&e[v].status==="pending"){h=S;break}}if(h>=0){let S=d[h];d[h]=l,p+=1,d.sort((w,b)=>w-b);let v=d[0],T=0;for(let w=0;w<v;w++)e[w].status==="completed"&&T++;f=T}}let m=[];f>0&&m.push(JN(f));for(let h of d)m.push(QN(e[h]));if(p>0&&m.push(Cy(p)),m.length>6)for(;m.length>6;){let h=!1;for(let S=m.length-1;S>=0;S--){let v=m[S];if(v.kind==="item"&&!v.isActive){m.splice(S,1);let T=m[m.length-1];if(T&&T.kind==="summary_pending"){let w=/\+(\d+) more/.exec(T.text),b=w?Number.parseInt(w[1],10)+1:1;m[m.length-1]=Cy(b)}else m.push(Cy(1));h=!0;break}}if(!h)break}return o(m,!0)}i(mR,"buildTodoPlanViewModel");function hR(e){let t=[];e.isHistorySearchActive?t.push({id:"search",label:"Search",accent:!0}):e.isTranscriptMode&&t.push({id:"transcript",label:"Transcript"}),e.pendingInputCount>0&&t.push({id:"queue",label:`Queue ${e.pendingInputCount}`}),e.buffering==="buffered-fallback"&&(e.isHistorySearchActive||e.isTranscriptMode)&&t.push({id:"buffered",label:"Buffered"}),e.isTranscriptMode&&e.pendingLiveUpdates>0&&t.push({id:"updates",label:e.pendingLiveUpdates===1?"1 update":`${e.pendingLiveUpdates} updates`,accent:!0});let n=[],r=[...t,...n].map(o=>o.label.trim()).filter(Boolean).join(" | ");return{leftItems:t,rightItems:n,summary:r}}i(hR,"buildFooterHeaderViewModel");function Yp(e,t,n,r){if(r?.contextKind==="child")return null;let o=n?.preCompactionMessages?Ze([...n.preCompactionMessages],e):e;return n?.anchor?Md(o,t,n.anchor,n.postCompactAttachments??[]):Ze(t,o)}i(Yp,"prepareRootCompactionLineage");function gR(e,t){let n=e.loadFullLineage;if(!n)return e;let r=i(async o=>(await t(),n.call(e,o)),"guardedLoadFullLineage");return new Proxy(e,{get(o,s){if(s==="loadFullLineage")return r;let a=Reflect.get(o,s,o);return typeof a=="function"?a.bind(o):a}})}i(gR,"withSessionHistoryReadBarrier");function yR(){let e=Promise.resolve();return t=>{let n=e.then(t);return e=n.then(()=>{},()=>{}),n}}i(yR,"createConfirmationDialogQueue");function tB(e){return jT(e.provider,e.model,"off",{longRunning:!0})}i(tB,"evaluateSessionTransitionPolicy");function nB(e,t){let n=t.snapshot.model?`${t.snapshot.provider}:${t.snapshot.model}`:t.snapshot.provider,r=[`[Provider Guardrail] ${e} on ${n}: ${t.summary}`],o=t.issues[0]?.detail;return o&&r.push(` ${o}`),t.status==="block"?r.push(" Switch to a provider with durable full-history session semantics before continuing."):t.status==="warn"&&r.push(" Continuing with degraded session semantics."),r}i(nB,"formatSessionTransitionGuardMessage");function oi(e,t,n){let r=tB(e);if(!r||r.status==="allow")return!0;let[o,...s]=nB(t,r);return n(r.status,o,s),r.status!=="block"}i(oi,"enforceSessionTransitionGuard");function rB(e){switch(e.type){case"message":{let n=(typeof e.message.content=="string"?e.message.content:"[complex content]").replace(/\s+/g," ").trim();return`${e.message.role}: ${n.slice(0,48)}${n.length>48?"...":""}`}case"compaction":return`compaction: ${e.summary.slice(0,48)}${e.summary.length>48?"...":""}`;case"branch_summary":return`branch: ${e.summary.slice(0,48)}${e.summary.length>48?"...":""}`;case"archive_marker":return`archived: ${e.summary.slice(0,48)}${e.summary.length>48?"...":""}`;default:return e}}i(rB,"summarizeEntry");function xR(e,t,n,r){let o=t?n?"\\- ":"|- ":"",s=e.active?"*":" ",a=e.entry.id.slice(0,12),c=e.label?` [${e.label}]`:"";r.push(`${t}${o}${s} ${a} ${rB(e.entry)}${c}`);let l=t+(t?n?" ":"| ":"");e.children.forEach((d,f)=>{xR(d,l,f===e.children.length-1,r)})}i(xR,"formatNode");function Xp(e){let t=[];return e.forEach((n,r)=>{xR(n,"",r===e.length-1,t)}),t}i(Xp,"formatSessionTree");function SR(e,t){return e!==null&&e.attempt===t.attempt&&e.maxAttempts===t.maxAttempts&&e.waitMs===t.delayMs}i(SR,"isDuplicateLegacyRateLimit");var oB=100,iB=/\b(curl|wget|invoke-webrequest|invoke-restmethod|iwr|irm)\b/i,TR=/\b(rm|del|erase|remove-item|rmdir|rd|git clean)\b/i,CR=/\b(npm|pnpm|yarn|pip|choco|winget)\s+(install|add|remove|uninstall|update|upgrade|ci)\b/i,IR=/\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}i(Ka,"readString");function on(e,t,n){n&&e.push({label:t,value:n})}i(on,"pushField");function sB(e){return e.replace(/\s+/g," ").trim()}i(sB,"normalizeWhitespace");function aB(e,t){if(e.length<=t)return e;let n=Math.ceil((t-3)/2),r=Math.floor((t-3)/2);return`${e.slice(0,n)}...${e.slice(e.length-r)}`}i(aB,"truncateMiddle");function cB(e){let t=e;return t=t.replace(/\b(authorization\s*:\s*bearer\s+)([^\s'"]+)/gi,(n,r)=>`${r}[REDACTED]`),t=t.replace(/\b((?:authorization|cookie)\s*:\s*)([^'"]+)/gi,(n,r)=>`${r}[REDACTED]`),t=t.replace(/\b(bearer\s+)([^\s'"]+)/gi,(n,r)=>`${r}[REDACTED]`),t=t.replace(/\b(api[_-]?key|access[_-]?token|refresh[_-]?token|token|secret|password|passwd|cookie|session)\b(\s*[:=]\s*)(['"]?)([^'"\s]+)(\3)/gi,(n,r,o,s)=>`${r}${o}${s}[REDACTED]${s}`),t=t.replace(/(--(?:api-key|token|secret|password|cookie)\s+)(\S+)/gi,(n,r)=>`${r}[REDACTED]`),t=t.replace(/((?:-u|--user)\s+)(\S+)/gi,(n,r)=>`${r}[REDACTED]`),t}i(cB,"maskSensitiveSegments");function wR(e){return aB(cB(sB(e)),oB)}i(wR,"summarizeCommand");function lB(e){return pn(e)?re("intent.read"):TR.test(e)?re("intent.delete"):CR.test(e)?re("intent.deps"):dr(e)||IR.test(e)?re("intent.modify"):re("intent.execute")}i(lB,"classifyShellIntent");function uB(e){let t=[];return TR.test(e)?t.push(re("risk.destructive")):CR.test(e)?t.push(re("risk.deps")):dr(e)||IR.test(e)?t.push(re("risk.modify")):pn(e)||t.push(re("risk.unknown")),iB.test(e)&&t.push(re("risk.network")),t}i(uB,"classifyShellRisks");function dB(e){if(Array.isArray(e))return e.filter(t=>typeof t=="object"&&t!==null&&typeof t.kind=="string")}i(dB,"readSignals");function fB(e){if(e){if(e.some(t=>t.kind==="protected_path"))return re("scope.protected");if(e.some(t=>t.kind==="outside_project"||t.kind==="shell_redirect_outside"))return re("scope.outside")}}i(fB,"scopeFromSignals");function pB(e){if(e._outsideProject===!0)return re("scope.outside");if(e._alwaysConfirm===!0)return re("scope.protected")}i(pB,"scopeFromMarkers");function mB(e){if(!e)return[];let t=[],n=e.some(o=>o.kind==="dangerous_pattern"&&o.severity==="high"),r=e.some(o=>o.kind==="dangerous_pattern"&&o.severity==="medium");return n?t.push(re("risk.destructive")):r&&t.push(re("risk.modify")),e.some(o=>o.kind==="network")&&t.push(re("risk.network")),e.some(o=>o.kind==="package_install")&&t.push(re("risk.deps")),t}i(mB,"risksFromSignals");var hB={Reason:"field.reason",Intent:"field.intent",Target:"field.target",Scope:"field.scope",Risk:"field.risk",Summary:"field.summary"};function gB(e){return re(hB[e])}i(gB,"localizeFieldLabel");function za(e,t){return{title:e,fields:t,details:t.map(n=>`${gB(n.label)}: ${n.value}`)}}i(za,"buildDisplayFromFields");function qp(e,t){if(e==="confirm"){let l=Ka(t._message);if(l)return za(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
|
+
`)}:za(d,[])}let n=[],r=Ka(t.path),o=Ka(t.command),s=Ka(t._reason)??Ka(t.justification),a=dB(t._classifierSignals),c=fB(a)??pB(t);switch(on(n,"Reason",s),e){case"bash":case"shell_command":{if(o){on(n,"Intent",lB(o)),on(n,"Scope",c);let l=mB(a),d=l.length>0?l:uB(o);d.length>0&&on(n,"Risk",d.join("; ")),on(n,"Summary",wR(o))}else on(n,"Scope",c);return za(e==="bash"?re("tool.bash.title"):re("tool.shell.title"),n)}case"write":return on(n,"Intent",re("intent.write_file")),on(n,"Target",r),on(n,"Scope",c),za(re("tool.write.title"),n);case"edit":return on(n,"Intent",re("intent.edit_file")),on(n,"Target",r),on(n,"Scope",c),za(re("tool.edit.title"),n);default:return on(n,"Intent",re("intent.use_tool",{tool:e})),on(n,"Target",r),on(n,"Scope",c),o&&on(n,"Summary",wR(o)),za(re("tool.generic.title",{tool:e}),n)}}i(qp,"buildToolConfirmationDisplay");function vR(e,t){let n=qp(e,t);return n.details.length>0?`${n.title}
|
|
79
|
+
${n.details.join(`
|
|
80
|
+
`)}`:n.title}i(vR,"buildToolConfirmationPrompt");function bR(e,t=240){let n=e.trim();return n?n.length>t?`${n.slice(0,t-3)}...`:n:""}i(bR,"truncateToolPreview");function RR(e,t=800){let n=e.trim();return n?n.length>t?`${n.slice(0,t-3)}...`:n:""}i(RR,"truncateToolOutputPreview");function Iy(e){return e.replace(/^\[[^\]]+\]\s+/,"").replace(/^[A-Za-z][A-Za-z0-9_-]*:\s*/,"").trim()}i(Iy,"stripToolRolePrefix");function vy(e){return Iy(e).toLowerCase()}i(vy,"normalizeToolNameForMatch");function by(e){return e===`[${re("managed.completed")}]`||e===`[${re("managed.completed.blocked")}]`||e===`[${re("managed.completed.continuation")}]`}i(by,"isCompletionTranscriptItem");function Qp(e,t){if(!e||!t)return e;let n=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return e.replace(new RegExp(`^\\[Tools\\]\\s+\\[${n}\\]\\s+`,"i"),"[Tools] ").replace(new RegExp(`^\\[Thinking\\]\\s+\\[${n}\\]\\s*`,"i"),"[Thinking] ").replace(new RegExp(`^\\[${n}\\]\\s+thinking\\b`,"i"),"[Thinking]").trim()}i(Qp,"formatManagedLiveActivityLabel");function xo(e,t){return Qp(`[Tools] ${sp(e)}`,t)??`[Tools] ${sp(e)}`}i(xo,"formatManagedLiveToolLabel");function Jp(e,t){if(e.type!==t.type)return!1;switch(e.type){case"assistant":{let n=t;return e.text===n.text&&e.compactText===n.compactText}case"thinking":{let n=t;return e.text===n.text&&e.compactText===n.compactText}case"event":{let n=t;return e.text===n.text&&e.compactText===n.compactText&&e.icon===n.icon}case"info":{let n=t;return e.text===n.text&&e.compactText===n.compactText&&e.icon===n.icon}case"error":case"hint":case"system":case"user":{let n=t;return e.text===n.text}case"tool_group":{let n=t;return JSON.stringify(e.tools)===JSON.stringify(n.tools)}default:return!1}}i(Jp,"areManagedLiveItemsEquivalent");function kR(e){return e==="Task completed"?re("managed.completed"):e==="Task needs continuation"?re("managed.completed.continuation"):e==="Task ended: blocked"?re("managed.completed.blocked"):e==="Task ended: needs_continuation"?re("managed.completed.continuation"):e.startsWith("Task ended:")?re("managed.completed.blocked"):e}i(kR,"localizeManagedCompletionSummary");function ER(e,t){let n=e.trim();return t.trim()?n?e===t?e:t.startsWith(e)?t:e.startsWith(t)?e:t:t:e}i(ER,"mergeLiveThinkingContent");function Ya(e,t){let n=t?.expanded?e.detailNote??e.note:e.note,r=e.activeWorkerTitle?`${e.agentMode.toUpperCase()} ${e.activeWorkerTitle}`:e.agentMode.toUpperCase(),o=e.activeWorkerTitle??"Scout",s=`${e.agentMode.toUpperCase()} ${o}`,a=`${e.agentMode.toUpperCase()} Routing`,c=e.currentRound&&e.maxRounds&&e.currentRound>1?` - Round ${e.currentRound}/${e.maxRounds}`:"";switch(e.phase){case"routing":return`${a} - Routing ready`;case"starting":return n?`${r} - ${n}`:`${r} - Managed task starting`;case"preflight":return n?`${s} - ${n}`:`${s} - ${o} preflight starting`;case"round":return n?`${r} - ${n}`:`${r} - Managed task round update${c}`;case"worker":return n?`${r} - ${n}${c}`:`${r} - ${e.activeWorkerTitle??"Worker"} starting${c}`;case"upgrade":return n?`${r} - ${n}`:`${r} - Harness transition${c}`;case"verifying":return n?`${e.agentMode.toUpperCase()} Verifying - ${n}`:`${e.agentMode.toUpperCase()} Verifying`;case"completed":return n?`${r} - ${n}`:`${r} - Managed task completed`;default:return}}i(Ya,"formatManagedTaskBreadcrumb");var MR=process.env.KODAX_TRANSCRIPT_HARNESS_MARKERS==="1";function AR(e){if(e.events&&e.events.length>0)return e.events.reduce((r,o)=>{let s=o.summary.trim(),a=(o.detail??o.summary).trim();if(!s||!a)return r;let c=`managed-live-${o.key}`,l=Date.now(),d=o.persistToHistory??e.persistToHistory??!1;if(o.presentation==="thinking")return r.push({item:{id:c,type:"thinking",timestamp:l,text:a,...s!==a?{compactText:s}:{}},persistToHistory:d}),r;if(o.presentation==="assistant")return r.push({item:{id:c,type:"assistant",timestamp:l,text:a,...s!==a?{compactText:s}:{}},persistToHistory:d}),r;let f=o.kind==="completed";if(f&&!MR)return r;let p=f?`[${kR(s)}]`:void 0,m=p??s,h=p??a;return r.push({item:{id:c,type:"event",timestamp:l,text:h,icon:o.kind==="warning"?"!":f?"\u2713":">",...m!==h?{compactText:m}:{}},persistToHistory:d}),r},[]);if(e.phase==="completed"&&!MR)return[];let t=Ya(e),n=Ya(e,{expanded:!0})??t;return!t||!n?[]:[{item:{id:`managed-live-fallback-${e.phase??"worker"}-${t.toLowerCase().replace(/[^a-z0-9]+/g,"-").slice(0,48)}`,type:"event",timestamp:Date.now(),text:n,icon:">",...t!==n?{compactText:t}:{}},persistToHistory:e.persistToHistory??!1}]}i(AR,"buildManagedLiveEventDrafts");function yB(e,t){return!(t||e.role!=="evaluator"||e.signal!=="COMPLETE")}i(yB,"shouldFilterSidecarAcceptEntry");function Ry(e,t){let n=e.managedTask;if(!n)return[];let r=t?.verifierLog??process.env.KODAX_VERIFIER_LOG==="1",o=i(f=>{if(!e.interrupted&&!n.verdict.signalReason?.includes("Orchestration cancelled"))return!1;let p=f.signalReason?.trim()??"",m=f.summary?.trim()??"",h=f.output?.trim()??"",S=p.includes("Orchestration cancelled"),v=m.includes("Orchestration cancelled"),T=!h||m==="No textual output produced.";return f.status!=="completed"&&(S||v||T)||(S||v)&&T},"isInterruptedCancellation"),s=new Map(n.roleAssignments.map((f,p)=>[f.id,p])),a=n.verdict.decidedByAssignmentId,c=Math.max(0,...n.evidence.entries.filter(f=>f.assignmentId===a).map(f=>f.round??1)),l=[...n.evidence.entries].sort((f,p)=>{let m=(f.round??1)-(p.round??1);return m!==0?m:(s.get(f.assignmentId)??0)-(s.get(p.assignmentId)??0)}).filter(f=>!o(f)).filter(f=>!yB(f,r)).filter(f=>e.interrupted||!(f.assignmentId===a&&(f.round??1)===c)).map(f=>{let p=f.output?.trim()??"",m=f.summary?.trim()??"",h=p?sa(p):"",S=m?sa(m):"",v=f.role==="scout"?S?`Scout completed: ${S}`:"Scout completed.":S;return{entry:f,text:S||h||v}}).filter(({text:f})=>!!f).map(({entry:f,text:p})=>{let m=f.role==="scout"?" Preflight":(f.round??1)>1?` Round ${f.round}`:"";return`[${f.role==="evaluator"?`\u26A1 Sidecar Verifier${m}`:`${f.title??f.assignmentId}${m}`}]
|
|
81
|
+
${p}`}),d=n.verdict.disposition==="complete"?re("managed.completed"):n.verdict.disposition==="needs_continuation"?re("managed.completed.continuation"):n.verdict.disposition==="blocked"?re("managed.completed.blocked"):void 0;return[...l,...d?[`[${d}]`]:[]]}i(Ry,"buildManagedTaskTranscriptItems");function _R(e){let r=e.slice(0,400).match(new RegExp("\\*\\*([^*\\n]{1,80}?)\\*\\*"))?.[1]?.trim();return r?{header:r}:{}}i(_R,"extractBoldHeader");var ky=[" \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 ft from"chalk";var Zp=class e{static{i(this,"ShortcutsRegistry")}static instance=null;shortcuts=new Map;static getInstance(){return e.instance||(e.instance=new e),e.instance}static resetInstance(){e.instance=null}register(t){let n=this.shortcuts.get(t.id);this.shortcuts.set(t.id,{definition:t,effectiveBindings:n?.effectiveBindings??t.defaultBindings,handler:n?.handler})}registerAll(t){for(let n of t)this.register(n)}unregister(t){return this.shortcuts.delete(t)}setHandler(t,n){let r=this.shortcuts.get(t);r&&(r.handler=n)}findMatchingShortcut(t,n){let r=null,o=-1/0;for(let s of this.shortcuts.values()){let a=s.definition.context;a!=="global"&&a!==n||this.matchesBinding(t,s.effectiveBindings)&&s.handler&&s.definition.priority>o&&(o=s.definition.priority,r=s)}return r}matchesBinding(t,n){for(let r of n){let o=this.normalizeKeyName(t.name),s=this.normalizeKeyName(r.key);if(o===s){let a=(r.ctrl??!1)===t.ctrl,c=(r.shift??!1)===t.shift,l=(r.meta??!1)===t.meta;if(a&&c&&l)return!0}}return!1}normalizeKeyName(t){let n={return:"enter",esc:"escape",del:"delete",backspace:"backspace"," ":"space"},r=t.toLowerCase();return n[r]??r}executeShortcut(t,n){let r=this.findMatchingShortcut(t,n);return r?.handler?r.handler(t)===!0:!1}getAllShortcuts(){return Array.from(this.shortcuts.values())}getShortcutsByCategory(t){return this.getAllShortcuts().filter(n=>n.definition.category===t)}getShortcutsByContext(t){return this.getAllShortcuts().filter(n=>{let r=n.definition.context;return r==="global"||r===t})}formatBinding(t){let n=[];t.ctrl&&n.push("Ctrl"),t.meta&&n.push("Alt"),t.shift&&n.push("Shift");let r=t.key.length===1?t.key.toUpperCase():t.key;return n.push(r),n.join("+")}formatBindings(t){return t.map(n=>this.formatBinding(n)).join(" or ")}},Ur=i(()=>Zp.getInstance(),"getShortcutsRegistry");import{useEffect as xB,useCallback as SB,useRef as wB}from"react";function So(e,t,n={}){let{context:r,isActive:o=!0}=n,s=Ur(),a=wB(t);a.current=t,xB(()=>(s.setHandler(e,d=>a.current(d)),()=>{s.setHandler(e,void 0)}),[s,e]);let c=SB(d=>{if(!o)return!1;let p=s.getAllShortcuts().find(v=>v.definition.id===e);if(!p)return!1;let m=r??p.definition.context,h=m==="global"?"input":m,S=s.findMatchingShortcut(d,h);return S&&S.definition.id===e?a.current(d)===!0:!1},[s,e,o,r]),l=TB(e,s);$n(c,{isActive:o,priority:l})}i(So,"useShortcut");function TB(e,t){let r=t.getAllShortcuts().find(o=>o.definition.id===e);return r?r.definition.priority:0}i(TB,"getShortcutPriority");import CB,{createContext as IB,useContext as vB,useState as LR,useCallback as Ey}from"react";var PR=IB(null);function My({children:e,initialContext:t="input"}){let[n,r]=LR(!1),[o,s]=LR(t);Ur().registerAll(Zs);let c=Ey(()=>{r(p=>!p)},[]),l=Ey(()=>{let m=Ur().getAllShortcuts(),h={global:[],mode:[],navigation:[],editing:[]};for(let S of m){let v=S.definition.category;h[v]||(h[v]=[]),h[v].push(S)}return h},[]),d=Ey(()=>Ur().getShortcutsByContext(o),[o]),f={showHelp:n,toggleHelp:c,setShowHelp:r,currentContext:o,setCurrentContext:s,getShortcutsByCategory:l,getContextShortcuts:d};return CB.createElement(PR.Provider,{value:f},e)}i(My,"ShortcutsProvider");function Ay(){let e=vB(PR);if(!e)throw new Error("useShortcutsContext must be used within a ShortcutsProvider");return e}i(Ay,"useShortcutsContext");import bB from"chalk";var $R={off:0,minimal:1,low:2,medium:3,high:4,xhigh:5,max:6,auto:7};function RB(e,t){let n=e.indexOf(t);if(n!==-1)return n;let r=$R[t];if(r===void 0)return-1;let o=-1,s=-1;for(let a=0;a<e.length;a++){let c=$R[e[a]];c===void 0||c>r||c>s&&(s=c,o=a)}return o}i(RB,"nearestCycleIndex");function _y({currentConfig:e,setCurrentConfig:t,isLoading:n,abort:r,stopThinking:o,clearThinkingContent:s,setCurrentTool:a,setIsLoading:c,onToggleHelp:l,setShowHelp:d,onSetThinking:f,onSetReasoningMode:p,onToggleTranscriptMode:m,onOpenTranscriptSearch:h,canOpenTranscriptSearch:S=!0,isInteractiveDialogActive:v=!1,onSetAgentMode:T,onSetPermissionMode:w,isInputEmpty:b,onSavePermissionMode:M}){let O=i(k=>k?.name?.toLowerCase()==="c"&&k.ctrl===!0,"isCtrlCInterrupt");return So("interrupt",k=>O(k)&&n?(r(),o(),s(),a(void 0),c(!1),console.log(bB.yellow(`
|
|
82
|
+
[Interrupted]`)),!0):!1,{isActive:n}),So("showHelp",()=>v?!1:b?(l(),!0):!1,{isActive:b}),So("toggleThinking",()=>{if(v)return!1;let k=UT(e.provider,e.model);if(k.length===0)return!1;let P=e.permissionMode==="plan"&&!e.effortOverride&&e.planModeEffort!==void 0?e.planModeEffort:e.effortOverride?e.effort:void 0,V=RB(k,P===void 0||P==="auto"?"auto":P==="none"?"off":P),K=k[(V+1)%k.length]??k[0],fe=K==="auto"?void 0:K==="off"?"none":K,ge=K!=="auto",Z=K!=="off",y=K==="off"?"off":"auto";return t(A=>({...A,effort:fe,effortOverride:ge,thinking:Z,reasoningMode:y})),Mi({effort:fe,thinking:Z,reasoningMode:y}),p?.(y),f?.(Z),d(!1),!0}),So("toggleTranscriptMode",()=>v?!1:(m?.(),d(!1),!0)),So("openTranscriptSearch",()=>v||!S?!1:(h?.(),d(!1),!0)),So("togglePermissionMode",()=>{if(v)return!1;let k=["plan","accept-edits","auto"],P=e.permissionMode==="auto-in-project"?"auto":e.permissionMode,V=(k.indexOf(P)+1)%k.length,K=k[V];return t(fe=>({...fe,permissionMode:K})),w?.(K),M?.(K),d(!1),!0}),So("toggleAgentMode",()=>{if(v)return!1;let k=SC(e.agentMode);return t(P=>({...P,agentMode:k})),Mi({agentMode:k}),T?.(k),d(!1),!0}),null}i(_y,"GlobalShortcuts");import{exec as kB}from"child_process";import{promisify as EB}from"util";var MB=EB(kB),AB={read:"read",grep:"grep",glob:"glob",write:"write",edit:"edit",bash:"bash",undo:"undo",askuserquestion:"ask-user-question",askuser:"ask-user-question"};function OR(e){let t=[],n="",r=0;for(let o of e){if(o===","&&r===0){n.trim()&&t.push(n.trim()),n="";continue}o==="("?r++:o===")"&&r>0&&r--,n+=o}return n.trim()&&t.push(n.trim()),t}i(OR,"splitTopLevelCommaList");function _B(e){if(!e?.trim())return{configured:!1,rules:[],invalidEntries:[]};let t=[];return{configured:!0,rules:OR(e).map(r=>{if(r==="*")return{tool:"*"};if(r.includes("(")&&!r.endsWith(")")){t.push(r);return}let o=r.match(/^([^(]+?)(?:\((.*)\))?$/);if(!o){t.push(r);return}let s=AB[o[1].replace(/[^a-z]/gi,"").toLowerCase()];if(!s){t.push(r);return}let a=o[2]?OR(o[2]).map(c=>c.trim()).filter(Boolean):void 0;return{tool:s,patterns:a&&a.length>0?a:void 0}}).filter(r=>r!==void 0),invalidEntries:t}}i(_B,"parseAllowedTools");function LB(e){let t=e.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*");return new RegExp(`^${t}$`,"i")}i(LB,"wildcardToRegExp");function DR(e,t){return LB(e).test(t)}i(DR,"matchesPattern");function NR(e,t,n){if(!e.configured)return!0;if(e.rules.length===0)return!1;let r=t.toLowerCase(),o=r==="bash"?String(n.command??"").trim():"";return e.rules.some(s=>s.tool!=="*"&&s.tool!==r?!1:!s.patterns||s.patterns.length===0||r!=="bash"?!0:s.patterns.some(a=>DR(a,o)))}i(NR,"isToolAllowed");function PB(e,t){return e.matcher?DR(e.matcher,t):!0}i(PB,"hookMatches");function $B(e){let t=e.source==="skill"?"skill":e.source==="extension"?"extension command":"command";return[`Note: ${e.displayName} has model invocation disabled.`,`The ${t} content is shown below for manual use:`,"",`--- ${e.displayName} ---`,e.prompt,`--- end ${e.displayName} ---`].join(`
|
|
83
|
+
`)}i($B,"formatManualOutput");function OB(e,t){if(!t)return;let n=t.trim();if(n){if(!["haiku","sonnet","opus"].includes(n))return n;if(e==="anthropic")switch(n){case"haiku":return"claude-3-5-haiku-latest";case"opus":return"claude-opus-4-1";default:return"claude-sonnet-4-6"}}}i(OB,"resolveModelOverride");async function DB(e,t,n,r,o,s){let a=typeof n.displayName=="string"?n.displayName:"frontmatter invocation",c={command:t.command,_reason:`Frontmatter hook ${e} for ${a}`,_frontmatterHook:!0,_hookEvent:e,_hookMatcher:t.matcher};if(!NR(s,"bash",c))return{allow:!1,message:`Hook ${e} for ${a} is blocked by allowed-tools policy.`};if(o.beforeToolExecute&&!await o.beforeToolExecute("bash",c))return{allow:!1,message:`Hook ${e} for ${a} was blocked by the current permission policy.`};try{let{stdout:l,stderr:d}=await MB(t.command,{env:{...process.env,KODAX_HOOK_EVENT:e,KODAX_HOOK_PAYLOAD:JSON.stringify(n)},maxBuffer:1048576,windowsHide:!0}),f=[l.trim(),d.trim()].filter(Boolean).join(`
|
|
84
|
+
`);f&&o.onToolResult?.({id:`frontmatter-hook:${e}`,name:"bash",content:f}),d.trim()&&await r(`[Hook ${e} stderr] ${d.trim()}`);let p=l.trim();if(!p)return{};try{let m=JSON.parse(p);return{allow:typeof m.allow=="boolean"?m.allow:typeof m.continue=="boolean"?m.continue:void 0,message:typeof m.message=="string"?m.message:void 0,additionalContext:typeof m.additionalContext=="string"?m.additionalContext:typeof m.additional_context=="string"?m.additional_context:void 0}}catch{return{message:p,additionalContext:p}}}catch(l){return await r(`[Hook ${e} failed] ${l instanceof Error?l.message:String(l)}`),{}}}i(DB,"executeHookCommand");async function Xa(e,t,n,r,o,s,a){let c=e?.[t];if(!c||c.length===0)return{};let l={};for(let d of c){if(!PB(d,n))continue;let f=await DB(t,d,r,o,s,a);if(f.message&&await o(`[Hook ${t}] ${f.message}`),f.additionalContext&&(l.additionalContext=l.additionalContext?`${l.additionalContext}
|
|
85
|
+
${f.additionalContext}`:f.additionalContext),f.allow===!1){l.allow=!1;break}}return l}i(Xa,"runHooks");async function em(e,t,n,r){if(t.disableModelInvocation)return{mode:"manual",manualOutput:$B(t),finalize:i(async()=>{},"finalize")};let o=e.events??{},s=_B(t.allowedTools),a=OB(e.provider,t.model),c=!1,l=i(async T=>{if(r(T),!(c||!t.hooks?.Notification?.length)){c=!0;try{await Xa(t.hooks,"Notification",T,{displayName:t.displayName,source:t.source,path:t.path,message:T},async w=>{r(w)},o,s)}finally{c=!1}}},"emitWithNotifications");t.model&&!a&&await l(`[Info] Model preference '${t.model}' is not supported by provider '${e.provider}', using the current model.`),s.invalidEntries.length>0&&await l(`[Warning] ${t.displayName} has invalid allowed-tools entries: ${s.invalidEntries.join(", ")}`),s.configured&&s.rules.length===0&&await l(`[Warning] ${t.displayName} has no valid allowed-tools entries, so all tool execution will be blocked.`);let d=await Xa(t.hooks,"SessionStart",t.displayName,{displayName:t.displayName,source:t.source,path:t.path},l,o,s);if(d.allow===!1)return{mode:"manual",manualOutput:`[Blocked] ${t.displayName} was stopped before execution.`,finalize:i(async()=>{},"finalize")};let f=await Xa(t.hooks,"UserPromptSubmit",n,{displayName:t.displayName,source:t.source,prompt:n,path:t.path},l,o,s);if(f.allow===!1)return{mode:"manual",manualOutput:`[Blocked] ${t.displayName} was stopped by a UserPromptSubmit hook.`,finalize:i(async()=>{},"finalize")};let p=[t.agent?`Preferred agent: ${t.agent}`:void 0,d.additionalContext,f.additionalContext].filter(T=>typeof T=="string"&&T.trim().length>0),m=[p.length>0?p.join(`
|
|
86
|
+
|
|
87
|
+
`):void 0,t.prompt,`User request: ${n}`].filter(T=>typeof T=="string"&&T.trim().length>0),h={...o,beforeToolExecute:i(async(T,w,b)=>NR(s,T,w)?(await Xa(t.hooks,"PreToolUse",T,{tool:T,input:w,displayName:t.displayName,source:t.source,path:t.path},l,o,s)).allow===!1?(await l(`[Blocked] PreToolUse hook blocked '${T}' for ${t.displayName}`),!1):o.beforeToolExecute?await o.beforeToolExecute(T,w,b):!0:(await l(`[Blocked] Tool '${T}' is not allowed by ${t.displayName}`),!1),"beforeToolExecute"),onToolResult:i((T,w)=>{o.onToolResult?.(T,w),Xa(t.hooks,"PostToolUse",T.name,{...T,displayName:t.displayName,source:t.source,path:t.path},l,o,s)},"onToolResult")},S=!1,v=i(async T=>{S||(S=!0,await Xa(t.hooks,t.context==="fork"?"SubagentStop":"Stop",t.displayName,{displayName:t.displayName,source:t.source,path:t.path,error:T?.message},l,o,s))},"finalize");return{mode:t.context==="fork"?"fork":"inline",prompt:m.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:h},finalize:v}}i(em,"prepareInvocationExecution");import{appendFileSync as NB,mkdirSync as BB,writeFileSync as WB}from"node:fs";import{join as WR}from"node:path";import BR from"node:v8";var $y=parseInt(process.env.KODAX_MEMORY_DIAG??"0",10),Oy=$y>=1,Dy=io(),HR=WR(Dy,"memory-diag.log"),Ly=0,Py=!1;function FR(){if(!Py)try{BB(Dy,{recursive:!0}),Py=!0}catch{Py=!0}}i(FR,"ensureLogDir");function HB(e){FR();try{NB(HR,e+`
|
|
90
|
+
`)}catch{}}i(HB,"writeLog");function At(e){return`${(e/1024/1024).toFixed(2)}MB`}i(At,"formatMB");function FB(){return typeof globalThis.gc=="function"?(globalThis.gc(),!0):!1}i(FB,"tryGC");function It(e){return e?e.length*2:0}i(It,"strBytes");function ns(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+=ns(r,t+1);return n}if(typeof e=="object"){let n=64;for(let[r,o]of Object.entries(e))n+=r.length*2,n+=ns(o,t+1);return n}return 16}i(ns,"estimateJsonBytes");function jR(e){if(!e||typeof e!="object")return 64;let t=e,n=64,r=new Set(["type","text","thinking","content","partial_json","input","data","signature","path","mediaType","tool_use_id","id","name","is_error"]);if(typeof t.text=="string"&&(n+=t.text.length*2),typeof t.thinking=="string"&&(n+=t.thinking.length*2),typeof t.content=="string")n+=t.content.length*2;else if(Array.isArray(t.content))for(let o of t.content)n+=jR(o);typeof t.partial_json=="string"&&(n+=t.partial_json.length*2),typeof t.data=="string"&&(n+=t.data.length*2),typeof t.signature=="string"&&(n+=t.signature.length*2),typeof t.path=="string"&&(n+=t.path.length*2),t.input!==void 0&&(n+=ns(t.input));for(let[o,s]of Object.entries(t))r.has(o)||(n+=o.length*2+ns(s));return n}i(jR,"estimateBlockBytes");function Ny(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+=jR(n);return t}return 200}i(Ny,"estimateMessageBytes");function nu(e){let t=128;switch(t+=It(e.id)+It(e.parentId??void 0)+It(e.timestamp),e.type){case"message":return t+Ny(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+=ns(e.details)),e.memorySeed!==void 0&&(t+=ns(e.memorySeed)),t;case"branch_summary":return t+=It(e.summary),t+=It(e.fromId),e.details!==void 0&&(t+=ns(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}}i(nu,"estimateEntryBytes");function jB(e){let t={},n=[];for(let o=0;o<e.length;o++){let s=e[o],a=Ny(s);n.push({index:o,role:s.role,bytes:a});let c=t[s.role]??{count:0,bytes:0};c.count++,c.bytes+=a,t[s.role]=c}return n.sort((o,s)=>s.bytes-o.bytes),{totalBytes:n.reduce((o,s)=>o+s.bytes,0),biggest:n.slice(0,5),byRole:t}}i(jB,"buildMessageBreakdown");function tm(){return Oy}i(tm,"memDiagEnabled");function nm(e,t){if(!Oy)return;e==="turn-start"&&Ly++;let n=process.memoryUsage(),r=new Date().toISOString(),o=t.biggestMessages,s=["",`\u2550\u2550\u2550 [MEMDIAG] turn=${Ly} phase=${e} @${r} \u2550\u2550\u2550`,` V8 heap: used=${At(n.heapUsed)} total=${At(n.heapTotal)} rss=${At(n.rss)} ext=${At(n.external)}`," \u2500\u2500 Data breakdown \u2500\u2500",` context.messages: ${t.messageCount} msgs, ${At(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: ${At(t.lineageNonMessageBytes)} (sidecar payloads)`,` lineage orphan messages: ${t.lineageOrphanMessageCount} msgs, ${At(t.lineageOrphanMessageBytes)} (in lineage but not in context.messages \u2014 branches/pruned)`,` UI history: ${t.historyItemCount} items, ${At(t.historyTextBytes)}`,` foreground turn: ${t.foregroundItemCount} items, ${At(t.foregroundTextBytes)}`,` streaming response: ${At(t.streamingResponseBytes)}`,` streaming thinking: ${At(t.streamingThinkingBytes)}`,` persisted UI history: ${t.persistedUiHistoryCount} items, ${At(t.persistedUiHistoryBytes)}`];if(o.length>0){s.push(" \u2500\u2500 Top 5 biggest messages \u2500\u2500");for(let d of o)s.push(` [${d.index}] role=${d.role} ${At(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=BR.getHeapSpaceStatistics();for(let d of c)d.space_used_size>1024*1024&&s.push(` ${d.space_name.padEnd(25)} used=${At(d.space_used_size)} allocated=${At(d.space_size)}`);if(s.push(" \u2500\u2500 Summary \u2500\u2500"),s.push(` tracked data total: ${At(a)}`),s.push(` V8 heap used: ${At(n.heapUsed)}`),s.push(` unaccounted (overhead): ${At(n.heapUsed-a)}`),s.push(" (React/Ink tree, provider SDK buffers, module metadata,"),s.push(' tokenizer caches, source maps \u2014 see "Blind spots" note)'),FB()){let d=process.memoryUsage();s.push(` after forced GC: heap=${At(d.heapUsed)} (freed ${At(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($y>=2)try{let d=WR(Dy,`heap-turn${Ly}-${e}.heapsnapshot`);BR.writeHeapSnapshot(d),s.push(` heap snapshot: ${d}`)}catch{s.push(" heap snapshot: FAILED")}HB(s.join(`
|
|
91
|
+
`))}i(nm,"memDiagSnapshot");function rm(e,t,n){let r=jB(e),o=new Set(e),s=0,a=0,c=0,l=0,d=0,f=0,p=0,m=0,h=0,S=t?.entries??[];for(let b of S)switch(b.type){case"message":h++,o.has(b.message)||(c++,a+=Ny(b.message));break;case"compaction":l++,s+=nu(b);break;case"branch_summary":d++,s+=nu(b);break;case"label":f++,s+=nu(b);break;case"archive_marker":p++,s+=nu(b);break;case"rewind_marker":m++,s+=nu(b);break}let v=0;for(let b of n.historyItems)v+=It(b.text);let T=0;for(let b of n.foregroundItems)T+=It(b.text);let w=0;for(let b of n.persistedUiHistory)w+=It(b.text);return{messageCount:e.length,messageBytes:r.totalBytes,biggestMessages:r.biggest,lineageEntryCount:S.length,lineageMessageEntryCount:h,lineageCompactionCount:l,lineageBranchSummaryCount:d,lineageLabelCount:f,lineageArchiveMarkerCount:p,lineageRewindMarkerCount:m,lineageNonMessageBytes:s,lineageOrphanMessageBytes:a,lineageOrphanMessageCount:c,historyItemCount:n.historyItems.length,historyTextBytes:v,foregroundItemCount:n.foregroundItems.length,foregroundTextBytes:T,streamingResponseBytes:It(n.streamingResponse),streamingThinkingBytes:It(n.streamingThinking),persistedUiHistoryCount:n.persistedUiHistory.length,persistedUiHistoryBytes:w}}i(rm,"buildMemDiagBreakdown");function UR(){if(Oy){FR();try{let e=typeof globalThis.gc=="function",t=[`[MEMDIAG] Session started at ${new Date().toISOString()}`,`[MEMDIAG] Level=${$y} 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
|
+
`);WB(HR,t+`
|
|
93
|
+
`)}catch{}}}i(UR,"memDiagReset");import UB from"node:fs";import Wy from"node:path";var GB={".gif":"image/gif",".jpeg":"image/jpeg",".jpg":"image/jpeg",".png":"image/png",".webp":"image/webp"},VB=/@(?:"([^"]+)"|'([^']+)'|([^\s]+))/g;function KB(e){return GB[Wy.extname(e).toLowerCase()]}i(KB,"resolveImageMediaType");var By="[Image unavailable]";function zB(e){return""}i(zB,"buildImageAnchor");function qa(e,t){let n=[],r=[],o=new Set,s=new Map,a=new Set,c=[],l=0;for(let f of e.matchAll(VB)){let p=f.index??l;c.push(e.slice(l,p));let m=f[1]??f[2]??f[3];if(!m){c.push(f[0]),l=p+f[0].length;continue}let h=KB(m);if(!h){c.push(f[0]),l=p+f[0].length;continue}let S=Wy.resolve(t,m);try{if(!UB.statSync(S).isFile()){a.has(S)||(r.push(`[Image input skipped] ${m} is not a file.`),a.add(S)),c.push(By),l=p+f[0].length;continue}}catch{a.has(S)||(r.push(`[Image input missing] ${m} was not found from ${t}.`),a.add(S)),c.push(By),l=p+f[0].length;continue}if(!o.has(S)){o.add(S);let v=zB(n.length+1);s.set(S,v),n.push({kind:"image",path:S,mediaType:h,source:"user-inline",description:`Attached image ${Wy.basename(S)}`})}c.push(s.get(S)??By),l=p+f[0].length}c.push(e.slice(l));let d=c.join("");return{promptText:d,messageContent:pT(d,n),inputArtifacts:n,warnings:r}}i(qa,"preparePromptInputArtifacts");function GR(e){let t=YB(e.stage),n=XB(e);return{type:"info",icon:"\u{1F4E1}",text:n?`[RepoIntel] ${t} \xB7 ${n}`:`[RepoIntel] ${t}`,tightSpacing:!0}}i(GR,"createRepoIntelTraceHistoryItem");function YB(e){switch(e){case"routing":return"routing";case"preturn":return"preturn";case"module":return"module";case"impact":return"impact";case"task-snapshot":return"task-snapshot";default:return String(e)}}i(YB,"stageDisplayName");function XB(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(`${qB(r.capsuleEstimatedTokens)} tokens`)),t.length===0&&e.summary?QB(e.summary):t.join(" \xB7 ")}i(XB,"buildRepoIntelDetailLine");function qB(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}i(qB,"formatTokens");function QB(e){return e.replace(/^stage=[^|]+\|\s*/,"").trim()}i(QB,"stripSummaryStagePrefix");function VR(e,t,n,r,o){let s=e?.gitRoot??t??void 0,a=e?.executionCwd??o??s??process.cwd();return{...e,gitRoot:s,executionCwd:a,contextTokenSnapshot:n,taskSurface:"repl",skillsPrompt:r}}i(VR,"buildManagedRunContext");var JB=["global","mode","navigation","editing"],ZB={global:["showHelp","interrupt"],mode:["toggleThinking","toggleTranscriptMode","togglePermissionMode","toggleAgentMode"],navigation:["openTranscriptSearch","historyUp","historyDown","moveToStart","moveToEnd"],editing:["acceptCompletion","cancelInput","newline","killLineRight","killLineLeft","deleteWordLeft"]},eW={global:"Global",mode:"Modes",navigation:"Navigation",editing:"Editing"},tW={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 nW(e){let t=Ur(),n=t.getAllShortcuts().find(o=>o.definition.id===e);if(n?.effectiveBindings?.length)return t.formatBindings(n.effectiveBindings);let r=Zs.find(o=>o.id===e);if(r?.defaultBindings?.length)return t.formatBindings(r.defaultBindings)}i(nW,"resolveShortcutBindingLabel");function rW(e){return`${nW(e.id)??e.id} ${e.name}`}i(rW,"buildMenuItemLabel");function oW(e){return Ur().getAllShortcuts().find(r=>r.definition.id===e)?.definition??Zs.find(r=>r.id===e)}i(oW,"resolveShortcutDefinition");function om(){return[...JB.map(t=>{let n=ZB[t].map(r=>oW(r)).filter(r=>!!r).map(r=>({id:r.id,label:rW(r)}));return{id:t,title:eW[t],items:n}}).filter(t=>t.items.length>0),tW]}i(om,"buildHelpMenuSections");var Hy=2,KR=1,zR=4;function lt(e,t){let n=hn(e.length>0?e.split(`
|
|
94
|
+
`):[""],Math.max(1,t),0,0);return Math.max(1,n.visualLines.length)}i(lt,"wrapLineCount");function iW(e,t,n=">"){let r=n.length+1,o=Math.max(20,t-r),s=hn(e.length>0?e.split(`
|
|
95
|
+
`):[""],o,0,0);return Math.max(1,s.visualLines.length)+2}i(iW,"calculateInputPromptRows");function YR(e){let{terminalRows:t,terminalWidth:n,windowedTranscript:r=!1,inputText:o,inputPrompt:s=">",footerHeaderText:a,activitySummary:c,pendingInputSummary:l,stashNoticeSummary:d,notificationSummary:f,statusNoticeSummary:p,workStripText:m,suggestionsReserved:h,suggestionsMode:S="inline",showHelp:v,statusBarText:T,confirmPrompt:w,confirmInstruction:b,uiRequest:M,dialogMode:O="inline",historySearch:k,maxVisibleSelectOptions:P=5,reviewHint:q,todoSurfaceRows:V=0,workflowSurfaceRows:K=0,childActivitySurfaceRows:fe=0,activityBarVisible:ge=!1}=e,Z=Math.max(0,Math.floor(V)),y=Math.max(0,Math.floor(K)),A=Math.max(0,Math.floor(fe)),Q=a?lt(a,Math.max(1,n-2)):0,W=c?lt(c,Math.max(1,n-2)):0,ae=ge?1:W,le=l?lt(l,Math.max(1,n-2)):0,pe=d?lt(d,Math.max(1,n-2)):0,Ee=f?lt(f,Math.max(1,n-2)):0,ue=p?lt(p,Math.max(1,n-2)):0,ye=m?lt(m,Math.max(1,n-2)):0,_e=iW(o,n,s),Y=h?8:0,ne=v?KR+zR+om().reduce((Ke,bt)=>Ke+lt(bt.title,Math.max(1,n-Hy))+lt(bt.items.map(Ut=>Ut.label).join(" | "),Math.max(1,n-Hy)),0):0,we=lt(T,Math.max(1,n-2)),nt=0;if(w&&b){let Ke=Math.max(1,n-4);nt=3+lt(`[Confirm] ${w}`,Ke)+lt(b,Ke)}let xt=0,Ge=0;if(M){let Ke=Math.max(1,n-4);M.kind==="select"?(Ge=Math.min(P,M.options.length),xt=3+lt(`[Select] ${M.title}`,Ke)+M.options.slice(0,Ge).reduce((bt,Ut,Wn)=>bt+lt(`${Wn+1}. ${Ut.label}${Ut.description?` - ${Ut.description}`:""}`,Ke),0)+(M.options.length>Ge?2:0)+lt(`Choice: ${M.buffer||"(type a number)"}`,Ke)+1+(M.error?lt(M.error,Ke):0)):xt=3+lt(`[Input] ${M.prompt}`,Ke)+(M.defaultValue!==void 0?lt(`Default: ${M.defaultValue}`,Ke):0)+lt(`Value: ${M.buffer||"(type your response)"}`,Ke)+1+(M.error?lt(M.error,Ke):0)}let je=0;if(k){let Ke=Math.max(1,n-4);je=3+lt(`Query: ${k.query||"(type to search)"}`,Ke)+(k.matchCount===0?lt("No matches yet",Ke):lt(`${Math.max(1,k.matchCount)} matches`,Ke)+lt(k.selectedExcerpt||"",Ke))+1}let de=q?lt(q,Math.max(1,n-2)):0,Ce=Q+ae+y+Z+A+le+pe+Ee+_e+ne+ue+de+(S==="inline"?Y:0)+(O==="inline"?nt+xt+je:0),F=(S==="overlay"?Y:0)+(O==="overlay"?nt+xt+je:0),Ne=Ce+ye+we,pt=Math.max(1,t-Ne);return{messageRows:pt,reservedBottomRows:Ne,headerRows:Q,activityRows:ae,pendingInputRows:le,stashNoticeRows:pe,notificationRows:Ee,workStripRows:ye,inputRows:_e,suggestionsRows:Y,helpRows:ne,statusNoticeRows:ue,statusRows:we,confirmRows:nt,uiRequestRows:xt,historySearchRows:je,footerRows:Ce,overlayRows:F,visibleSelectOptions:Ge,reviewHintRows:de,todoSurfaceRows:Z,workflowSurfaceRows:y,childActivitySurfaceRows:A,slots:[{name:"transcript",rows:pt},{name:"footer",rows:Ce},{name:"overlay",rows:F},{name:"status",rows:we},{name:"task-bar",rows:ye}]}}i(YR,"calculateViewportBudget");function XR(e,t={}){let n=Di(e,{rendererMode:t.rendererMode??"owned"});return{hostProfile:e,surface:"prompt",buffering:n.bufferingMode,ownsViewportByDefault:n.ownsViewportByDefault,supportsMouseTracking:n.supportsMouseTracking,supportsFullscreenLayout:n.supportsFullscreenLayout,supportsOverlaySurface:n.supportsOverlaySurface,supportsSelection:n.supportsSelection,supportsCopyOnSelect:n.supportsCopyOnSelect,supportsWheelHistory:n.supportsWheelHistory,supportsViewportChrome:n.supportsViewportChrome,supportsSearchViewport:n.supportsSearchViewport,supportsStickyPrompt:n.supportsStickyPrompt,scrollAnchor:0,jumpToLatestAvailable:!1,stickyPromptVisible:!1,selectionMode:"none",selectedItemId:void 0,searchMode:"closed",searchAnchorItemId:void 0,currentMatchIndex:0,pendingLiveUpdates:0}}i(XR,"createTranscriptDisplayState");function qR(e){return{...e,surface:"transcript",jumpToLatestAvailable:e.pendingLiveUpdates>0}}i(qR,"enterTranscriptMode");function QR(e){return{...e,surface:"prompt",scrollAnchor:0,jumpToLatestAvailable:!1,selectionMode:"none",selectedItemId:void 0,searchMode:"closed",searchAnchorItemId:void 0,currentMatchIndex:0,pendingLiveUpdates:0}}i(QR,"exitTranscriptMode");function JR(e,t){let n=Math.max(0,t);return{...e,pendingLiveUpdates:n,jumpToLatestAvailable:e.surface==="transcript"?n>0:e.scrollAnchor>0}}i(JR,"setTranscriptPendingLiveUpdates");function ZR(e,t){let n=Math.max(0,t);return{...e,scrollAnchor:n,jumpToLatestAvailable:e.surface==="transcript"?e.pendingLiveUpdates>0:n>0}}i(ZR,"setTranscriptScrollAnchor");function ek(e){return{...e,surface:"prompt",scrollAnchor:0,jumpToLatestAvailable:!1,selectionMode:"none",selectedItemId:void 0,searchMode:"closed",searchAnchorItemId:void 0,currentMatchIndex:0,pendingLiveUpdates:0}}i(ek,"jumpTranscriptToLatest");function tk(e,t){return{...e,stickyPromptVisible:t}}i(tk,"setTranscriptStickyPromptVisible");function Qa(e,t){return{...e,selectedItemId:t,selectionMode:t?"message":"none"}}i(Qa,"setTranscriptSelectedItem");function nk(e,t){return{...e,surface:"transcript",searchMode:"history",searchAnchorItemId:t?.anchorItemId??e.selectedItemId??e.searchAnchorItemId,currentMatchIndex:Math.max(0,t?.initialMatchIndex??e.currentMatchIndex),jumpToLatestAvailable:e.pendingLiveUpdates>0}}i(nk,"openTranscriptSearch");function rk(e){return{...e,searchMode:"closed",searchAnchorItemId:void 0,currentMatchIndex:0}}i(rk,"closeTranscriptSearch");function ok(e,t){return{...e,currentMatchIndex:Math.max(-1,t)}}i(ok,"setTranscriptSearchMatchIndex");function ik(e){return e.supportsFullscreenLayout&&e.ownsViewportByDefault}i(ik,"shouldWindowTranscript");function sk(e){return e.surface==="transcript"}i(sk,"shouldPauseLiveTranscript");function Fy(e){return e.supportsSelection}i(Fy,"ownsTranscriptSelectionPath");function im(e,t,n){if(!(!Fy(e)||!n))return t.includes(n)?n:void 0}i(im,"resolveTranscriptSelectedItemId");function ak(e){return e.supportsSelection&&e.supportsCopyOnSelect}i(ak,"supportsPassiveTranscriptCopyOnSelect");function ck(e){if(e.surface==="transcript")return"Transcript | PgUp/PgDn page | j/k scroll | \u2190/\u2192 select | / search | n/N matches | q/Esc/Ctrl+O back"}i(ck,"buildTranscriptBrowseHint");var lk="Slash commands cannot be queued mid-task. Press Esc twice or Ctrl+C to abort the current task, then run the command.",uk="slash-guard";function dk(e){return e.trimStart().startsWith("/")}i(dk,"isSlashCommandText");var sW=`
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
`;async function fk(e){let{initialPrompt:t,runRound:n,shiftPendingPrompt:r,onRoundComplete:o,onBeforeQueuedRound:s,shouldContinue:a=i(()=>!0,"shouldContinue"),shouldDrainQueuedPrompts:c=i(()=>!0,"shouldDrainQueuedPrompts")}=e,l=t,d=await n(l);for(;;){if(await o?.(d),!a(d)||!c())return d;let f=[];for(;;){let p=r();if(p===void 0)break;let m=typeof p=="string"?p.trim():"";m.length>0&&f.push(m)}if(f.length===0)return d;l=f.length===1?f[0]:f.join(sW),await s?.(l),d=await n(l)}}i(fk,"runQueuedPromptSequence");function mk(e){return e.itemsLength>0||e.currentResponse.length>0||e.thinkingContent.length>0||e.activeToolCallsLength>0}i(mk,"hasTranscriptInputActivity");function aW(e){return e.keyName==="mouse"&&e.hasMouse&&e.usesManagedMouseClicks&&e.supportsMouseTracking&&e.usesRendererMouseTracking}i(aW,"shouldHandleManagedTranscriptMouse");function pk(e){return e.usesManagedMouseWheel&&e.supportsWheelHistory&&e.hasTranscript}i(pk,"shouldHandleManagedTranscriptWheel");function hk(e){if(aW({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"?pk({usesManagedMouseWheel:e.usesManagedMouseWheel,supportsWheelHistory:e.supportsWheelHistory,hasTranscript:e.hasTranscript})?{kind:"scroll-by",delta:e.reviewWheelStep}:{kind:"none"}:e.keyName==="wheeldown"?pk({usesManagedMouseWheel:e.usesManagedMouseWheel,supportsWheelHistory:e.supportsWheelHistory,hasTranscript:e.hasTranscript})?e.historyScrollOffset===0?{kind:"consume"}:{kind:"scroll-by",delta:-e.reviewWheelStep}:{kind:"none"}:{kind:"none"}}i(hk,"resolveTranscriptPointerAction");function gk(e){return e.isTranscriptMode&&e.hasTextSelection}i(gk,"shouldDeferInterruptToTranscriptSelectionCopy");function yk(e){return e.hasActiveWorkflow?e.ctrl&&e.keyName==="c"?!gk({isTranscriptMode:e.isTranscriptMode,hasTextSelection:e.hasTranscriptTextSelection}):e.keyName!=="escape"||e.isTranscriptMode||e.isAwaitingUserInteraction?!1:e.isDoubleEscape&&e.isInputEmpty&&e.pendingInputCount===0:!1}i(yk,"shouldStopWorkflowFromInterruptKey");function xk(e){return e.ctrl&&e.keyName==="c"?gk({isTranscriptMode:e.isTranscriptMode,hasTextSelection:e.hasTranscriptTextSelection})?{kind:"none"}:{kind:"interrupt"}:e.keyName!=="escape"?{kind:"none"}:e.isTranscriptMode||e.isAwaitingUserInteraction?{kind:"none"}:e.isInputEmpty&&e.pendingInputCount>0?{kind:"pop-pending-input"}:e.isInputEmpty?e.isDoubleEscape?{kind:"interrupt"}:{kind:"none"}:{kind:"none"}}i(xk,"resolveStreamingInterruptAction");function Sk(e){let{key:t,isTranscriptMode:n,isHistorySearchActive:r,historySearchMatchCount:o,hasTextSelection:s,hasFocusedItem:a,canCopySelectedItem:c,canCopySelectedToolInput:l,canToggleSelectedDetail:d,canCycleTranscriptSelection:f}=e;if(t.name==="pageup")return{kind:"scroll-page-up"};if(r){if(t.name==="escape")return{kind:"close-history-search"};if(t.name==="backspace")return{kind:"history-search-backspace"};if(t.name==="down")return{kind:"history-search-step",direction:"next"};if(t.name==="up")return{kind:"history-search-step",direction:"prev"};if(t.name==="enter"||t.name==="return")return{kind:"history-search-submit"};if(t.insertable&&t.sequence)return{kind:"history-search-append",text:t.sequence}}return n&&!r&&!t.ctrl&&!t.meta&&t.insertable&&t.sequence==="/"?{kind:"open-history-search"}:n&&!t.ctrl&&!t.meta&&t.name==="q"?{kind:"exit-transcript"}:n&&t.name==="escape"?s||a?{kind:"clear-selection-focus"}:{kind:"exit-transcript"}:t.name==="home"?{kind:"scroll-home"}:t.name==="pagedown"?{kind:"scroll-page-down"}:t.name==="end"?{kind:"scroll-end"}:n?t.ctrl&&!t.meta&&t.name==="e"?{kind:"toggle-show-all"}:t.name==="j"||t.name==="down"?{kind:"scroll-line-down"}:t.name==="k"||t.name==="up"?{kind:"scroll-line-up"}:!t.ctrl&&!t.meta&&t.name==="g"&&t.shift?{kind:"jump-latest"}:!t.ctrl&&!t.meta&&t.name==="g"&&!t.shift?{kind:"jump-oldest"}:t.name==="left"?f?{kind:"cycle-selection",direction:"prev"}:{kind:"none"}:t.name==="right"?f?{kind:"cycle-selection",direction:"next"}:{kind:"none"}:!t.ctrl&&!t.meta&&!t.shift&&t.name==="c"?s?{kind:"copy-selection"}:c?{kind:"copy-item"}:{kind:"none"}:!t.ctrl&&!t.meta&&!t.shift&&t.name==="i"?l?{kind:"copy-tool-input"}:{kind:"none"}:!t.ctrl&&!t.meta&&!t.shift&&t.name==="v"?d?{kind:"toggle-detail"}:{kind:"none"}:!t.ctrl&&!t.meta&&!t.shift&&t.name==="s"?{kind:"dump-to-scrollback"}:!t.ctrl&&!t.meta&&t.name==="n"?o===0?{kind:"none"}:{kind:"search-match-nav",direction:t.shift?"prev":"next"}:{kind:"none"}:{kind:"none"}}i(Sk,"resolveTranscriptKeyboardAction");function wk(e){switch(e.action.kind){case"none":return!1;case"scroll-page-up":return e.hasTranscript&&(e.disarmHistorySearchSelection(),e.scrollTranscriptBy(e.pageScrollDelta)),!0;case"close-history-search":return e.closeHistorySearchSurface(),!0;case"history-search-backspace":return e.backspaceHistorySearchQuery(),!0;case"history-search-step":return e.stepHistorySearchSelection(e.action.direction),!0;case"history-search-submit":return e.submitHistorySearchSelection(),!0;case"history-search-append":return e.appendHistorySearchQuery(e.action.text),!0;case"open-history-search":return e.openHistorySearchSurface(),!0;case"clear-selection-focus":return e.clearTranscriptSelectionFocus(),!0;case"exit-transcript":return e.exitTranscriptModeSurface(),!0;case"toggle-show-all":return e.toggleTranscriptShowAll(),!0;case"scroll-home":case"jump-oldest":return e.disarmHistorySearchSelection(),e.scrollTranscriptHome(),!0;case"scroll-page-down":return e.disarmHistorySearchSelection(),e.scrollTranscriptBy(-e.pageScrollDelta),!0;case"scroll-end":return e.isTranscriptMode?(e.exitTranscriptModeSurface(),!0):(e.scrollTranscriptToBottom(),!0);case"scroll-line-down":return e.disarmHistorySearchSelection(),e.scrollTranscriptBy(-1),!0;case"scroll-line-up":return e.disarmHistorySearchSelection(),e.scrollTranscriptBy(1),!0;case"jump-latest":return e.scrollTranscriptToBottom(),!0;case"cycle-selection":return e.cycleTranscriptSelection(e.action.direction),!0;case"copy-selection":return e.copySelectedTranscriptText(),!0;case"copy-item":return e.copySelectedTranscriptItem(),!0;case"copy-tool-input":return e.copySelectedTranscriptToolInput(),!0;case"toggle-detail":return e.toggleSelectedTranscriptDetail(),!0;case"search-match-nav":return e.navigateSearchMatch(e.action.direction),!0;case"dump-to-scrollback":return e.dumpTranscriptToScrollback(),!0;default:return!1}}i(wk,"executeTranscriptKeyboardAction");function ii(e){let t=/\u001b\[[0-9;?]*[ -/]*[@-~]/g,n=/\u001b\][^\u0007\u001b]*(?:\u0007|\u001b\\)/g,r=/\u001b[@-_]/g;return e.replace(t,"").replace(n,"").replace(r,"")}i(ii,"stripAnsi");function cW(e){return e.tools.map(n=>`tool: ${n.name}`).join(`
|
|
100
|
+
`)}i(cW,"serializeToolGroup");function lW(e){switch(e.type){case"thinking":return null;case"user":return`user: ${ii(e.text)}`;case"assistant":return`assistant: ${ii(e.text)}`;case"system":return`system: ${ii(e.text)}`;case"info":return`info: ${ii(e.text)}`;case"error":return`error: ${ii(e.text)}`;case"event":return`event: ${ii(e.text)}`;case"hint":return`hint: ${ii(e.text)}`;case"sidecar":return`sidecar: ${ii(e.text)}`;case"tool_group":return cW(e);default:return e}}i(lW,"serializeOne");function uW(e){let t=[];for(let n of e){let r=lW(n);r!==null&&r!==""&&t.push(r)}return t.join(`
|
|
101
|
+
|
|
102
|
+
`)}i(uW,"serializeTranscriptForScrollback");function Tk(e){let{items:t,writeToScrollback:n,exitAltScreen:r,enterAltScreen:o}=e,s=uW(t);r(),s.length>0&&n(`${s}
|
|
103
|
+
`),o()}i(Tk,"dumpTranscriptToNativeScrollback");var Ja={committed:[],width:0,hasBanner:!1};function Ck(e,t,n){let r=e.bannerSection!==null,o=e.bannerSection!==null?[e.bannerSection,...e.finalizedSections]:[...e.finalizedSections],s=o.map(t),a={committed:s,width:e.width,hasBanner:r},c=i(f=>({plan:{kind:"rebuild",sections:o,reason:f},nextState:a}),"rebuild"),l=n.committed.length>0;if(l&&n.width!==e.width)return c("width-change");if(l&&n.hasBanner!==r)return c("banner-change");let d=Math.min(n.committed.length,s.length);for(let f=0;f<d;f++){let p=r&&f===0;if(n.committed[f].key!==s[f].key)return c(p?"banner-change":"key-order-change");if(n.committed[f].fingerprint!==s[f].fingerprint)return c(p?"banner-change":"fingerprint-change")}return s.length<n.committed.length?c("source-rewrite"):s.length===n.committed.length?{plan:{kind:"none"},nextState:a}:{plan:{kind:"append",sections:o.slice(n.committed.length)},nextState:a}}i(Ck,"planInlineScrollback");import{jsx as Yk}from"react/jsx-runtime";import rH from"yoga-layout";import{LegacyRoot as oH}from"react-reconciler/constants.js";import NW from"react-reconciler";import{DefaultEventPriority as BW,NoEventPriority as Wk}from"react-reconciler/constants.js";import*as si from"scheduler";import Ok from"yoga-layout";import{createContext as WW}from"react";import bW from"yoga-layout";import dW from"widest-line";var Ik=new Map,fW=i(e=>{if(e.length===0)return{width:0,height:0};let t=Ik.get(e);if(t)return t;let n=dW(e),r=e.split(`
|
|
104
|
+
`).length,o={width:n,height:r};return Ik.set(e,o),o},"measureText"),jy=fW;import pW from"wrap-ansi";import mW from"cli-truncate";var vk={},hW=i((e,t,n)=>{let r=e+String(t)+String(n),o=vk[r];if(o)return o;let s=e;if(n==="wrap"&&(s=pW(e,t,{trim:!1,hard:!0})),n.startsWith("truncate")){let a="end";n==="truncate-middle"&&(a="middle"),n==="truncate-start"&&(a="start"),s=mW(e,t,{position:a})}return vk[r]=s,s},"wrapText"),sm=hW;var gW=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=63},"isCsiParameterCharacter"),yW=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isCsiIntermediateCharacter"),xW=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=64&&t<=126},"isCsiFinalCharacter"),kk=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isEscapeIntermediateCharacter"),SW=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=126},"isEscapeFinalCharacter"),Ek=i(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=128&&t<=159},"isC1ControlCharacter"),bk=i((e,t)=>{let n=t;for(;n<e.length;){let c=e[n];if(!gW(c))break;n++}let r=e.slice(t,n),o=n;for(;n<e.length;){let c=e[n];if(!yW(c))break;n++}let s=e.slice(o,n),a=e[n];if(!(a===void 0||!xW(a)))return{endIndex:n+1,parameterString:r,intermediateString:s,finalCharacter:a}},"readCsiSequence"),Rk=i((e,t,n)=>{for(let r=t;r<e.length;r++){let o=e[r];if(n&&o==="\x07"||o==="\x9C")return r+1;if(o==="\x1B"){let s=e[r+1];if(s==="\x1B"){r++;continue}if(s==="\\")return r+2}}},"findControlStringTerminatorIndex"),wW=i((e,t)=>{let n=t;for(;n<e.length;){let s=e[n];if(!kk(s))break;n++}let r=e.slice(t,n),o=e[n];if(!(o===void 0||!SW(o)))return{endIndex:n+1,intermediateString:r,finalCharacter:o}},"readEscapeSequence"),TW=i(e=>{switch(e){case"]":return{type:"osc",allowBellTerminator:!0};case"P":return{type:"dcs",allowBellTerminator:!1};case"^":return{type:"pm",allowBellTerminator:!1};case"_":return{type:"apc",allowBellTerminator:!1};case"X":return{type:"sos",allowBellTerminator:!1};default:return}},"getControlStringFromEscapeIntroducer"),CW=i(e=>{switch(e){case"\x9D":return{type:"osc",allowBellTerminator:!0};case"\x90":return{type:"dcs",allowBellTerminator:!1};case"\x9E":return{type:"pm",allowBellTerminator:!1};case"\x9F":return{type:"apc",allowBellTerminator:!1};case"\x98":return{type:"sos",allowBellTerminator:!1};default:return}},"getControlStringFromC1Introducer"),Uy=i(e=>{if(e.includes("\x1B"))return!0;for(let t of e)if(Ek(t))return!0;return!1},"hasAnsiControlCharacters"),Za=i((e,t,n,r)=>(r>n&&e.push({type:"text",value:t.slice(n,r)}),e.push({type:"invalid",value:t.slice(r)}),e),"malformedFromIndex"),Mk=i(e=>{if(!Uy(e))return[{type:"text",value:e}];let t=[],n=0;for(let r=0;r<e.length;){let o=e[r];if(o===void 0)break;if(o==="\x1B"){let a=e[r+1];if(a===void 0)return Za(t,e,n,r);if(a==="["){let d=bk(e,r+2);if(d===void 0)return Za(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=TW(a);if(c!==void 0){let d=Rk(e,r+2,c.allowBellTerminator);if(d===void 0)return Za(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=wW(e,r+1);if(l===void 0){if(kk(a))return Za(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),r++,n=r;continue}r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"esc",value:e.slice(r,l.endIndex),intermediateString:l.intermediateString,finalCharacter:l.finalCharacter}),r=l.endIndex,n=r;continue}if(o==="\x9B"){let a=bk(e,r+1);if(a===void 0)return Za(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=CW(o);if(s!==void 0){let a=Rk(e,r+1,s.allowBellTerminator);if(a===void 0)return Za(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:s.type,value:e.slice(r,a)}),r=a,n=r;continue}if(o==="\x9C"){r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"st",value:o}),r++,n=r;continue}if(Ek(o)){r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"c1",value:o}),r++,n=r;continue}r++}return n<e.length&&t.push({type:"text",value:e.slice(n)}),t},"tokenizeAnsi");var IW=/^[\d:;]*$/,vW=i(e=>{if(!Uy(e))return e;let t="";for(let n of Mk(e)){if(n.type==="text"||n.type==="osc"){t+=n.value;continue}n.type==="csi"&&n.finalCharacter==="m"&&n.intermediateString===""&&IW.test(n.parameterString)&&(t+=n.value)}return t},"sanitizeAnsi"),Ak=vW;var _k=i(e=>{let t="";for(let n=0;n<e.childNodes.length;n++){let r=e.childNodes[n];if(r===void 0)continue;let o="";r.nodeName==="#text"?o=r.nodeValue:((r.nodeName==="ink-text"||r.nodeName==="ink-virtual-text")&&(o=_k(r)),o.length>0&&typeof r.internal_transform=="function"&&(o=r.internal_transform(o,n))),t+=o}return Ak(t)},"squashTextNodes"),ru=_k;var am=i(e=>{let t={nodeName:e,style:{},attributes:{},childNodes:[],parentNode:void 0,yogaNode:e==="ink-virtual-text"?void 0:bW.Node.create(),internal_accessibility:{}};return e==="ink-text"&&t.yogaNode?.setMeasureFunc(RW.bind(null,t)),t},"createNode"),cm=i((e,t)=>{t.parentNode&&ou(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")&&lm(e)},"appendChildNode"),Gy=i((e,t,n)=>{t.parentNode&&ou(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")&&lm(e)},"insertBeforeNode"),ou=i((e,t)=>{t.yogaNode&&t.parentNode?.yogaNode?.removeChild(t.yogaNode),t.parentNode=void 0;let n=e.childNodes.indexOf(t);n>=0&&e.childNodes.splice(n,1),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&lm(e)},"removeChildNode"),Vy=i((e,t,n)=>{if(t==="internal_accessibility"){e.internal_accessibility=n;return}e.attributes[t]=n},"setAttribute"),Ky=i((e,t)=>{e.style=t},"setStyle"),Lk=i(e=>{let t={nodeName:"#text",nodeValue:e,yogaNode:void 0,parentNode:void 0,style:{}};return iu(t,e),t},"createTextNode"),RW=i(function(e,t){let n=e.nodeName==="#text"?e.nodeValue:ru(e),r=jy(n);if(r.width<=t||r.width>=1&&t>0&&t<1)return r;let o=e.style?.textWrap??"wrap",s=sm(n,t,o);return jy(s)},"measureTextNode"),Pk=i(e=>{if(e?.parentNode)return e.yogaNode??Pk(e.parentNode)},"findClosestYogaNode"),lm=i(e=>{Pk(e)?.markDirty()},"markNodeAsDirty"),iu=i((e,t)=>{typeof t!="string"&&(t=String(t)),e.nodeValue=t,lm(e)},"setTextNodeValue");import Ae from"yoga-layout";var kW=i((e,t)=>{"position"in t&&e.setPositionType(t.position==="absolute"?Ae.POSITION_TYPE_ABSOLUTE:Ae.POSITION_TYPE_RELATIVE)},"applyPositionStyles"),EW=i((e,t)=>{"margin"in t&&e.setMargin(Ae.EDGE_ALL,t.margin??0),"marginX"in t&&e.setMargin(Ae.EDGE_HORIZONTAL,t.marginX??0),"marginY"in t&&e.setMargin(Ae.EDGE_VERTICAL,t.marginY??0),"marginLeft"in t&&e.setMargin(Ae.EDGE_START,t.marginLeft||0),"marginRight"in t&&e.setMargin(Ae.EDGE_END,t.marginRight||0),"marginTop"in t&&e.setMargin(Ae.EDGE_TOP,t.marginTop||0),"marginBottom"in t&&e.setMargin(Ae.EDGE_BOTTOM,t.marginBottom||0)},"applyMarginStyles"),MW=i((e,t)=>{"padding"in t&&e.setPadding(Ae.EDGE_ALL,t.padding??0),"paddingX"in t&&e.setPadding(Ae.EDGE_HORIZONTAL,t.paddingX??0),"paddingY"in t&&e.setPadding(Ae.EDGE_VERTICAL,t.paddingY??0),"paddingLeft"in t&&e.setPadding(Ae.EDGE_LEFT,t.paddingLeft||0),"paddingRight"in t&&e.setPadding(Ae.EDGE_RIGHT,t.paddingRight||0),"paddingTop"in t&&e.setPadding(Ae.EDGE_TOP,t.paddingTop||0),"paddingBottom"in t&&e.setPadding(Ae.EDGE_BOTTOM,t.paddingBottom||0)},"applyPaddingStyles"),AW=i((e,t)=>{"flexGrow"in t&&e.setFlexGrow(t.flexGrow??0),"flexShrink"in t&&e.setFlexShrink(typeof t.flexShrink=="number"?t.flexShrink:1),"flexWrap"in t&&(t.flexWrap==="nowrap"&&e.setFlexWrap(Ae.WRAP_NO_WRAP),t.flexWrap==="wrap"&&e.setFlexWrap(Ae.WRAP_WRAP),t.flexWrap==="wrap-reverse"&&e.setFlexWrap(Ae.WRAP_WRAP_REVERSE)),"flexDirection"in t&&(t.flexDirection==="row"&&e.setFlexDirection(Ae.FLEX_DIRECTION_ROW),t.flexDirection==="row-reverse"&&e.setFlexDirection(Ae.FLEX_DIRECTION_ROW_REVERSE),t.flexDirection==="column"&&e.setFlexDirection(Ae.FLEX_DIRECTION_COLUMN),t.flexDirection==="column-reverse"&&e.setFlexDirection(Ae.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in t&&(typeof t.flexBasis=="number"?e.setFlexBasis(t.flexBasis):typeof t.flexBasis=="string"?e.setFlexBasisPercent(Number.parseInt(t.flexBasis,10)):e.setFlexBasis(Number.NaN)),"alignItems"in t&&((t.alignItems==="stretch"||!t.alignItems)&&e.setAlignItems(Ae.ALIGN_STRETCH),t.alignItems==="flex-start"&&e.setAlignItems(Ae.ALIGN_FLEX_START),t.alignItems==="center"&&e.setAlignItems(Ae.ALIGN_CENTER),t.alignItems==="flex-end"&&e.setAlignItems(Ae.ALIGN_FLEX_END)),"alignSelf"in t&&((t.alignSelf==="auto"||!t.alignSelf)&&e.setAlignSelf(Ae.ALIGN_AUTO),t.alignSelf==="flex-start"&&e.setAlignSelf(Ae.ALIGN_FLEX_START),t.alignSelf==="center"&&e.setAlignSelf(Ae.ALIGN_CENTER),t.alignSelf==="flex-end"&&e.setAlignSelf(Ae.ALIGN_FLEX_END)),"justifyContent"in t&&((t.justifyContent==="flex-start"||!t.justifyContent)&&e.setJustifyContent(Ae.JUSTIFY_FLEX_START),t.justifyContent==="center"&&e.setJustifyContent(Ae.JUSTIFY_CENTER),t.justifyContent==="flex-end"&&e.setJustifyContent(Ae.JUSTIFY_FLEX_END),t.justifyContent==="space-between"&&e.setJustifyContent(Ae.JUSTIFY_SPACE_BETWEEN),t.justifyContent==="space-around"&&e.setJustifyContent(Ae.JUSTIFY_SPACE_AROUND),t.justifyContent==="space-evenly"&&e.setJustifyContent(Ae.JUSTIFY_SPACE_EVENLY))},"applyFlexStyles"),_W=i((e,t)=>{"width"in t&&(typeof t.width=="number"?e.setWidth(t.width):typeof t.width=="string"?e.setWidthPercent(Number.parseInt(t.width,10)):e.setWidthAuto()),"height"in t&&(typeof t.height=="number"?e.setHeight(t.height):typeof t.height=="string"?e.setHeightPercent(Number.parseInt(t.height,10)):e.setHeightAuto()),"minWidth"in t&&(typeof t.minWidth=="string"?e.setMinWidthPercent(Number.parseInt(t.minWidth,10)):e.setMinWidth(t.minWidth??0)),"minHeight"in t&&(typeof t.minHeight=="string"?e.setMinHeightPercent(Number.parseInt(t.minHeight,10)):e.setMinHeight(t.minHeight??0))},"applyDimensionStyles"),LW=i((e,t)=>{"display"in t&&e.setDisplay(t.display==="flex"?Ae.DISPLAY_FLEX:Ae.DISPLAY_NONE)},"applyDisplayStyles"),PW=i((e,t)=>{if("borderStyle"in t){let n=t.borderStyle?1:0;t.borderTop!==!1&&e.setBorder(Ae.EDGE_TOP,n),t.borderBottom!==!1&&e.setBorder(Ae.EDGE_BOTTOM,n),t.borderLeft!==!1&&e.setBorder(Ae.EDGE_LEFT,n),t.borderRight!==!1&&e.setBorder(Ae.EDGE_RIGHT,n)}},"applyBorderStyles"),$W=i((e,t)=>{"gap"in t&&e.setGap(Ae.GUTTER_ALL,t.gap??0),"columnGap"in t&&e.setGap(Ae.GUTTER_COLUMN,t.columnGap??0),"rowGap"in t&&e.setGap(Ae.GUTTER_ROW,t.rowGap??0)},"applyGapStyles"),OW=i((e,t={})=>{kW(e,t),EW(e,t),MW(e,t),AW(e,t),_W(e,t),LW(e,t),PW(e,t),$W(e,t)},"styles"),zy=OW;import DW from"node:process";var $k=i(()=>DW.env.DEV==="true","isDev");if($k())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 Dk=i((e,t)=>{if(e===t)return;if(!e)return t;let n={},r=!1;for(let o of Object.keys(e))(!t||!Object.hasOwn(t,o))&&(n[o]=void 0,r=!0);if(t)for(let o of Object.keys(t))t[o]!==e[o]&&(n[o]=t[o],r=!0);return r?n:void 0},"diff"),Nk=i(e=>{e?.unsetMeasureFunc(),e?.freeRecursive()},"cleanupYogaNode"),um=Wk,Yy,Bk={name:void 0,version:void 0},ec=NW({getRootHostContext:i(()=>({isInsideText:!1}),"getRootHostContext"),prepareForCommit:i(()=>null,"prepareForCommit"),preparePortalMount:i(()=>null,"preparePortalMount"),clearContainer:i(()=>!1,"clearContainer"),resetAfterCommit(e){if(typeof e.onComputeLayout=="function"&&e.onComputeLayout(),e.isStaticDirty){e.isStaticDirty=!1,typeof e.onImmediateRender=="function"&&e.onImmediateRender();return}typeof e.onRender=="function"&&e.onRender()},getChildHostContext(e,t){let n=e.isInsideText,r=t==="ink-text"||t==="ink-virtual-text";return n===r?e:{isInsideText:r}},shouldSetTextContent:i(()=>!1,"shouldSetTextContent"),createInstance(e,t,n,r){if(r.isInsideText&&e==="ink-box")throw new Error("<Box> can\u2019t be nested inside <Text> component");let o=e==="ink-text"&&r.isInsideText?"ink-virtual-text":e,s=am(o);for(let[a,c]of Object.entries(t))if(a!=="children"){if(a==="style"){Ky(s,c),s.yogaNode&&zy(s.yogaNode,c);continue}if(a==="internal_transform"){s.internal_transform=c;continue}if(a==="internal_static"){Yy=n,s.internal_static=!0,n.isStaticDirty=!0,n.staticNode=s;continue}Vy(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 Lk(e)},resetTextContent(){},hideTextInstance(e){iu(e,"")},unhideTextInstance(e,t){iu(e,t)},getPublicInstance:i(e=>e,"getPublicInstance"),hideInstance(e){e.yogaNode?.setDisplay(Ok.DISPLAY_NONE)},unhideInstance(e){e.yogaNode?.setDisplay(Ok.DISPLAY_FLEX)},appendInitialChild:cm,appendChild:cm,insertBefore:Gy,finalizeInitialChildren(){return!1},isPrimaryRenderer:!0,supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,supportsMicrotasks:!0,scheduleMicrotask:queueMicrotask,scheduleCallback:si.unstable_scheduleCallback,cancelCallback:si.unstable_cancelCallback,shouldYield:si.unstable_shouldYield,now:si.unstable_now,scheduleTimeout:setTimeout,cancelTimeout:clearTimeout,noTimeout:-1,beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},detachDeletedInstance(){},getInstanceFromNode:i(()=>null,"getInstanceFromNode"),prepareScopeUpdate(){},getInstanceFromScope:i(()=>null,"getInstanceFromScope"),appendChildToContainer:cm,insertInContainerBefore:Gy,removeChildFromContainer(e,t){ou(e,t),Nk(t.yogaNode)},commitUpdate(e,t,n,r){Yy&&e.internal_static&&(Yy.isStaticDirty=!0);let o=Dk(n,r),s=Dk(n.style,r.style);if(!(!o&&!s)){if(o)for(let[a,c]of Object.entries(o)){if(a==="style"){Ky(e,c);continue}if(a==="internal_transform"){e.internal_transform=c;continue}if(a==="internal_static"){e.internal_static=!0;continue}Vy(e,a,c)}s&&e.yogaNode&&zy(e.yogaNode,s)}},commitTextUpdate(e,t,n){iu(e,n)},removeChild(e,t){ou(e,t),Nk(t.yogaNode)},setCurrentUpdatePriority(e){um=e},getCurrentUpdatePriority:i(()=>um,"getCurrentUpdatePriority"),resolveUpdatePriority(){return um!==Wk?um:BW},maySuspendCommit(){return!0},NotPendingTransition:void 0,HostTransitionContext:WW(null),resetFormInstance(){},requestPostPaintCallback(){},shouldAttemptEagerTransition(){return!1},trackSchedulerEvent(){},resolveEventType(){return null},resolveEventTimeStamp(){return-1.1},preloadInstance(){return!0},startSuspendingCommit(){},suspendInstance(){},waitForCommitToBeReady(){return null},rendererPackageName:Bk.name,rendererVersion:Bk.version});import YW from"widest-line";import XW from"indent-string";import ai from"yoga-layout";import dm from"yoga-layout";var HW=i(e=>e.getComputedWidth()-e.getComputedPadding(dm.EDGE_LEFT)-e.getComputedPadding(dm.EDGE_RIGHT)-e.getComputedBorder(dm.EDGE_LEFT)-e.getComputedBorder(dm.EDGE_RIGHT),"getMaxWidth"),Hk=HW;import VW from"cli-boxes";import fm from"chalk";import wo from"chalk";var FW=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,jW=/^ansi256\(\s?(\d+)\s?\)$/,UW=i(e=>e in wo,"isNamedColor"),GW=i((e,t,n)=>{if(!t)return e;if(UW(t)){if(n==="foreground")return wo[t](e);let r=`bg${t[0].toUpperCase()+t.slice(1)}`;return wo[r](e)}if(t.startsWith("#"))return n==="foreground"?wo.hex(t)(e):wo.bgHex(t)(e);if(t.startsWith("ansi256")){let r=jW.exec(t);if(!r)return e;let o=Number(r[1]);return n==="foreground"?wo.ansi256(o)(e):wo.bgAnsi256(o)(e)}if(t.startsWith("rgb")){let r=FW.exec(t);if(!r)return e;let o=Number(r[1]),s=Number(r[2]),a=Number(r[3]);return n==="foreground"?wo.rgb(o,s,a)(e):wo.bgRgb(o,s,a)(e)}return e},"colorize"),rs=GW;var KW=i((e,t,n,r)=>{if(n.style.borderStyle){let o=n.yogaNode.getComputedWidth(),s=n.yogaNode.getComputedHeight(),a=typeof n.style.borderStyle=="string"?VW[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,m=n.style.borderBottomDimColor??n.style.borderDimColor,h=n.style.borderLeftDimColor??n.style.borderDimColor,S=n.style.borderRightDimColor??n.style.borderDimColor,v=n.style.borderTop!==!1,T=n.style.borderBottom!==!1,w=n.style.borderLeft!==!1,b=n.style.borderRight!==!1,M=o-(w?1:0)-(b?1:0),O=v?rs((w?a.topLeft:"")+a.top.repeat(M)+(b?a.topRight:""),c,"foreground"):void 0;v&&p&&(O=fm.dim(O));let k=s;v&&(k-=1),T&&(k-=1);let P=(rs(a.left,d,"foreground")+`
|
|
113
|
+
`).repeat(k);h&&(P=fm.dim(P));let q=(rs(a.right,f,"foreground")+`
|
|
114
|
+
`).repeat(k);S&&(q=fm.dim(q));let V=T?rs((w?a.bottomLeft:"")+a.bottom.repeat(M)+(b?a.bottomRight:""),l,"foreground"):void 0;T&&m&&(V=fm.dim(V));let K=v?1:0;O&&r.write(e,t,O,{transformers:[]}),w&&r.write(e,t+K,P,{transformers:[]}),b&&r.write(e+o-1,t+K,q,{transformers:[]}),V&&r.write(e,t+s-1,V,{transformers:[]})}},"renderBorder"),Fk=KW;var zW=i((e,t,n,r)=>{if(!n.style.backgroundColor)return;let o=n.yogaNode.getComputedWidth(),s=n.yogaNode.getComputedHeight(),a=n.style.borderStyle&&n.style.borderLeft!==!1?1:0,c=n.style.borderStyle&&n.style.borderRight!==!1?1:0,l=n.style.borderStyle&&n.style.borderTop!==!1?1:0,d=n.style.borderStyle&&n.style.borderBottom!==!1?1:0,f=o-a-c,p=s-l-d;if(!(f>0&&p>0))return;let m=rs(" ".repeat(f),n.style.backgroundColor,"background");for(let h=0;h<p;h++)r.write(e+a,t+l+h,m,{transformers:[]})},"renderBackground"),jk=zW;var qW=i((e,t)=>{let n=e.childNodes[0]?.yogaNode;if(n){let r=n.getComputedLeft(),o=n.getComputedTop();t=`
|
|
115
|
+
`.repeat(o)+XW(t,r)}return t},"applyPaddingToText"),pm=i((e,t={})=>{if(t.skipStaticElements&&e.internal_static||e.yogaNode?.getDisplay()===ai.DISPLAY_NONE)return"";let n="";if(e.nodeName==="ink-text")n=ru(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=>pm(s,{parentRole:e.internal_accessibility?.role,skipStaticElements:t.skipStaticElements})).filter(Boolean).join(r)}if(e.internal_accessibility){let{role:r,state:o}=e.internal_accessibility;if(o){let a=Object.keys(o).filter(c=>o[c]).join(", ");a&&(n=`(${a}) ${n}`)}r&&r!==t.parentRole&&(n=`${r}: ${n}`)}return n},"renderNodeToScreenReaderOutput"),Xy=null,qy=null;function Uk(){Xy=null,qy=null}i(Uk,"resetScrollHint");function Gk(){return Xy}i(Gk,"getScrollHint");function Vk(){return qy}i(Vk,"getScrollRepaint");var Kk=i((e,t,n)=>{let{offsetX:r=0,offsetY:o=0,transformers:s=[],skipStaticElements:a}=n;if(a&&e.internal_static)return;let{yogaNode:c}=e;if(c){if(c.getDisplay()===ai.DISPLAY_NONE)return;let l=r+c.getComputedLeft(),d=o+c.getComputedTop(),f=s;if(typeof e.internal_transform=="function"&&(f=[e.internal_transform,...s]),e.nodeName==="ink-text"){let h=ru(e);if(h.length>0){let S=YW(h),v=Hk(c);if(S>v){let T=e.style.textWrap??"wrap";h=sm(h,v,T)}h=qW(e,h),t.write(l,d,h,{transformers:f})}return}let p=!1,m=0;if(e.nodeName==="ink-box"){jk(l,d,e,t),Fk(l,d,e,t);let h=e.style.overflowX??e.style.overflow,S=e.style.overflowY??e.style.overflow,v=h==="hidden"||h==="scroll",T=S==="hidden"||S==="scroll";if(S==="scroll"){let w=c.getComputedBorder(ai.EDGE_TOP),b=c.getComputedBorder(ai.EDGE_BOTTOM),M=Math.max(0,c.getComputedHeight()-w-b),O=e.attributes?.virtualScrollWindowed===!0,k=e.childNodes[0],P=Math.max(0,Math.floor(O?e.attributes?.scrollHeight??0:k?.yogaNode?.getComputedHeight()??e.attributes?.scrollHeight??0)),q=typeof e.scrollHeight=="number"?e.scrollHeight:P,V=kf({rawScrollTop:e.scrollTop??e.attributes?.scrollTop??0,contentHeight:P,viewportHeight:M,previousScrollHeight:q,stickyScroll:e.stickyScroll??!!e.attributes?.stickyScroll,clampMin:e.attributes?.scrollClampMin,clampMax:e.attributes?.scrollClampMax,virtualScrollWindowed:O,inWindowScrollTop:e.attributes?.inWindowScrollTop,previousAppliedScrollTop:e.appliedScrollTop,regionTop:d+w});e.scrollHeight=V.scrollHeight,e.scrollViewportHeight=M,e.scrollViewportTop=V.viewportTop,e.appliedScrollTop=V.appliedScrollTop,V.scrollHint&&(Xy=V.scrollHint,Math.trunc(Number(e.attributes?.pendingScrollDelta??0))!==0&&(qy={top:V.scrollHint.top,bottom:V.scrollHint.bottom})),e.attributes&&e.attributes.pendingScrollDelta&&(e.attributes.pendingScrollDelta=0),e.scrollTop=V.scrollTop,m=V.scrollOffsetY}if(v||T){let w=v?l+c.getComputedBorder(ai.EDGE_LEFT):void 0,b=v?l+c.getComputedWidth()-c.getComputedBorder(ai.EDGE_RIGHT):void 0,M=T?d+c.getComputedBorder(ai.EDGE_TOP):void 0,O=T?d+c.getComputedHeight()-c.getComputedBorder(ai.EDGE_BOTTOM):void 0;t.clip({x1:w,x2:b,y1:M,y2:O}),p=!0}}if(e.nodeName==="ink-root"||e.nodeName==="ink-box"){for(let h of e.childNodes)Kk(h,t,{offsetX:l,offsetY:d-m,transformers:f,skipStaticElements:a});p&&t.unclip()}}},"renderNodeToOutput"),Qy=Kk;import QW from"slice-ansi";import JW from"string-width";import{styledCharsFromTokens as ZW,styledCharsToString as eH,tokenize as tH}from"@alcalzone/ansi-tokenize";var Jy=class{static{i(this,"OutputCaches")}widths=new Map;blockWidths=new Map;styledChars=new Map;getStyledChars(t){let n=this.styledChars.get(t);return n===void 0&&(n=ZW(tH(t)),this.styledChars.set(t,n)),n}getStringWidth(t){let n=this.widths.get(t);return n===void 0&&(n=JW(t),this.widths.set(t,n)),n}getWidestLine(t){let n=this.blockWidths.get(t);if(n===void 0){let r=0;for(let o of t.split(`
|
|
117
|
+
`))r=Math.max(r,this.getStringWidth(o));n=r,this.blockWidths.set(t,n)}return n}},tc=class{static{i(this,"Output")}width;height;operations=[];caches=new Jy;constructor(t){let{width:n,height:r}=t;this.width=n,this.height=r}write(t,n,r,o){let{transformers:s}=o;r&&this.operations.push({type:"write",x:t,y:n,text:r,transformers:s})}clip(t){this.operations.push({type:"clip",clip:t})}unclip(){this.operations.push({type:"unclip"})}getGrid(){let t=[];for(let r=0;r<this.height;r++){let o=[];for(let s=0;s<this.width;s++)o.push({type:"char",value:" ",fullWidth:!1,styles:[]});t.push(o)}let n=[];for(let r of this.operations)if(r.type==="clip"&&n.push(r.clip),r.type==="unclip"&&n.pop(),r.type==="write"){let{text:o,transformers:s}=r,{x:a,y:c}=r,l=o.split(`
|
|
118
|
+
`),d=n.at(-1);if(d){let p=typeof d?.x1=="number"&&typeof d?.x2=="number",m=typeof d?.y1=="number"&&typeof d?.y2=="number";if(p){let h=this.caches.getWidestLine(o);if(a+h<d.x1||a>d.x2)continue}if(m){let h=l.length;if(c+h<d.y1||c>d.y2)continue}if(p&&(l=l.map(h=>{let S=a<d.x1?d.x1-a:0,v=this.caches.getStringWidth(h),T=a+v>d.x2?d.x2-a:v;return QW(h,S,T)}),a<d.x1&&(a=d.x1)),m){let h=c<d.y1?d.y1-c:0,S=l.length,v=c+S>d.y2?d.y2-c:S;l=l.slice(h,v),c<d.y1&&(c=d.y1)}}let f=0;for(let[p,m]of l.entries()){let h=t[c+f];if(!h)continue;for(let T of s)m=T(m,p);let S=this.caches.getStyledChars(m),v=a;for(let T of S){h[v]=T;let w=Math.max(1,this.caches.getStringWidth(T.value));if(w>1)for(let b=1;b<w;b++)h[v+b]={type:"char",value:"",fullWidth:!1,styles:T.styles};v+=w}f++}}return t}get(){let t=this.getGrid();return{output:t.map(r=>{let o=r.filter(s=>s!==void 0);return eH(o).trimEnd()}).join(`
|
|
119
|
+
`),height:t.length}}};var nH=i((e,t,n)=>{if(e.yogaNode){if(t){let p=pm(e,{skipStaticElements:!0}),m=p===""?0:p.split(`
|
|
120
|
+
`).length,h="";return e.staticNode&&(h=pm(e.staticNode,{skipStaticElements:!1})),{output:p,outputHeight:m,staticOutput:h?`${h}
|
|
121
|
+
`:"",frame:void 0}}let r=new tc({width:e.yogaNode.getComputedWidth(),height:e.yogaNode.getComputedHeight()});Uk(),Qy(e,r,{skipStaticElements:!0});let o;e.staticNode?.yogaNode&&(o=new tc({width:e.staticNode.yogaNode.getComputedWidth(),height:e.staticNode.yogaNode.getComputedHeight()}),Qy(e.staticNode,o,{skipStaticElements:!1}));let{output:s,height:a}=r.get(),c=Af(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:Gk(),scrollRepaint:Vk()};return{output:s,outputHeight:a,staticOutput:o?`${o.get().output}
|
|
122
|
+
`:"",frame:f}}return{output:"",outputHeight:0,staticOutput:"",frame:void 0}},"renderer"),Zy=nH;var iH=i((e,t)=>{let n=t?.columns??80,r=am("ink-root"),o="";r.onComputeLayout=()=>{r.yogaNode.setWidth(n),r.yogaNode.calculateLayout(void 0,void 0,rH.DIRECTION_LTR)},r.onImmediateRender=()=>{let{staticOutput:l}=Zy(r,!1);l&&l!==`
|
|
123
|
+
`&&(o+=l)};let s,a=ec.createContainer(r,oH,null,!1,null,"render-to-string",l=>{s??=l},()=>{},()=>{},()=>{}),c=!1;try{ec.updateContainerSync(e,a,null,()=>{}),ec.flushSyncWork();let{output:l}=Zy(r,!1);if(ec.updateContainerSync(null,a,null,()=>{}),ec.flushSyncWork(),c=!0,r.yogaNode.free(),s!==void 0)throw s instanceof Error?s:new Error(String(s));let d=o.endsWith(`
|
|
124
|
+
`)?o.slice(0,-1):o;return d&&l?d+`
|
|
125
|
+
`+l:d||l}finally{if(!c&&r.yogaNode)try{r.yogaNode.freeRecursive()}catch{}}},"renderToString"),zk=iH;var sH="\x1B[0m";function Xk(e,t){if(e.length===0)return"";let n=Yk(E,{flexDirection:"column",children:e.map(s=>Yk(Yg,{section:s,theme:t.theme,animateSpinners:!1},s.key))}),r=zk(n,{columns:t.width});return(r.endsWith(`
|
|
126
|
+
`)?r.slice(0,-1):r)+sH+`
|
|
127
|
+
`}i(Xk,"renderFinalizedSectionsToScrollbackText");function qk(e){return e.enabled&&!e.useRendererViewportShell&&!e.isTranscriptMode&&e.hasCommitHandle}i(qk,"isInlineLedgerActive");function Qk(e){if(!e.active)return{kind:"reset"};if(!e.hasCommitHandle)return{kind:"skip"};let t=!e.wasActive,n=t?Ja:e.prior,{plan:r,nextState:o}=Ck({bannerSection:e.bannerSection??null,finalizedSections:e.finalizedSections,width:e.width},e.identify??Ab,n);return t?r.kind==="none"?e.forceRebuild?{kind:"commit",mode:"rebuild",sections:e.finalizedSections,nextState:o}:{kind:"noop",nextState:o}:{kind:"commit",mode:e.forceRebuild?"rebuild":"append",sections:r.sections,nextState:o}:r.kind==="none"?{kind:"noop",nextState:o}:{kind:"commit",mode:r.kind,sections:r.sections,nextState:o}}i(Qk,"computeInlineLedgerStep");function Jk(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:Ja,wasActive:!1,owns:!0}:{state:Ja,wasActive:!1,owns:n}}i(Jk,"resolveInlineLedgerState");function Zk(e,t){return t?{...e,staticSections:[]}:e}i(Zk,"gateInlinePromptModel");function aH(e){switch(e.type){case"tool_group":return e.tools.map(t=>{let n=[t.name];return typeof t.output=="string"&&n.push(Ot(t.output)),t.error&&n.push(Ot(t.error)),n.join(`
|
|
128
|
+
`)}).join(`
|
|
129
|
+
`);case"assistant":case"user":case"system":case"thinking":case"error":case"info":case"hint":return Ot(e.text);default:return""}}i(aH,"buildSearchText");function cH(e,t){let n=e.replace(/\s+/g," ").trim();if(!n)return"";let r=n.toLowerCase(),o=t.toLowerCase(),s=r.indexOf(o);if(s===-1)return n.slice(0,120);let a=Math.max(0,s-40),c=Math.min(n.length,s+t.length+60),l=a>0?"...":"",d=c<n.length?"...":"";return`${l}${n.slice(a,c)}${d}`}i(cH,"buildExcerpt");function eE(e){return e.map((t,n)=>({itemId:t.id,itemIndex:n,searchText:aH(t)}))}i(eE,"createTranscriptSearchIndex");function tE(e,t){let n=t.trim().toLowerCase();return n?e.flatMap(r=>{let o=r.searchText;return o.toLowerCase().includes(n)?[{itemId:r.itemId,itemIndex:r.itemIndex,excerpt:cH(o,t.trim())}]:[]}):[]}i(tE,"searchTranscriptIndex");function ex(e,t,n){return e<=0?0:t<0?n==="next"?0:e-1:n==="next"?(t+1)%e:t<=0?e-1:t-1}i(ex,"stepTranscriptSearchMatch");function nE(e,t){return e.length===0?void 0:t<0?`${e.length} transcript matches`:`${Math.min(Math.max(t,0),e.length-1)+1}/${e.length} transcript matches`}i(nE,"buildTranscriptSearchSummary");function rE(e,t,n){if(t.length===0||!n)return 0;let r=t.findIndex(a=>a.itemId===n);if(r>=0)return r;let o=e.find(a=>a.itemId===n)?.itemIndex;if(o===void 0)return 0;let s=t.findIndex(a=>a.itemIndex>=o);return s>=0?s:0}i(rE,"resolveTranscriptSearchMatchIndex");function oE(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:lH(e),kindLabel:"tool"};case"error":return{summary:"Error entry",kindLabel:"error"};case"info":return{summary:"Info note",kindLabel:"info"};case"hint":return{summary:"Hint",kindLabel:"hint"};default:return{summary:"Transcript entry",kindLabel:"entry"}}}i(oE,"buildTranscriptSelectionSummary");function lH(e){return e.tools.length===1?`Tool call: ${e.tools[0]?.name??"tool"}`:`Tool group: ${e.tools.length} calls`}i(lH,"summarizeToolGroup");function iE(e){return e.map(t=>t.id)}i(iE,"getSelectableTranscriptItemIds");function sE(e,t,n){if(e.length===0)return;if(!t)return n==="next"?e[0]:e[e.length-1];let r=e.indexOf(t);return r===-1?n==="next"?e[0]:e[e.length-1]:n==="next"?e[Math.min(e.length-1,r+1)]:e[Math.max(0,r-1)]}i(sE,"moveTranscriptSelection");function tx(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: ${Ot(t.output)}`),t.error&&n.push(`Error: ${Ot(t.error)}`),n.join(`
|
|
130
|
+
`)}).join(`
|
|
131
|
+
|
|
132
|
+
`);case"assistant":case"user":case"system":case"thinking":case"error":case"info":case"hint":return Ot(e.text);default:return}}i(tx,"buildTranscriptCopyText");function aE(e){if(!e||e.type!=="tool_group")return;let t=e.tools.map(n=>{if(!n.input)return;let r=typeof n.input=="string"?n.input:JSON.stringify(n.input,null,2);if(r?.trim())return[`Tool: ${n.name}`,r].join(`
|
|
133
|
+
`)}).filter(n=>!!n);return t.length>0?t.join(`
|
|
134
|
+
|
|
135
|
+
`):void 0}i(aE,"buildTranscriptToolInputCopyText");import{useCallback as su,useRef as uH,useState as cE}from"react";function lE(e){let{state:t,ownsViewport:n,isAwaitingUserInteraction:r,isHistorySearchActive:o,isTranscriptMode:s,historySearchQuery:a}=e,c=ck(t),l;if(t.supportsStickyPrompt&&t.stickyPromptVisible)if(o){let f=a.trim();l={visible:!0,label:f?`Searching transcript for "${f}"`:"Searching transcript"}}else s?l={visible:!0,label:"Transcript Mode"}:r&&(l={visible:!0,label:"Interaction active"});let d;return n&&t.supportsViewportChrome&&(s&&t.pendingLiveUpdates>0?d={visible:!0,label:t.pendingLiveUpdates===1?"1 new update":`${t.pendingLiveUpdates} new updates`,hint:"Ctrl+O",tone:"accent"}:!s&&t.jumpToLatestAvailable&&(d={visible:!0,label:"Back to live",hint:"End",tone:"accent"})),{browseHintText:c,stickyHeader:l,jumpToLatest:d}}i(lE,"buildTranscriptChromeModel");function uE(e){return Math.max(1,e-2)}i(uE,"resolveTranscriptPageSize");function dE(e){return Math.max(3,Math.floor(e/4))}i(dE,"resolveTranscriptWheelStep");function dH(e,t){return Math.max(0,e+t)}i(dH,"incrementTranscriptScrollOffset");function fE(e,t,n){let r=Math.max(0,t-n);return Math.min(Math.max(0,e),r)}i(fE,"clampTranscriptScrollOffset");function pE(){let e=uH(null),[t,n]=cE(0),[r,o]=cE(!0),s=su(f=>{n(Math.max(0,f))},[]),a=su(f=>{o(f)},[]),c=su(f=>{if(e.current){e.current.scrollTo(f);return}n(Math.max(0,f)),o(f===0)},[]),l=su(f=>{if(e.current){e.current.scrollBy(f);return}n(p=>dH(p,f)),o(!1)},[]),d=su(()=>{if(e.current){e.current.scrollToBottom();return}n(0),o(!0)},[]);return{scrollRef:e,scrollOffset:t,sticky:r,setScrollOffset:n,setSticky:o,handleScrollTopChange:s,handleStickyChange:a,scrollTo:c,scrollBy:l,scrollToBottom:d}}i(pE,"useTranscriptViewportScrollController");function mE(e){let{items:t,renderModel:n,terminalWidth:r,transcriptMaxLines:o,viewportRows:s,itemId:a,visibleRows:c,expandedItemKeys:l,showDetailedTools:d=!1}=e;if(!a||c.length===0)return!1;let p=(n?.sections??_a(t,r,o,d,l)).find(S=>S.key===a);if(!p||p.rows.length===0)return!1;let m=new Set(c.map(S=>S.key)),h=Math.max(0,s??0);return h>0&&p.rows.length<=h?p.rows.every(S=>m.has(S.key)):m.has(p.rows[0]?.key??"")}i(mE,"isTranscriptItemVisible");function hE(e){let{items:t,renderModel:n,terminalWidth:r,transcriptMaxLines:o,viewportRows:s,itemId:a,expandedItemKeys:c,showDetailedTools:l=!1}=e,d=n?.sections??_a(t,r,o,l,c);return $b(d,a,s)}i(hE,"resolveTranscriptSelectionOffset");function gE(e){let{items:t,renderModel:n,selectedItemId:r,terminalWidth:o=80,transcriptMaxLines:s=1e3,viewportRows:a,scrollOffset:c=0,expandedItemKeys:l,showDetailedTools:d=!1,preferViewportAnchor:f=!1}=e;if(r&&t.some(p=>p.id===r))return r;if(f&&c>0&&a&&a>0){let p=n?.sections??_a(t,o,s,d,l),m=n?.rows??Yi(p),S=Vg(m,a,c)[0]?.key,v=S?p.find(T=>T.rows.some(w=>w.key===S)):void 0;if(v?.key)return v.key}return t[t.length-1]?.id}i(gE,"resolveTranscriptSearchAnchorItemId");function yE(e){let t=Tl(e.stickyHeader),n=Vf(t,e.width),r=Math.max(0,e.topChromeRows??0);return{contentWindow:e.window,topOffsetRows:n+r,stickyHeaderRows:n,topChromeRows:r}}i(yE,"resolveTranscriptOwnedWindowGeometry");function fH(e){return e.text===" "?"":Ot(e.text)}i(fH,"normalizeTranscriptRowText");function nx(e){let t=new Map;return e.forEach((n,r)=>{t.set(n.key,r)}),t}i(nx,"buildTranscriptRowIndexByKey");function pH(e,t={}){let n=Math.max(0,e.indent??0),r=e.spinner&&t.animateSpinners!==!1?2:0;return 1+n+r}i(pH,"resolveTranscriptTextStartColumn");function xE(e,t={}){let n=Math.max(0,t.topOffsetRows??0),r=t.rowIndexByKey??nx(t.allRows??e),o=e.map((s,a)=>{let c=fH(s),l=pH(s,t),d=Qo(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+Bb(c)}});return{rows:o,topRow:o[0]?.screenRow??n+1,bottomRow:o[o.length-1]?.screenRow??n,viewportHeight:Math.max(0,t.viewportHeight??e.length)}}i(xE,"buildTranscriptScreenBuffer");function mH(e,t){let n=Math.max(1,Math.floor(t));return Wb(e.text,n-e.textStartColumn)}i(mH,"clampTextColumn");function rx(e,t){return{screenRow:e,point:{rowKey:e.key,modelRowIndex:e.modelRowIndex,column:mH(e,t)}}}i(rx,"toHit");function ox(e,t,n){let r=e.rows.find(o=>o.screenRow===t);return r?rx(r,n):void 0}i(ox,"hitTestTranscriptScreen");function ix(e,t,n){if(e.rows.length!==0)return t<=e.topRow?rx(e.rows[0],n):t>=e.bottomRow?rx(e.rows[e.rows.length-1],n):ox(e,t,n)}i(ix,"clampTranscriptScreenHit");function SE(e){return e.text===" "?"":Ot(e.text)}i(SE,"normalizeTranscriptRowText");function wE(e,t){return e.modelRowIndex!==t.modelRowIndex?e.modelRowIndex-t.modelRowIndex:e.column-t.column}i(wE,"comparePoints");function TE(e,t,n,r={}){if(e.length===0)return;let[o,s]=wE(t,n)<=0?[t,n]:[n,t],a=r.selectFullRowOnCollapsed===!0,c=wE(t,n)===0,l=e[o.modelRowIndex],d=e[s.modelRowIndex];if(!l||!d)return;let f=a&&c?{...o,column:0}:o,p=a&&c?{...s,column:Qo(SE(d))}:s,m=new Map,h=[],S=0;for(let v=f.modelRowIndex;v<=p.modelRowIndex;v+=1){let T=e[v];if(!T)continue;let w=SE(T),b=Qo(w),M=v===f.modelRowIndex?f.column:0,O=v===p.modelRowIndex?p.column:b,k=Math.max(0,Math.min(M,b)),P=Math.max(k,Math.min(O,b)),q=La(w,k,P);P>k&&(m.set(T.key,{start:k,end:P}),S+=P-k),h.push(q)}if(m.size!==0)return{anchor:t,focus:n,rowRanges:m,rowCount:h.length,charCount:S,text:h.join(`
|
|
136
|
+
`)}}i(TE,"buildTranscriptScreenSelection");function CE(e){if(!e)return;let t=`${e.charCount} char${e.charCount===1?"":"s"}`;return e.rowCount<=1?`Selected ${t}`:`Selected ${t} across ${e.rowCount} lines`}i(CE,"buildTranscriptScreenSelectionSummary");function IE(e,t){return e.rows.length===0?0:t<e.topRow?1:t>e.bottomRow?-1:0}i(IE,"resolveTranscriptDragEdgeScrollDirection");var hH="Other...";function mm(e){return e?e.map(t=>({label:t.label,value:t.value,description:t.description})):[]}i(mm,"toSelectOptions");function sx(e,t){return t.kind==="input"||t.allowCustomInput===!1||e.some(n=>n.value===Mr)?e:[...e,{label:t.customInputLabel??hH,value:Mr}]}i(sx,"appendCustomInputOption");function ax(e){return e.question}i(ax,"getAskUserDialogTitle");function vE(e){return!!e.activity}i(vE,"shouldRenderPromptActivityInFooter");function gH(e){switch(e){case"confirm":return re("waiting.confirm");case"select":return re("waiting.select");case"input":return re("waiting.input")}}i(gH,"formatPromptWaitingText");function bE(e){return e.waitingReason==="confirm"?re("placeholder.confirm"):e.waitingReason==="select"?re("placeholder.select"):e.waitingReason==="input"?re("placeholder.input"):e.isLoading?e.canQueueFollowUps?re("placeholder.queue"):re("placeholder.busy"):re("placeholder.idle")}i(bE,"buildPromptPlaceholderText");function RE(e){return e.isTranscriptMode?void 0:e.waitingReason?{kind:"waiting",text:gH(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:Xg({activeToolCount:e.streamingState.activeToolCalls.filter(n=>n.status===j.Executing).length,currentTool:e.streamingState.currentTool,isThinkingActive:e.streamingState.isThinking,thinkingCharCount:e.streamingState.thinkingCharCount,isCompacting:e.streamingState.isCompacting,toolInputCharCount:e.streamingState.toolInputCharCount,toolInputContent:e.streamingState.toolInputContent,managedPhase:e.managedState?.phase,managedHarnessProfile:e.managedState?.harnessProfile,managedWorkerTitle:e.managedState?.workerTitle})??"Thinking",showSpinner:!0}:void 0}i(RE,"buildPromptActivityViewModel");function kE(e,t,n){if(!e)return;let r=e.userOverrideContextWindow??e.contextWindow,o=e.reservedResponseTokens;try{let s=n(t.provider);e.userOverrideContextWindow===void 0&&(r=s?.getEffectiveContextWindow?.(t.model)??r),o=s?.getEffectiveMaxOutputTokens?.(t.model)??o}catch{}return r===e.contextWindow&&o===e.reservedResponseTokens?e:{...e,contextWindow:r,reservedResponseTokens:o}}i(kE,"resolveEffectiveCompactionInfo");function os(e,t,n){return e==="auto"||e==="auto-in-project"?t??n:void 0}i(os,"resolveSurfaceAutoModeEngine");function EE(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===j.Executing).length,thinking:e.thinking,reasoningMode:e.reasoningMode,effort:e.effort,reasoningEffortLabel:e.reasoningEffortLabel,reasoningCapability:e.reasoningCapability,isThinkingActive:e.streamingState.isThinking,thinkingCharCount:e.streamingState.thinkingCharCount,toolInputCharCount:e.isTranscriptMode?e.streamingState.toolInputCharCount:0,toolInputContent:e.isTranscriptMode?e.streamingState.toolInputContent:"",currentIteration:e.streamingState.currentIteration,maxIter:e.maxIter,contextUsage:e.contextUsage,learning:e.learning,isCompacting:e.streamingState.isCompacting,showBusyStatus:!1,managedPhase:e.isLoading?e.managedState?.phase:void 0,managedHarnessProfile:e.isLoading?e.managedState?.harnessProfile:void 0,managedWorkerTitle:e.isLoading?e.managedState?.workerTitle:void 0,managedRound:e.isLoading?e.managedState?.round:void 0,managedMaxRounds:e.isLoading?e.managedState?.maxRounds:void 0,managedGlobalWorkBudget:e.isLoading?e.managedState?.globalWorkBudget:void 0,managedBudgetUsage:e.isLoading?e.managedState?.budgetUsage:void 0,managedBudgetApprovalRequired:e.isLoading?e.managedState?.budgetApprovalRequired:void 0,managedIdleWaiting:e.isLoading?e.managedState?.idleWaiting:void 0,managedIdleWaitingPendingCount:e.isLoading?e.managedState?.idleWaitingPendingCount:void 0,autoModeEngine:e.autoModeEngine}}i(EE,"buildSurfaceStatusBarProps");function ME(e){let t=Fy(e.state),n=t?im(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&&ak(e.state)},toggleDetail:t&&!!n,navigationCapabilities:{selection:t&&!!n&&e.selectableItemIds.length>0}}}i(ME,"buildTranscriptSelectionRuntimeState");function AE(e){if(!(!e.runtime.selectionEnabled||!e.runtime.selectedItemId))return{itemSummary:e.itemSummary?.summary,itemKind:e.itemSummary?.kindLabel,position:e.runtime.position,detailState:e.runtime.detailState,copyCapabilities:e.runtime.copyCapabilities,toggleDetail:e.runtime.toggleDetail,navigationCapabilities:e.runtime.navigationCapabilities}}i(AE,"buildTranscriptSelectionViewModel");function _E(e){return{query:e.query,matches:e.matches,currentMatchIndex:e.currentMatchIndex,anchorItemId:e.anchorItemId,statusText:e.useOverlaySurface?void 0:e.statusText}}i(_E,"buildTranscriptSearchViewModel");function yH(e,t){return e===0?0:t<0?-1:Math.min(t,e-1)}i(yH,"clampTranscriptSearchSelectedIndex");function xH(e){return e.isHistorySearchActive?e.historySearchQuery.trim()?e.matches.length===0?"No matches yet":e.clampedSelectedIndex<0?`${e.matches.length} matches | use n/N or Enter to jump`:e.matches[e.clampedSelectedIndex]?.excerpt:"Type to search transcript":void 0}i(xH,"buildTranscriptSearchDetailText");function LE(e){let t=yH(e.matches.length,e.selectedIndex),n=nE(e.matches,t),r=xH({isHistorySearchActive:e.isHistorySearchActive,historySearchQuery:e.historySearchQuery,matches:e.matches,clampedSelectedIndex:t});return{clampedSelectedIndex:t,statusText:n,detailText:r,searchState:_E({query:e.historySearchQuery,matches:e.matches,currentMatchIndex:t,anchorItemId:e.anchorItemId,statusText:n,useOverlaySurface:e.useOverlaySurface})}}i(LE,"buildTranscriptSearchChrome");function SH(e=!1){return`\u2190/\u2192 enter select mode | Ctrl+E ${e?"collapse":"show all"} | Mouse drag selects text`}i(SH,"buildDefaultTranscriptSecondaryText");function PE(e){let t=[];return e.historySearchQuery.trim().length>0&&e.isHistorySearchActive&&e.historySearchMatchCount===0&&t.push({id:"search-empty",text:"No transcript matches yet",tone:"info"}),e.pendingInputCount>=e.maxPendingInputs&&t.push({id:"queue-full",text:`Queued follow-up limit reached (${e.maxPendingInputs})`,tone:"warning"}),t}i(PE,"buildFooterNotifications");function $E(e){let t=[];return e.historySearchQuery.trim()&&t.push(`Search: ${e.historySearchQuery.trim()}`),e.pendingInputCount>0&&t.push(`Queued follow-ups: ${e.pendingInputCount}`),t}i($E,"buildBaseFooterNotices");function OE(e){if(e.inputText.trim()&&(e.isTranscriptMode||e.isHistorySearchActive))return"Draft preserved while viewing transcript"}i(OE,"buildStashNoticeText");function DE(e){return[...e]}i(DE,"buildPromptFooterNotices");function wH(e){let n=(e.isHistorySearchActive?[e.historySearchDetailText]:[e.selectionSummary,e.actionSummary]).filter(r=>!!(r&&r.trim().length>0));return n.length===0?SH(e.showAllActive):n.join(" | ")}i(wH,"buildTranscriptFooterSecondaryText");function TH(e){let t=[];return e&&t.push(e),t}i(TH,"buildTranscriptFooterBudgetNotices");function NE(e){let t=e.selectionState?.copyCapabilities,n=e.selectionState?.navigationCapabilities,o=CE(e.textSelection),s=e.textSelection?Pa({copyMessage:!0,copyToolInput:!1,copyOnSelect:!!t?.copyOnSelect,toggleDetail:!1,selectionNavigation:!1,matchNavigation:!1,dismissAction:"clear"}):e.selectionState?.itemSummary?Pa({copyMessage:!!t?.message,copyToolInput:!!t?.toolInput,copyOnSelect:!!t?.copyOnSelect,toggleDetail:!!e.selectionState?.toggleDetail,selectionNavigation:!!n?.selection,matchNavigation:!1,dismissAction:"clear"}):void 0,a=wH({isHistorySearchActive:e.isHistorySearchActive,historySearchDetailText:e.historySearchDetailText,selectionSummary:o,actionSummary:s,showAllActive:e.showAllActive,baseFooterNotices:e.baseFooterNotices});return{selectionSummary:o,actionSummary:s,secondaryText:a,budgetNotices:TH(a)}}i(NE,"buildTranscriptFooterViewModel");import{jsx as SQ,jsxs as wQ}from"react/jsx-runtime";function BE(e,t){if(!(!e||!t||t<=0))switch(e){case"finding-validation":return`Validating ${t} finding${t===1?"":"s"}`;case"module-triage":return`Scanning ${t} module${t===1?"":"s"}`;case"evidence-scan":return`Parallel evidence pass (${t})`;case"hypothesis-check":return`Checking ${t} hypothesis${t===1?"":"es"}`;default:return}}i(BE,"formatAmaWorkStripText");function WE(e){return e.replace(/^\[[^\]]+\]\s*/,"").trim()}i(WE,"stripLiveActivityPrefix");function HE(e){let t=[],n=e.showPrimary??!0;if(e.isLoading&&n){let l=e.currentTool?WE(cp(e.currentTool,e.toolInputContent??"",e.toolInputCharCount??0)):void 0,d=e.liveActivityLabel?WE(e.liveActivityLabel):void 0;e.activeWorkerTitle?t.push({id:"primary-worker",label:`${e.activeWorkerTitle} active`,accent:!0,selected:!0}):e.activePhase?t.push({id:"primary-phase",label:e.activePhase,accent:!0,selected:!0}):d?t.push({id:"primary-live-activity",label:d,accent:!0,selected:!0}):l?t.push({id:"primary-tool",label:l,accent:!0,selected:!0}):e.isThinkingActive?t.push({id:"primary-thinking",label:"Thinking",accent:!0,selected:!0}):t.push({id:"primary-generic",label:"Agent active",accent:!0,selected:!0})}e.parallelText&&t.push({id:"parallel",label:e.parallelText});let[r,o,s,...a]=t,c=[r,o,s].filter(l=>!!l);return e.isLoading?{items:c,overflowLabel:a.length>0?`+${a.length} more`:void 0,ctaHint:e.parallelText?"Ctrl+O transcript":void 0}:{items:c,overflowLabel:a.length>0?`+${a.length} more`:void 0,ctaHint:e.parallelText?"Ctrl+O transcript":void 0}}i(HE,"buildBackgroundTaskViewModel");function FE(e,t){if(!(!t||!e||e.agentMode!=="ama"))return BE(e.childFanoutClass,e.childFanoutCount)}i(FE,"buildAmaWorkStripFromStatus");function cx(e){let t=FE(e.status,e.isLoading);return{workStripText:t,backgroundTask:HE({isLoading:e.isLoading,showPrimary:!!(e.parallelTextOverride??t),activeWorkerTitle:e.status?.activeWorkerTitle,activePhase:e.status?.phase??(e.agentMode==="ama"?"AMA active":void 0),parallelText:e.parallelTextOverride??t,currentTool:e.currentTool,toolInputCharCount:e.toolInputCharCount,toolInputContent:e.toolInputContent,liveActivityLabel:e.liveActivityLabel,isThinkingActive:e.isThinkingActive})}}i(cx,"buildAmaSummaryViewModel");function lx(e){return{...e,items:[...e.items],managedLiveEvents:[...e.managedLiveEvents??[]]}}i(lx,"captureTranscriptSnapshot");function jE(e){if(!e.isTranscriptMode||!e.snapshot)return 0;let t=Math.max(0,e.currentItemsLength-e.snapshot.items.length);return e.isLoading!==e.snapshot.isLoading&&(t+=1),e.currentResponse!==e.snapshot.currentResponse&&(t+=1),e.thinkingContent!==e.snapshot.thinkingContent&&(t+=1),e.activeToolCallsLength!==e.snapshot.activeToolCalls.length&&(t+=1),(e.currentManagedLiveEventsLength??0)!==e.snapshot.managedLiveEvents.length&&(t+=1),t}i(jE,"countPendingTranscriptUpdates");function UE(e){return e.snapshot?[...e.snapshot.items]:e.surface==="transcript"?[...e.transcriptItems]:[...e.promptItems]}i(UE,"resolveTranscriptSurfaceItems");function GE(e){let t=[];for(let n of e)switch(n.type){case"user":case"system":case"error":case"tool_group":case"event":case"info":t.push({...n});break;case"assistant":case"thinking":{let{compactText:r,...o}=n;t.push(o);break}default:break}return t}i(GE,"buildPromptSurfaceItems");function VE(e,t){return e.enabled?t==="transcript"?e.transcriptShell:e.promptShell:"main-screen"}i(VE,"resolveFullscreenShellMode");function CH(e,t){return e.enabled&&VE(e,t)==="virtual"}i(CH,"shouldUseRendererViewportShell");function KE(e,t){let n=VE(e,t),r=e.enabled&&n==="virtual",o=e.enabled&&n==="virtual",s=r&&(e.mouseWheel||e.mouseClicks),a=s&&e.mouseClicks,c=o&&e.mouseWheel;return{shellMode:n,usesAlternateScreenShell:r,usesRendererViewportShell:o,usesRendererMouseTracking:s,usesManagedMouseClicks:a,usesManagedMouseWheel:c,usesManagedSelection:o,usesManagedWheelHistory:c,usesNativeMainScreenScrollback:!o}}i(KE,"resolveTranscriptInteractionPolicy");function zE(e,t,n){return CH(e,t)?t==="transcript"||n:!1}i(zE,"shouldOwnTranscriptViewport");var IH=500,vH=1,bH=/[\p{L}\p{N}_/.\-+~\\]/u;function RH(e){return e.text===" "?"":e.text}i(RH,"normalizeTranscriptRowText");function YE(e,t){return e.modelRowIndex!==t.modelRowIndex?e.modelRowIndex-t.modelRowIndex:e.column-t.column}i(YE,"comparePoints");function ux(e){return e===""||/\s/.test(e)?0:bH.test(e)?1:2}i(ux,"charClass");function XE(e){let t=e.timeoutMs??IH,n=e.distance??vH,r=e.time-e.previous.time<=t,o=Math.abs(e.row-e.previous.row)<=n&&Math.abs(e.column-e.previous.column)<=n,s=r&&o?Math.min(3,e.previous.count+1):1;return{time:e.time,row:e.row,column:e.column,count:s}}i(XE,"resolveTranscriptMultiClickState");function hm(e,t,n){let r=e[t.modelRowIndex];if(!r)return;let o=RH(r);if(n==="line")return{kind:n,start:{...t,column:0},end:{...t,column:Qo(o)}};let s=Qo(o);if(s===0)return{kind:n,start:{...t,column:0},end:{...t,column:0}};let a=Math.max(0,Math.min(s-1,t.column));t.column===s&&(a=s-1);let c=ux(hp(o,a)),l=a,d=a+1;for(;l>0&&ux(hp(o,l-1))===c;)l-=1;for(;d<s&&ux(hp(o,d))===c;)d+=1;return{kind:n,start:{...t,column:l},end:{...t,column:d}}}i(hm,"resolveTranscriptSelectionSpanAt");function dx(e,t){return YE(t.end,e.start)<0?{anchor:e.end,focus:t.start}:YE(t.start,e.end)>0?{anchor:e.start,focus:t.end}:{anchor:e.start,focus:e.end}}i(dx,"extendTranscriptSelectionSpan");function nc(e){return{messages:e.messages,title:e.title,gitRoot:e.gitRoot??"",...e.runtimeInfo!==void 0?{runtimeInfo:e.runtimeInfo}:{},...e.tag!==void 0?{tag:e.tag}:{},...e.uiHistory!==void 0?{uiHistory:e.uiHistory}:{},...e.lineage!==void 0?{lineage:e.lineage}:{},...e.artifactLedger!==void 0?{artifactLedger:e.artifactLedger}:{},...e.extensionState!==void 0?{extensionState:e.extensionState}:{},...e.extensionRecords!==void 0?{extensionRecords:e.extensionRecords}:{}}}i(nc,"buildHostSessionPayload");var AH=500;function _H(e){let t=[{label:"Acknowledge notification",value:"acknowledge"}];return e.lifecycle==="ready"?t.push({label:"Review",value:"review"},{label:"Review & Trust",value:"trust"},{label:"Snooze for 24 hours",value:"snooze"},{label:"Reject",value:"reject"}):e.lifecycle==="active_learned"?t.push({label:"Disable",value:"disable"},{label:"Promote to user catalog",value:"promote"}):e.lifecycle==="quarantined"&&t.push({label:"Rollback",value:"rollback"},{label:"Disable",value:"disable"}),t}i(_H,"learningCenterActions");function LH(e){let t=new Map;for(let n of e)t.set(n.slug,(t.get(n.slug)??0)+1);return e.map(n=>{let r=(t.get(n.slug)??0)>1?` \xB7 ${n.capabilityId}`:"";return{label:`${n.displayName} \xB7 ${n.carrier} \xB7 ${n.lifecycle}${r}`,value:n.capabilityId}})}i(LH,"buildLearningCenterOptions");async function PH(e,t,n){n==="acknowledge"?await e.acknowledge(t):n==="snooze"?await e.snooze(t,new Date(Date.now()+1440*6e4).toISOString()):n==="reject"?await e.reject(t):n==="disable"?await e.disable(t):n==="rollback"?await e.rollback(t):n==="promote"?await e.promote(t,"user"):n==="review"?await e.review(t):n==="trust"&&await e.trust(t)}i(PH,"applyLearningCenterAction");function $H(e){return typeof e.appendSessionDelta=="function"}i($H,"hasAppendSessionDelta");function QE(e,t){let n=t.runtimeSessionSnapshot;n&&("extensionState"in n&&(e.extensionState=n.extensionState?structuredClone(n.extensionState):{},e.extensionStateDirty=!0),"extensionRecords"in n&&(e.extensionRecords=n.extensionRecords?.map(r=>({...r}))??[],e.extensionRecordsDirty=!0))}i(QE,"applyRuntimeSessionSnapshot");var OH=12,JE="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 fx(e,t){if(zn(e))return[t.getGuardrail()]}i(fx,"buildAutoModeGuardrails");function DH(e,t){return e.reasoningMode?e.reasoningMode:t.reasoningMode?t.reasoningMode:e.thinking===!0||t.thinking===!0?"auto":"off"}i(DH,"resolveInitialReasoningMode");function px(e){return Ot(e.map(t=>typeof t=="string"?t:String(t)).join(" "))}i(px,"formatCapturedConsoleOutput");function mx(e){let t=e.map(Ot).join(`
|
|
137
|
+
`).trimEnd();return t.trim().length>0?t:void 0}i(mx,"joinCapturedConsoleOutput");function NH(e){let t=e.split(/\r?\n/).map(s=>s.trim()).filter(Boolean);if(t.length===0)return;if(t.length===1)return t[0];let[n,r]=t,o=n.startsWith("[")?`${n} ${r}`:`${n} / ${r}`;return o.length>220?`${o.slice(0,217)}...`:o}i(NH,"buildManagedTranscriptCompactText");function ZE(e){let t=NH(e);return{type:"event",icon:by(e)?"\u2713":">",text:e,...t&&t!==e?{compactText:t}:{}}}i(ZE,"toManagedTranscriptEventItem");function ci(e){switch(e.type){case"assistant":return{type:"assistant",text:e.text,timestamp:e.timestamp,...e.compactText?{compactText:e.compactText}:{}};case"thinking":return{type:"thinking",text:e.text,timestamp:e.timestamp,...e.compactText?{compactText:e.compactText}:{}};case"event":return{type:"event",text:e.text,timestamp:e.timestamp,...e.icon?{icon:e.icon}:{},...e.compactText?{compactText:e.compactText}:{}};case"info":return{type:"info",text:e.text,timestamp:e.timestamp,...e.icon?{icon:e.icon}:{},...e.compactText?{compactText:e.compactText}:{}};case"error":return{type:"error",text:e.text,timestamp:e.timestamp};case"system":return{type:"system",text:e.text,timestamp:e.timestamp};case"hint":return{type:"hint",text:e.text,timestamp:e.timestamp};case"sidecar":return{type:"sidecar",text:e.text,timestamp:e.timestamp,...e.verdict?{verdict:e.verdict}:{},...e.delivery?{delivery:e.delivery}:{}};case"tool_group":return{type:"tool_group",tools:e.tools,timestamp:e.timestamp};case"user":return{type:"user",text:e.text,timestamp:e.timestamp};default:return e}}i(ci,"toCreatableHistoryItem");function gx(e){return IC(e)?"":sa(e).trim()}i(gx,"sanitizeInterruptedAssistantText");function BH(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}i(BH,"escapeRegExpLiteral");function WH(e,t){let n=t?.trim();return n?e.replace(new RegExp(`^\\[${BH(n)}\\]\\s*`),""):e}i(WH,"stripManagedWorkerPrefix");function eM(e,t){let n=sa(e);return WH(n,t).trim().length>0}i(eM,"hasSubstantiveManagedAssistantText");function HH(e,t){return e?t||e.trim().length>0:!1}i(HH,"shouldAppendManagedAssistantTextDelta");function tM(e){return!!(e?.activeWorkerId&&!e.childFanoutClass&&(e.phase==="preflight"||e.phase==="worker"))}i(tM,"isForegroundManagedStreamingStatus");function FH(e,t,n){let r=[],o=n?.infoItems??[],s=yx({thinking:e,toolCalls:n?.toolCalls,toolNames:n?.toolNames});for(let c of o){let l=c.trim();l&&r.push({type:"info",text:l})}r.push(...s);let a=gx(t);return a&&r.push({type:"assistant",text:`${a}
|
|
138
|
+
|
|
139
|
+
[Interrupted]`}),r}i(FH,"buildInterruptedPersistenceItems");function yx({thinking:e,response:t,toolCalls:n,toolNames:r}){let o=[],s=e?.trim()??"",a=t?.trim()??"",c=n&&n.length>0?[...n]:[],l=r&&r.length>0?[...r]:[];return s&&o.push({type:"thinking",text:s}),c.length>0?o.push({type:"tool_group",tools:c}):!s&&!a&&l.length>0&&o.push({type:"info",icon:"*",text:`Tools: ${l.join(", ")}`}),a&&o.push({type:"assistant",text:a}),o}i(yx,"buildRoundHistoryItems");var jH=20,UH="Session ended before the tool completed.";function GH(e){switch(e.status){case j.Success:return{status:"success"};case j.Error:return{status:"error"};case j.Cancelled:return{status:"cancelled"};case j.AwaitingApproval:case j.Scheduled:case j.Validating:case j.Executing:return{status:"cancelled",error:UH};default:return e.status}}i(GH,"toPersistedToolStatus");function VH(e){if(!e.id||!e.name)return;let t=GH(e),n=t.status==="success"?_h(e.output):void 0,r=t.status==="error"||t.status==="cancelled"?Ah(e.error??_h(e.output)??t.error??""):void 0,o=wC(e.input);return{id:e.id,name:e.name,status:t.status,...o?{input:o}:{},...typeof e.preview=="string"&&e.preview.trim().length>0?{preview:Ah(e.preview.trim(),500)}:{},...n&&n.trim().length>0?{output:n}:{},...r&&r.trim().length>0?{error:r}:{},...typeof e.startTime=="number"?{startTime:e.startTime}:{},...typeof e.endTime=="number"?{endTime:e.endTime}:{}}}i(VH,"toPersistedToolCall");function KH(e){let t=e.tools.slice(0,jH).map(VH).filter(r=>!!r),n=xx(e);return t.length>0?{type:"tool_group",tools:t,...n===void 0?{}:{timestamp:n}}:void 0}i(KH,"toPersistedToolGroup");function xx(e){return e.timestamp!==void 0&&Number.isFinite(e.timestamp)&&e.timestamp>=0?e.timestamp:void 0}i(xx,"persistedHistoryTimestamp");function sM(e){if(e.type==="tool_group")return KH(e);let t="text"in e&&typeof e.text=="string"?e.text.trimEnd():"";if(!t)return;if(e.type==="sidecar"){let s=e.delivery==="budget-exhausted"?"budget-exhausted":e.verdict??"revise",a=xx(e);return{type:"sidecar",text:t,icon:s,...a===void 0?{}:{timestamp:a}}}let n="icon"in e&&typeof e.icon=="string"&&e.icon.length>0?e.icon:void 0,r="compactText"in e&&typeof e.compactText=="string"&&e.compactText.length>0?e.compactText.trimEnd():void 0,o=xx(e);return{type:e.type,text:t,...o===void 0?{}:{timestamp:o},...n?{icon:n}:{},...r?{compactText:r}:{}}}i(sM,"toPersistedUiHistoryItem");var nM=process.env.KODAX_TRANSCRIPT_HARNESS_MARKERS==="1",zH=process.env.KODAX_SCROLL_OVERSCAN==="1"?80:void 0;function rM(e){return Fr(e.map(t=>sM(t)).filter(t=>!!t))}i(rM,"serializeUiHistorySnapshot");function YH(e){return e.map(t=>sM(t)).filter(t=>!!t)}i(YH,"serializeCreatableHistoryItems");function gm(e,t){return t.length===0?Fr(e):Fr([...e,...YH(t)])}i(gm,"appendPersistedUiHistorySnapshot");function au(e,t,n){console.log((e==="block"?ft.red:ft.yellow)(t)),n.forEach(r=>console.log(ft.dim(r)))}i(au,"logSessionTransitionGuard");var hx=i(({config:e,sessionId:t,workingDir:n,compactionInfo:r})=>{let o=oe("dark"),s=e.model??Ar(e.provider)??e.provider,a=$o({provider:e.provider,model:e.model,effort:e.effort,effortOverride:e.effortOverride,thinking:e.thinking,reasoningMode:e.reasoningMode}),c=r?Math.round(r.contextWindow/1e3):0,l=r?$l(r.contextWindow,r.triggerPercent,r.triggerTokens):void 0;return vn(E,{flexDirection:"column",marginBottom:1,children:[ky.map((d,f)=>ce(I,{color:o.colors.primary,children:d},f)),vn(E,{children:[ce(I,{color:o.colors.primary,children:" \u258E "}),ce(I,{color:o.colors.primary,children:"AI Coding Agent \xB7 Minimalist & Intelligent"})]}),vn(E,{children:[ce(I,{color:o.colors.success,children:" \u258E "}),vn(I,{bold:!0,color:o.colors.text,children:["v",ki]}),ce(I,{dimColor:!0,children:" \xB7 "}),vn(I,{color:o.colors.success,children:[e.provider,"/",s]}),ce(I,{dimColor:!0,children:` \xB7 effort:${a}`}),ce(I,{dimColor:!0,children:" \xB7 "}),ce(I,{color:o.colors.primary,children:e.agentMode.toUpperCase()}),ce(I,{dimColor:!0,children:" / "}),ce(I,{color:o.colors.accent,children:e.permissionMode})]}),r&&vn(E,{children:[ce(I,{color:o.colors.accent,children:" \u258E "}),ce(I,{color:o.colors.text,children:`ctx ${c}k \xB7 compaction `}),ce(I,{color:r.enabled?o.colors.success:o.colors.text,children:r.enabled?"on":"off"}),ce(I,{color:o.colors.text,children:` \xB7 ${l}`})]}),vn(E,{children:[ce(I,{color:o.colors.secondary,children:" \u258E "}),ce(I,{color:o.colors.text,children:"session "}),ce(I,{color:o.colors.primary,children:t}),ce(I,{color:o.colors.text,children:" \xB7 "}),ce(I,{color:o.colors.text,children:n})]})]})},"Banner");function XH(e){let t=e.config.model??Ar(e.config.provider)??e.config.provider,n=$o({provider:e.config.provider,model:e.config.model,effort:e.config.effort,effortOverride:e.config.effortOverride,thinking:e.config.thinking,reasoningMode:e.config.reasoningMode}),r=e.compactionInfo?Math.round(e.compactionInfo.contextWindow/1e3):0,o=e.compactionInfo?$l(e.compactionInfo.contextWindow,e.compactionInfo.triggerPercent,e.compactionInfo.triggerTokens):void 0,s=" \u258E AI Coding Agent \xB7 Minimalist & Intelligent",a=` \u258E v${ki} \xB7 ${e.config.provider}/${t} \xB7 effort:${n} \xB7 ${e.config.agentMode.toUpperCase()} / ${e.config.permissionMode}`,c=e.compactionInfo?` \u258E ctx ${r}k \xB7 compaction ${e.compactionInfo.enabled?"on":"off"} \xB7 ${o}`:void 0,l=` \u258E session ${e.sessionId} \xB7 ${e.workingDir}`,d=[],f=i(m=>{let h=hn(m.length>0?m.split(`
|
|
140
|
+
`):[""],Math.max(1,e.terminalWidth),0,0);return h.visualLines.length>0?h.visualLines:[""]},"wrapBannerLine"),p=i((m,h,S)=>{f(h).forEach((v,T)=>{d.push({key:`${m}-${T}`,text:v,...S})})},"pushLineRows");return ky.forEach((m,h)=>{p(`banner-logo-${h}`,m,{color:"primary"})}),p("banner-tagline",s,{color:"primary"}),p("banner-version",a,{color:"text",bold:!0}),c&&p("banner-compaction",c,{color:"text"}),p("banner-session",l,{color:"text"}),d.push({key:"banner-blank",text:" "}),{key:"banner",rows:d}}i(XH,"buildBannerTranscriptSection");function oM(e,t){return t?{...e,sections:[t,...e.sections],rows:[...t.rows,...e.rows]}:e}i(oM,"prependTranscriptSection");var qH=process.env.KODAX_INLINE_LEDGER!=="0";function iM(e,t){process.env.KODAX_INLINE_LEDGER_DEBUG==="1"&&dt({source:"repl:inline-ledger",level:"debug",message:`${e}; rebuilding on next change.`,...t!==void 0?{detail:t}:{}})}i(iM,"reportInlineLedgerFailure");var QH=i(({options:e,config:t,context:n,startupRuntimeInfo:r,storage:o,autoModeSettings:s,rendererMode:a,fullscreenPolicy:c,onExit:l,compactionInfo:d,autoModeBootstrap:f,setAutoModeAskUser:p,setAutoModeEngineChange:m,setCurrentConfigRef:h,teamModeHandle:S})=>{let{exit:v}=Nr(),{stdout:T}=Dr(),w=T.rows??24,{stdin:b,setRawMode:M,isRawModeSupported:O}=yl(),k=va(),{history:P}=Oa(),q=qE.useRef(null),V=qE.useRef(ST()),{addHistoryItem:K,addHistoryItems:fe,clearHistory:ge,setSessionId:Z}=Da(),y=he(P),A=he(rM(P));De(()=>{y.current=P,A.current=rM(P)},[P]),De(()=>{UR()},[]),De(()=>{NC()},[]);let Q=T.columns||80,W=Wa(),ae=he(W);De(()=>{ae.current=W},[W]);let{startStreaming:le,stopStreaming:pe,abort:Ee,startThinking:ue,appendThinkingChars:ye,appendThinkingContent:_e,stopThinking:Y,clearThinkingContent:ne,setCurrentTool:we,appendToolInputChars:nt,appendToolInputContent:xt,clearToolInputContent:Ge,clearResponse:je,appendResponse:de,getSignal:Ce,getFullResponse:F,getThinkingContent:Ne,startNewIteration:pt,clearIterationHistory:Dt,startCompacting:Ke,stopCompacting:bt,setMaxIter:Ut,addPendingInput:Wn,removeLastPendingInput:an,shiftPendingInput:_,consumePendingInputs:H}=Ha(),[B,X]=Fe(!1),[$,Me]=Fe(t),Te=me(()=>Ei({provider:$.provider,model:$.model,effort:$.effort,effortOverride:$.effortOverride,permissionMode:$.permissionMode,planModeEffort:$.planModeEffort,thinking:$.thinking,reasoningMode:$.reasoningMode}),[$.provider,$.model,$.effort,$.effortOverride,$.permissionMode,$.planModeEffort,$.thinking,$.reasoningMode]),Ie=Te.configuredEffort,Rt=Te.runtimeEffort,Nt=me(()=>({...$,effort:Ie}),[$,Ie]),cn=me(()=>kE(d,{provider:$.provider,model:$.model},Ci),[d,$.provider,$.model]),[Yr,_t]=Fe(!0),[er,rS]=Fe(!0),[Su,wu]=Fe(0),[km,uc]=Fe(!1),[oS,iS]=Fe(void 0),[sS,Em]=Fe([]),[aS,tr]=Fe(null),dc=he(!1),UA=me(()=>Ho(),[]),fc=he(null),Tu=he(null),Mm=he(Promise.resolve()),Cu=he(null),di=he({requested:!1,uiHistoryOverride:void 0}),ls=he(null),pc=he(!1),mc=he(null);De(()=>{let u=e.learning;if(!u)return;let g=!0,x,C=i(async()=>{let D=await u.getSnapshot();return g&&iS(N=>N!==void 0&&N.revision>D.revision?N:D),D},"refresh"),R=i(D=>{dt({source:"repl:learning",level:"warn",message:"Failed to refresh the Learning Center snapshot.",detail:D instanceof Error?D.message:String(D)})},"reportRefreshFailure"),L=i(D=>{if(g){if(D.kind==="ready"||D.kind==="activated"||D.kind==="attention"){let N=D.kind==="ready"?"is ready for review":D.kind==="activated"?"became active":"requires attention";Em(J=>[{id:D.eventId,text:`A learned ${D.carrier} ${N}: ${D.displayName} [/learn]`,tone:D.kind==="activated"?"accent":"warning"},...J.filter(ee=>ee.id!==D.eventId)].slice(0,2))}C().catch(R)}},"onEvent");return C().then(D=>{if(!g)return;let N=Qd(D);if(N){let J=D.attention>0||D.ready>0?"warning":"accent";Em(ee=>[{id:"learning-recovery",text:N,tone:J},...ee.filter(He=>He.id!=="learning-recovery")].slice(0,2))}x=u.subscribe(L,{afterRevision:D.revision})}).catch(R),()=>{g=!1,x?.close()}},[e.learning]);let[hc,Iu]=Fe(!0),[Am,vu]=Fe(""),[Ve,wr]=Fe(()=>XR(UA,{rendererMode:a})),[Bt,_m]=Fe(!1),[GA,VA]=Fe(0),{scrollRef:KA,scrollOffset:nr,sticky:Lm,setScrollOffset:zA,handleScrollTopChange:YA,handleStickyChange:XA,scrollTo:bu,scrollBy:Ru,scrollToBottom:ku}=pE(),Pm=he(null),Eu=he(null),gc=he([]),Mu=he([]),us=he(null),rr=he(null),cS=he({time:0,row:-1,column:-1,count:0}),[Au,$m]=Fe(void 0),[Xr,Om]=Fe(void 0),[ds,lS]=Fe(void 0),[Rn,qA]=Fe(()=>new Set),[Dm,uS]=Fe(null),[Zt,dS]=Fe(null),[z,_u]=Fe(null),[fS,fs]=Fe(null),[Nm,pS]=Fe(null),yc=he(null),xc=G(u=>{yc.current=u,pS(u)},[]),Sc=G(u=>{let g=u(yc.current);yc.current=g,pS(g)},[]),wc=G((u,g)=>{let x=yc.current;return x?.status!=="running"||!w0(u,x.runId)?!1:(xc({...x,message:g}),!0)},[xc]),Bm=G(u=>{if(u.status==="running"){xc({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}Sc(g=>g?.runId===u.runId?null:g)},[xc,Sc]),QA=G(u=>{let g=u.type==="workflow_updated"?u.message:void 0,x=Zc(u.snapshot.goal,u.snapshot.workflowName,u.snapshot.displayName,u.snapshot.latestMessage,g);Bm(EC(u.snapshot,g===void 0?{locale:x}:{locale:x,message:g}))},[Bm]),[Lu,qr]=Fe([]),ps=me(()=>{for(let u of Lu)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}},[Lu]),[oj,Tc]=Fe([]),[Cc,JA]=Fe([]),[Pu,Ct]=Fe(void 0),[fi,Ic]=Fe(void 0),ut=he(null),$u=he(null),pi=he([]),ms=he([]),ln=he([]),Wm=he(new Set),ot=he({}),St=he({activeToolGroupTools:[]}),mS=he(0),Ou=he({itemId:void 0,kind:"thinking",pendingText:""}),or=he(null),ZA=80,e_=20,t_=he(null),Du=me(()=>[...P,...Cc],[P,Cc]),Hm=me(()=>{let u=Lb(Du,t_);return u===0?Du:Du.slice(u)},[Du]),Nu=me(()=>Pb(Hm,e_),[Hm]),hs=Hm,en=he(null),Tr=he(null),Cr=he([]),tn=he([]),[mi,n_]=Fe([]),Qr=he([]),[Fm,r_]=Fe([]),vc=he([]),Hn=G(u=>{Qr.current=u,n_(u)},[]),gs=G(u=>{vc.current=u,r_(u)},[]),jm=G(()=>{gs([])},[gs]),hS=G(u=>{if(!Np(u))return!1;let g=ly(u),x=vc.current.filter(C=>C.id!==g);return x.length===vc.current.length||gs(x),!0},[gs]),Fn=G((u,g,x,C)=>{if(!Np(u))return!1;let R=ly(u),L=vc.current.find(Ue=>Ue.id===R);if(C?.skipIfExisting&&L?.kind===g||b0(L?.kind,g))return!0;let D=C?.append&&L?.kind===g?`${L.detail}${x}`:x||L?.detail||"running",N={id:R,label:C0(u),source:I0(u),status:"running",kind:g,detail:cy(D),startedAt:L?.startedAt??Date.now()},J=vc.current,ee=J.findIndex(Ue=>Ue.id===R),He=ee>=0?J.map((Ue,Yt)=>Yt===ee?N:Ue):[...J,N].slice(0,OH);return gs(He),!0},[gs]),gS=G(u=>{pi.current=u,Tc(u)},[]),ys=G(u=>{ln.current=u,JA(u)},[]),yS=G(u=>{let g=u([...ln.current]);ys(g)},[ys]),xS=G(u=>{u.length!==0&&ys([...ln.current,...u])},[ys]),Bu=G(u=>{let g=St.current,x=g.activeToolGroupTools.some(C=>C.status===j.Executing);St.current={...u?.clearOwner?{}:{workerId:g.workerId,workerTitle:g.workerTitle},...x?{activeToolGroupItemId:g.activeToolGroupItemId,activeToolGroupTools:g.activeToolGroupTools}:{activeToolGroupTools:[]}},u?.clearOwner&&(ot.current={})},[]),Wu=G(u=>{for(let g of u)g.type==="user"&&typeof g.id=="string"&&Wm.current.add(g.id)},[]),bc=G(()=>{Ou.current={itemId:void 0,kind:"thinking",pendingText:""},or.current&&(clearTimeout(or.current),or.current=null);let u=ty(ln.current,Wm.current);if(u.length>0){for(let g of u)Wm.current.add(g.id);ls.current?.(u.map(g=>ci(g)))}Bu({clearOwner:!0}),ys([])},[Bu,ys]),Hu=G(u=>(mS.current+=1,`managed-foreground-${u}-${mS.current}`),[]),Gt=G(u=>(xS([u]),u.id),[xS]),kn=G((u,g)=>{ot.current.workerId?Gt({id:`${g}-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:u.type,text:u.text,...u.icon?{icon:u.icon}:{},...u.tightSpacing?{tightSpacing:!0}:{},timestamp:Date.now()}):K(u)},[K,Gt]),SS=G((u,g)=>{let x=Date.now();ot.current.workerId?Gt({id:`${g}-${x}-${Math.random().toString(36).slice(2,7)}`,type:"sidecar",text:u.text,...u.verdict?{verdict:u.verdict}:{},...u.delivery?{delivery:u.delivery}:{},timestamp:x}):K(u)},[K,Gt]),Jr=G((u,g)=>{if(!u)return;let x;return yS(C=>C.map(R=>R.id!==u?R:(x=g(R),x))),x},[yS]),xs=G((u,g)=>{let x=St.current;if(x.activeKind===u){if(u==="thinking"&&x.activeThinkingItemId)return x.activeThinkingItemId;if(u==="assistant"&&x.activeAssistantItemId)return x.activeAssistantItemId;if(u==="tool_group"&&x.activeToolGroupItemId)return x.activeToolGroupItemId}let C=Date.now(),R=g?.trim()?`[${g.trim()}] `:"",L=x.activeToolGroupTools.some(N=>N.status===j.Executing);if(u==="thinking"){let N=Gt({id:Hu("thinking"),type:"thinking",timestamp:C,text:R});return St.current={...St.current,activeKind:"thinking",activeThinkingItemId:N,currentTurnThinkingItemId:N,activeAssistantItemId:void 0,...L?{}:{activeToolGroupItemId:void 0,activeToolGroupTools:[]}},N}if(u==="assistant"){let N=Gt({id:Hu("assistant"),type:"assistant",timestamp:C,text:R});return St.current={...St.current,activeKind:"assistant",activeThinkingItemId:void 0,activeAssistantItemId:N,...L?{}:{activeToolGroupItemId:void 0,activeToolGroupTools:[]}},N}let D=Gt({id:Hu("tool_group"),type:"tool_group",timestamp:C,tools:[]});return St.current={...St.current,activeKind:"tool_group",activeThinkingItemId:void 0,activeAssistantItemId:void 0,activeToolGroupItemId:D,activeToolGroupTools:[]},D},[Gt,Hu]),ir=G(()=>{or.current&&(clearTimeout(or.current),or.current=null);let u=Ou.current;if(!u.pendingText||!u.itemId)return;let g=u.pendingText,x=u.itemId,C=u.kind;u.pendingText="",Jr(x,R=>R.type!==C?R:{...R,text:`${R.text}${g}`})},[Jr]),wS=G(()=>{or.current||(or.current=setTimeout(ir,ZA))},[ir]),Fu=G((u,g)=>{if(!g)return;let x=St.current;if(u==="assistant"&&!HH(g,x.activeKind==="assistant"&&!!x.activeAssistantItemId))return;let C=x.workerTitle,R=xs(u,C),L=Ou.current;L.itemId===R&&L.kind===u?L.pendingText+=g:(ir(),L.itemId=R,L.kind=u,L.pendingText=g),wS()},[xs,ir,wS]),TS=G(u=>{let g=u.trim();if(!g)return;let x=Ou.current;x.kind==="thinking"&&x.pendingText&&(x.pendingText="",or.current&&(clearTimeout(or.current),or.current=null));let C=St.current.workerTitle?.trim(),R=C?`[${C}] ${g}`:g,L=St.current.currentTurnThinkingItemId;if(L){Jr(L,N=>N.type==="thinking"?{...N,text:R}:N);return}let D=xs("thinking",St.current.workerTitle);Jr(D,N=>N.type==="thinking"?{...N,text:R}:N)},[xs,Jr]),sr=G(u=>{ir();let g=St.current;if(g.activeToolGroupItemId&&g.activeToolGroupTools.some(D=>D.id===u.id)){let D=g.activeToolGroupTools.map(J=>J.id===u.id?u:J),N=D.every(J=>J.status===j.Success||J.status===j.Error||J.status===j.Cancelled);St.current={...g,...N?{activeToolGroupItemId:void 0,activeToolGroupTools:[]}:{activeToolGroupTools:D}},Jr(g.activeToolGroupItemId,J=>J.type==="tool_group"?{...J,tools:D}:J);return}let x=ln.current;for(let D=x.length-1;D>=0;D-=1){let N=x[D];if(N.type!=="tool_group"||!N.tools.some(ee=>ee.id===u.id))continue;let J=N.tools.map(ee=>ee.id===u.id?u:ee);Jr(N.id,ee=>ee.type==="tool_group"?{...ee,tools:J}:ee);return}let C=xs("tool_group",g.workerTitle),L=g.activeKind==="tool_group"&&g.activeToolGroupItemId===C?g.activeToolGroupTools.some(D=>D.id===u.id)?g.activeToolGroupTools.map(D=>D.id===u.id?u:D):[...g.activeToolGroupTools,u]:[u];St.current={...St.current,activeKind:"tool_group",activeToolGroupItemId:C,activeToolGroupTools:L},Jr(C,D=>D.type==="tool_group"?{...D,tools:L}:D)},[xs,Jr,ir]),o_=G(u=>{ir();let g=St.current,x=g.activeToolGroupTools.some(L=>L.status===j.Executing),C=Qr.current.filter(L=>L.status===j.Executing),R=new Set(C.map(L=>L.id));St.current={workerId:u?.workerId,workerTitle:u?.workerTitle,...x?{activeToolGroupItemId:g.activeToolGroupItemId,activeToolGroupTools:g.activeToolGroupTools}:{activeToolGroupTools:[]}},ot.current={workerId:u?.workerId,workerTitle:u?.workerTitle},Cr.current=[],tn.current=tn.current.filter(L=>R.has(L.id)),Hn(C),Ge(),we(void 0),Y(),ne(),je(),Ct(void 0)},[ir,Ge,je,ne,we,Hn,Ct,Y]),i_=G(u=>{if(u.length===0)return[];let g=[],x=[...pi.current],C=[...ms.current];for(let R of u){let L=R.item,D=x.findIndex(N=>N.id===L.id);if(D>=0){let N=x[D];Jp(N,L)||(x=x.map((J,ee)=>ee===D?{...L,timestamp:N.timestamp}:J))}else x=[...x,L].slice(-12),g.push(L);if(R.persistToHistory){let N=C.findIndex(J=>J.id===L.id);if(N>=0){let J=C[N];Jp(J,L)||(C=C.map((ee,He)=>He===N?{...L,timestamp:J.timestamp}:ee))}else C=[...C,L].slice(-48)}}return ms.current=C,(g.length>0||x.some((R,L)=>!Jp(R,pi.current[L]??R)||R.id!==pi.current[L]?.id))&&gS(x),g},[gS]),ju=G(u=>{if(tn.current.findIndex(x=>x.id===u.id)===-1){tn.current=[...tn.current,u];return}tn.current=tn.current.map(x=>x.id===u.id?u:x)},[]),Ro=G(u=>{let g=Qr.current.filter(x=>x.status===j.Executing);if(g.length!==0){if(u){let x=vy(u);for(let C=g.length-1;C>=0;C-=1){let R=g[C];if(vy(R.name)===x)return R}}return g[g.length-1]}},[]),Ss=G(()=>{let u=Ro();we(u?Iy(u.name):void 0)},[Ro,we]),CS=G(u=>(ju(u),Hn([...Qr.current.filter(g=>g.id!==u.id),u]),Ss(),u),[Hn,Ss,ju]),ws=G((u,g)=>{let x=Qr.current.find(R=>R.id===u);if(!x)return null;let C=g(x);return ju(C),Hn(Qr.current.map(R=>R.id===u?C:R)),Ss(),C},[Hn,Ss,ju]),IS=G((u,g,x)=>{if(u){let R=ws(u,x);if(R)return R}let C=Ro(g);return C?ws(C.id,x):null},[Ro,ws]),Uu=G((u,g,x,C,R)=>{let L=u??Ro(R)?.id;return L?ws(L,D=>({...D,status:g,endTime:Date.now(),error:x,output:C})):null},[Ro,ws]),Rc=G((u,g)=>{let x=Date.now(),C=new Map;for(let R of Qr.current){if(R.status!==j.Executing)continue;let L=g(R);C.set(R.id,{...R,status:u,endTime:x,...L})}return C.size===0?[]:(tn.current=tn.current.map(R=>C.get(R.id)??R),Hn(Qr.current.map(R=>C.get(R.id)??R)),Ss(),[...C.values()])},[Hn,Ss]),ko=G(()=>{Hn([])},[Hn]),{showHelp:vS,toggleHelp:s_,setShowHelp:bS}=Ay(),a_=G(u=>{vu(u),Iu(u.trim().length===0)},[]),Gu=qo(),RS=me(()=>Gu?Gu.state.visible&&Gu.suggestions.length>0:!1,[Gu]),[kc,kS]=Fe(!1),ES=he(Su),hi=G(()=>{en.current&&(clearTimeout(en.current),en.current=null),Tr.current&&(clearTimeout(Tr.current),Tr.current=null)},[]);De(()=>{RS&&!kc&&kS(!0)},[RS,kc]),De(()=>{Su!==ES.current&&(ES.current=Su,kc&&kS(!1))},[Su,kc]);let[ze,Ec]=Fe(null),Zr=he(null),c_=he(yR()),[Be,ar]=Fe(null),Vu=he(null),Ku=he(Be);Ku.current=Be;let[un,Ts]=Fe(""),[zu,cr]=Fe(0),Um=he(""),Mc=he(void 0),MS=me(()=>{if(!cn)return;let{contextWindow:u,triggerPercent:g,triggerTokens:x,reservedResponseTokens:C}=cn;return{currentTokens:aS??n.contextTokenSnapshot?.currentTokens??Ii(n.messages),contextWindow:u,triggerPercent:g,triggerTokens:x,reservedResponseTokens:C}},[n.messages,n.contextTokenSnapshot,cn,aS]),Ac=me(()=>{if(!ze)return;let u=new Set(ze.runtimeGrantSuggestions?.map(C=>C.kind)??[]);if(u.has("persistent"))return re("confirm.instruction.runtime_persistent");if(u.has("session"))return re("confirm.instruction.runtime_session");if(ze.runtimeGrantSuggestions!==void 0)return re("confirm.instruction.basic");let g=!!ze.input._alwaysConfirm,x=$.permissionMode==="accept-edits"&&!g;return g?re("confirm.instruction.protected"):x?re("confirm.instruction.always"):re("confirm.instruction.basic")},[ze,$.permissionMode]),mt=Ve.searchMode==="history",se=Ve.surface==="transcript",Ir=!!ze||!!Be||mt,Lt=se?Bt?Cb:1e3:12,Eo=KE(c,Ve.surface),AS=Eo.shellMode,Gm=Eo.usesAlternateScreenShell,gi=Eo.usesRendererViewportShell,Yu=Eo.usesRendererMouseTracking,_S=Eo.usesManagedMouseClicks,LS=Eo.usesManagedMouseWheel,Vm=Eo.usesManagedSelection,Pt=zE(c,Ve.surface,ik(Ve)),PS=sk(Ve),Xu=kc&&!se,$S=G(()=>lx({items:hs,managedLiveEvents:[],isLoading:B,isThinking:W.isThinking,thinkingCharCount:W.thinkingCharCount,thinkingContent:W.thinkingContent,currentResponse:W.currentResponse,currentTool:W.currentTool,activeToolCalls:mi,toolInputCharCount:W.toolInputCharCount,toolInputContent:W.toolInputContent,lastLiveActivityLabel:Pu,workStripText:fi,iterationHistory:W.iterationHistory,currentIteration:W.currentIteration,isCompacting:W.isCompacting}),[hs,B,W.isThinking,W.thinkingCharCount,W.thinkingContent,W.currentResponse,W.currentTool,mi,W.toolInputCharCount,W.toolInputContent,Pu,fi,W.iterationHistory,W.currentIteration,W.isCompacting]);De(()=>{if(se){uS(u=>u??$S());return}uS(null)},[$S,se]);let _c=me(()=>jE({isTranscriptMode:se,snapshot:Dm,currentItemsLength:hs.length,currentManagedLiveEventsLength:0,isLoading:B,currentResponse:W.currentResponse,thinkingContent:W.thinkingContent,activeToolCallsLength:mi.length}),[mi.length,B,se,hs.length,W.currentResponse,W.thinkingContent,Dm]),Vt=se?Dm:null,Km=me(()=>GE(Nu),[Nu]),l_=me(()=>!!(Cc.length>0||tM(z)),[Cc.length,z]),qu=Cc.length>0,nn=c.streamingPreview&&l_,Cs=me(()=>UE({surface:"transcript",snapshot:Vt,promptItems:Nu,transcriptItems:hs}),[Vt,Nu,hs]),Lc=me(()=>{if(!se||Bt||Cs.length<=Gg)return Cs;let u=Cs.slice(-Gg),g=Cs.length-u.length;return[Db(g,u[0]?.timestamp),...u]},[Cs,se,Bt]),ht=Vt?.isLoading??B,at=c.streamingPreview?{isThinking:nn?!1:W.isThinking,thinkingCharCount:nn?0:W.thinkingCharCount,thinkingContent:nn?"":W.thinkingContent,currentResponse:nn?"":W.currentResponse,currentTool:nn?void 0:W.currentTool,activeToolCalls:nn?[]:mi,toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:nn?Pu:void 0,iterationHistory:[],currentIteration:W.currentIteration,isCompacting:!1}:{isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentResponse:"",currentTool:void 0,activeToolCalls:[],toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:void 0,iterationHistory:[],currentIteration:W.currentIteration,isCompacting:!1},ve=c.streamingPreview?{isThinking:nn?!1:Vt?.isThinking??W.isThinking,thinkingCharCount:nn?0:Vt?.thinkingCharCount??W.thinkingCharCount,thinkingContent:nn?"":Vt?.thinkingContent??W.thinkingContent,currentResponse:nn?"":Vt?.currentResponse??W.currentResponse,currentTool:nn?void 0:Vt?.currentTool??W.currentTool,activeToolCalls:nn?[]:Vt?.activeToolCalls??mi,toolInputCharCount:nn?0:Vt?.toolInputCharCount??W.toolInputCharCount,toolInputContent:nn?"":Vt?.toolInputContent??W.toolInputContent,managedLiveEvents:[],lastLiveActivityLabel:Vt?.lastLiveActivityLabel??Pu,iterationHistory:nn?[]:Vt?.iterationHistory??W.iterationHistory,currentIteration:Vt?.currentIteration??W.currentIteration,isCompacting:Vt?.isCompacting??W.isCompacting}:{isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentResponse:"",currentTool:void 0,activeToolCalls:[],toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:void 0,iterationHistory:[],currentIteration:Vt?.currentIteration??W.currentIteration,isCompacting:!1},eo=se?Xr:Au,OS=!!Au,DS=G(()=>lx({items:Km,managedLiveEvents:[],isLoading:B,isThinking:at.isThinking,thinkingCharCount:at.thinkingCharCount,thinkingContent:at.thinkingContent,currentResponse:at.currentResponse,currentTool:at.currentTool,activeToolCalls:at.activeToolCalls,toolInputCharCount:at.toolInputCharCount,toolInputContent:at.toolInputContent,lastLiveActivityLabel:at.lastLiveActivityLabel,iterationHistory:at.iterationHistory,currentIteration:at.currentIteration,isCompacting:at.isCompacting}),[B,Km,at.activeToolCalls,at.currentIteration,at.currentResponse,at.currentTool,at.isCompacting,at.isThinking,at.iterationHistory,at.lastLiveActivityLabel,at.thinkingCharCount,at.thinkingContent,at.toolInputCharCount,at.toolInputContent]);De(()=>{if(!OS){dS(null);return}dS(u=>u??DS())},[DS,OS]);let Pc=Zt?.items??Km,dn=Zt?.isLoading??B,Oe=Zt?{isThinking:Zt.isThinking,thinkingCharCount:Zt.thinkingCharCount,thinkingContent:Zt.thinkingContent,currentResponse:Zt.currentResponse,currentTool:Zt.currentTool,activeToolCalls:Zt.activeToolCalls,toolInputCharCount:Zt.toolInputCharCount,toolInputContent:Zt.toolInputContent,managedLiveEvents:Zt.managedLiveEvents,lastLiveActivityLabel:Zt.lastLiveActivityLabel,iterationHistory:Zt.iterationHistory,currentIteration:Zt.currentIteration,isCompacting:Zt.isCompacting}:at,Kt=se?Lc:Pc,vr=se?ht:dn,Qe=se?ve:Oe,NS=dn&&!W.currentResponse&&!W.thinkingContent&&mi.length===0,u_=kl(Nm?.status==="running"),Wt=me(()=>AC(Nm,Date.now()),[Nm,u_]),BS=Wt.shouldRender?`Workflow ${Wt.workflow}${Wt.phase?` - ${Wt.phase}`:""}`:void 0,br=me(()=>mR(Lu,{now:Date.now(),lastAllCompletedAt:null}),[Lu]),WS=w<=20?1:ay,d_=kl(Fm.length>0),zm=me(()=>R0(Fm,WS,Date.now()),[WS,Fm,d_]),HS=T0({isTranscriptMode:se,isLoading:B,hasWorkflowLiveSurface:Wt.shouldRender,childActivityVisible:zm.shouldRender}),Is=me(()=>{if(!se)return[];let u=[];return u.push(...MC(Wt)),B&&br.shouldRender&&u.push(...dR(br)),u},[se,B,br,Wt]),yi=me(()=>({config:Nt,sessionId:n.sessionId,workingDir:e.context?.executionCwd||e.context?.gitRoot||n.runtimeInfo?.executionCwd||n.gitRoot||process.cwd(),terminalWidth:Q,compactionInfo:cn??void 0}),[cn,n.sessionId,Nt,n.runtimeInfo?.executionCwd,e.context?.gitRoot,e.context?.executionCwd,Q]),Mo=me(()=>c.enabled&&er?XH(yi):void 0,[yi,c.enabled,er]),FS=he(Ja),jS=he(!1),Ym=he(!1),vs=qk({enabled:qH,useRendererViewportShell:gi,isTranscriptMode:se,hasCommitHandle:typeof Gi(T)?.commitInlineScrollback=="function"}),$c=me(()=>up({items:Pc,viewportWidth:Q,maxLines:Lt,showDetailedTools:!1,showAllContent:!1,windowed:!1}),[Pc,Q,Lt]),xi=me(()=>{let u=dp({activeItems:$c.activeItems,viewportWidth:Q,isLoading:dn,maxLines:Lt,isThinking:Oe.isThinking,thinkingCharCount:Oe.thinkingCharCount,thinkingContent:Oe.thinkingContent,streamingResponse:Oe.currentResponse,currentTool:Oe.currentTool,activeToolCalls:Oe.activeToolCalls,toolInputCharCount:Oe.toolInputCharCount,toolInputContent:Oe.toolInputContent,iterationHistory:Oe.iterationHistory,currentIteration:Oe.currentIteration,isCompacting:Oe.isCompacting,managedAgentMode:$.agentMode,managedPhase:dn?z?.phase:void 0,managedHarnessProfile:dn?z?.harnessProfile:void 0,managedWorkerTitle:dn?z?.activeWorkerTitle:void 0,managedRound:dn?z?.currentRound:void 0,managedMaxRounds:dn?z?.maxRounds:void 0,managedGlobalWorkBudget:dn?z?.globalWorkBudget:void 0,managedBudgetUsage:dn?z?.budgetUsage:void 0,managedBudgetApprovalRequired:dn?z?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Oe.lastLiveActivityLabel,currentTodoActiveForm:ps,showFullThinking:!1,showDetailedTools:!1,showAllContent:!1,showLiveProgressRows:NS}),g=kb($c,u,Mo);return Zk(g,vs)},[$.agentMode,vs,dn,Oe.activeToolCalls,Oe.currentIteration,Oe.currentTool,Oe.isCompacting,Oe.currentResponse,Oe.isThinking,Oe.iterationHistory,Oe.lastLiveActivityLabel,Oe.thinkingCharCount,Oe.thinkingContent,Oe.toolInputCharCount,Oe.toolInputContent,z?.activeWorkerTitle,z?.budgetApprovalRequired,z?.budgetUsage,z?.currentRound,z?.globalWorkBudget,z?.harnessProfile,z?.maxRounds,z?.phase,NS,$c,Mo,Q,Lt,ps]),Xm=me(()=>up({items:Lc,viewportWidth:Q,maxLines:Lt,showDetailedTools:Bt,showAllContent:Bt,showFullThinking:!0,windowed:!1}),[Lc,Q,Lt,Bt]),Qu=me(()=>{if(!se||gi)return;let u=dp({activeItems:Xm.activeItems,viewportWidth:Q,isLoading:ht,maxLines:Lt,isThinking:ve.isThinking,thinkingCharCount:ve.thinkingCharCount,thinkingContent:ve.thinkingContent,streamingResponse:ve.currentResponse,currentTool:ve.currentTool,activeToolCalls:ve.activeToolCalls,toolInputCharCount:ve.toolInputCharCount,toolInputContent:ve.toolInputContent,iterationHistory:ve.iterationHistory,currentIteration:ve.currentIteration,isCompacting:ve.isCompacting,managedAgentMode:$.agentMode,managedPhase:ht?z?.phase:void 0,managedHarnessProfile:ht?z?.harnessProfile:void 0,managedWorkerTitle:ht?z?.activeWorkerTitle:void 0,managedRound:ht?z?.currentRound:void 0,managedMaxRounds:ht?z?.maxRounds:void 0,managedGlobalWorkBudget:ht?z?.globalWorkBudget:void 0,managedBudgetUsage:ht?z?.budgetUsage:void 0,managedBudgetApprovalRequired:ht?z?.budgetApprovalRequired:void 0,lastLiveActivityLabel:ve.lastLiveActivityLabel,liveStatusLines:Is,currentTodoActiveForm:ps,showFullThinking:!0,showDetailedTools:Bt,showAllContent:Bt,showLiveProgressRows:!qu,expandedItemKeys:Rn});return oM(Ug(fp(Xm,u)),Mo)},[$.agentMode,Rn,qu,Mo,se,z?.activeWorkerTitle,z?.budgetApprovalRequired,z?.budgetUsage,z?.currentRound,z?.globalWorkBudget,z?.harnessProfile,z?.maxRounds,z?.phase,Q,ht,Lt,Xm,ve.activeToolCalls,ve.currentIteration,ve.currentResponse,ve.currentTool,ve.isCompacting,ve.isThinking,ve.iterationHistory,ve.lastLiveActivityLabel,ve.thinkingCharCount,ve.thinkingContent,ve.toolInputCharCount,ve.toolInputContent,Bt,Is,gi,ps]),Oc=me(()=>{if(Pt)return se?oM(pp({items:Kt,viewportWidth:Q,isLoading:vr,maxLines:Lt,isThinking:Qe.isThinking,thinkingCharCount:Qe.thinkingCharCount,thinkingContent:Qe.thinkingContent,streamingResponse:Qe.currentResponse,currentTool:Qe.currentTool,activeToolCalls:Qe.activeToolCalls,toolInputCharCount:Qe.toolInputCharCount,toolInputContent:Qe.toolInputContent,iterationHistory:Qe.iterationHistory,currentIteration:Qe.currentIteration,isCompacting:Qe.isCompacting,managedAgentMode:$.agentMode,managedPhase:vr?z?.phase:void 0,managedHarnessProfile:vr?z?.harnessProfile:void 0,managedWorkerTitle:vr?z?.activeWorkerTitle:void 0,managedRound:vr?z?.currentRound:void 0,managedMaxRounds:vr?z?.maxRounds:void 0,managedGlobalWorkBudget:vr?z?.globalWorkBudget:void 0,managedBudgetUsage:vr?z?.budgetUsage:void 0,managedBudgetApprovalRequired:vr?z?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Qe.lastLiveActivityLabel,liveStatusLines:Is,currentTodoActiveForm:ps,windowed:!0,showFullThinking:se,showDetailedTools:Bt,showAllContent:Bt,showLiveProgressRows:se&&!qu,expandedItemKeys:se?Rn:void 0}),Mo):Ug(xi)},[$.agentMode,vr,Kt,qu,Mo,Qe.activeToolCalls,Qe.currentIteration,Qe.currentResponse,Qe.currentTool,Qe.isCompacting,Qe.isThinking,Qe.iterationHistory,Qe.lastLiveActivityLabel,Qe.thinkingCharCount,Qe.thinkingContent,Qe.toolInputCharCount,Qe.toolInputContent,Rn,se,z?.activeWorkerTitle,z?.budgetApprovalRequired,z?.budgetUsage,z?.currentRound,z?.globalWorkBudget,z?.harnessProfile,z?.maxRounds,z?.phase,xi,B,se,Q,Lt,Pt,Is,Bt,ps]),Rr=me(()=>Oc??Qu,[Oc,Qu]),Dc=me(()=>cx({status:z,isLoading:B,agentMode:$.agentMode}),[$.agentMode,B,z]).workStripText,Nc=Vt?.workStripText??fi,bs=me(()=>cx({status:z,isLoading:B,agentMode:$.agentMode,parallelTextOverride:Nc}),[$.agentMode,Nc,B,z]),Si=me(()=>iE(Kt).filter(u=>u!==mp),[Kt]),it=me(()=>im(Ve,Si,Ve.selectedItemId),[Si,Ve]),En=me(()=>Kt.find(u=>u.id===it),[Kt,it]),US=me(()=>({...Ve,supportsSelection:Ve.supportsSelection&&Pt,supportsCopyOnSelect:Ve.supportsCopyOnSelect&&Pt}),[Ve,Pt]),jn=me(()=>ME({state:US,selectableItemIds:Si,selectedItemId:it,selectedItemType:En?.type,isExpanded:it?Rn.has(it):!1}),[Rn,Si,En?.type,it,US]),GS=jn.selectionEnabled,VS=jn.copyCapabilities.copyOnSelect,aj=jn.selectedItemIndex,KS=me(()=>oE(En),[En]),Ju=me(()=>eE(Kt.filter(u=>!Kg(u))),[Kt]),Ht=me(()=>tE(Ju,un),[Ju,un]),Zu=me(()=>LE({isHistorySearchActive:mt,historySearchQuery:un,matches:Ht,selectedIndex:zu,anchorItemId:Ve.searchAnchorItemId,useOverlaySurface:Ve.supportsOverlaySurface&&Ve.supportsSearchViewport&&Pt}),[Ht,un,zu,mt,Ve.searchAnchorItemId,Ve.supportsOverlaySurface,Ve.supportsSearchViewport,Pt]),Ao=Zu.clampedSelectedIndex,zS=Zu.statusText,qm=Zu.detailText,YS=Zu.searchState,cj=jn.detailState==="expanded",ed=jn.selectionEnabled&&Si.length>0&&!eo,Rs=jn.copyCapabilities.message,td=jn.copyCapabilities.toolInput,nd=jn.toggleDetail;De(()=>{if(Dc){if(Tr.current&&(clearTimeout(Tr.current),Tr.current=null),fi===Dc)return;if(fi){en.current&&(clearTimeout(en.current),en.current=null),Ic(Dc);return}en.current&&clearTimeout(en.current),en.current=setTimeout(()=>{Ic(Dc),en.current=null},400);return}if(!fi){en.current&&(clearTimeout(en.current),en.current=null);return}en.current&&(clearTimeout(en.current),en.current=null),Tr.current&&clearTimeout(Tr.current),Tr.current=setTimeout(()=>{Ic(void 0),Tr.current=null},300)},[hi,Dc,fi]),De(()=>()=>{hi()},[hi]);let _o=me(()=>lE({state:Ve,ownsViewport:Pt,isAwaitingUserInteraction:Ir,isHistorySearchActive:mt,isTranscriptMode:se,historySearchQuery:un}),[un,Ir,mt,se,Ve,Pt]);De(()=>{wr(u=>{let g=ZR(u,nr);return g=JR(g,_c),g=tk(g,c.enabled&&Pt?!Lm||mt||Ir:se||mt||Ir),g=ok(g,Ao),g})},[Ao,c.enabled,nr,Ir,mt,se,_c,Pt,Lm]),De(()=>{zu!==Ao&&cr(Ao)},[Ao,zu]),De(()=>{if(!mt){Um.current=un;return}if(un===Um.current)return;Um.current=un;let u=rE(Ju,Ht,Ve.searchAnchorItemId);cr(u)},[Ht,un,mt,Ve.searchAnchorItemId,Ju]);let XS=se?ve:{isThinking:Oe.isThinking,thinkingCharCount:Oe.thinkingCharCount,currentTool:Oe.currentTool,activeToolCalls:Oe.activeToolCalls,toolInputCharCount:Oe.toolInputCharCount,toolInputContent:Oe.toolInputContent,currentIteration:Oe.currentIteration,isCompacting:Oe.isCompacting},Bc=se?ht:dn,[Qm,Un]=Fe(()=>os($.permissionMode,e.runtimeAutoModeControl?void 0:f.getGuardrail().getEngine(),s.engine));De(()=>{if(!e.runtimeAutoModeControl){zn($.permissionMode)||Un(void 0);return}if(!zn($.permissionMode)){Un(void 0),e.runtimeAutoModeControl.syncSettings?.(n.sessionId,$.permissionMode,s);return}Un(C=>os($.permissionMode,C,s.engine));let u=!0;i(async()=>{let C=await e.runtimeAutoModeControl?.syncSettings?.(n.sessionId,$.permissionMode,s)??await e.runtimeAutoModeControl?.getStats(n.sessionId);u&&Un(os($.permissionMode,C?.engine,s.engine))},"refresh")();let x=e.runtimeAutoModeControl.subscribe?.(n.sessionId,C=>{u&&Un(os($.permissionMode,C?.engine,s.engine))});return()=>{u=!1,x?.close()}},[s,n.sessionId,$.permissionMode,e.runtimeAutoModeControl]);let rd=me(()=>EE({sessionId:n.sessionId,permissionMode:$.permissionMode,agentMode:$.agentMode,provider:$.provider,model:$.model??Ar($.provider)??$.provider,thinking:$.thinking,reasoningMode:$.reasoningMode,effort:Ie,reasoningEffortLabel:$o({provider:$.provider,model:$.model,effort:Ie,effortOverride:$.effortOverride,thinking:$.thinking,reasoningMode:$.reasoningMode}),isTranscriptMode:se,streamingState:XS,maxIter:W.maxIter,contextUsage:MS,learning:oS,isLoading:Bc,managedState:{phase:z?.phase,harnessProfile:z?.harnessProfile,workerTitle:z?.activeWorkerTitle,round:z?.currentRound,maxRounds:z?.maxRounds,globalWorkBudget:z?.globalWorkBudget,budgetUsage:z?.budgetUsage,budgetApprovalRequired:z?.budgetApprovalRequired,idleWaiting:z?.idleWaiting,idleWaitingPendingCount:z?.idleWaitingPendingCount},autoModeEngine:Qm}),[n.sessionId,$.permissionMode,$.agentMode,$.provider,$.model,$.thinking,$.reasoningMode,$.effortOverride,Ie,se,XS,W.maxIter,MS,oS,Bc,z?.phase,z?.harnessProfile,z?.activeWorkerTitle,z?.currentRound,z?.maxRounds,z?.globalWorkBudget,z?.budgetUsage,z?.budgetApprovalRequired,z?.idleWaiting,z?.idleWaitingPendingCount,Qm]),Jm=ze?"confirm":Be?.kind,qS=me(()=>RE({isTranscriptMode:se,isLoading:Bc,streamingState:Oe,managedState:Bc?{phase:z?.phase,harnessProfile:z?.harnessProfile,workerTitle:z?.activeWorkerTitle}:void 0,waitingReason:Jm,workflowBuilderMessage:fS??void 0,backgroundWorkflowMessage:BS}),[Oe.activeToolCalls,Oe.currentTool,Oe.isCompacting,Oe.isThinking,Oe.thinkingCharCount,Oe.toolInputCharCount,Oe.toolInputContent,se,z?.activeWorkerTitle,z?.harnessProfile,z?.phase,Jm,Bc,fS,BS]),to=vE({activity:qS})?qS:void 0,QS=to?.text,JS=!!to,ZS=he(!1);De(()=>{ZS.current&&!B&&qr(u=>u.length>0?[]:u),ZS.current=B},[B]);let Zm=me(()=>Sp(rd),[rd]),ew=me(()=>Zm,[Zm]),tw=ew.text,f_=me(()=>p0(W.pendingInputs),[W.pendingInputs]),eh=me(()=>hR({isHistorySearchActive:mt,isTranscriptMode:se,pendingInputCount:W.pendingInputs.length,buffering:Ve.buffering,pendingLiveUpdates:_c}),[mt,se,_c,W.pendingInputs.length,Ve.buffering]),nw=eh.leftItems,rw=eh.rightItems,ow=eh.summary,od=me(()=>$E({historySearchQuery:un,pendingInputCount:W.pendingInputs.length}),[un,W.pendingInputs.length]),id=me(()=>[...PE({historySearchQuery:un,isHistorySearchActive:mt,historySearchMatchCount:Ht.length,pendingInputCount:W.pendingInputs.length,maxPendingInputs:5}),...sS],[Ht.length,un,mt,sS,W.pendingInputs.length]),iw=me(()=>id.map(u=>u.text).join(" | "),[id]),sd=me(()=>OE({inputText:Am,isTranscriptMode:se,isHistorySearchActive:mt}),[Am,mt,se]),sw=Ve.supportsOverlaySurface&&Ve.supportsSearchViewport&&Pt,ad=me(()=>AE({runtime:jn,itemSummary:KS}),[KS,jn]),th=me(()=>DE(od),[od]),aw=me(()=>NE({textSelection:eo,selectionState:ad,isHistorySearchActive:mt,historySearchDetailText:qm,historySearchHasMatches:!!zS&&Ht.length>0,showAllActive:Bt,baseFooterNotices:od}),[eo,od,qm,Ht.length,zS,mt,Bt,ad]),p_=aw.secondaryText,m_=aw.budgetNotices,cw=se?m_:th,lw=w,uw=se?"":Am,dw=se?void 0:f_,fw=Nc,pw=se?!1:vS,mw=Wt.shouldRender?lR(Wt):0,hw=B&&br.shouldRender?br.rows.length:0,gw=HS?Bp(zm):0,zt=me(()=>YR({terminalRows:lw,terminalWidth:Q,windowedTranscript:gi,inputText:uw,footerHeaderText:ow,activitySummary:se?void 0:QS,activityBarVisible:se?!1:JS,workflowSurfaceRows:se?0:mw,childActivitySurfaceRows:se?0:gw,todoSurfaceRows:se?0:hw,pendingInputSummary:dw,stashNoticeSummary:sd,notificationSummary:iw,statusNoticeSummary:cw.join(" | "),workStripText:fw,suggestionsReserved:Xu,suggestionsMode:"inline",showHelp:pw,statusBarText:tw,confirmPrompt:ze?.prompt,confirmInstruction:Ac,dialogMode:"inline",reviewHint:c.enabled&&Pt?void 0:_o.browseHintText,uiRequest:Be?Be.kind==="select"?{kind:"select",title:Be.title,options:Be.options.map(u=>({label:u.label,description:u.description})),buffer:Be.buffer,error:Be.error}:{kind:"input",prompt:Be.prompt,defaultValue:Be.defaultValue,buffer:Be.buffer,error:Be.error}:null}),[lw,Q,uw,ow,QS,JS,se,mw,gw,hw,dw,sd,iw,cw,fw,Xu,sw,pw,tw,ze,Ac,c.enabled,_o.browseHintText,Pt,Be]),nh=me(()=>{if(!vs)return{model:xi,committedSections:[]};let{committedSections:u,liveRows:g}=Eb($c.staticSections,xi.rows,xi.previewRows,zt.messageRows);return{model:{...xi,staticSections:[],rows:g,previewRows:[]},committedSections:u}},[vs,xi,$c.staticSections,zt.messageRows]),yw=nh.model;De(()=>{let u=Gi(T),g=typeof u?.commitInlineScrollback=="function",x=Qk({active:vs,hasCommitHandle:g,wasActive:jS.current,forceRebuild:Ym.current,prior:FS.current,finalizedSections:nh.committedSections,bannerSection:Mo,width:Q,identify:Mb}),C=!1,R=!1;if(x.kind==="commit"){let D=x.sections.flatMap(J=>J.rows),N=Xk(D.length>0?[{key:"il-delta",rows:D}]:[],{width:Q,theme:oe("dark")});if(R=N.length>0,x.mode==="append"&&!N)iM("empty-append-text");else try{u?.commitInlineScrollback?.({mode:x.mode,text:N}),C=!0}catch(J){iM("commit-threw",J)}}let L=Jk(x,{committed:C,hadContent:R},Ym.current);FS.current=L.state,jS.current=L.wasActive,Ym.current=L.owns},[vs,nh.committedSections,Mo,Q,T]);let h_=me(()=>ce(Pp,{reserveSpace:Xu,width:Q,hidden:se,mode:"inline"}),[Xu,Q,se,sw]),Wc=me(()=>uE(zt.messageRows),[zt.messageRows]),xw=me(()=>dE(Wc),[Wc]),ks=!PS&&c.transcriptSpinnerAnimation,Hc=Rr?Rr.rows.length+Rr.previewRows.length:GA,cd=G(u=>{Rr||VA(u.scrollHeight)},[Rr]),Fc=G(u=>yE({window:u,stickyHeader:_o.stickyHeader,width:Q,topChromeRows:0}),[Q,_o.stickyHeader]),Es=G((u=gc.current,g=Mu.current,x=Pm.current?Fc(Pm.current):Eu.current)=>{if(!x||u.length===0){us.current=null;return}Eu.current=x,us.current=xE(u,{allRows:g,rowIndexByKey:nx(g),topOffsetRows:x.topOffsetRows,viewportHeight:x.contentWindow.viewportHeight,animateSpinners:ks})},[Fc,ks]),jc=G(()=>{let u=Eu.current;return u?.contentWindow.viewportHeight&&u.contentWindow.viewportHeight>0?u.contentWindow.viewportHeight:zt.messageRows},[zt.messageRows]),g_=G(u=>{Pm.current=u;let g=Fc(u);Eu.current=g,Es(gc.current,Mu.current,g)},[Es,Fc]),ld=G(u=>{gc.current=u.rows,Mu.current=u.allRows,Es(u.rows,u.allRows)},[Es]),rn=G(()=>{rr.current=null,$m(void 0),Om(void 0)},[]),rh=G(()=>{rn(),wr(u=>Qa(u,void 0))},[rn]);De(()=>{Es()},[Es]),De(()=>{zA(u=>fE(u,Hc,zt.messageRows))},[Hc,zt.messageRows]),De(()=>{if(!ds)return;let u=setTimeout(()=>{lS(void 0)},2e3);return()=>{clearTimeout(u)}},[ds]);let Mn=G((u,g="success")=>{let x=u?.trim();x&&lS({text:x,tone:g})},[]);De(()=>e.subscribeTransientNotices?.(u=>{Mn(u.text,u.tone)}),[e.subscribeTransientNotices,Mn]);let y_=G(u=>{Mn(u,"warning")},[Mn]),Ms=G((u,g)=>{let x=g instanceof Error?g.message:String(g);return`${u}: ${x}`},[]),ud=G(async u=>{let g=u??eo;if(!g)return!1;let x=g.text.trimEnd();if(!x)return!1;try{return await Jc(x,{terminalWrite:k}),Mn(`Copied ${g.rowCount} selected line${g.rowCount===1?"":"s"} to clipboard.`,"success"),!0}catch(C){return Mn(Ms("Failed to copy transcript selection",C),"warning"),!1}},[eo,Ms,Mn,k]),As=G(u=>{if(!u||mE({items:Kt,renderModel:Rr,terminalWidth:Q,transcriptMaxLines:Lt,viewportRows:jc(),itemId:u,visibleRows:gc.current,expandedItemKeys:Rn,showDetailedTools:!1}))return;let g=hE({items:Kt,renderModel:Rr,terminalWidth:Q,transcriptMaxLines:Lt,viewportRows:jc(),itemId:u,expandedItemKeys:Rn,showDetailedTools:!1});bu(g)},[Kt,Q,Lt,Rr,Rn,jc,bu,gc]),Sw=G(u=>{wr(g=>Qa(g,u)),u&&As(u)},[As]),oh=G(u=>{u&&As(u)},[As]),ww=G(u=>{if(!ed)return;let g=sE(Si,it,u);g&&Sw(g)},[ed,Si,it,Sw]),Tw=G(()=>{!nd||!it||(qA(u=>{let g=new Set(u);return g.has(it)?g.delete(it):g.add(it),g}),As(it))},[As,nd,it]),Cw=G(async()=>{if(!Rs||!En)return;let u=tx(En);if(u)try{await Jc(u,{terminalWrite:k}),Mn("Copied selected transcript entry to clipboard.","success")}catch(g){Mn(Ms("Failed to copy transcript entry",g),"warning")}},[Ms,Rs,En,Mn,k]),Iw=G(async()=>{if(!td||!En)return;let u=aE(En);if(u)try{await Jc(u,{terminalWrite:k}),Mn("Copied selected tool args to clipboard.","success")}catch(g){Mn(Ms("Failed to copy tool args",g),"warning")}},[Ms,td,En,Mn,k]),Uc=G(()=>Mu.current,[]),vw=G((u,g)=>{if(!c.enabled||!Pt)return;let x=us.current;return x?ox(x,u,g):void 0},[c.enabled,Pt]),_s=G((u,g,x)=>{let C=Uc(),R=TE(C,u,g,{animateSpinners:ks,selectFullRowOnCollapsed:x?.selectFullRowOnCollapsed});se?Om(R):$m(R);let L=C[Math.max(0,Math.min(g.modelRowIndex,C.length-1))];return x?.updateSelectedItem&&L?.itemId&&wr(D=>Qa(D,L.itemId)),R},[se,Uc,ks]),bw=G((u,g)=>{if(!u)return;rr.current=null;let x={...u,focus:g?.focusPoint??u.focus};if(!(x.mode!=="char"||x.didDrag)){rn();return}let R=_s(x.anchor,x.focus,{selectFullRowOnCollapsed:!1,updateSelectedItem:!1});if(!R){rn();return}return g?.copySelection!==!1&&ud(R),R},[rn,ud,_s]),ih=G(()=>{if(!se||!Kt.length||ze||Be)return;rn();let u=gE({items:Kt,selectedItemId:it,renderModel:Rr,terminalWidth:Q,transcriptMaxLines:Lt,viewportRows:jc(),scrollOffset:nr,expandedItemKeys:Rn,showDetailedTools:!1,preferViewportAnchor:!0});wr(g=>nk(g,{anchorItemId:u,initialMatchIndex:0})),Ts(""),cr(0)},[ze,Kt,Rn,nr,se,it,Rr,Q,Lt,Be,jc,rn]),sh=G(()=>{wr(u=>rk(u)),Ts(""),cr(0),rn()},[rn]),dd=G(()=>{!mt||Ht.length===0||cr(-1)},[Ht.length,mt]),Rw=me(()=>{if(!ze)return null;if(ze.tool==="exit_plan_mode"){let u=typeof ze.input.plan=="string"?ze.input.plan:void 0;return{prompt:ze.prompt.split(`
|
|
141
|
+
`,1)[0]??ze.prompt,instruction:Ac,planContent:u}}return{prompt:ze.prompt,instruction:Ac}},[Ac,ze]),kw=me(()=>Be?Be.kind==="select"?{kind:"select",title:Be.title,options:Be.options,buffer:Be.buffer,error:Be.error,visibleSelectOptions:zt.visibleSelectOptions,focusedIndex:Be.focusedIndex,selectedIndices:Be.selectedIndices,multiSelect:Be.multiSelect}:{kind:"input",prompt:Be.prompt,defaultValue:Be.defaultValue,buffer:Be.buffer,error:Be.error}:null,[Be,zt.visibleSelectOptions]),x_=me(()=>ce($p,{confirm:Rw,request:kw}),[Rw,kw]),ah=me(()=>{if(ds)return ce(sR,{text:ds.text,tone:ds.tone})},[ds]),ch=me(()=>{if(ah)return ce(E,{flexDirection:"column",width:"100%",children:ah})},[ah]),fd=G(()=>{wr(u=>ek(QR(u))),_m(!1),ku(),Ts(""),cr(0),rn()},[rn,ku]),Ew=G(()=>{se&&_m(u=>!u)},[se]),S_=G(()=>{if(se){fd();return}_m(!1),wr(u=>qR(u)),Ts(""),cr(0),rn()},[rn,fd,se]);De(()=>{GS||!Ve.selectedItemId||wr(u=>Qa(u,void 0))},[GS,Ve.selectedItemId]),De(()=>{if(!se||!Rs||!VS){Mc.current=void 0;return}if(Xr||!it||!En)return;if(!Mc.current){Mc.current=it;return}if(Mc.current===it)return;Mc.current=it;let u=tx(En);u&&Jc(u,{terminalWrite:k}).catch(()=>{})},[se,En,it,Rs,VS,Xr,k]),De(()=>{if(T?.isTTY!==!0)return;let u=Gi(T);u?.setShellMode?.(AS,Yu),Gm||u?.setAltScreenActive?.(!1)},[AS,T,Gm,Yu]);let w_=me(()=>gR(o,()=>Mm.current),[o]),Le=he({...e,thinking:$.thinking,reasoningMode:$.reasoningMode,effort:Rt,agentMode:$.agentMode,workflowRunsBaseDir:Po("workflow-runs",Ai(process.cwd()).key),context:{...e.context,gitRoot:n.gitRoot??void 0,executionCwd:n.runtimeInfo?.executionCwd??n.gitRoot??process.cwd(),repoIntelligenceMode:$.repoIntelligenceMode,repoIntelligenceTrace:$.repoIntelligenceTrace,toolConstructionMode:!0},session:{...e.session,id:n.sessionId,storage:w_,persistedByHost:!0},guardrails:e.runtimeRunner?void 0:fx($.permissionMode,f)});De(()=>{Le.current.effort=Rt},[Rt]);let Gc=G(u=>{let g=u.workspaceRoot??void 0;n.runtimeInfo=u,n.gitRoot=g,Le.current.context={...Le.current.context,gitRoot:g,executionCwd:u.executionCwd??g??process.cwd()}},[n]),An=he($.permissionMode),Mw=he(0);De(()=>{An.current=$.permissionMode},[$.permissionMode]);let T_=me(()=>oa(),[]),Aw=he(T_),wt=he($);De(()=>{wt.current=$},[$]);let lh=he(null);lh.current===null&&(lh.current=Hd({getProvider:i(()=>Ci(wt.current.provider),"getProvider"),getModel:i(()=>wt.current.model??"","getModel")}));let _w=he(Ud());De(()=>{$.permissionMode==="auto-in-project"&&_w.current()},[]);let uh=G(async u=>{let g=++Mw.current;Me(R=>({...R,permissionMode:u})),An.current=u,Un(os(u,void 0,s.engine));let x=await e.runtimeAutoModeControl?.syncSettings?.(n.sessionId,u,s);if(g!==Mw.current)return;let C=Ei({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});if(Le.current={...Le.current,effort:C.runtimeEffort,guardrails:e.runtimeRunner?void 0:fx(u,f)},!zn(u))Un(void 0);else if(e.runtimeAutoModeControl){let R=x??await e.runtimeAutoModeControl.getStats(n.sessionId);Un(os(u,R?.engine,s.engine))}else Un(f.getGuardrail().getEngine());u==="auto-in-project"&&_w.current()},[f,s,n.sessionId,e.runtimeAutoModeControl,e.runtimeRunner]),Lw=he(W.pendingInputs),st=he(!1),Pw=he(0),dh=he(null),Vc=he(0),pd=G(()=>{if(pc.current)return;let u=$u.current?.trim(),g=y.current.length>0?y.current[y.current.length-1]:void 0,x=g&&"text"in g&&typeof g.text=="string"?g.text.trim():void 0,R=ln.current.length>0?[...ln.current.map(L=>ci(L)),...u&&u!==x?[{type:"info",text:u}]:[]]:[...ln.current.map(L=>ci(L)),...FH(Ne(),F(),{toolCalls:tn.current,toolNames:Cr.current,infoItems:u&&u!==x?[u]:[]})];R.length!==0&&(pc.current=!0,Wu(ln.current),ls.current?.(R))},[F,Ne,Wu]);De(()=>{Lw.current=W.pendingInputs},[W.pendingInputs]);let $w=G(()=>{st.current=!0,Ee(),pe(),Y(),ne(),Ge(),je(),we(void 0),ko(),Ct(void 0),bc(),pi.current=[],ms.current=[],ut.current=null,$u.current=null,Tc([]),_u(null),fs(null),hi(),Ic(void 0),X(!1),T?.isTTY===!0&&Gi(T)?.clear?.()},[Ee,je,ne,Ge,hi,ko,bc,we,Tc,X,Ct,pe,Y,T]),md=G(u=>{let g=mT(),x=g.list().filter(R=>R.status==="running"||R.status==="paused");if(x.length===0)return!1;for(let R of x)g.stop(R.runId,u);Sc(R=>!R||R.status!=="running"||!x.some(L=>L.runId===R.runId)?R:{...R,status:"stopped",activeAgents:[],message:"Workflow stopped by user."});let C=x[0];return x.length===1&&C?kn({type:"info",text:`Stopped workflow ${C.workflow} (${C.runId}).`},"workflow-stop"):kn({type:"info",text:`Stopped ${x.length} active workflows.`},"workflow-stop"),!0},[kn,Sc]);De(()=>{if(!Wt.shouldRender)return;let u=i(()=>{md("stopped by Ctrl+C")},"handleSigint");return process.on("SIGINT",u),()=>{process.off("SIGINT",u)}},[md,Wt.shouldRender]),$n(fn.Critical,u=>{let g=u.name==="escape",x=Date.now(),C=g&&!se&&!Ir&&hc&&W.pendingInputs.length===0&&(B||Wt.shouldRender),R=C&&(u.meta===!0||x-Pw.current<AH);if(Pw.current=C?x:0,yk({keyName:u.name,ctrl:!!u.ctrl,isTranscriptMode:se,isAwaitingUserInteraction:Ir,isInputEmpty:hc,isDoubleEscape:R,pendingInputCount:W.pendingInputs.length,hasTranscriptTextSelection:!!Xr,hasActiveWorkflow:Wt.shouldRender}))return md(u.ctrl?"stopped by Ctrl+C":"stopped by Escape");if(!B)return!1;switch(xk({keyName:u.name,ctrl:!!u.ctrl,isTranscriptMode:se,isAwaitingUserInteraction:Ir,isInputEmpty:hc,isDoubleEscape:R,pendingInputCount:W.pendingInputs.length,hasTranscriptTextSelection:!!Xr}).kind){case"interrupt":return pd(),$w(),!0;case"pop-pending-input":return an(),!0;default:break}return!1},[B,se,Ir,hc,W.pendingInputs.length,an,pd,$w,md,Xr,Wt.shouldRender]),$n(fn.Critical,u=>{let g=mk({itemsLength:Kt.length,currentResponse:Qe.currentResponse,thinkingContent:Qe.thinkingContent,activeToolCallsLength:Qe.activeToolCalls.length}),x=hk({keyName:u.name,hasTranscript:g,historyScrollOffset:nr,reviewPageSize:Wc,reviewWheelStep:xw,hasMouse:!!u.mouse,mouseButton:u.mouse?.button,mouseAction:u.mouse?.action,usesManagedMouseClicks:_S,supportsMouseTracking:Ve.supportsMouseTracking,usesRendererMouseTracking:Yu,usesManagedMouseWheel:LS,supportsWheelHistory:Ve.supportsWheelHistory});if(x.kind==="mouse-phase"){let R=u.mouse;if(!R)return!1;x.phase==="press"&&rr.current&&bw(rr.current);let L=vw(R.row,R.column);if(x.phase==="press"){if(!L||!g)return eo||it?(rh(),!0):(rn(),!1);let D=XE({previous:cS.current,time:Date.now(),row:R.row,column:R.column});cS.current=D;let N=D.count>=3?"line":D.count===2?"word":"char";if(dd(),wr(J=>Qa(J,void 0)),se?Om(void 0):$m(void 0),N!=="char"){let J=hm(Uc(),L.point,N);if(J)return rr.current={anchor:J.start,focus:J.end,didDrag:!1,mode:N,anchorSpan:J},_s(J.start,J.end,{updateSelectedItem:!1}),!0}return rr.current={anchor:L.point,focus:L.point,didDrag:!1,mode:"char"},!0}if(!rr.current)return!1;if(x.phase==="drag"){let D=us.current,N=D?IE(D,R.row):0;N!==0&&Ru(N);let J=L??(D?ix(D,R.row,R.column):void 0);if(!J)return!1;let ee=rr.current;if(ee.mode!=="char"&&ee.anchorSpan){let He=hm(Uc(),J.point,ee.mode);if(!He)return!1;let Ue=dx(ee.anchorSpan,He);return rr.current={...ee,anchor:Ue.anchor,focus:Ue.focus,didDrag:!0},_s(Ue.anchor,Ue.focus,{updateSelectedItem:!1}),!0}return rr.current={...ee,focus:J.point,didDrag:!0},_s(ee.anchor,J.point,{updateSelectedItem:!1}),!0}if(x.phase==="release"){let D=rr.current,N=D.focus,ee=(L??(us.current?ix(us.current,R.row,R.column):void 0))?.point??N;if(D.mode!=="char"&&D.anchorSpan){let He=hm(Uc(),ee,D.mode);if(He){let Ue=dx(D.anchorSpan,He);D.anchor=Ue.anchor,ee=Ue.focus}}return bw(D,{focusPoint:ee}),!0}}if(x.kind==="scroll-by")return dd(),Ru(x.delta),!0;if(x.kind==="consume")return!0;let C=Sk({key:u,isTranscriptMode:se,isHistorySearchActive:mt,historySearchMatchCount:Ht.length,hasTextSelection:!!eo,hasFocusedItem:!!it,canCopySelectedItem:Rs,canCopySelectedToolInput:td,canToggleSelectedDetail:nd,canCycleTranscriptSelection:ed});return wk({action:C,hasTranscript:g,isTranscriptMode:se,pageScrollDelta:Wc,disarmHistorySearchSelection:dd,scrollTranscriptBy:Ru,closeHistorySearchSurface:sh,backspaceHistorySearchQuery:i(()=>{Ts(R=>R.slice(0,-1)),cr(0)},"backspaceHistorySearchQuery"),stepHistorySearchSelection:i(R=>{cr(L=>ex(Ht.length,L,R))},"stepHistorySearchSelection"),submitHistorySearchSelection:i(()=>{let R=Ht[Ao];R&&(oh(R.itemId),sh())},"submitHistorySearchSelection"),appendHistorySearchQuery:i(R=>{Ts(L=>L+R),cr(0)},"appendHistorySearchQuery"),openHistorySearchSurface:ih,clearTranscriptSelectionFocus:rh,exitTranscriptModeSurface:fd,toggleTranscriptShowAll:Ew,scrollTranscriptHome:i(()=>{bu(Math.max(0,Hc-zt.messageRows))},"scrollTranscriptHome"),scrollTranscriptToBottom:i(()=>{ku(),rn()},"scrollTranscriptToBottom"),cycleTranscriptSelection:ww,copySelectedTranscriptText:i(()=>{ud()},"copySelectedTranscriptText"),copySelectedTranscriptItem:i(()=>{Cw()},"copySelectedTranscriptItem"),copySelectedTranscriptToolInput:i(()=>{Iw()},"copySelectedTranscriptToolInput"),toggleSelectedTranscriptDetail:Tw,navigateSearchMatch:i(R=>{cr(L=>{let D=ex(Ht.length,L,R),N=Ht[D];return N&&oh(N.itemId),D})},"navigateSearchMatch"),dumpTranscriptToScrollback:i(()=>{Tk({items:Kt.filter(R=>!Kg(R)),exitAltScreen:i(()=>{k(Ff({mouseTracking:!0}))},"exitAltScreen"),writeToScrollback:i(R=>{k(R)},"writeToScrollback"),enterAltScreen:i(()=>{k(Hf({mouseTracking:!0,clearOnEnter:!1}))},"enterAltScreen")})},"dumpTranscriptToScrollback")})},[se,Kt,Qe.currentResponse,Qe.thinkingContent,Qe.activeToolCalls,nr,Hc,Wc,xw,it,rh,fd,Ew,Ve,Ru,bu,ku,ed,Ao,rn,ud,Ht,ih,sh,dd,ww,Rs,Cw,td,Iw,nd,Tw,oh,eo,vw,Ve.supportsMouseTracking,Xr,_S,LS,Vm,gi,Yu,_s,zt.messageRows]),$n(u=>{if(!ze)return!1;let g=u.sequence.trim().toLowerCase(),x=ze.runtimeGrantSuggestions?.find(J=>J.kind==="session"),C=ze.runtimeGrantSuggestions?.find(J=>J.kind==="persistent"),R=!!ze.input._alwaysConfirm,L=ze.runtimeGrantSuggestions!==void 0,D=C!==void 0||!L&&$.permissionMode==="accept-edits"&&!R,N=i(J=>{let ee=`${re("dialog.confirm")} ${ze.prompt}
|
|
142
|
+
\u2192 ${re(`confirm.result.${J}`)}`;!!ot.current.workerId?Gt({id:`confirm-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"info",text:ee,timestamp:Date.now()}):K({type:"info",text:ee})},"recordConfirmResult");return g==="y"||g==="yes"?(N("approved"),Ec(null),Zr.current?.({confirmed:!0}),Zr.current=null,!0):x&&(g==="s"||g==="session")?(N("approved_session"),Ec(null),Zr.current?.({confirmed:!0,runtimeGrantKind:"session"}),Zr.current=null,!0):D&&(g==="a"||g==="always")?(N("approved_always"),Ec(null),Zr.current?.(C?{confirmed:!0,runtimeGrantKind:"persistent"}:{confirmed:!0,always:!0}),Zr.current=null,!0):g==="n"||g==="no"||u.name==="escape"?(N("denied"),Ec(null),Zr.current?.({confirmed:!1}),Zr.current=null,!0):u.insertable||u.name==="return"},{isActive:!!ze,priority:fn.Critical});let hd=G(u=>{ar(null),Vu.current?.(u),Vu.current=null},[]),no=G((u,g,x,C)=>g.length===0?Promise.resolve(void 0):new Promise(R=>{Vu.current=R,ar({kind:"select",title:u,options:g,buffer:"",focusedIndex:0,selectedIndices:[],multiSelect:x,minSelections:C?.minSelections,maxSelections:C?.maxSelections})}),[]),C_=G((u,g)=>no(u,g.map(x=>({label:x,value:x}))).then(x=>Array.isArray(x)?x[0]:x),[no]),I_=G(async u=>{let g=e.learning;if(!g)return;let x=u;if(!x){let D=await g.list({limit:200});if(D.items.length===0){Em([{id:"learning-center-empty",text:"Learning Center has no learned capabilities.",tone:"accent"}]);return}let N=await no("Learning Center \u2014 type to search",LH(D.items));x=Array.isArray(N)?N[0]:N}if(!x)return;let C=await g.get(x),R=await no(`${C.displayName} \xB7 ${C.carrier} \xB7 ${C.lifecycle}`,_H(C)),L=Array.isArray(R)?R[0]:R;L&&(await PH(g,C.capabilityId,L),iS(await g.getSnapshot()))},[e.learning,no]),Ow=G(async u=>{let g=u.options?mm(u.options):[],x=await no(ax(u),g,!1);return x===void 0?Ks:Array.isArray(x)?x[0]??Ks:x},[no]);De(()=>{let u=!1;return(async()=>{let{bindAskUserForConstruction:g}=await import("./construction-bootstrap-VQLQGWPY.js");u||g(Ow)})(),()=>{u=!0,(async()=>{let{bindAskUserForConstruction:g}=await import("./construction-bootstrap-VQLQGWPY.js");g(null)})()}},[Ow]);let Ls=G((u,g)=>new Promise(x=>{Vu.current=C=>x(Array.isArray(C)?C[0]:C),ar({kind:"input",prompt:u,defaultValue:g,buffer:""})}),[]);$n(u=>{let g=Ku.current;if(!g)return!1;if(u.name==="escape")return hd(void 0),!0;if(g.kind==="select"){let x=g.options.length;if(u.name==="up"||u.sequence==="k")return ar(C=>C&&C.kind==="select"?{...C,focusedIndex:(C.focusedIndex-1+x)%x,error:void 0}:C),!0;if(u.name==="down"||u.sequence==="j")return ar(C=>C&&C.kind==="select"?{...C,focusedIndex:(C.focusedIndex+1)%x,error:void 0}:C),!0;if(u.sequence===" "&&g.multiSelect)return ar(C=>{if(!C||C.kind!=="select")return C;let R=C.focusedIndex,L=C.selectedIndices.includes(R)?C.selectedIndices.filter(D=>D!==R):[...C.selectedIndices,R];return{...C,selectedIndices:L,error:void 0}}),!0;if(u.name==="return"){let C=Ku.current;if(!C||C.kind!=="select")return!1;if(C.multiSelect){let R=C.selectedIndices.length,{minSelections:L,maxSelections:D}=C,N=R===0&&L!==0?re("select.multiselect_empty"):L!==void 0&&R<L?re("select.multiselect_min",{min:String(L)}):D!==void 0&&R>D?re("select.multiselect_max",{max:String(D)}):void 0;if(N!==void 0)return ar(ee=>ee&&ee.kind==="select"?{...ee,error:N}:ee),!0;let J=C.selectedIndices.slice().sort((ee,He)=>ee-He).map(ee=>C.options[ee]?.value).filter(ee=>typeof ee=="string"&&ee.length>0);hd(J)}else hd(C.options[C.focusedIndex]?.value);return!0}if(/^[1-9]$/.test(u.sequence)){let C=Number.parseInt(u.sequence,10)-1;if(C>=0&&C<x)return g.multiSelect?ar(R=>{if(!R||R.kind!=="select")return R;let L=R.selectedIndices.includes(C)?R.selectedIndices.filter(D=>D!==C):[...R.selectedIndices,C];return{...R,focusedIndex:C,selectedIndices:L,error:void 0}}):ar(R=>R&&R.kind==="select"?{...R,focusedIndex:C,error:void 0}:R),!0}return!1}if(u.name==="return"){let x=Ku.current;if(!x||x.kind!=="input")return!1;let C=x.buffer.trim();return hd(C===""?x.defaultValue??void 0:C),!0}return u.name==="backspace"||u.name==="delete"?(ar(x=>x&&x.kind==="input"?{...x,buffer:x.buffer.slice(0,-1),error:void 0}:x),!0):(u.insertable||u.isPasted===!0)&&!u.ctrl&&!u.meta?(ar(x=>x&&x.kind==="input"?{...x,buffer:x.buffer+u.sequence,error:void 0}:x),!0):!1},{isActive:!!Be,priority:fn.Critical}),De(()=>{if(n.messages.length>0&&P.length===0){if(n.uiHistory?.length){let u=Fr(n.uiHistory);u.length!==n.uiHistory.length&&(n.uiHistory=u),fe(Jl({messages:n.messages,uiHistory:u}));return}fe(Jl({messages:n.messages}))}},[n.messages,n.uiHistory,P.length,fe]),De(()=>{kd(n.gitRoot)},[n.gitRoot]),De(()=>{process.env.KODAX_PREWARM_REPO_INTELLIGENCE!=="0"&&aT({executionCwd:n.runtimeInfo?.executionCwd??n.gitRoot??process.cwd(),gitRoot:n.gitRoot??void 0},{mode:$.repoIntelligenceMode})},[n.gitRoot,n.runtimeInfo?.executionCwd,$.repoIntelligenceMode]);let Kc=G(()=>({onMemoryOutcomeDigest:i((u,g)=>{if(u.sessionId!==n.sessionId){e.events?.onMemoryOutcomeDigest?.(u,g);return}n.lineage=_d(n.lineage??Ze(n.messages),u,g?.jobId)},"onMemoryOutcomeDigest"),onMemoryReviewReceipt:i(u=>{if(u.sessionId!==void 0&&u.sessionId!==n.sessionId){e.events?.onMemoryReviewReceipt?.(u);return}n.lineage=Ld(n.lineage??Ze(n.messages),u)},"onMemoryReviewReceipt"),onMemoryNotice:i(u=>{if(u.sessionId!==void 0&&u.sessionId!==n.sessionId){e.events?.onMemoryNotice?.(u);return}let g=n.lineage??Ze(n.messages),x=Pd(g,{...u,createdAt:new Date().toISOString()});n.lineage=x,x!==g&&K({type:"info",text:`[memory] ${u.summaries.slice(0,3).join("; ")}`}),e.events?.onMemoryNotice?.(u)},"onMemoryNotice"),onThinkingDelta:i((u,g)=>{if(st.current||Fn(g,"thinking",u,{append:!0}))return;W.currentTool&&(we(void 0),Ge());let{header:x}=_R(Ne()+u),C=x?`[Thinking: ${x}]`:"[Thinking]";Ct(Qp(ut.current?.activeWorkerTitle?`[${ut.current.activeWorkerTitle}] ${C}`:C,ut.current?.activeWorkerTitle)),ye(u.length),_e(u),ot.current.workerId&&Fu("thinking",u)},"onThinkingDelta"),onThinkingEnd:i((u,g)=>{if(st.current||Fn(g,"thinking",u))return;let x=Ne(),C=ER(x,u);C&&C!==x&&(ne(),ue(),ye(C.length),_e(C)),ot.current.workerId&&TS(C),Y()},"onThinkingEnd"),onTextDelta:i((u,g)=>{st.current||Fn(g,"assistant",u,{append:!0})||(W.currentTool&&(we(void 0),Ge()),Y(),Ct(void 0),de(u),ot.current.workerId&&Fu("assistant",u))},"onTextDelta"),onToolUseStart:i((u,g)=>{if(st.current||Fn(g,"tool",v0(u.name,u.input)))return;Cr.current.includes(u.name)||(Cr.current=[...Cr.current,u.name]);let x=ut.current?.activeWorkerTitle?`[${ut.current.activeWorkerTitle}] `:"",C={id:u.id,name:`${x}${u.name}`,status:j.Executing,startTime:Date.now(),input:u.input};CS(C),ot.current.workerId&&sr(C),Ct(xo(C,ut.current?.activeWorkerTitle))},"onToolUseStart"),onToolInputDelta:i((u,g,x)=>{if(st.current||Fn(x,"tool",u,{skipIfExisting:!0}))return;nt(g.length),xt(g);let C=IS(x?.toolId,u,R=>{let L=R.preview??"",D=bR(`${L}${g}`);return{...R,preview:D||void 0,input:R.input?D?{...R.input,preview:D}:{...R.input}:D?{preview:D}:void 0}});C&&(ot.current.workerId&&sr(C),Ct(xo(C,ut.current?.activeWorkerTitle)))},"onToolInputDelta"),onToolResult:i((u,g)=>{if(st.current||Fn(g,"tool",`${u.name} completed`))return;let x=typeof u.content=="string"?u.content:String(u.content??""),C=RR(x);if(/^\[(?:Tool Error|Error)\]/.test(x)){let L=Uu(u.id,j.Error,C,C,u.name);L&&(ot.current.workerId&&sr(L),Ct(xo(L,ut.current?.activeWorkerTitle)));return}if(/^\[(?:Cancelled|Blocked)\]/.test(x)){let L=Uu(u.id,j.Cancelled,void 0,C,u.name);L&&(ot.current.workerId&&sr(L),Ct(xo(L,ut.current?.activeWorkerTitle)));return}let R=Uu(u.id,j.Success,void 0,C||void 0,u.name);R&&(ot.current.workerId&&sr(R),Ct(xo(R,ut.current?.activeWorkerTitle)))},"onToolResult"),onToolProgress:i((u,g)=>{if(st.current||Fn(g,"progress",u.message))return;let x=u.message.length>100?u.message.slice(0,97)+"...":u.message,C=ws(u.id,R=>({...R,preview:x,progressLines:[...(R.progressLines??[]).slice(-4),x]}));C&&ot.current.workerId&&sr(C),Ct(x)},"onToolProgress"),onStreamEnd:i(u=>{if(st.current||Np(u))return;let g=Rc(j.Cancelled,()=>({error:"Stream ended before the tool completed.",output:void 0})),x=g[g.length-1];ot.current.workerId&&g.forEach(C=>sr(C)),x&&Ct(xo(x,ut.current?.activeWorkerTitle)),Y(),Ge(),we(void 0)},"onStreamEnd"),onChildActivityEnd:i(u=>{hS(u)},"onChildActivityEnd"),hasPendingInputs:i(()=>Lw.current.length>0,"hasPendingInputs"),onMidTurnUserMessages:i(u=>{if(!st.current)for(let g of u){let x=g.trim();x&&(ot.current.workerId?Gt({id:`mid-turn-user-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"user",text:x,timestamp:Date.now()}):K({type:"user",text:x}))}},"onMidTurnUserMessages"),onSidecarMessage:i(u=>{if(st.current)return;let g=u.suggestedFix?`${u.content}
|
|
143
|
+
Suggested fix: ${u.suggestedFix}`:u.content;if(u.delivery==="budget-exhausted")SS({type:"sidecar",text:g,delivery:"budget-exhausted"},"sidecar-message");else{let x=u.verdict==="blocked"?"blocked":"revise";SS({type:"sidecar",text:g,verdict:x},"sidecar-message")}},"onSidecarMessage"),onError:i(u=>{let g=Ro();g?.name&&Ct(xo(g,ut.current?.activeWorkerTitle));let x=Rc(j.Error,()=>({error:u.message,output:void 0})),C=x[x.length-1];ot.current.workerId&&x.forEach(He=>sr(He)),C&&Ct(xo(C,ut.current?.activeWorkerTitle));let R=iT(u),L=["Transient","Permanent","Tool Call ID","User Abort"];if(R.category===Yc.USER_ABORT)return;let N=[`\u274C API Error (${L[R.category]||"Unknown"}): ${u.message}`];R.shouldCleanup&&N.push(" \u{1F9F9} Cleaned incomplete tool calls"),R.category===Yc.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===Yc.TRANSIENT?N.push(" \u23F3 Retries exhausted. Press Enter to continue the conversation"):R.category===Yc.TOOL_CALL_ID&&N.push(" \u2705 Session cleaned, ready to continue");let J=N.join(`
|
|
144
|
+
`);!!ot.current.workerId?Gt({id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"error",text:J,timestamp:Date.now()}):K({type:"error",text:J})},"onError"),onRetry:i((u,g,x,C)=>{if(st.current)return;let R=Zl(u,g,x);if(wc(C,R.text)||Fn(C,"progress",R.text))return;!!ot.current.workerId?Gt({...R,id:`retry-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):K(R)},"onRetry"),onProviderRecovery:i((u,g)=>{if(st.current)return;let x=eu(u);if(wc(g,x.text)||Fn(g,"progress",x.text))return;let C=!!ot.current.workerId,R=F().trim();R&&(C?Fu("assistant",R):K({type:"assistant",text:R})),je(),ne(),Y(),Ge(),we(void 0),ko(),Ct(void 0),C?Gt({...x,id:`recovery-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):K(x)},"onProviderRecovery"),onManagedTaskStatus:i(u=>{if(st.current)return;let g=ot.current;if(tM(u)){if(g.workerId&&g.workerId!==u.activeWorkerId)o_({workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle});else if(g.workerId!==u.activeWorkerId){let D=St.current,N=D.activeToolGroupTools.some(J=>J.status===j.Executing);St.current={workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle,...N?{activeToolGroupItemId:D.activeToolGroupItemId,activeToolGroupTools:D.activeToolGroupTools}:{activeToolGroupTools:[]}},ot.current={workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle}}}ut.current=u,_u(u);let x=AR(u);i_(x);let C=Ya(u),L=Ya(u,{expanded:!0})??C;L&&($u.current=L)},"onManagedTaskStatus"),onProviderRateLimit:i((u,g,x,C)=>{if(st.current)return;let R=dh.current;if(dh.current=null,SR(R,{attempt:u,maxAttempts:g,delayMs:x}))return;let L=`[Rate Limit] Retrying in ${x/1e3}s (${u}/${g})...`;wc(C,L)||Fn(C,"progress",L)||kn({type:"info",icon:"\u23F3",text:L},"ratelimit")},"onProviderRateLimit"),onRetryAfter:i((u,g)=>{if(st.current)return;dh.current={attempt:u.attempt,maxAttempts:u.maxAttempts,waitMs:u.waitMs};let x=Math.round(u.waitMs/1e3),C=u.source==="exponential-backoff"?"no-header \u2192 backoff":u.source,L=`[${u.reason==="overloaded"?"Overloaded":"Rate limited"}] (${u.provider}) \u2014 retrying in ${x}s [${C}] (${u.attempt}/${u.maxAttempts})`;wc(g,L)||Fn(g,"progress",L)||kn({type:"info",icon:"\u23F3",text:L},"ratelimit")},"onRetryAfter"),onReasoningEffortRejected:i(u=>{zw(u.provider,u.model,u.effort,"observed",new Date().toISOString());let x=Ei({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;Me(C=>({...C,effort:x,effortOverride:x!==void 0})),Mi({effort:x}),Le.current.effort=x,kn({type:"info",icon:"\u26A0",text:`[${u.provider}/${u.model} \u4E0D\u652F\u6301 effort "${u.effort}",\u5DF2\u8BB0\u5F55;\u540E\u7EED\u4E0D\u518D\u63D0\u4F9B\u8BE5\u6863${x?`,\u5DF2\u5207\u5230 ${x}`:""}]`},"ratelimit")},"onReasoningEffortRejected"),onRepoIntelligenceTrace:i(u=>{st.current||kn(GR(u),"repointel-trace")},"onRepoIntelligenceTrace"),onTodoUpdate:i(u=>{st.current||qr(u)},"onTodoUpdate"),onScoutSuspiciousCompletion:i(u=>{st.current||nM&&kn({type:"info",icon:"\u26A0",text:`[Scout] Completion marked uncertain \u2014 signals: ${u.signals.join(", ")}. Verify the result before continuing.`},"scout-uncertain")},"onScoutSuspiciousCompletion"),onIterationStart:i((u,g)=>{if(st.current)return;if(g&&Ut(g),ut.current?.globalWorkBudget){let ee={...ut.current,budgetUsage:Math.min(ut.current.globalWorkBudget,(ut.current.budgetUsage??0)+1)};ut.current=ee,_u(ee)}let x=u>1?Ne().trim():"",C=u>1?gx(F()):"",R=u>1?[...Cr.current]:[],L=u>1?[...tn.current]:[],D=!!ot.current.workerId;pt(u),D&&Bu({clearOwner:!1});let N=Qr.current.filter(ee=>ee.status===j.Executing),J=new Set(N.map(ee=>ee.id));if(Cr.current=[],tn.current=tn.current.filter(ee=>J.has(ee.id)),Hn(N),Ge(),we(void 0),Ct(Qp(ut.current?.activeWorkerTitle?`[Thinking] [${ut.current.activeWorkerTitle}]`:void 0,ut.current?.activeWorkerTitle)),ue(),u>1&&!D){let ee=yx({thinking:x,response:C,toolCalls:L,toolNames:R});ls.current?ls.current(ee):fe([...ee])}},"onIterationStart"),beforeToolExecute:i(async(u,g)=>{let x=An.current,C=zs(x),R=Aw.current,L=n.gitRoot;if(wT(V.current,u,g))return`[Skipped] Previously denied operation. ${TT(V.current)}`;if(x==="plan"&&(so.has(u)||u==="undo"))return`[Blocked] Tool '${u}' is not allowed in plan mode (read-only). ${JE}`;if(x==="plan"&&u==="bash"){let D=g.command??"";if(dr(D))return`[Blocked] Bash write operation not allowed in plan mode: ${D.slice(0,50)}... ${JE}`}if(u==="bash"){let D=g.command??"";if(pn(D))return!0}if(zn(x)&&Qm==="llm")return!0;if(u==="bash"){let D=g.command??"",N=xT(D);if(N.level==="dangerous"){let J=await ro(u,{...g,_dangerousCommand:!0});return J.confirmed?J.confirmed:(V.current=kh(V.current,u,g,N.reason),`[Blocked] Dangerous command requires confirmation: ${N.reason}`)}}if(L){let D=!1;if(so.has(u)){let N=g.path;N&&ta(N,L)&&(D=!0)}if(u==="bash"){let N=g.command;N&&Yd(N,L)&&(D=!0)}if(D){let N=await ro(u,{...g,_alwaysConfirm:!0});if(An.current==="plan"&&(so.has(u)||u==="undo"))return!1;if(An.current==="plan"&&u==="bash"){let J=g.command??"";if(dr(J))return!1}return N.confirmed}}if(C.has(u)){if(x==="accept-edits"&&u==="bash"&&await ea(u,g,R,lh.current??void 0))return!0;let D=await ro(u,g);if(An.current==="plan"&&(so.has(u)||u==="undo"))return!1;if(An.current==="plan"&&u==="bash"){let N=g.command??"";if(dr(N))return!1}if(!D.confirmed)return K({type:"info",text:re("cancelled")}),V.current=kh(V.current,u,g),!1;D.always&&x==="accept-edits"&&(Xd(u,g,!1),Aw.current=oa())}return!0},"beforeToolExecute"),askUser:i(async u=>{let g=sx(u.options?mm(u.options):[],u),x=await no(ax(u),g,u.multiSelect,{minSelections:u.minSelections,maxSelections:u.maxSelections});if(x===void 0)return Ks;if(x===Mr){let C=await Ls(u.customInputPrompt??u.question,u.customInputDefault);return C===void 0?Ks:{kind:"customInput",value:C}}if(Array.isArray(x)&&x.includes(Mr)){let C=await Ls(u.customInputPrompt??u.question,u.customInputDefault);return C===void 0?Ks:x.map(R=>R===Mr?{kind:"customInput",value:C}:R)}return x},"askUser"),exitPlanMode:i(async u=>An.current!=="plan"?"not-in-plan-mode":(await ro("exit_plan_mode",{plan:u})).confirmed?(uh("accept-edits"),!0):!1,"exitPlanMode"),askUserMulti:i(async u=>{let g=u.questions,x={},C=0;for(;C<g.length;){let R=g[C],L=sx(mm(R.options),R);C>0&&L.push({label:re("select.back_prev"),value:Sh});let D=`[${C+1}/${g.length}] ${R.question}`,N=await no(D,L,R.multiSelect,{minSelections:R.minSelections,maxSelections:R.maxSelections});if(N===void 0)return;if(!Array.isArray(N)&&N===Sh){C--;continue}if(!Array.isArray(N)&&N===Mr){let J=await Ls(R.customInputPrompt??R.question,R.customInputDefault);if(J===void 0)return;x[R.question]={kind:"customInput",value:J},C++;continue}if(Array.isArray(N)&&N.includes(Mr)){let J=await Ls(R.customInputPrompt??R.question,R.customInputDefault);if(J===void 0)return;x[R.question]=N.map(ee=>ee===Mr?{kind:"customInput",value:J}:ee),C++;continue}x[R.question]=N,C++}return x},"askUserMulti"),askUserInput:i(async u=>Ls(u.question,u.default),"askUserInput"),onCompactStart:i(()=>{Ke()},"onCompactStart"),onCompactStats:i(u=>{fc.current=u.tokensBefore,tr(u.tokensAfter)},"onCompactStats"),onCompactedMessages:i(async(u,g,x)=>{let C=Yp(n.lineage,u,g,x);if(!C)return;n.messages=u,g?.artifactLedger&&g.artifactLedger.length>0&&(n.artifactLedger=vi(n.artifactLedger??[],g.artifactLedger)),n.lineage=C;let R=Ii(u);if(n.contextTokenSnapshot={currentTokens:R,baselineEstimatedTokens:R,source:"estimate"},gr(n),tr(R),e.runtimeRunner){n.lineage===C&&(n.lineage=Fs(C));return}let L=Tu.current;if(!L)throw new Error("Ink REPL compaction persistence is not initialized.");try{await L(),n.lineage===C&&(n.lineage=Fs(C))}catch(D){throw dt({source:"repl:compaction",level:"error",message:"Failed to durably persist compacted session history.",detail:D}),D}},"onCompactedMessages"),onCompact:i(u=>{bt();let g=fc.current??u;fc.current=null;let x=Math.round(g/1e3);kn({type:"info",icon:"\u2728",text:`Context auto-compacted (was ~${x}k tokens)`},"compact")},"onCompact"),onCompactEnd:i(()=>{fc.current=null,bt()},"onCompactEnd"),onIterationEnd:i(u=>{u.scope!=="worker"&&(n.contextTokenSnapshot=u.contextTokenSnapshot),tr(u.tokenCount)},"onIterationEnd")}),[ye,_e,Y,de,we,nt,xt,Ge,pt,ue,$,n,Ke,bt,K,ne,Ne,F,Bu,Ct,Fu,TS,sr,CS,IS,Uu,Rc,Ro,ko,Hn,hS,wc,Fn,kn,W.currentTool]),ro=i((u,g,x)=>{let C=vR(u,g),R=x?.map(N=>N.label)??[],L=x===void 0?[]:[Fa,...R.map(N=>`Runtime scope: ${N}`)],D=L.length>0?`${C}
|
|
145
|
+
${L.join(`
|
|
146
|
+
`)}`:C;return c_.current(()=>(ir(),new Promise(N=>{Zr.current=N,Ec({tool:u,input:g,prompt:D,...x!==void 0?{runtimeGrantSuggestions:x}:{}})})))},"showConfirmDialog"),v_=i(async u=>{let g=await ro(u.toolName,{...u.input,...u.reason!==void 0?{_reason:u.reason}:{},...u.executionCwd!==void 0?{_executionCwd:u.executionCwd}:{},...u.risk!==void 0?{_runtimeRisk:u.risk}:{}},u.grantSuggestions??[]);return jp(u,g)},"requestRuntimePermission");De(()=>(p(async(u,g,x)=>(await ro(u.name,{...u.input,_reason:`[auto-mode] ${g}`,...x&&x.length>0?{_classifierSignals:x}:{}})).confirmed?"allow":"block"),m(u=>{Un(u)}),()=>{p(null),m(null)}),[]),De(()=>{h($)},[$,h]),De(()=>{let u=i(()=>Kc(),"resolve");return wh({askUser:i(g=>{let x=u().askUser;if(!x)throw new Error("askUser surface unavailable");return x(g)},"askUser"),askUserMulti:i(async g=>{let x=u().askUserMulti;return x?x(g):void 0},"askUserMulti"),askUserInput:i(async g=>{let x=u().askUserInput;return x?x(g):void 0},"askUserInput")}),()=>wh(void 0)},[Kc]);let Ps=i(async(u,g,x=n.lineage?kt(n.lineage,n.lineage.activeEntryId):n.messages,C)=>{let R={...Kc(),getCostReport:q,onWorkflowProcessEvent:QA,onWorkflowAgentDigest:i(({runId:ee,event:He})=>{let Ue=He.data??{},Yt=typeof Ue.summary=="string"?Ue.summary:void 0,wi=typeof Ue.name=="string"?Ue.name:void 0,Ns=yc.current,Ti=Yt!==void 0||wi!==void 0?Zc(Yt,wi):Ns?.runId===ee?Ns.locale??"en":"en",Je=rf(He,Ti,ee);Je&&(ot.current.workerId?Gt({id:`wf-digest-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"assistant",text:Je,timestamp:Date.now()}):Gn([{type:"assistant",text:Je}]))},"onWorkflowAgentDigest")},D=Rd(n.gitRoot).getSystemPromptSnippet(),N=VR(u.context,n.gitRoot,n.contextTokenSnapshot,D,n.runtimeInfo?.executionCwd);C&&C.length>0&&(N.inputArtifacts=[...C]),N.planModeBlockCheck=(ee,He)=>An.current!=="plan"?null:Oo(ee,He,n.gitRoot??n.runtimeInfo?.executionCwd??process.cwd());let J={...u,session:{...u.session,initialMessages:x,initialExtensionState:n.extensionState??{},initialExtensionRecords:n.extensionRecords??[]},context:N,events:R,abortSignal:Ce()};try{return e.runtimeRunner?await e.runtimeRunner({options:J,prompt:g,sessionId:n.sessionId,permissionMode:An.current,autoModeSettings:s,requestPermission:v_,legacyPermissionHook:!0}):await Xc(J,g)}finally{cT()}},"runAgentRound"),_n=G(u=>{let g=Ze([...u],n.lineage);return n.lineage=g,g},[n]),zc=G(async u=>{if(n.messages.length===0)return;let g=No(n.messages),x=Fr(u??A.current);A.current=x,n.title=g,n.uiHistory=x;let C=n.lineage??_n(n.messages);n.lineage=C;let R={...n.extensionStateDirty?{extensionState:n.extensionState??{}}:{},...n.extensionRecordsDirty?{extensionRecords:n.extensionRecords??[]}:{}},L=nc({messages:n.messages,title:g,gitRoot:n.gitRoot??"",runtimeInfo:n.runtimeInfo,tag:Le.current.session?.tag,uiHistory:x,lineage:C,artifactLedger:n.artifactLedger,...R});$H(o)?await o.appendSessionDelta(n.sessionId,L):await o.save(n.sessionId,L),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,tm()&&nm("persist",rm(n.messages,C,{historyItems:y.current,foregroundItems:ln.current,streamingResponse:ae.current.currentResponse,streamingThinking:ae.current.thinkingContent,persistedUiHistory:A.current}))},[n,_n,o]),fh=G(()=>{if(Cu.current)return Cu.current;let u=(async()=>{try{for(;di.current.requested;){di.current.requested=!1;let g=di.current.uiHistoryOverride;di.current.uiHistoryOverride=void 0,await zc(g)}}finally{Cu.current=null,di.current.requested&&fh()}})();return Cu.current=u,Mm.current=u,u},[zc]),oo=G(u=>{if(u!==void 0){let g=Fr(u);A.current=g,di.current.uiHistoryOverride=g}return di.current.requested=!0,fh()},[fh]),b_=G(async()=>{if(mc.current)return mc.current;let u=(async()=>{st.current=!0,Ee(),pe(),Y(),ne(),Ge(),je(),we(void 0),X(!1),await Mm.current.catch(()=>{}),await Tu.current?.().catch(()=>{}),_t(!1),O&&b?.isRaw&&M(!1),b?.pause?.(),b?.unref?.(),v(),l()})();return mc.current=u.finally(()=>{mc.current=null}),mc.current},[Ee,je,ne,Ge,v,O,l,we,X,M,b,pe,Y]);De(()=>(Tu.current=oo,()=>{Tu.current=null}),[oo]);let gd=G(u=>{if(u.length===0)return;let g=gm(A.current,u);A.current=g,oo(g)},[oo]),Gn=G(u=>{u.length!==0&&(fe([...u]),gd(u))},[fe,gd]),$s=G(u=>{u.length!==0&&(fe([...u]),A.current=gm(A.current,u))},[fe]);De(()=>(ls.current=Gn,()=>{ls.current=null}),[Gn]);let Dw=G(async u=>{ir(),n.messages=u.messages,n.contextTokenSnapshot=u.contextTokenSnapshot,QE(n,u),_n(u.messages);let g=u.success===!1&&!u.interrupted,x=Ne().trim(),C=CC(u.messages,F(),u.managedTask?.verdict.summary,u.lastText),R=St.current.workerTitle,L=[...ln.current],D=L.length>0;Wu(L);let N=D&&L.some(Je=>Je.type==="assistant"&&"text"in Je&&eM(String(Je.text??""),R)),J=L.filter(Je=>Je.type!=="assistant"||!("text"in Je)||eM(String(Je.text??""),R)),ee=!g&&C&&!N,He=[...ms.current],Ue=g?[]:He.length===0?nM?Ry(u):Ry(u).filter(Je=>!by(Je)):[],Yt=D?[]:yx({thinking:x,response:void 0,toolCalls:tn.current,toolNames:Cr.current}),wi=[...J.map(Je=>ci(Je)),...Yt,...g?[]:He.map(Je=>ci(Je)),...Ue.map(Je=>ZE(Je)),...ee?[{type:"assistant",text:u.interrupted?`${C}
|
|
147
|
+
|
|
148
|
+
[Interrupted]`:C}]:!C&&!N&&!u.interrupted&&!g?[{type:"info",text:"[No response text was produced for this round]"}]:[]],Ns=gm(A.current,wi);ne(),je();let Ti=[...J.map(Je=>ci(Je)),...Yt,...g?[]:[...Ue.map(Je=>ZE(Je)),...He.map(Je=>ci(Je))],...ee?[{type:"assistant",text:u.interrupted?`${C}
|
|
149
|
+
|
|
150
|
+
[Interrupted]`:C}]:!C&&!N&&!u.interrupted&&!g?[{type:"info",text:"[No response text was produced for this round]"}]:[]];fe(Ti),Cr.current=[],tn.current=[],ko(),Ge(),we(void 0),Ct(void 0),bc(),pi.current=[],ms.current=[],Tc([]),Dt(),oo(Ns).catch(()=>{})},[fe,Dt,Ge,je,ne,n,ir,F,Ne,oo,_n,ko,bc,we,Ct,W.currentIteration]),Os=G(async u=>{let g=u.trim();g&&(K({type:"user",text:g}),wu(x=>x+1),gr(n))},[K,n]),Ds=G(async(u,g)=>{let x=Vc.current;st.current=!1,pc.current=!1,uc(!0);try{return await fk({initialPrompt:u,runRound:g,shiftPendingPrompt:_,onRoundComplete:i(async C=>{Vc.current===x&&await Dw(C)},"onRoundComplete"),onBeforeQueuedRound:i(async C=>{st.current=!1,pc.current=!1,await Os(C)},"onBeforeQueuedRound"),shouldContinue:i(C=>!st.current&&C.success!==!1,"shouldContinue"),shouldDrainQueuedPrompts:i(()=>dc.current?ae.current.pendingInputs.length===0?(dc.current=!1,!0):!1:!0,"shouldDrainQueuedPrompts")})}finally{uc(!1)}},[Dw,_,Os]),Nw=G(async u=>{if(n.messages.length===0)return"empty";if(!oi($,"Recovering into a new session",au))return"blocked";let x=n.sessionId,C=n.lineage??_n(n.messages);n.lineage=C;let R=n.artifactLedger?structuredClone(n.artifactLedger):void 0,L=Od({sourceSessionId:x,messages:n.messages,lineage:C,artifactLedger:R,reason:"provider session recovery"}),D=n.title||No(n.messages);await o.save(n.sessionId,nc({messages:n.messages,title:D,gitRoot:n.gitRoot??"",runtimeInfo:n.runtimeInfo,tag:Le.current.session?.tag,uiHistory:A.current,lineage:C,artifactLedger:R,extensionState:n.extensionState,extensionRecords:n.extensionRecords}));let N=Ji(),J=Ze(L.messages);await o.save(N,nc({messages:L.messages,title:L.title,gitRoot:n.gitRoot??"",runtimeInfo:n.runtimeInfo,tag:Le.current.session?.tag,uiHistory:[],lineage:J,artifactLedger:R}));let ee=new Date().toISOString();n.sessionId=N,n.messages=L.messages,n.uiHistory=[],n.title=L.title,n.contextTokenSnapshot=void 0,n.lineage=J,n.artifactLedger=R,n.extensionState=void 0,n.extensionRecords=void 0,n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.createdAt=ee,n.lastAccessed=ee,A.current=[],Le.current.session={...Le.current.session,id:N},tr(null),ge(),qr([]),Ph()?.reset(),Z(N),S?.writer.update({sessionId:N}),$s([{type:"info",text:`Recovered into new session ${N}
|
|
151
|
+
Source session saved: ${x}
|
|
152
|
+
Raw provider history was not replayed.`}]),await o.save(N,nc({messages:n.messages,title:n.title,gitRoot:n.gitRoot??"",runtimeInfo:n.runtimeInfo,tag:Le.current.session?.tag,uiHistory:A.current,lineage:n.lineage,artifactLedger:n.artifactLedger}));let He=$d(u);try{await Os(He),await Ds(He,async Ue=>{let Yt=qa(Ue,Le.current.context?.executionCwd??process.cwd());for(let wi of Yt.warnings)K({type:"info",text:wi});return Ps(Le.current,Yt.promptText,n.messages,Yt.inputArtifacts)})}catch(Ue){let Yt=Ue instanceof Error?Ue.message:String(Ue);return Gn([{type:"error",text:`[Recover failed] ${Yt}`}]),"failed"}return"recovered"},[K,Gn,$s,ge,n,$,_n,Ds,Os,o,S]),ph=G(async()=>{let u=_();if(!u||!u.trim())return;let g=u.trim();await Os(g),await Ds(g,async x=>Ps(Le.current,x))},[Ps,Ds,_,Os]),mh=G(u=>{let g=u[u.length-1];if(g?.role!=="assistant")return;let x=ia(g);fe(x.map(Do))},[fe]),Bw=G(async(u,g)=>{let x=await em({...Le.current,provider:$.provider,thinking:$.thinking,reasoningMode:$.reasoningMode},u,g,C=>K({type:"info",text:C}));if(x.mode==="manual"){x.manualOutput&&K({type:"info",text:x.manualOutput}),await x.finalize();return}if(!x.prompt||!x.options){await x.finalize();return}uc(!0);try{let C=x.mode==="fork"?[]:n.lineage?kt(n.lineage,n.lineage.activeEntryId):n.messages,R=Vc.current,L=await Ps(x.options,x.prompt,C);if(Vc.current!==R)await x.finalize();else{let D=A.current,N=[];if(x.mode==="fork"){let J=L.messages.find(He=>He.role==="user");J&&n.messages.push(J);let ee=L.messages.slice().reverse().find(He=>He.role==="assistant");if(ee){n.messages.push({role:"assistant",content:ee.content}),_n(n.messages);for(let He of ia(ee)){let Ue=Do(He);K(Ue),N.push(Ue)}}}else{n.messages=L.messages,n.contextTokenSnapshot=L.contextTokenSnapshot,_n(L.messages),mh(L.messages);let J=L.messages[L.messages.length-1];if(J?.role==="assistant")for(let ee of ia(J))N.push(Do(ee))}QE(n,L),await zc(gm(D,N)),tm()&&nm("round-end",rm(n.messages,n.lineage,{historyItems:y.current,foregroundItems:ln.current,streamingResponse:ae.current.currentResponse,streamingThinking:ae.current.thinkingContent,persistedUiHistory:A.current})),await x.finalize()}}catch(C){let R=C instanceof Error?C:new Error(String(C));throw await x.finalize(R),uc(!1),R}uc(!1),await ph()},[K,mh,n,$.provider,$.thinking,ph,zc,_n,Ps]),R_=G(async u=>{for(let g of u.pastedContents)if(g.type==="text"&&!g.content&&g.contentHash)try{let x=await DC(g.contentHash);x&&(g.content=x)}catch{}},[]),k_=G(async u=>{let{displayText:g,fullText:x,pastedContents:C}=u;if(!x.trim()||!Yr||ze||Be)return;for(let be of C){if(be.type!=="text"||be.content.length<1024)continue;let Pe=$C(be.content);OC(Pe,be.content)}if(bS(!1),B){if(!km)return;if(W.pendingInputs.length>=5){kn({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(dk(x)){kn({type:"info",icon:"\u26A0",text:lk},uk);return}let be=W.currentTool;if(be&&Nd(be)?.interruptBehavior==="cancel"){Wn(x),Ee({preservePendingInputs:!0}),vu(""),Iu(!0),wu(Ln=>Ln+1),gr(n);return}Wn(x),vu(""),Iu(!0),wu(Pe=>Pe+1),gr(n);return}let R=gx(F()),L=ln.current.map(be=>ci(be)),D=L.length>0;L.length>0&&(Wu(ln.current),$s(L)),!D&&R&&$s([{type:"assistant",text:R+`
|
|
153
|
+
|
|
154
|
+
[Interrupted]`}]),$s([{type:"user",text:g}]),vu(""),Iu(!0),wu(be=>be+1),tm()&&nm("turn-start",rm(n.messages,n.lineage,{historyItems:y.current,foregroundItems:ln.current,streamingResponse:ae.current.currentResponse,streamingThinking:ae.current.thinkingContent,persistedUiHistory:A.current})),X(!0),st.current=!1,pc.current=!1,++Vc.current,_u(null),fs(null),ut.current=null,$u.current=null,Ct(void 0),bc(),pi.current=[],ms.current=[],Tc([]),hi(),Ic(void 0),Cr.current=[],tn.current=[],ko(),jm(),je(),Ge(),we(void 0),Dt(),le(),gr(n),await new Promise(be=>setTimeout(be,50));let N=i(be=>{if(be.stage==="started"||be.stage==="generating"||be.stage==="validating"||be.stage==="ready"){fs(be.message);return}fs(null)},"handleWorkflowBuilderEvent"),J=Bm,ee=i(be=>{if(be.type==="event")return;let Pe=Ot(be.text).trimEnd();if(Pe.trim()){if(be.type==="error"){K({type:"error",text:Pe});return}if(be.type==="assistant"){Gn([{type:"assistant",text:Pe}]);return}kn({type:"info",text:Pe},"workflow-message")}},"handleWorkflowRunMessage"),He=i(async(be,Pe,Ln)=>{if(Bd({source:be.source}).action==="none")return!1;let lr=[],Lo=console.log;console.log=(...te)=>{lr.push(px(te))};let kr=!1,Bs=i(()=>{kr||(kr=!0,n.messages.push({role:"user",content:Pe||be.request}))},"commitWorkflowUserMessage"),U={...Ln,onWorkflowRunMessage:i(te=>{if(Ln.onWorkflowRunMessage?.(te),te.type!=="assistant"||te.final!==!0)return;let xe=Ot(te.text).trimEnd();xe.trim()&&(Bs(),n.messages.push({role:"assistant",content:xe}),_n(n.messages),oo(),ae.current.pendingInputs.length>0&&(dc.current=!0))},"onWorkflowRunMessage")};try{let te=await of({request:be.request,callbacks:U,approval:$.permissionMode==="plan"?"required":"silent",presentation:"agentic",sourceLabel:be.displayName,processSource:be.processSource??"command",...be.builtin!==void 0?{builtin:be.builtin}:{},onBuilderEvent:U.onWorkflowBuilderEvent});return te==="started"&&ae.current.pendingInputs.length>0&&(dc.current=!0),Wd({outcome:te})}finally{fs(null),console.log=Lo;let te=mx(lr.filter((xe,Xt,Er)=>Er.indexOf(xe)===Xt));te&&K({type:"info",text:te})}},"runWorkflowInvocation"),Ue=_i(x.trim());if(Ue){let be=!1,Pe=i(U=>{Ue.command==="workflow"&&(be||(be=!0,n.messages.push({role:"user",content:x.trim()})),n.messages.push({role:"assistant",content:U}),_n(n.messages),oo())},"commitSlashWorkflowFinalMessage"),Ln={getRuntimeStatus:e.getRuntimeStatus,validateSetupA2AConfig:e.validateSetupA2AConfig,prepareSetupSandbox:e.prepareSetupSandbox,inspectSandbox:e.inspectSandbox,learning:e.learning,getLearningSummary:e.learning?()=>e.learning.getSnapshot():void 0,openLearningCenter:I_,exit:b_,saveSession:i(async()=>{if(n.messages.length>0){let U=No(n.messages);n.title=U;let te=n.lineage??_n(n.messages);n.lineage=te,await o.save(n.sessionId,nc({messages:n.messages,title:U,gitRoot:n.gitRoot??"",runtimeInfo:n.runtimeInfo,tag:Le.current.session?.tag,uiHistory:A.current,lineage:te,artifactLedger:n.artifactLedger,extensionState:n.extensionState,extensionRecords:n.extensionRecords})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1}},"saveSession"),startNewSession:i(()=>{let U=Ji(),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,A.current=[],n.createdAt=te,n.lastAccessed=te,Gc(r),Le.current.session={...Le.current.session,id:U},tr(null),ge(),qr([]),Ph()?.reset(),Z(U),S?.writer.update({sessionId:U})},"startNewSession"),loadSession:i(async U=>{let te=await o.load(U);if(te){if(!oi($,"Resuming a saved session",au))return"blocked";let Xt=await _r({cwd:process.cwd()}),Er=xn(te),yd=Er??Xt;return Er?.workspaceRoot&&!nf(Er)&&(yd=Xt),n.messages=te.messages,n.uiHistory=ni(te.uiHistory),n.lineage=te.lineage,n.artifactLedger=te.artifactLedger,n.extensionState=te.extensionState?structuredClone(te.extensionState):void 0,n.extensionRecords=te.extensionRecords?.map(yh=>({...yh})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.title=te.title,n.sessionId=U,n.contextTokenSnapshot=void 0,Gc(yd),Le.current.session={...Le.current.session,id:U,tag:te.tag},A.current=n.uiHistory??[],tr(null),ge(),qr([]),Z(U),S?.writer.update({sessionId:U}),console.log(ft.green(`[Session loaded: ${U}]`)),"loaded"}return"missing"},"loadSession"),listSessions:i(async()=>{let U=await o.list(n.gitRoot??void 0);if(U.length===0){console.log(ft.dim(`
|
|
155
|
+
[No saved sessions]`));return}console.log(ft.bold(`
|
|
156
|
+
Recent Sessions:
|
|
157
|
+
`));for(let te of U.slice(0,10))console.log(` ${ft.cyan(te.id)} ${ft.dim(`(${te.msgCount} messages)`)} ${te.title.slice(0,40)}`);console.log()},"listSessions"),clearHistory:i(()=>{n.uiHistory=[],ge(),qr([])},"clearHistory"),printHistory:i(()=>{if(n.messages.length===0){console.log(ft.dim(`
|
|
158
|
+
[No conversation history]`));return}console.log(ft.bold(`
|
|
159
|
+
Conversation History:
|
|
160
|
+
`));let U=n.messages.slice(-20);for(let te=0;te<U.length;te++){let xe=U[te],Xt=ft.cyan(xe.role.padEnd(10)),Er=ef(xe.content),yd=Er.slice(0,60).replace(/\n/g," "),yh=Er.length>60?"...":"";console.log(` ${(te+1).toString().padStart(2)}. ${Xt} ${yd}${yh}`)}console.log()},"printHistory"),switchProvider:i((U,te)=>{let xe=Ei({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});Me(Xt=>({...Xt,provider:U,model:te})),Le.current.provider=U,Le.current.model=te,Le.current.effort=xe.runtimeEffort,xe.diagnostic&&console.log(ft.yellow(`
|
|
161
|
+
[${xe.diagnostic}]`))},"switchProvider"),setThinking:i(U=>{let te=U?"auto":"off";Me(xe=>({...xe,thinking:U,reasoningMode:te})),Le.current.thinking=U,Le.current.reasoningMode=te},"setThinking"),setEffort:i(U=>{Me(te=>({...te,effort:U,effortOverride:U!==void 0}))},"setEffort"),setReasoningMode:i(U=>{let te=U!=="off";Me(xe=>({...xe,thinking:te,reasoningMode:U})),Le.current.thinking=te,Le.current.reasoningMode=U},"setReasoningMode"),setAgentMode:i(U=>{Me(te=>({...te,agentMode:U})),Le.current.agentMode=U},"setAgentMode"),setPermissionMode:uh,setRepoIntelligenceRuntime:i(U=>{Me(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:i(async U=>{await o.delete?.(U)},"deleteSession"),deleteAllSessions:i(async()=>{await o.deleteAll?.(n.gitRoot??void 0)},"deleteAllSessions"),printSessionTree:i(async()=>{let U=await o.getLineage?.(n.sessionId);if(!U){console.log(ft.dim(`
|
|
162
|
+
[No session tree available for this session]`));return}let te=Xp(Ad(U));console.log(ft.bold(`
|
|
163
|
+
Session Tree:
|
|
164
|
+
`)),te.forEach(xe=>console.log(` ${xe}`)),console.log()},"printSessionTree"),switchSessionBranch:i(async U=>{if(!oi($,"Switching session branches",au))return"blocked";let xe=await o.setActiveEntry?.(n.sessionId,U,{summarizeCurrentBranch:!0});return xe?(n.messages=xe.messages,n.uiHistory=ni(xe.uiHistory),n.extensionState=xe.extensionState?structuredClone(xe.extensionState):void 0,n.extensionRecords=xe.extensionRecords?.map(Xt=>({...Xt})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.title=xe.title,n.contextTokenSnapshot=void 0,Gc(xn(xe)??n.runtimeInfo??r),A.current=n.uiHistory??[],tr(null),ge(),qr([]),console.log(ft.green(`
|
|
165
|
+
[Switched to tree entry: ${U}]`)),console.log(ft.dim(` Messages: ${xe.messages.length}`)),"switched"):"missing"},"switchSessionBranch"),labelSessionBranch:i(async(U,te)=>{if(!await o.setLabel?.(n.sessionId,U,te))return!1;let Xt=te&&te.trim()?`checkpoint label set: ${te.trim()}`:"checkpoint label cleared";return console.log(ft.green(`
|
|
166
|
+
[${Xt}]`)),!0},"labelSessionBranch"),forkSession:i(async U=>{if(!oi($,"Forking a session branch",au))return"blocked";let xe=await o.fork?.(n.sessionId,U);if(!xe)return"failed";n.sessionId=xe.sessionId,n.messages=xe.data.messages,n.uiHistory=ni(xe.data.uiHistory),n.extensionState=xe.data.extensionState?structuredClone(xe.data.extensionState):void 0,n.extensionRecords=xe.data.extensionRecords?.map(Er=>({...Er})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.title=xe.data.title,n.contextTokenSnapshot=void 0,Gc(xn(xe.data)??n.runtimeInfo??r),A.current=n.uiHistory??[];let Xt=new Date().toISOString();return n.createdAt=Xt,n.lastAccessed=Xt,Le.current.session={...Le.current.session,id:xe.sessionId},tr(null),ge(),qr([]),Z(xe.sessionId),S?.writer.update({sessionId:xe.sessionId}),console.log(ft.green(`
|
|
167
|
+
[Forked session: ${xe.sessionId}]`)),console.log(ft.dim(` Messages: ${xe.data.messages.length}`)),"forked"},"forkSession"),recoverSession:Nw,rewindSession:i(async U=>{if(!oi($,"Rewinding session",au))return"blocked";let xe=await o.rewind?.(n.sessionId,U);return xe?(n.messages=xe.messages,n.uiHistory=ni(xe.uiHistory),n.extensionState=xe.extensionState?structuredClone(xe.extensionState):void 0,n.extensionRecords=xe.extensionRecords?.map(Xt=>({...Xt})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.title=xe.title,n.contextTokenSnapshot=void 0,Gc(xn(xe)??n.runtimeInfo??r),A.current=n.uiHistory??[],tr(null),ge(),qr([]),console.log(ft.green(`
|
|
168
|
+
[Rewound session${U?` to ${U}`:" to previous turn"}]`)),console.log(ft.dim(` Messages: ${xe.messages.length}`)),"rewound"):"failed"},"rewindSession"),getCostReport:i(()=>q.current?.()??null,"getCostReport"),getAutoModeStats:i(async()=>{if(zn(An.current))return e.runtimeAutoModeControl?e.runtimeAutoModeControl.getStats(n.sessionId):f.getGuardrail().getStats()},"getAutoModeStats"),setAutoModeEngine:i(async U=>{if(zn(An.current)){if(e.runtimeAutoModeControl){let te=await e.runtimeAutoModeControl.setEngine(n.sessionId,U);Un(te?.engine??U);return}f.getGuardrail().setEngine(U),Un(U)}},"setAutoModeEngine"),createKodaXOptions:i(()=>({...Le.current,provider:$.provider,model:$.model,effort:Rt,thinking:$.thinking,reasoningMode:$.reasoningMode,agentMode:$.agentMode,guardrails:e.runtimeRunner?void 0:fx(An.current,f),events:Kc()}),"createKodaXOptions"),reloadAgentsFiles:i(async()=>await fT({cwd:process.cwd(),projectRoot:n.gitRoot??void 0}),"reloadAgentsFiles"),startCompacting:i(()=>{Ke()},"startCompacting"),stopCompacting:i(()=>{bt()},"stopCompacting"),onCompactStats:i(U=>{fc.current=U.tokensBefore,tr(U.tokensAfter)},"onCompactStats"),confirm:i(async U=>(await ro("confirm",{_alwaysConfirm:!0,_message:U})).confirmed,"confirm"),onWorkflowBuilderEvent:N,onWorkflowRunMessage:i(U=>{if(ee(U),U.type!=="assistant"||U.final!==!0)return;let te=Ot(U.text).trimEnd();te.trim()&&Pe(te)},"onWorkflowRunMessage"),onWorkflowRunUpdate:J,ui:{select:i(async(U,te)=>C_(U,te),"select"),confirm:i(async U=>(await ro("confirm",{_alwaysConfirm:!0,_message:U})).confirmed,"confirm"),input:i(async(U,te)=>Ls(U,te),"input")}},Vn=[],lr=console.log;console.log=(...U)=>{Vn.push(px(U))};let Lo,kr;try{let U=await Li(Ue,n,Ln,$);typeof U=="object"&&U!==null&&"invocation"in U&&(Lo=U.invocation),typeof U=="object"&&U!==null&&"workflow"in U&&(kr=U.workflow)}finally{fs(null),console.log=lr}let Bs=mx(Vn);if(Bs&&K({type:"info",text:Bs}),kr){try{await He(kr,x.trim(),Ln)}finally{ae.current.pendingInputs.length>0&&(dc.current=!0),X(!1),pe(),ne()}return}if(Lo){X(!1),pe(),X(!0),le(),ue();try{await Bw(Lo,x.trim())}catch(U){let te=U instanceof Error?U:new Error(String(U)),xe=te.name==="AbortError"||te.message.includes("aborted")||te.message.includes("ABORTED");console.log=lr,xe?pd():Gn([{type:"error",text:te.message}])}finally{X(!1),pe(),ne()}return}X(!1),pe();return}let Yt=await Sy(x.trim());if(x.trim().startsWith("!")&&Ql(Yt)){X(!1),pe();return}let wi=Le.current.context?.executionCwd??process.cwd(),Ns=i(be=>{be.length!==0&&Gn(be.map(Pe=>({type:"info",text:Pe})))},"emitArtifactWarnings");ue();let Ti=[],Je=console.log;console.log=(...be)=>{Ti.push(px(be))};try{await Ds(Yt,async be=>{let Pe=qa(be,Le.current.context?.executionCwd??process.cwd());return Ns(Pe.warnings),Ps(Le.current,Pe.promptText,n.messages,Pe.inputArtifacts)})}catch(be){let Pe=be instanceof Error?be:new Error(String(be));if(Pe.name==="AbortError"||Pe.message.includes("aborted")||Pe.message.includes("ABORTED"))console.log=Je,pd();else{let Vn=Pe.message;if(Pe.message.includes("rate limit")||Pe.message.includes("Rate limit")?Vn=`[Rate Limit] ${Pe.message}
|
|
169
|
+
Suggestion: Wait a moment and try again, or switch provider with /mode`:Pe.message.includes("API key")||Pe.message.includes("not configured")?Vn=`[Configuration Error] ${Pe.message}
|
|
170
|
+
Suggestion: Set the required API key environment variable`:Pe.message.includes("network")||Pe.message.includes("ECONNREFUSED")||Pe.message.includes("ETIMEDOUT")?Vn=`[Network Error] ${Pe.message}
|
|
171
|
+
Suggestion: Check your internet connection`:(Pe.message.includes("token")||Pe.message.includes("context too long"))&&(Vn=`[Context Error] ${Pe.message}
|
|
172
|
+
Suggestion: Use /clear to start fresh`),console.log=Je,ot.current.workerId?Gt({id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"error",text:Vn,timestamp:Date.now()}):Gn([{type:"error",text:Vn}]),af({error:Pe,messageCount:n.messages.length})){let lr={type:"info",text:el};if(ot.current.workerId?(Gt({id:`recover-hint-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,...lr,timestamp:Date.now()}),gd([lr])):Gn([lr]),(await ro("confirm",{_alwaysConfirm:!0,_message:sf})).confirmed)try{await Nw(Yt)}catch(kr){let Bs=kr instanceof Error?kr.message:String(kr);Gn([{type:"error",text:`[Recover failed] ${Bs}`}])}}}}finally{if(console.log=Je,Ti.length>0){let Pe=Ti.filter((Vn,lr,Lo)=>Lo.indexOf(Vn)===lr),Ln=mx(Pe);Ln&&K({type:"info",text:Ln})}if(!st.current){let Pe=Rc(j.Cancelled,()=>({error:"Run ended before the tool result was observed.",output:void 0}));Pe.length>0&&ot.current.workerId&&Pe.forEach(Ln=>sr(Ln))}X(!1),pe(),je(),jm(),ne();let be=Ii(n.messages);n.contextTokenSnapshot={currentTokens:be,baselineEstimatedTokens:be,source:"estimate"},tr(be)}},[Yr,n,$,km,W.pendingInputs.length,o,ze,Be,v,l,K,ge,le,pe,je,Kc,Bw,Ce,F,Ne,Gt,$s,Gn,mh,zc,oo,gd,_n,Ds,ph,Ke,bt,ko,jm,Rc,sr,hi,xc,Sc]),Ww=Wt.shouldRender?ce(E,{paddingX:1,children:ce(uR,{viewModel:Wt})}):void 0,Hw=B&&br.shouldRender?ce(E,{paddingX:1,children:ce(aR,{viewModel:br})}):void 0,Fw=HS?ce(E,{paddingX:1,children:ce(Wp,{viewModel:zm})}):void 0,E_=Ww||Hw||Fw?vn(E,{flexDirection:"column",children:[Hw,Ww,Fw]}):void 0,jw=Wt.shouldRender?Wt.counterText:void 0,M_=ce(Nl,{left:ce(Ol,{items:nw}),right:ce(Dl,{items:rw}),queued:ce(Op,{pendingInputs:W.pendingInputs}),stashNotice:ce(Gl,{text:sd}),notifications:ce(Ul,{notifications:id}),inlineNotices:th.length>0?ce(Dp,{notices:th}):void 0,activityBar:to?vn(E,{paddingX:1,flexDirection:"row",children:[vn(E,{flexGrow:1,children:[to?.showSpinner?ce(On,{color:oe("dark").colors.accent}):null,to?vn(I,{color:to.kind==="waiting"?oe("dark").colors.warning:oe("dark").colors.accent,wrap:"truncate",children:[to.showSpinner?" ":"",to.text]}):null,to?.showSpinner&&W.roundStartedAt!=null?ce(ob,{roundStartedAt:W.roundStartedAt,charCount:W.currentResponse.length,theme:oe("dark")}):null]}),jw?ce(I,{dimColor:!0,wrap:"truncate",children:jw}):B&&br.shouldRender?ce(I,{dimColor:!0,wrap:"truncate",children:`${br.completedCount}/${br.totalCount} completed`}):null]}):void 0,todoSurface:E_,composer:ce(Ep,{onSubmit:k_,onHistoryRecall:R_,onPopPendingInputs:i(()=>{let u=H();if(u.length!==0)return u.join(`
|
|
173
|
+
---
|
|
174
|
+
`)},"onPopPendingInputs"),prompt:">",placeholder:bE({isLoading:B,canQueueFollowUps:km,waitingReason:Jm}),focus:!ze&&!Be&&!mt,cwd:process.cwd(),gitRoot:e.context?.gitRoot||n.gitRoot,onInputChange:a_,onPasteFallback:y_}),inlineSuggestions:h_,helpSurface:vS?ce(Ap,{sections:om()}):void 0,taskBar:Nc?ce(Vl,{items:bs.backgroundTask.items,overflowLabel:bs.backgroundTask.overflowLabel,ctaHint:bs.backgroundTask.ctaHint,showSpinner:B}):void 0,statusLine:ce(E,{children:ce(Xi,{...rd,viewModel:ew})}),inlineDialogs:x_}),A_=ce(Nl,{left:ce(Ol,{items:nw}),right:ce(Dl,{items:rw}),stashNotice:ce(Gl,{text:sd}),notifications:ce(Ul,{notifications:id}),composer:ce(rR,{searchActive:mt,selectionActive:!!(eo||it),showAllActive:Bt,searchQuery:un,searchCurrent:Ht.length>0?Ao+1:0,searchCount:Ht.length,searchDetailText:qm,pendingLiveUpdates:_c,secondaryText:p_}),taskBar:Nc?ce(Vl,{items:bs.backgroundTask.items,overflowLabel:bs.backgroundTask.overflowLabel,ctaHint:bs.backgroundTask.ctaHint,showSpinner:ht}):void 0,statusLine:ce(E,{children:ce(Xi,{...rd,viewModel:Zm})})}),hh=G(u=>ce(oR,{banner:u?.bannerVisible?ce(hx,{...yi}):void 0,items:Pc,isLoading:dn,viewportRows:zt.messageRows,viewportWidth:Q,scrollOffset:nr,windowed:!!u?.rendererWindow,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?Oc:yw,maxLines:Lt,selectedTextRanges:Vm?Au?.rowRanges:void 0,onMetricsChange:cd,onVisibleRowsChange:ld}),[yi,Pc,dn,cd,ld,nr,yw,Q,Lt,Au?.rowRanges,zt.messageRows,Vm]),gh=G(u=>ce(iR,{banner:u?.bannerVisible?ce(hx,{...yi}):void 0,items:Lc,browse:{hintText:_o.browseHintText},selection:ad,search:YS,isLoading:ht,isThinking:ve.isThinking,thinkingCharCount:ve.thinkingCharCount,thinkingContent:ve.thinkingContent,streamingResponse:ve.currentResponse,currentTool:ve.currentTool,activeToolCalls:ve.activeToolCalls,toolInputCharCount:ve.toolInputCharCount,toolInputContent:ve.toolInputContent,iterationHistory:ve.iterationHistory,currentIteration:ve.currentIteration,isCompacting:ve.isCompacting,agentMode:$.agentMode,managedPhase:ht?z?.phase:void 0,managedHarnessProfile:ht?z?.harnessProfile:void 0,managedWorkerTitle:ht?z?.activeWorkerTitle:void 0,managedRound:ht?z?.currentRound:void 0,managedMaxRounds:ht?z?.maxRounds:void 0,managedGlobalWorkBudget:ht?z?.globalWorkBudget:void 0,managedBudgetUsage:ht?z?.budgetUsage:void 0,managedBudgetApprovalRequired:ht?z?.budgetApprovalRequired:void 0,lastLiveActivityLabel:ve.lastLiveActivityLabel,liveStatusLines:Is,viewportRows:zt.messageRows,viewportWidth:Q,scrollOffset:nr,windowed:!!u?.windowed,animateSpinners:!!u?.rendererWindow&&ks,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?Oc:Qu,maxLines:Lt,showDetailedTools:Bt,showAllContent:Bt,selectedItemId:jn.selectionEnabled?it:void 0,selectedTextRanges:Xr?.rowRanges,expandedItemKeys:jn.selectionEnabled?Rn:void 0,onMetricsChange:cd,onVisibleRowsChange:ld}),[yi,$.agentMode,ht,Rn,c.transcriptSpinnerAnimation,cd,ld,nr,PS,z?.activeWorkerTitle,z?.budgetApprovalRequired,z?.budgetUsage,z?.currentRound,z?.globalWorkBudget,z?.harnessProfile,z?.maxRounds,z?.phase,Oc,Qu,_o.browseHintText,it,ad,Q,ks,Lc,Lt,ve.activeToolCalls,ve.currentIteration,ve.currentResponse,ve.currentTool,ve.isCompacting,ve.isThinking,ve.iterationHistory,ve.lastLiveActivityLabel,ve.thinkingCharCount,ve.thinkingContent,ve.toolInputCharCount,ve.toolInputContent,Is,Xr?.rowRanges,YS,Bt,zt.messageRows]),__=se?gh({bannerVisible:!1,windowed:Pt}):hh({bannerVisible:!1}),Uw=se?A_:M_,L_=c.enabled&&gi,Gw=vn(E,{flexDirection:"column",width:Q,flexShrink:0,flexGrow:L_?1:0,children:[ce(_y,{currentConfig:$,setCurrentConfig:Me,isLoading:B,abort:Ee,stopThinking:Y,clearThinkingContent:ne,setCurrentTool:we,setIsLoading:X,onToggleHelp:s_,setShowHelp:bS,onSetThinking:i(u=>{Le.current.thinking=u},"onSetThinking"),onSetReasoningMode:i(u=>{Le.current.reasoningMode=u,Le.current.thinking=u!=="off"},"onSetReasoningMode"),onToggleTranscriptMode:S_,onOpenTranscriptSearch:ih,canOpenTranscriptSearch:se&&!ze&&!Be,isInteractiveDialogActive:!!(ze||Be),onSetAgentMode:i(u=>{Le.current.agentMode=u},"onSetAgentMode"),onSetPermissionMode:i(u=>{uh(u)},"onSetPermissionMode"),isInputEmpty:hc,onSavePermissionMode:xC}),er&&(c.enabled?null:ce(wa,{items:[1],children:i(()=>ce(hx,{...yi},"banner"),"children")})),gi?ce(vp,{width:Q,stickyHeader:_o.stickyHeader,jumpToLatest:_o.jumpToLatest,transcript:!c.enabled||!Pt?se?gh({bannerVisible:!1}):hh({bannerVisible:!1}):void 0,renderTranscriptWindow:c.enabled&&Pt?u=>(()=>{let x=Fc(u).contentWindow;return se?gh({bannerVisible:!1,windowed:!0,rendererWindow:x}):hh({bannerVisible:!1,rendererWindow:x})})():void 0,overlay:ch,scrollTop:nr,scrollHeight:Hc,viewportHeight:zt.messageRows,stickyScroll:!se&&!Ir&&Lm,overscanRows:zH,scrollRef:KA,onWindowChange:g_,onScrollTopChange:YA,onStickyChange:XA,footer:Uw}):vn(MH,{children:[vn(E,{flexDirection:"column",flexGrow:1,children:[__,ch?ce(E,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:ch}):null]}),Uw]})]});return Gm?ce(xg,{mouseTracking:Eo.usesRendererMouseTracking,children:Gw}):Gw},"InkREPLInner"),JH=i(e=>{let t=process.cwd(),n=e.options?.context?.gitRoot??void 0;return ce(Hl,{children:ce(Yl,{getPendingInputAgentId:i(()=>wd(e.context.sessionId,"/root"),"getPendingInputAgentId"),children:ce(Il,{children:ce(My,{children:ce(qf,{cwd:t,gitRoot:n,children:ce(QH,{...e})})})})})})},"InkREPL");function ZH(){return process.stdin.isTTY===!0&&typeof process.stdin.setRawMode=="function"}i(ZH,"isRawModeSupported");async function ym(e){if(!ZH())throw new Rh("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 ts,n=Ho(),r=Fo(),o=jo(n,r),{prepareRuntimeConfig:s}=await import("./utils-SID4HW2Q.js"),{loadCompactionConfig:a}=await import("./compaction-config-BQSSIWK5.js"),{resolveProvider:c}=await import("./dist-PCFE24YP.js"),l=s(),d=qs({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,configuredProvider:l.provider,defaultProvider:xd}),f=Qs({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,explicitModel:e.model,configuredProvider:l.provider,configuredModel:l.model}),p=DH(e,l),m=Js({explicitEffort:e.effort,environmentEffort:process.env.KODAX_EFFORT,configuredEffort:l.effort}),h=Kd(e,l,process.env.KODAX_EFFORT),S=e.agentMode??l.agentMode??"ama",v=p!=="off",T=Ys(l.permissionMode,"accept-edits")??"accept-edits",w=Dd(),b=l.repoIntelligenceTrace===!0,M={provider:d,model:f,effort:m,effortOverride:h,planModeEffort:l.planModeEffort,thinking:v,reasoningMode:p,agentMode:S,permissionMode:T,repoIntelligenceMode:w.mode,repoIntelligenceTrace:b},O=e.session?.id,k=[],P,q,V,K,fe,ge="",Z=await _r({cwd:process.cwd()}),y=Z.workspaceRoot??void 0,A=Z,Q=y,W=bd({meta:{cwd:process.cwd(),startedAt:Date.now()}});if(W){let Y=i(()=>{W.shutdown()},"teamModeCleanup");process.on("exit",Y),process.on("SIGTERM",Y)}try{let{bootstrapConstructionRuntime:Y}=await import("./construction-bootstrap-VQLQGWPY.js"),ne=await Y(y??process.cwd());if(ne.loaded>0||ne.failed>0||ne.tampered>0){let we=ne.failed>0?`; ${ne.failed} failed`:"",nt=ne.tampered>0?`; ${ne.tampered} skipped due to manifest contentHash mismatch \u2014 re-stage and re-activate to re-approve`:"";dt({source:"repl:construction",level:ne.failed>0||ne.tampered>0?"warn":"info",message:`Rehydrated ${ne.loaded} active tool(s)${we}${nt}.`})}if(ne.markdownLoaded>0||ne.markdownFailures.length>0){dt({source:"repl:agents",level:ne.markdownFailures.length>0?"warn":"info",message:`Loaded ${ne.markdownLoaded} markdown agent(s).`});for(let we of ne.markdownFailures)dt({source:"repl:agents",level:"warn",message:`Skipped markdown agent ${we.path}: ${we.reason}`})}}catch(Y){dt({source:"repl:construction",level:"warn",message:`Bootstrap failed: ${Y.message}. Self-construction disabled this session.`})}let ae;try{let Y=await a(y),ne=c(d);ae={contextWindow:Y.contextWindow??ne.getContextWindow?.()??2e5,triggerPercent:Y.triggerPercent,triggerTokens:Y.triggerTokens,enabled:Y.enabled,reservedResponseTokens:ne.getEffectiveMaxOutputTokens?.(f),userOverrideContextWindow:Y.contextWindow}}catch{}if(e.session?.id&&!e.session.resume){let Y=await t.load(e.session.id);Y&&(k=Y.messages,P=ni(Y.uiHistory),q=Y.lineage,V=Y.artifactLedger,K=Y.extensionState,fe=Y.extensionRecords,ge=Y.title,O=e.session.id,A=xn(Y)??Z,Q=A.workspaceRoot??void 0,e={...e,session:{...e.session??{},id:O,tag:Y.tag}},console.log(ft.green(`[Session loaded: ${O}]`)))}else if(e.session?.resume||e.session?.autoResume){let Y=await Va(t,y);if(Y){let ne=await t.load(Y.id);ne&&(k=ne.messages,P=ni(ne.uiHistory),q=ne.lineage,V=ne.artifactLedger,K=ne.extensionState,fe=ne.extensionRecords,ge=ne.title,O=Y.id,A=xn(ne)??Z,Q=A.workspaceRoot??void 0,e={...e,session:{...e.session??{},id:O,tag:ne.tag}},console.log(ft.green(`[Continuing session: ${Y.id}]`)))}}let le=await Ua({sessionId:O,gitRoot:Q,runtimeInfo:A,existingMessages:k,existingUiHistory:P,existingLineage:q,existingArtifactLedger:V,existingExtensionState:K,existingExtensionRecords:fe});le.title=ge,e={...e,context:{...e.context,gitRoot:le.gitRoot??void 0,executionCwd:le.runtimeInfo?.executionCwd??le.gitRoot??process.cwd()}},W?.writer.update({sessionId:le.sessionId});let pe={current:null},Ee={current:null},ue={current:M},ye=ra(),_e=await Ga({askUser:i(async(Y,ne,we)=>{let nt=pe.current;return nt?nt(Y,ne,we):"block"},"askUser"),projectRoot:y??process.cwd(),executionCwd:A.executionCwd??y??process.cwd(),getCurrentProviderName:i(()=>ue.current.provider,"getCurrentProviderName"),getCurrentModel:i(()=>ue.current.model,"getCurrentModel"),getCurrentPermissionMode:i(()=>ue.current.permissionMode,"getCurrentPermissionMode"),autoModeSettings:ye,log:i((Y,ne)=>{dt({source:"repl:auto-mode",level:Y==="warn"?"warn":"info",message:ne})},"log"),onEngineChange:i(Y=>{Ee.current?.(Y)},"onEngineChange"),extraCollectors:[na]});try{let Y=process.stdout,ne=process.stdin,we=!1,{waitUntilExit:nt,cleanup:xt}=Sa(ce(JH,{options:e,config:M,context:le,startupRuntimeInfo:Z,storage:t,autoModeSettings:ja(ye),compactionInfo:ae,rendererMode:r,fullscreenPolicy:o,autoModeBootstrap:_e,setAutoModeAskUser:i(je=>{pe.current=je},"setAutoModeAskUser"),setAutoModeEngineChange:i(je=>{Ee.current=je},"setAutoModeEngineChange"),setCurrentConfigRef:i(je=>{ue.current=je},"setCurrentConfigRef"),teamModeHandle:W,onExit:i(()=>{we=!0},"onExit")}),{stdout:Y,stdin:ne,exitOnCtrlC:!1,patchConsole:!1,maxFps:30,shellMode:o.enabled?o.promptShell:"main-screen"});await nt(),xt(),W?.shutdown(),ne.isTTY===!0&&typeof ne.setRawMode=="function"&&ne.isRaw&&ne.setRawMode(!1),ne.pause?.(),ne.unref?.(),we&&console.log(ft.dim(`
|
|
175
|
+
[Exiting KodaX...]`));let Ge=e.hardExitOnClose??process.env.VITEST!=="true";if(we&&Ge){let je=process.exitCode??0,de=!1,Ce=i(()=>{de||(de=!0,process.exit(je))},"requestProcessExit");setTimeout(Ce,0).unref?.(),Y.write("",Ce);return}}catch(Y){throw Y instanceof Error&&Y.message.includes("Raw mode")?new Rh("Interactive mode failed to start.",['kodax -p "your task" # Run a single task',"kodax -c # Continue last session"]):Y}}i(ym,"runInkInteractiveMode");import{jsx as cu,jsxs as rc}from"react/jsx-runtime";import{useMemo as eF,useRef as tF,useState as Sx}from"react";var nF=40;function rF(e,t){let n=t.trim().toLocaleLowerCase().split(/\s+/).filter(Boolean);return n.length===0?[...e]:e.filter(r=>{let o=[r.title,r.id,r.surface??"",r.createdAt??"",String(r.msgCount)].join(" ").toLocaleLowerCase();return n.every(s=>o.includes(s))})}i(rF,"filterSessionPickerItems");function oF(e,t,n){let r=Math.max(1,n),o=e.length===0?0:Math.max(0,Math.min(t,e.length-1)),s=Math.floor(o/r)*r;return{items:e.slice(s,s+r),selectedIndex:o,pageStart:s,pageIndex:Math.floor(s/r),pageCount:Math.max(1,Math.ceil(e.length/r))}}i(oF,"buildSessionPickerPage");function iF(e){if(!e)return"unknown time";let t=new Date(e);if(Number.isNaN(t.getTime()))return e;let n=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),o=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),a=String(t.getMinutes()).padStart(2,"0");return`${n}-${r}-${o} ${s}:${a}`}i(iF,"formatTimestamp");function sF({sessions:e,onSelect:t,onSelectionError:n,onCancel:r,pageSize:o=8}){let{exit:s}=Nr(),[a,c]=Sx(""),[l,d]=Sx(0),[f,p]=Sx(!1),m=tF(!1),h=eF(()=>rF(e,a),[e,a]),S=oF(h,l,o),v=h[S.selectedIndex];return Ta((T,w)=>{if(!m.current){if(w.escape||w.ctrl&&T==="c"){r(),s();return}if(w.return){let b=h[S.selectedIndex];b&&(m.current=!0,p(!0),(async()=>{await new Promise(M=>setTimeout(M,nF));try{await t(b)}catch(M){n(M)}finally{s()}})());return}if(w.upArrow)d(b=>Math.max(0,b-1));else if(w.downArrow)d(b=>Math.min(Math.max(0,h.length-1),b+1));else if(w.pageUp)d(b=>Math.max(0,b-o));else if(w.pageDown)d(b=>Math.min(Math.max(0,h.length-1),b+o));else if(w.home)d(0);else if(w.end)d(Math.max(0,h.length-1));else if(w.tab){let b=h[S.selectedIndex];b&&(c(b.title),d(0))}else w.backspace||w.delete?(c(b=>b.slice(0,-1)),d(0)):T&&!w.ctrl&&!w.meta&&!w.super&&(c(b=>b+T),d(0))}}),rc(E,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,children:[cu(I,{bold:!0,color:"cyan",children:"Resume a session"}),rc(I,{children:["Search: ",cu(I,{color:"yellow",children:a||"type to filter"})]}),cu(I,{dimColor:!0,children:f?"Loading selected session...":"\u2191/\u2193 select \xB7 PgUp/PgDn page \xB7 Tab complete \xB7 Enter resume \xB7 Esc cancel"}),rc(E,{flexDirection:"column",marginTop:1,children:[S.items.length===0?cu(I,{color:"yellow",children:"No matching sessions."}):null,S.items.map((T,w)=>{let M=S.pageStart+w===S.selectedIndex,O=T.title.trim()||"Untitled session",k=T.surface?` \xB7 ${T.surface}`:"";return rc(I,{color:M?"cyan":void 0,bold:M,children:[M?"\u276F":" "," ",O," \xB7 ",T.msgCount," msgs",k," \xB7 ",iF(T.createdAt)," \xB7 ",T.id.slice(0,8)]},T.id)})]}),rc(I,{dimColor:!0,children:[h.length," matches \xB7 Page ",S.pageIndex+1,"/",S.pageCount]}),rc(I,{dimColor:!0,children:["Selected ID: ",v?.id??"none"]})]})}i(sF,"SessionPicker");async function aM(e,t={}){if(process.stdin.isTTY!==!0||process.stdout.isTTY!==!0)throw new Error("Searchable session resume requires an interactive terminal. Pass an exact session ID or title to -r/--resume instead.");let n,r=!1,o=!1,s,a=Math.max(4,Math.min(12,(process.stdout.rows??24)-8)),c=Sa(cu(sF,{sessions:e,pageSize:a,onSelect:i(async l=>{n=l,await t.prepareSelection?.(l)},"onSelect"),onSelectionError:i(l=>{o=!0,s=l},"onSelectionError"),onCancel:i(()=>{r=!0},"onCancel")}),{stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,exitOnCtrlC:!1,patchConsole:!1});try{await c.waitUntilExit()}finally{c.unmount(),c.cleanup()}if(o)throw s;if(!n&&!r)throw new Error("Session picker exited unexpectedly before selection or cancellation.");return n}i(aM,"runSessionPicker");import gn from"chalk";var cM=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],lM=["\x1B[36m","\x1B[35m","\x1B[34m"],uu=null,oc=!1;function lu(){let e=0,t=0,n=!1,r="Thinking...",o=i(()=>{if(n)return;let c=lM[t%lM.length],l="\x1B[0m",d=cM[e%cM.length];process.stdout.write(`\r${c}${d}${l} ${r}`)},"renderFrame"),s=setInterval(()=>{e++,e%10===0&&t++,o()},80);o();let a={stop:i(()=>{n||(n=!0,clearInterval(s),process.stdout.write("\r\x1B[K"))},"stop"),isStopped:i(()=>n,"isStopped"),updateText:i(c=>{r=c},"updateText")};return uu=a,a}i(lu,"startWaitingDots");function uM(e=!0){let t=null,n=0,r=!1;return{onSessionStart:i(s=>{console.log(e?gn.cyan(`[KodaX] Provider: ${s.provider} | Session: ${s.sessionId}`):gn.cyan(`[KodaX] Provider: ${s.provider}`))},"onSessionStart"),onTextDelta:i(s=>{t&&(t.stop(),t=null),n=0,process.stdout.write(s),r=!0},"onTextDelta"),onThinkingDelta:i(s=>{n+=s.length,t||(t=lu()),t.updateText(`Thinking... (${n} chars)`)},"onThinkingDelta"),onThinkingEnd:i(s=>{if(t&&(t.stop(),t=null),s){let a=s.replace(/\n/g," "),c=a.length>100?a.slice(0,100)+"...":a;console.log(gn.dim(`[Thinking] ${c}`))}},"onThinkingEnd"),onToolUseStart:i(s=>{t||(oc||(process.stdout.write(`
|
|
176
|
+
`),oc=!0),t=lu()),t.updateText(`Executing ${s.name}...`)},"onToolUseStart"),onToolInputDelta:i((s,a,c)=>{let l=a.length;t&&!t.isStopped()?t.updateText(`Receiving ${s}... (${l} chars)`):(!t||t.isStopped())&&(oc||(process.stdout.write(`
|
|
177
|
+
`),oc=!0,r=!1),t=lu(),t.updateText(`Receiving ${s}... (${l} chars)`))},"onToolInputDelta"),onToolResult:i(s=>{t&&(t.stop(),t=null),console.log(gn.green(`[Result] ${s.content.slice(0,300)}${s.content.length>300?"...":""}`))},"onToolResult"),onRepoIntelligenceTrace:i(s=>{t&&(t.stop(),t=null),console.log(gn.dim(`[RepoIntel] ${s.summary}`))},"onRepoIntelligenceTrace"),onSidecarMessage:i(s=>{t&&(t.stop(),t=null);let a=s.delivery==="budget-exhausted"?"\u26A1 Sidecar Verifier \u2014 budget exhausted":s.verdict==="blocked"?"\u26A1 Sidecar Verifier \u2014 blocked":"\u26A1 Sidecar Verifier \u2014 revise",c=s.suggestedFix?`${s.content}
|
|
178
|
+
Suggested fix: ${s.suggestedFix}`:s.content;process.stdout.write(gn.yellow(`
|
|
179
|
+
${a}
|
|
180
|
+
`)+gn.dim(`${c}
|
|
181
|
+
`))},"onSidecarMessage"),onStreamEnd:i(()=>{uu&&!uu.isStopped()&&uu.stop(),uu=null,oc=!1,r&&(console.log(),r=!1),(!t||t.isStopped())&&(t=lu(),t.updateText("Processing..."))},"onStreamEnd"),onIterationStart:i((s,a)=>{t&&!t.isStopped()&&t.stop(),oc=!1,r=!1,console.log(gn.magenta(`
|
|
182
|
+
[Assistant]`)),t=lu()},"onIterationStart"),onCompactStart:i(()=>{console.log(gn.dim(`
|
|
183
|
+
[KodaX] Compacting context...`))},"onCompactStart"),onCompact:i(s=>{console.log(gn.dim(`[KodaX] Compaction finished (${s} tokens).`))},"onCompact"),onCompactEnd:i(()=>{},"onCompactEnd"),onRetry:i((s,a,c)=>{console.log(gn.yellow(`[KodaX] Retry ${a}/${c}: ${s}`))},"onRetry"),onProviderRecovery:i(s=>{let a=s.recoveryAction==="non_streaming_fallback"?"switching to non-streaming fallback":s.recoveryAction==="manual_continue"?"awaiting manual continue":`recovering ${s.attempt}/${s.maxAttempts}`;console.log(gn.yellow(`[KodaX] ${a} (${s.errorClass}, ${s.stage})`))},"onProviderRecovery"),onComplete:i(()=>{t&&(t.stop(),t=null),console.log(gn.green(`
|
|
184
|
+
[KodaX] Done!`))},"onComplete"),onError:i(s=>{t&&(t.stop(),t=null),console.log(gn.red(`
|
|
185
|
+
[Error] ${s.message}`))},"onError"),onScoutSuspiciousCompletion:i(s=>{console.log(gn.yellow(`
|
|
186
|
+
[Scout] Completion marked uncertain \u2014 signals: ${s.signals.join(", ")}. Verify the result before continuing.`))},"onScoutSuspiciousCompletion"),beforeToolExecute:i(async(s,a)=>!0,"beforeToolExecute")}}i(uM,"createCliEvents");function jt(e){return{...e?.sessionId!==void 0?{sessionId:e.sessionId}:{},...e?.seq!==void 0?{seq:e.seq}:{},...e?.turnId!==void 0?{turnId:e.turnId}:{},...e?.deliveryId!==void 0?{deliveryId:e.deliveryId}:{},...e?.timestamp!==void 0?{timestamp:e.timestamp}:{},...e?.workflowCorrelation!==void 0?{workflowCorrelation:e.workflowCorrelation}:{},...e?.childAgentId!==void 0?{childAgentId:e.childAgentId}:{},...e?.childAgentName!==void 0?{childAgentName:e.childAgentName}:{},...e?.parentToolId!==void 0?{parentToolId:e.parentToolId}:{},...e?.liveOnly!==void 0?{liveOnly:e.liveOnly}:{}}}i(jt,"activityMetaFields");function is(e){return{...e.sessionId!==void 0?{sessionId:e.sessionId}:{},...e.seq!==void 0?{seq:e.seq}:{},...e.turnId!==void 0?{turnId:e.turnId}:{},...e.deliveryId!==void 0?{deliveryId:e.deliveryId}:{},...e.timestamp!==void 0?{timestamp:e.timestamp}:{}}}i(is,"liveMetaFields");function rt(e,t){e.write(`${JSON.stringify(t)}
|
|
187
|
+
`)}i(rt,"writeJsonLine");function aF(e,t){return{type:"error",name:e.name,message:e.message,stack:e.stack,...jt(t)}}i(aF,"serializeError");function dM(e={}){let t=e.stdout??process.stdout,n=e.stderr??process.stderr;return{onSessionStart:i(r=>{rt(t,{type:"session.start",provider:r.provider,sessionId:r.sessionId,...is(r)})},"onSessionStart"),onTurnStarted:i(r=>{rt(t,{type:"turn.started",...r})},"onTurnStarted"),onTurnCompleted:i(r=>{rt(t,{type:"turn.completed",...r})},"onTurnCompleted"),onTurnFailed:i(r=>{rt(t,{type:"turn.failed",...r})},"onTurnFailed"),onIterationStart:i((r,o,s)=>{rt(t,{type:"iteration.start",iter:r,maxIter:o,...jt(s)})},"onIterationStart"),onIterationEnd:i(r=>{rt(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}:{},...is(r)})},"onIterationEnd"),onTextDelta:i((r,o)=>{rt(t,{type:"text.delta",text:r,...jt(o)})},"onTextDelta"),onThinkingDelta:i((r,o)=>{rt(t,{type:"thinking.delta",text:r,...jt(o)})},"onThinkingDelta"),onThinkingEnd:i((r,o)=>{rt(t,{type:"thinking.end",thinking:r,...jt(o)})},"onThinkingEnd"),onToolUseStart:i((r,o)=>{rt(t,{type:"tool.start",id:r.id,name:r.name,input:r.input,...jt(o)})},"onToolUseStart"),onToolInputDelta:i((r,o,s)=>{rt(t,{type:"tool.input.delta",toolName:r,partialJson:o,toolId:s?.toolId,...jt(s)})},"onToolInputDelta"),onToolResult:i((r,o)=>{rt(t,{type:"tool.result",id:r.id,name:r.name,content:r.content,...jt(o)})},"onToolResult"),onStreamEnd:i(r=>{rt(t,{type:"stream.end",...jt(r)})},"onStreamEnd"),onCompactStart:i(r=>{rt(t,{type:"compact.start",...jt(r)})},"onCompactStart"),onCompact:i((r,o)=>{rt(t,{type:"compact.finish",estimatedTokens:r,...jt(o)})},"onCompact"),onCompactStats:i(r=>{rt(t,{type:"compact.stats",tokensBefore:r.tokensBefore,tokensAfter:r.tokensAfter,...is(r)})},"onCompactStats"),onCompactEnd:i(r=>{rt(t,{type:"compact.end",...jt(r)})},"onCompactEnd"),onRetry:i((r,o,s,a)=>{rt(t,{type:"retry",reason:r,attempt:o,maxAttempts:s,...jt(a)})},"onRetry"),onProviderRecovery:i((r,o)=>{rt(t,{type:"provider.recovery",stage:r.stage,reasonCode:r.errorClass,attempt:r.attempt,maxAttempts:r.maxAttempts,delayMs:r.delayMs,nextAt:Date.now()+r.delayMs,recoveryAction:r.recoveryAction,fallbackUsed:r.fallbackUsed,...jt(o)})},"onProviderRecovery"),onProviderRateLimit:i((r,o,s,a)=>{rt(t,{type:"provider.rate_limit",attempt:r,maxRetries:o,delayMs:s,...jt(a)})},"onProviderRateLimit"),onRepoIntelligenceTrace:i(r=>{rt(t,{type:"repo_intelligence.trace",stage:r.stage,summary:r.summary,capability:r.capability,trace:r.trace,...is(r)})},"onRepoIntelligenceTrace"),onSidecarMessage:i(r=>{rt(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}:{},...is(r)})},"onSidecarMessage"),onToolProgress:i((r,o)=>{rt(t,{type:"tool.progress",id:r.id,message:r.message,...jt(o)})},"onToolProgress"),onToolSandboxObservation:i((r,o)=>{rt(t,{type:"tool.sandbox",id:r.id,observation:r.observation,...jt(o)})},"onToolSandboxObservation"),onManagedTaskStatus:i(r=>{rt(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,...is(r)})},"onManagedTaskStatus"),onScoutSuspiciousCompletion:i(r=>{rt(t,{type:"scout.suspicious_completion",confidence:r.confidence,signals:r.signals,sessionId:r.sessionId,lastTextPreview:r.lastTextPreview,...is(r)})},"onScoutSuspiciousCompletion"),onComplete:i(r=>{rt(t,{type:"complete",...jt(r)})},"onComplete"),onError:i((r,o)=>{rt(n,aF(r,o))},"onError")}}i(dM,"createJsonEvents");import{jsx as Tt,jsxs as bn}from"react/jsx-runtime";import fF,{useMemo as du}from"react";var wx=/^@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@.*$/,fM=/^---\s+(.+)$/;function pM(e){if(!e)return[];let t=e.split(`
|
|
188
|
+
`),n=[],r=[],o=[],s=!1,a=null,c=null,l=0,d=0,f=i(()=>{if(r.length===0)return;let m=r.join(`
|
|
189
|
+
`);m.length>0&&n.push({kind:"text",text:m}),r=[]},"flushText"),p=i(()=>{o.length!==0&&(n.push({kind:"diff",text:o.join(`
|
|
190
|
+
`),addedLines:l,removedLines:d,filePath:c}),o=[],l=0,d=0,c=null)},"flushDiff");for(let m=0;m<t.length;m++){let h=t[m];if(!s){let T=fM.exec(h);if(T){let w=Math.min(m+3,t.length-1),b=!1;for(let M=m+1;M<=w;M++)if(t[M]?.startsWith("+++ ")||wx.test(t[M]??"")){b=!0;break}if(b){f(),s=!0,a=T[1]??null,c=a,o.push(h);continue}}if(wx.test(h)){f(),s=!0,o.push(h);continue}r.push(h);continue}let S=fM.exec(h);if(S){let T=Math.min(m+3,t.length-1),w=!1;for(let b=m+1;b<=T;b++)if(t[b]?.startsWith("+++ ")||wx.test(t[b]??"")){w=!0;break}if(w){p(),c=S[1]??null,o.push(h);continue}}let v=h[0];if(v==="+"||v==="-"||v===" "||v==="@"||h===""){v==="+"&&!h.startsWith("+++ ")&&l++,v==="-"&&!h.startsWith("--- ")&&d++,o.push(h);continue}p(),s=!1,a=null,r.push(h)}return p(),f(),n}i(pM,"parseUnifiedDiff");function mM(e){return e?/^@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@/m.test(e):!1}i(mM,"containsUnifiedDiff");import{jsxs as ic,jsx as cF}from"react/jsx-runtime";import lF from"react";function uF(e){return e.startsWith("+++ ")?{text:e,kind:"file-header"}:e.startsWith("--- ")?{text:e,kind:"file-header"}:e.startsWith("@@ ")?{text:e,kind:"hunk-header"}:e.startsWith("+")?{text:e,kind:"add"}:e.startsWith("-")?{text:e,kind:"remove"}:{text:e,kind:"context"}}i(uF,"classifyLine");function dF(e,t){switch(e){case"add":return t.colors.success;case"remove":return t.colors.error;case"hunk-header":case"file-header":return t.colors.dim;default:return}}i(dF,"colorFor");var Tx=lF.memo(({text:e,addedLines:t,removedLines:n,filePath:r,theme:o,maxLines:s=16,extremeThreshold:a=200})=>{let c=o??oe("dark"),l=e.split(`
|
|
191
|
+
`),d=l.map(uF),f=`(${t>0?`+${t}`:"\xB10"} ${n>0?`-${n}`:""})`.trim();if(l.length>a)return ic(E,{flexDirection:"column",marginLeft:4,children:[r&&ic(I,{dimColor:!0,children:[r," ",f]}),ic(I,{dimColor:!0,children:["[diff too large to render inline \u2014 ",l.length," lines, ",t,"+ / ",n,"-]"]})]});let p,m=0;if(l.length>s){let h=Math.floor(s/2),S=d.slice(0,h),v=d.slice(-h);m=l.length-S.length-v.length,p=[...S,{text:"",kind:"context"},...v]}else p=d;return ic(E,{flexDirection:"column",marginLeft:4,children:[r&&ic(I,{dimColor:!0,children:[r," ",f]}),p.map((h,S)=>{if(S===Math.floor(s/2)&&m>0&&h.kind==="context"&&h.text==="")return ic(I,{dimColor:!0,children:["... ",m," lines collapsed ..."]},`collapse-${S}`);let T=dF(h.kind,c);return cF(I,{color:T,children:h.text||" "},S)})]})});Tx.displayName="DiffHunk";function hM(e){switch(e){case j.Scheduled:return"\u25CB";case j.Validating:return"\u25D0";case j.AwaitingApproval:return"\u23F8";case j.Executing:return"\u25CF";case j.Success:return"\u2713";case j.Error:return"\u2717";case j.Cancelled:return"\u2298";default:return"?"}}i(hM,"getStatusIcon");function gM(e,t){switch(e){case j.Scheduled:case j.Validating:return t.colors.dim;case j.AwaitingApproval:return t.colors.accent;case j.Executing:return t.colors.primary;case j.Success:return t.colors.success??t.colors.primary;case j.Error:return t.colors.error;case j.Cancelled:return t.colors.dim;default:return t.colors.text}}i(gM,"getStatusColor");function pF(e,t){if(!t)return"";let n=t-e;return n<1e3?`${n}ms`:`${(n/1e3).toFixed(1)}s`}i(pF,"formatDuration");function mF(e){if(!e)return"";let t=JSON.stringify(e);return t.length<=50?t:t.slice(0,47)+"..."}i(mF,"formatInputSummary");var yM=i(({status:e,theme:t})=>{let n=t??du(()=>oe("dark"),[]),r=hM(e),o=gM(e,n);return Tt(I,{color:o,children:r})},"ToolStatusBadge"),Cx=i(({progress:e,width:t=20,theme:n})=>{let r=n??du(()=>oe("dark"),[]),o=Math.max(0,Math.min(100,e)),s=Math.round(o/100*t),a=t-s,c="\u2588".repeat(s),l="\u2591".repeat(a);return bn(E,{children:[Tt(I,{color:r.colors.primary,children:c}),Tt(I,{dimColor:!0,children:l}),bn(I,{children:[" ",o,"%"]})]})},"ToolProgressBar"),Ix=i(({tool:e,collapsed:t=!1,theme:n})=>{let r=n??du(()=>oe("dark"),[]),o=hM(e.status),s=gM(e.status,r),a=mF(e.input),c=pF(e.startTime,e.endTime);return t?bn(E,{children:[bn(I,{color:s,children:[o," "]}),Tt(I,{color:r.colors.text,children:e.name})]}):bn(E,{flexDirection:"column",marginLeft:2,children:[bn(E,{children:[bn(I,{color:s,children:[o," "]}),Tt(I,{color:r.colors.text,bold:!0,children:e.name}),a&&bn(I,{dimColor:!0,children:[" ",a]})]}),e.progress!==void 0&&e.status===j.Executing&&Tt(E,{marginLeft:2,children:Tt(Cx,{progress:e.progress,theme:r})}),e.progressLines&&e.progressLines.length>0&&e.status===j.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===j.Success&&typeof e.output=="string"&&e.output.length>0&&Tt(xM,{output:e.output,theme:r}),c&&e.status!==j.Executing&&Tt(E,{marginLeft:2,children:bn(I,{dimColor:!0,children:["Completed in ",c]})})]})},"ToolCallDisplay"),xM=fF.memo(({output:e,theme:t})=>{if(!mM(e))return Tt(E,{marginLeft:2,children:Tt(I,{dimColor:!0,children:e})});let n=pM(e);return Tt(E,{flexDirection:"column",marginLeft:2,children:n.map((r,o)=>r.kind==="text"?Tt(I,{dimColor:!0,children:r.text},o):Tt(Tx,{text:r.text,addedLines:r.addedLines,removedLines:r.removedLines,filePath:r.filePath,theme:t},o))})});xM.displayName="ToolOutputBlock";var SM=i(({tools:e,collapsed:t=!1,title:n,theme:r})=>{let o=r??du(()=>oe("dark"),[]);if(e.length===0)return null;let s=du(()=>{let c={[j.Scheduled]:0,[j.Validating]:0,[j.AwaitingApproval]:0,[j.Executing]:0,[j.Success]:0,[j.Error]:0,[j.Cancelled]:0};for(let l of e)c[l.status]++;return c},[e]),a=n??"Tools";if(t){let c=s[j.Success],l=s[j.Error],d=s[j.Executing]+s[j.Scheduled]+s[j.Validating];return Tt(E,{flexDirection:"column",marginBottom:1,children:bn(E,{children:[Tt(I,{color:o.colors.accent,bold:!0,children:a}),bn(I,{dimColor:!0,children:[" ","(",e.length," tools",c>0&&`, ${c} succeeded`,l>0&&`, ${l} failed`,d>0&&`, ${d} running`,")"]})]})})}return bn(E,{flexDirection:"column",marginBottom:1,children:[bn(E,{children:[Tt(I,{color:o.colors.accent,bold:!0,children:a}),bn(I,{dimColor:!0,children:[" ","(",e.length," ",e.length===1?"tool":"tools",")"]})]}),e.map(c=>Tt(Ix,{tool:c,theme:o},c.id))]})},"ToolGroup");import{jsxs as wM,jsx as hF}from"react/jsx-runtime";var TM=i(({pendingInputs:e})=>{let t=f0(e);if(!t)return null;let n=oe("dark");return wM(E,{children:[wM(I,{color:n.colors.hint,children:["\u23F3"," "]}),hF(I,{color:n.colors.dim,children:t})]})},"PendingInputsIndicator");import*as CM from"child_process";var fu;function gF(){if(process.platform!=="win32")return null;if(fu!==void 0)return fu;try{fu=CM.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{fu=null}return fu}i(gF,"detectWindowsCodePage");function pu(){let e=process.env;return!!(e.COLORTERM==="truecolor"||e.COLORTERM==="24bit"||e.TERM_PROGRAM==="iTerm.app"||e.WT_SESSION||e.TERM==="xterm-kitty"||e.TERM_PROGRAM==="vscode"||e.TERM_PROGRAM==="gnome-terminal")}i(pu,"supportsTrueColor");function vx(){if(pu())return!0;let e=process.env.TERM||"";return e.includes("256color")||e==="xterm-256color"||e==="screen-256color"||e==="tmux-256color"}i(vx,"supports256Colors");function Gr(){let e=process.env,t=e.LC_ALL||"",n=e.LC_CTYPE||"",r=e.LANG||"";if(t==="C"||t==="POSIX"||n==="C"||n==="POSIX"||r==="C"||r==="POSIX")return!1;let o=`${t}|${n}|${r}`.toLowerCase();return o.includes("utf-8")||o.includes("utf8")?!0:process.platform==="win32"?e.WT_SESSION||e.TERM_PROGRAM==="vscode"?!0:gF()==="65001":!0}i(Gr,"supportsUnicode");function bx(){let e=process.env;return!!(e.TERM_PROGRAM==="iTerm.app"||e.WT_SESSION||e.TERM==="xterm-kitty"||e.TERM_PROGRAM==="vscode"||e.TERM_PROGRAM==="Apple_Terminal"||e.TERM_PROGRAM==="gnome-terminal"||e.COLORTERM)}i(bx,"supportsEmoji");function Rx(){if(process.stdout?.columns)return process.stdout.columns;let t=process.env.COLUMNS;if(t){let n=Number.parseInt(t,10);if(!Number.isNaN(n)&&n>0)return n}return 80}i(Rx,"getTerminalWidth");function kx(){let e=process.env;return!!(e.NO_COLOR||e.TERM==="dumb"||e.CI)}i(kx,"isScreenReader");function yF(){return process.stdout?.isTTY??!1}i(yF,"isTTY");function IM(){return{trueColor:pu(),colors256:vx(),unicode:Gr(),emoji:bx(),tty:yF(),columns:Rx(),screenReader:kx()}}i(IM,"detectTerminalCapabilities");var sc=class{static{i(this,"ConsoleCapturer")}captured=[];originalLog=null;start(){this.captured=[],this.originalLog=console.log,console.log=(...t)=>{let n=t.map(r=>typeof r=="string"?r:String(r)).join(" ");this.captured.push(n)}}stop(){return this.originalLog!==null&&(console.log=this.originalLog,this.originalLog=null),this.captured}getCaptured(){return[...this.captured]}clear(){this.captured=[]}};async function vM(e){let t=new sc;t.start();try{let n=await e(),r=t.stop();return{result:n,captured:r}}finally{t.stop()}}i(vM,"withCapture");function bM(e){let t=new sc;t.start();try{let n=e(),r=t.stop();return{result:n,captured:r}}finally{t.stop()}}i(bM,"withCaptureSync");import*as OM from"readline";import ie from"chalk";import Bn from"chalk";var xF=[{key:"y",label:"Yes",description:"Confirm the action",value:"yes"},{key:"n",label:"No",description:"Cancel the action",value:"no"}],SF=[{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 wF(e,t=!0){return e.map(n=>{let r=Bn.dim(`[${n.key}]`);return t?`${r} ${Bn.cyan(n.label)} ${Bn.dim(`- ${n.description}`)}`:`${r} ${n.label}`}).join(" ")}i(wF,"formatOptions");function Ex(){return process.stdout.columns??80}i(Ex,"getTerminalWidth");function TF(){return Gr()}i(TF,"supportsUnicode");function CF(){let e=TF();return{success:e?"\u2713":"[OK]",error:e?"\u2717":"[X]",warning:e?"\u26A0":"[!]",info:e?"\u2139":"[i]",arrow:e?"\u2192":"->",bullet:e?"\u2022":"*",check:e?"\u2713":"[v]",cross:e?"\u2717":"[x]"}}i(CF,"getSymbols");async function IF(e,t){let{message:n,default:r,options:o,showDescription:s=!0}=t,a=o??xF,c=wF(a,s);console.log(),console.log(Bn.cyan(`? ${n}`));let l=Ex();if(c.length>l-4)for(let d of a){let f=Bn.dim(` [${d.key}]`);console.log(`${f} ${Bn.cyan(d.label)}`),s&&console.log(Bn.dim(` ${d.description}`))}else console.log(Bn.dim(` ${c}`));return new Promise(d=>{let f=r?` (${r})`:"";e.question(Bn.dim(` Choose${f}: `),p=>{let m=p.trim().toLowerCase()||r||"",h=a.find(S=>S.key===m||S.value===m||S.label.toLowerCase()===m);d(h?h.value:m===""?"no":m)})})}i(IF,"confirmEnhanced");async function ac(e,t,n,r){let{isOutsideProject:o=!1,isProtectedPath:s=!1,permissionMode:a="accept-edits",runtimeGrantSuggestions:c}=r??{},l=CF(),d,f,p={...n,...o?{_outsideProject:!0}:{},...s?{_alwaysConfirm:!0}:{}},m=qp(t,p),h=m.details.map(v=>` ${Bn.dim(v)}`);o||s?(d=`${Bn.yellow(l.warning)} Safety Warning`,h.length>0&&(d+=`
|
|
192
|
+
${h.join(`
|
|
193
|
+
`)}`),f=[{key:"y",label:"Yes",description:"Allow this once",value:"yes"},{key:"n",label:"No",description:"Cancel",value:"no"}]):(d=m.title,h.length>0&&(d+=`
|
|
194
|
+
${h.join(`
|
|
195
|
+
`)}`),c!==void 0&&(d+=`
|
|
196
|
+
${Bn.dim(Fa)}`,d+=`
|
|
197
|
+
${c.map(v=>` ${Bn.dim(`Runtime scope: ${v.label}`)}`).join(`
|
|
198
|
+
`)}`),c!==void 0?f=[{key:"y",label:"Once",description:"Allow this operation once",value:"yes"},...c.some(v=>v.kind==="session")?[{key:"s",label:"Session",description:"Allow this Runtime-issued scope for this session",value:"session"}]:[],...c.some(v=>v.kind==="persistent")?[{key:"a",label:"Always",description:"Always allow this Runtime-issued scope",value:"always"}]:[],{key:"n",label:"No",description:"Cancel",value:"no"}]:f=a==="accept-edits"?SF:[{key:"y",label:"Yes",description:"Confirm the action",value:"yes"},{key:"n",label:"No",description:"Cancel",value:"no"}]);let S=await IF(e,{message:d,default:"n",options:f});return S==="always"?c!==void 0?{confirmed:!0,runtimeGrantKind:"persistent"}:{confirmed:!0,always:!0}:S==="session"?{confirmed:!0,runtimeGrantKind:"session"}:{confirmed:S==="yes"}}i(ac,"confirmToolExecution");import jte from"chalk";function RM(){return{prompt:"\u276F",success:"\u2713",error:"\u2717",warning:"\u26A0",info:"\u2139",arrow:"\u2192",bullet:"\u2022",check:"\u2713",cross:"\u2717",spinner:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]}}i(RM,"getUnicodeSymbols");function Mx(){return{prompt:">",success:"[OK]",error:"[X]",warning:"[!]",info:"[i]",arrow:"->",bullet:"*",check:"[v]",cross:"[x]",spinner:["|","/","-","\\","|","/","-","\\"]}}i(Mx,"getAsciiSymbols");var kM={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:Gr()?RM():Mx(),spinner:{frames:Gr()?["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]:["|","/","-","\\","|","/","-","\\"],interval:80}},vF={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:Gr()?RM():Mx(),spinner:{frames:Gr()?["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]:["|","/","-","\\","|","/","-","\\"],interval:80}},bF={name:"minimal",description:"Minimal theme without colors (for CI or limited terminals)",colors:{primary:"",secondary:"",accent:"",text:"",dim:"",success:"",warning:"",error:"",info:""},symbols:Mx(),spinner:{frames:[".","o","O","0","O","o"],interval:120}},RF={dark:kM,light:vF,minimal:bF},EM=kM;function ss(){return EM}i(ss,"getCurrentTheme");function mu(e){let t=RF[e];return t?(EM=t,!0):!1}i(mu,"setTheme");function kF(){if(!process.stdout.isTTY){mu("minimal");return}let e=process.env;if(e.WT_SESSION!==void 0||e.TERM_PROGRAM==="vscode"){mu("dark");return}mu("dark")}i(kF,"autoSelectTheme");kF();var xm=class{static{i(this,"ReadlineUIContext")}rl;constructor(t){this.rl=t}async select(t,n){if(n.length!==0)return console.log(`
|
|
199
|
+
${t}`),console.log("\u2500".repeat(t.length)),n.forEach((r,o)=>{console.log(` ${o+1}. ${r}`)}),console.log(" 0. Cancel"),console.log(""),new Promise(r=>{this.rl.question("Enter choice (0 to cancel): ",o=>{let s=o.trim();if(s==="0"||s===""){r(void 0);return}let a=parseInt(s,10)-1;if(isNaN(a)||a<0||a>=n.length){console.log("Invalid choice. Please try again."),r(void 0);return}r(n[a])})})}async confirm(t){return new Promise(n=>{this.rl.question(`${t} (y/N): `,r=>{let o=r.trim().toLowerCase();n(o==="y"||o==="yes")})})}async input(t,n){let r=n?`${t} [${n}]: `:`${t}: `;return new Promise(o=>{this.rl.question(r,s=>{let a=s.trim();if(a===""&&n!==void 0){o(n);return}o(a||void 0)})})}};import*as MM from"child_process";import*as gu from"path";import*as hu from"fs";import*as AM from"os";import Vr from"chalk";function _M(e,t){let n=ss(),r=e==="plan"?Vr.hex(n.colors.warning):Vr.hex(n.colors.success),o=t.model??Ar(t.provider)??t.provider,s=$o({provider:t.provider,model:t.model,effort:zd(t),effortOverride:t.effortOverride,thinking:t.thinking,reasoningMode:t.reasoningMode}),a=Ex();if(a<60){let l=e==="plan"?"?":n.symbols.prompt;return r(`${l} `)}if(a<100){let l=Vr.hex(n.colors.dim)(`[${s}]`);return r(`kodax:${e}${l}> `)}let c=Vr.hex(n.colors.info)(`[effort:${s}]`);return r(`kodax:${e} (${t.provider}:${o})${c}> `)}i(_M,"getPrompt");async function LM(e,t){let n=ss(),r=[],o=await new Promise(s=>{e.question(t,s)});if(o===""||o.toLowerCase()==="/e")return Ax(r.join(`
|
|
200
|
+
`));for(r.push(o);EF(r.join(`
|
|
201
|
+
`));){let s=Vr.hex(n.colors.dim)("... "),a=await new Promise(c=>{e.question(s,c)});r.push(a)}return r.join(`
|
|
202
|
+
`).replace(/\\\n/g,`
|
|
203
|
+
`)}i(LM,"askInput");async function Ax(e){let t=gu.join(AM.tmpdir(),"kodax"),n=gu.join(t,`input-${Date.now()}-${Math.random().toString(36).slice(2)}.txt`);try{await hu.promises.mkdir(t,{recursive:!0}),await hu.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=gu.basename(r);console.log(Vr.yellow(`
|
|
204
|
+
[Security] Editor path sanitized: ${a}`)),r=a}console.log(Vr.dim(`
|
|
205
|
+
[Opening editor: ${r}]`));let o=process.platform==="win32"&&(r.toLowerCase()==="notepad"||r.toLowerCase()==="notepad.exe");return console.log(o?Vr.dim(`Note: Please close Notepad manually after editing to continue.
|
|
206
|
+
`):Vr.dim(`Save and close the editor to continue...
|
|
207
|
+
`)),MM.spawnSync(r,[n],{stdio:"inherit",timeout:3e5,shell:!1}),(await hu.promises.readFile(n,"utf-8")).trim()}catch(r){let o=r instanceof Error?r:new Error(String(r));return console.log(Vr.red(`
|
|
208
|
+
[Editor Error] ${o.message}`)),e}finally{try{await hu.promises.unlink(n)}catch{}}}i(Ax,"openExternalEditor");function EF(e){if(e.endsWith("\\")&&!e.endsWith("\\\\"))return!0;let t={"(":0,"[":0,"{":0},n={")":"(","]":"[","}":"{"},r=null;for(let o=0;o<e.length;o++){let s=e[o];if(s!==void 0){if((s==='"'||s==="'"||s==="`")&&e[o-1]!=="\\"){r===s?r=null:r===null&&(r=s);continue}if(!r){if(s in t)t[s]+=1;else if(s in n){let a=n[s];a&&(t[a]-=1)}}}}return Object.values(t).some(o=>o>0)?!0:r!==null}i(EF,"needsContinuation");import Xe from"chalk";function PM(e){e?.workspaceRoot&&(console.log(Xe.dim(` Workspace: ${Lr(e)}`)),console.log(Xe.dim(` Use /status workspace for runtime details.
|
|
209
|
+
`)))}i(PM,"printWorkspaceEntryNotice");function $M(e,t,n,r){let o=ss(),s=e.model??Ar(e.provider)??e.provider,a=$o({provider:e.provider,model:e.model,effort:zd(e),effortOverride:e.effortOverride,thinking:e.thinking,reasoningMode:e.reasoningMode}),c=`
|
|
210
|
+
\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2557
|
|
211
|
+
\u2588\u2588\u2551 \u2588\u2588\u2554\u255D \u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557 \u255A\u2588\u2588\u2557\u2588\u2588\u2554\u255D
|
|
212
|
+
\u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2554\u255D
|
|
213
|
+
\u2588\u2588\u2554\u2550\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2551 \u2588\u2588\u2554\u2588\u2588\u2557
|
|
214
|
+
\u2588\u2588\u2551 \u2588\u2588\u2557 \u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2554\u255D \u2588\u2588\u2557
|
|
215
|
+
\u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D`,l=i(f=>Xe.hex(f)(" \u258E "),"bar"),d=Xe.hex(o.colors.dim)(" \xB7 ");if(console.log(Xe.hex(o.colors.primary)(`
|
|
216
|
+
`+c)),console.log(""),console.log(l(o.colors.primary)+Xe.hex(o.colors.primary)("AI Coding Agent \xB7 Minimalist & Intelligent")),console.log(l(o.colors.success)+Xe.bold.hex(o.colors.text)(`v${ki}`)+d+Xe.hex(o.colors.success)(`${e.provider}:${s}`)+d+Xe.hex(o.colors.primary)(e.agentMode.toUpperCase())+Xe.hex(o.colors.dim)(" / ")+Xe.hex(o.colors.accent)(t)+Xe.hex(o.colors.dim)(" \xB7 ")+Xe.hex(o.colors.warning)(`effort:${a}`)),n){let f=Math.round(n.contextWindow/1e3),p=n.enabled?Xe.hex(o.colors.success)("on"):Xe.hex(o.colors.secondary)("off"),m=$l(n.contextWindow,n.triggerPercent,n.triggerTokens);console.log(l(o.colors.accent)+Xe.hex(o.colors.secondary)(`ctx ${f}k \xB7 compaction `)+p+Xe.hex(o.colors.secondary)(` \xB7 ${m}`))}r&&console.log(l(o.colors.secondary)+Xe.hex(o.colors.secondary)(`${r.length} project rule file(s) loaded \u2014 `)+Xe.hex(o.colors.dim)("/reload to refresh")),console.log(""),console.log(Xe.hex(o.colors.dim)(" Quick tips:")),console.log(Xe.hex(o.colors.primary)(" /help ")+Xe.hex(o.colors.dim)("Show all commands")),console.log(Xe.hex(o.colors.primary)(" /mode ")+Xe.hex(o.colors.dim)("Switch permission mode")),console.log(Xe.hex(o.colors.primary)(" /clear ")+Xe.hex(o.colors.dim)("Clear conversation")),console.log(Xe.hex(o.colors.primary)(" @path ")+Xe.hex(o.colors.dim)("Attach image to context")),console.log(Xe.hex(o.colors.primary)(" !cmd ")+Xe.hex(o.colors.dim)("Run read-only shell command")),console.log(Xe.hex(o.colors.dim)(`
|
|
217
|
+
Keyboard: Tab (complete) | Esc+Esc (edit last) | Ctrl+T (reasoning) | Ctrl+E (editor) | Ctrl+R (history)
|
|
218
|
+
`))}i($M,"printStartupBanner");async function MF(e,t,n){if(e?.id){let r=await t.load(e.id);if(!r)return null;let o=xn(r);return{id:e.id,data:r,kind:"load",...o?{runtimeInfo:o}:{}}}if(e?.resume||e?.autoResume){let r=await Va(t,n);if(!r)return null;let o=await t.load(r.id);if(!o)return null;let s=xn(o);return{id:r.id,data:o,kind:"continue",...s?{runtimeInfo:s}:{}}}return null}i(MF,"loadClassicStartupSession");async function AF(e){return(await kd(e)).getSystemPromptSnippet()}i(AF,"buildClassicCliSkillsPrompt");function _F(e,t){let n=Rd(e);t.context={...t.context,skillsPrompt:n.getSystemPromptSnippet()}}i(_F,"syncClassicCliSkillsPrompt");var Px=class{static{i(this,"MemorySessionStorage")}sessions=new Map;async save(t,n){let r=this.sessions.get(t),o=Ze(n.messages,n.lineage??r?.data.lineage);this.sessions.set(t,{createdAt:r?.createdAt??new Date().toISOString(),data:{...structuredClone(n),scope:n.scope??r?.data.scope??"user",uiHistory:n.uiHistory??r?.data.uiHistory,extensionState:n.extensionState??r?.data.extensionState,extensionRecords:n.extensionRecords??r?.data.extensionRecords,tag:n.tag??r?.data.tag,lineage:o}})}async load(t){return structuredClone(this.sessions.get(t)?.data??null)}async getLineage(t){return structuredClone(this.sessions.get(t)?.data.lineage??null)}async loadFullLineage(t){return this.getLineage(t)}async setActiveEntry(t,n,r){let o=this.sessions.get(t);if(!o?.data.lineage)return null;let s=Ws(o.data.lineage,n,r);if(!s)return null;let a={...structuredClone(o.data),messages:kt(s),lineage:s};return this.sessions.set(t,{...o,data:a}),structuredClone(a)}async setLabel(t,n,r){let o=this.sessions.get(t);if(!o?.data.lineage)return null;let s=Hs(o.data.lineage,n,r);if(!s)return null;let a={...structuredClone(o.data),lineage:s};return this.sessions.set(t,{...o,data:a}),structuredClone(a)}async fork(t,n,r){let o=this.sessions.get(t);if(!o?.data.lineage)return null;let s=Gs(o.data.lineage,n);if(!s)return null;let a=r?.sessionId??await Vs(),c={messages:kt(s),title:r?.title??o.data.title,gitRoot:o.data.gitRoot,tag:o.data.tag,runtimeInfo:o.data.runtimeInfo?structuredClone(o.data.runtimeInfo):void 0,scope:o.data.scope??"user",extensionState:o.data.extensionState?structuredClone(o.data.extensionState):void 0,extensionRecords:o.data.extensionRecords?structuredClone(o.data.extensionRecords):void 0,lineage:s};return this.sessions.set(a,{createdAt:new Date().toISOString(),data:c}),{sessionId:a,data:structuredClone(c)}}async rewind(t,n){let r=this.sessions.get(t);if(!r?.data.lineage)return null;let o=n??js(r.data.lineage);if(!o)return null;let s=Us(r.data.lineage,o);if(!s)return null;let a={...r.data,messages:kt(s),lineage:s};return this.sessions.set(t,{...r,data:a}),structuredClone(a)}async list(t){return Array.from(this.sessions.entries()).filter(([,n])=>(n.data.scope??"user")==="user").map(([n,r])=>({id:n,title:r.data.title,msgCount:r.data.lineage?bi(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 _x(e,t,n){e.runtimeInfo=n,e.gitRoot=n?.workspaceRoot??e.gitRoot,t.context={...t.context,gitRoot:e.gitRoot,executionCwd:n?.executionCwd??process.cwd()}}i(_x,"applyRuntimeContext");function Sm(e,t){let n=t.runtimeSessionSnapshot;n&&("extensionState"in n&&(e.extensionState=n.extensionState?structuredClone(n.extensionState):{},e.extensionStateDirty=!0),"extensionRecords"in n&&(e.extensionRecords=n.extensionRecords?.map(r=>({...r}))??[],e.extensionRecordsDirty=!0))}i(Sm,"applyRuntimeSessionSnapshot");function To(e){return{...e.extensionStateDirty?{extensionState:e.extensionState??{}}:{},...e.extensionRecordsDirty?{extensionRecords:e.extensionRecords??[]}:{}}}i(To,"contextExtensionSessionData");function cc(e){e.extensionStateDirty=!1,e.extensionRecordsDirty=!1}i(cc,"markExtensionSessionPersisted");function LF(e,t){return e.reasoningMode?e.reasoningMode:t.reasoningMode?t.reasoningMode:(e.thinking===!0||t.thinking===!0,"auto")}i(LF,"resolveInitialReasoningMode");var $x={current:null};async function DM(e){let t=await _r({cwd:process.cwd()}),n=t.workspaceRoot??await co()??void 0,r=e.storage??new Px,o=await MF(e.session,r,n),s=o?o.runtimeInfo??t:t,a=s.workspaceRoot??n;o&&(e={...e,session:{...e.session??{},id:o.id,tag:o.data.tag}});let c=bd({meta:{cwd:process.cwd(),startedAt:Date.now()}}),l=Vd(),d=qs({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,configuredProvider:l.provider,defaultProvider:xd}),f=Qs({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,explicitModel:e.model,configuredProvider:l.provider,configuredModel:l.model}),p=LF(e,l),m=Js({explicitEffort:e.effort,environmentEffort:process.env.KODAX_EFFORT,configuredEffort:l.effort}),h=Kd(e,l,process.env.KODAX_EFFORT),S=e.agentMode??l.agentMode??"ama",v=p!=="off",T=Ys(l.permissionMode,"accept-edits")??"accept-edits",w=Ud();T==="auto-in-project"&&w();let b=Dd(),M=l.theme;M&&mu(M);let O=ss(),k={provider:d,model:f,effort:m,effortOverride:h,planModeEffort:l.planModeEffort,thinking:v,reasoningMode:p,agentMode:S,permissionMode:T,repoIntelligenceMode:b.mode,repoIntelligenceTrace:b.trace,fallbackProviders:l.fallbackProviders},P=T,q=oa(),V=i(_=>Ei({provider:_?.provider??k.provider,model:_?.model??k.model,effort:k.effort,effortOverride:k.effortOverride,permissionMode:_?.permissionMode??k.permissionMode,planModeEffort:k.planModeEffort,thinking:k.thinking,reasoningMode:k.reasoningMode}),"resolveCurrentRuntimeEffort"),K=0,fe="",ge=!1,Z=500,y=await Ua({sessionId:o?.id??e.session?.id,gitRoot:a,runtimeInfo:s,existingMessages:o?.data.messages,existingUiHistory:o?.data.uiHistory,existingLineage:o?.data.lineage,existingArtifactLedger:o?.data.artifactLedger,existingExtensionState:o?.data.extensionState,existingExtensionRecords:o?.data.extensionRecords});if(y.title=o?.data.title??"",o){let _=o.kind==="continue"?"Continuing session":"Session loaded";process.stdout.write(`${ie.green(`[${_}: ${o.id}]`)}
|
|
219
|
+
`)}y.skillDynamicContext=e.skillDynamicContext,c?.writer.update({sessionId:y.sessionId});let A=i(_=>oi(k,_,(H,B,X)=>{console.log((H==="block"?ie.red:ie.yellow)(`
|
|
220
|
+
${B}`));for(let $ of X)console.log(ie.dim($));console.log()}),"guardSessionTransition"),Q=await qd(a??void 0),{resolveProvider:W}=await import("./dist-PCFE24YP.js"),ae=W(k.provider),le=Q.contextWindow??ae.getEffectiveContextWindow?.(k.model)??ae.getContextWindow?.()??2e5,{loadAgentsFiles:pe}=await import("./dist-PCFE24YP.js"),Ee=i(async()=>pe({cwd:process.cwd(),projectRoot:y.gitRoot??void 0}),"reloadAgentsFiles"),ue=await Ee();if($M(k,k.permissionMode,{contextWindow:le,triggerPercent:Q.triggerPercent,triggerTokens:Q.triggerTokens,enabled:Q.enabled},ue),PM(s),e.learning)try{let _=Qd(await e.learning.getSnapshot());_&&console.log(ie.yellow(`
|
|
221
|
+
${_}
|
|
222
|
+
`))}catch(_){dt({source:"repl:learning",level:"warn",message:"Failed to recover the Learning Center startup summary.",detail:_ instanceof Error?_.message:String(_)})}let ye=UC(()=>y.gitRoot??process.cwd()),_e=OM.createInterface({input:process.stdin,output:process.stdout,terminal:process.stdout.isTTY??!0,historySize:100,completer:i((_,H)=>{ye(_).then(B=>{H(null,B)}).catch(()=>{H(null,[[],_])})},"completer")}),Y=i(async _=>{let H=await ac(_e,_.toolName,{..._.input,..._.reason!==void 0?{_reason:_.reason}:{},..._.executionCwd!==void 0?{_executionCwd:_.executionCwd}:{},..._.risk!==void 0?{_runtimeRisk:_.risk}:{}},{permissionMode:P,runtimeGrantSuggestions:_.grantSuggestions??[]});return jp(_,H)},"requestRuntimePermission"),ne=ra(),we=ja(ne);await e.runtimeAutoModeControl?.syncSettings?.(y.sessionId,P,we);let nt=await Ga({askUser:i(async(_,H,B)=>(await ac(_e,_.name,{..._.input,...B&&B.length>0?{_classifierSignals:B}:{}},{permissionMode:P,reason:`[auto-mode] ${H}`})).confirmed?"allow":"block","askUser"),projectRoot:a??process.cwd(),executionCwd:s.executionCwd??a??process.cwd(),getCurrentProviderName:i(()=>k.provider,"getCurrentProviderName"),getCurrentModel:i(()=>k.model,"getCurrentModel"),getCurrentPermissionMode:i(()=>P,"getCurrentPermissionMode"),autoModeSettings:ne,log:i((_,H)=>{console.log(_==="warn"?ie.yellow(H):ie.dim(H))},"log"),extraCollectors:[na]}),xt=Hd({getProvider:i(()=>W(k.provider),"getProvider"),getModel:i(()=>k.model??"","getModel")}),Ge=`
|
|
223
|
+
Keyboard Shortcuts:
|
|
224
|
+
Tab Auto-complete (@paths, /commands)
|
|
225
|
+
Esc+Esc Edit last message
|
|
226
|
+
Ctrl+T Cycle reasoning effort
|
|
227
|
+
Ctrl+E Open external editor
|
|
228
|
+
Ctrl+R Search command history (built-in)
|
|
229
|
+
Ctrl+C Cancel current input
|
|
230
|
+
Ctrl+D Exit REPL`,je=i(()=>{console.log(ie.dim(Ge))},"_printKeyboardShortcuts");process.stdin.isTTY&&process.stdin.on("keypress",(_,H)=>{if(H&&H.name==="escape"){let B=Date.now();B-K<Z&&fe&&(ge=!0,console.log(ie.dim(`
|
|
231
|
+
[Opening editor with last message...]`)),_e.pause()),K=B}});let de=await AF(a),Ce=!0,F={...e,provider:d,model:f,effort:V().runtimeEffort,agentMode:S,reasoningMode:p,thinking:v,workflowRunsBaseDir:Po("workflow-runs",Ai(a??s.executionCwd??process.cwd()).key),context:{...e.context,gitRoot:a,executionCwd:s.executionCwd,repoIntelligenceMode:b.mode,repoIntelligenceTrace:b.trace,skillsPrompt:de},session:{...e.session,id:y.sessionId,storage:r,persistedByHost:!0}},Ne=i(()=>{let _=V();F.effort=_.runtimeEffort},"refreshCurrentEffort");$x.current=null;let pt=i(async _=>{if(y.messages.length===0)return"empty";if(!A("Recovering into a new session"))return"blocked";let H=y.sessionId,B=y.lineage??Ze(y.messages);y.lineage=B;let X=y.artifactLedger?structuredClone(y.artifactLedger):void 0,$=y.title||Kr(y.messages),Me=Od({sourceSessionId:H,messages:y.messages,lineage:B,artifactLedger:X,reason:"provider session recovery"});await r.save(H,{messages:y.messages,title:$,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,lineage:B,artifactLedger:X,uiHistory:y.uiHistory,...To(y),...F.session?.tag!==void 0?{tag:F.session.tag}:{}});let Te=Ji(),Ie=Ze(Me.messages);await r.save(Te,{messages:Me.messages,title:Me.title,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,lineage:Ie,artifactLedger:X,...F.session?.tag!==void 0?{tag:F.session.tag}:{}});let Rt=new Date().toISOString();y.sessionId=Te,y.messages=Me.messages,y.title=Me.title,y.contextTokenSnapshot=void 0,y.lineage=Ie,y.artifactLedger=X,y.extensionState=void 0,y.extensionRecords=void 0,y.extensionStateDirty=!1,y.extensionRecordsDirty=!1,y.createdAt=Rt,y.lastAccessed=Rt,F.session={...F.session,id:Te},c?.writer.update({sessionId:Te}),console.log(ie.green(`
|
|
232
|
+
[Recovered session: ${Te}]`)),console.log(ie.dim(` Source session saved: ${H}`)),console.log(ie.dim(" Raw provider history was not replayed."));let Nt;try{Nt=await Lx(F,y,$d(_),y.messages,void 0,e.runtimeRunner,P,Y,we)}catch(Yr){let _t=Yr instanceof Error?Yr.message:String(Yr);return console.log(ie.red(`
|
|
233
|
+
[Recover failed] ${_t}`)),"failed"}y.messages=Nt.messages,y.contextTokenSnapshot=Nt.contextTokenSnapshot,Sm(y,Nt),y.artifactLedger=vi(y.artifactLedger??[],Nt.artifactLedger??Ed(Nt.messages)),y.lineage=Ze(y.messages,y.lineage);let cn=Kr(y.messages);return y.title=cn,await r.save(y.sessionId,{messages:y.messages,title:cn,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,lineage:y.lineage,artifactLedger:y.artifactLedger,...To(y),...F.session?.tag!==void 0?{tag:F.session.tag}:{}}),cc(y),"recovered"},"recoverCurrentSession"),Dt={getRuntimeStatus:e.getRuntimeStatus,validateSetupA2AConfig:e.validateSetupA2AConfig,prepareSetupSandbox:e.prepareSetupSandbox,inspectSandbox:e.inspectSandbox,learning:e.learning,getLearningSummary:e.learning?()=>e.learning.getSnapshot():void 0,exit:i(()=>{Ce=!1,c?.shutdown(),_e.close()},"exit"),saveSession:i(async()=>{if(y.messages.length>0){let _=Kr(y.messages);y.title=_,await r.save(y.sessionId,{messages:y.messages,title:_,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,artifactLedger:y.artifactLedger,...To(y),...F.session?.tag!==void 0?{tag:F.session.tag}:{}}),cc(y)}},"saveSession"),startNewSession:i(()=>{y.sessionId=Ji(),y.title="",y.contextTokenSnapshot=void 0,y.artifactLedger=void 0,y.extensionState=void 0,y.extensionRecords=void 0,y.extensionStateDirty=!1,y.extensionRecordsDirty=!1,y.createdAt=new Date().toISOString(),y.lastAccessed=y.createdAt,_x(y,F,t),F.session={...F.session,id:y.sessionId},c?.writer.update({sessionId:y.sessionId})},"startNewSession"),loadSession:i(async _=>{let H=await r.load(_);if(H){if(!A("Resuming a saved session"))return"blocked";let B=await _r({cwd:process.cwd()}),X=xn(H),$=X??B;return X?.workspaceRoot&&!nf(X)?(console.log(ie.yellow(`
|
|
234
|
+
[Saved workspace unavailable]`)),console.log(ie.dim(` Session workspace: ${Lr(X)}`)),console.log(ie.dim(` Falling back to current workspace: ${Lr(B)}`)),$=B):X?.workspaceRoot&&B.workspaceRoot&&X.workspaceRoot!==B.workspaceRoot&&(console.log(ie.cyan(`
|
|
235
|
+
[Loading sibling workspace session]`)),console.log(ie.dim(` Current workspace: ${Lr(B)}`)),console.log(ie.dim(` Session workspace: ${Lr(X)}`))),y.messages=H.messages,y.title=H.title,y.sessionId=_,y.contextTokenSnapshot=void 0,y.artifactLedger=H.artifactLedger,y.extensionState=H.extensionState?structuredClone(H.extensionState):void 0,y.extensionRecords=H.extensionRecords?.map(Me=>({...Me})),y.extensionStateDirty=!1,y.extensionRecordsDirty=!1,y.lastAccessed=new Date().toISOString(),_x(y,F,$),F.session={...F.session,id:_,tag:H.tag},c?.writer.update({sessionId:_}),console.log(ie.green(`
|
|
236
|
+
[Loaded session: ${_}]`)),console.log(ie.dim(` Messages: ${H.messages.length}`)),y.runtimeInfo?.workspaceRoot&&console.log(ie.dim(` Workspace: ${Lr(y.runtimeInfo)}`)),"loaded"}return"missing"},"loadSession"),listSessions:i(async()=>{let _=await r.list(y.gitRoot??void 0);if(_.length===0){console.log(ie.dim(`
|
|
237
|
+
[No saved sessions]`));return}console.log(ie.bold(`
|
|
238
|
+
Recent Sessions:
|
|
239
|
+
`)),y.runtimeInfo?.workspaceRoot&&(console.log(ie.dim(` Current workspace: ${Lr(y.runtimeInfo)}`)),console.log());for(let H of _.slice(0,10))if(console.log(` ${ie.cyan(H.id)} ${ie.dim(`(${H.msgCount} messages)`)} ${H.title.slice(0,40)}`),H.runtimeInfo?.workspaceRoot){let X=y.runtimeInfo?.workspaceRoot===H.runtimeInfo.workspaceRoot?" (current workspace)":"";console.log(ie.dim(` workspace: ${Lr(H.runtimeInfo)}${X}`))}console.log()},"listSessions"),clearHistory:i(()=>{y.messages=[],y.contextTokenSnapshot=void 0},"clearHistory"),printHistory:i(()=>{if(y.messages.length===0){console.log(ie.dim(`
|
|
240
|
+
[No conversation history]`));return}console.log(ie.bold(`
|
|
241
|
+
Conversation History:
|
|
242
|
+
`));let _=y.messages.slice(-20);for(let H=0;H<_.length;H++){let B=_[H],X=ie.cyan(B.role.padEnd(10)),$=typeof B.content=="string"?B.content:"[Complex content]",Me=$.slice(0,60).replace(/\n/g," "),Te=$.length>60?"...":"";console.log(` ${(H+1).toString().padStart(2)}. ${X} ${Me}${Te}`)}console.log()},"printHistory"),switchProvider:i((_,H)=>{let B=V({provider:_,model:H});k.provider=_,k.model=H,F.provider=_,F.model=H,F.effort=B.runtimeEffort,B.diagnostic&&console.log(ie.yellow(`
|
|
243
|
+
[${B.diagnostic}]`))},"switchProvider"),setThinking:i(_=>{k.thinking=_,F.thinking=_,k.reasoningMode=_?"auto":"off",F.reasoningMode=k.reasoningMode},"setThinking"),setEffort:i(_=>{k.effort=_,k.effortOverride=_!==void 0,Ne()},"setEffort"),setReasoningMode:i(_=>{let H=_!=="off";k.reasoningMode=_,k.thinking=H,F.reasoningMode=_,F.thinking=H},"setReasoningMode"),setAgentMode:i(_=>{k.agentMode=_,F.agentMode=_},"setAgentMode"),setPermissionMode:i(async _=>{await e.runtimeAutoModeControl?.syncSettings?.(y.sessionId,_,we),k.permissionMode=_,P=_,Ne(),_==="auto-in-project"&&w()},"setPermissionMode"),setRepoIntelligenceRuntime:i(_=>{_.mode!==void 0&&(k.repoIntelligenceMode=_.mode,process.env.KODAX_REPO_INTELLIGENCE=_.mode,F.context={...F.context,repoIntelligenceMode:_.mode}),_.trace!==void 0&&(k.repoIntelligenceTrace=_.trace,_.trace?process.env.KODAX_REPO_INTELLIGENCE_TRACE="1":delete process.env.KODAX_REPO_INTELLIGENCE_TRACE,F.context={...F.context,repoIntelligenceTrace:_.trace})},"setRepoIntelligenceRuntime"),deleteSession:i(async _=>{await r.delete?.(_)},"deleteSession"),deleteAllSessions:i(async()=>{await r.deleteAll?.(y.gitRoot??void 0)},"deleteAllSessions"),printSessionTree:i(async()=>{let _=await r.getLineage?.(y.sessionId);if(!_){console.log(ie.dim(`
|
|
244
|
+
[No session tree available for this session]`));return}let H=Xp(Ad(_));console.log(ie.bold(`
|
|
245
|
+
Session Tree:
|
|
246
|
+
`));for(let B of H)console.log(` ${B}`);console.log()},"printSessionTree"),switchSessionBranch:i(async _=>{if(!A("Switching session branches"))return"blocked";let H=await r.setActiveEntry?.(y.sessionId,_,{summarizeCurrentBranch:!0});return H?(y.messages=H.messages,y.title=H.title,y.contextTokenSnapshot=void 0,console.log(ie.green(`
|
|
247
|
+
[Switched to tree entry: ${_}]`)),console.log(ie.dim(` Messages: ${H.messages.length}`)),"switched"):"missing"},"switchSessionBranch"),labelSessionBranch:i(async(_,H)=>{if(!await r.setLabel?.(y.sessionId,_,H))return!1;let X=H&&H.trim()?`checkpoint label set: ${H.trim()}`:"checkpoint label cleared";return console.log(ie.green(`
|
|
248
|
+
[${X}]`)),!0},"labelSessionBranch"),forkSession:i(async _=>{if(!A("Forking a session branch"))return"blocked";let H=await r.fork?.(y.sessionId,_);return H?(y.sessionId=H.sessionId,y.messages=H.data.messages,y.title=H.data.title,y.contextTokenSnapshot=void 0,y.createdAt=new Date().toISOString(),y.lastAccessed=y.createdAt,_x(y,F,xn(H.data)??y.runtimeInfo),F.session={...F.session,id:H.sessionId},console.log(ie.green(`
|
|
249
|
+
[Forked session: ${H.sessionId}]`)),console.log(ie.dim(` Messages: ${H.data.messages.length}`)),"forked"):"failed"},"forkSession"),recoverSession:pt,rewindSession:i(async _=>{if(!A("Rewinding session"))return"blocked";let H=await r.rewind?.(y.sessionId,_);return H?(y.messages=H.messages,y.title=H.title,y.contextTokenSnapshot=void 0,y.lastAccessed=new Date().toISOString(),console.log(ie.green(`
|
|
250
|
+
[Rewound session${_?` to ${_}`:" to previous turn"}]`)),console.log(ie.dim(` Messages: ${H.messages.length}`)),"rewound"):"failed"},"rewindSession"),getCostReport:i(()=>$x.current?.()??null,"getCostReport"),getAutoModeStats:i(async()=>{if(zn(P))return e.runtimeAutoModeControl?e.runtimeAutoModeControl.getStats(y.sessionId):nt.getGuardrail().getStats()},"getAutoModeStats"),setAutoModeEngine:i(async _=>{if(zn(P)){if(e.runtimeAutoModeControl){await e.runtimeAutoModeControl.setEngine(y.sessionId,_);return}nt.getGuardrail().setEngine(_)}},"setAutoModeEngine"),createKodaXOptions:i(()=>{let _=i((B,X)=>P!=="plan"?null:Oo(B,X,a??process.cwd()),"planModeBlockCheck"),H=!e.runtimeRunner&&zn(P)?[nt.getGuardrail()]:void 0;return{...F,provider:k.provider,model:k.model,effort:V().runtimeEffort,thinking:k.thinking,reasoningMode:k.reasoningMode,guardrails:H,context:{...F.context,planModeBlockCheck:_},events:{...F.events,onMemoryOutcomeDigest:i((B,X)=>{if(B.sessionId!==y.sessionId){F.events?.onMemoryOutcomeDigest?.(B,X);return}y.lineage=_d(y.lineage??Ze(y.messages),B,X?.jobId),F.events?.onMemoryOutcomeDigest?.(B,X)},"onMemoryOutcomeDigest"),onMemoryReviewReceipt:i(B=>{if(B.sessionId!==void 0&&B.sessionId!==y.sessionId){F.events?.onMemoryReviewReceipt?.(B);return}y.lineage=Ld(y.lineage??Ze(y.messages),B),F.events?.onMemoryReviewReceipt?.(B)},"onMemoryReviewReceipt"),onMemoryNotice:i(B=>{if(B.sessionId!==void 0&&B.sessionId!==y.sessionId){F.events?.onMemoryNotice?.(B);return}let X=y.lineage??Ze(y.messages),$=Pd(X,{...B,createdAt:new Date().toISOString()});y.lineage=$,$!==X&&console.log(ie.dim(`
|
|
251
|
+
[memory] ${B.summaries.slice(0,3).join("; ")}`)),F.events?.onMemoryNotice?.(B)},"onMemoryNotice"),exitPlanMode:i(async B=>P!=="plan"?"not-in-plan-mode":(await ac(_e,"exit_plan_mode",{plan:B},{isProtectedPath:!1,permissionMode:P})).confirmed?(k.permissionMode="accept-edits",P="accept-edits",Ne(),!0):!1,"exitPlanMode"),beforeToolExecute:i(async(B,X)=>{let $=P,Me=zs($);if($==="plan"){let Te=Oo(B,X,a??process.cwd());if(Te)return console.log(ie.yellow(Te)),`${Te} Do not modify files while planning. Finish the plan first, then call exit_plan_mode with the finalized plan \u2014 the user will review and approve or reject.`}if(B==="bash"){let Te=X.command??"";if(pn(Te))return!0}if(a&&so.has(B)){let Te=X.path;if(Te&&ta(Te,a))return(await ac(_e,B,X,{isProtectedPath:!0,permissionMode:$})).confirmed?!0:(console.log(ie.dim("[Cancelled] Operation on protected path requires confirmation")),!1)}if(Me.has(B)){if($==="accept-edits"&&B==="bash"&&await ea(B,X,q,xt))return!0;let Te=await ac(_e,B,X,{isOutsideProject:X._outsideProject===!0,reason:X._reason,permissionMode:$});if(!Te.confirmed)return console.log(ie.dim("[Cancelled] Operation cancelled by user")),!1;Te.always&&$==="accept-edits"&&(Xd(B,X,!1),q=oa())}return!0},"beforeToolExecute")}}},"createKodaXOptions"),reloadAgentsFiles:i(async()=>(ue=await Ee(),ue),"reloadAgentsFiles"),readline:_e,ui:new xm(_e)},Ke=i(async _=>{y.uiHistory=[...y.uiHistory??[],_];let H=y.title||Kr(y.messages);y.title=H,await r.save(y.sessionId,{messages:y.messages,title:H,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,lineage:y.lineage,artifactLedger:y.artifactLedger,uiHistory:y.uiHistory,...To(y),...F.session?.tag!==void 0?{tag:F.session.tag}:{}})},"appendPersistedUiHistoryItem"),bt=i(async(_,H)=>{if(!af({error:_,messageCount:y.messages.length}))return!1;console.log(ie.dim(`
|
|
252
|
+
${el}`));try{await Ke({type:"info",text:el})}catch(Me){let Te=Me instanceof Error?Me.message:String(Me);console.log(ie.dim(`Could not persist recovery hint: ${Te}`))}let B=bC(Dt);if(!B)return console.log(),!1;if(!await B(sf))return!1;let $;try{$=await Dt.recoverSession?.(H)}catch(Me){let Te=Me instanceof Error?Me.message:String(Me);return console.log(ie.red(`
|
|
253
|
+
[Recover failed] ${Te}`)),!1}return $==="failed"&&console.log(ie.dim(`Recovery session was created, but the continuation request still failed.
|
|
254
|
+
`)),$==="recovered"},"maybeRecoverAfterProviderError");_e.on("SIGINT",async()=>{console.log(ie.dim(`
|
|
255
|
+
|
|
256
|
+
[Press /exit to quit]`)),_e.prompt()});let Ut=i(()=>{c?.shutdown(),_e.close()},"cleanup");process.on("exit",Ut),process.on("SIGTERM",Ut);let Wn=i(async(_,H)=>{if(Bd({source:_.source}).action==="none")return!1;let X=!1,$=i(Ie=>{X||(X=!0,y.messages.push({role:"user",content:H||_.request,timestamp:new Date().toISOString()})),y.messages.push({role:"assistant",content:Ie,timestamp:new Date().toISOString()});let Rt=Kr(y.messages);y.title=Rt,r.save(y.sessionId,{messages:y.messages,title:Rt,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,artifactLedger:y.artifactLedger,...F.session?.tag!==void 0?{tag:F.session.tag}:{}}).catch(Nt=>{let cn=Nt instanceof Error?Nt.message:String(Nt);console.log(ie.red(`
|
|
257
|
+
[workflow] failed to save final answer: ${cn}
|
|
258
|
+
`))})},"commitWorkflowFinal"),Me={...Dt,onWorkflowRunMessage:i(Ie=>{if(Ie.type==="event")return;let Rt=Ie.text.trimEnd();if(Rt.trim()){if(Ie.type==="error"){console.log(ie.red(`
|
|
259
|
+
${Rt}
|
|
260
|
+
`));return}if(Ie.type==="success"){console.log(ie.green(`
|
|
261
|
+
${Rt}
|
|
262
|
+
`));return}if(Ie.type==="assistant"){console.log(`
|
|
263
|
+
${Rt}
|
|
264
|
+
`),Ie.final===!0&&$(Rt);return}console.log(ie.dim(`
|
|
265
|
+
${Rt}
|
|
266
|
+
`))}},"onWorkflowRunMessage")},Te=await of({request:_.request,callbacks:Me,approval:k.permissionMode==="plan"?"required":"silent",presentation:"agentic",sourceLabel:_.displayName,processSource:_.processSource??"command",..._.builtin!==void 0?{builtin:_.builtin}:{}});return Wd({outcome:Te})},"startWorkflowInvocation"),an=i(async(_,H)=>{if(!_||typeof _!="object")return;if(_.workflow){await Wn(_.workflow,H);return}if(!_.invocation)return;let B=await em({...F,provider:k.provider,thinking:k.thinking,reasoningMode:k.reasoningMode},_.invocation,H,X=>console.log(ie.dim(`
|
|
267
|
+
${X}`)));if(B.mode==="manual"){B.manualOutput&&console.log(ie.yellow(`
|
|
268
|
+
${B.manualOutput}
|
|
269
|
+
`)),await B.finalize();return}if(!B.prompt||!B.options){await B.finalize();return}try{let X=B.mode==="fork"?[]:y.messages,$=await Lx(B.options,y,B.prompt,X,void 0,e.runtimeRunner,P,Y,we);if(B.mode==="fork"){let Me=TC($.messages);Me.trim()&&(console.log(`
|
|
270
|
+
${Me}
|
|
271
|
+
`),y.messages.push({role:"assistant",content:Me,timestamp:new Date().toISOString()}))}else y.messages=$.messages,y.contextTokenSnapshot=$.contextTokenSnapshot;if(Sm(y,$),y.messages.length>0){let Me=Kr(y.messages);y.title=Me,await r.save(y.sessionId,{messages:y.messages,title:Me,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,...To(y),...F.session?.tag!==void 0?{tag:F.session.tag}:{}}),cc(y)}await B.finalize()}catch(X){throw await B.finalize(X instanceof Error?X:new Error(String(X))),X}},"handleCommandResult");for(;Ce;){if(ge&&fe){ge=!1,_e.resume();let Te=await Ax(fe);if(Te&&Te.trim()&&Te!==fe){console.log(ie.dim(`
|
|
272
|
+
[Edited message ready to send]`));let Ie=Te.trim();gr(y);let Rt=_i(Ie);if(Rt){let _t=await Li(Rt,y,Dt,k);await an(_t,Ie);continue}let Nt=await wm(Ie,F.context?.executionCwd);if(Ie.startsWith("!")&&Ql(Nt))continue;let cn=qa(Nt,F.context?.executionCwd??process.cwd());for(let _t of cn.warnings)console.log(ie.yellow(`
|
|
273
|
+
${_t}`));y.messages.push({role:"user",content:cn.messageContent}),fe=Ie;let Yr=y.lineage?yT({getLineage:i(()=>y.lineage,"getLineage"),setLineage:i(_t=>{y.lineage=_t},"setLineage"),saveSession:i(async()=>{await r.save(y.sessionId,{messages:y.messages,title:y.title??Kr(y.messages),gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,artifactLedger:y.artifactLedger,lineage:y.lineage,...To(y),...F.session?.tag!==void 0?{tag:F.session.tag}:{}}),cc(y)},"saveSession"),getLatestUsage:i(()=>{},"getLatestUsage"),getTurnStartMs:i(()=>{},"getTurnStartMs"),getPermissionMode:i(()=>P,"getPermissionMode"),hasPendingUserInput:i(()=>Kn().has({agentId:wd(y.sessionId,"/root"),maxPriority:"user",mode:"prompt"}),"hasPendingUserInput"),verifyComplete:i(async()=>({ok:!0}),"verifyComplete")}):void 0;try{let _t=await Xc({...F,provider:k.provider,thinking:k.thinking,reasoningMode:k.reasoningMode,session:{...F.session,initialMessages:y.lineage?kt(y.lineage,y.lineage.activeEntryId):y.messages,initialExtensionState:y.extensionState??{},initialExtensionRecords:y.extensionRecords??[]},context:{...F.context,taskSurface:"repl",planModeBlockCheck:i((er,rS)=>P!=="plan"?null:Oo(er,rS,a??process.cwd()),"planModeBlockCheck"),...cn.inputArtifacts.length>0?{inputArtifacts:cn.inputArtifacts}:{},...Yr?{goalRuntime:Yr}:{}}},Nt);if(y.messages=_t.messages,y.contextTokenSnapshot=_t.contextTokenSnapshot,Sm(y,_t),y.artifactLedger=vi(y.artifactLedger??[],_t.artifactLedger??Ed(_t.messages)),y.messages.length>0){let er=Kr(y.messages);y.title=er,await r.save(y.sessionId,{messages:y.messages,title:er,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,artifactLedger:y.artifactLedger,...To(y),...F.session?.tag!==void 0?{tag:F.session.tag}:{}}),cc(y)}}catch(_t){let er=_t instanceof Error?_t:new Error(String(_t));if(y.messages.pop(),console.log(ie.red(`
|
|
274
|
+
[Error] ${er.message}`)),await bt(er,Nt))continue}continue}else Te===fe&&console.log(ie.dim(`
|
|
275
|
+
[No changes made, continuing...]`))}let _=_M(k.permissionMode,k),H=await LM(_e,_);if(!Ce)break;let B=H.trim();if(!B)continue;gr(y);let X=_i(B);if(X){let Te=await Li(X,y,Dt,k);await an(Te,B);continue}let $=await wm(B,F.context?.executionCwd);if(B.startsWith("!")&&Ql($))continue;let Me=qa($,F.context?.executionCwd??process.cwd());for(let Te of Me.warnings)console.log(ie.yellow(`
|
|
276
|
+
${Te}`));y.messages.push({role:"user",content:Me.messageContent}),fe=B;try{let Te=await Lx(F,y,$,y.messages,Me.inputArtifacts,e.runtimeRunner,P,Y,we);if(y.messages=Te.messages,y.contextTokenSnapshot=Te.contextTokenSnapshot,Sm(y,Te),y.artifactLedger=vi(y.artifactLedger??[],Te.artifactLedger??Ed(Te.messages)),y.messages.length>0){let Ie=Kr(y.messages);y.title=Ie,await r.save(y.sessionId,{messages:y.messages,title:Ie,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,artifactLedger:y.artifactLedger,...To(y),...F.session?.tag!==void 0?{tag:F.session.tag}:{}}),cc(y)}}catch(Te){let Ie=Te instanceof Error?Te:new Error(String(Te));y.messages.pop(),Ie.message.includes("rate limit")||Ie.message.includes("Rate limit")?(console.log(ie.yellow(`
|
|
277
|
+
[Rate Limit] ${Ie.message}`)),console.log(ie.dim(`Suggestion: Wait a moment and try again, or switch provider with /mode
|
|
278
|
+
`))):Ie.message.includes("API key")||Ie.message.includes("not configured")?(console.log(ie.red(`
|
|
279
|
+
[Configuration Error] ${Ie.message}`)),console.log(ie.dim(`Suggestion: Set the required API key environment variable
|
|
280
|
+
`))):Ie.message.includes("network")||Ie.message.includes("ECONNREFUSED")||Ie.message.includes("ETIMEDOUT")?(console.log(ie.red(`
|
|
281
|
+
[Network Error] ${Ie.message}`)),console.log(ie.dim(`Suggestion: Check your internet connection and try again
|
|
282
|
+
`))):Ie.message.includes("token")||Ie.message.includes("context too long")?(console.log(ie.yellow(`
|
|
283
|
+
[Context Error] ${Ie.message}`)),console.log(ie.dim(`Suggestion: Use /clear to start a fresh conversation
|
|
284
|
+
`))):(console.log(ie.red(`
|
|
285
|
+
[Error] ${Ie.message}`)),console.log(ie.dim(`Your message was not sent. Please try again.
|
|
286
|
+
`))),await bt(Ie,$)}}}i(DM,"runInteractiveMode");async function wm(e,t=process.cwd()){let n=e.match(/@[\w./-]+/g);if(n)for(let r of n){let o=r.slice(1)}if(e.startsWith("!")){let r=e.slice(1).trim();return ql(r,{cwd:t})}return e}i(wm,"processSpecialSyntax");function PF(e){let t=e.snapshot;if(e.type==="workflow_started")return ie.dim(`
|
|
287
|
+
\u25B6 workflow ${t.workflowName} started (${t.runId})`);if(e.type==="workflow_finished"){let n=t.status==="completed"?ie.green("\u2713"):t.status==="failed"?ie.red("\u2717"):ie.yellow("\u2022"),r=t.resultSummary?` \u2014 ${t.resultSummary.split(`
|
|
288
|
+
`)[0]}`:"";return`${n} workflow ${t.workflowName} ${t.status}${r}`}if(e.type==="workflow_updated"&&e.message)return ie.dim(` ${e.message}`)}i(PF,"renderInlineWorkflowProcessLine");async function Lx(e,t,n,r=t.messages,o,s,a="accept-edits",c,l){let d={...e.events??{},getCostReport:$x,onWorkflowProcessEvent:i(p=>{let m=PF(p);m&&console.log(m)},"onWorkflowProcessEvent"),onWorkflowAgentDigest:i(({runId:p,event:m})=>{let h=m.data??{},S=typeof h.summary=="string"?h.summary:void 0,v=typeof h.name=="string"?h.name:void 0,T=Zc(S,v),w=rf(m,T,p);w&&console.log(`
|
|
289
|
+
${w}
|
|
290
|
+
`)},"onWorkflowAgentDigest"),onCompactedMessages:i(async(p,m,h)=>{let S=Yp(t.lineage,p,m,h);if(!S){await e.events?.onCompactedMessages?.(p,m,h);return}if(t.messages=p,t.lineage=S,m?.artifactLedger?.length&&(t.artifactLedger=vi(t.artifactLedger??[],m.artifactLedger)),s)t.lineage=Fs(S);else{let v=e.session?.storage;if(!v)throw new Error("Classic REPL compaction requires Session storage.");try{await v.save(t.sessionId,{messages:p,title:Kr(p),gitRoot:t.gitRoot??"",runtimeInfo:t.runtimeInfo,lineage:S,artifactLedger:t.artifactLedger,...To(t),...e.session?.tag!==void 0?{tag:e.session.tag}:{}}),t.lineage=Fs(S)}catch(T){throw dt({source:"repl:compaction",level:"error",message:"Failed to durably persist compacted session history.",detail:T}),T}}await e.events?.onCompactedMessages?.(p,m,h)},"onCompactedMessages")};_F(t.gitRoot,e);let f={...e,events:d,session:{...e.session,initialExtensionState:t.extensionState??{},initialExtensionRecords:t.extensionRecords??[],initialMessages:r},context:{...e.context,contextTokenSnapshot:t.contextTokenSnapshot,taskSurface:"repl",...o&&o.length>0?{inputArtifacts:[...o]}:{}}};return s?s({options:f,prompt:n,sessionId:t.sessionId,permissionMode:a,...l!==void 0?{autoModeSettings:l}:{},...c!==void 0?{requestPermission:c}:{},legacyPermissionHook:!0}):Xc(f,n)}i(Lx,"runAgentRound");function Kr(e){return No(e)}i(Kr,"extractTitle");import Tm from"node:fs";import $F from"node:path";function NM(){let e=vm();return bm(e).map(n=>Cm(n))}i(NM,"listCustomProviders");function BM(e){if(typeof e!="string"||e.length===0)return;let t=bm(vm()).find(n=>n.name===e);return t?Cm(t):void 0}i(BM,"getCustomProviderConfig");function WM(e){Vw(e);let t=Cm(e),n=Im(),r=qc(n,()=>{let o=vm(),s=bm(o),a=s.findIndex(l=>l.name===t.name),c=a>=0?s.map((l,d)=>d===a?t:l):[...s,t];return FM({...o,customProviders:c}),c});return xh(r),Cm(t)}i(WM,"upsertCustomProvider");function HM(e){if(typeof e!="string"||e.length===0)return!1;let t=Im(),n=qc(t,()=>{let r=vm(),o=bm(r),s=o.filter(a=>a.name!==e);if(s.length!==o.length)return FM({...r,customProviders:s}),s});return n?(xh(n),!0):!1}i(HM,"removeCustomProvider");function Im(){return Po("config.json")}i(Im,"configFilePath");function vm(){let e=Im();if(!Tm.existsSync(e))return{};try{let t=JSON.parse(Tm.readFileSync(e,"utf-8"));return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{return{}}}i(vm,"readWholeConfig");function FM(e){let t=Im();Tm.mkdirSync($F.dirname(t),{recursive:!0}),Tm.writeFileSync(t,JSON.stringify(e,null,2),"utf-8")}i(FM,"writeWholeConfig");function bm(e){let t=e.customProviders;return Array.isArray(t)?t:[]}i(bm,"extractCustomProviders");function Cm(e){return structuredClone(e)}i(Cm,"cloneCustomProvider");function jM(){return structuredClone(Ri(io()).document.servers)}i(jM,"listMcpServers");function UM(e){if(typeof e!="string"||e.length===0)return;let t=Ri(io()).document.servers[e];return t===void 0?void 0:structuredClone(t)}i(UM,"getMcpServerConfig");function GM(e,t){Ox(e,t);let n=io(),r=Ri(n),o=structuredClone(t);return Qc({domain:"mcp",configHome:n,...r.source==="user"?{expectedRevision:r.revision}:{},document:{version:1,servers:{...r.document.servers,[e]:o}},validate:Xs}),structuredClone(o)}i(GM,"upsertMcpServer");function VM(e){if(typeof e!="string"||e.length===0)return!1;let t=io(),n=Ri(t);if(!(e in n.document.servers))return!1;let r=structuredClone(n.document.servers);return delete r[e],Qc({domain:"mcp",configHome:t,...n.source==="user"?{expectedRevision:n.revision}:{},document:{version:1,servers:r},validate:Xs}),!0}i(VM,"removeMcpServer");function Ox(e,t){if(typeof e!="string"||e.length===0)throw new TypeError("MCP server name must be a non-empty string");Xs({version:1,servers:{[e]:t}})}i(Ox,"validateMcpServerConfig");import qe from"fs/promises";import Io from"fs";import ke from"path";import{createHash as e2}from"node:crypto";import sA from"chalk";import vt from"fs/promises";import zM from"fs";import Jt from"path";var OF=2,DF=300*1e3,KM=65536,Dx=i(e=>Jt.join(e,".layout.json"),"layoutMarkerPath"),Bx=i(e=>Jt.join(e,".migration-lock"),"lockDirPath"),YM=i(e=>Jt.join(Bx(e),"owner.json"),"ownerPath"),Nx=i(e=>Jt.join(e,".migration-journal.jsonl"),"journalPath"),XM=i(e=>Jt.join(Jt.dirname(e),"sessions-archive"),"sessionsArchiveDir");function qM(e){return e.endsWith(".jsonl")&&!e.endsWith(".archive.jsonl")&&!e.endsWith(".islands.jsonl")&&!e.startsWith(".")}i(qM,"isSessionFile");function QM(e){return e.endsWith(".archive.jsonl")||e.endsWith(".islands.jsonl")?e.slice(0,-14):null}i(QM,"sidecarId");async function NF(e){let t;try{t=await vt.open(e,"r");let n=Buffer.allocUnsafe(KM),{bytesRead:r}=await t.read(n,0,KM,0);if(r===0)return null;let o=n.toString("utf8",0,r),s=o.indexOf(`
|
|
291
|
+
`),a=(s>=0?o.slice(0,s):o).trim();if(!a)return null;let c=JSON.parse(a);if(c&&typeof c=="object"&&c._type==="meta"){let l=c;return{gitRoot:typeof l.gitRoot=="string"?l.gitRoot:void 0,runtimeInfo:l.runtimeInfo}}return null}catch{return null}finally{await t?.close()}}i(NF,"readMeta");async function BF(e){let t=await NF(e);return t?Bo({gitRoot:t.gitRoot,runtimeInfo:t.runtimeInfo}).key:Lh}i(BF,"destKeyFor");async function JM(e){let t=[],n=i(async(r,o)=>{let s=[];try{s=await vt.readdir(r,{withFileTypes:!0})}catch{return}for(let a of s)!a.isFile()||a.name.startsWith(".")||(qM(a.name)||o&&QM(a.name)!==null)&&t.push(Jt.join(r,a.name))},"pushDir");return await n(e,!0),await n(XM(e),!0),t}i(JM,"collectFlatSources");async function WF(e){let t=await JM(e),n=t.filter(s=>qM(Jt.basename(s))),r=new Set(n.map(s=>Jt.basename(s,".jsonl"))),o=[];for(let s of n){let a=Jt.basename(s,".jsonl"),c=await BF(s);o.push({from:s,to:Jt.join(e,c,`${a}.jsonl`),reason:`session\u2192${c}`});for(let l of[".archive.jsonl",".islands.jsonl"]){let d=Jt.join(Jt.dirname(s),`${a}${l}`);zM.existsSync(d)&&o.push({from:d,to:Jt.join(e,c,`${a}.islands.jsonl`),reason:"sidecar\u2192islands"})}}for(let s of t){let a=QM(Jt.basename(s));a===null||r.has(a)||o.push({from:s,to:Jt.join(e,Lh,"orphan-islands",`${a}.islands.jsonl`),reason:"orphan-sidecar\u2192_unknown"})}return o}i(WF,"planMigration");async function ZM(e){try{return await vt.access(Dx(e)),!0}catch{return!1}}i(ZM,"isMigrated");async function HF(e){return await ZM(e)?!1:(await JM(e)).length>0}i(HF,"needsMigration");async function FF(e){try{let t=JSON.parse(await vt.readFile(YM(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>DF}catch{return!0}}i(FF,"lockIsStale");async function jF(e){let t=Bx(e);for(let n=0;n<2;n+=1)try{return await vt.mkdir(t),await vt.writeFile(YM(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 FF(e)){await vt.rm(t,{recursive:!0,force:!0}).catch(()=>{});continue}return!1}return!1}i(jF,"acquireLock");async function UF(e){await vt.rm(Bx(e),{recursive:!0,force:!0}).catch(()=>{})}i(UF,"releaseLock");async function GF(e){let t=new Set;try{let n=await vt.readFile(Nx(e),"utf8");for(let r of n.split(`
|
|
292
|
+
`))if(r.trim())try{let o=JSON.parse(r);o.done&&typeof o.from=="string"&&t.add(o.from)}catch{}}catch{}return t}i(GF,"readJournalDone");async function VF(e){if(await vt.mkdir(Jt.dirname(e.to),{recursive:!0}),zM.existsSync(e.to)){await vt.unlink(e.from).catch(()=>{});return}try{await vt.rename(e.from,e.to)}catch(t){let n=t.code;if(n==="EXDEV")await vt.copyFile(e.from,e.to),await vt.unlink(e.from).catch(()=>{});else if(n!=="ENOENT")throw t}}i(VF,"executeMove");async function eA(e){await vt.mkdir(e,{recursive:!0});let t=`${Dx(e)}.${process.pid}.tmp`,n=JSON.stringify({version:OF,migratedAt:new Date().toISOString(),from:"flat-v1"});await vt.writeFile(t,n+`
|
|
293
|
+
`,"utf8"),await vt.rename(t,Dx(e))}i(eA,"writeMarker");async function KF(e){let t=XM(e);try{(await vt.readdir(t)).length===0&&await vt.rmdir(t).catch(()=>{})}catch{}}i(KF,"retireSessionsArchive");async function zF(e){if(!await jF(e))return{moved:0,planned:0};try{let t=await WF(e),n=await GF(e),r=await vt.open(Nx(e),"a"),o=0;try{for(let s of t)n.has(s.from)||(await VF(s),await r.write(JSON.stringify({from:s.from,to:s.to,done:!0})+`
|
|
294
|
+
`),o+=1)}finally{await r.close()}return await KF(e),await eA(e),await vt.rm(Nx(e),{force:!0}).catch(()=>{}),{moved:o,planned:t.length}}finally{await UF(e)}}i(zF,"runMigration");async function li(e){try{if(await ZM(e))return;if(!await HF(e)){await eA(e).catch(()=>{});return}await zF(e)}catch{}}i(li,"ensureLayoutMigrated");var YF=new Set(["user","assistant","system"]),XF=new Set(["user","assistant","system","thinking","error","event","info","hint"]),qF=new Set(["success","error","cancelled","awaiting_approval"]);function yt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}i(yt,"isRecord");function Co(e){if(e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return!0;if(Array.isArray(e))return e.every(Co);if(!yt(e))return!1;let t=Object.getPrototypeOf(e);return t!==Object.prototype&&t!==null?!1:Object.values(e).every(Co)}i(Co,"isKodaXJsonValue");function nA(e){return yt(e)&&typeof e.id=="string"&&typeof e.extensionId=="string"&&typeof e.type=="string"&&typeof e.ts=="number"&&(e.data===void 0||Co(e.data))&&(e.dedupeKey===void 0||typeof e.dedupeKey=="string")}i(nA,"isKodaXExtensionSessionRecord");function rA(e){return yt(e)?Object.values(e).every(t=>yt(t)?Object.values(t).every(Co):!1):!1}i(rA,"isKodaXExtensionSessionState");function QF(e){if(!yt(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"&&yt(e.input);case"tool_result":return typeof e.tool_use_id=="string"&&typeof e.content=="string"&&(e.is_error===void 0||typeof e.is_error=="boolean");case"image":return typeof e.path=="string"&&(e.mediaType===void 0||typeof e.mediaType=="string");case"thinking":return typeof e.thinking=="string"&&(e.signature===void 0||typeof e.signature=="string");case"redacted_thinking":return typeof e.data=="string";default:return!1}}i(QF,"isKodaXContentBlock");function Wx(e){return!yt(e)||typeof e.role!="string"||!YF.has(e.role)?!1:typeof e.content=="string"||Array.isArray(e.content)&&e.content.every(QF)}i(Wx,"isKodaXMessage");function oA(e){return yt(e)?(e.lastError===void 0||typeof e.lastError=="string")&&(e.lastErrorTime===void 0||typeof e.lastErrorTime=="number")&&(e.consecutiveErrors===void 0||typeof e.consecutiveErrors=="number"):!1}i(oA,"isSessionErrorMetadata");function JF(e){return yt(e)&&Object.values(e).every(Co)}i(JF,"isKodaXSessionUiToolInput");function ZF(e){return yt(e)&&typeof e.id=="string"&&typeof e.name=="string"&&typeof e.status=="string"&&qF.has(e.status)&&(e.input===void 0||JF(e.input))&&(e.preview===void 0||typeof e.preview=="string")&&(e.output===void 0||typeof e.output=="string")&&(e.error===void 0||typeof e.error=="string")&&(e.startTime===void 0||typeof e.startTime=="number")&&(e.endTime===void 0||typeof e.endTime=="number")}i(ZF,"isKodaXSessionUiToolCall");function tA(e){return e===void 0||typeof e=="number"&&Number.isFinite(e)&&e>=0}i(tA,"isOptionalHistoryTimestamp");function iA(e){return!yt(e)||typeof e.type!="string"?!1:e.type==="tool_group"?tA(e.timestamp)&&Array.isArray(e.tools)&&e.tools.length>0&&e.tools.every(ZF):XF.has(e.type)&&typeof e.text=="string"&&tA(e.timestamp)&&(e.icon===void 0||typeof e.icon=="string")&&(e.compactText===void 0||typeof e.compactText=="string")}i(iA,"isKodaXSessionUiHistoryItem");var t2=[10,25,50,100],n2=6e4,aA=0;async function r2(e,t){for(let n=0;;n+=1)try{await qe.rename(e,t);return}catch(r){let o=t2[n];if(o===void 0||!o2(r))throw r;await new Promise(s=>setTimeout(s,o))}}i(r2,"replaceSessionFile");function o2(e){if(!(e instanceof Error)||!("code"in e))return!1;let t=e.code;return t==="EPERM"||t==="EBUSY"||t==="EACCES"}i(o2,"isTransientRenameError");function i2(e){return!yt(e)||e._type!=="meta_update"?!1:(e.title===void 0||typeof e.title=="string")&&(e.tag===void 0||typeof e.tag=="string")&&(e.activeEntryId===void 0||typeof e.activeEntryId=="string"||e.activeEntryId===null)&&(e.activeMessageCount===void 0||typeof e.activeMessageCount=="number")&&(e.uiHistory===void 0||Array.isArray(e.uiHistory))&&(e.scope===void 0||typeof e.scope=="string")}i(i2,"isPersistedMetaUpdateLine");function gA(e){if(!Array.isArray(e))return;let t=e.filter(iA).map(n=>n.type==="tool_group"?{...n,tools:n.tools.map(r=>({...r}))}:{...n});return t.length>0?t:void 0}i(gA,"normalizeKodaXSessionUiHistory");function yu(e,t,n){dt({source:"repl:session-storage",level:e,message:t,...n!==void 0?{detail:n}:{}})}i(yu,"reportStorageDiagnostic");function cA(e,t){t!==0&&yu("warn",`Skipped ${t} malformed session record(s) from ${ke.basename(e)}.`)}i(cA,"warnMalformedSessionData");function vo(e){yu("info",e)}i(vo,"writeStorageNotice");function lA(e){return{_type:"extension_record",...e}}i(lA,"toExtensionRecordLine");function uA(e){return{_type:"lineage_entry",entry:e}}i(uA,"toLineageEntryLine");function dA(e){return{_type:"artifact_ledger_entry",entry:e}}i(dA,"toArtifactLedgerLine");function s2(e){return yt(e)&&e._type==="extension_record"&&nA(e)}i(s2,"isPersistedExtensionRecordLine");function a2(e){return yt(e)&&typeof e.id=="string"&&(e.parentId===null||typeof e.parentId=="string")&&typeof e.timestamp=="string"&&typeof e.type=="string"&&(e.logicalId===void 0||typeof e.logicalId=="string")&&(e.sourceEntryId===void 0||typeof e.sourceEntryId=="string")}i(a2,"hasEntryBase");function yA(e){if(!a2(e))return!1;let t=e;switch(t.type){case"message":return Wx(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||Co(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||Co(t.payload));case"goal":return typeof t.event=="string";case"memory_outcome_digest":return yt(t.digest)&&typeof t.digest.id=="string"&&typeof t.digest.reviewKey=="string"&&typeof t.digest.sessionId=="string"&&typeof t.digest.branchId=="string"&&Number.isSafeInteger(t.digest.sequence)&&(t.jobId===void 0||typeof t.jobId=="string");case"memory_review_receipt":return typeof t.reviewKey=="string"&&Array.isArray(t.proposalIds)&&t.proposalIds.every(n=>typeof n=="string")&&(t.status==="completed"||t.status==="no_action")&&typeof t.completedAt=="string"&&(t.jobId===void 0||typeof t.jobId=="string");default:return!1}}i(yA,"isKodaXSessionEntry");function c2(e){return yt(e)&&e._type==="lineage_entry"&&yA(e.entry)}i(c2,"isPersistedLineageEntryLine");function l2(e){return yt(e)&&e._type==="archived_entry"&&typeof e.archiveBatchId=="string"&&yA(e.entry)}i(l2,"isPersistedArchivedEntryLine");function Rm(e){return e.type!=="message"?!1:e.message.content==="[compacted]"?!0:Array.isArray(e.message.content)&&e.message.content.length===1&&e.message.content[0]?.type==="text"&&e.message.content[0].text==="[compacted]"}i(Rm,"isCompactedPlaceholder");function xA(e,t){let n=new Map;for(let r of e)n.set(r.id,r);for(let r of t){let o=n.get(r.id);(!o||Rm(o))&&n.set(r.id,r)}return[...n.values()]}i(xA,"mergeFullLineageEntries");function u2(e,t){let n=e.lineage,r=t.lineage,o=n&&r?{...n,entries:xA(r.entries,n.entries)}:n??r,s=new Map;for(let c of t.artifactLedger??[])s.set(c.id,c);for(let c of e.artifactLedger??[])s.set(c.id,c);let a=new Map;for(let c of t.extensionRecords??[])a.set(c.id,c);for(let c of e.extensionRecords??[])a.set(c.id,c);return{...e,...o?{lineage:o}:{},...e.artifactLedger!==void 0||t.artifactLedger!==void 0?{artifactLedger:[...s.values()]}:{},...e.extensionRecords!==void 0||t.extensionRecords!==void 0?{extensionRecords:[...a.values()]}:{}}}i(u2,"mergeConcurrentAppendData");function d2(e,t,n){let r=f2(e,t)?m2(t,e):e,o=new Set(nT(r).map(d=>d.id)),s=new Map(n.map(d=>[d.id,d])),a=new Map;for(let d of n)Rm(d)||a.set(d.id,d);for(let d of t?.entries??[])Rm(d)||a.set(d.id,d);let c=[],l=new Set;for(let d of r.entries){if(s.has(d.id)&&!o.has(d.id))continue;let f=Rm(d)?a.get(d.id):void 0,p=f?.type==="message"&&d.type==="message"?{...d,message:f.message}:d;c.push(p),l.add(d.id)}for(let d of t?.entries??[])(d.type==="archive_marker"||d.type==="memory_outcome_digest"||d.type==="memory_review_receipt"||d.type==="client_notice")&&!l.has(d.id)&&(c.push(d),l.add(d.id));return{...r,entries:c}}i(d2,"reconcileCompactionLineage");function f2(e,t){if(t===void 0)return!1;let n=new Set(e.entries.map(r=>r.id));return t.entries.some(r=>p2(r)&&!n.has(r.id))}i(f2,"persistedTopologySupersedesIncoming");function p2(e){return e.type==="compaction"||e.type==="rewind_marker"}i(p2,"isTopologyEntry");function m2(e,t){let n=[...e.entries],r=new Set(n.map(o=>o.id));for(let o of t.entries)!r.has(o.id)&&h2(o)&&(n.push(o),r.add(o.id));return{...e,entries:n}}i(m2,"mergeContextSilentLineageEntries");function h2(e){return e.type==="archive_marker"||e.type==="label"||e.type==="goal"||e.type==="client_notice"||e.type==="memory_outcome_digest"||e.type==="memory_review_receipt"}i(h2,"isContextSilentLineageEntry");function g2(e){return yt(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||Co(e.metadata))}i(g2,"isKodaXSessionArtifactLedgerEntry");function y2(e){return yt(e)&&e._type==="artifact_ledger_entry"&&g2(e.entry)}i(y2,"isPersistedArtifactLedgerLine");function SA(e){return yt(e)&&(e.canonicalRepoRoot===void 0||typeof e.canonicalRepoRoot=="string")&&(e.workspaceRoot===void 0||typeof e.workspaceRoot=="string")&&(e.executionCwd===void 0||typeof e.executionCwd=="string")&&(e.branch===void 0||typeof e.branch=="string")&&(e.workspaceKind===void 0||e.workspaceKind==="detected"||e.workspaceKind==="managed")}i(SA,"isKodaXSessionRuntimeInfo");function Hx(e,t){return process.platform==="win32"||process.platform==="darwin"?e.toLowerCase()===t.toLowerCase():e===t}i(Hx,"pathsEqual");function x2(e){for(let t=e.length-1;t>=0;t-=1){let n=e[t];if(n&&n.type!=="label"&&n.type!=="goal"&&n.type!=="client_notice"&&n.type!=="rewind_marker")return n.id}return null}i(x2,"getLastNavigableEntryId");function S2(e){if(e.lineageEntries.length>0)return{version:2,activeEntryId:e.meta?.activeEntryId??x2(e.lineageEntries),entries:e.lineageEntries};if(e.legacyMessages.length!==0)return Ze(e.legacyMessages)}i(S2,"buildLineage");function fA(e){return typeof e=="string"?`t:${e}`:`j:${JSON.stringify(e)}`}i(fA,"serializeMessageContentForCompare");function w2(e,t){return e===t?!0:e.role===t.role&&e._synthetic===!0==(t._synthetic===!0)&&fA(e.content)===fA(t.content)}i(w2,"sameMessageByContent");function T2(e,t){if(e.lineage)return e.lineage;if(t){let n=kt(t),r=e.messages;if(r.length<=n.length&&r.every((s,a)=>w2(s,n[a])))return t}return Ze(e.messages,t)}i(T2,"resolveSnapshotLineage");function C2(e,t){let n=S2(e);return{createdAt:e.meta?.createdAt,filePath:t,data:{messages:n?kt(n):[...e.legacyMessages],title:e.meta?.title??"",gitRoot:e.meta?.gitRoot??"",tag:typeof e.meta?.tag=="string"?e.meta.tag:void 0,runtimeInfo:SA(e.meta?.runtimeInfo)?{...e.meta.runtimeInfo}:void 0,scope:e.meta?.scope??"user",uiHistory:gA(e.meta?.uiHistory),errorMetadata:oA(e.meta?.errorMetadata)?{...e.meta.errorMetadata}:void 0,extensionState:rA(e.meta?.extensionState)?e.meta?.extensionState:void 0,extensionRecords:e.extensionRecords.map(r=>({...r})),lineage:n,artifactLedger:e.artifactLedger.map(r=>({...r,metadata:r.metadata?structuredClone(r.metadata):void 0})),actorSnapshot:e.meta?.actorSnapshot?structuredClone(e.meta.actorSnapshot):void 0}}}i(C2,"buildSessionData");function I2(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?bi(n):t.messages.length}}i(I2,"createSessionMeta");async function pA(e){let t;try{t=await qe.readFile(e,"utf-8")}catch(s){if(s?.code==="ENOENT")return null;throw s}let n=t.trim();if(!n)return null;let r={legacyMessages:[],lineageEntries:[],artifactLedger:[],extensionRecords:[],malformedCount:0},o=n.split(`
|
|
295
|
+
`);for(let s=0;s<o.length;s+=1)try{let a=JSON.parse(o[s]);if(s===0&&yt(a)&&a._type==="meta"){r.meta=a;continue}if(i2(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=gA(a.uiHistory)),a.scope!==void 0&&(r.meta.scope=a.scope));continue}if(c2(a)){r.lineageEntries.push(a.entry);continue}if(y2(a)){r.artifactLedger.push(a.entry);continue}if(s2(a)){r.extensionRecords.push({id:a.id,extensionId:a.extensionId,type:a.type,ts:a.ts,data:a.data,dedupeKey:a.dedupeKey});continue}if(Wx(a)){r.legacyMessages.push(a);continue}r.malformedCount+=1}catch{r.malformedCount+=1}return r}i(pA,"readPersistedSessionFile");var mA=65536;async function Fx(e){let t;try{t=await qe.open(e,"r");let n=Buffer.allocUnsafe(mA),{bytesRead:r}=await t.read(n,0,mA,0);if(r===0)return null;let o=n.toString("utf8",0,r),s=o.indexOf(`
|
|
296
|
+
`);if(s>=0)return o.slice(0,s).trim();let a=await qe.readFile(e,"utf-8"),c=a.indexOf(`
|
|
297
|
+
`);return(c>=0?a.slice(0,c):a).trim()}catch{return null}finally{await t?.close()}}i(Fx,"readSessionFirstLine");async function hA(e){try{let t=(await qe.readFile(e,"utf-8")).trim();return t?t.split(`
|
|
298
|
+
`).length:0}catch{return 0}}i(hA,"countSessionLines");var Zn=class{static{i(this,"FileSessionStorage")}sessionsDir;configHome;hostCwd;emitMismatchWarnings;constructor(t){this.sessionsDir=ke.resolve(t?.sessionsDir??ao),this.configHome=ke.resolve(t?.configHome??Gd),this.hostCwd=t?.cwd,this.emitMismatchWarnings=t?.emitMismatchWarnings??!1}getSessionsDir(){return this.sessionsDir}writeQueues=new Map;serializedWrite(t,n){let r=this.writeQueues.get(t)??Promise.resolve(),o=i(()=>Jw(this.sessionWriteLockPath(t),n,n2),"locked"),s=r.then(o,o);return this.writeQueues.set(t,s),s}sessionWriteLockPath(t){let n=e2("sha256").update(t,"utf8").digest("hex");return ke.join(this.sessionsDir,".write-locks",`${n}.lock`)}appendState=new Map;sessionDirCache=new Map;projectJsonWritten=new Set;migrationPromise;ensureMigrated(){return this.migrationPromise||(this.migrationPromise=li(this.sessionsDir)),this.migrationPromise}syncAppendState(t,n,r){let o=this.appendState.get(t);this.appendState.set(t,{lineageCount:n.lineage?.entries.length??o?.lineageCount??0,artifactCount:n.artifactLedger?.length??o?.artifactCount??0,extensionCount:n.extensionRecords?.length??o?.extensionCount??0,metaUpdateCount:r??o?.metaUpdateCount??0,activeEntryId:n.lineage?.activeEntryId??o?.activeEntryId,tag:n.tag!==void 0?n.tag:o?.tag})}legacyFlatPath(t){return ke.join(this.sessionsDir,`${t}.jsonl`)}legacyFlatArchivePath(t){return ke.join(this.sessionsDir,`${t}.archive.jsonl`)}projectDir(t){return ke.join(this.sessionsDir,t)}resolveWriteDir(t,n){let r=this.sessionDirCache.get(t);if(r)return r;let o=Bo(n),s=this.projectDir(o.key);return this.sessionDirCache.set(t,s),s}writeFilePath(t,n){return ke.join(this.resolveWriteDir(t,n),`${t}.jsonl`)}async resolveSessionLocation(t){let n=this.sessionDirCache.get(t);if(n){let s=ke.join(n,`${t}.jsonl`);if(Io.existsSync(s))return s;let a=ke.join(n,"archived",`${t}.jsonl`);if(Io.existsSync(a))return a}let r=[],o=[];try{o=await qe.readdir(this.sessionsDir,{withFileTypes:!0})}catch{o=[]}for(let s of o){if(!s.isDirectory()||s.name.startsWith("."))continue;let a=ke.join(this.sessionsDir,s.name,`${t}.jsonl`);Io.existsSync(a)&&r.push(a);let c=ke.join(this.sessionsDir,s.name,"archived",`${t}.jsonl`);Io.existsSync(c)&&r.push(c)}if(r.length===0){let s=this.legacyFlatPath(t);return Io.existsSync(s)?s:null}if(r.length===1){let s=ke.dirname(r[0]),a=ke.basename(s)==="archived"?ke.dirname(s):s;return this.sessionDirCache.set(t,a),r[0]}if(this.hostCwd){let s=await _r({cwd:this.hostCwd}),a=await co(this.hostCwd),c=this.projectDir(Bo({gitRoot:a??void 0,runtimeInfo:s}).key),l=r.find(d=>ke.dirname(d)===c);if(l)return l}return vo(`[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 pA(n);return r?(cA(n,r.malformedCount),C2(r,n)):null}async readArchivedEntries(t,n){let r=n??await this.resolveSessionLocation(t);if(!r)return[];let o=ke.dirname(r),s=[ke.join(o,`${t}.islands.jsonl`),ke.join(o,`${t}.archive.jsonl`)],a=[],c=new Set;for(let l of s){let d;try{d=await qe.readFile(l,"utf-8")}catch(m){if(m.code==="ENOENT")continue;throw m}let f=d.split(/\r?\n/),p=-1;for(let m=f.length-1;m>=0;m-=1)if((f[m]??"").trim().length>0){p=m;break}for(let m=0;m<f.length;m+=1){let h=f[m]??"";if(h.trim())try{let S=JSON.parse(h);l2(S)&&!c.has(S.entry.id)&&(c.add(S.entry.id),a.push(S.entry))}catch(S){m!==p&&yu("warn",`Skipped malformed island sidecar record ${ke.basename(l)}:${m+1}.`,S)}}}return a}async appendIslandArchive(t,n,r,o,s){if(r.length===0)return;let a=s?ke.dirname(s):this.resolveWriteDir(t,n);await qe.mkdir(a,{recursive:!0});let c=ke.join(a,`${t}.islands.jsonl`),l=await qe.open(c,"a");try{await l.write(JSON.stringify({_type:"archive_batch",archiveBatchId:o,sessionId:t,archivedAt:new Date().toISOString(),entryCount:r.length})+`
|
|
299
|
+
`);for(let d of r)await l.write(JSON.stringify({_type:"archived_entry",archiveBatchId:o,entry:d})+`
|
|
300
|
+
`);await l.sync()}finally{await l.close()}}async ensureProjectJson(t,n){if(n.canonicalRoot===null||this.projectJsonWritten.has(t))return;this.projectJsonWritten.add(t);let r=ke.join(t,"project.json");try{let o=JSON.stringify({canonicalRoot:n.canonicalRoot,displayName:n.displayName,lastUsed:new Date().toISOString()});await qe.writeFile(r,o+`
|
|
301
|
+
`,"utf-8")}catch{}}async writeSessionInternal(t,n,r,o){let s=o?ke.dirname(o):this.resolveWriteDir(t,n);await qe.mkdir(s,{recursive:!0});let a=o??ke.join(s,`${t}.jsonl`),c=`${a}.${process.pid}.${Date.now()}.${aA++}.tmp`,l=n.lineage??Ze(n.messages),d=I2(t,n,l,r);try{let f=await qe.open(c,"w");try{await f.write(JSON.stringify(d)+`
|
|
302
|
+
`);for(let h of l.entries)await f.write(JSON.stringify(uA(h))+`
|
|
303
|
+
`);for(let h of n.artifactLedger??[])await f.write(JSON.stringify(dA(h))+`
|
|
304
|
+
`);for(let h of n.extensionRecords??[])await f.write(JSON.stringify(lA(h))+`
|
|
305
|
+
`);await f.sync()}finally{await f.close()}await r2(c,a);let p=ke.basename(s)==="archived"?ke.dirname(s):s;await this.ensureProjectJson(p,Bo(n));let m=this.legacyFlatPath(t);if(m!==a&&Io.existsSync(m)){await qe.unlink(m).catch(()=>{});let h=this.legacyFlatArchivePath(t);Io.existsSync(h)&&await qe.rename(h,ke.join(p,`${t}.islands.jsonl`)).catch(()=>{})}}finally{Io.existsSync(c)&&await qe.unlink(c).catch(()=>{})}}async mergeAndWriteInternal(t,n){let r=await this.readSession(t),o={...n,scope:n.scope??r?.data.scope??"user",uiHistory:n.uiHistory??r?.data.uiHistory,extensionState:n.extensionState??r?.data.extensionState,artifactLedger:n.artifactLedger??r?.data.artifactLedger,actorSnapshot:r?.data.actorSnapshot??n.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:T2(n,r?.data.lineage)},s=await this.readArchivedEntries(t),a=d2(o.lineage,r?.data.lineage,s),c=Ih(a);await this.appendIslandArchive(t,o,c.archivedEntries,c.archiveBatchId,r?.filePath);let l={...o,lineage:c.slimmedLineage};await this.writeSessionInternal(t,l,r?.createdAt,r?.filePath),this.syncAppendState(t,{...o,lineage:a})}async appendSessionDelta(t,n){await this.ensureMigrated(),await this.serializedWrite(t,async()=>{let o=this.appendState.get(t);if(!o){await this.mergeAndWriteInternal(t,n);return}if(!n.lineage||n.lineage.entries.length<o.lineageCount||(n.artifactLedger?.length??0)<o.artifactCount||n.tag!==void 0&&n.tag!==o.tag||n.extensionState!==void 0||n.actorSnapshot!==void 0||n.extensionRecords!==void 0&&o.extensionCount>0&&n.extensionRecords.length<=o.extensionCount||n.lineage.entries.slice(o.lineageCount).some(p=>p.type==="compaction")){await this.mergeAndWriteInternal(t,n);return}let s=await this.readSession(t);if(!s||!n.lineage||(s.data.lineage?.entries.length??0)!==o.lineageCount||(s.data.artifactLedger?.length??0)!==o.artifactCount||(s.data.extensionRecords?.length??0)!==o.extensionCount||s.data.lineage?.activeEntryId!==o.activeEntryId||!s.data.lineage?.entries.every((p,m)=>n.lineage?.entries[m]?.id===p.id)||!(s.data.artifactLedger??[]).every((p,m)=>n.artifactLedger?.[m]?.id===p.id)||!(s.data.extensionRecords??[]).every((p,m)=>n.extensionRecords?.[m]?.id===p.id)){await this.mergeAndWriteInternal(t,s?u2(n,s.data):n);return}let a=n.lineage.entries.slice(o.lineageCount),c=(n.artifactLedger??[]).slice(o.artifactCount),l=(n.extensionRecords??[]).slice(o.extensionCount),d=[];for(let p of a)d.push(JSON.stringify(uA(p)));for(let p of c)d.push(JSON.stringify(dA(p)));for(let p of l)d.push(JSON.stringify(lA(p)));let f={_type:"meta_update",title:n.title,activeEntryId:n.lineage.activeEntryId,activeMessageCount:bi(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 qe.appendFile(s.filePath,`
|
|
306
|
+
`+d.join(`
|
|
307
|
+
`),"utf-8"),this.syncAppendState(t,n,o.metaUpdateCount+1)});let r=this.appendState.get(t);r&&this.shouldRunMaintenance(r)&&this.runMaintenance(t).catch(o=>{yu("error","Archive maintenance failed.",o)})}shouldRunMaintenance(t){return t.metaUpdateCount>=50||t.lineageCount>500}async runMaintenance(t){await this.serializedWrite(t,async()=>{let n=await this.readSession(t);if(!n?.data.lineage)return;let{slimmedLineage:r,archivedEntries:o,archiveBatchId:s}=Ih(n.data.lineage);if(o.length===0){await this.writeSessionInternal(t,n.data,n.createdAt,n.filePath),this.syncAppendState(t,n.data,0);return}await this.appendIslandArchive(t,n.data,o,s,n.filePath);let a={...n.data,lineage:r};await this.writeSessionInternal(t,a,n.createdAt,n.filePath),this.syncAppendState(t,n.data,0)})}async save(t,n){await this.serializedWrite(t,async()=>{await this.mergeAndWriteInternal(t,n)})}async mutateLineage(t,n){let r=!1;return await this.serializedWrite(t,async()=>{let o=await this.readSession(t);if(o===null)return;r=!0;let s=o.data.lineage??Ze(o.data.messages),a=n(s);a!==s&&await this.mergeAndWriteInternal(t,{...o.data,lineage:a})}),r}async saveActorSnapshot(t,n,r){await this.serializedWrite(t,async()=>{let o=await this.readSession(t);if(!o)throw new Error(`Session not found: ${t}`);let s=o.data.actorSnapshot?.revision??0;if(s!==r)throw new rT(r,s,t);let a={...o.data,actorSnapshot:structuredClone(n)};await this.writeSessionInternal(t,a,o.createdAt,o.filePath),this.syncAppendState(t,a)})}async peek(t){let n=await this.readSession(t);return n?structuredClone(n.data):null}async load(t){let n=await this.readSession(t);if(!n)return null;this.syncAppendState(t,n.data);let{data:r}=n,o=this.legacyFlatPath(t);if(this.emitMismatchWarnings){let s=await co(this.hostCwd),a=await _r({cwd:this.hostCwd}),c=xn(r);(a.canonicalRepoRoot&&c?.canonicalRepoRoot&&!tf(a,c)||s&&r.gitRoot&&s!==r.gitRoot&&!tf(a,{canonicalRepoRoot:r.gitRoot}))&&(vo(sA.yellow(`
|
|
308
|
+
[Warning] Session project mismatch:`)),a.workspaceRoot&&vo(` Current workspace: ${a.workspaceRoot}`),c?.workspaceRoot&&vo(` Session workspace: ${c.workspaceRoot}`),a.canonicalRepoRoot&&vo(` Current repo: ${a.canonicalRepoRoot}`),c?.canonicalRepoRoot?vo(` Session repo: ${c.canonicalRepoRoot}`):r.gitRoot&&vo(` Session repo: ${r.gitRoot}`),vo(` Continuing anyway...
|
|
309
|
+
`))}if(r.errorMetadata?.consecutiveErrors&&r.errorMetadata.consecutiveErrors>0){let s=r,a=!1;return await this.serializedWrite(t,async()=>{let c=await this.readSession(t);if(!c){s=null;return}s=c.data;let l=c.data.actorSnapshot;if(l?.schemaVersion===2&&l.owner!==void 0||l?.turns.some(p=>p.state==="accepted"||p.state==="running")){this.syncAppendState(t,c.data);return}if(!c.data.errorMetadata?.consecutiveErrors||c.data.errorMetadata.consecutiveErrors<=0){this.syncAppendState(t,c.data);return}let d=Xw(c.data.messages);if(d===c.data.messages){this.syncAppendState(t,c.data);return}let f={...c.data,messages:d,errorMetadata:{...c.data.errorMetadata,consecutiveErrors:0},lineage:Ze(d,c.data.lineage)};await this.writeSessionInternal(t,f,c.createdAt,c.filePath),this.syncAppendState(t,f),s=f,a=!0}),a&&vo(sA.cyan("[Session Recovery] Cleaned incomplete tool calls from previous session")),s}return cA(o,0),r}async isArchived(t){await this.ensureMigrated();let n=await this.resolveSessionLocation(t);return n!==null&&ke.basename(ke.dirname(n))==="archived"}async getLineage(t){return(await this.readSession(t))?.data.lineage??null}async loadFullLineage(t){await this.ensureMigrated();let n=await this.resolveSessionLocation(t);if(!n)return null;let r=await this.readSession(t);if(!r?.data.lineage)return null;let o=await this.readArchivedEntries(t,n);return o.length===0?r.data.lineage:{...r.data.lineage,entries:xA(o,r.data.lineage.entries)}}async setActiveEntry(t,n,r){let o=null;return await Th({configHome:this.configHome,sessionId:t},async s=>this.serializedWrite(t,async()=>{let a=await this.readSession(t);if(!a?.data.lineage)return;let c=Ws(a.data.lineage,n,r);if(!c)return;await s(vh(c));let l={...a.data,messages:kt(c),lineage:c};await this.writeSessionInternal(t,l,a.createdAt,a.filePath),this.syncAppendState(t,l),o=l})),o}async rewind(t,n){let r=null;return await Th({configHome:this.configHome,sessionId:t},async o=>this.serializedWrite(t,async()=>{let s=await this.readSession(t);if(!s?.data.lineage)return;let a=n??js(s.data.lineage);if(!a)return;let c=Us(s.data.lineage,a);if(!c)return;await o(vh(c));let l={...s.data,messages:kt(c),lineage:c};await this.writeSessionInternal(t,l,s.createdAt,s.filePath),this.syncAppendState(t,l),r=l})),r}async setLabel(t,n,r){let o=null;return await this.serializedWrite(t,async()=>{let s=await this.readSession(t);if(!s?.data.lineage)return;let a=Hs(s.data.lineage,n,r);if(!a)return;let c={...s.data,lineage:a};await this.writeSessionInternal(t,c,s.createdAt,s.filePath),this.syncAppendState(t,c),o=c}),o}async fork(t,n,r){let o=null;return await this.serializedWrite(t,async()=>{let s=await this.readSession(t);if(!s?.data.lineage)return;let a=Gs(s.data.lineage,n);if(!a)return;let c=r?.sessionId??await Vs(),l={messages:kt(a),title:r?.title??s.data.title,gitRoot:s.data.gitRoot,tag:s.data.tag,runtimeInfo:s.data.runtimeInfo?{...s.data.runtimeInfo}:void 0,uiHistory:s.data.uiHistory?s.data.uiHistory.map(d=>({...d})):void 0,extensionState:s.data.extensionState?structuredClone(s.data.extensionState):void 0,artifactLedger:s.data.artifactLedger?structuredClone(s.data.artifactLedger):void 0,extensionRecords:s.data.extensionRecords?structuredClone(s.data.extensionRecords):void 0,lineage:a};await this.writeSessionInternal(c,l),o={sessionId:c,data:l}}),o}async list(t,n){await this.ensureMigrated(),await qe.mkdir(this.sessionsDir,{recursive:!0});let r=t&&t.trim()?t:void 0,o=r!==void 0||this.hostCwd!==void 0,s=r??(this.hostCwd?await co(this.hostCwd):null),a=await _r({cwd:s??this.hostCwd??process.cwd()}),c=await qe.readdir(this.sessionsDir,{withFileTypes:!0}),l=[],d=Bo({gitRoot:s??void 0,runtimeInfo:a}).key,f=i(w=>w.endsWith(".archive.jsonl")||w.endsWith(".islands.jsonl"),"isSidecar"),p=o?[d]:c.filter(w=>w.isDirectory()&&!w.name.startsWith(".")).map(w=>w.name);for(let w of p){let b=[];try{b=await qe.readdir(this.projectDir(w))}catch{continue}for(let M of b)M.endsWith(".jsonl")&&!f(M)&&l.push({path:ke.join(this.projectDir(w),M),trusted:o,archived:!1});if(n?.includeArchived){let M=[];try{M=await qe.readdir(ke.join(this.projectDir(w),"archived"))}catch{M=[]}for(let O of M)O.endsWith(".jsonl")&&!f(O)&&l.push({path:ke.join(this.projectDir(w),"archived",O),trusted:o,archived:!0})}}for(let w of c)w.isFile()&&w.name.endsWith(".jsonl")&&!f(w.name)&&!w.name.startsWith("archived-")&&!w.name.startsWith(".")&&l.push({path:ke.join(this.sessionsDir,w.name),trusted:!1,archived:!1});let m=[],h=i(async(w,b,M)=>{try{let O=await Fx(w);if(!O)return null;let k=JSON.parse(O);if(yt(k)&&k._type==="meta"){let q=typeof k.gitRoot=="string"?k.gitRoot:"",V=SA(k.runtimeInfo)?k.runtimeInfo:void 0,K=k.scope==="managed-task-worker"?"managed-task-worker":"user";if(o&&!b){let Z=tf(a,V),y=V?.workspaceRoot?Hx(V.workspaceRoot,a.workspaceRoot??""):!!(s&&q&&Hx(q,s)),A=V?.executionCwd?Hx(V.executionCwd,a.executionCwd??""):!1,Q=Bo({gitRoot:q||void 0,runtimeInfo:V}).key===d;if(!Z&&!y&&!A&&!Q)return null}if(K!=="user")return null;let fe=typeof k.extensionRecordCount=="number"&&k.extensionRecordCount>0?k.extensionRecordCount:0,ge=typeof k.activeMessageCount=="number"&&k.activeMessageCount>=0?k.activeMessageCount:Math.max(0,await hA(w)-1-fe);return{id:ke.basename(w,".jsonl"),title:typeof k.title=="string"?k.title:"",msgCount:ge,...typeof k.tag=="string"?{tag:k.tag}:{},createdAt:typeof k.createdAt=="string"?k.createdAt:void 0,runtimeInfo:V?{...V}:q?{canonicalRepoRoot:q}:void 0,...M?{archived:!0}:{}}}let P=await hA(w);return{id:ke.basename(w,".jsonl"),title:"",msgCount:P,...M?{archived:!0}:{}}}catch{return null}},"parseSessionFile"),S=48,v=new Set;for(let w=0;w<l.length;w+=S){let b=await Promise.all(l.slice(w,w+S).map(M=>h(M.path,M.trusted,M.archived)));for(let M of b)M&&!v.has(M.id)&&(v.add(M.id),m.push(M))}let T=n?.limit??10;return m.sort((w,b)=>{let M=w.createdAt?Date.parse(w.createdAt):Number.NaN,O=b.createdAt?Date.parse(b.createdAt):Number.NaN;return Number.isFinite(M)&&Number.isFinite(O)&&M!==O?O-M:Number.isFinite(O)&&!Number.isFinite(M)?1:Number.isFinite(M)&&!Number.isFinite(O)?-1:b.id.localeCompare(w.id)}).slice(0,T).map(({id:w,title:b,msgCount:M,tag:O,runtimeInfo:k,createdAt:P,archived:q})=>({id:w,title:b,msgCount:M,...O!==void 0?{tag:O}:{},...k?{runtimeInfo:k}:{},...P!==void 0?{createdAt:P}:{},...q?{archived:!0}:{}}))}async archive(t){return this.archiveWithActorOwner(t)}async archiveOwned(t,n){return this.archiveWithActorOwner(t,n)}async archiveWithActorOwner(t,n){await this.ensureMigrated();let r=!1;return await this.serializedWrite(t,async()=>{let o=await this.readSession(t);if(!o)return;this.assertActorFileOwner(o.data.actorSnapshot,n);let s=ke.dirname(o.filePath);if(ke.basename(s)==="archived"){r=!0;return}await this.movePair(t,s,ke.join(s,"archived")),this.sessionDirCache.delete(t),r=!0}),r}async unarchive(t){return this.unarchiveWithActorOwner(t)}async unarchiveOwned(t,n){return this.unarchiveWithActorOwner(t,n)}async unarchiveWithActorOwner(t,n){await this.ensureMigrated();let r=!1;return await this.serializedWrite(t,async()=>{let o=await this.readSession(t);if(!o)return;this.assertActorFileOwner(o.data.actorSnapshot,n);let s=ke.dirname(o.filePath);if(ke.basename(s)!=="archived"){r=!0;return}await this.movePair(t,s,ke.dirname(s)),this.sessionDirCache.delete(t),r=!0}),r}async movePair(t,n,r){await qe.mkdir(r,{recursive:!0});let o=[];try{for(let s of[`${t}.jsonl`,`${t}.islands.jsonl`]){let a=ke.join(n,s);Io.existsSync(a)&&(await qe.rename(a,ke.join(r,s)),o.push(s))}}catch(s){let a=[];for(let c of o.reverse())try{await qe.rename(ke.join(r,c),ke.join(n,c))}catch(l){a.push(l)}throw a.length>0?new AggregateError([s,...a],`Session ${t} move failed and rollback was incomplete.`):s}}async removeFileSetAtomically(t,n){let r=[];try{for(let o of[...new Set(n)]){let s=`${o}.${process.pid}.${Date.now()}.${aA++}.deleting.tmp`;try{await qe.rename(o,s),r.push({source:o,tombstone:s})}catch(a){if(a.code!=="ENOENT")throw a}}}catch(o){let s=[];for(let a of r.reverse())try{await qe.rename(a.tombstone,a.source)}catch(c){s.push(c)}throw s.length>0?new AggregateError([o,...s],`Session ${t} deletion failed and rollback was incomplete.`):o}for(let o of r)try{await qe.unlink(o.tombstone)}catch(s){yu("warn",`Session ${t} was deleted, but a recoverable tombstone could not be removed.`,s)}return r.length}assertActorFileOwner(t,n){if(n!==void 0){if(t?.schemaVersion!==2||t.owner?.ownerId!==n)throw new bh(t?.schemaVersion===2?t.owner?.runtimeId:void 0,t?.revision??0,!1);return}if(t?.schemaVersion===2&&t.owner)throw new bh(t.owner.runtimeId,t.revision,!1);if(t?.turns.some(r=>r.state==="accepted"||r.state==="running"))throw new oT(t.revision)}async delete(t){return this.deleteWithActorOwner(t)}async deleteOwned(t,n){if(n.trim().length===0)throw new Error("Actor owner ID is required for owned Session deletion.");return this.deleteWithActorOwner(t,n)}async deleteWithActorOwner(t,n){await this.ensureMigrated(),await this.serializedWrite(t,async()=>{let r=await this.readSession(t);if(!r)return;this.assertActorFileOwner(r.data.actorSnapshot,n);let o=r.filePath,s=[],a=i(l=>{s.includes(l)||s.push(l)},"addTarget");a(o.replace(/\.jsonl$/,".archive.jsonl")),a(o.replace(/\.jsonl$/,".islands.jsonl")),a(this.legacyFlatArchivePath(t)),a(this.legacyFlatPath(t));let c=s.indexOf(o);c>=0&&s.splice(c,1),s.push(o),await this.removeFileSetAtomically(t,s),this.sessionDirCache.delete(t)})}async deleteAll(t){let n=t??(this.hostCwd?await co(this.hostCwd):null),r=await this.list(n??void 0,{limit:Number.MAX_SAFE_INTEGER});for(let o of r)await this.delete(o.id)}async cleanupOldSessions(t){if(!Number.isFinite(t)||t<=0)return 0;await this.ensureMigrated();let n=0,r=Date.now()-t*24*60*60*1e3,o=i(async s=>{let a=ke.basename(s);if(!a.endsWith(".jsonl")||a.endsWith(".archive.jsonl")||a.endsWith(".islands.jsonl"))return;let c=a.slice(0,-6);try{await this.serializedWrite(c,async()=>{if((await qe.stat(s)).mtimeMs>=r)return;let d=await pA(s),f=d?.meta?.actorSnapshot;!d?.meta||f!==void 0&&(f.schemaVersion===2&&f.owner!==void 0||f.turns.some(p=>p.state==="accepted"||p.state==="running"))||(n+=await this.removeFileSetAtomically(c,[s.replace(/\.jsonl$/,".archive.jsonl"),s.replace(/\.jsonl$/,".islands.jsonl"),s]),this.sessionDirCache.delete(c))})}catch{}},"unlinkSessionIfOld");try{await qe.mkdir(this.sessionsDir,{recursive:!0});let s=await qe.readdir(this.sessionsDir,{withFileTypes:!0});for(let a of s){let c=ke.join(this.sessionsDir,a.name);if(a.isFile()){await o(c);continue}if(!a.isDirectory()||a.name.startsWith("."))continue;let l=[];try{l=await qe.readdir(c,{withFileTypes:!0})}catch{continue}for(let d of l){let f=ke.join(c,d.name);if(d.isFile())await o(f);else if(d.isDirectory()&&d.name==="archived"){let p=[];try{p=await qe.readdir(f)}catch{continue}for(let m of p)await o(ke.join(f,m))}}}}catch{}return n}};import as from"node:fs/promises";import yn from"node:path";var v2=8;function wA(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}i(wA,"isRecord");function TA(e){return e.endsWith(".jsonl")&&!e.endsWith(".archive.jsonl")&&!e.endsWith(".islands.jsonl")&&!e.startsWith(".")&&!e.startsWith("archived-")}i(TA,"isSessionFile");async function b2(e){let t=[],n=[];try{n=await as.readdir(e,{withFileTypes:!0})}catch{return t}for(let r of n){if(r.isFile()){TA(r.name)&&t.push(yn.join(e,r.name));continue}if(!r.isDirectory()||r.name.startsWith("."))continue;let o=yn.join(e,r.name),s=[];try{s=await as.readdir(o)}catch{continue}for(let a of s)TA(a)&&t.push(yn.join(o,a))}return t}i(b2,"collectSessionFiles");function R2(e,t){let r=yn.relative(e,t).split(yn.sep);return r.length>1?r[0]:void 0}i(R2,"getProjectKey");async function k2(e,t){let n=yn.relative(e,t),r=yn.basename(t,".jsonl");try{let s=(await as.readFile(t,"utf8")).split(/\r?\n/,1)[0];if(!s)return null;let a=JSON.parse(s);if(!wA(a)||a._type!=="meta")return null;let c=wA(a.runtimeInfo)?a.runtimeInfo:void 0,l=typeof c?.canonicalRepoRoot=="string"?c.canonicalRepoRoot:typeof c?.workspaceRoot=="string"?c.workspaceRoot:void 0,d=typeof a.createdAt=="string"?Date.parse(a.createdAt):Number.NaN,f=Array.isArray(a.uiHistory)?a.uiHistory:void 0,p=typeof a.artifactLedgerCount=="number"?a.artifactLedgerCount:0,m=typeof a.activeEntryId=="string"||a.activeEntryId===null;return{id:typeof a.id=="string"?a.id:r,filePath:t,relativePath:n,projectKey:R2(e,t),isRunner:r.startsWith("runner-"),title:typeof a.title=="string"?a.title:"",gitRoot:typeof a.gitRoot=="string"?a.gitRoot:"",runtimeRoot:l,createdAtMs:Number.isFinite(d)?d:void 0,scope:a.scope==="managed-task-worker"?"managed-task-worker":"user",activeMessageCount:typeof a.activeMessageCount=="number"?a.activeMessageCount:void 0,hasHostState:!!(f&&f.length>0||a.lineageVersion===2||m||p>0)}}catch{return null}}i(k2,"parseCandidate");function E2(e,t){return e.projectKey&&t.projectKey&&e.projectKey===t.projectKey||e.runtimeRoot&&t.runtimeRoot&&e.runtimeRoot===t.runtimeRoot?!0:!!(e.gitRoot&&t.gitRoot&&e.gitRoot===t.gitRoot)}i(E2,"sameProject");function M2(e,t){if(t.isRunner||t.scope!=="user"||!E2(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>=v2?{canonical:t,score:n,reasons:r}:null}i(M2,"scoreCandidate");function A2(e){let t=i(n=>String(n).padStart(2,"0"),"pad");return[e.getUTCFullYear(),t(e.getUTCMonth()+1),t(e.getUTCDate()),"-",t(e.getUTCHours()),t(e.getUTCMinutes()),t(e.getUTCSeconds())].join("")}i(A2,"formatArchiveBatch");async function _2(e){let t=e,n=1;for(;;){try{await as.access(t)}catch{return t}let r=yn.extname(e);t=`${e.slice(0,e.length-r.length)}.${n}${r}`,n+=1}}i(_2,"uniqueTargetPath");async function CA(e={}){let t=e.sessionsDir??ao;e.apply&&(await as.mkdir(t,{recursive:!0}),await li(t));let n=await b2(t),r=[],o=[];for(let f of n){let p=await k2(t,f);if(!p){yn.basename(f).startsWith("runner-")&&o.push({runnerId:yn.basename(f,".jsonl"),path:f,reason:"unreadable"});continue}if(p.isRunner&&p.scope==="managed-task-worker"){o.push({runnerId:p.id,path:p.filePath,reason:"managed-task-worker"});continue}r.push(p)}let s=r.filter(f=>f.isRunner&&f.scope==="user"),a=r.filter(f=>!f.isRunner&&f.scope==="user"),c=[];for(let f of s){let p=a.map(h=>M2(f,h)).filter(h=>h!==null).sort((h,S)=>S.score-h.score);if(p.length===0){o.push({runnerId:f.id,path:f.filePath,reason:"no-match"});continue}if(p.length>1){o.push({runnerId:f.id,path:f.filePath,reason:"ambiguous-match",detail:p.map(h=>`${h.canonical.id}:${h.score}`).join(", ")});continue}let m=p[0];c.push({runnerId:f.id,runnerPath:f.filePath,canonicalId:m.canonical.id,canonicalPath:m.canonical.filePath,score:m.score,reasons:m.reasons})}let l=[],d=yn.join(t,".dedupe-archive",A2(e.now??new Date));if(e.apply)for(let f of c){let p=yn.relative(t,f.runnerPath),m;try{m=await _2(yn.join(d,p)),await as.mkdir(yn.dirname(m),{recursive:!0}),await as.rename(f.runnerPath,m),l.push({runnerId:f.runnerId,from:f.runnerPath,to:m})}catch(h){o.push({runnerId:f.runnerId,path:f.runnerPath,reason:"move-failed",detail:`target=${m??yn.join(d,p)}; ${h instanceof Error?h.message:String(h)}`})}}return{scanned:n.length,runnerCandidates:s.length,matches:c,moved:l,skipped:o,...e.apply?{archiveDir:d}:{}}}i(CA,"dedupeSessions");function L2(e){return e?.storage?e.storage:e?.sessionsDir!==void 0?new Zn({sessionsDir:e.sessionsDir}):new Zn}i(L2,"resolveStorage");async function lc(e,t){let n={compacted:!1,tokensBefore:0,tokensAfter:0,messages:[]};try{let r=L2(t),o=await r.load(e);if(!o)return{...n,reason:`session not found: ${e}`};let s=o.messages,a=t?.provider??o.runtimeInfo?.provider??"anthropic",c=Ci(a);if(!c)return{...n,messages:s,reason:`provider not found: ${a}`};let l=t?.contextWindow??c.getEffectiveContextWindow?.(t?.model)??c.getContextWindow?.()??2e5,d=Ii(s),f=await qd(),p=Zw({...f,contextWindow:l,triggerPercent:t?.triggerPercent??f.triggerPercent,triggerTokens:t?.triggerTokens??f.triggerTokens}),m=await eT(s,p,c,l,t?.customInstructions,void 0,d,hT,gT,t?.model,!0,c.getEffectiveMaxOutputTokens(t?.model));if(!m.compacted)return{compacted:!1,tokensBefore:m.tokensBefore,tokensAfter:m.tokensAfter,messages:s,reason:"no compaction needed"};let h=m.anchor??{summary:m.summary??"",tokensBefore:m.tokensBefore,tokensAfter:m.tokensAfter,reason:"manual"},S=m.artifactLedger??o.artifactLedger??[],v=Math.max(0,(m.tokensBefore??0)-(m.tokensAfter??0)),{ledgerMessage:T}=tT(S,v),w=T?[T]:[],b=Ze(s,o.lineage),M=Md(b,m.messages,h,w),O=kt(M),k=Ii(O),P=[...M.entries].reverse().find(K=>K.type==="compaction"),q=P?{...M,entries:M.entries.map(K=>K.id===P.id&&K.type==="compaction"?{...K,tokensAfter:k}:K)}:M,V={...o,messages:O,lineage:q,artifactLedger:m.artifactLedger??o.artifactLedger};return await r.save(e,V),{compacted:!0,tokensBefore:m.tokensBefore,tokensAfter:k,messages:O,report:m.report}}catch(r){return{...n,reason:r instanceof Error?r.message:String(r)}}}i(lc,"compactSession");import cs from"node:fs";import bo from"node:fs/promises";import sn from"node:path";import{randomUUID as P2}from"node:crypto";async function $2(e,t){let n=[],r=i(s=>s.endsWith(".jsonl")&&!s.endsWith(".archive.jsonl")&&!s.endsWith(".islands.jsonl")&&!s.startsWith("."),"isSession"),o=[];try{o=await bo.readdir(e,{withFileTypes:!0})}catch{return n}for(let s of o){if(s.isFile()){r(s.name)&&(t||!s.name.startsWith("archived-"))&&n.push(sn.join(e,s.name));continue}if(!s.isDirectory()||s.name.startsWith("."))continue;let a=sn.join(e,s.name);try{for(let c of await bo.readdir(a))r(c)&&n.push(sn.join(a,c))}catch{}if(t){let c=sn.join(a,"archived");try{for(let l of await bo.readdir(c))r(l)&&n.push(sn.join(c,l))}catch{}}}return n}i($2,"collectSessionFilePaths");function IA(e){if(!e||!e.trim())return;let t=sn.resolve(e).replace(/\\/g,"/");return process.platform==="win32"||process.platform==="darwin"?t.toLowerCase():t}i(IA,"normalizeComparableRoot");function O2(e,t,n){let r=IA(n);return r?[e?.gitRoot,e?.workspaceRoot,t].some(o=>IA(o)===r):!0}i(O2,"sessionMatchesProjectRoot");async function D2(e){let t=[],n=[e];for(;n.length>0;){let r=n.pop(),o;try{o=await bo.readdir(r,{withFileTypes:!0})}catch{continue}for(let s of o){let a=sn.join(r,s.name);s.isDirectory()&&!s.isSymbolicLink()?n.push(a):s.isFile()&&s.name.endsWith(".jsonl")&&t.push(a)}}return t}i(D2,"collectJsonlFiles");async function N2(e,t){let n;try{n=new Set(await bo.readdir(t))}catch{return new Set}let r=new Set,o=i(s=>{for(let a of s.matchAll(/[a-zA-Z0-9._-]+\.txt/g)){let c=a[0];n.has(c)&&r.add(sn.join(t,c))}},"collectNames");for(let s of await D2(e)){let a;try{a=await bo.readFile(s,"utf-8")}catch{continue}o(a)}for(let s of[...r].filter(a=>sn.basename(a).includes("-bash-recovery-manifest-")))try{o(await bo.readFile(s,"utf-8"))}catch{}return r}i(N2,"collectToolOutputReferences");function B2(e){let t=sT();uT(t,()=>N2(e,t))}i(B2,"scheduleToolOutputRetention");async function W2(e){let t=await Fx(e);if(!t)return;let n=JSON.parse(t);if(n===null||typeof n!="object")return;let r=n;return r._type==="meta"?r:void 0}i(W2,"readSessionMetaRecord");async function H2(e,t){if(typeof t.activeMessageCount=="number"&&t.activeMessageCount>=0)return t.activeMessageCount;let n=(await bo.readFile(e,"utf-8")).trim(),r=typeof t.extensionRecordCount=="number"&&t.extensionRecordCount>0?t.extensionRecordCount:0;return Math.max(0,n.split(`
|
|
310
|
+
`).length-1-r)}i(H2,"readActiveMessageCount");async function F2(e,t){let n=await W2(e);if(!n)return;let r=n.scope==="managed-task-worker"?"managed-task-worker":"user";if(t.scope!=="all"&&t.scope!==r)return;let o=typeof n.createdAt=="string"?n.createdAt:void 0,s=o?Date.parse(o):void 0;if(t.before!==void 0&&s!==void 0&&Number.isFinite(s)&&s>=t.before)return;let a=typeof n.tag=="string"?n.tag:void 0;if(t.tag!==void 0&&a!==t.tag)return;let c=n.runtimeInfo!==null&&typeof n.runtimeInfo=="object"?EA(n.runtimeInfo):void 0,l=typeof n.gitRoot=="string"?n.gitRoot:void 0,d=c??(l?{gitRoot:l}:void 0);if(!O2(d,l,t.gitRoot)||t.surface!==void 0&&d?.surface!==t.surface)return;let f=sn.basename(e,".jsonl"),p=sn.basename(sn.dirname(e))==="archived";return{id:f,title:typeof n.title=="string"?n.title:"",msgCount:await H2(e,n),...a!==void 0?{tag:a}:{},...o!==void 0?{createdAt:o}:{},...d!==void 0?{runtimeInfo:d}:{},projectKey:Ai(d?.gitRoot??d?.workspaceRoot).key,...p?{archived:!0}:{},_createdAtMs:s}}i(F2,"readSessionListCandidate");function zr(e,t){return e!==void 0||t!==void 0?new Zn({...e===void 0?{}:{sessionsDir:e},...t===void 0?{}:{configHome:t}}):new Zn}i(zr,"getStorage");function Vx(e){return e??ao}i(Vx,"resolveSessionsDir");function Kx(e){return Buffer.from(e,"utf8").toString("base64url")}i(Kx,"encodeSessionCursor");function j2(e){if(!(!e||e.length>1024))try{let t=Buffer.from(e,"base64url").toString("utf8");return t&&Kx(t)===e?t:void 0}catch{return}}i(j2,"decodeSessionCursor");async function zx(e){return kA(e,void 0)}i(zx,"listSessions");async function kA(e,t){try{let n=Vx(t);await li(n);let r=e?.projectRoot,o=zr(t);await bo.mkdir(n,{recursive:!0});let s=e?.scope??"user",a=e?.includeArchived??!1,c=e?.limit??50,l=e?.before?Date.parse(e.before):void 0,d=e?.tag,f=e?.surface,p=e?.cursor===void 0?void 0:j2(e.cursor);if(e?.cursor!==void 0&&p===void 0)return[];if(s==="user"&&!r&&l===void 0&&!a&&d===void 0&&f===void 0&&p===void 0)return(await o.list(r,{limit:c})).map(U2);let m=await $2(n,a),h=[],S=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}:{}},T=48;for(let M=0;M<m.length;M+=T){let O=await Promise.all(m.slice(M,M+T).map(async k=>{try{return await F2(k,v)}catch(P){dt({source:"session.public-api",level:"warn",message:"Unreadable session record was skipped.",detail:{filePath:k,error:P}});return}}));for(let k of O)k&&!S.has(k.id)&&(S.add(k.id),h.push(k))}h.sort((M,O)=>{let k=M._createdAtMs,P=O._createdAtMs;return Number.isFinite(k)&&Number.isFinite(P)&&k!==P?P-k:Number.isFinite(P)&&!Number.isFinite(k)?1:Number.isFinite(k)&&!Number.isFinite(P)?-1:O.id.localeCompare(M.id)});let w=p===void 0?-1:h.findIndex(M=>M.id===p);if(p!==void 0&&w<0)return[];let b=w+1;return h.slice(b,b+c).map(({id:M,title:O,msgCount:k,tag:P,createdAt:q,runtimeInfo:V,projectKey:K,archived:fe})=>({id:M,cursor:Kx(M),title:O,msgCount:k,...P!==void 0?{tag:P}:{},...q!==void 0?{createdAt:q}:{},...V!==void 0?{runtimeInfo:V}:{},...K!==void 0?{projectKey:K}:{},...fe?{archived:!0}:{}}))}catch{return[]}}i(kA,"listSessionsImpl");function EA(e){let t={...e.workspaceRoot?{workspaceRoot:e.workspaceRoot}:{},...e.canonicalRepoRoot?{gitRoot:e.canonicalRepoRoot}:{},...e.surface?{surface:e.surface}:{},...e.profileId?{profileId:e.profileId}:{}};return Object.keys(t).length>0?t:void 0}i(EA,"extractRuntimeInfoSummary");function U2(e){let t=e.runtimeInfo?EA(e.runtimeInfo):void 0,n=Ai(t?.gitRoot??t?.workspaceRoot).key;return{id:e.id,cursor:Kx(e.id),title:e.title,msgCount:e.msgCount,...e.tag!==void 0?{tag:e.tag}:{},...t!==void 0?{runtimeInfo:t}:{},...e.createdAt!==void 0?{createdAt:e.createdAt}:{},projectKey:n}}i(U2,"toSessionSummary");function MA(e){return typeof e=="object"&&e!==null}i(MA,"isRecord");function AA(e){let t=new Map(e.entries.map(o=>[o.id,o])),n=new Set,r=e.activeEntryId;for(;r;){let o=t.get(r);if(!o)break;n.add(o.id),r=o.parentId}return n}i(AA,"collectActiveIds");function vA(e,t){return t==="branch_summary"?{role:"user",content:`The following is a summary of a branch that this conversation came back from:
|
|
311
|
+
|
|
312
|
+
<summary>
|
|
313
|
+
${e}
|
|
314
|
+
</summary>`}:{role:"system",content:`[\u5BF9\u8BDD\u5386\u53F2\u6458\u8981]
|
|
315
|
+
|
|
316
|
+
${e}`}}i(vA,"summaryMessage");function bA(e){return{role:"system",content:`[Rewind] ${e}`}}i(bA,"rewindMarkerMessage");function G2(e){return{role:"system",content:e.content,_source:"client_notice",timestamp:e.timestamp,...e.turnId!==void 0?{turnId:e.turnId}:{}}}i(G2,"clientNoticeMessage");function jx(e,t){let n=e[t];return typeof n=="string"?n:void 0}i(jx,"messageStringField");function V2(e){if(e.role==="user")return"user";if(e.role==="assistant")return"assistant";if(e.role==="system")return"system"}i(V2,"messageSource");function RA(e){return MA(e)?e.type==="task_result"&&(e.source==="workflow"||e.source==="child_task")&&typeof e.taskId=="string"&&(e.status==="completed"||e.status==="failed"||e.status==="cancelled")&&(e.runId===void 0||typeof e.runId=="string")&&(e.title===void 0||typeof e.title=="string")&&(e.summary===void 0||typeof e.summary=="string")&&(e.artifactRefs===void 0||Array.isArray(e.artifactRefs)&&e.artifactRefs.every(t=>typeof t=="string")):!1}i(RA,"isTaskResultMetadata");function K2(e){if(RA(e._taskResult))return[e._taskResult];if(Array.isArray(e._taskResults))return e._taskResults.filter(RA);if(e._source!=="task-completed"||typeof e.content!="string")return[];let t=[],n=/<task-completed\s+task_id="([^"]+)">([\s\S]*?)<\/task-completed>/g;for(let r of e.content.matchAll(n)){let o=r[1];if(!o)continue;let s=r[2]?.trim()??"";t.push({type:"task_result",source:"child_task",taskId:o,status:s.startsWith("failed:")||s.startsWith("[Tool Error]")?"failed":"completed",...s.length>0?{summary:s}:{}})}return t}i(K2,"taskResultsFromMessage");function z2(e){if(e.length===1)return e[0];let t=e[0];return t?{type:"task_result",source:t.source,taskId:t.taskId,status:t.status,results:e}:void 0}i(z2,"taskResultPayload");function Y2(e){if(!MA(e))return{};let t=typeof e.rewindTargetId=="string"?e.rewindTargetId:void 0,n=typeof e.truncatedCount=="number"?e.truncatedCount:void 0;return{...t!==void 0?{rewindTargetId:t}:{},...n!==void 0?{truncatedCount:n}:{}}}i(Y2,"legacyRewindDetails");function X2(e,t,n){return t.has(e.id)?!0:e.type!=="client_notice"&&e.type!=="rewind_marker"?!1:e.parentId===null?n===null:t.has(e.parentId)}i(X2,"transcriptEntryActive");function ui(e){return{entryId:e.id,parentId:e.parentId,logicalId:e.logicalId??e.id,...e.sourceEntryId!==void 0?{sourceEntryId:e.sourceEntryId}:{}}}i(ui,"transcriptEntryIdentity");function _A(e,t,n){let r=X2(e,t,n);switch(e.type){case"message":{let o=K2(e.message);if(o.length>0){let s=o[0];return{...ui(e),timestamp:e.timestamp,type:"task_result",source:s.source,turnId:jx(e.message,"turnId"),message:e.message,active:r,payload:z2(o),taskResults:o}}return e.message._source==="client_notice"?{...ui(e),timestamp:e.timestamp,type:"client_notice",source:"client",turnId:jx(e.message,"turnId"),message:e.message,active:r,payload:{content:e.message.content,entersModelContext:!1}}:{...ui(e),timestamp:e.timestamp,type:"message",source:V2(e.message),turnId:jx(e.message,"turnId"),message:e.message,active:r}}case"compaction":if(e.reason==="rewind"){let o=Y2(e.details),s=r||(e.parentId===null?n===null:t.has(e.parentId));return{...ui(e),timestamp:e.timestamp,type:"rewind_marker",source:"system",message:bA(e.summary),active:s,summary:e.summary,payload:{summary:e.summary,reason:"rewind",...o.rewindTargetId!==void 0?{rewindTargetId:o.rewindTargetId}:{},...o.truncatedCount!==void 0?{truncatedCount:o.truncatedCount}:{},...e.details!==void 0?{details:e.details}:{}}}}return{...ui(e),timestamp:e.timestamp,type:"compaction",source:"system",message:vA(e.summary,"compaction"),active:r,summary:e.summary,payload:{summary:e.summary,tokensBefore:e.tokensBefore,tokensAfter:e.tokensAfter,reason:e.reason,details:e.details}};case"rewind_marker":return{...ui(e),timestamp:e.timestamp,type:"rewind_marker",source:"system",message:bA(e.summary),active:r,summary:e.summary,payload:{summary:e.summary,rewindTargetId:e.targetId,...e.fromId!==void 0?{fromId:e.fromId}:{},truncatedCount:e.truncatedCount}};case"branch_summary":return{...ui(e),timestamp:e.timestamp,type:"branch_summary",source:"system",message:vA(e.summary,"branch_summary"),active:r,summary:e.summary,payload:{summary:e.summary,fromId:e.fromId,details:e.details}};case"client_notice":return{...ui(e),timestamp:e.timestamp,type:"client_notice",source:"client",turnId:e.turnId,message:G2(e),active:r,payload:{source:e.source,content:e.content,entersModelContext:!1,...e.payload!==void 0?{payload:e.payload}:{}}};case"archive_marker":case"label":case"goal":case"memory_outcome_digest":case"memory_review_receipt":return null;default:return e}}i(_A,"toTranscriptEntry");function q2(e){let t=AA(e);return e.entries.map(n=>_A(n,t,e.activeEntryId)).filter(n=>n!==null)}i(q2,"buildTranscriptEntries");async function Yx(e){return LA(e,void 0)}i(Yx,"loadSession");async function LA(e,t){try{return await zr(t).load(e)}catch{return null}}i(LA,"loadSessionImpl");async function Xx(e){return PA(e,void 0)}i(Xx,"loadFullTranscript");async function PA(e,t){try{let n=Vx(t);await li(n);let r=zr(t),o=await r.load(e);if(!o)return null;let s=await r.loadFullLineage(e);if(!s)return{...o,activeMessages:o.messages,transcriptEntries:[]};let a=q2(s);return{...o,messages:a.filter(c=>c.type!=="rewind_marker").map(c=>c.message),activeMessages:o.messages,transcriptEntries:a,lineage:s}}catch{return null}}i(PA,"loadFullTranscriptImpl");function Q2(e){let t=e?.trim();return t&&t.length>0?t:"client"}i(Q2,"normalizeClientNoticeSource");function J2(e,t){let n=`notice_${P2().replace(/-/g,"").slice(0,12)}`;return{type:"client_notice",id:n,parentId:e.activeEntryId,timestamp:t.timestamp??new Date().toISOString(),logicalId:n,source:Q2(t.source),content:t.content,...t.turnId!==void 0?{turnId:t.turnId}:{},...t.payload!==void 0?{payload:t.payload}:{}}}i(J2,"createClientNoticeEntry");async function $A(e,t){return Z2(e,t,void 0)}i($A,"appendClientNotice");async function Z2(e,t,n){return Ux(e,t,zr(n))}i(Z2,"appendClientNoticeImpl");async function Ux(e,t,n){try{let r=await n.load(e);if(!r)return null;let o=r.lineage??Ze(r.messages),s=J2(o,t),a={...o,entries:[...o.entries,s]},c={...r,lineage:a,messages:r.messages};await n.appendSessionDelta(e,c);let l=AA(a);return _A(s,l,a.activeEntryId)}catch{return null}}i(Ux,"appendClientNoticeWithStorage");async function qx(e,t){return OA(e,t,void 0)}i(qx,"forkSession");async function OA(e,t,n){try{return await zr(n).fork(e,t?.selector,{sessionId:t?.sessionId,title:t?.title})}catch{return null}}i(OA,"forkSessionImpl");async function Qx(e,t){return DA(e,t,void 0)}i(Qx,"rewindSession");async function DA(e,t,n,r){try{return await zr(n,r).rewind(e,t?.selector)}catch{return null}}i(DA,"rewindSessionImpl");async function Jx(e,t){return NA(e,t,void 0)}i(Jx,"setActiveEntry");async function NA(e,t,n,r){try{return await zr(n,r).setActiveEntry(e,t)}catch{return null}}i(NA,"setActiveEntryImpl");async function xu(){try{return Yw({excludePid:process.pid}).map(t=>({pid:t.pid,startedAt:t.state.meta.startedAt,cwd:t.state.meta.cwd,sessionId:t.state.sessionId}))}catch{return[]}}i(xu,"listRunningSessions");async function Zx(e){return BA(e,void 0)}i(Zx,"deleteSession");async function BA(e,t){try{let r=(await xu()).find(o=>o.sessionId===e);return r?{error:{code:"session_running",runningProcess:{pid:r.pid,startedAt:r.startedAt}}}:(await zr(t).delete(e),{ok:!0})}catch(n){return dt({source:"session.public-api",level:"error",message:"Session deletion failed.",detail:{sessionId:e,error:n}}),{error:{code:"delete_failed"}}}}i(BA,"deleteSessionImpl");async function eS(e){return WA(e,void 0)}i(eS,"archiveSession");async function WA(e,t){try{return await zr(t).archive(e)}catch(n){return dt({source:"session.public-api",level:"error",message:"Session archive failed.",detail:{sessionId:e,error:n}}),!1}}i(WA,"archiveSessionImpl");async function tS(e){return HA(e,void 0)}i(tS,"unarchiveSession");async function HA(e,t){try{return await zr(t).unarchive(e)}catch(n){return dt({source:"session.public-api",level:"error",message:"Session unarchive failed.",detail:{sessionId:e,error:n}}),!1}}i(HA,"unarchiveSessionImpl");function nS(e){return FA(e,void 0)}i(nS,"watchSessions");function FA(e,t){let n=Vx(t);return li(n).catch(()=>{}),process.platform==="win32"?nj(e,n):ej(e,n)}i(FA,"watchSessionsImpl");function Gx(e){let t=sn.basename(e);return!t.endsWith(".jsonl")||t.endsWith(".archive.jsonl")||t.endsWith(".islands.jsonl")||t.startsWith(".")?null:t.slice(0,-6)}i(Gx,"sessionIdFromFilename");function ej(e,t){let n=null,r=!1,o=new Map;function s(c,l){let d=o.get(l);d!==void 0&&clearTimeout(d);let f=setTimeout(()=>{o.delete(l),r||e({kind:c,sessionId:l})},100);o.set(l,f)}i(s,"emitDebounced");function a(){if(!r)try{if(!cs.existsSync(t)){setTimeout(a,1e3);return}let c=i((l,d)=>{if(!d)return;let f=typeof d=="string"?d:d.toString(),p=Gx(f);if(!p)return;let m=l==="rename"?tj(t,f):"change";s(m,p)},"onEvent");try{n=cs.watch(t,{recursive:!0},c)}catch{n=cs.watch(t,c)}n.on("error",()=>{n?.close(),n=null,r||setTimeout(a,1e3)})}catch{}}return i(a,"startWatch"),a(),{close(){r=!0,n?.close(),n=null;for(let c of o.values())clearTimeout(c);o.clear()}}}i(ej,"watchSessionsPosix");function tj(e,t){try{return cs.statSync(sn.join(e,t)),"add"}catch{return"remove"}}i(tj,"detectRenameKind");function nj(e,t){let n=!1,r=new Set;function o(c,l){try{for(let d of cs.readdirSync(l)){let f=Gx(d);f&&c.add(f)}}catch{}}i(o,"addIds");function s(){let c=new Set;try{if(!cs.existsSync(t))return c;for(let l of cs.readdirSync(t,{withFileTypes:!0}))if(l.isFile()){let d=Gx(l.name);d&&c.add(d)}else if(l.isDirectory()&&!l.name.startsWith(".")){let d=sn.join(t,l.name);o(c,d),o(c,sn.join(d,"archived"))}}catch{}return c}i(s,"buildSnapshot"),r=s();let a=setInterval(()=>{if(n)return;let c=s();for(let l of c)r.has(l)||e({kind:"add",sessionId:l});for(let l of r)c.has(l)||e({kind:"remove",sessionId:l});r=c},1e3);return{close(){n=!0,clearInterval(a)}}}i(nj,"watchSessionsWindows");function jA(e){let t=e?.sessionsDir,n=e?.configHome;B2(t??ao);let r=t!==void 0||n!==void 0?new Zn({...t===void 0?{}:{sessionsDir:t},...n===void 0?{}:{configHome:n}}):new Zn;return t===void 0&&n===void 0?{listSessions:zx,loadSession:Yx,loadFullTranscript:Xx,appendClientNotice:i((o,s)=>Ux(o,s,r),"appendClientNotice"),forkSession:qx,rewindSession:Qx,setActiveEntry:Jx,deleteSession:Zx,archiveSession:eS,unarchiveSession:tS,listRunningSessions:xu,watchSessions:nS,compactSession:i((o,s)=>lc(o,{...s,storage:r}),"compactSession"),storage:r}:{listSessions:i(o=>kA(o,t),"listSessions"),loadSession:i(o=>LA(o,t),"loadSession"),loadFullTranscript:i(o=>PA(o,t),"loadFullTranscript"),appendClientNotice:i((o,s)=>Ux(o,s,r),"appendClientNotice"),forkSession:i((o,s)=>OA(o,s,t),"forkSession"),rewindSession:i((o,s)=>DA(o,s,t,n),"rewindSession"),setActiveEntry:i((o,s)=>NA(o,s,t,n),"setActiveEntry"),deleteSession:i(o=>BA(o,t),"deleteSession"),archiveSession:i(o=>WA(o,t),"archiveSession"),unarchiveSession:i(o=>HA(o,t),"unarchiveSession"),listRunningSessions:xu,watchSessions:i(o=>FA(o,t),"watchSessions"),compactSession:i((o,s)=>lc(o,{...s,storage:r}),"compactSession"),storage:r}}i(jA,"createSessionManager");var rj={};P_(rj,{App:()=>Yb,AutocompleteContextProvider:()=>qf,BUILTIN_COMMANDS:()=>WC,BackgroundTaskBar:()=>Vl,CONFIG_TEMPLATES:()=>RT,ChildActivitySurface:()=>Wp,ConsoleCapturer:()=>sc,CoreConfigWriteConflictError:()=>ET,DEFAULT_UI_STATE:()=>Fd,DialogSurface:()=>$p,DotsIndicator:()=>Pg,FILE_MODIFICATION_TOOLS:()=>so,FileSessionStorage:()=>Zn,FullscreenTranscriptLayout:()=>vp,HistoryItemRenderer:()=>Fb,InputPrompt:()=>zi,IntegrationConfigConflictError:()=>AT,IntegrationConfigController:()=>DT,KODAX_CONFIG_FILE:()=>NT,KODAX_DIR:()=>Gd,KODAX_EXAMPLE_CONFIG_FILE:()=>zT,KODAX_INTEGRATION_EXAMPLE_FILES:()=>YT,KODAX_SESSIONS_DIR:()=>ao,KODAX_VERSION:()=>ki,KeyMatchers:()=>bg,KeypressHandlerPriority:()=>fn,KeypressParser:()=>ba,KeypressProvider:()=>Il,LRUCache:()=>Ni,LoadingIndicator:()=>sb,MemorySessionStorage:()=>ts,MessageActions:()=>bp,MessageList:()=>Jo,MessageSelector:()=>Jb,NotificationsSurface:()=>Ul,PERMISSION_MODES:()=>vT,PREVIEW_MAX_LENGTH:()=>BT,PendingInputsIndicator:()=>TM,ProgressIndicator:()=>$g,PromptComposer:()=>Ep,PromptFooter:()=>Nl,PromptFooterLeftSide:()=>Ol,PromptFooterRightSide:()=>Dl,PromptHelpMenu:()=>Ap,PromptSuggestionsSurface:()=>Pp,ProviderSetupConfigConflictError:()=>JT,ProviderSetupInvalidConfigError:()=>ZT,QueuedCommandsSurface:()=>Op,RUNTIME_PERMISSION_PENDING_NOTICE:()=>Fa,SimpleApp:()=>Xb,SimpleInputPrompt:()=>eb,SimpleMessageDisplay:()=>Ub,SimpleStatusBar:()=>Kb,SingleLineTextInput:()=>Nv,Spinner:()=>On,StashNotice:()=>Gl,StatusBar:()=>Xi,StatusNoticesSurface:()=>Dp,StreamingProvider:()=>Yl,StreamingState:()=>ur,SuggestionsDisplay:()=>Fl,TOOL_STATUS_ICONS:()=>$_,TextBuffer:()=>Ra,TextInput:()=>zf,ThinkingIndicator:()=>ib,ToolCallDisplay:()=>Ix,ToolCallStatus:()=>j,ToolGroup:()=>SM,ToolProgressBar:()=>Cx,ToolStatusBadge:()=>yM,TranscriptViewport:()=>kp,UIStateProvider:()=>Hl,_resetQueuedPromptsCacheForTests:()=>W0,appendClientNotice:()=>$A,archiveSession:()=>eS,bootstrapAutoMode:()=>Ga,calculateVisualCursorFromLayout:()=>gf,calculateVisualLayout:()=>hn,collectBashWriteTargets:()=>fC,compactSession:()=>lc,computeConfirmTools:()=>zs,coreConfigWriteLockPath:()=>MT,createCliEvents:()=>uM,createHistoryItem:()=>Bl,createInteractiveContext:()=>Ua,createJsonEvents:()=>dM,createKeyMatcher:()=>D0,createKeypressManager:()=>Yf,createMemorySessionStorage:()=>K0,createRecoveryHistoryItem:()=>eu,createRetryHistoryItem:()=>Zl,createSessionManager:()=>jA,createStreamingManager:()=>Hp,createToolCall:()=>_p,darkTheme:()=>yf,dedupeSessions:()=>CA,deleteSession:()=>Zx,detectTerminalCapabilities:()=>IM,detectTerminalHostProfile:()=>Ho,detectTerminalRenderHost:()=>Wo,emitRecoveryHistoryItem:()=>nR,emitRetryHistoryItem:()=>tR,ensureExampleConfigFile:()=>qT,ensureExampleConfigFiles:()=>XT,executeCommand:()=>Li,executeShellCommand:()=>ql,extractHistorySeedsFromMessage:()=>ia,extractHistorySeedsFromMessages:()=>Zd,extractTextContent:()=>ef,extractTitle:()=>No,findMostRecentResumableSession:()=>Va,forkSession:()=>qx,formatMessagePreview:()=>vC,generateId:()=>Wl,generateSavePattern:()=>uC,getBashOutsideProjectWriteRisk:()=>mC,getCharAtCodePoint:()=>zC,getCodePointLength:()=>Sn,getCommandRegistry:()=>HC,getConfigTemplate:()=>kT,getCustomProviderConfig:()=>BM,getGitRoot:()=>co,getKeyDisplayName:()=>Wv,getMcpServerConfig:()=>UM,getPlanModeBlockReason:()=>Oo,getProviderList:()=>GT,getProviderModel:()=>Ar,getProviderSetupCatalog:()=>eC,getTerminalHostCapabilities:()=>Di,getTerminalWidth:()=>Rx,getTheme:()=>oe,getThemeNames:()=>j_,getVersion:()=>FT,getVisualWidth:()=>pr,getVisualWidthCached:()=>hf,hasCursorUpViewportYankRisk:()=>$i,hasMainScreenRenderScrollRisk:()=>tl,hydrateProcessEnvFromShell:()=>WT,initializeSetupConfiguration:()=>oC,inspectProviderSetupReadiness:()=>tC,isAlwaysConfirmPath:()=>ta,isBashReadCommand:()=>pn,isBashWriteCommand:()=>dr,isClassicReplForced:()=>ol,isCommandOnProtectedPath:()=>Yd,isFunctionKey:()=>Ig,isOwnedRendererPreferred:()=>rl,isPathInsideProject:()=>dC,isPermissionMode:()=>bT,isPrintable:()=>Bv,isProviderConfigured:()=>VT,isRemoteConptyHost:()=>aa,isScreenReader:()=>kx,isShellCommand:()=>X0,isShellCommandSuccess:()=>q0,isTmuxControlMode:()=>ca,isToolCallAllowed:()=>ea,isVsCodeTerminalHostEnv:()=>Pi,isWideChar:()=>fr,listCustomProviders:()=>NM,listMcpServers:()=>jM,listRegisteredCommands:()=>BC,listRunningSessions:()=>xu,listSessions:()=>zx,loadAutoModeSettings:()=>ra,loadConfig:()=>KT,loadFullTranscript:()=>Xx,loadSession:()=>Yx,measureChildActivitySurfaceRows:()=>Bp,migrateLegacyIntegrationConfig:()=>OT,minimalTheme:()=>Bh,normalizePermissionMode:()=>Ys,parseCommand:()=>_i,parseExtensionsIntegrationDocument:()=>_T,parseKeypress:()=>Cl,parseMcpIntegrationDocument:()=>Xs,permissionModeDisplayName:()=>jd,persistProviderSetupChoice:()=>nC,planLegacyIntegrationMigration:()=>$T,prepareRuntimeConfig:()=>Vd,processSpecialSyntax:()=>wm,providerSetupRestartInstructions:()=>rC,rateLimitedCall:()=>QT,readExtensionsIntegration:()=>PT,readMcpIntegration:()=>Ri,registerConfiguredCustomProviders:()=>HT,removeCustomProvider:()=>HM,removeMcpServer:()=>VM,renderSetupGuide:()=>iC,replBashPathSignalCollector:()=>na,resetTmuxControlModeProbeForTesting:()=>ff,resolveAutoModeSettings:()=>yC,resolveConfiguredTuiRendererMode:()=>Oi,resolveEffectiveTuiRendererMode:()=>Fo,resolveFullscreenPolicy:()=>jo,resolveIntegrationConfigPath:()=>LT,resolveInteractiveSurfacePreference:()=>nl,resolveRuntimeEffortSelection:()=>Js,resolveRuntimeModelSelection:()=>Qs,resolveRuntimeProviderSelection:()=>qs,restoreHistoryItemsFromSession:()=>Jl,rewindSession:()=>Qx,runInkInteractiveMode:()=>ym,runInteractiveMode:()=>DM,runProviderSetupWizard:()=>sC,runSessionPicker:()=>aM,saveConfig:()=>Mi,seedToHistoryItem:()=>Do,setActiveEntry:()=>Jx,splitByCodePoints:()=>mn,supports256Colors:()=>vx,supportsEmoji:()=>bx,supportsTrueColor:()=>pu,supportsUnicode:()=>Gr,themes:()=>Wh,toReplRuntimeAutoModeSettings:()=>ja,toolCallSeedToHistoryToolCall:()=>Jd,touchContext:()=>gr,trimPersistedUiHistorySnapshot:()=>Fr,truncateByVisualWidth:()=>la,unarchiveSession:()=>tS,upsertCustomProvider:()=>WM,upsertMcpServer:()=>GM,useAutocomplete:()=>vl,useAutocompleteContext:()=>qo,useInputHistory:()=>Qf,useKeypress:()=>O0,useKeypressManager:()=>Xf,useQueuedPromptContents:()=>B0,useQueuedPrompts:()=>hy,useStreaming:()=>py,useStreamingActions:()=>Ha,useStreamingState:()=>Wa,useTextBuffer:()=>Jf,useUI:()=>ny,useUIActions:()=>Da,useUIState:()=>Oa,validateMcpServerConfig:()=>Ox,visualWidthCache:()=>pf,watchSessions:()=>nS,withCapture:()=>vM,withCaptureSync:()=>bM,withCoreConfigWriteLock:()=>qc,writeIntegrationDocument:()=>Qc});export{Pi as a,$i as b,aa as c,tl as d,ca as e,ff as f,Wo as g,Ho as h,Oi as i,Fo as j,nl as k,jo as l,Di as m,rl as n,ol as o,Ni as p,Sn as q,fr as r,pr as s,zC as t,mn as u,la as v,pf as w,hf as x,hn as y,gf as z,yf as A,Bh as B,Wh as C,oe as D,j_ as E,zf as F,Nv as G,Cl as H,ba as I,Ig as J,Bv as K,Wv as L,Yf as M,Il as N,Xf as O,bg as P,qf as Q,qo as R,vl as S,Qf as T,Ra as U,Jf as V,zi as W,eb as X,On as Y,Pg as Z,$g as _,ib as $,sb as aa,Fb as ba,Jo as ca,Ub as da,Xi as ea,Kb as fa,Yb as ga,Xb as ha,vp as ia,bp as ja,Jb as ka,kp as la,Ep as ma,Ol as na,Dl as oa,Nl as pa,Ap as qa,Wl as ra,Bl as sa,_p as ta,Hl as ua,Oa as va,Da as wa,ny as xa,Fl as ya,Pp as za,$p as Aa,Op as Ba,Ul as Ca,Dp as Da,Gl as Ea,Vl as Fa,Bp as Ga,Wp as Ha,Hp as Ia,Yl as Ja,Wa as Ka,Ha as La,py as Ma,O0 as Na,D0 as Oa,hy as Pa,B0 as Qa,W0 as Ra,Fa as Sa,ja as Ta,Ua,gr as Va,Ga as Wa,ts as Xa,K0 as Ya,ql as Za,X0 as _a,q0 as $a,Fr as ab,Jl as bb,Va as cb,Zl as db,tR as eb,eu as fb,nR as gb,ym as hb,aM as ib,uM as jb,dM as kb,yM as lb,Cx as mb,Ix as nb,SM as ob,TM as pb,pu as qb,vx as rb,Gr as sb,bx as tb,Rx as ub,kx as vb,IM as wb,sc as xb,vM as yb,bM as zb,DM as Ab,wm as Bb,NM as Cb,BM as Db,WM as Eb,HM as Fb,jM as Gb,UM as Hb,GM as Ib,VM as Jb,Ox as Kb,Zn as Lb,CA as Mb,lc as Nb,zx as Ob,Yx as Pb,Xx as Qb,$A as Rb,qx as Sb,Qx as Tb,Jx as Ub,xu as Vb,Zx as Wb,eS as Xb,tS as Yb,nS as Zb,jA as _b,rj as $b};
|