@kodax-ai/kodax 0.7.39 → 0.7.41

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 (61) hide show
  1. package/CHANGELOG.md +100 -0
  2. package/README.md +58 -0
  3. package/README_CN.md +31 -0
  4. package/dist/chunks/{chunk-SF7WD7E5.js → chunk-5TFLMGER.js} +1 -1
  5. package/dist/chunks/{chunk-HUAU4KB3.js → chunk-6OB4AJOM.js} +1 -1
  6. package/dist/chunks/chunk-6QO6HWGU.js +30 -0
  7. package/dist/chunks/{chunk-SONW6AC7.js → chunk-EQ5DGS2W.js} +1 -1
  8. package/dist/chunks/chunk-EVIDQWMF.js +5 -0
  9. package/dist/chunks/chunk-HYWVRTFA.js +1233 -0
  10. package/dist/chunks/chunk-SX2IS5JP.js +16 -0
  11. package/dist/chunks/chunk-V4WSBIXB.js +2 -0
  12. package/dist/chunks/chunk-ZPJPNLBK.js +462 -0
  13. package/dist/chunks/compaction-config-LT5PEXPT.js +2 -0
  14. package/dist/chunks/{construction-bootstrap-XSE7ZABG.js → construction-bootstrap-HBCWJFHC.js} +1 -1
  15. package/dist/chunks/{devtools-MOFU7YQF.js → devtools-EYGFOXEU.js} +1 -1
  16. package/dist/chunks/{dist-WKW4CBG6.js → dist-M57GIWR4.js} +1 -1
  17. package/dist/chunks/dist-V3BS2NKB.js +2 -0
  18. package/dist/chunks/paste-5DSTHQGK.js +2 -0
  19. package/dist/chunks/{utils-3HW4KOGE.js → utils-FAFUQJ2A.js} +1 -1
  20. package/dist/index.d.ts +232 -7
  21. package/dist/index.js +2 -2
  22. package/dist/kodax_cli.js +945 -923
  23. package/dist/sdk-agent.d.ts +1459 -10
  24. package/dist/sdk-agent.js +1 -1
  25. package/dist/sdk-coding.d.ts +4543 -14
  26. package/dist/sdk-coding.js +1 -1
  27. package/dist/sdk-llm.d.ts +209 -10
  28. package/dist/sdk-llm.js +1 -1
  29. package/dist/sdk-repl.d.ts +2694 -13
  30. package/dist/sdk-repl.js +1 -1
  31. package/dist/sdk-skills.d.ts +487 -11
  32. package/dist/sdk-skills.js +1 -1
  33. package/dist/types-chunks/bash-prefix-extractor.d-B2iliwdi.d.ts +2432 -0
  34. package/dist/types-chunks/capability.d-BxNgd1-c.d.ts +368 -0
  35. package/dist/types-chunks/cost-tracker.d-C4dMlQuV.d.ts +342 -0
  36. package/dist/types-chunks/history-cleanup.d-q1vAvCss.d.ts +1266 -0
  37. package/dist/types-chunks/instance-discovery.d-DZhp77vb.d.ts +1217 -0
  38. package/dist/types-chunks/resolver.d-BwD6TKz7.d.ts +262 -0
  39. package/dist/types-chunks/storage.d-Bv9T99Qu.d.ts +584 -0
  40. package/dist/types-chunks/types.d-C5mHR87z.d.ts +119 -0
  41. package/package.json +8 -2
  42. package/dist/acp_events.d.ts +0 -109
  43. package/dist/acp_logger.d.ts +0 -20
  44. package/dist/acp_server.d.ts +0 -92
  45. package/dist/chunks/chunk-4E76FLZ3.js +0 -2
  46. package/dist/chunks/chunk-7LQ2NCHF.js +0 -1221
  47. package/dist/chunks/chunk-N2VZ2MJF.js +0 -11
  48. package/dist/chunks/chunk-WEEQZYZS.js +0 -460
  49. package/dist/chunks/chunk-XI75LZIO.js +0 -30
  50. package/dist/chunks/compaction-config-YL4SWWII.js +0 -2
  51. package/dist/chunks/dist-AMUYI7R5.js +0 -2
  52. package/dist/cli_commands.d.ts +0 -17
  53. package/dist/cli_option_helpers.d.ts +0 -49
  54. package/dist/cli_option_helpers.test.d.ts +0 -1
  55. package/dist/constructed_cli.d.ts +0 -82
  56. package/dist/constructed_cli.test.d.ts +0 -1
  57. package/dist/kodax_cli.d.ts +0 -7
  58. package/dist/self_modify_cli.d.ts +0 -81
  59. package/dist/self_modify_cli.test.d.ts +0 -9
  60. package/dist/skill_cli.d.ts +0 -15
  61. package/dist/skill_cli.test.d.ts +0 -1
@@ -0,0 +1,2 @@
1
+ // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
+ import{a}from"./chunk-6OB4AJOM.js";import"./chunk-SX2IS5JP.js";import"./chunk-V4WSBIXB.js";export{a as loadCompactionConfig};
@@ -1,5 +1,5 @@
1
1
  // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
- import{Xa as i,ab as a}from"./chunk-7LQ2NCHF.js";import"./chunk-N2VZ2MJF.js";import"./chunk-SONW6AC7.js";import"./chunk-XI75LZIO.js";import{a as t}from"./chunk-4E76FLZ3.js";var n=null;function f(e){n=e}t(f,"bindAskUserForConstruction");function d(e){return e.content?.capabilities?.tools??[]}t(d,"readDeclaredTools");var u=t(async e=>{if(!n)return"reject";let o=d(e),r=o.length>0?o.join(", "):"<none>";return await n({question:`Activate constructed tool ${e.name}@${e.version}?
2
+ import{Cb as a,xb as i}from"./chunk-HYWVRTFA.js";import"./chunk-SX2IS5JP.js";import"./chunk-EQ5DGS2W.js";import"./chunk-6QO6HWGU.js";import{a as t}from"./chunk-V4WSBIXB.js";var n=null;function f(e){n=e}t(f,"bindAskUserForConstruction");function d(e){return e.content?.capabilities?.tools??[]}t(d,"readDeclaredTools");var u=t(async e=>{if(!n)return"reject";let o=d(e),r=o.length>0?o.join(", "):"<none>";return await n({question:`Activate constructed tool ${e.name}@${e.version}?
3
3
  It declares capabilities.tools = [${r}].`,options:[{label:"Approve \u2014 register and make callable",description:"The tool will be added to the active tool registry and the LLM can invoke it on the next turn.",value:"approve"},{label:"Reject \u2014 do not register",description:"The artifact stays staged on disk; rerun activate_tool to retry.",value:"reject"}]})==="approve"?"approve":"reject"},"replConstructionPolicy"),p=t(async e=>{if(!n)return"reject";let o=e.llmSummary.flaggedConcerns.length>0?e.llmSummary.flaggedConcerns.map(l=>` \u2022 ${l}`).join(`
4
4
  `):" \u2022 <none>",r=e.prevContent.instructions??"<no instructions>",s=e.nextContent.instructions??"<no instructions>",c=[`Self-modify activation: ${e.agentName}@${e.fromVersion} \u2192 ${e.toVersion}`,"",`LLM diff summary (severity=${e.llmSummary.severity}):`,` ${e.llmSummary.summary}`,"","Flagged concerns:",o,"",`Budget remaining (after approve): ${e.budgetRemaining-1}/${e.budgetLimit}`,"","\u2500\u2500 Previous instructions \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",r,"\u2500\u2500 Proposed instructions \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",s,"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500","","The LLM summary is advisory \u2014 read the proposed instructions above before approving."].join(`
5
5
  `);return await n({question:c,options:[{label:"Approve \u2014 activate the new version on the next run",description:"Resolver swap is deferred to the next Runner.run boundary so the in-flight conversation keeps the prior reference.",value:"approve"},{label:"Reject \u2014 stay on the previous version",description:"Budget is not consumed on rejection; the staged version is left on disk for diff inspection.",value:"reject"}]})==="approve"?"approve":"reject"},"replSelfModifyAskUser");async function g(e){return i({cwd:e,policy:u,selfModifyAskUser:p}),a()}t(g,"bootstrapConstructionRuntime");export{f as bindAskUserForConstruction,g as bootstrapConstructionRuntime};
@@ -1,2 +1,2 @@
1
1
  // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
- import{a as e}from"./chunk-4E76FLZ3.js";var l=class{static{e(this,"WebSocketStub")}},n=l;var t=global;t.WebSocket||=n;t.window||=global;t.self||=global;t.window.__REACT_DEVTOOLS_COMPONENT_FILTERS__=[{type:1,value:7,isEnabled:!0},{type:2,value:"InternalApp",isEnabled:!0,isValid:!0},{type:2,value:"InternalAppContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdoutContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStderrContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdinContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalFocusContext",isEnabled:!0,isValid:!0}];var a=e(()=>{},"noop"),o={initialize:a,connectToDevTools:a};o.initialize();o.connectToDevTools();
2
+ import{a as e}from"./chunk-V4WSBIXB.js";var l=class{static{e(this,"WebSocketStub")}},n=l;var t=global;t.WebSocket||=n;t.window||=global;t.self||=global;t.window.__REACT_DEVTOOLS_COMPONENT_FILTERS__=[{type:1,value:7,isEnabled:!0},{type:2,value:"InternalApp",isEnabled:!0,isValid:!0},{type:2,value:"InternalAppContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdoutContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStderrContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdinContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalFocusContext",isEnabled:!0,isValid:!0}];var a=e(()=>{},"noop"),o={initialize:a,connectToDevTools:a};o.initialize();o.connectToDevTools();
@@ -1,2 +1,2 @@
1
1
  // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
- import{$,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,_,a,aa,b,ba,c,ca,d,da,e,ea,f,fa,g,ga,h,ha,i,ia,j,ja,k,ka,l,la,m,ma,n,na,o,oa,p,pa,q,qa,r,ra,s,sa,t,ta,u,ua,v,va,w,x,y,z}from"./chunk-XI75LZIO.js";import"./chunk-4E76FLZ3.js";export{ma as DEFAULT_COST_RATES,i as KODAX_API_MIN_INTERVAL,g as KODAX_CAPPED_MAX_OUTPUT_TOKENS,Q as KODAX_DEFAULT_PROVIDER,k as KODAX_DEFAULT_THINKING_BUDGETS,h as KODAX_ESCALATED_MAX_OUTPUT_TOKENS,f as KODAX_MAX_TOKENS,P as KODAX_PROVIDERS,O as KODAX_PROVIDER_SNAPSHOTS,j as KODAX_REASONING_MODE_SEQUENCE,l as KODAX_REASONING_SAFETY_RESERVE,I as KodaXAnthropicCompatProvider,C as KodaXBaseProvider,a as KodaXError,d as KodaXNetworkError,J as KodaXOpenAICompatProvider,b as KodaXProviderError,c as KodaXRateLimitError,e as KodaXToolCallIdError,v as buildReasoningOverrideKey,oa as calculateCost,r as clampThinkingBudget,y as clearReasoningOverride,ia as clearRuntimeModelProviders,pa as createCostTracker,Z as createCustomProvider,A as extractHeadersFromError,ta as formatCost,ua as formatCostReport,la as getAvailableProviderNames,K as getCodexCliDefaultModel,M as getCodexCliKnownModels,na as getCostRate,$ as getCustomProvider,ca as getCustomProviderList,da as getCustomProviderModels,ba as getCustomProviderNames,p as getDefaultThinkingDepthForMode,L as getGeminiCliDefaultModel,N as getGeminiCliKnownModels,R as getProvider,V as getProviderConfiguredCapabilityProfile,U as getProviderConfiguredReasoningCapability,W as getProviderList,T as getProviderModel,X as getProviderModels,m as getReasoningCapability,fa as getRuntimeModelProvider,ha as getRuntimeModelProviderNames,sa as getSummary,E as insertCacheBoundary,F as isCacheBoundary,aa as isCustomProviderName,ka as isKnownProvider,S as isProviderConfigured,Y as isProviderName,n as isReasoningEnabled,ga as isRuntimeModelProviderName,w as loadReasoningOverride,G as lowerCacheBoundaries,s as mapDepthToOpenAIReasoningEffort,B as normalizeCapabilityProfile,o as normalizeReasoningRequest,z as parseRetryAfter,D as parseToolInputWithSalvage,t as reasoningCapabilityToOverride,u as reasoningOverrideToCapability,qa as recordRetry,ra as recordUsage,_ as registerCustomProviders,ea as registerModelProvider,ja as resolveProvider,q as resolveThinkingBudget,x as saveReasoningOverride,va as sideQuery,H as stripCacheBoundaries};
2
+ import{$,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,_,a,aa,b,ba,c,ca,d,da,e,ea,f,fa,g,ga,h,ha,i,ia,j,ja,k,ka,l,la,m,ma,n,na,o,oa,p,pa,q,qa,r,ra,s,sa,t,ta,u,ua,v,va,w,x,y,z}from"./chunk-6QO6HWGU.js";import"./chunk-V4WSBIXB.js";export{ma as DEFAULT_COST_RATES,i as KODAX_API_MIN_INTERVAL,g as KODAX_CAPPED_MAX_OUTPUT_TOKENS,Q as KODAX_DEFAULT_PROVIDER,k as KODAX_DEFAULT_THINKING_BUDGETS,h as KODAX_ESCALATED_MAX_OUTPUT_TOKENS,f as KODAX_MAX_TOKENS,P as KODAX_PROVIDERS,O as KODAX_PROVIDER_SNAPSHOTS,j as KODAX_REASONING_MODE_SEQUENCE,l as KODAX_REASONING_SAFETY_RESERVE,I as KodaXAnthropicCompatProvider,C as KodaXBaseProvider,a as KodaXError,d as KodaXNetworkError,J as KodaXOpenAICompatProvider,b as KodaXProviderError,c as KodaXRateLimitError,e as KodaXToolCallIdError,v as buildReasoningOverrideKey,oa as calculateCost,r as clampThinkingBudget,y as clearReasoningOverride,ia as clearRuntimeModelProviders,pa as createCostTracker,Z as createCustomProvider,A as extractHeadersFromError,ta as formatCost,ua as formatCostReport,la as getAvailableProviderNames,K as getCodexCliDefaultModel,M as getCodexCliKnownModels,na as getCostRate,$ as getCustomProvider,ca as getCustomProviderList,da as getCustomProviderModels,ba as getCustomProviderNames,p as getDefaultThinkingDepthForMode,L as getGeminiCliDefaultModel,N as getGeminiCliKnownModels,R as getProvider,V as getProviderConfiguredCapabilityProfile,U as getProviderConfiguredReasoningCapability,W as getProviderList,T as getProviderModel,X as getProviderModels,m as getReasoningCapability,fa as getRuntimeModelProvider,ha as getRuntimeModelProviderNames,sa as getSummary,E as insertCacheBoundary,F as isCacheBoundary,aa as isCustomProviderName,ka as isKnownProvider,S as isProviderConfigured,Y as isProviderName,n as isReasoningEnabled,ga as isRuntimeModelProviderName,w as loadReasoningOverride,G as lowerCacheBoundaries,s as mapDepthToOpenAIReasoningEffort,B as normalizeCapabilityProfile,o as normalizeReasoningRequest,z as parseRetryAfter,D as parseToolInputWithSalvage,t as reasoningCapabilityToOverride,u as reasoningOverrideToCapability,qa as recordRetry,ra as recordUsage,_ as registerCustomProviders,ea as registerModelProvider,ja as resolveProvider,q as resolveThinkingBudget,x as saveReasoningOverride,va as sideQuery,H as stripCacheBoundaries};
@@ -0,0 +1,2 @@
1
+ // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
+ import{$ as db,$a as cc,$b as cd,$c as ce,$d as cf,A as Ea,Aa as Eb,Ab as Dc,Ac as Dd,Ad as De,B as Fa,Ba as Fb,Bb as Ec,Bc as Ed,Bd as Ee,C as Ga,Ca as Gb,Cb as Fc,Cc as Fd,Cd as Fe,D as Ha,Da as Hb,Db as Gc,Dc as Gd,Dd as Ge,E as Ia,Ea as Ib,Eb as Hc,Ec as Hd,Ed as He,F as Ja,Fa as Jb,Fb as Ic,Fc as Id,Fd as Ie,G as Ka,Ga as Kb,Gb as Jc,Gc as Jd,Gd as Je,H as La,Ha as Lb,Hb as Kc,Hc as Kd,Hd as Ke,I as Ma,Ia as Mb,Ib as Lc,Ic as Ld,Id as Le,J as Na,Ja as Nb,Jb as Mc,Jc as Md,Jd as Me,K as Oa,Ka as Ob,Kb as Nc,Kc as Nd,Kd as Ne,L as Pa,La as Pb,Lb as Oc,Lc as Od,Ld as Oe,M as Qa,Ma as Qb,Mb as Pc,Mc as Pd,Md as Pe,N as Ra,Na as Rb,Nb as Qc,Nc as Qd,Nd as Qe,O as Sa,Oa as Sb,Ob as Rc,Oc as Rd,Od as Re,P as Ta,Pb as Sc,Pc as Sd,Pd as Se,Q as Ua,Qa as Tb,Qb as Tc,Qc as Td,Qd as Te,R as Va,Ra as Ub,Rb as Uc,Rc as Ud,Rd as Ue,S as Wa,Sa as Vb,Sb as Vc,Sc as Vd,Sd as Ve,T as Xa,Ta as Wb,Tb as Wc,Tc as Wd,Td as We,U as Ya,Ua as Xb,Ub as Xc,Uc as Xd,Ud as Xe,V as Za,Va as Yb,Vb as Yc,Vc as Yd,Vd as Ye,W as _a,Wa as Zb,Wb as Zc,Wc as Zd,Wd as Ze,X as $a,Xa as _b,Xb as _c,Xc as _d,Xd as _e,Y as ab,Ya as $b,Yb as $c,Yc as $d,Yd as $e,Z as bb,Za as ac,Zb as ad,Zc as ae,Zd as af,_ as cb,_a as bc,_b as bd,_c as be,_d as bf,a as N,aa as eb,ab as dc,ac as dd,ad as de,ae as df,b as O,ba as fb,bb as ec,bc as ed,bd as ee,be as ef,c as P,ca as gb,cb as fc,cc as fd,cd as fe,ce as ff,d as Q,da as hb,db as gc,dc as gd,dd as ge,de as gf,e as R,ea as ib,eb as hc,ec as hd,ed as he,ee as hf,f as ja,fa as jb,fb as ic,fc as id,fd as ie,fe as jf,g as ka,ga as kb,gb as jc,gc as jd,gd as je,ge as kf,h as la,ha as lb,hb as kc,hc as kd,hd as ke,he as lf,i as ma,ia as mb,ib as lc,ic as ld,id as le,ie as mf,j as na,ja as nb,jb as mc,jc as md,jd as me,je as nf,k as oa,ka as ob,kb as nc,kc as nd,kd as ne,ke as of,l as pa,la as pb,lb as oc,lc as od,ld as oe,le as pf,m as qa,ma as qb,mb as pc,mc as pd,md as pe,me as qf,n as ra,na as rb,nb as qc,nc as qd,nd as qe,ne as rf,o as sa,oa as sb,ob as rc,oc as rd,od as re,oe as sf,p as ta,pa as tb,pb as sc,pc as sd,pd as se,q as ua,qa as ub,qb as tc,qc as td,qd as te,r as va,ra as vb,rb as uc,rc as ud,rd as ue,s as wa,sa as wb,sb as vc,sc as vd,sd as ve,t as xa,ta as xb,tb as wc,tc as wd,td as we,u as ya,ua as yb,ub as xc,uc as xd,ud as xe,v as za,va as zb,vb as yc,vc as yd,vd as ye,w as Aa,wa as Ab,wb as zc,wc as zd,wd as ze,x as Ba,xa as Bb,xb as Ac,xc as Ad,xd as Ae,y as Ca,ya as Cb,yb as Bc,yc as Bd,yd as Be,z as Da,za as Db,zb as Cc,zc as Cd,zd as Ce}from"./chunk-HYWVRTFA.js";import{Ka as ha,La as ia,Z as fa,a as S,aa as ga,b as T,c as U,d as V,e as W,f as X,h as Y,i as Z,j as _,k as $,l as aa,m as ba,n as ca,o as da,p as ea}from"./chunk-SX2IS5JP.js";import"./chunk-EQ5DGS2W.js";import{$ as A,C as k,I as l,J as m,O as n,P as o,Q as p,R as q,S as r,T as s,U as t,V as u,W as v,X as w,Y as x,Z as y,_ as z,a,aa as B,b,ba as C,c,ca as D,da as E,ea as F,fa as G,ga as H,ha as I,ia as J,j as d,ja as K,ka as L,la as M,t as e,u as f,v as g,w as h,x as i,y as j}from"./chunk-6QO6HWGU.js";import"./chunk-V4WSBIXB.js";export{We as AUTO_MODE_DENIAL_CONSECUTIVE_THRESHOLD,Xe as AUTO_MODE_DENIAL_CUMULATIVE_THRESHOLD,qf as BASH_POLICY_SPEC,af as BREAKER_ERROR_THRESHOLD,bf as BREAKER_WINDOW_MS,ka as CANCELLED_TOOL_RESULT_MESSAGE,ja as CANCELLED_TOOL_RESULT_PREFIX,Me as CODING_AGENTS,He as CODING_AGENT_MARKER,Od as CODING_INVARIANTS,Ed as CODING_SUMMARY_PROMPT,Fd as CODING_UPDATE_SUMMARY_PROMPT,Zb as CapabilityDeniedError,Qd as Client,_b as ConstructionManifestError,Gd as DEFAULT_CODING_AGENT_NAME,ze as DEFAULT_DANGEROUS_PATTERNS,Xb as DEFAULT_HANDLER_TIMEOUT_MS,md as DEFAULT_RESILIENCE_CONFIG,ye as DEFAULT_SAFE_PATTERNS,uc as DEFAULT_SELF_MODIFY_BUDGET,mf as DEFAULT_SPECULATIVE_WINDOW_MS,ma as DEFAULT_TOOL_OUTPUT_MAX_BYTES,la as DEFAULT_TOOL_OUTPUT_MAX_LINES,ea as DefaultSummaryCompaction,ae as EMIT_CONTRACT_TOOL_NAME,be as EMIT_HANDOFF_TOOL_NAME,$d as EMIT_SCOUT_VERDICT_TOOL_NAME,ce as EMIT_VERDICT_TOOL_NAME,cc as EVALUATOR_AGENT_NAME,Q as ErrorCategory,bc as GENERATOR_AGENT_NAME,Z as KODAX_API_MIN_INTERVAL,p as KODAX_DEFAULT_PROVIDER,T as KODAX_DEFAULT_TIMEOUT,U as KODAX_HARD_TIMEOUT,X as KODAX_MAX_INCOMPLETE_RETRIES,V as KODAX_MAX_RETRIES,S as KODAX_MAX_TOKENS,o as KODAX_PROVIDERS,n as KODAX_PROVIDER_SNAPSHOTS,d as KODAX_REASONING_MODE_SEQUENCE,W as KODAX_RETRY_BASE_DELAY,Y as KODAX_STAGGER_DELAY,Nc as KODAX_TOOLS,l as KodaXAnthropicCompatProvider,k as KodaXBaseProvider,Qd as KodaXClient,a as KodaXError,Tb as KodaXExtensionRuntime,m as KodaXOpenAICompatProvider,b as KodaXProviderError,c as KodaXRateLimitError,O as KodaXSessionError,P as KodaXTerminalError,N as KodaXToolError,zb as LINEAGE_ENTRY_TYPES,Bb as LineageCompaction,Ab as LineageExtension,qe as McpCapabilityProvider,pe as McpServerRuntime,ac as PLANNER_AGENT_NAME,_ as PROMISE_PATTERN,ad as PROMPT_SECTION_REGISTRY,he as PROTOCOL_EMITTER_TOOLS,rd as ProviderRecoveryCoordinator,na as READ_DEFAULT_LIMIT,pa as READ_MAX_LINE_CHARS,oa as READ_PREFLIGHT_SIZE_BYTES,Ta as REPOINTEL_DEFAULT_ENDPOINT,ga as Runner,$b as SCOUT_AGENT_NAME,$c as SYSTEM_PROMPT,pd as StableBoundaryTracker,hc as TASK_ENGINE_ROLE_AGENTS,Zd as TOOL_RESULT_TRUNCATION_GUARDRAIL_NAME,Bc as _resetRuntimeForTesting,Ec as activate,Ka as analyzeChangedScope,sc as appendAuditEntry,Jb as appendSessionLineageLabel,Vd as applyFanoutBranchTransition,Kb as applySessionCompaction,jb as applyToolResultGuardrail,Qb as archiveOldIslands,Wd as assignFanoutBranchWorker,$e as autoModeDenialShouldFallback,jf as bashSignalCollector,Jd as boundedRevise,ef as breakerShouldFallback,Kd as budgetCeiling,Ad as buildAmaControllerDecision,fd as buildCapabilityContextSections,Ne as buildClassifierPrompt,yd as buildFallbackRoutingDecision,Sd as buildFanoutSchedulerPlan,pc as buildLlmReviewPrompt,jd as buildPromptMessageContent,Bd as buildPromptOverlay,ed as buildPromptSnapshot,sd as buildProviderCapabilitySnapshot,zd as buildProviderPolicyHintsForDecision,td as buildProviderPolicyPromptNotes,g as buildReasoningOverrideKey,Ja as buildRepoIntelligenceContext,Ya as buildRepoIntelligenceIndex,Ga as buildRepoOverview,Ob as buildSessionTree,hd as buildSystemPrompt,gd as buildSystemPromptSnapshot,hf as checkAbsoluteDeny,id as checkIncompleteToolCalls,Dd as checkPromiseSignal,Pe as classify,Be as classifyBashCommand,R as classifyError,od as classifyResilienceError,ia as cleanupIncompleteToolCalls,j as clearReasoningOverride,J as clearRuntimeModelProviders,lf as collectAllSignals,De as computeInputSignature,Qe as computeRulesFingerprint,Ac as configureRuntime,nb as convertCapabilityReadResult,mb as convertProviderSearchResults,Ud as countActiveFanoutBranches,Pb as countActiveLineageMessages,aa as countTokens,ba as createAgent,Ye as createAutoModeDenialTracker,pf as createAutoModeToolGuardrail,Ae as createBashClassifierConfig,sf as createBashPrefixExtractor,Vc as createBuiltinToolDefinition,cf as createCircuitBreaker,lc as createCtxProxy,y as createCustomProvider,Hd as createDefaultCodingAgent,Ce as createDenialTracker,Ub as createExtensionRuntime,Rd as createFanoutSchedulerInput,ca as createHandoff,da as createInMemorySession,ue as createKodaXTaskRunner,ke as createMcpCapabilityId,oe as createMcpTransport,bd as createPromptSection,Cd as createReasoningPlan,Eb as createSessionLineage,_d as createToolResultTruncationGuardrail,je as defaultMcpCacheDir,Yb as defaultPolicy,zc as disableSelfModify,kc as drainPendingSwaps,ee as emitContract,fe as emitHandoff,de as emitScoutVerdict,ge as emitVerdict,$ as estimateTokens,ud as evaluateProviderPolicy,gc as evaluatorAgent,Le as evaluatorCodingAgent,xb as exec,_c as executeTool,Rb as extractArtifactLedger,rf as extractCommandPrefix,ld as extractComparableUserMessageText,lb as extractHtmlTitle,kd as extractPromptComparableText,Db as extractTitleFromMessages,kf as fileSignalCollector,pb as finalizeRetrievalResult,Kc as findByVersion,Lb as findPreviousUserEntryId,Nb as forkSessionLineage,wb as formatAgentsForPrompt,we as formatParallelDispatchResult,qa as formatSize,Cb as generateSessionId,fc as generatorAgent,Ke as generatorCodingAgent,Wb as getActiveExtensionRuntime,M as getAvailableProviderNames,Uc as getBuiltinRegisteredToolDefinition,Tc as getBuiltinToolDefinition,A as getCustomProvider,D as getCustomProviderList,E as getCustomProviderModels,C as getCustomProviderNames,Ge as getDenialContext,Td as getFanoutBranch,bb as getImpactEstimate,ub as getKodaxGlobalDir,ne as getMcpCachePaths,_a as getModuleContext,ab as getProcessContext,q as getProvider,u as getProviderConfiguredCapabilityProfile,t as getProviderConfiguredReasoningCapability,v as getProviderList,s as getProviderModel,w as getProviderModels,Rc as getRegisteredToolDefinition,Za as getRepoIntelligenceIndex,Ha as getRepoOverview,cb as getRepoRoutingSignals,Xc as getRequiredToolParams,G as getRuntimeModelProvider,I as getRuntimeModelProviderNames,Fb as getSessionLineagePath,Gb as getSessionMessagesFromLineage,$a as getSymbolContext,Pc as getTool,Qc as getToolDefinition,Sc as getToolRegistrations,ib as getToolResultPolicy,jc as hasPendingSwap,Ld as independentReview,xd as inferTaskType,za as inspectEditFailure,Wa as inspectRepoIntelligenceRuntime,B as isCustomProviderName,Fe as isDeniedRecently,L as isKnownProvider,ve as isParallelDispatchDirective,r as isProviderConfigured,x as isProviderName,H as isRuntimeModelProviderName,Lc as listAll,Hc as listArtifacts,Wc as listBuiltinToolDefinitions,Jc as listConstructed,Zc as listToolDefinitions,Yc as listTools,vb as loadAgentsFiles,Ue as loadAutoRules,mc as loadHandler,h as loadReasoningOverride,Yd as markFanoutBranchCancelled,Xd as markFanoutBranchCompleted,Sb as mergeArtifactLedger,cd as orderPromptSections,Te as parseAutoRules,Oe as parseClassifierOutput,ya as parseEditToolError,qc as parseLlmReviewVerdict,le as parseMcpCapabilityId,ff as parseModelSpec,ua as persistToolOutput,ec as plannerAgent,Je as plannerCodingAgent,db as prewarmRepoIntelligenceCaches,Ic as readArtifact,tc as readAuditEntries,vc as readBudget,yc as readDisableState,nf as readSpeculativeWindowFromEnv,Re as readTrustState,e as reasoningCapabilityToOverride,wd as reasoningModeToDepth,f as reasoningOverrideToCapability,qd as reconstructMessagesWithToolGuard,_e as recordAutoModeAllow,Ze as recordAutoModeBlock,df as recordBreakerError,Ee as recordDenial,Pd as registerCodingInvariants,re as registerConfiguredMcpCapabilityProvider,z as registerCustomProviders,F as registerModelProvider,se as registerOfficialSandboxExtension,fa as registerPresetDispatcher,Oc as registerTool,Fc as rehydrateActiveArtifacts,wc as remainingSelfModifyBudget,La as renderChangedScope,Sa as renderImpactEstimate,Pa as renderModuleContext,Ra as renderProcessContext,dd as renderPromptSections,Ia as renderRepoOverview,ob as renderRetrievalResult,Qa as renderSymbolContext,xc as resetBudget,gf as resolveClassifierModel,ic as resolveConstructedAgent,K as resolveProvider,vd as resolveReasoningMode,Va as resolveRepoIntelligenceMode,Ua as resolveRepoIntelligenceRuntimeConfig,nd as resolveResilienceConfig,Hb as resolveSessionLineageTarget,Md as resolveToolCapability,Gc as revoke,Mb as rewindSessionLineage,Mc as rollbackSelfModify,nc as runAstRules,Id as runKodaX,rc as runLlmReview,ie as runManagedTask,te as runOrchestration,i as saveReasoningOverride,dc as scoutAgent,Ie as scoutCodingAgent,me as searchMcpCatalog,Vb as setActiveExtensionRuntime,Ib as setSessionLineageActiveEntry,of as speculativeRace,Cc as stage,Ve as stripAssistantText,kb as stripHtmlToText,Dc as testArtifact,Fa as toolAskUserQuestion,Ba as toolBash,Oa as toolChangedDiff,Na as toolChangedScope,sb as toolCodeSearch,xa as toolEdit,Ca as toolGlob,Da as toolGrep,hb as toolImpactEstimate,Aa as toolInsertAfterAnchor,eb as toolModuleContext,Nd as toolPermission,gb as toolProcessContext,va as toolRead,Ma as toolRepoOverview,tb as toolSemanticLookup,fb as toolSymbolContext,Ea as toolUndo,rb as toolWebFetch,qb as toolWebSearch,wa as toolWrite,ra as truncateHead,ta as truncateLine,sa as truncateTail,Se as trustProjectRules,ha as validateAndFixToolHistory,xe as validateSubtaskIndependence,oc as validateToolSchemaForProvider,Xa as warmRepoIntelligenceRuntime,yb as webhook};
@@ -0,0 +1,2 @@
1
+ // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
+ import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p}from"./chunk-EVIDQWMF.js";import"./chunk-V4WSBIXB.js";export{h as ImageResizeError,f as MAX_DIMENSION,j as PASTE_TMP_DIR_ENV,k as PASTE_TMP_TTL_MS,g as TARGET_RAW_SIZE_BYTES,b as disableBracketedPasteMode,a as enableBracketedPasteMode,p as extractImagePaths,n as handleBracketedPaste,d as installBracketedPasteShutdownGuard,c as isBracketedPasteModeEnabled,i as normalizePastedImage,l as persistImageAsBlock,m as prunePasteTmpDir,e as readClipboardImage,o as triggerExplicitClipboardImage};
@@ -1,2 +1,2 @@
1
1
  // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
- import{A as z,B as A,C as B,D as C,b as a,c as b,d as c,e as d,f as e,g as f,h as g,i as h,j as i,k as j,l as k,m as l,n as m,o as n,p as o,q as p,r as q,s as r,t as s,u as t,v as u,w as v,x as w,y as x,z as y}from"./chunk-SF7WD7E5.js";import"./chunk-7LQ2NCHF.js";import"./chunk-N2VZ2MJF.js";import"./chunk-SONW6AC7.js";import"./chunk-XI75LZIO.js";import"./chunk-4E76FLZ3.js";export{c as KODAX_CONFIG_FILE,a as KODAX_DIR,b as KODAX_SESSIONS_DIR,i as KODAX_VERSION,d as PREVIEW_MAX_LENGTH,p as describeProviderCapabilitySummary,r as describeReasoningCapabilityControl,s as describeReasoningExecution,A as formatProviderCapabilityDetailLines,z as formatProviderSourceKind,q as formatReasoningCapabilityShort,y as getGitRoot,k as getProviderAvailableModels,m as getProviderCapabilityProfile,n as getProviderCapabilitySnapshot,B as getProviderCommonPolicyScenarios,t as getProviderList,j as getProviderModel,o as getProviderPolicyDecision,l as getProviderReasoningCapability,h as getVersion,e as hydrateProcessEnvFromShell,u as isProviderConfigured,v as loadConfig,w as prepareRuntimeConfig,C as rateLimitedCall,g as registerConfiguredCustomProviders,f as resetShellEnvironmentHydrationForTesting,x as saveConfig};
2
+ import{A as z,B as A,C as B,D as C,b as a,c as b,d as c,e as d,f as e,g as f,h as g,i as h,j as i,k as j,l as k,m as l,n as m,o as n,p as o,q as p,r as q,s as r,t as s,u as t,v as u,w as v,x as w,y as x,z as y}from"./chunk-5TFLMGER.js";import"./chunk-HYWVRTFA.js";import"./chunk-SX2IS5JP.js";import"./chunk-EQ5DGS2W.js";import"./chunk-6QO6HWGU.js";import"./chunk-V4WSBIXB.js";export{c as KODAX_CONFIG_FILE,a as KODAX_DIR,b as KODAX_SESSIONS_DIR,i as KODAX_VERSION,d as PREVIEW_MAX_LENGTH,p as describeProviderCapabilitySummary,r as describeReasoningCapabilityControl,s as describeReasoningExecution,A as formatProviderCapabilityDetailLines,z as formatProviderSourceKind,q as formatReasoningCapabilityShort,y as getGitRoot,k as getProviderAvailableModels,m as getProviderCapabilityProfile,n as getProviderCapabilitySnapshot,B as getProviderCommonPolicyScenarios,t as getProviderList,j as getProviderModel,o as getProviderPolicyDecision,l as getProviderReasoningCapability,h as getVersion,e as hydrateProcessEnvFromShell,u as isProviderConfigured,v as loadConfig,w as prepareRuntimeConfig,C as rateLimitedCall,g as registerConfiguredCustomProviders,f as resetShellEnvironmentHydrationForTesting,x as saveConfig};
package/dist/index.d.ts CHANGED
@@ -1,10 +1,235 @@
1
+ import { G as KodaXReasoningMode } from './types-chunks/capability.d-BxNgd1-c.js';
2
+ export { C as CapabilityKind, a as CapabilityProvider, b as CapabilityResult, K as KodaXAmaControllerDecision, c as KodaXAmaFanoutClass, d as KodaXAmaFanoutPolicy, e as KodaXAmaProfile, f as KodaXAmaTactic, i as KodaXContentBlock, j as KodaXCustomProviderConfig, k as KodaXExecutionMode, n as KodaXImageBlock, o as KodaXMessage, p as KodaXModelDescriptor, r as KodaXProtocolFamily, s as KodaXProviderCapabilityProfile, t as KodaXProviderConfig, v as KodaXProviderConversationSemantics, y as KodaXProviderMcpSupport, B as KodaXProviderStreamOptions, E as KodaXProviderTransport, F as KodaXReasoningCapability, H as KodaXReasoningOverride, I as KodaXReasoningRequest, J as KodaXRedactedThinkingBlock, L as KodaXReviewScale, M as KodaXRiskLevel, N as KodaXStreamResult, P as KodaXTaskBudgetOverrides, S as KodaXTaskRoutingDecision, T as KodaXTaskType, V as KodaXTextBlock, W as KodaXThinkingBlock, X as KodaXThinkingBudgetMap, Y as KodaXThinkingDepth, Z as KodaXTokenUsage, _ as KodaXToolDefinition, $ as KodaXToolResultBlock, a0 as KodaXToolUseBlock } from './types-chunks/capability.d-BxNgd1-c.js';
3
+ export { K as KODAX_DEFAULT_PROVIDER, b as KODAX_PROVIDERS, c as KODAX_PROVIDER_SNAPSHOTS, d as KODAX_REASONING_MODE_SEQUENCE, f as KodaXAnthropicCompatProvider, g as KodaXError, i as KodaXOpenAICompatProvider, j as KodaXProviderError, k as KodaXRateLimitError, P as ProviderName, m as buildReasoningOverrideKey, o as clearReasoningOverride, p as clearRuntimeModelProviders, q as createCustomProvider, r as getAvailableProviderNames, s as getCustomProvider, t as getCustomProviderList, u as getCustomProviderModels, v as getCustomProviderNames, x as getProvider, y as getProviderConfiguredCapabilityProfile, z as getProviderConfiguredReasoningCapability, C as getProviderModels, E as getRuntimeModelProvider, F as getRuntimeModelProviderNames, G as isCustomProviderName, H as isKnownProvider, J as isProviderName, M as isRuntimeModelProviderName, N as loadReasoningOverride, R as reasoningCapabilityToOverride, S as reasoningOverrideToCapability, T as registerCustomProviders, U as registerModelProvider, V as resolveProvider, X as saveReasoningOverride } from './types-chunks/resolver.d-BwD6TKz7.js';
4
+ export { K as KodaXBaseProvider } from './types-chunks/cost-tracker.d-C4dMlQuV.js';
5
+ export { C as AUTO_MODE_DENIAL_CONSECUTIVE_THRESHOLD, n as AUTO_MODE_DENIAL_CUMULATIVE_THRESHOLD, A as AgentsFile, a as AskUserMultiOptions, b as AskUserQuestionItem, c as AskUserQuestionOptions, d as AutoModeAskUser, e as AutoModeAskUserVerdict, D as AutoModeDenialTracker, f as AutoModeEngine, g as AutoModeGuardrailConfig, h as AutoModeSharedState, i as AutoModeStats, j as AutoModeToolGuardrail, k as AutoRules, B as BASH_POLICY_SPEC, E as BREAKER_ERROR_THRESHOLD, aU as BREAKER_WINDOW_MS, l as BashPrefixExtractor, m as BashPrefixResult, o as CircuitBreaker, p as CompactionAnchor, r as CompactionResult, s as CompactionUpdate, t as CreateBashPrefixExtractorOptions, v as ExtractCommandPrefixOptions, F as FailureStage, K as KodaXAgentMode, w as KodaXBudgetDisclosureZone, x as KodaXBudgetExtensionRequest, y as KodaXChildAgentResult, z as KodaXChildContextBundle, G as KodaXContextOptions, H as KodaXContextTokenSnapshot, I as KodaXEvents, J as KodaXFanoutBranchLifecycle, L as KodaXFanoutBranchRecord, M as KodaXFanoutBranchTransition, N as KodaXFanoutSchedulerInput, O as KodaXFanoutSchedulerPlan, P as KodaXInputArtifact, Q as KodaXManagedBudgetSnapshot, S as KodaXManagedTask, T as KodaXManagedTaskRuntimeState, U as KodaXManagedTaskStatusEvent, V as KodaXMcpConnectMode, W as KodaXMcpServerConfig, X as KodaXMcpServersConfig, Y as KodaXMcpTransport, Z as KodaXMemoryStrategy, _ as KodaXOptions, $ as KodaXOrchestrationVerdict, a0 as KodaXParentReductionContract, a1 as KodaXProviderPolicyHints, a2 as KodaXRepoIntelligenceCapability, a3 as KodaXRepoIntelligenceMode, a4 as KodaXRepoIntelligenceResolvedMode, a5 as KodaXRepoIntelligenceTrace, a6 as KodaXRepoIntelligenceTraceEvent, a7 as KodaXRepoRoutingSignals, a8 as KodaXResult, a9 as KodaXRoleRoundSummary, aa as KodaXRuntimeVerificationContract, ab as KodaXSessionOptions, ac as KodaXSkillInvocationContext, ad as KodaXSkillMap, ae as KodaXSkillProjectionConfidence, af as KodaXTaskCapabilityHint, ag as KodaXTaskContract, ah as KodaXTaskEvidenceArtifact, ai as KodaXTaskEvidenceBundle, aj as KodaXTaskEvidenceEntry, ak as KodaXTaskRole, al as KodaXTaskRoleAssignment, am as KodaXTaskStatus, an as KodaXTaskSurface, ao as KodaXTaskToolPolicy, ap as KodaXTaskVerificationContract, aq as KodaXTaskVerificationCriterion, ar as KodaXTaskWorkItem, as as KodaXToolExecutionContext, at as KodaXVerificationScorecard, au as KodaXVerificationScorecardCriterion, av as LoadAgentsOptions, aw as LoadedRulesSource, ax as McpConnectMode, ay as McpServerConfig, az as McpServersConfig, aA as McpTransportKind, aB as ProviderExecutionState, aC as ProviderRecoveryEvent, aD as ProviderResilienceConfig, aE as ProviderResiliencePolicy, aF as RecoveryAction, aG as RecoveryDecision, aH as RecoveryLadderStep, aI as RecoveryResult, aJ as ResilienceClassification, aK as ResilienceErrorClass, aL as RulesLoadError, aM as RulesLoadResult, aN as SignalCollector, aO as SkippedRulesSource, aP as TodoItem, aQ as TodoList, aR as TodoStatus, aS as ToolCallSignal, aT as TrustState, b9 as autoModeDenialShouldFallback, ba as breakerShouldFallback, aV as collectAllSignals, aW as computeRulesFingerprint, a_ as createAutoModeDenialTracker, aX as createAutoModeToolGuardrail, aY as createBashPrefixExtractor, aZ as createCircuitBreaker, a$ as extractCommandPrefix, b0 as formatAgentsForPrompt, b1 as getKodaxGlobalDir, b2 as loadAgentsFiles, b3 as loadAutoRules, b4 as parseAutoRules, b5 as readTrustState, b6 as recordAutoModeAllow, b7 as recordAutoModeBlock, b8 as recordBreakerError, bb as trustProjectRules } from './types-chunks/bash-prefix-extractor.d-B2iliwdi.js';
6
+ export { AbsoluteDenyMatch, AbsoluteDenyMiss, AbsoluteDenyResult, AgentArtifact, ArtifactStatus, AstCheckResult, AstRuleId, AstRuleViolation, AuditEntry, AuditEventKind, BashClassificationResult, BashClassifierConfig, BashRiskLevel, BudgetState, BuildClassifierPromptInput, BuildPromptInput, CANCELLED_TOOL_RESULT_MESSAGE, CANCELLED_TOOL_RESULT_PREFIX, CODING_AGENTS, CODING_AGENT_MARKER, CODING_INVARIANTS, CODING_SUMMARY_PROMPT, CODING_UPDATE_SUMMARY_PROMPT, Capabilities, CapabilityDeniedError, ChangedFileEntry, ChangedFileStatus, ChangedScopeAreaSummary, ChangedScopeReport, ClassifierDecision, ClassifierPrompt, ClassifyDecision, ClassifyOptions, Client, ConstructionArtifact, ConstructionManifestError, ConstructionPolicy, ConstructionPolicyVerdict, CreateCtxProxyOptions, CreateKodaXTaskRunnerOptions, DEFAULT_CODING_AGENT_NAME, DEFAULT_DANGEROUS_PATTERNS, DEFAULT_HANDLER_TIMEOUT_MS, DEFAULT_RESILIENCE_CONFIG, DEFAULT_SAFE_PATTERNS, DEFAULT_SELF_MODIFY_BUDGET, DEFAULT_SPECULATIVE_WINDOW_MS, DEFAULT_TOOL_OUTPUT_MAX_BYTES, DEFAULT_TOOL_OUTPUT_MAX_LINES, DenialRecord, DenialTracker, DisableState, EMIT_CONTRACT_TOOL_NAME, EMIT_HANDOFF_TOOL_NAME, EMIT_SCOUT_VERDICT_TOOL_NAME, EMIT_VERDICT_TOOL_NAME, EVALUATOR_AGENT_NAME, EditRecoveryDiagnostic, EditToolErrorCode, ErrorCategory, ErrorClassification, ExecOptions, ExecResult, ExtensionCommandContext, ExtensionCommandDefinition, ExtensionCommandInvocation, ExtensionCommandResult, ExtensionContributionSource, ExtensionEventMap, ExtensionFailureDiagnostic, ExtensionFailureStage, ExtensionHookMap, ExtensionLoadSource, ExtensionLogger, ExtensionRuntimeController, ExtensionRuntimeDiagnostics, ExtensionToolBeforeHookContext, GENERATOR_AGENT_NAME, ImpactEstimateResult, KODAX_TOOLS, KodaXAgentWorkerSpec, Client as KodaXClient, KodaXExtensionAPI, KodaXExtensionActivationResult, KodaXExtensionModule, KodaXExtensionRuntime, KodaXPromptSection, KodaXPromptSectionDefinition, KodaXPromptSectionSlot, KodaXPromptSectionStability, KodaXPromptSnapshot, KodaXPromptSnapshotMetadata, KodaXProviderCapabilitySnapshot, KodaXProviderPolicyDecision, KodaXProviderPolicyIssue, KodaXProviderPolicyIssueSeverity, KodaXProviderSourceKind, KodaXRetrievalArtifact, KodaXRetrievalFreshness, KodaXRetrievalItem, KodaXRetrievalResult, KodaXRetrievalScope, KodaXRetrievalToolName, KodaXRetrievalTrust, KodaXSessionError, KodaXTerminalError, KodaXToolError, LINEAGE_ENTRY_TYPES, LanguageCapabilityTier, LineageArtifactLedgerPayload, LineageCompaction, LineageCompactionDelegates, LineageEntryType, LineageExtension, LineageLabelPayload, LineageTreeNode, LlmReviewClient, LlmReviewResult, LlmReviewVerdict, LoadHandlerOptions, LoadHandlerScope, LoadedExtensionDiagnostic, LocalToolDefinition, McpCapabilityDescriptor, McpCapabilityKind, McpCapabilityProvider, McpCapabilityRisk, McpCatalogItem, McpProviderOptions, McpServerCatalogSnapshot, McpServerRuntime, McpServerRuntimeDiagnostics, McpTransport, McpTransportEvents, ModelProviderRegistration, ModuleCapsule, ModuleContextResult, OfficialSandboxMode, OfficialSandboxOptions, OrchestrationArtifact, OrchestrationCompletedTask, OrchestrationRunEvents, OrchestrationRunOptions, OrchestrationRunResult, OrchestrationTaskBudget, OrchestrationTaskContext, OrchestrationTaskExecution, OrchestrationTaskStatus, OrchestrationTraceEvent, OrchestrationWorkerResult, OrchestrationWorkerRunner, OrchestrationWorkerSpec, PLANNER_AGENT_NAME, PROMPT_SECTION_REGISTRY, PROTOCOL_EMITTER_TOOLS, ParallelDispatchDirective, ParallelDispatchResult, ParallelSubtask, ParsedModelSpec, ProcessCapsule, ProcessContextResult, ProcessStep, ProtocolEmitterMetadata, ProviderRecoveryCoordinator, READ_DEFAULT_LIMIT, READ_MAX_LINE_CHARS, READ_PREFLIGHT_SIZE_BYTES, REPOINTEL_DEFAULT_ENDPOINT, RegisteredCapabilityProviderDiagnostic, RegisteredCommandDiagnostic, RegisteredHookDiagnostic, RegisteredToolDefinition, RegisteredToolDiagnostic, RepoAreaKind, RepoAreaOverview, RepoIntelligenceIndex, RepoIntelligenceRuntimeInspection, RepoIntelligenceRuntimeWarmResult, RepoLanguageId, RepoLanguageSupport, RepoOverview, RepoSymbolKind, RepoSymbolRecord, RepoSymbolReference, ResolveClassifierModelOptions, ResolveSource, ResolvedClassifierModel, RollbackResult, SCOUT_AGENT_NAME, SYSTEM_PROMPT, SchemaProvider, SchemaValidationResult, ScriptSource, SelfModifyAskUser, SelfModifyAskUserInput, SelfModifyDiffSeverity, SelfModifyDiffSummary, SpeculativeResult, StableBoundaryTracker, StagedHandle, StripOptions, SymbolContextResult, TASK_ENGINE_ROLE_AGENTS, TOOL_RESULT_TRUNCATION_GUARDRAIL_NAME, TestArtifactOptions, TestResult, TierZeroPatternId, ToolContent, ToolDefinitionSource, ToolHandler, ToolRegistrationOptions, ToolRegistry, WebhookOptions, WebhookResult, _resetRuntimeForTesting, activate, analyzeChangedScope, appendAuditEntry, appendSessionLineageLabel, applyFanoutBranchTransition, applySessionCompaction, applyToolResultGuardrail, archiveOldIslands, assignFanoutBranchWorker, bashSignalCollector, boundedRevise, budgetCeiling, buildAmaControllerDecision, buildCapabilityContextSections, buildClassifierPrompt, buildFallbackRoutingDecision, buildFanoutSchedulerPlan, buildLlmReviewPrompt, buildPromptMessageContent, buildPromptOverlay, buildPromptSnapshot, buildProviderCapabilitySnapshot, buildProviderPolicyHintsForDecision, buildProviderPolicyPromptNotes, buildRepoIntelligenceContext, buildRepoIntelligenceIndex, buildRepoOverview, buildSessionTree, buildSystemPrompt, buildSystemPromptSnapshot, checkAbsoluteDeny, checkIncompleteToolCalls, checkPromiseSignal, classify, classifyBashCommand, classifyError, classifyResilienceError, computeInputSignature, configureRuntime, convertCapabilityReadResult, convertProviderSearchResults, countActiveFanoutBranches, countActiveLineageMessages, createBashClassifierConfig, createBuiltinToolDefinition, createCtxProxy, createDefaultCodingAgent, createDenialTracker, createExtensionRuntime, createFanoutSchedulerInput, createKodaXTaskRunner, createMcpCapabilityId, createMcpTransport, createPromptSection, createReasoningPlan, createSessionLineage, createToolResultTruncationGuardrail, defaultMcpCacheDir, defaultPolicy, disableSelfModify, drainPendingSwaps, emitContract, emitHandoff, emitScoutVerdict, emitVerdict, evaluateProviderPolicy, evaluatorAgent, evaluatorCodingAgent, exec, executeTool, extractArtifactLedger, extractComparableUserMessageText, extractHtmlTitle, extractPromptComparableText, extractTitleFromMessages, fileSignalCollector, finalizeRetrievalResult, findByVersion, findPreviousUserEntryId, forkSessionLineage, formatParallelDispatchResult, formatSize, generateSessionId, generatorAgent, generatorCodingAgent, getActiveExtensionRuntime, getBuiltinRegisteredToolDefinition, getBuiltinToolDefinition, getDenialContext, getFanoutBranch, getImpactEstimate, getMcpCachePaths, getModuleContext, getProcessContext, getRegisteredToolDefinition, getRepoIntelligenceIndex, getRepoOverview, getRepoRoutingSignals, getRequiredToolParams, getSessionLineagePath, getSessionMessagesFromLineage, getSymbolContext, getTool, getToolDefinition, getToolRegistrations, getToolResultPolicy, hasPendingSwap, independentReview, inferTaskType, inspectEditFailure, inspectRepoIntelligenceRuntime, isDeniedRecently, isParallelDispatchDirective, listAll, listArtifacts, listBuiltinToolDefinitions, listConstructed, listToolDefinitions, listTools, loadHandler, markFanoutBranchCancelled, markFanoutBranchCompleted, mergeArtifactLedger, orderPromptSections, parseClassifierOutput, parseEditToolError, parseLlmReviewVerdict, parseMcpCapabilityId, parseModelSpec, persistToolOutput, plannerAgent, plannerCodingAgent, prewarmRepoIntelligenceCaches, readArtifact, readAuditEntries, readBudget, readDisableState, readSpeculativeWindowFromEnv, reasoningModeToDepth, reconstructMessagesWithToolGuard, recordDenial, registerCodingInvariants, registerConfiguredMcpCapabilityProvider, registerOfficialSandboxExtension, registerTool, rehydrateActiveArtifacts, remainingSelfModifyBudget, renderChangedScope, renderImpactEstimate, renderModuleContext, renderProcessContext, renderPromptSections, renderRepoOverview, renderRetrievalResult, renderSymbolContext, resetBudget, resolveClassifierModel, resolveConstructedAgent, resolveReasoningMode, resolveRepoIntelligenceMode, resolveRepoIntelligenceRuntimeConfig, resolveResilienceConfig, resolveSessionLineageTarget, resolveToolCapability, revoke, rewindSessionLineage, rollbackSelfModify, runAstRules, runKodaX, runLlmReview, runManagedTask, runOrchestration, scoutAgent, scoutCodingAgent, searchMcpCatalog, setActiveExtensionRuntime, setSessionLineageActiveEntry, speculativeRace, stage, stripAssistantText, stripHtmlToText, testArtifact, toolAskUserQuestion, toolBash, toolChangedDiff, toolChangedScope, toolCodeSearch, toolEdit, toolGlob, toolGrep, toolImpactEstimate, toolInsertAfterAnchor, toolModuleContext, toolPermission, toolProcessContext, toolRead, toolRepoOverview, toolSemanticLookup, toolSymbolContext, toolUndo, toolWebFetch, toolWebSearch, toolWrite, truncateHead, truncateLine, truncateTail, validateSubtaskIndependence, validateToolSchemaForProvider, warmRepoIntelligenceRuntime, webhook } from './sdk-coding.js';
7
+ export { A as Agent, a as AgentMessage, c as AgentReasoningProfile, d as AgentTool, G as Guardrail, H as Handoff, K as KodaXCompactMemoryProgress, l as KodaXCompactMemorySeed, m as KodaXExtensionSessionRecord, n as KodaXExtensionSessionState, q as KodaXJsonValue, s as KodaXSessionArtifactLedgerEntry, t as KodaXSessionBranchSummaryEntry, u as KodaXSessionCompactionEntry, v as KodaXSessionData, w as KodaXSessionEntry, x as KodaXSessionEntryBase, y as KodaXSessionLabelEntry, z as KodaXSessionLineage, B as KodaXSessionMessageEntry, E as KodaXSessionMeta, F as KodaXSessionNavigationOptions, J as KodaXSessionRuntimeInfo, L as KodaXSessionScope, M as KodaXSessionStorage, N as KodaXSessionTreeNode, O as KodaXSessionUiHistoryItem, P as KodaXSessionUiHistoryItemType, Q as KodaXSessionWorkspaceKind, U as ReasoningDepth, a3 as SessionErrorMetadata, ai as createAgent, aj as createHandoff } from './types-chunks/instance-discovery.d-DZhp77vb.js';
8
+ export { C as CompactionContext, e as CompactionEntry, f as CompactionEntryPayload, g as CompactionPolicy, h as DefaultSummaryCompaction, i as DefaultSummaryCompactionOptions, I as InMemorySessionOptions, K as KODAX_API_MIN_INTERVAL, n as KODAX_DEFAULT_TIMEOUT, o as KODAX_HARD_TIMEOUT, p as KODAX_MAX_INCOMPLETE_RETRIES, r as KODAX_MAX_RETRIES, s as KODAX_MAX_TOKENS, t as KODAX_RETRY_BASE_DELAY, u as KODAX_STAGGER_DELAY, v as MessageEntry, P as PROMISE_PATTERN, x as PresetDispatcher, B as RunEvent, E as RunOptions, F as RunResult, G as Runner, S as Session, L as SessionEntry, N as SessionExtension, T as SessionForkOptions, $ as cleanupIncompleteToolCalls, a0 as countTokens, a1 as createInMemorySession, a4 as estimateTokens, a7 as registerPresetDispatcher, aa as validateAndFixToolHistory } from './types-chunks/history-cleanup.d-q1vAvCss.js';
9
+ import { Agent, AgentSideConnection, InitializeRequest, InitializeResponse, NewSessionRequest, NewSessionResponse, SetSessionModeRequest, SetSessionModeResponse, PromptRequest, PromptResponse } from '@agentclientprotocol/sdk';
10
+ import { F as FileSessionStorage } from './types-chunks/storage.d-Bv9T99Qu.js';
11
+ export { B as BUILTIN_COMMANDS, C as Command, a as CommandCallbacks, c as CurrentConfig, I as InkREPLOptions, d as InteractiveContext, K as KODAX_CONFIG_FILE, f as KODAX_DIR, g as KODAX_SESSIONS_DIR, h as KODAX_VERSION, R as RepLOptions, n as createInteractiveContext, p as executeCommand, q as getGitRoot, r as getProviderList, s as getProviderModel, t as getVersion, u as hydrateProcessEnvFromShell, w as isProviderConfigured, x as loadConfig, z as parseCommand, D as prepareRuntimeConfig, E as processSpecialSyntax, G as rateLimitedCall, H as registerConfiguredCustomProviders, J as runInkInteractiveMode, L as runInteractiveMode, N as saveConfig, O as touchContext } from './types-chunks/storage.d-Bv9T99Qu.js';
12
+ import '@anthropic-ai/sdk';
13
+ import 'openai';
14
+ import 'readline';
15
+ import 'child_process';
16
+
17
+ type AcpRuntimeEvent = {
18
+ type: 'server_attached';
19
+ agent: string;
20
+ version: string;
21
+ provider: string;
22
+ model: string;
23
+ cwd: string;
24
+ permissionMode: string;
25
+ reasoningMode: string;
26
+ thinking: boolean;
27
+ fixedCwd: boolean;
28
+ } | {
29
+ type: 'connection_closed';
30
+ activeSessions: number;
31
+ } | {
32
+ type: 'initialize_completed';
33
+ protocolVersion: number;
34
+ } | {
35
+ type: 'session_created';
36
+ sessionId: string;
37
+ cwd: string;
38
+ permissionMode: string;
39
+ mcpServers: number;
40
+ } | {
41
+ type: 'session_mode_changed';
42
+ sessionId: string;
43
+ from: string;
44
+ to: string;
45
+ } | {
46
+ type: 'prompt_skipped';
47
+ sessionId: string;
48
+ } | {
49
+ type: 'prompt_started';
50
+ sessionId: string;
51
+ messageId: string | null;
52
+ chars: number;
53
+ cwd: string;
54
+ queueDelayMs: number;
55
+ } | {
56
+ type: 'prompt_preview';
57
+ sessionId: string;
58
+ prompt: string;
59
+ } | {
60
+ type: 'prompt_finished';
61
+ sessionId: string;
62
+ stopReason: 'cancelled' | 'end_turn';
63
+ interrupted: boolean;
64
+ durationMs: number;
65
+ } | {
66
+ type: 'prompt_cancelled';
67
+ sessionId: string;
68
+ durationMs: number;
69
+ } | {
70
+ type: 'prompt_failed';
71
+ sessionId: string;
72
+ durationMs: number;
73
+ error: string;
74
+ } | {
75
+ type: 'cancel_requested';
76
+ sessionId: string;
77
+ active: boolean;
78
+ } | {
79
+ type: 'tool_permission_evaluated';
80
+ sessionId: string;
81
+ tool: string;
82
+ toolId: string | null;
83
+ permissionMode: string;
84
+ } | {
85
+ type: 'tool_permission_resolved';
86
+ sessionId: string;
87
+ tool: string;
88
+ toolId: string | null;
89
+ outcome: 'auto_allowed_read_only_bash' | 'auto_allowed_remembered' | 'blocked_plan_mode' | 'auto_allowed_plan_mode' | 'auto_allowed_policy' | 'request_failed_disconnected' | 'request_failed_incomplete' | 'request_dismissed' | 'request_rejected' | 'request_granted';
90
+ remember?: boolean;
91
+ } | {
92
+ type: 'permission_requested';
93
+ sessionId: string;
94
+ tool: string;
95
+ toolId: string;
96
+ } | {
97
+ type: 'notification_failed';
98
+ sessionId: string;
99
+ label: string;
100
+ error: string;
101
+ } | {
102
+ type: 'repo_intelligence_trace';
103
+ sessionId: string;
104
+ stage: 'routing' | 'preturn' | 'module' | 'impact' | 'task-snapshot';
105
+ summary: string;
106
+ mode?: string;
107
+ engine?: string;
108
+ bridge?: string;
109
+ status?: string;
110
+ daemonLatencyMs?: number;
111
+ cliLatencyMs?: number;
112
+ cacheHit?: boolean;
113
+ capsuleEstimatedTokens?: number;
114
+ };
115
+ interface AcpEventSink {
116
+ handleEvent(event: AcpRuntimeEvent): void;
117
+ }
118
+ interface AcpEventEmitterOptions {
119
+ sinks?: AcpEventSink[];
120
+ }
121
+ declare class AcpEventEmitter {
122
+ private readonly sinks;
123
+ constructor(options?: AcpEventEmitterOptions);
124
+ emit(event: AcpRuntimeEvent): void;
125
+ }
126
+
127
+ declare const ACP_LOG_LEVELS: readonly ["off", "error", "info", "debug"];
128
+ type AcpLogLevel = (typeof ACP_LOG_LEVELS)[number];
129
+ declare function resolveAcpLogLevel(value: string | undefined, fallback?: AcpLogLevel): AcpLogLevel;
130
+ interface AcpLoggerOptions {
131
+ level?: AcpLogLevel;
132
+ sink?: (line: string) => void;
133
+ }
134
+ type AcpLogFields = Record<string, string | number | boolean | null | undefined>;
135
+ declare class AcpLogger implements AcpEventSink {
136
+ private readonly level;
137
+ private readonly sink;
138
+ constructor(options?: AcpLoggerOptions);
139
+ handleEvent(event: AcpRuntimeEvent): void;
140
+ error(message: string, fields?: AcpLogFields): void;
141
+ info(message: string, fields?: AcpLogFields): void;
142
+ debug(message: string, fields?: AcpLogFields): void;
143
+ private log;
144
+ }
145
+
1
146
  /**
2
- * KodaX - 极致轻量化 Coding Agent
147
+ * Permission mode ids exposed to ACP clients. These are wire-protocol values
148
+ * advertised in `SessionMode.id`, so the set is intentionally narrower than
149
+ * the canonical `PermissionMode` from `@kodax-ai/repl`.
3
150
  *
4
- * 根入口文件 - 代理到 monorepo packages
151
+ * Why `'auto'` (canonical FEATURE_092 v0.7.33) is **not** here:
152
+ *
153
+ * 1. ACP's auto-mode classifier path requires an interactive `askUser`
154
+ * surface (the readline confirm prompt or Ink confirm dialog).
155
+ * `KodaXAcpServer` runs out-of-process and routes confirmations through
156
+ * `connection.requestPermission` — a different protocol that has no
157
+ * structural place for the classifier-escalate `<reason>` payload.
158
+ * 2. ACP clients that want auto-style behavior continue to use the
159
+ * legacy alias `'auto-in-project'`, which goes through
160
+ * `evaluateToolPermission` → `requestPermissionFromClient` (no LLM
161
+ * classifier, identical pre-v0.7.33 semantics).
162
+ * 3. Once an ACP-native classifier-escalate channel lands, `'auto'` will
163
+ * be added here as a third id without breaking existing clients.
5
164
  */
6
- export * from '@kodax-ai/coding';
7
- export { ACP_LOG_LEVELS, AcpLogger, resolveAcpLogLevel, type AcpLogLevel, } from './acp_logger.js';
8
- export { AcpEventEmitter, type AcpEventSink, type AcpRuntimeEvent, } from './acp_events.js';
9
- export { KodaXAcpServer, runAcpServer, type KodaXAcpServerOptions } from './acp_server.js';
10
- export { runInkInteractiveMode, type InkREPLOptions, runInteractiveMode, processSpecialSyntax, type RepLOptions, InteractiveContext, createInteractiveContext, touchContext, parseCommand, executeCommand, BUILTIN_COMMANDS, type Command, type CommandCallbacks, type CurrentConfig, getVersion, KODAX_VERSION, getProviderModel, getProviderList, isProviderConfigured, hydrateProcessEnvFromShell, loadConfig, prepareRuntimeConfig, registerConfiguredCustomProviders, saveConfig, getGitRoot, rateLimitedCall, KODAX_DIR, KODAX_SESSIONS_DIR, KODAX_CONFIG_FILE, FileSessionStorage, } from '@kodax-ai/repl';
165
+ declare const ACP_PERMISSION_MODE_IDS: readonly ["plan", "accept-edits", "auto-in-project"];
166
+ type AcpPermissionMode = (typeof ACP_PERMISSION_MODE_IDS)[number];
167
+ interface KodaXAcpServerOptions {
168
+ /** Provider name forwarded to the coding runtime. */
169
+ provider?: string;
170
+ /** Optional model override forwarded to the coding runtime. */
171
+ model?: string;
172
+ thinking?: boolean;
173
+ reasoningMode?: KodaXReasoningMode;
174
+ /**
175
+ * Default session working directory. When explicitly set on the server, it
176
+ * becomes the fixed execution cwd for all ACP sessions and overrides any
177
+ * client-provided session cwd.
178
+ */
179
+ cwd?: string;
180
+ permissionMode?: AcpPermissionMode;
181
+ logLevel?: AcpLogLevel;
182
+ /** Additional sinks that receive structured ACP runtime events. */
183
+ eventSinks?: AcpEventSink[];
184
+ agentName?: string;
185
+ agentVersion?: string;
186
+ storage?: FileSessionStorage;
187
+ }
188
+ declare class KodaXAcpServer implements Agent {
189
+ private readonly provider;
190
+ private readonly model?;
191
+ private readonly thinking;
192
+ private readonly reasoningMode;
193
+ private readonly defaultPermissionMode;
194
+ private readonly defaultCwd;
195
+ private readonly hasFixedCwd;
196
+ private readonly agentName;
197
+ private readonly agentVersion;
198
+ private readonly storage;
199
+ private readonly events;
200
+ /**
201
+ * FEATURE_153 (v0.7.38) — LLM-backed bash prefix extractor used by
202
+ * `isToolCallAllowed` to match allowlist patterns against the extracted
203
+ * safe prefix instead of naive `command.startsWith`. Server-scoped (one
204
+ * per `KodaXAcpServer` instance) so the LRU cache is shared across all
205
+ * sessions, mirroring the REPL's session-scoped pattern.
206
+ */
207
+ private readonly bashPrefixExtractor;
208
+ private connection;
209
+ private readonly sessions;
210
+ private promptQueue;
211
+ private extensionRuntime?;
212
+ private extensionRuntimeReady?;
213
+ constructor(options?: KodaXAcpServerOptions);
214
+ attach(input: ReadableStream<Uint8Array>, output: WritableStream<Uint8Array>): AgentSideConnection;
215
+ waitForClose(): Promise<void>;
216
+ initialize(_params: InitializeRequest): Promise<InitializeResponse>;
217
+ newSession(params: NewSessionRequest): Promise<NewSessionResponse>;
218
+ authenticate(): Promise<void>;
219
+ setSessionMode(params: SetSessionModeRequest): Promise<SetSessionModeResponse>;
220
+ prompt(params: PromptRequest): Promise<PromptResponse>;
221
+ cancel(params: {
222
+ sessionId: string;
223
+ }): Promise<void>;
224
+ private requireSession;
225
+ private buildKodaXOptions;
226
+ private evaluateToolPermission;
227
+ private requestPermissionFromClient;
228
+ private sendTextChunk;
229
+ private sendSessionUpdate;
230
+ private dispatchNotification;
231
+ }
232
+ declare function runAcpServer(options?: KodaXAcpServerOptions): Promise<void>;
233
+
234
+ export { ACP_LOG_LEVELS, AcpEventEmitter, AcpLogger, FileSessionStorage, KodaXAcpServer, KodaXReasoningMode, resolveAcpLogLevel, runAcpServer };
235
+ export type { AcpEventSink, AcpLogLevel, AcpRuntimeEvent, KodaXAcpServerOptions };
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{Nb as me,Ob as ge,Pb as w,X as x,_ as E,aa as L,ba as T,ca as O,da as q,ea as F,fa as K,ga as D,ka as ae,kb as ce,la as de,lb as pe,ma as le,vb as ue}from"./chunks/chunk-WEEQZYZS.js";import{D as re,b as W,c as G,d as Q,f as H,h as J,i as Y,j as Z,k as ee,u as te,v as se,w as oe,x as A,y as ne,z as ie}from"./chunks/chunk-SF7WD7E5.js";import"./chunks/chunk-HUAU4KB3.js";import{$ as Ls,$a as To,$b as Tn,$c as Ei,$d as xr,A as is,Aa as io,Ab as an,Ac as ii,Ad as or,B as rs,Ba as ro,Bb as dn,Bc as ri,Bd as nr,C as as,Ca as ao,Cb as ln,Cc as ai,Cd as ir,D as ds,Da as lo,Db as cn,Dc as di,Dd as rr,E as ls,Ea as co,Eb as pn,Ec as M,Ed as ar,F as cs,Fa as po,Fb as un,Fc as li,Fd as dr,G as ps,Ga as uo,Gb as mn,Gc as ci,Gd as lr,H as us,Ha as mo,Hb as gn,Hc as pi,Hd as cr,I as ms,Ia as go,Ib as fn,Ic as ui,Id as pr,J as gs,Ja as fo,Jb as hn,Jc as mi,Jd as ur,K as fs,Ka as ho,Kb as vn,Kc as gi,Kd as mr,L as hs,La as vo,Lb as yn,Lc as fi,Ld as gr,M as vs,Ma as yo,Mb as _n,Mc as hi,Md as fr,N as ys,Na as _o,Nb as In,Nc as vi,Nd as hr,O as _s,Oa as Io,Ob as An,Oc as yi,Od as vr,P as Is,Pa as Ao,Pb as wn,Pc as _i,Pd as yr,Q as As,Qa as wo,Qb as Sn,Qc as Ii,Qd as _r,R as ws,Ra as So,Rb as Cn,Rc as Ai,Rd as Ir,S as Ss,Sa as Co,Sb as Pn,Sc as wi,Sd as Ar,T as Cs,Ta as Po,Tb as bn,Tc as Si,Td as wr,U as Ps,Ua as bo,Ub as kn,Uc as Ci,Ud as Sr,V as bs,Va as ko,Vb as Mn,Vc as Pi,Vd as Cr,W as ks,Wa as Mo,Wb as Rn,Wc as bi,Wd as Pr,X as Ms,Xa as Ro,Xb as xn,Xc as ki,Xd as br,Y as Rs,Ya as xo,Yb as En,Yc as Mi,Yd as kr,Z as xs,Za as Eo,Zc as Ri,Zd as Mr,_ as Es,_a as Lo,_b as Ln,_c as xi,_d as Rr,a as gt,aa as Ts,ab as Oo,ac as On,ad as Li,ae as Er,b as ft,ba as Os,bb as qo,bc as qn,bd as Ti,be as Lr,c as ht,ca as qs,cb as Fo,cc as Fn,cd as Oi,ce as Tr,d as vt,da as Fs,db as Ko,dc as Kn,dd as qi,de as Or,e as yt,ea as Ks,eb as Do,ec as Dn,ed as Fi,ee as qr,f as Dt,fa as Ds,fb as Xo,fc as Xn,fd as Ki,fe as Fr,g as Xt,ga as Xs,gb as jo,gc as jn,gd as Di,ge as Kr,h as jt,ha as js,hb as Uo,hc as Un,hd as Xi,he as Dr,i as Ut,ia as Us,ib as Vo,ic as Vn,id as ji,ie as Xr,j as Vt,ja as Vs,jb as $o,jc as $n,jd as Ui,je as jr,k as $t,ka as $s,kb as zo,kc as zn,kd as Vi,ke as Ur,l as zt,la as zs,lb as Bo,lc as Bn,ld as $i,le as Vr,m as Bt,ma as Bs,mb as No,mc as Nn,md as zi,me as $r,n as Nt,na as Ns,nb as Wo,nc as Wn,nd as I,ne as R,o as Wt,oa as Ws,ob as Go,oc as Gn,od as Bi,p as Gt,pa as Gs,pb as Qo,pc as Qn,pd as Ni,q as Qt,qa as Qs,qb as Ho,qc as Hn,qd as Wi,r as Ht,ra as Hs,rb as Jo,rc as Jn,rd as Gi,s as Jt,sa as Js,sb as Yo,sc as Yn,sd as Qi,t as Yt,ta as Ys,tb as Zo,tc as Zn,td as Hi,u as Zt,ua as Zs,ub as en,uc as ei,ud as Ji,v as es,va as eo,vb as tn,vc as ti,vd as Yi,w as ts,wa as to,wb as sn,wc as si,wd as Zi,x as ss,xa as so,xb as on,xc as _,xd as er,y as os,ya as oo,yb as nn,yc as oi,yd as tr,z as ns,za as no,zb as rn,zc as ni,zd as sr}from"./chunks/chunk-7LQ2NCHF.js";import{Ca as Ft,Da as Kt,Z as Ot,a as _t,aa as qt,b as It,c as At,d as wt,e as St,f as Ct,h as Pt,i as bt,j as kt,k as Mt,l as Rt,m as xt,n as Et,o as Lt,p as Tt}from"./chunks/chunk-N2VZ2MJF.js";import"./chunks/chunk-SONW6AC7.js";import{$ as st,C as ze,I as Be,J as Ne,O as We,P as Ge,Q as b,R as Qe,U as He,V as Je,X as Ye,Y as Ze,Z as et,_ as tt,a as Oe,aa as ot,b as qe,ba as nt,c as Fe,ca as it,da as rt,ea as at,fa as dt,ga as lt,ha as ct,ia as pt,j as Ke,ja as k,ka as ut,la as mt,t as De,u as Xe,v as je,w as Ue,x as Ve,y as $e}from"./chunks/chunk-XI75LZIO.js";import{a as r}from"./chunks/chunk-4E76FLZ3.js";import fe from"node:process";var j=["off","error","info","debug"],X={off:0,error:1,info:2,debug:3};function S(o,e="info"){if(!o)return e;let t=o.trim().toLowerCase();return j.includes(t)?t:e}r(S,"resolveAcpLogLevel");var m=class{static{r(this,"AcpLogger")}level;sink;constructor(e={}){this.level=e.level??"info",this.sink=e.sink??(t=>{fe.stderr.write(`${t}
2
+ import{Qb as me,Rb as ge,Sb as w,X as x,_ as E,aa as L,ba as T,ca as O,da as q,ea as F,fa as K,ga as D,ka as ae,la as de,ma as le,nb as ce,ob as pe,yb as ue}from"./chunks/chunk-ZPJPNLBK.js";import{D as re,b as W,c as G,d as Q,f as H,h as J,i as Y,j as Z,k as ee,u as te,v as se,w as oe,x as A,y as ne,z as ie}from"./chunks/chunk-5TFLMGER.js";import"./chunks/chunk-6OB4AJOM.js";import"./chunks/chunk-EVIDQWMF.js";import{$ as Ls,$a as Eo,$b as Ln,$c as Ei,$d as xr,A as is,Aa as io,Ab as nn,Ac as ii,Ad as or,B as rs,Ba as ro,Bb as rn,Bc as ri,Bd as nr,C as as,Ca as ao,Cb as an,Cc as ai,Cd as ir,D as ds,Da as lo,Db as dn,Dc as di,Dd as rr,E as ls,Ea as co,Eb as ln,Ec as li,Ed as ar,F as cs,Fa as po,Fb as cn,Fc as M,Fd as dr,G as ps,Ga as uo,Gb as pn,Gc as ci,Gd as lr,H as us,Ha as mo,Hb as un,Hc as pi,Hd as cr,I as ms,Ia as go,Ib as mn,Ic as ui,Id as pr,J as gs,Ja as fo,Jb as gn,Jc as mi,Jd as ur,K as fs,Ka as ho,Kb as fn,Kc as gi,Kd as mr,L as hs,La as vo,Lb as hn,Lc as fi,Ld as gr,M as vs,Ma as yo,Mb as vn,Mc as hi,Md as fr,N as ys,Na as _o,Nb as yn,Nc as vi,Nd as hr,O as _s,Oa as Io,Ob as _n,Oc as yi,Od as vr,P as Is,Pb as In,Pc as _i,Pd as yr,Q as As,Qa as Ao,Qb as An,Qc as Ii,Qd as _r,R as ws,Ra as _,Rb as wn,Rc as Ai,Rd as Ir,S as Ss,Sa as wo,Sb as Sn,Sc as wi,Sd as Ar,T as Cs,Ta as So,Tb as Cn,Tc as Si,Td as wr,U as Ps,Ua as Co,Ub as Pn,Uc as Ci,Ud as Sr,V as bs,Va as Po,Vb as bn,Vc as Pi,Vd as Cr,W as ks,Wa as bo,Wb as kn,Wc as bi,Wd as Pr,X as Ms,Xa as ko,Xb as Mn,Xc as ki,Xd as br,Y as Rs,Ya as Mo,Yb as Rn,Yc as Mi,Yd as kr,Z as xs,Za as Ro,Zb as xn,Zc as Ri,Zd as Mr,_ as Es,_a as xo,_b as En,_c as xi,_d as Rr,a as gt,aa as Ts,ab as Lo,ac as Tn,ad as Li,ae as Er,b as ft,ba as Os,bb as To,bc as On,bd as Ti,be as Lr,c as ht,ca as qs,cb as Oo,cc as qn,cd as Oi,ce as Tr,d as vt,da as Fs,db as qo,dc as Fn,dd as qi,de as Or,e as yt,ea as Ks,eb as Fo,ec as Kn,ed as Fi,ee as qr,f as Dt,fa as Ds,fb as Ko,fc as Dn,fd as Ki,fe as Fr,g as Xt,ga as Xs,gb as Do,gc as Xn,gd as Di,ge as Kr,h as jt,ha as js,hb as Xo,hc as jn,hd as Xi,he as Dr,i as Ut,ia as Us,ib as jo,ic as Un,id as ji,ie as Xr,j as Vt,ja as Vs,jb as Uo,jc as Vn,jd as Ui,je as jr,k as $t,ka as $s,kb as Vo,kc as $n,kd as Vi,ke as Ur,l as zt,la as zs,lb as $o,lc as zn,ld as $i,le as Vr,m as Bt,ma as Bs,mb as zo,mc as Bn,md as zi,me as $r,n as Nt,na as Ns,nb as Bo,nc as Nn,nd as Bi,ne as zr,o as Wt,oa as Ws,ob as No,oc as Wn,od as I,oe as R,p as Gt,pa as Gs,pb as Wo,pc as Gn,pd as Ni,q as Qt,qa as Qs,qb as Go,qc as Qn,qd as Wi,r as Ht,ra as Hs,rb as Qo,rc as Hn,rd as Gi,s as Jt,sa as Js,sb as Ho,sc as Jn,sd as Qi,t as Yt,ta as Ys,tb as Jo,tc as Yn,td as Hi,u as Zt,ua as Zs,ub as Yo,uc as Zn,ud as Ji,v as es,va as eo,vb as Zo,vc as ei,vd as Yi,w as ts,wa as to,wb as en,wc as ti,wd as Zi,x as ss,xa as so,xb as tn,xc as si,xd as er,y as os,ya as oo,yb as sn,yc as oi,yd as tr,z as ns,za as no,zb as on,zc as ni,zd as sr}from"./chunks/chunk-HYWVRTFA.js";import{Ka as Ft,La as Kt,Z as Ot,a as _t,aa as qt,b as It,c as At,d as wt,e as St,f as Ct,h as Pt,i as bt,j as kt,k as Mt,l as Rt,m as xt,n as Et,o as Lt,p as Tt}from"./chunks/chunk-SX2IS5JP.js";import"./chunks/chunk-EQ5DGS2W.js";import{$ as st,C as ze,I as Be,J as Ne,O as We,P as Ge,Q as b,R as Qe,U as He,V as Je,X as Ye,Y as Ze,Z as et,_ as tt,a as Oe,aa as ot,b as qe,ba as nt,c as Fe,ca as it,da as rt,ea as at,fa as dt,ga as lt,ha as ct,ia as pt,j as Ke,ja as k,ka as ut,la as mt,t as De,u as Xe,v as je,w as Ue,x as Ve,y as $e}from"./chunks/chunk-6QO6HWGU.js";import{a as r}from"./chunks/chunk-V4WSBIXB.js";import fe from"node:process";var j=["off","error","info","debug"],X={off:0,error:1,info:2,debug:3};function S(o,e="info"){if(!o)return e;let t=o.trim().toLowerCase();return j.includes(t)?t:e}r(S,"resolveAcpLogLevel");var m=class{static{r(this,"AcpLogger")}level;sink;constructor(e={}){this.level=e.level??"info",this.sink=e.sink??(t=>{fe.stderr.write(`${t}
3
3
  `)})}handleEvent(e){let t=he(e);t&&this.log(t.level,t.message,t.fields)}error(e,t){this.log("error",e,t)}info(e,t){this.log("info",e,t)}debug(e,t){this.log("debug",e,t)}log(e,t,s){if(X[this.level]<X[e])return;let n=new Date().toISOString(),i=s?ye(s):"",a=i?` ${i}`:"";this.sink(`[ACP][${e.toUpperCase()}][${n}] ${t}${a}`)}};function he(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 ve(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}}r(he,"mapEventToLogEntry");function c(o){let{type:e,...t}=o;return t}r(c,"toLogFields");function ve(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}}}}r(ve,"mapPermissionOutcomeToLogEntry");function ye(o){return Object.entries(o).flatMap(([e,t])=>t===void 0?[]:`${e}=${_e(t)}`).join(" ")}r(ye,"formatFields");function _e(o){return o===null?"null":typeof o=="string"?JSON.stringify(o.length>160?`${o.slice(0,157)}...`:o):String(o)}r(_e,"formatFieldValue");var g=class{static{r(this,"AcpEventEmitter")}sinks;constructor(e={}){this.sinks=[...e.sinks??[]]}emit(e){for(let t of this.sinks)try{t.handleEvent(e)}catch{}}};import{randomUUID as U}from"node:crypto";import f from"node:path";import v from"node:process";import{Readable as Ie,Writable as Ae}from"node:stream";import{AgentSideConnection as we,PROTOCOL_VERSION as V,RequestError as h,ndJsonStream as Se}from"@agentclientprotocol/sdk";var N=["plan","accept-edits","auto-in-project"],C=new Set(["write","edit"]),Ce={read:"read",write:"edit",edit:"edit",undo:"edit",bash:"execute",grep:"search",glob:"search",think:"think",fetch:"fetch"},Pe=[{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 be(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:"streamable-http",url:t.url,headers:Object.keys(s).length>0?s:void 0}}return e}r(be,"convertAcpMcpServers");function ke(o,e="accept-edits"){return o&&N.includes(o)?o:e}r(ke,"normalizeAcpPermissionMode");function Me(o){if(o&&N.includes(o))return o;throw h.invalidParams({modeId:o},"Invalid session mode. Expected one of: plan, accept-edits, auto-in-project.")}r(Me,"parseSessionMode");function Re(o){return{availableModes:Pe,currentModeId:o}}r(Re,"buildModeState");function $(o){return Ce[o]??"other"}r($,"inferToolKind");function z(o,e){if(C.has(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=F(t);if(s.length>0)return s.map(n=>({path:n}))}}r(z,"inferToolLocations");function xe(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 i=s.resource;if(typeof i.text=="string"){e.push(i.text);continue}typeof i.uri=="string"&&e.push(`[Resource] ${i.uri}`)}}return e.join(`
4
4
 
5
5
  `).trim()}r(xe,"extractPromptText");function Ee(o){return/^\[(?:Tool Error|Cancelled|Blocked|Error)\]/.test(o)}r(Ee,"isToolResultFailure");function Le(o){return o instanceof Error?o.name==="AbortError"||o.message.includes("aborted")||o.message.includes("ABORTED"):!1}r(Le,"isAbortLikeError");function B(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}:{}}}r(B,"toAcpUsage");var y=class{static{r(this,"KodaXAcpServer")}provider;model;thinking;reasoningMode;defaultPermissionMode;defaultCwd;hasFixedCwd;agentName;agentVersion;storage;events;bashPrefixExtractor;connection=null;sessions=new Map;promptQueue=Promise.resolve();extensionRuntime;extensionRuntimeReady;constructor(e={}){let t=A();this.provider=e.provider??t.provider??b,this.model=e.model,this.thinking=e.thinking??t.thinking??!1,this.reasoningMode=e.reasoningMode??t.reasoningMode??"auto",this.defaultPermissionMode=ke(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 w,this.events=new g({sinks:[...e.eventSinks??[],new m({level:S(e.logLevel??v.env.KODAX_ACP_LOG,"info")})]}),this.bashPrefixExtractor=R({getProvider:r(()=>k(this.provider),"getProvider"),getModel:r(()=>this.model??"","getModel")});let s=t.mcpServers;if(s&&Object.values(s).some(i=>(i.connect??"lazy")!=="disabled")){let i=_({config:t});this.extensionRuntimeReady=I(i,s).then(()=>{i.activate(),this.extensionRuntime=i}).catch(a=>{let d=a instanceof Error?a.message:String(a);console.warn(`[kodax:acp] MCP initialization failed: ${d}`)})}}attach(e,t){let s=Se(t,e),n=new we(()=>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",()=>{this.sessions.forEach(i=>{i.activeController?.abort(),i.extensionRuntime?.dispose()}),this.events.emit({type:"connection_closed",activeSessions:this.sessions.size}),this.sessions.clear(),this.connection=null,this.extensionRuntime?.dispose(),this.extensionRuntime=void 0}),n}async waitForClose(){await this.connection?.closed}async initialize(e){return this.events.emit({type:"initialize_completed",protocolVersion:V}),{protocolVersion:V,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=U(),n=e.mcpServers??[],i={sessionId:s,cwd:f.resolve(t),permissionMode:this.defaultPermissionMode,mcpServers:n,alwaysAllowTools:[],activeController:null};if(n.length>0){let a=be(n),d=_({});await I(d,a).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(),i.extensionRuntime=d}return this.sessions.set(s,i),this.events.emit({type:"session_created",sessionId:s,cwd:i.cwd,permissionMode:i.permissionMode,mcpServers:i.mcpServers.length}),{sessionId:s,modes:Re(i.permissionMode)}}async authenticate(){}async setSessionMode(e){let t=this.requireSession(e.sessionId),s=t.permissionMode,n=Me(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=xe(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 i=Date.now(),a=r(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-i}),this.events.emit({type:"prompt_preview",sessionId:t.sessionId,prompt:s});try{this.extensionRuntimeReady&&await this.extensionRuntimeReady;let l=await M(this.buildKodaXOptions(t,n.signal),s);t.contextTokenSnapshot=l.contextTokenSnapshot;let u=!!l.interrupted,P=n.signal.aborted||u?"cancelled":"end_turn";return this.events.emit({type:"prompt_finished",sessionId:t.sessionId,stopReason:P,interrupted:u,durationMs:Date.now()-p}),{stopReason:P,userMessageId:e.messageId??void 0,...B(l.contextTokenSnapshot)?{usage:B(l.contextTokenSnapshot)}:{}}}catch(l){if(n.signal.aborted||Le(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:r(s=>{this.dispatchNotification("assistant text chunk",e.sessionId,this.sendTextChunk(e.sessionId,s))},"onTextDelta"),onThinkingDelta:r(s=>{this.dispatchNotification("thinking chunk",e.sessionId,this.sendSessionUpdate({sessionId:e.sessionId,update:{sessionUpdate:"agent_thought_chunk",content:{type:"text",text:s}}}))},"onThinkingDelta"),onToolUseStart:r(s=>{this.dispatchNotification("tool call start",e.sessionId,this.sendSessionUpdate({sessionId:e.sessionId,update:{sessionUpdate:"tool_call",toolCallId:s.id,title:s.name,kind:$(s.name),rawInput:s.input,locations:z(s.name,s.input??{}),status:"pending"}}))},"onToolUseStart"),onToolResult:r(s=>{this.dispatchNotification("tool call update",e.sessionId,this.sendSessionUpdate({sessionId:e.sessionId,update:{sessionUpdate:"tool_call_update",toolCallId:s.id,title:s.name,status:Ee(s.content)?"failed":"completed",rawOutput:s.content}}))},"onToolResult"),onRepoIntelligenceTrace:r(s=>{this.events.emit({type:"repo_intelligence_trace",sessionId:e.sessionId,stage:s.stage,summary:s.summary,mode:s.capability?.mode,engine:s.capability?.engine,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:r(s=>{this.dispatchNotification("error text chunk",e.sessionId,this.sendTextChunk(e.sessionId,`
8
8
  [Error] ${s.message}
9
- `))},"onError"),beforeToolExecute:r(async(s,n,i)=>{let a=await this.evaluateToolPermission(e,s,n,i?.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(E(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 L(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=D(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 i=C.has(t)&&typeof s.path=="string"&&O(f.resolve(e.cwd,s.path),e.cwd),a=x(e.permissionMode).has(t),d=e.permissionMode==="auto-in-project"&&(C.has(t)&&typeof s.path=="string"&&!q(s.path,e.cwd)||t==="bash"&&typeof s.command=="string"&&K(s.command,e.cwd).dangerous);return!i&&!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 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:n??U(),title:t,kind:$(t),rawInput:s,locations:z(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{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,T(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 i=n instanceof Error?n.message:String(n);this.events.emit({type:"notification_failed",sessionId:t,label:e,error:i})})}};async function Te(o={}){let e=new y(o),t=Ie.toWeb(v.stdin),s=Ae.toWeb(v.stdout);e.attach(t,s),await e.waitForClose()}r(Te,"runAcpServer");export{j as ACP_LOG_LEVELS,Ar as AUTO_MODE_DENIAL_CONSECUTIVE_THRESHOLD,wr as AUTO_MODE_DENIAL_CUMULATIVE_THRESHOLD,g as AcpEventEmitter,m as AcpLogger,Vr as BASH_POLICY_SPEC,kr as BREAKER_ERROR_THRESHOLD,Mr as BREAKER_WINDOW_MS,ae as BUILTIN_COMMANDS,Xt as CANCELLED_TOOL_RESULT_MESSAGE,Dt as CANCELLED_TOOL_RESULT_PREFIX,pr as CODING_AGENTS,rr as CODING_AGENT_MARKER,gi as CODING_INVARIANTS,ii as CODING_SUMMARY_PROMPT,ri as CODING_UPDATE_SUMMARY_PROMPT,Zs as CapabilityDeniedError,hi as Client,eo as ConstructionManifestError,ai as DEFAULT_CODING_AGENT_NAME,Yi as DEFAULT_DANGEROUS_PATTERNS,Js as DEFAULT_HANDLER_TIMEOUT_MS,Fn as DEFAULT_RESILIENCE_CONFIG,Ji as DEFAULT_SAFE_PATTERNS,So as DEFAULT_SELF_MODIFY_BUDGET,Dr as DEFAULT_SPECULATIVE_WINDOW_MS,Ut as DEFAULT_TOOL_OUTPUT_MAX_BYTES,jt as DEFAULT_TOOL_OUTPUT_MAX_LINES,Tt as DefaultSummaryCompaction,bi as EMIT_CONTRACT_TOOL_NAME,ki as EMIT_HANDOFF_TOOL_NAME,Pi as EMIT_SCOUT_VERDICT_TOOL_NAME,Mi as EMIT_VERDICT_TOOL_NAME,no as EVALUATOR_AGENT_NAME,vt as ErrorCategory,w as FileSessionStorage,oo as GENERATOR_AGENT_NAME,bt as KODAX_API_MIN_INTERVAL,Q as KODAX_CONFIG_FILE,b as KODAX_DEFAULT_PROVIDER,It as KODAX_DEFAULT_TIMEOUT,W as KODAX_DIR,At as KODAX_HARD_TIMEOUT,Ct as KODAX_MAX_INCOMPLETE_RETRIES,wt as KODAX_MAX_RETRIES,_t as KODAX_MAX_TOKENS,Ge as KODAX_PROVIDERS,We as KODAX_PROVIDER_SNAPSHOTS,Ke as KODAX_REASONING_MODE_SEQUENCE,St as KODAX_RETRY_BASE_DELAY,G as KODAX_SESSIONS_DIR,Pt as KODAX_STAGGER_DELAY,Vo as KODAX_TOOLS,Z as KODAX_VERSION,y as KodaXAcpServer,Be as KodaXAnthropicCompatProvider,ze as KodaXBaseProvider,hi as KodaXClient,Oe as KodaXError,si as KodaXExtensionRuntime,Ne as KodaXOpenAICompatProvider,qe as KodaXProviderError,Fe as KodaXRateLimitError,ft as KodaXSessionError,ht as KodaXTerminalError,gt as KodaXToolError,un as LINEAGE_ENTRY_TYPES,gn as LineageCompaction,mn as LineageExtension,zi as McpCapabilityProvider,$i as McpServerRuntime,so as PLANNER_AGENT_NAME,kt as PROMISE_PATTERN,on as PROMPT_SECTION_REGISTRY,Ti as PROTOCOL_EMITTER_TOOLS,Un as ProviderRecoveryCoordinator,Vt as READ_DEFAULT_LIMIT,zt as READ_MAX_LINE_CHARS,$t as READ_PREFLIGHT_SIZE_BYTES,Is as REPOINTEL_DEFAULT_ENDPOINT,qt as Runner,to as SCOUT_AGENT_NAME,sn as SYSTEM_PROMPT,Xn as StableBoundaryTracker,co as TASK_ENGINE_ROLE_AGENTS,Oi as TOOL_RESULT_TRUNCATION_GUARDRAIL_NAME,xo as _resetRuntimeForTesting,To as activate,ps as analyzeChangedScope,Ao as appendAuditEntry,wn as appendSessionLineageLabel,Ai as applyFanoutBranchTransition,Sn as applySessionCompaction,Ks as applyToolResultGuardrail,Rn as archiveOldIslands,wi as assignFanoutBranchWorker,br as autoModeDenialShouldFallback,qr as bashSignalCollector,li as boundedRevise,Er as breakerShouldFallback,ci as budgetCeiling,Hn as buildAmaControllerDecision,ln as buildCapabilityContextSections,ur as buildClassifierPrompt,Gn as buildFallbackRoutingDecision,yi as buildFanoutSchedulerPlan,yo as buildLlmReviewPrompt,Tn as buildPromptMessageContent,Jn as buildPromptOverlay,dn as buildPromptSnapshot,Vn as buildProviderCapabilitySnapshot,Qn as buildProviderPolicyHintsForDecision,$n as buildProviderPolicyPromptNotes,je as buildReasoningOverrideKey,cs as buildRepoIntelligenceContext,Ps as buildRepoIntelligenceIndex,as as buildRepoOverview,kn as buildSessionTree,pn as buildSystemPrompt,cn as buildSystemPromptSnapshot,Or as checkAbsoluteDeny,Ln as checkIncompleteToolCalls,Zn as checkPromiseSignal,gr as classify,er as classifyBashCommand,yt as classifyError,Dn as classifyResilienceError,Kt as cleanupIncompleteToolCalls,$e as clearReasoningOverride,pt as clearRuntimeModelProviders,Kr as collectAllSignals,sr as computeInputSignature,fr as computeRulesFingerprint,Ro as configureRuntime,Us as convertCapabilityReadResult,js as convertProviderSearchResults,Ii as countActiveFanoutBranches,Mn as countActiveLineageMessages,Rt as countTokens,xt as createAgent,Sr as createAutoModeDenialTracker,Ur as createAutoModeToolGuardrail,Zi as createBashClassifierConfig,R as createBashPrefixExtractor,Ho as createBuiltinToolDefinition,Rr as createCircuitBreaker,go as createCtxProxy,et as createCustomProvider,di as createDefaultCodingAgent,tr as createDenialTracker,_ as createExtensionRuntime,vi as createFanoutSchedulerInput,Et as createHandoff,Lt as createInMemorySession,ce as createInteractiveContext,Wi as createKodaXTaskRunner,Di as createMcpCapabilityId,Vi as createMcpTransport,nn as createPromptSection,Yn as createReasoningPlan,vn as createSessionLineage,qi as createToolResultTruncationGuardrail,Ki as defaultMcpCacheDir,Ys as defaultPolicy,Mo as disableSelfModify,mo as drainPendingSwaps,xi as emitContract,Ei as emitHandoff,Ri as emitScoutVerdict,Li as emitVerdict,Mt as estimateTokens,zn as evaluateProviderPolicy,lo as evaluatorAgent,cr as evaluatorCodingAgent,ei as exec,le as executeCommand,tn as executeTool,xn as extractArtifactLedger,$r as extractCommandPrefix,qn as extractComparableUserMessageText,Xs as extractHtmlTitle,On as extractPromptComparableText,hn as extractTitleFromMessages,Fr as fileSignalCollector,$s as finalizeRetrievalResult,Xo as findByVersion,Cn as findPreviousUserEntryId,bn as forkSessionLineage,Hs as formatAgentsForPrompt,Qi as formatParallelDispatchResult,Bt as formatSize,fn as generateSessionId,ao as generatorAgent,lr as generatorCodingAgent,ni as getActiveExtensionRuntime,mt as getAvailableProviderNames,Qo as getBuiltinRegisteredToolDefinition,Go as getBuiltinToolDefinition,st as getCustomProvider,it as getCustomProviderList,rt as getCustomProviderModels,nt as getCustomProviderNames,ir as getDenialContext,_i as getFanoutBranch,ie as getGitRoot,xs as getImpactEstimate,Gs as getKodaxGlobalDir,Ui as getMcpCachePaths,ks as getModuleContext,Rs as getProcessContext,Qe as getProvider,Je as getProviderConfiguredCapabilityProfile,He as getProviderConfiguredReasoningCapability,te as getProviderList,ee as getProviderModel,Ye as getProviderModels,No as getRegisteredToolDefinition,bs as getRepoIntelligenceIndex,ds as getRepoOverview,Es as getRepoRoutingSignals,Yo as getRequiredToolParams,dt as getRuntimeModelProvider,ct as getRuntimeModelProviderNames,yn as getSessionLineagePath,_n as getSessionMessagesFromLineage,Ms as getSymbolContext,zo as getTool,Bo as getToolDefinition,Wo as getToolRegistrations,Fs as getToolResultPolicy,Y as getVersion,uo as hasPendingSwap,H as hydrateProcessEnvFromShell,pi as independentReview,Wn as inferTaskType,es as inspectEditFailure,Ss as inspectRepoIntelligenceRuntime,ot as isCustomProviderName,nr as isDeniedRecently,ut as isKnownProvider,Gi as isParallelDispatchDirective,se as isProviderConfigured,Ze as isProviderName,lt as isRuntimeModelProviderName,jo as listAll,Fo as listArtifacts,Jo as listBuiltinToolDefinitions,Do as listConstructed,en as listToolDefinitions,Zo as listTools,Qs as loadAgentsFiles,_r as loadAutoRules,oe as loadConfig,fo as loadHandler,Ue as loadReasoningOverride,Ci as markFanoutBranchCancelled,Si as markFanoutBranchCompleted,En as mergeArtifactLedger,rn as orderPromptSections,yr as parseAutoRules,mr as parseClassifierOutput,de as parseCommand,Zt as parseEditToolError,_o as parseLlmReviewVerdict,Xi as parseMcpCapabilityId,Lr as parseModelSpec,Qt as persistToolOutput,ro as plannerAgent,dr as plannerCodingAgent,A as prepareRuntimeConfig,ge as processSpecialSyntax,re as rateLimitedCall,Ko as readArtifact,wo as readAuditEntries,Co as readBudget,ko as readDisableState,Xr as readSpeculativeWindowFromEnv,hr as readTrustState,De as reasoningCapabilityToOverride,Nn as reasoningModeToDepth,Xe as reasoningOverrideToCapability,jn as reconstructMessagesWithToolGuard,Pr as recordAutoModeAllow,Cr as recordAutoModeBlock,xr as recordBreakerError,or as recordDenial,fi as registerCodingInvariants,J as registerConfiguredCustomProviders,I as registerConfiguredMcpCapabilityProvider,tt as registerCustomProviders,at as registerModelProvider,Bi as registerOfficialSandboxExtension,Ot as registerPresetDispatcher,$o as registerTool,Oo as rehydrateActiveArtifacts,Po as remainingSelfModifyBudget,us as renderChangedScope,_s as renderImpactEstimate,hs as renderModuleContext,ys as renderProcessContext,an as renderPromptSections,ls as renderRepoOverview,Vs as renderRetrievalResult,vs as renderSymbolContext,bo as resetBudget,S as resolveAcpLogLevel,Tr as resolveClassifierModel,po as resolveConstructedAgent,k as resolveProvider,Bn as resolveReasoningMode,ws as resolveRepoIntelligenceMode,As as resolveRepoIntelligenceRuntimeConfig,Kn as resolveResilienceConfig,In as resolveSessionLineageTarget,ui as resolveToolCapability,qo as revoke,Pn as rewindSessionLineage,Uo as rollbackSelfModify,Te as runAcpServer,ho as runAstRules,ue as runInkInteractiveMode,me as runInteractiveMode,M as runKodaX,Io as runLlmReview,Fi as runManagedTask,Ni as runOrchestration,ne as saveConfig,Ve as saveReasoningOverride,io as scoutAgent,ar as scoutCodingAgent,ji as searchMcpCatalog,oi as setActiveExtensionRuntime,An as setSessionLineageActiveEntry,jr as speculativeRace,Eo as stage,Ir as stripAssistantText,Ds as stripHtmlToText,Lo as testArtifact,rs as toolAskUserQuestion,ss as toolBash,fs as toolChangedDiff,gs as toolChangedScope,Ns as toolCodeSearch,Yt as toolEdit,os as toolGlob,ns as toolGrep,qs as toolImpactEstimate,ts as toolInsertAfterAnchor,Ls as toolModuleContext,mi as toolPermission,Os as toolProcessContext,Ht as toolRead,ms as toolRepoOverview,Ws as toolSemanticLookup,Ts as toolSymbolContext,is as toolUndo,Bs as toolWebFetch,zs as toolWebSearch,Jt as toolWrite,pe as touchContext,Nt as truncateHead,Gt as truncateLine,Wt as truncateTail,vr as trustProjectRules,Ft as validateAndFixToolHistory,Hi as validateSubtaskIndependence,vo as validateToolSchemaForProvider,Cs as warmRepoIntelligenceRuntime,ti as webhook};
9
+ `))},"onError"),beforeToolExecute:r(async(s,n,i)=>{let a=await this.evaluateToolPermission(e,s,n,i?.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(E(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 L(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=D(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 i=C.has(t)&&typeof s.path=="string"&&O(f.resolve(e.cwd,s.path),e.cwd),a=x(e.permissionMode).has(t),d=e.permissionMode==="auto-in-project"&&(C.has(t)&&typeof s.path=="string"&&!q(s.path,e.cwd)||t==="bash"&&typeof s.command=="string"&&K(s.command,e.cwd).dangerous);return!i&&!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 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:n??U(),title:t,kind:$(t),rawInput:s,locations:z(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{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,T(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 i=n instanceof Error?n.message:String(n);this.events.emit({type:"notification_failed",sessionId:t,label:e,error:i})})}};async function Te(o={}){let e=new y(o),t=Ie.toWeb(v.stdin),s=Ae.toWeb(v.stdout);e.attach(t,s),await e.waitForClose()}r(Te,"runAcpServer");export{j as ACP_LOG_LEVELS,wr as AUTO_MODE_DENIAL_CONSECUTIVE_THRESHOLD,Sr as AUTO_MODE_DENIAL_CUMULATIVE_THRESHOLD,g as AcpEventEmitter,m as AcpLogger,$r as BASH_POLICY_SPEC,Mr as BREAKER_ERROR_THRESHOLD,Rr as BREAKER_WINDOW_MS,ae as BUILTIN_COMMANDS,Xt as CANCELLED_TOOL_RESULT_MESSAGE,Dt as CANCELLED_TOOL_RESULT_PREFIX,ur as CODING_AGENTS,ar as CODING_AGENT_MARKER,fi as CODING_INVARIANTS,ri as CODING_SUMMARY_PROMPT,ai as CODING_UPDATE_SUMMARY_PROMPT,bo as CapabilityDeniedError,vi as Client,ko as ConstructionManifestError,di as DEFAULT_CODING_AGENT_NAME,Zi as DEFAULT_DANGEROUS_PATTERNS,Co as DEFAULT_HANDLER_TIMEOUT_MS,Vn as DEFAULT_RESILIENCE_CONFIG,Yi as DEFAULT_SAFE_PATTERNS,Qo as DEFAULT_SELF_MODIFY_BUDGET,Xr as DEFAULT_SPECULATIVE_WINDOW_MS,Ut as DEFAULT_TOOL_OUTPUT_MAX_BYTES,jt as DEFAULT_TOOL_OUTPUT_MAX_LINES,Tt as DefaultSummaryCompaction,Ri as EMIT_CONTRACT_TOOL_NAME,xi as EMIT_HANDOFF_TOOL_NAME,Mi as EMIT_SCOUT_VERDICT_TOOL_NAME,Ei as EMIT_VERDICT_TOOL_NAME,Eo as EVALUATOR_AGENT_NAME,vt as ErrorCategory,w as FileSessionStorage,xo as GENERATOR_AGENT_NAME,bt as KODAX_API_MIN_INTERVAL,Q as KODAX_CONFIG_FILE,b as KODAX_DEFAULT_PROVIDER,It as KODAX_DEFAULT_TIMEOUT,W as KODAX_DIR,At as KODAX_HARD_TIMEOUT,Ct as KODAX_MAX_INCOMPLETE_RETRIES,wt as KODAX_MAX_RETRIES,_t as KODAX_MAX_TOKENS,Ge as KODAX_PROVIDERS,We as KODAX_PROVIDER_SNAPSHOTS,Ke as KODAX_REASONING_MODE_SEQUENCE,St as KODAX_RETRY_BASE_DELAY,G as KODAX_SESSIONS_DIR,Pt as KODAX_STAGGER_DELAY,fn as KODAX_TOOLS,Z as KODAX_VERSION,y as KodaXAcpServer,Be as KodaXAnthropicCompatProvider,ze as KodaXBaseProvider,vi as KodaXClient,Oe as KodaXError,Ao as KodaXExtensionRuntime,Ne as KodaXOpenAICompatProvider,qe as KodaXProviderError,Fe as KodaXRateLimitError,ft as KodaXSessionError,ht as KodaXTerminalError,gt as KodaXToolError,eo as LINEAGE_ENTRY_TYPES,so as LineageCompaction,to as LineageExtension,Bi as McpCapabilityProvider,zi as McpServerRuntime,Ro as PLANNER_AGENT_NAME,kt as PROMISE_PATTERN,xn as PROMPT_SECTION_REGISTRY,Fi as PROTOCOL_EMITTER_TOOLS,Wn as ProviderRecoveryCoordinator,Vt as READ_DEFAULT_LIMIT,zt as READ_MAX_LINE_CHARS,$t as READ_PREFLIGHT_SIZE_BYTES,Is as REPOINTEL_DEFAULT_ENDPOINT,qt as Runner,Mo as SCOUT_AGENT_NAME,Rn as SYSTEM_PROMPT,Bn as StableBoundaryTracker,Fo as TASK_ENGINE_ROLE_AGENTS,bi as TOOL_RESULT_TRUNCATION_GUARDRAIL_NAME,sn as _resetRuntimeForTesting,rn as activate,ps as analyzeChangedScope,Wo as appendAuditEntry,po as appendSessionLineageLabel,wi as applyFanoutBranchTransition,uo as applySessionCompaction,Ds as applyToolResultGuardrail,yo as archiveOldIslands,Si as assignFanoutBranchWorker,kr as autoModeDenialShouldFallback,Fr as bashSignalCollector,ci as boundedRevise,Lr as breakerShouldFallback,pi as budgetCeiling,si as buildAmaControllerDecision,qn as buildCapabilityContextSections,mr as buildClassifierPrompt,ei as buildFallbackRoutingDecision,_i as buildFanoutSchedulerPlan,zo as buildLlmReviewPrompt,Xn as buildPromptMessageContent,oi as buildPromptOverlay,On as buildPromptSnapshot,Gn as buildProviderCapabilitySnapshot,ti as buildProviderPolicyHintsForDecision,Qn as buildProviderPolicyPromptNotes,je as buildReasoningOverrideKey,cs as buildRepoIntelligenceContext,Ps as buildRepoIntelligenceIndex,as as buildRepoOverview,ho as buildSessionTree,Kn as buildSystemPrompt,Fn as buildSystemPromptSnapshot,qr as checkAbsoluteDeny,Dn as checkIncompleteToolCalls,ii as checkPromiseSignal,fr as classify,tr as classifyBashCommand,yt as classifyError,zn as classifyResilienceError,Kt as cleanupIncompleteToolCalls,$e as clearReasoningOverride,pt as clearRuntimeModelProviders,Dr as collectAllSignals,or as computeInputSignature,hr as computeRulesFingerprint,tn as configureRuntime,Vs as convertCapabilityReadResult,Us as convertProviderSearchResults,Ai as countActiveFanoutBranches,vo as countActiveLineageMessages,Rt as countTokens,xt as createAgent,Cr as createAutoModeDenialTracker,Vr as createAutoModeToolGuardrail,er as createBashClassifierConfig,R as createBashPrefixExtractor,Sn as createBuiltinToolDefinition,xr as createCircuitBreaker,jo as createCtxProxy,et as createCustomProvider,li as createDefaultCodingAgent,sr as createDenialTracker,_ as createExtensionRuntime,yi as createFanoutSchedulerInput,Et as createHandoff,Lt as createInMemorySession,ce as createInteractiveContext,Gi as createKodaXTaskRunner,Xi as createMcpCapabilityId,$i as createMcpTransport,En as createPromptSection,ni as createReasoningPlan,io as createSessionLineage,ki as createToolResultTruncationGuardrail,Di as defaultMcpCacheDir,Po as defaultPolicy,en as disableSelfModify,Xo as drainPendingSwaps,Ti as emitContract,Oi as emitHandoff,Li as emitScoutVerdict,qi as emitVerdict,Mt as estimateTokens,Hn as evaluateProviderPolicy,qo as evaluatorAgent,pr as evaluatorCodingAgent,Ys as exec,le as executeCommand,Mn as executeTool,_o as extractArtifactLedger,zr as extractCommandPrefix,Un as extractComparableUserMessageText,js as extractHtmlTitle,jn as extractPromptComparableText,no as extractTitleFromMessages,Kr as fileSignalCollector,zs as finalizeRetrievalResult,un as findByVersion,mo as findPreviousUserEntryId,fo as forkSessionLineage,Js as formatAgentsForPrompt,Hi as formatParallelDispatchResult,Bt as formatSize,oo as generateSessionId,Oo as generatorAgent,cr as generatorCodingAgent,So as getActiveExtensionRuntime,mt as getAvailableProviderNames,wn as getBuiltinRegisteredToolDefinition,An as getBuiltinToolDefinition,st as getCustomProvider,it as getCustomProviderList,rt as getCustomProviderModels,nt as getCustomProviderNames,rr as getDenialContext,Ii as getFanoutBranch,ie as getGitRoot,xs as getImpactEstimate,Qs as getKodaxGlobalDir,Vi as getMcpCachePaths,ks as getModuleContext,Rs as getProcessContext,Qe as getProvider,Je as getProviderConfiguredCapabilityProfile,He as getProviderConfiguredReasoningCapability,te as getProviderList,ee as getProviderModel,Ye as getProviderModels,_n as getRegisteredToolDefinition,bs as getRepoIntelligenceIndex,ds as getRepoOverview,Es as getRepoRoutingSignals,Pn as getRequiredToolParams,dt as getRuntimeModelProvider,ct as getRuntimeModelProviderNames,ro as getSessionLineagePath,ao as getSessionMessagesFromLineage,Ms as getSymbolContext,vn as getTool,yn as getToolDefinition,In as getToolRegistrations,Ks as getToolResultPolicy,Y as getVersion,Do as hasPendingSwap,H as hydrateProcessEnvFromShell,ui as independentReview,Zn as inferTaskType,es as inspectEditFailure,Ss as inspectRepoIntelligenceRuntime,ot as isCustomProviderName,ir as isDeniedRecently,ut as isKnownProvider,Qi as isParallelDispatchDirective,se as isProviderConfigured,Ze as isProviderName,lt as isRuntimeModelProviderName,mn as listAll,ln as listArtifacts,Cn as listBuiltinToolDefinitions,pn as listConstructed,kn as listToolDefinitions,bn as listTools,Hs as loadAgentsFiles,Ir as loadAutoRules,oe as loadConfig,Uo as loadHandler,Ue as loadReasoningOverride,Pi as markFanoutBranchCancelled,Ci as markFanoutBranchCompleted,Io as mergeArtifactLedger,Ln as orderPromptSections,_r as parseAutoRules,gr as parseClassifierOutput,de as parseCommand,Zt as parseEditToolError,Bo as parseLlmReviewVerdict,ji as parseMcpCapabilityId,Tr as parseModelSpec,Qt as persistToolOutput,To as plannerAgent,lr as plannerCodingAgent,A as prepareRuntimeConfig,Ls as prewarmRepoIntelligenceCaches,ge as processSpecialSyntax,re as rateLimitedCall,cn as readArtifact,Go as readAuditEntries,Ho as readBudget,Zo as readDisableState,jr as readSpeculativeWindowFromEnv,vr as readTrustState,De as reasoningCapabilityToOverride,Yn as reasoningModeToDepth,Xe as reasoningOverrideToCapability,Nn as reconstructMessagesWithToolGuard,br as recordAutoModeAllow,Pr as recordAutoModeBlock,Er as recordBreakerError,nr as recordDenial,hi as registerCodingInvariants,J as registerConfiguredCustomProviders,I as registerConfiguredMcpCapabilityProvider,tt as registerCustomProviders,at as registerModelProvider,Ni as registerOfficialSandboxExtension,Ot as registerPresetDispatcher,hn as registerTool,an as rehydrateActiveArtifacts,Jo as remainingSelfModifyBudget,us as renderChangedScope,_s as renderImpactEstimate,hs as renderModuleContext,ys as renderProcessContext,Tn as renderPromptSections,ls as renderRepoOverview,$s as renderRetrievalResult,vs as renderSymbolContext,Yo as resetBudget,S as resolveAcpLogLevel,Or as resolveClassifierModel,Ko as resolveConstructedAgent,k as resolveProvider,Jn as resolveReasoningMode,ws as resolveRepoIntelligenceMode,As as resolveRepoIntelligenceRuntimeConfig,$n as resolveResilienceConfig,lo as resolveSessionLineageTarget,mi as resolveToolCapability,dn as revoke,go as rewindSessionLineage,gn as rollbackSelfModify,Te as runAcpServer,Vo as runAstRules,ue as runInkInteractiveMode,me as runInteractiveMode,M as runKodaX,No as runLlmReview,Ki as runManagedTask,Wi as runOrchestration,ne as saveConfig,Ve as saveReasoningOverride,Lo as scoutAgent,dr as scoutCodingAgent,Ui as searchMcpCatalog,wo as setActiveExtensionRuntime,co as setSessionLineageActiveEntry,Ur as speculativeRace,on as stage,Ar as stripAssistantText,Xs as stripHtmlToText,nn as testArtifact,rs as toolAskUserQuestion,ss as toolBash,fs as toolChangedDiff,gs as toolChangedScope,Ws as toolCodeSearch,Yt as toolEdit,os as toolGlob,ns as toolGrep,Fs as toolImpactEstimate,ts as toolInsertAfterAnchor,Ts as toolModuleContext,gi as toolPermission,qs as toolProcessContext,Ht as toolRead,ms as toolRepoOverview,Gs as toolSemanticLookup,Os as toolSymbolContext,is as toolUndo,Ns as toolWebFetch,Bs as toolWebSearch,Jt as toolWrite,pe as touchContext,Nt as truncateHead,Gt as truncateLine,Wt as truncateTail,yr as trustProjectRules,Ft as validateAndFixToolHistory,Ji as validateSubtaskIndependence,$o as validateToolSchemaForProvider,Cs as warmRepoIntelligenceRuntime,Zs as webhook};