omniroute 3.4.0 → 3.4.1

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 (155) hide show
  1. package/README.md +107 -0
  2. package/app/.next/BUILD_ID +1 -1
  3. package/app/.next/build-manifest.json +2 -2
  4. package/app/.next/prerender-manifest.json +3 -3
  5. package/app/.next/server/app/(dashboard)/dashboard/a2a/page_client-reference-manifest.js +1 -1
  6. package/app/.next/server/app/(dashboard)/dashboard/agents/page_client-reference-manifest.js +1 -1
  7. package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  8. package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
  9. package/app/.next/server/app/(dashboard)/dashboard/audit/page_client-reference-manifest.js +1 -1
  10. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
  11. package/app/.next/server/app/(dashboard)/dashboard/auto-combo/page_client-reference-manifest.js +1 -1
  12. package/app/.next/server/app/(dashboard)/dashboard/cache/page_client-reference-manifest.js +1 -1
  13. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  14. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  15. package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
  16. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  17. package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  18. package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
  19. package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
  20. package/app/.next/server/app/(dashboard)/dashboard/mcp/page_client-reference-manifest.js +1 -1
  21. package/app/.next/server/app/(dashboard)/dashboard/media/page_client-reference-manifest.js +1 -1
  22. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
  23. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  24. package/app/.next/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  25. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  26. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  27. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  28. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  29. package/app/.next/server/app/(dashboard)/dashboard/search-tools/page_client-reference-manifest.js +1 -1
  30. package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  31. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  32. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  33. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  34. package/app/.next/server/app/400/page_client-reference-manifest.js +1 -1
  35. package/app/.next/server/app/401/page_client-reference-manifest.js +1 -1
  36. package/app/.next/server/app/403/page_client-reference-manifest.js +1 -1
  37. package/app/.next/server/app/408/page_client-reference-manifest.js +1 -1
  38. package/app/.next/server/app/429/page_client-reference-manifest.js +1 -1
  39. package/app/.next/server/app/500/page_client-reference-manifest.js +1 -1
  40. package/app/.next/server/app/502/page_client-reference-manifest.js +1 -1
  41. package/app/.next/server/app/503/page_client-reference-manifest.js +1 -1
  42. package/app/.next/server/app/_global-error.html +2 -2
  43. package/app/.next/server/app/_global-error.rsc +1 -1
  44. package/app/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  45. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  46. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  47. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  48. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  49. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  50. package/app/.next/server/app/api/system/version/route.js.nft.json +1 -1
  51. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  52. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  53. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  54. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  55. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  56. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  57. package/app/.next/server/app/maintenance/page_client-reference-manifest.js +1 -1
  58. package/app/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  59. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  60. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  61. package/app/.next/server/app/status/page_client-reference-manifest.js +1 -1
  62. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  63. package/app/.next/server/chunks/[root-of-the-server]__00506b12._.js +3 -3
  64. package/app/.next/server/chunks/[root-of-the-server]__065579e2._.js +1 -1
  65. package/app/.next/server/chunks/[root-of-the-server]__0afaa15f._.js +1 -1
  66. package/app/.next/server/chunks/[root-of-the-server]__0d7861ae._.js +1 -1
  67. package/app/.next/server/chunks/[root-of-the-server]__18cfc934._.js +1 -1
  68. package/app/.next/server/chunks/[root-of-the-server]__28c3dc07._.js +1 -1
  69. package/app/.next/server/chunks/[root-of-the-server]__3cedce56._.js +1 -1
  70. package/app/.next/server/chunks/[root-of-the-server]__42f8ae2b._.js +1 -1
  71. package/app/.next/server/chunks/[root-of-the-server]__44e9e6ab._.js +1 -1
  72. package/app/.next/server/chunks/[root-of-the-server]__46e00e59._.js +1 -1
  73. package/app/.next/server/chunks/[root-of-the-server]__49ea8f9d._.js +1 -1
  74. package/app/.next/server/chunks/[root-of-the-server]__54fdae92._.js +1 -1
  75. package/app/.next/server/chunks/[root-of-the-server]__55469489._.js +1 -1
  76. package/app/.next/server/chunks/[root-of-the-server]__60f5aa24._.js +1 -1
  77. package/app/.next/server/chunks/[root-of-the-server]__620cd5d6._.js +1 -1
  78. package/app/.next/server/chunks/[root-of-the-server]__6cea0a3b._.js +1 -1
  79. package/app/.next/server/chunks/[root-of-the-server]__75958ae6._.js +1 -1
  80. package/app/.next/server/chunks/[root-of-the-server]__7ace0fcd._.js +1 -1
  81. package/app/.next/server/chunks/[root-of-the-server]__81696045._.js +1 -1
  82. package/app/.next/server/chunks/[root-of-the-server]__81cb2f10._.js +1 -1
  83. package/app/.next/server/chunks/[root-of-the-server]__82a16e48._.js +1 -1
  84. package/app/.next/server/chunks/[root-of-the-server]__85486e23._.js +1 -1
  85. package/app/.next/server/chunks/[root-of-the-server]__863ba23a._.js +1 -1
  86. package/app/.next/server/chunks/[root-of-the-server]__90ac0c12._.js +2 -2
  87. package/app/.next/server/chunks/[root-of-the-server]__929e2a6f._.js +1 -1
  88. package/app/.next/server/chunks/[root-of-the-server]__976c4cd3._.js +1 -1
  89. package/app/.next/server/chunks/[root-of-the-server]__98bcfee2._.js +2 -2
  90. package/app/.next/server/chunks/[root-of-the-server]__a32d3818._.js +1 -1
  91. package/app/.next/server/chunks/[root-of-the-server]__b756cf74._.js +1 -1
  92. package/app/.next/server/chunks/[root-of-the-server]__ba461ded._.js +1 -1
  93. package/app/.next/server/chunks/[root-of-the-server]__bfaa196f._.js +3 -3
  94. package/app/.next/server/chunks/[root-of-the-server]__cd397a19._.js +1 -1
  95. package/app/.next/server/chunks/[root-of-the-server]__d36f8208._.js +1 -1
  96. package/app/.next/server/chunks/[root-of-the-server]__d68b1385._.js +1 -1
  97. package/app/.next/server/chunks/[root-of-the-server]__d8230cae._.js +2 -2
  98. package/app/.next/server/chunks/[root-of-the-server]__ee20f39d._.js +1 -1
  99. package/app/.next/server/chunks/[root-of-the-server]__f1f0a45a._.js +1 -1
  100. package/app/.next/server/chunks/[root-of-the-server]__f46235a5._.js +1 -1
  101. package/app/.next/server/chunks/[root-of-the-server]__f894811a._.js +1 -1
  102. package/app/.next/server/chunks/[root-of-the-server]__fadc6492._.js +1 -1
  103. package/app/.next/server/chunks/_05c48915._.js +1 -1
  104. package/app/.next/server/chunks/_06515a8a._.js +1 -1
  105. package/app/.next/server/chunks/_2115d8de._.js +1 -1
  106. package/app/.next/server/chunks/_3ac953eb._.js +1 -1
  107. package/app/.next/server/chunks/_4b8fd853._.js +1 -1
  108. package/app/.next/server/chunks/_68683848._.js +1 -1
  109. package/app/.next/server/chunks/_ee9b677b._.js +1 -1
  110. package/app/.next/server/chunks/ssr/[root-of-the-server]__9ef96d20._.js +1 -1
  111. package/app/.next/server/chunks/ssr/[root-of-the-server]__a6942102._.js +1 -1
  112. package/app/.next/server/pages/500.html +2 -2
  113. package/app/.next/server/server-reference-manifest.js +1 -1
  114. package/app/.next/server/server-reference-manifest.json +1 -1
  115. package/app/.next/static/chunks/{fcf7178f8caed48a.js → b9e44dba32828555.js} +1 -1
  116. package/app/README.md +107 -0
  117. package/app/docs/i18n/ar/README.md +168 -30
  118. package/app/docs/i18n/bg/README.md +168 -30
  119. package/app/docs/i18n/da/README.md +168 -30
  120. package/app/docs/i18n/de/README.md +168 -30
  121. package/app/docs/i18n/es/README.md +168 -30
  122. package/app/docs/i18n/fi/README.md +168 -30
  123. package/app/docs/i18n/fr/README.md +168 -30
  124. package/app/docs/i18n/he/README.md +168 -30
  125. package/app/docs/i18n/hu/README.md +168 -30
  126. package/app/docs/i18n/id/README.md +168 -30
  127. package/app/docs/i18n/in/README.md +168 -30
  128. package/app/docs/i18n/it/README.md +168 -30
  129. package/app/docs/i18n/ja/README.md +168 -30
  130. package/app/docs/i18n/ko/README.md +168 -30
  131. package/app/docs/i18n/ms/README.md +168 -30
  132. package/app/docs/i18n/nl/README.md +168 -30
  133. package/app/docs/i18n/no/README.md +168 -30
  134. package/app/docs/i18n/phi/README.md +168 -30
  135. package/app/docs/i18n/pl/README.md +168 -30
  136. package/app/docs/i18n/pt/README.md +168 -30
  137. package/app/docs/i18n/pt-BR/README.md +168 -30
  138. package/app/docs/i18n/ro/README.md +168 -30
  139. package/app/docs/i18n/ru/README.md +168 -30
  140. package/app/docs/i18n/sk/README.md +168 -30
  141. package/app/docs/i18n/sv/README.md +168 -30
  142. package/app/docs/i18n/th/README.md +168 -30
  143. package/app/docs/i18n/uk-UA/README.md +168 -30
  144. package/app/docs/i18n/vi/README.md +168 -30
  145. package/app/docs/i18n/zh-CN/README.md +168 -30
  146. package/app/docs/openapi.yaml +1 -1
  147. package/app/package-lock.json +2 -2
  148. package/app/package.json +1 -1
  149. package/app/src/lib/apiBridgeServer.ts +2 -0
  150. package/app/src/shared/utils/apiAuth.ts +6 -1
  151. package/app/tests/integration/integration-wiring.test.mjs +4 -4
  152. package/package.json +1 -1
  153. /package/app/.next/static/{lM78WtVwkrUDAIJYkWgbP → 6GZ871m6mzG0Q0bvGX2dT}/_buildManifest.js +0 -0
  154. /package/app/.next/static/{lM78WtVwkrUDAIJYkWgbP → 6GZ871m6mzG0Q0bvGX2dT}/_clientMiddlewareManifest.json +0 -0
  155. /package/app/.next/static/{lM78WtVwkrUDAIJYkWgbP → 6GZ871m6mzG0Q0bvGX2dT}/_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 a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,s={},l={RequestCookies:()=>y,ResponseCookies:()=>g,parseCookie:()=>u,parseSetCookie:()=>p,stringifyCookie:()=>d};for(var c in l)a(s,c,{get:l[c],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),a=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?a:`${a}; ${r.join("; ")}`}function u(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[a,n]=[r.slice(0,e),r.slice(e+1)];try{t.set(a,decodeURIComponent(null!=n?n:"true"))}catch{}}return t}function p(e){if(!e)return;let[[t,r],...a]=u(e),{domain:n,expires:o,httponly:i,maxage:s,path:l,samesite:c,secure:d,partitioned:p,priority:y}=Object.fromEntries(a.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,m,v={name:t,value:decodeURIComponent(r),domain:n,...o&&{expires:new Date(o)},...i&&{httpOnly:!0},..."string"==typeof s&&{maxAge:Number(s)},path:l,...c&&{sameSite:h.includes(g=(g=c).toLowerCase())?g:void 0},...d&&{secure:!0},...y&&{priority:f.includes(m=(m=y).toLowerCase())?m: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,s)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of o(t))i.call(e,r)||void 0===r||a(e,r,{get:()=>t[r],enumerable:!(s=n(t,r))||s.enumerable});return e})(a({},"__esModule",{value:!0}),s);var h=["strict","lax","none"],f=["low","medium","high"],y=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of u(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 a="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===a).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,a=this._parsed;return a.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(a).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,a;this._parsed=new Map,this._headers=e;const n=null!=(a=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?a:[];for(const e of Array.isArray(n)?n:function(e){if(!e)return[];var t,r,a,n,o,i=[],s=0;function l(){for(;s<e.length&&/\s/.test(e.charAt(s));)s+=1;return s<e.length}for(;s<e.length;){for(t=s,o=!1;l();)if(","===(r=e.charAt(s))){for(a=s,s+=1,l(),n=s;s<e.length&&"="!==(r=e.charAt(s))&&";"!==r&&","!==r;)s+=1;s<e.length&&"="===e.charAt(s)?(o=!0,s=n,i.push(e.substring(t,a)),t=s):s=a+1}else s+=1;(!o||s>=e.length)&&i.push(e.substring(t,e.length))}return i}(n)){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 a="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===a)}has(e){return this._parsed.has(e)}set(...e){let[t,r,a]=1===e.length?[e[0].name,e[0].value,e[0]]:e,n=this._parsed;return n.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,...a})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=d(r);t.append("set-cookie",e)}}(n,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("; ")}}},663370,632802,477468,e=>{"use strict";let t=new TextEncoder,r=new TextDecoder;function a(...e){let t=new Uint8Array(e.reduce((e,{length:t})=>e+t,0)),r=0;for(let a of e)t.set(a,r),r+=a.length;return t}function n(e){let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++){let a=e.charCodeAt(r);if(a>127)throw TypeError("non-ASCII string encountered in encode()");t[r]=a}return t}function o(e){if(Uint8Array.prototype.toBase64)return e.toBase64();let t=[];for(let r=0;r<e.length;r+=32768)t.push(String.fromCharCode.apply(null,e.subarray(r,r+32768)));return btoa(t.join(""))}function i(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(e);let t=atob(e),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return r}function s(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64("string"==typeof e?e:r.decode(e),{alphabet:"base64url"});let t=e;t instanceof Uint8Array&&(t=r.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/");try{return i(t)}catch{throw TypeError("The input to be decoded is not correctly encoded.")}}function l(e){let r=e;return("string"==typeof r&&(r=t.encode(r)),Uint8Array.prototype.toBase64)?r.toBase64({alphabet:"base64url",omitPadding:!0}):o(r).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}e.s(["concat",()=>a,"decoder",0,r,"encode",()=>n,"encoder",0,t],632802),e.s(["decodeBase64",()=>i,"encodeBase64",()=>o],477468),e.s(["decode",()=>s,"encode",()=>l],663370)},865466,e=>{"use strict";class t extends Error{static code="ERR_JOSE_GENERIC";code="ERR_JOSE_GENERIC";constructor(e,t){super(e,t),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}}class r extends t{static code="ERR_JWT_CLAIM_VALIDATION_FAILED";code="ERR_JWT_CLAIM_VALIDATION_FAILED";claim;reason;payload;constructor(e,t,r="unspecified",a="unspecified"){super(e,{cause:{claim:r,reason:a,payload:t}}),this.claim=r,this.reason=a,this.payload=t}}class a extends t{static code="ERR_JWT_EXPIRED";code="ERR_JWT_EXPIRED";claim;reason;payload;constructor(e,t,r="unspecified",a="unspecified"){super(e,{cause:{claim:r,reason:a,payload:t}}),this.claim=r,this.reason=a,this.payload=t}}class n extends t{static code="ERR_JOSE_ALG_NOT_ALLOWED";code="ERR_JOSE_ALG_NOT_ALLOWED"}class o extends t{static code="ERR_JOSE_NOT_SUPPORTED";code="ERR_JOSE_NOT_SUPPORTED"}class i extends t{static code="ERR_JWS_INVALID";code="ERR_JWS_INVALID"}class s extends t{static code="ERR_JWT_INVALID";code="ERR_JWT_INVALID"}class l extends t{[Symbol.asyncIterator];static code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";constructor(e="multiple matching keys found in the JSON Web Key Set",t){super(e,t)}}class c extends t{static code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";constructor(e="signature verification failed",t){super(e,t)}}e.s(["JOSEAlgNotAllowed",()=>n,"JOSENotSupported",()=>o,"JWSInvalid",()=>i,"JWSSignatureVerificationFailed",()=>c,"JWTClaimValidationFailed",()=>r,"JWTExpired",()=>a,"JWTInvalid",()=>s])},177278,e=>{"use strict";function t(e){if("object"!=typeof e||null===e||"[object Object]"!==Object.prototype.toString.call(e))return!1;if(null===Object.getPrototypeOf(e))return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function r(...e){let t,a=e.filter(Boolean);if(0===a.length||1===a.length)return!0;for(let e of a){let r=Object.keys(e);if(!t||0===t.size){t=new Set(r);continue}for(let e of r){if(t.has(e))return!1;t.add(e)}}return!0}e.s(["isDisjoint",()=>r,"isJWK",0,e=>t(e)&&"string"==typeof e.kty,"isObject",()=>t,"isPrivateJWK",0,e=>"oct"!==e.kty&&("AKP"===e.kty&&"string"==typeof e.priv||"string"==typeof e.d),"isPublicJWK",0,e=>"oct"!==e.kty&&void 0===e.d&&void 0===e.priv,"isSecretJWK",0,e=>"oct"===e.kty&&"string"==typeof e.k])},709939,e=>{"use strict";var t=e.i(663370),r=e.i(293233),a=e.i(865466),n=e.i(632802),o=e.i(913658),i=e.i(177278),s=e.i(48215),l=e.i(252665),c=e.i(18083);async function d(e,d,u){if(!(0,i.isObject)(e))throw new a.JWSInvalid("Flattened JWS must be an object");if(void 0===e.protected&&void 0===e.header)throw new a.JWSInvalid('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==e.protected&&"string"!=typeof e.protected)throw new a.JWSInvalid("JWS Protected Header incorrect type");if(void 0===e.payload)throw new a.JWSInvalid("JWS Payload missing");if("string"!=typeof e.signature)throw new a.JWSInvalid("JWS Signature missing or incorrect type");if(void 0!==e.header&&!(0,i.isObject)(e.header))throw new a.JWSInvalid("JWS Unprotected Header incorrect type");let p={};if(e.protected)try{let r=(0,t.decode)(e.protected);p=JSON.parse(n.decoder.decode(r))}catch{throw new a.JWSInvalid("JWS Protected Header is invalid")}if(!(0,i.isDisjoint)(p,e.header))throw new a.JWSInvalid("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let h={...p,...e.header},f=(0,l.validateCrit)(a.JWSInvalid,new Map([["b64",!0]]),u?.crit,p,h),y=!0;if(f.has("b64")&&"boolean"!=typeof(y=p.b64))throw new a.JWSInvalid('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:g}=h;if("string"!=typeof g||!g)throw new a.JWSInvalid('JWS "alg" (Algorithm) Header Parameter missing or invalid');let m=u&&function(e,t){if(void 0!==t&&(!Array.isArray(t)||t.some(e=>"string"!=typeof e)))throw TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)}("algorithms",u.algorithms);if(m&&!m.has(g))throw new a.JOSEAlgNotAllowed('"alg" (Algorithm) Header Parameter value not allowed');if(y){if("string"!=typeof e.payload)throw new a.JWSInvalid("JWS Payload must be a string")}else if("string"!=typeof e.payload&&!(e.payload instanceof Uint8Array))throw new a.JWSInvalid("JWS Payload must be a string or an Uint8Array instance");let v=!1;"function"==typeof d&&(d=await d(p,e),v=!0),(0,s.checkKeyType)(g,d,"verify");let w=(0,n.concat)(void 0!==e.protected?(0,n.encode)(e.protected):new Uint8Array,(0,n.encode)("."),"string"==typeof e.payload?y?(0,n.encode)(e.payload):n.encoder.encode(e.payload):e.payload),A=(0,o.decodeBase64url)(e.signature,"signature",a.JWSInvalid),R=await (0,c.normalizeKey)(d,g);if(!await (0,r.verify)(g,R,A,w))throw new a.JWSSignatureVerificationFailed;let S={payload:y?(0,o.decodeBase64url)(e.payload,"payload",a.JWSInvalid):"string"==typeof e.payload?n.encoder.encode(e.payload):e.payload};return(void 0!==e.protected&&(S.protectedHeader=p),void 0!==e.header&&(S.unprotectedHeader=e.header),v)?{...S,key:R}:S}async function u(e,t,r){if(e instanceof Uint8Array&&(e=n.decoder.decode(e)),"string"!=typeof e)throw new a.JWSInvalid("Compact JWS must be a string or Uint8Array");let{0:o,1:i,2:s,length:l}=e.split(".");if(3!==l)throw new a.JWSInvalid("Invalid Compact JWS");let c=await d({payload:i,protected:o,signature:s},t,r),u={payload:c.payload,protectedHeader:c.protectedHeader};return"function"==typeof t?{...u,key:c.key}:u}var p=e.i(224472);async function h(e,t,r){let n=await u(e,t,r);if(n.protectedHeader.crit?.includes("b64")&&!1===n.protectedHeader.b64)throw new a.JWTInvalid("JWTs MUST NOT use unencoded payload");let o={payload:(0,p.validateClaimsSet)(n.protectedHeader,n.payload,r),protectedHeader:n.protectedHeader};return"function"==typeof t?{...o,key:n.key}:o}e.s(["jwtVerify",()=>h],709939)},235328,e=>{"use strict";var t=e.i(709939),r=e.i(493458);e.i(245272);var a=e.i(548941);async function n(a){if(!await o())return!0;let n=a.headers.get("authorization");if(n?.startsWith("Bearer ")){let t=n.slice(7);try{let{validateApiKey:r}=await e.A(734680);if(await r(t))return!0}catch{}}if(process.env.JWT_SECRET)try{let e=await (0,r.cookies)(),a=e.get("auth_token")?.value;if(a){let e=new TextEncoder().encode(process.env.JWT_SECRET);return await (0,t.jwtVerify)(a,e),!0}}catch{}return!1}async function o(){try{let e=await (0,a.getSettings)();if(!1===e.requireLogin||!e.password&&!process.env.INITIAL_PASSWORD)return!1;return!0}catch{return!0}}e.s(["isAuthRequired",()=>o,"isAuthenticated",()=>n])},301541,e=>{"use strict";var t=e.i(747909),r=e.i(174017),a=e.i(996250),n=e.i(759756),o=e.i(561916),i=e.i(174677),s=e.i(869741),l=e.i(316795),c=e.i(487718),d=e.i(995169),u=e.i(47587),p=e.i(666012),h=e.i(570101),f=e.i(626937),y=e.i(10372),g=e.i(193695);e.i(52474);var m=e.i(600220),v=e.i(89171),w=e.i(235328),A=e.i(522734),R=e.i(814747);function S(){let e=process.env.DATA_DIR||R.default.join(process.cwd(),"data"),t=R.default.join(e,"cache");return A.default.existsSync(t)||A.default.mkdirSync(t,{recursive:!0}),R.default.join(t,"openrouter-catalog.json")}function _(e){let t=S(),r={fetchedAt:new Date().toISOString(),data:e};try{A.default.writeFileSync(t,JSON.stringify(r,null,2),"utf8")}catch(e){console.warn("[OpenRouterCatalog] Failed to write cache:",e)}}async function E(){let e=await fetch("https://openrouter.ai/api/v1/models",{headers:{"User-Agent":"OmniRoute/2.0",Accept:"application/json"},signal:AbortSignal.timeout(15e3)});if(!e.ok)throw Error(`OpenRouter API returned ${e.status}: ${e.statusText}`);let t=await e.json();return Array.isArray(t.data)?t.data:[]}async function x(){let e,t=(e=process.env.OPENROUTER_CATALOG_TTL_MS)?parseInt(e,10):864e5,r=function(){let e=S();try{if(!A.default.existsSync(e))return null;let t=A.default.readFileSync(e,"utf8");return JSON.parse(t)}catch{return null}}(),a=Date.now();if(r&&r.fetchedAt&&a-new Date(r.fetchedAt).getTime()<t)return{data:r.data,stale:!1,cachedAt:r.fetchedAt,fromCache:!0};try{let e=await E();return _(e),{data:e,stale:!1,cachedAt:null,fromCache:!1}}catch(e){if(console.warn("[OpenRouterCatalog] Fetch failed, using stale cache:",e),r)return{data:r.data,stale:!0,cachedAt:r.fetchedAt,fromCache:!0};return{data:[],stale:!0,cachedAt:null,fromCache:!1}}}async function b(){try{let e=await E();return _(e),{data:e,ok:!0}}catch(e){return{data:[],ok:!1,error:e instanceof Error?e.message:String(e)}}}async function O(e){if(!await (0,w.isAuthenticated)(e))return v.NextResponse.json({error:{message:"Authentication required",type:"invalid_request_error"}},{status:401});if("true"===e.nextUrl.searchParams.get("refresh")){let e=await b();return v.NextResponse.json({object:"list",data:e.data,meta:{source:e.ok?"fresh":"error",count:e.data.length,error:e.error??void 0}})}let t=await x();return v.NextResponse.json({object:"list",data:t.data,meta:{source:t.fromCache?t.stale?"stale-cache":"cache":"fresh",cachedAt:t.cachedAt??void 0,stale:t.stale,count:t.data.length}})}e.s(["GET",()=>O],251025);var I=e.i(251025);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/models/openrouter-catalog/route",pathname:"/api/models/openrouter-catalog",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/models/openrouter-catalog/route.ts",nextConfigOutput:"standalone",userland:I}),{workAsyncStorage:T,workUnitAsyncStorage:J,serverHooks:P}=C;function W(){return(0,a.patchFetch)({workAsyncStorage:T,workUnitAsyncStorage:J})}async function j(e,t,a){C.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/models/openrouter-catalog/route";v=v.replace(/\/index$/,"")||"/";let w=await C.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:A,params:R,nextConfig:S,parsedUrl:_,isDraftMode:E,prerenderManifest:x,routerServerContext:b,isOnDemandRevalidate:O,revalidateOnlyGenerated:I,resolvedPathname:T,clientReferenceManifest:J,serverActionsManifest:P}=w,W=(0,s.normalizeAppPath)(v),j=!!(x.dynamicRoutes[W]||x.routes[T]),k=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,_,!1):t.end("This page could not be found"),null);if(j&&!E){let e=!!x.routes[T],t=x.dynamicRoutes[W];if(t&&!1===t.fallback&&!e){if(S.experimental.adapterPath)return await k();throw new g.NoFallbackError}}let N=null;!j||C.isDev||E||(N="/index"===(N=T)?"/":N);let U=!0===C.isDev||!j,D=j&&!U;P&&J&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:J,serverActionsManifest:P});let H=e.method||"GET",L=(0,o.getTracer)(),q=L.getActiveScopeSpan(),M={params:R,prerenderManifest:x,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts},cacheComponents:!!S.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:S.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>C.onRequestError(e,t,a,n,b)},sharedContext:{buildId:A}},$=new l.NodeNextRequest(e),F=new l.NodeNextResponse(t),K=c.NextRequestAdapter.fromNodeNextRequest($,(0,c.signalFromNodeResponse)(t));try{let i=async e=>C.handle(K,M).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.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 a=r.get("next.route");if(a){let t=`${H} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${v}`)}),s=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var o,l;let c=async({previousCacheEntry:r})=>{try{if(!s&&O&&I&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await i(n);e.fetchMetrics=M.renderOpts.fetchMetrics;let l=M.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let c=M.renderOpts.collectedTags;if(!j)return await (0,p.sendResponse)($,F,o,M.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(o.headers);c&&(t[y.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=y.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,a=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=y.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:O})},!1,b),t}},d=await C.handleResponse({req:e,nextConfig:S,cacheKey:N,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:I,responseGenerator:c,waitUntil:a.waitUntil,isMinimalMode:s});if(!j)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});s||t.setHeader("x-nextjs-cache",O?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return s&&j||g.delete(y.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)($,F,new Response(d.value.body,{headers:g,status:d.value.status||200})),null};q?await l(q):await L.withPropagatedContext(e.headers,()=>L.trace(d.BaseServerSpan.handleRequest,{spanName:`${H} ${v}`,kind:o.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},l))}catch(t){if(t instanceof g.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:W,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:O})},!1,b),j)throw t;return await (0,p.sendResponse)($,F,new Response(null,{status:500})),null}}e.s(["handler",()=>j,"patchFetch",()=>W,"routeModule",()=>C,"serverHooks",()=>P,"workAsyncStorage",()=>T,"workUnitAsyncStorage",()=>J],301541)},606102,e=>{e.v(e=>Promise.resolve().then(()=>e(548941)))},789543,e=>{e.v(e=>Promise.resolve().then(()=>e(385498)))},579042,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_utils_apiKey_ts_fa113e09._.js"].map(t=>e.l(t))).then(()=>t(65448)))},49794,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_ts_65de0558._.js"].map(t=>e.l(t))).then(()=>t(404503)))},386305,e=>{e.v(e=>Promise.resolve().then(()=>e(878947)))},734680,e=>{e.v(e=>Promise.resolve().then(()=>e(125852)))}];
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 a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,s={},l={RequestCookies:()=>y,ResponseCookies:()=>g,parseCookie:()=>u,parseSetCookie:()=>p,stringifyCookie:()=>c};for(var d in l)a(s,d,{get:l[d],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),a=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?a:`${a}; ${r.join("; ")}`}function u(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[a,n]=[r.slice(0,e),r.slice(e+1)];try{t.set(a,decodeURIComponent(null!=n?n:"true"))}catch{}}return t}function p(e){if(!e)return;let[[t,r],...a]=u(e),{domain:n,expires:o,httponly:i,maxage:s,path:l,samesite:d,secure:c,partitioned:p,priority:y}=Object.fromEntries(a.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,m,v={name:t,value:decodeURIComponent(r),domain:n,...o&&{expires:new Date(o)},...i&&{httpOnly:!0},..."string"==typeof s&&{maxAge:Number(s)},path:l,...d&&{sameSite:h.includes(g=(g=d).toLowerCase())?g:void 0},...c&&{secure:!0},...y&&{priority:f.includes(m=(m=y).toLowerCase())?m: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,s)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of o(t))i.call(e,r)||void 0===r||a(e,r,{get:()=>t[r],enumerable:!(s=n(t,r))||s.enumerable});return e})(a({},"__esModule",{value:!0}),s);var h=["strict","lax","none"],f=["low","medium","high"],y=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of u(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 a="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===a).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,a=this._parsed;return a.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(a).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,a;this._parsed=new Map,this._headers=e;const n=null!=(a=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?a:[];for(const e of Array.isArray(n)?n:function(e){if(!e)return[];var t,r,a,n,o,i=[],s=0;function l(){for(;s<e.length&&/\s/.test(e.charAt(s));)s+=1;return s<e.length}for(;s<e.length;){for(t=s,o=!1;l();)if(","===(r=e.charAt(s))){for(a=s,s+=1,l(),n=s;s<e.length&&"="!==(r=e.charAt(s))&&";"!==r&&","!==r;)s+=1;s<e.length&&"="===e.charAt(s)?(o=!0,s=n,i.push(e.substring(t,a)),t=s):s=a+1}else s+=1;(!o||s>=e.length)&&i.push(e.substring(t,e.length))}return i}(n)){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 a="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===a)}has(e){return this._parsed.has(e)}set(...e){let[t,r,a]=1===e.length?[e[0].name,e[0].value,e[0]]:e,n=this._parsed;return n.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,...a})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=c(r);t.append("set-cookie",e)}}(n,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("; ")}}},663370,632802,477468,e=>{"use strict";let t=new TextEncoder,r=new TextDecoder;function a(...e){let t=new Uint8Array(e.reduce((e,{length:t})=>e+t,0)),r=0;for(let a of e)t.set(a,r),r+=a.length;return t}function n(e){let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++){let a=e.charCodeAt(r);if(a>127)throw TypeError("non-ASCII string encountered in encode()");t[r]=a}return t}function o(e){if(Uint8Array.prototype.toBase64)return e.toBase64();let t=[];for(let r=0;r<e.length;r+=32768)t.push(String.fromCharCode.apply(null,e.subarray(r,r+32768)));return btoa(t.join(""))}function i(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(e);let t=atob(e),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return r}function s(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64("string"==typeof e?e:r.decode(e),{alphabet:"base64url"});let t=e;t instanceof Uint8Array&&(t=r.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/");try{return i(t)}catch{throw TypeError("The input to be decoded is not correctly encoded.")}}function l(e){let r=e;return("string"==typeof r&&(r=t.encode(r)),Uint8Array.prototype.toBase64)?r.toBase64({alphabet:"base64url",omitPadding:!0}):o(r).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}e.s(["concat",()=>a,"decoder",0,r,"encode",()=>n,"encoder",0,t],632802),e.s(["decodeBase64",()=>i,"encodeBase64",()=>o],477468),e.s(["decode",()=>s,"encode",()=>l],663370)},865466,e=>{"use strict";class t extends Error{static code="ERR_JOSE_GENERIC";code="ERR_JOSE_GENERIC";constructor(e,t){super(e,t),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}}class r extends t{static code="ERR_JWT_CLAIM_VALIDATION_FAILED";code="ERR_JWT_CLAIM_VALIDATION_FAILED";claim;reason;payload;constructor(e,t,r="unspecified",a="unspecified"){super(e,{cause:{claim:r,reason:a,payload:t}}),this.claim=r,this.reason=a,this.payload=t}}class a extends t{static code="ERR_JWT_EXPIRED";code="ERR_JWT_EXPIRED";claim;reason;payload;constructor(e,t,r="unspecified",a="unspecified"){super(e,{cause:{claim:r,reason:a,payload:t}}),this.claim=r,this.reason=a,this.payload=t}}class n extends t{static code="ERR_JOSE_ALG_NOT_ALLOWED";code="ERR_JOSE_ALG_NOT_ALLOWED"}class o extends t{static code="ERR_JOSE_NOT_SUPPORTED";code="ERR_JOSE_NOT_SUPPORTED"}class i extends t{static code="ERR_JWS_INVALID";code="ERR_JWS_INVALID"}class s extends t{static code="ERR_JWT_INVALID";code="ERR_JWT_INVALID"}class l extends t{[Symbol.asyncIterator];static code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";constructor(e="multiple matching keys found in the JSON Web Key Set",t){super(e,t)}}class d extends t{static code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";constructor(e="signature verification failed",t){super(e,t)}}e.s(["JOSEAlgNotAllowed",()=>n,"JOSENotSupported",()=>o,"JWSInvalid",()=>i,"JWSSignatureVerificationFailed",()=>d,"JWTClaimValidationFailed",()=>r,"JWTExpired",()=>a,"JWTInvalid",()=>s])},177278,e=>{"use strict";function t(e){if("object"!=typeof e||null===e||"[object Object]"!==Object.prototype.toString.call(e))return!1;if(null===Object.getPrototypeOf(e))return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function r(...e){let t,a=e.filter(Boolean);if(0===a.length||1===a.length)return!0;for(let e of a){let r=Object.keys(e);if(!t||0===t.size){t=new Set(r);continue}for(let e of r){if(t.has(e))return!1;t.add(e)}}return!0}e.s(["isDisjoint",()=>r,"isJWK",0,e=>t(e)&&"string"==typeof e.kty,"isObject",()=>t,"isPrivateJWK",0,e=>"oct"!==e.kty&&("AKP"===e.kty&&"string"==typeof e.priv||"string"==typeof e.d),"isPublicJWK",0,e=>"oct"!==e.kty&&void 0===e.d&&void 0===e.priv,"isSecretJWK",0,e=>"oct"===e.kty&&"string"==typeof e.k])},709939,e=>{"use strict";var t=e.i(663370),r=e.i(293233),a=e.i(865466),n=e.i(632802),o=e.i(913658),i=e.i(177278),s=e.i(48215),l=e.i(252665),d=e.i(18083);async function c(e,c,u){if(!(0,i.isObject)(e))throw new a.JWSInvalid("Flattened JWS must be an object");if(void 0===e.protected&&void 0===e.header)throw new a.JWSInvalid('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==e.protected&&"string"!=typeof e.protected)throw new a.JWSInvalid("JWS Protected Header incorrect type");if(void 0===e.payload)throw new a.JWSInvalid("JWS Payload missing");if("string"!=typeof e.signature)throw new a.JWSInvalid("JWS Signature missing or incorrect type");if(void 0!==e.header&&!(0,i.isObject)(e.header))throw new a.JWSInvalid("JWS Unprotected Header incorrect type");let p={};if(e.protected)try{let r=(0,t.decode)(e.protected);p=JSON.parse(n.decoder.decode(r))}catch{throw new a.JWSInvalid("JWS Protected Header is invalid")}if(!(0,i.isDisjoint)(p,e.header))throw new a.JWSInvalid("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let h={...p,...e.header},f=(0,l.validateCrit)(a.JWSInvalid,new Map([["b64",!0]]),u?.crit,p,h),y=!0;if(f.has("b64")&&"boolean"!=typeof(y=p.b64))throw new a.JWSInvalid('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:g}=h;if("string"!=typeof g||!g)throw new a.JWSInvalid('JWS "alg" (Algorithm) Header Parameter missing or invalid');let m=u&&function(e,t){if(void 0!==t&&(!Array.isArray(t)||t.some(e=>"string"!=typeof e)))throw TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)}("algorithms",u.algorithms);if(m&&!m.has(g))throw new a.JOSEAlgNotAllowed('"alg" (Algorithm) Header Parameter value not allowed');if(y){if("string"!=typeof e.payload)throw new a.JWSInvalid("JWS Payload must be a string")}else if("string"!=typeof e.payload&&!(e.payload instanceof Uint8Array))throw new a.JWSInvalid("JWS Payload must be a string or an Uint8Array instance");let v=!1;"function"==typeof c&&(c=await c(p,e),v=!0),(0,s.checkKeyType)(g,c,"verify");let w=(0,n.concat)(void 0!==e.protected?(0,n.encode)(e.protected):new Uint8Array,(0,n.encode)("."),"string"==typeof e.payload?y?(0,n.encode)(e.payload):n.encoder.encode(e.payload):e.payload),A=(0,o.decodeBase64url)(e.signature,"signature",a.JWSInvalid),R=await (0,d.normalizeKey)(c,g);if(!await (0,r.verify)(g,R,A,w))throw new a.JWSSignatureVerificationFailed;let _={payload:y?(0,o.decodeBase64url)(e.payload,"payload",a.JWSInvalid):"string"==typeof e.payload?n.encoder.encode(e.payload):e.payload};return(void 0!==e.protected&&(_.protectedHeader=p),void 0!==e.header&&(_.unprotectedHeader=e.header),v)?{..._,key:R}:_}async function u(e,t,r){if(e instanceof Uint8Array&&(e=n.decoder.decode(e)),"string"!=typeof e)throw new a.JWSInvalid("Compact JWS must be a string or Uint8Array");let{0:o,1:i,2:s,length:l}=e.split(".");if(3!==l)throw new a.JWSInvalid("Invalid Compact JWS");let d=await c({payload:i,protected:o,signature:s},t,r),u={payload:d.payload,protectedHeader:d.protectedHeader};return"function"==typeof t?{...u,key:d.key}:u}var p=e.i(224472);async function h(e,t,r){let n=await u(e,t,r);if(n.protectedHeader.crit?.includes("b64")&&!1===n.protectedHeader.b64)throw new a.JWTInvalid("JWTs MUST NOT use unencoded payload");let o={payload:(0,p.validateClaimsSet)(n.protectedHeader,n.payload,r),protectedHeader:n.protectedHeader};return"function"==typeof t?{...o,key:n.key}:o}e.s(["jwtVerify",()=>h],709939)},235328,e=>{"use strict";var t=e.i(709939),r=e.i(493458);e.i(245272);var a=e.i(548941);async function n(a){if(!await o())return!0;let n=a.headers.get("authorization");if(n?.startsWith("Bearer ")){let t=n.slice(7);try{let{validateApiKey:r}=await e.A(734680);if(await r(t))return!0}catch{}}if(process.env.JWT_SECRET)try{let e=await (0,r.cookies)(),a=e.get("auth_token")?.value;if(a){let e=new TextEncoder().encode(process.env.JWT_SECRET);return await (0,t.jwtVerify)(a,e),!0}}catch{}return!1}async function o(){try{let e=await (0,a.getSettings)();if(!1===e.requireLogin||!e.password&&!process.env.INITIAL_PASSWORD)return!1;return!0}catch(e){return console.error("[API_AUTH_GUARD] isAuthRequired failed, defaulting to true:",e?.message||e),!0}}e.s(["isAuthRequired",()=>o,"isAuthenticated",()=>n])},301541,e=>{"use strict";var t=e.i(747909),r=e.i(174017),a=e.i(996250),n=e.i(759756),o=e.i(561916),i=e.i(174677),s=e.i(869741),l=e.i(316795),d=e.i(487718),c=e.i(995169),u=e.i(47587),p=e.i(666012),h=e.i(570101),f=e.i(626937),y=e.i(10372),g=e.i(193695);e.i(52474);var m=e.i(600220),v=e.i(89171),w=e.i(235328),A=e.i(522734),R=e.i(814747);function _(){let e=process.env.DATA_DIR||R.default.join(process.cwd(),"data"),t=R.default.join(e,"cache");return A.default.existsSync(t)||A.default.mkdirSync(t,{recursive:!0}),R.default.join(t,"openrouter-catalog.json")}function S(e){let t=_(),r={fetchedAt:new Date().toISOString(),data:e};try{A.default.writeFileSync(t,JSON.stringify(r,null,2),"utf8")}catch(e){console.warn("[OpenRouterCatalog] Failed to write cache:",e)}}async function E(){let e=await fetch("https://openrouter.ai/api/v1/models",{headers:{"User-Agent":"OmniRoute/2.0",Accept:"application/json"},signal:AbortSignal.timeout(15e3)});if(!e.ok)throw Error(`OpenRouter API returned ${e.status}: ${e.statusText}`);let t=await e.json();return Array.isArray(t.data)?t.data:[]}async function x(){let e,t=(e=process.env.OPENROUTER_CATALOG_TTL_MS)?parseInt(e,10):864e5,r=function(){let e=_();try{if(!A.default.existsSync(e))return null;let t=A.default.readFileSync(e,"utf8");return JSON.parse(t)}catch{return null}}(),a=Date.now();if(r&&r.fetchedAt&&a-new Date(r.fetchedAt).getTime()<t)return{data:r.data,stale:!1,cachedAt:r.fetchedAt,fromCache:!0};try{let e=await E();return S(e),{data:e,stale:!1,cachedAt:null,fromCache:!1}}catch(e){if(console.warn("[OpenRouterCatalog] Fetch failed, using stale cache:",e),r)return{data:r.data,stale:!0,cachedAt:r.fetchedAt,fromCache:!0};return{data:[],stale:!0,cachedAt:null,fromCache:!1}}}async function b(){try{let e=await E();return S(e),{data:e,ok:!0}}catch(e){return{data:[],ok:!1,error:e instanceof Error?e.message:String(e)}}}async function O(e){if(!await (0,w.isAuthenticated)(e))return v.NextResponse.json({error:{message:"Authentication required",type:"invalid_request_error"}},{status:401});if("true"===e.nextUrl.searchParams.get("refresh")){let e=await b();return v.NextResponse.json({object:"list",data:e.data,meta:{source:e.ok?"fresh":"error",count:e.data.length,error:e.error??void 0}})}let t=await x();return v.NextResponse.json({object:"list",data:t.data,meta:{source:t.fromCache?t.stale?"stale-cache":"cache":"fresh",cachedAt:t.cachedAt??void 0,stale:t.stale,count:t.data.length}})}e.s(["GET",()=>O],251025);var I=e.i(251025);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/models/openrouter-catalog/route",pathname:"/api/models/openrouter-catalog",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/models/openrouter-catalog/route.ts",nextConfigOutput:"standalone",userland:I}),{workAsyncStorage:T,workUnitAsyncStorage:J,serverHooks:P}=C;function W(){return(0,a.patchFetch)({workAsyncStorage:T,workUnitAsyncStorage:J})}async function j(e,t,a){C.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/models/openrouter-catalog/route";v=v.replace(/\/index$/,"")||"/";let w=await C.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:A,params:R,nextConfig:_,parsedUrl:S,isDraftMode:E,prerenderManifest:x,routerServerContext:b,isOnDemandRevalidate:O,revalidateOnlyGenerated:I,resolvedPathname:T,clientReferenceManifest:J,serverActionsManifest:P}=w,W=(0,s.normalizeAppPath)(v),j=!!(x.dynamicRoutes[W]||x.routes[T]),k=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,S,!1):t.end("This page could not be found"),null);if(j&&!E){let e=!!x.routes[T],t=x.dynamicRoutes[W];if(t&&!1===t.fallback&&!e){if(_.experimental.adapterPath)return await k();throw new g.NoFallbackError}}let N=null;!j||C.isDev||E||(N="/index"===(N=T)?"/":N);let U=!0===C.isDev||!j,D=j&&!U;P&&J&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:J,serverActionsManifest:P});let H=e.method||"GET",L=(0,o.getTracer)(),q=L.getActiveScopeSpan(),M={params:R,prerenderManifest:x,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:_.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>C.onRequestError(e,t,a,n,b)},sharedContext:{buildId:A}},$=new l.NodeNextRequest(e),F=new l.NodeNextResponse(t),K=d.NextRequestAdapter.fromNodeNextRequest($,(0,d.signalFromNodeResponse)(t));try{let i=async e=>C.handle(K,M).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.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=`${H} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${v}`)}),s=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var o,l;let d=async({previousCacheEntry:r})=>{try{if(!s&&O&&I&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await i(n);e.fetchMetrics=M.renderOpts.fetchMetrics;let l=M.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=M.renderOpts.collectedTags;if(!j)return await (0,p.sendResponse)($,F,o,M.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(o.headers);d&&(t[y.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=y.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,a=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=y.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:O})},!1,b),t}},c=await C.handleResponse({req:e,nextConfig:_,cacheKey:N,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:I,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:s});if(!j)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==m.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});s||t.setHeader("x-nextjs-cache",O?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return s&&j||g.delete(y.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,f.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)($,F,new Response(c.value.body,{headers:g,status:c.value.status||200})),null};q?await l(q):await L.withPropagatedContext(e.headers,()=>L.trace(c.BaseServerSpan.handleRequest,{spanName:`${H} ${v}`,kind:o.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},l))}catch(t){if(t instanceof g.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:W,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:O})},!1,b),j)throw t;return await (0,p.sendResponse)($,F,new Response(null,{status:500})),null}}e.s(["handler",()=>j,"patchFetch",()=>W,"routeModule",()=>C,"serverHooks",()=>P,"workAsyncStorage",()=>T,"workUnitAsyncStorage",()=>J],301541)},606102,e=>{e.v(e=>Promise.resolve().then(()=>e(548941)))},789543,e=>{e.v(e=>Promise.resolve().then(()=>e(385498)))},579042,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_utils_apiKey_ts_fa113e09._.js"].map(t=>e.l(t))).then(()=>t(65448)))},49794,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_ts_65de0558._.js"].map(t=>e.l(t))).then(()=>t(404503)))},386305,e=>{e.v(e=>Promise.resolve().then(()=>e(878947)))},734680,e=>{e.v(e=>Promise.resolve().then(()=>e(125852)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__863ba23a._.js.map
@@ -1,8 +1,8 @@
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={},c={RequestCookies:()=>y,ResponseCookies:()=>g,parseCookie:()=>u,parseSetCookie:()=>p,stringifyCookie:()=>d};for(var l in c)n(o,l,{get:c[l],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 u(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 p(e){if(!e)return;let[[t,r],...n]=u(e),{domain:a,expires:s,httponly:i,maxage:o,path:c,samesite:l,secure:d,partitioned:p,priority:y}=Object.fromEntries(n.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,m,E={name:t,value:decodeURIComponent(r),domain:a,...s&&{expires:new Date(s)},...i&&{httpOnly:!0},..."string"==typeof o&&{maxAge:Number(o)},path:c,...l&&{sameSite:h.includes(g=(g=l).toLowerCase())?g:void 0},...d&&{secure:!0},...y&&{priority:f.includes(m=(m=y).toLowerCase())?m:void 0},...p&&{partitioned:!0}};let e={};for(let t in E)E[t]&&(e[t]=E[t]);return e}}t.exports=((e,t,r,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of s(t))i.call(e,r)||void 0===r||n(e,r,{get:()=>t[r],enumerable:!(o=a(t,r))||o.enumerable});return e})(n({},"__esModule",{value:!0}),o);var h=["strict","lax","none"],f=["low","medium","high"],y=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of u(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 c(){for(;o<e.length&&/\s/.test(e.charAt(o));)o+=1;return o<e.length}for(;o<e.length;){for(t=o,s=!1;c();)if(","===(r=e.charAt(o))){for(n=o,o+=1,c(),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=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 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("; ")}}},663370,632802,477468,e=>{"use strict";let t=new TextEncoder,r=new TextDecoder;function n(...e){let t=new Uint8Array(e.reduce((e,{length:t})=>e+t,0)),r=0;for(let n of e)t.set(n,r),r+=n.length;return t}function a(e){let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);if(n>127)throw TypeError("non-ASCII string encountered in encode()");t[r]=n}return t}function s(e){if(Uint8Array.prototype.toBase64)return e.toBase64();let t=[];for(let r=0;r<e.length;r+=32768)t.push(String.fromCharCode.apply(null,e.subarray(r,r+32768)));return btoa(t.join(""))}function i(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(e);let t=atob(e),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return r}function o(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64("string"==typeof e?e:r.decode(e),{alphabet:"base64url"});let t=e;t instanceof Uint8Array&&(t=r.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/");try{return i(t)}catch{throw TypeError("The input to be decoded is not correctly encoded.")}}function c(e){let r=e;return("string"==typeof r&&(r=t.encode(r)),Uint8Array.prototype.toBase64)?r.toBase64({alphabet:"base64url",omitPadding:!0}):s(r).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}e.s(["concat",()=>n,"decoder",0,r,"encode",()=>a,"encoder",0,t],632802),e.s(["decodeBase64",()=>i,"encodeBase64",()=>s],477468),e.s(["decode",()=>o,"encode",()=>c],663370)},865466,e=>{"use strict";class t extends Error{static code="ERR_JOSE_GENERIC";code="ERR_JOSE_GENERIC";constructor(e,t){super(e,t),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}}class r extends t{static code="ERR_JWT_CLAIM_VALIDATION_FAILED";code="ERR_JWT_CLAIM_VALIDATION_FAILED";claim;reason;payload;constructor(e,t,r="unspecified",n="unspecified"){super(e,{cause:{claim:r,reason:n,payload:t}}),this.claim=r,this.reason=n,this.payload=t}}class n extends t{static code="ERR_JWT_EXPIRED";code="ERR_JWT_EXPIRED";claim;reason;payload;constructor(e,t,r="unspecified",n="unspecified"){super(e,{cause:{claim:r,reason:n,payload:t}}),this.claim=r,this.reason=n,this.payload=t}}class a extends t{static code="ERR_JOSE_ALG_NOT_ALLOWED";code="ERR_JOSE_ALG_NOT_ALLOWED"}class s extends t{static code="ERR_JOSE_NOT_SUPPORTED";code="ERR_JOSE_NOT_SUPPORTED"}class i extends t{static code="ERR_JWS_INVALID";code="ERR_JWS_INVALID"}class o extends t{static code="ERR_JWT_INVALID";code="ERR_JWT_INVALID"}class c extends t{[Symbol.asyncIterator];static code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";constructor(e="multiple matching keys found in the JSON Web Key Set",t){super(e,t)}}class l extends t{static code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";constructor(e="signature verification failed",t){super(e,t)}}e.s(["JOSEAlgNotAllowed",()=>a,"JOSENotSupported",()=>s,"JWSInvalid",()=>i,"JWSSignatureVerificationFailed",()=>l,"JWTClaimValidationFailed",()=>r,"JWTExpired",()=>n,"JWTInvalid",()=>o])},177278,e=>{"use strict";function t(e){if("object"!=typeof e||null===e||"[object Object]"!==Object.prototype.toString.call(e))return!1;if(null===Object.getPrototypeOf(e))return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function r(...e){let t,n=e.filter(Boolean);if(0===n.length||1===n.length)return!0;for(let e of n){let r=Object.keys(e);if(!t||0===t.size){t=new Set(r);continue}for(let e of r){if(t.has(e))return!1;t.add(e)}}return!0}e.s(["isDisjoint",()=>r,"isJWK",0,e=>t(e)&&"string"==typeof e.kty,"isObject",()=>t,"isPrivateJWK",0,e=>"oct"!==e.kty&&("AKP"===e.kty&&"string"==typeof e.priv||"string"==typeof e.d),"isPublicJWK",0,e=>"oct"!==e.kty&&void 0===e.d&&void 0===e.priv,"isSecretJWK",0,e=>"oct"===e.kty&&"string"==typeof e.k])},709939,e=>{"use strict";var t=e.i(663370),r=e.i(293233),n=e.i(865466),a=e.i(632802),s=e.i(913658),i=e.i(177278),o=e.i(48215),c=e.i(252665),l=e.i(18083);async function d(e,d,u){if(!(0,i.isObject)(e))throw new n.JWSInvalid("Flattened JWS must be an object");if(void 0===e.protected&&void 0===e.header)throw new n.JWSInvalid('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==e.protected&&"string"!=typeof e.protected)throw new n.JWSInvalid("JWS Protected Header incorrect type");if(void 0===e.payload)throw new n.JWSInvalid("JWS Payload missing");if("string"!=typeof e.signature)throw new n.JWSInvalid("JWS Signature missing or incorrect type");if(void 0!==e.header&&!(0,i.isObject)(e.header))throw new n.JWSInvalid("JWS Unprotected Header incorrect type");let p={};if(e.protected)try{let r=(0,t.decode)(e.protected);p=JSON.parse(a.decoder.decode(r))}catch{throw new n.JWSInvalid("JWS Protected Header is invalid")}if(!(0,i.isDisjoint)(p,e.header))throw new n.JWSInvalid("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let h={...p,...e.header},f=(0,c.validateCrit)(n.JWSInvalid,new Map([["b64",!0]]),u?.crit,p,h),y=!0;if(f.has("b64")&&"boolean"!=typeof(y=p.b64))throw new n.JWSInvalid('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:g}=h;if("string"!=typeof g||!g)throw new n.JWSInvalid('JWS "alg" (Algorithm) Header Parameter missing or invalid');let m=u&&function(e,t){if(void 0!==t&&(!Array.isArray(t)||t.some(e=>"string"!=typeof e)))throw TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)}("algorithms",u.algorithms);if(m&&!m.has(g))throw new n.JOSEAlgNotAllowed('"alg" (Algorithm) Header Parameter value not allowed');if(y){if("string"!=typeof e.payload)throw new n.JWSInvalid("JWS Payload must be a string")}else if("string"!=typeof e.payload&&!(e.payload instanceof Uint8Array))throw new n.JWSInvalid("JWS Payload must be a string or an Uint8Array instance");let E=!1;"function"==typeof d&&(d=await d(p,e),E=!0),(0,o.checkKeyType)(g,d,"verify");let v=(0,a.concat)(void 0!==e.protected?(0,a.encode)(e.protected):new Uint8Array,(0,a.encode)("."),"string"==typeof e.payload?y?(0,a.encode)(e.payload):a.encoder.encode(e.payload):e.payload),S=(0,s.decodeBase64url)(e.signature,"signature",n.JWSInvalid),_=await (0,l.normalizeKey)(d,g);if(!await (0,r.verify)(g,_,S,v))throw new n.JWSSignatureVerificationFailed;let R={payload:y?(0,s.decodeBase64url)(e.payload,"payload",n.JWSInvalid):"string"==typeof e.payload?a.encoder.encode(e.payload):e.payload};return(void 0!==e.protected&&(R.protectedHeader=p),void 0!==e.header&&(R.unprotectedHeader=e.header),E)?{...R,key:_}:R}async function u(e,t,r){if(e instanceof Uint8Array&&(e=a.decoder.decode(e)),"string"!=typeof e)throw new n.JWSInvalid("Compact JWS must be a string or Uint8Array");let{0:s,1:i,2:o,length:c}=e.split(".");if(3!==c)throw new n.JWSInvalid("Invalid Compact JWS");let l=await d({payload:i,protected:s,signature:o},t,r),u={payload:l.payload,protectedHeader:l.protectedHeader};return"function"==typeof t?{...u,key:l.key}:u}var p=e.i(224472);async function h(e,t,r){let a=await u(e,t,r);if(a.protectedHeader.crit?.includes("b64")&&!1===a.protectedHeader.b64)throw new n.JWTInvalid("JWTs MUST NOT use unencoded payload");let s={payload:(0,p.validateClaimsSet)(a.protectedHeader,a.payload,r),protectedHeader:a.protectedHeader};return"function"==typeof t?{...s,key:a.key}:s}e.s(["jwtVerify",()=>h],709939)},235328,e=>{"use strict";var t=e.i(709939),r=e.i(493458);e.i(245272);var n=e.i(548941);async function a(n){if(!await s())return!0;let a=n.headers.get("authorization");if(a?.startsWith("Bearer ")){let t=a.slice(7);try{let{validateApiKey:r}=await e.A(734680);if(await r(t))return!0}catch{}}if(process.env.JWT_SECRET)try{let e=await (0,r.cookies)(),n=e.get("auth_token")?.value;if(n){let e=new TextEncoder().encode(process.env.JWT_SECRET);return await (0,t.jwtVerify)(n,e),!0}}catch{}return!1}async function s(){try{let e=await (0,n.getSettings)();if(!1===e.requireLogin||!e.password&&!process.env.INITIAL_PASSWORD)return!1;return!0}catch{return!0}}e.s(["isAuthRequired",()=>s,"isAuthenticated",()=>a])},912603,e=>{"use strict";var t=e.i(254799);class r{#e=new Map;#t;#r;#n;#a=0;#s=0;#i={hits:0,misses:0,evictions:0};constructor(e={}){this.#t=e.maxSize??50,this.#r=e.maxBytes??2097152,this.#n=e.defaultTTL??3e5}static generateKey(e){let r=JSON.stringify(e,Object.keys(e).sort());return t.default.createHash("sha256").update(r).digest("hex").slice(0,16)}get(e){let t=this.#e.get(e);if(!t)return void this.#i.misses++;if(Date.now()-t.createdAt>t.ttl){this.#o(e,t),this.#i.misses++;return}return this.#e.delete(e),t.hits++,this.#e.set(e,t),this.#i.hits++,t.value}set(e,t,r){let n=this.#c(t);if(this.#e.has(e)){let t=this.#e.get(e);this.#s-=t.size||0,this.#a--,this.#e.delete(e)}for(;(this.#a>=this.#t||this.#s+n>this.#r)&&this.#e.size>0;){let e=this.#e.keys().next().value,t=this.#e.get(e);t&&this.#o(e,t),this.#i.evictions++}let a={key:e,value:t,createdAt:Date.now(),ttl:r??this.#n,size:n,hits:0};this.#e.set(e,a),this.#a++,this.#s+=n}#c(e){try{return 2*JSON.stringify(e).length}catch{return 1024}}#o(e,t){this.#e.delete(e),this.#a--,this.#s-=t.size||0,this.#s<0&&(this.#s=0)}has(e){let t=this.#e.get(e);return!!t&&(!(Date.now()-t.createdAt>t.ttl)||(this.#o(e,t),!1))}delete(e){let t=this.#e.get(e);return!!t&&(this.#o(e,t),!0)}clear(){this.#e.clear(),this.#a=0,this.#s=0}getStats(){let e=this.#i.hits+this.#i.misses;return{size:this.#a,maxSize:this.#t,bytes:this.#s,maxBytes:this.#r,...this.#i,hitRate:e>0?this.#i.hits/e*100:0}}}let n=null;function a(e){return n||(n=new r({maxSize:parseInt(process.env.PROMPT_CACHE_MAX_SIZE||"50",10),maxBytes:parseInt(process.env.PROMPT_CACHE_MAX_BYTES||String(2097152),10),defaultTTL:parseInt(process.env.PROMPT_CACHE_TTL_MS||"300000",10),...e})),n}e.s(["LRUCache",()=>r,"getPromptCache",()=>a])},511695,e=>{"use strict";var t=e.i(254799),r=e.i(912603),n=e.i(157763);function a(e){return e&&"object"==typeof e&&!Array.isArray(e)?e:{}}function s(e,t=0){if("number"==typeof e&&Number.isFinite(e))return e;if("string"==typeof e&&e.trim().length>0){let r=Number(e);return Number.isFinite(r)?r:t}return t}function i(e,t=1){try{(0,n.getDbInstance)().prepare("UPDATE cache_metrics SET value = value + ?, updated_at = datetime('now') WHERE key = ?").run(t,e)}catch{}}function o(e){try{let t=(0,n.getDbInstance)().prepare("SELECT value FROM cache_metrics WHERE key = ?").get(e);return t?s(a(t).value,0):0}catch{return 0}}let c=null;function l(){if(!c){c=new r.LRUCache({maxSize:parseInt(process.env.SEMANTIC_CACHE_MAX_SIZE||"100",10),maxBytes:parseInt(process.env.SEMANTIC_CACHE_MAX_BYTES||String(4194304),10),defaultTTL:parseInt(process.env.SEMANTIC_CACHE_TTL_MS||"1800000",10)});try{let e=(0,n.getDbInstance)();e.prepare(`CREATE TABLE IF NOT EXISTS cache_metrics (
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={},c={RequestCookies:()=>y,ResponseCookies:()=>g,parseCookie:()=>u,parseSetCookie:()=>p,stringifyCookie:()=>d};for(var l in c)n(o,l,{get:c[l],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 u(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 p(e){if(!e)return;let[[t,r],...n]=u(e),{domain:a,expires:s,httponly:i,maxage:o,path:c,samesite:l,secure:d,partitioned:p,priority:y}=Object.fromEntries(n.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,m,E={name:t,value:decodeURIComponent(r),domain:a,...s&&{expires:new Date(s)},...i&&{httpOnly:!0},..."string"==typeof o&&{maxAge:Number(o)},path:c,...l&&{sameSite:h.includes(g=(g=l).toLowerCase())?g:void 0},...d&&{secure:!0},...y&&{priority:f.includes(m=(m=y).toLowerCase())?m:void 0},...p&&{partitioned:!0}};let e={};for(let t in E)E[t]&&(e[t]=E[t]);return e}}t.exports=((e,t,r,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of s(t))i.call(e,r)||void 0===r||n(e,r,{get:()=>t[r],enumerable:!(o=a(t,r))||o.enumerable});return e})(n({},"__esModule",{value:!0}),o);var h=["strict","lax","none"],f=["low","medium","high"],y=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of u(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 c(){for(;o<e.length&&/\s/.test(e.charAt(o));)o+=1;return o<e.length}for(;o<e.length;){for(t=o,s=!1;c();)if(","===(r=e.charAt(o))){for(n=o,o+=1,c(),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=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 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("; ")}}},663370,632802,477468,e=>{"use strict";let t=new TextEncoder,r=new TextDecoder;function n(...e){let t=new Uint8Array(e.reduce((e,{length:t})=>e+t,0)),r=0;for(let n of e)t.set(n,r),r+=n.length;return t}function a(e){let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);if(n>127)throw TypeError("non-ASCII string encountered in encode()");t[r]=n}return t}function s(e){if(Uint8Array.prototype.toBase64)return e.toBase64();let t=[];for(let r=0;r<e.length;r+=32768)t.push(String.fromCharCode.apply(null,e.subarray(r,r+32768)));return btoa(t.join(""))}function i(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(e);let t=atob(e),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return r}function o(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64("string"==typeof e?e:r.decode(e),{alphabet:"base64url"});let t=e;t instanceof Uint8Array&&(t=r.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/");try{return i(t)}catch{throw TypeError("The input to be decoded is not correctly encoded.")}}function c(e){let r=e;return("string"==typeof r&&(r=t.encode(r)),Uint8Array.prototype.toBase64)?r.toBase64({alphabet:"base64url",omitPadding:!0}):s(r).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}e.s(["concat",()=>n,"decoder",0,r,"encode",()=>a,"encoder",0,t],632802),e.s(["decodeBase64",()=>i,"encodeBase64",()=>s],477468),e.s(["decode",()=>o,"encode",()=>c],663370)},865466,e=>{"use strict";class t extends Error{static code="ERR_JOSE_GENERIC";code="ERR_JOSE_GENERIC";constructor(e,t){super(e,t),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}}class r extends t{static code="ERR_JWT_CLAIM_VALIDATION_FAILED";code="ERR_JWT_CLAIM_VALIDATION_FAILED";claim;reason;payload;constructor(e,t,r="unspecified",n="unspecified"){super(e,{cause:{claim:r,reason:n,payload:t}}),this.claim=r,this.reason=n,this.payload=t}}class n extends t{static code="ERR_JWT_EXPIRED";code="ERR_JWT_EXPIRED";claim;reason;payload;constructor(e,t,r="unspecified",n="unspecified"){super(e,{cause:{claim:r,reason:n,payload:t}}),this.claim=r,this.reason=n,this.payload=t}}class a extends t{static code="ERR_JOSE_ALG_NOT_ALLOWED";code="ERR_JOSE_ALG_NOT_ALLOWED"}class s extends t{static code="ERR_JOSE_NOT_SUPPORTED";code="ERR_JOSE_NOT_SUPPORTED"}class i extends t{static code="ERR_JWS_INVALID";code="ERR_JWS_INVALID"}class o extends t{static code="ERR_JWT_INVALID";code="ERR_JWT_INVALID"}class c extends t{[Symbol.asyncIterator];static code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";constructor(e="multiple matching keys found in the JSON Web Key Set",t){super(e,t)}}class l extends t{static code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";constructor(e="signature verification failed",t){super(e,t)}}e.s(["JOSEAlgNotAllowed",()=>a,"JOSENotSupported",()=>s,"JWSInvalid",()=>i,"JWSSignatureVerificationFailed",()=>l,"JWTClaimValidationFailed",()=>r,"JWTExpired",()=>n,"JWTInvalid",()=>o])},177278,e=>{"use strict";function t(e){if("object"!=typeof e||null===e||"[object Object]"!==Object.prototype.toString.call(e))return!1;if(null===Object.getPrototypeOf(e))return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function r(...e){let t,n=e.filter(Boolean);if(0===n.length||1===n.length)return!0;for(let e of n){let r=Object.keys(e);if(!t||0===t.size){t=new Set(r);continue}for(let e of r){if(t.has(e))return!1;t.add(e)}}return!0}e.s(["isDisjoint",()=>r,"isJWK",0,e=>t(e)&&"string"==typeof e.kty,"isObject",()=>t,"isPrivateJWK",0,e=>"oct"!==e.kty&&("AKP"===e.kty&&"string"==typeof e.priv||"string"==typeof e.d),"isPublicJWK",0,e=>"oct"!==e.kty&&void 0===e.d&&void 0===e.priv,"isSecretJWK",0,e=>"oct"===e.kty&&"string"==typeof e.k])},709939,e=>{"use strict";var t=e.i(663370),r=e.i(293233),n=e.i(865466),a=e.i(632802),s=e.i(913658),i=e.i(177278),o=e.i(48215),c=e.i(252665),l=e.i(18083);async function d(e,d,u){if(!(0,i.isObject)(e))throw new n.JWSInvalid("Flattened JWS must be an object");if(void 0===e.protected&&void 0===e.header)throw new n.JWSInvalid('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==e.protected&&"string"!=typeof e.protected)throw new n.JWSInvalid("JWS Protected Header incorrect type");if(void 0===e.payload)throw new n.JWSInvalid("JWS Payload missing");if("string"!=typeof e.signature)throw new n.JWSInvalid("JWS Signature missing or incorrect type");if(void 0!==e.header&&!(0,i.isObject)(e.header))throw new n.JWSInvalid("JWS Unprotected Header incorrect type");let p={};if(e.protected)try{let r=(0,t.decode)(e.protected);p=JSON.parse(a.decoder.decode(r))}catch{throw new n.JWSInvalid("JWS Protected Header is invalid")}if(!(0,i.isDisjoint)(p,e.header))throw new n.JWSInvalid("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let h={...p,...e.header},f=(0,c.validateCrit)(n.JWSInvalid,new Map([["b64",!0]]),u?.crit,p,h),y=!0;if(f.has("b64")&&"boolean"!=typeof(y=p.b64))throw new n.JWSInvalid('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:g}=h;if("string"!=typeof g||!g)throw new n.JWSInvalid('JWS "alg" (Algorithm) Header Parameter missing or invalid');let m=u&&function(e,t){if(void 0!==t&&(!Array.isArray(t)||t.some(e=>"string"!=typeof e)))throw TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)}("algorithms",u.algorithms);if(m&&!m.has(g))throw new n.JOSEAlgNotAllowed('"alg" (Algorithm) Header Parameter value not allowed');if(y){if("string"!=typeof e.payload)throw new n.JWSInvalid("JWS Payload must be a string")}else if("string"!=typeof e.payload&&!(e.payload instanceof Uint8Array))throw new n.JWSInvalid("JWS Payload must be a string or an Uint8Array instance");let E=!1;"function"==typeof d&&(d=await d(p,e),E=!0),(0,o.checkKeyType)(g,d,"verify");let v=(0,a.concat)(void 0!==e.protected?(0,a.encode)(e.protected):new Uint8Array,(0,a.encode)("."),"string"==typeof e.payload?y?(0,a.encode)(e.payload):a.encoder.encode(e.payload):e.payload),S=(0,s.decodeBase64url)(e.signature,"signature",n.JWSInvalid),_=await (0,l.normalizeKey)(d,g);if(!await (0,r.verify)(g,_,S,v))throw new n.JWSSignatureVerificationFailed;let R={payload:y?(0,s.decodeBase64url)(e.payload,"payload",n.JWSInvalid):"string"==typeof e.payload?a.encoder.encode(e.payload):e.payload};return(void 0!==e.protected&&(R.protectedHeader=p),void 0!==e.header&&(R.unprotectedHeader=e.header),E)?{...R,key:_}:R}async function u(e,t,r){if(e instanceof Uint8Array&&(e=a.decoder.decode(e)),"string"!=typeof e)throw new n.JWSInvalid("Compact JWS must be a string or Uint8Array");let{0:s,1:i,2:o,length:c}=e.split(".");if(3!==c)throw new n.JWSInvalid("Invalid Compact JWS");let l=await d({payload:i,protected:s,signature:o},t,r),u={payload:l.payload,protectedHeader:l.protectedHeader};return"function"==typeof t?{...u,key:l.key}:u}var p=e.i(224472);async function h(e,t,r){let a=await u(e,t,r);if(a.protectedHeader.crit?.includes("b64")&&!1===a.protectedHeader.b64)throw new n.JWTInvalid("JWTs MUST NOT use unencoded payload");let s={payload:(0,p.validateClaimsSet)(a.protectedHeader,a.payload,r),protectedHeader:a.protectedHeader};return"function"==typeof t?{...s,key:a.key}:s}e.s(["jwtVerify",()=>h],709939)},235328,e=>{"use strict";var t=e.i(709939),r=e.i(493458);e.i(245272);var n=e.i(548941);async function a(n){if(!await s())return!0;let a=n.headers.get("authorization");if(a?.startsWith("Bearer ")){let t=a.slice(7);try{let{validateApiKey:r}=await e.A(734680);if(await r(t))return!0}catch{}}if(process.env.JWT_SECRET)try{let e=await (0,r.cookies)(),n=e.get("auth_token")?.value;if(n){let e=new TextEncoder().encode(process.env.JWT_SECRET);return await (0,t.jwtVerify)(n,e),!0}}catch{}return!1}async function s(){try{let e=await (0,n.getSettings)();if(!1===e.requireLogin||!e.password&&!process.env.INITIAL_PASSWORD)return!1;return!0}catch(e){return console.error("[API_AUTH_GUARD] isAuthRequired failed, defaulting to true:",e?.message||e),!0}}e.s(["isAuthRequired",()=>s,"isAuthenticated",()=>a])},912603,e=>{"use strict";var t=e.i(254799);class r{#e=new Map;#t;#r;#n;#a=0;#s=0;#i={hits:0,misses:0,evictions:0};constructor(e={}){this.#t=e.maxSize??50,this.#r=e.maxBytes??2097152,this.#n=e.defaultTTL??3e5}static generateKey(e){let r=JSON.stringify(e,Object.keys(e).sort());return t.default.createHash("sha256").update(r).digest("hex").slice(0,16)}get(e){let t=this.#e.get(e);if(!t)return void this.#i.misses++;if(Date.now()-t.createdAt>t.ttl){this.#o(e,t),this.#i.misses++;return}return this.#e.delete(e),t.hits++,this.#e.set(e,t),this.#i.hits++,t.value}set(e,t,r){let n=this.#c(t);if(this.#e.has(e)){let t=this.#e.get(e);this.#s-=t.size||0,this.#a--,this.#e.delete(e)}for(;(this.#a>=this.#t||this.#s+n>this.#r)&&this.#e.size>0;){let e=this.#e.keys().next().value,t=this.#e.get(e);t&&this.#o(e,t),this.#i.evictions++}let a={key:e,value:t,createdAt:Date.now(),ttl:r??this.#n,size:n,hits:0};this.#e.set(e,a),this.#a++,this.#s+=n}#c(e){try{return 2*JSON.stringify(e).length}catch{return 1024}}#o(e,t){this.#e.delete(e),this.#a--,this.#s-=t.size||0,this.#s<0&&(this.#s=0)}has(e){let t=this.#e.get(e);return!!t&&(!(Date.now()-t.createdAt>t.ttl)||(this.#o(e,t),!1))}delete(e){let t=this.#e.get(e);return!!t&&(this.#o(e,t),!0)}clear(){this.#e.clear(),this.#a=0,this.#s=0}getStats(){let e=this.#i.hits+this.#i.misses;return{size:this.#a,maxSize:this.#t,bytes:this.#s,maxBytes:this.#r,...this.#i,hitRate:e>0?this.#i.hits/e*100:0}}}let n=null;function a(e){return n||(n=new r({maxSize:parseInt(process.env.PROMPT_CACHE_MAX_SIZE||"50",10),maxBytes:parseInt(process.env.PROMPT_CACHE_MAX_BYTES||String(2097152),10),defaultTTL:parseInt(process.env.PROMPT_CACHE_TTL_MS||"300000",10),...e})),n}e.s(["LRUCache",()=>r,"getPromptCache",()=>a])},511695,e=>{"use strict";var t=e.i(254799),r=e.i(912603),n=e.i(157763);function a(e){return e&&"object"==typeof e&&!Array.isArray(e)?e:{}}function s(e,t=0){if("number"==typeof e&&Number.isFinite(e))return e;if("string"==typeof e&&e.trim().length>0){let r=Number(e);return Number.isFinite(r)?r:t}return t}function i(e,t=1){try{(0,n.getDbInstance)().prepare("UPDATE cache_metrics SET value = value + ?, updated_at = datetime('now') WHERE key = ?").run(t,e)}catch{}}function o(e){try{let t=(0,n.getDbInstance)().prepare("SELECT value FROM cache_metrics WHERE key = ?").get(e);return t?s(a(t).value,0):0}catch{return 0}}let c=null;function l(){if(!c){c=new r.LRUCache({maxSize:parseInt(process.env.SEMANTIC_CACHE_MAX_SIZE||"100",10),maxBytes:parseInt(process.env.SEMANTIC_CACHE_MAX_BYTES||String(4194304),10),defaultTTL:parseInt(process.env.SEMANTIC_CACHE_TTL_MS||"1800000",10)});try{let e=(0,n.getDbInstance)();e.prepare(`CREATE TABLE IF NOT EXISTS cache_metrics (
2
2
  key TEXT PRIMARY KEY,
3
3
  value INTEGER NOT NULL DEFAULT 0,
4
4
  updated_at TEXT NOT NULL DEFAULT (datetime('now'))
5
5
  )`).run(),e.prepare("INSERT OR IGNORE INTO cache_metrics (key, value) VALUES ('hits', 0), ('misses', 0), ('tokens_saved', 0)").run()}catch{}}return c}function d(e,r,n=0,a=1){var s;let i=JSON.stringify({model:e,messages:Array.isArray(s=r)?s.map(e=>({role:e.role||"user",content:"string"==typeof e.content?e.content:JSON.stringify(e.content)})):[],temperature:n,top_p:a});return t.default.createHash("sha256").update(i).digest("hex")}function u(e){let t=l().get(e);if(t)return i("hits"),i("tokens_saved",t.tokensSaved||0),t.response;try{let t=(0,n.getDbInstance)(),r=t.prepare("SELECT response, tokens_saved FROM semantic_cache WHERE signature = ? AND expires_at > datetime('now')").get(e);if(r){let n=a(r),o="string"==typeof n.response?n.response:null;if(!o)return i("misses"),null;let c=JSON.parse(o),d=s(n.tokens_saved,0);return l().set(e,{response:c,tokensSaved:d}),t.prepare("UPDATE semantic_cache SET hit_count = hit_count + 1 WHERE signature = ?").run(e),i("hits"),i("tokens_saved",d),c}}catch{}return i("misses"),null}function p(e,r,a,s=0,i=36e5){let o=parseInt(process.env.SEMANTIC_CACHE_TTL_MS||String(i),10);l().set(e,{response:a,tokensSaved:s},o);try{let i=(0,n.getDbInstance)(),c=t.default.randomUUID(),l=e.slice(0,16),d=new Date().toISOString(),u=new Date(Date.now()+o).toISOString();i.prepare(`INSERT OR REPLACE INTO semantic_cache (id, signature, model, prompt_hash, response, tokens_saved, hit_count, created_at, expires_at)
6
- VALUES (?, ?, ?, ?, ?, ?, 0, ?, ?)`).run(c,e,r,l,JSON.stringify(a),s,d,u)}catch{}}function h(){try{return(0,n.getDbInstance)().prepare("DELETE FROM semantic_cache WHERE expires_at <= datetime('now')").run().changes}catch{return 0}}function f(e){l().clear();try{return(0,n.getDbInstance)().prepare("DELETE FROM semantic_cache WHERE model = ?").run(e).changes||0}catch{return 0}}function y(e){l().delete(e);try{return((0,n.getDbInstance)().prepare("DELETE FROM semantic_cache WHERE signature = ?").run(e).changes||0)>0}catch{return!1}}function g(e){l().clear();try{let t=(0,n.getDbInstance)(),r=new Date(Date.now()-e).toISOString();return t.prepare("DELETE FROM semantic_cache WHERE created_at < ?").run(r).changes||0}catch{return 0}}function m(){l().clear();try{let e=(0,n.getDbInstance)();e.prepare("DELETE FROM semantic_cache").run(),e.prepare("UPDATE cache_metrics SET value = 0").run()}catch{}}function E(){let e=l().getStats(),t=0;try{let e=(0,n.getDbInstance)().prepare("SELECT COUNT(*) as count FROM semantic_cache WHERE expires_at > datetime('now')").get();t=s(a(e).count,0)}catch{}let r=o("hits"),i=o("misses"),c=o("tokens_saved"),d=r+i;return{memoryEntries:e.size,dbEntries:t,hits:r,misses:i,hitRate:d>0?(r/d*100).toFixed(1):"0.0",tokensSaved:c}}function v(e,t){return"true"!==((function(e,t){if(!e)return null;if("function"==typeof e.get)return e.get(t);let r=t.toLowerCase();for(let[t,n]of Object.entries(e))if(t.toLowerCase()===r)return"string"==typeof n?n:null;return null})(t,"x-omniroute-no-cache")||"").toLowerCase()&&!1===e.stream&&(e.temperature??0)===0}e.s(["cleanExpiredEntries",()=>h,"clearCache",()=>m,"generateSignature",()=>d,"getCacheStats",()=>E,"getCachedResponse",()=>u,"invalidateByModel",()=>f,"invalidateBySignature",()=>y,"invalidateStale",()=>g,"isCacheable",()=>v,"setCachedResponse",()=>p])},289130,e=>{"use strict";let t,r=new Map;function n(e){if(!e)return null;let t="function"==typeof e.get?t=>e.get(t):t=>e[t];return t("idempotency-key")||t("x-request-id")||null}function a(e){if(!e)return null;let t=r.get(e);return t?Date.now()>=t.expiresAt?(r.delete(e),null):{response:t.response,status:t.status}:null}function s(e,n,a,i=5e3){e&&(!t&&(t=setInterval(()=>{let e=Date.now();for(let[t,n]of r)e>=n.expiresAt&&r.delete(t)},3e4)).unref&&t.unref(),r.set(e,{response:n,status:a,expiresAt:Date.now()+i}))}function i(){return{activeKeys:r.size,windowMs:5e3}}e.s(["checkIdempotency",()=>a,"getIdempotencyKey",()=>n,"getIdempotencyStats",()=>i,"saveIdempotency",()=>s])},365275,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),c=e.i(316795),l=e.i(487718),d=e.i(995169),u=e.i(47587),p=e.i(666012),h=e.i(570101),f=e.i(626937),y=e.i(10372),g=e.i(193695);e.i(52474);var m=e.i(600220),E=e.i(89171),v=e.i(511695),S=e.i(289130),_=e.i(548941),R=e.i(235328);function w(e){return e instanceof Error?e.message:String(e)}async function x(e){if(!await (0,R.isAuthenticated)(e))return E.NextResponse.json({error:"Unauthorized"},{status:401});try{let{searchParams:t}=new URL(e.url),r=parseInt(t.get("trendHours")||"24",10),n=Math.min(720,Math.max(1,Number.isNaN(r)?24:r)),a=(0,v.getCacheStats)(),s=(0,S.getIdempotencyStats)(),i=await (0,_.getCacheMetrics)(),o=await (0,_.getCacheTrend)(n);return E.NextResponse.json({semanticCache:a,promptCache:i,trend:o,idempotency:s})}catch(e){return E.NextResponse.json({error:w(e)},{status:500})}}async function A(e){if(!await (0,R.isAuthenticated)(e))return E.NextResponse.json({error:"Unauthorized"},{status:401});try{let{searchParams:t}=new URL(e.url),r=t.get("model"),n=t.get("signature"),a=t.get("staleMs");if([r,n,a].filter(Boolean).length>1)return E.NextResponse.json({error:"Only one invalidation parameter (model, signature, or staleMs) may be provided per request."},{status:400});if(r){let e=(0,v.invalidateByModel)(r);return E.NextResponse.json({ok:!0,invalidated:e,scope:"model",model:r})}if(n){let e=(0,v.invalidateBySignature)(n);return E.NextResponse.json({ok:!0,invalidated:+!!e,scope:"signature"})}if(a){let e=parseInt(a,10);if(Number.isNaN(e)||e<=0)return E.NextResponse.json({error:"staleMs must be a positive integer (milliseconds)."},{status:400});let t=(0,v.invalidateStale)(e);return E.NextResponse.json({ok:!0,invalidated:t,scope:"stale",maxAgeMs:e})}(0,v.clearCache)();let s=(0,v.cleanExpiredEntries)();return E.NextResponse.json({ok:!0,expiredRemoved:s,scope:"all"})}catch(e){return E.NextResponse.json({error:w(e)},{status:500})}}e.s(["DELETE",()=>A,"GET",()=>x],865411);var T=e.i(865411);let I=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/cache/route",pathname:"/api/cache",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cache/route.ts",nextConfigOutput:"standalone",userland:T}),{workAsyncStorage:b,workUnitAsyncStorage:C,serverHooks:O}=I;function N(){return(0,n.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:C})}async function D(e,t,n){I.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/cache/route";E=E.replace(/\/index$/,"")||"/";let v=await I.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:S,params:_,nextConfig:R,parsedUrl:w,isDraftMode:x,prerenderManifest:A,routerServerContext:T,isOnDemandRevalidate:b,revalidateOnlyGenerated:C,resolvedPathname:O,clientReferenceManifest:N,serverActionsManifest:D}=v,J=(0,o.normalizeAppPath)(E),k=!!(A.dynamicRoutes[J]||A.routes[O]),P=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,w,!1):t.end("This page could not be found"),null);if(k&&!x){let e=!!A.routes[O],t=A.dynamicRoutes[J];if(t&&!1===t.fallback&&!e){if(R.experimental.adapterPath)return await P();throw new g.NoFallbackError}}let W=null;!k||I.isDev||x||(W="/index"===(W=O)?"/":W);let L=!0===I.isDev||!k,j=k&&!L;D&&N&&(0,i.setManifestsSingleton)({page:E,clientReferenceManifest:N,serverActionsManifest:D});let U=e.method||"GET",M=(0,s.getTracer)(),H=M.getActiveScopeSpan(),B={params:_,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:R.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>I.onRequestError(e,t,n,a,T)},sharedContext:{buildId:S}},F=new c.NodeNextRequest(e),z=new c.NodeNextResponse(t),q=l.NextRequestAdapter.fromNodeNextRequest(F,(0,l.signalFromNodeResponse)(t));try{let i=async e=>I.handle(q,B).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=`${U} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${E}`)}),o=!!(0,a.getRequestMeta)(e,"minimalMode"),c=async a=>{var s,c;let l=async({previousCacheEntry:r})=>{try{if(!o&&b&&C&&!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=B.renderOpts.fetchMetrics;let c=B.renderOpts.pendingWaitUntil;c&&n.waitUntil&&(n.waitUntil(c),c=void 0);let l=B.renderOpts.collectedTags;if(!k)return await (0,p.sendResponse)(F,z,s,B.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[y.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=y.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,n=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=y.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:m.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 I.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:b})},!1,T),t}},d=await I.handleResponse({req:e,nextConfig:R,cacheKey:W,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:C,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:o});if(!k)return null;if((null==d||null==(s=d.value)?void 0:s.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(c=d.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",b?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return o&&k||g.delete(y.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(F,z,new Response(d.value.body,{headers:g,status:d.value.status||200})),null};H?await c(H):await M.withPropagatedContext(e.headers,()=>M.trace(d.BaseServerSpan.handleRequest,{spanName:`${U} ${E}`,kind:s.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},c))}catch(t){if(t instanceof g.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:b})},!1,T),k)throw t;return await (0,p.sendResponse)(F,z,new Response(null,{status:500})),null}}e.s(["handler",()=>D,"patchFetch",()=>N,"routeModule",()=>I,"serverHooks",()=>O,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>C],365275)},606102,e=>{e.v(e=>Promise.resolve().then(()=>e(548941)))},789543,e=>{e.v(e=>Promise.resolve().then(()=>e(385498)))},49794,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_ts_65de0558._.js"].map(t=>e.l(t))).then(()=>t(404503)))},386305,e=>{e.v(e=>Promise.resolve().then(()=>e(878947)))},579042,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_utils_apiKey_ts_fa113e09._.js"].map(t=>e.l(t))).then(()=>t(65448)))},734680,e=>{e.v(e=>Promise.resolve().then(()=>e(125852)))}];
6
+ VALUES (?, ?, ?, ?, ?, ?, 0, ?, ?)`).run(c,e,r,l,JSON.stringify(a),s,d,u)}catch{}}function h(){try{return(0,n.getDbInstance)().prepare("DELETE FROM semantic_cache WHERE expires_at <= datetime('now')").run().changes}catch{return 0}}function f(e){l().clear();try{return(0,n.getDbInstance)().prepare("DELETE FROM semantic_cache WHERE model = ?").run(e).changes||0}catch{return 0}}function y(e){l().delete(e);try{return((0,n.getDbInstance)().prepare("DELETE FROM semantic_cache WHERE signature = ?").run(e).changes||0)>0}catch{return!1}}function g(e){l().clear();try{let t=(0,n.getDbInstance)(),r=new Date(Date.now()-e).toISOString();return t.prepare("DELETE FROM semantic_cache WHERE created_at < ?").run(r).changes||0}catch{return 0}}function m(){l().clear();try{let e=(0,n.getDbInstance)();e.prepare("DELETE FROM semantic_cache").run(),e.prepare("UPDATE cache_metrics SET value = 0").run()}catch{}}function E(){let e=l().getStats(),t=0;try{let e=(0,n.getDbInstance)().prepare("SELECT COUNT(*) as count FROM semantic_cache WHERE expires_at > datetime('now')").get();t=s(a(e).count,0)}catch{}let r=o("hits"),i=o("misses"),c=o("tokens_saved"),d=r+i;return{memoryEntries:e.size,dbEntries:t,hits:r,misses:i,hitRate:d>0?(r/d*100).toFixed(1):"0.0",tokensSaved:c}}function v(e,t){return"true"!==((function(e,t){if(!e)return null;if("function"==typeof e.get)return e.get(t);let r=t.toLowerCase();for(let[t,n]of Object.entries(e))if(t.toLowerCase()===r)return"string"==typeof n?n:null;return null})(t,"x-omniroute-no-cache")||"").toLowerCase()&&!1===e.stream&&(e.temperature??0)===0}e.s(["cleanExpiredEntries",()=>h,"clearCache",()=>m,"generateSignature",()=>d,"getCacheStats",()=>E,"getCachedResponse",()=>u,"invalidateByModel",()=>f,"invalidateBySignature",()=>y,"invalidateStale",()=>g,"isCacheable",()=>v,"setCachedResponse",()=>p])},289130,e=>{"use strict";let t,r=new Map;function n(e){if(!e)return null;let t="function"==typeof e.get?t=>e.get(t):t=>e[t];return t("idempotency-key")||t("x-request-id")||null}function a(e){if(!e)return null;let t=r.get(e);return t?Date.now()>=t.expiresAt?(r.delete(e),null):{response:t.response,status:t.status}:null}function s(e,n,a,i=5e3){e&&(!t&&(t=setInterval(()=>{let e=Date.now();for(let[t,n]of r)e>=n.expiresAt&&r.delete(t)},3e4)).unref&&t.unref(),r.set(e,{response:n,status:a,expiresAt:Date.now()+i}))}function i(){return{activeKeys:r.size,windowMs:5e3}}e.s(["checkIdempotency",()=>a,"getIdempotencyKey",()=>n,"getIdempotencyStats",()=>i,"saveIdempotency",()=>s])},365275,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),c=e.i(316795),l=e.i(487718),d=e.i(995169),u=e.i(47587),p=e.i(666012),h=e.i(570101),f=e.i(626937),y=e.i(10372),g=e.i(193695);e.i(52474);var m=e.i(600220),E=e.i(89171),v=e.i(511695),S=e.i(289130),_=e.i(548941),R=e.i(235328);function w(e){return e instanceof Error?e.message:String(e)}async function A(e){if(!await (0,R.isAuthenticated)(e))return E.NextResponse.json({error:"Unauthorized"},{status:401});try{let{searchParams:t}=new URL(e.url),r=parseInt(t.get("trendHours")||"24",10),n=Math.min(720,Math.max(1,Number.isNaN(r)?24:r)),a=(0,v.getCacheStats)(),s=(0,S.getIdempotencyStats)(),i=await (0,_.getCacheMetrics)(),o=await (0,_.getCacheTrend)(n);return E.NextResponse.json({semanticCache:a,promptCache:i,trend:o,idempotency:s})}catch(e){return E.NextResponse.json({error:w(e)},{status:500})}}async function x(e){if(!await (0,R.isAuthenticated)(e))return E.NextResponse.json({error:"Unauthorized"},{status:401});try{let{searchParams:t}=new URL(e.url),r=t.get("model"),n=t.get("signature"),a=t.get("staleMs");if([r,n,a].filter(Boolean).length>1)return E.NextResponse.json({error:"Only one invalidation parameter (model, signature, or staleMs) may be provided per request."},{status:400});if(r){let e=(0,v.invalidateByModel)(r);return E.NextResponse.json({ok:!0,invalidated:e,scope:"model",model:r})}if(n){let e=(0,v.invalidateBySignature)(n);return E.NextResponse.json({ok:!0,invalidated:+!!e,scope:"signature"})}if(a){let e=parseInt(a,10);if(Number.isNaN(e)||e<=0)return E.NextResponse.json({error:"staleMs must be a positive integer (milliseconds)."},{status:400});let t=(0,v.invalidateStale)(e);return E.NextResponse.json({ok:!0,invalidated:t,scope:"stale",maxAgeMs:e})}(0,v.clearCache)();let s=(0,v.cleanExpiredEntries)();return E.NextResponse.json({ok:!0,expiredRemoved:s,scope:"all"})}catch(e){return E.NextResponse.json({error:w(e)},{status:500})}}e.s(["DELETE",()=>x,"GET",()=>A],865411);var T=e.i(865411);let I=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/cache/route",pathname:"/api/cache",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cache/route.ts",nextConfigOutput:"standalone",userland:T}),{workAsyncStorage:b,workUnitAsyncStorage:C,serverHooks:O}=I;function N(){return(0,n.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:C})}async function D(e,t,n){I.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/cache/route";E=E.replace(/\/index$/,"")||"/";let v=await I.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:S,params:_,nextConfig:R,parsedUrl:w,isDraftMode:A,prerenderManifest:x,routerServerContext:T,isOnDemandRevalidate:b,revalidateOnlyGenerated:C,resolvedPathname:O,clientReferenceManifest:N,serverActionsManifest:D}=v,J=(0,o.normalizeAppPath)(E),P=!!(x.dynamicRoutes[J]||x.routes[O]),k=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,w,!1):t.end("This page could not be found"),null);if(P&&!A){let e=!!x.routes[O],t=x.dynamicRoutes[J];if(t&&!1===t.fallback&&!e){if(R.experimental.adapterPath)return await k();throw new g.NoFallbackError}}let W=null;!P||I.isDev||A||(W="/index"===(W=O)?"/":W);let L=!0===I.isDev||!P,j=P&&!L;D&&N&&(0,i.setManifestsSingleton)({page:E,clientReferenceManifest:N,serverActionsManifest:D});let U=e.method||"GET",M=(0,s.getTracer)(),H=M.getActiveScopeSpan(),B={params:_,prerenderManifest:x,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:R.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>I.onRequestError(e,t,n,a,T)},sharedContext:{buildId:S}},F=new c.NodeNextRequest(e),z=new c.NodeNextResponse(t),q=l.NextRequestAdapter.fromNodeNextRequest(F,(0,l.signalFromNodeResponse)(t));try{let i=async e=>I.handle(q,B).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=`${U} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${E}`)}),o=!!(0,a.getRequestMeta)(e,"minimalMode"),c=async a=>{var s,c;let l=async({previousCacheEntry:r})=>{try{if(!o&&b&&C&&!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=B.renderOpts.fetchMetrics;let c=B.renderOpts.pendingWaitUntil;c&&n.waitUntil&&(n.waitUntil(c),c=void 0);let l=B.renderOpts.collectedTags;if(!P)return await (0,p.sendResponse)(F,z,s,B.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[y.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=y.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,n=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=y.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:m.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 I.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:b})},!1,T),t}},d=await I.handleResponse({req:e,nextConfig:R,cacheKey:W,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:C,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:o});if(!P)return null;if((null==d||null==(s=d.value)?void 0:s.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(c=d.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",b?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return o&&P||g.delete(y.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(F,z,new Response(d.value.body,{headers:g,status:d.value.status||200})),null};H?await c(H):await M.withPropagatedContext(e.headers,()=>M.trace(d.BaseServerSpan.handleRequest,{spanName:`${U} ${E}`,kind:s.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},c))}catch(t){if(t instanceof g.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:b})},!1,T),P)throw t;return await (0,p.sendResponse)(F,z,new Response(null,{status:500})),null}}e.s(["handler",()=>D,"patchFetch",()=>N,"routeModule",()=>I,"serverHooks",()=>O,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>C],365275)},606102,e=>{e.v(e=>Promise.resolve().then(()=>e(548941)))},789543,e=>{e.v(e=>Promise.resolve().then(()=>e(385498)))},49794,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_ts_65de0558._.js"].map(t=>e.l(t))).then(()=>t(404503)))},386305,e=>{e.v(e=>Promise.resolve().then(()=>e(878947)))},579042,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_utils_apiKey_ts_fa113e09._.js"].map(t=>e.l(t))).then(()=>t(65448)))},734680,e=>{e.v(e=>Promise.resolve().then(()=>e(125852)))}];
7
7
 
8
8
  //# sourceMappingURL=%5Broot-of-the-server%5D__90ac0c12._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[918622,(e,t,o)=>{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,o)=>{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,o)=>{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,o)=>{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,o)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,o)=>{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,o)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,o)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,o)=>{"use strict";var i=Object.defineProperty,r=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,n={},c={RequestCookies:()=>g,ResponseCookies:()=>y,parseCookie:()=>d,parseSetCookie:()=>u,stringifyCookie:()=>p};for(var l in c)i(n,l,{get:c[l],enumerable:!0});function p(e){var t;let o=["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),i=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===o.length?i:`${i}; ${o.join("; ")}`}function d(e){let t=new Map;for(let o of e.split(/; */)){if(!o)continue;let e=o.indexOf("=");if(-1===e){t.set(o,"true");continue}let[i,r]=[o.slice(0,e),o.slice(e+1)];try{t.set(i,decodeURIComponent(null!=r?r:"true"))}catch{}}return t}function u(e){if(!e)return;let[[t,o],...i]=d(e),{domain:r,expires:a,httponly:s,maxage:n,path:c,samesite:l,secure:p,partitioned:u,priority:g}=Object.fromEntries(i.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var y,b,x={name:t,value:decodeURIComponent(o),domain:r,...a&&{expires:new Date(a)},...s&&{httpOnly:!0},..."string"==typeof n&&{maxAge:Number(n)},path:c,...l&&{sameSite:m.includes(y=(y=l).toLowerCase())?y:void 0},...p&&{secure:!0},...g&&{priority:h.includes(b=(b=g).toLowerCase())?b:void 0},...u&&{partitioned:!0}};let e={};for(let t in x)x[t]&&(e[t]=x[t]);return e}}t.exports=((e,t,o,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of a(t))s.call(e,o)||void 0===o||i(e,o,{get:()=>t[o],enumerable:!(n=r(t,o))||n.enumerable});return e})(i({},"__esModule",{value:!0}),n);var m=["strict","lax","none"],h=["low","medium","high"],g=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,o]of d(t))this._parsed.set(e,{name:e,value:o})}[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 o=Array.from(this._parsed);if(!e.length)return o.map(([e,t])=>t);let i="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return o.filter(([e])=>e===i).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,o]=1===e.length?[e[0].name,e[0].value]:e,i=this._parsed;return i.set(t,{name:t,value:o}),this._headers.set("cookie",Array.from(i).map(([e,t])=>p(t)).join("; ")),this}delete(e){let t=this._parsed,o=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("; ")),o}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("; ")}},y=class{constructor(e){var t,o,i;this._parsed=new Map,this._headers=e;const r=null!=(i=null!=(o=null==(t=e.getSetCookie)?void 0:t.call(e))?o:e.get("set-cookie"))?i:[];for(const e of Array.isArray(r)?r:function(e){if(!e)return[];var t,o,i,r,a,s=[],n=0;function c(){for(;n<e.length&&/\s/.test(e.charAt(n));)n+=1;return n<e.length}for(;n<e.length;){for(t=n,a=!1;c();)if(","===(o=e.charAt(n))){for(i=n,n+=1,c(),r=n;n<e.length&&"="!==(o=e.charAt(n))&&";"!==o&&","!==o;)n+=1;n<e.length&&"="===e.charAt(n)?(a=!0,n=r,s.push(e.substring(t,i)),t=n):n=i+1}else n+=1;(!a||n>=e.length)&&s.push(e.substring(t,e.length))}return s}(r)){const t=u(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let o=Array.from(this._parsed.values());if(!e.length)return o;let i="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return o.filter(e=>e.name===i)}has(e){return this._parsed.has(e)}set(...e){let[t,o,i]=1===e.length?[e[0].name,e[0].value,e[0]]:e,r=this._parsed;return r.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:o,...i})),function(e,t){for(let[,o]of(t.delete("set-cookie"),e)){let e=p(o);t.append("set-cookie",e)}}(r,this._headers),this}delete(...e){let[t,o]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...o,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("; ")}}},677850,e=>e.a(async(t,o)=>{try{let t=await e.y("zod");e.n(t),o()}catch(e){o(e)}},!0),804730,e=>{e.v({name:"omniroute",version:"3.4.0",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",keytar:"^7.9.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"},devDependencies:{"@playwright/test":"^1.58.2","@tailwindcss/postcss":"^4.1.18","@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",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","lint-staged":"^16.2.7",prettier:"^3.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"}})},102835,e=>e.a(async(t,o)=>{try{var i=e.i(677850),r=t([i]);[i]=r.then?(await r)():r;let s=i.z.object({id:i.z.string().min(1),alias:i.z.string().min(1),name:i.z.string().min(1),icon:i.z.string().min(1),color:i.z.string().regex(/^#[0-9A-Fa-f]{6}$/,"Must be a valid hex color (#RRGGBB)"),textIcon:i.z.string().optional(),website:i.z.string().url().optional(),passthroughModels:i.z.boolean().optional(),deprecated:i.z.boolean().optional(),deprecationReason:i.z.string().optional(),hasFree:i.z.boolean().optional(),freeNote:i.z.string().optional(),authHint:i.z.string().optional(),apiHint:i.z.string().optional()}),n=i.z.record(i.z.string(),s);function a(e,t){let o=n.safeParse(e);if(!o.success){let e=o.error.issues.map(e=>` ${e.path.join(".")}: ${e.message}`).join("\n");throw console.error(`[PROVIDER VALIDATION] ${t} has invalid entries:
1
+ module.exports=[918622,(e,t,o)=>{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,o)=>{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,o)=>{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,o)=>{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,o)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,o)=>{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,o)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,o)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,o)=>{"use strict";var i=Object.defineProperty,r=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,n={},c={RequestCookies:()=>g,ResponseCookies:()=>y,parseCookie:()=>d,parseSetCookie:()=>u,stringifyCookie:()=>p};for(var l in c)i(n,l,{get:c[l],enumerable:!0});function p(e){var t;let o=["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),i=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===o.length?i:`${i}; ${o.join("; ")}`}function d(e){let t=new Map;for(let o of e.split(/; */)){if(!o)continue;let e=o.indexOf("=");if(-1===e){t.set(o,"true");continue}let[i,r]=[o.slice(0,e),o.slice(e+1)];try{t.set(i,decodeURIComponent(null!=r?r:"true"))}catch{}}return t}function u(e){if(!e)return;let[[t,o],...i]=d(e),{domain:r,expires:a,httponly:s,maxage:n,path:c,samesite:l,secure:p,partitioned:u,priority:g}=Object.fromEntries(i.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var y,b,x={name:t,value:decodeURIComponent(o),domain:r,...a&&{expires:new Date(a)},...s&&{httpOnly:!0},..."string"==typeof n&&{maxAge:Number(n)},path:c,...l&&{sameSite:m.includes(y=(y=l).toLowerCase())?y:void 0},...p&&{secure:!0},...g&&{priority:h.includes(b=(b=g).toLowerCase())?b:void 0},...u&&{partitioned:!0}};let e={};for(let t in x)x[t]&&(e[t]=x[t]);return e}}t.exports=((e,t,o,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of a(t))s.call(e,o)||void 0===o||i(e,o,{get:()=>t[o],enumerable:!(n=r(t,o))||n.enumerable});return e})(i({},"__esModule",{value:!0}),n);var m=["strict","lax","none"],h=["low","medium","high"],g=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,o]of d(t))this._parsed.set(e,{name:e,value:o})}[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 o=Array.from(this._parsed);if(!e.length)return o.map(([e,t])=>t);let i="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return o.filter(([e])=>e===i).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,o]=1===e.length?[e[0].name,e[0].value]:e,i=this._parsed;return i.set(t,{name:t,value:o}),this._headers.set("cookie",Array.from(i).map(([e,t])=>p(t)).join("; ")),this}delete(e){let t=this._parsed,o=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("; ")),o}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("; ")}},y=class{constructor(e){var t,o,i;this._parsed=new Map,this._headers=e;const r=null!=(i=null!=(o=null==(t=e.getSetCookie)?void 0:t.call(e))?o:e.get("set-cookie"))?i:[];for(const e of Array.isArray(r)?r:function(e){if(!e)return[];var t,o,i,r,a,s=[],n=0;function c(){for(;n<e.length&&/\s/.test(e.charAt(n));)n+=1;return n<e.length}for(;n<e.length;){for(t=n,a=!1;c();)if(","===(o=e.charAt(n))){for(i=n,n+=1,c(),r=n;n<e.length&&"="!==(o=e.charAt(n))&&";"!==o&&","!==o;)n+=1;n<e.length&&"="===e.charAt(n)?(a=!0,n=r,s.push(e.substring(t,i)),t=n):n=i+1}else n+=1;(!a||n>=e.length)&&s.push(e.substring(t,e.length))}return s}(r)){const t=u(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let o=Array.from(this._parsed.values());if(!e.length)return o;let i="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return o.filter(e=>e.name===i)}has(e){return this._parsed.has(e)}set(...e){let[t,o,i]=1===e.length?[e[0].name,e[0].value,e[0]]:e,r=this._parsed;return r.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:o,...i})),function(e,t){for(let[,o]of(t.delete("set-cookie"),e)){let e=p(o);t.append("set-cookie",e)}}(r,this._headers),this}delete(...e){let[t,o]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...o,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("; ")}}},677850,e=>e.a(async(t,o)=>{try{let t=await e.y("zod");e.n(t),o()}catch(e){o(e)}},!0),804730,e=>{e.v({name:"omniroute",version:"3.4.1",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",keytar:"^7.9.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"},devDependencies:{"@playwright/test":"^1.58.2","@tailwindcss/postcss":"^4.1.18","@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",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","lint-staged":"^16.2.7",prettier:"^3.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"}})},102835,e=>e.a(async(t,o)=>{try{var i=e.i(677850),r=t([i]);[i]=r.then?(await r)():r;let s=i.z.object({id:i.z.string().min(1),alias:i.z.string().min(1),name:i.z.string().min(1),icon:i.z.string().min(1),color:i.z.string().regex(/^#[0-9A-Fa-f]{6}$/,"Must be a valid hex color (#RRGGBB)"),textIcon:i.z.string().optional(),website:i.z.string().url().optional(),passthroughModels:i.z.boolean().optional(),deprecated:i.z.boolean().optional(),deprecationReason:i.z.string().optional(),hasFree:i.z.boolean().optional(),freeNote:i.z.string().optional(),authHint:i.z.string().optional(),apiHint:i.z.string().optional()}),n=i.z.record(i.z.string(),s);function a(e,t){let o=n.safeParse(e);if(!o.success){let e=o.error.issues.map(e=>` ${e.path.join(".")}: ${e.message}`).join("\n");throw console.error(`[PROVIDER VALIDATION] ${t} has invalid entries:
2
2
  ${e}`),Error(`Provider validation failed for ${t}`)}}e.s(["validateProviders",()=>a]),o()}catch(e){o(e)}},!1),963219,e=>e.a(async(t,o)=>{try{var i=e.i(102835),r=t([i]);[i]=r.then?(await r)():r;let c={qoder:{id:"qoder",alias:"if",name:"Qoder AI",icon:"water_drop",color:"#6366F1"},qwen:{id:"qwen",alias:"qw",name:"Qwen Code",icon:"psychology",color:"#10B981"},"gemini-cli":{id:"gemini-cli",alias:"gemini-cli",name:"Gemini CLI",icon:"terminal",color:"#4285F4",deprecated:!0,deprecationReason:"Google restricts third-party OAuth usage for Gemini CLI (Mar 2026). Pro models require paid plans. Use 'gemini' (API key) provider instead."},kiro:{id:"kiro",alias:"kr",name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35"}},l={claude:{id:"claude",alias:"cc",name:"Claude Code",icon:"smart_toy",color:"#D97757"},antigravity:{id:"antigravity",alias:"ag",name:"Antigravity",icon:"rocket_launch",color:"#F59E0B"},codex:{id:"codex",alias:"cx",name:"OpenAI Codex",icon:"code",color:"#3B82F6"},github:{id:"github",alias:"gh",name:"GitHub Copilot",icon:"code",color:"#333333"},cursor:{id:"cursor",alias:"cu",name:"Cursor IDE",icon:"edit_note",color:"#00D4AA"},"kimi-coding":{id:"kimi-coding",alias:"kmc",name:"Kimi Coding",icon:"psychology",color:"#1E40AF",textIcon:"KC"},kilocode:{id:"kilocode",alias:"kc",name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC"},cline:{id:"cline",alias:"cl",name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL"}},p={openrouter:{id:"openrouter",alias:"openrouter",name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",passthroughModels:!0,website:"https://openrouter.ai"},glm:{id:"glm",alias:"glm",name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn"},"bailian-coding-plan":{id:"bailian-coding-plan",alias:"bcp",name:"Alibaba Coding Plan",icon:"code",color:"#FF6A00",textIcon:"BCP",website:"https://www.alibabacloud.com/help/en/model-studio/coding-plan"},kimi:{id:"kimi",alias:"kimi",name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn"},"kimi-coding-apikey":{id:"kimi-coding-apikey",alias:"kmca",name:"Kimi Coding (API Key)",icon:"psychology",color:"#1E40AF",textIcon:"KC",website:"https://kimi.com"},minimax:{id:"minimax",alias:"minimax",name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com"},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com"},alicode:{id:"alicode",alias:"alicode",name:"Alibaba",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://bailian.console.aliyun.com"},"alicode-intl":{id:"alicode-intl",alias:"alicode-intl",name:"Alibaba Intl",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://modelstudio.console.alibabacloud.com"},openai:{id:"openai",alias:"openai",name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com"},anthropic:{id:"anthropic",alias:"anthropic",name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com"},gemini:{id:"gemini",alias:"gemini",name:"Gemini (Google AI Studio)",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev",hasFree:!0,freeNote:"Free forever: 1,500 req/day for Gemini 2.5 Flash — no credit card, get key at aistudio.google.com"},deepseek:{id:"deepseek",alias:"ds",name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com"},groq:{id:"groq",alias:"groq",name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com",hasFree:!0,freeNote:"Free tier: 30 RPM / 14.4K RPD — no credit card"},blackbox:{id:"blackbox",alias:"bb",name:"Blackbox AI",icon:"view_in_ar",color:"#1A1A2E",textIcon:"BB",website:"https://blackbox.ai"},xai:{id:"xai",alias:"xai",name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai"},mistral:{id:"mistral",alias:"mistral",name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai"},perplexity:{id:"perplexity",alias:"pplx",name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai"},together:{id:"together",alias:"together",name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai",hasFree:!0,freeNote:"$25 signup credits + 3 permanently free models: Llama 3.3 70B, Vision, DeepSeek-R1 distill"},fireworks:{id:"fireworks",alias:"fireworks",name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai"},cerebras:{id:"cerebras",alias:"cerebras",name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://inference.cerebras.ai",hasFree:!0,freeNote:"Free: 1M tokens/day, 60K TPM — world's fastest inference"},cohere:{id:"cohere",alias:"cohere",name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com"},nvidia:{id:"nvidia",alias:"nvidia",name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://build.nvidia.com",hasFree:!0,freeNote:"Free dev access: ~40 RPM, 70+ models (Kimi K2.5, GLM 4.7, DeepSeek V3.2...)"},nebius:{id:"nebius",alias:"nebius",name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com"},siliconflow:{id:"siliconflow",alias:"siliconflow",name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com"},hyperbolic:{id:"hyperbolic",alias:"hyp",name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz"},deepgram:{id:"deepgram",alias:"dg",name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com"},assemblyai:{id:"assemblyai",alias:"aai",name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com"},nanobanana:{id:"nanobanana",alias:"nb",name:"NanoBanana",icon:"image",color:"#FFD700",textIcon:"NB",website:"https://nanobananaapi.ai"},"ollama-cloud":{id:"ollama-cloud",alias:"ollamacloud",name:"Ollama Cloud",icon:"cloud",color:"#58A6FF",textIcon:"OC",website:"https://ollama.com/settings/api-keys"},elevenlabs:{id:"elevenlabs",alias:"el",name:"ElevenLabs",icon:"record_voice_over",color:"#6C47FF",textIcon:"EL",website:"https://elevenlabs.io"},cartesia:{id:"cartesia",alias:"cartesia",name:"Cartesia",icon:"spatial_audio",color:"#FF4F8B",textIcon:"CA",website:"https://cartesia.ai"},playht:{id:"playht",alias:"playht",name:"PlayHT",icon:"play_circle",color:"#00B4D8",textIcon:"PH",website:"https://play.ht"},inworld:{id:"inworld",alias:"inworld",name:"Inworld",icon:"voice_chat",color:"#7B2EF2",textIcon:"IW",website:"https://inworld.ai"},sdwebui:{id:"sdwebui",alias:"sdwebui",name:"SD WebUI",icon:"brush",color:"#FF7043",textIcon:"SD",website:"https://github.com/AUTOMATIC1111/stable-diffusion-webui"},comfyui:{id:"comfyui",alias:"comfyui",name:"ComfyUI",icon:"account_tree",color:"#4CAF50",textIcon:"CF",website:"https://github.com/comfyanonymous/ComfyUI"},huggingface:{id:"huggingface",alias:"hf",name:"HuggingFace",icon:"face",color:"#FFD21E",textIcon:"HF",website:"https://huggingface.co",hasFree:!0,freeNote:"Free Inference API for thousands of models (Whisper, VITS, SDXL…)"},synthetic:{id:"synthetic",alias:"synthetic",name:"Synthetic",icon:"verified_user",color:"#6366F1",textIcon:"SY",website:"https://synthetic.new",passthroughModels:!0},"kilo-gateway":{id:"kilo-gateway",alias:"kg",name:"Kilo Gateway",icon:"hub",color:"#617A91",textIcon:"KG",website:"https://kilo.ai",passthroughModels:!0},vertex:{id:"vertex",alias:"vertex",name:"Vertex AI",icon:"cloud",color:"#4285F4",textIcon:"VA",website:"https://cloud.google.com/vertex-ai",authHint:"Provide Service Account JSON or OAuth access_token"},zai:{id:"zai",alias:"zai",name:"Z.AI",icon:"psychology",color:"#2563EB",textIcon:"ZA",website:"https://open.bigmodel.cn",apiHint:"API key from https://open.bigmodel.cn/usercenter/apikeys"},"perplexity-search":{id:"perplexity-search",alias:"pplx-search",name:"Perplexity Search",icon:"search",color:"#20808D",textIcon:"PS",website:"https://docs.perplexity.ai/guides/search-quickstart",authHint:"Same API key as Perplexity (pplx-...)"},"serper-search":{id:"serper-search",alias:"serper-search",name:"Serper Search",icon:"search",color:"#4285F4",textIcon:"SP",website:"https://serper.dev",authHint:"API key from serper.dev dashboard"},"brave-search":{id:"brave-search",alias:"brave-search",name:"Brave Search",icon:"travel_explore",color:"#FB542B",textIcon:"BR",website:"https://brave.com/search/api",authHint:"Subscription token from Brave Search API dashboard"},"exa-search":{id:"exa-search",alias:"exa-search",name:"Exa Search",icon:"neurology",color:"#1E40AF",textIcon:"EX",website:"https://exa.ai",authHint:"API key from dashboard.exa.ai"},"tavily-search":{id:"tavily-search",alias:"tavily-search",name:"Tavily Search",icon:"manage_search",color:"#5B4FDB",textIcon:"TV",website:"https://tavily.com",authHint:"API key from app.tavily.com (format: tvly-...)"},"opencode-zen":{id:"opencode-zen",alias:"opencode-zen",name:"OpenCode Zen",icon:"opencode",color:"#6366f1",website:"https://opencode.ai/zen"},"opencode-go":{id:"opencode-go",alias:"opencode-go",name:"OpenCode Go",icon:"opencode",color:"#6366f1",website:"https://opencode.ai/zen/go"},alibaba:{id:"alibaba",alias:"ali",name:"Alibaba Cloud (DashScope)",icon:"cloud_queue",color:"#FF6600",textIcon:"AL",website:"https://dashscope-intl.aliyuncs.com",hasFree:!1},longcat:{id:"longcat",alias:"lc",name:"LongCat AI",icon:"auto_awesome",color:"#FF6B9D",textIcon:"LC",website:"https://longcat.chat",hasFree:!0,freeNote:"50M tokens/day (Flash-Lite) + 500K/day (Chat/Thinking) — 100% free while public beta"},pollinations:{id:"pollinations",alias:"pol",name:"Pollinations AI",icon:"local_florist",color:"#4CAF50",textIcon:"PO",website:"https://pollinations.ai",hasFree:!0,freeNote:"No API key needed — access GPT-5, Claude, Gemini, DeepSeek V3, Llama 4 free (1 req/15s)"},puter:{id:"puter",alias:"pu",name:"Puter AI",icon:"cloud_circle",color:"#6366F1",textIcon:"PU",website:"https://puter.com",hasFree:!0,freeNote:"500+ models (GPT-5, Claude Opus 4, Gemini 3 Pro, Grok 4, DeepSeek V3...) — Users pay via free Puter account",passthroughModels:!0,authHint:"Get token at puter.com/dashboard → Copy Auth Token"},"cloudflare-ai":{id:"cloudflare-ai",alias:"cf",name:"Cloudflare Workers AI",icon:"cloud",color:"#F48120",textIcon:"CF",website:"https://developers.cloudflare.com/workers-ai/",hasFree:!0,freeNote:"Free 10K Neurons/day: ~150 LLM responses or 500s Whisper audio — edge inference globally",authHint:"Requires API Token AND Account ID (found at dash.cloudflare.com)"},scaleway:{id:"scaleway",alias:"scw",name:"Scaleway AI",icon:"cloud",color:"#4F0599",textIcon:"SCW",website:"https://www.scaleway.com/en/ai/generative-apis/",hasFree:!0,freeNote:"1M free tokens for new accounts — EU/GDPR compliant (Paris), Qwen3 235B & Llama 70B"},aimlapi:{id:"aimlapi",alias:"aiml",name:"AI/ML API",icon:"hub",color:"#6366F1",textIcon:"AI",website:"https://aimlapi.com",hasFree:!0,freeNote:"$0.025/day free credits — 200+ models (GPT-4o, Claude, Gemini, Llama) via single endpoint",passthroughModels:!0}},d="openai-compatible-",u="anthropic-compatible-";function a(e){return"string"==typeof e&&e.startsWith(d)}function s(e){return"string"==typeof e&&e.startsWith(u)}let m={...c,...l,...p};function n(e){let t=m[e];return t?.alias||e}let h=Object.values(m).reduce((e,t)=>(e[t.alias]=t.id,e),{});Object.values(m).reduce((e,t)=>(e[t.id]=t.alias,e),{}),(0,i.validateProviders)(c,"FREE_PROVIDERS"),(0,i.validateProviders)(l,"OAUTH_PROVIDERS"),(0,i.validateProviders)(p,"APIKEY_PROVIDERS"),e.s(["AI_PROVIDERS",0,m,"ALIAS_TO_ID",0,h,"ANTHROPIC_COMPATIBLE_PREFIX",0,u,"APIKEY_PROVIDERS",0,p,"FREE_PROVIDERS",0,c,"OAUTH_PROVIDERS",0,l,"OPENAI_COMPATIBLE_PREFIX",0,d,"getProviderAlias",()=>n,"isAnthropicCompatibleProvider",()=>s,"isOpenAICompatibleProvider",()=>a]),o()}catch(e){o(e)}},!1),617325,e=>e.a(async(t,o)=>{try{var i=e.i(878947),r=e.i(963219),a=t([r]);[r]=a.then?(await a)():a,Object.entries(r.AI_PROVIDERS).filter(([,e])=>e.passthroughModels).map(([e])=>e);let s=Object.entries(i.PROVIDER_MODELS).flatMap(([e,t])=>t.map(t=>({provider:e,model:t.id,name:t.name})));e.s(["AI_MODELS",0,s]),o()}catch(e){o(e)}},!1),651948,e=>e.a(async(t,o)=>{try{var i=e.i(804730),r=e.i(963219),a=e.i(617325),s=t([r,a]);[r,a]=s.then?(await s)():s;let n={name:"OmniRoute",description:"AI Gateway for Multi-Provider LLMs",version:i.default.version};e.s(["APP_CONFIG",0,n]),o()}catch(e){o(e)}},!1),949423,e=>e.a(async(t,o)=>{try{var i=e.i(89171);e.i(245272);var r=e.i(385498),a=e.i(548941),s=e.i(651948),n=e.i(963219),c=t([s,n]);async function l(){try{let{getAllCircuitBreakerStatuses:t}=await e.A(970016),{getAllRateLimitStatus:o}=await e.A(134636),{getAllModelLockouts:c}=await e.A(730711),{getInflightCount:l}=await e.A(38026),p=await (0,a.getSettings)(),d=await (0,r.getProviderConnections)(),u=t(),m=o(),h=c(),{getAllHealthStatuses:g}=await e.A(338694),y={version:s.APP_CONFIG.version,nodeVersion:process.version,uptime:process.uptime(),memoryUsage:process.memoryUsage(),pid:process.pid,platform:process.platform},b={};for(let e of u)e.name.startsWith("test-")||e.name.startsWith("test_")||(b[e.name]={state:e.state,failures:e.failureCount||0,lastFailure:e.lastFailureTime});let x=new Set(d.map(e=>e.provider)),f=new Set(d.filter(e=>!1!==e.isActive).map(e=>e.provider));return i.NextResponse.json({status:"healthy",timestamp:new Date().toISOString(),system:y,providerHealth:b,providerSummary:{catalogCount:Object.keys(n.AI_PROVIDERS).length,configuredCount:x.size,activeCount:f.size,monitoredCount:Object.keys(b).length},localProviders:g(),rateLimitStatus:m,lockouts:h,dedup:{inflightRequests:l()},setupComplete:p?.setupComplete||!1})}catch(e){return console.error("[API] GET /api/monitoring/health error:",e),i.NextResponse.json({status:"error",error:"Health check failed"},{status:500})}}async function p(){try{let{resetAllCircuitBreakers:t,getAllCircuitBreakerStatuses:o}=await e.A(970016),r=o().length;return t(),console.log(`[API] DELETE /api/monitoring/health — Reset ${r} circuit breakers`),i.NextResponse.json({success:!0,message:`Reset ${r} circuit breaker(s) to healthy state`,resetCount:r})}catch(e){return console.error("[API] DELETE /api/monitoring/health error:",e),i.NextResponse.json({error:"Failed to reset circuit breakers"},{status:500})}}[s,n]=c.then?(await c)():c,e.s(["DELETE",()=>p,"GET",()=>l]),o()}catch(e){o(e)}},!1),984654,e=>e.a(async(t,o)=>{try{var i=e.i(747909),r=e.i(174017),a=e.i(996250),s=e.i(759756),n=e.i(561916),c=e.i(174677),l=e.i(869741),p=e.i(316795),d=e.i(487718),u=e.i(995169),m=e.i(47587),h=e.i(666012),g=e.i(570101),y=e.i(626937),b=e.i(10372),x=e.i(193695);e.i(52474);var f=e.i(600220),v=e.i(949423),w=t([v]);[v]=w.then?(await w)():w;let k=new i.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/monitoring/health/route",pathname:"/api/monitoring/health",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/monitoring/health/route.ts",nextConfigOutput:"standalone",userland:v}),{workAsyncStorage:_,workUnitAsyncStorage:C,serverHooks:R}=k;function A(){return(0,a.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:C})}async function I(e,t,o){k.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let i="/api/monitoring/health/route";i=i.replace(/\/index$/,"")||"/";let a=await k.prepare(e,t,{srcPage:i,multiZoneDraftMode:!1});if(!a)return t.statusCode=400,t.end("Bad Request"),null==o.waitUntil||o.waitUntil.call(o,Promise.resolve()),null;let{buildId:v,params:w,nextConfig:A,parsedUrl:I,isDraftMode:_,prerenderManifest:C,routerServerContext:R,isOnDemandRevalidate:P,revalidateOnlyGenerated:F,resolvedPathname:E,clientReferenceManifest:j,serverActionsManifest:O}=a,S=(0,l.normalizeAppPath)(i),D=!!(C.dynamicRoutes[S]||C.routes[E]),N=async()=>((null==R?void 0:R.render404)?await R.render404(e,t,I,!1):t.end("This page could not be found"),null);if(D&&!_){let e=!!C.routes[E],t=C.dynamicRoutes[S];if(t&&!1===t.fallback&&!e){if(A.experimental.adapterPath)return await N();throw new x.NoFallbackError}}let M=null;!D||k.isDev||_||(M=E,M="/index"===M?"/":M);let T=!0===k.isDev||!D,B=D&&!T;O&&j&&(0,c.setManifestsSingleton)({page:i,clientReferenceManifest:j,serverActionsManifest:O});let q=e.method||"GET",L=(0,n.getTracer)(),H=L.getActiveScopeSpan(),z={params:w,prerenderManifest:C,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:T,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:A.cacheLife,waitUntil:o.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,o,i,r)=>k.onRequestError(e,t,i,r,R)},sharedContext:{buildId:v}},G=new p.NodeNextRequest(e),$=new p.NodeNextResponse(t),U=d.NextRequestAdapter.fromNodeNextRequest(G,(0,d.signalFromNodeResponse)(t));try{let a=async e=>k.handle(U,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let o=L.getRootSpanAttributes();if(!o)return;if(o.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${o.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=o.get("next.route");if(r){let t=`${q} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t)}else e.updateName(`${q} ${i}`)}),c=!!(0,s.getRequestMeta)(e,"minimalMode"),l=async s=>{var n,l;let p=async({previousCacheEntry:r})=>{try{if(!c&&P&&F&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await a(s);e.fetchMetrics=z.renderOpts.fetchMetrics;let n=z.renderOpts.pendingWaitUntil;n&&o.waitUntil&&(o.waitUntil(n),n=void 0);let l=z.renderOpts.collectedTags;if(!D)return await (0,h.sendResponse)(G,$,i,z.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[b.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let o=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=b.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,r=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=b.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:o,expire:r}}}}catch(t){throw(null==r?void 0:r.isStale)&&await k.onRequestError(e,t,{routerKind:"App Router",routePath:i,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:P})},!1,R),t}},d=await k.handleResponse({req:e,nextConfig:A,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:F,responseGenerator:p,waitUntil:o.waitUntil,isMinimalMode:c});if(!D)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==f.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});c||t.setHeader("x-nextjs-cache",P?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),_&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,g.fromNodeOutgoingHttpHeaders)(d.value.headers);return c&&D||u.delete(b.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,y.getCacheControlHeader)(d.cacheControl)),await (0,h.sendResponse)(G,$,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};H?await l(H):await L.withPropagatedContext(e.headers,()=>L.trace(u.BaseServerSpan.handleRequest,{spanName:`${q} ${i}`,kind:n.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},l))}catch(t){if(t instanceof x.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:S,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:P})},!1,R),D)throw t;return await (0,h.sendResponse)(G,$,new Response(null,{status:500})),null}}e.s(["handler",()=>I,"patchFetch",()=>A,"routeModule",()=>k,"serverHooks",()=>R,"workAsyncStorage",()=>_,"workUnitAsyncStorage",()=>C]),o()}catch(e){o(e)}},!1),606102,e=>{e.v(e=>Promise.resolve().then(()=>e(548941)))},789543,e=>{e.v(e=>Promise.resolve().then(()=>e(385498)))},579042,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_utils_apiKey_ts_fa113e09._.js"].map(t=>e.l(t))).then(()=>t(65448)))},49794,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_ts_65de0558._.js"].map(t=>e.l(t))).then(()=>t(404503)))},386305,e=>{e.v(e=>Promise.resolve().then(()=>e(878947)))},970016,e=>{e.v(t=>Promise.all(["server/chunks/src_5ca0c0a2._.js"].map(t=>e.l(t))).then(()=>t(260222)))},134636,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_localDb_ts_7d88e08a._.js","server/chunks/open-sse_services_tokenRefresh_ts_0d1f8d2a._.js","server/chunks/_5677b5e2._.js","server/chunks/open-sse_97c54840._.js","server/chunks/open-sse_executors_01c3e95e._.js"].map(t=>e.l(t))).then(()=>t(20870)))},730711,e=>{e.v(t=>Promise.all(["server/chunks/open-sse_cf4d5692._.js"].map(t=>e.l(t))).then(()=>t(441637)))},38026,e=>{e.v(t=>Promise.all(["server/chunks/open-sse_services_requestDedup_ts_82fdaab0._.js"].map(t=>e.l(t))).then(()=>t(951700)))},338694,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_localHealthCheck_ts_06c8cb5d._.js"].map(t=>e.l(t))).then(()=>t(181666)))}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__929e2a6f._.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 a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,i={},l={RequestCookies:()=>y,ResponseCookies:()=>m,parseCookie:()=>u,parseSetCookie:()=>p,stringifyCookie:()=>c};for(var d in l)a(i,d,{get:l[d],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),a=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?a:`${a}; ${r.join("; ")}`}function u(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[a,n]=[r.slice(0,e),r.slice(e+1)];try{t.set(a,decodeURIComponent(null!=n?n:"true"))}catch{}}return t}function p(e){if(!e)return;let[[t,r],...a]=u(e),{domain:n,expires:s,httponly:o,maxage:i,path:l,samesite:d,secure:c,partitioned:p,priority:y}=Object.fromEntries(a.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var m,g,v={name:t,value:decodeURIComponent(r),domain:n,...s&&{expires:new Date(s)},...o&&{httpOnly:!0},..."string"==typeof i&&{maxAge:Number(i)},path:l,...d&&{sameSite:h.includes(m=(m=d).toLowerCase())?m:void 0},...c&&{secure:!0},...y&&{priority:f.includes(g=(g=y).toLowerCase())?g: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,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of s(t))o.call(e,r)||void 0===r||a(e,r,{get:()=>t[r],enumerable:!(i=n(t,r))||i.enumerable});return e})(a({},"__esModule",{value:!0}),i);var h=["strict","lax","none"],f=["low","medium","high"],y=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of u(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 a="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===a).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,a=this._parsed;return a.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(a).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("; ")}},m=class{constructor(e){var t,r,a;this._parsed=new Map,this._headers=e;const n=null!=(a=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?a:[];for(const e of Array.isArray(n)?n:function(e){if(!e)return[];var t,r,a,n,s,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,s=!1;l();)if(","===(r=e.charAt(i))){for(a=i,i+=1,l(),n=i;i<e.length&&"="!==(r=e.charAt(i))&&";"!==r&&","!==r;)i+=1;i<e.length&&"="===e.charAt(i)?(s=!0,i=n,o.push(e.substring(t,a)),t=i):i=a+1}else i+=1;(!s||i>=e.length)&&o.push(e.substring(t,e.length))}return o}(n)){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 a="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===a)}has(e){return this._parsed.has(e)}set(...e){let[t,r,a]=1===e.length?[e[0].name,e[0].value,e[0]]:e,n=this._parsed;return n.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,...a})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=c(r);t.append("set-cookie",e)}}(n,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 a=e.i(677850),n=t([a]);function s(e,t){let r=e.safeParse(t);if(r.success)return{success:!0,data:r.data};let a=Array.isArray(r.error?.issues)?r.error.issues:[];return{success:!1,error:{message:"Invalid request",details:a.map(e=>({field:e.path.join("."),message:e.message}))}}}function o(e){return!1===e.success}[a]=n.then?(await n)():n,a.z.object({password:a.z.string().min(1,"Password is required").max(200)}),e.s(["isValidationFailure",()=>o,"validateBody",()=>s]),r()}catch(e){r(e)}},!1),41244,e=>{"use strict";e.s(["HIDEABLE_SIDEBAR_ITEM_IDS",0,["home","endpoints","api-manager","providers","combos","costs","analytics","limits","cache","cli-tools","agents","translator","playground","media","search-tools","health","logs","audit","settings","docs","issues"]])},663370,632802,477468,e=>{"use strict";let t=new TextEncoder,r=new TextDecoder;function a(...e){let t=new Uint8Array(e.reduce((e,{length:t})=>e+t,0)),r=0;for(let a of e)t.set(a,r),r+=a.length;return t}function n(e){let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++){let a=e.charCodeAt(r);if(a>127)throw TypeError("non-ASCII string encountered in encode()");t[r]=a}return t}function s(e){if(Uint8Array.prototype.toBase64)return e.toBase64();let t=[];for(let r=0;r<e.length;r+=32768)t.push(String.fromCharCode.apply(null,e.subarray(r,r+32768)));return btoa(t.join(""))}function o(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(e);let t=atob(e),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return r}function i(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64("string"==typeof e?e:r.decode(e),{alphabet:"base64url"});let t=e;t instanceof Uint8Array&&(t=r.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/");try{return o(t)}catch{throw TypeError("The input to be decoded is not correctly encoded.")}}function l(e){let r=e;return("string"==typeof r&&(r=t.encode(r)),Uint8Array.prototype.toBase64)?r.toBase64({alphabet:"base64url",omitPadding:!0}):s(r).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}e.s(["concat",()=>a,"decoder",0,r,"encode",()=>n,"encoder",0,t],632802),e.s(["decodeBase64",()=>o,"encodeBase64",()=>s],477468),e.s(["decode",()=>i,"encode",()=>l],663370)},865466,e=>{"use strict";class t extends Error{static code="ERR_JOSE_GENERIC";code="ERR_JOSE_GENERIC";constructor(e,t){super(e,t),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}}class r extends t{static code="ERR_JWT_CLAIM_VALIDATION_FAILED";code="ERR_JWT_CLAIM_VALIDATION_FAILED";claim;reason;payload;constructor(e,t,r="unspecified",a="unspecified"){super(e,{cause:{claim:r,reason:a,payload:t}}),this.claim=r,this.reason=a,this.payload=t}}class a extends t{static code="ERR_JWT_EXPIRED";code="ERR_JWT_EXPIRED";claim;reason;payload;constructor(e,t,r="unspecified",a="unspecified"){super(e,{cause:{claim:r,reason:a,payload:t}}),this.claim=r,this.reason=a,this.payload=t}}class n extends t{static code="ERR_JOSE_ALG_NOT_ALLOWED";code="ERR_JOSE_ALG_NOT_ALLOWED"}class s extends t{static code="ERR_JOSE_NOT_SUPPORTED";code="ERR_JOSE_NOT_SUPPORTED"}class o extends t{static code="ERR_JWS_INVALID";code="ERR_JWS_INVALID"}class i extends t{static code="ERR_JWT_INVALID";code="ERR_JWT_INVALID"}class l extends t{[Symbol.asyncIterator];static code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";constructor(e="multiple matching keys found in the JSON Web Key Set",t){super(e,t)}}class d extends t{static code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";constructor(e="signature verification failed",t){super(e,t)}}e.s(["JOSEAlgNotAllowed",()=>n,"JOSENotSupported",()=>s,"JWSInvalid",()=>o,"JWSSignatureVerificationFailed",()=>d,"JWTClaimValidationFailed",()=>r,"JWTExpired",()=>a,"JWTInvalid",()=>i])},177278,e=>{"use strict";function t(e){if("object"!=typeof e||null===e||"[object Object]"!==Object.prototype.toString.call(e))return!1;if(null===Object.getPrototypeOf(e))return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function r(...e){let t,a=e.filter(Boolean);if(0===a.length||1===a.length)return!0;for(let e of a){let r=Object.keys(e);if(!t||0===t.size){t=new Set(r);continue}for(let e of r){if(t.has(e))return!1;t.add(e)}}return!0}e.s(["isDisjoint",()=>r,"isJWK",0,e=>t(e)&&"string"==typeof e.kty,"isObject",()=>t,"isPrivateJWK",0,e=>"oct"!==e.kty&&("AKP"===e.kty&&"string"==typeof e.priv||"string"==typeof e.d),"isPublicJWK",0,e=>"oct"!==e.kty&&void 0===e.d&&void 0===e.priv,"isSecretJWK",0,e=>"oct"===e.kty&&"string"==typeof e.k])},709939,e=>{"use strict";var t=e.i(663370),r=e.i(293233),a=e.i(865466),n=e.i(632802),s=e.i(913658),o=e.i(177278),i=e.i(48215),l=e.i(252665),d=e.i(18083);async function c(e,c,u){if(!(0,o.isObject)(e))throw new a.JWSInvalid("Flattened JWS must be an object");if(void 0===e.protected&&void 0===e.header)throw new a.JWSInvalid('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==e.protected&&"string"!=typeof e.protected)throw new a.JWSInvalid("JWS Protected Header incorrect type");if(void 0===e.payload)throw new a.JWSInvalid("JWS Payload missing");if("string"!=typeof e.signature)throw new a.JWSInvalid("JWS Signature missing or incorrect type");if(void 0!==e.header&&!(0,o.isObject)(e.header))throw new a.JWSInvalid("JWS Unprotected Header incorrect type");let p={};if(e.protected)try{let r=(0,t.decode)(e.protected);p=JSON.parse(n.decoder.decode(r))}catch{throw new a.JWSInvalid("JWS Protected Header is invalid")}if(!(0,o.isDisjoint)(p,e.header))throw new a.JWSInvalid("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let h={...p,...e.header},f=(0,l.validateCrit)(a.JWSInvalid,new Map([["b64",!0]]),u?.crit,p,h),y=!0;if(f.has("b64")&&"boolean"!=typeof(y=p.b64))throw new a.JWSInvalid('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:m}=h;if("string"!=typeof m||!m)throw new a.JWSInvalid('JWS "alg" (Algorithm) Header Parameter missing or invalid');let g=u&&function(e,t){if(void 0!==t&&(!Array.isArray(t)||t.some(e=>"string"!=typeof e)))throw TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)}("algorithms",u.algorithms);if(g&&!g.has(m))throw new a.JOSEAlgNotAllowed('"alg" (Algorithm) Header Parameter value not allowed');if(y){if("string"!=typeof e.payload)throw new a.JWSInvalid("JWS Payload must be a string")}else if("string"!=typeof e.payload&&!(e.payload instanceof Uint8Array))throw new a.JWSInvalid("JWS Payload must be a string or an Uint8Array instance");let v=!1;"function"==typeof c&&(c=await c(p,e),v=!0),(0,i.checkKeyType)(m,c,"verify");let w=(0,n.concat)(void 0!==e.protected?(0,n.encode)(e.protected):new Uint8Array,(0,n.encode)("."),"string"==typeof e.payload?y?(0,n.encode)(e.payload):n.encoder.encode(e.payload):e.payload),R=(0,s.decodeBase64url)(e.signature,"signature",a.JWSInvalid),_=await (0,d.normalizeKey)(c,m);if(!await (0,r.verify)(m,_,R,w))throw new a.JWSSignatureVerificationFailed;let E={payload:y?(0,s.decodeBase64url)(e.payload,"payload",a.JWSInvalid):"string"==typeof e.payload?n.encoder.encode(e.payload):e.payload};return(void 0!==e.protected&&(E.protectedHeader=p),void 0!==e.header&&(E.unprotectedHeader=e.header),v)?{...E,key:_}:E}async function u(e,t,r){if(e instanceof Uint8Array&&(e=n.decoder.decode(e)),"string"!=typeof e)throw new a.JWSInvalid("Compact JWS must be a string or Uint8Array");let{0:s,1:o,2:i,length:l}=e.split(".");if(3!==l)throw new a.JWSInvalid("Invalid Compact JWS");let d=await c({payload:o,protected:s,signature:i},t,r),u={payload:d.payload,protectedHeader:d.protectedHeader};return"function"==typeof t?{...u,key:d.key}:u}var p=e.i(224472);async function h(e,t,r){let n=await u(e,t,r);if(n.protectedHeader.crit?.includes("b64")&&!1===n.protectedHeader.b64)throw new a.JWTInvalid("JWTs MUST NOT use unencoded payload");let s={payload:(0,p.validateClaimsSet)(n.protectedHeader,n.payload,r),protectedHeader:n.protectedHeader};return"function"==typeof t?{...s,key:n.key}:s}e.s(["jwtVerify",()=>h],709939)},235328,e=>{"use strict";var t=e.i(709939),r=e.i(493458);e.i(245272);var a=e.i(548941);async function n(a){if(!await s())return!0;let n=a.headers.get("authorization");if(n?.startsWith("Bearer ")){let t=n.slice(7);try{let{validateApiKey:r}=await e.A(734680);if(await r(t))return!0}catch{}}if(process.env.JWT_SECRET)try{let e=await (0,r.cookies)(),a=e.get("auth_token")?.value;if(a){let e=new TextEncoder().encode(process.env.JWT_SECRET);return await (0,t.jwtVerify)(a,e),!0}}catch{}return!1}async function s(){try{let e=await (0,a.getSettings)();if(!1===e.requireLogin||!e.password&&!process.env.INITIAL_PASSWORD)return!1;return!0}catch{return!0}}e.s(["isAuthRequired",()=>s,"isAuthenticated",()=>n])},858235,e=>{"use strict";var t=e.i(254799);function r(e){let r=(0,t.randomUUID)(),a=e.type||(e.status>=500?"server_error":404===e.status?"not_found":409===e.status?"conflict":"invalid_request");return Response.json({error:{message:e.message,type:a,details:e.details},requestId:r},{status:e.status})}function a(e,t="Unexpected server error"){return r({status:Number(e?.status)||500,message:"string"==typeof e?.message?e.message:t,type:e?.type,details:e?.details})}e.s(["createErrorResponse",()=>r,"createErrorResponseFromUnknown",()=>a])},724999,e=>{"use strict";var t=e.i(235328),r=e.i(858235);async function a(e){return!await (0,t.isAuthRequired)()||await (0,t.isAuthenticated)(e)?null:(0,r.createErrorResponse)({status:401,message:"Authentication required",type:"invalid_request"})}e.s(["requireManagementAuth",()=>a])},215271,e=>e.a(async(t,r)=>{try{e.i(245272);var a=e.i(954031),n=e.i(676088),s=e.i(200392),o=e.i(858235),i=e.i(724999),l=t([n,s]);async function d(e){let t=await (0,i.requireManagementAuth)(e);if(t)return t;try{let t,r,{searchParams:n}=new URL(e.url),s=n.get("id"),i="1"===n.get("where_used");if(s&&i){let e=await (0,a.getProxyWhereUsed)(s);return Response.json(e)}if(s){let e=await (0,a.getProxyById)(s,{includeSecrets:!1});if(!e)return(0,o.createErrorResponse)({status:404,message:"Proxy not found",type:"not_found"});return Response.json(e)}let{limit:l,offset:d}=(t=Math.max(1,Math.min(200,Number(n.get("limit")||50))),r=Math.max(0,Number(n.get("offset")||0)),{limit:t,offset:r}),c=await (0,a.listProxies)({includeSecrets:!1}),u=c.slice(d,d+l);return Response.json({items:u,page:{limit:l,offset:d,total:c.length}})}catch(e){return(0,o.createErrorResponseFromUnknown)(e,"Failed to load proxies")}}async function c(e){let t,r=await (0,i.requireManagementAuth)(e);if(r)return r;try{t=await e.json()}catch{return(0,o.createErrorResponse)({status:400,message:"Invalid JSON body",type:"invalid_request"})}try{let e=(0,s.validateBody)(n.createProxyRegistrySchema,t);if((0,s.isValidationFailure)(e))return(0,o.createErrorResponse)({status:400,message:e.error.message,details:e.error.details,type:"invalid_request"});let r=await (0,a.createProxy)(e.data);return Response.json(r,{status:201})}catch(e){return(0,o.createErrorResponseFromUnknown)(e,"Failed to create proxy")}}async function u(e){let t,r=await (0,i.requireManagementAuth)(e);if(r)return r;try{t=await e.json()}catch{return(0,o.createErrorResponse)({status:400,message:"Invalid JSON body",type:"invalid_request"})}try{let e=(0,s.validateBody)(n.updateProxyRegistrySchema,t);if((0,s.isValidationFailure)(e))return(0,o.createErrorResponse)({status:400,message:e.error.message,details:e.error.details,type:"invalid_request"});let{id:r,...i}=e.data,l=await (0,a.updateProxy)(r,i);if(!l)return(0,o.createErrorResponse)({status:404,message:"Proxy not found",type:"not_found"});return Response.json(l)}catch(e){return(0,o.createErrorResponseFromUnknown)(e,"Failed to update proxy")}}async function p(e){let t=await (0,i.requireManagementAuth)(e);if(t)return t;try{let{searchParams:t}=new URL(e.url),r=t.get("id"),n="1"===t.get("force");if(!r)return(0,o.createErrorResponse)({status:400,message:"id is required",type:"invalid_request"});if(!await (0,a.deleteProxyById)(r,{force:n}))return(0,o.createErrorResponse)({status:404,message:"Proxy not found",type:"not_found"});return Response.json({success:!0})}catch(e){return(0,o.createErrorResponseFromUnknown)(e,"Failed to delete proxy")}}[n,s]=l.then?(await l)():l,e.s(["DELETE",()=>p,"GET",()=>d,"PATCH",()=>u,"POST",()=>c]),r()}catch(e){r(e)}},!1),246664,e=>e.a(async(t,r)=>{try{var a=e.i(747909),n=e.i(174017),s=e.i(996250),o=e.i(759756),i=e.i(561916),l=e.i(174677),d=e.i(869741),c=e.i(316795),u=e.i(487718),p=e.i(995169),h=e.i(47587),f=e.i(666012),y=e.i(570101),m=e.i(626937),g=e.i(10372),v=e.i(193695);e.i(52474);var w=e.i(600220),R=e.i(215271),_=t([R]);[R]=_.then?(await _)():_;let S=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/v1/management/proxies/route",pathname:"/api/v1/management/proxies",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/v1/management/proxies/route.ts",nextConfigOutput:"standalone",userland:R}),{workAsyncStorage:A,workUnitAsyncStorage:b,serverHooks:I}=S;function E(){return(0,s.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:b})}async function x(e,t,r){S.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/v1/management/proxies/route";a=a.replace(/\/index$/,"")||"/";let s=await S.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,params:_,nextConfig:E,parsedUrl:x,isDraftMode:A,prerenderManifest:b,routerServerContext:I,isOnDemandRevalidate:O,revalidateOnlyGenerated:P,resolvedPathname:T,clientReferenceManifest:C,serverActionsManifest:J}=s,W=(0,d.normalizeAppPath)(a),j=!!(b.dynamicRoutes[W]||b.routes[T]),k=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,x,!1):t.end("This page could not be found"),null);if(j&&!A){let e=!!b.routes[T],t=b.dynamicRoutes[W];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await k();throw new v.NoFallbackError}}let N=null;!j||S.isDev||A||(N=T,N="/index"===N?"/":N);let U=!0===S.isDev||!j,D=j&&!U;J&&C&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:C,serverActionsManifest:J});let q=e.method||"GET",H=(0,i.getTracer)(),L=H.getActiveScopeSpan(),M={params:_,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>S.onRequestError(e,t,a,n,I)},sharedContext:{buildId:R}},F=new c.NodeNextRequest(e),B=new c.NodeNextResponse(t),$=u.NextRequestAdapter.fromNodeNextRequest(F,(0,u.signalFromNodeResponse)(t));try{let s=async e=>S.handle($,M).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=`${q} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${q} ${a}`)}),l=!!(0,o.getRequestMeta)(e,"minimalMode"),d=async o=>{var i,d;let c=async({previousCacheEntry:n})=>{try{if(!l&&O&&P&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await s(o);e.fetchMetrics=M.renderOpts.fetchMetrics;let i=M.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let d=M.renderOpts.collectedTags;if(!j)return await (0,f.sendResponse)(F,B,a,M.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,y.toNodeOutgoingHttpHeaders)(a.headers);d&&(t[g.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,n=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:O})},!1,I),t}},u=await S.handleResponse({req:e,nextConfig:E,cacheKey:N,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:P,responseGenerator:c,waitUntil:r.waitUntil,isMinimalMode:l});if(!j)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(d=u.value)?void 0:d.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"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,y.fromNodeOutgoingHttpHeaders)(u.value.headers);return l&&j||p.delete(g.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,f.sendResponse)(F,B,new Response(u.value.body,{headers:p,status:u.value.status||200})),null};L?await d(L):await H.withPropagatedContext(e.headers,()=>H.trace(p.BaseServerSpan.handleRequest,{spanName:`${q} ${a}`,kind:i.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},d))}catch(t){if(t instanceof v.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:W,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:O})},!1,I),j)throw t;return await (0,f.sendResponse)(F,B,new Response(null,{status:500})),null}}e.s(["handler",()=>x,"patchFetch",()=>E,"routeModule",()=>S,"serverHooks",()=>I,"workAsyncStorage",()=>A,"workUnitAsyncStorage",()=>b]),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_fa113e09._.js"].map(t=>e.l(t))).then(()=>t(65448)))},49794,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_ts_65de0558._.js"].map(t=>e.l(t))).then(()=>t(404503)))},386305,e=>{e.v(e=>Promise.resolve().then(()=>e(878947)))},734680,e=>{e.v(e=>Promise.resolve().then(()=>e(125852)))}];
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 a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,i={},l={RequestCookies:()=>y,ResponseCookies:()=>m,parseCookie:()=>u,parseSetCookie:()=>p,stringifyCookie:()=>c};for(var d in l)a(i,d,{get:l[d],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),a=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?a:`${a}; ${r.join("; ")}`}function u(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[a,n]=[r.slice(0,e),r.slice(e+1)];try{t.set(a,decodeURIComponent(null!=n?n:"true"))}catch{}}return t}function p(e){if(!e)return;let[[t,r],...a]=u(e),{domain:n,expires:s,httponly:o,maxage:i,path:l,samesite:d,secure:c,partitioned:p,priority:y}=Object.fromEntries(a.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var m,g,v={name:t,value:decodeURIComponent(r),domain:n,...s&&{expires:new Date(s)},...o&&{httpOnly:!0},..."string"==typeof i&&{maxAge:Number(i)},path:l,...d&&{sameSite:h.includes(m=(m=d).toLowerCase())?m:void 0},...c&&{secure:!0},...y&&{priority:f.includes(g=(g=y).toLowerCase())?g: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,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of s(t))o.call(e,r)||void 0===r||a(e,r,{get:()=>t[r],enumerable:!(i=n(t,r))||i.enumerable});return e})(a({},"__esModule",{value:!0}),i);var h=["strict","lax","none"],f=["low","medium","high"],y=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of u(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 a="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===a).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,a=this._parsed;return a.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(a).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("; ")}},m=class{constructor(e){var t,r,a;this._parsed=new Map,this._headers=e;const n=null!=(a=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?a:[];for(const e of Array.isArray(n)?n:function(e){if(!e)return[];var t,r,a,n,s,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,s=!1;l();)if(","===(r=e.charAt(i))){for(a=i,i+=1,l(),n=i;i<e.length&&"="!==(r=e.charAt(i))&&";"!==r&&","!==r;)i+=1;i<e.length&&"="===e.charAt(i)?(s=!0,i=n,o.push(e.substring(t,a)),t=i):i=a+1}else i+=1;(!s||i>=e.length)&&o.push(e.substring(t,e.length))}return o}(n)){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 a="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===a)}has(e){return this._parsed.has(e)}set(...e){let[t,r,a]=1===e.length?[e[0].name,e[0].value,e[0]]:e,n=this._parsed;return n.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,...a})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=c(r);t.append("set-cookie",e)}}(n,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 a=e.i(677850),n=t([a]);function s(e,t){let r=e.safeParse(t);if(r.success)return{success:!0,data:r.data};let a=Array.isArray(r.error?.issues)?r.error.issues:[];return{success:!1,error:{message:"Invalid request",details:a.map(e=>({field:e.path.join("."),message:e.message}))}}}function o(e){return!1===e.success}[a]=n.then?(await n)():n,a.z.object({password:a.z.string().min(1,"Password is required").max(200)}),e.s(["isValidationFailure",()=>o,"validateBody",()=>s]),r()}catch(e){r(e)}},!1),41244,e=>{"use strict";e.s(["HIDEABLE_SIDEBAR_ITEM_IDS",0,["home","endpoints","api-manager","providers","combos","costs","analytics","limits","cache","cli-tools","agents","translator","playground","media","search-tools","health","logs","audit","settings","docs","issues"]])},663370,632802,477468,e=>{"use strict";let t=new TextEncoder,r=new TextDecoder;function a(...e){let t=new Uint8Array(e.reduce((e,{length:t})=>e+t,0)),r=0;for(let a of e)t.set(a,r),r+=a.length;return t}function n(e){let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++){let a=e.charCodeAt(r);if(a>127)throw TypeError("non-ASCII string encountered in encode()");t[r]=a}return t}function s(e){if(Uint8Array.prototype.toBase64)return e.toBase64();let t=[];for(let r=0;r<e.length;r+=32768)t.push(String.fromCharCode.apply(null,e.subarray(r,r+32768)));return btoa(t.join(""))}function o(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(e);let t=atob(e),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return r}function i(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64("string"==typeof e?e:r.decode(e),{alphabet:"base64url"});let t=e;t instanceof Uint8Array&&(t=r.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/");try{return o(t)}catch{throw TypeError("The input to be decoded is not correctly encoded.")}}function l(e){let r=e;return("string"==typeof r&&(r=t.encode(r)),Uint8Array.prototype.toBase64)?r.toBase64({alphabet:"base64url",omitPadding:!0}):s(r).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}e.s(["concat",()=>a,"decoder",0,r,"encode",()=>n,"encoder",0,t],632802),e.s(["decodeBase64",()=>o,"encodeBase64",()=>s],477468),e.s(["decode",()=>i,"encode",()=>l],663370)},865466,e=>{"use strict";class t extends Error{static code="ERR_JOSE_GENERIC";code="ERR_JOSE_GENERIC";constructor(e,t){super(e,t),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}}class r extends t{static code="ERR_JWT_CLAIM_VALIDATION_FAILED";code="ERR_JWT_CLAIM_VALIDATION_FAILED";claim;reason;payload;constructor(e,t,r="unspecified",a="unspecified"){super(e,{cause:{claim:r,reason:a,payload:t}}),this.claim=r,this.reason=a,this.payload=t}}class a extends t{static code="ERR_JWT_EXPIRED";code="ERR_JWT_EXPIRED";claim;reason;payload;constructor(e,t,r="unspecified",a="unspecified"){super(e,{cause:{claim:r,reason:a,payload:t}}),this.claim=r,this.reason=a,this.payload=t}}class n extends t{static code="ERR_JOSE_ALG_NOT_ALLOWED";code="ERR_JOSE_ALG_NOT_ALLOWED"}class s extends t{static code="ERR_JOSE_NOT_SUPPORTED";code="ERR_JOSE_NOT_SUPPORTED"}class o extends t{static code="ERR_JWS_INVALID";code="ERR_JWS_INVALID"}class i extends t{static code="ERR_JWT_INVALID";code="ERR_JWT_INVALID"}class l extends t{[Symbol.asyncIterator];static code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";constructor(e="multiple matching keys found in the JSON Web Key Set",t){super(e,t)}}class d extends t{static code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";constructor(e="signature verification failed",t){super(e,t)}}e.s(["JOSEAlgNotAllowed",()=>n,"JOSENotSupported",()=>s,"JWSInvalid",()=>o,"JWSSignatureVerificationFailed",()=>d,"JWTClaimValidationFailed",()=>r,"JWTExpired",()=>a,"JWTInvalid",()=>i])},177278,e=>{"use strict";function t(e){if("object"!=typeof e||null===e||"[object Object]"!==Object.prototype.toString.call(e))return!1;if(null===Object.getPrototypeOf(e))return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function r(...e){let t,a=e.filter(Boolean);if(0===a.length||1===a.length)return!0;for(let e of a){let r=Object.keys(e);if(!t||0===t.size){t=new Set(r);continue}for(let e of r){if(t.has(e))return!1;t.add(e)}}return!0}e.s(["isDisjoint",()=>r,"isJWK",0,e=>t(e)&&"string"==typeof e.kty,"isObject",()=>t,"isPrivateJWK",0,e=>"oct"!==e.kty&&("AKP"===e.kty&&"string"==typeof e.priv||"string"==typeof e.d),"isPublicJWK",0,e=>"oct"!==e.kty&&void 0===e.d&&void 0===e.priv,"isSecretJWK",0,e=>"oct"===e.kty&&"string"==typeof e.k])},709939,e=>{"use strict";var t=e.i(663370),r=e.i(293233),a=e.i(865466),n=e.i(632802),s=e.i(913658),o=e.i(177278),i=e.i(48215),l=e.i(252665),d=e.i(18083);async function c(e,c,u){if(!(0,o.isObject)(e))throw new a.JWSInvalid("Flattened JWS must be an object");if(void 0===e.protected&&void 0===e.header)throw new a.JWSInvalid('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==e.protected&&"string"!=typeof e.protected)throw new a.JWSInvalid("JWS Protected Header incorrect type");if(void 0===e.payload)throw new a.JWSInvalid("JWS Payload missing");if("string"!=typeof e.signature)throw new a.JWSInvalid("JWS Signature missing or incorrect type");if(void 0!==e.header&&!(0,o.isObject)(e.header))throw new a.JWSInvalid("JWS Unprotected Header incorrect type");let p={};if(e.protected)try{let r=(0,t.decode)(e.protected);p=JSON.parse(n.decoder.decode(r))}catch{throw new a.JWSInvalid("JWS Protected Header is invalid")}if(!(0,o.isDisjoint)(p,e.header))throw new a.JWSInvalid("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let h={...p,...e.header},f=(0,l.validateCrit)(a.JWSInvalid,new Map([["b64",!0]]),u?.crit,p,h),y=!0;if(f.has("b64")&&"boolean"!=typeof(y=p.b64))throw new a.JWSInvalid('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:m}=h;if("string"!=typeof m||!m)throw new a.JWSInvalid('JWS "alg" (Algorithm) Header Parameter missing or invalid');let g=u&&function(e,t){if(void 0!==t&&(!Array.isArray(t)||t.some(e=>"string"!=typeof e)))throw TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)}("algorithms",u.algorithms);if(g&&!g.has(m))throw new a.JOSEAlgNotAllowed('"alg" (Algorithm) Header Parameter value not allowed');if(y){if("string"!=typeof e.payload)throw new a.JWSInvalid("JWS Payload must be a string")}else if("string"!=typeof e.payload&&!(e.payload instanceof Uint8Array))throw new a.JWSInvalid("JWS Payload must be a string or an Uint8Array instance");let v=!1;"function"==typeof c&&(c=await c(p,e),v=!0),(0,i.checkKeyType)(m,c,"verify");let w=(0,n.concat)(void 0!==e.protected?(0,n.encode)(e.protected):new Uint8Array,(0,n.encode)("."),"string"==typeof e.payload?y?(0,n.encode)(e.payload):n.encoder.encode(e.payload):e.payload),R=(0,s.decodeBase64url)(e.signature,"signature",a.JWSInvalid),_=await (0,d.normalizeKey)(c,m);if(!await (0,r.verify)(m,_,R,w))throw new a.JWSSignatureVerificationFailed;let E={payload:y?(0,s.decodeBase64url)(e.payload,"payload",a.JWSInvalid):"string"==typeof e.payload?n.encoder.encode(e.payload):e.payload};return(void 0!==e.protected&&(E.protectedHeader=p),void 0!==e.header&&(E.unprotectedHeader=e.header),v)?{...E,key:_}:E}async function u(e,t,r){if(e instanceof Uint8Array&&(e=n.decoder.decode(e)),"string"!=typeof e)throw new a.JWSInvalid("Compact JWS must be a string or Uint8Array");let{0:s,1:o,2:i,length:l}=e.split(".");if(3!==l)throw new a.JWSInvalid("Invalid Compact JWS");let d=await c({payload:o,protected:s,signature:i},t,r),u={payload:d.payload,protectedHeader:d.protectedHeader};return"function"==typeof t?{...u,key:d.key}:u}var p=e.i(224472);async function h(e,t,r){let n=await u(e,t,r);if(n.protectedHeader.crit?.includes("b64")&&!1===n.protectedHeader.b64)throw new a.JWTInvalid("JWTs MUST NOT use unencoded payload");let s={payload:(0,p.validateClaimsSet)(n.protectedHeader,n.payload,r),protectedHeader:n.protectedHeader};return"function"==typeof t?{...s,key:n.key}:s}e.s(["jwtVerify",()=>h],709939)},235328,e=>{"use strict";var t=e.i(709939),r=e.i(493458);e.i(245272);var a=e.i(548941);async function n(a){if(!await s())return!0;let n=a.headers.get("authorization");if(n?.startsWith("Bearer ")){let t=n.slice(7);try{let{validateApiKey:r}=await e.A(734680);if(await r(t))return!0}catch{}}if(process.env.JWT_SECRET)try{let e=await (0,r.cookies)(),a=e.get("auth_token")?.value;if(a){let e=new TextEncoder().encode(process.env.JWT_SECRET);return await (0,t.jwtVerify)(a,e),!0}}catch{}return!1}async function s(){try{let e=await (0,a.getSettings)();if(!1===e.requireLogin||!e.password&&!process.env.INITIAL_PASSWORD)return!1;return!0}catch(e){return console.error("[API_AUTH_GUARD] isAuthRequired failed, defaulting to true:",e?.message||e),!0}}e.s(["isAuthRequired",()=>s,"isAuthenticated",()=>n])},858235,e=>{"use strict";var t=e.i(254799);function r(e){let r=(0,t.randomUUID)(),a=e.type||(e.status>=500?"server_error":404===e.status?"not_found":409===e.status?"conflict":"invalid_request");return Response.json({error:{message:e.message,type:a,details:e.details},requestId:r},{status:e.status})}function a(e,t="Unexpected server error"){return r({status:Number(e?.status)||500,message:"string"==typeof e?.message?e.message:t,type:e?.type,details:e?.details})}e.s(["createErrorResponse",()=>r,"createErrorResponseFromUnknown",()=>a])},724999,e=>{"use strict";var t=e.i(235328),r=e.i(858235);async function a(e){return!await (0,t.isAuthRequired)()||await (0,t.isAuthenticated)(e)?null:(0,r.createErrorResponse)({status:401,message:"Authentication required",type:"invalid_request"})}e.s(["requireManagementAuth",()=>a])},215271,e=>e.a(async(t,r)=>{try{e.i(245272);var a=e.i(954031),n=e.i(676088),s=e.i(200392),o=e.i(858235),i=e.i(724999),l=t([n,s]);async function d(e){let t=await (0,i.requireManagementAuth)(e);if(t)return t;try{let t,r,{searchParams:n}=new URL(e.url),s=n.get("id"),i="1"===n.get("where_used");if(s&&i){let e=await (0,a.getProxyWhereUsed)(s);return Response.json(e)}if(s){let e=await (0,a.getProxyById)(s,{includeSecrets:!1});if(!e)return(0,o.createErrorResponse)({status:404,message:"Proxy not found",type:"not_found"});return Response.json(e)}let{limit:l,offset:d}=(t=Math.max(1,Math.min(200,Number(n.get("limit")||50))),r=Math.max(0,Number(n.get("offset")||0)),{limit:t,offset:r}),c=await (0,a.listProxies)({includeSecrets:!1}),u=c.slice(d,d+l);return Response.json({items:u,page:{limit:l,offset:d,total:c.length}})}catch(e){return(0,o.createErrorResponseFromUnknown)(e,"Failed to load proxies")}}async function c(e){let t,r=await (0,i.requireManagementAuth)(e);if(r)return r;try{t=await e.json()}catch{return(0,o.createErrorResponse)({status:400,message:"Invalid JSON body",type:"invalid_request"})}try{let e=(0,s.validateBody)(n.createProxyRegistrySchema,t);if((0,s.isValidationFailure)(e))return(0,o.createErrorResponse)({status:400,message:e.error.message,details:e.error.details,type:"invalid_request"});let r=await (0,a.createProxy)(e.data);return Response.json(r,{status:201})}catch(e){return(0,o.createErrorResponseFromUnknown)(e,"Failed to create proxy")}}async function u(e){let t,r=await (0,i.requireManagementAuth)(e);if(r)return r;try{t=await e.json()}catch{return(0,o.createErrorResponse)({status:400,message:"Invalid JSON body",type:"invalid_request"})}try{let e=(0,s.validateBody)(n.updateProxyRegistrySchema,t);if((0,s.isValidationFailure)(e))return(0,o.createErrorResponse)({status:400,message:e.error.message,details:e.error.details,type:"invalid_request"});let{id:r,...i}=e.data,l=await (0,a.updateProxy)(r,i);if(!l)return(0,o.createErrorResponse)({status:404,message:"Proxy not found",type:"not_found"});return Response.json(l)}catch(e){return(0,o.createErrorResponseFromUnknown)(e,"Failed to update proxy")}}async function p(e){let t=await (0,i.requireManagementAuth)(e);if(t)return t;try{let{searchParams:t}=new URL(e.url),r=t.get("id"),n="1"===t.get("force");if(!r)return(0,o.createErrorResponse)({status:400,message:"id is required",type:"invalid_request"});if(!await (0,a.deleteProxyById)(r,{force:n}))return(0,o.createErrorResponse)({status:404,message:"Proxy not found",type:"not_found"});return Response.json({success:!0})}catch(e){return(0,o.createErrorResponseFromUnknown)(e,"Failed to delete proxy")}}[n,s]=l.then?(await l)():l,e.s(["DELETE",()=>p,"GET",()=>d,"PATCH",()=>u,"POST",()=>c]),r()}catch(e){r(e)}},!1),246664,e=>e.a(async(t,r)=>{try{var a=e.i(747909),n=e.i(174017),s=e.i(996250),o=e.i(759756),i=e.i(561916),l=e.i(174677),d=e.i(869741),c=e.i(316795),u=e.i(487718),p=e.i(995169),h=e.i(47587),f=e.i(666012),y=e.i(570101),m=e.i(626937),g=e.i(10372),v=e.i(193695);e.i(52474);var w=e.i(600220),R=e.i(215271),_=t([R]);[R]=_.then?(await _)():_;let A=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/v1/management/proxies/route",pathname:"/api/v1/management/proxies",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/v1/management/proxies/route.ts",nextConfigOutput:"standalone",userland:R}),{workAsyncStorage:S,workUnitAsyncStorage:b,serverHooks:I}=A;function E(){return(0,s.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:b})}async function x(e,t,r){A.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/v1/management/proxies/route";a=a.replace(/\/index$/,"")||"/";let s=await A.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,params:_,nextConfig:E,parsedUrl:x,isDraftMode:S,prerenderManifest:b,routerServerContext:I,isOnDemandRevalidate:O,revalidateOnlyGenerated:P,resolvedPathname:T,clientReferenceManifest:C,serverActionsManifest:J}=s,W=(0,d.normalizeAppPath)(a),j=!!(b.dynamicRoutes[W]||b.routes[T]),k=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,x,!1):t.end("This page could not be found"),null);if(j&&!S){let e=!!b.routes[T],t=b.dynamicRoutes[W];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await k();throw new v.NoFallbackError}}let U=null;!j||A.isDev||S||(U=T,U="/index"===U?"/":U);let N=!0===A.isDev||!j,D=j&&!N;J&&C&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:C,serverActionsManifest:J});let q=e.method||"GET",H=(0,i.getTracer)(),L=H.getActiveScopeSpan(),M={params:_,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:N,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>A.onRequestError(e,t,a,n,I)},sharedContext:{buildId:R}},F=new c.NodeNextRequest(e),B=new c.NodeNextResponse(t),$=u.NextRequestAdapter.fromNodeNextRequest(F,(0,u.signalFromNodeResponse)(t));try{let s=async e=>A.handle($,M).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=`${q} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${q} ${a}`)}),l=!!(0,o.getRequestMeta)(e,"minimalMode"),d=async o=>{var i,d;let c=async({previousCacheEntry:n})=>{try{if(!l&&O&&P&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await s(o);e.fetchMetrics=M.renderOpts.fetchMetrics;let i=M.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let d=M.renderOpts.collectedTags;if(!j)return await (0,f.sendResponse)(F,B,a,M.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,y.toNodeOutgoingHttpHeaders)(a.headers);d&&(t[g.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,n=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:O})},!1,I),t}},u=await A.handleResponse({req:e,nextConfig:E,cacheKey:U,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:P,responseGenerator:c,waitUntil:r.waitUntil,isMinimalMode:l});if(!j)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(d=u.value)?void 0:d.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"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,y.fromNodeOutgoingHttpHeaders)(u.value.headers);return l&&j||p.delete(g.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,f.sendResponse)(F,B,new Response(u.value.body,{headers:p,status:u.value.status||200})),null};L?await d(L):await H.withPropagatedContext(e.headers,()=>H.trace(p.BaseServerSpan.handleRequest,{spanName:`${q} ${a}`,kind:i.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},d))}catch(t){if(t instanceof v.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:W,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:O})},!1,I),j)throw t;return await (0,f.sendResponse)(F,B,new Response(null,{status:500})),null}}e.s(["handler",()=>x,"patchFetch",()=>E,"routeModule",()=>A,"serverHooks",()=>I,"workAsyncStorage",()=>S,"workUnitAsyncStorage",()=>b]),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_fa113e09._.js"].map(t=>e.l(t))).then(()=>t(65448)))},49794,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_ts_65de0558._.js"].map(t=>e.l(t))).then(()=>t(404503)))},386305,e=>{e.v(e=>Promise.resolve().then(()=>e(878947)))},734680,e=>{e.v(e=>Promise.resolve().then(()=>e(125852)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__976c4cd3._.js.map