9router-proxy 0.6.13 → 0.6.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/.next-cli-build/BUILD_ID +1 -1
- package/app/.next-cli-build/app-path-routes-manifest.json +16 -16
- package/app/.next-cli-build/build-manifest.json +2 -2
- package/app/.next-cli-build/prerender-manifest.json +3 -3
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error.html +1 -1
- package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/app/.next-cli-build/server/app/_not-found.rsc +2 -2
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -5
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +3 -3
- package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
- package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/callback.html +1 -1
- package/app/.next-cli-build/server/app/callback.rsc +2 -2
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/app/.next-cli-build/server/app/dashboard.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/index.html +1 -1
- package/app/.next-cli-build/server/app/index.rsc +2 -2
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/landing.html +1 -1
- package/app/.next-cli-build/server/app/landing.rsc +2 -2
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/login.html +1 -1
- package/app/.next-cli-build/server/app/login.rsc +2 -2
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +16 -16
- package/app/.next-cli-build/server/chunks/1350.js +1 -1
- package/app/.next-cli-build/server/chunks/1757.js +1 -1
- package/app/.next-cli-build/server/chunks/241.js +1 -1
- package/app/.next-cli-build/server/chunks/2578.js +1 -1
- package/app/.next-cli-build/server/chunks/3943.js +1 -1
- package/app/.next-cli-build/server/chunks/4279.js +1 -1
- package/app/.next-cli-build/server/chunks/5026.js +1 -1
- package/app/.next-cli-build/server/chunks/7220.js +1 -1
- package/app/.next-cli-build/server/chunks/8238.js +1 -1
- package/app/.next-cli-build/server/chunks/9460.js +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware.js +1 -1
- package/app/.next-cli-build/server/pages/404.html +1 -1
- package/app/.next-cli-build/server/pages/500.html +1 -1
- package/app/.next-cli-build/server/preview-props.json +3 -3
- package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
- package/app/.next-cli-build/static/chunks/{1321-60d7e6d47656619c.js → 1321-0535076bc3ae403e.js} +1 -1
- package/app/package.json +1 -1
- package/package.json +1 -1
- /package/app/.next-cli-build/static/{y2h7yx597nXU7_RKFBkM7 → FLfQpKTeBWAkFOH4j_1Lo}/_buildManifest.js +0 -0
- /package/app/.next-cli-build/static/{y2h7yx597nXU7_RKFBkM7 → FLfQpKTeBWAkFOH4j_1Lo}/_ssgManifest.js +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(()=>{var a={};a.id=1110,a.ids=[1110],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4126:(a,b,c)=>{"use strict";c.r(b),c.d(b,{DELETE:()=>y,GET:()=>v,POST:()=>x});var d=c(49796),e=c(23211),f=c(79646),g=c(28354),h=c(79748),i=c.n(h),j=c(33873),k=c.n(j),l=c(21820),m=c.n(l),n=c(24424);let o=(0,g.promisify)(f.exec),p=a=>"string"==typeof a?a:a&&"object"==typeof a?a.primary??"":"",q=()=>k().join(m().homedir(),".openclaw"),r=()=>k().join(q(),"openclaw.json"),s=async()=>{try{let a="win32"===m().platform(),b=a?{...process.env,PATH:`${process.env.APPDATA}\\npm;${process.env.PATH}`}:process.env;return await o(a?"where openclaw":"which openclaw",{windowsHide:!0,env:b}),!0}catch{try{return await i().access(r()),!0}catch{return!1}}},t=async()=>{try{let a=r(),b=(await i().readFile(a,"utf-8")).replace(/,(\s*[}\]])/g,"$1");return JSON.parse(b)}catch(a){return null}},u=async a=>{try{let b=k().join(a,"models.json"),c=await i().readFile(b,"utf-8"),d=JSON.parse(c),e=d?.providers?.["9router"]?.models;return e?.[0]?.id||null}catch{return null}};async function v(){try{if(!await s())return e.NextResponse.json({installed:!1,settings:null,message:"Open Claw CLI is not installed"});let a=await t(),b=a?.agents?.list||[],c=await Promise.all(b.map(async a=>{let b=a.agentDir?await u(a.agentDir):null;return{...a,model:p(a.model),currentModel:b}}));return e.NextResponse.json({installed:!0,settings:a,agents:c,has9Router:!!a&&!!a.models&&!!a.models.providers&&!!a.models.providers["9router"],settingsPath:r()})}catch(a){return console.log("Error checking openclaw settings:",a),e.NextResponse.json({error:"Failed to check openclaw settings"},{status:500})}}let w=async(a,b,c,d)=>{await i().mkdir(a,{recursive:!0});let e=k().join(a,"models.json"),f={};try{let a=await i().readFile(e,"utf-8");f=JSON.parse(a)}catch{}f.providers||(f.providers={}),f.providers["9router"]={baseUrl:c,apiKey:d||"your_api_key",api:"openai-completions",models:[{id:b,name:b.split("/").pop()||b}]},await i().writeFile(e,JSON.stringify(f,null,2))};async function x(a){try{let{baseUrl:b,apiKey:c,model:d,agentModels:f={}}=await a.json();if(!b||!d)return e.NextResponse.json({error:"baseUrl and model are required"},{status:400});let g=q(),h=r();await i().mkdir(g,{recursive:!0});let j={};try{let a=await i().readFile(h,"utf-8");j=JSON.parse(a)}catch{}j.agents||(j.agents={}),j.agents.defaults||(j.agents.defaults={}),j.agents.defaults.model||(j.agents.defaults.model={}),j.agents.defaults.models||(j.agents.defaults.models={}),j.models||(j.models={}),j.models.providers||(j.models.providers={});let k=b.endsWith("/v1")?b:`${b}/v1`,l=`9router/${d}`;Object.keys(j.agents.defaults.models).filter(a=>a.startsWith("9router/")).forEach(a=>{delete j.agents.defaults.models[a]}),j.agents.defaults.model.primary=l;let m=new Set([d]);return Object.values(f).forEach(a=>{a&&m.add(a)}),m.forEach(a=>{j.agents.defaults.models[`9router/${a}`]={}}),j.agents.list&&(j.agents.list=j.agents.list.map(a=>{if(p(a.model).startsWith("9router/")){let{model:b,...c}=a;return c}return a})),j.models.providers["9router"]={baseUrl:k,apiKey:c||"your_api_key",api:"openai-completions",models:[...m].map(a=>({id:a,name:a.split("/").pop()||a}))},j.agents.list&&(j.agents.list=j.agents.list.map(a=>{let b=f[a.id];return b?{...a,model:`9router/${b}`}:a}),await Promise.all(j.agents.list.map(async a=>{if(!a.agentDir)return;let b=f[a.id];await w(a.agentDir,b||d,k,c)}))),await i().writeFile(h,JSON.stringify(j,null,2)),e.NextResponse.json({success:!0,message:"Open Claw settings applied successfully!",settingsPath:h})}catch(a){return console.log("Error updating openclaw settings:",a),e.NextResponse.json({error:"Failed to update openclaw settings"},{status:500})}}async function y(){try{let a=r(),b={};try{let c=await i().readFile(a,"utf-8");b=JSON.parse(c)}catch(a){if("ENOENT"===a.code)return e.NextResponse.json({success:!0,message:"No settings file to reset"});throw a}if(b.models&&b.models.providers&&(delete b.models.providers["9router"],0===Object.keys(b.models.providers).length&&delete b.models.providers),b.agents?.defaults?.models){for(let a of Object.keys(b.agents.defaults.models).filter(a=>a.startsWith("9router/")))delete b.agents.defaults.models[a];0===Object.keys(b.agents.defaults.models).length&&delete b.agents.defaults.models}return b.agents?.defaults?.model?.primary?.startsWith("9router/")&&delete b.agents.defaults.model.primary,await i().writeFile(a,JSON.stringify(b,null,2)),e.NextResponse.json({success:!0,message:"9Router settings removed successfully"})}catch(a){return console.log("Error resetting openclaw settings:",a),e.NextResponse.json({error:"Failed to reset openclaw settings"},{status:500})}}(0,n.D)([v,x,y]),(0,d.A)(v,"
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},
|
|
1
|
+
(()=>{var a={};a.id=1110,a.ids=[1110],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4126:(a,b,c)=>{"use strict";c.r(b),c.d(b,{DELETE:()=>y,GET:()=>v,POST:()=>x});var d=c(49796),e=c(23211),f=c(79646),g=c(28354),h=c(79748),i=c.n(h),j=c(33873),k=c.n(j),l=c(21820),m=c.n(l),n=c(24424);let o=(0,g.promisify)(f.exec),p=a=>"string"==typeof a?a:a&&"object"==typeof a?a.primary??"":"",q=()=>k().join(m().homedir(),".openclaw"),r=()=>k().join(q(),"openclaw.json"),s=async()=>{try{let a="win32"===m().platform(),b=a?{...process.env,PATH:`${process.env.APPDATA}\\npm;${process.env.PATH}`}:process.env;return await o(a?"where openclaw":"which openclaw",{windowsHide:!0,env:b}),!0}catch{try{return await i().access(r()),!0}catch{return!1}}},t=async()=>{try{let a=r(),b=(await i().readFile(a,"utf-8")).replace(/,(\s*[}\]])/g,"$1");return JSON.parse(b)}catch(a){return null}},u=async a=>{try{let b=k().join(a,"models.json"),c=await i().readFile(b,"utf-8"),d=JSON.parse(c),e=d?.providers?.["9router"]?.models;return e?.[0]?.id||null}catch{return null}};async function v(){try{if(!await s())return e.NextResponse.json({installed:!1,settings:null,message:"Open Claw CLI is not installed"});let a=await t(),b=a?.agents?.list||[],c=await Promise.all(b.map(async a=>{let b=a.agentDir?await u(a.agentDir):null;return{...a,model:p(a.model),currentModel:b}}));return e.NextResponse.json({installed:!0,settings:a,agents:c,has9Router:!!a&&!!a.models&&!!a.models.providers&&!!a.models.providers["9router"],settingsPath:r()})}catch(a){return console.log("Error checking openclaw settings:",a),e.NextResponse.json({error:"Failed to check openclaw settings"},{status:500})}}let w=async(a,b,c,d)=>{await i().mkdir(a,{recursive:!0});let e=k().join(a,"models.json"),f={};try{let a=await i().readFile(e,"utf-8");f=JSON.parse(a)}catch{}f.providers||(f.providers={}),f.providers["9router"]={baseUrl:c,apiKey:d||"your_api_key",api:"openai-completions",models:[{id:b,name:b.split("/").pop()||b}]},await i().writeFile(e,JSON.stringify(f,null,2))};async function x(a){try{let{baseUrl:b,apiKey:c,model:d,agentModels:f={}}=await a.json();if(!b||!d)return e.NextResponse.json({error:"baseUrl and model are required"},{status:400});let g=q(),h=r();await i().mkdir(g,{recursive:!0});let j={};try{let a=await i().readFile(h,"utf-8");j=JSON.parse(a)}catch{}j.agents||(j.agents={}),j.agents.defaults||(j.agents.defaults={}),j.agents.defaults.model||(j.agents.defaults.model={}),j.agents.defaults.models||(j.agents.defaults.models={}),j.models||(j.models={}),j.models.providers||(j.models.providers={});let k=b.endsWith("/v1")?b:`${b}/v1`,l=`9router/${d}`;Object.keys(j.agents.defaults.models).filter(a=>a.startsWith("9router/")).forEach(a=>{delete j.agents.defaults.models[a]}),j.agents.defaults.model.primary=l;let m=new Set([d]);return Object.values(f).forEach(a=>{a&&m.add(a)}),m.forEach(a=>{j.agents.defaults.models[`9router/${a}`]={}}),j.agents.list&&(j.agents.list=j.agents.list.map(a=>{if(p(a.model).startsWith("9router/")){let{model:b,...c}=a;return c}return a})),j.models.providers["9router"]={baseUrl:k,apiKey:c||"your_api_key",api:"openai-completions",models:[...m].map(a=>({id:a,name:a.split("/").pop()||a}))},j.agents.list&&(j.agents.list=j.agents.list.map(a=>{let b=f[a.id];return b?{...a,model:`9router/${b}`}:a}),await Promise.all(j.agents.list.map(async a=>{if(!a.agentDir)return;let b=f[a.id];await w(a.agentDir,b||d,k,c)}))),await i().writeFile(h,JSON.stringify(j,null,2)),e.NextResponse.json({success:!0,message:"Open Claw settings applied successfully!",settingsPath:h})}catch(a){return console.log("Error updating openclaw settings:",a),e.NextResponse.json({error:"Failed to update openclaw settings"},{status:500})}}async function y(){try{let a=r(),b={};try{let c=await i().readFile(a,"utf-8");b=JSON.parse(c)}catch(a){if("ENOENT"===a.code)return e.NextResponse.json({success:!0,message:"No settings file to reset"});throw a}if(b.models&&b.models.providers&&(delete b.models.providers["9router"],0===Object.keys(b.models.providers).length&&delete b.models.providers),b.agents?.defaults?.models){for(let a of Object.keys(b.agents.defaults.models).filter(a=>a.startsWith("9router/")))delete b.agents.defaults.models[a];0===Object.keys(b.agents.defaults.models).length&&delete b.agents.defaults.models}return b.agents?.defaults?.model?.primary?.startsWith("9router/")&&delete b.agents.defaults.model.primary,await i().writeFile(a,JSON.stringify(b,null,2)),e.NextResponse.json({success:!0,message:"9Router settings removed successfully"})}catch(a){return console.log("Error resetting openclaw settings:",a),e.NextResponse.json({error:"Failed to reset openclaw settings"},{status:500})}}(0,n.D)([v,x,y]),(0,d.A)(v,"006cc75cedc59fa1c3761fc4b32f6f525b75d79677",null),(0,d.A)(x,"4034b44d929d5d0dbd230eb1da5c94fb1f29c250d8",null),(0,d.A)(y,"001c629779a790c212a574b32331b29d909602a7db",null)},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},22622:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"001c629779a790c212a574b32331b29d909602a7db":()=>d.DELETE,"006cc75cedc59fa1c3761fc4b32f6f525b75d79677":()=>d.GET,"4034b44d929d5d0dbd230eb1da5c94fb1f29c250d8":()=>d.POST});var d=c(4126)},24424:(a,b)=>{"use strict";function c(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
2
|
+
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},34244:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/cli-tools/openclaw-settings/route",pathname:"/api/cli-tools/openclaw-settings",filename:"route",bundlePath:"app/api/cli-tools/openclaw-settings/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/cli-tools/openclaw-settings/route.js",nextConfigOutput:"standalone",userland:()=>c(4126),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/cli-tools/openclaw-settings/route";"/index"===d&&(d="/");let{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=T.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},49796:(a,b,c)=>{"use strict";Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(77943)},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},77943:(a,b,c)=>{"use strict";a.exports=c(7553).vendored["react-rsc"].ReactServerDOMWebpackServer},78335:()=>{},79646:a=>{"use strict";a.exports=require("child_process")},79748:a=>{"use strict";a.exports=require("fs/promises")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813],()=>b(b.s=34244));module.exports=c})();
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use strict";(()=>{var a={};a.id=7508,a.ids=[7508],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{a.exports=require("os")},24424:(a,b)=>{function c(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},28354:a=>{a.exports=require("util")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},49796:(a,b,c)=>{Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(77943)},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},53080:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/cli-tools/opencode-settings/route",pathname:"/api/cli-tools/opencode-settings",filename:"route",bundlePath:"app/api/cli-tools/opencode-settings/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/cli-tools/opencode-settings/route.js",nextConfigOutput:"standalone",userland:()=>c(72452),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/cli-tools/opencode-settings/route";"/index"===d&&(d="/");let{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=T.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},72452:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>x,GET:()=>u,PATCH:()=>w,POST:()=>v});var d=c(49796),e=c(23211),f=c(79984),g=c(79646),h=c(28354),i=c(79748),j=c.n(i),k=c(33873),l=c.n(k),m=c(21820),n=c.n(m),o=c(24424);let p=(0,h.promisify)(g.exec),q=()=>l().join(n().homedir(),".config","opencode"),r=()=>l().join(q(),"opencode.json"),s=async()=>{try{let a="win32"===n().platform(),b=a?{...process.env,PATH:`${process.env.APPDATA}\\npm;${process.env.PATH}`}:process.env;return await p(a?"where opencode":"which opencode",{windowsHide:!0,env:b}),!0}catch{try{return await j().access(r()),!0}catch{return!1}}},t=async()=>{try{let a=(await j().readFile(r(),"utf-8")).replace(/,(\s*[}\]])/g,"$1");return JSON.parse(a)}catch(a){return a.code,null}};async function u(){try{if(!await s())return e.NextResponse.json({installed:!1,config:null,message:"OpenCode CLI is not installed"});let a=await t(),b=a?.provider?.["9router"],c=b?.models||{};return e.NextResponse.json({installed:!0,config:a,has9Router:!!a?.provider&&!!a.provider["9router"],configPath:r(),opencode:{models:Object.keys(c),activeModel:a?.model?.startsWith("9router/")?a.model.replace(/^9router\//,""):null,baseURL:b?.options?.baseURL||null}})}catch(a){return console.log("Error checking opencode settings:",a),e.NextResponse.json({error:"Failed to check opencode settings"},{status:500})}}async function v(a){try{let{baseUrl:b,apiKey:c,model:d,models:g,activeModel:h,subagentModel:i}=await a.json(),k=Array.isArray(g)?g.slice():"string"==typeof d?[d]:[];if(!b||0===k.length)return e.NextResponse.json({error:"baseUrl and at least one model are required"},{status:400});let l=q(),m=r();await j().mkdir(l,{recursive:!0});let n={};try{let a=await j().readFile(m,"utf-8");n=JSON.parse(a)}catch{}let o=b.endsWith("/v1")?b:`${b}/v1`,p=await (0,f.k)(c),s=i||k[0];n.provider||(n.provider={});let t=n.provider["9router"]||{npm:"@ai-sdk/openai-compatible",options:{},models:{}};for(let a of(t.options={...t.options,baseURL:o,apiKey:p},t.models=t.models||{},k))a&&"string"==typeof a&&(t.models[a]={name:a,modalities:{input:["text","image"],output:["text"]}});if(n.provider["9router"]=t,""===h)n.model="";else{let a=h||k[0];a&&(n.model=`9router/${a}`)}return n.agent||(n.agent={}),n.agent.explorer={description:"Fast explorer subagent for codebase exploration",mode:"subagent",model:`9router/${s}`},await j().writeFile(m,JSON.stringify(n,null,2)),e.NextResponse.json({success:!0,message:"OpenCode settings applied successfully!",configPath:m})}catch(a){return console.log("Error applying opencode settings:",a),e.NextResponse.json({error:"Failed to apply settings"},{status:500})}}async function w(a){try{let{clearActiveModel:b}=await a.json(),c=r(),d={};try{let a=await j().readFile(c,"utf-8");d=JSON.parse(a)}catch(a){if("ENOENT"===a.code)return e.NextResponse.json({success:!0,message:"No config file found"});throw a}return!0===b&&d.model?.startsWith("9router/")&&(d.model=""),await j().writeFile(c,JSON.stringify(d,null,2)),e.NextResponse.json({success:!0,message:"Settings updated"})}catch(a){return console.log("Error patching opencode settings:",a),e.NextResponse.json({error:"Failed to patch settings"},{status:500})}}async function x(a){try{let{searchParams:b}=new URL(a.url),c=b.get("model"),d=r(),f={};try{let a=await j().readFile(d,"utf-8");f=JSON.parse(a)}catch(a){if("ENOENT"===a.code)return e.NextResponse.json({success:!0,message:"No config file to reset"});throw a}if(c&&f.provider?.["9router"]?.models){if(delete f.provider["9router"].models[c],0===Object.keys(f.provider["9router"].models).length)delete f.provider["9router"],f.model?.startsWith("9router/")&&delete f.model;else if(f.model===`9router/${c}`){let a=Object.keys(f.provider["9router"].models);f.model=`9router/${a[0]}`}}else f.provider&&delete f.provider["9router"],f.model?.startsWith("9router/")&&delete f.model;return f.agent?.explorer?.model?.startsWith("9router/")&&(delete f.agent.explorer,0===Object.keys(f.agent).length&&delete f.agent),await j().writeFile(d,JSON.stringify(f,null,2)),e.NextResponse.json({success:!0,message:c?`Model "${c}" removed`:"9Router settings removed from OpenCode"})}catch(a){return console.log("Error resetting opencode settings:",a),e.NextResponse.json({error:"Failed to reset opencode settings"},{status:500})}}(0,o.D)([u,v,w,x]),(0,d.A)(u,"008034361d0a08060d199b80e15e6ce5226586cfcb",null),(0,d.A)(v,"40dbceb14821b1647b8ac5d80f13a7f8f03b1e9b0e",null),(0,d.A)(w,"40af368fabc6db474f09794a38e6b7c9ff510bbee8",null),(0,d.A)(x,"4034b2ebe09ca9bbcbc43e628a24b7223db085589e",null)},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},77943:(a,b,c)=>{a.exports=c(7553).vendored["react-rsc"].ReactServerDOMWebpackServer},78590:(a,b,c)=>{c.r(b),c.d(b,{"008034361d0a08060d199b80e15e6ce5226586cfcb":()=>d.GET,"4034b2ebe09ca9bbcbc43e628a24b7223db085589e":()=>d.DELETE,"40af368fabc6db474f09794a38e6b7c9ff510bbee8":()=>d.PATCH,"40dbceb14821b1647b8ac5d80f13a7f8f03b1e9b0e":()=>d.POST});var d=c(72452)},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},79868:a=>{a.exports=require("node:sqlite")},79984:(a,b,c)=>{c.d(b,{k:()=>e});var d=c(83192);async function e(a){if(a&&a.trim()&&"sk_9router"!==a.trim())return a.trim();try{let a=(await (0,d.PX)()).find(a=>a.isActive);return a?.key||""}catch{return""}}},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},94735:a=>{a.exports=require("events")},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,9100],()=>b(b.s=53080));module.exports=c})();
|
|
2
|
+
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},28354:a=>{a.exports=require("util")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},49796:(a,b,c)=>{Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(77943)},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},53080:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/cli-tools/opencode-settings/route",pathname:"/api/cli-tools/opencode-settings",filename:"route",bundlePath:"app/api/cli-tools/opencode-settings/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/cli-tools/opencode-settings/route.js",nextConfigOutput:"standalone",userland:()=>c(72452),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/cli-tools/opencode-settings/route";"/index"===d&&(d="/");let{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=T.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},72452:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>x,GET:()=>u,PATCH:()=>w,POST:()=>v});var d=c(49796),e=c(23211),f=c(79984),g=c(79646),h=c(28354),i=c(79748),j=c.n(i),k=c(33873),l=c.n(k),m=c(21820),n=c.n(m),o=c(24424);let p=(0,h.promisify)(g.exec),q=()=>l().join(n().homedir(),".config","opencode"),r=()=>l().join(q(),"opencode.json"),s=async()=>{try{let a="win32"===n().platform(),b=a?{...process.env,PATH:`${process.env.APPDATA}\\npm;${process.env.PATH}`}:process.env;return await p(a?"where opencode":"which opencode",{windowsHide:!0,env:b}),!0}catch{try{return await j().access(r()),!0}catch{return!1}}},t=async()=>{try{let a=(await j().readFile(r(),"utf-8")).replace(/,(\s*[}\]])/g,"$1");return JSON.parse(a)}catch(a){return a.code,null}};async function u(){try{if(!await s())return e.NextResponse.json({installed:!1,config:null,message:"OpenCode CLI is not installed"});let a=await t(),b=a?.provider?.["9router"],c=b?.models||{};return e.NextResponse.json({installed:!0,config:a,has9Router:!!a?.provider&&!!a.provider["9router"],configPath:r(),opencode:{models:Object.keys(c),activeModel:a?.model?.startsWith("9router/")?a.model.replace(/^9router\//,""):null,baseURL:b?.options?.baseURL||null}})}catch(a){return console.log("Error checking opencode settings:",a),e.NextResponse.json({error:"Failed to check opencode settings"},{status:500})}}async function v(a){try{let{baseUrl:b,apiKey:c,model:d,models:g,activeModel:h,subagentModel:i}=await a.json(),k=Array.isArray(g)?g.slice():"string"==typeof d?[d]:[];if(!b||0===k.length)return e.NextResponse.json({error:"baseUrl and at least one model are required"},{status:400});let l=q(),m=r();await j().mkdir(l,{recursive:!0});let n={};try{let a=await j().readFile(m,"utf-8");n=JSON.parse(a)}catch{}let o=b.endsWith("/v1")?b:`${b}/v1`,p=await (0,f.k)(c),s=i||k[0];n.provider||(n.provider={});let t=n.provider["9router"]||{npm:"@ai-sdk/openai-compatible",options:{},models:{}};for(let a of(t.options={...t.options,baseURL:o,apiKey:p},t.models=t.models||{},k))a&&"string"==typeof a&&(t.models[a]={name:a,modalities:{input:["text","image"],output:["text"]}});if(n.provider["9router"]=t,""===h)n.model="";else{let a=h||k[0];a&&(n.model=`9router/${a}`)}return n.agent||(n.agent={}),n.agent.explorer={description:"Fast explorer subagent for codebase exploration",mode:"subagent",model:`9router/${s}`},await j().writeFile(m,JSON.stringify(n,null,2)),e.NextResponse.json({success:!0,message:"OpenCode settings applied successfully!",configPath:m})}catch(a){return console.log("Error applying opencode settings:",a),e.NextResponse.json({error:"Failed to apply settings"},{status:500})}}async function w(a){try{let{clearActiveModel:b}=await a.json(),c=r(),d={};try{let a=await j().readFile(c,"utf-8");d=JSON.parse(a)}catch(a){if("ENOENT"===a.code)return e.NextResponse.json({success:!0,message:"No config file found"});throw a}return!0===b&&d.model?.startsWith("9router/")&&(d.model=""),await j().writeFile(c,JSON.stringify(d,null,2)),e.NextResponse.json({success:!0,message:"Settings updated"})}catch(a){return console.log("Error patching opencode settings:",a),e.NextResponse.json({error:"Failed to patch settings"},{status:500})}}async function x(a){try{let{searchParams:b}=new URL(a.url),c=b.get("model"),d=r(),f={};try{let a=await j().readFile(d,"utf-8");f=JSON.parse(a)}catch(a){if("ENOENT"===a.code)return e.NextResponse.json({success:!0,message:"No config file to reset"});throw a}if(c&&f.provider?.["9router"]?.models){if(delete f.provider["9router"].models[c],0===Object.keys(f.provider["9router"].models).length)delete f.provider["9router"],f.model?.startsWith("9router/")&&delete f.model;else if(f.model===`9router/${c}`){let a=Object.keys(f.provider["9router"].models);f.model=`9router/${a[0]}`}}else f.provider&&delete f.provider["9router"],f.model?.startsWith("9router/")&&delete f.model;return f.agent?.explorer?.model?.startsWith("9router/")&&(delete f.agent.explorer,0===Object.keys(f.agent).length&&delete f.agent),await j().writeFile(d,JSON.stringify(f,null,2)),e.NextResponse.json({success:!0,message:c?`Model "${c}" removed`:"9Router settings removed from OpenCode"})}catch(a){return console.log("Error resetting opencode settings:",a),e.NextResponse.json({error:"Failed to reset opencode settings"},{status:500})}}(0,o.D)([u,v,w,x]),(0,d.A)(u,"001c9e98a910f22926c984476d97e669b257d47aa1",null),(0,d.A)(v,"40adf459bc9b85893e02748c4a79b0ca88ce28fa9b",null),(0,d.A)(w,"406b73e074ac1c33b4e4d95c6d0b677382d3ec1e40",null),(0,d.A)(x,"40c9e80df84eccd2d7c5b7dc5b8ac530f8e992c801",null)},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},77943:(a,b,c)=>{a.exports=c(7553).vendored["react-rsc"].ReactServerDOMWebpackServer},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},79868:a=>{a.exports=require("node:sqlite")},79984:(a,b,c)=>{c.d(b,{k:()=>e});var d=c(83192);async function e(a){if(a&&a.trim()&&"sk_9router"!==a.trim())return a.trim();try{let a=(await (0,d.PX)()).find(a=>a.isActive);return a?.key||""}catch{return""}}},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},93844:(a,b,c)=>{c.r(b),c.d(b,{"001c9e98a910f22926c984476d97e669b257d47aa1":()=>d.GET,"406b73e074ac1c33b4e4d95c6d0b677382d3ec1e40":()=>d.PATCH,"40adf459bc9b85893e02748c4a79b0ca88ce28fa9b":()=>d.POST,"40c9e80df84eccd2d7c5b7dc5b8ac530f8e992c801":()=>d.DELETE});var d=c(72452)},94735:a=>{a.exports=require("events")},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,9100],()=>b(b.s=53080));module.exports=c})();
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=1626,a.ids=[1626],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},28354:a=>{a.exports=require("util")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},49796:(a,b,c)=>{Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(77943)},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},50356:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/cli-tools/pi-settings/route",pathname:"/api/cli-tools/pi-settings",filename:"route",bundlePath:"app/api/cli-tools/pi-settings/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/cli-tools/pi-settings/route.js",nextConfigOutput:"standalone",userland:()=>c(92770),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/cli-tools/pi-settings/route";"/index"===d&&(d="/");let{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=T.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},77943:(a,b,c)=>{a.exports=c(7553).vendored["react-rsc"].ReactServerDOMWebpackServer},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},79868:a=>{a.exports=require("node:sqlite")},79984:(a,b,c)=>{c.d(b,{k:()=>e});var d=c(83192);async function e(a){if(a&&a.trim()&&"sk_9router"!==a.trim())return a.trim();try{let a=(await (0,d.PX)()).find(a=>a.isActive);return a?.key||""}catch{return""}}},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},92770:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>v,GET:()=>t,POST:()=>u});var d=c(49796),e=c(23211),f=c(79984),g=c(79748),h=c.n(g),i=c(33873),j=c.n(i),k=c(21820),l=c.n(k),m=c(79646),n=c(28354),o=c(24424);let p=(0,n.promisify)(m.exec),q=async()=>{let a="win32"===l().platform();try{return await p(a?"where pi":"which pi",{windowsHide:!0}),!0}catch{try{return await h().access(j().join(l().homedir(),".pi","agent","models.json")),!0}catch{try{return await h().access(j().join(l().homedir(),".pi","models.json")),!0}catch{return!1}}}},r=async()=>{let a=j().join(l().homedir(),".pi","agent","models.json"),b=j().join(l().homedir(),".pi","models.json");try{return await h().access(a),a}catch{try{return await h().access(b),b}catch{return a}}},s=async()=>{try{let a=await r(),b=await h().readFile(a,"utf-8");return JSON.parse(b)}catch{return null}};async function t(){try{if(!await q())return e.NextResponse.json({installed:!1,config:null,message:"Pi CLI is not installed"});let a=await s(),b=await r();return e.NextResponse.json({installed:!0,config:a,has9Router:(a=>{if(!a||!a.providers)return!1;let b=a.providers["9router"];if(b&&b.baseUrl)return!0;for(let b of Object.values(a.providers))if(b.baseUrl&&b.baseUrl.includes("20128"))return!0;return!1})(a),configPath:b})}catch(a){return e.NextResponse.json({error:{message:a.message}},{status:500})}}async function u(a){let b;try{b=await a.json()}catch{return e.NextResponse.json({error:{message:"Invalid JSON body"}},{status:400})}try{let{baseUrl:a,apiKey:c,model:d}=b||{};if(!a)return e.NextResponse.json({error:{message:"baseUrl is required"}},{status:400});let g=await r();await h().mkdir(j().dirname(g),{recursive:!0});let i={};try{let a=await h().readFile(g,"utf-8");i=JSON.parse(a)}catch{}i.providers||(i.providers={});let k=a.endsWith("/v1")?a:`${a}/v1`,l=[];if(Array.isArray(b.models)&&b.models.length>0)l=b.models.map(a=>"string"==typeof a?{id:a,name:a,contextWindow:128e3,maxTokens:16384}:{id:a.id||"provider/model-id",name:a.name||a.id||"provider/model-id",contextWindow:a.contextWindow||128e3,maxTokens:a.maxTokens||16384});else{let a=d||"provider/model-id";l=[{id:a,name:a,contextWindow:128e3,maxTokens:16384}]}let m=i.providers["9router"]||{};return i.providers["9router"]={...m,baseUrl:k,apiKey:c||m.apiKey||await (0,f.k)(null),api:m.api||"openai-completions",models:l},await h().writeFile(g,JSON.stringify(i,null,2),"utf-8"),e.NextResponse.json({success:!0,message:"Pi settings applied! Use /model in Pi to select the 9Router model.",configPath:g})}catch(a){return e.NextResponse.json({error:{message:a.message}},{status:500})}}async function v(){try{let a=await r(),b={};try{let c=await h().readFile(a,"utf-8");b=JSON.parse(c)}catch{return e.NextResponse.json({success:!0,message:"No config file to reset"})}return b.providers&&b.providers["9router"]&&(delete b.providers["9router"],0===Object.keys(b.providers).length&&delete b.providers,await h().writeFile(a,JSON.stringify(b,null,2),"utf-8")),e.NextResponse.json({success:!0,message:"9Router removed from Pi"})}catch(a){return e.NextResponse.json({error:{message:a.message}},{status:500})}}(0,o.D)([t,u,v]),(0,d.A)(t,"0095007efdddf2bbe97addeb6c8316901ee05327c0",null),(0,d.A)(u,"4083b8d73b72a182bd9f7ac3e5f31b3cd2fe15499b",null),(0,d.A)(v,"00aa1ea975c740f976fc514281d003ad0eaa9f705e",null)},94735:a=>{a.exports=require("events")},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,9100],()=>b(b.s=50356));module.exports=c})();
|
|
1
|
+
"use strict";(()=>{var a={};a.id=1626,a.ids=[1626],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{a.exports=require("os")},24424:(a,b)=>{function c(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
2
|
+
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},28354:a=>{a.exports=require("util")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},37397:(a,b,c)=>{c.r(b),c.d(b,{"001fd16c0a7b0068347553c880d50e65d39cb88425":()=>d.DELETE,"00912209b875ceb8e771d6f5713d11983d17f60e83":()=>d.GET,"405d1bb5654f7e08e6a7714b1c19ae45a1460e1c07":()=>d.POST});var d=c(92770)},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},49796:(a,b,c)=>{Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(77943)},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},50356:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/cli-tools/pi-settings/route",pathname:"/api/cli-tools/pi-settings",filename:"route",bundlePath:"app/api/cli-tools/pi-settings/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/cli-tools/pi-settings/route.js",nextConfigOutput:"standalone",userland:()=>c(92770),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/cli-tools/pi-settings/route";"/index"===d&&(d="/");let{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=T.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},77943:(a,b,c)=>{a.exports=c(7553).vendored["react-rsc"].ReactServerDOMWebpackServer},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},79868:a=>{a.exports=require("node:sqlite")},79984:(a,b,c)=>{c.d(b,{k:()=>e});var d=c(83192);async function e(a){if(a&&a.trim()&&"sk_9router"!==a.trim())return a.trim();try{let a=(await (0,d.PX)()).find(a=>a.isActive);return a?.key||""}catch{return""}}},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},92770:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>v,GET:()=>t,POST:()=>u});var d=c(49796),e=c(23211),f=c(79984),g=c(79748),h=c.n(g),i=c(33873),j=c.n(i),k=c(21820),l=c.n(k),m=c(79646),n=c(28354),o=c(24424);let p=(0,n.promisify)(m.exec),q=async()=>{let a="win32"===l().platform();try{return await p(a?"where pi":"which pi",{windowsHide:!0}),!0}catch{try{return await h().access(j().join(l().homedir(),".pi","agent","models.json")),!0}catch{try{return await h().access(j().join(l().homedir(),".pi","models.json")),!0}catch{return!1}}}},r=async()=>{let a=j().join(l().homedir(),".pi","agent","models.json"),b=j().join(l().homedir(),".pi","models.json");try{return await h().access(a),a}catch{try{return await h().access(b),b}catch{return a}}},s=async()=>{try{let a=await r(),b=await h().readFile(a,"utf-8");return JSON.parse(b)}catch{return null}};async function t(){try{if(!await q())return e.NextResponse.json({installed:!1,config:null,message:"Pi CLI is not installed"});let a=await s(),b=await r();return e.NextResponse.json({installed:!0,config:a,has9Router:(a=>{if(!a||!a.providers)return!1;let b=a.providers["9router"];if(b&&b.baseUrl)return!0;for(let b of Object.values(a.providers))if(b.baseUrl&&b.baseUrl.includes("20128"))return!0;return!1})(a),configPath:b})}catch(a){return e.NextResponse.json({error:{message:a.message}},{status:500})}}async function u(a){let b;try{b=await a.json()}catch{return e.NextResponse.json({error:{message:"Invalid JSON body"}},{status:400})}try{let{baseUrl:a,apiKey:c,model:d}=b||{};if(!a)return e.NextResponse.json({error:{message:"baseUrl is required"}},{status:400});let g=await r();await h().mkdir(j().dirname(g),{recursive:!0});let i={};try{let a=await h().readFile(g,"utf-8");i=JSON.parse(a)}catch{}i.providers||(i.providers={});let k=a.endsWith("/v1")?a:`${a}/v1`,l=[];if(Array.isArray(b.models)&&b.models.length>0)l=b.models.map(a=>"string"==typeof a?{id:a,name:a,contextWindow:128e3,maxTokens:16384}:{id:a.id||"provider/model-id",name:a.name||a.id||"provider/model-id",contextWindow:a.contextWindow||128e3,maxTokens:a.maxTokens||16384});else{let a=d||"provider/model-id";l=[{id:a,name:a,contextWindow:128e3,maxTokens:16384}]}let m=i.providers["9router"]||{};return i.providers["9router"]={...m,baseUrl:k,apiKey:c||m.apiKey||await (0,f.k)(null),api:m.api||"openai-completions",models:l},await h().writeFile(g,JSON.stringify(i,null,2),"utf-8"),e.NextResponse.json({success:!0,message:"Pi settings applied! Use /model in Pi to select the 9Router model.",configPath:g})}catch(a){return e.NextResponse.json({error:{message:a.message}},{status:500})}}async function v(){try{let a=await r(),b={};try{let c=await h().readFile(a,"utf-8");b=JSON.parse(c)}catch{return e.NextResponse.json({success:!0,message:"No config file to reset"})}return b.providers&&b.providers["9router"]&&(delete b.providers["9router"],0===Object.keys(b.providers).length&&delete b.providers,await h().writeFile(a,JSON.stringify(b,null,2),"utf-8")),e.NextResponse.json({success:!0,message:"9Router removed from Pi"})}catch(a){return e.NextResponse.json({error:{message:a.message}},{status:500})}}(0,o.D)([t,u,v]),(0,d.A)(t,"00912209b875ceb8e771d6f5713d11983d17f60e83",null),(0,d.A)(u,"405d1bb5654f7e08e6a7714b1c19ae45a1460e1c07",null),(0,d.A)(v,"001fd16c0a7b0068347553c880d50e65d39cb88425",null)},94735:a=>{a.exports=require("events")},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,9100],()=>b(b.s=50356));module.exports=c})();
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use strict";(()=>{var a={};a.id=7852,a.ids=[7852],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},5690:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/cli-tools/smelt-settings/route",pathname:"/api/cli-tools/smelt-settings",filename:"route",bundlePath:"app/api/cli-tools/smelt-settings/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/cli-tools/smelt-settings/route.js",nextConfigOutput:"standalone",userland:()=>c(62306),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/cli-tools/smelt-settings/route";"/index"===d&&(d="/");let{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=T.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{a.exports=require("os")},24424:(a,b)=>{function c(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},28354:a=>{a.exports=require("util")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},49796:(a,b,c)=>{Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(77943)},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},55511:a=>{a.exports=require("crypto")},62306:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>v,GET:()=>t,POST:()=>u});var d=c(49796),e=c(23211),f=c(79984),g=c(79748),h=c.n(g),i=c(33873),j=c.n(i),k=c(21820),l=c.n(k),m=c(79646),n=c(28354),o=c(24424);let p=(0,n.promisify)(m.exec),q=()=>j().join(l().homedir(),".smelt","config.json"),r=async()=>{let a="win32"===l().platform();try{return await p(a?"where smelt":"which smelt",{windowsHide:!0}),!0}catch{try{return await h().access(q()),!0}catch{return!1}}},s=async()=>{try{let a=await h().readFile(q(),"utf-8");return JSON.parse(a)}catch{return null}};async function t(){try{if(!await r())return e.NextResponse.json({installed:!1,config:null,message:"Smelt CLI is not installed"});let a=await s();return e.NextResponse.json({installed:!0,config:a,has9Router:!!a&&("9router"===a._managedBy||"string"==typeof a.baseUrl&&a.baseUrl.length>0&&a.baseUrl.includes("20128")),configPath:q()})}catch(a){return e.NextResponse.json({error:{message:a.message}},{status:500})}}async function u(a){let b;try{b=await a.json()}catch{return e.NextResponse.json({error:{message:"Invalid JSON body"}},{status:400})}try{let{baseUrl:a,apiKey:c,model:d}=b||{};if(!a)return e.NextResponse.json({error:{message:"baseUrl is required"}},{status:400});let g=q();await h().mkdir(j().dirname(q()),{recursive:!0});let i={};try{let a=await h().readFile(g,"utf-8");i=JSON.parse(a)}catch{}let k=a.endsWith("/v1")?a:`${a}/v1`,l={...i,baseUrl:k,apiKey:await (0,f.k)(c),model:d||i.model||"provider/model-id",_managedBy:"9router"};return await h().writeFile(g,JSON.stringify(l,null,2),"utf-8"),e.NextResponse.json({success:!0,message:"Smelt settings applied successfully!",configPath:g})}catch(a){return e.NextResponse.json({error:{message:a.message}},{status:500})}}async function v(){try{let a=q(),b={};try{let c=await h().readFile(a,"utf-8");b=JSON.parse(c)}catch{return e.NextResponse.json({success:!0,message:"No config file to reset"})}return delete b.baseUrl,delete b.apiKey,delete b.model,delete b._managedBy,0===Object.keys(b).length?await h().rm(a,{force:!0}):await h().writeFile(a,JSON.stringify(b,null,2),"utf-8"),e.NextResponse.json({success:!0,message:"Smelt 9Router settings removed"})}catch(a){return e.NextResponse.json({error:{message:a.message}},{status:500})}}(0,o.D)([t,u,v]),(0,d.A)(t,"
|
|
2
|
+
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},25415:(a,b,c)=>{c.r(b),c.d(b,{"0024da6d8a73d41f0d224ee740b01d64f19b26b5ab":()=>d.GET,"00db22f0ba31084689bae06795b529900611daad72":()=>d.DELETE,"404bf056d376b13405948ab013d58774371228d0cb":()=>d.POST});var d=c(62306)},28354:a=>{a.exports=require("util")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},49796:(a,b,c)=>{Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(77943)},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},55511:a=>{a.exports=require("crypto")},62306:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>v,GET:()=>t,POST:()=>u});var d=c(49796),e=c(23211),f=c(79984),g=c(79748),h=c.n(g),i=c(33873),j=c.n(i),k=c(21820),l=c.n(k),m=c(79646),n=c(28354),o=c(24424);let p=(0,n.promisify)(m.exec),q=()=>j().join(l().homedir(),".smelt","config.json"),r=async()=>{let a="win32"===l().platform();try{return await p(a?"where smelt":"which smelt",{windowsHide:!0}),!0}catch{try{return await h().access(q()),!0}catch{return!1}}},s=async()=>{try{let a=await h().readFile(q(),"utf-8");return JSON.parse(a)}catch{return null}};async function t(){try{if(!await r())return e.NextResponse.json({installed:!1,config:null,message:"Smelt CLI is not installed"});let a=await s();return e.NextResponse.json({installed:!0,config:a,has9Router:!!a&&("9router"===a._managedBy||"string"==typeof a.baseUrl&&a.baseUrl.length>0&&a.baseUrl.includes("20128")),configPath:q()})}catch(a){return e.NextResponse.json({error:{message:a.message}},{status:500})}}async function u(a){let b;try{b=await a.json()}catch{return e.NextResponse.json({error:{message:"Invalid JSON body"}},{status:400})}try{let{baseUrl:a,apiKey:c,model:d}=b||{};if(!a)return e.NextResponse.json({error:{message:"baseUrl is required"}},{status:400});let g=q();await h().mkdir(j().dirname(q()),{recursive:!0});let i={};try{let a=await h().readFile(g,"utf-8");i=JSON.parse(a)}catch{}let k=a.endsWith("/v1")?a:`${a}/v1`,l={...i,baseUrl:k,apiKey:await (0,f.k)(c),model:d||i.model||"provider/model-id",_managedBy:"9router"};return await h().writeFile(g,JSON.stringify(l,null,2),"utf-8"),e.NextResponse.json({success:!0,message:"Smelt settings applied successfully!",configPath:g})}catch(a){return e.NextResponse.json({error:{message:a.message}},{status:500})}}async function v(){try{let a=q(),b={};try{let c=await h().readFile(a,"utf-8");b=JSON.parse(c)}catch{return e.NextResponse.json({success:!0,message:"No config file to reset"})}return delete b.baseUrl,delete b.apiKey,delete b.model,delete b._managedBy,0===Object.keys(b).length?await h().rm(a,{force:!0}):await h().writeFile(a,JSON.stringify(b,null,2),"utf-8"),e.NextResponse.json({success:!0,message:"Smelt 9Router settings removed"})}catch(a){return e.NextResponse.json({error:{message:a.message}},{status:500})}}(0,o.D)([t,u,v]),(0,d.A)(t,"0024da6d8a73d41f0d224ee740b01d64f19b26b5ab",null),(0,d.A)(u,"404bf056d376b13405948ab013d58774371228d0cb",null),(0,d.A)(v,"00db22f0ba31084689bae06795b529900611daad72",null)},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},77943:(a,b,c)=>{a.exports=c(7553).vendored["react-rsc"].ReactServerDOMWebpackServer},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},79868:a=>{a.exports=require("node:sqlite")},79984:(a,b,c)=>{c.d(b,{k:()=>e});var d=c(83192);async function e(a){if(a&&a.trim()&&"sk_9router"!==a.trim())return a.trim();try{let a=(await (0,d.PX)()).find(a=>a.isActive);return a?.key||""}catch{return""}}},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},94735:a=>{a.exports=require("events")},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,9100],()=>b(b.s=5690));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=552,a.ids=[552,1998],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4130:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/models/route",pathname:"/api/models",filename:"route",bundlePath:"app/api/models/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/models/route.js",nextConfigOutput:"standalone",userland:()=>c(15798),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models/route";"/index"===d&&(d="/");let{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=T.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},15798:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>j,PUT:()=>k});var d=c(23211),e=c(71998),f=c(16655),g=c(30869),h=c(40615),i=c(24);async function j(){try{let a=await (0,e.OM)(),b=await (0,f.vF)(),c={};for(let[b,d]of Object.entries(a))c[d]??=b;let j=g.eh.filter(a=>!(b[(0,h.wG)(a.provider)||a.provider]||b[a.provider]||[]).includes(a.model)).map(a=>{let b=`${a.provider}/${a.model}`,d=(0,h.wG)(a.provider)||a.provider,e=`${d}/${a.model}`,f=(0,i.getCapabilitiesForModel)(a.provider,a.model);return{...a,fullModel:b,routedModel:e,alias:c[b]||a.model,caps:{vision:f.vision,search:f.search,reasoning:f.reasoning,contextWindow:f.contextWindow,maxOutput:f.maxOutput}}}),k=new Set(j.map(a=>a.fullModel)),l=new Set(j.map(a=>a.routedModel));for(let a of(await (0,e.uv)()).filter(a=>!(!a?.id||"llm"!==(a.kind||a.type||"llm")||l.has(`${a.providerAlias}/${a.id}`))&&!k.has(`${a.providerAlias}/${a.id}`))){let b=`${a.providerAlias}/${a.id}`,d=h.js[a.providerAlias]||a.providerAlias,e=(0,i.getCapabilitiesForModel)(d,a.id);j.push({provider:a.providerAlias,model:a.id,name:a.name||a.id,fullModel:b,routedModel:b,alias:c[b]||a.id,caps:{vision:e.vision,search:e.search,reasoning:e.reasoning,contextWindow:e.contextWindow,maxOutput:e.maxOutput,...a.caps||{}}})}return d.NextResponse.json({models:j})}catch(a){return console.log("Error fetching models:",a),d.NextResponse.json({error:"Failed to fetch models"},{status:500})}}async function k(a){try{let{model:b,alias:c}=await a.json();if(!b||!c)return d.NextResponse.json({error:"Model and alias required"},{status:400});let f=(await (0,e.OM)())[c];if(f&&f!==b)return d.NextResponse.json({error:`Alias "${c}" already points to ${f} — delete it before reusing the name for ${b}`},{status:400});return await (0,e.o5)(c,b),d.NextResponse.json({success:!0,model:b,alias:c})}catch(a){return console.log("Error updating alias:",a),d.NextResponse.json({error:"Failed to update alias"},{status:500})}}},16655:(a,b,c)=>{c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(83192)},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30869:(a,b,c)=>{c.d(b,{UY:()=>h,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g,oc:()=>i});var d=c(39006),e=c(40615),f=c(81329);d.rE;let g={npmPackageName:"9router",installCmd:"npm i -g 9router",installCmdLatest:"npm i -g 9router@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20128},h={maxLines:200,pollIntervalMs:1e3},i={tickIntervalMs:6e4,pingLeadMs:5e3,refreshAheadMs:3e5,failureCooldownMs:9e5,providers:{claude:{settingsKey:"claudeAutoPing",quotaKey:"session (5h)",pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1},codex:{settingsKey:"codexAutoPing",quotaKey:"session",pingWhenResetAtSlides:!0,resetAtDriftMs:3e4,minPingIntervalMs:6e5,skipWhenBlockingQuotaExhausted:!0,pingModel:"gpt-5.6-terra",pingText:"hi",pingInstructions:"Reply with OK.",pingReasoningEffort:"none"}}}},33873:a=>{a.exports=require("path")},39006:a=>{a.exports={rE:"0.6.13"}},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,TZ:()=>d.TZ,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.getProviderConnections,h1:()=>d.h1,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,oF:()=>d.oF,op:()=>d.op,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.updateProviderConnection,uv:()=>d.uv});var d=c(89718)},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79868:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,TZ:()=>d.TZ,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,h1:()=>d.h1,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oF:()=>d.oF,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(83192)},94735:a=>{a.exports=require("events")},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,9100,9318,6070,1329,8920,24],()=>b(b.s=4130));module.exports=c})();
|
|
1
|
+
"use strict";(()=>{var a={};a.id=552,a.ids=[552,1998],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4130:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/models/route",pathname:"/api/models",filename:"route",bundlePath:"app/api/models/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/models/route.js",nextConfigOutput:"standalone",userland:()=>c(15798),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models/route";"/index"===d&&(d="/");let{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=T.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},15798:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>j,PUT:()=>k});var d=c(23211),e=c(71998),f=c(16655),g=c(30869),h=c(40615),i=c(24);async function j(){try{let a=await (0,e.OM)(),b=await (0,f.vF)(),c={};for(let[b,d]of Object.entries(a))c[d]??=b;let j=g.eh.filter(a=>!(b[(0,h.wG)(a.provider)||a.provider]||b[a.provider]||[]).includes(a.model)).map(a=>{let b=`${a.provider}/${a.model}`,d=(0,h.wG)(a.provider)||a.provider,e=`${d}/${a.model}`,f=(0,i.getCapabilitiesForModel)(a.provider,a.model);return{...a,fullModel:b,routedModel:e,alias:c[b]||a.model,caps:{vision:f.vision,search:f.search,reasoning:f.reasoning,contextWindow:f.contextWindow,maxOutput:f.maxOutput}}}),k=new Set(j.map(a=>a.fullModel)),l=new Set(j.map(a=>a.routedModel));for(let a of(await (0,e.uv)()).filter(a=>!(!a?.id||"llm"!==(a.kind||a.type||"llm")||l.has(`${a.providerAlias}/${a.id}`))&&!k.has(`${a.providerAlias}/${a.id}`))){let b=`${a.providerAlias}/${a.id}`,d=h.js[a.providerAlias]||a.providerAlias,e=(0,i.getCapabilitiesForModel)(d,a.id);j.push({provider:a.providerAlias,model:a.id,name:a.name||a.id,fullModel:b,routedModel:b,alias:c[b]||a.id,caps:{vision:e.vision,search:e.search,reasoning:e.reasoning,contextWindow:e.contextWindow,maxOutput:e.maxOutput,...a.caps||{}}})}return d.NextResponse.json({models:j})}catch(a){return console.log("Error fetching models:",a),d.NextResponse.json({error:"Failed to fetch models"},{status:500})}}async function k(a){try{let{model:b,alias:c}=await a.json();if(!b||!c)return d.NextResponse.json({error:"Model and alias required"},{status:400});let f=(await (0,e.OM)())[c];if(f&&f!==b)return d.NextResponse.json({error:`Alias "${c}" already points to ${f} — delete it before reusing the name for ${b}`},{status:400});return await (0,e.o5)(c,b),d.NextResponse.json({success:!0,model:b,alias:c})}catch(a){return console.log("Error updating alias:",a),d.NextResponse.json({error:"Failed to update alias"},{status:500})}}},16655:(a,b,c)=>{c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(83192)},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{a.exports=require("os")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30869:(a,b,c)=>{c.d(b,{UY:()=>h,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g,oc:()=>i});var d=c(39006),e=c(40615),f=c(81329);d.rE;let g={npmPackageName:"9router",installCmd:"npm i -g 9router",installCmdLatest:"npm i -g 9router@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20128},h={maxLines:200,pollIntervalMs:1e3},i={tickIntervalMs:6e4,pingLeadMs:5e3,refreshAheadMs:3e5,failureCooldownMs:9e5,providers:{claude:{settingsKey:"claudeAutoPing",quotaKey:"session (5h)",pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1},codex:{settingsKey:"codexAutoPing",quotaKey:"session",pingWhenResetAtSlides:!0,resetAtDriftMs:3e4,minPingIntervalMs:6e5,skipWhenBlockingQuotaExhausted:!0,pingModel:"gpt-5.6-terra",pingText:"hi",pingInstructions:"Reply with OK.",pingReasoningEffort:"none"}}}},33873:a=>{a.exports=require("path")},39006:a=>{a.exports={rE:"0.6.14"}},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,TZ:()=>d.TZ,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.getProviderConnections,h1:()=>d.h1,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,oF:()=>d.oF,op:()=>d.op,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.updateProviderConnection,uv:()=>d.uv});var d=c(89718)},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79868:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,TZ:()=>d.TZ,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,h1:()=>d.h1,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oF:()=>d.oF,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(83192)},94735:a=>{a.exports=require("events")},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,9100,9318,6070,1329,8920,24],()=>b(b.s=4130));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=5211,a.ids=[615,5211,7247],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{a.exports=require("node:perf_hooks")},1708:a=>{a.exports=require("node:process")},1932:a=>{a.exports=require("url")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{a.exports=require("node:buffer")},7066:a=>{a.exports=require("node:tty")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{a.exports=require("os")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},40610:a=>{a.exports=require("node:dns")},40615:(a,b,c)=>{c.d(b,{AI_PROVIDERS:()=>s,js:()=>w,DI:()=>n,fg:()=>k,Pd:()=>o,IS:()=>h,nJ:()=>i,zN:()=>j,JH:()=>m,jO:()=>A,wb:()=>z,br:()=>l,wG:()=>v,zt:()=>t,gb:()=>q,gC:()=>r,mq:()=>p,HQ:()=>y,rs:()=>u});var d=c(39318);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.default.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","credentialFallback","systemoneConfig","modelsFetcher","mediaPriority","hiddenKinds"],g=a=>Object.fromEntries(d.default.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{},...a.apiKeyOptionalWith?{apiKeyOptionalWith:a.apiKeyOptionalWith}:{},...a.credentialForm?{credentialForm:a.credentialForm}:{}}}(a)])),h=g("free"),i=g("freeTier"),j=g("oauth"),k=g("apikey"),l=g("webCookie"),m="openai-compatible-",n="anthropic-compatible-",o="custom-embedding-";function p(a){return"string"==typeof a&&a.startsWith(m)}function q(a){return"string"==typeof a&&a.startsWith(n)}function r(a){return"string"==typeof a&&a.startsWith(o)}let s={...h,...i,...j,...k,...l};function t(a){for(let b of Object.values(s))if(b.alias===a||b.id===a)return b;return null}function u(a){let b=t(a);return b?.id||a}function v(a){let b=s[a];return b?.alias||a}let w=Object.values(s).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(s).reduce((a,b)=>(a[b.id]=b.alias,a),{});let x=new Set;for(let a of d.default)for(let b of[a.id,a.alias,a.uiAlias,...a.aliases||[]])b&&x.add(b);function y(a){return x.has(a)}let z=d.default.filter(a=>a.features?.usage).map(a=>a.id),A=d.default.filter(a=>a.features?.usageApikey).map(a=>a.id)},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46193:a=>{a.exports=require("node:string_decoder")},46293:a=>{a.exports=require("sql.js")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57247:(a,b,c)=>{c.d(b,{KC:()=>t,OA:()=>p,PROVIDER_MODELS:()=>e.vq,SM:()=>j,V2:()=>q,Xg:()=>s,cY:()=>u,ez:()=>o,fZ:()=>k,kt:()=>r,ux:()=>n});var d=c(39318),e=c(26070),f=c(99511),g=c(59096),h=c(14170);let i=a=>!a||["oc","opencode","ocg","opencode-go","ocz","opencode-zen"].includes(a);function j(a){return e.vq[a]||[]}function k(a){let b=e.vq[a];return b?.[0]?.id||null}let l=new Set(["kr","kiro"]);function m(a,b,c){if(!a)return;let d="string"==typeof b?b.replace(/\([^()]+\)\s*$/,"").trim():b,e=a.find(a=>a.id===b||a.id===d);if(e)return e;if(!l.has(c))return;let g=(0,f.Kq)(d);if(g!==d)return a.find(a=>a.id===g)}function n(a,b){if(i(a)&&(0,g.nh)(b))return h.h.OPENAI_RESPONSES;let c=e.vq[a];if(!c)return null;let d=m(c,b,a);return d?(0,f.gr)(d):i(a)&&(0,g.i8)(b)?.targetFormat||null}function o(a,b){let c=e.vq[a];if(!c)return null;let d=m(c,b,a);return d?(0,f.ec)(d):i(a)?(0,g.i8)(b)?.supportedFormats||[h.h.OPENAI]:null}function p(a,b){let c=e.vq[a];if(!c)return null;let d=m(c,b,a);return d?.kind||d?.type||null}function q(a,b){return m(e.vq[a],b,a)||null}function r(a,b,c=null){let d="string"==typeof b?b.match(/\([^()]+\)\s*$/):null,f=d?d[0]:"",h=f?b.slice(0,d.index).trim():b,i=e.vq[a],j=f?f.slice(1,-1).trim().toLowerCase():"",k="xhigh"===j||"max"===j?"high":"minimal"===j?"low":j;if(!k&&c&&"object"==typeof c){let a=c.reasoning_effort||c.output_config?.effort||("object"==typeof c.reasoning?c.reasoning?.effort:null);if("string"==typeof a&&a){let b=a.toLowerCase().trim();k="xhigh"===b||"max"===b?"high":"minimal"===b?"low":b}else if(c.thinking&&"object"==typeof c.thinking){let a=Number(c.thinking.budget_tokens);Number.isFinite(a)&&a>0&&(k=a>16384?"high":a<=4096?"low":"medium")}}let l=k?`${h}-${k}`:null,n=l&&m(i,l,a)||m(i,h,a),o=n?.upstreamModelId||n?.id;if(o){let a=o.match(/\([^()]+\)\s*$/),b=a?.[0]||"";return(b?o.slice(0,a.index).trim():o)+(f||(b&&k?`(${k})`:b))}return"cx"===a&&"string"==typeof h&&h.endsWith(g.d5)?h.slice(0,-g.d5.length)+f:h+f}Object.fromEntries(d.default.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias]));let s=Object.fromEntries(d.default.map(a=>[a.id,a.alias||a.id]));function t(a){let b=s[a]||a;return e.vq[b]||[]}function u(a,b){return(0,f.g5)(m(e.vq[a],b,a))}},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},70566:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/providers/[id]/models/route",pathname:"/api/providers/[id]/models",filename:"route",bundlePath:"app/api/providers/[id]/models/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/providers/[id]/models/route.js",nextConfigOutput:"standalone",userland:()=>c(93297),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/providers/[id]/models/route";"/index"===d&&(d="/");let{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=T.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},71553:a=>{a.exports=require("node:dns/promises")},71622:a=>{a.exports=import("open")},72271:a=>{a.exports=require("@aws-sdk/credential-providers")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79646:a=>{a.exports=require("child_process")},79868:a=>{a.exports=require("node:sqlite")},81630:a=>{a.exports=require("http")},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},92990:(a,b,c)=>{c.d(b,{DI:()=>i,DV:()=>A,EL:()=>G,LT:()=>j,MZ:()=>v,Nl:()=>z,Nu:()=>p,OV:()=>h,RY:()=>K,Ru:()=>L,S6:()=>s,SK:()=>F,Td:()=>B,Tx:()=>q,WN:()=>t,Ww:()=>O,YT:()=>n,Z2:()=>N,ZL:()=>m,_0:()=>I,aV:()=>u,bo:()=>J,cD:()=>o,eD:()=>H,f7:()=>y,hF:()=>k,iO:()=>M,lB:()=>w,oe:()=>E,qp:()=>C,sA:()=>D,t3:()=>l,w1:()=>x});var d=c(21820),e=c(74129),f=c(26070);function g(){let a=(0,d.platform)(),b=(0,d.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}let h={...f.sr.claude},i={...f.sr.codex},j={...e.dG,...f.sr["gemini-cli"]},k={...f.sr.qoder},l={...f.sr["qoder-cn"]},m={...f.sr.iflow},n={...e.XP,...f.sr.antigravity,loadCodeAssistClientMetadata:JSON.stringify({ideType:9,platform:g(),pluginType:2})};function o(){return{ideType:9,platform:g(),pluginType:2}}({...f.sr.openai});let p={...f.sr.github},q={...f.sr.kiro},r=/^[a-z]{2}-[a-z]+-\d{1,2}$/;function s(a){if("string"!=typeof a||!r.test(a))throw Error("Invalid region");return a}let t={...f.sr.cursor,tokenStoragePaths:{linux:"~/.config/Cursor/User/globalStorage/state.vscdb",macos:"/Users/<user>/Library/Application Support/Cursor/User/globalStorage/state.vscdb",windows:"%APPDATA%\\Cursor\\User\\globalStorage\\state.vscdb"}},u={...f.sr.kimi,clientId:process.env.KIMI_CODING_OAUTH_CLIENT_ID||process.env.KIMI_OAUTH_CLIENT_ID||f.xq.kimi?.clientId||f.sr.kimi?.clientId},v={...f.sr.kilocode},w={...f.sr.cline},x={...f.sr.clinepass},y={...f.sr.gitlab},z={...f.sr["codebuddy-cn"]},A={...f.sr["codebuddy-intl"]},B={...f.sr.kimchi},C={...f.sr["grok-cli"]},D={...f.sr.muse},E={platformUrl:process.env.MIMO_PLATFORM_URL||"https://platform.xiaomimimo.com",defaultBaseUrl:"https://api.xiaomimimo.com/v1",kn:"mimocode",callbackPath:"/",timeoutMs:3e5},F={clientId:"ono9krqynydwx5",clientSecret:"-",loginGuidanceUrls:["https://api.marscode.com/cloudide/api/v3/trae/GetLoginGuidance","https://api.trae.ai/cloudide/api/v3/trae/GetLoginGuidance","https://www.trae.ai/cloudide/api/v3/trae/GetLoginGuidance"],apiOrigins:["https://api.marscode.com","https://api.trae.ai","https://www.trae.ai","https://www.marscode.com"],exchangeTokenPath:"/cloudide/api/v3/trae/oauth/ExchangeToken",getUserInfoPath:"/cloudide/api/v3/trae/GetUserInfo",authorizationPath:"/authorization",callbackPath:"/callback",minAppVersion:"3.5.54",defaultAppVersion:"3.5.54",defaultAppType:"stable",defaultPluginVersion:"local",defaultDeviceId:"0",userAgent:"Trae/1.0.0 antigravity-cockpit-tools",webUrl:"https://www.trae.ai",authScheme:"Cloud-IDE-JWT",tokenLifetimeDays:14,oauthTimeoutMs:6e5},G={...f.sr["trae-enterprise"],minAppVersion:F.minAppVersion,defaultAppVersion:F.defaultAppVersion,defaultAppType:F.defaultAppType,defaultPluginVersion:F.defaultPluginVersion,defaultDeviceId:F.defaultDeviceId,userAgent:F.userAgent,authScheme:F.authScheme,tokenLifetimeDays:F.tokenLifetimeDays,oauthTimeoutMs:F.oauthTimeoutMs},H={clientId:"3GUryQ7ldAeKEuD2obYnppsnmj58eP5u",authBaseUrl:"https://www.windsurf.com",signInPath:"/windsurf/signin",registerApiBaseUrl:"https://register.windsurf.com",registerPath:"/exa.seat_management_pb.SeatManagementService/RegisterUser",oneTimeAuthPath:"/exa.seat_management_pb.SeatManagementService/GetOneTimeAuthToken",currentUserPath:"/exa.seat_management_pb.SeatManagementService/GetCurrentUser",planStatusPath:"/exa.seat_management_pb.SeatManagementService/GetPlanStatus",userStatusPath:"/exa.seat_management_pb.SeatManagementService/GetUserStatus",defaultApiServerUrl:"https://server.codeium.com",firebaseApiKey:"AIzaSyDsOl-1XpT5err0Tcn0TFFod1H8gVGIycY",callbackPath:"/windsurf-auth-callback",userAgent:"antigravity-cockpit-tools",oauthTimeoutMs:6e5},I={...f.sr.glm},J={...f.sr.zcode},K={webBaseUrl:"https://zed.dev",cloudBaseUrl:"https://cloud.zed.dev",llmBaseUrl:"https://cloud.zed.dev",defaultNativeAppPort:58443,oauthTimeoutMs:6e5},L={...f.sr.codearts},M={...f.sr.deveco},N={clientId:"hermes-cli",portalBaseUrl:"https://portal.nousresearch.com",deviceCodeUrl:"https://portal.nousresearch.com/api/oauth/device/code",tokenUrl:"https://portal.nousresearch.com/api/oauth/token",agentKeyUrl:"https://portal.nousresearch.com/api/oauth/agent-key",inferenceBaseUrl:"https://inference-api.nousresearch.com/v1",scope:"inference:invoke inference:mint_agent_key"},O=3e5},93297:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>D,PROVIDER_MODELS_CONFIG:()=>C,createOpenAIModelsConfig:()=>y});var d=c(23211),e=c(71998),f=c(40615),g=c(92990),h=c(67828),i=c(12643),j=c(57247),k=c(29679),l=c(52007),m=c(53225),n=c(38709),o=c(39326),p=c(82578),q=c(49804),r=c(37347),s=c(44705),t=c(28948),u=c(29493),v=c(91879);let w=`https://chatgpt.com/backend-api/codex/models?client_version=${v.A.transport.cliVersion}`,x=a=>Array.isArray(a)?a:a?.data||a?.models||a?.results||[],y=(a,b=null)=>({url:a,method:"GET",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>x(a).map(a=>{let c=a?.id;return c&&b?{...a,id:`${b}/${c}`,name:a.name||a.display_name||c}:a})}),z=a=>(0,j.KC)(a).map(a=>({...a,id:a.id,name:a.name||a.id})),A=({refreshFn:a,fetchFn:b,parseFn:c,errorLabel:d})=>async e=>{let f,{accessToken:g,refreshToken:i}=e;if(!g)return{error:"No valid token found",status:401};try{let j=await b(g,e);if(!j.ok&&(401===j.status||403===j.status)&&i){let c=await a(e);c?.accessToken&&(await (0,h.vN)(e.id,{accessToken:c.accessToken,refreshToken:c.refreshToken||i,expiresIn:c.expiresIn}),e.accessToken=c.accessToken,c.refreshToken&&(e.refreshToken=c.refreshToken),j=await b(c.accessToken,e))}if(j.ok){let a=await j.json(),b=c(a);if(b.length>0)return{models:b}}else{let a=await j.text();f=`${d}: ${j.status} ${a}`,console.log(`${d} (falling back to static):`,a)}}catch(a){f=`${d}: ${a.message}`,console.log(`${d} (falling back to static):`,a.message)}return{models:[],warning:f}};function B(a){return{customResolver:async b=>{let c,d={provider:a,accessToken:b.accessToken,apiKey:b.apiKey,refreshToken:b.refreshToken,email:b.email,displayName:b.displayName,providerSpecificData:b.providerSpecificData||{}};try{let b=await (0,m.EV)(d,{forceRefresh:!0});if(b?.models?.length)return{models:b.models.map(b=>({id:`${a}/${b.id}`,name:b.name,contextLength:b.contextLength,isVL:b.isVL,isReasoning:b.isReasoning,maxOutputTokens:b.maxOutputTokens,description:b.description}))};c="Qoder returned no models; falling back to static catalog."}catch(a){c=`Failed to fetch Qoder models: ${a.message}`,console.log("Failed to fetch Qoder models dynamically, falling back to static:",a.message)}return{models:[],warning:c}}}}let C={muse:{url:"https://api.meta.ai/v1/models",method:"GET",headers:{"Content-Type":"application/json","x-api-version":"1.0.0"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>a.data||[]},claude:{url:"https://api.anthropic.com/v1/models",method:"GET",headers:{"Anthropic-Version":"2023-06-01","Content-Type":"application/json"},authHeader:"x-api-key",parseResponse:a=>a.data||[]},gemini:{url:"https://generativelanguage.googleapis.com/v1beta/models",method:"GET",headers:{"Content-Type":"application/json"},authQuery:"key",parseResponse:a=>a.models||[]},codex:{customResolver:A({refreshFn:a=>(0,h.Wm)(a.refreshToken),fetchFn:a=>fetch(w,{method:"GET",headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:`Bearer ${a}`,originator:"codex_cli_rs"}}),parseFn:a=>x(a).flatMap(a=>{let b=a?.id||a?.slug||a?.model||a?.name;if(!b)return[];let c=a?.display_name||a?.displayName||a?.name||b,d={...a,id:b,name:c};return!("image"!==(a?.type||"llm")&&!b.toLowerCase().includes("embed"))||b.endsWith("-review")?[d]:[d,{...d,id:`${b}-review`,name:`${c} Review`,upstreamModelId:b,quotaFamily:"review"}]}),errorLabel:"Failed to fetch Codex models"})},antigravity:{url:"https://daily-cloudcode-pa.sandbox.googleapis.com/v1internal:models",method:"POST",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",body:{},parseResponse:a=>a.models||[]},github:{url:"https://api.githubcopilot.com/models",method:"GET",headers:{"Content-Type":"application/json","Copilot-Integration-Id":"vscode-chat","editor-version":"vscode/1.107.1","editor-plugin-version":"copilot-chat/0.26.7","user-agent":"GitHubCopilotChat/0.26.7"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>a?.data?a.data.filter(a=>a.capabilities?.type==="chat").filter(a=>a.policy?.state!=="disabled").map(a=>({id:a.id,name:a.name||a.id,version:a.version,capabilities:a.capabilities,isDefault:!0===a.model_picker_enabled})):[]},openai:y("https://api.openai.com/v1/models"),openrouter:y("https://openrouter.ai/api/v1/models"),nous:{...y(u.B3),parseResponse:a=>(0,u.bd)(a).map(a=>({...a,id:`nous/${a.id}`,upstreamModelId:a.id}))},anthropic:{url:"https://api.anthropic.com/v1/models",method:"GET",headers:{"Anthropic-Version":"2023-06-01","Content-Type":"application/json"},authHeader:"x-api-key",parseResponse:a=>a.data||[]},alicode:{url:"https://coding.dashscope.aliyuncs.com/v1/models",method:"GET",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>a.data||[]},"alicode-intl":{url:"https://coding-intl.dashscope.aliyuncs.com/v1/models",method:"GET",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>a.data||[]},"alims-intl":{url:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1/models",method:"GET",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>a.data||[]},"volcengine-ark":y("https://ark.cn-beijing.volces.com/api/coding/v3/models"),byteplus:y("https://ark.ap-southeast.bytepluses.com/api/coding/v3/models"),minimax:y("https://api.minimax.io/v1/models","minimax"),"minimax-cn":y("https://api.minimaxi.com/v1/models","minimax-cn"),deepseek:y("https://api.deepseek.com/models"),groq:y("https://api.groq.com/openai/v1/models"),xai:y("https://api.x.ai/v1/models"),mistral:y("https://api.mistral.ai/v1/models"),perplexity:y("https://api.perplexity.ai/v1/models"),"perplexity-agent":y("https://api.perplexity.ai/v1/models"),together:y("https://api.together.xyz/v1/models"),fireworks:y("https://api.fireworks.ai/inference/v1/models"),cerebras:y("https://api.cerebras.ai/v1/models"),cohere:y("https://api.cohere.ai/v1/models"),nebius:y("https://api.studio.nebius.ai/v1/models"),siliconflow:y("https://api.siliconflow.com/v1/models"),hyperbolic:y("https://api.hyperbolic.xyz/v1/models"),ollama:y("https://ollama.com/api/tags"),nanobanana:y("https://api.nanobananaapi.ai/v1/models"),chutes:y("https://llm.chutes.ai/v1/models"),nvidia:y("https://integrate.api.nvidia.com/v1/models"),assemblyai:y("https://api.assemblyai.com/v1/models"),"vercel-ai-gateway":y("https://ai-gateway.vercel.sh/v1/models"),tokenharbor:y("https://tokenharbor.ai/v1/models"),dahl:y("https://inference.dahl.global/v1/models"),atria:y("https://api.atria-asi.ai/v1/models"),agnes:y("https://apihub.agnes-ai.com/v1/models"),bai:y("https://api.b.ai/v1/models"),kimchi:{customResolver:async a=>{let b=await (0,l.av)({accessToken:a.accessToken,apiKey:a.apiKey,providerSpecificData:a.providerSpecificData||{}},{forceRefresh:!0,log:console});return b?.models?.length?{models:b.models}:{models:z("kimchi"),warning:"Kimchi returned no live models; falling back to static catalog."}}},cursor:{customResolver:async a=>{let b=await (0,p.FD)({accessToken:a.accessToken,providerSpecificData:a.providerSpecificData||{}},{forceRefresh:!0,log:console});return b?.models?.length?{models:b.models}:{models:z("cursor"),warning:"Cursor returned no live models; falling back to static catalog."}}},zed:{customResolver:async a=>{try{let b=await (0,q.w9)({accessToken:a.accessToken,providerSpecificData:a.providerSpecificData||{}},{config:g.RY,forceRefresh:!0}),c=(b?.models||[]).filter(a=>a&&!a.isDisabled).map(a=>({id:a.id,name:a.name||a.id,provider:a.provider,contextLength:a.contextLength,contextLengthInMaxMode:a.contextLengthInMaxMode,maxOutputTokens:a.maxOutputTokens,supportsTools:a.supportsTools,supportsImages:a.supportsImages,supportsThinking:a.supportsThinking,supportsDisablingThinking:a.supportsDisablingThinking,supportsFastMode:a.supportsFastMode,supportsServerSideCompaction:a.supportsServerSideCompaction,supportedEffortLevels:a.supportedEffortLevels||[],supportsStreamingTools:a.supportsStreamingTools,supportsParallelToolCalls:a.supportsParallelToolCalls}));if(c.length>0)return{models:c};return{models:[],warning:"Zed returned no live models."}}catch(a){return console.log("Failed to fetch Zed models dynamically:",a.message),{models:[],warning:`Failed to fetch Zed models: ${a.message}`}}}},cline:{customResolver:async a=>{let b=await (0,t.M)({accessToken:a.accessToken,apiKey:a.apiKey});return b?.models?.length?{models:b.models}:{models:z("cline"),warning:"Cline returned no live models; falling back to static catalog."}}},clinepass:{customResolver:async a=>{let b=await (0,t.P)({accessToken:a.accessToken,apiKey:a.apiKey});return b?.models?.length?{models:b.models}:{models:z("clinepass"),warning:"ClinePass returned no live models; falling back to static catalog."}}},kiro:{customResolver:async a=>{let b,c={accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}};try{let d=await (0,k.cW)(c,{log:console,onCredentialsRefreshed:async b=>{b?.accessToken&&(await (0,h.vN)(a.id,{accessToken:b.accessToken,refreshToken:b.refreshToken||a.refreshToken,expiresIn:b.expiresIn}),a.accessToken=b.accessToken,b.refreshToken&&(a.refreshToken=b.refreshToken))}});if(d?.models?.length)return{models:d.models.map(a=>({id:a.id,name:a.name,upstreamModelId:a.upstreamModelId,contextLength:a.contextLength,rateMultiplier:a.rateMultiplier,capabilities:a.capabilities,description:a.description}))};b="Kiro returned no models; falling back to static catalog."}catch(a){b=`Failed to fetch Kiro models: ${a.message}`,console.log("Failed to fetch Kiro models dynamically, falling back to static:",a.message)}return{models:[],warning:b}}},qoder:B("qoder"),"qoder-cn":B("qoder-cn"),"trae-enterprise":{customResolver:async a=>{let b=await (0,r.i)({accessToken:a.accessToken},{forceRefresh:!0});return b?.models?.length?{models:b.models}:{models:z("trae-enterprise"),warning:"Trae Enterprise returned no live models; falling back to static catalog."}}},codearts:{customResolver:async a=>{let b=await (0,o.B)(a.providerSpecificData||{}),c=null;try{c=await (0,s.EA)(a,{forceRefresh:!0,proxyOptions:{connectionProxyEnabled:!0===b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl||"",connectionNoProxy:b.connectionNoProxy||"",vercelRelayUrl:b.vercelRelayUrl||"",strictProxy:!0===b.strictProxy}})}catch(a){console.log("Failed to fetch CodeArts models dynamically, falling back to static:",a.message)}return c?.models?.length?{models:c.models}:{models:z("codearts"),warning:"CodeArts returned no live models; falling back to static catalog."}}},"gemini-cli":{customResolver:A({refreshFn:a=>(0,h.I9)(a.refreshToken,g.LT.clientId,g.LT.clientSecret),fetchFn:(a,b)=>{let c=b.projectId||b.providerSpecificData?.projectId;return fetch("https://cloudcode-pa.googleapis.com/v1internal:fetchAvailableModels",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`,"User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"google-cloud-sdk vscode_cloudshelleditor/0.1"},body:JSON.stringify(c?{project:c}:{})})},parseFn:a=>Array.isArray(a?.models)?a.models.map(a=>{let b=a?.id||a?.model||a?.name;return b?{id:b,name:a?.displayName||a?.name||b}:null}).filter(Boolean):a?.models&&"object"==typeof a.models?Object.entries(a.models).filter(([,a])=>!a?.isInternal).map(([a,b])=>({id:a,name:b?.displayName||b?.name||a})):[],errorLabel:"Failed to fetch Gemini CLI models"})},"grok-cli":{customResolver:async a=>{let b=await (0,o.B)(a.providerSpecificData||{}),c=await (0,n.M)({...a,connectionId:a.id},{log:console,proxyOptions:{connectionProxyEnabled:!0===b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl||"",connectionNoProxy:b.connectionNoProxy||"",vercelRelayUrl:b.vercelRelayUrl||"",strictProxy:!0===b.strictProxy},onCredentialsRefreshed:async b=>{await (0,h.vN)(a.id,{...b,existingProviderSpecificData:a.providerSpecificData||{}})}});return c.models.length?c:{models:z("grok-cli"),warning:c.warning||"Grok CLI returned no live models; using static catalog."}}},"ollama-local":{customResolver:async a=>{let b=`${(0,i.Ak)(a)}/api/tags`,c=await fetch(b,{method:"GET",headers:{"Content-Type":"application/json"}});return c.ok?{models:x(await c.json())}:(console.log("Error fetching models from ollama-local:",await c.text()),{error:`Failed to fetch models: ${c.status}`,status:c.status})}}};async function D(a,{params:b}){try{let{id:a}=await b,c=await (0,e.Mc)(a);if(!c)return d.NextResponse.json({error:"Connection not found"},{status:404});if((0,f.mq)(c.provider)){let a=c.providerSpecificData?.baseUrl;if(!a)return d.NextResponse.json({error:"No base URL configured for OpenAI compatible provider"},{status:400});let b=`${a.replace(/\/$/,"")}/models`,e=await fetch(b,{method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${c.apiKey}`}});if(!e.ok){let a=await e.text();return console.log(`Error fetching models from ${c.provider}:`,a),d.NextResponse.json({error:`Failed to fetch models: ${e.status}`},{status:e.status})}let f=await e.json(),g=f.data||f.models||[];return d.NextResponse.json({provider:c.provider,connectionId:c.id,models:g})}if((0,f.gb)(c.provider)){let a=c.providerSpecificData?.baseUrl;if(!a)return d.NextResponse.json({error:"No base URL configured for Anthropic compatible provider"},{status:400});(a=a.replace(/\/$/,"")).endsWith("/messages")&&(a=a.slice(0,-9));let b=`${a}/models`,e=await fetch(b,{method:"GET",headers:{"Content-Type":"application/json","x-api-key":c.apiKey,"anthropic-version":"2023-06-01",Authorization:`Bearer ${c.apiKey}`}});if(!e.ok){let a=await e.text();return console.log(`Error fetching models from ${c.provider}:`,a),d.NextResponse.json({error:`Failed to fetch models: ${e.status}`},{status:e.status})}let f=await e.json(),g=f.data||f.models||[];return d.NextResponse.json({provider:c.provider,connectionId:c.id,models:g})}let g=C[c.provider];if(!g)return d.NextResponse.json({error:`Provider ${c.provider} does not support models listing`},{status:400});if("function"==typeof g.customResolver){let a=await g.customResolver(c);if(a.error)return d.NextResponse.json({error:a.error},{status:a.status||500});return d.NextResponse.json({provider:c.provider,connectionId:c.id,models:a.models,...a.warning?{warning:a.warning}:{}})}let h=c.providerSpecificData?.copilotToken||c.accessToken||c.apiKey;if(!h)return d.NextResponse.json({error:"No valid token found"},{status:401});let i=g.url;g.authQuery&&(i+=`?${g.authQuery}=${h}`);let j={...g.headers};g.authHeader&&!g.authQuery&&(j[g.authHeader]=(g.authPrefix||"")+h);let k={method:g.method,headers:j};g.body&&"POST"===g.method&&(k.body=JSON.stringify(g.body));let l=await fetch(i,k);if(!l.ok){let a=await l.text();return console.log(`Error fetching models from ${c.provider}:`,a),d.NextResponse.json({error:`Failed to fetch models: ${l.status}`},{status:l.status})}let m=await l.json(),n=g.parseResponse(m);return d.NextResponse.json({provider:c.provider,connectionId:c.id,models:n})}catch(a){return console.log("Error fetching provider models:",a),d.NextResponse.json({error:"Failed to fetch models"},{status:500})}}},94735:a=>{a.exports=require("events")}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,9100,9318,6070,9609,3943,2578,3225,7913,7828,9460,9310],()=>b(b.s=70566));module.exports=c})();
|
|
1
|
+
"use strict";(()=>{var a={};a.id=5211,a.ids=[615,5211,7247],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{a.exports=require("node:perf_hooks")},1708:a=>{a.exports=require("node:process")},1932:a=>{a.exports=require("url")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{a.exports=require("node:buffer")},7066:a=>{a.exports=require("node:tty")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{a.exports=require("os")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},40610:a=>{a.exports=require("node:dns")},40615:(a,b,c)=>{c.d(b,{AI_PROVIDERS:()=>s,js:()=>w,DI:()=>n,fg:()=>k,Pd:()=>o,IS:()=>h,nJ:()=>i,zN:()=>j,JH:()=>m,jO:()=>A,wb:()=>z,br:()=>l,wG:()=>v,zt:()=>t,gb:()=>q,gC:()=>r,mq:()=>p,HQ:()=>y,rs:()=>u});var d=c(39318);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.default.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","credentialFallback","systemoneConfig","modelsFetcher","mediaPriority","hiddenKinds"],g=a=>Object.fromEntries(d.default.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{},...a.apiKeyOptionalWith?{apiKeyOptionalWith:a.apiKeyOptionalWith}:{},...a.credentialForm?{credentialForm:a.credentialForm}:{}}}(a)])),h=g("free"),i=g("freeTier"),j=g("oauth"),k=g("apikey"),l=g("webCookie"),m="openai-compatible-",n="anthropic-compatible-",o="custom-embedding-";function p(a){return"string"==typeof a&&a.startsWith(m)}function q(a){return"string"==typeof a&&a.startsWith(n)}function r(a){return"string"==typeof a&&a.startsWith(o)}let s={...h,...i,...j,...k,...l};function t(a){for(let b of Object.values(s))if(b.alias===a||b.id===a)return b;return null}function u(a){let b=t(a);return b?.id||a}function v(a){let b=s[a];return b?.alias||a}let w=Object.values(s).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(s).reduce((a,b)=>(a[b.id]=b.alias,a),{});let x=new Set;for(let a of d.default)for(let b of[a.id,a.alias,a.uiAlias,...a.aliases||[]])b&&x.add(b);function y(a){return x.has(a)}let z=d.default.filter(a=>a.features?.usage).map(a=>a.id),A=d.default.filter(a=>a.features?.usageApikey).map(a=>a.id)},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46193:a=>{a.exports=require("node:string_decoder")},46293:a=>{a.exports=require("sql.js")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57247:(a,b,c)=>{c.d(b,{KC:()=>t,OA:()=>p,PROVIDER_MODELS:()=>e.vq,SM:()=>j,V2:()=>q,Xg:()=>s,cY:()=>u,ez:()=>o,fZ:()=>k,kt:()=>r,ux:()=>n});var d=c(39318),e=c(26070),f=c(99511),g=c(59096),h=c(14170);let i=a=>!a||["oc","opencode","ocg","opencode-go","ocz","opencode-zen"].includes(a);function j(a){return e.vq[a]||[]}function k(a){let b=e.vq[a];return b?.[0]?.id||null}let l=new Set(["kr","kiro"]);function m(a,b,c){if(!a)return;let d="string"==typeof b?b.replace(/\([^()]+\)\s*$/,"").trim():b,e=a.find(a=>a.id===b||a.id===d);if(e)return e;if(!l.has(c))return;let g=(0,f.Kq)(d);if(g!==d)return a.find(a=>a.id===g)}function n(a,b){if(i(a)&&(0,g.nh)(b))return h.h.OPENAI_RESPONSES;let c=e.vq[a];if(!c)return null;let d=m(c,b,a);return d?(0,f.gr)(d):i(a)&&(0,g.i8)(b)?.targetFormat||null}function o(a,b){let c=e.vq[a];if(!c)return null;let d=m(c,b,a);return d?(0,f.ec)(d):i(a)?(0,g.i8)(b)?.supportedFormats||[h.h.OPENAI]:null}function p(a,b){let c=e.vq[a];if(!c)return null;let d=m(c,b,a);return d?.kind||d?.type||null}function q(a,b){return m(e.vq[a],b,a)||null}function r(a,b,c=null){let d="string"==typeof b?b.match(/\([^()]+\)\s*$/):null,f=d?d[0]:"",h=f?b.slice(0,d.index).trim():b,i=e.vq[a],j=f?f.slice(1,-1).trim().toLowerCase():"",k="xhigh"===j||"max"===j?"high":"minimal"===j?"low":j;if(!k&&c&&"object"==typeof c){let a=c.reasoning_effort||c.output_config?.effort||("object"==typeof c.reasoning?c.reasoning?.effort:null);if("string"==typeof a&&a){let b=a.toLowerCase().trim();k="xhigh"===b||"max"===b?"high":"minimal"===b?"low":b}else if(c.thinking&&"object"==typeof c.thinking){let a=Number(c.thinking.budget_tokens);Number.isFinite(a)&&a>0&&(k=a>16384?"high":a<=4096?"low":"medium")}}let l=k?`${h}-${k}`:null,n=l&&m(i,l,a)||m(i,h,a),o=n?.upstreamModelId||n?.id;if(o){let a=o.match(/\([^()]+\)\s*$/),b=a?.[0]||"";return(b?o.slice(0,a.index).trim():o)+(f||(b&&k?`(${k})`:b))}return"cx"===a&&"string"==typeof h&&h.endsWith(g.d5)?h.slice(0,-g.d5.length)+f:h+f}Object.fromEntries(d.default.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias]));let s=Object.fromEntries(d.default.map(a=>[a.id,a.alias||a.id]));function t(a){let b=s[a]||a;return e.vq[b]||[]}function u(a,b){return(0,f.g5)(m(e.vq[a],b,a))}},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},70566:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/providers/[id]/models/route",pathname:"/api/providers/[id]/models",filename:"route",bundlePath:"app/api/providers/[id]/models/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/9router/9router/src/app/api/providers/[id]/models/route.js",nextConfigOutput:"standalone",userland:()=>c(93297),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/providers/[id]/models/route";"/index"===d&&(d="/");let{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=T.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},71553:a=>{a.exports=require("node:dns/promises")},71622:a=>{a.exports=import("open")},72271:a=>{a.exports=require("@aws-sdk/credential-providers")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79646:a=>{a.exports=require("child_process")},79868:a=>{a.exports=require("node:sqlite")},81630:a=>{a.exports=require("http")},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},92990:(a,b,c)=>{c.d(b,{DI:()=>i,DV:()=>A,EL:()=>G,LT:()=>j,MZ:()=>v,Nl:()=>z,Nu:()=>p,OV:()=>h,RY:()=>K,Ru:()=>L,S6:()=>s,SK:()=>F,Td:()=>B,Tx:()=>q,WN:()=>t,Ww:()=>O,YT:()=>n,Z2:()=>N,ZL:()=>m,_0:()=>I,aV:()=>u,bo:()=>J,cD:()=>o,eD:()=>H,f7:()=>y,hF:()=>k,iO:()=>M,lB:()=>w,oe:()=>E,qp:()=>C,sA:()=>D,t3:()=>l,w1:()=>x});var d=c(21820),e=c(74129),f=c(26070);function g(){let a=(0,d.platform)(),b=(0,d.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}let h={...f.sr.claude},i={...f.sr.codex},j={...e.dG,...f.sr["gemini-cli"]},k={...f.sr.qoder},l={...f.sr["qoder-cn"]},m={...f.sr.iflow},n={...e.XP,...f.sr.antigravity,loadCodeAssistClientMetadata:JSON.stringify({ideType:9,platform:g(),pluginType:2})};function o(){return{ideType:9,platform:g(),pluginType:2}}({...f.sr.openai});let p={...f.sr.github},q={...f.sr.kiro},r=/^[a-z]{2}-[a-z]+-\d{1,2}$/;function s(a){if("string"!=typeof a||!r.test(a))throw Error("Invalid region");return a}let t={...f.sr.cursor,tokenStoragePaths:{linux:"~/.config/Cursor/User/globalStorage/state.vscdb",macos:"/Users/<user>/Library/Application Support/Cursor/User/globalStorage/state.vscdb",windows:"%APPDATA%\\Cursor\\User\\globalStorage\\state.vscdb"}},u={...f.sr.kimi,clientId:process.env.KIMI_CODING_OAUTH_CLIENT_ID||process.env.KIMI_OAUTH_CLIENT_ID||f.xq.kimi?.clientId||f.sr.kimi?.clientId},v={...f.sr.kilocode},w={...f.sr.cline},x={...f.sr.clinepass},y={...f.sr.gitlab},z={...f.sr["codebuddy-cn"]},A={...f.sr["codebuddy-intl"]},B={...f.sr.kimchi},C={...f.sr["grok-cli"]},D={...f.sr.muse},E={platformUrl:process.env.MIMO_PLATFORM_URL||"https://platform.xiaomimimo.com",defaultBaseUrl:"https://api.xiaomimimo.com/v1",kn:"mimocode",callbackPath:"/",timeoutMs:3e5},F={clientId:"ono9krqynydwx5",clientSecret:"-",loginGuidanceUrls:["https://api.marscode.com/cloudide/api/v3/trae/GetLoginGuidance","https://api.trae.ai/cloudide/api/v3/trae/GetLoginGuidance","https://www.trae.ai/cloudide/api/v3/trae/GetLoginGuidance"],apiOrigins:["https://api.marscode.com","https://api.trae.ai","https://www.trae.ai","https://www.marscode.com"],exchangeTokenPath:"/cloudide/api/v3/trae/oauth/ExchangeToken",getUserInfoPath:"/cloudide/api/v3/trae/GetUserInfo",authorizationPath:"/authorization",callbackPath:"/callback",minAppVersion:"3.5.54",defaultAppVersion:"3.5.54",defaultAppType:"stable",defaultPluginVersion:"local",defaultDeviceId:"0",userAgent:"Trae/1.0.0 antigravity-cockpit-tools",webUrl:"https://www.trae.ai",authScheme:"Cloud-IDE-JWT",tokenLifetimeDays:14,oauthTimeoutMs:6e5},G={...f.sr["trae-enterprise"],minAppVersion:F.minAppVersion,defaultAppVersion:F.defaultAppVersion,defaultAppType:F.defaultAppType,defaultPluginVersion:F.defaultPluginVersion,defaultDeviceId:F.defaultDeviceId,userAgent:F.userAgent,authScheme:F.authScheme,tokenLifetimeDays:F.tokenLifetimeDays,oauthTimeoutMs:F.oauthTimeoutMs},H={clientId:"3GUryQ7ldAeKEuD2obYnppsnmj58eP5u",authBaseUrl:"https://www.windsurf.com",signInPath:"/windsurf/signin",registerApiBaseUrl:"https://register.windsurf.com",registerPath:"/exa.seat_management_pb.SeatManagementService/RegisterUser",oneTimeAuthPath:"/exa.seat_management_pb.SeatManagementService/GetOneTimeAuthToken",currentUserPath:"/exa.seat_management_pb.SeatManagementService/GetCurrentUser",planStatusPath:"/exa.seat_management_pb.SeatManagementService/GetPlanStatus",userStatusPath:"/exa.seat_management_pb.SeatManagementService/GetUserStatus",defaultApiServerUrl:"https://server.codeium.com",firebaseApiKey:"AIzaSyDsOl-1XpT5err0Tcn0TFFod1H8gVGIycY",callbackPath:"/windsurf-auth-callback",userAgent:"antigravity-cockpit-tools",oauthTimeoutMs:6e5},I={...f.sr.glm},J={...f.sr.zcode},K={webBaseUrl:"https://zed.dev",cloudBaseUrl:"https://cloud.zed.dev",llmBaseUrl:"https://cloud.zed.dev",defaultNativeAppPort:58443,oauthTimeoutMs:6e5},L={...f.sr.codearts},M={...f.sr.deveco},N={clientId:"hermes-cli",portalBaseUrl:"https://portal.nousresearch.com",deviceCodeUrl:"https://portal.nousresearch.com/api/oauth/device/code",tokenUrl:"https://portal.nousresearch.com/api/oauth/token",agentKeyUrl:"https://portal.nousresearch.com/api/oauth/agent-key",inferenceBaseUrl:"https://inference-api.nousresearch.com/v1",scope:"inference:invoke inference:mint_agent_key"},O=3e5},93297:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>D,PROVIDER_MODELS_CONFIG:()=>C,createOpenAIModelsConfig:()=>y});var d=c(23211),e=c(71998),f=c(40615),g=c(92990),h=c(67828),i=c(12643),j=c(57247),k=c(29679),l=c(52007),m=c(53225),n=c(38709),o=c(39326),p=c(82578),q=c(49804),r=c(37347),s=c(44705),t=c(28948),u=c(29493),v=c(91879);let w=`https://chatgpt.com/backend-api/codex/models?client_version=${v.A.transport.cliVersion}`,x=a=>Array.isArray(a)?a:a?.data||a?.models||a?.results||[],y=(a,b=null)=>({url:a,method:"GET",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>x(a).map(a=>{let c=a?.id;return c&&b?{...a,id:`${b}/${c}`,name:a.name||a.display_name||c}:a})}),z=a=>(0,j.KC)(a).map(a=>({...a,id:a.id,name:a.name||a.id})),A=({refreshFn:a,fetchFn:b,parseFn:c,errorLabel:d})=>async e=>{let f,{accessToken:g,refreshToken:i}=e;if(!g)return{error:"No valid token found",status:401};try{let j=await b(g,e);if(!j.ok&&(401===j.status||403===j.status)&&i){let c=await a(e);c?.accessToken&&(await (0,h.vN)(e.id,{accessToken:c.accessToken,refreshToken:c.refreshToken||i,expiresIn:c.expiresIn}),e.accessToken=c.accessToken,c.refreshToken&&(e.refreshToken=c.refreshToken),j=await b(c.accessToken,e))}if(j.ok){let a=await j.json(),b=c(a);if(b.length>0)return{models:b}}else{let a=await j.text();f=`${d}: ${j.status} ${a}`,console.log(`${d} (falling back to static):`,a)}}catch(a){f=`${d}: ${a.message}`,console.log(`${d} (falling back to static):`,a.message)}return{models:[],warning:f}};function B(a){return{customResolver:async b=>{let c,d={provider:a,accessToken:b.accessToken,apiKey:b.apiKey,refreshToken:b.refreshToken,email:b.email,displayName:b.displayName,providerSpecificData:b.providerSpecificData||{}};try{let b=await (0,m.EV)(d,{forceRefresh:!0});if(b?.models?.length)return{models:b.models.map(b=>({id:`${a}/${b.id}`,name:b.name,contextLength:b.contextLength,isVL:b.isVL,isReasoning:b.isReasoning,maxOutputTokens:b.maxOutputTokens,description:b.description}))};c="Qoder returned no models; falling back to static catalog."}catch(a){c=`Failed to fetch Qoder models: ${a.message}`,console.log("Failed to fetch Qoder models dynamically, falling back to static:",a.message)}return{models:[],warning:c}}}}let C={muse:{url:"https://api.meta.ai/v1/models",method:"GET",headers:{"Content-Type":"application/json","x-api-version":"1.0.0"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>a.data||[]},claude:{url:"https://api.anthropic.com/v1/models",method:"GET",headers:{"Anthropic-Version":"2023-06-01","Content-Type":"application/json"},authHeader:"x-api-key",parseResponse:a=>a.data||[]},gemini:{url:"https://generativelanguage.googleapis.com/v1beta/models",method:"GET",headers:{"Content-Type":"application/json"},authQuery:"key",parseResponse:a=>a.models||[]},codex:{customResolver:A({refreshFn:a=>(0,h.Wm)(a.refreshToken),fetchFn:a=>fetch(w,{method:"GET",headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:`Bearer ${a}`,originator:"codex_cli_rs"}}),parseFn:a=>x(a).flatMap(a=>{let b=a?.id||a?.slug||a?.model||a?.name;if(!b)return[];let c=a?.display_name||a?.displayName||a?.name||b,d={...a,id:b,name:c};return!("image"!==(a?.type||"llm")&&!b.toLowerCase().includes("embed"))||b.endsWith("-review")?[d]:[d,{...d,id:`${b}-review`,name:`${c} Review`,upstreamModelId:b,quotaFamily:"review"}]}),errorLabel:"Failed to fetch Codex models"})},antigravity:{url:"https://daily-cloudcode-pa.sandbox.googleapis.com/v1internal:models",method:"POST",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",body:{},parseResponse:a=>a.models||[]},github:{url:"https://api.githubcopilot.com/models",method:"GET",headers:{"Content-Type":"application/json","Copilot-Integration-Id":"vscode-chat","editor-version":"vscode/1.107.1","editor-plugin-version":"copilot-chat/0.26.7","user-agent":"GitHubCopilotChat/0.26.7"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>a?.data?a.data.filter(a=>a.capabilities?.type==="chat").filter(a=>a.policy?.state!=="disabled").map(a=>({id:a.id,name:a.name||a.id,version:a.version,capabilities:a.capabilities,isDefault:!0===a.model_picker_enabled})):[]},openai:y("https://api.openai.com/v1/models"),openrouter:y("https://openrouter.ai/api/v1/models"),nous:{...y(u.B3),parseResponse:a=>(0,u.bd)(a).map(a=>({...a,id:`nous/${a.id}`,upstreamModelId:a.id}))},anthropic:{url:"https://api.anthropic.com/v1/models",method:"GET",headers:{"Anthropic-Version":"2023-06-01","Content-Type":"application/json"},authHeader:"x-api-key",parseResponse:a=>a.data||[]},alicode:{url:"https://coding.dashscope.aliyuncs.com/v1/models",method:"GET",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>a.data||[]},"alicode-intl":{url:"https://coding-intl.dashscope.aliyuncs.com/v1/models",method:"GET",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>a.data||[]},"alims-intl":{url:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1/models",method:"GET",headers:{"Content-Type":"application/json"},authHeader:"Authorization",authPrefix:"Bearer ",parseResponse:a=>a.data||[]},"volcengine-ark":y("https://ark.cn-beijing.volces.com/api/coding/v3/models"),byteplus:y("https://ark.ap-southeast.bytepluses.com/api/coding/v3/models"),minimax:y("https://api.minimax.io/v1/models","minimax"),"minimax-cn":y("https://api.minimaxi.com/v1/models","minimax-cn"),deepseek:y("https://api.deepseek.com/models"),groq:y("https://api.groq.com/openai/v1/models"),xai:y("https://api.x.ai/v1/models"),mistral:y("https://api.mistral.ai/v1/models"),perplexity:y("https://api.perplexity.ai/v1/models"),"perplexity-agent":y("https://api.perplexity.ai/v1/models"),together:y("https://api.together.xyz/v1/models"),fireworks:y("https://api.fireworks.ai/inference/v1/models"),cerebras:y("https://api.cerebras.ai/v1/models"),cohere:y("https://api.cohere.ai/v1/models"),nebius:y("https://api.studio.nebius.ai/v1/models"),siliconflow:y("https://api.siliconflow.com/v1/models"),hyperbolic:y("https://api.hyperbolic.xyz/v1/models"),ollama:y("https://ollama.com/api/tags"),nanobanana:y("https://api.nanobananaapi.ai/v1/models"),chutes:y("https://llm.chutes.ai/v1/models"),nvidia:y("https://integrate.api.nvidia.com/v1/models"),assemblyai:y("https://api.assemblyai.com/v1/models"),"vercel-ai-gateway":y("https://ai-gateway.vercel.sh/v1/models"),tokenharbor:y("https://tokenharbor.ai/v1/models"),dahl:y("https://inference.dahl.global/v1/models"),atria:y("https://api.atria-asi.ai/v1/models"),agnes:y("https://apihub.agnes-ai.com/v1/models"),bai:y("https://api.b.ai/v1/models"),kimchi:{customResolver:async a=>{let b=await (0,l.av)({accessToken:a.accessToken,apiKey:a.apiKey,providerSpecificData:a.providerSpecificData||{}},{forceRefresh:!0,log:console});return b?.models?.length?{models:b.models}:{models:z("kimchi"),warning:"Kimchi returned no live models; falling back to static catalog."}}},cursor:{customResolver:async a=>{let b=await (0,p.FD)({accessToken:a.accessToken,providerSpecificData:a.providerSpecificData||{}},{forceRefresh:!0,log:console});return b?.models?.length?{models:b.models}:{models:z("cursor"),warning:"Cursor returned no live models; falling back to static catalog."}}},zed:{customResolver:async a=>{try{let b=await (0,q.w9)({accessToken:a.accessToken,providerSpecificData:a.providerSpecificData||{}},{config:g.RY,forceRefresh:!0}),c=(b?.models||[]).filter(a=>a&&!a.isDisabled).map(a=>({id:a.id,name:a.name||a.id,provider:a.provider,contextLength:a.contextLength,contextLengthInMaxMode:a.contextLengthInMaxMode,maxOutputTokens:a.maxOutputTokens,supportsTools:a.supportsTools,supportsImages:a.supportsImages,supportsThinking:a.supportsThinking,supportsDisablingThinking:a.supportsDisablingThinking,supportsFastMode:a.supportsFastMode,supportsServerSideCompaction:a.supportsServerSideCompaction,supportedEffortLevels:a.supportedEffortLevels||[],supportsStreamingTools:a.supportsStreamingTools,supportsParallelToolCalls:a.supportsParallelToolCalls}));if(c.length>0)return{models:c};return{models:[],warning:"Zed returned no live models."}}catch(a){return console.log("Failed to fetch Zed models dynamically:",a.message),{models:[],warning:`Failed to fetch Zed models: ${a.message}`}}}},cline:{customResolver:async a=>{let b=await (0,t.M)({accessToken:a.accessToken,apiKey:a.apiKey});return b?.models?.length?{models:b.models}:{models:z("cline"),warning:"Cline returned no live models; falling back to static catalog."}}},clinepass:{customResolver:async a=>{let b=await (0,t.P)({accessToken:a.accessToken,apiKey:a.apiKey});return b?.models?.length?{models:b.models}:{models:z("clinepass"),warning:"ClinePass returned no live models; falling back to static catalog."}}},kiro:{customResolver:async a=>{let b,c={accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}};try{let d=await (0,k.cW)(c,{log:console,onCredentialsRefreshed:async b=>{b?.accessToken&&(await (0,h.vN)(a.id,{accessToken:b.accessToken,refreshToken:b.refreshToken||a.refreshToken,expiresIn:b.expiresIn}),a.accessToken=b.accessToken,b.refreshToken&&(a.refreshToken=b.refreshToken))}});if(d?.models?.length)return{models:d.models.map(a=>({id:a.id,name:a.name,upstreamModelId:a.upstreamModelId,contextLength:a.contextLength,rateMultiplier:a.rateMultiplier,capabilities:a.capabilities,description:a.description}))};b="Kiro returned no models; falling back to static catalog."}catch(a){b=`Failed to fetch Kiro models: ${a.message}`,console.log("Failed to fetch Kiro models dynamically, falling back to static:",a.message)}return{models:[],warning:b}}},qoder:B("qoder"),"qoder-cn":B("qoder-cn"),"trae-enterprise":{customResolver:async a=>{let b=await (0,r.i)({accessToken:a.accessToken},{forceRefresh:!0});return b?.models?.length?{models:b.models}:{models:z("trae-enterprise"),warning:"Trae Enterprise returned no live models; falling back to static catalog."}}},codearts:{customResolver:async a=>{let b=await (0,o.B)(a.providerSpecificData||{}),c=null;try{c=await (0,s.EA)(a,{forceRefresh:!0,log:console,proxyOptions:{connectionProxyEnabled:!0===b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl||"",connectionNoProxy:b.connectionNoProxy||"",vercelRelayUrl:b.vercelRelayUrl||"",strictProxy:!0===b.strictProxy},onCredentialsRefreshed:async b=>{await (0,h.vN)(a.id,b)}})}catch(a){console.log("Failed to fetch CodeArts models dynamically, falling back to static:",a.message)}return c?.models?.length?{models:c.models}:{models:z("codearts"),warning:"CodeArts returned no live models; falling back to static catalog."}}},"gemini-cli":{customResolver:A({refreshFn:a=>(0,h.I9)(a.refreshToken,g.LT.clientId,g.LT.clientSecret),fetchFn:(a,b)=>{let c=b.projectId||b.providerSpecificData?.projectId;return fetch("https://cloudcode-pa.googleapis.com/v1internal:fetchAvailableModels",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`,"User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"google-cloud-sdk vscode_cloudshelleditor/0.1"},body:JSON.stringify(c?{project:c}:{})})},parseFn:a=>Array.isArray(a?.models)?a.models.map(a=>{let b=a?.id||a?.model||a?.name;return b?{id:b,name:a?.displayName||a?.name||b}:null}).filter(Boolean):a?.models&&"object"==typeof a.models?Object.entries(a.models).filter(([,a])=>!a?.isInternal).map(([a,b])=>({id:a,name:b?.displayName||b?.name||a})):[],errorLabel:"Failed to fetch Gemini CLI models"})},"grok-cli":{customResolver:async a=>{let b=await (0,o.B)(a.providerSpecificData||{}),c=await (0,n.M)({...a,connectionId:a.id},{log:console,proxyOptions:{connectionProxyEnabled:!0===b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl||"",connectionNoProxy:b.connectionNoProxy||"",vercelRelayUrl:b.vercelRelayUrl||"",strictProxy:!0===b.strictProxy},onCredentialsRefreshed:async b=>{await (0,h.vN)(a.id,{...b,existingProviderSpecificData:a.providerSpecificData||{}})}});return c.models.length?c:{models:z("grok-cli"),warning:c.warning||"Grok CLI returned no live models; using static catalog."}}},"ollama-local":{customResolver:async a=>{let b=`${(0,i.Ak)(a)}/api/tags`,c=await fetch(b,{method:"GET",headers:{"Content-Type":"application/json"}});return c.ok?{models:x(await c.json())}:(console.log("Error fetching models from ollama-local:",await c.text()),{error:`Failed to fetch models: ${c.status}`,status:c.status})}}};async function D(a,{params:b}){try{let{id:a}=await b,c=await (0,e.Mc)(a);if(!c)return d.NextResponse.json({error:"Connection not found"},{status:404});if((0,f.mq)(c.provider)){let a=c.providerSpecificData?.baseUrl;if(!a)return d.NextResponse.json({error:"No base URL configured for OpenAI compatible provider"},{status:400});let b=`${a.replace(/\/$/,"")}/models`,e=await fetch(b,{method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${c.apiKey}`}});if(!e.ok){let a=await e.text();return console.log(`Error fetching models from ${c.provider}:`,a),d.NextResponse.json({error:`Failed to fetch models: ${e.status}`},{status:e.status})}let f=await e.json(),g=f.data||f.models||[];return d.NextResponse.json({provider:c.provider,connectionId:c.id,models:g})}if((0,f.gb)(c.provider)){let a=c.providerSpecificData?.baseUrl;if(!a)return d.NextResponse.json({error:"No base URL configured for Anthropic compatible provider"},{status:400});(a=a.replace(/\/$/,"")).endsWith("/messages")&&(a=a.slice(0,-9));let b=`${a}/models`,e=await fetch(b,{method:"GET",headers:{"Content-Type":"application/json","x-api-key":c.apiKey,"anthropic-version":"2023-06-01",Authorization:`Bearer ${c.apiKey}`}});if(!e.ok){let a=await e.text();return console.log(`Error fetching models from ${c.provider}:`,a),d.NextResponse.json({error:`Failed to fetch models: ${e.status}`},{status:e.status})}let f=await e.json(),g=f.data||f.models||[];return d.NextResponse.json({provider:c.provider,connectionId:c.id,models:g})}let g=C[c.provider];if(!g)return d.NextResponse.json({error:`Provider ${c.provider} does not support models listing`},{status:400});if("function"==typeof g.customResolver){let a=await g.customResolver(c);if(a.error)return d.NextResponse.json({error:a.error},{status:a.status||500});return d.NextResponse.json({provider:c.provider,connectionId:c.id,models:a.models,...a.warning?{warning:a.warning}:{}})}let h=c.providerSpecificData?.copilotToken||c.accessToken||c.apiKey;if(!h)return d.NextResponse.json({error:"No valid token found"},{status:401});let i=g.url;g.authQuery&&(i+=`?${g.authQuery}=${h}`);let j={...g.headers};g.authHeader&&!g.authQuery&&(j[g.authHeader]=(g.authPrefix||"")+h);let k={method:g.method,headers:j};g.body&&"POST"===g.method&&(k.body=JSON.stringify(g.body));let l=await fetch(i,k);if(!l.ok){let a=await l.text();return console.log(`Error fetching models from ${c.provider}:`,a),d.NextResponse.json({error:`Failed to fetch models: ${l.status}`},{status:l.status})}let m=await l.json(),n=g.parseResponse(m);return d.NextResponse.json({provider:c.provider,connectionId:c.id,models:n})}catch(a){return console.log("Error fetching provider models:",a),d.NextResponse.json({error:"Failed to fetch models"},{status:500})}}},94735:a=>{a.exports=require("events")}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,9100,9318,6070,9609,3943,2578,3225,7913,7828,9460,9310],()=>b(b.s=70566));module.exports=c})();
|