@kodax-ai/kodax 0.7.68 → 0.7.69
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +137 -3
- package/README.md +56 -9
- package/README_CN.md +53 -8
- package/config-templates/config.example.jsonc +26 -0
- package/config-templates/integrations/a2a.example.jsonc +54 -0
- package/config-templates/integrations/extensions.example.jsonc +7 -0
- package/config-templates/integrations/mcp.example.jsonc +16 -0
- package/dist/chunks/agent-DQRXT6M7.js +2 -0
- package/dist/chunks/argument-completer-RSK6CCGP.js +2 -0
- package/dist/chunks/chunk-4WIODYOH.js +329 -0
- package/dist/chunks/chunk-AWMTNUDS.js +37 -0
- package/dist/chunks/chunk-F7C7J6IM.js +7 -0
- package/dist/chunks/{chunk-PEGSHZAA.js → chunk-I4TPQEJN.js} +1 -1
- package/dist/chunks/chunk-M7TCFYTO.js +107 -0
- package/dist/chunks/chunk-NGHQIGVW.js +46 -0
- package/dist/chunks/chunk-NGJURAY5.js +306 -0
- package/dist/chunks/{chunk-KGAI32VS.js → chunk-PA76WUBL.js} +2 -2
- package/dist/chunks/chunk-PQ3XUSY2.js +357 -0
- package/dist/chunks/chunk-UJEMSPM5.js +78 -0
- package/dist/chunks/{chunk-CC4BVVE7.js → chunk-URC6ZI6P.js} +1 -1
- package/dist/chunks/{chunk-CTHUX5ZH.js → chunk-VAZ25MDX.js} +122 -122
- package/dist/chunks/chunk-VYKFM3TB.js +751 -0
- package/dist/chunks/{chunk-TOGESFRN.js → chunk-WW2O2DEP.js} +1 -1
- package/dist/chunks/chunk-Y4WOTWUC.js +2 -0
- package/dist/chunks/chunk-Z4PPLJF2.js +60 -0
- package/dist/chunks/chunk-ZG4DMYBS.js +422 -0
- package/dist/chunks/compaction-config-ABLL6UH3.js +2 -0
- package/dist/chunks/{construction-bootstrap-PYWJHO35.js → construction-bootstrap-GH6RW6ST.js} +1 -1
- package/dist/chunks/dist-DRBKYVHF.js +2 -0
- package/dist/chunks/dist-RWL2RBO4.js +2 -0
- package/dist/chunks/host-7SAB4WEC.js +2 -0
- package/dist/chunks/run-manager-XMDKTONJ.js +2 -0
- package/dist/chunks/utils-QYE5Y73D.js +2 -0
- package/dist/index.d.ts +19 -19
- package/dist/index.js +6 -6
- package/dist/kodax_cli.js +1590 -1316
- package/dist/runtime-worker.js +1355 -1105
- package/dist/sdk-a2a.d.ts +397 -0
- package/dist/sdk-a2a.js +9 -0
- package/dist/sdk-agent.d.ts +61 -30
- package/dist/sdk-agent.js +1 -1
- package/dist/sdk-coding.d.ts +126 -51
- package/dist/sdk-coding.js +1 -1
- package/dist/sdk-experimental-memory.d.ts +1 -1
- package/dist/sdk-experimental-memory.js +1 -1
- package/dist/sdk-llm.d.ts +16 -9
- package/dist/sdk-llm.js +1 -1
- package/dist/sdk-mcp.d.ts +1 -1
- package/dist/sdk-mcp.js +1 -1
- package/dist/sdk-media.d.ts +1 -1
- package/dist/sdk-media.js +1 -1
- package/dist/sdk-repl.d.ts +35 -101
- package/dist/sdk-repl.js +2 -2
- package/dist/sdk-runtime.d.ts +744 -21
- package/dist/sdk-runtime.js +1 -1
- package/dist/sdk-session.d.ts +7 -7
- package/dist/sdk-session.js +1 -1
- package/dist/sdk-skills.js +1 -1
- package/dist/semantic-worker.js +100 -12
- package/dist/types-chunks/{base.d-C8mXDhLL.d.ts → base.d-CYjtB68X.d.ts} +1 -1
- package/dist/types-chunks/{bash-prefix-extractor.d-Dm-T865v.d.ts → bash-prefix-extractor.d-BkIA8Wto.d.ts} +68 -17
- package/dist/types-chunks/{capability-learning.d-BLEmCib0.d.ts → capability-learning.d-WtsyRv3O.d.ts} +1 -1
- package/dist/types-chunks/{capsule.d-CzaamUUv.d.ts → capsule.d-xJvfh4YR.d.ts} +3 -3
- package/dist/types-chunks/{commands.d-DxKjVSNU.d.ts → commands.d-DkPfcQWG.d.ts} +4 -4
- package/dist/types-chunks/{cost-tracker.d-CBLk1fiD.d.ts → cost-tracker.d-BeaenODW.d.ts} +4 -1
- package/dist/types-chunks/{guardrail.d-D7r6zVSR.d.ts → guardrail.d-6ZDbNbHO.d.ts} +1 -1
- package/dist/types-chunks/{guardrail.d-CPDfZyJp.d.ts → guardrail.d-R7AiGfrI.d.ts} +4 -4
- package/dist/types-chunks/integration-config.d-ojG4swOP.d.ts +95 -0
- package/dist/types-chunks/{manager.d-Zum9cGHU.d.ts → manager.d-CoEuPRAo.d.ts} +4 -1
- package/dist/types-chunks/{public-api.d-BcKbBy1E.d.ts → public-api.d-7G4--RZE.d.ts} +3 -3
- package/dist/types-chunks/{resolver.d-DmBnoilY.d.ts → resolver.d-CIVoGc97.d.ts} +2 -2
- package/dist/types-chunks/{run-manager.d-CSj7_kWk.d.ts → run-manager.d-BaXtkryp.d.ts} +1 -1
- package/dist/types-chunks/{sdk-session-C6nDgyh8.d.ts → sdk-session-BQccrODn.d.ts} +6 -4
- package/dist/types-chunks/{types.d-D2frCRaY.d.ts → types.d-BtC4yLYO.d.ts} +35 -8
- package/dist/types-chunks/{types.d-CzscbsG0.d.ts → types.d-C9YHEAmA.d.ts} +38 -7
- package/dist/types-chunks/{types.d-D9FKbAmf.d.ts → types.d-CJR7t6iW.d.ts} +2 -2
- package/dist/types-chunks/{types.d-CO_ZkmOd.d.ts → types.d-TTvpAGWf.d.ts} +5 -0
- package/dist/types-chunks/{utils.d-DOXxnOnI.d.ts → utils.d-BbB5jzi1.d.ts} +15 -7
- package/docs/SDK_EMBEDDER_GUIDE.md +627 -9
- package/package.json +10 -2
- package/dist/chunks/agent-DATNZOBK.js +0 -2
- package/dist/chunks/argument-completer-X7MMM7Y6.js +0 -2
- package/dist/chunks/chunk-5GL55MOH.js +0 -36
- package/dist/chunks/chunk-67XJ4YUA.js +0 -703
- package/dist/chunks/chunk-C4SBXBWH.js +0 -346
- package/dist/chunks/chunk-D6QVXQNI.js +0 -1
- package/dist/chunks/chunk-HFM2D5BP.js +0 -2
- package/dist/chunks/chunk-HLBHSA2B.js +0 -325
- package/dist/chunks/chunk-K2NCKRVY.js +0 -33
- package/dist/chunks/chunk-KIQRCGVR.js +0 -419
- package/dist/chunks/chunk-MP52BDK5.js +0 -15
- package/dist/chunks/chunk-O5OJQFPY.js +0 -307
- package/dist/chunks/chunk-OIELNE6Z.js +0 -56
- package/dist/chunks/chunk-PZTG2C33.js +0 -7
- package/dist/chunks/chunk-QJJKMNZF.js +0 -2
- package/dist/chunks/compaction-config-BXEDHIQP.js +0 -2
- package/dist/chunks/dist-76PJHNSG.js +0 -2
- package/dist/chunks/dist-HTDJRAD6.js +0 -2
- package/dist/chunks/host-UAXIDZ6V.js +0 -2
- package/dist/chunks/paste-C33GZQV5.js +0 -2
- package/dist/chunks/run-manager-UCXB4G22.js +0 -2
- package/dist/chunks/utils-S63V5UCM.js +0 -2
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
// @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
|
|
2
|
-
import{w as q,y as J}from"./chunk-HLBHSA2B.js";import{C as k,D as X,E as R,Ja as B,Na as z,ja as F,ka as j,la as G,ma as U,n as K,na as V,oa as A,va as $,wa as E,z as x,za as I}from"./chunk-K2NCKRVY.js";import{xa as H}from"./chunk-67XJ4YUA.js";import{e as W}from"./chunk-5GL55MOH.js";import{a as o}from"./chunk-ONUPGMER.js";import c from"fs";import f from"path";import{exec as ce,spawnSync as le}from"child_process";import{promisify as ue}from"util";import{fileURLToPath as fe}from"url";var L="en";function ae(){return(process.env.LC_ALL||process.env.LC_MESSAGES||process.env.LANG||"").toLowerCase().startsWith("zh")?"zh":"en"}o(ae,"detectSystemLocale");function Q(e){if(!e||e==="auto"){L=ae();return}L=e.toLowerCase().replace(/[-_].*/,"")==="zh"?"zh":"en"}o(Q,"setLocale");var Y={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.multiselect_min":"Select at least {min} option(s) with Space before confirming.","select.multiselect_max":"Select at most {max} option(s) 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":"\u667A\u80FD\u4F53\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.multiselect_min":"\u8BF7\u5148\u4F7F\u7528\u7A7A\u683C\u81F3\u5C11\u9009\u62E9 {min} \u4E2A\u9009\u9879\u3002","select.multiselect_max":"\u6700\u591A\u53EA\u80FD\u9009\u62E9 {max} \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 Ne(e,t){let r=Y[L][e]??Y.en[e]??e;if(t)for(let[i,s]of Object.entries(t))r=r.replace(`{${i}}`,String(s));return r}o(Ne,"t");var de=ue(ce),S=W(),He=f.join(S,"sessions"),d=f.join(S,"config.json"),qe=60,p=null,D=!1,pe="dumb";function me(e){let t=f.basename(e).toLowerCase(),n="__KODAX_SHELL_ENV_START__",r=`printf '%s\\0' '${n}'; env -0`;return t==="fish"?{args:["-i","-c",r],sentinel:n}:{args:t==="bash"||t==="zsh"?["-ic",r]:["-lc",r],sentinel:n}}o(me,"buildShellEnvCommand");function ge(e,t){let n=`${t}\0`,r=e.lastIndexOf(n);if(r===-1)return{};let i=e.slice(r+n.length),s={};for(let a of i.split("\0")){if(!a)continue;let u=a.indexOf("=");u<=0||(s[a.slice(0,u)]=a.slice(u+1))}return s}o(ge,"parseNullDelimitedShellEnv");function ve(e={}){let t=e.env??process.env;if((e.platform??process.platform)==="win32"||t.KODAX_DISABLE_SHELL_ENV_HYDRATION==="1")return!1;let r=e.shell??t.SHELL;if(!r||!f.isAbsolute(r))return!1;let{args:i,sentinel:s}=me(r),a=e.run??le,u={...t,TERM:pe},l=a(r,i,{encoding:"utf8",env:u,maxBuffer:1024*1024,timeout:5e3,windowsHide:!0,detached:!0,stdio:["ignore","pipe","pipe"]});if(l.status!==0||!l.stdout)return!1;let re=typeof l.stdout=="string"?l.stdout:l.stdout.toString("utf8"),ie=ge(re,s),N=!1;for(let[C,se]of Object.entries(ie))C!=="TERM"&&t[C]===void 0&&(t[C]=se,N=!0);return N}o(ve,"hydrateProcessEnvFromShell");function he(){if(!D){D=!0;try{ve()}catch{}}}o(he,"ensureShellEnvironmentHydrated");function Je(){D=!1}o(Je,"resetShellEnvironmentHydrationForTesting");function ye(e){$(e.customProviders??[])}o(ye,"registerConfiguredCustomProviders");function te(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:[]}o(te,"normalizeConfiguredExtensions");function Ee(e){if(e.permissionMode!=="default")return e;let t={...e,permissionMode:"accept-edits"};try{c.mkdirSync(f.dirname(d),{recursive:!0}),c.writeFileSync(d,JSON.stringify(t,null,2))}catch{}return t}o(Ee,"migrateLegacyPermissionModeInConfig");function Pe(e){if(e.permissionMode!=="auto-in-project")return e;try{let t=c.readFileSync(d,"utf-8"),n=t.replace(/("permissionMode"\s*:\s*)"auto-in-project"/,'$1"auto"');n!==t&&c.writeFileSync(d,n)}catch{}return{...e,permissionMode:"auto"}}o(Pe,"migrateAutoInProjectAliasInConfig");function be(){if(p)return p;let e="0.7.68";if(e)return p=e,p;let t=f.join(f.dirname(fe(import.meta.url)),"../../package.json");if(c.existsSync(t))try{return p=JSON.parse(c.readFileSync(t,"utf-8")).version??"0.0.0",p??"0.0.0"}catch{}return p="0.0.0",p}o(be,"getVersion");var Ye=be();function _e(e){return j(e)}o(_e,"getProviderModel");function T(e,t){let n=new Set(e.map(i=>i.toLowerCase())),r=[...e];for(let i of t)n.has(i.toLowerCase())||r.push(i);return r}o(T,"mergeModels");function Se(e,t){t||(t=w().providerModels);let n=t?.[e];if(n&&n.length>0){try{let r=A(e);if(r.length>0)return T(n,r)}catch{}try{let r=E(e);if(r)return T(n,r.getAvailableModels())}catch{}return n}try{let r=A(e);if(r.length>0)return r}catch{}try{let r=E(e);if(r)return r.getAvailableModels()}catch{}return[]}o(Se,"getProviderAvailableModels");function Oe(e,t){let n=G(e,t);if(n!=="unknown")return n;try{let r=E(e);if(r)return r.getReasoningCapability(t)}catch{}return"unknown"}o(Oe,"getProviderReasoningCapability");function we(e){let t=U(e);if(t)return t;try{return I().find(r=>r.name===e)?.capabilityProfile??null}catch{return null}}o(we,"getProviderCapabilityProfile");function ne(e,t){let n=we(e),r=Oe(e,t);if(n)return{capabilityProfile:n,reasoningCapability:r};try{let i=B(e);return{capabilityProfile:i.getCapabilityProfile(),reasoningCapability:i.getReasoningCapability(t)}}catch{return null}}o(ne,"getProviderCapabilityMetadata");function Qe(e,t){let n=ne(e,t);return n?q({providerName:e,model:t,capabilityProfile:n.capabilityProfile,reasoningCapability:n.reasoningCapability==="unknown"?void 0:n.reasoningCapability}):null}o(Qe,"getProviderCapabilitySnapshot");function Ce(e,t,n,r){let i=ne(e,t);return i?J({providerName:e,model:t,capabilityProfile:i.capabilityProfile,reasoningCapability:i.reasoningCapability==="unknown"?void 0:i.reasoningCapability,reasoningMode:n,hints:r}):null}o(Ce,"getProviderPolicyDecision");function Ze(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",r=e.mcpSupport==="native"?"MCP available":"MCP unavailable";return`${t}; ${n}; ${r}`}o(Ze,"describeProviderCapabilitySummary");function et(e){switch(e){case"native-budget":return"B";case"native-effort":return"E";case"native-toggle":return"T";case"native-adaptive":return"A";default:return"-"}}o(et,"formatReasoningCapabilityShort");function y(e){if(e)return e==="none"?"off":e}o(y,"formatReasoningEffortForDisplay");function _(e,t){let n=y(t);n&&!e.includes(n)&&e.push(n)}o(_,"pushUniqueEffortDisplay");function tt(e,t){let n=["auto"],i=O(e,t)?.supportedEfforts?.filter(s=>s.isUserVisible!==!1);if(!i||i.length===0){for(let s of["off","low","medium","high"])_(n,s);return n}for(let s of i)_(n,s.value);return n}o(tt,"getProviderReasoningEffortOptions");function nt(e,t){let n=O(e,t),r=new Set(n?.disabledEfforts??[]),i=n?.supportedEfforts?.filter(l=>l.isUserVisible!==!1),s=[],a=n?.supportsDisabledThinking===!0;if(!i||i.length===0){for(let l of["low","medium","high"])_(s,l);a=!0}else for(let l of i){if(l.value==="none"){a=!0;continue}if(r.has(l.value)){a=!0;continue}_(s,l.value)}let u=[];return a&&u.push("off"),u.push(...s),u.push("auto"),u}o(nt,"getProviderReasoningEffortCycle");function xe(e,t){if(t===!1)return"off";switch(e){case"off":return"off";case"quick":return"low";case"balanced":return"medium";case"deep":return"high";default:return"auto"}}o(xe,"legacyReasoningModeToEffortDisplay");function O(e,t){let n=t??_e(e);if(!n)return;let r=z(e,n)?.reasoningProfile;if(r)return K(r,H(e,n))}o(O,"resolveReasoningProfileForDisplay");function ot(e){let t=y(e.effort)??xe(e.reasoningMode,e.thinking),n=O(e.provider,e.model);if(!n)return t;try{let r=X({capability:n,explicitEffort:e.effortOverride?e.effort:void 0,sessionEffort:e.effortOverride?void 0:e.effort,legacyReasoningMode:e.reasoningMode,thinking:e.thinking}),i=y(r.configuredEffort)??t,a=r.configuredEffort!==void 0&&n.disabledEfforts?.includes(r.configuredEffort)===!0?"off":y(r.effectiveEffort);return a&&a!==i?`${i}->${a}`:i}catch{if(e.effort)try{let r=R({currentEffort:e.effort,capability:n}),i=y(e.effort)??t,s=y(r.effectiveEffort);return s&&s!==i?`${i}->${s}`:i}catch{return t}return t}}o(ot,"formatReasoningEffortStatusLabel");function rt(e){let t=De(e);if(!t)return{preserved:!0};let n=O(e.provider,e.model);if(!n)return{configuredEffort:t,runtimeEffort:t,preserved:!0};let r=R({currentEffort:t,capability:n});return{configuredEffort:t,runtimeEffort:r.effectiveEffort,preserved:r.preserved,diagnostic:r.diagnostic}}o(rt,"resolveProviderReasoningRuntimeEffort");function ke(e){switch(e){case"native-budget":return"budget";case"native-effort":return"effort";case"native-toggle":return"toggle";case"native-adaptive":return"adaptive";default:return"none"}}o(ke,"describeReasoningCapabilityControl");function it(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"native-adaptive":return"Model adaptively decides thinking depth (Opus 4.7+)";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"}}o(it,"describeReasoningExecution");function st(e){let t=[];e||(e=w().providerModels);for(let n of V())t.push({name:n.name,model:n.model,models:Se(n.name,e),configured:n.capabilityProfile.transport==="cli-bridge"?!0:n.configured,reasoningCapability:n.reasoningCapability,capabilityProfile:n.capabilityProfile});try{let n=I().map(r=>({...r,models:(()=>{let i=e?.[r.name];return i&&i.length>0?T(i,r.models):r.models})()}));t.push(...n)}catch{}return t}o(st,"getProviderList");function at(e){if(F(e))return!0;try{return E(e)?.isConfigured()??!1}catch{return!1}}o(at,"isProviderConfigured");function w(){try{if(c.existsSync(d)){let e=JSON.parse(c.readFileSync(d,"utf-8")),t=e.reasoningCeiling??e.reasoningMode;return Pe(Ee({...e,reasoningMode:t,extensions:te(e.extensions)}))}}catch{}return{}}o(w,"loadConfig");var M=f.join(S,"config.example.jsonc"),Re=`// KodaX example configuration \u2014 copy what you need into config.json (in this same
|
|
3
|
-
// folder). config.json must be STRICT JSON: no comments, no trailing commas. Most
|
|
4
|
-
// settings also have a semantic KODAX_* env counterpart that overrides the file.
|
|
5
|
-
// Priority: explicit option > environment > config.json > default. Delete anything
|
|
6
|
-
// you don't use; everything here is optional.
|
|
7
|
-
{
|
|
8
|
-
// Default provider + model. Override live with /provider and /model.
|
|
9
|
-
// "provider": "deepseek",
|
|
10
|
-
// "model": "deepseek-v4",
|
|
11
|
-
|
|
12
|
-
// Task runtime: "embedded" (default) or shared local "daemon".
|
|
13
|
-
// "runtimeMode": "embedded",
|
|
14
|
-
|
|
15
|
-
// Reasoning effort for normal turns: off | auto | low | medium | high | xhigh | max.
|
|
16
|
-
// "effort": "high",
|
|
17
|
-
|
|
18
|
-
// Permission mode: "accept-edits" | "plan" | "auto".
|
|
19
|
-
// "permissionMode": "accept-edits",
|
|
20
|
-
|
|
21
|
-
// Custom providers \u2014 point KodaX at an OpenAI/Anthropic-compatible endpoint.
|
|
22
|
-
// "customProviders": [
|
|
23
|
-
// {
|
|
24
|
-
// "name": "my-relay", // unique; do NOT reuse a built-in provider name
|
|
25
|
-
// "protocol": "openai", // "openai" or "anthropic" = the wire format the endpoint speaks
|
|
26
|
-
// "baseUrl": "https://api.example.com/v1",
|
|
27
|
-
// "apiKeyEnv": "MY_RELAY_API_KEY", // env var that holds the key (never put the key here)
|
|
28
|
-
// "model": "deepseek/deepseek-v4",
|
|
29
|
-
// "models": ["deepseek/deepseek-v4"],
|
|
30
|
-
//
|
|
31
|
-
// // --- Thinking / reasoning (optional) ---
|
|
32
|
-
// // For most NON-Claude models this single line is all you need:
|
|
33
|
-
// "supportsThinking": true
|
|
34
|
-
// // openai-compat : KodaX sends no thinking toggle and just shows whatever
|
|
35
|
-
// // reasoning the model emits (deepseek/qwen/etc. via relays).
|
|
36
|
-
// // anthropic-compat: KodaX sends thinking:{type:"enabled"} \u2014 what the Anthropic
|
|
37
|
-
// // endpoints of zhipu / kimi / minimax / deepseek expect.
|
|
38
|
-
// //
|
|
39
|
-
// // openai-compat MULTI-TURN: some models (notably DeepSeek V4) reject later turns
|
|
40
|
-
// // whose history drops the previous reasoning_content. If thinking shows on turn 1
|
|
41
|
-
// // but turn 2 errors, also set: "replayReasoningContent": true
|
|
42
|
-
// //
|
|
43
|
-
// // To expose a TUNABLE effort level, use "reasoning" instead. Include "off" to
|
|
44
|
-
// // allow disabling thinking:
|
|
45
|
-
// // "reasoning": { "efforts": ["off", "low", "high"], "default": "high" }
|
|
46
|
-
// //
|
|
47
|
-
// // Pointing anthropic-compat at REAL Claude (4.6+)? Claude needs ADAPTIVE
|
|
48
|
-
// // thinking, not the enable toggle \u2014 set instead:
|
|
49
|
-
// // "reasoningCapability": "native-adaptive"
|
|
50
|
-
// }
|
|
51
|
-
// ],
|
|
52
|
-
|
|
53
|
-
// MCP servers (stdio or remote). See the /mcp command and manual topic "mcp".
|
|
54
|
-
// "mcpServers": {}
|
|
55
|
-
}
|
|
56
|
-
`;function ct(){try{return c.existsSync(d)||c.existsSync(M)?void 0:(c.mkdirSync(S,{recursive:!0}),c.writeFileSync(M,Re,"utf-8"),M)}catch{return}}o(ct,"ensureExampleConfigFile");var b=new Map;function Ae(e,t){let n=process.env[e],r=b.get(e),i=r!==void 0&&n===r;if(n!==void 0&&!i){b.delete(e);return}if(t===void 0){i&&delete process.env[e],b.delete(e);return}process.env[e]=t,b.set(e,t)}o(Ae,"projectConfigEnvironment");var oe=[{configPath:"streamIdleTimeoutMs",env:"KODAX_STREAM_IDLE_TIMEOUT_MS",value:o(e=>v(e.streamIdleTimeoutMs),"value")},{configPath:"repoIntelligenceMode",env:"KODAX_REPO_INTELLIGENCE",value:o(e=>e.repoIntelligenceMode,"value")},{configPath:"repoIntelligenceTrace",env:"KODAX_REPO_INTELLIGENCE_TRACE",value:o(e=>h(e.repoIntelligenceTrace),"value")},{configPath:"verifierLog",env:"KODAX_VERIFIER_LOG",value:o(e=>h(e.verifierLog),"value")},{configPath:"stallLog",env:"KODAX_STALL_LOG",value:o(e=>h(e.stallLog),"value")},{configPath:"fallbackProviders",env:"KODAX_FALLBACK_PROVIDERS",value:o(e=>Le(e.fallbackProviders),"value")},{configPath:"fastProvider",env:"KODAX_FAST_PROVIDER",value:o(e=>m(e.fastProvider),"value")},{configPath:"fastModel",env:"KODAX_FAST_MODEL",value:o(e=>m(e.fastModel),"value")},{configPath:"deepProvider",env:"KODAX_DEEP_PROVIDER",value:o(e=>m(e.deepProvider),"value")},{configPath:"deepModel",env:"KODAX_DEEP_MODEL",value:o(e=>m(e.deepModel),"value")},{configPath:"provider",env:"KODAX_PROVIDER",value:o(e=>m(e.provider),"value")},{configPath:"effort",env:"KODAX_EFFORT",value:o(e=>m(e.effort),"value")},{configPath:"runtimeMode",env:"KODAX_RUNTIME_MODE",value:o(e=>e.runtimeMode,"value")},{configPath:"sessionRetentionDays",env:"KODAX_SESSION_RETENTION_DAYS",value:o(e=>v(e.sessionRetentionDays),"value")},{configPath:"maxOutputTokens",env:"KODAX_MAX_OUTPUT_TOKENS",value:o(e=>v(e.maxOutputTokens),"value")},{configPath:"disablePromptCache",env:"KODAX_DISABLE_PROMPT_CACHE",value:o(e=>h(e.disablePromptCache),"value")},{configPath:"lsp",env:"KODAX_LSP",value:o(e=>h(e.lsp),"value")},{configPath:"lspAutoDownload",env:"KODAX_LSP_DOWNLOAD",value:o(e=>h(e.lspAutoDownload),"value")},{configPath:"acpLogLevel",env:"KODAX_ACP_LOG",value:o(e=>m(e.acpLogLevel),"value")},{configPath:"repoIntelligence.toolWaitMs",env:"KODAX_REPO_INTELLIGENCE_TOOL_WAIT_MS",value:o(e=>v(e.repoIntelligence?.toolWaitMs),"value")},{configPath:"repoIntelligence.workerTimeoutMs",env:"KODAX_REPO_INTELLIGENCE_WORKER_TIMEOUT_MS",value:o(e=>v(e.repoIntelligence?.workerTimeoutMs),"value")},{configPath:"repoIntelligence.workerOldSpaceMb",env:"KODAX_REPO_INTELLIGENCE_WORKER_OLD_SPACE_MB",value:o(e=>v(e.repoIntelligence?.workerOldSpaceMb),"value")},{configPath:"repoIntelligence.storageDir",env:"KODAX_REPO_INTELLIGENCE_STORAGE_DIR",value:o(e=>m(e.repoIntelligence?.storageDir),"value")},{configPath:"workflow.maxConcurrency",env:"KODAX_WORKFLOW_MAX_CONCURRENCY",value:o(e=>v(e.workflow?.maxConcurrency),"value")}];function Ie(e){for(let t of oe)Ae(t.env,t.value(e))}o(Ie,"applyConfigSurfaceBridges");function m(e){return e?.trim()||void 0}o(m,"normalizedConfigString");function v(e){return typeof e=="number"&&Number.isFinite(e)?String(e):void 0}o(v,"configNumberString");function h(e){return e===void 0?void 0:e?"1":"0"}o(h,"configBooleanString");function Le(e){return e?.filter(t=>t.trim().length>0).join(",")}o(Le,"configStringList");var lt=[...oe.map(({configPath:e,env:t})=>({configPath:e,env:t}))];function Me(e){Ie(e)}o(Me,"applyConfigEnvironment");function ut(){he();let e=w();return Me(e),ye(e),Q(e.locale),e}o(ut,"prepareRuntimeConfig");function ft(e){let n={...w(),...e},r=te(n.extensions);r!==void 0&&(n.extensions=r);for(let i of Object.keys(e))e[i]===void 0&&delete n[i];c.mkdirSync(f.dirname(d),{recursive:!0}),c.writeFileSync(d,JSON.stringify(n,null,2))}o(ft,"saveConfig");function dt(e,t,n){return e.effort!==void 0||k(n).kind==="value"||t.effort!==void 0}o(dt,"resolveInitialEffortOverride");function g(e){return e?.trim()?e:void 0}o(g,"nonEmptySelection");function pt(e){return g(e.explicitProvider)??g(e.environmentProvider)??g(e.configuredProvider)??e.defaultProvider}o(pt,"resolveRuntimeProviderSelection");function mt(e){let t=g(e.explicitModel);if(t)return t;let n=g(e.configuredModel);if(!n)return;let r=g(e.explicitProvider)??g(e.environmentProvider);return r?g(e.configuredProvider)===r?n:void 0:n}o(mt,"resolveRuntimeModelSelection");function gt(e){if(e.explicitEffort!==void 0)return x(e.explicitEffort);let t=k(e.environmentEffort);return t.kind==="value"?t.value:e.configuredEffort===void 0?void 0:x(e.configuredEffort)}o(gt,"resolveRuntimeEffortSelection");function De(e){return e.permissionMode==="plan"&&e.effortOverride!==!0&&e.planModeEffort!==void 0?e.planModeEffort:e.effort}o(De,"resolvePermissionModeEffort");async function vt(e){try{let{stdout:t}=await de("git rev-parse --show-toplevel",{cwd:e});return t.trim()}catch{return null}}o(vt,"getGitRoot");function Te(e){switch(e){case"builtin":return"Built-in";case"runtime":return"Runtime extension";case"custom":return"Custom config";default:return"Unknown"}}o(Te,"formatProviderSourceKind");function ht(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: ${Te(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: ${ke(e.reasoningCapability)}`]}o(ht,"formatProviderCapabilityDetailLines");function yt(e,t,n){return[{label:"General coding",hints:{}},{label:"Evidence-heavy review",hints:{evidenceHeavy:!0}},{label:"Long-running task",hints:{longRunning:!0}}].map(i=>({label:i.label,decision:Ce(e,t,n,i.hints)})).filter(i=>i.decision!==null)}o(yt,"getProviderCommonPolicyScenarios");var Z=.5,ee=0,P={locked:!1,queue:[]};async function Et(e){for(;P.locked;)await new Promise(t=>P.queue.push(t));P.locked=!0;try{let t=(Date.now()-ee)/1e3;t<Z&&await new Promise(r=>setTimeout(r,(Z-t)*1e3));let n=await e();return ee=Date.now(),n}finally{P.locked=!1;let t=P.queue.shift();t&&t()}}o(Et,"rateLimitedCall");export{Ne as a,S as b,He as c,d,qe as e,ve as f,Je as g,ye as h,be as i,Ye as j,_e as k,Se as l,Oe as m,we as n,Qe as o,Ce as p,Ze as q,et as r,y as s,tt as t,nt as u,ot as v,rt as w,ke as x,it as y,st as z,at as A,w as B,M as C,ct as D,lt as E,Me as F,ut as G,ft as H,dt as I,pt as J,mt as K,gt as L,De as M,vt as N,Te as O,ht as P,yt as Q,Et as R};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
// @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
|
|
2
|
-
import{a as o}from"./chunk-ONUPGMER.js";var f=class extends Error{static{o(this,"KodaXMediaError")}code;detail;cause;constructor(t,n,r={}){super(n),this.name="KodaXMediaError",this.code=t,this.detail=r.detail,this.cause=r.cause}},P=class extends f{static{o(this,"ImageResizeError")}constructor(t,n={}){super(n.code??"IMAGE_TOO_LARGE",t,n),this.name="ImageResizeError"}};import ue from"node:path";var yt={".gif":"image/gif",".jpeg":"image/jpeg",".jpg":"image/jpeg",".png":"image/png",".webp":"image/webp"},ht={".3gp":"video/3gpp",".3gpp":"video/3gpp",".avi":"video/x-msvideo",".flv":"video/x-flv",".mov":"video/quicktime",".mp4":"video/mp4",".mpeg":"video/mpeg",".mpg":"video/mpeg",".webm":"video/webm",".wmv":"video/x-ms-wmv"};function ce(e){return yt[ue.extname(e).toLowerCase()]}o(ce,"inferImageMediaType");function fe(e){return ht[ue.extname(e).toLowerCase()]}o(fe,"inferVideoMediaType");function bt(e,t={}){let n=t.mediaType??ce(e);return{kind:"image",path:e,...n?{mediaType:n}:{},...t.source?{source:t.source}:{},...t.description?{description:t.description}:{}}}o(bt,"createImageArtifactFromPath");function vt(e,t={}){if(t.mediaType!==void 0&&t.mimeType!==void 0&&t.mediaType!==t.mimeType)throw new f("UNSUPPORTED_MEDIA_TYPE",`File artifact mediaType and mimeType disagree: ${t.mediaType} != ${t.mimeType}.`);return{kind:"file",path:e,...t.mediaType?{mediaType:t.mediaType}:{},...t.mimeType?{mimeType:t.mimeType}:{},...t.name?{name:t.name}:{},...t.source?{source:t.source}:{},...t.description?{description:t.description}:{}}}o(vt,"createFileArtifactFromPath");function kt(e,t={}){let n=t.mediaType??fe(e);if(!n)throw new f("UNSUPPORTED_MEDIA_TYPE",`Cannot infer video media type from path: ${e}.`);return{kind:"video",path:e,mediaType:n,...t.name?{name:t.name}:{},...t.source?{source:t.source}:{},...t.description?{description:t.description}:{}}}o(kt,"createVideoArtifactFromPath");import{Jimp as Ct}from"jimp";var pe=2e3,ge=Math.floor(3.75*1024*1024),Rt=[80,60,40];async function H(e,t={}){let n=t.maxDimension??pe,r=t.targetBytes??ge;if(e.length===0)throw new P("Empty image buffer.",{code:"IMAGE_DECODE_FAILED"});let i;try{i=await Ct.read(e)}catch(u){let y=u instanceof Error?u.message:String(u);throw new P(`Failed to decode image: ${y}`,{code:"IMAGE_DECODE_FAILED",cause:u})}let{width:s,height:d}=i.bitmap,a=Math.max(s,d);if(a>n){let u=n/a;i.resize({w:Math.max(1,Math.round(s*u)),h:Math.max(1,Math.round(d*u))})}let l=i.bitmap.width,m=i.bitmap.height;if(t.preferMediaType!=="image/jpeg"){let u=await i.getBuffer("image/png");if(u.length<=r)return{buffer:Buffer.from(u),mediaType:"image/png",width:l,height:m}}for(let u of Rt){let y=await i.getBuffer("image/jpeg",{quality:u});if(y.length<=r)return{buffer:Buffer.from(y),mediaType:"image/jpeg",width:l,height:m}}if(t.preferMediaType==="image/jpeg"){let u=await i.getBuffer("image/png");if(u.length<=r)return{buffer:Buffer.from(u),mediaType:"image/png",width:l,height:m}}throw new P(`Image still exceeds budget (${r} bytes raw) after PNG and JPEG q40 compression. Try a smaller image or take a fresh screenshot of a smaller region.`,{code:"IMAGE_TOO_LARGE"})}o(H,"normalizePastedImage");import{spawn as he}from"node:child_process";import{mkdtemp as Pt,readFile as Et,rm as Tt}from"node:fs/promises";import{tmpdir as xt}from"node:os";import me from"node:path";var be=5e3;async function ve(){switch(process.platform){case"darwin":return Mt();case"win32":return _t();case"linux":return Kt();default:throw new f("UNSUPPORTED_PLATFORM",`Clipboard image fallback is not supported on platform "${process.platform}".`)}}o(ve,"readClipboardImage");async function St(e={}){let t=await ve();return t?H(t,e):null}o(St,"readAndNormalizeClipboardImage");async function ke(e){let t=await Pt(me.join(xt(),"kodax-clip-")),n=me.join(t,"clip.png");try{return await e(n)}finally{await Tt(t,{recursive:!0,force:!0}).catch(r=>{})}}o(ke,"runWithTempPng");async function Mt(){return ke(async e=>{let t=`set png_data to (the clipboard as \xABclass PNGf\xBB)
|
|
3
|
-
set fh to open for access POSIX file "${e.replace(/"/g,'\\"')}" with write permission
|
|
4
|
-
write png_data to fh
|
|
5
|
-
close access fh`;return await Re("osascript",["-e",t])?Ce(e):null})}o(Mt,"readMacClipboard");async function _t(){return ke(async e=>{let t=["Add-Type -AssemblyName System.Drawing | Out-Null","$img = Get-Clipboard -Format Image","if ($null -eq $img) { exit 1 }",`$img.Save('${e.replace(/'/g,"''")}', [System.Drawing.Imaging.ImageFormat]::Png)`].join("; ");return await Re("powershell",["-NoProfile","-Command",t])?Ce(e):null})}o(_t,"readWinClipboard");async function Kt(){return await ye("wl-paste",["--type","image/png"])??ye("xclip",["-selection","clipboard","-t","image/png","-o"])}o(Kt,"readLinuxClipboard");async function Ce(e){try{let t=await Et(e);return t.length>0?t:null}catch(t){return null}}o(Ce,"readNonEmptyFile");function Re(e,t){return new Promise(n=>{let r=!1,i=he(e,[...t],{stdio:"ignore"}),s=setTimeout(()=>{r||(r=!0,i.kill(),n(!1))},be);i.once("error",()=>{r||(r=!0,clearTimeout(s),n(!1))}),i.once("exit",d=>{r||(r=!0,clearTimeout(s),n(d===0))})})}o(Re,"runCommand");function ye(e,t){return new Promise(n=>{let r=!1,i=[],s=he(e,[...t],{stdio:["ignore","pipe","ignore"]}),d=setTimeout(()=>{r||(r=!0,s.kill(),n(null))},be);s.stdout?.on("data",a=>i.push(a)),s.once("error",()=>{r||(r=!0,clearTimeout(d),n(null))}),s.once("exit",a=>{if(r)return;if(r=!0,clearTimeout(d),a!==0){n(null);return}let l=Buffer.concat(i);n(l.length>0?l:null)})})}o(ye,"collectStdoutBytes");import{createHash as wt}from"node:crypto";import{mkdir as At,readdir as Xt,stat as It,unlink as Ot,writeFile as Dt}from"node:fs/promises";import{tmpdir as Bt}from"node:os";import J from"node:path";var Pe="KODAX_PASTE_TMP_DIR",Ee=1440*60*1e3;function Te(){return process.env[Pe]??J.join(Bt(),"kodax-paste")}o(Te,"resolvePasteTmpDir");function Nt(e){let t=e?.trim().replace(/[^A-Za-z0-9._-]+/g,"-").replace(/^-+|-+$/g,"");return t&&t.length>0?t:"paste"}o(Nt,"sanitizeFileNamePrefix");async function Lt(e,t={}){let n=t.directory??Te();await At(n,{recursive:!0});let r=e.mediaType==="image/jpeg"?".jpg":".png",i=wt("sha256").update(e.buffer).digest("hex").slice(0,16),s=`${Nt(t.fileNamePrefix)}-${i}${r}`,d=J.join(n,s);return await Dt(d,e.buffer),{type:"image",path:d,mediaType:e.mediaType}}o(Lt,"persistImageAsBlock");async function jt(e=Date.now()){let t=Te(),n;try{n=await Xt(t)}catch(s){return 0}let r=e-Ee,i=0;return await Promise.all(n.filter(s=>/-[0-9a-f]{16}\.(?:png|jpg)$/.test(s)).map(async s=>{let d=J.join(t,s);try{(await It(d)).mtimeMs<r&&(await Ot(d),i+=1)}catch(a){}})),i}o(jt,"prunePasteTmpDir");function j(e,t){return`${e}/${t??""}`}o(j,"capabilityCacheKey");function $t(e,t,n){return e[j(t,n)]?.rejected??[]}o($t,"getRejectedEfforts");function Ft(e,t,n,r,i,s){let d=j(t,n),a=e[d],l=a?.rejected.includes(r)?a.rejected:[...a?.rejected??[],r];return{...e,[d]:{rejected:l,source:i,updatedAt:s}}}o(Ft,"addRejectedEffort");function Ut(e,t,n){if(!t)return{};let r={...e};return delete r[j(t,n)],r}o(Ut,"removeCacheEntry");function Wt(e){if(!e||typeof e!="object")return{};let t={};for(let[n,r]of Object.entries(e)){if(!r||typeof r!="object")continue;let i=r,s=Array.isArray(i.rejected)?i.rejected.filter(l=>typeof l=="string"):[],d=i.source==="probed"?"probed":"observed",a=typeof i.updatedAt=="string"?i.updatedAt:"";t[n]={rejected:s,source:d,updatedAt:a}}return t}o(Wt,"sanitizeCapabilityCache");import{AsyncLocalStorage as Vt}from"node:async_hooks";var zt=new Vt,xe=8,Se=32;function qt(e){if(e===void 0)return;let t=Number.parseInt(e,10);return Number.isInteger(t)&&t>0?t:void 0}o(qt,"parsePositiveInt");function Gt(){let e=$()?.workflow?.maxConcurrency,t=typeof e=="number"&&Number.isInteger(e)&&e>0?e:qt(process.env.KODAX_WORKFLOW_MAX_CONCURRENCY)??xe;return Math.max(1,Math.min(Se,t))}o(Gt,"resolveWorkflowMaxConcurrency");function $(){return zt.getStore()}o($,"getRunScopedConfig");var A={transport:"native-api",conversationSemantics:"full-history",mcpSupport:"none",contextFidelity:"full",toolCallingFidelity:"full",sessionSupport:"full",longRunningSupport:"full",multimodalSupport:"none",evidenceSupport:"full"},Me={...A,multimodalSupport:"image-input"},F={transport:"cli-bridge",conversationSemantics:"last-user-message",mcpSupport:"none",contextFidelity:"lossy",toolCallingFidelity:"limited",sessionSupport:"stateless",longRunningSupport:"limited",multimodalSupport:"none",evidenceSupport:"limited"},_e={...F,multimodalSupport:"image-input"};function X(e){return{transport:e.transport,conversationSemantics:e.conversationSemantics,mcpSupport:e.mcpSupport,contextFidelity:e.contextFidelity??"full",toolCallingFidelity:e.toolCallingFidelity??"full",sessionSupport:e.sessionSupport??"full",longRunningSupport:e.longRunningSupport??"full",multimodalSupport:e.multimodalSupport??"none",evidenceSupport:e.evidenceSupport??"full"}}o(X,"normalizeCapabilityProfile");import Ur from"@anthropic-ai/sdk";import{parse as _r}from"partial-json";import ni from"openai";import{ClientSideConnection as hi,PROTOCOL_VERSION as bi,ndJsonStream as vi}from"@agentclientprotocol/sdk";import Oe from"node:fs";import De from"node:os";import Be from"node:path";var go="gpt-5.4",mo="auto-gemini-3",yo=["gpt-5.4","gpt-5.3-codex","gpt-5.3-codex-spark"],ho=["auto-gemini-3","gemini-3.1-pro-preview","gemini-3-flash-preview","gemini-2.5-pro","gemini-2.5-flash"];function Ne(e){let t=new Set,n=[];for(let r of e){let i=r.trim();if(!i)continue;let s=i.toLowerCase();t.has(s)||(t.add(s),n.push(i))}return n}o(Ne,"dedupePreserveOrder");function bo(){let e=Be.join(De.homedir(),".codex","config.toml");try{return Oe.readFileSync(e,"utf8").match(/^\s*model\s*=\s*"([^"]+)"/m)?.[1]?.trim()||null}catch{return null}}o(bo,"readCodexConfiguredModel");function vo(){let e=Be.join(De.homedir(),".gemini","settings.json");try{let t=JSON.parse(Oe.readFileSync(e,"utf8")),n=typeof t.model=="string"?t.model.trim():"";return n||(typeof t.general?.model=="string"?t.general.model.trim():"")||null}catch{return null}}o(vo,"readGeminiConfiguredModel");function x(){return bo()||go}o(x,"getCodexCliDefaultModel");function S(){return vo()||mo}o(S,"getGeminiCliDefaultModel");function I(){return Ne([x(),...yo])}o(I,"getCodexCliKnownModels");function O(){return Ne([S(),...ho])}o(O,"getGeminiCliKnownModels");var Zi=S(),es=O();var fs=x(),ps=I();import{existsSync as wo,readFileSync as Ao}from"node:fs";import M from"node:path";import{fileURLToPath as Xo}from"node:url";var Le=["none","prompt-only","native-effort","native-budget","native-toggle","native-adaptive","unknown"],je=["openai-responses-effort","openai-chat-effort","codex-cli-config","anthropic-output-effort","provider-budget","provider-toggle","prompt-only","none"],$e=["anthropic-adaptive","anthropic-budget","provider-budget","provider-toggle","none"],Fe=["zai-glm-5.2","zai-glm-toggle","deepseek-v4-openai","deepseek-v4-anthropic","deepseek-toggle","kimi-k2.7-code","kimi-hybrid-toggle","minimax-m3","minimax-m2-always","mimo-v2.5-toggle","qwen-hybrid-thinking","openai-chat-reasoning","openai-responses-reasoning","codex-cli-effort","claude-adaptive-xhigh","claude-adaptive-max","anthropic-budget","generic-thinking-toggle","none"],Ue=["native","image-input-native","cli-bridge","image-input-cli-bridge"],We=["count-tokens","models-list","minimal-message","unsupported"];function k(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}o(k,"isPlainObject");function E(e,t){if(typeof e!="string"||e.length===0)throw new Error(`provider-capabilities.json: ${t} must be a non-empty string`);return e}o(E,"requireString");function D(e,t){if(e!==void 0)return E(e,t)}o(D,"optionalString");function C(e,t){if(e!==void 0){if(typeof e!="number"||!Number.isFinite(e)||e<0)throw new Error(`provider-capabilities.json: ${t} must be a non-negative finite number`);return e}}o(C,"optionalNumber");function g(e,t){if(e!==void 0){if(typeof e!="boolean")throw new Error(`provider-capabilities.json: ${t} must be a boolean`);return e}}o(g,"optionalBoolean");function Ve(e,t){if(e!==void 0){if(!Array.isArray(e))throw new Error(`provider-capabilities.json: ${t} must be an array`);return e.map((n,r)=>E(n,`${t}[${r}]`))}}o(Ve,"optionalStringArray");function Ro(e,t){if(e===void 0)return;if(!k(e))throw new Error(`provider-capabilities.json: ${t} must be an object`);let n={};for(let[r,i]of Object.entries(e))n[r]=E(i,`${t}.${r}`);return n}o(Ro,"optionalStringMap");function Po(e,t){if(e!==void 0){if(typeof e!="string"||!Fe.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${Fe.join(", ")}, got ${JSON.stringify(e)}`);return e}}o(Po,"optionalReasoningPreset");function Q(e,t){if(typeof e!="string"||!Le.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${Le.join(", ")}, got ${JSON.stringify(e)}`);return e}o(Q,"requireReasoningCapability");function Eo(e,t){if(typeof e!="string"||!je.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${je.join(", ")}, got ${JSON.stringify(e)}`);return e}o(Eo,"requireEffortStrategy");function To(e,t){if(e!==void 0){if(typeof e!="string"||!$e.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${$e.join(", ")}, got ${JSON.stringify(e)}`);return e}}o(To,"optionalThinkingStrategy");function ze(e,t){if(e===void 0)return;if(!k(e))throw new Error(`provider-capabilities.json: ${t} must be an object`);let n=Eo(e.effortStrategy,`${t}.effortStrategy`),r=Po(e.reasoningPreset,`${t}.reasoningPreset`),i=To(e.thinkingStrategy,`${t}.thinkingStrategy`),s=D(e.defaultEffort,`${t}.defaultEffort`),d=Ro(e.effortAliases,`${t}.effortAliases`),a=Ve(e.disabledEfforts,`${t}.disabledEfforts`),l=Ve(e.localRejectEfforts,`${t}.localRejectEfforts`),m=g(e.allowCustomEffort,`${t}.allowCustomEffort`),u=g(e.supportsReasoningEffort,`${t}.supportsReasoningEffort`),y=g(e.supportsReasoningSummary,`${t}.supportsReasoningSummary`),p=g(e.supportsEncryptedReasoningReplay,`${t}.supportsEncryptedReasoningReplay`),R=g(e.supportsAdaptiveThinking,`${t}.supportsAdaptiveThinking`),T=g(e.supportsManualThinkingBudget,`${t}.supportsManualThinkingBudget`),h=g(e.supportsDisabledThinking,`${t}.supportsDisabledThinking`),L=g(e.requiresEffortBetaHeader,`${t}.requiresEffortBetaHeader`),c={effortStrategy:n};if(r!==void 0&&(c.reasoningPreset=r),i!==void 0&&(c.thinkingStrategy=i),s!==void 0&&(c.defaultEffort=s),d!==void 0&&(c.effortAliases=d),a!==void 0&&(c.disabledEfforts=a),l!==void 0&&(c.localRejectEfforts=l),e.supportedEfforts!==void 0){if(!Array.isArray(e.supportedEfforts))throw new Error(`provider-capabilities.json: ${t}.supportedEfforts must be an array`);c.supportedEfforts=e.supportedEfforts.map((b,v)=>{if(!k(b))throw new Error(`provider-capabilities.json: ${t}.supportedEfforts[${v}] must be an object`);return{value:E(b.value,`${t}.supportedEfforts[${v}].value`),...D(b.description,`${t}.supportedEfforts[${v}].description`)!==void 0?{description:D(b.description,`${t}.supportedEfforts[${v}].description`)}:{},...g(b.isDefault,`${t}.supportedEfforts[${v}].isDefault`)!==void 0?{isDefault:g(b.isDefault,`${t}.supportedEfforts[${v}].isDefault`)}:{},...g(b.isUserVisible,`${t}.supportedEfforts[${v}].isUserVisible`)!==void 0?{isUserVisible:g(b.isUserVisible,`${t}.supportedEfforts[${v}].isUserVisible`)}:{}}})}if(e.budgetByEffort!==void 0){if(!k(e.budgetByEffort))throw new Error(`provider-capabilities.json: ${t}.budgetByEffort must be an object`);let b={};for(let[v,le]of Object.entries(e.budgetByEffort))b[v]=C(le,`${t}.budgetByEffort.${v}`)??0;c.budgetByEffort=b}return m!==void 0&&(c.allowCustomEffort=m),u!==void 0&&(c.supportsReasoningEffort=u),y!==void 0&&(c.supportsReasoningSummary=y),p!==void 0&&(c.supportsEncryptedReasoningReplay=p),R!==void 0&&(c.supportsAdaptiveThinking=R),T!==void 0&&(c.supportsManualThinkingBudget=T),h!==void 0&&(c.supportsDisabledThinking=h),L!==void 0&&(c.requiresEffortBetaHeader=L),c}o(ze,"validateReasoningProfile");function qe(e,t){let n=e.reasoningProfile,r=e.reasoningCapabilityV2;if(n!==void 0&&r!==void 0)throw new Error(`provider-capabilities.json: ${t} must not define both reasoningProfile and deprecated reasoningCapabilityV2`);return n!==void 0?ze(n,`${t}.reasoningProfile`):ze(r,`${t}.reasoningCapabilityV2`)}o(qe,"validateReasoningProfileField");function xo(e,t){if(typeof e!="string"||!Ue.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${Ue.join(", ")}, got ${JSON.stringify(e)}`);return e}o(xo,"requireProfileName");function So(e,t){if(typeof e!="string"||!We.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${We.join(", ")}, got ${JSON.stringify(e)}`);return e}o(So,"requireVerifyStrategy");function Mo(e,t){if(!k(e))throw new Error(`provider-capabilities.json: ${t} must be an object`);let n=E(e.id,`${t}.id`),r=D(e.displayName,`${t}.displayName`),i=C(e.contextWindow,`${t}.contextWindow`),s=C(e.maxOutputTokens,`${t}.maxOutputTokens`),d=C(e.thinkingBudgetCap,`${t}.thinkingBudgetCap`),a=g(e.replayReasoningContent,`${t}.replayReasoningContent`),l=g(e.strictThinkingSignature,`${t}.strictThinkingSignature`),m=C(e.streamMaxDurationMs,`${t}.streamMaxDurationMs`),u=e.reasoningCapability===void 0?void 0:Q(e.reasoningCapability,`${t}.reasoningCapability`),y=qe(e,t),p={id:n};return r!==void 0&&(p.displayName=r),i!==void 0&&(p.contextWindow=i),s!==void 0&&(p.maxOutputTokens=s),d!==void 0&&(p.thinkingBudgetCap=d),u!==void 0&&(p.reasoningCapability=u),y!==void 0&&(p.reasoningProfile=y),a!==void 0&&(p.replayReasoningContent=a),l!==void 0&&(p.strictThinkingSignature=l),m!==void 0&&(p.streamMaxDurationMs=m),p}o(Mo,"validateModelDescriptor");function _o(e,t){if(e===void 0)return;if(!k(e))throw new Error(`provider-capabilities.json: ${t} must be an object`);let n={};for(let[r,i]of Object.entries(e))n[r]=Q(i,`${t}.${r}`);return n}o(_o,"validateModelReasoningCapabilities");function Ko(e,t){if(!k(e))throw new Error(`provider-capabilities.json: providers.${t} must be an object`);let n=g(e.cliBridge,`providers.${t}.cliBridge`),r=E(e.apiKeyEnv,`providers.${t}.apiKeyEnv`),i=Q(e.reasoningCapability,`providers.${t}.reasoningCapability`),s=qe(e,`providers.${t}`),d=xo(e.capabilityProfile,`providers.${t}.capabilityProfile`),a=So(e.verifyStrategy,`providers.${t}.verifyStrategy`);if(n&&a!=="unsupported")throw new Error(`provider-capabilities.json: providers.${t} is a cliBridge entry but verifyStrategy="${a}" \u2014 must be "unsupported" (CLI binary owns credentials)`);let l=C(e.contextWindow,`providers.${t}.contextWindow`),m=C(e.maxOutputTokens,`providers.${t}.maxOutputTokens`),u=C(e.thinkingBudgetCap,`providers.${t}.thinkingBudgetCap`),y=g(e.supportsThinking,`providers.${t}.supportsThinking`),p=_o(e.modelReasoningCapabilities,`providers.${t}.modelReasoningCapabilities`),R=D(e.model,`providers.${t}.model`);if(n&&(R!==void 0||e.models!==void 0))throw new Error(`provider-capabilities.json: providers.${t} is a cliBridge entry but defines model/models \u2014 must be omitted (filled at load time)`);if(!n&&R===void 0)throw new Error(`provider-capabilities.json: providers.${t}.model is required (only cliBridge entries may omit)`);let T;if(e.models!==void 0){if(!Array.isArray(e.models))throw new Error(`provider-capabilities.json: providers.${t}.models must be an array`);T=e.models.map((L,c)=>Mo(L,`providers.${t}.models[${c}]`))}let h={apiKeyEnv:r,reasoningCapability:i,capabilityProfile:d,verifyStrategy:a};return s!==void 0&&(h.reasoningProfile=s),R!==void 0&&(h.model=R),T!==void 0&&(h.models=T),l!==void 0&&(h.contextWindow=l),m!==void 0&&(h.maxOutputTokens=m),u!==void 0&&(h.thinkingBudgetCap=u),y!==void 0&&(h.supportsThinking=y),p!==void 0&&(h.modelReasoningCapabilities=p),n&&(h.cliBridge=!0),h}o(Ko,"validateProviderEntry");function Ge(e){if(!k(e))throw new Error("provider-capabilities.json: root must be an object");if(e.version!==1)throw new Error(`provider-capabilities.json: version must be 1, got ${JSON.stringify(e.version)}`);let t=E(e.updatedAt,"updatedAt");if(!k(e.providers))throw new Error("provider-capabilities.json: providers must be an object");let n={};for(let[r,i]of Object.entries(e.providers))n[r]=Ko(i,r);return{version:1,updatedAt:t,providers:n}}o(Ge,"validateProviderCapabilitiesJson");var Io=Object.freeze({native:A,"image-input-native":Me,"cli-bridge":F,"image-input-cli-bridge":_e}),z=null;function Oo(){if(process.env.KODAX_BUNDLED==="true")return M.join(M.dirname(process.execPath),"provider-capabilities.json");let e=M.dirname(Xo(import.meta.url)),t=[M.join(e,"provider-capabilities.json"),M.join(M.dirname(e),"provider-capabilities.json")];for(let n of t)if(wo(n))return n;return t[0]}o(Oo,"resolveJsonPath");function Do(e){if(e.models){for(let t of e.models)t.reasoningProfile&&He(t.reasoningProfile);for(let t of e.models)Object.freeze(t);Object.freeze(e.models)}return e.reasoningProfile&&He(e.reasoningProfile),e.modelReasoningCapabilities&&Object.freeze(e.modelReasoningCapabilities),Object.freeze(e)}o(Do,"deepFreezeSnapshot");function He(e){if(e.supportedEfforts){for(let t of e.supportedEfforts)Object.freeze(t);Object.freeze(e.supportedEfforts)}e.budgetByEffort&&Object.freeze(e.budgetByEffort),e.effortAliases&&Object.freeze(e.effortAliases),e.disabledEfforts&&Object.freeze(e.disabledEfforts),e.localRejectEfforts&&Object.freeze(e.localRejectEfforts),Object.freeze(e)}o(He,"freezeReasoningProfile");function Bo(e){if(e==="gemini-cli"){let t=S();return{model:t,models:O().filter(n=>n!==t).map(n=>({id:n}))}}if(e==="codex-cli"){let t=x();return{model:t,models:I().filter(n=>n!==t).map(n=>({id:n}))}}throw new Error(`provider-capabilities loader: unknown cliBridge provider '${e}'`)}o(Bo,"resolveCliBridgeModels");function No(e,t){let n=Io[t.capabilityProfile];if(!n)throw new Error(`provider-capabilities loader: unknown capabilityProfile '${t.capabilityProfile}' for provider '${e}'`);if(t.cliBridge){let i=Bo(e),s={model:i.model,models:i.models,apiKeyEnv:t.apiKeyEnv,reasoningCapability:t.reasoningCapability,capabilityProfile:n,verifyStrategy:t.verifyStrategy};return t.reasoningProfile!==void 0&&(s.reasoningProfile=t.reasoningProfile),t.supportsThinking!==void 0&&(s.supportsThinking=t.supportsThinking),s}let r={model:t.model,apiKeyEnv:t.apiKeyEnv,reasoningCapability:t.reasoningCapability,capabilityProfile:n,verifyStrategy:t.verifyStrategy};return t.reasoningProfile!==void 0&&(r.reasoningProfile=t.reasoningProfile),t.models!==void 0&&(r.models=t.models),t.modelReasoningCapabilities!==void 0&&(r.modelReasoningCapabilities=t.modelReasoningCapabilities),t.contextWindow!==void 0&&(r.contextWindow=t.contextWindow),t.maxOutputTokens!==void 0&&(r.maxOutputTokens=t.maxOutputTokens),t.thinkingBudgetCap!==void 0&&(r.thinkingBudgetCap=t.thinkingBudgetCap),t.supportsThinking!==void 0&&(r.supportsThinking=t.supportsThinking),r}o(No,"buildSnapshot");function Je(){if(z)return z;let e=Oo(),t;try{let i=Ao(e,"utf8");t=JSON.parse(i)}catch(i){let s=i instanceof Error?i.message:String(i);throw new Error(`provider-capabilities loader: failed to read ${e}: ${s}`)}let n=Ge(t),r={};for(let[i,s]of Object.entries(n.providers))r[i]=Do(No(i,s));return z=Object.freeze(r),z}o(Je,"getProviderSnapshots");import Ds from"@anthropic-ai/sdk";var _=Je();var Ye=process.env.KODAX_PROVIDER??"zhipu-coding";var B=["image/png","image/jpeg","image/webp","image/gif"],N=["video/mp4","video/mpeg","video/quicktime","video/x-msvideo","video/x-flv","video/webm","video/x-ms-wmv","video/3gpp"],un=[],cn=new Set(["anthropic","openai"]),fn=new Set(["kimi-code/kimi-for-coding","kimi/kimi-k2.5","kimi/kimi-k2.6","kimi/kimi-k2.7-code","minimax-coding/minimax-m3","minimax/minimax-m3","mimo-coding/mimo-v2.5","mimo/mimo-v2.5"]);function re(e){return{nativeSupported:!1,sdkSupported:!1,status:"unsupported",mediaTypes:[],maxCount:0,reason:e}}o(re,"unsupported");function pn(e){return{nativeSupported:!0,sdkSupported:!0,status:"supported",mediaTypes:B,nativeMediaTypes:B,reason:e}}o(pn,"supportedImage");function gn(e){return{nativeSupported:!0,sdkSupported:!1,status:"provider-native-unwired",mediaTypes:[],nativeMediaTypes:N,maxCount:0,reason:e}}o(gn,"nativeVideoUnwired");function mn(e){return e.trim().toLowerCase()}o(mn,"normalizeProvider");function yn(e){return _[e]?.model}o(yn,"resolveProviderDefaultModel");function hn(e,t){if(!t)return;let n=t.trim().toLowerCase();if(e==="kimi"){if(n==="k2.5")return"kimi-k2.5";if(n==="k2.6")return"kimi-k2.6";if(n==="k2.7-code")return"kimi-k2.7-code"}return(e==="minimax-coding"||e==="minimax")&&n==="minimax-m3"?"minimax-m3":n}o(hn,"normalizeModel");function bn(e){if(!cn.has(e))return!1;let t=_[e];return t?X(t.capabilityProfile).multimodalSupport!=="none":!1}o(bn,"hasOfficialImageSupport");function vn(e,t){let n=hn(e,t);if(!n)return!1;let r=`${e}/${n}`;return fn.has(r)}o(vn,"hasSourceBackedNativeMedia");function kn(e,t,n){if(n)return"source-backed";if(t){if(e==="openai")return"openai-official";if(e==="anthropic")return"anthropic-official"}}o(kn,"resolveImageCapabilityRoute");function Cn(e){switch(e){case"openai-official":return"Model route supports KodaX image input. Direct-path image/gif is sent as image/gif, but OpenAI requires non-animated GIF semantics.";case"anthropic-official":return"Model route supports KodaX image input. Direct-path image/gif is sent as image/gif, but Anthropic uses only the first frame of animated GIFs.";case"source-backed":return"Model route supports KodaX image input. Direct-path image/gif is sent as image/gif; animated-GIF interpretation is provider-owned."}}o(Cn,"imageCapabilityReason");function ie(e){let t=mn(e.provider),n=e.model?.trim()||yn(t),r=bn(t),i=vn(t,n),s=kn(t,r,i),d=s!==void 0,a=i;return{text:!0,image:d?pn(Cn(s)):re("No verified KodaX image-input route for this provider/model."),video:a?gn("Model route is native-video capable, but KodaX SDK video sending is not wired yet. Reject or downgrade before send."):re("No verified native video route for this provider/model."),file:re("File artifact contract is stable, but KodaX SDK file sending/extraction is not wired yet. Reject or downgrade before send.")}}o(ie,"getModelInputCapabilities");function Rn(e){return B.includes(e)}o(Rn,"isKnownImageMediaType");function Pn(e){return N.includes(e)}o(Pn,"isKnownVideoMediaType");function se(e){return`${e.provider}${e.model?`/${e.model}`:""}`}o(se,"routeLabel");function ae(e){return e.reason?`${e.status}: ${e.reason}`:e.status}o(ae,"capabilityDetail");function de(e,t){if(e.length===0)return;let n=ie(t);for(let r of e){let i=r;if(i.kind==="image"){if(!n.image.nativeSupported||!n.image.sdkSupported)throw new f("MODEL_INPUT_UNSUPPORTED",`Provider/model cannot consume image artifacts: ${se(t)}.`,{detail:ae(n.image)});if(typeof i.mediaType=="string"&&!Rn(i.mediaType))throw new f("UNSUPPORTED_MEDIA_TYPE",`Unsupported image media type: ${i.mediaType}.`);continue}throw i.kind==="video"?typeof i.mediaType!="string"||!Pn(i.mediaType)?new f("UNSUPPORTED_MEDIA_TYPE",`Unsupported video media type: ${String(i.mediaType)}.`,{detail:`Supported video media types: ${N.join(", ")}`}):new f("MODEL_INPUT_UNSUPPORTED",`Provider/model cannot consume video artifacts through this SDK runtime: ${se(t)}.`,{detail:ae(n.video)}):i.kind==="file"?typeof i.mediaType=="string"&&typeof i.mimeType=="string"&&i.mediaType!==i.mimeType?new f("UNSUPPORTED_MEDIA_TYPE",`File artifact mediaType and mimeType disagree: ${i.mediaType} != ${i.mimeType}.`):new f("MODEL_INPUT_UNSUPPORTED",`Provider/model cannot consume file artifacts through this SDK runtime: ${se(t)}.`,{detail:ae(n.file)}):new f("MODEL_INPUT_UNSUPPORTED",`Unsupported input artifact kind: ${String(i.kind)}.`)}}o(de,"validateInputArtifactsForModel");var K={user:0,background:1};function En(e,t){return K[e]<=K[t]}o(En,"priorityWithinMax");function pt(e,t){return!(e.agentId!==t.agentId||!En(e.priority,t.maxPriority)||t.mode!==void 0&&e.mode!==t.mode||t.id!==void 0&&e.id!==t.id||t.predicate&&!t.predicate(e))}o(pt,"matchesFilter");var G=class{static{o(this,"MessageQueue")}messages=[];nextSeq=1;listeners=new Set;snapshotRef=Object.freeze([]);notify(t){this.snapshotRef=Object.freeze([...this.messages]);for(let n of this.listeners)try{n(t)}catch{}}subscribe=o(t=>(this.listeners.add(t),()=>{this.listeners.delete(t)}),"subscribe");getSnapshot=o(()=>this.snapshotRef,"getSnapshot");enqueue(t){let n=`msg-${this.nextSeq++}`,r={id:n,priority:t.priority,mode:t.mode,content:t.content,agentId:t.agentId,inputArtifacts:t.inputArtifacts,taskResult:t.taskResult,enqueuedAt:Date.now()};return this.messages=[...this.messages,r],this.notify({kind:"enqueued",message:r}),n}dequeue(t){let n=[];for(let a=0;a<this.messages.length;a++){let l=this.messages[a];l&&pt(l,t)&&n.push({originalIndex:a,message:l})}n.sort((a,l)=>{let m=K[a.message.priority]-K[l.message.priority];return m!==0?m:a.originalIndex-l.originalIndex});let r=t.limit,i=typeof r=="number"&&n.length>r?n.slice(0,r):n;if(i.length===0)return[];let s=new Set(i.map(a=>a.originalIndex));this.messages=this.messages.filter((a,l)=>!s.has(l));let d=i.map(a=>a.message);return this.notify({kind:"dequeued",messages:d}),d}peek(t){let n=[];for(let s=0;s<this.messages.length;s++){let d=this.messages[s];d&&pt(d,t)&&n.push({originalIndex:s,message:d})}n.sort((s,d)=>{let a=K[s.message.priority]-K[d.message.priority];return a!==0?a:s.originalIndex-d.originalIndex});let r=t.limit;return(typeof r=="number"&&n.length>r?n.slice(0,r):n).map(s=>s.message)}size(){return this.messages.length}count(t){return this.peek(t).length}has(t){return this.count(t)>0}clear(){if(this.messages.length===0)return;let t=this.messages;this.messages=[],this.notify({kind:"cleared",messages:t})}},q;function w(){return q||(q=new G),q}o(w,"getMessageQueue");function Tn(){q=void 0}o(Tn,"_resetMessageQueueForTests");var gt=new Set;function mt(e){return e.some(n=>gt.has(n))?"background":"user"}o(mt,"midTurnDrainPriority");function xn(e){let t=mt(e.lastTurnToolNames);return w().dequeue({agentId:e.agentId,maxPriority:t,limit:e.limit})}o(xn,"maybeDrainMidTurn");function Sn(e){let t=`<task-completed task_id="${e.taskId}">
|
|
6
|
-
${e.summary}
|
|
7
|
-
</task-completed>`,n={type:"task_result",source:e.source??"child_task",taskId:e.taskId,status:e.status??"completed",summary:e.summary,...e.runId!==void 0?{runId:e.runId}:{},...e.title!==void 0?{title:e.title}:{},...e.artifactRefs!==void 0?{artifactRefs:[...e.artifactRefs]}:{}};return w().enqueue({priority:"background",mode:"task-notification",agentId:e.parentAgentId,content:t,taskResult:n})}o(Sn,"enqueueChildTaskNotification");function Mn(e){return de(e.inputArtifacts??[],e),w().enqueue({priority:e.priority??"user",mode:"prompt",content:e.content,agentId:e.agentId,inputArtifacts:e.inputArtifacts})}o(Mn,"enqueueWithArtifacts");export{f as a,P as b,ce as c,fe as d,bt as e,vt as f,kt as g,pe as h,ge as i,H as j,ve as k,St as l,Pe as m,Ee as n,Lt as o,jt as p,$t as q,Ft as r,Ut as s,Wt as t,Gt as u,B as v,N as w,un as x,ie as y,de as z,G as A,w as B,Tn as C,gt as D,mt as E,xn as F,Sn as G,Mn as H};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
// @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
|
|
2
|
-
import{b as i,j as c,k as d,o as l}from"./chunk-PZTG2C33.js";import{a as t}from"./chunk-ONUPGMER.js";var b="\x1B[?2004h",P="\x1B[?2004l",f=!1,a=!1;function T(){if(!a)try{process.stdout.write(b),a=!0}catch{}}t(T,"enableBracketedPasteMode");function g(){if(a)try{process.stdout.write(P)}catch{}finally{a=!1}}t(g,"disableBracketedPasteMode");function h(){return a}t(h,"isBracketedPasteModeEnabled");function _(){if(f)return;f=!0;let e=t(()=>g(),"handler");process.once("beforeExit",e),process.once("exit",e),process.once("SIGINT",()=>{e(),process.kill(process.pid,"SIGINT")}),process.once("SIGTERM",()=>{e(),process.kill(process.pid,"SIGTERM")}),process.once("uncaughtException",r=>{throw e(),r})}t(_,"installBracketedPasteShutdownGuard");import{readFile as R}from"node:fs/promises";var y=/\.(png|jpe?g|gif|webp|bmp)$/i;async function N(e){if(e.length===0)return process.platform==="darwin"?I():{kind:"text",text:""};let r=k(e);return r.length>0?G(r,e):{kind:"text",text:e}}t(N,"handleBracketedPaste");async function z(){return I()}t(z,"triggerExplicitClipboardImage");async function I(){let e;try{e=await d()}catch(r){return{kind:"error",message:`Failed to read clipboard image: ${m(r)}`}}return e?E(e):{kind:"noop"}}t(I,"readClipboardAsImagesOutcome");async function G(e,r){let o=[],s=[];for(let p of e){let u;try{u=await R(p)}catch(x){s.push(`Failed to read ${p}: ${m(x)}`);continue}let n=await E(u);n.kind==="images"?o.push(...n.blocks):n.kind==="error"&&s.push(n.message)}return o.length===0?s.length>0?{kind:"error",message:s.join("; ")}:{kind:"text",text:r}:{kind:"images",blocks:o}}t(G,"readImagePathsAsOutcome");async function E(e){try{let r=await c(e);return{kind:"images",blocks:[await l(r)]}}catch(r){return r instanceof i?{kind:"error",message:r.message}:{kind:"error",message:`Failed to process pasted image: ${m(r)}`}}}t(E,"decodeBufferToOutcome");function k(e){return e.split(/ (?=\/|[A-Za-z]:\\)/).filter(o=>y.test(o.trim()))}t(k,"extractImagePaths");function m(e){return e instanceof Error?e.message:String(e)}t(m,"describeError");export{T as a,g as b,h as c,_ as d,N as e,z as f,k as g};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
// @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
|
|
2
|
-
import{$ as Kh,A as jh,Aa as ji,B as kh,Ba as ki,C as lh,Ca as li,D as mh,Da as mi,E as nh,Ea as ni,F as oh,Fa as oi,G as ph,Ga as pi,H as qh,Ha as qi,I as rh,Ia as ri,J as sh,Ja as si,K as th,L as uh,M as vh,N as wh,O as xh,P as yh,Q as zh,R as Ah,S as Bh,T as Ch,U as Dh,V as Eh,W as Fh,X as Gh,Y as Hh,Z as Ih,_ as Jh,a as $,aa as Lh,b as aa,ba as Mh,c as ba,ca as Nh,d as Og,da as Oh,e as Pg,ea as Ph,f as Qg,fa as Qh,g as Rg,ga as Rh,h as Sg,ha as Sh,i as Tg,ia as Th,j as Ug,ja as Uh,k as Vg,ka as Vh,l as Wg,la as Wh,m as Xg,ma as Xh,n as Yg,na as Yh,o as Zg,oa as Zh,p as _g,pa as _h,q as $g,qa as $h,r as ah,ra as ai,s as bh,sa as bi,t as ch,ta as ci,u as dh,ua as di,v as eh,va as ei,w as fh,wa as fi,x as gh,xa as gi,y as hh,ya as hi,z as ih,za as ii}from"./chunk-KIQRCGVR.js";import{a as Qd,b as Rd,c as Sd,d as Td,e as Ud,f as Vd,g as Wd,h as Xd,i as Yd,j as Je}from"./chunk-CC4BVVE7.js";import{A as ze,B as Ae,C as Be,D as Ce,E as De,F as Ee,G as Fe,H as Ge,I as He,J as Ie,a as $d,b as ae,c as be,d as ce,e as de,f as ee,g as fe,h as ge,i as he,j as ie,k as je,l as ke,m as le,n as me,o as ne,p as oe,q as pe,r as qe,s as re,t as se,u as te,v as ue,w as ve,x as we,y as xe,z as ye}from"./chunk-KGAI32VS.js";import{A as Dd,E as Ed,F as Fd,G as Gd,H as Hd,K as Id,O as Ke,P as Le,Q as Me,R as Ne,S as Oe,T as Pe,U as Qe,V as Re,X as Se,Y as Te,Z as Ue,a as ya,b as za,e as od,f as pd,g as qd,ga as Wf,h as rd,ha as Xf,i as sd,ia as Yf,j as td,ja as Zf,k as ud,ka as _f,la as $f,ma as ag,na as bg,oa as cg,p as vd,pa as dg,q as wd,t as xd,u as yd,w as zd,wa as eg,x as Ad,xa as fg,y as Bd,z as Cd,za as gg}from"./chunk-HLBHSA2B.js";import"./chunk-D6QVXQNI.js";import"./chunk-PEGSHZAA.js";import{a as Pd}from"./chunk-HFM2D5BP.js";import{$ as yc,$b as ff,$c as jg,A as $b,Aa as Wc,Ac as Hf,Ad as Dg,B as ac,Ba as Xc,Bc as If,Bd as Eg,C as bc,Ca as Yc,Cc as Jf,Cd as Fg,Da as Zc,Db as Jd,Dc as Kf,Dd as Gg,E as cc,Ea as _c,Eb as Kd,Ec as Lf,Ed as Hg,F as dc,Fa as $c,Fb as Ld,Fc as Mf,Fd as Ig,G as ec,Ga as ad,Gb as Md,Gc as Nf,Gd as Jg,H as fc,Ha as bd,Hb as Nd,Hc as Of,Hd as Kg,I as gc,Ia as cd,Ib as Od,Ic as Pf,Id as Lg,J as hc,Ja as dd,Jb as Zd,Jc as Qf,Jd as Mg,K as ic,Ka as ed,Kb as _d,Kc as Rf,L as jc,Lc as Sf,M as kc,Mc as Tf,N as lc,Nc as Uf,Nd as Ng,Oc as Vf,P as mc,Pa as fd,Pb as Ve,Q as nc,Qa as gd,Qb as We,R as oc,Ra as hd,Rb as Xe,S as pc,Sa as id,Sb as Ye,T as qc,Ta as jd,Tb as Ze,U as rc,Ua as kd,Ub as _e,V as sc,Va as ld,Vb as $e,W as tc,Wb as af,X as uc,Xa as md,Xb as bf,Y as vc,Ya as nd,Yb as cf,Z as wc,Zb as df,Zc as hg,_ as xc,_b as ef,_c as ig,aa as zc,ac as gf,ad as kg,ba as Ac,bc as hf,bd as lg,ca as Bc,cc as jf,cd as mg,d as Lb,da as Cc,dc as kf,dd as ng,e as Mb,ec as lf,ed as og,fc as mf,fd as pg,ga as Dc,gc as nf,gd as qg,ha as Ec,hc as of,hd as rg,i as Nb,ia as Fc,ic as pf,j as Ob,ja as Gc,jc as qf,k as Pb,ka as Hc,kc as rf,kd as sg,l as Qb,la as Ic,lc as sf,ld as tg,m as Rb,ma as Jc,mc as tf,md as ug,n as Sb,nc as uf,o as Tb,oa as Kc,oc as vf,p as Ub,pa as Lc,pc as wf,q as Vb,qa as Mc,qc as xf,r as Wb,ra as Nc,rc as yf,s as Xb,sa as Oc,sc as zf,sd as vg,ta as Pc,tc as Af,td as wg,ua as Qc,uc as Bf,ud as xg,va as Rc,vc as Cf,vd as yg,wa as Sc,wc as Df,wd as zg,x as Yb,xa as Tc,xc as Ef,xd as Ag,y as Zb,ya as Uc,yc as Ff,yd as Bg,z as _b,za as Vc,zc as Gf,zd as Cg}from"./chunk-C4SBXBWH.js";import{$ as o,A as i,Aa as L,B as j,Ba as M,C as k,Ca as N,D as l,Da as O,E as m,Ea as P,Fa as Q,Ga as R,Ha as S,Ia as T,Ja as U,Ka as V,La as W,Ma as X,Na as Y,Oa as Z,R as n,Ra as _,a,aa as p,b,c,fa as q,ga as r,ha as s,ia as t,j as d,ja as u,k as e,ka as v,la as w,ma as x,na as y,oa as z,pa as A,qa as B,ra as C,s as f,sa as D,t as g,ta as E,ua as F,va as G,wa as H,xa as I,ya as J,z as h,za as K}from"./chunk-K2NCKRVY.js";import{$b as pb,Ac as Fb,Bc as Gb,Cc as Hb,Dc as Ib,Hb as Xa,Ib as Ya,Jb as Za,Kb as _a,Kc as Jb,Lb as $a,Lc as Kb,Mb as ab,Nb as bb,Ob as cb,Pb as db,Qb as eb,Rb as fb,Sb as gb,Tb as hb,Ub as ib,Vb as jb,Wb as kb,Xb as lb,Yb as mb,Zb as nb,_b as ob,a as Aa,ac as qb,b as Ba,c as Ca,cc as rb,d as Da,dc as sb,e as Ea,ec as tb,f as Fa,h as Ga,i as Ha,ic as ub,j as Ia,jc as vb,k as Ja,ka as Pa,kb as Va,l as Ka,lb as Wa,m as La,n as Ma,na as Qa,o as Na,p as Oa,qc as wb,rc as xb,sc as yb,tc as zb,uc as Ab,vc as Bb,wc as Cb,yc as Db,zc as Eb}from"./chunk-67XJ4YUA.js";import{d as Ra,e as Sa,f as Ta,g as Ua}from"./chunk-5GL55MOH.js";import{H as xa,a as ca,b as da,c as ea,d as fa,e as ga,f as ha,g as ia,h as ja,i as ka,j as la,k as ma,l as na,m as oa,n as pa,o as qa,p as ra,v as sa,w as ta,x as ua,y as va,z as wa}from"./chunk-PZTG2C33.js";import"./chunk-ONUPGMER.js";export{Yf as ALWAYS_RESIDENT_TOOL_NAMES,Kh as AUTO_MODE_DENIAL_CONSECUTIVE_THRESHOLD,Lh as AUTO_MODE_DENIAL_CUMULATIVE_THRESHOLD,di as BASH_POLICY_SPEC,$g as BLOCKER_REQUIRED_CONSECUTIVE_TURNS,Qh as BREAKER_ERROR_THRESHOLD,Rh as BREAKER_WINDOW_MS,ke as BUILTIN_WORKFLOWS,Mb as CANCELLED_TOOL_RESULT_MESSAGE,Lb as CANCELLED_TOOL_RESULT_PREFIX,Ah as CODING_AGENT_MARKER,Ug as CODING_INVARIANTS,_f as CODING_SUMMARY_PROMPT,$f as CODING_UPDATE_SUMMARY_PROMPT,ff as CapabilityDeniedError,Wg as Client,Rf as CombinedExtensionRuntime,gf as ConstructionManifestError,eg as DEFAULT_CODING_AGENT_NAME,ph as DEFAULT_DANGEROUS_PATTERNS,df as DEFAULT_HANDLER_TIMEOUT_MS,od as DEFAULT_RESILIENCE_CONFIG,oh as DEFAULT_SAFE_PATTERNS,rf as DEFAULT_SELF_MODIFY_BUDGET,$h as DEFAULT_SPECULATIVE_WINDOW_MS,Ob as DEFAULT_TOOL_OUTPUT_MAX_BYTES,Nb as DEFAULT_TOOL_OUTPUT_MAX_LINES,Rd as DEFAULT_WORKFLOW_GENERATION_TIMEOUT_MS,Oa as DefaultSummaryCompaction,xh as EMIT_VERDICT_TOOL_NAME,ya as ErrorCategory,ce as FINDING_VERIFICATION_OUTPUT_SCHEMA,hd as GENERATOR_AGENT_NAME,da as ImageResizeError,Ha as KODAX_API_MIN_INTERVAL,s as KODAX_DEFAULT_PROVIDER,Ba as KODAX_DEFAULT_TIMEOUT,ua as KODAX_FILE_MEDIA_TYPES,Ca as KODAX_HARD_TIMEOUT,sa as KODAX_IMAGE_MEDIA_TYPES,Fa as KODAX_MAX_INCOMPLETE_RETRIES,Da as KODAX_MAX_RETRIES,Aa as KODAX_MAX_TOKENS,r as KODAX_PROVIDERS,q as KODAX_PROVIDER_SNAPSHOTS,f as KODAX_REASONING_MODE_SEQUENCE,Ea as KODAX_RETRY_BASE_DELAY,g as KODAX_STABLE_EFFORT_INTENTS,Ga as KODAX_STAGGER_DELAY,vg as KODAX_TOOLS,Zb as KODAX_UNDERLYING_CAPABILITY_TOPICS,ta as KODAX_VIDEO_MEDIA_TYPES,o as KodaXAnthropicCompatProvider,n as KodaXBaseProvider,Wg as KodaXClient,a as KodaXError,Qf as KodaXExtensionRuntime,ca as KodaXMediaError,p as KodaXOpenAICompatProvider,b as KodaXProviderError,c as KodaXRateLimitError,aa as KodaXSessionError,ba as KodaXTerminalError,$ as KodaXToolError,rb as LINEAGE_ENTRY_TYPES,Ld as LSP_SERVERS,tb as LineageCompaction,sb as LineageExtension,Md as LspService,_b as MANUAL_REGISTRY,Yb as MANUAL_TOPIC_IDS,ja as MAX_DIMENSION,cb as McpAuthRequiredError,ob as McpCapabilityProvider,bb as McpExpiredSessionError,pb as McpManager,nb as McpServerRuntime,oa as PASTE_TMP_DIR_ENV,pa as PASTE_TMP_TTL_MS,gd as PLANNER_AGENT_NAME,Ia as PROMISE_PATTERN,Le as PROMPT_SECTION_REGISTRY,zh as PROTOCOL_EMITTER_TOOLS,ud as ProviderRecoveryCoordinator,Pb as READ_DEFAULT_LIMIT,Rb as READ_MAX_LINE_CHARS,Qb as READ_PREFLIGHT_SIZE_BYTES,Mf as REPO_EXPLORER_AGENT_NAME,Nf as REPO_EXPLORER_TOOL_NAMES,Qa as Runner,be as SCOPED_REVIEW_OUTPUT_SCHEMA,fd as SCOUT_AGENT_NAME,pi as SCOUT_THEN_AUTHOR_PROMPT_LINES,Re as SELF_KNOWLEDGE_ROUTING_RULE,Ke as SYSTEM_PROMPT,Be as SYSTEM_WORKFLOW_LIMITS,sd as StableBoundaryTracker,ka as TARGET_RAW_SIZE_BYTES,kd as TASK_ENGINE_ROLE_AGENTS,Xg as TOOL_RESULT_TRUNCATION_GUARDRAIL_NAME,gi as TRACING_ENV,id as WORKER_AGENT_NAME,Qd as WORKFLOW_GENERATION_SYSTEM_PROMPT,yf as _resetRuntimeForTesting,Bf as activate,rc as analyzeChangedScope,pf as appendAuditEntry,Bb as appendSessionLineageLabel,mg as applyAccountingDelta,fe as applyFindingVerification,Cb as applySessionCompaction,Tc as applyToolResultGuardrail,Ib as archiveOldIslands,ri as authorWorkflowViaWorker,Ph as autoModeDenialShouldFallback,Yh as bashSignalCollector,hi as bootstrapTracing,Qg as boundedRevise,Uh as breakerShouldFallback,Rg as budgetCeiling,Ce as buildApprovalSummary,pg as buildBlockedGoal,Se as buildCapabilityContextSections,Bh as buildClassifierPrompt,qg as buildCompleteGoal,lg as buildCreatedGoal,Fd as buildFallbackRoutingDecision,dh as buildGoalRuntimeBinding,mb as buildInitializeCapabilities,mf as buildLlmReviewPrompt,ac as buildManualToolDescription,hh as buildMcpReverseCapabilities,ng as buildPausedGoal,vd as buildPromptMessageContent,Pe as buildPromptSnapshot,zd as buildProviderCapabilitySnapshot,Gd as buildProviderPolicyHintsForDecision,Ad as buildProviderPolicyPromptNotes,qc as buildRepoIntelligenceContext,Dc as buildRepoIntelligenceIndex,nc as buildRepoOverview,og as buildResumedGoal,ie as buildScopedReviewFinalPrompt,ge as buildScopedReviewPrimaryPrompt,he as buildScopedReviewVerificationPrompt,qi as buildScoutThenAuthorPrompt,Qe as buildSelfKnowledgeRoutingRule,Gb as buildSessionTree,Ue as buildSystemPrompt,Te as buildSystemPromptSnapshot,Pc as buildToolResultBudget,Qc as buildToolResultBudgetFromUsage,sg as buildToolSearchIndex,ye as buildWorkflowCostReport,Vd as buildWorkflowGenerationSkillContext,Ud as buildWorkflowGenerationUserPrompt,Xh as checkAbsoluteDeny,wd as checkIncompleteToolCalls,Id as checkPromiseSignal,Rc as clampToolResultPolicyToBudget,De as clampWorkflowLimits,Dh as classify,rh as classifyBashCommand,za as classifyError,mc as classifyFileCategory,qd as classifyResilienceError,Wa as cleanupIncompleteToolCalls,T as clearRuntimeModelProviders,_h as collectAllSignals,Sf as combineExtensionRuntimes,th as computeInputSignature,Eh as computeRulesFingerprint,xf as configureRuntime,cg as consumeCompactionCooldown,Xc as convertCapabilityReadResult,Wc as convertProviderSearchResults,Hb as countActiveLineageMessages,Ka as countTokens,La as createAgent,Mh as createAutoModeDenialTracker,ci as createAutoModeToolGuardrail,qh as createBashClassifierConfig,fi as createBashPrefixExtractor,Dg as createBuiltinToolDefinition,Sh as createCircuitBreaker,$d as createCodingWorkflowBackend,ag as createCompactionAntiThrashState,hf as createCtxProxy,F as createCustomProvider,fg as createDefaultCodingAgent,sh as createDenialTracker,Tf as createExtensionRuntime,ha as createFileArtifactFromPath,Ma as createHandoff,ga as createImageArtifactFromPath,Na as createInMemorySession,kh as createKodaXTaskRunner,Ya as createMcpCapabilityId,qb as createMcpManager,db as createMcpTransport,Me as createPromptSection,Hd as createReasoningPlan,Ae as createRunGraphWriter,Xf as createRuntimeContextBudgetSnapshot,Og as createSessionControl,wb as createSessionLineage,Yg as createToolResultTruncationGuardrail,ia as createVideoArtifactFromPath,ji as createWorkflowLifecycleController,mi as createWorkflowPatternTemplateModule,He as createWorkflowRunManager,ni as decideWorkflowInvocation,_e as dedupeExtensionPathsByEntrypoint,Xa as defaultMcpCacheDir,ef as defaultPolicy,te as deleteSavedWorkflow,wf as disableSelfModify,hb as discoverAuthorizationServerMetadata,cf as discoverDefaultExtensions,bf as discoverExtensionsInDirectory,af as discoverExtensionsInDirectoryDetailed,Lf as discoverMarkdownAgents,ib as discoverOAuthEndpoints,gb as discoverProtectedResourceMetadata,ne as discoverSavedWorkflows,nd as drainPendingSwaps,j as effortToLegacyReasoningMode,yh as emitVerdict,Fe as emitWorkflowAgentDigest,xa as enqueueWithArtifacts,Of as ensureBuiltinRepoExplorerAgent,Ja as estimateTokens,Wf as estimateToolSchemaTokens,Bd as evaluateProviderPolicy,$e as excludeExtensionPathsByEntrypoint,Ve as exec,Ng as executeTool,Jb as extractArtifactLedger,ei as extractCommandPrefix,yd as extractComparableUserMessageText,Vc as extractHtmlTitle,fb as extractInsufficientScope,xd as extractPromptComparableText,eb as extractResourceMetadataUrl,vb as extractTitleFromMessages,Zh as fileSignalCollector,Zc as finalizeRetrievalResult,Hf as findByVersion,Db as findPreviousUserEntryId,Fb as forkSessionLineage,ed as formatAgentsForPrompt,mh as formatParallelDispatchResult,Sb as formatSize,ub as generateSessionId,Xd as generateWorkflow,Yd as generateWorkflowFromOptions,Vf as getActiveExtensionRuntime,Sa as getAgentConfigHome,Ta as getAgentConfigPath,Fg as getAllRegisteredTools,Ua as getAppDataDir,W as getAvailableProviderNames,Cg as getBuiltinRegisteredToolDefinition,Bg as getBuiltinToolDefinition,le as getBuiltinWorkflow,N as getCustomModelCapabilities,H as getCustomProvider,K as getCustomProviderList,M as getCustomProviderModelDescriptors,L as getCustomProviderModels,J as getCustomProviderNames,Ye as getDefaultExtensionDirectory,Nd as getDefaultLspService,Ie as getDefaultWorkflowRunManager,wh as getDenialContext,Ic as getImpactEstimate,cd as getKodaxGlobalDir,ab as getMcpCachePaths,C as getModelCapabilities,va as getModelInputCapabilities,Fc as getModuleContext,Hc as getProcessContext,t as getProvider,x as getProviderConfiguredCapabilityProfile,w as getProviderConfiguredReasoningCapability,y as getProviderList,v as getProviderModel,B as getProviderModelDescriptors,z as getProviderModels,zg as getRegisteredToolDefinition,Ec as getRepoIntelligenceIndex,oc as getRepoOverview,Jc as getRepoRoutingSignals,Kg as getRequiredToolParams,Q as getRuntimeModelProvider,S as getRuntimeModelProviderNames,xb as getSessionLineagePath,yb as getSessionMessagesFromLineage,Gc as getSymbolContext,xg as getTool,yg as getToolDefinition,Ag as getToolRegistrations,Sc as getToolResultPolicy,li as getWorkflowPatternTemplate,ig as goalTokenDelta,md as hasPendingSwap,ea as inferImageMediaType,Ed as inferTaskType,fa as inferVideoMediaType,fc as inspectEditFailure,Cc as inspectRepoIntelligenceRuntime,I as isCustomProviderName,vh as isDeniedRecently,V as isKnownProvider,lh as isParallelDispatchDirective,u as isProviderConfigured,A as isProviderName,R as isRuntimeModelProviderName,rd as isSessionRecoveryCandidateError,Xe as isSupportedExtensionModulePath,Hg as isToolFileMutation,Jg as isToolMutation,Ig as isToolNetworkRead,Gg as isToolPlanModeAllowed,rg as isValidTokenBudget,Jd as languageIdForPath,If as listAll,Z as listAllModelCapabilities,Ef as listArtifacts,D as listBuiltinModelCapabilities,Eg as listBuiltinToolDefinitions,me as listBuiltinWorkflows,Zd as listCodingDispatchableAgents,Gf as listConstructed,O as listCustomProviderModelCapabilities,Mg as listToolDefinitions,Lg as listTools,ki as listWorkflowPatternTemplates,dd as loadAgentsFiles,Jf as loadAgentsFromMarkdown,Ih as loadAutoRules,ve as loadGeneratedWorkflowFromRun,jf as loadHandler,Kf as loadMarkdownAgentScope,qe as loadSavedWorkflow,pe as loadSavedWorkflowCapsule,lb as loadValidToken,hg as makeDisabledGoalToolsContext,i as mapLegacyReasoningModeToEffortIntent,gh as mcpRootsFromWorkspace,Kb as mergeArtifactLedger,ee as mergeScopedReviewResults,Za as normalizeMcpCapabilityId,la as normalizePastedImage,h as normalizeReasoningEffortValue,de as normalizeScopedReviewResult,oe as normalizeWorkflowModule,Ne as orderPromptSections,ae as parallelInvestigation,Hh as parseAutoRules,Ch as parseClassifierOutput,ec as parseEditToolError,nf as parseLlmReviewVerdict,_a as parseMcpCapabilityId,Vh as parseModelSpec,k as parseReasoningEffortEnv,e as parseTimeoutSecEnvMs,ug as parseToolSearchQuery,Wd as parseWorkflowGeneration,kb as performOAuthLogin,qa as persistImageAsBlock,Wb as persistToolOutput,Zf as planToolExposure,xe as preflightWorkflowCapsule,Kc as prewarmRepoIntelligenceCaches,Pd as providerResilienceConfigFromTimeouts,ra as prunePasteTmpDir,na as readAndNormalizeClipboardImage,Ff as readArtifact,qf as readAuditEntries,sf as readBudget,ma as readClipboardImage,vf as readDisableState,ai as readSpeculativeWindowFromEnv,Fh as readTrustState,Dd as reasoningModeToDepth,td as reconstructMessagesWithToolGuard,Oh as recordAutoModeAllow,Nh as recordAutoModeBlock,Zg as recordBlockerAttempt,Th as recordBreakerError,dg as recordCompactionSavings,uh as recordDenial,Vg as registerCodingInvariants,fh as registerConfiguredMcpCapabilityProvider,G as registerCustomProviders,P as registerModelProvider,jb as registerOAuthClient,ih as registerOfficialSandboxExtension,Pa as registerPresetDispatcher,wg as registerTool,Cf as rehydrateActiveArtifacts,tf as remainingSelfModifyBudget,se as renameSavedWorkflow,sc as renderChangedScope,zc as renderImpactEstimate,wc as renderModuleContext,yc as renderProcessContext,Oe as renderPromptSections,pc as renderRepoOverview,Yc as renderRetrievalResult,xc as renderSymbolContext,ue as replaceSavedWorkflow,Kd as reportLspDiagnostics,_g as resetBlockerCounter,uf as resetBudget,Wh as resolveClassifierModel,_d as resolveCodingDispatchableAgent,ld as resolveConstructedAgent,Ze as resolveExtensionEntrypoint,$b as resolveKodaXManual,Y as resolveModelCapabilities,U as resolveProvider,X as resolveProviderModelDescriptors,l as resolveReasoningEffort,m as resolveReasoningEffortForModelSwitch,Cd as resolveReasoningMode,Bc as resolveRepoIntelligenceMode,Ac as resolveRepoIntelligenceRuntimeConfig,pd as resolveResilienceConfig,zb as resolveSessionLineageTarget,Sg as resolveToolCapability,_ as resolveWireEffort,Sd as resolveWorkflowGenerationTimeoutMs,ii as resolveWorkflowIdentity,Df as revoke,Eb as rewindSessionLineage,Pf as rollbackSelfModify,kf as runAstRules,gg as runKodaX,of as runLlmReview,eh as runManagedTask,jh as runOrchestration,Ge as runWorkflowFromOptions,Ee as runWorkflowModule,ze as safeWorkflowArtifactName,re as saveGeneratedWorkflow,we as saveGeneratedWorkflowFromRun,je as scopedReview,$a as searchMcpCatalog,tg as searchToolIndex,Uf as setActiveExtensionRuntime,Ra as setAgentConfigHome,Ab as setSessionLineageActiveEntry,kg as shouldFlipBudgetLimited,bg as shouldSkipLlmCompaction,Od as shutdownDefaultLspService,bi as speculativeRace,zf as stage,Pg as startKodaX,Je as startManagedWorkflow,Jh as stripAssistantText,Uc as stripHtmlToText,Af as testArtifact,d as timeoutSecToMs,lc as toolAskUserQuestion,hc as toolBash,vc as toolChangedDiff,uc as toolChangedScope,ad as toolCodeSearch,dc as toolEdit,ic as toolGlob,jc as toolGrep,Oc as toolImpactEstimate,gc as toolInsertAfterAnchor,Lc as toolModuleContext,Tg as toolPermission,Nc as toolProcessContext,Xb as toolRead,tc as toolRepoOverview,bd as toolSemanticLookup,Mc as toolSymbolContext,kc as toolUndo,$c as toolWebFetch,_c as toolWebSearch,cc as toolWrite,Tb as truncateHead,Vb as truncateLine,Ub as truncateTail,Gh as trustProjectRules,jg as turnWallTimeDelta,Va as validateAndFixToolHistory,E as validateCustomProviderConfig,Td as validateGeneratedWorkflowSource,wa as validateInputArtifactsForModel,nh as validateSubtaskIndependence,lf as validateToolSchemaForProvider,ch as verifyGoalCompletion,We as webhook,ah as withGoalBeforeNextTurn,bh as withGoalStopHook,bc as withManualToolBranding,jd as workerAgent,oi as workflowStartOutcomeConsumesTurn,si as writeReviewPackets};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
// @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
|
|
2
|
-
import{$,$a,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,_,_a,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-K2NCKRVY.js";import"./chunk-ONUPGMER.js";export{Sa as DEFAULT_COST_RATES,i as KODAX_API_MIN_INTERVAL,g as KODAX_CAPPED_MAX_OUTPUT_TOKENS,ha as KODAX_DEFAULT_PROVIDER,u as KODAX_DEFAULT_THINKING_BUDGETS,h as KODAX_ESCALATED_MAX_OUTPUT_TOKENS,f as KODAX_MAX_TOKENS,ga as KODAX_PROVIDERS,fa as KODAX_PROVIDER_SNAPSHOTS,s as KODAX_REASONING_MODE_SEQUENCE,v as KODAX_REASONING_SAFETY_RESERVE,t as KODAX_STABLE_EFFORT_INTENTS,$ as KodaXAnthropicCompatProvider,R as KodaXBaseProvider,a as KodaXError,d as KodaXNetworkError,aa as KodaXOpenAICompatProvider,b as KodaXProviderError,c as KodaXRateLimitError,e as KodaXToolCallIdError,M as WORKFLOW_MAX_CONCURRENCY_ABSOLUTE,L as WORKFLOW_MAX_CONCURRENCY_DEFAULT,p as addRejectedEffort,Ua as calculateCost,m as capabilityCacheKey,H as clampThinkingBudget,T as classifyStopReason,W as classifyVerifyError,Ia as clearRuntimeModelProviders,Va as createCostTracker,ua as createCustomProvider,B as effortToLegacyReasoningMode,K as extractHeadersFromError,Za as formatCost,_a as formatCostReport,La as getAvailableProviderNames,ba as getCodexCliDefaultModel,da as getCodexCliKnownModels,Ta as getCostRate,Ca as getCustomModelCapabilities,wa as getCustomProvider,za as getCustomProviderList,Ba as getCustomProviderModelDescriptors,Aa as getCustomProviderModels,ya as getCustomProviderNames,F as getDefaultThinkingDepthForMode,ca as getGeminiCliDefaultModel,ea as getGeminiCliKnownModels,ra as getModelCapabilities,ia as getProvider,ma as getProviderConfiguredCapabilityProfile,la as getProviderConfiguredReasoningCapability,na as getProviderList,ka as getProviderModel,qa as getProviderModelDescriptors,oa as getProviderModels,w as getReasoningCapability,o as getRejectedEfforts,P as getRunScopedConfig,Fa as getRuntimeModelProvider,Ha as getRuntimeModelProviderNames,Ya as getSummary,X as insertCacheBoundary,Y as isCacheBoundary,U as isCleanStop,xa as isCustomProviderName,Ka as isKnownProvider,ja as isProviderConfigured,pa as isProviderName,x as isReasoningEnabled,Ga as isRuntimeModelProviderName,Oa as listAllModelCapabilities,sa as listBuiltinModelCapabilities,Da as listCustomProviderModelCapabilities,Qa as listProviderModels,Z as lowerCacheBoundaries,I as mapDepthToOpenAIReasoningEffort,A as mapLegacyReasoningModeToEffortIntent,n as narrowReasoningProfile,Q as normalizeCapabilityProfile,z as normalizeReasoningEffortValue,y as normalizeReasoningRequest,C as parseReasoningEffortEnv,J as parseRetryAfter,k as parseTimeoutSecEnvMs,S as parseToolInputWithSalvage,Wa as recordRetry,Xa as recordUsage,va as registerCustomProviders,Ea as registerModelProvider,q as removeCacheEntry,l as resolveLlmTimeoutConfig,Na as resolveModelCapabilities,Ja as resolveProvider,Ma as resolveProviderModelDescriptors,D as resolveReasoningEffort,E as resolveReasoningEffortForModelSwitch,G as resolveThinkingBudget,Ra as resolveWireEffort,N as resolveWorkflowMaxConcurrency,V as runVerifyCredential,O as runWithScopedConfig,r as sanitizeCapabilityCache,$a as sideQuery,_ as stripCacheBoundaries,j as timeoutSecToMs,ta as validateCustomProviderConfig,Pa as verifyProviderCredential};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
// @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
|
|
2
|
-
import{j as a}from"./chunk-CC4BVVE7.js";import"./chunk-KGAI32VS.js";import"./chunk-HFM2D5BP.js";import"./chunk-C4SBXBWH.js";import"./chunk-K2NCKRVY.js";import"./chunk-67XJ4YUA.js";import"./chunk-5GL55MOH.js";import"./chunk-PZTG2C33.js";import"./chunk-ONUPGMER.js";export{a as startManagedWorkflow};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
// @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
|
|
2
|
-
import{a as j,b as k,c as l,d as m,e as n,f as o,g as p}from"./chunk-QJJKMNZF.js";import"./chunk-D6QVXQNI.js";import{b as a,h as b,i as c,j as d,k as e,m as f,n as g,o as h,p as i}from"./chunk-PZTG2C33.js";import"./chunk-ONUPGMER.js";export{a as ImageResizeError,b as MAX_DIMENSION,f as PASTE_TMP_DIR_ENV,g as PASTE_TMP_TTL_MS,c as TARGET_RAW_SIZE_BYTES,k as disableBracketedPasteMode,j as enableBracketedPasteMode,p as extractImagePaths,n as handleBracketedPaste,m as installBracketedPasteShutdownGuard,l as isBracketedPasteModeEnabled,d as normalizePastedImage,h as persistImageAsBlock,i as prunePasteTmpDir,e as readClipboardImage,o as triggerExplicitClipboardImage};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
// @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
|
|
2
|
-
import{I as a,J as b}from"./chunk-KGAI32VS.js";import"./chunk-C4SBXBWH.js";import"./chunk-K2NCKRVY.js";import"./chunk-67XJ4YUA.js";import"./chunk-5GL55MOH.js";import"./chunk-PZTG2C33.js";import"./chunk-ONUPGMER.js";export{a as createWorkflowRunManager,b as getDefaultWorkflowRunManager};
|
|
@@ -1,2 +0,0 @@
|
|
|
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,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,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-OIELNE6Z.js";import"./chunk-KIQRCGVR.js";import"./chunk-CC4BVVE7.js";import"./chunk-KGAI32VS.js";import"./chunk-HLBHSA2B.js";import"./chunk-D6QVXQNI.js";import"./chunk-PEGSHZAA.js";import"./chunk-HFM2D5BP.js";import"./chunk-C4SBXBWH.js";import"./chunk-K2NCKRVY.js";import"./chunk-67XJ4YUA.js";import"./chunk-5GL55MOH.js";import"./chunk-PZTG2C33.js";import"./chunk-ONUPGMER.js";export{D as KODAX_CONFIG_ENV_BINDINGS,c as KODAX_CONFIG_FILE,a as KODAX_DIR,B as KODAX_EXAMPLE_CONFIG_FILE,b as KODAX_SESSIONS_DIR,i as KODAX_VERSION,d as PREVIEW_MAX_LENGTH,E as applyConfigEnvironment,p as describeProviderCapabilitySummary,w as describeReasoningCapabilityControl,x as describeReasoningExecution,C as ensureExampleConfigFile,O as formatProviderCapabilityDetailLines,N as formatProviderSourceKind,q as formatReasoningCapabilityShort,r as formatReasoningEffortForDisplay,u as formatReasoningEffortStatusLabel,M as getGitRoot,k as getProviderAvailableModels,m as getProviderCapabilityProfile,n as getProviderCapabilitySnapshot,P as getProviderCommonPolicyScenarios,y as getProviderList,j as getProviderModel,o as getProviderPolicyDecision,l as getProviderReasoningCapability,t as getProviderReasoningEffortCycle,s as getProviderReasoningEffortOptions,h as getVersion,e as hydrateProcessEnvFromShell,z as isProviderConfigured,A as loadConfig,F as prepareRuntimeConfig,Q as rateLimitedCall,g as registerConfiguredCustomProviders,f as resetShellEnvironmentHydrationForTesting,H as resolveInitialEffortOverride,L as resolvePermissionModeEffort,v as resolveProviderReasoningRuntimeEffort,K as resolveRuntimeEffortSelection,J as resolveRuntimeModelSelection,I as resolveRuntimeProviderSelection,G as saveConfig};
|