@kodax-ai/kodax 0.7.42 → 0.7.43

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 (53) hide show
  1. package/CHANGELOG.md +34 -6
  2. package/README.md +87 -56
  3. package/README_CN.md +46 -25
  4. package/dist/chunks/chunk-7G5PSL6C.js +830 -0
  5. package/dist/chunks/{chunk-IYJ5EPRV.js → chunk-IYSK7LUK.js} +1 -1
  6. package/dist/chunks/chunk-K75O2CAE.js +31 -0
  7. package/dist/chunks/chunk-UG4262JI.js +502 -0
  8. package/dist/chunks/chunk-VHKAJDQD.js +425 -0
  9. package/dist/chunks/chunk-YMRZBS4G.js +2 -0
  10. package/dist/chunks/compaction-config-3E57ABCT.js +2 -0
  11. package/dist/chunks/{construction-bootstrap-J2WOCYEK.js → construction-bootstrap-JR63KI5N.js} +4 -4
  12. package/dist/chunks/dist-KWHUKXEL.js +2 -0
  13. package/dist/chunks/dist-XANXEVTU.js +2 -0
  14. package/dist/chunks/utils-HQ2QCKJA.js +2 -0
  15. package/dist/index.d.ts +10 -10
  16. package/dist/index.js +2 -2
  17. package/dist/kodax_cli.js +1124 -1102
  18. package/dist/sdk-agent.d.ts +850 -48
  19. package/dist/sdk-agent.js +1 -1
  20. package/dist/sdk-coding.d.ts +701 -815
  21. package/dist/sdk-coding.js +1 -1
  22. package/dist/sdk-llm.d.ts +5 -3
  23. package/dist/sdk-llm.js +1 -1
  24. package/dist/sdk-mcp.d.ts +1 -1
  25. package/dist/sdk-mcp.js +1 -1
  26. package/dist/sdk-repl.d.ts +9 -8
  27. package/dist/sdk-repl.js +1 -1
  28. package/dist/sdk-session.d.ts +22 -10
  29. package/dist/sdk-session.js +1 -1
  30. package/dist/sdk-skills.js +1 -1
  31. package/dist/types-chunks/{cost-tracker.d-B6vMoLLF.d.ts → base.d-FUJahC0i.d.ts} +2 -110
  32. package/dist/types-chunks/{bash-prefix-extractor.d-CkhaqKkg.d.ts → bash-prefix-extractor.d-DMrGImMl.d.ts} +35 -136
  33. package/dist/types-chunks/cost-tracker.d-wRtyEW9d.d.ts +110 -0
  34. package/dist/types-chunks/{history-cleanup.d-DznrzEiU.d.ts → file-tracker.d-zaLZeNBK.d.ts} +314 -6
  35. package/dist/types-chunks/manager.d-87belpiS.d.ts +370 -0
  36. package/dist/types-chunks/{resolver.d-DX9au4NJ.d.ts → resolver.d-CA68_NeH.d.ts} +149 -5
  37. package/dist/types-chunks/{session-storage.d-Cci897iM.d.ts → storage.d-DPAEX7zS.d.ts} +49 -2
  38. package/dist/types-chunks/{instance-discovery.d-BsKnIwpg.d.ts → types.d-CKJtjo-6.d.ts} +139 -2
  39. package/dist/types-chunks/{storage.d-Bc5DoAwp.d.ts → utils.d-DkLZD_wa.d.ts} +24 -46
  40. package/package.json +7 -6
  41. package/dist/chunks/chunk-3RKBXWZS.js +0 -2
  42. package/dist/chunks/chunk-7JLYVWAF.js +0 -1033
  43. package/dist/chunks/chunk-CD3R5YBH.js +0 -16
  44. package/dist/chunks/chunk-DKXUY5F2.js +0 -209
  45. package/dist/chunks/chunk-HMYEQJGT.js +0 -31
  46. package/dist/chunks/chunk-KUX5LRPP.js +0 -2
  47. package/dist/chunks/chunk-OWSKU55I.js +0 -13
  48. package/dist/chunks/chunk-ZZ4KRK2B.js +0 -465
  49. package/dist/chunks/compaction-config-FIFFP4FT.js +0 -2
  50. package/dist/chunks/dist-2ZHWDXMQ.js +0 -2
  51. package/dist/chunks/dist-W4CJWLIH.js +0 -2
  52. package/dist/chunks/utils-A5MWDTWZ.js +0 -2
  53. package/dist/types-chunks/transport.d-DuyjG30t.d.ts +0 -180
@@ -0,0 +1,2 @@
1
+ // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
+ import{$b as T,Zb as A}from"./chunk-7G5PSL6C.js";import{S as w,T as S,U as L,V as x,W as I,X as h,ca as O,da as m,ga as b,qa as R}from"./chunk-K75O2CAE.js";import{va as k}from"./chunk-VHKAJDQD.js";import{a as i}from"./chunk-V4WSBIXB.js";import a from"fs";import c from"path";import{exec as j,spawnSync as z}from"child_process";import{promisify as U}from"util";import{fileURLToPath as q}from"url";var E="en";function H(){return(process.env.LC_ALL||process.env.LC_MESSAGES||process.env.LANG||"").toLowerCase().startsWith("zh")?"zh":"en"}i(H,"detectSystemLocale");function M(e){if(!e||e==="auto"){E=H();return}E=e.toLowerCase().replace(/[-_].*/,"")==="zh"?"zh":"en"}i(M,"setLocale");var D={en:{"dialog.confirm":"[Confirm]","dialog.select":"[Select]","dialog.input":"[Input]","confirm.instruction.basic":"Press (y) yes, (n) no","confirm.instruction.always":"Press (y) yes, (a) always yes for this tool, (n) no","confirm.instruction.protected":"Press (y) to confirm, (n) to cancel (protected path)","confirm.result.approved":"Approved","confirm.result.approved_always":"Approved (always)","confirm.result.denied":"Denied","tool.bash.title":"Execute bash command?","tool.shell.title":"Execute shell command?","tool.write.title":"Write to file?","tool.edit.title":"Edit file?","tool.generic.title":"Execute {tool}?","field.reason":"Reason","field.intent":"Intent","field.target":"Target","field.scope":"Scope","field.risk":"Risk","field.summary":"Summary","intent.read":"Read project files","intent.delete":"Delete files","intent.deps":"Modify dependencies or environment","intent.modify":"Modify files","intent.execute":"Execute command","intent.write_file":"Write file","intent.edit_file":"Edit file","intent.use_tool":"Use {tool}","risk.destructive":"Destructive change","risk.deps":"May change dependencies or local tools","risk.modify":"May modify files","risk.unknown":"Command effects depend on its arguments","risk.network":"May access network","scope.outside":"Outside project","scope.protected":"Protected path","waiting.confirm":"Waiting: approval required","waiting.select":"Waiting: choose an option","waiting.input":"Waiting: answer the prompt","placeholder.confirm":"Respond to the approval prompt above...","placeholder.select":"Choose an option above...","placeholder.input":"Answer the prompt above...","placeholder.busy":"Agent is busy...","placeholder.queue":"Queue a follow-up for the next round...","placeholder.idle":"Type a message...","select.choice":"Choice:","select.type_number":"(type a number)","select.more":"{count} more choices...","select.more_above":"\u2191 {count} more above","select.more_below":"\u2193 {count} more below","select.confirm_hint":"Press Enter to confirm, Esc to cancel","select.navigate_hint":"Use \u2191\u2193 to navigate, Enter to confirm, Esc to cancel","select.multiselect_hint":"Use \u2191\u2193 to navigate, Space to toggle, Enter to confirm, Esc to cancel","select.multiselect_empty":"Select at least one option with Space before confirming.","select.back_prev":"\u2190 Back to previous question","input.default":"Default:","input.value":"Value:","input.type_response":"(type your response)","managed.completed":"Task completed","managed.completed.blocked":"Task blocked","managed.completed.continuation":"Task needs continuation",cancelled:"[Cancelled] Operation cancelled by user"},zh:{"dialog.confirm":"[\u786E\u8BA4]","dialog.select":"[\u9009\u62E9]","dialog.input":"[\u8F93\u5165]","confirm.instruction.basic":"\u6309 (y) \u786E\u8BA4, (n) \u62D2\u7EDD","confirm.instruction.always":"\u6309 (y) \u786E\u8BA4, (a) \u59CB\u7EC8\u5141\u8BB8\u6B64\u5DE5\u5177, (n) \u62D2\u7EDD","confirm.instruction.protected":"\u6309 (y) \u786E\u8BA4, (n) \u53D6\u6D88 (\u53D7\u4FDD\u62A4\u8DEF\u5F84)","confirm.result.approved":"\u5DF2\u6279\u51C6","confirm.result.approved_always":"\u5DF2\u6279\u51C6 (\u59CB\u7EC8\u5141\u8BB8)","confirm.result.denied":"\u5DF2\u62D2\u7EDD","tool.bash.title":"\u6267\u884C bash \u547D\u4EE4\uFF1F","tool.shell.title":"\u6267\u884C shell \u547D\u4EE4\uFF1F","tool.write.title":"\u5199\u5165\u6587\u4EF6\uFF1F","tool.edit.title":"\u7F16\u8F91\u6587\u4EF6\uFF1F","tool.generic.title":"\u6267\u884C {tool}\uFF1F","field.reason":"\u539F\u56E0","field.intent":"\u610F\u56FE","field.target":"\u76EE\u6807","field.scope":"\u8303\u56F4","field.risk":"\u98CE\u9669","field.summary":"\u6458\u8981","intent.read":"\u8BFB\u53D6\u9879\u76EE\u6587\u4EF6","intent.delete":"\u5220\u9664\u6587\u4EF6","intent.deps":"\u4FEE\u6539\u4F9D\u8D56\u6216\u73AF\u5883","intent.modify":"\u4FEE\u6539\u6587\u4EF6","intent.execute":"\u6267\u884C\u547D\u4EE4","intent.write_file":"\u5199\u5165\u6587\u4EF6","intent.edit_file":"\u7F16\u8F91\u6587\u4EF6","intent.use_tool":"\u4F7F\u7528 {tool}","risk.destructive":"\u7834\u574F\u6027\u53D8\u66F4","risk.deps":"\u53EF\u80FD\u4FEE\u6539\u4F9D\u8D56\u6216\u672C\u5730\u5DE5\u5177","risk.modify":"\u53EF\u80FD\u4FEE\u6539\u6587\u4EF6","risk.unknown":"\u547D\u4EE4\u6548\u679C\u53D6\u51B3\u4E8E\u53C2\u6570","risk.network":"\u53EF\u80FD\u8BBF\u95EE\u7F51\u7EDC","scope.outside":"\u9879\u76EE\u5916\u90E8","scope.protected":"\u53D7\u4FDD\u62A4\u8DEF\u5F84","waiting.confirm":"\u7B49\u5F85\u4E2D\uFF1A\u9700\u8981\u5BA1\u6279","waiting.select":"\u7B49\u5F85\u4E2D\uFF1A\u8BF7\u9009\u62E9","waiting.input":"\u7B49\u5F85\u4E2D\uFF1A\u8BF7\u56DE\u7B54","placeholder.confirm":"\u8BF7\u56DE\u5E94\u4E0A\u65B9\u7684\u5BA1\u6279\u63D0\u793A...","placeholder.select":"\u8BF7\u5728\u4E0A\u65B9\u9009\u62E9\u4E00\u4E2A\u9009\u9879...","placeholder.input":"\u8BF7\u56DE\u7B54\u4E0A\u65B9\u7684\u63D0\u793A...","placeholder.busy":"\u4EE3\u7406\u6B63\u5728\u5DE5\u4F5C\u4E2D...","placeholder.queue":"\u6392\u961F\u7B49\u5F85\u4E0B\u4E00\u8F6E\u8DDF\u8FDB...","placeholder.idle":"\u8F93\u5165\u6D88\u606F...","select.choice":"\u9009\u9879\uFF1A","select.type_number":"(\u8F93\u5165\u7F16\u53F7)","select.more":"\u8FD8\u6709 {count} \u4E2A\u9009\u9879...","select.more_above":"\u2191 \u4E0A\u65B9\u8FD8\u6709 {count} \u4E2A","select.more_below":"\u2193 \u4E0B\u65B9\u8FD8\u6709 {count} \u4E2A","select.confirm_hint":"\u6309 Enter \u786E\u8BA4\uFF0CEsc \u53D6\u6D88","select.navigate_hint":"\u4F7F\u7528 \u2191\u2193 \u5BFC\u822A\uFF0CEnter \u786E\u8BA4\uFF0CEsc \u53D6\u6D88","select.multiselect_hint":"\u4F7F\u7528 \u2191\u2193 \u5BFC\u822A\uFF0C\u7A7A\u683C \u5207\u6362\u9009\u4E2D\uFF0CEnter \u786E\u8BA4\uFF0CEsc \u53D6\u6D88","select.multiselect_empty":"\u8BF7\u5148\u4F7F\u7528\u7A7A\u683C\u9009\u62E9\u81F3\u5C11\u4E00\u4E2A\u9009\u9879\u3002","select.back_prev":"\u2190 \u8FD4\u56DE\u4E0A\u4E00\u9898","input.default":"\u9ED8\u8BA4\u503C\uFF1A","input.value":"\u503C\uFF1A","input.type_response":"(\u8F93\u5165\u4F60\u7684\u56DE\u7B54)","managed.completed":"\u4EFB\u52A1\u5B8C\u6210","managed.completed.blocked":"\u4EFB\u52A1\u53D7\u963B","managed.completed.continuation":"\u4EFB\u52A1\u9700\u8981\u7EE7\u7EED",cancelled:"[\u5DF2\u53D6\u6D88] \u64CD\u4F5C\u5DF2\u88AB\u7528\u6237\u53D6\u6D88"}};function me(e,t){let o=D[E][e]??D.en[e]??e;if(t)for(let[r,l]of Object.entries(t))o=o.replace(`{${r}}`,String(l));return o}i(me,"t");var W=U(j),X=k(),Se=c.join(X,"sessions"),p=c.join(X,"config.json"),Le=60,s=null,_=!1,J="dumb";function Q(e){let t=c.basename(e).toLowerCase(),n="__KODAX_SHELL_ENV_START__",o=`printf '%s\\0' '${n}'; env -0`;return t==="fish"?{args:["-i","-c",o],sentinel:n}:{args:t==="bash"||t==="zsh"?["-ic",o]:["-lc",o],sentinel:n}}i(Q,"buildShellEnvCommand");function Y(e,t){let n=`${t}\0`,o=e.lastIndexOf(n);if(o===-1)return{};let r=e.slice(o+n.length),l={};for(let u of r.split("\0")){if(!u)continue;let d=u.indexOf("=");d<=0||(l[u.slice(0,d)]=u.slice(d+1))}return l}i(Y,"parseNullDelimitedShellEnv");function Z(e={}){let t=e.env??process.env;if((e.platform??process.platform)==="win32"||t.KODAX_DISABLE_SHELL_ENV_HYDRATION==="1")return!1;let o=e.shell??t.SHELL;if(!o||!c.isAbsolute(o))return!1;let{args:r,sentinel:l}=Q(o),u=e.run??z,d={...t,TERM:J},f=u(o,r,{encoding:"utf8",env:d,maxBuffer:1024*1024,timeout:5e3,windowsHide:!0,detached:!0,stdio:["ignore","pipe","pipe"]});if(f.status!==0||!f.stdout)return!1;let B=typeof f.stdout=="string"?f.stdout:f.stdout.toString("utf8"),V=Y(B,l),C=!1;for(let[v,F]of Object.entries(V))v!=="TERM"&&t[v]===void 0&&(t[v]=F,C=!0);return C}i(Z,"hydrateProcessEnvFromShell");function ee(){if(!_){_=!0;try{Z()}catch{}}}i(ee,"ensureShellEnvironmentHydrated");function xe(){_=!1}i(xe,"resetShellEnvironmentHydrationForTesting");function te(e){O(e.customProviders??[])}i(te,"registerConfiguredCustomProviders");function $(e){if(!Array.isArray(e))return;let t=e.filter(n=>typeof n=="string").map(n=>n.trim()).filter(n=>n.length>0);return t.length>0?t:[]}i($,"normalizeConfiguredExtensions");function ne(e){if(e.permissionMode!=="default")return e;let t={...e,permissionMode:"accept-edits"};try{a.mkdirSync(c.dirname(p),{recursive:!0}),a.writeFileSync(p,JSON.stringify(t,null,2))}catch{}return t}i(ne,"migrateLegacyPermissionModeInConfig");function oe(){if(s)return s;let e="0.7.43";if(e)return s=e,s;let t=c.join(c.dirname(q(import.meta.url)),"../../package.json");if(a.existsSync(t))try{return s=JSON.parse(a.readFileSync(t,"utf-8")).version??"0.0.0",s??"0.0.0"}catch{}return s="0.0.0",s}i(oe,"getVersion");var Ie=oe();function Oe(e){return S(e)}i(Oe,"getProviderModel");function P(e,t){let n=new Set(e.map(r=>r.toLowerCase())),o=[...e];for(let r of t)n.has(r.toLowerCase())||o.push(r);return o}i(P,"mergeModels");function ie(e,t){t||(t=y().providerModels);let n=t?.[e];if(n&&n.length>0){try{let o=h(e);if(o.length>0)return P(n,o)}catch{}try{let o=m(e);if(o)return P(n,o.getAvailableModels())}catch{}return n}try{let o=h(e);if(o.length>0)return o}catch{}try{let o=m(e);if(o)return o.getAvailableModels()}catch{}return[]}i(ie,"getProviderAvailableModels");function re(e,t){let n=L(e,t);if(n!=="unknown")return n;try{let o=m(e);if(o)return o.getReasoningCapability(t)}catch{}return"unknown"}i(re,"getProviderReasoningCapability");function se(e){let t=x(e);if(t)return t;try{return b().find(o=>o.name===e)?.capabilityProfile??null}catch{return null}}i(se,"getProviderCapabilityProfile");function G(e,t){let n=se(e),o=re(e,t);if(n)return{capabilityProfile:n,reasoningCapability:o};try{let r=R(e);return{capabilityProfile:r.getCapabilityProfile(),reasoningCapability:r.getReasoningCapability(t)}}catch{return null}}i(G,"getProviderCapabilityMetadata");function Re(e,t){let n=G(e,t);return n?A({providerName:e,model:t,capabilityProfile:n.capabilityProfile,reasoningCapability:n.reasoningCapability==="unknown"?void 0:n.reasoningCapability}):null}i(Re,"getProviderCapabilitySnapshot");function ae(e,t,n,o){let r=G(e,t);return r?T({providerName:e,model:t,capabilityProfile:r.capabilityProfile,reasoningCapability:r.reasoningCapability==="unknown"?void 0:r.reasoningCapability,reasoningMode:n,hints:o}):null}i(ae,"getProviderPolicyDecision");function ke(e){let t=e.transport==="cli-bridge"?"CLI bridge":"Native API",n=e.conversationSemantics==="last-user-message"?"forwards only the latest user message":"preserves full conversation history",o=e.mcpSupport==="native"?"MCP available":"MCP unavailable";return`${t}; ${n}; ${o}`}i(ke,"describeProviderCapabilitySummary");function Ae(e){switch(e){case"native-budget":return"B";case"native-effort":return"E";case"native-toggle":return"T";default:return"-"}}i(Ae,"formatReasoningCapabilityShort");function ce(e){switch(e){case"native-budget":return"budget";case"native-effort":return"effort";case"native-toggle":return"toggle";default:return"none"}}i(ce,"describeReasoningCapabilityControl");function Te(e,t){if(e==="off")return"Reasoning disabled";switch(t){case"native-budget":return"Uses native thinking budget control";case"native-effort":return"Uses native reasoning effort control";case"native-toggle":return"Uses provider-native thinking toggle only";case"none":return"Runs without native reasoning parameters";case"prompt-only":return"Uses prompt overlays only; no native reasoning parameter";default:return"Runs without native reasoning parameters"}}i(Te,"describeReasoningExecution");function De(e){let t=[];e||(e=y().providerModels);for(let n of I())t.push({name:n.name,model:n.model,models:ie(n.name,e),configured:n.capabilityProfile.transport==="cli-bridge"?!0:n.configured,reasoningCapability:n.reasoningCapability,capabilityProfile:n.capabilityProfile});try{let n=b().map(o=>({...o,models:(()=>{let r=e?.[o.name];return r&&r.length>0?P(r,o.models):o.models})()}));t.push(...n)}catch{}return t}i(De,"getProviderList");function Me(e){if(w(e))return!0;try{return m(e)?.isConfigured()??!1}catch{return!1}}i(Me,"isProviderConfigured");function y(){try{if(a.existsSync(p)){let e=JSON.parse(a.readFileSync(p,"utf-8")),t=e.reasoningCeiling??e.reasoningMode;return ne({...e,reasoningMode:t,extensions:$(e.extensions)})}}catch{}return{}}i(y,"loadConfig");function le(e){e.streamIdleTimeoutMs&&!process.env.KODAX_STREAM_IDLE_TIMEOUT_MS&&(process.env.KODAX_STREAM_IDLE_TIMEOUT_MS=String(e.streamIdleTimeoutMs))}i(le,"applyResilienceRuntimeEnv");function ue(e){e.repoIntelligenceMode&&!process.env.KODAX_REPO_INTELLIGENCE_MODE&&(process.env.KODAX_REPO_INTELLIGENCE_MODE=e.repoIntelligenceMode),e.repointelEndpoint&&!process.env.KODAX_REPOINTEL_ENDPOINT&&(process.env.KODAX_REPOINTEL_ENDPOINT=e.repointelEndpoint),e.repointelBin&&!process.env.KODAX_REPOINTEL_BIN&&(process.env.KODAX_REPOINTEL_BIN=e.repointelBin),e.repoIntelligenceTrace===!0&&!process.env.KODAX_REPO_INTELLIGENCE_TRACE&&(process.env.KODAX_REPO_INTELLIGENCE_TRACE="1")}i(ue,"applyRepoIntelligenceRuntimeEnv");function pe(e){e.verifierLog===!0&&!process.env.KODAX_VERIFIER_LOG&&(process.env.KODAX_VERIFIER_LOG="1")}i(pe,"applyVerifierRuntimeEnv");function de(e){e.stallLog===!0&&!process.env.KODAX_STALL_LOG&&(process.env.KODAX_STALL_LOG="1")}i(de,"applyStallSidecarRuntimeEnv");function Ne(){ee();let e=y();return le(e),ue(e),pe(e),de(e),te(e),M(e.locale),e}i(Ne,"prepareRuntimeConfig");function Ke(e){let n={...y(),...e},o=$(n.extensions);o!==void 0&&(n.extensions=o);for(let r of Object.keys(e))e[r]===void 0&&delete n[r];a.mkdirSync(c.dirname(p),{recursive:!0}),a.writeFileSync(p,JSON.stringify(n,null,2))}i(Ke,"saveConfig");async function Xe(){try{let{stdout:e}=await W("git rev-parse --show-toplevel");return e.trim()}catch{return null}}i(Xe,"getGitRoot");function fe(e){switch(e){case"builtin":return"Built-in";case"runtime":return"Runtime extension";case"custom":return"Custom config";default:return"Unknown"}}i(fe,"formatProviderSourceKind");function $e(e){let t=e.transport==="cli-bridge"?"CLI bridge":"Native API",n=e.conversationSemantics==="last-user-message"?"latest-user-message only":"full conversation history";return[`Source: ${fe(e.sourceKind)}`,`Transport: ${t}`,`Conversation semantics: ${n}`,`Context fidelity: ${e.contextFidelity}`,`Tool calling: ${e.toolCallingFidelity}`,`Session behavior: ${e.sessionSupport}`,`Long-running support: ${e.longRunningSupport}`,`Evidence-heavy flows: ${e.evidenceSupport}`,`Multimodal support: ${e.multimodalSupport}`,`MCP support: ${e.mcpSupport}`,`Reasoning control: ${ce(e.reasoningCapability)}`]}i($e,"formatProviderCapabilityDetailLines");function Ge(e,t,n){return[{label:"General coding",hints:{}},{label:"Evidence-heavy review",hints:{evidenceHeavy:!0}},{label:"Long-running task",hints:{longRunning:!0}}].map(r=>({label:r.label,decision:ae(e,t,n,r.hints)})).filter(r=>r.decision!==null)}i(Ge,"getProviderCommonPolicyScenarios");var N=.5,K=0,g={locked:!1,queue:[]};async function Be(e){for(;g.locked;)await new Promise(t=>g.queue.push(t));g.locked=!0;try{let t=(Date.now()-K)/1e3;t<N&&await new Promise(o=>setTimeout(o,(N-t)*1e3));let n=await e();return K=Date.now(),n}finally{g.locked=!1;let t=g.queue.shift();t&&t()}}i(Be,"rateLimitedCall");export{me as a,X as b,Se as c,p as d,Le as e,Z as f,xe as g,te as h,oe as i,Ie as j,Oe as k,ie as l,re as m,se as n,Re as o,ae as p,ke as q,Ae as r,ce as s,Te as t,De as u,Me as v,y as w,Ne as x,Ke as y,Xe as z,fe as A,$e as B,Ge as C,Be as D};
@@ -0,0 +1,2 @@
1
+ // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
+ import{a}from"./chunk-IYSK7LUK.js";import"./chunk-VHKAJDQD.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{Ab as a,vb as i}from"./chunk-7JLYVWAF.js";import"./chunk-CD3R5YBH.js";import"./chunk-HMYEQJGT.js";import"./chunk-OWSKU55I.js";import"./chunk-DKXUY5F2.js";import"./chunk-3RKBXWZS.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
- 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
- `):" \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
- `);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};
2
+ import{Xa as a,ab as i,hb as c}from"./chunk-7G5PSL6C.js";import"./chunk-K75O2CAE.js";import"./chunk-VHKAJDQD.js";import{a as n}from"./chunk-V4WSBIXB.js";var r=null;function g(e){r=e}n(g,"bindAskUserForConstruction");function u(e){return e.content?.capabilities?.tools??[]}n(u,"readDeclaredTools");var m=n(async e=>{if(!r)return"reject";let t=u(e),o=t.length>0?t.join(", "):"<none>";return await r({question:`Activate constructed tool ${e.name}@${e.version}?
3
+ It declares capabilities.tools = [${o}].`,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=n(async e=>{if(!r)return"reject";let t=e.llmSummary.flaggedConcerns.length>0?e.llmSummary.flaggedConcerns.map(d=>` \u2022 ${d}`).join(`
4
+ `):" \u2022 <none>",o=e.prevContent.instructions??"<no instructions>",s=e.nextContent.instructions??"<no instructions>",l=[`Self-modify activation: ${e.agentName}@${e.fromVersion} \u2192 ${e.toVersion}`,"",`LLM diff summary (severity=${e.llmSummary.severity}):`,` ${e.llmSummary.summary}`,"","Flagged concerns:",t,"",`Budget remaining (after approve): ${e.budgetRemaining-1}/${e.budgetLimit}`,"","\u2500\u2500 Previous instructions \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",o,"\u2500\u2500 Proposed instructions \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",s,"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500","","The LLM summary is advisory \u2014 read the proposed instructions above before approving."].join(`
5
+ `);return await r({question:l,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 y(e){a({cwd:e,policy:m,selfModifyAskUser:p});let t=await i(),o=await c({cwd:e});return{loaded:t.loaded,failed:t.failed,tampered:t.tampered,markdownLoaded:o.loaded,markdownFailures:o.failed}}n(y,"bootstrapConstructionRuntime");export{g as bindAskUserForConstruction,y as bootstrapConstructionRuntime};
@@ -0,0 +1,2 @@
1
+ // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
+ import{$ as Vb,$a as Vc,$b as Vd,$c as Ve,A as ub,Aa as uc,Ab as ud,Ac as ue,Ad as vf,B as vb,Ba as vc,Bb as vd,Bc as ve,Bd as wf,C as wb,Ca as wc,Cb as wd,Cc as we,Cd as xf,D as xb,Da as xc,Db as xd,Dc as xe,Dd as yf,E as yb,Ea as yc,Eb as yd,Ec as ye,Ed as zf,F as zb,Fa as zc,Fb as zd,Fc as ze,Fd as Af,G as Ab,Ga as Ac,Gb as Ad,Gc as Ae,Gd as Bf,H as Bb,Ha as Bc,Hb as Bd,Hc as Be,I as Cb,Ia as Cc,Ib as Cd,Ic as Ce,J as Db,Ja as Dc,Jb as Dd,Jc as De,K as Eb,Ka as Ec,Kb as Ed,Kc as Ee,L as Fb,La as Fc,Lb as Fd,Lc as Fe,M as Gb,Ma as Gc,Mb as Gd,Mc as Ge,N as Hb,Na as Hc,Nb as Hd,Nc as He,O as Ib,Oa as Ic,Ob as Id,Oc as Ie,P as Jb,Pa as Jc,Pb as Jd,Pc as Je,Q as Kb,Qa as Kc,Qb as Kd,Qc as Ke,R as Lb,Ra as Lc,Rb as Ld,Rc as Le,S as Mb,Sa as Mc,Sb as Md,Sc as Me,T as Nb,Ta as Nc,Tb as Nd,Tc as Ne,U as Ob,Ua as Oc,Ub as Od,Uc as Oe,V as Pb,Va as Pc,Vb as Pd,Vc as Pe,W as Qb,Wa as Qc,Wb as Qd,Wc as Qe,X as Rb,Xa as Rc,Xb as Rd,Xc as Re,Y as Sb,Ya as Sc,Yb as Sd,Yc as Se,Z as Tb,Za as Tc,Zb as Td,Zc as Te,_ as Ub,_a as Uc,_b as Ud,_c as Ue,a as X,aa as Wb,ab as Wc,ac as Wd,ad as We,b as Y,ba as Xb,bb as Xc,bc as Xd,bd as Xe,c as Z,ca as Yb,cb as Yc,cc as Yd,cd as Ye,d as _,da as Zb,db as Zc,dc as Zd,dd as Ze,e as $,ea as _b,eb as _c,ec as _d,ed as _e,f as $a,fa as $b,fb as $c,fc as $d,fd as $e,g as ab,ga as ac,gb as ad,gc as ae,gd as af,h as bb,ha as bc,hb as bd,hc as be,hd as bf,i as cb,ia as cc,ib as cd,ic as ce,id as cf,j as db,ja as dc,jb as dd,jc as de,jd as df,k as eb,ka as ec,kb as ed,kc as ee,kd as ef,l as fb,la as fc,lb as fd,lc as fe,ld as ff,m as gb,ma as gc,mb as gd,mc as ge,md as gf,n as hb,na as hc,nb as hd,nc as he,nd as hf,o as ib,oa as ic,ob as id,oc as ie,od as jf,p as jb,pa as jc,pb as jd,pc as je,pd as kf,q as kb,qa as kc,qb as kd,qc as ke,qd as lf,r as lb,ra as lc,rb as ld,rc as le,rd as mf,s as mb,sa as mc,sb as md,sc as me,sd as nf,t as nb,ta as nc,tb as nd,tc as ne,td as of,u as ob,ua as oc,ub as od,uc as oe,ud as pf,v as pb,va as pc,vb as pd,vc as pe,vd as qf,w as qb,wa as qc,wb as qd,wc as qe,wd as rf,x as rb,xa as rc,xb as rd,xc as re,xd as sf,y as sb,ya as sc,yb as sd,yc as se,yd as tf,z as tb,za as tc,zb as td,zc as te,zd as uf}from"./chunk-7G5PSL6C.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,ma as N,na as O,oa as P,pa as Q,qa as R,ra as S,sa as T,t as e,ta as U,u as f,ua as V,v as g,va as W,w as h,x as i,y as j}from"./chunk-K75O2CAE.js";import{$b as Ka,Xa as va,Ya as wa,Yb as Ha,Zb as Ia,_b as Ja,a as aa,ac as La,b as ba,c as ca,d as da,e as ea,f as fa,h as ga,hc as Ma,i as ha,ic as Na,j as ia,jc as Oa,k as ja,ka as pa,kb as xa,kc as Pa,l as ka,lb as ya,lc as Qa,m as la,mb as za,mc as Ra,n as ma,na as qa,nb as Aa,nc as Sa,o as na,ob as Ba,p as oa,pb as Ca,pc as Ta,qb as Da,qc as Ua,rb as Ea,rc as Va,sb as Fa,sc as Wa,tb as Ga,tc as Xa,ua as ra,uc as Ya,va as sa,wa as ta,xa as ua,xc as Za,yc as _a}from"./chunk-VHKAJDQD.js";import"./chunk-V4WSBIXB.js";export{df as AUTO_MODE_DENIAL_CONSECUTIVE_THRESHOLD,ef as AUTO_MODE_DENIAL_CUMULATIVE_THRESHOLD,zf as BASH_POLICY_SPEC,kf as BREAKER_ERROR_THRESHOLD,lf as BREAKER_WINDOW_MS,ab as CANCELLED_TOOL_RESULT_MESSAGE,$a as CANCELLED_TOOL_RESULT_PREFIX,Ve as CODING_AGENT_MARKER,oe as CODING_INVARIANTS,de as CODING_SUMMARY_PROMPT,ee as CODING_UPDATE_SUMMARY_PROMPT,Ac as CapabilityDeniedError,qe as Client,Bc as ConstructionManifestError,fe as DEFAULT_CODING_AGENT_NAME,Ke as DEFAULT_DANGEROUS_PATTERNS,yc as DEFAULT_HANDLER_TIMEOUT_MS,Nd as DEFAULT_RESILIENCE_CONFIG,Je as DEFAULT_SAFE_PATTERNS,Lc as DEFAULT_SELF_MODIFY_BUDGET,vf as DEFAULT_SPECULATIVE_WINDOW_MS,cb as DEFAULT_TOOL_OUTPUT_MAX_BYTES,bb as DEFAULT_TOOL_OUTPUT_MAX_LINES,oa as DefaultSummaryCompaction,Se as EMIT_VERDICT_TOOL_NAME,_ as ErrorCategory,pc as GENERATOR_AGENT_NAME,ha as KODAX_API_MIN_INTERVAL,p as KODAX_DEFAULT_PROVIDER,ba as KODAX_DEFAULT_TIMEOUT,ca as KODAX_HARD_TIMEOUT,fa as KODAX_MAX_INCOMPLETE_RETRIES,da as KODAX_MAX_RETRIES,aa as KODAX_MAX_TOKENS,o as KODAX_PROVIDERS,n as KODAX_PROVIDER_SNAPSHOTS,d as KODAX_REASONING_MODE_SEQUENCE,ea as KODAX_RETRY_BASE_DELAY,ga as KODAX_STAGGER_DELAY,id as KODAX_TOOLS,l as KodaXAnthropicCompatProvider,k as KodaXBaseProvider,qe as KodaXClient,a as KodaXError,ed as KodaXExtensionRuntime,m as KodaXOpenAICompatProvider,b as KodaXProviderError,c as KodaXRateLimitError,Y as KodaXSessionError,Z as KodaXTerminalError,X as KodaXToolError,Ha as LINEAGE_ENTRY_TYPES,Ja as LineageCompaction,Ia as LineageExtension,Ea as McpCapabilityProvider,Fa as McpManager,Da as McpServerRuntime,oc as PLANNER_AGENT_NAME,ia as PROMISE_PATTERN,Bd as PROMPT_SECTION_REGISTRY,Ue as PROTOCOL_EMITTER_TOOLS,Sd as ProviderRecoveryCoordinator,db as READ_DEFAULT_LIMIT,fb as READ_MAX_LINE_CHARS,eb as READ_PREFLIGHT_SIZE_BYTES,Jb as REPOINTEL_DEFAULT_ENDPOINT,qa as Runner,nc as SCOUT_AGENT_NAME,Ad as SYSTEM_PROMPT,Qd as StableBoundaryTracker,sc as TASK_ENGINE_ROLE_AGENTS,ze as TOOL_RESULT_TRUNCATION_GUARDRAIL_NAME,qc as WORKER_AGENT_NAME,Sc as _resetRuntimeForTesting,Vc as activate,Ab as analyzeChangedScope,Jc as appendAuditEntry,Ra as appendSessionLineageLabel,ve as applyFanoutBranchTransition,Sa as applySessionCompaction,$b as applyToolResultGuardrail,Ya as archiveOldIslands,we as assignFanoutBranchWorker,jf as autoModeDenialShouldFallback,sf as bashSignalCollector,ke as boundedRevise,of as breakerShouldFallback,le as budgetCeiling,$d as buildAmaControllerDecision,Gd as buildCapabilityContextSections,We as buildClassifierPrompt,Zd as buildFallbackRoutingDecision,se as buildFanoutSchedulerPlan,Gc as buildLlmReviewPrompt,Kd as buildPromptMessageContent,ae as buildPromptOverlay,Fd as buildPromptSnapshot,Td as buildProviderCapabilitySnapshot,_d as buildProviderPolicyHintsForDecision,Ud as buildProviderPolicyPromptNotes,g as buildReasoningOverrideKey,zb as buildRepoIntelligenceContext,Ob as buildRepoIntelligenceIndex,wb as buildRepoOverview,Wa as buildSessionTree,Id as buildSystemPrompt,Hd as buildSystemPromptSnapshot,rf as checkAbsoluteDeny,Jd as checkIncompleteToolCalls,ce as checkPromiseSignal,Ye as classify,Me as classifyBashCommand,$ as classifyError,Pd as classifyResilienceError,wa as cleanupIncompleteToolCalls,j as clearReasoningOverride,Q as clearRuntimeModelProviders,uf as collectAllSignals,Oe as computeInputSignature,Ze as computeRulesFingerprint,Rc as configureRuntime,dc as convertCapabilityReadResult,cc as convertProviderSearchResults,ue as countActiveFanoutBranches,Xa as countActiveLineageMessages,ka as countTokens,la as createAgent,ff as createAutoModeDenialTracker,yf as createAutoModeToolGuardrail,Le as createBashClassifierConfig,Bf as createBashPrefixExtractor,qd as createBuiltinToolDefinition,mf as createCircuitBreaker,Cc as createCtxProxy,C as createCustomProvider,ge as createDefaultCodingAgent,Ne as createDenialTracker,fd as createExtensionRuntime,re as createFanoutSchedulerInput,ma as createHandoff,na as createInMemorySession,Fe as createKodaXTaskRunner,ya as createMcpCapabilityId,Ga as createMcpManager,Ca as createMcpTransport,Cd as createPromptSection,be as createReasoningPlan,ie as createSessionControl,Ma as createSessionLineage,Ae as createToolResultTruncationGuardrail,xa as defaultMcpCacheDir,zc as defaultPolicy,Qc as disableSelfModify,cd as discoverMarkdownAgents,vc as drainPendingSwaps,Te as emitVerdict,ja as estimateTokens,Vd as evaluateProviderPolicy,wc as exec,zd as executeTool,Za as extractArtifactLedger,Af as extractCommandPrefix,Md as extractComparableUserMessageText,bc as extractHtmlTitle,Ld as extractPromptComparableText,La as extractTitleFromMessages,tf as fileSignalCollector,fc as finalizeRetrievalResult,$c as findByVersion,Ta as findPreviousUserEntryId,Va as forkSessionLineage,mc as formatAgentsForPrompt,He as formatParallelDispatchResult,gb as formatSize,Ka as generateSessionId,hd as getActiveExtensionRuntime,sa as getAgentConfigHome,ta as getAgentConfigPath,sd as getAllRegisteredTools,ua as getAppDataDir,T as getAvailableProviderNames,pd as getBuiltinRegisteredToolDefinition,od as getBuiltinToolDefinition,K as getCustomModelCapabilities,E as getCustomProvider,H as getCustomProviderList,J as getCustomProviderModelDescriptors,I as getCustomProviderModels,G as getCustomProviderNames,Re as getDenialContext,te as getFanoutBranch,Tb as getImpactEstimate,kc as getKodaxGlobalDir,Ba as getMcpCachePaths,z as getModelCapabilities,Qb as getModuleContext,Sb as getProcessContext,q as getProvider,u as getProviderConfiguredCapabilityProfile,t as getProviderConfiguredReasoningCapability,v as getProviderList,s as getProviderModel,y as getProviderModelDescriptors,w as getProviderModels,md as getRegisteredToolDefinition,Pb as getRepoIntelligenceIndex,xb as getRepoOverview,Ub as getRepoRoutingSignals,wd as getRequiredToolParams,N as getRuntimeModelProvider,P as getRuntimeModelProviderNames,Na as getSessionLineagePath,Oa as getSessionMessagesFromLineage,Rb as getSymbolContext,kd as getTool,ld as getToolDefinition,nd as getToolRegistrations,_b as getToolResultPolicy,uc as hasPendingSwap,Yd as inferTaskType,pb as inspectEditFailure,Mb as inspectRepoIntelligenceRuntime,F as isCustomProviderName,Qe as isDeniedRecently,S as isKnownProvider,Ge as isParallelDispatchDirective,r as isProviderConfigured,x as isProviderName,O as isRuntimeModelProviderName,ud as isToolFileMutation,vd as isToolMutation,td as isToolPlanModeAllowed,ad as listAll,W as listAllModelCapabilities,Yc as listArtifacts,A as listBuiltinModelCapabilities,rd as listBuiltinToolDefinitions,_c as listConstructed,L as listCustomProviderModelCapabilities,yd as listToolDefinitions,xd as listTools,lc as loadAgentsFiles,bd as loadAgentsFromMarkdown,bf as loadAutoRules,Dc as loadHandler,h as loadReasoningOverride,ye as markFanoutBranchCancelled,xe as markFanoutBranchCompleted,_a as mergeArtifactLedger,Dd as orderPromptSections,af as parseAutoRules,Xe as parseClassifierOutput,ob as parseEditToolError,Hc as parseLlmReviewVerdict,za as parseMcpCapabilityId,pf as parseModelSpec,kb as persistToolOutput,Vb as prewarmRepoIntelligenceCaches,Zc as readArtifact,Kc as readAuditEntries,Mc as readBudget,Pc as readDisableState,wf as readSpeculativeWindowFromEnv,_e as readTrustState,e as reasoningCapabilityToOverride,Xd as reasoningModeToDepth,f as reasoningOverrideToCapability,Rd as reconstructMessagesWithToolGuard,hf as recordAutoModeAllow,gf as recordAutoModeBlock,nf as recordBreakerError,Pe as recordDenial,pe as registerCodingInvariants,Ce as registerConfiguredMcpCapabilityProvider,D as registerCustomProviders,M as registerModelProvider,De as registerOfficialSandboxExtension,pa as registerPresetDispatcher,jd as registerTool,Wc as rehydrateActiveArtifacts,Nc as remainingSelfModifyBudget,Bb as renderChangedScope,Ib as renderImpactEstimate,Fb as renderModuleContext,Hb as renderProcessContext,Ed as renderPromptSections,yb as renderRepoOverview,ec as renderRetrievalResult,Gb as renderSymbolContext,Oc as resetBudget,qf as resolveClassifierModel,tc as resolveConstructedAgent,V as resolveModelCapabilities,R as resolveProvider,U as resolveProviderModelDescriptors,Wd as resolveReasoningMode,Lb as resolveRepoIntelligenceMode,Kb as resolveRepoIntelligenceRuntimeConfig,Od as resolveResilienceConfig,Pa as resolveSessionLineageTarget,me as resolveToolCapability,Xc as revoke,Ua as rewindSessionLineage,dd as rollbackSelfModify,Ec as runAstRules,he as runKodaX,Ic as runLlmReview,Be as runManagedTask,Ee as runOrchestration,i as saveReasoningOverride,Aa as searchMcpCatalog,gd as setActiveExtensionRuntime,ra as setAgentConfigHome,Qa as setSessionLineageActiveEntry,xf as speculativeRace,Tc as stage,je as startKodaX,cf as stripAssistantText,ac as stripHtmlToText,Uc as testArtifact,vb as toolAskUserQuestion,rb as toolBash,Eb as toolChangedDiff,Db as toolChangedScope,ic as toolCodeSearch,nb as toolEdit,sb as toolGlob,tb as toolGrep,Zb as toolImpactEstimate,qb as toolInsertAfterAnchor,Wb as toolModuleContext,ne as toolPermission,Yb as toolProcessContext,lb as toolRead,Cb as toolRepoOverview,jc as toolSemanticLookup,Xb as toolSymbolContext,ub as toolUndo,hc as toolWebFetch,gc as toolWebSearch,mb as toolWrite,hb as truncateHead,jb as truncateLine,ib as truncateTail,$e as trustProjectRules,va as validateAndFixToolHistory,B as validateCustomProviderConfig,Ie as validateSubtaskIndependence,Fc as validateToolSchemaForProvider,Nb as warmRepoIntelligenceRuntime,xc as webhook,rc as workerAgent};
@@ -0,0 +1,2 @@
1
+ // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
+ import{$,A,Aa,B,Ba,C,Ca,D,Da,E,Ea,F,Fa,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,wa,x,xa,y,ya,z,za}from"./chunk-K75O2CAE.js";import"./chunk-V4WSBIXB.js";export{wa 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,ya as calculateCost,r as clampThinkingBudget,y as clearReasoningOverride,pa as clearRuntimeModelProviders,za as createCostTracker,ba as createCustomProvider,A as extractHeadersFromError,Da as formatCost,Ea as formatCostReport,sa as getAvailableProviderNames,K as getCodexCliDefaultModel,M as getCodexCliKnownModels,xa as getCostRate,ja as getCustomModelCapabilities,da as getCustomProvider,ga as getCustomProviderList,ia as getCustomProviderModelDescriptors,ha as getCustomProviderModels,fa as getCustomProviderNames,p as getDefaultThinkingDepthForMode,L as getGeminiCliDefaultModel,N as getGeminiCliKnownModels,_ as getModelCapabilities,R as getProvider,V as getProviderConfiguredCapabilityProfile,U as getProviderConfiguredReasoningCapability,W as getProviderList,T as getProviderModel,Z as getProviderModelDescriptors,X as getProviderModels,m as getReasoningCapability,ma as getRuntimeModelProvider,oa as getRuntimeModelProviderNames,Ca as getSummary,E as insertCacheBoundary,F as isCacheBoundary,ea as isCustomProviderName,ra as isKnownProvider,S as isProviderConfigured,Y as isProviderName,n as isReasoningEnabled,na as isRuntimeModelProviderName,va as listAllModelCapabilities,$ as listBuiltinModelCapabilities,ka as listCustomProviderModelCapabilities,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,Aa as recordRetry,Ba as recordUsage,ca as registerCustomProviders,la as registerModelProvider,ua as resolveModelCapabilities,qa as resolveProvider,ta as resolveProviderModelDescriptors,q as resolveThinkingBudget,x as saveReasoningOverride,Fa as sideQuery,H as stripCacheBoundaries,aa as validateCustomProviderConfig};
@@ -0,0 +1,2 @@
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-YMRZBS4G.js";import"./chunk-7G5PSL6C.js";import"./chunk-K75O2CAE.js";import"./chunk-VHKAJDQD.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,21 +1,21 @@
1
1
  import { D as KodaXReasoningMode } from './types-chunks/types.d-B1uGoVTE.js';
2
2
  export { K as KodaXAmaControllerDecision, a as KodaXAmaFanoutClass, b as KodaXAmaFanoutPolicy, c as KodaXAmaProfile, d as KodaXAmaTactic, g as KodaXContentBlock, h as KodaXCustomProviderConfig, i as KodaXExecutionMode, l as KodaXImageBlock, m as KodaXMessage, n as KodaXModelDescriptor, p as KodaXProtocolFamily, q as KodaXProviderCapabilityProfile, r as KodaXProviderConfig, t as KodaXProviderConversationSemantics, w as KodaXProviderMcpSupport, z as KodaXProviderStreamOptions, B as KodaXProviderTransport, C as KodaXReasoningCapability, E as KodaXReasoningOverride, F as KodaXReasoningRequest, G as KodaXRedactedThinkingBlock, H as KodaXReviewScale, I as KodaXRiskLevel, J as KodaXStreamResult, M as KodaXTaskBudgetOverrides, P as KodaXTaskRoutingDecision, Q as KodaXTaskType, S as KodaXTextBlock, T as KodaXThinkingBlock, U as KodaXThinkingBudgetMap, V as KodaXThinkingDepth, W as KodaXTokenUsage, X as KodaXToolDefinition, Y as KodaXToolResultBlock, a0 as KodaXToolUseBlock } from './types-chunks/types.d-B1uGoVTE.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, Y as validateCustomProviderConfig } from './types-chunks/resolver.d-DX9au4NJ.js';
4
- export { K as KodaXBaseProvider } from './types-chunks/cost-tracker.d-B6vMoLLF.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, h as KodaXModelCapabilities, j as KodaXOpenAICompatProvider, k as KodaXProviderError, l as KodaXRateLimitError, P as ProviderName, n as buildReasoningOverrideKey, p as clearReasoningOverride, q as clearRuntimeModelProviders, r as createCustomProvider, s as getAvailableProviderNames, t as getCustomModelCapabilities, u as getCustomProvider, v as getCustomProviderList, w as getCustomProviderModelDescriptors, x as getCustomProviderModels, y as getCustomProviderNames, A as getModelCapabilities, B as getProvider, C as getProviderConfiguredCapabilityProfile, D as getProviderConfiguredReasoningCapability, G as getProviderModelDescriptors, H as getProviderModels, J as getRuntimeModelProvider, L as getRuntimeModelProviderNames, M as isCustomProviderName, N as isKnownProvider, Q as isProviderName, S as isRuntimeModelProviderName, T as listAllModelCapabilities, U as listBuiltinModelCapabilities, V as listCustomProviderModelCapabilities, W as loadReasoningOverride, Z as reasoningCapabilityToOverride, _ as reasoningOverrideToCapability, $ as registerCustomProviders, a0 as registerModelProvider, a1 as resolveModelCapabilities, a2 as resolveProvider, a3 as resolveProviderModelDescriptors, a5 as saveReasoningOverride, a6 as validateCustomProviderConfig } from './types-chunks/resolver.d-CA68_NeH.js';
4
+ export { K as KodaXBaseProvider } from './types-chunks/base.d-FUJahC0i.js';
5
5
  export { C as CapabilityKind, a as CapabilityProvider, b as CapabilityResult } from './types-chunks/capability.d-3C62G8Eq.js';
6
- 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, aS 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 KodaXSessionControl, ac as KodaXSessionMutators, ad as KodaXSessionOptions, ae as KodaXSkillInvocationContext, af as KodaXSkillMap, ag as KodaXSkillProjectionConfidence, ah as KodaXTaskCapabilityHint, ai as KodaXTaskContract, aj as KodaXTaskEvidenceArtifact, ak as KodaXTaskEvidenceBundle, al as KodaXTaskEvidenceEntry, am as KodaXTaskRole, an as KodaXTaskRoleAssignment, ao as KodaXTaskStatus, ap as KodaXTaskSurface, aq as KodaXTaskToolPolicy, ar as KodaXTaskVerificationContract, as as KodaXTaskVerificationCriterion, at as KodaXTaskWorkItem, au as KodaXToolExecutionContext, av as KodaXVerificationScorecard, aw as KodaXVerificationScorecardCriterion, ax as LoadAgentsOptions, ay as LoadedRulesSource, az as ProviderExecutionState, aA as ProviderRecoveryEvent, aB as ProviderResilienceConfig, aC as ProviderResiliencePolicy, aD as RecoveryAction, aE as RecoveryDecision, aF as RecoveryLadderStep, aG as RecoveryResult, aH as ResilienceClassification, aI as ResilienceErrorClass, aJ as RulesLoadError, aK as RulesLoadResult, aL as SignalCollector, aM as SkippedRulesSource, aN as TodoItem, aO as TodoList, aP as TodoStatus, aQ as ToolCallSignal, aR as TrustState, b7 as autoModeDenialShouldFallback, b8 as breakerShouldFallback, aT as collectAllSignals, aU as computeRulesFingerprint, aY as createAutoModeDenialTracker, aV as createAutoModeToolGuardrail, aW as createBashPrefixExtractor, aX as createCircuitBreaker, aZ as extractCommandPrefix, a_ as formatAgentsForPrompt, a$ as getKodaxGlobalDir, b0 as loadAgentsFiles, b1 as loadAutoRules, b2 as parseAutoRules, b3 as readTrustState, b4 as recordAutoModeAllow, b5 as recordAutoModeBlock, b6 as recordBreakerError, b9 as trustProjectRules } from './types-chunks/bash-prefix-extractor.d-CkhaqKkg.js';
7
- 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, 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, 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, RunningSession, 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, ToolSideEffect, 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, createPromptSection, createReasoningPlan, createSessionControl, createSessionLineage, createToolResultTruncationGuardrail, defaultPolicy, disableSelfModify, drainPendingSwaps, emitContract, emitHandoff, emitScoutVerdict, emitVerdict, evaluateProviderPolicy, exec, executeTool, extractArtifactLedger, extractComparableUserMessageText, extractHtmlTitle, extractPromptComparableText, extractTitleFromMessages, fileSignalCollector, finalizeRetrievalResult, findByVersion, findPreviousUserEntryId, forkSessionLineage, formatParallelDispatchResult, formatSize, generateSessionId, generatorAgent, generatorCodingAgent, getActiveExtensionRuntime, getAllRegisteredTools, getBuiltinRegisteredToolDefinition, getBuiltinToolDefinition, getDenialContext, getFanoutBranch, getImpactEstimate, getModuleContext, getProcessContext, getRegisteredToolDefinition, getRepoIntelligenceIndex, getRepoOverview, getRepoRoutingSignals, getRequiredToolParams, getSessionLineagePath, getSessionMessagesFromLineage, getSymbolContext, getTool, getToolDefinition, getToolRegistrations, getToolResultPolicy, hasPendingSwap, inferTaskType, inspectEditFailure, inspectRepoIntelligenceRuntime, isDeniedRecently, isParallelDispatchDirective, isToolFileMutation, isToolMutation, isToolPlanModeAllowed, listAll, listArtifacts, listBuiltinToolDefinitions, listConstructed, listToolDefinitions, listTools, loadHandler, markFanoutBranchCancelled, markFanoutBranchCompleted, mergeArtifactLedger, orderPromptSections, parseClassifierOutput, parseEditToolError, parseLlmReviewVerdict, 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, setActiveExtensionRuntime, setSessionLineageActiveEntry, speculativeRace, stage, startKodaX, 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';
6
+ 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, aO as BREAKER_WINDOW_MS, l as BashPrefixExtractor, m as BashPrefixResult, o as CircuitBreaker, p as CreateBashPrefixExtractorOptions, r as ExtractCommandPrefixOptions, F as FailureStage, K as KodaXAgentMode, s as KodaXBudgetDisclosureZone, t as KodaXBudgetExtensionRequest, u as KodaXChildAgentResult, v as KodaXChildContextBundle, w as KodaXContextOptions, x as KodaXContextTokenSnapshot, y as KodaXEvents, z as KodaXFanoutBranchLifecycle, G as KodaXFanoutBranchRecord, H as KodaXFanoutBranchTransition, I as KodaXFanoutSchedulerInput, J as KodaXFanoutSchedulerPlan, L as KodaXInputArtifact, M as KodaXManagedBudgetSnapshot, O as KodaXManagedTask, P as KodaXManagedTaskRuntimeState, Q as KodaXManagedTaskStatusEvent, R as KodaXMcpConnectMode, S as KodaXMcpServerConfig, T as KodaXMcpServersConfig, U as KodaXMcpTransport, V as KodaXMemoryStrategy, W as KodaXOptions, X as KodaXOrchestrationVerdict, Y as KodaXParentReductionContract, Z as KodaXProviderPolicyHints, _ as KodaXRepoIntelligenceCapability, $ as KodaXRepoIntelligenceMode, a0 as KodaXRepoIntelligenceResolvedMode, a1 as KodaXRepoIntelligenceTrace, a2 as KodaXRepoIntelligenceTraceEvent, a3 as KodaXRepoRoutingSignals, a4 as KodaXResult, a5 as KodaXRoleRoundSummary, a6 as KodaXRuntimeVerificationContract, a7 as KodaXSessionControl, a8 as KodaXSessionMutators, a9 as KodaXSessionOptions, aa as KodaXSkillInvocationContext, ab as KodaXSkillMap, ac as KodaXSkillProjectionConfidence, ad as KodaXTaskCapabilityHint, ae as KodaXTaskContract, af as KodaXTaskEvidenceArtifact, ag as KodaXTaskEvidenceBundle, ah as KodaXTaskEvidenceEntry, ai as KodaXTaskRole, aj as KodaXTaskRoleAssignment, ak as KodaXTaskStatus, al as KodaXTaskSurface, am as KodaXTaskToolPolicy, an as KodaXTaskVerificationContract, ao as KodaXTaskVerificationCriterion, ap as KodaXTaskWorkItem, aq as KodaXToolExecutionContext, ar as KodaXVerificationScorecard, as as KodaXVerificationScorecardCriterion, at as LoadAgentsOptions, au as LoadedRulesSource, av as ProviderExecutionState, aw as ProviderRecoveryEvent, ax as ProviderResilienceConfig, ay as ProviderResiliencePolicy, az as RecoveryAction, aA as RecoveryDecision, aB as RecoveryLadderStep, aC as RecoveryResult, aD as ResilienceClassification, aE as ResilienceErrorClass, aF as RulesLoadError, aG as RulesLoadResult, aH as SignalCollector, aI as SkippedRulesSource, aJ as TodoItem, aK as TodoList, aL as TodoStatus, aM as ToolCallSignal, aN as TrustState, b3 as autoModeDenialShouldFallback, b4 as breakerShouldFallback, aP as collectAllSignals, aQ as computeRulesFingerprint, aU as createAutoModeDenialTracker, aR as createAutoModeToolGuardrail, aS as createBashPrefixExtractor, aT as createCircuitBreaker, aV as extractCommandPrefix, aW as formatAgentsForPrompt, aX as getKodaxGlobalDir, aY as loadAgentsFiles, aZ as loadAutoRules, a_ as parseAutoRules, a$ as readTrustState, b0 as recordAutoModeAllow, b1 as recordAutoModeBlock, b2 as recordBreakerError, b5 as trustProjectRules } from './types-chunks/bash-prefix-extractor.d-DMrGImMl.js';
7
+ 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_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, DiscoverMarkdownAgentsResult, DiscoveredMarkdownAgent, EMIT_VERDICT_TOOL_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, LanguageCapabilityTier, LlmReviewClient, LlmReviewResult, LlmReviewVerdict, LoadAgentsFromMarkdownOptions, LoadAgentsFromMarkdownResult, LoadHandlerOptions, LoadHandlerScope, LoadedExtensionDiagnostic, LocalToolDefinition, MarkdownLoadFailure, 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, RunningSession, 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, ToolSideEffect, WORKER_AGENT_NAME, WebhookOptions, WebhookResult, _resetRuntimeForTesting, activate, analyzeChangedScope, appendAuditEntry, applyFanoutBranchTransition, applyToolResultGuardrail, assignFanoutBranchWorker, bashSignalCollector, boundedRevise, budgetCeiling, buildAmaControllerDecision, buildCapabilityContextSections, buildClassifierPrompt, buildFallbackRoutingDecision, buildFanoutSchedulerPlan, buildLlmReviewPrompt, buildPromptMessageContent, buildPromptOverlay, buildPromptSnapshot, buildProviderCapabilitySnapshot, buildProviderPolicyHintsForDecision, buildProviderPolicyPromptNotes, buildRepoIntelligenceContext, buildRepoIntelligenceIndex, buildRepoOverview, buildSystemPrompt, buildSystemPromptSnapshot, checkAbsoluteDeny, checkIncompleteToolCalls, checkPromiseSignal, classify, classifyBashCommand, classifyError, classifyResilienceError, computeInputSignature, configureRuntime, convertCapabilityReadResult, convertProviderSearchResults, countActiveFanoutBranches, createBashClassifierConfig, createBuiltinToolDefinition, createCtxProxy, createDefaultCodingAgent, createDenialTracker, createExtensionRuntime, createFanoutSchedulerInput, createKodaXTaskRunner, createPromptSection, createReasoningPlan, createSessionControl, createToolResultTruncationGuardrail, defaultPolicy, disableSelfModify, discoverMarkdownAgents, drainPendingSwaps, emitVerdict, evaluateProviderPolicy, exec, executeTool, extractComparableUserMessageText, extractHtmlTitle, extractPromptComparableText, fileSignalCollector, finalizeRetrievalResult, findByVersion, formatParallelDispatchResult, formatSize, getActiveExtensionRuntime, getAllRegisteredTools, getBuiltinRegisteredToolDefinition, getBuiltinToolDefinition, getDenialContext, getFanoutBranch, getImpactEstimate, getModuleContext, getProcessContext, getRegisteredToolDefinition, getRepoIntelligenceIndex, getRepoOverview, getRepoRoutingSignals, getRequiredToolParams, getSymbolContext, getTool, getToolDefinition, getToolRegistrations, getToolResultPolicy, hasPendingSwap, inferTaskType, inspectEditFailure, inspectRepoIntelligenceRuntime, isDeniedRecently, isParallelDispatchDirective, isToolFileMutation, isToolMutation, isToolPlanModeAllowed, listAll, listArtifacts, listBuiltinToolDefinitions, listConstructed, listToolDefinitions, listTools, loadAgentsFromMarkdown, loadHandler, markFanoutBranchCancelled, markFanoutBranchCompleted, orderPromptSections, parseClassifierOutput, parseEditToolError, parseLlmReviewVerdict, parseModelSpec, persistToolOutput, 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, resolveToolCapability, revoke, rollbackSelfModify, runAstRules, runKodaX, runLlmReview, runManagedTask, runOrchestration, setActiveExtensionRuntime, speculativeRace, stage, startKodaX, 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, workerAgent } from './sdk-coding.js';
8
8
  export { K as KodaXCompactMemoryProgress, a as KodaXCompactMemorySeed, b as KodaXExtensionSessionRecord, c as KodaXExtensionSessionState, f as KodaXJsonValue, h as KodaXSessionArtifactLedgerEntry, i as KodaXSessionBranchSummaryEntry, j as KodaXSessionCompactionEntry, k as KodaXSessionData, l as KodaXSessionEntry, m as KodaXSessionEntryBase, n as KodaXSessionLabelEntry, o as KodaXSessionLineage, p as KodaXSessionMessageEntry, q as KodaXSessionMeta, r as KodaXSessionNavigationOptions, s as KodaXSessionRuntimeInfo, t as KodaXSessionScope, u as KodaXSessionStorage, v as KodaXSessionTreeNode, w as KodaXSessionUiHistoryItem, x as KodaXSessionUiHistoryItemType, y as KodaXSessionWorkspaceKind, S as SessionErrorMetadata } from './types-chunks/types.d-mM8vqvhT.js';
9
- 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, a2 as cleanupIncompleteToolCalls, a3 as countTokens, a4 as createInMemorySession, a7 as estimateTokens, aa as getAgentConfigHome, ab as getAgentConfigPath, ac as getAppDataDir, ad as registerPresetDispatcher, ag as setAgentConfigHome, ah as validateAndFixToolHistory } from './types-chunks/history-cleanup.d-DznrzEiU.js';
10
- export { A as Agent, a as AgentMessage, c as AgentReasoningProfile, d as AgentTool, G as Guardrail, H as Handoff, R as ReasoningDepth, Q as createAgent, U as createHandoff } from './types-chunks/instance-discovery.d-BsKnIwpg.js';
9
+ 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, L as LINEAGE_ENTRY_TYPES, v as LineageArtifactLedgerPayload, w as LineageCompaction, x as LineageCompactionDelegates, y as LineageEntryType, z as LineageExtension, B as LineageLabelPayload, E as LineageTreeNode, F as MessageEntry, P as PROMISE_PATTERN, H as PresetDispatcher, S as RunEvent, T as RunOptions, U as RunResult, V as Runner, X as Session, Z as SessionEntry, _ as SessionExtension, $ as SessionForkOptions, ae as appendSessionLineageLabel, ag as applySessionCompaction, ah as archiveOldIslands, ai as buildSessionTree, ak as cleanupIncompleteToolCalls, al as countActiveLineageMessages, am as countTokens, an as createInMemorySession, ap as createSessionLineage, at as estimateTokens, au as extractArtifactLedger, ax as extractTitleFromMessages, ay as findPreviousUserEntryId, az as forkSessionLineage, aA as generateSessionId, aC as getAgentConfigHome, aD as getAgentConfigPath, aE as getAppDataDir, aF as getSessionLineagePath, aG as getSessionMessagesFromLineage, aH as mergeArtifactLedger, aJ as registerPresetDispatcher, aK as resolveSessionLineageTarget, aL as rewindSessionLineage, aO as setAgentConfigHome, aP as setSessionLineageActiveEntry, aQ as validateAndFixToolHistory } from './types-chunks/file-tracker.d-zaLZeNBK.js';
10
+ export { A as Agent, a as AgentMessage, c as AgentReasoningProfile, e as AgentTool, f as CompactionAnchor, i as CompactionResult, k as CompactionUpdate, o as Guardrail, H as Handoff, R as ReasoningDepth, a8 as createAgent, a9 as createHandoff } from './types-chunks/types.d-CKJtjo-6.js';
11
11
  export { M as McpConnectMode, a as McpServerConfig, b as McpServersConfig, c as McpTransportKind } from './types-chunks/config.d-BfJUXxC0.js';
12
- export { M as McpCapabilityDescriptor, a as McpCapabilityKind, b as McpCapabilityProvider, c as McpCapabilityRisk, d as McpCatalogItem, e as McpProviderOptions, f as McpServerCatalogSnapshot, g as McpServerRuntime, h as McpServerRuntimeDiagnostics, i as McpTransport, j as McpTransportEvents, k as createMcpCapabilityId, l as createMcpTransport, m as defaultMcpCacheDir, n as getMcpCachePaths, p as parseMcpCapabilityId, s as searchMcpCatalog } from './types-chunks/transport.d-DuyjG30t.js';
12
+ export { M as McpCapabilityDescriptor, a as McpCapabilityKind, b as McpCapabilityProvider, c as McpCapabilityRisk, d as McpCatalogItem, e as McpManager, f as McpProviderOptions, g as McpServerCatalog, h as McpServerCatalogSnapshot, i as McpServerLogs, j as McpServerRuntime, k as McpServerRuntimeDiagnostics, l as McpServerStatus, m as McpServerToolList, n as McpTransport, o as McpTransportEvents, p as createMcpCapabilityId, q as createMcpManager, r as createMcpTransport, s as defaultMcpCacheDir, t as getMcpCachePaths, u as parseMcpCapabilityId, v as searchMcpCatalog } from './types-chunks/manager.d-87belpiS.js';
13
13
  import { Agent, AgentSideConnection, InitializeRequest, InitializeResponse, NewSessionRequest, NewSessionResponse, SetSessionModeRequest, SetSessionModeResponse, PromptRequest, PromptResponse } from '@agentclientprotocol/sdk';
14
- import { F as FileSessionStorage } from './types-chunks/storage.d-Bc5DoAwp.js';
15
- 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, m as createInteractiveContext, n as executeCommand, o as getGitRoot, p as getProviderList, q as getProviderModel, r as getVersion, s as hydrateProcessEnvFromShell, u as isProviderConfigured, v as loadConfig, x as parseCommand, z as prepareRuntimeConfig, A as processSpecialSyntax, D as rateLimitedCall, E as registerConfiguredCustomProviders, G as runInkInteractiveMode, H as runInteractiveMode, J as saveConfig, L as touchContext } from './types-chunks/storage.d-Bc5DoAwp.js';
14
+ import { F as FileSessionStorage } from './types-chunks/storage.d-DPAEX7zS.js';
15
+ 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, m as createInteractiveContext, n as executeCommand, o as getGitRoot, p as getProviderList, q as getProviderModel, r as getVersion, s as hydrateProcessEnvFromShell, u as isProviderConfigured, v as loadConfig, x as parseCommand, z as prepareRuntimeConfig, A as processSpecialSyntax, D as rateLimitedCall, E as registerConfiguredCustomProviders, F as runInkInteractiveMode, G as runInteractiveMode, H as saveConfig, J as touchContext } from './types-chunks/utils.d-DkLZD_wa.js';
16
16
  import '@anthropic-ai/sdk';
17
17
  import 'openai';
18
- import './types-chunks/session-storage.d-Cci897iM.js';
18
+ import './types-chunks/cost-tracker.d-wRtyEW9d.js';
19
19
  import 'readline';
20
20
  import 'child_process';
21
21
 
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
- import{Rb as ge,Sb as fe,X as E,_ as L,aa as T,ac as w,ba as O,ca as q,da as F,ea as K,fa as D,ga as X,ka as de,la as le,ma as ce,nb as pe,ob as ue,zb as me}from"./chunks/chunk-ZZ4KRK2B.js";import{D as ae,b as G,c as Q,d as H,f as J,h as Y,i as Z,j as ee,k as te,u as se,v as oe,w as ne,x as A,y as ie,z as re}from"./chunks/chunk-KUX5LRPP.js";import"./chunks/chunk-IYJ5EPRV.js";import"./chunks/chunk-EVIDQWMF.js";import{$ as Ds,$a as Ko,$b as Kn,$c as Fi,$d as $r,A as ps,Aa as uo,Ab as pn,Ac as ci,Ad as hr,B as us,Ba as mo,Bb as un,Bc as pi,Bd as vr,C as ms,Ca as go,Cb as mn,Cc as ui,Cd as yr,D as gs,Da as fo,Db as gn,Dc as mi,Dd as _r,E as fs,Ea as ho,Eb as fn,Ec as gi,Ed as Ir,F as hs,Fa as vo,Fb as hn,Fc as fi,Fd as Ar,G as vs,Ga as yo,Gb as vn,Gc as hi,Gd as wr,H as ys,Ha as _o,Hb as yn,Hc as R,Hd as Sr,I as _s,Ia as Io,Ib as _n,Ic as vi,Id as br,J as Is,Ja as Ao,Jb as In,Jc as yi,Jd as Pr,K as As,Ka as wo,Kb as An,Kc as _i,Kd as Cr,L as ws,La as So,Lb as wn,Lc as Ii,Ld as kr,M as Ss,Ma as bo,Mb as Sn,Mc as Ai,Md as Mr,N as bs,Na as Po,Nb as bn,Nc as wi,Nd as Rr,O as Ps,Oa as Co,Ob as Pn,Oc as Si,Od as xr,P as Cs,Pb as Cn,Pc as bi,Pd as Er,Q as ks,Qa as ko,Qb as kn,Qc as Pi,Qd as Lr,R as Ms,Ra as _,Rb as Mn,Rc as Ci,Rd as Tr,S as Rs,Sa as Mo,Sb as Rn,Sc as ki,Sd as Or,T as xs,Ta as Ro,Tb as xn,Tc as Mi,Td as qr,U as Es,Ua as xo,Ub as M,Uc as Ri,Ud as Fr,V as Ls,Va as Eo,Vb as En,Vc as xi,Vd as Kr,W as Ts,Wa as Lo,Wb as Ln,Wc as Ei,Wd as Dr,X as Os,Xa as To,Xb as Tn,Xc as Li,Xd as Xr,Y as qs,Ya as Oo,Yb as On,Yc as Ti,Yd as jr,Z as Fs,Za as qo,Zb as qn,Zc as Oi,Zd as Ur,_ as Ks,_a as Fo,_b as Fn,_c as qi,_d as Vr,a as ht,aa as Xs,ab as Do,ac as Dn,ad as Ki,ae as zr,b as vt,ba as js,bb as Xo,bc as Xn,bd as Di,be as Br,c as yt,ca as Us,cb as jo,cc as jn,cd as Xi,ce as Wr,d as _t,da as Vs,db as Uo,dc as Un,dd as ji,de as Nr,e as It,ea as $s,eb as Vo,ec as Vn,ed as Ui,ee as Gr,f as zt,fa as zs,fb as $o,fc as $n,fd as Vi,fe as Qr,g as Bt,ga as Bs,gb as zo,gc as zn,gd as $i,ge as Hr,h as Wt,ha as Ws,hb as Bo,hc as Bn,hd as zi,he as Jr,i as Nt,ia as Ns,ib as Wo,ic as Wn,id as Bi,ie as x,j as Gt,ja as Gs,jb as No,jc as Nn,jd as I,k as Qt,ka as Qs,kb as Go,kc as Gn,kd as er,l as Ht,la as Hs,lb as Qo,lc as Qn,ld as tr,m as Jt,ma as Js,mb as Ho,mc as Hn,md as sr,n as Yt,na as Ys,nb as Jo,nc as Jn,nd as or,o as Zt,oa as Zs,ob as Yo,oc as Yn,od as nr,p as es,pa as eo,pb as Zo,pc as Zn,pd as ir,q as ts,qa as to,qb as en,qc as ei,qd as rr,r as ss,ra as so,rb as tn,rc as ti,rd as ar,s as os,sa as oo,sb as sn,sc as si,sd as dr,t as ns,ta as no,tb as on,tc as oi,td as lr,u as is,ua as io,ub as nn,uc as ni,ud as cr,v as rs,va as ro,vb as rn,vc as ii,vd as pr,w as as,wa as ao,wb as an,wc as ri,wd as ur,x as ds,xa as lo,xb as dn,xc as ai,xd as mr,y as ls,ya as co,yb as ln,yc as di,yd as gr,z as cs,za as po,zb as cn,zc as li,zd as fr}from"./chunks/chunk-7JLYVWAF.js";import{La as Vt,Ma as $t,Z as Ft,a as At,aa as Kt,b as wt,c as St,d as bt,e as Pt,f as Ct,h as kt,ha as Dt,i as Mt,ia as Xt,j as Rt,ja as jt,k as xt,ka as Ut,l as Et,m as Lt,n as Tt,o as Ot,p as qt}from"./chunks/chunk-CD3R5YBH.js";import{$ as ot,C as Be,I as We,J as Ne,O as Ge,P as Qe,Q as C,R as He,U as Je,V as Ye,X as Ze,Y as et,Z as tt,_ as st,a as qe,aa as nt,b as Fe,ba as it,c as Ke,ca as rt,da as at,ea as dt,fa as lt,ga as ct,ha as pt,ia as ut,j as De,ja as mt,ka as k,la as gt,ma as ft,t as Xe,u as je,v as Ue,w as Ve,x as $e,y as ze}from"./chunks/chunk-HMYEQJGT.js";import"./chunks/chunk-OWSKU55I.js";import{d as Wi,e as Ni,f as Gi,g as Qi,h as Hi,i as Ji,j as Yi,k as Zi}from"./chunks/chunk-DKXUY5F2.js";import"./chunks/chunk-3RKBXWZS.js";import{a as i}from"./chunks/chunk-V4WSBIXB.js";import he from"node:process";var U=["off","error","info","debug"],j={off:0,error:1,info:2,debug:3};function S(o,e="info"){if(!o)return e;let t=o.trim().toLowerCase();return U.includes(t)?t:e}i(S,"resolveAcpLogLevel");var m=class{static{i(this,"AcpLogger")}level;sink;constructor(e={}){this.level=e.level??"info",this.sink=e.sink??(t=>{he.stderr.write(`${t}
2
+ import{Rb as ge,Sb as fe,X as E,_ as L,aa as T,ac as w,ba as O,ca as q,da as F,ea as K,fa as D,ga as X,ka as de,la as le,ma as ce,nb as pe,ob as ue,zb as me}from"./chunks/chunk-UG4262JI.js";import{D as ae,b as G,c as Q,d as H,f as J,h as Y,i as Z,j as ee,k as te,u as se,v as oe,w as ne,x as A,y as ie,z as re}from"./chunks/chunk-YMRZBS4G.js";import"./chunks/chunk-IYSK7LUK.js";import"./chunks/chunk-EVIDQWMF.js";import{$ as bo,$a as Pn,$b as Si,$c as Ar,A as Hs,Aa as Jo,Ab as M,Ac as Qi,Ad as Gr,B as Js,Ba as Yo,Bb as Jn,Bc as Hi,Bd as Qr,C as Ys,Ca as Zo,Cb as Yn,Cc as Ji,Cd as Hr,D as Zs,Da as en,Db as Zn,Dc as Yi,Dd as Jr,E as eo,Ea as tn,Eb as ei,Ec as Zi,Ed as Yr,F as to,Fa as sn,Fb as ti,Fc as er,Fd as Zr,G as so,Ga as on,Gb as si,Gc as tr,Gd as x,H as oo,Ha as nn,Hb as oi,Hc as sr,I as no,Ia as rn,Ib as ni,Ic as I,J as io,Ja as an,Jb as ii,Jc as or,K as ro,Ka as dn,Kb as ri,Kc as nr,L as ao,La as ln,Lb as ai,Lc as ir,M as lo,Ma as cn,Mb as di,Mc as rr,N as co,Na as pn,Nb as li,Nc as ar,O as po,Oa as un,Ob as ci,Oc as dr,P as uo,Pa as mn,Pb as pi,Pc as lr,Q as mo,Qa as gn,Qb as ui,Qc as cr,R as go,Ra as fn,Rb as mi,Rc as pr,S as fo,Sa as hn,Sb as gi,Sc as ur,T as ho,Ta as vn,Tb as fi,Tc as mr,U as vo,Ua as yn,Ub as hi,Uc as gr,V as yo,Va as _n,Vb as vi,Vc as fr,W as _o,Wa as In,Wb as yi,Wc as hr,X as Io,Xa as An,Xb as _i,Xc as vr,Y as Ao,Ya as wn,Yb as Ii,Yc as yr,Z as wo,Za as Sn,Zb as Ai,Zc as _r,_ as So,_a as bn,_b as wi,_c as Ir,a as Pt,aa as Po,ab as Cn,ac as bi,ad as wr,b as Ct,ba as Co,bb as kn,bc as Pi,bd as Sr,c as kt,ca as ko,cb as Mn,cc as Ci,cd as br,d as Mt,da as Mo,db as Rn,dc as ki,dd as Pr,e as Rt,ea as Ro,eb as xn,ec as Mi,ed as Cr,f as Rs,fa as xo,fb as En,fc as Ri,fd as kr,g as xs,ga as Eo,gb as Ln,gc as xi,gd as Mr,h as Es,ha as Lo,hb as Tn,hc as Ei,hd as Rr,i as Ls,ia as To,ib as On,ic as Li,id as xr,j as Ts,ja as Oo,jb as qn,jc as Ti,jd as Er,k as Os,ka as qo,kb as Fn,kc as Oi,kd as Lr,l as qs,la as Fo,lb as _,lc as qi,ld as Tr,m as Fs,ma as Ko,mb as Kn,mc as Fi,md as Or,n as Ks,na as Do,nb as Dn,nc as R,nd as qr,o as Ds,oa as Xo,ob as Xn,oc as Ki,od as Fr,p as Xs,pa as jo,pb as jn,pc as Di,pd as Kr,q as js,qa as Uo,qb as Un,qc as Xi,qd as Dr,r as Us,ra as Vo,rb as Vn,rc as ji,rd as Xr,s as Vs,sa as $o,sb as $n,sc as Ui,sd as jr,t as $s,ta as zo,tb as zn,tc as Vi,td as Ur,u as zs,ua as Bo,ub as Bn,uc as $i,ud as Vr,v as Bs,va as Wo,vb as Wn,vc as zi,vd as $r,w as Ws,wa as No,wb as Nn,wc as Bi,wd as zr,x as Ns,xa as Go,xb as Gn,xc as Wi,xd as Br,y as Gs,ya as Qo,yb as Qn,yc as Ni,yd as Wr,z as Qs,za as Ho,zb as Hn,zc as Gi,zd as Nr}from"./chunks/chunk-7G5PSL6C.js";import{$ as ot,C as Be,I as We,J as Ne,O as Ge,P as Qe,Q as C,R as He,U as Je,V as Ye,X as Ze,Y as et,Z as tt,_ as st,a as qe,aa as nt,b as Fe,ba as it,c as Ke,ca as rt,da as at,ea as dt,fa as lt,ga as ct,ha as pt,ia as ut,j as De,ja as mt,ka as gt,la as ft,ma as ht,na as vt,oa as yt,pa as _t,qa as k,ra as It,sa as At,t as Xe,ta as wt,u as je,ua as St,v as Ue,va as bt,w as Ve,x as $e,y as ze}from"./chunks/chunk-K75O2CAE.js";import{$b as us,Xa as Jt,Ya as Yt,Yb as ls,Zb as cs,_b as ps,a as xt,ac as ms,b as Et,c as Lt,d as Tt,e as Ot,f as qt,h as Ft,hc as gs,i as Kt,ic as fs,j as Dt,jc as hs,k as Xt,ka as Bt,kb as Zt,kc as vs,l as jt,lb as es,lc as ys,m as Ut,mb as ts,mc as _s,n as Vt,na as Wt,nb as ss,nc as Is,o as $t,ob as os,p as zt,pb as ns,pc as As,qb as is,qc as ws,rb as rs,rc as Ss,sb as as,sc as bs,tb as ds,tc as Ps,ua as Nt,uc as Cs,va as Gt,wa as Qt,xa as Ht,xc as ks,yc as Ms}from"./chunks/chunk-VHKAJDQD.js";import{a as i}from"./chunks/chunk-V4WSBIXB.js";import he from"node:process";var U=["off","error","info","debug"],j={off:0,error:1,info:2,debug:3};function S(o,e="info"){if(!o)return e;let t=o.trim().toLowerCase();return U.includes(t)?t:e}i(S,"resolveAcpLogLevel");var m=class{static{i(this,"AcpLogger")}level;sink;constructor(e={}){this.level=e.level??"info",this.sink=e.sink??(t=>{he.stderr.write(`${t}
3
3
  `)})}handleEvent(e){let t=ve(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(j[this.level]<j[e])return;let n=new Date().toISOString(),r=s?_e(s):"",a=r?` ${r}`:"";this.sink(`[ACP][${e.toUpperCase()}][${n}] ${t}${a}`)}};function ve(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 ye(o);case"permission_requested":return{level:"info",message:"ACP permission requested",fields:c(o)};case"notification_failed":return{level:"error",message:`Failed to send ${o.label}`,fields:{sessionId:o.sessionId,error:o.error}};case"repo_intelligence_trace":return{level:"debug",message:"ACP repo intelligence trace",fields:c(o)};default:return null}}i(ve,"mapEventToLogEntry");function c(o){let{type:e,...t}=o;return t}i(c,"toLogFields");function ye(o){let e={sessionId:o.sessionId,tool:o.tool,toolId:o.toolId};switch(o.outcome){case"auto_allowed_read_only_bash":return{level:"debug",message:"ACP tool permission auto-allowed for read-only bash",fields:e};case"auto_allowed_remembered":return{level:"info",message:"ACP tool permission reused remembered allowance",fields:e};case"blocked_plan_mode":return{level:"info",message:"ACP tool blocked by plan mode",fields:e};case"auto_allowed_plan_mode":return{level:"debug",message:"ACP tool auto-allowed in plan mode",fields:e};case"auto_allowed_policy":return{level:"debug",message:"ACP tool auto-allowed by permission policy",fields:e};case"request_failed_disconnected":return{level:"error",message:"ACP permission request failed because client is disconnected",fields:e};case"request_failed_incomplete":return{level:"error",message:"ACP permission request did not complete",fields:e};case"request_dismissed":return{level:"info",message:"ACP permission request dismissed",fields:e};case"request_rejected":return{level:"info",message:"ACP permission rejected",fields:e};case"request_granted":return{level:"info",message:"ACP permission granted",fields:{...e,remember:o.remember??!1}}}}i(ye,"mapPermissionOutcomeToLogEntry");function _e(o){return Object.entries(o).flatMap(([e,t])=>t===void 0?[]:`${e}=${Ie(t)}`).join(" ")}i(_e,"formatFields");function Ie(o){return o===null?"null":typeof o=="string"?JSON.stringify(o.length>160?`${o.slice(0,157)}...`:o):String(o)}i(Ie,"formatFieldValue");var g=class{static{i(this,"AcpEventEmitter")}sinks;constructor(e={}){this.sinks=[...e.sinks??[]]}emit(e){for(let t of this.sinks)try{t.handleEvent(e)}catch{}}};import{randomUUID as V}from"node:crypto";import f from"node:path";import v from"node:process";import{Readable as Ae,Writable as we}from"node:stream";import{AgentSideConnection as Se,PROTOCOL_VERSION as $,RequestError as h,ndJsonStream as be}from"@agentclientprotocol/sdk";var N=["plan","accept-edits","auto-in-project"];function b(o){return M(o)}i(b,"acpIsFileModificationTool");var Pe={read:"read",write:"edit",edit:"edit",undo:"edit",bash:"execute",grep:"search",glob:"search",think:"think",fetch:"fetch"},Ce=[{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 ke(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}i(ke,"convertAcpMcpServers");function Me(o,e="accept-edits"){return o&&N.includes(o)?o:e}i(Me,"normalizeAcpPermissionMode");function Re(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.")}i(Re,"parseSessionMode");function xe(o){return{availableModes:Ce,currentModeId:o}}i(xe,"buildModeState");function z(o){return Pe[o]??"other"}i(z,"inferToolKind");function B(o,e){if(b(o)){let t=typeof e.path=="string"?e.path:void 0;return t?[{path:t}]:void 0}if(o==="bash"){let t=typeof e.command=="string"?e.command:"",s=K(t);if(s.length>0)return s.map(n=>({path:n}))}}i(B,"inferToolLocations");function Ee(o){let e=[];for(let t of o){let s=t,n=typeof s.type=="string"?s.type:"";if(n==="text"&&typeof s.text=="string"){e.push(s.text);continue}if(n==="resource_link"&&typeof s.uri=="string"){e.push(`[Resource] ${s.uri}`);continue}if(n==="resource"&&s.resource&&typeof s.resource=="object"){let r=s.resource;if(typeof r.text=="string"){e.push(r.text);continue}typeof r.uri=="string"&&e.push(`[Resource] ${r.uri}`)}}return e.join(`
4
4
 
5
5
  `).trim()}i(Ee,"extractPromptText");function Le(o){return/^\[(?:Tool Error|Cancelled|Blocked|Error)\]/.test(o)}i(Le,"isToolResultFailure");function Te(o){return o instanceof Error?o.name==="AbortError"||o.message.includes("aborted")||o.message.includes("ABORTED"):!1}i(Te,"isAbortLikeError");function W(o){let e=o?.usage;if(e)return{inputTokens:e.inputTokens,outputTokens:e.outputTokens,totalTokens:e.totalTokens,...e.cachedReadTokens!==void 0?{cachedReadTokens:e.cachedReadTokens}:{},...e.cachedWriteTokens!==void 0?{cachedWriteTokens:e.cachedWriteTokens}:{},...e.thoughtTokens!==void 0?{thoughtTokens:e.thoughtTokens}:{}}}i(W,"toAcpUsage");var y=class{static{i(this,"KodaXAcpServer")}provider;model;thinking;reasoningMode;defaultPermissionMode;defaultCwd;hasFixedCwd;agentName;agentVersion;storage;events;bashPrefixExtractor;connection=null;sessions=new Map;promptQueue=Promise.resolve();extensionRuntime;extensionRuntimeReady;constructor(e={}){let t=A();this.provider=e.provider??t.provider??C,this.model=e.model,this.thinking=e.thinking??t.thinking??!1,this.reasoningMode=e.reasoningMode??t.reasoningMode??"auto",this.defaultPermissionMode=Me(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=x({getProvider:i(()=>k(this.provider),"getProvider"),getModel:i(()=>this.model??"","getModel")});let s=t.mcpServers;if(s&&Object.values(s).some(r=>(r.connect??"lazy")!=="disabled")){let r=_({config:t});this.extensionRuntimeReady=I(r,s).then(()=>{r.activate(),this.extensionRuntime=r}).catch(a=>{let d=a instanceof Error?a.message:String(a);console.warn(`[kodax:acp] MCP initialization failed: ${d}`)})}}attach(e,t){let s=be(t,e),n=new Se(()=>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(r=>{r.activeController?.abort(),r.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:$}),{protocolVersion:$,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=V(),n=e.mcpServers??[],r={sessionId:s,cwd:f.resolve(t),permissionMode:this.defaultPermissionMode,mcpServers:n,alwaysAllowTools:[],activeController:null};if(n.length>0){let a=ke(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(),r.extensionRuntime=d}return this.sessions.set(s,r),this.events.emit({type:"session_created",sessionId:s,cwd:r.cwd,permissionMode:r.permissionMode,mcpServers:r.mcpServers.length}),{sessionId:s,modes:xe(r.permissionMode)}}async authenticate(){}async setSessionMode(e){let t=this.requireSession(e.sessionId),s=t.permissionMode,n=Re(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=Ee(e.prompt);if(!s)throw h.invalidParams({prompt:e.prompt},"Prompt must include at least one text or resource block with content.");let n=new AbortController;t.activeController=n;let r=Date.now(),a=i(async()=>{if(n.signal.aborted)return this.events.emit({type:"prompt_skipped",sessionId:t.sessionId}),{stopReason:"cancelled",userMessageId:e.messageId??void 0};let p=Date.now();this.events.emit({type:"prompt_started",sessionId:t.sessionId,messageId:e.messageId??null,chars:s.length,cwd:t.cwd,queueDelayMs:p-r}),this.events.emit({type:"prompt_preview",sessionId:t.sessionId,prompt:s});try{this.extensionRuntimeReady&&await this.extensionRuntimeReady;let l=await R(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,...W(l.contextTokenSnapshot)?{usage:W(l.contextTokenSnapshot)}:{}}}catch(l){if(n.signal.aborted||Te(l))return this.events.emit({type:"prompt_cancelled",sessionId:t.sessionId,durationMs:Date.now()-p}),{stopReason:"cancelled",userMessageId:e.messageId??void 0};let u=l instanceof Error?l.message:String(l);return this.events.emit({type:"prompt_failed",sessionId:t.sessionId,durationMs:Date.now()-p,error:u}),await this.sendTextChunk(t.sessionId,`
6
6
  [ACP Server Error] ${u}
7
7
  `),{stopReason:n.signal.aborted?"cancelled":"end_turn",userMessageId:e.messageId??void 0}}finally{t.activeController=null}},"task"),d=this.promptQueue.then(a,a);return this.promptQueue=d.then(()=>{},()=>{}),d}async cancel(e){let t=this.sessions.get(e.sessionId);this.events.emit({type:"cancel_requested",sessionId:e.sessionId,active:!!t?.activeController}),t?.activeController?.abort()}requireSession(e){let t=this.sessions.get(e);if(!t)throw h.resourceNotFound(e);return t}buildKodaXOptions(e,t){return{provider:this.provider,model:this.model,thinking:this.thinking,reasoningMode:this.reasoningMode,abortSignal:t,extensionRuntime:e.extensionRuntime??this.extensionRuntime,session:{id:e.sessionId,storage:this.storage},context:{gitRoot:e.cwd,executionCwd:e.cwd,contextTokenSnapshot:e.contextTokenSnapshot},events:{onTextDelta:i(s=>{this.dispatchNotification("assistant text chunk",e.sessionId,this.sendTextChunk(e.sessionId,s))},"onTextDelta"),onThinkingDelta:i(s=>{this.dispatchNotification("thinking chunk",e.sessionId,this.sendSessionUpdate({sessionId:e.sessionId,update:{sessionUpdate:"agent_thought_chunk",content:{type:"text",text:s}}}))},"onThinkingDelta"),onToolUseStart:i(s=>{this.dispatchNotification("tool call start",e.sessionId,this.sendSessionUpdate({sessionId:e.sessionId,update:{sessionUpdate:"tool_call",toolCallId:s.id,title:s.name,kind:z(s.name),rawInput:s.input,locations:B(s.name,s.input??{}),status:"pending"}}))},"onToolUseStart"),onToolResult:i(s=>{this.dispatchNotification("tool call update",e.sessionId,this.sendSessionUpdate({sessionId:e.sessionId,update:{sessionUpdate:"tool_call_update",toolCallId:s.id,title:s.name,status:Le(s.content)?"failed":"completed",rawOutput:s.content}}))},"onToolResult"),onRepoIntelligenceTrace:i(s=>{this.events.emit({type:"repo_intelligence_trace",sessionId:e.sessionId,stage:s.stage,summary:s.summary,mode:s.capability?.mode,engine:s.capability?.engine,bridge:s.capability?.bridge,status:s.capability?.status,daemonLatencyMs:s.trace?.daemonLatencyMs,cliLatencyMs:s.trace?.cliLatencyMs,cacheHit:s.trace?.cacheHit,capsuleEstimatedTokens:s.trace?.capsuleEstimatedTokens})},"onRepoIntelligenceTrace"),onError:i(s=>{this.dispatchNotification("error text chunk",e.sessionId,this.sendTextChunk(e.sessionId,`
8
8
  [Error] ${s.message}
9
- `))},"onError"),beforeToolExecute:i(async(s,n,r)=>{let a=await this.evaluateToolPermission(e,s,n,r?.toolId);return a.allowed?!0:a.override??!1},"beforeToolExecute")}}}async evaluateToolPermission(e,t,s,n){if(this.events.emit({type:"tool_permission_evaluated",sessionId:e.sessionId,tool:t,toolId:n??null,permissionMode:e.permissionMode}),t==="bash"){let l=typeof s.command=="string"?s.command:"";if(L(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 T(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=X(t,s,e.cwd);return l?(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:n??null,outcome:"blocked_plan_mode"}),{allowed:!1,override:`${l} Do not try to modify files while planning. Finish the plan first, then hand off to a writable mode.`}):(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:n??null,outcome:"auto_allowed_plan_mode"}),{allowed:!0})}let r=b(t)&&typeof s.path=="string"&&q(f.resolve(e.cwd,s.path),e.cwd),a=E(e.permissionMode).has(t),d=e.permissionMode==="auto-in-project"&&(b(t)&&typeof s.path=="string"&&!F(s.path,e.cwd)||t==="bash"&&typeof s.command=="string"&&D(s.command,e.cwd).dangerous);return!r&&!a&&!d?(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:n??null,outcome:"auto_allowed_policy"}),{allowed:!0}):await this.requestPermissionFromClient(e,t,s,n)}async requestPermissionFromClient(e,t,s,n){if(!this.connection)return this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:n??null,outcome:"request_failed_disconnected"}),{allowed:!1,override:"[Cancelled] ACP client is disconnected, so the permission request could not be completed."};let r=[{optionId:"allow_once",kind:"allow_once",name:"Allow once"},{optionId:"allow_always",kind:"allow_always",name:"Always allow"},{optionId:"reject_once",kind:"reject_once",name:"Reject"}],a={toolCallId:n??V(),title:t,kind:z(t),rawInput:s,locations:B(t,s),status:"pending"},d;this.events.emit({type:"permission_requested",sessionId:e.sessionId,tool:t,toolId:a.toolCallId});try{d=await this.connection.requestPermission({sessionId:e.sessionId,toolCall:a,options:r})}catch{return this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:a.toolCallId,outcome:"request_failed_incomplete"}),{allowed:!1,override:"[Cancelled] ACP client did not complete the permission request. Operation failed closed."}}return d.outcome.outcome!=="selected"?(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:a.toolCallId,outcome:"request_dismissed"}),{allowed:!1,override:"[Cancelled] Operation cancelled by user"}):(d.outcome.optionId==="allow_always"&&t==="bash"&&(e.alwaysAllowTools=Array.from(new Set([...e.alwaysAllowTools,O(t,s,!1)])).filter(Boolean)),d.outcome.optionId==="reject_once"?(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:a.toolCallId,outcome:"request_rejected"}),{allowed:!1,override:"[Cancelled] Operation cancelled by user"}):(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:a.toolCallId,outcome:"request_granted",remember:d.outcome.optionId==="allow_always"}),{allowed:!0}))}async sendTextChunk(e,t){await this.sendSessionUpdate({sessionId:e,update:{sessionUpdate:"agent_message_chunk",content:{type:"text",text:t}}})}async sendSessionUpdate(e){!this.connection||this.connection.signal.aborted||await this.connection.sessionUpdate(e)}dispatchNotification(e,t,s){s.catch(n=>{if(!this.connection||this.connection.signal.aborted)return;let r=n instanceof Error?n.message:String(n);this.events.emit({type:"notification_failed",sessionId:t,label:e,error:r})})}};async function Oe(o={}){let e=new y(o),t=Ae.toWeb(v.stdin),s=we.toWeb(v.stdout);e.attach(t,s),await e.waitForClose()}i(Oe,"runAcpServer");export{U as ACP_LOG_LEVELS,Rr as AUTO_MODE_DENIAL_CONSECUTIVE_THRESHOLD,xr as AUTO_MODE_DENIAL_CUMULATIVE_THRESHOLD,g as AcpEventEmitter,m as AcpLogger,Hr as BASH_POLICY_SPEC,qr as BREAKER_ERROR_THRESHOLD,Fr as BREAKER_WINDOW_MS,de as BUILTIN_COMMANDS,Bt as CANCELLED_TOOL_RESULT_MESSAGE,zt as CANCELLED_TOOL_RESULT_PREFIX,_r as CODING_AGENTS,fr as CODING_AGENT_MARKER,Si as CODING_INVARIANTS,mi as CODING_SUMMARY_PROMPT,gi as CODING_UPDATE_SUMMARY_PROMPT,Lo as CapabilityDeniedError,Pi as Client,To as ConstructionManifestError,fi as DEFAULT_CODING_AGENT_NAME,ar as DEFAULT_DANGEROUS_PATTERNS,xo as DEFAULT_HANDLER_TIMEOUT_MS,Qn as DEFAULT_RESILIENCE_CONFIG,rr as DEFAULT_SAFE_PATTERNS,Zo as DEFAULT_SELF_MODIFY_BUDGET,Wr as DEFAULT_SPECULATIVE_WINDOW_MS,Nt as DEFAULT_TOOL_OUTPUT_MAX_BYTES,Wt as DEFAULT_TOOL_OUTPUT_MAX_LINES,qt as DefaultSummaryCompaction,Ki as EMIT_CONTRACT_TOOL_NAME,Di as EMIT_HANDOFF_TOOL_NAME,Fi as EMIT_SCOUT_VERDICT_TOOL_NAME,Xi as EMIT_VERDICT_TOOL_NAME,_t as ErrorCategory,w as FileSessionStorage,Fo as GENERATOR_AGENT_NAME,Mt as KODAX_API_MIN_INTERVAL,H as KODAX_CONFIG_FILE,C as KODAX_DEFAULT_PROVIDER,wt as KODAX_DEFAULT_TIMEOUT,G as KODAX_DIR,St as KODAX_HARD_TIMEOUT,Ct as KODAX_MAX_INCOMPLETE_RETRIES,bt as KODAX_MAX_RETRIES,At as KODAX_MAX_TOKENS,Qe as KODAX_PROVIDERS,Ge as KODAX_PROVIDER_SNAPSHOTS,De as KODAX_REASONING_MODE_SEQUENCE,Pt as KODAX_RETRY_BASE_DELAY,Q as KODAX_SESSIONS_DIR,kt as KODAX_STAGGER_DELAY,_n as KODAX_TOOLS,ee as KODAX_VERSION,y as KodaXAcpServer,We as KodaXAnthropicCompatProvider,Be as KodaXBaseProvider,Pi as KodaXClient,qe as KodaXError,ko as KodaXExtensionRuntime,Ne as KodaXOpenAICompatProvider,Fe as KodaXProviderError,Ke as KodaXRateLimitError,vt as KodaXSessionError,yt as KodaXTerminalError,ht as KodaXToolError,ro as LINEAGE_ENTRY_TYPES,lo as LineageCompaction,ao as LineageExtension,Zi as McpCapabilityProvider,Yi as McpServerRuntime,qo as PLANNER_AGENT_NAME,Rt as PROMISE_PATTERN,Kn as PROMPT_SECTION_REGISTRY,zi as PROTOCOL_EMITTER_TOOLS,ei as ProviderRecoveryCoordinator,Gt as READ_DEFAULT_LIMIT,Ht as READ_MAX_LINE_CHARS,Qt as READ_PREFLIGHT_SIZE_BYTES,Cs as REPOINTEL_DEFAULT_ENDPOINT,Kt as Runner,Oo as SCOUT_AGENT_NAME,Fn as SYSTEM_PROMPT,Yn as StableBoundaryTracker,jo as TASK_ENGINE_ROLE_AGENTS,Oi as TOOL_RESULT_TRUNCATION_GUARDRAIL_NAME,an as _resetRuntimeForTesting,cn as activate,vs as analyzeChangedScope,Jo as appendAuditEntry,vo as appendSessionLineageLabel,xi as applyFanoutBranchTransition,yo as applySessionCompaction,zs as applyToolResultGuardrail,bo as archiveOldIslands,Ei as assignFanoutBranchWorker,Or as autoModeDenialShouldFallback,$r as bashSignalCollector,_i as boundedRevise,Xr as breakerShouldFallback,Ii as budgetCeiling,li as buildAmaControllerDecision,Vn as buildCapabilityContextSections,Ir as buildClassifierPrompt,ai as buildFallbackRoutingDecision,ki as buildFanoutSchedulerPlan,Go as buildLlmReviewPrompt,Wn as buildPromptMessageContent,ci as buildPromptOverlay,Un as buildPromptSnapshot,ti as buildProviderCapabilitySnapshot,di as buildProviderPolicyHintsForDecision,si as buildProviderPolicyPromptNotes,Ue as buildReasoningOverrideKey,hs as buildRepoIntelligenceContext,Es as buildRepoIntelligenceIndex,ms as buildRepoOverview,wo as buildSessionTree,zn as buildSystemPrompt,$n as buildSystemPromptSnapshot,Vr as checkAbsoluteDeny,Bn as checkIncompleteToolCalls,ui as checkPromiseSignal,wr as classify,lr as classifyBashCommand,It as classifyError,Jn as classifyResilienceError,$t as cleanupIncompleteToolCalls,ze as clearReasoningOverride,mt as clearRuntimeModelProviders,Br as collectAllSignals,pr as computeInputSignature,Sr as computeRulesFingerprint,rn as configureRuntime,Gs as convertCapabilityReadResult,Ns as convertProviderSearchResults,Ri as countActiveFanoutBranches,So as countActiveLineageMessages,Et as countTokens,Lt as createAgent,Er as createAutoModeDenialTracker,Qr as createAutoModeToolGuardrail,dr as createBashClassifierConfig,x as createBashPrefixExtractor,kn as createBuiltinToolDefinition,Kr as createCircuitBreaker,zo as createCtxProxy,st as createCustomProvider,hi as createDefaultCodingAgent,cr as createDenialTracker,_ as createExtensionRuntime,Ci as createFanoutSchedulerInput,Tt as createHandoff,Ot as createInMemorySession,pe as createInteractiveContext,sr as createKodaXTaskRunner,Ni as createMcpCapabilityId,Ji as createMcpTransport,Dn as createPromptSection,pi as createReasoningPlan,vi as createSessionControl,uo as createSessionLineage,qi as createToolResultTruncationGuardrail,Wi as defaultMcpCacheDir,Eo as defaultPolicy,nn as disableSelfModify,$o as drainPendingSwaps,Ui as emitContract,Vi as emitHandoff,ji as emitScoutVerdict,$i as emitVerdict,xt as estimateTokens,oi as evaluateProviderPolicy,no as exec,ce as executeCommand,qn as executeTool,Po as extractArtifactLedger,Jr as extractCommandPrefix,Gn as extractComparableUserMessageText,Ws as extractHtmlTitle,Nn as extractPromptComparableText,po as extractTitleFromMessages,zr as fileSignalCollector,Hs as finalizeRetrievalResult,hn as findByVersion,_o as findPreviousUserEntryId,Ao as forkSessionLineage,oo as formatAgentsForPrompt,nr as formatParallelDispatchResult,Jt as formatSize,co as generateSessionId,Xo as generatorAgent,yr as generatorCodingAgent,Ro as getActiveExtensionRuntime,Xt as getAgentConfigHome,jt as getAgentConfigPath,Rn as getAllRegisteredTools,Ut as getAppDataDir,ft as getAvailableProviderNames,Cn as getBuiltinRegisteredToolDefinition,Pn as getBuiltinToolDefinition,nt as getCustomProvider,at as getCustomProviderList,dt as getCustomProviderModels,rt as getCustomProviderNames,gr as getDenialContext,Mi as getFanoutBranch,re as getGitRoot,Fs as getImpactEstimate,to as getKodaxGlobalDir,Hi as getMcpCachePaths,Ts as getModuleContext,qs as getProcessContext,He as getProvider,Ye as getProviderConfiguredCapabilityProfile,Je as getProviderConfiguredReasoningCapability,se as getProviderList,te as getProviderModel,Ze as getProviderModels,Sn as getRegisteredToolDefinition,Ls as getRepoIntelligenceIndex,gs as getRepoOverview,Ks as getRepoRoutingSignals,Ln as getRequiredToolParams,ct as getRuntimeModelProvider,ut as getRuntimeModelProviderNames,mo as getSessionLineagePath,go as getSessionMessagesFromLineage,Os as getSymbolContext,An as getTool,wn as getToolDefinition,bn as getToolRegistrations,$s as getToolResultPolicy,Z as getVersion,Vo as hasPendingSwap,J as hydrateProcessEnvFromShell,ri as inferTaskType,rs as inspectEditFailure,Rs as inspectRepoIntelligenceRuntime,it as isCustomProviderName,mr as isDeniedRecently,gt as isKnownProvider,or as isParallelDispatchDirective,oe as isProviderConfigured,et as isProviderName,pt as isRuntimeModelProviderName,M as isToolFileMutation,En as isToolMutation,xn as isToolPlanModeAllowed,vn as listAll,mn as listArtifacts,Mn as listBuiltinToolDefinitions,fn as listConstructed,On as listToolDefinitions,Tn as listTools,so as loadAgentsFiles,kr as loadAutoRules,ne as loadConfig,Bo as loadHandler,Ve as loadReasoningOverride,Ti as markFanoutBranchCancelled,Li as markFanoutBranchCompleted,Co as mergeArtifactLedger,Xn as orderPromptSections,Cr as parseAutoRules,Ar as parseClassifierOutput,le as parseCommand,is as parseEditToolError,Qo as parseLlmReviewVerdict,Gi as parseMcpCapabilityId,jr as parseModelSpec,ts as persistToolOutput,Do as plannerAgent,vr as plannerCodingAgent,A as prepareRuntimeConfig,Ds as prewarmRepoIntelligenceCaches,fe as processSpecialSyntax,ae as rateLimitedCall,gn as readArtifact,Yo as readAuditEntries,en as readBudget,on as readDisableState,Nr as readSpeculativeWindowFromEnv,br as readTrustState,Xe as reasoningCapabilityToOverride,ii as reasoningModeToDepth,je as reasoningOverrideToCapability,Zn as reconstructMessagesWithToolGuard,Tr as recordAutoModeAllow,Lr as recordAutoModeBlock,Dr as recordBreakerError,ur as recordDenial,bi as registerCodingInvariants,Y as registerConfiguredCustomProviders,I as registerConfiguredMcpCapabilityProvider,ot as registerCustomProviders,lt as registerModelProvider,er as registerOfficialSandboxExtension,Ft as registerPresetDispatcher,In as registerTool,pn as rehydrateActiveArtifacts,tn as remainingSelfModifyBudget,ys as renderChangedScope,Ps as renderImpactEstimate,ws as renderModuleContext,bs as renderProcessContext,jn as renderPromptSections,fs as renderRepoOverview,Qs as renderRetrievalResult,Ss as renderSymbolContext,sn as resetBudget,S as resolveAcpLogLevel,Ur as resolveClassifierModel,Uo as resolveConstructedAgent,k as resolveProvider,ni as resolveReasoningMode,Ms as resolveRepoIntelligenceMode,ks as resolveRepoIntelligenceRuntimeConfig,Hn as resolveResilienceConfig,fo as resolveSessionLineageTarget,Ai as resolveToolCapability,un as revoke,Io as rewindSessionLineage,yn as rollbackSelfModify,Oe as runAcpServer,Wo as runAstRules,me as runInkInteractiveMode,ge as runInteractiveMode,R as runKodaX,Ho as runLlmReview,Bi as runManagedTask,tr as runOrchestration,ie as saveConfig,$e as saveReasoningOverride,Ko as scoutAgent,hr as scoutCodingAgent,Qi as searchMcpCatalog,Mo as setActiveExtensionRuntime,Dt as setAgentConfigHome,ho as setSessionLineageActiveEntry,Gr as speculativeRace,dn as stage,yi as startKodaX,Mr as stripAssistantText,Bs as stripHtmlToText,ln as testArtifact,us as toolAskUserQuestion,ds as toolBash,As as toolChangedDiff,Is as toolChangedScope,Zs as toolCodeSearch,ns as toolEdit,ls as toolGlob,cs as toolGrep,Vs as toolImpactEstimate,as as toolInsertAfterAnchor,Xs as toolModuleContext,wi as toolPermission,Us as toolProcessContext,ss as toolRead,_s as toolRepoOverview,eo as toolSemanticLookup,js as toolSymbolContext,ps as toolUndo,Ys as toolWebFetch,Js as toolWebSearch,os as toolWrite,ue as touchContext,Yt as truncateHead,es as truncateLine,Zt as truncateTail,Pr as trustProjectRules,Vt as validateAndFixToolHistory,tt as validateCustomProviderConfig,ir as validateSubtaskIndependence,No as validateToolSchemaForProvider,xs as warmRepoIntelligenceRuntime,io as webhook};
9
+ `))},"onError"),beforeToolExecute:i(async(s,n,r)=>{let a=await this.evaluateToolPermission(e,s,n,r?.toolId);return a.allowed?!0:a.override??!1},"beforeToolExecute")}}}async evaluateToolPermission(e,t,s,n){if(this.events.emit({type:"tool_permission_evaluated",sessionId:e.sessionId,tool:t,toolId:n??null,permissionMode:e.permissionMode}),t==="bash"){let l=typeof s.command=="string"?s.command:"";if(L(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 T(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=X(t,s,e.cwd);return l?(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:n??null,outcome:"blocked_plan_mode"}),{allowed:!1,override:`${l} Do not try to modify files while planning. Finish the plan first, then hand off to a writable mode.`}):(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:n??null,outcome:"auto_allowed_plan_mode"}),{allowed:!0})}let r=b(t)&&typeof s.path=="string"&&q(f.resolve(e.cwd,s.path),e.cwd),a=E(e.permissionMode).has(t),d=e.permissionMode==="auto-in-project"&&(b(t)&&typeof s.path=="string"&&!F(s.path,e.cwd)||t==="bash"&&typeof s.command=="string"&&D(s.command,e.cwd).dangerous);return!r&&!a&&!d?(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:n??null,outcome:"auto_allowed_policy"}),{allowed:!0}):await this.requestPermissionFromClient(e,t,s,n)}async requestPermissionFromClient(e,t,s,n){if(!this.connection)return this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:n??null,outcome:"request_failed_disconnected"}),{allowed:!1,override:"[Cancelled] ACP client is disconnected, so the permission request could not be completed."};let r=[{optionId:"allow_once",kind:"allow_once",name:"Allow once"},{optionId:"allow_always",kind:"allow_always",name:"Always allow"},{optionId:"reject_once",kind:"reject_once",name:"Reject"}],a={toolCallId:n??V(),title:t,kind:z(t),rawInput:s,locations:B(t,s),status:"pending"},d;this.events.emit({type:"permission_requested",sessionId:e.sessionId,tool:t,toolId:a.toolCallId});try{d=await this.connection.requestPermission({sessionId:e.sessionId,toolCall:a,options:r})}catch{return this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:a.toolCallId,outcome:"request_failed_incomplete"}),{allowed:!1,override:"[Cancelled] ACP client did not complete the permission request. Operation failed closed."}}return d.outcome.outcome!=="selected"?(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:a.toolCallId,outcome:"request_dismissed"}),{allowed:!1,override:"[Cancelled] Operation cancelled by user"}):(d.outcome.optionId==="allow_always"&&t==="bash"&&(e.alwaysAllowTools=Array.from(new Set([...e.alwaysAllowTools,O(t,s,!1)])).filter(Boolean)),d.outcome.optionId==="reject_once"?(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:a.toolCallId,outcome:"request_rejected"}),{allowed:!1,override:"[Cancelled] Operation cancelled by user"}):(this.events.emit({type:"tool_permission_resolved",sessionId:e.sessionId,tool:t,toolId:a.toolCallId,outcome:"request_granted",remember:d.outcome.optionId==="allow_always"}),{allowed:!0}))}async sendTextChunk(e,t){await this.sendSessionUpdate({sessionId:e,update:{sessionUpdate:"agent_message_chunk",content:{type:"text",text:t}}})}async sendSessionUpdate(e){!this.connection||this.connection.signal.aborted||await this.connection.sessionUpdate(e)}dispatchNotification(e,t,s){s.catch(n=>{if(!this.connection||this.connection.signal.aborted)return;let r=n instanceof Error?n.message:String(n);this.events.emit({type:"notification_failed",sessionId:t,label:e,error:r})})}};async function Oe(o={}){let e=new y(o),t=Ae.toWeb(v.stdin),s=we.toWeb(v.stdout);e.attach(t,s),await e.waitForClose()}i(Oe,"runAcpServer");export{U as ACP_LOG_LEVELS,Er as AUTO_MODE_DENIAL_CONSECUTIVE_THRESHOLD,Lr as AUTO_MODE_DENIAL_CUMULATIVE_THRESHOLD,g as AcpEventEmitter,m as AcpLogger,Yr as BASH_POLICY_SPEC,Kr as BREAKER_ERROR_THRESHOLD,Dr as BREAKER_WINDOW_MS,de as BUILTIN_COMMANDS,xs as CANCELLED_TOOL_RESULT_MESSAGE,Rs as CANCELLED_TOOL_RESULT_PREFIX,Ar as CODING_AGENT_MARKER,$i as CODING_INVARIANTS,Ti as CODING_SUMMARY_PROMPT,Oi as CODING_UPDATE_SUMMARY_PROMPT,on as CapabilityDeniedError,Bi as Client,nn as ConstructionManifestError,qi as DEFAULT_CODING_AGENT_NAME,cr as DEFAULT_DANGEROUS_PATTERNS,tn as DEFAULT_HANDLER_TIMEOUT_MS,fi as DEFAULT_RESILIENCE_CONFIG,lr as DEFAULT_SAFE_PATTERNS,fn as DEFAULT_SELF_MODIFY_BUDGET,Gr as DEFAULT_SPECULATIVE_WINDOW_MS,Ls as DEFAULT_TOOL_OUTPUT_MAX_BYTES,Es as DEFAULT_TOOL_OUTPUT_MAX_LINES,zt as DefaultSummaryCompaction,yr as EMIT_VERDICT_TOOL_NAME,Mt as ErrorCategory,w as FileSessionStorage,Wo as GENERATOR_AGENT_NAME,Kt as KODAX_API_MIN_INTERVAL,H as KODAX_CONFIG_FILE,C as KODAX_DEFAULT_PROVIDER,Et as KODAX_DEFAULT_TIMEOUT,G as KODAX_DIR,Lt as KODAX_HARD_TIMEOUT,qt as KODAX_MAX_INCOMPLETE_RETRIES,Tt as KODAX_MAX_RETRIES,xt as KODAX_MAX_TOKENS,Qe as KODAX_PROVIDERS,Ge as KODAX_PROVIDER_SNAPSHOTS,De as KODAX_REASONING_MODE_SEQUENCE,Ot as KODAX_RETRY_BASE_DELAY,Q as KODAX_SESSIONS_DIR,Ft as KODAX_STAGGER_DELAY,Xn as KODAX_TOOLS,ee as KODAX_VERSION,y as KodaXAcpServer,We as KodaXAnthropicCompatProvider,Be as KodaXBaseProvider,Bi as KodaXClient,qe as KodaXError,Fn as KodaXExtensionRuntime,Ne as KodaXOpenAICompatProvider,Fe as KodaXProviderError,Ke as KodaXRateLimitError,Ct as KodaXSessionError,kt as KodaXTerminalError,Pt as KodaXToolError,ls as LINEAGE_ENTRY_TYPES,ps as LineageCompaction,cs as LineageExtension,rs as McpCapabilityProvider,as as McpManager,is as McpServerRuntime,Bo as PLANNER_AGENT_NAME,Dt as PROMISE_PATTERN,oi as PROMPT_SECTION_REGISTRY,Ir as PROTOCOL_EMITTER_TOOLS,Ii as ProviderRecoveryCoordinator,Ts as READ_DEFAULT_LIMIT,qs as READ_MAX_LINE_CHARS,Os as READ_PREFLIGHT_SIZE_BYTES,uo as REPOINTEL_DEFAULT_ENDPOINT,Wt as Runner,zo as SCOUT_AGENT_NAME,si as SYSTEM_PROMPT,yi as StableBoundaryTracker,Qo as TASK_ENGINE_ROLE_AGENTS,er as TOOL_RESULT_TRUNCATION_GUARDRAIL_NAME,No as WORKER_AGENT_NAME,wn as _resetRuntimeForTesting,Pn as activate,so as analyzeChangedScope,mn as appendAuditEntry,_s as appendSessionLineageLabel,Hi as applyFanoutBranchTransition,Is as applySessionCompaction,xo as applyToolResultGuardrail,Cs as archiveOldIslands,Ji as assignFanoutBranchWorker,Fr as autoModeDenialShouldFallback,Br as bashSignalCollector,Xi as boundedRevise,Ur as breakerShouldFallback,ji as budgetCeiling,Ri as buildAmaControllerDecision,di as buildCapabilityContextSections,wr as buildClassifierPrompt,ki as buildFallbackRoutingDecision,Ni as buildFanoutSchedulerPlan,cn as buildLlmReviewPrompt,ui as buildPromptMessageContent,xi as buildPromptOverlay,ai as buildPromptSnapshot,Ai as buildProviderCapabilitySnapshot,Mi as buildProviderPolicyHintsForDecision,wi as buildProviderPolicyPromptNotes,Ue as buildReasoningOverrideKey,to as buildRepoIntelligenceContext,vo as buildRepoIntelligenceIndex,Ys as buildRepoOverview,bs as buildSessionTree,ci as buildSystemPrompt,li as buildSystemPromptSnapshot,zr as checkAbsoluteDeny,pi as checkIncompleteToolCalls,Li as checkPromiseSignal,br as classify,ur as classifyBashCommand,Rt as classifyError,vi as classifyResilienceError,Yt as cleanupIncompleteToolCalls,ze as clearReasoningOverride,_t as clearRuntimeModelProviders,Nr as collectAllSignals,gr as computeInputSignature,Pr as computeRulesFingerprint,An as configureRuntime,Oo as convertCapabilityReadResult,To as convertProviderSearchResults,Qi as countActiveFanoutBranches,Ps as countActiveLineageMessages,jt as countTokens,Ut as createAgent,Tr as createAutoModeDenialTracker,Jr as createAutoModeToolGuardrail,pr as createBashClassifierConfig,x as createBashPrefixExtractor,Nn as createBuiltinToolDefinition,Xr as createCircuitBreaker,rn as createCtxProxy,it as createCustomProvider,Fi as createDefaultCodingAgent,mr as createDenialTracker,_ as createExtensionRuntime,Wi as createFanoutSchedulerInput,Vt as createHandoff,$t as createInMemorySession,pe as createInteractiveContext,ir as createKodaXTaskRunner,es as createMcpCapabilityId,ds as createMcpManager,ns as createMcpTransport,ni as createPromptSection,Ei as createReasoningPlan,Ki as createSessionControl,gs as createSessionLineage,tr as createToolResultTruncationGuardrail,Zt as defaultMcpCacheDir,sn as defaultPolicy,In as disableSelfModify,On as discoverMarkdownAgents,Yo as drainPendingSwaps,_r as emitVerdict,Xt as estimateTokens,Si as evaluateProviderPolicy,Zo as exec,ce as executeCommand,ti as executeTool,ks as extractArtifactLedger,Zr as extractCommandPrefix,gi as extractComparableUserMessageText,Lo as extractHtmlTitle,mi as extractPromptComparableText,ms as extractTitleFromMessages,Wr as fileSignalCollector,Fo as finalizeRetrievalResult,En as findByVersion,As as findPreviousUserEntryId,Ss as forkSessionLineage,$o as formatAgentsForPrompt,ar as formatParallelDispatchResult,Fs as formatSize,us as generateSessionId,Dn as getActiveExtensionRuntime,Gt as getAgentConfigHome,Qt as getAgentConfigPath,Qn as getAllRegisteredTools,Ht as getAppDataDir,At as getAvailableProviderNames,Wn as getBuiltinRegisteredToolDefinition,Bn as getBuiltinToolDefinition,mt as getCustomModelCapabilities,at as getCustomProvider,ct as getCustomProviderList,ut as getCustomProviderModelDescriptors,pt as getCustomProviderModels,lt as getCustomProviderNames,vr as getDenialContext,Gi as getFanoutBranch,re as getGitRoot,wo as getImpactEstimate,Uo as getKodaxGlobalDir,os as getMcpCachePaths,st as getModelCapabilities,_o as getModuleContext,Ao as getProcessContext,He as getProvider,Ye as getProviderConfiguredCapabilityProfile,Je as getProviderConfiguredReasoningCapability,se as getProviderList,te as getProviderModel,tt as getProviderModelDescriptors,Ze as getProviderModels,$n as getRegisteredToolDefinition,yo as getRepoIntelligenceIndex,Zs as getRepoOverview,So as getRepoRoutingSignals,Yn as getRequiredToolParams,ht as getRuntimeModelProvider,yt as getRuntimeModelProviderNames,fs as getSessionLineagePath,hs as getSessionMessagesFromLineage,Io as getSymbolContext,Un as getTool,Vn as getToolDefinition,zn as getToolRegistrations,Ro as getToolResultPolicy,Z as getVersion,Jo as hasPendingSwap,J as hydrateProcessEnvFromShell,Ci as inferTaskType,Bs as inspectEditFailure,fo as inspectRepoIntelligenceRuntime,dt as isCustomProviderName,hr as isDeniedRecently,It as isKnownProvider,rr as isParallelDispatchDirective,oe as isProviderConfigured,et as isProviderName,vt as isRuntimeModelProviderName,M as isToolFileMutation,Jn as isToolMutation,Hn as isToolPlanModeAllowed,Ln as listAll,bt as listAllModelCapabilities,Mn as listArtifacts,ot as listBuiltinModelCapabilities,Gn as listBuiltinToolDefinitions,xn as listConstructed,gt as listCustomProviderModelCapabilities,ei as listToolDefinitions,Zn as listTools,Vo as loadAgentsFiles,Tn as loadAgentsFromMarkdown,Rr as loadAutoRules,ne as loadConfig,an as loadHandler,Ve as loadReasoningOverride,Zi as markFanoutBranchCancelled,Yi as markFanoutBranchCompleted,Ms as mergeArtifactLedger,ii as orderPromptSections,Mr as parseAutoRules,Sr as parseClassifierOutput,le as parseCommand,zs as parseEditToolError,pn as parseLlmReviewVerdict,ts as parseMcpCapabilityId,Vr as parseModelSpec,js as persistToolOutput,A as prepareRuntimeConfig,bo as prewarmRepoIntelligenceCaches,fe as processSpecialSyntax,ae as rateLimitedCall,Rn as readArtifact,gn as readAuditEntries,hn as readBudget,_n as readDisableState,Qr as readSpeculativeWindowFromEnv,Cr as readTrustState,Xe as reasoningCapabilityToOverride,Pi as reasoningModeToDepth,je as reasoningOverrideToCapability,_i as reconstructMessagesWithToolGuard,qr as recordAutoModeAllow,Or as recordAutoModeBlock,jr as recordBreakerError,fr as recordDenial,zi as registerCodingInvariants,Y as registerConfiguredCustomProviders,I as registerConfiguredMcpCapabilityProvider,rt as registerCustomProviders,ft as registerModelProvider,or as registerOfficialSandboxExtension,Bt as registerPresetDispatcher,jn as registerTool,Cn as rehydrateActiveArtifacts,vn as remainingSelfModifyBudget,oo as renderChangedScope,po as renderImpactEstimate,ao as renderModuleContext,co as renderProcessContext,ri as renderPromptSections,eo as renderRepoOverview,qo as renderRetrievalResult,lo as renderSymbolContext,yn as resetBudget,S as resolveAcpLogLevel,$r as resolveClassifierModel,Ho as resolveConstructedAgent,St as resolveModelCapabilities,k as resolveProvider,wt as resolveProviderModelDescriptors,bi as resolveReasoningMode,go as resolveRepoIntelligenceMode,mo as resolveRepoIntelligenceRuntimeConfig,hi as resolveResilienceConfig,vs as resolveSessionLineageTarget,Ui as resolveToolCapability,kn as revoke,ws as rewindSessionLineage,qn as rollbackSelfModify,Oe as runAcpServer,dn as runAstRules,me as runInkInteractiveMode,ge as runInteractiveMode,R as runKodaX,un as runLlmReview,sr as runManagedTask,nr as runOrchestration,ie as saveConfig,$e as saveReasoningOverride,ss as searchMcpCatalog,Kn as setActiveExtensionRuntime,Nt as setAgentConfigHome,ys as setSessionLineageActiveEntry,Hr as speculativeRace,Sn as stage,Di as startKodaX,xr as stripAssistantText,Eo as stripHtmlToText,bn as testArtifact,Js as toolAskUserQuestion,Ns as toolBash,ro as toolChangedDiff,io as toolChangedScope,Xo as toolCodeSearch,$s as toolEdit,Gs as toolGlob,Qs as toolGrep,Mo as toolImpactEstimate,Ws as toolInsertAfterAnchor,Po as toolModuleContext,Vi as toolPermission,ko as toolProcessContext,Us as toolRead,no as toolRepoOverview,jo as toolSemanticLookup,Co as toolSymbolContext,Hs as toolUndo,Do as toolWebFetch,Ko as toolWebSearch,Vs as toolWrite,ue as touchContext,Ks as truncateHead,Xs as truncateLine,Ds as truncateTail,kr as trustProjectRules,Jt as validateAndFixToolHistory,nt as validateCustomProviderConfig,dr as validateSubtaskIndependence,ln as validateToolSchemaForProvider,ho as warmRepoIntelligenceRuntime,en as webhook,Go as workerAgent};