@kodax-ai/kodax 0.7.96 → 0.7.97-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/CHANGELOG.md +86 -0
  2. package/README.md +85 -62
  3. package/README_CN.md +57 -67
  4. package/config-templates/config.example.jsonc +0 -14
  5. package/dist/chunks/{agent-7N427EVB.js → agent-J7SHFM5N.js} +1 -1
  6. package/dist/chunks/argument-completer-ZJQOWTIS.js +2 -0
  7. package/dist/chunks/{chunk-ABZDFK2X.js → chunk-2GV6MQ4T.js} +14 -14
  8. package/dist/chunks/{chunk-6QI3GOYG.js → chunk-3PS3YEDS.js} +1 -1
  9. package/dist/chunks/chunk-4VJMQDTH.js +417 -0
  10. package/dist/chunks/{chunk-NI7PBPUR.js → chunk-5DSUVP46.js} +1 -1
  11. package/dist/chunks/chunk-5P7RTSZT.js +21 -0
  12. package/dist/chunks/{chunk-XXNR6S4Q.js → chunk-6ZAQKFIM.js} +1 -1
  13. package/dist/chunks/chunk-7V2QBZ73.js +137 -0
  14. package/dist/chunks/{chunk-C7U542KM.js → chunk-F7DHZH6T.js} +1 -1
  15. package/dist/chunks/{chunk-7IMWOR34.js → chunk-HSRYDDPF.js} +1 -1
  16. package/dist/chunks/chunk-K3DQGSQU.js +372 -0
  17. package/dist/chunks/chunk-NO23K2CB.js +2 -0
  18. package/dist/chunks/{chunk-NKT3B3DR.js → chunk-OT5WHAX4.js} +1 -1
  19. package/dist/chunks/{chunk-YEAUDI6U.js → chunk-QGWHJIO4.js} +1 -1
  20. package/dist/chunks/chunk-QOFFAY5C.js +261 -0
  21. package/dist/chunks/{chunk-4PFZ7BEE.js → chunk-QVDTORL3.js} +11 -11
  22. package/dist/chunks/chunk-QZ4B4AWG.js +473 -0
  23. package/dist/chunks/chunk-RXDS6CNA.js +355 -0
  24. package/dist/chunks/{chunk-WV3DJVW4.js → chunk-VDGPJQL7.js} +135 -135
  25. package/dist/chunks/chunk-VEZ4WHPN.js +641 -0
  26. package/dist/chunks/chunk-ZPPAT25E.js +5 -0
  27. package/dist/chunks/chunk-ZQYWDI4O.js +1 -0
  28. package/dist/chunks/chunk-ZS2GUADU.js +498 -0
  29. package/dist/chunks/{chunk-GN2IY5YE.js → chunk-ZTYZYXGV.js} +1 -1
  30. package/dist/chunks/{chunk-EM4XJBTK.js → chunk-ZZQ4GDVU.js} +1 -1
  31. package/dist/chunks/{client-6WZZTTSV.js → client-MXOJ5XUN.js} +1 -1
  32. package/dist/chunks/{compaction-config-ZMEJU4U7.js → compaction-config-5VZSGKBQ.js} +1 -1
  33. package/dist/chunks/{construction-bootstrap-RX4DMHI7.js → construction-bootstrap-U2ZU2WAT.js} +1 -1
  34. package/dist/chunks/dist-CSLNWLOE.js +2 -0
  35. package/dist/chunks/dist-XXMJMJDU.js +2 -0
  36. package/dist/chunks/host-RUXYZFYN.js +2 -0
  37. package/dist/chunks/readline-helpers-JCVULR4C.js +2 -0
  38. package/dist/chunks/run-manager-DRIM5VNE.js +2 -0
  39. package/dist/chunks/utils-MQEBGKIX.js +2 -0
  40. package/dist/index.d.ts +63 -30
  41. package/dist/index.js +10 -6
  42. package/dist/kodax_bootstrap.js +1 -1
  43. package/dist/kodax_cli.js +1745 -1734
  44. package/dist/kodax_resume.js +32 -35
  45. package/dist/native/win32-x64/kodax-windows-sandbox.exe +0 -0
  46. package/dist/native/win32-x64/kodax-windows-text-transaction.node +0 -0
  47. package/dist/native/win32-x64/manifest.json +2 -2
  48. package/dist/sandbox-network-broker.js +77 -77
  49. package/dist/sdk-a2a.d.ts +33 -18
  50. package/dist/sdk-a2a.js +8 -9
  51. package/dist/sdk-agent.d.ts +33 -26
  52. package/dist/sdk-agent.js +1 -1
  53. package/dist/sdk-client.d.ts +40 -0
  54. package/dist/sdk-client.js +2 -0
  55. package/dist/sdk-coding.d.ts +87 -499
  56. package/dist/sdk-coding.js +1 -1
  57. package/dist/sdk-experimental-memory.d.ts +3 -4
  58. package/dist/sdk-experimental-memory.js +1 -1
  59. package/dist/sdk-llm.d.ts +11 -9
  60. package/dist/sdk-llm.js +1 -1
  61. package/dist/sdk-mcp.d.ts +3 -3
  62. package/dist/sdk-mcp.js +1 -1
  63. package/dist/sdk-media.d.ts +3 -1
  64. package/dist/sdk-media.js +1 -1
  65. package/dist/sdk-repl.d.ts +317 -70
  66. package/dist/sdk-repl.js +2 -2
  67. package/dist/sdk-runtime.d.ts +580 -452
  68. package/dist/sdk-runtime.js +1 -1
  69. package/dist/sdk-sandbox.js +1 -1
  70. package/dist/sdk-session.d.ts +13 -9
  71. package/dist/sdk-session.js +1 -1
  72. package/dist/sdk-skills.js +1 -1
  73. package/dist/semantic-worker.js +57 -57
  74. package/dist/types-chunks/{base.d-Bt9lhwSV.d.ts → base.d-ZBOdjDUT.d.ts} +2 -1
  75. package/dist/types-chunks/{bash-prefix-extractor.d-DWFIMg0v.d.ts → bash-prefix-extractor.d-DvswAXKS.d.ts} +136 -66
  76. package/dist/types-chunks/{capability-learning.d-gRtO03f6.d.ts → capability-learning.d-B4pxKwP4.d.ts} +1 -1
  77. package/dist/types-chunks/{capability.d-Ch5Vos33.d.ts → capability.d-DOF3r0fJ.d.ts} +1 -1
  78. package/dist/types-chunks/{capsule.d-Dj1n6s0Y.d.ts → capsule.d-B4atvlxE.d.ts} +7 -19
  79. package/dist/types-chunks/client-contract-A1jdk6xz.d.ts +1993 -0
  80. package/dist/types-chunks/{controller.d-C0IM1Tud.d.ts → controller.d-BkUJ_3sl.d.ts} +1 -1
  81. package/dist/types-chunks/{controller.d-J2t1q8Ly.d.ts → controller.d-yyKajPTi.d.ts} +140 -1380
  82. package/dist/types-chunks/{cost-tracker.d-BWI4lFWn.d.ts → cost-tracker.d-BeaenODW.d.ts} +2 -47
  83. package/dist/types-chunks/{history-retrieval.d-CPN5PMBV.d.ts → history-retrieval.d-JdFfkeF3.d.ts} +2 -2
  84. package/dist/types-chunks/{manager.d-rtmywU9M.d.ts → manager.d-C_20XqCV.d.ts} +8 -1
  85. package/dist/types-chunks/manifest.d-Bw2i-zQi.d.ts +18 -0
  86. package/dist/types-chunks/provider-credential-context.d-BH2OaB1b.d.ts +47 -0
  87. package/dist/types-chunks/provider-request-observation.d-jL8T6wVO.d.ts +34 -0
  88. package/dist/types-chunks/{public-api.d-amBop8Nk.d.ts → public-api.d-Cq8ILMte.d.ts} +52 -13
  89. package/dist/types-chunks/{resolver.d-BrwLoWNr.d.ts → resolver.d-DLY01RHx.d.ts} +4 -2
  90. package/dist/types-chunks/{types.d-CSv0_cZC.d.ts → review-inbox.d-BeaLRNHx.d.ts} +251 -3
  91. package/dist/types-chunks/{shell-command-sets.d-oejwpP_7.d.ts → review-packet.d-D4bbTbq3.d.ts} +46 -3
  92. package/dist/types-chunks/{exec-policy.d-BPESl90L.d.ts → run-manager.d-C7Q71rin.d.ts} +385 -62
  93. package/dist/types-chunks/runtime-client-info-CxnlZlW5.d.ts +175 -0
  94. package/dist/types-chunks/{sdk-session-B6XjHNU1.d.ts → sdk-session-BDFjCpDn.d.ts} +12 -4
  95. package/dist/types-chunks/{side-query.d-DHWG1JZg.d.ts → side-query.d-DTrhVd_r.d.ts} +4 -3
  96. package/dist/types-chunks/trusted-repl-entry-vbUM8R6P.d.ts +445 -0
  97. package/dist/types-chunks/{types.d-CtO8mR1s.d.ts → types.d-BJTN-RZr.d.ts} +5 -5
  98. package/dist/types-chunks/{types.d-BrQMB-hy.d.ts → types.d-BjOq57-z.d.ts} +6 -0
  99. package/dist/types-chunks/types.d-o7t9dds4.d.ts +1484 -0
  100. package/dist/types-chunks/{utils.d-DcznBeQ3.d.ts → utils.d-CWiMhFfu.d.ts} +202 -36
  101. package/docs/CLIENT_CONTRACT.md +441 -0
  102. package/docs/SDK_MIGRATION.md +123 -0
  103. package/docs/SPACE_SDK_SEAMS.md +139 -0
  104. package/package.json +10 -5
  105. package/public_docs/README.md +12 -133
  106. package/public_docs/configuration/config-files.md +8 -14
  107. package/public_docs/sdk/embedder-guide.md +494 -420
  108. package/dist/chunks/argument-completer-FAIHW7HZ.js +0 -2
  109. package/dist/chunks/chunk-66XN5AFU.js +0 -417
  110. package/dist/chunks/chunk-7O2AIFNE.js +0 -373
  111. package/dist/chunks/chunk-DSXUXUZG.js +0 -5
  112. package/dist/chunks/chunk-GYO73UYQ.js +0 -275
  113. package/dist/chunks/chunk-HPCS3LZ5.js +0 -324
  114. package/dist/chunks/chunk-HZYRLIOC.js +0 -137
  115. package/dist/chunks/chunk-SC2ELSUS.js +0 -675
  116. package/dist/chunks/chunk-TEUD5VPJ.js +0 -471
  117. package/dist/chunks/chunk-TYZ2ZAYL.js +0 -487
  118. package/dist/chunks/dist-3UCCMCYR.js +0 -2
  119. package/dist/chunks/dist-F5IWZSAY.js +0 -2
  120. package/dist/chunks/host-W2JJ3V3Q.js +0 -2
  121. package/dist/chunks/run-manager-RBWU3EVE.js +0 -2
  122. package/dist/chunks/utils-DJ4ZFJGL.js +0 -2
  123. package/dist/runtime-worker.js +0 -5381
  124. package/dist/types-chunks/review-inbox.d-CTeUIKda.d.ts +0 -225
  125. package/dist/types-chunks/run-manager.d-hm1XgEou.d.ts +0 -94
  126. package/dist/types-chunks/trusted-repl-entry-D0w5M0UZ.d.ts +0 -323
  127. package/dist/types-chunks/types.d-B1l9pWyX.d.ts +0 -146
package/dist/index.js CHANGED
@@ -1,9 +1,13 @@
1
1
  // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
- import{A as ze,a as Le,e as Xe,f as Te,n as De,q as qe,r as Fe,s as Ne,t as Ue,u as je,v as Ve,w as O,y as K,z as We}from"./chunks/chunk-TYZ2ZAYL.js";import"./chunks/chunk-5BNQXXGY.js";import{a as _e,b as ke,d as Me,e as Ce,f as be,g as Oe,h as Ke}from"./chunks/chunk-4PFZ7BEE.js";import{a as Be,b as $e}from"./chunks/chunk-GN2IY5YE.js";import{Jb as xe,Ua as Ae,Va as Ee,ob as b}from"./chunks/chunk-HPCS3LZ5.js";import{A as Se,Ga as Pe,Ja as Ie,Ka as we,z as ye}from"./chunks/chunk-SC2ELSUS.js";import{$,O as me,P as fe,Q as ge,Y as C,Z as Re,aa as G,ba as H,da as he,ha as ve,q as re,r as ae,s as M,u as de,w as ue,x as ce,y as le,z as pe}from"./chunks/chunk-GYO73UYQ.js";import"./chunks/chunk-YEAUDI6U.js";import{b as te,c as ne,d as ie,e as se,f as oe,g as B}from"./chunks/chunk-XXNR6S4Q.js";import"./chunks/chunk-7IMWOR34.js";import"./chunks/chunk-6QI3GOYG.js";import{$ as Tc,$a as Xl,Aa as ul,Ab as dp,B as _,Ba as cl,Bb as up,C as mc,Ca as ll,Cb as cp,D as fc,Da as pl,Db as lp,E as k,Ea as ml,Eb as pp,F as gc,Fa as fl,Fb as mp,G as Rc,Ga as gl,Gb as fp,Ha as Rl,Hb as gp,I as hc,Ia as hl,Ib as Rp,J as vc,Ja as vl,Jb as hp,K as yc,Ka as yl,Kb as vp,L as Sc,La as z,M as Pc,Ma as Sl,N as Ic,Na as Pl,O as wc,Oa as Il,P as Ac,Pa as wl,Q as Ec,Qa as Al,R as xc,Ra as El,S as _c,Sa as xl,T as kc,Ta as _l,U as Mc,Ua as kl,V as Cc,Va as Ml,W as bc,Wa as Cl,X as Oc,Xa as bl,Y as Kc,Ya as Ol,Z as Lc,Za as Kl,_ as Xc,_a as Ll,a as vn,aa as Dc,ab as Tl,b as yn,ba as qc,bb as Dl,c as Sn,ca as Fc,cb as ql,d as Ks,da as Nc,db as Fl,e as Ls,ea as Uc,eb as Nl,f as Xs,fa as jc,fb as Ul,g as Hu,ga as Vc,gb as jl,h as Ju,ha as Wc,hb as Vl,ia as zc,ib as Wl,j as Qu,ja as Bc,jb as zl,k as Yu,ka as $c,kb as Bl,l as Zu,la as Gc,lb as $l,m as ec,ma as Hc,mb as Gl,n as tc,na as Jc,nb as Hl,o as nc,oa as Qc,ob as Jl,pa as Yc,pb as Ql,q as ic,qa as Zc,qb as Yl,r as sc,ra as el,rb as Zl,s as oc,sa as tl,sb as ep,t as rc,ta as nl,tb as tp,u as ac,ua as il,ub as np,v as dc,va as sl,vb as ip,w as uc,wa as ol,wb as sp,x as cc,xa as rl,xb as op,y as lc,ya as al,yb as rp,z as pc,za as dl,zb as ap}from"./chunks/chunk-TEUD5VPJ.js";import{a as nu,b as iu,c as su,d as ou,e as ru,f as au,g as du,h as uu,i as cu,j as Gu}from"./chunks/chunk-NKT3B3DR.js";import{A as Du,B as qu,C as Fu,D as Nu,E as Uu,F as ju,G as Vu,H as Wu,I as zu,J as Bu,K as $u,a as lu,b as pu,c as mu,d as fu,e as gu,f as Ru,g as hu,h as vu,i as yu,j as Su,k as Pu,l as Iu,m as wu,n as Au,o as Eu,p as xu,q as _u,r as ku,s as Mu,t as Cu,u as bu,v as Ou,w as Ku,x as Lu,y as Xu,z as Tu}from"./chunks/chunk-ABZDFK2X.js";import{$ as yd,Ab as Yd,F as dd,G as ud,H as cd,I as ld,Ia as Md,J as pd,Ja as Cd,K as md,Ka as bd,L as fd,La as Od,Ma as Kd,Na as Ld,Pa as Xd,Q as gd,Qa as Td,R as Rd,Ra as Dd,Sa as qd,Ta as Fd,X as hd,Y as vd,aa as Sd,b as ts,ba as Pd,c as ns,ca as Id,d as is,da as wd,db as Ud,e as ss,eb as jd,f as os,g as rs,ha as Ad,i as as,ia as Ed,j as ds,ja as xd,ka as _d,kb as Vd,lb as Wd,m as us,mb as zd,n as cs,nb as Bd,o as ls,ob as $d,p as As,q as Ts,r as Ds,rb as Gd,sa as kd,sb as Hd,tb as Jd,ub as Qd}from"./chunks/chunk-7O2AIFNE.js";import{a as Nd}from"./chunks/chunk-EM4XJBTK.js";import{$a as xo,$b as Rr,$c as ra,$d as Ja,Aa as ao,Ab as Jo,Ac as Tr,Ba as uo,Bb as Qo,Bc as Dr,Cb as Yo,Cc as qr,Db as Zo,Dc as E,E as qs,Ec as N,Ed as Ma,F as Fs,Fb as er,Fc as Fr,Fd as Ca,Gb as tr,Gc as Nr,Gd as ba,Ha as co,Hb as nr,Hc as U,Hd as Oa,He as Zd,Ib as ir,Ic as Ur,Id as Ka,Ie as eu,Jb as sr,Jc as jr,Jd as La,Je as tu,Ka as lo,Kb as or,Kc as Vr,Kd as Xa,La as po,Lb as rr,Lc as Wr,Ld as Ta,M as Ns,Mb as ar,Mc as zr,Md as Da,N as Us,Na as mo,Nb as dr,Nc as Br,Nd as qa,O as js,Oa as fo,Ob as ur,Oc as $r,Od as Fa,P as Vs,Pa as go,Pc as Gr,Pd as Na,Q as Ws,Qa as Ro,Qc as Hr,Qd as V,R as zs,Ra as ho,Rc as Jr,Rd as Ua,S as Bs,Sb as cr,Sc as Qr,Sd as ja,T as $s,Ta as vo,Tb as lr,Tc as Yr,Td as Va,U as Gs,Ua as yo,Ub as pr,Uc as Zr,Ud as Wa,V as Hs,Va as So,Vb as mr,Vc as ea,Vd as za,W as Js,Wa as Po,Wc as ta,X as Qs,Xa as Io,Xc as na,Xd as Ba,Ya as wo,Yc as ia,Yd as $a,Za as Ao,Zb as fr,Zc as sa,Zd as Ga,_a as Eo,_b as gr,_c as oa,_d as Ha,ab as _o,ac as hr,ad as aa,ae as Qa,bb as ko,bc as vr,bd as da,be as Ya,c as ps,cb as Mo,cc as yr,cd as ua,ce as Za,d as ms,db as Co,dc as Sr,dd as ca,e as fs,eb as bo,ec as Pr,ed as la,f as gs,fb as Oo,fc as Ir,fd as pa,g as Rs,ga as Ys,gb as Ko,gc as wr,gd as ma,h as hs,ha as Zs,hb as Lo,hc as Ar,hd as fa,i as vs,ia as eo,id as ga,j as ys,ja as to,jd as Ra,k as Ss,ka as no,kb as Xo,kc as Er,kd as ha,l as Ps,la as io,lb as To,lc as xr,ld as va,m as Is,mb as Do,mc as _r,md as ya,n as ws,nb as qo,nc as kr,nd as Sa,ob as Fo,oc as Mr,od as Pa,pb as No,pc as Cr,pd as Ia,pe as td,q as Es,qb as Uo,qd as wa,qe as nd,r as xs,rd as Aa,re as id,s as _s,sb as jo,sd as Ea,se as sd,t as ks,tb as Vo,tc as br,td as xa,te as W,u as Ms,ub as Wo,uc as Or,ud as j,v as Cs,vb as zo,vc as Kr,vd as x,ve as od,w as bs,wb as Bo,wd as _a,we as rd,x as Os,xa as so,xb as $o,xd as ka,xe as ad,ya as oo,yb as Go,yc as Lr,za as ro,zb as Ho,zc as Xr}from"./chunks/chunk-66XN5AFU.js";import"./chunks/chunk-C7U542KM.js";import{a as ed}from"./chunks/chunk-NI7PBPUR.js";import{$e as Di,A as Xn,Be as mi,Ca as Dn,Ce as fi,De as gi,Ee as Ri,Fe as hi,Ge as vi,He as yi,Ie as Si,Ja as qn,Jf as Ni,Ka as Fn,Ke as Pi,Kf as Ui,La as Nn,Le as Ii,Lf as ji,Me as wi,Mf as Vi,Ne as Ai,Nf as Wi,Oa as Un,Oe as Ei,Of as zi,Pe as xi,Pf as Bi,Qe as _i,Rb as li,Re as ki,Sb as pi,Se as Mi,Sf as $i,Te as Ci,Tf as Gi,Ue as bi,Uf as Hi,Ve as Oi,Vf as Ji,We as Ki,Wf as Qi,Xe as Li,Xf as Yi,Ze as Xi,_e as Ti,a as Pn,b as In,bg as Zi,c as wn,cf as qi,cg as es,d as An,df as Fi,e as En,f as xn,h as _n,i as kn,j as Mn,k as Cn,l as bn,x as On,y as Kn,z as Ln,za as Tn}from"./chunks/chunk-WV3DJVW4.js";import{A as si,B as oi,C as ri,D as ai,E as di,F as ui,G as ci,d as jn,l as Vn,m as Wn,n as zn,o as Bn,p as $n,q as Gn,r as Hn,s as Jn,t as Qn,u as Yn,v as Zn,w as ei,x as ti,y as ni,z as ii}from"./chunks/chunk-DSXUXUZG.js";import{$a as sn,Da as qt,Ea as Ft,Fa as F,Ga as Nt,H as kt,I as Mt,Ja as Ut,Ka as jt,Ma as Vt,Na as Wt,O as D,Oa as zt,P as Ct,Pa as Bt,Q as bt,Qa as $t,R as q,Ra as Gt,S as Ot,Sa as Ht,T as Kt,Ta as Jt,Ua as Qt,Wa as Yt,Xa as Zt,Ya as en,Za as tn,_a as nn,ab as on,bb as rn,cb as an,db as dn,eb as un,fa as Lt,gb as cn,hb as ln,ib as pn,jb as mn,lb as fn,m as wt,mb as gn,n as At,nb as Rn,p as Et,pa as Xt,qb as hn,wa as Tt,xa as Dt,y as xt,z as _t}from"./chunks/chunk-HZYRLIOC.js";import{a as o}from"./chunks/chunk-ONUPGMER.js";import Ge from"node:process";var Q=["off","error","info","debug"],J={off:0,error:1,info:2,debug:3};function L(n,e="info"){if(!n)return e;let t=n.trim().toLowerCase();return Q.includes(t)?t:e}o(L,"resolveAcpLogLevel");var P=class{static{o(this,"AcpLogger")}level;sink;constructor(e={}){this.level=e.level??"info",this.sink=e.sink??(t=>{Ge.stderr.write(`${t}
3
- `)})}handleEvent(e){let t=He(e);t&&this.log(t.level,t.message,t.fields)}error(e,t){this.log("error",e,t)}info(e,t){this.log("info",e,t)}debug(e,t){this.log("debug",e,t)}log(e,t,i){if(J[this.level]<J[e])return;let s=new Date().toISOString(),r=i?Qe(i):"",d=r?` ${r}`:"";this.sink(`[ACP][${e.toUpperCase()}][${s}] ${t}${d}`)}};function He(n){switch(n.type){case"server_attached":return{level:"info",message:"ACP server attached",fields:l(n)};case"connection_closed":return{level:"info",message:"ACP connection closed",fields:l(n)};case"initialize_completed":return{level:"info",message:"ACP initialize completed",fields:l(n)};case"session_created":return{level:"info",message:"ACP session created",fields:l(n)};case"session_mode_changed":return{level:"info",message:"ACP session mode changed",fields:l(n)};case"prompt_skipped":return{level:"info",message:"ACP prompt skipped because session was already aborted",fields:l(n)};case"prompt_started":return{level:"info",message:"ACP prompt started",fields:l(n)};case"prompt_preview":return{level:"debug",message:"ACP prompt preview",fields:l(n)};case"prompt_finished":return{level:"info",message:"ACP prompt finished",fields:l(n)};case"prompt_cancelled":return{level:"info",message:"ACP prompt cancelled during execution",fields:l(n)};case"prompt_failed":return{level:"error",message:"ACP prompt failed",fields:l(n)};case"cancel_requested":return{level:"info",message:"ACP cancel requested",fields:l(n)};case"tool_permission_evaluated":return{level:"debug",message:"ACP evaluating tool permission",fields:l(n)};case"tool_permission_resolved":return Je(n);case"permission_requested":return{level:"info",message:"ACP permission requested",fields:l(n)};case"notification_failed":return{level:"error",message:`Failed to send ${n.label}`,fields:{sessionId:n.sessionId,error:n.error}};case"repo_intelligence_trace":return{level:"debug",message:"ACP repo intelligence trace",fields:l(n)};default:return null}}o(He,"mapEventToLogEntry");function l(n){let{type:e,...t}=n;return t}o(l,"toLogFields");function Je(n){let e={sessionId:n.sessionId,tool:n.tool,toolId:n.toolId,error:n.error};switch(n.outcome){case"request_failed_disconnected":return{level:"error",message:"ACP permission request failed because client is disconnected",fields:e};case"request_failed_incomplete":return{level:"error",message:"ACP permission request did not complete",fields:e};case"request_dismissed":return{level:"info",message:"ACP permission request dismissed",fields:e};case"request_rejected":return{level:"info",message:"ACP permission rejected",fields:e};case"request_granted":return{level:"info",message:"ACP permission granted",fields:{...e,remember:n.remember??!1}};default:return{level:"info",message:"ACP legacy permission outcome observed",fields:{...e,outcome:n.outcome}}}}o(Je,"mapPermissionOutcomeToLogEntry");function Qe(n){return Object.entries(n).flatMap(([e,t])=>t===void 0?[]:`${e}=${Ye(t)}`).join(" ")}o(Qe,"formatFields");function Ye(n){return n===null?"null":typeof n=="string"?JSON.stringify(n.length>160?`${n.slice(0,157)}...`:n):String(n)}o(Ye,"formatFieldValue");var w=["plan","accept-edits","auto","full-access"],I=class{static{o(this,"AcpEventEmitter")}sinks;constructor(e={}){this.sinks=[...e.sinks??[]]}emit(e){for(let t of this.sinks)try{t.handleEvent(e)}catch(i){}}};import{randomUUID as X}from"node:crypto";import Ze from"node:os";import y from"node:path";import v from"node:process";import{Readable as et,Writable as tt}from"node:stream";var nt=await import("@agentclientprotocol/sdk");function g(){return nt}o(g,"acpSdk");function it(n){return V(n)}o(it,"acpIsFileModificationTool");var st={read:"read",write:"edit",edit:"edit",undo:"edit",bash:"execute",grep:"search",glob:"search",think:"think",fetch:"fetch"},ot=[{id:"plan",name:"Plan",description:"Read-only planning mode. File modifications are blocked except the plan-mode whitelist."},{id:"accept-edits",name:"Edits",description:"Uses the sandbox first and asks only at a real host boundary."},{id:"auto",name:"Auto[LLM]",description:"Uses the sandbox first and reviews only a real host-boundary operation."},{id:"full-access",name:"Full Access",description:"Executes directly on the host without sandbox or approval prompts."}];function T(n,e){if(n==null)return;if(typeof n!="string")throw new Error(`${e} must be a string.`);let t=D(n);return t==="auto"?void 0:t}o(T,"normalizeOptionalEffort");function rt(n){let e=n.replace(/\s+/g," ").trim();return e.length<=80?e:`${e.slice(0,77)}...`}o(rt,"buildAcpSessionTitle");function at(n){let e=n.effort;if(e===void 0)return{kind:"absent"};try{return{kind:"value",value:T(e,"Prompt effort")}}catch(t){let i=t instanceof Error?t.message:String(t);throw g().RequestError.invalidParams({effort:e},i)}}o(at,"resolvePromptEffortOverride");function dt(n){let e={};for(let t of n)if("command"in t){let i={};for(let s of t.env??[])i[s.name]=s.value;e[t.name]={type:"stdio",command:t.command,args:t.args??[],env:Object.keys(i).length>0?i:void 0}}else if("type"in t&&t.type==="sse"){let i={};for(let s of t.headers??[])i[s.name]=s.value;e[t.name]={type:"sse",url:t.url,headers:Object.keys(i).length>0?i:void 0}}else if("type"in t&&t.type==="http"){let i={};for(let s of t.headers??[])i[s.name]=s.value;e[t.name]={type:"http",url:t.url,headers:Object.keys(i).length>0?i:void 0}}return e}o(dt,"convertAcpMcpServers");function ut(n){let e=[];for(let t of n){let i=t.trim();i&&!e.includes(i)&&e.push(i)}return e}o(ut,"dedupeExtensionPaths");function ct(n){return Array.isArray(n)?ut(n.filter(e=>typeof e=="string"&&e.trim().length>0).map(e=>y.isAbsolute(e)?e:y.resolve(y.dirname(M),e))):[]}o(ct,"normalizeConfiguredExtensionPaths");async function lt(n){try{return await U()}catch(e){let t=e instanceof Error?e.message:String(e);return n.error("ACP extension discovery failed: "+t),[]}}o(lt,"discoverAcpDefaultExtensions");async function pt(n,e,t){let i=await E(t),s=await N(await E(e),i);await n.loadExtensions(s,{continueOnError:!0,loadSource:"discovery"}),await n.loadExtensions(i,{continueOnError:!0,loadSource:"config"})}o(pt,"loadAcpExtensionGroups");function mt(n,e="accept-edits"){return n==="auto-in-project"?"auto":n&&w.includes(n)?n:e}o(mt,"normalizeAcpPermissionMode");function ft(n){if(n==="auto-in-project")return"auto";if(n&&w.includes(n))return n;throw g().RequestError.invalidParams({modeId:n},"Invalid session mode. Expected one of: plan, accept-edits, auto, full-access.")}o(ft,"parseSessionMode");function gt(n){return{availableModes:ot,currentModeId:n}}o(gt,"buildModeState");function Rt(n){if(!n)return{};try{let e=JSON.parse(n);return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:{_inputPreview:n}}catch{return{_inputPreview:n}}}o(Rt,"parsePermissionInputPreview");function ht(n){return Array.isArray(n)?n.flatMap(e=>e===null||typeof e!="object"||typeof e.id!="string"||e.kind!=="session"&&e.kind!=="persistent"||typeof e.label!="string"?[]:[e]):[]}o(ht,"parsePermissionGrantSuggestions");function vt(n){if(n.type!=="permission.requested")return;let e=n.payload;if(e===null||typeof e!="object"||typeof e.id!="string"||typeof e.sessionId!="string"||typeof e.runId!="string"||typeof e.toolName!="string"||typeof e.createdAt!="string")return;let t=e,i=ht(t.grantSuggestions);return{id:t.id,sessionId:t.sessionId,runId:t.runId,toolName:t.toolName,createdAt:t.createdAt,...typeof t.turnId=="string"?{turnId:t.turnId}:{},...typeof t.toolCallId=="string"?{toolCallId:t.toolCallId}:{},...typeof t.reason=="string"?{reason:t.reason}:{},...t.risk==="low"||t.risk==="medium"||t.risk==="high"?{risk:t.risk}:{},...typeof t.inputPreview=="string"?{inputPreview:t.inputPreview}:{},...typeof t.executionCwd=="string"?{executionCwd:t.executionCwd}:{},...i.length>0?{grantSuggestions:i}:{},...typeof t.expiresAt=="string"?{expiresAt:t.expiresAt}:{}}}o(vt,"runtimePermissionRequestFromEvent");function Y(n){return st[n]??"other"}o(Y,"inferToolKind");function Z(n,e){if(it(n)){let t=typeof e.path=="string"?e.path:void 0;return t?[{path:t}]:void 0}if(n==="bash"){let t=typeof e.command=="string"?e.command:"",i=z(t);if(i.length>0)return i.map(s=>({path:s}))}}o(Z,"inferToolLocations");function yt(n){let e=[];for(let t of n){let i=t,s=typeof i.type=="string"?i.type:"";if(s==="text"&&typeof i.text=="string"){e.push(i.text);continue}if(s==="resource_link"&&typeof i.uri=="string"){e.push(`[Resource] ${i.uri}`);continue}if(s==="resource"&&i.resource&&typeof i.resource=="object"){let r=i.resource;if(typeof r.text=="string"){e.push(r.text);continue}typeof r.uri=="string"&&e.push(`[Resource] ${r.uri}`)}}return e.join(`
2
+ import{a as he,c as Re}from"./chunks/chunk-NO23K2CB.js";import{A as ht,B as Rt,E as vt,F as yt,c as dt,d as ct,e as ut,l as lt,w as pt,x as mt,y as ft,z as gt}from"./chunks/chunk-ZS2GUADU.js";import"./chunks/chunk-5BNQXXGY.js";import{a as tt,b as nt,c as it,d as st,e as ot,f as rt,g as at}from"./chunks/chunk-QVDTORL3.js";import{a as St,b as It}from"./chunks/chunk-ZTYZYXGV.js";import{Ab as G,Sb as et,kb as Ye,lb as Ze}from"./chunks/chunk-RXDS6CNA.js";import"./chunks/chunk-5P7RTSZT.js";import{Q as ze,R as He,Ta as Be,Ya as Je,Za as Qe}from"./chunks/chunk-VEZ4WHPN.js";import"./chunks/chunk-ZQYWDI4O.js";import{O as Ue,P as Ve,Q as je,Z as $,_ as $e,aa as me,ba as fe,ca as ge,ea as Ge,ia as We,q as Ke,r as Le,s as j,u as Xe,w as De,x as qe,y as Fe,z as Ne}from"./chunks/chunk-QOFFAY5C.js";import"./chunks/chunk-QGWHJIO4.js";import{b as ke,c as Me,d as be,e as Oe,f as Te,g as pe}from"./chunks/chunk-6ZAQKFIM.js";import"./chunks/chunk-HSRYDDPF.js";import"./chunks/chunk-3PS3YEDS.js";import{$ as al,$a as rp,A as qu,Aa as Kl,Ab as Tp,B as Fu,Ba as Ll,Bb as Kp,C as Nu,Ca as Xl,Cb as Lp,Da as Dl,Db as Xp,E as U,Ea as ql,Eb as Dp,F as Uu,Fa as Fl,Fb as qp,G as Vu,Ga as Nl,Gb as Fp,H as V,Ha as Ul,Hb as Np,I as ju,Ia as Vl,Ib as Up,J as $u,Ja as jl,Jb as Vp,Ka as $l,Kb as jp,L as Gu,La as Gl,M as Wu,Ma as Wl,N as zu,Na as zl,O as Hu,Oa as le,P as Bu,Pa as Hl,Q as Ju,Qa as Bl,R as Qu,Ra as Jl,S as Yu,Sa as Ql,T as Zu,Ta as Yl,U as el,Ua as Zl,V as tl,Va as ep,W as nl,Wa as tp,X as il,Xa as np,Y as sl,Ya as ip,Z as ol,Za as sp,_ as rl,_a as op,a as te,aa as dl,ab as ap,b as Gn,ba as cl,bb as dp,c as Wn,ca as ul,cb as cp,d as zn,da as ll,db as up,e as Qs,ea as pl,eb as lp,f as Ys,fa as ml,fb as pp,g as Zs,ga as fl,gb as mp,h as Iu,ha as gl,hb as fp,i as Pu,ia as hl,ib as gp,ja as Rl,jb as hp,k as wu,ka as vl,kb as Rp,l as Au,la as yl,lb as vp,m as Eu,ma as Sl,mb as yp,n as xu,na as Il,nb as Sp,o as _u,oa as Pl,ob as Ip,p as Cu,pa as wl,pb as Pp,qa as Al,qb as wp,r as ku,ra as El,rb as Ap,s as Mu,sa as xl,sb as Ep,t as bu,ta as _l,tb as xp,u as Ou,ua as Cl,ub as _p,v as Tu,va as kl,vb as Cp,w as Ku,wa as Ml,wb as kp,x as Lu,xa as bl,xb as Mp,y as Xu,ya as Ol,yb as bp,z as Du,za as Tl,zb as Op}from"./chunks/chunk-QZ4B4AWG.js";import{Cb as Ac,Fb as Ec,G as Kd,H as Ld,I as Xd,J as Dd,K as qd,Ka as tc,L as Fd,La as nc,M as Nd,Ma as ic,Na as sc,Oa as oc,Pa as rc,R as Ud,Ra as ac,S as Vd,Sa as dc,Ta as cc,Ua as uc,Va as lc,Y as jd,Z as $d,b as Cs,ba as Gd,c as ks,ca as Wd,d as Ms,da as zd,e as bs,ea as Hd,f as Os,fa as Bd,fb as mc,g as Ts,gb as fc,i as Ks,j as Ls,ja as Jd,k as Xs,ka as Qd,la as Yd,ma as Zd,mb as gc,n as Ds,nb as hc,o as qs,ob as Rc,p as Fs,pb as vc,q as Vs,qb as yc,r as eo,s as to,tb as Sc,ua as ec,ub as Ic,vb as Pc,wb as wc}from"./chunks/chunk-K3DQGSQU.js";import{a as kc,b as Mc,c as bc,d as Oc,e as Tc,f as Kc,g as Lc,h as Xc,i as Dc,j as Su}from"./chunks/chunk-OT5WHAX4.js";import{a as pc}from"./chunks/chunk-ZZQ4GDVU.js";import{A as uu,B as lu,C as pu,D as mu,E as fu,F as gu,G as hu,H as Ru,I as vu,J as yu,a as qc,b as Fc,c as Nc,d as Uc,e as Vc,f as jc,g as $c,h as Gc,i as Wc,j as zc,k as Hc,l as Bc,m as Jc,n as Qc,o as Yc,p as Zc,q as eu,r as tu,s as nu,t as iu,u as su,v as ou,w as ru,x as au,y as du,z as cu}from"./chunks/chunk-2GV6MQ4T.js";import{$a as er,$b as jr,$c as Ta,$d as Ad,Ab as wr,Ac as ca,B as so,Bb as Ar,Bc as F,C as oo,Cc as re,Cd as td,D as ro,Db as Er,Dc as ua,Dd as nd,E as ao,Eb as xr,Ec as la,Ed as id,F as co,Fa as Xo,Fb as _r,Fc as ae,Fd as sd,Fe as xc,G as uo,Gb as Cr,Gc as pa,Gd as od,Ge as _c,H as lo,Hb as kr,Hc as ma,Hd as rd,He as Cc,I as po,Ia as Do,Ib as Mr,Ic as fa,Id as ad,Ja as qo,Jb as br,Jc as ga,Jd as dd,K as mo,Kb as Or,Kc as ha,Kd as cd,L as fo,La as Fo,Lb as Tr,Lc as Ra,Ld as ud,M as go,Ma as No,Mb as Kr,Mc as va,Md as ld,N as ho,Na as Uo,Nc as ya,Nd as pd,O as Ro,Oa as Vo,Oc as Sa,Od as ce,P as vo,Pa as jo,Pc as Ia,Pd as md,Q as yo,Qb as Lr,Qc as Pa,Qd as fd,R as So,Ra as $o,Rb as Xr,Rc as wa,Rd as gd,S as Io,Sa as Go,Sb as Dr,Sc as Aa,Sd as hd,T as Po,Ta as Wo,Tb as qr,Tc as Ea,Td as Rd,U as wo,Ua as zo,Uc as xa,V as Ao,Va as Ho,Vc as _a,Vd as vd,Wa as Bo,Wc as Ca,Wd as yd,Xa as Jo,Xb as Fr,Xc as ka,Xd as Sd,Ya as Qo,Yb as Nr,Yc as Ma,Yd as Id,Za as Yo,Zb as Ur,Zc as ba,Zd as Pd,_a as Zo,_b as Vr,_c as Oa,_d as wd,ab as tr,ac as $r,ad as Ka,ae as Ed,bb as nr,bc as Gr,bd as La,c as Ns,cb as ir,cc as Wr,cd as Xa,d as Us,db as oe,dc as zr,dd as Da,ea as Eo,eb as sr,ec as Hr,ed as qa,f as js,fa as xo,fb as or,fc as Br,fd as Fa,g as $s,ga as _o,gd as Na,h as Gs,ha as Co,hd as Ua,i as Ws,ia as ko,ib as rr,ic as Jr,id as Va,j as zs,ja as Mo,jb as ar,jc as Qr,jd as ja,k as Hs,kb as dr,kc as Yr,kd as $a,l as Bs,lb as cr,lc as Zr,ld as Ga,m as Js,mb as ur,mc as ea,md as Wa,nb as lr,nc as ta,nd as za,ne as _d,ob as pr,od as Ha,oe as Cd,pd as Ba,pe as kd,qb as mr,qd as Ja,qe as Md,rb as fr,rc as na,rd as Qa,re as ue,sb as gr,sc as ia,sd as de,t as no,tb as hr,tc as sa,td as N,te as bd,u as io,ub as Rr,ud as Ya,ue as Od,va as bo,vb as vr,vd as Za,ve as Td,wa as Oo,wb as yr,wc as oa,xa as To,xb as Sr,xc as ra,ya as Ko,yb as Ir,yc as aa,za as Lo,zb as Pr,zc as da,zd as ed}from"./chunks/chunk-4VJMQDTH.js";import"./chunks/chunk-F7DHZH6T.js";import{a as xd}from"./chunks/chunk-5DSUVP46.js";import{$e as ds,A as di,Be as Ni,Ca as ui,Ce as Ui,De as Vi,Ee as ji,Fe as $i,Ge as Gi,Ja as li,Je as Wi,Ka as pi,Ke as zi,La as mi,Lf as ms,Me as Hi,Mf as fs,Ne as Bi,Nf as gs,Oa as fi,Oe as Ji,Of as hs,Pe as Qi,Pf as Rs,Qe as Yi,Qf as vs,Rb as qi,Re as Zi,Rf as ys,Sb as Fi,Se as es,Te as ts,Ue as ns,Uf as Ss,Ve as is,Vf as Is,We as ss,Wf as Ps,Xe as os,Xf as ws,Ye as rs,Yf as As,Ze as as,Zf as Es,a as Hn,af as cs,b as Bn,bf as us,c as Jn,d as Qn,dg as xs,e as Yn,ef as ls,eg as _s,f as Zn,ff as ps,h as ei,i as ti,j as ni,k as ii,l as si,x as oi,y as ri,z as ai,za as ci}from"./chunks/chunk-VDGPJQL7.js";import{A as bi,B as Oi,C as Ti,D as Ki,E as Li,F as Xi,G as Di,d as gi,l as hi,m as Ri,n as vi,o as yi,p as Si,q as Ii,r as Pi,s as wi,t as Ai,u as Ei,v as xi,w as _i,x as Ci,y as ki,z as Mi}from"./chunks/chunk-ZPPAT25E.js";import{$a as _n,Aa as un,Ba as ln,C as Zt,D as en,Ha as pn,Ia as mn,Ja as se,Ka as fn,L as tn,M as nn,Na as gn,Oa as hn,Qa as Rn,Ra as vn,S as ne,Sa as yn,T as sn,Ta as Sn,U as on,Ua as In,V as ie,Va as Pn,W as rn,Wa as wn,X as an,Xa as An,Ya as En,_a as xn,ab as Cn,bb as kn,cb as Mn,db as bn,eb as On,fb as Tn,gb as Kn,hb as Ln,ib as Xn,ja as dn,kb as Dn,lb as qn,mb as Fn,nb as Nn,pb as Un,q as Jt,qb as Vn,r as Qt,rb as jn,t as Yt,ta as cn,ub as $n}from"./chunks/chunk-7V2QBZ73.js";import{a as r}from"./chunks/chunk-ONUPGMER.js";import Pt from"node:process";var ye=["off","error","info","debug"],ve={off:0,error:1,info:2,debug:3};function W(n,e="info"){if(!n)return e;let t=n.trim().toLowerCase();return ye.includes(t)?t:e}r(W,"resolveAcpLogLevel");var b=class{static{r(this,"AcpLogger")}level;sink;constructor(e={}){this.level=e.level??"info",this.sink=e.sink??(t=>{Pt.stderr.write(`${t}
3
+ `)})}handleEvent(e){let t=wt(e);t&&this.log(t.level,t.message,t.fields)}error(e,t){this.log("error",e,t)}info(e,t){this.log("info",e,t)}debug(e,t){this.log("debug",e,t)}log(e,t,i){if(ve[this.level]<ve[e])return;let s=new Date().toISOString(),a=i?Et(i):"",d=a?` ${a}`:"";this.sink(`[ACP][${e.toUpperCase()}][${s}] ${t}${d}`)}};function wt(n){switch(n.type){case"server_attached":return{level:"info",message:"ACP server attached",fields:v(n)};case"connection_closed":return{level:"info",message:"ACP connection closed",fields:v(n)};case"initialize_completed":return{level:"info",message:"ACP initialize completed",fields:v(n)};case"session_created":return{level:"info",message:"ACP session created",fields:v(n)};case"session_mode_changed":return{level:"info",message:"ACP session mode changed",fields:v(n)};case"prompt_skipped":return{level:"info",message:"ACP prompt skipped because session was already aborted",fields:v(n)};case"prompt_started":return{level:"info",message:"ACP prompt started",fields:v(n)};case"prompt_preview":return{level:"debug",message:"ACP prompt preview",fields:v(n)};case"prompt_finished":return{level:"info",message:"ACP prompt finished",fields:v(n)};case"prompt_cancelled":return{level:"info",message:"ACP prompt cancelled during execution",fields:v(n)};case"prompt_failed":return{level:"error",message:"ACP prompt failed",fields:v(n)};case"cancel_requested":return{level:"info",message:"ACP cancel requested",fields:v(n)};case"tool_permission_evaluated":return{level:"debug",message:"ACP evaluating tool permission",fields:v(n)};case"tool_permission_resolved":return At(n);case"permission_requested":return{level:"info",message:"ACP permission requested",fields:v(n)};case"notification_failed":return{level:"error",message:`Failed to send ${n.label}`,fields:{sessionId:n.sessionId,error:n.error}};case"repo_intelligence_trace":return{level:"debug",message:"ACP repo intelligence trace",fields:v(n)};default:return null}}r(wt,"mapEventToLogEntry");function v(n){let{type:e,...t}=n;return t}r(v,"toLogFields");function At(n){let e={sessionId:n.sessionId,tool:n.tool,toolId:n.toolId,error:n.error};switch(n.outcome){case"request_failed_disconnected":return{level:"error",message:"ACP permission request failed because client is disconnected",fields:e};case"request_failed_incomplete":return{level:"error",message:"ACP permission request did not complete",fields:e};case"request_dismissed":return{level:"info",message:"ACP permission request dismissed",fields:e};case"request_rejected":return{level:"info",message:"ACP permission rejected",fields:e};case"request_granted":return{level:"info",message:"ACP permission granted",fields:{...e,remember:n.remember??!1}};default:return{level:"info",message:"ACP legacy permission outcome observed",fields:{...e,outcome:n.outcome}}}}r(At,"mapPermissionOutcomeToLogEntry");function Et(n){return Object.entries(n).flatMap(([e,t])=>t===void 0?[]:`${e}=${xt(t)}`).join(" ")}r(Et,"formatFields");function xt(n){return n===null?"null":typeof n=="string"?JSON.stringify(n.length>160?`${n.slice(0,157)}...`:n):String(n)}r(xt,"formatFieldValue");var T=["plan","accept-edits","auto","full-access"],O=class{static{r(this,"AcpEventEmitter")}sinks;constructor(e={}){this.sinks=[...e.sinks??[]]}emit(e){for(let t of this.sinks)try{t.handleEvent(e)}catch(i){}}};import{randomUUID as L}from"node:crypto";import _ from"node:path";import w from"node:process";import{Readable as _t,Writable as Ct}from"node:stream";async function Se(n,e,t,i,s,a){let d=new Map,l=new Map,c=new Map,u=new Set,h=new Map,m=new Set,g=!1,p=!1,y,R=Promise.resolve(),I,E=r(()=>{},"reportFailure"),we=new Promise(o=>{E=o});function C(o){I=o,E(o)}r(C,"fail");async function K(o,f,P=0){let x=f==="text"?o.text:o.tool?.inputText??"",k=(f==="text"?o.totalTextLength:o.tool?.totalInputLength)??x.length;return k<=x.length&&(f==="input"||!o.textOffset)?x.slice(P):te(D=>n.sessions.readItem(e,o.id,{part:f,offset:D}),o.id,{offset:P,length:k,...f==="text"?{version:o}:{}})}r(K,"fullText");async function Ae(o){if(p||u.has(o.id))return;if(o.type==="tool"&&o.tool){let S=o.tool;if(!h.has(S.callId)){let Ce=await K(o,"input");await t({sessionId:e,update:{sessionUpdate:"tool_call",toolCallId:S.callId,title:S.name,...s(S.name,Ce),status:"pending"}})}let q=await K(o,"text"),ee=`${S.status}:${q}`;if(h.get(S.callId)===ee)return;h.set(S.callId,ee);let _e=S.status==="success"?"completed":S.status==="error"||S.status==="cancelled"?"failed":"in_progress";await t({sessionId:e,update:{sessionUpdate:"tool_call_update",toolCallId:S.callId,title:S.name,status:_e,rawOutput:q,content:[{type:"content",content:{type:"text",text:q}}]}});return}if(o.type!=="assistant"&&o.type!=="thinking")return;let f=d.get(o.id)??"",P=o.textOffset??0,x=o.totalTextLength??o.text.length,k=o.textRevision??0,D=Math.max(0,f.length-P),M=d.has(o.id)&&l.get(o.id)===k&&c.get(o.id)===o.outputState&&x>=f.length&&o.text.slice(0,D)===f.slice(P)?f+(f.length<P?await K(o,"text",f.length):o.text.slice(f.length-P)):await K(o,"text");if(l.set(o.id,k),c.set(o.id,o.outputState),M===f)return;let xe=M.startsWith(f)?M.slice(f.length):`
4
+ [Updated response]
5
+ ${M}`;d.set(o.id,M),await t({sessionId:e,update:{sessionUpdate:o.type==="thinking"?"agent_thought_chunk":"agent_message_chunk",content:{type:"text",text:xe}}})}r(Ae,"projectItem");function Ee(o){for(let f of o.interactions)if(!m.has(f.requestId)){if(m.add(f.requestId),f.kind!=="permission"){R=R.then(()=>t({sessionId:e,update:{sessionUpdate:"agent_message_chunk",content:{type:"text",text:`
6
+ [ACP] This request needs an interactive answer. Open this Session in a KodaX client to answer, or cancel this prompt.
7
+ `}}})).catch(C);continue}i(f).then(async P=>{p||!y?.interactions.some(x=>x.requestId===f.requestId)||await n.interactions.respond(f.requestId,{kind:"permission",decision:P})}).catch(C)}}r(Ee,"answerInteractions");function Y(o){if(!p){if(y=o,R=R.then(()=>a?.(o.settings)).catch(C),!g){g=!0;for(let f of o.items)u.add(f.id);for(let f of o.interactions)m.add(f.requestId);return}Ee(o),R=R.then(async()=>{for(let f of o.items)await Ae(f)}).catch(C)}}r(Y,"receive");let Z=await n.sessions.observe(e,Y,{onStatus(o){p||o.state==="live"||o.state==="closed"&&o.reason==="client"||(p=!0,C(new Error(o.message??`ACP Host observation ${o.state==="interrupted"?"was interrupted":"is unavailable"}.`)))}});if(await R,I!==void 0)throw Z.close(),I;return{failed:we,async flush(){if((await n.sessions.observe(e,Y)).close(),await R,I!==void 0)throw I},close(){p=!0,Z.close()}}}r(Se,"observeAcpClientPrompt");var kt=await import("@agentclientprotocol/sdk");function A(){return kt}r(A,"acpSdk");function Mt(n){return ce(n)}r(Mt,"acpIsFileModificationTool");var bt={read:"read",write:"edit",edit:"edit",undo:"edit",bash:"execute",grep:"search",glob:"search",think:"think",fetch:"fetch"},Ot=[{id:"plan",name:"Plan",description:"Read-only planning mode. File modifications are blocked except the plan-mode whitelist."},{id:"accept-edits",name:"Edits",description:"Uses the sandbox first and asks only at a real host boundary."},{id:"auto",name:"Auto[LLM]",description:"Uses the sandbox first and reviews only a real host-boundary operation."},{id:"full-access",name:"Full Access",description:"Executes directly on the host without sandbox or approval prompts."}];function Q(n,e){if(n==null)return;if(typeof n!="string")throw new Error(`${e} must be a string.`);let t=ne(n);return t==="auto"?void 0:t}r(Q,"normalizeOptionalEffort");function Tt(n){let e=n.replace(/\s+/g," ").trim();return e.length<=80?e:`${e.slice(0,77)}...`}r(Tt,"buildAcpSessionTitle");function Kt(n){let e=n.effort;if(e===void 0)return{kind:"absent"};try{return{kind:"value",value:Q(e,"Prompt effort")}}catch(t){let i=t instanceof Error?t.message:String(t);throw A().RequestError.invalidParams({effort:e},i)}}r(Kt,"resolvePromptEffortOverride");function Ie(n){let e={};for(let t of n)if("command"in t){let i={};for(let s of t.env??[])i[s.name]=s.value;e[t.name]={type:"stdio",command:t.command,args:t.args??[],env:Object.keys(i).length>0?i:void 0}}else if("type"in t&&t.type==="sse"){let i={};for(let s of t.headers??[])i[s.name]=s.value;e[t.name]={type:"sse",url:t.url,headers:Object.keys(i).length>0?i:void 0}}else if("type"in t&&t.type==="http"){let i={};for(let s of t.headers??[])i[s.name]=s.value;e[t.name]={type:"http",url:t.url,headers:Object.keys(i).length>0?i:void 0}}return e}r(Ie,"convertAcpMcpServers");function Lt(n){let e=[];for(let t of n){let i=t.trim();i&&!e.includes(i)&&e.push(i)}return e}r(Lt,"dedupeExtensionPaths");function Xt(n){return Array.isArray(n)?Lt(n.filter(e=>typeof e=="string"&&e.trim().length>0).map(e=>_.isAbsolute(e)?e:_.resolve(_.dirname(j),e))):[]}r(Xt,"normalizeConfiguredExtensionPaths");async function Dt(n){try{return await ae()}catch(e){let t=e instanceof Error?e.message:String(e);return n.error("ACP extension discovery failed: "+t),[]}}r(Dt,"discoverAcpDefaultExtensions");async function qt(n,e,t){let i=await F(t),s=await re(await F(e),i);await n.loadExtensions(s,{continueOnError:!0,loadSource:"discovery"}),await n.loadExtensions(i,{continueOnError:!0,loadSource:"config"})}r(qt,"loadAcpExtensionGroups");function Pe(n,e){if(!n.allowed)return{type:"reject",reason:n.override??"Operation cancelled by user."};if(!n.remember)return{type:"allow_once"};let t=e.grantSuggestions?.find(i=>i.kind==="persistent")??e.grantSuggestions?.find(i=>i.kind==="session");return t===void 0?{type:"allow_once"}:t.kind==="persistent"?{type:"allow_always",suggestionId:t.id}:{type:"allow_session",suggestionId:t.id}}r(Pe,"toClientPermissionDecision");function Ft(n,e){let t;return{settled:new Promise(s=>{let a=n.events.subscribe({sessionId:e.sessionId,runId:e.runId,type:"permission.resolved"},d=>{d.payload?.requestId===e.id&&s(!0)});t=r(()=>a.close(),"closeSubscription")}),close:r(()=>t?.(),"close")}}r(Ft,"watchRuntimePermissionSettlement");function Nt(n,e="accept-edits"){return n==="auto-in-project"?"auto":n&&T.includes(n)?n:e}r(Nt,"normalizeAcpPermissionMode");function Ut(n){if(n==="auto-in-project")return"auto";if(n&&T.includes(n))return n;throw A().RequestError.invalidParams({modeId:n},"Invalid session mode. Expected one of: plan, accept-edits, auto, full-access.")}r(Ut,"parseSessionMode");function Vt(n){return{availableModes:Ot,currentModeId:n}}r(Vt,"buildModeState");function z(n){if(!n)return{};try{let e=JSON.parse(n);return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:{_inputPreview:n}}catch{return{_inputPreview:n}}}r(z,"parsePermissionInputPreview");function jt(n){return Array.isArray(n)?n.flatMap(e=>e===null||typeof e!="object"||typeof e.id!="string"||e.kind!=="session"&&e.kind!=="persistent"||typeof e.label!="string"?[]:[e]):[]}r(jt,"parsePermissionGrantSuggestions");function $t(n){if(n.type!=="permission.requested")return;let e=n.payload;if(e===null||typeof e!="object"||typeof e.id!="string"||typeof e.sessionId!="string"||typeof e.runId!="string"||typeof e.toolName!="string"||typeof e.createdAt!="string")return;let t=e,i=jt(t.grantSuggestions);return{id:t.id,sessionId:t.sessionId,runId:t.runId,toolName:t.toolName,createdAt:t.createdAt,...typeof t.turnId=="string"?{turnId:t.turnId}:{},...typeof t.toolCallId=="string"?{toolCallId:t.toolCallId}:{},...typeof t.reason=="string"?{reason:t.reason}:{},...t.risk==="low"||t.risk==="medium"||t.risk==="high"?{risk:t.risk}:{},...typeof t.inputPreview=="string"?{inputPreview:t.inputPreview}:{},...typeof t.executionCwd=="string"?{executionCwd:t.executionCwd}:{},...i.length>0?{grantSuggestions:i}:{},...typeof t.expiresAt=="string"?{expiresAt:t.expiresAt}:{}}}r($t,"runtimePermissionRequestFromEvent");function H(n){return bt[n]??"other"}r(H,"inferToolKind");function B(n,e){if(Mt(n)){let t=typeof e.path=="string"?e.path:void 0;return t?[{path:t}]:void 0}if(n==="bash"){let t=typeof e.command=="string"?e.command:"",i=le(t);if(i.length>0)return i.map(s=>({path:s}))}}r(B,"inferToolLocations");function Gt(n){let e=[];for(let t of n){let i=t,s=typeof i.type=="string"?i.type:"";if(s==="text"&&typeof i.text=="string"){e.push(i.text);continue}if(s==="resource_link"&&typeof i.uri=="string"){e.push(`[Resource] ${i.uri}`);continue}if(s==="resource"&&i.resource&&typeof i.resource=="object"){let a=i.resource;if(typeof a.text=="string"){e.push(a.text);continue}typeof a.uri=="string"&&e.push(`[Resource] ${a.uri}`)}}return e.join(`
4
8
 
5
- `).trim()}o(yt,"extractPromptText");function St(n){return/^\[(?:Tool Error|Cancelled|Blocked|Error)\]/.test(n)}o(St,"isToolResultFailure");function Pt(n){return n instanceof Error?n.name==="AbortError"||n.message.includes("aborted")||n.message.includes("ABORTED"):!1}o(Pt,"isAbortLikeError");function ee(n){let e=n?.usage;if(e)return{inputTokens:e.inputTokens,outputTokens:e.outputTokens,totalTokens:e.totalTokens,...e.cachedReadTokens!==void 0?{cachedReadTokens:e.cachedReadTokens}:{},...e.cachedWriteTokens!==void 0?{cachedWriteTokens:e.cachedWriteTokens}:{},...e.thoughtTokens!==void 0?{thoughtTokens:e.thoughtTokens}:{}}}o(ee,"toAcpUsage");var A=class{static{o(this,"KodaXAcpServer")}provider;model;effort;planModeEffort;thinking;reasoningMode;defaultPermissionMode;defaultCwd;hasFixedCwd;agentName;agentVersion;storage;runtimeReady;ownsRuntime;logger;events;configuredExtensions;discoveredExtensions;connection=null;sessions=new Map;extensionRuntime;extensionRuntimeReady;disposePromise;constructor(e={}){let t=v.env.KODAX_PROVIDER,i=v.env.KODAX_EFFORT,s=C(),r=s;this.provider=$({explicitProvider:e.provider,environmentProvider:t,configuredProvider:s.provider,defaultProvider:F}),this.model=G({explicitProvider:e.provider,environmentProvider:t,explicitModel:e.model,configuredProvider:s.provider,configuredModel:s.model});let d=e.effort!==void 0||q(i).kind==="value";this.effort=T(H({explicitEffort:e.effort,environmentEffort:i,configuredEffort:s.effort}),"Configured effort"),this.planModeEffort=d?void 0:T(e.planModeEffort??s.planModeEffort,"Configured plan-mode effort"),this.thinking=e.thinking??s.thinking??!1,this.reasoningMode=e.reasoningMode??s.reasoningMode??"auto",this.defaultPermissionMode=mt(e.permissionMode??s.permissionMode,"accept-edits");let c=y.resolve(e.cwd??v.cwd()),a=ct(r.extensions),u=new P({level:L(e.logLevel??v.env.KODAX_ACP_LOG,"info")}),f=lt(u);this.defaultCwd=c,this.hasFixedCwd=e.cwd!==void 0,this.agentName=e.agentName??"kodax-acp-server",this.agentVersion=e.agentVersion??"0.0.0",this.storage=e.storage??new b,this.logger=u,this.ownsRuntime=e.runtime===void 0,this.runtimeReady=e.runtime?Promise.resolve(e.runtime):K({homeDir:e.homeDir??Ze.homedir(),sessionsDir:this.storage.getSessionsDir(),profile:"acp",defaultProvider:this.provider,...this.model!==void 0?{defaultModel:this.model}:{}}),this.configuredExtensions=a,this.discoveredExtensions=f,this.events=new I({sinks:[...e.eventSinks??[],u]});let m=s.mcpServers,S=m&&Object.values(m).some(p=>(p.connect??"lazy")!=="disabled");this.extensionRuntimeReady=(async()=>{let p=await f,h=p.length>0||a.length>0;if(!S&&!h)return;let R=x({config:s});S&&await _(R,m,{reverse:k({cwd:c})}),await pt(R,p,a),R.activate(),this.extensionRuntime=R})().catch(p=>{let h=p instanceof Error?p.message:String(p);u.error("ACP extension initialization failed: "+h)})}attach(e,t){let{AgentSideConnection:i,ndJsonStream:s}=g(),r=s(t,e),d=new i(()=>this,r);this.connection=d;let c=this.effort==="none"?!1:this.thinking,a=this.effort==="none"?"off":this.reasoningMode;return this.events.emit({type:"server_attached",agent:this.agentName,version:this.agentVersion,provider:this.provider,model:this.model??"(default)",cwd:this.defaultCwd,permissionMode:this.defaultPermissionMode,reasoningMode:a,thinking:c,fixedCwd:this.hasFixedCwd}),d.signal.addEventListener("abort",()=>{let u=this.sessions.size;this.events.emit({type:"connection_closed",activeSessions:u}),this.dispose()}),d}async waitForClose(){await this.connection?.closed}async dispose(){return this.disposePromise?this.disposePromise:(this.disposePromise=(async()=>{for(let i of this.sessions.values())await this.abortSessionRuns(i);let e=new Set;for(let i of this.sessions.values())i.ownedExtensionRuntime&&(e.add(i.ownedExtensionRuntime),i.ownedExtensionRuntime=void 0),i.extensionRuntime=void 0;this.sessions.clear(),this.connection=null;let t=this.extensionRuntimeReady;this.extensionRuntimeReady=void 0,await t?.catch(()=>{}),this.extensionRuntime&&(e.add(this.extensionRuntime),this.extensionRuntime=void 0),await Promise.all([...e].map(i=>i.dispose())),this.ownsRuntime&&await(await this.runtimeReady).close().catch(()=>{}),await W()})(),this.disposePromise)}async initialize(e){return this.events.emit({type:"initialize_completed",protocolVersion:g().PROTOCOL_VERSION}),{protocolVersion:g().PROTOCOL_VERSION,agentInfo:{name:this.agentName,version:this.agentVersion},agentCapabilities:{promptCapabilities:{embeddedContext:!0,image:!1,audio:!1},sessionCapabilities:{}}}}async newSession(e){let t=this.hasFixedCwd?this.defaultCwd:e.cwd??this.defaultCwd;if(!y.isAbsolute(t))throw g().RequestError.invalidParams({cwd:t},"Session cwd must be an absolute path.");let i=X(),s=e.mcpServers??[],r={sessionId:i,cwd:y.resolve(t),permissionMode:this.defaultPermissionMode,mcpServers:s,activeRunIds:new Set};if(s.length>0){let d=dt(s),c=x({});await _(c,d,{reverse:k({cwd:r.cwd})}).catch(a=>{let u=a instanceof Error?a.message:String(a);this.logger.error("ACP per-session MCP init failed for "+i+": "+u)}),await this.extensionRuntimeReady,r.ownedExtensionRuntime=c,r.extensionRuntime=this.extensionRuntime?j(c,this.extensionRuntime):c}return this.sessions.set(i,r),this.events.emit({type:"session_created",sessionId:i,cwd:r.cwd,permissionMode:r.permissionMode,mcpServers:r.mcpServers.length}),{sessionId:i,modes:gt(r.permissionMode)}}async authenticate(){}async setSessionMode(e){let t=this.requireSession(e.sessionId),i=t.permissionMode,s=ft(e.modeId);return t.permissionMode=s,t.runtimeSessionReady&&(await t.runtimeSessionReady,await(await this.runtimeReady).sessions.updateSettings(t.sessionId,{permissionMode:s})),this.events.emit({type:"session_mode_changed",sessionId:t.sessionId,from:i,to:s}),await this.sendSessionUpdate({sessionId:t.sessionId,update:{sessionUpdate:"current_mode_update",currentModeId:s}}),{}}async prompt(e){let t=this.requireSession(e.sessionId),i=yt(e.prompt),s=at(e);if(!i)throw g().RequestError.invalidParams({prompt:e.prompt},"Prompt must include at least one text or resource block with content.");let r=Date.now();return o(async()=>{let c=Date.now();this.events.emit({type:"prompt_started",sessionId:t.sessionId,messageId:e.messageId??null,chars:i.length,cwd:t.cwd,queueDelayMs:c-r}),this.events.emit({type:"prompt_preview",sessionId:t.sessionId,prompt:i});let a,u;try{this.extensionRuntimeReady&&await this.extensionRuntimeReady;let f=await this.runtimeReady;await this.ensureRuntimeSession(f,t,i),u=this.createRuntimePermissionBridge(f,t),a=await f.runs.start({sessionId:t.sessionId,prompt:i,permissionBroker:"client",options:this.buildKodaXOptions(t,s)}),u?.setRunId(a.runId),t.activeRunIds.add(a.runId);let m=await a.result;if(m.error)throw m.error;let S=m.phase==="cancelled"||m.phase==="interrupted",p=m.result;if(!p){if(S)return this.events.emit({type:"prompt_cancelled",sessionId:t.sessionId,durationMs:Date.now()-c}),{stopReason:"cancelled",userMessageId:e.messageId??void 0};throw new Error(`Runtime run ${a.runId} ended without a coding result.`)}t.contextTokenSnapshot=p.contextTokenSnapshot;let h=!!p.interrupted||S,R=h?"cancelled":"end_turn";return this.events.emit({type:"prompt_finished",sessionId:t.sessionId,stopReason:R,interrupted:h,durationMs:Date.now()-c}),{stopReason:R,userMessageId:e.messageId??void 0,...ee(p.contextTokenSnapshot)?{usage:ee(p.contextTokenSnapshot)}:{}}}catch(f){if(Pt(f))return this.events.emit({type:"prompt_cancelled",sessionId:t.sessionId,durationMs:Date.now()-c}),{stopReason:"cancelled",userMessageId:e.messageId??void 0};let m=f instanceof Error?f.message:String(f);return this.events.emit({type:"prompt_failed",sessionId:t.sessionId,durationMs:Date.now()-c,error:m}),await this.sendTextChunk(t.sessionId,`
6
- [ACP Server Error] ${m}
7
- `),{stopReason:"end_turn",userMessageId:e.messageId??void 0}}finally{a&&t.activeRunIds.delete(a.runId),await u?.close()}},"task")()}async ensureRuntimeSession(e,t,i){t.runtimeSessionReady||(t.runtimeSessionReady=e.sessions.create({sessionId:t.sessionId,title:rt(i),projectPath:t.cwd,gitRoot:t.cwd,surface:"acp"}).then(async()=>{await e.sessions.updateSettings(t.sessionId,{permissionMode:t.permissionMode})}));try{await t.runtimeSessionReady}catch(s){throw t.runtimeSessionReady=void 0,s}}async cancel(e){let t=this.sessions.get(e.sessionId);this.events.emit({type:"cancel_requested",sessionId:e.sessionId,active:(t?.activeRunIds.size??0)>0}),t&&await this.abortSessionRuns(t)}async abortSessionRuns(e){if(e.activeRunIds.size===0)return;let t=await this.runtimeReady,i=e.activeRunIds.values().next().value;i!==void 0&&(e.stopRequest?.expectedRunId!==i&&(e.stopRequest={expectedRunId:i,requestId:X()}),await t.sessions.cancel({sessionId:e.sessionId,...e.stopRequest}))}requireSession(e){let t=this.sessions.get(e);if(!t)throw g().RequestError.resourceNotFound(e);return t}buildKodaXOptions(e,t={kind:"absent"}){let i=t.kind==="value"?t.value:e.permissionMode==="plan"&&this.planModeEffort!==void 0?this.planModeEffort:this.effort;return{provider:this.provider,model:this.model,effort:i,thinking:i==="none"?!1:this.thinking,reasoningMode:i==="none"?"off":this.reasoningMode,extensionRuntime:e.extensionRuntime??this.extensionRuntime,session:{id:e.sessionId,storage:this.storage},context:{gitRoot:e.cwd,executionCwd:e.cwd,contextTokenSnapshot:e.contextTokenSnapshot},events:{onTextDelta:o(s=>{this.dispatchNotification("assistant text chunk",e.sessionId,this.sendTextChunk(e.sessionId,s))},"onTextDelta"),onThinkingDelta:o(s=>{this.dispatchNotification("thinking chunk",e.sessionId,this.sendSessionUpdate({sessionId:e.sessionId,update:{sessionUpdate:"agent_thought_chunk",content:{type:"text",text:s}}}))},"onThinkingDelta"),onToolUseStart:o(s=>{this.dispatchNotification("tool call start",e.sessionId,this.sendSessionUpdate({sessionId:e.sessionId,update:{sessionUpdate:"tool_call",toolCallId:s.id,title:s.name,kind:Y(s.name),rawInput:s.input,locations:Z(s.name,s.input??{}),status:"pending"}}))},"onToolUseStart"),onToolResult:o(s=>{this.dispatchNotification("tool call update",e.sessionId,this.sendSessionUpdate({sessionId:e.sessionId,update:{sessionUpdate:"tool_call_update",toolCallId:s.id,title:s.name,status:St(s.content)?"failed":"completed",rawOutput:s.content}}))},"onToolResult"),onRepoIntelligenceTrace:o(s=>{this.events.emit({type:"repo_intelligence_trace",sessionId:e.sessionId,stage:s.stage,summary:s.summary,mode:s.capability?.mode,engine:s.capability?.engine,status:s.capability?.status,cacheHit:s.trace?.cacheHit,capsuleEstimatedTokens:s.trace?.capsuleEstimatedTokens})},"onRepoIntelligenceTrace"),onError:o(s=>{this.dispatchNotification("error text chunk",e.sessionId,this.sendTextChunk(e.sessionId,`
9
+ `).trim()}r(Gt,"extractPromptText");function Wt(n){return/^\[(?:Tool Error|Cancelled|Blocked|Error)\]/.test(n)}r(Wt,"isToolResultFailure");function zt(n){return n instanceof Error?n.name==="AbortError"||n.message.includes("aborted")||n.message.includes("ABORTED"):!1}r(zt,"isAbortLikeError");function J(n){let e=n?.usage;if(e)return{inputTokens:e.inputTokens,outputTokens:e.outputTokens,totalTokens:e.totalTokens,...e.cachedReadTokens!==void 0?{cachedReadTokens:e.cachedReadTokens}:{},...e.cachedWriteTokens!==void 0?{cachedWriteTokens:e.cachedWriteTokens}:{},...e.thoughtTokens!==void 0?{thoughtTokens:e.thoughtTokens}:{}}}r(J,"toAcpUsage");var X=class{static{r(this,"KodaXAcpServer")}provider;model;effort;planModeEffort;thinking;reasoningMode;repoIntelligence;defaultPermissionMode;defaultCwd;hasFixedCwd;agentName;agentVersion;storage;runtimeReady;clientReady;ownsClient;initialHostSettings;logger;events;configuredExtensions;discoveredExtensions;connection=null;sessions=new Map;extensionRuntime;extensionRuntimeReady;disposePromise;constructor(e={}){let t=w.env.KODAX_PROVIDER,i=w.env.KODAX_EFFORT,s=$(),a=s;this.provider=me({explicitProvider:e.provider,environmentProvider:t,configuredProvider:s.provider,defaultProvider:se}),this.model=fe({explicitProvider:e.provider,environmentProvider:t,explicitModel:e.model,configuredProvider:s.provider,configuredModel:s.model});let d=e.effort!==void 0||ie(i).kind==="value";this.effort=Q(ge({explicitEffort:e.effort,environmentEffort:i,configuredEffort:s.effort}),"Configured effort"),this.planModeEffort=d?void 0:Q(e.planModeEffort??s.planModeEffort,"Configured plan-mode effort"),this.thinking=e.thinking??s.thinking??!1,this.reasoningMode=e.reasoningMode??s.reasoningMode??"auto",this.repoIntelligence=oe(),this.defaultPermissionMode=Nt(e.permissionMode??s.permissionMode,"accept-edits"),this.initialHostSettings={...e.provider!==void 0||t?.trim()?{provider:this.provider}:{},...e.model!==void 0?{model:e.model}:{},...d?{effort:this.effort??null}:{},...e.planModeEffort!==void 0?{planModeEffort:e.planModeEffort}:{},...e.thinking!==void 0?{thinking:e.thinking}:{},...e.reasoningMode!==void 0?{reasoningMode:e.reasoningMode}:{},...e.permissionMode!==void 0?{permissionMode:this.defaultPermissionMode}:{},...w.env.KODAX_REPO_INTELLIGENCE!==void 0?{repoIntelligenceMode:this.repoIntelligence.mode}:{},...w.env.KODAX_REPO_INTELLIGENCE_TRACE!==void 0?{repoIntelligenceTrace:this.repoIntelligence.trace}:{}};let l=_.resolve(e.cwd??w.cwd()),c=Xt(a.extensions),u=new b({level:W(e.logLevel??w.env.KODAX_ACP_LOG,"info")}),h=e.runtime?Dt(u):Promise.resolve([]);if(this.defaultCwd=l,this.hasFixedCwd=e.cwd!==void 0,this.agentName=e.agentName??"kodax-acp-server",this.agentVersion=e.agentVersion??"0.0.0",e.storage&&!e.runtime)throw new Error("ACP custom storage requires an explicitly injected Runtime.");this.storage=e.runtime?e.storage??new G:void 0,this.logger=u,this.ownsClient=e.runtime===void 0,this.runtimeReady=e.runtime?Promise.resolve(e.runtime):void 0,this.clientReady=this.runtimeReady?this.runtimeReady.then(p=>he(p)):Re({homeDir:e.homeDir,clientInfo:{name:this.agentName,version:this.agentVersion,clientType:"cli"}}),this.configuredExtensions=c,this.discoveredExtensions=h,this.events=new O({sinks:[...e.eventSinks??[],u]});let m=s.mcpServers,g=m&&Object.values(m).some(p=>(p.connect??"lazy")!=="disabled");this.extensionRuntimeReady=(async()=>{if(!e.runtime)return;let p=await h,y=p.length>0||c.length>0;if(!g&&!y)return;let R=N({config:s});g&&await U(R,m,{reverse:V({cwd:l})}),await qt(R,p,c),R.activate(),this.extensionRuntime=R})().catch(p=>{let y=p instanceof Error?p.message:String(p);u.error("ACP extension initialization failed: "+y)})}attach(e,t){let{AgentSideConnection:i,ndJsonStream:s}=A(),a=s(t,e),d=new i(()=>this,a);this.connection=d;let l=this.effort==="none"?!1:this.thinking,c=this.effort==="none"?"off":this.reasoningMode;return this.events.emit({type:"server_attached",agent:this.agentName,version:this.agentVersion,provider:this.provider,model:this.model??"(default)",cwd:this.defaultCwd,permissionMode:this.defaultPermissionMode,reasoningMode:c,thinking:l,fixedCwd:this.hasFixedCwd}),d.signal.addEventListener("abort",()=>{let u=this.sessions.size;this.events.emit({type:"connection_closed",activeSessions:u}),this.dispose()}),d}async waitForClose(){await this.connection?.closed}async dispose(){return this.disposePromise?this.disposePromise:(this.disposePromise=(async()=>{for(let i of this.sessions.values())i.cancellationGeneration++,await this.abortSessionRuns(i);let e=new Set;for(let i of this.sessions.values())i.ownedExtensionRuntime&&(e.add(i.ownedExtensionRuntime),i.ownedExtensionRuntime=void 0),i.extensionRuntime=void 0;this.sessions.clear(),this.connection=null;let t=this.extensionRuntimeReady;this.extensionRuntimeReady=void 0,await t?.catch(()=>{}),this.extensionRuntime&&(e.add(this.extensionRuntime),this.extensionRuntime=void 0),await Promise.all([...e].map(i=>i.dispose())),this.ownsClient&&await(await this.clientReady).disconnect(),this.runtimeReady&&await ue()})(),this.disposePromise)}async initialize(e){return this.events.emit({type:"initialize_completed",protocolVersion:A().PROTOCOL_VERSION}),{protocolVersion:A().PROTOCOL_VERSION,agentInfo:{name:this.agentName,version:this.agentVersion},agentCapabilities:{promptCapabilities:{embeddedContext:!0,image:!1,audio:!1},sessionCapabilities:{}}}}async newSession(e){let t=this.hasFixedCwd?this.defaultCwd:e.cwd??this.defaultCwd;if(!_.isAbsolute(t))throw A().RequestError.invalidParams({cwd:t},"Session cwd must be an absolute path.");let i=L(),s=e.mcpServers??[],a={sessionId:i,cwd:_.resolve(t),permissionMode:this.defaultPermissionMode,mcpServers:s,activeRunIds:new Set,cancellationGeneration:0};if(this.runtimeReady&&s.length>0){let d=Ie(s),l=N({});await U(l,d,{reverse:V({cwd:a.cwd})}).catch(c=>{let u=c instanceof Error?c.message:String(c);this.logger.error("ACP per-session MCP init failed for "+i+": "+u)}),await this.extensionRuntimeReady,a.ownedExtensionRuntime=l,a.extensionRuntime=this.extensionRuntime?de(l,this.extensionRuntime):l}return this.sessions.set(i,a),this.events.emit({type:"session_created",sessionId:i,cwd:a.cwd,permissionMode:a.permissionMode,mcpServers:a.mcpServers.length}),{sessionId:i,modes:Vt(a.permissionMode)}}async authenticate(){}async setSessionMode(e){let t=this.requireSession(e.sessionId),i=t.permissionMode,s=Ut(e.modeId);return t.runtimeSessionReady&&(await t.runtimeSessionReady,await(await this.clientReady).sessions.updateSettings(t.sessionId,{permissionMode:s})),t.permissionMode=s,t.permissionModeExplicit=!0,this.events.emit({type:"session_mode_changed",sessionId:t.sessionId,from:i,to:s}),await this.sendSessionUpdate({sessionId:t.sessionId,update:{sessionUpdate:"current_mode_update",currentModeId:s}}),{}}async prompt(e){let t=this.requireSession(e.sessionId),i=Gt(e.prompt),s=Kt(e);if(!i)throw A().RequestError.invalidParams({prompt:e.prompt},"Prompt must include at least one text or resource block with content.");let a=Date.now(),d=t.cancellationGeneration,l=r(async()=>{let u=Date.now();this.events.emit({type:"prompt_started",sessionId:t.sessionId,messageId:e.messageId??null,chars:i.length,cwd:t.cwd,queueDelayMs:u-a}),this.events.emit({type:"prompt_preview",sessionId:t.sessionId,prompt:i});let h,m;try{if(this.extensionRuntimeReady&&await this.extensionRuntimeReady,await this.ensureRuntimeSession(t,i),!this.runtimeReady)return await this.promptThroughHost(t,e,i,s,u,d);let g=await this.runtimeReady;m=this.createRuntimePermissionBridge(g,t),h=await g.runs.start({sessionId:t.sessionId,prompt:i,permissionBroker:"client",options:this.buildKodaXOptions(t,s)}),m?.setRunId(h.runId),t.activeRunIds.add(h.runId);let p=await h.result;if(p.error)throw p.error;let y=p.phase==="cancelled"||p.phase==="interrupted",R=p.result;if(!R){if(y)return this.events.emit({type:"prompt_cancelled",sessionId:t.sessionId,durationMs:Date.now()-u}),{stopReason:"cancelled",userMessageId:e.messageId??void 0};throw new Error(`Runtime run ${h.runId} ended without a coding result.`)}t.contextTokenSnapshot=R.contextTokenSnapshot;let I=!!R.interrupted||y,E=I?"cancelled":"end_turn";return this.events.emit({type:"prompt_finished",sessionId:t.sessionId,stopReason:E,interrupted:I,durationMs:Date.now()-u}),{stopReason:E,userMessageId:e.messageId??void 0,...J(R.contextTokenSnapshot)?{usage:J(R.contextTokenSnapshot)}:{}}}catch(g){if(zt(g))return this.events.emit({type:"prompt_cancelled",sessionId:t.sessionId,durationMs:Date.now()-u}),{stopReason:"cancelled",userMessageId:e.messageId??void 0};let p=g instanceof Error?g.message:String(g);return this.events.emit({type:"prompt_failed",sessionId:t.sessionId,durationMs:Date.now()-u,error:p}),await this.sendTextChunk(t.sessionId,`
10
+ [ACP Server Error] ${p}
11
+ `),{stopReason:"end_turn",userMessageId:e.messageId??void 0}}finally{h&&t.activeRunIds.delete(h.runId),await m?.close()}},"task");if(this.runtimeReady)return l();let c=(t.promptTail??Promise.resolve()).then(()=>d===t.cancellationGeneration?l():{stopReason:"cancelled",userMessageId:e.messageId??void 0});return t.promptTail=c.then(()=>{},()=>{}),c}async promptThroughHost(e,t,i,s,a,d){let l={stopReason:"cancelled",userMessageId:t.messageId??void 0};if(e.cancellationGeneration!==d)return l;let c=await this.clientReady;if(e.cancellationGeneration!==d||(s.kind==="value"&&await c.sessions.updateSettings(e.sessionId,{effort:s.value??null}),e.cancellationGeneration!==d))return l;let u=await Se(c,e.sessionId,m=>this.sendSessionUpdate(m),async m=>Pe(await this.requestPermissionFromClient(e,m.options.toolName,m.options.plan===void 0?z(m.options.inputPreview):{plan:m.options.plan},m.options.toolCallId),m.options),(m,g)=>{let p=z(g);return{rawInput:p,kind:H(m),locations:B(m,p)}},m=>this.applyHostSettings(e,m)),h;try{if(e.cancellationGeneration!==d)return l;let m=await c.inputs.submit({sessionId:e.sessionId,inputId:t.messageId??L(),text:i,delivery:"immediate"});if(h=m.runId,!h)throw new Error(`ACP input was ${m.state} without an executable Run.`);e.activeRunIds.add(h),e.cancellationGeneration!==d&&await c.runs.stop(h);let g=await Promise.race([c.runs.await(h),u.failed.then(E=>{throw E})]);if(await u.flush(),g.error)throw new Error(g.error);let p=g.phase==="cancelled"||g.phase==="interrupted";if(!g.result&&!p)throw new Error(`Host Run ${h} ended without a coding result (${g.phase}).`);e.contextTokenSnapshot=g.result?.contextTokenSnapshot;let y=p||!!g.result?.interrupted,R=y?"cancelled":"end_turn";this.events.emit({type:"prompt_finished",sessionId:e.sessionId,stopReason:R,interrupted:y,durationMs:Date.now()-a});let I=J(e.contextTokenSnapshot);return{stopReason:R,userMessageId:t.messageId??void 0,...I?{usage:I}:{}}}catch(m){if(h)try{await c.runs.stop(h)}catch(g){throw new AggregateError([m,g],"ACP delivery failed and its Host Run could not be stopped.")}throw m}finally{u.close(),h&&e.activeRunIds.delete(h)}}async ensureRuntimeSession(e,t){if(!e.runtimeSessionReady){let i=await this.clientReady;e.runtimeSessionReady=i.sessions.create({sessionId:e.sessionId,title:Tt(t),projectPath:e.cwd,gitRoot:e.cwd,surface:"acp",...!this.runtimeReady&&e.mcpServers.length>0?{mcpServers:Ie(e.mcpServers)}:{}}).then(async()=>{let s=this.runtimeReady?{permissionMode:e.permissionMode}:{...this.initialHostSettings,...e.permissionModeExplicit?{permissionMode:e.permissionMode}:{}};Object.keys(s).length>0&&await i.sessions.updateSettings(e.sessionId,s)})}try{await e.runtimeSessionReady}catch(i){throw e.runtimeSessionReady=void 0,i}}async cancel(e){let t=this.sessions.get(e.sessionId);this.events.emit({type:"cancel_requested",sessionId:e.sessionId,active:(t?.activeRunIds.size??0)>0}),t&&(t.cancellationGeneration++,await this.abortSessionRuns(t))}async abortSessionRuns(e){if(e.activeRunIds.size===0)return;let t=await this.clientReady,i=e.activeRunIds.values().next().value;i!==void 0&&(e.stopRequest?.expectedRunId!==i&&(e.stopRequest={expectedRunId:i,requestId:L()}),await t.sessions.cancel({sessionId:e.sessionId,...e.stopRequest}))}requireSession(e){let t=this.sessions.get(e);if(!t)throw A().RequestError.resourceNotFound(e);return t}resolveSessionEffort(e,t={kind:"absent"}){return t.kind==="value"?t.value:e.permissionMode==="plan"&&this.planModeEffort!==void 0?this.planModeEffort:this.effort}async applyHostSettings(e,t){let i=t.permissionMode;if(i===void 0||i===e.permissionMode)return;let s=e.permissionMode;e.permissionMode=i,this.events.emit({type:"session_mode_changed",sessionId:e.sessionId,from:s,to:i}),await this.sendSessionUpdate({sessionId:e.sessionId,update:{sessionUpdate:"current_mode_update",currentModeId:i}})}buildKodaXOptions(e,t={kind:"absent"}){let i=this.resolveSessionEffort(e,t);return{provider:this.provider,model:this.model,effort:i,thinking:i==="none"?!1:this.thinking,reasoningMode:i==="none"?"off":this.reasoningMode,extensionRuntime:e.extensionRuntime??this.extensionRuntime,session:{id:e.sessionId,storage:this.storage},context:{gitRoot:e.cwd,executionCwd:e.cwd,contextTokenSnapshot:e.contextTokenSnapshot},events:{onTextDelta:r(s=>{this.dispatchNotification("assistant text chunk",e.sessionId,this.sendTextChunk(e.sessionId,s))},"onTextDelta"),onThinkingDelta:r(s=>{this.dispatchNotification("thinking chunk",e.sessionId,this.sendSessionUpdate({sessionId:e.sessionId,update:{sessionUpdate:"agent_thought_chunk",content:{type:"text",text:s}}}))},"onThinkingDelta"),onToolUseStart:r(s=>{this.dispatchNotification("tool call start",e.sessionId,this.sendSessionUpdate({sessionId:e.sessionId,update:{sessionUpdate:"tool_call",toolCallId:s.id,title:s.name,kind:H(s.name),rawInput:s.input,locations:B(s.name,s.input??{}),status:"pending"}}))},"onToolUseStart"),onToolResult:r(s=>{this.dispatchNotification("tool call update",e.sessionId,this.sendSessionUpdate({sessionId:e.sessionId,update:{sessionUpdate:"tool_call_update",toolCallId:s.id,title:s.name,status:Wt(s.content)?"failed":"completed",rawOutput:s.content}}))},"onToolResult"),onRepoIntelligenceTrace:r(s=>{this.events.emit({type:"repo_intelligence_trace",sessionId:e.sessionId,stage:s.stage,summary:s.summary,mode:s.capability?.mode,engine:s.capability?.engine,status:s.capability?.status,cacheHit:s.trace?.cacheHit,capsuleEstimatedTokens:s.trace?.capsuleEstimatedTokens})},"onRepoIntelligenceTrace"),onError:r(s=>{this.dispatchNotification("error text chunk",e.sessionId,this.sendTextChunk(e.sessionId,`
8
12
  [Error] ${s.message}
9
- `))},"onError")}}}createRuntimePermissionBridge(e,t){let i=[],s,r=Promise.resolve(),d=o(a=>{r=r.then(()=>this.respondToRuntimePermission(e,t,a)).catch(u=>{this.logger.error(`ACP Runtime permission bridge failed: ${u instanceof Error?u.message:String(u)}`)})},"enqueue"),c=e.events.subscribe({sessionId:t.sessionId,type:"permission.requested"},a=>{let u=vt(a);u&&(s===void 0?i.push(u):u.runId===s&&d(u))});return{setRunId(a){s=a;for(let u of i.splice(0))u.runId===a&&d(u)},async close(){c.close(),await r}}}async respondToRuntimePermission(e,t,i){this.events.emit({type:"tool_permission_evaluated",sessionId:t.sessionId,tool:i.toolName,toolId:i.toolCallId??null,permissionMode:t.permissionMode}),await O(e,i,async()=>{let s=await this.requestPermissionFromClient(t,i.toolName,Rt(i.inputPreview),i.toolCallId);if(!s.allowed)return{type:"reject",reason:s.override??"Operation cancelled by user."};if(s.remember){let r=i.grantSuggestions?.find(d=>d.kind==="persistent")??i.grantSuggestions?.find(d=>d.kind==="session");if(r)return r.kind==="persistent"?{type:"allow_always",suggestionId:r.id}:{type:"allow_session",suggestionId:r.id}}return{type:"allow_once"}})}async requestPermissionFromClient(e,t,i,s){if(!this.connection)return this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:s??null,outcome:"request_failed_disconnected"}),{allowed:!1,override:"[Cancelled] ACP client is disconnected, so the permission request could not be completed."};let r=[{optionId:"allow_once",kind:"allow_once",name:"Allow once"},{optionId:"allow_always",kind:"allow_always",name:"Always allow"},{optionId:"reject_once",kind:"reject_once",name:"Reject"}],d={toolCallId:s??X(),title:t,kind:Y(t),rawInput:i,locations:Z(t,i),status:"pending"},c;this.events.emit({type:"permission_requested",sessionId:e.sessionId,tool:t,toolId:d.toolCallId});try{c=await this.connection.requestPermission({sessionId:e.sessionId,toolCall:d,options:r})}catch(a){return this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:d.toolCallId,outcome:"request_failed_incomplete",error:a instanceof Error?a.message:String(a)}),{allowed:!1,override:"[Cancelled] ACP client did not complete the permission request. Operation failed closed."}}return c.outcome.outcome!=="selected"?(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:d.toolCallId,outcome:"request_dismissed"}),{allowed:!1,override:"[Cancelled] Operation cancelled by user"}):c.outcome.optionId==="reject_once"?(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:d.toolCallId,outcome:"request_rejected"}),{allowed:!1,override:"[Cancelled] Operation cancelled by user"}):(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:d.toolCallId,outcome:"request_granted",remember:c.outcome.optionId==="allow_always"}),{allowed:!0,...c.outcome.optionId==="allow_always"?{remember:!0}:{}})}async sendTextChunk(e,t){await this.sendSessionUpdate({sessionId:e,update:{sessionUpdate:"agent_message_chunk",content:{type:"text",text:t}}})}async sendSessionUpdate(e){!this.connection||this.connection.signal.aborted||await this.connection.sessionUpdate(e)}dispatchNotification(e,t,i){i.catch(s=>{if(!this.connection||this.connection.signal.aborted)return;let r=s instanceof Error?s.message:String(s);this.events.emit({type:"notification_failed",sessionId:t,label:e,error:r})})}};async function It(n={}){let e=new A(n),t=et.toWeb(v.stdin),i=tt.toWeb(v.stdout);e.attach(t,i);try{await e.waitForClose()}finally{await e.dispose()}}o(It,"runAcpServer");export{Q as ACP_LOG_LEVELS,w as ACP_PERMISSION_MODE_IDS,Vd as ALWAYS_RESIDENT_TOOL_NAMES,Dl as AUTO_MODE_DENIAL_CONSECUTIVE_THRESHOLD,Fl as AUTO_MODE_DENIAL_WINDOW_SIZE,ql as AUTO_MODE_RECENT_DENIAL_THRESHOLD,I as AcpEventEmitter,P as AcpLogger,op as BASH_POLICY_SPEC,Gc as BASH_SAFE_READ_COMMANDS,$c as BASH_WRITE_COMMANDS,dc as BLOCKER_REQUIRED_CONSECUTIVE_TURNS,Wl as BREAKER_ERROR_THRESHOLD,zl as BREAKER_WINDOW_MS,Pe as BUILTIN_COMMANDS,Iu as BUILTIN_WORKFLOWS,Fs as CANCELLED_TOOL_RESULT_MESSAGE,qs as CANCELLED_TOOL_RESULT_PREFIX,Vc as CLASSIFIER_MAX_OUTPUT_TOKENS,Xc as CODING_AGENT_MARKER,tc as CODING_INVARIANTS,zd as CODING_SUMMARY_PROMPT,Bd as CODING_UPDATE_SUMMARY_PROMPT,Vr as CapabilityDeniedError,B as Client,Zd as CodingActorSession,xa as CombinedExtensionRuntime,Wr as ConstructionManifestError,jc as DEFAULT_CLASSIFIER_RETRY_TIMEOUT_MS,Uc as DEFAULT_CLASSIFIER_TIMEOUT_MS,Yd as DEFAULT_CODING_AGENT_NAME,Ac as DEFAULT_DANGEROUS_PATTERNS,Ur as DEFAULT_HANDLER_TIMEOUT_MS,dd as DEFAULT_RESILIENCE_CONFIG,wc as DEFAULT_SAFE_PATTERNS,ea as DEFAULT_SELF_MODIFY_BUDGET,np as DEFAULT_SPECULATIVE_WINDOW_MS,Us as DEFAULT_TOOL_OUTPUT_MAX_BYTES,Ns as DEFAULT_TOOL_OUTPUT_MAX_LINES,iu as DEFAULT_WORKFLOW_GENERATION_TIMEOUT_MS,Xn as DefaultSummaryCompaction,Oc as EMIT_VERDICT_TOOL_NAME,Ts as ErrorCategory,zc as FILE_MODIFICATION_TOOLS,fu as FINDING_VERIFICATION_OUTPUT_SCHEMA,b as FileSessionStorage,or as GENERATOR_AGENT_NAME,Wn as ImageResizeError,kn as KODAX_API_MIN_INTERVAL,_e as KODAX_ASRT_VERSION,M as KODAX_CONFIG_FILE,F as KODAX_DEFAULT_PROVIDER,In as KODAX_DEFAULT_TIMEOUT,re as KODAX_DIR,ai as KODAX_FILE_MEDIA_TYPES,wn as KODAX_HARD_TIMEOUT,oi as KODAX_IMAGE_MEDIA_TYPES,xn as KODAX_MAX_INCOMPLETE_RETRIES,An as KODAX_MAX_RETRIES,Pn as KODAX_MAX_TOKENS,Ft as KODAX_PROVIDERS,qt as KODAX_PROVIDER_SNAPSHOTS,kt as KODAX_REASONING_MODE_SEQUENCE,En as KODAX_RETRY_BASE_DELAY,Ve as KODAX_RUNTIME_SDK_CAPABILITIES,ae as KODAX_SESSIONS_DIR,Mt as KODAX_STABLE_EFFORT_INTENTS,_n as KODAX_STAGGER_DELAY,Ma as KODAX_TOOLS,Zs as KODAX_UNDERLYING_CAPABILITY_TOPICS,le as KODAX_VERSION,ri as KODAX_VIDEO_MEDIA_TYPES,A as KodaXAcpServer,Tt as KodaXAnthropicCompatProvider,Lt as KodaXBaseProvider,B as KodaXClient,wt as KodaXError,Ea as KodaXExtensionRuntime,Vn as KodaXMediaError,Dt as KodaXOpenAICompatProvider,At as KodaXProviderError,Et as KodaXRateLimitError,Ls as KodaXSessionError,Xs as KodaXTerminalError,Ks as KodaXToolError,ps as KodaXTrustedTextMutationError,is as LEARNING_REVIEW_PROMPT_SHA256,ss as LEARNING_REVIEW_SCHEMA_SHA256,ts as LEARNING_REVIEW_SYSTEM_PROMPT,ns as LEARNING_REVIEW_TOOL,Xi as LINEAGE_ENTRY_TYPES,nd as LSP_SERVERS,Di as LineageCompaction,Ti as LineageExtension,id as LspService,eo as MANUAL_REGISTRY,Ys as MANUAL_TOPIC_IDS,Jn as MAX_DIMENSION,Sc as MEMORY_INTERVENTION_SELECTOR_PROMPT,Pc as MEMORY_INTERVENTION_SELECTOR_SHA256,Bc as MODIFICATION_TOOLS,Si as McpAuthRequiredError,Oi as McpCapabilityProvider,yi as McpExpiredSessionError,Ki as McpManager,bi as McpServerRuntime,ti as PASTE_TMP_DIR_ENV,ni as PASTE_TMP_TTL_MS,sr as PLANNER_AGENT_NAME,Mn as PROMISE_PATTERN,Cd as PROMPT_SECTION_REGISTRY,Lc as PROTOCOL_EMITTER_TOOLS,fd as ProviderRecoveryCoordinator,js as READ_DEFAULT_LIMIT,Ws as READ_MAX_LINE_CHARS,Vs as READ_PREFLIGHT_SIZE_BYTES,Pa as REPO_EXPLORER_AGENT_NAME,Ia as REPO_EXPLORER_TOOL_NAMES,Dn as Runner,Te as RuntimePermissionScopeUpgradeRequiredError,Xe as RuntimeTransportBoundaryError,mu as SCOPED_REVIEW_OUTPUT_SCHEMA,ir as SCOUT_AGENT_NAME,gp as SCOUT_THEN_AUTHOR_PROMPT_LINES,Td as SELF_KNOWLEDGE_ROUTING_RULE,Md as SYSTEM_PROMPT,Fu as SYSTEM_WORKFLOW_LIMITS,pd as StableBoundaryTracker,Qn as TARGET_RAW_SIZE_BYTES,dr as TASK_ENGINE_ROLE_AGENTS,Tc as TOOL_RESULT_TRUNCATION_GUARDRAIL_NAME,dp as TRACING_ENV,lo as ToolResultBatchCapacityError,rr as WORKER_AGENT_NAME,nu as WORKFLOW_GENERATION_SYSTEM_PROMPT,aa as _resetRuntimeForTesting,ws as acquireExclusiveFileSystemEffectLease,Is as acquireFileSystemMutationLease,qe as acquireKodaXInlineOwner,ca as activate,be as activateKodaXSandbox,jn as actorQueueId,kl as analyzeAutoModeCall,wo as analyzeChangedScope,el as analyzePowerShellMutation,Yr as appendAuditEntry,zi as appendSessionLineageLabel,yr as applyAccountingDelta,hu as applyFindingVerification,$d as applyPostCompactAttachments,Bi as applySessionCompaction,po as applyToolResultGuardrail,Yi as archiveOldIslands,ms as assertTrustedTextMutationPolicy,hp as authorWorkflowViaWorker,Vl as autoModeDenialShouldFallback,cs as awaitLatestCodingMemoryReviewDrain,Yl as bashSignalCollector,up as bootstrapTracing,Qu as boundedRevise,Gl as breakerShouldFallback,Yu as budgetCeiling,Nu as buildApprovalSummary,Ir as buildBlockedGoal,Dd as buildCapabilityContextSections,qc as buildClassifierPrompt,wr as buildCompleteGoal,vr as buildCreatedGoal,Ed as buildFallbackRoutingDecision,pc as buildGoalRuntimeBinding,Ci as buildInitializeCapabilities,Hr as buildLlmReviewPrompt,no as buildManualToolDescription,k as buildMcpReverseCapabilities,Sr as buildPausedGoal,gd as buildPromptMessageContent,Ld as buildPromptSnapshot,yd as buildProviderCapabilitySnapshot,xd as buildProviderPolicyHintsForDecision,Sd as buildProviderPolicyPromptNotes,Io as buildRepoIntelligenceContext,Xo as buildRepoIntelligenceIndex,yo as buildRepoOverview,Pr as buildResumedGoal,Su as buildScopedReviewFinalPrompt,vu as buildScopedReviewPrimaryPrompt,yu as buildScopedReviewVerificationPrompt,Rp as buildScoutThenAuthorPrompt,Xd as buildSelfKnowledgeRoutingRule,Ji as buildSessionTree,Fd as buildSystemPrompt,qd as buildSystemPromptSnapshot,Qa as buildToolResultBudget,Ya as buildToolResultBudgetFromUsage,br as buildToolSearchIndex,Tu as buildWorkflowCostReport,au as buildWorkflowGenerationSkillContext,ru as buildWorkflowGenerationUserPrompt,ds as canonicalMemoryProjectId,fs as canonicalizeAgentHomePolicyPath,Al as canonicalizeAutoModePath,Ql as checkAbsoluteDeny,Rd as checkIncompleteToolCalls,kd as checkPromiseSignal,Za as clampToolResultPolicyToBudget,Uu as clampWorkflowLimits,Wc as classify,xc as classifyBashCommand,Ds as classifyError,vo as classifyFileCategory,cd as classifyResilienceError,$a as cleanupExpiredToolOutputs,pi as cleanupIncompleteToolCalls,Ga as cleanupUnreferencedToolOutputs,cn as clearRuntimeModelProviders,Os as clearShellExecutionEnvironmentCache,ep as collectAllSignals,z as collectBashWriteTargets,Sl as collectDeterministicBashWriteTargets,j as combineExtensionRuntimes,kc as computeInputSignature,ra as configureRuntime,We as connectKodaXRuntime,Jd as consumeCompactionCooldown,Jo as convertCapabilityReadResult,Ho as convertProviderSearchResults,Qi as countActiveLineageMessages,bn as countTokens,On as createAgent,Nl as createAutoModeDenialTracker,tp as createAutoModeToolGuardrail,Ec as createBashClassifierConfig,ap as createBashPrefixExtractor,Da as createBuiltinToolDefinition,Bl as createCircuitBreaker,Ic as createCodingMemoryInterventionRunner,lu as createCodingWorkflowBackend,Gd as createCompactionAntiThrashState,zr as createCtxProxy,Ht as createCustomProvider,oe as createDefaultCodingAgent,_c as createDenialTracker,Ll as createExecPolicyOperation,x as createExtensionRuntime,tu as createExternalActorTurnExecutor,Gn as createFileArtifactFromPath,Kn as createHandoff,$n as createImageArtifactFromPath,Ln as createInMemorySession,Ae as createInteractiveContext,K as createKodaXRuntime,se as createKodaXTaskRunner,eu as createLocalCodingActorControl,fi as createMcpCapabilityId,Li as createMcpManager,Pi as createMcpTransport,vn as createOutputSegmentProjection,rs as createProductionLearningReviewer,bd as createPromptSection,_d as createReasoningPlan,qu as createRunGraphWriter,jd as createRuntimeContextBudgetSnapshot,Ju as createSessionControl,Ni as createSessionLineage,Dc as createToolResultTruncationGuardrail,Hn as createVideoArtifactFromPath,lp as createWorkflowLifecycleController,fp as createWorkflowPatternTemplateModule,zu as createWorkflowRunManager,sc as decideWorkflowInvocation,E as dedupeExtensionPathsByEntrypoint,mi as defaultMcpCacheDir,jr as defaultPolicy,bu as deleteSavedWorkflow,as as deriveCodingMemoryIdentity,ls as deriveCodingMemoryReviewIdentities,oa as disableSelfModify,Ei as discoverAuthorizationServerMetadata,U as discoverDefaultExtensions,Nr as discoverExtensionsInDirectory,Fr as discoverExtensionsInDirectoryDetailed,Sa as discoverMarkdownAgents,xi as discoverOAuthEndpoints,Ai as discoverProtectedResourceMetadata,Eu as discoverSavedWorkflows,Ke as doctorKodaXSandbox,us as drainCodingMemoryReviewInbox,lr as drainPendingSwaps,Sn as effectiveOutputSegmentText,bt as effortToLegacyReasoningMode,Kc as emitVerdict,Vu as emitWorkflowAgentDigest,Ue as enableKodaXDaemonOwner,ci as enqueueWithArtifacts,wa as ensureBuiltinRepoExplorerAgent,Cn as estimateTokens,Ud as estimateToolSchemaTokens,Kl as evaluateExecPolicy,Pd as evaluateProviderPolicy,Xl as evaluateShellExecPolicy,N as excludeExtensionPathsByEntrypoint,Lr as exec,we as executeCommand,Cr as executeRunScopedTool,Ba as executeTool,qi as extractArtifactLedger,rp as extractCommandPrefix,vd as extractComparableUserMessageText,Go as extractHtmlTitle,wi as extractInsufficientScope,fl as extractPathsFromCommand,hd as extractPromptComparableText,Ii as extractResourceMetadataUrl,es as extractTitleFromMessages,Zl as fileSignalCollector,Yo as finalizeRetrievalResult,Ra as findByVersion,tl as findGitSubcommandIndex,$i as findPreviousUserEntryId,Qc as flattenArgv,Yc as flattenRedirections,Hi as forkSessionLineage,ad as formatAgentsForPrompt,Cl as formatExecPolicyConfigurationError,Ml as formatExecPolicyRejection,vc as formatParallelDispatchResult,zs as formatSize,ll as generateSavePattern,Zi as generateSessionId,uu as generateWorkflow,cu as generateWorkflowFromOptions,ka as getActiveExtensionRuntime,Fn as getAgentConfigHome,Nn as getAgentConfigPath,Fa as getAllRegisteredTools,Un as getAppDataDir,mn as getAvailableProviderNames,Pl as getBashOutsideProjectWriteRisk,Ta as getBuiltinRegisteredToolDefinition,Xa as getBuiltinToolDefinition,wu as getBuiltinWorkflow,sn as getCustomModelCapabilities,Qt as getCustomProvider,en as getCustomProviderList,nn as getCustomProviderModelDescriptors,tn as getCustomProviderModels,Zt as getCustomProviderNames,Dr as getDefaultExtensionDirectory,sd as getDefaultLspService,$u as getDefaultWorkflowRunManager,bc as getDenialContext,al as getDirectShellBypassBlockReason,he as getGitRoot,No as getImpactEstimate,Fe as getKodaXRuntimeOwnerPolicy,Ne as getKodaXRuntimeOwnerState,ke as getKodaXSandboxCapability,Ce as getKodaXSandboxSetupGuidance,od as getKodaxGlobalDir,vi as getMcpCachePaths,Bt as getModelCapabilities,di as getModelInputCapabilities,Do as getModuleContext,vl as getPlanModeAllowedWritablePaths,Il as getPlanModeBlockReason,Fo as getProcessContext,Nt as getProvider,jt as getProviderConfiguredCapabilityProfile,Ut as getProviderConfiguredReasoningCapability,me as getProviderList,pe as getProviderModel,zt as getProviderModelDescriptors,Vt as getProviderModels,Ka as getRegisteredToolDefinition,To as getRepoIntelligenceIndex,So as getRepoOverview,Uo as getRepoRoutingSignals,Va as getRequiredToolParams,an as getRuntimeModelProvider,un as getRuntimeModelProviderNames,Ui as getSessionLineagePath,ji as getSessionMessagesFromLineage,qo as getSymbolContext,ba as getTool,Oa as getToolDefinition,La as getToolRegistrations,co as getToolResultPolicy,ce as getVersion,mp as getWorkflowPatternTemplate,nl as gitSignatureInspectionMayExecute,gr as goalTokenDelta,O as handleRuntimePermissionRequest,ic as hasExplicitNaturalLanguageWorkflowIntent,cr as hasPendingSwap,de as hydrateProcessEnvFromShell,zn as inferImageMediaType,wl as inferPermissionMode,Ad as inferTaskType,Bn as inferVideoMediaType,ao as inspectEditFailure,Lo as inspectRepoIntelligenceRuntime,os as installProductionLearningReviewer,ys as isAgentHomeHardMutationTarget,Ss as isAgentHomeHardRemovalTarget,pl as isAlwaysConfirmPath,Rs as isAutoReadableAgentHomePath,xl as isAutoReadableKodaxPath,gs as isAutoWritableAgentHomePath,_l as isAutoWritableKodaxPath,rl as isBashReadCommand,Rl as isBashReadCommandAutoAllowed,dl as isBashWriteCommand,gl as isCommandOnProtectedPath,El as isCredentialBearingKodaxPath,Yt as isCustomProviderName,Cc as isDeniedRecently,ol as isHelpCommand,pn as isKnownProvider,Hc as isNullDevice,hc as isParallelDispatchDirective,hl as isPathInsideProject,yl as isPlanModeAllowedPath,Zc as isPowerShellMutationCommand,vs as isProtectedAgentHomeMutationTarget,hs as isProtectedAgentHomeReadTarget,Ps as isProtectedAgentHomeRemovalTarget,fe as isProviderConfigured,Wt as isProviderName,dn as isRuntimeModelProviderName,ld as isSessionRecoveryCandidateError,sl as isShellReadOnlyArgv,Tr as isSupportedExtensionModulePath,cl as isToolCallAllowed,V as isToolFileMutation,ja as isToolMutation,Ua as isToolNetworkRead,Na as isToolPlanModeAllowed,Ar as isValidTokenBudget,ed as languageIdForPath,ha as listAll,Rn as listAllModelCapabilities,ma as listArtifacts,$t as listBuiltinModelCapabilities,qa as listBuiltinToolDefinitions,Au as listBuiltinWorkflows,pr as listCodingDispatchableAgents,ga as listConstructed,on as listCustomProviderModelCapabilities,xr as listRunScopedTools,za as listToolDefinitions,Wa as listTools,pp as listWorkflowPatternTemplates,rd as loadAgentsFiles,va as loadAgentsFromMarkdown,ye as loadAutoModeSettings,ge as loadConfig,Ol as loadExecPolicy,Ku as loadGeneratedWorkflowFromRun,Br as loadHandler,ya as loadMarkdownAgentScope,ku as loadSavedWorkflow,_u as loadSavedWorkflowCapsule,Mi as loadValidToken,kr as lookupRunScopedTool,fr as makeDisabledGoalToolsContext,Ct as mapLegacyReasoningModeToEffortIntent,Ja as maybeRunReferenceAwareToolOutputGc,Ha as maybeRunToolOutputGc,fc as mcpRootsFromWorkspace,Fi as mergeArtifactLedger,Ru as mergeScopedReviewResults,As as normalizeKodaXAgentMode,gi as normalizeMcpCapabilityId,Yn as normalizePastedImage,D as normalizeReasoningEffortValue,gu as normalizeScopedReviewResult,Cs as normalizeShellExecutionContract,xu as normalizeWorkflowModule,Od as orderPromptSections,pu as parallelInvestigation,ul as parseAllowedToolPattern,_s as parseBareInlineSlashReferences,Jc as parseBashCommand,Fc as parseClassifierOutput,Ie as parseCommand,ro as parseEditToolError,bl as parseExecPolicy,il as parseGitGrepShortOption,xs as parseInlineSkillReferences,Jr as parseLlmReviewVerdict,Ri as parseMcpCapabilityId,Hl as parseModelSpec,q as parseReasoningEffortEnv,Le as parseRuntimeEvent,Es as parseSandboxEnvironmentPass,_t as parseTimeoutSecEnvMs,Kr as parseToolSearchQuery,du as parseWorkflowGeneration,ki as performOAuthLogin,ii as persistImageAsBlock,Js as persistToolOutput,Wd as planToolExposure,Xu as preflightWorkflowCapsule,C as prepareRuntimeConfig,jo as prewarmRepoIntelligenceCaches,xe as processSpecialSyntax,Nd as providerResilienceConfigFromTimeouts,si as prunePasteTmpDir,ve as rateLimitedCall,ei as readAndNormalizeClipboardImage,fa as readArtifact,Zr as readAuditEntries,ta as readBudget,Zn as readClipboardImage,sa as readDisableState,ip as readSpeculativeWindowFromEnv,wd as reasoningModeToDepth,md as reconstructMessagesWithToolGuard,jl as recordAutoModeAllow,Ul as recordAutoModeBlock,rc as recordBlockerAttempt,$l as recordBreakerError,Qd as recordCompactionSavings,Mc as recordDenial,yn as reduceOutputSegmentProjection,nc as registerCodingInvariants,ue as registerConfiguredCustomProviders,_ as registerConfiguredMcpCapabilityProvider,Jt as registerCustomProviders,rn as registerModelProvider,_i as registerOAuthClient,gc as registerOfficialSandboxExtension,Tn as registerPresetDispatcher,Ca as registerTool,la as rehydrateActiveArtifacts,na as remainingSelfModifyBudget,Cu as renameSavedWorkflow,Ao as renderChangedScope,bo as renderImpactEstimate,ko as renderModuleContext,Co as renderProcessContext,Kd as renderPromptSections,Po as renderRepoOverview,Qo as renderRetrievalResult,Mo as renderSymbolContext,mc as replaceConfiguredMcpCapabilityProvider,Ou as replaceSavedWorkflow,td as reportLspDiagnostics,Bu as requestSessionWorkflowStop,ac as resetBlockerCounter,ia as resetBudget,L as resolveAcpLogLevel,Se as resolveAutoModeSettings,Jl as resolveClassifierModel,mr as resolveCodingDispatchableAgent,ur as resolveConstructedAgent,qr as resolveExtensionEntrypoint,to as resolveKodaXManual,gn as resolveModelCapabilities,ln as resolveProvider,fn as resolveProviderModelDescriptors,Ot as resolveReasoningEffort,Kt as resolveReasoningEffortForModelSwitch,Id as resolveReasoningMode,Ko as resolveRepoIntelligenceMode,Oo as resolveRepoIntelligenceRuntimeConfig,ud as resolveResilienceConfig,Vi as resolveSessionLineageTarget,Er as resolveToolBridgeTarget,Zu as resolveToolCapability,Hs as resolveToolOutputDir,hn as resolveWireEffort,su as resolveWorkflowGenerationTimeoutMs,cp as resolveWorkflowIdentity,pa as revoke,Gi as rewindSessionLineage,Aa as rollbackSelfModify,It as runAcpServer,$r as runAstRules,$e as runInkInteractiveMode,Be as runInteractiveMode,te as runKodaX,Oe as runKodaXSandboxed,Qr as runLlmReview,ie as runManagedTask,Rc as runOrchestration,_r as runScopedToolMap,Hu as runToolInvocation,Wu as runWorkflowFromOptions,ju as runWorkflowModule,Du as safeWorkflowArtifactName,Re as saveConfig,Mu as saveGeneratedWorkflow,Lu as saveGeneratedWorkflowFromRun,Pu as scopedReview,hi as searchMcpCatalog,Or as searchToolIndex,_a as setActiveExtensionRuntime,qn as setAgentConfigHome,je as setKodaXRuntimeOwnerMode,Wi as setSessionLineageActiveEntry,ze as settleKodaXRuntimeExit,Me as setupKodaXSandbox,bs as shellExecutionContractFingerprint,hr as shouldFlipBudgetLimited,Hd as shouldSkipLlmCompaction,W as shutdownDefaultLspService,sp as speculativeRace,da as stage,ne as startKodaX,Gu as startManagedWorkflow,Nc as stripAssistantText,$o as stripHtmlToText,ua as testArtifact,xt as timeoutSecToMs,Mr as toModelToolDefinition,ml as tokenizeRawCommandStages,Tl as tokenizeShellCommand,ho as toolAskUserQuestion,mo as toolBash,_o as toolChangedDiff,xo as toolChangedScope,tr as toolCodeSearch,oo as toolEdit,fo as toolGlob,go as toolGrep,Bo as toolImpactEstimate,uo as toolInsertAfterAnchor,Vo as toolModuleContext,ec as toolPermission,zo as toolProcessContext,Qs as toolRead,Eo as toolRepoOverview,nr as toolSemanticLookup,Wo as toolSymbolContext,Ro as toolUndo,er as toolWebFetch,Zo as toolWebSearch,so as toolWrite,Ee as touchContext,Bs as truncateHead,Gs as truncateLine,$s as truncateTail,Rr as turnWallTimeDelta,Ms as uniqueBareInlineSlashNames,ks as uniqueInlineSkillNames,li as validateAndFixToolHistory,Gt as validateCustomProviderConfig,ou as validateGeneratedWorkflowSource,Xt as validateImageBytes,ui as validateInputArtifactsForModel,yc as validateSubtaskIndependence,Gr as validateToolSchemaForProvider,lc as verifyGoalCompletion,De as waitForRuntimeDaemonShutdown,Xr as webhook,uc as withGoalBeforeNextTurn,cc as withGoalStopHook,io as withManualToolBranding,ar as workerAgent,oc as workflowStartOutcomeConsumesTurn,vp as writeReviewPackets};
13
+ `))},"onError")}}}createRuntimePermissionBridge(e,t){let i=[],s,a=Promise.resolve(),d=r(c=>{a=a.then(()=>this.respondToRuntimePermission(t,c)).catch(u=>{this.logger.error(`ACP Runtime permission bridge failed: ${u instanceof Error?u.message:String(u)}`)})},"enqueue"),l=e.events.subscribe({sessionId:t.sessionId,type:"permission.requested"},c=>{let u=$t(c);u&&(s===void 0?i.push(u):u.runId===s&&d(u))});return{setRunId(c){s=c;for(let u of i.splice(0))u.runId===c&&d(u)},async close(){l.close(),await a}}}async respondToRuntimePermission(e,t){if(this.events.emit({type:"tool_permission_evaluated",sessionId:e.sessionId,tool:t.toolName,toolId:t.toolCallId??null,permissionMode:e.permissionMode}),!this.runtimeReady)throw new Error("Runtime permission callbacks require explicit ACP embedding.");let i=await this.runtimeReady,s=Ft(i,t),a;try{let c=await Promise.race([this.requestPermissionFromClient(e,t.toolName,t.plan===void 0?z(t.inputPreview):{plan:t.plan},t.toolCallId),s.settled.then(()=>null)]);if(c===null){this.logger.error(`ACP permission request for ${t.toolName} was settled host-side before the ACP client answered; the run's own settlement governs.`);return}a=c}finally{s.close()}let l=await(await this.clientReady).interactions.respond(t.id,{kind:"permission",decision:Pe(a,t)});l.accepted||this.logger.error(`ACP permission answer for ${t.toolName} was not accepted (${l.status}).`)}async requestPermissionFromClient(e,t,i,s){if(!this.connection)return this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:s??null,outcome:"request_failed_disconnected"}),{allowed:!1,override:"[Cancelled] ACP client is disconnected, so the permission request could not be completed."};let a=[{optionId:"allow_once",kind:"allow_once",name:"Allow once"},{optionId:"allow_always",kind:"allow_always",name:"Always allow"},{optionId:"reject_once",kind:"reject_once",name:"Reject"}],d={toolCallId:s??L(),title:t,kind:H(t),rawInput:i,...t==="exit_plan_mode"&&typeof i.plan=="string"?{content:[{type:"content",content:{type:"text",text:i.plan}}]}:{},locations:B(t,i),status:"pending"},l;this.events.emit({type:"permission_requested",sessionId:e.sessionId,tool:t,toolId:d.toolCallId});try{l=await this.connection.requestPermission({sessionId:e.sessionId,toolCall:d,options:a})}catch(c){return this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:d.toolCallId,outcome:"request_failed_incomplete",error:c instanceof Error?c.message:String(c)}),{allowed:!1,override:"[Cancelled] ACP client did not complete the permission request. Operation failed closed."}}return l.outcome.outcome!=="selected"?(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:d.toolCallId,outcome:"request_dismissed"}),{allowed:!1,override:"[Cancelled] Operation cancelled by user"}):l.outcome.optionId==="reject_once"?(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:d.toolCallId,outcome:"request_rejected"}),{allowed:!1,override:"[Cancelled] Operation cancelled by user"}):(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:d.toolCallId,outcome:"request_granted",remember:l.outcome.optionId==="allow_always"}),{allowed:!0,...l.outcome.optionId==="allow_always"?{remember:!0}:{}})}async sendTextChunk(e,t){await this.sendSessionUpdate({sessionId:e,update:{sessionUpdate:"agent_message_chunk",content:{type:"text",text:t}}})}async sendSessionUpdate(e){!this.connection||this.connection.signal.aborted||await this.connection.sessionUpdate(e)}dispatchNotification(e,t,i){i.catch(s=>{if(!this.connection||this.connection.signal.aborted)return;let a=s instanceof Error?s.message:String(s);this.events.emit({type:"notification_failed",sessionId:t,label:e,error:a})})}};async function Ht(n={}){let e=new X(n),t=_t.toWeb(w.stdin),i=Ct.toWeb(w.stdout);e.attach(t,i);try{await e.waitForClose()}finally{await e.dispose()}}r(Ht,"runAcpServer");export{ye as ACP_LOG_LEVELS,T as ACP_PERMISSION_MODE_IDS,gc as ALWAYS_RESIDENT_TOOL_NAMES,lp as AUTO_MODE_DENIAL_CONSECUTIVE_THRESHOLD,mp as AUTO_MODE_DENIAL_WINDOW_SIZE,pp as AUTO_MODE_RECENT_DENIAL_THRESHOLD,O as AcpEventEmitter,b as AcpLogger,Mp as BASH_POLICY_SPEC,Pl as BASH_SAFE_READ_COMMANDS,Il as BASH_WRITE_COMMANDS,Ku as BLOCKER_REQUIRED_CONSECUTIVE_TURNS,vp as BREAKER_ERROR_THRESHOLD,yp as BREAKER_WINDOW_MS,Be as BUILTIN_COMMANDS,Bc as BUILTIN_WORKFLOWS,io as CANCELLED_TOOL_RESULT_MESSAGE,no as CANCELLED_TOOL_RESULT_PREFIX,Rl as CLASSIFIER_MAX_OUTPUT_TOKENS,cl as CODING_AGENT_MARKER,_u as CODING_INVARIANTS,Rc as CODING_SUMMARY_PROMPT,vc as CODING_UPDATE_SUMMARY_PROMPT,fa as CapabilityDeniedError,pe as Client,xc as CodingActorSession,Qa as CombinedExtensionRuntime,ga as ConstructionManifestError,hl as DEFAULT_CLASSIFIER_RETRY_TIMEOUT_MS,gl as DEFAULT_CLASSIFIER_TIMEOUT_MS,Ac as DEFAULT_CODING_AGENT_NAME,Yu as DEFAULT_DANGEROUS_PATTERNS,pa as DEFAULT_HANDLER_TIMEOUT_MS,Kd as DEFAULT_RESILIENCE_CONFIG,Qu as DEFAULT_SAFE_PATTERNS,Ea as DEFAULT_SELF_MODIFY_BUDGET,fo as DEFAULT_TOOL_OUTPUT_MAX_BYTES,mo as DEFAULT_TOOL_OUTPUT_MAX_LINES,Mc as DEFAULT_WORKFLOW_GENERATION_TIMEOUT_MS,di as DefaultSummaryCompaction,rl as EMIT_VERDICT_TOOL_NAME,eo as ErrorCategory,yl as FILE_MODIFICATION_TOOLS,Uc as FINDING_VERIFICATION_OUTPUT_SCHEMA,G as FileSessionStorage,Mr as GENERATOR_AGENT_NAME,Ri as ImageResizeError,ti as KODAX_API_MIN_INTERVAL,tt as KODAX_ASRT_VERSION,j as KODAX_CONFIG_FILE,se as KODAX_DEFAULT_PROVIDER,Bn as KODAX_DEFAULT_TIMEOUT,Ke as KODAX_DIR,Ki as KODAX_FILE_MEDIA_TYPES,Jn as KODAX_HARD_TIMEOUT,Oi as KODAX_IMAGE_MEDIA_TYPES,Zn as KODAX_MAX_INCOMPLETE_RETRIES,Qn as KODAX_MAX_RETRIES,Hn as KODAX_MAX_TOKENS,mn as KODAX_PROVIDERS,pn as KODAX_PROVIDER_SNAPSHOTS,tn as KODAX_REASONING_MODE_SEQUENCE,Yn as KODAX_RETRY_BASE_DELAY,ht as KODAX_RUNTIME_SDK_CAPABILITIES,Le as KODAX_SESSIONS_DIR,nn as KODAX_STABLE_EFFORT_INTENTS,ei as KODAX_STAGGER_DELAY,td as KODAX_TOOLS,xo as KODAX_UNDERLYING_CAPABILITY_TOPICS,Fe as KODAX_VERSION,Ti as KODAX_VIDEO_MEDIA_TYPES,X as KodaXAcpServer,un as KodaXAnthropicCompatProvider,dn as KodaXBaseProvider,pe as KodaXClient,Jt as KodaXError,Ja as KodaXExtensionRuntime,hi as KodaXMediaError,ln as KodaXOpenAICompatProvider,Qt as KodaXProviderError,Yt as KodaXRateLimitError,Ys as KodaXSessionError,Zs as KodaXTerminalError,Qs as KodaXToolError,Ns as KodaXTrustedTextMutationError,Ms as LEARNING_REVIEW_PROMPT_SHA256,bs as LEARNING_REVIEW_SCHEMA_SHA256,Cs as LEARNING_REVIEW_SYSTEM_PROMPT,ks as LEARNING_REVIEW_TOOL,ds as LINEAGE_ENTRY_TYPES,Cd as LSP_SERVERS,us as LineageCompaction,cs as LineageExtension,kd as LspService,_o as MANUAL_REGISTRY,Eo as MANUAL_TOPIC_IDS,wi as MAX_DIMENSION,Hu as MEMORY_INTERVENTION_SELECTOR_PROMPT,Bu as MEMORY_INTERVENTION_SELECTOR_SHA256,Sl as MODIFICATION_TOOLS,zi as McpAuthRequiredError,os as McpCapabilityProvider,Wi as McpExpiredSessionError,rs as McpManager,ss as McpServerRuntime,Ci as PASTE_TMP_DIR_ENV,ki as PASTE_TMP_TTL_MS,kr as PLANNER_AGENT_NAME,ni as PROMISE_PATTERN,nc as PROMPT_SECTION_REGISTRY,dl as PROTOCOL_EMITTER_TOOLS,Nd as ProviderRecoveryCoordinator,go as READ_DEFAULT_LIMIT,Ro as READ_MAX_LINE_CHARS,ho as READ_PREFLIGHT_SIZE_BYTES,Wa as REPO_EXPLORER_AGENT_NAME,za as REPO_EXPLORER_TOOL_NAMES,ui as Runner,ut as RuntimePermissionScopeUpgradeRequiredError,ct as RuntimeTransportBoundaryError,Nc as SCOPED_REVIEW_OUTPUT_SCHEMA,Cr as SCOUT_AGENT_NAME,Np as SCOUT_THEN_AUTHOR_PROMPT_LINES,dc as SELF_KNOWLEDGE_ROUTING_RULE,tc as SYSTEM_PROMPT,pu as SYSTEM_WORKFLOW_LIMITS,qd as StableBoundaryTracker,Ai as TARGET_RAW_SIZE_BYTES,Tr as TASK_ENGINE_ROLE_AGENTS,ul as TOOL_RESULT_TRUNCATION_GUARDRAIL_NAME,Tp as TRACING_ENV,Do as ToolResultBatchCapacityError,br as WORKER_AGENT_NAME,kc as WORKFLOW_GENERATION_SYSTEM_PROMPT,Oa as _resetRuntimeForTesting,pt as acquireKodaXInlineOwner,La as activate,ot as activateKodaXSandbox,gi as actorQueueId,np as analyzeAutoModeCall,Bo as analyzeChangedScope,Cl as analyzePowerShellMutation,wa as appendAuditEntry,vs as appendSessionLineageLabel,$r as applyAccountingDelta,$c as applyFindingVerification,yc as applyPostCompactAttachments,ys as applySessionCompaction,qo as applyToolResultGuardrail,Es as archiveOldIslands,Us as assertTrustedTextMutationPolicy,Vp as authorWorkflowViaWorker,Rp as autoModeDenialShouldFallback,qs as awaitLatestCodingMemoryReviewDrain,xp as bashSignalCollector,Kp as bootstrapTracing,wu as boundedRevise,Pp as breakerShouldFallback,Au as budgetCeiling,mu as buildApprovalSummary,zr as buildBlockedGoal,cc as buildCapabilityContextSections,pl as buildClassifierPrompt,Hr as buildCompleteGoal,jr as buildCreatedGoal,Qd as buildFallbackRoutingDecision,qu as buildGoalRuntimeBinding,is as buildInitializeCapabilities,Sa as buildLlmReviewPrompt,ko as buildManualToolDescription,V as buildMcpReverseCapabilities,Gr as buildPausedGoal,Ud as buildPromptMessageContent,rc as buildPromptSnapshot,Gd as buildProviderCapabilitySnapshot,Yd as buildProviderPolicyHintsForDecision,Wd as buildProviderPolicyPromptNotes,Ho as buildRepoIntelligenceContext,rr as buildRepoIntelligenceIndex,Go as buildRepoOverview,Wr as buildResumedGoal,zc as buildScopedReviewFinalPrompt,Gc as buildScopedReviewPrimaryPrompt,Wc as buildScopedReviewVerificationPrompt,Up as buildScoutThenAuthorPrompt,ac as buildSelfKnowledgeRoutingRule,ws as buildSessionTree,lc as buildSystemPrompt,uc as buildSystemPromptSnapshot,wd as buildToolResultBudget,Ad as buildToolResultBudgetFromUsage,na as buildToolSearchIndex,cu as buildWorkflowCostReport,Kc as buildWorkflowGenerationSkillContext,Tc as buildWorkflowGenerationUserPrompt,Xs as canonicalMemoryProjectId,so as canonicalizeAgentHomePolicyPath,Yl as canonicalizeAutoModePath,Ep as checkAbsoluteDeny,Vd as checkIncompleteToolCalls,ec as checkPromiseSignal,Ed as clampToolResultPolicyToBudget,fu as clampWorkflowLimits,vl as classify,el as classifyBashCommand,to as classifyError,$o as classifyFileCategory,Xd as classifyResilienceError,yd as cleanupExpiredToolOutputs,Fi as cleanupIncompleteToolCalls,Sd as cleanupUnreferencedToolOutputs,Dn as clearRuntimeModelProviders,Js as clearShellExecutionEnvironmentCache,Cp as collectAllSignals,le as collectBashWriteTargets,Hl as collectDeterministicBashWriteTargets,de as combineExtensionRuntimes,nl as computeInputSignature,ba as configureRuntime,yt as connectKodaXRuntime,Pc as consumeCompactionCooldown,Ir as convertCapabilityReadResult,Sr as convertProviderSearchResults,As as countActiveLineageMessages,si as countTokens,oi as createAgent,fp as createAutoModeDenialTracker,kp as createAutoModeToolGuardrail,Zu as createBashClassifierConfig,Op as createBashPrefixExtractor,cd as createBuiltinToolDefinition,Sp as createCircuitBreaker,Ju as createCodingMemoryInterventionRunner,qc as createCodingWorkflowBackend,Sc as createCompactionAntiThrashState,ha as createCtxProxy,wn as createCustomProvider,Te as createDefaultCodingAgent,tl as createDenialTracker,dp as createExecPolicyOperation,N as createExtensionRuntime,Cc as createExternalActorTurnExecutor,Ii as createFileArtifactFromPath,ri as createHandoff,Si as createImageArtifactFromPath,ai as createInMemorySession,Ye as createInteractiveContext,vt as createKodaXRuntime,Oe as createKodaXTaskRunner,_c as createLocalCodingActorControl,Ui as createMcpCapabilityId,as as createMcpManager,Hi as createMcpTransport,Gn as createOutputSegmentProjection,Ts as createProductionLearningReviewer,ic as createPromptSection,Zd as createReasoningPlan,lu as createRunGraphWriter,fc as createRuntimeContextBudgetSnapshot,Pu as createSessionControl,ms as createSessionLineage,ll as createToolResultTruncationGuardrail,Pi as createVideoArtifactFromPath,Xp as createWorkflowLifecycleController,Fp as createWorkflowPatternTemplateModule,vu as createWorkflowRunManager,Mu as decideWorkflowInvocation,F as dedupeExtensionPathsByEntrypoint,Ni as defaultMcpCacheDir,ma as defaultPolicy,su as deleteSavedWorkflow,Ls as deriveCodingMemoryIdentity,Ks as deriveCodingMemoryIdentityFromRoot,Fs as deriveCodingMemoryReviewIdentities,Ma as disableSelfModify,Yi as discoverAuthorizationServerMetadata,ae as discoverDefaultExtensions,la as discoverExtensionsInDirectory,ua as discoverExtensionsInDirectoryDetailed,Ga as discoverMarkdownAgents,Zi as discoverOAuthEndpoints,Qi as discoverProtectedResourceMetadata,Yc as discoverSavedWorkflows,at as doctorKodaXSandbox,Ds as drainCodingMemoryReviewInbox,Xr as drainPendingSwaps,zn as effectiveOutputSegmentText,on as effortToLegacyReasoningMode,al as emitVerdict,hu as emitWorkflowAgentDigest,ft as enableKodaXDaemonOwner,Di as enqueueWithArtifacts,Ha as ensureBuiltinRepoExplorerAgent,ii as estimateTokens,mc as estimateToolSchemaTokens,ap as evaluateExecPolicy,zd as evaluateProviderPolicy,cp as evaluateShellExecPolicy,re as excludeExtensionPathsByEntrypoint,oa as exec,Qe as executeCommand,ta as executeRunScopedTool,vd as executeTool,ls as extractArtifactLedger,bp as extractCommandPrefix,$d as extractComparableUserMessageText,yr as extractHtmlTitle,Ji as extractInsufficientScope,Vl as extractPathsFromCommand,jd as extractPromptComparableText,Bi as extractResourceMetadataUrl,_s as extractTitleFromMessages,_p as fileSignalCollector,wr as finalizeRetrievalResult,Ua as findByVersion,kl as findGitSubcommandIndex,Ss as findPreviousUserEntryId,El as flattenArgv,xl as flattenRedirections,Ps as forkSessionLineage,Td as formatAgentsForPrompt,sp as formatExecPolicyConfigurationError,ip as formatExecPolicyRejection,Wu as formatParallelDispatchResult,vo as formatSize,Fl as generateSavePattern,xs as generateSessionId,Xc as generateWorkflow,Dc as generateWorkflowFromOptions,Za as getActiveExtensionRuntime,pi as getAgentConfigHome,mi as getAgentConfigPath,ld as getAllRegisteredTools,fi as getAppDataDir,Nn as getAvailableProviderNames,Bl as getBashOutsideProjectWriteRisk,dd as getBuiltinRegisteredToolDefinition,ad as getBuiltinToolDefinition,Jc as getBuiltinWorkflow,bn as getCustomModelCapabilities,En as getCustomProvider,Cn as getCustomProviderList,Mn as getCustomProviderModelDescriptors,kn as getCustomProviderModels,_n as getCustomProviderNames,da as getDefaultExtensionDirectory,Md as getDefaultLspService,yu as getDefaultWorkflowRunManager,ol as getDenialContext,Ll as getDirectShellBypassBlockReason,Ge as getGitRoot,lr as getImpactEstimate,mt as getKodaXRuntimeOwnerState,nt as getKodaXSandboxCapability,st as getKodaXSandboxSetupGuidance,bd as getKodaxGlobalDir,Gi as getMcpCachePaths,Sn as getModelCapabilities,Li as getModelInputCapabilities,dr as getModuleContext,Wl as getPlanModeAllowedWritablePaths,Jl as getPlanModeBlockReason,ur as getProcessContext,fn as getProvider,hn as getProviderConfiguredCapabilityProfile,gn as getProviderConfiguredReasoningCapability,Ue as getProviderList,Ne as getProviderModel,yn as getProviderModelDescriptors,Rn as getProviderModels,od as getRegisteredToolDefinition,ar as getRepoIntelligenceIndex,Wo as getRepoOverview,pr as getRepoRoutingSignals,gd as getRequiredToolParams,Kn as getRuntimeModelProvider,Xn as getRuntimeModelProviderNames,fs as getSessionLineagePath,gs as getSessionMessagesFromLineage,cr as getSymbolContext,id as getTool,sd as getToolDefinition,rd as getToolRegistrations,Xo as getToolResultPolicy,qe as getVersion,qp as getWorkflowPatternTemplate,Ml as gitSignatureInspectionMayExecute,Nr as goalTokenDelta,Rt as handleRuntimePermissionRequest,ku as hasExplicitNaturalLanguageWorkflowIntent,Lr as hasPendingSwap,Xe as hydrateProcessEnvFromShell,vi as inferImageMediaType,Ql as inferPermissionMode,Jd as inferTaskType,yi as inferVideoMediaType,Ko as inspectEditFailure,or as inspectRepoIntelligenceRuntime,Os as installProductionLearningReviewer,uo as isAgentHomeHardMutationTarget,lo as isAgentHomeHardRemovalTarget,Nl as isAlwaysConfirmPath,ro as isAutoReadableAgentHomePath,ep as isAutoReadableKodaxPath,oo as isAutoWritableAgentHomePath,tp as isAutoWritableKodaxPath,Kl as isBashReadCommand,$l as isBashReadCommandAutoAllowed,Xl as isBashWriteCommand,jl as isCommandOnProtectedPath,Zl as isCredentialBearingKodaxPath,xn as isCustomProviderName,sl as isDeniedRecently,Tl as isHelpCommand,Fn as isKnownProvider,wl as isNullDevice,Gu as isParallelDispatchDirective,Gl as isPathInsideProject,zl as isPlanModeAllowedPath,_l as isPowerShellMutationCommand,co as isProtectedAgentHomeMutationTarget,ao as isProtectedAgentHomeReadTarget,po as isProtectedAgentHomeRemovalTarget,Ve as isProviderConfigured,vn as isProviderName,Ln as isRuntimeModelProviderName,Dd as isSessionRecoveryCandidateError,Ol as isShellReadOnlyArgv,aa as isSupportedExtensionModulePath,ql as isToolCallAllowed,ce as isToolFileMutation,fd as isToolMutation,md as isToolNetworkRead,pd as isToolPlanModeAllowed,Br as isValidTokenBudget,xd as languageIdForPath,Va as listAll,jn as listAllModelCapabilities,qa as listArtifacts,In as listBuiltinModelCapabilities,ud as listBuiltinToolDefinitions,Qc as listBuiltinWorkflows,Dr as listCodingDispatchableAgents,Na as listConstructed,On as listCustomProviderModelCapabilities,Qr as listRunScopedTools,Rd as listToolDefinitions,hd as listTools,Dp as listWorkflowPatternTemplates,Od as loadAgentsFiles,ja as loadAgentsFromMarkdown,ze as loadAutoModeSettings,je as loadConfig,rp as loadExecPolicy,ru as loadGeneratedWorkflowFromRun,Ra as loadHandler,$a as loadMarkdownAgentScope,tu as loadSavedWorkflow,eu as loadSavedWorkflowCapsule,ns as loadValidToken,Zr as lookupRunScopedTool,Fr as makeDisabledGoalToolsContext,sn as mapLegacyReasoningModeToEffortIntent,Pd as maybeRunReferenceAwareToolOutputGc,Id as maybeRunToolOutputGc,Vu as mcpRootsFromWorkspace,ps as mergeArtifactLedger,jc as mergeScopedReviewResults,Vs as normalizeKodaXAgentMode,Vi as normalizeMcpCapabilityId,Ei as normalizePastedImage,ne as normalizeReasoningEffortValue,Vc as normalizeScopedReviewResult,Hs as normalizeShellExecutionContract,Zc as normalizeWorkflowModule,sc as orderPromptSections,Fc as parallelInvestigation,Dl as parseAllowedToolPattern,Gs as parseBareInlineSlashReferences,Al as parseBashCommand,ml as parseClassifierOutput,Je as parseCommand,To as parseEditToolError,op as parseExecPolicy,bl as parseGitGrepShortOption,$s as parseInlineSkillReferences,Ia as parseLlmReviewVerdict,ji as parseMcpCapabilityId,wp as parseModelSpec,ie as parseReasoningEffortEnv,dt as parseRuntimeEvent,js as parseSandboxEnvironmentPass,en as parseTimeoutSecEnvMs,sa as parseToolSearchQuery,Lc as parseWorkflowGeneration,ts as performOAuthLogin,Mi as persistImageAsBlock,wo as persistToolOutput,Fu as planGoalCreate,Nu as planGoalTransition,hc as planToolExposure,du as preflightWorkflowCapsule,$ as prepareRuntimeConfig,mr as prewarmRepoIntelligenceCaches,et as processSpecialSyntax,pc as providerResilienceConfigFromTimeouts,bi as prunePasteTmpDir,We as rateLimitedCall,_i as readAndNormalizeClipboardImage,Fa as readArtifact,Aa as readAuditEntries,xa as readBudget,te as readClientItemRange,xi as readClipboardImage,ka as readDisableState,Bd as reasoningModeToDepth,Fd as reconstructMessagesWithToolGuard,hp as recordAutoModeAllow,gp as recordAutoModeBlock,Ou as recordBlockerAttempt,Ip as recordBreakerError,wc as recordCompactionSavings,il as recordDenial,Wn as reduceOutputSegmentProjection,Cu as registerCodingInvariants,De as registerConfiguredCustomProviders,U as registerConfiguredMcpCapabilityProvider,An as registerCustomProviders,Tn as registerModelProvider,es as registerOAuthClient,ju as registerOfficialSandboxExtension,ci as registerPresetDispatcher,nd as registerTool,Xa as rehydrateActiveArtifacts,_a as remainingSelfModifyBudget,iu as renameSavedWorkflow,Jo as renderChangedScope,ir as renderImpactEstimate,er as renderModuleContext,nr as renderProcessContext,oc as renderPromptSections,zo as renderRepoOverview,Pr as renderRetrievalResult,tr as renderSymbolContext,Uu as replaceConfiguredMcpCapabilityProvider,ou as replaceSavedWorkflow,_d as reportLspDiagnostics,Tu as resetBlockerCounter,Ca as resetBudget,W as resolveAcpLogLevel,He as resolveAutoModeSettings,Ap as resolveClassifierModel,qr as resolveCodingDispatchableAgent,Kr as resolveConstructedAgent,ca as resolveExtensionEntrypoint,Co as resolveKodaXManual,Vn as resolveModelCapabilities,qn as resolveProvider,Un as resolveProviderModelDescriptors,rn as resolveReasoningEffort,an as resolveReasoningEffortForModelSwitch,Hd as resolveReasoningMode,sr as resolveRepoIntelligenceMode,oe as resolveRepoIntelligenceRuntimeConfig,Ld as resolveResilienceConfig,hs as resolveSessionLineageTarget,Ec as resolveSkillModelOverride,Jr as resolveToolBridgeTarget,Eu as resolveToolCapability,Po as resolveToolOutputDir,$n as resolveWireEffort,bc as resolveWorkflowGenerationTimeoutMs,Lp as resolveWorkflowIdentity,Da as revoke,Is as rewindSessionLineage,Ba as rollbackSelfModify,Ht as runAcpServer,va as runAstRules,It as runInkInteractiveMode,St as runInteractiveMode,ke as runKodaX,rt as runKodaXSandboxed,Pa as runLlmReview,be as runManagedTask,$u as runOrchestration,Yr as runScopedToolMap,Iu as runToolInvocation,Ru as runWorkflowFromOptions,gu as runWorkflowModule,uu as safeWorkflowArtifactName,$e as saveConfig,nu as saveGeneratedWorkflow,au as saveGeneratedWorkflowFromRun,Hc as scopedReview,$i as searchMcpCatalog,ia as searchToolIndex,Ya as setActiveExtensionRuntime,li as setAgentConfigHome,gt as setKodaXRuntimeOwnerMode,Rs as setSessionLineageActiveEntry,it as setupKodaXSandbox,Bs as shellExecutionContractFingerprint,Vr as shouldFlipBudgetLimited,Ic as shouldSkipLlmCompaction,ue as shutdownDefaultLspService,Ta as stage,Me as startKodaX,Su as startManagedWorkflow,fl as stripAssistantText,vr as stripHtmlToText,Ka as testArtifact,Zt as timeoutSecToMs,ea as toModelToolDefinition,Ul as tokenizeRawCommandStages,up as tokenizeShellCommand,jo as toolAskUserQuestion,Fo as toolBash,Zo as toolChangedDiff,Yo as toolChangedScope,xr as toolCodeSearch,Oo as toolEdit,No as toolGlob,Uo as toolGrep,Rr as toolImpactEstimate,Lo as toolInsertAfterAnchor,fr as toolModuleContext,xu as toolPermission,hr as toolProcessContext,Ao as toolRead,Qo as toolRepoOverview,_r as toolSemanticLookup,gr as toolSymbolContext,Vo as toolUndo,Er as toolWebFetch,Ar as toolWebSearch,bo as toolWrite,Ze as touchContext,yo as truncateHead,Io as truncateLine,So as truncateTail,Ur as turnWallTimeDelta,zs as uniqueBareInlineSlashNames,Ws as uniqueInlineSkillNames,qi as validateAndFixToolHistory,Pn as validateCustomProviderConfig,Oc as validateGeneratedWorkflowSource,cn as validateImageBytes,Xi as validateInputArtifactsForModel,zu as validateSubtaskIndependence,ya as validateToolSchemaForProvider,Du as verifyGoalCompletion,lt as waitForRuntimeDaemonShutdown,ra as webhook,ed as withExtensionRuntimeContext,Lu as withGoalBeforeNextTurn,Xu as withGoalStopHook,Mo as withManualToolBranding,Or as workerAgent,bu as workflowStartOutcomeConsumesTurn,jp as writeReviewPackets};
@@ -28,5 +28,5 @@ if (process.env.KODAX_DISABLE_HARDENING !== '1') {
28
28
  delete process.env.DYLD_LIBRARY_PATH;
29
29
  }
30
30
 
31
- var c=Object.defineProperty;var r=(e,o)=>c(e,"name",{value:o,configurable:!0});import{readFileSync as p}from"node:fs";import{pathToFileURL as m}from"node:url";function f(e){return e.length===1&&(e[0]==="-r"||e[0]==="--resume")}r(f,"isBareResumeRequest");function y(e){return e.length===1&&(e[0]==="-V"||e[0]==="--version")}r(y,"isVersionRequest");function v(){return"0.7.96"}r(v,"readBootstrapVersion");async function g(e={}){let o=e.argv??process.argv,n=e.stdin??process.stdin,d=e.loadResume??(()=>import("./kodax_resume.js")),u=e.loadCli??(()=>import("./kodax_cli.js")),s,i=r(()=>(s??=u(),s),"loadCliOnce"),a=o.slice(2);if(y(a)){process.stdout.write(`${v()}
31
+ var c=Object.defineProperty;var r=(e,o)=>c(e,"name",{value:o,configurable:!0});import{readFileSync as p}from"node:fs";import{pathToFileURL as m}from"node:url";function f(e){return e.length===1&&(e[0]==="-r"||e[0]==="--resume")}r(f,"isBareResumeRequest");function y(e){return e.length===1&&(e[0]==="-V"||e[0]==="--version")}r(y,"isVersionRequest");function v(){return"0.7.97-alpha.2"}r(v,"readBootstrapVersion");async function g(e={}){let o=e.argv??process.argv,n=e.stdin??process.stdin,d=e.loadResume??(()=>import("./kodax_resume.js")),u=e.loadCli??(()=>import("./kodax_cli.js")),s,i=r(()=>(s??=u(),s),"loadCliOnce"),a=o.slice(2);if(y(a)){process.stdout.write(`${v()}
32
32
  `);return}if(f(a)){let t=await(await d()).resolveBareResume({beforeSelect:r(async()=>{await i()},"beforeSelect")});if(t.kind==="exit"){n.pause?.(),n.unref?.();return}o.splice(2,o.length-2,...t.argv),t.argv.length>0&&n.isTTY===!0&&(n.pause?.(),n.ref?.())}await(await i()).main()}r(g,"runKodaXBootstrap");async function R(){try{await g()}catch(e){process.stdin.pause(),process.stdin.unref?.();let o=e instanceof Error?e.message:String(e);try{let{default:n}=await import("chalk");console.error(n.red(`[Error] ${o}`))}catch{console.error(`[Error] ${o}`)}process.exitCode=1}}r(R,"runKodaXBootstrapAsEntry");var l=process.argv[1],w=l!==void 0&&import.meta.url===m(l).href;w&&R();export{f as isBareResumeRequest,y as isVersionRequest,g as runKodaXBootstrap,R as runKodaXBootstrapAsEntry};