omniroute 3.4.3 → 3.4.4

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 (109) hide show
  1. package/README.md +4 -0
  2. package/app/.next/BUILD_ID +1 -1
  3. package/app/.next/build-manifest.json +3 -3
  4. package/app/.next/prerender-manifest.json +3 -3
  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/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/cache/page_client-reference-manifest.js +1 -1
  11. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  12. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  13. package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
  14. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  15. package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  16. package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
  17. package/app/.next/server/app/(dashboard)/dashboard/logs/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/memory/page_client-reference-manifest.js +1 -1
  20. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
  21. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  22. package/app/.next/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  23. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  24. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  25. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  26. package/app/.next/server/app/(dashboard)/dashboard/search-tools/page_client-reference-manifest.js +1 -1
  27. package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  28. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  29. package/app/.next/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  30. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  31. package/app/.next/server/app/400/page_client-reference-manifest.js +1 -1
  32. package/app/.next/server/app/401/page_client-reference-manifest.js +1 -1
  33. package/app/.next/server/app/403/page_client-reference-manifest.js +1 -1
  34. package/app/.next/server/app/408/page_client-reference-manifest.js +1 -1
  35. package/app/.next/server/app/429/page_client-reference-manifest.js +1 -1
  36. package/app/.next/server/app/500/page_client-reference-manifest.js +1 -1
  37. package/app/.next/server/app/502/page_client-reference-manifest.js +1 -1
  38. package/app/.next/server/app/503/page_client-reference-manifest.js +1 -1
  39. package/app/.next/server/app/_global-error.html +1 -1
  40. package/app/.next/server/app/_global-error.rsc +1 -1
  41. package/app/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  42. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  43. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  44. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  45. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  46. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  47. package/app/.next/server/app/api/system/version/route.js.nft.json +1 -1
  48. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  49. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  50. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  51. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  52. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  53. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  54. package/app/.next/server/app/maintenance/page_client-reference-manifest.js +1 -1
  55. package/app/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  56. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  57. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  58. package/app/.next/server/app/status/page_client-reference-manifest.js +1 -1
  59. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  60. package/app/.next/server/chunks/[root-of-the-server]__02uu1us._.js +1 -1
  61. package/app/.next/server/chunks/[root-of-the-server]__0c721a-._.js +1 -1
  62. package/app/.next/server/chunks/[root-of-the-server]__0ex164m._.js +1 -1
  63. package/app/.next/server/chunks/[root-of-the-server]__0qf7ta~._.js +1 -1
  64. package/app/.next/server/chunks/[root-of-the-server]__0s1dq3.._.js +1 -1
  65. package/app/.next/server/chunks/[root-of-the-server]__0tsl88m._.js +1 -1
  66. package/app/.next/server/chunks/[root-of-the-server]__0x_~cf-._.js +1 -1
  67. package/app/.next/server/chunks/[root-of-the-server]__111mvd5._.js +1 -1
  68. package/app/.next/server/chunks/_00.pgsp._.js +1 -1
  69. package/app/.next/server/chunks/_013gowh._.js +1 -1
  70. package/app/.next/server/chunks/_036lxbr._.js +1 -1
  71. package/app/.next/server/chunks/_05reh6o._.js +1 -1
  72. package/app/.next/server/chunks/_0a3.3sc._.js +1 -1
  73. package/app/.next/server/chunks/_0c.abwr._.js +1 -1
  74. package/app/.next/server/chunks/_0h-j8c2._.js +1 -1
  75. package/app/.next/server/chunks/_0k43pd6._.js +5 -5
  76. package/app/.next/server/chunks/_10.rw9f._.js +1 -1
  77. package/app/.next/server/chunks/src_lib_0j-wze8._.js +1 -1
  78. package/app/.next/server/chunks/src_lib_db_core_ts_0aifyrs._.js +2 -2
  79. package/app/.next/server/chunks/src_lib_db_core_ts_0naqwwu._.js +6 -6
  80. package/app/.next/server/chunks/src_lib_db_core_ts_0~nrtni._.js +6 -6
  81. package/app/.next/server/chunks/ssr/_008ht2n._.js +1 -1
  82. package/app/.next/server/chunks/ssr/_0oo1f90._.js +1 -1
  83. package/app/.next/server/chunks/ssr/src_lib_db_core_ts_0a4mjaw._.js +1 -1
  84. package/app/.next/server/middleware-build-manifest.js +3 -3
  85. package/app/.next/server/pages/500.html +1 -1
  86. package/app/.next/server/server-reference-manifest.js +1 -1
  87. package/app/.next/server/server-reference-manifest.json +1 -1
  88. package/app/.next/static/chunks/{0z77gqz0h9srz.js → 0vau7j_kpzwkc.js} +1 -1
  89. package/app/CHANGELOG.md +17 -0
  90. package/app/README.md +4 -0
  91. package/app/docker-compose.prod.yml +1 -0
  92. package/app/docker-compose.yml +1 -0
  93. package/app/docs/i18n/zh-CN/README.md +4 -0
  94. package/app/docs/openapi.yaml +1 -1
  95. package/app/open-sse/package.json +1 -1
  96. package/app/open-sse/translator/index.ts +9 -0
  97. package/app/open-sse/translator/response/openai-responses.ts +17 -4
  98. package/app/package-lock.json +3 -3
  99. package/app/package.json +1 -1
  100. package/app/src/app/api/restart/route.ts +2 -2
  101. package/app/src/app/api/shutdown/route.ts +1 -1
  102. package/app/src/lib/db/core.ts +36 -5
  103. package/app/src/lib/gracefulShutdown.ts +3 -5
  104. package/app/tests/unit/fixes-p1.test.mjs +76 -0
  105. package/app/tests/unit/responses-translation-fixes.test.mjs +3 -1
  106. package/package.json +1 -1
  107. /package/app/.next/static/{FON4TJvqiYocduWLr9KDp → KbjOFkfScJgP8s3aOWBvF}/_buildManifest.js +0 -0
  108. /package/app/.next/static/{FON4TJvqiYocduWLr9KDp → KbjOFkfScJgP8s3aOWBvF}/_clientMiddlewareManifest.js +0 -0
  109. /package/app/.next/static/{FON4TJvqiYocduWLr9KDp → KbjOFkfScJgP8s3aOWBvF}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},442315,(e,t,r)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,r)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,r)=>{"use strict";var s=Object.defineProperty,a=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,i={},l={RequestCookies:()=>m,ResponseCookies:()=>g,parseCookie:()=>d,parseSetCookie:()=>p,stringifyCookie:()=>c};for(var u in l)s(i,u,{get:l[u],enumerable:!0});function c(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),s=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?s:`${s}; ${r.join("; ")}`}function d(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[s,a]=[r.slice(0,e),r.slice(e+1)];try{t.set(s,decodeURIComponent(null!=a?a:"true"))}catch{}}return t}function p(e){if(!e)return;let[[t,r],...s]=d(e),{domain:a,expires:n,httponly:o,maxage:i,path:l,samesite:u,secure:c,partitioned:p,priority:m}=Object.fromEntries(s.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,x,v={name:t,value:decodeURIComponent(r),domain:a,...n&&{expires:new Date(n)},...o&&{httpOnly:!0},..."string"==typeof i&&{maxAge:Number(i)},path:l,...u&&{sameSite:h.includes(g=(g=u).toLowerCase())?g:void 0},...c&&{secure:!0},...m&&{priority:f.includes(x=(x=m).toLowerCase())?x:void 0},...p&&{partitioned:!0}};let e={};for(let t in v)v[t]&&(e[t]=v[t]);return e}}t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of n(t))o.call(e,i)||void 0===i||s(e,i,{get:()=>t[i],enumerable:!(r=a(t,i))||r.enumerable});return e})(s({},"__esModule",{value:!0}),i);var h=["strict","lax","none"],f=["low","medium","high"],m=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of d(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let s="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===s).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,s=this._parsed;return s.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(s).map(([e,t])=>c(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>c(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},g=class{constructor(e){var t,r,s;this._parsed=new Map,this._headers=e;const a=null!=(s=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?s:[];for(const e of Array.isArray(a)?a:function(e){if(!e)return[];var t,r,s,a,n,o=[],i=0;function l(){for(;i<e.length&&/\s/.test(e.charAt(i));)i+=1;return i<e.length}for(;i<e.length;){for(t=i,n=!1;l();)if(","===(r=e.charAt(i))){for(s=i,i+=1,l(),a=i;i<e.length&&"="!==(r=e.charAt(i))&&";"!==r&&","!==r;)i+=1;i<e.length&&"="===e.charAt(i)?(n=!0,i=a,o.push(e.substring(t,s)),t=i):i=s+1}else i+=1;(!n||i>=e.length)&&o.push(e.substring(t,e.length))}return o}(a)){const t=p(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let s="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===s)}has(e){return this._parsed.has(e)}set(...e){let[t,r,s]=1===e.length?[e[0].name,e[0].value,e[0]]:e,a=this._parsed;return a.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...s})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=c(r);t.append("set-cookie",e)}}(a,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(c).join("; ")}}},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},256770,e=>{"use strict";var t=e.i(814747),r=e.i(446786);let s="omniroute";function a(){try{return r.default.homedir()}catch{return process.cwd()}}function n(e){if("string"!=typeof e)return null;let r=e.trim();return r?t.default.resolve(r):null}function o(){return t.default.join(a(),`.${s}`)}e.s(["getLegacyDotDataDir",0,o,"isSamePath",0,function(e,r){return!!e&&!!r&&t.default.resolve(e)===t.default.resolve(r)},"resolveDataDir",0,function({isCloud:e=!1}={}){let r;if(e)return"/tmp";let i=n(process.env.DATA_DIR);return i?i:(a(),(r=n(process.env.XDG_CONFIG_HOME))?t.default.join(r,s):o())}])},97793,e=>{"use strict";let t=new Set(["host","connection","content-length","keep-alive","proxy-connection","transfer-encoding","te","trailer","upgrade"].map(e=>e.toLowerCase()));e.s(["isForbiddenUpstreamHeaderName",0,function(e){return t.has(String(e).trim().toLowerCase())}])},677850,e=>e.a(async(t,r)=>{try{let t=await e.y("zod");e.n(t),r()}catch(e){r(e)}},!0),200392,e=>e.a(async(t,r)=>{try{var s=e.i(677850),a=t([s]);[s]=a.then?(await a)():a,s.z.object({password:s.z.string().min(1,"Password is required").max(200)}),e.s(["isValidationFailure",0,function(e){return!1===e.success},"validateBody",0,function(e,t){let r=e.safeParse(t);if(r.success)return{success:!0,data:r.data};let s=Array.isArray(r.error?.issues)?r.error.issues:[];return{success:!1,error:{message:"Invalid request",details:s.map(e=>({field:e.path.join("."),message:e.message}))}}}]),r()}catch(e){r(e)}},!1),41244,e=>{"use strict";e.s(["HIDEABLE_SIDEBAR_ITEM_IDS",0,["home","endpoints","api-manager","providers","combos","auto-combo","costs","analytics","limits","cache","cli-tools","agents","translator","playground","media","search-tools","health","logs","audit","settings","docs","issues"]])},520179,e=>e.a(async(t,r)=>{try{var s=e.i(745015),a=e.i(89171),n=e.i(841788),o=e.i(266240),i=e.i(676088),l=e.i(200392),u=e.i(195975),c=t([i,l]);[i,l]=c.then?(await c)():c;let f=["claude","codex","droid","openclaw","cline","kilo"];async function d(e){try{let{searchParams:t}=new URL(e.url),r=t.get("tool")||t.get("toolId");if(r&&!f.includes(r))return a.NextResponse.json({error:`Invalid tool: ${r}`},{status:400});if(r){let e=await (0,n.listBackups)(r);return a.NextResponse.json({tool:r,backups:e})}let s={};for(let e of f)s[e]=await (0,n.listBackups)(e);return a.NextResponse.json({backups:s})}catch(e){return console.log("Error listing backups:",e.message),a.NextResponse.json({error:"Failed to list backups"},{status:500})}}async function p(e){let t;try{t=await e.json()}catch{return a.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,o.ensureCliConfigWriteAllowed)();if(e)return a.NextResponse.json({error:e},{status:403});let r=(0,l.validateBody)(i.cliBackupMutationSchema,t);if((0,l.isValidationFailure)(r))return a.NextResponse.json({error:r.error},{status:400});let s=r.data.tool||r.data.toolId,{backupId:u}=r.data;if(!f.includes(s))return a.NextResponse.json({error:`Invalid tool: ${s}`},{status:400});let c=await (0,n.restoreBackup)(s,u);return a.NextResponse.json({success:!0,message:`Backup restored for ${s}`,...c})}catch(e){return console.log("Error restoring backup:",e.message),a.NextResponse.json({error:e.message||"Failed to restore backup"},{status:500})}}async function h(e){let t;try{t=await e.json()}catch{return a.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,l.validateBody)(i.cliBackupMutationSchema,t);if((0,l.isValidationFailure)(e))return a.NextResponse.json({error:e.error},{status:400});let r=e.data.tool||e.data.toolId,{backupId:s}=e.data;if(!f.includes(r))return a.NextResponse.json({error:`Invalid tool: ${r}`},{status:400});let o=await (0,n.deleteBackup)(r,s);return a.NextResponse.json({success:!0,message:`Backup deleted for ${r}`,...o})}catch(e){return console.log("Error deleting backup:",e.message),a.NextResponse.json({error:"Failed to delete backup"},{status:500})}}(0,u.ensureServerEntryExports)([d,p,h]),(0,s.registerServerReference)(d,"40b126108da326686c55887f6836457bbf25a9cf4a",null),(0,s.registerServerReference)(p,"4072ca1dce6cdd72e582e9dcb2d26d439450c4d507",null),(0,s.registerServerReference)(h,"40110995f00a0c6818b89c43bfac4275cd37cf83f9",null),e.s(["DELETE",0,h,"GET",0,d,"POST",0,p]),r()}catch(e){r(e)}},!1),642665,e=>e.a(async(t,r)=>{try{var s=e.i(747909),a=e.i(174017),n=e.i(996250),o=e.i(759756),i=e.i(561916),l=e.i(174677),u=e.i(869741),c=e.i(316795),d=e.i(487718),p=e.i(995169),h=e.i(47587),f=e.i(666012),m=e.i(570101),g=e.i(626937),x=e.i(10372),v=e.i(193695);e.i(820232);var y=e.i(600220),R=e.i(520179),w=t([R]);[R]=w.then?(await w)():w;let A=new s.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/cli-tools/backups/route",pathname:"/api/cli-tools/backups",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/backups/route.ts",nextConfigOutput:"standalone",userland:R,...{}}),{workAsyncStorage:E,workUnitAsyncStorage:C,serverHooks:k}=A;async function b(e,t,r){r.requestMeta&&(0,o.setRequestMeta)(e,r.requestMeta),A.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/cli-tools/backups/route";s=s.replace(/\/index$/,"")||"/";let n=await A.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,params:w,nextConfig:b,parsedUrl:E,isDraftMode:C,prerenderManifest:k,routerServerContext:_,isOnDemandRevalidate:S,revalidateOnlyGenerated:j,resolvedPathname:N,clientReferenceManifest:O,serverActionsManifest:I}=n,P=(0,u.normalizeAppPath)(s),q=!!(k.dynamicRoutes[P]||k.routes[N]),D=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,E,!1):t.end("This page could not be found"),null);if(q&&!C){let e=!!k.routes[N],t=k.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await D();throw new v.NoFallbackError}}let T=null;!q||A.isDev||C||(T=N,T="/index"===T?"/":T);let $=!0===A.isDev||!q,M=q&&!$;I&&O&&(0,l.setManifestsSingleton)({page:s,clientReferenceManifest:O,serverActionsManifest:I});let U=e.method||"GET",H=(0,i.getTracer)(),B=H.getActiveScopeSpan(),F=!!(null==_?void 0:_.isWrappedByNextServer),L=!!(0,o.getRequestMeta)(e,"minimalMode"),K=(0,o.getRequestMeta)(e,"incrementalCache")||await A.getIncrementalCache(e,b,k,L);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let z={params:w,previewProps:k.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:$,incrementalCache:K,cacheLifeProfiles:b.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>A.onRequestError(e,t,s,a,_)},sharedContext:{buildId:R}},G=new c.NodeNextRequest(e),V=new c.NodeNextResponse(t),J=d.NextRequestAdapter.fromNodeNextRequest(G,(0,d.signalFromNodeResponse)(t));try{let n,o=async e=>A.handle(J,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.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 a=r.get("next.route");if(a){let t=`${U} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${U} ${s}`)}),l=async n=>{var i,l;let u=async({previousCacheEntry:a})=>{try{if(!L&&S&&j&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(n);e.fetchMetrics=z.renderOpts.fetchMetrics;let i=z.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let l=z.renderOpts.collectedTags;if(!q)return await (0,f.sendResponse)(G,V,s,z.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[x.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,a=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==a?void 0:a.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:S})},!1,_),t}},c=await A.handleResponse({req:e,nextConfig:b,cacheKey:T,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:j,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:L});if(!q)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.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"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,m.fromNodeOutgoingHttpHeaders)(c.value.headers);return L&&q||d.delete(x.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,f.sendResponse)(G,V,new Response(c.value.body,{headers:d,status:c.value.status||200})),null};F&&B?await l(B):(n=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${s}`,kind:i.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l),void 0,!F))}catch(t){if(t instanceof v.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:S})},!1,_),q)throw t;return await (0,f.sendResponse)(G,V,new Response(null,{status:500})),null}}e.s(["handler",0,b,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:C})},"routeModule",0,A,"serverHooks",0,k,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,C]),r()}catch(e){r(e)}},!1)];
1
+ module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},442315,(e,t,r)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,r)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,r)=>{"use strict";var s=Object.defineProperty,a=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,i={},l={RequestCookies:()=>m,ResponseCookies:()=>g,parseCookie:()=>d,parseSetCookie:()=>p,stringifyCookie:()=>c};for(var u in l)s(i,u,{get:l[u],enumerable:!0});function c(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),s=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?s:`${s}; ${r.join("; ")}`}function d(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[s,a]=[r.slice(0,e),r.slice(e+1)];try{t.set(s,decodeURIComponent(null!=a?a:"true"))}catch{}}return t}function p(e){if(!e)return;let[[t,r],...s]=d(e),{domain:a,expires:n,httponly:o,maxage:i,path:l,samesite:u,secure:c,partitioned:p,priority:m}=Object.fromEntries(s.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,x,v={name:t,value:decodeURIComponent(r),domain:a,...n&&{expires:new Date(n)},...o&&{httpOnly:!0},..."string"==typeof i&&{maxAge:Number(i)},path:l,...u&&{sameSite:h.includes(g=(g=u).toLowerCase())?g:void 0},...c&&{secure:!0},...m&&{priority:f.includes(x=(x=m).toLowerCase())?x:void 0},...p&&{partitioned:!0}};let e={};for(let t in v)v[t]&&(e[t]=v[t]);return e}}t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of n(t))o.call(e,i)||void 0===i||s(e,i,{get:()=>t[i],enumerable:!(r=a(t,i))||r.enumerable});return e})(s({},"__esModule",{value:!0}),i);var h=["strict","lax","none"],f=["low","medium","high"],m=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of d(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let s="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===s).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,s=this._parsed;return s.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(s).map(([e,t])=>c(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>c(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},g=class{constructor(e){var t,r,s;this._parsed=new Map,this._headers=e;const a=null!=(s=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?s:[];for(const e of Array.isArray(a)?a:function(e){if(!e)return[];var t,r,s,a,n,o=[],i=0;function l(){for(;i<e.length&&/\s/.test(e.charAt(i));)i+=1;return i<e.length}for(;i<e.length;){for(t=i,n=!1;l();)if(","===(r=e.charAt(i))){for(s=i,i+=1,l(),a=i;i<e.length&&"="!==(r=e.charAt(i))&&";"!==r&&","!==r;)i+=1;i<e.length&&"="===e.charAt(i)?(n=!0,i=a,o.push(e.substring(t,s)),t=i):i=s+1}else i+=1;(!n||i>=e.length)&&o.push(e.substring(t,e.length))}return o}(a)){const t=p(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let s="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===s)}has(e){return this._parsed.has(e)}set(...e){let[t,r,s]=1===e.length?[e[0].name,e[0].value,e[0]]:e,a=this._parsed;return a.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...s})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=c(r);t.append("set-cookie",e)}}(a,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(c).join("; ")}}},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},256770,e=>{"use strict";var t=e.i(814747),r=e.i(446786);let s="omniroute";function a(){try{return r.default.homedir()}catch{return process.cwd()}}function n(e){if("string"!=typeof e)return null;let r=e.trim();return r?t.default.resolve(r):null}function o(){return t.default.join(a(),`.${s}`)}e.s(["getLegacyDotDataDir",0,o,"isSamePath",0,function(e,r){return!!e&&!!r&&t.default.resolve(e)===t.default.resolve(r)},"resolveDataDir",0,function({isCloud:e=!1}={}){let r;if(e)return"/tmp";let i=n(process.env.DATA_DIR);return i?i:(a(),(r=n(process.env.XDG_CONFIG_HOME))?t.default.join(r,s):o())}])},97793,e=>{"use strict";let t=new Set(["host","connection","content-length","keep-alive","proxy-connection","transfer-encoding","te","trailer","upgrade"].map(e=>e.toLowerCase()));e.s(["isForbiddenUpstreamHeaderName",0,function(e){return t.has(String(e).trim().toLowerCase())}])},677850,e=>e.a(async(t,r)=>{try{let t=await e.y("zod");e.n(t),r()}catch(e){r(e)}},!0),200392,e=>e.a(async(t,r)=>{try{var s=e.i(677850),a=t([s]);[s]=a.then?(await a)():a,s.z.object({password:s.z.string().min(1,"Password is required").max(200)}),e.s(["isValidationFailure",0,function(e){return!1===e.success},"validateBody",0,function(e,t){let r=e.safeParse(t);if(r.success)return{success:!0,data:r.data};let s=Array.isArray(r.error?.issues)?r.error.issues:[];return{success:!1,error:{message:"Invalid request",details:s.map(e=>({field:e.path.join("."),message:e.message}))}}}]),r()}catch(e){r(e)}},!1),41244,e=>{"use strict";e.s(["HIDEABLE_SIDEBAR_ITEM_IDS",0,["home","endpoints","api-manager","providers","combos","auto-combo","costs","analytics","limits","cache","cli-tools","agents","translator","playground","media","search-tools","health","logs","audit","settings","docs","issues"]])},520179,e=>e.a(async(t,r)=>{try{var s=e.i(745015),a=e.i(89171),n=e.i(841788),o=e.i(266240),i=e.i(676088),l=e.i(200392),u=e.i(195975),c=t([i,l]);[i,l]=c.then?(await c)():c;let f=["claude","codex","droid","openclaw","cline","kilo"];async function d(e){try{let{searchParams:t}=new URL(e.url),r=t.get("tool")||t.get("toolId");if(r&&!f.includes(r))return a.NextResponse.json({error:`Invalid tool: ${r}`},{status:400});if(r){let e=await (0,n.listBackups)(r);return a.NextResponse.json({tool:r,backups:e})}let s={};for(let e of f)s[e]=await (0,n.listBackups)(e);return a.NextResponse.json({backups:s})}catch(e){return console.log("Error listing backups:",e.message),a.NextResponse.json({error:"Failed to list backups"},{status:500})}}async function p(e){let t;try{t=await e.json()}catch{return a.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,o.ensureCliConfigWriteAllowed)();if(e)return a.NextResponse.json({error:e},{status:403});let r=(0,l.validateBody)(i.cliBackupMutationSchema,t);if((0,l.isValidationFailure)(r))return a.NextResponse.json({error:r.error},{status:400});let s=r.data.tool||r.data.toolId,{backupId:u}=r.data;if(!f.includes(s))return a.NextResponse.json({error:`Invalid tool: ${s}`},{status:400});let c=await (0,n.restoreBackup)(s,u);return a.NextResponse.json({success:!0,message:`Backup restored for ${s}`,...c})}catch(e){return console.log("Error restoring backup:",e.message),a.NextResponse.json({error:e.message||"Failed to restore backup"},{status:500})}}async function h(e){let t;try{t=await e.json()}catch{return a.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,l.validateBody)(i.cliBackupMutationSchema,t);if((0,l.isValidationFailure)(e))return a.NextResponse.json({error:e.error},{status:400});let r=e.data.tool||e.data.toolId,{backupId:s}=e.data;if(!f.includes(r))return a.NextResponse.json({error:`Invalid tool: ${r}`},{status:400});let o=await (0,n.deleteBackup)(r,s);return a.NextResponse.json({success:!0,message:`Backup deleted for ${r}`,...o})}catch(e){return console.log("Error deleting backup:",e.message),a.NextResponse.json({error:"Failed to delete backup"},{status:500})}}(0,u.ensureServerEntryExports)([d,p,h]),(0,s.registerServerReference)(d,"4083ee7acf910c150cfb135761edcce4fc3f2bb805",null),(0,s.registerServerReference)(p,"40a4142610f35235a3fc741029649c102e35e994d1",null),(0,s.registerServerReference)(h,"40676d565535b54405690c761f8d132bef841059da",null),e.s(["DELETE",0,h,"GET",0,d,"POST",0,p]),r()}catch(e){r(e)}},!1),642665,e=>e.a(async(t,r)=>{try{var s=e.i(747909),a=e.i(174017),n=e.i(996250),o=e.i(759756),i=e.i(561916),l=e.i(174677),u=e.i(869741),c=e.i(316795),d=e.i(487718),p=e.i(995169),h=e.i(47587),f=e.i(666012),m=e.i(570101),g=e.i(626937),x=e.i(10372),v=e.i(193695);e.i(820232);var y=e.i(600220),R=e.i(520179),w=t([R]);[R]=w.then?(await w)():w;let A=new s.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/cli-tools/backups/route",pathname:"/api/cli-tools/backups",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/backups/route.ts",nextConfigOutput:"standalone",userland:R,...{}}),{workAsyncStorage:E,workUnitAsyncStorage:C,serverHooks:k}=A;async function b(e,t,r){r.requestMeta&&(0,o.setRequestMeta)(e,r.requestMeta),A.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/cli-tools/backups/route";s=s.replace(/\/index$/,"")||"/";let n=await A.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,params:w,nextConfig:b,parsedUrl:E,isDraftMode:C,prerenderManifest:k,routerServerContext:_,isOnDemandRevalidate:S,revalidateOnlyGenerated:j,resolvedPathname:N,clientReferenceManifest:O,serverActionsManifest:I}=n,P=(0,u.normalizeAppPath)(s),q=!!(k.dynamicRoutes[P]||k.routes[N]),D=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,E,!1):t.end("This page could not be found"),null);if(q&&!C){let e=!!k.routes[N],t=k.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await D();throw new v.NoFallbackError}}let T=null;!q||A.isDev||C||(T=N,T="/index"===T?"/":T);let $=!0===A.isDev||!q,M=q&&!$;I&&O&&(0,l.setManifestsSingleton)({page:s,clientReferenceManifest:O,serverActionsManifest:I});let U=e.method||"GET",H=(0,i.getTracer)(),B=H.getActiveScopeSpan(),F=!!(null==_?void 0:_.isWrappedByNextServer),L=!!(0,o.getRequestMeta)(e,"minimalMode"),K=(0,o.getRequestMeta)(e,"incrementalCache")||await A.getIncrementalCache(e,b,k,L);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let z={params:w,previewProps:k.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:$,incrementalCache:K,cacheLifeProfiles:b.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>A.onRequestError(e,t,s,a,_)},sharedContext:{buildId:R}},G=new c.NodeNextRequest(e),V=new c.NodeNextResponse(t),J=d.NextRequestAdapter.fromNodeNextRequest(G,(0,d.signalFromNodeResponse)(t));try{let n,o=async e=>A.handle(J,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.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 a=r.get("next.route");if(a){let t=`${U} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${U} ${s}`)}),l=async n=>{var i,l;let u=async({previousCacheEntry:a})=>{try{if(!L&&S&&j&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(n);e.fetchMetrics=z.renderOpts.fetchMetrics;let i=z.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let l=z.renderOpts.collectedTags;if(!q)return await (0,f.sendResponse)(G,V,s,z.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[x.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,a=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==a?void 0:a.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:S})},!1,_),t}},c=await A.handleResponse({req:e,nextConfig:b,cacheKey:T,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:j,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:L});if(!q)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.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"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,m.fromNodeOutgoingHttpHeaders)(c.value.headers);return L&&q||d.delete(x.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,f.sendResponse)(G,V,new Response(c.value.body,{headers:d,status:c.value.status||200})),null};F&&B?await l(B):(n=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${s}`,kind:i.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l),void 0,!F))}catch(t){if(t instanceof v.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:S})},!1,_),q)throw t;return await (0,f.sendResponse)(G,V,new Response(null,{status:500})),null}}e.s(["handler",0,b,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:C})},"routeModule",0,A,"serverHooks",0,k,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,C]),r()}catch(e){r(e)}},!1)];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__0s1dq3.._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},442315,(e,t,r)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,r)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,r)=>{"use strict";var n=Object.defineProperty,a=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o={},l={RequestCookies:()=>m,ResponseCookies:()=>g,parseCookie:()=>p,parseSetCookie:()=>c,stringifyCookie:()=>d};for(var u in l)n(o,u,{get:l[u],enumerable:!0});function d(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),n=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?n:`${n}; ${r.join("; ")}`}function p(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[n,a]=[r.slice(0,e),r.slice(e+1)];try{t.set(n,decodeURIComponent(null!=a?a:"true"))}catch{}}return t}function c(e){if(!e)return;let[[t,r],...n]=p(e),{domain:a,expires:s,httponly:i,maxage:o,path:l,samesite:u,secure:d,partitioned:c,priority:m}=Object.fromEntries(n.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,v,x={name:t,value:decodeURIComponent(r),domain:a,...s&&{expires:new Date(s)},...i&&{httpOnly:!0},..."string"==typeof o&&{maxAge:Number(o)},path:l,...u&&{sameSite:h.includes(g=(g=u).toLowerCase())?g:void 0},...d&&{secure:!0},...m&&{priority:f.includes(v=(v=m).toLowerCase())?v:void 0},...c&&{partitioned:!0}};let e={};for(let t in x)x[t]&&(e[t]=x[t]);return e}}t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of s(t))i.call(e,o)||void 0===o||n(e,o,{get:()=>t[o],enumerable:!(r=a(t,o))||r.enumerable});return e})(n({},"__esModule",{value:!0}),o);var h=["strict","lax","none"],f=["low","medium","high"],m=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of p(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===n).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,n=this._parsed;return n.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(n).map(([e,t])=>d(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>d(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},g=class{constructor(e){var t,r,n;this._parsed=new Map,this._headers=e;const a=null!=(n=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?n:[];for(const e of Array.isArray(a)?a:function(e){if(!e)return[];var t,r,n,a,s,i=[],o=0;function l(){for(;o<e.length&&/\s/.test(e.charAt(o));)o+=1;return o<e.length}for(;o<e.length;){for(t=o,s=!1;l();)if(","===(r=e.charAt(o))){for(n=o,o+=1,l(),a=o;o<e.length&&"="!==(r=e.charAt(o))&&";"!==r&&","!==r;)o+=1;o<e.length&&"="===e.charAt(o)?(s=!0,o=a,i.push(e.substring(t,n)),t=o):o=n+1}else o+=1;(!s||o>=e.length)&&i.push(e.substring(t,e.length))}return i}(a)){const t=c(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===n)}has(e){return this._parsed.has(e)}set(...e){let[t,r,n]=1===e.length?[e[0].name,e[0].value,e[0]]:e,a=this._parsed;return a.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...n})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=d(r);t.append("set-cookie",e)}}(a,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(d).join("; ")}}},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},785148,(e,t,r)=>{t.exports=e.x("better-sqlite3",()=>require("better-sqlite3"))},792509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},256770,e=>{"use strict";var t=e.i(814747),r=e.i(446786);let n="omniroute";function a(){try{return r.default.homedir()}catch{return process.cwd()}}function s(e){if("string"!=typeof e)return null;let r=e.trim();return r?t.default.resolve(r):null}function i(){return t.default.join(a(),`.${n}`)}e.s(["getLegacyDotDataDir",0,i,"isSamePath",0,function(e,r){return!!e&&!!r&&t.default.resolve(e)===t.default.resolve(r)},"resolveDataDir",0,function({isCloud:e=!1}={}){let r;if(e)return"/tmp";let o=s(process.env.DATA_DIR);return o?o:(a(),(r=s(process.env.XDG_CONFIG_HOME))?t.default.join(r,n):i())}])},90100,e=>{"use strict";function t(e,t){if(!e)return t;let r=Number.parseInt(String(e),10);return!Number.isFinite(r)||r<1||r>65535?t:r}e.s(["getRuntimePorts",0,function(){let e=t(process.env.OMNIROUTE_PORT||process.env.PORT,20128),r=!!process.env.API_PORT,n=!!process.env.DASHBOARD_PORT;return{port:e,apiPort:t(process.env.API_PORT,e),dashboardPort:t(process.env.DASHBOARD_PORT,e),apiPortExplicit:r,dashboardPortExplicit:n}}])},240867,e=>{"use strict";var t=e.i(747909),r=e.i(174017),n=e.i(996250),a=e.i(759756),s=e.i(561916),i=e.i(174677),o=e.i(869741),l=e.i(316795),u=e.i(487718),d=e.i(995169),p=e.i(47587),c=e.i(666012),h=e.i(570101),f=e.i(626937),m=e.i(10372),g=e.i(193695);e.i(820232);var v=e.i(600220),x=e.i(745015),y=e.i(89171),R=e.i(924868),w=e.i(266240),_=e.i(197892),b=e.i(90100),A=e.i(195975);let{apiPort:C}=(0,b.getRuntimePorts)();async function O(e){try{let t=(0,w.getCliPrimaryConfigPath)(e);if(!t)return"unknown";let r=await R.default.readFile(t,"utf-8"),n=JSON.parse(r);switch(e){case"claude":return n?.env?.ANTHROPIC_BASE_URL?"configured":"not_configured";case"codex":return n?.providers?.omniroute||n?.providers?.["openai-compatible"]?"configured":"not_configured";case"droid":case"openclaw":case"cline":case"kilo":let a=JSON.stringify(n).toLowerCase();return a.includes("omniroute")||a.includes("sk_omniroute")||a.includes(`localhost:${C}`)||a.includes(`127.0.0.1:${C}`)?"configured":"not_configured";default:return"unknown"}}catch{return"not_configured"}}async function E(){try{let e={};await Promise.all(w.CLI_TOOL_IDS.map(async t=>{try{let r=await Promise.race([(0,w.getCliRuntimeStatus)(t),new Promise((e,t)=>setTimeout(()=>t(Error("Timeout")),5e3))]);e[t]={installed:r.installed,runnable:r.runnable,command:r.command,commandPath:r.commandPath,reason:r.reason||null}}catch(r){e[t]={installed:!1,runnable:!1,reason:r.message||"Check failed"}}})),await Promise.all(["claude","codex","droid","openclaw","cline","kilo"].map(async t=>{if(e[t]){if(!e[t].installed||!e[t].runnable){e[t].configStatus="not_installed";return}e[t].configStatus=await O(t)}}));try{let t=(0,_.getAllCliToolLastConfigured)();for(let[r,n]of Object.entries(t))e[r]&&(e[r].lastConfiguredAt=n)}catch{}return y.NextResponse.json(e)}catch(e){return console.log("Error fetching CLI tool statuses:",e),y.NextResponse.json({error:"Failed to fetch statuses"},{status:500})}}(0,A.ensureServerEntryExports)([E]),(0,x.registerServerReference)(E,"0036fe12ead68d43270cdbefbd5a671d7059d30068",null),e.s(["GET",0,E],84799);var P=e.i(84799);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/cli-tools/status/route",pathname:"/api/cli-tools/status",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/status/route.ts",nextConfigOutput:"standalone",userland:P,...{}}),{workAsyncStorage:k,workUnitAsyncStorage:T,serverHooks:N}=S;async function j(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),S.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/cli-tools/status/route";x=x.replace(/\/index$/,"")||"/";let y=await S.prepare(e,t,{srcPage:x,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:R,params:w,nextConfig:_,parsedUrl:b,isDraftMode:A,prerenderManifest:C,routerServerContext:O,isOnDemandRevalidate:E,revalidateOnlyGenerated:P,resolvedPathname:k,clientReferenceManifest:T,serverActionsManifest:N}=y,j=(0,o.normalizeAppPath)(x),D=!!(C.dynamicRoutes[j]||C.routes[k]),q=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,b,!1):t.end("This page could not be found"),null);if(D&&!A){let e=!!C.routes[k],t=C.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(_.adapterPath)return await q();throw new g.NoFallbackError}}let I=null;!D||S.isDev||A||(I="/index"===(I=k)?"/":I);let $=!0===S.isDev||!D,U=D&&!$;N&&T&&(0,i.setManifestsSingleton)({page:x,clientReferenceManifest:T,serverActionsManifest:N});let H=e.method||"GET",M=(0,s.getTracer)(),L=M.getActiveScopeSpan(),F=!!(null==O?void 0:O.isWrappedByNextServer),B=!!(0,a.getRequestMeta)(e,"minimalMode"),K=(0,a.getRequestMeta)(e,"incrementalCache")||await S.getIncrementalCache(e,_,C,B);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let G={params:w,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:$,incrementalCache:K,cacheLifeProfiles:_.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>S.onRequestError(e,t,n,a,O)},sharedContext:{buildId:R}},J=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),z=u.NextRequestAdapter.fromNodeNextRequest(J,(0,u.signalFromNodeResponse)(t));try{let a,i=async e=>S.handle(z,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.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),a&&a!==e&&(a.setAttribute("http.route",n),a.updateName(t))}else e.updateName(`${H} ${x}`)}),o=async a=>{var s,o;let l=async({previousCacheEntry:r})=>{try{if(!B&&E&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(a);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&n.waitUntil&&(n.waitUntil(o),o=void 0);let l=G.renderOpts.collectedTags;if(!D)return await (0,c.sendResponse)(J,X,s,G.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,n=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:E})},!1,O),t}},u=await S.handleResponse({req:e,nextConfig:_,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:P,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:B});if(!D)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",E?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return B&&D||d.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)(J,X,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};F&&L?await o(L):(a=M.getActiveScopeSpan(),await M.withPropagatedContext(e.headers,()=>M.trace(d.BaseServerSpan.handleRequest,{spanName:`${H} ${x}`,kind:s.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},o),void 0,!F))}catch(t){if(t instanceof g.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:E})},!1,O),D)throw t;return await (0,c.sendResponse)(J,X,new Response(null,{status:500})),null}}e.s(["handler",0,j,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:T})},"routeModule",0,S,"serverHooks",0,N,"workAsyncStorage",0,k,"workUnitAsyncStorage",0,T],240867)}];
1
+ module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},442315,(e,t,r)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,r)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,r)=>{"use strict";var n=Object.defineProperty,a=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o={},l={RequestCookies:()=>m,ResponseCookies:()=>g,parseCookie:()=>d,parseSetCookie:()=>c,stringifyCookie:()=>p};for(var u in l)n(o,u,{get:l[u],enumerable:!0});function p(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),n=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?n:`${n}; ${r.join("; ")}`}function d(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[n,a]=[r.slice(0,e),r.slice(e+1)];try{t.set(n,decodeURIComponent(null!=a?a:"true"))}catch{}}return t}function c(e){if(!e)return;let[[t,r],...n]=d(e),{domain:a,expires:s,httponly:i,maxage:o,path:l,samesite:u,secure:p,partitioned:c,priority:m}=Object.fromEntries(n.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,v,x={name:t,value:decodeURIComponent(r),domain:a,...s&&{expires:new Date(s)},...i&&{httpOnly:!0},..."string"==typeof o&&{maxAge:Number(o)},path:l,...u&&{sameSite:h.includes(g=(g=u).toLowerCase())?g:void 0},...p&&{secure:!0},...m&&{priority:f.includes(v=(v=m).toLowerCase())?v:void 0},...c&&{partitioned:!0}};let e={};for(let t in x)x[t]&&(e[t]=x[t]);return e}}t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of s(t))i.call(e,o)||void 0===o||n(e,o,{get:()=>t[o],enumerable:!(r=a(t,o))||r.enumerable});return e})(n({},"__esModule",{value:!0}),o);var h=["strict","lax","none"],f=["low","medium","high"],m=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of d(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===n).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,n=this._parsed;return n.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(n).map(([e,t])=>p(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>p(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},g=class{constructor(e){var t,r,n;this._parsed=new Map,this._headers=e;const a=null!=(n=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?n:[];for(const e of Array.isArray(a)?a:function(e){if(!e)return[];var t,r,n,a,s,i=[],o=0;function l(){for(;o<e.length&&/\s/.test(e.charAt(o));)o+=1;return o<e.length}for(;o<e.length;){for(t=o,s=!1;l();)if(","===(r=e.charAt(o))){for(n=o,o+=1,l(),a=o;o<e.length&&"="!==(r=e.charAt(o))&&";"!==r&&","!==r;)o+=1;o<e.length&&"="===e.charAt(o)?(s=!0,o=a,i.push(e.substring(t,n)),t=o):o=n+1}else o+=1;(!s||o>=e.length)&&i.push(e.substring(t,e.length))}return i}(a)){const t=c(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===n)}has(e){return this._parsed.has(e)}set(...e){let[t,r,n]=1===e.length?[e[0].name,e[0].value,e[0]]:e,a=this._parsed;return a.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...n})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=p(r);t.append("set-cookie",e)}}(a,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(p).join("; ")}}},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},785148,(e,t,r)=>{t.exports=e.x("better-sqlite3",()=>require("better-sqlite3"))},792509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},256770,e=>{"use strict";var t=e.i(814747),r=e.i(446786);let n="omniroute";function a(){try{return r.default.homedir()}catch{return process.cwd()}}function s(e){if("string"!=typeof e)return null;let r=e.trim();return r?t.default.resolve(r):null}function i(){return t.default.join(a(),`.${n}`)}e.s(["getLegacyDotDataDir",0,i,"isSamePath",0,function(e,r){return!!e&&!!r&&t.default.resolve(e)===t.default.resolve(r)},"resolveDataDir",0,function({isCloud:e=!1}={}){let r;if(e)return"/tmp";let o=s(process.env.DATA_DIR);return o?o:(a(),(r=s(process.env.XDG_CONFIG_HOME))?t.default.join(r,n):i())}])},90100,e=>{"use strict";function t(e,t){if(!e)return t;let r=Number.parseInt(String(e),10);return!Number.isFinite(r)||r<1||r>65535?t:r}e.s(["getRuntimePorts",0,function(){let e=t(process.env.OMNIROUTE_PORT||process.env.PORT,20128),r=!!process.env.API_PORT,n=!!process.env.DASHBOARD_PORT;return{port:e,apiPort:t(process.env.API_PORT,e),dashboardPort:t(process.env.DASHBOARD_PORT,e),apiPortExplicit:r,dashboardPortExplicit:n}}])},240867,e=>{"use strict";var t=e.i(747909),r=e.i(174017),n=e.i(996250),a=e.i(759756),s=e.i(561916),i=e.i(174677),o=e.i(869741),l=e.i(316795),u=e.i(487718),p=e.i(995169),d=e.i(47587),c=e.i(666012),h=e.i(570101),f=e.i(626937),m=e.i(10372),g=e.i(193695);e.i(820232);var v=e.i(600220),x=e.i(745015),y=e.i(89171),R=e.i(924868),w=e.i(266240),b=e.i(197892),_=e.i(90100),A=e.i(195975);let{apiPort:C}=(0,_.getRuntimePorts)();async function O(e){try{let t=(0,w.getCliPrimaryConfigPath)(e);if(!t)return"unknown";let r=await R.default.readFile(t,"utf-8"),n=JSON.parse(r);switch(e){case"claude":return n?.env?.ANTHROPIC_BASE_URL?"configured":"not_configured";case"codex":return n?.providers?.omniroute||n?.providers?.["openai-compatible"]?"configured":"not_configured";case"droid":case"openclaw":case"cline":case"kilo":let a=JSON.stringify(n).toLowerCase();return a.includes("omniroute")||a.includes("sk_omniroute")||a.includes(`localhost:${C}`)||a.includes(`127.0.0.1:${C}`)?"configured":"not_configured";default:return"unknown"}}catch{return"not_configured"}}async function E(){try{let e={};await Promise.all(w.CLI_TOOL_IDS.map(async t=>{try{let r=await Promise.race([(0,w.getCliRuntimeStatus)(t),new Promise((e,t)=>setTimeout(()=>t(Error("Timeout")),5e3))]);e[t]={installed:r.installed,runnable:r.runnable,command:r.command,commandPath:r.commandPath,reason:r.reason||null}}catch(r){e[t]={installed:!1,runnable:!1,reason:r.message||"Check failed"}}})),await Promise.all(["claude","codex","droid","openclaw","cline","kilo"].map(async t=>{if(e[t]){if(!e[t].installed||!e[t].runnable){e[t].configStatus="not_installed";return}e[t].configStatus=await O(t)}}));try{let t=(0,b.getAllCliToolLastConfigured)();for(let[r,n]of Object.entries(t))e[r]&&(e[r].lastConfiguredAt=n)}catch{}return y.NextResponse.json(e)}catch(e){return console.log("Error fetching CLI tool statuses:",e),y.NextResponse.json({error:"Failed to fetch statuses"},{status:500})}}(0,A.ensureServerEntryExports)([E]),(0,x.registerServerReference)(E,"00bf2f8f1d420b418ecdb5321490257ba91a184bb7",null),e.s(["GET",0,E],84799);var P=e.i(84799);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/cli-tools/status/route",pathname:"/api/cli-tools/status",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/status/route.ts",nextConfigOutput:"standalone",userland:P,...{}}),{workAsyncStorage:k,workUnitAsyncStorage:T,serverHooks:N}=S;async function j(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),S.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/cli-tools/status/route";x=x.replace(/\/index$/,"")||"/";let y=await S.prepare(e,t,{srcPage:x,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:R,params:w,nextConfig:b,parsedUrl:_,isDraftMode:A,prerenderManifest:C,routerServerContext:O,isOnDemandRevalidate:E,revalidateOnlyGenerated:P,resolvedPathname:k,clientReferenceManifest:T,serverActionsManifest:N}=y,j=(0,o.normalizeAppPath)(x),D=!!(C.dynamicRoutes[j]||C.routes[k]),q=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,_,!1):t.end("This page could not be found"),null);if(D&&!A){let e=!!C.routes[k],t=C.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await q();throw new g.NoFallbackError}}let I=null;!D||S.isDev||A||(I="/index"===(I=k)?"/":I);let $=!0===S.isDev||!D,U=D&&!$;N&&T&&(0,i.setManifestsSingleton)({page:x,clientReferenceManifest:T,serverActionsManifest:N});let H=e.method||"GET",M=(0,s.getTracer)(),L=M.getActiveScopeSpan(),F=!!(null==O?void 0:O.isWrappedByNextServer),B=!!(0,a.getRequestMeta)(e,"minimalMode"),K=(0,a.getRequestMeta)(e,"incrementalCache")||await S.getIncrementalCache(e,b,C,B);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let G={params:w,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:$,incrementalCache:K,cacheLifeProfiles:b.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>S.onRequestError(e,t,n,a,O)},sharedContext:{buildId:R}},J=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),z=u.NextRequestAdapter.fromNodeNextRequest(J,(0,u.signalFromNodeResponse)(t));try{let a,i=async e=>S.handle(z,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.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=`${H} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",n),a.updateName(t))}else e.updateName(`${H} ${x}`)}),o=async a=>{var s,o;let l=async({previousCacheEntry:r})=>{try{if(!B&&E&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(a);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&n.waitUntil&&(n.waitUntil(o),o=void 0);let l=G.renderOpts.collectedTags;if(!D)return await (0,c.sendResponse)(J,X,s,G.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,n=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:E})},!1,O),t}},u=await S.handleResponse({req:e,nextConfig:b,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:P,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:B});if(!D)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",E?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return B&&D||p.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)(J,X,new Response(u.value.body,{headers:p,status:u.value.status||200})),null};F&&L?await o(L):(a=M.getActiveScopeSpan(),await M.withPropagatedContext(e.headers,()=>M.trace(p.BaseServerSpan.handleRequest,{spanName:`${H} ${x}`,kind:s.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},o),void 0,!F))}catch(t){if(t instanceof g.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:E})},!1,O),D)throw t;return await (0,c.sendResponse)(J,X,new Response(null,{status:500})),null}}e.s(["handler",0,j,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:T})},"routeModule",0,S,"serverHooks",0,N,"workAsyncStorage",0,k,"workUnitAsyncStorage",0,T],240867)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__0tsl88m._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},442315,(e,t,r)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,r)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,r)=>{"use strict";var n=Object.defineProperty,a=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o={},l={RequestCookies:()=>f,ResponseCookies:()=>g,parseCookie:()=>d,parseSetCookie:()=>c,stringifyCookie:()=>p};for(var u in l)n(o,u,{get:l[u],enumerable:!0});function p(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),n=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?n:`${n}; ${r.join("; ")}`}function d(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[n,a]=[r.slice(0,e),r.slice(e+1)];try{t.set(n,decodeURIComponent(null!=a?a:"true"))}catch{}}return t}function c(e){if(!e)return;let[[t,r],...n]=d(e),{domain:a,expires:s,httponly:i,maxage:o,path:l,samesite:u,secure:p,partitioned:c,priority:f}=Object.fromEntries(n.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,x,v={name:t,value:decodeURIComponent(r),domain:a,...s&&{expires:new Date(s)},...i&&{httpOnly:!0},..."string"==typeof o&&{maxAge:Number(o)},path:l,...u&&{sameSite:h.includes(g=(g=u).toLowerCase())?g:void 0},...p&&{secure:!0},...f&&{priority:m.includes(x=(x=f).toLowerCase())?x:void 0},...c&&{partitioned:!0}};let e={};for(let t in v)v[t]&&(e[t]=v[t]);return e}}t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of s(t))i.call(e,o)||void 0===o||n(e,o,{get:()=>t[o],enumerable:!(r=a(t,o))||r.enumerable});return e})(n({},"__esModule",{value:!0}),o);var h=["strict","lax","none"],m=["low","medium","high"],f=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of d(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===n).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,n=this._parsed;return n.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(n).map(([e,t])=>p(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>p(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},g=class{constructor(e){var t,r,n;this._parsed=new Map,this._headers=e;const a=null!=(n=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?n:[];for(const e of Array.isArray(a)?a:function(e){if(!e)return[];var t,r,n,a,s,i=[],o=0;function l(){for(;o<e.length&&/\s/.test(e.charAt(o));)o+=1;return o<e.length}for(;o<e.length;){for(t=o,s=!1;l();)if(","===(r=e.charAt(o))){for(n=o,o+=1,l(),a=o;o<e.length&&"="!==(r=e.charAt(o))&&";"!==r&&","!==r;)o+=1;o<e.length&&"="===e.charAt(o)?(s=!0,o=a,i.push(e.substring(t,n)),t=o):o=n+1}else o+=1;(!s||o>=e.length)&&i.push(e.substring(t,e.length))}return i}(a)){const t=c(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===n)}has(e){return this._parsed.has(e)}set(...e){let[t,r,n]=1===e.length?[e[0].name,e[0].value,e[0]]:e,a=this._parsed;return a.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...n})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=p(r);t.append("set-cookie",e)}}(a,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(p).join("; ")}}},963514,e=>{"use strict";var t=e.i(747909),r=e.i(174017),n=e.i(996250),a=e.i(759756),s=e.i(561916),i=e.i(174677),o=e.i(869741),l=e.i(316795),u=e.i(487718),p=e.i(995169),d=e.i(47587),c=e.i(666012),h=e.i(570101),m=e.i(626937),f=e.i(10372),g=e.i(193695);e.i(820232);var x=e.i(600220),v=e.i(89171);async function y(){let e=v.NextResponse.json({success:!0,message:"Shutting down..."});return setTimeout(()=>{process.exit(0)},500),e}e.s(["POST",0,y],240382);var R=e.i(240382);let w=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/shutdown/route",pathname:"/api/shutdown",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/shutdown/route.ts",nextConfigOutput:"standalone",userland:R,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:C,serverHooks:b}=w;async function _(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),w.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/shutdown/route";v=v.replace(/\/index$/,"")||"/";let y=await w.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:R,params:A,nextConfig:C,parsedUrl:b,isDraftMode:_,prerenderManifest:E,routerServerContext:S,isOnDemandRevalidate:O,revalidateOnlyGenerated:k,resolvedPathname:P,clientReferenceManifest:j,serverActionsManifest:N}=y,T=(0,o.normalizeAppPath)(v),q=!!(E.dynamicRoutes[T]||E.routes[P]),$=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,b,!1):t.end("This page could not be found"),null);if(q&&!_){let e=!!E.routes[P],t=E.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(C.adapterPath)return await $();throw new g.NoFallbackError}}let D=null;!q||w.isDev||_||(D="/index"===(D=P)?"/":D);let U=!0===w.isDev||!q,I=q&&!U;N&&j&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:j,serverActionsManifest:N});let M=e.method||"GET",H=(0,s.getTracer)(),F=H.getActiveScopeSpan(),K=!!(null==S?void 0:S.isWrappedByNextServer),L=!!(0,a.getRequestMeta)(e,"minimalMode"),B=(0,a.getRequestMeta)(e,"incrementalCache")||await w.getIncrementalCache(e,C,E,L);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let z={params:A,previewProps:E.preview,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:U,incrementalCache:B,cacheLifeProfiles:C.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>w.onRequestError(e,t,n,a,S)},sharedContext:{buildId:R}},G=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),W=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let a,i=async e=>w.handle(W,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.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=`${M} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",n),a.updateName(t))}else e.updateName(`${M} ${v}`)}),o=async a=>{var s,o;let l=async({previousCacheEntry:r})=>{try{if(!L&&O&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(a);e.fetchMetrics=z.renderOpts.fetchMetrics;let o=z.renderOpts.pendingWaitUntil;o&&n.waitUntil&&(n.waitUntil(o),o=void 0);let l=z.renderOpts.collectedTags;if(!q)return await (0,c.sendResponse)(G,V,s,z.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,n=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await w.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:O})},!1,S),t}},u=await w.handleResponse({req:e,nextConfig:C,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:k,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:L});if(!q)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",O?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),_&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return L&&q||p.delete(f.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,m.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)(G,V,new Response(u.value.body,{headers:p,status:u.value.status||200})),null};K&&F?await o(F):(a=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(p.BaseServerSpan.handleRequest,{spanName:`${M} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},o),void 0,!K))}catch(t){if(t instanceof g.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:O})},!1,S),q)throw t;return await (0,c.sendResponse)(G,V,new Response(null,{status:500})),null}}e.s(["handler",0,_,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:C})},"routeModule",0,w,"serverHooks",0,b,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,C],963514)}];
1
+ module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},442315,(e,t,r)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,r)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,r)=>{"use strict";var n=Object.defineProperty,a=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o={},l={RequestCookies:()=>f,ResponseCookies:()=>g,parseCookie:()=>d,parseSetCookie:()=>c,stringifyCookie:()=>p};for(var u in l)n(o,u,{get:l[u],enumerable:!0});function p(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),n=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?n:`${n}; ${r.join("; ")}`}function d(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[n,a]=[r.slice(0,e),r.slice(e+1)];try{t.set(n,decodeURIComponent(null!=a?a:"true"))}catch{}}return t}function c(e){if(!e)return;let[[t,r],...n]=d(e),{domain:a,expires:s,httponly:i,maxage:o,path:l,samesite:u,secure:p,partitioned:c,priority:f}=Object.fromEntries(n.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,x,v={name:t,value:decodeURIComponent(r),domain:a,...s&&{expires:new Date(s)},...i&&{httpOnly:!0},..."string"==typeof o&&{maxAge:Number(o)},path:l,...u&&{sameSite:h.includes(g=(g=u).toLowerCase())?g:void 0},...p&&{secure:!0},...f&&{priority:m.includes(x=(x=f).toLowerCase())?x:void 0},...c&&{partitioned:!0}};let e={};for(let t in v)v[t]&&(e[t]=v[t]);return e}}t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of s(t))i.call(e,o)||void 0===o||n(e,o,{get:()=>t[o],enumerable:!(r=a(t,o))||r.enumerable});return e})(n({},"__esModule",{value:!0}),o);var h=["strict","lax","none"],m=["low","medium","high"],f=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of d(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===n).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,n=this._parsed;return n.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(n).map(([e,t])=>p(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>p(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},g=class{constructor(e){var t,r,n;this._parsed=new Map,this._headers=e;const a=null!=(n=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?n:[];for(const e of Array.isArray(a)?a:function(e){if(!e)return[];var t,r,n,a,s,i=[],o=0;function l(){for(;o<e.length&&/\s/.test(e.charAt(o));)o+=1;return o<e.length}for(;o<e.length;){for(t=o,s=!1;l();)if(","===(r=e.charAt(o))){for(n=o,o+=1,l(),a=o;o<e.length&&"="!==(r=e.charAt(o))&&";"!==r&&","!==r;)o+=1;o<e.length&&"="===e.charAt(o)?(s=!0,o=a,i.push(e.substring(t,n)),t=o):o=n+1}else o+=1;(!s||o>=e.length)&&i.push(e.substring(t,e.length))}return i}(a)){const t=c(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===n)}has(e){return this._parsed.has(e)}set(...e){let[t,r,n]=1===e.length?[e[0].name,e[0].value,e[0]]:e,a=this._parsed;return a.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...n})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=p(r);t.append("set-cookie",e)}}(a,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(p).join("; ")}}},963514,e=>{"use strict";var t=e.i(747909),r=e.i(174017),n=e.i(996250),a=e.i(759756),s=e.i(561916),i=e.i(174677),o=e.i(869741),l=e.i(316795),u=e.i(487718),p=e.i(995169),d=e.i(47587),c=e.i(666012),h=e.i(570101),m=e.i(626937),f=e.i(10372),g=e.i(193695);e.i(820232);var x=e.i(600220),v=e.i(89171);async function y(){let e=v.NextResponse.json({success:!0,message:"Shutting down..."});return setTimeout(()=>{process.kill(process.pid,"SIGTERM")},500),e}e.s(["POST",0,y],240382);var R=e.i(240382);let w=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/shutdown/route",pathname:"/api/shutdown",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/shutdown/route.ts",nextConfigOutput:"standalone",userland:R,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:C,serverHooks:b}=w;async function _(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),w.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/shutdown/route";v=v.replace(/\/index$/,"")||"/";let y=await w.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:R,params:A,nextConfig:C,parsedUrl:b,isDraftMode:_,prerenderManifest:E,routerServerContext:S,isOnDemandRevalidate:O,revalidateOnlyGenerated:k,resolvedPathname:P,clientReferenceManifest:j,serverActionsManifest:N}=y,T=(0,o.normalizeAppPath)(v),q=!!(E.dynamicRoutes[T]||E.routes[P]),$=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,b,!1):t.end("This page could not be found"),null);if(q&&!_){let e=!!E.routes[P],t=E.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(C.adapterPath)return await $();throw new g.NoFallbackError}}let D=null;!q||w.isDev||_||(D="/index"===(D=P)?"/":D);let I=!0===w.isDev||!q,M=q&&!I;N&&j&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:j,serverActionsManifest:N});let U=e.method||"GET",H=(0,s.getTracer)(),F=H.getActiveScopeSpan(),K=!!(null==S?void 0:S.isWrappedByNextServer),L=!!(0,a.getRequestMeta)(e,"minimalMode"),B=(0,a.getRequestMeta)(e,"incrementalCache")||await w.getIncrementalCache(e,C,E,L);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let G={params:A,previewProps:E.preview,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:I,incrementalCache:B,cacheLifeProfiles:C.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>w.onRequestError(e,t,n,a,S)},sharedContext:{buildId:R}},z=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),W=u.NextRequestAdapter.fromNodeNextRequest(z,(0,u.signalFromNodeResponse)(t));try{let a,i=async e=>w.handle(W,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.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),a&&a!==e&&(a.setAttribute("http.route",n),a.updateName(t))}else e.updateName(`${U} ${v}`)}),o=async a=>{var s,o;let l=async({previousCacheEntry:r})=>{try{if(!L&&O&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(a);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&n.waitUntil&&(n.waitUntil(o),o=void 0);let l=G.renderOpts.collectedTags;if(!q)return await (0,c.sendResponse)(z,V,s,G.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,n=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await w.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:O})},!1,S),t}},u=await w.handleResponse({req:e,nextConfig:C,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:k,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:L});if(!q)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",O?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),_&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return L&&q||p.delete(f.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,m.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)(z,V,new Response(u.value.body,{headers:p,status:u.value.status||200})),null};K&&F?await o(F):(a=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},o),void 0,!K))}catch(t){if(t instanceof g.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:O})},!1,S),q)throw t;return await (0,c.sendResponse)(z,V,new Response(null,{status:500})),null}}e.s(["handler",0,_,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:C})},"routeModule",0,w,"serverHooks",0,b,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,C],963514)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__0x_~cf-._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},442315,(e,t,r)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,r)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,r)=>{"use strict";var s=Object.defineProperty,a=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o={},l={RequestCookies:()=>f,ResponseCookies:()=>g,parseCookie:()=>d,parseSetCookie:()=>p,stringifyCookie:()=>c};for(var u in l)s(o,u,{get:l[u],enumerable:!0});function c(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),s=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?s:`${s}; ${r.join("; ")}`}function d(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[s,a]=[r.slice(0,e),r.slice(e+1)];try{t.set(s,decodeURIComponent(null!=a?a:"true"))}catch{}}return t}function p(e){if(!e)return;let[[t,r],...s]=d(e),{domain:a,expires:n,httponly:i,maxage:o,path:l,samesite:u,secure:c,partitioned:p,priority:f}=Object.fromEntries(s.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,v,y={name:t,value:decodeURIComponent(r),domain:a,...n&&{expires:new Date(n)},...i&&{httpOnly:!0},..."string"==typeof o&&{maxAge:Number(o)},path:l,...u&&{sameSite:h.includes(g=(g=u).toLowerCase())?g:void 0},...c&&{secure:!0},...f&&{priority:m.includes(v=(v=f).toLowerCase())?v:void 0},...p&&{partitioned:!0}};let e={};for(let t in y)y[t]&&(e[t]=y[t]);return e}}t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of n(t))i.call(e,o)||void 0===o||s(e,o,{get:()=>t[o],enumerable:!(r=a(t,o))||r.enumerable});return e})(s({},"__esModule",{value:!0}),o);var h=["strict","lax","none"],m=["low","medium","high"],f=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of d(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let s="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===s).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,s=this._parsed;return s.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(s).map(([e,t])=>c(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>c(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},g=class{constructor(e){var t,r,s;this._parsed=new Map,this._headers=e;const a=null!=(s=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?s:[];for(const e of Array.isArray(a)?a:function(e){if(!e)return[];var t,r,s,a,n,i=[],o=0;function l(){for(;o<e.length&&/\s/.test(e.charAt(o));)o+=1;return o<e.length}for(;o<e.length;){for(t=o,n=!1;l();)if(","===(r=e.charAt(o))){for(s=o,o+=1,l(),a=o;o<e.length&&"="!==(r=e.charAt(o))&&";"!==r&&","!==r;)o+=1;o<e.length&&"="===e.charAt(o)?(n=!0,o=a,i.push(e.substring(t,s)),t=o):o=s+1}else o+=1;(!n||o>=e.length)&&i.push(e.substring(t,e.length))}return i}(a)){const t=p(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let s="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===s)}has(e){return this._parsed.has(e)}set(...e){let[t,r,s]=1===e.length?[e[0].name,e[0].value,e[0]]:e,a=this._parsed;return a.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...s})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=c(r);t.append("set-cookie",e)}}(a,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(c).join("; ")}}},677850,e=>e.a(async(t,r)=>{try{let t=await e.y("zod");e.n(t),r()}catch(e){r(e)}},!0),200392,e=>e.a(async(t,r)=>{try{var s=e.i(677850),a=t([s]);[s]=a.then?(await a)():a,s.z.object({password:s.z.string().min(1,"Password is required").max(200)}),e.s(["isValidationFailure",0,function(e){return!1===e.success},"validateBody",0,function(e,t){let r=e.safeParse(t);if(r.success)return{success:!0,data:r.data};let s=Array.isArray(r.error?.issues)?r.error.issues:[];return{success:!1,error:{message:"Invalid request",details:s.map(e=>({field:e.path.join("."),message:e.message}))}}}]),r()}catch(e){r(e)}},!1),41244,e=>{"use strict";e.s(["HIDEABLE_SIDEBAR_ITEM_IDS",0,["home","endpoints","api-manager","providers","combos","auto-combo","costs","analytics","limits","cache","cli-tools","agents","translator","playground","media","search-tools","health","logs","audit","settings","docs","issues"]])},180725,e=>{"use strict";e.i(245272),e.s([])},997953,(e,t,r)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].ReactServerDOMTurbopackServer},745015,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"registerServerReference",{enumerable:!0,get:function(){return s.registerServerReference}});let s=e.r(997953)},195975,(e,t,r)=>{"use strict";function s(e){for(let t=0;t<e.length;t++){let r=e[t];if("function"!=typeof r)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof r}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ensureServerEntryExports",{enumerable:!0,get:function(){return s}})},428660,e=>e.a(async(t,r)=>{try{var s=e.i(745015),a=e.i(89171);e.i(180725);var n=e.i(186920),i=e.i(676088),o=e.i(200392),l=e.i(195975),u=t([i,o]);async function c(e){try{let{searchParams:t}=new URL(e.url),r=t.get("tool"),s=await (0,n.getMitmAlias)(r||void 0);return a.NextResponse.json({aliases:s})}catch(e){return console.log("Error fetching MITM aliases:",e.message),a.NextResponse.json({error:"Failed to fetch aliases"},{status:500})}}async function d(e){let t;try{t=await e.json()}catch{return a.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,o.validateBody)(i.cliMitmAliasUpdateSchema,t);if((0,o.isValidationFailure)(e))return a.NextResponse.json({error:e.error},{status:400});let{tool:r,mappings:s}=e.data,l={};for(let[e,t]of Object.entries(s))t&&t.trim()&&(l[e]=t.trim());return await (0,n.setMitmAliasAll)(r,l),a.NextResponse.json({success:!0,aliases:l})}catch(e){return console.log("Error saving MITM aliases:",e.message),a.NextResponse.json({error:"Failed to save aliases"},{status:500})}}[i,o]=u.then?(await u)():u,(0,l.ensureServerEntryExports)([c,d]),(0,s.registerServerReference)(c,"40714cac9fe04e36b782d694350661df5ddc38cfff",null),(0,s.registerServerReference)(d,"40060c77f0520c07cae66077b5a96241f255a7d2a7",null),e.s(["GET",0,c,"PUT",0,d]),r()}catch(e){r(e)}},!1),681974,e=>e.a(async(t,r)=>{try{var s=e.i(747909),a=e.i(174017),n=e.i(996250),i=e.i(759756),o=e.i(561916),l=e.i(174677),u=e.i(869741),c=e.i(316795),d=e.i(487718),p=e.i(995169),h=e.i(47587),m=e.i(666012),f=e.i(570101),g=e.i(626937),v=e.i(10372),y=e.i(193695);e.i(820232);var x=e.i(600220),R=e.i(428660),_=t([R]);[R]=_.then?(await _)():_;let w=new s.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/cli-tools/antigravity-mitm/alias/route",pathname:"/api/cli-tools/antigravity-mitm/alias",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/antigravity-mitm/alias/route.ts",nextConfigOutput:"standalone",userland:R,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:E,serverHooks:C}=w;async function b(e,t,r){r.requestMeta&&(0,i.setRequestMeta)(e,r.requestMeta),w.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/cli-tools/antigravity-mitm/alias/route";s=s.replace(/\/index$/,"")||"/";let n=await w.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,params:_,nextConfig:b,parsedUrl:A,isDraftMode:E,prerenderManifest:C,routerServerContext:S,isOnDemandRevalidate:j,revalidateOnlyGenerated:O,resolvedPathname:P,clientReferenceManifest:k,serverActionsManifest:N}=n,T=(0,u.normalizeAppPath)(s),M=!!(C.dynamicRoutes[T]||C.routes[P]),q=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,A,!1):t.end("This page could not be found"),null);if(M&&!E){let e=!!C.routes[P],t=C.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await q();throw new y.NoFallbackError}}let I=null;!M||w.isDev||E||(I=P,I="/index"===I?"/":I);let D=!0===w.isDev||!M,U=M&&!D;N&&k&&(0,l.setManifestsSingleton)({page:s,clientReferenceManifest:k,serverActionsManifest:N});let $=e.method||"GET",H=(0,o.getTracer)(),F=H.getActiveScopeSpan(),B=!!(null==S?void 0:S.isWrappedByNextServer),L=!!(0,i.getRequestMeta)(e,"minimalMode"),K=(0,i.getRequestMeta)(e,"incrementalCache")||await w.getIncrementalCache(e,b,C,L);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let z={params:_,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:D,incrementalCache:K,cacheLifeProfiles:b.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>w.onRequestError(e,t,s,a,S)},sharedContext:{buildId:R}},V=new c.NodeNextRequest(e),G=new c.NodeNextResponse(t),X=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let n,i=async e=>w.handle(X,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.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 a=r.get("next.route");if(a){let t=`${$} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${$} ${s}`)}),l=async n=>{var o,l;let u=async({previousCacheEntry:a})=>{try{if(!L&&j&&O&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=z.renderOpts.fetchMetrics;let o=z.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let l=z.renderOpts.collectedTags;if(!M)return await (0,m.sendResponse)(V,G,s,z.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[v.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,a=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==a?void 0:a.isStale)&&await w.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:j})},!1,S),t}},c=await w.handleResponse({req:e,nextConfig:b,cacheKey:I,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:O,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:L});if(!M)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",j?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return L&&M||d.delete(v.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,m.sendResponse)(V,G,new Response(c.value.body,{headers:d,status:c.value.status||200})),null};B&&F?await l(F):(n=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(p.BaseServerSpan.handleRequest,{spanName:`${$} ${s}`,kind:o.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},l),void 0,!B))}catch(t){if(t instanceof y.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:j})},!1,S),M)throw t;return await (0,m.sendResponse)(V,G,new Response(null,{status:500})),null}}e.s(["handler",0,b,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:E})},"routeModule",0,w,"serverHooks",0,C,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,E]),r()}catch(e){r(e)}},!1),606102,e=>{e.v(e=>Promise.resolve().then(()=>e(548941)))},789543,e=>{e.v(e=>Promise.resolve().then(()=>e(385498)))},579042,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_utils_apiKey_ts_12~h.oz._.js"].map(t=>e.l(t))).then(()=>t(65448)))},49794,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_ts_0hk12it._.js"].map(t=>e.l(t))).then(()=>t(404503)))},386305,e=>{e.v(e=>Promise.resolve().then(()=>e(878947)))}];
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ensureServerEntryExports",{enumerable:!0,get:function(){return s}})},428660,e=>e.a(async(t,r)=>{try{var s=e.i(745015),a=e.i(89171);e.i(180725);var n=e.i(186920),i=e.i(676088),o=e.i(200392),l=e.i(195975),u=t([i,o]);async function c(e){try{let{searchParams:t}=new URL(e.url),r=t.get("tool"),s=await (0,n.getMitmAlias)(r||void 0);return a.NextResponse.json({aliases:s})}catch(e){return console.log("Error fetching MITM aliases:",e.message),a.NextResponse.json({error:"Failed to fetch aliases"},{status:500})}}async function d(e){let t;try{t=await e.json()}catch{return a.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,o.validateBody)(i.cliMitmAliasUpdateSchema,t);if((0,o.isValidationFailure)(e))return a.NextResponse.json({error:e.error},{status:400});let{tool:r,mappings:s}=e.data,l={};for(let[e,t]of Object.entries(s))t&&t.trim()&&(l[e]=t.trim());return await (0,n.setMitmAliasAll)(r,l),a.NextResponse.json({success:!0,aliases:l})}catch(e){return console.log("Error saving MITM aliases:",e.message),a.NextResponse.json({error:"Failed to save aliases"},{status:500})}}[i,o]=u.then?(await u)():u,(0,l.ensureServerEntryExports)([c,d]),(0,s.registerServerReference)(c,"4074d953d025b62ac1f5f6e0c06895d6f458ddcfe3",null),(0,s.registerServerReference)(d,"4033087821f8cff1137751cf8c289d27e926982dd0",null),e.s(["GET",0,c,"PUT",0,d]),r()}catch(e){r(e)}},!1),681974,e=>e.a(async(t,r)=>{try{var s=e.i(747909),a=e.i(174017),n=e.i(996250),i=e.i(759756),o=e.i(561916),l=e.i(174677),u=e.i(869741),c=e.i(316795),d=e.i(487718),p=e.i(995169),h=e.i(47587),m=e.i(666012),f=e.i(570101),g=e.i(626937),v=e.i(10372),y=e.i(193695);e.i(820232);var x=e.i(600220),R=e.i(428660),_=t([R]);[R]=_.then?(await _)():_;let b=new s.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/cli-tools/antigravity-mitm/alias/route",pathname:"/api/cli-tools/antigravity-mitm/alias",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/antigravity-mitm/alias/route.ts",nextConfigOutput:"standalone",userland:R,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:E,serverHooks:C}=b;async function w(e,t,r){r.requestMeta&&(0,i.setRequestMeta)(e,r.requestMeta),b.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/cli-tools/antigravity-mitm/alias/route";s=s.replace(/\/index$/,"")||"/";let n=await b.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,params:_,nextConfig:w,parsedUrl:A,isDraftMode:E,prerenderManifest:C,routerServerContext:S,isOnDemandRevalidate:j,revalidateOnlyGenerated:O,resolvedPathname:P,clientReferenceManifest:k,serverActionsManifest:N}=n,T=(0,u.normalizeAppPath)(s),M=!!(C.dynamicRoutes[T]||C.routes[P]),q=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,A,!1):t.end("This page could not be found"),null);if(M&&!E){let e=!!C.routes[P],t=C.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(w.adapterPath)return await q();throw new y.NoFallbackError}}let I=null;!M||b.isDev||E||(I=P,I="/index"===I?"/":I);let D=!0===b.isDev||!M,U=M&&!D;N&&k&&(0,l.setManifestsSingleton)({page:s,clientReferenceManifest:k,serverActionsManifest:N});let $=e.method||"GET",H=(0,o.getTracer)(),F=H.getActiveScopeSpan(),B=!!(null==S?void 0:S.isWrappedByNextServer),L=!!(0,i.getRequestMeta)(e,"minimalMode"),K=(0,i.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,w,C,L);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let z={params:_,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:D,incrementalCache:K,cacheLifeProfiles:w.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>b.onRequestError(e,t,s,a,S)},sharedContext:{buildId:R}},V=new c.NodeNextRequest(e),G=new c.NodeNextResponse(t),X=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let n,i=async e=>b.handle(X,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.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 a=r.get("next.route");if(a){let t=`${$} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${$} ${s}`)}),l=async n=>{var o,l;let u=async({previousCacheEntry:a})=>{try{if(!L&&j&&O&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=z.renderOpts.fetchMetrics;let o=z.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let l=z.renderOpts.collectedTags;if(!M)return await (0,m.sendResponse)(V,G,s,z.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[v.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,a=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==a?void 0:a.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:j})},!1,S),t}},c=await b.handleResponse({req:e,nextConfig:w,cacheKey:I,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:O,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:L});if(!M)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",j?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return L&&M||d.delete(v.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,m.sendResponse)(V,G,new Response(c.value.body,{headers:d,status:c.value.status||200})),null};B&&F?await l(F):(n=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(p.BaseServerSpan.handleRequest,{spanName:`${$} ${s}`,kind:o.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},l),void 0,!B))}catch(t){if(t instanceof y.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:j})},!1,S),M)throw t;return await (0,m.sendResponse)(V,G,new Response(null,{status:500})),null}}e.s(["handler",0,w,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:E})},"routeModule",0,b,"serverHooks",0,C,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,E]),r()}catch(e){r(e)}},!1),606102,e=>{e.v(e=>Promise.resolve().then(()=>e(548941)))},789543,e=>{e.v(e=>Promise.resolve().then(()=>e(385498)))},579042,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_utils_apiKey_ts_12~h.oz._.js"].map(t=>e.l(t))).then(()=>t(65448)))},49794,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_ts_0hk12it._.js"].map(t=>e.l(t))).then(()=>t(404503)))},386305,e=>{e.v(e=>Promise.resolve().then(()=>e(878947)))}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__111mvd5._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[467388,e=>e.a(async(t,a)=>{try{var r=e.i(745015),n=e.i(89171),i=e.i(924868),o=e.i(814747),l=e.i(446786),s=e.i(266240),d=e.i(841788),u=e.i(197892),c=e.i(676088),p=e.i(200392);e.i(245272);var h=e.i(125852),f=e.i(195975),g=t([c,p]);[c,p]=g.then?(await g)():g;let w=o.default.join(l.default.homedir(),".cline","data"),y=o.default.join(w,"globalState.json"),A=o.default.join(w,"secrets.json"),E=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}},N=async()=>{try{let e=await i.default.readFile(A,"utf-8");return JSON.parse(e)}catch(e){if("ENOENT"===e.code)return{};throw e}};async function R(){try{let e=await (0,s.getCliRuntimeStatus)("cline");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?"Cline CLI is installed but not runnable":"Cline CLI is not installed"});let t=await E();return await N(),n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:{actModeApiProvider:t?.actModeApiProvider,planModeApiProvider:t?.planModeApiProvider,openAiBaseUrl:t?.openAiBaseUrl,openAiModelId:t?.openAiModelId,planModeOpenAiModelId:t?.planModeOpenAiModelId},hasOmniRoute:(e=>{if(!e)return!1;let t="openai"===e.actModeApiProvider||"openai"===e.planModeApiProvider,a=e.openAiBaseUrl||"";return t&&(a.includes("localhost")||a.includes("127.0.0.1")||a.includes("omniroute"))})(t),globalStatePath:y,secretsPath:A})}catch(e){return console.log("Error checking cline settings:",e),n.NextResponse.json({error:"Failed to check cline settings"},{status:500})}}async function v(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,s.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:o,model:l}=a.data,f="string"==typeof t?.keyId?t.keyId.trim():null;if(f)try{let e=await (0,h.getApiKeyById)(f);e?.key&&(o=e.key)}catch{}await i.default.mkdir(w,{recursive:!0}),await (0,d.createBackup)("cline",y),await (0,d.createBackup)("cline",A);let g={};try{let e=await i.default.readFile(y,"utf-8");g=JSON.parse(e)}catch{}let R=r.endsWith("/v1")?r.slice(0,-3):r;g.actModeApiProvider="openai",g.planModeApiProvider="openai",g.openAiBaseUrl=R,g.openAiModelId=l,g.planModeOpenAiModelId=l,await i.default.writeFile(y,JSON.stringify(g,null,2));let v={};try{let e=await i.default.readFile(A,"utf-8");v=JSON.parse(e)}catch{}v.openAiApiKey=o||"sk_omniroute",await i.default.writeFile(A,JSON.stringify(v,null,2));try{(0,u.saveCliToolLastConfigured)("cline")}catch{}return n.NextResponse.json({success:!0,message:"Cline settings applied successfully!",globalStatePath:y})}catch(e){return console.log("Error updating cline settings:",e),n.NextResponse.json({error:"Failed to update cline settings"},{status:500})}}async function m(){try{let e=(0,s.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});await (0,d.createBackup)("cline",y),await (0,d.createBackup)("cline",A);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}"openai"===t.actModeApiProvider&&(delete t.openAiBaseUrl,delete t.openAiModelId,delete t.planModeOpenAiModelId,t.actModeApiProvider="cline",t.planModeApiProvider="cline"),await i.default.writeFile(y,JSON.stringify(t,null,2));let a={};try{let e=await i.default.readFile(A,"utf-8");a=JSON.parse(e)}catch{}delete a.openAiApiKey,await i.default.writeFile(A,JSON.stringify(a,null,2));try{(0,u.deleteCliToolLastConfigured)("cline")}catch{}return n.NextResponse.json({success:!0,message:"OmniRoute settings removed from Cline"})}catch(e){return console.log("Error resetting cline settings:",e),n.NextResponse.json({error:"Failed to reset cline settings"},{status:500})}}(0,f.ensureServerEntryExports)([R,v,m]),(0,r.registerServerReference)(R,"007bf6e94a5fde26d6609c1157093da14431b67779",null),(0,r.registerServerReference)(v,"406cadc0b6256150f00907a7e01ef527ef690445f9",null),(0,r.registerServerReference)(m,"00ad90f42995342bec5237e63bb0d3d5dfb5d68959",null),e.s(["DELETE",0,m,"GET",0,R,"POST",0,v]),a()}catch(e){a(e)}},!1),169552,e=>e.a(async(t,a)=>{try{var r=e.i(747909),n=e.i(174017),i=e.i(996250),o=e.i(759756),l=e.i(561916),s=e.i(174677),d=e.i(869741),u=e.i(316795),c=e.i(487718),p=e.i(995169),h=e.i(47587),f=e.i(666012),g=e.i(570101),R=e.i(626937),v=e.i(10372),m=e.i(193695);e.i(820232);var w=e.i(600220),y=e.i(467388),A=t([y]);[y]=A.then?(await A)():A;let N=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/cline-settings/route",pathname:"/api/cli-tools/cline-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/cline-settings/route.ts",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:x,serverHooks:b}=N;async function E(e,t,a){a.requestMeta&&(0,o.setRequestMeta)(e,a.requestMeta),N.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/cli-tools/cline-settings/route";r=r.replace(/\/index$/,"")||"/";let i=await N.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,params:A,nextConfig:E,parsedUrl:C,isDraftMode:x,prerenderManifest:b,routerServerContext:M,isOnDemandRevalidate:P,revalidateOnlyGenerated:S,resolvedPathname:O,clientReferenceManifest:T,serverActionsManifest:I}=i,j=(0,d.normalizeAppPath)(r),k=!!(b.dynamicRoutes[j]||b.routes[O]),_=async()=>((null==M?void 0:M.render404)?await M.render404(e,t,C,!1):t.end("This page could not be found"),null);if(k&&!x){let e=!!b.routes[O],t=b.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await _();throw new m.NoFallbackError}}let F=null;!k||N.isDev||x||(F=O,F="/index"===F?"/":F);let U=!0===N.isDev||!k,q=k&&!U;I&&T&&(0,s.setManifestsSingleton)({page:r,clientReferenceManifest:T,serverActionsManifest:I});let B=e.method||"GET",H=(0,l.getTracer)(),D=H.getActiveScopeSpan(),J=!!(null==M?void 0:M.isWrappedByNextServer),K=!!(0,o.getRequestMeta)(e,"minimalMode"),L=(0,o.getRequestMeta)(e,"incrementalCache")||await N.getIncrementalCache(e,E,b,K);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let $={params:A,previewProps:b.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:U,incrementalCache:L,cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>N.onRequestError(e,t,r,n,M)},sharedContext:{buildId:y}},W=new u.NodeNextRequest(e),G=new u.NodeNextResponse(t),V=c.NextRequestAdapter.fromNodeNextRequest(W,(0,c.signalFromNodeResponse)(t));try{let i,o=async e=>N.handle(V,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=H.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=`${B} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",n),i.updateName(t))}else e.updateName(`${B} ${r}`)}),s=async i=>{var l,s;let d=async({previousCacheEntry:n})=>{try{if(!K&&P&&S&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await o(i);e.fetchMetrics=$.renderOpts.fetchMetrics;let l=$.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let s=$.renderOpts.collectedTags;if(!k)return await (0,f.sendResponse)(W,G,r,$.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(r.headers);s&&(t[v.NEXT_CACHE_TAGS_HEADER]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,n=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await N.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:P})},!1,M),t}},u=await N.handleResponse({req:e,nextConfig:E,cacheKey:F,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:S,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:K});if(!k)return null;if((null==u||null==(l=u.value)?void 0:l.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(s=u.value)?void 0:s.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",P?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,g.fromNodeOutgoingHttpHeaders)(u.value.headers);return K&&k||c.delete(v.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,R.getCacheControlHeader)(u.cacheControl)),await (0,f.sendResponse)(W,G,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};J&&D?await s(D):(i=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(p.BaseServerSpan.handleRequest,{spanName:`${B} ${r}`,kind:l.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},s),void 0,!J))}catch(t){if(t instanceof m.NoFallbackError||await N.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:P})},!1,M),k)throw t;return await (0,f.sendResponse)(W,G,new Response(null,{status:500})),null}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:x})},"routeModule",0,N,"serverHooks",0,b,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,x]),a()}catch(e){a(e)}},!1)];
1
+ module.exports=[467388,e=>e.a(async(t,a)=>{try{var r=e.i(745015),n=e.i(89171),i=e.i(924868),o=e.i(814747),l=e.i(446786),s=e.i(266240),d=e.i(841788),u=e.i(197892),c=e.i(676088),p=e.i(200392);e.i(245272);var h=e.i(125852),f=e.i(195975),g=t([c,p]);[c,p]=g.then?(await g)():g;let w=o.default.join(l.default.homedir(),".cline","data"),y=o.default.join(w,"globalState.json"),A=o.default.join(w,"secrets.json"),E=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}},N=async()=>{try{let e=await i.default.readFile(A,"utf-8");return JSON.parse(e)}catch(e){if("ENOENT"===e.code)return{};throw e}};async function R(){try{let e=await (0,s.getCliRuntimeStatus)("cline");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?"Cline CLI is installed but not runnable":"Cline CLI is not installed"});let t=await E();return await N(),n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:{actModeApiProvider:t?.actModeApiProvider,planModeApiProvider:t?.planModeApiProvider,openAiBaseUrl:t?.openAiBaseUrl,openAiModelId:t?.openAiModelId,planModeOpenAiModelId:t?.planModeOpenAiModelId},hasOmniRoute:(e=>{if(!e)return!1;let t="openai"===e.actModeApiProvider||"openai"===e.planModeApiProvider,a=e.openAiBaseUrl||"";return t&&(a.includes("localhost")||a.includes("127.0.0.1")||a.includes("omniroute"))})(t),globalStatePath:y,secretsPath:A})}catch(e){return console.log("Error checking cline settings:",e),n.NextResponse.json({error:"Failed to check cline settings"},{status:500})}}async function v(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,s.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:o,model:l}=a.data,f="string"==typeof t?.keyId?t.keyId.trim():null;if(f)try{let e=await (0,h.getApiKeyById)(f);e?.key&&(o=e.key)}catch{}await i.default.mkdir(w,{recursive:!0}),await (0,d.createBackup)("cline",y),await (0,d.createBackup)("cline",A);let g={};try{let e=await i.default.readFile(y,"utf-8");g=JSON.parse(e)}catch{}let R=r.endsWith("/v1")?r.slice(0,-3):r;g.actModeApiProvider="openai",g.planModeApiProvider="openai",g.openAiBaseUrl=R,g.openAiModelId=l,g.planModeOpenAiModelId=l,await i.default.writeFile(y,JSON.stringify(g,null,2));let v={};try{let e=await i.default.readFile(A,"utf-8");v=JSON.parse(e)}catch{}v.openAiApiKey=o||"sk_omniroute",await i.default.writeFile(A,JSON.stringify(v,null,2));try{(0,u.saveCliToolLastConfigured)("cline")}catch{}return n.NextResponse.json({success:!0,message:"Cline settings applied successfully!",globalStatePath:y})}catch(e){return console.log("Error updating cline settings:",e),n.NextResponse.json({error:"Failed to update cline settings"},{status:500})}}async function m(){try{let e=(0,s.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});await (0,d.createBackup)("cline",y),await (0,d.createBackup)("cline",A);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}"openai"===t.actModeApiProvider&&(delete t.openAiBaseUrl,delete t.openAiModelId,delete t.planModeOpenAiModelId,t.actModeApiProvider="cline",t.planModeApiProvider="cline"),await i.default.writeFile(y,JSON.stringify(t,null,2));let a={};try{let e=await i.default.readFile(A,"utf-8");a=JSON.parse(e)}catch{}delete a.openAiApiKey,await i.default.writeFile(A,JSON.stringify(a,null,2));try{(0,u.deleteCliToolLastConfigured)("cline")}catch{}return n.NextResponse.json({success:!0,message:"OmniRoute settings removed from Cline"})}catch(e){return console.log("Error resetting cline settings:",e),n.NextResponse.json({error:"Failed to reset cline settings"},{status:500})}}(0,f.ensureServerEntryExports)([R,v,m]),(0,r.registerServerReference)(R,"005de65cab76955badbdffb3de6e8f446eb820ae73",null),(0,r.registerServerReference)(v,"40499964f5089291222311327c6a888912129da7fa",null),(0,r.registerServerReference)(m,"00abda5374c0137c617f286c8774aaa6ef9f8b404c",null),e.s(["DELETE",0,m,"GET",0,R,"POST",0,v]),a()}catch(e){a(e)}},!1),169552,e=>e.a(async(t,a)=>{try{var r=e.i(747909),n=e.i(174017),i=e.i(996250),o=e.i(759756),l=e.i(561916),s=e.i(174677),d=e.i(869741),u=e.i(316795),c=e.i(487718),p=e.i(995169),h=e.i(47587),f=e.i(666012),g=e.i(570101),R=e.i(626937),v=e.i(10372),m=e.i(193695);e.i(820232);var w=e.i(600220),y=e.i(467388),A=t([y]);[y]=A.then?(await A)():A;let N=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/cline-settings/route",pathname:"/api/cli-tools/cline-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/cline-settings/route.ts",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:x,serverHooks:b}=N;async function E(e,t,a){a.requestMeta&&(0,o.setRequestMeta)(e,a.requestMeta),N.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/cli-tools/cline-settings/route";r=r.replace(/\/index$/,"")||"/";let i=await N.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,params:A,nextConfig:E,parsedUrl:C,isDraftMode:x,prerenderManifest:b,routerServerContext:M,isOnDemandRevalidate:P,revalidateOnlyGenerated:S,resolvedPathname:O,clientReferenceManifest:T,serverActionsManifest:I}=i,j=(0,d.normalizeAppPath)(r),k=!!(b.dynamicRoutes[j]||b.routes[O]),_=async()=>((null==M?void 0:M.render404)?await M.render404(e,t,C,!1):t.end("This page could not be found"),null);if(k&&!x){let e=!!b.routes[O],t=b.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await _();throw new m.NoFallbackError}}let F=null;!k||N.isDev||x||(F=O,F="/index"===F?"/":F);let U=!0===N.isDev||!k,q=k&&!U;I&&T&&(0,s.setManifestsSingleton)({page:r,clientReferenceManifest:T,serverActionsManifest:I});let B=e.method||"GET",H=(0,l.getTracer)(),D=H.getActiveScopeSpan(),J=!!(null==M?void 0:M.isWrappedByNextServer),K=!!(0,o.getRequestMeta)(e,"minimalMode"),L=(0,o.getRequestMeta)(e,"incrementalCache")||await N.getIncrementalCache(e,E,b,K);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let $={params:A,previewProps:b.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:U,incrementalCache:L,cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>N.onRequestError(e,t,r,n,M)},sharedContext:{buildId:y}},W=new u.NodeNextRequest(e),G=new u.NodeNextResponse(t),V=c.NextRequestAdapter.fromNodeNextRequest(W,(0,c.signalFromNodeResponse)(t));try{let i,o=async e=>N.handle(V,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=H.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=`${B} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",n),i.updateName(t))}else e.updateName(`${B} ${r}`)}),s=async i=>{var l,s;let d=async({previousCacheEntry:n})=>{try{if(!K&&P&&S&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await o(i);e.fetchMetrics=$.renderOpts.fetchMetrics;let l=$.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let s=$.renderOpts.collectedTags;if(!k)return await (0,f.sendResponse)(W,G,r,$.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(r.headers);s&&(t[v.NEXT_CACHE_TAGS_HEADER]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,n=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await N.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:P})},!1,M),t}},u=await N.handleResponse({req:e,nextConfig:E,cacheKey:F,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:S,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:K});if(!k)return null;if((null==u||null==(l=u.value)?void 0:l.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(s=u.value)?void 0:s.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",P?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,g.fromNodeOutgoingHttpHeaders)(u.value.headers);return K&&k||c.delete(v.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,R.getCacheControlHeader)(u.cacheControl)),await (0,f.sendResponse)(W,G,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};J&&D?await s(D):(i=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(p.BaseServerSpan.handleRequest,{spanName:`${B} ${r}`,kind:l.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},s),void 0,!J))}catch(t){if(t instanceof m.NoFallbackError||await N.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:P})},!1,M),k)throw t;return await (0,f.sendResponse)(W,G,new Response(null,{status:500})),null}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:x})},"routeModule",0,N,"serverHooks",0,b,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,x]),a()}catch(e){a(e)}},!1)];
2
2
 
3
3
  //# sourceMappingURL=_00.pgsp._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[522051,e=>e.a(async(t,a)=>{try{var r=e.i(745015),n=e.i(89171),s=e.i(924868),i=e.i(814747),o=e.i(266240),l=e.i(841788),u=e.i(197892),d=e.i(676088),c=e.i(200392);e.i(245272);var p=e.i(125852),h=e.i(195975),R=t([d,c]);[d,c]=R.then?(await R)():R;let v=()=>(0,o.getCliPrimaryConfigPath)("claude"),m=async()=>{try{let e=v(),t=await s.default.readFile(e,"utf-8");return JSON.parse(t)}catch(e){if("ENOENT"===e.code)return null;throw e}};async function f(){try{let e=await (0,o.getCliRuntimeStatus)("claude");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?"Claude CLI is installed but not runnable":"Claude CLI is not installed"});let t=await m(),a=!!t?.env?.ANTHROPIC_BASE_URL;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:a,settingsPath:v()})}catch(e){return console.log("Error checking claude settings:",e),n.NextResponse.json({error:"Failed to check claude 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,o.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let a=(0,c.validateBody)(d.cliSettingsEnvSchema,t);if((0,c.isValidationFailure)(a))return n.NextResponse.json({error:a.error},{status:400});let{env:r}=a.data,h="string"==typeof t?.keyId?t.keyId.trim():null;if(h)try{let e=await (0,p.getApiKeyById)(h);e?.key&&(r.ANTHROPIC_AUTH_TOKEN=e.key)}catch{}let R=v(),f=i.default.dirname(R);await s.default.mkdir(f,{recursive:!0}),await (0,l.createBackup)("claude",R);let g={};try{let e=await s.default.readFile(R,"utf-8");g=JSON.parse(e)}catch(e){if("ENOENT"!==e.code)throw e}r.ANTHROPIC_BASE_URL&&(r.ANTHROPIC_BASE_URL=r.ANTHROPIC_BASE_URL.endsWith("/v1")?r.ANTHROPIC_BASE_URL:`${r.ANTHROPIC_BASE_URL}/v1`);let E={...g,env:{...g.env||{},...r}};await s.default.writeFile(R,JSON.stringify(E,null,2));try{(0,u.saveCliToolLastConfigured)("claude")}catch{}return n.NextResponse.json({success:!0,message:"Settings updated successfully"})}catch(e){return console.log("Error updating claude settings:",e),n.NextResponse.json({error:"Failed to update claude settings"},{status:500})}}let N=["ANTHROPIC_BASE_URL","ANTHROPIC_AUTH_TOKEN","ANTHROPIC_DEFAULT_OPUS_MODEL","ANTHROPIC_DEFAULT_SONNET_MODEL","ANTHROPIC_DEFAULT_HAIKU_MODEL","API_TIMEOUT_MS"];async function E(){try{let e=(0,o.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let t=v(),a={};try{let e=await s.default.readFile(t,"utf-8");a=JSON.parse(e)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({success:!0,message:"No settings file to reset"});throw e}await (0,l.createBackup)("claude",t),a.env&&(N.forEach(e=>{delete a.env[e]}),0===Object.keys(a.env).length&&delete a.env),await s.default.writeFile(t,JSON.stringify(a,null,2));try{(0,u.deleteCliToolLastConfigured)("claude")}catch{}return n.NextResponse.json({success:!0,message:"Settings reset successfully"})}catch(e){return console.log("Error resetting claude settings:",e),n.NextResponse.json({error:"Failed to reset claude settings"},{status:500})}}(0,h.ensureServerEntryExports)([f,g,E]),(0,r.registerServerReference)(f,"00a97f9f0057bc0433b9d30d50ce28da6403d2438f",null),(0,r.registerServerReference)(g,"4001688d42de039779e76f8148377f4ef4837fa911",null),(0,r.registerServerReference)(E,"000028fdb9b8face7a7d116bfe931520033fd89707",null),e.s(["DELETE",0,E,"GET",0,f,"POST",0,g]),a()}catch(e){a(e)}},!1),825593,e=>e.a(async(t,a)=>{try{var r=e.i(747909),n=e.i(174017),s=e.i(996250),i=e.i(759756),o=e.i(561916),l=e.i(174677),u=e.i(869741),d=e.i(316795),c=e.i(487718),p=e.i(995169),h=e.i(47587),R=e.i(666012),f=e.i(570101),g=e.i(626937),E=e.i(10372),v=e.i(193695);e.i(820232);var m=e.i(600220),N=e.i(522051),C=t([N]);[N]=C.then?(await C)():C;let w=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/claude-settings/route",pathname:"/api/cli-tools/claude-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/claude-settings/route.ts",nextConfigOutput:"standalone",userland:N,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:T,serverHooks:O}=w;async function y(e,t,a){a.requestMeta&&(0,i.setRequestMeta)(e,a.requestMeta),w.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/cli-tools/claude-settings/route";r=r.replace(/\/index$/,"")||"/";let s=await w.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:N,params:C,nextConfig:y,parsedUrl:A,isDraftMode:T,prerenderManifest:O,routerServerContext:_,isOnDemandRevalidate:S,revalidateOnlyGenerated:P,resolvedPathname:x,clientReferenceManifest:b,serverActionsManifest:I}=s,H=(0,u.normalizeAppPath)(r),U=!!(O.dynamicRoutes[H]||O.routes[x]),M=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,A,!1):t.end("This page could not be found"),null);if(U&&!T){let e=!!O.routes[x],t=O.dynamicRoutes[H];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await M();throw new v.NoFallbackError}}let k=null;!U||w.isDev||T||(k=x,k="/index"===k?"/":k);let L=!0===w.isDev||!U,j=U&&!L;I&&b&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:b,serverActionsManifest:I});let D=e.method||"GET",F=(0,o.getTracer)(),q=F.getActiveScopeSpan(),B=!!(null==_?void 0:_.isWrappedByNextServer),K=!!(0,i.getRequestMeta)(e,"minimalMode"),$=(0,i.getRequestMeta)(e,"incrementalCache")||await w.getIncrementalCache(e,y,O,K);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let J={params:C,previewProps:O.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:L,incrementalCache:$,cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>w.onRequestError(e,t,r,n,_)},sharedContext:{buildId:N}},W=new d.NodeNextRequest(e),G=new d.NodeNextResponse(t),V=c.NextRequestAdapter.fromNodeNextRequest(W,(0,c.signalFromNodeResponse)(t));try{let s,i=async e=>w.handle(V,J).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=F.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=`${D} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",n),s.updateName(t))}else e.updateName(`${D} ${r}`)}),l=async s=>{var o,l;let u=async({previousCacheEntry:n})=>{try{if(!K&&S&&P&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await i(s);e.fetchMetrics=J.renderOpts.fetchMetrics;let o=J.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=J.renderOpts.collectedTags;if(!U)return await (0,R.sendResponse)(W,G,r,J.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(r.headers);l&&(t[E.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=E.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,n=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=E.INFINITE_CACHE?void 0:J.renderOpts.collectedExpire;return{value:{kind:m.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 w.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:S})},!1,_),t}},d=await w.handleResponse({req:e,nextConfig:y,cacheKey:k,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:P,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:K});if(!U)return null;if((null==d||null==(o=d.value)?void 0:o.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",S?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),T&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return K&&U||c.delete(E.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,g.getCacheControlHeader)(d.cacheControl)),await (0,R.sendResponse)(W,G,new Response(d.value.body,{headers:c,status:d.value.status||200})),null};B&&q?await l(q):(s=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(p.BaseServerSpan.handleRequest,{spanName:`${D} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},l),void 0,!B))}catch(t){if(t instanceof v.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:S})},!1,_),U)throw t;return await (0,R.sendResponse)(W,G,new Response(null,{status:500})),null}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:T})},"routeModule",0,w,"serverHooks",0,O,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,T]),a()}catch(e){a(e)}},!1)];
1
+ module.exports=[522051,e=>e.a(async(t,a)=>{try{var r=e.i(745015),n=e.i(89171),s=e.i(924868),i=e.i(814747),o=e.i(266240),l=e.i(841788),u=e.i(197892),d=e.i(676088),c=e.i(200392);e.i(245272);var p=e.i(125852),h=e.i(195975),R=t([d,c]);[d,c]=R.then?(await R)():R;let v=()=>(0,o.getCliPrimaryConfigPath)("claude"),m=async()=>{try{let e=v(),t=await s.default.readFile(e,"utf-8");return JSON.parse(t)}catch(e){if("ENOENT"===e.code)return null;throw e}};async function g(){try{let e=await (0,o.getCliRuntimeStatus)("claude");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?"Claude CLI is installed but not runnable":"Claude CLI is not installed"});let t=await m(),a=!!t?.env?.ANTHROPIC_BASE_URL;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:a,settingsPath:v()})}catch(e){return console.log("Error checking claude settings:",e),n.NextResponse.json({error:"Failed to check claude 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,o.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let a=(0,c.validateBody)(d.cliSettingsEnvSchema,t);if((0,c.isValidationFailure)(a))return n.NextResponse.json({error:a.error},{status:400});let{env:r}=a.data,h="string"==typeof t?.keyId?t.keyId.trim():null;if(h)try{let e=await (0,p.getApiKeyById)(h);e?.key&&(r.ANTHROPIC_AUTH_TOKEN=e.key)}catch{}let R=v(),g=i.default.dirname(R);await s.default.mkdir(g,{recursive:!0}),await (0,l.createBackup)("claude",R);let f={};try{let e=await s.default.readFile(R,"utf-8");f=JSON.parse(e)}catch(e){if("ENOENT"!==e.code)throw e}r.ANTHROPIC_BASE_URL&&(r.ANTHROPIC_BASE_URL=r.ANTHROPIC_BASE_URL.endsWith("/v1")?r.ANTHROPIC_BASE_URL:`${r.ANTHROPIC_BASE_URL}/v1`);let E={...f,env:{...f.env||{},...r}};await s.default.writeFile(R,JSON.stringify(E,null,2));try{(0,u.saveCliToolLastConfigured)("claude")}catch{}return n.NextResponse.json({success:!0,message:"Settings updated successfully"})}catch(e){return console.log("Error updating claude settings:",e),n.NextResponse.json({error:"Failed to update claude settings"},{status:500})}}let N=["ANTHROPIC_BASE_URL","ANTHROPIC_AUTH_TOKEN","ANTHROPIC_DEFAULT_OPUS_MODEL","ANTHROPIC_DEFAULT_SONNET_MODEL","ANTHROPIC_DEFAULT_HAIKU_MODEL","API_TIMEOUT_MS"];async function E(){try{let e=(0,o.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let t=v(),a={};try{let e=await s.default.readFile(t,"utf-8");a=JSON.parse(e)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({success:!0,message:"No settings file to reset"});throw e}await (0,l.createBackup)("claude",t),a.env&&(N.forEach(e=>{delete a.env[e]}),0===Object.keys(a.env).length&&delete a.env),await s.default.writeFile(t,JSON.stringify(a,null,2));try{(0,u.deleteCliToolLastConfigured)("claude")}catch{}return n.NextResponse.json({success:!0,message:"Settings reset successfully"})}catch(e){return console.log("Error resetting claude settings:",e),n.NextResponse.json({error:"Failed to reset claude settings"},{status:500})}}(0,h.ensureServerEntryExports)([g,f,E]),(0,r.registerServerReference)(g,"006f45e1397ee09f28713eeea007c757accef8040c",null),(0,r.registerServerReference)(f,"40188de0298a0a4d61d5b21609e4f5425a8938f39b",null),(0,r.registerServerReference)(E,"002b55e5a5dd6c23f5d6d98689cc89ea268ec4173c",null),e.s(["DELETE",0,E,"GET",0,g,"POST",0,f]),a()}catch(e){a(e)}},!1),825593,e=>e.a(async(t,a)=>{try{var r=e.i(747909),n=e.i(174017),s=e.i(996250),i=e.i(759756),o=e.i(561916),l=e.i(174677),u=e.i(869741),d=e.i(316795),c=e.i(487718),p=e.i(995169),h=e.i(47587),R=e.i(666012),g=e.i(570101),f=e.i(626937),E=e.i(10372),v=e.i(193695);e.i(820232);var m=e.i(600220),N=e.i(522051),C=t([N]);[N]=C.then?(await C)():C;let w=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/claude-settings/route",pathname:"/api/cli-tools/claude-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/claude-settings/route.ts",nextConfigOutput:"standalone",userland:N,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:T,serverHooks:O}=w;async function y(e,t,a){a.requestMeta&&(0,i.setRequestMeta)(e,a.requestMeta),w.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/cli-tools/claude-settings/route";r=r.replace(/\/index$/,"")||"/";let s=await w.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:N,params:C,nextConfig:y,parsedUrl:A,isDraftMode:T,prerenderManifest:O,routerServerContext:_,isOnDemandRevalidate:S,revalidateOnlyGenerated:P,resolvedPathname:x,clientReferenceManifest:I,serverActionsManifest:b}=s,H=(0,u.normalizeAppPath)(r),U=!!(O.dynamicRoutes[H]||O.routes[x]),M=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,A,!1):t.end("This page could not be found"),null);if(U&&!T){let e=!!O.routes[x],t=O.dynamicRoutes[H];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await M();throw new v.NoFallbackError}}let k=null;!U||w.isDev||T||(k=x,k="/index"===k?"/":k);let L=!0===w.isDev||!U,j=U&&!L;b&&I&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:I,serverActionsManifest:b});let D=e.method||"GET",F=(0,o.getTracer)(),q=F.getActiveScopeSpan(),B=!!(null==_?void 0:_.isWrappedByNextServer),K=!!(0,i.getRequestMeta)(e,"minimalMode"),$=(0,i.getRequestMeta)(e,"incrementalCache")||await w.getIncrementalCache(e,y,O,K);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let J={params:C,previewProps:O.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:L,incrementalCache:$,cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>w.onRequestError(e,t,r,n,_)},sharedContext:{buildId:N}},W=new d.NodeNextRequest(e),G=new d.NodeNextResponse(t),V=c.NextRequestAdapter.fromNodeNextRequest(W,(0,c.signalFromNodeResponse)(t));try{let s,i=async e=>w.handle(V,J).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=F.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=`${D} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",n),s.updateName(t))}else e.updateName(`${D} ${r}`)}),l=async s=>{var o,l;let u=async({previousCacheEntry:n})=>{try{if(!K&&S&&P&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await i(s);e.fetchMetrics=J.renderOpts.fetchMetrics;let o=J.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=J.renderOpts.collectedTags;if(!U)return await (0,R.sendResponse)(W,G,r,J.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(r.headers);l&&(t[E.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=E.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,n=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=E.INFINITE_CACHE?void 0:J.renderOpts.collectedExpire;return{value:{kind:m.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 w.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:S})},!1,_),t}},d=await w.handleResponse({req:e,nextConfig:y,cacheKey:k,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:P,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:K});if(!U)return null;if((null==d||null==(o=d.value)?void 0:o.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",S?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),T&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,g.fromNodeOutgoingHttpHeaders)(d.value.headers);return K&&U||c.delete(E.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,R.sendResponse)(W,G,new Response(d.value.body,{headers:c,status:d.value.status||200})),null};B&&q?await l(q):(s=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(p.BaseServerSpan.handleRequest,{spanName:`${D} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},l),void 0,!B))}catch(t){if(t instanceof v.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:S})},!1,_),U)throw t;return await (0,R.sendResponse)(W,G,new Response(null,{status:500})),null}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:T})},"routeModule",0,w,"serverHooks",0,O,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,T]),a()}catch(e){a(e)}},!1)];
2
2
 
3
3
  //# sourceMappingURL=_013gowh._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[524214,(e,t,s)=>{t.exports={name:"omniroute",version:"3.4.3",description:"Smart AI Router with auto fallback — route to FREE & cheap models, zero downtime. Works with Cursor, Cline, Claude Desktop, Codex, and any OpenAI-compatible tool.",type:"module",bin:{omniroute:"bin/omniroute.mjs","omniroute-reset-password":"bin/reset-password.mjs"},files:["bin/","app/","open-sse/mcp-server/","src/shared/contracts/","scripts/postinstall.mjs","scripts/native-binary-compat.mjs","README.md","LICENSE"],workspaces:["open-sse"],engines:{node:">=18.0.0 <24.0.0"},keywords:["ai","router","proxy","openai","claude","anthropic","gemini","fallback","cursor","cline","codex","llm","auto-fallback"],license:"MIT",author:"diegosouzapw",repository:{type:"git",url:"https://github.com/diegosouzapw/OmniRoute"},homepage:"https://omniroute.online",scripts:{dev:"node scripts/run-next.mjs dev",build:"node scripts/build-next-isolated.mjs","build:cli":"node scripts/prepublish.mjs",start:"node scripts/run-next.mjs start",lint:"eslint .","electron:dev":'concurrently "npm run dev" "wait-on http://localhost:20128 && cd electron && npm run dev"',"electron:build":"npm run build && cd electron && npm run build","electron:build:win":"npm run build && cd electron && npm run build:win","electron:build:mac":"npm run build && cd electron && npm run build:mac","electron:build:linux":"npm run build && cd electron && npm run build:linux",test:"node --import tsx/esm --test tests/unit/*.test.mjs","test:unit":"node --import tsx/esm --test tests/unit/*.test.mjs","test:plan3":"node --import tsx/esm --test tests/unit/plan3-p0.test.mjs","test:fixes":"node --import tsx/esm --test tests/unit/fixes-p1.test.mjs","test:security":"node --import tsx/esm --test tests/unit/security-fase01.test.mjs","check:cycles":"node scripts/check-cycles.mjs","check:route-validation:t06":"node scripts/check-route-validation.mjs","check:any-budget:t11":"node scripts/check-t11-any-budget.mjs","check:docs-sync":"node scripts/check-docs-sync.mjs","typecheck:core":"tsc --pretty false -p tsconfig.typecheck-core.json","typecheck:noimplicit:core":"tsc --pretty false -p tsconfig.typecheck-noimplicit-core.json","test:integration":"node --import tsx/esm --test tests/integration/*.test.mjs","test:e2e":"node scripts/run-playwright-tests.mjs test tests/e2e/*.spec.ts","test:protocols:e2e":"node scripts/run-protocol-clients-tests.mjs","test:vitest":"vitest run open-sse/mcp-server/__tests__/*.test.ts open-sse/services/autoCombo/__tests__/*.test.ts","test:ecosystem":"node scripts/run-ecosystem-tests.mjs","test:coverage":"c8 --exclude=tests/** --exclude=**/*.test.* --reporter=text-summary --reporter=html --reporter=json-summary --reporter=lcov --check-coverage --statements 55 --lines 55 --functions 55 --branches 60 node --import tsx/esm --test tests/unit/*.test.mjs","test:coverage:legacy":"c8 --exclude=open-sse --check-coverage --lines 50 --functions 50 --branches 50 node --import tsx/esm --test tests/unit/*.test.mjs","coverage:report":"c8 report --exclude=tests/** --exclude=**/*.test.* --reporter=text --reporter=text-summary --reporter=html --reporter=json-summary --reporter=lcov","coverage:report:legacy":"c8 report --exclude=open-sse --reporter=text --reporter=text-summary","test:all":"npm run test:unit && npm run test:vitest && npm run test:ecosystem && npm run test:e2e",check:"npm run lint && npm run test",prepublishOnly:"npm run build:cli",postinstall:"node scripts/postinstall.mjs",prepare:"husky","system-info":"node scripts/system-info.mjs"},dependencies:{"@lobehub/icons":"^5.0.1","@modelcontextprotocol/sdk":"^1.27.1","@monaco-editor/react":"^4.7.0","@swc/helpers":"0.5.19",bcryptjs:"^3.0.3","better-sqlite3":"^12.6.2",bottleneck:"^2.19.5",dompurify:"^3.3.2",express:"^5.2.1","fetch-socks":"^1.3.2","http-proxy-middleware":"^3.0.5","https-proxy-agent":"^8.0.0",jose:"^6.1.3","js-yaml":"^4.1.0",lowdb:"^7.0.1","monaco-editor":"^0.55.1",next:"^16.0.10","next-intl":"^4.8.3","node-machine-id":"^1.1.12",open:"^11.0.0",ora:"^9.1.0",pino:"^10.3.1","pino-pretty":"^13.1.3",react:"19.2.4","react-dom":"19.2.4",recharts:"^3.7.0",selfsigned:"^5.5.0",tsx:"^4.21.0",undici:"^7.19.2",uuid:"^13.0.0","wreq-js":"^2.0.1",yazl:"^3.3.1",zod:"^4.3.6",zustand:"^5.0.10"},optionalDependencies:{keytar:"^7.9.0"},devDependencies:{"@playwright/test":"^1.58.2","@tailwindcss/postcss":"^4.1.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@types/bcryptjs":"^3.0.0","@types/better-sqlite3":"^7.6.13","@types/keytar":"^4.4.0","@types/node":"^25.2.3","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",c8:"^11.0.0",concurrently:"^9.2.1","cross-env":"^10.1.0",eslint:"^9.39.2","eslint-config-next":"^16.0.10",husky:"^9.1.7",jsdom:"^29.0.1","lint-staged":"^16.2.7",prettier:"^3.8.1","prop-types":"^15.8.1",tailwindcss:"^4",typescript:"^5.9.3","typescript-eslint":"^8.56.0",vitest:"^4.0.18","wait-on":"^9.0.4"},"lint-staged":{"*.{js,jsx,ts,tsx,mjs}":["prettier --write","eslint --fix --no-error-on-unmatched-pattern"],"*.{json,md,yml,yaml,css}":["prettier --write"]},pnpm:{onlyBuiltDependencies:["@parcel/watcher","@swc/core","better-sqlite3","esbuild","omniroute","sharp"]},overrides:{dompurify:"^3.3.2","path-to-regexp":"^8.4.0",react:"$react","react-dom":"$react-dom"}}},526346,e=>{"use strict";var t=e.i(747909),s=e.i(174017),o=e.i(996250),r=e.i(759756),n=e.i(561916),i=e.i(174677),a=e.i(869741),c=e.i(316795),l=e.i(487718),u=e.i(995169),p=e.i(47587),d=e.i(666012),m=e.i(570101),h=e.i(626937),g=e.i(10372),y=e.i(193695);e.i(820232);var f=e.i(600220),v=e.i(89171),R=e.i(233405),b=e.i(224361),E=e.i(235328),w=e.i(874533),x=e.i(902157),A=e.i(912714),C=e.i(750227);let T=(0,e.i(812057).promisify)(w.execFile);async function k(e){try{return await (0,A.access)(e),!0}catch{return!1}}function _(e){return`'${e.replace(/'/g,"'\"'\"'")}'`}function O(e=process.env){let t=e.DATA_DIR||"/tmp/omniroute",s=e.AUTO_UPDATE_REPO_DIR||"/workspace/omniroute",o="docker-compose"===e.AUTO_UPDATE_MODE?"docker-compose":"npm";return"npm"===o&&((0,x.existsSync)(C.default.join(process.cwd(),".git"))||!"/ROOT/src/lib/system".includes("node_modules"))&&(o="source"),{mode:o,repoDir:s,composeFile:e.AUTO_UPDATE_COMPOSE_FILE||C.default.join(s,"docker-compose.yml"),composeProfile:e.AUTO_UPDATE_COMPOSE_PROFILE||"cli",composeService:e.AUTO_UPDATE_SERVICE||"omniroute-cli",gitRemote:e.AUTO_UPDATE_GIT_REMOTE||"origin",patchCommits:(e.AUTO_UPDATE_PATCH_COMMITS||"").split(/[\s,]+/).map(e=>e.trim()).filter(Boolean),logPath:e.AUTO_UPDATE_LOG_PATH||C.default.join(t,"logs","auto-update.log")}}async function P(e=T){try{return await e("docker",["compose","version"],{timeout:1e4}),"docker compose"}catch{}try{return await e("docker-compose",["version"],{timeout:1e4}),"docker-compose"}catch{return null}}async function j(e,t=T,s=k){if("source"===e.mode)return{supported:!1,reason:"Manual 'git pull && npm install && npm run build' is required for source installations.",composeCommand:null};if("docker-compose"!==e.mode)return{supported:!0,reason:null,composeCommand:null};if(!await s(e.repoDir))return{supported:!1,reason:`Repository directory not found: ${e.repoDir}`,composeCommand:null};if(!await s(e.composeFile))return{supported:!1,reason:`Compose file not found: ${e.composeFile}`,composeCommand:null};if(!await s("/var/run/docker.sock"))return{supported:!1,reason:"Docker socket is not mounted into the OmniRoute container.",composeCommand:null};try{await t("git",["--version"],{timeout:1e4})}catch{return{supported:!1,reason:"git is not available inside the OmniRoute container.",composeCommand:null}}let o=await P(t);return o?{supported:!0,reason:null,composeCommand:o}:{supported:!1,reason:"Neither docker compose nor docker-compose is available inside the OmniRoute container.",composeCommand:null}}async function S({latest:e,env:t=process.env,execFileImpl:s=T,spawnImpl:o=w.spawn}){let r=O(t),n=await j(r,s);if(!n.supported)return{started:!1,channel:r.mode,logPath:r.logPath,composeCommand:n.composeCommand,error:n.reason||"Auto-update runtime is not available."};let i="docker-compose"===r.mode?function({latest:e,config:t,composeCommand:s}){let o=e.startsWith("v")?e:`v${e}`,r=t.patchCommits.length?[`git cherry-pick --keep-redundant-commits ${t.patchCommits.map(_).join(" ")}`]:[];return["set -eu",'export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH"',`REPO_DIR=${_(t.repoDir)}`,`COMPOSE_FILE=${_(t.composeFile)}`,`PROFILE=${_(t.composeProfile)}`,`SERVICE=${_(t.composeService)}`,`REMOTE=${_(t.gitRemote)}`,`TARGET_TAG=${_(o)}`,'cd "$REPO_DIR"','git config --global --add safe.directory "$REPO_DIR" >/dev/null 2>&1 || true','if [ -n "$(git status --porcelain)" ]; then',' echo "[AutoUpdate] Refusing update: git worktree has local changes." >&2'," exit 1","fi",'git fetch --tags "$REMOTE"','if ! git rev-parse -q --verify "refs/tags/$TARGET_TAG" >/dev/null 2>&1; then',' echo "[AutoUpdate] Tag $TARGET_TAG not found on remote $REMOTE." >&2'," exit 1","fi",'backup_branch="autoupdate/pre-${TARGET_TAG#v}-$(date +%Y%m%d-%H%M%S)"','git branch "$backup_branch" >/dev/null 2>&1 || true','git checkout -B "autoupdate/${TARGET_TAG#v}" "$TARGET_TAG"',...r,'export COMPOSE_PROFILES="$PROFILE"',"docker compose"===s?'docker compose -f "$COMPOSE_FILE" up -d --build "$SERVICE"':'docker-compose -f "$COMPOSE_FILE" up -d --build "$SERVICE"',`echo "[AutoUpdate] Successfully switched to ${o} via ${s}."`].join("\n")}({latest:e,config:r,composeCommand:n.composeCommand||"docker-compose"}):`set -eu
1
+ module.exports=[524214,(e,t,s)=>{t.exports={name:"omniroute",version:"3.4.4",description:"Smart AI Router with auto fallback — route to FREE & cheap models, zero downtime. Works with Cursor, Cline, Claude Desktop, Codex, and any OpenAI-compatible tool.",type:"module",bin:{omniroute:"bin/omniroute.mjs","omniroute-reset-password":"bin/reset-password.mjs"},files:["bin/","app/","open-sse/mcp-server/","src/shared/contracts/","scripts/postinstall.mjs","scripts/native-binary-compat.mjs","README.md","LICENSE"],workspaces:["open-sse"],engines:{node:">=18.0.0 <24.0.0"},keywords:["ai","router","proxy","openai","claude","anthropic","gemini","fallback","cursor","cline","codex","llm","auto-fallback"],license:"MIT",author:"diegosouzapw",repository:{type:"git",url:"https://github.com/diegosouzapw/OmniRoute"},homepage:"https://omniroute.online",scripts:{dev:"node scripts/run-next.mjs dev",build:"node scripts/build-next-isolated.mjs","build:cli":"node scripts/prepublish.mjs",start:"node scripts/run-next.mjs start",lint:"eslint .","electron:dev":'concurrently "npm run dev" "wait-on http://localhost:20128 && cd electron && npm run dev"',"electron:build":"npm run build && cd electron && npm run build","electron:build:win":"npm run build && cd electron && npm run build:win","electron:build:mac":"npm run build && cd electron && npm run build:mac","electron:build:linux":"npm run build && cd electron && npm run build:linux",test:"node --import tsx/esm --test tests/unit/*.test.mjs","test:unit":"node --import tsx/esm --test tests/unit/*.test.mjs","test:plan3":"node --import tsx/esm --test tests/unit/plan3-p0.test.mjs","test:fixes":"node --import tsx/esm --test tests/unit/fixes-p1.test.mjs","test:security":"node --import tsx/esm --test tests/unit/security-fase01.test.mjs","check:cycles":"node scripts/check-cycles.mjs","check:route-validation:t06":"node scripts/check-route-validation.mjs","check:any-budget:t11":"node scripts/check-t11-any-budget.mjs","check:docs-sync":"node scripts/check-docs-sync.mjs","typecheck:core":"tsc --pretty false -p tsconfig.typecheck-core.json","typecheck:noimplicit:core":"tsc --pretty false -p tsconfig.typecheck-noimplicit-core.json","test:integration":"node --import tsx/esm --test tests/integration/*.test.mjs","test:e2e":"node scripts/run-playwright-tests.mjs test tests/e2e/*.spec.ts","test:protocols:e2e":"node scripts/run-protocol-clients-tests.mjs","test:vitest":"vitest run open-sse/mcp-server/__tests__/*.test.ts open-sse/services/autoCombo/__tests__/*.test.ts","test:ecosystem":"node scripts/run-ecosystem-tests.mjs","test:coverage":"c8 --exclude=tests/** --exclude=**/*.test.* --reporter=text-summary --reporter=html --reporter=json-summary --reporter=lcov --check-coverage --statements 55 --lines 55 --functions 55 --branches 60 node --import tsx/esm --test tests/unit/*.test.mjs","test:coverage:legacy":"c8 --exclude=open-sse --check-coverage --lines 50 --functions 50 --branches 50 node --import tsx/esm --test tests/unit/*.test.mjs","coverage:report":"c8 report --exclude=tests/** --exclude=**/*.test.* --reporter=text --reporter=text-summary --reporter=html --reporter=json-summary --reporter=lcov","coverage:report:legacy":"c8 report --exclude=open-sse --reporter=text --reporter=text-summary","test:all":"npm run test:unit && npm run test:vitest && npm run test:ecosystem && npm run test:e2e",check:"npm run lint && npm run test",prepublishOnly:"npm run build:cli",postinstall:"node scripts/postinstall.mjs",prepare:"husky","system-info":"node scripts/system-info.mjs"},dependencies:{"@lobehub/icons":"^5.0.1","@modelcontextprotocol/sdk":"^1.27.1","@monaco-editor/react":"^4.7.0","@swc/helpers":"0.5.19",bcryptjs:"^3.0.3","better-sqlite3":"^12.6.2",bottleneck:"^2.19.5",dompurify:"^3.3.2",express:"^5.2.1","fetch-socks":"^1.3.2","http-proxy-middleware":"^3.0.5","https-proxy-agent":"^8.0.0",jose:"^6.1.3","js-yaml":"^4.1.0",lowdb:"^7.0.1","monaco-editor":"^0.55.1",next:"^16.0.10","next-intl":"^4.8.3","node-machine-id":"^1.1.12",open:"^11.0.0",ora:"^9.1.0",pino:"^10.3.1","pino-pretty":"^13.1.3",react:"19.2.4","react-dom":"19.2.4",recharts:"^3.7.0",selfsigned:"^5.5.0",tsx:"^4.21.0",undici:"^7.19.2",uuid:"^13.0.0","wreq-js":"^2.0.1",yazl:"^3.3.1",zod:"^4.3.6",zustand:"^5.0.10"},optionalDependencies:{keytar:"^7.9.0"},devDependencies:{"@playwright/test":"^1.58.2","@tailwindcss/postcss":"^4.1.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@types/bcryptjs":"^3.0.0","@types/better-sqlite3":"^7.6.13","@types/keytar":"^4.4.0","@types/node":"^25.2.3","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",c8:"^11.0.0",concurrently:"^9.2.1","cross-env":"^10.1.0",eslint:"^9.39.2","eslint-config-next":"^16.0.10",husky:"^9.1.7",jsdom:"^29.0.1","lint-staged":"^16.2.7",prettier:"^3.8.1","prop-types":"^15.8.1",tailwindcss:"^4",typescript:"^5.9.3","typescript-eslint":"^8.56.0",vitest:"^4.0.18","wait-on":"^9.0.4"},"lint-staged":{"*.{js,jsx,ts,tsx,mjs}":["prettier --write","eslint --fix --no-error-on-unmatched-pattern"],"*.{json,md,yml,yaml,css}":["prettier --write"]},pnpm:{onlyBuiltDependencies:["@parcel/watcher","@swc/core","better-sqlite3","esbuild","omniroute","sharp"]},overrides:{dompurify:"^3.3.2","path-to-regexp":"^8.4.0",react:"$react","react-dom":"$react-dom"}}},526346,e=>{"use strict";var t=e.i(747909),s=e.i(174017),o=e.i(996250),r=e.i(759756),n=e.i(561916),i=e.i(174677),a=e.i(869741),c=e.i(316795),l=e.i(487718),u=e.i(995169),p=e.i(47587),d=e.i(666012),m=e.i(570101),h=e.i(626937),g=e.i(10372),y=e.i(193695);e.i(820232);var f=e.i(600220),v=e.i(89171),R=e.i(233405),b=e.i(224361),E=e.i(235328),w=e.i(874533),x=e.i(902157),A=e.i(912714),C=e.i(750227);let T=(0,e.i(812057).promisify)(w.execFile);async function k(e){try{return await (0,A.access)(e),!0}catch{return!1}}function _(e){return`'${e.replace(/'/g,"'\"'\"'")}'`}function O(e=process.env){let t=e.DATA_DIR||"/tmp/omniroute",s=e.AUTO_UPDATE_REPO_DIR||"/workspace/omniroute",o="docker-compose"===e.AUTO_UPDATE_MODE?"docker-compose":"npm";return"npm"===o&&((0,x.existsSync)(C.default.join(process.cwd(),".git"))||!"/ROOT/src/lib/system".includes("node_modules"))&&(o="source"),{mode:o,repoDir:s,composeFile:e.AUTO_UPDATE_COMPOSE_FILE||C.default.join(s,"docker-compose.yml"),composeProfile:e.AUTO_UPDATE_COMPOSE_PROFILE||"cli",composeService:e.AUTO_UPDATE_SERVICE||"omniroute-cli",gitRemote:e.AUTO_UPDATE_GIT_REMOTE||"origin",patchCommits:(e.AUTO_UPDATE_PATCH_COMMITS||"").split(/[\s,]+/).map(e=>e.trim()).filter(Boolean),logPath:e.AUTO_UPDATE_LOG_PATH||C.default.join(t,"logs","auto-update.log")}}async function P(e=T){try{return await e("docker",["compose","version"],{timeout:1e4}),"docker compose"}catch{}try{return await e("docker-compose",["version"],{timeout:1e4}),"docker-compose"}catch{return null}}async function j(e,t=T,s=k){if("source"===e.mode)return{supported:!1,reason:"Manual 'git pull && npm install && npm run build' is required for source installations.",composeCommand:null};if("docker-compose"!==e.mode)return{supported:!0,reason:null,composeCommand:null};if(!await s(e.repoDir))return{supported:!1,reason:`Repository directory not found: ${e.repoDir}`,composeCommand:null};if(!await s(e.composeFile))return{supported:!1,reason:`Compose file not found: ${e.composeFile}`,composeCommand:null};if(!await s("/var/run/docker.sock"))return{supported:!1,reason:"Docker socket is not mounted into the OmniRoute container.",composeCommand:null};try{await t("git",["--version"],{timeout:1e4})}catch{return{supported:!1,reason:"git is not available inside the OmniRoute container.",composeCommand:null}}let o=await P(t);return o?{supported:!0,reason:null,composeCommand:o}:{supported:!1,reason:"Neither docker compose nor docker-compose is available inside the OmniRoute container.",composeCommand:null}}async function S({latest:e,env:t=process.env,execFileImpl:s=T,spawnImpl:o=w.spawn}){let r=O(t),n=await j(r,s);if(!n.supported)return{started:!1,channel:r.mode,logPath:r.logPath,composeCommand:n.composeCommand,error:n.reason||"Auto-update runtime is not available."};let i="docker-compose"===r.mode?function({latest:e,config:t,composeCommand:s}){let o=e.startsWith("v")?e:`v${e}`,r=t.patchCommits.length?[`git cherry-pick --keep-redundant-commits ${t.patchCommits.map(_).join(" ")}`]:[];return["set -eu",'export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH"',`REPO_DIR=${_(t.repoDir)}`,`COMPOSE_FILE=${_(t.composeFile)}`,`PROFILE=${_(t.composeProfile)}`,`SERVICE=${_(t.composeService)}`,`REMOTE=${_(t.gitRemote)}`,`TARGET_TAG=${_(o)}`,'cd "$REPO_DIR"','git config --global --add safe.directory "$REPO_DIR" >/dev/null 2>&1 || true','if [ -n "$(git status --porcelain)" ]; then',' echo "[AutoUpdate] Refusing update: git worktree has local changes." >&2'," exit 1","fi",'git fetch --tags "$REMOTE"','if ! git rev-parse -q --verify "refs/tags/$TARGET_TAG" >/dev/null 2>&1; then',' echo "[AutoUpdate] Tag $TARGET_TAG not found on remote $REMOTE." >&2'," exit 1","fi",'backup_branch="autoupdate/pre-${TARGET_TAG#v}-$(date +%Y%m%d-%H%M%S)"','git branch "$backup_branch" >/dev/null 2>&1 || true','git checkout -B "autoupdate/${TARGET_TAG#v}" "$TARGET_TAG"',...r,'export COMPOSE_PROFILES="$PROFILE"',"docker compose"===s?'docker compose -f "$COMPOSE_FILE" up -d --build "$SERVICE"':'docker-compose -f "$COMPOSE_FILE" up -d --build "$SERVICE"',`echo "[AutoUpdate] Successfully switched to ${o} via ${s}."`].join("\n")}({latest:e,config:r,composeCommand:n.composeCommand||"docker-compose"}):`set -eu
2
2
  npm install -g omniroute@${e} --ignore-scripts --legacy-peer-deps
3
3
  if command -v pm2 >/dev/null 2>&1; then
4
4
  pm2 restart omniroute || true
@@ -1,3 +1,3 @@
1
- module.exports=[495767,e=>e.a(async(t,a)=>{try{var r=e.i(745015),n=e.i(89171),s=e.i(924868),o=e.i(814747),i=e.i(266240),l=e.i(841788),d=e.i(197892),u=e.i(676088),c=e.i(200392);e.i(245272);var p=e.i(125852),m=e.i(195975),h=t([u,c]);[u,c]=h.then?(await h)():h;let R=()=>(0,i.getCliPrimaryConfigPath)("openclaw"),v=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 f(){try{let e=await (0,i.getCliRuntimeStatus)("openclaw");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?"Open Claw CLI is installed but not runnable":"Open Claw CLI is not installed"});let t=await v();return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:t,hasOmniRoute:!!t&&!!t.models&&!!t.models.providers&&!!t.models.providers.omniroute,settingsPath:R()})}catch(e){return console.log("Error checking openclaw settings:",e),n.NextResponse.json({error:"Failed to check openclaw settings"},{status:500})}}async function g(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let a=(0,c.validateBody)(u.cliModelConfigSchema,t);if((0,c.isValidationFailure)(a))return n.NextResponse.json({error:a.error},{status:400});let{baseUrl:r,apiKey:m,model:h}=a.data,f="string"==typeof t?.keyId?t.keyId.trim():null;if(f)try{let e=await (0,p.getApiKeyById)(f);e?.key&&(m=e.key)}catch{}let g=o.default.dirname(R()),w=R();await s.default.mkdir(g,{recursive:!0}),await (0,l.createBackup)("openclaw",w);let v={};try{let e=await s.default.readFile(w,"utf-8");v=JSON.parse(e)}catch{}v.agents||(v.agents={}),v.agents.defaults||(v.agents.defaults={}),v.agents.defaults.model||(v.agents.defaults.model={}),v.models||(v.models={}),v.models.providers||(v.models.providers={});let y=r.endsWith("/v1")?r:`${r}/v1`;v.agents.defaults.model.primary=`omniroute/${h}`,v.models.providers.omniroute={baseUrl:y,apiKey:m||"your_api_key",api:"openai-completions",models:[{id:h,name:h.split("/").pop()||h}]},await s.default.writeFile(w,JSON.stringify(v,null,2));try{(0,d.saveCliToolLastConfigured)("openclaw")}catch{}return n.NextResponse.json({success:!0,message:"Open Claw settings applied successfully!",settingsPath:w})}catch(e){return console.log("Error updating openclaw settings:",e),n.NextResponse.json({error:"Failed to update openclaw settings"},{status:500})}}async function w(){try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let t=R();await (0,l.createBackup)("openclaw",t);let a={};try{let e=await s.default.readFile(t,"utf-8");a=JSON.parse(e)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({success:!0,message:"No settings file to reset"});throw e}a.models&&a.models.providers&&(delete a.models.providers.omniroute,0===Object.keys(a.models.providers).length&&delete a.models.providers),a.agents?.defaults?.model?.primary?.startsWith("omniroute/")&&delete a.agents.defaults.model.primary,await s.default.writeFile(t,JSON.stringify(a,null,2));try{(0,d.deleteCliToolLastConfigured)("openclaw")}catch{}return n.NextResponse.json({success:!0,message:"OmniRoute settings removed successfully"})}catch(e){return console.log("Error resetting openclaw settings:",e),n.NextResponse.json({error:"Failed to reset openclaw settings"},{status:500})}}(0,m.ensureServerEntryExports)([f,g,w]),(0,r.registerServerReference)(f,"000ac612da03959c0e134019a12496c9dfa47939b3",null),(0,r.registerServerReference)(g,"405a10bcc08404d22318d29aba1f9bd4ddff1f5ce5",null),(0,r.registerServerReference)(w,"00981eebe1d07cc31f2f644547ed197b9b403bfcfb",null),e.s(["DELETE",0,w,"GET",0,f,"POST",0,g]),a()}catch(e){a(e)}},!1),128142,e=>e.a(async(t,a)=>{try{var r=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),w=e.i(10372),R=e.i(193695);e.i(820232);var v=e.i(600220),y=e.i(495767),C=t([y]);[y]=C.then?(await C)():C;let N=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/openclaw-settings/route",pathname:"/api/cli-tools/openclaw-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/openclaw-settings/route.ts",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:b,workUnitAsyncStorage:x,serverHooks:O}=N;async function E(e,t,a){a.requestMeta&&(0,o.setRequestMeta)(e,a.requestMeta),N.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/cli-tools/openclaw-settings/route";r=r.replace(/\/index$/,"")||"/";let s=await N.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,params:C,nextConfig:E,parsedUrl:b,isDraftMode:x,prerenderManifest:O,routerServerContext:S,isOnDemandRevalidate:A,revalidateOnlyGenerated:P,resolvedPathname:T,clientReferenceManifest:k,serverActionsManifest:_}=s,I=(0,d.normalizeAppPath)(r),j=!!(O.dynamicRoutes[I]||O.routes[T]),M=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,b,!1):t.end("This page could not be found"),null);if(j&&!x){let e=!!O.routes[T],t=O.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await M();throw new R.NoFallbackError}}let q=null;!j||N.isDev||x||(q=T,q="/index"===q?"/":q);let F=!0===N.isDev||!j,H=j&&!F;_&&k&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:k,serverActionsManifest:_});let U=e.method||"GET",D=(0,i.getTracer)(),$=D.getActiveScopeSpan(),B=!!(null==S?void 0:S.isWrappedByNextServer),K=!!(0,o.getRequestMeta)(e,"minimalMode"),L=(0,o.getRequestMeta)(e,"incrementalCache")||await N.getIncrementalCache(e,E,O,K);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let W={params:C,previewProps:O.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:F,incrementalCache:L,cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>N.onRequestError(e,t,r,n,S)},sharedContext:{buildId:y}},J=new u.NodeNextRequest(e),G=new u.NodeNextResponse(t),V=c.NextRequestAdapter.fromNodeNextRequest(J,(0,c.signalFromNodeResponse)(t));try{let s,o=async e=>N.handle(V,W).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=`${U} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",n),s.updateName(t))}else e.updateName(`${U} ${r}`)}),l=async s=>{var i,l;let d=async({previousCacheEntry:n})=>{try{if(!K&&A&&P&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await o(s);e.fetchMetrics=W.renderOpts.fetchMetrics;let i=W.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let l=W.renderOpts.collectedTags;if(!j)return await (0,h.sendResponse)(J,G,r,W.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(r.headers);l&&(t[w.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,n=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await N.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,S),t}},u=await N.handleResponse({req:e,nextConfig:E,cacheKey:q,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:P,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:K});if(!j)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",A?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return K&&j||c.delete(w.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,h.sendResponse)(J,G,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};B&&$?await l($):(s=D.getActiveScopeSpan(),await D.withPropagatedContext(e.headers,()=>D.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${r}`,kind:i.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l),void 0,!B))}catch(t){if(t instanceof R.NoFallbackError||await N.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,S),j)throw t;return await (0,h.sendResponse)(J,G,new Response(null,{status:500})),null}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:x})},"routeModule",0,N,"serverHooks",0,O,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,x]),a()}catch(e){a(e)}},!1)];
1
+ module.exports=[495767,e=>e.a(async(t,a)=>{try{var r=e.i(745015),n=e.i(89171),s=e.i(924868),o=e.i(814747),i=e.i(266240),l=e.i(841788),d=e.i(197892),u=e.i(676088),c=e.i(200392);e.i(245272);var p=e.i(125852),m=e.i(195975),f=t([u,c]);[u,c]=f.then?(await f)():f;let R=()=>(0,i.getCliPrimaryConfigPath)("openclaw"),v=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)("openclaw");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?"Open Claw CLI is installed but not runnable":"Open Claw CLI is not installed"});let t=await v();return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:t,hasOmniRoute:!!t&&!!t.models&&!!t.models.providers&&!!t.models.providers.omniroute,settingsPath:R()})}catch(e){return console.log("Error checking openclaw settings:",e),n.NextResponse.json({error:"Failed to check openclaw settings"},{status:500})}}async function g(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let a=(0,c.validateBody)(u.cliModelConfigSchema,t);if((0,c.isValidationFailure)(a))return n.NextResponse.json({error:a.error},{status:400});let{baseUrl:r,apiKey:m,model:f}=a.data,h="string"==typeof t?.keyId?t.keyId.trim():null;if(h)try{let e=await (0,p.getApiKeyById)(h);e?.key&&(m=e.key)}catch{}let g=o.default.dirname(R()),w=R();await s.default.mkdir(g,{recursive:!0}),await (0,l.createBackup)("openclaw",w);let v={};try{let e=await s.default.readFile(w,"utf-8");v=JSON.parse(e)}catch{}v.agents||(v.agents={}),v.agents.defaults||(v.agents.defaults={}),v.agents.defaults.model||(v.agents.defaults.model={}),v.models||(v.models={}),v.models.providers||(v.models.providers={});let y=r.endsWith("/v1")?r:`${r}/v1`;v.agents.defaults.model.primary=`omniroute/${f}`,v.models.providers.omniroute={baseUrl:y,apiKey:m||"your_api_key",api:"openai-completions",models:[{id:f,name:f.split("/").pop()||f}]},await s.default.writeFile(w,JSON.stringify(v,null,2));try{(0,d.saveCliToolLastConfigured)("openclaw")}catch{}return n.NextResponse.json({success:!0,message:"Open Claw settings applied successfully!",settingsPath:w})}catch(e){return console.log("Error updating openclaw settings:",e),n.NextResponse.json({error:"Failed to update openclaw settings"},{status:500})}}async function w(){try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let t=R();await (0,l.createBackup)("openclaw",t);let a={};try{let e=await s.default.readFile(t,"utf-8");a=JSON.parse(e)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({success:!0,message:"No settings file to reset"});throw e}a.models&&a.models.providers&&(delete a.models.providers.omniroute,0===Object.keys(a.models.providers).length&&delete a.models.providers),a.agents?.defaults?.model?.primary?.startsWith("omniroute/")&&delete a.agents.defaults.model.primary,await s.default.writeFile(t,JSON.stringify(a,null,2));try{(0,d.deleteCliToolLastConfigured)("openclaw")}catch{}return n.NextResponse.json({success:!0,message:"OmniRoute settings removed successfully"})}catch(e){return console.log("Error resetting openclaw settings:",e),n.NextResponse.json({error:"Failed to reset openclaw settings"},{status:500})}}(0,m.ensureServerEntryExports)([h,g,w]),(0,r.registerServerReference)(h,"001c8456ebf5d2cf66640e10f2e2d62a577a313097",null),(0,r.registerServerReference)(g,"408f7e735f786d7991dd65ad9ff69f81fd03820fc6",null),(0,r.registerServerReference)(w,"007ee36a9899f204b267cf9cc4131cef855288753b",null),e.s(["DELETE",0,w,"GET",0,h,"POST",0,g]),a()}catch(e){a(e)}},!1),128142,e=>e.a(async(t,a)=>{try{var r=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),f=e.i(666012),h=e.i(570101),g=e.i(626937),w=e.i(10372),R=e.i(193695);e.i(820232);var v=e.i(600220),y=e.i(495767),C=t([y]);[y]=C.then?(await C)():C;let N=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/openclaw-settings/route",pathname:"/api/cli-tools/openclaw-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/openclaw-settings/route.ts",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:x,workUnitAsyncStorage:b,serverHooks:O}=N;async function E(e,t,a){a.requestMeta&&(0,o.setRequestMeta)(e,a.requestMeta),N.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/cli-tools/openclaw-settings/route";r=r.replace(/\/index$/,"")||"/";let s=await N.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,params:C,nextConfig:E,parsedUrl:x,isDraftMode:b,prerenderManifest:O,routerServerContext:S,isOnDemandRevalidate:A,revalidateOnlyGenerated:P,resolvedPathname:T,clientReferenceManifest:k,serverActionsManifest:_}=s,I=(0,d.normalizeAppPath)(r),j=!!(O.dynamicRoutes[I]||O.routes[T]),M=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,x,!1):t.end("This page could not be found"),null);if(j&&!b){let e=!!O.routes[T],t=O.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await M();throw new R.NoFallbackError}}let q=null;!j||N.isDev||b||(q=T,q="/index"===q?"/":q);let F=!0===N.isDev||!j,H=j&&!F;_&&k&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:k,serverActionsManifest:_});let U=e.method||"GET",D=(0,i.getTracer)(),$=D.getActiveScopeSpan(),B=!!(null==S?void 0:S.isWrappedByNextServer),K=!!(0,o.getRequestMeta)(e,"minimalMode"),L=(0,o.getRequestMeta)(e,"incrementalCache")||await N.getIncrementalCache(e,E,O,K);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let W={params:C,previewProps:O.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:F,incrementalCache:L,cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>N.onRequestError(e,t,r,n,S)},sharedContext:{buildId:y}},J=new u.NodeNextRequest(e),G=new u.NodeNextResponse(t),V=c.NextRequestAdapter.fromNodeNextRequest(J,(0,c.signalFromNodeResponse)(t));try{let s,o=async e=>N.handle(V,W).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=`${U} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",n),s.updateName(t))}else e.updateName(`${U} ${r}`)}),l=async s=>{var i,l;let d=async({previousCacheEntry:n})=>{try{if(!K&&A&&P&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await o(s);e.fetchMetrics=W.renderOpts.fetchMetrics;let i=W.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let l=W.renderOpts.collectedTags;if(!j)return await (0,f.sendResponse)(J,G,r,W.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(r.headers);l&&(t[w.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,n=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await N.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,S),t}},u=await N.handleResponse({req:e,nextConfig:E,cacheKey:q,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:P,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:K});if(!j)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",A?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return K&&j||c.delete(w.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,f.sendResponse)(J,G,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};B&&$?await l($):(s=D.getActiveScopeSpan(),await D.withPropagatedContext(e.headers,()=>D.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${r}`,kind:i.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l),void 0,!B))}catch(t){if(t instanceof R.NoFallbackError||await N.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,S),j)throw t;return await (0,f.sendResponse)(J,G,new Response(null,{status:500})),null}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:b})},"routeModule",0,N,"serverHooks",0,O,"workAsyncStorage",0,x,"workUnitAsyncStorage",0,b]),a()}catch(e){a(e)}},!1)];
2
2
 
3
3
  //# sourceMappingURL=_05reh6o._.js.map