omniroute 3.1.0 → 3.1.2
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/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]__051203a6._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__0891af92._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__14f70e13._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__1f2b0d89._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__46e00e59._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__6e52619e._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__7ace0fcd._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__7fa4d14e._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__8466a619._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__df1c79db._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__e22609bd._.js +1 -1
- package/app/.next/server/chunks/_05c48915._.js +1 -1
- package/app/.next/server/chunks/_06515a8a._.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/_efd5ede2._.js +1 -1
- package/app/.next/server/chunks/open-sse_config_providerModels_ts_04541468._.js +1 -1
- package/app/.next/server/chunks/open-sse_config_providerRegistry_ts_2f74ec2a._.js +1 -1
- package/app/.next/server/chunks/open-sse_config_providerRegistry_ts_dec0f840._.js +1 -1
- package/app/.next/server/chunks/ssr/[root-of-the-server]__9ef96d20._.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 +1 -1
- package/app/.next/server/chunks/ssr/open-sse_config_providerModels_ts_4cac55e2._.js +1 -1
- 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/{58d319dd9faa8901.js → d1f1359e38f6b40a.js} +1 -1
- package/app/.next/static/chunks/{66870aa02a097795.js → fa0cdd9c7cf7222b.js} +1 -1
- package/app/CHANGELOG.md +31 -0
- package/app/docs/openapi.yaml +1 -1
- package/app/open-sse/config/providerRegistry.ts +4 -2
- package/app/open-sse/handlers/chatCore.ts +6 -4
- package/app/package-lock.json +2 -2
- package/app/package.json +1 -1
- package/app/src/app/api/v1/models/catalog.ts +60 -1
- package/app/src/lib/tokenHealthCheck.ts +24 -6
- package/package.json +1 -1
- /package/app/.next/static/{kq8q3NRT_-3D_qpyiBgIN → IflDsSCpfe7S_9YDKUH5D}/_buildManifest.js +0 -0
- /package/app/.next/static/{kq8q3NRT_-3D_qpyiBgIN → IflDsSCpfe7S_9YDKUH5D}/_clientMiddlewareManifest.json +0 -0
- /package/app/.next/static/{kq8q3NRT_-3D_qpyiBgIN → IflDsSCpfe7S_9YDKUH5D}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
module.exports=[918622,(e,t,i)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,i)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,i)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,i)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,i)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,i)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},442315,(e,t,i)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,i)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,i)=>{"use strict";var a=Object.defineProperty,o=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,s={},l={RequestCookies:()=>f,ResponseCookies:()=>g,parseCookie:()=>p,parseSetCookie:()=>u,stringifyCookie:()=>c};for(var d in l)a(s,d,{get:l[d],enumerable:!0});function c(e){var t;let i=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),a=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===i.length?a:`${a}; ${i.join("; ")}`}function p(e){let t=new Map;for(let i of e.split(/; */)){if(!i)continue;let e=i.indexOf("=");if(-1===e){t.set(i,"true");continue}let[a,o]=[i.slice(0,e),i.slice(e+1)];try{t.set(a,decodeURIComponent(null!=o?o:"true"))}catch{}}return t}function u(e){if(!e)return;let[[t,i],...a]=p(e),{domain:o,expires:r,httponly:n,maxage:s,path:l,samesite:d,secure:c,partitioned:u,priority:f}=Object.fromEntries(a.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,b,y={name:t,value:decodeURIComponent(i),domain:o,...r&&{expires:new Date(r)},...n&&{httpOnly:!0},..."string"==typeof s&&{maxAge:Number(s)},path:l,...d&&{sameSite:m.includes(g=(g=d).toLowerCase())?g:void 0},...c&&{secure:!0},...f&&{priority:h.includes(b=(b=f).toLowerCase())?b:void 0},...u&&{partitioned:!0}};let e={};for(let t in y)y[t]&&(e[t]=y[t]);return e}}t.exports=((e,t,i,s)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of r(t))n.call(e,i)||void 0===i||a(e,i,{get:()=>t[i],enumerable:!(s=o(t,i))||s.enumerable});return e})(a({},"__esModule",{value:!0}),s);var m=["strict","lax","none"],h=["low","medium","high"],f=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,i]of p(t))this._parsed.set(e,{name:e,value:i})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let i=Array.from(this._parsed);if(!e.length)return i.map(([e,t])=>t);let a="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return i.filter(([e])=>e===a).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,i]=1===e.length?[e[0].name,e[0].value]:e,a=this._parsed;return a.set(t,{name:t,value:i}),this._headers.set("cookie",Array.from(a).map(([e,t])=>c(t)).join("; ")),this}delete(e){let t=this._parsed,i=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>c(t)).join("; ")),i}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},g=class{constructor(e){var t,i,a;this._parsed=new Map,this._headers=e;const o=null!=(a=null!=(i=null==(t=e.getSetCookie)?void 0:t.call(e))?i:e.get("set-cookie"))?a:[];for(const e of Array.isArray(o)?o:function(e){if(!e)return[];var t,i,a,o,r,n=[],s=0;function l(){for(;s<e.length&&/\s/.test(e.charAt(s));)s+=1;return s<e.length}for(;s<e.length;){for(t=s,r=!1;l();)if(","===(i=e.charAt(s))){for(a=s,s+=1,l(),o=s;s<e.length&&"="!==(i=e.charAt(s))&&";"!==i&&","!==i;)s+=1;s<e.length&&"="===e.charAt(s)?(r=!0,s=o,n.push(e.substring(t,a)),t=s):s=a+1}else s+=1;(!r||s>=e.length)&&n.push(e.substring(t,e.length))}return n}(o)){const t=u(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let i=Array.from(this._parsed.values());if(!e.length)return i;let a="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return i.filter(e=>e.name===a)}has(e){return this._parsed.has(e)}set(...e){let[t,i,a]=1===e.length?[e[0].name,e[0].value,e[0]]:e,o=this._parsed;return o.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:i,...a})),function(e,t){for(let[,i]of(t.delete("set-cookie"),e)){let e=c(i);t.append("set-cookie",e)}}(o,this._headers),this}delete(...e){let[t,i]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...i,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(c).join("; ")}}},677850,e=>e.a(async(t,i)=>{try{let t=await e.y("zod");e.n(t),i()}catch(e){i(e)}},!0),663370,632802,477468,e=>{"use strict";let t=new TextEncoder,i=new TextDecoder;function a(...e){let t=new Uint8Array(e.reduce((e,{length:t})=>e+t,0)),i=0;for(let a of e)t.set(a,i),i+=a.length;return t}function o(e){let t=new Uint8Array(e.length);for(let i=0;i<e.length;i++){let a=e.charCodeAt(i);if(a>127)throw TypeError("non-ASCII string encountered in encode()");t[i]=a}return t}function r(e){if(Uint8Array.prototype.toBase64)return e.toBase64();let t=[];for(let i=0;i<e.length;i+=32768)t.push(String.fromCharCode.apply(null,e.subarray(i,i+32768)));return btoa(t.join(""))}function n(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(e);let t=atob(e),i=new Uint8Array(t.length);for(let e=0;e<t.length;e++)i[e]=t.charCodeAt(e);return i}function s(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64("string"==typeof e?e:i.decode(e),{alphabet:"base64url"});let t=e;t instanceof Uint8Array&&(t=i.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/");try{return n(t)}catch{throw TypeError("The input to be decoded is not correctly encoded.")}}function l(e){let i=e;return("string"==typeof i&&(i=t.encode(i)),Uint8Array.prototype.toBase64)?i.toBase64({alphabet:"base64url",omitPadding:!0}):r(i).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}e.s(["concat",()=>a,"decoder",0,i,"encode",()=>o,"encoder",0,t],632802),e.s(["decodeBase64",()=>n,"encodeBase64",()=>r],477468),e.s(["decode",()=>s,"encode",()=>l],663370)},865466,e=>{"use strict";class t extends Error{static code="ERR_JOSE_GENERIC";code="ERR_JOSE_GENERIC";constructor(e,t){super(e,t),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}}class i extends t{static code="ERR_JWT_CLAIM_VALIDATION_FAILED";code="ERR_JWT_CLAIM_VALIDATION_FAILED";claim;reason;payload;constructor(e,t,i="unspecified",a="unspecified"){super(e,{cause:{claim:i,reason:a,payload:t}}),this.claim=i,this.reason=a,this.payload=t}}class a extends t{static code="ERR_JWT_EXPIRED";code="ERR_JWT_EXPIRED";claim;reason;payload;constructor(e,t,i="unspecified",a="unspecified"){super(e,{cause:{claim:i,reason:a,payload:t}}),this.claim=i,this.reason=a,this.payload=t}}class o extends t{static code="ERR_JOSE_ALG_NOT_ALLOWED";code="ERR_JOSE_ALG_NOT_ALLOWED"}class r extends t{static code="ERR_JOSE_NOT_SUPPORTED";code="ERR_JOSE_NOT_SUPPORTED"}class n extends t{static code="ERR_JWS_INVALID";code="ERR_JWS_INVALID"}class s extends t{static code="ERR_JWT_INVALID";code="ERR_JWT_INVALID"}class l extends t{[Symbol.asyncIterator];static code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";constructor(e="multiple matching keys found in the JSON Web Key Set",t){super(e,t)}}class d extends t{static code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";constructor(e="signature verification failed",t){super(e,t)}}e.s(["JOSEAlgNotAllowed",()=>o,"JOSENotSupported",()=>r,"JWSInvalid",()=>n,"JWSSignatureVerificationFailed",()=>d,"JWTClaimValidationFailed",()=>i,"JWTExpired",()=>a,"JWTInvalid",()=>s])},177278,e=>{"use strict";function t(e){if("object"!=typeof e||null===e||"[object Object]"!==Object.prototype.toString.call(e))return!1;if(null===Object.getPrototypeOf(e))return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function i(...e){let t,a=e.filter(Boolean);if(0===a.length||1===a.length)return!0;for(let e of a){let i=Object.keys(e);if(!t||0===t.size){t=new Set(i);continue}for(let e of i){if(t.has(e))return!1;t.add(e)}}return!0}e.s(["isDisjoint",()=>i,"isJWK",0,e=>t(e)&&"string"==typeof e.kty,"isObject",()=>t,"isPrivateJWK",0,e=>"oct"!==e.kty&&("AKP"===e.kty&&"string"==typeof e.priv||"string"==typeof e.d),"isPublicJWK",0,e=>"oct"!==e.kty&&void 0===e.d&&void 0===e.priv,"isSecretJWK",0,e=>"oct"===e.kty&&"string"==typeof e.k])},709939,e=>{"use strict";var t=e.i(663370),i=e.i(293233),a=e.i(865466),o=e.i(632802),r=e.i(913658),n=e.i(177278),s=e.i(48215),l=e.i(252665),d=e.i(18083);async function c(e,c,p){if(!(0,n.isObject)(e))throw new a.JWSInvalid("Flattened JWS must be an object");if(void 0===e.protected&&void 0===e.header)throw new a.JWSInvalid('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==e.protected&&"string"!=typeof e.protected)throw new a.JWSInvalid("JWS Protected Header incorrect type");if(void 0===e.payload)throw new a.JWSInvalid("JWS Payload missing");if("string"!=typeof e.signature)throw new a.JWSInvalid("JWS Signature missing or incorrect type");if(void 0!==e.header&&!(0,n.isObject)(e.header))throw new a.JWSInvalid("JWS Unprotected Header incorrect type");let u={};if(e.protected)try{let i=(0,t.decode)(e.protected);u=JSON.parse(o.decoder.decode(i))}catch{throw new a.JWSInvalid("JWS Protected Header is invalid")}if(!(0,n.isDisjoint)(u,e.header))throw new a.JWSInvalid("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let m={...u,...e.header},h=(0,l.validateCrit)(a.JWSInvalid,new Map([["b64",!0]]),p?.crit,u,m),f=!0;if(h.has("b64")&&"boolean"!=typeof(f=u.b64))throw new a.JWSInvalid('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:g}=m;if("string"!=typeof g||!g)throw new a.JWSInvalid('JWS "alg" (Algorithm) Header Parameter missing or invalid');let b=p&&function(e,t){if(void 0!==t&&(!Array.isArray(t)||t.some(e=>"string"!=typeof e)))throw TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)}("algorithms",p.algorithms);if(b&&!b.has(g))throw new a.JOSEAlgNotAllowed('"alg" (Algorithm) Header Parameter value not allowed');if(f){if("string"!=typeof e.payload)throw new a.JWSInvalid("JWS Payload must be a string")}else if("string"!=typeof e.payload&&!(e.payload instanceof Uint8Array))throw new a.JWSInvalid("JWS Payload must be a string or an Uint8Array instance");let y=!1;"function"==typeof c&&(c=await c(u,e),y=!0),(0,s.checkKeyType)(g,c,"verify");let v=(0,o.concat)(void 0!==e.protected?(0,o.encode)(e.protected):new Uint8Array,(0,o.encode)("."),"string"==typeof e.payload?f?(0,o.encode)(e.payload):o.encoder.encode(e.payload):e.payload),w=(0,r.decodeBase64url)(e.signature,"signature",a.JWSInvalid),x=await (0,d.normalizeKey)(c,g);if(!await (0,i.verify)(g,x,w,v))throw new a.JWSSignatureVerificationFailed;let A={payload:f?(0,r.decodeBase64url)(e.payload,"payload",a.JWSInvalid):"string"==typeof e.payload?o.encoder.encode(e.payload):e.payload};return(void 0!==e.protected&&(A.protectedHeader=u),void 0!==e.header&&(A.unprotectedHeader=e.header),y)?{...A,key:x}:A}async function p(e,t,i){if(e instanceof Uint8Array&&(e=o.decoder.decode(e)),"string"!=typeof e)throw new a.JWSInvalid("Compact JWS must be a string or Uint8Array");let{0:r,1:n,2:s,length:l}=e.split(".");if(3!==l)throw new a.JWSInvalid("Invalid Compact JWS");let d=await c({payload:n,protected:r,signature:s},t,i),p={payload:d.payload,protectedHeader:d.protectedHeader};return"function"==typeof t?{...p,key:d.key}:p}var u=e.i(224472);async function m(e,t,i){let o=await p(e,t,i);if(o.protectedHeader.crit?.includes("b64")&&!1===o.protectedHeader.b64)throw new a.JWTInvalid("JWTs MUST NOT use unencoded payload");let r={payload:(0,u.validateClaimsSet)(o.protectedHeader,o.payload,i),protectedHeader:o.protectedHeader};return"function"==typeof t?{...r,key:o.key}:r}e.s(["jwtVerify",()=>m],709939)},235328,e=>{"use strict";var t=e.i(709939),i=e.i(493458);e.i(245272);var a=e.i(548941);async function o(a){let o=a.headers.get("authorization");if(o?.startsWith("Bearer ")){let t=o.slice(7);try{let{validateApiKey:i}=await e.A(734680);if(await i(t))return!0}catch{}}if(process.env.JWT_SECRET)try{let e=await (0,i.cookies)(),a=e.get("auth_token")?.value;if(a){let e=new TextEncoder().encode(process.env.JWT_SECRET);return await (0,t.jwtVerify)(a,e),!0}}catch{}return!1}async function r(){try{let e=await (0,a.getSettings)();if(!1===e.requireLogin||!e.password&&!process.env.INITIAL_PASSWORD)return!1;return!0}catch{return!0}}e.s(["isAuthRequired",()=>r,"isAuthenticated",()=>o])},224010,e=>{"use strict";let t=process.env.CORS_ORIGIN||"*";e.s(["CORS_HEADERS",0,{"Access-Control-Allow-Origin":t,"Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, OPTIONS","Access-Control-Allow-Headers":"Content-Type, Authorization, x-api-key, anthropic-version"},"CORS_ORIGIN",0,t])},102835,e=>e.a(async(t,i)=>{try{var a=e.i(677850),o=t([a]);[a]=o.then?(await o)():o;let n=a.z.object({id:a.z.string().min(1),alias:a.z.string().min(1),name:a.z.string().min(1),icon:a.z.string().min(1),color:a.z.string().regex(/^#[0-9A-Fa-f]{6}$/,"Must be a valid hex color (#RRGGBB)"),textIcon:a.z.string().optional(),website:a.z.string().url().optional(),passthroughModels:a.z.boolean().optional(),deprecated:a.z.boolean().optional(),deprecationReason:a.z.string().optional(),hasFree:a.z.boolean().optional(),freeNote:a.z.string().optional(),authHint:a.z.string().optional(),apiHint:a.z.string().optional()}),s=a.z.record(a.z.string(),n);function r(e,t){let i=s.safeParse(e);if(!i.success){let e=i.error.issues.map(e=>` ${e.path.join(".")}: ${e.message}`).join("\n");throw console.error(`[PROVIDER VALIDATION] ${t} has invalid entries:
|
|
2
|
-
${e}`),Error(`Provider validation failed for ${t}`)}}e.s(["validateProviders",()=>r]),i()}catch(e){i(e)}},!1),963219,e=>e.a(async(t,i)=>{try{var a=e.i(102835),o=t([a]);[a]=o.then?(await o)():o;let s={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"}},l={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"}},d={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 (Google AI Studio)",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev",hasFree:!0,freeNote:"Free forever: 1,500 req/day for Gemini 2.5 Flash — no credit card, get key at aistudio.google.com"},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",hasFree:!0,freeNote:"$25 signup credits + 3 permanently free models: Llama 3.3 70B, Vision, DeepSeek-R1 distill"},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-...)"},"opencode-zen":{id:"opencode-zen",alias:"opencode-zen",name:"OpenCode Zen",icon:"opencode",color:"#6366f1",website:"https://opencode.ai/zen"},"opencode-go":{id:"opencode-go",alias:"opencode-go",name:"OpenCode Go",icon:"opencode",color:"#6366f1",website:"https://opencode.ai/zen/go"},alibaba:{id:"alibaba",alias:"ali",name:"Alibaba Cloud (DashScope)",icon:"cloud_queue",color:"#FF6600",textIcon:"AL",website:"https://dashscope-intl.aliyuncs.com",hasFree:!1},longcat:{id:"longcat",alias:"lc",name:"LongCat AI",icon:"auto_awesome",color:"#FF6B9D",textIcon:"LC",website:"https://longcat.chat",hasFree:!0,freeNote:"50M tokens/day (Flash-Lite) + 500K/day (Chat/Thinking) — 100% free while public beta"},pollinations:{id:"pollinations",alias:"pol",name:"Pollinations AI",icon:"local_florist",color:"#4CAF50",textIcon:"PO",website:"https://pollinations.ai",hasFree:!0,freeNote:"No API key needed — access GPT-5, Claude, Gemini, DeepSeek V3, Llama 4 free (1 req/15s)"},puter:{id:"puter",alias:"pu",name:"Puter AI",icon:"cloud_circle",color:"#6366F1",textIcon:"PU",website:"https://puter.com",hasFree:!0,freeNote:"500+ models (GPT-5, Claude Opus 4, Gemini 3 Pro, Grok 4, DeepSeek V3...) — Users pay via free Puter account",passthroughModels:!0,authHint:"Get token at puter.com/dashboard → Copy Auth Token"},"cloudflare-ai":{id:"cloudflare-ai",alias:"cf",name:"Cloudflare Workers AI",icon:"cloud",color:"#F48120",textIcon:"CF",website:"https://developers.cloudflare.com/workers-ai/",hasFree:!0,freeNote:"Free 10K Neurons/day: ~150 LLM responses or 500s Whisper audio — edge inference globally",authHint:"Requires API Token AND Account ID (found at dash.cloudflare.com)"},scaleway:{id:"scaleway",alias:"scw",name:"Scaleway AI",icon:"cloud",color:"#4F0599",textIcon:"SCW",website:"https://www.scaleway.com/en/ai/generative-apis/",hasFree:!0,freeNote:"1M free tokens for new accounts — EU/GDPR compliant (Paris), Qwen3 235B & Llama 70B"},aimlapi:{id:"aimlapi",alias:"aiml",name:"AI/ML API",icon:"hub",color:"#6366F1",textIcon:"AI",website:"https://aimlapi.com",hasFree:!0,freeNote:"$0.025/day free credits — 200+ models (GPT-4o, Claude, Gemini, Llama) via single endpoint",passthroughModels:!0}},c="openai-compatible-",p="anthropic-compatible-";function r(e){return"string"==typeof e&&e.startsWith(c)}function n(e){return"string"==typeof e&&e.startsWith(p)}let u={...s,...l,...d},m=Object.values(u).reduce((e,t)=>(e[t.alias]=t.id,e),{});Object.values(u).reduce((e,t)=>(e[t.id]=t.alias,e),{}),(0,a.validateProviders)(s,"FREE_PROVIDERS"),(0,a.validateProviders)(l,"OAUTH_PROVIDERS"),(0,a.validateProviders)(d,"APIKEY_PROVIDERS"),e.s(["AI_PROVIDERS",0,u,"ALIAS_TO_ID",0,m,"ANTHROPIC_COMPATIBLE_PREFIX",0,p,"APIKEY_PROVIDERS",0,d,"FREE_PROVIDERS",0,s,"OAUTH_PROVIDERS",0,l,"OPENAI_COMPATIBLE_PREFIX",0,c,"isAnthropicCompatibleProvider",()=>n,"isOpenAICompatibleProvider",()=>r]),i()}catch(e){i(e)}},!1),617325,e=>e.a(async(t,i)=>{try{var a=e.i(878947),o=e.i(963219),r=t([o]);[o]=r.then?(await r)():r,Object.entries(o.AI_PROVIDERS).filter(([,e])=>e.passthroughModels).map(([e])=>e);let n=Object.entries(a.PROVIDER_MODELS).flatMap(([e,t])=>t.map(t=>({provider:e,model:t.id,name:t.name})));e.s(["AI_MODELS",0,n]),i()}catch(e){i(e)}},!1),261189,e=>{"use strict";function t(e){if(!e.prefix||!e.baseUrl)throw Error("Invalid provider_node: missing prefix or baseUrl");if(e.prefix.includes("/")||e.prefix.includes(" "))throw Error(`Invalid provider_node prefix "${e.prefix}": must not contain / or spaces`);let t=e.baseUrl.replace(/\/+$/,"");return{id:e.prefix,baseUrl:`${t}/embeddings`,authType:"none",authHeader:"none",models:[]}}let i={nebius:{id:"nebius",baseUrl:"https://api.tokenfactory.nebius.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",dimensions:4096}]},openai:{id:"openai",baseUrl:"https://api.openai.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"text-embedding-3-small",name:"Text Embedding 3 Small",dimensions:1536},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",dimensions:3072},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",dimensions:1536}]},mistral:{id:"mistral",baseUrl:"https://api.mistral.ai/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"mistral-embed",name:"Mistral Embed",dimensions:1024}]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"BAAI/bge-large-en-v1.5",name:"BGE Large EN v1.5",dimensions:1024},{id:"togethercomputer/m2-bert-80M-8k-retrieval",name:"M2 BERT 80M 8K",dimensions:768}]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nomic-ai/nomic-embed-text-v1.5",name:"Nomic Embed Text v1.5",dimensions:768}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nvidia/nv-embedqa-e5-v5",name:"NV EmbedQA E5 v5",dimensions:1024}]}};function a(e){return i[e]||null}function o(e,t){if(!e)return{provider:null,model:null};let a=e.indexOf("/");if(a>0){for(let[t]of Object.entries(i))if(e.startsWith(t+"/"))return{provider:t,model:e.slice(t.length+1)};if(t){for(let i of t)if(e.startsWith(i.id+"/"))return{provider:i.id,model:e.slice(i.id.length+1)}}return{provider:e.slice(0,a),model:e.slice(a+1)}}for(let[t,a]of Object.entries(i))if(a.models.some(t=>t.id===e))return{provider:t,model:e};return{provider:null,model:e}}function r(){let e=[];for(let[t,a]of Object.entries(i))for(let i of a.models)e.push({id:`${t}/${i.id}`,name:i.name,provider:t,dimensions:i.dimensions});return e}e.s(["buildDynamicEmbeddingProvider",()=>t,"getAllEmbeddingModels",()=>r,"getEmbeddingProvider",()=>a,"parseEmbeddingModel",()=>o])},573344,e=>{"use strict";let t={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"gpt-image-1",name:"GPT Image 1"},{id:"dall-e-3",name:"DALL-E 3"},{id:"dall-e-2",name:"DALL-E 2"}],supportedSizes:["1024x1024","1024x1792","1792x1024","256x256","512x512"]},xai:{id:"xai",baseUrl:"https://api.x.ai/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"grok-2-image-1212",name:"Grok 2 Image"}],supportedSizes:["1024x1024"]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"black-forest-labs/FLUX.1.1-pro",name:"FLUX 1.1 Pro"},{id:"black-forest-labs/FLUX.1-schnell-Free",name:"FLUX 1 Schnell (Free)"},{id:"stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0"}],supportedSizes:["1024x1024","512x512"]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"accounts/fireworks/models/flux-1-dev-fp8",name:"FLUX 1 Dev FP8"},{id:"accounts/fireworks/models/stable-diffusion-xl-1024-v1-0",name:"SDXL 1024 v1.0"}],supportedSizes:["1024x1024","512x512"]},antigravity:{id:"antigravity",baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"oauth",authHeader:"bearer",format:"gemini-image",models:[{id:"gemini-2.5-flash-preview-image-generation",name:"Gemini 2.5 Flash Image"},{id:"gemini-3.1-flash-image-preview",name:"Gemini 3.1 Flash Image Preview"}],supportedSizes:["1024x1024"]},nebius:{id:"nebius",baseUrl:"https://api.tokenfactory.nebius.com/v1/images/generations",fallbackUrl:"https://api.studio.nebius.com/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"black-forest-labs/flux-schnell",name:"FLUX.1 Schnell"},{id:"black-forest-labs/flux-dev",name:"FLUX.1 Dev"}],supportedSizes:["1024x1024","512x512"]},hyperbolic:{id:"hyperbolic",baseUrl:"https://api.hyperbolic.xyz/v1/image/generation",authType:"apikey",authHeader:"bearer",format:"hyperbolic",models:[{id:"SDXL1.0-base",name:"SDXL 1.0 Base"},{id:"SD2",name:"Stable Diffusion 2"},{id:"FLUX.1-dev",name:"FLUX.1 Dev"}],supportedSizes:["1024x1024","512x512"]},nanobanana:{id:"nanobanana",baseUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/generate",proUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/generate-pro",statusUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/record-info",authType:"apikey",authHeader:"bearer",format:"nanobanana",models:[{id:"nanobanana-flash",name:"NanoBanana Flash (Gemini 2.5 Flash)"},{id:"nanobanana-pro",name:"NanoBanana Pro (Gemini 3 Pro)"}],supportedSizes:["1024x1024","1024x1280","1024x1536","1536x1024","1280x1024"]},sdwebui:{id:"sdwebui",baseUrl:"http://localhost:7860/sdapi/v1/txt2img",authType:"none",authHeader:"none",format:"sdwebui",models:[{id:"stable-diffusion-v1-5",name:"Stable Diffusion v1.5"},{id:"sdxl-base-1.0",name:"SDXL Base 1.0"}],supportedSizes:["512x512","768x768","1024x1024"]},comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"flux-dev",name:"FLUX Dev"},{id:"sdxl",name:"SDXL"}],supportedSizes:["512x512","768x768","1024x1024"]}};function i(e){return t[e]||null}function a(e){if(!e)return{provider:null,model:null};for(let[i,a]of Object.entries(t))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};for(let[i,a]of Object.entries(t))if(a.models.some(t=>t.id===e))return{provider:i,model:e};return{provider:null,model:e}}function o(){let e=[];for(let[i,a]of Object.entries(t))for(let t of a.models)e.push({id:`${i}/${t.id}`,name:t.name,provider:i,supportedSizes:a.supportedSizes});return e}e.s(["getAllImageModels",()=>o,"getImageProvider",()=>i,"parseImageModel",()=>a])},699064,e=>{"use strict";function t(e,t){if(!e)return{provider:null,model:null};for(let[i]of Object.entries(t))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};for(let[i,a]of Object.entries(t))if(a.models.some(t=>t.id===e))return{provider:i,model:e};return{provider:null,model:e}}function i(e,t){let i=[];for(let[a,o]of Object.entries(e)){let e=t?t(a,o):{};for(let t of o.models)i.push({id:`${a}/${t.id}`,name:t.name,provider:a,...e})}return i}function a(e,t){if("none"===e.authType||"none"===e.authHeader||!t)return{};switch(e.authHeader){case"token":return{Authorization:`Token ${t}`};case"xi-api-key":return{"xi-api-key":t};case"x-api-key":return{"x-api-key":t};default:return{Authorization:`Bearer ${t}`}}}e.s(["buildAuthHeaders",()=>a,"getAllModelsFromRegistry",()=>i,"parseModelFromRegistry",()=>t])},501323,e=>{"use strict";let t={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",models:[{id:"whisper-1",name:"Whisper 1"},{id:"gpt-4o-transcription",name:"GPT-4o Transcription"}]},groq:{id:"groq",baseUrl:"https://api.groq.com/openai/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",models:[{id:"whisper-large-v3",name:"Whisper Large v3"},{id:"whisper-large-v3-turbo",name:"Whisper Large v3 Turbo"},{id:"distil-whisper-large-v3-en",name:"Distil Whisper Large v3 EN"}]},deepgram:{id:"deepgram",baseUrl:"https://api.deepgram.com/v1/listen",authType:"apikey",authHeader:"token",format:"deepgram",models:[{id:"nova-3",name:"Nova 3"},{id:"nova-2",name:"Nova 2"},{id:"whisper-large",name:"Whisper Large"}]},assemblyai:{id:"assemblyai",baseUrl:"https://api.assemblyai.com/v2/transcript",authType:"apikey",authHeader:"bearer",async:!0,format:"assemblyai",models:[{id:"universal-3-pro",name:"Universal 3 Pro"},{id:"universal-2",name:"Universal 2"}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"nvidia-asr",models:[{id:"nvidia/parakeet-ctc-1.1b-asr",name:"Parakeet CTC 1.1B"}]},huggingface:{id:"huggingface",baseUrl:"https://api-inference.huggingface.co/models",authType:"apikey",authHeader:"bearer",format:"huggingface-asr",models:[{id:"openai/whisper-large-v3",name:"Whisper Large v3 (HF)"},{id:"openai/whisper-small",name:"Whisper Small (HF)"}]},qwen:{id:"qwen",baseUrl:"http://localhost:8000/v1/audio/transcriptions",authType:"none",authHeader:"none",format:"openai",models:[{id:"qwen3-asr",name:"Qwen3 ASR"}]}},i={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",models:[{id:"tts-1",name:"TTS 1"},{id:"tts-1-hd",name:"TTS 1 HD"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS"}]},hyperbolic:{id:"hyperbolic",baseUrl:"https://api.hyperbolic.xyz/v1/audio/generation",authType:"apikey",authHeader:"bearer",format:"hyperbolic",models:[{id:"melo-tts",name:"Melo TTS"}]},deepgram:{id:"deepgram",baseUrl:"https://api.deepgram.com/v1/speak",authType:"apikey",authHeader:"token",format:"deepgram",models:[{id:"aura-asteria-en",name:"Aura Asteria (EN)"},{id:"aura-luna-en",name:"Aura Luna (EN)"},{id:"aura-stella-en",name:"Aura Stella (EN)"}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"nvidia-tts",models:[{id:"nvidia/fastpitch",name:"FastPitch"},{id:"nvidia/tacotron2",name:"Tacotron2"}]},elevenlabs:{id:"elevenlabs",baseUrl:"https://api.elevenlabs.io/v1/text-to-speech",authType:"apikey",authHeader:"xi-api-key",format:"elevenlabs",models:[{id:"eleven_multilingual_v2",name:"Eleven Multilingual v2"},{id:"eleven_turbo_v2_5",name:"Eleven Turbo v2.5"}]},huggingface:{id:"huggingface",baseUrl:"https://api-inference.huggingface.co/models",authType:"apikey",authHeader:"bearer",format:"huggingface-tts",models:[{id:"facebook/mms-tts-eng",name:"MMS TTS English"},{id:"microsoft/speecht5_tts",name:"SpeechT5 TTS"}]},coqui:{id:"coqui",baseUrl:"http://localhost:5002/api/tts",authType:"none",authHeader:"none",format:"coqui",models:[{id:"tts_models/en/ljspeech/tacotron2-DDC",name:"Tacotron2 DDC (LJSpeech)"}]},tortoise:{id:"tortoise",baseUrl:"http://localhost:5000/api/tts",authType:"none",authHeader:"none",format:"tortoise",models:[{id:"tortoise-v2",name:"Tortoise v2"}]},qwen:{id:"qwen",baseUrl:"http://localhost:8000/v1/audio/speech",authType:"none",authHeader:"none",format:"openai",models:[{id:"qwen3-tts",name:"Qwen3 TTS"}]},inworld:{id:"inworld",baseUrl:"https://api.inworld.ai/tts/v1/voice",authType:"apikey",authHeader:"basic",format:"inworld",models:[{id:"inworld-tts-1.5-max",name:"Inworld TTS 1.5 Max"},{id:"inworld-tts-1.5-mini",name:"Inworld TTS 1.5 Mini"}]},cartesia:{id:"cartesia",baseUrl:"https://api.cartesia.ai/tts/bytes",authType:"apikey",authHeader:"x-api-key",format:"cartesia",models:[{id:"sonic-2",name:"Sonic 2"},{id:"sonic-3",name:"Sonic 3"}]},playht:{id:"playht",baseUrl:"https://api.play.ht/api/v2/tts/stream",authType:"apikey",authHeader:"playht",format:"playht",models:[{id:"PlayDialog",name:"PlayDialog"},{id:"Play3.0-mini",name:"Play3.0 Mini"}]}};function a(e){return t[e]||null}function o(e){return i[e]||null}function r(e,t){if(!e.prefix||!e.baseUrl)throw Error("Invalid provider_node: missing prefix or baseUrl");let i=e.baseUrl.replace(/\/+$/,"");return{id:e.prefix,baseUrl:`${i}${t}`,authType:"none",authHeader:"none",models:[]}}function n(e,t,i){if(!e)return{provider:null,model:null};for(let[i]of Object.entries(t))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};for(let[i,a]of Object.entries(t))if(a.models.some(t=>t.id===e))return{provider:i,model:e};if(i){for(let t of i)if(e.startsWith(t.id+"/"))return{provider:t.id,model:e.slice(t.id.length+1)}}return{provider:null,model:e}}function s(e,i){return n(e,t,i)}function l(e,t){return n(e,i,t)}function d(){let e=[];for(let[i,a]of Object.entries(t))for(let t of a.models)e.push({id:`${i}/${t.id}`,name:t.name,provider:i,subtype:"transcription"});for(let[t,a]of Object.entries(i))for(let i of a.models)e.push({id:`${t}/${i.id}`,name:i.name,provider:t,subtype:"speech"});return e}e.s(["buildDynamicAudioProvider",()=>r,"getAllAudioModels",()=>d,"getSpeechProvider",()=>o,"getTranscriptionProvider",()=>a,"parseSpeechModel",()=>l,"parseTranscriptionModel",()=>s])},479103,e=>{"use strict";let t={cohere:{id:"cohere",baseUrl:"https://api.cohere.com/v2/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"rerank-v3.5",name:"Rerank v3.5"},{id:"rerank-english-v3.0",name:"Rerank English v3.0"},{id:"rerank-multilingual-v3.0",name:"Rerank Multilingual v3.0"}]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"Salesforce/Llama-Rank-V2",name:"Llama Rank V2"}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/ranking",authType:"apikey",authHeader:"bearer",format:"nvidia",models:[{id:"nvidia/nv-rerankqa-mistral-4b-v3",name:"NV RerankQA Mistral 4B v3"}]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"accounts/fireworks/models/nomic-rerank-v1",name:"Nomic Rerank v1"}]}};function i(e){return t[e]||null}function a(e){if(!e)return{provider:null,model:null};for(let[i,a]of Object.entries(t))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};for(let[i,a]of Object.entries(t))if(a.models.some(t=>t.id===e))return{provider:i,model:e};return{provider:null,model:e}}function o(){let e=[];for(let[i,a]of Object.entries(t))for(let t of a.models)e.push({id:`${i}/${t.id}`,name:t.name,provider:i});return e}e.s(["getAllRerankModels",()=>o,"getRerankProvider",()=>i,"parseRerankModel",()=>a])},105575,e=>{"use strict";var t=e.i(699064);let i={comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"stable-audio-open",name:"Stable Audio Open"},{id:"musicgen-medium",name:"MusicGen Medium"}]}};function a(e){return i[e]||null}function o(e){return(0,t.parseModelFromRegistry)(e,i)}function r(){return(0,t.getAllModelsFromRegistry)(i)}e.s(["getAllMusicModels",()=>r,"getMusicProvider",()=>a,"parseMusicModel",()=>o])},485683,e=>{"use strict";let t={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/moderations",authType:"apikey",authHeader:"bearer",models:[{id:"omni-moderation-latest",name:"Omni Moderation Latest"},{id:"text-moderation-latest",name:"Text Moderation Latest"}]}};function i(e){return t[e]||null}function a(e){if(!e)return{provider:null,model:null};for(let[i,a]of Object.entries(t))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};for(let[i,a]of Object.entries(t))if(a.models.some(t=>t.id===e))return{provider:i,model:e};return{provider:null,model:e}}function o(){let e=[];for(let[i,a]of Object.entries(t))for(let t of a.models)e.push({id:`${i}/${t.id}`,name:t.name,provider:i});return e}e.s(["getAllModerationModels",()=>o,"getModerationProvider",()=>i,"parseModerationModel",()=>a])},854319,e=>{"use strict";var t=e.i(699064);let i={comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"animatediff",name:"AnimateDiff"},{id:"svd-xt",name:"Stable Video Diffusion XT"}]},sdwebui:{id:"sdwebui",baseUrl:"http://localhost:7860",authType:"none",authHeader:"none",format:"sdwebui-video",models:[{id:"animatediff-webui",name:"AnimateDiff (WebUI)"}]}};function a(e){return i[e]||null}function o(e){return(0,t.parseModelFromRegistry)(e,i)}function r(){return(0,t.getAllModelsFromRegistry)(i)}e.s(["getAllVideoModels",()=>r,"getVideoProvider",()=>a,"parseVideoModel",()=>o])},970620,e=>e.a(async(t,i)=>{try{var a=e.i(224010),o=e.i(617325),r=e.i(878947),n=e.i(963219);e.i(245272);var s=e.i(385498),l=e.i(151205),d=e.i(186920),c=e.i(548941),p=e.i(235328),u=e.i(261189),m=e.i(573344),h=e.i(479103),f=e.i(501323),g=e.i(485683),b=e.i(854319),y=e.i(105575),v=e.i(828059),w=t([o,n]);[o,n]=w.then?(await w)():w;let A={ag:"antigravity",cc:"claude",cl:"cline",cu:"cursor",cx:"codex",gc:"gemini-cli",gh:"github",if:"iflow",kc:"kilocode",kmc:"kimi-coding",kr:"kiro",qw:"qwen"};async function x(e,t={"Access-Control-Allow-Origin":a.CORS_ORIGIN}){try{let i={};try{i=await (0,c.getSettings)()}catch{}if(!0===i.requireAuthForModels&&!await (0,p.isAuthenticated)(e))return Response.json({error:{message:"Authentication required",type:"invalid_request_error",code:"invalid_api_key"}},{status:401});let{aliasToProviderId:a,providerIdToAlias:o}=function(){let e={},t={};for(let i of Object.values(n.AI_PROVIDERS)){let a=i?.id,o=i?.alias||a;a&&(e[a]=a,e[o]=a,t[a]||(t[a]=o))}for(let[t,i]of Object.entries(r.PROVIDER_ID_TO_ALIAS)){if(r.PROVIDER_MODELS[t]){e[t]=e[t]||i;continue}if(r.PROVIDER_MODELS[i]){e[i]=e[i]||t;continue}e[i]=e[i]||t}for(let t of Object.keys(r.PROVIDER_MODELS))e[t]||(e[t]=t);for(let[i,a]of Object.entries(e))t[a]||(t[a]=i);for(let[i,a]of Object.entries(A))e[i]||(e[i]=a),e[a]||(e[a]=a),t[a]||(t[a]=i);return{aliasToProviderId:e,providerIdToAlias:t}}(),w=new Set(Array.isArray(i.blockedProviders)?i.blockedProviders:[]),x=[];try{(x=await (0,s.getProviderConnections)()).length,x=x.filter(e=>!1!==e.isActive)}catch(e){console.log("Could not fetch providers, showing only combos/custom models")}let I=[];try{I=await (0,s.getProviderNodes)()}catch(e){console.log("Could not fetch provider nodes")}let S={},k={};for(let e of I)e.prefix&&(S[e.id]=e.prefix),e.type&&(k[e.id]=e.type);let _=[];try{_=await (0,l.getCombos)()}catch(e){console.log("Could not fetch combos")}let E=new Set;for(let e of x){let t=o[e.provider]||e.provider;E.add(t),E.add(e.provider)}let R=[],T=Math.floor(Date.now()/1e3);for(let e of _)!1!==e.isActive&&R.push({id:e.name,object:"model",created:T,owned_by:"combo",permission:[],root:e.name,parent:null,...e.context_length?{context_length:e.context_length}:{}});for(let[e,t]of Object.entries(r.PROVIDER_MODELS)){let i=a[e]||e,o=A[e]||i;if(w.has(e)||w.has(o)||!E.has(e)&&!E.has(o))continue;let r=v.REGISTRY[e]||v.REGISTRY[o],n=r?.defaultContextLength;for(let i of t){let t=`${e}/${i.id}`,a=i.contextLength||n;R.push({id:t,object:"model",created:T,owned_by:o,permission:[],root:i.id,parent:null,...a?{context_length:a}:{}}),o!==e&&R.push({id:`${o}/${i.id}`,object:"model",created:T,owned_by:o,permission:[],root:i.id,parent:t,...a?{context_length:a}:{}})}}let O=e=>{if(0===E.size)return!1;let t=o[e]||e;return E.has(t)||E.has(e)};for(let e of(0,u.getAllEmbeddingModels)())O(e.provider)&&R.push({id:e.id,object:"model",created:T,owned_by:e.provider,type:"embedding",dimensions:e.dimensions});for(let e of(0,m.getAllImageModels)())O(e.provider)&&R.push({id:e.id,object:"model",created:T,owned_by:e.provider,type:"image",supported_sizes:e.supportedSizes});for(let e of(0,h.getAllRerankModels)())O(e.provider)&&R.push({id:e.id,object:"model",created:T,owned_by:e.provider,type:"rerank"});for(let e of(0,f.getAllAudioModels)())O(e.provider)&&R.push({id:e.id,object:"model",created:T,owned_by:e.provider,type:"audio",subtype:e.subtype});for(let e of(0,g.getAllModerationModels)())O(e.provider)&&R.push({id:e.id,object:"model",created:T,owned_by:e.provider,type:"moderation"});for(let e of(0,b.getAllVideoModels)())O(e.provider)&&R.push({id:e.id,object:"model",created:T,owned_by:e.provider,type:"video"});for(let e of(0,y.getAllMusicModels)())O(e.provider)&&R.push({id:e.id,object:"model",created:T,owned_by:e.provider,type:"music"});try{let e=await (0,d.getAllCustomModels)();for(let[t,i]of Object.entries(e)){let e=Array.isArray(i)?i.filter(e=>!!e&&"object"==typeof e&&!Array.isArray(e)):[],a=S[t],r=a||o[t]||t,n=A[r]||t,s=k[t];if(E.has(r)||E.has(n)||E.has(t)||s&&E.has(s))for(let t of e){let e,i="string"==typeof t.id?t.id:null;if(!i)continue;let o=`${r}/${i}`;if(R.some(e=>e.id===o))continue;let s=Array.isArray(t.supportedEndpoints)?t.supportedEndpoints:["chat"],l="string"==typeof t.apiFormat?t.apiFormat:"chat-completions";if(s.includes("embeddings")?e="embedding":s.includes("images")?e="image":s.includes("audio")&&(e="audio"),R.push({id:o,object:"model",created:T,owned_by:n,permission:[],root:i,parent:null,custom:!0,...e?{type:e}:{},..."chat-completions"!==l?{api_format:l}:{},...s.length>1||!s.includes("chat")?{supported_endpoints:s}:{}}),n!==r&&!a){let t=`${n}/${i}`;if(R.some(e=>e.id===t))continue;R.push({id:t,object:"model",created:T,owned_by:n,permission:[],root:i,parent:o,custom:!0,...e?{type:e}:{}})}}}}catch(e){console.log("Could not fetch custom models")}return Response.json({object:"list",data:R},{headers:t})}catch(e){return console.log("Error fetching models:",e),Response.json({error:{message:e.message,type:"server_error"}},{status:500})}}e.s(["getUnifiedModelsResponse",()=>x]),i()}catch(e){i(e)}},!1),445568,e=>e.a(async(t,i)=>{try{var a=e.i(224010),o=e.i(970620),r=t([o]);async function n(){return new Response(null,{headers:a.CORS_HEADERS})}async function s(e){return(0,o.getUnifiedModelsResponse)(e,{"Content-Type":"application/json",...a.CORS_HEADERS})}[o]=r.then?(await r)():r,e.s(["GET",()=>s,"OPTIONS",()=>n]),i()}catch(e){i(e)}},!1),818066,e=>e.a(async(t,i)=>{try{var a=e.i(747909),o=e.i(174017),r=e.i(996250),n=e.i(759756),s=e.i(561916),l=e.i(174677),d=e.i(869741),c=e.i(316795),p=e.i(487718),u=e.i(995169),m=e.i(47587),h=e.i(666012),f=e.i(570101),g=e.i(626937),b=e.i(10372),y=e.i(193695);e.i(52474);var v=e.i(600220),w=e.i(445568),x=t([w]);[w]=x.then?(await x)():x;let S=new a.AppRouteRouteModule({definition:{kind:o.RouteKind.APP_ROUTE,page:"/api/v1/route",pathname:"/api/v1",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/v1/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:k,workUnitAsyncStorage:_,serverHooks:E}=S;function A(){return(0,r.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:_})}async function I(e,t,i){S.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/v1/route";a=a.replace(/\/index$/,"")||"/";let r=await S.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!r)return t.statusCode=400,t.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve()),null;let{buildId:w,params:x,nextConfig:A,parsedUrl:I,isDraftMode:k,prerenderManifest:_,routerServerContext:E,isOnDemandRevalidate:R,revalidateOnlyGenerated:T,resolvedPathname:O,clientReferenceManifest:P,serverActionsManifest:C}=r,F=(0,d.normalizeAppPath)(a),D=!!(_.dynamicRoutes[F]||_.routes[O]),U=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,I,!1):t.end("This page could not be found"),null);if(D&&!k){let e=!!_.routes[O],t=_.dynamicRoutes[F];if(t&&!1===t.fallback&&!e){if(A.experimental.adapterPath)return await U();throw new y.NoFallbackError}}let M=null;!D||S.isDev||k||(M=O,M="/index"===M?"/":M);let H=!0===S.isDev||!D,j=D&&!H;C&&P&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:P,serverActionsManifest:C});let L=e.method||"GET",N=(0,s.getTracer)(),W=N.getActiveScopeSpan(),B={params:x,prerenderManifest:_,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:A.cacheLife,waitUntil:i.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,i,a,o)=>S.onRequestError(e,t,a,o,E)},sharedContext:{buildId:w}},J=new c.NodeNextRequest(e),$=new c.NodeNextResponse(t),G=p.NextRequestAdapter.fromNodeNextRequest(J,(0,p.signalFromNodeResponse)(t));try{let r=async e=>S.handle(G,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let i=N.getRootSpanAttributes();if(!i)return;if(i.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${i.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let o=i.get("next.route");if(o){let t=`${L} ${o}`;e.setAttributes({"next.route":o,"http.route":o,"next.span_name":t}),e.updateName(t)}else e.updateName(`${L} ${a}`)}),l=!!(0,n.getRequestMeta)(e,"minimalMode"),d=async n=>{var s,d;let c=async({previousCacheEntry:o})=>{try{if(!l&&R&&T&&!o)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await r(n);e.fetchMetrics=B.renderOpts.fetchMetrics;let s=B.renderOpts.pendingWaitUntil;s&&i.waitUntil&&(i.waitUntil(s),s=void 0);let d=B.renderOpts.collectedTags;if(!D)return await (0,h.sendResponse)(J,$,a,B.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);d&&(t[b.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let i=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=b.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,o=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=b.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:i,expire:o}}}}catch(t){throw(null==o?void 0:o.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:R})},!1,E),t}},p=await S.handleResponse({req:e,nextConfig:A,cacheKey:M,routeKind:o.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:R,revalidateOnlyGenerated:T,responseGenerator:c,waitUntil:i.waitUntil,isMinimalMode:l});if(!D)return null;if((null==p||null==(s=p.value)?void 0:s.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(d=p.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",R?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),k&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,f.fromNodeOutgoingHttpHeaders)(p.value.headers);return l&&D||u.delete(b.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,g.getCacheControlHeader)(p.cacheControl)),await (0,h.sendResponse)(J,$,new Response(p.value.body,{headers:u,status:p.value.status||200})),null};W?await d(W):await N.withPropagatedContext(e.headers,()=>N.trace(u.BaseServerSpan.handleRequest,{spanName:`${L} ${a}`,kind:s.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},d))}catch(t){if(t instanceof y.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:F,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:R})},!1,E),D)throw t;return await (0,h.sendResponse)(J,$,new Response(null,{status:500})),null}}e.s(["handler",()=>I,"patchFetch",()=>A,"routeModule",()=>S,"serverHooks",()=>E,"workAsyncStorage",()=>k,"workUnitAsyncStorage",()=>_]),i()}catch(e){i(e)}},!1),606102,e=>{e.v(e=>Promise.resolve().then(()=>e(548941)))},789543,e=>{e.v(e=>Promise.resolve().then(()=>e(385498)))},579042,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_utils_apiKey_ts_fa113e09._.js"].map(t=>e.l(t))).then(()=>t(65448)))},49794,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_ts_65de0558._.js"].map(t=>e.l(t))).then(()=>t(404503)))},386305,e=>{e.v(e=>Promise.resolve().then(()=>e(878947)))},734680,e=>{e.v(e=>Promise.resolve().then(()=>e(125852)))}];
|
|
2
|
+
${e}`),Error(`Provider validation failed for ${t}`)}}e.s(["validateProviders",()=>r]),i()}catch(e){i(e)}},!1),963219,e=>e.a(async(t,i)=>{try{var a=e.i(102835),o=t([a]);[a]=o.then?(await o)():o;let s={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"}},l={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"}},d={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 (Google AI Studio)",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev",hasFree:!0,freeNote:"Free forever: 1,500 req/day for Gemini 2.5 Flash — no credit card, get key at aistudio.google.com"},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",hasFree:!0,freeNote:"$25 signup credits + 3 permanently free models: Llama 3.3 70B, Vision, DeepSeek-R1 distill"},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-...)"},"opencode-zen":{id:"opencode-zen",alias:"opencode-zen",name:"OpenCode Zen",icon:"opencode",color:"#6366f1",website:"https://opencode.ai/zen"},"opencode-go":{id:"opencode-go",alias:"opencode-go",name:"OpenCode Go",icon:"opencode",color:"#6366f1",website:"https://opencode.ai/zen/go"},alibaba:{id:"alibaba",alias:"ali",name:"Alibaba Cloud (DashScope)",icon:"cloud_queue",color:"#FF6600",textIcon:"AL",website:"https://dashscope-intl.aliyuncs.com",hasFree:!1},longcat:{id:"longcat",alias:"lc",name:"LongCat AI",icon:"auto_awesome",color:"#FF6B9D",textIcon:"LC",website:"https://longcat.chat",hasFree:!0,freeNote:"50M tokens/day (Flash-Lite) + 500K/day (Chat/Thinking) — 100% free while public beta"},pollinations:{id:"pollinations",alias:"pol",name:"Pollinations AI",icon:"local_florist",color:"#4CAF50",textIcon:"PO",website:"https://pollinations.ai",hasFree:!0,freeNote:"No API key needed — access GPT-5, Claude, Gemini, DeepSeek V3, Llama 4 free (1 req/15s)"},puter:{id:"puter",alias:"pu",name:"Puter AI",icon:"cloud_circle",color:"#6366F1",textIcon:"PU",website:"https://puter.com",hasFree:!0,freeNote:"500+ models (GPT-5, Claude Opus 4, Gemini 3 Pro, Grok 4, DeepSeek V3...) — Users pay via free Puter account",passthroughModels:!0,authHint:"Get token at puter.com/dashboard → Copy Auth Token"},"cloudflare-ai":{id:"cloudflare-ai",alias:"cf",name:"Cloudflare Workers AI",icon:"cloud",color:"#F48120",textIcon:"CF",website:"https://developers.cloudflare.com/workers-ai/",hasFree:!0,freeNote:"Free 10K Neurons/day: ~150 LLM responses or 500s Whisper audio — edge inference globally",authHint:"Requires API Token AND Account ID (found at dash.cloudflare.com)"},scaleway:{id:"scaleway",alias:"scw",name:"Scaleway AI",icon:"cloud",color:"#4F0599",textIcon:"SCW",website:"https://www.scaleway.com/en/ai/generative-apis/",hasFree:!0,freeNote:"1M free tokens for new accounts — EU/GDPR compliant (Paris), Qwen3 235B & Llama 70B"},aimlapi:{id:"aimlapi",alias:"aiml",name:"AI/ML API",icon:"hub",color:"#6366F1",textIcon:"AI",website:"https://aimlapi.com",hasFree:!0,freeNote:"$0.025/day free credits — 200+ models (GPT-4o, Claude, Gemini, Llama) via single endpoint",passthroughModels:!0}},c="openai-compatible-",p="anthropic-compatible-";function r(e){return"string"==typeof e&&e.startsWith(c)}function n(e){return"string"==typeof e&&e.startsWith(p)}let u={...s,...l,...d},m=Object.values(u).reduce((e,t)=>(e[t.alias]=t.id,e),{});Object.values(u).reduce((e,t)=>(e[t.id]=t.alias,e),{}),(0,a.validateProviders)(s,"FREE_PROVIDERS"),(0,a.validateProviders)(l,"OAUTH_PROVIDERS"),(0,a.validateProviders)(d,"APIKEY_PROVIDERS"),e.s(["AI_PROVIDERS",0,u,"ALIAS_TO_ID",0,m,"ANTHROPIC_COMPATIBLE_PREFIX",0,p,"APIKEY_PROVIDERS",0,d,"FREE_PROVIDERS",0,s,"OAUTH_PROVIDERS",0,l,"OPENAI_COMPATIBLE_PREFIX",0,c,"isAnthropicCompatibleProvider",()=>n,"isOpenAICompatibleProvider",()=>r]),i()}catch(e){i(e)}},!1),617325,e=>e.a(async(t,i)=>{try{var a=e.i(878947),o=e.i(963219),r=t([o]);[o]=r.then?(await r)():r,Object.entries(o.AI_PROVIDERS).filter(([,e])=>e.passthroughModels).map(([e])=>e);let n=Object.entries(a.PROVIDER_MODELS).flatMap(([e,t])=>t.map(t=>({provider:e,model:t.id,name:t.name})));e.s(["AI_MODELS",0,n]),i()}catch(e){i(e)}},!1),261189,e=>{"use strict";function t(e){if(!e.prefix||!e.baseUrl)throw Error("Invalid provider_node: missing prefix or baseUrl");if(e.prefix.includes("/")||e.prefix.includes(" "))throw Error(`Invalid provider_node prefix "${e.prefix}": must not contain / or spaces`);let t=e.baseUrl.replace(/\/+$/,"");return{id:e.prefix,baseUrl:`${t}/embeddings`,authType:"none",authHeader:"none",models:[]}}let i={nebius:{id:"nebius",baseUrl:"https://api.tokenfactory.nebius.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",dimensions:4096}]},openai:{id:"openai",baseUrl:"https://api.openai.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"text-embedding-3-small",name:"Text Embedding 3 Small",dimensions:1536},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",dimensions:3072},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",dimensions:1536}]},mistral:{id:"mistral",baseUrl:"https://api.mistral.ai/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"mistral-embed",name:"Mistral Embed",dimensions:1024}]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"BAAI/bge-large-en-v1.5",name:"BGE Large EN v1.5",dimensions:1024},{id:"togethercomputer/m2-bert-80M-8k-retrieval",name:"M2 BERT 80M 8K",dimensions:768}]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nomic-ai/nomic-embed-text-v1.5",name:"Nomic Embed Text v1.5",dimensions:768}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nvidia/nv-embedqa-e5-v5",name:"NV EmbedQA E5 v5",dimensions:1024}]}};function a(e){return i[e]||null}function o(e,t){if(!e)return{provider:null,model:null};let a=e.indexOf("/");if(a>0){for(let[t]of Object.entries(i))if(e.startsWith(t+"/"))return{provider:t,model:e.slice(t.length+1)};if(t){for(let i of t)if(e.startsWith(i.id+"/"))return{provider:i.id,model:e.slice(i.id.length+1)}}return{provider:e.slice(0,a),model:e.slice(a+1)}}for(let[t,a]of Object.entries(i))if(a.models.some(t=>t.id===e))return{provider:t,model:e};return{provider:null,model:e}}function r(){let e=[];for(let[t,a]of Object.entries(i))for(let i of a.models)e.push({id:`${t}/${i.id}`,name:i.name,provider:t,dimensions:i.dimensions});return e}e.s(["buildDynamicEmbeddingProvider",()=>t,"getAllEmbeddingModels",()=>r,"getEmbeddingProvider",()=>a,"parseEmbeddingModel",()=>o])},573344,e=>{"use strict";let t={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"gpt-image-1",name:"GPT Image 1"},{id:"dall-e-3",name:"DALL-E 3"},{id:"dall-e-2",name:"DALL-E 2"}],supportedSizes:["1024x1024","1024x1792","1792x1024","256x256","512x512"]},xai:{id:"xai",baseUrl:"https://api.x.ai/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"grok-2-image-1212",name:"Grok 2 Image"}],supportedSizes:["1024x1024"]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"black-forest-labs/FLUX.1.1-pro",name:"FLUX 1.1 Pro"},{id:"black-forest-labs/FLUX.1-schnell-Free",name:"FLUX 1 Schnell (Free)"},{id:"stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0"}],supportedSizes:["1024x1024","512x512"]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"accounts/fireworks/models/flux-1-dev-fp8",name:"FLUX 1 Dev FP8"},{id:"accounts/fireworks/models/stable-diffusion-xl-1024-v1-0",name:"SDXL 1024 v1.0"}],supportedSizes:["1024x1024","512x512"]},antigravity:{id:"antigravity",baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"oauth",authHeader:"bearer",format:"gemini-image",models:[{id:"gemini-2.5-flash-preview-image-generation",name:"Gemini 2.5 Flash Image"},{id:"gemini-3.1-flash-image-preview",name:"Gemini 3.1 Flash Image Preview"}],supportedSizes:["1024x1024"]},nebius:{id:"nebius",baseUrl:"https://api.tokenfactory.nebius.com/v1/images/generations",fallbackUrl:"https://api.studio.nebius.com/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"black-forest-labs/flux-schnell",name:"FLUX.1 Schnell"},{id:"black-forest-labs/flux-dev",name:"FLUX.1 Dev"}],supportedSizes:["1024x1024","512x512"]},hyperbolic:{id:"hyperbolic",baseUrl:"https://api.hyperbolic.xyz/v1/image/generation",authType:"apikey",authHeader:"bearer",format:"hyperbolic",models:[{id:"SDXL1.0-base",name:"SDXL 1.0 Base"},{id:"SD2",name:"Stable Diffusion 2"},{id:"FLUX.1-dev",name:"FLUX.1 Dev"}],supportedSizes:["1024x1024","512x512"]},nanobanana:{id:"nanobanana",baseUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/generate",proUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/generate-pro",statusUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/record-info",authType:"apikey",authHeader:"bearer",format:"nanobanana",models:[{id:"nanobanana-flash",name:"NanoBanana Flash (Gemini 2.5 Flash)"},{id:"nanobanana-pro",name:"NanoBanana Pro (Gemini 3 Pro)"}],supportedSizes:["1024x1024","1024x1280","1024x1536","1536x1024","1280x1024"]},sdwebui:{id:"sdwebui",baseUrl:"http://localhost:7860/sdapi/v1/txt2img",authType:"none",authHeader:"none",format:"sdwebui",models:[{id:"stable-diffusion-v1-5",name:"Stable Diffusion v1.5"},{id:"sdxl-base-1.0",name:"SDXL Base 1.0"}],supportedSizes:["512x512","768x768","1024x1024"]},comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"flux-dev",name:"FLUX Dev"},{id:"sdxl",name:"SDXL"}],supportedSizes:["512x512","768x768","1024x1024"]}};function i(e){return t[e]||null}function a(e){if(!e)return{provider:null,model:null};for(let[i,a]of Object.entries(t))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};for(let[i,a]of Object.entries(t))if(a.models.some(t=>t.id===e))return{provider:i,model:e};return{provider:null,model:e}}function o(){let e=[];for(let[i,a]of Object.entries(t))for(let t of a.models)e.push({id:`${i}/${t.id}`,name:t.name,provider:i,supportedSizes:a.supportedSizes});return e}e.s(["getAllImageModels",()=>o,"getImageProvider",()=>i,"parseImageModel",()=>a])},699064,e=>{"use strict";function t(e,t){if(!e)return{provider:null,model:null};for(let[i]of Object.entries(t))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};for(let[i,a]of Object.entries(t))if(a.models.some(t=>t.id===e))return{provider:i,model:e};return{provider:null,model:e}}function i(e,t){let i=[];for(let[a,o]of Object.entries(e)){let e=t?t(a,o):{};for(let t of o.models)i.push({id:`${a}/${t.id}`,name:t.name,provider:a,...e})}return i}function a(e,t){if("none"===e.authType||"none"===e.authHeader||!t)return{};switch(e.authHeader){case"token":return{Authorization:`Token ${t}`};case"xi-api-key":return{"xi-api-key":t};case"x-api-key":return{"x-api-key":t};default:return{Authorization:`Bearer ${t}`}}}e.s(["buildAuthHeaders",()=>a,"getAllModelsFromRegistry",()=>i,"parseModelFromRegistry",()=>t])},501323,e=>{"use strict";let t={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",models:[{id:"whisper-1",name:"Whisper 1"},{id:"gpt-4o-transcription",name:"GPT-4o Transcription"}]},groq:{id:"groq",baseUrl:"https://api.groq.com/openai/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",models:[{id:"whisper-large-v3",name:"Whisper Large v3"},{id:"whisper-large-v3-turbo",name:"Whisper Large v3 Turbo"},{id:"distil-whisper-large-v3-en",name:"Distil Whisper Large v3 EN"}]},deepgram:{id:"deepgram",baseUrl:"https://api.deepgram.com/v1/listen",authType:"apikey",authHeader:"token",format:"deepgram",models:[{id:"nova-3",name:"Nova 3"},{id:"nova-2",name:"Nova 2"},{id:"whisper-large",name:"Whisper Large"}]},assemblyai:{id:"assemblyai",baseUrl:"https://api.assemblyai.com/v2/transcript",authType:"apikey",authHeader:"bearer",async:!0,format:"assemblyai",models:[{id:"universal-3-pro",name:"Universal 3 Pro"},{id:"universal-2",name:"Universal 2"}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"nvidia-asr",models:[{id:"nvidia/parakeet-ctc-1.1b-asr",name:"Parakeet CTC 1.1B"}]},huggingface:{id:"huggingface",baseUrl:"https://api-inference.huggingface.co/models",authType:"apikey",authHeader:"bearer",format:"huggingface-asr",models:[{id:"openai/whisper-large-v3",name:"Whisper Large v3 (HF)"},{id:"openai/whisper-small",name:"Whisper Small (HF)"}]},qwen:{id:"qwen",baseUrl:"http://localhost:8000/v1/audio/transcriptions",authType:"none",authHeader:"none",format:"openai",models:[{id:"qwen3-asr",name:"Qwen3 ASR"}]}},i={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",models:[{id:"tts-1",name:"TTS 1"},{id:"tts-1-hd",name:"TTS 1 HD"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS"}]},hyperbolic:{id:"hyperbolic",baseUrl:"https://api.hyperbolic.xyz/v1/audio/generation",authType:"apikey",authHeader:"bearer",format:"hyperbolic",models:[{id:"melo-tts",name:"Melo TTS"}]},deepgram:{id:"deepgram",baseUrl:"https://api.deepgram.com/v1/speak",authType:"apikey",authHeader:"token",format:"deepgram",models:[{id:"aura-asteria-en",name:"Aura Asteria (EN)"},{id:"aura-luna-en",name:"Aura Luna (EN)"},{id:"aura-stella-en",name:"Aura Stella (EN)"}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"nvidia-tts",models:[{id:"nvidia/fastpitch",name:"FastPitch"},{id:"nvidia/tacotron2",name:"Tacotron2"}]},elevenlabs:{id:"elevenlabs",baseUrl:"https://api.elevenlabs.io/v1/text-to-speech",authType:"apikey",authHeader:"xi-api-key",format:"elevenlabs",models:[{id:"eleven_multilingual_v2",name:"Eleven Multilingual v2"},{id:"eleven_turbo_v2_5",name:"Eleven Turbo v2.5"}]},huggingface:{id:"huggingface",baseUrl:"https://api-inference.huggingface.co/models",authType:"apikey",authHeader:"bearer",format:"huggingface-tts",models:[{id:"facebook/mms-tts-eng",name:"MMS TTS English"},{id:"microsoft/speecht5_tts",name:"SpeechT5 TTS"}]},coqui:{id:"coqui",baseUrl:"http://localhost:5002/api/tts",authType:"none",authHeader:"none",format:"coqui",models:[{id:"tts_models/en/ljspeech/tacotron2-DDC",name:"Tacotron2 DDC (LJSpeech)"}]},tortoise:{id:"tortoise",baseUrl:"http://localhost:5000/api/tts",authType:"none",authHeader:"none",format:"tortoise",models:[{id:"tortoise-v2",name:"Tortoise v2"}]},qwen:{id:"qwen",baseUrl:"http://localhost:8000/v1/audio/speech",authType:"none",authHeader:"none",format:"openai",models:[{id:"qwen3-tts",name:"Qwen3 TTS"}]},inworld:{id:"inworld",baseUrl:"https://api.inworld.ai/tts/v1/voice",authType:"apikey",authHeader:"basic",format:"inworld",models:[{id:"inworld-tts-1.5-max",name:"Inworld TTS 1.5 Max"},{id:"inworld-tts-1.5-mini",name:"Inworld TTS 1.5 Mini"}]},cartesia:{id:"cartesia",baseUrl:"https://api.cartesia.ai/tts/bytes",authType:"apikey",authHeader:"x-api-key",format:"cartesia",models:[{id:"sonic-2",name:"Sonic 2"},{id:"sonic-3",name:"Sonic 3"}]},playht:{id:"playht",baseUrl:"https://api.play.ht/api/v2/tts/stream",authType:"apikey",authHeader:"playht",format:"playht",models:[{id:"PlayDialog",name:"PlayDialog"},{id:"Play3.0-mini",name:"Play3.0 Mini"}]}};function a(e){return t[e]||null}function o(e){return i[e]||null}function r(e,t){if(!e.prefix||!e.baseUrl)throw Error("Invalid provider_node: missing prefix or baseUrl");let i=e.baseUrl.replace(/\/+$/,"");return{id:e.prefix,baseUrl:`${i}${t}`,authType:"none",authHeader:"none",models:[]}}function n(e,t,i){if(!e)return{provider:null,model:null};for(let[i]of Object.entries(t))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};for(let[i,a]of Object.entries(t))if(a.models.some(t=>t.id===e))return{provider:i,model:e};if(i){for(let t of i)if(e.startsWith(t.id+"/"))return{provider:t.id,model:e.slice(t.id.length+1)}}return{provider:null,model:e}}function s(e,i){return n(e,t,i)}function l(e,t){return n(e,i,t)}function d(){let e=[];for(let[i,a]of Object.entries(t))for(let t of a.models)e.push({id:`${i}/${t.id}`,name:t.name,provider:i,subtype:"transcription"});for(let[t,a]of Object.entries(i))for(let i of a.models)e.push({id:`${t}/${i.id}`,name:i.name,provider:t,subtype:"speech"});return e}e.s(["buildDynamicAudioProvider",()=>r,"getAllAudioModels",()=>d,"getSpeechProvider",()=>o,"getTranscriptionProvider",()=>a,"parseSpeechModel",()=>l,"parseTranscriptionModel",()=>s])},479103,e=>{"use strict";let t={cohere:{id:"cohere",baseUrl:"https://api.cohere.com/v2/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"rerank-v3.5",name:"Rerank v3.5"},{id:"rerank-english-v3.0",name:"Rerank English v3.0"},{id:"rerank-multilingual-v3.0",name:"Rerank Multilingual v3.0"}]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"Salesforce/Llama-Rank-V2",name:"Llama Rank V2"}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/ranking",authType:"apikey",authHeader:"bearer",format:"nvidia",models:[{id:"nvidia/nv-rerankqa-mistral-4b-v3",name:"NV RerankQA Mistral 4B v3"}]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"accounts/fireworks/models/nomic-rerank-v1",name:"Nomic Rerank v1"}]}};function i(e){return t[e]||null}function a(e){if(!e)return{provider:null,model:null};for(let[i,a]of Object.entries(t))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};for(let[i,a]of Object.entries(t))if(a.models.some(t=>t.id===e))return{provider:i,model:e};return{provider:null,model:e}}function o(){let e=[];for(let[i,a]of Object.entries(t))for(let t of a.models)e.push({id:`${i}/${t.id}`,name:t.name,provider:i});return e}e.s(["getAllRerankModels",()=>o,"getRerankProvider",()=>i,"parseRerankModel",()=>a])},105575,e=>{"use strict";var t=e.i(699064);let i={comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"stable-audio-open",name:"Stable Audio Open"},{id:"musicgen-medium",name:"MusicGen Medium"}]}};function a(e){return i[e]||null}function o(e){return(0,t.parseModelFromRegistry)(e,i)}function r(){return(0,t.getAllModelsFromRegistry)(i)}e.s(["getAllMusicModels",()=>r,"getMusicProvider",()=>a,"parseMusicModel",()=>o])},485683,e=>{"use strict";let t={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/moderations",authType:"apikey",authHeader:"bearer",models:[{id:"omni-moderation-latest",name:"Omni Moderation Latest"},{id:"text-moderation-latest",name:"Text Moderation Latest"}]}};function i(e){return t[e]||null}function a(e){if(!e)return{provider:null,model:null};for(let[i,a]of Object.entries(t))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};for(let[i,a]of Object.entries(t))if(a.models.some(t=>t.id===e))return{provider:i,model:e};return{provider:null,model:e}}function o(){let e=[];for(let[i,a]of Object.entries(t))for(let t of a.models)e.push({id:`${i}/${t.id}`,name:t.name,provider:i});return e}e.s(["getAllModerationModels",()=>o,"getModerationProvider",()=>i,"parseModerationModel",()=>a])},854319,e=>{"use strict";var t=e.i(699064);let i={comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"animatediff",name:"AnimateDiff"},{id:"svd-xt",name:"Stable Video Diffusion XT"}]},sdwebui:{id:"sdwebui",baseUrl:"http://localhost:7860",authType:"none",authHeader:"none",format:"sdwebui-video",models:[{id:"animatediff-webui",name:"AnimateDiff (WebUI)"}]}};function a(e){return i[e]||null}function o(e){return(0,t.parseModelFromRegistry)(e,i)}function r(){return(0,t.getAllModelsFromRegistry)(i)}e.s(["getAllVideoModels",()=>r,"getVideoProvider",()=>a,"parseVideoModel",()=>o])},970620,e=>e.a(async(t,i)=>{try{var a=e.i(224010),o=e.i(617325),r=e.i(878947),n=e.i(963219);e.i(245272);var s=e.i(385498),l=e.i(151205),d=e.i(186920),c=e.i(548941),p=e.i(235328),u=e.i(261189),m=e.i(573344),h=e.i(479103),f=e.i(501323),g=e.i(485683),b=e.i(854319),y=e.i(105575),v=e.i(828059),w=t([o,n]);[o,n]=w.then?(await w)():w;let I={ag:"antigravity",cc:"claude",cl:"cline",cu:"cursor",cx:"codex",gc:"gemini-cli",gh:"github",if:"iflow",kc:"kilocode",kmc:"kimi-coding",kr:"kiro",qw:"qwen"},S=["gpt-4o","gpt-4.1","gpt-4-vision","gpt-4-turbo","claude-3","claude-3.5","claude-3-5","claude-4","claude-opus","claude-sonnet","claude-haiku","gemini","gemma","llava","bakllava","pixtral","mistral-pixtral","qwen-vl","qvq","glm-4.6v","glm-4.5v","vision","multimodal"];function x(e){let t;return(t=String(e||"").toLowerCase())&&S.some(e=>t.includes(e))?{capabilities:{vision:!0},input_modalities:["text","image"],output_modalities:["text"]}:null}async function A(e,t={"Access-Control-Allow-Origin":a.CORS_ORIGIN}){try{let i={};try{i=await (0,c.getSettings)()}catch{}if(!0===i.requireAuthForModels&&!await (0,p.isAuthenticated)(e))return Response.json({error:{message:"Authentication required",type:"invalid_request_error",code:"invalid_api_key"}},{status:401});let{aliasToProviderId:a,providerIdToAlias:o}=function(){let e={},t={};for(let i of Object.values(n.AI_PROVIDERS)){let a=i?.id,o=i?.alias||a;a&&(e[a]=a,e[o]=a,t[a]||(t[a]=o))}for(let[t,i]of Object.entries(r.PROVIDER_ID_TO_ALIAS)){if(r.PROVIDER_MODELS[t]){e[t]=e[t]||i;continue}if(r.PROVIDER_MODELS[i]){e[i]=e[i]||t;continue}e[i]=e[i]||t}for(let t of Object.keys(r.PROVIDER_MODELS))e[t]||(e[t]=t);for(let[i,a]of Object.entries(e))t[a]||(t[a]=i);for(let[i,a]of Object.entries(I))e[i]||(e[i]=a),e[a]||(e[a]=a),t[a]||(t[a]=i);return{aliasToProviderId:e,providerIdToAlias:t}}(),w=new Set(Array.isArray(i.blockedProviders)?i.blockedProviders:[]),A=[];try{(A=await (0,s.getProviderConnections)()).length,A=A.filter(e=>!1!==e.isActive)}catch(e){console.log("Could not fetch providers, showing only combos/custom models")}let S=[];try{S=await (0,s.getProviderNodes)()}catch(e){console.log("Could not fetch provider nodes")}let k={},_={};for(let e of S)e.prefix&&(k[e.id]=e.prefix),e.type&&(_[e.id]=e.type);let E=[];try{E=await (0,l.getCombos)()}catch(e){console.log("Could not fetch combos")}let R=new Set;for(let e of A){let t=o[e.provider]||e.provider;R.add(t),R.add(e.provider)}let T=[],O=Math.floor(Date.now()/1e3);for(let e of E)!1!==e.isActive&&T.push({id:e.name,object:"model",created:O,owned_by:"combo",permission:[],root:e.name,parent:null,...e.context_length?{context_length:e.context_length}:{}});for(let[e,t]of Object.entries(r.PROVIDER_MODELS)){let i=a[e]||e,o=I[e]||i;if(w.has(e)||w.has(o)||!R.has(e)&&!R.has(o))continue;let r=v.REGISTRY[e]||v.REGISTRY[o],n=r?.defaultContextLength;for(let i of t){let t=`${e}/${i.id}`,a=x(t)||x(i.id),r=i.contextLength||n;if(T.push({id:t,object:"model",created:O,owned_by:o,permission:[],root:i.id,parent:null,...r?{context_length:r}:{},...a||{}}),o!==e){let e=`${o}/${i.id}`,a=x(e)||x(i.id);T.push({id:e,object:"model",created:O,owned_by:o,permission:[],root:i.id,parent:t,...r?{context_length:r}:{},...a||{}})}}}let P=e=>{if(0===R.size)return!1;let t=o[e]||e;return R.has(t)||R.has(e)};for(let e of(0,u.getAllEmbeddingModels)())P(e.provider)&&T.push({id:e.id,object:"model",created:O,owned_by:e.provider,type:"embedding",dimensions:e.dimensions});for(let e of(0,m.getAllImageModels)())P(e.provider)&&T.push({id:e.id,object:"model",created:O,owned_by:e.provider,type:"image",supported_sizes:e.supportedSizes});for(let e of(0,h.getAllRerankModels)())P(e.provider)&&T.push({id:e.id,object:"model",created:O,owned_by:e.provider,type:"rerank"});for(let e of(0,f.getAllAudioModels)())P(e.provider)&&T.push({id:e.id,object:"model",created:O,owned_by:e.provider,type:"audio",subtype:e.subtype});for(let e of(0,g.getAllModerationModels)())P(e.provider)&&T.push({id:e.id,object:"model",created:O,owned_by:e.provider,type:"moderation"});for(let e of(0,b.getAllVideoModels)())P(e.provider)&&T.push({id:e.id,object:"model",created:O,owned_by:e.provider,type:"video"});for(let e of(0,y.getAllMusicModels)())P(e.provider)&&T.push({id:e.id,object:"model",created:O,owned_by:e.provider,type:"music"});try{let e=await (0,d.getAllCustomModels)();for(let[t,i]of Object.entries(e)){let e=Array.isArray(i)?i.filter(e=>!!e&&"object"==typeof e&&!Array.isArray(e)):[],a=k[t],r=a||o[t]||t,n=I[r]||t,s=_[t];if(R.has(r)||R.has(n)||R.has(t)||s&&R.has(s))for(let t of e){let e,i="string"==typeof t.id?t.id:null;if(!i)continue;let o=`${r}/${i}`;if(T.some(e=>e.id===o))continue;let s=Array.isArray(t.supportedEndpoints)?t.supportedEndpoints:["chat"],l="string"==typeof t.apiFormat?t.apiFormat:"chat-completions";s.includes("embeddings")?e="embedding":s.includes("images")?e="image":s.includes("audio")&&(e="audio");let d="chat"===e?x(o)||x(i):null;if(T.push({id:o,object:"model",created:O,owned_by:n,permission:[],root:i,parent:null,custom:!0,...e?{type:e}:{},..."chat-completions"!==l?{api_format:l}:{},...s.length>1||!s.includes("chat")?{supported_endpoints:s}:{},...d||{}}),n!==r&&!a){let t=`${n}/${i}`;if(T.some(e=>e.id===t))continue;let a="chat"===e?x(t)||x(i):null;T.push({id:t,object:"model",created:O,owned_by:n,permission:[],root:i,parent:o,custom:!0,...e?{type:e}:{},...a||{}})}}}}catch(e){console.log("Could not fetch custom models")}return Response.json({object:"list",data:T},{headers:t})}catch(e){return console.log("Error fetching models:",e),Response.json({error:{message:e.message,type:"server_error"}},{status:500})}}e.s(["getUnifiedModelsResponse",()=>A]),i()}catch(e){i(e)}},!1),445568,e=>e.a(async(t,i)=>{try{var a=e.i(224010),o=e.i(970620),r=t([o]);async function n(){return new Response(null,{headers:a.CORS_HEADERS})}async function s(e){return(0,o.getUnifiedModelsResponse)(e,{"Content-Type":"application/json",...a.CORS_HEADERS})}[o]=r.then?(await r)():r,e.s(["GET",()=>s,"OPTIONS",()=>n]),i()}catch(e){i(e)}},!1),818066,e=>e.a(async(t,i)=>{try{var a=e.i(747909),o=e.i(174017),r=e.i(996250),n=e.i(759756),s=e.i(561916),l=e.i(174677),d=e.i(869741),c=e.i(316795),p=e.i(487718),u=e.i(995169),m=e.i(47587),h=e.i(666012),f=e.i(570101),g=e.i(626937),b=e.i(10372),y=e.i(193695);e.i(52474);var v=e.i(600220),w=e.i(445568),x=t([w]);[w]=x.then?(await x)():x;let S=new a.AppRouteRouteModule({definition:{kind:o.RouteKind.APP_ROUTE,page:"/api/v1/route",pathname:"/api/v1",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/v1/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:k,workUnitAsyncStorage:_,serverHooks:E}=S;function A(){return(0,r.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:_})}async function I(e,t,i){S.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/v1/route";a=a.replace(/\/index$/,"")||"/";let r=await S.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!r)return t.statusCode=400,t.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve()),null;let{buildId:w,params:x,nextConfig:A,parsedUrl:I,isDraftMode:k,prerenderManifest:_,routerServerContext:E,isOnDemandRevalidate:R,revalidateOnlyGenerated:T,resolvedPathname:O,clientReferenceManifest:P,serverActionsManifest:C}=r,F=(0,d.normalizeAppPath)(a),D=!!(_.dynamicRoutes[F]||_.routes[O]),U=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,I,!1):t.end("This page could not be found"),null);if(D&&!k){let e=!!_.routes[O],t=_.dynamicRoutes[F];if(t&&!1===t.fallback&&!e){if(A.experimental.adapterPath)return await U();throw new y.NoFallbackError}}let M=null;!D||S.isDev||k||(M=O,M="/index"===M?"/":M);let H=!0===S.isDev||!D,j=D&&!H;C&&P&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:P,serverActionsManifest:C});let L=e.method||"GET",N=(0,s.getTracer)(),W=N.getActiveScopeSpan(),B={params:x,prerenderManifest:_,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:A.cacheLife,waitUntil:i.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,i,a,o)=>S.onRequestError(e,t,a,o,E)},sharedContext:{buildId:w}},J=new c.NodeNextRequest(e),$=new c.NodeNextResponse(t),q=p.NextRequestAdapter.fromNodeNextRequest(J,(0,p.signalFromNodeResponse)(t));try{let r=async e=>S.handle(q,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let i=N.getRootSpanAttributes();if(!i)return;if(i.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${i.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let o=i.get("next.route");if(o){let t=`${L} ${o}`;e.setAttributes({"next.route":o,"http.route":o,"next.span_name":t}),e.updateName(t)}else e.updateName(`${L} ${a}`)}),l=!!(0,n.getRequestMeta)(e,"minimalMode"),d=async n=>{var s,d;let c=async({previousCacheEntry:o})=>{try{if(!l&&R&&T&&!o)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await r(n);e.fetchMetrics=B.renderOpts.fetchMetrics;let s=B.renderOpts.pendingWaitUntil;s&&i.waitUntil&&(i.waitUntil(s),s=void 0);let d=B.renderOpts.collectedTags;if(!D)return await (0,h.sendResponse)(J,$,a,B.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);d&&(t[b.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let i=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=b.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,o=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=b.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:i,expire:o}}}}catch(t){throw(null==o?void 0:o.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:R})},!1,E),t}},p=await S.handleResponse({req:e,nextConfig:A,cacheKey:M,routeKind:o.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:R,revalidateOnlyGenerated:T,responseGenerator:c,waitUntil:i.waitUntil,isMinimalMode:l});if(!D)return null;if((null==p||null==(s=p.value)?void 0:s.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(d=p.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",R?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),k&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,f.fromNodeOutgoingHttpHeaders)(p.value.headers);return l&&D||u.delete(b.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,g.getCacheControlHeader)(p.cacheControl)),await (0,h.sendResponse)(J,$,new Response(p.value.body,{headers:u,status:p.value.status||200})),null};W?await d(W):await N.withPropagatedContext(e.headers,()=>N.trace(u.BaseServerSpan.handleRequest,{spanName:`${L} ${a}`,kind:s.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},d))}catch(t){if(t instanceof y.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:F,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:R})},!1,E),D)throw t;return await (0,h.sendResponse)(J,$,new Response(null,{status:500})),null}}e.s(["handler",()=>I,"patchFetch",()=>A,"routeModule",()=>S,"serverHooks",()=>E,"workAsyncStorage",()=>k,"workUnitAsyncStorage",()=>_]),i()}catch(e){i(e)}},!1),606102,e=>{e.v(e=>Promise.resolve().then(()=>e(548941)))},789543,e=>{e.v(e=>Promise.resolve().then(()=>e(385498)))},579042,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_utils_apiKey_ts_fa113e09._.js"].map(t=>e.l(t))).then(()=>t(65448)))},49794,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_ts_65de0558._.js"].map(t=>e.l(t))).then(()=>t(404503)))},386305,e=>{e.v(e=>Promise.resolve().then(()=>e(878947)))},734680,e=>{e.v(e=>Promise.resolve().then(()=>e(125852)))}];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=%5Broot-of-the-server%5D__8466a619._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
module.exports=[918622,(e,t,i)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,i)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,i)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,i)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,i)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,i)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},442315,(e,t,i)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,i)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,i)=>{"use strict";var a=Object.defineProperty,o=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,s={},l={RequestCookies:()=>f,ResponseCookies:()=>g,parseCookie:()=>p,parseSetCookie:()=>u,stringifyCookie:()=>c};for(var d in l)a(s,d,{get:l[d],enumerable:!0});function c(e){var t;let i=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),a=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===i.length?a:`${a}; ${i.join("; ")}`}function p(e){let t=new Map;for(let i of e.split(/; */)){if(!i)continue;let e=i.indexOf("=");if(-1===e){t.set(i,"true");continue}let[a,o]=[i.slice(0,e),i.slice(e+1)];try{t.set(a,decodeURIComponent(null!=o?o:"true"))}catch{}}return t}function u(e){if(!e)return;let[[t,i],...a]=p(e),{domain:o,expires:r,httponly:n,maxage:s,path:l,samesite:d,secure:c,partitioned:u,priority:f}=Object.fromEntries(a.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,b,y={name:t,value:decodeURIComponent(i),domain:o,...r&&{expires:new Date(r)},...n&&{httpOnly:!0},..."string"==typeof s&&{maxAge:Number(s)},path:l,...d&&{sameSite:m.includes(g=(g=d).toLowerCase())?g:void 0},...c&&{secure:!0},...f&&{priority:h.includes(b=(b=f).toLowerCase())?b:void 0},...u&&{partitioned:!0}};let e={};for(let t in y)y[t]&&(e[t]=y[t]);return e}}t.exports=((e,t,i,s)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of r(t))n.call(e,i)||void 0===i||a(e,i,{get:()=>t[i],enumerable:!(s=o(t,i))||s.enumerable});return e})(a({},"__esModule",{value:!0}),s);var m=["strict","lax","none"],h=["low","medium","high"],f=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,i]of p(t))this._parsed.set(e,{name:e,value:i})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let i=Array.from(this._parsed);if(!e.length)return i.map(([e,t])=>t);let a="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return i.filter(([e])=>e===a).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,i]=1===e.length?[e[0].name,e[0].value]:e,a=this._parsed;return a.set(t,{name:t,value:i}),this._headers.set("cookie",Array.from(a).map(([e,t])=>c(t)).join("; ")),this}delete(e){let t=this._parsed,i=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>c(t)).join("; ")),i}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},g=class{constructor(e){var t,i,a;this._parsed=new Map,this._headers=e;const o=null!=(a=null!=(i=null==(t=e.getSetCookie)?void 0:t.call(e))?i:e.get("set-cookie"))?a:[];for(const e of Array.isArray(o)?o:function(e){if(!e)return[];var t,i,a,o,r,n=[],s=0;function l(){for(;s<e.length&&/\s/.test(e.charAt(s));)s+=1;return s<e.length}for(;s<e.length;){for(t=s,r=!1;l();)if(","===(i=e.charAt(s))){for(a=s,s+=1,l(),o=s;s<e.length&&"="!==(i=e.charAt(s))&&";"!==i&&","!==i;)s+=1;s<e.length&&"="===e.charAt(s)?(r=!0,s=o,n.push(e.substring(t,a)),t=s):s=a+1}else s+=1;(!r||s>=e.length)&&n.push(e.substring(t,e.length))}return n}(o)){const t=u(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let i=Array.from(this._parsed.values());if(!e.length)return i;let a="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return i.filter(e=>e.name===a)}has(e){return this._parsed.has(e)}set(...e){let[t,i,a]=1===e.length?[e[0].name,e[0].value,e[0]]:e,o=this._parsed;return o.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:i,...a})),function(e,t){for(let[,i]of(t.delete("set-cookie"),e)){let e=c(i);t.append("set-cookie",e)}}(o,this._headers),this}delete(...e){let[t,i]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...i,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(c).join("; ")}}},677850,e=>e.a(async(t,i)=>{try{let t=await e.y("zod");e.n(t),i()}catch(e){i(e)}},!0),663370,632802,477468,e=>{"use strict";let t=new TextEncoder,i=new TextDecoder;function a(...e){let t=new Uint8Array(e.reduce((e,{length:t})=>e+t,0)),i=0;for(let a of e)t.set(a,i),i+=a.length;return t}function o(e){let t=new Uint8Array(e.length);for(let i=0;i<e.length;i++){let a=e.charCodeAt(i);if(a>127)throw TypeError("non-ASCII string encountered in encode()");t[i]=a}return t}function r(e){if(Uint8Array.prototype.toBase64)return e.toBase64();let t=[];for(let i=0;i<e.length;i+=32768)t.push(String.fromCharCode.apply(null,e.subarray(i,i+32768)));return btoa(t.join(""))}function n(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(e);let t=atob(e),i=new Uint8Array(t.length);for(let e=0;e<t.length;e++)i[e]=t.charCodeAt(e);return i}function s(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64("string"==typeof e?e:i.decode(e),{alphabet:"base64url"});let t=e;t instanceof Uint8Array&&(t=i.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/");try{return n(t)}catch{throw TypeError("The input to be decoded is not correctly encoded.")}}function l(e){let i=e;return("string"==typeof i&&(i=t.encode(i)),Uint8Array.prototype.toBase64)?i.toBase64({alphabet:"base64url",omitPadding:!0}):r(i).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}e.s(["concat",()=>a,"decoder",0,i,"encode",()=>o,"encoder",0,t],632802),e.s(["decodeBase64",()=>n,"encodeBase64",()=>r],477468),e.s(["decode",()=>s,"encode",()=>l],663370)},865466,e=>{"use strict";class t extends Error{static code="ERR_JOSE_GENERIC";code="ERR_JOSE_GENERIC";constructor(e,t){super(e,t),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}}class i extends t{static code="ERR_JWT_CLAIM_VALIDATION_FAILED";code="ERR_JWT_CLAIM_VALIDATION_FAILED";claim;reason;payload;constructor(e,t,i="unspecified",a="unspecified"){super(e,{cause:{claim:i,reason:a,payload:t}}),this.claim=i,this.reason=a,this.payload=t}}class a extends t{static code="ERR_JWT_EXPIRED";code="ERR_JWT_EXPIRED";claim;reason;payload;constructor(e,t,i="unspecified",a="unspecified"){super(e,{cause:{claim:i,reason:a,payload:t}}),this.claim=i,this.reason=a,this.payload=t}}class o extends t{static code="ERR_JOSE_ALG_NOT_ALLOWED";code="ERR_JOSE_ALG_NOT_ALLOWED"}class r extends t{static code="ERR_JOSE_NOT_SUPPORTED";code="ERR_JOSE_NOT_SUPPORTED"}class n extends t{static code="ERR_JWS_INVALID";code="ERR_JWS_INVALID"}class s extends t{static code="ERR_JWT_INVALID";code="ERR_JWT_INVALID"}class l extends t{[Symbol.asyncIterator];static code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";constructor(e="multiple matching keys found in the JSON Web Key Set",t){super(e,t)}}class d extends t{static code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";constructor(e="signature verification failed",t){super(e,t)}}e.s(["JOSEAlgNotAllowed",()=>o,"JOSENotSupported",()=>r,"JWSInvalid",()=>n,"JWSSignatureVerificationFailed",()=>d,"JWTClaimValidationFailed",()=>i,"JWTExpired",()=>a,"JWTInvalid",()=>s])},177278,e=>{"use strict";function t(e){if("object"!=typeof e||null===e||"[object Object]"!==Object.prototype.toString.call(e))return!1;if(null===Object.getPrototypeOf(e))return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function i(...e){let t,a=e.filter(Boolean);if(0===a.length||1===a.length)return!0;for(let e of a){let i=Object.keys(e);if(!t||0===t.size){t=new Set(i);continue}for(let e of i){if(t.has(e))return!1;t.add(e)}}return!0}e.s(["isDisjoint",()=>i,"isJWK",0,e=>t(e)&&"string"==typeof e.kty,"isObject",()=>t,"isPrivateJWK",0,e=>"oct"!==e.kty&&("AKP"===e.kty&&"string"==typeof e.priv||"string"==typeof e.d),"isPublicJWK",0,e=>"oct"!==e.kty&&void 0===e.d&&void 0===e.priv,"isSecretJWK",0,e=>"oct"===e.kty&&"string"==typeof e.k])},709939,e=>{"use strict";var t=e.i(663370),i=e.i(293233),a=e.i(865466),o=e.i(632802),r=e.i(913658),n=e.i(177278),s=e.i(48215),l=e.i(252665),d=e.i(18083);async function c(e,c,p){if(!(0,n.isObject)(e))throw new a.JWSInvalid("Flattened JWS must be an object");if(void 0===e.protected&&void 0===e.header)throw new a.JWSInvalid('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==e.protected&&"string"!=typeof e.protected)throw new a.JWSInvalid("JWS Protected Header incorrect type");if(void 0===e.payload)throw new a.JWSInvalid("JWS Payload missing");if("string"!=typeof e.signature)throw new a.JWSInvalid("JWS Signature missing or incorrect type");if(void 0!==e.header&&!(0,n.isObject)(e.header))throw new a.JWSInvalid("JWS Unprotected Header incorrect type");let u={};if(e.protected)try{let i=(0,t.decode)(e.protected);u=JSON.parse(o.decoder.decode(i))}catch{throw new a.JWSInvalid("JWS Protected Header is invalid")}if(!(0,n.isDisjoint)(u,e.header))throw new a.JWSInvalid("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let m={...u,...e.header},h=(0,l.validateCrit)(a.JWSInvalid,new Map([["b64",!0]]),p?.crit,u,m),f=!0;if(h.has("b64")&&"boolean"!=typeof(f=u.b64))throw new a.JWSInvalid('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:g}=m;if("string"!=typeof g||!g)throw new a.JWSInvalid('JWS "alg" (Algorithm) Header Parameter missing or invalid');let b=p&&function(e,t){if(void 0!==t&&(!Array.isArray(t)||t.some(e=>"string"!=typeof e)))throw TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)}("algorithms",p.algorithms);if(b&&!b.has(g))throw new a.JOSEAlgNotAllowed('"alg" (Algorithm) Header Parameter value not allowed');if(f){if("string"!=typeof e.payload)throw new a.JWSInvalid("JWS Payload must be a string")}else if("string"!=typeof e.payload&&!(e.payload instanceof Uint8Array))throw new a.JWSInvalid("JWS Payload must be a string or an Uint8Array instance");let y=!1;"function"==typeof c&&(c=await c(u,e),y=!0),(0,s.checkKeyType)(g,c,"verify");let v=(0,o.concat)(void 0!==e.protected?(0,o.encode)(e.protected):new Uint8Array,(0,o.encode)("."),"string"==typeof e.payload?f?(0,o.encode)(e.payload):o.encoder.encode(e.payload):e.payload),w=(0,r.decodeBase64url)(e.signature,"signature",a.JWSInvalid),x=await (0,d.normalizeKey)(c,g);if(!await (0,i.verify)(g,x,w,v))throw new a.JWSSignatureVerificationFailed;let A={payload:f?(0,r.decodeBase64url)(e.payload,"payload",a.JWSInvalid):"string"==typeof e.payload?o.encoder.encode(e.payload):e.payload};return(void 0!==e.protected&&(A.protectedHeader=u),void 0!==e.header&&(A.unprotectedHeader=e.header),y)?{...A,key:x}:A}async function p(e,t,i){if(e instanceof Uint8Array&&(e=o.decoder.decode(e)),"string"!=typeof e)throw new a.JWSInvalid("Compact JWS must be a string or Uint8Array");let{0:r,1:n,2:s,length:l}=e.split(".");if(3!==l)throw new a.JWSInvalid("Invalid Compact JWS");let d=await c({payload:n,protected:r,signature:s},t,i),p={payload:d.payload,protectedHeader:d.protectedHeader};return"function"==typeof t?{...p,key:d.key}:p}var u=e.i(224472);async function m(e,t,i){let o=await p(e,t,i);if(o.protectedHeader.crit?.includes("b64")&&!1===o.protectedHeader.b64)throw new a.JWTInvalid("JWTs MUST NOT use unencoded payload");let r={payload:(0,u.validateClaimsSet)(o.protectedHeader,o.payload,i),protectedHeader:o.protectedHeader};return"function"==typeof t?{...r,key:o.key}:r}e.s(["jwtVerify",()=>m],709939)},235328,e=>{"use strict";var t=e.i(709939),i=e.i(493458);e.i(245272);var a=e.i(548941);async function o(a){let o=a.headers.get("authorization");if(o?.startsWith("Bearer ")){let t=o.slice(7);try{let{validateApiKey:i}=await e.A(734680);if(await i(t))return!0}catch{}}if(process.env.JWT_SECRET)try{let e=await (0,i.cookies)(),a=e.get("auth_token")?.value;if(a){let e=new TextEncoder().encode(process.env.JWT_SECRET);return await (0,t.jwtVerify)(a,e),!0}}catch{}return!1}async function r(){try{let e=await (0,a.getSettings)();if(!1===e.requireLogin||!e.password&&!process.env.INITIAL_PASSWORD)return!1;return!0}catch{return!0}}e.s(["isAuthRequired",()=>r,"isAuthenticated",()=>o])},224010,e=>{"use strict";let t=process.env.CORS_ORIGIN||"*";e.s(["CORS_HEADERS",0,{"Access-Control-Allow-Origin":t,"Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, OPTIONS","Access-Control-Allow-Headers":"Content-Type, Authorization, x-api-key, anthropic-version"},"CORS_ORIGIN",0,t])},102835,e=>e.a(async(t,i)=>{try{var a=e.i(677850),o=t([a]);[a]=o.then?(await o)():o;let n=a.z.object({id:a.z.string().min(1),alias:a.z.string().min(1),name:a.z.string().min(1),icon:a.z.string().min(1),color:a.z.string().regex(/^#[0-9A-Fa-f]{6}$/,"Must be a valid hex color (#RRGGBB)"),textIcon:a.z.string().optional(),website:a.z.string().url().optional(),passthroughModels:a.z.boolean().optional(),deprecated:a.z.boolean().optional(),deprecationReason:a.z.string().optional(),hasFree:a.z.boolean().optional(),freeNote:a.z.string().optional(),authHint:a.z.string().optional(),apiHint:a.z.string().optional()}),s=a.z.record(a.z.string(),n);function r(e,t){let i=s.safeParse(e);if(!i.success){let e=i.error.issues.map(e=>` ${e.path.join(".")}: ${e.message}`).join("\n");throw console.error(`[PROVIDER VALIDATION] ${t} has invalid entries:
|
|
2
|
-
${e}`),Error(`Provider validation failed for ${t}`)}}e.s(["validateProviders",()=>r]),i()}catch(e){i(e)}},!1),963219,e=>e.a(async(t,i)=>{try{var a=e.i(102835),o=t([a]);[a]=o.then?(await o)():o;let s={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"}},l={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"}},d={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 (Google AI Studio)",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev",hasFree:!0,freeNote:"Free forever: 1,500 req/day for Gemini 2.5 Flash — no credit card, get key at aistudio.google.com"},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",hasFree:!0,freeNote:"$25 signup credits + 3 permanently free models: Llama 3.3 70B, Vision, DeepSeek-R1 distill"},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-...)"},"opencode-zen":{id:"opencode-zen",alias:"opencode-zen",name:"OpenCode Zen",icon:"opencode",color:"#6366f1",website:"https://opencode.ai/zen"},"opencode-go":{id:"opencode-go",alias:"opencode-go",name:"OpenCode Go",icon:"opencode",color:"#6366f1",website:"https://opencode.ai/zen/go"},alibaba:{id:"alibaba",alias:"ali",name:"Alibaba Cloud (DashScope)",icon:"cloud_queue",color:"#FF6600",textIcon:"AL",website:"https://dashscope-intl.aliyuncs.com",hasFree:!1},longcat:{id:"longcat",alias:"lc",name:"LongCat AI",icon:"auto_awesome",color:"#FF6B9D",textIcon:"LC",website:"https://longcat.chat",hasFree:!0,freeNote:"50M tokens/day (Flash-Lite) + 500K/day (Chat/Thinking) — 100% free while public beta"},pollinations:{id:"pollinations",alias:"pol",name:"Pollinations AI",icon:"local_florist",color:"#4CAF50",textIcon:"PO",website:"https://pollinations.ai",hasFree:!0,freeNote:"No API key needed — access GPT-5, Claude, Gemini, DeepSeek V3, Llama 4 free (1 req/15s)"},puter:{id:"puter",alias:"pu",name:"Puter AI",icon:"cloud_circle",color:"#6366F1",textIcon:"PU",website:"https://puter.com",hasFree:!0,freeNote:"500+ models (GPT-5, Claude Opus 4, Gemini 3 Pro, Grok 4, DeepSeek V3...) — Users pay via free Puter account",passthroughModels:!0,authHint:"Get token at puter.com/dashboard → Copy Auth Token"},"cloudflare-ai":{id:"cloudflare-ai",alias:"cf",name:"Cloudflare Workers AI",icon:"cloud",color:"#F48120",textIcon:"CF",website:"https://developers.cloudflare.com/workers-ai/",hasFree:!0,freeNote:"Free 10K Neurons/day: ~150 LLM responses or 500s Whisper audio — edge inference globally",authHint:"Requires API Token AND Account ID (found at dash.cloudflare.com)"},scaleway:{id:"scaleway",alias:"scw",name:"Scaleway AI",icon:"cloud",color:"#4F0599",textIcon:"SCW",website:"https://www.scaleway.com/en/ai/generative-apis/",hasFree:!0,freeNote:"1M free tokens for new accounts — EU/GDPR compliant (Paris), Qwen3 235B & Llama 70B"},aimlapi:{id:"aimlapi",alias:"aiml",name:"AI/ML API",icon:"hub",color:"#6366F1",textIcon:"AI",website:"https://aimlapi.com",hasFree:!0,freeNote:"$0.025/day free credits — 200+ models (GPT-4o, Claude, Gemini, Llama) via single endpoint",passthroughModels:!0}},c="openai-compatible-",p="anthropic-compatible-";function r(e){return"string"==typeof e&&e.startsWith(c)}function n(e){return"string"==typeof e&&e.startsWith(p)}let u={...s,...l,...d},m=Object.values(u).reduce((e,t)=>(e[t.alias]=t.id,e),{});Object.values(u).reduce((e,t)=>(e[t.id]=t.alias,e),{}),(0,a.validateProviders)(s,"FREE_PROVIDERS"),(0,a.validateProviders)(l,"OAUTH_PROVIDERS"),(0,a.validateProviders)(d,"APIKEY_PROVIDERS"),e.s(["AI_PROVIDERS",0,u,"ALIAS_TO_ID",0,m,"ANTHROPIC_COMPATIBLE_PREFIX",0,p,"APIKEY_PROVIDERS",0,d,"FREE_PROVIDERS",0,s,"OAUTH_PROVIDERS",0,l,"OPENAI_COMPATIBLE_PREFIX",0,c,"isAnthropicCompatibleProvider",()=>n,"isOpenAICompatibleProvider",()=>r]),i()}catch(e){i(e)}},!1),617325,e=>e.a(async(t,i)=>{try{var a=e.i(878947),o=e.i(963219),r=t([o]);[o]=r.then?(await r)():r,Object.entries(o.AI_PROVIDERS).filter(([,e])=>e.passthroughModels).map(([e])=>e);let n=Object.entries(a.PROVIDER_MODELS).flatMap(([e,t])=>t.map(t=>({provider:e,model:t.id,name:t.name})));e.s(["AI_MODELS",0,n]),i()}catch(e){i(e)}},!1),261189,e=>{"use strict";function t(e){if(!e.prefix||!e.baseUrl)throw Error("Invalid provider_node: missing prefix or baseUrl");if(e.prefix.includes("/")||e.prefix.includes(" "))throw Error(`Invalid provider_node prefix "${e.prefix}": must not contain / or spaces`);let t=e.baseUrl.replace(/\/+$/,"");return{id:e.prefix,baseUrl:`${t}/embeddings`,authType:"none",authHeader:"none",models:[]}}let i={nebius:{id:"nebius",baseUrl:"https://api.tokenfactory.nebius.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",dimensions:4096}]},openai:{id:"openai",baseUrl:"https://api.openai.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"text-embedding-3-small",name:"Text Embedding 3 Small",dimensions:1536},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",dimensions:3072},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",dimensions:1536}]},mistral:{id:"mistral",baseUrl:"https://api.mistral.ai/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"mistral-embed",name:"Mistral Embed",dimensions:1024}]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"BAAI/bge-large-en-v1.5",name:"BGE Large EN v1.5",dimensions:1024},{id:"togethercomputer/m2-bert-80M-8k-retrieval",name:"M2 BERT 80M 8K",dimensions:768}]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nomic-ai/nomic-embed-text-v1.5",name:"Nomic Embed Text v1.5",dimensions:768}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nvidia/nv-embedqa-e5-v5",name:"NV EmbedQA E5 v5",dimensions:1024}]}};function a(e){return i[e]||null}function o(e,t){if(!e)return{provider:null,model:null};let a=e.indexOf("/");if(a>0){for(let[t]of Object.entries(i))if(e.startsWith(t+"/"))return{provider:t,model:e.slice(t.length+1)};if(t){for(let i of t)if(e.startsWith(i.id+"/"))return{provider:i.id,model:e.slice(i.id.length+1)}}return{provider:e.slice(0,a),model:e.slice(a+1)}}for(let[t,a]of Object.entries(i))if(a.models.some(t=>t.id===e))return{provider:t,model:e};return{provider:null,model:e}}function r(){let e=[];for(let[t,a]of Object.entries(i))for(let i of a.models)e.push({id:`${t}/${i.id}`,name:i.name,provider:t,dimensions:i.dimensions});return e}e.s(["buildDynamicEmbeddingProvider",()=>t,"getAllEmbeddingModels",()=>r,"getEmbeddingProvider",()=>a,"parseEmbeddingModel",()=>o])},573344,e=>{"use strict";let t={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"gpt-image-1",name:"GPT Image 1"},{id:"dall-e-3",name:"DALL-E 3"},{id:"dall-e-2",name:"DALL-E 2"}],supportedSizes:["1024x1024","1024x1792","1792x1024","256x256","512x512"]},xai:{id:"xai",baseUrl:"https://api.x.ai/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"grok-2-image-1212",name:"Grok 2 Image"}],supportedSizes:["1024x1024"]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"black-forest-labs/FLUX.1.1-pro",name:"FLUX 1.1 Pro"},{id:"black-forest-labs/FLUX.1-schnell-Free",name:"FLUX 1 Schnell (Free)"},{id:"stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0"}],supportedSizes:["1024x1024","512x512"]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"accounts/fireworks/models/flux-1-dev-fp8",name:"FLUX 1 Dev FP8"},{id:"accounts/fireworks/models/stable-diffusion-xl-1024-v1-0",name:"SDXL 1024 v1.0"}],supportedSizes:["1024x1024","512x512"]},antigravity:{id:"antigravity",baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"oauth",authHeader:"bearer",format:"gemini-image",models:[{id:"gemini-2.5-flash-preview-image-generation",name:"Gemini 2.5 Flash Image"},{id:"gemini-3.1-flash-image-preview",name:"Gemini 3.1 Flash Image Preview"}],supportedSizes:["1024x1024"]},nebius:{id:"nebius",baseUrl:"https://api.tokenfactory.nebius.com/v1/images/generations",fallbackUrl:"https://api.studio.nebius.com/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"black-forest-labs/flux-schnell",name:"FLUX.1 Schnell"},{id:"black-forest-labs/flux-dev",name:"FLUX.1 Dev"}],supportedSizes:["1024x1024","512x512"]},hyperbolic:{id:"hyperbolic",baseUrl:"https://api.hyperbolic.xyz/v1/image/generation",authType:"apikey",authHeader:"bearer",format:"hyperbolic",models:[{id:"SDXL1.0-base",name:"SDXL 1.0 Base"},{id:"SD2",name:"Stable Diffusion 2"},{id:"FLUX.1-dev",name:"FLUX.1 Dev"}],supportedSizes:["1024x1024","512x512"]},nanobanana:{id:"nanobanana",baseUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/generate",proUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/generate-pro",statusUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/record-info",authType:"apikey",authHeader:"bearer",format:"nanobanana",models:[{id:"nanobanana-flash",name:"NanoBanana Flash (Gemini 2.5 Flash)"},{id:"nanobanana-pro",name:"NanoBanana Pro (Gemini 3 Pro)"}],supportedSizes:["1024x1024","1024x1280","1024x1536","1536x1024","1280x1024"]},sdwebui:{id:"sdwebui",baseUrl:"http://localhost:7860/sdapi/v1/txt2img",authType:"none",authHeader:"none",format:"sdwebui",models:[{id:"stable-diffusion-v1-5",name:"Stable Diffusion v1.5"},{id:"sdxl-base-1.0",name:"SDXL Base 1.0"}],supportedSizes:["512x512","768x768","1024x1024"]},comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"flux-dev",name:"FLUX Dev"},{id:"sdxl",name:"SDXL"}],supportedSizes:["512x512","768x768","1024x1024"]}};function i(e){return t[e]||null}function a(e){if(!e)return{provider:null,model:null};for(let[i,a]of Object.entries(t))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};for(let[i,a]of Object.entries(t))if(a.models.some(t=>t.id===e))return{provider:i,model:e};return{provider:null,model:e}}function o(){let e=[];for(let[i,a]of Object.entries(t))for(let t of a.models)e.push({id:`${i}/${t.id}`,name:t.name,provider:i,supportedSizes:a.supportedSizes});return e}e.s(["getAllImageModels",()=>o,"getImageProvider",()=>i,"parseImageModel",()=>a])},699064,e=>{"use strict";function t(e,t){if(!e)return{provider:null,model:null};for(let[i]of Object.entries(t))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};for(let[i,a]of Object.entries(t))if(a.models.some(t=>t.id===e))return{provider:i,model:e};return{provider:null,model:e}}function i(e,t){let i=[];for(let[a,o]of Object.entries(e)){let e=t?t(a,o):{};for(let t of o.models)i.push({id:`${a}/${t.id}`,name:t.name,provider:a,...e})}return i}function a(e,t){if("none"===e.authType||"none"===e.authHeader||!t)return{};switch(e.authHeader){case"token":return{Authorization:`Token ${t}`};case"xi-api-key":return{"xi-api-key":t};case"x-api-key":return{"x-api-key":t};default:return{Authorization:`Bearer ${t}`}}}e.s(["buildAuthHeaders",()=>a,"getAllModelsFromRegistry",()=>i,"parseModelFromRegistry",()=>t])},501323,e=>{"use strict";let t={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",models:[{id:"whisper-1",name:"Whisper 1"},{id:"gpt-4o-transcription",name:"GPT-4o Transcription"}]},groq:{id:"groq",baseUrl:"https://api.groq.com/openai/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",models:[{id:"whisper-large-v3",name:"Whisper Large v3"},{id:"whisper-large-v3-turbo",name:"Whisper Large v3 Turbo"},{id:"distil-whisper-large-v3-en",name:"Distil Whisper Large v3 EN"}]},deepgram:{id:"deepgram",baseUrl:"https://api.deepgram.com/v1/listen",authType:"apikey",authHeader:"token",format:"deepgram",models:[{id:"nova-3",name:"Nova 3"},{id:"nova-2",name:"Nova 2"},{id:"whisper-large",name:"Whisper Large"}]},assemblyai:{id:"assemblyai",baseUrl:"https://api.assemblyai.com/v2/transcript",authType:"apikey",authHeader:"bearer",async:!0,format:"assemblyai",models:[{id:"universal-3-pro",name:"Universal 3 Pro"},{id:"universal-2",name:"Universal 2"}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"nvidia-asr",models:[{id:"nvidia/parakeet-ctc-1.1b-asr",name:"Parakeet CTC 1.1B"}]},huggingface:{id:"huggingface",baseUrl:"https://api-inference.huggingface.co/models",authType:"apikey",authHeader:"bearer",format:"huggingface-asr",models:[{id:"openai/whisper-large-v3",name:"Whisper Large v3 (HF)"},{id:"openai/whisper-small",name:"Whisper Small (HF)"}]},qwen:{id:"qwen",baseUrl:"http://localhost:8000/v1/audio/transcriptions",authType:"none",authHeader:"none",format:"openai",models:[{id:"qwen3-asr",name:"Qwen3 ASR"}]}},i={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",models:[{id:"tts-1",name:"TTS 1"},{id:"tts-1-hd",name:"TTS 1 HD"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS"}]},hyperbolic:{id:"hyperbolic",baseUrl:"https://api.hyperbolic.xyz/v1/audio/generation",authType:"apikey",authHeader:"bearer",format:"hyperbolic",models:[{id:"melo-tts",name:"Melo TTS"}]},deepgram:{id:"deepgram",baseUrl:"https://api.deepgram.com/v1/speak",authType:"apikey",authHeader:"token",format:"deepgram",models:[{id:"aura-asteria-en",name:"Aura Asteria (EN)"},{id:"aura-luna-en",name:"Aura Luna (EN)"},{id:"aura-stella-en",name:"Aura Stella (EN)"}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"nvidia-tts",models:[{id:"nvidia/fastpitch",name:"FastPitch"},{id:"nvidia/tacotron2",name:"Tacotron2"}]},elevenlabs:{id:"elevenlabs",baseUrl:"https://api.elevenlabs.io/v1/text-to-speech",authType:"apikey",authHeader:"xi-api-key",format:"elevenlabs",models:[{id:"eleven_multilingual_v2",name:"Eleven Multilingual v2"},{id:"eleven_turbo_v2_5",name:"Eleven Turbo v2.5"}]},huggingface:{id:"huggingface",baseUrl:"https://api-inference.huggingface.co/models",authType:"apikey",authHeader:"bearer",format:"huggingface-tts",models:[{id:"facebook/mms-tts-eng",name:"MMS TTS English"},{id:"microsoft/speecht5_tts",name:"SpeechT5 TTS"}]},coqui:{id:"coqui",baseUrl:"http://localhost:5002/api/tts",authType:"none",authHeader:"none",format:"coqui",models:[{id:"tts_models/en/ljspeech/tacotron2-DDC",name:"Tacotron2 DDC (LJSpeech)"}]},tortoise:{id:"tortoise",baseUrl:"http://localhost:5000/api/tts",authType:"none",authHeader:"none",format:"tortoise",models:[{id:"tortoise-v2",name:"Tortoise v2"}]},qwen:{id:"qwen",baseUrl:"http://localhost:8000/v1/audio/speech",authType:"none",authHeader:"none",format:"openai",models:[{id:"qwen3-tts",name:"Qwen3 TTS"}]},inworld:{id:"inworld",baseUrl:"https://api.inworld.ai/tts/v1/voice",authType:"apikey",authHeader:"basic",format:"inworld",models:[{id:"inworld-tts-1.5-max",name:"Inworld TTS 1.5 Max"},{id:"inworld-tts-1.5-mini",name:"Inworld TTS 1.5 Mini"}]},cartesia:{id:"cartesia",baseUrl:"https://api.cartesia.ai/tts/bytes",authType:"apikey",authHeader:"x-api-key",format:"cartesia",models:[{id:"sonic-2",name:"Sonic 2"},{id:"sonic-3",name:"Sonic 3"}]},playht:{id:"playht",baseUrl:"https://api.play.ht/api/v2/tts/stream",authType:"apikey",authHeader:"playht",format:"playht",models:[{id:"PlayDialog",name:"PlayDialog"},{id:"Play3.0-mini",name:"Play3.0 Mini"}]}};function a(e){return t[e]||null}function o(e){return i[e]||null}function r(e,t){if(!e.prefix||!e.baseUrl)throw Error("Invalid provider_node: missing prefix or baseUrl");let i=e.baseUrl.replace(/\/+$/,"");return{id:e.prefix,baseUrl:`${i}${t}`,authType:"none",authHeader:"none",models:[]}}function n(e,t,i){if(!e)return{provider:null,model:null};for(let[i]of Object.entries(t))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};for(let[i,a]of Object.entries(t))if(a.models.some(t=>t.id===e))return{provider:i,model:e};if(i){for(let t of i)if(e.startsWith(t.id+"/"))return{provider:t.id,model:e.slice(t.id.length+1)}}return{provider:null,model:e}}function s(e,i){return n(e,t,i)}function l(e,t){return n(e,i,t)}function d(){let e=[];for(let[i,a]of Object.entries(t))for(let t of a.models)e.push({id:`${i}/${t.id}`,name:t.name,provider:i,subtype:"transcription"});for(let[t,a]of Object.entries(i))for(let i of a.models)e.push({id:`${t}/${i.id}`,name:i.name,provider:t,subtype:"speech"});return e}e.s(["buildDynamicAudioProvider",()=>r,"getAllAudioModels",()=>d,"getSpeechProvider",()=>o,"getTranscriptionProvider",()=>a,"parseSpeechModel",()=>l,"parseTranscriptionModel",()=>s])},479103,e=>{"use strict";let t={cohere:{id:"cohere",baseUrl:"https://api.cohere.com/v2/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"rerank-v3.5",name:"Rerank v3.5"},{id:"rerank-english-v3.0",name:"Rerank English v3.0"},{id:"rerank-multilingual-v3.0",name:"Rerank Multilingual v3.0"}]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"Salesforce/Llama-Rank-V2",name:"Llama Rank V2"}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/ranking",authType:"apikey",authHeader:"bearer",format:"nvidia",models:[{id:"nvidia/nv-rerankqa-mistral-4b-v3",name:"NV RerankQA Mistral 4B v3"}]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"accounts/fireworks/models/nomic-rerank-v1",name:"Nomic Rerank v1"}]}};function i(e){return t[e]||null}function a(e){if(!e)return{provider:null,model:null};for(let[i,a]of Object.entries(t))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};for(let[i,a]of Object.entries(t))if(a.models.some(t=>t.id===e))return{provider:i,model:e};return{provider:null,model:e}}function o(){let e=[];for(let[i,a]of Object.entries(t))for(let t of a.models)e.push({id:`${i}/${t.id}`,name:t.name,provider:i});return e}e.s(["getAllRerankModels",()=>o,"getRerankProvider",()=>i,"parseRerankModel",()=>a])},105575,e=>{"use strict";var t=e.i(699064);let i={comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"stable-audio-open",name:"Stable Audio Open"},{id:"musicgen-medium",name:"MusicGen Medium"}]}};function a(e){return i[e]||null}function o(e){return(0,t.parseModelFromRegistry)(e,i)}function r(){return(0,t.getAllModelsFromRegistry)(i)}e.s(["getAllMusicModels",()=>r,"getMusicProvider",()=>a,"parseMusicModel",()=>o])},485683,e=>{"use strict";let t={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/moderations",authType:"apikey",authHeader:"bearer",models:[{id:"omni-moderation-latest",name:"Omni Moderation Latest"},{id:"text-moderation-latest",name:"Text Moderation Latest"}]}};function i(e){return t[e]||null}function a(e){if(!e)return{provider:null,model:null};for(let[i,a]of Object.entries(t))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};for(let[i,a]of Object.entries(t))if(a.models.some(t=>t.id===e))return{provider:i,model:e};return{provider:null,model:e}}function o(){let e=[];for(let[i,a]of Object.entries(t))for(let t of a.models)e.push({id:`${i}/${t.id}`,name:t.name,provider:i});return e}e.s(["getAllModerationModels",()=>o,"getModerationProvider",()=>i,"parseModerationModel",()=>a])},854319,e=>{"use strict";var t=e.i(699064);let i={comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"animatediff",name:"AnimateDiff"},{id:"svd-xt",name:"Stable Video Diffusion XT"}]},sdwebui:{id:"sdwebui",baseUrl:"http://localhost:7860",authType:"none",authHeader:"none",format:"sdwebui-video",models:[{id:"animatediff-webui",name:"AnimateDiff (WebUI)"}]}};function a(e){return i[e]||null}function o(e){return(0,t.parseModelFromRegistry)(e,i)}function r(){return(0,t.getAllModelsFromRegistry)(i)}e.s(["getAllVideoModels",()=>r,"getVideoProvider",()=>a,"parseVideoModel",()=>o])},970620,e=>e.a(async(t,i)=>{try{var a=e.i(224010),o=e.i(617325),r=e.i(878947),n=e.i(963219);e.i(245272);var s=e.i(385498),l=e.i(151205),d=e.i(186920),c=e.i(548941),p=e.i(235328),u=e.i(261189),m=e.i(573344),h=e.i(479103),f=e.i(501323),g=e.i(485683),b=e.i(854319),y=e.i(105575),v=e.i(828059),w=t([o,n]);[o,n]=w.then?(await w)():w;let A={ag:"antigravity",cc:"claude",cl:"cline",cu:"cursor",cx:"codex",gc:"gemini-cli",gh:"github",if:"iflow",kc:"kilocode",kmc:"kimi-coding",kr:"kiro",qw:"qwen"};async function x(e,t={"Access-Control-Allow-Origin":a.CORS_ORIGIN}){try{let i={};try{i=await (0,c.getSettings)()}catch{}if(!0===i.requireAuthForModels&&!await (0,p.isAuthenticated)(e))return Response.json({error:{message:"Authentication required",type:"invalid_request_error",code:"invalid_api_key"}},{status:401});let{aliasToProviderId:a,providerIdToAlias:o}=function(){let e={},t={};for(let i of Object.values(n.AI_PROVIDERS)){let a=i?.id,o=i?.alias||a;a&&(e[a]=a,e[o]=a,t[a]||(t[a]=o))}for(let[t,i]of Object.entries(r.PROVIDER_ID_TO_ALIAS)){if(r.PROVIDER_MODELS[t]){e[t]=e[t]||i;continue}if(r.PROVIDER_MODELS[i]){e[i]=e[i]||t;continue}e[i]=e[i]||t}for(let t of Object.keys(r.PROVIDER_MODELS))e[t]||(e[t]=t);for(let[i,a]of Object.entries(e))t[a]||(t[a]=i);for(let[i,a]of Object.entries(A))e[i]||(e[i]=a),e[a]||(e[a]=a),t[a]||(t[a]=i);return{aliasToProviderId:e,providerIdToAlias:t}}(),w=new Set(Array.isArray(i.blockedProviders)?i.blockedProviders:[]),x=[];try{(x=await (0,s.getProviderConnections)()).length,x=x.filter(e=>!1!==e.isActive)}catch(e){console.log("Could not fetch providers, showing only combos/custom models")}let I=[];try{I=await (0,s.getProviderNodes)()}catch(e){console.log("Could not fetch provider nodes")}let S={},k={};for(let e of I)e.prefix&&(S[e.id]=e.prefix),e.type&&(k[e.id]=e.type);let _=[];try{_=await (0,l.getCombos)()}catch(e){console.log("Could not fetch combos")}let E=new Set;for(let e of x){let t=o[e.provider]||e.provider;E.add(t),E.add(e.provider)}let R=[],T=Math.floor(Date.now()/1e3);for(let e of _)!1!==e.isActive&&R.push({id:e.name,object:"model",created:T,owned_by:"combo",permission:[],root:e.name,parent:null,...e.context_length?{context_length:e.context_length}:{}});for(let[e,t]of Object.entries(r.PROVIDER_MODELS)){let i=a[e]||e,o=A[e]||i;if(w.has(e)||w.has(o)||!E.has(e)&&!E.has(o))continue;let r=v.REGISTRY[e]||v.REGISTRY[o],n=r?.defaultContextLength;for(let i of t){let t=`${e}/${i.id}`,a=i.contextLength||n;R.push({id:t,object:"model",created:T,owned_by:o,permission:[],root:i.id,parent:null,...a?{context_length:a}:{}}),o!==e&&R.push({id:`${o}/${i.id}`,object:"model",created:T,owned_by:o,permission:[],root:i.id,parent:t,...a?{context_length:a}:{}})}}let O=e=>{if(0===E.size)return!1;let t=o[e]||e;return E.has(t)||E.has(e)};for(let e of(0,u.getAllEmbeddingModels)())O(e.provider)&&R.push({id:e.id,object:"model",created:T,owned_by:e.provider,type:"embedding",dimensions:e.dimensions});for(let e of(0,m.getAllImageModels)())O(e.provider)&&R.push({id:e.id,object:"model",created:T,owned_by:e.provider,type:"image",supported_sizes:e.supportedSizes});for(let e of(0,h.getAllRerankModels)())O(e.provider)&&R.push({id:e.id,object:"model",created:T,owned_by:e.provider,type:"rerank"});for(let e of(0,f.getAllAudioModels)())O(e.provider)&&R.push({id:e.id,object:"model",created:T,owned_by:e.provider,type:"audio",subtype:e.subtype});for(let e of(0,g.getAllModerationModels)())O(e.provider)&&R.push({id:e.id,object:"model",created:T,owned_by:e.provider,type:"moderation"});for(let e of(0,b.getAllVideoModels)())O(e.provider)&&R.push({id:e.id,object:"model",created:T,owned_by:e.provider,type:"video"});for(let e of(0,y.getAllMusicModels)())O(e.provider)&&R.push({id:e.id,object:"model",created:T,owned_by:e.provider,type:"music"});try{let e=await (0,d.getAllCustomModels)();for(let[t,i]of Object.entries(e)){let e=Array.isArray(i)?i.filter(e=>!!e&&"object"==typeof e&&!Array.isArray(e)):[],a=S[t],r=a||o[t]||t,n=A[r]||t,s=k[t];if(E.has(r)||E.has(n)||E.has(t)||s&&E.has(s))for(let t of e){let e,i="string"==typeof t.id?t.id:null;if(!i)continue;let o=`${r}/${i}`;if(R.some(e=>e.id===o))continue;let s=Array.isArray(t.supportedEndpoints)?t.supportedEndpoints:["chat"],l="string"==typeof t.apiFormat?t.apiFormat:"chat-completions";if(s.includes("embeddings")?e="embedding":s.includes("images")?e="image":s.includes("audio")&&(e="audio"),R.push({id:o,object:"model",created:T,owned_by:n,permission:[],root:i,parent:null,custom:!0,...e?{type:e}:{},..."chat-completions"!==l?{api_format:l}:{},...s.length>1||!s.includes("chat")?{supported_endpoints:s}:{}}),n!==r&&!a){let t=`${n}/${i}`;if(R.some(e=>e.id===t))continue;R.push({id:t,object:"model",created:T,owned_by:n,permission:[],root:i,parent:o,custom:!0,...e?{type:e}:{}})}}}}catch(e){console.log("Could not fetch custom models")}return Response.json({object:"list",data:R},{headers:t})}catch(e){return console.log("Error fetching models:",e),Response.json({error:{message:e.message,type:"server_error"}},{status:500})}}e.s(["getUnifiedModelsResponse",()=>x]),i()}catch(e){i(e)}},!1),189,e=>e.a(async(t,i)=>{try{var a=e.i(224010),o=e.i(970620),r=t([o]);async function n(){return new Response(null,{headers:{"Access-Control-Allow-Origin":a.CORS_ORIGIN,"Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function s(e){return(0,o.getUnifiedModelsResponse)(e)}[o]=r.then?(await r)():r,e.s(["GET",()=>s,"OPTIONS",()=>n]),i()}catch(e){i(e)}},!1),960819,e=>e.a(async(t,i)=>{try{var a=e.i(747909),o=e.i(174017),r=e.i(996250),n=e.i(759756),s=e.i(561916),l=e.i(174677),d=e.i(869741),c=e.i(316795),p=e.i(487718),u=e.i(995169),m=e.i(47587),h=e.i(666012),f=e.i(570101),g=e.i(626937),b=e.i(10372),y=e.i(193695);e.i(52474);var v=e.i(600220),w=e.i(189),x=t([w]);[w]=x.then?(await x)():x;let S=new a.AppRouteRouteModule({definition:{kind:o.RouteKind.APP_ROUTE,page:"/api/v1/models/route",pathname:"/api/v1/models",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/v1/models/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:k,workUnitAsyncStorage:_,serverHooks:E}=S;function A(){return(0,r.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:_})}async function I(e,t,i){S.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/v1/models/route";a=a.replace(/\/index$/,"")||"/";let r=await S.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!r)return t.statusCode=400,t.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve()),null;let{buildId:w,params:x,nextConfig:A,parsedUrl:I,isDraftMode:k,prerenderManifest:_,routerServerContext:E,isOnDemandRevalidate:R,revalidateOnlyGenerated:T,resolvedPathname:O,clientReferenceManifest:P,serverActionsManifest:C}=r,F=(0,d.normalizeAppPath)(a),D=!!(_.dynamicRoutes[F]||_.routes[O]),M=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,I,!1):t.end("This page could not be found"),null);if(D&&!k){let e=!!_.routes[O],t=_.dynamicRoutes[F];if(t&&!1===t.fallback&&!e){if(A.experimental.adapterPath)return await M();throw new y.NoFallbackError}}let U=null;!D||S.isDev||k||(U=O,U="/index"===U?"/":U);let H=!0===S.isDev||!D,j=D&&!H;C&&P&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:P,serverActionsManifest:C});let L=e.method||"GET",N=(0,s.getTracer)(),W=N.getActiveScopeSpan(),B={params:x,prerenderManifest:_,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:A.cacheLife,waitUntil:i.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,i,a,o)=>S.onRequestError(e,t,a,o,E)},sharedContext:{buildId:w}},J=new c.NodeNextRequest(e),$=new c.NodeNextResponse(t),G=p.NextRequestAdapter.fromNodeNextRequest(J,(0,p.signalFromNodeResponse)(t));try{let r=async e=>S.handle(G,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let i=N.getRootSpanAttributes();if(!i)return;if(i.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${i.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let o=i.get("next.route");if(o){let t=`${L} ${o}`;e.setAttributes({"next.route":o,"http.route":o,"next.span_name":t}),e.updateName(t)}else e.updateName(`${L} ${a}`)}),l=!!(0,n.getRequestMeta)(e,"minimalMode"),d=async n=>{var s,d;let c=async({previousCacheEntry:o})=>{try{if(!l&&R&&T&&!o)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await r(n);e.fetchMetrics=B.renderOpts.fetchMetrics;let s=B.renderOpts.pendingWaitUntil;s&&i.waitUntil&&(i.waitUntil(s),s=void 0);let d=B.renderOpts.collectedTags;if(!D)return await (0,h.sendResponse)(J,$,a,B.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);d&&(t[b.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let i=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=b.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,o=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=b.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:i,expire:o}}}}catch(t){throw(null==o?void 0:o.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:R})},!1,E),t}},p=await S.handleResponse({req:e,nextConfig:A,cacheKey:U,routeKind:o.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:R,revalidateOnlyGenerated:T,responseGenerator:c,waitUntil:i.waitUntil,isMinimalMode:l});if(!D)return null;if((null==p||null==(s=p.value)?void 0:s.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(d=p.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",R?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),k&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,f.fromNodeOutgoingHttpHeaders)(p.value.headers);return l&&D||u.delete(b.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,g.getCacheControlHeader)(p.cacheControl)),await (0,h.sendResponse)(J,$,new Response(p.value.body,{headers:u,status:p.value.status||200})),null};W?await d(W):await N.withPropagatedContext(e.headers,()=>N.trace(u.BaseServerSpan.handleRequest,{spanName:`${L} ${a}`,kind:s.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},d))}catch(t){if(t instanceof y.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:F,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:R})},!1,E),D)throw t;return await (0,h.sendResponse)(J,$,new Response(null,{status:500})),null}}e.s(["handler",()=>I,"patchFetch",()=>A,"routeModule",()=>S,"serverHooks",()=>E,"workAsyncStorage",()=>k,"workUnitAsyncStorage",()=>_]),i()}catch(e){i(e)}},!1),606102,e=>{e.v(e=>Promise.resolve().then(()=>e(548941)))},789543,e=>{e.v(e=>Promise.resolve().then(()=>e(385498)))},579042,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_utils_apiKey_ts_fa113e09._.js"].map(t=>e.l(t))).then(()=>t(65448)))},49794,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_ts_65de0558._.js"].map(t=>e.l(t))).then(()=>t(404503)))},386305,e=>{e.v(e=>Promise.resolve().then(()=>e(878947)))},734680,e=>{e.v(e=>Promise.resolve().then(()=>e(125852)))}];
|
|
2
|
+
${e}`),Error(`Provider validation failed for ${t}`)}}e.s(["validateProviders",()=>r]),i()}catch(e){i(e)}},!1),963219,e=>e.a(async(t,i)=>{try{var a=e.i(102835),o=t([a]);[a]=o.then?(await o)():o;let s={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"}},l={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"}},d={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 (Google AI Studio)",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev",hasFree:!0,freeNote:"Free forever: 1,500 req/day for Gemini 2.5 Flash — no credit card, get key at aistudio.google.com"},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",hasFree:!0,freeNote:"$25 signup credits + 3 permanently free models: Llama 3.3 70B, Vision, DeepSeek-R1 distill"},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-...)"},"opencode-zen":{id:"opencode-zen",alias:"opencode-zen",name:"OpenCode Zen",icon:"opencode",color:"#6366f1",website:"https://opencode.ai/zen"},"opencode-go":{id:"opencode-go",alias:"opencode-go",name:"OpenCode Go",icon:"opencode",color:"#6366f1",website:"https://opencode.ai/zen/go"},alibaba:{id:"alibaba",alias:"ali",name:"Alibaba Cloud (DashScope)",icon:"cloud_queue",color:"#FF6600",textIcon:"AL",website:"https://dashscope-intl.aliyuncs.com",hasFree:!1},longcat:{id:"longcat",alias:"lc",name:"LongCat AI",icon:"auto_awesome",color:"#FF6B9D",textIcon:"LC",website:"https://longcat.chat",hasFree:!0,freeNote:"50M tokens/day (Flash-Lite) + 500K/day (Chat/Thinking) — 100% free while public beta"},pollinations:{id:"pollinations",alias:"pol",name:"Pollinations AI",icon:"local_florist",color:"#4CAF50",textIcon:"PO",website:"https://pollinations.ai",hasFree:!0,freeNote:"No API key needed — access GPT-5, Claude, Gemini, DeepSeek V3, Llama 4 free (1 req/15s)"},puter:{id:"puter",alias:"pu",name:"Puter AI",icon:"cloud_circle",color:"#6366F1",textIcon:"PU",website:"https://puter.com",hasFree:!0,freeNote:"500+ models (GPT-5, Claude Opus 4, Gemini 3 Pro, Grok 4, DeepSeek V3...) — Users pay via free Puter account",passthroughModels:!0,authHint:"Get token at puter.com/dashboard → Copy Auth Token"},"cloudflare-ai":{id:"cloudflare-ai",alias:"cf",name:"Cloudflare Workers AI",icon:"cloud",color:"#F48120",textIcon:"CF",website:"https://developers.cloudflare.com/workers-ai/",hasFree:!0,freeNote:"Free 10K Neurons/day: ~150 LLM responses or 500s Whisper audio — edge inference globally",authHint:"Requires API Token AND Account ID (found at dash.cloudflare.com)"},scaleway:{id:"scaleway",alias:"scw",name:"Scaleway AI",icon:"cloud",color:"#4F0599",textIcon:"SCW",website:"https://www.scaleway.com/en/ai/generative-apis/",hasFree:!0,freeNote:"1M free tokens for new accounts — EU/GDPR compliant (Paris), Qwen3 235B & Llama 70B"},aimlapi:{id:"aimlapi",alias:"aiml",name:"AI/ML API",icon:"hub",color:"#6366F1",textIcon:"AI",website:"https://aimlapi.com",hasFree:!0,freeNote:"$0.025/day free credits — 200+ models (GPT-4o, Claude, Gemini, Llama) via single endpoint",passthroughModels:!0}},c="openai-compatible-",p="anthropic-compatible-";function r(e){return"string"==typeof e&&e.startsWith(c)}function n(e){return"string"==typeof e&&e.startsWith(p)}let u={...s,...l,...d},m=Object.values(u).reduce((e,t)=>(e[t.alias]=t.id,e),{});Object.values(u).reduce((e,t)=>(e[t.id]=t.alias,e),{}),(0,a.validateProviders)(s,"FREE_PROVIDERS"),(0,a.validateProviders)(l,"OAUTH_PROVIDERS"),(0,a.validateProviders)(d,"APIKEY_PROVIDERS"),e.s(["AI_PROVIDERS",0,u,"ALIAS_TO_ID",0,m,"ANTHROPIC_COMPATIBLE_PREFIX",0,p,"APIKEY_PROVIDERS",0,d,"FREE_PROVIDERS",0,s,"OAUTH_PROVIDERS",0,l,"OPENAI_COMPATIBLE_PREFIX",0,c,"isAnthropicCompatibleProvider",()=>n,"isOpenAICompatibleProvider",()=>r]),i()}catch(e){i(e)}},!1),617325,e=>e.a(async(t,i)=>{try{var a=e.i(878947),o=e.i(963219),r=t([o]);[o]=r.then?(await r)():r,Object.entries(o.AI_PROVIDERS).filter(([,e])=>e.passthroughModels).map(([e])=>e);let n=Object.entries(a.PROVIDER_MODELS).flatMap(([e,t])=>t.map(t=>({provider:e,model:t.id,name:t.name})));e.s(["AI_MODELS",0,n]),i()}catch(e){i(e)}},!1),261189,e=>{"use strict";function t(e){if(!e.prefix||!e.baseUrl)throw Error("Invalid provider_node: missing prefix or baseUrl");if(e.prefix.includes("/")||e.prefix.includes(" "))throw Error(`Invalid provider_node prefix "${e.prefix}": must not contain / or spaces`);let t=e.baseUrl.replace(/\/+$/,"");return{id:e.prefix,baseUrl:`${t}/embeddings`,authType:"none",authHeader:"none",models:[]}}let i={nebius:{id:"nebius",baseUrl:"https://api.tokenfactory.nebius.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",dimensions:4096}]},openai:{id:"openai",baseUrl:"https://api.openai.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"text-embedding-3-small",name:"Text Embedding 3 Small",dimensions:1536},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",dimensions:3072},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",dimensions:1536}]},mistral:{id:"mistral",baseUrl:"https://api.mistral.ai/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"mistral-embed",name:"Mistral Embed",dimensions:1024}]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"BAAI/bge-large-en-v1.5",name:"BGE Large EN v1.5",dimensions:1024},{id:"togethercomputer/m2-bert-80M-8k-retrieval",name:"M2 BERT 80M 8K",dimensions:768}]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nomic-ai/nomic-embed-text-v1.5",name:"Nomic Embed Text v1.5",dimensions:768}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nvidia/nv-embedqa-e5-v5",name:"NV EmbedQA E5 v5",dimensions:1024}]}};function a(e){return i[e]||null}function o(e,t){if(!e)return{provider:null,model:null};let a=e.indexOf("/");if(a>0){for(let[t]of Object.entries(i))if(e.startsWith(t+"/"))return{provider:t,model:e.slice(t.length+1)};if(t){for(let i of t)if(e.startsWith(i.id+"/"))return{provider:i.id,model:e.slice(i.id.length+1)}}return{provider:e.slice(0,a),model:e.slice(a+1)}}for(let[t,a]of Object.entries(i))if(a.models.some(t=>t.id===e))return{provider:t,model:e};return{provider:null,model:e}}function r(){let e=[];for(let[t,a]of Object.entries(i))for(let i of a.models)e.push({id:`${t}/${i.id}`,name:i.name,provider:t,dimensions:i.dimensions});return e}e.s(["buildDynamicEmbeddingProvider",()=>t,"getAllEmbeddingModels",()=>r,"getEmbeddingProvider",()=>a,"parseEmbeddingModel",()=>o])},573344,e=>{"use strict";let t={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"gpt-image-1",name:"GPT Image 1"},{id:"dall-e-3",name:"DALL-E 3"},{id:"dall-e-2",name:"DALL-E 2"}],supportedSizes:["1024x1024","1024x1792","1792x1024","256x256","512x512"]},xai:{id:"xai",baseUrl:"https://api.x.ai/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"grok-2-image-1212",name:"Grok 2 Image"}],supportedSizes:["1024x1024"]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"black-forest-labs/FLUX.1.1-pro",name:"FLUX 1.1 Pro"},{id:"black-forest-labs/FLUX.1-schnell-Free",name:"FLUX 1 Schnell (Free)"},{id:"stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0"}],supportedSizes:["1024x1024","512x512"]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"accounts/fireworks/models/flux-1-dev-fp8",name:"FLUX 1 Dev FP8"},{id:"accounts/fireworks/models/stable-diffusion-xl-1024-v1-0",name:"SDXL 1024 v1.0"}],supportedSizes:["1024x1024","512x512"]},antigravity:{id:"antigravity",baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"oauth",authHeader:"bearer",format:"gemini-image",models:[{id:"gemini-2.5-flash-preview-image-generation",name:"Gemini 2.5 Flash Image"},{id:"gemini-3.1-flash-image-preview",name:"Gemini 3.1 Flash Image Preview"}],supportedSizes:["1024x1024"]},nebius:{id:"nebius",baseUrl:"https://api.tokenfactory.nebius.com/v1/images/generations",fallbackUrl:"https://api.studio.nebius.com/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"black-forest-labs/flux-schnell",name:"FLUX.1 Schnell"},{id:"black-forest-labs/flux-dev",name:"FLUX.1 Dev"}],supportedSizes:["1024x1024","512x512"]},hyperbolic:{id:"hyperbolic",baseUrl:"https://api.hyperbolic.xyz/v1/image/generation",authType:"apikey",authHeader:"bearer",format:"hyperbolic",models:[{id:"SDXL1.0-base",name:"SDXL 1.0 Base"},{id:"SD2",name:"Stable Diffusion 2"},{id:"FLUX.1-dev",name:"FLUX.1 Dev"}],supportedSizes:["1024x1024","512x512"]},nanobanana:{id:"nanobanana",baseUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/generate",proUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/generate-pro",statusUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/record-info",authType:"apikey",authHeader:"bearer",format:"nanobanana",models:[{id:"nanobanana-flash",name:"NanoBanana Flash (Gemini 2.5 Flash)"},{id:"nanobanana-pro",name:"NanoBanana Pro (Gemini 3 Pro)"}],supportedSizes:["1024x1024","1024x1280","1024x1536","1536x1024","1280x1024"]},sdwebui:{id:"sdwebui",baseUrl:"http://localhost:7860/sdapi/v1/txt2img",authType:"none",authHeader:"none",format:"sdwebui",models:[{id:"stable-diffusion-v1-5",name:"Stable Diffusion v1.5"},{id:"sdxl-base-1.0",name:"SDXL Base 1.0"}],supportedSizes:["512x512","768x768","1024x1024"]},comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"flux-dev",name:"FLUX Dev"},{id:"sdxl",name:"SDXL"}],supportedSizes:["512x512","768x768","1024x1024"]}};function i(e){return t[e]||null}function a(e){if(!e)return{provider:null,model:null};for(let[i,a]of Object.entries(t))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};for(let[i,a]of Object.entries(t))if(a.models.some(t=>t.id===e))return{provider:i,model:e};return{provider:null,model:e}}function o(){let e=[];for(let[i,a]of Object.entries(t))for(let t of a.models)e.push({id:`${i}/${t.id}`,name:t.name,provider:i,supportedSizes:a.supportedSizes});return e}e.s(["getAllImageModels",()=>o,"getImageProvider",()=>i,"parseImageModel",()=>a])},699064,e=>{"use strict";function t(e,t){if(!e)return{provider:null,model:null};for(let[i]of Object.entries(t))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};for(let[i,a]of Object.entries(t))if(a.models.some(t=>t.id===e))return{provider:i,model:e};return{provider:null,model:e}}function i(e,t){let i=[];for(let[a,o]of Object.entries(e)){let e=t?t(a,o):{};for(let t of o.models)i.push({id:`${a}/${t.id}`,name:t.name,provider:a,...e})}return i}function a(e,t){if("none"===e.authType||"none"===e.authHeader||!t)return{};switch(e.authHeader){case"token":return{Authorization:`Token ${t}`};case"xi-api-key":return{"xi-api-key":t};case"x-api-key":return{"x-api-key":t};default:return{Authorization:`Bearer ${t}`}}}e.s(["buildAuthHeaders",()=>a,"getAllModelsFromRegistry",()=>i,"parseModelFromRegistry",()=>t])},501323,e=>{"use strict";let t={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",models:[{id:"whisper-1",name:"Whisper 1"},{id:"gpt-4o-transcription",name:"GPT-4o Transcription"}]},groq:{id:"groq",baseUrl:"https://api.groq.com/openai/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",models:[{id:"whisper-large-v3",name:"Whisper Large v3"},{id:"whisper-large-v3-turbo",name:"Whisper Large v3 Turbo"},{id:"distil-whisper-large-v3-en",name:"Distil Whisper Large v3 EN"}]},deepgram:{id:"deepgram",baseUrl:"https://api.deepgram.com/v1/listen",authType:"apikey",authHeader:"token",format:"deepgram",models:[{id:"nova-3",name:"Nova 3"},{id:"nova-2",name:"Nova 2"},{id:"whisper-large",name:"Whisper Large"}]},assemblyai:{id:"assemblyai",baseUrl:"https://api.assemblyai.com/v2/transcript",authType:"apikey",authHeader:"bearer",async:!0,format:"assemblyai",models:[{id:"universal-3-pro",name:"Universal 3 Pro"},{id:"universal-2",name:"Universal 2"}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"nvidia-asr",models:[{id:"nvidia/parakeet-ctc-1.1b-asr",name:"Parakeet CTC 1.1B"}]},huggingface:{id:"huggingface",baseUrl:"https://api-inference.huggingface.co/models",authType:"apikey",authHeader:"bearer",format:"huggingface-asr",models:[{id:"openai/whisper-large-v3",name:"Whisper Large v3 (HF)"},{id:"openai/whisper-small",name:"Whisper Small (HF)"}]},qwen:{id:"qwen",baseUrl:"http://localhost:8000/v1/audio/transcriptions",authType:"none",authHeader:"none",format:"openai",models:[{id:"qwen3-asr",name:"Qwen3 ASR"}]}},i={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",models:[{id:"tts-1",name:"TTS 1"},{id:"tts-1-hd",name:"TTS 1 HD"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS"}]},hyperbolic:{id:"hyperbolic",baseUrl:"https://api.hyperbolic.xyz/v1/audio/generation",authType:"apikey",authHeader:"bearer",format:"hyperbolic",models:[{id:"melo-tts",name:"Melo TTS"}]},deepgram:{id:"deepgram",baseUrl:"https://api.deepgram.com/v1/speak",authType:"apikey",authHeader:"token",format:"deepgram",models:[{id:"aura-asteria-en",name:"Aura Asteria (EN)"},{id:"aura-luna-en",name:"Aura Luna (EN)"},{id:"aura-stella-en",name:"Aura Stella (EN)"}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"nvidia-tts",models:[{id:"nvidia/fastpitch",name:"FastPitch"},{id:"nvidia/tacotron2",name:"Tacotron2"}]},elevenlabs:{id:"elevenlabs",baseUrl:"https://api.elevenlabs.io/v1/text-to-speech",authType:"apikey",authHeader:"xi-api-key",format:"elevenlabs",models:[{id:"eleven_multilingual_v2",name:"Eleven Multilingual v2"},{id:"eleven_turbo_v2_5",name:"Eleven Turbo v2.5"}]},huggingface:{id:"huggingface",baseUrl:"https://api-inference.huggingface.co/models",authType:"apikey",authHeader:"bearer",format:"huggingface-tts",models:[{id:"facebook/mms-tts-eng",name:"MMS TTS English"},{id:"microsoft/speecht5_tts",name:"SpeechT5 TTS"}]},coqui:{id:"coqui",baseUrl:"http://localhost:5002/api/tts",authType:"none",authHeader:"none",format:"coqui",models:[{id:"tts_models/en/ljspeech/tacotron2-DDC",name:"Tacotron2 DDC (LJSpeech)"}]},tortoise:{id:"tortoise",baseUrl:"http://localhost:5000/api/tts",authType:"none",authHeader:"none",format:"tortoise",models:[{id:"tortoise-v2",name:"Tortoise v2"}]},qwen:{id:"qwen",baseUrl:"http://localhost:8000/v1/audio/speech",authType:"none",authHeader:"none",format:"openai",models:[{id:"qwen3-tts",name:"Qwen3 TTS"}]},inworld:{id:"inworld",baseUrl:"https://api.inworld.ai/tts/v1/voice",authType:"apikey",authHeader:"basic",format:"inworld",models:[{id:"inworld-tts-1.5-max",name:"Inworld TTS 1.5 Max"},{id:"inworld-tts-1.5-mini",name:"Inworld TTS 1.5 Mini"}]},cartesia:{id:"cartesia",baseUrl:"https://api.cartesia.ai/tts/bytes",authType:"apikey",authHeader:"x-api-key",format:"cartesia",models:[{id:"sonic-2",name:"Sonic 2"},{id:"sonic-3",name:"Sonic 3"}]},playht:{id:"playht",baseUrl:"https://api.play.ht/api/v2/tts/stream",authType:"apikey",authHeader:"playht",format:"playht",models:[{id:"PlayDialog",name:"PlayDialog"},{id:"Play3.0-mini",name:"Play3.0 Mini"}]}};function a(e){return t[e]||null}function o(e){return i[e]||null}function r(e,t){if(!e.prefix||!e.baseUrl)throw Error("Invalid provider_node: missing prefix or baseUrl");let i=e.baseUrl.replace(/\/+$/,"");return{id:e.prefix,baseUrl:`${i}${t}`,authType:"none",authHeader:"none",models:[]}}function n(e,t,i){if(!e)return{provider:null,model:null};for(let[i]of Object.entries(t))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};for(let[i,a]of Object.entries(t))if(a.models.some(t=>t.id===e))return{provider:i,model:e};if(i){for(let t of i)if(e.startsWith(t.id+"/"))return{provider:t.id,model:e.slice(t.id.length+1)}}return{provider:null,model:e}}function s(e,i){return n(e,t,i)}function l(e,t){return n(e,i,t)}function d(){let e=[];for(let[i,a]of Object.entries(t))for(let t of a.models)e.push({id:`${i}/${t.id}`,name:t.name,provider:i,subtype:"transcription"});for(let[t,a]of Object.entries(i))for(let i of a.models)e.push({id:`${t}/${i.id}`,name:i.name,provider:t,subtype:"speech"});return e}e.s(["buildDynamicAudioProvider",()=>r,"getAllAudioModels",()=>d,"getSpeechProvider",()=>o,"getTranscriptionProvider",()=>a,"parseSpeechModel",()=>l,"parseTranscriptionModel",()=>s])},479103,e=>{"use strict";let t={cohere:{id:"cohere",baseUrl:"https://api.cohere.com/v2/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"rerank-v3.5",name:"Rerank v3.5"},{id:"rerank-english-v3.0",name:"Rerank English v3.0"},{id:"rerank-multilingual-v3.0",name:"Rerank Multilingual v3.0"}]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"Salesforce/Llama-Rank-V2",name:"Llama Rank V2"}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/ranking",authType:"apikey",authHeader:"bearer",format:"nvidia",models:[{id:"nvidia/nv-rerankqa-mistral-4b-v3",name:"NV RerankQA Mistral 4B v3"}]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"accounts/fireworks/models/nomic-rerank-v1",name:"Nomic Rerank v1"}]}};function i(e){return t[e]||null}function a(e){if(!e)return{provider:null,model:null};for(let[i,a]of Object.entries(t))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};for(let[i,a]of Object.entries(t))if(a.models.some(t=>t.id===e))return{provider:i,model:e};return{provider:null,model:e}}function o(){let e=[];for(let[i,a]of Object.entries(t))for(let t of a.models)e.push({id:`${i}/${t.id}`,name:t.name,provider:i});return e}e.s(["getAllRerankModels",()=>o,"getRerankProvider",()=>i,"parseRerankModel",()=>a])},105575,e=>{"use strict";var t=e.i(699064);let i={comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"stable-audio-open",name:"Stable Audio Open"},{id:"musicgen-medium",name:"MusicGen Medium"}]}};function a(e){return i[e]||null}function o(e){return(0,t.parseModelFromRegistry)(e,i)}function r(){return(0,t.getAllModelsFromRegistry)(i)}e.s(["getAllMusicModels",()=>r,"getMusicProvider",()=>a,"parseMusicModel",()=>o])},485683,e=>{"use strict";let t={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/moderations",authType:"apikey",authHeader:"bearer",models:[{id:"omni-moderation-latest",name:"Omni Moderation Latest"},{id:"text-moderation-latest",name:"Text Moderation Latest"}]}};function i(e){return t[e]||null}function a(e){if(!e)return{provider:null,model:null};for(let[i,a]of Object.entries(t))if(e.startsWith(i+"/"))return{provider:i,model:e.slice(i.length+1)};for(let[i,a]of Object.entries(t))if(a.models.some(t=>t.id===e))return{provider:i,model:e};return{provider:null,model:e}}function o(){let e=[];for(let[i,a]of Object.entries(t))for(let t of a.models)e.push({id:`${i}/${t.id}`,name:t.name,provider:i});return e}e.s(["getAllModerationModels",()=>o,"getModerationProvider",()=>i,"parseModerationModel",()=>a])},854319,e=>{"use strict";var t=e.i(699064);let i={comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"animatediff",name:"AnimateDiff"},{id:"svd-xt",name:"Stable Video Diffusion XT"}]},sdwebui:{id:"sdwebui",baseUrl:"http://localhost:7860",authType:"none",authHeader:"none",format:"sdwebui-video",models:[{id:"animatediff-webui",name:"AnimateDiff (WebUI)"}]}};function a(e){return i[e]||null}function o(e){return(0,t.parseModelFromRegistry)(e,i)}function r(){return(0,t.getAllModelsFromRegistry)(i)}e.s(["getAllVideoModels",()=>r,"getVideoProvider",()=>a,"parseVideoModel",()=>o])},970620,e=>e.a(async(t,i)=>{try{var a=e.i(224010),o=e.i(617325),r=e.i(878947),n=e.i(963219);e.i(245272);var s=e.i(385498),l=e.i(151205),d=e.i(186920),c=e.i(548941),p=e.i(235328),u=e.i(261189),m=e.i(573344),h=e.i(479103),f=e.i(501323),g=e.i(485683),b=e.i(854319),y=e.i(105575),v=e.i(828059),w=t([o,n]);[o,n]=w.then?(await w)():w;let I={ag:"antigravity",cc:"claude",cl:"cline",cu:"cursor",cx:"codex",gc:"gemini-cli",gh:"github",if:"iflow",kc:"kilocode",kmc:"kimi-coding",kr:"kiro",qw:"qwen"},S=["gpt-4o","gpt-4.1","gpt-4-vision","gpt-4-turbo","claude-3","claude-3.5","claude-3-5","claude-4","claude-opus","claude-sonnet","claude-haiku","gemini","gemma","llava","bakllava","pixtral","mistral-pixtral","qwen-vl","qvq","glm-4.6v","glm-4.5v","vision","multimodal"];function x(e){let t;return(t=String(e||"").toLowerCase())&&S.some(e=>t.includes(e))?{capabilities:{vision:!0},input_modalities:["text","image"],output_modalities:["text"]}:null}async function A(e,t={"Access-Control-Allow-Origin":a.CORS_ORIGIN}){try{let i={};try{i=await (0,c.getSettings)()}catch{}if(!0===i.requireAuthForModels&&!await (0,p.isAuthenticated)(e))return Response.json({error:{message:"Authentication required",type:"invalid_request_error",code:"invalid_api_key"}},{status:401});let{aliasToProviderId:a,providerIdToAlias:o}=function(){let e={},t={};for(let i of Object.values(n.AI_PROVIDERS)){let a=i?.id,o=i?.alias||a;a&&(e[a]=a,e[o]=a,t[a]||(t[a]=o))}for(let[t,i]of Object.entries(r.PROVIDER_ID_TO_ALIAS)){if(r.PROVIDER_MODELS[t]){e[t]=e[t]||i;continue}if(r.PROVIDER_MODELS[i]){e[i]=e[i]||t;continue}e[i]=e[i]||t}for(let t of Object.keys(r.PROVIDER_MODELS))e[t]||(e[t]=t);for(let[i,a]of Object.entries(e))t[a]||(t[a]=i);for(let[i,a]of Object.entries(I))e[i]||(e[i]=a),e[a]||(e[a]=a),t[a]||(t[a]=i);return{aliasToProviderId:e,providerIdToAlias:t}}(),w=new Set(Array.isArray(i.blockedProviders)?i.blockedProviders:[]),A=[];try{(A=await (0,s.getProviderConnections)()).length,A=A.filter(e=>!1!==e.isActive)}catch(e){console.log("Could not fetch providers, showing only combos/custom models")}let S=[];try{S=await (0,s.getProviderNodes)()}catch(e){console.log("Could not fetch provider nodes")}let k={},_={};for(let e of S)e.prefix&&(k[e.id]=e.prefix),e.type&&(_[e.id]=e.type);let E=[];try{E=await (0,l.getCombos)()}catch(e){console.log("Could not fetch combos")}let R=new Set;for(let e of A){let t=o[e.provider]||e.provider;R.add(t),R.add(e.provider)}let T=[],O=Math.floor(Date.now()/1e3);for(let e of E)!1!==e.isActive&&T.push({id:e.name,object:"model",created:O,owned_by:"combo",permission:[],root:e.name,parent:null,...e.context_length?{context_length:e.context_length}:{}});for(let[e,t]of Object.entries(r.PROVIDER_MODELS)){let i=a[e]||e,o=I[e]||i;if(w.has(e)||w.has(o)||!R.has(e)&&!R.has(o))continue;let r=v.REGISTRY[e]||v.REGISTRY[o],n=r?.defaultContextLength;for(let i of t){let t=`${e}/${i.id}`,a=x(t)||x(i.id),r=i.contextLength||n;if(T.push({id:t,object:"model",created:O,owned_by:o,permission:[],root:i.id,parent:null,...r?{context_length:r}:{},...a||{}}),o!==e){let e=`${o}/${i.id}`,a=x(e)||x(i.id);T.push({id:e,object:"model",created:O,owned_by:o,permission:[],root:i.id,parent:t,...r?{context_length:r}:{},...a||{}})}}}let P=e=>{if(0===R.size)return!1;let t=o[e]||e;return R.has(t)||R.has(e)};for(let e of(0,u.getAllEmbeddingModels)())P(e.provider)&&T.push({id:e.id,object:"model",created:O,owned_by:e.provider,type:"embedding",dimensions:e.dimensions});for(let e of(0,m.getAllImageModels)())P(e.provider)&&T.push({id:e.id,object:"model",created:O,owned_by:e.provider,type:"image",supported_sizes:e.supportedSizes});for(let e of(0,h.getAllRerankModels)())P(e.provider)&&T.push({id:e.id,object:"model",created:O,owned_by:e.provider,type:"rerank"});for(let e of(0,f.getAllAudioModels)())P(e.provider)&&T.push({id:e.id,object:"model",created:O,owned_by:e.provider,type:"audio",subtype:e.subtype});for(let e of(0,g.getAllModerationModels)())P(e.provider)&&T.push({id:e.id,object:"model",created:O,owned_by:e.provider,type:"moderation"});for(let e of(0,b.getAllVideoModels)())P(e.provider)&&T.push({id:e.id,object:"model",created:O,owned_by:e.provider,type:"video"});for(let e of(0,y.getAllMusicModels)())P(e.provider)&&T.push({id:e.id,object:"model",created:O,owned_by:e.provider,type:"music"});try{let e=await (0,d.getAllCustomModels)();for(let[t,i]of Object.entries(e)){let e=Array.isArray(i)?i.filter(e=>!!e&&"object"==typeof e&&!Array.isArray(e)):[],a=k[t],r=a||o[t]||t,n=I[r]||t,s=_[t];if(R.has(r)||R.has(n)||R.has(t)||s&&R.has(s))for(let t of e){let e,i="string"==typeof t.id?t.id:null;if(!i)continue;let o=`${r}/${i}`;if(T.some(e=>e.id===o))continue;let s=Array.isArray(t.supportedEndpoints)?t.supportedEndpoints:["chat"],l="string"==typeof t.apiFormat?t.apiFormat:"chat-completions";s.includes("embeddings")?e="embedding":s.includes("images")?e="image":s.includes("audio")&&(e="audio");let d="chat"===e?x(o)||x(i):null;if(T.push({id:o,object:"model",created:O,owned_by:n,permission:[],root:i,parent:null,custom:!0,...e?{type:e}:{},..."chat-completions"!==l?{api_format:l}:{},...s.length>1||!s.includes("chat")?{supported_endpoints:s}:{},...d||{}}),n!==r&&!a){let t=`${n}/${i}`;if(T.some(e=>e.id===t))continue;let a="chat"===e?x(t)||x(i):null;T.push({id:t,object:"model",created:O,owned_by:n,permission:[],root:i,parent:o,custom:!0,...e?{type:e}:{},...a||{}})}}}}catch(e){console.log("Could not fetch custom models")}return Response.json({object:"list",data:T},{headers:t})}catch(e){return console.log("Error fetching models:",e),Response.json({error:{message:e.message,type:"server_error"}},{status:500})}}e.s(["getUnifiedModelsResponse",()=>A]),i()}catch(e){i(e)}},!1),189,e=>e.a(async(t,i)=>{try{var a=e.i(224010),o=e.i(970620),r=t([o]);async function n(){return new Response(null,{headers:{"Access-Control-Allow-Origin":a.CORS_ORIGIN,"Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function s(e){return(0,o.getUnifiedModelsResponse)(e)}[o]=r.then?(await r)():r,e.s(["GET",()=>s,"OPTIONS",()=>n]),i()}catch(e){i(e)}},!1),960819,e=>e.a(async(t,i)=>{try{var a=e.i(747909),o=e.i(174017),r=e.i(996250),n=e.i(759756),s=e.i(561916),l=e.i(174677),d=e.i(869741),c=e.i(316795),p=e.i(487718),u=e.i(995169),m=e.i(47587),h=e.i(666012),f=e.i(570101),g=e.i(626937),b=e.i(10372),y=e.i(193695);e.i(52474);var v=e.i(600220),w=e.i(189),x=t([w]);[w]=x.then?(await x)():x;let S=new a.AppRouteRouteModule({definition:{kind:o.RouteKind.APP_ROUTE,page:"/api/v1/models/route",pathname:"/api/v1/models",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/v1/models/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:k,workUnitAsyncStorage:_,serverHooks:E}=S;function A(){return(0,r.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:_})}async function I(e,t,i){S.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/v1/models/route";a=a.replace(/\/index$/,"")||"/";let r=await S.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!r)return t.statusCode=400,t.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve()),null;let{buildId:w,params:x,nextConfig:A,parsedUrl:I,isDraftMode:k,prerenderManifest:_,routerServerContext:E,isOnDemandRevalidate:R,revalidateOnlyGenerated:T,resolvedPathname:O,clientReferenceManifest:P,serverActionsManifest:C}=r,F=(0,d.normalizeAppPath)(a),D=!!(_.dynamicRoutes[F]||_.routes[O]),M=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,I,!1):t.end("This page could not be found"),null);if(D&&!k){let e=!!_.routes[O],t=_.dynamicRoutes[F];if(t&&!1===t.fallback&&!e){if(A.experimental.adapterPath)return await M();throw new y.NoFallbackError}}let U=null;!D||S.isDev||k||(U=O,U="/index"===U?"/":U);let H=!0===S.isDev||!D,L=D&&!H;C&&P&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:P,serverActionsManifest:C});let j=e.method||"GET",N=(0,s.getTracer)(),W=N.getActiveScopeSpan(),B={params:x,prerenderManifest:_,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:A.cacheLife,waitUntil:i.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,i,a,o)=>S.onRequestError(e,t,a,o,E)},sharedContext:{buildId:w}},J=new c.NodeNextRequest(e),$=new c.NodeNextResponse(t),q=p.NextRequestAdapter.fromNodeNextRequest(J,(0,p.signalFromNodeResponse)(t));try{let r=async e=>S.handle(q,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let i=N.getRootSpanAttributes();if(!i)return;if(i.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${i.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let o=i.get("next.route");if(o){let t=`${j} ${o}`;e.setAttributes({"next.route":o,"http.route":o,"next.span_name":t}),e.updateName(t)}else e.updateName(`${j} ${a}`)}),l=!!(0,n.getRequestMeta)(e,"minimalMode"),d=async n=>{var s,d;let c=async({previousCacheEntry:o})=>{try{if(!l&&R&&T&&!o)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await r(n);e.fetchMetrics=B.renderOpts.fetchMetrics;let s=B.renderOpts.pendingWaitUntil;s&&i.waitUntil&&(i.waitUntil(s),s=void 0);let d=B.renderOpts.collectedTags;if(!D)return await (0,h.sendResponse)(J,$,a,B.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);d&&(t[b.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let i=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=b.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,o=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=b.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:i,expire:o}}}}catch(t){throw(null==o?void 0:o.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:R})},!1,E),t}},p=await S.handleResponse({req:e,nextConfig:A,cacheKey:U,routeKind:o.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:R,revalidateOnlyGenerated:T,responseGenerator:c,waitUntil:i.waitUntil,isMinimalMode:l});if(!D)return null;if((null==p||null==(s=p.value)?void 0:s.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(d=p.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",R?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),k&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,f.fromNodeOutgoingHttpHeaders)(p.value.headers);return l&&D||u.delete(b.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,g.getCacheControlHeader)(p.cacheControl)),await (0,h.sendResponse)(J,$,new Response(p.value.body,{headers:u,status:p.value.status||200})),null};W?await d(W):await N.withPropagatedContext(e.headers,()=>N.trace(u.BaseServerSpan.handleRequest,{spanName:`${j} ${a}`,kind:s.SpanKind.SERVER,attributes:{"http.method":j,"http.target":e.url}},d))}catch(t){if(t instanceof y.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:F,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:R})},!1,E),D)throw t;return await (0,h.sendResponse)(J,$,new Response(null,{status:500})),null}}e.s(["handler",()=>I,"patchFetch",()=>A,"routeModule",()=>S,"serverHooks",()=>E,"workAsyncStorage",()=>k,"workUnitAsyncStorage",()=>_]),i()}catch(e){i(e)}},!1),606102,e=>{e.v(e=>Promise.resolve().then(()=>e(548941)))},789543,e=>{e.v(e=>Promise.resolve().then(()=>e(385498)))},579042,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_utils_apiKey_ts_fa113e09._.js"].map(t=>e.l(t))).then(()=>t(65448)))},49794,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_ts_65de0558._.js"].map(t=>e.l(t))).then(()=>t(404503)))},386305,e=>{e.v(e=>Promise.resolve().then(()=>e(878947)))},734680,e=>{e.v(e=>Promise.resolve().then(()=>e(125852)))}];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=%5Broot-of-the-server%5D__df1c79db._.js.map
|