omniroute 2.8.3 → 2.8.5
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/BUILD_ID +1 -1
- package/app/.next/build-manifest.json +2 -2
- package/app/.next/prerender-manifest.json +3 -3
- package/app/.next/server/app/(dashboard)/dashboard/a2a/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/agents/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/auto-combo/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/mcp/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/search-tools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/400/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/401/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/403/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/408/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/429/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/500/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/502/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/503/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error.html +2 -2
- package/app/.next/server/app/_global-error.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/catalog/route.js +1 -1
- package/app/.next/server/app/api/models/catalog/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/[id]/models/route.js +2 -2
- package/app/.next/server/app/api/providers/[id]/test/route.js +3 -3
- package/app/.next/server/app/api/providers/route.js +1 -1
- package/app/.next/server/app/api/providers/test-batch/route.js +6 -6
- package/app/.next/server/app/api/v1/models/route.js +3 -3
- package/app/.next/server/app/api/v1/models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/route.js +3 -3
- package/app/.next/server/app/api/v1/route.js.nft.json +1 -1
- package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/maintenance/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__09c944b3._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__134baf4c._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__179c5303._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__237e5042._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__2f8f5f38._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__31027061._.js +4 -0
- package/app/.next/server/chunks/[root-of-the-server]__3e042fbd._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__46fad57a._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__7a9b72a4._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__7d9b23e7._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__80e3bfc3._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__84e445b2._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__92cb0def._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__9bbd49c8._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__add0a68c._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__c393c81f._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__cd42b732._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__d4563e10._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__d7914418._.js +4 -0
- package/app/.next/server/chunks/[root-of-the-server]__db2f9fe0._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__e27a89bd._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__e56edf04._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__e6e94646._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__eb98039a._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__ebf3fe48._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__f0131d95._.js +4 -0
- package/app/.next/server/chunks/[root-of-the-server]__f31b4656._.js +3 -3
- package/app/.next/server/chunks/[root-of-the-server]__fad1679d._.js +2 -2
- package/app/.next/server/chunks/_05c48915._.js +1 -1
- package/app/.next/server/chunks/_2115d8de._.js +1 -1
- package/app/.next/server/chunks/_3ac953eb._.js +1 -1
- package/app/.next/server/chunks/_4b8fd853._.js +1 -1
- package/app/.next/server/chunks/_68683848._.js +1 -1
- package/app/.next/server/chunks/_ee9b677b._.js +1 -1
- package/app/.next/server/chunks/open-sse_cf4d5692._.js +1 -1
- package/app/.next/server/chunks/open-sse_config_constants_ts_9583de19._.js +1 -1
- package/app/.next/server/chunks/open-sse_services_826884e1._.js +2 -1
- package/app/.next/server/chunks/ssr/[root-of-the-server]__9affb65e._.js +1 -1
- package/app/.next/server/chunks/ssr/[root-of-the-server]__a6942102._.js +1 -1
- package/app/.next/server/chunks/ssr/_19b3d5b1._.js +2 -2
- package/app/.next/server/chunks/ssr/src_9197fb9b._.js +1 -1
- package/app/.next/server/chunks/ssr/src_ec615d6e._.js +2 -2
- package/app/.next/server/chunks/ssr/src_lib_initCloudSync_ts_982b9d4d._.js +1 -1
- package/app/.next/server/pages/500.html +2 -2
- package/app/.next/server/server-reference-manifest.js +1 -1
- package/app/.next/server/server-reference-manifest.json +1 -1
- package/app/.next/static/chunks/{37e9976d0367faad.js → 3fa6c964786c962d.js} +4 -4
- package/app/.next/static/chunks/{19b1432393321fcf.js → d9a70775eb233dc3.js} +1 -1
- package/app/.next/static/chunks/{0f71d7fbf89bb737.js → ec1938d17386c6db.js} +1 -1
- package/app/CHANGELOG.md +53 -0
- package/app/docs/ARCHITECTURE.md +1 -1
- package/app/docs/VM_DEPLOYMENT_GUIDE.md +2 -0
- package/app/docs/i18n/README.md +9 -17
- package/app/docs/i18n/ar/VM_DEPLOYMENT_GUIDE.md +110 -112
- package/app/docs/i18n/bg/VM_DEPLOYMENT_GUIDE.md +110 -112
- package/app/docs/i18n/da/VM_DEPLOYMENT_GUIDE.md +110 -112
- package/app/docs/i18n/de/VM_DEPLOYMENT_GUIDE.md +110 -112
- package/app/docs/i18n/es/VM_DEPLOYMENT_GUIDE.md +107 -109
- package/app/docs/i18n/fi/VM_DEPLOYMENT_GUIDE.md +110 -112
- package/app/docs/i18n/fr/VM_DEPLOYMENT_GUIDE.md +110 -112
- package/app/docs/i18n/he/VM_DEPLOYMENT_GUIDE.md +110 -112
- package/app/docs/i18n/hu/VM_DEPLOYMENT_GUIDE.md +110 -112
- package/app/docs/i18n/id/VM_DEPLOYMENT_GUIDE.md +110 -112
- package/app/docs/i18n/in/VM_DEPLOYMENT_GUIDE.md +102 -210
- package/app/docs/i18n/it/VM_DEPLOYMENT_GUIDE.md +110 -112
- package/app/docs/i18n/ja/VM_DEPLOYMENT_GUIDE.md +110 -112
- package/app/docs/i18n/ko/VM_DEPLOYMENT_GUIDE.md +109 -111
- package/app/docs/i18n/ms/VM_DEPLOYMENT_GUIDE.md +110 -112
- package/app/docs/i18n/nl/VM_DEPLOYMENT_GUIDE.md +110 -112
- package/app/docs/i18n/no/VM_DEPLOYMENT_GUIDE.md +110 -112
- package/app/docs/i18n/phi/VM_DEPLOYMENT_GUIDE.md +110 -112
- package/app/docs/i18n/pl/VM_DEPLOYMENT_GUIDE.md +110 -112
- package/app/docs/i18n/pt/VM_DEPLOYMENT_GUIDE.md +96 -98
- package/app/docs/i18n/pt-BR/VM_DEPLOYMENT_GUIDE.md +96 -98
- package/app/docs/i18n/ro/VM_DEPLOYMENT_GUIDE.md +110 -112
- package/app/docs/i18n/ru/VM_DEPLOYMENT_GUIDE.md +110 -112
- package/app/docs/i18n/sk/VM_DEPLOYMENT_GUIDE.md +110 -112
- package/app/docs/i18n/sv/VM_DEPLOYMENT_GUIDE.md +110 -112
- package/app/docs/i18n/th/VM_DEPLOYMENT_GUIDE.md +110 -112
- package/app/docs/i18n/uk-UA/VM_DEPLOYMENT_GUIDE.md +110 -112
- package/app/docs/i18n/vi/VM_DEPLOYMENT_GUIDE.md +110 -112
- package/app/docs/i18n/zh-CN/VM_DEPLOYMENT_GUIDE.md +110 -112
- package/app/docs/openapi.yaml +1 -1
- package/app/open-sse/config/constants.ts +3 -3
- package/app/open-sse/services/comboAgentMiddleware.ts +9 -1
- package/app/package-lock.json +5 -5
- package/app/package.json +1 -1
- package/app/scripts/i18n/generate-multilang.mjs +1 -0
- package/app/src/shared/constants/cliTools.ts +2 -2
- package/app/src/shared/constants/providers.ts +3 -0
- package/app/src/shared/validation/providerSchema.ts +6 -0
- package/app/tests/e2e/providers-bailian-coding-plan.spec.ts +14 -0
- package/package.json +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__61396d77._.js +0 -4
- package/app/.next/server/chunks/[root-of-the-server]__d5ecc2ba._.js +0 -4
- package/app/.next/server/chunks/[root-of-the-server]__daa26645._.js +0 -4
- /package/app/.next/static/{IiXcm5VJcOKrDneQQSdf- → coLESPH6_RrEzzULWq8F5}/_buildManifest.js +0 -0
- /package/app/.next/static/{IiXcm5VJcOKrDneQQSdf- → coLESPH6_RrEzzULWq8F5}/_clientMiddlewareManifest.json +0 -0
- /package/app/.next/static/{IiXcm5VJcOKrDneQQSdf- → coLESPH6_RrEzzULWq8F5}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
module.exports=[821518,e=>{"use strict";var t=e.i(878947);let r={};for(let[e,o]of Object.entries(t.PROVIDER_ID_TO_ALIAS))r[o]&&console.log(`[MODEL] Warning: alias "${o}" maps to both "${r[o]}" and "${e}". Using "${e}".`),r[o]=e;let o={github:{"claude-4.5-opus":"claude-opus-4-5-20251101","claude-opus-4.5":"claude-opus-4-5-20251101","gemini-3-pro":"gemini-3-pro-preview","gemini-3-flash":"gemini-3-flash-preview","raptor-mini":"oswe-vscode-prime"},gemini:{"gemini-3.1-pro-preview":"gemini-3.1-pro","gemini-3-1-pro":"gemini-3.1-pro"},"gemini-cli":{"gemini-3.1-pro-preview":"gemini-3.1-pro","gemini-3-1-pro":"gemini-3.1-pro"},nvidia:{"gpt-oss-120b":"openai/gpt-oss-120b","nvidia/gpt-oss-120b":"openai/gpt-oss-120b"},antigravity:{}},i=new Map;for(let[e,o]of Object.entries(t.PROVIDER_MODELS)){let t=r[e]||e;for(let e of o||[]){let r=e?.id;if(!r)continue;let o=i.get(r)||[];o.includes(t)||(o.push(t),i.set(r,o))}}function n(e){return r[e]||e}function a(e,t){if(!t||"string"!=typeof t)return t;let r=o[n(e)];return r?.[t]||t}function s(e){if(!e)return{provider:null,model:null,isAlias:!1,providerAlias:null,extendedContext:!1};if(/\.\.[\/\\]/.test(e)||/[\x00-\x1f]/.test(e))return console.log(`[MODEL] Warning: rejected malformed model string: "${e.substring(0,50)}"`),{provider:null,model:null,isAlias:!1,providerAlias:null,extendedContext:!1};let t=!1,r=e;if(r.endsWith("[1m]")&&(t=!0,r=r.slice(0,-4)),r.includes("/")){let e=r.indexOf("/"),o=r.slice(0,e),i=r.slice(e+1);return{provider:n(o),model:i,isAlias:!1,providerAlias:o,extendedContext:t}}return{provider:null,model:r,isAlias:!0,providerAlias:null,extendedContext:t}}async function l(e,r){let o=s(e),{extendedContext:l}=o;if(!o.isAlias){let e=a(o.provider,o.model);return{provider:o.provider,model:e,extendedContext:l}}let c="function"==typeof r?await r():r,u=function(e,t){if(!t)return null;let r=t[e];if(!r)return null;if("string"==typeof r&&r.includes("/")){let e=r.indexOf("/");return{provider:n(r.slice(0,e)),model:r.slice(e+1)}}return"object"==typeof r&&r.provider&&r.model?{provider:n(r.provider),model:r.model}:null}(o.model,c);if(u){let e=a(u.provider,u.model);return{provider:u.provider,model:e,extendedContext:l}}if(c&&"object"==typeof c){let e=Object.entries(c).map(([e,t])=>({pattern:e,target:t})),t=function(e,t){if(!e||!t||!Array.isArray(t))return null;let r=[];for(let o of t){let t=o.pattern||o.alias||o.from,i=o.target||o.model||o.to;t&&i&&function(e,t){if(!e||!t)return!1;if("*"===t||t===e)return!0;let r=t.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return RegExp(`^${r}$`,"i").test(e)}(e,t)&&r.push({pattern:t,target:i,specificity:function(e){if(!e)return 0;let t=0;for(let r of e.split(/[/*?]/))r.length>0&&(t+=10*r.length);let r=(e.match(/\*/g)||[]).length,o=(e.match(/\?/g)||[]).length;return t-=50*r,t-=5*o,t+=e.length}(t),...o})}return 0===r.length?null:(r.sort((e,t)=>t.specificity-e.specificity),r[0])}(o.model,e);if(t){let e=t.target;if(e.includes("/")){let r=e.indexOf("/"),o=e.slice(0,r),i=e.slice(r+1),s=n(o),c=a(s,i);return{provider:s,model:c,extendedContext:l,wildcardPattern:t.pattern}}}}let d=o.model,m=i.get(d)||[];if(m.includes("openai"))return{provider:"openai",model:d,extendedContext:l};let p=m.filter(e=>"openai"!==e);if(1===p.length){let e=p[0],t=a(e,d);return{provider:e,model:t,extendedContext:l}}if(p.length>1){let e=p.map(e=>t.PROVIDER_ID_TO_ALIAS[e]||e),r=e.slice(0,2).map(e=>`${e}/${d}`),o=`Ambiguous model '${d}'. Use provider/model prefix (ex: ${r.join(" or ")}).`;return console.warn(`[MODEL] ${o} Candidates: ${e.join(", ")}`),{provider:null,model:d,errorType:"ambiguous_model",errorMessage:o,candidateProviders:p,candidateAliases:e}}return/^claude-/i.test(d)?{provider:"antigravity",model:d,extendedContext:l}:/^gemini-/i.test(d)||/^gemma-/i.test(d)?{provider:"gemini",model:d,extendedContext:l}:{provider:"openai",model:d,extendedContext:l}}e.s(["getModelInfoCore",()=>l,"parseModel",()=>s],821518)},928041,e=>{"use strict";var t=e.i(441637),r=e.i(719201),o=e.i(178578);let i={strategy:"priority",maxRetries:1,retryDelayMs:2e3,timeoutMs:12e4,concurrencyPerModel:3,queueTimeoutMs:3e4,healthCheckEnabled:!0,healthCheckTimeoutMs:3e3,maxComboDepth:3,trackMetrics:!0};function n(e,t,r){let o=t?.comboDefaults||{},n=r&&t?.providerOverrides?.[r]||{},a=e?.config||{},s=e=>Object.fromEntries(Object.entries(e).filter(([,e])=>null!=e));return{...i,...s(o),...s(n),...s(a)}}let a=new Map;function s(e,t=3){a.has(e)||a.set(e,{running:0,max:t,queue:[],rateLimitedUntil:null});let r=a.get(e);return r.max=t,r}function l(e){return!!e.rateLimitedUntil&&(!(Date.now()>=e.rateLimitedUntil)||(e.rateLimitedUntil=null,!1))}function c(e){let t=a.get(e);if(t)for(;t.queue.length>0&&t.running<t.max&&!l(t);){let r=t.queue.shift();clearTimeout(r.timer),t.running++,r.resolve(u(e))}}function u(e){let t=!1;return()=>{if(t)return;t=!0;let r=a.get(e);r&&r.running>0&&(r.running--,c(e))}}var d=e.i(260222),m=e.i(73114),p=e.i(821518);let f=/<omniModel>([^<]+)<\/omniModel>/,g=["function","class","import","def","SELECT","async","await","const","let","var","return","```","algorithm","compile","debug","refactor","typescript","python","javascript","code","implement","write a","create a component","endpoint","repository","deploy","install","script","api","database","query","schema","interface","generic","enum","module","package","dependency","função","classe","importar","definir","consulta","assíncrono","aguardar","constante","variável","retornar","algoritmo","compilar","depurar","refatorar","código","implementar","criar um","componente","como fazer","repositório","configurar","instalar","banco de dados","escrever uma função","criar uma classe","función","clase","importar","definir","consulta","asíncrono","esperar","constante","variable","retornar","algoritmo","compilar","depurar","refactorizar","código","implementar","函数","类","导入","定义","查询","异步","等待","常量","变量","返回","算法","编译","调试","代码","関数","クラス","インポート","非同期","定数","変数","コード","アルゴリズム","функция","класс","импорт","запрос","асинхронный","константа","переменная","алгоритм","код","funktion","klasse","importieren","abfrage","asynchron","konstante","variable","algorithmus","code","함수","클래스","가져오기","정의","쿼리","비동기","대기","상수","변수","반환","코드","دالة","فئة","استيراد","استعلام","غير متزامن","ثابت","متغير","كود","خوارزمية"],h=["prove","theorem","derive","step by step","chain of thought","formally","mathematical","proof","logically","analyze","reasoning","deduce","infer","hypothesis","convergence","provar","teorema","derivar","passo a passo","cadeia de pensamento","formalmente","matemático","prova","logicamente","analisar","raciocínio","deduzir","inferir","hipótese","demonstrar","cálculo","equação diferencial","integral","otimização","demostrar","teorema","derivar","paso a paso","formalmente","matemático","lógicamente","证明","定理","推导","逐步","思维链","数学","逻辑","分析","証明","定理","導出","論理的","分析","доказать","теорема","шаг за шагом","математически","логически","beweisen","theorem","schritt für schritt","mathematisch","logisch","증명","정리","단계별","수학적","논리적","إثبات","نظرية","خطوة بخطوة","رياضي","منطقياً"],y=["what is","define","translate","hello","yes or no","summarize","list","tell me","who is","o que é","definir","traduzir","olá","oi","sim ou não","resumir","listar","me diga","quem é","quando foi","onde fica","explique brevemente","de forma simples","qué es","definir","traducir","hola","resumir","listar","什么是","定义","翻译","你好","总结","列出","что такое","определить","перевести","привет","резюмировать","was ist","definieren","übersetzen","hallo","zusammenfassen","이란","정의","번역","안녕","요약","ما هو","تعريف","ترجمة","مرحبا","ملخص"],b={enabled:!0,simpleMaxWords:60},w={quota:.2,health:.25,costInv:.2,latencyInv:.15,taskFit:.1,stability:.05,tierPriority:.05};function v(e,t,r=w,o=()=>.5){return e.map(i=>{var n,a;let s,l,c,u=(s=Math.max(...e.map(e=>e.costPer1MTokens),.001),l=Math.max(...e.map(e=>e.p95LatencyMs),1),c=Math.max(...e.map(e=>e.latencyStdDev),.001),{quota:Math.min(1,i.quotaRemaining/100),health:"CLOSED"===i.circuitBreakerState?1:.5*("HALF_OPEN"===i.circuitBreakerState),costInv:1-i.costPer1MTokens/s,latencyInv:1-i.p95LatencyMs/l,taskFit:o(i.model,t),stability:1-i.latencyStdDev/c,tierPriority:(n=i.accountTier,a=i.quotaResetIntervalSecs,Math.min(1,.8*(({ultra:1,pro:.67,standard:.33,free:0})[n?.toLowerCase()??""]??.33)+.2*(null!=a&&a>0?Math.max(0,1-a/2592e3):0)))});return{provider:i.provider,model:i.model,score:r.quota*u.quota+r.health*u.health+r.costInv*u.costInv+r.latencyInv*u.latencyInv+r.taskFit*u.taskFit+r.stability*u.stability+r.tierPriority*u.tierPriority,factors:u}}).sort((e,t)=>t.score-e.score)}let M={coding:{"claude-sonnet":.95,"claude-opus":.92,"claude-haiku":.78,"gpt-4o":.9,"gpt-4o-mini":.8,"gpt-4-turbo":.88,o1:.93,o3:.95,"o4-mini":.88,codex:.98,"gemini-pro":.85,"gemini-flash":.8,"gemini-2.5-pro":.92,"gemini-2.5-flash":.82,"deepseek-coder":.9,"deepseek-v3":.85,"deepseek-r1":.88,"deepseek-chat":.84,"deepseek-v3.2":.86,qwen:.78,llama:.72,mistral:.75,mixtral:.77,"grok-4-fast":.8,"grok-4":.82,"grok-3":.8,"kimi-k2":.82,"glm-5":.78,"minimax-m2.5":.75,"minimax-m2":.72},review:{"claude-sonnet":.92,"claude-opus":.95,"claude-haiku":.7,"gpt-4o":.88,"gpt-4o-mini":.72,o1:.9,o3:.92,"gemini-pro":.9,"gemini-2.5-pro":.93,"gemini-flash":.75,"deepseek-r1":.85,"deepseek-v3":.8},planning:{"claude-opus":.95,"claude-sonnet":.9,"gpt-4o":.88,o1:.92,o3:.95,"gemini-2.5-pro":.93,"gemini-pro":.88,"deepseek-r1":.85},analysis:{"claude-opus":.95,"claude-sonnet":.92,"gemini-2.5-pro":.95,"gemini-pro":.88,"gemini-3.1-pro":.95,"gpt-4o":.85,o1:.9,o3:.93,"deepseek-r1":.88,"deepseek-chat":.8,"kimi-k2":.82,"glm-5":.78,"minimax-m2.5":.76},debugging:{"claude-sonnet":.93,"claude-opus":.9,"gpt-4o":.88,o1:.85,"deepseek-coder":.9,"deepseek-v3":.82,"gemini-flash":.78,codex:.92},documentation:{"claude-sonnet":.9,"claude-opus":.88,"gpt-4o":.92,"gpt-4o-mini":.85,"gemini-pro":.88,"gemini-flash":.82,"deepseek-v3":.78},default:{"claude-sonnet":.85,"claude-opus":.85,"gpt-4o":.85,"gemini-pro":.8,"gemini-3.1-pro":.85,"deepseek-v3":.75,"deepseek-chat":.74,"gemini-flash":.72,"grok-4-fast":.72,"grok-4":.74,"grok-3":.73,"kimi-k2":.76,"glm-5":.7,"minimax-m2.5":.7}},k=[{pattern:"coder",taskType:"coding",boost:.15},{pattern:"code",taskType:"coding",boost:.1},{pattern:"fast",taskType:"coding",boost:.05},{pattern:"thinking",taskType:"planning",boost:.1},{pattern:"thinking",taskType:"analysis",boost:.1}];function x(e,t){let r=e.toLowerCase(),o=t.toLowerCase();for(let[e,t]of Object.entries(M[o]||M.default))if(r.includes(e))return t;let i=.5;for(let e of k)r.includes(e.pattern)&&o===e.taskType&&(i+=e.boost);return Math.min(1,i)}let $={"ship-fast":{quota:.15,health:.3,costInv:.05,latencyInv:.35,taskFit:.1,stability:0,tierPriority:.05},"cost-saver":{quota:.15,health:.2,costInv:.4,latencyInv:.05,taskFit:.1,stability:.05,tierPriority:.05},"quality-first":{quota:.1,health:.2,costInv:.05,latencyInv:.05,taskFit:.4,stability:.15,tierPriority:.05},"offline-friendly":{quota:.4,health:.3,costInv:.1,latencyInv:.05,taskFit:0,stability:.1,tierPriority:.05}};class O{exclusions=new Map;incidentMode=!1;isExcluded(e){let t=this.exclusions.get(e);return!(!t||Date.now()-t.excludedAt>t.cooldownMs)}evaluate(e,t,r){let o=this.exclusions.get(e);if(o&&t>=.3&&Date.now()-o.excludedAt>o.cooldownMs)return this.exclusions.delete(e),{excluded:!1,reason:`Re-admitted: score ${t.toFixed(2)} >= 0.3`};if(this.isExcluded(e))return"HALF_OPEN"===r&&o?(o.probeCount++,{excluded:!1,isProbe:!0,reason:`Probe request #${o.probeCount}`}):{excluded:!0,reason:o?.reason||"Excluded"};if(t<.2){let r=o?Math.min(2*o.cooldownMs,18e5):3e5;return this.exclusions.set(e,{provider:e,excludedAt:Date.now(),cooldownMs:r,reason:`Score ${t.toFixed(2)} < 0.2`,probeCount:0}),{excluded:!0,reason:`Excluded: score ${t.toFixed(2)} below threshold`}}return"OPEN"===r?(this.exclusions.set(e,{provider:e,excludedAt:Date.now(),cooldownMs:3e5,reason:"Circuit breaker OPEN",probeCount:0}),{excluded:!0,reason:"Circuit breaker OPEN"}):{excluded:!1}}recordProbeResult(e,t){let r=this.exclusions.get(e);r&&(t&&r.probeCount>=3?this.exclusions.delete(e):t||(r.cooldownMs=Math.min(2*r.cooldownMs,18e5),r.excludedAt=Date.now(),r.probeCount=0))}updateIncidentMode(e){let t=e.length;if(0===t)return this.incidentMode=!1,!1;let r=e.filter(e=>"OPEN"===e).length;return this.incidentMode=r/t>.5,this.incidentMode}isInIncidentMode(){return this.incidentMode}getExclusions(){return[...this.exclusions.values()]}getStatus(){let e=Date.now();return{exclusionCount:this.exclusions.size,incidentMode:this.incidentMode,exclusions:[...this.exclusions.values()].map(t=>({provider:t.provider,reason:t.reason,remainingMs:Math.max(0,t.cooldownMs-(e-t.excludedAt))}))}}}let C=null,R=new Map,A=new class{name="rules";description="6-factor weighted scoring: quota, health, cost, latency, taskFit, stability";select(e,t){let r=e.filter(e=>"OPEN"!==e.circuitBreakerState),o=v(r.length>0?r:e,t.taskType,void 0,x),i=o[0];if(!i)throw Error("[RulesStrategy] No candidates to score");return{provider:i.provider,model:i.model,strategy:this.name,reason:`RulesStrategy: score=${i.score.toFixed(3)} (quota=${i.factors.quota.toFixed(2)}, health=${i.factors.health.toFixed(2)}, cost=${i.factors.costInv.toFixed(2)}, taskFit=${i.factors.taskFit.toFixed(2)})`,candidatesConsidered:o.length,finalScore:i.score}}},S=new class{name="cost";description="Always selects cheapest available provider (by costPer1MTokens)";select(e,t){let r=e.filter(e=>"OPEN"!==e.circuitBreakerState),o=r.length>0?r:e,i=[...o].sort((e,t)=>e.costPer1MTokens-t.costPer1MTokens)[0];if(!i)throw Error("[CostStrategy] No candidates available");return{provider:i.provider,model:i.model,strategy:this.name,reason:`CostStrategy: cheapest at $${i.costPer1MTokens.toFixed(3)}/1M tokens`,candidatesConsidered:o.length,finalScore:0===i.costPer1MTokens?1:1/i.costPer1MTokens}}},E=new class{name="latency";description="Prioritizes lowest p95 latency with reliability weighting";select(e,t){let r=e.filter(e=>"OPEN"!==e.circuitBreakerState),o=r.length>0?r:e,i=[...o].sort((e,t)=>{let r=1e3*e.errorRate,o=1e3*t.errorRate;return e.p95LatencyMs+r-(t.p95LatencyMs+o)})[0];if(!i)throw Error("[LatencyStrategy] No candidates available");let n=i.p95LatencyMs>0?Math.max(.001,1e4/i.p95LatencyMs):1,a=Math.max(0,1-i.errorRate);return{provider:i.provider,model:i.model,strategy:this.name,reason:`LatencyStrategy: p95=${i.p95LatencyMs}ms, errorRate=${(100*i.errorRate).toFixed(2)}%`,candidatesConsidered:o.length,finalScore:.7*n+.3*a}}};R.set("rules",A),R.set("cost",S),R.set("eco",S),R.set("latency",E),R.set("fast",E);var P=e.i(878947);let B=["gpt-oss-120b","deepseek-reasoner","glm-4.7","glm4.7"],N=[429,502,503,504],T={"grok-4-fast-non-reasoning":1143,"grok-4-1-fast-non-reasoning":1244,"gemini-2.5-flash":1238,"kimi-k2.5":1646,"gpt-4o-mini":2764,"claude-sonnet-4.6":4e3,"claude-opus-4.6":6e3,"deepseek-chat":2e3},D=new Map;function q(e){return"string"==typeof e?{model:e,weight:0}:{model:e.model,weight:e.weight||0}}function L(e,t,r=new Set,o=0){if(o>3)return e.models.map(e=>q(e).model);if(r.has(e.name))return[];r.add(e.name);let i=Array.isArray(t)?t:t?.combos||[],n=[];for(let t of e.models||[]){let e=q(t).model,a=i.find(t=>t.name===e);if(a){let e=L(a,i,new Set(r),o+1);n.push(...e)}else n.push(e)}return n}function I(e){let t=e.map(e=>q(e)),r=t.reduce((e,t)=>e+t.weight,0);if(r<=0)return t[Math.floor(Math.random()*t.length)].model;let o=Math.random()*r;for(let e of t)if((o-=e.weight)<=0)return e.model;return t[t.length-1].model}function F(e,t){let r=e.map(e=>q(e));return[r.find(e=>e.model===t),...r.filter(e=>e.model!==t).sort((e,t)=>t.weight-e.weight)].filter(Boolean).map(e=>e.model)}async function _(t){try{let{getPricingForModel:r}=await e.A(605589),o=await Promise.all(t.map(async e=>{let t=(0,p.parseModel)(e),o=t.provider||t.providerAlias||"unknown",i=t.model||e;try{let t=await r(o,i);return{modelStr:e,cost:t?.input??1/0}}catch{return{modelStr:e,cost:1/0}}}));return o.sort((e,t)=>e.cost-t.cost),o.map(e=>e.modelStr)}catch{return t}}function j(e){return Array.isArray(e)?e.map(e=>"string"==typeof e?e.trim():"").filter(Boolean):"string"==typeof e?e.split(",").map(e=>e.trim()).filter(Boolean):[]}function z(e){return T[String(e||"").toLowerCase()]??1500}async function K(t,r){let i=(0,o.getComboMetrics)(r),{getPricingForModel:n}=await e.A(605589),a={};try{let{getModelLatencyStats:t}=await e.A(537776);a=await t({windowHours:24,minSamples:3,maxRows:1e4})}catch{}return await Promise.all(t.map(async e=>{let t=(0,p.parseModel)(e),r=t.provider||t.providerAlias||"unknown",o=t.model||e,s=a[`${r}/${o}`]||null,l=Number(s?.totalRequests),c=Number.isFinite(l)&&l>=10,u=1;try{let e=await n(r,o),t=Number(e?.input);Number.isFinite(t)&&t>=0&&(u=t)}catch{}let m=i?.byModel?.[e]||null,f=Number(m?.avgLatencyMs),g=Number(m?.successRate),h=Number(s?.p95LatencyMs),y=Number(s?.latencyStdDev),b=Number(s?.successRate),w=c?Number.isFinite(h)&&h>0?h:z(o):Number.isFinite(f)&&f>0?f:z(o),v=c?Number.isFinite(b)&&b>=0&&b<=1?1-b:.05:Number.isFinite(g)&&g>=0&&g<=100?1-g/100:.05,M=c&&Number.isFinite(y)&&y>0?Math.max(10,y):Math.max(10,.1*w),k=(0,d.getCircuitBreaker)(`combo:${e}`)?.getStatus?.()?.state;return{provider:r,model:o,quotaRemaining:100,quotaTotal:100,circuitBreakerState:"OPEN"===k||"HALF_OPEN"===k?k:"CLOSED",costPer1MTokens:u,p95LatencyMs:w,latencyStdDev:M,errorRate:v,accountTier:"standard",quotaResetIntervalSecs:86400}}))}async function U({body:e,combo:a,handleSingleModel:s,isModelAvailable:l,log:c,settings:u,allCombos:M}){let k,S=a.strategy||"priority",E=a.models||[],{body:T,pinnedModel:D}=function(e,t,r){var o;if(!t)return{body:e,pinnedModel:null};let i=Array.isArray(e.messages)?[...e.messages]:[],n=null;t.context_cache_protection&&(n=function(e){for(let t=e.length-1;t>=0;t--){let r=e[t];if("assistant"===r.role&&"string"==typeof r.content){let e=f.exec(r.content);if(e)return e[1]}}return null}(i)),t.system_message&&t.system_message.trim()&&(o=i,i=[{role:"system",content:t.system_message},...o.filter(e=>"system"!==e.role)]);let a=function(e,t){let r;if(!e||!t)return e;try{r=new RegExp(t)}catch{return console.warn(`[ComboAgent] Invalid tool_filter_regex: "${t}"`),e}return e.filter(e=>{let t=e.function?.name??e.name??"";return r.test(String(t))})}(e.tools,t.tool_filter_regex);return i=i.map(e=>"string"==typeof e.content&&f.test(e.content)?{...e,content:e.content.replace(f,"").trimEnd()}:e),{body:{...e,messages:i,...a!==e.tools&&{tools:a}},pinnedModel:n}}(e,a,0);e=T,D&&c.info("COMBO",`[#401] Context caching: pinned model=${D}`);let z=a.context_cache_protection?async(e,t)=>{let r=await s(e,t);if(r.ok&&!e.stream)try{let e=await r.clone().json(),o=Array.isArray(e?.messages)?e.messages:[];if(o.length>0){let i=function(e,t){let r=e.map(e=>"assistant"===e.role&&"string"==typeof e.content?{...e,content:e.content.replace(f,"").trimEnd()}:e),o=r.map(e=>e.role).lastIndexOf("assistant");if(-1===o)return r;let i=r[o];if("string"!=typeof i.content)return r;let n=[...r];return n[o]={...i,content:`${i.content}
|
|
1
|
+
module.exports=[821518,e=>{"use strict";var t=e.i(878947);let r={};for(let[e,o]of Object.entries(t.PROVIDER_ID_TO_ALIAS))r[o]&&console.log(`[MODEL] Warning: alias "${o}" maps to both "${r[o]}" and "${e}". Using "${e}".`),r[o]=e;let o={github:{"claude-4.5-opus":"claude-opus-4-5-20251101","claude-opus-4.5":"claude-opus-4-5-20251101","gemini-3-pro":"gemini-3-pro-preview","gemini-3-flash":"gemini-3-flash-preview","raptor-mini":"oswe-vscode-prime"},gemini:{"gemini-3.1-pro-preview":"gemini-3.1-pro","gemini-3-1-pro":"gemini-3.1-pro"},"gemini-cli":{"gemini-3.1-pro-preview":"gemini-3.1-pro","gemini-3-1-pro":"gemini-3.1-pro"},nvidia:{"gpt-oss-120b":"openai/gpt-oss-120b","nvidia/gpt-oss-120b":"openai/gpt-oss-120b"},antigravity:{}},i=new Map;for(let[e,o]of Object.entries(t.PROVIDER_MODELS)){let t=r[e]||e;for(let e of o||[]){let r=e?.id;if(!r)continue;let o=i.get(r)||[];o.includes(t)||(o.push(t),i.set(r,o))}}function n(e){return r[e]||e}function a(e,t){if(!t||"string"!=typeof t)return t;let r=o[n(e)];return r?.[t]||t}function s(e){if(!e)return{provider:null,model:null,isAlias:!1,providerAlias:null,extendedContext:!1};if(/\.\.[\/\\]/.test(e)||/[\x00-\x1f]/.test(e))return console.log(`[MODEL] Warning: rejected malformed model string: "${e.substring(0,50)}"`),{provider:null,model:null,isAlias:!1,providerAlias:null,extendedContext:!1};let t=!1,r=e;if(r.endsWith("[1m]")&&(t=!0,r=r.slice(0,-4)),r.includes("/")){let e=r.indexOf("/"),o=r.slice(0,e),i=r.slice(e+1);return{provider:n(o),model:i,isAlias:!1,providerAlias:o,extendedContext:t}}return{provider:null,model:r,isAlias:!0,providerAlias:null,extendedContext:t}}async function l(e,r){let o=s(e),{extendedContext:l}=o;if(!o.isAlias){let e=a(o.provider,o.model);return{provider:o.provider,model:e,extendedContext:l}}let c="function"==typeof r?await r():r,u=function(e,t){if(!t)return null;let r=t[e];if(!r)return null;if("string"==typeof r&&r.includes("/")){let e=r.indexOf("/");return{provider:n(r.slice(0,e)),model:r.slice(e+1)}}return"object"==typeof r&&r.provider&&r.model?{provider:n(r.provider),model:r.model}:null}(o.model,c);if(u){let e=a(u.provider,u.model);return{provider:u.provider,model:e,extendedContext:l}}if(c&&"object"==typeof c){let e=Object.entries(c).map(([e,t])=>({pattern:e,target:t})),t=function(e,t){if(!e||!t||!Array.isArray(t))return null;let r=[];for(let o of t){let t=o.pattern||o.alias||o.from,i=o.target||o.model||o.to;t&&i&&function(e,t){if(!e||!t)return!1;if("*"===t||t===e)return!0;let r=t.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return RegExp(`^${r}$`,"i").test(e)}(e,t)&&r.push({pattern:t,target:i,specificity:function(e){if(!e)return 0;let t=0;for(let r of e.split(/[/*?]/))r.length>0&&(t+=10*r.length);let r=(e.match(/\*/g)||[]).length,o=(e.match(/\?/g)||[]).length;return t-=50*r,t-=5*o,t+=e.length}(t),...o})}return 0===r.length?null:(r.sort((e,t)=>t.specificity-e.specificity),r[0])}(o.model,e);if(t){let e=t.target;if(e.includes("/")){let r=e.indexOf("/"),o=e.slice(0,r),i=e.slice(r+1),s=n(o),c=a(s,i);return{provider:s,model:c,extendedContext:l,wildcardPattern:t.pattern}}}}let d=o.model,m=i.get(d)||[];if(m.includes("openai"))return{provider:"openai",model:d,extendedContext:l};let p=m.filter(e=>"openai"!==e);if(1===p.length){let e=p[0],t=a(e,d);return{provider:e,model:t,extendedContext:l}}if(p.length>1){let e=p.map(e=>t.PROVIDER_ID_TO_ALIAS[e]||e),r=e.slice(0,2).map(e=>`${e}/${d}`),o=`Ambiguous model '${d}'. Use provider/model prefix (ex: ${r.join(" or ")}).`;return console.warn(`[MODEL] ${o} Candidates: ${e.join(", ")}`),{provider:null,model:d,errorType:"ambiguous_model",errorMessage:o,candidateProviders:p,candidateAliases:e}}return/^claude-/i.test(d)?{provider:"antigravity",model:d,extendedContext:l}:/^gemini-/i.test(d)||/^gemma-/i.test(d)?{provider:"gemini",model:d,extendedContext:l}:{provider:"openai",model:d,extendedContext:l}}e.s(["getModelInfoCore",()=>l,"parseModel",()=>s],821518)},928041,e=>{"use strict";var t=e.i(441637),r=e.i(719201),o=e.i(178578);let i={strategy:"priority",maxRetries:1,retryDelayMs:2e3,timeoutMs:12e4,concurrencyPerModel:3,queueTimeoutMs:3e4,healthCheckEnabled:!0,healthCheckTimeoutMs:3e3,maxComboDepth:3,trackMetrics:!0};function n(e,t,r){let o=t?.comboDefaults||{},n=r&&t?.providerOverrides?.[r]||{},a=e?.config||{},s=e=>Object.fromEntries(Object.entries(e).filter(([,e])=>null!=e));return{...i,...s(o),...s(n),...s(a)}}let a=new Map;function s(e,t=3){a.has(e)||a.set(e,{running:0,max:t,queue:[],rateLimitedUntil:null});let r=a.get(e);return r.max=t,r}function l(e){return!!e.rateLimitedUntil&&(!(Date.now()>=e.rateLimitedUntil)||(e.rateLimitedUntil=null,!1))}function c(e){let t=a.get(e);if(t)for(;t.queue.length>0&&t.running<t.max&&!l(t);){let r=t.queue.shift();clearTimeout(r.timer),t.running++,r.resolve(u(e))}}function u(e){let t=!1;return()=>{if(t)return;t=!0;let r=a.get(e);r&&r.running>0&&(r.running--,c(e))}}var d=e.i(260222),m=e.i(73114),p=e.i(821518);let f=/<omniModel>([^<]+)<\/omniModel>/,g=["function","class","import","def","SELECT","async","await","const","let","var","return","```","algorithm","compile","debug","refactor","typescript","python","javascript","code","implement","write a","create a component","endpoint","repository","deploy","install","script","api","database","query","schema","interface","generic","enum","module","package","dependency","função","classe","importar","definir","consulta","assíncrono","aguardar","constante","variável","retornar","algoritmo","compilar","depurar","refatorar","código","implementar","criar um","componente","como fazer","repositório","configurar","instalar","banco de dados","escrever uma função","criar uma classe","función","clase","importar","definir","consulta","asíncrono","esperar","constante","variable","retornar","algoritmo","compilar","depurar","refactorizar","código","implementar","函数","类","导入","定义","查询","异步","等待","常量","变量","返回","算法","编译","调试","代码","関数","クラス","インポート","非同期","定数","変数","コード","アルゴリズム","функция","класс","импорт","запрос","асинхронный","константа","переменная","алгоритм","код","funktion","klasse","importieren","abfrage","asynchron","konstante","variable","algorithmus","code","함수","클래스","가져오기","정의","쿼리","비동기","대기","상수","변수","반환","코드","دالة","فئة","استيراد","استعلام","غير متزامن","ثابت","متغير","كود","خوارزمية"],h=["prove","theorem","derive","step by step","chain of thought","formally","mathematical","proof","logically","analyze","reasoning","deduce","infer","hypothesis","convergence","provar","teorema","derivar","passo a passo","cadeia de pensamento","formalmente","matemático","prova","logicamente","analisar","raciocínio","deduzir","inferir","hipótese","demonstrar","cálculo","equação diferencial","integral","otimização","demostrar","teorema","derivar","paso a paso","formalmente","matemático","lógicamente","证明","定理","推导","逐步","思维链","数学","逻辑","分析","証明","定理","導出","論理的","分析","доказать","теорема","шаг за шагом","математически","логически","beweisen","theorem","schritt für schritt","mathematisch","logisch","증명","정리","단계별","수학적","논리적","إثبات","نظرية","خطوة بخطوة","رياضي","منطقياً"],y=["what is","define","translate","hello","yes or no","summarize","list","tell me","who is","o que é","definir","traduzir","olá","oi","sim ou não","resumir","listar","me diga","quem é","quando foi","onde fica","explique brevemente","de forma simples","qué es","definir","traducir","hola","resumir","listar","什么是","定义","翻译","你好","总结","列出","что такое","определить","перевести","привет","резюмировать","was ist","definieren","übersetzen","hallo","zusammenfassen","이란","정의","번역","안녕","요약","ما هو","تعريف","ترجمة","مرحبا","ملخص"],b={enabled:!0,simpleMaxWords:60},w={quota:.2,health:.25,costInv:.2,latencyInv:.15,taskFit:.1,stability:.05,tierPriority:.05};function v(e,t,r=w,o=()=>.5){return e.map(i=>{var n,a;let s,l,c,u=(s=Math.max(...e.map(e=>e.costPer1MTokens),.001),l=Math.max(...e.map(e=>e.p95LatencyMs),1),c=Math.max(...e.map(e=>e.latencyStdDev),.001),{quota:Math.min(1,i.quotaRemaining/100),health:"CLOSED"===i.circuitBreakerState?1:.5*("HALF_OPEN"===i.circuitBreakerState),costInv:1-i.costPer1MTokens/s,latencyInv:1-i.p95LatencyMs/l,taskFit:o(i.model,t),stability:1-i.latencyStdDev/c,tierPriority:(n=i.accountTier,a=i.quotaResetIntervalSecs,Math.min(1,.8*(({ultra:1,pro:.67,standard:.33,free:0})[n?.toLowerCase()??""]??.33)+.2*(null!=a&&a>0?Math.max(0,1-a/2592e3):0)))});return{provider:i.provider,model:i.model,score:r.quota*u.quota+r.health*u.health+r.costInv*u.costInv+r.latencyInv*u.latencyInv+r.taskFit*u.taskFit+r.stability*u.stability+r.tierPriority*u.tierPriority,factors:u}}).sort((e,t)=>t.score-e.score)}let M={coding:{"claude-sonnet":.95,"claude-opus":.92,"claude-haiku":.78,"gpt-4o":.9,"gpt-4o-mini":.8,"gpt-4-turbo":.88,o1:.93,o3:.95,"o4-mini":.88,codex:.98,"gemini-pro":.85,"gemini-flash":.8,"gemini-2.5-pro":.92,"gemini-2.5-flash":.82,"deepseek-coder":.9,"deepseek-v3":.85,"deepseek-r1":.88,"deepseek-chat":.84,"deepseek-v3.2":.86,qwen:.78,llama:.72,mistral:.75,mixtral:.77,"grok-4-fast":.8,"grok-4":.82,"grok-3":.8,"kimi-k2":.82,"glm-5":.78,"minimax-m2.5":.75,"minimax-m2":.72},review:{"claude-sonnet":.92,"claude-opus":.95,"claude-haiku":.7,"gpt-4o":.88,"gpt-4o-mini":.72,o1:.9,o3:.92,"gemini-pro":.9,"gemini-2.5-pro":.93,"gemini-flash":.75,"deepseek-r1":.85,"deepseek-v3":.8},planning:{"claude-opus":.95,"claude-sonnet":.9,"gpt-4o":.88,o1:.92,o3:.95,"gemini-2.5-pro":.93,"gemini-pro":.88,"deepseek-r1":.85},analysis:{"claude-opus":.95,"claude-sonnet":.92,"gemini-2.5-pro":.95,"gemini-pro":.88,"gemini-3.1-pro":.95,"gpt-4o":.85,o1:.9,o3:.93,"deepseek-r1":.88,"deepseek-chat":.8,"kimi-k2":.82,"glm-5":.78,"minimax-m2.5":.76},debugging:{"claude-sonnet":.93,"claude-opus":.9,"gpt-4o":.88,o1:.85,"deepseek-coder":.9,"deepseek-v3":.82,"gemini-flash":.78,codex:.92},documentation:{"claude-sonnet":.9,"claude-opus":.88,"gpt-4o":.92,"gpt-4o-mini":.85,"gemini-pro":.88,"gemini-flash":.82,"deepseek-v3":.78},default:{"claude-sonnet":.85,"claude-opus":.85,"gpt-4o":.85,"gemini-pro":.8,"gemini-3.1-pro":.85,"deepseek-v3":.75,"deepseek-chat":.74,"gemini-flash":.72,"grok-4-fast":.72,"grok-4":.74,"grok-3":.73,"kimi-k2":.76,"glm-5":.7,"minimax-m2.5":.7}},k=[{pattern:"coder",taskType:"coding",boost:.15},{pattern:"code",taskType:"coding",boost:.1},{pattern:"fast",taskType:"coding",boost:.05},{pattern:"thinking",taskType:"planning",boost:.1},{pattern:"thinking",taskType:"analysis",boost:.1}];function x(e,t){let r=e.toLowerCase(),o=t.toLowerCase();for(let[e,t]of Object.entries(M[o]||M.default))if(r.includes(e))return t;let i=.5;for(let e of k)r.includes(e.pattern)&&o===e.taskType&&(i+=e.boost);return Math.min(1,i)}let $={"ship-fast":{quota:.15,health:.3,costInv:.05,latencyInv:.35,taskFit:.1,stability:0,tierPriority:.05},"cost-saver":{quota:.15,health:.2,costInv:.4,latencyInv:.05,taskFit:.1,stability:.05,tierPriority:.05},"quality-first":{quota:.1,health:.2,costInv:.05,latencyInv:.05,taskFit:.4,stability:.15,tierPriority:.05},"offline-friendly":{quota:.4,health:.3,costInv:.1,latencyInv:.05,taskFit:0,stability:.1,tierPriority:.05}};class O{exclusions=new Map;incidentMode=!1;isExcluded(e){let t=this.exclusions.get(e);return!(!t||Date.now()-t.excludedAt>t.cooldownMs)}evaluate(e,t,r){let o=this.exclusions.get(e);if(o&&t>=.3&&Date.now()-o.excludedAt>o.cooldownMs)return this.exclusions.delete(e),{excluded:!1,reason:`Re-admitted: score ${t.toFixed(2)} >= 0.3`};if(this.isExcluded(e))return"HALF_OPEN"===r&&o?(o.probeCount++,{excluded:!1,isProbe:!0,reason:`Probe request #${o.probeCount}`}):{excluded:!0,reason:o?.reason||"Excluded"};if(t<.2){let r=o?Math.min(2*o.cooldownMs,18e5):3e5;return this.exclusions.set(e,{provider:e,excludedAt:Date.now(),cooldownMs:r,reason:`Score ${t.toFixed(2)} < 0.2`,probeCount:0}),{excluded:!0,reason:`Excluded: score ${t.toFixed(2)} below threshold`}}return"OPEN"===r?(this.exclusions.set(e,{provider:e,excludedAt:Date.now(),cooldownMs:3e5,reason:"Circuit breaker OPEN",probeCount:0}),{excluded:!0,reason:"Circuit breaker OPEN"}):{excluded:!1}}recordProbeResult(e,t){let r=this.exclusions.get(e);r&&(t&&r.probeCount>=3?this.exclusions.delete(e):t||(r.cooldownMs=Math.min(2*r.cooldownMs,18e5),r.excludedAt=Date.now(),r.probeCount=0))}updateIncidentMode(e){let t=e.length;if(0===t)return this.incidentMode=!1,!1;let r=e.filter(e=>"OPEN"===e).length;return this.incidentMode=r/t>.5,this.incidentMode}isInIncidentMode(){return this.incidentMode}getExclusions(){return[...this.exclusions.values()]}getStatus(){let e=Date.now();return{exclusionCount:this.exclusions.size,incidentMode:this.incidentMode,exclusions:[...this.exclusions.values()].map(t=>({provider:t.provider,reason:t.reason,remainingMs:Math.max(0,t.cooldownMs-(e-t.excludedAt))}))}}}let C=null,R=new Map,A=new class{name="rules";description="6-factor weighted scoring: quota, health, cost, latency, taskFit, stability";select(e,t){let r=e.filter(e=>"OPEN"!==e.circuitBreakerState),o=v(r.length>0?r:e,t.taskType,void 0,x),i=o[0];if(!i)throw Error("[RulesStrategy] No candidates to score");return{provider:i.provider,model:i.model,strategy:this.name,reason:`RulesStrategy: score=${i.score.toFixed(3)} (quota=${i.factors.quota.toFixed(2)}, health=${i.factors.health.toFixed(2)}, cost=${i.factors.costInv.toFixed(2)}, taskFit=${i.factors.taskFit.toFixed(2)})`,candidatesConsidered:o.length,finalScore:i.score}}},S=new class{name="cost";description="Always selects cheapest available provider (by costPer1MTokens)";select(e,t){let r=e.filter(e=>"OPEN"!==e.circuitBreakerState),o=r.length>0?r:e,i=[...o].sort((e,t)=>e.costPer1MTokens-t.costPer1MTokens)[0];if(!i)throw Error("[CostStrategy] No candidates available");return{provider:i.provider,model:i.model,strategy:this.name,reason:`CostStrategy: cheapest at $${i.costPer1MTokens.toFixed(3)}/1M tokens`,candidatesConsidered:o.length,finalScore:0===i.costPer1MTokens?1:1/i.costPer1MTokens}}},E=new class{name="latency";description="Prioritizes lowest p95 latency with reliability weighting";select(e,t){let r=e.filter(e=>"OPEN"!==e.circuitBreakerState),o=r.length>0?r:e,i=[...o].sort((e,t)=>{let r=1e3*e.errorRate,o=1e3*t.errorRate;return e.p95LatencyMs+r-(t.p95LatencyMs+o)})[0];if(!i)throw Error("[LatencyStrategy] No candidates available");let n=i.p95LatencyMs>0?Math.max(.001,1e4/i.p95LatencyMs):1,a=Math.max(0,1-i.errorRate);return{provider:i.provider,model:i.model,strategy:this.name,reason:`LatencyStrategy: p95=${i.p95LatencyMs}ms, errorRate=${(100*i.errorRate).toFixed(2)}%`,candidatesConsidered:o.length,finalScore:.7*n+.3*a}}};R.set("rules",A),R.set("cost",S),R.set("eco",S),R.set("latency",E),R.set("fast",E);var P=e.i(878947);let B=["gpt-oss-120b","deepseek-reasoner","glm-4.7","glm4.7"],N=[429,502,503,504],T={"grok-4-fast-non-reasoning":1143,"grok-4-1-fast-non-reasoning":1244,"gemini-2.5-flash":1238,"kimi-k2.5":1646,"gpt-4o-mini":2764,"claude-sonnet-4.6":4e3,"claude-opus-4.6":6e3,"deepseek-chat":2e3},D=new Map;function q(e){return"string"==typeof e?{model:e,weight:0}:{model:e.model,weight:e.weight||0}}function L(e,t,r=new Set,o=0){if(o>3)return e.models.map(e=>q(e).model);if(r.has(e.name))return[];r.add(e.name);let i=Array.isArray(t)?t:t?.combos||[],n=[];for(let t of e.models||[]){let e=q(t).model,a=i.find(t=>t.name===e);if(a){let e=L(a,i,new Set(r),o+1);n.push(...e)}else n.push(e)}return n}function I(e){let t=e.map(e=>q(e)),r=t.reduce((e,t)=>e+t.weight,0);if(r<=0)return t[Math.floor(Math.random()*t.length)].model;let o=Math.random()*r;for(let e of t)if((o-=e.weight)<=0)return e.model;return t[t.length-1].model}function F(e,t){let r=e.map(e=>q(e));return[r.find(e=>e.model===t),...r.filter(e=>e.model!==t).sort((e,t)=>t.weight-e.weight)].filter(Boolean).map(e=>e.model)}async function _(t){try{let{getPricingForModel:r}=await e.A(605589),o=await Promise.all(t.map(async e=>{let t=(0,p.parseModel)(e),o=t.provider||t.providerAlias||"unknown",i=t.model||e;try{let t=await r(o,i);return{modelStr:e,cost:t?.input??1/0}}catch{return{modelStr:e,cost:1/0}}}));return o.sort((e,t)=>e.cost-t.cost),o.map(e=>e.modelStr)}catch{return t}}function j(e){return Array.isArray(e)?e.map(e=>"string"==typeof e?e.trim():"").filter(Boolean):"string"==typeof e?e.split(",").map(e=>e.trim()).filter(Boolean):[]}function z(e){return T[String(e||"").toLowerCase()]??1500}async function K(t,r){let i=(0,o.getComboMetrics)(r),{getPricingForModel:n}=await e.A(605589),a={};try{let{getModelLatencyStats:t}=await e.A(537776);a=await t({windowHours:24,minSamples:3,maxRows:1e4})}catch{}return await Promise.all(t.map(async e=>{let t=(0,p.parseModel)(e),r=t.provider||t.providerAlias||"unknown",o=t.model||e,s=a[`${r}/${o}`]||null,l=Number(s?.totalRequests),c=Number.isFinite(l)&&l>=10,u=1;try{let e=await n(r,o),t=Number(e?.input);Number.isFinite(t)&&t>=0&&(u=t)}catch{}let m=i?.byModel?.[e]||null,f=Number(m?.avgLatencyMs),g=Number(m?.successRate),h=Number(s?.p95LatencyMs),y=Number(s?.latencyStdDev),b=Number(s?.successRate),w=c?Number.isFinite(h)&&h>0?h:z(o):Number.isFinite(f)&&f>0?f:z(o),v=c?Number.isFinite(b)&&b>=0&&b<=1?1-b:.05:Number.isFinite(g)&&g>=0&&g<=100?1-g/100:.05,M=c&&Number.isFinite(y)&&y>0?Math.max(10,y):Math.max(10,.1*w),k=(0,d.getCircuitBreaker)(`combo:${e}`)?.getStatus?.()?.state;return{provider:r,model:o,quotaRemaining:100,quotaTotal:100,circuitBreakerState:"OPEN"===k||"HALF_OPEN"===k?k:"CLOSED",costPer1MTokens:u,p95LatencyMs:w,latencyStdDev:M,errorRate:v,accountTier:"standard",quotaResetIntervalSecs:86400}}))}async function U({body:e,combo:a,handleSingleModel:s,isModelAvailable:l,log:c,settings:u,allCombos:M}){let k,S=a.strategy||"priority",E=a.models||[],{body:T,pinnedModel:D}=function(e,t,r){var o;if(!t)return{body:e,pinnedModel:null};let i=Array.isArray(e.messages)?[...e.messages]:[],n=null;t.context_cache_protection&&(n=function(e){for(let t=e.length-1;t>=0;t--){let r=e[t];if("assistant"===r.role&&"string"==typeof r.content){let e=f.exec(r.content);if(e)return e[1]}}return null}(i)),t.system_message&&t.system_message.trim()&&(o=i,i=[{role:"system",content:t.system_message},...o.filter(e=>"system"!==e.role)]);let a=function(e,t){let r;if(!e||!t)return e;try{r=new RegExp(t)}catch{return console.warn(`[ComboAgent] Invalid tool_filter_regex: "${t}"`),e}return e.filter(e=>{let t=e.function?.name??e.name??"";return r.test(String(t))})}(e.tools,t.tool_filter_regex);return i=i.map(e=>"string"==typeof e.content&&f.test(e.content)?{...e,content:e.content.replace(f,"").trimEnd()}:e),{body:{...e,messages:i,...a!==e.tools&&{tools:a}},pinnedModel:n}}(e,a,0);e=T,D&&c.info("COMBO",`[#401] Context caching: pinned model=${D}`);let z=a.context_cache_protection?async(e,t)=>{let r=await s(e,t);if(r.ok&&!e.stream)try{let e=await r.clone().json(),o=Array.isArray(e?.messages)?e.messages:[];if(o.length>0){let i=function(e,t){let r=e.map(e=>"assistant"===e.role&&"string"==typeof e.content?{...e,content:e.content.replace(f,"").trimEnd()}:e),o=r.map(e=>e.role).lastIndexOf("assistant");if(-1===o)return[...r,{role:"assistant",content:`
|
|
2
|
+
<omniModel>${t}</omniModel>`}];let i=r[o];if("string"!=typeof i.content)return r;let n=[...r];return n[o]={...i,content:`${i.content}
|
|
2
3
|
<omniModel>${t}</omniModel>`},n}(o,t);return new Response(JSON.stringify({...e,messages:i}),{status:r.status,headers:r.headers})}}catch{}return r}:s;if("round-robin"===S)return W({body:e,combo:a,handleSingleModel:z,isModelAvailable:l,log:c,settings:u,allCombos:M});let U=u?n(a,u):{...i,...a.config||{}},H=U.maxRetries??1,J=U.retryDelayMs??2e3;if(M){let e=L(a,M);if("weighted"===S){let e=I(E);k=(k=F(E,e)).flatMap(e=>{let t=(Array.isArray(M)?M:M?.combos||[]).find(t=>t.name===e);return t?L(t,M):[e]}),c.info("COMBO",`Weighted selection with nested resolution: ${k.length} total models`)}else k=e,c.info("COMBO",`${S} with nested resolution: ${k.length} total models`)}else if("weighted"===S){let e=I(E);k=F(E,e),c.info("COMBO",`Weighted selection: ${e} (from ${E.length} models)`)}else k=E.map(e=>q(e).model);if("auto"===S){let t,r=Array.isArray(e?.tools)&&e.tools.length>0,i=[...k];if(r){let e=i.filter(e=>(function(e){let t=(0,p.parseModel)(e),r=t.provider||t.providerAlias||"",o=t.model||e;if(r){let e=function(e,t){let r=P.PROVIDER_ID_TO_ALIAS[e]||e,o=P.PROVIDER_MODELS[r];if(!Array.isArray(o))return null;let i=o.find(e=>e?.id===t);return i&&"boolean"==typeof i.toolCalling?i.toolCalling:null}(r,o);if(null!==e)return e}let i=String(e||"").toLowerCase();return!!i&&!B.some(e=>!!(i===e||i.endsWith(`/${e}`))||i.includes(e))})(e));e.length>0?i=e:c.warn("COMBO","Auto strategy: all candidates filtered by tool-calling policy, falling back to full pool")}let n=function(e){if(!e||"object"!=typeof e)return"";let t=Array.isArray(e.messages)?[...e.messages].reverse().find(e=>e&&"object"==typeof e&&"user"===e.role):null;if(t){var r;return"string"==typeof(r=t.content)?r:Array.isArray(r)?r.map(e=>e&&"object"==typeof e&&"string"==typeof e.text?e.text:"").join("\n"):""}if("string"==typeof e.input)return e.input;if(Array.isArray(e.input)){let t=e.input.map(e=>e&&"object"==typeof e?"string"==typeof e.content?e.content:"string"==typeof e.text?e.text:"":"").filter(Boolean).join("\n");if(t)return t}return"string"==typeof e.prompt?e.prompt:""}(e),s="string"==typeof a?.system_message?a.system_message:void 0,l=function(e,t,r){if(!t.enabled)return"medium";let o=`${r??""} ${e}`.toLowerCase(),i=e.trim().split(/\s+/).length,n=t.simpleMaxWords??60,a=[...g,...t.extraCodeKeywords??[]],s=[...h,...t.extraReasoningKeywords??[]],l=[...y,...t.extraSimpleKeywords??[]];for(let e of a)if(o.includes(e.toLowerCase()))return"code";for(let e of s)if(o.includes(e.toLowerCase()))return"reasoning";if(i<n){for(let e of l)if(o.includes(e.toLowerCase()))return"simple"}return"medium"}(n,(t=a?.autoConfig?.intentConfig||a?.config?.auto?.intentConfig||a?.config?.intentConfig||{},{...b,...t,..."boolean"==typeof u?.intentDetectionEnabled?{enabled:u.intentDetectionEnabled}:{},...Number.isFinite(Number(u?.intentSimpleMaxWords))?{simpleMaxWords:Number(u.intentSimpleMaxWords)}:{},...j(u?.intentExtraCodeKeywords).length>0?{extraCodeKeywords:j(u.intentExtraCodeKeywords)}:{},...j(u?.intentExtraReasoningKeywords).length>0?{extraReasoningKeywords:j(u.intentExtraReasoningKeywords)}:{},...j(u?.intentExtraSimpleKeywords).length>0?{extraSimpleKeywords:j(u.intentExtraSimpleKeywords)}:{}}),s);(0,o.recordComboIntent)(a.name,l);let d=function(e){switch(e){case"code":return"coding";case"reasoning":return"analysis";default:return"default"}}(l),m=a?.autoConfig||a?.config?.auto||a?.config||{},f="string"==typeof m.routingStrategy?m.routingStrategy:"string"==typeof m.strategyName?m.strategyName:"rules",M=Array.isArray(m.candidatePool)?m.candidatePool:[...new Set(i.map(e=>{let t=(0,p.parseModel)(e);return t.provider||t.providerAlias||"unknown"}))],S=m.weights&&"object"==typeof m.weights?m.weights:w,E=Number.isFinite(Number(m.explorationRate))?Number(m.explorationRate):.05,N=Number.isFinite(Number(m.budgetCap))?Number(m.budgetCap):void 0,T="string"==typeof m.modePack?m.modePack:void 0,D=await K(i,a.name);if(D.length>0){let e=null,t=null,o="";if("rules"!==f)try{let i=function(e,t,r="rules"){let o;return(!(o=R.get(r))?(console.warn(`[RouterStrategy] Strategy '${r}' not found, falling back to 'rules'`),A):o).select(e,t)}(D,{taskType:d,requestHasTools:r},f);e=i.provider,t=i.model,o=i.reason}catch(e){c.warn("COMBO",`Auto strategy '${f}' failed (${e?.message||"unknown"}), falling back to rules`)}if(!e||!t){let r=function(e,t,r="default",o){let i,n=(C||(C=new O),C),a=e.weights;if(e.modePack){let t=$[e.modePack];t&&(a=t)}.01>Math.abs(Object.values(a).reduce((e,t)=>e+t,0)-1)||(a=w);let s=[],l=t.filter(t=>(!(e.candidatePool.length>0)||!!e.candidatePool.includes(t.provider))&&(!n.evaluate(t.provider,.5,t.circuitBreakerState).excluded||(s.push(t.provider),!1)));0===l.length&&(l.push(...t),s.length=0);let c=v(l,r,a,x),u=c.filter(e=>!n.evaluate(e.provider,e.score,"CLOSED").excluded||(s.push(e.provider),!1)),d=u.length>0?u:c,m=Math.random()<(n.isInIncidentMode()?0:e.explorationRate)&&d.length>1;if(m){let e=Math.floor(Math.random()*d.length);i=d[e]}else i=d[0];if(e.budgetCap){let r=t.find(e=>e.provider===i.provider);if(r&&r.costPer1MTokens/1e6*1e3>e.budgetCap){let e=d.map(e=>({...e,cost:t.find(t=>t.provider===e.provider)?.costPer1MTokens||0})).sort((e,t)=>e.cost-t.cost)[0];e&&(i=e)}}return{provider:i.provider,model:i.model,score:i.score,isExploration:m,factors:i.factors,excluded:s}}({id:a.id||a.name,name:a.name,type:"auto",candidatePool:M,weights:S,modePack:T,budgetCap:N,explorationRate:E},D,d);e=r.provider,t=r.model,o=`score=${r.score.toFixed(3)}${r.isExploration?" (exploration)":""}`}let n=new Map;for(let e of i){let t=(0,p.parseModel)(e),r=t.provider||t.providerAlias||"unknown",o=t.model||e;n.set(`${r}/${o}`,e)}let s=v(D,d,S).map(e=>n.get(`${e.provider}/${e.model}`)||`${e.provider}/${e.model}`).filter(Boolean),u=n.get(`${e}/${t}`)||`${e}/${t}`;k=[...new Set([u,...s,...i])],c.info("COMBO",`Auto selection: ${u} | intent=${l} task=${d} | strategy=${f} | ${o}`)}else c.warn("COMBO","Auto strategy has no candidates, keeping default ordering")}else if("strict-random"===S){let e=await (0,m.getNextFromDeck)(`combo:${a.name}`,k),t=k.filter(t=>t!==e);k=[e,...t],c.info("COMBO",`Strict-random deck: ${e} selected (${k.length} models)`)}else"random"===S?(k=(0,m.fisherYatesShuffle)([...k]),c.info("COMBO",`Random shuffle: ${k.length} models`)):"least-used"===S?(k=function(e,t){let r=(0,o.getComboMetrics)(t);if(!r||!r.byModel)return e;let i=e.map(e=>({modelStr:e,requests:r.byModel[e]?.requests??0}));return i.sort((e,t)=>e.requests-t.requests),i.map(e=>e.modelStr)}(k,a.name),c.info("COMBO",`Least-used ordering: ${k[0]} has fewest requests`)):"cost-optimized"===S&&(k=await _(k),c.info("COMBO",`Cost-optimized ordering: cheapest first (${k[0]})`));let V=null,G=null,Y=null,Q=Date.now(),X=0;for(let r=0;r<k.length;r++){let i=k[r],n=(0,p.parseModel)(i),s=n.provider||n.providerAlias||"unknown",u=(0,t.getProviderProfile)(s),m=`combo:${i}`,f=(0,d.getCircuitBreaker)(m,{failureThreshold:u.circuitBreakerThreshold,resetTimeout:u.circuitBreakerReset});if(!f.canExecute()){c.info("COMBO",`Skipping ${i}: circuit breaker OPEN for ${s}`),r>0&&X++;continue}if(l&&!await l(i)){c.info("COMBO",`Skipping ${i} (all accounts in cooldown)`),r>0&&X++;continue}for(let n=0;n<=H;n++){n>0&&(c.info("COMBO",`Retrying ${i} in ${J}ms (attempt ${n+1}/${H+1})`),await new Promise(e=>setTimeout(e,J))),c.info("COMBO",`Trying model ${r+1}/${k.length}: ${i}${n>0?` (retry ${n})`:""}`);let l=await z(e,i);if(l.ok){let e=Date.now()-Q;return c.info("COMBO",`Model ${i} succeeded (${e}ms, ${X} fallbacks)`),(0,o.recordComboRequest)(a.name,i,{success:!0,latencyMs:e,fallbackCount:X,strategy:S}),l}let u=l.statusText||"",d=null;try{let e=l.clone();try{let t=await e.json();u=t?.error?.message||t?.error||t?.message||u,d=t?.retryAfter||null}catch{try{let e=await l.text();e&&(u=e.substring(0,500))}catch{}}}catch{}if(d&&(!G||new Date(d)<new Date(G))&&(G=d),"string"!=typeof u)try{u=JSON.stringify(u)}catch{u=String(u)}let{shouldFallback:m,cooldownMs:p}=(0,t.checkFallbackError)(l.status,u,0,null,s);if(N.includes(l.status)&&f._onFailure(),!m)return c.warn("COMBO",`Model ${i} failed (no fallback)`,{status:l.status}),l;let g=[408,429,500,502,503,504].includes(l.status);if(!(n<H)||!g){V=u||String(l.status),Y||(Y=l.status),r>0&&X++,c.warn("COMBO",`Model ${i} failed, trying next`,{status:l.status});break}}}let Z=k.every(e=>!(0,d.getCircuitBreaker)(`combo:${e}`).canExecute()),ee=Date.now()-Q;if((0,o.recordComboRequest)(a.name,null,{success:!1,latencyMs:ee,fallbackCount:X,strategy:S}),Z)return c.warn("COMBO","All models have circuit breaker OPEN — aborting"),(0,r.unavailableResponse)(503,"All providers temporarily unavailable (circuit breakers open)");let et=Y||406,er=V||"All combo models unavailable";if(G){let e=(0,t.formatRetryAfter)(G);return c.warn("COMBO",`All models failed | ${er} (${e})`),(0,r.unavailableResponse)(et,er,G,e)}return c.warn("COMBO",`All models failed | ${er}`),new Response(JSON.stringify({error:{message:er}}),{status:et,headers:{"Content-Type":"application/json"}})}async function W({body:e,combo:a,handleSingleModel:m,isModelAvailable:f,log:g,settings:h,allCombos:y}){let b,w=a.models||[],v=h?n(a,h):{...i,...a.config||{}},M=v.concurrencyPerModel??3,k=v.queueTimeoutMs??3e4,x=v.maxRetries??1,$=v.retryDelayMs??2e3,O=(b=y?L(a,y):w.map(e=>q(e).model)).length;if(0===O)return(0,r.unavailableResponse)(406,"Round-robin combo has no models");let C=D.get(a.name)||0;D.set(a.name,C+1);let R=C%O,A=Date.now(),S=null,E=null,P=null,B=0;for(let r=0;r<O;r++){let i,n=b[(R+r)%O],h=(0,p.parseModel)(n),y=h.provider||h.providerAlias||"unknown",w=(0,t.getProviderProfile)(y),v=`combo:${n}`,T=(0,d.getCircuitBreaker)(v,{failureThreshold:w.circuitBreakerThreshold,resetTimeout:w.circuitBreakerReset});if(!T.canExecute()){g.info("COMBO-RR",`Skipping ${n}: circuit breaker OPEN for ${y}`),r>0&&B++;continue}if(f&&!await f(n)){g.info("COMBO-RR",`Skipping ${n} (all accounts in cooldown)`),r>0&&B++;continue}try{i=await function(e,{maxConcurrency:t=3,timeoutMs:r=3e4}={}){let o=s(e,t);return o.running<o.max&&!l(o)?(o.running++,Promise.resolve(u(e))):new Promise((t,i)=>{let n=setTimeout(()=>{let t=o.queue.findIndex(e=>e.timer===n);-1!==t&&o.queue.splice(t,1);let a=Error(`Semaphore timeout after ${r}ms for ${e}`);a.code="SEMAPHORE_TIMEOUT",i(a)},r);o.queue.push({resolve:t,reject:i,timer:n})})}(n,{maxConcurrency:M,timeoutMs:k})}catch(e){if("SEMAPHORE_TIMEOUT"===e.code){g.warn("COMBO-RR",`Semaphore timeout for ${n}, trying next model`),r>0&&B++;continue}throw e}try{for(let i=0;i<=x;i++){i>0&&(g.info("COMBO-RR",`Retrying ${n} in ${$}ms (attempt ${i+1}/${x+1})`),await new Promise(e=>setTimeout(e,$))),g.info("COMBO-RR",`[RR #${C}] → ${n}${r>0?` (fallback +${r})`:""}${i>0?` (retry ${i})`:""}`);let l=await m(e,n);if(l.ok){let e=Date.now()-A;return g.info("COMBO-RR",`${n} succeeded (${e}ms, ${B} fallbacks)`),(0,o.recordComboRequest)(a.name,n,{success:!0,latencyMs:e,fallbackCount:B,strategy:"round-robin"}),l}let u=l.statusText||"",d=null;try{let e=l.clone();try{let t=await e.json();u=t?.error?.message||t?.error||t?.message||u,d=t?.retryAfter||null}catch{try{let e=await l.text();e&&(u=e.substring(0,500))}catch{}}}catch{}if(d&&(!P||new Date(d)<new Date(P))&&(P=d),"string"!=typeof u)try{u=JSON.stringify(u)}catch{u=String(u)}let{shouldFallback:p,cooldownMs:f}=(0,t.checkFallbackError)(l.status,u,0,null,y);if(N.includes(l.status)&&f>0&&(!function(e,t){let r=s(e);r.rateLimitedUntil=Date.now()+t,setTimeout(()=>{r.rateLimitedUntil&&Date.now()>=r.rateLimitedUntil&&(r.rateLimitedUntil=null,c(e))},t+50)}(n,f),T._onFailure(),g.warn("COMBO-RR",`${n} error ${l.status}, cooldown ${f}ms (breaker: ${T.getStatus().failureCount}/${w.circuitBreakerThreshold})`)),!p)return g.warn("COMBO-RR",`${n} failed (no fallback)`,{status:l.status}),l;let h=[408,429,500,502,503,504].includes(l.status);if(!(i<x)||!h){S=u||String(l.status),E||(E=l.status),r>0&&B++,g.warn("COMBO-RR",`${n} failed, trying next model`,{status:l.status});break}}}finally{i()}}let T=Date.now()-A;if((0,o.recordComboRequest)(a.name,null,{success:!1,latencyMs:T,fallbackCount:B,strategy:"round-robin"}),b.every(e=>!(0,d.getCircuitBreaker)(`combo:${e}`).canExecute()))return g.warn("COMBO-RR","All models have circuit breaker OPEN — aborting"),(0,r.unavailableResponse)(503,"All providers temporarily unavailable (circuit breakers open)");let I=E||406,F=S||"All round-robin combo models unavailable";if(P){let e=(0,t.formatRetryAfter)(P);return g.warn("COMBO-RR",`All models failed | ${F} (${e})`),(0,r.unavailableResponse)(I,F,P,e)}return g.warn("COMBO-RR",`All models failed | ${F}`),new Response(JSON.stringify({error:{message:F}}),{status:I,headers:{"Content-Type":"application/json"}})}e.s(["handleComboChat",()=>U,"validateComboDAG",()=>function e(t,r,o=new Set,i=0){if(i>3)throw Error(`Max combo nesting depth (3) exceeded at "${t}"`);if(o.has(t))throw Error(`Circular combo reference detected: ${t}`);o.add(t);let n=Array.isArray(r)?r:r?.combos||[],a=n.find(e=>e.name===t);if(a&&a.models)for(let t of a.models){let r=q(t).model;n.find(e=>e.name===r)&&e(r,n,new Set(o),i+1)}}],928041)}];
|
|
3
4
|
|
|
4
5
|
//# sourceMappingURL=open-sse_services_826884e1._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[918622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},677850,a=>a.a(async(b,c)=>{try{let b=await a.y("zod");a.n(b),c()}catch(a){c(a)}},!0),342602,(a,b,c)=>{"use strict";b.exports=a.r(918622)},187924,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored["react-ssr"].ReactJsxRuntime},572131,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored["react-ssr"].React},804730,a=>{a.v({name:"omniroute",version:"2.8.
|
|
1
|
+
module.exports=[918622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},677850,a=>a.a(async(b,c)=>{try{let b=await a.y("zod");a.n(b),c()}catch(a){c(a)}},!0),342602,(a,b,c)=>{"use strict";b.exports=a.r(918622)},187924,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored["react-ssr"].ReactJsxRuntime},572131,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored["react-ssr"].React},804730,a=>{a.v({name:"omniroute",version:"2.8.5",description:"Smart AI Router with auto fallback — route to FREE & cheap models, zero downtime. Works with Cursor, Cline, Claude Desktop, Codex, and any OpenAI-compatible tool.",type:"module",bin:{omniroute:"bin/omniroute.mjs","omniroute-reset-password":"bin/reset-password.mjs"},files:["bin/","app/","open-sse/mcp-server/","src/shared/contracts/","scripts/postinstall.mjs","scripts/native-binary-compat.mjs","README.md","LICENSE"],workspaces:["open-sse"],engines:{node:">=18.0.0 <24.0.0"},keywords:["ai","router","proxy","openai","claude","anthropic","gemini","fallback","cursor","cline","codex","llm","auto-fallback"],license:"MIT",author:"diegosouzapw",repository:{type:"git",url:"https://github.com/diegosouzapw/OmniRoute"},homepage:"https://omniroute.online",scripts:{dev:"node scripts/run-next.mjs dev",build:"next build","build:cli":"node scripts/prepublish.mjs",start:"node scripts/run-next.mjs start",lint:"eslint .","electron:dev":'concurrently "npm run dev" "wait-on http://localhost:20128 && cd electron && npm run dev"',"electron:build":"npm run build && cd electron && npm run build","electron:build:win":"npm run build && cd electron && npm run build:win","electron:build:mac":"npm run build && cd electron && npm run build:mac","electron:build:linux":"npm run build && cd electron && npm run build:linux",test:"node --import tsx/esm --test tests/unit/*.test.mjs","test:unit":"node --import tsx/esm --test tests/unit/*.test.mjs","test:plan3":"node --import tsx/esm --test tests/unit/plan3-p0.test.mjs","test:fixes":"node --import tsx/esm --test tests/unit/fixes-p1.test.mjs","test:security":"node --import tsx/esm --test tests/unit/security-fase01.test.mjs","check:cycles":"node scripts/check-cycles.mjs","check:route-validation:t06":"node scripts/check-route-validation.mjs","check:any-budget:t11":"node scripts/check-t11-any-budget.mjs","check:docs-sync":"node scripts/check-docs-sync.mjs","typecheck:core":"tsc --pretty false -p tsconfig.typecheck-core.json","typecheck:noimplicit:core":"tsc --pretty false -p tsconfig.typecheck-noimplicit-core.json","test:integration":"node --import tsx/esm --test tests/integration/*.test.mjs","test:e2e":"node scripts/run-playwright-tests.mjs test tests/e2e/*.spec.ts","test:protocols:e2e":"node scripts/run-protocol-clients-tests.mjs","test:vitest":"vitest run open-sse/mcp-server/__tests__/*.test.ts open-sse/services/autoCombo/__tests__/*.test.ts","test:ecosystem":"node scripts/run-ecosystem-tests.mjs","test:coverage":"npx c8 --exclude=open-sse --check-coverage --lines 50 --functions 50 --branches 50 node --import tsx/esm --test tests/unit/*.test.mjs","test:all":"npm run test:unit && npm run test:vitest && npm run test:ecosystem && npm run test:e2e",check:"npm run lint && npm run test",prepublishOnly:"npm run build:cli",postinstall:"node scripts/postinstall.mjs",prepare:"husky","system-info":"node scripts/system-info.mjs"},dependencies:{"@modelcontextprotocol/sdk":"^1.27.1","@monaco-editor/react":"^4.7.0",bcryptjs:"^3.0.3","better-sqlite3":"^12.6.2",bottleneck:"^2.19.5",dompurify:"^3.3.2",express:"^5.2.1","fetch-socks":"^1.3.2","http-proxy-middleware":"^3.0.5","https-proxy-agent":"^8.0.0",jose:"^6.1.3",lowdb:"^7.0.1","monaco-editor":"^0.55.1",next:"^16.1.6","next-intl":"^4.8.3","node-machine-id":"^1.1.12",open:"^11.0.0",ora:"^9.1.0",pino:"^10.3.1","pino-pretty":"^13.1.3",react:"19.2.4","react-dom":"19.2.4",recharts:"^3.7.0",selfsigned:"^5.5.0",tsx:"^4.21.0",undici:"^7.19.2",uuid:"^13.0.0","wreq-js":"^2.0.1",zod:"^4.3.6",zustand:"^5.0.10","@swc/helpers":"0.5.19"},devDependencies:{"@playwright/test":"^1.58.2","@tailwindcss/postcss":"^4.1.18","@types/bcryptjs":"^3.0.0","@types/better-sqlite3":"^7.6.13","@types/node":"^25.2.3","@types/react":"^19.2.14","@types/react-dom":"^19.2.3",concurrently:"^9.2.1","cross-env":"^10.1.0",eslint:"^9.39.2","eslint-config-next":"16.1.6",husky:"^9.1.7","lint-staged":"^16.2.7",prettier:"^3.8.1",tailwindcss:"^4",typescript:"^5.9.3","typescript-eslint":"^8.56.0",vitest:"^4.0.18","wait-on":"^9.0.4"},"lint-staged":{"*.{js,jsx,ts,tsx,mjs}":["prettier --write","eslint --fix --no-error-on-unmatched-pattern"],"*.{json,md,yml,yaml,css}":["prettier --write"]},pnpm:{onlyBuiltDependencies:["@parcel/watcher","@swc/core","better-sqlite3","esbuild","omniroute","sharp"]}})},588788,a=>{"use strict";var b=a.i(32886),c=a.i(187924);function d({locale:a,...d}){if(!a)throw Error(void 0);return(0,c.jsx)(b.IntlProvider,{locale:a,...d})}a.s(["default",()=>d])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__9affb65e._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[193695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},677850,a=>a.a(async(b,c)=>{try{let b=await a.y("zod");a.n(b),c()}catch(a){c(a)}},!0),804730,a=>{a.v({name:"omniroute",version:"2.8.
|
|
1
|
+
module.exports=[193695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},677850,a=>a.a(async(b,c)=>{try{let b=await a.y("zod");a.n(b),c()}catch(a){c(a)}},!0),804730,a=>{a.v({name:"omniroute",version:"2.8.5",description:"Smart AI Router with auto fallback — route to FREE & cheap models, zero downtime. Works with Cursor, Cline, Claude Desktop, Codex, and any OpenAI-compatible tool.",type:"module",bin:{omniroute:"bin/omniroute.mjs","omniroute-reset-password":"bin/reset-password.mjs"},files:["bin/","app/","open-sse/mcp-server/","src/shared/contracts/","scripts/postinstall.mjs","scripts/native-binary-compat.mjs","README.md","LICENSE"],workspaces:["open-sse"],engines:{node:">=18.0.0 <24.0.0"},keywords:["ai","router","proxy","openai","claude","anthropic","gemini","fallback","cursor","cline","codex","llm","auto-fallback"],license:"MIT",author:"diegosouzapw",repository:{type:"git",url:"https://github.com/diegosouzapw/OmniRoute"},homepage:"https://omniroute.online",scripts:{dev:"node scripts/run-next.mjs dev",build:"next build","build:cli":"node scripts/prepublish.mjs",start:"node scripts/run-next.mjs start",lint:"eslint .","electron:dev":'concurrently "npm run dev" "wait-on http://localhost:20128 && cd electron && npm run dev"',"electron:build":"npm run build && cd electron && npm run build","electron:build:win":"npm run build && cd electron && npm run build:win","electron:build:mac":"npm run build && cd electron && npm run build:mac","electron:build:linux":"npm run build && cd electron && npm run build:linux",test:"node --import tsx/esm --test tests/unit/*.test.mjs","test:unit":"node --import tsx/esm --test tests/unit/*.test.mjs","test:plan3":"node --import tsx/esm --test tests/unit/plan3-p0.test.mjs","test:fixes":"node --import tsx/esm --test tests/unit/fixes-p1.test.mjs","test:security":"node --import tsx/esm --test tests/unit/security-fase01.test.mjs","check:cycles":"node scripts/check-cycles.mjs","check:route-validation:t06":"node scripts/check-route-validation.mjs","check:any-budget:t11":"node scripts/check-t11-any-budget.mjs","check:docs-sync":"node scripts/check-docs-sync.mjs","typecheck:core":"tsc --pretty false -p tsconfig.typecheck-core.json","typecheck:noimplicit:core":"tsc --pretty false -p tsconfig.typecheck-noimplicit-core.json","test:integration":"node --import tsx/esm --test tests/integration/*.test.mjs","test:e2e":"node scripts/run-playwright-tests.mjs test tests/e2e/*.spec.ts","test:protocols:e2e":"node scripts/run-protocol-clients-tests.mjs","test:vitest":"vitest run open-sse/mcp-server/__tests__/*.test.ts open-sse/services/autoCombo/__tests__/*.test.ts","test:ecosystem":"node scripts/run-ecosystem-tests.mjs","test:coverage":"npx c8 --exclude=open-sse --check-coverage --lines 50 --functions 50 --branches 50 node --import tsx/esm --test tests/unit/*.test.mjs","test:all":"npm run test:unit && npm run test:vitest && npm run test:ecosystem && npm run test:e2e",check:"npm run lint && npm run test",prepublishOnly:"npm run build:cli",postinstall:"node scripts/postinstall.mjs",prepare:"husky","system-info":"node scripts/system-info.mjs"},dependencies:{"@modelcontextprotocol/sdk":"^1.27.1","@monaco-editor/react":"^4.7.0",bcryptjs:"^3.0.3","better-sqlite3":"^12.6.2",bottleneck:"^2.19.5",dompurify:"^3.3.2",express:"^5.2.1","fetch-socks":"^1.3.2","http-proxy-middleware":"^3.0.5","https-proxy-agent":"^8.0.0",jose:"^6.1.3",lowdb:"^7.0.1","monaco-editor":"^0.55.1",next:"^16.1.6","next-intl":"^4.8.3","node-machine-id":"^1.1.12",open:"^11.0.0",ora:"^9.1.0",pino:"^10.3.1","pino-pretty":"^13.1.3",react:"19.2.4","react-dom":"19.2.4",recharts:"^3.7.0",selfsigned:"^5.5.0",tsx:"^4.21.0",undici:"^7.19.2",uuid:"^13.0.0","wreq-js":"^2.0.1",zod:"^4.3.6",zustand:"^5.0.10","@swc/helpers":"0.5.19"},devDependencies:{"@playwright/test":"^1.58.2","@tailwindcss/postcss":"^4.1.18","@types/bcryptjs":"^3.0.0","@types/better-sqlite3":"^7.6.13","@types/node":"^25.2.3","@types/react":"^19.2.14","@types/react-dom":"^19.2.3",concurrently:"^9.2.1","cross-env":"^10.1.0",eslint:"^9.39.2","eslint-config-next":"16.1.6",husky:"^9.1.7","lint-staged":"^16.2.7",prettier:"^3.8.1",tailwindcss:"^4",typescript:"^5.9.3","typescript-eslint":"^8.56.0",vitest:"^4.0.18","wait-on":"^9.0.4"},"lint-staged":{"*.{js,jsx,ts,tsx,mjs}":["prettier --write","eslint --fix --no-error-on-unmatched-pattern"],"*.{json,md,yml,yaml,css}":["prettier --write"]},pnpm:{onlyBuiltDependencies:["@parcel/watcher","@swc/core","better-sqlite3","esbuild","omniroute","sharp"]}})},569264,a=>{a.n(a.i(354832))},650645,a=>{a.n(a.i(827572))},923576,a=>{a.n(a.i(104858))},825210,a=>{a.n(a.i(402747))},517537,a=>{a.n(a.i(903363))},13718,a=>{a.n(a.i(685523))},118198,a=>{a.n(a.i(545518))},296736,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},500790,(a,b,c)=>{let{createClientModuleProxy:d}=a.r(211857);a.n(d("[project]/node_modules/next/dist/client/app-dir/link.js <module evaluation>"))},784707,(a,b,c)=>{let{createClientModuleProxy:d}=a.r(211857);a.n(d("[project]/node_modules/next/dist/client/app-dir/link.js"))},297647,a=>{"use strict";a.i(500790);var b=a.i(784707);a.n(b)},395936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return i},useLinkStatus:function(){return h.useLinkStatus}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(296736),g=a.r(907997),h=f._(a.r(297647));function i(a){let b=a.legacyBehavior,c="string"==typeof a.children||"number"==typeof a.children||"string"==typeof a.children?.type,d=a.children?.type?.$$typeof===Symbol.for("react.client.reference");return!b||c||d||(a.children?.type?.$$typeof===Symbol.for("react.lazy")?console.error("Using a Lazy Component as a direct child of `<Link legacyBehavior>` from a Server Component is not supported. If you need legacyBehavior, wrap your Lazy Component in a Client Component that renders the Link's `<a>` tag."):console.error("Using a Server Component as a direct child of `<Link legacyBehavior>` is not supported. If you need legacyBehavior, wrap your Server Component in a Client Component that renders the Link's `<a>` tag.")),(0,g.jsx)(h.default,{...a})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},330878,a=>{"use strict";var b=a.i(800717),c=a.i(118845),d=a.i(40953),e=(0,b.cache)(function(a,b){return function({_cache:a=(0,c.b)(),_formatters:b=(0,c.c)(a),getMessageFallback:e=d.d,messages:f,namespace:g,onError:h=d.b,...i}){return function({messages:a,namespace:b,...c},e){return a=a["!"],b=(0,d.r)(b,"!"),(0,d.a)({...c,messages:a,namespace:b})}({...i,onError:h,cache:a,formatters:b,getMessageFallback:e,messages:{"!":f},namespace:g?`!.${g}`:"!"},0)}({...a,namespace:b})});a.s(["default",()=>e],330878)},442979,a=>{"use strict";var b=a.i(330878),c=a.i(767228),d=a.i(800717)["use".trim()];function e(...[a]){let f=function(a){var b=(0,c.default)();try{return d(b)}catch(b){throw b instanceof TypeError&&b.message.includes("Cannot read properties of null (reading 'use')")?Error(`\`${a}\` is not callable within an async component. Please refer to https://next-intl.dev/docs/environments/server-client-components#async-components`,{cause:b}):b}}("useTranslations");return(0,b.default)(f,a)}a.s(["useTranslations",()=>e],442979)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__a6942102._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[920226,a=>{"use strict";var b=a.i(572131);let c=a=>{let b,c=new Set,d=(a,d)=>{let e="function"==typeof a?a(b):a;if(!Object.is(e,b)){let a=b;b=(null!=d?d:"object"!=typeof e||null===e)?e:Object.assign({},b,e),c.forEach(c=>c(b,a))}},e=()=>b,f={setState:d,getState:e,getInitialState:()=>g,subscribe:a=>(c.add(a),()=>c.delete(a))},g=b=a(d,e,f);return f},d=a=>{let d=a?c(a):c,e=a=>(function(a,c=a=>a){let d=b.default.useSyncExternalStore(a.subscribe,b.default.useCallback(()=>c(a.getState()),[a,c]),b.default.useCallback(()=>c(a.getInitialState()),[a,c]));return b.default.useDebugValue(d),d})(d,a);return Object.assign(e,d),e},e=a=>a?d(a):d;a.s(["create",()=>e],920226)},862435,a=>{"use strict";let b=a=>c=>{try{let d=a(c);if(d instanceof Promise)return d;return{then:a=>b(a)(d),catch(a){return this}}}catch(a){return{then(a){return this},catch:c=>b(c)(a)}}},c=(a,c)=>(d,e,f)=>{let g,h={storage:function(a,b){let c;try{c=a()}catch(a){return}return{getItem:a=>{var b;let d=a=>null===a?null:JSON.parse(a,void 0),e=null!=(b=c.getItem(a))?b:null;return e instanceof Promise?e.then(d):d(e)},setItem:(a,b)=>c.setItem(a,JSON.stringify(b,void 0)),removeItem:a=>c.removeItem(a)}}(()=>window.localStorage),partialize:a=>a,version:0,merge:(a,b)=>({...b,...a}),...c},i=!1,j=0,k=new Set,l=new Set,m=h.storage;if(!m)return a((...a)=>{console.warn(`[zustand persist middleware] Unable to update item '${h.name}', the given storage is currently unavailable.`),d(...a)},e,f);let n=()=>{let a=h.partialize({...e()});return m.setItem(h.name,{state:a,version:h.version})},o=f.setState;f.setState=(a,b)=>(o(a,b),n());let p=a((...a)=>(d(...a),n()),e,f);f.getInitialState=()=>p;let q=()=>{var a,c;if(!m)return;let f=++j;i=!1,k.forEach(a=>{var b;return a(null!=(b=e())?b:p)});let o=(null==(c=h.onRehydrateStorage)?void 0:c.call(h,null!=(a=e())?a:p))||void 0;return b(m.getItem.bind(m))(h.name).then(a=>{if(a)if("number"!=typeof a.version||a.version===h.version)return[!1,a.state];else{if(h.migrate){let b=h.migrate(a.state,a.version);return b instanceof Promise?b.then(a=>[!0,a]):[!0,b]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(a=>{var b;if(f!==j)return;let[c,i]=a;if(d(g=h.merge(i,null!=(b=e())?b:p),!0),c)return n()}).then(()=>{f===j&&(null==o||o(e(),void 0),g=e(),i=!0,l.forEach(a=>a(g)))}).catch(a=>{f===j&&(null==o||o(void 0,a))})};return f.persist={setOptions:a=>{h={...h,...a},a.storage&&(m=a.storage)},clearStorage:()=>{null==m||m.removeItem(h.name)},getOptions:()=>h,rehydrate:()=>q(),hasHydrated:()=>i,onHydrate:a=>(k.add(a),()=>{k.delete(a)}),onFinishHydration:a=>(l.add(a),()=>{l.delete(a)})},h.skipHydration||q(),g||p};a.s(["persist",()=>c])},843314,a=>a.a(async(b,c)=>{try{var d=a.i(677850),e=b([d]);[d]=e.then?(await e)():e;let g=d.z.object({id:d.z.string().min(1),alias:d.z.string().min(1),name:d.z.string().min(1),icon:d.z.string().min(1),color:d.z.string().regex(/^#[0-9A-Fa-f]{6}$/,"Must be a valid hex color (#RRGGBB)"),textIcon:d.z.string().optional(),website:d.z.string().url().optional(),passthroughModels:d.z.boolean().optional()}),h=d.z.record(d.z.string(),g);function f(a,b){let c=h.safeParse(a);if(!c.success){let a=c.error.issues.map(a=>` ${a.path.join(".")}: ${a.message}`).join("\n");throw console.error(`[PROVIDER VALIDATION] ${b} has invalid entries:
|
|
2
|
-
${a}`),Error(`Provider validation failed for ${b}`)}}a.s(["validateProviders",()=>f]),c()}catch(a){c(a)}},!1),662073,a=>a.a(async(b,c)=>{try{var d=a.i(843314),e=b([d]);[d]=e.then?(await e)():e;let j={iflow:{id:"iflow",alias:"if",name:"iFlow AI",icon:"water_drop",color:"#6366F1"},qwen:{id:"qwen",alias:"qw",name:"Qwen Code",icon:"psychology",color:"#10B981"},"gemini-cli":{id:"gemini-cli",alias:"gc",name:"Gemini CLI",icon:"terminal",color:"#4285F4"},kiro:{id:"kiro",alias:"kr",name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35"}},k={claude:{id:"claude",alias:"cc",name:"Claude Code",icon:"smart_toy",color:"#D97757"},antigravity:{id:"antigravity",alias:"ag",name:"Antigravity",icon:"rocket_launch",color:"#F59E0B"},codex:{id:"codex",alias:"cx",name:"OpenAI Codex",icon:"code",color:"#3B82F6"},github:{id:"github",alias:"gh",name:"GitHub Copilot",icon:"code",color:"#333333"},cursor:{id:"cursor",alias:"cu",name:"Cursor IDE",icon:"edit_note",color:"#00D4AA"},"kimi-coding":{id:"kimi-coding",alias:"kmc",name:"Kimi Coding",icon:"psychology",color:"#1E40AF",textIcon:"KC"},kilocode:{id:"kilocode",alias:"kc",name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC"},cline:{id:"cline",alias:"cl",name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL"}},l={openrouter:{id:"openrouter",alias:"openrouter",name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",passthroughModels:!0,website:"https://openrouter.ai"},glm:{id:"glm",alias:"glm",name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn"},"bailian-coding-plan":{id:"bailian-coding-plan",alias:"bcp",name:"Alibaba Coding Plan",icon:"code",color:"#FF6A00",textIcon:"BCP",website:"https://www.alibabacloud.com/help/en/model-studio/coding-plan"},kimi:{id:"kimi",alias:"kimi",name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn"},"kimi-coding-apikey":{id:"kimi-coding-apikey",alias:"kmca",name:"Kimi Coding (API Key)",icon:"psychology",color:"#1E40AF",textIcon:"KC",website:"https://kimi.com"},minimax:{id:"minimax",alias:"minimax",name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com"},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com"},alicode:{id:"alicode",alias:"alicode",name:"Alibaba",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://bailian.console.aliyun.com"},"alicode-intl":{id:"alicode-intl",alias:"alicode-intl",name:"Alibaba Intl",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://modelstudio.console.alibabacloud.com"},openai:{id:"openai",alias:"openai",name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com"},anthropic:{id:"anthropic",alias:"anthropic",name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com"},gemini:{id:"gemini",alias:"gemini",name:"Gemini",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev"},deepseek:{id:"deepseek",alias:"ds",name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com"},groq:{id:"groq",alias:"groq",name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com",hasFree:!0,freeNote:"Free tier: 30 RPM / 14.4K RPD — no credit card"},blackbox:{id:"blackbox",alias:"bb",name:"Blackbox AI",icon:"view_in_ar",color:"#1A1A2E",textIcon:"BB",website:"https://blackbox.ai"},xai:{id:"xai",alias:"xai",name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai"},mistral:{id:"mistral",alias:"mistral",name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai"},perplexity:{id:"perplexity",alias:"pplx",name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai"},together:{id:"together",alias:"together",name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai"},fireworks:{id:"fireworks",alias:"fireworks",name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai"},cerebras:{id:"cerebras",alias:"cerebras",name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://inference.cerebras.ai",hasFree:!0,freeNote:"Free: 1M tokens/day, 60K TPM — world's fastest inference"},cohere:{id:"cohere",alias:"cohere",name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com"},nvidia:{id:"nvidia",alias:"nvidia",name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://build.nvidia.com",hasFree:!0,freeNote:"Free dev access: ~40 RPM, 70+ models (Kimi K2.5, GLM 4.7, DeepSeek V3.2...)"},nebius:{id:"nebius",alias:"nebius",name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com"},siliconflow:{id:"siliconflow",alias:"siliconflow",name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com"},hyperbolic:{id:"hyperbolic",alias:"hyp",name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz"},deepgram:{id:"deepgram",alias:"dg",name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com"},assemblyai:{id:"assemblyai",alias:"aai",name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com"},nanobanana:{id:"nanobanana",alias:"nb",name:"NanoBanana",icon:"image",color:"#FFD700",textIcon:"NB",website:"https://nanobananaapi.ai"},"ollama-cloud":{id:"ollama-cloud",alias:"ollamacloud",name:"Ollama Cloud",icon:"cloud",color:"#58A6FF",textIcon:"OC",website:"https://ollama.com/settings/api-keys"},elevenlabs:{id:"elevenlabs",alias:"el",name:"ElevenLabs",icon:"record_voice_over",color:"#6C47FF",textIcon:"EL",website:"https://elevenlabs.io"},cartesia:{id:"cartesia",alias:"cartesia",name:"Cartesia",icon:"spatial_audio",color:"#FF4F8B",textIcon:"CA",website:"https://cartesia.ai"},playht:{id:"playht",alias:"playht",name:"PlayHT",icon:"play_circle",color:"#00B4D8",textIcon:"PH",website:"https://play.ht"},inworld:{id:"inworld",alias:"inworld",name:"Inworld",icon:"voice_chat",color:"#7B2EF2",textIcon:"IW",website:"https://inworld.ai"},sdwebui:{id:"sdwebui",alias:"sdwebui",name:"SD WebUI",icon:"brush",color:"#FF7043",textIcon:"SD",website:"https://github.com/AUTOMATIC1111/stable-diffusion-webui"},comfyui:{id:"comfyui",alias:"comfyui",name:"ComfyUI",icon:"account_tree",color:"#4CAF50",textIcon:"CF",website:"https://github.com/comfyanonymous/ComfyUI"},huggingface:{id:"huggingface",alias:"hf",name:"HuggingFace",icon:"face",color:"#FFD21E",textIcon:"HF",website:"https://huggingface.co",hasFree:!0,freeNote:"Free Inference API for thousands of models (Whisper, VITS, SDXL…)"},synthetic:{id:"synthetic",alias:"synthetic",name:"Synthetic",icon:"verified_user",color:"#6366F1",textIcon:"SY",website:"https://synthetic.new",passthroughModels:!0},"kilo-gateway":{id:"kilo-gateway",alias:"kg",name:"Kilo Gateway",icon:"hub",color:"#617A91",textIcon:"KG",website:"https://kilo.ai",passthroughModels:!0},vertex:{id:"vertex",alias:"vertex",name:"Vertex AI",icon:"cloud",color:"#4285F4",textIcon:"VA",website:"https://cloud.google.com/vertex-ai",authHint:"Provide Service Account JSON or OAuth access_token"},zai:{id:"zai",alias:"zai",name:"Z.AI (GLM-5)",icon:"psychology",color:"#2563EB",textIcon:"ZA",website:"https://open.bigmodel.cn",apiHint:"API key from https://open.bigmodel.cn/usercenter/apikeys"},"perplexity-search":{id:"perplexity-search",alias:"pplx-search",name:"Perplexity Search",icon:"search",color:"#20808D",textIcon:"PS",website:"https://docs.perplexity.ai/guides/search-quickstart",authHint:"Same API key as Perplexity (pplx-...)"},"serper-search":{id:"serper-search",alias:"serper-search",name:"Serper Search",icon:"search",color:"#4285F4",textIcon:"SP",website:"https://serper.dev",authHint:"API key from serper.dev dashboard"},"brave-search":{id:"brave-search",alias:"brave-search",name:"Brave Search",icon:"travel_explore",color:"#FB542B",textIcon:"BR",website:"https://brave.com/search/api",authHint:"Subscription token from Brave Search API dashboard"},"exa-search":{id:"exa-search",alias:"exa-search",name:"Exa Search",icon:"neurology",color:"#1E40AF",textIcon:"EX",website:"https://exa.ai",authHint:"API key from dashboard.exa.ai"},"tavily-search":{id:"tavily-search",alias:"tavily-search",name:"Tavily Search",icon:"manage_search",color:"#5B4FDB",textIcon:"TV",website:"https://tavily.com",authHint:"API key from app.tavily.com (format: tvly-...)"}},m="openai-compatible-",n="anthropic-compatible-";function f(a){return"string"==typeof a&&a.startsWith(m)}function g(a){return"string"==typeof a&&a.startsWith(n)}let o={...j,...k,...l};function h(a){for(let b of Object.values(o))if(b.alias===a||b.id===a)return b;return null}function i(a){let b=o[a];return b?.alias||a}Object.values(o).reduce((a,b)=>(a[b.alias]=b.id,a),{}),Object.values(o).reduce((a,b)=>(a[b.id]=b.alias,a),{}),(0,d.validateProviders)(j,"FREE_PROVIDERS"),(0,d.validateProviders)(k,"OAUTH_PROVIDERS"),(0,d.validateProviders)(l,"APIKEY_PROVIDERS"),a.s(["AI_PROVIDERS",0,o,"ANTHROPIC_COMPATIBLE_PREFIX",0,n,"APIKEY_PROVIDERS",0,l,"AUTH_METHODS",0,{oauth:{id:"oauth",name:"OAuth",icon:"lock"},apikey:{id:"apikey",name:"API Key",icon:"key"}},"FREE_PROVIDERS",0,j,"OAUTH_PROVIDERS",0,k,"OPENAI_COMPATIBLE_PREFIX",0,m,"USAGE_SUPPORTED_PROVIDERS",0,["antigravity","kiro","github","codex","claude","kimi-coding"],"getProviderAlias",()=>i,"getProviderByAlias",()=>h,"isAnthropicCompatibleProvider",()=>g,"isOpenAICompatibleProvider",()=>f]),c()}catch(a){c(a)}},!1),911655,a=>{"use strict";let b=Object.freeze(["temperature","top_p","frequency_penalty","presence_penalty","logprobs","top_logprobs","n"]),c={format:"claude",executor:"default",baseUrl:"https://api.kimi.com/coding/v1/messages",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}]},d={claude:{id:"claude",alias:"cc",format:"claude",executor:"default",baseUrl:"https://api.anthropic.com/v1/messages",urlSuffix:"?beta=true",authType:"oauth",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14,context-management-2025-06-27","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/1.0.83 (external, cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.3.0","X-Stainless-Package-Version":"0.55.1","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":"arm64","X-Stainless-Os":"MacOS","X-Stainless-Timeout":"60"},oauth:{clientIdEnv:"CLAUDE_OAUTH_CLIENT_ID",clientIdDefault:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",tokenUrl:"https://console.anthropic.com/v1/oauth/token"},models:[{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6",name:"Claude 4.6 Sonnet"},{id:"claude-opus-4-5-20251101",name:"Claude 4.5 Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude 4.5 Sonnet"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}]},gemini:{id:"gemini",alias:"gemini",format:"gemini",executor:"default",baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",urlBuilder:(a,b,c)=>`${a}/${b}:${c?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"apikey",authHeader:"x-goog-api-key",oauth:{clientIdEnv:"GEMINI_OAUTH_CLIENT_ID",clientIdDefault:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecretEnv:"GEMINI_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3-1-pro",name:"Gemini 3.1 Pro (Alt ID)"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"gemini-2.0-flash-exp",name:"Gemini 2.0 Flash Exp"},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro"},{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash"}]},"gemini-cli":{id:"gemini-cli",alias:"gc",format:"gemini-cli",executor:"gemini-cli",baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",urlBuilder:(a,b,c)=>`${a}:${c?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"oauth",authHeader:"bearer",oauth:{clientIdEnv:"GEMINI_CLI_OAUTH_CLIENT_ID",clientIdDefault:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecretEnv:"GEMINI_CLI_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3-1-pro",name:"Gemini 3.1 Pro (Alt ID)"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro"},{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash"}]},codex:{id:"codex",alias:"cx",format:"openai-responses",executor:"codex",baseUrl:"https://chatgpt.com/backend-api/codex/responses",authType:"oauth",authHeader:"bearer",headers:{Version:"0.92.0","Openai-Beta":"responses=experimental","User-Agent":"codex-cli/0.92.0 (Windows 10.0.26100; x64)"},oauth:{clientIdEnv:"CODEX_OAUTH_CLIENT_ID",clientIdDefault:"app_EMoamEEZ73f0CkXaXp7hrann",clientSecretEnv:"CODEX_OAUTH_CLIENT_SECRET",clientSecretDefault:"",tokenUrl:"https://auth.openai.com/oauth/token"},models:[{id:"gpt-5.4",name:"GPT 5.4"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"},{id:"gpt-5.3-codex-xhigh",name:"GPT 5.3 Codex (xHigh)"},{id:"gpt-5.3-codex-high",name:"GPT 5.3 Codex (High)"},{id:"gpt-5.3-codex-low",name:"GPT 5.3 Codex (Low)"},{id:"gpt-5.3-codex-none",name:"GPT 5.3 Codex (None)"},{id:"gpt-5.1-codex-mini",name:"GPT 5.1 Codex Mini"},{id:"gpt-5.1-codex-mini-high",name:"GPT 5.1 Codex Mini (High)"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.1-codex-max",name:"GPT 5.1 Codex Max"},{id:"gpt-5.1-codex",name:"GPT 5.1 Codex"},{id:"gpt-5.1",name:"GPT 5.1"},{id:"gpt-5-codex",name:"GPT 5 Codex"},{id:"gpt-5-codex-mini",name:"GPT 5 Codex Mini"}]},qwen:{id:"qwen",alias:"qw",format:"openai",executor:"default",baseUrl:"https://portal.qwen.ai/v1/chat/completions",authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"QwenCode/0.12.3 (linux; x64)","X-Dashscope-AuthType":"qwen-oauth","X-Dashscope-CacheControl":"enable","X-Dashscope-UserAgent":"QwenCode/0.12.3 (linux; x64)","X-Stainless-Arch":"x64","X-Stainless-Lang":"js","X-Stainless-Os":"Linux","X-Stainless-Package-Version":"5.11.0","X-Stainless-Retry-Count":"1","X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":"v18.19.1",Connection:"keep-alive","Accept-Language":"*","Sec-Fetch-Mode":"cors"},oauth:{clientIdEnv:"QWEN_OAUTH_CLIENT_ID",clientIdDefault:"f0304373b74a44d2b584a3fb70ca9e56",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",authUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code"},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash"},{id:"vision-model",name:"Qwen3 Vision Model"},{id:"coder-model",name:"Qwen3.5 (Coder Model)"}]},iflow:{id:"iflow",alias:"if",format:"openai",executor:"iflow",baseUrl:"https://apis.iflow.cn/v1/chat/completions",authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"iFlow-Cli"},oauth:{clientIdEnv:"IFLOW_OAUTH_CLIENT_ID",clientIdDefault:"10009311001",clientSecretEnv:"IFLOW_OAUTH_CLIENT_SECRET",clientSecretDefault:"",tokenUrl:"https://iflow.cn/oauth/token",authUrl:"https://iflow.cn/oauth"},models:[{id:"iflow-rome-30ba3b",name:"iFlow ROME"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-max",name:"Qwen3 Max"},{id:"qwen3-vl-plus",name:"Qwen3 Vision Plus"},{id:"kimi-k2-0905",name:"Kimi K2 0905"},{id:"qwen3-max-preview",name:"Qwen3 Max Preview"},{id:"kimi-k2",name:"Kimi K2"},{id:"deepseek-v3.2",name:"DeepSeek-V3.2-Exp"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"deepseek-v3",name:"DeepSeek V3"},{id:"qwen3-32b",name:"Qwen3 32B"},{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507"},{id:"qwen3-235b-a22b-instruct",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-235b",name:"Qwen3 235B"}]},antigravity:{id:"antigravity",alias:"ag",format:"antigravity",executor:"antigravity",baseUrls:["https://daily-cloudcode-pa.googleapis.com","https://cloudcode-pa.googleapis.com"],urlBuilder:(a,b,c)=>`${a}${c?"/v1internal:streamGenerateContent?alt=sse":"/v1internal:generateContent"}`,authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"antigravity/1.104.0 darwin/arm64"},oauth:{clientIdEnv:"ANTIGRAVITY_OAUTH_CLIENT_ID",clientIdDefault:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecretEnv:"ANTIGRAVITY_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"gpt-oss-120b-medium",name:"GPT OSS 120B Medium"}]},github:{id:"github",alias:"gh",format:"openai",executor:"github",baseUrl:"https://api.githubcopilot.com/chat/completions",responsesBaseUrl:"https://api.githubcopilot.com/responses",authType:"oauth",authHeader:"bearer",headers:{"copilot-integration-id":"vscode-chat","editor-version":"vscode/1.107.1","editor-plugin-version":"copilot-chat/0.26.7","user-agent":"GitHubCopilotChat/0.26.7","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:"application/json","Content-Type":"application/json"},models:[{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4",name:"GPT-4"},{id:"gpt-3.5-turbo",name:"GPT-3.5 Turbo"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-codex",name:"GPT-5 Codex",targetFormat:"openai-responses"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",targetFormat:"openai-responses"},{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini",targetFormat:"openai-responses"},{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",targetFormat:"openai-responses"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",targetFormat:"openai-responses"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-opus-4.1",name:"Claude Opus 4.1"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5 (Full ID)"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"grok-code-fast-1",name:"Grok Code Fast 1"},{id:"oswe-vscode-prime",name:"Raptor Mini"}]},kiro:{id:"kiro",alias:"kr",format:"kiro",executor:"kiro",baseUrl:"https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse",authType:"oauth",authHeader:"bearer",headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","X-Amz-Target":"AmazonCodeWhispererStreamingService.GenerateAssistantResponse","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},oauth:{tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev"},models:[{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"}]},cursor:{id:"cursor",alias:"cu",format:"cursor",executor:"cursor",baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",authType:"oauth",authHeader:"bearer",headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"1.1.3",models:[{id:"default",name:"Auto (Server Picks)"},{id:"claude-4.5-opus-high-thinking",name:"Claude 4.5 Opus High Thinking"},{id:"claude-4.5-opus-high",name:"Claude 4.5 Opus High"},{id:"claude-4.5-sonnet-thinking",name:"Claude 4.5 Sonnet Thinking"},{id:"claude-4.5-sonnet",name:"Claude 4.5 Sonnet"},{id:"claude-4.5-haiku",name:"Claude 4.5 Haiku"},{id:"claude-4.5-opus",name:"Claude 4.5 Opus"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"}]},openai:{id:"openai",alias:"openai",format:"openai",executor:"default",baseUrl:"https://api.openai.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"o1",name:"O1",unsupportedParams:b},{id:"o1-mini",name:"O1 Mini",unsupportedParams:b},{id:"o1-pro",name:"O1 Pro",unsupportedParams:b},{id:"o3",name:"O3",unsupportedParams:b},{id:"o3-mini",name:"O3 Mini",unsupportedParams:b}]},anthropic:{id:"anthropic",alias:"anthropic",format:"claude",executor:"default",baseUrl:"https://api.anthropic.com/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01"},models:[{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"claude-sonnet-4-6-20251031",name:"Claude Sonnet 4.6 (Dated)"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4-20250514",name:"Claude Opus 4"},{id:"claude-opus-4-6-20251031",name:"Claude Opus 4.6 (Dated)"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"}]},openrouter:{id:"openrouter",alias:"openrouter",format:"openai",executor:"default",baseUrl:"https://openrouter.ai/api/v1/chat/completions",authType:"apikey",authHeader:"bearer",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"},models:[{id:"auto",name:"Auto (Best Available)"}]},glm:{id:"glm",alias:"glm",format:"claude",executor:"default",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"glm-5",name:"GLM 5"},{id:"glm-5-turbo",name:"GLM 5 Turbo"},{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"},{id:"glm-4.6",name:"GLM 4.6"},{id:"glm-4.5v",name:"GLM 4.5V (Vision)"},{id:"glm-4.5",name:"GLM 4.5"},{id:"glm-4.5-air",name:"GLM 4.5 Air"},{id:"glm-4-32b",name:"GLM 4 32B"}]},"bailian-coding-plan":{id:"bailian-coding-plan",alias:"bcp",format:"claude",executor:"default",baseUrl:"https://coding-intl.dashscope.aliyuncs.com/apps/anthropic/v1/messages",chatPath:"/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max (2026-01-23)"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM 4.7"},{id:"kimi-k2.5",name:"Kimi K2.5"}]},zai:{id:"zai",alias:"zai",format:"claude",executor:"default",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"glm-5",name:"GLM 5"},{id:"glm-5-turbo",name:"GLM 5 Turbo"}]},kimi:{id:"kimi",alias:"kimi",format:"openai",executor:"default",baseUrl:"https://api.moonshot.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"},{id:"kimi-for-coding",name:"Kimi For Coding"}]},"kimi-coding":{id:"kimi-coding",alias:"kmc",...c,urlSuffix:"?beta=true",authType:"oauth",oauth:{clientIdEnv:"KIMI_CODING_OAUTH_CLIENT_ID",clientIdDefault:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token",authUrl:"https://auth.kimi.com/api/oauth/device_authorization"}},"kimi-coding-apikey":{id:"kimi-coding-apikey",alias:"kmca",...c,authType:"apikey"},kilocode:{id:"kilocode",alias:"kc",format:"openrouter",executor:"openrouter",baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",modelsUrl:"https://api.kilo.ai/api/openrouter/models",authType:"oauth",authHeader:"Authorization",authPrefix:"Bearer ",oauth:{initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"},models:[{id:"openrouter/free",name:"Free Models Router"},{id:"qwen/qwen3-vl-235b-a22b-thinking",name:"Qwen3 VL 235B A22B Thinking"},{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507"},{id:"qwen/qwen3-vl-30b-a3b-thinking",name:"Qwen3 VL 30B A3B Thinking"},{id:"stepfun/step-3.5-flash:free",name:"StepFun Step 3.5 Flash"},{id:"arcee-ai/trinity-large-preview:free",name:"Arcee AI Trinity Large Preview"},{id:"openai/gpt-4o-mini",name:"GPT-4o Mini"},{id:"openai/gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"openai/gpt-5-nano",name:"GPT-5 Nano"},{id:"openai/gpt-5-mini",name:"GPT-5 Mini"},{id:"anthropic/claude-3-haiku",name:"Claude 3 Haiku"},{id:"google/gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek V3.1"},{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2"},{id:"meta-llama/llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-scout",name:"Llama 4 Scout"},{id:"meta-llama/llama-4-maverick",name:"Llama 4 Maverick"},{id:"qwen/qwen3-8b",name:"Qwen3 8B"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"qwen/qwen3-coder",name:"Qwen3 Coder 480B"},{id:"qwen/qwq-32b",name:"QwQ 32B"},{id:"mistralai/mistral-small-24b-instruct-2501",name:"Mistral Small 3"},{id:"mistralai/mistral-7b-instruct",name:"Mistral 7B"},{id:"x-ai/grok-code-fast-1",name:"Grok Code Fast 1"},{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"}],passthroughModels:!0},cline:{id:"cline",alias:"cl",format:"openai",executor:"openai",baseUrl:"https://api.cline.bot/api/v1/chat/completions",authType:"oauth",authHeader:"Authorization",authPrefix:"Bearer ",oauth:{tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh",authUrl:"https://api.cline.bot/api/v1/auth/authorize"},extraHeaders:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},models:[{id:"anthropic/claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"anthropic/claude-opus-4-20250514",name:"Claude Opus 4"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"openai/gpt-4.1",name:"GPT-4.1"},{id:"openai/o3",name:"o3"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat"}],passthroughModels:!0},minimax:{id:"minimax",alias:"minimax",format:"claude",executor:"default",baseUrl:"https://api.minimax.io/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5 (Legacy Alias)"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"}]},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",format:"claude",executor:"default",baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5 (Legacy Alias)"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"}]},alicode:{id:"alicode",alias:"alicode",format:"openai",executor:"default",baseUrl:"https://coding.dashscope.aliyuncs.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},"alicode-intl":{id:"alicode-intl",alias:"alicode-intl",format:"openai",executor:"default",baseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},deepseek:{id:"deepseek",alias:"ds",format:"openai",executor:"default",baseUrl:"https://api.deepseek.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}]},groq:{id:"groq",alias:"groq",format:"openai",executor:"default",baseUrl:"https://api.groq.com/openai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B"}]},blackbox:{id:"blackbox",alias:"bb",format:"openai",executor:"default",baseUrl:"https://api.blackbox.ai/v1/chat/completions",modelsUrl:"https://api.blackbox.ai/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-4o",name:"GPT-4o"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"deepseek-v3",name:"DeepSeek V3"},{id:"blackboxai",name:"Blackbox AI"},{id:"blackboxai-pro",name:"Blackbox AI Pro"}]},xai:{id:"xai",alias:"xai",format:"openai",executor:"default",baseUrl:"https://api.x.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"grok-4-fast-non-reasoning",name:"Grok 4 Fast"},{id:"grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning"},{id:"grok-4-1-fast-non-reasoning",name:"Grok 4.1 Fast"},{id:"grok-4-1-fast-reasoning",name:"Grok 4.1 Fast Reasoning"},{id:"grok-4-0709",name:"Grok 4 (0709)"},{id:"grok-4",name:"Grok 4"},{id:"grok-3",name:"Grok 3"},{id:"grok-3-mini",name:"Grok 3 Mini"}]},mistral:{id:"mistral",alias:"mistral",format:"openai",executor:"default",baseUrl:"https://api.mistral.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"mistral-large-latest",name:"Mistral Large 3"},{id:"codestral-latest",name:"Codestral"},{id:"mistral-medium-latest",name:"Mistral Medium 3"}]},perplexity:{id:"perplexity",alias:"pplx",format:"openai",executor:"default",baseUrl:"https://api.perplexity.ai/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"sonar-pro",name:"Sonar Pro"},{id:"sonar",name:"Sonar"}]},together:{id:"together",alias:"together",format:"openai",executor:"default",baseUrl:"https://api.together.xyz/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Turbo"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"}]},fireworks:{id:"fireworks",alias:"fireworks",format:"openai",executor:"default",baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1"},{id:"accounts/fireworks/models/llama-v3p3-70b-instruct",name:"Llama 3.3 70B"},{id:"accounts/fireworks/models/qwen3-235b-a22b",name:"Qwen3 235B"}]},cerebras:{id:"cerebras",alias:"cerebras",format:"openai",executor:"default",baseUrl:"https://api.cerebras.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-oss-120b",name:"GPT OSS 120B"},{id:"zai-glm-4.7",name:"ZAI GLM 4.7"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout"},{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B"},{id:"qwen-3-32b",name:"Qwen3 32B"}]},"ollama-cloud":{id:"ollama-cloud",alias:"ollamacloud",format:"openai",executor:"default",baseUrl:"https://api.ollama.com/v1/chat/completions",modelsUrl:"https://api.ollama.com/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"gemma3:27b",name:"Gemma 3 27B"},{id:"llama3.3:70b",name:"Llama 3.3 70B"},{id:"qwen3:72b",name:"Qwen3 72B"},{id:"devstral:24b",name:"Devstral 24B"},{id:"deepseek-r2:671b",name:"DeepSeek R2 671B"},{id:"phi4:14b",name:"Phi 4 14B"},{id:"mistral-small3.2:24b",name:"Mistral Small 3.2 24B"}],passthroughModels:!0},cohere:{id:"cohere",alias:"cohere",format:"openai",executor:"default",baseUrl:"https://api.cohere.com/v2/chat",authType:"apikey",authHeader:"bearer",models:[{id:"command-r-plus-08-2024",name:"Command R+ (Aug 2024)"},{id:"command-r-08-2024",name:"Command R (Aug 2024)"},{id:"command-a-03-2025",name:"Command A (Mar 2025)"}]},nvidia:{id:"nvidia",alias:"nvidia",format:"openai",executor:"default",baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-oss-120b",name:"GPT OSS 120B",toolCalling:!1},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B (OpenAI Prefix)",toolCalling:!1},{id:"meta/llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"nvidia/llama-3.3-70b-instruct",name:"Llama 3.3 70B (NVIDIA Prefix)"},{id:"meta/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"z-ai/glm4.7",name:"GLM 4.7"},{id:"deepseek-ai/deepseek-v3.2",name:"DeepSeek V3.2"},{id:"deepseek/deepseek-r1",name:"DeepSeek R1"},{id:"nvidia/llama-3.1-70b-instruct",name:"Llama 3.1 70B"},{id:"nvidia/llama-3.1-405b-instruct",name:"Llama 3.1 405B"}]},nebius:{id:"nebius",alias:"nebius",format:"openai",executor:"default",baseUrl:"https://api.tokenfactory.nebius.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"}]},siliconflow:{id:"siliconflow",alias:"siliconflow",format:"openai",executor:"default",baseUrl:"https://api.siliconflow.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B"},{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3 Coder 480B"},{id:"Qwen/Qwen3-32B",name:"Qwen3 32B"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"zai-org/GLM-4.7",name:"GLM 4.7"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"baidu/ERNIE-4.5-300B-A47B",name:"ERNIE 4.5 300B"}]},hyperbolic:{id:"hyperbolic",alias:"hyp",format:"openai",executor:"default",baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"Qwen/QwQ-32B",name:"QwQ 32B"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"meta-llama/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B"},{id:"NousResearch/Hermes-3-Llama-3.1-70B",name:"Hermes 3 70B"}]},huggingface:{id:"huggingface",alias:"hf",format:"openai",executor:"default",baseUrl:"https://router.huggingface.co/hf-inference/models/meta-llama/Meta-Llama-3.1-70B-Instruct/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"meta-llama/Meta-Llama-3.1-70B-Instruct",name:"Llama 3.1 70B Instruct"},{id:"meta-llama/Meta-Llama-3.1-8B-Instruct",name:"Llama 3.1 8B Instruct"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"mistralai/Mistral-7B-Instruct-v0.3",name:"Mistral 7B v0.3"},{id:"microsoft/Phi-3.5-mini-instruct",name:"Phi-3.5 Mini"}]},synthetic:{id:"synthetic",alias:"synthetic",format:"openai",executor:"default",baseUrl:"https://api.synthetic.new/openai/v1/chat/completions",modelsUrl:"https://api.synthetic.new/openai/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"hf:nvidia/Kimi-K2.5-NVFP4",name:"Kimi K2.5 (NVFP4)"},{id:"hf:MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"hf:zai-org/GLM-4.7-Flash",name:"GLM 4.7 Flash"},{id:"hf:zai-org/GLM-4.7",name:"GLM 4.7"},{id:"hf:moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"hf:deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"}],passthroughModels:!0},"kilo-gateway":{id:"kilo-gateway",alias:"kg",format:"openai",executor:"default",baseUrl:"https://api.kilo.ai/api/gateway/chat/completions",modelsUrl:"https://api.kilo.ai/api/gateway/models",authType:"apikey",authHeader:"bearer",models:[{id:"kilo-auto/frontier",name:"Kilo Auto Frontier"},{id:"kilo-auto/balanced",name:"Kilo Auto Balanced"},{id:"kilo-auto/free",name:"Kilo Auto Free"},{id:"nvidia/nemotron-3-super-120b-a12b:free",name:"Nemotron 3 Super 120B (Free)"},{id:"minimax/minimax-m2.5:free",name:"MiniMax M2.5 (Free)"},{id:"arcee-ai/trinity-large-preview:free",name:"Trinity Large Preview (Free)"}],passthroughModels:!0},vertex:{id:"vertex",alias:"vertex",format:"gemini",executor:"default",baseUrl:"https://us-central1-aiplatform.googleapis.com/v1/projects",urlBuilder:(a,b,c)=>`https://generativelanguage.googleapis.com/v1beta/models/${b}:${c?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"apikey",authHeader:"bearer",models:[{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (Vertex)"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash (Vertex)"},{id:"gemini-2.0-flash-thinking-exp",name:"Gemini 2.0 Flash Thinking Exp (Vertex)"},{id:"gemma-2-27b-it",name:"Gemma 2 27B (Vertex)"},{id:"claude-opus-4-5@20251101",name:"Claude Opus 4.5 (Vertex)"},{id:"claude-sonnet-4-5@20251101",name:"Claude Sonnet 4.5 (Vertex)"}]}};[..."u">typeof process&&process.env.LOCAL_HOSTNAMES?process.env.LOCAL_HOSTNAMES.split(",").map(a=>a.trim()).filter(Boolean):[]];let e=new Map;for(let a of Object.values(d))a.alias&&a.alias!==a.id&&e.set(a.alias,a);let f=new Map;for(let a of Object.values(d))for(let b of a.models)b.unsupportedParams&&!f.has(b.id)&&f.set(b.id,b.unsupportedParams);let g=function(){let a={};for(let b of Object.values(d))if(b.models&&b.models.length>0){let c=b.alias||b.id;a[c]||(a[c]=b.models)}return a}(),h=function(){let a={};for(let b of Object.values(d))a[b.id]=b.alias||b.id;return a}();function i(a){return g[h[a]||a]||[]}a.s(["PROVIDER_ID_TO_ALIAS",0,h,"PROVIDER_MODELS",0,g,"getModelsByProviderId",()=>i],911655)},867933,a=>a.a(async(b,c)=>{try{var d=a.i(911655),e=a.i(662073),f=b([e]);[e]=f.then?(await f)():f,Object.entries(e.AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a),Object.entries(d.PROVIDER_MODELS).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),a.s([]),c()}catch(a){c(a)}},!1),817648,a=>a.a(async(b,c)=>{try{var d=a.i(804730),e=a.i(662073),f=a.i(867933),g=b([e,f]);[e,f]=g.then?(await g)():g;let h={name:"OmniRoute",description:"AI Gateway for Multi-Provider LLMs",version:d.default.version};a.s(["APP_CONFIG",0,h,"THEME_CONFIG",0,{storageKey:"theme",defaultTheme:"system"}]),c()}catch(a){c(a)}},!1),788164,a=>a.a(async(b,c)=>{try{var d=a.i(920226),e=a.i(862435),f=a.i(817648),g=b([f]);[f]=g.then?(await g)():g;let j=(0,d.create)()((0,e.persist)((a,b)=>({theme:f.THEME_CONFIG.defaultTheme,colorTheme:"coral",customColor:"#3b82f6",setTheme:b=>{a({theme:b}),h(b)},setColorTheme:c=>{a({colorTheme:c}),i(c,b().customColor)},setCustomColorTheme:b=>{let c,d,e=(d=(c=(b||"").trim()).startsWith("#")?c:`#${c}`,/^#([0-9a-fA-F]{6})$/.test(d)?d.toLowerCase():"#3b82f6");a({colorTheme:"custom",customColor:e}),i("custom",e)},toggleTheme:()=>{let c=b().theme,d="dark"===c?"light":"dark";a({theme:d}),h(d)},initTheme:()=>{let{theme:a,colorTheme:c,customColor:d}=b();h(a),i(c,d)}}),{name:f.THEME_CONFIG.storageKey}));function h(a){}function i(a,b){}a.s(["COLOR_THEMES",0,{coral:"#e54d5e",blue:"#3b82f6",red:"#ef4444",green:"#22c55e",violet:"#8b5cf6",orange:"#f97316",cyan:"#06b6d4"},"default",0,j]),c()}catch(a){c(a)}},!1),561487,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(572131),f=a.i(788164),g=b([f]);function h({children:a}){let{initTheme:b}=(0,f.default)();return(0,e.useEffect)(()=>{b()},[b]),(0,d.jsx)(d.Fragment,{children:a})}[f]=g.then?(await g)():g,a.s(["ThemeProvider",()=>h]),c()}catch(a){c(a)}},!1)];
|
|
1
|
+
module.exports=[920226,a=>{"use strict";var b=a.i(572131);let c=a=>{let b,c=new Set,d=(a,d)=>{let e="function"==typeof a?a(b):a;if(!Object.is(e,b)){let a=b;b=(null!=d?d:"object"!=typeof e||null===e)?e:Object.assign({},b,e),c.forEach(c=>c(b,a))}},e=()=>b,f={setState:d,getState:e,getInitialState:()=>g,subscribe:a=>(c.add(a),()=>c.delete(a))},g=b=a(d,e,f);return f},d=a=>{let d=a?c(a):c,e=a=>(function(a,c=a=>a){let d=b.default.useSyncExternalStore(a.subscribe,b.default.useCallback(()=>c(a.getState()),[a,c]),b.default.useCallback(()=>c(a.getInitialState()),[a,c]));return b.default.useDebugValue(d),d})(d,a);return Object.assign(e,d),e},e=a=>a?d(a):d;a.s(["create",()=>e],920226)},862435,a=>{"use strict";let b=a=>c=>{try{let d=a(c);if(d instanceof Promise)return d;return{then:a=>b(a)(d),catch(a){return this}}}catch(a){return{then(a){return this},catch:c=>b(c)(a)}}},c=(a,c)=>(d,e,f)=>{let g,h={storage:function(a,b){let c;try{c=a()}catch(a){return}return{getItem:a=>{var b;let d=a=>null===a?null:JSON.parse(a,void 0),e=null!=(b=c.getItem(a))?b:null;return e instanceof Promise?e.then(d):d(e)},setItem:(a,b)=>c.setItem(a,JSON.stringify(b,void 0)),removeItem:a=>c.removeItem(a)}}(()=>window.localStorage),partialize:a=>a,version:0,merge:(a,b)=>({...b,...a}),...c},i=!1,j=0,k=new Set,l=new Set,m=h.storage;if(!m)return a((...a)=>{console.warn(`[zustand persist middleware] Unable to update item '${h.name}', the given storage is currently unavailable.`),d(...a)},e,f);let n=()=>{let a=h.partialize({...e()});return m.setItem(h.name,{state:a,version:h.version})},o=f.setState;f.setState=(a,b)=>(o(a,b),n());let p=a((...a)=>(d(...a),n()),e,f);f.getInitialState=()=>p;let q=()=>{var a,c;if(!m)return;let f=++j;i=!1,k.forEach(a=>{var b;return a(null!=(b=e())?b:p)});let o=(null==(c=h.onRehydrateStorage)?void 0:c.call(h,null!=(a=e())?a:p))||void 0;return b(m.getItem.bind(m))(h.name).then(a=>{if(a)if("number"!=typeof a.version||a.version===h.version)return[!1,a.state];else{if(h.migrate){let b=h.migrate(a.state,a.version);return b instanceof Promise?b.then(a=>[!0,a]):[!0,b]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(a=>{var b;if(f!==j)return;let[c,i]=a;if(d(g=h.merge(i,null!=(b=e())?b:p),!0),c)return n()}).then(()=>{f===j&&(null==o||o(e(),void 0),g=e(),i=!0,l.forEach(a=>a(g)))}).catch(a=>{f===j&&(null==o||o(void 0,a))})};return f.persist={setOptions:a=>{h={...h,...a},a.storage&&(m=a.storage)},clearStorage:()=>{null==m||m.removeItem(h.name)},getOptions:()=>h,rehydrate:()=>q(),hasHydrated:()=>i,onHydrate:a=>(k.add(a),()=>{k.delete(a)}),onFinishHydration:a=>(l.add(a),()=>{l.delete(a)})},h.skipHydration||q(),g||p};a.s(["persist",()=>c])},843314,a=>a.a(async(b,c)=>{try{var d=a.i(677850),e=b([d]);[d]=e.then?(await e)():e;let g=d.z.object({id:d.z.string().min(1),alias:d.z.string().min(1),name:d.z.string().min(1),icon:d.z.string().min(1),color:d.z.string().regex(/^#[0-9A-Fa-f]{6}$/,"Must be a valid hex color (#RRGGBB)"),textIcon:d.z.string().optional(),website:d.z.string().url().optional(),passthroughModels:d.z.boolean().optional(),deprecated:d.z.boolean().optional(),deprecationReason:d.z.string().optional(),hasFree:d.z.boolean().optional(),freeNote:d.z.string().optional(),authHint:d.z.string().optional(),apiHint:d.z.string().optional()}),h=d.z.record(d.z.string(),g);function f(a,b){let c=h.safeParse(a);if(!c.success){let a=c.error.issues.map(a=>` ${a.path.join(".")}: ${a.message}`).join("\n");throw console.error(`[PROVIDER VALIDATION] ${b} has invalid entries:
|
|
2
|
+
${a}`),Error(`Provider validation failed for ${b}`)}}a.s(["validateProviders",()=>f]),c()}catch(a){c(a)}},!1),662073,a=>a.a(async(b,c)=>{try{var d=a.i(843314),e=b([d]);[d]=e.then?(await e)():e;let j={iflow:{id:"iflow",alias:"if",name:"iFlow AI",icon:"water_drop",color:"#6366F1"},qwen:{id:"qwen",alias:"qw",name:"Qwen Code",icon:"psychology",color:"#10B981"},"gemini-cli":{id:"gemini-cli",alias:"gc",name:"Gemini CLI",icon:"terminal",color:"#4285F4",deprecated:!0,deprecationReason:"Google restricts third-party OAuth usage for Gemini CLI (Mar 2026). Pro models require paid plans. Use 'gemini' (API key) provider instead."},kiro:{id:"kiro",alias:"kr",name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35"}},k={claude:{id:"claude",alias:"cc",name:"Claude Code",icon:"smart_toy",color:"#D97757"},antigravity:{id:"antigravity",alias:"ag",name:"Antigravity",icon:"rocket_launch",color:"#F59E0B"},codex:{id:"codex",alias:"cx",name:"OpenAI Codex",icon:"code",color:"#3B82F6"},github:{id:"github",alias:"gh",name:"GitHub Copilot",icon:"code",color:"#333333"},cursor:{id:"cursor",alias:"cu",name:"Cursor IDE",icon:"edit_note",color:"#00D4AA"},"kimi-coding":{id:"kimi-coding",alias:"kmc",name:"Kimi Coding",icon:"psychology",color:"#1E40AF",textIcon:"KC"},kilocode:{id:"kilocode",alias:"kc",name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC"},cline:{id:"cline",alias:"cl",name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL"}},l={openrouter:{id:"openrouter",alias:"openrouter",name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",passthroughModels:!0,website:"https://openrouter.ai"},glm:{id:"glm",alias:"glm",name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn"},"bailian-coding-plan":{id:"bailian-coding-plan",alias:"bcp",name:"Alibaba Coding Plan",icon:"code",color:"#FF6A00",textIcon:"BCP",website:"https://www.alibabacloud.com/help/en/model-studio/coding-plan"},kimi:{id:"kimi",alias:"kimi",name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn"},"kimi-coding-apikey":{id:"kimi-coding-apikey",alias:"kmca",name:"Kimi Coding (API Key)",icon:"psychology",color:"#1E40AF",textIcon:"KC",website:"https://kimi.com"},minimax:{id:"minimax",alias:"minimax",name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com"},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com"},alicode:{id:"alicode",alias:"alicode",name:"Alibaba",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://bailian.console.aliyun.com"},"alicode-intl":{id:"alicode-intl",alias:"alicode-intl",name:"Alibaba Intl",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://modelstudio.console.alibabacloud.com"},openai:{id:"openai",alias:"openai",name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com"},anthropic:{id:"anthropic",alias:"anthropic",name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com"},gemini:{id:"gemini",alias:"gemini",name:"Gemini",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev"},deepseek:{id:"deepseek",alias:"ds",name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com"},groq:{id:"groq",alias:"groq",name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com",hasFree:!0,freeNote:"Free tier: 30 RPM / 14.4K RPD — no credit card"},blackbox:{id:"blackbox",alias:"bb",name:"Blackbox AI",icon:"view_in_ar",color:"#1A1A2E",textIcon:"BB",website:"https://blackbox.ai"},xai:{id:"xai",alias:"xai",name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai"},mistral:{id:"mistral",alias:"mistral",name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai"},perplexity:{id:"perplexity",alias:"pplx",name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai"},together:{id:"together",alias:"together",name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai"},fireworks:{id:"fireworks",alias:"fireworks",name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai"},cerebras:{id:"cerebras",alias:"cerebras",name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://inference.cerebras.ai",hasFree:!0,freeNote:"Free: 1M tokens/day, 60K TPM — world's fastest inference"},cohere:{id:"cohere",alias:"cohere",name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com"},nvidia:{id:"nvidia",alias:"nvidia",name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://build.nvidia.com",hasFree:!0,freeNote:"Free dev access: ~40 RPM, 70+ models (Kimi K2.5, GLM 4.7, DeepSeek V3.2...)"},nebius:{id:"nebius",alias:"nebius",name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com"},siliconflow:{id:"siliconflow",alias:"siliconflow",name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com"},hyperbolic:{id:"hyperbolic",alias:"hyp",name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz"},deepgram:{id:"deepgram",alias:"dg",name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com"},assemblyai:{id:"assemblyai",alias:"aai",name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com"},nanobanana:{id:"nanobanana",alias:"nb",name:"NanoBanana",icon:"image",color:"#FFD700",textIcon:"NB",website:"https://nanobananaapi.ai"},"ollama-cloud":{id:"ollama-cloud",alias:"ollamacloud",name:"Ollama Cloud",icon:"cloud",color:"#58A6FF",textIcon:"OC",website:"https://ollama.com/settings/api-keys"},elevenlabs:{id:"elevenlabs",alias:"el",name:"ElevenLabs",icon:"record_voice_over",color:"#6C47FF",textIcon:"EL",website:"https://elevenlabs.io"},cartesia:{id:"cartesia",alias:"cartesia",name:"Cartesia",icon:"spatial_audio",color:"#FF4F8B",textIcon:"CA",website:"https://cartesia.ai"},playht:{id:"playht",alias:"playht",name:"PlayHT",icon:"play_circle",color:"#00B4D8",textIcon:"PH",website:"https://play.ht"},inworld:{id:"inworld",alias:"inworld",name:"Inworld",icon:"voice_chat",color:"#7B2EF2",textIcon:"IW",website:"https://inworld.ai"},sdwebui:{id:"sdwebui",alias:"sdwebui",name:"SD WebUI",icon:"brush",color:"#FF7043",textIcon:"SD",website:"https://github.com/AUTOMATIC1111/stable-diffusion-webui"},comfyui:{id:"comfyui",alias:"comfyui",name:"ComfyUI",icon:"account_tree",color:"#4CAF50",textIcon:"CF",website:"https://github.com/comfyanonymous/ComfyUI"},huggingface:{id:"huggingface",alias:"hf",name:"HuggingFace",icon:"face",color:"#FFD21E",textIcon:"HF",website:"https://huggingface.co",hasFree:!0,freeNote:"Free Inference API for thousands of models (Whisper, VITS, SDXL…)"},synthetic:{id:"synthetic",alias:"synthetic",name:"Synthetic",icon:"verified_user",color:"#6366F1",textIcon:"SY",website:"https://synthetic.new",passthroughModels:!0},"kilo-gateway":{id:"kilo-gateway",alias:"kg",name:"Kilo Gateway",icon:"hub",color:"#617A91",textIcon:"KG",website:"https://kilo.ai",passthroughModels:!0},vertex:{id:"vertex",alias:"vertex",name:"Vertex AI",icon:"cloud",color:"#4285F4",textIcon:"VA",website:"https://cloud.google.com/vertex-ai",authHint:"Provide Service Account JSON or OAuth access_token"},zai:{id:"zai",alias:"zai",name:"Z.AI (GLM-5)",icon:"psychology",color:"#2563EB",textIcon:"ZA",website:"https://open.bigmodel.cn",apiHint:"API key from https://open.bigmodel.cn/usercenter/apikeys"},"perplexity-search":{id:"perplexity-search",alias:"pplx-search",name:"Perplexity Search",icon:"search",color:"#20808D",textIcon:"PS",website:"https://docs.perplexity.ai/guides/search-quickstart",authHint:"Same API key as Perplexity (pplx-...)"},"serper-search":{id:"serper-search",alias:"serper-search",name:"Serper Search",icon:"search",color:"#4285F4",textIcon:"SP",website:"https://serper.dev",authHint:"API key from serper.dev dashboard"},"brave-search":{id:"brave-search",alias:"brave-search",name:"Brave Search",icon:"travel_explore",color:"#FB542B",textIcon:"BR",website:"https://brave.com/search/api",authHint:"Subscription token from Brave Search API dashboard"},"exa-search":{id:"exa-search",alias:"exa-search",name:"Exa Search",icon:"neurology",color:"#1E40AF",textIcon:"EX",website:"https://exa.ai",authHint:"API key from dashboard.exa.ai"},"tavily-search":{id:"tavily-search",alias:"tavily-search",name:"Tavily Search",icon:"manage_search",color:"#5B4FDB",textIcon:"TV",website:"https://tavily.com",authHint:"API key from app.tavily.com (format: tvly-...)"}},m="openai-compatible-",n="anthropic-compatible-";function f(a){return"string"==typeof a&&a.startsWith(m)}function g(a){return"string"==typeof a&&a.startsWith(n)}let o={...j,...k,...l};function h(a){for(let b of Object.values(o))if(b.alias===a||b.id===a)return b;return null}function i(a){let b=o[a];return b?.alias||a}Object.values(o).reduce((a,b)=>(a[b.alias]=b.id,a),{}),Object.values(o).reduce((a,b)=>(a[b.id]=b.alias,a),{}),(0,d.validateProviders)(j,"FREE_PROVIDERS"),(0,d.validateProviders)(k,"OAUTH_PROVIDERS"),(0,d.validateProviders)(l,"APIKEY_PROVIDERS"),a.s(["AI_PROVIDERS",0,o,"ANTHROPIC_COMPATIBLE_PREFIX",0,n,"APIKEY_PROVIDERS",0,l,"AUTH_METHODS",0,{oauth:{id:"oauth",name:"OAuth",icon:"lock"},apikey:{id:"apikey",name:"API Key",icon:"key"}},"FREE_PROVIDERS",0,j,"OAUTH_PROVIDERS",0,k,"OPENAI_COMPATIBLE_PREFIX",0,m,"USAGE_SUPPORTED_PROVIDERS",0,["antigravity","kiro","github","codex","claude","kimi-coding"],"getProviderAlias",()=>i,"getProviderByAlias",()=>h,"isAnthropicCompatibleProvider",()=>g,"isOpenAICompatibleProvider",()=>f]),c()}catch(a){c(a)}},!1),911655,a=>{"use strict";let b=Object.freeze(["temperature","top_p","frequency_penalty","presence_penalty","logprobs","top_logprobs","n"]),c={format:"claude",executor:"default",baseUrl:"https://api.kimi.com/coding/v1/messages",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}]},d={claude:{id:"claude",alias:"cc",format:"claude",executor:"default",baseUrl:"https://api.anthropic.com/v1/messages",urlSuffix:"?beta=true",authType:"oauth",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14,context-management-2025-06-27","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/1.0.83 (external, cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.3.0","X-Stainless-Package-Version":"0.55.1","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":"arm64","X-Stainless-Os":"MacOS","X-Stainless-Timeout":"60"},oauth:{clientIdEnv:"CLAUDE_OAUTH_CLIENT_ID",clientIdDefault:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",tokenUrl:"https://console.anthropic.com/v1/oauth/token"},models:[{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6",name:"Claude 4.6 Sonnet"},{id:"claude-opus-4-5-20251101",name:"Claude 4.5 Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude 4.5 Sonnet"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}]},gemini:{id:"gemini",alias:"gemini",format:"gemini",executor:"default",baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",urlBuilder:(a,b,c)=>`${a}/${b}:${c?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"apikey",authHeader:"x-goog-api-key",oauth:{clientIdEnv:"GEMINI_OAUTH_CLIENT_ID",clientIdDefault:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecretEnv:"GEMINI_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3-1-pro",name:"Gemini 3.1 Pro (Alt ID)"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"gemini-2.0-flash-exp",name:"Gemini 2.0 Flash Exp"},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro"},{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash"}]},"gemini-cli":{id:"gemini-cli",alias:"gc",format:"gemini-cli",executor:"gemini-cli",baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",urlBuilder:(a,b,c)=>`${a}:${c?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"oauth",authHeader:"bearer",oauth:{clientIdEnv:"GEMINI_CLI_OAUTH_CLIENT_ID",clientIdDefault:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecretEnv:"GEMINI_CLI_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3-1-pro",name:"Gemini 3.1 Pro (Alt ID)"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro"},{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash"}]},codex:{id:"codex",alias:"cx",format:"openai-responses",executor:"codex",baseUrl:"https://chatgpt.com/backend-api/codex/responses",authType:"oauth",authHeader:"bearer",headers:{Version:"0.92.0","Openai-Beta":"responses=experimental","User-Agent":"codex-cli/0.92.0 (Windows 10.0.26100; x64)"},oauth:{clientIdEnv:"CODEX_OAUTH_CLIENT_ID",clientIdDefault:"app_EMoamEEZ73f0CkXaXp7hrann",clientSecretEnv:"CODEX_OAUTH_CLIENT_SECRET",clientSecretDefault:"",tokenUrl:"https://auth.openai.com/oauth/token"},models:[{id:"gpt-5.4",name:"GPT 5.4"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"},{id:"gpt-5.3-codex-xhigh",name:"GPT 5.3 Codex (xHigh)"},{id:"gpt-5.3-codex-high",name:"GPT 5.3 Codex (High)"},{id:"gpt-5.3-codex-low",name:"GPT 5.3 Codex (Low)"},{id:"gpt-5.3-codex-none",name:"GPT 5.3 Codex (None)"},{id:"gpt-5.1-codex-mini",name:"GPT 5.1 Codex Mini"},{id:"gpt-5.1-codex-mini-high",name:"GPT 5.1 Codex Mini (High)"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.1-codex-max",name:"GPT 5.1 Codex Max"},{id:"gpt-5.1-codex",name:"GPT 5.1 Codex"},{id:"gpt-5.1",name:"GPT 5.1"},{id:"gpt-5-codex",name:"GPT 5 Codex"},{id:"gpt-5-codex-mini",name:"GPT 5 Codex Mini"}]},qwen:{id:"qwen",alias:"qw",format:"openai",executor:"default",baseUrl:"https://portal.qwen.ai/v1/chat/completions",authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"QwenCode/0.12.3 (linux; x64)","X-Dashscope-AuthType":"qwen-oauth","X-Dashscope-CacheControl":"enable","X-Dashscope-UserAgent":"QwenCode/0.12.3 (linux; x64)","X-Stainless-Arch":"x64","X-Stainless-Lang":"js","X-Stainless-Os":"Linux","X-Stainless-Package-Version":"5.11.0","X-Stainless-Retry-Count":"1","X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":"v18.19.1",Connection:"keep-alive","Accept-Language":"*","Sec-Fetch-Mode":"cors"},oauth:{clientIdEnv:"QWEN_OAUTH_CLIENT_ID",clientIdDefault:"f0304373b74a44d2b584a3fb70ca9e56",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",authUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code"},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash"},{id:"vision-model",name:"Qwen3 Vision Model"},{id:"coder-model",name:"Qwen3.5 (Coder Model)"}]},iflow:{id:"iflow",alias:"if",format:"openai",executor:"iflow",baseUrl:"https://apis.iflow.cn/v1/chat/completions",authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"iFlow-Cli"},oauth:{clientIdEnv:"IFLOW_OAUTH_CLIENT_ID",clientIdDefault:"10009311001",clientSecretEnv:"IFLOW_OAUTH_CLIENT_SECRET",clientSecretDefault:"",tokenUrl:"https://iflow.cn/oauth/token",authUrl:"https://iflow.cn/oauth"},models:[{id:"iflow-rome-30ba3b",name:"iFlow ROME"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-max",name:"Qwen3 Max"},{id:"qwen3-vl-plus",name:"Qwen3 Vision Plus"},{id:"kimi-k2-0905",name:"Kimi K2 0905"},{id:"qwen3-max-preview",name:"Qwen3 Max Preview"},{id:"kimi-k2",name:"Kimi K2"},{id:"deepseek-v3.2",name:"DeepSeek-V3.2-Exp"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"deepseek-v3",name:"DeepSeek V3"},{id:"qwen3-32b",name:"Qwen3 32B"},{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507"},{id:"qwen3-235b-a22b-instruct",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-235b",name:"Qwen3 235B"}]},antigravity:{id:"antigravity",alias:"ag",format:"antigravity",executor:"antigravity",baseUrls:["https://daily-cloudcode-pa.googleapis.com","https://cloudcode-pa.googleapis.com"],urlBuilder:(a,b,c)=>`${a}${c?"/v1internal:streamGenerateContent?alt=sse":"/v1internal:generateContent"}`,authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"antigravity/1.104.0 darwin/arm64"},oauth:{clientIdEnv:"ANTIGRAVITY_OAUTH_CLIENT_ID",clientIdDefault:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecretEnv:"ANTIGRAVITY_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"gpt-oss-120b-medium",name:"GPT OSS 120B Medium"}]},github:{id:"github",alias:"gh",format:"openai",executor:"github",baseUrl:"https://api.githubcopilot.com/chat/completions",responsesBaseUrl:"https://api.githubcopilot.com/responses",authType:"oauth",authHeader:"bearer",headers:{"copilot-integration-id":"vscode-chat","editor-version":"vscode/1.107.1","editor-plugin-version":"copilot-chat/0.26.7","user-agent":"GitHubCopilotChat/0.26.7","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:"application/json","Content-Type":"application/json"},models:[{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4",name:"GPT-4"},{id:"gpt-3.5-turbo",name:"GPT-3.5 Turbo"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-codex",name:"GPT-5 Codex",targetFormat:"openai-responses"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",targetFormat:"openai-responses"},{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini",targetFormat:"openai-responses"},{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",targetFormat:"openai-responses"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",targetFormat:"openai-responses"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-opus-4.1",name:"Claude Opus 4.1"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5 (Full ID)"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"grok-code-fast-1",name:"Grok Code Fast 1"},{id:"oswe-vscode-prime",name:"Raptor Mini"}]},kiro:{id:"kiro",alias:"kr",format:"kiro",executor:"kiro",baseUrl:"https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse",authType:"oauth",authHeader:"bearer",headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","X-Amz-Target":"AmazonCodeWhispererStreamingService.GenerateAssistantResponse","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},oauth:{tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev"},models:[{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"}]},cursor:{id:"cursor",alias:"cu",format:"cursor",executor:"cursor",baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",authType:"oauth",authHeader:"bearer",headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"1.1.3",models:[{id:"default",name:"Auto (Server Picks)"},{id:"claude-4.5-opus-high-thinking",name:"Claude 4.5 Opus High Thinking"},{id:"claude-4.5-opus-high",name:"Claude 4.5 Opus High"},{id:"claude-4.5-sonnet-thinking",name:"Claude 4.5 Sonnet Thinking"},{id:"claude-4.5-sonnet",name:"Claude 4.5 Sonnet"},{id:"claude-4.5-haiku",name:"Claude 4.5 Haiku"},{id:"claude-4.5-opus",name:"Claude 4.5 Opus"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"}]},openai:{id:"openai",alias:"openai",format:"openai",executor:"default",baseUrl:"https://api.openai.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"o1",name:"O1",unsupportedParams:b},{id:"o1-mini",name:"O1 Mini",unsupportedParams:b},{id:"o1-pro",name:"O1 Pro",unsupportedParams:b},{id:"o3",name:"O3",unsupportedParams:b},{id:"o3-mini",name:"O3 Mini",unsupportedParams:b}]},anthropic:{id:"anthropic",alias:"anthropic",format:"claude",executor:"default",baseUrl:"https://api.anthropic.com/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01"},models:[{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"claude-sonnet-4-6-20251031",name:"Claude Sonnet 4.6 (Dated)"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4-20250514",name:"Claude Opus 4"},{id:"claude-opus-4-6-20251031",name:"Claude Opus 4.6 (Dated)"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"}]},openrouter:{id:"openrouter",alias:"openrouter",format:"openai",executor:"default",baseUrl:"https://openrouter.ai/api/v1/chat/completions",authType:"apikey",authHeader:"bearer",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"},models:[{id:"auto",name:"Auto (Best Available)"}]},glm:{id:"glm",alias:"glm",format:"claude",executor:"default",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"glm-5",name:"GLM 5"},{id:"glm-5-turbo",name:"GLM 5 Turbo"},{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"},{id:"glm-4.6",name:"GLM 4.6"},{id:"glm-4.5v",name:"GLM 4.5V (Vision)"},{id:"glm-4.5",name:"GLM 4.5"},{id:"glm-4.5-air",name:"GLM 4.5 Air"},{id:"glm-4-32b",name:"GLM 4 32B"}]},"bailian-coding-plan":{id:"bailian-coding-plan",alias:"bcp",format:"claude",executor:"default",baseUrl:"https://coding-intl.dashscope.aliyuncs.com/apps/anthropic/v1/messages",chatPath:"/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max (2026-01-23)"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM 4.7"},{id:"kimi-k2.5",name:"Kimi K2.5"}]},zai:{id:"zai",alias:"zai",format:"claude",executor:"default",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"glm-5",name:"GLM 5"},{id:"glm-5-turbo",name:"GLM 5 Turbo"}]},kimi:{id:"kimi",alias:"kimi",format:"openai",executor:"default",baseUrl:"https://api.moonshot.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"},{id:"kimi-for-coding",name:"Kimi For Coding"}]},"kimi-coding":{id:"kimi-coding",alias:"kmc",...c,urlSuffix:"?beta=true",authType:"oauth",oauth:{clientIdEnv:"KIMI_CODING_OAUTH_CLIENT_ID",clientIdDefault:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token",authUrl:"https://auth.kimi.com/api/oauth/device_authorization"}},"kimi-coding-apikey":{id:"kimi-coding-apikey",alias:"kmca",...c,authType:"apikey"},kilocode:{id:"kilocode",alias:"kc",format:"openrouter",executor:"openrouter",baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",modelsUrl:"https://api.kilo.ai/api/openrouter/models",authType:"oauth",authHeader:"Authorization",authPrefix:"Bearer ",oauth:{initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"},models:[{id:"openrouter/free",name:"Free Models Router"},{id:"qwen/qwen3-vl-235b-a22b-thinking",name:"Qwen3 VL 235B A22B Thinking"},{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507"},{id:"qwen/qwen3-vl-30b-a3b-thinking",name:"Qwen3 VL 30B A3B Thinking"},{id:"stepfun/step-3.5-flash:free",name:"StepFun Step 3.5 Flash"},{id:"arcee-ai/trinity-large-preview:free",name:"Arcee AI Trinity Large Preview"},{id:"openai/gpt-4o-mini",name:"GPT-4o Mini"},{id:"openai/gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"openai/gpt-5-nano",name:"GPT-5 Nano"},{id:"openai/gpt-5-mini",name:"GPT-5 Mini"},{id:"anthropic/claude-3-haiku",name:"Claude 3 Haiku"},{id:"google/gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek V3.1"},{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2"},{id:"meta-llama/llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-scout",name:"Llama 4 Scout"},{id:"meta-llama/llama-4-maverick",name:"Llama 4 Maverick"},{id:"qwen/qwen3-8b",name:"Qwen3 8B"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"qwen/qwen3-coder",name:"Qwen3 Coder 480B"},{id:"qwen/qwq-32b",name:"QwQ 32B"},{id:"mistralai/mistral-small-24b-instruct-2501",name:"Mistral Small 3"},{id:"mistralai/mistral-7b-instruct",name:"Mistral 7B"},{id:"x-ai/grok-code-fast-1",name:"Grok Code Fast 1"},{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"}],passthroughModels:!0},cline:{id:"cline",alias:"cl",format:"openai",executor:"openai",baseUrl:"https://api.cline.bot/api/v1/chat/completions",authType:"oauth",authHeader:"Authorization",authPrefix:"Bearer ",oauth:{tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh",authUrl:"https://api.cline.bot/api/v1/auth/authorize"},extraHeaders:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},models:[{id:"anthropic/claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"anthropic/claude-opus-4-20250514",name:"Claude Opus 4"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"openai/gpt-4.1",name:"GPT-4.1"},{id:"openai/o3",name:"o3"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat"}],passthroughModels:!0},minimax:{id:"minimax",alias:"minimax",format:"claude",executor:"default",baseUrl:"https://api.minimax.io/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5 (Legacy Alias)"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"}]},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",format:"claude",executor:"default",baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5 (Legacy Alias)"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"}]},alicode:{id:"alicode",alias:"alicode",format:"openai",executor:"default",baseUrl:"https://coding.dashscope.aliyuncs.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},"alicode-intl":{id:"alicode-intl",alias:"alicode-intl",format:"openai",executor:"default",baseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},deepseek:{id:"deepseek",alias:"ds",format:"openai",executor:"default",baseUrl:"https://api.deepseek.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}]},groq:{id:"groq",alias:"groq",format:"openai",executor:"default",baseUrl:"https://api.groq.com/openai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B"}]},blackbox:{id:"blackbox",alias:"bb",format:"openai",executor:"default",baseUrl:"https://api.blackbox.ai/v1/chat/completions",modelsUrl:"https://api.blackbox.ai/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-4o",name:"GPT-4o"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"deepseek-v3",name:"DeepSeek V3"},{id:"blackboxai",name:"Blackbox AI"},{id:"blackboxai-pro",name:"Blackbox AI Pro"}]},xai:{id:"xai",alias:"xai",format:"openai",executor:"default",baseUrl:"https://api.x.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"grok-4-fast-non-reasoning",name:"Grok 4 Fast"},{id:"grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning"},{id:"grok-4-1-fast-non-reasoning",name:"Grok 4.1 Fast"},{id:"grok-4-1-fast-reasoning",name:"Grok 4.1 Fast Reasoning"},{id:"grok-4-0709",name:"Grok 4 (0709)"},{id:"grok-4",name:"Grok 4"},{id:"grok-3",name:"Grok 3"},{id:"grok-3-mini",name:"Grok 3 Mini"}]},mistral:{id:"mistral",alias:"mistral",format:"openai",executor:"default",baseUrl:"https://api.mistral.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"mistral-large-latest",name:"Mistral Large 3"},{id:"codestral-latest",name:"Codestral"},{id:"mistral-medium-latest",name:"Mistral Medium 3"}]},perplexity:{id:"perplexity",alias:"pplx",format:"openai",executor:"default",baseUrl:"https://api.perplexity.ai/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"sonar-pro",name:"Sonar Pro"},{id:"sonar",name:"Sonar"}]},together:{id:"together",alias:"together",format:"openai",executor:"default",baseUrl:"https://api.together.xyz/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Turbo"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"}]},fireworks:{id:"fireworks",alias:"fireworks",format:"openai",executor:"default",baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1"},{id:"accounts/fireworks/models/llama-v3p3-70b-instruct",name:"Llama 3.3 70B"},{id:"accounts/fireworks/models/qwen3-235b-a22b",name:"Qwen3 235B"}]},cerebras:{id:"cerebras",alias:"cerebras",format:"openai",executor:"default",baseUrl:"https://api.cerebras.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-oss-120b",name:"GPT OSS 120B"},{id:"zai-glm-4.7",name:"ZAI GLM 4.7"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout"},{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B"},{id:"qwen-3-32b",name:"Qwen3 32B"}]},"ollama-cloud":{id:"ollama-cloud",alias:"ollamacloud",format:"openai",executor:"default",baseUrl:"https://api.ollama.com/v1/chat/completions",modelsUrl:"https://api.ollama.com/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"gemma3:27b",name:"Gemma 3 27B"},{id:"llama3.3:70b",name:"Llama 3.3 70B"},{id:"qwen3:72b",name:"Qwen3 72B"},{id:"devstral:24b",name:"Devstral 24B"},{id:"deepseek-r2:671b",name:"DeepSeek R2 671B"},{id:"phi4:14b",name:"Phi 4 14B"},{id:"mistral-small3.2:24b",name:"Mistral Small 3.2 24B"}],passthroughModels:!0},cohere:{id:"cohere",alias:"cohere",format:"openai",executor:"default",baseUrl:"https://api.cohere.com/v2/chat",authType:"apikey",authHeader:"bearer",models:[{id:"command-r-plus-08-2024",name:"Command R+ (Aug 2024)"},{id:"command-r-08-2024",name:"Command R (Aug 2024)"},{id:"command-a-03-2025",name:"Command A (Mar 2025)"}]},nvidia:{id:"nvidia",alias:"nvidia",format:"openai",executor:"default",baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-oss-120b",name:"GPT OSS 120B",toolCalling:!1},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B (OpenAI Prefix)",toolCalling:!1},{id:"meta/llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"nvidia/llama-3.3-70b-instruct",name:"Llama 3.3 70B (NVIDIA Prefix)"},{id:"meta/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"z-ai/glm4.7",name:"GLM 4.7"},{id:"deepseek-ai/deepseek-v3.2",name:"DeepSeek V3.2"},{id:"deepseek/deepseek-r1",name:"DeepSeek R1"},{id:"nvidia/llama-3.1-70b-instruct",name:"Llama 3.1 70B"},{id:"nvidia/llama-3.1-405b-instruct",name:"Llama 3.1 405B"}]},nebius:{id:"nebius",alias:"nebius",format:"openai",executor:"default",baseUrl:"https://api.tokenfactory.nebius.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"}]},siliconflow:{id:"siliconflow",alias:"siliconflow",format:"openai",executor:"default",baseUrl:"https://api.siliconflow.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B"},{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3 Coder 480B"},{id:"Qwen/Qwen3-32B",name:"Qwen3 32B"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"zai-org/GLM-4.7",name:"GLM 4.7"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"baidu/ERNIE-4.5-300B-A47B",name:"ERNIE 4.5 300B"}]},hyperbolic:{id:"hyperbolic",alias:"hyp",format:"openai",executor:"default",baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"Qwen/QwQ-32B",name:"QwQ 32B"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"meta-llama/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B"},{id:"NousResearch/Hermes-3-Llama-3.1-70B",name:"Hermes 3 70B"}]},huggingface:{id:"huggingface",alias:"hf",format:"openai",executor:"default",baseUrl:"https://router.huggingface.co/hf-inference/models/meta-llama/Meta-Llama-3.1-70B-Instruct/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"meta-llama/Meta-Llama-3.1-70B-Instruct",name:"Llama 3.1 70B Instruct"},{id:"meta-llama/Meta-Llama-3.1-8B-Instruct",name:"Llama 3.1 8B Instruct"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"mistralai/Mistral-7B-Instruct-v0.3",name:"Mistral 7B v0.3"},{id:"microsoft/Phi-3.5-mini-instruct",name:"Phi-3.5 Mini"}]},synthetic:{id:"synthetic",alias:"synthetic",format:"openai",executor:"default",baseUrl:"https://api.synthetic.new/openai/v1/chat/completions",modelsUrl:"https://api.synthetic.new/openai/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"hf:nvidia/Kimi-K2.5-NVFP4",name:"Kimi K2.5 (NVFP4)"},{id:"hf:MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"hf:zai-org/GLM-4.7-Flash",name:"GLM 4.7 Flash"},{id:"hf:zai-org/GLM-4.7",name:"GLM 4.7"},{id:"hf:moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"hf:deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"}],passthroughModels:!0},"kilo-gateway":{id:"kilo-gateway",alias:"kg",format:"openai",executor:"default",baseUrl:"https://api.kilo.ai/api/gateway/chat/completions",modelsUrl:"https://api.kilo.ai/api/gateway/models",authType:"apikey",authHeader:"bearer",models:[{id:"kilo-auto/frontier",name:"Kilo Auto Frontier"},{id:"kilo-auto/balanced",name:"Kilo Auto Balanced"},{id:"kilo-auto/free",name:"Kilo Auto Free"},{id:"nvidia/nemotron-3-super-120b-a12b:free",name:"Nemotron 3 Super 120B (Free)"},{id:"minimax/minimax-m2.5:free",name:"MiniMax M2.5 (Free)"},{id:"arcee-ai/trinity-large-preview:free",name:"Trinity Large Preview (Free)"}],passthroughModels:!0},vertex:{id:"vertex",alias:"vertex",format:"gemini",executor:"default",baseUrl:"https://us-central1-aiplatform.googleapis.com/v1/projects",urlBuilder:(a,b,c)=>`https://generativelanguage.googleapis.com/v1beta/models/${b}:${c?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"apikey",authHeader:"bearer",models:[{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (Vertex)"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash (Vertex)"},{id:"gemini-2.0-flash-thinking-exp",name:"Gemini 2.0 Flash Thinking Exp (Vertex)"},{id:"gemma-2-27b-it",name:"Gemma 2 27B (Vertex)"},{id:"claude-opus-4-5@20251101",name:"Claude Opus 4.5 (Vertex)"},{id:"claude-sonnet-4-5@20251101",name:"Claude Sonnet 4.5 (Vertex)"}]}};[..."u">typeof process&&process.env.LOCAL_HOSTNAMES?process.env.LOCAL_HOSTNAMES.split(",").map(a=>a.trim()).filter(Boolean):[]];let e=new Map;for(let a of Object.values(d))a.alias&&a.alias!==a.id&&e.set(a.alias,a);let f=new Map;for(let a of Object.values(d))for(let b of a.models)b.unsupportedParams&&!f.has(b.id)&&f.set(b.id,b.unsupportedParams);let g=function(){let a={};for(let b of Object.values(d))if(b.models&&b.models.length>0){let c=b.alias||b.id;a[c]||(a[c]=b.models)}return a}(),h=function(){let a={};for(let b of Object.values(d))a[b.id]=b.alias||b.id;return a}();function i(a){return g[h[a]||a]||[]}a.s(["PROVIDER_ID_TO_ALIAS",0,h,"PROVIDER_MODELS",0,g,"getModelsByProviderId",()=>i],911655)},867933,a=>a.a(async(b,c)=>{try{var d=a.i(911655),e=a.i(662073),f=b([e]);[e]=f.then?(await f)():f,Object.entries(e.AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a),Object.entries(d.PROVIDER_MODELS).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),a.s([]),c()}catch(a){c(a)}},!1),817648,a=>a.a(async(b,c)=>{try{var d=a.i(804730),e=a.i(662073),f=a.i(867933),g=b([e,f]);[e,f]=g.then?(await g)():g;let h={name:"OmniRoute",description:"AI Gateway for Multi-Provider LLMs",version:d.default.version};a.s(["APP_CONFIG",0,h,"THEME_CONFIG",0,{storageKey:"theme",defaultTheme:"system"}]),c()}catch(a){c(a)}},!1),788164,a=>a.a(async(b,c)=>{try{var d=a.i(920226),e=a.i(862435),f=a.i(817648),g=b([f]);[f]=g.then?(await g)():g;let j=(0,d.create)()((0,e.persist)((a,b)=>({theme:f.THEME_CONFIG.defaultTheme,colorTheme:"coral",customColor:"#3b82f6",setTheme:b=>{a({theme:b}),h(b)},setColorTheme:c=>{a({colorTheme:c}),i(c,b().customColor)},setCustomColorTheme:b=>{let c,d,e=(d=(c=(b||"").trim()).startsWith("#")?c:`#${c}`,/^#([0-9a-fA-F]{6})$/.test(d)?d.toLowerCase():"#3b82f6");a({colorTheme:"custom",customColor:e}),i("custom",e)},toggleTheme:()=>{let c=b().theme,d="dark"===c?"light":"dark";a({theme:d}),h(d)},initTheme:()=>{let{theme:a,colorTheme:c,customColor:d}=b();h(a),i(c,d)}}),{name:f.THEME_CONFIG.storageKey}));function h(a){}function i(a,b){}a.s(["COLOR_THEMES",0,{coral:"#e54d5e",blue:"#3b82f6",red:"#ef4444",green:"#22c55e",violet:"#8b5cf6",orange:"#f97316",cyan:"#06b6d4"},"default",0,j]),c()}catch(a){c(a)}},!1),561487,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(572131),f=a.i(788164),g=b([f]);function h({children:a}){let{initTheme:b}=(0,f.default)();return(0,e.useEffect)(()=>{b()},[b]),(0,d.jsx)(d.Fragment,{children:a})}[f]=g.then?(await g)():g,a.s(["ThemeProvider",()=>h]),c()}catch(a){c(a)}},!1)];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=_19b3d5b1._.js.map
|