omniroute 2.8.3 → 2.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/app/.next/BUILD_ID +1 -1
  2. package/app/.next/build-manifest.json +2 -2
  3. package/app/.next/prerender-manifest.json +3 -3
  4. package/app/.next/server/app/(dashboard)/dashboard/a2a/page_client-reference-manifest.js +1 -1
  5. package/app/.next/server/app/(dashboard)/dashboard/agents/page_client-reference-manifest.js +1 -1
  6. package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  7. package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
  8. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
  9. package/app/.next/server/app/(dashboard)/dashboard/auto-combo/page_client-reference-manifest.js +1 -1
  10. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  11. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  12. package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
  13. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  14. package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  15. package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
  16. package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
  17. package/app/.next/server/app/(dashboard)/dashboard/mcp/page_client-reference-manifest.js +1 -1
  18. package/app/.next/server/app/(dashboard)/dashboard/media/page_client-reference-manifest.js +1 -1
  19. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
  20. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  21. package/app/.next/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  22. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  23. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  24. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  25. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  26. package/app/.next/server/app/(dashboard)/dashboard/search-tools/page_client-reference-manifest.js +1 -1
  27. package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  28. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  29. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  30. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  31. package/app/.next/server/app/400/page_client-reference-manifest.js +1 -1
  32. package/app/.next/server/app/401/page_client-reference-manifest.js +1 -1
  33. package/app/.next/server/app/403/page_client-reference-manifest.js +1 -1
  34. package/app/.next/server/app/408/page_client-reference-manifest.js +1 -1
  35. package/app/.next/server/app/429/page_client-reference-manifest.js +1 -1
  36. package/app/.next/server/app/500/page_client-reference-manifest.js +1 -1
  37. package/app/.next/server/app/502/page_client-reference-manifest.js +1 -1
  38. package/app/.next/server/app/503/page_client-reference-manifest.js +1 -1
  39. package/app/.next/server/app/_global-error.html +2 -2
  40. package/app/.next/server/app/_global-error.rsc +1 -1
  41. package/app/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  42. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  43. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  44. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  45. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  46. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  47. package/app/.next/server/app/api/models/catalog/route.js +1 -1
  48. package/app/.next/server/app/api/models/catalog/route.js.nft.json +1 -1
  49. package/app/.next/server/app/api/providers/[id]/models/route.js +2 -2
  50. package/app/.next/server/app/api/providers/[id]/test/route.js +3 -3
  51. package/app/.next/server/app/api/providers/route.js +1 -1
  52. package/app/.next/server/app/api/providers/test-batch/route.js +6 -6
  53. package/app/.next/server/app/api/v1/models/route.js +3 -3
  54. package/app/.next/server/app/api/v1/models/route.js.nft.json +1 -1
  55. package/app/.next/server/app/api/v1/route.js +3 -3
  56. package/app/.next/server/app/api/v1/route.js.nft.json +1 -1
  57. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  58. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  59. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  60. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  61. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  62. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  63. package/app/.next/server/app/maintenance/page_client-reference-manifest.js +1 -1
  64. package/app/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  65. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  66. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  67. package/app/.next/server/app/status/page_client-reference-manifest.js +1 -1
  68. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  69. package/app/.next/server/chunks/[root-of-the-server]__09c944b3._.js +2 -2
  70. package/app/.next/server/chunks/[root-of-the-server]__134baf4c._.js +2 -2
  71. package/app/.next/server/chunks/[root-of-the-server]__2f8f5f38._.js +2 -2
  72. package/app/.next/server/chunks/[root-of-the-server]__31027061._.js +4 -0
  73. package/app/.next/server/chunks/[root-of-the-server]__3e042fbd._.js +2 -2
  74. package/app/.next/server/chunks/[root-of-the-server]__7a9b72a4._.js +2 -2
  75. package/app/.next/server/chunks/[root-of-the-server]__7d9b23e7._.js +2 -2
  76. package/app/.next/server/chunks/[root-of-the-server]__80e3bfc3._.js +1 -1
  77. package/app/.next/server/chunks/[root-of-the-server]__84e445b2._.js +1 -1
  78. package/app/.next/server/chunks/[root-of-the-server]__92cb0def._.js +1 -1
  79. package/app/.next/server/chunks/[root-of-the-server]__d4563e10._.js +1 -1
  80. package/app/.next/server/chunks/[root-of-the-server]__d7914418._.js +4 -0
  81. package/app/.next/server/chunks/[root-of-the-server]__db2f9fe0._.js +1 -1
  82. package/app/.next/server/chunks/[root-of-the-server]__e27a89bd._.js +1 -1
  83. package/app/.next/server/chunks/[root-of-the-server]__ebf3fe48._.js +2 -2
  84. package/app/.next/server/chunks/[root-of-the-server]__f0131d95._.js +4 -0
  85. package/app/.next/server/chunks/[root-of-the-server]__f31b4656._.js +3 -3
  86. package/app/.next/server/chunks/[root-of-the-server]__fad1679d._.js +2 -2
  87. package/app/.next/server/chunks/_05c48915._.js +1 -1
  88. package/app/.next/server/chunks/_2115d8de._.js +1 -1
  89. package/app/.next/server/chunks/_3ac953eb._.js +1 -1
  90. package/app/.next/server/chunks/_4b8fd853._.js +1 -1
  91. package/app/.next/server/chunks/_68683848._.js +1 -1
  92. package/app/.next/server/chunks/_ee9b677b._.js +1 -1
  93. package/app/.next/server/chunks/ssr/[root-of-the-server]__9affb65e._.js +1 -1
  94. package/app/.next/server/chunks/ssr/[root-of-the-server]__a6942102._.js +1 -1
  95. package/app/.next/server/chunks/ssr/_19b3d5b1._.js +2 -2
  96. package/app/.next/server/chunks/ssr/src_ec615d6e._.js +2 -2
  97. package/app/.next/server/pages/500.html +2 -2
  98. package/app/.next/server/server-reference-manifest.js +1 -1
  99. package/app/.next/server/server-reference-manifest.json +1 -1
  100. package/app/.next/static/chunks/{19b1432393321fcf.js → 1e206030e7793015.js} +1 -1
  101. package/app/.next/static/chunks/{37e9976d0367faad.js → 3fa6c964786c962d.js} +4 -4
  102. package/app/CHANGELOG.md +29 -0
  103. package/app/docs/ARCHITECTURE.md +1 -1
  104. package/app/docs/VM_DEPLOYMENT_GUIDE.md +2 -0
  105. package/app/docs/i18n/README.md +9 -17
  106. package/app/docs/i18n/ar/VM_DEPLOYMENT_GUIDE.md +110 -112
  107. package/app/docs/i18n/bg/VM_DEPLOYMENT_GUIDE.md +110 -112
  108. package/app/docs/i18n/da/VM_DEPLOYMENT_GUIDE.md +110 -112
  109. package/app/docs/i18n/de/VM_DEPLOYMENT_GUIDE.md +110 -112
  110. package/app/docs/i18n/es/VM_DEPLOYMENT_GUIDE.md +107 -109
  111. package/app/docs/i18n/fi/VM_DEPLOYMENT_GUIDE.md +110 -112
  112. package/app/docs/i18n/fr/VM_DEPLOYMENT_GUIDE.md +110 -112
  113. package/app/docs/i18n/he/VM_DEPLOYMENT_GUIDE.md +110 -112
  114. package/app/docs/i18n/hu/VM_DEPLOYMENT_GUIDE.md +110 -112
  115. package/app/docs/i18n/id/VM_DEPLOYMENT_GUIDE.md +110 -112
  116. package/app/docs/i18n/in/VM_DEPLOYMENT_GUIDE.md +102 -210
  117. package/app/docs/i18n/it/VM_DEPLOYMENT_GUIDE.md +110 -112
  118. package/app/docs/i18n/ja/VM_DEPLOYMENT_GUIDE.md +110 -112
  119. package/app/docs/i18n/ko/VM_DEPLOYMENT_GUIDE.md +109 -111
  120. package/app/docs/i18n/ms/VM_DEPLOYMENT_GUIDE.md +110 -112
  121. package/app/docs/i18n/nl/VM_DEPLOYMENT_GUIDE.md +110 -112
  122. package/app/docs/i18n/no/VM_DEPLOYMENT_GUIDE.md +110 -112
  123. package/app/docs/i18n/phi/VM_DEPLOYMENT_GUIDE.md +110 -112
  124. package/app/docs/i18n/pl/VM_DEPLOYMENT_GUIDE.md +110 -112
  125. package/app/docs/i18n/pt/VM_DEPLOYMENT_GUIDE.md +96 -98
  126. package/app/docs/i18n/pt-BR/VM_DEPLOYMENT_GUIDE.md +96 -98
  127. package/app/docs/i18n/ro/VM_DEPLOYMENT_GUIDE.md +110 -112
  128. package/app/docs/i18n/ru/VM_DEPLOYMENT_GUIDE.md +110 -112
  129. package/app/docs/i18n/sk/VM_DEPLOYMENT_GUIDE.md +110 -112
  130. package/app/docs/i18n/sv/VM_DEPLOYMENT_GUIDE.md +110 -112
  131. package/app/docs/i18n/th/VM_DEPLOYMENT_GUIDE.md +110 -112
  132. package/app/docs/i18n/uk-UA/VM_DEPLOYMENT_GUIDE.md +110 -112
  133. package/app/docs/i18n/vi/VM_DEPLOYMENT_GUIDE.md +110 -112
  134. package/app/docs/i18n/zh-CN/VM_DEPLOYMENT_GUIDE.md +110 -112
  135. package/app/docs/openapi.yaml +1 -1
  136. package/app/package-lock.json +5 -5
  137. package/app/package.json +1 -1
  138. package/app/scripts/i18n/generate-multilang.mjs +1 -0
  139. package/app/src/shared/constants/providers.ts +3 -0
  140. package/app/src/shared/validation/providerSchema.ts +6 -0
  141. package/package.json +1 -1
  142. package/app/.next/server/chunks/[root-of-the-server]__61396d77._.js +0 -4
  143. package/app/.next/server/chunks/[root-of-the-server]__d5ecc2ba._.js +0 -4
  144. package/app/.next/server/chunks/[root-of-the-server]__daa26645._.js +0 -4
  145. /package/app/.next/static/{IiXcm5VJcOKrDneQQSdf- → Ys6bRJXPNt8j-MKOjvZwp}/_buildManifest.js +0 -0
  146. /package/app/.next/static/{IiXcm5VJcOKrDneQQSdf- → Ys6bRJXPNt8j-MKOjvZwp}/_clientMiddlewareManifest.json +0 -0
  147. /package/app/.next/static/{IiXcm5VJcOKrDneQQSdf- → Ys6bRJXPNt8j-MKOjvZwp}/_ssgManifest.js +0 -0
@@ -1,11 +1,11 @@
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 o=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,s={},l={RequestCookies:()=>g,ResponseCookies:()=>f,parseCookie:()=>u,parseSetCookie:()=>p,stringifyCookie:()=>d};for(var c in l)o(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),o=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?o:`${o}; ${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[o,i]=[r.slice(0,e),r.slice(e+1)];try{t.set(o,decodeURIComponent(null!=i?i:"true"))}catch{}}return t}function p(e){if(!e)return;let[[t,r],...o]=u(e),{domain:i,expires:a,httponly:n,maxage:s,path:l,samesite:c,secure:d,partitioned:p,priority:g}=Object.fromEntries(o.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var f,y,x={name:t,value:decodeURIComponent(r),domain:i,...a&&{expires:new Date(a)},...n&&{httpOnly:!0},..."string"==typeof s&&{maxAge:Number(s)},path:l,...c&&{sameSite:m.includes(f=(f=c).toLowerCase())?f:void 0},...d&&{secure:!0},...g&&{priority:h.includes(y=(y=g).toLowerCase())?y:void 0},...p&&{partitioned:!0}};let e={};for(let t in x)x[t]&&(e[t]=x[t]);return e}}t.exports=((e,t,r,s)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of a(t))n.call(e,r)||void 0===r||o(e,r,{get:()=>t[r],enumerable:!(s=i(t,r))||s.enumerable});return e})(o({},"__esModule",{value:!0}),s);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,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 o="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===o).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,o=this._parsed;return o.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(o).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("; ")}},f=class{constructor(e){var t,r,o;this._parsed=new Map,this._headers=e;const i=null!=(o=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?o:[];for(const e of Array.isArray(i)?i:function(e){if(!e)return[];var t,r,o,i,a,n=[],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,a=!1;l();)if(","===(r=e.charAt(s))){for(o=s,s+=1,l(),i=s;s<e.length&&"="!==(r=e.charAt(s))&&";"!==r&&","!==r;)s+=1;s<e.length&&"="===e.charAt(s)?(a=!0,s=i,n.push(e.substring(t,o)),t=s):s=o+1}else s+=1;(!a||s>=e.length)&&n.push(e.substring(t,e.length))}return n}(i)){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 o="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===o)}has(e){return this._parsed.has(e)}set(...e){let[t,r,o]=1===e.length?[e[0].name,e[0].value,e[0]]:e,i=this._parsed;return i.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,...o})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=d(r);t.append("set-cookie",e)}}(i,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("; ")}}},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 o=e.i(677850),i=t([o]);function a(e,t){let r=e.safeParse(t);if(r.success)return{success:!0,data:r.data};let o=Array.isArray(r.error?.issues)?r.error.issues:[];return{success:!1,error:{message:"Invalid request",details:o.map(e=>({field:e.path.join("."),message:e.message}))}}}function n(e){return!1===e.success}[o]=i.then?(await i)():i,o.z.object({password:o.z.string().min(1,"Password is required").max(200)}),e.s(["isValidationFailure",()=>n,"validateBody",()=>a]),r()}catch(e){r(e)}},!1),180725,e=>{"use strict";e.i(245272),e.s([])},924868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},266240,e=>{"use strict";var t=e.i(924868),r=e.i(446786),o=e.i(814747),i=e.i(233405);let a=new Set(["auto","host","container"]),n=new Set(["0","false","no","off"]),s={claude:{defaultCommand:"claude",envBinKey:"CLI_CLAUDE_BIN",requiresBinary:!0,healthcheckTimeoutMs:4e3,paths:{settings:".claude/settings.json"}},codex:{defaultCommand:"codex",envBinKey:"CLI_CODEX_BIN",requiresBinary:!0,healthcheckTimeoutMs:4e3,paths:{config:".codex/config.toml",auth:".codex/auth.json"}},droid:{defaultCommand:"droid",envBinKey:"CLI_DROID_BIN",requiresBinary:!0,healthcheckTimeoutMs:8e3,paths:{settings:".factory/settings.json"}},openclaw:{defaultCommand:"openclaw",envBinKey:"CLI_OPENCLAW_BIN",requiresBinary:!0,healthcheckTimeoutMs:15e3,paths:{settings:".openclaw/openclaw.json"}},cursor:{defaultCommands:["agent","cursor"],envBinKey:"CLI_CURSOR_BIN",requiresBinary:!0,healthcheckTimeoutMs:15e3,paths:{config:".cursor/cli-config.json",auth:".config/cursor/auth.json",state:".cursor/agent-cli-state.json"}},cline:{defaultCommand:"cline",envBinKey:"CLI_CLINE_BIN",requiresBinary:!0,healthcheckTimeoutMs:12e3,paths:{globalState:".cline/data/globalState.json",secrets:".cline/data/secrets.json"}},kilo:{defaultCommand:"kilocode",envBinKey:"CLI_KILO_BIN",requiresBinary:!0,healthcheckTimeoutMs:15e3,paths:{auth:".local/share/kilo/auth.json"}},continue:{defaultCommand:null,envBinKey:"CLI_CONTINUE_BIN",requiresBinary:!1,healthcheckTimeoutMs:15e3,paths:{settings:".continue/config.json"}},opencode:{defaultCommand:"opencode",envBinKey:"CLI_OPENCODE_BIN",requiresBinary:!0,healthcheckTimeoutMs:15e3,paths:{config:".config/opencode/config.toml"}}},l=(e,t,{env:r,timeoutMs:o=3e3}={})=>new Promise(a=>{let n="",s="",l=!1,c=!1,d=(0,i.spawn)(e,t,{env:r,stdio:["ignore","pipe","pipe"],..."win32"===process.platform?"TURBOPACK unreachable":{}}),u=setTimeout(()=>{l=!0,d.kill("SIGKILL")},o),p=e=>{c||(c=!0,clearTimeout(u),a(e))};d.stdout.on("data",e=>{n+=e.toString()}),d.stderr.on("data",e=>{s+=e.toString()}),d.on("error",e=>{p({ok:!1,code:null,stdout:n.trim(),stderr:s.trim(),timedOut:l,error:e?.message||"spawn_error"})}),d.on("close",e=>{p({ok:!l&&0===e,code:e,stdout:n.trim(),stderr:s.trim(),timedOut:l,error:l?"timeout":null})})}),c=["&","|",";","<",">","(",")","`","$","^","%","!"],d=async e=>{if(!(!(!e||!o.default.isAbsolute(e)||c.some(t=>e.includes(t)))&&1))return{installed:!1,commandPath:null,reason:"unsafe_path"};try{await t.default.access(e,t.default.constants.F_OK)}catch{return{installed:!1,commandPath:null,reason:"not_found"}}try{return await t.default.access(e,t.default.constants.X_OK),{installed:!0,commandPath:e,reason:null}}catch{return{installed:!0,commandPath:e,reason:"not_executable"}}},u=async(e,t)=>{if(!e)return{installed:!1,commandPath:null,reason:"missing_command"};if(e.includes("/")||e.includes("\\"))return d(e);process.platform;let r=await l("sh",["-c",'command -v -- "$1"',"sh",e],{env:t,timeoutMs:3e3});if(!r.ok||!r.stdout)return{installed:!1,commandPath:null,reason:"not_found"};let o=r.stdout.split(/\r?\n/).map(e=>e.trim()).find(Boolean)||null;return{installed:!!o,commandPath:o,reason:o?null:"not_found"}},p=async(e,t)=>{if(!Array.isArray(e)||0===e.length)return{command:null,installed:!1,commandPath:null,reason:"missing_command"};for(let r of e){let e=await u(r,t);if(e.installed||"not_found"!==e.reason)return{command:r,...e}}return{command:e[0],installed:!1,commandPath:null,reason:"not_found"}},m=async(e,t,r=4e3)=>{for(let o of[["--version"],["-v"]])if((await l(e,o,{env:t,timeoutMs:r})).ok)return{runnable:!0,reason:null};return{runnable:!1,reason:"healthcheck_failed"}},h=e=>{let t=s[e];if(!t)return null;let i=String(process.env.CLI_CONFIG_HOME||"").trim()||r.default.homedir();return Object.fromEntries(Object.entries(t.paths).map(([e,t])=>[e,o.default.join(i,t)]))},g=async e=>{let t,r,i,n=s[e],l=(t=String(process.env.CLI_MODE||"auto").trim().toLowerCase(),a.has(t)?t:"auto");if(!n)return{installed:!1,runnable:!1,command:null,commandPath:null,reason:"unknown_tool",runtimeMode:l,requiresBinary:!1};let c=(r={...process.env},(i=String(process.env.CLI_EXTRA_PATHS||"").split(o.default.delimiter).map(e=>e.trim()).filter(Boolean)).length>0&&(r.PATH=[...i,r.PATH||""].filter(Boolean).join(o.default.delimiter)),r),d=(e=>{let t=s[e];if(!t)return[];let r=String(process.env[t.envBinKey]||"").trim();return r?[r]:Array.isArray(t.defaultCommands)&&t.defaultCommands.length>0?t.defaultCommands.filter(Boolean):t.defaultCommand?[t.defaultCommand]:[]})(e),u=!1!==n.requiresBinary;if(!u&&0===d.length)return{installed:!0,runnable:!0,command:null,commandPath:null,reason:"not_required",runtimeMode:l,requiresBinary:u};let h=await p(d,c),g=h.command;if(!h.installed)return{installed:!1,runnable:!1,command:g,commandPath:null,reason:h.reason||"not_found",runtimeMode:l,requiresBinary:u};if("not_executable"===h.reason)return{installed:!0,runnable:!1,command:g,commandPath:h.commandPath,reason:"not_executable",runtimeMode:l,requiresBinary:u};let f=await m(h.commandPath,c,Number(n.healthcheckTimeoutMs||4e3));return{installed:!0,runnable:f.runnable,command:g,commandPath:h.commandPath,reason:f.reason,runtimeMode:l,requiresBinary:u}},f=Object.keys(s);e.s(["CLI_TOOL_IDS",0,f,"ensureCliConfigWriteAllowed",0,()=>((e,t=!0)=>null==e||""===e?t:!n.has(String(e).trim().toLowerCase()))(process.env.CLI_ALLOW_CONFIG_WRITES,!0)?null:"CLI config writes are disabled (CLI_ALLOW_CONFIG_WRITES=false)","getCliConfigPaths",0,h,"getCliPrimaryConfigPath",0,e=>{let t=h(e);if(!t)return null;let r=Object.keys(t)[0];return r?t[r]:null},"getCliRuntimeStatus",0,g])},102835,e=>e.a(async(t,r)=>{try{var o=e.i(677850),i=t([o]);[o]=i.then?(await i)():i;let n=o.z.object({id:o.z.string().min(1),alias:o.z.string().min(1),name:o.z.string().min(1),icon:o.z.string().min(1),color:o.z.string().regex(/^#[0-9A-Fa-f]{6}$/,"Must be a valid hex color (#RRGGBB)"),textIcon:o.z.string().optional(),website:o.z.string().url().optional(),passthroughModels:o.z.boolean().optional()}),s=o.z.record(o.z.string(),n);function a(e,t){let r=s.safeParse(e);if(!r.success){let e=r.error.issues.map(e=>` ${e.path.join(".")}: ${e.message}`).join("\n");throw console.error(`[PROVIDER VALIDATION] ${t} has invalid entries:
2
- ${e}`),Error(`Provider validation failed for ${t}`)}}e.s(["validateProviders",()=>a]),r()}catch(e){r(e)}},!1),963219,e=>e.a(async(t,r)=>{try{var o=e.i(102835),i=t([o]);[o]=i.then?(await i)():i;let s={iflow:{id:"iflow",alias:"if",name:"iFlow AI",icon:"water_drop",color:"#6366F1"},qwen:{id:"qwen",alias:"qw",name:"Qwen Code",icon:"psychology",color:"#10B981"},"gemini-cli":{id:"gemini-cli",alias:"gc",name:"Gemini CLI",icon:"terminal",color:"#4285F4"},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"}},c={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",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev"},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"},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 (GLM-5)",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-...)"}},d="openai-compatible-",u="anthropic-compatible-";function a(e){return"string"==typeof e&&e.startsWith(d)}function n(e){return"string"==typeof e&&e.startsWith(u)}let p={...s,...l,...c},m=Object.values(p).reduce((e,t)=>(e[t.alias]=t.id,e),{});Object.values(p).reduce((e,t)=>(e[t.id]=t.alias,e),{}),(0,o.validateProviders)(s,"FREE_PROVIDERS"),(0,o.validateProviders)(l,"OAUTH_PROVIDERS"),(0,o.validateProviders)(c,"APIKEY_PROVIDERS"),e.s(["AI_PROVIDERS",0,p,"ALIAS_TO_ID",0,m,"ANTHROPIC_COMPATIBLE_PREFIX",0,u,"APIKEY_PROVIDERS",0,c,"FREE_PROVIDERS",0,s,"OAUTH_PROVIDERS",0,l,"OPENAI_COMPATIBLE_PREFIX",0,d,"isAnthropicCompatibleProvider",()=>n,"isOpenAICompatibleProvider",()=>a]),r()}catch(e){r(e)}},!1),662636,e=>{"use strict";function t(e){if(!e)return"Unknown Account";let t="string"==typeof e.name&&e.name.trim()||"string"==typeof e.displayName&&e.displayName.trim()||"string"==typeof e.email&&e.email.trim();return t||("string"==typeof e.id&&e.id?`Account #${e.id.slice(0,6)}`:"Unknown Account")}e.s(["getAccountDisplayName",()=>t])},16023,e=>{"use strict";var t=e.i(522734),r=e.i(814747);let o=["clientId","clientSecret","tokenUrl","authUrl","refreshUrl"],i=0,a=null;var n=e.i(828059);let s=parseInt(process.env.FETCH_TIMEOUT_MS||"120000",10),l=parseInt(process.env.STREAM_IDLE_TIMEOUT_MS||"300000",10),c=(0,n.generateLegacyProviders)();!function(e){let n;if(a&&Date.now()-i<6e4)return;let s=(n=process.env.DATA_DIR||(0,r.join)(process.cwd(),"data"),(0,r.join)(n,"provider-credentials.json"));if(!(0,t.existsSync)(s))return a||console.log("[CREDENTIALS] No external credentials file found, using defaults."),a=e,i=Date.now();try{let r=(0,t.readFileSync)(s,"utf-8"),i=JSON.parse(r),n=0;for(let[t,r]of Object.entries(i)){if(!e[t]){console.log(`[CREDENTIALS] Warning: unknown provider "${t}" in credentials file, skipping.`);continue}if(!r||"object"!=typeof r){console.log(`[CREDENTIALS] Warning: provider "${t}" value must be an object, got ${typeof r}. Skipping.`);continue}for(let i of o)void 0!==r[i]&&(e[t][i]=r[i],n++)}let l=null!==a;console.log(`[CREDENTIALS] ${l?"Reloaded":"Loaded"} external credentials: ${n} field(s) from ${s}`)}catch(e){console.log(`[CREDENTIALS] Error reading credentials file: ${e.message}. Using defaults.`)}a=e,i=Date.now()}(c);let d={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},u={[d.BAD_REQUEST]:{type:"invalid_request_error",code:"bad_request"},[d.UNAUTHORIZED]:{type:"authentication_error",code:"invalid_api_key"},[d.FORBIDDEN]:{type:"permission_error",code:"insufficient_quota"},[d.NOT_FOUND]:{type:"invalid_request_error",code:"model_not_found"},[d.RATE_LIMITED]:{type:"rate_limit_error",code:"rate_limit_exceeded"},[d.SERVER_ERROR]:{type:"server_error",code:"internal_server_error"},[d.BAD_GATEWAY]:{type:"server_error",code:"bad_gateway"},[d.SERVICE_UNAVAILABLE]:{type:"server_error",code:"service_unavailable"},[d.GATEWAY_TIMEOUT]:{type:"server_error",code:"gateway_timeout"}},p={[d.BAD_REQUEST]:"Bad request",[d.UNAUTHORIZED]:"Invalid API key provided",[d.FORBIDDEN]:"You exceeded your current quota",[d.NOT_FOUND]:"Model not found",[d.RATE_LIMITED]:"Rate limit exceeded",[d.SERVER_ERROR]:"Internal server error",[d.BAD_GATEWAY]:"Bad gateway - upstream provider error",[d.SERVICE_UNAVAILABLE]:"Service temporarily unavailable",[d.GATEWAY_TIMEOUT]:"Gateway timeout"};e.s(["ANTIGRAVITY_DEFAULT_SYSTEM",0,"Please ignore the following [ignore]You are Antigravity, a powerful agentic AI coding assistant designed by the Google Deepmind team working on Advanced Agentic Coding.You are pair programming with a USER to solve their coding task. The task may require creating a new codebase, modifying or debugging an existing codebase, or simply answering a question.**Absolute paths only****Proactiveness**[/ignore]","BACKOFF_CONFIG",0,{base:1e3,max:12e4,maxLevel:15},"BACKOFF_STEPS_MS",0,[6e4,12e4,3e5,6e5,12e5],"CACHE_TTL",0,{userInfo:300,modelAlias:3600},"CLAUDE_SYSTEM_PROMPT",0,"You are Claude Code, Anthropic's official CLI for Claude.","COOLDOWN_MS",0,{unauthorized:12e4,paymentRequired:12e4,notFound:12e4,notFoundLocal:5e3,transientInitial:5e3,transientMax:6e4,transient:5e3,requestNotAllowed:5e3,rateLimit:12e4,serviceUnavailable:2e3,authExpired:12e4},"DEFAULT_API_LIMITS",0,{requestsPerMinute:100,minTimeBetweenRequests:200,concurrentRequests:10},"DEFAULT_ERROR_MESSAGES",0,p,"DEFAULT_MAX_TOKENS",0,64e3,"DEFAULT_MIN_TOKENS",0,32e3,"ERROR_TYPES",0,u,"FETCH_TIMEOUT_MS",0,s,"HTTP_STATUS",0,d,"OAUTH_ENDPOINTS",0,{google:{token:"https://oauth2.googleapis.com/token",auth:"https://accounts.google.com/o/oauth2/auth"},openai:{token:"https://auth.openai.com/oauth/token",auth:"https://auth.openai.com/oauth/authorize"},anthropic:{token:"https://console.anthropic.com/v1/oauth/token",auth:"https://console.anthropic.com/v1/oauth/authorize"},qwen:{token:"https://chat.qwen.ai/api/v1/oauth2/token",auth:"https://chat.qwen.ai/api/v1/oauth2/device/code"},iflow:{token:"https://iflow.cn/oauth/token",auth:"https://iflow.cn/oauth"},github:{token:"https://github.com/login/oauth/access_token",auth:"https://github.com/login/oauth/authorize",deviceCode:"https://github.com/login/device/code"}},"PROVIDERS",0,c,"PROVIDER_PROFILES",0,{oauth:{transientCooldown:5e3,rateLimitCooldown:6e4,maxBackoffLevel:8,circuitBreakerThreshold:3,circuitBreakerReset:6e4},apikey:{transientCooldown:3e3,rateLimitCooldown:0,maxBackoffLevel:5,circuitBreakerThreshold:5,circuitBreakerReset:3e4},local:{transientCooldown:2e3,rateLimitCooldown:5e3,maxBackoffLevel:3,circuitBreakerThreshold:2,circuitBreakerReset:15e3}},"RateLimitReason",0,{QUOTA_EXHAUSTED:"quota_exhausted",RATE_LIMIT_EXCEEDED:"rate_limit_exceeded",MODEL_CAPACITY:"model_capacity",SERVER_ERROR:"server_error",AUTH_ERROR:"auth_error",UNKNOWN:"unknown"},"SKIP_PATTERNS",0,["Please write a 5-10 word title for the following conversation:"],"STREAM_IDLE_TIMEOUT_MS",0,l],16023)},362562,(e,t,r)=>{t.exports=e.x("module",()=>require("module"))},363890,(e,t,r)=>{t.exports=e.x("stream/web",()=>require("stream/web"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},478500,(e,t,r)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},812057,(e,t,r)=>{t.exports=e.x("node:util",()=>require("node:util"))},951615,(e,t,r)=>{t.exports=e.x("node:buffer",()=>require("node:buffer"))},57328,(e,t,r)=>{t.exports=e.x("node:assert",()=>require("node:assert"))},761095,(e,t,r)=>{t.exports=e.x("node:net",()=>require("node:net"))},347299,(e,t,r)=>{t.exports=e.x("node:http",()=>require("node:http"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},483324,(e,t,r)=>{t.exports=e.x("node:querystring",()=>require("node:querystring"))},687769,(e,t,r)=>{t.exports=e.x("node:events",()=>require("node:events"))},677652,(e,t,r)=>{t.exports=e.x("node:diagnostics_channel",()=>require("node:diagnostics_channel"))},685560,(e,t,r)=>{t.exports=e.x("node:tls",()=>require("node:tls"))},727028,(e,t,r)=>{t.exports=e.x("node:zlib",()=>require("node:zlib"))},874096,(e,t,r)=>{t.exports=e.x("node:perf_hooks",()=>require("node:perf_hooks"))},107417,(e,t,r)=>{t.exports=e.x("node:util/types",()=>require("node:util/types"))},925127,(e,t,r)=>{t.exports=e.x("node:worker_threads",()=>require("node:worker_threads"))},246479,(e,t,r)=>{t.exports=e.x("node:http2",()=>require("node:http2"))},857764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},241293,(e,t,r)=>{t.exports=e.x("node:console",()=>require("node:console"))},912714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},26910,(e,t,r)=>{t.exports=e.x("node:timers",()=>require("node:timers"))},495879,(e,t,r)=>{t.exports=e.x("node:dns",()=>require("node:dns"))},427699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},504446,(e,t,r)=>{t.exports=e.x("net",()=>require("net"))},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},688947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},921517,(e,t,r)=>{t.exports=e.x("http",()=>require("http"))},496928,e=>{"use strict";var t=e.i(689960),r=e.i(157763);let o=!r.isCloud&&!r.isBuildPhase,i=parseInt(process.env.PROXY_LOG_MAX_ENTRIES||"200",10),a=[];if(o)try{for(let e of(0,r.getDbInstance)().prepare("SELECT * FROM proxy_logs ORDER BY timestamp DESC LIMIT ?").all(i))a.push({id:e.id,timestamp:e.timestamp,status:e.status||"success",proxy:e.proxy_host?{type:e.proxy_type,host:e.proxy_host,port:e.proxy_port}:null,level:e.level||"direct",levelId:e.level_id||null,provider:e.provider||null,targetUrl:e.target_url||null,publicIp:e.public_ip||null,latencyMs:e.latency_ms||0,error:e.error||null,connectionId:e.connection_id||null,comboId:e.combo_id||null,account:e.account||null,tlsFingerprint:1===e.tls_fingerprint});a.length>0&&console.log(`[proxyLogger] Loaded ${a.length} proxy logs from SQLite`)}catch(e){console.warn("[proxyLogger] Failed to load from DB:",e.message)}function n(e){let n={id:(0,t.v4)(),timestamp:new Date().toISOString(),status:e.status||"success",proxy:e.proxy||null,level:e.level||"direct",levelId:e.levelId||null,provider:e.provider||null,targetUrl:e.targetUrl||null,publicIp:e.publicIp||null,latencyMs:e.latencyMs||0,error:e.error||null,connectionId:e.connectionId||null,comboId:e.comboId||null,account:e.account||null,tlsFingerprint:e.tlsFingerprint||!1};if(a.unshift(n),a.length>i&&(a.length=i),o)try{let e=(0,r.getDbInstance)();e.prepare(`INSERT INTO proxy_logs (id, timestamp, status, proxy_type, proxy_host, proxy_port,
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 o=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,s={},l={RequestCookies:()=>g,ResponseCookies:()=>f,parseCookie:()=>u,parseSetCookie:()=>p,stringifyCookie:()=>d};for(var c in l)o(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),o=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?o:`${o}; ${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[o,i]=[r.slice(0,e),r.slice(e+1)];try{t.set(o,decodeURIComponent(null!=i?i:"true"))}catch{}}return t}function p(e){if(!e)return;let[[t,r],...o]=u(e),{domain:i,expires:a,httponly:n,maxage:s,path:l,samesite:c,secure:d,partitioned:p,priority:g}=Object.fromEntries(o.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var f,y,x={name:t,value:decodeURIComponent(r),domain:i,...a&&{expires:new Date(a)},...n&&{httpOnly:!0},..."string"==typeof s&&{maxAge:Number(s)},path:l,...c&&{sameSite:m.includes(f=(f=c).toLowerCase())?f:void 0},...d&&{secure:!0},...g&&{priority:h.includes(y=(y=g).toLowerCase())?y:void 0},...p&&{partitioned:!0}};let e={};for(let t in x)x[t]&&(e[t]=x[t]);return e}}t.exports=((e,t,r,s)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of a(t))n.call(e,r)||void 0===r||o(e,r,{get:()=>t[r],enumerable:!(s=i(t,r))||s.enumerable});return e})(o({},"__esModule",{value:!0}),s);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,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 o="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===o).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,o=this._parsed;return o.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(o).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("; ")}},f=class{constructor(e){var t,r,o;this._parsed=new Map,this._headers=e;const i=null!=(o=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?o:[];for(const e of Array.isArray(i)?i:function(e){if(!e)return[];var t,r,o,i,a,n=[],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,a=!1;l();)if(","===(r=e.charAt(s))){for(o=s,s+=1,l(),i=s;s<e.length&&"="!==(r=e.charAt(s))&&";"!==r&&","!==r;)s+=1;s<e.length&&"="===e.charAt(s)?(a=!0,s=i,n.push(e.substring(t,o)),t=s):s=o+1}else s+=1;(!a||s>=e.length)&&n.push(e.substring(t,e.length))}return n}(i)){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 o="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===o)}has(e){return this._parsed.has(e)}set(...e){let[t,r,o]=1===e.length?[e[0].name,e[0].value,e[0]]:e,i=this._parsed;return i.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,...o})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=d(r);t.append("set-cookie",e)}}(i,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("; ")}}},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 o=e.i(677850),i=t([o]);function a(e,t){let r=e.safeParse(t);if(r.success)return{success:!0,data:r.data};let o=Array.isArray(r.error?.issues)?r.error.issues:[];return{success:!1,error:{message:"Invalid request",details:o.map(e=>({field:e.path.join("."),message:e.message}))}}}function n(e){return!1===e.success}[o]=i.then?(await i)():i,o.z.object({password:o.z.string().min(1,"Password is required").max(200)}),e.s(["isValidationFailure",()=>n,"validateBody",()=>a]),r()}catch(e){r(e)}},!1),180725,e=>{"use strict";e.i(245272),e.s([])},924868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},266240,e=>{"use strict";var t=e.i(924868),r=e.i(446786),o=e.i(814747),i=e.i(233405);let a=new Set(["auto","host","container"]),n=new Set(["0","false","no","off"]),s={claude:{defaultCommand:"claude",envBinKey:"CLI_CLAUDE_BIN",requiresBinary:!0,healthcheckTimeoutMs:4e3,paths:{settings:".claude/settings.json"}},codex:{defaultCommand:"codex",envBinKey:"CLI_CODEX_BIN",requiresBinary:!0,healthcheckTimeoutMs:4e3,paths:{config:".codex/config.toml",auth:".codex/auth.json"}},droid:{defaultCommand:"droid",envBinKey:"CLI_DROID_BIN",requiresBinary:!0,healthcheckTimeoutMs:8e3,paths:{settings:".factory/settings.json"}},openclaw:{defaultCommand:"openclaw",envBinKey:"CLI_OPENCLAW_BIN",requiresBinary:!0,healthcheckTimeoutMs:15e3,paths:{settings:".openclaw/openclaw.json"}},cursor:{defaultCommands:["agent","cursor"],envBinKey:"CLI_CURSOR_BIN",requiresBinary:!0,healthcheckTimeoutMs:15e3,paths:{config:".cursor/cli-config.json",auth:".config/cursor/auth.json",state:".cursor/agent-cli-state.json"}},cline:{defaultCommand:"cline",envBinKey:"CLI_CLINE_BIN",requiresBinary:!0,healthcheckTimeoutMs:12e3,paths:{globalState:".cline/data/globalState.json",secrets:".cline/data/secrets.json"}},kilo:{defaultCommand:"kilocode",envBinKey:"CLI_KILO_BIN",requiresBinary:!0,healthcheckTimeoutMs:15e3,paths:{auth:".local/share/kilo/auth.json"}},continue:{defaultCommand:null,envBinKey:"CLI_CONTINUE_BIN",requiresBinary:!1,healthcheckTimeoutMs:15e3,paths:{settings:".continue/config.json"}},opencode:{defaultCommand:"opencode",envBinKey:"CLI_OPENCODE_BIN",requiresBinary:!0,healthcheckTimeoutMs:15e3,paths:{config:".config/opencode/config.toml"}}},l=(e,t,{env:r,timeoutMs:o=3e3}={})=>new Promise(a=>{let n="",s="",l=!1,c=!1,d=(0,i.spawn)(e,t,{env:r,stdio:["ignore","pipe","pipe"],..."win32"===process.platform?"TURBOPACK unreachable":{}}),u=setTimeout(()=>{l=!0,d.kill("SIGKILL")},o),p=e=>{c||(c=!0,clearTimeout(u),a(e))};d.stdout.on("data",e=>{n+=e.toString()}),d.stderr.on("data",e=>{s+=e.toString()}),d.on("error",e=>{p({ok:!1,code:null,stdout:n.trim(),stderr:s.trim(),timedOut:l,error:e?.message||"spawn_error"})}),d.on("close",e=>{p({ok:!l&&0===e,code:e,stdout:n.trim(),stderr:s.trim(),timedOut:l,error:l?"timeout":null})})}),c=["&","|",";","<",">","(",")","`","$","^","%","!"],d=async e=>{if(!(!(!e||!o.default.isAbsolute(e)||c.some(t=>e.includes(t)))&&1))return{installed:!1,commandPath:null,reason:"unsafe_path"};try{await t.default.access(e,t.default.constants.F_OK)}catch{return{installed:!1,commandPath:null,reason:"not_found"}}try{return await t.default.access(e,t.default.constants.X_OK),{installed:!0,commandPath:e,reason:null}}catch{return{installed:!0,commandPath:e,reason:"not_executable"}}},u=async(e,t)=>{if(!e)return{installed:!1,commandPath:null,reason:"missing_command"};if(e.includes("/")||e.includes("\\"))return d(e);process.platform;let r=await l("sh",["-c",'command -v -- "$1"',"sh",e],{env:t,timeoutMs:3e3});if(!r.ok||!r.stdout)return{installed:!1,commandPath:null,reason:"not_found"};let o=r.stdout.split(/\r?\n/).map(e=>e.trim()).find(Boolean)||null;return{installed:!!o,commandPath:o,reason:o?null:"not_found"}},p=async(e,t)=>{if(!Array.isArray(e)||0===e.length)return{command:null,installed:!1,commandPath:null,reason:"missing_command"};for(let r of e){let e=await u(r,t);if(e.installed||"not_found"!==e.reason)return{command:r,...e}}return{command:e[0],installed:!1,commandPath:null,reason:"not_found"}},m=async(e,t,r=4e3)=>{for(let o of[["--version"],["-v"]])if((await l(e,o,{env:t,timeoutMs:r})).ok)return{runnable:!0,reason:null};return{runnable:!1,reason:"healthcheck_failed"}},h=e=>{let t=s[e];if(!t)return null;let i=String(process.env.CLI_CONFIG_HOME||"").trim()||r.default.homedir();return Object.fromEntries(Object.entries(t.paths).map(([e,t])=>[e,o.default.join(i,t)]))},g=async e=>{let t,r,i,n=s[e],l=(t=String(process.env.CLI_MODE||"auto").trim().toLowerCase(),a.has(t)?t:"auto");if(!n)return{installed:!1,runnable:!1,command:null,commandPath:null,reason:"unknown_tool",runtimeMode:l,requiresBinary:!1};let c=(r={...process.env},(i=String(process.env.CLI_EXTRA_PATHS||"").split(o.default.delimiter).map(e=>e.trim()).filter(Boolean)).length>0&&(r.PATH=[...i,r.PATH||""].filter(Boolean).join(o.default.delimiter)),r),d=(e=>{let t=s[e];if(!t)return[];let r=String(process.env[t.envBinKey]||"").trim();return r?[r]:Array.isArray(t.defaultCommands)&&t.defaultCommands.length>0?t.defaultCommands.filter(Boolean):t.defaultCommand?[t.defaultCommand]:[]})(e),u=!1!==n.requiresBinary;if(!u&&0===d.length)return{installed:!0,runnable:!0,command:null,commandPath:null,reason:"not_required",runtimeMode:l,requiresBinary:u};let h=await p(d,c),g=h.command;if(!h.installed)return{installed:!1,runnable:!1,command:g,commandPath:null,reason:h.reason||"not_found",runtimeMode:l,requiresBinary:u};if("not_executable"===h.reason)return{installed:!0,runnable:!1,command:g,commandPath:h.commandPath,reason:"not_executable",runtimeMode:l,requiresBinary:u};let f=await m(h.commandPath,c,Number(n.healthcheckTimeoutMs||4e3));return{installed:!0,runnable:f.runnable,command:g,commandPath:h.commandPath,reason:f.reason,runtimeMode:l,requiresBinary:u}},f=Object.keys(s);e.s(["CLI_TOOL_IDS",0,f,"ensureCliConfigWriteAllowed",0,()=>((e,t=!0)=>null==e||""===e?t:!n.has(String(e).trim().toLowerCase()))(process.env.CLI_ALLOW_CONFIG_WRITES,!0)?null:"CLI config writes are disabled (CLI_ALLOW_CONFIG_WRITES=false)","getCliConfigPaths",0,h,"getCliPrimaryConfigPath",0,e=>{let t=h(e);if(!t)return null;let r=Object.keys(t)[0];return r?t[r]:null},"getCliRuntimeStatus",0,g])},102835,e=>e.a(async(t,r)=>{try{var o=e.i(677850),i=t([o]);[o]=i.then?(await i)():i;let n=o.z.object({id:o.z.string().min(1),alias:o.z.string().min(1),name:o.z.string().min(1),icon:o.z.string().min(1),color:o.z.string().regex(/^#[0-9A-Fa-f]{6}$/,"Must be a valid hex color (#RRGGBB)"),textIcon:o.z.string().optional(),website:o.z.string().url().optional(),passthroughModels:o.z.boolean().optional(),deprecated:o.z.boolean().optional(),deprecationReason:o.z.string().optional(),hasFree:o.z.boolean().optional(),freeNote:o.z.string().optional(),authHint:o.z.string().optional(),apiHint:o.z.string().optional()}),s=o.z.record(o.z.string(),n);function a(e,t){let r=s.safeParse(e);if(!r.success){let e=r.error.issues.map(e=>` ${e.path.join(".")}: ${e.message}`).join("\n");throw console.error(`[PROVIDER VALIDATION] ${t} has invalid entries:
2
+ ${e}`),Error(`Provider validation failed for ${t}`)}}e.s(["validateProviders",()=>a]),r()}catch(e){r(e)}},!1),963219,e=>e.a(async(t,r)=>{try{var o=e.i(102835),i=t([o]);[o]=i.then?(await i)():i;let s={iflow:{id:"iflow",alias:"if",name:"iFlow AI",icon:"water_drop",color:"#6366F1"},qwen:{id:"qwen",alias:"qw",name:"Qwen Code",icon:"psychology",color:"#10B981"},"gemini-cli":{id:"gemini-cli",alias:"gc",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"}},c={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",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev"},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"},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 (GLM-5)",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-...)"}},d="openai-compatible-",u="anthropic-compatible-";function a(e){return"string"==typeof e&&e.startsWith(d)}function n(e){return"string"==typeof e&&e.startsWith(u)}let p={...s,...l,...c},m=Object.values(p).reduce((e,t)=>(e[t.alias]=t.id,e),{});Object.values(p).reduce((e,t)=>(e[t.id]=t.alias,e),{}),(0,o.validateProviders)(s,"FREE_PROVIDERS"),(0,o.validateProviders)(l,"OAUTH_PROVIDERS"),(0,o.validateProviders)(c,"APIKEY_PROVIDERS"),e.s(["AI_PROVIDERS",0,p,"ALIAS_TO_ID",0,m,"ANTHROPIC_COMPATIBLE_PREFIX",0,u,"APIKEY_PROVIDERS",0,c,"FREE_PROVIDERS",0,s,"OAUTH_PROVIDERS",0,l,"OPENAI_COMPATIBLE_PREFIX",0,d,"isAnthropicCompatibleProvider",()=>n,"isOpenAICompatibleProvider",()=>a]),r()}catch(e){r(e)}},!1),662636,e=>{"use strict";function t(e){if(!e)return"Unknown Account";let t="string"==typeof e.name&&e.name.trim()||"string"==typeof e.displayName&&e.displayName.trim()||"string"==typeof e.email&&e.email.trim();return t||("string"==typeof e.id&&e.id?`Account #${e.id.slice(0,6)}`:"Unknown Account")}e.s(["getAccountDisplayName",()=>t])},16023,e=>{"use strict";var t=e.i(522734),r=e.i(814747);let o=["clientId","clientSecret","tokenUrl","authUrl","refreshUrl"],i=0,a=null;var n=e.i(828059);let s=parseInt(process.env.FETCH_TIMEOUT_MS||"120000",10),l=parseInt(process.env.STREAM_IDLE_TIMEOUT_MS||"300000",10),c=(0,n.generateLegacyProviders)();!function(e){let n;if(a&&Date.now()-i<6e4)return;let s=(n=process.env.DATA_DIR||(0,r.join)(process.cwd(),"data"),(0,r.join)(n,"provider-credentials.json"));if(!(0,t.existsSync)(s))return a||console.log("[CREDENTIALS] No external credentials file found, using defaults."),a=e,i=Date.now();try{let r=(0,t.readFileSync)(s,"utf-8"),i=JSON.parse(r),n=0;for(let[t,r]of Object.entries(i)){if(!e[t]){console.log(`[CREDENTIALS] Warning: unknown provider "${t}" in credentials file, skipping.`);continue}if(!r||"object"!=typeof r){console.log(`[CREDENTIALS] Warning: provider "${t}" value must be an object, got ${typeof r}. Skipping.`);continue}for(let i of o)void 0!==r[i]&&(e[t][i]=r[i],n++)}let l=null!==a;console.log(`[CREDENTIALS] ${l?"Reloaded":"Loaded"} external credentials: ${n} field(s) from ${s}`)}catch(e){console.log(`[CREDENTIALS] Error reading credentials file: ${e.message}. Using defaults.`)}a=e,i=Date.now()}(c);let d={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},u={[d.BAD_REQUEST]:{type:"invalid_request_error",code:"bad_request"},[d.UNAUTHORIZED]:{type:"authentication_error",code:"invalid_api_key"},[d.FORBIDDEN]:{type:"permission_error",code:"insufficient_quota"},[d.NOT_FOUND]:{type:"invalid_request_error",code:"model_not_found"},[d.RATE_LIMITED]:{type:"rate_limit_error",code:"rate_limit_exceeded"},[d.SERVER_ERROR]:{type:"server_error",code:"internal_server_error"},[d.BAD_GATEWAY]:{type:"server_error",code:"bad_gateway"},[d.SERVICE_UNAVAILABLE]:{type:"server_error",code:"service_unavailable"},[d.GATEWAY_TIMEOUT]:{type:"server_error",code:"gateway_timeout"}},p={[d.BAD_REQUEST]:"Bad request",[d.UNAUTHORIZED]:"Invalid API key provided",[d.FORBIDDEN]:"You exceeded your current quota",[d.NOT_FOUND]:"Model not found",[d.RATE_LIMITED]:"Rate limit exceeded",[d.SERVER_ERROR]:"Internal server error",[d.BAD_GATEWAY]:"Bad gateway - upstream provider error",[d.SERVICE_UNAVAILABLE]:"Service temporarily unavailable",[d.GATEWAY_TIMEOUT]:"Gateway timeout"};e.s(["ANTIGRAVITY_DEFAULT_SYSTEM",0,"Please ignore the following [ignore]You are Antigravity, a powerful agentic AI coding assistant designed by the Google Deepmind team working on Advanced Agentic Coding.You are pair programming with a USER to solve their coding task. The task may require creating a new codebase, modifying or debugging an existing codebase, or simply answering a question.**Absolute paths only****Proactiveness**[/ignore]","BACKOFF_CONFIG",0,{base:1e3,max:12e4,maxLevel:15},"BACKOFF_STEPS_MS",0,[6e4,12e4,3e5,6e5,12e5],"CACHE_TTL",0,{userInfo:300,modelAlias:3600},"CLAUDE_SYSTEM_PROMPT",0,"You are Claude Code, Anthropic's official CLI for Claude.","COOLDOWN_MS",0,{unauthorized:12e4,paymentRequired:12e4,notFound:12e4,notFoundLocal:5e3,transientInitial:5e3,transientMax:6e4,transient:5e3,requestNotAllowed:5e3,rateLimit:12e4,serviceUnavailable:2e3,authExpired:12e4},"DEFAULT_API_LIMITS",0,{requestsPerMinute:100,minTimeBetweenRequests:200,concurrentRequests:10},"DEFAULT_ERROR_MESSAGES",0,p,"DEFAULT_MAX_TOKENS",0,64e3,"DEFAULT_MIN_TOKENS",0,32e3,"ERROR_TYPES",0,u,"FETCH_TIMEOUT_MS",0,s,"HTTP_STATUS",0,d,"OAUTH_ENDPOINTS",0,{google:{token:"https://oauth2.googleapis.com/token",auth:"https://accounts.google.com/o/oauth2/auth"},openai:{token:"https://auth.openai.com/oauth/token",auth:"https://auth.openai.com/oauth/authorize"},anthropic:{token:"https://console.anthropic.com/v1/oauth/token",auth:"https://console.anthropic.com/v1/oauth/authorize"},qwen:{token:"https://chat.qwen.ai/api/v1/oauth2/token",auth:"https://chat.qwen.ai/api/v1/oauth2/device/code"},iflow:{token:"https://iflow.cn/oauth/token",auth:"https://iflow.cn/oauth"},github:{token:"https://github.com/login/oauth/access_token",auth:"https://github.com/login/oauth/authorize",deviceCode:"https://github.com/login/device/code"}},"PROVIDERS",0,c,"PROVIDER_PROFILES",0,{oauth:{transientCooldown:5e3,rateLimitCooldown:6e4,maxBackoffLevel:8,circuitBreakerThreshold:3,circuitBreakerReset:6e4},apikey:{transientCooldown:3e3,rateLimitCooldown:0,maxBackoffLevel:5,circuitBreakerThreshold:5,circuitBreakerReset:3e4},local:{transientCooldown:2e3,rateLimitCooldown:5e3,maxBackoffLevel:3,circuitBreakerThreshold:2,circuitBreakerReset:15e3}},"RateLimitReason",0,{QUOTA_EXHAUSTED:"quota_exhausted",RATE_LIMIT_EXCEEDED:"rate_limit_exceeded",MODEL_CAPACITY:"model_capacity",SERVER_ERROR:"server_error",AUTH_ERROR:"auth_error",UNKNOWN:"unknown"},"SKIP_PATTERNS",0,["Please write a 5-10 word title for the following conversation:"],"STREAM_IDLE_TIMEOUT_MS",0,l],16023)},362562,(e,t,r)=>{t.exports=e.x("module",()=>require("module"))},363890,(e,t,r)=>{t.exports=e.x("stream/web",()=>require("stream/web"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},478500,(e,t,r)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},812057,(e,t,r)=>{t.exports=e.x("node:util",()=>require("node:util"))},951615,(e,t,r)=>{t.exports=e.x("node:buffer",()=>require("node:buffer"))},57328,(e,t,r)=>{t.exports=e.x("node:assert",()=>require("node:assert"))},761095,(e,t,r)=>{t.exports=e.x("node:net",()=>require("node:net"))},347299,(e,t,r)=>{t.exports=e.x("node:http",()=>require("node:http"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},483324,(e,t,r)=>{t.exports=e.x("node:querystring",()=>require("node:querystring"))},687769,(e,t,r)=>{t.exports=e.x("node:events",()=>require("node:events"))},677652,(e,t,r)=>{t.exports=e.x("node:diagnostics_channel",()=>require("node:diagnostics_channel"))},685560,(e,t,r)=>{t.exports=e.x("node:tls",()=>require("node:tls"))},727028,(e,t,r)=>{t.exports=e.x("node:zlib",()=>require("node:zlib"))},874096,(e,t,r)=>{t.exports=e.x("node:perf_hooks",()=>require("node:perf_hooks"))},107417,(e,t,r)=>{t.exports=e.x("node:util/types",()=>require("node:util/types"))},925127,(e,t,r)=>{t.exports=e.x("node:worker_threads",()=>require("node:worker_threads"))},246479,(e,t,r)=>{t.exports=e.x("node:http2",()=>require("node:http2"))},857764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},241293,(e,t,r)=>{t.exports=e.x("node:console",()=>require("node:console"))},912714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},26910,(e,t,r)=>{t.exports=e.x("node:timers",()=>require("node:timers"))},495879,(e,t,r)=>{t.exports=e.x("node:dns",()=>require("node:dns"))},427699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},504446,(e,t,r)=>{t.exports=e.x("net",()=>require("net"))},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},688947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},921517,(e,t,r)=>{t.exports=e.x("http",()=>require("http"))},496928,e=>{"use strict";var t=e.i(689960),r=e.i(157763);let o=!r.isCloud&&!r.isBuildPhase,i=parseInt(process.env.PROXY_LOG_MAX_ENTRIES||"200",10),a=[];if(o)try{for(let e of(0,r.getDbInstance)().prepare("SELECT * FROM proxy_logs ORDER BY timestamp DESC LIMIT ?").all(i))a.push({id:e.id,timestamp:e.timestamp,status:e.status||"success",proxy:e.proxy_host?{type:e.proxy_type,host:e.proxy_host,port:e.proxy_port}:null,level:e.level||"direct",levelId:e.level_id||null,provider:e.provider||null,targetUrl:e.target_url||null,publicIp:e.public_ip||null,latencyMs:e.latency_ms||0,error:e.error||null,connectionId:e.connection_id||null,comboId:e.combo_id||null,account:e.account||null,tlsFingerprint:1===e.tls_fingerprint});a.length>0&&console.log(`[proxyLogger] Loaded ${a.length} proxy logs from SQLite`)}catch(e){console.warn("[proxyLogger] Failed to load from DB:",e.message)}function n(e){let n={id:(0,t.v4)(),timestamp:new Date().toISOString(),status:e.status||"success",proxy:e.proxy||null,level:e.level||"direct",levelId:e.levelId||null,provider:e.provider||null,targetUrl:e.targetUrl||null,publicIp:e.publicIp||null,latencyMs:e.latencyMs||0,error:e.error||null,connectionId:e.connectionId||null,comboId:e.comboId||null,account:e.account||null,tlsFingerprint:e.tlsFingerprint||!1};if(a.unshift(n),a.length>i&&(a.length=i),o)try{let e=(0,r.getDbInstance)();e.prepare(`INSERT INTO proxy_logs (id, timestamp, status, proxy_type, proxy_host, proxy_port,
3
3
  level, level_id, provider, target_url, public_ip, latency_ms, error,
4
4
  connection_id, combo_id, account, tls_fingerprint)
5
5
  VALUES (@id, @timestamp, @status, @proxyType, @proxyHost, @proxyPort,
6
6
  @level, @levelId, @provider, @targetUrl, @publicIp, @latencyMs, @error,
7
7
  @connectionId, @comboId, @account, @tlsFingerprint)`).run({id:n.id,timestamp:n.timestamp,status:n.status,proxyType:n.proxy?.type||null,proxyHost:n.proxy?.host||null,proxyPort:n.proxy?.port?Number(n.proxy.port):null,level:n.level,levelId:n.levelId,provider:n.provider,targetUrl:n.targetUrl,publicIp:n.publicIp,latencyMs:n.latencyMs,error:n.error,connectionId:n.connectionId,comboId:n.comboId,account:n.account,tlsFingerprint:+!!n.tlsFingerprint});let t=e.prepare("SELECT COUNT(*) as cnt FROM proxy_logs").get()?.cnt||0;t>i&&e.prepare(`DELETE FROM proxy_logs WHERE id IN (
8
8
  SELECT id FROM proxy_logs ORDER BY timestamp ASC LIMIT ?
9
- )`).run(t-i)}catch(e){console.warn("[proxyLogger] Failed to persist:",e.message)}return n}function s(e={}){let t=[...a];if(e.status&&(t="ok"===e.status?t.filter(e=>"success"===e.status):t.filter(t=>t.status===e.status)),e.type&&(t=t.filter(t=>t.proxy?.type===e.type)),e.provider&&(t=t.filter(t=>t.provider===e.provider)),e.level&&(t=t.filter(t=>t.level===e.level)),e.search){let r=e.search.toLowerCase();t=t.filter(e=>(e.proxy?.host||"").toLowerCase().includes(r)||(e.provider||"").toLowerCase().includes(r)||(e.targetUrl||"").toLowerCase().includes(r)||(e.publicIp||"").toLowerCase().includes(r)||(e.level||"").toLowerCase().includes(r)||(e.error||"").toLowerCase().includes(r)||(e.account||"").toLowerCase().includes(r))}let r=e.limit||300;return t.slice(0,r)}function l(){if(a.length=0,o)try{(0,r.getDbInstance)().prepare("DELETE FROM proxy_logs").run()}catch(e){console.warn("[proxyLogger] Failed to clear DB:",e.message)}}e.s(["clearProxyLogs",()=>l,"getProxyLogs",()=>s,"logProxyEvent",()=>n])},239394,e=>e.a(async(t,r)=>{try{var o=e.i(89171);e.i(180725);var i=e.i(385498),a=e.i(963219),n=e.i(910660),s=e.i(676088),l=e.i(200392),c=t([a,n,s,l]);function d(e){return a.FREE_PROVIDERS[e]?"free":a.OAUTH_PROVIDERS[e]?"oauth":a.APIKEY_PROVIDERS[e]?"apikey":"string"==typeof e&&(e.startsWith(a.OPENAI_COMPATIBLE_PREFIX)||e.startsWith(a.ANTHROPIC_COMPATIBLE_PREFIX))?"compatible":"apikey"}async function u(e){let t;try{t=await e.json()}catch{return o.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,l.validateBody)(s.providersBatchTestSchema,t);if((0,l.isValidationFailure)(e))return o.NextResponse.json({error:e.error},{status:400});let{mode:r,providerId:c}=e.data,u=await (0,i.getProviderConnections)({isActive:!0}),p=[];if("provider"===r&&c)p=u.filter(e=>e.provider===c);else if("oauth"===r)p=u.filter(e=>"oauth"===d(e.provider));else if("free"===r)p=u.filter(e=>"free"===d(e.provider));else if("apikey"===r)p=u.filter(e=>"apikey"===d(e.provider));else if("compatible"===r)p=u.filter(e=>{var t;return t=e.provider,"string"==typeof t&&(t.startsWith(a.OPENAI_COMPATIBLE_PREFIX)||t.startsWith(a.ANTHROPIC_COMPATIBLE_PREFIX))});else{if("all"!==r)return o.NextResponse.json({error:"Invalid mode. Use: provider, oauth, free, apikey, compatible, all"},{status:400});p=u}if(0===p.length)return o.NextResponse.json({mode:r,providerId:c||null,results:[],testedAt:new Date().toISOString()});let m=[];for(let e of p)try{let t=await (0,n.testSingleConnection)(e.id);m.push({provider:e.provider,connectionId:e.id,connectionName:e.name||e.email||e.provider,authType:e.authType||d(e.provider),valid:t.valid,latencyMs:t.latencyMs||0,error:t.error||null,diagnosis:t.diagnosis||null,statusCode:t.statusCode||null,testedAt:t.testedAt||new Date().toISOString()})}catch(t){m.push({provider:e.provider,connectionId:e.id,connectionName:e.name||e.email||e.provider,authType:e.authType||d(e.provider),valid:!1,latencyMs:0,error:t.message,diagnosis:{type:"network_error",source:"local",code:null,message:t.message},statusCode:null,testedAt:new Date().toISOString()})}return o.NextResponse.json({mode:r,providerId:c||null,results:m,testedAt:new Date().toISOString(),summary:{total:m.length,passed:m.filter(e=>e.valid).length,failed:m.filter(e=>!e.valid).length}})}catch(e){return console.log("Error in batch test:",e),o.NextResponse.json({error:"Batch test failed"},{status:500})}}[a,n,s,l]=c.then?(await c)():c,e.s(["POST",()=>u]),r()}catch(e){r(e)}},!1),613089,e=>e.a(async(t,r)=>{try{var o=e.i(747909),i=e.i(174017),a=e.i(996250),n=e.i(759756),s=e.i(561916),l=e.i(174677),c=e.i(869741),d=e.i(316795),u=e.i(487718),p=e.i(995169),m=e.i(47587),h=e.i(666012),g=e.i(570101),f=e.i(626937),y=e.i(10372),x=e.i(193695);e.i(52474);var v=e.i(600220),_=e.i(239394),I=t([_]);[_]=I.then?(await I)():I;let w=new o.AppRouteRouteModule({definition:{kind:i.RouteKind.APP_ROUTE,page:"/api/providers/test-batch/route",pathname:"/api/providers/test-batch",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/providers/test-batch/route.ts",nextConfigOutput:"standalone",userland:_}),{workAsyncStorage:A,workUnitAsyncStorage:R,serverHooks:C}=w;function b(){return(0,a.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:R})}async function E(e,t,r){w.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let o="/api/providers/test-batch/route";o=o.replace(/\/index$/,"")||"/";let a=await w.prepare(e,t,{srcPage:o,multiZoneDraftMode:!1});if(!a)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:_,params:I,nextConfig:b,parsedUrl:E,isDraftMode:A,prerenderManifest:R,routerServerContext:C,isOnDemandRevalidate:T,revalidateOnlyGenerated:O,resolvedPathname:S,clientReferenceManifest:k,serverActionsManifest:P}=a,F=(0,c.normalizeAppPath)(o),D=!!(R.dynamicRoutes[F]||R.routes[S]),L=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,E,!1):t.end("This page could not be found"),null);if(D&&!A){let e=!!R.routes[S],t=R.dynamicRoutes[F];if(t&&!1===t.fallback&&!e){if(b.experimental.adapterPath)return await L();throw new x.NoFallbackError}}let N=null;!D||w.isDev||A||(N=S,N="/index"===N?"/":N);let B=!0===w.isDev||!D,M=D&&!B;P&&k&&(0,l.setManifestsSingleton)({page:o,clientReferenceManifest:k,serverActionsManifest:P});let q=e.method||"GET",U=(0,s.getTracer)(),j=U.getActiveScopeSpan(),H={params:I,prerenderManifest:R,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:B,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:b.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,o,i)=>w.onRequestError(e,t,o,i,C)},sharedContext:{buildId:_}},K=new d.NodeNextRequest(e),$=new d.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(K,(0,u.signalFromNodeResponse)(t));try{let a=async e=>w.handle(V,H).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==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 i=r.get("next.route");if(i){let t=`${q} ${i}`;e.setAttributes({"next.route":i,"http.route":i,"next.span_name":t}),e.updateName(t)}else e.updateName(`${q} ${o}`)}),l=!!(0,n.getRequestMeta)(e,"minimalMode"),c=async n=>{var s,c;let d=async({previousCacheEntry:i})=>{try{if(!l&&T&&O&&!i)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await a(n);e.fetchMetrics=H.renderOpts.fetchMetrics;let s=H.renderOpts.pendingWaitUntil;s&&r.waitUntil&&(r.waitUntil(s),s=void 0);let c=H.renderOpts.collectedTags;if(!D)return await (0,h.sendResponse)(K,$,o,H.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,g.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!==H.renderOpts.collectedRevalidate&&!(H.renderOpts.collectedRevalidate>=y.INFINITE_CACHE)&&H.renderOpts.collectedRevalidate,i=void 0===H.renderOpts.collectedExpire||H.renderOpts.collectedExpire>=y.INFINITE_CACHE?void 0:H.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:i}}}}catch(t){throw(null==i?void 0:i.isStale)&&await w.onRequestError(e,t,{routerKind:"App Router",routePath:o,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:T})},!1,C),t}},u=await w.handleResponse({req:e,nextConfig:b,cacheKey:N,routeKind:i.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:R,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:O,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:l});if(!D)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(c=u.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",T?"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,g.fromNodeOutgoingHttpHeaders)(u.value.headers);return l&&D||p.delete(y.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,h.sendResponse)(K,$,new Response(u.value.body,{headers:p,status:u.value.status||200})),null};j?await c(j):await U.withPropagatedContext(e.headers,()=>U.trace(p.BaseServerSpan.handleRequest,{spanName:`${q} ${o}`,kind:s.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},c))}catch(t){if(t instanceof x.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:F,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:T})},!1,C),D)throw t;return await (0,h.sendResponse)(K,$,new Response(null,{status:500})),null}}e.s(["handler",()=>E,"patchFetch",()=>b,"routeModule",()=>w,"serverHooks",()=>C,"workAsyncStorage",()=>A,"workUnitAsyncStorage",()=>R]),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)))},485685,e=>{e.v(e=>Promise.resolve().then(()=>e(254799)))},605589,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_localDb_ts_83220848._.js"].map(t=>e.l(t))).then(()=>t(969738)))}];
9
+ )`).run(t-i)}catch(e){console.warn("[proxyLogger] Failed to persist:",e.message)}return n}function s(e={}){let t=[...a];if(e.status&&(t="ok"===e.status?t.filter(e=>"success"===e.status):t.filter(t=>t.status===e.status)),e.type&&(t=t.filter(t=>t.proxy?.type===e.type)),e.provider&&(t=t.filter(t=>t.provider===e.provider)),e.level&&(t=t.filter(t=>t.level===e.level)),e.search){let r=e.search.toLowerCase();t=t.filter(e=>(e.proxy?.host||"").toLowerCase().includes(r)||(e.provider||"").toLowerCase().includes(r)||(e.targetUrl||"").toLowerCase().includes(r)||(e.publicIp||"").toLowerCase().includes(r)||(e.level||"").toLowerCase().includes(r)||(e.error||"").toLowerCase().includes(r)||(e.account||"").toLowerCase().includes(r))}let r=e.limit||300;return t.slice(0,r)}function l(){if(a.length=0,o)try{(0,r.getDbInstance)().prepare("DELETE FROM proxy_logs").run()}catch(e){console.warn("[proxyLogger] Failed to clear DB:",e.message)}}e.s(["clearProxyLogs",()=>l,"getProxyLogs",()=>s,"logProxyEvent",()=>n])},239394,e=>e.a(async(t,r)=>{try{var o=e.i(89171);e.i(180725);var i=e.i(385498),a=e.i(963219),n=e.i(910660),s=e.i(676088),l=e.i(200392),c=t([a,n,s,l]);function d(e){return a.FREE_PROVIDERS[e]?"free":a.OAUTH_PROVIDERS[e]?"oauth":a.APIKEY_PROVIDERS[e]?"apikey":"string"==typeof e&&(e.startsWith(a.OPENAI_COMPATIBLE_PREFIX)||e.startsWith(a.ANTHROPIC_COMPATIBLE_PREFIX))?"compatible":"apikey"}async function u(e){let t;try{t=await e.json()}catch{return o.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,l.validateBody)(s.providersBatchTestSchema,t);if((0,l.isValidationFailure)(e))return o.NextResponse.json({error:e.error},{status:400});let{mode:r,providerId:c}=e.data,u=await (0,i.getProviderConnections)({isActive:!0}),p=[];if("provider"===r&&c)p=u.filter(e=>e.provider===c);else if("oauth"===r)p=u.filter(e=>"oauth"===d(e.provider));else if("free"===r)p=u.filter(e=>"free"===d(e.provider));else if("apikey"===r)p=u.filter(e=>"apikey"===d(e.provider));else if("compatible"===r)p=u.filter(e=>{var t;return t=e.provider,"string"==typeof t&&(t.startsWith(a.OPENAI_COMPATIBLE_PREFIX)||t.startsWith(a.ANTHROPIC_COMPATIBLE_PREFIX))});else{if("all"!==r)return o.NextResponse.json({error:"Invalid mode. Use: provider, oauth, free, apikey, compatible, all"},{status:400});p=u}if(0===p.length)return o.NextResponse.json({mode:r,providerId:c||null,results:[],testedAt:new Date().toISOString()});let m=[];for(let e of p)try{let t=await (0,n.testSingleConnection)(e.id);m.push({provider:e.provider,connectionId:e.id,connectionName:e.name||e.email||e.provider,authType:e.authType||d(e.provider),valid:t.valid,latencyMs:t.latencyMs||0,error:t.error||null,diagnosis:t.diagnosis||null,statusCode:t.statusCode||null,testedAt:t.testedAt||new Date().toISOString()})}catch(t){m.push({provider:e.provider,connectionId:e.id,connectionName:e.name||e.email||e.provider,authType:e.authType||d(e.provider),valid:!1,latencyMs:0,error:t.message,diagnosis:{type:"network_error",source:"local",code:null,message:t.message},statusCode:null,testedAt:new Date().toISOString()})}return o.NextResponse.json({mode:r,providerId:c||null,results:m,testedAt:new Date().toISOString(),summary:{total:m.length,passed:m.filter(e=>e.valid).length,failed:m.filter(e=>!e.valid).length}})}catch(e){return console.log("Error in batch test:",e),o.NextResponse.json({error:"Batch test failed"},{status:500})}}[a,n,s,l]=c.then?(await c)():c,e.s(["POST",()=>u]),r()}catch(e){r(e)}},!1),613089,e=>e.a(async(t,r)=>{try{var o=e.i(747909),i=e.i(174017),a=e.i(996250),n=e.i(759756),s=e.i(561916),l=e.i(174677),c=e.i(869741),d=e.i(316795),u=e.i(487718),p=e.i(995169),m=e.i(47587),h=e.i(666012),g=e.i(570101),f=e.i(626937),y=e.i(10372),x=e.i(193695);e.i(52474);var v=e.i(600220),_=e.i(239394),I=t([_]);[_]=I.then?(await I)():I;let A=new o.AppRouteRouteModule({definition:{kind:i.RouteKind.APP_ROUTE,page:"/api/providers/test-batch/route",pathname:"/api/providers/test-batch",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/providers/test-batch/route.ts",nextConfigOutput:"standalone",userland:_}),{workAsyncStorage:w,workUnitAsyncStorage:R,serverHooks:C}=A;function b(){return(0,a.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:R})}async function E(e,t,r){A.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let o="/api/providers/test-batch/route";o=o.replace(/\/index$/,"")||"/";let a=await A.prepare(e,t,{srcPage:o,multiZoneDraftMode:!1});if(!a)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:_,params:I,nextConfig:b,parsedUrl:E,isDraftMode:w,prerenderManifest:R,routerServerContext:C,isOnDemandRevalidate:T,revalidateOnlyGenerated:O,resolvedPathname:S,clientReferenceManifest:k,serverActionsManifest:P}=a,F=(0,c.normalizeAppPath)(o),D=!!(R.dynamicRoutes[F]||R.routes[S]),L=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,E,!1):t.end("This page could not be found"),null);if(D&&!w){let e=!!R.routes[S],t=R.dynamicRoutes[F];if(t&&!1===t.fallback&&!e){if(b.experimental.adapterPath)return await L();throw new x.NoFallbackError}}let N=null;!D||A.isDev||w||(N=S,N="/index"===N?"/":N);let B=!0===A.isDev||!D,M=D&&!B;P&&k&&(0,l.setManifestsSingleton)({page:o,clientReferenceManifest:k,serverActionsManifest:P});let q=e.method||"GET",U=(0,s.getTracer)(),j=U.getActiveScopeSpan(),H={params:I,prerenderManifest:R,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:B,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:b.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,o,i)=>A.onRequestError(e,t,o,i,C)},sharedContext:{buildId:_}},K=new d.NodeNextRequest(e),$=new d.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(K,(0,u.signalFromNodeResponse)(t));try{let a=async e=>A.handle(G,H).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==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 i=r.get("next.route");if(i){let t=`${q} ${i}`;e.setAttributes({"next.route":i,"http.route":i,"next.span_name":t}),e.updateName(t)}else e.updateName(`${q} ${o}`)}),l=!!(0,n.getRequestMeta)(e,"minimalMode"),c=async n=>{var s,c;let d=async({previousCacheEntry:i})=>{try{if(!l&&T&&O&&!i)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await a(n);e.fetchMetrics=H.renderOpts.fetchMetrics;let s=H.renderOpts.pendingWaitUntil;s&&r.waitUntil&&(r.waitUntil(s),s=void 0);let c=H.renderOpts.collectedTags;if(!D)return await (0,h.sendResponse)(K,$,o,H.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,g.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!==H.renderOpts.collectedRevalidate&&!(H.renderOpts.collectedRevalidate>=y.INFINITE_CACHE)&&H.renderOpts.collectedRevalidate,i=void 0===H.renderOpts.collectedExpire||H.renderOpts.collectedExpire>=y.INFINITE_CACHE?void 0:H.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:i}}}}catch(t){throw(null==i?void 0:i.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:o,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:T})},!1,C),t}},u=await A.handleResponse({req:e,nextConfig:b,cacheKey:N,routeKind:i.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:R,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:O,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:l});if(!D)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(c=u.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",T?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),w&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,g.fromNodeOutgoingHttpHeaders)(u.value.headers);return l&&D||p.delete(y.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,h.sendResponse)(K,$,new Response(u.value.body,{headers:p,status:u.value.status||200})),null};j?await c(j):await U.withPropagatedContext(e.headers,()=>U.trace(p.BaseServerSpan.handleRequest,{spanName:`${q} ${o}`,kind:s.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},c))}catch(t){if(t instanceof x.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:F,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:T})},!1,C),D)throw t;return await (0,h.sendResponse)(K,$,new Response(null,{status:500})),null}}e.s(["handler",()=>E,"patchFetch",()=>b,"routeModule",()=>A,"serverHooks",()=>C,"workAsyncStorage",()=>w,"workUnitAsyncStorage",()=>R]),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)))},485685,e=>{e.v(e=>Promise.resolve().then(()=>e(254799)))},605589,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_localDb_ts_83220848._.js"].map(t=>e.l(t))).then(()=>t(969738)))}];
10
10
 
11
11
  //# sourceMappingURL=%5Broot-of-the-server%5D__f31b4656._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[677850,e=>e.a(async(t,i)=>{try{let t=await e.y("zod");e.n(t),i()}catch(e){i(e)}},!0),918622,(e,t,i)=>{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,i)=>{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,i)=>{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"))},270406,(e,t,i)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,i)=>{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,i)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,i)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,i)=>{"use strict";var o=Object.defineProperty,a=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,s={},l={RequestCookies:()=>g,ResponseCookies:()=>b,parseCookie:()=>p,parseSetCookie:()=>u,stringifyCookie:()=>d};for(var c in l)o(s,c,{get:l[c],enumerable:!0});function d(e){var t;let i=["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),o=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===i.length?o:`${o}; ${i.join("; ")}`}function p(e){let t=new Map;for(let i of e.split(/; */)){if(!i)continue;let e=i.indexOf("=");if(-1===e){t.set(i,"true");continue}let[o,a]=[i.slice(0,e),i.slice(e+1)];try{t.set(o,decodeURIComponent(null!=a?a:"true"))}catch{}}return t}function u(e){if(!e)return;let[[t,i],...o]=p(e),{domain:a,expires:r,httponly:n,maxage:s,path:l,samesite:c,secure:d,partitioned:u,priority:g}=Object.fromEntries(o.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var b,x,f={name:t,value:decodeURIComponent(i),domain:a,...r&&{expires:new Date(r)},...n&&{httpOnly:!0},..."string"==typeof s&&{maxAge:Number(s)},path:l,...c&&{sameSite:m.includes(b=(b=c).toLowerCase())?b:void 0},...d&&{secure:!0},...g&&{priority:h.includes(x=(x=g).toLowerCase())?x:void 0},...u&&{partitioned:!0}};let e={};for(let t in f)f[t]&&(e[t]=f[t]);return e}}t.exports=((e,t,i,s)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of r(t))n.call(e,i)||void 0===i||o(e,i,{get:()=>t[i],enumerable:!(s=a(t,i))||s.enumerable});return e})(o({},"__esModule",{value:!0}),s);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,i]of p(t))this._parsed.set(e,{name:e,value:i})}[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 i=Array.from(this._parsed);if(!e.length)return i.map(([e,t])=>t);let o="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return i.filter(([e])=>e===o).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,i]=1===e.length?[e[0].name,e[0].value]:e,o=this._parsed;return o.set(t,{name:t,value:i}),this._headers.set("cookie",Array.from(o).map(([e,t])=>d(t)).join("; ")),this}delete(e){let t=this._parsed,i=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("; ")),i}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("; ")}},b=class{constructor(e){var t,i,o;this._parsed=new Map,this._headers=e;const a=null!=(o=null!=(i=null==(t=e.getSetCookie)?void 0:t.call(e))?i:e.get("set-cookie"))?o:[];for(const e of Array.isArray(a)?a:function(e){if(!e)return[];var t,i,o,a,r,n=[],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,r=!1;l();)if(","===(i=e.charAt(s))){for(o=s,s+=1,l(),a=s;s<e.length&&"="!==(i=e.charAt(s))&&";"!==i&&","!==i;)s+=1;s<e.length&&"="===e.charAt(s)?(r=!0,s=a,n.push(e.substring(t,o)),t=s):s=o+1}else s+=1;(!r||s>=e.length)&&n.push(e.substring(t,e.length))}return n}(a)){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 i=Array.from(this._parsed.values());if(!e.length)return i;let o="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return i.filter(e=>e.name===o)}has(e){return this._parsed.has(e)}set(...e){let[t,i,o]=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:i,...o})),function(e,t){for(let[,i]of(t.delete("set-cookie"),e)){let e=d(i);t.append("set-cookie",e)}}(a,this._headers),this}delete(...e){let[t,i]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...i,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("; ")}}},878947,e=>{"use strict";var t=e.i(828059);let i=(0,t.generateModels)(),o=(0,t.generateAliasMap)();function a(e){return i[e]||[]}function r(e){let t=i[e];return t?.[0]?.id||null}function n(e,t,o=new Set){if(o.has(e))return!0;let a=i[e];return!!a&&a.some(e=>e.id===t)}function s(e,t){let o=i[e];if(!o)return t;let a=o.find(e=>e.id===t);return a?.name||t}function l(e,t){let o=i[e];if(!o)return null;let a=o.find(e=>e.id===t);return a?.targetFormat||null}function c(e){return i[o[e]||e]||[]}e.s(["PROVIDER_ID_TO_ALIAS",0,o,"PROVIDER_MODELS",0,i,"findModelName",()=>s,"getDefaultModel",()=>r,"getModelTargetFormat",()=>l,"getModelsByProviderId",()=>c,"getProviderModels",()=>a,"isValidModel",()=>n])},224010,e=>{"use strict";let t=process.env.CORS_ORIGIN||"*";e.s(["CORS_HEADERS",0,{"Access-Control-Allow-Origin":t,"Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, OPTIONS","Access-Control-Allow-Headers":"Content-Type, Authorization, x-api-key, anthropic-version"},"CORS_ORIGIN",0,t])},102835,e=>e.a(async(t,i)=>{try{var o=e.i(677850),a=t([o]);[o]=a.then?(await a)():a;let n=o.z.object({id:o.z.string().min(1),alias:o.z.string().min(1),name:o.z.string().min(1),icon:o.z.string().min(1),color:o.z.string().regex(/^#[0-9A-Fa-f]{6}$/,"Must be a valid hex color (#RRGGBB)"),textIcon:o.z.string().optional(),website:o.z.string().url().optional(),passthroughModels:o.z.boolean().optional()}),s=o.z.record(o.z.string(),n);function r(e,t){let i=s.safeParse(e);if(!i.success){let e=i.error.issues.map(e=>` ${e.path.join(".")}: ${e.message}`).join("\n");throw console.error(`[PROVIDER VALIDATION] ${t} has invalid entries:
2
- ${e}`),Error(`Provider validation failed for ${t}`)}}e.s(["validateProviders",()=>r]),i()}catch(e){i(e)}},!1),963219,e=>e.a(async(t,i)=>{try{var o=e.i(102835),a=t([o]);[o]=a.then?(await a)():a;let s={iflow:{id:"iflow",alias:"if",name:"iFlow AI",icon:"water_drop",color:"#6366F1"},qwen:{id:"qwen",alias:"qw",name:"Qwen Code",icon:"psychology",color:"#10B981"},"gemini-cli":{id:"gemini-cli",alias:"gc",name:"Gemini CLI",icon:"terminal",color:"#4285F4"},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"}},c={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",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev"},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"},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 (GLM-5)",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-...)"}},d="openai-compatible-",p="anthropic-compatible-";function r(e){return"string"==typeof e&&e.startsWith(d)}function n(e){return"string"==typeof e&&e.startsWith(p)}let u={...s,...l,...c},m=Object.values(u).reduce((e,t)=>(e[t.alias]=t.id,e),{});Object.values(u).reduce((e,t)=>(e[t.id]=t.alias,e),{}),(0,o.validateProviders)(s,"FREE_PROVIDERS"),(0,o.validateProviders)(l,"OAUTH_PROVIDERS"),(0,o.validateProviders)(c,"APIKEY_PROVIDERS"),e.s(["AI_PROVIDERS",0,u,"ALIAS_TO_ID",0,m,"ANTHROPIC_COMPATIBLE_PREFIX",0,p,"APIKEY_PROVIDERS",0,c,"FREE_PROVIDERS",0,s,"OAUTH_PROVIDERS",0,l,"OPENAI_COMPATIBLE_PREFIX",0,d,"isAnthropicCompatibleProvider",()=>n,"isOpenAICompatibleProvider",()=>r]),i()}catch(e){i(e)}},!1),617325,e=>e.a(async(t,i)=>{try{var o=e.i(878947),a=e.i(963219),r=t([a]);[a]=r.then?(await r)():r,Object.entries(a.AI_PROVIDERS).filter(([,e])=>e.passthroughModels).map(([e])=>e);let n=Object.entries(o.PROVIDER_MODELS).flatMap(([e,t])=>t.map(t=>({provider:e,model:t.id,name:t.name})));e.s(["AI_MODELS",0,n]),i()}catch(e){i(e)}},!1),737748,e=>e.a(async(t,i)=>{try{var o=e.i(224010),a=e.i(617325),r=e.i(878947),n=t([a]);async function s(){return new Response(null,{headers:{"Access-Control-Allow-Origin":o.CORS_ORIGIN,"Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function l(){try{let e=[];for(let[t,i]of Object.entries(r.PROVIDER_MODELS))for(let o of i)e.push({name:`models/${t}/${o.id}`,displayName:o.name||o.id,description:`${t} model: ${o.name||o.id}`,supportedGenerationMethods:["generateContent"],inputTokenLimit:128e3,outputTokenLimit:8192});return Response.json({models:e})}catch(e){return console.log("Error fetching models:",e),Response.json({error:{message:e.message}},{status:500})}}[a]=n.then?(await n)():n,e.s(["GET",()=>l,"OPTIONS",()=>s]),i()}catch(e){i(e)}},!1),916308,e=>e.a(async(t,i)=>{try{var o=e.i(747909),a=e.i(174017),r=e.i(996250),n=e.i(759756),s=e.i(561916),l=e.i(174677),c=e.i(869741),d=e.i(316795),p=e.i(487718),u=e.i(995169),m=e.i(47587),h=e.i(666012),g=e.i(570101),b=e.i(626937),x=e.i(10372),f=e.i(193695);e.i(52474);var y=e.i(600220),w=e.i(737748),v=t([w]);[w]=v.then?(await v)():v;let R=new o.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/v1beta/models/route",pathname:"/api/v1beta/models",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/v1beta/models/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:C,workUnitAsyncStorage:E,serverHooks:_}=R;function A(){return(0,r.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:E})}async function I(e,t,i){R.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let o="/api/v1beta/models/route";o=o.replace(/\/index$/,"")||"/";let r=await R.prepare(e,t,{srcPage:o,multiZoneDraftMode:!1});if(!r)return t.statusCode=400,t.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve()),null;let{buildId:w,params:v,nextConfig:A,parsedUrl:I,isDraftMode:C,prerenderManifest:E,routerServerContext:_,isOnDemandRevalidate:O,revalidateOnlyGenerated:F,resolvedPathname:P,clientReferenceManifest:k,serverActionsManifest:S}=r,D=(0,c.normalizeAppPath)(o),M=!!(E.dynamicRoutes[D]||E.routes[P]),T=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,I,!1):t.end("This page could not be found"),null);if(M&&!C){let e=!!E.routes[P],t=E.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(A.experimental.adapterPath)return await T();throw new f.NoFallbackError}}let N=null;!M||R.isDev||C||(N=P,N="/index"===N?"/":N);let B=!0===R.isDev||!M,j=M&&!B;S&&k&&(0,l.setManifestsSingleton)({page:o,clientReferenceManifest:k,serverActionsManifest:S});let H=e.method||"GET",$=(0,s.getTracer)(),q=$.getActiveScopeSpan(),L={params:v,prerenderManifest:E,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:B,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:A.cacheLife,waitUntil:i.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,i,o,a)=>R.onRequestError(e,t,o,a,_)},sharedContext:{buildId:w}},U=new d.NodeNextRequest(e),G=new d.NodeNextResponse(t),K=p.NextRequestAdapter.fromNodeNextRequest(U,(0,p.signalFromNodeResponse)(t));try{let r=async e=>R.handle(K,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let i=$.getRootSpanAttributes();if(!i)return;if(i.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${i.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=i.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} ${o}`)}),l=!!(0,n.getRequestMeta)(e,"minimalMode"),c=async n=>{var s,c;let d=async({previousCacheEntry:a})=>{try{if(!l&&O&&F&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await r(n);e.fetchMetrics=L.renderOpts.fetchMetrics;let s=L.renderOpts.pendingWaitUntil;s&&i.waitUntil&&(i.waitUntil(s),s=void 0);let c=L.renderOpts.collectedTags;if(!M)return await (0,h.sendResponse)(U,G,o,L.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(o.headers);c&&(t[x.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let i=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,a=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:i,expire:a}}}}catch(t){throw(null==a?void 0:a.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:o,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:O})},!1,_),t}},p=await R.handleResponse({req:e,nextConfig:A,cacheKey:N,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:F,responseGenerator:d,waitUntil:i.waitUntil,isMinimalMode:l});if(!M)return null;if((null==p||null==(s=p.value)?void 0:s.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(c=p.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",O?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,g.fromNodeOutgoingHttpHeaders)(p.value.headers);return l&&M||u.delete(x.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,b.getCacheControlHeader)(p.cacheControl)),await (0,h.sendResponse)(U,G,new Response(p.value.body,{headers:u,status:p.value.status||200})),null};q?await c(q):await $.withPropagatedContext(e.headers,()=>$.trace(u.BaseServerSpan.handleRequest,{spanName:`${H} ${o}`,kind:s.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},c))}catch(t){if(t instanceof f.NoFallbackError||await R.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:O})},!1,_),M)throw t;return await (0,h.sendResponse)(U,G,new Response(null,{status:500})),null}}e.s(["handler",()=>I,"patchFetch",()=>A,"routeModule",()=>R,"serverHooks",()=>_,"workAsyncStorage",()=>C,"workUnitAsyncStorage",()=>E]),i()}catch(e){i(e)}},!1)];
1
+ module.exports=[677850,e=>e.a(async(t,i)=>{try{let t=await e.y("zod");e.n(t),i()}catch(e){i(e)}},!0),918622,(e,t,i)=>{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,i)=>{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,i)=>{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"))},270406,(e,t,i)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,i)=>{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,i)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,i)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,i)=>{"use strict";var o=Object.defineProperty,a=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,s={},l={RequestCookies:()=>g,ResponseCookies:()=>b,parseCookie:()=>p,parseSetCookie:()=>u,stringifyCookie:()=>d};for(var c in l)o(s,c,{get:l[c],enumerable:!0});function d(e){var t;let i=["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),o=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===i.length?o:`${o}; ${i.join("; ")}`}function p(e){let t=new Map;for(let i of e.split(/; */)){if(!i)continue;let e=i.indexOf("=");if(-1===e){t.set(i,"true");continue}let[o,a]=[i.slice(0,e),i.slice(e+1)];try{t.set(o,decodeURIComponent(null!=a?a:"true"))}catch{}}return t}function u(e){if(!e)return;let[[t,i],...o]=p(e),{domain:a,expires:r,httponly:n,maxage:s,path:l,samesite:c,secure:d,partitioned:u,priority:g}=Object.fromEntries(o.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var b,x,f={name:t,value:decodeURIComponent(i),domain:a,...r&&{expires:new Date(r)},...n&&{httpOnly:!0},..."string"==typeof s&&{maxAge:Number(s)},path:l,...c&&{sameSite:m.includes(b=(b=c).toLowerCase())?b:void 0},...d&&{secure:!0},...g&&{priority:h.includes(x=(x=g).toLowerCase())?x:void 0},...u&&{partitioned:!0}};let e={};for(let t in f)f[t]&&(e[t]=f[t]);return e}}t.exports=((e,t,i,s)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of r(t))n.call(e,i)||void 0===i||o(e,i,{get:()=>t[i],enumerable:!(s=a(t,i))||s.enumerable});return e})(o({},"__esModule",{value:!0}),s);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,i]of p(t))this._parsed.set(e,{name:e,value:i})}[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 i=Array.from(this._parsed);if(!e.length)return i.map(([e,t])=>t);let o="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return i.filter(([e])=>e===o).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,i]=1===e.length?[e[0].name,e[0].value]:e,o=this._parsed;return o.set(t,{name:t,value:i}),this._headers.set("cookie",Array.from(o).map(([e,t])=>d(t)).join("; ")),this}delete(e){let t=this._parsed,i=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("; ")),i}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("; ")}},b=class{constructor(e){var t,i,o;this._parsed=new Map,this._headers=e;const a=null!=(o=null!=(i=null==(t=e.getSetCookie)?void 0:t.call(e))?i:e.get("set-cookie"))?o:[];for(const e of Array.isArray(a)?a:function(e){if(!e)return[];var t,i,o,a,r,n=[],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,r=!1;l();)if(","===(i=e.charAt(s))){for(o=s,s+=1,l(),a=s;s<e.length&&"="!==(i=e.charAt(s))&&";"!==i&&","!==i;)s+=1;s<e.length&&"="===e.charAt(s)?(r=!0,s=a,n.push(e.substring(t,o)),t=s):s=o+1}else s+=1;(!r||s>=e.length)&&n.push(e.substring(t,e.length))}return n}(a)){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 i=Array.from(this._parsed.values());if(!e.length)return i;let o="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return i.filter(e=>e.name===o)}has(e){return this._parsed.has(e)}set(...e){let[t,i,o]=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:i,...o})),function(e,t){for(let[,i]of(t.delete("set-cookie"),e)){let e=d(i);t.append("set-cookie",e)}}(a,this._headers),this}delete(...e){let[t,i]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...i,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("; ")}}},878947,e=>{"use strict";var t=e.i(828059);let i=(0,t.generateModels)(),o=(0,t.generateAliasMap)();function a(e){return i[e]||[]}function r(e){let t=i[e];return t?.[0]?.id||null}function n(e,t,o=new Set){if(o.has(e))return!0;let a=i[e];return!!a&&a.some(e=>e.id===t)}function s(e,t){let o=i[e];if(!o)return t;let a=o.find(e=>e.id===t);return a?.name||t}function l(e,t){let o=i[e];if(!o)return null;let a=o.find(e=>e.id===t);return a?.targetFormat||null}function c(e){return i[o[e]||e]||[]}e.s(["PROVIDER_ID_TO_ALIAS",0,o,"PROVIDER_MODELS",0,i,"findModelName",()=>s,"getDefaultModel",()=>r,"getModelTargetFormat",()=>l,"getModelsByProviderId",()=>c,"getProviderModels",()=>a,"isValidModel",()=>n])},224010,e=>{"use strict";let t=process.env.CORS_ORIGIN||"*";e.s(["CORS_HEADERS",0,{"Access-Control-Allow-Origin":t,"Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, OPTIONS","Access-Control-Allow-Headers":"Content-Type, Authorization, x-api-key, anthropic-version"},"CORS_ORIGIN",0,t])},102835,e=>e.a(async(t,i)=>{try{var o=e.i(677850),a=t([o]);[o]=a.then?(await a)():a;let n=o.z.object({id:o.z.string().min(1),alias:o.z.string().min(1),name:o.z.string().min(1),icon:o.z.string().min(1),color:o.z.string().regex(/^#[0-9A-Fa-f]{6}$/,"Must be a valid hex color (#RRGGBB)"),textIcon:o.z.string().optional(),website:o.z.string().url().optional(),passthroughModels:o.z.boolean().optional(),deprecated:o.z.boolean().optional(),deprecationReason:o.z.string().optional(),hasFree:o.z.boolean().optional(),freeNote:o.z.string().optional(),authHint:o.z.string().optional(),apiHint:o.z.string().optional()}),s=o.z.record(o.z.string(),n);function r(e,t){let i=s.safeParse(e);if(!i.success){let e=i.error.issues.map(e=>` ${e.path.join(".")}: ${e.message}`).join("\n");throw console.error(`[PROVIDER VALIDATION] ${t} has invalid entries:
2
+ ${e}`),Error(`Provider validation failed for ${t}`)}}e.s(["validateProviders",()=>r]),i()}catch(e){i(e)}},!1),963219,e=>e.a(async(t,i)=>{try{var o=e.i(102835),a=t([o]);[o]=a.then?(await a)():a;let s={iflow:{id:"iflow",alias:"if",name:"iFlow AI",icon:"water_drop",color:"#6366F1"},qwen:{id:"qwen",alias:"qw",name:"Qwen Code",icon:"psychology",color:"#10B981"},"gemini-cli":{id:"gemini-cli",alias:"gc",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"}},c={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",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev"},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"},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 (GLM-5)",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-...)"}},d="openai-compatible-",p="anthropic-compatible-";function r(e){return"string"==typeof e&&e.startsWith(d)}function n(e){return"string"==typeof e&&e.startsWith(p)}let u={...s,...l,...c},m=Object.values(u).reduce((e,t)=>(e[t.alias]=t.id,e),{});Object.values(u).reduce((e,t)=>(e[t.id]=t.alias,e),{}),(0,o.validateProviders)(s,"FREE_PROVIDERS"),(0,o.validateProviders)(l,"OAUTH_PROVIDERS"),(0,o.validateProviders)(c,"APIKEY_PROVIDERS"),e.s(["AI_PROVIDERS",0,u,"ALIAS_TO_ID",0,m,"ANTHROPIC_COMPATIBLE_PREFIX",0,p,"APIKEY_PROVIDERS",0,c,"FREE_PROVIDERS",0,s,"OAUTH_PROVIDERS",0,l,"OPENAI_COMPATIBLE_PREFIX",0,d,"isAnthropicCompatibleProvider",()=>n,"isOpenAICompatibleProvider",()=>r]),i()}catch(e){i(e)}},!1),617325,e=>e.a(async(t,i)=>{try{var o=e.i(878947),a=e.i(963219),r=t([a]);[a]=r.then?(await r)():r,Object.entries(a.AI_PROVIDERS).filter(([,e])=>e.passthroughModels).map(([e])=>e);let n=Object.entries(o.PROVIDER_MODELS).flatMap(([e,t])=>t.map(t=>({provider:e,model:t.id,name:t.name})));e.s(["AI_MODELS",0,n]),i()}catch(e){i(e)}},!1),737748,e=>e.a(async(t,i)=>{try{var o=e.i(224010),a=e.i(617325),r=e.i(878947),n=t([a]);async function s(){return new Response(null,{headers:{"Access-Control-Allow-Origin":o.CORS_ORIGIN,"Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function l(){try{let e=[];for(let[t,i]of Object.entries(r.PROVIDER_MODELS))for(let o of i)e.push({name:`models/${t}/${o.id}`,displayName:o.name||o.id,description:`${t} model: ${o.name||o.id}`,supportedGenerationMethods:["generateContent"],inputTokenLimit:128e3,outputTokenLimit:8192});return Response.json({models:e})}catch(e){return console.log("Error fetching models:",e),Response.json({error:{message:e.message}},{status:500})}}[a]=n.then?(await n)():n,e.s(["GET",()=>l,"OPTIONS",()=>s]),i()}catch(e){i(e)}},!1),916308,e=>e.a(async(t,i)=>{try{var o=e.i(747909),a=e.i(174017),r=e.i(996250),n=e.i(759756),s=e.i(561916),l=e.i(174677),c=e.i(869741),d=e.i(316795),p=e.i(487718),u=e.i(995169),m=e.i(47587),h=e.i(666012),g=e.i(570101),b=e.i(626937),x=e.i(10372),f=e.i(193695);e.i(52474);var y=e.i(600220),w=e.i(737748),v=t([w]);[w]=v.then?(await v)():v;let R=new o.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/v1beta/models/route",pathname:"/api/v1beta/models",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/v1beta/models/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:C,workUnitAsyncStorage:E,serverHooks:_}=R;function A(){return(0,r.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:E})}async function I(e,t,i){R.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let o="/api/v1beta/models/route";o=o.replace(/\/index$/,"")||"/";let r=await R.prepare(e,t,{srcPage:o,multiZoneDraftMode:!1});if(!r)return t.statusCode=400,t.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve()),null;let{buildId:w,params:v,nextConfig:A,parsedUrl:I,isDraftMode:C,prerenderManifest:E,routerServerContext:_,isOnDemandRevalidate:O,revalidateOnlyGenerated:P,resolvedPathname:F,clientReferenceManifest:k,serverActionsManifest:S}=r,D=(0,c.normalizeAppPath)(o),M=!!(E.dynamicRoutes[D]||E.routes[F]),T=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,I,!1):t.end("This page could not be found"),null);if(M&&!C){let e=!!E.routes[F],t=E.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(A.experimental.adapterPath)return await T();throw new f.NoFallbackError}}let N=null;!M||R.isDev||C||(N=F,N="/index"===N?"/":N);let B=!0===R.isDev||!M,H=M&&!B;S&&k&&(0,l.setManifestsSingleton)({page:o,clientReferenceManifest:k,serverActionsManifest:S});let j=e.method||"GET",$=(0,s.getTracer)(),q=$.getActiveScopeSpan(),L={params:v,prerenderManifest:E,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:B,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:A.cacheLife,waitUntil:i.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,i,o,a)=>R.onRequestError(e,t,o,a,_)},sharedContext:{buildId:w}},G=new d.NodeNextRequest(e),U=new d.NodeNextResponse(t),z=p.NextRequestAdapter.fromNodeNextRequest(G,(0,p.signalFromNodeResponse)(t));try{let r=async e=>R.handle(z,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let i=$.getRootSpanAttributes();if(!i)return;if(i.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${i.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=i.get("next.route");if(a){let t=`${j} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${j} ${o}`)}),l=!!(0,n.getRequestMeta)(e,"minimalMode"),c=async n=>{var s,c;let d=async({previousCacheEntry:a})=>{try{if(!l&&O&&P&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await r(n);e.fetchMetrics=L.renderOpts.fetchMetrics;let s=L.renderOpts.pendingWaitUntil;s&&i.waitUntil&&(i.waitUntil(s),s=void 0);let c=L.renderOpts.collectedTags;if(!M)return await (0,h.sendResponse)(G,U,o,L.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(o.headers);c&&(t[x.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let i=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,a=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:i,expire:a}}}}catch(t){throw(null==a?void 0:a.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:o,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:O})},!1,_),t}},p=await R.handleResponse({req:e,nextConfig:A,cacheKey:N,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:P,responseGenerator:d,waitUntil:i.waitUntil,isMinimalMode:l});if(!M)return null;if((null==p||null==(s=p.value)?void 0:s.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(c=p.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",O?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,g.fromNodeOutgoingHttpHeaders)(p.value.headers);return l&&M||u.delete(x.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,b.getCacheControlHeader)(p.cacheControl)),await (0,h.sendResponse)(G,U,new Response(p.value.body,{headers:u,status:p.value.status||200})),null};q?await c(q):await $.withPropagatedContext(e.headers,()=>$.trace(u.BaseServerSpan.handleRequest,{spanName:`${j} ${o}`,kind:s.SpanKind.SERVER,attributes:{"http.method":j,"http.target":e.url}},c))}catch(t){if(t instanceof f.NoFallbackError||await R.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:O})},!1,_),M)throw t;return await (0,h.sendResponse)(G,U,new Response(null,{status:500})),null}}e.s(["handler",()=>I,"patchFetch",()=>A,"routeModule",()=>R,"serverHooks",()=>_,"workAsyncStorage",()=>C,"workUnitAsyncStorage",()=>E]),i()}catch(e){i(e)}},!1)];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__fad1679d._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[467388,e=>e.a(async(t,a)=>{try{var n=e.i(745015),r=e.i(89171),i=e.i(924868),o=e.i(814747),l=e.i(446786),s=e.i(266240),d=e.i(841788),u=e.i(197892),c=e.i(676088),p=e.i(200392),f=e.i(195975),h=t([c,p]);[c,p]=h.then?(await h)():h;let v=o.default.join(l.default.homedir(),".cline","data"),w=o.default.join(v,"globalState.json"),A=o.default.join(v,"secrets.json"),y=async()=>{try{let e=await i.default.readFile(w,"utf-8");return JSON.parse(e)}catch(e){if("ENOENT"===e.code)return null;throw e}},E=async()=>{try{let e=await i.default.readFile(A,"utf-8");return JSON.parse(e)}catch(e){if("ENOENT"===e.code)return{};throw e}};async function g(){try{let e=await (0,s.getCliRuntimeStatus)("cline");if(!e.installed||!e.runnable)return r.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:null,message:e.installed&&!e.runnable?"Cline CLI is installed but not runnable":"Cline CLI is not installed"});let t=await y();return await E(),r.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:{actModeApiProvider:t?.actModeApiProvider,planModeApiProvider:t?.planModeApiProvider,openAiBaseUrl:t?.openAiBaseUrl,openAiModelId:t?.openAiModelId,planModeOpenAiModelId:t?.planModeOpenAiModelId},hasOmniRoute:(e=>{if(!e)return!1;let t="openai"===e.actModeApiProvider||"openai"===e.planModeApiProvider,a=e.openAiBaseUrl||"";return t&&(a.includes("localhost")||a.includes("127.0.0.1")||a.includes("omniroute"))})(t),globalStatePath:w,secretsPath:A})}catch(e){return console.log("Error checking cline settings:",e),r.NextResponse.json({error:"Failed to check cline settings"},{status:500})}}async function R(e){let t;try{t=await e.json()}catch{return r.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,s.ensureCliConfigWriteAllowed)();if(e)return r.NextResponse.json({error:e},{status:403});let a=(0,p.validateBody)(c.cliModelConfigSchema,t);if((0,p.isValidationFailure)(a))return r.NextResponse.json({error:a.error},{status:400});let{baseUrl:n,apiKey:o,model:l}=a.data;await i.default.mkdir(v,{recursive:!0}),await (0,d.createBackup)("cline",w),await (0,d.createBackup)("cline",A);let f={};try{let e=await i.default.readFile(w,"utf-8");f=JSON.parse(e)}catch{}let h=n.endsWith("/v1")?n.slice(0,-3):n;f.actModeApiProvider="openai",f.planModeApiProvider="openai",f.openAiBaseUrl=h,f.openAiModelId=l,f.planModeOpenAiModelId=l,await i.default.writeFile(w,JSON.stringify(f,null,2));let g={};try{let e=await i.default.readFile(A,"utf-8");g=JSON.parse(e)}catch{}g.openAiApiKey=o||"sk_omniroute",await i.default.writeFile(A,JSON.stringify(g,null,2));try{(0,u.saveCliToolLastConfigured)("cline")}catch{}return r.NextResponse.json({success:!0,message:"Cline settings applied successfully!",globalStatePath:w})}catch(e){return console.log("Error updating cline settings:",e),r.NextResponse.json({error:"Failed to update cline settings"},{status:500})}}async function m(){try{let e=(0,s.ensureCliConfigWriteAllowed)();if(e)return r.NextResponse.json({error:e},{status:403});await (0,d.createBackup)("cline",w),await (0,d.createBackup)("cline",A);let t={};try{let e=await i.default.readFile(w,"utf-8");t=JSON.parse(e)}catch(e){if("ENOENT"===e.code)return r.NextResponse.json({success:!0,message:"No settings file to reset"});throw e}"openai"===t.actModeApiProvider&&(delete t.openAiBaseUrl,delete t.openAiModelId,delete t.planModeOpenAiModelId,t.actModeApiProvider="cline",t.planModeApiProvider="cline"),await i.default.writeFile(w,JSON.stringify(t,null,2));let a={};try{let e=await i.default.readFile(A,"utf-8");a=JSON.parse(e)}catch{}delete a.openAiApiKey,await i.default.writeFile(A,JSON.stringify(a,null,2));try{(0,u.deleteCliToolLastConfigured)("cline")}catch{}return r.NextResponse.json({success:!0,message:"OmniRoute settings removed from Cline"})}catch(e){return console.log("Error resetting cline settings:",e),r.NextResponse.json({error:"Failed to reset cline settings"},{status:500})}}(0,f.ensureServerEntryExports)([g,R,m]),(0,n.registerServerReference)(g,"0020f1574181f890f2d2717b01a8b23dad1e53fcc6",null),(0,n.registerServerReference)(R,"40e1cb0717e0785c15873854d01716093cf6653f98",null),(0,n.registerServerReference)(m,"00f73f23f91fbf89e3a5f0ef07314a0259cf5224a8",null),e.s(["DELETE",()=>m,"GET",()=>g,"POST",()=>R]),a()}catch(e){a(e)}},!1),169552,e=>e.a(async(t,a)=>{try{var n=e.i(747909),r=e.i(174017),i=e.i(996250),o=e.i(759756),l=e.i(561916),s=e.i(174677),d=e.i(869741),u=e.i(316795),c=e.i(487718),p=e.i(995169),f=e.i(47587),h=e.i(666012),g=e.i(570101),R=e.i(626937),m=e.i(10372),v=e.i(193695);e.i(52474);var w=e.i(600220),A=e.i(467388),y=t([A]);[A]=y.then?(await y)():y;let C=new n.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/cli-tools/cline-settings/route",pathname:"/api/cli-tools/cline-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/cline-settings/route.ts",nextConfigOutput:"standalone",userland:A}),{workAsyncStorage:x,workUnitAsyncStorage:O,serverHooks:P}=C;function E(){return(0,i.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:O})}async function N(e,t,a){C.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/cli-tools/cline-settings/route";n=n.replace(/\/index$/,"")||"/";let i=await C.prepare(e,t,{srcPage:n,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:A,params:y,nextConfig:E,parsedUrl:N,isDraftMode:x,prerenderManifest:O,routerServerContext:P,isOnDemandRevalidate:M,revalidateOnlyGenerated:S,resolvedPathname:b,clientReferenceManifest:T,serverActionsManifest:I}=i,j=(0,d.normalizeAppPath)(n),F=!!(O.dynamicRoutes[j]||O.routes[b]),k=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,N,!1):t.end("This page could not be found"),null);if(F&&!x){let e=!!O.routes[b],t=O.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await k();throw new v.NoFallbackError}}let U=null;!F||C.isDev||x||(U=b,U="/index"===U?"/":U);let _=!0===C.isDev||!F,H=F&&!_;I&&T&&(0,s.setManifestsSingleton)({page:n,clientReferenceManifest:T,serverActionsManifest:I});let q=e.method||"GET",B=(0,l.getTracer)(),D=B.getActiveScopeSpan(),J={params:y,prerenderManifest:O,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:_,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,n,r)=>C.onRequestError(e,t,n,r,P)},sharedContext:{buildId:A}},K=new u.NodeNextRequest(e),L=new u.NodeNextResponse(t),$=c.NextRequestAdapter.fromNodeNextRequest(K,(0,c.signalFromNodeResponse)(t));try{let i=async e=>C.handle($,J).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=B.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.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} ${n}`)}),s=!!(0,o.getRequestMeta)(e,"minimalMode"),d=async o=>{var l,d;let u=async({previousCacheEntry:r})=>{try{if(!s&&M&&S&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(o);e.fetchMetrics=J.renderOpts.fetchMetrics;let l=J.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=J.renderOpts.collectedTags;if(!F)return await (0,h.sendResponse)(K,L,n,J.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(n.headers);d&&(t[m.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,r=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:J.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:n,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:M})},!1,P),t}},c=await C.handleResponse({req:e,nextConfig:E,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:M,revalidateOnlyGenerated:S,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:s});if(!F)return null;if((null==c||null==(l=c.value)?void 0:l.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",M?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,g.fromNodeOutgoingHttpHeaders)(c.value.headers);return s&&F||p.delete(m.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,R.getCacheControlHeader)(c.cacheControl)),await (0,h.sendResponse)(K,L,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};D?await d(D):await B.withPropagatedContext(e.headers,()=>B.trace(p.BaseServerSpan.handleRequest,{spanName:`${q} ${n}`,kind:l.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},d))}catch(t){if(t instanceof v.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:M})},!1,P),F)throw t;return await (0,h.sendResponse)(K,L,new Response(null,{status:500})),null}}e.s(["handler",()=>N,"patchFetch",()=>E,"routeModule",()=>C,"serverHooks",()=>P,"workAsyncStorage",()=>x,"workUnitAsyncStorage",()=>O]),a()}catch(e){a(e)}},!1)];
1
+ module.exports=[467388,e=>e.a(async(t,a)=>{try{var n=e.i(745015),r=e.i(89171),i=e.i(924868),o=e.i(814747),l=e.i(446786),s=e.i(266240),d=e.i(841788),c=e.i(197892),u=e.i(676088),p=e.i(200392),f=e.i(195975),h=t([u,p]);[u,p]=h.then?(await h)():h;let v=o.default.join(l.default.homedir(),".cline","data"),w=o.default.join(v,"globalState.json"),A=o.default.join(v,"secrets.json"),y=async()=>{try{let e=await i.default.readFile(w,"utf-8");return JSON.parse(e)}catch(e){if("ENOENT"===e.code)return null;throw e}},E=async()=>{try{let e=await i.default.readFile(A,"utf-8");return JSON.parse(e)}catch(e){if("ENOENT"===e.code)return{};throw e}};async function g(){try{let e=await (0,s.getCliRuntimeStatus)("cline");if(!e.installed||!e.runnable)return r.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:null,message:e.installed&&!e.runnable?"Cline CLI is installed but not runnable":"Cline CLI is not installed"});let t=await y();return await E(),r.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:{actModeApiProvider:t?.actModeApiProvider,planModeApiProvider:t?.planModeApiProvider,openAiBaseUrl:t?.openAiBaseUrl,openAiModelId:t?.openAiModelId,planModeOpenAiModelId:t?.planModeOpenAiModelId},hasOmniRoute:(e=>{if(!e)return!1;let t="openai"===e.actModeApiProvider||"openai"===e.planModeApiProvider,a=e.openAiBaseUrl||"";return t&&(a.includes("localhost")||a.includes("127.0.0.1")||a.includes("omniroute"))})(t),globalStatePath:w,secretsPath:A})}catch(e){return console.log("Error checking cline settings:",e),r.NextResponse.json({error:"Failed to check cline settings"},{status:500})}}async function R(e){let t;try{t=await e.json()}catch{return r.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,s.ensureCliConfigWriteAllowed)();if(e)return r.NextResponse.json({error:e},{status:403});let a=(0,p.validateBody)(u.cliModelConfigSchema,t);if((0,p.isValidationFailure)(a))return r.NextResponse.json({error:a.error},{status:400});let{baseUrl:n,apiKey:o,model:l}=a.data;await i.default.mkdir(v,{recursive:!0}),await (0,d.createBackup)("cline",w),await (0,d.createBackup)("cline",A);let f={};try{let e=await i.default.readFile(w,"utf-8");f=JSON.parse(e)}catch{}let h=n.endsWith("/v1")?n.slice(0,-3):n;f.actModeApiProvider="openai",f.planModeApiProvider="openai",f.openAiBaseUrl=h,f.openAiModelId=l,f.planModeOpenAiModelId=l,await i.default.writeFile(w,JSON.stringify(f,null,2));let g={};try{let e=await i.default.readFile(A,"utf-8");g=JSON.parse(e)}catch{}g.openAiApiKey=o||"sk_omniroute",await i.default.writeFile(A,JSON.stringify(g,null,2));try{(0,c.saveCliToolLastConfigured)("cline")}catch{}return r.NextResponse.json({success:!0,message:"Cline settings applied successfully!",globalStatePath:w})}catch(e){return console.log("Error updating cline settings:",e),r.NextResponse.json({error:"Failed to update cline settings"},{status:500})}}async function m(){try{let e=(0,s.ensureCliConfigWriteAllowed)();if(e)return r.NextResponse.json({error:e},{status:403});await (0,d.createBackup)("cline",w),await (0,d.createBackup)("cline",A);let t={};try{let e=await i.default.readFile(w,"utf-8");t=JSON.parse(e)}catch(e){if("ENOENT"===e.code)return r.NextResponse.json({success:!0,message:"No settings file to reset"});throw e}"openai"===t.actModeApiProvider&&(delete t.openAiBaseUrl,delete t.openAiModelId,delete t.planModeOpenAiModelId,t.actModeApiProvider="cline",t.planModeApiProvider="cline"),await i.default.writeFile(w,JSON.stringify(t,null,2));let a={};try{let e=await i.default.readFile(A,"utf-8");a=JSON.parse(e)}catch{}delete a.openAiApiKey,await i.default.writeFile(A,JSON.stringify(a,null,2));try{(0,c.deleteCliToolLastConfigured)("cline")}catch{}return r.NextResponse.json({success:!0,message:"OmniRoute settings removed from Cline"})}catch(e){return console.log("Error resetting cline settings:",e),r.NextResponse.json({error:"Failed to reset cline settings"},{status:500})}}(0,f.ensureServerEntryExports)([g,R,m]),(0,n.registerServerReference)(g,"004e8bed18b461a5f157cc6437fbcaffe7c1737f72",null),(0,n.registerServerReference)(R,"405047ba645054da25c5f5016b9166950c146f4766",null),(0,n.registerServerReference)(m,"0032e6540000b1802be2a228b28b2f4349ab246cc5",null),e.s(["DELETE",()=>m,"GET",()=>g,"POST",()=>R]),a()}catch(e){a(e)}},!1),169552,e=>e.a(async(t,a)=>{try{var n=e.i(747909),r=e.i(174017),i=e.i(996250),o=e.i(759756),l=e.i(561916),s=e.i(174677),d=e.i(869741),c=e.i(316795),u=e.i(487718),p=e.i(995169),f=e.i(47587),h=e.i(666012),g=e.i(570101),R=e.i(626937),m=e.i(10372),v=e.i(193695);e.i(52474);var w=e.i(600220),A=e.i(467388),y=t([A]);[A]=y.then?(await y)():y;let C=new n.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/cli-tools/cline-settings/route",pathname:"/api/cli-tools/cline-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/cline-settings/route.ts",nextConfigOutput:"standalone",userland:A}),{workAsyncStorage:b,workUnitAsyncStorage:x,serverHooks:O}=C;function E(){return(0,i.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:x})}async function N(e,t,a){C.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/cli-tools/cline-settings/route";n=n.replace(/\/index$/,"")||"/";let i=await C.prepare(e,t,{srcPage:n,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:A,params:y,nextConfig:E,parsedUrl:N,isDraftMode:b,prerenderManifest:x,routerServerContext:O,isOnDemandRevalidate:P,revalidateOnlyGenerated:M,resolvedPathname:S,clientReferenceManifest:T,serverActionsManifest:I}=i,j=(0,d.normalizeAppPath)(n),F=!!(x.dynamicRoutes[j]||x.routes[S]),k=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,N,!1):t.end("This page could not be found"),null);if(F&&!b){let e=!!x.routes[S],t=x.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await k();throw new v.NoFallbackError}}let U=null;!F||C.isDev||b||(U=S,U="/index"===U?"/":U);let _=!0===C.isDev||!F,H=F&&!_;I&&T&&(0,s.setManifestsSingleton)({page:n,clientReferenceManifest:T,serverActionsManifest:I});let q=e.method||"GET",B=(0,l.getTracer)(),D=B.getActiveScopeSpan(),J={params:y,prerenderManifest:x,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:_,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,n,r)=>C.onRequestError(e,t,n,r,O)},sharedContext:{buildId:A}},K=new c.NodeNextRequest(e),L=new c.NodeNextResponse(t),$=u.NextRequestAdapter.fromNodeNextRequest(K,(0,u.signalFromNodeResponse)(t));try{let i=async e=>C.handle($,J).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=B.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.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} ${n}`)}),s=!!(0,o.getRequestMeta)(e,"minimalMode"),d=async o=>{var l,d;let c=async({previousCacheEntry:r})=>{try{if(!s&&P&&M&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(o);e.fetchMetrics=J.renderOpts.fetchMetrics;let l=J.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=J.renderOpts.collectedTags;if(!F)return await (0,h.sendResponse)(K,L,n,J.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(n.headers);d&&(t[m.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,r=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:J.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:n,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:P})},!1,O),t}},u=await C.handleResponse({req:e,nextConfig:E,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:M,responseGenerator:c,waitUntil:a.waitUntil,isMinimalMode:s});if(!F)return null;if((null==u||null==(l=u.value)?void 0:l.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(d=u.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",P?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,g.fromNodeOutgoingHttpHeaders)(u.value.headers);return s&&F||p.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,R.getCacheControlHeader)(u.cacheControl)),await (0,h.sendResponse)(K,L,new Response(u.value.body,{headers:p,status:u.value.status||200})),null};D?await d(D):await B.withPropagatedContext(e.headers,()=>B.trace(p.BaseServerSpan.handleRequest,{spanName:`${q} ${n}`,kind:l.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},d))}catch(t){if(t instanceof v.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:P})},!1,O),F)throw t;return await (0,h.sendResponse)(K,L,new Response(null,{status:500})),null}}e.s(["handler",()=>N,"patchFetch",()=>E,"routeModule",()=>C,"serverHooks",()=>O,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>x]),a()}catch(e){a(e)}},!1)];
2
2
 
3
3
  //# sourceMappingURL=_05c48915._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[495767,e=>e.a(async(t,a)=>{try{var r=e.i(745015),n=e.i(89171),s=e.i(924868),o=e.i(814747),i=e.i(266240),l=e.i(841788),d=e.i(197892),u=e.i(676088),c=e.i(200392),p=e.i(195975),m=t([u,c]);[u,c]=m.then?(await m)():m;let R=()=>(0,i.getCliPrimaryConfigPath)("openclaw"),w=async()=>{try{let e=R(),t=await s.default.readFile(e,"utf-8");return JSON.parse(t)}catch(e){if("ENOENT"===e.code)return null;throw e}};async function h(){try{let e=await (0,i.getCliRuntimeStatus)("openclaw");if(!e.installed||!e.runnable)return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:null,message:e.installed&&!e.runnable?"Open Claw CLI is installed but not runnable":"Open Claw CLI is not installed"});let t=await w();return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:t,hasOmniRoute:!!t&&!!t.models&&!!t.models.providers&&!!t.models.providers.omniroute,settingsPath:R()})}catch(e){return console.log("Error checking openclaw settings:",e),n.NextResponse.json({error:"Failed to check openclaw settings"},{status:500})}}async function f(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let a=(0,c.validateBody)(u.cliModelConfigSchema,t);if((0,c.isValidationFailure)(a))return n.NextResponse.json({error:a.error},{status:400});let{baseUrl:r,apiKey:p,model:m}=a.data,h=o.default.dirname(R()),f=R();await s.default.mkdir(h,{recursive:!0}),await (0,l.createBackup)("openclaw",f);let g={};try{let e=await s.default.readFile(f,"utf-8");g=JSON.parse(e)}catch{}g.agents||(g.agents={}),g.agents.defaults||(g.agents.defaults={}),g.agents.defaults.model||(g.agents.defaults.model={}),g.models||(g.models={}),g.models.providers||(g.models.providers={});let w=r.endsWith("/v1")?r:`${r}/v1`;g.agents.defaults.model.primary=`omniroute/${m}`,g.models.providers.omniroute={baseUrl:w,apiKey:p||"your_api_key",api:"openai-completions",models:[{id:m,name:m.split("/").pop()||m}]},await s.default.writeFile(f,JSON.stringify(g,null,2));try{(0,d.saveCliToolLastConfigured)("openclaw")}catch{}return n.NextResponse.json({success:!0,message:"Open Claw settings applied successfully!",settingsPath:f})}catch(e){return console.log("Error updating openclaw settings:",e),n.NextResponse.json({error:"Failed to update openclaw settings"},{status:500})}}async function g(){try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let t=R();await (0,l.createBackup)("openclaw",t);let a={};try{let e=await s.default.readFile(t,"utf-8");a=JSON.parse(e)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({success:!0,message:"No settings file to reset"});throw e}a.models&&a.models.providers&&(delete a.models.providers.omniroute,0===Object.keys(a.models.providers).length&&delete a.models.providers),a.agents?.defaults?.model?.primary?.startsWith("omniroute/")&&delete a.agents.defaults.model.primary,await s.default.writeFile(t,JSON.stringify(a,null,2));try{(0,d.deleteCliToolLastConfigured)("openclaw")}catch{}return n.NextResponse.json({success:!0,message:"OmniRoute settings removed successfully"})}catch(e){return console.log("Error resetting openclaw settings:",e),n.NextResponse.json({error:"Failed to reset openclaw settings"},{status:500})}}(0,p.ensureServerEntryExports)([h,f,g]),(0,r.registerServerReference)(h,"002a3d3d1e4d52c22cee9d2589b107def29fe3e66b",null),(0,r.registerServerReference)(f,"409f22083a5f7154521b3c738f3a2fd996f4dbc07e",null),(0,r.registerServerReference)(g,"00141de0814457e9bdd6ba7e8d065bd3491517a915",null),e.s(["DELETE",()=>g,"GET",()=>h,"POST",()=>f]),a()}catch(e){a(e)}},!1),128142,e=>e.a(async(t,a)=>{try{var r=e.i(747909),n=e.i(174017),s=e.i(996250),o=e.i(759756),i=e.i(561916),l=e.i(174677),d=e.i(869741),u=e.i(316795),c=e.i(487718),p=e.i(995169),m=e.i(47587),h=e.i(666012),f=e.i(570101),g=e.i(626937),R=e.i(10372),w=e.i(193695);e.i(52474);var v=e.i(600220),y=e.i(495767),E=t([y]);[y]=E.then?(await E)():E;let x=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/openclaw-settings/route",pathname:"/api/cli-tools/openclaw-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/openclaw-settings/route.ts",nextConfigOutput:"standalone",userland:y}),{workAsyncStorage:b,workUnitAsyncStorage:O,serverHooks:S}=x;function C(){return(0,s.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:O})}async function N(e,t,a){x.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/cli-tools/openclaw-settings/route";r=r.replace(/\/index$/,"")||"/";let s=await x.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,params:E,nextConfig:C,parsedUrl:N,isDraftMode:b,prerenderManifest:O,routerServerContext:S,isOnDemandRevalidate:A,revalidateOnlyGenerated:P,resolvedPathname:T,clientReferenceManifest:_,serverActionsManifest:j}=s,k=(0,d.normalizeAppPath)(r),I=!!(O.dynamicRoutes[k]||O.routes[T]),F=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,N,!1):t.end("This page could not be found"),null);if(I&&!b){let e=!!O.routes[T],t=O.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(C.experimental.adapterPath)return await F();throw new w.NoFallbackError}}let H=null;!I||x.isDev||b||(H=T,H="/index"===H?"/":H);let M=!0===x.isDev||!I,U=I&&!M;j&&_&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:_,serverActionsManifest:j});let q=e.method||"GET",D=(0,i.getTracer)(),$=D.getActiveScopeSpan(),L={params:E,prerenderManifest:O,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:M,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:C.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>x.onRequestError(e,t,r,n,S)},sharedContext:{buildId:y}},K=new u.NodeNextRequest(e),B=new u.NodeNextResponse(t),J=c.NextRequestAdapter.fromNodeNextRequest(K,(0,c.signalFromNodeResponse)(t));try{let s=async e=>x.handle(J,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=D.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${q} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${q} ${r}`)}),l=!!(0,o.getRequestMeta)(e,"minimalMode"),d=async o=>{var i,d;let u=async({previousCacheEntry:n})=>{try{if(!l&&A&&P&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await s(o);e.fetchMetrics=L.renderOpts.fetchMetrics;let i=L.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let d=L.renderOpts.collectedTags;if(!I)return await (0,h.sendResponse)(K,B,r,L.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(r.headers);d&&(t[R.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,n=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await x.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,S),t}},c=await x.handleResponse({req:e,nextConfig:C,cacheKey:H,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:P,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:l});if(!I)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",A?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return l&&I||p.delete(R.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,h.sendResponse)(K,B,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};$?await d($):await D.withPropagatedContext(e.headers,()=>D.trace(p.BaseServerSpan.handleRequest,{spanName:`${q} ${r}`,kind:i.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},d))}catch(t){if(t instanceof w.NoFallbackError||await x.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,S),I)throw t;return await (0,h.sendResponse)(K,B,new Response(null,{status:500})),null}}e.s(["handler",()=>N,"patchFetch",()=>C,"routeModule",()=>x,"serverHooks",()=>S,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>O]),a()}catch(e){a(e)}},!1)];
1
+ module.exports=[495767,e=>e.a(async(t,a)=>{try{var r=e.i(745015),n=e.i(89171),s=e.i(924868),o=e.i(814747),i=e.i(266240),l=e.i(841788),d=e.i(197892),u=e.i(676088),c=e.i(200392),p=e.i(195975),m=t([u,c]);[u,c]=m.then?(await m)():m;let R=()=>(0,i.getCliPrimaryConfigPath)("openclaw"),w=async()=>{try{let e=R(),t=await s.default.readFile(e,"utf-8");return JSON.parse(t)}catch(e){if("ENOENT"===e.code)return null;throw e}};async function h(){try{let e=await (0,i.getCliRuntimeStatus)("openclaw");if(!e.installed||!e.runnable)return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:null,message:e.installed&&!e.runnable?"Open Claw CLI is installed but not runnable":"Open Claw CLI is not installed"});let t=await w();return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:t,hasOmniRoute:!!t&&!!t.models&&!!t.models.providers&&!!t.models.providers.omniroute,settingsPath:R()})}catch(e){return console.log("Error checking openclaw settings:",e),n.NextResponse.json({error:"Failed to check openclaw settings"},{status:500})}}async function f(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let a=(0,c.validateBody)(u.cliModelConfigSchema,t);if((0,c.isValidationFailure)(a))return n.NextResponse.json({error:a.error},{status:400});let{baseUrl:r,apiKey:p,model:m}=a.data,h=o.default.dirname(R()),f=R();await s.default.mkdir(h,{recursive:!0}),await (0,l.createBackup)("openclaw",f);let g={};try{let e=await s.default.readFile(f,"utf-8");g=JSON.parse(e)}catch{}g.agents||(g.agents={}),g.agents.defaults||(g.agents.defaults={}),g.agents.defaults.model||(g.agents.defaults.model={}),g.models||(g.models={}),g.models.providers||(g.models.providers={});let w=r.endsWith("/v1")?r:`${r}/v1`;g.agents.defaults.model.primary=`omniroute/${m}`,g.models.providers.omniroute={baseUrl:w,apiKey:p||"your_api_key",api:"openai-completions",models:[{id:m,name:m.split("/").pop()||m}]},await s.default.writeFile(f,JSON.stringify(g,null,2));try{(0,d.saveCliToolLastConfigured)("openclaw")}catch{}return n.NextResponse.json({success:!0,message:"Open Claw settings applied successfully!",settingsPath:f})}catch(e){return console.log("Error updating openclaw settings:",e),n.NextResponse.json({error:"Failed to update openclaw settings"},{status:500})}}async function g(){try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let t=R();await (0,l.createBackup)("openclaw",t);let a={};try{let e=await s.default.readFile(t,"utf-8");a=JSON.parse(e)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({success:!0,message:"No settings file to reset"});throw e}a.models&&a.models.providers&&(delete a.models.providers.omniroute,0===Object.keys(a.models.providers).length&&delete a.models.providers),a.agents?.defaults?.model?.primary?.startsWith("omniroute/")&&delete a.agents.defaults.model.primary,await s.default.writeFile(t,JSON.stringify(a,null,2));try{(0,d.deleteCliToolLastConfigured)("openclaw")}catch{}return n.NextResponse.json({success:!0,message:"OmniRoute settings removed successfully"})}catch(e){return console.log("Error resetting openclaw settings:",e),n.NextResponse.json({error:"Failed to reset openclaw settings"},{status:500})}}(0,p.ensureServerEntryExports)([h,f,g]),(0,r.registerServerReference)(h,"00262ec53aecdfb86e1c9bca17b89c3b0606e87dcf",null),(0,r.registerServerReference)(f,"40e741f65e2a71c5c839dbffc7203dc18d2e99220f",null),(0,r.registerServerReference)(g,"004c6e662072a560555f82cb889c3abf45ce7a5050",null),e.s(["DELETE",()=>g,"GET",()=>h,"POST",()=>f]),a()}catch(e){a(e)}},!1),128142,e=>e.a(async(t,a)=>{try{var r=e.i(747909),n=e.i(174017),s=e.i(996250),o=e.i(759756),i=e.i(561916),l=e.i(174677),d=e.i(869741),u=e.i(316795),c=e.i(487718),p=e.i(995169),m=e.i(47587),h=e.i(666012),f=e.i(570101),g=e.i(626937),R=e.i(10372),w=e.i(193695);e.i(52474);var v=e.i(600220),y=e.i(495767),E=t([y]);[y]=E.then?(await E)():E;let x=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/openclaw-settings/route",pathname:"/api/cli-tools/openclaw-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/openclaw-settings/route.ts",nextConfigOutput:"standalone",userland:y}),{workAsyncStorage:b,workUnitAsyncStorage:O,serverHooks:S}=x;function C(){return(0,s.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:O})}async function N(e,t,a){x.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/cli-tools/openclaw-settings/route";r=r.replace(/\/index$/,"")||"/";let s=await x.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,params:E,nextConfig:C,parsedUrl:N,isDraftMode:b,prerenderManifest:O,routerServerContext:S,isOnDemandRevalidate:A,revalidateOnlyGenerated:P,resolvedPathname:T,clientReferenceManifest:_,serverActionsManifest:j}=s,k=(0,d.normalizeAppPath)(r),I=!!(O.dynamicRoutes[k]||O.routes[T]),F=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,N,!1):t.end("This page could not be found"),null);if(I&&!b){let e=!!O.routes[T],t=O.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(C.experimental.adapterPath)return await F();throw new w.NoFallbackError}}let H=null;!I||x.isDev||b||(H=T,H="/index"===H?"/":H);let M=!0===x.isDev||!I,U=I&&!M;j&&_&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:_,serverActionsManifest:j});let q=e.method||"GET",D=(0,i.getTracer)(),$=D.getActiveScopeSpan(),L={params:E,prerenderManifest:O,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:M,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:C.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>x.onRequestError(e,t,r,n,S)},sharedContext:{buildId:y}},K=new u.NodeNextRequest(e),B=new u.NodeNextResponse(t),J=c.NextRequestAdapter.fromNodeNextRequest(K,(0,c.signalFromNodeResponse)(t));try{let s=async e=>x.handle(J,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=D.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${q} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${q} ${r}`)}),l=!!(0,o.getRequestMeta)(e,"minimalMode"),d=async o=>{var i,d;let u=async({previousCacheEntry:n})=>{try{if(!l&&A&&P&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await s(o);e.fetchMetrics=L.renderOpts.fetchMetrics;let i=L.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let d=L.renderOpts.collectedTags;if(!I)return await (0,h.sendResponse)(K,B,r,L.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(r.headers);d&&(t[R.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,n=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await x.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,S),t}},c=await x.handleResponse({req:e,nextConfig:C,cacheKey:H,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:P,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:l});if(!I)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",A?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return l&&I||p.delete(R.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,h.sendResponse)(K,B,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};$?await d($):await D.withPropagatedContext(e.headers,()=>D.trace(p.BaseServerSpan.handleRequest,{spanName:`${q} ${r}`,kind:i.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},d))}catch(t){if(t instanceof w.NoFallbackError||await x.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,S),I)throw t;return await (0,h.sendResponse)(K,B,new Response(null,{status:500})),null}}e.s(["handler",()=>N,"patchFetch",()=>C,"routeModule",()=>x,"serverHooks",()=>S,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>O]),a()}catch(e){a(e)}},!1)];
2
2
 
3
3
  //# sourceMappingURL=_2115d8de._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[980935,e=>e.a(async(t,r)=>{try{var n=e.i(745015),a=e.i(89171),o=e.i(924868),s=e.i(814747),i=e.i(266240),l=e.i(841788),d=e.i(197892),u=e.i(676088),c=e.i(200392),p=e.i(195975),h=t([u,c]);[u,c]=h.then?(await h)():h;let R=()=>(0,i.getCliConfigPaths)("codex").config,x=()=>(0,i.getCliConfigPaths)("codex").auth,v=e=>{let t={_root:{},_sections:{}},r="_root";return e.split("\n").forEach(e=>{let n=e.trim();if(!n||n.startsWith("#"))return;let a=n.match(/^\[(.+)\]$/);if(a){r=a[1],t._sections[r]={};return}let o=n.match(/^([^=]+)\s*=\s*(.+)$/);if(o){let e=o[1].trim(),n=o[2].trim();(n.startsWith('"')&&n.endsWith('"')||n.startsWith("'")&&n.endsWith("'"))&&(n=n.slice(1,-1)),"_root"===r?t._root[e]=n:t._sections[r][e]=n}}),t},w=e=>{let t=[];return Object.entries(e._root).forEach(([e,r])=>{t.push(`${e} = "${r}"`)}),Object.entries(e._sections).forEach(([e,r])=>{t.push(""),t.push(`[${e}]`),Object.entries(r).forEach(([e,r])=>{t.push(`${e} = "${r}"`)})}),t.join("\n")+"\n"},E=async()=>{try{let e=R();return await o.default.readFile(e,"utf-8")}catch(e){if("ENOENT"===e.code)return null;throw e}};async function f(){try{let e=await (0,i.getCliRuntimeStatus)("codex");if(!e.installed||!e.runnable)return a.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,config:null,message:e.installed&&!e.runnable?"Codex CLI is installed but not runnable":"Codex CLI is not installed"});let t=await E();return a.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,config:t,hasOmniRoute:!!t&&(t.includes('model_provider = "omniroute"')||t.includes("[model_providers.omniroute]")),configPath:R()})}catch(e){return console.log("Error checking codex settings:",e),a.NextResponse.json({error:"Failed to check codex settings"},{status:500})}}async function m(e){let t;try{t=await e.json()}catch{return a.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return a.NextResponse.json({error:e},{status:403});let r=(0,c.validateBody)(u.cliModelConfigSchema,t);if((0,c.isValidationFailure)(r))return a.NextResponse.json({error:r.error},{status:400});let{baseUrl:n,apiKey:p,model:h}=r.data;if(!p)return a.NextResponse.json({error:"baseUrl, apiKey and model are required"},{status:400});let f=s.default.dirname(R()),m=R(),g=x();await o.default.mkdir(f,{recursive:!0}),await (0,l.createMultiBackup)("codex",[m,g]);let E={_root:{},_sections:{}};try{let e=await o.default.readFile(m,"utf-8");E=v(e)}catch{}E._root.model=h,E._root.model_provider="omniroute";let y=n.endsWith("/v1")?n:`${n}/v1`;E._sections["model_providers.omniroute"]={name:"OmniRoute",base_url:y,wire_api:"responses"};let C=w(E);await o.default.writeFile(m,C);let _={};try{let e=await o.default.readFile(g,"utf-8");_=JSON.parse(e)}catch{}_.OPENAI_API_KEY=p,await o.default.writeFile(g,JSON.stringify(_,null,2));try{(0,d.saveCliToolLastConfigured)("codex")}catch{}return a.NextResponse.json({success:!0,message:"Codex settings applied successfully!",configPath:m})}catch(e){return console.log("Error updating codex settings:",e),a.NextResponse.json({error:"Failed to update codex settings"},{status:500})}}async function g(){try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return a.NextResponse.json({error:e},{status:403});let t=R();await (0,l.createMultiBackup)("codex",[t,x()]);let r={_root:{},_sections:{}};try{let e=await o.default.readFile(t,"utf-8");r=v(e)}catch(e){if("ENOENT"===e.code)return a.NextResponse.json({success:!0,message:"No config file to reset"});throw e}"omniroute"===r._root.model_provider&&(delete r._root.model,delete r._root.model_provider),delete r._sections["model_providers.omniroute"];let n=w(r);await o.default.writeFile(t,n);let s=x();try{let e=await o.default.readFile(s,"utf-8"),t=JSON.parse(e);delete t.OPENAI_API_KEY,0===Object.keys(t).length?await o.default.unlink(s):await o.default.writeFile(s,JSON.stringify(t,null,2))}catch{}try{(0,d.deleteCliToolLastConfigured)("codex")}catch{}return a.NextResponse.json({success:!0,message:"OmniRoute settings removed successfully"})}catch(e){return console.log("Error resetting codex settings:",e),a.NextResponse.json({error:"Failed to reset codex settings"},{status:500})}}(0,p.ensureServerEntryExports)([f,m,g]),(0,n.registerServerReference)(f,"00fe67ff1e9f7f090d692346e246b665149f813181",null),(0,n.registerServerReference)(m,"40a1f57ee30788202fe939b20225d1513988370fa7",null),(0,n.registerServerReference)(g,"00998169f39ea61e620c574bcb0a691fe2dcc5ce86",null),e.s(["DELETE",()=>g,"GET",()=>f,"POST",()=>m]),r()}catch(e){r(e)}},!1),58214,e=>e.a(async(t,r)=>{try{var n=e.i(747909),a=e.i(174017),o=e.i(996250),s=e.i(759756),i=e.i(561916),l=e.i(174677),d=e.i(869741),u=e.i(316795),c=e.i(487718),p=e.i(995169),h=e.i(47587),f=e.i(666012),m=e.i(570101),g=e.i(626937),R=e.i(10372),x=e.i(193695);e.i(52474);var v=e.i(600220),w=e.i(980935),E=t([w]);[w]=E.then?(await E)():E;let _=new n.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/cli-tools/codex-settings/route",pathname:"/api/cli-tools/codex-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/codex-settings/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:N,workUnitAsyncStorage:b,serverHooks:O}=_;function y(){return(0,o.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:b})}async function C(e,t,r){_.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/cli-tools/codex-settings/route";n=n.replace(/\/index$/,"")||"/";let o=await _.prepare(e,t,{srcPage:n,multiZoneDraftMode:!1});if(!o)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:w,params:E,nextConfig:y,parsedUrl:C,isDraftMode:N,prerenderManifest:b,routerServerContext:O,isOnDemandRevalidate:A,revalidateOnlyGenerated:P,resolvedPathname:S,clientReferenceManifest:T,serverActionsManifest:j}=o,I=(0,d.normalizeAppPath)(n),F=!!(b.dynamicRoutes[I]||b.routes[S]),k=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,C,!1):t.end("This page could not be found"),null);if(F&&!N){let e=!!b.routes[S],t=b.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await k();throw new x.NoFallbackError}}let M=null;!F||_.isDev||N||(M=S,M="/index"===M?"/":M);let H=!0===_.isDev||!F,U=F&&!H;j&&T&&(0,l.setManifestsSingleton)({page:n,clientReferenceManifest:T,serverActionsManifest:j});let $=e.method||"GET",q=(0,i.getTracer)(),D=q.getActiveScopeSpan(),K={params:E,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>_.onRequestError(e,t,n,a,O)},sharedContext:{buildId:w}},L=new u.NodeNextRequest(e),W=new u.NodeNextResponse(t),B=c.NextRequestAdapter.fromNodeNextRequest(L,(0,c.signalFromNodeResponse)(t));try{let o=async e=>_.handle(B,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=q.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${$} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${$} ${n}`)}),l=!!(0,s.getRequestMeta)(e,"minimalMode"),d=async s=>{var i,d;let u=async({previousCacheEntry:a})=>{try{if(!l&&A&&P&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await o(s);e.fetchMetrics=K.renderOpts.fetchMetrics;let i=K.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let d=K.renderOpts.collectedTags;if(!F)return await (0,f.sendResponse)(L,W,n,K.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(n.headers);d&&(t[R.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==a?void 0:a.isStale)&&await _.onRequestError(e,t,{routerKind:"App Router",routePath:n,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,O),t}},c=await _.handleResponse({req:e,nextConfig:y,cacheKey:M,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:P,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:l});if(!F)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",A?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,m.fromNodeOutgoingHttpHeaders)(c.value.headers);return l&&F||p.delete(R.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,f.sendResponse)(L,W,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};D?await d(D):await q.withPropagatedContext(e.headers,()=>q.trace(p.BaseServerSpan.handleRequest,{spanName:`${$} ${n}`,kind:i.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},d))}catch(t){if(t instanceof x.NoFallbackError||await _.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,O),F)throw t;return await (0,f.sendResponse)(L,W,new Response(null,{status:500})),null}}e.s(["handler",()=>C,"patchFetch",()=>y,"routeModule",()=>_,"serverHooks",()=>O,"workAsyncStorage",()=>N,"workUnitAsyncStorage",()=>b]),r()}catch(e){r(e)}},!1)];
1
+ module.exports=[980935,e=>e.a(async(t,r)=>{try{var n=e.i(745015),a=e.i(89171),o=e.i(924868),s=e.i(814747),i=e.i(266240),l=e.i(841788),d=e.i(197892),u=e.i(676088),c=e.i(200392),p=e.i(195975),h=t([u,c]);[u,c]=h.then?(await h)():h;let R=()=>(0,i.getCliConfigPaths)("codex").config,x=()=>(0,i.getCliConfigPaths)("codex").auth,v=e=>{let t={_root:{},_sections:{}},r="_root";return e.split("\n").forEach(e=>{let n=e.trim();if(!n||n.startsWith("#"))return;let a=n.match(/^\[(.+)\]$/);if(a){r=a[1],t._sections[r]={};return}let o=n.match(/^([^=]+)\s*=\s*(.+)$/);if(o){let e=o[1].trim(),n=o[2].trim();(n.startsWith('"')&&n.endsWith('"')||n.startsWith("'")&&n.endsWith("'"))&&(n=n.slice(1,-1)),"_root"===r?t._root[e]=n:t._sections[r][e]=n}}),t},w=e=>{let t=[];return Object.entries(e._root).forEach(([e,r])=>{t.push(`${e} = "${r}"`)}),Object.entries(e._sections).forEach(([e,r])=>{t.push(""),t.push(`[${e}]`),Object.entries(r).forEach(([e,r])=>{t.push(`${e} = "${r}"`)})}),t.join("\n")+"\n"},E=async()=>{try{let e=R();return await o.default.readFile(e,"utf-8")}catch(e){if("ENOENT"===e.code)return null;throw e}};async function f(){try{let e=await (0,i.getCliRuntimeStatus)("codex");if(!e.installed||!e.runnable)return a.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,config:null,message:e.installed&&!e.runnable?"Codex CLI is installed but not runnable":"Codex CLI is not installed"});let t=await E();return a.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,config:t,hasOmniRoute:!!t&&(t.includes('model_provider = "omniroute"')||t.includes("[model_providers.omniroute]")),configPath:R()})}catch(e){return console.log("Error checking codex settings:",e),a.NextResponse.json({error:"Failed to check codex settings"},{status:500})}}async function m(e){let t;try{t=await e.json()}catch{return a.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return a.NextResponse.json({error:e},{status:403});let r=(0,c.validateBody)(u.cliModelConfigSchema,t);if((0,c.isValidationFailure)(r))return a.NextResponse.json({error:r.error},{status:400});let{baseUrl:n,apiKey:p,model:h}=r.data;if(!p)return a.NextResponse.json({error:"baseUrl, apiKey and model are required"},{status:400});let f=s.default.dirname(R()),m=R(),g=x();await o.default.mkdir(f,{recursive:!0}),await (0,l.createMultiBackup)("codex",[m,g]);let E={_root:{},_sections:{}};try{let e=await o.default.readFile(m,"utf-8");E=v(e)}catch{}E._root.model=h,E._root.model_provider="omniroute";let y=n.endsWith("/v1")?n:`${n}/v1`;E._sections["model_providers.omniroute"]={name:"OmniRoute",base_url:y,wire_api:"responses"};let C=w(E);await o.default.writeFile(m,C);let _={};try{let e=await o.default.readFile(g,"utf-8");_=JSON.parse(e)}catch{}_.OPENAI_API_KEY=p,await o.default.writeFile(g,JSON.stringify(_,null,2));try{(0,d.saveCliToolLastConfigured)("codex")}catch{}return a.NextResponse.json({success:!0,message:"Codex settings applied successfully!",configPath:m})}catch(e){return console.log("Error updating codex settings:",e),a.NextResponse.json({error:"Failed to update codex settings"},{status:500})}}async function g(){try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return a.NextResponse.json({error:e},{status:403});let t=R();await (0,l.createMultiBackup)("codex",[t,x()]);let r={_root:{},_sections:{}};try{let e=await o.default.readFile(t,"utf-8");r=v(e)}catch(e){if("ENOENT"===e.code)return a.NextResponse.json({success:!0,message:"No config file to reset"});throw e}"omniroute"===r._root.model_provider&&(delete r._root.model,delete r._root.model_provider),delete r._sections["model_providers.omniroute"];let n=w(r);await o.default.writeFile(t,n);let s=x();try{let e=await o.default.readFile(s,"utf-8"),t=JSON.parse(e);delete t.OPENAI_API_KEY,0===Object.keys(t).length?await o.default.unlink(s):await o.default.writeFile(s,JSON.stringify(t,null,2))}catch{}try{(0,d.deleteCliToolLastConfigured)("codex")}catch{}return a.NextResponse.json({success:!0,message:"OmniRoute settings removed successfully"})}catch(e){return console.log("Error resetting codex settings:",e),a.NextResponse.json({error:"Failed to reset codex settings"},{status:500})}}(0,p.ensureServerEntryExports)([f,m,g]),(0,n.registerServerReference)(f,"002701e0fc4b41020ada10d10e58d78f17b56f93e1",null),(0,n.registerServerReference)(m,"40528172ae41cb4472cbf4e55a485c219630e09d46",null),(0,n.registerServerReference)(g,"009222e16946c000786dd124118f53450bedf790eb",null),e.s(["DELETE",()=>g,"GET",()=>f,"POST",()=>m]),r()}catch(e){r(e)}},!1),58214,e=>e.a(async(t,r)=>{try{var n=e.i(747909),a=e.i(174017),o=e.i(996250),s=e.i(759756),i=e.i(561916),l=e.i(174677),d=e.i(869741),u=e.i(316795),c=e.i(487718),p=e.i(995169),h=e.i(47587),f=e.i(666012),m=e.i(570101),g=e.i(626937),R=e.i(10372),x=e.i(193695);e.i(52474);var v=e.i(600220),w=e.i(980935),E=t([w]);[w]=E.then?(await E)():E;let _=new n.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/cli-tools/codex-settings/route",pathname:"/api/cli-tools/codex-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/codex-settings/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:N,workUnitAsyncStorage:b,serverHooks:O}=_;function y(){return(0,o.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:b})}async function C(e,t,r){_.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/cli-tools/codex-settings/route";n=n.replace(/\/index$/,"")||"/";let o=await _.prepare(e,t,{srcPage:n,multiZoneDraftMode:!1});if(!o)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:w,params:E,nextConfig:y,parsedUrl:C,isDraftMode:N,prerenderManifest:b,routerServerContext:O,isOnDemandRevalidate:A,revalidateOnlyGenerated:P,resolvedPathname:S,clientReferenceManifest:T,serverActionsManifest:j}=o,I=(0,d.normalizeAppPath)(n),F=!!(b.dynamicRoutes[I]||b.routes[S]),k=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,C,!1):t.end("This page could not be found"),null);if(F&&!N){let e=!!b.routes[S],t=b.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await k();throw new x.NoFallbackError}}let M=null;!F||_.isDev||N||(M=S,M="/index"===M?"/":M);let H=!0===_.isDev||!F,U=F&&!H;j&&T&&(0,l.setManifestsSingleton)({page:n,clientReferenceManifest:T,serverActionsManifest:j});let $=e.method||"GET",q=(0,i.getTracer)(),D=q.getActiveScopeSpan(),K={params:E,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>_.onRequestError(e,t,n,a,O)},sharedContext:{buildId:w}},L=new u.NodeNextRequest(e),W=new u.NodeNextResponse(t),B=c.NextRequestAdapter.fromNodeNextRequest(L,(0,c.signalFromNodeResponse)(t));try{let o=async e=>_.handle(B,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=q.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${$} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${$} ${n}`)}),l=!!(0,s.getRequestMeta)(e,"minimalMode"),d=async s=>{var i,d;let u=async({previousCacheEntry:a})=>{try{if(!l&&A&&P&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await o(s);e.fetchMetrics=K.renderOpts.fetchMetrics;let i=K.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let d=K.renderOpts.collectedTags;if(!F)return await (0,f.sendResponse)(L,W,n,K.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(n.headers);d&&(t[R.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==a?void 0:a.isStale)&&await _.onRequestError(e,t,{routerKind:"App Router",routePath:n,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,O),t}},c=await _.handleResponse({req:e,nextConfig:y,cacheKey:M,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:P,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:l});if(!F)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",A?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,m.fromNodeOutgoingHttpHeaders)(c.value.headers);return l&&F||p.delete(R.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,f.sendResponse)(L,W,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};D?await d(D):await q.withPropagatedContext(e.headers,()=>q.trace(p.BaseServerSpan.handleRequest,{spanName:`${$} ${n}`,kind:i.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},d))}catch(t){if(t instanceof x.NoFallbackError||await _.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,O),F)throw t;return await (0,f.sendResponse)(L,W,new Response(null,{status:500})),null}}e.s(["handler",()=>C,"patchFetch",()=>y,"routeModule",()=>_,"serverHooks",()=>O,"workAsyncStorage",()=>N,"workUnitAsyncStorage",()=>b]),r()}catch(e){r(e)}},!1)];
2
2
 
3
3
  //# sourceMappingURL=_3ac953eb._.js.map