omniroute 3.0.5 → 3.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/app/.next/BUILD_ID +1 -1
  2. package/app/.next/build-manifest.json +2 -2
  3. package/app/.next/prerender-manifest.json +3 -3
  4. package/app/.next/server/app/(dashboard)/dashboard/a2a/page_client-reference-manifest.js +1 -1
  5. package/app/.next/server/app/(dashboard)/dashboard/agents/page_client-reference-manifest.js +1 -1
  6. package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  7. package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
  8. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
  9. package/app/.next/server/app/(dashboard)/dashboard/auto-combo/page_client-reference-manifest.js +1 -1
  10. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  11. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  12. package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
  13. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  14. package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  15. package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
  16. package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
  17. package/app/.next/server/app/(dashboard)/dashboard/mcp/page_client-reference-manifest.js +1 -1
  18. package/app/.next/server/app/(dashboard)/dashboard/media/page_client-reference-manifest.js +1 -1
  19. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
  20. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  21. package/app/.next/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  22. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  23. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  24. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  25. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  26. package/app/.next/server/app/(dashboard)/dashboard/search-tools/page_client-reference-manifest.js +1 -1
  27. package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  28. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  29. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  30. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  31. package/app/.next/server/app/400/page_client-reference-manifest.js +1 -1
  32. package/app/.next/server/app/401/page_client-reference-manifest.js +1 -1
  33. package/app/.next/server/app/403/page_client-reference-manifest.js +1 -1
  34. package/app/.next/server/app/408/page_client-reference-manifest.js +1 -1
  35. package/app/.next/server/app/429/page_client-reference-manifest.js +1 -1
  36. package/app/.next/server/app/500/page_client-reference-manifest.js +1 -1
  37. package/app/.next/server/app/502/page_client-reference-manifest.js +1 -1
  38. package/app/.next/server/app/503/page_client-reference-manifest.js +1 -1
  39. package/app/.next/server/app/_global-error.html +2 -2
  40. package/app/.next/server/app/_global-error.rsc +1 -1
  41. package/app/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  42. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  43. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  44. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  45. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  46. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  47. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  48. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  49. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  50. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  51. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  52. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  53. package/app/.next/server/app/maintenance/page_client-reference-manifest.js +1 -1
  54. package/app/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  55. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  56. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  57. package/app/.next/server/app/status/page_client-reference-manifest.js +1 -1
  58. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  59. package/app/.next/server/chunks/[root-of-the-server]__051203a6._.js +2 -2
  60. package/app/.next/server/chunks/[root-of-the-server]__0891af92._.js +1 -1
  61. package/app/.next/server/chunks/[root-of-the-server]__1f2b0d89._.js +1 -1
  62. package/app/.next/server/chunks/[root-of-the-server]__46e00e59._.js +1 -1
  63. package/app/.next/server/chunks/[root-of-the-server]__5dcab57b._.js +2 -2
  64. package/app/.next/server/chunks/[root-of-the-server]__61d78f9d._.js +1 -1
  65. package/app/.next/server/chunks/[root-of-the-server]__6e52619e._.js +1 -1
  66. package/app/.next/server/chunks/[root-of-the-server]__7ace0fcd._.js +1 -1
  67. package/app/.next/server/chunks/[root-of-the-server]__7fa4d14e._.js +1 -1
  68. package/app/.next/server/chunks/_05c48915._.js +1 -1
  69. package/app/.next/server/chunks/_06515a8a._.js +1 -1
  70. package/app/.next/server/chunks/_2115d8de._.js +1 -1
  71. package/app/.next/server/chunks/_3ac953eb._.js +1 -1
  72. package/app/.next/server/chunks/_4b8fd853._.js +1 -1
  73. package/app/.next/server/chunks/_68683848._.js +1 -1
  74. package/app/.next/server/chunks/_ee9b677b._.js +1 -1
  75. package/app/.next/server/chunks/open-sse_config_providerModels_ts_04541468._.js +1 -1
  76. package/app/.next/server/chunks/open-sse_config_providerRegistry_ts_2f74ec2a._.js +1 -1
  77. package/app/.next/server/chunks/open-sse_config_providerRegistry_ts_dec0f840._.js +1 -1
  78. package/app/.next/server/chunks/src_6320c728._.js +1 -1
  79. package/app/.next/server/chunks/ssr/[root-of-the-server]__9ef96d20._.js +1 -1
  80. package/app/.next/server/chunks/ssr/[root-of-the-server]__a6942102._.js +1 -1
  81. package/app/.next/server/chunks/ssr/_19b3d5b1._.js +1 -1
  82. package/app/.next/server/chunks/ssr/open-sse_config_providerModels_ts_4cac55e2._.js +1 -1
  83. package/app/.next/server/chunks/ssr/src_app_(dashboard)_dashboard_playground_page_tsx_06c08266._.js +2 -2
  84. package/app/.next/server/chunks/ssr/src_app_(dashboard)_dashboard_settings_9e20fb8d._.js +1 -1
  85. package/app/.next/server/pages/500.html +2 -2
  86. package/app/.next/server/server-reference-manifest.js +1 -1
  87. package/app/.next/server/server-reference-manifest.json +1 -1
  88. package/app/.next/static/chunks/0e39e279bf7e4cd9.js +2 -0
  89. package/app/.next/static/chunks/{25a3e05da8e1a7ec.js → 339b27cecfee41d1.js} +1 -1
  90. package/app/.next/static/chunks/{37063ea02716537b.js → 98a065e472ead1c5.js} +1 -1
  91. package/app/.next/static/chunks/{b7c366e286771d50.js → f62c550263d8bca8.js} +1 -1
  92. package/app/CHANGELOG.md +18 -0
  93. package/app/docs/openapi.yaml +1 -1
  94. package/app/open-sse/config/providerRegistry.ts +1 -4
  95. package/app/package-lock.json +2 -2
  96. package/app/package.json +1 -1
  97. package/app/src/app/(dashboard)/dashboard/playground/page.tsx +79 -4
  98. package/app/src/app/(dashboard)/dashboard/settings/components/ProxyRegistryManager.tsx +7 -7
  99. package/app/src/app/api/usage/[connectionId]/route.ts +42 -23
  100. package/app/src/lib/providers/validation.ts +1 -1
  101. package/app/tests/integration/v1-contracts-behavior.test.mjs +8 -6
  102. package/package.json +1 -1
  103. package/app/.next/static/chunks/f3640b442f6de1d4.js +0 -2
  104. /package/app/.next/static/{_Ub91T2wbB96WfkKKwhDH → 4vzx2qUM_tiJPdpx_Hiqj}/_buildManifest.js +0 -0
  105. /package/app/.next/static/{_Ub91T2wbB96WfkKKwhDH → 4vzx2qUM_tiJPdpx_Hiqj}/_clientMiddlewareManifest.json +0 -0
  106. /package/app/.next/static/{_Ub91T2wbB96WfkKKwhDH → 4vzx2qUM_tiJPdpx_Hiqj}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[314251,e=>e.a(async(t,r)=>{try{var a=e.i(745015),n=e.i(89171),o=e.i(924868),s=e.i(814747),i=e.i(266240),l=e.i(256770),u=e.i(676088),d=e.i(200392),c=e.i(195975),f=t([u,d]);[u,d]=f.then?(await f)():f;let x=s.default.join((0,l.resolveDataDir)(),"codex-profiles");async function p(){return await o.default.mkdir(x,{recursive:!0}),x}async function h(){try{let e;await p();try{e=await o.default.readdir(x)}catch{return n.NextResponse.json({profiles:[]})}let t=e.filter(e=>e.endsWith(".json")),r=[];for(let e of t)try{let t=await o.default.readFile(s.default.join(x,e),"utf-8"),a=JSON.parse(t);r.push({id:e.replace(".json",""),name:a.name,authLabel:a.authLabel||"unknown",createdAt:a.createdAt,hasConfig:!!a.configToml,hasAuth:!!a.authJson})}catch{}return r.sort((e,t)=>e.name.localeCompare(t.name)),n.NextResponse.json({profiles:r})}catch(e){return console.log("Error listing codex profiles:",e.message),n.NextResponse.json({error:"Failed to list profiles"},{status:500})}}async function g(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let r=(0,d.validateBody)(u.codexProfileNameSchema,t);if((0,d.isValidationFailure)(r))return n.NextResponse.json({error:r.error},{status:400});let{name:a}=r.data,l=(0,i.getCliConfigPaths)("codex");if(!l)return n.NextResponse.json({error:"Codex config paths not found"},{status:500});let c=null,f=null;try{c=await o.default.readFile(l.config,"utf-8")}catch{}try{f=await o.default.readFile(l.auth,"utf-8")}catch{}if(!c&&!f)return n.NextResponse.json({error:"No Codex configuration files found to save"},{status:400});let h=a.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),g={name:a.trim(),createdAt:new Date().toISOString(),authLabel:f?function(e){try{let t=JSON.parse(e);if(t.tokens?.id_token){let e=t.tokens.id_token.split(".")[1],r=JSON.parse(Buffer.from(e,"base64").toString());if(r.email)return r.email}if(t.auth_mode)return t.auth_mode;if(t.OPENAI_API_KEY)return`API Key: ${t.OPENAI_API_KEY.slice(0,8)}...`;return"unknown"}catch{return"unknown"}}(f):"no-auth",configToml:c,authJson:f};await p();let R=s.default.join(x,`${h}.json`);return await o.default.writeFile(R,JSON.stringify(g,null,2)),n.NextResponse.json({success:!0,message:`Profile "${a}" saved successfully`,profileId:h})}catch(e){return console.log("Error saving codex profile:",e.message),n.NextResponse.json({error:"Failed to save profile"},{status:500})}}async function R(t){let r;try{r=await t.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let t,a=(0,i.ensureCliConfigWriteAllowed)();if(a)return n.NextResponse.json({error:a},{status:403});let l=(0,d.validateBody)(u.codexProfileIdSchema,r);if((0,d.isValidationFailure)(l))return n.NextResponse.json({error:l.error},{status:400});let{profileId:c}=l.data,f=s.default.join(x,`${c}.json`);try{let e=await o.default.readFile(f,"utf-8");t=JSON.parse(e)}catch{return n.NextResponse.json({error:`Profile "${c}" not found`},{status:404})}let p=(0,i.getCliConfigPaths)("codex");if(!p)return n.NextResponse.json({error:"Codex config paths not found"},{status:500});let{createMultiBackup:h}=await e.A(452484);return await h("codex",[p.config,p.auth]),await o.default.mkdir(s.default.dirname(p.config),{recursive:!0}),t.configToml&&await o.default.writeFile(p.config,t.configToml),t.authJson&&await o.default.writeFile(p.auth,t.authJson),n.NextResponse.json({success:!0,message:`Profile "${t.name}" activated`,profileId:c,restoredConfig:!!t.configToml,restoredAuth:!!t.authJson})}catch(e){return console.log("Error activating codex profile:",e.message),n.NextResponse.json({error:"Failed to activate profile"},{status:500})}}async function m(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,d.validateBody)(u.codexProfileIdSchema,t);if((0,d.isValidationFailure)(e))return n.NextResponse.json({error:e.error},{status:400});let{profileId:r}=e.data,a=s.default.join(x,`${r}.json`);try{await o.default.unlink(a)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({error:`Profile "${r}" not found`},{status:404});throw e}return n.NextResponse.json({success:!0,message:`Profile "${r}" deleted`})}catch(e){return console.log("Error deleting codex profile:",e.message),n.NextResponse.json({error:"Failed to delete profile"},{status:500})}}(0,c.ensureServerEntryExports)([h,g,R,m]),(0,a.registerServerReference)(h,"005608625c1cfca3396714923bb0893eb56a1740f6",null),(0,a.registerServerReference)(g,"40f759a024663c30df204f9eb26977c1d342902a47",null),(0,a.registerServerReference)(R,"40b6e2cbbb7d3c6bfeae2e9efe6fef3e2fe6cb983d",null),(0,a.registerServerReference)(m,"40ac16562ed2dc9b67d3384cfc04b4e902950ae9b3",null),e.s(["DELETE",()=>m,"GET",()=>h,"POST",()=>g,"PUT",()=>R]),r()}catch(e){r(e)}},!1),57985,e=>e.a(async(t,r)=>{try{var a=e.i(747909),n=e.i(174017),o=e.i(996250),s=e.i(759756),i=e.i(561916),l=e.i(174677),u=e.i(869741),d=e.i(316795),c=e.i(487718),f=e.i(995169),p=e.i(47587),h=e.i(666012),g=e.i(570101),R=e.i(626937),m=e.i(10372),x=e.i(193695);e.i(52474);var v=e.i(600220),w=e.i(314251),y=t([w]);[w]=y.then?(await y)():y;let C=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/codex-profiles/route",pathname:"/api/cli-tools/codex-profiles",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/codex-profiles/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:b,workUnitAsyncStorage:j,serverHooks:A}=C;function N(){return(0,o.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:j})}async function E(e,t,r){C.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/cli-tools/codex-profiles/route";a=a.replace(/\/index$/,"")||"/";let o=await C.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!o)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:w,params:y,nextConfig:N,parsedUrl:E,isDraftMode:b,prerenderManifest:j,routerServerContext:A,isOnDemandRevalidate:P,revalidateOnlyGenerated:S,resolvedPathname:O,clientReferenceManifest:T,serverActionsManifest:I}=o,_=(0,u.normalizeAppPath)(a),k=!!(j.dynamicRoutes[_]||j.routes[O]),F=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,E,!1):t.end("This page could not be found"),null);if(k&&!b){let e=!!j.routes[O],t=j.dynamicRoutes[_];if(t&&!1===t.fallback&&!e){if(N.experimental.adapterPath)return await F();throw new x.NoFallbackError}}let $=null;!k||C.isDev||b||($=O,$="/index"===$?"/":$);let q=!0===C.isDev||!k,D=k&&!q;I&&T&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:T,serverActionsManifest:I});let H=e.method||"GET",U=(0,i.getTracer)(),J=U.getActiveScopeSpan(),M={params:y,prerenderManifest:j,renderOpts:{experimental:{authInterrupts:!!N.experimental.authInterrupts},cacheComponents:!!N.cacheComponents,supportsDynamicResponse:q,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:N.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>C.onRequestError(e,t,a,n,A)},sharedContext:{buildId:w}},K=new d.NodeNextRequest(e),L=new d.NodeNextResponse(t),B=c.NextRequestAdapter.fromNodeNextRequest(K,(0,c.signalFromNodeResponse)(t));try{let o=async e=>C.handle(B,M).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==f.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${H} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${a}`)}),l=!!(0,s.getRequestMeta)(e,"minimalMode"),u=async s=>{var i,u;let d=async({previousCacheEntry:n})=>{try{if(!l&&P&&S&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await o(s);e.fetchMetrics=M.renderOpts.fetchMetrics;let i=M.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let u=M.renderOpts.collectedTags;if(!k)return await (0,h.sendResponse)(K,L,a,M.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(a.headers);u&&(t[m.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,n=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:P})},!1,A),t}},c=await C.handleResponse({req:e,nextConfig:N,cacheKey:$,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:j,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:S,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:l});if(!k)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(u=c.value)?void 0:u.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",P?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,g.fromNodeOutgoingHttpHeaders)(c.value.headers);return l&&k||f.delete(m.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,R.getCacheControlHeader)(c.cacheControl)),await (0,h.sendResponse)(K,L,new Response(c.value.body,{headers:f,status:c.value.status||200})),null};J?await u(J):await U.withPropagatedContext(e.headers,()=>U.trace(f.BaseServerSpan.handleRequest,{spanName:`${H} ${a}`,kind:i.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},u))}catch(t){if(t instanceof x.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:P})},!1,A),k)throw t;return await (0,h.sendResponse)(K,L,new Response(null,{status:500})),null}}e.s(["handler",()=>E,"patchFetch",()=>N,"routeModule",()=>C,"serverHooks",()=>A,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>j]),r()}catch(e){r(e)}},!1)];
1
+ module.exports=[314251,e=>e.a(async(t,r)=>{try{var a=e.i(745015),n=e.i(89171),o=e.i(924868),s=e.i(814747),i=e.i(266240),l=e.i(256770),u=e.i(676088),d=e.i(200392),c=e.i(195975),f=t([u,d]);[u,d]=f.then?(await f)():f;let x=s.default.join((0,l.resolveDataDir)(),"codex-profiles");async function p(){return await o.default.mkdir(x,{recursive:!0}),x}async function h(){try{let e;await p();try{e=await o.default.readdir(x)}catch{return n.NextResponse.json({profiles:[]})}let t=e.filter(e=>e.endsWith(".json")),r=[];for(let e of t)try{let t=await o.default.readFile(s.default.join(x,e),"utf-8"),a=JSON.parse(t);r.push({id:e.replace(".json",""),name:a.name,authLabel:a.authLabel||"unknown",createdAt:a.createdAt,hasConfig:!!a.configToml,hasAuth:!!a.authJson})}catch{}return r.sort((e,t)=>e.name.localeCompare(t.name)),n.NextResponse.json({profiles:r})}catch(e){return console.log("Error listing codex profiles:",e.message),n.NextResponse.json({error:"Failed to list profiles"},{status:500})}}async function g(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let r=(0,d.validateBody)(u.codexProfileNameSchema,t);if((0,d.isValidationFailure)(r))return n.NextResponse.json({error:r.error},{status:400});let{name:a}=r.data,l=(0,i.getCliConfigPaths)("codex");if(!l)return n.NextResponse.json({error:"Codex config paths not found"},{status:500});let c=null,f=null;try{c=await o.default.readFile(l.config,"utf-8")}catch{}try{f=await o.default.readFile(l.auth,"utf-8")}catch{}if(!c&&!f)return n.NextResponse.json({error:"No Codex configuration files found to save"},{status:400});let h=a.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),g={name:a.trim(),createdAt:new Date().toISOString(),authLabel:f?function(e){try{let t=JSON.parse(e);if(t.tokens?.id_token){let e=t.tokens.id_token.split(".")[1],r=JSON.parse(Buffer.from(e,"base64").toString());if(r.email)return r.email}if(t.auth_mode)return t.auth_mode;if(t.OPENAI_API_KEY)return`API Key: ${t.OPENAI_API_KEY.slice(0,8)}...`;return"unknown"}catch{return"unknown"}}(f):"no-auth",configToml:c,authJson:f};await p();let R=s.default.join(x,`${h}.json`);return await o.default.writeFile(R,JSON.stringify(g,null,2)),n.NextResponse.json({success:!0,message:`Profile "${a}" saved successfully`,profileId:h})}catch(e){return console.log("Error saving codex profile:",e.message),n.NextResponse.json({error:"Failed to save profile"},{status:500})}}async function R(t){let r;try{r=await t.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let t,a=(0,i.ensureCliConfigWriteAllowed)();if(a)return n.NextResponse.json({error:a},{status:403});let l=(0,d.validateBody)(u.codexProfileIdSchema,r);if((0,d.isValidationFailure)(l))return n.NextResponse.json({error:l.error},{status:400});let{profileId:c}=l.data,f=s.default.join(x,`${c}.json`);try{let e=await o.default.readFile(f,"utf-8");t=JSON.parse(e)}catch{return n.NextResponse.json({error:`Profile "${c}" not found`},{status:404})}let p=(0,i.getCliConfigPaths)("codex");if(!p)return n.NextResponse.json({error:"Codex config paths not found"},{status:500});let{createMultiBackup:h}=await e.A(452484);return await h("codex",[p.config,p.auth]),await o.default.mkdir(s.default.dirname(p.config),{recursive:!0}),t.configToml&&await o.default.writeFile(p.config,t.configToml),t.authJson&&await o.default.writeFile(p.auth,t.authJson),n.NextResponse.json({success:!0,message:`Profile "${t.name}" activated`,profileId:c,restoredConfig:!!t.configToml,restoredAuth:!!t.authJson})}catch(e){return console.log("Error activating codex profile:",e.message),n.NextResponse.json({error:"Failed to activate profile"},{status:500})}}async function m(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,d.validateBody)(u.codexProfileIdSchema,t);if((0,d.isValidationFailure)(e))return n.NextResponse.json({error:e.error},{status:400});let{profileId:r}=e.data,a=s.default.join(x,`${r}.json`);try{await o.default.unlink(a)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({error:`Profile "${r}" not found`},{status:404});throw e}return n.NextResponse.json({success:!0,message:`Profile "${r}" deleted`})}catch(e){return console.log("Error deleting codex profile:",e.message),n.NextResponse.json({error:"Failed to delete profile"},{status:500})}}(0,c.ensureServerEntryExports)([h,g,R,m]),(0,a.registerServerReference)(h,"0071cb53a7a524aea6b274f619dbcb8a04fe691fbc",null),(0,a.registerServerReference)(g,"4087f7f600a21185b640b39d1ae152213c77fe64d8",null),(0,a.registerServerReference)(R,"40efa7eab3c4fae1a0d139af894412ed77e87c69b0",null),(0,a.registerServerReference)(m,"402507b63735fc4a75c315730c859a4e6d08c00f25",null),e.s(["DELETE",()=>m,"GET",()=>h,"POST",()=>g,"PUT",()=>R]),r()}catch(e){r(e)}},!1),57985,e=>e.a(async(t,r)=>{try{var a=e.i(747909),n=e.i(174017),o=e.i(996250),s=e.i(759756),i=e.i(561916),l=e.i(174677),u=e.i(869741),d=e.i(316795),c=e.i(487718),f=e.i(995169),p=e.i(47587),h=e.i(666012),g=e.i(570101),R=e.i(626937),m=e.i(10372),x=e.i(193695);e.i(52474);var v=e.i(600220),w=e.i(314251),y=t([w]);[w]=y.then?(await y)():y;let C=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/codex-profiles/route",pathname:"/api/cli-tools/codex-profiles",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/codex-profiles/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:j,workUnitAsyncStorage:A,serverHooks:b}=C;function N(){return(0,o.patchFetch)({workAsyncStorage:j,workUnitAsyncStorage:A})}async function E(e,t,r){C.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/cli-tools/codex-profiles/route";a=a.replace(/\/index$/,"")||"/";let o=await C.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!o)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:w,params:y,nextConfig:N,parsedUrl:E,isDraftMode:j,prerenderManifest:A,routerServerContext:b,isOnDemandRevalidate:P,revalidateOnlyGenerated:S,resolvedPathname:O,clientReferenceManifest:T,serverActionsManifest:I}=o,_=(0,u.normalizeAppPath)(a),k=!!(A.dynamicRoutes[_]||A.routes[O]),F=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,E,!1):t.end("This page could not be found"),null);if(k&&!j){let e=!!A.routes[O],t=A.dynamicRoutes[_];if(t&&!1===t.fallback&&!e){if(N.experimental.adapterPath)return await F();throw new x.NoFallbackError}}let $=null;!k||C.isDev||j||($=O,$="/index"===$?"/":$);let q=!0===C.isDev||!k,D=k&&!q;I&&T&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:T,serverActionsManifest:I});let H=e.method||"GET",U=(0,i.getTracer)(),J=U.getActiveScopeSpan(),M={params:y,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!N.experimental.authInterrupts},cacheComponents:!!N.cacheComponents,supportsDynamicResponse:q,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:N.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>C.onRequestError(e,t,a,n,b)},sharedContext:{buildId:w}},K=new d.NodeNextRequest(e),L=new d.NodeNextResponse(t),B=c.NextRequestAdapter.fromNodeNextRequest(K,(0,c.signalFromNodeResponse)(t));try{let o=async e=>C.handle(B,M).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==f.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${H} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${a}`)}),l=!!(0,s.getRequestMeta)(e,"minimalMode"),u=async s=>{var i,u;let d=async({previousCacheEntry:n})=>{try{if(!l&&P&&S&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await o(s);e.fetchMetrics=M.renderOpts.fetchMetrics;let i=M.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let u=M.renderOpts.collectedTags;if(!k)return await (0,h.sendResponse)(K,L,a,M.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(a.headers);u&&(t[m.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,n=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:P})},!1,b),t}},c=await C.handleResponse({req:e,nextConfig:N,cacheKey:$,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:S,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:l});if(!k)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(u=c.value)?void 0:u.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",P?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),j&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,g.fromNodeOutgoingHttpHeaders)(c.value.headers);return l&&k||f.delete(m.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,R.getCacheControlHeader)(c.cacheControl)),await (0,h.sendResponse)(K,L,new Response(c.value.body,{headers:f,status:c.value.status||200})),null};J?await u(J):await U.withPropagatedContext(e.headers,()=>U.trace(f.BaseServerSpan.handleRequest,{spanName:`${H} ${a}`,kind:i.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},u))}catch(t){if(t instanceof x.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:P})},!1,b),k)throw t;return await (0,h.sendResponse)(K,L,new Response(null,{status:500})),null}}e.s(["handler",()=>E,"patchFetch",()=>N,"routeModule",()=>C,"serverHooks",()=>b,"workAsyncStorage",()=>j,"workUnitAsyncStorage",()=>A]),r()}catch(e){r(e)}},!1)];
2
2
 
3
3
  //# sourceMappingURL=_4b8fd853._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[114902,e=>e.a(async(t,a)=>{try{var r=e.i(745015),n=e.i(89171),i=e.i(924868),o=e.i(814747),s=e.i(446786),l=e.i(266240),d=e.i(841788),u=e.i(197892),c=e.i(676088),p=e.i(200392);e.i(245272);var f=e.i(125852),h=e.i(195975),g=t([c,p]);[c,p]=g.then?(await g)():g;let w=o.default.join(s.default.homedir(),".local","share","kilo"),v=o.default.join(w,"auth.json");o.default.join(s.default.homedir(),".config","kilo");let C=async()=>{try{let e=await i.default.readFile(v,"utf-8");return JSON.parse(e)}catch(e){if("ENOENT"===e.code)return null;throw e}};async function m(){try{let e=await (0,l.getCliRuntimeStatus)("kilo");if(!e.installed||!e.runnable)return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:null,message:e.installed&&!e.runnable?"Kilo Code CLI is installed but not runnable":"Kilo Code CLI is not installed"});let t=await C(),a=null;try{let e=o.default.join(s.default.homedir(),".config","Code","User","settings.json"),t=await i.default.readFile(e,"utf-8"),r=JSON.parse(t);for(let[e,t]of(a={},Object.entries(r)))(e.startsWith("kilocode.")||e.startsWith("kilo-code.")||e.startsWith("kilo."))&&(a[e]=t)}catch{}return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:{auth:t?Object.keys(t):[],extensionSettings:a},hasOmniRoute:(e=>{if(!e)return!1;let t=e["openai-compatible"]||e.omniroute;if(!t)return!1;let a=t.baseUrl||t.baseURL||"";return a.includes("localhost")||a.includes("127.0.0.1")||a.includes("omniroute")})(t),authPath:v})}catch(e){return console.log("Error checking kilo settings:",e),n.NextResponse.json({error:"Failed to check kilo settings"},{status:500})}}async function R(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,l.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let a=(0,p.validateBody)(c.cliModelConfigSchema,t);if((0,p.isValidationFailure)(a))return n.NextResponse.json({error:a.error},{status:400});let{baseUrl:r,model:h}=a.data,{apiKey:g}=a.data,m="string"==typeof t?.keyId?t.keyId.trim():null;if(m)try{let e=await (0,f.getApiKeyById)(m);e?.key&&(g=e.key)}catch{}await i.default.mkdir(w,{recursive:!0}),await (0,d.createBackup)("kilo",v);let R={};try{let e=await i.default.readFile(v,"utf-8");R=JSON.parse(e)}catch{}let y=r.endsWith("/v1")?r:`${r}/v1`;R["openai-compatible"]={type:"api-key",apiKey:g||"sk_omniroute",baseUrl:y,model:h},await i.default.writeFile(v,JSON.stringify(R,null,2));try{let e=o.default.join(s.default.homedir(),".config","Code","User","settings.json"),t={};try{let a=await i.default.readFile(e,"utf-8");t=JSON.parse(a)}catch{}t["kilocode.customProvider"]={name:"OmniRoute",baseURL:y,apiKey:g||"sk_omniroute"},t["kilocode.defaultModel"]=h,await i.default.writeFile(e,JSON.stringify(t,null,2))}catch{}try{(0,u.saveCliToolLastConfigured)("kilo")}catch{}return n.NextResponse.json({success:!0,message:"Kilo Code settings applied successfully!",authPath:v})}catch(e){return console.log("Error updating kilo settings:",e),n.NextResponse.json({error:"Failed to update kilo settings"},{status:500})}}async function y(){try{let e=(0,l.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});await (0,d.createBackup)("kilo",v);let t={};try{let e=await i.default.readFile(v,"utf-8");t=JSON.parse(e)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({success:!0,message:"No settings file to reset"});throw e}delete t["openai-compatible"],delete t.omniroute,await i.default.writeFile(v,JSON.stringify(t,null,2));try{let e=o.default.join(s.default.homedir(),".config","Code","User","settings.json"),t=await i.default.readFile(e,"utf-8"),a=JSON.parse(t);delete a["kilocode.customProvider"],delete a["kilocode.defaultModel"],await i.default.writeFile(e,JSON.stringify(a,null,2))}catch{}try{(0,u.deleteCliToolLastConfigured)("kilo")}catch{}return n.NextResponse.json({success:!0,message:"OmniRoute settings removed from Kilo Code"})}catch(e){return console.log("Error resetting kilo settings:",e),n.NextResponse.json({error:"Failed to reset kilo settings"},{status:500})}}(0,h.ensureServerEntryExports)([m,R,y]),(0,r.registerServerReference)(m,"00d4a04c772c74c1f0e782900491e565abcfee9aee",null),(0,r.registerServerReference)(R,"40ea1ae2cd6b8755da495d417e7f8ea309a177c4d1",null),(0,r.registerServerReference)(y,"00970084114ab935a1e079d6c9cf872b9481ba31eb",null),e.s(["DELETE",()=>y,"GET",()=>m,"POST",()=>R]),a()}catch(e){a(e)}},!1),472224,e=>e.a(async(t,a)=>{try{var r=e.i(747909),n=e.i(174017),i=e.i(996250),o=e.i(759756),s=e.i(561916),l=e.i(174677),d=e.i(869741),u=e.i(316795),c=e.i(487718),p=e.i(995169),f=e.i(47587),h=e.i(666012),g=e.i(570101),m=e.i(626937),R=e.i(10372),y=e.i(193695);e.i(52474);var w=e.i(600220),v=e.i(114902),C=t([v]);[v]=C.then?(await C)():C;let k=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/kilo-settings/route",pathname:"/api/cli-tools/kilo-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/kilo-settings/route.ts",nextConfigOutput:"standalone",userland:v}),{workAsyncStorage:b,workUnitAsyncStorage:x,serverHooks:O}=k;function E(){return(0,i.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:x})}async function N(e,t,a){k.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/cli-tools/kilo-settings/route";r=r.replace(/\/index$/,"")||"/";let i=await k.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,params:C,nextConfig:E,parsedUrl:N,isDraftMode:b,prerenderManifest:x,routerServerContext:O,isOnDemandRevalidate:S,revalidateOnlyGenerated:j,resolvedPathname:A,clientReferenceManifest:P,serverActionsManifest:T}=i,U=(0,d.normalizeAppPath)(r),F=!!(x.dynamicRoutes[U]||x.routes[A]),I=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,N,!1):t.end("This page could not be found"),null);if(F&&!b){let e=!!x.routes[A],t=x.dynamicRoutes[U];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await I();throw new y.NoFallbackError}}let _=null;!F||k.isDev||b||(_=A,_="/index"===_?"/":_);let M=!0===k.isDev||!F,H=F&&!M;T&&P&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:P,serverActionsManifest:T});let q=e.method||"GET",K=(0,s.getTracer)(),D=K.getActiveScopeSpan(),L={params:C,prerenderManifest:x,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:M,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>k.onRequestError(e,t,r,n,O)},sharedContext:{buildId:v}},J=new u.NodeNextRequest(e),$=new u.NodeNextResponse(t),B=c.NextRequestAdapter.fromNodeNextRequest(J,(0,c.signalFromNodeResponse)(t));try{let i=async e=>k.handle(B,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=K.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${q} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${q} ${r}`)}),l=!!(0,o.getRequestMeta)(e,"minimalMode"),d=async o=>{var s,d;let u=async({previousCacheEntry:n})=>{try{if(!l&&S&&j&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await i(o);e.fetchMetrics=L.renderOpts.fetchMetrics;let s=L.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let d=L.renderOpts.collectedTags;if(!F)return await (0,h.sendResponse)(J,$,r,L.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(r.headers);d&&(t[R.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,n=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await k.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:S})},!1,O),t}},c=await k.handleResponse({req:e,nextConfig:E,cacheKey:_,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:j,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:l});if(!F)return null;if((null==c||null==(s=c.value)?void 0:s.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",S?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,g.fromNodeOutgoingHttpHeaders)(c.value.headers);return l&&F||p.delete(R.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,m.getCacheControlHeader)(c.cacheControl)),await (0,h.sendResponse)(J,$,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};D?await d(D):await K.withPropagatedContext(e.headers,()=>K.trace(p.BaseServerSpan.handleRequest,{spanName:`${q} ${r}`,kind:s.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},d))}catch(t){if(t instanceof y.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:S})},!1,O),F)throw t;return await (0,h.sendResponse)(J,$,new Response(null,{status:500})),null}}e.s(["handler",()=>N,"patchFetch",()=>E,"routeModule",()=>k,"serverHooks",()=>O,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>x]),a()}catch(e){a(e)}},!1)];
1
+ module.exports=[114902,e=>e.a(async(t,a)=>{try{var r=e.i(745015),n=e.i(89171),i=e.i(924868),o=e.i(814747),s=e.i(446786),l=e.i(266240),d=e.i(841788),u=e.i(197892),c=e.i(676088),p=e.i(200392);e.i(245272);var f=e.i(125852),h=e.i(195975),g=t([c,p]);[c,p]=g.then?(await g)():g;let w=o.default.join(s.default.homedir(),".local","share","kilo"),v=o.default.join(w,"auth.json");o.default.join(s.default.homedir(),".config","kilo");let C=async()=>{try{let e=await i.default.readFile(v,"utf-8");return JSON.parse(e)}catch(e){if("ENOENT"===e.code)return null;throw e}};async function m(){try{let e=await (0,l.getCliRuntimeStatus)("kilo");if(!e.installed||!e.runnable)return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:null,message:e.installed&&!e.runnable?"Kilo Code CLI is installed but not runnable":"Kilo Code CLI is not installed"});let t=await C(),a=null;try{let e=o.default.join(s.default.homedir(),".config","Code","User","settings.json"),t=await i.default.readFile(e,"utf-8"),r=JSON.parse(t);for(let[e,t]of(a={},Object.entries(r)))(e.startsWith("kilocode.")||e.startsWith("kilo-code.")||e.startsWith("kilo."))&&(a[e]=t)}catch{}return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:{auth:t?Object.keys(t):[],extensionSettings:a},hasOmniRoute:(e=>{if(!e)return!1;let t=e["openai-compatible"]||e.omniroute;if(!t)return!1;let a=t.baseUrl||t.baseURL||"";return a.includes("localhost")||a.includes("127.0.0.1")||a.includes("omniroute")})(t),authPath:v})}catch(e){return console.log("Error checking kilo settings:",e),n.NextResponse.json({error:"Failed to check kilo settings"},{status:500})}}async function R(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,l.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let a=(0,p.validateBody)(c.cliModelConfigSchema,t);if((0,p.isValidationFailure)(a))return n.NextResponse.json({error:a.error},{status:400});let{baseUrl:r,model:h}=a.data,{apiKey:g}=a.data,m="string"==typeof t?.keyId?t.keyId.trim():null;if(m)try{let e=await (0,f.getApiKeyById)(m);e?.key&&(g=e.key)}catch{}await i.default.mkdir(w,{recursive:!0}),await (0,d.createBackup)("kilo",v);let R={};try{let e=await i.default.readFile(v,"utf-8");R=JSON.parse(e)}catch{}let y=r.endsWith("/v1")?r:`${r}/v1`;R["openai-compatible"]={type:"api-key",apiKey:g||"sk_omniroute",baseUrl:y,model:h},await i.default.writeFile(v,JSON.stringify(R,null,2));try{let e=o.default.join(s.default.homedir(),".config","Code","User","settings.json"),t={};try{let a=await i.default.readFile(e,"utf-8");t=JSON.parse(a)}catch{}t["kilocode.customProvider"]={name:"OmniRoute",baseURL:y,apiKey:g||"sk_omniroute"},t["kilocode.defaultModel"]=h,await i.default.writeFile(e,JSON.stringify(t,null,2))}catch{}try{(0,u.saveCliToolLastConfigured)("kilo")}catch{}return n.NextResponse.json({success:!0,message:"Kilo Code settings applied successfully!",authPath:v})}catch(e){return console.log("Error updating kilo settings:",e),n.NextResponse.json({error:"Failed to update kilo settings"},{status:500})}}async function y(){try{let e=(0,l.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});await (0,d.createBackup)("kilo",v);let t={};try{let e=await i.default.readFile(v,"utf-8");t=JSON.parse(e)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({success:!0,message:"No settings file to reset"});throw e}delete t["openai-compatible"],delete t.omniroute,await i.default.writeFile(v,JSON.stringify(t,null,2));try{let e=o.default.join(s.default.homedir(),".config","Code","User","settings.json"),t=await i.default.readFile(e,"utf-8"),a=JSON.parse(t);delete a["kilocode.customProvider"],delete a["kilocode.defaultModel"],await i.default.writeFile(e,JSON.stringify(a,null,2))}catch{}try{(0,u.deleteCliToolLastConfigured)("kilo")}catch{}return n.NextResponse.json({success:!0,message:"OmniRoute settings removed from Kilo Code"})}catch(e){return console.log("Error resetting kilo settings:",e),n.NextResponse.json({error:"Failed to reset kilo settings"},{status:500})}}(0,h.ensureServerEntryExports)([m,R,y]),(0,r.registerServerReference)(m,"00bf7e2f8b5a2ba3859c509bb3977c4b3d38795456",null),(0,r.registerServerReference)(R,"409f0a83227dfdd82fc2fa21d8b85d2cd426b19055",null),(0,r.registerServerReference)(y,"00a0c42377cca0beeace1c4c5bc968a22c7bf5d4af",null),e.s(["DELETE",()=>y,"GET",()=>m,"POST",()=>R]),a()}catch(e){a(e)}},!1),472224,e=>e.a(async(t,a)=>{try{var r=e.i(747909),n=e.i(174017),i=e.i(996250),o=e.i(759756),s=e.i(561916),l=e.i(174677),d=e.i(869741),u=e.i(316795),c=e.i(487718),p=e.i(995169),f=e.i(47587),h=e.i(666012),g=e.i(570101),m=e.i(626937),R=e.i(10372),y=e.i(193695);e.i(52474);var w=e.i(600220),v=e.i(114902),C=t([v]);[v]=C.then?(await C)():C;let N=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/kilo-settings/route",pathname:"/api/cli-tools/kilo-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/kilo-settings/route.ts",nextConfigOutput:"standalone",userland:v}),{workAsyncStorage:k,workUnitAsyncStorage:x,serverHooks:O}=N;function E(){return(0,i.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:x})}async function b(e,t,a){N.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/cli-tools/kilo-settings/route";r=r.replace(/\/index$/,"")||"/";let i=await N.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,params:C,nextConfig:E,parsedUrl:b,isDraftMode:k,prerenderManifest:x,routerServerContext:O,isOnDemandRevalidate:S,revalidateOnlyGenerated:j,resolvedPathname:A,clientReferenceManifest:P,serverActionsManifest:T}=i,U=(0,d.normalizeAppPath)(r),F=!!(x.dynamicRoutes[U]||x.routes[A]),I=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,b,!1):t.end("This page could not be found"),null);if(F&&!k){let e=!!x.routes[A],t=x.dynamicRoutes[U];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await I();throw new y.NoFallbackError}}let _=null;!F||N.isDev||k||(_=A,_="/index"===_?"/":_);let M=!0===N.isDev||!F,H=F&&!M;T&&P&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:P,serverActionsManifest:T});let q=e.method||"GET",K=(0,s.getTracer)(),D=K.getActiveScopeSpan(),L={params:C,prerenderManifest:x,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:M,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>N.onRequestError(e,t,r,n,O)},sharedContext:{buildId:v}},J=new u.NodeNextRequest(e),$=new u.NodeNextResponse(t),B=c.NextRequestAdapter.fromNodeNextRequest(J,(0,c.signalFromNodeResponse)(t));try{let i=async e=>N.handle(B,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=K.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${q} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${q} ${r}`)}),l=!!(0,o.getRequestMeta)(e,"minimalMode"),d=async o=>{var s,d;let u=async({previousCacheEntry:n})=>{try{if(!l&&S&&j&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await i(o);e.fetchMetrics=L.renderOpts.fetchMetrics;let s=L.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let d=L.renderOpts.collectedTags;if(!F)return await (0,h.sendResponse)(J,$,r,L.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(r.headers);d&&(t[R.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,n=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await N.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:S})},!1,O),t}},c=await N.handleResponse({req:e,nextConfig:E,cacheKey:_,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:j,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:l});if(!F)return null;if((null==c||null==(s=c.value)?void 0:s.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",S?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),k&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,g.fromNodeOutgoingHttpHeaders)(c.value.headers);return l&&F||p.delete(R.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,m.getCacheControlHeader)(c.cacheControl)),await (0,h.sendResponse)(J,$,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};D?await d(D):await K.withPropagatedContext(e.headers,()=>K.trace(p.BaseServerSpan.handleRequest,{spanName:`${q} ${r}`,kind:s.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},d))}catch(t){if(t instanceof y.NoFallbackError||await N.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:S})},!1,O),F)throw t;return await (0,h.sendResponse)(J,$,new Response(null,{status:500})),null}}e.s(["handler",()=>b,"patchFetch",()=>E,"routeModule",()=>N,"serverHooks",()=>O,"workAsyncStorage",()=>k,"workUnitAsyncStorage",()=>x]),a()}catch(e){a(e)}},!1)];
2
2
 
3
3
  //# sourceMappingURL=_68683848._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[815058,e=>e.a(async(t,r)=>{try{var a=e.i(745015),n=e.i(89171),s=e.i(924868),o=e.i(814747),i=e.i(266240),l=e.i(841788),d=e.i(197892),u=e.i(676088),c=e.i(200392);e.i(245272);var p=e.i(125852),m=e.i(195975),h=t([u,c]);[u,c]=h.then?(await h)():h;let y=()=>(0,i.getCliPrimaryConfigPath)("droid"),v=async()=>{try{let e=y(),t=await s.default.readFile(e,"utf-8");return JSON.parse(t)}catch(e){if("ENOENT"===e.code)return null;throw e}};async function f(){try{let e=await (0,i.getCliRuntimeStatus)("droid");if(!e.installed||!e.runnable)return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:null,message:e.installed&&!e.runnable?"Factory Droid CLI is installed but not runnable":"Factory Droid CLI is not installed"});let t=await v();return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:t,hasOmniRoute:!!t&&!!t.customModels&&t.customModels.some(e=>"custom:OmniRoute-0"===e.id),settingsPath:y()})}catch(e){return console.log("Error checking droid settings:",e),n.NextResponse.json({error:"Failed to check droid settings"},{status:500})}}async function g(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let r=(0,c.validateBody)(u.cliModelConfigSchema,t);if((0,c.isValidationFailure)(r))return n.NextResponse.json({error:r.error},{status:400});let{baseUrl:a,model:m}=r.data,{apiKey:h}=r.data,f="string"==typeof t?.keyId?t.keyId.trim():null;if(f)try{let e=await (0,p.getApiKeyById)(f);e?.key&&(h=e.key)}catch{}let g=o.default.dirname(y()),R=y();await s.default.mkdir(g,{recursive:!0}),await (0,l.createBackup)("droid",R);let v={};try{let e=await s.default.readFile(R,"utf-8");v=JSON.parse(e)}catch{}v.customModels||(v.customModels=[]),v.customModels=v.customModels.filter(e=>"custom:OmniRoute-0"!==e.id);let w=a.endsWith("/v1")?a:`${a}/v1`,E={model:m,id:"custom:OmniRoute-0",index:0,baseUrl:w,apiKey:h||"your_api_key",displayName:m,maxOutputTokens:131072,noImageSupport:!1,provider:"openai"};v.customModels.unshift(E),await s.default.writeFile(R,JSON.stringify(v,null,2));try{(0,d.saveCliToolLastConfigured)("droid")}catch{}return n.NextResponse.json({success:!0,message:"Factory Droid settings applied successfully!",settingsPath:R})}catch(e){return console.log("Error updating droid settings:",e),n.NextResponse.json({error:"Failed to update droid settings"},{status:500})}}async function R(){try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let t=y();await (0,l.createBackup)("droid",t);let r={};try{let e=await s.default.readFile(t,"utf-8");r=JSON.parse(e)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({success:!0,message:"No settings file to reset"});throw e}r.customModels&&(r.customModels=r.customModels.filter(e=>"custom:OmniRoute-0"!==e.id),0===r.customModels.length&&delete r.customModels),await s.default.writeFile(t,JSON.stringify(r,null,2));try{(0,d.deleteCliToolLastConfigured)("droid")}catch{}return n.NextResponse.json({success:!0,message:"OmniRoute settings removed successfully"})}catch(e){return console.log("Error resetting droid settings:",e),n.NextResponse.json({error:"Failed to reset droid settings"},{status:500})}}(0,m.ensureServerEntryExports)([f,g,R]),(0,a.registerServerReference)(f,"00424bee19d21f6c8a43eca274a2d7405bbe54d1ab",null),(0,a.registerServerReference)(g,"40e47dd2de7d01945ebe3a48efe8440a692ffca542",null),(0,a.registerServerReference)(R,"0061da4e8a71a2163bf36ba437c5021d13d8b0500e",null),e.s(["DELETE",()=>R,"GET",()=>f,"POST",()=>g]),r()}catch(e){r(e)}},!1),122141,e=>e.a(async(t,r)=>{try{var a=e.i(747909),n=e.i(174017),s=e.i(996250),o=e.i(759756),i=e.i(561916),l=e.i(174677),d=e.i(869741),u=e.i(316795),c=e.i(487718),p=e.i(995169),m=e.i(47587),h=e.i(666012),f=e.i(570101),g=e.i(626937),R=e.i(10372),y=e.i(193695);e.i(52474);var v=e.i(600220),w=e.i(815058),E=t([w]);[w]=E.then?(await E)():E;let x=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/droid-settings/route",pathname:"/api/cli-tools/droid-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/droid-settings/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:b,workUnitAsyncStorage:O,serverHooks:S}=x;function C(){return(0,s.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:O})}async function N(e,t,r){x.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/cli-tools/droid-settings/route";a=a.replace(/\/index$/,"")||"/";let s=await x.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:w,params:E,nextConfig:C,parsedUrl:N,isDraftMode:b,prerenderManifest:O,routerServerContext:S,isOnDemandRevalidate:A,revalidateOnlyGenerated:T,resolvedPathname:P,clientReferenceManifest:M,serverActionsManifest:k}=s,I=(0,d.normalizeAppPath)(a),_=!!(O.dynamicRoutes[I]||O.routes[P]),j=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,N,!1):t.end("This page could not be found"),null);if(_&&!b){let e=!!O.routes[P],t=O.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(C.experimental.adapterPath)return await j();throw new y.NoFallbackError}}let F=null;!_||x.isDev||b||(F=P,F="/index"===F?"/":F);let D=!0===x.isDev||!_,H=_&&!D;k&&M&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:M,serverActionsManifest:k});let U=e.method||"GET",q=(0,i.getTracer)(),K=q.getActiveScopeSpan(),L={params:E,prerenderManifest:O,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:D,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:C.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>x.onRequestError(e,t,a,n,S)},sharedContext:{buildId:w}},$=new u.NodeNextRequest(e),B=new u.NodeNextResponse(t),J=c.NextRequestAdapter.fromNodeNextRequest($,(0,c.signalFromNodeResponse)(t));try{let s=async e=>x.handle(J,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=q.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${U} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${a}`)}),l=!!(0,o.getRequestMeta)(e,"minimalMode"),d=async o=>{var i,d;let u=async({previousCacheEntry:n})=>{try{if(!l&&A&&T&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await s(o);e.fetchMetrics=L.renderOpts.fetchMetrics;let i=L.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let d=L.renderOpts.collectedTags;if(!_)return await (0,h.sendResponse)($,B,a,L.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);d&&(t[R.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,n=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await x.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,S),t}},c=await x.handleResponse({req:e,nextConfig:C,cacheKey:F,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:T,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:l});if(!_)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",A?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return l&&_||p.delete(R.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,h.sendResponse)($,B,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};K?await d(K):await q.withPropagatedContext(e.headers,()=>q.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${a}`,kind:i.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},d))}catch(t){if(t instanceof y.NoFallbackError||await x.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,S),_)throw t;return await (0,h.sendResponse)($,B,new Response(null,{status:500})),null}}e.s(["handler",()=>N,"patchFetch",()=>C,"routeModule",()=>x,"serverHooks",()=>S,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>O]),r()}catch(e){r(e)}},!1)];
1
+ module.exports=[815058,e=>e.a(async(t,r)=>{try{var a=e.i(745015),n=e.i(89171),s=e.i(924868),o=e.i(814747),i=e.i(266240),l=e.i(841788),d=e.i(197892),u=e.i(676088),c=e.i(200392);e.i(245272);var p=e.i(125852),m=e.i(195975),h=t([u,c]);[u,c]=h.then?(await h)():h;let y=()=>(0,i.getCliPrimaryConfigPath)("droid"),v=async()=>{try{let e=y(),t=await s.default.readFile(e,"utf-8");return JSON.parse(t)}catch(e){if("ENOENT"===e.code)return null;throw e}};async function f(){try{let e=await (0,i.getCliRuntimeStatus)("droid");if(!e.installed||!e.runnable)return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:null,message:e.installed&&!e.runnable?"Factory Droid CLI is installed but not runnable":"Factory Droid CLI is not installed"});let t=await v();return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:t,hasOmniRoute:!!t&&!!t.customModels&&t.customModels.some(e=>"custom:OmniRoute-0"===e.id),settingsPath:y()})}catch(e){return console.log("Error checking droid settings:",e),n.NextResponse.json({error:"Failed to check droid settings"},{status:500})}}async function g(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let r=(0,c.validateBody)(u.cliModelConfigSchema,t);if((0,c.isValidationFailure)(r))return n.NextResponse.json({error:r.error},{status:400});let{baseUrl:a,model:m}=r.data,{apiKey:h}=r.data,f="string"==typeof t?.keyId?t.keyId.trim():null;if(f)try{let e=await (0,p.getApiKeyById)(f);e?.key&&(h=e.key)}catch{}let g=o.default.dirname(y()),R=y();await s.default.mkdir(g,{recursive:!0}),await (0,l.createBackup)("droid",R);let v={};try{let e=await s.default.readFile(R,"utf-8");v=JSON.parse(e)}catch{}v.customModels||(v.customModels=[]),v.customModels=v.customModels.filter(e=>"custom:OmniRoute-0"!==e.id);let w=a.endsWith("/v1")?a:`${a}/v1`,E={model:m,id:"custom:OmniRoute-0",index:0,baseUrl:w,apiKey:h||"your_api_key",displayName:m,maxOutputTokens:131072,noImageSupport:!1,provider:"openai"};v.customModels.unshift(E),await s.default.writeFile(R,JSON.stringify(v,null,2));try{(0,d.saveCliToolLastConfigured)("droid")}catch{}return n.NextResponse.json({success:!0,message:"Factory Droid settings applied successfully!",settingsPath:R})}catch(e){return console.log("Error updating droid settings:",e),n.NextResponse.json({error:"Failed to update droid settings"},{status:500})}}async function R(){try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let t=y();await (0,l.createBackup)("droid",t);let r={};try{let e=await s.default.readFile(t,"utf-8");r=JSON.parse(e)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({success:!0,message:"No settings file to reset"});throw e}r.customModels&&(r.customModels=r.customModels.filter(e=>"custom:OmniRoute-0"!==e.id),0===r.customModels.length&&delete r.customModels),await s.default.writeFile(t,JSON.stringify(r,null,2));try{(0,d.deleteCliToolLastConfigured)("droid")}catch{}return n.NextResponse.json({success:!0,message:"OmniRoute settings removed successfully"})}catch(e){return console.log("Error resetting droid settings:",e),n.NextResponse.json({error:"Failed to reset droid settings"},{status:500})}}(0,m.ensureServerEntryExports)([f,g,R]),(0,a.registerServerReference)(f,"0044a5010813ed2035df7c6e459040df576aa98bf6",null),(0,a.registerServerReference)(g,"405a51708552e031684ca0815144143129921d4c9e",null),(0,a.registerServerReference)(R,"000e7aaa5cad4a9bcc11fa8c500182b2c8f3a44029",null),e.s(["DELETE",()=>R,"GET",()=>f,"POST",()=>g]),r()}catch(e){r(e)}},!1),122141,e=>e.a(async(t,r)=>{try{var a=e.i(747909),n=e.i(174017),s=e.i(996250),o=e.i(759756),i=e.i(561916),l=e.i(174677),d=e.i(869741),u=e.i(316795),c=e.i(487718),p=e.i(995169),m=e.i(47587),h=e.i(666012),f=e.i(570101),g=e.i(626937),R=e.i(10372),y=e.i(193695);e.i(52474);var v=e.i(600220),w=e.i(815058),E=t([w]);[w]=E.then?(await E)():E;let x=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/droid-settings/route",pathname:"/api/cli-tools/droid-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/droid-settings/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:O,workUnitAsyncStorage:b,serverHooks:S}=x;function C(){return(0,s.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:b})}async function N(e,t,r){x.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/cli-tools/droid-settings/route";a=a.replace(/\/index$/,"")||"/";let s=await x.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:w,params:E,nextConfig:C,parsedUrl:N,isDraftMode:O,prerenderManifest:b,routerServerContext:S,isOnDemandRevalidate:A,revalidateOnlyGenerated:T,resolvedPathname:P,clientReferenceManifest:M,serverActionsManifest:k}=s,I=(0,d.normalizeAppPath)(a),_=!!(b.dynamicRoutes[I]||b.routes[P]),j=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,N,!1):t.end("This page could not be found"),null);if(_&&!O){let e=!!b.routes[P],t=b.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(C.experimental.adapterPath)return await j();throw new y.NoFallbackError}}let F=null;!_||x.isDev||O||(F=P,F="/index"===F?"/":F);let D=!0===x.isDev||!_,H=_&&!D;k&&M&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:M,serverActionsManifest:k});let U=e.method||"GET",q=(0,i.getTracer)(),K=q.getActiveScopeSpan(),L={params:E,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:D,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:C.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>x.onRequestError(e,t,a,n,S)},sharedContext:{buildId:w}},$=new u.NodeNextRequest(e),B=new u.NodeNextResponse(t),J=c.NextRequestAdapter.fromNodeNextRequest($,(0,c.signalFromNodeResponse)(t));try{let s=async e=>x.handle(J,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=q.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${U} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${a}`)}),l=!!(0,o.getRequestMeta)(e,"minimalMode"),d=async o=>{var i,d;let u=async({previousCacheEntry:n})=>{try{if(!l&&A&&T&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await s(o);e.fetchMetrics=L.renderOpts.fetchMetrics;let i=L.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let d=L.renderOpts.collectedTags;if(!_)return await (0,h.sendResponse)($,B,a,L.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);d&&(t[R.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,n=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await x.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,S),t}},c=await x.handleResponse({req:e,nextConfig:C,cacheKey:F,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:T,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:l});if(!_)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",A?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),O&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return l&&_||p.delete(R.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,h.sendResponse)($,B,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};K?await d(K):await q.withPropagatedContext(e.headers,()=>q.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${a}`,kind:i.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},d))}catch(t){if(t instanceof y.NoFallbackError||await x.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,S),_)throw t;return await (0,h.sendResponse)($,B,new Response(null,{status:500})),null}}e.s(["handler",()=>N,"patchFetch",()=>C,"routeModule",()=>x,"serverHooks",()=>S,"workAsyncStorage",()=>O,"workUnitAsyncStorage",()=>b]),r()}catch(e){r(e)}},!1)];
2
2
 
3
3
  //# sourceMappingURL=_ee9b677b._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[47998,e=>{"use strict";var a=e.i(446786);let i=Object.freeze(["temperature","top_p","frequency_penalty","presence_penalty","logprobs","top_logprobs","n"]),n={format:"claude",executor:"default",baseUrl:"https://api.kimi.com/coding/v1/messages",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}]},t={claude:{id:"claude",alias:"cc",format:"claude",executor:"default",baseUrl:"https://api.anthropic.com/v1/messages",urlSuffix:"?beta=true",authType:"oauth",authHeader:"x-api-key",defaultContextLength:2e5,headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/2.1.63 (external, cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.3.0","X-Stainless-Package-Version":"0.74.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":function(){switch((0,a.arch)()){case"x64":return"x64";case"arm64":return"arm64";case"ia32":return"x86";default:return`other::${(0,a.arch)()}`}}(),"X-Stainless-Os":function(){switch((0,a.platform)()){case"darwin":return"MacOS";case"win32":return"Windows";case"linux":return"Linux";default:return`Other::${(0,a.platform)()}`}}(),"X-Stainless-Timeout":"600"},oauth:{clientIdEnv:"CLAUDE_OAUTH_CLIENT_ID",clientIdDefault:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",tokenUrl:"https://console.anthropic.com/v1/oauth/token"},models:[{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6",name:"Claude 4.6 Sonnet"},{id:"claude-opus-4-5-20251101",name:"Claude 4.5 Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude 4.5 Sonnet"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}]},gemini:{id:"gemini",alias:"gemini",format:"gemini",executor:"default",baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",urlBuilder:(e,a,i)=>`${e}/${a}:${i?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"apikey",authHeader:"x-goog-api-key",defaultContextLength:1e6,oauth:{clientIdEnv:"GEMINI_OAUTH_CLIENT_ID",clientIdDefault:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecretEnv:"GEMINI_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"gemini-3.1-pro-high",name:"Gemini 3.1 Pro High"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro Low"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3-1-pro",name:"Gemini 3.1 Pro (Alt ID)"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"gemini-2.0-flash-exp",name:"Gemini 2.0 Flash Exp"},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro"},{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash"}]},"gemini-cli":{id:"gemini-cli",alias:"gc",format:"gemini-cli",executor:"gemini-cli",baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",urlBuilder:(e,a,i)=>`${e}:${i?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"oauth",authHeader:"bearer",defaultContextLength:1e6,oauth:{clientIdEnv:"GEMINI_CLI_OAUTH_CLIENT_ID",clientIdDefault:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecretEnv:"GEMINI_CLI_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"gemini-3.1-pro-high",name:"Gemini 3.1 Pro High"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro Low"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3-1-pro",name:"Gemini 3.1 Pro (Alt ID)"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro"},{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash"}]},codex:{id:"codex",alias:"cx",format:"openai-responses",executor:"codex",baseUrl:"https://chatgpt.com/backend-api/codex/responses",authType:"oauth",authHeader:"bearer",defaultContextLength:4e5,headers:{Version:"0.92.0","Openai-Beta":"responses=experimental","User-Agent":"codex-cli/0.92.0 (Windows 10.0.26100; x64)"},oauth:{clientIdEnv:"CODEX_OAUTH_CLIENT_ID",clientIdDefault:"app_EMoamEEZ73f0CkXaXp7hrann",clientSecretEnv:"CODEX_OAUTH_CLIENT_SECRET",clientSecretDefault:"",tokenUrl:"https://auth.openai.com/oauth/token"},models:[{id:"gpt-5.4",name:"GPT 5.4"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"},{id:"gpt-5.3-codex-xhigh",name:"GPT 5.3 Codex (xHigh)"},{id:"gpt-5.3-codex-high",name:"GPT 5.3 Codex (High)"},{id:"gpt-5.3-codex-low",name:"GPT 5.3 Codex (Low)"},{id:"gpt-5.3-codex-none",name:"GPT 5.3 Codex (None)"},{id:"gpt-5.1-codex-mini",name:"GPT 5.1 Codex Mini"},{id:"gpt-5.1-codex-mini-high",name:"GPT 5.1 Codex Mini (High)"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.1-codex-max",name:"GPT 5.1 Codex Max"},{id:"gpt-5.1-codex",name:"GPT 5.1 Codex"},{id:"gpt-5.1",name:"GPT 5.1"},{id:"gpt-5-codex",name:"GPT 5 Codex"},{id:"gpt-5-codex-mini",name:"GPT 5 Codex Mini"}]},qwen:{id:"qwen",alias:"qw",format:"openai",executor:"default",baseUrl:"https://portal.qwen.ai/v1/chat/completions",authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"QwenCode/0.12.3 (linux; x64)","X-Dashscope-AuthType":"qwen-oauth","X-Dashscope-CacheControl":"enable","X-Dashscope-UserAgent":"QwenCode/0.12.3 (linux; x64)","X-Stainless-Arch":"x64","X-Stainless-Lang":"js","X-Stainless-Os":"Linux","X-Stainless-Package-Version":"5.11.0","X-Stainless-Retry-Count":"1","X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":"v18.19.1",Connection:"keep-alive","Accept-Language":"*","Sec-Fetch-Mode":"cors"},oauth:{clientIdEnv:"QWEN_OAUTH_CLIENT_ID",clientIdDefault:"f0304373b74a44d2b584a3fb70ca9e56",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",authUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code"},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash"},{id:"vision-model",name:"Qwen3 Vision Model"},{id:"coder-model",name:"Qwen3.5 (Coder Model)"}]},iflow:{id:"iflow",alias:"if",format:"openai",executor:"iflow",baseUrl:"https://apis.iflow.cn/v1/chat/completions",authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"iFlow-Cli"},oauth:{clientIdEnv:"IFLOW_OAUTH_CLIENT_ID",clientIdDefault:"10009311001",clientSecretEnv:"IFLOW_OAUTH_CLIENT_SECRET",clientSecretDefault:"",tokenUrl:"https://iflow.cn/oauth/token",authUrl:"https://iflow.cn/oauth"},models:[{id:"iflow-rome-30ba3b",name:"iFlow ROME"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-max",name:"Qwen3 Max"},{id:"qwen3-vl-plus",name:"Qwen3 Vision Plus"},{id:"kimi-k2-0905",name:"Kimi K2 0905"},{id:"qwen3-max-preview",name:"Qwen3 Max Preview"},{id:"kimi-k2",name:"Kimi K2"},{id:"deepseek-v3.2",name:"DeepSeek-V3.2-Exp"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"deepseek-v3",name:"DeepSeek V3"},{id:"qwen3-32b",name:"Qwen3 32B"},{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507"},{id:"qwen3-235b-a22b-instruct",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-235b",name:"Qwen3 235B"}]},antigravity:{id:"antigravity",alias:"ag",format:"antigravity",executor:"antigravity",baseUrls:["https://daily-cloudcode-pa.googleapis.com","https://daily-cloudcode-pa.sandbox.googleapis.com","https://cloudcode-pa.googleapis.com"],urlBuilder:(e,a,i)=>`${e}${i?"/v1internal:streamGenerateContent?alt=sse":"/v1internal:generateContent"}`,authType:"oauth",authHeader:"bearer",headers:{"User-Agent":`antigravity/1.107.0 ${(0,a.platform)()}/${(0,a.arch)()}`},oauth:{clientIdEnv:"ANTIGRAVITY_OAUTH_CLIENT_ID",clientIdDefault:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecretEnv:"ANTIGRAVITY_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"gpt-oss-120b-medium",name:"GPT OSS 120B Medium"}]},github:{id:"github",alias:"gh",format:"openai",executor:"github",baseUrl:"https://api.githubcopilot.com/chat/completions",responsesBaseUrl:"https://api.githubcopilot.com/responses",authType:"oauth",authHeader:"bearer",defaultContextLength:128e3,headers:{"copilot-integration-id":"vscode-chat","editor-version":"vscode/1.110.0","editor-plugin-version":"copilot-chat/0.38.0","user-agent":"GitHubCopilotChat/0.38.0","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:"application/json","Content-Type":"application/json"},models:[{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4",name:"GPT-4"},{id:"gpt-3.5-turbo",name:"GPT-3.5 Turbo"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-codex",name:"GPT-5 Codex",targetFormat:"openai-responses"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",targetFormat:"openai-responses"},{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini",targetFormat:"openai-responses"},{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",targetFormat:"openai-responses"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",targetFormat:"openai-responses"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-opus-4.1",name:"Claude Opus 4.1"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5 (Full ID)"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"grok-code-fast-1",name:"Grok Code Fast 1"},{id:"oswe-vscode-prime",name:"Raptor Mini"}]},kiro:{id:"kiro",alias:"kr",format:"kiro",executor:"kiro",baseUrl:"https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse",authType:"oauth",authHeader:"bearer",defaultContextLength:2e5,headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","X-Amz-Target":"AmazonCodeWhispererStreamingService.GenerateAssistantResponse","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},oauth:{tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev"},models:[{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"}]},cursor:{id:"cursor",alias:"cu",format:"cursor",executor:"cursor",baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",authType:"oauth",authHeader:"bearer",defaultContextLength:2e5,headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"1.1.3",models:[{id:"default",name:"Auto (Server Picks)"},{id:"claude-4.5-opus-high-thinking",name:"Claude 4.5 Opus High Thinking"},{id:"claude-4.5-opus-high",name:"Claude 4.5 Opus High"},{id:"claude-4.5-sonnet-thinking",name:"Claude 4.5 Sonnet Thinking"},{id:"claude-4.5-sonnet",name:"Claude 4.5 Sonnet"},{id:"claude-4.5-haiku",name:"Claude 4.5 Haiku"},{id:"claude-4.5-opus",name:"Claude 4.5 Opus"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"}]},openai:{id:"openai",alias:"openai",format:"openai",executor:"default",baseUrl:"https://api.openai.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",defaultContextLength:128e3,models:[{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"o1",name:"O1",unsupportedParams:i},{id:"o1-mini",name:"O1 Mini",unsupportedParams:i},{id:"o1-pro",name:"O1 Pro",unsupportedParams:i},{id:"o3",name:"O3",unsupportedParams:i},{id:"o3-mini",name:"O3 Mini",unsupportedParams:i}]},anthropic:{id:"anthropic",alias:"anthropic",format:"claude",executor:"default",baseUrl:"https://api.anthropic.com/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",defaultContextLength:2e5,headers:{"Anthropic-Version":"2023-06-01"},models:[{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"claude-sonnet-4-6-20251031",name:"Claude Sonnet 4.6 (Dated)"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4-20250514",name:"Claude Opus 4"},{id:"claude-opus-4-6-20251031",name:"Claude Opus 4.6 (Dated)"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"}]},"opencode-go":{id:"opencode-go",alias:"opencode-go",format:"openai",executor:"opencode",baseUrl:"https://opencode.ai/zen/go/v1",testKeyBaseUrl:"https://opencode.ai/zen/v1",authType:"apikey",authHeader:"Authorization",authPrefix:"Bearer",defaultContextLength:2e5,models:[{id:"glm-5",name:"GLM-5"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"minimax-m2.7",name:"MiniMax M2.7",targetFormat:"claude"},{id:"minimax-m2.5",name:"MiniMax M2.5",targetFormat:"claude"}]},"opencode-zen":{id:"opencode-zen",alias:"opencode-zen",format:"openai",executor:"opencode",baseUrl:"https://opencode.ai/zen/v1",authType:"apikey",authHeader:"Authorization",authPrefix:"Bearer",defaultContextLength:2e5,models:[{id:"minimax-m2.5-free",name:"MiniMax M2.5 Free"},{id:"big-pickle",name:"Big Pickle"},{id:"gpt-5-nano",name:"GPT 5 Nano"}]},openrouter:{id:"openrouter",alias:"openrouter",format:"openai",executor:"default",baseUrl:"https://openrouter.ai/api/v1/chat/completions",authType:"apikey",authHeader:"bearer",defaultContextLength:128e3,headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"},models:[{id:"auto",name:"Auto (Best Available)"}]},glm:{id:"glm",alias:"glm",format:"claude",executor:"default",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",defaultContextLength:2e5,urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"glm-5",name:"GLM 5"},{id:"glm-5-turbo",name:"GLM 5 Turbo"},{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"},{id:"glm-4.6",name:"GLM 4.6"},{id:"glm-4.5v",name:"GLM 4.5V (Vision)"},{id:"glm-4.5",name:"GLM 4.5"},{id:"glm-4.5-air",name:"GLM 4.5 Air"},{id:"glm-4-32b",name:"GLM 4 32B"}]},"bailian-coding-plan":{id:"bailian-coding-plan",alias:"bcp",format:"claude",executor:"default",baseUrl:"https://coding-intl.dashscope.aliyuncs.com/apps/anthropic/v1/messages",chatPath:"/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max (2026-01-23)"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM 4.7"},{id:"kimi-k2.5",name:"Kimi K2.5"}]},zai:{id:"zai",alias:"zai",format:"claude",executor:"default",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"glm-5",name:"GLM 5"},{id:"glm-5-turbo",name:"GLM 5 Turbo"}]},kimi:{id:"kimi",alias:"kimi",format:"openai",executor:"default",baseUrl:"https://api.moonshot.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"},{id:"kimi-for-coding",name:"Kimi For Coding"}]},"kimi-coding":{id:"kimi-coding",alias:"kmc",...n,urlSuffix:"?beta=true",authType:"oauth",oauth:{clientIdEnv:"KIMI_CODING_OAUTH_CLIENT_ID",clientIdDefault:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token",authUrl:"https://auth.kimi.com/api/oauth/device_authorization"}},"kimi-coding-apikey":{id:"kimi-coding-apikey",alias:"kmca",...n,authType:"apikey"},kilocode:{id:"kilocode",alias:"kc",format:"openrouter",executor:"openrouter",baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",modelsUrl:"https://api.kilo.ai/api/openrouter/models",authType:"oauth",authHeader:"Authorization",authPrefix:"Bearer ",oauth:{initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"},models:[{id:"openrouter/free",name:"Free Models Router"},{id:"qwen/qwen3-vl-235b-a22b-thinking",name:"Qwen3 VL 235B A22B Thinking"},{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507"},{id:"qwen/qwen3-vl-30b-a3b-thinking",name:"Qwen3 VL 30B A3B Thinking"},{id:"stepfun/step-3.5-flash:free",name:"StepFun Step 3.5 Flash"},{id:"arcee-ai/trinity-large-preview:free",name:"Arcee AI Trinity Large Preview"},{id:"openai/gpt-4o-mini",name:"GPT-4o Mini"},{id:"openai/gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"openai/gpt-5-nano",name:"GPT-5 Nano"},{id:"openai/gpt-5-mini",name:"GPT-5 Mini"},{id:"anthropic/claude-3-haiku",name:"Claude 3 Haiku"},{id:"google/gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek V3.1"},{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2"},{id:"meta-llama/llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-scout",name:"Llama 4 Scout"},{id:"meta-llama/llama-4-maverick",name:"Llama 4 Maverick"},{id:"qwen/qwen3-8b",name:"Qwen3 8B"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"qwen/qwen3-coder",name:"Qwen3 Coder 480B"},{id:"qwen/qwq-32b",name:"QwQ 32B"},{id:"mistralai/mistral-small-24b-instruct-2501",name:"Mistral Small 3"},{id:"mistralai/mistral-7b-instruct",name:"Mistral 7B"},{id:"x-ai/grok-code-fast-1",name:"Grok Code Fast 1"},{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"}],passthroughModels:!0},cline:{id:"cline",alias:"cl",format:"openai",executor:"openai",baseUrl:"https://api.cline.bot/api/v1/chat/completions",authType:"oauth",authHeader:"Authorization",authPrefix:"Bearer ",oauth:{tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh",authUrl:"https://api.cline.bot/api/v1/auth/authorize"},extraHeaders:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},models:[{id:"anthropic/claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"anthropic/claude-opus-4-20250514",name:"Claude Opus 4"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"openai/gpt-4.1",name:"GPT-4.1"},{id:"openai/o3",name:"o3"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat"}],passthroughModels:!0},minimax:{id:"minimax",alias:"minimax",format:"claude",executor:"default",baseUrl:"https://api.minimax.io/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"minimax-m2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.7",name:"MiniMax M2.7 (Legacy Alias)"},{id:"minimax-m2.7-highspeed",name:"MiniMax M2.7 Highspeed"},{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5 (Legacy Alias)"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"}]},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",format:"claude",executor:"default",baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"minimax-m2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.7",name:"MiniMax M2.7 (Legacy Alias)"},{id:"minimax-m2.7-highspeed",name:"MiniMax M2.7 Highspeed"},{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5 (Legacy Alias)"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"}]},alicode:{id:"alicode",alias:"alicode",format:"openai",executor:"default",baseUrl:"https://coding.dashscope.aliyuncs.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},"alicode-intl":{id:"alicode-intl",alias:"alicode-intl",format:"openai",executor:"default",baseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},deepseek:{id:"deepseek",alias:"ds",format:"openai",executor:"default",baseUrl:"https://api.deepseek.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}]},groq:{id:"groq",alias:"groq",format:"openai",executor:"default",baseUrl:"https://api.groq.com/openai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B"}]},blackbox:{id:"blackbox",alias:"bb",format:"openai",executor:"default",baseUrl:"https://api.blackbox.ai/v1/chat/completions",modelsUrl:"https://api.blackbox.ai/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-4o",name:"GPT-4o"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"deepseek-v3",name:"DeepSeek V3"},{id:"blackboxai",name:"Blackbox AI"},{id:"blackboxai-pro",name:"Blackbox AI Pro"}]},xai:{id:"xai",alias:"xai",format:"openai",executor:"default",baseUrl:"https://api.x.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"grok-4-fast-non-reasoning",name:"Grok 4 Fast"},{id:"grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning"},{id:"grok-4-1-fast-non-reasoning",name:"Grok 4.1 Fast"},{id:"grok-4-1-fast-reasoning",name:"Grok 4.1 Fast Reasoning"},{id:"grok-4-0709",name:"Grok 4 (0709)"},{id:"grok-4",name:"Grok 4"},{id:"grok-3",name:"Grok 3"},{id:"grok-3-mini",name:"Grok 3 Mini"}]},mistral:{id:"mistral",alias:"mistral",format:"openai",executor:"default",baseUrl:"https://api.mistral.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"mistral-large-latest",name:"Mistral Large 3"},{id:"codestral-latest",name:"Codestral"},{id:"mistral-medium-latest",name:"Mistral Medium 3"}]},perplexity:{id:"perplexity",alias:"pplx",format:"openai",executor:"default",baseUrl:"https://api.perplexity.ai/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"sonar-pro",name:"Sonar Pro"},{id:"sonar",name:"Sonar"}]},together:{id:"together",alias:"together",format:"openai",executor:"default",baseUrl:"https://api.together.xyz/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo-Free",name:"Llama 3.3 70B Turbo (🆓 Free)"},{id:"meta-llama/Llama-Vision-Free",name:"Llama Vision (🆓 Free)"},{id:"deepseek-ai/DeepSeek-R1-Distill-Llama-70B-Free",name:"DeepSeek R1 Distill 70B (🆓 Free)"},{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Turbo"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"}]},fireworks:{id:"fireworks",alias:"fireworks",format:"openai",executor:"default",baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1"},{id:"accounts/fireworks/models/llama-v3p3-70b-instruct",name:"Llama 3.3 70B"},{id:"accounts/fireworks/models/qwen3-235b-a22b",name:"Qwen3 235B"}]},cerebras:{id:"cerebras",alias:"cerebras",format:"openai",executor:"default",baseUrl:"https://api.cerebras.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-oss-120b",name:"GPT OSS 120B"},{id:"zai-glm-4.7",name:"ZAI GLM 4.7"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout"},{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B"},{id:"qwen-3-32b",name:"Qwen3 32B"}]},"ollama-cloud":{id:"ollama-cloud",alias:"ollamacloud",format:"openai",executor:"default",baseUrl:"https://api.ollama.com/v1/chat/completions",modelsUrl:"https://api.ollama.com/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"gemma3:27b",name:"Gemma 3 27B"},{id:"llama3.3:70b",name:"Llama 3.3 70B"},{id:"qwen3:72b",name:"Qwen3 72B"},{id:"devstral:24b",name:"Devstral 24B"},{id:"deepseek-r2:671b",name:"DeepSeek R2 671B"},{id:"phi4:14b",name:"Phi 4 14B"},{id:"mistral-small3.2:24b",name:"Mistral Small 3.2 24B"}],passthroughModels:!0},cohere:{id:"cohere",alias:"cohere",format:"openai",executor:"default",baseUrl:"https://api.cohere.com/v2/chat",authType:"apikey",authHeader:"bearer",models:[{id:"command-r-plus-08-2024",name:"Command R+ (Aug 2024)"},{id:"command-r-08-2024",name:"Command R (Aug 2024)"},{id:"command-a-03-2025",name:"Command A (Mar 2025)"}]},nvidia:{id:"nvidia",alias:"nvidia",format:"openai",executor:"default",baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-oss-120b",name:"GPT OSS 120B",toolCalling:!1},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B (OpenAI Prefix)",toolCalling:!1},{id:"meta/llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"nvidia/llama-3.3-70b-instruct",name:"Llama 3.3 70B (NVIDIA Prefix)"},{id:"meta/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"z-ai/glm4.7",name:"GLM 4.7"},{id:"deepseek-ai/deepseek-v3.2",name:"DeepSeek V3.2"},{id:"deepseek/deepseek-r1",name:"DeepSeek R1"},{id:"nvidia/llama-3.1-70b-instruct",name:"Llama 3.1 70B"},{id:"nvidia/llama-3.1-405b-instruct",name:"Llama 3.1 405B"}]},nebius:{id:"nebius",alias:"nebius",format:"openai",executor:"default",baseUrl:"https://api.tokenfactory.nebius.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"}]},siliconflow:{id:"siliconflow",alias:"siliconflow",format:"openai",executor:"default",baseUrl:"https://api.siliconflow.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B"},{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3 Coder 480B"},{id:"Qwen/Qwen3-32B",name:"Qwen3 32B"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"zai-org/GLM-4.7",name:"GLM 4.7"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"baidu/ERNIE-4.5-300B-A47B",name:"ERNIE 4.5 300B"}]},hyperbolic:{id:"hyperbolic",alias:"hyp",format:"openai",executor:"default",baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"Qwen/QwQ-32B",name:"QwQ 32B"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"meta-llama/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B"},{id:"NousResearch/Hermes-3-Llama-3.1-70B",name:"Hermes 3 70B"}]},huggingface:{id:"huggingface",alias:"hf",format:"openai",executor:"default",baseUrl:"https://router.huggingface.co/hf-inference/models/meta-llama/Meta-Llama-3.1-70B-Instruct/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"meta-llama/Meta-Llama-3.1-70B-Instruct",name:"Llama 3.1 70B Instruct"},{id:"meta-llama/Meta-Llama-3.1-8B-Instruct",name:"Llama 3.1 8B Instruct"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"mistralai/Mistral-7B-Instruct-v0.3",name:"Mistral 7B v0.3"},{id:"microsoft/Phi-3.5-mini-instruct",name:"Phi-3.5 Mini"}]},synthetic:{id:"synthetic",alias:"synthetic",format:"openai",executor:"default",baseUrl:"https://api.synthetic.new/openai/v1/chat/completions",modelsUrl:"https://api.synthetic.new/openai/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"hf:nvidia/Kimi-K2.5-NVFP4",name:"Kimi K2.5 (NVFP4)"},{id:"hf:MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"hf:zai-org/GLM-4.7-Flash",name:"GLM 4.7 Flash"},{id:"hf:zai-org/GLM-4.7",name:"GLM 4.7"},{id:"hf:moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"hf:deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"}],passthroughModels:!0},"kilo-gateway":{id:"kilo-gateway",alias:"kg",format:"openai",executor:"default",baseUrl:"https://api.kilo.ai/api/gateway/chat/completions",modelsUrl:"https://api.kilo.ai/api/gateway/models",authType:"apikey",authHeader:"bearer",models:[{id:"kilo-auto/frontier",name:"Kilo Auto Frontier"},{id:"kilo-auto/balanced",name:"Kilo Auto Balanced"},{id:"kilo-auto/free",name:"Kilo Auto Free"},{id:"nvidia/nemotron-3-super-120b-a12b:free",name:"Nemotron 3 Super 120B (Free)"},{id:"minimax/minimax-m2.5:free",name:"MiniMax M2.5 (Free)"},{id:"arcee-ai/trinity-large-preview:free",name:"Trinity Large Preview (Free)"}],passthroughModels:!0},vertex:{id:"vertex",alias:"vertex",format:"gemini",executor:"vertex",baseUrl:"https://us-central1-aiplatform.googleapis.com/v1/projects",urlBuilder:(e,a,i)=>`https://generativelanguage.googleapis.com/v1beta/models/${a}:${i?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"apikey",authHeader:"bearer",models:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview (Vertex)"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview (Vertex)"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview (Vertex)"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (Vertex)"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash (Vertex)"},{id:"gemini-2.0-flash-thinking-exp",name:"Gemini 2.0 Flash Thinking Exp (Vertex)"},{id:"gemma-2-27b-it",name:"Gemma 2 27B (Vertex)"},{id:"deepseek-v3.2",name:"DeepSeek V3.2 (Vertex Partner)"},{id:"qwen3-next-80b",name:"Qwen3 Next 80B (Vertex Partner)"},{id:"glm-5",name:"GLM-5 (Vertex Partner)"},{id:"claude-opus-4-5@20251101",name:"Claude Opus 4.5 (Vertex)"},{id:"claude-sonnet-4-5@20251101",name:"Claude Sonnet 4.5 (Vertex)"}]},alibaba:{id:"alibaba",alias:"ali",format:"openai",executor:"default",baseUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions",modelsUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"qwen-max",name:"Qwen Max"},{id:"qwen-max-2025-01-25",name:"Qwen Max (2025-01-25)"},{id:"qwen-plus",name:"Qwen Plus"},{id:"qwen-plus-2025-07-14",name:"Qwen Plus (2025-07-14)"},{id:"qwen-turbo",name:"Qwen Turbo"},{id:"qwen-turbo-2025-11-01",name:"Qwen Turbo (2025-11-01)"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash"},{id:"qwq-plus",name:"QwQ Plus (Reasoning)"},{id:"qwq-32b",name:"QwQ 32B"},{id:"qwen3-32b",name:"Qwen3 32B"},{id:"qwen3-235b-a22b",name:"Qwen3 235B A22B"}],passthroughModels:!0},longcat:{id:"longcat",alias:"lc",format:"openai",executor:"default",baseUrl:"https://api.longcat.chat/openai",authType:"apikey",authHeader:"Authorization",authPrefix:"Bearer",models:[{id:"LongCat-Flash-Lite",name:"LongCat Flash-Lite (50M tok/day 🆓)"},{id:"LongCat-Flash-Chat",name:"LongCat Flash-Chat (500K tok/day 🆓)"},{id:"LongCat-Flash-Thinking",name:"LongCat Flash-Thinking (500K tok/day 🆓)"},{id:"LongCat-Flash-Thinking-2601",name:"LongCat Flash-Thinking-2601 (🆓)"},{id:"LongCat-Flash-Omni-2603",name:"LongCat Flash-Omni-2603 (🆓)"}]},pollinations:{id:"pollinations",alias:"pol",format:"openai",executor:"pollinations",baseUrl:"https://text.pollinations.ai/openai/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"openai",name:"GPT-5 via Pollinations (🆓)"},{id:"claude",name:"Claude via Pollinations (🆓)"},{id:"gemini",name:"Gemini via Pollinations (🆓)"},{id:"deepseek",name:"DeepSeek V3 via Pollinations (🆓)"},{id:"llama",name:"Llama 4 via Pollinations (🆓)"},{id:"mistral",name:"Mistral via Pollinations (🆓)"}]},puter:{id:"puter",alias:"pu",format:"openai",executor:"puter",baseUrl:"https://api.puter.com/puterai/openai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-4o-mini",name:"GPT-4o Mini (🆓 Puter)"},{id:"gpt-4o",name:"GPT-4o (Puter)"},{id:"gpt-4.1",name:"GPT-4.1 (Puter)"},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini (Puter)"},{id:"gpt-5-nano",name:"GPT-5 Nano (Puter)"},{id:"gpt-5-mini",name:"GPT-5 Mini (Puter)"},{id:"gpt-5",name:"GPT-5 (Puter)"},{id:"o3-mini",name:"OpenAI o3-mini (Puter)"},{id:"o3",name:"OpenAI o3 (Puter)"},{id:"o4-mini",name:"OpenAI o4-mini (Puter)"},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5 (Puter)"},{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5 (Puter)"},{id:"claude-opus-4-5",name:"Claude Opus 4.5 (Puter)"},{id:"claude-sonnet-4",name:"Claude Sonnet 4 (Puter)"},{id:"claude-opus-4",name:"Claude Opus 4 (Puter)"},{id:"google/gemini-2.0-flash",name:"Gemini 2.0 Flash (Puter)"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash (Puter)"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro (Puter)"},{id:"google/gemini-3-flash",name:"Gemini 3 Flash (Puter)"},{id:"google/gemini-3-pro",name:"Gemini 3 Pro (Puter)"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat (Puter)"},{id:"deepseek/deepseek-r1",name:"DeepSeek R1 (Puter)"},{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2 (Puter)"},{id:"x-ai/grok-3",name:"Grok 3 (Puter)"},{id:"x-ai/grok-3-mini",name:"Grok 3 Mini (Puter)"},{id:"x-ai/grok-4",name:"Grok 4 (Puter)"},{id:"x-ai/grok-4-fast",name:"Grok 4 Fast (Puter)"},{id:"llama-4-scout",name:"Llama 4 Scout (Puter)"},{id:"llama-4-maverick",name:"Llama 4 Maverick (Puter)"},{id:"llama-3.3-70b-instruct",name:"Llama 3.3 70B (Puter)"},{id:"mistral-small-latest",name:"Mistral Small (Puter)"},{id:"mistral-medium-latest",name:"Mistral Medium (Puter)"},{id:"open-mistral-nemo",name:"Mistral Nemo (Puter)"},{id:"qwen/qwen3-235b-a22b",name:"Qwen3 235B (Puter)"},{id:"qwen/qwen3-32b",name:"Qwen3 32B (Puter)"},{id:"qwen/qwen3-coder",name:"Qwen3 Coder 480B (Puter)"}],passthroughModels:!0},"cloudflare-ai":{id:"cloudflare-ai",alias:"cf",format:"openai",executor:"cloudflare-ai",baseUrl:"https://api.cloudflare.com/client/v4/accounts",authType:"apikey",authHeader:"bearer",models:[{id:"@cf/meta/llama-3.3-70b-instruct",name:"Llama 3.3 70B (🆓 ~150 resp/day)"},{id:"@cf/meta/llama-3.1-8b-instruct",name:"Llama 3.1 8B (🆓)"},{id:"@cf/google/gemma-3-12b-it",name:"Gemma 3 12B (🆓)"},{id:"@cf/mistral/mistral-7b-instruct-v0.2-lora",name:"Mistral 7B (🆓)"},{id:"@cf/qwen/qwen2.5-coder-15b-instruct",name:"Qwen 2.5 Coder 15B (🆓)"},{id:"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b",name:"DeepSeek R1 Distill 32B (🆓)"}]},scaleway:{id:"scaleway",alias:"scw",format:"openai",executor:"default",baseUrl:"https://api.scaleway.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"qwen3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B (1M free tok 🆓)"},{id:"llama-3.1-70b-instruct",name:"Llama 3.1 70B (🆓 EU)"},{id:"llama-3.1-8b-instruct",name:"Llama 3.1 8B (🆓 EU)"},{id:"mistral-small-3.2-24b-instruct-2506",name:"Mistral Small 3.2 (🆓 EU)"},{id:"deepseek-v3-0324",name:"DeepSeek V3 (🆓 EU)"},{id:"gpt-oss-120b",name:"GPT-OSS 120B (🆓 EU)"}]},aimlapi:{id:"aimlapi",alias:"aiml",format:"openai",executor:"default",baseUrl:"https://api.aimlapi.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-4o",name:"GPT-4o (via AI/ML API)"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet (via AI/ML API)"},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro (via AI/ML API)"},{id:"meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo",name:"Llama 3.1 70B (via AI/ML API)"},{id:"deepseek-chat",name:"DeepSeek Chat (via AI/ML API)"},{id:"mistral-large-latest",name:"Mistral Large (via AI/ML API)"}],passthroughModels:!0}};[..."u">typeof process&&process.env.LOCAL_HOSTNAMES?process.env.LOCAL_HOSTNAMES.split(",").map(e=>e.trim()).filter(Boolean):[]];let o=new Map;for(let e of Object.values(t))e.alias&&e.alias!==e.id&&o.set(e.alias,e);let r=new Map;for(let e of Object.values(t))for(let a of e.models)a.unsupportedParams&&!r.has(a.id)&&r.set(a.id,a.unsupportedParams);let m=function(){let e={};for(let a of Object.values(t))if(a.models&&a.models.length>0){let i=a.alias||a.id;e[i]||(e[i]=a.models)}return e}(),l=function(){let e={};for(let a of Object.values(t))e[a.id]=a.alias||a.id;return e}();function d(e){return m[e]||[]}function s(e){let a=m[e];return a?.[0]?.id||null}function p(e,a,i=new Set){if(i.has(e))return!0;let n=m[e];return!!n&&n.some(e=>e.id===a)}function u(e,a){let i=m[e];if(!i)return a;let n=i.find(e=>e.id===a);return n?.name||a}function c(e,a){let i=m[e];if(!i)return null;let n=i.find(e=>e.id===a);return n?.targetFormat||null}function h(e){return m[l[e]||e]||[]}e.s(["PROVIDER_ID_TO_ALIAS",0,l,"PROVIDER_MODELS",0,m,"findModelName",()=>u,"getDefaultModel",()=>s,"getModelTargetFormat",()=>c,"getModelsByProviderId",()=>h,"getProviderModels",()=>d,"isValidModel",()=>p],47998)}];
1
+ module.exports=[47998,e=>{"use strict";var a=e.i(446786);let i=Object.freeze(["temperature","top_p","frequency_penalty","presence_penalty","logprobs","top_logprobs","n"]),n={format:"claude",executor:"default",baseUrl:"https://api.kimi.com/coding/v1/messages",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}]},t={claude:{id:"claude",alias:"cc",format:"claude",executor:"default",baseUrl:"https://api.anthropic.com/v1/messages",urlSuffix:"?beta=true",authType:"oauth",authHeader:"x-api-key",defaultContextLength:2e5,headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/2.1.63 (external, cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.3.0","X-Stainless-Package-Version":"0.74.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":function(){switch((0,a.arch)()){case"x64":return"x64";case"arm64":return"arm64";case"ia32":return"x86";default:return`other::${(0,a.arch)()}`}}(),"X-Stainless-Os":function(){switch((0,a.platform)()){case"darwin":return"MacOS";case"win32":return"Windows";case"linux":return"Linux";default:return`Other::${(0,a.platform)()}`}}(),"X-Stainless-Timeout":"600"},oauth:{clientIdEnv:"CLAUDE_OAUTH_CLIENT_ID",clientIdDefault:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",tokenUrl:"https://console.anthropic.com/v1/oauth/token"},models:[{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6",name:"Claude 4.6 Sonnet"},{id:"claude-opus-4-5-20251101",name:"Claude 4.5 Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude 4.5 Sonnet"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}]},gemini:{id:"gemini",alias:"gemini",format:"gemini",executor:"default",baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",urlBuilder:(e,a,i)=>`${e}/${a}:${i?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"apikey",authHeader:"x-goog-api-key",defaultContextLength:1e6,oauth:{clientIdEnv:"GEMINI_OAUTH_CLIENT_ID",clientIdDefault:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecretEnv:"GEMINI_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"gemini-3.1-pro-high",name:"Gemini 3.1 Pro High"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro Low"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3-1-pro",name:"Gemini 3.1 Pro (Alt ID)"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"gemini-2.0-flash-exp",name:"Gemini 2.0 Flash Exp"},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro"},{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash"}]},"gemini-cli":{id:"gemini-cli",alias:"gc",format:"gemini-cli",executor:"gemini-cli",baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",urlBuilder:(e,a,i)=>`${e}:${i?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"oauth",authHeader:"bearer",defaultContextLength:1e6,oauth:{clientIdEnv:"GEMINI_CLI_OAUTH_CLIENT_ID",clientIdDefault:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecretEnv:"GEMINI_CLI_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"gemini-3.1-pro-high",name:"Gemini 3.1 Pro High"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro Low"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3-1-pro",name:"Gemini 3.1 Pro (Alt ID)"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro"},{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash"}]},codex:{id:"codex",alias:"cx",format:"openai-responses",executor:"codex",baseUrl:"https://chatgpt.com/backend-api/codex/responses",authType:"oauth",authHeader:"bearer",defaultContextLength:4e5,headers:{Version:"0.92.0","Openai-Beta":"responses=experimental","User-Agent":"codex-cli/0.92.0 (Windows 10.0.26100; x64)"},oauth:{clientIdEnv:"CODEX_OAUTH_CLIENT_ID",clientIdDefault:"app_EMoamEEZ73f0CkXaXp7hrann",clientSecretEnv:"CODEX_OAUTH_CLIENT_SECRET",clientSecretDefault:"",tokenUrl:"https://auth.openai.com/oauth/token"},models:[{id:"gpt-5.4",name:"GPT 5.4"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"},{id:"gpt-5.3-codex-xhigh",name:"GPT 5.3 Codex (xHigh)"},{id:"gpt-5.3-codex-high",name:"GPT 5.3 Codex (High)"},{id:"gpt-5.3-codex-low",name:"GPT 5.3 Codex (Low)"},{id:"gpt-5.3-codex-none",name:"GPT 5.3 Codex (None)"},{id:"gpt-5.1-codex-mini",name:"GPT 5.1 Codex Mini"},{id:"gpt-5.1-codex-mini-high",name:"GPT 5.1 Codex Mini (High)"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.1-codex-max",name:"GPT 5.1 Codex Max"},{id:"gpt-5.1-codex",name:"GPT 5.1 Codex"},{id:"gpt-5.1",name:"GPT 5.1"},{id:"gpt-5-codex",name:"GPT 5 Codex"},{id:"gpt-5-codex-mini",name:"GPT 5 Codex Mini"}]},qwen:{id:"qwen",alias:"qw",format:"openai",executor:"default",baseUrl:"https://portal.qwen.ai/v1/chat/completions",authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"QwenCode/0.12.3 (linux; x64)","X-Dashscope-AuthType":"qwen-oauth","X-Dashscope-CacheControl":"enable","X-Dashscope-UserAgent":"QwenCode/0.12.3 (linux; x64)","X-Stainless-Arch":"x64","X-Stainless-Lang":"js","X-Stainless-Os":"Linux","X-Stainless-Package-Version":"5.11.0","X-Stainless-Retry-Count":"1","X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":"v18.19.1",Connection:"keep-alive","Accept-Language":"*","Sec-Fetch-Mode":"cors"},oauth:{clientIdEnv:"QWEN_OAUTH_CLIENT_ID",clientIdDefault:"f0304373b74a44d2b584a3fb70ca9e56",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",authUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code"},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash"},{id:"vision-model",name:"Qwen3 Vision Model"},{id:"coder-model",name:"Qwen3.5 (Coder Model)"}]},iflow:{id:"iflow",alias:"if",format:"openai",executor:"iflow",baseUrl:"https://apis.iflow.cn/v1/chat/completions",authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"iFlow-Cli"},oauth:{clientIdEnv:"IFLOW_OAUTH_CLIENT_ID",clientIdDefault:"10009311001",clientSecretEnv:"IFLOW_OAUTH_CLIENT_SECRET",clientSecretDefault:"",tokenUrl:"https://iflow.cn/oauth/token",authUrl:"https://iflow.cn/oauth"},models:[{id:"iflow-rome-30ba3b",name:"iFlow ROME"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-max",name:"Qwen3 Max"},{id:"qwen3-vl-plus",name:"Qwen3 Vision Plus"},{id:"kimi-k2-0905",name:"Kimi K2 0905"},{id:"qwen3-max-preview",name:"Qwen3 Max Preview"},{id:"kimi-k2",name:"Kimi K2"},{id:"deepseek-v3.2",name:"DeepSeek-V3.2-Exp"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"deepseek-v3",name:"DeepSeek V3"},{id:"qwen3-32b",name:"Qwen3 32B"},{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507"},{id:"qwen3-235b-a22b-instruct",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-235b",name:"Qwen3 235B"}]},antigravity:{id:"antigravity",alias:"ag",format:"antigravity",executor:"antigravity",baseUrls:["https://daily-cloudcode-pa.googleapis.com","https://daily-cloudcode-pa.sandbox.googleapis.com","https://cloudcode-pa.googleapis.com"],urlBuilder:(e,a,i)=>`${e}${i?"/v1internal:streamGenerateContent?alt=sse":"/v1internal:generateContent"}`,authType:"oauth",authHeader:"bearer",headers:{"User-Agent":`antigravity/1.107.0 ${(0,a.platform)()}/${(0,a.arch)()}`},oauth:{clientIdEnv:"ANTIGRAVITY_OAUTH_CLIENT_ID",clientIdDefault:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecretEnv:"ANTIGRAVITY_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"gpt-oss-120b-medium",name:"GPT OSS 120B Medium"}]},github:{id:"github",alias:"gh",format:"openai",executor:"github",baseUrl:"https://api.githubcopilot.com/chat/completions",responsesBaseUrl:"https://api.githubcopilot.com/responses",authType:"oauth",authHeader:"bearer",defaultContextLength:128e3,headers:{"copilot-integration-id":"vscode-chat","editor-version":"vscode/1.110.0","editor-plugin-version":"copilot-chat/0.38.0","user-agent":"GitHubCopilotChat/0.38.0","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:"application/json","Content-Type":"application/json"},models:[{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4",name:"GPT-4"},{id:"gpt-3.5-turbo",name:"GPT-3.5 Turbo"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-codex",name:"GPT-5 Codex",targetFormat:"openai-responses"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",targetFormat:"openai-responses"},{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini",targetFormat:"openai-responses"},{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",targetFormat:"openai-responses"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",targetFormat:"openai-responses"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-opus-4.1",name:"Claude Opus 4.1"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5 (Full ID)"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"grok-code-fast-1",name:"Grok Code Fast 1"},{id:"oswe-vscode-prime",name:"Raptor Mini"}]},kiro:{id:"kiro",alias:"kr",format:"kiro",executor:"kiro",baseUrl:"https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse",authType:"oauth",authHeader:"bearer",defaultContextLength:2e5,headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","X-Amz-Target":"AmazonCodeWhispererStreamingService.GenerateAssistantResponse","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},oauth:{tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev"},models:[{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"}]},cursor:{id:"cursor",alias:"cu",format:"cursor",executor:"cursor",baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",authType:"oauth",authHeader:"bearer",defaultContextLength:2e5,headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"1.1.3",models:[{id:"default",name:"Auto (Server Picks)"},{id:"claude-4.5-opus-high-thinking",name:"Claude 4.5 Opus High Thinking"},{id:"claude-4.5-opus-high",name:"Claude 4.5 Opus High"},{id:"claude-4.5-sonnet-thinking",name:"Claude 4.5 Sonnet Thinking"},{id:"claude-4.5-sonnet",name:"Claude 4.5 Sonnet"},{id:"claude-4.5-haiku",name:"Claude 4.5 Haiku"},{id:"claude-4.5-opus",name:"Claude 4.5 Opus"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"}]},openai:{id:"openai",alias:"openai",format:"openai",executor:"default",baseUrl:"https://api.openai.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",defaultContextLength:128e3,models:[{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"o1",name:"O1",unsupportedParams:i},{id:"o1-mini",name:"O1 Mini",unsupportedParams:i},{id:"o1-pro",name:"O1 Pro",unsupportedParams:i},{id:"o3",name:"O3",unsupportedParams:i},{id:"o3-mini",name:"O3 Mini",unsupportedParams:i}]},anthropic:{id:"anthropic",alias:"anthropic",format:"claude",executor:"default",baseUrl:"https://api.anthropic.com/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",defaultContextLength:2e5,headers:{"Anthropic-Version":"2023-06-01"},models:[{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"claude-sonnet-4-6-20251031",name:"Claude Sonnet 4.6 (Dated)"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4-20250514",name:"Claude Opus 4"},{id:"claude-opus-4-6-20251031",name:"Claude Opus 4.6 (Dated)"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"}]},"opencode-go":{id:"opencode-go",alias:"opencode-go",format:"openai",executor:"opencode",baseUrl:"https://opencode.ai/zen/go/v1",testKeyBaseUrl:"https://opencode.ai/zen/v1",authType:"apikey",authHeader:"Authorization",authPrefix:"Bearer",defaultContextLength:2e5,models:[{id:"glm-5",name:"GLM-5"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"minimax-m2.7",name:"MiniMax M2.7",targetFormat:"claude"},{id:"minimax-m2.5",name:"MiniMax M2.5",targetFormat:"claude"}]},"opencode-zen":{id:"opencode-zen",alias:"opencode-zen",format:"openai",executor:"opencode",baseUrl:"https://opencode.ai/zen/v1",authType:"apikey",authHeader:"Authorization",authPrefix:"Bearer",defaultContextLength:2e5,models:[{id:"minimax-m2.5-free",name:"MiniMax M2.5 Free"},{id:"big-pickle",name:"Big Pickle"},{id:"gpt-5-nano",name:"GPT 5 Nano"}]},openrouter:{id:"openrouter",alias:"openrouter",format:"openai",executor:"default",baseUrl:"https://openrouter.ai/api/v1/chat/completions",authType:"apikey",authHeader:"bearer",defaultContextLength:128e3,headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"},models:[{id:"auto",name:"Auto (Best Available)"}]},glm:{id:"glm",alias:"glm",format:"claude",executor:"default",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",defaultContextLength:2e5,urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"glm-5",name:"GLM 5"},{id:"glm-5-turbo",name:"GLM 5 Turbo"},{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"},{id:"glm-4.6",name:"GLM 4.6"},{id:"glm-4.5v",name:"GLM 4.5V (Vision)"},{id:"glm-4.5",name:"GLM 4.5"},{id:"glm-4.5-air",name:"GLM 4.5 Air"},{id:"glm-4-32b",name:"GLM 4 32B"}]},"bailian-coding-plan":{id:"bailian-coding-plan",alias:"bcp",format:"claude",executor:"default",baseUrl:"https://coding-intl.dashscope.aliyuncs.com/apps/anthropic/v1/messages",chatPath:"/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max (2026-01-23)"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM 4.7"},{id:"kimi-k2.5",name:"Kimi K2.5"}]},zai:{id:"zai",alias:"zai",format:"claude",executor:"default",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"glm-5",name:"GLM 5"},{id:"glm-5-turbo",name:"GLM 5 Turbo"}]},kimi:{id:"kimi",alias:"kimi",format:"openai",executor:"default",baseUrl:"https://api.moonshot.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"},{id:"kimi-for-coding",name:"Kimi For Coding"}]},"kimi-coding":{id:"kimi-coding",alias:"kmc",...n,urlSuffix:"?beta=true",authType:"oauth",oauth:{clientIdEnv:"KIMI_CODING_OAUTH_CLIENT_ID",clientIdDefault:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token",authUrl:"https://auth.kimi.com/api/oauth/device_authorization"}},"kimi-coding-apikey":{id:"kimi-coding-apikey",alias:"kmca",...n,authType:"apikey"},kilocode:{id:"kilocode",alias:"kc",format:"openrouter",executor:"openrouter",baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",modelsUrl:"https://api.kilo.ai/api/openrouter/models",authType:"oauth",authHeader:"Authorization",authPrefix:"Bearer ",oauth:{initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"},models:[{id:"openrouter/free",name:"Free Models Router"},{id:"qwen/qwen3-vl-235b-a22b-thinking",name:"Qwen3 VL 235B A22B Thinking"},{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507"},{id:"qwen/qwen3-vl-30b-a3b-thinking",name:"Qwen3 VL 30B A3B Thinking"},{id:"stepfun/step-3.5-flash:free",name:"StepFun Step 3.5 Flash"},{id:"arcee-ai/trinity-large-preview:free",name:"Arcee AI Trinity Large Preview"},{id:"openai/gpt-4o-mini",name:"GPT-4o Mini"},{id:"openai/gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"openai/gpt-5-nano",name:"GPT-5 Nano"},{id:"openai/gpt-5-mini",name:"GPT-5 Mini"},{id:"anthropic/claude-3-haiku",name:"Claude 3 Haiku"},{id:"google/gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek V3.1"},{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2"},{id:"meta-llama/llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-scout",name:"Llama 4 Scout"},{id:"meta-llama/llama-4-maverick",name:"Llama 4 Maverick"},{id:"qwen/qwen3-8b",name:"Qwen3 8B"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"qwen/qwen3-coder",name:"Qwen3 Coder 480B"},{id:"qwen/qwq-32b",name:"QwQ 32B"},{id:"mistralai/mistral-small-24b-instruct-2501",name:"Mistral Small 3"},{id:"mistralai/mistral-7b-instruct",name:"Mistral 7B"},{id:"x-ai/grok-code-fast-1",name:"Grok Code Fast 1"},{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"}],passthroughModels:!0},cline:{id:"cline",alias:"cl",format:"openai",executor:"openai",baseUrl:"https://api.cline.bot/api/v1/chat/completions",authType:"oauth",authHeader:"Authorization",authPrefix:"Bearer ",oauth:{tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh",authUrl:"https://api.cline.bot/api/v1/auth/authorize"},extraHeaders:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},models:[{id:"anthropic/claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"anthropic/claude-opus-4-20250514",name:"Claude Opus 4"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"openai/gpt-4.1",name:"GPT-4.1"},{id:"openai/o3",name:"o3"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat"}],passthroughModels:!0},minimax:{id:"minimax",alias:"minimax",format:"claude",executor:"default",baseUrl:"https://api.minimax.io/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"minimax-m2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.7",name:"MiniMax M2.7 (Legacy Alias)"},{id:"minimax-m2.7-highspeed",name:"MiniMax M2.7 Highspeed"},{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5 (Legacy Alias)"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"}]},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",format:"claude",executor:"default",baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"minimax-m2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.7",name:"MiniMax M2.7 (Legacy Alias)"},{id:"minimax-m2.7-highspeed",name:"MiniMax M2.7 Highspeed"},{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5 (Legacy Alias)"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"}]},alicode:{id:"alicode",alias:"alicode",format:"openai",executor:"default",baseUrl:"https://coding.dashscope.aliyuncs.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},"alicode-intl":{id:"alicode-intl",alias:"alicode-intl",format:"openai",executor:"default",baseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},deepseek:{id:"deepseek",alias:"ds",format:"openai",executor:"default",baseUrl:"https://api.deepseek.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}]},groq:{id:"groq",alias:"groq",format:"openai",executor:"default",baseUrl:"https://api.groq.com/openai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B"}]},blackbox:{id:"blackbox",alias:"bb",format:"openai",executor:"default",baseUrl:"https://api.blackbox.ai/v1/chat/completions",modelsUrl:"https://api.blackbox.ai/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-4o",name:"GPT-4o"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"deepseek-v3",name:"DeepSeek V3"},{id:"blackboxai",name:"Blackbox AI"},{id:"blackboxai-pro",name:"Blackbox AI Pro"}]},xai:{id:"xai",alias:"xai",format:"openai",executor:"default",baseUrl:"https://api.x.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"grok-4-fast-non-reasoning",name:"Grok 4 Fast"},{id:"grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning"},{id:"grok-4-1-fast-non-reasoning",name:"Grok 4.1 Fast"},{id:"grok-4-1-fast-reasoning",name:"Grok 4.1 Fast Reasoning"},{id:"grok-4-0709",name:"Grok 4 (0709)"},{id:"grok-4",name:"Grok 4"},{id:"grok-3",name:"Grok 3"},{id:"grok-3-mini",name:"Grok 3 Mini"}]},mistral:{id:"mistral",alias:"mistral",format:"openai",executor:"default",baseUrl:"https://api.mistral.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"mistral-large-latest",name:"Mistral Large 3"},{id:"codestral-latest",name:"Codestral"},{id:"mistral-medium-latest",name:"Mistral Medium 3"}]},perplexity:{id:"perplexity",alias:"pplx",format:"openai",executor:"default",baseUrl:"https://api.perplexity.ai/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"sonar-pro",name:"Sonar Pro"},{id:"sonar",name:"Sonar"}]},together:{id:"together",alias:"together",format:"openai",executor:"default",baseUrl:"https://api.together.xyz/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo-Free",name:"Llama 3.3 70B Turbo (🆓 Free)"},{id:"meta-llama/Llama-Vision-Free",name:"Llama Vision (🆓 Free)"},{id:"deepseek-ai/DeepSeek-R1-Distill-Llama-70B-Free",name:"DeepSeek R1 Distill 70B (🆓 Free)"},{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Turbo"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"}]},fireworks:{id:"fireworks",alias:"fireworks",format:"openai",executor:"default",baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1"},{id:"accounts/fireworks/models/llama-v3p3-70b-instruct",name:"Llama 3.3 70B"},{id:"accounts/fireworks/models/qwen3-235b-a22b",name:"Qwen3 235B"}]},cerebras:{id:"cerebras",alias:"cerebras",format:"openai",executor:"default",baseUrl:"https://api.cerebras.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-oss-120b",name:"GPT OSS 120B"},{id:"zai-glm-4.7",name:"ZAI GLM 4.7"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout"},{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B"},{id:"qwen-3-32b",name:"Qwen3 32B"}]},"ollama-cloud":{id:"ollama-cloud",alias:"ollamacloud",format:"openai",executor:"default",baseUrl:"https://api.ollama.com/v1/chat/completions",modelsUrl:"https://api.ollama.com/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"gemma3:27b",name:"Gemma 3 27B"},{id:"llama3.3:70b",name:"Llama 3.3 70B"},{id:"qwen3:72b",name:"Qwen3 72B"},{id:"devstral:24b",name:"Devstral 24B"},{id:"deepseek-r2:671b",name:"DeepSeek R2 671B"},{id:"phi4:14b",name:"Phi 4 14B"},{id:"mistral-small3.2:24b",name:"Mistral Small 3.2 24B"}],passthroughModels:!0},cohere:{id:"cohere",alias:"cohere",format:"openai",executor:"default",baseUrl:"https://api.cohere.com/v2/chat",authType:"apikey",authHeader:"bearer",models:[{id:"command-r-plus-08-2024",name:"Command R+ (Aug 2024)"},{id:"command-r-08-2024",name:"Command R (Aug 2024)"},{id:"command-a-03-2025",name:"Command A (Mar 2025)"}]},nvidia:{id:"nvidia",alias:"nvidia",format:"openai",executor:"default",baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-oss-120b",name:"GPT OSS 120B",toolCalling:!1},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B (OpenAI Prefix)",toolCalling:!1},{id:"meta/llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"nvidia/llama-3.3-70b-instruct",name:"Llama 3.3 70B (NVIDIA Prefix)"},{id:"meta/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"z-ai/glm4.7",name:"GLM 4.7"},{id:"deepseek-ai/deepseek-v3.2",name:"DeepSeek V3.2"},{id:"deepseek/deepseek-r1",name:"DeepSeek R1"},{id:"nvidia/llama-3.1-70b-instruct",name:"Llama 3.1 70B"},{id:"nvidia/llama-3.1-405b-instruct",name:"Llama 3.1 405B"}]},nebius:{id:"nebius",alias:"nebius",format:"openai",executor:"default",baseUrl:"https://api.tokenfactory.nebius.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"}]},siliconflow:{id:"siliconflow",alias:"siliconflow",format:"openai",executor:"default",baseUrl:"https://api.siliconflow.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B"},{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3 Coder 480B"},{id:"Qwen/Qwen3-32B",name:"Qwen3 32B"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"zai-org/GLM-4.7",name:"GLM 4.7"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"baidu/ERNIE-4.5-300B-A47B",name:"ERNIE 4.5 300B"}]},hyperbolic:{id:"hyperbolic",alias:"hyp",format:"openai",executor:"default",baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"Qwen/QwQ-32B",name:"QwQ 32B"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"meta-llama/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B"},{id:"NousResearch/Hermes-3-Llama-3.1-70B",name:"Hermes 3 70B"}]},huggingface:{id:"huggingface",alias:"hf",format:"openai",executor:"default",baseUrl:"https://router.huggingface.co/hf-inference/models/meta-llama/Meta-Llama-3.1-70B-Instruct/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"meta-llama/Meta-Llama-3.1-70B-Instruct",name:"Llama 3.1 70B Instruct"},{id:"meta-llama/Meta-Llama-3.1-8B-Instruct",name:"Llama 3.1 8B Instruct"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"mistralai/Mistral-7B-Instruct-v0.3",name:"Mistral 7B v0.3"},{id:"microsoft/Phi-3.5-mini-instruct",name:"Phi-3.5 Mini"}]},synthetic:{id:"synthetic",alias:"synthetic",format:"openai",executor:"default",baseUrl:"https://api.synthetic.new/openai/v1/chat/completions",modelsUrl:"https://api.synthetic.new/openai/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"hf:nvidia/Kimi-K2.5-NVFP4",name:"Kimi K2.5 (NVFP4)"},{id:"hf:MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"hf:zai-org/GLM-4.7-Flash",name:"GLM 4.7 Flash"},{id:"hf:zai-org/GLM-4.7",name:"GLM 4.7"},{id:"hf:moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"hf:deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"}],passthroughModels:!0},"kilo-gateway":{id:"kilo-gateway",alias:"kg",format:"openai",executor:"default",baseUrl:"https://api.kilo.ai/api/gateway/chat/completions",modelsUrl:"https://api.kilo.ai/api/gateway/models",authType:"apikey",authHeader:"bearer",models:[{id:"kilo-auto/frontier",name:"Kilo Auto Frontier"},{id:"kilo-auto/balanced",name:"Kilo Auto Balanced"},{id:"kilo-auto/free",name:"Kilo Auto Free"},{id:"nvidia/nemotron-3-super-120b-a12b:free",name:"Nemotron 3 Super 120B (Free)"},{id:"minimax/minimax-m2.5:free",name:"MiniMax M2.5 (Free)"},{id:"arcee-ai/trinity-large-preview:free",name:"Trinity Large Preview (Free)"}],passthroughModels:!0},vertex:{id:"vertex",alias:"vertex",format:"gemini",executor:"vertex",baseUrl:"https://us-central1-aiplatform.googleapis.com/v1/projects",urlBuilder:(e,a,i)=>`https://generativelanguage.googleapis.com/v1beta/models/${a}:${i?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"apikey",authHeader:"bearer",models:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview (Vertex)"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview (Vertex)"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview (Vertex)"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (Vertex)"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash (Vertex)"},{id:"gemini-2.0-flash-thinking-exp",name:"Gemini 2.0 Flash Thinking Exp (Vertex)"},{id:"gemma-2-27b-it",name:"Gemma 2 27B (Vertex)"},{id:"deepseek-v3.2",name:"DeepSeek V3.2 (Vertex Partner)"},{id:"qwen3-next-80b",name:"Qwen3 Next 80B (Vertex Partner)"},{id:"glm-5",name:"GLM-5 (Vertex Partner)"},{id:"claude-opus-4-5@20251101",name:"Claude Opus 4.5 (Vertex)"},{id:"claude-sonnet-4-5@20251101",name:"Claude Sonnet 4.5 (Vertex)"}]},alibaba:{id:"alibaba",alias:"ali",format:"openai",executor:"default",baseUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions",modelsUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"qwen-max",name:"Qwen Max"},{id:"qwen-max-2025-01-25",name:"Qwen Max (2025-01-25)"},{id:"qwen-plus",name:"Qwen Plus"},{id:"qwen-plus-2025-07-14",name:"Qwen Plus (2025-07-14)"},{id:"qwen-turbo",name:"Qwen Turbo"},{id:"qwen-turbo-2025-11-01",name:"Qwen Turbo (2025-11-01)"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash"},{id:"qwq-plus",name:"QwQ Plus (Reasoning)"},{id:"qwq-32b",name:"QwQ 32B"},{id:"qwen3-32b",name:"Qwen3 32B"},{id:"qwen3-235b-a22b",name:"Qwen3 235B A22B"}],passthroughModels:!0},longcat:{id:"longcat",alias:"lc",format:"openai",executor:"default",baseUrl:"https://api.longcat.chat/openai/v1/chat/completions",authType:"apikey",authHeader:"Authorization",authPrefix:"Bearer",models:[{id:"LongCat-Flash-Lite",name:"LongCat Flash-Lite (50M tok/day 🆓)"},{id:"LongCat-Flash-Chat",name:"LongCat Flash-Chat (500K tok/day 🆓)"},{id:"LongCat-Flash-Thinking",name:"LongCat Flash-Thinking (500K tok/day 🆓)"},{id:"LongCat-Flash-Thinking-2601",name:"LongCat Flash-Thinking-2601 (🆓)"},{id:"LongCat-Flash-Omni-2603",name:"LongCat Flash-Omni-2603 (🆓)"}]},pollinations:{id:"pollinations",alias:"pol",format:"openai",executor:"pollinations",baseUrl:"https://text.pollinations.ai/openai/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"openai",name:"GPT-5 via Pollinations (🆓)"},{id:"claude",name:"Claude via Pollinations (🆓)"},{id:"gemini",name:"Gemini via Pollinations (🆓)"},{id:"deepseek",name:"DeepSeek V3 via Pollinations (🆓)"},{id:"llama",name:"Llama 4 via Pollinations (🆓)"},{id:"mistral",name:"Mistral via Pollinations (🆓)"}]},puter:{id:"puter",alias:"pu",format:"openai",executor:"puter",baseUrl:"https://api.puter.com/puterai/openai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-4o-mini",name:"GPT-4o Mini (🆓 Puter)"},{id:"gpt-4o",name:"GPT-4o (Puter)"},{id:"gpt-4.1",name:"GPT-4.1 (Puter)"},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini (Puter)"},{id:"gpt-5-nano",name:"GPT-5 Nano (Puter)"},{id:"gpt-5-mini",name:"GPT-5 Mini (Puter)"},{id:"gpt-5",name:"GPT-5 (Puter)"},{id:"o3-mini",name:"OpenAI o3-mini (Puter)"},{id:"o3",name:"OpenAI o3 (Puter)"},{id:"o4-mini",name:"OpenAI o4-mini (Puter)"},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5 (Puter)"},{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5 (Puter)"},{id:"claude-opus-4-5",name:"Claude Opus 4.5 (Puter)"},{id:"claude-sonnet-4",name:"Claude Sonnet 4 (Puter)"},{id:"claude-opus-4",name:"Claude Opus 4 (Puter)"},{id:"google/gemini-2.0-flash",name:"Gemini 2.0 Flash (Puter)"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash (Puter)"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro (Puter)"},{id:"google/gemini-3-flash",name:"Gemini 3 Flash (Puter)"},{id:"google/gemini-3-pro",name:"Gemini 3 Pro (Puter)"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat (Puter)"},{id:"deepseek/deepseek-r1",name:"DeepSeek R1 (Puter)"},{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2 (Puter)"},{id:"x-ai/grok-3",name:"Grok 3 (Puter)"},{id:"x-ai/grok-3-mini",name:"Grok 3 Mini (Puter)"},{id:"x-ai/grok-4",name:"Grok 4 (Puter)"},{id:"x-ai/grok-4-fast",name:"Grok 4 Fast (Puter)"},{id:"llama-4-scout",name:"Llama 4 Scout (Puter)"},{id:"llama-4-maverick",name:"Llama 4 Maverick (Puter)"},{id:"llama-3.3-70b-instruct",name:"Llama 3.3 70B (Puter)"},{id:"mistral-small-latest",name:"Mistral Small (Puter)"},{id:"mistral-medium-latest",name:"Mistral Medium (Puter)"},{id:"open-mistral-nemo",name:"Mistral Nemo (Puter)"},{id:"qwen/qwen3-235b-a22b",name:"Qwen3 235B (Puter)"},{id:"qwen/qwen3-32b",name:"Qwen3 32B (Puter)"},{id:"qwen/qwen3-coder",name:"Qwen3 Coder 480B (Puter)"}],passthroughModels:!0},"cloudflare-ai":{id:"cloudflare-ai",alias:"cf",format:"openai",executor:"cloudflare-ai",baseUrl:"https://api.cloudflare.com/client/v4/accounts",authType:"apikey",authHeader:"bearer",models:[{id:"@cf/meta/llama-3.3-70b-instruct",name:"Llama 3.3 70B (🆓 ~150 resp/day)"},{id:"@cf/meta/llama-3.1-8b-instruct",name:"Llama 3.1 8B (🆓)"},{id:"@cf/google/gemma-3-12b-it",name:"Gemma 3 12B (🆓)"},{id:"@cf/mistral/mistral-7b-instruct-v0.2-lora",name:"Mistral 7B (🆓)"},{id:"@cf/qwen/qwen2.5-coder-15b-instruct",name:"Qwen 2.5 Coder 15B (🆓)"},{id:"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b",name:"DeepSeek R1 Distill 32B (🆓)"}]},scaleway:{id:"scaleway",alias:"scw",format:"openai",executor:"default",baseUrl:"https://api.scaleway.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"qwen3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B (1M free tok 🆓)"},{id:"llama-3.1-70b-instruct",name:"Llama 3.1 70B (🆓 EU)"},{id:"llama-3.1-8b-instruct",name:"Llama 3.1 8B (🆓 EU)"},{id:"mistral-small-3.2-24b-instruct-2506",name:"Mistral Small 3.2 (🆓 EU)"},{id:"deepseek-v3-0324",name:"DeepSeek V3 (🆓 EU)"},{id:"gpt-oss-120b",name:"GPT-OSS 120B (🆓 EU)"}]},aimlapi:{id:"aimlapi",alias:"aiml",format:"openai",executor:"default",baseUrl:"https://api.aimlapi.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-4o",name:"GPT-4o (via AI/ML API)"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet (via AI/ML API)"},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro (via AI/ML API)"},{id:"meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo",name:"Llama 3.1 70B (via AI/ML API)"},{id:"deepseek-chat",name:"DeepSeek Chat (via AI/ML API)"},{id:"mistral-large-latest",name:"Mistral Large (via AI/ML API)"}],passthroughModels:!0}};[..."u">typeof process&&process.env.LOCAL_HOSTNAMES?process.env.LOCAL_HOSTNAMES.split(",").map(e=>e.trim()).filter(Boolean):[]];let o=new Map;for(let e of Object.values(t))e.alias&&e.alias!==e.id&&o.set(e.alias,e);let r=new Map;for(let e of Object.values(t))for(let a of e.models)a.unsupportedParams&&!r.has(a.id)&&r.set(a.id,a.unsupportedParams);let m=function(){let e={};for(let a of Object.values(t))if(a.models&&a.models.length>0){let i=a.alias||a.id;e[i]||(e[i]=a.models)}return e}(),l=function(){let e={};for(let a of Object.values(t))e[a.id]=a.alias||a.id;return e}();function d(e){return m[e]||[]}function s(e){let a=m[e];return a?.[0]?.id||null}function p(e,a,i=new Set){if(i.has(e))return!0;let n=m[e];return!!n&&n.some(e=>e.id===a)}function u(e,a){let i=m[e];if(!i)return a;let n=i.find(e=>e.id===a);return n?.name||a}function c(e,a){let i=m[e];if(!i)return null;let n=i.find(e=>e.id===a);return n?.targetFormat||null}function h(e){return m[l[e]||e]||[]}e.s(["PROVIDER_ID_TO_ALIAS",0,l,"PROVIDER_MODELS",0,m,"findModelName",()=>u,"getDefaultModel",()=>s,"getModelTargetFormat",()=>c,"getModelsByProviderId",()=>h,"getProviderModels",()=>d,"isValidModel",()=>p],47998)}];
2
2
 
3
3
  //# sourceMappingURL=open-sse_config_providerModels_ts_04541468._.js.map