@kodax-ai/kodax 0.7.86 → 0.7.87

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 (86) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +16 -4
  3. package/README_CN.md +6 -4
  4. package/dist/chunks/{agent-IO6TXNCV.js → agent-Z64QF7KG.js} +1 -1
  5. package/dist/chunks/argument-completer-HIJBXRUT.js +2 -0
  6. package/dist/chunks/{chunk-Q6UAGROD.js → chunk-3PGNESV3.js} +2 -2
  7. package/dist/chunks/{chunk-B36G256E.js → chunk-4OLXWSCQ.js} +2 -2
  8. package/dist/chunks/{chunk-2RAXDUC7.js → chunk-7XTUXMAI.js} +2 -2
  9. package/dist/chunks/{chunk-AAFFS6RU.js → chunk-ASFCAPIG.js} +3 -3
  10. package/dist/chunks/{chunk-XA4ENCAH.js → chunk-BCYJIACJ.js} +2 -2
  11. package/dist/chunks/{chunk-U6HNMLNN.js → chunk-DB4O33RR.js} +5 -5
  12. package/dist/chunks/{chunk-GVGLYVG4.js → chunk-GRJ7NKWP.js} +1 -1
  13. package/dist/chunks/{chunk-G5FGIRDJ.js → chunk-ITP7J5HX.js} +1 -1
  14. package/dist/chunks/{chunk-HTVLCHWH.js → chunk-JS4RSF4B.js} +1 -1
  15. package/dist/chunks/chunk-SKELDH3G.js +123 -0
  16. package/dist/chunks/{chunk-A5VQGXH2.js → chunk-U44C5STU.js} +1 -1
  17. package/dist/chunks/{chunk-R4EHASEN.js → chunk-UWKM3HNY.js} +4 -4
  18. package/dist/chunks/chunk-XH7UM4GO.js +92 -0
  19. package/dist/chunks/{chunk-UKCDCVMD.js → chunk-XKLVC7F6.js} +1 -1
  20. package/dist/chunks/{chunk-MFCPQZ7E.js → chunk-YB7YVAPL.js} +1 -1
  21. package/dist/chunks/{chunk-XUKLF26Q.js → chunk-ZQNOEKOB.js} +2 -2
  22. package/dist/chunks/compaction-config-E4TFBCDJ.js +2 -0
  23. package/dist/chunks/{construction-bootstrap-4DGAYOWH.js → construction-bootstrap-YTFOT4M2.js} +1 -1
  24. package/dist/chunks/{dist-DFW7MXT7.js → dist-M3JV4PNA.js} +1 -1
  25. package/dist/chunks/{dist-WWL2DNIJ.js → dist-X55TWIK4.js} +1 -1
  26. package/dist/chunks/host-SJHHJBPB.js +2 -0
  27. package/dist/chunks/run-manager-T5QGWNON.js +2 -0
  28. package/dist/chunks/{utils-LV7FHKYN.js → utils-2FHVIO6X.js} +1 -1
  29. package/dist/index.d.ts +19 -19
  30. package/dist/index.js +1 -1
  31. package/dist/kodax_bootstrap.js +1 -1
  32. package/dist/kodax_cli.js +762 -762
  33. package/dist/kodax_resume.js +1 -1
  34. package/dist/provider-capabilities.json +239 -133
  35. package/dist/runtime-worker.js +716 -716
  36. package/dist/sandbox-workspace-session.js +4 -4
  37. package/dist/sdk-a2a.d.ts +12 -12
  38. package/dist/sdk-a2a.js +1 -1
  39. package/dist/sdk-agent.d.ts +17 -17
  40. package/dist/sdk-agent.js +1 -1
  41. package/dist/sdk-coding.d.ts +21 -21
  42. package/dist/sdk-coding.js +1 -1
  43. package/dist/sdk-experimental-memory.d.ts +4 -4
  44. package/dist/sdk-experimental-memory.js +1 -1
  45. package/dist/sdk-llm.d.ts +7 -7
  46. package/dist/sdk-llm.js +1 -1
  47. package/dist/sdk-mcp.js +1 -1
  48. package/dist/sdk-media.d.ts +1 -1
  49. package/dist/sdk-media.js +1 -1
  50. package/dist/sdk-repl.d.ts +16 -16
  51. package/dist/sdk-repl.js +1 -1
  52. package/dist/sdk-runtime.d.ts +13 -13
  53. package/dist/sdk-runtime.js +1 -1
  54. package/dist/sdk-sandbox.js +1 -1
  55. package/dist/sdk-session.d.ts +7 -7
  56. package/dist/sdk-session.js +1 -1
  57. package/dist/sdk-skills.js +1 -1
  58. package/dist/semantic-worker.js +1 -1
  59. package/dist/types-chunks/{base.d-DxG0m09Z.d.ts → base.d-vopO1rml.d.ts} +1 -1
  60. package/dist/types-chunks/{bash-prefix-extractor.d-QqKtuLZm.d.ts → bash-prefix-extractor.d-B36OQwNA.d.ts} +4 -4
  61. package/dist/types-chunks/{capability-learning.d-iPSiAmc_.d.ts → capability-learning.d-CE1tm29C.d.ts} +1 -1
  62. package/dist/types-chunks/{capsule.d-CN_iMqAS.d.ts → capsule.d-DEncDNzD.d.ts} +3 -3
  63. package/dist/types-chunks/{controller.d-A73Kf6tH.d.ts → controller.d-C1YdP_pQ.d.ts} +1 -1
  64. package/dist/types-chunks/{controller.d-Dzxz22X-.d.ts → controller.d-Dif9pbC9.d.ts} +2 -2
  65. package/dist/types-chunks/{guardrail.d-Y_AIh8-I.d.ts → guardrail.d-DhpnJv4Y.d.ts} +5 -5
  66. package/dist/types-chunks/{history-retrieval.d-Debbzn1z.d.ts → history-retrieval.d-YJQpQt7h.d.ts} +2 -2
  67. package/dist/types-chunks/{public-api.d-Cg-4GTbK.d.ts → public-api.d-D4q3WxKq.d.ts} +4 -4
  68. package/dist/types-chunks/{repl.d-Bhrbueab.d.ts → repl.d-D4ye29Kk.d.ts} +5 -5
  69. package/dist/types-chunks/{resolver.d-C9IW4fmU.d.ts → resolver.d-RyPo99tB.d.ts} +2 -2
  70. package/dist/types-chunks/{review-inbox.d-DuZqFX-z.d.ts → review-inbox.d-C1_xZ-yg.d.ts} +1 -1
  71. package/dist/types-chunks/{run-manager.d-BS4lJfL3.d.ts → run-manager.d-D30IvnwV.d.ts} +1 -1
  72. package/dist/types-chunks/{sdk-session-fQ_KENev.d.ts → sdk-session-DIU6sHa2.d.ts} +3 -3
  73. package/dist/types-chunks/{shell-command-sets.d-DRGjd_7Q.d.ts → shell-command-sets.d-rIHkZ_VR.d.ts} +1 -1
  74. package/dist/types-chunks/{side-query.d-CP1LiRiH.d.ts → side-query.d-iH0P9ASy.d.ts} +2 -2
  75. package/dist/types-chunks/{types.d-BRrJU4pb.d.ts → types.d-Bz5Y-PD9.d.ts} +4 -4
  76. package/dist/types-chunks/{types.d-CgrXrFrq.d.ts → types.d-CK9A9rpP.d.ts} +1 -1
  77. package/dist/types-chunks/{types.d-Bo4fyMLu.d.ts → types.d-COhAF5Xo.d.ts} +2 -2
  78. package/dist/types-chunks/{types.d-DlLBRqZ9.d.ts → types.d-sW-OqiFt.d.ts} +1 -1
  79. package/dist/types-chunks/{utils.d-BIhh_BqE.d.ts → utils.d-B65ozSTV.d.ts} +6 -6
  80. package/package.json +1 -1
  81. package/dist/chunks/argument-completer-JMICSGL6.js +0 -2
  82. package/dist/chunks/chunk-TRNAWSXP.js +0 -123
  83. package/dist/chunks/chunk-UH5WNJXF.js +0 -92
  84. package/dist/chunks/compaction-config-5RMG22CY.js +0 -2
  85. package/dist/chunks/host-6MMHYTI5.js +0 -2
  86. package/dist/chunks/run-manager-ISQSWCAM.js +0 -2
@@ -86,7 +86,7 @@ public static class KodaXNativeProcessSnapshot {
86
86
  CloseHandle(snapshot);
87
87
  }
88
88
  }
89
- }`;import Ri from"node:fs";import _i from"node:os";import Ai from"node:path";var _d="gpt-5.4",Ad="auto-gemini-3",Pd=["gpt-5.4","gpt-5.3-codex","gpt-5.3-codex-spark"],Md=["auto-gemini-3","gemini-3.1-pro-preview","gemini-3-flash-preview","gemini-2.5-pro","gemini-2.5-flash"];function Pi(e){let t=new Set,n=[];for(let r of e){let o=r.trim();if(!o)continue;let s=o.toLowerCase();t.has(s)||(t.add(s),n.push(o))}return n}i(Pi,"dedupePreserveOrder");function Od(){let e=Ai.join(_i.homedir(),".codex","config.toml");try{return Ri.readFileSync(e,"utf8").match(/^\s*model\s*=\s*"([^"]+)"/m)?.[1]?.trim()||null}catch{return null}}i(Od,"readCodexConfiguredModel");function Nd(){let e=Ai.join(_i.homedir(),".gemini","settings.json");try{let t=JSON.parse(Ri.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}}i(Nd,"readGeminiConfiguredModel");function Oe(){return Od()||_d}i(Oe,"getCodexCliDefaultModel");function Ne(){return Nd()||Ad}i(Ne,"getGeminiCliDefaultModel");function nt(){return Pi([Oe(),...Pd])}i(nt,"getCodexCliKnownModels");function rt(){return Pi([Ne(),...Md])}i(rt,"getGeminiCliKnownModels");var Wk=Ne(),Hk=rt();var rx=Oe(),ix=nt();import{existsSync as Hd,readFileSync as zd}from"node:fs";import De from"node:path";import{fileURLToPath as qd}from"node:url";var Mi=["none","prompt-only","native-effort","native-budget","native-toggle","native-adaptive","unknown"],Oi=["openai-responses-effort","openai-chat-effort","codex-cli-config","anthropic-output-effort","anthropic-reasoning-effort","provider-budget","provider-toggle","prompt-only","none"],Ni=["anthropic-adaptive","anthropic-budget","provider-budget","provider-toggle","none"],Li=["zai-glm-5.2","zai-glm-toggle","deepseek-v4-flash-openai","deepseek-v4-pro-openai","deepseek-v4-openai","deepseek-v4-anthropic","deepseek-toggle","kimi-k3","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"],Di=["max_tokens","max_completion_tokens"],$i=["native","image-input-native","cli-bridge","image-input-cli-bridge"],Fi=["count-tokens","models-list","minimal-message","unsupported"];function ne(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}i(ne,"isPlainObject");function ke(e,t){if(typeof e!="string"||e.length===0)throw new Error(`provider-capabilities.json: ${t} must be a non-empty string`);return e}i(ke,"requireString");function Le(e,t){if(e!==void 0)return ke(e,t)}i(Le,"optionalString");function Bi(e,t){if(e!==void 0){if(typeof e!="string"||!Di.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${Di.join(", ")}, got ${JSON.stringify(e)}`);return e}}i(Bi,"optionalMaxOutputTokensField");function pe(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}}i(pe,"optionalNumber");function D(e,t){if(e!==void 0){if(typeof e!="boolean")throw new Error(`provider-capabilities.json: ${t} must be a boolean`);return e}}i(D,"optionalBoolean");function ji(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)=>ke(n,`${t}[${r}]`))}}i(ji,"optionalStringArray");function Dd(e,t){if(e===void 0)return;if(!ne(e))throw new Error(`provider-capabilities.json: ${t} must be an object`);let n={};for(let[r,o]of Object.entries(e))n[r]=ke(o,`${t}.${r}`);return n}i(Dd,"optionalStringMap");function $d(e,t){if(e!==void 0){if(typeof e!="string"||!Li.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${Li.join(", ")}, got ${JSON.stringify(e)}`);return e}}i($d,"optionalReasoningPreset");function Pn(e,t){if(typeof e!="string"||!Mi.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${Mi.join(", ")}, got ${JSON.stringify(e)}`);return e}i(Pn,"requireReasoningCapability");function Fd(e,t){if(typeof e!="string"||!Oi.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${Oi.join(", ")}, got ${JSON.stringify(e)}`);return e}i(Fd,"requireEffortStrategy");function jd(e,t){if(e!==void 0){if(typeof e!="string"||!Ni.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${Ni.join(", ")}, got ${JSON.stringify(e)}`);return e}}i(jd,"optionalThinkingStrategy");function Ki(e,t){if(e===void 0)return;if(!ne(e))throw new Error(`provider-capabilities.json: ${t} must be an object`);let n=Fd(e.effortStrategy,`${t}.effortStrategy`),r=$d(e.reasoningPreset,`${t}.reasoningPreset`),o=jd(e.thinkingStrategy,`${t}.thinkingStrategy`),s=Le(e.defaultEffort,`${t}.defaultEffort`),a=Dd(e.effortAliases,`${t}.effortAliases`),c=ji(e.disabledEfforts,`${t}.disabledEfforts`),d=ji(e.localRejectEfforts,`${t}.localRejectEfforts`),l=D(e.allowCustomEffort,`${t}.allowCustomEffort`),u=D(e.supportsReasoningEffort,`${t}.supportsReasoningEffort`),f=D(e.supportsReasoningSummary,`${t}.supportsReasoningSummary`),p=D(e.supportsEncryptedReasoningReplay,`${t}.supportsEncryptedReasoningReplay`),m=D(e.supportsAdaptiveThinking,`${t}.supportsAdaptiveThinking`),g=D(e.supportsManualThinkingBudget,`${t}.supportsManualThinkingBudget`),v=D(e.supportsDisabledThinking,`${t}.supportsDisabledThinking`),w=D(e.requiresEffortBetaHeader,`${t}.requiresEffortBetaHeader`),y={effortStrategy:n};if(r!==void 0&&(y.reasoningPreset=r),o!==void 0&&(y.thinkingStrategy=o),s!==void 0&&(y.defaultEffort=s),a!==void 0&&(y.effortAliases=a),c!==void 0&&(y.disabledEfforts=c),d!==void 0&&(y.localRejectEfforts=d),e.supportedEfforts!==void 0){if(!Array.isArray(e.supportedEfforts))throw new Error(`provider-capabilities.json: ${t}.supportedEfforts must be an array`);y.supportedEfforts=e.supportedEfforts.map((h,b)=>{if(!ne(h))throw new Error(`provider-capabilities.json: ${t}.supportedEfforts[${b}] must be an object`);return{value:ke(h.value,`${t}.supportedEfforts[${b}].value`),...Le(h.description,`${t}.supportedEfforts[${b}].description`)!==void 0?{description:Le(h.description,`${t}.supportedEfforts[${b}].description`)}:{},...D(h.isDefault,`${t}.supportedEfforts[${b}].isDefault`)!==void 0?{isDefault:D(h.isDefault,`${t}.supportedEfforts[${b}].isDefault`)}:{},...D(h.isUserVisible,`${t}.supportedEfforts[${b}].isUserVisible`)!==void 0?{isUserVisible:D(h.isUserVisible,`${t}.supportedEfforts[${b}].isUserVisible`)}:{}}})}if(e.budgetByEffort!==void 0){if(!ne(e.budgetByEffort))throw new Error(`provider-capabilities.json: ${t}.budgetByEffort must be an object`);let h={};for(let[b,I]of Object.entries(e.budgetByEffort))h[b]=pe(I,`${t}.budgetByEffort.${b}`)??0;y.budgetByEffort=h}return l!==void 0&&(y.allowCustomEffort=l),u!==void 0&&(y.supportsReasoningEffort=u),f!==void 0&&(y.supportsReasoningSummary=f),p!==void 0&&(y.supportsEncryptedReasoningReplay=p),m!==void 0&&(y.supportsAdaptiveThinking=m),g!==void 0&&(y.supportsManualThinkingBudget=g),v!==void 0&&(y.supportsDisabledThinking=v),w!==void 0&&(y.requiresEffortBetaHeader=w),y}i(Ki,"validateReasoningProfile");function Ui(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?Ki(n,`${t}.reasoningProfile`):Ki(r,`${t}.reasoningCapabilityV2`)}i(Ui,"validateReasoningProfileField");function Kd(e,t){if(typeof e!="string"||!$i.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${$i.join(", ")}, got ${JSON.stringify(e)}`);return e}i(Kd,"requireProfileName");function Bd(e,t){if(typeof e!="string"||!Fi.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${Fi.join(", ")}, got ${JSON.stringify(e)}`);return e}i(Bd,"requireVerifyStrategy");function Ud(e,t){if(!ne(e))throw new Error(`provider-capabilities.json: ${t} must be an object`);let n=ke(e.id,`${t}.id`),r=Le(e.wireModel,`${t}.wireModel`),o=Le(e.displayName,`${t}.displayName`),s=pe(e.contextWindow,`${t}.contextWindow`),a=pe(e.maxOutputTokens,`${t}.maxOutputTokens`),c=Bi(e.maxOutputTokensField,`${t}.maxOutputTokensField`),d=pe(e.thinkingBudgetCap,`${t}.thinkingBudgetCap`),l=D(e.replayReasoningContent,`${t}.replayReasoningContent`),u=D(e.strictThinkingSignature,`${t}.strictThinkingSignature`),f=pe(e.streamMaxDurationMs,`${t}.streamMaxDurationMs`),p=e.reasoningCapability===void 0?void 0:Pn(e.reasoningCapability,`${t}.reasoningCapability`),m=Ui(e,t),g={id:n};return r!==void 0&&(g.wireModel=r),o!==void 0&&(g.displayName=o),s!==void 0&&(g.contextWindow=s),a!==void 0&&(g.maxOutputTokens=a),c!==void 0&&(g.maxOutputTokensField=c),d!==void 0&&(g.thinkingBudgetCap=d),p!==void 0&&(g.reasoningCapability=p),m!==void 0&&(g.reasoningProfile=m),l!==void 0&&(g.replayReasoningContent=l),u!==void 0&&(g.strictThinkingSignature=u),f!==void 0&&(g.streamMaxDurationMs=f),g}i(Ud,"validateModelDescriptor");function Xd(e,t){if(e===void 0)return;if(!ne(e))throw new Error(`provider-capabilities.json: ${t} must be an object`);let n={};for(let[r,o]of Object.entries(e))n[r]=Pn(o,`${t}.${r}`);return n}i(Xd,"validateModelReasoningCapabilities");function Wd(e,t){if(!ne(e))throw new Error(`provider-capabilities.json: providers.${t} must be an object`);let n=D(e.cliBridge,`providers.${t}.cliBridge`),r=ke(e.apiKeyEnv,`providers.${t}.apiKeyEnv`),o=Pn(e.reasoningCapability,`providers.${t}.reasoningCapability`),s=Ui(e,`providers.${t}`),a=Kd(e.capabilityProfile,`providers.${t}.capabilityProfile`),c=Bd(e.verifyStrategy,`providers.${t}.verifyStrategy`);if(n&&c!=="unsupported")throw new Error(`provider-capabilities.json: providers.${t} is a cliBridge entry but verifyStrategy="${c}" \u2014 must be "unsupported" (CLI binary owns credentials)`);let d=pe(e.contextWindow,`providers.${t}.contextWindow`),l=pe(e.maxOutputTokens,`providers.${t}.maxOutputTokens`),u=Bi(e.maxOutputTokensField,`providers.${t}.maxOutputTokensField`),f=pe(e.thinkingBudgetCap,`providers.${t}.thinkingBudgetCap`),p=D(e.supportsThinking,`providers.${t}.supportsThinking`),m=Xd(e.modelReasoningCapabilities,`providers.${t}.modelReasoningCapabilities`),g=Le(e.model,`providers.${t}.model`);if(n&&(g!==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&&g===void 0)throw new Error(`provider-capabilities.json: providers.${t}.model is required (only cliBridge entries may omit)`);let v;if(e.models!==void 0){if(!Array.isArray(e.models))throw new Error(`provider-capabilities.json: providers.${t}.models must be an array`);v=e.models.map((h,b)=>Ud(h,`providers.${t}.models[${b}]`));let y=new Set([...g===void 0?[]:[g],...v.map(h=>h.id)]);for(let[h,b]of v.entries())if(b.wireModel!==void 0&&!y.has(b.wireModel))throw new Error(`provider-capabilities.json: providers.${t}.models[${h}].wireModel must reference a declared model, got ${JSON.stringify(b.wireModel)}`)}let w={apiKeyEnv:r,reasoningCapability:o,capabilityProfile:a,verifyStrategy:c};return s!==void 0&&(w.reasoningProfile=s),g!==void 0&&(w.model=g),v!==void 0&&(w.models=v),d!==void 0&&(w.contextWindow=d),l!==void 0&&(w.maxOutputTokens=l),u!==void 0&&(w.maxOutputTokensField=u),f!==void 0&&(w.thinkingBudgetCap=f),p!==void 0&&(w.supportsThinking=p),m!==void 0&&(w.modelReasoningCapabilities=m),n&&(w.cliBridge=!0),w}i(Wd,"validateProviderEntry");function Xi(e){if(!ne(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=ke(e.updatedAt,"updatedAt");if(!ne(e.providers))throw new Error("provider-capabilities.json: providers must be an object");let n={};for(let[r,o]of Object.entries(e.providers))n[r]=Wd(o,r);return{version:1,updatedAt:t,providers:n}}i(Xi,"validateProviderCapabilitiesJson");var Vd=Object.freeze({native:tt,"image-input-native":bi,"cli-bridge":Ot,"image-input-cli-bridge":ki}),$t=null;function Gd(){if(process.env.KODAX_BUNDLED==="true")return De.join(De.dirname(process.execPath),"provider-capabilities.json");let e=De.dirname(qd(import.meta.url)),t=[De.join(e,"provider-capabilities.json"),De.join(De.dirname(e),"provider-capabilities.json")];for(let n of t)if(Hd(n))return n;return t[0]}i(Gd,"resolveJsonPath");function Jd(e){if(e.models){for(let t of e.models)t.reasoningProfile&&Wi(t.reasoningProfile);for(let t of e.models)Object.freeze(t);Object.freeze(e.models)}return e.reasoningProfile&&Wi(e.reasoningProfile),e.modelReasoningCapabilities&&Object.freeze(e.modelReasoningCapabilities),Object.freeze(e)}i(Jd,"deepFreezeSnapshot");function Wi(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)}i(Wi,"freezeReasoningProfile");function Yd(e){if(e==="gemini-cli"){let t=Ne();return{model:t,models:rt().filter(n=>n!==t).map(n=>({id:n}))}}if(e==="codex-cli"){let t=Oe();return{model:t,models:nt().filter(n=>n!==t).map(n=>({id:n}))}}throw new Error(`provider-capabilities loader: unknown cliBridge provider '${e}'`)}i(Yd,"resolveCliBridgeModels");function Qd(e,t){let n=Vd[t.capabilityProfile];if(!n)throw new Error(`provider-capabilities loader: unknown capabilityProfile '${t.capabilityProfile}' for provider '${e}'`);if(t.cliBridge){let o=Yd(e),s={model:o.model,models:o.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.maxOutputTokensField!==void 0&&(r.maxOutputTokensField=t.maxOutputTokensField),t.thinkingBudgetCap!==void 0&&(r.thinkingBudgetCap=t.thinkingBudgetCap),t.supportsThinking!==void 0&&(r.supportsThinking=t.supportsThinking),r}i(Qd,"buildSnapshot");function Hi(){if($t)return $t;let e=Gd(),t;try{let o=zd(e,"utf8");t=JSON.parse(o)}catch(o){let s=o instanceof Error?o.message:String(o);throw new Error(`provider-capabilities loader: failed to read ${e}: ${s}`)}let n=Xi(t),r={};for(let[o,s]of Object.entries(n.providers))r[o]=Jd(Qd(o,s));return $t=Object.freeze(r),$t}i(Hi,"getProviderSnapshots");import Rx from"@anthropic-ai/sdk";var Ft=Hi();var zi=process.env.KODAX_PROVIDER??"zhipu-coding";var Al=[];function z(e){let t=Mt(e),n=Al.at(-1)?.sink;if(n){try{n(t)}catch{}return}if(process.env.KODAX_DIAGNOSTICS_STDERR==="1")try{process.stderr.write(`${lo(t)}
89
+ }`;import Ri from"node:fs";import _i from"node:os";import Ai from"node:path";var _d="gpt-5.4",Ad="auto-gemini-3",Pd=["gpt-5.4","gpt-5.3-codex","gpt-5.3-codex-spark"],Md=["auto-gemini-3","gemini-3.1-pro-preview","gemini-3-flash-preview","gemini-2.5-pro","gemini-2.5-flash"];function Pi(e){let t=new Set,n=[];for(let r of e){let o=r.trim();if(!o)continue;let s=o.toLowerCase();t.has(s)||(t.add(s),n.push(o))}return n}i(Pi,"dedupePreserveOrder");function Od(){let e=Ai.join(_i.homedir(),".codex","config.toml");try{return Ri.readFileSync(e,"utf8").match(/^\s*model\s*=\s*"([^"]+)"/m)?.[1]?.trim()||null}catch{return null}}i(Od,"readCodexConfiguredModel");function Nd(){let e=Ai.join(_i.homedir(),".gemini","settings.json");try{let t=JSON.parse(Ri.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}}i(Nd,"readGeminiConfiguredModel");function Oe(){return Od()||_d}i(Oe,"getCodexCliDefaultModel");function Ne(){return Nd()||Ad}i(Ne,"getGeminiCliDefaultModel");function nt(){return Pi([Oe(),...Pd])}i(nt,"getCodexCliKnownModels");function rt(){return Pi([Ne(),...Md])}i(rt,"getGeminiCliKnownModels");var Wk=Ne(),Hk=rt();var rx=Oe(),ix=nt();import{existsSync as Hd,readFileSync as zd}from"node:fs";import De from"node:path";import{fileURLToPath as qd}from"node:url";var Mi=["none","prompt-only","native-effort","native-budget","native-toggle","native-adaptive","unknown"],Oi=["openai-responses-effort","openai-chat-effort","codex-cli-config","anthropic-output-effort","anthropic-reasoning-effort","provider-budget","provider-toggle","prompt-only","none"],Ni=["anthropic-adaptive","anthropic-budget","provider-budget","provider-toggle","none"],Li=["zai-glm-5.3","zai-glm-5.2","zai-glm-toggle","deepseek-v4-flash-openai","deepseek-v4-pro-openai","deepseek-v4-openai","deepseek-v4-anthropic","deepseek-toggle","kimi-k3","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"],Di=["max_tokens","max_completion_tokens"],$i=["native","image-input-native","cli-bridge","image-input-cli-bridge"],Fi=["count-tokens","models-list","minimal-message","unsupported"];function ne(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}i(ne,"isPlainObject");function ke(e,t){if(typeof e!="string"||e.length===0)throw new Error(`provider-capabilities.json: ${t} must be a non-empty string`);return e}i(ke,"requireString");function Le(e,t){if(e!==void 0)return ke(e,t)}i(Le,"optionalString");function Bi(e,t){if(e!==void 0){if(typeof e!="string"||!Di.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${Di.join(", ")}, got ${JSON.stringify(e)}`);return e}}i(Bi,"optionalMaxOutputTokensField");function pe(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}}i(pe,"optionalNumber");function D(e,t){if(e!==void 0){if(typeof e!="boolean")throw new Error(`provider-capabilities.json: ${t} must be a boolean`);return e}}i(D,"optionalBoolean");function ji(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)=>ke(n,`${t}[${r}]`))}}i(ji,"optionalStringArray");function Dd(e,t){if(e===void 0)return;if(!ne(e))throw new Error(`provider-capabilities.json: ${t} must be an object`);let n={};for(let[r,o]of Object.entries(e))n[r]=ke(o,`${t}.${r}`);return n}i(Dd,"optionalStringMap");function $d(e,t){if(e!==void 0){if(typeof e!="string"||!Li.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${Li.join(", ")}, got ${JSON.stringify(e)}`);return e}}i($d,"optionalReasoningPreset");function Pn(e,t){if(typeof e!="string"||!Mi.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${Mi.join(", ")}, got ${JSON.stringify(e)}`);return e}i(Pn,"requireReasoningCapability");function Fd(e,t){if(typeof e!="string"||!Oi.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${Oi.join(", ")}, got ${JSON.stringify(e)}`);return e}i(Fd,"requireEffortStrategy");function jd(e,t){if(e!==void 0){if(typeof e!="string"||!Ni.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${Ni.join(", ")}, got ${JSON.stringify(e)}`);return e}}i(jd,"optionalThinkingStrategy");function Ki(e,t){if(e===void 0)return;if(!ne(e))throw new Error(`provider-capabilities.json: ${t} must be an object`);let n=Fd(e.effortStrategy,`${t}.effortStrategy`),r=$d(e.reasoningPreset,`${t}.reasoningPreset`),o=jd(e.thinkingStrategy,`${t}.thinkingStrategy`),s=Le(e.defaultEffort,`${t}.defaultEffort`),a=Dd(e.effortAliases,`${t}.effortAliases`),c=ji(e.disabledEfforts,`${t}.disabledEfforts`),d=ji(e.localRejectEfforts,`${t}.localRejectEfforts`),l=D(e.allowCustomEffort,`${t}.allowCustomEffort`),u=D(e.supportsReasoningEffort,`${t}.supportsReasoningEffort`),f=D(e.supportsReasoningSummary,`${t}.supportsReasoningSummary`),p=D(e.supportsEncryptedReasoningReplay,`${t}.supportsEncryptedReasoningReplay`),m=D(e.supportsAdaptiveThinking,`${t}.supportsAdaptiveThinking`),g=D(e.supportsManualThinkingBudget,`${t}.supportsManualThinkingBudget`),v=D(e.supportsDisabledThinking,`${t}.supportsDisabledThinking`),w=D(e.requiresEffortBetaHeader,`${t}.requiresEffortBetaHeader`),y={effortStrategy:n};if(r!==void 0&&(y.reasoningPreset=r),o!==void 0&&(y.thinkingStrategy=o),s!==void 0&&(y.defaultEffort=s),a!==void 0&&(y.effortAliases=a),c!==void 0&&(y.disabledEfforts=c),d!==void 0&&(y.localRejectEfforts=d),e.supportedEfforts!==void 0){if(!Array.isArray(e.supportedEfforts))throw new Error(`provider-capabilities.json: ${t}.supportedEfforts must be an array`);y.supportedEfforts=e.supportedEfforts.map((h,b)=>{if(!ne(h))throw new Error(`provider-capabilities.json: ${t}.supportedEfforts[${b}] must be an object`);return{value:ke(h.value,`${t}.supportedEfforts[${b}].value`),...Le(h.description,`${t}.supportedEfforts[${b}].description`)!==void 0?{description:Le(h.description,`${t}.supportedEfforts[${b}].description`)}:{},...D(h.isDefault,`${t}.supportedEfforts[${b}].isDefault`)!==void 0?{isDefault:D(h.isDefault,`${t}.supportedEfforts[${b}].isDefault`)}:{},...D(h.isUserVisible,`${t}.supportedEfforts[${b}].isUserVisible`)!==void 0?{isUserVisible:D(h.isUserVisible,`${t}.supportedEfforts[${b}].isUserVisible`)}:{}}})}if(e.budgetByEffort!==void 0){if(!ne(e.budgetByEffort))throw new Error(`provider-capabilities.json: ${t}.budgetByEffort must be an object`);let h={};for(let[b,I]of Object.entries(e.budgetByEffort))h[b]=pe(I,`${t}.budgetByEffort.${b}`)??0;y.budgetByEffort=h}return l!==void 0&&(y.allowCustomEffort=l),u!==void 0&&(y.supportsReasoningEffort=u),f!==void 0&&(y.supportsReasoningSummary=f),p!==void 0&&(y.supportsEncryptedReasoningReplay=p),m!==void 0&&(y.supportsAdaptiveThinking=m),g!==void 0&&(y.supportsManualThinkingBudget=g),v!==void 0&&(y.supportsDisabledThinking=v),w!==void 0&&(y.requiresEffortBetaHeader=w),y}i(Ki,"validateReasoningProfile");function Ui(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?Ki(n,`${t}.reasoningProfile`):Ki(r,`${t}.reasoningCapabilityV2`)}i(Ui,"validateReasoningProfileField");function Kd(e,t){if(typeof e!="string"||!$i.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${$i.join(", ")}, got ${JSON.stringify(e)}`);return e}i(Kd,"requireProfileName");function Bd(e,t){if(typeof e!="string"||!Fi.includes(e))throw new Error(`provider-capabilities.json: ${t} must be one of ${Fi.join(", ")}, got ${JSON.stringify(e)}`);return e}i(Bd,"requireVerifyStrategy");function Ud(e,t){if(!ne(e))throw new Error(`provider-capabilities.json: ${t} must be an object`);let n=ke(e.id,`${t}.id`),r=Le(e.wireModel,`${t}.wireModel`),o=Le(e.displayName,`${t}.displayName`),s=pe(e.contextWindow,`${t}.contextWindow`),a=pe(e.maxOutputTokens,`${t}.maxOutputTokens`),c=Bi(e.maxOutputTokensField,`${t}.maxOutputTokensField`),d=pe(e.thinkingBudgetCap,`${t}.thinkingBudgetCap`),l=D(e.replayReasoningContent,`${t}.replayReasoningContent`),u=D(e.strictThinkingSignature,`${t}.strictThinkingSignature`),f=pe(e.streamMaxDurationMs,`${t}.streamMaxDurationMs`),p=e.reasoningCapability===void 0?void 0:Pn(e.reasoningCapability,`${t}.reasoningCapability`),m=Ui(e,t),g={id:n};return r!==void 0&&(g.wireModel=r),o!==void 0&&(g.displayName=o),s!==void 0&&(g.contextWindow=s),a!==void 0&&(g.maxOutputTokens=a),c!==void 0&&(g.maxOutputTokensField=c),d!==void 0&&(g.thinkingBudgetCap=d),p!==void 0&&(g.reasoningCapability=p),m!==void 0&&(g.reasoningProfile=m),l!==void 0&&(g.replayReasoningContent=l),u!==void 0&&(g.strictThinkingSignature=u),f!==void 0&&(g.streamMaxDurationMs=f),g}i(Ud,"validateModelDescriptor");function Xd(e,t){if(e===void 0)return;if(!ne(e))throw new Error(`provider-capabilities.json: ${t} must be an object`);let n={};for(let[r,o]of Object.entries(e))n[r]=Pn(o,`${t}.${r}`);return n}i(Xd,"validateModelReasoningCapabilities");function Wd(e,t){if(!ne(e))throw new Error(`provider-capabilities.json: providers.${t} must be an object`);let n=D(e.cliBridge,`providers.${t}.cliBridge`),r=ke(e.apiKeyEnv,`providers.${t}.apiKeyEnv`),o=Pn(e.reasoningCapability,`providers.${t}.reasoningCapability`),s=Ui(e,`providers.${t}`),a=Kd(e.capabilityProfile,`providers.${t}.capabilityProfile`),c=Bd(e.verifyStrategy,`providers.${t}.verifyStrategy`);if(n&&c!=="unsupported")throw new Error(`provider-capabilities.json: providers.${t} is a cliBridge entry but verifyStrategy="${c}" \u2014 must be "unsupported" (CLI binary owns credentials)`);let d=pe(e.contextWindow,`providers.${t}.contextWindow`),l=pe(e.maxOutputTokens,`providers.${t}.maxOutputTokens`),u=Bi(e.maxOutputTokensField,`providers.${t}.maxOutputTokensField`),f=pe(e.thinkingBudgetCap,`providers.${t}.thinkingBudgetCap`),p=D(e.supportsThinking,`providers.${t}.supportsThinking`),m=Xd(e.modelReasoningCapabilities,`providers.${t}.modelReasoningCapabilities`),g=Le(e.model,`providers.${t}.model`);if(n&&(g!==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&&g===void 0)throw new Error(`provider-capabilities.json: providers.${t}.model is required (only cliBridge entries may omit)`);let v;if(e.models!==void 0){if(!Array.isArray(e.models))throw new Error(`provider-capabilities.json: providers.${t}.models must be an array`);v=e.models.map((h,b)=>Ud(h,`providers.${t}.models[${b}]`));let y=new Set([...g===void 0?[]:[g],...v.map(h=>h.id)]);for(let[h,b]of v.entries())if(b.wireModel!==void 0&&!y.has(b.wireModel))throw new Error(`provider-capabilities.json: providers.${t}.models[${h}].wireModel must reference a declared model, got ${JSON.stringify(b.wireModel)}`)}let w={apiKeyEnv:r,reasoningCapability:o,capabilityProfile:a,verifyStrategy:c};return s!==void 0&&(w.reasoningProfile=s),g!==void 0&&(w.model=g),v!==void 0&&(w.models=v),d!==void 0&&(w.contextWindow=d),l!==void 0&&(w.maxOutputTokens=l),u!==void 0&&(w.maxOutputTokensField=u),f!==void 0&&(w.thinkingBudgetCap=f),p!==void 0&&(w.supportsThinking=p),m!==void 0&&(w.modelReasoningCapabilities=m),n&&(w.cliBridge=!0),w}i(Wd,"validateProviderEntry");function Xi(e){if(!ne(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=ke(e.updatedAt,"updatedAt");if(!ne(e.providers))throw new Error("provider-capabilities.json: providers must be an object");let n={};for(let[r,o]of Object.entries(e.providers))n[r]=Wd(o,r);return{version:1,updatedAt:t,providers:n}}i(Xi,"validateProviderCapabilitiesJson");var Vd=Object.freeze({native:tt,"image-input-native":bi,"cli-bridge":Ot,"image-input-cli-bridge":ki}),$t=null;function Gd(){if(process.env.KODAX_BUNDLED==="true")return De.join(De.dirname(process.execPath),"provider-capabilities.json");let e=De.dirname(qd(import.meta.url)),t=[De.join(e,"provider-capabilities.json"),De.join(De.dirname(e),"provider-capabilities.json")];for(let n of t)if(Hd(n))return n;return t[0]}i(Gd,"resolveJsonPath");function Jd(e){if(e.models){for(let t of e.models)t.reasoningProfile&&Wi(t.reasoningProfile);for(let t of e.models)Object.freeze(t);Object.freeze(e.models)}return e.reasoningProfile&&Wi(e.reasoningProfile),e.modelReasoningCapabilities&&Object.freeze(e.modelReasoningCapabilities),Object.freeze(e)}i(Jd,"deepFreezeSnapshot");function Wi(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)}i(Wi,"freezeReasoningProfile");function Yd(e){if(e==="gemini-cli"){let t=Ne();return{model:t,models:rt().filter(n=>n!==t).map(n=>({id:n}))}}if(e==="codex-cli"){let t=Oe();return{model:t,models:nt().filter(n=>n!==t).map(n=>({id:n}))}}throw new Error(`provider-capabilities loader: unknown cliBridge provider '${e}'`)}i(Yd,"resolveCliBridgeModels");function Qd(e,t){let n=Vd[t.capabilityProfile];if(!n)throw new Error(`provider-capabilities loader: unknown capabilityProfile '${t.capabilityProfile}' for provider '${e}'`);if(t.cliBridge){let o=Yd(e),s={model:o.model,models:o.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.maxOutputTokensField!==void 0&&(r.maxOutputTokensField=t.maxOutputTokensField),t.thinkingBudgetCap!==void 0&&(r.thinkingBudgetCap=t.thinkingBudgetCap),t.supportsThinking!==void 0&&(r.supportsThinking=t.supportsThinking),r}i(Qd,"buildSnapshot");function Hi(){if($t)return $t;let e=Gd(),t;try{let o=zd(e,"utf8");t=JSON.parse(o)}catch(o){let s=o instanceof Error?o.message:String(o);throw new Error(`provider-capabilities loader: failed to read ${e}: ${s}`)}let n=Xi(t),r={};for(let[o,s]of Object.entries(n.providers))r[o]=Jd(Qd(o,s));return $t=Object.freeze(r),$t}i(Hi,"getProviderSnapshots");import Rx from"@anthropic-ai/sdk";var Ft=Hi();var zi=process.env.KODAX_PROVIDER??"zhipu-coding";var Al=[];function z(e){let t=Mt(e),n=Al.at(-1)?.sink;if(n){try{n(t)}catch{}return}if(process.env.KODAX_DIAGNOSTICS_STDERR==="1")try{process.stderr.write(`${lo(t)}
90
90
  `)}catch{}}i(z,"emitKodaXDiagnostic");function lo(e){let t=Mt(e),n=Pl(t.detail);return`[${t.source}] ${t.level}: ${t.message}${n?` ${n}`:""}`}i(lo,"formatKodaXDiagnostic");function Pl(e){if(e===void 0)return"";if(e instanceof Error)return e.stack??e.message;if(typeof e=="string")return e;try{return JSON.stringify(e)}catch{return String(e)}}i(Pl,"formatDiagnosticDetail");var it=class e{static{i(this,"SpanImpl")}id;traceId;parentId;name;data;startedAt;_endedAt;_error;_children=[];now;nextSpanId;onChildCreated;onSpanEnd;_ended=!1;constructor(t){this.id=t.id,this.traceId=t.traceId,this.parentId=t.parentId,this.name=t.name,this.data=t.data,this.now=t.now??(()=>Date.now()),this.startedAt=t.startedAt??this.now(),this.nextSpanId=t.nextSpanId??Ml,this.onChildCreated=t.onChildCreated,this.onSpanEnd=t.onSpanEnd}get endedAt(){return this._endedAt}get error(){return this._error}get children(){return this._children}addChild(t,n){let r=new e({id:this.nextSpanId(),traceId:this.traceId,parentId:this.id,name:t,data:n,now:this.now,nextSpanId:this.nextSpanId,onChildCreated:this.onChildCreated,onSpanEnd:this.onSpanEnd});return this._children.push(r),this.onChildCreated&&this.onChildCreated(r),r}setError(t){t instanceof Error?this._error={message:t.message,stack:t.stack}:this._error=t}end(){this._ended||(this._ended=!0,this._endedAt=this.now(),this.onSpanEnd&&this.onSpanEnd(this))}},uo=0;function Ml(){uo+=1;let e=Math.random().toString(36).slice(2,8);return`span-${Date.now()}-${uo}-${e}`}i(Ml,"defaultNextSpanId");var fo=0;function Ol(){fo+=1;let e=Math.random().toString(36).slice(2,8);return`trace-${Date.now()}-${fo}-${e}`}i(Ol,"defaultNextTraceId");function Fn(e={}){let t=e.now??(()=>Date.now()),n=e.id??(e.nextTraceId??Ol)(),r=t(),o=e.name??"trace",s=e.metadata??new Map,a=e.rootSpanData??{kind:"agent",agentName:o},c=!1,d,l,u=new it({id:`${n}-root`,traceId:n,name:o,data:a,startedAt:r,now:t,nextSpanId:e.nextSpanId,onChildCreated:e.onSpanStart,onSpanEnd:e.onSpanEnd});e.onSpanStart&&e.onSpanStart(u);let f={id:n,startedAt:r,rootSpan:u,metadata:s,get endedAt(){return d},get error(){return l??u.error},end(){c||(c=!0,d=t(),u.end(),e.onTraceEnd&&e.onTraceEnd(f))}};return f}i(Fn,"createTrace");var jn=[];function Kn(e){for(let t of jn)try{t.onSpanStart(e)}catch{}}i(Kn,"_emitSpanStart");function Bn(e){for(let t of jn)try{t.onSpanEnd(e)}catch{}}i(Bn,"_emitSpanEnd");function Un(e){for(let t of jn)try{t.onTraceEnd(e)}catch{}}i(Un,"_emitTraceEnd");var jt=class{static{i(this,"Tracer")}options;constructor(t={}){this.options=t}startTrace(t={}){return Fn({id:t.id,name:t.name,rootSpanData:t.rootSpanData,metadata:t.metadata,now:this.options.now,nextSpanId:this.options.nextSpanId,nextTraceId:this.options.nextTraceId,onSpanStart:Kn,onSpanEnd:Bn,onTraceEnd:Un})}},po=new jt;var jl=["read","edit","bash:test","bash:read-only","bash:mutating","bash:network","subagent"];var hI=new Set(jl);import{spawnSync as Kt}from"node:child_process";import{readFileSync as su}from"node:fs";var Bt=5e3,cC=String.raw`
91
91
  using System;
92
92
  using System.Runtime.InteropServices;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 1,
3
- "updatedAt": "2026-08-03",
3
+ "updatedAt": "2026-08-14",
4
4
  "providers": {
5
5
  "anthropic": {
6
6
  "apiKeyEnv": "ANTHROPIC_API_KEY",
@@ -231,11 +231,11 @@
231
231
  { "value": "none", "description": "Disable thinking" },
232
232
  { "value": "low", "description": "Low thinking effort" },
233
233
  { "value": "high", "description": "High thinking effort", "isDefault": true },
234
- { "value": "max", "description": "Maximum thinking effort" }
235
- ],
236
- "effortAliases": {
237
- "minimal": "low",
238
- "minimum": "low",
234
+ { "value": "max", "description": "Maximum thinking effort" }
235
+ ],
236
+ "effortAliases": {
237
+ "minimal": "low",
238
+ "minimum": "low",
239
239
  "light": "low",
240
240
  "medium": "high",
241
241
  "xhigh": "max",
@@ -626,12 +626,46 @@
626
626
  "thinkingBudgetCap": 32000,
627
627
  "verifyStrategy": "count-tokens"
628
628
  },
629
- "zhipu": {
630
- "apiKeyEnv": "ZHIPU_API_KEY",
631
- "model": "glm-5",
632
- "models": [
633
- {
634
- "id": "glm-5.2",
629
+ "zhipu": {
630
+ "apiKeyEnv": "ZHIPU_API_KEY",
631
+ "model": "glm-5",
632
+ "models": [
633
+ {
634
+ "id": "glm-5.3",
635
+ "displayName": "GLM-5.3",
636
+ "contextWindow": 1000000,
637
+ "maxOutputTokens": 131072,
638
+ "reasoningCapability": "native-effort",
639
+ "reasoningProfile": {
640
+ "reasoningPreset": "zai-glm-5.3",
641
+ "effortStrategy": "openai-chat-effort",
642
+ "thinkingStrategy": "provider-toggle",
643
+ "defaultEffort": "max",
644
+ "supportedEfforts": [
645
+ { "value": "none", "description": "Maps to low reasoning" },
646
+ { "value": "minimal", "description": "Alias to low", "isUserVisible": false },
647
+ { "value": "low", "description": "GLM low reasoning" },
648
+ { "value": "medium", "description": "Alias to high" },
649
+ { "value": "high", "description": "GLM high reasoning" },
650
+ { "value": "xhigh", "description": "Alias to max" },
651
+ { "value": "max", "description": "GLM maximum reasoning", "isDefault": true }
652
+ ],
653
+ "effortAliases": {
654
+ "none": "low",
655
+ "minimal": "low",
656
+ "minimum": "low",
657
+ "light": "low",
658
+ "medium": "high",
659
+ "xhigh": "max",
660
+ "ultra": "max"
661
+ },
662
+ "disabledEfforts": ["none"],
663
+ "supportsReasoningEffort": true,
664
+ "supportsDisabledThinking": false
665
+ }
666
+ },
667
+ {
668
+ "id": "glm-5.2",
635
669
  "displayName": "GLM-5.2",
636
670
  "contextWindow": 1000000,
637
671
  "maxOutputTokens": 131072,
@@ -687,42 +721,76 @@
687
721
  "maxOutputTokensField": "max_tokens",
688
722
  "verifyStrategy": "minimal-message"
689
723
  },
690
- "zhipu-coding": {
691
- "apiKeyEnv": "ZHIPU_CODING_API_KEY",
692
- "model": "glm-5.2",
693
- "models": [
694
- {
695
- "id": "glm-5.2",
696
- "displayName": "GLM-5.2",
697
- "contextWindow": 1000000,
698
- "maxOutputTokens": 131072,
699
- "reasoningCapability": "native-effort",
700
- "reasoningProfile": {
701
- "reasoningPreset": "zai-glm-5.2",
702
- "effortStrategy": "openai-chat-effort",
703
- "thinkingStrategy": "provider-toggle",
704
- "defaultEffort": "max",
705
- "supportedEfforts": [
706
- { "value": "none", "description": "Disable thinking" },
707
- { "value": "minimal", "description": "Disable thinking", "isUserVisible": false },
708
- { "value": "low", "description": "Alias to high" },
709
- { "value": "medium", "description": "Alias to high" },
710
- { "value": "high", "description": "GLM high reasoning" },
711
- { "value": "xhigh", "description": "Alias to max" },
712
- { "value": "max", "description": "GLM maximum reasoning", "isDefault": true }
713
- ],
714
- "effortAliases": {
715
- "low": "high",
716
- "medium": "high",
717
- "xhigh": "max"
718
- },
719
- "disabledEfforts": ["none", "minimal"],
720
- "supportsReasoningEffort": true,
721
- "supportsDisabledThinking": true
722
- }
723
- },
724
- {
725
- "id": "glm-5-turbo",
724
+ "zhipu-coding": {
725
+ "apiKeyEnv": "ZHIPU_CODING_API_KEY",
726
+ "model": "glm-5.3",
727
+ "models": [
728
+ {
729
+ "id": "glm-5.3",
730
+ "displayName": "GLM-5.3",
731
+ "contextWindow": 1000000,
732
+ "maxOutputTokens": 131072,
733
+ "reasoningCapability": "native-effort",
734
+ "reasoningProfile": {
735
+ "reasoningPreset": "zai-glm-5.3",
736
+ "effortStrategy": "openai-chat-effort",
737
+ "thinkingStrategy": "provider-toggle",
738
+ "defaultEffort": "max",
739
+ "supportedEfforts": [
740
+ { "value": "none", "description": "Maps to low reasoning" },
741
+ { "value": "minimal", "description": "Alias to low", "isUserVisible": false },
742
+ { "value": "low", "description": "GLM low reasoning" },
743
+ { "value": "medium", "description": "Alias to high" },
744
+ { "value": "high", "description": "GLM high reasoning" },
745
+ { "value": "xhigh", "description": "Alias to max" },
746
+ { "value": "max", "description": "GLM maximum reasoning", "isDefault": true }
747
+ ],
748
+ "effortAliases": {
749
+ "none": "low",
750
+ "minimal": "low",
751
+ "minimum": "low",
752
+ "light": "low",
753
+ "medium": "high",
754
+ "xhigh": "max",
755
+ "ultra": "max"
756
+ },
757
+ "disabledEfforts": ["none"],
758
+ "supportsReasoningEffort": true,
759
+ "supportsDisabledThinking": false
760
+ }
761
+ },
762
+ {
763
+ "id": "glm-5.2",
764
+ "displayName": "GLM-5.2",
765
+ "contextWindow": 1000000,
766
+ "maxOutputTokens": 131072,
767
+ "reasoningCapability": "native-effort",
768
+ "reasoningProfile": {
769
+ "reasoningPreset": "zai-glm-5.2",
770
+ "effortStrategy": "openai-chat-effort",
771
+ "thinkingStrategy": "provider-toggle",
772
+ "defaultEffort": "max",
773
+ "supportedEfforts": [
774
+ { "value": "none", "description": "Disable thinking" },
775
+ { "value": "minimal", "description": "Disable thinking", "isUserVisible": false },
776
+ { "value": "low", "description": "Alias to high" },
777
+ { "value": "medium", "description": "Alias to high" },
778
+ { "value": "high", "description": "GLM high reasoning" },
779
+ { "value": "xhigh", "description": "Alias to max" },
780
+ { "value": "max", "description": "GLM maximum reasoning", "isDefault": true }
781
+ ],
782
+ "effortAliases": {
783
+ "low": "high",
784
+ "medium": "high",
785
+ "xhigh": "max"
786
+ },
787
+ "disabledEfforts": ["none", "minimal"],
788
+ "supportsReasoningEffort": true,
789
+ "supportsDisabledThinking": true
790
+ }
791
+ },
792
+ {
793
+ "id": "glm-5-turbo",
726
794
  "displayName": "GLM-5 Turbo",
727
795
  "reasoningCapability": "native-toggle",
728
796
  "reasoningProfile": {
@@ -765,69 +833,107 @@
765
833
  }
766
834
  }
767
835
  ],
768
- "reasoningCapability": "native-effort",
769
- "reasoningProfile": {
770
- "reasoningPreset": "zai-glm-5.2",
771
- "effortStrategy": "openai-chat-effort",
772
- "thinkingStrategy": "provider-toggle",
773
- "defaultEffort": "max",
774
- "supportedEfforts": [
775
- { "value": "none", "description": "Disable thinking" },
776
- { "value": "minimal", "description": "Disable thinking", "isUserVisible": false },
777
- { "value": "low", "description": "Alias to high" },
778
- { "value": "medium", "description": "Alias to high" },
779
- { "value": "high", "description": "GLM high reasoning" },
780
- { "value": "xhigh", "description": "Alias to max" },
781
- { "value": "max", "description": "GLM maximum reasoning", "isDefault": true }
782
- ],
783
- "effortAliases": {
784
- "low": "high",
785
- "medium": "high",
786
- "xhigh": "max"
787
- },
788
- "disabledEfforts": ["none", "minimal"],
789
- "supportsReasoningEffort": true,
790
- "supportsDisabledThinking": true
791
- },
792
- "capabilityProfile": "image-input-native",
793
- "supportsThinking": true,
836
+ "reasoningCapability": "native-effort",
837
+ "reasoningProfile": {
838
+ "reasoningPreset": "zai-glm-5.3",
839
+ "effortStrategy": "openai-chat-effort",
840
+ "thinkingStrategy": "provider-toggle",
841
+ "defaultEffort": "max",
842
+ "supportedEfforts": [
843
+ { "value": "none", "description": "Maps to low reasoning" },
844
+ { "value": "minimal", "description": "Alias to low", "isUserVisible": false },
845
+ { "value": "low", "description": "GLM low reasoning" },
846
+ { "value": "medium", "description": "Alias to high" },
847
+ { "value": "high", "description": "GLM high reasoning" },
848
+ { "value": "xhigh", "description": "Alias to max" },
849
+ { "value": "max", "description": "GLM maximum reasoning", "isDefault": true }
850
+ ],
851
+ "effortAliases": {
852
+ "none": "low",
853
+ "minimal": "low",
854
+ "minimum": "low",
855
+ "light": "low",
856
+ "medium": "high",
857
+ "xhigh": "max",
858
+ "ultra": "max"
859
+ },
860
+ "disabledEfforts": ["none"],
861
+ "supportsReasoningEffort": true,
862
+ "supportsDisabledThinking": false
863
+ },
864
+ "capabilityProfile": "image-input-native",
865
+ "supportsThinking": true,
794
866
  "contextWindow": 200000,
795
867
  "maxOutputTokens": 16000,
796
868
  "thinkingBudgetCap": 16000,
797
869
  "verifyStrategy": "count-tokens"
798
870
  },
799
- "zai-coding": {
800
- "apiKeyEnv": "ZAI_CODING_API_KEY",
801
- "model": "glm-5.2",
802
- "models": [
803
- {
804
- "id": "glm-5.2",
805
- "displayName": "GLM-5.2",
806
- "contextWindow": 1000000,
807
- "maxOutputTokens": 131072,
808
- "reasoningCapability": "native-effort",
809
- "reasoningProfile": {
810
- "reasoningPreset": "zai-glm-5.2",
811
- "effortStrategy": "openai-chat-effort",
812
- "thinkingStrategy": "provider-toggle",
813
- "defaultEffort": "max",
814
- "supportedEfforts": [
815
- { "value": "none", "description": "Disable thinking" },
816
- { "value": "minimal", "description": "Disable thinking", "isUserVisible": false },
817
- { "value": "low", "description": "Alias to high" },
818
- { "value": "medium", "description": "Alias to high" },
819
- { "value": "high", "description": "GLM high reasoning" },
820
- { "value": "xhigh", "description": "Alias to max" },
821
- { "value": "max", "description": "GLM maximum reasoning", "isDefault": true }
822
- ],
823
- "effortAliases": {
824
- "low": "high",
825
- "medium": "high",
826
- "xhigh": "max"
827
- },
828
- "disabledEfforts": ["none", "minimal"],
829
- "supportsReasoningEffort": true,
830
- "supportsDisabledThinking": true
871
+ "zai-coding": {
872
+ "apiKeyEnv": "ZAI_CODING_API_KEY",
873
+ "model": "glm-5.2",
874
+ "models": [
875
+ {
876
+ "id": "glm-5.2",
877
+ "displayName": "GLM-5.2",
878
+ "contextWindow": 1000000,
879
+ "maxOutputTokens": 131072,
880
+ "reasoningCapability": "native-effort",
881
+ "reasoningProfile": {
882
+ "reasoningPreset": "zai-glm-5.2",
883
+ "effortStrategy": "openai-chat-effort",
884
+ "thinkingStrategy": "provider-toggle",
885
+ "defaultEffort": "max",
886
+ "supportedEfforts": [
887
+ { "value": "none", "description": "Disable thinking" },
888
+ { "value": "minimal", "description": "Disable thinking", "isUserVisible": false },
889
+ { "value": "low", "description": "Alias to high" },
890
+ { "value": "medium", "description": "Alias to high" },
891
+ { "value": "high", "description": "GLM high reasoning" },
892
+ { "value": "xhigh", "description": "Alias to max" },
893
+ { "value": "max", "description": "GLM maximum reasoning", "isDefault": true }
894
+ ],
895
+ "effortAliases": {
896
+ "low": "high",
897
+ "medium": "high",
898
+ "xhigh": "max"
899
+ },
900
+ "disabledEfforts": ["none", "minimal"],
901
+ "supportsReasoningEffort": true,
902
+ "supportsDisabledThinking": true
903
+ }
904
+ },
905
+ {
906
+ "id": "glm-5.3",
907
+ "displayName": "GLM-5.3",
908
+ "contextWindow": 1000000,
909
+ "maxOutputTokens": 131072,
910
+ "reasoningCapability": "native-effort",
911
+ "reasoningProfile": {
912
+ "reasoningPreset": "zai-glm-5.3",
913
+ "effortStrategy": "openai-chat-effort",
914
+ "thinkingStrategy": "provider-toggle",
915
+ "defaultEffort": "max",
916
+ "supportedEfforts": [
917
+ { "value": "none", "description": "Maps to low reasoning" },
918
+ { "value": "minimal", "description": "Alias to low", "isUserVisible": false },
919
+ { "value": "low", "description": "GLM low reasoning" },
920
+ { "value": "medium", "description": "Alias to high" },
921
+ { "value": "high", "description": "GLM high reasoning" },
922
+ { "value": "xhigh", "description": "Alias to max" },
923
+ { "value": "max", "description": "GLM maximum reasoning", "isDefault": true }
924
+ ],
925
+ "effortAliases": {
926
+ "none": "low",
927
+ "minimal": "low",
928
+ "minimum": "low",
929
+ "light": "low",
930
+ "medium": "high",
931
+ "xhigh": "max",
932
+ "ultra": "max"
933
+ },
934
+ "disabledEfforts": ["none"],
935
+ "supportsReasoningEffort": true,
936
+ "supportsDisabledThinking": false
831
937
  }
832
938
  },
833
939
  {
@@ -874,38 +980,38 @@
874
980
  }
875
981
  }
876
982
  ],
877
- "reasoningCapability": "native-effort",
878
- "reasoningProfile": {
879
- "reasoningPreset": "zai-glm-5.2",
880
- "effortStrategy": "openai-chat-effort",
881
- "thinkingStrategy": "provider-toggle",
882
- "defaultEffort": "max",
883
- "supportedEfforts": [
884
- { "value": "none", "description": "Disable thinking" },
885
- { "value": "minimal", "description": "Disable thinking", "isUserVisible": false },
886
- { "value": "low", "description": "Alias to high" },
887
- { "value": "medium", "description": "Alias to high" },
888
- { "value": "high", "description": "GLM high reasoning" },
889
- { "value": "xhigh", "description": "Alias to max" },
890
- { "value": "max", "description": "GLM maximum reasoning", "isDefault": true }
891
- ],
892
- "effortAliases": {
893
- "low": "high",
894
- "medium": "high",
895
- "xhigh": "max"
896
- },
897
- "disabledEfforts": ["none", "minimal"],
898
- "supportsReasoningEffort": true,
899
- "supportsDisabledThinking": true
900
- },
983
+ "reasoningCapability": "native-effort",
984
+ "reasoningProfile": {
985
+ "reasoningPreset": "zai-glm-5.2",
986
+ "effortStrategy": "openai-chat-effort",
987
+ "thinkingStrategy": "provider-toggle",
988
+ "defaultEffort": "max",
989
+ "supportedEfforts": [
990
+ { "value": "none", "description": "Disable thinking" },
991
+ { "value": "minimal", "description": "Disable thinking", "isUserVisible": false },
992
+ { "value": "low", "description": "Alias to high" },
993
+ { "value": "medium", "description": "Alias to high" },
994
+ { "value": "high", "description": "GLM high reasoning" },
995
+ { "value": "xhigh", "description": "Alias to max" },
996
+ { "value": "max", "description": "GLM maximum reasoning", "isDefault": true }
997
+ ],
998
+ "effortAliases": {
999
+ "low": "high",
1000
+ "medium": "high",
1001
+ "xhigh": "max"
1002
+ },
1003
+ "disabledEfforts": ["none", "minimal"],
1004
+ "supportsReasoningEffort": true,
1005
+ "supportsDisabledThinking": true
1006
+ },
901
1007
  "capabilityProfile": "image-input-native",
902
1008
  "supportsThinking": true,
903
1009
  "contextWindow": 200000,
904
1010
  "maxOutputTokens": 16000,
905
1011
  "thinkingBudgetCap": 16000,
906
- "verifyStrategy": "count-tokens"
907
- },
908
- "minimax-coding": {
1012
+ "verifyStrategy": "count-tokens"
1013
+ },
1014
+ "minimax-coding": {
909
1015
  "apiKeyEnv": "MINIMAX_CODING_API_KEY",
910
1016
  "model": "MiniMax-M3",
911
1017
  "models": [