@kodax-ai/kodax 0.7.66 → 0.7.68
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +180 -3
- package/README.md +51 -16
- package/README_CN.md +34 -13
- package/dist/chunks/agent-DATNZOBK.js +2 -0
- package/dist/chunks/argument-completer-X7MMM7Y6.js +2 -0
- package/dist/chunks/chunk-5GL55MOH.js +36 -0
- package/dist/chunks/chunk-67XJ4YUA.js +703 -0
- package/dist/chunks/chunk-C4SBXBWH.js +346 -0
- package/dist/chunks/{chunk-ALS32RNZ.js → chunk-CC4BVVE7.js} +9 -9
- package/dist/chunks/{chunk-VS4CDDEF.js → chunk-CTHUX5ZH.js} +221 -221
- package/dist/chunks/{chunk-YRBNXFHY.js → chunk-HFM2D5BP.js} +1 -1
- package/dist/chunks/chunk-HLBHSA2B.js +325 -0
- package/dist/chunks/{chunk-O7N22GJ3.js → chunk-K2NCKRVY.js} +16 -14
- package/dist/chunks/chunk-KGAI32VS.js +22 -0
- package/dist/chunks/{chunk-QAQ2HNXD.js → chunk-KIQRCGVR.js} +126 -112
- package/dist/chunks/chunk-MP52BDK5.js +15 -0
- package/dist/chunks/chunk-O5OJQFPY.js +307 -0
- package/dist/chunks/chunk-OIELNE6Z.js +56 -0
- package/dist/chunks/chunk-PEGSHZAA.js +5 -0
- package/dist/chunks/chunk-TOGESFRN.js +2 -0
- package/dist/chunks/compaction-config-BXEDHIQP.js +2 -0
- package/dist/chunks/{construction-bootstrap-3XDS2D5K.js → construction-bootstrap-PYWJHO35.js} +1 -1
- package/dist/chunks/dist-76PJHNSG.js +2 -0
- package/dist/chunks/{dist-4PXB7U22.js → dist-HTDJRAD6.js} +1 -1
- package/dist/chunks/host-UAXIDZ6V.js +2 -0
- package/dist/chunks/run-manager-UCXB4G22.js +2 -0
- package/dist/chunks/utils-S63V5UCM.js +2 -0
- package/dist/index.d.ts +19 -16
- package/dist/index.js +6 -6
- package/dist/kodax_cli.js +1292 -1255
- package/dist/runtime-worker.js +1196 -1153
- package/dist/sdk-agent.d.ts +143 -18
- package/dist/sdk-agent.js +1 -1
- package/dist/sdk-coding.d.ts +281 -20
- package/dist/sdk-coding.js +1 -1
- package/dist/sdk-experimental-memory.d.ts +618 -0
- package/dist/sdk-experimental-memory.js +2 -0
- package/dist/sdk-llm.d.ts +6 -6
- package/dist/sdk-llm.js +1 -1
- package/dist/sdk-mcp.js +1 -1
- package/dist/sdk-media.d.ts +1 -1
- package/dist/sdk-repl.d.ts +26 -17
- package/dist/sdk-repl.js +2 -2
- package/dist/sdk-runtime.d.ts +102 -14
- package/dist/sdk-runtime.js +1 -1
- package/dist/sdk-session.d.ts +6 -6
- package/dist/sdk-session.js +1 -1
- package/dist/sdk-skills.js +1 -1
- package/dist/semantic-worker.js +12 -12
- package/dist/types-chunks/{base.d-DalIRhbb.d.ts → base.d-C8mXDhLL.d.ts} +1 -1
- package/dist/types-chunks/{bash-prefix-extractor.d-BjkITAva.d.ts → bash-prefix-extractor.d-Dm-T865v.d.ts} +67 -12
- package/dist/types-chunks/{capability-learning.d-BQB0M70w.d.ts → capability-learning.d-BLEmCib0.d.ts} +1 -1
- package/dist/types-chunks/{capsule.d-hVhPNkHd.d.ts → capsule.d-CzaamUUv.d.ts} +5 -5
- package/dist/types-chunks/{commands.d-C3B1TdGM.d.ts → commands.d-DxKjVSNU.d.ts} +4 -4
- package/dist/types-chunks/{guardrail.d-wk-s0psS.d.ts → guardrail.d-CPDfZyJp.d.ts} +3 -3
- package/dist/types-chunks/{guardrail.d-C_Siraua.d.ts → guardrail.d-D7r6zVSR.d.ts} +1 -1
- package/dist/types-chunks/{public-api.d-jtREVfEq.d.ts → public-api.d-BcKbBy1E.d.ts} +12 -7
- package/dist/types-chunks/{resolver.d-CGkfRULj.d.ts → resolver.d-DmBnoilY.d.ts} +2 -2
- package/dist/types-chunks/{run-manager.d-CFknOfo1.d.ts → run-manager.d-CSj7_kWk.d.ts} +1 -1
- package/dist/types-chunks/{sdk-session-CLqyfAmf.d.ts → sdk-session-C6nDgyh8.d.ts} +4 -4
- package/dist/types-chunks/{types.d-Bp4Lm1jv.d.ts → types.d-CO_ZkmOd.d.ts} +6 -1
- package/dist/types-chunks/{types.d-CUN_bZU7.d.ts → types.d-CzscbsG0.d.ts} +4 -4
- package/dist/types-chunks/{process.d-CY2g03Mb.d.ts → types.d-D2frCRaY.d.ts} +505 -10
- package/dist/types-chunks/{types.d-BMLxKV69.d.ts → types.d-D9FKbAmf.d.ts} +2 -2
- package/dist/types-chunks/{utils.d-C1rpoeDh.d.ts → utils.d-DOXxnOnI.d.ts} +9 -5
- package/docs/SDK_EMBEDDER_GUIDE.md +3179 -0
- package/package.json +6 -1
- package/dist/chunks/agent-KER4WDNO.js +0 -2
- package/dist/chunks/argument-completer-HK3MHA3K.js +0 -2
- package/dist/chunks/chunk-3HKBBY74.js +0 -339
- package/dist/chunks/chunk-AKBH2EEE.js +0 -8
- package/dist/chunks/chunk-MHRN2LQV.js +0 -328
- package/dist/chunks/chunk-NBQW7PNZ.js +0 -18
- package/dist/chunks/chunk-QJVZZSEO.js +0 -56
- package/dist/chunks/chunk-TLJGOKBT.js +0 -729
- package/dist/chunks/chunk-WBBEJIAY.js +0 -306
- package/dist/chunks/chunk-WMIZCY2J.js +0 -2
- package/dist/chunks/compaction-config-7GMUFNPB.js +0 -2
- package/dist/chunks/dist-4YAYT2TO.js +0 -2
- package/dist/chunks/host-KG3456QP.js +0 -2
- package/dist/chunks/run-manager-6CAH3KTA.js +0 -2
- package/dist/chunks/utils-OT5ENFUL.js +0 -2
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{i as M}from"./chunks/chunk-
|
|
3
|
-
`)})}handleEvent(e){let t=Oe(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(se[this.level]<se[e])return;let o=new Date().toISOString(),
|
|
2
|
+
import{i as M}from"./chunks/chunk-MP52BDK5.js";import{Ib as C,Sa as ke,Ta as be,eb as Ce,xb as Me,yb as Le}from"./chunks/chunk-O5OJQFPY.js";import{k as V,n as H,q as J,r as Q,s as Y,u as Z,v as ee,w as te,wa as Ie,x as ne,ya as Ee,za as xe}from"./chunks/chunk-CTHUX5ZH.js";import{A as we,B as _e,G as b,H as Se,J as B,K as N,L as G,N as Pe,R as Ae,b as pe,c as me,d as k,f as fe,h as ge,i as he,j as ve,k as ye,z as Re}from"./chunks/chunk-OIELNE6Z.js";import"./chunks/chunk-TOGESFRN.js";import"./chunks/chunk-QJJKMNZF.js";import{$ as El,A as Zd,Aa as Yl,B as el,Ba as Zl,C as tl,Ca as ec,D as nl,Da as tc,E as sl,Ea as nc,F as ol,Fa as sc,G as il,Ga as oc,H as rl,Ha as ic,I as al,Ia as rc,J as dl,Ja as ac,K as ll,L as cl,M as ul,N as pl,O as ml,P as fl,Q as gl,R as hl,S as vl,T as yl,U as Rl,V as wl,W as _l,X as Sl,Y as Pl,Z as Al,_ as Il,a as Qt,aa as xl,b as Yt,ba as kl,c as Zt,ca as bl,d as Ld,da as Cl,e as Td,ea as Ml,f as Od,fa as Ll,g as Kd,ga as Tl,h as qd,ha as Ol,i as Xd,ia as Kl,j as Fd,ja as ql,k as Dd,ka as Xl,l as jd,la as Fl,m as Ud,ma as Dl,n as Wd,na as jl,o as $d,oa as Ul,p as zd,pa as Wl,q as Vd,qa as $l,r as Bd,ra as zl,s as Nd,sa as Vl,t as Gd,ta as Bl,u as Hd,ua as Nl,v as Jd,va as Gl,w as E,wa as z,x as Qd,xa as Hl,y as x,ya as Jl,z as Yd,za as Ql}from"./chunks/chunk-KIQRCGVR.js";import{a as Ui,b as Wi,c as $i,d as zi,e as Vi,f as Bi,g as Ni,h as Gi,i as Hi,j as Or}from"./chunks/chunk-CC4BVVE7.js";import{A as Ar,B as Ir,C as Er,D as xr,E as kr,F as br,G as Cr,H as Mr,I as Lr,J as Tr,a as Yi,b as Zi,c as er,d as tr,e as nr,f as sr,g as or,h as ir,i as rr,j as ar,k as dr,l as lr,m as cr,n as ur,o as pr,p as mr,q as fr,r as gr,s as hr,t as vr,u as yr,v as Rr,w as wr,x as _r,y as Sr,z as Pr}from"./chunks/chunk-KGAI32VS.js";import{A as bi,E as Ci,F as Mi,G as Li,H as Ti,K as Oi,O as Kr,P as qr,Q as Xr,R as Fr,S as Dr,T as jr,U as Ur,V as Wr,X as $r,Y as zr,Z as Vr,a as Pn,b as An,e as fi,f as gi,g as hi,ga as Ua,h as vi,ha as Wa,i as yi,ia as $a,j as Ri,ja as za,k as wi,ka as Va,la as Ba,ma as Na,na as Ga,oa as Ha,p as _i,pa as Ja,q as Si,t as Pi,u as Ai,w as Ii,wa as Qa,x as Ei,xa as Ya,y as xi,z as ki,za as Za}from"./chunks/chunk-HLBHSA2B.js";import"./chunks/chunk-D6QVXQNI.js";import"./chunks/chunk-PEGSHZAA.js";import{a as ji}from"./chunks/chunk-HFM2D5BP.js";import{$ as Ao,$b as ta,$c as nd,A as Ys,Aa as Go,Ac as ka,Ad as Sd,B as Zs,Ba as Ho,Bc as ba,Bd as Pd,C as eo,Ca as Jo,Cc as Ca,Cd as Ad,Da as Qo,Db as Ki,Dc as Ma,Dd as Id,E as to,Ea as Yo,Eb as qi,Ec as La,Ed as $,F as no,Fa as Zo,Fb as Xi,Fc as Ta,Fd as Ed,G as so,Ga as ei,Gb as Fi,Gc as Oa,Gd as xd,H as oo,Ha as ti,Hb as Di,Hc as Ka,Hd as kd,I as io,Ia as ni,Ib as D,Ic as qa,Id as bd,J as ro,Ja as si,Jb as Ji,Jc as Xa,Jd as Cd,K as ao,Ka as oi,Kb as Qi,Kc as Fa,L as lo,Lc as W,M as co,Mc as I,N as uo,Nc as Da,Nd as Md,Oc as ja,P as po,Pa as ii,Pb as Br,Q as mo,Qa as ri,Qb as Nr,R as fo,Ra as ai,Rb as Gr,S as go,Sa as di,Sb as Hr,T as ho,Ta as li,Tb as Jr,U as vo,Ua as ci,Ub as A,V as yo,Va as ui,Vb as j,W as Ro,Wb as Qr,X as wo,Xa as pi,Xb as Yr,Y as _o,Ya as mi,Yb as U,Z as So,Zb as Zr,Zc as ed,_ as Po,_b as ea,_c as td,aa as Io,ac as na,ad as sd,ba as Eo,bc as sa,bd as od,ca as xo,cc as oa,cd as id,d as qs,da as ko,dc as ia,dd as rd,e as Xs,ec as ra,ed as ad,fc as aa,fd as dd,ga as bo,gc as da,gd as ld,ha as Co,hc as la,hd as cd,i as Fs,ia as Mo,ic as ca,j as Ds,ja as Lo,jc as ua,k as js,ka as To,kc as pa,kd as ud,l as Us,la as Oo,lc as ma,ld as pd,m as Ws,ma as Ko,mc as fa,md,n as $s,nc as ga,o as zs,oa as qo,oc as ha,p as Vs,pa as Xo,pc as va,q as Bs,qa as Fo,qc as ya,r as Ns,ra as Do,rc as Ra,s as Gs,sa as jo,sc as wa,sd as fd,ta as Uo,tc as _a,td as gd,ua as Wo,uc as Sa,ud as hd,va as $o,vc as Pa,vd,wa as zo,wc as Aa,wd as yd,x as Hs,xa as Vo,xc as Ia,xd as Rd,y as Js,ya as Bo,yc as Ea,yd as wd,z as Qs,za as No,zc as xa,zd as _d}from"./chunks/chunk-C4SBXBWH.js";import{$ as vt,A as pt,Aa as qt,B as mt,Ba as Xt,C as q,Ca as Ft,D as ft,Da as Dt,E as gt,Ea as jt,Fa as Ut,Ga as Wt,Ha as $t,Ia as zt,Ja as F,Ka as Vt,La as Bt,Ma as Nt,Na as Gt,Oa as Ht,R as ht,Ra as Jt,a as it,aa as yt,b as rt,c as at,fa as Rt,ga as wt,ha as X,ia as _t,j as dt,k as lt,la as St,ma as Pt,oa as At,pa as It,qa as Et,ra as xt,s as ct,sa as kt,t as ut,ta as bt,ua as Ct,va as Mt,wa as Lt,xa as Tt,ya as Ot,z as K,za as Kt}from"./chunks/chunk-K2NCKRVY.js";import{$b as fs,Ac as Cs,Bc as Ms,Cc as Ls,Dc as Ts,Hb as Gn,Ib as Hn,Jb as Jn,Kb as Qn,Kc as Os,Lb as Yn,Lc as Ks,Mb as Zn,Nb as es,Ob as ts,Pb as ns,Qb as ss,Rb as os,Sb as is,Tb as rs,Ub as as,Vb as ds,Wb as ls,Xb as cs,Yb as us,Zb as ps,_b as ms,a as In,ac as gs,b as En,c as xn,cc as hs,d as kn,dc as vs,e as bn,ec as ys,f as Cn,h as Mn,i as Ln,ic as Rs,j as Tn,jc as ws,k as On,ka as jn,kb as Bn,l as Kn,lb as Nn,m as qn,n as Xn,na as Un,o as Fn,p as Dn,qc as _s,rc as Ss,sc as Ps,tc as As,uc as Is,vc as Es,wc as xs,yc as ks,zc as bs}from"./chunks/chunk-67XJ4YUA.js";import{d as Wn,e as $n,f as zn,g as Vn}from"./chunks/chunk-5GL55MOH.js";import{H as Sn,a as en,b as tn,c as nn,d as sn,e as on,f as rn,g as an,h as dn,i as ln,j as cn,k as un,l as pn,m as mn,n as fn,o as gn,p as hn,v as vn,w as yn,x as Rn,y as wn,z as _n}from"./chunks/chunk-PZTG2C33.js";import{a as i}from"./chunks/chunk-ONUPGMER.js";import Te from"node:process";var oe=["off","error","info","debug"],se={off:0,error:1,info:2,debug:3};function L(n,e="info"){if(!n)return e;let t=n.trim().toLowerCase();return oe.includes(t)?t:e}i(L,"resolveAcpLogLevel");var R=class{static{i(this,"AcpLogger")}level;sink;constructor(e={}){this.level=e.level??"info",this.sink=e.sink??(t=>{Te.stderr.write(`${t}
|
|
3
|
+
`)})}handleEvent(e){let t=Oe(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(se[this.level]<se[e])return;let o=new Date().toISOString(),r=s?qe(s):"",a=r?` ${r}`:"";this.sink(`[ACP][${e.toUpperCase()}][${o}] ${t}${a}`)}};function Oe(n){switch(n.type){case"server_attached":return{level:"info",message:"ACP server attached",fields:u(n)};case"connection_closed":return{level:"info",message:"ACP connection closed",fields:u(n)};case"initialize_completed":return{level:"info",message:"ACP initialize completed",fields:u(n)};case"session_created":return{level:"info",message:"ACP session created",fields:u(n)};case"session_mode_changed":return{level:"info",message:"ACP session mode changed",fields:u(n)};case"prompt_skipped":return{level:"info",message:"ACP prompt skipped because session was already aborted",fields:u(n)};case"prompt_started":return{level:"info",message:"ACP prompt started",fields:u(n)};case"prompt_preview":return{level:"debug",message:"ACP prompt preview",fields:u(n)};case"prompt_finished":return{level:"info",message:"ACP prompt finished",fields:u(n)};case"prompt_cancelled":return{level:"info",message:"ACP prompt cancelled during execution",fields:u(n)};case"prompt_failed":return{level:"error",message:"ACP prompt failed",fields:u(n)};case"cancel_requested":return{level:"info",message:"ACP cancel requested",fields:u(n)};case"tool_permission_evaluated":return{level:"debug",message:"ACP evaluating tool permission",fields:u(n)};case"tool_permission_resolved":return Ke(n);case"permission_requested":return{level:"info",message:"ACP permission requested",fields:u(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:u(n)};default:return null}}i(Oe,"mapEventToLogEntry");function u(n){let{type:e,...t}=n;return t}i(u,"toLogFields");function Ke(n){let e={sessionId:n.sessionId,tool:n.tool,toolId:n.toolId,error:n.error};switch(n.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:n.remember??!1}}}}i(Ke,"mapPermissionOutcomeToLogEntry");function qe(n){return Object.entries(n).flatMap(([e,t])=>t===void 0?[]:`${e}=${Xe(t)}`).join(" ")}i(qe,"formatFields");function Xe(n){return n===null?"null":typeof n=="string"?JSON.stringify(n.length>160?`${n.slice(0,157)}...`:n):String(n)}i(Xe,"formatFieldValue");var w=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(s){}}};import{randomUUID as ie}from"node:crypto";import Fe from"node:os";import g from"node:path";import y from"node:process";import{Readable as De,Writable as je}from"node:stream";import{AgentSideConnection as Ue,PROTOCOL_VERSION as re,RequestError as _,ndJsonStream as We}from"@agentclientprotocol/sdk";var ue=["plan","accept-edits","auto-in-project"];function T(n){return $(n)}i(T,"acpIsFileModificationTool");var $e={read:"read",write:"edit",edit:"edit",undo:"edit",bash:"execute",grep:"search",glob:"search",think:"think",fetch:"fetch"},ze=[{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 O(n,e){if(n==null)return;if(typeof n!="string")throw new Error(`${e} must be a string.`);let t=K(n);return t==="auto"?void 0:t}i(O,"normalizeOptionalEffort");function Ve(n){let e=n.replace(/\s+/g," ").trim();return e.length<=80?e:`${e.slice(0,77)}...`}i(Ve,"buildAcpSessionTitle");function Be(n){let e=n.effort;if(e===void 0)return{kind:"absent"};try{return{kind:"value",value:O(e,"Prompt effort")}}catch(t){let s=t instanceof Error?t.message:String(t);throw _.invalidParams({effort:e},s)}}i(Be,"resolvePromptEffortOverride");function Ne(n){let e={};for(let t of n)if("command"in t){let s={};for(let o of t.env??[])s[o.name]=o.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 o of t.headers??[])s[o.name]=o.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 o of t.headers??[])s[o.name]=o.value;e[t.name]={type:"http",url:t.url,headers:Object.keys(s).length>0?s:void 0}}return e}i(Ne,"convertAcpMcpServers");function Ge(n){let e=[];for(let t of n){let s=t.trim();s&&!e.includes(s)&&e.push(s)}return e}i(Ge,"dedupeExtensionPaths");function He(n){return Array.isArray(n)?Ge(n.filter(e=>typeof e=="string"&&e.trim().length>0).map(e=>g.isAbsolute(e)?e:g.resolve(g.dirname(k),e))):[]}i(He,"normalizeConfiguredExtensionPaths");async function Je(n){try{return await U()}catch(e){let t=e instanceof Error?e.message:String(e);return n.error("ACP extension discovery failed: "+t),[]}}i(Je,"discoverAcpDefaultExtensions");async function Qe(n,e,t){let s=await A(t),o=await j(await A(e),s);await n.loadExtensions(o,{continueOnError:!0,loadSource:"discovery"}),await n.loadExtensions(s,{continueOnError:!0,loadSource:"config"})}i(Qe,"loadAcpExtensionGroups");function Ye(n,e="accept-edits"){return n&&ue.includes(n)?n:e}i(Ye,"normalizeAcpPermissionMode");function Ze(n){if(n&&ue.includes(n))return n;throw _.invalidParams({modeId:n},"Invalid session mode. Expected one of: plan, accept-edits, auto-in-project.")}i(Ze,"parseSessionMode");function et(n){return{availableModes:ze,currentModeId:n}}i(et,"buildModeState");function ae(n){return $e[n]??"other"}i(ae,"inferToolKind");function de(n,e){if(T(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:"",s=ee(t);if(s.length>0)return s.map(o=>({path:o}))}}i(de,"inferToolLocations");function tt(n){let e=[];for(let t of n){let s=t,o=typeof s.type=="string"?s.type:"";if(o==="text"&&typeof s.text=="string"){e.push(s.text);continue}if(o==="resource_link"&&typeof s.uri=="string"){e.push(`[Resource] ${s.uri}`);continue}if(o==="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
|
-
`).trim()}
|
|
6
|
-
[ACP Server Error] ${
|
|
7
|
-
`),{stopReason:"end_turn",userMessageId:e.messageId??void 0}}finally{l&&t.activeRunIds.delete(l.runId)}},"task")()}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,s=[...e.activeRunIds],o=await Promise.all(s.map(async
|
|
5
|
+
`).trim()}i(tt,"extractPromptText");function nt(n){return/^\[(?:Tool Error|Cancelled|Blocked|Error)\]/.test(n)}i(nt,"isToolResultFailure");function st(n){return n instanceof Error?n.name==="AbortError"||n.message.includes("aborted")||n.message.includes("ABORTED"):!1}i(st,"isAbortLikeError");function le(n){return n==="queued"?0:n==="running"||n==="waiting_permission"||n==="waiting_user_input"?1:2}i(le,"acpAbortPhaseRank");function ce(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}:{}}}i(ce,"toAcpUsage");var P=class{static{i(this,"KodaXAcpServer")}provider;model;effort;planModeEffort;thinking;reasoningMode;defaultPermissionMode;defaultCwd;hasFixedCwd;agentName;agentVersion;storage;runtimeReady;ownsRuntime;logger;events;bashPrefixExtractor;configuredExtensions;discoveredExtensions;connection=null;sessions=new Map;extensionRuntime;extensionRuntimeReady;disposePromise;constructor(e={}){let t=y.env.KODAX_PROVIDER,s=y.env.KODAX_EFFORT,o=b(),r=o;this.provider=B({explicitProvider:e.provider,environmentProvider:t,configuredProvider:o.provider,defaultProvider:X}),this.model=N({explicitProvider:e.provider,environmentProvider:t,explicitModel:e.model,configuredProvider:o.provider,configuredModel:o.model});let a=e.effort!==void 0||q(s).kind==="value";this.effort=O(G({explicitEffort:e.effort,environmentEffort:s,configuredEffort:o.effort}),"Configured effort"),this.planModeEffort=a?void 0:O(e.planModeEffort??o.planModeEffort,"Configured plan-mode effort"),this.thinking=e.thinking??o.thinking??!1,this.reasoningMode=e.reasoningMode??o.reasoningMode??"auto",this.defaultPermissionMode=Ye(e.permissionMode??o.permissionMode,"accept-edits");let d=g.resolve(e.cwd??y.cwd()),l=He(r.extensions),c=new R({level:L(e.logLevel??y.env.KODAX_ACP_LOG,"info")}),p=Je(c);this.defaultCwd=d,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 C,this.logger=c,this.ownsRuntime=e.runtime===void 0,this.runtimeReady=e.runtime?Promise.resolve(e.runtime):M({homeDir:e.homeDir??Fe.homedir(),sessionsDir:this.storage.getSessionsDir(),profile:"acp",defaultProvider:this.provider,...this.model!==void 0?{defaultModel:this.model}:{}}),this.configuredExtensions=l,this.discoveredExtensions=p,this.events=new w({sinks:[...e.eventSinks??[],c]}),this.bashPrefixExtractor=z({getProvider:i(()=>F(this.provider),"getProvider"),getModel:i(()=>this.model??"","getModel")});let h=o.mcpServers,f=h&&Object.values(h).some(m=>(m.connect??"lazy")!=="disabled");this.extensionRuntimeReady=(async()=>{let m=await p,v=m.length>0||l.length>0;if(!f&&!v)return;let S=I({config:o});f&&await E(S,h,{reverse:x({cwd:d})}),await Qe(S,m,l),S.activate(),this.extensionRuntime=S})().catch(m=>{let v=m instanceof Error?m.message:String(m);c.error("ACP extension initialization failed: "+v)})}attach(e,t){let s=We(t,e),o=new Ue(()=>this,s);this.connection=o;let r=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:r,fixedCwd:this.hasFixedCwd}),o.signal.addEventListener("abort",()=>{let d=this.sessions.size;this.events.emit({type:"connection_closed",activeSessions:d}),this.dispose()}),o}async waitForClose(){await this.connection?.closed}async dispose(){return this.disposePromise?this.disposePromise:(this.disposePromise=(async()=>{for(let s of this.sessions.values())await this.abortSessionRuns(s);let e=new Set;for(let s of this.sessions.values())s.ownedExtensionRuntime&&(e.add(s.ownedExtensionRuntime),s.ownedExtensionRuntime=void 0),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())),this.ownsRuntime&&await(await this.runtimeReady).close().catch(()=>{}),await D()})(),this.disposePromise)}async initialize(e){return this.events.emit({type:"initialize_completed",protocolVersion:re}),{protocolVersion:re,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(!g.isAbsolute(t))throw _.invalidParams({cwd:t},"Session cwd must be an absolute path.");let s=ie(),o=e.mcpServers??[],r={sessionId:s,cwd:g.resolve(t),permissionMode:this.defaultPermissionMode,mcpServers:o,alwaysAllowTools:[],activeRunIds:new Set};if(o.length>0){let a=Ne(o),d=I({});await E(d,a,{reverse:x({cwd:r.cwd})}).catch(l=>{let c=l instanceof Error?l.message:String(l);this.logger.error("ACP per-session MCP init failed for "+s+": "+c)}),await this.extensionRuntimeReady,r.ownedExtensionRuntime=d,r.extensionRuntime=this.extensionRuntime?W(d,this.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:et(r.permissionMode)}}async authenticate(){}async setSessionMode(e){let t=this.requireSession(e.sessionId),s=t.permissionMode,o=Ze(e.modeId);return t.permissionMode=o,this.events.emit({type:"session_mode_changed",sessionId:t.sessionId,from:s,to:o}),await this.sendSessionUpdate({sessionId:t.sessionId,update:{sessionUpdate:"current_mode_update",currentModeId:o}}),{}}async prompt(e){let t=this.requireSession(e.sessionId),s=tt(e.prompt),o=Be(e);if(!s)throw _.invalidParams({prompt:e.prompt},"Prompt must include at least one text or resource block with content.");let r=Date.now();return i(async()=>{let d=Date.now();this.events.emit({type:"prompt_started",sessionId:t.sessionId,messageId:e.messageId??null,chars:s.length,cwd:t.cwd,queueDelayMs:d-r}),this.events.emit({type:"prompt_preview",sessionId:t.sessionId,prompt:s});let l;try{this.extensionRuntimeReady&&await this.extensionRuntimeReady;let c=await this.runtimeReady;await this.ensureRuntimeSession(c,t,s),l=await c.runs.start({sessionId:t.sessionId,prompt:s,options:this.buildKodaXOptions(t,o)}),t.activeRunIds.add(l.runId);let p=await l.result;if(p.error)throw p.error;let h=p.phase==="cancelled"||p.phase==="interrupted",f=p.result;if(!f){if(h)return this.events.emit({type:"prompt_cancelled",sessionId:t.sessionId,durationMs:Date.now()-d}),{stopReason:"cancelled",userMessageId:e.messageId??void 0};throw new Error(`Runtime run ${l.runId} ended without a coding result.`)}t.contextTokenSnapshot=f.contextTokenSnapshot;let m=!!f.interrupted||h,v=m?"cancelled":"end_turn";return this.events.emit({type:"prompt_finished",sessionId:t.sessionId,stopReason:v,interrupted:m,durationMs:Date.now()-d}),{stopReason:v,userMessageId:e.messageId??void 0,...ce(f.contextTokenSnapshot)?{usage:ce(f.contextTokenSnapshot)}:{}}}catch(c){if(st(c))return this.events.emit({type:"prompt_cancelled",sessionId:t.sessionId,durationMs:Date.now()-d}),{stopReason:"cancelled",userMessageId:e.messageId??void 0};let p=c instanceof Error?c.message:String(c);return this.events.emit({type:"prompt_failed",sessionId:t.sessionId,durationMs:Date.now()-d,error:p}),await this.sendTextChunk(t.sessionId,`
|
|
6
|
+
[ACP Server Error] ${p}
|
|
7
|
+
`),{stopReason:"end_turn",userMessageId:e.messageId??void 0}}finally{l&&t.activeRunIds.delete(l.runId)}},"task")()}async ensureRuntimeSession(e,t,s){t.runtimeSessionReady||(t.runtimeSessionReady=e.sessions.create({sessionId:t.sessionId,title:Ve(s),projectPath:t.cwd,gitRoot:t.cwd,surface:"acp"}).then(()=>{}));try{await t.runtimeSessionReady}catch(o){throw t.runtimeSessionReady=void 0,o}}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,s=[...e.activeRunIds],o=await Promise.all(s.map(async r=>{try{let a=await t.runs.get(r);return{runId:r,rank:le(a.phase)}}catch(a){let d=a instanceof Error?a.message:String(a);return this.logger.error(`ACP runtime run status lookup failed for ${r}: ${d}`),{runId:r,rank:le("cancelled")}}}));o.sort((r,a)=>r.rank-a.rank),await Promise.all(o.map(({runId:r})=>t.runs.abort(r).catch(a=>{let d=a instanceof Error?a.message:String(a);this.logger.error(`ACP runtime run abort failed for ${r}: ${d}`)})))}requireSession(e){let t=this.sessions.get(e);if(!t)throw _.resourceNotFound(e);return t}buildKodaXOptions(e,t={kind:"absent"}){let s=t.kind==="value"?t.value:e.permissionMode==="plan"&&this.planModeEffort!==void 0?this.planModeEffort:this.effort;return{provider:this.provider,model:this.model,effort:s,thinking:s==="none"?!1:this.thinking,reasoningMode:s==="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:i(o=>{this.dispatchNotification("assistant text chunk",e.sessionId,this.sendTextChunk(e.sessionId,o))},"onTextDelta"),onThinkingDelta:i(o=>{this.dispatchNotification("thinking chunk",e.sessionId,this.sendSessionUpdate({sessionId:e.sessionId,update:{sessionUpdate:"agent_thought_chunk",content:{type:"text",text:o}}}))},"onThinkingDelta"),onToolUseStart:i(o=>{this.dispatchNotification("tool call start",e.sessionId,this.sendSessionUpdate({sessionId:e.sessionId,update:{sessionUpdate:"tool_call",toolCallId:o.id,title:o.name,kind:ae(o.name),rawInput:o.input,locations:de(o.name,o.input??{}),status:"pending"}}))},"onToolUseStart"),onToolResult:i(o=>{this.dispatchNotification("tool call update",e.sessionId,this.sendSessionUpdate({sessionId:e.sessionId,update:{sessionUpdate:"tool_call_update",toolCallId:o.id,title:o.name,status:nt(o.content)?"failed":"completed",rawOutput:o.content}}))},"onToolResult"),onRepoIntelligenceTrace:i(o=>{this.events.emit({type:"repo_intelligence_trace",sessionId:e.sessionId,stage:o.stage,summary:o.summary,mode:o.capability?.mode,engine:o.capability?.engine,status:o.capability?.status,cacheHit:o.trace?.cacheHit,capsuleEstimatedTokens:o.trace?.capsuleEstimatedTokens})},"onRepoIntelligenceTrace"),onError:i(o=>{this.dispatchNotification("error text chunk",e.sessionId,this.sendTextChunk(e.sessionId,`
|
|
8
8
|
[Error] ${o.message}
|
|
9
|
-
`))},"onError"),beforeToolExecute:r(async(o,i,a)=>{let d=await this.evaluateToolPermission(e,o,i,a?.toolId);return d.allowed?!0:d.override??!1},"beforeToolExecute")}}}async evaluateToolPermission(e,t,s,o){if(this.events.emit({type:"tool_permission_evaluated",sessionId:e.sessionId,tool:t,toolId:o??null,permissionMode:e.permissionMode}),t==="bash"){let c=typeof s.command=="string"?s.command:"";if(H(c))return this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:o??null,outcome:"auto_allowed_read_only_bash"}),{allowed:!0};if(await J(t,s,e.alwaysAllowTools,this.bashPrefixExtractor))return this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:o??null,outcome:"auto_allowed_remembered"}),{allowed:!0}}if(e.permissionMode==="plan"){let c=ne(t,s,e.cwd);return c?(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:o??null,outcome:"blocked_plan_mode"}),{allowed:!1,override:`${c} 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:o??null,outcome:"auto_allowed_plan_mode"}),{allowed:!0})}let i=T(t)&&typeof s.path=="string"&&Y(g.resolve(e.cwd,s.path),e.cwd),a=V(e.permissionMode).has(t),d=e.permissionMode==="auto-in-project"&&(T(t)&&typeof s.path=="string"&&!Z(s.path,e.cwd)||t==="bash"&&typeof s.command=="string"&&te(s.command,e.cwd).dangerous);return!i&&!a&&!d?(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:o??null,outcome:"auto_allowed_policy"}),{allowed:!0}):await this.requestPermissionFromClient(e,t,s,o)}async requestPermissionFromClient(e,t,s,o){if(!this.connection)return this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:o??null,outcome:"request_failed_disconnected"}),{allowed:!1,override:"[Cancelled] ACP client is disconnected, so the permission request could not be completed."};let i=[{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:o??ie(),title:t,kind:ae(t),rawInput:s,locations:de(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:i})}catch(l){return this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:a.toolCallId,outcome:"request_failed_incomplete",error:l instanceof Error?l.message:String(l)}),{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,Q(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(o=>{if(!this.connection||this.connection.signal.aborted)return;let i=o instanceof Error?o.message:String(o);this.events.emit({type:"notification_failed",sessionId:t,label:e,error:i})})}};async function st(n={}){let e=new S(n),t=De.toWeb(y.stdin),s=je.toWeb(y.stdout);e.attach(t,s);try{await e.waitForClose()}finally{await e.dispose()}}r(st,"runAcpServer");export{oe as ACP_LOG_LEVELS,ba as ALWAYS_RESIDENT_TOOL_NAMES,ul as AUTO_MODE_DENIAL_CONSECUTIVE_THRESHOLD,ml as AUTO_MODE_DENIAL_CUMULATIVE_THRESHOLD,w as AcpEventEmitter,R as AcpLogger,Tl as BASH_POLICY_SPEC,Md as BLOCKER_REQUIRED_CONSECUTIVE_TURNS,yl as BREAKER_ERROR_THRESHOLD,Rl as BREAKER_WINDOW_MS,Ie as BUILTIN_COMMANDS,Ji as BUILTIN_WORKFLOWS,qs as CANCELLED_TOOL_RESULT_MESSAGE,Ks as CANCELLED_TOOL_RESULT_PREFIX,nl as CODING_AGENT_MARKER,Ad as CODING_INVARIANTS,Ma as CODING_SUMMARY_PROMPT,La as CODING_UPDATE_SUMMARY_PROMPT,Ur as CapabilityDeniedError,Ed as Client,Aa as CombinedExtensionRuntime,Wr as ConstructionManifestError,Xa as DEFAULT_CODING_AGENT_NAME,Vd as DEFAULT_DANGEROUS_PATTERNS,Dr as DEFAULT_HANDLER_TIMEOUT_MS,ui as DEFAULT_RESILIENCE_CONFIG,$d as DEFAULT_SAFE_PATTERNS,Yr as DEFAULT_SELF_MODIFY_BUDGET,bl as DEFAULT_SPECULATIVE_WINDOW_MS,Fs as DEFAULT_TOOL_OUTPUT_MAX_BYTES,Xs as DEFAULT_TOOL_OUTPUT_MAX_LINES,ji as DEFAULT_WORKFLOW_GENERATION_TIMEOUT_MS,Fn as DefaultSummaryCompaction,Zd as EMIT_VERDICT_TOOL_NAME,Pn as ErrorCategory,C as FileSessionStorage,ii as GENERATOR_AGENT_NAME,en as ImageResizeError,Mn as KODAX_API_MIN_INTERVAL,k as KODAX_CONFIG_FILE,X as KODAX_DEFAULT_PROVIDER,In as KODAX_DEFAULT_TIMEOUT,ue as KODAX_DIR,yn as KODAX_FILE_MEDIA_TYPES,En as KODAX_HARD_TIMEOUT,hn as KODAX_IMAGE_MEDIA_TYPES,bn as KODAX_MAX_INCOMPLETE_RETRIES,xn as KODAX_MAX_RETRIES,An as KODAX_MAX_TOKENS,Rt as KODAX_PROVIDERS,yt as KODAX_PROVIDER_SNAPSHOTS,lt as KODAX_REASONING_MODE_SEQUENCE,kn as KODAX_RETRY_BASE_DELAY,me as KODAX_SESSIONS_DIR,ct as KODAX_STABLE_EFFORT_INTENTS,Cn as KODAX_STAGGER_DELAY,ed as KODAX_TOOLS,Hs as KODAX_UNDERLYING_CAPABILITY_TOPICS,ve as KODAX_VERSION,vn as KODAX_VIDEO_MEDIA_TYPES,S as KodaXAcpServer,ht as KodaXAnthropicCompatProvider,gt as KodaXBaseProvider,Ed as KodaXClient,ot as KodaXError,Sa as KodaXExtensionRuntime,Zt as KodaXMediaError,vt as KodaXOpenAICompatProvider,it as KodaXProviderError,rt as KodaXRateLimitError,Qt as KodaXSessionError,Yt as KodaXTerminalError,Jt as KodaXToolError,gs as LINEAGE_ENTRY_TYPES,Ki as LSP_SERVERS,vs as LineageCompaction,hs as LineageExtension,qi as LspService,Js as MANUAL_REGISTRY,Gs as MANUAL_TOPIC_IDS,an as MAX_DIMENSION,es as McpAuthRequiredError,us as McpCapabilityProvider,Zn as McpExpiredSessionError,ms as McpManager,ps as McpServerRuntime,un as PASTE_TMP_DIR_ENV,mn as PASTE_TMP_TTL_MS,oi as PLANNER_AGENT_NAME,Ln as PROMISE_PATTERN,Pr as PROMPT_SECTION_REGISTRY,tl as PROTOCOL_EMITTER_TOOLS,yi as ProviderRecoveryCoordinator,Ds as READ_DEFAULT_LIMIT,Us as READ_MAX_LINE_CHARS,js as READ_PREFLIGHT_SIZE_BYTES,Ra as REPO_EXPLORER_AGENT_NAME,wa as REPO_EXPLORER_TOOL_NAMES,jn as Runner,si as SCOUT_AGENT_NAME,$l as SCOUT_THEN_AUTHOR_PROMPT_LINES,kr as SELF_KNOWLEDGE_ROUTING_RULE,_r as SYSTEM_PROMPT,ur as SYSTEM_WORKFLOW_LIMITS,hi as StableBoundaryTracker,dn as TARGET_RAW_SIZE_BYTES,di as TASK_ENGINE_ROLE_AGENTS,xd as TOOL_RESULT_TRUNCATION_GUARDRAIL_NAME,Kl as TRACING_ENV,ri as WORKER_AGENT_NAME,Di as WORKFLOW_GENERATION_SYSTEM_PROMPT,ia as _resetRuntimeForTesting,da as activate,go as analyzeChangedScope,Jr as appendAuditEntry,Is as appendSessionLineageLabel,Va as applyAccountingDelta,Es as applySessionCompaction,zo as applyToolResultGuardrail,Ls as archiveOldIslands,Bl as authorWorkflowViaWorker,vl as autoModeDenialShouldFallback,El as bashSignalCollector,ql as bootstrapTracing,wd as boundedRevise,Pl as breakerShouldFallback,_d as budgetCeiling,mr as buildApprovalSummary,Ga as buildBlockedGoal,br as buildCapabilityContextSections,sl as buildClassifierPrompt,Ha as buildCompleteGoal,$a as buildCreatedGoal,bi as buildFallbackRoutingDecision,Kd as buildGoalRuntimeBinding,cs as buildInitializeCapabilities,Nr as buildLlmReviewPrompt,Ys as buildManualToolDescription,x as buildMcpReverseCapabilities,Ba as buildPausedGoal,Ri as buildPromptMessageContent,Er as buildPromptSnapshot,Si as buildProviderCapabilitySnapshot,Ci as buildProviderPolicyHintsForDecision,Ai as buildProviderPolicyPromptNotes,fo as buildRepoIntelligenceContext,xo as buildRepoIntelligenceIndex,po as buildRepoOverview,Na as buildResumedGoal,Vl as buildScoutThenAuthorPrompt,xr as buildSelfKnowledgeRoutingRule,Cs as buildSessionTree,Mr as buildSystemPrompt,Cr as buildSystemPromptSnapshot,Do as buildToolResultBudget,jo as buildToolResultBudgetFromUsage,Qa as buildToolSearchIndex,$i as buildWorkflowGenerationSkillContext,zi as buildWorkflowGenerationUserPrompt,Il as checkAbsoluteDeny,wi as checkIncompleteToolCalls,Li as checkPromiseSignal,Uo as clampToolResultPolicyToBudget,fr as clampWorkflowLimits,il as classify,Nd as classifyBashCommand,Sn as classifyError,fi as classifyResilienceError,Bn as cleanupIncompleteToolCalls,zt as clearRuntimeModelProviders,kl as collectAllSignals,W as combineExtensionRuntimes,Hd as computeInputSignature,rl as computeRulesFingerprint,oa as configureRuntime,Ka as consumeCompactionCooldown,No as convertCapabilityReadResult,Bo as convertProviderSearchResults,Ms as countActiveLineageMessages,On as countTokens,Kn as createAgent,fl as createAutoModeDenialTracker,Ll as createAutoModeToolGuardrail,Bd as createBashClassifierConfig,$ as createBashPrefixExtractor,dd as createBuiltinToolDefinition,wl as createCircuitBreaker,Gi as createCodingWorkflowBackend,Ta as createCompactionAntiThrashState,zr as createCtxProxy,bt as createCustomProvider,Fa as createDefaultCodingAgent,Gd as createDenialTracker,I as createExtensionRuntime,on as createFileArtifactFromPath,qn as createHandoff,sn as createImageArtifactFromPath,Xn as createInMemorySession,ke as createInteractiveContext,M as createKodaXRuntime,jd as createKodaXTaskRunner,Gn as createMcpCapabilityId,fs as createMcpManager,ts as createMcpTransport,Sr as createPromptSection,Mi as createReasoningPlan,pr as createRunGraphWriter,ka as createRuntimeContextBudgetSnapshot,yd as createSessionControl,ws as createSessionLineage,kd as createToolResultTruncationGuardrail,rn as createVideoArtifactFromPath,Fl as createWorkflowLifecycleController,Ul as createWorkflowPatternTemplateModule,yr as createWorkflowRunManager,Wl as decideWorkflowInvocation,A as dedupeExtensionPathsByEntrypoint,Nn as defaultMcpCacheDir,jr as defaultPolicy,ir as deleteSavedWorkflow,sa as disableSelfModify,is as discoverAuthorizationServerMetadata,U as discoverDefaultExtensions,Fr as discoverExtensionsInDirectory,Xr as discoverExtensionsInDirectoryDetailed,ya as discoverMarkdownAgents,rs as discoverOAuthEndpoints,os as discoverProtectedResourceMetadata,Zi as discoverSavedWorkflows,pi as drainPendingSwaps,ut as effortToLegacyReasoningMode,el as emitVerdict,hr as emitWorkflowAgentDigest,_n as enqueueWithArtifacts,_a as ensureBuiltinRepoExplorerAgent,Tn as estimateTokens,xa as estimateToolSchemaTokens,Ii as evaluateProviderPolicy,j as excludeExtensionPathsByEntrypoint,Lr as exec,xe as executeCommand,vd as executeTool,Ts as extractArtifactLedger,Ol as extractCommandPrefix,Pi as extractComparableUserMessageText,Vo as extractHtmlTitle,ss as extractInsufficientScope,_i as extractPromptComparableText,ns as extractResourceMetadataUrl,Rs as extractTitleFromMessages,xl as fileSignalCollector,Ho as finalizeRetrievalResult,fa as findByVersion,xs as findPreviousUserEntryId,bs as forkSessionLineage,ni as formatAgentsForPrompt,Wd as formatParallelDispatchResult,Ws as formatSize,ys as generateSessionId,Bi as generateWorkflow,Ni as generateWorkflowFromOptions,Ea as getActiveExtensionRuntime,Wn as getAgentConfigHome,zn as getAgentConfigPath,cd as getAllRegisteredTools,$n as getAppDataDir,Vt as getAvailableProviderNames,ad as getBuiltinRegisteredToolDefinition,rd as getBuiltinToolDefinition,Qi as getBuiltinWorkflow,Xt as getCustomModelCapabilities,Mt as getCustomProvider,Ot as getCustomProviderList,qt as getCustomProviderModelDescriptors,Kt as getCustomProviderModels,Tt as getCustomProviderNames,Kr as getDefaultExtensionDirectory,Xi as getDefaultLspService,Rr as getDefaultWorkflowRunManager,Yd as getDenialContext,Se as getGitRoot,Lo as getImpactEstimate,ei as getKodaxGlobalDir,Yn as getMcpCachePaths,Et as getModelCapabilities,Rn as getModelInputCapabilities,bo as getModuleContext,Mo as getProcessContext,wt as getProvider,Pt as getProviderConfiguredCapabilityProfile,_t as getProviderConfiguredReasoningCapability,Re as getProviderList,ye as getProviderModel,It as getProviderModelDescriptors,St as getProviderModels,od as getRegisteredToolDefinition,ko as getRepoIntelligenceIndex,uo as getRepoOverview,To as getRepoRoutingSignals,fd as getRequiredToolParams,jt as getRuntimeModelProvider,Wt as getRuntimeModelProviderNames,_s as getSessionLineagePath,Ps as getSessionMessagesFromLineage,Co as getSymbolContext,nd as getTool,sd as getToolDefinition,id as getToolRegistrations,Wo as getToolResultPolicy,he as getVersion,jl as getWorkflowPatternTemplate,Ua as goalTokenDelta,ci as hasPendingSwap,fe as hydrateProcessEnvFromShell,tn as inferImageMediaType,ki as inferTaskType,nn as inferVideoMediaType,so as inspectEditFailure,Eo as inspectRepoIntelligenceRuntime,Lt as isCustomProviderName,Qd as isDeniedRecently,$t as isKnownProvider,Ud as isParallelDispatchDirective,we as isProviderConfigured,At as isProviderName,Ut as isRuntimeModelProviderName,gi as isSessionRecoveryCandidateError,Or as isSupportedExtensionModulePath,z as isToolFileMutation,md as isToolMutation,ud as isToolNetworkRead,pd as isToolPlanModeAllowed,Ja as isValidTokenBudget,Ti as languageIdForPath,ga as listAll,Gt as listAllModelCapabilities,pa as listArtifacts,xt as listBuiltinModelCapabilities,ld as listBuiltinToolDefinitions,Yi as listBuiltinWorkflows,ma as listConstructed,Ft as listCustomProviderModelCapabilities,hd as listToolDefinitions,gd as listTools,Dl as listWorkflowPatternTemplates,ti as loadAgentsFiles,ha as loadAgentsFromMarkdown,cl as loadAutoRules,_e as loadConfig,ar as loadGeneratedWorkflowFromRun,$r as loadHandler,va as loadMarkdownAgentScope,nr as loadSavedWorkflow,tr as loadSavedWorkflowCapsule,ls as loadValidToken,ja as makeDisabledGoalToolsContext,pt as mapLegacyReasoningModeToEffortIntent,Xd as mcpRootsFromWorkspace,Os as mergeArtifactLedger,Hn as normalizeMcpCapabilityId,ln as normalizePastedImage,K as normalizeReasoningEffortValue,er as normalizeWorkflowModule,Ar as orderPromptSections,Hi as parallelInvestigation,ll as parseAutoRules,ol as parseClassifierOutput,Ee as parseCommand,no as parseEditToolError,Gr as parseLlmReviewVerdict,Jn as parseMcpCapabilityId,Sl as parseModelSpec,q as parseReasoningEffortEnv,dt as parseTimeoutSecEnvMs,Za as parseToolSearchQuery,Vi as parseWorkflowGeneration,ds as performOAuthLogin,fn as persistImageAsBlock,Bs as persistToolOutput,Ca as planToolExposure,lr as preflightWorkflowCapsule,b as prepareRuntimeConfig,Oo as prewarmRepoIntelligenceCaches,Le as processSpecialSyntax,Fi as providerResilienceConfigFromTimeouts,gn as prunePasteTmpDir,Ae as rateLimitedCall,pn as readAndNormalizeClipboardImage,ua as readArtifact,Qr as readAuditEntries,Zr as readBudget,cn as readClipboardImage,na as readDisableState,Cl as readSpeculativeWindowFromEnv,al as readTrustState,xi as reasoningModeToDepth,vi as reconstructMessagesWithToolGuard,hl as recordAutoModeAllow,gl as recordAutoModeBlock,bd as recordBlockerAttempt,_l as recordBreakerError,qa as recordCompactionSavings,Jd as recordDenial,Id as registerCodingInvariants,ge as registerConfiguredCustomProviders,E as registerConfiguredMcpCapabilityProvider,Ct as registerCustomProviders,Dt as registerModelProvider,as as registerOAuthClient,Fd as registerOfficialSandboxExtension,Dn as registerPresetDispatcher,td as registerTool,la as rehydrateActiveArtifacts,ea as remainingSelfModifyBudget,or as renameSavedWorkflow,ho as renderChangedScope,So as renderImpactEstimate,wo as renderModuleContext,Po as renderProcessContext,Ir as renderPromptSections,mo as renderRepoOverview,Go as renderRetrievalResult,_o as renderSymbolContext,rr as replaceSavedWorkflow,Oi as reportLspDiagnostics,Cd as resetBlockerCounter,ta as resetBudget,L as resolveAcpLogLevel,Al as resolveClassifierModel,li as resolveConstructedAgent,qr as resolveExtensionEntrypoint,Qs as resolveKodaXManual,Nt as resolveModelCapabilities,F as resolveProvider,Bt as resolveProviderModelDescriptors,mt as resolveReasoningEffort,ft as resolveReasoningEffortForModelSwitch,Ei as resolveReasoningMode,Io as resolveRepoIntelligenceMode,Ao as resolveRepoIntelligenceRuntimeConfig,mi as resolveResilienceConfig,Ss as resolveSessionLineageTarget,Pd as resolveToolCapability,Ht as resolveWireEffort,Ui as resolveWorkflowGenerationTimeoutMs,Xl as resolveWorkflowIdentity,ca as revoke,ks as rewindSessionLineage,Pa as rollbackSelfModify,st as runAcpServer,Vr as runAstRules,Ce as runInkInteractiveMode,Me as runInteractiveMode,Da as runKodaX,Hr as runLlmReview,qd as runManagedTask,Dd as runOrchestration,vr as runWorkflowFromOptions,gr as runWorkflowModule,cr as safeWorkflowArtifactName,Pe as saveConfig,sr as saveGeneratedWorkflow,dr as saveGeneratedWorkflowFromRun,Qn as searchMcpCatalog,Ya as searchToolIndex,Ia as setActiveExtensionRuntime,Un as setAgentConfigHome,As as setSessionLineageActiveEntry,za as shouldFlipBudgetLimited,Oa as shouldSkipLlmCompaction,D as shutdownDefaultLspService,Ml as speculativeRace,ra as stage,Rd as startKodaX,wr as startManagedWorkflow,pl as stripAssistantText,$o as stripHtmlToText,aa as testArtifact,at as timeoutSecToMs,co as toolAskUserQuestion,io as toolBash,Ro as toolChangedDiff,yo as toolChangedScope,Yo as toolCodeSearch,to as toolEdit,ro as toolGlob,ao as toolGrep,Fo as toolImpactEstimate,oo as toolInsertAfterAnchor,Ko as toolModuleContext,Sd as toolPermission,Xo as toolProcessContext,Ns as toolRead,vo as toolRepoOverview,Zo as toolSemanticLookup,qo as toolSymbolContext,lo as toolUndo,Qo as toolWebFetch,Jo as toolWebSearch,eo as toolWrite,be as touchContext,zs as truncateHead,Vs as truncateLine,$s as truncateTail,dl as trustProjectRules,Wa as turnWallTimeDelta,Vn as validateAndFixToolHistory,kt as validateCustomProviderConfig,Wi as validateGeneratedWorkflowSource,wn as validateInputArtifactsForModel,zd as validateSubtaskIndependence,Br as validateToolSchemaForProvider,Od as verifyGoalCompletion,Tr as webhook,Ld as withGoalBeforeNextTurn,Td as withGoalStopHook,Zs as withManualToolBranding,ai as workerAgent,zl as workflowStartOutcomeConsumesTurn};
|
|
9
|
+
`))},"onError"),beforeToolExecute:i(async(o,r,a)=>{let d=await this.evaluateToolPermission(e,o,r,a?.toolId);return d.allowed?!0:d.override??!1},"beforeToolExecute")}}}async evaluateToolPermission(e,t,s,o){if(this.events.emit({type:"tool_permission_evaluated",sessionId:e.sessionId,tool:t,toolId:o??null,permissionMode:e.permissionMode}),t==="bash"){let c=typeof s.command=="string"?s.command:"";if(H(c))return this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:o??null,outcome:"auto_allowed_read_only_bash"}),{allowed:!0};if(await J(t,s,e.alwaysAllowTools,this.bashPrefixExtractor))return this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:o??null,outcome:"auto_allowed_remembered"}),{allowed:!0}}if(e.permissionMode==="plan"){let c=ne(t,s,e.cwd);return c?(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:o??null,outcome:"blocked_plan_mode"}),{allowed:!1,override:`${c} 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:o??null,outcome:"auto_allowed_plan_mode"}),{allowed:!0})}let r=T(t)&&typeof s.path=="string"&&Y(g.resolve(e.cwd,s.path),e.cwd),a=V(e.permissionMode).has(t),d=e.permissionMode==="auto-in-project"&&(T(t)&&typeof s.path=="string"&&!Z(s.path,e.cwd)||t==="bash"&&typeof s.command=="string"&&te(s.command,e.cwd).dangerous);return!r&&!a&&!d?(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:o??null,outcome:"auto_allowed_policy"}),{allowed:!0}):await this.requestPermissionFromClient(e,t,s,o)}async requestPermissionFromClient(e,t,s,o){if(!this.connection)return this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:o??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:o??ie(),title:t,kind:ae(t),rawInput:s,locations:de(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(l){return this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:a.toolCallId,outcome:"request_failed_incomplete",error:l instanceof Error?l.message:String(l)}),{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,Q(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(o=>{if(!this.connection||this.connection.signal.aborted)return;let r=o instanceof Error?o.message:String(o);this.events.emit({type:"notification_failed",sessionId:t,label:e,error:r})})}};async function ot(n={}){let e=new P(n),t=De.toWeb(y.stdin),s=je.toWeb(y.stdout);e.attach(t,s);try{await e.waitForClose()}finally{await e.dispose()}}i(ot,"runAcpServer");export{oe as ACP_LOG_LEVELS,$a as ALWAYS_RESIDENT_TOOL_NAMES,El as AUTO_MODE_DENIAL_CONSECUTIVE_THRESHOLD,xl as AUTO_MODE_DENIAL_CUMULATIVE_THRESHOLD,w as AcpEventEmitter,R as AcpLogger,Nl as BASH_POLICY_SPEC,Vd as BLOCKER_REQUIRED_CONSECUTIVE_TURNS,Ll as BREAKER_ERROR_THRESHOLD,Tl as BREAKER_WINDOW_MS,Ie as BUILTIN_COMMANDS,lr as BUILTIN_WORKFLOWS,Xs as CANCELLED_TOOL_RESULT_MESSAGE,qs as CANCELLED_TOOL_RESULT_PREFIX,hl as CODING_AGENT_MARKER,Fd as CODING_INVARIANTS,Va as CODING_SUMMARY_PROMPT,Ba as CODING_UPDATE_SUMMARY_PROMPT,ta as CapabilityDeniedError,jd as Client,Fa as CombinedExtensionRuntime,na as ConstructionManifestError,Qa as DEFAULT_CODING_AGENT_NAME,il as DEFAULT_DANGEROUS_PATTERNS,Zr as DEFAULT_HANDLER_TIMEOUT_MS,fi as DEFAULT_RESILIENCE_CONFIG,ol as DEFAULT_SAFE_PATTERNS,pa as DEFAULT_SELF_MODIFY_BUDGET,$l as DEFAULT_SPECULATIVE_WINDOW_MS,Ds as DEFAULT_TOOL_OUTPUT_MAX_BYTES,Fs as DEFAULT_TOOL_OUTPUT_MAX_LINES,Wi as DEFAULT_WORKFLOW_GENERATION_TIMEOUT_MS,Dn as DefaultSummaryCompaction,ml as EMIT_VERDICT_TOOL_NAME,Pn as ErrorCategory,tr as FINDING_VERIFICATION_OUTPUT_SCHEMA,C as FileSessionStorage,ai as GENERATOR_AGENT_NAME,tn as ImageResizeError,Ln as KODAX_API_MIN_INTERVAL,k as KODAX_CONFIG_FILE,X as KODAX_DEFAULT_PROVIDER,En as KODAX_DEFAULT_TIMEOUT,pe as KODAX_DIR,Rn as KODAX_FILE_MEDIA_TYPES,xn as KODAX_HARD_TIMEOUT,vn as KODAX_IMAGE_MEDIA_TYPES,Cn as KODAX_MAX_INCOMPLETE_RETRIES,kn as KODAX_MAX_RETRIES,In as KODAX_MAX_TOKENS,wt as KODAX_PROVIDERS,Rt as KODAX_PROVIDER_SNAPSHOTS,ct as KODAX_REASONING_MODE_SEQUENCE,bn as KODAX_RETRY_BASE_DELAY,me as KODAX_SESSIONS_DIR,ut as KODAX_STABLE_EFFORT_INTENTS,Mn as KODAX_STAGGER_DELAY,fd as KODAX_TOOLS,Js as KODAX_UNDERLYING_CAPABILITY_TOPICS,ve as KODAX_VERSION,yn as KODAX_VIDEO_MEDIA_TYPES,P as KodaXAcpServer,vt as KodaXAnthropicCompatProvider,ht as KodaXBaseProvider,jd as KodaXClient,it as KodaXError,Xa as KodaXExtensionRuntime,en as KodaXMediaError,yt as KodaXOpenAICompatProvider,rt as KodaXProviderError,at as KodaXRateLimitError,Yt as KodaXSessionError,Zt as KodaXTerminalError,Qt as KodaXToolError,hs as LINEAGE_ENTRY_TYPES,Xi as LSP_SERVERS,ys as LineageCompaction,vs as LineageExtension,Fi as LspService,Qs as MANUAL_REGISTRY,Hs as MANUAL_TOPIC_IDS,dn as MAX_DIMENSION,ts as McpAuthRequiredError,ms as McpCapabilityProvider,es as McpExpiredSessionError,fs as McpManager,ps as McpServerRuntime,mn as PASTE_TMP_DIR_ENV,fn as PASTE_TMP_TTL_MS,ri as PLANNER_AGENT_NAME,Tn as PROMISE_PATTERN,qr as PROMPT_SECTION_REGISTRY,gl as PROTOCOL_EMITTER_TOOLS,wi as ProviderRecoveryCoordinator,js as READ_DEFAULT_LIMIT,Ws as READ_MAX_LINE_CHARS,Us as READ_PREFLIGHT_SIZE_BYTES,Ta as REPO_EXPLORER_AGENT_NAME,Oa as REPO_EXPLORER_TOOL_NAMES,Un as Runner,er as SCOPED_REVIEW_OUTPUT_SCHEMA,ii as SCOUT_AGENT_NAME,oc as SCOUT_THEN_AUTHOR_PROMPT_LINES,Wr as SELF_KNOWLEDGE_ROUTING_RULE,Kr as SYSTEM_PROMPT,Er as SYSTEM_WORKFLOW_LIMITS,yi as StableBoundaryTracker,ln as TARGET_RAW_SIZE_BYTES,ci as TASK_ENGINE_ROLE_AGENTS,Ud as TOOL_RESULT_TRUNCATION_GUARDRAIL_NAME,Hl as TRACING_ENV,di as WORKER_AGENT_NAME,Ui as WORKFLOW_GENERATION_SYSTEM_PROMPT,Ra as _resetRuntimeForTesting,Sa as activate,vo as analyzeChangedScope,ca as appendAuditEntry,Es as appendSessionLineageLabel,id as applyAccountingDelta,or as applyFindingVerification,xs as applySessionCompaction,Vo as applyToolResultGuardrail,Ts as archiveOldIslands,rc as authorWorkflowViaWorker,Ml as autoModeDenialShouldFallback,jl as bashSignalCollector,Jl as bootstrapTracing,Od as boundedRevise,ql as breakerShouldFallback,Kd as budgetCeiling,xr as buildApprovalSummary,dd as buildBlockedGoal,$r as buildCapabilityContextSections,vl as buildClassifierPrompt,ld as buildCompleteGoal,od as buildCreatedGoal,Mi as buildFallbackRoutingDecision,Hd as buildGoalRuntimeBinding,us as buildInitializeCapabilities,aa as buildLlmReviewPrompt,Zs as buildManualToolDescription,x as buildMcpReverseCapabilities,rd as buildPausedGoal,_i as buildPromptMessageContent,jr as buildPromptSnapshot,Ii as buildProviderCapabilitySnapshot,Li as buildProviderPolicyHintsForDecision,Ei as buildProviderPolicyPromptNotes,ho as buildRepoIntelligenceContext,bo as buildRepoIntelligenceIndex,mo as buildRepoOverview,ad as buildResumedGoal,ar as buildScopedReviewFinalPrompt,ir as buildScopedReviewPrimaryPrompt,rr as buildScopedReviewVerificationPrompt,ic as buildScoutThenAuthorPrompt,Ur as buildSelfKnowledgeRoutingRule,Ms as buildSessionTree,Vr as buildSystemPrompt,zr as buildSystemPromptSnapshot,Uo as buildToolResultBudget,Wo as buildToolResultBudgetFromUsage,ud as buildToolSearchIndex,Pr as buildWorkflowCostReport,Bi as buildWorkflowGenerationSkillContext,Vi as buildWorkflowGenerationUserPrompt,Dl as checkAbsoluteDeny,Si as checkIncompleteToolCalls,Oi as checkPromiseSignal,$o as clampToolResultPolicyToBudget,kr as clampWorkflowLimits,Rl as classify,al as classifyBashCommand,An as classifyError,po as classifyFileCategory,hi as classifyResilienceError,Nn as cleanupIncompleteToolCalls,zt as clearRuntimeModelProviders,Wl as collectAllSignals,W as combineExtensionRuntimes,ll as computeInputSignature,wl as computeRulesFingerprint,ya as configureRuntime,Ha as consumeCompactionCooldown,Ho as convertCapabilityReadResult,Go as convertProviderSearchResults,Ls as countActiveLineageMessages,Kn as countTokens,qn as createAgent,kl as createAutoModeDenialTracker,Bl as createAutoModeToolGuardrail,rl as createBashClassifierConfig,z as createBashPrefixExtractor,Sd as createBuiltinToolDefinition,Ol as createCircuitBreaker,Yi as createCodingWorkflowBackend,Na as createCompactionAntiThrashState,sa as createCtxProxy,Ct as createCustomProvider,Ya as createDefaultCodingAgent,dl as createDenialTracker,I as createExtensionRuntime,rn as createFileArtifactFromPath,Xn as createHandoff,on as createImageArtifactFromPath,Fn as createInMemorySession,ke as createInteractiveContext,M as createKodaXRuntime,el as createKodaXTaskRunner,Hn as createMcpCapabilityId,gs as createMcpManager,ns as createMcpTransport,Xr as createPromptSection,Ti as createReasoningPlan,Ir as createRunGraphWriter,Wa as createRuntimeContextBudgetSnapshot,Ld as createSessionControl,_s as createSessionLineage,Wd as createToolResultTruncationGuardrail,an as createVideoArtifactFromPath,Yl as createWorkflowLifecycleController,tc as createWorkflowPatternTemplateModule,Lr as createWorkflowRunManager,nc as decideWorkflowInvocation,A as dedupeExtensionPathsByEntrypoint,Gn as defaultMcpCacheDir,ea as defaultPolicy,yr as deleteSavedWorkflow,va as disableSelfModify,rs as discoverAuthorizationServerMetadata,U as discoverDefaultExtensions,Yr as discoverExtensionsInDirectory,Qr as discoverExtensionsInDirectoryDetailed,La as discoverMarkdownAgents,as as discoverOAuthEndpoints,is as discoverProtectedResourceMetadata,pr as discoverSavedWorkflows,mi as drainPendingSwaps,mt as effortToLegacyReasoningMode,fl as emitVerdict,Cr as emitWorkflowAgentDigest,Sn as enqueueWithArtifacts,Ka as ensureBuiltinRepoExplorerAgent,On as estimateTokens,Ua as estimateToolSchemaTokens,xi as evaluateProviderPolicy,j as excludeExtensionPathsByEntrypoint,Br as exec,xe as executeCommand,Md as executeTool,Os as extractArtifactLedger,Gl as extractCommandPrefix,Ai as extractComparableUserMessageText,No as extractHtmlTitle,os as extractInsufficientScope,Pi as extractPromptComparableText,ss as extractResourceMetadataUrl,ws as extractTitleFromMessages,Ul as fileSignalCollector,Qo as finalizeRetrievalResult,ka as findByVersion,ks as findPreviousUserEntryId,Cs as forkSessionLineage,oi as formatAgentsForPrompt,nl as formatParallelDispatchResult,$s as formatSize,Rs as generateSessionId,Gi as generateWorkflow,Hi as generateWorkflowFromOptions,ja as getActiveExtensionRuntime,$n as getAgentConfigHome,zn as getAgentConfigPath,Ad as getAllRegisteredTools,Vn as getAppDataDir,Bt as getAvailableProviderNames,_d as getBuiltinRegisteredToolDefinition,wd as getBuiltinToolDefinition,cr as getBuiltinWorkflow,Ft as getCustomModelCapabilities,Lt as getCustomProvider,Kt as getCustomProviderList,Xt as getCustomProviderModelDescriptors,qt as getCustomProviderModels,Ot as getCustomProviderNames,Hr as getDefaultExtensionDirectory,Di as getDefaultLspService,Tr as getDefaultWorkflowRunManager,pl as getDenialContext,Pe as getGitRoot,Oo as getImpactEstimate,ni as getKodaxGlobalDir,Zn as getMcpCachePaths,xt as getModelCapabilities,wn as getModelInputCapabilities,Mo as getModuleContext,To as getProcessContext,_t as getProvider,Pt as getProviderConfiguredCapabilityProfile,St as getProviderConfiguredReasoningCapability,Re as getProviderList,ye as getProviderModel,Et as getProviderModelDescriptors,At as getProviderModels,yd as getRegisteredToolDefinition,Co as getRepoIntelligenceIndex,fo as getRepoOverview,Ko as getRepoRoutingSignals,kd as getRequiredToolParams,Ut as getRuntimeModelProvider,$t as getRuntimeModelProviderNames,Ss as getSessionLineagePath,Ps as getSessionMessagesFromLineage,Lo as getSymbolContext,hd as getTool,vd as getToolDefinition,Rd as getToolRegistrations,zo as getToolResultPolicy,he as getVersion,ec as getWorkflowPatternTemplate,td as goalTokenDelta,pi as hasPendingSwap,fe as hydrateProcessEnvFromShell,nn as inferImageMediaType,Ci as inferTaskType,sn as inferVideoMediaType,oo as inspectEditFailure,ko as inspectRepoIntelligenceRuntime,Tt as isCustomProviderName,ul as isDeniedRecently,Vt as isKnownProvider,tl as isParallelDispatchDirective,we as isProviderConfigured,It as isProviderName,Wt as isRuntimeModelProviderName,vi as isSessionRecoveryCandidateError,Gr as isSupportedExtensionModulePath,$ as isToolFileMutation,xd as isToolMutation,Ed as isToolNetworkRead,Id as isToolPlanModeAllowed,cd as isValidTokenBudget,Ki as languageIdForPath,ba as listAll,Ht as listAllModelCapabilities,Ia as listArtifacts,kt as listBuiltinModelCapabilities,Pd as listBuiltinToolDefinitions,ur as listBuiltinWorkflows,Ji as listCodingDispatchableAgents,xa as listConstructed,Dt as listCustomProviderModelCapabilities,Cd as listToolDefinitions,bd as listTools,Zl as listWorkflowPatternTemplates,si as loadAgentsFiles,Ca as loadAgentsFromMarkdown,Al as loadAutoRules,_e as loadConfig,wr as loadGeneratedWorkflowFromRun,oa as loadHandler,Ma as loadMarkdownAgentScope,gr as loadSavedWorkflow,fr as loadSavedWorkflowCapsule,cs as loadValidToken,ed as makeDisabledGoalToolsContext,pt as mapLegacyReasoningModeToEffortIntent,Qd as mcpRootsFromWorkspace,Ks as mergeArtifactLedger,sr as mergeScopedReviewResults,Jn as normalizeMcpCapabilityId,cn as normalizePastedImage,K as normalizeReasoningEffortValue,nr as normalizeScopedReviewResult,mr as normalizeWorkflowModule,Fr as orderPromptSections,Zi as parallelInvestigation,Pl as parseAutoRules,yl as parseClassifierOutput,Ee as parseCommand,so as parseEditToolError,da as parseLlmReviewVerdict,Qn as parseMcpCapabilityId,Xl as parseModelSpec,q as parseReasoningEffortEnv,lt as parseTimeoutSecEnvMs,md as parseToolSearchQuery,Ni as parseWorkflowGeneration,ls as performOAuthLogin,gn as persistImageAsBlock,Ns as persistToolOutput,za as planToolExposure,Sr as preflightWorkflowCapsule,b as prepareRuntimeConfig,qo as prewarmRepoIntelligenceCaches,Le as processSpecialSyntax,ji as providerResilienceConfigFromTimeouts,hn as prunePasteTmpDir,Ae as rateLimitedCall,pn as readAndNormalizeClipboardImage,Ea as readArtifact,ua as readAuditEntries,ma as readBudget,un as readClipboardImage,ha as readDisableState,zl as readSpeculativeWindowFromEnv,_l as readTrustState,bi as reasoningModeToDepth,Ri as reconstructMessagesWithToolGuard,Cl as recordAutoModeAllow,bl as recordAutoModeBlock,$d as recordBlockerAttempt,Kl as recordBreakerError,Ja as recordCompactionSavings,cl as recordDenial,Dd as registerCodingInvariants,ge as registerConfiguredCustomProviders,E as registerConfiguredMcpCapabilityProvider,Mt as registerCustomProviders,jt as registerModelProvider,ds as registerOAuthClient,Yd as registerOfficialSandboxExtension,jn as registerPresetDispatcher,gd as registerTool,Pa as rehydrateActiveArtifacts,fa as remainingSelfModifyBudget,vr as renameSavedWorkflow,yo as renderChangedScope,Io as renderImpactEstimate,So as renderModuleContext,Ao as renderProcessContext,Dr as renderPromptSections,go as renderRepoOverview,Jo as renderRetrievalResult,Po as renderSymbolContext,Rr as replaceSavedWorkflow,qi as reportLspDiagnostics,zd as resetBlockerCounter,ga as resetBudget,L as resolveAcpLogLevel,Fl as resolveClassifierModel,Qi as resolveCodingDispatchableAgent,ui as resolveConstructedAgent,Jr as resolveExtensionEntrypoint,Ys as resolveKodaXManual,Gt as resolveModelCapabilities,F as resolveProvider,Nt as resolveProviderModelDescriptors,ft as resolveReasoningEffort,gt as resolveReasoningEffortForModelSwitch,ki as resolveReasoningMode,xo as resolveRepoIntelligenceMode,Eo as resolveRepoIntelligenceRuntimeConfig,gi as resolveResilienceConfig,As as resolveSessionLineageTarget,qd as resolveToolCapability,Jt as resolveWireEffort,$i as resolveWorkflowGenerationTimeoutMs,Ql as resolveWorkflowIdentity,Aa as revoke,bs as rewindSessionLineage,qa as rollbackSelfModify,ot as runAcpServer,ia as runAstRules,Ce as runInkInteractiveMode,Me as runInteractiveMode,Za as runKodaX,la as runLlmReview,Jd as runManagedTask,Zd as runOrchestration,Mr as runWorkflowFromOptions,br as runWorkflowModule,Ar as safeWorkflowArtifactName,Se as saveConfig,hr as saveGeneratedWorkflow,_r as saveGeneratedWorkflowFromRun,dr as scopedReview,Yn as searchMcpCatalog,pd as searchToolIndex,Da as setActiveExtensionRuntime,Wn as setAgentConfigHome,Is as setSessionLineageActiveEntry,sd as shouldFlipBudgetLimited,Ga as shouldSkipLlmCompaction,D as shutdownDefaultLspService,Vl as speculativeRace,wa as stage,Td as startKodaX,Or as startManagedWorkflow,Il as stripAssistantText,Bo as stripHtmlToText,_a as testArtifact,dt as timeoutSecToMs,uo as toolAskUserQuestion,ro as toolBash,_o as toolChangedDiff,wo as toolChangedScope,ei as toolCodeSearch,no as toolEdit,ao as toolGlob,lo as toolGrep,jo as toolImpactEstimate,io as toolInsertAfterAnchor,Xo as toolModuleContext,Xd as toolPermission,Do as toolProcessContext,Gs as toolRead,Ro as toolRepoOverview,ti as toolSemanticLookup,Fo as toolSymbolContext,co as toolUndo,Zo as toolWebFetch,Yo as toolWebSearch,to as toolWrite,be as touchContext,zs as truncateHead,Bs as truncateLine,Vs as truncateTail,Sl as trustProjectRules,nd as turnWallTimeDelta,Bn as validateAndFixToolHistory,bt as validateCustomProviderConfig,zi as validateGeneratedWorkflowSource,_n as validateInputArtifactsForModel,sl as validateSubtaskIndependence,ra as validateToolSchemaForProvider,Gd as verifyGoalCompletion,Nr as webhook,Bd as withGoalBeforeNextTurn,Nd as withGoalStopHook,eo as withManualToolBranding,li as workerAgent,sc as workflowStartOutcomeConsumesTurn,ac as writeReviewPackets};
|