@kodax-ai/kodax 0.7.97-beta.2 → 0.7.97-beta.3
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 +96 -0
- package/README.md +55 -2
- package/README_CN.md +37 -1
- package/dist/artifacts/dist/contract.js +1 -1
- package/dist/artifacts/dist/contract.js.map +1 -1
- package/dist/artifacts/dist/document-render.d.ts +1 -1
- package/dist/artifacts/dist/document-render.js +41 -10
- package/dist/artifacts/dist/document-render.js.map +1 -1
- package/dist/artifacts/dist/kodax.js +1 -1
- package/dist/artifacts/dist/kodax.js.map +1 -1
- package/dist/artifacts/dist/libreoffice.d.ts +6 -1
- package/dist/artifacts/dist/libreoffice.js +37 -13
- package/dist/artifacts/dist/libreoffice.js.map +1 -1
- package/dist/artifacts/dist/runtime.js +13 -6
- package/dist/artifacts/dist/runtime.js.map +1 -1
- package/dist/artifacts/skills/artifact-review/SKILL.md +5 -1
- package/dist/chunks/agent-NWQPMZ7B.js +2 -0
- package/dist/chunks/agent-adapter-V3IPADCX.js +2 -0
- package/dist/chunks/argument-completer-VNKHT4X4.js +2 -0
- package/dist/chunks/{bedrock-native-Z5VNWF5U.js → bedrock-native-OEPOBW6W.js} +1 -1
- package/dist/chunks/{chunk-NSR4RW2F.js → chunk-3I2MIS4D.js} +1 -1
- package/dist/chunks/{chunk-RYBUYHDL.js → chunk-3Y5PBEOD.js} +1 -1
- package/dist/chunks/chunk-4FVCMKG2.js +20 -0
- package/dist/chunks/{chunk-F6GJXQNA.js → chunk-4GYXZTOD.js} +7 -7
- package/dist/chunks/{chunk-EISRVOBJ.js → chunk-4Z7ZHL6V.js} +2 -2
- package/dist/chunks/{chunk-W2CWO4PQ.js → chunk-576AAIQM.js} +1 -1
- package/dist/chunks/chunk-5E2P4RYS.js +4 -0
- package/dist/chunks/{chunk-X5M7TLJV.js → chunk-5LFQ5FVY.js} +1 -1
- package/dist/chunks/{chunk-WMMESRP3.js → chunk-6RDMSU4B.js} +1 -1
- package/dist/chunks/{chunk-3CP7AUWY.js → chunk-7BA4TSKC.js} +1 -1
- package/dist/chunks/{chunk-I325ER7D.js → chunk-AUU3N4V4.js} +1 -1
- package/dist/chunks/{chunk-DCE7XQUG.js → chunk-AYDLX2UK.js} +1 -1
- package/dist/chunks/{chunk-D36OIMV7.js → chunk-BP3NAYKY.js} +64 -64
- package/dist/chunks/{chunk-6TITQQAI.js → chunk-BSCSKJNC.js} +230 -229
- package/dist/chunks/{chunk-2HH5AS7E.js → chunk-DAQGOWKD.js} +88 -462
- package/dist/chunks/{chunk-UF3GZ5PO.js → chunk-EZF6ZRCO.js} +1 -1
- package/dist/chunks/chunk-F2TFWNVZ.js +2 -0
- package/dist/chunks/{chunk-53CJDQS2.js → chunk-FVXZ5L33.js} +1 -1
- package/dist/chunks/{chunk-MCDZNQWD.js → chunk-G32BMSHH.js} +75 -71
- package/dist/chunks/chunk-HJLYZ5AX.js +361 -0
- package/dist/chunks/{chunk-P55RJIOG.js → chunk-IOIFCU46.js} +1 -1
- package/dist/chunks/{chunk-DV5YPYLW.js → chunk-IR46ZHXU.js} +1 -1
- package/dist/chunks/chunk-NJDR5EEF.js +6 -0
- package/dist/chunks/{chunk-KDSO7V4O.js → chunk-OC3DQXN6.js} +1 -1
- package/dist/chunks/{chunk-J2L2NK6E.js → chunk-OMVAPRQI.js} +90 -57
- package/dist/chunks/chunk-OXCB2TRF.js +42 -0
- package/dist/chunks/{chunk-C6JGLEYD.js → chunk-P6R6V7EW.js} +1 -1
- package/dist/chunks/{chunk-SK3RRGHJ.js → chunk-PFBZ4ZXO.js} +28 -28
- package/dist/chunks/{chunk-V2XJSFFE.js → chunk-QDE6THC5.js} +1 -1
- package/dist/chunks/{chunk-EPK6EWRI.js → chunk-QRYEP34M.js} +1 -1
- package/dist/chunks/chunk-ROWYE472.js +460 -0
- package/dist/chunks/{chunk-R42S4BLA.js → chunk-SQGESMNC.js} +1 -1
- package/dist/chunks/{chunk-XZSFUGPN.js → chunk-U73VEVMP.js} +1 -1
- package/dist/chunks/{chunk-D425EZGC.js → chunk-V2TG7GNW.js} +1 -1
- package/dist/chunks/{chunk-QSZCR5GC.js → chunk-VRO2CDBY.js} +97 -97
- package/dist/chunks/{chunk-BBZWF2EA.js → chunk-WMQQQY3D.js} +1 -1
- package/dist/chunks/{chunk-JAF2YLZO.js → chunk-X3YYJJTF.js} +2 -2
- package/dist/chunks/{chunk-UL6YIT4M.js → chunk-XYRI6ER5.js} +1 -1
- package/dist/chunks/chunk-YRPB3LID.js +3 -0
- package/dist/chunks/{chunk-5MUVRFMU.js → chunk-ZDAU3LZ2.js} +1 -1
- package/dist/chunks/{chunk-WWPVEK6B.js → chunk-ZP3YSYWM.js} +10 -10
- package/dist/chunks/{client-LTIFNED5.js → client-NJ32JBC3.js} +1 -1
- package/dist/chunks/compaction-config-JBQGU3NO.js +2 -0
- package/dist/chunks/{construction-bootstrap-OAZKGI5Y.js → construction-bootstrap-CM47ZXG7.js} +1 -1
- package/dist/chunks/dist-O6BHIQEP.js +2 -0
- package/dist/chunks/{google-native-WLL27OV7.js → google-native-BV5GKT5B.js} +1 -1
- package/dist/chunks/host-PI5NL4W4.js +2 -0
- package/dist/chunks/{mistral-native-JXPIDDYZ.js → mistral-native-X42JCFZH.js} +1 -1
- package/dist/chunks/{model-DZF6URW3.js → model-MT3WJX76.js} +1 -1
- package/dist/chunks/{permission-YVVMLQ5I.js → permission-YVDVSE6H.js} +1 -1
- package/dist/chunks/{pi-messages-5LLOZH57.js → pi-messages-DVJANXV5.js} +1 -1
- package/dist/chunks/readline-helpers-5JS7UGTE.js +2 -0
- package/dist/chunks/run-manager-Y6VYEWSJ.js +2 -0
- package/dist/chunks/running-session-ANMBA5XV.js +2 -0
- package/dist/chunks/skills-XL2XIBWV.js +2 -0
- package/dist/chunks/{tool-dispatch-MLM3QTSU.js → tool-dispatch-2FOG65FC.js} +1 -1
- package/dist/chunks/{utils-2QNMYRGA.js → utils-XZ22R6VB.js} +1 -1
- package/dist/client-history.js +2 -0
- package/dist/history-turn.js +3 -0
- package/dist/index.d.ts +19 -19
- package/dist/index.js +2 -2
- package/dist/kodax_bootstrap.js +1 -1
- package/dist/kodax_cli.js +1472 -1810
- package/dist/kodax_doctor.js +1 -1
- package/dist/maintenance-scheduler.js +2 -0
- package/dist/manual-topics.json +32 -3
- package/dist/native/win32-x64/kodax-windows-sandbox.exe +0 -0
- package/dist/native/win32-x64/kodax-windows-text-transaction.node +0 -0
- package/dist/native/win32-x64/manifest.json +2 -2
- package/dist/one-shot-task.js +1 -1
- package/dist/provider-auth-cli.js +1 -1
- package/dist/runtime-daemon-schema.json +1 -1
- package/dist/sandbox-network-broker.js +93 -441
- package/dist/sdk-a2a.d.ts +13 -13
- package/dist/sdk-a2a.js +1 -1
- package/dist/sdk-agent.d.ts +17 -12
- package/dist/sdk-agent.js +1 -1
- package/dist/sdk-client.d.ts +6 -6
- package/dist/sdk-client.js +1 -1
- package/dist/sdk-coding.d.ts +17 -17
- package/dist/sdk-coding.js +1 -1
- package/dist/sdk-experimental-memory.d.ts +2 -2
- package/dist/sdk-experimental-memory.js +1 -1
- package/dist/sdk-llm.d.ts +4 -2
- package/dist/sdk-llm.js +1 -1
- package/dist/sdk-mcp.js +1 -1
- package/dist/sdk-media.d.ts +13 -13
- package/dist/sdk-media.js +1 -1
- package/dist/sdk-repl.d.ts +16 -16
- package/dist/sdk-repl.js +1 -1
- package/dist/sdk-runtime.d.ts +46 -46
- package/dist/sdk-runtime.js +1 -1
- package/dist/sdk-sandbox.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 +87 -435
- package/dist/storage-repair-cli.js +1 -1
- package/dist/types-chunks/{bash-prefix-extractor.d-CJliu5-D.d.ts → bash-prefix-extractor.d-BghXa_md.d.ts} +9 -3
- package/dist/types-chunks/{capsule.d-EMwSALqK.d.ts → capsule.d-BTlvC5qq.d.ts} +4 -4
- package/dist/types-chunks/{client-contract-B7q69yMA.d.ts → client-contract-B7ZSFKTv.d.ts} +52 -4
- package/dist/types-chunks/{controller.d-C0SAuNKu.d.ts → controller.d-Btu5FDdw.d.ts} +1 -1
- package/dist/types-chunks/{controller.d-D-hPLKaA.d.ts → controller.d-D6rEz5LS.d.ts} +3 -3
- package/dist/types-chunks/{history-retrieval.d-BwEUR9cb.d.ts → history-retrieval.d-B_AriUJp.d.ts} +1 -1
- package/dist/types-chunks/{manifest.d-YE3-AIeO.d.ts → manifest.d-Yyce-hHj.d.ts} +1 -1
- package/dist/types-chunks/{public-api.d-BhDU643p.d.ts → public-api.d-BLv3lFmw.d.ts} +9 -4
- package/dist/types-chunks/{review-inbox.d-Bgt46S7L.d.ts → review-inbox.d-yREk25Vf.d.ts} +2 -0
- package/dist/types-chunks/{review-packet.d-ChOfJaNI.d.ts → review-packet.d-xwXxHmML.d.ts} +1 -1
- package/dist/types-chunks/{run-manager.d-ChzguipG.d.ts → run-manager.d-D4sa9JYz.d.ts} +26 -12
- package/dist/types-chunks/{runtime-client-info-P_mRDG7j.d.ts → runtime-client-info-oRMrkHmb.d.ts} +2 -2
- package/dist/types-chunks/{runtime-event-BW5Pla7a.d.ts → runtime-event-BOyaILWg.d.ts} +3 -1
- package/dist/types-chunks/{sdk-runtime-cDe7qmN3.d.ts → sdk-runtime-CYyXmQok.d.ts} +27 -13
- package/dist/types-chunks/{sdk-session-D3pcSbnA.d.ts → sdk-session-D6mS5qgO.d.ts} +6 -3
- package/dist/types-chunks/{skill-invocation-error.d-gsNNDnnt.d.ts → skill-invocation-error.d-Be3qg4JQ.d.ts} +3 -3
- package/dist/types-chunks/{trusted-repl-entry-Bbkd2HlO.d.ts → trusted-repl-entry-YWNc4m-Z.d.ts} +7 -7
- package/dist/types-chunks/{types.d-BlXTogOo.d.ts → types.d-BQ-hbni4.d.ts} +1 -1
- package/dist/types-chunks/{utils.d-CxHyBvO6.d.ts → utils.d-C0F3Uf2X.d.ts} +6 -6
- package/dist/windows-effect-job-programs.json +4 -0
- package/docs/ARTIFACT_SDK.md +3 -3
- package/docs/CLIENT_CONTRACT.md +4 -2
- package/docs/SDK_MIGRATION.md +9 -5
- package/docs/SPACE_SDK_SEAMS.md +12 -1
- package/package.json +4 -3
- package/public_docs/README.md +10 -3
- package/public_docs/sdk/embedder-guide.md +1 -1
- package/dist/chunks/agent-DS7M57WD.js +0 -2
- package/dist/chunks/agent-adapter-TLWGGK3V.js +0 -2
- package/dist/chunks/argument-completer-OGCXKTRQ.js +0 -2
- package/dist/chunks/chunk-GJXOTOZB.js +0 -465
- package/dist/chunks/chunk-KE2NBMAP.js +0 -20
- package/dist/chunks/chunk-OGTRDK4Q.js +0 -359
- package/dist/chunks/chunk-R2HTPDI7.js +0 -2
- package/dist/chunks/chunk-SDPZFH6M.js +0 -4
- package/dist/chunks/chunk-XDMNJW6J.js +0 -42
- package/dist/chunks/compaction-config-ECMOFP5H.js +0 -2
- package/dist/chunks/dist-5J53DGAO.js +0 -2
- package/dist/chunks/host-65E5NM5P.js +0 -2
- package/dist/chunks/readline-helpers-UZXWBRXQ.js +0 -2
- package/dist/chunks/run-manager-ZFACIZM2.js +0 -2
- package/dist/chunks/running-session-Q5Y6A2QV.js +0 -2
- package/dist/chunks/skills-TJP6BLZJ.js +0 -2
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
// @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
|
|
2
|
-
import{A as re,I as _e,J as Se,K as Re,N as Te,O as Ce,Q as K,R as Ae,d as be,e as Z,f as ee,l as we,s as xe,v as ke,x as te}from"./chunk-V5RCDBKU.js";import{a as he,b as g,c as Q,d as Ee,e as ye,f as ve}from"./chunk-KDLOPBFZ.js";import{a as s}from"./chunk-V4WSBIXB.js";var Oe=32768,gr=32e3,hr=64e3,Me="[Tool Error] No result was recorded for this tool call \u2014 its execution status is unknown (the turn may have been cancelled or the provider switched mid-run). Check whether the tool already produced side effects (files written, commits made) before re-issuing it.",Er=.5;var ut=new Set(["type","properties","required","additionalProperties","items","anyOf","enum","const","$ref","$defs","definitions","description","title","format","minimum","maximum","multipleOf","minLength","maxLength","pattern","minItems","maxItems"]);function D(t){if(!t||typeof t!="object"||Array.isArray(t))throw new Error("Tool constraints require an object schema.");return t}s(D,"record");function M(t,e=0){let r=D(t);if(e>32||Object.keys(r).some(i=>!ut.has(i)))throw new Error("Tool schema exceeds the supported strict subset.");if(r.additionalProperties!==void 0&&r.additionalProperties!==!1)throw new Error("Strict tools cannot retain additional properties.");let n=structuredClone(r);if(r.type==="object"||r.properties!==void 0){let i=D(r.properties??{}),o=r.required??[];if(!Array.isArray(o)||o.some(a=>typeof a!="string"||!Object.hasOwn(i,a)))throw new Error("Invalid strict schema required keys.");n.properties=Object.fromEntries(Object.entries(i).map(([a,d])=>{let u=M(d,e+1),c=!o.includes(a)&&u.type!=="null"&&!(Array.isArray(u.type)&&u.type.includes("null"));return[a,c?{anyOf:[u,{type:"null"}]}:u]})),n.required=Object.keys(i),n.additionalProperties=!1}if(r.items!==void 0&&(n.items=M(r.items,e+1)),r.anyOf!==void 0){if(!Array.isArray(r.anyOf))throw new Error("Invalid strict anyOf.");n.anyOf=r.anyOf.map(i=>M(i,e+1))}for(let i of["$defs","definitions"])r[i]!==void 0&&(n[i]=Object.fromEntries(Object.entries(D(r[i])).map(([o,a])=>[o,M(a,e+1)])));return n}s(M,"strictSchema");function br(t){if(t===void 0)return;let e=D(t);if(e.strict!==void 0&&typeof e.strict!="boolean"||e.grammar!==void 0&&(!Array.isArray(e.grammar)||e.grammar.some(r=>!["lark","regex"].includes(r))))throw new Error("Invalid declared tool capabilities.")}s(br,"validateToolCapabilities");function ne(t,e,r){if(t.grammar&&Ie(t,{...e,grammar:[]},r),t.strict===void 0)return{input_schema:t.input_schema,strict:!1};if(!["require","prefer"].includes(t.strict))throw new g("Invalid tool strict policy.",r,{failureCode:"request_build_failed",retryable:!1});try{if(!e.strict)throw new Error("This connection/model does not declare strict tools.");return{input_schema:M(t.input_schema),strict:!0}}catch(n){if(t.strict==="require")throw new g(n instanceof Error?n.message:"Strict tool constraints cannot be satisfied.",r,{failureCode:"request_build_failed",stage:"request_build",retryable:!1});return{input_schema:t.input_schema,strict:!1}}}s(ne,"toolParameters");function wr(t,e,r){return t.map(n=>{let i=ne(n,e,r);return{type:"function",function:{name:n.name,description:n.description,parameters:i.input_schema,...i.strict?{strict:!0}:{}}}})}s(wr,"openAIChatTools");function xr(t,e,r){return t.map(n=>{let i=ne(n,e,r);return{name:n.name,description:n.description,input_schema:i.input_schema,...i.strict?{strict:!0}:{}}})}s(xr,"anthropicTools");function De(t,e){return e?t.map(r=>({...r,...r.strict==="prefer"?{strict:void 0}:{},...r.grammar?.mode==="prefer"?{grammar:void 0}:{}})):t}s(De,"withoutPreferredToolConstraints");function Ie(t,e,r){if(t.grammar)try{let n=t.grammar;if(t.strict!==void 0||!["lark","regex"].includes(n.syntax)||typeof n.definition!="string"||!n.definition.trim()||n.mode!==void 0&&!["require","prefer"].includes(n.mode))throw new Error("Invalid or conflicting grammar tool constraints.");let i=Object.keys(t.input_schema.properties),o=i[0];if(i.length!==1||!o.trim()||o.length>256||D(t.input_schema.properties[o]).type!=="string"||t.input_schema.required?.length!==1||t.input_schema.required[0]!==o)throw new Error("Grammar tools require exactly one required string property.");if(!e.grammar?.includes(n.syntax))throw new Error("This connection/model does not declare the requested grammar.");return{property:o,format:{type:"grammar",syntax:n.syntax,definition:n.definition}}}catch(n){if(t.grammar.mode==="prefer"&&t.strict===void 0)return;throw new g(n instanceof Error?n.message:"Grammar constraints cannot be satisfied.",r,{failureCode:"request_build_failed",stage:"request_build",retryable:!1})}}s(Ie,"toolGrammar");function kr(t,e,r){let n=new Map,i=new Set;return{tools:t.map(a=>{let d=Ie(a,e,r);if(d&&(typeof a.name!="string"||!a.name.trim()||a.name.length>256)||i.has(a.name)&&(d||n.has(a.name)))throw new g("Custom tool names must be non-empty and unique.",r,{failureCode:"request_build_failed",stage:"request_build",retryable:!1});if(i.add(a.name),d)return n.set(a.name,d.property),{type:"custom",name:a.name,description:a.description,format:d.format};let u=ne(a,e,r);return{type:"function",name:a.name,description:a.description,parameters:u.input_schema,strict:u.strict}}),customProperties:n}}s(kr,"responseTools");function Pe(t,e){return(t===400||t===422)&&/strict|constrained|grammar|json.?schema/i.test(e)&&/unsupported|not.support|exceed|too many|limit|invalid schema/i.test(e)}s(Pe,"isToolConstraintRejection");import{AsyncLocalStorage as ft}from"node:async_hooks";var Le=new ft,ct=8,dt=32;function lt(t){if(t===void 0)return;let e=Number.parseInt(t,10);return Number.isInteger(e)&&e>0?e:void 0}s(lt,"parsePositiveInt");function Tr(){let t=H()?.workflow?.maxConcurrency,e=typeof t=="number"&&Number.isInteger(t)&&t>0?t:lt(process.env.KODAX_WORKFLOW_MAX_CONCURRENCY)??ct;return Math.max(1,Math.min(dt,e))}s(Tr,"resolveWorkflowMaxConcurrency");function Cr(t,e){return Le.run(t,e)}s(Cr,"runWithScopedConfig");function H(){return Le.getStore()}s(H,"getRunScopedConfig");function Fe(t){if(t!==void 0)return t;let e=H()?.disablePromptCache;return e!==void 0?e:process.env.KODAX_DISABLE_PROMPT_CACHE==="1"}s(Fe,"resolvePromptCacheDisabled");import{createHash as pt}from"node:crypto";function Ne(t){let e=t.cloud,r=e?.service==="vertex"?[e.service,e.project,e.location]:e?.service==="bedrock"?[e.service,e.region]:e?[e.service]:void 0,n=t.baseUrl?new URL(t.baseUrl).href.replace(/\/$/,""):void 0,i=t.authentication??(t.api==="anthropic-messages"?"api-key":t.api==="google-generate-content"?"google-native":t.cloud?.service==="azure"?"azure-native":t.api==="bedrock-converse"?"bedrock-native":"bearer");return pt("sha256").update(JSON.stringify([t.provider,t.api,n,i,t.oauth,r])).digest("hex")}s(Ne,"credentialConnectionFingerprint");var je=new Set(["1308","insufficient_quota","billing_hard_limit_reached","credit_balance_too_low","usage_limit_reached","subscription_sharing_usage_limit_exceeded","subscription_sharing_workplace_individual_usage_limit_exceeded","gousagelimiterror","freeusagelimiterror"]);function I(t,e=0){if(t===null||typeof t!="object"||e>4)return!1;let r=t;if([r.code,r.type,r.upstreamCode].some(n=>(typeof n=="string"||typeof n=="number")&&je.has(String(n).toLowerCase())))return!0;if(typeof r.message=="string"){let n=r.message;if(n.toLowerCase().split(/\W+/).some(i=>i!=="1308"&&je.has(i))||/(?:\[1308\]|["']?code["']?\s*:\s*["']?1308\b)/i.test(n)||/\b(?:monthly|weekly|daily|subscription) usage limit (?:reached|exceeded)\b/i.test(n)||/\b(?:insufficient (?:balance|credits)|credit balance (?:is )?too low|out of budget)\b/i.test(n)||/余额不足|已达到.{0,20}(?:小时|天|月)使用上限/.test(n))return!0}return I(r.error,e+1)||I(r.cause,e+1)||I(r.metadata,e+1)}s(I,"isProviderQuotaError");function X(t,e){if(!t)return;if(typeof t.get=="function")return t.get(e)??void 0;let r=t,n=e.toLowerCase(),i=r[e]??r[n]??r[n.replace(/\b\w/g,o=>o.toUpperCase())];if(i!==void 0)return Array.isArray(i)?i[0]:i}s(X,"readHeader");function Ue(t){if(!t)return;let e=t.trim();if(e.length===0)return;let r=Number(e);if(!(!Number.isFinite(r)||r<=0))return r}s(Ue,"parsePositiveNumber");function mt(t,e){if(!t)return;let r=t.trim();if(r.length===0)return;let n=Date.parse(r);if(!Number.isFinite(n))return;let i=n-e;return i>0?i:void 0}s(mt,"parseHttpDate");function P(t,e){let r=e.baseBackoffMs??1e3,n=e.maxBackoffMs??3e4,i=e.maxHeaderWaitMs??12e4,o=e.now?e.now():Date.now(),a=Ue(X(t,"retry-after-ms"));if(a!==void 0){let v=Math.min(a,i);return{type:"header",waitMs:Math.round(v),source:"retry-after-ms",cappedFromHeader:v!==a}}let d=X(t,"retry-after");if(d!==void 0&&d.trim().length>0){let v=Ue(d);if(v!==void 0){let b=v*1e3,E=Math.min(b,i);return{type:"header",waitMs:Math.round(E),source:"retry-after-seconds",cappedFromHeader:E!==b}}let h=mt(d,o);if(h!==void 0){let b=Math.min(h,i);return{type:"header",waitMs:Math.round(b),source:"retry-after-date",cappedFromHeader:b!==h}}}let u=r*Math.pow(2,Math.max(0,e.attempt)),c=Math.min(u,n),f=e.withJitter!==!1?Math.random()*.25*c:0;return{type:"backoff",waitMs:Math.round(c+f),source:"exponential-backoff",attempt:e.attempt}}s(P,"parseRetryAfter");function L(t){if(!t||typeof t!="object")return;let e=t;return e.headers??e.response?.headers??e.cause?.headers??e.cause?.response?.headers}s(L,"extractHeadersFromError");var ie={transport:"native-api",conversationSemantics:"full-history",mcpSupport:"none",contextFidelity:"full",toolCallingFidelity:"full",sessionSupport:"full",longRunningSupport:"full",multimodalSupport:"none",evidenceSupport:"full"},jr={...ie,multimodalSupport:"image-input"},gt={transport:"cli-bridge",conversationSemantics:"last-user-message",mcpSupport:"none",contextFidelity:"lossy",toolCallingFidelity:"limited",sessionSupport:"stateless",longRunningSupport:"limited",multimodalSupport:"none",evidenceSupport:"limited"},Ur={...gt,multimodalSupport:"image-input"};function ht(t){return{transport:t.transport,conversationSemantics:t.conversationSemantics,mcpSupport:t.mcpSupport,contextFidelity:t.contextFidelity??"full",toolCallingFidelity:t.toolCallingFidelity??"full",sessionSupport:t.sessionSupport??"full",longRunningSupport:t.longRunningSupport??"full",multimodalSupport:t.multimodalSupport??"none",evidenceSupport:t.evidenceSupport??"full"}}s(ht,"normalizeCapabilityProfile");function $e(t){return{...ht(t)}}s($e,"cloneCapabilityProfile");var oe=["max","xhigh","high","medium","low","minimal"];function Be(t,e="auto"){if(t.effortStrategy==="none"||t.effortStrategy==="prompt-only")return[void 0];let r=s(c=>t.effortAliases?.[c]??c,"alias"),n=t.supportedEfforts?.map(c=>r(c.value)),i=oe.filter(c=>!t.disabledEfforts?.includes(c)&&(!n||n.includes(c))),o=e==="auto"?t.defaultEffort??t.supportedEfforts?.find(c=>c.isDefault)?.value??"max":e,a=r(o),u=o==="none"||t.disabledEfforts?.includes(o)?[...t.supportsDisabledThinking===!1?[]:["none"],...i.slice().reverse()]:[a,...i.filter(c=>oe.indexOf(c)>oe.indexOf(a))];return[...new Set(u.filter(c=>!t.localRejectEfforts?.includes(c)&&(c==="none"||!n||n.includes(c)||t.allowCustomEffort))),void 0]}s(Be,"buildReasoningEffortLadder");function qe(t){return t?.effortStrategy==="openai-chat-effort"||t?.effortStrategy==="openai-responses-effort"}s(qe,"usesReasoningEffortLadder");var Xr=["off","auto","quick","balanced","deep"],U=["auto","none","low","medium","high"],Et={low:6e3,medium:1e4,high:2e4},yt=4096,se=[{value:"none",description:"Disable thinking"},{value:"minimal",description:"Disable thinking",isUserVisible:!1},{value:"low",description:"Enable thinking"},{value:"medium",description:"Enable thinking",isDefault:!0},{value:"high",description:"Enable thinking"},{value:"xhigh",description:"Enable thinking"},{value:"max",description:"Enable thinking"}],ae=[{value:"none",description:"Disable thinking"},{value:"minimal",description:"Disable thinking",isUserVisible:!1},{value:"low",description:"Alias to high"},{value:"medium",description:"Alias to high"},{value:"high",description:"High reasoning",isDefault:!0},{value:"xhigh",description:"Alias to max"},{value:"max",description:"Maximum reasoning"}],vt=[{value:"none",description:"Disable thinking"},{value:"minimal",description:"Disable thinking",isUserVisible:!1},{value:"low",description:"Low reasoning"},{value:"medium",description:"Alias to high"},{value:"high",description:"High reasoning",isDefault:!0},{value:"xhigh",description:"Alias to high"},{value:"max",description:"Maximum reasoning"}],bt=[{value:"low",description:"Thinking is always on"},{value:"medium",description:"Thinking is always on"},{value:"high",description:"Thinking is always on",isDefault:!0},{value:"xhigh",description:"Thinking is always on"},{value:"max",description:"Thinking is always on"}];function Wr(t,e={}){return{...wt(t),...e,reasoningPreset:t}}s(Wr,"createReasoningProfileFromPreset");function wt(t){switch(t){case"zai-glm-5.3":return{reasoningPreset:t,effortStrategy:"openai-chat-effort",thinkingStrategy:"provider-toggle",defaultEffort:"max",supportedEfforts:[{value:"none",description:"Maps to low reasoning"},{value:"minimal",description:"Alias to low",isUserVisible:!1},{value:"low",description:"Low reasoning"},{value:"medium",description:"Alias to high"},{value:"high",description:"High reasoning"},{value:"xhigh",description:"Alias to max"},{value:"max",description:"Maximum reasoning",isDefault:!0}],effortAliases:{none:"low",minimal:"low",minimum:"low",light:"low",medium:"high",xhigh:"max",ultra:"max"},disabledEfforts:["none"],supportsReasoningEffort:!0,supportsDisabledThinking:!1};case"zai-glm-5.2":return{reasoningPreset:t,effortStrategy:"openai-chat-effort",thinkingStrategy:"provider-toggle",defaultEffort:"max",supportedEfforts:ae,effortAliases:{low:"high",medium:"high",xhigh:"max"},disabledEfforts:["none","minimal"],supportsReasoningEffort:!0,supportsDisabledThinking:!0};case"deepseek-v4-flash-openai":return{reasoningPreset:t,effortStrategy:"openai-chat-effort",thinkingStrategy:"provider-toggle",defaultEffort:"high",supportedEfforts:vt,effortAliases:{medium:"high",xhigh:"high"},disabledEfforts:["none","minimal"],supportsReasoningEffort:!0,supportsDisabledThinking:!0};case"deepseek-v4-openai":case"deepseek-v4-pro-openai":return{reasoningPreset:t,effortStrategy:"openai-chat-effort",thinkingStrategy:"provider-toggle",defaultEffort:"high",supportedEfforts:ae,effortAliases:{low:"high",medium:"high",xhigh:"max"},disabledEfforts:["none","minimal"],supportsReasoningEffort:!0,supportsDisabledThinking:!0};case"deepseek-v4-anthropic":return{reasoningPreset:t,effortStrategy:"anthropic-output-effort",thinkingStrategy:"provider-toggle",defaultEffort:"high",supportedEfforts:ae,effortAliases:{low:"high",medium:"high",xhigh:"max"},disabledEfforts:["none","minimal"],supportsReasoningEffort:!0,supportsDisabledThinking:!0};case"zai-glm-toggle":case"deepseek-toggle":case"kimi-hybrid-toggle":case"mimo-v2.5-toggle":case"generic-thinking-toggle":return{reasoningPreset:t,effortStrategy:"provider-toggle",thinkingStrategy:"provider-toggle",supportedEfforts:se,disabledEfforts:["none","minimal"],supportsDisabledThinking:!0};case"kimi-k3.1":return{reasoningPreset:t,effortStrategy:"provider-toggle",defaultEffort:"max",supportedEfforts:[{value:"low",description:"Low thinking effort"},{value:"high",description:"High thinking effort"},{value:"max",description:"Maximum thinking effort",isDefault:!0}],effortAliases:{minimal:"low",minimum:"low",light:"low",medium:"high",xhigh:"max",ultra:"max"},localRejectEfforts:["none"],supportsReasoningEffort:!0,supportsDisabledThinking:!1};case"kimi-k3":return{reasoningPreset:t,effortStrategy:"provider-toggle",thinkingStrategy:"provider-toggle",defaultEffort:"high",supportedEfforts:[{value:"none",description:"Disable thinking"},{value:"low",description:"Low thinking effort"},{value:"high",description:"High thinking effort",isDefault:!0},{value:"max",description:"Maximum thinking effort"}],effortAliases:{minimal:"low",minimum:"low",light:"low",medium:"high",xhigh:"max",ultra:"max"},disabledEfforts:["none"],supportsReasoningEffort:!0,supportsDisabledThinking:!0};case"kimi-k2.7-code":case"minimax-m2-always":return{reasoningPreset:t,effortStrategy:"prompt-only",defaultEffort:"high",supportedEfforts:bt,localRejectEfforts:["none","minimal"]};case"minimax-m3":return{reasoningPreset:t,effortStrategy:"provider-toggle",thinkingStrategy:"anthropic-adaptive",supportedEfforts:se,disabledEfforts:["none","minimal"],supportsAdaptiveThinking:!0,supportsDisabledThinking:!0};case"qwen-hybrid-thinking":return{reasoningPreset:t,effortStrategy:"provider-budget",thinkingStrategy:"provider-budget",defaultEffort:"medium",supportedEfforts:se,budgetByEffort:{low:6e3,medium:1e4,high:16e3,xhigh:24e3,max:32e3},disabledEfforts:["none","minimal"],supportsManualThinkingBudget:!0,supportsDisabledThinking:!0};case"claude-adaptive-xhigh":return{reasoningPreset:t,effortStrategy:"anthropic-output-effort",thinkingStrategy:"anthropic-adaptive",defaultEffort:"high",supportedEfforts:[{value:"low"},{value:"medium"},{value:"high",isDefault:!0},{value:"xhigh"},{value:"max"}],supportsReasoningEffort:!0,supportsAdaptiveThinking:!0};case"claude-adaptive-max":return{reasoningPreset:t,effortStrategy:"anthropic-output-effort",thinkingStrategy:"anthropic-adaptive",defaultEffort:"high",supportedEfforts:[{value:"low"},{value:"medium"},{value:"high",isDefault:!0},{value:"max"}],supportsReasoningEffort:!0,supportsAdaptiveThinking:!0};case"anthropic-budget":return{reasoningPreset:t,effortStrategy:"provider-budget",thinkingStrategy:"anthropic-budget",defaultEffort:"medium",supportedEfforts:[{value:"none"},{value:"low"},{value:"medium",isDefault:!0},{value:"high"}],budgetByEffort:{low:6e3,medium:1e4,high:16e3},disabledEfforts:["none"],supportsManualThinkingBudget:!0,supportsDisabledThinking:!0};case"openai-chat-reasoning":case"openai-responses-reasoning":return{reasoningPreset:t,effortStrategy:t==="openai-chat-reasoning"?"openai-chat-effort":"openai-responses-effort",defaultEffort:"medium",supportedEfforts:[{value:"none"},{value:"minimal"},{value:"low"},{value:"medium",isDefault:!0},{value:"high"},{value:"xhigh"}],disabledEfforts:["none"],supportsReasoningEffort:!0,supportsReasoningSummary:!0,supportsEncryptedReasoningReplay:!0};case"codex-cli-effort":return{reasoningPreset:t,effortStrategy:"codex-cli-config",defaultEffort:"medium",supportedEfforts:[{value:"none"},{value:"minimal"},{value:"low"},{value:"medium",isDefault:!0},{value:"high"},{value:"xhigh"}],allowCustomEffort:!0,supportsReasoningEffort:!0};case"none":return{reasoningPreset:t,effortStrategy:"none",thinkingStrategy:"none"}}}s(wt,"createBaseReasoningProfileFromPreset");function Ke(t){return t.reasoningCapability?t.reasoningCapability:t.supportsThinking?"native-toggle":"prompt-only"}s(Ke,"getReasoningCapability");function zr(t){return fe(t).enabled}s(zr,"isReasoningEnabled");function fe(t){if(typeof t=="boolean")return{enabled:t,effort:t?"auto":"none",effortSource:"legacy",taskType:"unknown",executionMode:"implementation"};let e=t?.effort?W(t.effort):void 0,r=e??(t?.enabled===!0?"auto":"none");return{enabled:r!=="none",effort:r,effortSource:e!==void 0?"explicit":t===void 0?"omitted":"legacy",taskType:t?.taskType??"unknown",executionMode:t?.executionMode??"implementation"}}s(fe,"normalizeReasoningRequest");function W(t){let e=t.trim().toLowerCase();if(!e)throw new Error("Reasoning effort cannot be empty.");if(/\s/.test(e))throw new Error(`Reasoning effort cannot contain whitespace: "${t}".`);return e==="off"?"none":e}s(W,"normalizeReasoningEffortValue");function xt(t){switch(t){case"off":return"none";case"auto":return"auto";case"quick":return"low";case"balanced":return"medium";case"deep":return"high";default:return t}}s(xt,"mapLegacyReasoningModeToEffortIntent");function Vr(t){switch(t){case"none":return"off";case"auto":return"auto";case"low":return"quick";case"medium":return"balanced";case"high":return"deep";default:return}}s(Vr,"effortToLegacyReasoningMode");function kt(t){let e=t?.trim();if(!e)return{kind:"unset"};let r=W(e);return r==="auto"||r==="unset"?{kind:"clear"}:{kind:"value",value:r}}s(kt,"parseReasoningEffortEnv");function He(t){let e=kt(t.envEffort),r=[];if(F(r,t.explicitEffort,"explicit",!0),e.kind==="value"&&r.push({value:e.value,source:"env",isExplicit:!0}),F(r,t.sessionEffort,"session",!1),t.legacyReasoningMode?r.push({value:xt(t.legacyReasoningMode),source:"legacy",isExplicit:!1}):t.thinking!==void 0&&r.push({value:t.thinking?"auto":"none",source:"legacy",isExplicit:!1}),qe(t.capability)){let o=r[0]??{value:"auto",source:"fallback",isExplicit:!1},a={...t.capability,defaultEffort:t.modelDefaultEffort??t.capability.defaultEffort??A(t.capability)??t.providerDefaultEffort??t.fallbackEffort},d=Be(a,o.value)[0];return{configuredEffort:o.value,effectiveEffort:d,source:o.source,isExplicit:o.isExplicit,diagnostics:[]}}F(r,t.modelDefaultEffort??t.capability?.defaultEffort??A(t.capability),"model-default",!1),F(r,t.providerDefaultEffort,"provider-default",!1),F(r,t.fallbackEffort??j(t.capability),"fallback",!1);let n=r[0]??{value:"none",source:"fallback",isExplicit:!1};if(n.value==="auto")return{configuredEffort:"auto",effectiveEffort:_t(r.slice(1),t.capability),source:n.source,isExplicit:n.isExplicit,diagnostics:[]};let i=Xe(n.value,t.capability,n.isExplicit);return{configuredEffort:n.value,effectiveEffort:i,source:n.source,isExplicit:n.isExplicit,diagnostics:[]}}s(He,"resolveReasoningEffort");function Gr(t){let e=t.currentEffort?W(t.currentEffort):void 0;if(e&&We(e,t.capability))return{effectiveEffort:N(e,t.capability),preserved:!0};let r=t.capability?.defaultEffort??A(t.capability)??ue(t.capability)??j(t.capability),n=r&&N(r,t.capability);return e?{effectiveEffort:n,preserved:!1,diagnostic:n?`Effort ${e} is not supported by the selected model; using ${n}.`:`Effort ${e} is not supported by the selected model; clearing effort.`}:{effectiveEffort:n,preserved:!1}}s(Gr,"resolveReasoningEffortForModelSwitch");function F(t,e,r,n){if(e===void 0)return;let i=W(e);t.push({value:i,source:r,isExplicit:n})}s(F,"pushEffortCandidate");function _t(t,e){let r=t.find(n=>n.value!=="auto");return r?Xe(r.value,e,r.isExplicit):A(e)??j(e)}s(_t,"resolveAutoEffectiveEffort");function Xe(t,e,r){if(e?.localRejectEfforts?.includes(t)){if(r)throw new Error(`Unsupported reasoning effort "${t}" for the selected model.`);return A(e)??ue(e)??j(e)??t}if(t==="none")return e?.supportsDisabledThinking===!1?N(t,e):t;if(We(t,e))return N(t,e);if(r)throw new Error(`Unsupported reasoning effort "${t}" for the selected model.`);return A(e)??ue(e)??j(e)??t}s(Xe,"validateReasoningEffort");function N(t,e){return e?.effortAliases?.[t]??t}s(N,"applyEffortAlias");function We(t,e){if(e?.localRejectEfforts?.includes(t))return!1;if(t==="auto"||t==="none"||e?.allowCustomEffort===!0)return!0;let r=St(e);return r.length===0?U.includes(t):r.includes(t)||r.includes(N(t,e))}s(We,"isSupportedReasoningEffort");function St(t){return t?.supportedEfforts?.map(e=>e.value)??[]}s(St,"getSupportedEffortValues");function A(t){return t?.supportedEfforts?.find(e=>e.isDefault)?.value}s(A,"getDefaultPresetValue");function ue(t){let e=t?.supportedEfforts?.filter(Rt).map(r=>r.value);if(!(!e||e.length===0))return e[Math.floor((e.length-1)/2)]}s(ue,"getMiddleVisiblePresetValue");function Rt(t){return t.isUserVisible!==!1}s(Rt,"isUserVisiblePreset");function j(t){if(!t||t.effortStrategy==="none"||t.effortStrategy==="prompt-only")return"none";if(!(t.effortStrategy==="anthropic-output-effort"&&t.thinkingStrategy==="anthropic-adaptive"))return"medium"}s(j,"getFallbackEffortForCapability");function Yr(t){switch(t){case"quick":return"low";case"balanced":case"auto":return"medium";case"deep":return"high";default:return"off"}}s(Yr,"getDefaultThinkingDepthForMode");function Jr(t){switch(t){case"none":return"off";case"low":return"low";case void 0:case"medium":case"auto":return"medium";default:return"high"}}s(Jr,"effortToThinkingDepth");function Qr(t,e,r="unknown"){if(e==="off")return 0;let n={...Et,...t.defaultThinkingBudgets??{}},o=t.taskBudgetOverrides?.[r]?.[e]??n[e];return t.thinkingBudgetCap?Math.min(o,t.thinkingBudgetCap):o}s(Qr,"resolveThinkingBudget");function Zr(t,e,r=yt){let n=Math.max(1024,e-r);return Math.max(1024,Math.min(t,n))}s(Zr,"clampThinkingBudget");function en(t){switch(t){case"low":return"low";case"medium":return"medium";case"high":return"high";default:return}}s(en,"mapDepthToOpenAIReasoningEffort");import{createHash as Pt}from"node:crypto";import{AsyncLocalStorage as Lt}from"node:async_hooks";function R(t){let e=Number(t?.replace(/,/g,""));return Number.isSafeInteger(e)&&e>0?e:void 0}s(R,"tokens");function ce(t){let e=/maximum context length is\s*(\d[\d,]*)\s*tokens/i.exec(t),r=/your prompt contains\s+(at least\s+)?(\d[\d,]*)\s+input tokens/i.exec(t);if(e&&r)return{contextWindow:R(e[1]),inputTokens:R(r[2]),inputTokensKind:r[1]?"lower_bound":"exact"};if(/upper bound|at least/i.test(t))return{contextWindow:R(e?.[1]),inputTokensKind:"unknown"};let n=/Input length\s*\((\d[\d,]*)\).*?maximum context length\s*\((\d[\d,]*)\)/i.exec(t)??/prompt (?:is )?too long:\s*(\d[\d,]*)\s*tokens?\s*>\s*(\d[\d,]*)/i.exec(t)??/exceeds?\s+(\d[\d,]*)\s*tokens?\s*上限\s*(\d[\d,]*)/i.exec(t);if(n)return{inputTokens:R(n[1]),contextWindow:R(n[2]),inputTokensKind:"exact"};let i=/\((\d[\d,]*)\s+in (?:your|the) (?:prompt|messages)/i.exec(t);return{contextWindow:R(e?.[1]),inputTokens:R(i?.[1]),inputTokensKind:i?"exact":"unknown"}}s(ce,"parseContextOverflowFacts");var Tt=new Set(["ECONNRESET","EPIPE","ECONNREFUSED","ENOTFOUND","EAI_AGAIN","ETIMEDOUT","UND_ERR_SOCKET","UND_ERR_CONNECT_TIMEOUT"]),ze=new WeakSet;function Ve(t){if(!t||typeof t!="object")return;let e=t,r=new Set;for(;t&&typeof t=="object"&&!r.has(t);){r.add(t);let n=t;if(typeof n.code=="string"&&Tt.has(n.code)){ze.add(e);return}t=n.cause}}s(Ve,"markProviderConnectionFailure");function Ge(t){return!!t&&typeof t=="object"&&ze.has(t)}s(Ge,"isProviderConnectionFailure");function Ye(t){if(!t||typeof t!="object")return;let e=t,r=e.status??e.statusCode??e.code;return typeof r=="number"&&Number.isInteger(r)?r:typeof r=="string"&&/^\d{3}$/.test(r)?Number(r):Ye(e.cause)}s(Ye,"getStatus");function Ct(t){if(t instanceof Error)return t.message.toLowerCase();if(typeof t=="string")return t.toLowerCase();if(t&&typeof t=="object"){let e=t;return[e.message,e.error,e.detail,e.body].filter(n=>typeof n=="string").join(" ").toLowerCase()}return""}s(Ct,"getMessage");var At=["reasoning_effort","reasoning effort","reasoninglevel","reasoning_level","reasoning.effort","output_config.effort","thinking.effort","thinking.type"],Ot=["unsupported","not supported","invalid","does not support","is not one of","not allowed","unknown","unexpected","unrecognized"],Mt=["minimal","none","low","medium","high","xhigh","max"];function Dt(t){let e=`(?:${At.map(d=>d.replaceAll(".","\\.")).join("|")})`,r=`(?:${Ot.join("|")})`,n="['\"`][^'\"`\\n]{0,80}['\"`]",i="[\\s'\"`:]",o=`(?:${i}|\\b(?:value|parameter|field|for|of|the)\\b|${n})*`,a=`(?:${i}|\\b(?:value|parameter|is)\\b|${n})*`;return new RegExp(`${r}${o}${e}\\b|${e}${a}${r}`).test(t)}s(Dt,"namesRejectedEffort");function It(t,e){if(e!==void 0)return e;for(let r of Mt)if(new RegExp(`['"\`]${r}['"\`]`).test(t))return r;return e}s(It,"extractRejectedEffort");function O(t,e){let r=Ye(t);if(r!==400&&r!==422)return null;let n=Ct(t);if(!n)return null;let i=/(?:unknown|unrecognized|unexpected|unsupported|not supported)\s+(?:parameter|field|argument)s?\s*:?\s*['"`]*(output_config\.effort\b|reasoning_effort|reasoning\b|thinking\b|enable_thinking|thinking_budget|budget_tokens)/.exec(n)?.[1]??/\b(enable_thinking|thinking_budget|budget_tokens)\b['"`]*\s+(?:is\s+)?(?:unsupported|not supported)/.exec(n)?.[1]??/does not support\s+(?:the\s+)?['"`]*(reasoning_effort|reasoning|thinking)['"`]*\s+(?:parameter|field)/.exec(n)?.[1];if(i)return{rejectedEffort:e??"*",parameterRejected:!0,parameter:i};if(!Dt(n))return null;let o=It(n,e);return o?{rejectedEffort:o}:null}s(O,"classifyReasoningEffortRejection");function Ft(t){if(!t)return;let e=parseInt(t,10);return Number.isFinite(e)&&e>0?e:void 0}s(Ft,"parseEnvInt");function Nt(t){switch(t.reasoningPreset){case"zai-glm-5.3":case"zai-glm-5.2":case"deepseek-v4-flash-openai":case"deepseek-v4-pro-openai":case"deepseek-v4-openai":case"deepseek-v4-anthropic":case"qwen-hybrid-thinking":return!0;default:break}return t.effortStrategy==="provider-budget"}s(Nt,"shouldLowerAutoReasoningEffort");function jt(t){let e=new Set;for(;t&&typeof t=="object"&&!e.has(t)&&e.size<16;){if(t instanceof g&&t.metadata?.retryable===!1)return t;e.add(t),t="cause"in t?t.cause:void 0}}s(jt,"nonRetryableCause");function z(){return new DOMException("Request aborted","AbortError")}s(z,"abortError");async function Je(t,e){let[r,n]=await Promise.allSettled([import("@anthropic-ai/sdk"),import("openai")]);return r.status==="fulfilled"&&t instanceof r.value[e]||n.status==="fulfilled"&&t instanceof n.value[e]}s(Je,"isProviderSdkError");function de(t,e){return t<=0?Promise.resolve():e?.aborted?Promise.reject(z()):new Promise((r,n)=>{let i,o=s(()=>{e&&e.removeEventListener("abort",a)},"cleanup"),a=s(()=>{i&&clearTimeout(i),o(),n(z())},"onAbort");e&&e.addEventListener("abort",a,{once:!0}),i=setTimeout(()=>{o(),r()},t)})}s(de,"waitForRetryDelay");function le(t){let e=typeof t=="number"&&Number.isInteger(t)?t:typeof t=="string"&&/^\d{3}$/.test(t)?Number(t):void 0;return e!==void 0&&e>=100&&e<=599?e:void 0}s(le,"normalizeHttpStatus");function $(t,e=0){if(!t||typeof t!="object"||e>4)return;let r=t;return le(r.status)??le(r.statusCode)??le(r.code)??$(r.cause,e+1)}s($,"extractHttpStatus");function pe(t,e=0){return!(t instanceof Error)||e>4?!1:t.name==="TimeoutError"||pe(t.cause,e+1)}s(pe,"hasTypedTimeout");function V(t,e=0){if(!t||typeof t!="object"||e>4)return"";let r=t;return typeof r.code=="string"?r.code:typeof r.code=="number"&&Number.isSafeInteger(r.code)?String(r.code):V(r.cause,e+1)||V(r.error,e+1)}s(V,"extractErrorCode");function Qe(t,e,r=0){if(!t||typeof t!="object"||r>4)return;let n=t;for(let i of e){let o=n[i];if(typeof o=="string"&&/^[\w.:-]{1,200}$/.test(o))return o}return Qe(n.cause,e,r+1)}s(Qe,"extractDiagnosticString");function Ut(t){let e=Qe(t,["requestId","request_id"]);if(e!==void 0)return e;let r=L(t),n=["x-request-id","request-id","anthropic-request-id","cf-ray"];for(let i of n){let o=r instanceof Headers?r.get(i)??void 0:r?.[i]??r?.[i.replace(/\b\w/g,d=>d.toUpperCase())],a=Array.isArray(o)?o[0]:o;if(typeof a=="string"&&/^[\w.:-]{1,200}$/.test(a))return a}}s(Ut,"extractRequestId");function S(t){if(t instanceof Error)return t.message.toLowerCase();if(t&&typeof t=="object"){let e=t.message;if(typeof e=="string")return e.toLowerCase()}return String(t).toLowerCase()}s(S,"getErrorMessage");var G=class{static{s(this,"KodaXBaseProvider")}scopedReasoningRejections=new Map;usesScopedReasoningLearning(){return!1}getReasoningApi(){return"provider-operation"}getCredentialCloudConnection(){}getCredentialConnectionFingerprint(){return Ne({provider:this.name,api:this.getReasoningApi(),baseUrl:this.getBaseUrl(),authentication:this.config.authentication,oauth:this.config.oauth,cloud:this.getCredentialCloudConnection()})}getReasoningLearningScope(e){let r=this.getRequestCredentialFingerprint();if(r)return Pt("sha256").update(JSON.stringify([this.name,this.getReasoningApi(),this.getBaseUrl(),this.getWireModelId(e),this.getReasoningProfile(e),this.config.authentication,this.config.oauth,r])).digest("hex")}getRequestCredentialFingerprint(){let e=Re(this.name);if(e)return re(["trusted-registration",e],ee());let n=K(this.name,this.config.credentialSource==="broker"?void 0:Z(this.config.apiKeyEnv))??Te(this.name);if(n)return re(n,ee())}knownReasoningRejections(e,r){let n=this.getReasoningLearningScope(e);return n?[...this.scopedReasoningRejections.get(n)??[],...r?.resolveRejectedReasoningEfforts?.(n)??r?.rejectedReasoningEfforts??[]]:r?.rejectedReasoningEfforts??[]}rememberReasoningRejection(e,r,n){let i=this.getReasoningLearningScope(e);if(i){let o=this.scopedReasoningRejections.get(i)??new Set;o.add(r),this.scopedReasoningRejections.set(i,o)}n?.onReasoningEffortRejected?.({provider:this.name,model:e,effort:r,...i?{cacheScope:i}:{}})}async withRequestContext(e,r,n){if(e?.transport!==void 0&&(!["sse","auto","websocket","websocket-cached"].includes(e.transport)||e.transport!=="sse"&&this.getReasoningApi()!=="openai-responses"))throw new g("Selected transport requires Responses.",this.name,{retryable:!1});let i=[r,e?.signal,e?.transport&&e.transport!=="sse"?e.webSocketLifetime:void 0].filter(a=>a!==void 0),o=i.length>1?AbortSignal.any(i):i[0];return be(this.name,this.getWireModelId(e?.modelOverride),e,()=>Se(this,o,n),this.getCacheCapabilities(e?.modelOverride),Fe())}requestObservationBoundary="provider_operation";useLegacyReasoningFallback=!0;activeLegacyRequestOverride=new Lt;pendingLegacyMaxOutputTokensOverride;setMaxOutputTokensOverride(e){this.pendingLegacyMaxOutputTokensOverride=e}getEffectiveMaxOutputTokens(e,r){let n=this.getModelDescriptor(e),i=this.activeLegacyRequestOverride.getStore()?.maxOutputTokensOverride??this.pendingLegacyMaxOutputTokensOverride,o=[r,i,H()?.maxOutputTokens,Ft(process.env.KODAX_MAX_OUTPUT_TOKENS)].find(d=>typeof d=="number"&&Number.isFinite(d)&&d>0)??n?.maxOutputTokens??this.config.maxOutputTokens??32768,a=n?.outputTokenLimit??this.config.outputTokenLimit;return a!==void 0&&Number.isSafeInteger(a)&&a>0?Math.min(o,a):o}getStreamMaxDurationMs(e){let r=this.getModelDescriptor(e)?.streamMaxDurationMs;return r!==void 0?r:this.config.streamMaxDurationMs}getEffectiveReplayReasoningContent(e){let r=this.getModelDescriptor(e)?.replayReasoningContent;return r!==void 0?r:this.config.replayReasoningContent??!1}getEffectiveStrictThinkingSignature(e){let r=this.getModelDescriptor(e)?.strictThinkingSignature;return r!==void 0?r:this.config.strictThinkingSignature??!1}getProviderSupportsThinking(){return this.config.supportsThinking}getEffectiveThinkingBudgetCap(e){return this.getModelDescriptor(e)?.thinkingBudgetCap??this.config.thinkingBudgetCap}supportsEphemeralSuffix(){return!1}usesPromptCacheAffinity(){return this.config.promptCacheAffinity===!0}supportsNonStreamingFallback(){return!1}async complete(e,r,n,i,o,a){throw new g(`${this.name} does not support non-streaming fallback`,this.name,{failureCode:"protocol_mismatch",stage:"response_stream"})}isConfigured(){let e=Ce(this.name);return e!==void 0?e:this.config.credentialSource==="broker"?!1:K(this.name,process.env[this.config.apiKeyEnv])!==void 0}async verifyCredential(e){return{ok:!1,error:"unsupported",strategy:this.config.verifyStrategy??"unsupported",durationMs:0,approxTokensSpent:0,message:`Provider class "${this.name}" does not implement verifyCredential()`}}getModel(){return this.config.model}getAvailableModels(){return this.config.models?.length?[...new Set([this.config.model,...this.config.models.map(e=>e.id)])]:[this.config.model]}getModelDescriptor(e){let r=e??this.config.model,n=this.config.models?.find(i=>i.id===r);if(n){let i=n.wireModel?this.config.models?.find(o=>o.id===n.wireModel):void 0;return i?{...i,...n}:n}if(r===this.config.model)return{id:this.config.model}}getWireModelId(e){let r=e??this.config.model;return this.getModelDescriptor(r)?.wireModel??r}getWireModel(e){return this.getWireModelId(e)}getBaseUrl(){return this.config.baseUrl}getToolCapabilities(e){return structuredClone(this.getModelDescriptor(e)?.toolCapabilities??this.config.toolCapabilities??{})}getCacheCapabilities(e){let r=this.getModelDescriptor(e)?.cacheCapabilities??this.config.cacheCapabilities;return r?structuredClone(r):void 0}getApiKeyEnv(){return this.config.apiKeyEnv}getCapabilityProfile(e){let r=$e(this.config.capabilityProfile??ie),n=this.getModelDescriptor(e)?.multimodalSupport;return n===void 0?r:{...r,multimodalSupport:n}}getConfiguredReasoningCapability(e){let r=this.getModelDescriptor(e);return r?.reasoningCapability?r.reasoningCapability:Ke(this.config)}getReasoningCapability(e){return this.getConfiguredReasoningCapability(e)}getReasoningProfile(e){return this.getModelDescriptor(e)?.reasoningProfile??this.config.reasoningProfile}shouldFallbackForReasoningError(e,...r){if(O(e,void 0))return!1;let n=e instanceof Error?e.message.toLowerCase():String(e).toLowerCase(),o=r.map(d=>d.toLowerCase()).some(d=>n.includes(d)),a=n.includes("parameter")||o;return n.includes("unknown parameter")||n.includes("invalid parameter")||n.includes("unsupported")&&a}shouldFallbackForSpecificReasoningError(e,...r){let n=e instanceof Error?e.message.toLowerCase():String(e).toLowerCase();return r.map(a=>a.toLowerCase()).some(a=>n.includes(a))?n.includes("unknown parameter")||n.includes("invalid parameter")||n.includes("unsupported"):!1}shouldFallbackForForcedToolChoiceError(e){let r=S(e);return(r.includes("tool_choice")||r.includes("tool choice")||r.includes("toolchoice"))&&(r.includes("unknown parameter")||r.includes("invalid parameter")||r.includes("unsupported")||r.includes("does not support")||r.includes("incompatible"))?!0:this.isServerError(e)}isServerError(e){let r=$(e);if(r!==void 0&&r>=500&&r<=599)return!0;let n=S(e);return n.includes("internal server error")||n.includes("server error")}getReasoningFallbackChain(e){switch(e){case"native-budget":return["native-budget","native-toggle","none"];case"native-effort":return["native-effort","none"];case"native-adaptive":return["native-adaptive","none"];case"native-toggle":return["native-toggle","none"];default:return["none"]}}getContextWindow(){return this.getEffectiveContextWindow()}getEffectiveContextWindow(e){let r=this.getModelDescriptor(e)?.contextWindow;return r!==void 0?r:this.config.contextWindow??2e5}getApiKey(){let e=K(this.name,this.config.credentialSource==="broker"?void 0:Z(this.config.apiKeyEnv));if(!e)throw new Error(`${this.config.apiKeyEnv} not set`);return e}shouldLogStreamDiagnostics(){return!!process.env.KODAX_DEBUG_STREAM}logStreamDiagnostic(...e){this.shouldLogStreamDiagnostics()&&console.error(...e)}normalizeReasoning(e){return fe(e)}validateExplicitReasoningEffort(e,r){if(e.effortSource!=="explicit")return;let n=e.effort;if(!n||n==="auto")return;let i=U.includes(n),o=this.getReasoningProfile(r);if(!o){if(n==="none"||i)return;let l=r?`/${r}`:"";throw new g(`${this.name}${l} does not advertise provider-specific reasoning effort "${n}". Supported stable efforts: ${U.join(", ")}.`,this.name,{failureCode:"request_build_failed",stage:"request_build"})}if(o.localRejectEfforts?.includes(n)){let l=r?`/${r}`:"";throw new g(`${this.name}${l} does not support reasoning effort "${n}".`,this.name,{failureCode:"request_build_failed",stage:"request_build"})}if(n==="none"||o.disabledEfforts?.includes(n)||o.allowCustomEffort)return;let a=o.supportedEfforts?.map(l=>l.value)??[],d=o.effortAliases?.[n]??n;if(a.includes(n)||a.includes(d)||a.length===0&&i)return;let u=r?`/${r}`:"",c=a.length>0?a.join(", "):U.join(", ");throw new g(`${this.name}${u} does not support reasoning effort "${n}". Supported efforts: ${c}.`,this.name,{failureCode:"request_build_failed",stage:"request_build"})}resolveReasoningProfileIntent(e,r,n){let i=e.effort;if(i&&r.localRejectEfforts?.includes(i)){if(e.effortSource==="explicit"){let o=n?`/${n}`:"";throw new g(`${this.name}${o} does not support reasoning effort "${i}".`,this.name,{failureCode:"request_build_failed",stage:"request_build"})}if(r.defaultEffort)return{disabled:!1,effort:r.defaultEffort,requestedEffort:i}}if(!e.enabled||i==="none"||i!==void 0&&r.disabledEfforts?.includes(i))return{disabled:!0,requestedEffort:i};if(!i||i==="auto"){if(Nt(r)){let o=He({capability:r,explicitEffort:i??"auto"}).effectiveEffort;return o==="none"||o!==void 0&&r.disabledEfforts?.includes(o)?{disabled:!0,effort:o,requestedEffort:i}:{disabled:!1,effort:o,requestedEffort:i}}return{disabled:!1,requestedEffort:i}}return{disabled:!1,effort:r.effortAliases?.[i]??i,requestedEffort:i}}onStaleConnection(){}isRateLimitError(e){if(!(e instanceof Error))return!1;if($(e)===429)return!0;let r=e.message.toLowerCase();return["rate","limit","\u901F\u7387","\u9891\u7387","1302","429","too many","overload","overwhelmed","503","529","busy"].some(n=>r.includes(n))}classifyRateLimitReason(e){let r=e instanceof Error?e.message.toLowerCase():String(e).toLowerCase();return r.includes("overload")||r.includes("overwhelmed")||r.includes("503")||r.includes("529")||r.includes("busy")?"overloaded":"rate-limit"}extractRetryAfterMs(e){let r=L(e);if(!r)return;let n=P(r,{attempt:0,withJitter:!1});return n.type==="header"?n.waitMs:void 0}providerErrorMetadata(e){let r=$(e),n=V(e),i=Ut(e),o=this.extractRetryAfterMs(e);return{stage:"transport",...r!==void 0?{httpStatus:r}:{},...n!==""&&/^[\w.:-]{1,200}$/.test(n)?{upstreamCode:n}:{},...i!==void 0?{requestId:i}:{},...o!==void 0?{retryAfterMs:o}:{},...e instanceof g?e.metadata:{}}}parseContextOverflow(e){let r=ce(S(e));if(r.inputTokensKind!=="exact"||r.inputTokens===void 0||r.contextWindow===void 0)return;let n=r.contextWindow-r.inputTokens-1e3;return n>=3e3?n:void 0}isContextOverflowError(e){let r=S(e).toLowerCase();return r.includes("prompt is too long")||r.includes("prompt too long")||r.includes("context length")||r.includes("context_length_exceeded")||r.includes("context window")||r.includes("context limit")||r.includes("\u4E0A\u4E0B\u6587\u957F\u5EA6")}async withRateLimit(e,r,n=3,i,o,a){let d=!1,u=this.pendingLegacyMaxOutputTokensOverride;this.pendingLegacyMaxOutputTokensOverride=void 0;let c={...u===void 0?{}:{maxOutputTokensOverride:u},suppressReasoningEffort:!1};for(let l=0;l<n;l++)try{return await this.activeLegacyRequestOverride.run(c.maxOutputTokensOverride===void 0?{}:{maxOutputTokensOverride:c.maxOutputTokensOverride},()=>xe(this.name,a?.model??this.getModel(),()=>e(c),this.requestObservationBoundary==="physical_attempt"))}catch(f){let v=jt(f);if(v)throw v;let h=L(f),b=X(h,"x-should-retry");if(I(f)||b==="false"||f instanceof g&&f.metadata?.retryable===!1)throw new g(`${this.name} API error: ${f instanceof Error?f.message:S(f)}`,this.name,{...this.providerErrorMetadata(f),retryable:!1});let E=$(f);if(l<n-1&&!c.disablePreferredToolConstraints&&a?.tools?.some(p=>p.strict==="prefer"||p.grammar?.mode==="prefer")&&Pe(E,S(f))){c.disablePreferredToolConstraints=!0;continue}if(E===408||E===409||E!==void 0&&E>=500||E!==429&&b==="true"){if(l===n-1)throw new g(f instanceof Error?f.message:String(f),this.name,this.providerErrorMetadata(f));let p=P(h,{attempt:l,baseBackoffMs:500});E!==void 0&&E>=500&&o?.({provider:this.name,...p,reason:"overloaded",attempt:l+1,maxAttempts:n}),i?.(l+1,n,p.waitMs),await de(p.waitMs,r);continue}if(!r?.aborted&&l<n-1&&f instanceof Error&&!pe(f)&&(Ge(f)||await Je(f,"APIConnectionError"))){this.onStaleConnection(),await de(P({},{attempt:l,baseBackoffMs:500}).waitMs,r);continue}if(n>1&&this.isContextOverflowError(f)&&c.maxOutputTokensOverride===void 0){let p=this.parseContextOverflow(f),k=c.maxOutputTokensLimit;if(p&&(k===void 0||p<k)){c.maxOutputTokensOverride=p,i?.(l+1,n,0);continue}}if(f instanceof Q)throw f;if(this.isContextOverflowError(f))throw new Q(ce(S(f)),this.name,this.providerErrorMetadata(f));if(this.isRateLimitError(f)){if(l===n-1){let T=S(f).trim(),B=T?`
|
|
3
|
-
${T}`:"",_=this.providerErrorMetadata(f);throw new Ee(`API rate limit exceeded after ${n} retries. Please wait and try again later.${B}`,_.retryAfterMs??6e4,_)}let p=L(f)??{},k=P(p,{attempt:l,baseBackoffMs:500,maxBackoffMs:32e3,withJitter:!0}),m=k.waitMs,w=this.classifyRateLimitReason(f);if(o?.({provider:this.name,waitMs:m,reason:w,source:k.source,attempt:l+1,maxAttempts:n}),i?i(l+1,n,m):o||console.log(`[Rate Limit] Retrying in ${m/1e3}s (${l+1}/${n})...`),r?.aborted||(await de(m,r),r?.aborted))throw z();continue}if(n>1&&this.useLegacyReasoningFallback&&a&&!d){let p=O(f,a.effort);if(p){a.onRejected?.({provider:this.name,model:a.model,effort:p.rejectedEffort}),c.suppressReasoningEffort=!0,d=!0;continue}}if(a&&d){let p=O(f,a.effort);if(p)throw new ve(`${this.name} rejected reasoning effort "${p.rejectedEffort}" even after dropping it.`,this.name,p.rejectedEffort,a.model)}if(f instanceof Error){if(f.name==="TimeoutError")throw f;if(r?.aborted&&(f.name==="AbortError"||await Je(f,"APIUserAbortError")))throw f.name==="AbortError"?f:new DOMException(f.message||"Request aborted","AbortError");let p=V(f);throw(p==="ECONNRESET"||p==="EPIPE")&&this.onStaleConnection(),f instanceof g?f:pe(f)?te(f,new ye(`${this.name} API error: ${f.message}`,!0)):te(f,new g(`${this.name} API error: ${f.message}`,this.name,this.providerErrorMetadata(f)))}throw f}throw new he("Unexpected end of withRateLimit")}};var $t=8e3;async function Ze(t){if(t.strategy==="unsupported")return{ok:!1,error:"unsupported",strategy:"unsupported",durationMs:0,approxTokensSpent:0,message:"Provider does not support credential verification"};let e=t.runners.find(c=>c.strategy===t.strategy);if(!e)return{ok:!1,error:"unsupported",strategy:t.strategy,durationMs:0,approxTokensSpent:0,message:`verifyStrategy="${t.strategy}" is not implemented for this provider's base class`};if(t.signal?.aborted)return{ok:!1,error:"unknown",strategy:t.strategy,durationMs:0,approxTokensSpent:0,message:"caller aborted before verifyCredential started"};let r=new AbortController,n=t.timeoutMs??$t,i,o=s(c=>{i||(i=c),r.abort()},"recordAbort"),a=setTimeout(()=>o("timeout"),n),d=s(()=>o("parent"),"onParentAbort");t.signal&&t.signal.addEventListener("abort",d,{once:!0});let u=Date.now();try{return await e.run(r.signal),{ok:!0,strategy:t.strategy,durationMs:Date.now()-u,approxTokensSpent:e.approxTokensSpent}}catch(c){return qt(c,{strategy:t.strategy,durationMs:Date.now()-u,approxTokensSpent:0,abortCause:i,providerName:t.providerName})}finally{clearTimeout(a),t.signal&&t.signal.removeEventListener("abort",d)}}s(Ze,"runVerifyCredential");function Bt(t){return t.replace(/\bsk-[A-Za-z0-9_-]{6,}/g,"sk-***")}s(Bt,"redactKeyMaterial");function qt(t,e){let r=Ae(t),n=r,i=n.status??n.statusCode??n.response?.status,o=Bt(String(n.message??r)).slice(0,240),a=n.cause?.code??n.code,d=n.constructor?.name??"",u;return e.abortCause==="timeout"?u="timeout":e.abortCause==="parent"?u="unknown":d==="AuthenticationError"||d==="PermissionDeniedError"||i===401||i===403?u="unauthorized":i===429?u="rate_limited":i===400&&e.strategy==="count-tokens"&&e.providerName==="kimi-code"?u="unauthorized":i!==void 0&&i>=500&&i<600?u="server_error":a!==void 0&&/ENOTFOUND|ECONNREFUSED|ECONNRESET|EAI_AGAIN|EPIPE|ETIMEDOUT|ENETUNREACH|ENETDOWN|EHOSTUNREACH/i.test(a)?u="network":/timeout/i.test(o)?u="timeout":u="unknown",{ok:!1,error:u,status:i,message:o,durationMs:e.durationMs,approxTokensSpent:e.approxTokensSpent,strategy:e.strategy}}s(qt,"classifyVerifyError");import{createHash as Kt}from"node:crypto";import{AsyncLocalStorage as Ht}from"node:async_hooks";import{existsSync as et}from"node:fs";import{createRequire as Xt}from"node:module";import tt from"node:path";import{Worker as Wt}from"node:worker_threads";var zt={jpg:"image/jpeg",png:"image/png",gif:"image/gif",webp:"image/webp"},rt=10*1024*1024,Vt=4e7,Gt=1e4,Yt=256,x=new Map,Y,Jt=Ht.snapshot(),Qt=`
|
|
4
|
-
const { parentPort, workerData } = require('node:worker_threads');
|
|
5
|
-
let photon;
|
|
6
|
-
try { photon = require(workerData.modulePath); }
|
|
7
|
-
catch { parentPort.postMessage('unavailable'); }
|
|
8
|
-
if (photon) {
|
|
9
|
-
let image;
|
|
10
|
-
try {
|
|
11
|
-
image = photon.PhotonImage.new_from_byteslice(workerData.bytes);
|
|
12
|
-
parentPort.postMessage(image.get_width() > 0 && image.get_height() > 0 ? 'valid' : 'invalid');
|
|
13
|
-
} catch (error) {
|
|
14
|
-
parentPort.postMessage(/memory|allocation|limit/i.test(String(error)) ? 'unavailable' : 'invalid');
|
|
15
|
-
} finally { if (image) image.free(); }
|
|
16
|
-
}
|
|
17
|
-
`;function Zt(){let t=tt.join(tt.dirname(process.execPath),"image-codec","photon_rs.js");if(process.env.KODAX_BUNDLED==="true")return et(t)?t:void 0;try{return Xt(import.meta.url).resolve("@silvia-odwyer/photon-node")}catch{return et(t)?t:void 0}}s(Zt,"codecPath");async function er(t,e,r){if(r<=0)return{status:"unverified",reason:"processing_limit",mediaType:e};let n=Zt();return n?new Promise(i=>{let o;try{o=new Wt(Qt,{eval:!0,workerData:{modulePath:n,bytes:t},resourceLimits:{maxOldGenerationSizeMb:128}})}catch{i({status:"unverified",reason:"decoder_unavailable",mediaType:e});return}let a=!1,d=s(c=>{a||(a=!0,clearTimeout(u),o.terminate().then(()=>i(c==="valid"?{status:c,mediaType:e}:c==="invalid"?{status:c}:{status:"unverified",reason:"decoder_unavailable",mediaType:e}),()=>i({status:"unverified",reason:"decoder_unavailable",mediaType:e})))},"finish"),u=setTimeout(()=>d("unavailable"),r);o.once("message",d),o.once("error",()=>d("unavailable")),o.once("exit",()=>d("unavailable"))}):{status:"unverified",reason:"decoder_unavailable",mediaType:e}}s(er,"decode");async function tr(t){let e=performance.now()+Gt;if(!t.length)return{status:"invalid"};if(t.length>rt)return{status:"unverified",reason:"processing_limit"};let r;try{({imageSize:r}=await import("image-size"))}catch{return{status:"unverified",reason:"decoder_unavailable"}}let n;try{n=r(t)}catch{return{status:"invalid"}}let i=zt[n.type??""];if(!i)return{status:"unverified",reason:"unsupported_format"};if(!n.width||!n.height)return{status:"invalid"};if(n.width*n.height>Vt)return{status:"unverified",reason:"processing_limit",mediaType:i};let o=(Y??Promise.resolve()).then(()=>er(t,i,e-performance.now())),a=o.then(()=>{},()=>{});return Y=a,a.then(()=>{Y===a&&(Y=void 0)}),o}s(tr,"inspect");async function me(t){if(t.length>rt)return{status:"unverified",reason:"processing_limit"};let e=Kt("sha256").update(t).digest("hex"),r=x.get(e);r||(r=Jt(()=>tr(Buffer.from(t))),x.set(e,r),x.size>Yt&&x.delete(x.keys().next().value));try{let n=await r;return x.get(e)===r&&(n.status==="unverified"?x.delete(e):x.set(e,n)),n}catch(n){throw x.get(e)===r&&x.delete(e),n}}s(me,"validateImageBytes");import{readFile as rr,stat as nr}from"node:fs/promises";import ir from"node:path";import{AsyncLocalStorage as or}from"node:async_hooks";import{createHash as nt}from"node:crypto";var sr={".gif":"image/gif",".jpeg":"image/jpeg",".jpg":"image/jpeg",".png":"image/png",".webp":"image/webp"},ar="[Historical image unavailable: the local attachment file is missing.]",Gn="[Image content omitted: this provider does not support inline images in tool results.]",Yn="[Image content omitted: the selected model does not support image input.]",ur="[Image unavailable: this attachment cannot be decoded. Re-extract or replace this image; other content remains available.]",y=new or;function Jn(t,e,r){return y.run({images:new WeakMap,signal:e,shouldPrepare:r},t)}s(Jn,"withPreparedImageHistory");function fr(t){return y.getStore()?.signal?.throwIfAborted(),ge(me(t))}s(fr,"validateImageBytesInRun");function Qn(t,e,r){if(y.getStore()?.shouldPrepare?.()===!1)return;let n=y.getStore()?.images;if(!n)return;y.getStore()?.signal?.throwIfAborted();let i={image:st(e,t.path,t.mediaType,r)};n.set(t,{path:t.path,mediaType:t.mediaType,result:i,value:Promise.resolve(i)})}s(Qn,"prepareValidatedImageBlock");function Zn(t){let e=y.getStore()?.images.get(t);if(!e||e.path!==t.path||e.mediaType!==t.mediaType||!e.result||!("image"in e.result))return;let r=e.result.image;return e.diagnostic??="placeholder"in r?r:{dataHash:nt("sha256").update(Buffer.from(r.data,"base64")).digest("hex"),mediaType:r.mediaType,...r.notice?{notice:r.notice}:{}},e.diagnostic}s(Zn,"getPreparedImageDiagnostic");async function ei(t){let e=await cr(t);if("placeholder"in e)return e;let r=Buffer.from(e.data,"base64");return{validation:await fr(r),dataHash:nt("sha256").update(r).digest("hex")}}s(ei,"inspectPreparedImage");function ti(t){if(y.getStore()?.shouldPrepare?.()===!1)return;let e=y.getStore()?.images;if(!e)return;let r=[],n=s(i=>{let o=e.get(i);(!o?.result||o.path!==i.path||o.mediaType!==i.mediaType)&&r.push(i)},"collect");for(let i of t)if(typeof i.content!="string"){for(let o of i.content)if(o.type==="image"&&n(o),o.type==="tool_result"&&typeof o.content!="string")for(let a of o.content)a.type==="image"&&n(a)}if(r.length)return(async()=>{for(let i of r)y.getStore()?.signal?.throwIfAborted(),await ge(it(e,i).value)})()}s(ti,"prepareHistoryImages");async function cr(t){let e=y.getStore()?.images;if(!e)return ot(t.path,t.mediaType);y.getStore()?.signal?.throwIfAborted();let r=it(e,t),n=await ge(r.value);if("image"in n)return n.image;throw e.get(t)===r&&e.delete(t),n.error}s(cr,"prepareImageBlock");function ge(t){let e=y.getStore()?.signal;return e?(e.throwIfAborted(),new Promise((r,n)=>{let i=s(()=>{e.removeEventListener("abort",i),n(e.reason)},"abort");e.addEventListener("abort",i,{once:!0}),t.then(o=>{e.removeEventListener("abort",i),r(o)},o=>{e.removeEventListener("abort",i),n(o)})})):t}s(ge,"waitForPreparation");function it(t,e){let r=t.get(e);return r&&r.path===e.path&&r.mediaType===e.mediaType?r:dr(t,e,ot(e.path,e.mediaType))}s(it,"prepareEntry");function dr(t,e,r){let n={path:e.path,mediaType:e.mediaType,value:r.then(i=>n.result={image:i},i=>n.result={error:i})};return t.set(e,n),n}s(dr,"rememberEntry");async function ot(t,e){let r;try{r=await rr(t)}catch(n){let i=n.code;if(i==="ENOENT"||i==="ENOTDIR")return{placeholder:ar};throw n}return lr(r,t,e)}s(ot,"prepareImageFile");async function lr(t,e,r){let n=await me(t);return st(t,e,r,n)}s(lr,"prepareImageBytes");function st(t,e,r,n){return n.status==="invalid"?{placeholder:ur}:{data:t.toString("base64"),mediaType:n.mediaType??pr(e,r),...n.status==="unverified"?{notice:`[Local image validation unavailable (${n.reason}); original image bytes retained.]`}:{}}}s(st,"serializeValidatedImage");async function ri(t){try{return await nr(t),!1}catch(e){let r=e.code;return r==="ENOENT"||r==="ENOTDIR"}}s(ri,"isImageFileMissing");function pr(t,e){return e??sr[ir.extname(t).toLowerCase()]??"image/png"}s(pr,"resolveImageMediaType");var at=class extends G{static{s(this,"KodaXNativeProvider")}name;config;nativeApi;usesScopedReasoningLearning(){return!0}getReasoningApi(){return this.nativeApi}supportsThinking=!0;requestObservationBoundary="physical_attempt";useLegacyReasoningFallback=!1;constructor(e,r,n){super(),this.name=e,this.config=r,this.nativeApi=n}supportsEphemeralSuffix(){return!0}usesPromptCacheAffinity(){return!1}supportsNonStreamingFallback(){return!0}getGenerationSource(e){return{provider:this.name,api:this.nativeApi,model:this.getWireModelId(e),baseUrl:this.config.baseUrl,credentialScope:this.getRequestCredentialFingerprint()??"unavailable"}}stream(e,r,n,i,o,a){return this.run(!0,e,r,n,i,o,a)}complete(e,r,n,i,o,a){return this.run(!1,e,r,n,i,o,a)}verifyCredential(e){return this.config.verifyStrategy==="unsupported"?super.verifyCredential(e):Ze({strategy:"minimal-message",providerName:this.name,...e,runners:[{strategy:"minimal-message",approxTokensSpent:22,run:s(r=>_e(this,"utility",r,n=>this.complete([{role:"user",content:"hi"}],[],"",void 0,{singleAttempt:!0,maxOutputTokensOverride:16},n).then(()=>{})),"run")}]})}protocolError(e,r=!1){return new g(e,this.name,{failureCode:"response_stream_error",stage:"response_stream",retryable:r})}assertCredential(){this.getApiKey()}invokeNative(e){return this.invoke(e)}boundThinkingBudget(e,r){let n=e.thinkingBudgetCap;if(!Number.isSafeInteger(r)||r<-1||n!==void 0&&(!Number.isSafeInteger(n)||n<=0))throw this.protocolError("Invalid declared thinking budget or cap.");return n===void 0?r:r===-1?n:Math.min(r,n)}finish(e,r,n,i){e.signal?.throwIfAborted();let o=r.filter(l=>l.type==="text"),a=r.filter(l=>l.type==="thinking"||l.type==="redacted_thinking"),d=r.filter(l=>l.type==="tool_use");if(!e.streaming){for(let l of o)e.options?.onTextDelta?.(l.text);for(let l of a)l.type==="thinking"&&e.options?.onThinkingDelta?.(l.thinking)}let u=a.filter(l=>l.type==="thinking").map(l=>l.thinking).join("");u&&e.options?.onThinkingEnd?.(u),e.signal?.throwIfAborted();let c={provider:this.name,model:e.logicalModel,requestedEffort:e.requestedEffort,sentEffort:e.sentReasoningEffort,verified:!1,fallbacks:e.reasoningFallbacks?.length?e.reasoningFallbacks:e.requestedEffort!=="auto"&&e.requestedEffort!==e.sentReasoningEffort?[{effort:e.requestedEffort,reason:"profile"}]:[]};return e.options?.onReasoningResolved?.(c),{contentBlocks:r,textBlocks:o,thinkingBlocks:a,toolBlocks:d,usage:n,stopReason:i==="end_turn"&&d.length?"tool_use":i,reasoningResolution:c}}async run(e,r,n,i,o,a,d){if(a?.forcedToolName&&!n.some(m=>m.name===a.forcedToolName))throw this.protocolError("Forced tool is absent from current tools.");let u=a?.modelOverride??this.getModel(),c=this.normalizeReasoning(o);this.validateExplicitReasoningEffort(c,u);let l=this.getReasoningProfile(u),f=l?this.resolveReasoningProfileIntent(c,l,u):void 0,v=c.effortSource==="omitted"||c.effort==="auto",h=l?.effortStrategy==="none"||l?.effortStrategy==="prompt-only"?void 0:v?l?.defaultEffort??l?.supportedEfforts?.find(m=>m.isDefault)?.value:f?.effort,b=h==="none"||h!==void 0&&l?.disabledEfforts?.includes(h)===!0||!v&&f?.disabled===!0,E=b||h===void 0?void 0:l?.effortAliases?.[h]??h,p=[i,...r.filter(m=>m.role==="system").map(m=>typeof m.content=="string"?m.content:m.content.filter(w=>w.type==="text").map(w=>w.text).join(`
|
|
18
|
-
`))].filter(m=>m.trim()),k=r.filter(m=>m.role!=="system");return a?.ephemeralSuffix?.content&&k.push({role:"user",content:a.ephemeralSuffix.content}),this.withRequestContext(a,d,m=>this.withRateLimit(async w=>{m?.throwIfAborted(),this.assertCredential();let T=this.getEffectiveMaxOutputTokens(u,a?.maxOutputTokensOverride);w.maxOutputTokensLimit??=T;let B=this.knownReasoningRejections(u,a),_=w.suppressReasoningEffort||B.includes("*")||h!==void 0&&B.includes(h),C={streaming:e,messages:k,tools:De(n,w.disablePreferredToolConstraints),system:p.join(`
|
|
19
|
-
|
|
20
|
-
`),model:this.getWireModelId(u),source:this.getGenerationSource(u),maxOutputTokens:Math.min(w.maxOutputTokensOverride??T,T),profile:l,toolCapabilities:this.getToolCapabilities(u),requestedEffort:c.effortSource==="omitted"?"auto":c.effort,logicalModel:u,..._&&!w.suppressReasoningEffort?{reasoningFallbacks:[{effort:h,reason:"cached-rejection"}]}:{},effort:_?void 0:E,disabled:_?!1:b,thinkingBudgetCap:this.getEffectiveThinkingBudgetCap(u),options:a,signal:m};_&&(C.profile=void 0);try{return await this.invoke(C)}catch(J){let q=C.sentReasoningEffort===void 0?null:O(J,C.sentReasoningEffort);if(!q||(this.rememberReasoningRejection(u,q.parameterRejected?"*":q.rejectedEffort,a),a?.singleAttempt||m?.aborted||_))throw J;return this.invoke({...C,profile:void 0,effort:void 0,disabled:!1,sentReasoningEffort:void 0,reasoningFallbacks:[{effort:C.sentReasoningEffort,reason:q.parameterRejected?"unsupported-parameter":"unsupported-effort"}]})}},m,a?.singleAttempt?1:3,a?.onRateLimit,a?.onRetryAfter,{model:u,tools:n}))}};async function mr(t,e,r=!1){try{return await ke(we(globalThis.fetch),r)(t,{...e,redirect:"error"})}catch(n){throw Ve(n),n}}s(mr,"nativeFetch");async function hi(t,e){let r=await mr(t,e);if(r.ok)return r;let n=await r.text(),i;try{i=JSON.parse(n)}catch{i=void 0}let o=i&&typeof i=="object"&&"error"in i?i.error:i,a=o&&typeof o=="object"&&"message"in o&&typeof o.message=="string"?o.message:`Upstream HTTP ${r.status}`;throw Object.assign(new Error(a),{status:r.status,headers:r.headers,error:o})}s(hi,"nativeResponse");function bi(t,e){return t.provider===e.provider&&t.api===e.api&&t.model===e.model&&t.baseUrl===e.baseUrl&&t.credentialScope===e.credentialScope}s(bi,"sameCloudSource");function wi(t){let e=[],r=new Set,n=new Set,i=s(()=>{r.size&&e.push({role:"user",content:[...r].map(o=>({type:"tool_result",tool_use_id:o,content:`${Me} Tool execution was interrupted; no result is available.`,is_error:!0}))}),r.clear()},"settle");for(let o of t){if(typeof o.content=="string"){i(),e.push(o);continue}if(o.role==="assistant"){i();for(let a of o.content)if(a.type==="tool_use"){if(!a.id||n.has(a.id))throw new Error("Cloud history has an empty or duplicate tool call ID.");r.add(a.id),n.add(a.id)}e.push(o)}else{let a=o.content.filter(u=>u.type==="tool_result").filter(u=>r.delete(u.tool_use_id));a.length&&e.push({...o,content:a});let d=o.content.filter(u=>u.type!=="tool_result");d.length&&(i(),e.push({...o,content:d}))}}return i(),e}s(wi,"repairCloudToolHistory");export{Oe as a,gr as b,hr as c,Me as d,Er as e,br as f,ne as g,wr as h,xr as i,De as j,Ie as k,kr as l,ct as m,dt as n,Tr as o,Cr as p,H as q,Fe as r,Ne as s,I as t,O as u,P as v,L as w,ie as x,jr as y,gt as z,Ur as A,ht as B,$e as C,Be as D,qe as E,Xr as F,U as G,Et as H,yt as I,Wr as J,Ke as K,zr as L,fe as M,W as N,xt as O,Vr as P,kt as Q,He as R,Gr as S,Yr as T,Jr as U,Qr as V,Zr as W,en as X,G as Y,Ze as Z,qt as _,me as $,ar as aa,Gn as ba,Yn as ca,Jn as da,fr as ea,Qn as fa,Zn as ga,ei as ha,ti as ia,cr as ja,ri as ka,at as la,bi as ma,wi as na,mr as oa,hi as pa};
|