omniroute 2.7.1 → 2.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/app/.next/BUILD_ID +1 -1
  2. package/app/.next/build-manifest.json +2 -2
  3. package/app/.next/prerender-manifest.json +3 -3
  4. package/app/.next/server/app/(dashboard)/dashboard/a2a/page_client-reference-manifest.js +1 -1
  5. package/app/.next/server/app/(dashboard)/dashboard/agents/page_client-reference-manifest.js +1 -1
  6. package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  7. package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
  8. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
  9. package/app/.next/server/app/(dashboard)/dashboard/auto-combo/page_client-reference-manifest.js +1 -1
  10. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  11. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  12. package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
  13. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  14. package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  15. package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
  16. package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
  17. package/app/.next/server/app/(dashboard)/dashboard/mcp/page_client-reference-manifest.js +1 -1
  18. package/app/.next/server/app/(dashboard)/dashboard/media/page_client-reference-manifest.js +1 -1
  19. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
  20. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  21. package/app/.next/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  22. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  23. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  24. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  25. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  26. package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  27. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  28. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  29. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  30. package/app/.next/server/app/400/page_client-reference-manifest.js +1 -1
  31. package/app/.next/server/app/401/page_client-reference-manifest.js +1 -1
  32. package/app/.next/server/app/403/page_client-reference-manifest.js +1 -1
  33. package/app/.next/server/app/408/page_client-reference-manifest.js +1 -1
  34. package/app/.next/server/app/429/page_client-reference-manifest.js +1 -1
  35. package/app/.next/server/app/500/page_client-reference-manifest.js +1 -1
  36. package/app/.next/server/app/502/page_client-reference-manifest.js +1 -1
  37. package/app/.next/server/app/503/page_client-reference-manifest.js +1 -1
  38. package/app/.next/server/app/_global-error.html +2 -2
  39. package/app/.next/server/app/_global-error.rsc +1 -1
  40. package/app/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  41. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  42. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  43. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  44. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  45. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  46. package/app/.next/server/app/api/v1/api/chat/route.js +3 -3
  47. package/app/.next/server/app/api/v1/audio/speech/route.js +3 -3
  48. package/app/.next/server/app/api/v1/audio/transcriptions/route.js +6 -6
  49. package/app/.next/server/app/api/v1/chat/completions/route.js +7 -7
  50. package/app/.next/server/app/api/v1/completions/route.js +7 -7
  51. package/app/.next/server/app/api/v1/embeddings/route.js +5 -5
  52. package/app/.next/server/app/api/v1/images/generations/route.js +7 -7
  53. package/app/.next/server/app/api/v1/messages/route.js +3 -3
  54. package/app/.next/server/app/api/v1/moderations/route.js +3 -3
  55. package/app/.next/server/app/api/v1/music/generations/route.js +4 -4
  56. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route.js +8 -8
  57. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route.js +5 -5
  58. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route.js +8 -8
  59. package/app/.next/server/app/api/v1/rerank/route.js +6 -6
  60. package/app/.next/server/app/api/v1/responses/route.js +3 -3
  61. package/app/.next/server/app/api/v1/search/route.js +6 -6
  62. package/app/.next/server/app/api/v1/videos/generations/route.js +6 -6
  63. package/app/.next/server/app/api/v1beta/models/[...path]/route.js +8 -8
  64. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  65. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  66. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  67. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  68. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  69. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  70. package/app/.next/server/app/maintenance/page_client-reference-manifest.js +1 -1
  71. package/app/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  72. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  73. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  74. package/app/.next/server/app/status/page_client-reference-manifest.js +1 -1
  75. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  76. package/app/.next/server/chunks/[root-of-the-server]__09c944b3._.js +1 -1
  77. package/app/.next/server/chunks/[root-of-the-server]__167585da._.js +1 -1
  78. package/app/.next/server/chunks/[root-of-the-server]__7d9b23e7._.js +1 -1
  79. package/app/.next/server/chunks/[root-of-the-server]__80e3bfc3._.js +1 -1
  80. package/app/.next/server/chunks/[root-of-the-server]__84e445b2._.js +2 -2
  81. package/app/.next/server/chunks/[root-of-the-server]__92cb0def._.js +2 -2
  82. package/app/.next/server/chunks/[root-of-the-server]__db2f9fe0._.js +1 -1
  83. package/app/.next/server/chunks/[root-of-the-server]__dc47ee64._.js +1 -1
  84. package/app/.next/server/chunks/_05c48915._.js +1 -1
  85. package/app/.next/server/chunks/_2115d8de._.js +1 -1
  86. package/app/.next/server/chunks/_3ac953eb._.js +1 -1
  87. package/app/.next/server/chunks/_4b8fd853._.js +1 -1
  88. package/app/.next/server/chunks/_68683848._.js +1 -1
  89. package/app/.next/server/chunks/_6f1b3c3f._.js +1 -1
  90. package/app/.next/server/chunks/_ee9b677b._.js +1 -1
  91. package/app/.next/server/chunks/_ffda39da._.js +10 -10
  92. package/app/.next/server/chunks/src_4787afd3._.js +1 -1
  93. package/app/.next/server/chunks/ssr/[root-of-the-server]__9affb65e._.js +1 -1
  94. package/app/.next/server/chunks/ssr/[root-of-the-server]__a6942102._.js +1 -1
  95. package/app/.next/server/chunks/ssr/_5a9cd299._.js +1 -1
  96. package/app/.next/server/pages/500.html +2 -2
  97. package/app/.next/server/server-reference-manifest.js +1 -1
  98. package/app/.next/server/server-reference-manifest.json +1 -1
  99. package/app/.next/static/chunks/{7db919b3e9b8f72c.js → 1d4f94c2f5112482.js} +1 -1
  100. package/app/.next/static/chunks/201cb349d9cc400f.css +1 -0
  101. package/app/.next/static/chunks/{4b1344f456abe7c3.js → 5609e4cc1aa751bb.js} +1 -1
  102. package/app/CHANGELOG.md +25 -0
  103. package/app/docs/openapi.yaml +1 -1
  104. package/app/package-lock.json +2 -2
  105. package/app/package.json +1 -1
  106. package/app/src/domain/quotaCache.ts +40 -1
  107. package/app/src/shared/components/RequestLoggerV2.tsx +5 -5
  108. package/app/src/sse/services/auth.ts +30 -5
  109. package/app/tests/unit/quota-policy-generalization.test.mjs +40 -0
  110. package/package.json +1 -1
  111. package/app/.next/static/chunks/85b7200badb8af05.css +0 -1
  112. /package/app/.next/static/{kvAWBEqvRUAvBVH0wpZhX → TaE7xCUJ3vzE5oXXL5DhE}/_buildManifest.js +0 -0
  113. /package/app/.next/static/{kvAWBEqvRUAvBVH0wpZhX → TaE7xCUJ3vzE5oXXL5DhE}/_clientMiddlewareManifest.json +0 -0
  114. /package/app/.next/static/{kvAWBEqvRUAvBVH0wpZhX → TaE7xCUJ3vzE5oXXL5DhE}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[314251,e=>e.a(async(t,r)=>{try{var a=e.i(745015),n=e.i(89171),o=e.i(924868),s=e.i(814747),i=e.i(266240),l=e.i(256770),u=e.i(676088),d=e.i(200392),c=e.i(195975),f=t([u,d]);[u,d]=f.then?(await f)():f;let x=s.default.join((0,l.resolveDataDir)(),"codex-profiles");async function p(){return await o.default.mkdir(x,{recursive:!0}),x}async function h(){try{let e;await p();try{e=await o.default.readdir(x)}catch{return n.NextResponse.json({profiles:[]})}let t=e.filter(e=>e.endsWith(".json")),r=[];for(let e of t)try{let t=await o.default.readFile(s.default.join(x,e),"utf-8"),a=JSON.parse(t);r.push({id:e.replace(".json",""),name:a.name,authLabel:a.authLabel||"unknown",createdAt:a.createdAt,hasConfig:!!a.configToml,hasAuth:!!a.authJson})}catch{}return r.sort((e,t)=>e.name.localeCompare(t.name)),n.NextResponse.json({profiles:r})}catch(e){return console.log("Error listing codex profiles:",e.message),n.NextResponse.json({error:"Failed to list profiles"},{status:500})}}async function g(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let r=(0,d.validateBody)(u.codexProfileNameSchema,t);if((0,d.isValidationFailure)(r))return n.NextResponse.json({error:r.error},{status:400});let{name:a}=r.data,l=(0,i.getCliConfigPaths)("codex");if(!l)return n.NextResponse.json({error:"Codex config paths not found"},{status:500});let c=null,f=null;try{c=await o.default.readFile(l.config,"utf-8")}catch{}try{f=await o.default.readFile(l.auth,"utf-8")}catch{}if(!c&&!f)return n.NextResponse.json({error:"No Codex configuration files found to save"},{status:400});let h=a.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),g={name:a.trim(),createdAt:new Date().toISOString(),authLabel:f?function(e){try{let t=JSON.parse(e);if(t.tokens?.id_token){let e=t.tokens.id_token.split(".")[1],r=JSON.parse(Buffer.from(e,"base64").toString());if(r.email)return r.email}if(t.auth_mode)return t.auth_mode;if(t.OPENAI_API_KEY)return`API Key: ${t.OPENAI_API_KEY.slice(0,8)}...`;return"unknown"}catch{return"unknown"}}(f):"no-auth",configToml:c,authJson:f};await p();let R=s.default.join(x,`${h}.json`);return await o.default.writeFile(R,JSON.stringify(g,null,2)),n.NextResponse.json({success:!0,message:`Profile "${a}" saved successfully`,profileId:h})}catch(e){return console.log("Error saving codex profile:",e.message),n.NextResponse.json({error:"Failed to save profile"},{status:500})}}async function R(t){let r;try{r=await t.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let t,a=(0,i.ensureCliConfigWriteAllowed)();if(a)return n.NextResponse.json({error:a},{status:403});let l=(0,d.validateBody)(u.codexProfileIdSchema,r);if((0,d.isValidationFailure)(l))return n.NextResponse.json({error:l.error},{status:400});let{profileId:c}=l.data,f=s.default.join(x,`${c}.json`);try{let e=await o.default.readFile(f,"utf-8");t=JSON.parse(e)}catch{return n.NextResponse.json({error:`Profile "${c}" not found`},{status:404})}let p=(0,i.getCliConfigPaths)("codex");if(!p)return n.NextResponse.json({error:"Codex config paths not found"},{status:500});let{createMultiBackup:h}=await e.A(452484);return await h("codex",[p.config,p.auth]),await o.default.mkdir(s.default.dirname(p.config),{recursive:!0}),t.configToml&&await o.default.writeFile(p.config,t.configToml),t.authJson&&await o.default.writeFile(p.auth,t.authJson),n.NextResponse.json({success:!0,message:`Profile "${t.name}" activated`,profileId:c,restoredConfig:!!t.configToml,restoredAuth:!!t.authJson})}catch(e){return console.log("Error activating codex profile:",e.message),n.NextResponse.json({error:"Failed to activate profile"},{status:500})}}async function m(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,d.validateBody)(u.codexProfileIdSchema,t);if((0,d.isValidationFailure)(e))return n.NextResponse.json({error:e.error},{status:400});let{profileId:r}=e.data,a=s.default.join(x,`${r}.json`);try{await o.default.unlink(a)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({error:`Profile "${r}" not found`},{status:404});throw e}return n.NextResponse.json({success:!0,message:`Profile "${r}" deleted`})}catch(e){return console.log("Error deleting codex profile:",e.message),n.NextResponse.json({error:"Failed to delete profile"},{status:500})}}(0,c.ensureServerEntryExports)([h,g,R,m]),(0,a.registerServerReference)(h,"005913bb5506eb8ea74c984d352ad58df36c4efc8d",null),(0,a.registerServerReference)(g,"40c5d3ecc792fead9108d459b8e40bc204c487aa93",null),(0,a.registerServerReference)(R,"40b8e9bcba69afe6db8e724c6d16ada554e58a344c",null),(0,a.registerServerReference)(m,"404de51cfc4b73161ef5fe5538f452f8aa3557ab33",null),e.s(["DELETE",()=>m,"GET",()=>h,"POST",()=>g,"PUT",()=>R]),r()}catch(e){r(e)}},!1),57985,e=>e.a(async(t,r)=>{try{var a=e.i(747909),n=e.i(174017),o=e.i(996250),s=e.i(759756),i=e.i(561916),l=e.i(174677),u=e.i(869741),d=e.i(316795),c=e.i(487718),f=e.i(995169),p=e.i(47587),h=e.i(666012),g=e.i(570101),R=e.i(626937),m=e.i(10372),x=e.i(193695);e.i(52474);var v=e.i(600220),w=e.i(314251),y=t([w]);[w]=y.then?(await y)():y;let C=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/codex-profiles/route",pathname:"/api/cli-tools/codex-profiles",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/codex-profiles/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:b,workUnitAsyncStorage:j,serverHooks:A}=C;function N(){return(0,o.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:j})}async function E(e,t,r){C.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/cli-tools/codex-profiles/route";a=a.replace(/\/index$/,"")||"/";let o=await C.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!o)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:w,params:y,nextConfig:N,parsedUrl:E,isDraftMode:b,prerenderManifest:j,routerServerContext:A,isOnDemandRevalidate:P,revalidateOnlyGenerated:S,resolvedPathname:O,clientReferenceManifest:T,serverActionsManifest:I}=o,_=(0,u.normalizeAppPath)(a),k=!!(j.dynamicRoutes[_]||j.routes[O]),F=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,E,!1):t.end("This page could not be found"),null);if(k&&!b){let e=!!j.routes[O],t=j.dynamicRoutes[_];if(t&&!1===t.fallback&&!e){if(N.experimental.adapterPath)return await F();throw new x.NoFallbackError}}let $=null;!k||C.isDev||b||($=O,$="/index"===$?"/":$);let q=!0===C.isDev||!k,D=k&&!q;I&&T&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:T,serverActionsManifest:I});let H=e.method||"GET",U=(0,i.getTracer)(),J=U.getActiveScopeSpan(),M={params:y,prerenderManifest:j,renderOpts:{experimental:{authInterrupts:!!N.experimental.authInterrupts},cacheComponents:!!N.cacheComponents,supportsDynamicResponse:q,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:N.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>C.onRequestError(e,t,a,n,A)},sharedContext:{buildId:w}},K=new d.NodeNextRequest(e),L=new d.NodeNextResponse(t),B=c.NextRequestAdapter.fromNodeNextRequest(K,(0,c.signalFromNodeResponse)(t));try{let o=async e=>C.handle(B,M).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==f.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${H} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${a}`)}),l=!!(0,s.getRequestMeta)(e,"minimalMode"),u=async s=>{var i,u;let d=async({previousCacheEntry:n})=>{try{if(!l&&P&&S&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await o(s);e.fetchMetrics=M.renderOpts.fetchMetrics;let i=M.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let u=M.renderOpts.collectedTags;if(!k)return await (0,h.sendResponse)(K,L,a,M.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(a.headers);u&&(t[m.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,n=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:P})},!1,A),t}},c=await C.handleResponse({req:e,nextConfig:N,cacheKey:$,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:j,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:S,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:l});if(!k)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(u=c.value)?void 0:u.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",P?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,g.fromNodeOutgoingHttpHeaders)(c.value.headers);return l&&k||f.delete(m.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,R.getCacheControlHeader)(c.cacheControl)),await (0,h.sendResponse)(K,L,new Response(c.value.body,{headers:f,status:c.value.status||200})),null};J?await u(J):await U.withPropagatedContext(e.headers,()=>U.trace(f.BaseServerSpan.handleRequest,{spanName:`${H} ${a}`,kind:i.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},u))}catch(t){if(t instanceof x.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:P})},!1,A),k)throw t;return await (0,h.sendResponse)(K,L,new Response(null,{status:500})),null}}e.s(["handler",()=>E,"patchFetch",()=>N,"routeModule",()=>C,"serverHooks",()=>A,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>j]),r()}catch(e){r(e)}},!1)];
1
+ module.exports=[314251,e=>e.a(async(t,r)=>{try{var a=e.i(745015),n=e.i(89171),o=e.i(924868),s=e.i(814747),i=e.i(266240),l=e.i(256770),u=e.i(676088),d=e.i(200392),c=e.i(195975),f=t([u,d]);[u,d]=f.then?(await f)():f;let x=s.default.join((0,l.resolveDataDir)(),"codex-profiles");async function p(){return await o.default.mkdir(x,{recursive:!0}),x}async function h(){try{let e;await p();try{e=await o.default.readdir(x)}catch{return n.NextResponse.json({profiles:[]})}let t=e.filter(e=>e.endsWith(".json")),r=[];for(let e of t)try{let t=await o.default.readFile(s.default.join(x,e),"utf-8"),a=JSON.parse(t);r.push({id:e.replace(".json",""),name:a.name,authLabel:a.authLabel||"unknown",createdAt:a.createdAt,hasConfig:!!a.configToml,hasAuth:!!a.authJson})}catch{}return r.sort((e,t)=>e.name.localeCompare(t.name)),n.NextResponse.json({profiles:r})}catch(e){return console.log("Error listing codex profiles:",e.message),n.NextResponse.json({error:"Failed to list profiles"},{status:500})}}async function g(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let r=(0,d.validateBody)(u.codexProfileNameSchema,t);if((0,d.isValidationFailure)(r))return n.NextResponse.json({error:r.error},{status:400});let{name:a}=r.data,l=(0,i.getCliConfigPaths)("codex");if(!l)return n.NextResponse.json({error:"Codex config paths not found"},{status:500});let c=null,f=null;try{c=await o.default.readFile(l.config,"utf-8")}catch{}try{f=await o.default.readFile(l.auth,"utf-8")}catch{}if(!c&&!f)return n.NextResponse.json({error:"No Codex configuration files found to save"},{status:400});let h=a.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),g={name:a.trim(),createdAt:new Date().toISOString(),authLabel:f?function(e){try{let t=JSON.parse(e);if(t.tokens?.id_token){let e=t.tokens.id_token.split(".")[1],r=JSON.parse(Buffer.from(e,"base64").toString());if(r.email)return r.email}if(t.auth_mode)return t.auth_mode;if(t.OPENAI_API_KEY)return`API Key: ${t.OPENAI_API_KEY.slice(0,8)}...`;return"unknown"}catch{return"unknown"}}(f):"no-auth",configToml:c,authJson:f};await p();let R=s.default.join(x,`${h}.json`);return await o.default.writeFile(R,JSON.stringify(g,null,2)),n.NextResponse.json({success:!0,message:`Profile "${a}" saved successfully`,profileId:h})}catch(e){return console.log("Error saving codex profile:",e.message),n.NextResponse.json({error:"Failed to save profile"},{status:500})}}async function R(t){let r;try{r=await t.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let t,a=(0,i.ensureCliConfigWriteAllowed)();if(a)return n.NextResponse.json({error:a},{status:403});let l=(0,d.validateBody)(u.codexProfileIdSchema,r);if((0,d.isValidationFailure)(l))return n.NextResponse.json({error:l.error},{status:400});let{profileId:c}=l.data,f=s.default.join(x,`${c}.json`);try{let e=await o.default.readFile(f,"utf-8");t=JSON.parse(e)}catch{return n.NextResponse.json({error:`Profile "${c}" not found`},{status:404})}let p=(0,i.getCliConfigPaths)("codex");if(!p)return n.NextResponse.json({error:"Codex config paths not found"},{status:500});let{createMultiBackup:h}=await e.A(452484);return await h("codex",[p.config,p.auth]),await o.default.mkdir(s.default.dirname(p.config),{recursive:!0}),t.configToml&&await o.default.writeFile(p.config,t.configToml),t.authJson&&await o.default.writeFile(p.auth,t.authJson),n.NextResponse.json({success:!0,message:`Profile "${t.name}" activated`,profileId:c,restoredConfig:!!t.configToml,restoredAuth:!!t.authJson})}catch(e){return console.log("Error activating codex profile:",e.message),n.NextResponse.json({error:"Failed to activate profile"},{status:500})}}async function m(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,d.validateBody)(u.codexProfileIdSchema,t);if((0,d.isValidationFailure)(e))return n.NextResponse.json({error:e.error},{status:400});let{profileId:r}=e.data,a=s.default.join(x,`${r}.json`);try{await o.default.unlink(a)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({error:`Profile "${r}" not found`},{status:404});throw e}return n.NextResponse.json({success:!0,message:`Profile "${r}" deleted`})}catch(e){return console.log("Error deleting codex profile:",e.message),n.NextResponse.json({error:"Failed to delete profile"},{status:500})}}(0,c.ensureServerEntryExports)([h,g,R,m]),(0,a.registerServerReference)(h,"00b25489544955faf5c012b4a81e52c81f67a94ee7",null),(0,a.registerServerReference)(g,"40e5b1254dc7c6959842f76937fcc394f86f1b30f0",null),(0,a.registerServerReference)(R,"4004cc42d7552638d7364d150cd224a77098a25586",null),(0,a.registerServerReference)(m,"406aabf5afec7f1bc5eeaa7ccff646a977ee6321f9",null),e.s(["DELETE",()=>m,"GET",()=>h,"POST",()=>g,"PUT",()=>R]),r()}catch(e){r(e)}},!1),57985,e=>e.a(async(t,r)=>{try{var a=e.i(747909),n=e.i(174017),o=e.i(996250),s=e.i(759756),i=e.i(561916),l=e.i(174677),u=e.i(869741),d=e.i(316795),c=e.i(487718),f=e.i(995169),p=e.i(47587),h=e.i(666012),g=e.i(570101),R=e.i(626937),m=e.i(10372),x=e.i(193695);e.i(52474);var v=e.i(600220),w=e.i(314251),y=t([w]);[w]=y.then?(await y)():y;let C=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/codex-profiles/route",pathname:"/api/cli-tools/codex-profiles",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/codex-profiles/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:j,workUnitAsyncStorage:A,serverHooks:P}=C;function N(){return(0,o.patchFetch)({workAsyncStorage:j,workUnitAsyncStorage:A})}async function E(e,t,r){C.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/cli-tools/codex-profiles/route";a=a.replace(/\/index$/,"")||"/";let o=await C.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!o)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:w,params:y,nextConfig:N,parsedUrl:E,isDraftMode:j,prerenderManifest:A,routerServerContext:P,isOnDemandRevalidate:S,revalidateOnlyGenerated:b,resolvedPathname:O,clientReferenceManifest:T,serverActionsManifest:I}=o,_=(0,u.normalizeAppPath)(a),k=!!(A.dynamicRoutes[_]||A.routes[O]),F=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,E,!1):t.end("This page could not be found"),null);if(k&&!j){let e=!!A.routes[O],t=A.dynamicRoutes[_];if(t&&!1===t.fallback&&!e){if(N.experimental.adapterPath)return await F();throw new x.NoFallbackError}}let $=null;!k||C.isDev||j||($=O,$="/index"===$?"/":$);let q=!0===C.isDev||!k,D=k&&!q;I&&T&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:T,serverActionsManifest:I});let H=e.method||"GET",U=(0,i.getTracer)(),J=U.getActiveScopeSpan(),M={params:y,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!N.experimental.authInterrupts},cacheComponents:!!N.cacheComponents,supportsDynamicResponse:q,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:N.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>C.onRequestError(e,t,a,n,P)},sharedContext:{buildId:w}},K=new d.NodeNextRequest(e),L=new d.NodeNextResponse(t),B=c.NextRequestAdapter.fromNodeNextRequest(K,(0,c.signalFromNodeResponse)(t));try{let o=async e=>C.handle(B,M).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==f.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${H} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${a}`)}),l=!!(0,s.getRequestMeta)(e,"minimalMode"),u=async s=>{var i,u;let d=async({previousCacheEntry:n})=>{try{if(!l&&S&&b&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await o(s);e.fetchMetrics=M.renderOpts.fetchMetrics;let i=M.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let u=M.renderOpts.collectedTags;if(!k)return await (0,h.sendResponse)(K,L,a,M.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(a.headers);u&&(t[m.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,n=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:S})},!1,P),t}},c=await C.handleResponse({req:e,nextConfig:N,cacheKey:$,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:b,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:l});if(!k)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(u=c.value)?void 0:u.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",S?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),j&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,g.fromNodeOutgoingHttpHeaders)(c.value.headers);return l&&k||f.delete(m.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,R.getCacheControlHeader)(c.cacheControl)),await (0,h.sendResponse)(K,L,new Response(c.value.body,{headers:f,status:c.value.status||200})),null};J?await u(J):await U.withPropagatedContext(e.headers,()=>U.trace(f.BaseServerSpan.handleRequest,{spanName:`${H} ${a}`,kind:i.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},u))}catch(t){if(t instanceof x.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:S})},!1,P),k)throw t;return await (0,h.sendResponse)(K,L,new Response(null,{status:500})),null}}e.s(["handler",()=>E,"patchFetch",()=>N,"routeModule",()=>C,"serverHooks",()=>P,"workAsyncStorage",()=>j,"workUnitAsyncStorage",()=>A]),r()}catch(e){r(e)}},!1)];
2
2
 
3
3
  //# sourceMappingURL=_4b8fd853._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[114902,e=>e.a(async(t,a)=>{try{var r=e.i(745015),n=e.i(89171),i=e.i(924868),o=e.i(814747),s=e.i(446786),l=e.i(266240),d=e.i(841788),u=e.i(197892),c=e.i(676088),p=e.i(200392),f=e.i(195975),h=t([c,p]);[c,p]=h.then?(await h)():h;let w=o.default.join(s.default.homedir(),".local","share","kilo"),y=o.default.join(w,"auth.json");o.default.join(s.default.homedir(),".config","kilo");let v=async()=>{try{let e=await i.default.readFile(y,"utf-8");return JSON.parse(e)}catch(e){if("ENOENT"===e.code)return null;throw e}};async function m(){try{let e=await (0,l.getCliRuntimeStatus)("kilo");if(!e.installed||!e.runnable)return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:null,message:e.installed&&!e.runnable?"Kilo Code CLI is installed but not runnable":"Kilo Code CLI is not installed"});let t=await v(),a=null;try{let e=o.default.join(s.default.homedir(),".config","Code","User","settings.json"),t=await i.default.readFile(e,"utf-8"),r=JSON.parse(t);for(let[e,t]of(a={},Object.entries(r)))(e.startsWith("kilocode.")||e.startsWith("kilo-code.")||e.startsWith("kilo."))&&(a[e]=t)}catch{}return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:{auth:t?Object.keys(t):[],extensionSettings:a},hasOmniRoute:(e=>{if(!e)return!1;let t=e["openai-compatible"]||e.omniroute;if(!t)return!1;let a=t.baseUrl||t.baseURL||"";return a.includes("localhost")||a.includes("127.0.0.1")||a.includes("omniroute")})(t),authPath:y})}catch(e){return console.log("Error checking kilo settings:",e),n.NextResponse.json({error:"Failed to check kilo settings"},{status:500})}}async function g(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,l.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let a=(0,p.validateBody)(c.cliModelConfigSchema,t);if((0,p.isValidationFailure)(a))return n.NextResponse.json({error:a.error},{status:400});let{baseUrl:r,apiKey:f,model:h}=a.data;await i.default.mkdir(w,{recursive:!0}),await (0,d.createBackup)("kilo",y);let m={};try{let e=await i.default.readFile(y,"utf-8");m=JSON.parse(e)}catch{}let g=r.endsWith("/v1")?r:`${r}/v1`;m["openai-compatible"]={type:"api-key",apiKey:f||"sk_omniroute",baseUrl:g,model:h},await i.default.writeFile(y,JSON.stringify(m,null,2));try{let e=o.default.join(s.default.homedir(),".config","Code","User","settings.json"),t={};try{let a=await i.default.readFile(e,"utf-8");t=JSON.parse(a)}catch{}t["kilocode.customProvider"]={name:"OmniRoute",baseURL:g,apiKey:f||"sk_omniroute"},t["kilocode.defaultModel"]=h,await i.default.writeFile(e,JSON.stringify(t,null,2))}catch{}try{(0,u.saveCliToolLastConfigured)("kilo")}catch{}return n.NextResponse.json({success:!0,message:"Kilo Code settings applied successfully!",authPath:y})}catch(e){return console.log("Error updating kilo settings:",e),n.NextResponse.json({error:"Failed to update kilo settings"},{status:500})}}async function R(){try{let e=(0,l.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});await (0,d.createBackup)("kilo",y);let t={};try{let e=await i.default.readFile(y,"utf-8");t=JSON.parse(e)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({success:!0,message:"No settings file to reset"});throw e}delete t["openai-compatible"],delete t.omniroute,await i.default.writeFile(y,JSON.stringify(t,null,2));try{let e=o.default.join(s.default.homedir(),".config","Code","User","settings.json"),t=await i.default.readFile(e,"utf-8"),a=JSON.parse(t);delete a["kilocode.customProvider"],delete a["kilocode.defaultModel"],await i.default.writeFile(e,JSON.stringify(a,null,2))}catch{}try{(0,u.deleteCliToolLastConfigured)("kilo")}catch{}return n.NextResponse.json({success:!0,message:"OmniRoute settings removed from Kilo Code"})}catch(e){return console.log("Error resetting kilo settings:",e),n.NextResponse.json({error:"Failed to reset kilo settings"},{status:500})}}(0,f.ensureServerEntryExports)([m,g,R]),(0,r.registerServerReference)(m,"0003225c26d661c6bd8d708ad080f4b0b6c219cf24",null),(0,r.registerServerReference)(g,"40fda1d5bb96da607c93ab99d1ea7d202ecb487b92",null),(0,r.registerServerReference)(R,"006f9ea38b1a825eb9dec8ce1393e4445675d7f174",null),e.s(["DELETE",()=>R,"GET",()=>m,"POST",()=>g]),a()}catch(e){a(e)}},!1),472224,e=>e.a(async(t,a)=>{try{var r=e.i(747909),n=e.i(174017),i=e.i(996250),o=e.i(759756),s=e.i(561916),l=e.i(174677),d=e.i(869741),u=e.i(316795),c=e.i(487718),p=e.i(995169),f=e.i(47587),h=e.i(666012),m=e.i(570101),g=e.i(626937),R=e.i(10372),w=e.i(193695);e.i(52474);var y=e.i(600220),v=e.i(114902),C=t([v]);[v]=C.then?(await C)():C;let b=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/kilo-settings/route",pathname:"/api/cli-tools/kilo-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/kilo-settings/route.ts",nextConfigOutput:"standalone",userland:v}),{workAsyncStorage:k,workUnitAsyncStorage:x,serverHooks:O}=b;function E(){return(0,i.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:x})}async function N(e,t,a){b.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/cli-tools/kilo-settings/route";r=r.replace(/\/index$/,"")||"/";let i=await b.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,params:C,nextConfig:E,parsedUrl:N,isDraftMode:k,prerenderManifest:x,routerServerContext:O,isOnDemandRevalidate:S,revalidateOnlyGenerated:j,resolvedPathname:P,clientReferenceManifest:A,serverActionsManifest:T}=i,U=(0,d.normalizeAppPath)(r),F=!!(x.dynamicRoutes[U]||x.routes[P]),_=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,N,!1):t.end("This page could not be found"),null);if(F&&!k){let e=!!x.routes[P],t=x.dynamicRoutes[U];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await _();throw new w.NoFallbackError}}let I=null;!F||b.isDev||k||(I=P,I="/index"===I?"/":I);let M=!0===b.isDev||!F,H=F&&!M;T&&A&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:A,serverActionsManifest:T});let q=e.method||"GET",D=(0,s.getTracer)(),K=D.getActiveScopeSpan(),L={params:C,prerenderManifest:x,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:M,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>b.onRequestError(e,t,r,n,O)},sharedContext:{buildId:v}},J=new u.NodeNextRequest(e),$=new u.NodeNextResponse(t),B=c.NextRequestAdapter.fromNodeNextRequest(J,(0,c.signalFromNodeResponse)(t));try{let i=async e=>b.handle(B,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=D.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${q} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${q} ${r}`)}),l=!!(0,o.getRequestMeta)(e,"minimalMode"),d=async o=>{var s,d;let u=async({previousCacheEntry:n})=>{try{if(!l&&S&&j&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await i(o);e.fetchMetrics=L.renderOpts.fetchMetrics;let s=L.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let d=L.renderOpts.collectedTags;if(!F)return await (0,h.sendResponse)(J,$,r,L.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(r.headers);d&&(t[R.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,n=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:S})},!1,O),t}},c=await b.handleResponse({req:e,nextConfig:E,cacheKey:I,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:j,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:l});if(!F)return null;if((null==c||null==(s=c.value)?void 0:s.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",S?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),k&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,m.fromNodeOutgoingHttpHeaders)(c.value.headers);return l&&F||p.delete(R.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,h.sendResponse)(J,$,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};K?await d(K):await D.withPropagatedContext(e.headers,()=>D.trace(p.BaseServerSpan.handleRequest,{spanName:`${q} ${r}`,kind:s.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},d))}catch(t){if(t instanceof w.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:S})},!1,O),F)throw t;return await (0,h.sendResponse)(J,$,new Response(null,{status:500})),null}}e.s(["handler",()=>N,"patchFetch",()=>E,"routeModule",()=>b,"serverHooks",()=>O,"workAsyncStorage",()=>k,"workUnitAsyncStorage",()=>x]),a()}catch(e){a(e)}},!1)];
1
+ module.exports=[114902,e=>e.a(async(t,a)=>{try{var r=e.i(745015),n=e.i(89171),i=e.i(924868),o=e.i(814747),s=e.i(446786),l=e.i(266240),d=e.i(841788),u=e.i(197892),c=e.i(676088),p=e.i(200392),f=e.i(195975),h=t([c,p]);[c,p]=h.then?(await h)():h;let w=o.default.join(s.default.homedir(),".local","share","kilo"),y=o.default.join(w,"auth.json");o.default.join(s.default.homedir(),".config","kilo");let v=async()=>{try{let e=await i.default.readFile(y,"utf-8");return JSON.parse(e)}catch(e){if("ENOENT"===e.code)return null;throw e}};async function m(){try{let e=await (0,l.getCliRuntimeStatus)("kilo");if(!e.installed||!e.runnable)return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:null,message:e.installed&&!e.runnable?"Kilo Code CLI is installed but not runnable":"Kilo Code CLI is not installed"});let t=await v(),a=null;try{let e=o.default.join(s.default.homedir(),".config","Code","User","settings.json"),t=await i.default.readFile(e,"utf-8"),r=JSON.parse(t);for(let[e,t]of(a={},Object.entries(r)))(e.startsWith("kilocode.")||e.startsWith("kilo-code.")||e.startsWith("kilo."))&&(a[e]=t)}catch{}return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:{auth:t?Object.keys(t):[],extensionSettings:a},hasOmniRoute:(e=>{if(!e)return!1;let t=e["openai-compatible"]||e.omniroute;if(!t)return!1;let a=t.baseUrl||t.baseURL||"";return a.includes("localhost")||a.includes("127.0.0.1")||a.includes("omniroute")})(t),authPath:y})}catch(e){return console.log("Error checking kilo settings:",e),n.NextResponse.json({error:"Failed to check kilo settings"},{status:500})}}async function g(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,l.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let a=(0,p.validateBody)(c.cliModelConfigSchema,t);if((0,p.isValidationFailure)(a))return n.NextResponse.json({error:a.error},{status:400});let{baseUrl:r,apiKey:f,model:h}=a.data;await i.default.mkdir(w,{recursive:!0}),await (0,d.createBackup)("kilo",y);let m={};try{let e=await i.default.readFile(y,"utf-8");m=JSON.parse(e)}catch{}let g=r.endsWith("/v1")?r:`${r}/v1`;m["openai-compatible"]={type:"api-key",apiKey:f||"sk_omniroute",baseUrl:g,model:h},await i.default.writeFile(y,JSON.stringify(m,null,2));try{let e=o.default.join(s.default.homedir(),".config","Code","User","settings.json"),t={};try{let a=await i.default.readFile(e,"utf-8");t=JSON.parse(a)}catch{}t["kilocode.customProvider"]={name:"OmniRoute",baseURL:g,apiKey:f||"sk_omniroute"},t["kilocode.defaultModel"]=h,await i.default.writeFile(e,JSON.stringify(t,null,2))}catch{}try{(0,u.saveCliToolLastConfigured)("kilo")}catch{}return n.NextResponse.json({success:!0,message:"Kilo Code settings applied successfully!",authPath:y})}catch(e){return console.log("Error updating kilo settings:",e),n.NextResponse.json({error:"Failed to update kilo settings"},{status:500})}}async function R(){try{let e=(0,l.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});await (0,d.createBackup)("kilo",y);let t={};try{let e=await i.default.readFile(y,"utf-8");t=JSON.parse(e)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({success:!0,message:"No settings file to reset"});throw e}delete t["openai-compatible"],delete t.omniroute,await i.default.writeFile(y,JSON.stringify(t,null,2));try{let e=o.default.join(s.default.homedir(),".config","Code","User","settings.json"),t=await i.default.readFile(e,"utf-8"),a=JSON.parse(t);delete a["kilocode.customProvider"],delete a["kilocode.defaultModel"],await i.default.writeFile(e,JSON.stringify(a,null,2))}catch{}try{(0,u.deleteCliToolLastConfigured)("kilo")}catch{}return n.NextResponse.json({success:!0,message:"OmniRoute settings removed from Kilo Code"})}catch(e){return console.log("Error resetting kilo settings:",e),n.NextResponse.json({error:"Failed to reset kilo settings"},{status:500})}}(0,f.ensureServerEntryExports)([m,g,R]),(0,r.registerServerReference)(m,"00349f2cc770338b1ea0aed49e408848d1926c0292",null),(0,r.registerServerReference)(g,"40ab7305214b73d92c56389f67d5ec8c814e8f0d74",null),(0,r.registerServerReference)(R,"00519e7125ee55033ba104c995fdaaa83117249bd0",null),e.s(["DELETE",()=>R,"GET",()=>m,"POST",()=>g]),a()}catch(e){a(e)}},!1),472224,e=>e.a(async(t,a)=>{try{var r=e.i(747909),n=e.i(174017),i=e.i(996250),o=e.i(759756),s=e.i(561916),l=e.i(174677),d=e.i(869741),u=e.i(316795),c=e.i(487718),p=e.i(995169),f=e.i(47587),h=e.i(666012),m=e.i(570101),g=e.i(626937),R=e.i(10372),w=e.i(193695);e.i(52474);var y=e.i(600220),v=e.i(114902),C=t([v]);[v]=C.then?(await C)():C;let k=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/kilo-settings/route",pathname:"/api/cli-tools/kilo-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/kilo-settings/route.ts",nextConfigOutput:"standalone",userland:v}),{workAsyncStorage:b,workUnitAsyncStorage:x,serverHooks:O}=k;function E(){return(0,i.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:x})}async function N(e,t,a){k.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/cli-tools/kilo-settings/route";r=r.replace(/\/index$/,"")||"/";let i=await k.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,params:C,nextConfig:E,parsedUrl:N,isDraftMode:b,prerenderManifest:x,routerServerContext:O,isOnDemandRevalidate:S,revalidateOnlyGenerated:j,resolvedPathname:P,clientReferenceManifest:A,serverActionsManifest:T}=i,U=(0,d.normalizeAppPath)(r),F=!!(x.dynamicRoutes[U]||x.routes[P]),_=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,N,!1):t.end("This page could not be found"),null);if(F&&!b){let e=!!x.routes[P],t=x.dynamicRoutes[U];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await _();throw new w.NoFallbackError}}let I=null;!F||k.isDev||b||(I=P,I="/index"===I?"/":I);let M=!0===k.isDev||!F,H=F&&!M;T&&A&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:A,serverActionsManifest:T});let q=e.method||"GET",D=(0,s.getTracer)(),K=D.getActiveScopeSpan(),L={params:C,prerenderManifest:x,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:M,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>k.onRequestError(e,t,r,n,O)},sharedContext:{buildId:v}},J=new u.NodeNextRequest(e),$=new u.NodeNextResponse(t),B=c.NextRequestAdapter.fromNodeNextRequest(J,(0,c.signalFromNodeResponse)(t));try{let i=async e=>k.handle(B,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=D.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${q} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${q} ${r}`)}),l=!!(0,o.getRequestMeta)(e,"minimalMode"),d=async o=>{var s,d;let u=async({previousCacheEntry:n})=>{try{if(!l&&S&&j&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await i(o);e.fetchMetrics=L.renderOpts.fetchMetrics;let s=L.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let d=L.renderOpts.collectedTags;if(!F)return await (0,h.sendResponse)(J,$,r,L.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(r.headers);d&&(t[R.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,n=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await k.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:S})},!1,O),t}},c=await k.handleResponse({req:e,nextConfig:E,cacheKey:I,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:j,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:l});if(!F)return null;if((null==c||null==(s=c.value)?void 0:s.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",S?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,m.fromNodeOutgoingHttpHeaders)(c.value.headers);return l&&F||p.delete(R.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,h.sendResponse)(J,$,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};K?await d(K):await D.withPropagatedContext(e.headers,()=>D.trace(p.BaseServerSpan.handleRequest,{spanName:`${q} ${r}`,kind:s.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},d))}catch(t){if(t instanceof w.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:S})},!1,O),F)throw t;return await (0,h.sendResponse)(J,$,new Response(null,{status:500})),null}}e.s(["handler",()=>N,"patchFetch",()=>E,"routeModule",()=>k,"serverHooks",()=>O,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>x]),a()}catch(e){a(e)}},!1)];
2
2
 
3
3
  //# sourceMappingURL=_68683848._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[312215,e=>{"use strict";var t=e.i(16023),r=e.i(161002);let n={quotaApiUrl:"https://cloudcode-pa.googleapis.com/v1internal:fetchAvailableModels",loadProjectApiUrl:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",tokenUrl:"https://oauth2.googleapis.com/token",get clientId(){return t.PROVIDERS.antigravity.clientId},get clientSecret(){return t.PROVIDERS.antigravity.clientSecret},userAgent:"antigravity/1.11.3 Darwin/arm64"},i="2023-06-01";function a(e){return e&&"object"==typeof e&&!Array.isArray(e)?e:{}}function o(e,t=0){let r="number"==typeof e?e:"string"==typeof e&&e.trim().length>0?Number(e):NaN;return Number.isFinite(r)?r:t}function s(e,t,r){let n=a(e);return n[t]??n[r]??null}async function l(e){let{provider:t,accessToken:r,providerSpecificData:n}=e;switch(t){case"github":return await c(r,n);case"gemini-cli":return await g(r);case"antigravity":return await p(r,void 0);case"claude":return await y(r);case"codex":return await A(r,n);case"kiro":return await _(r,n);case"kimi-coding":return await C(r);case"qwen":return await b(r,n);case"iflow":return await I(r);default:return{message:`Usage API not implemented for ${t}`}}}function u(e){if(!e)return null;try{if(e instanceof Date)return e.toISOString();if("number"==typeof e||"string"==typeof e)return new Date(e).toISOString();return null}catch(t){return console.warn(`Failed to parse reset time: ${e}`,t),null}}async function c(e,t){try{if(!e)throw Error("No GitHub access token available. Please re-authorize the connection.");let t=await fetch("https://api.github.com/copilot_internal/user",{headers:{Authorization:`token ${e}`,Accept:"application/json","X-GitHub-Api-Version":"2022-11-28","User-Agent":"GitHubCopilotChat/0.26.7","Editor-Version":"vscode/1.100.0","Editor-Plugin-Version":"copilot-chat/0.26.7"}});if(!t.ok){let e=await t.text();if(401===t.status||403===t.status)return{message:"GitHub token expired or permission denied. Please re-authenticate the connection."};throw Error(`GitHub API error: ${e}`)}let r=await t.json();if(r.quota_snapshots){let e=r.quota_snapshots,t=u(r.quota_reset_date);return{plan:r.copilot_plan,resetDate:r.quota_reset_date,quotas:{chat:{...d(e.chat),resetAt:t},completions:{...d(e.completions),resetAt:t},premium_interactions:{...d(e.premium_interactions),resetAt:t}}}}if(r.monthly_quotas||r.limited_user_quotas){let e=r.monthly_quotas||{},t=r.limited_user_quotas||{},n=u(r.limited_user_reset_date);return{plan:r.copilot_plan||r.access_type_sku,resetDate:r.limited_user_reset_date,quotas:{chat:{used:t.chat||0,total:e.chat||0,unlimited:!1,resetAt:n},completions:{used:t.completions||0,total:e.completions||0,unlimited:!1,resetAt:n}}}}return{message:"GitHub Copilot connected. Unable to parse quota data."}}catch(e){throw Error(`Failed to fetch GitHub usage: ${e.message}`)}}function d(e){return e?{used:e.entitlement-e.remaining,total:e.entitlement,remaining:e.remaining,unlimited:e.unlimited||!1}:{used:0,total:0,unlimited:!0}}async function g(e){try{if(!(await fetch("https://cloudresourcemanager.googleapis.com/v1/projects?filter=lifecycleState:ACTIVE",{headers:{Authorization:`Bearer ${e}`,Accept:"application/json"}})).ok)return{message:"Gemini CLI uses Google Cloud quotas. Check Google Cloud Console for details."};return{message:"Gemini CLI connected. Usage tracked via Google Cloud Console."}}catch(e){return{message:"Unable to fetch Gemini usage. Check Google Cloud Console."}}}let m=new Map;async function p(e,t){try{let t=await h(e),r=t?.cloudaicompanionProject||null,i=await fetch(n.quotaApiUrl,{method:"POST",headers:{Authorization:`Bearer ${e}`,"User-Agent":n.userAgent,"Content-Type":"application/json"},body:JSON.stringify(r?{project:r}:{})});if(403===i.status)return{message:"Antigravity access forbidden. Check subscription."};if(!i.ok)throw Error(`Antigravity API error: ${i.status}`);let s=await i.json(),l=a(s),c=a(l.models),d={};if(Object.keys(c).length>0){let e=["claude-opus-4-6-thinking","claude-sonnet-4-6","gemini-3.1-pro-high","gemini-3.1-pro-low","gemini-3-flash","gpt-oss-120b-medium"];for(let[t,r]of Object.entries(c)){let n=a(r),i=a(n.quotaInfo);if(0===Object.keys(i).length||!0===n.isInternal||!e.includes(t))continue;let s=o(i.remainingFraction,0),l=100*s,c=Math.round(1e3*s),g=1e3-c;d[t]={used:g,total:1e3,resetAt:u(i.resetTime),remainingPercentage:l,unlimited:!1,displayName:"string"==typeof n.displayName?n.displayName:t}}}return{plan:function(e){if(!e||0===Object.keys(e).length)return"Free";let t="";if(Array.isArray(e.allowedTiers)){for(let r of e.allowedTiers)if(r.isDefault&&r.id){t=r.id.trim().toUpperCase();break}}if(t||(t=(e.currentTier?.id||"").toUpperCase()),t){if(t.includes("ULTRA"))return"Ultra";if(t.includes("PRO"))return"Pro";if(t.includes("ENTERPRISE"))return"Enterprise";if(t.includes("BUSINESS")||t.includes("STANDARD"))return"Business";if(t.includes("FREE")||t.includes("INDIVIDUAL")||t.includes("LEGACY"))return"Free"}let r=e.currentTier?.name||e.currentTier?.displayName||e.subscriptionType||e.tier||"",n=r.toUpperCase();return n.includes("ULTRA")?"Ultra":n.includes("PRO")?"Pro":n.includes("ENTERPRISE")?"Enterprise":n.includes("STANDARD")||n.includes("BUSINESS")?"Business":n.includes("INDIVIDUAL")||n.includes("FREE")||e.currentTier?.upgradeSubscriptionType?"Free":r?r.charAt(0).toUpperCase()+r.slice(1).toLowerCase():"Free"}(t),quotas:d,subscriptionInfo:t}}catch(e){return{message:`Antigravity error: ${e.message}`}}}async function h(e){let t=e.substring(0,16),r=m.get(t);if(r&&Date.now()-r.fetchedAt<3e5)return r.data;let n=await f(e);return m.set(t,{data:n,fetchedAt:Date.now()}),n}async function f(e){try{let t=await fetch(n.loadProjectApiUrl,{method:"POST",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"google-cloud-sdk vscode_cloudshelleditor/0.1","Client-Metadata":JSON.stringify({ideType:"IDE_UNSPECIFIED",platform:"PLATFORM_UNSPECIFIED",pluginType:"GEMINI"})},body:JSON.stringify({metadata:{ideType:"IDE_UNSPECIFIED",platform:"PLATFORM_UNSPECIFIED",pluginType:"GEMINI"}})});if(!t.ok)return null;return await t.json()}catch{return null}}async function y(e){try{let t=await fetch("https://api.anthropic.com/api/oauth/usage",{method:"GET",headers:{Authorization:`Bearer ${e}`,"anthropic-beta":"oauth-2025-04-20","anthropic-version":i}});if(t.ok){let e=await t.json(),n={},i=e=>e&&"object"==typeof e&&void 0!==(0,r.safePercentage)(e.utilization),o=e=>{let t=(0,r.safePercentage)(e.utilization),n=Math.max(0,100-t);return{used:t,total:100,remaining:n,resetAt:u(e.resets_at),remainingPercentage:n,unlimited:!1}};for(let[t,r]of(i(e.five_hour)&&(n["session (5h)"]=o(e.five_hour)),i(e.seven_day)&&(n["weekly (7d)"]=o(e.seven_day)),Object.entries(e))){let e=a(r);if(t.startsWith("seven_day_")&&"seven_day"!==t&&i(e)){let r=t.replace("seven_day_","");n[`weekly ${r} (7d)`]=o(e)}}return{plan:"Claude Code",quotas:n,extraUsage:e.extra_usage??null}}return console.warn(`[Claude Usage] OAuth endpoint returned ${t.status}, falling back to legacy`),await w(e)}catch(e){return{message:`Claude connected. Unable to fetch usage: ${e.message}`}}}async function w(e){try{let t=await fetch("https://api.anthropic.com/v1/settings",{method:"GET",headers:{Authorization:`Bearer ${e}`,"anthropic-version":i}});if(t.ok){let r=await t.json();if(r.organization_id){let t=await fetch("https://api.anthropic.com/v1/organizations/{org_id}/usage".replace("{org_id}",r.organization_id),{method:"GET",headers:{Authorization:`Bearer ${e}`,"anthropic-version":i}});if(t.ok){let e=await t.json();return{plan:r.plan||"Unknown",organization:r.organization_name,quotas:e}}}return{plan:r.plan||"Unknown",organization:r.organization_name,message:"Claude connected. Usage details require admin access."}}return{message:"Claude connected. Usage API requires admin permissions."}}catch(e){return{message:`Claude connected. Unable to fetch usage: ${e.message}`}}}async function A(e,t={}){try{let r="string"==typeof t.workspaceId?t.workspaceId:null,n={Authorization:`Bearer ${e}`,"Content-Type":"application/json",Accept:"application/json"};r&&(n["chatgpt-account-id"]=r);let i=await fetch("https://chatgpt.com/backend-api/wham/usage",{method:"GET",headers:n});if(!i.ok){if(401===i.status||403===i.status)return{message:"Codex token expired or access denied. Please re-authenticate the connection."};throw Error(`Codex API error: ${i.status}`)}let l=await i.json(),c=a(s(l,"rate_limit","rateLimit")),d=a(s(c,"primary_window","primaryWindow")),g=a(s(c,"secondary_window","secondaryWindow")),m=e=>{let t=o(s(e,"reset_at","resetAt"),0),r=o(s(e,"reset_after_seconds","resetAfterSeconds"),0);return t>0?u(1e3*t):r>0?u(Date.now()+1e3*r):null},p={};if(Object.keys(d).length>0){let e=o(s(d,"used_percent","usedPercent"),0);p.session={used:e,total:100,remaining:100-e,resetAt:m(d),unlimited:!1}}if(Object.keys(g).length>0){let e=o(s(g,"used_percent","usedPercent"),0);p.weekly={used:e,total:100,remaining:100-e,resetAt:m(g),unlimited:!1}}let h=a(s(l,"code_review_rate_limit","codeReviewRateLimit")),f=a(s(h,"primary_window","primaryWindow")),y=s(f,"used_percent","usedPercent"),w=s(f,"remaining_count","remainingCount");if(null!==y||null!==w){let e=o(y,0);p.code_review={used:e,total:100,remaining:100-e,resetAt:m(f),unlimited:!1}}return{plan:String(s(l,"plan_type","planType")||"unknown"),limitReached:!!s(c,"limit_reached","limitReached"),quotas:p}}catch(e){throw Error(`Failed to fetch Codex usage: ${e.message}`)}}async function _(e,t){try{let r=t?.profileArn;if(!r)return{message:"Kiro connected. Profile ARN not available for quota tracking."};let n=await fetch("https://codewhisperer.us-east-1.amazonaws.com",{method:"POST",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/x-amz-json-1.0","x-amz-target":"AmazonCodeWhispererService.GetUsageLimits",Accept:"application/json"},body:JSON.stringify({origin:"AI_EDITOR",profileArn:r,resourceType:"AGENTIC_REQUEST"})});if(!n.ok){let e=await n.text();throw Error(`Kiro API error (${n.status}): ${e}`)}let i=await n.json(),a=i.usageBreakdownList||[],o={},s=u(i.nextDateReset||i.resetDate);return a.forEach(e=>{let t=e.resourceType?.toLowerCase()||"unknown",r=e.currentUsageWithPrecision||0,n=e.usageLimitWithPrecision||0;if(o[t]={used:r,total:n,remaining:n-r,resetAt:s,unlimited:!1},e.freeTrialInfo){let r=e.freeTrialInfo.currentUsageWithPrecision||0,n=e.freeTrialInfo.usageLimitWithPrecision||0;o[`${t}_freetrial`]={used:r,total:n,remaining:n-r,resetAt:s,unlimited:!1}}}),{plan:i.subscriptionInfo?.subscriptionTitle||"Kiro",quotas:o}}catch(e){throw Error(`Failed to fetch Kiro usage: ${e.message}`)}}function E(e){return e?({LEVEL_BASIC:"Moderato",LEVEL_INTERMEDIATE:"Allegretto",LEVEL_ADVANCED:"Allegro",LEVEL_STANDARD:"Vivace"})[e]||e.replace("LEVEL_","").toLowerCase():""}async function C(e){let t="kimi-usage-"+Date.now(),n="u">typeof process?`${process.platform} ${process.arch}`:"unknown";try{let i,s=await fetch("https://api.kimi.com/coding/v1/usages",{method:"GET",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Msh-Platform":"omniroute","X-Msh-Version":"2.1.2","X-Msh-Device-Model":n,"X-Msh-Device-Id":t}}),l=await s.text();if(!s.ok)return{plan:"Kimi Coding",message:`Kimi Coding connected. API Error ${s.status}: ${l.slice(0,100)}`};try{i=JSON.parse(l)}catch{return{plan:"Kimi Coding",message:"Kimi Coding connected. Invalid JSON response from API."}}let c={},d=a(i),g=a(d.usage),m=o(g.limit||g.Limit,0),p=o(g.used||g.Used,0),h=o(g.remaining||g.Remaining,0),f=g.resetTime||g.ResetTime||g.reset_at||g.resetAt;m>0&&(c.Weekly={used:p,total:m,remaining:h,remainingPercentage:m>0?h/m*100:0,resetAt:u(f),unlimited:!1});let y=Array.isArray(d.limits)?d.limits:[];for(let e=0;e<y.length;e++){let t=a(y[e]);a(t.window);let r=a(t.detail),n=o(r.limit||r.Limit,0),i=o(r.remaining||r.Remaining,0),s=r.resetTime||r.reset_at||r.resetAt;n>0&&(c.Ratelimit={used:n-i,total:n,remaining:i,remainingPercentage:n>0?i/n*100:0,resetAt:u(s),unlimited:!1})}let w=e=>e&&"object"==typeof e&&void 0!==(0,r.safePercentage)(e.utilization),A=e=>{let t=(0,r.safePercentage)(e.utilization);return{used:100-t,total:100,remaining:t,resetAt:u(e.resets_at),remainingPercentage:t,unlimited:!1}};for(let[e,t]of(w(a(d.five_hour))&&(c["session (5h)"]=A(a(d.five_hour))),w(a(d.seven_day))&&(c["weekly (7d)"]=A(a(d.seven_day))),Object.entries(d))){let r=a(t);if(e.startsWith("seven_day_")&&"seven_day"!==e&&w(r)){let t=e.replace("seven_day_","");c[`weekly ${t} (7d)`]=A(r)}}if(Object.keys(c).length>0){let e=a(d.user),t=a(e.membership).level;return{plan:E(t)||"Kimi Coding",quotas:c}}let _=a(d.user),C=a(_.membership).level;return{plan:E(C)||"Kimi Coding",message:"Kimi Coding connected. Usage tracked per request."}}catch(e){return{message:`Kimi Coding connected. Unable to fetch usage: ${e.message}`}}}async function b(e,t){try{if(!t?.resourceUrl)return{message:"Qwen connected. No resource URL available."};return{message:"Qwen connected. Usage tracked per request."}}catch(e){return{message:"Unable to fetch Qwen usage."}}}async function I(e){try{return{message:"iFlow connected. Usage tracked per request."}}catch(e){return{message:"Unable to fetch iFlow usage."}}}e.s(["getUsageForProvider",()=>l])},25687,e=>{"use strict";e.i(312215),e.i(245272),e.i(444675);var t=e.i(161002);let r=new Map;function n(e){let t=new Date(e).getTime();return Number.isNaN(t)?null:t}function i(e){return Number.isFinite(e)?Math.max(0,Math.min(100,e)):0}function a(e,i,a){let o,s=function(e){let r={};for(let[n,i]of Object.entries(e))i&&"object"==typeof i&&(r[n]={remainingPercentage:(0,t.safePercentage)(i.remainingPercentage)??(i.total>0?Math.round((i.total-(i.used||0))/i.total*100):0),resetAt:i.resetAt||null});return r}(a),l=0!==(o=Object.values(s)).length&&o.every(e=>e.remainingPercentage<=0);r.set(e,{connectionId:e,provider:i,quotas:s,fetchedAt:Date.now(),exhausted:l,nextResetAt:l?function(e){let t=null,r=1/0;for(let i of Object.values(e)){if(!i.resetAt)continue;let e=n(i.resetAt);null!==e&&e<r&&(r=e,t=i.resetAt)}return t}(s):null})}function o(e){let t=r.get(e);if(!t||!t.exhausted)return!1;let i=Date.now();if(function(e,t){if(!e.nextResetAt)return null;let r=n(e.nextResetAt);return null===r?null:r<=t||e.windowDurationMs&&e.windowDurationMs>0&&t-r>=0?{exhausted:!1}:null}(t,i))return t.exhausted=!1,!1;let a=i-t.fetchedAt;return!!t.nextResetAt||!(a>3e5)}function s(e,t,a=90){let o=r.get(e);if(!o)return null;let l=Date.now(),u=o.quotas[t];if(!u)return null;let c=i(u.remainingPercentage),d=i(100-c),g=u.resetAt||null,m=!1;if(g){let e=n(g);null!==e&&e<=l&&(g=null,m=!0)}return{remainingPercentage:c,usedPercentage:d,resetAt:g,reachedThreshold:!m&&d>=a}}function l(e,t){r.set(e,{connectionId:e,provider:t,quotas:{},fetchedAt:Date.now(),exhausted:!0,nextResetAt:null})}e.s(["getQuotaWindowStatus",()=>s,"isAccountQuotaExhausted",()=>o,"markAccountExhaustedFrom429",()=>l,"setQuotaCache",()=>a])}];
1
+ module.exports=[312215,e=>{"use strict";var t=e.i(16023),r=e.i(161002);let n={quotaApiUrl:"https://cloudcode-pa.googleapis.com/v1internal:fetchAvailableModels",loadProjectApiUrl:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",tokenUrl:"https://oauth2.googleapis.com/token",get clientId(){return t.PROVIDERS.antigravity.clientId},get clientSecret(){return t.PROVIDERS.antigravity.clientSecret},userAgent:"antigravity/1.11.3 Darwin/arm64"},i="2023-06-01";function a(e){return e&&"object"==typeof e&&!Array.isArray(e)?e:{}}function o(e,t=0){let r="number"==typeof e?e:"string"==typeof e&&e.trim().length>0?Number(e):NaN;return Number.isFinite(r)?r:t}function s(e,t,r){let n=a(e);return n[t]??n[r]??null}async function l(e){let{provider:t,accessToken:r,providerSpecificData:n}=e;switch(t){case"github":return await c(r,n);case"gemini-cli":return await g(r);case"antigravity":return await p(r,void 0);case"claude":return await y(r);case"codex":return await A(r,n);case"kiro":return await _(r,n);case"kimi-coding":return await C(r);case"qwen":return await b(r,n);case"iflow":return await k(r);default:return{message:`Usage API not implemented for ${t}`}}}function u(e){if(!e)return null;try{if(e instanceof Date)return e.toISOString();if("number"==typeof e||"string"==typeof e)return new Date(e).toISOString();return null}catch(t){return console.warn(`Failed to parse reset time: ${e}`,t),null}}async function c(e,t){try{if(!e)throw Error("No GitHub access token available. Please re-authorize the connection.");let t=await fetch("https://api.github.com/copilot_internal/user",{headers:{Authorization:`token ${e}`,Accept:"application/json","X-GitHub-Api-Version":"2022-11-28","User-Agent":"GitHubCopilotChat/0.26.7","Editor-Version":"vscode/1.100.0","Editor-Plugin-Version":"copilot-chat/0.26.7"}});if(!t.ok){let e=await t.text();if(401===t.status||403===t.status)return{message:"GitHub token expired or permission denied. Please re-authenticate the connection."};throw Error(`GitHub API error: ${e}`)}let r=await t.json();if(r.quota_snapshots){let e=r.quota_snapshots,t=u(r.quota_reset_date);return{plan:r.copilot_plan,resetDate:r.quota_reset_date,quotas:{chat:{...d(e.chat),resetAt:t},completions:{...d(e.completions),resetAt:t},premium_interactions:{...d(e.premium_interactions),resetAt:t}}}}if(r.monthly_quotas||r.limited_user_quotas){let e=r.monthly_quotas||{},t=r.limited_user_quotas||{},n=u(r.limited_user_reset_date);return{plan:r.copilot_plan||r.access_type_sku,resetDate:r.limited_user_reset_date,quotas:{chat:{used:t.chat||0,total:e.chat||0,unlimited:!1,resetAt:n},completions:{used:t.completions||0,total:e.completions||0,unlimited:!1,resetAt:n}}}}return{message:"GitHub Copilot connected. Unable to parse quota data."}}catch(e){throw Error(`Failed to fetch GitHub usage: ${e.message}`)}}function d(e){return e?{used:e.entitlement-e.remaining,total:e.entitlement,remaining:e.remaining,unlimited:e.unlimited||!1}:{used:0,total:0,unlimited:!0}}async function g(e){try{if(!(await fetch("https://cloudresourcemanager.googleapis.com/v1/projects?filter=lifecycleState:ACTIVE",{headers:{Authorization:`Bearer ${e}`,Accept:"application/json"}})).ok)return{message:"Gemini CLI uses Google Cloud quotas. Check Google Cloud Console for details."};return{message:"Gemini CLI connected. Usage tracked via Google Cloud Console."}}catch(e){return{message:"Unable to fetch Gemini usage. Check Google Cloud Console."}}}let m=new Map;async function p(e,t){try{let t=await f(e),r=t?.cloudaicompanionProject||null,i=await fetch(n.quotaApiUrl,{method:"POST",headers:{Authorization:`Bearer ${e}`,"User-Agent":n.userAgent,"Content-Type":"application/json"},body:JSON.stringify(r?{project:r}:{})});if(403===i.status)return{message:"Antigravity access forbidden. Check subscription."};if(!i.ok)throw Error(`Antigravity API error: ${i.status}`);let s=await i.json(),l=a(s),c=a(l.models),d={};if(Object.keys(c).length>0){let e=["claude-opus-4-6-thinking","claude-sonnet-4-6","gemini-3.1-pro-high","gemini-3.1-pro-low","gemini-3-flash","gpt-oss-120b-medium"];for(let[t,r]of Object.entries(c)){let n=a(r),i=a(n.quotaInfo);if(0===Object.keys(i).length||!0===n.isInternal||!e.includes(t))continue;let s=o(i.remainingFraction,0),l=100*s,c=Math.round(1e3*s),g=1e3-c;d[t]={used:g,total:1e3,resetAt:u(i.resetTime),remainingPercentage:l,unlimited:!1,displayName:"string"==typeof n.displayName?n.displayName:t}}}return{plan:function(e){if(!e||0===Object.keys(e).length)return"Free";let t="";if(Array.isArray(e.allowedTiers)){for(let r of e.allowedTiers)if(r.isDefault&&r.id){t=r.id.trim().toUpperCase();break}}if(t||(t=(e.currentTier?.id||"").toUpperCase()),t){if(t.includes("ULTRA"))return"Ultra";if(t.includes("PRO"))return"Pro";if(t.includes("ENTERPRISE"))return"Enterprise";if(t.includes("BUSINESS")||t.includes("STANDARD"))return"Business";if(t.includes("FREE")||t.includes("INDIVIDUAL")||t.includes("LEGACY"))return"Free"}let r=e.currentTier?.name||e.currentTier?.displayName||e.subscriptionType||e.tier||"",n=r.toUpperCase();return n.includes("ULTRA")?"Ultra":n.includes("PRO")?"Pro":n.includes("ENTERPRISE")?"Enterprise":n.includes("STANDARD")||n.includes("BUSINESS")?"Business":n.includes("INDIVIDUAL")||n.includes("FREE")||e.currentTier?.upgradeSubscriptionType?"Free":r?r.charAt(0).toUpperCase()+r.slice(1).toLowerCase():"Free"}(t),quotas:d,subscriptionInfo:t}}catch(e){return{message:`Antigravity error: ${e.message}`}}}async function f(e){let t=e.substring(0,16),r=m.get(t);if(r&&Date.now()-r.fetchedAt<3e5)return r.data;let n=await h(e);return m.set(t,{data:n,fetchedAt:Date.now()}),n}async function h(e){try{let t=await fetch(n.loadProjectApiUrl,{method:"POST",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"google-cloud-sdk vscode_cloudshelleditor/0.1","Client-Metadata":JSON.stringify({ideType:"IDE_UNSPECIFIED",platform:"PLATFORM_UNSPECIFIED",pluginType:"GEMINI"})},body:JSON.stringify({metadata:{ideType:"IDE_UNSPECIFIED",platform:"PLATFORM_UNSPECIFIED",pluginType:"GEMINI"}})});if(!t.ok)return null;return await t.json()}catch{return null}}async function y(e){try{let t=await fetch("https://api.anthropic.com/api/oauth/usage",{method:"GET",headers:{Authorization:`Bearer ${e}`,"anthropic-beta":"oauth-2025-04-20","anthropic-version":i}});if(t.ok){let e=await t.json(),n={},i=e=>e&&"object"==typeof e&&void 0!==(0,r.safePercentage)(e.utilization),o=e=>{let t=(0,r.safePercentage)(e.utilization),n=Math.max(0,100-t);return{used:t,total:100,remaining:n,resetAt:u(e.resets_at),remainingPercentage:n,unlimited:!1}};for(let[t,r]of(i(e.five_hour)&&(n["session (5h)"]=o(e.five_hour)),i(e.seven_day)&&(n["weekly (7d)"]=o(e.seven_day)),Object.entries(e))){let e=a(r);if(t.startsWith("seven_day_")&&"seven_day"!==t&&i(e)){let r=t.replace("seven_day_","");n[`weekly ${r} (7d)`]=o(e)}}return{plan:"Claude Code",quotas:n,extraUsage:e.extra_usage??null}}return console.warn(`[Claude Usage] OAuth endpoint returned ${t.status}, falling back to legacy`),await w(e)}catch(e){return{message:`Claude connected. Unable to fetch usage: ${e.message}`}}}async function w(e){try{let t=await fetch("https://api.anthropic.com/v1/settings",{method:"GET",headers:{Authorization:`Bearer ${e}`,"anthropic-version":i}});if(t.ok){let r=await t.json();if(r.organization_id){let t=await fetch("https://api.anthropic.com/v1/organizations/{org_id}/usage".replace("{org_id}",r.organization_id),{method:"GET",headers:{Authorization:`Bearer ${e}`,"anthropic-version":i}});if(t.ok){let e=await t.json();return{plan:r.plan||"Unknown",organization:r.organization_name,quotas:e}}}return{plan:r.plan||"Unknown",organization:r.organization_name,message:"Claude connected. Usage details require admin access."}}return{message:"Claude connected. Usage API requires admin permissions."}}catch(e){return{message:`Claude connected. Unable to fetch usage: ${e.message}`}}}async function A(e,t={}){try{let r="string"==typeof t.workspaceId?t.workspaceId:null,n={Authorization:`Bearer ${e}`,"Content-Type":"application/json",Accept:"application/json"};r&&(n["chatgpt-account-id"]=r);let i=await fetch("https://chatgpt.com/backend-api/wham/usage",{method:"GET",headers:n});if(!i.ok){if(401===i.status||403===i.status)return{message:"Codex token expired or access denied. Please re-authenticate the connection."};throw Error(`Codex API error: ${i.status}`)}let l=await i.json(),c=a(s(l,"rate_limit","rateLimit")),d=a(s(c,"primary_window","primaryWindow")),g=a(s(c,"secondary_window","secondaryWindow")),m=e=>{let t=o(s(e,"reset_at","resetAt"),0),r=o(s(e,"reset_after_seconds","resetAfterSeconds"),0);return t>0?u(1e3*t):r>0?u(Date.now()+1e3*r):null},p={};if(Object.keys(d).length>0){let e=o(s(d,"used_percent","usedPercent"),0);p.session={used:e,total:100,remaining:100-e,resetAt:m(d),unlimited:!1}}if(Object.keys(g).length>0){let e=o(s(g,"used_percent","usedPercent"),0);p.weekly={used:e,total:100,remaining:100-e,resetAt:m(g),unlimited:!1}}let f=a(s(l,"code_review_rate_limit","codeReviewRateLimit")),h=a(s(f,"primary_window","primaryWindow")),y=s(h,"used_percent","usedPercent"),w=s(h,"remaining_count","remainingCount");if(null!==y||null!==w){let e=o(y,0);p.code_review={used:e,total:100,remaining:100-e,resetAt:m(h),unlimited:!1}}return{plan:String(s(l,"plan_type","planType")||"unknown"),limitReached:!!s(c,"limit_reached","limitReached"),quotas:p}}catch(e){throw Error(`Failed to fetch Codex usage: ${e.message}`)}}async function _(e,t){try{let r=t?.profileArn;if(!r)return{message:"Kiro connected. Profile ARN not available for quota tracking."};let n=await fetch("https://codewhisperer.us-east-1.amazonaws.com",{method:"POST",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/x-amz-json-1.0","x-amz-target":"AmazonCodeWhispererService.GetUsageLimits",Accept:"application/json"},body:JSON.stringify({origin:"AI_EDITOR",profileArn:r,resourceType:"AGENTIC_REQUEST"})});if(!n.ok){let e=await n.text();throw Error(`Kiro API error (${n.status}): ${e}`)}let i=await n.json(),a=i.usageBreakdownList||[],o={},s=u(i.nextDateReset||i.resetDate);return a.forEach(e=>{let t=e.resourceType?.toLowerCase()||"unknown",r=e.currentUsageWithPrecision||0,n=e.usageLimitWithPrecision||0;if(o[t]={used:r,total:n,remaining:n-r,resetAt:s,unlimited:!1},e.freeTrialInfo){let r=e.freeTrialInfo.currentUsageWithPrecision||0,n=e.freeTrialInfo.usageLimitWithPrecision||0;o[`${t}_freetrial`]={used:r,total:n,remaining:n-r,resetAt:s,unlimited:!1}}}),{plan:i.subscriptionInfo?.subscriptionTitle||"Kiro",quotas:o}}catch(e){throw Error(`Failed to fetch Kiro usage: ${e.message}`)}}function E(e){return e?({LEVEL_BASIC:"Moderato",LEVEL_INTERMEDIATE:"Allegretto",LEVEL_ADVANCED:"Allegro",LEVEL_STANDARD:"Vivace"})[e]||e.replace("LEVEL_","").toLowerCase():""}async function C(e){let t="kimi-usage-"+Date.now(),n="u">typeof process?`${process.platform} ${process.arch}`:"unknown";try{let i,s=await fetch("https://api.kimi.com/coding/v1/usages",{method:"GET",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Msh-Platform":"omniroute","X-Msh-Version":"2.1.2","X-Msh-Device-Model":n,"X-Msh-Device-Id":t}}),l=await s.text();if(!s.ok)return{plan:"Kimi Coding",message:`Kimi Coding connected. API Error ${s.status}: ${l.slice(0,100)}`};try{i=JSON.parse(l)}catch{return{plan:"Kimi Coding",message:"Kimi Coding connected. Invalid JSON response from API."}}let c={},d=a(i),g=a(d.usage),m=o(g.limit||g.Limit,0),p=o(g.used||g.Used,0),f=o(g.remaining||g.Remaining,0),h=g.resetTime||g.ResetTime||g.reset_at||g.resetAt;m>0&&(c.Weekly={used:p,total:m,remaining:f,remainingPercentage:m>0?f/m*100:0,resetAt:u(h),unlimited:!1});let y=Array.isArray(d.limits)?d.limits:[];for(let e=0;e<y.length;e++){let t=a(y[e]);a(t.window);let r=a(t.detail),n=o(r.limit||r.Limit,0),i=o(r.remaining||r.Remaining,0),s=r.resetTime||r.reset_at||r.resetAt;n>0&&(c.Ratelimit={used:n-i,total:n,remaining:i,remainingPercentage:n>0?i/n*100:0,resetAt:u(s),unlimited:!1})}let w=e=>e&&"object"==typeof e&&void 0!==(0,r.safePercentage)(e.utilization),A=e=>{let t=(0,r.safePercentage)(e.utilization);return{used:100-t,total:100,remaining:t,resetAt:u(e.resets_at),remainingPercentage:t,unlimited:!1}};for(let[e,t]of(w(a(d.five_hour))&&(c["session (5h)"]=A(a(d.five_hour))),w(a(d.seven_day))&&(c["weekly (7d)"]=A(a(d.seven_day))),Object.entries(d))){let r=a(t);if(e.startsWith("seven_day_")&&"seven_day"!==e&&w(r)){let t=e.replace("seven_day_","");c[`weekly ${t} (7d)`]=A(r)}}if(Object.keys(c).length>0){let e=a(d.user),t=a(e.membership).level;return{plan:E(t)||"Kimi Coding",quotas:c}}let _=a(d.user),C=a(_.membership).level;return{plan:E(C)||"Kimi Coding",message:"Kimi Coding connected. Usage tracked per request."}}catch(e){return{message:`Kimi Coding connected. Unable to fetch usage: ${e.message}`}}}async function b(e,t){try{if(!t?.resourceUrl)return{message:"Qwen connected. No resource URL available."};return{message:"Qwen connected. Usage tracked per request."}}catch(e){return{message:"Unable to fetch Qwen usage."}}}async function k(e){try{return{message:"iFlow connected. Usage tracked per request."}}catch(e){return{message:"Unable to fetch iFlow usage."}}}e.s(["getUsageForProvider",()=>l])},25687,e=>{"use strict";e.i(312215),e.i(245272),e.i(444675);var t=e.i(161002);let r=new Map;function n(e){let t=new Date(e).getTime();return Number.isNaN(t)?null:t}function i(e){return Number.isFinite(e)?Math.max(0,Math.min(100,e)):0}function a(e){return"string"!=typeof e?"":e.toLowerCase().replace(/[^a-z0-9]+/g," ").trim()}function o(e,i,a){let o,s=function(e){let r={};for(let[n,i]of Object.entries(e))i&&"object"==typeof i&&(r[n]={remainingPercentage:(0,t.safePercentage)(i.remainingPercentage)??(i.total>0?Math.round((i.total-(i.used||0))/i.total*100):0),resetAt:i.resetAt||null});return r}(a),l=0!==(o=Object.values(s)).length&&o.every(e=>e.remainingPercentage<=0);r.set(e,{connectionId:e,provider:i,quotas:s,fetchedAt:Date.now(),exhausted:l,nextResetAt:l?function(e){let t=null,r=1/0;for(let i of Object.values(e)){if(!i.resetAt)continue;let e=n(i.resetAt);null!==e&&e<r&&(r=e,t=i.resetAt)}return t}(s):null})}function s(e){let t=r.get(e);if(!t||!t.exhausted)return!1;let i=Date.now();if(function(e,t){if(!e.nextResetAt)return null;let r=n(e.nextResetAt);return null===r?null:r<=t||e.windowDurationMs&&e.windowDurationMs>0&&t-r>=0?{exhausted:!1}:null}(t,i))return t.exhausted=!1,!1;let a=i-t.fetchedAt;return!!t.nextResetAt||!(a>3e5)}function l(e,t,o=90){let s=r.get(e);if(!s)return null;let u=Date.now(),c=function(e,t){let r=e[t];if(r)return r;let n=a(t);if(!n)return null;let i=[];for(let[t,r]of Object.entries(e)){let e=a(t);if(e){if(e===n)return r;e.startsWith(`${n} `)&&i.push({key:t,quota:r})}}return i.length>0?(i.sort((e,t)=>e.key.localeCompare(t.key)),i[0].quota):null}(s.quotas,t);if(!c)return null;let d=i(c.remainingPercentage),g=i(100-d),m=c.resetAt||null,p=!1;if(m){let e=n(m);null!==e&&e<=u&&(m=null,p=!0)}return{remainingPercentage:d,usedPercentage:g,resetAt:m,reachedThreshold:!p&&g>=o}}function u(e,t){r.set(e,{connectionId:e,provider:t,quotas:{},fetchedAt:Date.now(),exhausted:!0,nextResetAt:null})}e.s(["getQuotaWindowStatus",()=>l,"isAccountQuotaExhausted",()=>s,"markAccountExhaustedFrom429",()=>u,"setQuotaCache",()=>o])}];
2
2
 
3
3
  //# sourceMappingURL=_6f1b3c3f._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[675336,e=>e.a(async(t,r)=>{try{var a=e.i(745015),n=e.i(89171),s=e.i(924868),o=e.i(814747),i=e.i(266240),l=e.i(841788),d=e.i(197892),u=e.i(676088),c=e.i(200392),p=e.i(195975),m=t([u,c]);[u,c]=m.then?(await m)():m;let R=()=>(0,i.getCliPrimaryConfigPath)("droid"),y=async()=>{try{let e=R(),t=await s.default.readFile(e,"utf-8");return JSON.parse(t)}catch(e){if("ENOENT"===e.code)return null;throw e}};async function h(){try{let e=await (0,i.getCliRuntimeStatus)("droid");if(!e.installed||!e.runnable)return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:null,message:e.installed&&!e.runnable?"Factory Droid CLI is installed but not runnable":"Factory Droid CLI is not installed"});let t=await y();return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:t,hasOmniRoute:!!t&&!!t.customModels&&t.customModels.some(e=>"custom:OmniRoute-0"===e.id),settingsPath:R()})}catch(e){return console.log("Error checking droid settings:",e),n.NextResponse.json({error:"Failed to check droid settings"},{status:500})}}async function f(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let r=(0,c.validateBody)(u.cliModelConfigSchema,t);if((0,c.isValidationFailure)(r))return n.NextResponse.json({error:r.error},{status:400});let{baseUrl:a,apiKey:p,model:m}=r.data,h=o.default.dirname(R()),f=R();await s.default.mkdir(h,{recursive:!0}),await (0,l.createBackup)("droid",f);let g={};try{let e=await s.default.readFile(f,"utf-8");g=JSON.parse(e)}catch{}g.customModels||(g.customModels=[]),g.customModels=g.customModels.filter(e=>"custom:OmniRoute-0"!==e.id);let y=a.endsWith("/v1")?a:`${a}/v1`;g.customModels.unshift({model:m,id:"custom:OmniRoute-0",index:0,baseUrl:y,apiKey:p||"your_api_key",displayName:m,maxOutputTokens:131072,noImageSupport:!1,provider:"openai"}),await s.default.writeFile(f,JSON.stringify(g,null,2));try{(0,d.saveCliToolLastConfigured)("droid")}catch{}return n.NextResponse.json({success:!0,message:"Factory Droid settings applied successfully!",settingsPath:f})}catch(e){return console.log("Error updating droid settings:",e),n.NextResponse.json({error:"Failed to update droid settings"},{status:500})}}async function g(){try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let t=R();await (0,l.createBackup)("droid",t);let r={};try{let e=await s.default.readFile(t,"utf-8");r=JSON.parse(e)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({success:!0,message:"No settings file to reset"});throw e}r.customModels&&(r.customModels=r.customModels.filter(e=>"custom:OmniRoute-0"!==e.id),0===r.customModels.length&&delete r.customModels),await s.default.writeFile(t,JSON.stringify(r,null,2));try{(0,d.deleteCliToolLastConfigured)("droid")}catch{}return n.NextResponse.json({success:!0,message:"OmniRoute settings removed successfully"})}catch(e){return console.log("Error resetting droid settings:",e),n.NextResponse.json({error:"Failed to reset droid settings"},{status:500})}}(0,p.ensureServerEntryExports)([h,f,g]),(0,a.registerServerReference)(h,"0098d2317c0aa69495fa67d0c64cb279013e51cb97",null),(0,a.registerServerReference)(f,"40dfef731598db2832585208a2565782c5740b68d0",null),(0,a.registerServerReference)(g,"00cd4389f00f6e2414ccce80caf9ffe2d2b0f6ea7a",null),e.s(["DELETE",()=>g,"GET",()=>h,"POST",()=>f]),r()}catch(e){r(e)}},!1),122141,e=>e.a(async(t,r)=>{try{var a=e.i(747909),n=e.i(174017),s=e.i(996250),o=e.i(759756),i=e.i(561916),l=e.i(174677),d=e.i(869741),u=e.i(316795),c=e.i(487718),p=e.i(995169),m=e.i(47587),h=e.i(666012),f=e.i(570101),g=e.i(626937),R=e.i(10372),y=e.i(193695);e.i(52474);var v=e.i(600220),w=e.i(675336),E=t([w]);[w]=E.then?(await E)():E;let x=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/droid-settings/route",pathname:"/api/cli-tools/droid-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/droid-settings/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:b,workUnitAsyncStorage:O,serverHooks:S}=x;function C(){return(0,s.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:O})}async function N(e,t,r){x.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/cli-tools/droid-settings/route";a=a.replace(/\/index$/,"")||"/";let s=await x.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:w,params:E,nextConfig:C,parsedUrl:N,isDraftMode:b,prerenderManifest:O,routerServerContext:S,isOnDemandRevalidate:T,revalidateOnlyGenerated:A,resolvedPathname:P,clientReferenceManifest:M,serverActionsManifest:_}=s,j=(0,d.normalizeAppPath)(a),k=!!(O.dynamicRoutes[j]||O.routes[P]),F=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,N,!1):t.end("This page could not be found"),null);if(k&&!b){let e=!!O.routes[P],t=O.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(C.experimental.adapterPath)return await F();throw new y.NoFallbackError}}let I=null;!k||x.isDev||b||(I=P,I="/index"===I?"/":I);let D=!0===x.isDev||!k,H=k&&!D;_&&M&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:M,serverActionsManifest:_});let U=e.method||"GET",q=(0,i.getTracer)(),L=q.getActiveScopeSpan(),$={params:E,prerenderManifest:O,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:D,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:C.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>x.onRequestError(e,t,a,n,S)},sharedContext:{buildId:w}},K=new u.NodeNextRequest(e),B=new u.NodeNextResponse(t),J=c.NextRequestAdapter.fromNodeNextRequest(K,(0,c.signalFromNodeResponse)(t));try{let s=async e=>x.handle(J,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=q.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${U} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${a}`)}),l=!!(0,o.getRequestMeta)(e,"minimalMode"),d=async o=>{var i,d;let u=async({previousCacheEntry:n})=>{try{if(!l&&T&&A&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await s(o);e.fetchMetrics=$.renderOpts.fetchMetrics;let i=$.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let d=$.renderOpts.collectedTags;if(!k)return await (0,h.sendResponse)(K,B,a,$.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);d&&(t[R.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,n=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await x.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:T})},!1,S),t}},c=await x.handleResponse({req:e,nextConfig:C,cacheKey:I,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:A,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:l});if(!k)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",T?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return l&&k||p.delete(R.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,h.sendResponse)(K,B,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};L?await d(L):await q.withPropagatedContext(e.headers,()=>q.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${a}`,kind:i.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},d))}catch(t){if(t instanceof y.NoFallbackError||await x.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:T})},!1,S),k)throw t;return await (0,h.sendResponse)(K,B,new Response(null,{status:500})),null}}e.s(["handler",()=>N,"patchFetch",()=>C,"routeModule",()=>x,"serverHooks",()=>S,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>O]),r()}catch(e){r(e)}},!1)];
1
+ module.exports=[675336,e=>e.a(async(t,r)=>{try{var a=e.i(745015),n=e.i(89171),s=e.i(924868),o=e.i(814747),i=e.i(266240),l=e.i(841788),d=e.i(197892),u=e.i(676088),c=e.i(200392),p=e.i(195975),m=t([u,c]);[u,c]=m.then?(await m)():m;let R=()=>(0,i.getCliPrimaryConfigPath)("droid"),y=async()=>{try{let e=R(),t=await s.default.readFile(e,"utf-8");return JSON.parse(t)}catch(e){if("ENOENT"===e.code)return null;throw e}};async function h(){try{let e=await (0,i.getCliRuntimeStatus)("droid");if(!e.installed||!e.runnable)return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:null,message:e.installed&&!e.runnable?"Factory Droid CLI is installed but not runnable":"Factory Droid CLI is not installed"});let t=await y();return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:t,hasOmniRoute:!!t&&!!t.customModels&&t.customModels.some(e=>"custom:OmniRoute-0"===e.id),settingsPath:R()})}catch(e){return console.log("Error checking droid settings:",e),n.NextResponse.json({error:"Failed to check droid settings"},{status:500})}}async function f(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let r=(0,c.validateBody)(u.cliModelConfigSchema,t);if((0,c.isValidationFailure)(r))return n.NextResponse.json({error:r.error},{status:400});let{baseUrl:a,apiKey:p,model:m}=r.data,h=o.default.dirname(R()),f=R();await s.default.mkdir(h,{recursive:!0}),await (0,l.createBackup)("droid",f);let g={};try{let e=await s.default.readFile(f,"utf-8");g=JSON.parse(e)}catch{}g.customModels||(g.customModels=[]),g.customModels=g.customModels.filter(e=>"custom:OmniRoute-0"!==e.id);let y=a.endsWith("/v1")?a:`${a}/v1`;g.customModels.unshift({model:m,id:"custom:OmniRoute-0",index:0,baseUrl:y,apiKey:p||"your_api_key",displayName:m,maxOutputTokens:131072,noImageSupport:!1,provider:"openai"}),await s.default.writeFile(f,JSON.stringify(g,null,2));try{(0,d.saveCliToolLastConfigured)("droid")}catch{}return n.NextResponse.json({success:!0,message:"Factory Droid settings applied successfully!",settingsPath:f})}catch(e){return console.log("Error updating droid settings:",e),n.NextResponse.json({error:"Failed to update droid settings"},{status:500})}}async function g(){try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let t=R();await (0,l.createBackup)("droid",t);let r={};try{let e=await s.default.readFile(t,"utf-8");r=JSON.parse(e)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({success:!0,message:"No settings file to reset"});throw e}r.customModels&&(r.customModels=r.customModels.filter(e=>"custom:OmniRoute-0"!==e.id),0===r.customModels.length&&delete r.customModels),await s.default.writeFile(t,JSON.stringify(r,null,2));try{(0,d.deleteCliToolLastConfigured)("droid")}catch{}return n.NextResponse.json({success:!0,message:"OmniRoute settings removed successfully"})}catch(e){return console.log("Error resetting droid settings:",e),n.NextResponse.json({error:"Failed to reset droid settings"},{status:500})}}(0,p.ensureServerEntryExports)([h,f,g]),(0,a.registerServerReference)(h,"00d9f51ed68611386b38bbe2d2a2bac1c280d788cd",null),(0,a.registerServerReference)(f,"402ef2fdebdcbfd21fc81718d84dc448d4d5ba429d",null),(0,a.registerServerReference)(g,"003ce936bae19cd9cc272dc52d5ab1d621ddb4fac8",null),e.s(["DELETE",()=>g,"GET",()=>h,"POST",()=>f]),r()}catch(e){r(e)}},!1),122141,e=>e.a(async(t,r)=>{try{var a=e.i(747909),n=e.i(174017),s=e.i(996250),o=e.i(759756),i=e.i(561916),l=e.i(174677),d=e.i(869741),u=e.i(316795),c=e.i(487718),p=e.i(995169),m=e.i(47587),h=e.i(666012),f=e.i(570101),g=e.i(626937),R=e.i(10372),y=e.i(193695);e.i(52474);var v=e.i(600220),w=e.i(675336),E=t([w]);[w]=E.then?(await E)():E;let x=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/droid-settings/route",pathname:"/api/cli-tools/droid-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/droid-settings/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:b,workUnitAsyncStorage:O,serverHooks:S}=x;function C(){return(0,s.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:O})}async function N(e,t,r){x.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/cli-tools/droid-settings/route";a=a.replace(/\/index$/,"")||"/";let s=await x.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:w,params:E,nextConfig:C,parsedUrl:N,isDraftMode:b,prerenderManifest:O,routerServerContext:S,isOnDemandRevalidate:T,revalidateOnlyGenerated:A,resolvedPathname:P,clientReferenceManifest:M,serverActionsManifest:_}=s,j=(0,d.normalizeAppPath)(a),k=!!(O.dynamicRoutes[j]||O.routes[P]),F=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,N,!1):t.end("This page could not be found"),null);if(k&&!b){let e=!!O.routes[P],t=O.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(C.experimental.adapterPath)return await F();throw new y.NoFallbackError}}let I=null;!k||x.isDev||b||(I=P,I="/index"===I?"/":I);let D=!0===x.isDev||!k,H=k&&!D;_&&M&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:M,serverActionsManifest:_});let U=e.method||"GET",q=(0,i.getTracer)(),L=q.getActiveScopeSpan(),$={params:E,prerenderManifest:O,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:D,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:C.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>x.onRequestError(e,t,a,n,S)},sharedContext:{buildId:w}},K=new u.NodeNextRequest(e),B=new u.NodeNextResponse(t),J=c.NextRequestAdapter.fromNodeNextRequest(K,(0,c.signalFromNodeResponse)(t));try{let s=async e=>x.handle(J,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=q.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${U} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${a}`)}),l=!!(0,o.getRequestMeta)(e,"minimalMode"),d=async o=>{var i,d;let u=async({previousCacheEntry:n})=>{try{if(!l&&T&&A&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await s(o);e.fetchMetrics=$.renderOpts.fetchMetrics;let i=$.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let d=$.renderOpts.collectedTags;if(!k)return await (0,h.sendResponse)(K,B,a,$.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);d&&(t[R.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,n=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await x.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:T})},!1,S),t}},c=await x.handleResponse({req:e,nextConfig:C,cacheKey:I,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:A,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:l});if(!k)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",T?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return l&&k||p.delete(R.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,h.sendResponse)(K,B,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};L?await d(L):await q.withPropagatedContext(e.headers,()=>q.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${a}`,kind:i.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},d))}catch(t){if(t instanceof y.NoFallbackError||await x.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:T})},!1,S),k)throw t;return await (0,h.sendResponse)(K,B,new Response(null,{status:500})),null}}e.s(["handler",()=>N,"patchFetch",()=>C,"routeModule",()=>x,"serverHooks",()=>S,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>O]),r()}catch(e){r(e)}},!1)];
2
2
 
3
3
  //# sourceMappingURL=_ee9b677b._.js.map