@kodax-ai/kodax 0.7.89 → 0.7.90
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 +39 -0
- package/README.md +8 -0
- package/README_CN.md +2 -0
- package/dist/chunks/{agent-AKCXT573.js → agent-W35WYLTH.js} +1 -1
- package/dist/chunks/argument-completer-SRCHPEMA.js +2 -0
- package/dist/chunks/{chunk-4Y6OSDZE.js → chunk-4KJQ7QGO.js} +1 -1
- package/dist/chunks/{chunk-W5RPVR3O.js → chunk-6FLHNFYV.js} +1 -1
- package/dist/chunks/{chunk-BOMSVUJS.js → chunk-7KPBUO2F.js} +2 -2
- package/dist/chunks/{chunk-SOIIBADK.js → chunk-DBFWNUGB.js} +2 -2
- package/dist/chunks/{chunk-IFD6TUQU.js → chunk-JNBAIFJR.js} +1 -1
- package/dist/chunks/{chunk-CQHLFQSU.js → chunk-KG3QIIDU.js} +2 -2
- package/dist/chunks/{chunk-W2LRTZBJ.js → chunk-KINDGE7G.js} +40 -40
- package/dist/chunks/{chunk-5UBP47VJ.js → chunk-NCK7ASJL.js} +57 -57
- package/dist/chunks/{chunk-72H6JNPN.js → chunk-R3BXINQ2.js} +124 -124
- package/dist/chunks/{chunk-S74F7MFN.js → chunk-T256QEDN.js} +1 -1
- package/dist/chunks/{chunk-QQBFQCMF.js → chunk-TDSTNXNR.js} +9 -9
- package/dist/chunks/{chunk-A63MGLH6.js → chunk-ZACJCRHT.js} +1 -1
- package/dist/chunks/{chunk-GL6GVYF4.js → chunk-ZDOLJSTE.js} +4 -4
- package/dist/chunks/{chunk-PROPMIT4.js → chunk-ZVICRZVA.js} +1 -1
- package/dist/chunks/{client-ZXBSEDS4.js → client-RWXK22GN.js} +1 -1
- package/dist/chunks/{compaction-config-HVHPJ6CS.js → compaction-config-MD2PQSAM.js} +1 -1
- package/dist/chunks/{construction-bootstrap-WF6KQ7XV.js → construction-bootstrap-KB6GB6IY.js} +1 -1
- package/dist/chunks/{dist-BCT3UNMA.js → dist-2NRXEHLI.js} +1 -1
- package/dist/chunks/host-JAXBBRCV.js +2 -0
- package/dist/chunks/{run-manager-ZOV7EKTZ.js → run-manager-EI264JTO.js} +1 -1
- package/dist/chunks/{utils-BEWYGEMB.js → utils-SDMYKIZG.js} +1 -1
- package/dist/index.d.ts +14 -14
- package/dist/index.js +1 -1
- package/dist/kodax_bootstrap.js +1 -1
- package/dist/kodax_cli.js +927 -927
- package/dist/runtime-worker.js +679 -679
- package/dist/sandbox-workspace-session.js +61 -61
- package/dist/sdk-a2a.d.ts +8 -8
- package/dist/sdk-a2a.js +1 -1
- package/dist/sdk-agent.d.ts +12 -12
- package/dist/sdk-agent.js +1 -1
- package/dist/sdk-coding.d.ts +13 -13
- package/dist/sdk-coding.js +1 -1
- package/dist/sdk-experimental-memory.d.ts +3 -3
- package/dist/sdk-experimental-memory.js +1 -1
- package/dist/sdk-mcp.js +1 -1
- package/dist/sdk-repl.d.ts +9 -9
- package/dist/sdk-repl.js +1 -1
- package/dist/sdk-runtime.d.ts +2 -2
- package/dist/sdk-runtime.js +1 -1
- package/dist/sdk-sandbox.js +1 -1
- package/dist/sdk-session.d.ts +5 -5
- package/dist/sdk-session.js +1 -1
- package/dist/sdk-skills.js +1 -1
- package/dist/types-chunks/{bash-prefix-extractor.d-BLlhCRI-.d.ts → bash-prefix-extractor.d-DBxWweqC.d.ts} +2 -2
- package/dist/types-chunks/{capsule.d-Cw4UlPTC.d.ts → capsule.d-Bc1-UYaj.d.ts} +2 -2
- package/dist/types-chunks/{controller.d-BvwWz6yP.d.ts → controller.d-CTvvOy_V.d.ts} +1 -1
- package/dist/types-chunks/{controller.d-1tydJm7c.d.ts → controller.d-CnQqfSI5.d.ts} +1 -1
- package/dist/types-chunks/{guardrail.d-DqWHIgt6.d.ts → guardrail.d-DqP4s46f.d.ts} +2 -2
- package/dist/types-chunks/{history-retrieval.d-ia-4iJpw.d.ts → history-retrieval.d-D0LNyBED.d.ts} +1 -1
- package/dist/types-chunks/{public-api.d-CMZa4JPa.d.ts → public-api.d-CrBB7m8F.d.ts} +4 -4
- package/dist/types-chunks/{repl.d-Byu2osV-.d.ts → repl.d-qijzfmA1.d.ts} +5 -5
- package/dist/types-chunks/{review-inbox.d-D3T-RxRs.d.ts → review-inbox.d-dAtGH3g2.d.ts} +1 -1
- package/dist/types-chunks/{run-manager.d-D0aKe12e.d.ts → run-manager.d-PEct-5KE.d.ts} +1 -1
- package/dist/types-chunks/{sdk-session-BEM7yvJB.d.ts → sdk-session-BIeiLU8G.d.ts} +2 -2
- package/dist/types-chunks/{shell-command-sets.d-_SHjU3KP.d.ts → shell-command-sets.d-RvEIrqHQ.d.ts} +1 -1
- package/dist/types-chunks/{types.d-B_IFJlti.d.ts → types.d-B9Fhknxd.d.ts} +1 -1
- package/dist/types-chunks/{types.d-BqK7eZ5u.d.ts → types.d-Do_AsIIs.d.ts} +2 -2
- package/dist/types-chunks/{types.d-DeokRBs7.d.ts → types.d-EjZTEEVu.d.ts} +2 -1
- package/dist/types-chunks/{utils.d-0h1NTEsX.d.ts → utils.d-BvayexqQ.d.ts} +5 -5
- package/package.json +1 -1
- package/dist/chunks/argument-completer-BJGY57H2.js +0 -2
- package/dist/chunks/host-V6ENYZAQ.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
|
|
2
|
-
import{$ as In,A as Ma,Aa as $v,B as fv,Ba as Nv,C as pv,Ca as Ov,D as _a,Da as Dv,E as Kf,Ea as Qo,F as mv,Fa as Zo,G as hv,Ga as ry,H as Xf,Ha as Bv,I as Dl,J as Qg,Ja as iy,K as gv,Ka as sp,L as Zg,La as Fv,M as Zi,Ma as Hv,N as Yf,O as Aa,P as qf,Q as Jf,R as yv,S as wv,T as La,U as Sv,V as eo,W as xv,X as Tv,Y as Wr,Z as ey,_ as Qf,a as Tr,aa as jr,b as z,ba as ty,c as W$,ca as Jo,d as wn,da as rr,e as Bf,ea as Zf,f as kI,fa as Bl,g as Cr,ga as ep,h as Ff,ha as Cv,i as Hf,ia as Iv,j as Wf,ja as vv,k as Ta,ka as bv,l as EI,la as Rv,m as Ca,ma as kv,n as tv,na as tp,o as nv,oa as np,p as rv,pa as Fl,q as iv,qa as rp,r as ov,ra as ip,s as sv,sa as op,t as av,ta as Ev,u as ka,ua as Mv,v as cv,va as _v,w as lv,wa as ny,x as uv,xa as Av,y as Ea,ya as Lv,z as dv,za as Pv}from"./chunk-CQHLFQSU.js";import{$ as ba,E as VI,J as KI,K as Qi,L as Yo,O as zI,P as XI,Q as YI,R as qI,S as JI,T as QI,U as ZI,X as Uf,Y as qo,Z as Gf,_ as va,a as re,aa as Ra,b as MI,ba as Vf,c as _I,ca as Ti,d as AI,e as LI,f as Nl,g as PI,ga as ev,h as Ia,i as $I,j as NI,k as zo,l as OI,m as DI,n as BI,o as Ol,p as FI,q as jf,r as Fr,s as HI,t as WI,u as jI,w as UI,x as GI,y as Xo,z as Hr}from"./chunk-SOIIBADK.js";import{a as zf}from"./chunk-4Y6OSDZE.js";import{K as II,M as Jg,N as vI,O as bI,Z as RI,aa as Df,c as Yg,n as Nf,o as Of,v as CI,w as $l}from"./chunk-S74F7MFN.js";import{Bb as $f,Cb as xa,D as dI,Db as yI,Gb as wI,Ib as SI,Jb as Ji,Ua as pI,Va as mI,Wb as xI,hb as Si,p as Al,q as iI,sb as Pl,tb as hI,ub as xi,wb as wa,wc as TI,xb as gI,yb as Sa}from"./chunk-A63MGLH6.js";import{J as fI}from"./chunk-BOMSVUJS.js";import{Hb as aI,Md as cI,N as oI,Qd as lI,Rd as uI,Wa as Pf,hb as sI,td as Ll,wd as qg,z as ya}from"./chunk-5UBP47VJ.js";import{Aa as jg,Pa as Uo,ma as hf,ya as GC}from"./chunk-UNEC2WXJ.js";import{Af as da,Bf as fa,Cf as Rf,Db as zC,Ef as pa,Fd as If,Ff as ma,Gd as vf,Gf as ha,Hf as wi,Ia as Vo,Ib as Tf,If as kf,Ja as Yi,Jf as qi,Kb as XC,Kf as eI,Lf as Ef,Mf,Nf as zg,Of as _f,Pf as tI,Qf as ga,Ra as KC,Te as bf,Ue as Ko,Vg as nI,Wg as Xg,Xg as rI,Zb as YC,_b as qC,bg as Af,cg as Lf,df as JC,ef as Kg,k as Go,le as Vg,nb as Ug,ob as Br,of as QC,r as VC,rb as Gg,sf as ZC,t as ht,wf as qe,xf as ua,yf as Lt,zc as Cf}from"./chunk-72H6JNPN.js";import{A as Sf,E as xf,h as nr,j as gf,r as yf,z as wf}from"./chunk-5247AKGN.js";import{a as o,c as H$}from"./chunk-ONUPGMER.js";import{spawnSync as j$}from"node:child_process";function ap(e){return e==="1"||e?.toLowerCase()==="true"}o(ap,"isTruthyEnv");function Wv(e){return e==="0"||e?.toLowerCase()==="false"}o(Wv,"isFalseyEnv");function es(e=process.env){return e.TERM_PROGRAM?.toLowerCase()==="vscode"||!!e.VSCODE_GIT_IPC_HANDLE||!!e.VSCODE_INJECTION}o(es,"isVsCodeTerminalHostEnv");function ts(e={}){let t=e.env??process.env;return(e.platform??process.platform)==="win32"||!!t.WT_SESSION}o(ts,"hasCursorUpViewportYankRisk");function U$(e){return!!(e.SSH_CONNECTION||e.SSH_CLIENT||e.SSH_TTY)}o(U$,"isSshSession");function Pa(e={}){let t=e.env??process.env;return ap(t.KODAX_FULLSCREEN)?!1:(e.platform??process.platform)==="win32"&&U$(t)}o(Pa,"isRemoteConptyHost");function Hl(e={}){let t=e.env??process.env;return ts(e)||es(t)}o(Hl,"hasMainScreenRenderScrollRisk");function G$(e){if(!e.TMUX||e.TERM_PROGRAM!=="iTerm.app")return!1;let t=e.TERM??"";return!t.startsWith("screen")&&!t.startsWith("tmux")}o(G$,"isTmuxControlModeEnvHeuristic");var Ci;function $a(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(G$(t))return!0;if(!(t===process.env&&n===process.platform))return!1;if(Ci!==void 0||(Ci=!1,!t.TMUX)||t.TERM_PROGRAM&&t.TERM_PROGRAM!=="iTerm.app")return Ci;try{let i=j$("tmux",["display-message","-p","#{client_control_mode}"],{encoding:"utf8",timeout:2e3});i.status===0&&(Ci=i.stdout.trim()==="1")}catch{Ci=!1}return Ci}o($a,"isTmuxControlMode");function cp(){Ci=void 0}o(cp,"resetTmuxControlModeProbeForTesting");function to(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":$a(e)?"tmux_control_mode":es(t)?"xtermjs_host":Pa(e)?"remote_conpty_host":ts(e)?"degraded_vt":"native_vt"}o(to,"detectTerminalRenderHost");var no=to;function ns(e={}){let t=e.env??process.env;if(ap(t.KODAX_FORCE_INK))return"legacy";let n=t.KODAX_TUI_RENDERER?.trim().toLowerCase();return n==="legacy"||n==="owned"||n==="auto"?n:"auto"}o(ns,"resolveConfiguredTuiRendererMode");function ro(e={}){let t=ns(e);if(t==="legacy"||t==="owned")return t;let n=to(e);return n==="unsupported_control_host"||n==="tmux_control_mode"?"legacy":"owned"}o(ro,"resolveEffectiveTuiRendererMode");function Wl(e={}){let t=e.env??process.env;if(ap(t.KODAX_FORCE_CLASSIC_REPL))return"classic";let n=ns({env:t});if(n==="legacy"||n==="owned")return"ink";let r=to(e);return r==="unsupported_control_host"||r==="tmux_control_mode"?"classic":"ink"}o(Wl,"resolveInteractiveSurfacePreference");var V$={enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!0},jv={enabled:!0,promptShell:"main-screen",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!1,transcriptSpinnerAnimation:!0};function io(e,t="owned",n={}){let r=n.env??process.env;return Wv(r.KODAX_FULLSCREEN)?t==="owned"&&e!=="tmux_control_mode"&&e!=="unsupported_control_host"?jv:V$:K$(e,t)}o(io,"resolveFullscreenPolicy");function K$(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 jv;default:return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1}}}o(K$,"buildFullscreenPolicy");function rs(e,t={}){let n=t.rendererMode??"owned",r=io(e,n,{env:t.env}),i=e!=="unsupported_control_host"&&e!=="tmux_control_mode";return{profile:e,ownsViewportByDefault:r.enabled&&r.promptShell==="virtual",supportsMouseTracking:r.mouseWheel||r.mouseClicks,bufferingMode:r.streamingPreview?"live":"buffered-fallback",supportsFullscreenLayout:r.enabled,supportsOverlaySurface:r.enabled,supportsSelection:i,supportsCopyOnSelect:!1,supportsWheelHistory:r.mouseWheel,supportsViewportChrome:r.enabled,supportsSearchViewport:r.enabled,supportsStickyPrompt:r.enabled}}o(rs,"getTerminalHostCapabilities");function jl(e={}){return ro(e)==="owned"}o(jl,"isOwnedRendererPreferred");function Ul(e={}){let t=e.env??process.env;return ap(t.KODAX_FORCE_CLASSIC_REPL)&&!Wv(t.KODAX_FORCE_CLASSIC_REPL)}o(Ul,"isClassicReplForced");var is=class{static{o(this,"LRUCache")}capacity;cache;constructor(t){this.capacity=t,this.cache=new Map}get(t){if(!this.cache.has(t))return;let n=this.cache.get(t);return this.cache.delete(t),this.cache.set(t,n),n}set(t,n){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.capacity){let r=this.cache.keys().next().value;r!==void 0&&this.cache.delete(r)}this.cache.set(t,n)}has(t){return this.cache.has(t)}delete(t){return this.cache.delete(t)}clear(){this.cache.clear()}get size(){return this.cache.size}},oy=1,sy=2,z$=1e3,Uv;function up(){if(!(typeof Intl>"u"||typeof Intl.Segmenter!="function"))return Uv??=new Intl.Segmenter("en",{granularity:"grapheme"}),Uv}o(up,"getGraphemeSegmenter");function vn(e){if(!e)return 0;let t=up();if(t){let n=0;for(let r of t.segment(e))n++;return n}return[...e].length}o(vn,"getCodePointLength");function Ir(e){if(!e)return!1;let t=e.codePointAt(0);return t===void 0?!1:t>=19968&&t<=40959||t>=13312&&t<=19903||t>=63744&&t<=64255||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=44032&&t<=55215||t>=12288&&t<=12351||t>=65280&&t<=65519||t>=128512&&t<=128591||t>=127744&&t<=128511||t>=128640&&t<=128767||t>=127456&&t<=127487||t>=9728&&t<=9983||t>=9984&&t<=10175||t>=129280&&t<=129535||t>=129536&&t<=129647||t>=129648&&t<=129791}o(Ir,"isWideChar");function vr(e){if(!e)return 0;let t=0,n=up();if(n)for(let r of n.segment(e))t+=Ir(r.segment)?sy:oy;else for(let r of e)t+=Ir(r)?sy:oy;return t}o(vr,"getVisualWidth");function Gv(e,t){if(!e||t<0)return"";let n=up();if(n){let i=0;for(let s of n.segment(e)){if(i===t)return s.segment;i++}return""}let r=[...e];return t>=r.length?"":r[t]}o(Gv,"getCharAtCodePoint");function Sn(e){if(!e)return[];let t=up();if(t){let n=[];for(let r of t.segment(e))n.push(r.segment);return n}return[...e]}o(Sn,"splitByCodePoints");function X$(e,t,n){return Sn(e).slice(t,n).join("")}o(X$,"sliceByCodePoints");function Vv(e,t){let n=Math.max(0,t),r=Sn(e),i=0,s=0;for(;i<r.length;){let a=Ir(r[i])?sy:oy;if(s+a>n)break;s+=a,i++}return{before:r.slice(0,i).join(""),current:r[i]??"",after:r.slice(i+1).join("")}}o(Vv,"splitAtVisualColumn");function Na(e,t,n=!1){if(!e||t<=0)return"";let r="\u2026",s=n?t-1:t,a="",c=0,l=Sn(e);for(let u of l){let d=Ir(u)?2:1;if(c+d>s)break;a+=u,c+=d}return n&&a.length<e.length&&(a+=r),a}o(Na,"truncateByVisualWidth");var lp=new is(z$);function dp(e){let t=lp.get(e);if(t!==void 0)return t;let n=vr(e);return lp.set(e,n),n}o(dp,"getVisualWidthCached");function xn(e,t,n,r){let i=[],s=[],a=[];for(let c=0;c<e.length;c++){let l=e[c]||"";if(s[c]=[],l.length===0){i.push("");let p=i.length-1;s[c].push([p,0]),a.push([c,0]);continue}let u=0,d=Sn(l);for(;u<d.length;){let p="",h=0,m=u,g=-1;for(let T=u;T<d.length;T++){let x=d[T],C=Ir(x)?2:1;if(h+C>t){g>=0&&T-u>0?(p=d.slice(u,g).join(""),h=d.slice(u,g).reduce((v,A)=>v+(Ir(A)?2:1),0),m=g):p.length===0&&C>t&&(p=x,h=C,m=T+1);break}p+=x,h+=C,m=T+1,x===" "&&(g=T+1)}if(p.length>0||i.length===0){let T=u,x=i.length;i.push(p),s[c].push([x,T]),a.push([c,T])}u=m}}return{visualLines:i,logicalToVisualMap:s,visualToLogicalMap:a}}o(xn,"calculateVisualLayout");function fp(e,t){let{logicalToVisualMap:n,visualLines:r}=e;if(r.length===0)return[0,0];let[i,s]=t,a=n[i];if(!a||a.length===0)return[0,0];let c;for(let[m,g]of a)if(g<=s)c=[m,g];else break;let[l,u]=c??a[0],d=r[l]??"",p=Math.max(0,s-u),h=vr(X$(d,0,p));return[l,h]}o(fp,"calculateVisualCursorFromLayout");var pp={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"]}},ay={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 cy={dark:pp,minimal:ay};function ae(e="dark"){return cy[e]??pp}o(ae,"getTheme");function Y$(){return Object.keys(cy)}o(Y$,"getThemeNames");import{jsx as kn,jsxs as or,Fragment as rD}from"react/jsx-runtime";import{useMemo as jp}from"react";import{jsx as R0}from"react/jsx-runtime";import{createContext as L1,useContext as fs,useEffect as Ga,useMemo as b0,useState as P1,useCallback as k0,useRef as $p}from"react";import{Stream as c1}from"node:stream";import{openSync as l1,writeSync as p0}from"node:fs";import{performance as u1}from"node:perf_hooks";import{tmpdir as d1}from"node:os";import{join as f1}from"node:path";import ly,{forwardRef as Q$,useContext as Z$}from"react";import{createContext as q$}from"react";var Oa=q$({isScreenReaderEnabled:!1});import{createContext as J$}from"react";var mp=J$(void 0);var Kv=Q$(({children:e,backgroundColor:t,"aria-label":n,"aria-hidden":r,"aria-role":i,"aria-state":s,...a},c)=>{let{isScreenReaderEnabled:l}=Z$(Oa),u=n?ly.createElement("ink-text",null,n):void 0;if(l&&r)return null;let d=ly.createElement("ink-box",{ref:c,style:{flexWrap:"nowrap",flexDirection:"row",flexGrow:0,flexShrink:1,...a,backgroundColor:t,overflowX:a.overflowX??a.overflow??"visible",overflowY:a.overflowY??a.overflow??"visible"},internal_accessibility:{role:i,state:s}},l&&u?u:e);return t?ly.createElement(mp.Provider,{value:t},d):d});Kv.displayName="Box";var ir=Kv;import rN,{useContext as zv}from"react";import Da from"chalk";import oo from"chalk";var eN=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,tN=/^ansi256\(\s?(\d+)\s?\)$/;function nN(e){return e in oo}o(nN,"isNamedColor");function br(e,t,n){if(!t)return e;if(nN(t)){let r=oo;if(n==="foreground")return r[t]?.(e)??e;let i=`bg${t[0].toUpperCase()+t.slice(1)}`;return r[i]?.(e)??e}if(t.startsWith("#"))return n==="foreground"?oo.hex(t)(e):oo.bgHex(t)(e);if(t.startsWith("ansi256")){let r=tN.exec(t);if(!r)return e;let i=Number(r[1]);return n==="foreground"?oo.ansi256(i)(e):oo.bgAnsi256(i)(e)}if(t.startsWith("rgb")){let r=eN.exec(t);if(!r)return e;let i=Number(r[1]),s=Number(r[2]),a=Number(r[3]);return n==="foreground"?oo.rgb(i,s,a)(e):oo.bgRgb(i,s,a)(e)}return e}o(br,"colorize");function bn({color:e,backgroundColor:t,dimColor:n=!1,bold:r=!1,italic:i=!1,underline:s=!1,strikethrough:a=!1,inverse:c=!1,wrap:l="wrap",children:u,"aria-label":d,"aria-hidden":p=!1,internal_cursorAnchor:h=!1}){let{isScreenReaderEnabled:m}=zv(Oa),g=zv(mp),T=m&&d?d:u;if(T==null)return null;let x=o(C=>{let v=C;n&&(v=Da.dim(v)),e&&(v=br(v,e,"foreground"));let A=t??g;return A&&(v=br(v,A,"background")),r&&(v=Da.bold(v)),i&&(v=Da.italic(v)),s&&(v=Da.underline(v)),a&&(v=Da.strikethrough(v)),c&&(v=Da.inverse(v)),v},"transform");return m&&p?null:rN.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:l},internal_transform:x,...h?{internal_cursorAnchor:!0}:{}},m&&d?d:u)}o(bn,"Text");import iN,{useLayoutEffect as oN,useMemo as Xv,useState as sN}from"react";function uy({items:e,children:t,style:n}){let[r,i]=sN(0),s=Xv(()=>e.slice(r),[e,r]);oN(()=>{i(e.length)},[e.length]);let a=s.map((l,u)=>t(l,r+u)),c=Xv(()=>({position:"absolute",flexDirection:"column",...n}),[n]);return iN.createElement("ink-box",{internal_static:!0,style:c},a)}o(uy,"Static");import us from"node:process";import u0 from"react";import UO from"es-toolkit/compat/throttle";import Rn from"ansi-escapes";import Mi from"is-in-ci";import GO from"auto-bind";import{onExit as VO}from"signal-exit";import KO from"patch-console";import{LegacyRoot as zO,ConcurrentRoot as XO}from"react-reconciler/constants.js";import YO from"yoga-layout";import qO from"wrap-ansi";import JO from"terminal-size";import aN from"node:process";var hp=o(()=>aN.env.DEV==="true","isDev");import $N from"react-reconciler";import{DefaultEventPriority as NN,NoEventPriority as ub}from"react-reconciler/constants.js";import*as so from"scheduler";import sb from"yoga-layout";import{createContext as ON}from"react";import CN from"yoga-layout";import cN from"widest-line";var Yv=new Map,lN=o(e=>{if(e.length===0)return{width:0,height:0};let t=Yv.get(e);if(t)return t;let n=cN(e),r=e.split(`
|
|
2
|
+
import{$ as In,A as Ma,Aa as $v,B as fv,Ba as Nv,C as pv,Ca as Ov,D as _a,Da as Dv,E as Kf,Ea as Qo,F as mv,Fa as Zo,G as hv,Ga as ry,H as Xf,Ha as Bv,I as Dl,J as Qg,Ja as iy,K as gv,Ka as sp,L as Zg,La as Fv,M as Zi,Ma as Hv,N as Yf,O as Aa,P as qf,Q as Jf,R as yv,S as wv,T as La,U as Sv,V as eo,W as xv,X as Tv,Y as Wr,Z as ey,_ as Qf,a as Tr,aa as jr,b as z,ba as ty,c as W$,ca as Jo,d as wn,da as rr,e as Bf,ea as Zf,f as kI,fa as Bl,g as Cr,ga as ep,h as Ff,ha as Cv,i as Hf,ia as Iv,j as Wf,ja as vv,k as Ta,ka as bv,l as EI,la as Rv,m as Ca,ma as kv,n as tv,na as tp,o as nv,oa as np,p as rv,pa as Fl,q as iv,qa as rp,r as ov,ra as ip,s as sv,sa as op,t as av,ta as Ev,u as ka,ua as Mv,v as cv,va as _v,w as lv,wa as ny,x as uv,xa as Av,y as Ea,ya as Lv,z as dv,za as Pv}from"./chunk-KG3QIIDU.js";import{$ as ba,E as VI,J as KI,K as Qi,L as Yo,O as zI,P as XI,Q as YI,R as qI,S as JI,T as QI,U as ZI,X as Uf,Y as qo,Z as Gf,_ as va,a as re,aa as Ra,b as MI,ba as Vf,c as _I,ca as Ti,d as AI,e as LI,f as Nl,g as PI,ga as ev,h as Ia,i as $I,j as NI,k as zo,l as OI,m as DI,n as BI,o as Ol,p as FI,q as jf,r as Fr,s as HI,t as WI,u as jI,w as UI,x as GI,y as Xo,z as Hr}from"./chunk-DBFWNUGB.js";import{a as zf}from"./chunk-4KJQ7QGO.js";import{K as II,M as Jg,N as vI,O as bI,Z as RI,aa as Df,c as Yg,n as Nf,o as Of,v as CI,w as $l}from"./chunk-T256QEDN.js";import{Bb as $f,Cb as xa,D as dI,Db as yI,Gb as wI,Ib as SI,Jb as Ji,Ua as pI,Va as mI,Wb as xI,hb as Si,p as Al,q as iI,sb as Pl,tb as hI,ub as xi,wb as wa,wc as TI,xb as gI,yb as Sa}from"./chunk-ZACJCRHT.js";import{J as fI}from"./chunk-7KPBUO2F.js";import{Hb as aI,Md as cI,N as oI,Qd as lI,Rd as uI,Wa as Pf,hb as sI,td as Ll,wd as qg,z as ya}from"./chunk-NCK7ASJL.js";import{Aa as jg,Pa as Uo,ma as hf,ya as GC}from"./chunk-UNEC2WXJ.js";import{Af as da,Bf as fa,Cf as Rf,Db as zC,Ef as pa,Fd as If,Ff as ma,Gd as vf,Gf as ha,Hf as wi,Ia as Vo,Ib as Tf,If as kf,Ja as Yi,Jf as qi,Kb as XC,Kf as eI,Lf as Ef,Mf,Nf as zg,Of as _f,Pf as tI,Qf as ga,Ra as KC,Te as bf,Ue as Ko,Vg as nI,Wg as Xg,Xg as rI,Zb as YC,_b as qC,bg as Af,cg as Lf,df as JC,ef as Kg,k as Go,le as Vg,nb as Ug,ob as Br,of as QC,r as VC,rb as Gg,sf as ZC,t as ht,wf as qe,xf as ua,yf as Lt,zc as Cf}from"./chunk-R3BXINQ2.js";import{A as Sf,E as xf,h as nr,j as gf,r as yf,z as wf}from"./chunk-5247AKGN.js";import{a as o,c as H$}from"./chunk-ONUPGMER.js";import{spawnSync as j$}from"node:child_process";function ap(e){return e==="1"||e?.toLowerCase()==="true"}o(ap,"isTruthyEnv");function Wv(e){return e==="0"||e?.toLowerCase()==="false"}o(Wv,"isFalseyEnv");function es(e=process.env){return e.TERM_PROGRAM?.toLowerCase()==="vscode"||!!e.VSCODE_GIT_IPC_HANDLE||!!e.VSCODE_INJECTION}o(es,"isVsCodeTerminalHostEnv");function ts(e={}){let t=e.env??process.env;return(e.platform??process.platform)==="win32"||!!t.WT_SESSION}o(ts,"hasCursorUpViewportYankRisk");function U$(e){return!!(e.SSH_CONNECTION||e.SSH_CLIENT||e.SSH_TTY)}o(U$,"isSshSession");function Pa(e={}){let t=e.env??process.env;return ap(t.KODAX_FULLSCREEN)?!1:(e.platform??process.platform)==="win32"&&U$(t)}o(Pa,"isRemoteConptyHost");function Hl(e={}){let t=e.env??process.env;return ts(e)||es(t)}o(Hl,"hasMainScreenRenderScrollRisk");function G$(e){if(!e.TMUX||e.TERM_PROGRAM!=="iTerm.app")return!1;let t=e.TERM??"";return!t.startsWith("screen")&&!t.startsWith("tmux")}o(G$,"isTmuxControlModeEnvHeuristic");var Ci;function $a(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(G$(t))return!0;if(!(t===process.env&&n===process.platform))return!1;if(Ci!==void 0||(Ci=!1,!t.TMUX)||t.TERM_PROGRAM&&t.TERM_PROGRAM!=="iTerm.app")return Ci;try{let i=j$("tmux",["display-message","-p","#{client_control_mode}"],{encoding:"utf8",timeout:2e3});i.status===0&&(Ci=i.stdout.trim()==="1")}catch{Ci=!1}return Ci}o($a,"isTmuxControlMode");function cp(){Ci=void 0}o(cp,"resetTmuxControlModeProbeForTesting");function to(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":$a(e)?"tmux_control_mode":es(t)?"xtermjs_host":Pa(e)?"remote_conpty_host":ts(e)?"degraded_vt":"native_vt"}o(to,"detectTerminalRenderHost");var no=to;function ns(e={}){let t=e.env??process.env;if(ap(t.KODAX_FORCE_INK))return"legacy";let n=t.KODAX_TUI_RENDERER?.trim().toLowerCase();return n==="legacy"||n==="owned"||n==="auto"?n:"auto"}o(ns,"resolveConfiguredTuiRendererMode");function ro(e={}){let t=ns(e);if(t==="legacy"||t==="owned")return t;let n=to(e);return n==="unsupported_control_host"||n==="tmux_control_mode"?"legacy":"owned"}o(ro,"resolveEffectiveTuiRendererMode");function Wl(e={}){let t=e.env??process.env;if(ap(t.KODAX_FORCE_CLASSIC_REPL))return"classic";let n=ns({env:t});if(n==="legacy"||n==="owned")return"ink";let r=to(e);return r==="unsupported_control_host"||r==="tmux_control_mode"?"classic":"ink"}o(Wl,"resolveInteractiveSurfacePreference");var V$={enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!0},jv={enabled:!0,promptShell:"main-screen",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!1,transcriptSpinnerAnimation:!0};function io(e,t="owned",n={}){let r=n.env??process.env;return Wv(r.KODAX_FULLSCREEN)?t==="owned"&&e!=="tmux_control_mode"&&e!=="unsupported_control_host"?jv:V$:K$(e,t)}o(io,"resolveFullscreenPolicy");function K$(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 jv;default:return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1}}}o(K$,"buildFullscreenPolicy");function rs(e,t={}){let n=t.rendererMode??"owned",r=io(e,n,{env:t.env}),i=e!=="unsupported_control_host"&&e!=="tmux_control_mode";return{profile:e,ownsViewportByDefault:r.enabled&&r.promptShell==="virtual",supportsMouseTracking:r.mouseWheel||r.mouseClicks,bufferingMode:r.streamingPreview?"live":"buffered-fallback",supportsFullscreenLayout:r.enabled,supportsOverlaySurface:r.enabled,supportsSelection:i,supportsCopyOnSelect:!1,supportsWheelHistory:r.mouseWheel,supportsViewportChrome:r.enabled,supportsSearchViewport:r.enabled,supportsStickyPrompt:r.enabled}}o(rs,"getTerminalHostCapabilities");function jl(e={}){return ro(e)==="owned"}o(jl,"isOwnedRendererPreferred");function Ul(e={}){let t=e.env??process.env;return ap(t.KODAX_FORCE_CLASSIC_REPL)&&!Wv(t.KODAX_FORCE_CLASSIC_REPL)}o(Ul,"isClassicReplForced");var is=class{static{o(this,"LRUCache")}capacity;cache;constructor(t){this.capacity=t,this.cache=new Map}get(t){if(!this.cache.has(t))return;let n=this.cache.get(t);return this.cache.delete(t),this.cache.set(t,n),n}set(t,n){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.capacity){let r=this.cache.keys().next().value;r!==void 0&&this.cache.delete(r)}this.cache.set(t,n)}has(t){return this.cache.has(t)}delete(t){return this.cache.delete(t)}clear(){this.cache.clear()}get size(){return this.cache.size}},oy=1,sy=2,z$=1e3,Uv;function up(){if(!(typeof Intl>"u"||typeof Intl.Segmenter!="function"))return Uv??=new Intl.Segmenter("en",{granularity:"grapheme"}),Uv}o(up,"getGraphemeSegmenter");function vn(e){if(!e)return 0;let t=up();if(t){let n=0;for(let r of t.segment(e))n++;return n}return[...e].length}o(vn,"getCodePointLength");function Ir(e){if(!e)return!1;let t=e.codePointAt(0);return t===void 0?!1:t>=19968&&t<=40959||t>=13312&&t<=19903||t>=63744&&t<=64255||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=44032&&t<=55215||t>=12288&&t<=12351||t>=65280&&t<=65519||t>=128512&&t<=128591||t>=127744&&t<=128511||t>=128640&&t<=128767||t>=127456&&t<=127487||t>=9728&&t<=9983||t>=9984&&t<=10175||t>=129280&&t<=129535||t>=129536&&t<=129647||t>=129648&&t<=129791}o(Ir,"isWideChar");function vr(e){if(!e)return 0;let t=0,n=up();if(n)for(let r of n.segment(e))t+=Ir(r.segment)?sy:oy;else for(let r of e)t+=Ir(r)?sy:oy;return t}o(vr,"getVisualWidth");function Gv(e,t){if(!e||t<0)return"";let n=up();if(n){let i=0;for(let s of n.segment(e)){if(i===t)return s.segment;i++}return""}let r=[...e];return t>=r.length?"":r[t]}o(Gv,"getCharAtCodePoint");function Sn(e){if(!e)return[];let t=up();if(t){let n=[];for(let r of t.segment(e))n.push(r.segment);return n}return[...e]}o(Sn,"splitByCodePoints");function X$(e,t,n){return Sn(e).slice(t,n).join("")}o(X$,"sliceByCodePoints");function Vv(e,t){let n=Math.max(0,t),r=Sn(e),i=0,s=0;for(;i<r.length;){let a=Ir(r[i])?sy:oy;if(s+a>n)break;s+=a,i++}return{before:r.slice(0,i).join(""),current:r[i]??"",after:r.slice(i+1).join("")}}o(Vv,"splitAtVisualColumn");function Na(e,t,n=!1){if(!e||t<=0)return"";let r="\u2026",s=n?t-1:t,a="",c=0,l=Sn(e);for(let u of l){let d=Ir(u)?2:1;if(c+d>s)break;a+=u,c+=d}return n&&a.length<e.length&&(a+=r),a}o(Na,"truncateByVisualWidth");var lp=new is(z$);function dp(e){let t=lp.get(e);if(t!==void 0)return t;let n=vr(e);return lp.set(e,n),n}o(dp,"getVisualWidthCached");function xn(e,t,n,r){let i=[],s=[],a=[];for(let c=0;c<e.length;c++){let l=e[c]||"";if(s[c]=[],l.length===0){i.push("");let p=i.length-1;s[c].push([p,0]),a.push([c,0]);continue}let u=0,d=Sn(l);for(;u<d.length;){let p="",h=0,m=u,g=-1;for(let T=u;T<d.length;T++){let x=d[T],C=Ir(x)?2:1;if(h+C>t){g>=0&&T-u>0?(p=d.slice(u,g).join(""),h=d.slice(u,g).reduce((v,A)=>v+(Ir(A)?2:1),0),m=g):p.length===0&&C>t&&(p=x,h=C,m=T+1);break}p+=x,h+=C,m=T+1,x===" "&&(g=T+1)}if(p.length>0||i.length===0){let T=u,x=i.length;i.push(p),s[c].push([x,T]),a.push([c,T])}u=m}}return{visualLines:i,logicalToVisualMap:s,visualToLogicalMap:a}}o(xn,"calculateVisualLayout");function fp(e,t){let{logicalToVisualMap:n,visualLines:r}=e;if(r.length===0)return[0,0];let[i,s]=t,a=n[i];if(!a||a.length===0)return[0,0];let c;for(let[m,g]of a)if(g<=s)c=[m,g];else break;let[l,u]=c??a[0],d=r[l]??"",p=Math.max(0,s-u),h=vr(X$(d,0,p));return[l,h]}o(fp,"calculateVisualCursorFromLayout");var pp={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"]}},ay={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 cy={dark:pp,minimal:ay};function ae(e="dark"){return cy[e]??pp}o(ae,"getTheme");function Y$(){return Object.keys(cy)}o(Y$,"getThemeNames");import{jsx as kn,jsxs as or,Fragment as rD}from"react/jsx-runtime";import{useMemo as jp}from"react";import{jsx as R0}from"react/jsx-runtime";import{createContext as L1,useContext as fs,useEffect as Ga,useMemo as b0,useState as P1,useCallback as k0,useRef as $p}from"react";import{Stream as c1}from"node:stream";import{openSync as l1,writeSync as p0}from"node:fs";import{performance as u1}from"node:perf_hooks";import{tmpdir as d1}from"node:os";import{join as f1}from"node:path";import ly,{forwardRef as Q$,useContext as Z$}from"react";import{createContext as q$}from"react";var Oa=q$({isScreenReaderEnabled:!1});import{createContext as J$}from"react";var mp=J$(void 0);var Kv=Q$(({children:e,backgroundColor:t,"aria-label":n,"aria-hidden":r,"aria-role":i,"aria-state":s,...a},c)=>{let{isScreenReaderEnabled:l}=Z$(Oa),u=n?ly.createElement("ink-text",null,n):void 0;if(l&&r)return null;let d=ly.createElement("ink-box",{ref:c,style:{flexWrap:"nowrap",flexDirection:"row",flexGrow:0,flexShrink:1,...a,backgroundColor:t,overflowX:a.overflowX??a.overflow??"visible",overflowY:a.overflowY??a.overflow??"visible"},internal_accessibility:{role:i,state:s}},l&&u?u:e);return t?ly.createElement(mp.Provider,{value:t},d):d});Kv.displayName="Box";var ir=Kv;import rN,{useContext as zv}from"react";import Da from"chalk";import oo from"chalk";var eN=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,tN=/^ansi256\(\s?(\d+)\s?\)$/;function nN(e){return e in oo}o(nN,"isNamedColor");function br(e,t,n){if(!t)return e;if(nN(t)){let r=oo;if(n==="foreground")return r[t]?.(e)??e;let i=`bg${t[0].toUpperCase()+t.slice(1)}`;return r[i]?.(e)??e}if(t.startsWith("#"))return n==="foreground"?oo.hex(t)(e):oo.bgHex(t)(e);if(t.startsWith("ansi256")){let r=tN.exec(t);if(!r)return e;let i=Number(r[1]);return n==="foreground"?oo.ansi256(i)(e):oo.bgAnsi256(i)(e)}if(t.startsWith("rgb")){let r=eN.exec(t);if(!r)return e;let i=Number(r[1]),s=Number(r[2]),a=Number(r[3]);return n==="foreground"?oo.rgb(i,s,a)(e):oo.bgRgb(i,s,a)(e)}return e}o(br,"colorize");function bn({color:e,backgroundColor:t,dimColor:n=!1,bold:r=!1,italic:i=!1,underline:s=!1,strikethrough:a=!1,inverse:c=!1,wrap:l="wrap",children:u,"aria-label":d,"aria-hidden":p=!1,internal_cursorAnchor:h=!1}){let{isScreenReaderEnabled:m}=zv(Oa),g=zv(mp),T=m&&d?d:u;if(T==null)return null;let x=o(C=>{let v=C;n&&(v=Da.dim(v)),e&&(v=br(v,e,"foreground"));let A=t??g;return A&&(v=br(v,A,"background")),r&&(v=Da.bold(v)),i&&(v=Da.italic(v)),s&&(v=Da.underline(v)),a&&(v=Da.strikethrough(v)),c&&(v=Da.inverse(v)),v},"transform");return m&&p?null:rN.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:l},internal_transform:x,...h?{internal_cursorAnchor:!0}:{}},m&&d?d:u)}o(bn,"Text");import iN,{useLayoutEffect as oN,useMemo as Xv,useState as sN}from"react";function uy({items:e,children:t,style:n}){let[r,i]=sN(0),s=Xv(()=>e.slice(r),[e,r]);oN(()=>{i(e.length)},[e.length]);let a=s.map((l,u)=>t(l,r+u)),c=Xv(()=>({position:"absolute",flexDirection:"column",...n}),[n]);return iN.createElement("ink-box",{internal_static:!0,style:c},a)}o(uy,"Static");import us from"node:process";import u0 from"react";import UO from"es-toolkit/compat/throttle";import Rn from"ansi-escapes";import Mi from"is-in-ci";import GO from"auto-bind";import{onExit as VO}from"signal-exit";import KO from"patch-console";import{LegacyRoot as zO,ConcurrentRoot as XO}from"react-reconciler/constants.js";import YO from"yoga-layout";import qO from"wrap-ansi";import JO from"terminal-size";import aN from"node:process";var hp=o(()=>aN.env.DEV==="true","isDev");import $N from"react-reconciler";import{DefaultEventPriority as NN,NoEventPriority as ub}from"react-reconciler/constants.js";import*as so from"scheduler";import sb from"yoga-layout";import{createContext as ON}from"react";import CN from"yoga-layout";import cN from"widest-line";var Yv=new Map,lN=o(e=>{if(e.length===0)return{width:0,height:0};let t=Yv.get(e);if(t)return t;let n=cN(e),r=e.split(`
|
|
3
3
|
`).length,i={width:n,height:r};return Yv.set(e,i),i},"measureText"),dy=lN;import uN from"wrap-ansi";import dN from"cli-truncate";var qv={},fN=o((e,t,n)=>{let r=e+String(t)+String(n),i=qv[r];if(i)return i;let s=e;if(n==="wrap"&&(s=uN(e,t,{trim:!1,hard:!0})),n.startsWith("truncate")){let a="end";n==="truncate-middle"&&(a="middle"),n==="truncate-start"&&(a="start"),s=dN(e,t,{position:a})}return qv[r]=s,s},"wrapText"),gp=fN;var pN=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=63},"isCsiParameterCharacter"),mN=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isCsiIntermediateCharacter"),hN=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=64&&t<=126},"isCsiFinalCharacter"),Zv=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isEscapeIntermediateCharacter"),gN=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=126},"isEscapeFinalCharacter"),eb=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=128&&t<=159},"isC1ControlCharacter"),Jv=o((e,t)=>{let n=t;for(;n<e.length;){let c=e[n];if(!pN(c))break;n++}let r=e.slice(t,n),i=n;for(;n<e.length;){let c=e[n];if(!mN(c))break;n++}let s=e.slice(i,n),a=e[n];if(!(a===void 0||!hN(a)))return{endIndex:n+1,parameterString:r,intermediateString:s,finalCharacter:a}},"readCsiSequence"),Qv=o((e,t,n)=>{for(let r=t;r<e.length;r++){let i=e[r];if(n&&i==="\x07"||i==="\x9C")return r+1;if(i==="\x1B"){let s=e[r+1];if(s==="\x1B"){r++;continue}if(s==="\\")return r+2}}},"findControlStringTerminatorIndex"),yN=o((e,t)=>{let n=t;for(;n<e.length;){let s=e[n];if(!Zv(s))break;n++}let r=e.slice(t,n),i=e[n];if(!(i===void 0||!gN(i)))return{endIndex:n+1,intermediateString:r,finalCharacter:i}},"readEscapeSequence"),wN=o(e=>{switch(e){case"]":return{type:"osc",allowBellTerminator:!0};case"P":return{type:"dcs",allowBellTerminator:!1};case"^":return{type:"pm",allowBellTerminator:!1};case"_":return{type:"apc",allowBellTerminator:!1};case"X":return{type:"sos",allowBellTerminator:!1};default:return}},"getControlStringFromEscapeIntroducer"),SN=o(e=>{switch(e){case"\x9D":return{type:"osc",allowBellTerminator:!0};case"\x90":return{type:"dcs",allowBellTerminator:!1};case"\x9E":return{type:"pm",allowBellTerminator:!1};case"\x9F":return{type:"apc",allowBellTerminator:!1};case"\x98":return{type:"sos",allowBellTerminator:!1};default:return}},"getControlStringFromC1Introducer"),fy=o(e=>{if(e.includes("\x1B"))return!0;for(let t of e)if(eb(t))return!0;return!1},"hasAnsiControlCharacters"),Ba=o((e,t,n,r)=>(r>n&&e.push({type:"text",value:t.slice(n,r)}),e.push({type:"invalid",value:t.slice(r)}),e),"malformedFromIndex"),tb=o(e=>{if(!fy(e))return[{type:"text",value:e}];let t=[],n=0;for(let r=0;r<e.length;){let i=e[r];if(i===void 0)break;if(i==="\x1B"){let a=e[r+1];if(a===void 0)return Ba(t,e,n,r);if(a==="["){let u=Jv(e,r+2);if(u===void 0)return Ba(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"csi",value:e.slice(r,u.endIndex),parameterString:u.parameterString,intermediateString:u.intermediateString,finalCharacter:u.finalCharacter}),r=u.endIndex,n=r;continue}let c=wN(a);if(c!==void 0){let u=Qv(e,r+2,c.allowBellTerminator);if(u===void 0)return Ba(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:c.type,value:e.slice(r,u)}),r=u,n=r;continue}let l=yN(e,r+1);if(l===void 0){if(Zv(a))return Ba(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),r++,n=r;continue}r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"esc",value:e.slice(r,l.endIndex),intermediateString:l.intermediateString,finalCharacter:l.finalCharacter}),r=l.endIndex,n=r;continue}if(i==="\x9B"){let a=Jv(e,r+1);if(a===void 0)return Ba(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=SN(i);if(s!==void 0){let a=Qv(e,r+1,s.allowBellTerminator);if(a===void 0)return Ba(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:s.type,value:e.slice(r,a)}),r=a,n=r;continue}if(i==="\x9C"){r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"st",value:i}),r++,n=r;continue}if(eb(i)){r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"c1",value:i}),r++,n=r;continue}r++}return n<e.length&&t.push({type:"text",value:e.slice(n)}),t},"tokenizeAnsi");var xN=/^[\d:;]*$/,TN=o(e=>{if(!fy(e))return e;let t="";for(let n of tb(e)){if(n.type==="text"||n.type==="osc"){t+=n.value;continue}n.type==="csi"&&n.finalCharacter==="m"&&n.intermediateString===""&&xN.test(n.parameterString)&&(t+=n.value)}return t},"sanitizeAnsi"),nb=TN;var rb=o(e=>{let t="";for(let n=0;n<e.childNodes.length;n++){let r=e.childNodes[n];if(r===void 0)continue;let i="";r.nodeName==="#text"?i=r.nodeValue:((r.nodeName==="ink-text"||r.nodeName==="ink-virtual-text")&&(i=rb(r)),i.length>0&&typeof r.internal_transform=="function"&&(i=r.internal_transform(i,n))),t+=i}return nb(t)},"squashTextNodes"),Gl=rb;var yp=o(e=>{let t={nodeName:e,style:{},attributes:{},childNodes:[],parentNode:void 0,yogaNode:e==="ink-virtual-text"?void 0:CN.Node.create(),internal_accessibility:{}};return e==="ink-text"&&t.yogaNode?.setMeasureFunc(IN.bind(null,t)),t},"createNode"),wp=o((e,t)=>{t.parentNode&&Vl(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")&&Sp(e)},"appendChildNode"),py=o((e,t,n)=>{t.parentNode&&Vl(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")&&Sp(e)},"insertBeforeNode"),Vl=o((e,t)=>{t.yogaNode&&t.parentNode?.yogaNode?.removeChild(t.yogaNode),t.parentNode=void 0;let n=e.childNodes.indexOf(t);n>=0&&e.childNodes.splice(n,1),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&Sp(e)},"removeChildNode"),my=o((e,t,n)=>{if(t==="internal_accessibility"){e.internal_accessibility=n;return}e.attributes[t]=n},"setAttribute"),hy=o((e,t)=>{e.style=t},"setStyle"),ib=o(e=>{let t={nodeName:"#text",nodeValue:e,yogaNode:void 0,parentNode:void 0,style:{}};return Kl(t,e),t},"createTextNode"),IN=o(function(e,t){let n=e.nodeName==="#text"?e.nodeValue:Gl(e),r=dy(n);if(r.width<=t||r.width>=1&&t>0&&t<1)return r;let i=e.style?.textWrap??"wrap",s=gp(n,t,i);return dy(s)},"measureTextNode"),ob=o(e=>{if(e?.parentNode)return e.yogaNode??ob(e.parentNode)},"findClosestYogaNode"),Sp=o(e=>{ob(e)?.markDirty()},"markNodeAsDirty"),Kl=o((e,t)=>{typeof t!="string"&&(t=String(t)),e.nodeValue=t,Sp(e)},"setTextNodeValue");import Me from"yoga-layout";var bN=o((e,t)=>{"position"in t&&e.setPositionType(t.position==="absolute"?Me.POSITION_TYPE_ABSOLUTE:Me.POSITION_TYPE_RELATIVE),"top"in t&&e.setPosition(Me.EDGE_TOP,t.top??0),"bottom"in t&&e.setPosition(Me.EDGE_BOTTOM,t.bottom??0),"left"in t&&e.setPosition(Me.EDGE_LEFT,t.left??0),"right"in t&&e.setPosition(Me.EDGE_RIGHT,t.right??0)},"applyPositionStyles"),RN=o((e,t)=>{"margin"in t&&e.setMargin(Me.EDGE_ALL,t.margin??0),"marginX"in t&&e.setMargin(Me.EDGE_HORIZONTAL,t.marginX??0),"marginY"in t&&e.setMargin(Me.EDGE_VERTICAL,t.marginY??0),"marginLeft"in t&&e.setMargin(Me.EDGE_START,t.marginLeft||0),"marginRight"in t&&e.setMargin(Me.EDGE_END,t.marginRight||0),"marginTop"in t&&e.setMargin(Me.EDGE_TOP,t.marginTop||0),"marginBottom"in t&&e.setMargin(Me.EDGE_BOTTOM,t.marginBottom||0)},"applyMarginStyles"),kN=o((e,t)=>{"padding"in t&&e.setPadding(Me.EDGE_ALL,t.padding??0),"paddingX"in t&&e.setPadding(Me.EDGE_HORIZONTAL,t.paddingX??0),"paddingY"in t&&e.setPadding(Me.EDGE_VERTICAL,t.paddingY??0),"paddingLeft"in t&&e.setPadding(Me.EDGE_LEFT,t.paddingLeft||0),"paddingRight"in t&&e.setPadding(Me.EDGE_RIGHT,t.paddingRight||0),"paddingTop"in t&&e.setPadding(Me.EDGE_TOP,t.paddingTop||0),"paddingBottom"in t&&e.setPadding(Me.EDGE_BOTTOM,t.paddingBottom||0)},"applyPaddingStyles"),EN=o((e,t)=>{"flexGrow"in t&&e.setFlexGrow(t.flexGrow??0),"flexShrink"in t&&e.setFlexShrink(typeof t.flexShrink=="number"?t.flexShrink:1),"flexWrap"in t&&(t.flexWrap==="nowrap"&&e.setFlexWrap(Me.WRAP_NO_WRAP),t.flexWrap==="wrap"&&e.setFlexWrap(Me.WRAP_WRAP),t.flexWrap==="wrap-reverse"&&e.setFlexWrap(Me.WRAP_WRAP_REVERSE)),"flexDirection"in t&&(t.flexDirection==="row"&&e.setFlexDirection(Me.FLEX_DIRECTION_ROW),t.flexDirection==="row-reverse"&&e.setFlexDirection(Me.FLEX_DIRECTION_ROW_REVERSE),t.flexDirection==="column"&&e.setFlexDirection(Me.FLEX_DIRECTION_COLUMN),t.flexDirection==="column-reverse"&&e.setFlexDirection(Me.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(Me.ALIGN_STRETCH),t.alignItems==="flex-start"&&e.setAlignItems(Me.ALIGN_FLEX_START),t.alignItems==="center"&&e.setAlignItems(Me.ALIGN_CENTER),t.alignItems==="flex-end"&&e.setAlignItems(Me.ALIGN_FLEX_END)),"alignSelf"in t&&((t.alignSelf==="auto"||!t.alignSelf)&&e.setAlignSelf(Me.ALIGN_AUTO),t.alignSelf==="flex-start"&&e.setAlignSelf(Me.ALIGN_FLEX_START),t.alignSelf==="center"&&e.setAlignSelf(Me.ALIGN_CENTER),t.alignSelf==="flex-end"&&e.setAlignSelf(Me.ALIGN_FLEX_END)),"justifyContent"in t&&((t.justifyContent==="flex-start"||!t.justifyContent)&&e.setJustifyContent(Me.JUSTIFY_FLEX_START),t.justifyContent==="center"&&e.setJustifyContent(Me.JUSTIFY_CENTER),t.justifyContent==="flex-end"&&e.setJustifyContent(Me.JUSTIFY_FLEX_END),t.justifyContent==="space-between"&&e.setJustifyContent(Me.JUSTIFY_SPACE_BETWEEN),t.justifyContent==="space-around"&&e.setJustifyContent(Me.JUSTIFY_SPACE_AROUND),t.justifyContent==="space-evenly"&&e.setJustifyContent(Me.JUSTIFY_SPACE_EVENLY))},"applyFlexStyles"),MN=o((e,t)=>{"width"in t&&(typeof t.width=="number"?e.setWidth(t.width):typeof t.width=="string"?e.setWidthPercent(Number.parseInt(t.width,10)):e.setWidthAuto()),"height"in t&&(typeof t.height=="number"?e.setHeight(t.height):typeof t.height=="string"?e.setHeightPercent(Number.parseInt(t.height,10)):e.setHeightAuto()),"minWidth"in t&&(typeof t.minWidth=="string"?e.setMinWidthPercent(Number.parseInt(t.minWidth,10)):e.setMinWidth(t.minWidth??0)),"minHeight"in t&&(typeof t.minHeight=="string"?e.setMinHeightPercent(Number.parseInt(t.minHeight,10)):e.setMinHeight(t.minHeight??0))},"applyDimensionStyles"),_N=o((e,t)=>{"display"in t&&e.setDisplay(t.display==="flex"?Me.DISPLAY_FLEX:Me.DISPLAY_NONE)},"applyDisplayStyles"),AN=o((e,t)=>{if("borderStyle"in t){let n=t.borderStyle?1:0;t.borderTop!==!1&&e.setBorder(Me.EDGE_TOP,n),t.borderBottom!==!1&&e.setBorder(Me.EDGE_BOTTOM,n),t.borderLeft!==!1&&e.setBorder(Me.EDGE_LEFT,n),t.borderRight!==!1&&e.setBorder(Me.EDGE_RIGHT,n)}},"applyBorderStyles"),LN=o((e,t)=>{"gap"in t&&e.setGap(Me.GUTTER_ALL,t.gap??0),"columnGap"in t&&e.setGap(Me.GUTTER_COLUMN,t.columnGap??0),"rowGap"in t&&e.setGap(Me.GUTTER_ROW,t.rowGap??0)},"applyGapStyles"),PN=o((e,t={})=>{bN(e,t),RN(e,t),kN(e,t),EN(e,t),MN(e,t),_N(e,t),AN(e,t),LN(e,t)},"styles"),gy=PN;if(hp())try{await import("./devtools-CD6KSIHE.js")}catch(e){if(e.code==="ERR_MODULE_NOT_FOUND")console.warn(`
|
|
4
4
|
The environment variable DEV is set to true, so Ink tried to import \`react-devtools-core\`,
|
|
5
5
|
but this failed as it was not installed. Debugging with React Devtools requires it.
|
|
@@ -139,7 +139,7 @@ $ npm install --save-dev react-devtools-core
|
|
|
139
139
|
[Interrupted]`}),r}o(u2,"buildInterruptedPersistenceItems");function OS({thinking:e,response:t,toolCalls:n,toolNames:r}){let i=[],s=e?.trim()??"",a=t?.trim()??"",c=n&&n.length>0?[...n]:[],l=r&&r.length>0?[...r]:[];return s&&i.push({type:"thinking",text:s}),c.length>0?i.push({type:"tool_group",tools:c}):!s&&!a&&l.length>0&&i.push({type:"info",icon:"*",text:`Tools: ${l.join(", ")}`}),a&&i.push({type:"assistant",text:a}),i}o(OS,"buildRoundHistoryItems");var d2=20,f2="Session ended before the tool completed.";function p2(e){switch(e.status){case z.Success:return{status:"success"};case z.Error:return{status:"error"};case z.Cancelled:return{status:"cancelled"};case z.AwaitingApproval:case z.Scheduled:case z.Validating:case z.Executing:return{status:"cancelled",error:f2};default:return e.status}}o(p2,"toPersistedToolStatus");function m2(e){if(!e.id||!e.name)return;let t=p2(e),n=t.status==="success"?Zg(e.output):void 0,r=t.status==="error"||t.status==="cancelled"?Qg(e.error??Zg(e.output)??t.error??""):void 0,i=gv(e.input);return{id:e.id,name:e.name,status:t.status,...i?{input:i}:{},...typeof e.preview=="string"&&e.preview.trim().length>0?{preview:Qg(e.preview.trim(),500)}:{},...n&&n.trim().length>0?{output:n}:{},...r&&r.trim().length>0?{error:r}:{},...typeof e.startTime=="number"?{startTime:e.startTime}:{},...typeof e.endTime=="number"?{endTime:e.endTime}:{}}}o(m2,"toPersistedToolCall");function h2(e){let t=e.tools.slice(0,d2).map(m2).filter(r=>!!r),n=DS(e);return t.length>0?{type:"tool_group",tools:t,...n===void 0?{}:{timestamp:n}}:void 0}o(h2,"toPersistedToolGroup");function DS(e){return e.timestamp!==void 0&&Number.isFinite(e.timestamp)&&e.timestamp>=0?e.timestamp:void 0}o(DS,"persistedHistoryTimestamp");function nA(e){if(e.type==="tool_group")return h2(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=DS(e);return{type:"sidecar",text:t,icon:s,...a===void 0?{}:{timestamp:a}}}let n="icon"in e&&typeof e.icon=="string"&&e.icon.length>0?e.icon:void 0,r="compactText"in e&&typeof e.compactText=="string"&&e.compactText.length>0?e.compactText.trimEnd():void 0,i=DS(e);return{type:e.type,text:t,...i===void 0?{}:{timestamp:i},...n?{icon:n}:{},...r?{compactText:r}:{}}}o(nA,"toPersistedUiHistoryItem");var Q_=process.env.KODAX_TRANSCRIPT_HARNESS_MARKERS==="1",g2=process.env.KODAX_SCROLL_OVERSCAN==="1"?80:void 0;function Z_(e){return Jr(e.map(t=>nA(t)).filter(t=>!!t))}o(Z_,"serializeUiHistorySnapshot");function y2(e){return e.map(t=>nA(t)).filter(t=>!!t)}o(y2,"serializeCreatableHistoryItems");function lh(e,t){return t.length===0?Jr(e):Jr([...e,...y2(t)])}o(lh,"appendPersistedUiHistorySnapshot");function Vu(e,t,n){console.log((e==="block"?gt.red:gt.yellow)(t)),n.forEach(r=>console.log(gt.dim(r)))}o(Vu,"logSessionTransitionGuard");var $S=o(({config:e,sessionId:t,workingDir:n,compactionInfo:r})=>{let i=ae("dark"),s=e.model??Hr(e.provider)??e.provider,a=Qi({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?Su(r.contextWindow,r.triggerPercent,r.triggerTokens):void 0;return Mn(M,{flexDirection:"column",marginBottom:1,children:[Kw.map((u,d)=>fe(b,{color:i.colors.primary,children:u},d)),Mn(M,{children:[fe(b,{color:i.colors.primary,children:" \u258E "}),fe(b,{color:i.colors.primary,children:"AI Coding Agent \xB7 Minimalist & Intelligent"})]}),Mn(M,{children:[fe(b,{color:i.colors.success,children:" \u258E "}),Mn(b,{bold:!0,color:i.colors.text,children:["v",Xo]}),fe(b,{dimColor:!0,children:" \xB7 "}),Mn(b,{color:i.colors.success,children:[e.provider,"/",s]}),fe(b,{dimColor:!0,children:` \xB7 effort:${a}`}),fe(b,{dimColor:!0,children:" \xB7 "}),fe(b,{color:i.colors.primary,children:e.agentMode.toUpperCase()}),fe(b,{dimColor:!0,children:" / "}),fe(b,{color:i.colors.accent,children:e.permissionMode})]}),r&&Mn(M,{children:[fe(b,{color:i.colors.accent,children:" \u258E "}),fe(b,{color:i.colors.text,children:`ctx ${c}k \xB7 compaction `}),fe(b,{color:r.enabled?i.colors.success:i.colors.text,children:r.enabled?"on":"off"}),fe(b,{color:i.colors.text,children:` \xB7 ${l}`})]}),Mn(M,{children:[fe(b,{color:i.colors.secondary,children:" \u258E "}),fe(b,{color:i.colors.text,children:"session "}),fe(b,{color:i.colors.primary,children:t}),fe(b,{color:i.colors.text,children:" \xB7 "}),fe(b,{color:i.colors.text,children:n})]})]})},"Banner");function w2(e){let t=e.config.model??Hr(e.config.provider)??e.config.provider,n=Qi({provider:e.config.provider,model:e.config.model,effort:e.config.effort,effortOverride:e.config.effortOverride,thinking:e.config.thinking,reasoningMode:e.config.reasoningMode}),r=e.compactionInfo?Math.round(e.compactionInfo.contextWindow/1e3):0,i=e.compactionInfo?Su(e.compactionInfo.contextWindow,e.compactionInfo.triggerPercent,e.compactionInfo.triggerTokens):void 0,s=" \u258E AI Coding Agent \xB7 Minimalist & Intelligent",a=` \u258E v${Xo} \xB7 ${e.config.provider}/${t} \xB7 effort:${n} \xB7 ${e.config.agentMode.toUpperCase()} / ${e.config.permissionMode}`,c=e.compactionInfo?` \u258E ctx ${r}k \xB7 compaction ${e.compactionInfo.enabled?"on":"off"} \xB7 ${i}`:void 0,l=` \u258E session ${e.sessionId} \xB7 ${e.workingDir}`,u=[],d=o(h=>{let m=xn(h.length>0?h.split(`
|
|
140
140
|
`):[""],Math.max(1,e.terminalWidth),0,0);return m.visualLines.length>0?m.visualLines:[""]},"wrapBannerLine"),p=o((h,m,g)=>{d(m).forEach((T,x)=>{u.push({key:`${h}-${x}`,text:T,...g})})},"pushLineRows");return Kw.forEach((h,m)=>{p(`banner-logo-${m}`,h,{color:"primary"})}),p("banner-tagline",s,{color:"primary"}),p("banner-version",a,{color:"text",bold:!0}),c&&p("banner-compaction",c,{color:"text"}),p("banner-session",l,{color:"text"}),u.push({key:"banner-blank",text:" "}),{key:"banner",rows:u}}o(w2,"buildBannerTranscriptSection");function eA(e,t){return t?{...e,sections:[t,...e.sections],rows:[...t.rows,...e.rows]}:e}o(eA,"prependTranscriptSection");var S2=process.env.KODAX_INLINE_LEDGER!=="0";function tA(e,t){process.env.KODAX_INLINE_LEDGER_DEBUG==="1"&&ht({source:"repl:inline-ledger",level:"debug",message:`${e}; rebuilding on next change.`,...t!==void 0?{detail:t}:{}})}o(tA,"reportInlineLedgerFailure");var x2=o(({options:e,config:t,context:n,startupRuntimeInfo:r,storage:i,autoModeSettings:s,rendererMode:a,fullscreenPolicy:c,onExit:l,compactionInfo:u,autoModeBootstrap:d,setAutoModeAskUser:p,setAutoModeEngineChange:h,setCurrentConfigRef:m,teamModeHandle:g})=>{let{exit:T}=zr(),{stdout:x}=Kr(),C=x.rows??24,{stdin:v,setRawMode:A,isRawModeSupported:P}=nu(),k=qa(),{history:E}=ac(),$=V_.useRef(null),D=V_.useRef(II()),{addHistoryItem:N,addHistoryItems:K,clearHistory:ne,setSessionId:X}=cc(),y=Se(E),_=Se(Z_(E));Be(()=>{y.current=E,_.current=Z_(E)},[E]),Be(()=>{BE()},[]),Be(()=>{$v()},[]);let Q=x.columns||80,j=dc(),le=Se(j);Be(()=>{le.current=j},[j]);let{startStreaming:de,stopStreaming:he,abort:_e,startThinking:pe,appendThinkingChars:Te,appendThinkingContent:$e,stopThinking:Z,clearThinkingContent:se,setCurrentTool:Ie,appendToolInputChars:nt,appendToolInputContent:It,clearToolInputContent:Ke,clearResponse:Ve,appendResponse:me,getSignal:Re,getFullResponse:V,getThinkingContent:Fe,startNewIteration:yt,clearIterationHistory:Gt,startCompacting:Xe,stopCompacting:_t,setMaxIter:Qt,addPendingInput:Xn,removeLastPendingInput:pn,shiftPendingInput:L,consumePendingInputs:G}=fc(),[W,ee]=je(!1),[B,Ae]=je(t),ve=we(()=>Yo({provider:B.provider,model:B.model,effort:B.effort,effortOverride:B.effortOverride,permissionMode:B.permissionMode,planModeEffort:B.planModeEffort,thinking:B.thinking,reasoningMode:B.reasoningMode}),[B.provider,B.model,B.effort,B.effortOverride,B.permissionMode,B.planModeEffort,B.thinking,B.reasoningMode]),ke=ve.configuredEffort,At=ve.runtimeEffort,Vt=we(()=>({...B,effort:ke}),[B,ke]),mn=we(()=>C_(u,{provider:B.provider,model:B.model},Uo),[u,B.provider,B.model]),[oi,Dt]=je(!0),[dr,tT]=je(!0),[md,hd]=je(0),[Qh,Kc]=je(!1),[nT,rT]=je(void 0),[iT,gd]=je([]),oT=Se(!1),Zh=q(()=>{oT.current=!0,gd(hv)},[]),[sT,fr]=je(null),zc=Se(!1),qP=we(()=>no(),[]),Xc=Se(null),yd=Se(null),eg=Se(Promise.resolve()),wd=Se(null),Lo=Se({requested:!1,uiHistoryOverride:void 0}),Ns=Se(null),Yc=Se(!1),qc=Se(null);Be(()=>{let f=e.learning;if(!f)return;let w=!0,S,I=o(async()=>{let F=await f.getSnapshot();return w&&rT(H=>H!==void 0&&H.revision>F.revision?H:F),F},"refresh"),R=o(F=>{ht({source:"repl:learning",level:"warn",message:"Failed to refresh the Learning Center snapshot.",detail:F instanceof Error?F.message:String(F)})},"reportRefreshFailure"),O=o(F=>{if(w){if(F.kind==="ready"||F.kind==="activated"||F.kind==="attention"){let H=F.kind==="ready"?"is ready for review":F.kind==="activated"?"became active":"requires attention";gd(te=>[{id:F.eventId,text:`A learned ${F.carrier} ${H}: ${F.displayName} [/learn]`,tone:F.kind==="activated"?"accent":"warning"},...te.filter(ie=>ie.id!==F.eventId)].slice(0,2))}I().catch(R)}},"onEvent");return I().then(F=>{if(!w)return;let H=Xf(F);if(H&&!oT.current){let te=F.attention>0||F.ready>0?"warning":"accent";gd(ie=>[{id:"learning-recovery",text:H,tone:te},...ie.filter(Ue=>Ue.id!=="learning-recovery")].slice(0,2))}S=f.subscribe(O,{afterRevision:F.revision})}).catch(R),()=>{w=!1,S?.close()}},[e.learning]);let[Jc,Sd]=je(!0),[tg,xd]=je(""),[ze,Ar]=je(()=>GE(qP,{rendererMode:a})),[Kt,ng]=je(!1),[JP,QP]=je(0),{scrollRef:ZP,scrollOffset:pr,sticky:rg,setScrollOffset:e$,handleScrollTopChange:t$,handleStickyChange:n$,scrollTo:Td,scrollBy:Cd,scrollToBottom:Id}=c_(),ig=Se(null),vd=Se(null),Qc=Se([]),bd=Se([]),Os=Se(null),mr=Se(null),aT=Se({time:0,row:-1,column:-1,count:0}),[Rd,og]=je(void 0),[si,sg]=je(void 0),[Ds,cT]=je(void 0),[Ln,r$]=je(()=>new Set),[ag,lT]=je(null),[an,uT]=je(null),[J,kd]=je(null),[dT,Bs]=je(null),[cg,fT]=je(null),Zc=Se(null),el=q(f=>{Zc.current=f,fT(f)},[]),tl=q(f=>{let w=f(Zc.current);Zc.current=w,fT(w)},[]),nl=q((f,w)=>{let S=Zc.current;return S?.status!=="running"||!wk(f,S.runId)?!1:(el({...S,message:w}),!0)},[el]),lg=q(f=>{if(f.status==="running"){el({runId:f.runId,workflow:f.workflow,status:f.status,...f.phase!==void 0?{phase:f.phase}:{},...f.phaseIndex!==void 0?{phaseIndex:f.phaseIndex}:{},...f.phaseTotal!==void 0?{phaseTotal:f.phaseTotal}:{},...f.startedAt!==void 0?{startedAt:f.startedAt}:{},...f.elapsedMs!==void 0?{elapsedMs:f.elapsedMs}:{},activeAgents:f.activeAgents,totalSpawned:f.totalSpawned,...f.plannedAgents!==void 0?{plannedAgents:f.plannedAgents}:{},...f.agentCap!==void 0?{agentCap:f.agentCap}:{},...f.tokenBudgetSpent!==void 0?{tokenBudgetSpent:f.tokenBudgetSpent}:{},...f.tokenBudgetTotal!==void 0?{tokenBudgetTotal:f.tokenBudgetTotal}:{},completedAgents:f.completedAgents,failedAgents:f.failedAgents,stoppedAgents:f.stoppedAgents,...f.message!==void 0?{message:f.message}:{},...f.locale!==void 0?{locale:f.locale}:{}});return}tl(w=>w?.runId===f.runId?null:w)},[el,tl]),i$=q(f=>{let w=f.type==="workflow_updated"?f.message:void 0,S=Bl(f.snapshot.goal,f.snapshot.workflowName,f.snapshot.displayName,f.snapshot.latestMessage,w);lg(bv(f.snapshot,w===void 0?{locale:S}:{locale:S,message:w}))},[lg]),[Ed,ai]=je([]),Fs=we(()=>{for(let f of Ed)if(f.status==="in_progress"){if(f.activeForm&&f.activeForm.length>0)return f.activeForm;if(f.subject&&f.subject.length>0)return f.subject}},[Ed]),[uK,rl]=je([]),[il,o$]=je([]),[Md,kt]=je(void 0),[Po,ol]=je(void 0),mt=Se(null),_d=Se(null),$o=Se([]),Hs=Se([]),hn=Se([]),Ad=Se(!1),ug=Se(new Set),at=Se({}),vt=Se({activeToolGroupTools:[]}),pT=Se(0),Ld=Se({itemId:void 0,kind:"thinking",pendingText:""}),hr=Se(null),s$=80,a$=20,c$=Se(null),Pd=we(()=>[...E,...il],[E,il]),dg=we(()=>{let f=MR(Pd,c$);return f===0?Pd:Pd.slice(f)},[Pd]),$d=we(()=>_R(dg,a$),[dg]),Ws=dg,cn=Se(null),Lr=Se(null),Pr=Se([]),ln=Se([]),[No,l$]=je([]),ci=Se([]),[fg,u$]=je([]),sl=Se([]),Yn=q(f=>{ci.current=f,l$(f)},[]),js=q(f=>{sl.current=f,u$(f)},[]),pg=q(()=>{js([])},[js]),mT=q(f=>{if(!Pm(f))return!1;let w=Lw(f),S=sl.current.filter(I=>I.id!==w);return S.length===sl.current.length||js(S),!0},[js]),qn=q((f,w,S,I)=>{if(!Pm(f))return!1;let R=Lw(f),O=sl.current.find(Ge=>Ge.id===R);if(I?.skipIfExisting&&O?.kind===w||Ik(O?.kind,w))return!0;let F=I?.append&&O?.kind===w?`${O.detail}${S}`:S||O?.detail||"running",H={id:R,label:xk(f),source:Tk(f),status:"running",kind:w,detail:Aw(F),startedAt:O?.startedAt??Date.now()},te=sl.current,ie=te.findIndex(Ge=>Ge.id===R),Ue=ie>=0?te.map((Ge,rn)=>rn===ie?H:Ge):[...te,H].slice(0,i2);return js(Ue),!0},[js]),hT=q(f=>{$o.current=f,rl(f)},[]),Us=q(f=>{hn.current=f,o$(f)},[]),gT=q(f=>{let w=f([...hn.current]);Us(w)},[Us]),yT=q(f=>{f.length!==0&&Us([...hn.current,...f])},[Us]),Nd=q(f=>{let w=vt.current,S=w.activeToolGroupTools.some(I=>I.status===z.Executing);vt.current={...f?.clearOwner?{}:{workerId:w.workerId,workerTitle:w.workerTitle},...S?{activeToolGroupItemId:w.activeToolGroupItemId,activeToolGroupTools:w.activeToolGroupTools}:{activeToolGroupTools:[]}},f?.clearOwner&&(at.current={})},[]),Od=q(f=>{for(let w of f)w.type==="user"&&typeof w.id=="string"&&ug.current.add(w.id)},[]),al=q(()=>{Ld.current={itemId:void 0,kind:"thinking",pendingText:""},hr.current&&(clearTimeout(hr.current),hr.current=null);let f=vw(hn.current,ug.current);if(f.length>0){for(let w of f)ug.current.add(w.id);Ns.current?.(f.map(w=>vo(w)))}Nd({clearOwner:!0}),Us([])},[Nd,Us]),Dd=q(f=>(pT.current+=1,`managed-foreground-${f}-${pT.current}`),[]),Zt=q(f=>(yT([f]),f.id),[yT]),Pn=q((f,w)=>{at.current.workerId?Zt({id:`${w}-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:f.type,text:f.text,...f.icon?{icon:f.icon}:{},...f.tightSpacing?{tightSpacing:!0}:{},timestamp:Date.now()}):N(f)},[N,Zt]),wT=q((f,w)=>{let S=Date.now();at.current.workerId?Zt({id:`${w}-${S}-${Math.random().toString(36).slice(2,7)}`,type:"sidecar",text:f.text,...f.verdict?{verdict:f.verdict}:{},...f.delivery?{delivery:f.delivery}:{},timestamp:S}):N(f)},[N,Zt]),li=q((f,w)=>{if(!f)return;let S;return gT(I=>I.map(R=>R.id!==f?R:(S=w(R),S))),S},[gT]),Gs=q((f,w)=>{let S=vt.current;if(S.activeKind===f){if(f==="thinking"&&S.activeThinkingItemId)return S.activeThinkingItemId;if(f==="assistant"&&S.activeAssistantItemId)return S.activeAssistantItemId;if(f==="tool_group"&&S.activeToolGroupItemId)return S.activeToolGroupItemId}let I=Date.now(),R=w?.trim()?`[${w.trim()}] `:"",O=S.activeToolGroupTools.some(H=>H.status===z.Executing);if(f==="thinking"){let H=Zt({id:Dd("thinking"),type:"thinking",timestamp:I,text:R});return vt.current={...vt.current,activeKind:"thinking",activeThinkingItemId:H,currentTurnThinkingItemId:H,activeAssistantItemId:void 0,...O?{}:{activeToolGroupItemId:void 0,activeToolGroupTools:[]}},H}if(f==="assistant"){let H=Zt({id:Dd("assistant"),type:"assistant",timestamp:I,text:R});return vt.current={...vt.current,activeKind:"assistant",activeThinkingItemId:void 0,activeAssistantItemId:H,...O?{}:{activeToolGroupItemId:void 0,activeToolGroupTools:[]}},H}let F=Zt({id:Dd("tool_group"),type:"tool_group",timestamp:I,tools:[]});return vt.current={...vt.current,activeKind:"tool_group",activeThinkingItemId:void 0,activeAssistantItemId:void 0,activeToolGroupItemId:F,activeToolGroupTools:[]},F},[Zt,Dd]),gr=q(()=>{hr.current&&(clearTimeout(hr.current),hr.current=null);let f=Ld.current;if(!f.pendingText||!f.itemId)return;let w=f.pendingText,S=f.itemId,I=f.kind;f.pendingText="",li(S,R=>R.type!==I?R:{...R,text:`${R.text}${w}`})},[li]),ST=q(()=>{hr.current||(hr.current=setTimeout(gr,s$))},[gr]),Bd=q((f,w)=>{if(!w)return;let S=vt.current;if(f==="assistant"&&!l2(w,S.activeKind==="assistant"&&!!S.activeAssistantItemId))return;let I=S.workerTitle,R=Gs(f,I),O=Ld.current;O.itemId===R&&O.kind===f?O.pendingText+=w:(gr(),O.itemId=R,O.kind=f,O.pendingText=w),ST()},[Gs,gr,ST]),xT=q(f=>{let w=f.trim();if(!w)return;let S=Ld.current;S.kind==="thinking"&&S.pendingText&&(S.pendingText="",hr.current&&(clearTimeout(hr.current),hr.current=null));let I=vt.current.workerTitle?.trim(),R=I?`[${I}] ${w}`:w,O=vt.current.currentTurnThinkingItemId;if(O){li(O,H=>H.type==="thinking"?{...H,text:R}:H);return}let F=Gs("thinking",vt.current.workerTitle);li(F,H=>H.type==="thinking"?{...H,text:R}:H)},[Gs,li]),yr=q(f=>{gr();let w=vt.current;if(w.activeToolGroupItemId&&w.activeToolGroupTools.some(F=>F.id===f.id)){let F=w.activeToolGroupTools.map(te=>te.id===f.id?f:te),H=F.every(te=>te.status===z.Success||te.status===z.Error||te.status===z.Cancelled);vt.current={...w,...H?{activeToolGroupItemId:void 0,activeToolGroupTools:[]}:{activeToolGroupTools:F}},li(w.activeToolGroupItemId,te=>te.type==="tool_group"?{...te,tools:F}:te);return}let S=hn.current;for(let F=S.length-1;F>=0;F-=1){let H=S[F];if(H.type!=="tool_group"||!H.tools.some(ie=>ie.id===f.id))continue;let te=H.tools.map(ie=>ie.id===f.id?f:ie);li(H.id,ie=>ie.type==="tool_group"?{...ie,tools:te}:ie);return}let I=Gs("tool_group",w.workerTitle),O=w.activeKind==="tool_group"&&w.activeToolGroupItemId===I?w.activeToolGroupTools.some(F=>F.id===f.id)?w.activeToolGroupTools.map(F=>F.id===f.id?f:F):[...w.activeToolGroupTools,f]:[f];vt.current={...vt.current,activeKind:"tool_group",activeToolGroupItemId:I,activeToolGroupTools:O},li(I,F=>F.type==="tool_group"?{...F,tools:O}:F)},[Gs,li,gr]),d$=q(f=>{gr();let w=vt.current,S=w.activeToolGroupTools.some(O=>O.status===z.Executing),I=ci.current.filter(O=>O.status===z.Executing),R=new Set(I.map(O=>O.id));vt.current={workerId:f?.workerId,workerTitle:f?.workerTitle,...S?{activeToolGroupItemId:w.activeToolGroupItemId,activeToolGroupTools:w.activeToolGroupTools}:{activeToolGroupTools:[]}},at.current={workerId:f?.workerId,workerTitle:f?.workerTitle},Pr.current=[],ln.current=ln.current.filter(O=>R.has(O.id)),Yn(I),Ke(),Ie(void 0),Z(),se(),Ve(),kt(void 0)},[gr,Ke,Ve,se,Ie,Yn,kt,Z]),f$=q(f=>{if(f.length===0)return[];let w=[],S=[...$o.current],I=[...Hs.current];for(let R of f){let O=R.item,F=S.findIndex(H=>H.id===O.id);if(F>=0){let H=S[F];Vm(H,O)||(S=S.map((te,ie)=>ie===F?{...O,timestamp:H.timestamp}:te))}else S=[...S,O].slice(-12),w.push(O);if(R.persistToHistory){let H=I.findIndex(te=>te.id===O.id);if(H>=0){let te=I[H];Vm(te,O)||(I=I.map((ie,Ue)=>Ue===H?{...O,timestamp:te.timestamp}:ie))}else I=[...I,O].slice(-48)}}return Hs.current=I,(w.length>0||S.some((R,O)=>!Vm(R,$o.current[O]??R)||R.id!==$o.current[O]?.id))&&hT(S),w},[hT]),Fd=q(f=>{if(ln.current.findIndex(S=>S.id===f.id)===-1){ln.current=[...ln.current,f];return}ln.current=ln.current.map(S=>S.id===f.id?f:S)},[]),Wi=q(f=>{let w=ci.current.filter(S=>S.status===z.Executing);if(w.length!==0){if(f){let S=Gw(f);for(let I=w.length-1;I>=0;I-=1){let R=w[I];if(Gw(R.name)===S)return R}}return w[w.length-1]}},[]),Vs=q(()=>{let f=Wi();Ie(f?Uw(f.name):void 0)},[Wi,Ie]),TT=q(f=>(Fd(f),Yn([...ci.current.filter(w=>w.id!==f.id),f]),Vs(),f),[Yn,Vs,Fd]),Ks=q((f,w)=>{let S=ci.current.find(R=>R.id===f);if(!S)return null;let I=w(S);return Fd(I),Yn(ci.current.map(R=>R.id===f?I:R)),Vs(),I},[Yn,Vs,Fd]),CT=q((f,w,S)=>{if(f){let R=Ks(f,S);if(R)return R}let I=Wi(w);return I?Ks(I.id,S):null},[Wi,Ks]),Hd=q((f,w,S,I,R)=>{let O=f??Wi(R)?.id;return O?Ks(O,F=>({...F,status:w,endTime:Date.now(),error:S,output:I})):null},[Wi,Ks]),cl=q((f,w)=>{let S=Date.now(),I=new Map;for(let R of ci.current){if(R.status!==z.Executing)continue;let O=w(R);I.set(R.id,{...R,status:f,endTime:S,...O})}return I.size===0?[]:(ln.current=ln.current.map(R=>I.get(R.id)??R),Yn(ci.current.map(R=>I.get(R.id)??R)),Vs(),[...I.values()])},[Yn,Vs]),ji=q(()=>{Yn([])},[Yn]),{showHelp:IT,toggleHelp:p$,setShowHelp:vT}=Yw(),m$=q(f=>{xd(f),Sd(f.trim().length===0)},[]),Wd=po(),bT=we(()=>Wd?Wd.state.visible&&Wd.suggestions.length>0:!1,[Wd]),[ll,RT]=je(!1),kT=Se(md),Oo=q(()=>{cn.current&&(clearTimeout(cn.current),cn.current=null),Lr.current&&(clearTimeout(Lr.current),Lr.current=null)},[]);Be(()=>{bT&&!ll&&RT(!0)},[bT,ll]),Be(()=>{md!==kT.current&&(kT.current=md,ll&&RT(!1))},[md,ll]);let[Ye,ul]=je(null),ui=Se(null),h$=Se(dE()),[He,wr]=je(null),jd=Se(null),Ud=Se(He);Ud.current=He;let[gn,zs]=je(""),[Gd,Sr]=je(0),mg=Se(""),dl=Se(void 0),ET=we(()=>{if(!mn)return;let{contextWindow:f,triggerPercent:w,triggerTokens:S,reservedResponseTokens:I}=mn;return{currentTokens:sT??n.contextTokenSnapshot?.currentTokens??Go(n.messages),contextWindow:f,triggerPercent:w,triggerTokens:S,reservedResponseTokens:I}},[n.messages,n.contextTokenSnapshot,mn,sT]),fl=we(()=>{if(!Ye)return;let f=new Set(Ye.runtimeGrantSuggestions?.map(I=>I.kind)??[]);if(f.has("persistent"))return re("confirm.instruction.runtime_persistent");if(f.has("session"))return re("confirm.instruction.runtime_session");if(Ye.runtimeGrantSuggestions!==void 0)return re("confirm.instruction.basic");let w=!!Ye.input._alwaysConfirm,S=B.permissionMode==="accept-edits"&&!w;return w?re("confirm.instruction.protected"):S?re("confirm.instruction.always"):re("confirm.instruction.basic")},[Ye,B.permissionMode]),wt=ze.searchMode==="history",ue=ze.surface==="transcript",$r=!!Ye||!!He||wt,Bt=ue?Kt?SR:1e3:12,Ui=W_(c,ze.surface),MT=Ui.shellMode,hg=Ui.usesAlternateScreenShell,Do=Ui.usesRendererViewportShell,Vd=Ui.usesRendererMouseTracking,_T=Ui.usesManagedMouseClicks,AT=Ui.usesManagedMouseWheel,gg=Ui.usesManagedSelection,Ft=j_(c,ze.surface,eM(ze)),LT=tM(ze),Kd=ll&&!ue,PT=q(()=>ES({items:Ws,managedLiveEvents:[],isLoading:W,isThinking:j.isThinking,thinkingCharCount:j.thinkingCharCount,thinkingContent:j.thinkingContent,currentResponse:j.currentResponse,currentTool:j.currentTool,activeToolCalls:No,toolInputCharCount:j.toolInputCharCount,toolInputContent:j.toolInputContent,lastLiveActivityLabel:Md,workStripText:Po,iterationHistory:j.iterationHistory,currentIteration:j.currentIteration,isCompacting:j.isCompacting}),[Ws,W,j.isThinking,j.thinkingCharCount,j.thinkingContent,j.currentResponse,j.currentTool,No,j.toolInputCharCount,j.toolInputContent,Md,Po,j.iterationHistory,j.currentIteration,j.isCompacting]);Be(()=>{if(ue){lT(f=>f??PT());return}lT(null)},[PT,ue]);let pl=we(()=>D_({isTranscriptMode:ue,snapshot:ag,currentItemsLength:Ws.length,currentManagedLiveEventsLength:0,isLoading:W,currentResponse:j.currentResponse,thinkingContent:j.thinkingContent,activeToolCallsLength:No.length}),[No.length,W,ue,Ws.length,j.currentResponse,j.thinkingContent,ag]),en=ue?ag:null,yg=we(()=>F_($d),[$d]),g$=we(()=>!!(il.length>0||J_(J)),[il.length,J]),zd=il.length>0,un=c.streamingPreview&&g$,Xs=we(()=>B_({surface:"transcript",snapshot:en,promptItems:$d,transcriptItems:Ws}),[en,$d,Ws]),ml=we(()=>{if(!ue||Kt||Xs.length<=pw)return Xs;let f=Xs.slice(-pw),w=Xs.length-f.length;return[PR(w,f[0]?.timestamp),...f]},[Xs,ue,Kt]),St=en?.isLoading??W,ut=c.streamingPreview?{isThinking:un?!1:j.isThinking,thinkingCharCount:un?0:j.thinkingCharCount,thinkingContent:un?"":j.thinkingContent,currentResponse:un?"":j.currentResponse,currentTool:un?void 0:j.currentTool,activeToolCalls:un?[]:No,toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:un?Md:void 0,iterationHistory:[],currentIteration:j.currentIteration,isCompacting:!1}:{isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentResponse:"",currentTool:void 0,activeToolCalls:[],toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:void 0,iterationHistory:[],currentIteration:j.currentIteration,isCompacting:!1},Ee=c.streamingPreview?{isThinking:un?!1:en?.isThinking??j.isThinking,thinkingCharCount:un?0:en?.thinkingCharCount??j.thinkingCharCount,thinkingContent:un?"":en?.thinkingContent??j.thinkingContent,currentResponse:un?"":en?.currentResponse??j.currentResponse,currentTool:un?void 0:en?.currentTool??j.currentTool,activeToolCalls:un?[]:en?.activeToolCalls??No,toolInputCharCount:un?0:en?.toolInputCharCount??j.toolInputCharCount,toolInputContent:un?"":en?.toolInputContent??j.toolInputContent,managedLiveEvents:[],lastLiveActivityLabel:en?.lastLiveActivityLabel??Md,iterationHistory:un?[]:en?.iterationHistory??j.iterationHistory,currentIteration:en?.currentIteration??j.currentIteration,isCompacting:en?.isCompacting??j.isCompacting}:{isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentResponse:"",currentTool:void 0,activeToolCalls:[],toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:void 0,iterationHistory:[],currentIteration:en?.currentIteration??j.currentIteration,isCompacting:!1},di=ue?si:Rd,$T=!!Rd,NT=q(()=>ES({items:yg,managedLiveEvents:[],isLoading:W,isThinking:ut.isThinking,thinkingCharCount:ut.thinkingCharCount,thinkingContent:ut.thinkingContent,currentResponse:ut.currentResponse,currentTool:ut.currentTool,activeToolCalls:ut.activeToolCalls,toolInputCharCount:ut.toolInputCharCount,toolInputContent:ut.toolInputContent,lastLiveActivityLabel:ut.lastLiveActivityLabel,iterationHistory:ut.iterationHistory,currentIteration:ut.currentIteration,isCompacting:ut.isCompacting}),[W,yg,ut.activeToolCalls,ut.currentIteration,ut.currentResponse,ut.currentTool,ut.isCompacting,ut.isThinking,ut.iterationHistory,ut.lastLiveActivityLabel,ut.thinkingCharCount,ut.thinkingContent,ut.toolInputCharCount,ut.toolInputContent]);Be(()=>{if(!$T){uT(null);return}uT(f=>f??NT())},[NT,$T]);let hl=an?.items??yg,yn=an?.isLoading??W,De=an?{isThinking:an.isThinking,thinkingCharCount:an.thinkingCharCount,thinkingContent:an.thinkingContent,currentResponse:an.currentResponse,currentTool:an.currentTool,activeToolCalls:an.activeToolCalls,toolInputCharCount:an.toolInputCharCount,toolInputContent:an.toolInputContent,managedLiveEvents:an.managedLiveEvents,lastLiveActivityLabel:an.lastLiveActivityLabel,iterationHistory:an.iterationHistory,currentIteration:an.currentIteration,isCompacting:an.isCompacting}:ut,tn=ue?ml:hl,Nr=ue?St:yn,tt=ue?Ee:De,OT=yn&&!j.currentResponse&&!j.thinkingContent&&No.length===0,y$=fu(cg?.status==="running"),zt=we(()=>kv(cg,Date.now()),[cg,y$]),DT=zt.shouldRender?`Workflow ${zt.workflow}${zt.phase?` - ${zt.phase}`:""}`:void 0,fi=we(()=>cE(Ed,{now:Date.now(),lastAllCompletedAt:null}),[Ed]),BT=C<=20?1:_w,w$=fu(fg.length>0),wg=we(()=>vk(fg,BT,Date.now()),[BT,fg,w$]),FT=Sk({isTranscriptMode:ue,isLoading:W,hasWorkflowLiveSurface:zt.shouldRender,childActivityVisible:wg.shouldRender}),Ys=we(()=>{if(!ue)return[];let f=[];return f.push(...Rv(zt)),W&&fi.shouldRender&&f.push(...oE(fi)),f},[ue,W,fi,zt]),Bo=we(()=>({config:Vt,sessionId:n.sessionId,workingDir:e.context?.executionCwd||e.context?.gitRoot||n.runtimeInfo?.executionCwd||n.gitRoot||process.cwd(),terminalWidth:Q,compactionInfo:mn??void 0}),[mn,n.sessionId,Vt,n.runtimeInfo?.executionCwd,e.context?.gitRoot,e.context?.executionCwd,Q]),Gi=we(()=>c.enabled&&dr?w2(Bo):void 0,[Bo,c.enabled,dr]),HT=Se(vc),WT=Se(!1),Sg=Se(!1),qs=VM({enabled:S2,useRendererViewportShell:Do,isTranscriptMode:ue,hasCommitHandle:typeof ds(x)?.commitInlineScrollback=="function"}),gl=we(()=>sm({items:hl,viewportWidth:Q,maxLines:Bt,showDetailedTools:!1,showAllContent:!1,windowed:!1}),[hl,Q,Bt]),Fo=we(()=>{let f=am({activeItems:gl.activeItems,viewportWidth:Q,isLoading:yn,maxLines:Bt,isThinking:De.isThinking,thinkingCharCount:De.thinkingCharCount,thinkingContent:De.thinkingContent,streamingResponse:De.currentResponse,currentTool:De.currentTool,activeToolCalls:De.activeToolCalls,toolInputCharCount:De.toolInputCharCount,toolInputContent:De.toolInputContent,iterationHistory:De.iterationHistory,currentIteration:De.currentIteration,isCompacting:De.isCompacting,managedAgentMode:B.agentMode,managedPhase:yn?J?.phase:void 0,managedHarnessProfile:yn?J?.harnessProfile:void 0,managedWorkerTitle:yn?J?.activeWorkerTitle:void 0,managedRound:yn?J?.currentRound:void 0,managedMaxRounds:yn?J?.maxRounds:void 0,managedGlobalWorkBudget:yn?J?.globalWorkBudget:void 0,managedBudgetUsage:yn?J?.budgetUsage:void 0,managedBudgetApprovalRequired:yn?J?.budgetApprovalRequired:void 0,lastLiveActivityLabel:De.lastLiveActivityLabel,currentTodoActiveForm:Fs,showFullThinking:!1,showDetailedTools:!1,showAllContent:!1,showLiveProgressRows:OT}),w=vR(gl,f,Gi);return XM(w,qs)},[B.agentMode,qs,yn,De.activeToolCalls,De.currentIteration,De.currentTool,De.isCompacting,De.currentResponse,De.isThinking,De.iterationHistory,De.lastLiveActivityLabel,De.thinkingCharCount,De.thinkingContent,De.toolInputCharCount,De.toolInputContent,J?.activeWorkerTitle,J?.budgetApprovalRequired,J?.budgetUsage,J?.currentRound,J?.globalWorkBudget,J?.harnessProfile,J?.maxRounds,J?.phase,OT,gl,Gi,Q,Bt,Fs]),xg=we(()=>sm({items:ml,viewportWidth:Q,maxLines:Bt,showDetailedTools:Kt,showAllContent:Kt,showFullThinking:!0,windowed:!1}),[ml,Q,Bt,Kt]),Xd=we(()=>{if(!ue||Do)return;let f=am({activeItems:xg.activeItems,viewportWidth:Q,isLoading:St,maxLines:Bt,isThinking:Ee.isThinking,thinkingCharCount:Ee.thinkingCharCount,thinkingContent:Ee.thinkingContent,streamingResponse:Ee.currentResponse,currentTool:Ee.currentTool,activeToolCalls:Ee.activeToolCalls,toolInputCharCount:Ee.toolInputCharCount,toolInputContent:Ee.toolInputContent,iterationHistory:Ee.iterationHistory,currentIteration:Ee.currentIteration,isCompacting:Ee.isCompacting,managedAgentMode:B.agentMode,managedPhase:St?J?.phase:void 0,managedHarnessProfile:St?J?.harnessProfile:void 0,managedWorkerTitle:St?J?.activeWorkerTitle:void 0,managedRound:St?J?.currentRound:void 0,managedMaxRounds:St?J?.maxRounds:void 0,managedGlobalWorkBudget:St?J?.globalWorkBudget:void 0,managedBudgetUsage:St?J?.budgetUsage:void 0,managedBudgetApprovalRequired:St?J?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Ee.lastLiveActivityLabel,liveStatusLines:Ys,currentTodoActiveForm:Fs,showFullThinking:!0,showDetailedTools:Kt,showAllContent:Kt,showLiveProgressRows:!zd,expandedItemKeys:Ln});return eA(fw(cm(xg,f)),Gi)},[B.agentMode,Ln,zd,Gi,ue,J?.activeWorkerTitle,J?.budgetApprovalRequired,J?.budgetUsage,J?.currentRound,J?.globalWorkBudget,J?.harnessProfile,J?.maxRounds,J?.phase,Q,St,Bt,xg,Ee.activeToolCalls,Ee.currentIteration,Ee.currentResponse,Ee.currentTool,Ee.isCompacting,Ee.isThinking,Ee.iterationHistory,Ee.lastLiveActivityLabel,Ee.thinkingCharCount,Ee.thinkingContent,Ee.toolInputCharCount,Ee.toolInputContent,Kt,Ys,Do,Fs]),yl=we(()=>{if(Ft)return ue?eA(lm({items:tn,viewportWidth:Q,isLoading:Nr,maxLines:Bt,isThinking:tt.isThinking,thinkingCharCount:tt.thinkingCharCount,thinkingContent:tt.thinkingContent,streamingResponse:tt.currentResponse,currentTool:tt.currentTool,activeToolCalls:tt.activeToolCalls,toolInputCharCount:tt.toolInputCharCount,toolInputContent:tt.toolInputContent,iterationHistory:tt.iterationHistory,currentIteration:tt.currentIteration,isCompacting:tt.isCompacting,managedAgentMode:B.agentMode,managedPhase:Nr?J?.phase:void 0,managedHarnessProfile:Nr?J?.harnessProfile:void 0,managedWorkerTitle:Nr?J?.activeWorkerTitle:void 0,managedRound:Nr?J?.currentRound:void 0,managedMaxRounds:Nr?J?.maxRounds:void 0,managedGlobalWorkBudget:Nr?J?.globalWorkBudget:void 0,managedBudgetUsage:Nr?J?.budgetUsage:void 0,managedBudgetApprovalRequired:Nr?J?.budgetApprovalRequired:void 0,lastLiveActivityLabel:tt.lastLiveActivityLabel,liveStatusLines:Ys,currentTodoActiveForm:Fs,windowed:!0,showFullThinking:ue,showDetailedTools:Kt,showAllContent:Kt,showLiveProgressRows:ue&&!zd,expandedItemKeys:ue?Ln:void 0}),Gi):fw(Fo)},[B.agentMode,Nr,tn,zd,Gi,tt.activeToolCalls,tt.currentIteration,tt.currentResponse,tt.currentTool,tt.isCompacting,tt.isThinking,tt.iterationHistory,tt.lastLiveActivityLabel,tt.thinkingCharCount,tt.thinkingContent,tt.toolInputCharCount,tt.toolInputContent,Ln,ue,J?.activeWorkerTitle,J?.budgetApprovalRequired,J?.budgetUsage,J?.currentRound,J?.globalWorkBudget,J?.harnessProfile,J?.maxRounds,J?.phase,Fo,W,ue,Q,Bt,Ft,Ys,Kt,Fs]),Or=we(()=>yl??Xd,[yl,Xd]),wl=we(()=>kS({status:J,isLoading:W,agentMode:B.agentMode}),[B.agentMode,W,J]).workStripText,Sl=en?.workStripText??Po,Js=we(()=>kS({status:J,isLoading:W,agentMode:B.agentMode,parallelTextOverride:Sl}),[B.agentMode,Sl,W,J]),Ho=we(()=>e_(tn).filter(f=>f!==um),[tn]),ct=we(()=>Qm(ze,Ho,ze.selectedItemId),[Ho,ze]),$n=we(()=>tn.find(f=>f.id===ct),[tn,ct]),jT=we(()=>({...ze,supportsSelection:ze.supportsSelection&&Ft,supportsCopyOnSelect:ze.supportsCopyOnSelect&&Ft}),[ze,Ft]),Jn=we(()=>v_({state:jT,selectableItemIds:Ho,selectedItemId:ct,selectedItemType:$n?.type,isExpanded:ct?Ln.has(ct):!1}),[Ln,Ho,$n?.type,ct,jT]),UT=Jn.selectionEnabled,GT=Jn.copyCapabilities.copyOnSelect,pK=Jn.selectedItemIndex,VT=we(()=>ZM($n),[$n]),Yd=we(()=>YM(tn.filter(f=>!hw(f))),[tn]),Xt=we(()=>qM(Yd,gn),[Yd,gn]),qd=we(()=>k_({isHistorySearchActive:wt,historySearchQuery:gn,matches:Xt,selectedIndex:Gd,anchorItemId:ze.searchAnchorItemId,useOverlaySurface:ze.supportsOverlaySurface&&ze.supportsSearchViewport&&Ft}),[Xt,gn,Gd,wt,ze.searchAnchorItemId,ze.supportsOverlaySurface,ze.supportsSearchViewport,Ft]),Vi=qd.clampedSelectedIndex,KT=qd.statusText,Tg=qd.detailText,zT=qd.searchState,mK=Jn.detailState==="expanded",Jd=Jn.selectionEnabled&&Ho.length>0&&!di,Qs=Jn.copyCapabilities.message,Qd=Jn.copyCapabilities.toolInput,Zd=Jn.toggleDetail;Be(()=>{if(wl){if(Lr.current&&(clearTimeout(Lr.current),Lr.current=null),Po===wl)return;if(Po){cn.current&&(clearTimeout(cn.current),cn.current=null),ol(wl);return}cn.current&&clearTimeout(cn.current),cn.current=setTimeout(()=>{ol(wl),cn.current=null},400);return}if(!Po){cn.current&&(clearTimeout(cn.current),cn.current=null);return}cn.current&&(clearTimeout(cn.current),cn.current=null),Lr.current&&clearTimeout(Lr.current),Lr.current=setTimeout(()=>{ol(void 0),Lr.current=null},300)},[Oo,wl,Po]),Be(()=>()=>{Oo()},[Oo]);let Ki=we(()=>i_({state:ze,ownsViewport:Ft,isAwaitingUserInteraction:$r,isHistorySearchActive:wt,isTranscriptMode:ue,historySearchQuery:gn}),[gn,$r,wt,ue,ze,Ft]);Be(()=>{Ar(f=>{let w=XE(f,pr);return w=zE(w,pl),w=qE(w,c.enabled&&Ft?!rg||wt||$r:ue||wt||$r),w=ZE(w,Vi),w})},[Vi,c.enabled,pr,$r,wt,ue,pl,Ft,rg]),Be(()=>{Gd!==Vi&&Sr(Vi)},[Vi,Gd]),Be(()=>{if(!wt){mg.current=gn;return}if(gn===mg.current)return;mg.current=gn;let f=QM(Yd,Xt,ze.searchAnchorItemId);Sr(f)},[Xt,gn,wt,ze.searchAnchorItemId,Yd]);let XT=ue?Ee:{isThinking:De.isThinking,thinkingCharCount:De.thinkingCharCount,currentTool:De.currentTool,activeToolCalls:De.activeToolCalls,toolInputCharCount:De.toolInputCharCount,toolInputContent:De.toolInputContent,currentIteration:De.currentIteration,isCompacting:De.isCompacting},xl=ue?St:yn,[Cg,Qn]=je(()=>Is(B.permissionMode,e.runtimeAutoModeControl?void 0:d.getGuardrail().getEngine(),s.engine));Be(()=>{if(!e.runtimeAutoModeControl){Cr(B.permissionMode)||Qn(void 0);return}if(!Cr(B.permissionMode)){Qn(void 0),e.runtimeAutoModeControl.syncSettings?.(n.sessionId,B.permissionMode,s);return}Qn(I=>Is(B.permissionMode,I,s.engine));let f=!0;o(async()=>{let I=await e.runtimeAutoModeControl?.syncSettings?.(n.sessionId,B.permissionMode,s)??await e.runtimeAutoModeControl?.getStats(n.sessionId);f&&Qn(Is(B.permissionMode,I?.engine,s.engine))},"refresh")();let S=e.runtimeAutoModeControl.subscribe?.(n.sessionId,I=>{f&&Qn(Is(B.permissionMode,I?.engine,s.engine))});return()=>{f=!1,S?.close()}},[s,n.sessionId,B.permissionMode,e.runtimeAutoModeControl]);let ef=we(()=>I_({sessionId:n.sessionId,permissionMode:B.permissionMode,agentMode:B.agentMode,provider:B.provider,model:B.model??Hr(B.provider)??B.provider,thinking:B.thinking,reasoningMode:B.reasoningMode,effort:ke,reasoningEffortLabel:Qi({provider:B.provider,model:B.model,effort:ke,effortOverride:B.effortOverride,thinking:B.thinking,reasoningMode:B.reasoningMode}),isTranscriptMode:ue,streamingState:XT,maxIter:j.maxIter,contextUsage:ET,learning:nT,isLoading:xl,managedState:{phase:J?.phase,harnessProfile:J?.harnessProfile,workerTitle:J?.activeWorkerTitle,round:J?.currentRound,maxRounds:J?.maxRounds,globalWorkBudget:J?.globalWorkBudget,budgetUsage:J?.budgetUsage,budgetApprovalRequired:J?.budgetApprovalRequired,idleWaiting:J?.idleWaiting,idleWaitingPendingCount:J?.idleWaitingPendingCount},autoModeEngine:Cg}),[n.sessionId,B.permissionMode,B.agentMode,B.provider,B.model,B.thinking,B.reasoningMode,B.effortOverride,ke,ue,XT,j.maxIter,ET,nT,xl,J?.phase,J?.harnessProfile,J?.activeWorkerTitle,J?.currentRound,J?.maxRounds,J?.globalWorkBudget,J?.budgetUsage,J?.budgetApprovalRequired,J?.idleWaiting,J?.idleWaitingPendingCount,Cg]),Ig=Ye?"confirm":He?.kind,YT=we(()=>T_({isTranscriptMode:ue,isLoading:xl,streamingState:De,managedState:xl?{phase:J?.phase,harnessProfile:J?.harnessProfile,workerTitle:J?.activeWorkerTitle}:void 0,waitingReason:Ig,workflowBuilderMessage:dT??void 0,backgroundWorkflowMessage:DT}),[De.activeToolCalls,De.currentTool,De.isCompacting,De.isThinking,De.thinkingCharCount,De.toolInputCharCount,De.toolInputContent,ue,J?.activeWorkerTitle,J?.harnessProfile,J?.phase,Ig,xl,dT,DT]),pi=S_({activity:YT})?YT:void 0,qT=pi?.text,JT=!!pi,QT=Se(!1);Be(()=>{QT.current&&!W&&ai(f=>f.length>0?[]:f),QT.current=W},[W]);let vg=we(()=>hm(ef),[ef]),ZT=we(()=>vg,[vg]),eC=ZT.text,S$=we(()=>dk(j.pendingInputs),[j.pendingInputs]),bg=we(()=>lE({isHistorySearchActive:wt,isTranscriptMode:ue,pendingInputCount:j.pendingInputs.length,buffering:ze.buffering,pendingLiveUpdates:pl}),[wt,ue,pl,j.pendingInputs.length,ze.buffering]),tC=bg.leftItems,nC=bg.rightItems,rC=bg.summary,tf=we(()=>M_({historySearchQuery:gn,pendingInputCount:j.pendingInputs.length}),[gn,j.pendingInputs.length]),nf=we(()=>[...E_({historySearchQuery:gn,isHistorySearchActive:wt,historySearchMatchCount:Xt.length,pendingInputCount:j.pendingInputs.length,maxPendingInputs:5}),...iT],[Xt.length,gn,wt,iT,j.pendingInputs.length]),iC=we(()=>nf.map(f=>f.text).join(" | "),[nf]),rf=we(()=>__({inputText:tg,isTranscriptMode:ue,isHistorySearchActive:wt}),[tg,wt,ue]),oC=ze.supportsOverlaySurface&&ze.supportsSearchViewport&&Ft,of=we(()=>b_({runtime:Jn,itemSummary:VT}),[VT,Jn]),Rg=we(()=>A_(tf),[tf]),sC=we(()=>L_({textSelection:di,selectionState:of,isHistorySearchActive:wt,historySearchDetailText:Tg,historySearchHasMatches:!!KT&&Xt.length>0,showAllActive:Kt,baseFooterNotices:tf}),[di,tf,Tg,Xt.length,KT,wt,Kt,of]),x$=sC.secondaryText,T$=sC.budgetNotices,aC=ue?T$:Rg,cC=C,lC=ue?"":tg,uC=ue?void 0:S$,dC=Sl,fC=ue?!1:IT,pC=zt.shouldRender?tE(zt):0,mC=W&&fi.shouldRender?fi.rows.length:0,hC=FT?$m(wg):0,nn=we(()=>UE({terminalRows:cC,terminalWidth:Q,windowedTranscript:Do,inputText:lC,footerHeaderText:rC,activitySummary:ue?void 0:qT,activityBarVisible:ue?!1:JT,workflowSurfaceRows:ue?0:pC,childActivitySurfaceRows:ue?0:hC,todoSurfaceRows:ue?0:mC,pendingInputSummary:uC,stashNoticeSummary:rf,notificationSummary:iC,statusNoticeSummary:aC.join(" | "),workStripText:dC,suggestionsReserved:Kd,suggestionsMode:"inline",showHelp:fC,statusBarText:eC,confirmPrompt:Ye?.prompt,confirmInstruction:fl,dialogMode:"inline",reviewHint:c.enabled&&Ft?void 0:Ki.browseHintText,uiRequest:He?He.kind==="select"?{kind:"select",title:He.title,options:He.options.map(f=>({label:f.label,description:f.description})),buffer:He.buffer,error:He.error}:{kind:"input",prompt:He.prompt,defaultValue:He.defaultValue,buffer:He.buffer,error:He.error}:null}),[cC,Q,lC,rC,qT,JT,ue,pC,hC,mC,uC,rf,iC,aC,dC,Kd,oC,fC,eC,Ye,fl,c.enabled,Ki.browseHintText,Ft,He]),kg=we(()=>{if(!qs)return{model:Fo,committedSections:[]};let{committedSections:f,liveRows:w}=bR(gl.staticSections,Fo.rows,Fo.previewRows,nn.messageRows);return{model:{...Fo,staticSections:[],rows:w,previewRows:[]},committedSections:f}},[qs,Fo,gl.staticSections,nn.messageRows]),gC=kg.model;Be(()=>{let f=ds(x),w=typeof f?.commitInlineScrollback=="function",S=KM({active:qs,hasCommitHandle:w,wasActive:WT.current,forceRebuild:Sg.current,prior:HT.current,finalizedSections:kg.committedSections,bannerSection:Gi,width:Q,identify:RR}),I=!1,R=!1;if(S.kind==="commit"){let F=S.sections.flatMap(te=>te.rows),H=GM(F.length>0?[{key:"il-delta",rows:F}]:[],{width:Q,theme:ae("dark")});if(R=H.length>0,S.mode==="append"&&!H)tA("empty-append-text");else try{f?.commitInlineScrollback?.({mode:S.mode,text:H}),I=!0}catch(te){tA("commit-threw",te)}}let O=zM(S,{committed:I,hadContent:R},Sg.current);HT.current=O.state,WT.current=O.wasActive,Sg.current=O.owns},[qs,kg.committedSections,Gi,Q,x]);let C$=we(()=>fe(Mm,{reserveSpace:Kd,width:Q,hidden:ue,mode:"inline"}),[Kd,Q,ue,oC]),Tl=we(()=>o_(nn.messageRows),[nn.messageRows]),yC=we(()=>s_(Tl),[Tl]),Zs=!LT&&c.transcriptSpinnerAnimation,Cl=Or?Or.rows.length+Or.previewRows.length:JP,sf=q(f=>{Or||QP(f.scrollHeight)},[Or]),Il=q(f=>f_({window:f,stickyHeader:Ki.stickyHeader,width:Q,topChromeRows:0}),[Q,Ki.stickyHeader]),ea=q((f=Qc.current,w=bd.current,S=ig.current?Il(ig.current):vd.current)=>{if(!S||f.length===0){Os.current=null;return}vd.current=S,Os.current=p_(f,{allRows:w,rowIndexByKey:TS(w),topOffsetRows:S.topOffsetRows,viewportHeight:S.contentWindow.viewportHeight,animateSpinners:Zs})},[Il,Zs]),vl=q(()=>{let f=vd.current;return f?.contentWindow.viewportHeight&&f.contentWindow.viewportHeight>0?f.contentWindow.viewportHeight:nn.messageRows},[nn.messageRows]),I$=q(f=>{ig.current=f;let w=Il(f);vd.current=w,ea(Qc.current,bd.current,w)},[ea,Il]),af=q(f=>{Qc.current=f.rows,bd.current=f.allRows,ea(f.rows,f.allRows)},[ea]),dn=q(()=>{mr.current=null,og(void 0),sg(void 0)},[]),Eg=q(()=>{dn(),Ar(f=>Ic(f,void 0))},[dn]);Be(()=>{ea()},[ea]),Be(()=>{e$(f=>a_(f,Cl,nn.messageRows))},[Cl,nn.messageRows]),Be(()=>{if(!Ds)return;let f=setTimeout(()=>{cT(void 0)},2e3);return()=>{clearTimeout(f)}},[Ds]);let Nn=q((f,w="success")=>{let S=f?.trim();S&&cT({text:S,tone:w})},[]);Be(()=>e.subscribeTransientNotices?.(f=>{Nn(f.text,f.tone)}),[e.subscribeTransientNotices,Nn]);let v$=q(f=>{Nn(f,"warning")},[Nn]),ta=q((f,w)=>{let S=w instanceof Error?w.message:String(w);return`${f}: ${S}`},[]),cf=q(async f=>{let w=f??di;if(!w)return!1;let S=w.text.trimEnd();if(!S)return!1;try{return await Dl(S,{terminalWrite:k}),Nn(`Copied ${w.rowCount} selected line${w.rowCount===1?"":"s"} to clipboard.`,"success"),!0}catch(I){return Nn(ta("Failed to copy transcript selection",I),"warning"),!1}},[di,ta,Nn,k]),na=q(f=>{if(!f||l_({items:tn,renderModel:Or,terminalWidth:Q,transcriptMaxLines:Bt,viewportRows:vl(),itemId:f,visibleRows:Qc.current,expandedItemKeys:Ln,showDetailedTools:!1}))return;let w=u_({items:tn,renderModel:Or,terminalWidth:Q,transcriptMaxLines:Bt,viewportRows:vl(),itemId:f,expandedItemKeys:Ln,showDetailedTools:!1});Td(w)},[tn,Q,Bt,Or,Ln,vl,Td,Qc]),wC=q(f=>{Ar(w=>Ic(w,f)),f&&na(f)},[na]),Mg=q(f=>{f&&na(f)},[na]),SC=q(f=>{if(!Jd)return;let w=t_(Ho,ct,f);w&&wC(w)},[Jd,Ho,ct,wC]),xC=q(()=>{!Zd||!ct||(r$(f=>{let w=new Set(f);return w.has(ct)?w.delete(ct):w.add(ct),w}),na(ct))},[na,Zd,ct]),TC=q(async()=>{if(!Qs||!$n)return;let f=xS($n);if(f)try{await Dl(f,{terminalWrite:k}),Nn("Copied selected transcript entry to clipboard.","success")}catch(w){Nn(ta("Failed to copy transcript entry",w),"warning")}},[ta,Qs,$n,Nn,k]),CC=q(async()=>{if(!Qd||!$n)return;let f=n_($n);if(f)try{await Dl(f,{terminalWrite:k}),Nn("Copied selected tool args to clipboard.","success")}catch(w){Nn(ta("Failed to copy tool args",w),"warning")}},[ta,Qd,$n,Nn,k]),bl=q(()=>bd.current,[]),IC=q((f,w)=>{if(!c.enabled||!Ft)return;let S=Os.current;return S?IS(S,f,w):void 0},[c.enabled,Ft]),ra=q((f,w,S)=>{let I=bl(),R=g_(I,f,w,{animateSpinners:Zs,selectFullRowOnCollapsed:S?.selectFullRowOnCollapsed});ue?sg(R):og(R);let O=I[Math.max(0,Math.min(w.modelRowIndex,I.length-1))];return S?.updateSelectedItem&&O?.itemId&&Ar(F=>Ic(F,O.itemId)),R},[ue,bl,Zs]),vC=q((f,w)=>{if(!f)return;mr.current=null;let S={...f,focus:w?.focusPoint??f.focus};if(!(S.mode!=="char"||S.didDrag)){dn();return}let R=ra(S.anchor,S.focus,{selectFullRowOnCollapsed:!1,updateSelectedItem:!1});if(!R){dn();return}return w?.copySelection!==!1&&cf(R),R},[dn,cf,ra]),_g=q(()=>{if(!ue||!tn.length||Ye||He)return;dn();let f=d_({items:tn,selectedItemId:ct,renderModel:Or,terminalWidth:Q,transcriptMaxLines:Bt,viewportRows:vl(),scrollOffset:pr,expandedItemKeys:Ln,showDetailedTools:!1,preferViewportAnchor:!0});Ar(w=>JE(w,{anchorItemId:f,initialMatchIndex:0})),zs(""),Sr(0)},[Ye,tn,Ln,pr,ue,ct,Or,Q,Bt,He,vl,dn]),Ag=q(()=>{Ar(f=>QE(f)),zs(""),Sr(0),dn()},[dn]),lf=q(()=>{!wt||Xt.length===0||Sr(-1)},[Xt.length,wt]),bC=we(()=>{if(!Ye)return null;if(Ye.tool==="exit_plan_mode"){let f=typeof Ye.input.plan=="string"?Ye.input.plan:void 0;return{prompt:Ye.prompt.split(`
|
|
141
141
|
`,1)[0]??Ye.prompt,instruction:fl,planContent:f}}return{prompt:Ye.prompt,instruction:fl}},[fl,Ye]),RC=we(()=>He?He.kind==="select"?{kind:"select",title:He.title,options:He.options,buffer:He.buffer,error:He.error,visibleSelectOptions:nn.visibleSelectOptions,focusedIndex:He.focusedIndex,selectedIndices:He.selectedIndices,multiSelect:He.multiSelect}:{kind:"input",prompt:He.prompt,defaultValue:He.defaultValue,buffer:He.buffer,error:He.error}:null,[He,nn.visibleSelectOptions]),b$=we(()=>fe(_m,{confirm:bC,request:RC}),[bC,RC]),Lg=we(()=>{if(Ds)return fe(Qk,{text:Ds.text,tone:Ds.tone})},[Ds]),Pg=we(()=>{if(Lg)return fe(M,{flexDirection:"column",width:"100%",children:Lg})},[Lg]),uf=q(()=>{Ar(f=>YE(KE(f))),ng(!1),Id(),zs(""),Sr(0),dn()},[dn,Id]),kC=q(()=>{ue&&ng(f=>!f)},[ue]),R$=q(()=>{if(ue){uf();return}ng(!1),Ar(f=>VE(f)),zs(""),Sr(0),dn()},[dn,uf,ue]);Be(()=>{UT||!ze.selectedItemId||Ar(f=>Ic(f,void 0))},[UT,ze.selectedItemId]),Be(()=>{if(!ue||!Qs||!GT){dl.current=void 0;return}if(si||!ct||!$n)return;if(!dl.current){dl.current=ct;return}if(dl.current===ct)return;dl.current=ct;let f=xS($n);f&&Dl(f,{terminalWrite:k}).catch(()=>{})},[ue,$n,ct,Qs,GT,si,k]),Be(()=>{if(x?.isTTY!==!0)return;let f=ds(x);f?.setShellMode?.(MT,Vd),hg||f?.setAltScreenActive?.(!1)},[MT,x,hg,Vd]);let k$=we(()=>uE(i,()=>eg.current),[i]),Ne=Se({...e,thinking:B.thinking,reasoningMode:B.reasoningMode,effort:At,agentMode:B.agentMode,workflowRunsBaseDir:Yi("workflow-runs",Jo(process.cwd()).key),context:{...e.context,gitRoot:n.gitRoot??void 0,executionCwd:n.runtimeInfo?.executionCwd??n.gitRoot??process.cwd(),repoIntelligenceMode:B.repoIntelligenceMode,repoIntelligenceTrace:B.repoIntelligenceTrace,toolConstructionMode:!0},session:{...e.session,id:n.sessionId,storage:k$,persistedByHost:!0},guardrails:e.runtimeRunner?void 0:AS(B.permissionMode,d)});Be(()=>{Ne.current.effort=At},[At]);let Rl=q(f=>{let w=f.workspaceRoot??void 0;n.runtimeInfo=f,n.gitRoot=w,Ne.current.context={...Ne.current.context,gitRoot:w,executionCwd:f.executionCwd??w??process.cwd()}},[n]),On=Se(B.permissionMode),EC=Se(0);Be(()=>{On.current=B.permissionMode},[B.permissionMode]);let E$=we(()=>_a(),[]),MC=Se(E$),bt=Se(B);Be(()=>{bt.current=B},[B]);let $g=Se(null);$g.current===null&&($g.current=Df({getProvider:o(()=>Uo(bt.current.provider),"getProvider"),getModel:o(()=>bt.current.model??"","getModel")}));let _C=Se(Wf());Be(()=>{B.permissionMode==="auto-in-project"&&_C.current()},[]);let Ng=q(async f=>{let w=++EC.current;Ae(R=>({...R,permissionMode:f})),On.current=f,Qn(Is(f,void 0,s.engine));let S=await e.runtimeAutoModeControl?.syncSettings?.(n.sessionId,f,s);if(w!==EC.current)return;let I=Yo({provider:bt.current.provider,model:bt.current.model,effort:bt.current.effort,effortOverride:bt.current.effortOverride,permissionMode:f,planModeEffort:bt.current.planModeEffort,thinking:bt.current.thinking,reasoningMode:bt.current.reasoningMode});if(Ne.current={...Ne.current,effort:I.runtimeEffort,guardrails:e.runtimeRunner?void 0:AS(f,d)},!Cr(f))Qn(void 0);else if(e.runtimeAutoModeControl){let R=S??await e.runtimeAutoModeControl.getStats(n.sessionId);Qn(Is(f,R?.engine,s.engine))}else Qn(d.getGuardrail().getEngine());f==="auto-in-project"&&_C.current()},[d,s,n.sessionId,e.runtimeAutoModeControl,e.runtimeRunner]),AC=Se(j.pendingInputs),lt=Se(!1),LC=Se(0),Og=Se(null),kl=Se(0),df=q(()=>{if(Yc.current)return;let f=_d.current?.trim(),w=y.current.length>0?y.current[y.current.length-1]:void 0,S=w&&"text"in w&&typeof w.text=="string"?w.text.trim():void 0,R=hn.current.length>0?[...hn.current.map(O=>vo(O)),...f&&f!==S?[{type:"info",text:f}]:[]]:[...hn.current.map(O=>vo(O)),...u2(Fe(),V(),{toolCalls:ln.current,toolNames:Pr.current,infoItems:f&&f!==S?[f]:[]})];R.length!==0&&(Yc.current=!0,Od(hn.current),Ns.current?.(R))},[V,Fe,Od]);Be(()=>{AC.current=j.pendingInputs},[j.pendingInputs]);let PC=q(()=>{lt.current=!0,_e(),he(),Z(),se(),Ke(),Ve(),Ie(void 0),ji(),kt(void 0),al(),$o.current=[],Hs.current=[],mt.current=null,_d.current=null,rl([]),kd(null),Bs(null),Oo(),ol(void 0),ee(!1),x?.isTTY===!0&&ds(x)?.clear?.()},[_e,Ve,se,Ke,Oo,ji,al,Ie,rl,ee,kt,he,Z,x]),ff=q(f=>{let w=fI(),S=w.list().filter(R=>R.status==="running"||R.status==="paused");if(S.length===0)return!1;for(let R of S)w.stop(R.runId,f);tl(R=>!R||R.status!=="running"||!S.some(O=>O.runId===R.runId)?R:{...R,status:"stopped",activeAgents:[],message:"Workflow stopped by user."});let I=S[0];return S.length===1&&I?Pn({type:"info",text:`Stopped workflow ${I.workflow} (${I.runId}).`},"workflow-stop"):Pn({type:"info",text:`Stopped ${S.length} active workflows.`},"workflow-stop"),!0},[Pn,tl]);Be(()=>{if(!zt.shouldRender)return;let f=o(()=>{ff("stopped by Ctrl+C")},"handleSigint");return process.on("SIGINT",f),()=>{process.off("SIGINT",f)}},[ff,zt.shouldRender]),Hn(wn.Critical,f=>{let w=f.name==="escape",S=Date.now(),I=w&&!ue&&!$r&&Jc&&j.pendingInputs.length===0&&(W||zt.shouldRender),R=I&&(f.meta===!0||S-LC.current<Qj);if(LC.current=I?S:0,fM({keyName:f.name,ctrl:!!f.ctrl,isTranscriptMode:ue,isAwaitingUserInteraction:$r,isInputEmpty:Jc,isDoubleEscape:R,pendingInputCount:j.pendingInputs.length,hasTranscriptTextSelection:!!si,hasActiveWorkflow:zt.shouldRender}))return ff(f.ctrl?"stopped by Ctrl+C":"stopped by Escape");if(!W)return!1;switch(pM({keyName:f.name,ctrl:!!f.ctrl,isTranscriptMode:ue,isAwaitingUserInteraction:$r,isInputEmpty:Jc,isDoubleEscape:R,pendingInputCount:j.pendingInputs.length,hasTranscriptTextSelection:!!si}).kind){case"interrupt":return df(),PC(),!0;case"pop-pending-input":return pn(),!0;default:break}return!1},[W,ue,$r,Jc,j.pendingInputs.length,pn,df,PC,ff,si,zt.shouldRender]),Hn(wn.Critical,f=>{let w=lM({itemsLength:tn.length,currentResponse:tt.currentResponse,thinkingContent:tt.thinkingContent,activeToolCallsLength:tt.activeToolCalls.length}),S=uM({keyName:f.name,hasTranscript:w,historyScrollOffset:pr,reviewPageSize:Tl,reviewWheelStep:yC,hasMouse:!!f.mouse,mouseButton:f.mouse?.button,mouseAction:f.mouse?.action,usesManagedMouseClicks:_T,supportsMouseTracking:ze.supportsMouseTracking,usesRendererMouseTracking:Vd,usesManagedMouseWheel:AT,supportsWheelHistory:ze.supportsWheelHistory});if(S.kind==="mouse-phase"){let R=f.mouse;if(!R)return!1;S.phase==="press"&&mr.current&&vC(mr.current);let O=IC(R.row,R.column);if(S.phase==="press"){if(!O||!w)return di||ct?(Eg(),!0):(dn(),!1);let F=G_({previous:aT.current,time:Date.now(),row:R.row,column:R.column});aT.current=F;let H=F.count>=3?"line":F.count===2?"word":"char";if(lf(),Ar(te=>Ic(te,void 0)),ue?sg(void 0):og(void 0),H!=="char"){let te=ch(bl(),O.point,H);if(te)return mr.current={anchor:te.start,focus:te.end,didDrag:!1,mode:H,anchorSpan:te},ra(te.start,te.end,{updateSelectedItem:!1}),!0}return mr.current={anchor:O.point,focus:O.point,didDrag:!1,mode:"char"},!0}if(!mr.current)return!1;if(S.phase==="drag"){let F=Os.current,H=F?w_(F,R.row):0;H!==0&&Cd(H);let te=O??(F?vS(F,R.row,R.column):void 0);if(!te)return!1;let ie=mr.current;if(ie.mode!=="char"&&ie.anchorSpan){let Ue=ch(bl(),te.point,ie.mode);if(!Ue)return!1;let Ge=_S(ie.anchorSpan,Ue);return mr.current={...ie,anchor:Ge.anchor,focus:Ge.focus,didDrag:!0},ra(Ge.anchor,Ge.focus,{updateSelectedItem:!1}),!0}return mr.current={...ie,focus:te.point,didDrag:!0},ra(ie.anchor,te.point,{updateSelectedItem:!1}),!0}if(S.phase==="release"){let F=mr.current,H=F.focus,ie=(O??(Os.current?vS(Os.current,R.row,R.column):void 0))?.point??H;if(F.mode!=="char"&&F.anchorSpan){let Ue=ch(bl(),ie,F.mode);if(Ue){let Ge=_S(F.anchorSpan,Ue);F.anchor=Ge.anchor,ie=Ge.focus}}return vC(F,{focusPoint:ie}),!0}}if(S.kind==="scroll-by")return lf(),Cd(S.delta),!0;if(S.kind==="consume")return!0;let I=mM({key:f,isTranscriptMode:ue,isHistorySearchActive:wt,historySearchMatchCount:Xt.length,hasTextSelection:!!di,hasFocusedItem:!!ct,canCopySelectedItem:Qs,canCopySelectedToolInput:Qd,canToggleSelectedDetail:Zd,canCycleTranscriptSelection:Jd});return hM({action:I,hasTranscript:w,isTranscriptMode:ue,pageScrollDelta:Tl,disarmHistorySearchSelection:lf,scrollTranscriptBy:Cd,closeHistorySearchSurface:Ag,backspaceHistorySearchQuery:o(()=>{zs(R=>R.slice(0,-1)),Sr(0)},"backspaceHistorySearchQuery"),stepHistorySearchSelection:o(R=>{Sr(O=>SS(Xt.length,O,R))},"stepHistorySearchSelection"),submitHistorySearchSelection:o(()=>{let R=Xt[Vi];R&&(Mg(R.itemId),Ag())},"submitHistorySearchSelection"),appendHistorySearchQuery:o(R=>{zs(O=>O+R),Sr(0)},"appendHistorySearchQuery"),openHistorySearchSurface:_g,clearTranscriptSelectionFocus:Eg,exitTranscriptModeSurface:uf,toggleTranscriptShowAll:kC,scrollTranscriptHome:o(()=>{Td(Math.max(0,Cl-nn.messageRows))},"scrollTranscriptHome"),scrollTranscriptToBottom:o(()=>{Id(),dn()},"scrollTranscriptToBottom"),cycleTranscriptSelection:SC,copySelectedTranscriptText:o(()=>{cf()},"copySelectedTranscriptText"),copySelectedTranscriptItem:o(()=>{TC()},"copySelectedTranscriptItem"),copySelectedTranscriptToolInput:o(()=>{CC()},"copySelectedTranscriptToolInput"),toggleSelectedTranscriptDetail:xC,navigateSearchMatch:o(R=>{Sr(O=>{let F=SS(Xt.length,O,R),H=Xt[F];return H&&Mg(H.itemId),F})},"navigateSearchMatch"),dumpTranscriptToScrollback:o(()=>{gM({items:tn.filter(R=>!hw(R)),exitAltScreen:o(()=>{k(Dp({mouseTracking:!0}))},"exitAltScreen"),writeToScrollback:o(R=>{k(R)},"writeToScrollback"),enterAltScreen:o(()=>{k(Op({mouseTracking:!0,clearOnEnter:!1}))},"enterAltScreen")})},"dumpTranscriptToScrollback")})},[ue,tn,tt.currentResponse,tt.thinkingContent,tt.activeToolCalls,pr,Cl,Tl,yC,ct,Eg,uf,kC,ze,Cd,Td,Id,Jd,Vi,dn,cf,Xt,_g,Ag,lf,SC,Qs,TC,Qd,CC,Zd,xC,Mg,di,IC,ze.supportsMouseTracking,si,_T,AT,gg,Do,Vd,ra,nn.messageRows]),Hn(f=>{if(!Ye)return!1;let w=f.sequence.trim().toLowerCase(),S=Ye.runtimeGrantSuggestions?.find(te=>te.kind==="session"),I=Ye.runtimeGrantSuggestions?.find(te=>te.kind==="persistent"),R=!!Ye.input._alwaysConfirm,O=Ye.runtimeGrantSuggestions!==void 0,F=I!==void 0||!O&&B.permissionMode==="accept-edits"&&!R,H=o(te=>{let ie=`${re("dialog.confirm")} ${Ye.prompt}
|
|
142
|
-
\u2192 ${re(`confirm.result.${te}`)}`;!!at.current.workerId?Zt({id:`confirm-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"info",text:ie,timestamp:Date.now()}):N({type:"info",text:ie})},"recordConfirmResult");return w==="y"||w==="yes"?(H("approved"),ul(null),ui.current?.({confirmed:!0}),ui.current=null,!0):S&&(w==="s"||w==="session")?(H("approved_session"),ul(null),ui.current?.({confirmed:!0,runtimeGrantKind:"session"}),ui.current=null,!0):F&&(w==="a"||w==="always")?(H("approved_always"),ul(null),ui.current?.(I?{confirmed:!0,runtimeGrantKind:"persistent"}:{confirmed:!0,always:!0}),ui.current=null,!0):w==="n"||w==="no"||f.name==="escape"?(H("denied"),ul(null),ui.current?.({confirmed:!1}),ui.current=null,!0):f.insertable||f.name==="return"},{isActive:!!Ye,priority:wn.Critical});let pf=q(f=>{wr(null),jd.current?.(f),jd.current=null},[]),mi=q((f,w,S,I)=>w.length===0?Promise.resolve(void 0):new Promise(R=>{jd.current=R,wr({kind:"select",title:f,options:w,buffer:"",focusedIndex:0,selectedIndices:[],multiSelect:S,minSelections:I?.minSelections,maxSelections:I?.maxSelections})}),[]),M$=q((f,w)=>mi(f,w.map(S=>({label:S,value:S}))).then(S=>Array.isArray(S)?S[0]:S),[mi]),_$=q(async f=>{let w=e.learning;if(!w)return;let S=f;if(!S){let F=await w.list({limit:200});if(F.items.length===0){gd([{id:"learning-center-empty",text:"Learning Center has no learned capabilities.",tone:"accent"}]);return}let H=await mi("Learning Center \u2014 type to search",e2(F.items));S=Array.isArray(H)?H[0]:H}if(!S)return;let I=await w.get(S),R=await mi(`${I.displayName} \xB7 ${I.carrier} \xB7 ${I.lifecycle}`,Zj(I)),O=Array.isArray(R)?R[0]:R;O&&(await t2(w,I.capabilityId,O),rT(await w.getSnapshot()))},[e.learning,mi]),$C=q(async f=>{let w=f.options?ah(f.options):[],S=await mi(RS(f),w,!1);return S===void 0?ya:Array.isArray(S)?S[0]??ya:S},[mi]);Be(()=>{let f=!1;return(async()=>{let{bindAskUserForConstruction:w}=await import("./construction-bootstrap-
|
|
142
|
+
\u2192 ${re(`confirm.result.${te}`)}`;!!at.current.workerId?Zt({id:`confirm-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"info",text:ie,timestamp:Date.now()}):N({type:"info",text:ie})},"recordConfirmResult");return w==="y"||w==="yes"?(H("approved"),ul(null),ui.current?.({confirmed:!0}),ui.current=null,!0):S&&(w==="s"||w==="session")?(H("approved_session"),ul(null),ui.current?.({confirmed:!0,runtimeGrantKind:"session"}),ui.current=null,!0):F&&(w==="a"||w==="always")?(H("approved_always"),ul(null),ui.current?.(I?{confirmed:!0,runtimeGrantKind:"persistent"}:{confirmed:!0,always:!0}),ui.current=null,!0):w==="n"||w==="no"||f.name==="escape"?(H("denied"),ul(null),ui.current?.({confirmed:!1}),ui.current=null,!0):f.insertable||f.name==="return"},{isActive:!!Ye,priority:wn.Critical});let pf=q(f=>{wr(null),jd.current?.(f),jd.current=null},[]),mi=q((f,w,S,I)=>w.length===0?Promise.resolve(void 0):new Promise(R=>{jd.current=R,wr({kind:"select",title:f,options:w,buffer:"",focusedIndex:0,selectedIndices:[],multiSelect:S,minSelections:I?.minSelections,maxSelections:I?.maxSelections})}),[]),M$=q((f,w)=>mi(f,w.map(S=>({label:S,value:S}))).then(S=>Array.isArray(S)?S[0]:S),[mi]),_$=q(async f=>{let w=e.learning;if(!w)return;let S=f;if(!S){let F=await w.list({limit:200});if(F.items.length===0){gd([{id:"learning-center-empty",text:"Learning Center has no learned capabilities.",tone:"accent"}]);return}let H=await mi("Learning Center \u2014 type to search",e2(F.items));S=Array.isArray(H)?H[0]:H}if(!S)return;let I=await w.get(S),R=await mi(`${I.displayName} \xB7 ${I.carrier} \xB7 ${I.lifecycle}`,Zj(I)),O=Array.isArray(R)?R[0]:R;O&&(await t2(w,I.capabilityId,O),rT(await w.getSnapshot()))},[e.learning,mi]),$C=q(async f=>{let w=f.options?ah(f.options):[],S=await mi(RS(f),w,!1);return S===void 0?ya:Array.isArray(S)?S[0]??ya:S},[mi]);Be(()=>{let f=!1;return(async()=>{let{bindAskUserForConstruction:w}=await import("./construction-bootstrap-KB6GB6IY.js");f||w($C)})(),()=>{f=!0,(async()=>{let{bindAskUserForConstruction:w}=await import("./construction-bootstrap-KB6GB6IY.js");w(null)})()}},[$C]);let ia=q((f,w)=>new Promise(S=>{jd.current=I=>S(Array.isArray(I)?I[0]:I),wr({kind:"input",prompt:f,defaultValue:w,buffer:""})}),[]);Hn(f=>{let w=Ud.current;if(!w)return!1;if(f.name==="escape")return pf(void 0),!0;if(w.kind==="select"){let S=w.options.length;if(f.name==="up"||f.sequence==="k")return wr(I=>I&&I.kind==="select"?{...I,focusedIndex:(I.focusedIndex-1+S)%S,error:void 0}:I),!0;if(f.name==="down"||f.sequence==="j")return wr(I=>I&&I.kind==="select"?{...I,focusedIndex:(I.focusedIndex+1)%S,error:void 0}:I),!0;if(f.sequence===" "&&w.multiSelect)return wr(I=>{if(!I||I.kind!=="select")return I;let R=I.focusedIndex,O=I.selectedIndices.includes(R)?I.selectedIndices.filter(F=>F!==R):[...I.selectedIndices,R];return{...I,selectedIndices:O,error:void 0}}),!0;if(f.name==="return"){let I=Ud.current;if(!I||I.kind!=="select")return!1;if(I.multiSelect){let R=I.selectedIndices.length,{minSelections:O,maxSelections:F}=I,H=R===0&&O!==0?re("select.multiselect_empty"):O!==void 0&&R<O?re("select.multiselect_min",{min:String(O)}):F!==void 0&&R>F?re("select.multiselect_max",{max:String(F)}):void 0;if(H!==void 0)return wr(ie=>ie&&ie.kind==="select"?{...ie,error:H}:ie),!0;let te=I.selectedIndices.slice().sort((ie,Ue)=>ie-Ue).map(ie=>I.options[ie]?.value).filter(ie=>typeof ie=="string"&&ie.length>0);pf(te)}else pf(I.options[I.focusedIndex]?.value);return!0}if(/^[1-9]$/.test(f.sequence)){let I=Number.parseInt(f.sequence,10)-1;if(I>=0&&I<S)return w.multiSelect?wr(R=>{if(!R||R.kind!=="select")return R;let O=R.selectedIndices.includes(I)?R.selectedIndices.filter(F=>F!==I):[...R.selectedIndices,I];return{...R,focusedIndex:I,selectedIndices:O,error:void 0}}):wr(R=>R&&R.kind==="select"?{...R,focusedIndex:I,error:void 0}:R),!0}return!1}if(f.name==="return"){let S=Ud.current;if(!S||S.kind!=="input")return!1;let I=S.buffer.trim();return pf(I===""?S.defaultValue??void 0:I),!0}return f.name==="backspace"||f.name==="delete"?(wr(S=>S&&S.kind==="input"?{...S,buffer:S.buffer.slice(0,-1),error:void 0}:S),!0):(f.insertable||f.isPasted===!0)&&!f.ctrl&&!f.meta?(wr(S=>S&&S.kind==="input"?{...S,buffer:S.buffer+f.sequence,error:void 0}:S),!0):!1},{isActive:!!He,priority:wn.Critical}),Be(()=>{if(n.messages.length>0&&E.length===0){if(n.uiHistory?.length){let f=Jr(n.uiHistory);f.length!==n.uiHistory.length&&(n.uiHistory=f),K(Ou({messages:n.messages,uiHistory:f}));return}K(Ou({messages:n.messages}))}},[n.messages,n.uiHistory,E.length,K]),Be(()=>{vf(n.gitRoot)},[n.gitRoot]),Be(()=>{process.env.KODAX_PREWARM_REPO_INTELLIGENCE!=="0"&&sI({executionCwd:n.runtimeInfo?.executionCwd??n.gitRoot??process.cwd(),gitRoot:n.gitRoot??void 0},{mode:B.repoIntelligenceMode})},[n.gitRoot,n.runtimeInfo?.executionCwd,B.repoIntelligenceMode]);let El=q(()=>({onMemoryOutcomeDigest:o((f,w)=>{if(f.sessionId!==n.sessionId){e.events?.onMemoryOutcomeDigest?.(f,w);return}n.lineage=Ef(n.lineage??qe(n.messages),f,w?.jobId)},"onMemoryOutcomeDigest"),onMemoryReviewReceipt:o(f=>{if(f.sessionId!==void 0&&f.sessionId!==n.sessionId){e.events?.onMemoryReviewReceipt?.(f);return}n.lineage=Mf(n.lineage??qe(n.messages),f)},"onMemoryReviewReceipt"),onMemoryNotice:o(f=>{if(f.sessionId!==void 0&&f.sessionId!==n.sessionId){e.events?.onMemoryNotice?.(f);return}let w=n.lineage??qe(n.messages),S=_f(w,{...f,createdAt:new Date().toISOString()});n.lineage=S,S!==w&&N({type:"info",text:`[memory] ${f.summaries.slice(0,3).join("; ")}`}),e.events?.onMemoryNotice?.(f)},"onMemoryNotice"),onThinkingDelta:o((f,w)=>{if(lt.current||qn(w,"thinking",f,{append:!0}))return;j.currentTool&&(Ie(void 0),Ke());let{header:S}=RE(Fe()+f),I=S?`[Thinking: ${S}]`:"[Thinking]";kt(Gm(mt.current?.activeWorkerTitle?`[${mt.current.activeWorkerTitle}] ${I}`:I,mt.current?.activeWorkerTitle)),Te(f.length),$e(f),at.current.workerId&&Bd("thinking",f)},"onThinkingDelta"),onThinkingEnd:o((f,w)=>{if(lt.current||qn(w,"thinking",f))return;let S=Fe(),I=CE(S,f);I&&I!==S&&(se(),pe(),Te(I.length),$e(I)),at.current.workerId&&xT(I),Z()},"onThinkingEnd"),onTextDelta:o((f,w)=>{lt.current||qn(w,"assistant",f,{append:!0})||(j.currentTool&&(Ie(void 0),Ke()),Z(),kt(void 0),me(f),at.current.workerId&&Bd("assistant",f))},"onTextDelta"),onToolUseStart:o((f,w)=>{if(lt.current||qn(w,"tool",Ck(f.name,f.input)))return;Pr.current.includes(f.name)||(Pr.current=[...Pr.current,f.name]);let S=mt.current?.activeWorkerTitle?`[${mt.current.activeWorkerTitle}] `:"",I={id:f.id,name:`${S}${f.name}`,status:z.Executing,startTime:Date.now(),input:f.input};TT(I),at.current.workerId&&yr(I),kt(_i(I,mt.current?.activeWorkerTitle))},"onToolUseStart"),onToolInputDelta:o((f,w,S)=>{if(lt.current||qn(S,"tool",f,{skipIfExisting:!0}))return;nt(w.length),It(w);let I=CT(S?.toolId,f,R=>{let O=R.preview??"",F=SE(`${O}${w}`);return{...R,preview:F||void 0,input:R.input?F?{...R.input,preview:F}:{...R.input}:F?{preview:F}:void 0}});I&&(at.current.workerId&&yr(I),kt(_i(I,mt.current?.activeWorkerTitle)))},"onToolInputDelta"),onToolResult:o((f,w)=>{if(lt.current||qn(w,"tool",`${f.name} completed`))return;let S=typeof f.content=="string"?f.content:String(f.content??""),I=xE(S);if(/^\[(?:Tool Error|Error)\]/.test(S)){let O=Hd(f.id,z.Error,I,I,f.name);O&&(at.current.workerId&&yr(O),kt(_i(O,mt.current?.activeWorkerTitle)));return}if(/^\[(?:Cancelled|Blocked)\]/.test(S)){let O=Hd(f.id,z.Cancelled,void 0,I,f.name);O&&(at.current.workerId&&yr(O),kt(_i(O,mt.current?.activeWorkerTitle)));return}let R=Hd(f.id,z.Success,void 0,I||void 0,f.name);R&&(at.current.workerId&&yr(R),kt(_i(R,mt.current?.activeWorkerTitle)))},"onToolResult"),onToolProgress:o((f,w)=>{if(lt.current||qn(w,"progress",f.message))return;let S=f.message.length>100?f.message.slice(0,97)+"...":f.message,I=Ks(f.id,R=>({...R,preview:S,progressLines:[...(R.progressLines??[]).slice(-4),S]}));I&&at.current.workerId&&yr(I),kt(S)},"onToolProgress"),onStreamEnd:o(f=>{if(lt.current||Pm(f))return;let w=cl(z.Cancelled,()=>({error:"Stream ended before the tool completed.",output:void 0})),S=w[w.length-1];at.current.workerId&&w.forEach(I=>yr(I)),S&&kt(_i(S,mt.current?.activeWorkerTitle)),Z(),Ke(),Ie(void 0)},"onStreamEnd"),onChildActivityEnd:o(f=>{mT(f)},"onChildActivityEnd"),hasPendingInputs:o(()=>AC.current.length>0,"hasPendingInputs"),onMidTurnUserMessages:o(f=>{if(!lt.current)for(let w of f){let S=w.trim();S&&(at.current.workerId?Zt({id:`mid-turn-user-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"user",text:S,timestamp:Date.now()}):N({type:"user",text:S}))}},"onMidTurnUserMessages"),onSidecarMessage:o(f=>{if(lt.current)return;let w=f.suggestedFix?`${f.content}
|
|
143
143
|
Suggested fix: ${f.suggestedFix}`:f.content;if(f.delivery==="budget-exhausted")wT({type:"sidecar",text:w,delivery:"budget-exhausted"},"sidecar-message");else{let S=f.verdict==="blocked"?"blocked":"revise";wT({type:"sidecar",text:w,verdict:S},"sidecar-message")}Ad.current=!0},"onSidecarMessage"),onError:o(f=>{let w=Wi();w?.name&&kt(_i(w,mt.current?.activeWorkerTitle));let S=cl(z.Error,()=>({error:f.message,output:void 0})),I=S[S.length-1];at.current.workerId&&S.forEach(Ue=>yr(Ue)),I&&kt(_i(I,mt.current?.activeWorkerTitle));let R=iI(f),O=["Transient","Permanent","Tool Call ID","User Abort"];if(R.category===Al.USER_ABORT)return;let H=[`\u274C API Error (${O[R.category]||"Unknown"}): ${f.message}`];R.shouldCleanup&&H.push(" \u{1F9F9} Cleaned incomplete tool calls"),R.category===Al.PERMANENT?(H.push(" \u{1F4A1} This error requires manual intervention. Please check:"),f.message.includes("auth")||f.message.includes("401")?(H.push(" - Your API key is valid"),H.push(" - Run /config to check provider settings")):f.message.includes("400")?(H.push(" - The request parameters are correct"),H.push(" - Try restarting the conversation")):H.push(" - The error details above")):R.category===Al.TRANSIENT?H.push(" \u23F3 Retries exhausted. Press Enter to continue the conversation"):R.category===Al.TOOL_CALL_ID&&H.push(" \u2705 Session cleaned, ready to continue");let te=H.join(`
|
|
144
144
|
`);!!at.current.workerId?Zt({id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"error",text:te,timestamp:Date.now()}):N({type:"error",text:te})},"onError"),onRetry:o((f,w,S,I)=>{if(lt.current)return;let R=Du(f,w,S);if(nl(I,R.text)||qn(I,"progress",R.text))return;!!at.current.workerId?Zt({...R,id:`retry-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):N(R)},"onRetry"),onProviderRecovery:o((f,w)=>{if(lt.current)return;let S=Bu(f);if(nl(w,S.text)||qn(w,"progress",S.text))return;let I=!!at.current.workerId,R=V().trim();R&&(I?Bd("assistant",R):N({type:"assistant",text:R})),Ve(),se(),Z(),Ke(),Ie(void 0),ji(),kt(void 0),I?Zt({...S,id:`recovery-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):N(S)},"onProviderRecovery"),onManagedTaskStatus:o(f=>{if(lt.current)return;let w=at.current;if(J_(f)){if(w.workerId&&w.workerId!==f.activeWorkerId)d$({workerId:f.activeWorkerId,workerTitle:f.activeWorkerTitle});else if(w.workerId!==f.activeWorkerId){let F=vt.current,H=F.activeToolGroupTools.some(te=>te.status===z.Executing);vt.current={workerId:f.activeWorkerId,workerTitle:f.activeWorkerTitle,...H?{activeToolGroupItemId:F.activeToolGroupItemId,activeToolGroupTools:F.activeToolGroupTools}:{activeToolGroupTools:[]}},at.current={workerId:f.activeWorkerId,workerTitle:f.activeWorkerTitle}}}mt.current=f,kd(f);let S=vE(f);f$(S);let I=xc(f),O=xc(f,{expanded:!0})??I;O&&(_d.current=O)},"onManagedTaskStatus"),onProviderRateLimit:o((f,w,S,I)=>{if(lt.current)return;let R=Og.current;if(Og.current=null,pE(R,{attempt:f,maxAttempts:w,delayMs:S}))return;let O=`[Rate Limit] Retrying in ${S/1e3}s (${f}/${w})...`;nl(I,O)||qn(I,"progress",O)||Pn({type:"info",icon:"\u23F3",text:O},"ratelimit")},"onProviderRateLimit"),onRetryAfter:o((f,w)=>{if(lt.current)return;Og.current={attempt:f.attempt,maxAttempts:f.maxAttempts,waitMs:f.waitMs};let S=Math.round(f.waitMs/1e3),I=f.source==="exponential-backoff"?"no-header \u2192 backoff":f.source,O=`[${f.reason==="overloaded"?"Overloaded":"Rate limited"}] (${f.provider}) \u2014 retrying in ${S}s [${I}] (${f.attempt}/${f.maxAttempts})`;nl(w,O)||qn(w,"progress",O)||Pn({type:"info",icon:"\u23F3",text:O},"ratelimit")},"onRetryAfter"),onReasoningEffortRejected:o(f=>{KC(f.provider,f.model,f.effort,"observed",new Date().toISOString());let S=Yo({provider:f.provider,model:f.model,effort:bt.current.effort,effortOverride:bt.current.effortOverride,permissionMode:bt.current.permissionMode,planModeEffort:bt.current.planModeEffort,thinking:bt.current.thinking,reasoningMode:bt.current.reasoningMode}).runtimeEffort;Ae(I=>({...I,effort:S,effortOverride:S!==void 0})),qo({effort:S}),Ne.current.effort=S,Pn({type:"info",icon:"\u26A0",text:`[${f.provider}/${f.model} \u4E0D\u652F\u6301 effort "${f.effort}",\u5DF2\u8BB0\u5F55;\u540E\u7EED\u4E0D\u518D\u63D0\u4F9B\u8BE5\u6863${S?`,\u5DF2\u5207\u5230 ${S}`:""}]`},"ratelimit")},"onReasoningEffortRejected"),onRepoIntelligenceTrace:o(f=>{lt.current||Pn(FE(f),"repointel-trace")},"onRepoIntelligenceTrace"),onTodoUpdate:o(f=>{lt.current||ai(f)},"onTodoUpdate"),onScoutSuspiciousCompletion:o(f=>{lt.current||Q_&&Pn({type:"info",icon:"\u26A0",text:`[Scout] Completion marked uncertain \u2014 signals: ${f.signals.join(", ")}. Verify the result before continuing.`},"scout-uncertain")},"onScoutSuspiciousCompletion"),onIterationStart:o((f,w)=>{if(lt.current)return;if(w&&Qt(w),mt.current?.globalWorkBudget){let ie={...mt.current,budgetUsage:Math.min(mt.current.globalWorkBudget,(mt.current.budgetUsage??0)+1)};mt.current=ie,kd(ie)}let S=f>1?Fe().trim():"",I=f>1?NS(V()):"",R=f>1?[...Pr.current]:[],O=f>1?[...ln.current]:[],F=!!at.current.workerId;yt(f),F&&Nd({clearOwner:!1});let H=ci.current.filter(ie=>ie.status===z.Executing),te=new Set(H.map(ie=>ie.id));if(Pr.current=[],ln.current=ln.current.filter(ie=>te.has(ie.id)),Yn(H),Ke(),Ie(void 0),kt(Gm(mt.current?.activeWorkerTitle?`[Thinking] [${mt.current.activeWorkerTitle}]`:void 0,mt.current?.activeWorkerTitle)),pe(),f>1&&!F){let ie=OS({thinking:S,response:I,toolCalls:O,toolNames:R});Ns.current?Ns.current(ie):K([...ie])}},"onIterationStart"),beforeToolExecute:o(async(f,w)=>{let S=On.current,I=Ta(S),R=MC.current,O=n.gitRoot;if(Ff(S,Cg))return!0;if(vI(D.current,f,w))return`[Skipped] Previously denied operation. ${bI(D.current)}`;if(S==="plan"&&(Si.has(f)||f==="undo"))return`[Blocked] Tool '${f}' is not allowed in plan mode (read-only). ${X_}`;if(S==="plan"&&f==="bash"){let F=w.command??"";if(xi(F))return`[Blocked] Bash write operation not allowed in plan mode: ${F.slice(0,50)}... ${X_}`}if(f==="bash"){let F=w.command??"";if(xa(F,O??process.cwd(),n.runtimeInfo?.executionCwd??O??process.cwd()))return!0}if(f==="bash"){let F=w.command??"",H=xI(F);if(H.level==="dangerous"){let te=await hi(f,{...w,_dangerousCommand:!0});return te.confirmed?te.confirmed:(D.current=Jg(D.current,f,w,H.reason),`[Blocked] Dangerous command requires confirmation: ${H.reason}`)}}if(O){let F=!1;if(Si.has(f)){let H=w.path;H&&Sa(H,O)&&(F=!0)}if(f==="bash"){let H=w.command;H&&$f(H,O)&&(F=!0)}if(F){let H=await hi(f,{...w,_alwaysConfirm:!0});if(On.current==="plan"&&(Si.has(f)||f==="undo"))return!1;if(On.current==="plan"&&f==="bash"){let te=w.command??"";if(xi(te))return!1}return H.confirmed}}if(I.has(f)){if(S==="accept-edits"&&f==="bash"&&await wa(f,w,R,$g.current??void 0))return!0;let F=await hi(f,w);if(On.current==="plan"&&(Si.has(f)||f==="undo"))return!1;if(On.current==="plan"&&f==="bash"){let H=w.command??"";if(xi(H))return!1}if(!F.confirmed)return N({type:"info",text:re("cancelled")}),D.current=Jg(D.current,f,w),!1;F.always&&S==="accept-edits"&&(Kf(f,w,!1),MC.current=_a())}return!0},"beforeToolExecute"),askUser:o(async f=>{let w=bS(f.options?ah(f.options):[],f),S=await mi(RS(f),w,f.multiSelect,{minSelections:f.minSelections,maxSelections:f.maxSelections});if(S===void 0)return ya;if(S===Br){let I=await ia(f.customInputPrompt??f.question,f.customInputDefault);return I===void 0?ya:{kind:"customInput",value:I}}if(Array.isArray(S)&&S.includes(Br)){let I=await ia(f.customInputPrompt??f.question,f.customInputDefault);return I===void 0?ya:S.map(R=>R===Br?{kind:"customInput",value:I}:R)}return S},"askUser"),exitPlanMode:o(async f=>On.current!=="plan"?"not-in-plan-mode":(await hi("exit_plan_mode",{plan:f})).confirmed?(Ng("accept-edits"),!0):!1,"exitPlanMode"),askUserMulti:o(async f=>{let w=f.questions,S={},I=0;for(;I<w.length;){let R=w[I],O=bS(ah(R.options),R);I>0&&O.push({label:re("select.back_prev"),value:Ug});let F=`[${I+1}/${w.length}] ${R.question}`,H=await mi(F,O,R.multiSelect,{minSelections:R.minSelections,maxSelections:R.maxSelections});if(H===void 0)return;if(!Array.isArray(H)&&H===Ug){I--;continue}if(!Array.isArray(H)&&H===Br){let te=await ia(R.customInputPrompt??R.question,R.customInputDefault);if(te===void 0)return;S[R.question]={kind:"customInput",value:te},I++;continue}if(Array.isArray(H)&&H.includes(Br)){let te=await ia(R.customInputPrompt??R.question,R.customInputDefault);if(te===void 0)return;S[R.question]=H.map(ie=>ie===Br?{kind:"customInput",value:te}:ie),I++;continue}S[R.question]=H,I++}return S},"askUserMulti"),askUserInput:o(async f=>ia(f.question,f.default),"askUserInput"),onCompactStart:o(()=>{Xe()},"onCompactStart"),onCompactStats:o(f=>{Xc.current=f.tokensBefore,fr(f.tokensAfter)},"onCompactStats"),onCompactedMessages:o(async(f,w,S)=>{let I=Wm(n.lineage,f,w,S);if(!I)return;n.messages=f,w?.artifactLedger&&w.artifactLedger.length>0&&(n.artifactLedger=Ko(n.artifactLedger??[],w.artifactLedger),n.sessionSnapshotDirty=!0),n.lineage=I;let R=Go(f);if(n.contextTokenSnapshot={currentTokens:R,baselineEstimatedTokens:R,source:"estimate"},kr(n),fr(R),e.runtimeRunner){n.lineage===I&&(n.lineage=pa(I));return}let O=yd.current;if(!O)throw new Error("Ink REPL compaction persistence is not initialized.");try{await O(),n.lineage===I&&(n.lineage=pa(I))}catch(F){throw ht({source:"repl:compaction",level:"error",message:"Failed to durably persist compacted session history.",detail:F}),F}},"onCompactedMessages"),onCompact:o(f=>{_t();let w=Xc.current??f;Xc.current=null;let S=Math.round(w/1e3);Pn({type:"info",icon:"\u2728",text:`Context auto-compacted (was ~${S}k tokens)`},"compact")},"onCompact"),onCompactEnd:o(()=>{Xc.current=null,_t()},"onCompactEnd"),onIterationEnd:o(f=>{f.scope!=="worker"&&(n.contextTokenSnapshot=f.contextTokenSnapshot),fr(f.tokenCount)},"onIterationEnd")}),[Te,$e,Z,me,Ie,nt,It,Ke,yt,pe,B,n,Xe,_t,N,se,Fe,V,Nd,kt,Bd,xT,yr,TT,CT,Hd,cl,Wi,ji,Yn,mT,nl,qn,Pn,j.currentTool]),hi=o((f,w,S)=>{let I=wE(f,w),R=S?.map(H=>H.label)??[],O=S===void 0?[]:[pc,...R.map(H=>`Runtime scope: ${H}`)],F=O.length>0?`${I}
|
|
145
145
|
${O.join(`
|
|
@@ -171,7 +171,7 @@ Suggestion: Set the required API key environment variable`:ge.message.includes("
|
|
|
171
171
|
Suggestion: Check your internet connection`:(ge.message.includes("token")||ge.message.includes("context too long"))&&(er=`[Context Error] ${ge.message}
|
|
172
172
|
Suggestion: Use /clear to start fresh`),console.log=yi,at.current.workerId?Zt({id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"error",text:er,timestamp:Date.now()}):Zn([{type:"error",text:er}]),rp({error:ge,messageCount:n.messages.length})){let xr={type:"info",text:Fl};if(at.current.workerId?(Zt({id:`recover-hint-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,...xr,timestamp:Date.now()}),mf([xr])):Zn([xr]),(await hi("confirm",{_alwaysConfirm:!0,_message:np})).confirmed)try{await OC(rn)}catch(Dr){let la=Dr instanceof Error?Dr.message:String(Dr);Zn([{type:"error",text:`[Recover failed] ${la}`}])}}}}finally{if(console.log=yi,jo.length>0){let ge=jo.filter((er,xr,Xi)=>Xi.indexOf(er)===xr),Bn=PS(ge);Bn&&N({type:"info",text:Bn})}if(!lt.current){let ge=cl(z.Cancelled,()=>({error:"Run ended before the tool result was observed.",output:void 0}));ge.length>0&&at.current.workerId&&ge.forEach(Bn=>yr(Bn))}ee(!1),he(),Ve(),pg(),se();let be=Go(n.messages);n.contextTokenSnapshot={currentTokens:be,baselineEstimatedTokens:be,source:"estimate"},fr(be)}},[oi,n,B,Qh,j.pendingInputs.length,i,Ye,He,T,l,N,ne,de,he,Ve,El,DC,Re,V,Fe,Zt,sa,Zn,Fg,Ml,gi,mf,Dn,ca,Bg,Xe,_t,ji,pg,cl,yr,Oo,Zh,el,tl]),BC=zt.shouldRender?fe(M,{paddingX:1,children:fe(nE,{viewModel:zt})}):void 0,FC=W&&fi.shouldRender?fe(M,{paddingX:1,children:fe(Zk,{viewModel:fi})}):void 0,HC=FT?fe(M,{paddingX:1,children:fe(Nm,{viewModel:wg})}):void 0,N$=BC||FC||HC?Mn(M,{flexDirection:"column",children:[FC,BC,HC]}):void 0,WC=zt.shouldRender?zt.counterText:void 0,O$=fe(Cu,{left:fe(xu,{items:tC}),right:fe(Tu,{items:nC}),queued:fe(Am,{pendingInputs:j.pendingInputs}),stashNotice:fe(Mu,{text:rf}),notifications:fe(Eu,{notifications:nf}),inlineNotices:Rg.length>0?fe(Lm,{notices:Rg}):void 0,activityBar:pi?Mn(M,{paddingX:1,flexDirection:"row",children:[Mn(M,{flexGrow:1,children:[pi?.showSpinner?fe(Wn,{color:ae("dark").colors.accent}):null,pi?Mn(b,{color:pi.kind==="waiting"?ae("dark").colors.warning:ae("dark").colors.accent,wrap:"truncate",children:[pi.showSpinner?" ":"",pi.text]}):null,pi?.showSpinner&&j.roundStartedAt!=null?fe(tR,{roundStartedAt:j.roundStartedAt,charCount:j.currentResponse.length,theme:ae("dark")}):null]}),WC?fe(b,{dimColor:!0,wrap:"truncate",children:WC}):W&&fi.shouldRender?fe(b,{dimColor:!0,wrap:"truncate",children:iE(fi)}):null]}):void 0,todoSurface:N$,composer:fe(vm,{onSubmit:$$,onHistoryRecall:P$,onPopPendingInputs:o(()=>{let f=G();if(f.length!==0)return f.join(`
|
|
173
173
|
---
|
|
174
|
-
`)},"onPopPendingInputs"),prompt:">",placeholder:x_({isLoading:W,canQueueFollowUps:Qh,waitingReason:Ig}),focus:!Ye&&!He&&!wt,cwd:process.cwd(),gitRoot:e.context?.gitRoot||n.gitRoot,onInputChange:m$,onPasteFallback:v$}),inlineSuggestions:C$,helpSurface:IT?fe(Rm,{sections:Jm()}):void 0,taskBar:Sl?fe(_u,{items:Js.backgroundTask.items,overflowLabel:Js.backgroundTask.overflowLabel,ctaHint:Js.backgroundTask.ctaHint,showSpinner:W}):void 0,statusLine:fe(M,{children:fe(gs,{...ef,viewModel:ZT})}),inlineDialogs:b$}),D$=fe(Cu,{left:fe(xu,{items:tC}),right:fe(Tu,{items:nC}),stashNotice:fe(Mu,{text:rf}),notifications:fe(Eu,{notifications:nf}),composer:fe(Yk,{searchActive:wt,selectionActive:!!(di||ct),showAllActive:Kt,searchQuery:gn,searchCurrent:Xt.length>0?Vi+1:0,searchCount:Xt.length,searchDetailText:Tg,pendingLiveUpdates:pl,secondaryText:x$}),taskBar:Sl?fe(_u,{items:Js.backgroundTask.items,overflowLabel:Js.backgroundTask.overflowLabel,ctaHint:Js.backgroundTask.ctaHint,showSpinner:St}):void 0,statusLine:fe(M,{children:fe(gs,{...ef,viewModel:vg})})}),Hg=q(f=>fe(qk,{banner:f?.bannerVisible?fe($S,{...Bo}):void 0,items:hl,isLoading:yn,viewportRows:nn.messageRows,viewportWidth:Q,scrollOffset:pr,windowed:!!f?.rendererWindow,rendererWindow:f?.rendererWindow,transcriptModel:f?.rendererWindow?yl:gC,maxLines:Bt,selectedTextRanges:gg?Rd?.rowRanges:void 0,onMetricsChange:sf,onVisibleRowsChange:af}),[Bo,hl,yn,sf,af,pr,gC,Q,Bt,Rd?.rowRanges,nn.messageRows,gg]),Wg=q(f=>fe(Jk,{banner:f?.bannerVisible?fe($S,{...Bo}):void 0,items:ml,browse:{hintText:Ki.browseHintText},selection:of,search:zT,isLoading:St,isThinking:Ee.isThinking,thinkingCharCount:Ee.thinkingCharCount,thinkingContent:Ee.thinkingContent,streamingResponse:Ee.currentResponse,currentTool:Ee.currentTool,activeToolCalls:Ee.activeToolCalls,toolInputCharCount:Ee.toolInputCharCount,toolInputContent:Ee.toolInputContent,iterationHistory:Ee.iterationHistory,currentIteration:Ee.currentIteration,isCompacting:Ee.isCompacting,agentMode:B.agentMode,managedPhase:St?J?.phase:void 0,managedHarnessProfile:St?J?.harnessProfile:void 0,managedWorkerTitle:St?J?.activeWorkerTitle:void 0,managedRound:St?J?.currentRound:void 0,managedMaxRounds:St?J?.maxRounds:void 0,managedGlobalWorkBudget:St?J?.globalWorkBudget:void 0,managedBudgetUsage:St?J?.budgetUsage:void 0,managedBudgetApprovalRequired:St?J?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Ee.lastLiveActivityLabel,liveStatusLines:Ys,viewportRows:nn.messageRows,viewportWidth:Q,scrollOffset:pr,windowed:!!f?.windowed,animateSpinners:!!f?.rendererWindow&&Zs,rendererWindow:f?.rendererWindow,transcriptModel:f?.rendererWindow?yl:Xd,maxLines:Bt,showDetailedTools:Kt,showAllContent:Kt,selectedItemId:Jn.selectionEnabled?ct:void 0,selectedTextRanges:si?.rowRanges,expandedItemKeys:Jn.selectionEnabled?Ln:void 0,onMetricsChange:sf,onVisibleRowsChange:af}),[Bo,B.agentMode,St,Ln,c.transcriptSpinnerAnimation,sf,af,pr,LT,J?.activeWorkerTitle,J?.budgetApprovalRequired,J?.budgetUsage,J?.currentRound,J?.globalWorkBudget,J?.harnessProfile,J?.maxRounds,J?.phase,yl,Xd,Ki.browseHintText,ct,of,Q,Zs,ml,Bt,Ee.activeToolCalls,Ee.currentIteration,Ee.currentResponse,Ee.currentTool,Ee.isCompacting,Ee.isThinking,Ee.iterationHistory,Ee.lastLiveActivityLabel,Ee.thinkingCharCount,Ee.thinkingContent,Ee.toolInputCharCount,Ee.toolInputContent,Ys,si?.rowRanges,zT,Kt,nn.messageRows]),B$=ue?Wg({bannerVisible:!1,windowed:Ft}):Hg({bannerVisible:!1}),jC=ue?D$:O$,F$=c.enabled&&Do,UC=Mn(M,{flexDirection:"column",width:Q,flexShrink:0,flexGrow:F$?1:0,children:[fe(qw,{currentConfig:B,setCurrentConfig:Ae,isLoading:W,abort:_e,stopThinking:Z,clearThinkingContent:se,setCurrentTool:Ie,setIsLoading:ee,onToggleHelp:p$,setShowHelp:vT,onSetThinking:o(f=>{Ne.current.thinking=f},"onSetThinking"),onSetReasoningMode:o(f=>{Ne.current.reasoningMode=f,Ne.current.thinking=f!=="off"},"onSetReasoningMode"),onToggleTranscriptMode:R$,onOpenTranscriptSearch:_g,canOpenTranscriptSearch:ue&&!Ye&&!He,isInteractiveDialogActive:!!(Ye||He),onSetAgentMode:o(f=>{Ne.current.agentMode=f},"onSetAgentMode"),onSetPermissionMode:o(f=>{Ng(f)},"onSetPermissionMode"),isInputEmpty:Jc,onSavePermissionMode:pv}),dr&&(c.enabled?null:fe(Ka,{items:[1],children:o(()=>fe($S,{...Bo},"banner"),"children")})),Do?fe(xm,{width:Q,stickyHeader:Ki.stickyHeader,jumpToLatest:Ki.jumpToLatest,transcript:!c.enabled||!Ft?ue?Wg({bannerVisible:!1}):Hg({bannerVisible:!1}):void 0,renderTranscriptWindow:c.enabled&&Ft?f=>(()=>{let S=Il(f).contentWindow;return ue?Wg({bannerVisible:!1,windowed:!0,rendererWindow:S}):Hg({bannerVisible:!1,rendererWindow:S})})():void 0,overlay:Pg,scrollTop:pr,scrollHeight:Cl,viewportHeight:nn.messageRows,stickyScroll:!ue&&!$r&&rg,overscanRows:g2,scrollRef:ZP,onWindowChange:I$,onScrollTopChange:t$,onStickyChange:n$,footer:jC}):Mn(Jj,{children:[Mn(M,{flexDirection:"column",flexGrow:1,children:[B$,Pg?fe(M,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:Pg}):null]}),jC]})]});return hg?fe(Wy,{mouseTracking:Ui.usesRendererMouseTracking,children:UC}):UC},"InkREPLInner"),T2=o(e=>{let t=process.cwd(),n=e.options?.context?.gitRoot??void 0;return fe(bu,{children:fe(Pu,{getPendingInputAgentId:o(()=>gf(e.context.sessionId,"/root"),"getPendingInputAgentId"),children:fe(cu,{children:fe(Xw,{children:fe(Kp,{cwd:t,gitRoot:n,children:fe(x2,{...e})})})})})})},"InkREPL");function C2(){return process.stdin.isTTY===!0&&typeof process.stdin.setRawMode=="function"}o(C2,"isRawModeSupported");async function uh(e){if(!C2())throw new Yg("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 xs,n=no(),r=ro(),i=io(n,r),{prepareRuntimeConfig:s}=await import("./utils-BEWYGEMB.js"),{loadCompactionConfig:a}=await import("./compaction-config-HVHPJ6CS.js"),{resolveProvider:c}=await import("./dist-BCT3UNMA.js"),l=s(),u=va({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,configuredProvider:l.provider,defaultProvider:hf}),d=ba({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,explicitModel:e.model,configuredProvider:l.provider,configuredModel:l.model}),p=o2(e,l),h=Ra({explicitEffort:e.effort,environmentEffort:process.env.KODAX_EFFORT,configuredEffort:l.effort}),m=Gf(e,l,process.env.KODAX_EFFORT),g=e.agentMode??l.agentMode??"ama",T=p!=="off",x=Ca(l.permissionMode,"accept-edits")??"accept-edits",C=Pf(),v=l.repoIntelligenceTrace===!0,A={provider:u,model:d,effort:h,effortOverride:m,planModeEffort:l.planModeEffort,thinking:T,reasoningMode:p,agentMode:g,permissionMode:x,repoIntelligenceMode:C.mode,repoIntelligenceTrace:v},P=e.session?.id,k=[],E,$,D,N,K,ne="",X=await Wr({cwd:process.cwd()}),y=X.workspaceRoot??void 0,_=X,Q=y,j=Tf({meta:{cwd:process.cwd(),startedAt:Date.now()}});if(j){let Z=o(()=>{j.shutdown()},"teamModeCleanup");process.on("exit",Z),process.on("SIGTERM",Z)}try{let{bootstrapConstructionRuntime:Z}=await import("./construction-bootstrap-WF6KQ7XV.js"),se=await Z(y??process.cwd());if(se.loaded>0||se.failed>0||se.tampered>0){let Ie=se.failed>0?`; ${se.failed} failed`:"",nt=se.tampered>0?`; ${se.tampered} skipped due to manifest contentHash mismatch \u2014 re-stage and re-activate to re-approve`:"";ht({source:"repl:construction",level:se.failed>0||se.tampered>0?"warn":"info",message:`Rehydrated ${se.loaded} active tool(s)${Ie}${nt}.`})}if(se.markdownLoaded>0||se.markdownFailures.length>0){ht({source:"repl:agents",level:se.markdownFailures.length>0?"warn":"info",message:`Loaded ${se.markdownLoaded} markdown agent(s).`});for(let Ie of se.markdownFailures)ht({source:"repl:agents",level:"warn",message:`Skipped markdown agent ${Ie.path}: ${Ie.reason}`})}}catch(Z){ht({source:"repl:construction",level:"warn",message:`Bootstrap failed: ${Z.message}. Self-construction disabled this session.`})}let le;try{let Z=await a(y),se=c(u);le={contextWindow:Z.contextWindow??se.getContextWindow?.()??2e5,triggerPercent:Z.triggerPercent,triggerTokens:Z.triggerTokens,enabled:Z.enabled,reservedResponseTokens:se.getEffectiveMaxOutputTokens?.(d),userOverrideContextWindow:Z.contextWindow}}catch{}if(e.session?.id&&!e.session.resume){let Z=await t.load(e.session.id);Z&&(k=Z.messages,E=wo(Z.uiHistory),$=Z.lineage,D=Z.artifactLedger,N=Z.extensionState,K=Z.extensionRecords,ne=Z.title,P=e.session.id,_=In(Z)??X,Q=_.workspaceRoot??void 0,e={...e,session:{...e.session??{},id:P,tag:Z.tag}},console.log(gt.green(`[Session loaded: ${P}]`)))}else if(e.session?.resume||e.session?.autoResume){let Z=await yc(t,y);if(Z){let se=await t.load(Z.id);se&&(k=se.messages,E=wo(se.uiHistory),$=se.lineage,D=se.artifactLedger,N=se.extensionState,K=se.extensionRecords,ne=se.title,P=Z.id,_=In(se)??X,Q=_.workspaceRoot??void 0,e={...e,session:{...e.session??{},id:P,tag:se.tag}},console.log(gt.green(`[Continuing session: ${Z.id}]`)))}}let de=await hc({sessionId:P,gitRoot:Q,runtimeInfo:_,existingMessages:k,existingUiHistory:E,existingLineage:$,existingArtifactLedger:D,existingExtensionState:N,existingExtensionRecords:K});de.title=ne,e={...e,context:{...e.context,gitRoot:de.gitRoot??void 0,executionCwd:de.runtimeInfo?.executionCwd??de.gitRoot??process.cwd()}},j?.writer.update({sessionId:de.sessionId});let he={current:null},_e={current:null},pe={current:A},Te=Ma(),$e=await gc({askUser:o(async(Z,se,Ie)=>{let nt=he.current;return nt?nt(Z,se,Ie):"block"},"askUser"),projectRoot:y??process.cwd(),executionCwd:_.executionCwd??y??process.cwd(),getCurrentProviderName:o(()=>pe.current.provider,"getCurrentProviderName"),getCurrentModel:o(()=>pe.current.model,"getCurrentModel"),getCurrentPermissionMode:o(()=>pe.current.permissionMode,"getCurrentPermissionMode"),autoModeSettings:Te,log:o((Z,se)=>{ht({source:"repl:auto-mode",level:Z==="warn"?"warn":"info",message:se})},"log"),onEngineChange:o(Z=>{_e.current?.(Z)},"onEngineChange"),extraCollectors:[Ea]});try{let Z=process.stdout,se=process.stdin,Ie=!1,{waitUntilExit:nt,cleanup:It}=Va(fe(T2,{options:e,config:A,context:de,startupRuntimeInfo:X,storage:t,autoModeSettings:mc(Te),compactionInfo:le,rendererMode:r,fullscreenPolicy:i,autoModeBootstrap:$e,setAutoModeAskUser:o(Ve=>{he.current=Ve},"setAutoModeAskUser"),setAutoModeEngineChange:o(Ve=>{_e.current=Ve},"setAutoModeEngineChange"),setCurrentConfigRef:o(Ve=>{pe.current=Ve},"setCurrentConfigRef"),teamModeHandle:j,onExit:o(()=>{Ie=!0},"onExit")}),{stdout:Z,stdin:se,exitOnCtrlC:!1,patchConsole:!1,maxFps:30,shellMode:i.enabled?i.promptShell:"main-screen"});await nt(),It(),j?.shutdown(),se.isTTY===!0&&typeof se.setRawMode=="function"&&se.isRaw&&se.setRawMode(!1),se.pause?.(),se.unref?.(),Ie&&console.log(gt.dim(`
|
|
174
|
+
`)},"onPopPendingInputs"),prompt:">",placeholder:x_({isLoading:W,canQueueFollowUps:Qh,waitingReason:Ig}),focus:!Ye&&!He&&!wt,cwd:process.cwd(),gitRoot:e.context?.gitRoot||n.gitRoot,onInputChange:m$,onPasteFallback:v$}),inlineSuggestions:C$,helpSurface:IT?fe(Rm,{sections:Jm()}):void 0,taskBar:Sl?fe(_u,{items:Js.backgroundTask.items,overflowLabel:Js.backgroundTask.overflowLabel,ctaHint:Js.backgroundTask.ctaHint,showSpinner:W}):void 0,statusLine:fe(M,{children:fe(gs,{...ef,viewModel:ZT})}),inlineDialogs:b$}),D$=fe(Cu,{left:fe(xu,{items:tC}),right:fe(Tu,{items:nC}),stashNotice:fe(Mu,{text:rf}),notifications:fe(Eu,{notifications:nf}),composer:fe(Yk,{searchActive:wt,selectionActive:!!(di||ct),showAllActive:Kt,searchQuery:gn,searchCurrent:Xt.length>0?Vi+1:0,searchCount:Xt.length,searchDetailText:Tg,pendingLiveUpdates:pl,secondaryText:x$}),taskBar:Sl?fe(_u,{items:Js.backgroundTask.items,overflowLabel:Js.backgroundTask.overflowLabel,ctaHint:Js.backgroundTask.ctaHint,showSpinner:St}):void 0,statusLine:fe(M,{children:fe(gs,{...ef,viewModel:vg})})}),Hg=q(f=>fe(qk,{banner:f?.bannerVisible?fe($S,{...Bo}):void 0,items:hl,isLoading:yn,viewportRows:nn.messageRows,viewportWidth:Q,scrollOffset:pr,windowed:!!f?.rendererWindow,rendererWindow:f?.rendererWindow,transcriptModel:f?.rendererWindow?yl:gC,maxLines:Bt,selectedTextRanges:gg?Rd?.rowRanges:void 0,onMetricsChange:sf,onVisibleRowsChange:af}),[Bo,hl,yn,sf,af,pr,gC,Q,Bt,Rd?.rowRanges,nn.messageRows,gg]),Wg=q(f=>fe(Jk,{banner:f?.bannerVisible?fe($S,{...Bo}):void 0,items:ml,browse:{hintText:Ki.browseHintText},selection:of,search:zT,isLoading:St,isThinking:Ee.isThinking,thinkingCharCount:Ee.thinkingCharCount,thinkingContent:Ee.thinkingContent,streamingResponse:Ee.currentResponse,currentTool:Ee.currentTool,activeToolCalls:Ee.activeToolCalls,toolInputCharCount:Ee.toolInputCharCount,toolInputContent:Ee.toolInputContent,iterationHistory:Ee.iterationHistory,currentIteration:Ee.currentIteration,isCompacting:Ee.isCompacting,agentMode:B.agentMode,managedPhase:St?J?.phase:void 0,managedHarnessProfile:St?J?.harnessProfile:void 0,managedWorkerTitle:St?J?.activeWorkerTitle:void 0,managedRound:St?J?.currentRound:void 0,managedMaxRounds:St?J?.maxRounds:void 0,managedGlobalWorkBudget:St?J?.globalWorkBudget:void 0,managedBudgetUsage:St?J?.budgetUsage:void 0,managedBudgetApprovalRequired:St?J?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Ee.lastLiveActivityLabel,liveStatusLines:Ys,viewportRows:nn.messageRows,viewportWidth:Q,scrollOffset:pr,windowed:!!f?.windowed,animateSpinners:!!f?.rendererWindow&&Zs,rendererWindow:f?.rendererWindow,transcriptModel:f?.rendererWindow?yl:Xd,maxLines:Bt,showDetailedTools:Kt,showAllContent:Kt,selectedItemId:Jn.selectionEnabled?ct:void 0,selectedTextRanges:si?.rowRanges,expandedItemKeys:Jn.selectionEnabled?Ln:void 0,onMetricsChange:sf,onVisibleRowsChange:af}),[Bo,B.agentMode,St,Ln,c.transcriptSpinnerAnimation,sf,af,pr,LT,J?.activeWorkerTitle,J?.budgetApprovalRequired,J?.budgetUsage,J?.currentRound,J?.globalWorkBudget,J?.harnessProfile,J?.maxRounds,J?.phase,yl,Xd,Ki.browseHintText,ct,of,Q,Zs,ml,Bt,Ee.activeToolCalls,Ee.currentIteration,Ee.currentResponse,Ee.currentTool,Ee.isCompacting,Ee.isThinking,Ee.iterationHistory,Ee.lastLiveActivityLabel,Ee.thinkingCharCount,Ee.thinkingContent,Ee.toolInputCharCount,Ee.toolInputContent,Ys,si?.rowRanges,zT,Kt,nn.messageRows]),B$=ue?Wg({bannerVisible:!1,windowed:Ft}):Hg({bannerVisible:!1}),jC=ue?D$:O$,F$=c.enabled&&Do,UC=Mn(M,{flexDirection:"column",width:Q,flexShrink:0,flexGrow:F$?1:0,children:[fe(qw,{currentConfig:B,setCurrentConfig:Ae,isLoading:W,abort:_e,stopThinking:Z,clearThinkingContent:se,setCurrentTool:Ie,setIsLoading:ee,onToggleHelp:p$,setShowHelp:vT,onSetThinking:o(f=>{Ne.current.thinking=f},"onSetThinking"),onSetReasoningMode:o(f=>{Ne.current.reasoningMode=f,Ne.current.thinking=f!=="off"},"onSetReasoningMode"),onToggleTranscriptMode:R$,onOpenTranscriptSearch:_g,canOpenTranscriptSearch:ue&&!Ye&&!He,isInteractiveDialogActive:!!(Ye||He),onSetAgentMode:o(f=>{Ne.current.agentMode=f},"onSetAgentMode"),onSetPermissionMode:o(f=>{Ng(f)},"onSetPermissionMode"),isInputEmpty:Jc,onSavePermissionMode:pv}),dr&&(c.enabled?null:fe(Ka,{items:[1],children:o(()=>fe($S,{...Bo},"banner"),"children")})),Do?fe(xm,{width:Q,stickyHeader:Ki.stickyHeader,jumpToLatest:Ki.jumpToLatest,transcript:!c.enabled||!Ft?ue?Wg({bannerVisible:!1}):Hg({bannerVisible:!1}):void 0,renderTranscriptWindow:c.enabled&&Ft?f=>(()=>{let S=Il(f).contentWindow;return ue?Wg({bannerVisible:!1,windowed:!0,rendererWindow:S}):Hg({bannerVisible:!1,rendererWindow:S})})():void 0,overlay:Pg,scrollTop:pr,scrollHeight:Cl,viewportHeight:nn.messageRows,stickyScroll:!ue&&!$r&&rg,overscanRows:g2,scrollRef:ZP,onWindowChange:I$,onScrollTopChange:t$,onStickyChange:n$,footer:jC}):Mn(Jj,{children:[Mn(M,{flexDirection:"column",flexGrow:1,children:[B$,Pg?fe(M,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:Pg}):null]}),jC]})]});return hg?fe(Wy,{mouseTracking:Ui.usesRendererMouseTracking,children:UC}):UC},"InkREPLInner"),T2=o(e=>{let t=process.cwd(),n=e.options?.context?.gitRoot??void 0;return fe(bu,{children:fe(Pu,{getPendingInputAgentId:o(()=>gf(e.context.sessionId,"/root"),"getPendingInputAgentId"),children:fe(cu,{children:fe(Xw,{children:fe(Kp,{cwd:t,gitRoot:n,children:fe(x2,{...e})})})})})})},"InkREPL");function C2(){return process.stdin.isTTY===!0&&typeof process.stdin.setRawMode=="function"}o(C2,"isRawModeSupported");async function uh(e){if(!C2())throw new Yg("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 xs,n=no(),r=ro(),i=io(n,r),{prepareRuntimeConfig:s}=await import("./utils-SDMYKIZG.js"),{loadCompactionConfig:a}=await import("./compaction-config-MD2PQSAM.js"),{resolveProvider:c}=await import("./dist-2NRXEHLI.js"),l=s(),u=va({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,configuredProvider:l.provider,defaultProvider:hf}),d=ba({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,explicitModel:e.model,configuredProvider:l.provider,configuredModel:l.model}),p=o2(e,l),h=Ra({explicitEffort:e.effort,environmentEffort:process.env.KODAX_EFFORT,configuredEffort:l.effort}),m=Gf(e,l,process.env.KODAX_EFFORT),g=e.agentMode??l.agentMode??"ama",T=p!=="off",x=Ca(l.permissionMode,"accept-edits")??"accept-edits",C=Pf(),v=l.repoIntelligenceTrace===!0,A={provider:u,model:d,effort:h,effortOverride:m,planModeEffort:l.planModeEffort,thinking:T,reasoningMode:p,agentMode:g,permissionMode:x,repoIntelligenceMode:C.mode,repoIntelligenceTrace:v},P=e.session?.id,k=[],E,$,D,N,K,ne="",X=await Wr({cwd:process.cwd()}),y=X.workspaceRoot??void 0,_=X,Q=y,j=Tf({meta:{cwd:process.cwd(),startedAt:Date.now()}});if(j){let Z=o(()=>{j.shutdown()},"teamModeCleanup");process.on("exit",Z),process.on("SIGTERM",Z)}try{let{bootstrapConstructionRuntime:Z}=await import("./construction-bootstrap-KB6GB6IY.js"),se=await Z(y??process.cwd());if(se.loaded>0||se.failed>0||se.tampered>0){let Ie=se.failed>0?`; ${se.failed} failed`:"",nt=se.tampered>0?`; ${se.tampered} skipped due to manifest contentHash mismatch \u2014 re-stage and re-activate to re-approve`:"";ht({source:"repl:construction",level:se.failed>0||se.tampered>0?"warn":"info",message:`Rehydrated ${se.loaded} active tool(s)${Ie}${nt}.`})}if(se.markdownLoaded>0||se.markdownFailures.length>0){ht({source:"repl:agents",level:se.markdownFailures.length>0?"warn":"info",message:`Loaded ${se.markdownLoaded} markdown agent(s).`});for(let Ie of se.markdownFailures)ht({source:"repl:agents",level:"warn",message:`Skipped markdown agent ${Ie.path}: ${Ie.reason}`})}}catch(Z){ht({source:"repl:construction",level:"warn",message:`Bootstrap failed: ${Z.message}. Self-construction disabled this session.`})}let le;try{let Z=await a(y),se=c(u);le={contextWindow:Z.contextWindow??se.getContextWindow?.()??2e5,triggerPercent:Z.triggerPercent,triggerTokens:Z.triggerTokens,enabled:Z.enabled,reservedResponseTokens:se.getEffectiveMaxOutputTokens?.(d),userOverrideContextWindow:Z.contextWindow}}catch{}if(e.session?.id&&!e.session.resume){let Z=await t.load(e.session.id);Z&&(k=Z.messages,E=wo(Z.uiHistory),$=Z.lineage,D=Z.artifactLedger,N=Z.extensionState,K=Z.extensionRecords,ne=Z.title,P=e.session.id,_=In(Z)??X,Q=_.workspaceRoot??void 0,e={...e,session:{...e.session??{},id:P,tag:Z.tag}},console.log(gt.green(`[Session loaded: ${P}]`)))}else if(e.session?.resume||e.session?.autoResume){let Z=await yc(t,y);if(Z){let se=await t.load(Z.id);se&&(k=se.messages,E=wo(se.uiHistory),$=se.lineage,D=se.artifactLedger,N=se.extensionState,K=se.extensionRecords,ne=se.title,P=Z.id,_=In(se)??X,Q=_.workspaceRoot??void 0,e={...e,session:{...e.session??{},id:P,tag:se.tag}},console.log(gt.green(`[Continuing session: ${Z.id}]`)))}}let de=await hc({sessionId:P,gitRoot:Q,runtimeInfo:_,existingMessages:k,existingUiHistory:E,existingLineage:$,existingArtifactLedger:D,existingExtensionState:N,existingExtensionRecords:K});de.title=ne,e={...e,context:{...e.context,gitRoot:de.gitRoot??void 0,executionCwd:de.runtimeInfo?.executionCwd??de.gitRoot??process.cwd()}},j?.writer.update({sessionId:de.sessionId});let he={current:null},_e={current:null},pe={current:A},Te=Ma(),$e=await gc({askUser:o(async(Z,se,Ie)=>{let nt=he.current;return nt?nt(Z,se,Ie):"block"},"askUser"),projectRoot:y??process.cwd(),executionCwd:_.executionCwd??y??process.cwd(),getCurrentProviderName:o(()=>pe.current.provider,"getCurrentProviderName"),getCurrentModel:o(()=>pe.current.model,"getCurrentModel"),getCurrentPermissionMode:o(()=>pe.current.permissionMode,"getCurrentPermissionMode"),autoModeSettings:Te,log:o((Z,se)=>{ht({source:"repl:auto-mode",level:Z==="warn"?"warn":"info",message:se})},"log"),onEngineChange:o(Z=>{_e.current?.(Z)},"onEngineChange"),extraCollectors:[Ea]});try{let Z=process.stdout,se=process.stdin,Ie=!1,{waitUntilExit:nt,cleanup:It}=Va(fe(T2,{options:e,config:A,context:de,startupRuntimeInfo:X,storage:t,autoModeSettings:mc(Te),compactionInfo:le,rendererMode:r,fullscreenPolicy:i,autoModeBootstrap:$e,setAutoModeAskUser:o(Ve=>{he.current=Ve},"setAutoModeAskUser"),setAutoModeEngineChange:o(Ve=>{_e.current=Ve},"setAutoModeEngineChange"),setCurrentConfigRef:o(Ve=>{pe.current=Ve},"setCurrentConfigRef"),teamModeHandle:j,onExit:o(()=>{Ie=!0},"onExit")}),{stdout:Z,stdin:se,exitOnCtrlC:!1,patchConsole:!1,maxFps:30,shellMode:i.enabled?i.promptShell:"main-screen"});await nt(),It(),j?.shutdown(),se.isTTY===!0&&typeof se.setRawMode=="function"&&se.isRaw&&se.setRawMode(!1),se.pause?.(),se.unref?.(),Ie&&console.log(gt.dim(`
|
|
175
175
|
[Exiting KodaX...]`));let Ke=e.hardExitOnClose??process.env.VITEST!=="true";if(Ie&&Ke){let Ve=process.exitCode??0,me=!1,Re=o(()=>{me||(me=!0,process.exit(Ve))},"requestProcessExit");setTimeout(Re,0).unref?.(),Z.write("",Re);return}}catch(Z){throw Z instanceof Error&&Z.message.includes("Raw mode")?new Yg("Interactive mode failed to start.",['kodax -p "your task" # Run a single task',"kodax -c # Continue last session"]):Z}}o(uh,"runInkInteractiveMode");import{jsx as Ku,jsxs as Mc}from"react/jsx-runtime";import{useMemo as I2,useRef as v2,useState as BS}from"react";var b2=40;function R2(e,t){let n=t.trim().toLocaleLowerCase().split(/\s+/).filter(Boolean);return n.length===0?[...e]:e.filter(r=>{let i=[r.title,r.id,r.surface??"",r.createdAt??"",String(r.msgCount)].join(" ").toLocaleLowerCase();return n.every(s=>i.includes(s))})}o(R2,"filterSessionPickerItems");function k2(e,t,n){let r=Math.max(1,n),i=e.length===0?0:Math.max(0,Math.min(t,e.length-1)),s=Math.floor(i/r)*r;return{items:e.slice(s,s+r),selectedIndex:i,pageStart:s,pageIndex:Math.floor(s/r),pageCount:Math.max(1,Math.ceil(e.length/r))}}o(k2,"buildSessionPickerPage");function E2(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"),i=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),a=String(t.getMinutes()).padStart(2,"0");return`${n}-${r}-${i} ${s}:${a}`}o(E2,"formatTimestamp");function M2({sessions:e,onSelect:t,onSelectionError:n,onCancel:r,pageSize:i=8}){let{exit:s}=zr(),[a,c]=BS(""),[l,u]=BS(0),[d,p]=BS(!1),h=v2(!1),m=I2(()=>R2(e,a),[e,a]),g=k2(m,l,i),T=m[g.selectedIndex];return za((x,C)=>{if(!h.current){if(C.escape||C.ctrl&&x==="c"){r(),s();return}if(C.return){let v=m[g.selectedIndex];v&&(h.current=!0,p(!0),(async()=>{await new Promise(A=>setTimeout(A,b2));try{await t(v)}catch(A){n(A)}finally{s()}})());return}if(C.upArrow)u(v=>Math.max(0,v-1));else if(C.downArrow)u(v=>Math.min(Math.max(0,m.length-1),v+1));else if(C.pageUp)u(v=>Math.max(0,v-i));else if(C.pageDown)u(v=>Math.min(Math.max(0,m.length-1),v+i));else if(C.home)u(0);else if(C.end)u(Math.max(0,m.length-1));else if(C.tab){let v=m[g.selectedIndex];v&&(c(v.title),u(0))}else C.backspace||C.delete?(c(v=>v.slice(0,-1)),u(0)):x&&!C.ctrl&&!C.meta&&!C.super&&(c(v=>v+x),u(0))}}),Mc(M,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,children:[Ku(b,{bold:!0,color:"cyan",children:"Resume a session"}),Mc(b,{children:["Search: ",Ku(b,{color:"yellow",children:a||"type to filter"})]}),Ku(b,{dimColor:!0,children:d?"Loading selected session...":"\u2191/\u2193 select \xB7 PgUp/PgDn page \xB7 Tab complete \xB7 Enter resume \xB7 Esc cancel"}),Mc(M,{flexDirection:"column",marginTop:1,children:[g.items.length===0?Ku(b,{color:"yellow",children:"No matching sessions."}):null,g.items.map((x,C)=>{let A=g.pageStart+C===g.selectedIndex,P=x.title.trim()||"Untitled session",k=x.surface?` \xB7 ${x.surface}`:"";return Mc(b,{color:A?"cyan":void 0,bold:A,children:[A?"\u276F":" "," ",P," \xB7 ",x.msgCount," msgs",k," \xB7 ",E2(x.createdAt)," \xB7 ",x.id.slice(0,8)]},x.id)})]}),Mc(b,{dimColor:!0,children:[m.length," matches \xB7 Page ",g.pageIndex+1,"/",g.pageCount]}),Mc(b,{dimColor:!0,children:["Selected ID: ",T?.id??"none"]})]})}o(M2,"SessionPicker");async function rA(e,t={}){if(process.stdin.isTTY!==!0||process.stdout.isTTY!==!0)throw new Error("Searchable session resume requires an interactive terminal. Pass an exact session ID or title to -r/--resume instead.");let n,r=!1,i=!1,s,a=Math.max(4,Math.min(12,(process.stdout.rows??24)-8)),c=Va(Ku(M2,{sessions:e,pageSize:a,onSelect:o(async l=>{n=l,await t.prepareSelection?.(l)},"onSelect"),onSelectionError:o(l=>{i=!0,s=l},"onSelectionError"),onCancel:o(()=>{r=!0},"onCancel")}),{stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,exitOnCtrlC:!1,patchConsole:!1});try{await c.waitUntilExit()}finally{c.unmount(),c.cleanup()}if(i)throw s;if(!n&&!r)throw new Error("Session picker exited unexpectedly before selection or cancellation.");return n}o(rA,"runSessionPicker");import Tn from"chalk";var iA=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],oA=["\x1B[36m","\x1B[35m","\x1B[34m"],Xu=null,_c=!1;function zu(){let e=0,t=0,n=!1,r="Thinking...",i=o(()=>{if(n)return;let c=oA[t%oA.length],l="\x1B[0m",u=iA[e%iA.length];process.stdout.write(`\r${c}${u}${l} ${r}`)},"renderFrame"),s=setInterval(()=>{e++,e%10===0&&t++,i()},80);i();let a={stop:o(()=>{n||(n=!0,clearInterval(s),process.stdout.write("\r\x1B[K"))},"stop"),isStopped:o(()=>n,"isStopped"),updateText:o(c=>{r=c},"updateText")};return Xu=a,a}o(zu,"startWaitingDots");function sA(e=!0){let t=null,n=0,r=!1;return{onSessionStart:o(s=>{console.log(e?Tn.cyan(`[KodaX] Provider: ${s.provider} | Session: ${s.sessionId}`):Tn.cyan(`[KodaX] Provider: ${s.provider}`))},"onSessionStart"),onTextDelta:o(s=>{t&&(t.stop(),t=null),n=0,process.stdout.write(s),r=!0},"onTextDelta"),onThinkingDelta:o(s=>{n+=s.length,t||(t=zu()),t.updateText(`Thinking... (${n} chars)`)},"onThinkingDelta"),onThinkingEnd:o(s=>{if(t&&(t.stop(),t=null),s){let a=s.replace(/\n/g," "),c=a.length>100?a.slice(0,100)+"...":a;console.log(Tn.dim(`[Thinking] ${c}`))}},"onThinkingEnd"),onToolUseStart:o(s=>{t||(_c||(process.stdout.write(`
|
|
176
176
|
`),_c=!0),t=zu()),t.updateText(`Executing ${s.name}...`)},"onToolUseStart"),onToolInputDelta:o((s,a,c)=>{let l=a.length;t&&!t.isStopped()?t.updateText(`Receiving ${s}... (${l} chars)`):(!t||t.isStopped())&&(_c||(process.stdout.write(`
|
|
177
177
|
`),_c=!0,r=!1),t=zu(),t.updateText(`Receiving ${s}... (${l} chars)`))},"onToolInputDelta"),onToolResult:o(s=>{t&&(t.stop(),t=null),console.log(Tn.green(`[Result] ${s.content.slice(0,300)}${s.content.length>300?"...":""}`))},"onToolResult"),onRepoIntelligenceTrace:o(s=>{t&&(t.stop(),t=null),console.log(Tn.dim(`[RepoIntel] ${s.summary}`))},"onRepoIntelligenceTrace"),onSidecarMessage:o(s=>{t&&(t.stop(),t=null);let a=s.delivery==="budget-exhausted"?"\u26A1 Sidecar Verifier \u2014 budget exhausted":s.verdict==="blocked"?"\u26A1 Sidecar Verifier \u2014 blocked":"\u26A1 Sidecar Verifier \u2014 revise",c=s.suggestedFix?`${s.content}
|
|
@@ -217,7 +217,7 @@ ${t}`),console.log("\u2500".repeat(t.length)),n.forEach((r,i)=>{console.log(` $
|
|
|
217
217
|
Keyboard: Tab (complete) | Esc+Esc (edit last) | Ctrl+T (reasoning) | Ctrl+E (editor) | Ctrl+R (history)
|
|
218
218
|
`))}o(_A,"printStartupBanner");async function Q2(e,t,n){if(e?.id){let r=await t.load(e.id);if(!r)return null;let i=In(r);return{id:e.id,data:r,kind:"load",...i?{runtimeInfo:i}:{}}}if(e?.resume||e?.autoResume){let r=await yc(t,n);if(!r)return null;let i=await t.load(r.id);if(!i)return null;let s=In(i);return{id:r.id,data:i,kind:"continue",...s?{runtimeInfo:s}:{}}}return null}o(Q2,"loadClassicStartupSession");async function Z2(e){return(await vf(e)).getSystemPromptSnippet()}o(Z2,"buildClassicCliSkillsPrompt");function eU(e,t){let n=If(e);t.context={...t.context,skillsPrompt:n.getSystemPromptSnippet()}}o(eU,"syncClassicCliSkillsPrompt");var QS=class{static{o(this,"MemorySessionStorage")}sessions=new Map;async save(t,n){let r=this.sessions.get(t),i=qe(n.messages,n.lineage??r?.data.lineage);this.sessions.set(t,{createdAt:r?.createdAt??new Date().toISOString(),data:{...structuredClone(n),scope:n.scope??r?.data.scope??"user",uiHistory:n.uiHistory??r?.data.uiHistory,extensionState:n.extensionState??r?.data.extensionState,extensionRecords:n.extensionRecords??r?.data.extensionRecords,tag:n.tag??r?.data.tag,lineage:i}})}async load(t){return structuredClone(this.sessions.get(t)?.data??null)}async getLineage(t){return structuredClone(this.sessions.get(t)?.data.lineage??null)}async loadFullLineage(t){return this.getLineage(t)}async setActiveEntry(t,n,r){let i=this.sessions.get(t);if(!i?.data.lineage)return null;let s=da(i.data.lineage,n,r);if(!s)return null;let a={...structuredClone(i.data),messages:Lt(s),lineage:s};return this.sessions.set(t,{...i,data:a}),structuredClone(a)}async setLabel(t,n,r){let i=this.sessions.get(t);if(!i?.data.lineage)return null;let s=fa(i.data.lineage,n,r);if(!s)return null;let a={...structuredClone(i.data),lineage:s};return this.sessions.set(t,{...i,data:a}),structuredClone(a)}async fork(t,n,r){let i=this.sessions.get(t);if(!i?.data.lineage)return null;let s=wi(i.data.lineage,n);if(!s)return null;let a=r?.sessionId??await ga(),c={messages:Lt(s),title:r?.title??i.data.title,gitRoot:i.data.gitRoot,tag:i.data.tag,runtimeInfo:i.data.runtimeInfo?structuredClone(i.data.runtimeInfo):void 0,scope:i.data.scope??"user",extensionState:i.data.extensionState?structuredClone(i.data.extensionState):void 0,extensionRecords:i.data.extensionRecords?structuredClone(i.data.extensionRecords):void 0,lineage:s};return this.sessions.set(a,{createdAt:new Date().toISOString(),data:c}),{sessionId:a,data:structuredClone(c)}}async rewind(t,n){let r=this.sessions.get(t);if(!r?.data.lineage)return null;let i=n??ma(r.data.lineage);if(!i)return null;let s=ha(r.data.lineage,i);if(!s)return null;let a={...r.data,messages:Lt(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?qi(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 qS(e,t,n){e.runtimeInfo=n,e.gitRoot=n?.workspaceRoot??e.gitRoot,t.context={...t.context,gitRoot:e.gitRoot,executionCwd:n?.executionCwd??process.cwd()}}o(qS,"applyRuntimeContext");function fh(e,t){let n=t.runtimeSessionSnapshot;n&&("extensionState"in n&&(e.extensionState=n.extensionState?structuredClone(n.extensionState):{},e.extensionStateDirty=!0),"extensionRecords"in n&&(e.extensionRecords=n.extensionRecords?.map(r=>({...r}))??[],e.extensionRecordsDirty=!0))}o(fh,"applyRuntimeSessionSnapshot");function Pi(e){return{...e.extensionStateDirty?{extensionState:e.extensionState??{}}:{},...e.extensionRecordsDirty?{extensionRecords:e.extensionRecords??[]}:{}}}o(Pi,"contextExtensionSessionData");function $c(e){e.extensionStateDirty=!1,e.extensionRecordsDirty=!1}o($c,"markExtensionSessionPersisted");function tU(e,t){return e.reasoningMode?e.reasoningMode:t.reasoningMode?t.reasoningMode:(e.thinking===!0||t.thinking===!0,"auto")}o(tU,"resolveInitialReasoningMode");var ZS={current:null};async function LA(e){let t=await Wr({cwd:process.cwd()}),n=t.workspaceRoot??await Ti()??void 0,r=e.storage??new QS,i=await Q2(e.session,r,n),s=i?i.runtimeInfo??t:t,a=s.workspaceRoot??n;i&&(e={...e,session:{...e.session??{},id:i.id,tag:i.data.tag}});let c=Tf({meta:{cwd:process.cwd(),startedAt:Date.now()}}),l=Uf(),u=va({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,configuredProvider:l.provider,defaultProvider:hf}),d=ba({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,explicitModel:e.model,configuredProvider:l.provider,configuredModel:l.model}),p=tU(e,l),h=Ra({explicitEffort:e.effort,environmentEffort:process.env.KODAX_EFFORT,configuredEffort:l.effort}),m=Gf(e,l,process.env.KODAX_EFFORT),g=e.agentMode??l.agentMode??"ama",T=p!=="off",x=Ca(l.permissionMode,"accept-edits")??"accept-edits",C=Wf();x==="auto-in-project"&&C();let v=Pf(),A=l.theme;A&&Qu(A);let P=bs(),k={provider:u,model:d,effort:h,effortOverride:m,planModeEffort:l.planModeEffort,thinking:T,reasoningMode:p,agentMode:g,permissionMode:x,repoIntelligenceMode:v.mode,repoIntelligenceTrace:v.trace,fallbackProviders:l.fallbackProviders},E=x,$=_a(),D=o(L=>Yo({provider:L?.provider??k.provider,model:L?.model??k.model,effort:k.effort,effortOverride:k.effortOverride,permissionMode:L?.permissionMode??k.permissionMode,planModeEffort:k.planModeEffort,thinking:k.thinking,reasoningMode:k.reasoningMode}),"resolveCurrentRuntimeEffort"),N=0,K="",ne=!1,X=500,y=await hc({sessionId:i?.id??e.session?.id,gitRoot:a,runtimeInfo:s,existingMessages:i?.data.messages,existingUiHistory:i?.data.uiHistory,existingLineage:i?.data.lineage,existingArtifactLedger:i?.data.artifactLedger,existingExtensionState:i?.data.extensionState,existingExtensionRecords:i?.data.extensionRecords});if(y.title=i?.data.title??"",i){let L=i.kind==="continue"?"Continuing session":"Session loaded";process.stdout.write(`${ce.green(`[${L}: ${i.id}]`)}
|
|
219
219
|
`)}y.skillDynamicContext=e.skillDynamicContext,c?.writer.update({sessionId:y.sessionId});let _=o(L=>xo(k,L,(G,W,ee)=>{console.log((G==="block"?ce.red:ce.yellow)(`
|
|
220
|
-
${W}`));for(let B of ee)console.log(ce.dim(B));console.log()}),"guardSessionTransition"),Q=await zf(a??void 0),{resolveProvider:j}=await import("./dist-
|
|
220
|
+
${W}`));for(let B of ee)console.log(ce.dim(B));console.log()}),"guardSessionTransition"),Q=await zf(a??void 0),{resolveProvider:j}=await import("./dist-2NRXEHLI.js"),le=j(k.provider),de=Q.contextWindow??le.getEffectiveContextWindow?.(k.model)??le.getContextWindow?.()??2e5,{loadAgentsFiles:he}=await import("./dist-2NRXEHLI.js"),_e=o(async()=>he({cwd:process.cwd(),projectRoot:y.gitRoot??void 0}),"reloadAgentsFiles"),pe=await _e();if(_A(k,k.permissionMode,{contextWindow:de,triggerPercent:Q.triggerPercent,triggerTokens:Q.triggerTokens,enabled:Q.enabled},pe),MA(s),e.learning)try{let L=Xf(await e.learning.getSnapshot());L&&console.log(ce.yellow(`
|
|
221
221
|
${L}
|
|
222
222
|
`))}catch(L){ht({source:"repl:learning",level:"warn",message:"Failed to recover the Learning Center startup summary.",detail:L instanceof Error?L.message:String(L)})}let Te=Hv(()=>y.gitRoot??process.cwd()),$e=AA.createInterface({input:process.stdin,output:process.stdout,terminal:process.stdout.isTTY??!0,historySize:100,completer:o((L,G)=>{Te(L).then(W=>{G(null,W)}).catch(()=>{G(null,[[],L])})},"completer")}),Z=o(async L=>{let G=await Pc($e,L.toolName,{...L.input,...L.reason!==void 0?{_reason:L.reason}:{},...L.executionCwd!==void 0?{_executionCwd:L.executionCwd}:{},...L.risk!==void 0?{_runtimeRisk:L.risk}:{}},{permissionMode:E,runtimeGrantSuggestions:L.grantSuggestions??[]});return Bm(L,G)},"requestRuntimePermission"),se=Ma(),Ie=mc(se);await e.runtimeAutoModeControl?.syncSettings?.(y.sessionId,E,Ie);let nt=await gc({askUser:o(async(L,G,W)=>(await Pc($e,L.name,{...L.input,...W&&W.length>0?{_classifierSignals:W}:{}},{permissionMode:E,reason:`[auto-mode] ${G}`})).confirmed?"allow":"block","askUser"),projectRoot:a??process.cwd(),executionCwd:s.executionCwd??a??process.cwd(),getCurrentProviderName:o(()=>k.provider,"getCurrentProviderName"),getCurrentModel:o(()=>k.model,"getCurrentModel"),getCurrentPermissionMode:o(()=>E,"getCurrentPermissionMode"),autoModeSettings:se,log:o((L,G)=>{console.log(L==="warn"?ce.yellow(G):ce.dim(G))},"log"),extraCollectors:[Ea]}),It=Df({getProvider:o(()=>j(k.provider),"getProvider"),getModel:o(()=>k.model??"","getModel")}),Ke=`
|
|
223
223
|
Keyboard Shortcuts:
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
|
|
2
|
-
import{$a as o}from"./chunk-
|
|
2
|
+
import{$a as o}from"./chunk-R3BXINQ2.js";import{a as r}from"./chunk-ONUPGMER.js";var p=Object.freeze({".ts":"typescript",".mts":"typescript",".cts":"typescript",".tsx":"typescriptreact",".js":"javascript",".mjs":"javascript",".cjs":"javascript",".jsx":"javascriptreact",".py":"python",".pyi":"python",".go":"go",".rs":"rust",".java":"java"});function f(e){let t=e.lastIndexOf(".");if(t<0)return;let s=e.slice(t).toLowerCase();return p[s]}r(f,"languageIdForPath");var a=process.platform==="win32";function v(e){let t=e.replace(/\\/g,"/");return a?t.toLowerCase():t}r(v,"normalizeFsPath");import{spawn as c}from"child_process";function u(e){return process.platform==="win32"&&e!==process.execPath&&!/\.exe$/i.test(e)}r(u,"needsShell");function I(e,t,s,i=e===process.execPath?"javascript":"native"){if(u(e)){let n=[l(e),...t].join(" ");return c(n,{...s,shell:!0,windowsHide:!0})}if(i==="javascript"){let n=o({args:t,env:s.env??process.env,isElectron:process.versions.electron!==void 0,executable:e});return c(n.command,n.args,{...s,env:n.env,shell:!1,windowsHide:!0})}return c(e,[...t],{...s,shell:!1,windowsHide:!0})}r(I,"spawnLspProcess");function l(e){return/[\s"]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}r(l,"quoteIfNeeded");export{f as a,v as b,I as c};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
|
|
2
|
-
import{a as A,b as S,c as H}from"./chunk-
|
|
2
|
+
import{a as A,b as S,c as H}from"./chunk-ZVICRZVA.js";import{ib as N,jb as z,kb as F}from"./chunk-R3BXINQ2.js";import"./chunk-5247AKGN.js";import{a as n}from"./chunk-ONUPGMER.js";import{readFile as De}from"fs/promises";import{pathToFileURL as f,fileURLToPath as Se}from"url";var ke=150,qe=1e4,Pe=3e4,xe=1500,W=500;function O(r,a,o){return r.catch(()=>{}),new Promise((c,h)=>{let w=setTimeout(()=>h(new Error(o)),a);r.then(m=>{clearTimeout(w),c(m)},m=>{clearTimeout(w),h(m)})})}n(O,"withTimeout");function Ie(r){return r.targetUri!==void 0}n(Ie,"isLocationLink");function $(r){return r?(Array.isArray(r)?r:[r]).map(o=>Ie(o)?{uri:o.targetUri,range:o.targetSelectionRange}:o):[]}n($,"normalizeLocations");function Me(r,a){if(!r)return{};if(!a)return r;let o=r;for(let c of a.split("."))if(o&&typeof o=="object"&&c in o)o=o[c];else return null;return o}n(Me,"configurationValue");function _e(r,a){let o=f(r).href;return{processId:process.pid,rootUri:o,workspaceFolders:[{name:"workspace",uri:o}],capabilities:{workspace:{configuration:!0,workspaceFolders:!0,symbol:{dynamicRegistration:!0},didChangeConfiguration:{dynamicRegistration:!0},didChangeWatchedFiles:{dynamicRegistration:!0}},textDocument:{synchronization:{dynamicRegistration:!0,didSave:!0},publishDiagnostics:{relatedInformation:!0},definition:{dynamicRegistration:!0,linkSupport:!0},implementation:{dynamicRegistration:!0,linkSupport:!0},hover:{dynamicRegistration:!0,contentFormat:["markdown","plaintext"]},references:{dynamicRegistration:!0},documentSymbol:{dynamicRegistration:!0,hierarchicalDocumentSymbolSupport:!0},callHierarchy:{dynamicRegistration:!0}},window:{workDoneProgress:!0}},initializationOptions:a}}n(_e,"buildInitializeParams");async function Ee({proc:r,isClosed:a,killProcess:o,unregisterManagedChild:c,exitGraceMs:h=xe,killReapGraceMs:w=W}){return new Promise(m=>{let y=!1,R,C,k=n(()=>{R&&clearTimeout(R),C&&clearTimeout(C)},"clearTimers"),T=n(()=>{y||(y=!0,k(),r.off("close",T),c(),m(!0))},"finishClosed"),P=n(()=>{y||(y=!0,k(),r.off("close",T),m(!1))},"finishUnreaped");if(r.once("close",T),a?.()){T();return}R=setTimeout(()=>{o().catch(()=>{}).finally(()=>{y||(C=setTimeout(P,w),C.unref?.())})},h),R.unref?.()})}n(Ee,"waitForLspProcessExitOrGiveUp");async function ze(r){let{serverId:a,root:o,launch:c,debug:h}=r,w=r.initializeTimeoutMs??Pe,[m,y]=await Promise.all([import("vscode-languageserver-protocol/node"),import("vscode-languageserver-protocol")]),{createProtocolConnection:R,StreamMessageReader:C,StreamMessageWriter:k}=m,{InitializeRequest:T,InitializedNotification:P,DidChangeConfigurationNotification:G,DidOpenTextDocumentNotification:V,DidChangeTextDocumentNotification:B,PublishDiagnosticsNotification:K,DefinitionRequest:Q,HoverRequest:X,ReferencesRequest:Z,DocumentSymbolRequest:J,WorkspaceSymbolRequest:Y,ImplementationRequest:j,CallHierarchyPrepareRequest:ee,CallHierarchyIncomingCallsRequest:te,CallHierarchyOutgoingCallsRequest:ne,ShutdownRequest:ie,ExitNotification:oe}=y,u=H(c.command,c.args,{cwd:o,stdio:["pipe","pipe","pipe"],env:process.env,detached:process.platform!=="win32"},c.kind),re=F(u,{kind:`lsp:${a}`,command:c.command,args:c.args,cwd:o},{manualUnregister:!0}),v=!0,x=n(()=>{v&&(v=!1,re())},"unregisterManagedChildOnce"),U=!1;u.once("close",()=>{U=!0,x()}),u.stderr.on("data",e=>h?.(`[${a}] stderr: ${e.toString().trim()}`));let i=R(new C(u.stdout),new k(u.stdin)),I=new Map,M=new Set;i.onNotification(K.type,e=>{let t;try{t=S(Se(e.uri))}catch{return}I.set(t,e.diagnostics??[]);let s=Date.now();for(let l of M)l(t,s)}),i.onRequest("workspace/configuration",e=>(e.items??[]).map(t=>Me(c.initializationOptions,t.section))),i.onRequest("workspace/workspaceFolders",()=>[{name:"workspace",uri:f(o).href}]),i.onRequest("window/workDoneProgress/create",()=>null),i.onRequest("client/registerCapability",()=>null),i.onRequest("client/unregisterCapability",()=>null),i.listen();let L=new Promise((e,t)=>{u.once("error",s=>t(new Error(`spawn failed: ${s.message}`))),u.once("exit",s=>t(new Error(`server exited early (code ${s??"null"})`)))});try{await Promise.race([O(i.sendRequest(T.type,_e(o,c.initializationOptions)),w,`LSP initialize timed out for ${a}`),L])}catch(e){try{i.dispose()}catch{}throw await N(u),x(),e}finally{L.catch(()=>{})}i.sendNotification(P.type,{}),i.sendNotification(G.type,{settings:c.initializationOptions??{}});let _=new Map,E=new Set;async function se(e){let t=S(e),s=await De(e,"utf8"),l=A(e)??"plaintext",D=f(e).href,p=_.get(t);if(p===void 0){_.set(t,1),I.delete(t);let b=Date.now();return i.sendNotification(V.type,{textDocument:{uri:D,languageId:l,version:1,text:s}}),b}let g=p+1;_.set(t,g);let q=Date.now();return i.sendNotification(B.type,{textDocument:{uri:D,version:g},contentChanges:[{text:s}]}),q}n(se,"notifyOpenOrChange");function ae(e,t){let s=S(e);return new Promise(l=>{let D=!1,p,g=n(()=>{D||(D=!0,clearTimeout(b),p&&clearTimeout(p),M.delete(q),E.delete(g),l())},"finish"),q=n((Ce,Te)=>{Ce!==s||Te<t.afterMs||(p&&clearTimeout(p),p=setTimeout(g,ke))},"listener");M.add(q),E.add(g);let b=setTimeout(g,t.timeoutMs)})}n(ae,"waitForDiagnostics");function ce(e){return I.get(S(e))??[]}n(ce,"diagnostics");function d(e,t){return O(e,qe,`${a} ${t} timed out`)}n(d,"navTimeout");async function ue(e,t){let s={uri:f(e).href},l=await d(i.sendRequest(Q.type,{textDocument:s,position:t}),"definition");return $(l)}n(ue,"definition");async function le(e,t){let s={uri:f(e).href};return d(i.sendRequest(X.type,{textDocument:s,position:t}),"hover")}n(le,"hover");async function de(e,t){let s={uri:f(e).href};return await d(i.sendRequest(Z.type,{textDocument:s,position:t,context:{includeDeclaration:!0}}),"references")??[]}n(de,"references");async function fe(e){let t={uri:f(e).href};return await d(i.sendRequest(J.type,{textDocument:t}),"documentSymbol")??[]}n(fe,"documentSymbols");async function me(e){return await d(i.sendRequest(Y.type,{query:e}),"workspaceSymbol")??[]}n(me,"workspaceSymbols");async function pe(e,t){let s={uri:f(e).href},l=await d(i.sendRequest(j.type,{textDocument:s,position:t}),"implementation");return $(l)}n(pe,"implementation");async function ye(e,t){let s={uri:f(e).href};return await d(i.sendRequest(ee.type,{textDocument:s,position:t}),"prepareCallHierarchy")??[]}n(ye,"prepareCallHierarchy");async function ge(e){return await d(i.sendRequest(te.type,{item:e}),"incomingCalls")??[]}n(ge,"incomingCalls");async function he(e){return await d(i.sendRequest(ne.type,{item:e}),"outgoingCalls")??[]}n(he,"outgoingCalls");function we(){z(u)}n(we,"killSync");async function Re(){for(let e of[...E])e();try{await O(i.sendRequest(ie.type),2e3,"shutdown timeout"),i.sendNotification(oe.type)}catch{}try{i.dispose()}catch{}await Ee({proc:u,isClosed:n(()=>U,"isClosed"),killProcess:n(async()=>{await N(u,{forceMs:W,taskkillMs:2e3})},"killProcess"),unregisterManagedChild:x})}return n(Re,"shutdown"),{serverId:a,root:o,notifyOpenOrChange:se,waitForDiagnostics:ae,diagnostics:ce,definition:ue,hover:le,references:de,documentSymbols:fe,workspaceSymbols:me,implementation:pe,prepareCallHierarchy:ye,incomingCalls:ge,outgoingCalls:he,shutdown:Re,killSync:we}}n(ze,"createLspClient");export{ze as createLspClient,Ee as waitForLspProcessExitOrGiveUp};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
|
|
2
|
-
import{a}from"./chunk-
|
|
2
|
+
import{a}from"./chunk-4KJQ7QGO.js";import"./chunk-R3BXINQ2.js";import"./chunk-5247AKGN.js";import"./chunk-ONUPGMER.js";export{a as loadCompactionConfig};
|
package/dist/chunks/{construction-bootstrap-WF6KQ7XV.js → construction-bootstrap-KB6GB6IY.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
|
|
2
|
-
import"./chunk-
|
|
2
|
+
import"./chunk-T256QEDN.js";import"./chunk-JNBAIFJR.js";import"./chunk-ZACJCRHT.js";import"./chunk-O2ZV775M.js";import"./chunk-7KPBUO2F.js";import{Nc as a,Sc as i,Zc as l,cd as c}from"./chunk-NCK7ASJL.js";import"./chunk-6FLHNFYV.js";import"./chunk-ZVICRZVA.js";import"./chunk-UNEC2WXJ.js";import"./chunk-R3BXINQ2.js";import"./chunk-5247AKGN.js";import{a as n}from"./chunk-ONUPGMER.js";var r=null;function y(e){r=e}n(y,"bindAskUserForConstruction");function p(e){return e.content?.capabilities?.tools??[]}n(p,"readDeclaredTools");var m=n(async e=>{if(!r)return"reject";let t=p(e),o=t.length>0?t.join(", "):"<none>";return await r({question:`Activate constructed tool ${e.name}@${e.version}?
|
|
3
3
|
It declares capabilities.tools = [${o}].`,allowCustomInput:!1,options:[{label:"Approve \u2014 register and make callable",description:"The tool will be added to the active tool registry and the LLM can invoke it on the next turn.",value:"approve"},{label:"Reject \u2014 do not register",description:"The artifact stays staged on disk; rerun activate_tool to retry.",value:"reject"}]})==="approve"?"approve":"reject"},"replConstructionPolicy"),v=n(async e=>{if(!r)return"reject";let t=e.llmSummary.flaggedConcerns.length>0?e.llmSummary.flaggedConcerns.map(u=>` \u2022 ${u}`).join(`
|
|
4
4
|
`):" \u2022 <none>",o=e.prevContent.instructions??"<no instructions>",s=e.nextContent.instructions??"<no instructions>",d=[`Self-modify activation: ${e.agentName}@${e.fromVersion} \u2192 ${e.toVersion}`,"",`LLM diff summary (severity=${e.llmSummary.severity}):`,` ${e.llmSummary.summary}`,"","Flagged concerns:",t,"",`Budget remaining (after approve): ${e.budgetRemaining-1}/${e.budgetLimit}`,"","\u2500\u2500 Previous instructions \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",o,"\u2500\u2500 Proposed instructions \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",s,"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500","","The LLM summary is advisory \u2014 read the proposed instructions above before approving."].join(`
|
|
5
5
|
`);return await r({question:d,allowCustomInput:!1,options:[{label:"Approve \u2014 activate the new version on the next run",description:"Resolver swap is deferred to the next Runner.run boundary so the in-flight conversation keeps the prior reference.",value:"approve"},{label:"Reject \u2014 stay on the previous version",description:"Budget is not consumed on rejection; the staged version is left on disk for diff inspection.",value:"reject"}]})==="approve"?"approve":"reject"},"replSelfModifyAskUser");async function h(e){a({cwd:e,policy:m,selfModifyAskUser:v});let t=await i();await c();let o=await l({cwd:e});return{loaded:t.loaded,failed:t.failed,tampered:t.tampered,markdownLoaded:o.loaded,markdownFailures:o.failed}}n(h,"bootstrapConstructionRuntime");export{y as bindAskUserForConstruction,h as bootstrapConstructionRuntime};
|