@kodax-ai/kodax 0.7.48 → 0.7.49

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 (49) hide show
  1. package/CHANGELOG.md +1741 -1720
  2. package/README.md +80 -27
  3. package/README_CN.md +60 -15
  4. package/dist/builtin/code-review/SKILL.md +1 -1
  5. package/dist/chunks/argument-completer-GDG5OHN7.js +2 -0
  6. package/dist/chunks/{chunk-LNJNRREL.js → chunk-67SWUEEN.js} +412 -280
  7. package/dist/chunks/chunk-C5PKZX5Z.js +291 -0
  8. package/dist/chunks/chunk-ISGHUKRY.js +428 -0
  9. package/dist/chunks/chunk-JTHMWRXM.js +566 -0
  10. package/dist/chunks/chunk-TYZAH3YP.js +2 -0
  11. package/dist/chunks/chunk-YACQ4OST.js +31 -0
  12. package/dist/chunks/{chunk-DEODZG6Q.js → chunk-YW4RQV7U.js} +1 -1
  13. package/dist/chunks/{compaction-config-YWCHOP2U.js → compaction-config-BQBYOWX2.js} +1 -1
  14. package/dist/chunks/{construction-bootstrap-AIWATBWW.js → construction-bootstrap-5TFGMSWQ.js} +1 -1
  15. package/dist/chunks/{dist-IDNOAB4M.js → dist-BL7IBQHD.js} +1 -1
  16. package/dist/chunks/dist-D7HOETCE.js +2 -0
  17. package/dist/chunks/{utils-OG57XTPC.js → utils-XWDT3W5X.js} +1 -1
  18. package/dist/index.d.ts +11 -11
  19. package/dist/index.js +2 -2
  20. package/dist/kodax_cli.js +1325 -892
  21. package/dist/provider-capabilities.json +193 -190
  22. package/dist/sdk-agent.d.ts +205 -103
  23. package/dist/sdk-agent.js +1 -1
  24. package/dist/sdk-coding.d.ts +534 -33
  25. package/dist/sdk-coding.js +1 -1
  26. package/dist/sdk-llm.d.ts +5 -5
  27. package/dist/sdk-llm.js +1 -1
  28. package/dist/sdk-mcp.js +1 -1
  29. package/dist/sdk-repl.d.ts +11 -10
  30. package/dist/sdk-repl.js +1 -1
  31. package/dist/sdk-session.d.ts +6 -3
  32. package/dist/sdk-session.js +1 -1
  33. package/dist/sdk-skills.js +1 -1
  34. package/dist/types-chunks/{base.d-BdJKSPO2.d.ts → base.d-C4jYVjJh.d.ts} +2 -1
  35. package/dist/types-chunks/{bash-prefix-extractor.d-DNO2-ycp.d.ts → bash-prefix-extractor.d-CI_xcPhn.d.ts} +68 -7
  36. package/dist/types-chunks/{file-tracker.d-D7L_SbRm.d.ts → capsule.d-DaPuhyyK.d.ts} +170 -5
  37. package/dist/types-chunks/{resolver.d-DkgJlEzr.d.ts → resolver.d-B_wm409c.d.ts} +2 -2
  38. package/dist/types-chunks/{storage.d-B1Jk6ryM.d.ts → storage.d-J2GqOgaX.d.ts} +4 -1
  39. package/dist/types-chunks/{types.d-BCnbYG_A.d.ts → types.d-BR9oNWup.d.ts} +363 -4
  40. package/dist/types-chunks/{types.d-B_MIIApc.d.ts → types.d-BnjX2Gn4.d.ts} +6 -1
  41. package/dist/types-chunks/{types.d-Cf-GCzac.d.ts → types.d-rPRl2LSB.d.ts} +4 -0
  42. package/dist/types-chunks/{utils.d-Dgy5SVrq.d.ts → utils.d-BJ_-y8gC.d.ts} +42 -8
  43. package/package.json +1 -1
  44. package/dist/chunks/chunk-66B6ZOU7.js +0 -31
  45. package/dist/chunks/chunk-6Z75SHX3.js +0 -2
  46. package/dist/chunks/chunk-EP46H5P3.js +0 -415
  47. package/dist/chunks/chunk-UHAP234X.js +0 -567
  48. package/dist/chunks/dist-4WABQRJU.js +0 -2
  49. package/dist/types-chunks/types.d-C5mHR87z.d.ts +0 -119
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
- import{Rb as he,Sb as ve,X as T,_ as O,aa as q,ac as S,ba as K,ca as F,da as D,ea as X,fa as j,ga as U,ka as ce,la as pe,ma as ue,nb as me,ob as ge,zb as fe}from"./chunks/chunk-UHAP234X.js";import{D as le,b as H,c as J,d as Y,f as Z,h as ee,i as te,j as se,k as oe,u as ne,v as ie,w as re,x as A,y as ae,z as de}from"./chunks/chunk-6Z75SHX3.js";import"./chunks/chunk-DEODZG6Q.js";import"./chunks/chunk-EVIDQWMF.js";import{$ as Fo,$a as Dn,$b as Ki,$c as Or,$d as La,A as co,Aa as pn,Ab as ci,Ac as lr,Ad as ia,B as po,Ba as un,Bb as pi,Bc as cr,Bd as ra,C as uo,Ca as mn,Cb as ui,Cc as pr,Cd as aa,D as mo,Da as gn,Db as mi,Dc as x,Dd as da,E as go,Ea as fn,Eb as gi,Ec as ur,Ed as la,F as fo,Fa as hn,Fb as fi,Fc as mr,Fd as ca,G as ho,Ga as vn,Gb as hi,Gc as gr,Gd as pa,H as vo,Ha as yn,Hb as vi,Hc as fr,Hd as ua,I as yo,Ia as _n,Ib as yi,Ic as E,Id as ma,J as _o,Ja as In,Jb as _i,Jc as hr,Jd as ga,K as Io,Ka as wn,Kb as Ii,Kc as vr,Kd as fa,L as wo,La as An,Lb as wi,Lc as yr,Ld as ha,M as Ao,Ma as Sn,Mb as Ai,Mc as _r,Md as va,N as So,Na as Pn,Nb as M,Nc as Ir,Nd as ya,O as Po,Oa as bn,Ob as Si,Oc as wr,Od as _a,P as bo,Pa as Cn,Pb as Pi,Pc as Ar,Pd as Ia,Q as Co,Qa as Rn,Qb as bi,Qc as Sr,Qd as wa,R as Ro,Ra as kn,Rb as Ci,Rc as Pr,Rd as Aa,S as ko,Sa as Mn,Sb as Ri,Sc as br,Sd as Sa,T as Mo,Ta as xn,Tb as ki,Tc as Cr,Td as Pa,U as xo,Ua as En,Ub as Mi,Uc as Rr,Ud as ba,V as Eo,Va as Ln,Vb as xi,Vc as kr,Vd as Ca,W as Lo,Wa as Tn,Wb as Ei,Wc as Mr,Wd as Ra,X as To,Xa as On,Xb as Li,Xc as xr,Xd as ka,Y as Oo,Ya as qn,Yb as Ti,Yc as Er,Yd as Ma,Z as qo,Za as Kn,Zb as Oi,Zc as Lr,Zd as xa,_ as Ko,_a as Fn,_b as qi,_c as Tr,_d as Ea,a as Rt,aa as Do,ab as Xn,ac as Fi,ad as qr,ae as Ta,b as kt,ba as Xo,bb as jn,bc as Di,bd as Kr,be as Oa,c as Mt,ca as jo,cb as Un,cc as Xi,cd as Fr,ce as qa,d as xt,da as Uo,db as Vn,dc as ji,dd as Dr,de as Ka,e as Et,ea as Vo,eb as $n,ec as Ui,ed as Xr,ee as Fa,f as Vs,fa as $o,fb as zn,fc as Vi,fd as jr,fe as Da,g as $s,ga as zo,gb as Bn,gc as $i,gd as Ur,ge as Xa,h as zs,ha as Bo,hb as Wn,hc as zi,hd as Vr,he as ja,i as Bs,ia as Wo,ib as Nn,ic as Bi,id as I,ie as L,j as Ws,ja as No,jb as Gn,jc as Wi,jd as $r,je as Ua,k as Ns,ka as Go,kb as Qn,kc as Ni,kd as w,ke as Va,l as Gs,la as Qo,lb as Hn,lc as Gi,ld as zr,m as Qs,ma as Ho,mb as Jn,mc as Qi,md as Br,n as Hs,na as Jo,nb as Yn,nc as Hi,nd as Wr,o as Js,oa as Yo,ob as Zn,oc as Ji,od as Nr,p as Ys,pa as Zo,pb as ei,pc as Yi,pd as Gr,q as Zs,qa as en,qb as ti,qc as Zi,qd as Qr,r as eo,ra as tn,rb as si,rc as er,rd as Hr,s as to,sa as sn,sb as oi,sc as tr,sd as Jr,t as so,ta as on,tb as ni,tc as sr,td as Yr,u as oo,ua as nn,ub as ii,uc as or,ud as Zr,v as no,va as rn,vb as ri,vc as nr,vd as ea,w as io,wa as an,wb as ai,wc as ir,wd as ta,x as ro,xa as dn,xb as di,xc as rr,xd as sa,y as ao,ya as ln,yb as _,yc as ar,yd as oa,z as lo,za as cn,zb as li,zc as dr,zd as na}from"./chunks/chunk-LNJNRREL.js";import{$ as ot,C as Ne,K as Ge,L as Qe,Q as He,R as Je,S as R,T as Ye,W as Ze,X as et,Z as tt,_ as st,a as Fe,aa as nt,b as De,ba as it,c as Xe,ca as rt,da as at,ea as dt,fa as lt,ga as ct,ha as pt,ia as ut,j as je,ja as mt,ka as gt,la as ft,ma as ht,na as vt,oa as yt,pa as _t,qa as It,ra as wt,sa as k,t as Ue,ta as At,u as Ve,ua as St,v as $e,va as Pt,w as ze,wa as bt,x as Be,xa as Ct,y as We}from"./chunks/chunk-66B6ZOU7.js";import{$c as Us,Ab as os,Bb as ns,Cb as is,Db as rs,Eb as as,Fb as ds,Gb as ls,Gc as Rs,Hb as cs,Hc as ks,Ib as ps,Ic as Ms,Jb as us,Jc as xs,Kb as ms,Kc as Es,Lb as gs,Lc as Ls,Mb as fs,Mc as Ts,Nb as hs,Ob as vs,Oc as Os,Pb as ys,Pc as qs,Qb as _s,Qc as Ks,Rb as Is,Rc as Fs,Sb as ws,Sc as Ds,Tc as Xs,_c as js,a as Lt,b as Tt,c as Ot,d as qt,e as Kt,f as Ft,h as Dt,i as Xt,j as jt,jb as Zt,k as Ut,ka as Nt,kb as es,l as Vt,m as $t,n as zt,na as Gt,o as Bt,p as Wt,ua as Qt,va as Ht,vc as As,wa as Jt,wc as Ss,xa as Yt,xc as Ps,yb as ts,yc as bs,zb as ss,zc as Cs}from"./chunks/chunk-EP46H5P3.js";import{a as i}from"./chunks/chunk-V4WSBIXB.js";import ye from"node:process";var $=["off","error","info","debug"],V={off:0,error:1,info:2,debug:3};function P(o,e="info"){if(!o)return e;let t=o.trim().toLowerCase();return $.includes(t)?t:e}i(P,"resolveAcpLogLevel");var m=class{static{i(this,"AcpLogger")}level;sink;constructor(e={}){this.level=e.level??"info",this.sink=e.sink??(t=>{ye.stderr.write(`${t}
2
+ import{Ib as S,Va as me,Wa as ge,fb as fe,xb as he,yb as ve}from"./chunks/chunk-C5PKZX5Z.js";import{ba as ce,ca as pe,da as ue,f as T,i as O,l as q,m as K,n as F,p as D,q as X,r as j,s as U}from"./chunks/chunk-ISGHUKRY.js";import{D as le,b as H,c as J,d as Y,f as Z,h as ee,i as te,j as se,k as oe,u as ne,v as ie,w as re,x as A,y as ae,z as de}from"./chunks/chunk-TYZAH3YP.js";import"./chunks/chunk-YW4RQV7U.js";import"./chunks/chunk-EVIDQWMF.js";import{$ as Fo,$a as Dn,$b as Ki,$c as Or,$d as La,A as co,Aa as pn,Ab as ci,Ac as lr,Ad as ia,Ae as nd,B as po,Ba as un,Bb as pi,Bc as cr,Bd as ra,Be as id,C as uo,Ca as mn,Cb as ui,Cc as pr,Cd as aa,Ce as rd,D as mo,Da as gn,Db as mi,Dc as x,Dd as da,De as ad,E as go,Ea as fn,Eb as gi,Ec as ur,Ed as la,Ee as dd,F as fo,Fa as hn,Fb as fi,Fc as mr,Fd as ca,Fe as ld,G as ho,Ga as vn,Gb as hi,Gc as gr,Gd as pa,Ge as cd,H as vo,Ha as yn,Hb as vi,Hc as fr,Hd as ua,He as pd,I as yo,Ia as _n,Ib as yi,Ic as E,Id as ma,Ie as ud,J as _o,Ja as In,Jb as _i,Jc as hr,Jd as ga,Je as md,K as Io,Ka as wn,Kb as Ii,Kc as vr,Kd as fa,Ke as gd,L as wo,La as An,Lb as wi,Lc as yr,Ld as ha,Le as fd,M as Ao,Ma as Sn,Mb as Ai,Mc as _r,Md as va,Me as hd,N as So,Na as Pn,Nb as M,Nc as Ir,Nd as ya,Ne as vd,O as Po,Oa as bn,Ob as Si,Oc as wr,Od as _a,Oe as yd,P as bo,Pa as Cn,Pb as Pi,Pc as Ar,Pd as Ia,Pe as _d,Q as Co,Qa as Rn,Qb as bi,Qc as Sr,Qd as wa,Qe as Id,R as Ro,Ra as kn,Rb as Ci,Rc as Pr,Rd as Aa,Re as wd,S as ko,Sa as Mn,Sb as Ri,Sc as br,Sd as Sa,Se as Ad,T as Mo,Ta as xn,Tb as ki,Tc as Cr,Td as Pa,U as xo,Ua as En,Ub as Mi,Uc as Rr,Ud as ba,V as Eo,Va as Ln,Vb as xi,Vc as kr,Vd as Ca,W as Lo,Wa as Tn,Wb as Ei,Wc as Mr,Wd as Ra,X as To,Xa as On,Xb as Li,Xc as xr,Xd as ka,Y as Oo,Ya as qn,Yb as Ti,Yc as Er,Yd as Ma,Z as qo,Za as Kn,Zb as Oi,Zc as Lr,Zd as xa,_ as Ko,_a as Fn,_b as qi,_c as Tr,_d as Ea,a as Rt,aa as Do,ab as Xn,ac as Fi,ad as qr,ae as Ta,b as kt,ba as Xo,bb as jn,bc as Di,bd as Kr,be as Oa,c as Mt,ca as jo,cb as Un,cc as Xi,cd as Fr,ce as qa,d as xt,da as Uo,db as Vn,dc as ji,dd as Dr,de as Ka,e as Et,ea as Vo,eb as $n,ec as Ui,ed as Xr,ee as Fa,f as Vs,fa as $o,fb as zn,fc as Vi,fd as jr,fe as Da,g as $s,ga as zo,gb as Bn,gc as $i,gd as Ur,ge as Xa,h as zs,ha as Bo,hb as Wn,hc as zi,hd as Vr,he as ja,i as Bs,ia as Wo,ib as Nn,ic as Bi,id as I,ie as L,j as Ws,ja as No,jb as Gn,jc as Wi,jd as $r,je as Ua,k as Ns,ka as Go,kb as Qn,kc as Ni,kd as w,ke as Va,l as Gs,la as Qo,lb as Hn,lc as Gi,ld as zr,le as $a,m as Qs,ma as Ho,mb as Jn,mc as Qi,md as Br,me as za,n as Hs,na as Jo,nb as Yn,nc as Hi,nd as Wr,ne as Ba,o as Js,oa as Yo,ob as Zn,oc as Ji,od as Nr,oe as Wa,p as Ys,pa as Zo,pb as ei,pc as Yi,pd as Gr,pe as Na,q as Zs,qa as en,qb as ti,qc as Zi,qd as Qr,qe as Ga,r as eo,ra as tn,rb as si,rc as er,rd as Hr,re as Qa,s as to,sa as sn,sb as oi,sc as tr,sd as Jr,se as Ha,t as so,ta as on,tb as ni,tc as sr,td as Yr,te as Ja,u as oo,ua as nn,ub as ii,uc as or,ud as Zr,ue as Ya,v as no,va as rn,vb as ri,vc as nr,vd as ea,ve as Za,w as io,wa as an,wb as ai,wc as ir,wd as ta,we as ed,x as ro,xa as dn,xb as di,xc as rr,xd as sa,xe as td,y as ao,ya as ln,yb as _,yc as ar,yd as oa,ye as sd,z as lo,za as cn,zb as li,zc as dr,zd as na,ze as od}from"./chunks/chunk-67SWUEEN.js";import{$ as ot,C as Ne,K as Ge,L as Qe,Q as He,R as Je,S as R,T as Ye,W as Ze,X as et,Z as tt,_ as st,a as Fe,aa as nt,b as De,ba as it,c as Xe,ca as rt,da as at,ea as dt,fa as lt,ga as ct,ha as pt,ia as ut,j as je,ja as mt,ka as gt,la as ft,ma as ht,na as vt,oa as yt,pa as _t,qa as It,ra as wt,sa as k,t as Ue,ta as At,u as Ve,ua as St,v as $e,va as Pt,w as ze,wa as bt,x as Be,xa as Ct,y as We}from"./chunks/chunk-YACQ4OST.js";import{Ac as Ss,Bc as Ps,Cb as ts,Cc as bs,Db as ss,Dc as Cs,Eb as os,Fb as ns,Gb as is,Hb as rs,Ib as as,Jb as ds,Kb as ls,Kc as Rs,Lb as cs,Lc as ks,Mb as ps,Mc as Ms,Nb as us,Nc as xs,Ob as ms,Oc as Es,Pb as gs,Pc as Ls,Qb as fs,Qc as Ts,Rb as hs,Sb as vs,Sc as Os,Tb as ys,Tc as qs,Ub as _s,Uc as Ks,Vb as Is,Vc as Fs,Wb as ws,Wc as Ds,Xc as Xs,a as Lt,b as Tt,c as Ot,cd as js,d as qt,dd as Us,e as Kt,f as Ft,h as Dt,i as Xt,j as jt,jb as Zt,k as Ut,ka as Nt,kb as es,l as Vt,m as $t,n as zt,na as Gt,o as Bt,p as Wt,ua as Qt,va as Ht,wa as Jt,xa as Yt,zc as As}from"./chunks/chunk-JTHMWRXM.js";import{a as i}from"./chunks/chunk-V4WSBIXB.js";import ye from"node:process";var $=["off","error","info","debug"],V={off:0,error:1,info:2,debug:3};function P(o,e="info"){if(!o)return e;let t=o.trim().toLowerCase();return $.includes(t)?t:e}i(P,"resolveAcpLogLevel");var m=class{static{i(this,"AcpLogger")}level;sink;constructor(e={}){this.level=e.level??"info",this.sink=e.sink??(t=>{ye.stderr.write(`${t}
3
3
  `)})}handleEvent(e){let t=_e(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,s){if(V[this.level]<V[e])return;let n=new Date().toISOString(),r=s?we(s):"",a=r?` ${r}`:"";this.sink(`[ACP][${e.toUpperCase()}][${n}] ${t}${a}`)}};function _e(o){switch(o.type){case"server_attached":return{level:"info",message:"ACP server attached",fields:c(o)};case"connection_closed":return{level:"info",message:"ACP connection closed",fields:c(o)};case"initialize_completed":return{level:"info",message:"ACP initialize completed",fields:c(o)};case"session_created":return{level:"info",message:"ACP session created",fields:c(o)};case"session_mode_changed":return{level:"info",message:"ACP session mode changed",fields:c(o)};case"prompt_skipped":return{level:"info",message:"ACP prompt skipped because session was already aborted",fields:c(o)};case"prompt_started":return{level:"info",message:"ACP prompt started",fields:c(o)};case"prompt_preview":return{level:"debug",message:"ACP prompt preview",fields:c(o)};case"prompt_finished":return{level:"info",message:"ACP prompt finished",fields:c(o)};case"prompt_cancelled":return{level:"info",message:"ACP prompt cancelled during execution",fields:c(o)};case"prompt_failed":return{level:"error",message:"ACP prompt failed",fields:c(o)};case"cancel_requested":return{level:"info",message:"ACP cancel requested",fields:c(o)};case"tool_permission_evaluated":return{level:"debug",message:"ACP evaluating tool permission",fields:c(o)};case"tool_permission_resolved":return Ie(o);case"permission_requested":return{level:"info",message:"ACP permission requested",fields:c(o)};case"notification_failed":return{level:"error",message:`Failed to send ${o.label}`,fields:{sessionId:o.sessionId,error:o.error}};case"repo_intelligence_trace":return{level:"debug",message:"ACP repo intelligence trace",fields:c(o)};default:return null}}i(_e,"mapEventToLogEntry");function c(o){let{type:e,...t}=o;return t}i(c,"toLogFields");function Ie(o){let e={sessionId:o.sessionId,tool:o.tool,toolId:o.toolId};switch(o.outcome){case"auto_allowed_read_only_bash":return{level:"debug",message:"ACP tool permission auto-allowed for read-only bash",fields:e};case"auto_allowed_remembered":return{level:"info",message:"ACP tool permission reused remembered allowance",fields:e};case"blocked_plan_mode":return{level:"info",message:"ACP tool blocked by plan mode",fields:e};case"auto_allowed_plan_mode":return{level:"debug",message:"ACP tool auto-allowed in plan mode",fields:e};case"auto_allowed_policy":return{level:"debug",message:"ACP tool auto-allowed by permission policy",fields:e};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:o.remember??!1}}}}i(Ie,"mapPermissionOutcomeToLogEntry");function we(o){return Object.entries(o).flatMap(([e,t])=>t===void 0?[]:`${e}=${Ae(t)}`).join(" ")}i(we,"formatFields");function Ae(o){return o===null?"null":typeof o=="string"?JSON.stringify(o.length>160?`${o.slice(0,157)}...`:o):String(o)}i(Ae,"formatFieldValue");var g=class{static{i(this,"AcpEventEmitter")}sinks;constructor(e={}){this.sinks=[...e.sinks??[]]}emit(e){for(let t of this.sinks)try{t.handleEvent(e)}catch{}}};import{randomUUID as z}from"node:crypto";import f from"node:path";import v from"node:process";import{Readable as Se,Writable as Pe}from"node:stream";import{AgentSideConnection as be,PROTOCOL_VERSION as B,RequestError as h,ndJsonStream as Ce}from"@agentclientprotocol/sdk";var Q=["plan","accept-edits","auto-in-project"];function b(o){return M(o)}i(b,"acpIsFileModificationTool");var Re={read:"read",write:"edit",edit:"edit",undo:"edit",bash:"execute",grep:"search",glob:"search",think:"think",fetch:"fetch"},ke=[{id:"plan",name:"Plan",description:"Read-only planning mode. File modifications are blocked except the plan-mode whitelist."},{id:"accept-edits",name:"Accept Edits",description:"File edits are auto-approved. Shell commands still require confirmation unless explicitly remembered."},{id:"auto-in-project",name:"Auto In Project",description:"Project-scoped changes are auto-approved. Protected paths and risky out-of-project operations still require confirmation."}];function Me(o){let e={};for(let t of o)if("command"in t){let s={};for(let n of t.env??[])s[n.name]=n.value;e[t.name]={type:"stdio",command:t.command,args:t.args??[],env:Object.keys(s).length>0?s:void 0}}else if("type"in t&&t.type==="sse"){let s={};for(let n of t.headers??[])s[n.name]=n.value;e[t.name]={type:"sse",url:t.url,headers:Object.keys(s).length>0?s:void 0}}else if("type"in t&&t.type==="http"){let s={};for(let n of t.headers??[])s[n.name]=n.value;e[t.name]={type:"http",url:t.url,headers:Object.keys(s).length>0?s:void 0}}return e}i(Me,"convertAcpMcpServers");function xe(o,e="accept-edits"){return o&&Q.includes(o)?o:e}i(xe,"normalizeAcpPermissionMode");function Ee(o){if(o&&Q.includes(o))return o;throw h.invalidParams({modeId:o},"Invalid session mode. Expected one of: plan, accept-edits, auto-in-project.")}i(Ee,"parseSessionMode");function Le(o){return{availableModes:ke,currentModeId:o}}i(Le,"buildModeState");function W(o){return Re[o]??"other"}i(W,"inferToolKind");function N(o,e){if(b(o)){let t=typeof e.path=="string"?e.path:void 0;return t?[{path:t}]:void 0}if(o==="bash"){let t=typeof e.command=="string"?e.command:"",s=X(t);if(s.length>0)return s.map(n=>({path:n}))}}i(N,"inferToolLocations");function Te(o){let e=[];for(let t of o){let s=t,n=typeof s.type=="string"?s.type:"";if(n==="text"&&typeof s.text=="string"){e.push(s.text);continue}if(n==="resource_link"&&typeof s.uri=="string"){e.push(`[Resource] ${s.uri}`);continue}if(n==="resource"&&s.resource&&typeof s.resource=="object"){let r=s.resource;if(typeof r.text=="string"){e.push(r.text);continue}typeof r.uri=="string"&&e.push(`[Resource] ${r.uri}`)}}return e.join(`
4
4
 
5
5
  `).trim()}i(Te,"extractPromptText");function Oe(o){return/^\[(?:Tool Error|Cancelled|Blocked|Error)\]/.test(o)}i(Oe,"isToolResultFailure");function qe(o){return o instanceof Error?o.name==="AbortError"||o.message.includes("aborted")||o.message.includes("ABORTED"):!1}i(qe,"isAbortLikeError");function G(o){let e=o?.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}:{}}}i(G,"toAcpUsage");var y=class{static{i(this,"KodaXAcpServer")}provider;model;thinking;reasoningMode;defaultPermissionMode;defaultCwd;hasFixedCwd;agentName;agentVersion;storage;events;bashPrefixExtractor;connection=null;sessions=new Map;promptQueue=Promise.resolve();extensionRuntime;extensionRuntimeReady;disposePromise;constructor(e={}){let t=A();this.provider=e.provider??t.provider??R,this.model=e.model,this.thinking=e.thinking??t.thinking??!1,this.reasoningMode=e.reasoningMode??t.reasoningMode??"auto",this.defaultPermissionMode=xe(e.permissionMode??t.permissionMode,"accept-edits"),this.defaultCwd=f.resolve(e.cwd??v.cwd()),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 S,this.events=new g({sinks:[...e.eventSinks??[],new m({level:P(e.logLevel??v.env.KODAX_ACP_LOG,"info")})]}),this.bashPrefixExtractor=L({getProvider:i(()=>k(this.provider),"getProvider"),getModel:i(()=>this.model??"","getModel")});let s=t.mcpServers;if(s&&Object.values(s).some(r=>(r.connect??"lazy")!=="disabled")){let r=_({config:t});this.extensionRuntimeReady=I(r,s,{reverse:w({cwd:this.defaultCwd})}).then(()=>{r.activate(),this.extensionRuntime=r}).catch(a=>{let d=a instanceof Error?a.message:String(a);console.warn(`[kodax:acp] MCP initialization failed: ${d}`)})}}attach(e,t){let s=Ce(t,e),n=new be(()=>this,s);return this.connection=n,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:this.reasoningMode,thinking:this.thinking,fixedCwd:this.hasFixedCwd}),n.signal.addEventListener("abort",()=>{let r=this.sessions.size;this.events.emit({type:"connection_closed",activeSessions:r}),this.dispose()}),n}async waitForClose(){await this.connection?.closed}async dispose(){return this.disposePromise?this.disposePromise:(this.disposePromise=(async()=>{for(let s of this.sessions.values())s.activeController?.abort();let e=new Set;for(let s of this.sessions.values())s.extensionRuntime&&(e.add(s.extensionRuntime),s.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(s=>s.dispose())),await x()})(),this.disposePromise)}async initialize(e){return this.events.emit({type:"initialize_completed",protocolVersion:B}),{protocolVersion:B,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(!f.isAbsolute(t))throw h.invalidParams({cwd:t},"Session cwd must be an absolute path.");let s=z(),n=e.mcpServers??[],r={sessionId:s,cwd:f.resolve(t),permissionMode:this.defaultPermissionMode,mcpServers:n,alwaysAllowTools:[],activeController:null};if(n.length>0){let a=Me(n),d=_({});await I(d,a,{reverse:w({cwd:r.cwd})}).catch(p=>{let l=p instanceof Error?p.message:String(p);console.warn(`[kodax:acp] Per-session MCP init failed for ${s}: ${l}`)}),d.activate(),r.extensionRuntime=d}return this.sessions.set(s,r),this.events.emit({type:"session_created",sessionId:s,cwd:r.cwd,permissionMode:r.permissionMode,mcpServers:r.mcpServers.length}),{sessionId:s,modes:Le(r.permissionMode)}}async authenticate(){}async setSessionMode(e){let t=this.requireSession(e.sessionId),s=t.permissionMode,n=Ee(e.modeId);return t.permissionMode=n,this.events.emit({type:"session_mode_changed",sessionId:t.sessionId,from:s,to:n}),await this.sendSessionUpdate({sessionId:t.sessionId,update:{sessionUpdate:"current_mode_update",currentModeId:n}}),{}}async prompt(e){let t=this.requireSession(e.sessionId),s=Te(e.prompt);if(!s)throw h.invalidParams({prompt:e.prompt},"Prompt must include at least one text or resource block with content.");let n=new AbortController;t.activeController=n;let r=Date.now(),a=i(async()=>{if(n.signal.aborted)return this.events.emit({type:"prompt_skipped",sessionId:t.sessionId}),{stopReason:"cancelled",userMessageId:e.messageId??void 0};let p=Date.now();this.events.emit({type:"prompt_started",sessionId:t.sessionId,messageId:e.messageId??null,chars:s.length,cwd:t.cwd,queueDelayMs:p-r}),this.events.emit({type:"prompt_preview",sessionId:t.sessionId,prompt:s});try{this.extensionRuntimeReady&&await this.extensionRuntimeReady;let l=await E(this.buildKodaXOptions(t,n.signal),s);t.contextTokenSnapshot=l.contextTokenSnapshot;let u=!!l.interrupted,C=n.signal.aborted||u?"cancelled":"end_turn";return this.events.emit({type:"prompt_finished",sessionId:t.sessionId,stopReason:C,interrupted:u,durationMs:Date.now()-p}),{stopReason:C,userMessageId:e.messageId??void 0,...G(l.contextTokenSnapshot)?{usage:G(l.contextTokenSnapshot)}:{}}}catch(l){if(n.signal.aborted||qe(l))return this.events.emit({type:"prompt_cancelled",sessionId:t.sessionId,durationMs:Date.now()-p}),{stopReason:"cancelled",userMessageId:e.messageId??void 0};let u=l instanceof Error?l.message:String(l);return this.events.emit({type:"prompt_failed",sessionId:t.sessionId,durationMs:Date.now()-p,error:u}),await this.sendTextChunk(t.sessionId,`
6
6
  [ACP Server Error] ${u}
7
7
  `),{stopReason:n.signal.aborted?"cancelled":"end_turn",userMessageId:e.messageId??void 0}}finally{t.activeController=null}},"task"),d=this.promptQueue.then(a,a);return this.promptQueue=d.then(()=>{},()=>{}),d}async cancel(e){let t=this.sessions.get(e.sessionId);this.events.emit({type:"cancel_requested",sessionId:e.sessionId,active:!!t?.activeController}),t?.activeController?.abort()}requireSession(e){let t=this.sessions.get(e);if(!t)throw h.resourceNotFound(e);return t}buildKodaXOptions(e,t){return{provider:this.provider,model:this.model,thinking:this.thinking,reasoningMode:this.reasoningMode,abortSignal:t,extensionRuntime:e.extensionRuntime??this.extensionRuntime,session:{id:e.sessionId,storage:this.storage},context:{gitRoot:e.cwd,executionCwd:e.cwd,contextTokenSnapshot:e.contextTokenSnapshot},events:{onTextDelta:i(s=>{this.dispatchNotification("assistant text chunk",e.sessionId,this.sendTextChunk(e.sessionId,s))},"onTextDelta"),onThinkingDelta:i(s=>{this.dispatchNotification("thinking chunk",e.sessionId,this.sendSessionUpdate({sessionId:e.sessionId,update:{sessionUpdate:"agent_thought_chunk",content:{type:"text",text:s}}}))},"onThinkingDelta"),onToolUseStart:i(s=>{this.dispatchNotification("tool call start",e.sessionId,this.sendSessionUpdate({sessionId:e.sessionId,update:{sessionUpdate:"tool_call",toolCallId:s.id,title:s.name,kind:W(s.name),rawInput:s.input,locations:N(s.name,s.input??{}),status:"pending"}}))},"onToolUseStart"),onToolResult:i(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:Oe(s.content)?"failed":"completed",rawOutput:s.content}}))},"onToolResult"),onRepoIntelligenceTrace:i(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,bridge:s.capability?.bridge,status:s.capability?.status,daemonLatencyMs:s.trace?.daemonLatencyMs,cliLatencyMs:s.trace?.cliLatencyMs,cacheHit:s.trace?.cacheHit,capsuleEstimatedTokens:s.trace?.capsuleEstimatedTokens})},"onRepoIntelligenceTrace"),onError:i(s=>{this.dispatchNotification("error text chunk",e.sessionId,this.sendTextChunk(e.sessionId,`
8
8
  [Error] ${s.message}
9
- `))},"onError"),beforeToolExecute:i(async(s,n,r)=>{let a=await this.evaluateToolPermission(e,s,n,r?.toolId);return a.allowed?!0:a.override??!1},"beforeToolExecute")}}}async evaluateToolPermission(e,t,s,n){if(this.events.emit({type:"tool_permission_evaluated",sessionId:e.sessionId,tool:t,toolId:n??null,permissionMode:e.permissionMode}),t==="bash"){let l=typeof s.command=="string"?s.command:"";if(O(l))return this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:n??null,outcome:"auto_allowed_read_only_bash"}),{allowed:!0};if(await q(t,s,e.alwaysAllowTools,this.bashPrefixExtractor))return this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:n??null,outcome:"auto_allowed_remembered"}),{allowed:!0}}if(e.permissionMode==="plan"){let l=U(t,s,e.cwd);return l?(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:n??null,outcome:"blocked_plan_mode"}),{allowed:!1,override:`${l} Do not try to modify files while planning. Finish the plan first, then hand off to a writable mode.`}):(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:n??null,outcome:"auto_allowed_plan_mode"}),{allowed:!0})}let r=b(t)&&typeof s.path=="string"&&F(f.resolve(e.cwd,s.path),e.cwd),a=T(e.permissionMode).has(t),d=e.permissionMode==="auto-in-project"&&(b(t)&&typeof s.path=="string"&&!D(s.path,e.cwd)||t==="bash"&&typeof s.command=="string"&&j(s.command,e.cwd).dangerous);return!r&&!a&&!d?(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:n??null,outcome:"auto_allowed_policy"}),{allowed:!0}):await this.requestPermissionFromClient(e,t,s,n)}async requestPermissionFromClient(e,t,s,n){if(!this.connection)return this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:n??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"}],a={toolCallId:n??z(),title:t,kind:W(t),rawInput:s,locations:N(t,s),status:"pending"},d;this.events.emit({type:"permission_requested",sessionId:e.sessionId,tool:t,toolId:a.toolCallId});try{d=await this.connection.requestPermission({sessionId:e.sessionId,toolCall:a,options:r})}catch{return this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:a.toolCallId,outcome:"request_failed_incomplete"}),{allowed:!1,override:"[Cancelled] ACP client did not complete the permission request. Operation failed closed."}}return d.outcome.outcome!=="selected"?(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:a.toolCallId,outcome:"request_dismissed"}),{allowed:!1,override:"[Cancelled] Operation cancelled by user"}):(d.outcome.optionId==="allow_always"&&t==="bash"&&(e.alwaysAllowTools=Array.from(new Set([...e.alwaysAllowTools,K(t,s,!1)])).filter(Boolean)),d.outcome.optionId==="reject_once"?(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:a.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:a.toolCallId,outcome:"request_granted",remember:d.outcome.optionId==="allow_always"}),{allowed:!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,s){s.catch(n=>{if(!this.connection||this.connection.signal.aborted)return;let r=n instanceof Error?n.message:String(n);this.events.emit({type:"notification_failed",sessionId:t,label:e,error:r})})}};async function Ke(o={}){let e=new y(o),t=Se.toWeb(v.stdin),s=Pe.toWeb(v.stdout);e.attach(t,s);try{await e.waitForClose()}finally{await e.dispose()}}i(Ke,"runAcpServer");export{$ as ACP_LOG_LEVELS,ya as AUTO_MODE_DENIAL_CONSECUTIVE_THRESHOLD,_a as AUTO_MODE_DENIAL_CUMULATIVE_THRESHOLD,g as AcpEventEmitter,m as AcpLogger,Xa as BASH_POLICY_SPEC,Fr as BLOCKER_REQUIRED_CONSECUTIVE_TURNS,Pa as BREAKER_ERROR_THRESHOLD,ba as BREAKER_WINDOW_MS,ce as BUILTIN_COMMANDS,$s as CANCELLED_TOOL_RESULT_MESSAGE,Vs as CANCELLED_TOOL_RESULT_PREFIX,da as CODING_AGENT_MARKER,Ar as CODING_INVARIANTS,ur as CODING_SUMMARY_PROMPT,mr as CODING_UPDATE_SUMMARY_PROMPT,xn as CapabilityDeniedError,Pr as Client,En as ConstructionManifestError,gr as DEFAULT_CODING_AGENT_NAME,Jr as DEFAULT_DANGEROUS_PATTERNS,kn as DEFAULT_HANDLER_TIMEOUT_MS,$i as DEFAULT_RESILIENCE_CONFIG,Hr as DEFAULT_SAFE_PATTERNS,Un as DEFAULT_SELF_MODIFY_BUDGET,qa as DEFAULT_SPECULATIVE_WINDOW_MS,Bs as DEFAULT_TOOL_OUTPUT_MAX_BYTES,zs as DEFAULT_TOOL_OUTPUT_MAX_LINES,Wt as DefaultSummaryCompaction,ia as EMIT_VERDICT_TOOL_NAME,xt as ErrorCategory,S as FileSessionStorage,dn as GENERATOR_AGENT_NAME,Xt as KODAX_API_MIN_INTERVAL,Y as KODAX_CONFIG_FILE,R as KODAX_DEFAULT_PROVIDER,Tt as KODAX_DEFAULT_TIMEOUT,H as KODAX_DIR,Ot as KODAX_HARD_TIMEOUT,Ft as KODAX_MAX_INCOMPLETE_RETRIES,qt as KODAX_MAX_RETRIES,Lt as KODAX_MAX_TOKENS,Je as KODAX_PROVIDERS,He as KODAX_PROVIDER_SNAPSHOTS,je as KODAX_REASONING_MODE_SEQUENCE,Kt as KODAX_RETRY_BASE_DELAY,J as KODAX_SESSIONS_DIR,Dt as KODAX_STAGGER_DELAY,pi as KODAX_TOOLS,se as KODAX_VERSION,y as KodaXAcpServer,Ge as KodaXAnthropicCompatProvider,Ne as KodaXBaseProvider,Pr as KodaXClient,Fe as KodaXError,di as KodaXExtensionRuntime,Qe as KodaXOpenAICompatProvider,De as KodaXProviderError,Xe as KodaXRateLimitError,kt as KodaXSessionError,Mt as KodaXTerminalError,Rt as KodaXToolError,As as LINEAGE_ENTRY_TYPES,lr as LSP_SERVERS,Ps as LineageCompaction,Ss as LineageExtension,cr as LspService,to as MANUAL_TOPIC_IDS,as as McpAuthRequiredError,_s as McpCapabilityProvider,rs as McpExpiredSessionError,Is as McpManager,ys as McpServerRuntime,an as PLANNER_AGENT_NAME,jt as PROMISE_PATTERN,Mi as PROMPT_SECTION_REGISTRY,aa as PROTOCOL_EMITTER_TOOLS,Gi as ProviderRecoveryCoordinator,Ws as READ_DEFAULT_LIMIT,Gs as READ_MAX_LINE_CHARS,Ns as READ_PREFLIGHT_SIZE_BYTES,Ro as REPOINTEL_DEFAULT_ENDPOINT,Gt as Runner,rn as SCOUT_AGENT_NAME,qi as SELF_KNOWLEDGE_ROUTING_RULE,ki as SYSTEM_PROMPT,Wi as StableBoundaryTracker,pn as TASK_ENGINE_ROLE_AGENTS,Tr as TOOL_RESULT_TRUNCATION_GUARDRAIL_NAME,Ua as TRACING_ENV,ln as WORKER_AGENT_NAME,Gn as _resetRuntimeForTesting,Jn as activate,yo as analyzeChangedScope,Xn as appendAuditEntry,Ls as appendSessionLineageLabel,In as applyAccountingDelta,Mr as applyFanoutBranchTransition,Ts as applySessionCompaction,Bo as applyToolResultGuardrail,Xs as archiveOldIslands,xr as assignFanoutBranchWorker,Sa as autoModeDenialShouldFallback,La as bashSignalCollector,Va as bootstrapTracing,yr as boundedRevise,ka as breakerShouldFallback,_r as budgetCeiling,or as buildAmaControllerDecision,Sn as buildBlockedGoal,Ki as buildCapabilityContextSections,la as buildClassifierPrompt,Pn as buildCompleteGoal,_n as buildCreatedGoal,tr as buildFallbackRoutingDecision,Cr as buildFanoutSchedulerPlan,Ur as buildGoalRuntimeBinding,vs as buildInitializeCapabilities,Kn as buildLlmReviewPrompt,w as buildMcpReverseCapabilities,wn as buildPausedGoal,ji as buildPromptMessageContent,nr as buildPromptOverlay,Ti as buildPromptSnapshot,Qi as buildProviderCapabilitySnapshot,sr as buildProviderPolicyHintsForDecision,Hi as buildProviderPolicyPromptNotes,$e as buildReasoningOverrideKey,vo as buildRepoIntelligenceContext,Lo as buildRepoIntelligenceIndex,go as buildRepoOverview,An as buildResumedGoal,Oi as buildSelfKnowledgeRoutingRule,Fs as buildSessionTree,Di as buildSystemPrompt,Fi as buildSystemPromptSnapshot,Ea as checkAbsoluteDeny,Xi as checkIncompleteToolCalls,rr as checkPromiseSignal,pa as classify,Zr as classifyBashCommand,Et as classifyError,Bi as classifyResilienceError,es as cleanupIncompleteToolCalls,We as clearReasoningOverride,wt as clearRuntimeModelProviders,Oa as collectAllSignals,ta as computeInputSignature,ua as computeRulesFingerprint,Nn as configureRuntime,Qo as convertCapabilityReadResult,Go as convertProviderSearchResults,kr as countActiveFanoutBranches,Ds as countActiveLineageMessages,Vt as countTokens,$t as createAgent,Ia as createAutoModeDenialTracker,Da as createAutoModeToolGuardrail,Yr as createBashClassifierConfig,L as createBashPrefixExtractor,_i as createBuiltinToolDefinition,Ca as createCircuitBreaker,Ln as createCtxProxy,at as createCustomProvider,fr as createDefaultCodingAgent,ea as createDenialTracker,_ as createExtensionRuntime,br as createFanoutSchedulerInput,zt as createHandoff,Bt as createInMemorySession,me as createInteractiveContext,Wr as createKodaXTaskRunner,ss as createMcpCapabilityId,ws as createMcpManager,ds as createMcpTransport,xi as createPromptSection,ir as createReasoningPlan,hr as createSessionControl,Rs as createSessionLineage,Or as createToolResultTruncationGuardrail,ts as defaultMcpCacheDir,Mn as defaultPolicy,Wn as disableSelfModify,us as discoverAuthorizationServerMetadata,ri as discoverMarkdownAgents,ms as discoverOAuthEndpoints,ps as discoverProtectedResourceMetadata,gn as drainPendingSwaps,ra as emitVerdict,Ut as estimateTokens,Ji as evaluateProviderPolicy,Cn as exec,ue as executeCommand,Ri as executeTool,js as extractArtifactLedger,ja as extractCommandPrefix,Vi as extractComparableUserMessageText,No as extractHtmlTitle,cs as extractInsufficientScope,Ui as extractPromptComparableText,ls as extractResourceMetadataUrl,Cs as extractTitleFromMessages,Ta as fileSignalCollector,Jo as finalizeRetrievalResult,oi as findByVersion,Os as findPreviousUserEntryId,Ks as forkSessionLineage,nn as formatAgentsForPrompt,Gr as formatParallelDispatchResult,Qs as formatSize,bs as generateSessionId,ci as getActiveExtensionRuntime,Ht as getAgentConfigHome,Jt as getAgentConfigPath,wi as getAllRegisteredTools,Yt as getAppDataDir,St as getAvailableProviderNames,yi as getBuiltinRegisteredToolDefinition,vi as getBuiltinToolDefinition,ft as getCustomModelCapabilities,lt as getCustomProvider,ut as getCustomProviderList,gt as getCustomProviderModelDescriptors,mt as getCustomProviderModels,pt as getCustomProviderNames,pr as getDefaultLspService,na as getDenialContext,Rr as getFanoutBranch,de as getGitRoot,Fo as getImpactEstimate,sn as getKodaxGlobalDir,is as getMcpCachePaths,nt as getModelCapabilities,Oo as getModuleContext,Ko as getProcessContext,Ye as getProvider,et as getProviderConfiguredCapabilityProfile,Ze as getProviderConfiguredReasoningCapability,ne as getProviderList,oe as getProviderModel,ot as getProviderModelDescriptors,tt as getProviderModels,fi as getRegisteredToolDefinition,To as getRepoIntelligenceIndex,fo as getRepoOverview,Do as getRepoRoutingSignals,Pi as getRequiredToolParams,yt as getRuntimeModelProvider,It as getRuntimeModelProviderNames,ks as getSessionLineagePath,Ms as getSessionMessagesFromLineage,qo as getSymbolContext,mi as getTool,gi as getToolDefinition,hi as getToolRegistrations,zo as getToolResultPolicy,te as getVersion,hn as goalTokenDelta,mn as hasPendingSwap,Z as hydrateProcessEnvFromShell,er as inferTaskType,ro as inspectEditFailure,xo as inspectRepoIntelligenceRuntime,ct as isCustomProviderName,oa as isDeniedRecently,At as isKnownProvider,Nr as isParallelDispatchDirective,ie as isProviderConfigured,st as isProviderName,_t as isRuntimeModelProviderName,M as isToolFileMutation,Si as isToolMutation,Ai as isToolPlanModeAllowed,bn as isValidTokenBudget,ar as languageIdForPath,ni as listAll,Ct as listAllModelCapabilities,ei as listArtifacts,it as listBuiltinModelCapabilities,Ii as listBuiltinToolDefinitions,si as listConstructed,ht as listCustomProviderModelCapabilities,Ci as listToolDefinitions,bi as listTools,on as loadAgentsFiles,ii as loadAgentsFromMarkdown,ha as loadAutoRules,re as loadConfig,Tn as loadHandler,ze as loadReasoningOverride,hs as loadValidToken,fn as makeDisabledGoalToolsContext,Lr as markFanoutBranchCancelled,Er as markFanoutBranchCompleted,$r as mcpRootsFromWorkspace,Us as mergeArtifactLedger,Ei as orderPromptSections,fa as parseAutoRules,ca as parseClassifierOutput,pe as parseCommand,io as parseEditToolError,Fn as parseLlmReviewVerdict,os as parseMcpCapabilityId,Ma as parseModelSpec,fs as performOAuthLogin,Zs as persistToolOutput,A as prepareRuntimeConfig,Xo as prewarmRepoIntelligenceCaches,ve as processSpecialSyntax,le as rateLimitedCall,ti as readArtifact,jn as readAuditEntries,Vn as readBudget,Bn as readDisableState,Ka as readSpeculativeWindowFromEnv,ma as readTrustState,Ue as reasoningCapabilityToOverride,Zi as reasoningModeToDepth,Ve as reasoningOverrideToCapability,Ni as reconstructMessagesWithToolGuard,Aa as recordAutoModeAllow,wa as recordAutoModeBlock,qr as recordBlockerAttempt,Ra as recordBreakerError,sa as recordDenial,Sr as registerCodingInvariants,ee as registerConfiguredCustomProviders,I as registerConfiguredMcpCapabilityProvider,dt as registerCustomProviders,vt as registerModelProvider,gs as registerOAuthClient,zr as registerOfficialSandboxExtension,Nt as registerPresetDispatcher,ui as registerTool,Yn as rehydrateActiveArtifacts,$n as remainingSelfModifyBudget,_o as renderChangedScope,Co as renderImpactEstimate,So as renderModuleContext,bo as renderProcessContext,Li as renderPromptSections,ho as renderRepoOverview,Ho as renderRetrievalResult,Po as renderSymbolContext,dr as reportLspDiagnostics,Kr as resetBlockerCounter,zn as resetBudget,P as resolveAcpLogLevel,xa as resolveClassifierModel,un as resolveConstructedAgent,so as resolveKodaXManual,bt as resolveModelCapabilities,k as resolveProvider,Pt as resolveProviderModelDescriptors,Yi as resolveReasoningMode,Mo as resolveRepoIntelligenceMode,ko as resolveRepoIntelligenceRuntimeConfig,zi as resolveResilienceConfig,xs as resolveSessionLineageTarget,Ir as resolveToolCapability,Zn as revoke,qs as rewindSessionLineage,ai as rollbackSelfModify,Ke as runAcpServer,On as runAstRules,fe as runInkInteractiveMode,he as runInteractiveMode,E as runKodaX,Dn as runLlmReview,Vr as runManagedTask,Br as runOrchestration,ae as saveConfig,Be as saveReasoningOverride,ns as searchMcpCatalog,li as setActiveExtensionRuntime,Qt as setAgentConfigHome,Es as setSessionLineageActiveEntry,yn as shouldFlipBudgetLimited,x as shutdownDefaultLspService,Fa as speculativeRace,Qn as stage,vr as startKodaX,va as stripAssistantText,Wo as stripHtmlToText,Hn as testArtifact,mo as toolAskUserQuestion,lo as toolBash,Ao as toolChangedDiff,wo as toolChangedScope,en as toolCodeSearch,no as toolEdit,co as toolGlob,po as toolGrep,$o as toolImpactEstimate,ao as toolInsertAfterAnchor,jo as toolModuleContext,wr as toolPermission,Vo as toolProcessContext,eo as toolRead,Io as toolRepoOverview,tn as toolSemanticLookup,Uo as toolSymbolContext,uo as toolUndo,Zo as toolWebFetch,Yo as toolWebSearch,oo as toolWrite,ge as touchContext,Hs as truncateHead,Ys as truncateLine,Js as truncateTail,ga as trustProjectRules,vn as turnWallTimeDelta,Zt as validateAndFixToolHistory,rt as validateCustomProviderConfig,Qr as validateSubtaskIndependence,qn as validateToolSchemaForProvider,jr as verifyGoalCompletion,Eo as warmRepoIntelligenceRuntime,Rn as webhook,Dr as withGoalBeforeNextTurn,Xr as withGoalStopHook,cn as workerAgent};
9
+ `))},"onError"),beforeToolExecute:i(async(s,n,r)=>{let a=await this.evaluateToolPermission(e,s,n,r?.toolId);return a.allowed?!0:a.override??!1},"beforeToolExecute")}}}async evaluateToolPermission(e,t,s,n){if(this.events.emit({type:"tool_permission_evaluated",sessionId:e.sessionId,tool:t,toolId:n??null,permissionMode:e.permissionMode}),t==="bash"){let l=typeof s.command=="string"?s.command:"";if(O(l))return this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:n??null,outcome:"auto_allowed_read_only_bash"}),{allowed:!0};if(await q(t,s,e.alwaysAllowTools,this.bashPrefixExtractor))return this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:n??null,outcome:"auto_allowed_remembered"}),{allowed:!0}}if(e.permissionMode==="plan"){let l=U(t,s,e.cwd);return l?(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:n??null,outcome:"blocked_plan_mode"}),{allowed:!1,override:`${l} Do not try to modify files while planning. Finish the plan first, then hand off to a writable mode.`}):(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:n??null,outcome:"auto_allowed_plan_mode"}),{allowed:!0})}let r=b(t)&&typeof s.path=="string"&&F(f.resolve(e.cwd,s.path),e.cwd),a=T(e.permissionMode).has(t),d=e.permissionMode==="auto-in-project"&&(b(t)&&typeof s.path=="string"&&!D(s.path,e.cwd)||t==="bash"&&typeof s.command=="string"&&j(s.command,e.cwd).dangerous);return!r&&!a&&!d?(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:n??null,outcome:"auto_allowed_policy"}),{allowed:!0}):await this.requestPermissionFromClient(e,t,s,n)}async requestPermissionFromClient(e,t,s,n){if(!this.connection)return this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:n??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"}],a={toolCallId:n??z(),title:t,kind:W(t),rawInput:s,locations:N(t,s),status:"pending"},d;this.events.emit({type:"permission_requested",sessionId:e.sessionId,tool:t,toolId:a.toolCallId});try{d=await this.connection.requestPermission({sessionId:e.sessionId,toolCall:a,options:r})}catch{return this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:a.toolCallId,outcome:"request_failed_incomplete"}),{allowed:!1,override:"[Cancelled] ACP client did not complete the permission request. Operation failed closed."}}return d.outcome.outcome!=="selected"?(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:a.toolCallId,outcome:"request_dismissed"}),{allowed:!1,override:"[Cancelled] Operation cancelled by user"}):(d.outcome.optionId==="allow_always"&&t==="bash"&&(e.alwaysAllowTools=Array.from(new Set([...e.alwaysAllowTools,K(t,s,!1)])).filter(Boolean)),d.outcome.optionId==="reject_once"?(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:a.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:a.toolCallId,outcome:"request_granted",remember:d.outcome.optionId==="allow_always"}),{allowed:!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,s){s.catch(n=>{if(!this.connection||this.connection.signal.aborted)return;let r=n instanceof Error?n.message:String(n);this.events.emit({type:"notification_failed",sessionId:t,label:e,error:r})})}};async function Ke(o={}){let e=new y(o),t=Se.toWeb(v.stdin),s=Pe.toWeb(v.stdout);e.attach(t,s);try{await e.waitForClose()}finally{await e.dispose()}}i(Ke,"runAcpServer");export{$ as ACP_LOG_LEVELS,ya as AUTO_MODE_DENIAL_CONSECUTIVE_THRESHOLD,_a as AUTO_MODE_DENIAL_CUMULATIVE_THRESHOLD,g as AcpEventEmitter,m as AcpLogger,Xa as BASH_POLICY_SPEC,Fr as BLOCKER_REQUIRED_CONSECUTIVE_TURNS,Pa as BREAKER_ERROR_THRESHOLD,ba as BREAKER_WINDOW_MS,ce as BUILTIN_COMMANDS,Id as BUILTIN_WORKFLOWS,$s as CANCELLED_TOOL_RESULT_MESSAGE,Vs as CANCELLED_TOOL_RESULT_PREFIX,da as CODING_AGENT_MARKER,Ar as CODING_INVARIANTS,ur as CODING_SUMMARY_PROMPT,mr as CODING_UPDATE_SUMMARY_PROMPT,xn as CapabilityDeniedError,Pr as Client,En as ConstructionManifestError,gr as DEFAULT_CODING_AGENT_NAME,Jr as DEFAULT_DANGEROUS_PATTERNS,kn as DEFAULT_HANDLER_TIMEOUT_MS,$i as DEFAULT_RESILIENCE_CONFIG,Hr as DEFAULT_SAFE_PATTERNS,Un as DEFAULT_SELF_MODIFY_BUDGET,qa as DEFAULT_SPECULATIVE_WINDOW_MS,Bs as DEFAULT_TOOL_OUTPUT_MAX_BYTES,zs as DEFAULT_TOOL_OUTPUT_MAX_LINES,ld as DEFAULT_WORKFLOW_GENERATION_TIMEOUT_MS,Wt as DefaultSummaryCompaction,ia as EMIT_VERDICT_TOOL_NAME,xt as ErrorCategory,S as FileSessionStorage,dn as GENERATOR_AGENT_NAME,Xt as KODAX_API_MIN_INTERVAL,Y as KODAX_CONFIG_FILE,R as KODAX_DEFAULT_PROVIDER,Tt as KODAX_DEFAULT_TIMEOUT,H as KODAX_DIR,Ot as KODAX_HARD_TIMEOUT,Ft as KODAX_MAX_INCOMPLETE_RETRIES,qt as KODAX_MAX_RETRIES,Lt as KODAX_MAX_TOKENS,Je as KODAX_PROVIDERS,He as KODAX_PROVIDER_SNAPSHOTS,je as KODAX_REASONING_MODE_SEQUENCE,Kt as KODAX_RETRY_BASE_DELAY,J as KODAX_SESSIONS_DIR,Dt as KODAX_STAGGER_DELAY,pi as KODAX_TOOLS,se as KODAX_VERSION,y as KodaXAcpServer,Ge as KodaXAnthropicCompatProvider,Ne as KodaXBaseProvider,Pr as KodaXClient,Fe as KodaXError,di as KodaXExtensionRuntime,Qe as KodaXOpenAICompatProvider,De as KodaXProviderError,Xe as KodaXRateLimitError,kt as KodaXSessionError,Mt as KodaXTerminalError,Rt as KodaXToolError,As as LINEAGE_ENTRY_TYPES,lr as LSP_SERVERS,Ps as LineageCompaction,Ss as LineageExtension,cr as LspService,to as MANUAL_TOPIC_IDS,as as McpAuthRequiredError,_s as McpCapabilityProvider,rs as McpExpiredSessionError,Is as McpManager,ys as McpServerRuntime,an as PLANNER_AGENT_NAME,jt as PROMISE_PATTERN,Mi as PROMPT_SECTION_REGISTRY,aa as PROTOCOL_EMITTER_TOOLS,Gi as ProviderRecoveryCoordinator,Ws as READ_DEFAULT_LIMIT,Gs as READ_MAX_LINE_CHARS,Ns as READ_PREFLIGHT_SIZE_BYTES,Ro as REPOINTEL_DEFAULT_ENDPOINT,Gt as Runner,rn as SCOUT_AGENT_NAME,qi as SELF_KNOWLEDGE_ROUTING_RULE,ki as SYSTEM_PROMPT,Na as SYSTEM_WORKFLOW_LIMITS,Wi as StableBoundaryTracker,pn as TASK_ENGINE_ROLE_AGENTS,Tr as TOOL_RESULT_TRUNCATION_GUARDRAIL_NAME,Ua as TRACING_ENV,ln as WORKER_AGENT_NAME,dd as WORKFLOW_GENERATION_SYSTEM_PROMPT,Gn as _resetRuntimeForTesting,Jn as activate,yo as analyzeChangedScope,Xn as appendAuditEntry,Ls as appendSessionLineageLabel,In as applyAccountingDelta,Mr as applyFanoutBranchTransition,Ts as applySessionCompaction,Bo as applyToolResultGuardrail,Xs as archiveOldIslands,xr as assignFanoutBranchWorker,Sa as autoModeDenialShouldFallback,La as bashSignalCollector,Va as bootstrapTracing,yr as boundedRevise,ka as breakerShouldFallback,_r as budgetCeiling,or as buildAmaControllerDecision,Ga as buildApprovalSummary,Sn as buildBlockedGoal,Ki as buildCapabilityContextSections,la as buildClassifierPrompt,Pn as buildCompleteGoal,_n as buildCreatedGoal,tr as buildFallbackRoutingDecision,Cr as buildFanoutSchedulerPlan,Ur as buildGoalRuntimeBinding,vs as buildInitializeCapabilities,Kn as buildLlmReviewPrompt,w as buildMcpReverseCapabilities,wn as buildPausedGoal,ji as buildPromptMessageContent,nr as buildPromptOverlay,Ti as buildPromptSnapshot,Qi as buildProviderCapabilitySnapshot,sr as buildProviderPolicyHintsForDecision,Hi as buildProviderPolicyPromptNotes,$e as buildReasoningOverrideKey,vo as buildRepoIntelligenceContext,Lo as buildRepoIntelligenceIndex,go as buildRepoOverview,An as buildResumedGoal,Oi as buildSelfKnowledgeRoutingRule,Fs as buildSessionTree,Di as buildSystemPrompt,Fi as buildSystemPromptSnapshot,ud as buildWorkflowGenerationUserPrompt,Ea as checkAbsoluteDeny,Xi as checkIncompleteToolCalls,rr as checkPromiseSignal,Qa as clampWorkflowLimits,pa as classify,Zr as classifyBashCommand,Et as classifyError,Bi as classifyResilienceError,es as cleanupIncompleteToolCalls,We as clearReasoningOverride,wt as clearRuntimeModelProviders,Oa as collectAllSignals,ta as computeInputSignature,ua as computeRulesFingerprint,Nn as configureRuntime,Qo as convertCapabilityReadResult,Go as convertProviderSearchResults,kr as countActiveFanoutBranches,Ds as countActiveLineageMessages,Vt as countTokens,$t as createAgent,Ia as createAutoModeDenialTracker,Da as createAutoModeToolGuardrail,Yr as createBashClassifierConfig,L as createBashPrefixExtractor,_i as createBuiltinToolDefinition,Ca as createCircuitBreaker,za as createCodingWorkflowBackend,Ln as createCtxProxy,at as createCustomProvider,fr as createDefaultCodingAgent,ea as createDenialTracker,_ as createExtensionRuntime,br as createFanoutSchedulerInput,zt as createHandoff,Bt as createInMemorySession,me as createInteractiveContext,Wr as createKodaXTaskRunner,ss as createMcpCapabilityId,ws as createMcpManager,ds as createMcpTransport,xi as createPromptSection,ir as createReasoningPlan,Wa as createRunGraphWriter,hr as createSessionControl,Rs as createSessionLineage,Or as createToolResultTruncationGuardrail,yd as createWorkflowPatternTemplateModule,rd as createWorkflowRunManager,_d as decideWorkflowInvocation,ts as defaultMcpCacheDir,Mn as defaultPolicy,Wn as disableSelfModify,us as discoverAuthorizationServerMetadata,ri as discoverMarkdownAgents,ms as discoverOAuthEndpoints,ps as discoverProtectedResourceMetadata,Ya as discoverSavedWorkflows,gn as drainPendingSwaps,ra as emitVerdict,Ut as estimateTokens,Ji as evaluateProviderPolicy,Cn as exec,ue as executeCommand,Ri as executeTool,js as extractArtifactLedger,ja as extractCommandPrefix,Vi as extractComparableUserMessageText,No as extractHtmlTitle,cs as extractInsufficientScope,Ui as extractPromptComparableText,ls as extractResourceMetadataUrl,Cs as extractTitleFromMessages,Ta as fileSignalCollector,Jo as finalizeRetrievalResult,oi as findByVersion,Os as findPreviousUserEntryId,Ks as forkSessionLineage,nn as formatAgentsForPrompt,Gr as formatParallelDispatchResult,Qs as formatSize,bs as generateSessionId,gd as generateWorkflow,fd as generateWorkflowFromOptions,ci as getActiveExtensionRuntime,Ht as getAgentConfigHome,Jt as getAgentConfigPath,wi as getAllRegisteredTools,Yt as getAppDataDir,St as getAvailableProviderNames,yi as getBuiltinRegisteredToolDefinition,vi as getBuiltinToolDefinition,wd as getBuiltinWorkflow,ft as getCustomModelCapabilities,lt as getCustomProvider,ut as getCustomProviderList,gt as getCustomProviderModelDescriptors,mt as getCustomProviderModels,pt as getCustomProviderNames,pr as getDefaultLspService,ad as getDefaultWorkflowRunManager,na as getDenialContext,Rr as getFanoutBranch,de as getGitRoot,Fo as getImpactEstimate,sn as getKodaxGlobalDir,is as getMcpCachePaths,nt as getModelCapabilities,Oo as getModuleContext,Ko as getProcessContext,Ye as getProvider,et as getProviderConfiguredCapabilityProfile,Ze as getProviderConfiguredReasoningCapability,ne as getProviderList,oe as getProviderModel,ot as getProviderModelDescriptors,tt as getProviderModels,fi as getRegisteredToolDefinition,To as getRepoIntelligenceIndex,fo as getRepoOverview,Do as getRepoRoutingSignals,Pi as getRequiredToolParams,yt as getRuntimeModelProvider,It as getRuntimeModelProviderNames,ks as getSessionLineagePath,Ms as getSessionMessagesFromLineage,qo as getSymbolContext,mi as getTool,gi as getToolDefinition,hi as getToolRegistrations,zo as getToolResultPolicy,te as getVersion,vd as getWorkflowPatternTemplate,hn as goalTokenDelta,mn as hasPendingSwap,Z as hydrateProcessEnvFromShell,er as inferTaskType,ro as inspectEditFailure,xo as inspectRepoIntelligenceRuntime,ct as isCustomProviderName,oa as isDeniedRecently,At as isKnownProvider,Nr as isParallelDispatchDirective,ie as isProviderConfigured,st as isProviderName,_t as isRuntimeModelProviderName,M as isToolFileMutation,Si as isToolMutation,Ai as isToolPlanModeAllowed,bn as isValidTokenBudget,ar as languageIdForPath,ni as listAll,Ct as listAllModelCapabilities,ei as listArtifacts,it as listBuiltinModelCapabilities,Ii as listBuiltinToolDefinitions,Ad as listBuiltinWorkflows,si as listConstructed,ht as listCustomProviderModelCapabilities,Ci as listToolDefinitions,bi as listTools,hd as listWorkflowPatternTemplates,on as loadAgentsFiles,ii as loadAgentsFromMarkdown,ha as loadAutoRules,re as loadConfig,od as loadGeneratedWorkflowFromRun,Tn as loadHandler,ze as loadReasoningOverride,td as loadSavedWorkflow,ed as loadSavedWorkflowCapsule,hs as loadValidToken,fn as makeDisabledGoalToolsContext,Lr as markFanoutBranchCancelled,Er as markFanoutBranchCompleted,$r as mcpRootsFromWorkspace,Us as mergeArtifactLedger,Za as normalizeWorkflowModule,Ei as orderPromptSections,$a as parallelInvestigation,fa as parseAutoRules,ca as parseClassifierOutput,pe as parseCommand,io as parseEditToolError,Fn as parseLlmReviewVerdict,os as parseMcpCapabilityId,Ma as parseModelSpec,md as parseWorkflowGeneration,fs as performOAuthLogin,Zs as persistToolOutput,id as preflightWorkflowCapsule,A as prepareRuntimeConfig,Xo as prewarmRepoIntelligenceCaches,ve as processSpecialSyntax,le as rateLimitedCall,ti as readArtifact,jn as readAuditEntries,Vn as readBudget,Bn as readDisableState,Ka as readSpeculativeWindowFromEnv,ma as readTrustState,Ue as reasoningCapabilityToOverride,Zi as reasoningModeToDepth,Ve as reasoningOverrideToCapability,Ni as reconstructMessagesWithToolGuard,Aa as recordAutoModeAllow,wa as recordAutoModeBlock,qr as recordBlockerAttempt,Ra as recordBreakerError,sa as recordDenial,Sr as registerCodingInvariants,ee as registerConfiguredCustomProviders,I as registerConfiguredMcpCapabilityProvider,dt as registerCustomProviders,vt as registerModelProvider,gs as registerOAuthClient,zr as registerOfficialSandboxExtension,Nt as registerPresetDispatcher,ui as registerTool,Yn as rehydrateActiveArtifacts,$n as remainingSelfModifyBudget,_o as renderChangedScope,Co as renderImpactEstimate,So as renderModuleContext,bo as renderProcessContext,Li as renderPromptSections,ho as renderRepoOverview,Ho as renderRetrievalResult,Po as renderSymbolContext,dr as reportLspDiagnostics,Kr as resetBlockerCounter,zn as resetBudget,P as resolveAcpLogLevel,xa as resolveClassifierModel,un as resolveConstructedAgent,so as resolveKodaXManual,bt as resolveModelCapabilities,k as resolveProvider,Pt as resolveProviderModelDescriptors,Yi as resolveReasoningMode,Mo as resolveRepoIntelligenceMode,ko as resolveRepoIntelligenceRuntimeConfig,zi as resolveResilienceConfig,xs as resolveSessionLineageTarget,Ir as resolveToolCapability,cd as resolveWorkflowGenerationTimeoutMs,Zn as revoke,qs as rewindSessionLineage,ai as rollbackSelfModify,Ke as runAcpServer,On as runAstRules,fe as runInkInteractiveMode,he as runInteractiveMode,E as runKodaX,Dn as runLlmReview,Vr as runManagedTask,Br as runOrchestration,Ja as runWorkflowFromOptions,Ha as runWorkflowModule,Ba as safeWorkflowArtifactName,ae as saveConfig,sd as saveGeneratedWorkflow,nd as saveGeneratedWorkflowFromRun,Be as saveReasoningOverride,ns as searchMcpCatalog,li as setActiveExtensionRuntime,Qt as setAgentConfigHome,Es as setSessionLineageActiveEntry,yn as shouldFlipBudgetLimited,x as shutdownDefaultLspService,Fa as speculativeRace,Qn as stage,vr as startKodaX,va as stripAssistantText,Wo as stripHtmlToText,Hn as testArtifact,mo as toolAskUserQuestion,lo as toolBash,Ao as toolChangedDiff,wo as toolChangedScope,en as toolCodeSearch,no as toolEdit,co as toolGlob,po as toolGrep,$o as toolImpactEstimate,ao as toolInsertAfterAnchor,jo as toolModuleContext,wr as toolPermission,Vo as toolProcessContext,eo as toolRead,Io as toolRepoOverview,tn as toolSemanticLookup,Uo as toolSymbolContext,uo as toolUndo,Zo as toolWebFetch,Yo as toolWebSearch,oo as toolWrite,ge as touchContext,Hs as truncateHead,Ys as truncateLine,Js as truncateTail,ga as trustProjectRules,vn as turnWallTimeDelta,Zt as validateAndFixToolHistory,rt as validateCustomProviderConfig,pd as validateGeneratedWorkflowSource,Qr as validateSubtaskIndependence,qn as validateToolSchemaForProvider,jr as verifyGoalCompletion,Eo as warmRepoIntelligenceRuntime,Rn as webhook,Dr as withGoalBeforeNextTurn,Xr as withGoalStopHook,cn as workerAgent};