@sifxprime/krouter 0.5.159 → 0.5.160
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/app/.next-cli-build/BUILD_ID +1 -1
- package/app/.next-cli-build/app-path-routes-manifest.json +9 -9
- package/app/.next-cli-build/build-manifest.json +2 -2
- package/app/.next-cli-build/prerender-manifest.json +3 -3
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/environment/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/presidio/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error.html +1 -1
- package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/app/.next-cli-build/server/app/_not-found.rsc +3 -3
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +3 -3
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
- package/app/.next-cli-build/server/app/api/version/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
- package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/callback.html +1 -1
- package/app/.next-cli-build/server/app/callback.rsc +3 -3
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/environment.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/environment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/environment.segments/!KGRhc2hib2FyZCk/dashboard/environment/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/environment.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/environment.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/presidio.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/presidio.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/presidio.segments/!KGRhc2hib2FyZCk/dashboard/presidio/__PAGE__.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/presidio.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/presidio.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/app/.next-cli-build/server/app/dashboard.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/index.html +1 -1
- package/app/.next-cli-build/server/app/index.rsc +3 -3
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/landing.html +1 -1
- package/app/.next-cli-build/server/app/landing.rsc +3 -3
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/login.html +1 -1
- package/app/.next-cli-build/server/app/login.rsc +4 -4
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +9 -9
- package/app/.next-cli-build/server/chunks/2365.js +1 -1
- package/app/.next-cli-build/server/chunks/4921.js +1 -1
- package/app/.next-cli-build/server/chunks/5718.js +1 -1
- package/app/.next-cli-build/server/chunks/706.js +3 -3
- package/app/.next-cli-build/server/chunks/8238.js +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/pages/404.html +1 -1
- package/app/.next-cli-build/server/pages/500.html +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
- package/app/.next-cli-build/static/chunks/{1321-1c2a824823ca3ce1.js → 1321-08ce1e03f326f236.js} +1 -1
- package/app/cli/package.json +1 -1
- package/app/package.json +1 -1
- package/package.json +1 -1
- /package/app/.next-cli-build/static/{5yjzy8V3yYGJ5_YtOmrKY → FHCWf3LRVxSltkVYg4lEm}/_buildManifest.js +0 -0
- /package/app/.next-cli-build/static/{5yjzy8V3yYGJ5_YtOmrKY → FHCWf3LRVxSltkVYg4lEm}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=4921,exports.ids=[4921,8905],exports.modules={13120:(a,b,c)=>{c.d(b,{EF:()=>o,H_:()=>p,vm:()=>n});var d=c(77598),e=c.n(d),f=c(15308),g=c(35024),h=c(86724),i=c(80662);let j=new Set(["minimax-m2.5","minimax-m2.7","minimax-m3"]),k="https://opencode.ai/zen/go/v1",l="x-opencode-session",m="_opencodeGoSession";function n({credentials:a,body:b,clientTool:c}={}){var d;let f;return function(a){if(!a||"object"!=typeof a)return null;for(let[b,c]of Object.entries(a))if(b.toLowerCase()===l)return function(a){if("string"!=typeof a)return null;let b=a.trim();return!b||b.length>256?null:b}(c);return null}(a?.rawHeaders)||(d=function(a,b){let c=b?.prompt_cache_key||b?.session_id||b?.conversation_id||b?.metadata?.session_id||b?.metadata?.conversation_id;if("string"==typeof c&&c.trim())return c.trim();let d=a?.providerSpecificData?.workspaceId;return"string"==typeof d&&d.trim()?d.trim():(0,i.RF)(a?.connectionId||a?.id)}(a||{},b),f=e().createHash("sha256").update(`opencode-go\0${c||"generic"}\0${d}`).digest("hex").slice(0,32),`ses_${f}`)}let o=l;class p extends f.H{constructor(){super("opencode-go",g.xq["opencode-go"])}buildUrl(a){return this._lastModel=a,j.has(a)?`${k}/messages`:`${k}/chat/completions`}prepareRequestCredentials({body:a,credentials:b,clientTool:c}={}){let d=b||{};return{...d,[m]:n({credentials:d,body:a,clientTool:c})}}async execute(a){return super.execute({...a,credentials:this.prepareRequestCredentials(a)})}buildHeaders(a,b=!0){let c=a?.apiKey||a?.accessToken,d={"Content-Type":"application/json"};return j.has(this._lastModel)?(d["x-api-key"]=c,d["anthropic-version"]="2023-06-01"):d.Authorization=`Bearer ${c}`,b&&(d.Accept="text/event-stream"),d[l]=a?.[m]||this.prepareRequestCredentials({credentials:a})[m],d}transformRequest(a,b){return(0,h.Z)({provider:this.provider,model:a,body:b})}}},15308:(a,b,c)=>{c.d(b,{H:()=>t});var d=c(41004),e=c(93943),f=c(39609),g=c(68905),h=c(92306);let i=new Map;function j(a){return a&&"object"==typeof a?Array.isArray(a.contents)?{...a,contents:k(a.contents)}:a.request&&Array.isArray(a.request.contents)?{...a,request:{...a.request,contents:k(a.request.contents)}}:Array.isArray(a.messages)?{...a,messages:a.messages.map(a=>{if(!a||void 0===a.content||null===a.content||"string"==typeof a.content)return a;if(Array.isArray(a.content)){let b=a.content.filter(a=>!a||"object"!=typeof a||"image"!==a.type&&"image_url"!==a.type&&"input_image"!==a.type);return 0===b.length?{...a,content:"[image omitted: model does not support vision]"}:1===b.length&&"text"===b[0].type?{...a,content:b[0].text}:{...a,content:b}}return a})}:a:a}function k(a){return a.map(a=>{if(!a||!Array.isArray(a.parts))return a;let b=a.parts.filter(a=>!a?.inlineData&&!a?.fileData);return 0===b.length?{...a,parts:[{text:"[image omitted: model does not support vision]"}]}:{...a,parts:b}})}let l=["too many tools","tool count exceeds","tools array too large","schema too large","maximum number of tools","function declarations exceed"],m=new Map;function n(a){let b=m.get(a);return b||(b={consecutiveFailures:0,trippedUntil:null},m.set(a,b)),b}var o=c(70327);let p=new Map,q=new Map,r=new Map;function s(a,b){let c=`${a}:${b}`;if(!q.has(c)){if(q.size>=500){let a=q.keys().next().value;void 0!==a&&q.delete(a)}q.set(c,{status:"active",failures:0,lastFailure:null,lastSuccess:null,totalRequests:0,totalFailures:0})}return q.get(c)}class t{constructor(a,b){this.provider=a,this.config=b,this.noAuth=b?.noAuth||!1}getProvider(){return this.provider}getBaseUrls(){return this.config.baseUrls||(this.config.baseUrl?[this.config.baseUrl]:[])}getFallbackCount(){return this.getBaseUrls().length||1}buildUrl(a,b,c=0,d=null){if(this.provider?.startsWith?.("openai-compatible-")){let a=(d?.providerSpecificData?.baseUrl||"https://api.openai.com/v1").replace(/\/$/,""),b=this.provider.includes("responses")?"/responses":"/chat/completions";return`${a}${b}`}if(this.provider?.startsWith?.("anthropic-compatible-")){let a=(d?.providerSpecificData?.baseUrl||"https://api.anthropic.com/v1").replace(/\/$/,"");return`${a}/messages`}let e=this.getBaseUrls();return e[c]||e[0]||this.config.baseUrl}buildHeaders(a,b=!0){let c={"Content-Type":"application/json","x-request-source":"local",...this.config.headers};return this.provider?.startsWith?.("anthropic-compatible-")?(a.apiKey?c["x-api-key"]=a.apiKey:a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),c["anthropic-version"]||(c["anthropic-version"]="2023-06-01")):a.accessToken?c.Authorization=`Bearer ${a.accessToken}`:a.apiKey&&(c.Authorization=`Bearer ${a.apiKey}`),b&&(c.Accept="text/event-stream"),c}transformRequest(a,b,c,d){return b}shouldRetry(a,b){return a===d.gx.RATE_LIMITED&&b+1<this.getFallbackCount()}async refreshCredentials(a,b,c=null){return null}needsRefresh(a){return(0,e.fp)(this.provider,a)}parseError(a,b){return{status:a.status,message:b||`HTTP ${a.status}`}}async execute({model:a,body:b,stream:c,credentials:e,signal:k,log:q,proxyOptions:t=null}){let u=this.getFallbackCount(),v=null,w=0,x={},y={...d.cI,...this.config.retry},z=async(a,b,c,e=null)=>{let{attempts:f,delayMs:h}=(0,d.DR)(y[b]);if(f<=0||x[a]>=f)return!1;let i=null;if(e){let{resetsAtMs:a,source:b}=(0,g.parseRetryAfterHeaders)(e);if(a&&(i=a,b&&q?.debug?.("RETRY",`${c}, ${b} → reset in ${Math.ceil((a-Date.now())/1e3)}s`)),!i&&e.status===d.gx.RATE_LIMITED&&"function"==typeof this.parseError)try{let a=await e.clone().text(),b=this.parseError(e,a);b?.resetsAtMs&&(i=b.resetsAtMs)}catch{}}if(i){let b=i-Date.now();if(b>6e4)return q?.debug?.("RETRY",`${c}, reset too far (${Math.ceil(b/1e3)}s), skipping`),!1;let d=Math.max(b+100,250);return x[a]++,q?.debug?.("RETRY",`${c} retry ${x[a]}/${f} after ${(d/1e3).toFixed(1)}s (provider-set)`),await new Promise(a=>setTimeout(a,d)),!0}return x[a]++,q?.debug?.("RETRY",`${c} retry ${x[a]}/${f} after ${h/1e3}s`),await new Promise(a=>setTimeout(a,h)),!0};if(function(a){if(!a)return!1;let b=m.get(a);return!!b&&!!b.trippedUntil&&(!(Date.now()>b.trippedUntil)||(b.trippedUntil=null,!1))}(this.provider))throw q?.warn?.("BREAKER",`${this.provider} circuit breaker OPEN — skipping request`),Error(`Circuit breaker open for provider: ${this.provider}`);for(let g=0;g<u;g++){let m=this.buildUrl(a,c,g,e),y=null,A=e,B=e?.providerSpecificData?.extraApiKeys;if(Array.isArray(B)&&B.length>0&&e?.id){!function(a,b){let c=(Array.isArray(b)?b:[]).filter(a=>"string"==typeof a&&a.trim().length>0);r.set(a,c.length>0)}(e.id,B);let a=function(a,b,c=[]){let d=(Array.isArray(c)?c:[]).filter(a=>"string"==typeof a&&a.trim().length>0),e=[],f=s(a,"primary");b&&"invalid"!==f.status&&e.push({key:b,keyId:"primary"});for(let b=0;b<d.length;b++){let c=`extra_${b}`;"invalid"!==s(a,c).status&&e.push({key:d[b],keyId:c})}if(0===e.length)return null;if(1===e.length)return{key:e[0].key,keyId:e[0].keyId};let g=p.get(a)??0,h=g%e.length;return p.set(a,g+1),{key:e[h].key,keyId:e[h].keyId}}(e.id,e.apiKey,B);a&&(y=a.keyId,A={...e,apiKey:a.key})}let C=function(a,b){let c=`${a}/${b}`,d=i.get(c);return!!d&&(!(Date.now()>d)||(i.delete(c),!1))}(this.provider,a),D=C?j(b):b,E=this.transformRequest(a,D,c,A),F=this.buildHeaders(A,c,m,a);F["x-request-source"]="local",x[g]||(x[g]=0);let G=new AbortController,H=this.config?.timeoutMs||d.pH,I=setTimeout(()=>G.abort(Error("fetch connect timeout")),H),J=k?AbortSignal.any([k,G.signal]):G.signal;try{let d=JSON.stringify(E),k=Date.now();(0,h.s)("FETCH",`${this.provider.toUpperCase()} → ${m} | body=${d.length}B | connectTimeout=${H}ms`);let p=await (0,f.proxyAwareFetch)(m,{method:"POST",headers:F,body:d,signal:J},t);clearTimeout(I);let r=p.headers?.get?.("content-type")||"",u=p.headers?.get?.("content-length")||"?";if((0,h.s)("FETCH",`${this.provider.toUpperCase()} ← ${p.status} | ttft=${Date.now()-k}ms | ct=${r} | cl=${u}`),y&&(401===p.status||403===p.status?!function(a,b){let c=s(a,b);c.failures++,c.totalRequests++,c.totalFailures++,c.lastFailure=new Date().toISOString(),c.failures>=2?c.status="invalid":c.status="warning"}(e.id,y):p.status>=200&&p.status<300&&function(a,b){let c=s(a,b);c.failures=0,c.totalRequests++,c.lastSuccess=new Date().toISOString(),c.status="active"}(e.id,y)),p.status>=200&&p.status<500&&429!==p.status?!function(a){if(!a)return;let b=n(a);b.consecutiveFailures=0,b.trippedUntil=null}(this.provider):p.status>=500&&function(a,b){if(!a||b<500||b>=600)return;let c=n(a);return c.consecutiveFailures++,c.consecutiveFailures>=10&&(c.trippedUntil=Date.now()+3e5,!0)}(this.provider,p.status)&&q?.warn?.("BREAKER",`${this.provider} circuit breaker TRIPPED (too many 5xx errors)`),await z(g,p.status,`status ${p.status}`,p)){g--;continue}if(400===p.status)try{let b=await p.clone().text();if(function(a,b){if(400!==a||!b||"string"!=typeof b)return!1;let c=b.toLowerCase();return l.some(a=>c.includes(a))}(p.status,b)){q?.info?.("TOOL_LIMIT",`${this.provider}/${a} → too many tools, stripping and retrying`);let b=function(a){if(!a||!Array.isArray(a.tools)||0===a.tools.length)return a;let b=new Set(["bash","str_replace_editor","read_file","edit","run_terminal_cmd","list_dir","grep","file_search"]),c=a.tools.filter(a=>{let c=a?.function?.name||a?.name;return!!c&&(!!b.has(c)||!(c.includes("mcp__")||c.startsWith("github_")))});return{...a,tools:c}}(D);return E=this.transformRequest(a,b,c,A),{response:await (0,f.proxyAwareFetch)(m,{method:"POST",headers:F,body:JSON.stringify(E),signal:J},t),url:m,headers:F,transformedBody:E}}let d=(0,o.s)(b);if(d){q?.info?.("MODEL_STRIP",`${this.provider}/${a} → rejected field '${d}', stripping and retrying`);let b={...D};return delete b[d],E=this.transformRequest(a,b,c,A),{response:await (0,f.proxyAwareFetch)(m,{method:"POST",headers:F,body:JSON.stringify(E),signal:J},t),url:m,headers:F,transformedBody:E}}}catch(a){(0,h.s)("RECOVERY",`error inspecting 400 body: ${a.message}`)}if(400===p.status&&!C)try{let d=await p.clone().text();if(function(a,b){if(400!==a||!b||"string"!=typeof b)return!1;let c=b.toLowerCase();return c.includes("image_format_unsupported")||c.includes("multimodal processing is not enabled")||c.includes("does not support the image content")||c.includes("does not support image")||/messages\.\d+\.content.*must be a string/.test(c)||/unknown variant.*image_url.*expected.*text/.test(c)}(p.status,d)){!function(a,b){a&&b&&i.set(`${a}/${b}`,Date.now()+36e5)}(this.provider,a),q?.debug?.("IMAGE_CAP",`${this.provider}/${a} → no image support detected, stripping + retrying`);let d=j(b);E=this.transformRequest(a,d,c,e);let g=JSON.stringify(E);return{response:await (0,f.proxyAwareFetch)(m,{method:"POST",headers:F,body:g,signal:J},t),url:m,headers:F,transformedBody:E}}}catch(a){(0,h.s)("IMAGE_CAP",`error inspecting 400 body: ${a.message}`)}if(this.shouldRetry(p.status,g)){q?.debug?.("RETRY",`${p.status} on ${m}, trying fallback ${g+1}`),w=p.status;continue}return{response:p,url:m,headers:F,transformedBody:E}}catch(b){clearTimeout(I),v=b;let a=G.signal.aborted&&"AbortError"===b.name;if((0,h.s)("FETCH",`${this.provider.toUpperCase()} ✖ ${b.name}: ${b.message}${a?" (connect timeout)":""}`),"AbortError"===b.name&&!a)throw b;if(await z(g,d.gx.BAD_GATEWAY,`network "${b.message}"`)){g--;continue}if(g+1<u){q?.debug?.("RETRY",`Error on ${m}, trying fallback ${g+1}`);continue}throw b}}throw v||Error(`All ${u} URLs failed with status ${w}`)}}},15626:(a,b,c)=>{c.d(b,{w$:()=>e});let d=c(39006).rE||"0.0.0";function e(a,b={}){let c,f=(c=function(a){if("string"!=typeof a)return"";let b=a.trim();return b?b.startsWith("workos:")?b:`workos:${b}`:""}(a))?`Bearer ${c}`:"",g={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","User-Agent":`kRouter/${d}`,"X-PLATFORM":process.platform||"unknown","X-PLATFORM-VERSION":process.version||"unknown","X-CLIENT-TYPE":"9router","X-CLIENT-VERSION":d,"X-CORE-VERSION":d,"X-IS-MULTIROOT":"false",...b};return f&&(g.Authorization=f),g}},39006:a=>{a.exports={rE:"0.5.159"}},68905:(a,b,c)=>{c.d(b,{parseRetryAfterHeaders:()=>e});let d=["retry-after","anthropic-ratelimit-tokens-reset","anthropic-ratelimit-requests-reset","x-ratelimit-reset-requests","x-ratelimit-reset-tokens","x-ratelimit-reset","x-ratelimit-reset-after"];function e(a){if(!a)return{resetsAtMs:null};let b=b=>{if("function"==typeof a.headers?.get)return a.headers.get(b);if("function"==typeof a.get)return a.get(b);let c=b.toLowerCase();for(let[b,d]of Object.entries(a))if(b.toLowerCase()===c)return d;return null},c=null,e=null;for(let a of d){let d=b(a);if(null==d)continue;let f=function(a,b){if(null==b)return null;let c=String(b).trim();if(!c)return null;let d=Date.now();if("retry-after"===a){if(/^\d+$/.test(c))return d+1e3*Number(c);let a=Date.parse(c);return Number.isFinite(a)?a:null}if(a.startsWith("anthropic-ratelimit-")){let a=Date.parse(c);return Number.isFinite(a)?a:null}if(a.startsWith("x-ratelimit-reset")){if(/^\d{10}(\.\d+)?$/.test(c))return 1e3*Number(c);let a=function(a){let b;if("string"!=typeof a)return null;let c=a.trim().toLowerCase();if(!c)return null;if(/^\d+$/.test(c)||/^\d+\.\d+$/.test(c))return 1e3*Number(c);let d=0,e=/(\d+(?:\.\d+)?)\s*(ms|s|m|h)/g,f=!1;for(;null!==(b=e.exec(c));){f=!0;let a=parseFloat(b[1]);switch(b[2]){case"ms":d+=a;break;case"s":d+=1e3*a;break;case"m":d+=60*a*1e3;break;case"h":d+=60*a*6e4}}return f?d:null}(c);if(null!=a)return d+a}return null}(a,d);null!=f&&f>Date.now()&&(null==c||f<c)&&(c=f,e=a)}return c?{resetsAtMs:c,source:e}:{resetsAtMs:null}}},70327:(a,b,c)=>{c.d(b,{j:()=>g,s:()=>f});let d=["reasoning_budget","chat_template","reasoning_content","logprobs","logit_bias","top_logprobs","presence_penalty","frequency_penalty"],e=new Map;function f(a){if("string"!=typeof a||!a)return null;for(let b of d)if((function(a){let b=e.get(a);return b||(b=RegExp(`\\b${a}\\b`),e.set(a,b)),b})(b).test(a))return b;return null}function g(a,b){if(!a||"object"!=typeof a)return a;let c={...a};return("groq"===b||"fireworks"===b||"openrouter"===b)&&(delete c.logprobs,delete c.logit_bias,delete c.top_logprobs),("atomesus"===b||"atms"===b)&&(delete c.tools,delete c.tool_choice),Array.isArray(c.messages)&&(c.messages=c.messages.map(a=>{if(a&&"object"==typeof a&&"name"in a&&"function"!==a.role&&"tool"!==a.role){let{name:b,...c}=a;return c}return a})),c}},80662:(a,b,c)=>{c.d(b,{RF:()=>i});var d=c(55511),e=c.n(d),f=c(41004);let g=new Map,h=setInterval(()=>{let a=Date.now();for(let[b,c]of g)a-c.lastUsed>f.v1.sessionTtlMs&&g.delete(b)},f.v1.sessionCleanupIntervalMs);function i(a){if(!a)return j();let b=g.get(a);if(b)return b.lastUsed=Date.now(),b.sessionId;if(g.size>=1e3){let a=g.keys().next().value;g.delete(a)}let c=j();return g.set(a,{sessionId:c,lastUsed:Date.now()}),c}function j(){return e().randomUUID()+Date.now().toString()}h.unref&&h.unref()},86724:(a,b,c)=>{c.d(b,{Z:()=>h});let d={deepseek:{scope:"all"},minimax:{scope:"all"},"minimax-cn":{scope:"all"}},e=[{match:a=>/^kimi-/i.test(a||""),scope:"toolCalls"},{match:a=>/deepseek/i.test(a||""),scope:"all"}],f="deepseek-v4-pro",g={[`${f}-max`]:{thinkingType:"enabled",reasoningEffort:"max"},[`${f}-none`]:{thinkingType:"disabled",reasoningEffort:null}};function h({provider:a,model:b,body:c}){let i=d[a],j=e.find(a=>a.match(b));var k=function({provider:a,model:b,body:c}){let d=g[b];if("deepseek"!==a||!d||!c)return c;let e={...c,model:f,extra_body:{...c.extra_body||{},thinking:{...c.extra_body?.thinking||{},type:d.thinkingType}}};return d.reasoningEffort?e.reasoning_effort=d.reasoningEffort:delete e.reasoning_effort,e}({provider:a,model:b,body:c}),l=i||j;if(!l||!k?.messages)return k;let m=k.messages.map(a=>!function(a,b){if(a?.role!=="assistant")return!1;let c=a.reasoning_content;return("string"!=typeof c||!(c.length>0))&&("toolCalls"!==b||Array.isArray(a.tool_calls)&&a.tool_calls.length>0)}(a,l.scope)?a:{...a,reasoning_content:" "});return{...k,messages:m}}},92306:(a,b,c)=>{function d(a,b){}c.d(b,{T:()=>e,s:()=>d});let e=!1},93943:(a,b,c)=>{c.d(b,{Vq:()=>i,fp:()=>g});var d=c(8590);let e=new Map;function f(a){if(null==a||""===a)return null;if("number"==typeof a)return a<1e12?1e3*a:a;let b=new Date(a).getTime();return Number.isFinite(b)?b:null}function g(a,b,c=Date.now()){if(!b)return!1;let e=f(b?.expiresAt??b?.tokenExpiresAt);return!!(null!==e&&e-c<(0,d.Og)(a)||"codex"===a&&b.refreshToken&&function(a,b=Date.now()){let c=f(a?.lastRefreshAt??a?.lastRefresh??a?.providerSpecificData?.lastRefreshAt);return!c||b-c>=6912e5}(b,c))}async function h(a,b,c){let d,f=(d=b?.connectionId||b?.id||b?.email||b?.name||b?.refreshToken?.slice?.(-16)||"default",`${a}:${d}`),g=e.get(f);if(g)return g;let h=Promise.resolve().then(c).finally(()=>{e.delete(f)});return e.set(f,h),h}async function i(a,b,c){return b?h(a,b,async()=>{let e=await (0,d.$B)(a,b,c);return function(a,b,c,e=Date.now()){var f,g;if(!c)return null;if((0,d.jT)(c))return c;let h={},i=new Date(e).toISOString();c.accessToken&&(h.accessToken=c.accessToken),c.apiKey&&(h.apiKey=c.apiKey),c.token&&(h.token=c.token);let j=c.refreshToken??b?.refreshToken;j&&(h.refreshToken=j);let k=c.idToken??b?.idToken;return k&&(h.idToken=k),c.expiresIn?(h.expiresIn=c.expiresIn,h.expiresAt=function(a,b=Date.now()){return a?new Date(b+1e3*a).toISOString():null}(c.expiresIn,e)):c.expiresAt&&(h.expiresAt=c.expiresAt),c.projectId&&(h.projectId=c.projectId),c.providerSpecificData&&(f=b?.providerSpecificData,h.providerSpecificData=(g=c.providerSpecificData)&&"object"==typeof g?{...f||{},...g}:f),c.copilotToken&&(h.copilotToken=c.copilotToken),c.copilotTokenExpiresAt&&(h.copilotTokenExpiresAt=c.copilotTokenExpiresAt),("codex"===a||h.accessToken||h.apiKey||h.token||h.refreshToken||h.copilotToken)&&(h.lastRefreshAt=c.lastRefreshAt||i),h}(a,b,e)}):null}}};
|
|
1
|
+
"use strict";exports.id=4921,exports.ids=[4921,8905],exports.modules={13120:(a,b,c)=>{c.d(b,{EF:()=>o,H_:()=>p,vm:()=>n});var d=c(77598),e=c.n(d),f=c(15308),g=c(35024),h=c(86724),i=c(80662);let j=new Set(["minimax-m2.5","minimax-m2.7","minimax-m3"]),k="https://opencode.ai/zen/go/v1",l="x-opencode-session",m="_opencodeGoSession";function n({credentials:a,body:b,clientTool:c}={}){var d;let f;return function(a){if(!a||"object"!=typeof a)return null;for(let[b,c]of Object.entries(a))if(b.toLowerCase()===l)return function(a){if("string"!=typeof a)return null;let b=a.trim();return!b||b.length>256?null:b}(c);return null}(a?.rawHeaders)||(d=function(a,b){let c=b?.prompt_cache_key||b?.session_id||b?.conversation_id||b?.metadata?.session_id||b?.metadata?.conversation_id;if("string"==typeof c&&c.trim())return c.trim();let d=a?.providerSpecificData?.workspaceId;return"string"==typeof d&&d.trim()?d.trim():(0,i.RF)(a?.connectionId||a?.id)}(a||{},b),f=e().createHash("sha256").update(`opencode-go\0${c||"generic"}\0${d}`).digest("hex").slice(0,32),`ses_${f}`)}let o=l;class p extends f.H{constructor(){super("opencode-go",g.xq["opencode-go"])}buildUrl(a){return this._lastModel=a,j.has(a)?`${k}/messages`:`${k}/chat/completions`}prepareRequestCredentials({body:a,credentials:b,clientTool:c}={}){let d=b||{};return{...d,[m]:n({credentials:d,body:a,clientTool:c})}}async execute(a){return super.execute({...a,credentials:this.prepareRequestCredentials(a)})}buildHeaders(a,b=!0){let c=a?.apiKey||a?.accessToken,d={"Content-Type":"application/json"};return j.has(this._lastModel)?(d["x-api-key"]=c,d["anthropic-version"]="2023-06-01"):d.Authorization=`Bearer ${c}`,b&&(d.Accept="text/event-stream"),d[l]=a?.[m]||this.prepareRequestCredentials({credentials:a})[m],d}transformRequest(a,b){return(0,h.Z)({provider:this.provider,model:a,body:b})}}},15308:(a,b,c)=>{c.d(b,{H:()=>t});var d=c(41004),e=c(93943),f=c(39609),g=c(68905),h=c(92306);let i=new Map;function j(a){return a&&"object"==typeof a?Array.isArray(a.contents)?{...a,contents:k(a.contents)}:a.request&&Array.isArray(a.request.contents)?{...a,request:{...a.request,contents:k(a.request.contents)}}:Array.isArray(a.messages)?{...a,messages:a.messages.map(a=>{if(!a||void 0===a.content||null===a.content||"string"==typeof a.content)return a;if(Array.isArray(a.content)){let b=a.content.filter(a=>!a||"object"!=typeof a||"image"!==a.type&&"image_url"!==a.type&&"input_image"!==a.type);return 0===b.length?{...a,content:"[image omitted: model does not support vision]"}:1===b.length&&"text"===b[0].type?{...a,content:b[0].text}:{...a,content:b}}return a})}:a:a}function k(a){return a.map(a=>{if(!a||!Array.isArray(a.parts))return a;let b=a.parts.filter(a=>!a?.inlineData&&!a?.fileData);return 0===b.length?{...a,parts:[{text:"[image omitted: model does not support vision]"}]}:{...a,parts:b}})}let l=["too many tools","tool count exceeds","tools array too large","schema too large","maximum number of tools","function declarations exceed"],m=new Map;function n(a){let b=m.get(a);return b||(b={consecutiveFailures:0,trippedUntil:null},m.set(a,b)),b}var o=c(70327);let p=new Map,q=new Map,r=new Map;function s(a,b){let c=`${a}:${b}`;if(!q.has(c)){if(q.size>=500){let a=q.keys().next().value;void 0!==a&&q.delete(a)}q.set(c,{status:"active",failures:0,lastFailure:null,lastSuccess:null,totalRequests:0,totalFailures:0})}return q.get(c)}class t{constructor(a,b){this.provider=a,this.config=b,this.noAuth=b?.noAuth||!1}getProvider(){return this.provider}getBaseUrls(){return this.config.baseUrls||(this.config.baseUrl?[this.config.baseUrl]:[])}getFallbackCount(){return this.getBaseUrls().length||1}buildUrl(a,b,c=0,d=null){if(this.provider?.startsWith?.("openai-compatible-")){let a=(d?.providerSpecificData?.baseUrl||"https://api.openai.com/v1").replace(/\/$/,""),b=this.provider.includes("responses")?"/responses":"/chat/completions";return`${a}${b}`}if(this.provider?.startsWith?.("anthropic-compatible-")){let a=(d?.providerSpecificData?.baseUrl||"https://api.anthropic.com/v1").replace(/\/$/,"");return`${a}/messages`}let e=this.getBaseUrls();return e[c]||e[0]||this.config.baseUrl}buildHeaders(a,b=!0){let c={"Content-Type":"application/json","x-request-source":"local",...this.config.headers};return this.provider?.startsWith?.("anthropic-compatible-")?(a.apiKey?c["x-api-key"]=a.apiKey:a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),c["anthropic-version"]||(c["anthropic-version"]="2023-06-01")):a.accessToken?c.Authorization=`Bearer ${a.accessToken}`:a.apiKey&&(c.Authorization=`Bearer ${a.apiKey}`),b&&(c.Accept="text/event-stream"),c}transformRequest(a,b,c,d){return b}shouldRetry(a,b){return a===d.gx.RATE_LIMITED&&b+1<this.getFallbackCount()}async refreshCredentials(a,b,c=null){return null}needsRefresh(a){return(0,e.fp)(this.provider,a)}parseError(a,b){return{status:a.status,message:b||`HTTP ${a.status}`}}async execute({model:a,body:b,stream:c,credentials:e,signal:k,log:q,proxyOptions:t=null}){let u=this.getFallbackCount(),v=null,w=0,x={},y={...d.cI,...this.config.retry},z=async(a,b,c,e=null)=>{let{attempts:f,delayMs:h}=(0,d.DR)(y[b]);if(f<=0||x[a]>=f)return!1;let i=null;if(e){let{resetsAtMs:a,source:b}=(0,g.parseRetryAfterHeaders)(e);if(a&&(i=a,b&&q?.debug?.("RETRY",`${c}, ${b} → reset in ${Math.ceil((a-Date.now())/1e3)}s`)),!i&&e.status===d.gx.RATE_LIMITED&&"function"==typeof this.parseError)try{let a=await e.clone().text(),b=this.parseError(e,a);b?.resetsAtMs&&(i=b.resetsAtMs)}catch{}}if(i){let b=i-Date.now();if(b>6e4)return q?.debug?.("RETRY",`${c}, reset too far (${Math.ceil(b/1e3)}s), skipping`),!1;let d=Math.max(b+100,250);return x[a]++,q?.debug?.("RETRY",`${c} retry ${x[a]}/${f} after ${(d/1e3).toFixed(1)}s (provider-set)`),await new Promise(a=>setTimeout(a,d)),!0}return x[a]++,q?.debug?.("RETRY",`${c} retry ${x[a]}/${f} after ${h/1e3}s`),await new Promise(a=>setTimeout(a,h)),!0};if(function(a){if(!a)return!1;let b=m.get(a);return!!b&&!!b.trippedUntil&&(!(Date.now()>b.trippedUntil)||(b.trippedUntil=null,!1))}(this.provider))throw q?.warn?.("BREAKER",`${this.provider} circuit breaker OPEN — skipping request`),Error(`Circuit breaker open for provider: ${this.provider}`);for(let g=0;g<u;g++){let m=this.buildUrl(a,c,g,e),y=null,A=e,B=e?.providerSpecificData?.extraApiKeys;if(Array.isArray(B)&&B.length>0&&e?.id){!function(a,b){let c=(Array.isArray(b)?b:[]).filter(a=>"string"==typeof a&&a.trim().length>0);r.set(a,c.length>0)}(e.id,B);let a=function(a,b,c=[]){let d=(Array.isArray(c)?c:[]).filter(a=>"string"==typeof a&&a.trim().length>0),e=[],f=s(a,"primary");b&&"invalid"!==f.status&&e.push({key:b,keyId:"primary"});for(let b=0;b<d.length;b++){let c=`extra_${b}`;"invalid"!==s(a,c).status&&e.push({key:d[b],keyId:c})}if(0===e.length)return null;if(1===e.length)return{key:e[0].key,keyId:e[0].keyId};let g=p.get(a)??0,h=g%e.length;return p.set(a,g+1),{key:e[h].key,keyId:e[h].keyId}}(e.id,e.apiKey,B);a&&(y=a.keyId,A={...e,apiKey:a.key})}let C=function(a,b){let c=`${a}/${b}`,d=i.get(c);return!!d&&(!(Date.now()>d)||(i.delete(c),!1))}(this.provider,a),D=C?j(b):b,E=this.transformRequest(a,D,c,A),F=this.buildHeaders(A,c,m,a);F["x-request-source"]="local",x[g]||(x[g]=0);let G=new AbortController,H=this.config?.timeoutMs||d.pH,I=setTimeout(()=>G.abort(Error("fetch connect timeout")),H),J=k?AbortSignal.any([k,G.signal]):G.signal;try{let d=JSON.stringify(E),k=Date.now();(0,h.s)("FETCH",`${this.provider.toUpperCase()} → ${m} | body=${d.length}B | connectTimeout=${H}ms`);let p=await (0,f.proxyAwareFetch)(m,{method:"POST",headers:F,body:d,signal:J},t);clearTimeout(I);let r=p.headers?.get?.("content-type")||"",u=p.headers?.get?.("content-length")||"?";if((0,h.s)("FETCH",`${this.provider.toUpperCase()} ← ${p.status} | ttft=${Date.now()-k}ms | ct=${r} | cl=${u}`),y&&(401===p.status||403===p.status?!function(a,b){let c=s(a,b);c.failures++,c.totalRequests++,c.totalFailures++,c.lastFailure=new Date().toISOString(),c.failures>=2?c.status="invalid":c.status="warning"}(e.id,y):p.status>=200&&p.status<300&&function(a,b){let c=s(a,b);c.failures=0,c.totalRequests++,c.lastSuccess=new Date().toISOString(),c.status="active"}(e.id,y)),p.status>=200&&p.status<500&&429!==p.status?!function(a){if(!a)return;let b=n(a);b.consecutiveFailures=0,b.trippedUntil=null}(this.provider):p.status>=500&&function(a,b){if(!a||b<500||b>=600)return;let c=n(a);return c.consecutiveFailures++,c.consecutiveFailures>=10&&(c.trippedUntil=Date.now()+3e5,!0)}(this.provider,p.status)&&q?.warn?.("BREAKER",`${this.provider} circuit breaker TRIPPED (too many 5xx errors)`),await z(g,p.status,`status ${p.status}`,p)){g--;continue}if(400===p.status)try{let b=await p.clone().text();if(function(a,b){if(400!==a||!b||"string"!=typeof b)return!1;let c=b.toLowerCase();return l.some(a=>c.includes(a))}(p.status,b)){q?.info?.("TOOL_LIMIT",`${this.provider}/${a} → too many tools, stripping and retrying`);let b=function(a){if(!a||!Array.isArray(a.tools)||0===a.tools.length)return a;let b=new Set(["bash","str_replace_editor","read_file","edit","run_terminal_cmd","list_dir","grep","file_search"]),c=a.tools.filter(a=>{let c=a?.function?.name||a?.name;return!!c&&(!!b.has(c)||!(c.includes("mcp__")||c.startsWith("github_")))});return{...a,tools:c}}(D);return E=this.transformRequest(a,b,c,A),{response:await (0,f.proxyAwareFetch)(m,{method:"POST",headers:F,body:JSON.stringify(E),signal:J},t),url:m,headers:F,transformedBody:E}}let d=(0,o.s)(b);if(d){q?.info?.("MODEL_STRIP",`${this.provider}/${a} → rejected field '${d}', stripping and retrying`);let b={...D};return delete b[d],E=this.transformRequest(a,b,c,A),{response:await (0,f.proxyAwareFetch)(m,{method:"POST",headers:F,body:JSON.stringify(E),signal:J},t),url:m,headers:F,transformedBody:E}}}catch(a){(0,h.s)("RECOVERY",`error inspecting 400 body: ${a.message}`)}if(400===p.status&&!C)try{let d=await p.clone().text();if(function(a,b){if(400!==a||!b||"string"!=typeof b)return!1;let c=b.toLowerCase();return c.includes("image_format_unsupported")||c.includes("multimodal processing is not enabled")||c.includes("does not support the image content")||c.includes("does not support image")||/messages\.\d+\.content.*must be a string/.test(c)||/unknown variant.*image_url.*expected.*text/.test(c)}(p.status,d)){!function(a,b){a&&b&&i.set(`${a}/${b}`,Date.now()+36e5)}(this.provider,a),q?.debug?.("IMAGE_CAP",`${this.provider}/${a} → no image support detected, stripping + retrying`);let d=j(b);E=this.transformRequest(a,d,c,e);let g=JSON.stringify(E);return{response:await (0,f.proxyAwareFetch)(m,{method:"POST",headers:F,body:g,signal:J},t),url:m,headers:F,transformedBody:E}}}catch(a){(0,h.s)("IMAGE_CAP",`error inspecting 400 body: ${a.message}`)}if(this.shouldRetry(p.status,g)){q?.debug?.("RETRY",`${p.status} on ${m}, trying fallback ${g+1}`),w=p.status;continue}return{response:p,url:m,headers:F,transformedBody:E}}catch(b){clearTimeout(I),v=b;let a=G.signal.aborted&&"AbortError"===b.name;if((0,h.s)("FETCH",`${this.provider.toUpperCase()} ✖ ${b.name}: ${b.message}${a?" (connect timeout)":""}`),"AbortError"===b.name&&!a)throw b;if(await z(g,d.gx.BAD_GATEWAY,`network "${b.message}"`)){g--;continue}if(g+1<u){q?.debug?.("RETRY",`Error on ${m}, trying fallback ${g+1}`);continue}throw b}}throw v||Error(`All ${u} URLs failed with status ${w}`)}}},15626:(a,b,c)=>{c.d(b,{w$:()=>e});let d=c(39006).rE||"0.0.0";function e(a,b={}){let c,f=(c=function(a){if("string"!=typeof a)return"";let b=a.trim();return b?b.startsWith("workos:")?b:`workos:${b}`:""}(a))?`Bearer ${c}`:"",g={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","User-Agent":`kRouter/${d}`,"X-PLATFORM":process.platform||"unknown","X-PLATFORM-VERSION":process.version||"unknown","X-CLIENT-TYPE":"9router","X-CLIENT-VERSION":d,"X-CORE-VERSION":d,"X-IS-MULTIROOT":"false",...b};return f&&(g.Authorization=f),g}},39006:a=>{a.exports={rE:"0.5.160"}},68905:(a,b,c)=>{c.d(b,{parseRetryAfterHeaders:()=>e});let d=["retry-after","anthropic-ratelimit-tokens-reset","anthropic-ratelimit-requests-reset","x-ratelimit-reset-requests","x-ratelimit-reset-tokens","x-ratelimit-reset","x-ratelimit-reset-after"];function e(a){if(!a)return{resetsAtMs:null};let b=b=>{if("function"==typeof a.headers?.get)return a.headers.get(b);if("function"==typeof a.get)return a.get(b);let c=b.toLowerCase();for(let[b,d]of Object.entries(a))if(b.toLowerCase()===c)return d;return null},c=null,e=null;for(let a of d){let d=b(a);if(null==d)continue;let f=function(a,b){if(null==b)return null;let c=String(b).trim();if(!c)return null;let d=Date.now();if("retry-after"===a){if(/^\d+$/.test(c))return d+1e3*Number(c);let a=Date.parse(c);return Number.isFinite(a)?a:null}if(a.startsWith("anthropic-ratelimit-")){let a=Date.parse(c);return Number.isFinite(a)?a:null}if(a.startsWith("x-ratelimit-reset")){if(/^\d{10}(\.\d+)?$/.test(c))return 1e3*Number(c);let a=function(a){let b;if("string"!=typeof a)return null;let c=a.trim().toLowerCase();if(!c)return null;if(/^\d+$/.test(c)||/^\d+\.\d+$/.test(c))return 1e3*Number(c);let d=0,e=/(\d+(?:\.\d+)?)\s*(ms|s|m|h)/g,f=!1;for(;null!==(b=e.exec(c));){f=!0;let a=parseFloat(b[1]);switch(b[2]){case"ms":d+=a;break;case"s":d+=1e3*a;break;case"m":d+=60*a*1e3;break;case"h":d+=60*a*6e4}}return f?d:null}(c);if(null!=a)return d+a}return null}(a,d);null!=f&&f>Date.now()&&(null==c||f<c)&&(c=f,e=a)}return c?{resetsAtMs:c,source:e}:{resetsAtMs:null}}},70327:(a,b,c)=>{c.d(b,{j:()=>g,s:()=>f});let d=["reasoning_budget","chat_template","reasoning_content","logprobs","logit_bias","top_logprobs","presence_penalty","frequency_penalty"],e=new Map;function f(a){if("string"!=typeof a||!a)return null;for(let b of d)if((function(a){let b=e.get(a);return b||(b=RegExp(`\\b${a}\\b`),e.set(a,b)),b})(b).test(a))return b;return null}function g(a,b){if(!a||"object"!=typeof a)return a;let c={...a};return("groq"===b||"fireworks"===b||"openrouter"===b)&&(delete c.logprobs,delete c.logit_bias,delete c.top_logprobs),("atomesus"===b||"atms"===b)&&(delete c.tools,delete c.tool_choice),Array.isArray(c.messages)&&(c.messages=c.messages.map(a=>{if(a&&"object"==typeof a&&"name"in a&&"function"!==a.role&&"tool"!==a.role){let{name:b,...c}=a;return c}return a})),c}},80662:(a,b,c)=>{c.d(b,{RF:()=>i});var d=c(55511),e=c.n(d),f=c(41004);let g=new Map,h=setInterval(()=>{let a=Date.now();for(let[b,c]of g)a-c.lastUsed>f.v1.sessionTtlMs&&g.delete(b)},f.v1.sessionCleanupIntervalMs);function i(a){if(!a)return j();let b=g.get(a);if(b)return b.lastUsed=Date.now(),b.sessionId;if(g.size>=1e3){let a=g.keys().next().value;g.delete(a)}let c=j();return g.set(a,{sessionId:c,lastUsed:Date.now()}),c}function j(){return e().randomUUID()+Date.now().toString()}h.unref&&h.unref()},86724:(a,b,c)=>{c.d(b,{Z:()=>h});let d={deepseek:{scope:"all"},minimax:{scope:"all"},"minimax-cn":{scope:"all"}},e=[{match:a=>/^kimi-/i.test(a||""),scope:"toolCalls"},{match:a=>/deepseek/i.test(a||""),scope:"all"}],f="deepseek-v4-pro",g={[`${f}-max`]:{thinkingType:"enabled",reasoningEffort:"max"},[`${f}-none`]:{thinkingType:"disabled",reasoningEffort:null}};function h({provider:a,model:b,body:c}){let i=d[a],j=e.find(a=>a.match(b));var k=function({provider:a,model:b,body:c}){let d=g[b];if("deepseek"!==a||!d||!c)return c;let e={...c,model:f,extra_body:{...c.extra_body||{},thinking:{...c.extra_body?.thinking||{},type:d.thinkingType}}};return d.reasoningEffort?e.reasoning_effort=d.reasoningEffort:delete e.reasoning_effort,e}({provider:a,model:b,body:c}),l=i||j;if(!l||!k?.messages)return k;let m=k.messages.map(a=>!function(a,b){if(a?.role!=="assistant")return!1;let c=a.reasoning_content;return("string"!=typeof c||!(c.length>0))&&("toolCalls"!==b||Array.isArray(a.tool_calls)&&a.tool_calls.length>0)}(a,l.scope)?a:{...a,reasoning_content:" "});return{...k,messages:m}}},92306:(a,b,c)=>{function d(a,b){}c.d(b,{T:()=>e,s:()=>d});let e=!1},93943:(a,b,c)=>{c.d(b,{Vq:()=>i,fp:()=>g});var d=c(8590);let e=new Map;function f(a){if(null==a||""===a)return null;if("number"==typeof a)return a<1e12?1e3*a:a;let b=new Date(a).getTime();return Number.isFinite(b)?b:null}function g(a,b,c=Date.now()){if(!b)return!1;let e=f(b?.expiresAt??b?.tokenExpiresAt);return!!(null!==e&&e-c<(0,d.Og)(a)||"codex"===a&&b.refreshToken&&function(a,b=Date.now()){let c=f(a?.lastRefreshAt??a?.lastRefresh??a?.providerSpecificData?.lastRefreshAt);return!c||b-c>=6912e5}(b,c))}async function h(a,b,c){let d,f=(d=b?.connectionId||b?.id||b?.email||b?.name||b?.refreshToken?.slice?.(-16)||"default",`${a}:${d}`),g=e.get(f);if(g)return g;let h=Promise.resolve().then(c).finally(()=>{e.delete(f)});return e.set(f,h),h}async function i(a,b,c){return b?h(a,b,async()=>{let e=await (0,d.$B)(a,b,c);return function(a,b,c,e=Date.now()){var f,g;if(!c)return null;if((0,d.jT)(c))return c;let h={},i=new Date(e).toISOString();c.accessToken&&(h.accessToken=c.accessToken),c.apiKey&&(h.apiKey=c.apiKey),c.token&&(h.token=c.token);let j=c.refreshToken??b?.refreshToken;j&&(h.refreshToken=j);let k=c.idToken??b?.idToken;return k&&(h.idToken=k),c.expiresIn?(h.expiresIn=c.expiresIn,h.expiresAt=function(a,b=Date.now()){return a?new Date(b+1e3*a).toISOString():null}(c.expiresIn,e)):c.expiresAt&&(h.expiresAt=c.expiresAt),c.projectId&&(h.projectId=c.projectId),c.providerSpecificData&&(f=b?.providerSpecificData,h.providerSpecificData=(g=c.providerSpecificData)&&"object"==typeof g?{...f||{},...g}:f),c.copilotToken&&(h.copilotToken=c.copilotToken),c.copilotTokenExpiresAt&&(h.copilotTokenExpiresAt=c.copilotTokenExpiresAt),("codex"===a||h.accessToken||h.apiKey||h.token||h.refreshToken||h.copilotToken)&&(h.lastRefreshAt=c.lastRefreshAt||i),h}(a,b,e)}):null}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=5718,exports.ids=[5718],exports.modules={15626:(a,b,c)=>{c.d(b,{w$:()=>e});let d=c(39006).rE||"0.0.0";function e(a,b={}){let c,f=(c=function(a){if("string"!=typeof a)return"";let b=a.trim();return b?b.startsWith("workos:")?b:`workos:${b}`:""}(a))?`Bearer ${c}`:"",g={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","User-Agent":`kRouter/${d}`,"X-PLATFORM":process.platform||"unknown","X-PLATFORM-VERSION":process.version||"unknown","X-CLIENT-TYPE":"9router","X-CLIENT-VERSION":d,"X-CORE-VERSION":d,"X-IS-MULTIROOT":"false",...b};return f&&(g.Authorization=f),g}},16655:(a,b,c)=>{c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(9248)},18893:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>z,OPTIONS:()=>y,buildModelsList:()=>x,invalidateModelsCache:()=>q});var d=c(81329),e=c(75681),f=c(89718),g=c(16655),h=c(29679),i=c(53225),j=c(15626);async function k(a){let b=!!a?.apiKey,c=b?a.apiKey:a?.accessToken;if(!c)return null;let d=new AbortController,e=setTimeout(()=>d.abort(),5e3);try{let a=await fetch("https://api.cline.bot/api/v1/models",{method:"GET",headers:b?{Accept:"application/json",Authorization:`Bearer ${c}`}:(0,j.w$)(c,{Accept:"application/json"}),signal:d.signal});if(!a.ok)return null;let e=await a.json(),f=Array.isArray(e)?e:e?.data;if(!Array.isArray(f))return null;let g=f.filter(a=>"string"==typeof a?.id&&a.id.startsWith("cline-pass/")).map(a=>({id:a.id,name:a.name||a.id}));return g.length?{models:g}:null}catch{return null}finally{clearTimeout(e)}}var l=c(52007),m=c(66306),n=c(77598),o=c.n(n);let p=new Map;function q(){p.clear()}let r={kiro:async a=>{let b=await (0,h.cW)({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},qoder:async a=>{let b=await (0,i.EV)({accessToken:a.accessToken,refreshToken:a.refreshToken,email:a.email,displayName:a.displayName,providerSpecificData:a.providerSpecificData||{}});return b?.models?.length?{models:b.models.map(a=>({id:a.id,name:a.name}))}:null},kimchi:async a=>{let b=await (0,l.av)({accessToken:a.accessToken,apiKey:a.apiKey,providerSpecificData:a.providerSpecificData||{}});return b?.models?.length?{models:b.models}:null},clinepass:async a=>{let b=await k({accessToken:a.accessToken,apiKey:a.apiKey});return b?.models?.length?{models:b.models}:null}},s=/[-_][0-9a-f]{8,}$/i,t={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText",video:"video"};function u(a){return a?.type&&t[a.type]||"llm"}async function v(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{var f;let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:d,cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let g=(f=await e.json(),Array.isArray(f)?f:f?.data||f?.models||f?.results||[]);return Array.from(new Set(g.map(a=>a?.id||a?.name||a?.model).filter(a=>"string"==typeof a&&""!==a.trim())))}catch{return[]}}function w(a,b){let c=e.AI_PROVIDERS[a],d=Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"];return b.some(a=>d.includes(a))}async function x(a){let b=[],c=!1;try{b=(b=await (0,f.getProviderConnections)()).filter(a=>!1!==a.isActive)}catch(a){c=!0,console.log("Could not fetch providers, returning all models")}let h=[];try{h=await (0,f.Uv)()}catch(a){console.log("Could not fetch combos")}let i=[];try{i=await (0,f.uv)()}catch(a){console.log("Could not fetch custom models")}let j={};try{j=await (0,f.OM)()}catch(a){console.log("Could not fetch model aliases")}let k={};try{k=await (0,g.vF)()}catch(a){console.log("Could not fetch disabled models")}let l=(a,b)=>Array.isArray(k[a])&&k[a].includes(b),n=new Map;for(let a of b)n.has(a.provider)||n.set(a.provider,a);let o=[];for(let b of h){if(!function(a,b){let c=a?.kind||"llm";return b.includes(c)}(b,a))continue;let c={id:b.name,object:"model",owned_by:"combo"};("webSearch"===b.kind||"webFetch"===b.kind)&&(c.kind=b.kind),o.push(c)}if(c){let b=Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a]));for(let[c,e]of Object.entries(d.vq))if(w(b[c]||c,a))for(let b of e)a.includes(u(b))&&(l(c,b.id)||o.push({id:`${c}/${b.id}`,object:"model",owned_by:c}));for(let b of i){if(!b?.id||b.type&&"llm"!==b.type||!a.includes("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();d&&o.push({id:`${c}/${d}`,object:"model",owned_by:c})}}else for(let[b,c]of n.entries()){if(!w(b,a))continue;let f=d.Xg[b]||b,g=(c?.providerSpecificData?.prefix||(0,e.wG)(b)||f).trim(),h=d.vq[f]||[],k=c?.providerSpecificData?.enabledModels,n=Array.isArray(k)&&k.length>0,p=(0,e.mq)(b)||(0,e.gb)(b),q=new Map(h.map(a=>[a.id,u(a)])),t=n?Array.from(new Set(k.filter(a=>"string"==typeof a&&""!==a.trim()))):h.map(a=>a.id);p&&0===t.length&&!s.test(b)&&(t=await v(c));let x=r[b];if(x&&!n)try{let a=await x(c);a?.models?.length&&(t=a.models.map(a=>a.id))}catch(a){console.log(`Live model fetch failed for ${b}: ${a?.message||a}`)}let y=t.map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim()),z=new Map;for(let c of Array.from(new Set([...y,...i.filter(c=>{if(!c?.id)return!1;let d=u(c)||"llm";if(!a.includes(d)&&!("imageToText"===d&&a.includes("llm")))return!1;let e=c.providerAlias;return e===f||e===g||e===b}).map(a=>{let b=String(a.id).trim();return b&&z.set(b,u(a)||"llm"),b}).filter(a=>""!==a),...Object.values(j||{}).filter(a=>"string"==typeof a&&!!a.includes("/")&&(a.startsWith(`${g}/`)||a.startsWith(`${f}/`)||a.startsWith(`${b}/`))).map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim())]))){let d=z.get(c),e=q.get(c)||d||function(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}(c),h="imageToText"===e&&a.includes("llm");if(!a.includes(e)&&!h||l(g,c)||l(f,c))continue;let i={id:`${g}/${c}`,object:"model",owned_by:g},j=(0,m.a0)(d);if(j&&(i.capabilities=j),"llm"===e||h){let a=(0,m.nl)(b,c);Number.isFinite(a?.contextWindow)&&(i.context_length=a.contextWindow),Number.isFinite(a?.maxOutput)&&(i.max_completion_tokens=a.maxOutput)}o.push(i)}let A=e.AI_PROVIDERS[b],B=[];if(a.includes("tts")&&Array.isArray(A?.ttsConfig?.models))for(let a of A.ttsConfig.models)a?.id&&B.push(a.id);if(a.includes("embedding")&&Array.isArray(A?.embeddingConfig?.models))for(let a of A.embeddingConfig.models)a?.id&&B.push(a.id);for(let a of B)l(g,a)||l(f,a)||o.push({id:`${g}/${a}`,object:"model",owned_by:g});a.includes("webSearch")&&A?.searchConfig&&o.push({id:`${g}/search`,object:"model",kind:"webSearch",owned_by:g}),a.includes("webFetch")&&A?.fetchConfig&&o.push({id:`${g}/fetch`,object:"model",kind:"webFetch",owned_by:g})}let p=[],q=new Set;for(let a of o)!a?.id||q.has(a.id)||(q.add(a.id),p.push(a));return p}async function y(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function z(a){try{var b;let c=(a?.headers?.get("user-agent")||"").toLowerCase(),d=new URL(a.url),e=c.includes("codex")||"codex"===d.searchParams.get("format"),f=["llm"],g=(b=e?"codex":"openai",`${[...f].sort().join(",")}|${b}`),h=Date.now(),i=p.get(g);if(!i||i.expiresAt<=h){let a,b=await x(f),c=e?JSON.stringify({models:b.map(a=>({id:a.id,name:a.id,...a.capabilities?{capabilities:a.capabilities}:{}}))}):JSON.stringify({object:"list",data:b});i={body:c,etag:(a=o().createHash("sha1").update(c).digest("hex").slice(0,16),`W/"${a}"`),expiresAt:h+3e4},p.set(g,i)}let j=a?.headers?.get("if-none-match");if(j&&j===i.etag)return new Response(null,{status:304,headers:{"Access-Control-Allow-Origin":"*","Cache-Control":"public, max-age=30",ETag:i.etag}});return new Response(i.body,{status:200,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*","Cache-Control":"public, max-age=30",ETag:i.etag}})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:a.message,type:"server_error"}},{status:500})}}},19225:(a,b,c)=>{a.exports=c(44870)},29679:(a,b,c)=>{c.d(b,{cW:()=>l});var d=c(94755),e=c(55511),f=c(8590);let g="1.0.0",h="0.10.32",i="us-east-1",j=new Map;async function k(a,b){let c,f,j,k=a?.providerSpecificData?.profileArn||"",l=function(a){if(!a||"string"!=typeof a)return i;let b=a.split(":");return b.length>=4&&b[3]?b[3]:i}(k),m=new URLSearchParams;m.set("origin","AI_EDITOR"),k&&m.set("profileArn",k);let n=`https://q.${l}.amazonaws.com/ListAvailableModels?${m.toString()}`,o={...(f=a?.providerSpecificData?.clientId||a?.refreshToken||a?.providerSpecificData?.profileArn||a?.accessToken||"kiro-anonymous",j=(0,e.createHash)("sha256").update(String(f)).digest("hex"),{"User-Agent":`aws-sdk-js/${g} ua/2.1 os/windows#10.0.26200 lang/js md/nodejs#22.21.1 api/codewhispererruntime#${g} m/N,E KiroIDE-${h}-${j}`,"x-amz-user-agent":`aws-sdk-js/${g} KiroIDE-${h}-${j}`,"x-amzn-kiro-agent-mode":"vibe","x-amzn-codewhisperer-optout":"true","amz-sdk-request":"attempt=1; max=1","amz-sdk-invocation-id":(0,d.A)(),Accept:"application/json"}),Authorization:`Bearer ${a?.accessToken||""}`},p=new AbortController,q=setTimeout(()=>p.abort("timeout"),3e4);b&&"function"==typeof b.addEventListener&&b.addEventListener("abort",()=>p.abort(b.reason));try{c=await fetch(n,{method:"GET",headers:o,signal:p.signal})}finally{clearTimeout(q)}if(!c.ok){let a=await c.text().catch(()=>""),b=Error(`Kiro ListAvailableModels ${c.status}: ${a||c.statusText}`);throw b.status=c.status,b.body=a,b}let r=await c.json();return Array.isArray(r?.models)?r.models:[]}async function l(a,b={}){let c,d,g;if(!a||!a.accessToken)return b.log?.debug?.("KIRO_MODELS","No accessToken; skipping live fetch"),null;let h=(g=(d=a?.providerSpecificData||{}).profileArn||d.clientId||a?.refreshToken||a?.accessToken||"anonymous",(0,e.createHash)("sha256").update(`kiro:${g}`).digest("hex")),i=Date.now();if(!b.forceRefresh){let a=j.get(h);if(a&&a.expiresAt>i)return{models:a.models,rawModels:a.rawModels}}try{c=await k(a,b.signal)}catch(d){if(!d||401!==d.status||!a.refreshToken)return b.log?.warn?.("KIRO_MODELS",`ListAvailableModels failed: ${d?.message||d}`),null;{b.log?.info?.("KIRO_MODELS","Got 401 from Kiro; refreshing token");let d=await (0,f.Ql)(a.refreshToken,a.providerSpecificData,b.log);if(!d?.accessToken)return b.log?.warn?.("KIRO_MODELS","Token refresh did not return accessToken"),null;{let e={...a,...d};if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed(d)}catch(a){b.log?.warn?.("KIRO_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await k(e,b.signal),a.accessToken=e.accessToken,e.refreshToken&&(a.refreshToken=e.refreshToken)}catch(a){return b.log?.warn?.("KIRO_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}}let m=[];for(let a of c){if(!a||"object"!=typeof a)continue;let b=a.modelId||a.id;if(!b)continue;let c=function(a,b,c){let d=(a||b||"Kiro").trim(),e=Number(c);if(!Number.isFinite(e)||1e-9>Math.abs(e-1)||e<=0)return`Kiro ${d}`;let f=e.toFixed(1).replace(",",".");return`Kiro ${d} (${f}x credit)`}(a.modelName,b,a.rateMultiplier),d=Number(a?.tokenLimits?.maxInputTokens)||2e5;for(let e of function(a,b){let c,d=((c=a).endsWith("-agentic")&&(c=c.slice(0,-8)),c.endsWith("-thinking")&&(c=c.slice(0,-9)),c),e=b||`Kiro ${d}`,f=[{id:d,name:e,capabilities:{thinking:!1,agentic:!1}},{id:`${d}-thinking`,name:`${e} (Thinking)`,capabilities:{thinking:!0,agentic:!1}}];return"auto"!==d&&(f.push({id:`${d}-agentic`,name:`${e} (Agentic)`,capabilities:{thinking:!1,agentic:!0}}),f.push({id:`${d}-thinking-agentic`,name:`${e} (Thinking + Agentic)`,capabilities:{thinking:!0,agentic:!0}})),f}(b,c))m.push({...e,contextLength:d,rateMultiplier:Number.isFinite(Number(a.rateMultiplier))?Number(a.rateMultiplier):1,upstreamModelId:b,description:a.description||""})}return j.set(h,{expiresAt:i+3e5,models:m,rawModels:c}),{models:m,rawModels:c}}},39006:a=>{a.exports={rE:"0.5.159"}},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},81329:(a,b,c)=>{c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(44404);Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};
|
|
1
|
+
"use strict";exports.id=5718,exports.ids=[5718],exports.modules={15626:(a,b,c)=>{c.d(b,{w$:()=>e});let d=c(39006).rE||"0.0.0";function e(a,b={}){let c,f=(c=function(a){if("string"!=typeof a)return"";let b=a.trim();return b?b.startsWith("workos:")?b:`workos:${b}`:""}(a))?`Bearer ${c}`:"",g={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","User-Agent":`kRouter/${d}`,"X-PLATFORM":process.platform||"unknown","X-PLATFORM-VERSION":process.version||"unknown","X-CLIENT-TYPE":"9router","X-CLIENT-VERSION":d,"X-CORE-VERSION":d,"X-IS-MULTIROOT":"false",...b};return f&&(g.Authorization=f),g}},16655:(a,b,c)=>{c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(9248)},18893:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>z,OPTIONS:()=>y,buildModelsList:()=>x,invalidateModelsCache:()=>q});var d=c(81329),e=c(75681),f=c(89718),g=c(16655),h=c(29679),i=c(53225),j=c(15626);async function k(a){let b=!!a?.apiKey,c=b?a.apiKey:a?.accessToken;if(!c)return null;let d=new AbortController,e=setTimeout(()=>d.abort(),5e3);try{let a=await fetch("https://api.cline.bot/api/v1/models",{method:"GET",headers:b?{Accept:"application/json",Authorization:`Bearer ${c}`}:(0,j.w$)(c,{Accept:"application/json"}),signal:d.signal});if(!a.ok)return null;let e=await a.json(),f=Array.isArray(e)?e:e?.data;if(!Array.isArray(f))return null;let g=f.filter(a=>"string"==typeof a?.id&&a.id.startsWith("cline-pass/")).map(a=>({id:a.id,name:a.name||a.id}));return g.length?{models:g}:null}catch{return null}finally{clearTimeout(e)}}var l=c(52007),m=c(66306),n=c(77598),o=c.n(n);let p=new Map;function q(){p.clear()}let r={kiro:async a=>{let b=await (0,h.cW)({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},qoder:async a=>{let b=await (0,i.EV)({accessToken:a.accessToken,refreshToken:a.refreshToken,email:a.email,displayName:a.displayName,providerSpecificData:a.providerSpecificData||{}});return b?.models?.length?{models:b.models.map(a=>({id:a.id,name:a.name}))}:null},kimchi:async a=>{let b=await (0,l.av)({accessToken:a.accessToken,apiKey:a.apiKey,providerSpecificData:a.providerSpecificData||{}});return b?.models?.length?{models:b.models}:null},clinepass:async a=>{let b=await k({accessToken:a.accessToken,apiKey:a.apiKey});return b?.models?.length?{models:b.models}:null}},s=/[-_][0-9a-f]{8,}$/i,t={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText",video:"video"};function u(a){return a?.type&&t[a.type]||"llm"}async function v(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{var f;let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:d,cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let g=(f=await e.json(),Array.isArray(f)?f:f?.data||f?.models||f?.results||[]);return Array.from(new Set(g.map(a=>a?.id||a?.name||a?.model).filter(a=>"string"==typeof a&&""!==a.trim())))}catch{return[]}}function w(a,b){let c=e.AI_PROVIDERS[a],d=Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"];return b.some(a=>d.includes(a))}async function x(a){let b=[],c=!1;try{b=(b=await (0,f.getProviderConnections)()).filter(a=>!1!==a.isActive)}catch(a){c=!0,console.log("Could not fetch providers, returning all models")}let h=[];try{h=await (0,f.Uv)()}catch(a){console.log("Could not fetch combos")}let i=[];try{i=await (0,f.uv)()}catch(a){console.log("Could not fetch custom models")}let j={};try{j=await (0,f.OM)()}catch(a){console.log("Could not fetch model aliases")}let k={};try{k=await (0,g.vF)()}catch(a){console.log("Could not fetch disabled models")}let l=(a,b)=>Array.isArray(k[a])&&k[a].includes(b),n=new Map;for(let a of b)n.has(a.provider)||n.set(a.provider,a);let o=[];for(let b of h){if(!function(a,b){let c=a?.kind||"llm";return b.includes(c)}(b,a))continue;let c={id:b.name,object:"model",owned_by:"combo"};("webSearch"===b.kind||"webFetch"===b.kind)&&(c.kind=b.kind),o.push(c)}if(c){let b=Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a]));for(let[c,e]of Object.entries(d.vq))if(w(b[c]||c,a))for(let b of e)a.includes(u(b))&&(l(c,b.id)||o.push({id:`${c}/${b.id}`,object:"model",owned_by:c}));for(let b of i){if(!b?.id||b.type&&"llm"!==b.type||!a.includes("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();d&&o.push({id:`${c}/${d}`,object:"model",owned_by:c})}}else for(let[b,c]of n.entries()){if(!w(b,a))continue;let f=d.Xg[b]||b,g=(c?.providerSpecificData?.prefix||(0,e.wG)(b)||f).trim(),h=d.vq[f]||[],k=c?.providerSpecificData?.enabledModels,n=Array.isArray(k)&&k.length>0,p=(0,e.mq)(b)||(0,e.gb)(b),q=new Map(h.map(a=>[a.id,u(a)])),t=n?Array.from(new Set(k.filter(a=>"string"==typeof a&&""!==a.trim()))):h.map(a=>a.id);p&&0===t.length&&!s.test(b)&&(t=await v(c));let x=r[b];if(x&&!n)try{let a=await x(c);a?.models?.length&&(t=a.models.map(a=>a.id))}catch(a){console.log(`Live model fetch failed for ${b}: ${a?.message||a}`)}let y=t.map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim()),z=new Map;for(let c of Array.from(new Set([...y,...i.filter(c=>{if(!c?.id)return!1;let d=u(c)||"llm";if(!a.includes(d)&&!("imageToText"===d&&a.includes("llm")))return!1;let e=c.providerAlias;return e===f||e===g||e===b}).map(a=>{let b=String(a.id).trim();return b&&z.set(b,u(a)||"llm"),b}).filter(a=>""!==a),...Object.values(j||{}).filter(a=>"string"==typeof a&&!!a.includes("/")&&(a.startsWith(`${g}/`)||a.startsWith(`${f}/`)||a.startsWith(`${b}/`))).map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim())]))){let d=z.get(c),e=q.get(c)||d||function(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}(c),h="imageToText"===e&&a.includes("llm");if(!a.includes(e)&&!h||l(g,c)||l(f,c))continue;let i={id:`${g}/${c}`,object:"model",owned_by:g},j=(0,m.a0)(d);if(j&&(i.capabilities=j),"llm"===e||h){let a=(0,m.nl)(b,c);Number.isFinite(a?.contextWindow)&&(i.context_length=a.contextWindow),Number.isFinite(a?.maxOutput)&&(i.max_completion_tokens=a.maxOutput)}o.push(i)}let A=e.AI_PROVIDERS[b],B=[];if(a.includes("tts")&&Array.isArray(A?.ttsConfig?.models))for(let a of A.ttsConfig.models)a?.id&&B.push(a.id);if(a.includes("embedding")&&Array.isArray(A?.embeddingConfig?.models))for(let a of A.embeddingConfig.models)a?.id&&B.push(a.id);for(let a of B)l(g,a)||l(f,a)||o.push({id:`${g}/${a}`,object:"model",owned_by:g});a.includes("webSearch")&&A?.searchConfig&&o.push({id:`${g}/search`,object:"model",kind:"webSearch",owned_by:g}),a.includes("webFetch")&&A?.fetchConfig&&o.push({id:`${g}/fetch`,object:"model",kind:"webFetch",owned_by:g})}let p=[],q=new Set;for(let a of o)!a?.id||q.has(a.id)||(q.add(a.id),p.push(a));return p}async function y(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function z(a){try{var b;let c=(a?.headers?.get("user-agent")||"").toLowerCase(),d=new URL(a.url),e=c.includes("codex")||"codex"===d.searchParams.get("format"),f=["llm"],g=(b=e?"codex":"openai",`${[...f].sort().join(",")}|${b}`),h=Date.now(),i=p.get(g);if(!i||i.expiresAt<=h){let a,b=await x(f),c=e?JSON.stringify({models:b.map(a=>({id:a.id,name:a.id,...a.capabilities?{capabilities:a.capabilities}:{}}))}):JSON.stringify({object:"list",data:b});i={body:c,etag:(a=o().createHash("sha1").update(c).digest("hex").slice(0,16),`W/"${a}"`),expiresAt:h+3e4},p.set(g,i)}let j=a?.headers?.get("if-none-match");if(j&&j===i.etag)return new Response(null,{status:304,headers:{"Access-Control-Allow-Origin":"*","Cache-Control":"public, max-age=30",ETag:i.etag}});return new Response(i.body,{status:200,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*","Cache-Control":"public, max-age=30",ETag:i.etag}})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:a.message,type:"server_error"}},{status:500})}}},19225:(a,b,c)=>{a.exports=c(44870)},29679:(a,b,c)=>{c.d(b,{cW:()=>l});var d=c(94755),e=c(55511),f=c(8590);let g="1.0.0",h="0.10.32",i="us-east-1",j=new Map;async function k(a,b){let c,f,j,k=a?.providerSpecificData?.profileArn||"",l=function(a){if(!a||"string"!=typeof a)return i;let b=a.split(":");return b.length>=4&&b[3]?b[3]:i}(k),m=new URLSearchParams;m.set("origin","AI_EDITOR"),k&&m.set("profileArn",k);let n=`https://q.${l}.amazonaws.com/ListAvailableModels?${m.toString()}`,o={...(f=a?.providerSpecificData?.clientId||a?.refreshToken||a?.providerSpecificData?.profileArn||a?.accessToken||"kiro-anonymous",j=(0,e.createHash)("sha256").update(String(f)).digest("hex"),{"User-Agent":`aws-sdk-js/${g} ua/2.1 os/windows#10.0.26200 lang/js md/nodejs#22.21.1 api/codewhispererruntime#${g} m/N,E KiroIDE-${h}-${j}`,"x-amz-user-agent":`aws-sdk-js/${g} KiroIDE-${h}-${j}`,"x-amzn-kiro-agent-mode":"vibe","x-amzn-codewhisperer-optout":"true","amz-sdk-request":"attempt=1; max=1","amz-sdk-invocation-id":(0,d.A)(),Accept:"application/json"}),Authorization:`Bearer ${a?.accessToken||""}`},p=new AbortController,q=setTimeout(()=>p.abort("timeout"),3e4);b&&"function"==typeof b.addEventListener&&b.addEventListener("abort",()=>p.abort(b.reason));try{c=await fetch(n,{method:"GET",headers:o,signal:p.signal})}finally{clearTimeout(q)}if(!c.ok){let a=await c.text().catch(()=>""),b=Error(`Kiro ListAvailableModels ${c.status}: ${a||c.statusText}`);throw b.status=c.status,b.body=a,b}let r=await c.json();return Array.isArray(r?.models)?r.models:[]}async function l(a,b={}){let c,d,g;if(!a||!a.accessToken)return b.log?.debug?.("KIRO_MODELS","No accessToken; skipping live fetch"),null;let h=(g=(d=a?.providerSpecificData||{}).profileArn||d.clientId||a?.refreshToken||a?.accessToken||"anonymous",(0,e.createHash)("sha256").update(`kiro:${g}`).digest("hex")),i=Date.now();if(!b.forceRefresh){let a=j.get(h);if(a&&a.expiresAt>i)return{models:a.models,rawModels:a.rawModels}}try{c=await k(a,b.signal)}catch(d){if(!d||401!==d.status||!a.refreshToken)return b.log?.warn?.("KIRO_MODELS",`ListAvailableModels failed: ${d?.message||d}`),null;{b.log?.info?.("KIRO_MODELS","Got 401 from Kiro; refreshing token");let d=await (0,f.Ql)(a.refreshToken,a.providerSpecificData,b.log);if(!d?.accessToken)return b.log?.warn?.("KIRO_MODELS","Token refresh did not return accessToken"),null;{let e={...a,...d};if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed(d)}catch(a){b.log?.warn?.("KIRO_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await k(e,b.signal),a.accessToken=e.accessToken,e.refreshToken&&(a.refreshToken=e.refreshToken)}catch(a){return b.log?.warn?.("KIRO_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}}let m=[];for(let a of c){if(!a||"object"!=typeof a)continue;let b=a.modelId||a.id;if(!b)continue;let c=function(a,b,c){let d=(a||b||"Kiro").trim(),e=Number(c);if(!Number.isFinite(e)||1e-9>Math.abs(e-1)||e<=0)return`Kiro ${d}`;let f=e.toFixed(1).replace(",",".");return`Kiro ${d} (${f}x credit)`}(a.modelName,b,a.rateMultiplier),d=Number(a?.tokenLimits?.maxInputTokens)||2e5;for(let e of function(a,b){let c,d=((c=a).endsWith("-agentic")&&(c=c.slice(0,-8)),c.endsWith("-thinking")&&(c=c.slice(0,-9)),c),e=b||`Kiro ${d}`,f=[{id:d,name:e,capabilities:{thinking:!1,agentic:!1}},{id:`${d}-thinking`,name:`${e} (Thinking)`,capabilities:{thinking:!0,agentic:!1}}];return"auto"!==d&&(f.push({id:`${d}-agentic`,name:`${e} (Agentic)`,capabilities:{thinking:!1,agentic:!0}}),f.push({id:`${d}-thinking-agentic`,name:`${e} (Thinking + Agentic)`,capabilities:{thinking:!0,agentic:!0}})),f}(b,c))m.push({...e,contextLength:d,rateMultiplier:Number.isFinite(Number(a.rateMultiplier))?Number(a.rateMultiplier):1,upstreamModelId:b,description:a.description||""})}return j.set(h,{expiresAt:i+3e5,models:m,rawModels:c}),{models:m,rawModels:c}}},39006:a=>{a.exports={rE:"0.5.160"}},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},81329:(a,b,c)=>{c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(44404);Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};
|