omniroute 3.1.3 → 3.1.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 (91) 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/callback/page_client-reference-manifest.js +1 -1
  48. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  49. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  50. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  51. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  52. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  53. package/app/.next/server/app/maintenance/page_client-reference-manifest.js +1 -1
  54. package/app/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  55. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  56. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  57. package/app/.next/server/app/status/page_client-reference-manifest.js +1 -1
  58. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  59. package/app/.next/server/chunks/[root-of-the-server]__051203a6._.js +1 -1
  60. package/app/.next/server/chunks/[root-of-the-server]__0891af92._.js +1 -1
  61. package/app/.next/server/chunks/[root-of-the-server]__1f2b0d89._.js +1 -1
  62. package/app/.next/server/chunks/[root-of-the-server]__46e00e59._.js +1 -1
  63. package/app/.next/server/chunks/[root-of-the-server]__6e52619e._.js +1 -1
  64. package/app/.next/server/chunks/[root-of-the-server]__7ace0fcd._.js +1 -1
  65. package/app/.next/server/chunks/[root-of-the-server]__7fa4d14e._.js +1 -1
  66. package/app/.next/server/chunks/_05c48915._.js +1 -1
  67. package/app/.next/server/chunks/_06515a8a._.js +1 -1
  68. package/app/.next/server/chunks/_2115d8de._.js +1 -1
  69. package/app/.next/server/chunks/_3ac953eb._.js +1 -1
  70. package/app/.next/server/chunks/_4b8fd853._.js +1 -1
  71. package/app/.next/server/chunks/_68683848._.js +1 -1
  72. package/app/.next/server/chunks/_ee9b677b._.js +1 -1
  73. package/app/.next/server/chunks/_efd5ede2._.js +1 -1
  74. package/app/.next/server/chunks/ssr/[root-of-the-server]__9ef96d20._.js +1 -1
  75. package/app/.next/server/chunks/ssr/[root-of-the-server]__a6942102._.js +1 -1
  76. package/app/.next/server/chunks/ssr/src_i18n_messages_cs_json_db6f9ebc._.js +1 -1
  77. package/app/.next/server/pages/500.html +2 -2
  78. package/app/.next/server/server-reference-manifest.js +1 -1
  79. package/app/.next/server/server-reference-manifest.json +1 -1
  80. package/app/.next/static/chunks/{a9e7753a48031b3b.js → d0df17b6e085c981.js} +1 -1
  81. package/app/CHANGELOG.md +12 -0
  82. package/app/docs/openapi.yaml +1 -1
  83. package/app/open-sse/utils/aiSdkCompat.ts +9 -2
  84. package/app/package-lock.json +2 -2
  85. package/app/package.json +1 -1
  86. package/app/src/i18n/messages/cs.json +17 -17
  87. package/app/tests/unit/t26-ai-sdk-accept-header-compat.test.mjs +16 -2
  88. package/package.json +1 -1
  89. /package/app/.next/static/{-wygEpZPxJod87mjaIL_D → lZXIH53lig53hzn5tDll0}/_buildManifest.js +0 -0
  90. /package/app/.next/static/{-wygEpZPxJod87mjaIL_D → lZXIH53lig53hzn5tDll0}/_clientMiddlewareManifest.json +0 -0
  91. /package/app/.next/static/{-wygEpZPxJod87mjaIL_D → lZXIH53lig53hzn5tDll0}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- module.exports=[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"))},324725,(e,t,i)=>{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,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,s=Object.prototype.hasOwnProperty,n={},c={RequestCookies:()=>b,ResponseCookies:()=>g,parseCookie:()=>d,parseSetCookie:()=>u,stringifyCookie:()=>p};for(var l in c)o(n,l,{get:c[l],enumerable:!0});function p(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 d(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]=d(e),{domain:a,expires:r,httponly:s,maxage:n,path:c,samesite:l,secure:p,partitioned:u,priority:b}=Object.fromEntries(o.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,y,x={name:t,value:decodeURIComponent(i),domain:a,...r&&{expires:new Date(r)},...s&&{httpOnly:!0},..."string"==typeof n&&{maxAge:Number(n)},path:c,...l&&{sameSite:m.includes(g=(g=l).toLowerCase())?g:void 0},...p&&{secure:!0},...b&&{priority:h.includes(y=(y=b).toLowerCase())?y:void 0},...u&&{partitioned:!0}};let e={};for(let t in x)x[t]&&(e[t]=x[t]);return e}}t.exports=((e,t,i,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of r(t))s.call(e,i)||void 0===i||o(e,i,{get:()=>t[i],enumerable:!(n=a(t,i))||n.enumerable});return e})(o({},"__esModule",{value:!0}),n);var m=["strict","lax","none"],h=["low","medium","high"],b=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,i]of d(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])=>p(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])=>p(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("; ")}},g=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,s=[],n=0;function c(){for(;n<e.length&&/\s/.test(e.charAt(n));)n+=1;return n<e.length}for(;n<e.length;){for(t=n,r=!1;c();)if(","===(i=e.charAt(n))){for(o=n,n+=1,c(),a=n;n<e.length&&"="!==(i=e.charAt(n))&&";"!==i&&","!==i;)n+=1;n<e.length&&"="===e.charAt(n)?(r=!0,n=a,s.push(e.substring(t,o)),t=n):n=o+1}else n+=1;(!r||n>=e.length)&&s.push(e.substring(t,e.length))}return s}(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=p(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(p).join("; ")}}},677850,e=>e.a(async(t,i)=>{try{let t=await e.y("zod");e.n(t),i()}catch(e){i(e)}},!0),804730,e=>{e.v({name:"omniroute",version:"3.1.3",description:"Smart AI Router with auto fallback — route to FREE & cheap models, zero downtime. Works with Cursor, Cline, Claude Desktop, Codex, and any OpenAI-compatible tool.",type:"module",bin:{omniroute:"bin/omniroute.mjs","omniroute-reset-password":"bin/reset-password.mjs"},files:["bin/","app/","open-sse/mcp-server/","src/shared/contracts/","scripts/postinstall.mjs","scripts/native-binary-compat.mjs","README.md","LICENSE"],workspaces:["open-sse"],engines:{node:">=18.0.0 <24.0.0"},keywords:["ai","router","proxy","openai","claude","anthropic","gemini","fallback","cursor","cline","codex","llm","auto-fallback"],license:"MIT",author:"diegosouzapw",repository:{type:"git",url:"https://github.com/diegosouzapw/OmniRoute"},homepage:"https://omniroute.online",scripts:{dev:"node scripts/run-next.mjs dev",build:"node scripts/build-next-isolated.mjs","build:cli":"node scripts/prepublish.mjs",start:"node scripts/run-next.mjs start",lint:"eslint .","electron:dev":'concurrently "npm run dev" "wait-on http://localhost:20128 && cd electron && npm run dev"',"electron:build":"npm run build && cd electron && npm run build","electron:build:win":"npm run build && cd electron && npm run build:win","electron:build:mac":"npm run build && cd electron && npm run build:mac","electron:build:linux":"npm run build && cd electron && npm run build:linux",test:"node --import tsx/esm --test tests/unit/*.test.mjs","test:unit":"node --import tsx/esm --test tests/unit/*.test.mjs","test:plan3":"node --import tsx/esm --test tests/unit/plan3-p0.test.mjs","test:fixes":"node --import tsx/esm --test tests/unit/fixes-p1.test.mjs","test:security":"node --import tsx/esm --test tests/unit/security-fase01.test.mjs","check:cycles":"node scripts/check-cycles.mjs","check:route-validation:t06":"node scripts/check-route-validation.mjs","check:any-budget:t11":"node scripts/check-t11-any-budget.mjs","check:docs-sync":"node scripts/check-docs-sync.mjs","typecheck:core":"tsc --pretty false -p tsconfig.typecheck-core.json","typecheck:noimplicit:core":"tsc --pretty false -p tsconfig.typecheck-noimplicit-core.json","test:integration":"node --import tsx/esm --test tests/integration/*.test.mjs","test:e2e":"node scripts/run-playwright-tests.mjs test tests/e2e/*.spec.ts","test:protocols:e2e":"node scripts/run-protocol-clients-tests.mjs","test:vitest":"vitest run open-sse/mcp-server/__tests__/*.test.ts open-sse/services/autoCombo/__tests__/*.test.ts","test:ecosystem":"node scripts/run-ecosystem-tests.mjs","test:coverage":"npx c8 --exclude=open-sse --check-coverage --lines 50 --functions 50 --branches 50 node --import tsx/esm --test tests/unit/*.test.mjs","test:all":"npm run test:unit && npm run test:vitest && npm run test:ecosystem && npm run test:e2e",check:"npm run lint && npm run test",prepublishOnly:"npm run build:cli",postinstall:"node scripts/postinstall.mjs",prepare:"husky","system-info":"node scripts/system-info.mjs"},dependencies:{"@lobehub/icons":"^5.0.1","@modelcontextprotocol/sdk":"^1.27.1","@monaco-editor/react":"^4.7.0","@swc/helpers":"0.5.19",bcryptjs:"^3.0.3","better-sqlite3":"^12.6.2",bottleneck:"^2.19.5",dompurify:"^3.3.2",express:"^5.2.1","fetch-socks":"^1.3.2","http-proxy-middleware":"^3.0.5","https-proxy-agent":"^8.0.0",jose:"^6.1.3",keytar:"^7.9.0",lowdb:"^7.0.1","monaco-editor":"^0.55.1",next:"^16.0.10","next-intl":"^4.8.3","node-machine-id":"^1.1.12",open:"^11.0.0",ora:"^9.1.0",pino:"^10.3.1","pino-pretty":"^13.1.3",react:"19.2.4","react-dom":"19.2.4",recharts:"^3.7.0",selfsigned:"^5.5.0",tsx:"^4.21.0",undici:"^7.19.2",uuid:"^13.0.0","wreq-js":"^2.0.1",zod:"^4.3.6",zustand:"^5.0.10"},devDependencies:{"@playwright/test":"^1.58.2","@tailwindcss/postcss":"^4.1.18","@types/bcryptjs":"^3.0.0","@types/better-sqlite3":"^7.6.13","@types/keytar":"^4.4.0","@types/node":"^25.2.3","@types/react":"^19.2.14","@types/react-dom":"^19.2.3",concurrently:"^9.2.1","cross-env":"^10.1.0",eslint:"^9.39.2","eslint-config-next":"^16.0.10",husky:"^9.1.7","lint-staged":"^16.2.7",prettier:"^3.8.1",tailwindcss:"^4",typescript:"^5.9.3","typescript-eslint":"^8.56.0",vitest:"^4.0.18","wait-on":"^9.0.4"},"lint-staged":{"*.{js,jsx,ts,tsx,mjs}":["prettier --write","eslint --fix --no-error-on-unmatched-pattern"],"*.{json,md,yml,yaml,css}":["prettier --write"]},pnpm:{onlyBuiltDependencies:["@parcel/watcher","@swc/core","better-sqlite3","esbuild","omniroute","sharp"]},overrides:{dompurify:"^3.3.2"}})},102835,e=>e.a(async(t,i)=>{try{var o=e.i(677850),a=t([o]);[o]=a.then?(await a)():a;let s=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()}),n=o.z.record(o.z.string(),s);function r(e,t){let i=n.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:
1
+ module.exports=[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"))},324725,(e,t,i)=>{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,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,s=Object.prototype.hasOwnProperty,n={},c={RequestCookies:()=>b,ResponseCookies:()=>g,parseCookie:()=>d,parseSetCookie:()=>u,stringifyCookie:()=>p};for(var l in c)o(n,l,{get:c[l],enumerable:!0});function p(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 d(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]=d(e),{domain:a,expires:r,httponly:s,maxage:n,path:c,samesite:l,secure:p,partitioned:u,priority:b}=Object.fromEntries(o.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,y,x={name:t,value:decodeURIComponent(i),domain:a,...r&&{expires:new Date(r)},...s&&{httpOnly:!0},..."string"==typeof n&&{maxAge:Number(n)},path:c,...l&&{sameSite:m.includes(g=(g=l).toLowerCase())?g:void 0},...p&&{secure:!0},...b&&{priority:h.includes(y=(y=b).toLowerCase())?y:void 0},...u&&{partitioned:!0}};let e={};for(let t in x)x[t]&&(e[t]=x[t]);return e}}t.exports=((e,t,i,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of r(t))s.call(e,i)||void 0===i||o(e,i,{get:()=>t[i],enumerable:!(n=a(t,i))||n.enumerable});return e})(o({},"__esModule",{value:!0}),n);var m=["strict","lax","none"],h=["low","medium","high"],b=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,i]of d(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])=>p(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])=>p(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("; ")}},g=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,s=[],n=0;function c(){for(;n<e.length&&/\s/.test(e.charAt(n));)n+=1;return n<e.length}for(;n<e.length;){for(t=n,r=!1;c();)if(","===(i=e.charAt(n))){for(o=n,n+=1,c(),a=n;n<e.length&&"="!==(i=e.charAt(n))&&";"!==i&&","!==i;)n+=1;n<e.length&&"="===e.charAt(n)?(r=!0,n=a,s.push(e.substring(t,o)),t=n):n=o+1}else n+=1;(!r||n>=e.length)&&s.push(e.substring(t,e.length))}return s}(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=p(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(p).join("; ")}}},677850,e=>e.a(async(t,i)=>{try{let t=await e.y("zod");e.n(t),i()}catch(e){i(e)}},!0),804730,e=>{e.v({name:"omniroute",version:"3.1.4",description:"Smart AI Router with auto fallback — route to FREE & cheap models, zero downtime. Works with Cursor, Cline, Claude Desktop, Codex, and any OpenAI-compatible tool.",type:"module",bin:{omniroute:"bin/omniroute.mjs","omniroute-reset-password":"bin/reset-password.mjs"},files:["bin/","app/","open-sse/mcp-server/","src/shared/contracts/","scripts/postinstall.mjs","scripts/native-binary-compat.mjs","README.md","LICENSE"],workspaces:["open-sse"],engines:{node:">=18.0.0 <24.0.0"},keywords:["ai","router","proxy","openai","claude","anthropic","gemini","fallback","cursor","cline","codex","llm","auto-fallback"],license:"MIT",author:"diegosouzapw",repository:{type:"git",url:"https://github.com/diegosouzapw/OmniRoute"},homepage:"https://omniroute.online",scripts:{dev:"node scripts/run-next.mjs dev",build:"node scripts/build-next-isolated.mjs","build:cli":"node scripts/prepublish.mjs",start:"node scripts/run-next.mjs start",lint:"eslint .","electron:dev":'concurrently "npm run dev" "wait-on http://localhost:20128 && cd electron && npm run dev"',"electron:build":"npm run build && cd electron && npm run build","electron:build:win":"npm run build && cd electron && npm run build:win","electron:build:mac":"npm run build && cd electron && npm run build:mac","electron:build:linux":"npm run build && cd electron && npm run build:linux",test:"node --import tsx/esm --test tests/unit/*.test.mjs","test:unit":"node --import tsx/esm --test tests/unit/*.test.mjs","test:plan3":"node --import tsx/esm --test tests/unit/plan3-p0.test.mjs","test:fixes":"node --import tsx/esm --test tests/unit/fixes-p1.test.mjs","test:security":"node --import tsx/esm --test tests/unit/security-fase01.test.mjs","check:cycles":"node scripts/check-cycles.mjs","check:route-validation:t06":"node scripts/check-route-validation.mjs","check:any-budget:t11":"node scripts/check-t11-any-budget.mjs","check:docs-sync":"node scripts/check-docs-sync.mjs","typecheck:core":"tsc --pretty false -p tsconfig.typecheck-core.json","typecheck:noimplicit:core":"tsc --pretty false -p tsconfig.typecheck-noimplicit-core.json","test:integration":"node --import tsx/esm --test tests/integration/*.test.mjs","test:e2e":"node scripts/run-playwright-tests.mjs test tests/e2e/*.spec.ts","test:protocols:e2e":"node scripts/run-protocol-clients-tests.mjs","test:vitest":"vitest run open-sse/mcp-server/__tests__/*.test.ts open-sse/services/autoCombo/__tests__/*.test.ts","test:ecosystem":"node scripts/run-ecosystem-tests.mjs","test:coverage":"npx c8 --exclude=open-sse --check-coverage --lines 50 --functions 50 --branches 50 node --import tsx/esm --test tests/unit/*.test.mjs","test:all":"npm run test:unit && npm run test:vitest && npm run test:ecosystem && npm run test:e2e",check:"npm run lint && npm run test",prepublishOnly:"npm run build:cli",postinstall:"node scripts/postinstall.mjs",prepare:"husky","system-info":"node scripts/system-info.mjs"},dependencies:{"@lobehub/icons":"^5.0.1","@modelcontextprotocol/sdk":"^1.27.1","@monaco-editor/react":"^4.7.0","@swc/helpers":"0.5.19",bcryptjs:"^3.0.3","better-sqlite3":"^12.6.2",bottleneck:"^2.19.5",dompurify:"^3.3.2",express:"^5.2.1","fetch-socks":"^1.3.2","http-proxy-middleware":"^3.0.5","https-proxy-agent":"^8.0.0",jose:"^6.1.3",keytar:"^7.9.0",lowdb:"^7.0.1","monaco-editor":"^0.55.1",next:"^16.0.10","next-intl":"^4.8.3","node-machine-id":"^1.1.12",open:"^11.0.0",ora:"^9.1.0",pino:"^10.3.1","pino-pretty":"^13.1.3",react:"19.2.4","react-dom":"19.2.4",recharts:"^3.7.0",selfsigned:"^5.5.0",tsx:"^4.21.0",undici:"^7.19.2",uuid:"^13.0.0","wreq-js":"^2.0.1",zod:"^4.3.6",zustand:"^5.0.10"},devDependencies:{"@playwright/test":"^1.58.2","@tailwindcss/postcss":"^4.1.18","@types/bcryptjs":"^3.0.0","@types/better-sqlite3":"^7.6.13","@types/keytar":"^4.4.0","@types/node":"^25.2.3","@types/react":"^19.2.14","@types/react-dom":"^19.2.3",concurrently:"^9.2.1","cross-env":"^10.1.0",eslint:"^9.39.2","eslint-config-next":"^16.0.10",husky:"^9.1.7","lint-staged":"^16.2.7",prettier:"^3.8.1",tailwindcss:"^4",typescript:"^5.9.3","typescript-eslint":"^8.56.0",vitest:"^4.0.18","wait-on":"^9.0.4"},"lint-staged":{"*.{js,jsx,ts,tsx,mjs}":["prettier --write","eslint --fix --no-error-on-unmatched-pattern"],"*.{json,md,yml,yaml,css}":["prettier --write"]},pnpm:{onlyBuiltDependencies:["@parcel/watcher","@swc/core","better-sqlite3","esbuild","omniroute","sharp"]},overrides:{dompurify:"^3.3.2"}})},102835,e=>e.a(async(t,i)=>{try{var o=e.i(677850),a=t([o]);[o]=a.then?(await a)():a;let s=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()}),n=o.z.record(o.z.string(),s);function r(e,t){let i=n.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
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 n={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"}},c={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"}},l={openrouter:{id:"openrouter",alias:"openrouter",name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",passthroughModels:!0,website:"https://openrouter.ai"},glm:{id:"glm",alias:"glm",name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn"},"bailian-coding-plan":{id:"bailian-coding-plan",alias:"bcp",name:"Alibaba Coding Plan",icon:"code",color:"#FF6A00",textIcon:"BCP",website:"https://www.alibabacloud.com/help/en/model-studio/coding-plan"},kimi:{id:"kimi",alias:"kimi",name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn"},"kimi-coding-apikey":{id:"kimi-coding-apikey",alias:"kmca",name:"Kimi Coding (API Key)",icon:"psychology",color:"#1E40AF",textIcon:"KC",website:"https://kimi.com"},minimax:{id:"minimax",alias:"minimax",name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com"},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com"},alicode:{id:"alicode",alias:"alicode",name:"Alibaba",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://bailian.console.aliyun.com"},"alicode-intl":{id:"alicode-intl",alias:"alicode-intl",name:"Alibaba Intl",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://modelstudio.console.alibabacloud.com"},openai:{id:"openai",alias:"openai",name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com"},anthropic:{id:"anthropic",alias:"anthropic",name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com"},gemini:{id:"gemini",alias:"gemini",name:"Gemini (Google AI Studio)",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev",hasFree:!0,freeNote:"Free forever: 1,500 req/day for Gemini 2.5 Flash — no credit card, get key at aistudio.google.com"},deepseek:{id:"deepseek",alias:"ds",name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com"},groq:{id:"groq",alias:"groq",name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com",hasFree:!0,freeNote:"Free tier: 30 RPM / 14.4K RPD — no credit card"},blackbox:{id:"blackbox",alias:"bb",name:"Blackbox AI",icon:"view_in_ar",color:"#1A1A2E",textIcon:"BB",website:"https://blackbox.ai"},xai:{id:"xai",alias:"xai",name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai"},mistral:{id:"mistral",alias:"mistral",name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai"},perplexity:{id:"perplexity",alias:"pplx",name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai"},together:{id:"together",alias:"together",name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai",hasFree:!0,freeNote:"$25 signup credits + 3 permanently free models: Llama 3.3 70B, Vision, DeepSeek-R1 distill"},fireworks:{id:"fireworks",alias:"fireworks",name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai"},cerebras:{id:"cerebras",alias:"cerebras",name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://inference.cerebras.ai",hasFree:!0,freeNote:"Free: 1M tokens/day, 60K TPM — world's fastest inference"},cohere:{id:"cohere",alias:"cohere",name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com"},nvidia:{id:"nvidia",alias:"nvidia",name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://build.nvidia.com",hasFree:!0,freeNote:"Free dev access: ~40 RPM, 70+ models (Kimi K2.5, GLM 4.7, DeepSeek V3.2...)"},nebius:{id:"nebius",alias:"nebius",name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com"},siliconflow:{id:"siliconflow",alias:"siliconflow",name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com"},hyperbolic:{id:"hyperbolic",alias:"hyp",name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz"},deepgram:{id:"deepgram",alias:"dg",name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com"},assemblyai:{id:"assemblyai",alias:"aai",name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com"},nanobanana:{id:"nanobanana",alias:"nb",name:"NanoBanana",icon:"image",color:"#FFD700",textIcon:"NB",website:"https://nanobananaapi.ai"},"ollama-cloud":{id:"ollama-cloud",alias:"ollamacloud",name:"Ollama Cloud",icon:"cloud",color:"#58A6FF",textIcon:"OC",website:"https://ollama.com/settings/api-keys"},elevenlabs:{id:"elevenlabs",alias:"el",name:"ElevenLabs",icon:"record_voice_over",color:"#6C47FF",textIcon:"EL",website:"https://elevenlabs.io"},cartesia:{id:"cartesia",alias:"cartesia",name:"Cartesia",icon:"spatial_audio",color:"#FF4F8B",textIcon:"CA",website:"https://cartesia.ai"},playht:{id:"playht",alias:"playht",name:"PlayHT",icon:"play_circle",color:"#00B4D8",textIcon:"PH",website:"https://play.ht"},inworld:{id:"inworld",alias:"inworld",name:"Inworld",icon:"voice_chat",color:"#7B2EF2",textIcon:"IW",website:"https://inworld.ai"},sdwebui:{id:"sdwebui",alias:"sdwebui",name:"SD WebUI",icon:"brush",color:"#FF7043",textIcon:"SD",website:"https://github.com/AUTOMATIC1111/stable-diffusion-webui"},comfyui:{id:"comfyui",alias:"comfyui",name:"ComfyUI",icon:"account_tree",color:"#4CAF50",textIcon:"CF",website:"https://github.com/comfyanonymous/ComfyUI"},huggingface:{id:"huggingface",alias:"hf",name:"HuggingFace",icon:"face",color:"#FFD21E",textIcon:"HF",website:"https://huggingface.co",hasFree:!0,freeNote:"Free Inference API for thousands of models (Whisper, VITS, SDXL…)"},synthetic:{id:"synthetic",alias:"synthetic",name:"Synthetic",icon:"verified_user",color:"#6366F1",textIcon:"SY",website:"https://synthetic.new",passthroughModels:!0},"kilo-gateway":{id:"kilo-gateway",alias:"kg",name:"Kilo Gateway",icon:"hub",color:"#617A91",textIcon:"KG",website:"https://kilo.ai",passthroughModels:!0},vertex:{id:"vertex",alias:"vertex",name:"Vertex AI",icon:"cloud",color:"#4285F4",textIcon:"VA",website:"https://cloud.google.com/vertex-ai",authHint:"Provide Service Account JSON or OAuth access_token"},zai:{id:"zai",alias:"zai",name:"Z.AI (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-...)"},"opencode-zen":{id:"opencode-zen",alias:"opencode-zen",name:"OpenCode Zen",icon:"opencode",color:"#6366f1",website:"https://opencode.ai/zen"},"opencode-go":{id:"opencode-go",alias:"opencode-go",name:"OpenCode Go",icon:"opencode",color:"#6366f1",website:"https://opencode.ai/zen/go"},alibaba:{id:"alibaba",alias:"ali",name:"Alibaba Cloud (DashScope)",icon:"cloud_queue",color:"#FF6600",textIcon:"AL",website:"https://dashscope-intl.aliyuncs.com",hasFree:!1},longcat:{id:"longcat",alias:"lc",name:"LongCat AI",icon:"auto_awesome",color:"#FF6B9D",textIcon:"LC",website:"https://longcat.chat",hasFree:!0,freeNote:"50M tokens/day (Flash-Lite) + 500K/day (Chat/Thinking) — 100% free while public beta"},pollinations:{id:"pollinations",alias:"pol",name:"Pollinations AI",icon:"local_florist",color:"#4CAF50",textIcon:"PO",website:"https://pollinations.ai",hasFree:!0,freeNote:"No API key needed — access GPT-5, Claude, Gemini, DeepSeek V3, Llama 4 free (1 req/15s)"},puter:{id:"puter",alias:"pu",name:"Puter AI",icon:"cloud_circle",color:"#6366F1",textIcon:"PU",website:"https://puter.com",hasFree:!0,freeNote:"500+ models (GPT-5, Claude Opus 4, Gemini 3 Pro, Grok 4, DeepSeek V3...) — Users pay via free Puter account",passthroughModels:!0,authHint:"Get token at puter.com/dashboard → Copy Auth Token"},"cloudflare-ai":{id:"cloudflare-ai",alias:"cf",name:"Cloudflare Workers AI",icon:"cloud",color:"#F48120",textIcon:"CF",website:"https://developers.cloudflare.com/workers-ai/",hasFree:!0,freeNote:"Free 10K Neurons/day: ~150 LLM responses or 500s Whisper audio — edge inference globally",authHint:"Requires API Token AND Account ID (found at dash.cloudflare.com)"},scaleway:{id:"scaleway",alias:"scw",name:"Scaleway AI",icon:"cloud",color:"#4F0599",textIcon:"SCW",website:"https://www.scaleway.com/en/ai/generative-apis/",hasFree:!0,freeNote:"1M free tokens for new accounts — EU/GDPR compliant (Paris), Qwen3 235B & Llama 70B"},aimlapi:{id:"aimlapi",alias:"aiml",name:"AI/ML API",icon:"hub",color:"#6366F1",textIcon:"AI",website:"https://aimlapi.com",hasFree:!0,freeNote:"$0.025/day free credits — 200+ models (GPT-4o, Claude, Gemini, Llama) via single endpoint",passthroughModels:!0}},p="openai-compatible-",d="anthropic-compatible-";function r(e){return"string"==typeof e&&e.startsWith(p)}function s(e){return"string"==typeof e&&e.startsWith(d)}let u={...n,...c,...l},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)(n,"FREE_PROVIDERS"),(0,o.validateProviders)(c,"OAUTH_PROVIDERS"),(0,o.validateProviders)(l,"APIKEY_PROVIDERS"),e.s(["AI_PROVIDERS",0,u,"ALIAS_TO_ID",0,m,"ANTHROPIC_COMPATIBLE_PREFIX",0,d,"APIKEY_PROVIDERS",0,l,"FREE_PROVIDERS",0,n,"OAUTH_PROVIDERS",0,c,"OPENAI_COMPATIBLE_PREFIX",0,p,"isAnthropicCompatibleProvider",()=>s,"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 s=Object.entries(o.PROVIDER_MODELS).flatMap(([e,t])=>t.map(t=>({provider:e,model:t.id,name:t.name})));e.s(["AI_MODELS",0,s]),i()}catch(e){i(e)}},!1),651948,e=>e.a(async(t,i)=>{try{var o=e.i(804730),a=e.i(963219),r=e.i(617325),s=t([a,r]);[a,r]=s.then?(await s)():s;let n={name:"OmniRoute",description:"AI Gateway for Multi-Provider LLMs",version:o.default.version};e.s(["APP_CONFIG",0,n]),i()}catch(e){i(e)}},!1),949423,e=>e.a(async(t,i)=>{try{var o=e.i(89171);e.i(245272);var a=e.i(385498),r=e.i(548941),s=e.i(651948),n=e.i(963219),c=t([s,n]);async function l(){try{let{getAllCircuitBreakerStatuses:t}=await e.A(970016),{getAllRateLimitStatus:i}=await e.A(134636),{getAllModelLockouts:c}=await e.A(730711),{getInflightCount:l}=await e.A(38026),p=await (0,r.getSettings)(),d=await (0,a.getProviderConnections)(),u=t(),m=i(),h=c(),{getAllHealthStatuses:b}=await e.A(338694),g={version:s.APP_CONFIG.version,nodeVersion:process.version,uptime:process.uptime(),memoryUsage:process.memoryUsage(),pid:process.pid,platform:process.platform},y={};for(let e of u)e.name.startsWith("test-")||e.name.startsWith("test_")||(y[e.name]={state:e.state,failures:e.failureCount||0,lastFailure:e.lastFailureTime});let x=new Set(d.map(e=>e.provider)),f=new Set(d.filter(e=>!1!==e.isActive).map(e=>e.provider));return o.NextResponse.json({status:"healthy",timestamp:new Date().toISOString(),system:g,providerHealth:y,providerSummary:{catalogCount:Object.keys(n.AI_PROVIDERS).length,configuredCount:x.size,activeCount:f.size,monitoredCount:Object.keys(y).length},localProviders:b(),rateLimitStatus:m,lockouts:h,dedup:{inflightRequests:l()},setupComplete:p?.setupComplete||!1})}catch(e){return console.error("[API] GET /api/monitoring/health error:",e),o.NextResponse.json({status:"error",error:"Health check failed"},{status:500})}}async function p(){try{let{resetAllCircuitBreakers:t,getAllCircuitBreakerStatuses:i}=await e.A(970016),a=i().length;return t(),console.log(`[API] DELETE /api/monitoring/health — Reset ${a} circuit breakers`),o.NextResponse.json({success:!0,message:`Reset ${a} circuit breaker(s) to healthy state`,resetCount:a})}catch(e){return console.error("[API] DELETE /api/monitoring/health error:",e),o.NextResponse.json({error:"Failed to reset circuit breakers"},{status:500})}}[s,n]=c.then?(await c)():c,e.s(["DELETE",()=>p,"GET",()=>l]),i()}catch(e){i(e)}},!1),984654,e=>e.a(async(t,i)=>{try{var o=e.i(747909),a=e.i(174017),r=e.i(996250),s=e.i(759756),n=e.i(561916),c=e.i(174677),l=e.i(869741),p=e.i(316795),d=e.i(487718),u=e.i(995169),m=e.i(47587),h=e.i(666012),b=e.i(570101),g=e.i(626937),y=e.i(10372),x=e.i(193695);e.i(52474);var f=e.i(600220),w=e.i(949423),v=t([w]);[w]=v.then?(await v)():v;let _=new o.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/monitoring/health/route",pathname:"/api/monitoring/health",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/monitoring/health/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:k,workUnitAsyncStorage:C,serverHooks:R}=_;function A(){return(0,r.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:C})}async function I(e,t,i){_.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let o="/api/monitoring/health/route";o=o.replace(/\/index$/,"")||"/";let r=await _.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:k,prerenderManifest:C,routerServerContext:R,isOnDemandRevalidate:F,revalidateOnlyGenerated:P,resolvedPathname:E,clientReferenceManifest:O,serverActionsManifest:j}=r,S=(0,l.normalizeAppPath)(o),D=!!(C.dynamicRoutes[S]||C.routes[E]),N=async()=>((null==R?void 0:R.render404)?await R.render404(e,t,I,!1):t.end("This page could not be found"),null);if(D&&!k){let e=!!C.routes[E],t=C.dynamicRoutes[S];if(t&&!1===t.fallback&&!e){if(A.experimental.adapterPath)return await N();throw new x.NoFallbackError}}let M=null;!D||_.isDev||k||(M=E,M="/index"===M?"/":M);let T=!0===_.isDev||!D,B=D&&!T;j&&O&&(0,c.setManifestsSingleton)({page:o,clientReferenceManifest:O,serverActionsManifest:j});let q=e.method||"GET",L=(0,n.getTracer)(),H=L.getActiveScopeSpan(),G={params:v,prerenderManifest:C,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:T,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:A.cacheLife,waitUntil:i.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,i,o,a)=>_.onRequestError(e,t,o,a,R)},sharedContext:{buildId:w}},z=new p.NodeNextRequest(e),U=new p.NodeNextResponse(t),$=d.NextRequestAdapter.fromNodeNextRequest(z,(0,d.signalFromNodeResponse)(t));try{let r=async e=>_.handle($,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let i=L.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=`${q} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${q} ${o}`)}),c=!!(0,s.getRequestMeta)(e,"minimalMode"),l=async s=>{var n,l;let p=async({previousCacheEntry:a})=>{try{if(!c&&F&&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(s);e.fetchMetrics=G.renderOpts.fetchMetrics;let n=G.renderOpts.pendingWaitUntil;n&&i.waitUntil&&(i.waitUntil(n),n=void 0);let l=G.renderOpts.collectedTags;if(!D)return await (0,h.sendResponse)(z,U,o,G.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,b.toNodeOutgoingHttpHeaders)(o.headers);l&&(t[y.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let i=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=y.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,a=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=y.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:f.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 _.onRequestError(e,t,{routerKind:"App Router",routePath:o,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:F})},!1,R),t}},d=await _.handleResponse({req:e,nextConfig:A,cacheKey:M,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:F,revalidateOnlyGenerated:P,responseGenerator:p,waitUntil:i.waitUntil,isMinimalMode:c});if(!D)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});c||t.setHeader("x-nextjs-cache",F?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),k&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,b.fromNodeOutgoingHttpHeaders)(d.value.headers);return c&&D||u.delete(y.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,g.getCacheControlHeader)(d.cacheControl)),await (0,h.sendResponse)(z,U,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};H?await l(H):await L.withPropagatedContext(e.headers,()=>L.trace(u.BaseServerSpan.handleRequest,{spanName:`${q} ${o}`,kind:n.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},l))}catch(t){if(t instanceof x.NoFallbackError||await _.onRequestError(e,t,{routerKind:"App Router",routePath:S,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:F})},!1,R),D)throw t;return await (0,h.sendResponse)(z,U,new Response(null,{status:500})),null}}e.s(["handler",()=>I,"patchFetch",()=>A,"routeModule",()=>_,"serverHooks",()=>R,"workAsyncStorage",()=>k,"workUnitAsyncStorage",()=>C]),i()}catch(e){i(e)}},!1),606102,e=>{e.v(e=>Promise.resolve().then(()=>e(548941)))},789543,e=>{e.v(e=>Promise.resolve().then(()=>e(385498)))},579042,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_utils_apiKey_ts_fa113e09._.js"].map(t=>e.l(t))).then(()=>t(65448)))},49794,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_ts_65de0558._.js"].map(t=>e.l(t))).then(()=>t(404503)))},386305,e=>{e.v(e=>Promise.resolve().then(()=>e(878947)))},970016,e=>{e.v(t=>Promise.all(["server/chunks/src_5ca0c0a2._.js"].map(t=>e.l(t))).then(()=>t(260222)))},134636,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_localDb_ts_e8eb1d55._.js","server/chunks/open-sse_services_tokenRefresh_ts_0d1f8d2a._.js","server/chunks/_5677b5e2._.js","server/chunks/open-sse_97c54840._.js","server/chunks/open-sse_executors_01c3e95e._.js"].map(t=>e.l(t))).then(()=>t(20870)))},730711,e=>{e.v(t=>Promise.all(["server/chunks/open-sse_cf4d5692._.js"].map(t=>e.l(t))).then(()=>t(441637)))},38026,e=>{e.v(t=>Promise.all(["server/chunks/open-sse_services_requestDedup_ts_82fdaab0._.js"].map(t=>e.l(t))).then(()=>t(951700)))},338694,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_localHealthCheck_ts_06c8cb5d._.js"].map(t=>e.l(t))).then(()=>t(181666)))}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__6e52619e._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},442315,(e,t,r)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,r)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,r)=>{"use strict";var n=Object.defineProperty,a=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o={},l={RequestCookies:()=>m,ResponseCookies:()=>g,parseCookie:()=>d,parseSetCookie:()=>p,stringifyCookie:()=>c};for(var u in l)n(o,u,{get:l[u],enumerable:!0});function c(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),n=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?n:`${n}; ${r.join("; ")}`}function d(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[n,a]=[r.slice(0,e),r.slice(e+1)];try{t.set(n,decodeURIComponent(null!=a?a:"true"))}catch{}}return t}function p(e){if(!e)return;let[[t,r],...n]=d(e),{domain:a,expires:s,httponly:i,maxage:o,path:l,samesite:u,secure:c,partitioned:p,priority:m}=Object.fromEntries(n.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,x,v={name:t,value:decodeURIComponent(r),domain:a,...s&&{expires:new Date(s)},...i&&{httpOnly:!0},..."string"==typeof o&&{maxAge:Number(o)},path:l,...u&&{sameSite:f.includes(g=(g=u).toLowerCase())?g:void 0},...c&&{secure:!0},...m&&{priority:h.includes(x=(x=m).toLowerCase())?x:void 0},...p&&{partitioned:!0}};let e={};for(let t in v)v[t]&&(e[t]=v[t]);return e}}t.exports=((e,t,r,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of s(t))i.call(e,r)||void 0===r||n(e,r,{get:()=>t[r],enumerable:!(o=a(t,r))||o.enumerable});return e})(n({},"__esModule",{value:!0}),o);var f=["strict","lax","none"],h=["low","medium","high"],m=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of d(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===n).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,n=this._parsed;return n.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(n).map(([e,t])=>c(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>c(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},g=class{constructor(e){var t,r,n;this._parsed=new Map,this._headers=e;const a=null!=(n=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?n:[];for(const e of Array.isArray(a)?a:function(e){if(!e)return[];var t,r,n,a,s,i=[],o=0;function l(){for(;o<e.length&&/\s/.test(e.charAt(o));)o+=1;return o<e.length}for(;o<e.length;){for(t=o,s=!1;l();)if(","===(r=e.charAt(o))){for(n=o,o+=1,l(),a=o;o<e.length&&"="!==(r=e.charAt(o))&&";"!==r&&","!==r;)o+=1;o<e.length&&"="===e.charAt(o)?(s=!0,o=a,i.push(e.substring(t,n)),t=o):o=n+1}else o+=1;(!s||o>=e.length)&&i.push(e.substring(t,e.length))}return i}(a)){const t=p(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===n)}has(e){return this._parsed.has(e)}set(...e){let[t,r,n]=1===e.length?[e[0].name,e[0].value,e[0]]:e,a=this._parsed;return a.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...n})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=c(r);t.append("set-cookie",e)}}(a,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(c).join("; ")}}},792509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},785148,(e,t,r)=>{t.exports=e.x("better-sqlite3",()=>require("better-sqlite3"))},256770,e=>{"use strict";var t=e.i(814747),r=e.i(446786);let n="omniroute";function a(){try{return r.default.homedir()}catch{return process.cwd()}}function s(e){if("string"!=typeof e)return null;let r=e.trim();return r?t.default.resolve(r):null}function i(){return t.default.join(a(),`.${n}`)}function o(){a();let e=s(process.env.XDG_CONFIG_HOME);return e?t.default.join(e,n):i()}function l({isCloud:e=!1}={}){if(e)return"/tmp";let t=s(process.env.DATA_DIR);return t||o()}function u(e,r){return!!e&&!!r&&t.default.resolve(e)===t.default.resolve(r)}e.s(["APP_NAME",0,n,"getDefaultDataDir",()=>o,"getLegacyDotDataDir",()=>i,"isSamePath",()=>u,"resolveDataDir",()=>l])},90100,e=>{"use strict";function t(e,t){if(!e)return t;let r=Number.parseInt(String(e),10);return!Number.isFinite(r)||r<1||r>65535?t:r}function r(){let e=t(process.env.OMNIROUTE_PORT||process.env.PORT,20128),r=!!process.env.API_PORT,n=!!process.env.DASHBOARD_PORT;return{port:e,apiPort:t(process.env.API_PORT,e),dashboardPort:t(process.env.DASHBOARD_PORT,e),apiPortExplicit:r,dashboardPortExplicit:n}}e.s(["getRuntimePorts",()=>r])},240867,e=>{"use strict";var t=e.i(747909),r=e.i(174017),n=e.i(996250),a=e.i(759756),s=e.i(561916),i=e.i(174677),o=e.i(869741),l=e.i(316795),u=e.i(487718),c=e.i(995169),d=e.i(47587),p=e.i(666012),f=e.i(570101),h=e.i(626937),m=e.i(10372),g=e.i(193695);e.i(52474);var x=e.i(600220),v=e.i(745015),y=e.i(89171),R=e.i(924868),w=e.i(266240),_=e.i(197892),A=e.i(90100),b=e.i(195975);let{apiPort:C}=(0,A.getRuntimePorts)();async function O(e){try{let t=(0,w.getCliPrimaryConfigPath)(e);if(!t)return"unknown";let r=await R.default.readFile(t,"utf-8"),n=JSON.parse(r);switch(e){case"claude":return n?.env?.ANTHROPIC_BASE_URL?"configured":"not_configured";case"codex":return n?.providers?.omniroute||n?.providers?.["openai-compatible"]?"configured":"not_configured";case"droid":case"openclaw":case"cline":case"kilo":let a=JSON.stringify(n).toLowerCase();return a.includes("omniroute")||a.includes("sk_omniroute")||a.includes(`localhost:${C}`)||a.includes(`127.0.0.1:${C}`)?"configured":"not_configured";default:return"unknown"}}catch{return"not_configured"}}async function E(){try{let e={};await Promise.all(w.CLI_TOOL_IDS.map(async t=>{try{let r=await Promise.race([(0,w.getCliRuntimeStatus)(t),new Promise((e,t)=>setTimeout(()=>t(Error("Timeout")),5e3))]);e[t]={installed:r.installed,runnable:r.runnable,command:r.command,commandPath:r.commandPath,reason:r.reason||null}}catch(r){e[t]={installed:!1,runnable:!1,reason:r.message||"Check failed"}}})),await Promise.all(["claude","codex","droid","openclaw","cline","kilo"].map(async t=>{if(!e[t]?.installed||!e[t]?.runnable){e[t].configStatus="not_installed";return}e[t].configStatus=await O(t)}));try{let t=(0,_.getAllCliToolLastConfigured)();for(let[r,n]of Object.entries(t))e[r]&&(e[r].lastConfiguredAt=n)}catch{}return y.NextResponse.json(e)}catch(e){return console.log("Error fetching CLI tool statuses:",e),y.NextResponse.json({error:"Failed to fetch statuses"},{status:500})}}(0,b.ensureServerEntryExports)([E]),(0,v.registerServerReference)(E,"00de2193326136435e3a70cc01f2ab910b0ec18d7e",null),e.s(["GET",()=>E],84799);var P=e.i(84799);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/cli-tools/status/route",pathname:"/api/cli-tools/status",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/status/route.ts",nextConfigOutput:"standalone",userland:P}),{workAsyncStorage:k,workUnitAsyncStorage:T,serverHooks:D}=S;function N(){return(0,n.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:T})}async function j(e,t,n){S.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/cli-tools/status/route";v=v.replace(/\/index$/,"")||"/";let y=await S.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:R,params:w,nextConfig:_,parsedUrl:A,isDraftMode:b,prerenderManifest:C,routerServerContext:O,isOnDemandRevalidate:E,revalidateOnlyGenerated:P,resolvedPathname:k,clientReferenceManifest:T,serverActionsManifest:D}=y,N=(0,o.normalizeAppPath)(v),j=!!(C.dynamicRoutes[N]||C.routes[k]),q=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,A,!1):t.end("This page could not be found"),null);if(j&&!b){let e=!!C.routes[k],t=C.dynamicRoutes[N];if(t&&!1===t.fallback&&!e){if(_.experimental.adapterPath)return await q();throw new g.NoFallbackError}}let I=null;!j||S.isDev||b||(I="/index"===(I=k)?"/":I);let $=!0===S.isDev||!j,U=j&&!$;D&&T&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:T,serverActionsManifest:D});let H=e.method||"GET",M=(0,s.getTracer)(),L=M.getActiveScopeSpan(),F={params:w,prerenderManifest:C,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:$,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:_.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>S.onRequestError(e,t,n,a,O)},sharedContext:{buildId:R}},B=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(B,(0,u.signalFromNodeResponse)(t));try{let i=async e=>S.handle(G,F).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${H} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${v}`)}),o=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var s,l;let u=async({previousCacheEntry:r})=>{try{if(!o&&E&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(a);e.fetchMetrics=F.renderOpts.fetchMetrics;let l=F.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let u=F.renderOpts.collectedTags;if(!j)return await (0,p.sendResponse)(B,K,s,F.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.headers);u&&(t[m.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==F.renderOpts.collectedRevalidate&&!(F.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,n=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:F.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:E})},!1,O),t}},c=await S.handleResponse({req:e,nextConfig:_,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:P,responseGenerator:u,waitUntil:n.waitUntil,isMinimalMode:o});if(!j)return null;if((null==c||null==(s=c.value)?void 0:s.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",E?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return o&&j||g.delete(m.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,h.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)(B,K,new Response(c.value.body,{headers:g,status:c.value.status||200})),null};L?await l(L):await M.withPropagatedContext(e.headers,()=>M.trace(c.BaseServerSpan.handleRequest,{spanName:`${H} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},l))}catch(t){if(t instanceof g.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:E})},!1,O),j)throw t;return await (0,p.sendResponse)(B,K,new Response(null,{status:500})),null}}e.s(["handler",()=>j,"patchFetch",()=>N,"routeModule",()=>S,"serverHooks",()=>D,"workAsyncStorage",()=>k,"workUnitAsyncStorage",()=>T],240867)}];
1
+ module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},442315,(e,t,r)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,r)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,r)=>{"use strict";var n=Object.defineProperty,a=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o={},l={RequestCookies:()=>m,ResponseCookies:()=>g,parseCookie:()=>d,parseSetCookie:()=>p,stringifyCookie:()=>c};for(var u in l)n(o,u,{get:l[u],enumerable:!0});function c(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),n=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?n:`${n}; ${r.join("; ")}`}function d(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[n,a]=[r.slice(0,e),r.slice(e+1)];try{t.set(n,decodeURIComponent(null!=a?a:"true"))}catch{}}return t}function p(e){if(!e)return;let[[t,r],...n]=d(e),{domain:a,expires:s,httponly:i,maxage:o,path:l,samesite:u,secure:c,partitioned:p,priority:m}=Object.fromEntries(n.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,x,v={name:t,value:decodeURIComponent(r),domain:a,...s&&{expires:new Date(s)},...i&&{httpOnly:!0},..."string"==typeof o&&{maxAge:Number(o)},path:l,...u&&{sameSite:h.includes(g=(g=u).toLowerCase())?g:void 0},...c&&{secure:!0},...m&&{priority:f.includes(x=(x=m).toLowerCase())?x:void 0},...p&&{partitioned:!0}};let e={};for(let t in v)v[t]&&(e[t]=v[t]);return e}}t.exports=((e,t,r,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of s(t))i.call(e,r)||void 0===r||n(e,r,{get:()=>t[r],enumerable:!(o=a(t,r))||o.enumerable});return e})(n({},"__esModule",{value:!0}),o);var h=["strict","lax","none"],f=["low","medium","high"],m=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of d(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===n).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,n=this._parsed;return n.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(n).map(([e,t])=>c(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>c(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},g=class{constructor(e){var t,r,n;this._parsed=new Map,this._headers=e;const a=null!=(n=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?n:[];for(const e of Array.isArray(a)?a:function(e){if(!e)return[];var t,r,n,a,s,i=[],o=0;function l(){for(;o<e.length&&/\s/.test(e.charAt(o));)o+=1;return o<e.length}for(;o<e.length;){for(t=o,s=!1;l();)if(","===(r=e.charAt(o))){for(n=o,o+=1,l(),a=o;o<e.length&&"="!==(r=e.charAt(o))&&";"!==r&&","!==r;)o+=1;o<e.length&&"="===e.charAt(o)?(s=!0,o=a,i.push(e.substring(t,n)),t=o):o=n+1}else o+=1;(!s||o>=e.length)&&i.push(e.substring(t,e.length))}return i}(a)){const t=p(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===n)}has(e){return this._parsed.has(e)}set(...e){let[t,r,n]=1===e.length?[e[0].name,e[0].value,e[0]]:e,a=this._parsed;return a.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...n})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=c(r);t.append("set-cookie",e)}}(a,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(c).join("; ")}}},792509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},785148,(e,t,r)=>{t.exports=e.x("better-sqlite3",()=>require("better-sqlite3"))},256770,e=>{"use strict";var t=e.i(814747),r=e.i(446786);let n="omniroute";function a(){try{return r.default.homedir()}catch{return process.cwd()}}function s(e){if("string"!=typeof e)return null;let r=e.trim();return r?t.default.resolve(r):null}function i(){return t.default.join(a(),`.${n}`)}function o(){a();let e=s(process.env.XDG_CONFIG_HOME);return e?t.default.join(e,n):i()}function l({isCloud:e=!1}={}){if(e)return"/tmp";let t=s(process.env.DATA_DIR);return t||o()}function u(e,r){return!!e&&!!r&&t.default.resolve(e)===t.default.resolve(r)}e.s(["APP_NAME",0,n,"getDefaultDataDir",()=>o,"getLegacyDotDataDir",()=>i,"isSamePath",()=>u,"resolveDataDir",()=>l])},90100,e=>{"use strict";function t(e,t){if(!e)return t;let r=Number.parseInt(String(e),10);return!Number.isFinite(r)||r<1||r>65535?t:r}function r(){let e=t(process.env.OMNIROUTE_PORT||process.env.PORT,20128),r=!!process.env.API_PORT,n=!!process.env.DASHBOARD_PORT;return{port:e,apiPort:t(process.env.API_PORT,e),dashboardPort:t(process.env.DASHBOARD_PORT,e),apiPortExplicit:r,dashboardPortExplicit:n}}e.s(["getRuntimePorts",()=>r])},240867,e=>{"use strict";var t=e.i(747909),r=e.i(174017),n=e.i(996250),a=e.i(759756),s=e.i(561916),i=e.i(174677),o=e.i(869741),l=e.i(316795),u=e.i(487718),c=e.i(995169),d=e.i(47587),p=e.i(666012),h=e.i(570101),f=e.i(626937),m=e.i(10372),g=e.i(193695);e.i(52474);var x=e.i(600220),v=e.i(745015),y=e.i(89171),R=e.i(924868),w=e.i(266240),_=e.i(197892),A=e.i(90100),b=e.i(195975);let{apiPort:C}=(0,A.getRuntimePorts)();async function O(e){try{let t=(0,w.getCliPrimaryConfigPath)(e);if(!t)return"unknown";let r=await R.default.readFile(t,"utf-8"),n=JSON.parse(r);switch(e){case"claude":return n?.env?.ANTHROPIC_BASE_URL?"configured":"not_configured";case"codex":return n?.providers?.omniroute||n?.providers?.["openai-compatible"]?"configured":"not_configured";case"droid":case"openclaw":case"cline":case"kilo":let a=JSON.stringify(n).toLowerCase();return a.includes("omniroute")||a.includes("sk_omniroute")||a.includes(`localhost:${C}`)||a.includes(`127.0.0.1:${C}`)?"configured":"not_configured";default:return"unknown"}}catch{return"not_configured"}}async function E(){try{let e={};await Promise.all(w.CLI_TOOL_IDS.map(async t=>{try{let r=await Promise.race([(0,w.getCliRuntimeStatus)(t),new Promise((e,t)=>setTimeout(()=>t(Error("Timeout")),5e3))]);e[t]={installed:r.installed,runnable:r.runnable,command:r.command,commandPath:r.commandPath,reason:r.reason||null}}catch(r){e[t]={installed:!1,runnable:!1,reason:r.message||"Check failed"}}})),await Promise.all(["claude","codex","droid","openclaw","cline","kilo"].map(async t=>{if(!e[t]?.installed||!e[t]?.runnable){e[t].configStatus="not_installed";return}e[t].configStatus=await O(t)}));try{let t=(0,_.getAllCliToolLastConfigured)();for(let[r,n]of Object.entries(t))e[r]&&(e[r].lastConfiguredAt=n)}catch{}return y.NextResponse.json(e)}catch(e){return console.log("Error fetching CLI tool statuses:",e),y.NextResponse.json({error:"Failed to fetch statuses"},{status:500})}}(0,b.ensureServerEntryExports)([E]),(0,v.registerServerReference)(E,"00c226506778826c8c074531a65e1a47456d2609bb",null),e.s(["GET",()=>E],84799);var P=e.i(84799);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/cli-tools/status/route",pathname:"/api/cli-tools/status",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/status/route.ts",nextConfigOutput:"standalone",userland:P}),{workAsyncStorage:k,workUnitAsyncStorage:T,serverHooks:D}=S;function N(){return(0,n.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:T})}async function j(e,t,n){S.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/cli-tools/status/route";v=v.replace(/\/index$/,"")||"/";let y=await S.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:R,params:w,nextConfig:_,parsedUrl:A,isDraftMode:b,prerenderManifest:C,routerServerContext:O,isOnDemandRevalidate:E,revalidateOnlyGenerated:P,resolvedPathname:k,clientReferenceManifest:T,serverActionsManifest:D}=y,N=(0,o.normalizeAppPath)(v),j=!!(C.dynamicRoutes[N]||C.routes[k]),q=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,A,!1):t.end("This page could not be found"),null);if(j&&!b){let e=!!C.routes[k],t=C.dynamicRoutes[N];if(t&&!1===t.fallback&&!e){if(_.experimental.adapterPath)return await q();throw new g.NoFallbackError}}let I=null;!j||S.isDev||b||(I="/index"===(I=k)?"/":I);let $=!0===S.isDev||!j,U=j&&!$;D&&T&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:T,serverActionsManifest:D});let H=e.method||"GET",M=(0,s.getTracer)(),L=M.getActiveScopeSpan(),F={params:w,prerenderManifest:C,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:$,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:_.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>S.onRequestError(e,t,n,a,O)},sharedContext:{buildId:R}},B=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(B,(0,u.signalFromNodeResponse)(t));try{let i=async e=>S.handle(G,F).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${H} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${v}`)}),o=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var s,l;let u=async({previousCacheEntry:r})=>{try{if(!o&&E&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(a);e.fetchMetrics=F.renderOpts.fetchMetrics;let l=F.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let u=F.renderOpts.collectedTags;if(!j)return await (0,p.sendResponse)(B,K,s,F.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);u&&(t[m.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==F.renderOpts.collectedRevalidate&&!(F.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,n=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:F.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:E})},!1,O),t}},c=await S.handleResponse({req:e,nextConfig:_,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:P,responseGenerator:u,waitUntil:n.waitUntil,isMinimalMode:o});if(!j)return null;if((null==c||null==(s=c.value)?void 0:s.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",E?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return o&&j||g.delete(m.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,f.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)(B,K,new Response(c.value.body,{headers:g,status:c.value.status||200})),null};L?await l(L):await M.withPropagatedContext(e.headers,()=>M.trace(c.BaseServerSpan.handleRequest,{spanName:`${H} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},l))}catch(t){if(t instanceof g.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:E})},!1,O),j)throw t;return await (0,p.sendResponse)(B,K,new Response(null,{status:500})),null}}e.s(["handler",()=>j,"patchFetch",()=>N,"routeModule",()=>S,"serverHooks",()=>D,"workAsyncStorage",()=>k,"workUnitAsyncStorage",()=>T],240867)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__7ace0fcd._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[677850,e=>e.a(async(t,r)=>{try{let t=await e.y("zod");e.n(t),r()}catch(e){r(e)}},!0),200392,e=>e.a(async(t,r)=>{try{var s=e.i(677850),a=t([s]);function n(e,t){let r=e.safeParse(t);if(r.success)return{success:!0,data:r.data};let s=Array.isArray(r.error?.issues)?r.error.issues:[];return{success:!1,error:{message:"Invalid request",details:s.map(e=>({field:e.path.join("."),message:e.message}))}}}function o(e){return!1===e.success}[s]=a.then?(await a)():a,s.z.object({password:s.z.string().min(1,"Password is required").max(200)}),e.s(["isValidationFailure",()=>o,"validateBody",()=>n]),r()}catch(e){r(e)}},!1),918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},442315,(e,t,r)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,r)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,r)=>{"use strict";var s=Object.defineProperty,a=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,i={},l={RequestCookies:()=>m,ResponseCookies:()=>g,parseCookie:()=>d,parseSetCookie:()=>p,stringifyCookie:()=>c};for(var u in l)s(i,u,{get:l[u],enumerable:!0});function c(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),s=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?s:`${s}; ${r.join("; ")}`}function d(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[s,a]=[r.slice(0,e),r.slice(e+1)];try{t.set(s,decodeURIComponent(null!=a?a:"true"))}catch{}}return t}function p(e){if(!e)return;let[[t,r],...s]=d(e),{domain:a,expires:n,httponly:o,maxage:i,path:l,samesite:u,secure:c,partitioned:p,priority:m}=Object.fromEntries(s.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,x,y={name:t,value:decodeURIComponent(r),domain:a,...n&&{expires:new Date(n)},...o&&{httpOnly:!0},..."string"==typeof i&&{maxAge:Number(i)},path:l,...u&&{sameSite:h.includes(g=(g=u).toLowerCase())?g:void 0},...c&&{secure:!0},...m&&{priority:f.includes(x=(x=m).toLowerCase())?x:void 0},...p&&{partitioned:!0}};let e={};for(let t in y)y[t]&&(e[t]=y[t]);return e}}t.exports=((e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of n(t))o.call(e,r)||void 0===r||s(e,r,{get:()=>t[r],enumerable:!(i=a(t,r))||i.enumerable});return e})(s({},"__esModule",{value:!0}),i);var h=["strict","lax","none"],f=["low","medium","high"],m=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of d(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let s="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===s).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,s=this._parsed;return s.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(s).map(([e,t])=>c(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>c(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},g=class{constructor(e){var t,r,s;this._parsed=new Map,this._headers=e;const a=null!=(s=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?s:[];for(const e of Array.isArray(a)?a:function(e){if(!e)return[];var t,r,s,a,n,o=[],i=0;function l(){for(;i<e.length&&/\s/.test(e.charAt(i));)i+=1;return i<e.length}for(;i<e.length;){for(t=i,n=!1;l();)if(","===(r=e.charAt(i))){for(s=i,i+=1,l(),a=i;i<e.length&&"="!==(r=e.charAt(i))&&";"!==r&&","!==r;)i+=1;i<e.length&&"="===e.charAt(i)?(n=!0,i=a,o.push(e.substring(t,s)),t=i):i=s+1}else i+=1;(!n||i>=e.length)&&o.push(e.substring(t,e.length))}return o}(a)){const t=p(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let s="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===s)}has(e){return this._parsed.has(e)}set(...e){let[t,r,s]=1===e.length?[e[0].name,e[0].value,e[0]]:e,a=this._parsed;return a.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...s})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=c(r);t.append("set-cookie",e)}}(a,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(c).join("; ")}}},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},256770,e=>{"use strict";var t=e.i(814747),r=e.i(446786);let s="omniroute";function a(){try{return r.default.homedir()}catch{return process.cwd()}}function n(e){if("string"!=typeof e)return null;let r=e.trim();return r?t.default.resolve(r):null}function o(){return t.default.join(a(),`.${s}`)}function i(){a();let e=n(process.env.XDG_CONFIG_HOME);return e?t.default.join(e,s):o()}function l({isCloud:e=!1}={}){if(e)return"/tmp";let t=n(process.env.DATA_DIR);return t||i()}function u(e,r){return!!e&&!!r&&t.default.resolve(e)===t.default.resolve(r)}e.s(["APP_NAME",0,s,"getDefaultDataDir",()=>i,"getLegacyDotDataDir",()=>o,"isSamePath",()=>u,"resolveDataDir",()=>l])},97793,e=>{"use strict";let t=new Set(["host","connection","content-length","keep-alive","proxy-connection","transfer-encoding","te","trailer","upgrade"].map(e=>e.toLowerCase()));function r(e){return t.has(String(e).trim().toLowerCase())}e.s(["isForbiddenUpstreamHeaderName",()=>r])},520179,e=>e.a(async(t,r)=>{try{var s=e.i(745015),a=e.i(89171),n=e.i(841788),o=e.i(266240),i=e.i(676088),l=e.i(200392),u=e.i(195975),c=t([i,l]);[i,l]=c.then?(await c)():c;let f=["claude","codex","droid","openclaw","cline","kilo"];async function d(e){try{let{searchParams:t}=new URL(e.url),r=t.get("tool")||t.get("toolId");if(r&&!f.includes(r))return a.NextResponse.json({error:`Invalid tool: ${r}`},{status:400});if(r){let e=await (0,n.listBackups)(r);return a.NextResponse.json({tool:r,backups:e})}let s={};for(let e of f)s[e]=await (0,n.listBackups)(e);return a.NextResponse.json({backups:s})}catch(e){return console.log("Error listing backups:",e.message),a.NextResponse.json({error:"Failed to list backups"},{status:500})}}async function p(e){let t;try{t=await e.json()}catch{return a.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,o.ensureCliConfigWriteAllowed)();if(e)return a.NextResponse.json({error:e},{status:403});let r=(0,l.validateBody)(i.cliBackupMutationSchema,t);if((0,l.isValidationFailure)(r))return a.NextResponse.json({error:r.error},{status:400});let s=r.data.tool||r.data.toolId,{backupId:u}=r.data;if(!f.includes(s))return a.NextResponse.json({error:`Invalid tool: ${s}`},{status:400});let c=await (0,n.restoreBackup)(s,u);return a.NextResponse.json({success:!0,message:`Backup restored for ${s}`,...c})}catch(e){return console.log("Error restoring backup:",e.message),a.NextResponse.json({error:e.message||"Failed to restore backup"},{status:500})}}async function h(e){let t;try{t=await e.json()}catch{return a.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,l.validateBody)(i.cliBackupMutationSchema,t);if((0,l.isValidationFailure)(e))return a.NextResponse.json({error:e.error},{status:400});let r=e.data.tool||e.data.toolId,{backupId:s}=e.data;if(!f.includes(r))return a.NextResponse.json({error:`Invalid tool: ${r}`},{status:400});let o=await (0,n.deleteBackup)(r,s);return a.NextResponse.json({success:!0,message:`Backup deleted for ${r}`,...o})}catch(e){return console.log("Error deleting backup:",e.message),a.NextResponse.json({error:"Failed to delete backup"},{status:500})}}(0,u.ensureServerEntryExports)([d,p,h]),(0,s.registerServerReference)(d,"401e42e9eabfc47f398170cfc9fb6527788c51e647",null),(0,s.registerServerReference)(p,"406e521f7886d3bccc640fe2d7695df34b01cc08ce",null),(0,s.registerServerReference)(h,"4006936a0c2b6b6ae3322dc29a0265a21c8a6357c0",null),e.s(["DELETE",()=>h,"GET",()=>d,"POST",()=>p]),r()}catch(e){r(e)}},!1),642665,e=>e.a(async(t,r)=>{try{var s=e.i(747909),a=e.i(174017),n=e.i(996250),o=e.i(759756),i=e.i(561916),l=e.i(174677),u=e.i(869741),c=e.i(316795),d=e.i(487718),p=e.i(995169),h=e.i(47587),f=e.i(666012),m=e.i(570101),g=e.i(626937),x=e.i(10372),y=e.i(193695);e.i(52474);var v=e.i(600220),R=e.i(520179),w=t([R]);[R]=w.then?(await w)():w;let k=new s.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/cli-tools/backups/route",pathname:"/api/cli-tools/backups",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/backups/route.ts",nextConfigOutput:"standalone",userland:R}),{workAsyncStorage:C,workUnitAsyncStorage:E,serverHooks:j}=k;function b(){return(0,n.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:E})}async function A(e,t,r){k.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/cli-tools/backups/route";s=s.replace(/\/index$/,"")||"/";let n=await k.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,params:w,nextConfig:b,parsedUrl:A,isDraftMode:C,prerenderManifest:E,routerServerContext:j,isOnDemandRevalidate:_,revalidateOnlyGenerated:S,resolvedPathname:N,clientReferenceManifest:O,serverActionsManifest:P}=n,D=(0,u.normalizeAppPath)(s),I=!!(E.dynamicRoutes[D]||E.routes[N]),q=async()=>((null==j?void 0:j.render404)?await j.render404(e,t,A,!1):t.end("This page could not be found"),null);if(I&&!C){let e=!!E.routes[N],t=E.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(b.experimental.adapterPath)return await q();throw new y.NoFallbackError}}let T=null;!I||k.isDev||C||(T=N,T="/index"===T?"/":T);let $=!0===k.isDev||!I,U=I&&!$;P&&O&&(0,l.setManifestsSingleton)({page:s,clientReferenceManifest:O,serverActionsManifest:P});let M=e.method||"GET",H=(0,i.getTracer)(),B=H.getActiveScopeSpan(),F={params:w,prerenderManifest:E,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:$,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:b.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>k.onRequestError(e,t,s,a,j)},sharedContext:{buildId:R}},L=new c.NodeNextRequest(e),K=new c.NodeNextResponse(t),z=d.NextRequestAdapter.fromNodeNextRequest(L,(0,d.signalFromNodeResponse)(t));try{let n=async e=>k.handle(z,F).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${M} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${s}`)}),l=!!(0,o.getRequestMeta)(e,"minimalMode"),u=async o=>{var i,u;let c=async({previousCacheEntry:a})=>{try{if(!l&&_&&S&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await n(o);e.fetchMetrics=F.renderOpts.fetchMetrics;let i=F.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let u=F.renderOpts.collectedTags;if(!I)return await (0,f.sendResponse)(L,K,s,F.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(s.headers);u&&(t[x.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==F.renderOpts.collectedRevalidate&&!(F.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,a=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:F.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==a?void 0:a.isStale)&&await k.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:_})},!1,j),t}},d=await k.handleResponse({req:e,nextConfig:b,cacheKey:T,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:S,responseGenerator:c,waitUntil:r.waitUntil,isMinimalMode:l});if(!I)return null;if((null==d||null==(i=d.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(u=d.value)?void 0:u.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",_?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,m.fromNodeOutgoingHttpHeaders)(d.value.headers);return l&&I||p.delete(x.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,g.getCacheControlHeader)(d.cacheControl)),await (0,f.sendResponse)(L,K,new Response(d.value.body,{headers:p,status:d.value.status||200})),null};B?await u(B):await H.withPropagatedContext(e.headers,()=>H.trace(p.BaseServerSpan.handleRequest,{spanName:`${M} ${s}`,kind:i.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},u))}catch(t){if(t instanceof y.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:_})},!1,j),I)throw t;return await (0,f.sendResponse)(L,K,new Response(null,{status:500})),null}}e.s(["handler",()=>A,"patchFetch",()=>b,"routeModule",()=>k,"serverHooks",()=>j,"workAsyncStorage",()=>C,"workUnitAsyncStorage",()=>E]),r()}catch(e){r(e)}},!1)];
1
+ module.exports=[677850,e=>e.a(async(t,r)=>{try{let t=await e.y("zod");e.n(t),r()}catch(e){r(e)}},!0),200392,e=>e.a(async(t,r)=>{try{var a=e.i(677850),s=t([a]);function n(e,t){let r=e.safeParse(t);if(r.success)return{success:!0,data:r.data};let a=Array.isArray(r.error?.issues)?r.error.issues:[];return{success:!1,error:{message:"Invalid request",details:a.map(e=>({field:e.path.join("."),message:e.message}))}}}function o(e){return!1===e.success}[a]=s.then?(await s)():s,a.z.object({password:a.z.string().min(1,"Password is required").max(200)}),e.s(["isValidationFailure",()=>o,"validateBody",()=>n]),r()}catch(e){r(e)}},!1),918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},442315,(e,t,r)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,r)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,r)=>{"use strict";var a=Object.defineProperty,s=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,i={},l={RequestCookies:()=>m,ResponseCookies:()=>g,parseCookie:()=>d,parseSetCookie:()=>p,stringifyCookie:()=>c};for(var u in l)a(i,u,{get:l[u],enumerable:!0});function c(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),a=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?a:`${a}; ${r.join("; ")}`}function d(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[a,s]=[r.slice(0,e),r.slice(e+1)];try{t.set(a,decodeURIComponent(null!=s?s:"true"))}catch{}}return t}function p(e){if(!e)return;let[[t,r],...a]=d(e),{domain:s,expires:n,httponly:o,maxage:i,path:l,samesite:u,secure:c,partitioned:p,priority:m}=Object.fromEntries(a.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,x,y={name:t,value:decodeURIComponent(r),domain:s,...n&&{expires:new Date(n)},...o&&{httpOnly:!0},..."string"==typeof i&&{maxAge:Number(i)},path:l,...u&&{sameSite:f.includes(g=(g=u).toLowerCase())?g:void 0},...c&&{secure:!0},...m&&{priority:h.includes(x=(x=m).toLowerCase())?x:void 0},...p&&{partitioned:!0}};let e={};for(let t in y)y[t]&&(e[t]=y[t]);return e}}t.exports=((e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of n(t))o.call(e,r)||void 0===r||a(e,r,{get:()=>t[r],enumerable:!(i=s(t,r))||i.enumerable});return e})(a({},"__esModule",{value:!0}),i);var f=["strict","lax","none"],h=["low","medium","high"],m=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of d(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let a="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===a).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,a=this._parsed;return a.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(a).map(([e,t])=>c(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>c(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},g=class{constructor(e){var t,r,a;this._parsed=new Map,this._headers=e;const s=null!=(a=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?a:[];for(const e of Array.isArray(s)?s:function(e){if(!e)return[];var t,r,a,s,n,o=[],i=0;function l(){for(;i<e.length&&/\s/.test(e.charAt(i));)i+=1;return i<e.length}for(;i<e.length;){for(t=i,n=!1;l();)if(","===(r=e.charAt(i))){for(a=i,i+=1,l(),s=i;i<e.length&&"="!==(r=e.charAt(i))&&";"!==r&&","!==r;)i+=1;i<e.length&&"="===e.charAt(i)?(n=!0,i=s,o.push(e.substring(t,a)),t=i):i=a+1}else i+=1;(!n||i>=e.length)&&o.push(e.substring(t,e.length))}return o}(s)){const t=p(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let a="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===a)}has(e){return this._parsed.has(e)}set(...e){let[t,r,a]=1===e.length?[e[0].name,e[0].value,e[0]]:e,s=this._parsed;return s.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...a})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=c(r);t.append("set-cookie",e)}}(s,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(c).join("; ")}}},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},256770,e=>{"use strict";var t=e.i(814747),r=e.i(446786);let a="omniroute";function s(){try{return r.default.homedir()}catch{return process.cwd()}}function n(e){if("string"!=typeof e)return null;let r=e.trim();return r?t.default.resolve(r):null}function o(){return t.default.join(s(),`.${a}`)}function i(){s();let e=n(process.env.XDG_CONFIG_HOME);return e?t.default.join(e,a):o()}function l({isCloud:e=!1}={}){if(e)return"/tmp";let t=n(process.env.DATA_DIR);return t||i()}function u(e,r){return!!e&&!!r&&t.default.resolve(e)===t.default.resolve(r)}e.s(["APP_NAME",0,a,"getDefaultDataDir",()=>i,"getLegacyDotDataDir",()=>o,"isSamePath",()=>u,"resolveDataDir",()=>l])},97793,e=>{"use strict";let t=new Set(["host","connection","content-length","keep-alive","proxy-connection","transfer-encoding","te","trailer","upgrade"].map(e=>e.toLowerCase()));function r(e){return t.has(String(e).trim().toLowerCase())}e.s(["isForbiddenUpstreamHeaderName",()=>r])},520179,e=>e.a(async(t,r)=>{try{var a=e.i(745015),s=e.i(89171),n=e.i(841788),o=e.i(266240),i=e.i(676088),l=e.i(200392),u=e.i(195975),c=t([i,l]);[i,l]=c.then?(await c)():c;let h=["claude","codex","droid","openclaw","cline","kilo"];async function d(e){try{let{searchParams:t}=new URL(e.url),r=t.get("tool")||t.get("toolId");if(r&&!h.includes(r))return s.NextResponse.json({error:`Invalid tool: ${r}`},{status:400});if(r){let e=await (0,n.listBackups)(r);return s.NextResponse.json({tool:r,backups:e})}let a={};for(let e of h)a[e]=await (0,n.listBackups)(e);return s.NextResponse.json({backups:a})}catch(e){return console.log("Error listing backups:",e.message),s.NextResponse.json({error:"Failed to list backups"},{status:500})}}async function p(e){let t;try{t=await e.json()}catch{return s.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,o.ensureCliConfigWriteAllowed)();if(e)return s.NextResponse.json({error:e},{status:403});let r=(0,l.validateBody)(i.cliBackupMutationSchema,t);if((0,l.isValidationFailure)(r))return s.NextResponse.json({error:r.error},{status:400});let a=r.data.tool||r.data.toolId,{backupId:u}=r.data;if(!h.includes(a))return s.NextResponse.json({error:`Invalid tool: ${a}`},{status:400});let c=await (0,n.restoreBackup)(a,u);return s.NextResponse.json({success:!0,message:`Backup restored for ${a}`,...c})}catch(e){return console.log("Error restoring backup:",e.message),s.NextResponse.json({error:e.message||"Failed to restore backup"},{status:500})}}async function f(e){let t;try{t=await e.json()}catch{return s.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,l.validateBody)(i.cliBackupMutationSchema,t);if((0,l.isValidationFailure)(e))return s.NextResponse.json({error:e.error},{status:400});let r=e.data.tool||e.data.toolId,{backupId:a}=e.data;if(!h.includes(r))return s.NextResponse.json({error:`Invalid tool: ${r}`},{status:400});let o=await (0,n.deleteBackup)(r,a);return s.NextResponse.json({success:!0,message:`Backup deleted for ${r}`,...o})}catch(e){return console.log("Error deleting backup:",e.message),s.NextResponse.json({error:"Failed to delete backup"},{status:500})}}(0,u.ensureServerEntryExports)([d,p,f]),(0,a.registerServerReference)(d,"407170d9b9a9630c681e5ca021fea8ae5aedfa8271",null),(0,a.registerServerReference)(p,"40edcd2f13072881d06f4ffa67cb07d3fc2de96f9d",null),(0,a.registerServerReference)(f,"40b0b3c00042bc2a0269736c38a8094a2a00a50859",null),e.s(["DELETE",()=>f,"GET",()=>d,"POST",()=>p]),r()}catch(e){r(e)}},!1),642665,e=>e.a(async(t,r)=>{try{var a=e.i(747909),s=e.i(174017),n=e.i(996250),o=e.i(759756),i=e.i(561916),l=e.i(174677),u=e.i(869741),c=e.i(316795),d=e.i(487718),p=e.i(995169),f=e.i(47587),h=e.i(666012),m=e.i(570101),g=e.i(626937),x=e.i(10372),y=e.i(193695);e.i(52474);var v=e.i(600220),R=e.i(520179),w=t([R]);[R]=w.then?(await w)():w;let k=new a.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/cli-tools/backups/route",pathname:"/api/cli-tools/backups",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/backups/route.ts",nextConfigOutput:"standalone",userland:R}),{workAsyncStorage:C,workUnitAsyncStorage:E,serverHooks:j}=k;function b(){return(0,n.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:E})}async function A(e,t,r){k.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/cli-tools/backups/route";a=a.replace(/\/index$/,"")||"/";let n=await k.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,params:w,nextConfig:b,parsedUrl:A,isDraftMode:C,prerenderManifest:E,routerServerContext:j,isOnDemandRevalidate:_,revalidateOnlyGenerated:S,resolvedPathname:N,clientReferenceManifest:O,serverActionsManifest:P}=n,D=(0,u.normalizeAppPath)(a),I=!!(E.dynamicRoutes[D]||E.routes[N]),q=async()=>((null==j?void 0:j.render404)?await j.render404(e,t,A,!1):t.end("This page could not be found"),null);if(I&&!C){let e=!!E.routes[N],t=E.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(b.experimental.adapterPath)return await q();throw new y.NoFallbackError}}let T=null;!I||k.isDev||C||(T=N,T="/index"===T?"/":T);let $=!0===k.isDev||!I,U=I&&!$;P&&O&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:O,serverActionsManifest:P});let M=e.method||"GET",H=(0,i.getTracer)(),B=H.getActiveScopeSpan(),F={params:w,prerenderManifest:E,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:$,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:b.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>k.onRequestError(e,t,a,s,j)},sharedContext:{buildId:R}},L=new c.NodeNextRequest(e),K=new c.NodeNextResponse(t),z=d.NextRequestAdapter.fromNodeNextRequest(L,(0,d.signalFromNodeResponse)(t));try{let n=async e=>k.handle(z,F).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route");if(s){let t=`${M} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${a}`)}),l=!!(0,o.getRequestMeta)(e,"minimalMode"),u=async o=>{var i,u;let c=async({previousCacheEntry:s})=>{try{if(!l&&_&&S&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await n(o);e.fetchMetrics=F.renderOpts.fetchMetrics;let i=F.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let u=F.renderOpts.collectedTags;if(!I)return await (0,h.sendResponse)(L,K,a,F.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(a.headers);u&&(t[x.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==F.renderOpts.collectedRevalidate&&!(F.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,s=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:F.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==s?void 0:s.isStale)&&await k.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:_})},!1,j),t}},d=await k.handleResponse({req:e,nextConfig:b,cacheKey:T,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:S,responseGenerator:c,waitUntil:r.waitUntil,isMinimalMode:l});if(!I)return null;if((null==d||null==(i=d.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(u=d.value)?void 0:u.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",_?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,m.fromNodeOutgoingHttpHeaders)(d.value.headers);return l&&I||p.delete(x.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,g.getCacheControlHeader)(d.cacheControl)),await (0,h.sendResponse)(L,K,new Response(d.value.body,{headers:p,status:d.value.status||200})),null};B?await u(B):await H.withPropagatedContext(e.headers,()=>H.trace(p.BaseServerSpan.handleRequest,{spanName:`${M} ${a}`,kind:i.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},u))}catch(t){if(t instanceof y.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:_})},!1,j),I)throw t;return await (0,h.sendResponse)(L,K,new Response(null,{status:500})),null}}e.s(["handler",()=>A,"patchFetch",()=>b,"routeModule",()=>k,"serverHooks",()=>j,"workAsyncStorage",()=>C,"workUnitAsyncStorage",()=>E]),r()}catch(e){r(e)}},!1)];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__7fa4d14e._.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),c=e.i(197892),u=e.i(676088),p=e.i(200392);e.i(245272);var f=e.i(125852),h=e.i(195975),g=t([u,p]);[u,p]=g.then?(await g)():g;let w=o.default.join(l.default.homedir(),".cline","data"),y=o.default.join(w,"globalState.json"),A=o.default.join(w,"secrets.json"),E=async()=>{try{let e=await i.default.readFile(y,"utf-8");return JSON.parse(e)}catch(e){if("ENOENT"===e.code)return null;throw e}},N=async()=>{try{let e=await i.default.readFile(A,"utf-8");return JSON.parse(e)}catch(e){if("ENOENT"===e.code)return{};throw e}};async function R(){try{let e=await (0,s.getCliRuntimeStatus)("cline");if(!e.installed||!e.runnable)return 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 E();return await N(),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:y,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 m(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,h="string"==typeof t?.keyId?t.keyId.trim():null;if(h)try{let e=await (0,f.getApiKeyById)(h);e?.key&&(o=e.key)}catch{}await i.default.mkdir(w,{recursive:!0}),await (0,d.createBackup)("cline",y),await (0,d.createBackup)("cline",A);let g={};try{let e=await i.default.readFile(y,"utf-8");g=JSON.parse(e)}catch{}let R=n.endsWith("/v1")?n.slice(0,-3):n;g.actModeApiProvider="openai",g.planModeApiProvider="openai",g.openAiBaseUrl=R,g.openAiModelId=l,g.planModeOpenAiModelId=l,await i.default.writeFile(y,JSON.stringify(g,null,2));let m={};try{let e=await i.default.readFile(A,"utf-8");m=JSON.parse(e)}catch{}m.openAiApiKey=o||"sk_omniroute",await i.default.writeFile(A,JSON.stringify(m,null,2));try{(0,c.saveCliToolLastConfigured)("cline")}catch{}return r.NextResponse.json({success:!0,message:"Cline settings applied successfully!",globalStatePath:y})}catch(e){return console.log("Error updating cline settings:",e),r.NextResponse.json({error:"Failed to update cline settings"},{status:500})}}async function v(){try{let e=(0,s.ensureCliConfigWriteAllowed)();if(e)return r.NextResponse.json({error:e},{status:403});await (0,d.createBackup)("cline",y),await (0,d.createBackup)("cline",A);let t={};try{let e=await i.default.readFile(y,"utf-8");t=JSON.parse(e)}catch(e){if("ENOENT"===e.code)return 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(y,JSON.stringify(t,null,2));let a={};try{let e=await i.default.readFile(A,"utf-8");a=JSON.parse(e)}catch{}delete a.openAiApiKey,await i.default.writeFile(A,JSON.stringify(a,null,2));try{(0,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,h.ensureServerEntryExports)([R,m,v]),(0,n.registerServerReference)(R,"0051930b384efb4241009e60c508d8c14810f42f6b",null),(0,n.registerServerReference)(m,"40378f8c478c5ef61f303aa76673b3a444d93e50d9",null),(0,n.registerServerReference)(v,"00ea9ef9dadcdc1945ca2404ef3193247aff80ddfe",null),e.s(["DELETE",()=>v,"GET",()=>R,"POST",()=>m]),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),y=e.i(467388),A=t([y]);[y]=A.then?(await A)():A;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:y}),{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:y,params:A,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),k=!!(O.dynamicRoutes[j]||O.routes[b]),F=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,N,!1):t.end("This page could not be found"),null);if(k&&!x){let e=!!O.routes[b],t=O.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await F();throw new v.NoFallbackError}}let U=null;!k||C.isDev||x||(U=b,U="/index"===U?"/":U);let _=!0===C.isDev||!k,H=k&&!_;I&&T&&(0,s.setManifestsSingleton)({page:n,clientReferenceManifest:T,serverActionsManifest:I});let B=e.method||"GET",q=(0,l.getTracer)(),D=q.getActiveScopeSpan(),J={params:A,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:y}},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=q.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=`${B} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t)}else e.updateName(`${B} ${n}`)}),s=!!(0,o.getRequestMeta)(e,"minimalMode"),d=async o=>{var l,d;let c=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(!k)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}},u=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:c,waitUntil:a.waitUntil,isMinimalMode:s});if(!k)return null;if((null==u||null==(l=u.value)?void 0:l.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(d=u.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",M?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,g.fromNodeOutgoingHttpHeaders)(u.value.headers);return s&&k||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 q.withPropagatedContext(e.headers,()=>q.trace(p.BaseServerSpan.handleRequest,{spanName:`${B} ${n}`,kind:l.SpanKind.SERVER,attributes:{"http.method":B,"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),k)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);e.i(245272);var h=e.i(125852),f=e.i(195975),g=t([u,p]);[u,p]=g.then?(await g)():g;let w=o.default.join(l.default.homedir(),".cline","data"),y=o.default.join(w,"globalState.json"),A=o.default.join(w,"secrets.json"),E=async()=>{try{let e=await i.default.readFile(y,"utf-8");return JSON.parse(e)}catch(e){if("ENOENT"===e.code)return null;throw e}},N=async()=>{try{let e=await i.default.readFile(A,"utf-8");return JSON.parse(e)}catch(e){if("ENOENT"===e.code)return{};throw e}};async function R(){try{let e=await (0,s.getCliRuntimeStatus)("cline");if(!e.installed||!e.runnable)return 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 E();return await N(),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:y,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 m(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,f="string"==typeof t?.keyId?t.keyId.trim():null;if(f)try{let e=await (0,h.getApiKeyById)(f);e?.key&&(o=e.key)}catch{}await i.default.mkdir(w,{recursive:!0}),await (0,d.createBackup)("cline",y),await (0,d.createBackup)("cline",A);let g={};try{let e=await i.default.readFile(y,"utf-8");g=JSON.parse(e)}catch{}let R=n.endsWith("/v1")?n.slice(0,-3):n;g.actModeApiProvider="openai",g.planModeApiProvider="openai",g.openAiBaseUrl=R,g.openAiModelId=l,g.planModeOpenAiModelId=l,await i.default.writeFile(y,JSON.stringify(g,null,2));let m={};try{let e=await i.default.readFile(A,"utf-8");m=JSON.parse(e)}catch{}m.openAiApiKey=o||"sk_omniroute",await i.default.writeFile(A,JSON.stringify(m,null,2));try{(0,c.saveCliToolLastConfigured)("cline")}catch{}return r.NextResponse.json({success:!0,message:"Cline settings applied successfully!",globalStatePath:y})}catch(e){return console.log("Error updating cline settings:",e),r.NextResponse.json({error:"Failed to update cline settings"},{status:500})}}async function v(){try{let e=(0,s.ensureCliConfigWriteAllowed)();if(e)return r.NextResponse.json({error:e},{status:403});await (0,d.createBackup)("cline",y),await (0,d.createBackup)("cline",A);let t={};try{let e=await i.default.readFile(y,"utf-8");t=JSON.parse(e)}catch(e){if("ENOENT"===e.code)return 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(y,JSON.stringify(t,null,2));let a={};try{let e=await i.default.readFile(A,"utf-8");a=JSON.parse(e)}catch{}delete a.openAiApiKey,await i.default.writeFile(A,JSON.stringify(a,null,2));try{(0,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)([R,m,v]),(0,n.registerServerReference)(R,"0060a0fc77c6d9fe5b5112de9c85938025fab9f10c",null),(0,n.registerServerReference)(m,"405149309cd2267ab0d817e6b5211f79a99e4e5754",null),(0,n.registerServerReference)(v,"004851baca4d1223c33e03ba2671dc607b51f54d75",null),e.s(["DELETE",()=>v,"GET",()=>R,"POST",()=>m]),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),h=e.i(47587),f=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),y=e.i(467388),A=t([y]);[y]=A.then?(await A)():A;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:y}),{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:y,params:A,nextConfig:E,parsedUrl:N,isDraftMode:x,prerenderManifest:O,routerServerContext:P,isOnDemandRevalidate:b,revalidateOnlyGenerated:M,resolvedPathname:S,clientReferenceManifest:T,serverActionsManifest:I}=i,j=(0,d.normalizeAppPath)(n),k=!!(O.dynamicRoutes[j]||O.routes[S]),F=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,N,!1):t.end("This page could not be found"),null);if(k&&!x){let e=!!O.routes[S],t=O.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await F();throw new v.NoFallbackError}}let U=null;!k||C.isDev||x||(U=S,U="/index"===U?"/":U);let _=!0===C.isDev||!k,H=k&&!_;I&&T&&(0,s.setManifestsSingleton)({page:n,clientReferenceManifest:T,serverActionsManifest:I});let B=e.method||"GET",q=(0,l.getTracer)(),D=q.getActiveScopeSpan(),J={params:A,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:y}},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=q.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=`${B} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t)}else e.updateName(`${B} ${n}`)}),s=!!(0,o.getRequestMeta)(e,"minimalMode"),d=async o=>{var l,d;let c=async({previousCacheEntry:r})=>{try{if(!s&&b&&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(!k)return await (0,f.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,h.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:b})},!1,P),t}},u=await C.handleResponse({req:e,nextConfig:E,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:M,responseGenerator:c,waitUntil:a.waitUntil,isMinimalMode:s});if(!k)return null;if((null==u||null==(l=u.value)?void 0:l.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(d=u.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",b?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,g.fromNodeOutgoingHttpHeaders)(u.value.headers);return s&&k||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,f.sendResponse)(K,L,new Response(u.value.body,{headers:p,status:u.value.status||200})),null};D?await d(D):await q.withPropagatedContext(e.headers,()=>q.trace(p.BaseServerSpan.handleRequest,{spanName:`${B} ${n}`,kind:l.SpanKind.SERVER,attributes:{"http.method":B,"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,h.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:b})},!1,P),k)throw t;return await (0,f.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)];
2
2
 
3
3
  //# sourceMappingURL=_05c48915._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[522051,e=>e.a(async(t,a)=>{try{var r=e.i(745015),n=e.i(89171),s=e.i(924868),i=e.i(814747),o=e.i(266240),l=e.i(841788),u=e.i(197892),d=e.i(676088),c=e.i(200392);e.i(245272);var p=e.i(125852),h=e.i(195975),R=t([d,c]);[d,c]=R.then?(await R)():R;let m=()=>(0,o.getCliPrimaryConfigPath)("claude"),v=async()=>{try{let e=m(),t=await s.default.readFile(e,"utf-8");return JSON.parse(t)}catch(e){if("ENOENT"===e.code)return null;throw e}};async function f(){try{let e=await (0,o.getCliRuntimeStatus)("claude");if(!e.installed||!e.runnable)return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:null,message:e.installed&&!e.runnable?"Claude CLI is installed but not runnable":"Claude CLI is not installed"});let t=await v(),a=!!t?.env?.ANTHROPIC_BASE_URL;return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:t,hasOmniRoute:a,settingsPath:m()})}catch(e){return console.log("Error checking claude settings:",e),n.NextResponse.json({error:"Failed to check claude settings"},{status:500})}}async function g(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,o.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let a=(0,c.validateBody)(d.cliSettingsEnvSchema,t);if((0,c.isValidationFailure)(a))return n.NextResponse.json({error:a.error},{status:400});let{env:r}=a.data,h="string"==typeof t?.keyId?t.keyId.trim():null;if(h)try{let e=await (0,p.getApiKeyById)(h);e?.key&&(r.ANTHROPIC_AUTH_TOKEN=e.key)}catch{}let R=m(),f=i.default.dirname(R);await s.default.mkdir(f,{recursive:!0}),await (0,l.createBackup)("claude",R);let g={};try{let e=await s.default.readFile(R,"utf-8");g=JSON.parse(e)}catch(e){if("ENOENT"!==e.code)throw e}r.ANTHROPIC_BASE_URL&&(r.ANTHROPIC_BASE_URL=r.ANTHROPIC_BASE_URL.endsWith("/v1")?r.ANTHROPIC_BASE_URL:`${r.ANTHROPIC_BASE_URL}/v1`);let E={...g,env:{...g.env||{},...r}};await s.default.writeFile(R,JSON.stringify(E,null,2));try{(0,u.saveCliToolLastConfigured)("claude")}catch{}return n.NextResponse.json({success:!0,message:"Settings updated successfully"})}catch(e){return console.log("Error updating claude settings:",e),n.NextResponse.json({error:"Failed to update claude settings"},{status:500})}}let N=["ANTHROPIC_BASE_URL","ANTHROPIC_AUTH_TOKEN","ANTHROPIC_DEFAULT_OPUS_MODEL","ANTHROPIC_DEFAULT_SONNET_MODEL","ANTHROPIC_DEFAULT_HAIKU_MODEL","API_TIMEOUT_MS"];async function E(){try{let e=(0,o.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let t=m(),a={};try{let e=await s.default.readFile(t,"utf-8");a=JSON.parse(e)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({success:!0,message:"No settings file to reset"});throw e}await (0,l.createBackup)("claude",t),a.env&&(N.forEach(e=>{delete a.env[e]}),0===Object.keys(a.env).length&&delete a.env),await s.default.writeFile(t,JSON.stringify(a,null,2));try{(0,u.deleteCliToolLastConfigured)("claude")}catch{}return n.NextResponse.json({success:!0,message:"Settings reset successfully"})}catch(e){return console.log("Error resetting claude settings:",e),n.NextResponse.json({error:"Failed to reset claude settings"},{status:500})}}(0,h.ensureServerEntryExports)([f,g,E]),(0,r.registerServerReference)(f,"00cc6bffb49acceadd574fb8de6fc7471516ec16c3",null),(0,r.registerServerReference)(g,"40eb9ddfd7ab18be09bcda728b8e8e235dd3c1eabb",null),(0,r.registerServerReference)(E,"006488739e71f4fbe2710211ef5ba9184269f1a2db",null),e.s(["DELETE",()=>E,"GET",()=>f,"POST",()=>g]),a()}catch(e){a(e)}},!1),825593,e=>e.a(async(t,a)=>{try{var r=e.i(747909),n=e.i(174017),s=e.i(996250),i=e.i(759756),o=e.i(561916),l=e.i(174677),u=e.i(869741),d=e.i(316795),c=e.i(487718),p=e.i(995169),h=e.i(47587),R=e.i(666012),f=e.i(570101),g=e.i(626937),E=e.i(10372),m=e.i(193695);e.i(52474);var v=e.i(600220),N=e.i(522051),C=t([N]);[N]=C.then?(await C)():C;let w=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/claude-settings/route",pathname:"/api/cli-tools/claude-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/claude-settings/route.ts",nextConfigOutput:"standalone",userland:N}),{workAsyncStorage:T,workUnitAsyncStorage:O,serverHooks:_}=w;function y(){return(0,s.patchFetch)({workAsyncStorage:T,workUnitAsyncStorage:O})}async function A(e,t,a){w.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/cli-tools/claude-settings/route";r=r.replace(/\/index$/,"")||"/";let s=await w.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:N,params:C,nextConfig:y,parsedUrl:A,isDraftMode:T,prerenderManifest:O,routerServerContext:_,isOnDemandRevalidate:b,revalidateOnlyGenerated:P,resolvedPathname:S,clientReferenceManifest:x,serverActionsManifest:I}=s,H=(0,u.normalizeAppPath)(r),U=!!(O.dynamicRoutes[H]||O.routes[S]),k=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,A,!1):t.end("This page could not be found"),null);if(U&&!T){let e=!!O.routes[S],t=O.dynamicRoutes[H];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await k();throw new m.NoFallbackError}}let L=null;!U||w.isDev||T||(L=S,L="/index"===L?"/":L);let j=!0===w.isDev||!U,M=U&&!j;I&&x&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:x,serverActionsManifest:I});let D=e.method||"GET",F=(0,o.getTracer)(),B=F.getActiveScopeSpan(),q={params:C,prerenderManifest:O,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:j,incrementalCache:(0,i.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>w.onRequestError(e,t,r,n,_)},sharedContext:{buildId:N}},K=new d.NodeNextRequest(e),$=new d.NodeNextResponse(t),J=c.NextRequestAdapter.fromNodeNextRequest(K,(0,c.signalFromNodeResponse)(t));try{let s=async e=>w.handle(J,q).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=F.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${D} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${D} ${r}`)}),l=!!(0,i.getRequestMeta)(e,"minimalMode"),u=async i=>{var o,u;let d=async({previousCacheEntry:n})=>{try{if(!l&&b&&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(i);e.fetchMetrics=q.renderOpts.fetchMetrics;let o=q.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let u=q.renderOpts.collectedTags;if(!U)return await (0,R.sendResponse)(K,$,r,q.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(r.headers);u&&(t[E.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==q.renderOpts.collectedRevalidate&&!(q.renderOpts.collectedRevalidate>=E.INFINITE_CACHE)&&q.renderOpts.collectedRevalidate,n=void 0===q.renderOpts.collectedExpire||q.renderOpts.collectedExpire>=E.INFINITE_CACHE?void 0:q.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 w.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:b})},!1,_),t}},c=await w.handleResponse({req:e,nextConfig:y,cacheKey:L,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:P,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:l});if(!U)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(u=c.value)?void 0:u.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",b?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),T&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return l&&U||p.delete(E.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,R.sendResponse)(K,$,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};B?await u(B):await F.withPropagatedContext(e.headers,()=>F.trace(p.BaseServerSpan.handleRequest,{spanName:`${D} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},u))}catch(t){if(t instanceof m.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:b})},!1,_),U)throw t;return await (0,R.sendResponse)(K,$,new Response(null,{status:500})),null}}e.s(["handler",()=>A,"patchFetch",()=>y,"routeModule",()=>w,"serverHooks",()=>_,"workAsyncStorage",()=>T,"workUnitAsyncStorage",()=>O]),a()}catch(e){a(e)}},!1)];
1
+ module.exports=[522051,e=>e.a(async(t,a)=>{try{var r=e.i(745015),n=e.i(89171),s=e.i(924868),i=e.i(814747),o=e.i(266240),l=e.i(841788),u=e.i(197892),d=e.i(676088),c=e.i(200392);e.i(245272);var p=e.i(125852),h=e.i(195975),R=t([d,c]);[d,c]=R.then?(await R)():R;let m=()=>(0,o.getCliPrimaryConfigPath)("claude"),v=async()=>{try{let e=m(),t=await s.default.readFile(e,"utf-8");return JSON.parse(t)}catch(e){if("ENOENT"===e.code)return null;throw e}};async function f(){try{let e=await (0,o.getCliRuntimeStatus)("claude");if(!e.installed||!e.runnable)return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:null,message:e.installed&&!e.runnable?"Claude CLI is installed but not runnable":"Claude CLI is not installed"});let t=await v(),a=!!t?.env?.ANTHROPIC_BASE_URL;return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:t,hasOmniRoute:a,settingsPath:m()})}catch(e){return console.log("Error checking claude settings:",e),n.NextResponse.json({error:"Failed to check claude settings"},{status:500})}}async function g(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,o.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let a=(0,c.validateBody)(d.cliSettingsEnvSchema,t);if((0,c.isValidationFailure)(a))return n.NextResponse.json({error:a.error},{status:400});let{env:r}=a.data,h="string"==typeof t?.keyId?t.keyId.trim():null;if(h)try{let e=await (0,p.getApiKeyById)(h);e?.key&&(r.ANTHROPIC_AUTH_TOKEN=e.key)}catch{}let R=m(),f=i.default.dirname(R);await s.default.mkdir(f,{recursive:!0}),await (0,l.createBackup)("claude",R);let g={};try{let e=await s.default.readFile(R,"utf-8");g=JSON.parse(e)}catch(e){if("ENOENT"!==e.code)throw e}r.ANTHROPIC_BASE_URL&&(r.ANTHROPIC_BASE_URL=r.ANTHROPIC_BASE_URL.endsWith("/v1")?r.ANTHROPIC_BASE_URL:`${r.ANTHROPIC_BASE_URL}/v1`);let E={...g,env:{...g.env||{},...r}};await s.default.writeFile(R,JSON.stringify(E,null,2));try{(0,u.saveCliToolLastConfigured)("claude")}catch{}return n.NextResponse.json({success:!0,message:"Settings updated successfully"})}catch(e){return console.log("Error updating claude settings:",e),n.NextResponse.json({error:"Failed to update claude settings"},{status:500})}}let N=["ANTHROPIC_BASE_URL","ANTHROPIC_AUTH_TOKEN","ANTHROPIC_DEFAULT_OPUS_MODEL","ANTHROPIC_DEFAULT_SONNET_MODEL","ANTHROPIC_DEFAULT_HAIKU_MODEL","API_TIMEOUT_MS"];async function E(){try{let e=(0,o.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let t=m(),a={};try{let e=await s.default.readFile(t,"utf-8");a=JSON.parse(e)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({success:!0,message:"No settings file to reset"});throw e}await (0,l.createBackup)("claude",t),a.env&&(N.forEach(e=>{delete a.env[e]}),0===Object.keys(a.env).length&&delete a.env),await s.default.writeFile(t,JSON.stringify(a,null,2));try{(0,u.deleteCliToolLastConfigured)("claude")}catch{}return n.NextResponse.json({success:!0,message:"Settings reset successfully"})}catch(e){return console.log("Error resetting claude settings:",e),n.NextResponse.json({error:"Failed to reset claude settings"},{status:500})}}(0,h.ensureServerEntryExports)([f,g,E]),(0,r.registerServerReference)(f,"00207c471a9fefa2edf2e9871f554bcb9e1ec92bda",null),(0,r.registerServerReference)(g,"40bb36079014c17f88055a6c6ed2f15dbddc418ce5",null),(0,r.registerServerReference)(E,"004fde1eac893fa5ab5ca464322b0f62d1fa07c3d1",null),e.s(["DELETE",()=>E,"GET",()=>f,"POST",()=>g]),a()}catch(e){a(e)}},!1),825593,e=>e.a(async(t,a)=>{try{var r=e.i(747909),n=e.i(174017),s=e.i(996250),i=e.i(759756),o=e.i(561916),l=e.i(174677),u=e.i(869741),d=e.i(316795),c=e.i(487718),p=e.i(995169),h=e.i(47587),R=e.i(666012),f=e.i(570101),g=e.i(626937),E=e.i(10372),m=e.i(193695);e.i(52474);var v=e.i(600220),N=e.i(522051),C=t([N]);[N]=C.then?(await C)():C;let w=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/claude-settings/route",pathname:"/api/cli-tools/claude-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/claude-settings/route.ts",nextConfigOutput:"standalone",userland:N}),{workAsyncStorage:T,workUnitAsyncStorage:O,serverHooks:_}=w;function y(){return(0,s.patchFetch)({workAsyncStorage:T,workUnitAsyncStorage:O})}async function A(e,t,a){w.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/cli-tools/claude-settings/route";r=r.replace(/\/index$/,"")||"/";let s=await w.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:N,params:C,nextConfig:y,parsedUrl:A,isDraftMode:T,prerenderManifest:O,routerServerContext:_,isOnDemandRevalidate:P,revalidateOnlyGenerated:S,resolvedPathname:x,clientReferenceManifest:b,serverActionsManifest:I}=s,H=(0,u.normalizeAppPath)(r),U=!!(O.dynamicRoutes[H]||O.routes[x]),k=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,A,!1):t.end("This page could not be found"),null);if(U&&!T){let e=!!O.routes[x],t=O.dynamicRoutes[H];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await k();throw new m.NoFallbackError}}let L=null;!U||w.isDev||T||(L=x,L="/index"===L?"/":L);let j=!0===w.isDev||!U,M=U&&!j;I&&b&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:b,serverActionsManifest:I});let D=e.method||"GET",F=(0,o.getTracer)(),B=F.getActiveScopeSpan(),q={params:C,prerenderManifest:O,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:j,incrementalCache:(0,i.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>w.onRequestError(e,t,r,n,_)},sharedContext:{buildId:N}},K=new d.NodeNextRequest(e),$=new d.NodeNextResponse(t),J=c.NextRequestAdapter.fromNodeNextRequest(K,(0,c.signalFromNodeResponse)(t));try{let s=async e=>w.handle(J,q).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=F.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${D} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${D} ${r}`)}),l=!!(0,i.getRequestMeta)(e,"minimalMode"),u=async i=>{var o,u;let d=async({previousCacheEntry:n})=>{try{if(!l&&P&&S&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await s(i);e.fetchMetrics=q.renderOpts.fetchMetrics;let o=q.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let u=q.renderOpts.collectedTags;if(!U)return await (0,R.sendResponse)(K,$,r,q.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(r.headers);u&&(t[E.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==q.renderOpts.collectedRevalidate&&!(q.renderOpts.collectedRevalidate>=E.INFINITE_CACHE)&&q.renderOpts.collectedRevalidate,n=void 0===q.renderOpts.collectedExpire||q.renderOpts.collectedExpire>=E.INFINITE_CACHE?void 0:q.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 w.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:P})},!1,_),t}},c=await w.handleResponse({req:e,nextConfig:y,cacheKey:L,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:S,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:l});if(!U)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(u=c.value)?void 0:u.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",P?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),T&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return l&&U||p.delete(E.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,R.sendResponse)(K,$,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};B?await u(B):await F.withPropagatedContext(e.headers,()=>F.trace(p.BaseServerSpan.handleRequest,{spanName:`${D} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},u))}catch(t){if(t instanceof m.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:P})},!1,_),U)throw t;return await (0,R.sendResponse)(K,$,new Response(null,{status:500})),null}}e.s(["handler",()=>A,"patchFetch",()=>y,"routeModule",()=>w,"serverHooks",()=>_,"workAsyncStorage",()=>T,"workUnitAsyncStorage",()=>O]),a()}catch(e){a(e)}},!1)];
2
2
 
3
3
  //# sourceMappingURL=_06515a8a._.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);e.i(245272);var p=e.i(125852),m=e.i(195975),h=t([u,c]);[u,c]=h.then?(await h)():h;let R=()=>(0,i.getCliPrimaryConfigPath)("openclaw"),v=async()=>{try{let e=R(),t=await s.default.readFile(e,"utf-8");return JSON.parse(t)}catch(e){if("ENOENT"===e.code)return null;throw e}};async function f(){try{let e=await (0,i.getCliRuntimeStatus)("openclaw");if(!e.installed||!e.runnable)return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:null,message:e.installed&&!e.runnable?"Open Claw CLI is installed but not runnable":"Open Claw CLI is not installed"});let t=await v();return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:t,hasOmniRoute:!!t&&!!t.models&&!!t.models.providers&&!!t.models.providers.omniroute,settingsPath:R()})}catch(e){return console.log("Error checking openclaw settings:",e),n.NextResponse.json({error:"Failed to check openclaw settings"},{status:500})}}async function g(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let a=(0,c.validateBody)(u.cliModelConfigSchema,t);if((0,c.isValidationFailure)(a))return n.NextResponse.json({error:a.error},{status:400});let{baseUrl:r,apiKey:m,model:h}=a.data,f="string"==typeof t?.keyId?t.keyId.trim():null;if(f)try{let e=await (0,p.getApiKeyById)(f);e?.key&&(m=e.key)}catch{}let g=o.default.dirname(R()),w=R();await s.default.mkdir(g,{recursive:!0}),await (0,l.createBackup)("openclaw",w);let v={};try{let e=await s.default.readFile(w,"utf-8");v=JSON.parse(e)}catch{}v.agents||(v.agents={}),v.agents.defaults||(v.agents.defaults={}),v.agents.defaults.model||(v.agents.defaults.model={}),v.models||(v.models={}),v.models.providers||(v.models.providers={});let y=r.endsWith("/v1")?r:`${r}/v1`;v.agents.defaults.model.primary=`omniroute/${h}`,v.models.providers.omniroute={baseUrl:y,apiKey:m||"your_api_key",api:"openai-completions",models:[{id:h,name:h.split("/").pop()||h}]},await s.default.writeFile(w,JSON.stringify(v,null,2));try{(0,d.saveCliToolLastConfigured)("openclaw")}catch{}return n.NextResponse.json({success:!0,message:"Open Claw settings applied successfully!",settingsPath:w})}catch(e){return console.log("Error updating openclaw settings:",e),n.NextResponse.json({error:"Failed to update openclaw settings"},{status:500})}}async function w(){try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let t=R();await (0,l.createBackup)("openclaw",t);let a={};try{let e=await s.default.readFile(t,"utf-8");a=JSON.parse(e)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({success:!0,message:"No settings file to reset"});throw e}a.models&&a.models.providers&&(delete a.models.providers.omniroute,0===Object.keys(a.models.providers).length&&delete a.models.providers),a.agents?.defaults?.model?.primary?.startsWith("omniroute/")&&delete a.agents.defaults.model.primary,await s.default.writeFile(t,JSON.stringify(a,null,2));try{(0,d.deleteCliToolLastConfigured)("openclaw")}catch{}return n.NextResponse.json({success:!0,message:"OmniRoute settings removed successfully"})}catch(e){return console.log("Error resetting openclaw settings:",e),n.NextResponse.json({error:"Failed to reset openclaw settings"},{status:500})}}(0,m.ensureServerEntryExports)([f,g,w]),(0,r.registerServerReference)(f,"00964de78b0c3ab47ccb7d6f5bc21b34cc9e5ae6b5",null),(0,r.registerServerReference)(g,"40b05e2a4a1b17abdde206858cd865dfbff6241895",null),(0,r.registerServerReference)(w,"009bd552726d67de3f50b321cac1539e2388142f75",null),e.s(["DELETE",()=>w,"GET",()=>f,"POST",()=>g]),a()}catch(e){a(e)}},!1),128142,e=>e.a(async(t,a)=>{try{var r=e.i(747909),n=e.i(174017),s=e.i(996250),o=e.i(759756),i=e.i(561916),l=e.i(174677),d=e.i(869741),u=e.i(316795),c=e.i(487718),p=e.i(995169),m=e.i(47587),h=e.i(666012),f=e.i(570101),g=e.i(626937),w=e.i(10372),R=e.i(193695);e.i(52474);var v=e.i(600220),y=e.i(495767),E=t([y]);[y]=E.then?(await E)():E;let b=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/openclaw-settings/route",pathname:"/api/cli-tools/openclaw-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/openclaw-settings/route.ts",nextConfigOutput:"standalone",userland:y}),{workAsyncStorage:x,workUnitAsyncStorage:O,serverHooks:A}=b;function C(){return(0,s.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:O})}async function N(e,t,a){b.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/cli-tools/openclaw-settings/route";r=r.replace(/\/index$/,"")||"/";let s=await b.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:x,prerenderManifest:O,routerServerContext:A,isOnDemandRevalidate:S,revalidateOnlyGenerated:P,resolvedPathname:T,clientReferenceManifest:k,serverActionsManifest:I}=s,_=(0,d.normalizeAppPath)(r),j=!!(O.dynamicRoutes[_]||O.routes[T]),F=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,N,!1):t.end("This page could not be found"),null);if(j&&!x){let e=!!O.routes[T],t=O.dynamicRoutes[_];if(t&&!1===t.fallback&&!e){if(C.experimental.adapterPath)return await F();throw new R.NoFallbackError}}let H=null;!j||b.isDev||x||(H=T,H="/index"===H?"/":H);let M=!0===b.isDev||!j,U=j&&!M;I&&k&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:k,serverActionsManifest:I});let q=e.method||"GET",D=(0,i.getTracer)(),$=D.getActiveScopeSpan(),K={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)=>b.onRequestError(e,t,r,n,A)},sharedContext:{buildId:y}},L=new u.NodeNextRequest(e),B=new u.NodeNextResponse(t),J=c.NextRequestAdapter.fromNodeNextRequest(L,(0,c.signalFromNodeResponse)(t));try{let s=async e=>b.handle(J,K).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&&S&&P&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await s(o);e.fetchMetrics=K.renderOpts.fetchMetrics;let i=K.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let d=K.renderOpts.collectedTags;if(!j)return await (0,h.sendResponse)(L,B,r,K.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(r.headers);d&&(t[w.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,n=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:K.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 b.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:S})},!1,A),t}},c=await b.handleResponse({req:e,nextConfig:C,cacheKey:H,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:P,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:l});if(!j)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",S?"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,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return l&&j||p.delete(w.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)(L,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 R.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:S})},!1,A),j)throw t;return await (0,h.sendResponse)(L,B,new Response(null,{status:500})),null}}e.s(["handler",()=>N,"patchFetch",()=>C,"routeModule",()=>b,"serverHooks",()=>A,"workAsyncStorage",()=>x,"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);e.i(245272);var p=e.i(125852),m=e.i(195975),h=t([u,c]);[u,c]=h.then?(await h)():h;let R=()=>(0,i.getCliPrimaryConfigPath)("openclaw"),v=async()=>{try{let e=R(),t=await s.default.readFile(e,"utf-8");return JSON.parse(t)}catch(e){if("ENOENT"===e.code)return null;throw e}};async function f(){try{let e=await (0,i.getCliRuntimeStatus)("openclaw");if(!e.installed||!e.runnable)return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:null,message:e.installed&&!e.runnable?"Open Claw CLI is installed but not runnable":"Open Claw CLI is not installed"});let t=await v();return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:t,hasOmniRoute:!!t&&!!t.models&&!!t.models.providers&&!!t.models.providers.omniroute,settingsPath:R()})}catch(e){return console.log("Error checking openclaw settings:",e),n.NextResponse.json({error:"Failed to check openclaw settings"},{status:500})}}async function g(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let a=(0,c.validateBody)(u.cliModelConfigSchema,t);if((0,c.isValidationFailure)(a))return n.NextResponse.json({error:a.error},{status:400});let{baseUrl:r,apiKey:m,model:h}=a.data,f="string"==typeof t?.keyId?t.keyId.trim():null;if(f)try{let e=await (0,p.getApiKeyById)(f);e?.key&&(m=e.key)}catch{}let g=o.default.dirname(R()),w=R();await s.default.mkdir(g,{recursive:!0}),await (0,l.createBackup)("openclaw",w);let v={};try{let e=await s.default.readFile(w,"utf-8");v=JSON.parse(e)}catch{}v.agents||(v.agents={}),v.agents.defaults||(v.agents.defaults={}),v.agents.defaults.model||(v.agents.defaults.model={}),v.models||(v.models={}),v.models.providers||(v.models.providers={});let y=r.endsWith("/v1")?r:`${r}/v1`;v.agents.defaults.model.primary=`omniroute/${h}`,v.models.providers.omniroute={baseUrl:y,apiKey:m||"your_api_key",api:"openai-completions",models:[{id:h,name:h.split("/").pop()||h}]},await s.default.writeFile(w,JSON.stringify(v,null,2));try{(0,d.saveCliToolLastConfigured)("openclaw")}catch{}return n.NextResponse.json({success:!0,message:"Open Claw settings applied successfully!",settingsPath:w})}catch(e){return console.log("Error updating openclaw settings:",e),n.NextResponse.json({error:"Failed to update openclaw settings"},{status:500})}}async function w(){try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let t=R();await (0,l.createBackup)("openclaw",t);let a={};try{let e=await s.default.readFile(t,"utf-8");a=JSON.parse(e)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({success:!0,message:"No settings file to reset"});throw e}a.models&&a.models.providers&&(delete a.models.providers.omniroute,0===Object.keys(a.models.providers).length&&delete a.models.providers),a.agents?.defaults?.model?.primary?.startsWith("omniroute/")&&delete a.agents.defaults.model.primary,await s.default.writeFile(t,JSON.stringify(a,null,2));try{(0,d.deleteCliToolLastConfigured)("openclaw")}catch{}return n.NextResponse.json({success:!0,message:"OmniRoute settings removed successfully"})}catch(e){return console.log("Error resetting openclaw settings:",e),n.NextResponse.json({error:"Failed to reset openclaw settings"},{status:500})}}(0,m.ensureServerEntryExports)([f,g,w]),(0,r.registerServerReference)(f,"006d56bfe2b06988c03887e9c41bd69d738562e2d1",null),(0,r.registerServerReference)(g,"40c0636fcbcf681ace4c53f3426ff414204aa956bc",null),(0,r.registerServerReference)(w,"00bdde13ee562d48680ee7ae4a8e36deb0a6c2d846",null),e.s(["DELETE",()=>w,"GET",()=>f,"POST",()=>g]),a()}catch(e){a(e)}},!1),128142,e=>e.a(async(t,a)=>{try{var r=e.i(747909),n=e.i(174017),s=e.i(996250),o=e.i(759756),i=e.i(561916),l=e.i(174677),d=e.i(869741),u=e.i(316795),c=e.i(487718),p=e.i(995169),m=e.i(47587),h=e.i(666012),f=e.i(570101),g=e.i(626937),w=e.i(10372),R=e.i(193695);e.i(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:A}=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:A,isOnDemandRevalidate:S,revalidateOnlyGenerated:P,resolvedPathname:T,clientReferenceManifest:k,serverActionsManifest:I}=s,_=(0,d.normalizeAppPath)(r),j=!!(O.dynamicRoutes[_]||O.routes[T]),F=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,N,!1):t.end("This page could not be found"),null);if(j&&!b){let e=!!O.routes[T],t=O.dynamicRoutes[_];if(t&&!1===t.fallback&&!e){if(C.experimental.adapterPath)return await F();throw new R.NoFallbackError}}let H=null;!j||x.isDev||b||(H=T,H="/index"===H?"/":H);let M=!0===x.isDev||!j,U=j&&!M;I&&k&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:k,serverActionsManifest:I});let q=e.method||"GET",D=(0,i.getTracer)(),$=D.getActiveScopeSpan(),K={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,A)},sharedContext:{buildId:y}},L=new u.NodeNextRequest(e),B=new u.NodeNextResponse(t),J=c.NextRequestAdapter.fromNodeNextRequest(L,(0,c.signalFromNodeResponse)(t));try{let s=async e=>x.handle(J,K).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&&S&&P&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await s(o);e.fetchMetrics=K.renderOpts.fetchMetrics;let i=K.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let d=K.renderOpts.collectedTags;if(!j)return await (0,h.sendResponse)(L,B,r,K.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(r.headers);d&&(t[w.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,n=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:K.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:S})},!1,A),t}},c=await x.handleResponse({req:e,nextConfig:C,cacheKey:H,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:P,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:l});if(!j)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",S?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return l&&j||p.delete(w.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)(L,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 R.NoFallbackError||await x.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:S})},!1,A),j)throw t;return await (0,h.sendResponse)(L,B,new Response(null,{status:500})),null}}e.s(["handler",()=>N,"patchFetch",()=>C,"routeModule",()=>x,"serverHooks",()=>A,"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 a=e.i(745015),n=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);e.i(245272);var p=e.i(125852),h=e.i(195975),f=t([u,c]);[u,c]=f.then?(await f)():f;let v=()=>(0,i.getCliConfigPaths)("codex").config,x=()=>(0,i.getCliConfigPaths)("codex").auth,w=e=>{let t={_root:{},_sections:{}},r="_root";return e.split("\n").forEach(e=>{let a=e.trim();if(!a||a.startsWith("#"))return;let n=a.match(/^\[(.+)\]$/);if(n){r=n[1],t._sections[r]={};return}let o=a.match(/^([^=]+)\s*=\s*(.+)$/);if(o){let e=o[1].trim(),a=o[2].trim();(a.startsWith('"')&&a.endsWith('"')||a.startsWith("'")&&a.endsWith("'"))&&(a=a.slice(1,-1)),"_root"===r?t._root[e]=a:t._sections[r][e]=a}}),t},y=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=v();return await o.default.readFile(e,"utf-8")}catch(e){if("ENOENT"===e.code)return null;throw e}};async function m(){try{let e=await (0,i.getCliRuntimeStatus)("codex");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,config:null,message:e.installed&&!e.runnable?"Codex CLI is installed but not runnable":"Codex CLI is not installed"});let t=await E();return n.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:v()})}catch(e){return console.log("Error checking codex settings:",e),n.NextResponse.json({error:"Failed to check codex settings"},{status:500})}}async function g(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let r=(0,c.validateBody)(u.cliModelConfigSchema,t);if((0,c.isValidationFailure)(r))return n.NextResponse.json({error:r.error},{status:400});let{baseUrl:a,model:h}=r.data,{apiKey:f}=r.data;if(!f)return n.NextResponse.json({error:"baseUrl, apiKey and model are required"},{status:400});let m="string"==typeof t?.keyId?t.keyId.trim():null;if(m)try{let e=await (0,p.getApiKeyById)(m);e?.key&&(f=e.key)}catch{}let g=s.default.dirname(v()),R=v(),E=x();await o.default.mkdir(g,{recursive:!0}),await (0,l.createMultiBackup)("codex",[R,E]);let C={_root:{},_sections:{}};try{let e=await o.default.readFile(R,"utf-8");C=w(e)}catch{}C._root.model=h,C._root.model_provider="omniroute";let _=a.endsWith("/v1")?a:`${a}/v1`;C._sections["model_providers.omniroute"]={name:"OmniRoute",base_url:_,wire_api:"responses"};let N=y(C);await o.default.writeFile(R,N);let b={};try{let e=await o.default.readFile(E,"utf-8");b=JSON.parse(e)}catch{}b.OPENAI_API_KEY=f,await o.default.writeFile(E,JSON.stringify(b,null,2));try{(0,d.saveCliToolLastConfigured)("codex")}catch{}return n.NextResponse.json({success:!0,message:"Codex settings applied successfully!",configPath:R})}catch(e){return console.log("Error updating codex settings:",e),n.NextResponse.json({error:"Failed to update codex settings"},{status:500})}}async function R(){try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let t=v();await (0,l.createMultiBackup)("codex",[t,x()]);let r={_root:{},_sections:{}};try{let e=await o.default.readFile(t,"utf-8");r=w(e)}catch(e){if("ENOENT"===e.code)return n.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 a=y(r);await o.default.writeFile(t,a);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 n.NextResponse.json({success:!0,message:"OmniRoute settings removed successfully"})}catch(e){return console.log("Error resetting codex settings:",e),n.NextResponse.json({error:"Failed to reset codex settings"},{status:500})}}(0,h.ensureServerEntryExports)([m,g,R]),(0,a.registerServerReference)(m,"005abcb2a526feab4fa688654f492b0d223346f21b",null),(0,a.registerServerReference)(g,"40ea5a9fa7201fe529c4f2cde00c4ef8865cc872d7",null),(0,a.registerServerReference)(R,"007055ad4de238f6289e4eef647581707703f28acb",null),e.s(["DELETE",()=>R,"GET",()=>m,"POST",()=>g]),r()}catch(e){r(e)}},!1),58214,e=>e.a(async(t,r)=>{try{var a=e.i(747909),n=e.i(174017),o=e.i(996250),s=e.i(759756),i=e.i(561916),l=e.i(174677),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),v=e.i(193695);e.i(52474);var x=e.i(600220),w=e.i(980935),y=t([w]);[w]=y.then?(await y)():y;let _=new a.AppRouteRouteModule({definition:{kind:n.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 E(){return(0,o.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:b})}async function C(e,t,r){_.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/cli-tools/codex-settings/route";a=a.replace(/\/index$/,"")||"/";let o=await _.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!o)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:w,params:y,nextConfig:E,parsedUrl:C,isDraftMode:N,prerenderManifest:b,routerServerContext:O,isOnDemandRevalidate:A,revalidateOnlyGenerated:P,resolvedPathname:S,clientReferenceManifest:T,serverActionsManifest:j}=o,I=(0,d.normalizeAppPath)(a),k=!!(b.dynamicRoutes[I]||b.routes[S]),F=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,C,!1):t.end("This page could not be found"),null);if(k&&!N){let e=!!b.routes[S],t=b.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await F();throw new v.NoFallbackError}}let M=null;!k||_.isDev||N||(M=S,M="/index"===M?"/":M);let H=!0===_.isDev||!k,U=k&&!H;j&&T&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:T,serverActionsManifest:j});let $=e.method||"GET",q=(0,i.getTracer)(),D=q.getActiveScopeSpan(),K={params:y,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>_.onRequestError(e,t,a,n,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 n=r.get("next.route");if(n){let t=`${$} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${$} ${a}`)}),l=!!(0,s.getRequestMeta)(e,"minimalMode"),d=async s=>{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 a=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(!k)return await (0,f.sendResponse)(L,W,a,K.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(a.headers);d&&(t[R.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,n=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await _.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,O),t}},c=await _.handleResponse({req:e,nextConfig:E,cacheKey:M,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:P,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:l});if(!k)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==x.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&&k||p.delete(R.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,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:`${$} ${a}`,kind:i.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},d))}catch(t){if(t instanceof v.NoFallbackError||await _.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,O),k)throw t;return await (0,f.sendResponse)(L,W,new Response(null,{status:500})),null}}e.s(["handler",()=>C,"patchFetch",()=>E,"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 a=e.i(745015),n=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);e.i(245272);var p=e.i(125852),h=e.i(195975),f=t([u,c]);[u,c]=f.then?(await f)():f;let v=()=>(0,i.getCliConfigPaths)("codex").config,x=()=>(0,i.getCliConfigPaths)("codex").auth,w=e=>{let t={_root:{},_sections:{}},r="_root";return e.split("\n").forEach(e=>{let a=e.trim();if(!a||a.startsWith("#"))return;let n=a.match(/^\[(.+)\]$/);if(n){r=n[1],t._sections[r]={};return}let o=a.match(/^([^=]+)\s*=\s*(.+)$/);if(o){let e=o[1].trim(),a=o[2].trim();(a.startsWith('"')&&a.endsWith('"')||a.startsWith("'")&&a.endsWith("'"))&&(a=a.slice(1,-1)),"_root"===r?t._root[e]=a:t._sections[r][e]=a}}),t},y=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=v();return await o.default.readFile(e,"utf-8")}catch(e){if("ENOENT"===e.code)return null;throw e}};async function m(){try{let e=await (0,i.getCliRuntimeStatus)("codex");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,config:null,message:e.installed&&!e.runnable?"Codex CLI is installed but not runnable":"Codex CLI is not installed"});let t=await E();return n.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:v()})}catch(e){return console.log("Error checking codex settings:",e),n.NextResponse.json({error:"Failed to check codex settings"},{status:500})}}async function g(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let r=(0,c.validateBody)(u.cliModelConfigSchema,t);if((0,c.isValidationFailure)(r))return n.NextResponse.json({error:r.error},{status:400});let{baseUrl:a,model:h}=r.data,{apiKey:f}=r.data;if(!f)return n.NextResponse.json({error:"baseUrl, apiKey and model are required"},{status:400});let m="string"==typeof t?.keyId?t.keyId.trim():null;if(m)try{let e=await (0,p.getApiKeyById)(m);e?.key&&(f=e.key)}catch{}let g=s.default.dirname(v()),R=v(),E=x();await o.default.mkdir(g,{recursive:!0}),await (0,l.createMultiBackup)("codex",[R,E]);let C={_root:{},_sections:{}};try{let e=await o.default.readFile(R,"utf-8");C=w(e)}catch{}C._root.model=h,C._root.model_provider="omniroute";let _=a.endsWith("/v1")?a:`${a}/v1`;C._sections["model_providers.omniroute"]={name:"OmniRoute",base_url:_,wire_api:"responses"};let N=y(C);await o.default.writeFile(R,N);let b={};try{let e=await o.default.readFile(E,"utf-8");b=JSON.parse(e)}catch{}b.OPENAI_API_KEY=f,await o.default.writeFile(E,JSON.stringify(b,null,2));try{(0,d.saveCliToolLastConfigured)("codex")}catch{}return n.NextResponse.json({success:!0,message:"Codex settings applied successfully!",configPath:R})}catch(e){return console.log("Error updating codex settings:",e),n.NextResponse.json({error:"Failed to update codex settings"},{status:500})}}async function R(){try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let t=v();await (0,l.createMultiBackup)("codex",[t,x()]);let r={_root:{},_sections:{}};try{let e=await o.default.readFile(t,"utf-8");r=w(e)}catch(e){if("ENOENT"===e.code)return n.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 a=y(r);await o.default.writeFile(t,a);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 n.NextResponse.json({success:!0,message:"OmniRoute settings removed successfully"})}catch(e){return console.log("Error resetting codex settings:",e),n.NextResponse.json({error:"Failed to reset codex settings"},{status:500})}}(0,h.ensureServerEntryExports)([m,g,R]),(0,a.registerServerReference)(m,"00ac217f24686c10af58deacec0e2df001238d25b1",null),(0,a.registerServerReference)(g,"40d8f601765bc25bed77daa6dcd92c0e2db1ec8efe",null),(0,a.registerServerReference)(R,"008723e0ff4ecffbaad80f0168b29de549d5ad3cb2",null),e.s(["DELETE",()=>R,"GET",()=>m,"POST",()=>g]),r()}catch(e){r(e)}},!1),58214,e=>e.a(async(t,r)=>{try{var a=e.i(747909),n=e.i(174017),o=e.i(996250),s=e.i(759756),i=e.i(561916),l=e.i(174677),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),v=e.i(193695);e.i(52474);var x=e.i(600220),w=e.i(980935),y=t([w]);[w]=y.then?(await y)():y;let _=new a.AppRouteRouteModule({definition:{kind:n.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 E(){return(0,o.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:b})}async function C(e,t,r){_.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/cli-tools/codex-settings/route";a=a.replace(/\/index$/,"")||"/";let o=await _.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!o)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:w,params:y,nextConfig:E,parsedUrl:C,isDraftMode:N,prerenderManifest:b,routerServerContext:O,isOnDemandRevalidate:A,revalidateOnlyGenerated:P,resolvedPathname:S,clientReferenceManifest:T,serverActionsManifest:j}=o,I=(0,d.normalizeAppPath)(a),k=!!(b.dynamicRoutes[I]||b.routes[S]),F=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,C,!1):t.end("This page could not be found"),null);if(k&&!N){let e=!!b.routes[S],t=b.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await F();throw new v.NoFallbackError}}let M=null;!k||_.isDev||N||(M=S,M="/index"===M?"/":M);let H=!0===_.isDev||!k,U=k&&!H;j&&T&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:T,serverActionsManifest:j});let $=e.method||"GET",q=(0,i.getTracer)(),D=q.getActiveScopeSpan(),K={params:y,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>_.onRequestError(e,t,a,n,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 n=r.get("next.route");if(n){let t=`${$} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${$} ${a}`)}),l=!!(0,s.getRequestMeta)(e,"minimalMode"),d=async s=>{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 a=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(!k)return await (0,f.sendResponse)(L,W,a,K.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(a.headers);d&&(t[R.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,n=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await _.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,O),t}},c=await _.handleResponse({req:e,nextConfig:E,cacheKey:M,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:P,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:l});if(!k)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==x.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&&k||p.delete(R.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,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:`${$} ${a}`,kind:i.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},d))}catch(t){if(t instanceof v.NoFallbackError||await _.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,O),k)throw t;return await (0,f.sendResponse)(L,W,new Response(null,{status:500})),null}}e.s(["handler",()=>C,"patchFetch",()=>E,"routeModule",()=>_,"serverHooks",()=>O,"workAsyncStorage",()=>N,"workUnitAsyncStorage",()=>b]),r()}catch(e){r(e)}},!1)];
2
2
 
3
3
  //# sourceMappingURL=_3ac953eb._.js.map