omniroute 2.8.0 → 2.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) 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]__09c944b3._.js +1 -1
  60. package/app/.next/server/chunks/[root-of-the-server]__167585da._.js +1 -1
  61. package/app/.next/server/chunks/[root-of-the-server]__3972de72._.js +5 -5
  62. package/app/.next/server/chunks/[root-of-the-server]__64bd5d97._.js +1 -1
  63. package/app/.next/server/chunks/[root-of-the-server]__784fb7c5._.js +1 -1
  64. package/app/.next/server/chunks/[root-of-the-server]__7d9b23e7._.js +1 -1
  65. package/app/.next/server/chunks/[root-of-the-server]__80e3bfc3._.js +1 -1
  66. package/app/.next/server/chunks/[root-of-the-server]__84e445b2._.js +2 -2
  67. package/app/.next/server/chunks/[root-of-the-server]__92cb0def._.js +2 -2
  68. package/app/.next/server/chunks/[root-of-the-server]__a630d6ef._.js +5 -5
  69. package/app/.next/server/chunks/[root-of-the-server]__cb8a67d1._.js +1 -1
  70. package/app/.next/server/chunks/[root-of-the-server]__db2f9fe0._.js +1 -1
  71. package/app/.next/server/chunks/[root-of-the-server]__dc47ee64._.js +1 -1
  72. package/app/.next/server/chunks/[root-of-the-server]__f0f9eb3f._.js +2 -2
  73. package/app/.next/server/chunks/_05c48915._.js +1 -1
  74. package/app/.next/server/chunks/_1244636c._.js +5 -5
  75. package/app/.next/server/chunks/_2115d8de._.js +1 -1
  76. package/app/.next/server/chunks/_3ac953eb._.js +1 -1
  77. package/app/.next/server/chunks/_4b8fd853._.js +1 -1
  78. package/app/.next/server/chunks/_68683848._.js +1 -1
  79. package/app/.next/server/chunks/_ee9b677b._.js +1 -1
  80. package/app/.next/server/chunks/open-sse_translator_index_ts_f5fd0821._.js +9 -9
  81. package/app/.next/server/chunks/src_lib_a886ee1f._.js +1 -1
  82. package/app/.next/server/chunks/src_shared_validation_schemas_ts_4e63863a._.js +1 -1
  83. package/app/.next/server/chunks/ssr/[root-of-the-server]__9affb65e._.js +1 -1
  84. package/app/.next/server/chunks/ssr/[root-of-the-server]__a6942102._.js +1 -1
  85. package/app/.next/server/chunks/ssr/_5a9cd299._.js +1 -1
  86. package/app/.next/server/chunks/ssr/src_d3225e36._.js +1 -1
  87. package/app/.next/server/chunks/ssr/src_i18n_messages_zh-CN_json_f4112d90._.js +1 -1
  88. package/app/.next/server/pages/500.html +2 -2
  89. package/app/.next/server/server-reference-manifest.js +1 -1
  90. package/app/.next/server/server-reference-manifest.json +1 -1
  91. package/app/.next/static/chunks/02afac1b585d8219.css +1 -0
  92. package/app/.next/static/chunks/{d3cb88d181c61235.js → 4bed5b394f9dece9.js} +1 -1
  93. package/app/.next/static/chunks/{4f099d0f5b0f00d6.js → b5cc103e16794392.js} +1 -1
  94. package/app/.next/static/chunks/d19ab4efcaddd1db.js +1 -0
  95. package/app/CHANGELOG.md +20 -0
  96. package/app/docs/openapi.yaml +1 -1
  97. package/app/open-sse/executors/kiro.ts +5 -2
  98. package/app/open-sse/handlers/chatCore.ts +11 -3
  99. package/app/open-sse/translator/helpers/toolCallHelper.ts +58 -15
  100. package/app/open-sse/translator/index.ts +10 -3
  101. package/app/open-sse/utils/stream.ts +129 -19
  102. package/app/open-sse/utils/usageTracking.ts +3 -1
  103. package/app/package-lock.json +2 -2
  104. package/app/package.json +1 -1
  105. package/app/src/app/(dashboard)/dashboard/providers/[id]/page.tsx +22 -0
  106. package/app/src/app/api/keys/[id]/route.ts +26 -4
  107. package/app/src/app/api/provider-models/route.ts +3 -1
  108. package/app/src/i18n/messages/zh-CN.json +862 -787
  109. package/app/src/lib/db/models.ts +25 -0
  110. package/app/src/lib/usage/callLogs.ts +6 -2
  111. package/app/src/shared/components/RequestLoggerDetail.tsx +10 -10
  112. package/app/src/shared/validation/schemas.ts +1 -0
  113. package/app/src/sse/handlers/chat.ts +8 -3
  114. package/package.json +1 -1
  115. package/app/.next/static/chunks/194dbd564ba7150b.css +0 -1
  116. package/app/.next/static/chunks/3f3d822837a5ff5f.js +0 -1
  117. /package/app/.next/static/{Y1ARupD8_nbYoMt6WYrBO → JoLoKHY_9DVANe7Qs4D0K}/_buildManifest.js +0 -0
  118. /package/app/.next/static/{Y1ARupD8_nbYoMt6WYrBO → JoLoKHY_9DVANe7Qs4D0K}/_clientMiddlewareManifest.json +0 -0
  119. /package/app/.next/static/{Y1ARupD8_nbYoMt6WYrBO → JoLoKHY_9DVANe7Qs4D0K}/_ssgManifest.js +0 -0
@@ -1,2 +1,2 @@
1
1
  globalThis.__RSC_MANIFEST = globalThis.__RSC_MANIFEST || {};
2
- globalThis.__RSC_MANIFEST["/terms/page"] = {"moduleLoading":{"prefix":"","crossOrigin":null},"clientModules":{"[project]/node_modules/next/dist/esm/client/components/layout-router.js <module evaluation>":{"id":339756,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/layout-router.js":{"id":339756,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/render-from-template-context.js <module evaluation>":{"id":837457,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":837457,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-page.js <module evaluation>":{"id":347257,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-page.js":{"id":347257,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-segment.js <module evaluation>":{"id":92825,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-segment.js":{"id":92825,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js <module evaluation>":{"id":768017,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":768017,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js <module evaluation>":{"id":27201,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":27201,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/framework/boundary-components.js <module evaluation>":{"id":897367,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":897367,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/src/app/global-error.tsx <module evaluation>":{"id":563491,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/src/app/global-error.tsx":{"id":563491,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/src/shared/components/ThemeProvider.tsx <module evaluation>":{"id":450222,"name":"*","chunks":["/_next/static/chunks/4f099d0f5b0f00d6.js","/_next/static/chunks/37e9976d0367faad.js","/_next/static/chunks/3073ed4e47d4d993.js"],"async":true},"[project]/src/shared/components/ThemeProvider.tsx":{"id":450222,"name":"*","chunks":["/_next/static/chunks/4f099d0f5b0f00d6.js","/_next/static/chunks/37e9976d0367faad.js","/_next/static/chunks/3073ed4e47d4d993.js"],"async":true},"[project]/node_modules/next-intl/dist/esm/production/shared/NextIntlClientProvider.js <module evaluation>":{"id":175696,"name":"*","chunks":["/_next/static/chunks/4f099d0f5b0f00d6.js","/_next/static/chunks/37e9976d0367faad.js","/_next/static/chunks/3073ed4e47d4d993.js"],"async":false},"[project]/node_modules/next-intl/dist/esm/production/shared/NextIntlClientProvider.js":{"id":175696,"name":"*","chunks":["/_next/static/chunks/4f099d0f5b0f00d6.js","/_next/static/chunks/37e9976d0367faad.js","/_next/static/chunks/3073ed4e47d4d993.js"],"async":false},"[project]/src/app/error.tsx <module evaluation>":{"id":758298,"name":"*","chunks":["/_next/static/chunks/4f099d0f5b0f00d6.js","/_next/static/chunks/37e9976d0367faad.js","/_next/static/chunks/3073ed4e47d4d993.js","/_next/static/chunks/beeffe5f5394be33.js"],"async":false},"[project]/src/app/error.tsx":{"id":758298,"name":"*","chunks":["/_next/static/chunks/4f099d0f5b0f00d6.js","/_next/static/chunks/37e9976d0367faad.js","/_next/static/chunks/3073ed4e47d4d993.js","/_next/static/chunks/beeffe5f5394be33.js"],"async":false},"[project]/src/app/loading.tsx <module evaluation>":{"id":790392,"name":"*","chunks":["/_next/static/chunks/4f099d0f5b0f00d6.js","/_next/static/chunks/37e9976d0367faad.js","/_next/static/chunks/3073ed4e47d4d993.js","/_next/static/chunks/f79cbcb7ca904f94.js"],"async":false},"[project]/src/app/loading.tsx":{"id":790392,"name":"*","chunks":["/_next/static/chunks/4f099d0f5b0f00d6.js","/_next/static/chunks/37e9976d0367faad.js","/_next/static/chunks/3073ed4e47d4d993.js","/_next/static/chunks/f79cbcb7ca904f94.js"],"async":false},"[project]/src/app/not-found.tsx <module evaluation>":{"id":329306,"name":"*","chunks":["/_next/static/chunks/4f099d0f5b0f00d6.js","/_next/static/chunks/37e9976d0367faad.js","/_next/static/chunks/3073ed4e47d4d993.js","/_next/static/chunks/f51538785d2d89a5.js"],"async":false},"[project]/src/app/not-found.tsx":{"id":329306,"name":"*","chunks":["/_next/static/chunks/4f099d0f5b0f00d6.js","/_next/static/chunks/37e9976d0367faad.js","/_next/static/chunks/3073ed4e47d4d993.js","/_next/static/chunks/f51538785d2d89a5.js"],"async":false},"[project]/node_modules/next/dist/client/app-dir/link.js <module evaluation>":{"id":522016,"name":"*","chunks":["/_next/static/chunks/4f099d0f5b0f00d6.js","/_next/static/chunks/37e9976d0367faad.js","/_next/static/chunks/3073ed4e47d4d993.js","/_next/static/chunks/a53ec3f73e2e9d76.js"],"async":false},"[project]/node_modules/next/dist/client/app-dir/link.js":{"id":522016,"name":"*","chunks":["/_next/static/chunks/4f099d0f5b0f00d6.js","/_next/static/chunks/37e9976d0367faad.js","/_next/static/chunks/3073ed4e47d4d993.js","/_next/static/chunks/a53ec3f73e2e9d76.js"],"async":false}},"ssrModuleMapping":{"339756":{"*":{"id":802420,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9a0bc6cc._.js","server/chunks/ssr/node_modules_next_dist_esm_eedfc1fd._.js"],"async":false}},"837457":{"*":{"id":324017,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9a0bc6cc._.js","server/chunks/ssr/node_modules_next_dist_esm_eedfc1fd._.js"],"async":false}},"347257":{"*":{"id":877682,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9a0bc6cc._.js","server/chunks/ssr/node_modules_next_dist_esm_eedfc1fd._.js"],"async":false}},"92825":{"*":{"id":697296,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9a0bc6cc._.js","server/chunks/ssr/node_modules_next_dist_esm_eedfc1fd._.js"],"async":false}},"768017":{"*":{"id":861660,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9a0bc6cc._.js","server/chunks/ssr/node_modules_next_dist_esm_eedfc1fd._.js"],"async":false}},"27201":{"*":{"id":660704,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9a0bc6cc._.js","server/chunks/ssr/node_modules_next_dist_esm_eedfc1fd._.js"],"async":false}},"897367":{"*":{"id":990574,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9a0bc6cc._.js","server/chunks/ssr/node_modules_next_dist_esm_eedfc1fd._.js"],"async":false}},"563491":{"*":{"id":537006,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9a0bc6cc._.js","server/chunks/ssr/node_modules_next_dist_esm_eedfc1fd._.js"],"async":false}},"450222":{"*":{"id":561487,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9affb65e._.js","server/chunks/ssr/node_modules_use-intl_dist_esm_production_react_ca139740.js","server/chunks/ssr/_19b3d5b1._.js"],"async":true}},"175696":{"*":{"id":588788,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9affb65e._.js","server/chunks/ssr/node_modules_use-intl_dist_esm_production_react_ca139740.js","server/chunks/ssr/_19b3d5b1._.js"],"async":false}},"758298":{"*":{"id":123953,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9affb65e._.js","server/chunks/ssr/node_modules_use-intl_dist_esm_production_react_ca139740.js","server/chunks/ssr/_19b3d5b1._.js","server/chunks/ssr/src_app_error_tsx_22278d09._.js"],"async":false}},"790392":{"*":{"id":42816,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9affb65e._.js","server/chunks/ssr/node_modules_use-intl_dist_esm_production_react_ca139740.js","server/chunks/ssr/_19b3d5b1._.js","server/chunks/ssr/src_9607843e._.js"],"async":false}},"329306":{"*":{"id":336394,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9affb65e._.js","server/chunks/ssr/node_modules_use-intl_dist_esm_production_react_ca139740.js","server/chunks/ssr/_19b3d5b1._.js","server/chunks/ssr/_8cfab48b._.js","server/chunks/ssr/node_modules_next_dist_c2965c68._.js"],"async":false}},"522016":{"*":{"id":238246,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9affb65e._.js","server/chunks/ssr/node_modules_use-intl_dist_esm_production_react_ca139740.js","server/chunks/ssr/_19b3d5b1._.js","server/chunks/ssr/node_modules_next_becc837c._.js","server/chunks/ssr/node_modules_next_dist_c2965c68._.js"],"async":false}}},"edgeSSRModuleMapping":{},"rscModuleMapping":{"339756":{"*":{"id":926768,"name":"*","chunks":[],"async":false}},"837457":{"*":{"id":517910,"name":"*","chunks":[],"async":false}},"347257":{"*":{"id":292977,"name":"*","chunks":[],"async":false}},"92825":{"*":{"id":348552,"name":"*","chunks":[],"async":false}},"768017":{"*":{"id":683919,"name":"*","chunks":[],"async":false}},"27201":{"*":{"id":340771,"name":"*","chunks":[],"async":false}},"897367":{"*":{"id":724150,"name":"*","chunks":[],"async":false}},"563491":{"*":{"id":530269,"name":"*","chunks":[],"async":false}},"450222":{"*":{"id":898658,"name":"*","chunks":[],"async":false}},"175696":{"*":{"id":152265,"name":"*","chunks":[],"async":false}},"758298":{"*":{"id":780257,"name":"*","chunks":[],"async":false}},"790392":{"*":{"id":562386,"name":"*","chunks":[],"async":false}},"329306":{"*":{"id":204145,"name":"*","chunks":[],"async":false}},"522016":{"*":{"id":784707,"name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{},"entryCSSFiles":{"[project]/src/app/global-error":[],"[project]/src/app/layout":[{"path":"static/chunks/665dc3aa4aa2d85c.css","inlined":false},{"path":"static/chunks/194dbd564ba7150b.css","inlined":false}],"[project]/src/app/error":[{"path":"static/chunks/665dc3aa4aa2d85c.css","inlined":false},{"path":"static/chunks/194dbd564ba7150b.css","inlined":false}],"[project]/src/app/loading":[{"path":"static/chunks/665dc3aa4aa2d85c.css","inlined":false},{"path":"static/chunks/194dbd564ba7150b.css","inlined":false}],"[project]/src/app/not-found":[{"path":"static/chunks/665dc3aa4aa2d85c.css","inlined":false},{"path":"static/chunks/194dbd564ba7150b.css","inlined":false}],"[project]/src/app/terms/page":[{"path":"static/chunks/665dc3aa4aa2d85c.css","inlined":false},{"path":"static/chunks/194dbd564ba7150b.css","inlined":false}]},"entryJSFiles":{"[project]/src/app/global-error":["static/chunks/d245df73b72378fb.js","static/chunks/16ea27c3b926bc31.js"],"[project]/src/app/layout":["static/chunks/4f099d0f5b0f00d6.js","static/chunks/37e9976d0367faad.js","static/chunks/3073ed4e47d4d993.js"],"[project]/src/app/error":["static/chunks/4f099d0f5b0f00d6.js","static/chunks/37e9976d0367faad.js","static/chunks/3073ed4e47d4d993.js","static/chunks/beeffe5f5394be33.js"],"[project]/src/app/loading":["static/chunks/4f099d0f5b0f00d6.js","static/chunks/37e9976d0367faad.js","static/chunks/3073ed4e47d4d993.js","static/chunks/f79cbcb7ca904f94.js"],"[project]/src/app/not-found":["static/chunks/4f099d0f5b0f00d6.js","static/chunks/37e9976d0367faad.js","static/chunks/3073ed4e47d4d993.js","static/chunks/f51538785d2d89a5.js"],"[project]/src/app/terms/page":["static/chunks/4f099d0f5b0f00d6.js","static/chunks/37e9976d0367faad.js","static/chunks/3073ed4e47d4d993.js","static/chunks/a53ec3f73e2e9d76.js"]}}
2
+ globalThis.__RSC_MANIFEST["/terms/page"] = {"moduleLoading":{"prefix":"","crossOrigin":null},"clientModules":{"[project]/node_modules/next/dist/esm/client/components/layout-router.js <module evaluation>":{"id":339756,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/layout-router.js":{"id":339756,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/render-from-template-context.js <module evaluation>":{"id":837457,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":837457,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-page.js <module evaluation>":{"id":347257,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-page.js":{"id":347257,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-segment.js <module evaluation>":{"id":92825,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-segment.js":{"id":92825,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js <module evaluation>":{"id":768017,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":768017,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js <module evaluation>":{"id":27201,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":27201,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/framework/boundary-components.js <module evaluation>":{"id":897367,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":897367,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/src/app/global-error.tsx <module evaluation>":{"id":563491,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/src/app/global-error.tsx":{"id":563491,"name":"*","chunks":["/_next/static/chunks/d245df73b72378fb.js","/_next/static/chunks/16ea27c3b926bc31.js"],"async":false},"[project]/src/shared/components/ThemeProvider.tsx <module evaluation>":{"id":450222,"name":"*","chunks":["/_next/static/chunks/b5cc103e16794392.js","/_next/static/chunks/37e9976d0367faad.js","/_next/static/chunks/3073ed4e47d4d993.js"],"async":true},"[project]/src/shared/components/ThemeProvider.tsx":{"id":450222,"name":"*","chunks":["/_next/static/chunks/b5cc103e16794392.js","/_next/static/chunks/37e9976d0367faad.js","/_next/static/chunks/3073ed4e47d4d993.js"],"async":true},"[project]/node_modules/next-intl/dist/esm/production/shared/NextIntlClientProvider.js <module evaluation>":{"id":175696,"name":"*","chunks":["/_next/static/chunks/b5cc103e16794392.js","/_next/static/chunks/37e9976d0367faad.js","/_next/static/chunks/3073ed4e47d4d993.js"],"async":false},"[project]/node_modules/next-intl/dist/esm/production/shared/NextIntlClientProvider.js":{"id":175696,"name":"*","chunks":["/_next/static/chunks/b5cc103e16794392.js","/_next/static/chunks/37e9976d0367faad.js","/_next/static/chunks/3073ed4e47d4d993.js"],"async":false},"[project]/src/app/error.tsx <module evaluation>":{"id":758298,"name":"*","chunks":["/_next/static/chunks/b5cc103e16794392.js","/_next/static/chunks/37e9976d0367faad.js","/_next/static/chunks/3073ed4e47d4d993.js","/_next/static/chunks/beeffe5f5394be33.js"],"async":false},"[project]/src/app/error.tsx":{"id":758298,"name":"*","chunks":["/_next/static/chunks/b5cc103e16794392.js","/_next/static/chunks/37e9976d0367faad.js","/_next/static/chunks/3073ed4e47d4d993.js","/_next/static/chunks/beeffe5f5394be33.js"],"async":false},"[project]/src/app/loading.tsx <module evaluation>":{"id":790392,"name":"*","chunks":["/_next/static/chunks/b5cc103e16794392.js","/_next/static/chunks/37e9976d0367faad.js","/_next/static/chunks/3073ed4e47d4d993.js","/_next/static/chunks/f79cbcb7ca904f94.js"],"async":false},"[project]/src/app/loading.tsx":{"id":790392,"name":"*","chunks":["/_next/static/chunks/b5cc103e16794392.js","/_next/static/chunks/37e9976d0367faad.js","/_next/static/chunks/3073ed4e47d4d993.js","/_next/static/chunks/f79cbcb7ca904f94.js"],"async":false},"[project]/src/app/not-found.tsx <module evaluation>":{"id":329306,"name":"*","chunks":["/_next/static/chunks/b5cc103e16794392.js","/_next/static/chunks/37e9976d0367faad.js","/_next/static/chunks/3073ed4e47d4d993.js","/_next/static/chunks/f51538785d2d89a5.js"],"async":false},"[project]/src/app/not-found.tsx":{"id":329306,"name":"*","chunks":["/_next/static/chunks/b5cc103e16794392.js","/_next/static/chunks/37e9976d0367faad.js","/_next/static/chunks/3073ed4e47d4d993.js","/_next/static/chunks/f51538785d2d89a5.js"],"async":false},"[project]/node_modules/next/dist/client/app-dir/link.js <module evaluation>":{"id":522016,"name":"*","chunks":["/_next/static/chunks/b5cc103e16794392.js","/_next/static/chunks/37e9976d0367faad.js","/_next/static/chunks/3073ed4e47d4d993.js","/_next/static/chunks/a53ec3f73e2e9d76.js"],"async":false},"[project]/node_modules/next/dist/client/app-dir/link.js":{"id":522016,"name":"*","chunks":["/_next/static/chunks/b5cc103e16794392.js","/_next/static/chunks/37e9976d0367faad.js","/_next/static/chunks/3073ed4e47d4d993.js","/_next/static/chunks/a53ec3f73e2e9d76.js"],"async":false}},"ssrModuleMapping":{"339756":{"*":{"id":802420,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9a0bc6cc._.js","server/chunks/ssr/node_modules_next_dist_esm_eedfc1fd._.js"],"async":false}},"837457":{"*":{"id":324017,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9a0bc6cc._.js","server/chunks/ssr/node_modules_next_dist_esm_eedfc1fd._.js"],"async":false}},"347257":{"*":{"id":877682,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9a0bc6cc._.js","server/chunks/ssr/node_modules_next_dist_esm_eedfc1fd._.js"],"async":false}},"92825":{"*":{"id":697296,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9a0bc6cc._.js","server/chunks/ssr/node_modules_next_dist_esm_eedfc1fd._.js"],"async":false}},"768017":{"*":{"id":861660,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9a0bc6cc._.js","server/chunks/ssr/node_modules_next_dist_esm_eedfc1fd._.js"],"async":false}},"27201":{"*":{"id":660704,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9a0bc6cc._.js","server/chunks/ssr/node_modules_next_dist_esm_eedfc1fd._.js"],"async":false}},"897367":{"*":{"id":990574,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9a0bc6cc._.js","server/chunks/ssr/node_modules_next_dist_esm_eedfc1fd._.js"],"async":false}},"563491":{"*":{"id":537006,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9a0bc6cc._.js","server/chunks/ssr/node_modules_next_dist_esm_eedfc1fd._.js"],"async":false}},"450222":{"*":{"id":561487,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9affb65e._.js","server/chunks/ssr/node_modules_use-intl_dist_esm_production_react_ca139740.js","server/chunks/ssr/_19b3d5b1._.js"],"async":true}},"175696":{"*":{"id":588788,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9affb65e._.js","server/chunks/ssr/node_modules_use-intl_dist_esm_production_react_ca139740.js","server/chunks/ssr/_19b3d5b1._.js"],"async":false}},"758298":{"*":{"id":123953,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9affb65e._.js","server/chunks/ssr/node_modules_use-intl_dist_esm_production_react_ca139740.js","server/chunks/ssr/_19b3d5b1._.js","server/chunks/ssr/src_app_error_tsx_22278d09._.js"],"async":false}},"790392":{"*":{"id":42816,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9affb65e._.js","server/chunks/ssr/node_modules_use-intl_dist_esm_production_react_ca139740.js","server/chunks/ssr/_19b3d5b1._.js","server/chunks/ssr/src_9607843e._.js"],"async":false}},"329306":{"*":{"id":336394,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9affb65e._.js","server/chunks/ssr/node_modules_use-intl_dist_esm_production_react_ca139740.js","server/chunks/ssr/_19b3d5b1._.js","server/chunks/ssr/_8cfab48b._.js","server/chunks/ssr/node_modules_next_dist_c2965c68._.js"],"async":false}},"522016":{"*":{"id":238246,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__9affb65e._.js","server/chunks/ssr/node_modules_use-intl_dist_esm_production_react_ca139740.js","server/chunks/ssr/_19b3d5b1._.js","server/chunks/ssr/node_modules_next_becc837c._.js","server/chunks/ssr/node_modules_next_dist_c2965c68._.js"],"async":false}}},"edgeSSRModuleMapping":{},"rscModuleMapping":{"339756":{"*":{"id":926768,"name":"*","chunks":[],"async":false}},"837457":{"*":{"id":517910,"name":"*","chunks":[],"async":false}},"347257":{"*":{"id":292977,"name":"*","chunks":[],"async":false}},"92825":{"*":{"id":348552,"name":"*","chunks":[],"async":false}},"768017":{"*":{"id":683919,"name":"*","chunks":[],"async":false}},"27201":{"*":{"id":340771,"name":"*","chunks":[],"async":false}},"897367":{"*":{"id":724150,"name":"*","chunks":[],"async":false}},"563491":{"*":{"id":530269,"name":"*","chunks":[],"async":false}},"450222":{"*":{"id":898658,"name":"*","chunks":[],"async":false}},"175696":{"*":{"id":152265,"name":"*","chunks":[],"async":false}},"758298":{"*":{"id":780257,"name":"*","chunks":[],"async":false}},"790392":{"*":{"id":562386,"name":"*","chunks":[],"async":false}},"329306":{"*":{"id":204145,"name":"*","chunks":[],"async":false}},"522016":{"*":{"id":784707,"name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{},"entryCSSFiles":{"[project]/src/app/global-error":[],"[project]/src/app/layout":[{"path":"static/chunks/665dc3aa4aa2d85c.css","inlined":false},{"path":"static/chunks/02afac1b585d8219.css","inlined":false}],"[project]/src/app/error":[{"path":"static/chunks/665dc3aa4aa2d85c.css","inlined":false},{"path":"static/chunks/02afac1b585d8219.css","inlined":false}],"[project]/src/app/loading":[{"path":"static/chunks/665dc3aa4aa2d85c.css","inlined":false},{"path":"static/chunks/02afac1b585d8219.css","inlined":false}],"[project]/src/app/not-found":[{"path":"static/chunks/665dc3aa4aa2d85c.css","inlined":false},{"path":"static/chunks/02afac1b585d8219.css","inlined":false}],"[project]/src/app/terms/page":[{"path":"static/chunks/665dc3aa4aa2d85c.css","inlined":false},{"path":"static/chunks/02afac1b585d8219.css","inlined":false}]},"entryJSFiles":{"[project]/src/app/global-error":["static/chunks/d245df73b72378fb.js","static/chunks/16ea27c3b926bc31.js"],"[project]/src/app/layout":["static/chunks/b5cc103e16794392.js","static/chunks/37e9976d0367faad.js","static/chunks/3073ed4e47d4d993.js"],"[project]/src/app/error":["static/chunks/b5cc103e16794392.js","static/chunks/37e9976d0367faad.js","static/chunks/3073ed4e47d4d993.js","static/chunks/beeffe5f5394be33.js"],"[project]/src/app/loading":["static/chunks/b5cc103e16794392.js","static/chunks/37e9976d0367faad.js","static/chunks/3073ed4e47d4d993.js","static/chunks/f79cbcb7ca904f94.js"],"[project]/src/app/not-found":["static/chunks/b5cc103e16794392.js","static/chunks/37e9976d0367faad.js","static/chunks/3073ed4e47d4d993.js","static/chunks/f51538785d2d89a5.js"],"[project]/src/app/terms/page":["static/chunks/b5cc103e16794392.js","static/chunks/37e9976d0367faad.js","static/chunks/3073ed4e47d4d993.js","static/chunks/a53ec3f73e2e9d76.js"]}}
@@ -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,r=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,n={},c={RequestCookies:()=>b,ResponseCookies:()=>y,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,r]=[i.slice(0,e),i.slice(e+1)];try{t.set(o,decodeURIComponent(null!=r?r:"true"))}catch{}}return t}function u(e){if(!e)return;let[[t,i],...o]=d(e),{domain:r,expires:s,httponly:a,maxage:n,path:c,samesite:l,secure:p,partitioned:u,priority:b}=Object.fromEntries(o.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var y,g,x={name:t,value:decodeURIComponent(i),domain:r,...s&&{expires:new Date(s)},...a&&{httpOnly:!0},..."string"==typeof n&&{maxAge:Number(n)},path:c,...l&&{sameSite:m.includes(y=(y=l).toLowerCase())?y:void 0},...p&&{secure:!0},...b&&{priority:h.includes(g=(g=b).toLowerCase())?g: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 s(t))a.call(e,i)||void 0===i||o(e,i,{get:()=>t[i],enumerable:!(n=r(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("; ")}},y=class{constructor(e){var t,i,o;this._parsed=new Map,this._headers=e;const r=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(r)?r:function(e){if(!e)return[];var t,i,o,r,s,a=[],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,s=!1;c();)if(","===(i=e.charAt(n))){for(o=n,n+=1,c(),r=n;n<e.length&&"="!==(i=e.charAt(n))&&";"!==i&&","!==i;)n+=1;n<e.length&&"="===e.charAt(n)?(s=!0,n=r,a.push(e.substring(t,o)),t=n):n=o+1}else n+=1;(!s||n>=e.length)&&a.push(e.substring(t,e.length))}return a}(r)){const t=u(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let 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,r=this._parsed;return r.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:i,...o})),function(e,t){for(let[,i]of(t.delete("set-cookie"),e)){let e=p(i);t.append("set-cookie",e)}}(r,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:"2.8.0",description:"Smart AI Router with auto fallback — route to FREE & cheap models, zero downtime. Works with Cursor, Cline, Claude Desktop, Codex, and any OpenAI-compatible tool.",type:"module",bin:{omniroute:"bin/omniroute.mjs","omniroute-reset-password":"bin/reset-password.mjs"},files:["bin/","app/","open-sse/mcp-server/","src/shared/contracts/","scripts/postinstall.mjs","scripts/native-binary-compat.mjs","README.md","LICENSE"],workspaces:["open-sse"],engines:{node:">=18.0.0 <24.0.0"},keywords:["ai","router","proxy","openai","claude","anthropic","gemini","fallback","cursor","cline","codex","llm","auto-fallback"],license:"MIT",author:"diegosouzapw",repository:{type:"git",url:"https://github.com/diegosouzapw/OmniRoute"},homepage:"https://omniroute.online",scripts:{dev:"node scripts/run-next.mjs dev",build:"next build","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:{"@modelcontextprotocol/sdk":"^1.27.1","@monaco-editor/react":"^4.7.0",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",lowdb:"^7.0.1","monaco-editor":"^0.55.1",next:"^16.1.6","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","@swc/helpers":"0.5.19"},devDependencies:{"@playwright/test":"^1.58.2","@tailwindcss/postcss":"^4.1.18","@types/bcryptjs":"^3.0.0","@types/better-sqlite3":"^7.6.13","@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.1.6",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"]}})},102835,e=>e.a(async(t,i)=>{try{var o=e.i(677850),r=t([o]);[o]=r.then?(await r)():r;let a=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()}),n=o.z.record(o.z.string(),a);function s(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,r=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,n={},c={RequestCookies:()=>b,ResponseCookies:()=>y,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,r]=[i.slice(0,e),i.slice(e+1)];try{t.set(o,decodeURIComponent(null!=r?r:"true"))}catch{}}return t}function u(e){if(!e)return;let[[t,i],...o]=d(e),{domain:r,expires:s,httponly:a,maxage:n,path:c,samesite:l,secure:p,partitioned:u,priority:b}=Object.fromEntries(o.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var y,g,x={name:t,value:decodeURIComponent(i),domain:r,...s&&{expires:new Date(s)},...a&&{httpOnly:!0},..."string"==typeof n&&{maxAge:Number(n)},path:c,...l&&{sameSite:m.includes(y=(y=l).toLowerCase())?y:void 0},...p&&{secure:!0},...b&&{priority:h.includes(g=(g=b).toLowerCase())?g: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 s(t))a.call(e,i)||void 0===i||o(e,i,{get:()=>t[i],enumerable:!(n=r(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("; ")}},y=class{constructor(e){var t,i,o;this._parsed=new Map,this._headers=e;const r=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(r)?r:function(e){if(!e)return[];var t,i,o,r,s,a=[],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,s=!1;c();)if(","===(i=e.charAt(n))){for(o=n,n+=1,c(),r=n;n<e.length&&"="!==(i=e.charAt(n))&&";"!==i&&","!==i;)n+=1;n<e.length&&"="===e.charAt(n)?(s=!0,n=r,a.push(e.substring(t,o)),t=n):n=o+1}else n+=1;(!s||n>=e.length)&&a.push(e.substring(t,e.length))}return a}(r)){const t=u(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let 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,r=this._parsed;return r.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:i,...o})),function(e,t){for(let[,i]of(t.delete("set-cookie"),e)){let e=p(i);t.append("set-cookie",e)}}(r,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:"2.8.1",description:"Smart AI Router with auto fallback — route to FREE & cheap models, zero downtime. Works with Cursor, Cline, Claude Desktop, Codex, and any OpenAI-compatible tool.",type:"module",bin:{omniroute:"bin/omniroute.mjs","omniroute-reset-password":"bin/reset-password.mjs"},files:["bin/","app/","open-sse/mcp-server/","src/shared/contracts/","scripts/postinstall.mjs","scripts/native-binary-compat.mjs","README.md","LICENSE"],workspaces:["open-sse"],engines:{node:">=18.0.0 <24.0.0"},keywords:["ai","router","proxy","openai","claude","anthropic","gemini","fallback","cursor","cline","codex","llm","auto-fallback"],license:"MIT",author:"diegosouzapw",repository:{type:"git",url:"https://github.com/diegosouzapw/OmniRoute"},homepage:"https://omniroute.online",scripts:{dev:"node scripts/run-next.mjs dev",build:"next build","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:{"@modelcontextprotocol/sdk":"^1.27.1","@monaco-editor/react":"^4.7.0",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",lowdb:"^7.0.1","monaco-editor":"^0.55.1",next:"^16.1.6","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","@swc/helpers":"0.5.19"},devDependencies:{"@playwright/test":"^1.58.2","@tailwindcss/postcss":"^4.1.18","@types/bcryptjs":"^3.0.0","@types/better-sqlite3":"^7.6.13","@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.1.6",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"]}})},102835,e=>e.a(async(t,i)=>{try{var o=e.i(677850),r=t([o]);[o]=r.then?(await r)():r;let a=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()}),n=o.z.record(o.z.string(),a);function s(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",()=>s]),i()}catch(e){i(e)}},!1),963219,e=>e.a(async(t,i)=>{try{var o=e.i(102835),r=t([o]);[o]=r.then?(await r)():r;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"},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",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev"},deepseek:{id:"deepseek",alias:"ds",name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com"},groq:{id:"groq",alias:"groq",name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com",hasFree:!0,freeNote:"Free tier: 30 RPM / 14.4K RPD — no credit card"},blackbox:{id:"blackbox",alias:"bb",name:"Blackbox AI",icon:"view_in_ar",color:"#1A1A2E",textIcon:"BB",website:"https://blackbox.ai"},xai:{id:"xai",alias:"xai",name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai"},mistral:{id:"mistral",alias:"mistral",name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai"},perplexity:{id:"perplexity",alias:"pplx",name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai"},together:{id:"together",alias:"together",name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai"},fireworks:{id:"fireworks",alias:"fireworks",name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai"},cerebras:{id:"cerebras",alias:"cerebras",name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://inference.cerebras.ai",hasFree:!0,freeNote:"Free: 1M tokens/day, 60K TPM — world's fastest inference"},cohere:{id:"cohere",alias:"cohere",name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com"},nvidia:{id:"nvidia",alias:"nvidia",name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://build.nvidia.com",hasFree:!0,freeNote:"Free dev access: ~40 RPM, 70+ models (Kimi K2.5, GLM 4.7, DeepSeek V3.2...)"},nebius:{id:"nebius",alias:"nebius",name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com"},siliconflow:{id:"siliconflow",alias:"siliconflow",name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com"},hyperbolic:{id:"hyperbolic",alias:"hyp",name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz"},deepgram:{id:"deepgram",alias:"dg",name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com"},assemblyai:{id:"assemblyai",alias:"aai",name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com"},nanobanana:{id:"nanobanana",alias:"nb",name:"NanoBanana",icon:"image",color:"#FFD700",textIcon:"NB",website:"https://nanobananaapi.ai"},"ollama-cloud":{id:"ollama-cloud",alias:"ollamacloud",name:"Ollama Cloud",icon:"cloud",color:"#58A6FF",textIcon:"OC",website:"https://ollama.com/settings/api-keys"},elevenlabs:{id:"elevenlabs",alias:"el",name:"ElevenLabs",icon:"record_voice_over",color:"#6C47FF",textIcon:"EL",website:"https://elevenlabs.io"},cartesia:{id:"cartesia",alias:"cartesia",name:"Cartesia",icon:"spatial_audio",color:"#FF4F8B",textIcon:"CA",website:"https://cartesia.ai"},playht:{id:"playht",alias:"playht",name:"PlayHT",icon:"play_circle",color:"#00B4D8",textIcon:"PH",website:"https://play.ht"},inworld:{id:"inworld",alias:"inworld",name:"Inworld",icon:"voice_chat",color:"#7B2EF2",textIcon:"IW",website:"https://inworld.ai"},sdwebui:{id:"sdwebui",alias:"sdwebui",name:"SD WebUI",icon:"brush",color:"#FF7043",textIcon:"SD",website:"https://github.com/AUTOMATIC1111/stable-diffusion-webui"},comfyui:{id:"comfyui",alias:"comfyui",name:"ComfyUI",icon:"account_tree",color:"#4CAF50",textIcon:"CF",website:"https://github.com/comfyanonymous/ComfyUI"},huggingface:{id:"huggingface",alias:"hf",name:"HuggingFace",icon:"face",color:"#FFD21E",textIcon:"HF",website:"https://huggingface.co",hasFree:!0,freeNote:"Free Inference API for thousands of models (Whisper, VITS, SDXL…)"},synthetic:{id:"synthetic",alias:"synthetic",name:"Synthetic",icon:"verified_user",color:"#6366F1",textIcon:"SY",website:"https://synthetic.new",passthroughModels:!0},"kilo-gateway":{id:"kilo-gateway",alias:"kg",name:"Kilo Gateway",icon:"hub",color:"#617A91",textIcon:"KG",website:"https://kilo.ai",passthroughModels:!0},vertex:{id:"vertex",alias:"vertex",name:"Vertex AI",icon:"cloud",color:"#4285F4",textIcon:"VA",website:"https://cloud.google.com/vertex-ai",authHint:"Provide Service Account JSON or OAuth access_token"},zai:{id:"zai",alias:"zai",name:"Z.AI (GLM-5)",icon:"psychology",color:"#2563EB",textIcon:"ZA",website:"https://open.bigmodel.cn",apiHint:"API key from https://open.bigmodel.cn/usercenter/apikeys"},"perplexity-search":{id:"perplexity-search",alias:"pplx-search",name:"Perplexity Search",icon:"search",color:"#20808D",textIcon:"PS",website:"https://docs.perplexity.ai/guides/search-quickstart",authHint:"Same API key as Perplexity (pplx-...)"},"serper-search":{id:"serper-search",alias:"serper-search",name:"Serper Search",icon:"search",color:"#4285F4",textIcon:"SP",website:"https://serper.dev",authHint:"API key from serper.dev dashboard"},"brave-search":{id:"brave-search",alias:"brave-search",name:"Brave Search",icon:"travel_explore",color:"#FB542B",textIcon:"BR",website:"https://brave.com/search/api",authHint:"Subscription token from Brave Search API dashboard"},"exa-search":{id:"exa-search",alias:"exa-search",name:"Exa Search",icon:"neurology",color:"#1E40AF",textIcon:"EX",website:"https://exa.ai",authHint:"API key from dashboard.exa.ai"},"tavily-search":{id:"tavily-search",alias:"tavily-search",name:"Tavily Search",icon:"manage_search",color:"#5B4FDB",textIcon:"TV",website:"https://tavily.com",authHint:"API key from app.tavily.com (format: tvly-...)"}},p="openai-compatible-",d="anthropic-compatible-";function s(e){return"string"==typeof e&&e.startsWith(p)}function a(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",()=>a,"isOpenAICompatibleProvider",()=>s]),i()}catch(e){i(e)}},!1),617325,e=>e.a(async(t,i)=>{try{var o=e.i(878947),r=e.i(963219),s=t([r]);[r]=s.then?(await s)():s,Object.entries(r.AI_PROVIDERS).filter(([,e])=>e.passthroughModels).map(([e])=>e);let a=Object.entries(o.PROVIDER_MODELS).flatMap(([e,t])=>t.map(t=>({provider:e,model:t.id,name:t.name})));e.s(["AI_MODELS",0,a]),i()}catch(e){i(e)}},!1),651948,e=>e.a(async(t,i)=>{try{var o=e.i(804730),r=e.i(963219),s=e.i(617325),a=t([r,s]);[r,s]=a.then?(await a)():a;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 r=e.i(548941),s=e.i(651948),a=t([s]);async function n(){try{let{getAllCircuitBreakerStatuses:t}=await e.A(970016),{getAllRateLimitStatus:i}=await e.A(134636),{getAllModelLockouts:a}=await e.A(730711),{getInflightCount:n}=await e.A(38026),c=await (0,r.getSettings)(),l=t(),p=i(),d=a(),{getAllHealthStatuses:u}=await e.A(338694),m={version:s.APP_CONFIG.version,nodeVersion:process.version,uptime:process.uptime(),memoryUsage:process.memoryUsage(),pid:process.pid,platform:process.platform},h={};for(let e of l)e.name.startsWith("test-")||e.name.startsWith("test_")||(h[e.name]={state:e.state,failures:e.failureCount||0,lastFailure:e.lastFailureTime});return o.NextResponse.json({status:"healthy",timestamp:new Date().toISOString(),system:m,providerHealth:h,localProviders:u(),rateLimitStatus:p,lockouts:d,dedup:{inflightRequests:n()},setupComplete:c?.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 c(){try{let{resetAllCircuitBreakers:t,getAllCircuitBreakerStatuses:i}=await e.A(970016),r=i().length;return t(),console.log(`[API] DELETE /api/monitoring/health — Reset ${r} circuit breakers`),o.NextResponse.json({success:!0,message:`Reset ${r} circuit breaker(s) to healthy state`,resetCount:r})}catch(e){return console.error("[API] DELETE /api/monitoring/health error:",e),o.NextResponse.json({error:"Failed to reset circuit breakers"},{status:500})}}[s]=a.then?(await a)():a,e.s(["DELETE",()=>c,"GET",()=>n]),i()}catch(e){i(e)}},!1),984654,e=>e.a(async(t,i)=>{try{var o=e.i(747909),r=e.i(174017),s=e.i(996250),a=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),y=e.i(626937),g=e.i(10372),x=e.i(193695);e.i(52474);var f=e.i(600220),v=e.i(949423),w=t([v]);[v]=w.then?(await w)():w;let _=new o.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/monitoring/health/route",pathname:"/api/monitoring/health",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/monitoring/health/route.ts",nextConfigOutput:"standalone",userland:v}),{workAsyncStorage:k,workUnitAsyncStorage:R,serverHooks:E}=_;function A(){return(0,s.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:R})}async function I(e,t,i){_.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let o="/api/monitoring/health/route";o=o.replace(/\/index$/,"")||"/";let s=await _.prepare(e,t,{srcPage:o,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve()),null;let{buildId:v,params:w,nextConfig:A,parsedUrl:I,isDraftMode:k,prerenderManifest:R,routerServerContext:E,isOnDemandRevalidate:C,revalidateOnlyGenerated:P,resolvedPathname:F,clientReferenceManifest:j,serverActionsManifest:O}=s,S=(0,l.normalizeAppPath)(o),D=!!(R.dynamicRoutes[S]||R.routes[F]),N=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,I,!1):t.end("This page could not be found"),null);if(D&&!k){let e=!!R.routes[F],t=R.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=F,M="/index"===M?"/":M);let T=!0===_.isDev||!D,B=D&&!T;O&&j&&(0,c.setManifestsSingleton)({page:o,clientReferenceManifest:j,serverActionsManifest:O});let q=e.method||"GET",H=(0,n.getTracer)(),L=H.getActiveScopeSpan(),$={params:w,prerenderManifest:R,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:T,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:A.cacheLife,waitUntil:i.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,i,o,r)=>_.onRequestError(e,t,o,r,E)},sharedContext:{buildId:v}},U=new p.NodeNextRequest(e),K=new p.NodeNextResponse(t),G=d.NextRequestAdapter.fromNodeNextRequest(U,(0,d.signalFromNodeResponse)(t));try{let s=async e=>_.handle(G,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let i=H.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 r=i.get("next.route");if(r){let t=`${q} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t)}else e.updateName(`${q} ${o}`)}),c=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var n,l;let p=async({previousCacheEntry:r})=>{try{if(!c&&C&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await s(a);e.fetchMetrics=$.renderOpts.fetchMetrics;let n=$.renderOpts.pendingWaitUntil;n&&i.waitUntil&&(i.waitUntil(n),n=void 0);let l=$.renderOpts.collectedTags;if(!D)return await (0,h.sendResponse)(U,K,o,$.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,b.toNodeOutgoingHttpHeaders)(o.headers);l&&(t[g.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let i=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,r=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:i,expire:r}}}}catch(t){throw(null==r?void 0:r.isStale)&&await _.onRequestError(e,t,{routerKind:"App Router",routePath:o,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:C})},!1,E),t}},d=await _.handleResponse({req:e,nextConfig:A,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:R,isRoutePPREnabled:!1,isOnDemandRevalidate:C,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",C?"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(g.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,y.getCacheControlHeader)(d.cacheControl)),await (0,h.sendResponse)(U,K,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};L?await l(L):await H.withPropagatedContext(e.headers,()=>H.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:C})},!1,E),D)throw t;return await (0,h.sendResponse)(U,K,new Response(null,{status:500})),null}}e.s(["handler",()=>I,"patchFetch",()=>A,"routeModule",()=>_,"serverHooks",()=>E,"workAsyncStorage",()=>k,"workUnitAsyncStorage",()=>R]),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_287eb35f._.js","server/chunks/_5677b5e2._.js","server/chunks/open-sse_cf4d5692._.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__09c944b3._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},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,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,i={},l={RequestCookies:()=>f,ResponseCookies:()=>g,parseCookie:()=>c,parseSetCookie:()=>p,stringifyCookie:()=>d};for(var u in l)n(i,u,{get:l[u],enumerable:!0});function d(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),n=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?n:`${n}; ${r.join("; ")}`}function c(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]=c(e),{domain:a,expires:o,httponly:s,maxage:i,path:l,samesite:u,secure:d,partitioned:p,priority:f}=Object.fromEntries(n.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,y,v={name:t,value:decodeURIComponent(r),domain:a,...o&&{expires:new Date(o)},...s&&{httpOnly:!0},..."string"==typeof i&&{maxAge:Number(i)},path:l,...u&&{sameSite:m.includes(g=(g=u).toLowerCase())?g:void 0},...d&&{secure:!0},...f&&{priority:h.includes(y=(y=f).toLowerCase())?y:void 0},...p&&{partitioned:!0}};let e={};for(let t in v)v[t]&&(e[t]=v[t]);return e}}t.exports=((e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of o(t))s.call(e,r)||void 0===r||n(e,r,{get:()=>t[r],enumerable:!(i=a(t,r))||i.enumerable});return e})(n({},"__esModule",{value:!0}),i);var m=["strict","lax","none"],h=["low","medium","high"],f=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of c(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===n).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,n=this._parsed;return n.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(n).map(([e,t])=>d(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>d(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},g=class{constructor(e){var t,r,n;this._parsed=new Map,this._headers=e;const a=null!=(n=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?n:[];for(const e of Array.isArray(a)?a:function(e){if(!e)return[];var t,r,n,a,o,s=[],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,o=!1;l();)if(","===(r=e.charAt(i))){for(n=i,i+=1,l(),a=i;i<e.length&&"="!==(r=e.charAt(i))&&";"!==r&&","!==r;)i+=1;i<e.length&&"="===e.charAt(i)?(o=!0,i=a,s.push(e.substring(t,n)),t=i):i=n+1}else i+=1;(!o||i>=e.length)&&s.push(e.substring(t,e.length))}return s}(a)){const t=p(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===n)}has(e){return this._parsed.has(e)}set(...e){let[t,r,n]=1===e.length?[e[0].name,e[0].value,e[0]]:e,a=this._parsed;return a.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...n})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=d(r);t.append("set-cookie",e)}}(a,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(d).join("; ")}}},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},924868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},266240,e=>{"use strict";var t=e.i(924868),r=e.i(446786),n=e.i(814747),a=e.i(233405);let o=new Set(["auto","host","container"]),s=new Set(["0","false","no","off"]),i={claude:{defaultCommand:"claude",envBinKey:"CLI_CLAUDE_BIN",requiresBinary:!0,healthcheckTimeoutMs:4e3,paths:{settings:".claude/settings.json"}},codex:{defaultCommand:"codex",envBinKey:"CLI_CODEX_BIN",requiresBinary:!0,healthcheckTimeoutMs:4e3,paths:{config:".codex/config.toml",auth:".codex/auth.json"}},droid:{defaultCommand:"droid",envBinKey:"CLI_DROID_BIN",requiresBinary:!0,healthcheckTimeoutMs:8e3,paths:{settings:".factory/settings.json"}},openclaw:{defaultCommand:"openclaw",envBinKey:"CLI_OPENCLAW_BIN",requiresBinary:!0,healthcheckTimeoutMs:15e3,paths:{settings:".openclaw/openclaw.json"}},cursor:{defaultCommands:["agent","cursor"],envBinKey:"CLI_CURSOR_BIN",requiresBinary:!0,healthcheckTimeoutMs:15e3,paths:{config:".cursor/cli-config.json",auth:".config/cursor/auth.json",state:".cursor/agent-cli-state.json"}},cline:{defaultCommand:"cline",envBinKey:"CLI_CLINE_BIN",requiresBinary:!0,healthcheckTimeoutMs:12e3,paths:{globalState:".cline/data/globalState.json",secrets:".cline/data/secrets.json"}},kilo:{defaultCommand:"kilocode",envBinKey:"CLI_KILO_BIN",requiresBinary:!0,healthcheckTimeoutMs:15e3,paths:{auth:".local/share/kilo/auth.json"}},continue:{defaultCommand:null,envBinKey:"CLI_CONTINUE_BIN",requiresBinary:!1,healthcheckTimeoutMs:15e3,paths:{settings:".continue/config.json"}},opencode:{defaultCommand:"opencode",envBinKey:"CLI_OPENCODE_BIN",requiresBinary:!0,healthcheckTimeoutMs:15e3,paths:{config:".config/opencode/config.toml"}}},l=(e,t,{env:r,timeoutMs:n=3e3}={})=>new Promise(o=>{let s="",i="",l=!1,u=!1,d=(0,a.spawn)(e,t,{env:r,stdio:["ignore","pipe","pipe"],..."win32"===process.platform?"TURBOPACK unreachable":{}}),c=setTimeout(()=>{l=!0,d.kill("SIGKILL")},n),p=e=>{u||(u=!0,clearTimeout(c),o(e))};d.stdout.on("data",e=>{s+=e.toString()}),d.stderr.on("data",e=>{i+=e.toString()}),d.on("error",e=>{p({ok:!1,code:null,stdout:s.trim(),stderr:i.trim(),timedOut:l,error:e?.message||"spawn_error"})}),d.on("close",e=>{p({ok:!l&&0===e,code:e,stdout:s.trim(),stderr:i.trim(),timedOut:l,error:l?"timeout":null})})}),u=["&","|",";","<",">","(",")","`","$","^","%","!"],d=async e=>{if(!(!(!e||!n.default.isAbsolute(e)||u.some(t=>e.includes(t)))&&1))return{installed:!1,commandPath:null,reason:"unsafe_path"};try{await t.default.access(e,t.default.constants.F_OK)}catch{return{installed:!1,commandPath:null,reason:"not_found"}}try{return await t.default.access(e,t.default.constants.X_OK),{installed:!0,commandPath:e,reason:null}}catch{return{installed:!0,commandPath:e,reason:"not_executable"}}},c=async(e,t)=>{if(!e)return{installed:!1,commandPath:null,reason:"missing_command"};if(e.includes("/")||e.includes("\\"))return d(e);process.platform;let r=await l("sh",["-c",'command -v -- "$1"',"sh",e],{env:t,timeoutMs:3e3});if(!r.ok||!r.stdout)return{installed:!1,commandPath:null,reason:"not_found"};let n=r.stdout.split(/\r?\n/).map(e=>e.trim()).find(Boolean)||null;return{installed:!!n,commandPath:n,reason:n?null:"not_found"}},p=async(e,t)=>{if(!Array.isArray(e)||0===e.length)return{command:null,installed:!1,commandPath:null,reason:"missing_command"};for(let r of e){let e=await c(r,t);if(e.installed||"not_found"!==e.reason)return{command:r,...e}}return{command:e[0],installed:!1,commandPath:null,reason:"not_found"}},m=async(e,t,r=4e3)=>{for(let n of[["--version"],["-v"]])if((await l(e,n,{env:t,timeoutMs:r})).ok)return{runnable:!0,reason:null};return{runnable:!1,reason:"healthcheck_failed"}},h=e=>{let t=i[e];if(!t)return null;let a=String(process.env.CLI_CONFIG_HOME||"").trim()||r.default.homedir();return Object.fromEntries(Object.entries(t.paths).map(([e,t])=>[e,n.default.join(a,t)]))},f=async e=>{let t,r,a,s=i[e],l=(t=String(process.env.CLI_MODE||"auto").trim().toLowerCase(),o.has(t)?t:"auto");if(!s)return{installed:!1,runnable:!1,command:null,commandPath:null,reason:"unknown_tool",runtimeMode:l,requiresBinary:!1};let u=(r={...process.env},(a=String(process.env.CLI_EXTRA_PATHS||"").split(n.default.delimiter).map(e=>e.trim()).filter(Boolean)).length>0&&(r.PATH=[...a,r.PATH||""].filter(Boolean).join(n.default.delimiter)),r),d=(e=>{let t=i[e];if(!t)return[];let r=String(process.env[t.envBinKey]||"").trim();return r?[r]:Array.isArray(t.defaultCommands)&&t.defaultCommands.length>0?t.defaultCommands.filter(Boolean):t.defaultCommand?[t.defaultCommand]:[]})(e),c=!1!==s.requiresBinary;if(!c&&0===d.length)return{installed:!0,runnable:!0,command:null,commandPath:null,reason:"not_required",runtimeMode:l,requiresBinary:c};let h=await p(d,u),f=h.command;if(!h.installed)return{installed:!1,runnable:!1,command:f,commandPath:null,reason:h.reason||"not_found",runtimeMode:l,requiresBinary:c};if("not_executable"===h.reason)return{installed:!0,runnable:!1,command:f,commandPath:h.commandPath,reason:"not_executable",runtimeMode:l,requiresBinary:c};let g=await m(h.commandPath,u,Number(s.healthcheckTimeoutMs||4e3));return{installed:!0,runnable:g.runnable,command:f,commandPath:h.commandPath,reason:g.reason,runtimeMode:l,requiresBinary:c}},g=Object.keys(i);e.s(["CLI_TOOL_IDS",0,g,"ensureCliConfigWriteAllowed",0,()=>((e,t=!0)=>null==e||""===e?t:!s.has(String(e).trim().toLowerCase()))(process.env.CLI_ALLOW_CONFIG_WRITES,!0)?null:"CLI config writes are disabled (CLI_ALLOW_CONFIG_WRITES=false)","getCliConfigPaths",0,h,"getCliPrimaryConfigPath",0,e=>{let t=h(e);if(!t)return null;let r=Object.keys(t)[0];return r?t[r]:null},"getCliRuntimeStatus",0,f])},997953,(e,t,r)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].ReactServerDOMTurbopackServer},745015,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"registerServerReference",{enumerable:!0,get:function(){return n.registerServerReference}});let n=e.r(997953)},195975,(e,t,r)=>{"use strict";function n(e){for(let t=0;t<e.length;t++){let r=e[t];if("function"!=typeof r)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof r}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ensureServerEntryExports",{enumerable:!0,get:function(){return n}})},653870,e=>{"use strict";var t=e.i(747909),r=e.i(174017),n=e.i(996250),a=e.i(759756),o=e.i(561916),s=e.i(174677),i=e.i(869741),l=e.i(316795),u=e.i(487718),d=e.i(995169),c=e.i(47587),p=e.i(666012),m=e.i(570101),h=e.i(626937),f=e.i(10372),g=e.i(193695);e.i(52474);var y=e.i(600220),v=e.i(745015),C=e.i(89171),x=e.i(266240);async function _(e,{params:t}){try{let{toolId:e}=await t,r=String(e||"").trim().toLowerCase();if(!x.CLI_TOOL_IDS.includes(r))return C.NextResponse.json({error:"Unsupported CLI tool"},{status:404});let n=await (0,x.getCliRuntimeStatus)(r);return C.NextResponse.json({...n,toolId:r,configPath:(0,x.getCliPrimaryConfigPath)(r),message:"not_required"===n.reason?"This integration is guide-based and does not require a local CLI binary":n.installed&&n.runnable?"CLI detected and runnable":n.installed?"CLI detected but not runnable":"CLI not detected"})}catch(e){return console.log("Error checking CLI runtime:",e),C.NextResponse.json({error:"Failed to check CLI runtime"},{status:500})}}(0,e.i(195975).ensureServerEntryExports)([_]),(0,v.registerServerReference)(_,"600e0a7b6ebd83898c138bef3e3ea24a3e80b8d051",null),e.s(["GET",()=>_],735115);var b=e.i(735115);let R=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/cli-tools/runtime/[toolId]/route",pathname:"/api/cli-tools/runtime/[toolId]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/runtime/[toolId]/route.ts",nextConfigOutput:"standalone",userland:b}),{workAsyncStorage:w,workUnitAsyncStorage:O,serverHooks:I}=R;function E(){return(0,n.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:O})}async function A(e,t,n){R.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/cli-tools/runtime/[toolId]/route";v=v.replace(/\/index$/,"")||"/";let C=await R.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!C)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:x,params:_,nextConfig:b,parsedUrl:w,isDraftMode:O,prerenderManifest:I,routerServerContext:E,isOnDemandRevalidate:A,revalidateOnlyGenerated:S,resolvedPathname:P,clientReferenceManifest:k,serverActionsManifest:j}=C,T=(0,i.normalizeAppPath)(v),N=!!(I.dynamicRoutes[T]||I.routes[P]),L=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,w,!1):t.end("This page could not be found"),null);if(N&&!O){let e=!!I.routes[P],t=I.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(b.experimental.adapterPath)return await L();throw new g.NoFallbackError}}let B=null;!N||R.isDev||O||(B="/index"===(B=P)?"/":B);let q=!0===R.isDev||!N,M=N&&!q;j&&k&&(0,s.setManifestsSingleton)({page:v,clientReferenceManifest:k,serverActionsManifest:j});let D=e.method||"GET",U=(0,o.getTracer)(),$=U.getActiveScopeSpan(),K={params:_,prerenderManifest:I,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:q,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:b.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>R.onRequestError(e,t,n,a,E)},sharedContext:{buildId:x}},H=new l.NodeNextRequest(e),F=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(H,(0,u.signalFromNodeResponse)(t));try{let s=async e=>R.handle(G,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${D} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${D} ${v}`)}),i=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var o,l;let u=async({previousCacheEntry:r})=>{try{if(!i&&A&&S&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await s(a);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let u=K.renderOpts.collectedTags;if(!N)return await (0,p.sendResponse)(H,F,o,K.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(o.headers);u&&(t[f.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,n=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:A})},!1,E),t}},d=await R.handleResponse({req:e,nextConfig:b,cacheKey:B,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:S,responseGenerator:u,waitUntil:n.waitUntil,isMinimalMode:i});if(!N)return null;if((null==d||null==(o=d.value)?void 0:o.kind)!==y.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});i||t.setHeader("x-nextjs-cache",A?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),O&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,m.fromNodeOutgoingHttpHeaders)(d.value.headers);return i&&N||g.delete(f.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(H,F,new Response(d.value.body,{headers:g,status:d.value.status||200})),null};$?await l($):await U.withPropagatedContext(e.headers,()=>U.trace(d.BaseServerSpan.handleRequest,{spanName:`${D} ${v}`,kind:o.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},l))}catch(t){if(t instanceof g.NoFallbackError||await R.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:A})},!1,E),N)throw t;return await (0,p.sendResponse)(H,F,new Response(null,{status:500})),null}}e.s(["handler",()=>A,"patchFetch",()=>E,"routeModule",()=>R,"serverHooks",()=>I,"workAsyncStorage",()=>w,"workUnitAsyncStorage",()=>O],653870)}];
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ensureServerEntryExports",{enumerable:!0,get:function(){return n}})},653870,e=>{"use strict";var t=e.i(747909),r=e.i(174017),n=e.i(996250),a=e.i(759756),o=e.i(561916),s=e.i(174677),i=e.i(869741),l=e.i(316795),u=e.i(487718),d=e.i(995169),c=e.i(47587),p=e.i(666012),m=e.i(570101),h=e.i(626937),f=e.i(10372),g=e.i(193695);e.i(52474);var y=e.i(600220),v=e.i(745015),C=e.i(89171),x=e.i(266240);async function _(e,{params:t}){try{let{toolId:e}=await t,r=String(e||"").trim().toLowerCase();if(!x.CLI_TOOL_IDS.includes(r))return C.NextResponse.json({error:"Unsupported CLI tool"},{status:404});let n=await (0,x.getCliRuntimeStatus)(r);return C.NextResponse.json({...n,toolId:r,configPath:(0,x.getCliPrimaryConfigPath)(r),message:"not_required"===n.reason?"This integration is guide-based and does not require a local CLI binary":n.installed&&n.runnable?"CLI detected and runnable":n.installed?"CLI detected but not runnable":"CLI not detected"})}catch(e){return console.log("Error checking CLI runtime:",e),C.NextResponse.json({error:"Failed to check CLI runtime"},{status:500})}}(0,e.i(195975).ensureServerEntryExports)([_]),(0,v.registerServerReference)(_,"6087bddce6bed7631e88188663e49860768cd5736e",null),e.s(["GET",()=>_],735115);var b=e.i(735115);let R=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/cli-tools/runtime/[toolId]/route",pathname:"/api/cli-tools/runtime/[toolId]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/runtime/[toolId]/route.ts",nextConfigOutput:"standalone",userland:b}),{workAsyncStorage:w,workUnitAsyncStorage:O,serverHooks:I}=R;function E(){return(0,n.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:O})}async function A(e,t,n){R.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/cli-tools/runtime/[toolId]/route";v=v.replace(/\/index$/,"")||"/";let C=await R.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!C)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:x,params:_,nextConfig:b,parsedUrl:w,isDraftMode:O,prerenderManifest:I,routerServerContext:E,isOnDemandRevalidate:A,revalidateOnlyGenerated:S,resolvedPathname:P,clientReferenceManifest:k,serverActionsManifest:j}=C,T=(0,i.normalizeAppPath)(v),N=!!(I.dynamicRoutes[T]||I.routes[P]),L=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,w,!1):t.end("This page could not be found"),null);if(N&&!O){let e=!!I.routes[P],t=I.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(b.experimental.adapterPath)return await L();throw new g.NoFallbackError}}let B=null;!N||R.isDev||O||(B="/index"===(B=P)?"/":B);let q=!0===R.isDev||!N,M=N&&!q;j&&k&&(0,s.setManifestsSingleton)({page:v,clientReferenceManifest:k,serverActionsManifest:j});let D=e.method||"GET",U=(0,o.getTracer)(),$=U.getActiveScopeSpan(),K={params:_,prerenderManifest:I,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:q,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:b.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>R.onRequestError(e,t,n,a,E)},sharedContext:{buildId:x}},H=new l.NodeNextRequest(e),F=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(H,(0,u.signalFromNodeResponse)(t));try{let s=async e=>R.handle(G,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${D} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${D} ${v}`)}),i=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var o,l;let u=async({previousCacheEntry:r})=>{try{if(!i&&A&&S&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await s(a);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let u=K.renderOpts.collectedTags;if(!N)return await (0,p.sendResponse)(H,F,o,K.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(o.headers);u&&(t[f.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,n=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:A})},!1,E),t}},d=await R.handleResponse({req:e,nextConfig:b,cacheKey:B,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:S,responseGenerator:u,waitUntil:n.waitUntil,isMinimalMode:i});if(!N)return null;if((null==d||null==(o=d.value)?void 0:o.kind)!==y.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});i||t.setHeader("x-nextjs-cache",A?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),O&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,m.fromNodeOutgoingHttpHeaders)(d.value.headers);return i&&N||g.delete(f.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(H,F,new Response(d.value.body,{headers:g,status:d.value.status||200})),null};$?await l($):await U.withPropagatedContext(e.headers,()=>U.trace(d.BaseServerSpan.handleRequest,{spanName:`${D} ${v}`,kind:o.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},l))}catch(t){if(t instanceof g.NoFallbackError||await R.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:A})},!1,E),N)throw t;return await (0,p.sendResponse)(H,F,new Response(null,{status:500})),null}}e.s(["handler",()=>A,"patchFetch",()=>E,"routeModule",()=>R,"serverHooks",()=>I,"workAsyncStorage",()=>w,"workUnitAsyncStorage",()=>O],653870)}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__167585da._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[878947,e=>{"use strict";var t=e.i(828059);let r=(0,t.generateModels)(),n=(0,t.generateAliasMap)();function i(e){return r[e]||[]}function a(e){let t=r[e];return t?.[0]?.id||null}function o(e,t,n=new Set){if(n.has(e))return!0;let i=r[e];return!!i&&i.some(e=>e.id===t)}function l(e,t){let n=r[e];if(!n)return t;let i=n.find(e=>e.id===t);return i?.name||t}function s(e,t){let n=r[e];if(!n)return null;let i=n.find(e=>e.id===t);return i?.targetFormat||null}function c(e){return r[n[e]||e]||[]}e.s(["PROVIDER_ID_TO_ALIAS",0,n,"PROVIDER_MODELS",0,r,"findModelName",()=>l,"getDefaultModel",()=>a,"getModelTargetFormat",()=>s,"getModelsByProviderId",()=>c,"getProviderModels",()=>i,"isValidModel",()=>o])},403122,e=>{"use strict";class t{cache=new Map;ttlMs;constructor(e){this.ttlMs=e}get(e){let t=this.cache.get(e);if(t)return Date.now()>t.expiresAt?void this.cache.delete(e):t.value}set(e,t){this.cache.set(e,{value:t,expiresAt:Date.now()+this.ttlMs})}invalidate(e){e?this.cache.delete(e):this.cache.clear()}}let r=new t(5e3),n=new t(3e4),i=new t(5e3);async function a(){let t=r.get("settings");if(t)return t;let{getSettings:n}=await e.A(606102),i=await n();return r.set("settings",i),i}async function o(){let t=n.get("pricing");if(t)return t;let{getPricing:r}=await e.A(606102),i=await r();return n.set("pricing",i),i}async function l(t){if(t&&Object.keys(t).length>0){let{getProviderConnections:r}=await e.A(789543);return r(t)}let r=i.get("all");if(r)return r;let{getProviderConnections:n}=await e.A(789543),a=await n();return i.set("all",a),a}function s(e){e&&"settings"!==e||r.invalidate(),e&&"pricing"!==e||n.invalidate(),e&&"connections"!==e||i.invalidate()}e.s(["getCachedPricing",()=>o,"getCachedProviderConnections",()=>l,"getCachedSettings",()=>a,"invalidateDbCache",()=>s])},792509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},785148,(e,t,r)=>{t.exports=e.x("better-sqlite3",()=>require("better-sqlite3"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},256770,e=>{"use strict";var t=e.i(814747),r=e.i(446786);let n="omniroute";function i(){try{return r.default.homedir()}catch{return process.cwd()}}function a(e){if("string"!=typeof e)return null;let r=e.trim();return r?t.default.resolve(r):null}function o(){return t.default.join(i(),`.${n}`)}function l({isCloud:e=!1}={}){let r;if(e)return"/tmp";let s=a(process.env.DATA_DIR);return s?s:(i(),(r=a(process.env.XDG_CONFIG_HOME))?t.default.join(r,n):o())}function s(e,r){return!!e&&!!r&&t.default.resolve(e)===t.default.resolve(r)}e.s(["getLegacyDotDataDir",()=>o,"isSamePath",()=>s,"resolveDataDir",()=>l])},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},935050,91429,e=>{"use strict";var t=e.i(785148),r=e.i(814747),n=e.i(522734),i=e.i(157763);let a=new Set;function o(e){a.add(e)}function l(){for(let e of a)try{e()}catch(e){console.warn("[DB] Failed to reset module state:",e)}}e.s(["registerDbStateResetter",()=>o,"resetAllDbModuleState",()=>l],91429);let s=0;function c(e="auto"){try{if(i.isBuildPhase||i.isCloud||!i.SQLITE_FILE||!n.default.existsSync(i.SQLITE_FILE))return null;let t=n.default.statSync(i.SQLITE_FILE);if(t.size<4096)return console.warn(`[DB] Backup SKIPPED — DB too small (${t.size}B)`),null;let a=Date.now();if("manual"!==e&&"pre-restore"!==e&&a-s<36e5)return null;s=a;let o=i.DB_BACKUPS_DIR||r.default.join(i.DATA_DIR,"db_backups");n.default.existsSync(o)||n.default.mkdirSync(o,{recursive:!0});let l=n.default.readdirSync(o).filter(e=>e.startsWith("db_")&&e.endsWith(".sqlite")).sort();if(l.length>0){let e=l[l.length-1],i=n.default.statSync(r.default.join(o,e));if(i.size>4096&&t.size<.5*i.size)return console.warn(`[DB] Backup SKIPPED — DB shrank from ${i.size}B to ${t.size}B`),null}let c=new Date().toISOString().replace(/[:.]/g,"-"),u=r.default.join(o,`db_${c}_${e}.sqlite`);(0,i.getDbInstance)().backup(u).then(()=>{console.log(`[DB] Backup created: ${u} (${t.size} bytes)`)}).catch(e=>{let t=e instanceof Error?e.message:String(e);console.error("[DB] Backup failed:",t)});let p=n.default.readdirSync(o).filter(e=>e.startsWith("db_")&&e.endsWith(".sqlite")).sort();for(;p.length>20;){let e=0,t=1/0;for(let i=0;i<p.length-1;i++)try{let a=n.default.statSync(r.default.join(o,p[i]));a.size<t&&(t=a.size,e=i)}catch{e=i;break}try{n.default.unlinkSync(r.default.join(o,p[e]))}catch{}p.splice(e,1)}return{filename:r.default.basename(u),size:t.size}}catch(e){return console.error("[DB] Backup failed:",e instanceof Error?e.message:String(e)),null}}async function u(){let e=i.DB_BACKUPS_DIR||r.default.join(i.DATA_DIR,"db_backups");try{if(!n.default.existsSync(e))return[];return n.default.readdirSync(e).filter(e=>e.startsWith("db_")&&e.endsWith(".sqlite")).sort().reverse().map(i=>{let a=r.default.join(e,i),o=n.default.statSync(a),l=i.match(/^db_(.+?)_([^.]+)\.sqlite$/),s=l?l[2]:"unknown",c=0;try{let e=new t.default(a,{readonly:!0}),r=e.prepare("SELECT COUNT(*) as cnt FROM provider_connections").get();c=r?.cnt||0,e.close()}catch{}return{id:i,filename:i,createdAt:o.mtime.toISOString(),size:o.size,reason:s,connectionCount:c}})}catch{return[]}}async function p(e){let a=i.DB_BACKUPS_DIR||r.default.join(i.DATA_DIR,"db_backups");if(!e.startsWith("db_")||!e.endsWith(".sqlite")||e.includes(r.default.sep)||e.includes("/"))throw Error("Invalid backup ID");let o=r.default.resolve(a,e);if(!o.startsWith(r.default.resolve(a)+r.default.sep)&&o!==r.default.resolve(a))throw Error("Invalid backup ID: path traversal detected");if(!n.default.existsSync(o))throw Error(`Backup not found: ${e}`);try{let e=new t.default(o,{readonly:!0}),r=e.pragma("integrity_check");if(e.close(),r[0]?.integrity_check!=="ok")throw Error("Backup integrity check failed")}catch(t){if(t instanceof Error&&"Backup integrity check failed"===t.message)throw t;let e=t instanceof Error?t.message:String(t);throw Error(`Backup file is corrupt: ${e}`)}s=0,c("pre-restore"),(0,i.resetDbInstance)(),l();let u=i.SQLITE_FILE;if(!u)throw Error("SQLITE_FILE is unavailable in local backup restore");for(let e of[u,`${u}-wal`,`${u}-shm`,`${u}-journal`])e&&n.default.existsSync(e)&&n.default.unlinkSync(e);n.default.copyFileSync(o,u);let p=(0,i.getDbInstance)(),d=p.prepare("SELECT COUNT(*) as cnt FROM provider_connections").get()?.cnt||0,f=p.prepare("SELECT COUNT(*) as cnt FROM provider_nodes").get()?.cnt||0,y=p.prepare("SELECT COUNT(*) as cnt FROM combos").get()?.cnt||0,E=p.prepare("SELECT COUNT(*) as cnt FROM api_keys").get()?.cnt||0;return console.log(`[DB] Restored backup: ${e} (${d} connections)`),{restored:!0,backupId:e,connectionCount:d,nodeCount:f,comboCount:y,apiKeyCount:E}}e.s(["backupDbFile",()=>c,"listDbBackups",()=>u,"restoreDbBackup",()=>p],935050)},542949,e=>{"use strict";var t=e.i(157763),r=e.i(935050);function n(e){let t=e&&"object"==typeof e&&!Array.isArray(e)?e:{};return{key:"string"==typeof t.key?t.key:null,value:"string"==typeof t.value?t.value:null}}async function i(){let e=(0,t.getDbInstance)().prepare("SELECT key, value FROM key_value WHERE namespace = 'modelAliases'").all(),r={};for(let t of e){let{key:e,value:i}=n(t);e&&null!==i&&(r[e]=JSON.parse(i))}return r}async function a(e,n){(0,t.getDbInstance)().prepare("INSERT OR REPLACE INTO key_value (namespace, key, value) VALUES ('modelAliases', ?, ?)").run(e,JSON.stringify(n)),(0,r.backupDbFile)("pre-write")}async function o(e){(0,t.getDbInstance)().prepare("DELETE FROM key_value WHERE namespace = 'modelAliases' AND key = ?").run(e),(0,r.backupDbFile)("pre-write")}async function l(e){let r=(0,t.getDbInstance)();if(e){let t=n(r.prepare("SELECT value FROM key_value WHERE namespace = 'mitmAlias' AND key = ?").get(e)).value;return t?JSON.parse(t):{}}let i=r.prepare("SELECT key, value FROM key_value WHERE namespace = 'mitmAlias'").all(),a={};for(let e of i){let{key:t,value:r}=n(e);t&&null!==r&&(a[t]=JSON.parse(r))}return a}async function s(e,n){(0,t.getDbInstance)().prepare("INSERT OR REPLACE INTO key_value (namespace, key, value) VALUES ('mitmAlias', ?, ?)").run(e,JSON.stringify(n||{})),(0,r.backupDbFile)("pre-write")}async function c(e){let r=(0,t.getDbInstance)();if(e){let t=n(r.prepare("SELECT value FROM key_value WHERE namespace = 'customModels' AND key = ?").get(e)).value;return t?JSON.parse(t):[]}let i=r.prepare("SELECT key, value FROM key_value WHERE namespace = 'customModels'").all(),a={};for(let e of i){let{key:t,value:r}=n(e);t&&null!==r&&(a[t]=JSON.parse(r))}return a}async function u(){let e=(0,t.getDbInstance)().prepare("SELECT key, value FROM key_value WHERE namespace = 'customModels'").all(),r={};for(let t of e){let{key:e,value:i}=n(t);e&&null!==i&&(r[e]=JSON.parse(i))}return r}async function p(e,i,a,o="manual",l="chat-completions",s=["chat"]){let c=(0,t.getDbInstance)(),u=n(c.prepare("SELECT value FROM key_value WHERE namespace = 'customModels' AND key = ?").get(e)).value,d=u?JSON.parse(u):[],f=d.find(e=>e.id===i);if(f)return f;let y={id:i,name:a||i,source:o,apiFormat:l,supportedEndpoints:s};return d.push(y),c.prepare("INSERT OR REPLACE INTO key_value (namespace, key, value) VALUES ('customModels', ?, ?)").run(e,JSON.stringify(d)),(0,r.backupDbFile)("pre-write"),y}async function d(e,i){let a=(0,t.getDbInstance)(),o=a.prepare("SELECT value FROM key_value WHERE namespace = 'customModels' AND key = ?").get(e);if(!o)return!1;let l=n(o).value;if(!l)return!1;let s=JSON.parse(l),c=s.length,u=s.filter(e=>e.id!==i);return u.length!==c&&(0===u.length?a.prepare("DELETE FROM key_value WHERE namespace = 'customModels' AND key = ?").run(e):a.prepare("UPDATE key_value SET value = ? WHERE namespace = 'customModels' AND key = ?").run(JSON.stringify(u),e),(0,r.backupDbFile)("pre-write"),!0)}async function f(e,i,a={}){let o=(0,t.getDbInstance)(),l=o.prepare("SELECT value FROM key_value WHERE namespace = 'customModels' AND key = ?").get(e);if(!l)return null;let s=n(l).value;if(!s)return null;let c=JSON.parse(s),u=c.findIndex(e=>e.id===i);if(-1===u)return null;let p=c[u],d={...p,...void 0!==a.modelName?{name:a.modelName||p.name}:{},...void 0!==a.apiFormat?{apiFormat:a.apiFormat}:{},...void 0!==a.supportedEndpoints?{supportedEndpoints:a.supportedEndpoints}:{}};return c[u]=d,o.prepare("UPDATE key_value SET value = ? WHERE namespace = 'customModels' AND key = ?").run(JSON.stringify(c),e),(0,r.backupDbFile)("pre-write"),d}e.s(["addCustomModel",()=>p,"deleteModelAlias",()=>o,"getAllCustomModels",()=>u,"getCustomModels",()=>c,"getMitmAlias",()=>l,"getModelAliases",()=>i,"removeCustomModel",()=>d,"setMitmAliasAll",()=>s,"setModelAlias",()=>a,"updateCustomModel",()=>f])},151205,e=>{"use strict";var t=e.i(689960),r=e.i(157763),n=e.i(935050);function i(e){let t=e&&"object"==typeof e&&!Array.isArray(e)?e:{};return"string"==typeof t.data?t.data:null}async function a(){return(0,r.getDbInstance)().prepare("SELECT data FROM combos ORDER BY name").all().map(e=>i(e)).filter(e=>null!==e).map(e=>JSON.parse(e))}async function o(e){let t=i((0,r.getDbInstance)().prepare("SELECT data FROM combos WHERE id = ?").get(e));return t?JSON.parse(t):null}async function l(e){let t=i((0,r.getDbInstance)().prepare("SELECT data FROM combos WHERE name = ?").get(e));return t?JSON.parse(t):null}async function s(e){let i=(0,r.getDbInstance)(),a=new Date().toISOString(),o={id:(0,t.v4)(),name:e.name,models:e.models||[],strategy:e.strategy||"priority",config:e.config||{},createdAt:a,updatedAt:a};return i.prepare("INSERT INTO combos (id, name, data, created_at, updated_at) VALUES (?, ?, ?, ?, ?)").run(o.id,o.name,JSON.stringify(o),a,a),(0,n.backupDbFile)("pre-write"),o}async function c(e,t){let a=(0,r.getDbInstance)(),o=a.prepare("SELECT data FROM combos WHERE id = ?").get(e);if(!o)return null;let l=i(o);if(!l)return null;let s={...JSON.parse(l),...t,updatedAt:new Date().toISOString()};return a.prepare("UPDATE combos SET name = ?, data = ?, updated_at = ? WHERE id = ?").run(s.name,JSON.stringify(s),s.updatedAt,e),(0,n.backupDbFile)("pre-write"),s}async function u(e){return 0!==(0,r.getDbInstance)().prepare("DELETE FROM combos WHERE id = ?").run(e).changes&&((0,n.backupDbFile)("pre-write"),!0)}e.s(["createCombo",()=>s,"deleteCombo",()=>u,"getComboById",()=>o,"getComboByName",()=>l,"getCombos",()=>a,"updateCombo",()=>c])},245272,e=>{"use strict";e.i(385498),e.i(542949),e.i(151205),e.i(125852),e.i(548941),e.i(954031),e.i(751183),e.i(935050),e.i(403122),e.s([])},751183,e=>{"use strict";var t=e.i(157763),r=e.i(403122),n=e.i(935050);let i=["litellm"],a=parseInt(process.env.PRICING_SYNC_INTERVAL||"86400",10),o=Number.isFinite(a)&&a>0?1e3*a:864e5,l=(process.env.PRICING_SYNC_SOURCES||"litellm").split(",").map(e=>e.trim()).filter(e=>i.includes(e)),s={openai:["openai","cx"],anthropic:["anthropic","cc"],vertex_ai:["gemini","gc"],"vertex_ai-anthropic_models":["anthropic"],google:["gemini","gc"],deepseek:["if"],groq:["groq"],together_ai:["openrouter"],bedrock:["kiro"],fireworks_ai:["fireworks"],cerebras:["cerebras"],nvidia_nim:["nvidia"],siliconflow:["siliconflow"]},c=null,u=null,p=0,d=o;async function f(){let e=await fetch("https://raw.githubusercontent.com/BerriAI/litellm/main/model_prices_and_context_window.json",{signal:AbortSignal.timeout(3e4)});if(!e.ok)throw Error(`LiteLLM fetch failed [${e.status}]: ${e.statusText}`);let t=await e.text();try{return JSON.parse(t)}catch{throw Error(`LiteLLM returned invalid JSON (${t.slice(0,100)}...)`)}}function y(e){let t={};for(let[r,n]of Object.entries(e)){if(n.mode&&!["chat","completion"].includes(n.mode)||!n.input_cost_per_token&&0!==n.input_cost_per_token)continue;let e={input:Math.round(1e3*(1e6*(n.input_cost_per_token||0)))/1e3,output:Math.round(1e3*(1e6*(n.output_cost_per_token||0)))/1e3};null!=n.cache_read_input_token_cost&&(e.cached=Math.round(1e6*n.cache_read_input_token_cost*1e3)/1e3),null!=n.cache_creation_input_token_cost&&(e.cache_creation=Math.round(1e6*n.cache_creation_input_token_cost*1e3)/1e3);let i=r.indexOf("/"),a=i>=0?r.slice(i+1):r,o=n.litellm_provider||"",l=s[o];if(l)for(let r of l)t[r]||(t[r]={}),t[r][a]=e;else o&&(t[o]||(t[o]={}),t[o][a]=e)}return t}function E(){let e=(0,t.getDbInstance)().prepare("SELECT key, value FROM key_value WHERE namespace = 'pricing_synced'").all(),r={};for(let t of e){let e=t&&"object"==typeof t?t:{},n="string"==typeof e.key?e.key:null,i="string"==typeof e.value?e.value:null;if(n&&null!==i)try{r[n]=JSON.parse(i)}catch{console.warn(`[PRICING_SYNC] Corrupted data for provider "${n}", skipping`)}}return r}function _(e){let i=(0,t.getDbInstance)(),a=i.prepare("DELETE FROM key_value WHERE namespace = 'pricing_synced'"),o=i.prepare("INSERT INTO key_value (namespace, key, value) VALUES ('pricing_synced', ?, ?)");i.transaction(()=>{for(let[t,r]of(a.run(),Object.entries(e)))o.run(t,JSON.stringify(r))})(),(0,n.backupDbFile)("pre-write"),(0,r.invalidateDbCache)("pricing")}function v(){(0,t.getDbInstance)().prepare("DELETE FROM key_value WHERE namespace = 'pricing_synced'").run(),(0,n.backupDbFile)("pre-write"),(0,r.invalidateDbCache)("pricing")}async function m(e){let t=e?.sources||l,r=e?.dryRun??!1,n=t.filter(e=>i.includes(e)),a=t.filter(e=>!i.includes(e));if(0===n.length){let e=i.join(", ");return{success:!1,modelCount:0,providerCount:0,source:t.join(","),dryRun:r,error:`No valid sources provided. Supported: ${e}. Invalid: ${a.join(", ")}`}}try{let e={};for(let t of n)if("litellm"===t){let t=await f(),r=y(t);for(let[t,n]of Object.entries(r))e[t]||(e[t]={}),Object.assign(e[t],n)}let t=Object.values(e).reduce((e,t)=>e+Object.keys(t).length,0),i=Object.keys(e).length;return r||(_(e),u=new Date().toISOString(),p=t),{success:!0,modelCount:t,providerCount:i,source:n.join(","),dryRun:r,...a.length>0?{warnings:[`Unknown sources ignored: ${a.join(", ")}`]}:{},...r?{data:e}:{}}}catch(n){let e=n instanceof Error?n.message:String(n);return console.warn("[PRICING_SYNC] Sync failed:",e),{success:!1,modelCount:0,providerCount:0,source:t.join(","),dryRun:r,error:e}}}function g(e){if(c)return;let t=e??o;d=t,console.log(`[PRICING_SYNC] Starting periodic sync every ${t/1e3}s`),m().then(e=>{e.success&&console.log(`[PRICING_SYNC] Initial sync complete: ${e.modelCount} models from ${e.providerCount} providers`)}).catch(e=>{console.warn("[PRICING_SYNC] Initial sync error:",e instanceof Error?e.message:e)}),c=setInterval(()=>{m().then(e=>{e.success&&console.log(`[PRICING_SYNC] Periodic sync complete: ${e.modelCount} models`)}).catch(e=>{console.warn("[PRICING_SYNC] Periodic sync error:",e instanceof Error?e.message:e)})},t)}function h(){c&&(clearInterval(c),c=null,console.log("[PRICING_SYNC] Periodic sync stopped"))}function S(){return{enabled:"true"===process.env.PRICING_SYNC_ENABLED,lastSync:u,lastSyncModelCount:p,nextSync:c&&u?new Date(new Date(u).getTime()+d).toISOString():null,intervalMs:d,sources:l}}async function k(){"true"!==process.env.PRICING_SYNC_ENABLED?console.log("[PRICING_SYNC] Disabled (set PRICING_SYNC_ENABLED=true to enable)"):g()}e.s(["clearSyncedPricing",()=>v,"fetchLiteLLMPricing",()=>f,"getSyncStatus",()=>S,"getSyncedPricing",()=>E,"initPricingSync",()=>k,"saveSyncedPricing",()=>_,"startPeriodicSync",()=>g,"stopPeriodicSync",()=>h,"syncPricingFromSources",()=>m,"transformToOmniRoute",()=>y])},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},385498,e=>{"use strict";var t=e.i(689960),r=e.i(157763),n=e.i(935050),i=e.i(254799);let a="aes-256-gcm",o="enc:v1:",l=null;function s(){if(null!==l)return l;let e=process.env.STORAGE_ENCRYPTION_KEY;return e?l=(0,i.scryptSync)(e,"omniroute-field-encryption-v1",32):null}function c(){return!!process.env.STORAGE_ENCRYPTION_KEY}function u(e){if(!e||"string"!=typeof e)return e;let t=s();if(!t||e.startsWith(o))return e;let r=(0,i.randomBytes)(16),n=(0,i.createCipheriv)(a,t,r),l=n.update(e,"utf8","hex");l+=n.final("hex");let c=n.getAuthTag().toString("hex");return`${o}${r.toString("hex")}:${l}:${c}`}function p(e){if(!e||"string"!=typeof e||!e.startsWith(o))return e;let t=s();if(!t)return console.warn("[Encryption] Found encrypted data but STORAGE_ENCRYPTION_KEY is not set. Cannot decrypt."),e;let r=e.slice(o.length).split(":");if(3!==r.length)return console.error("[Encryption] Malformed encrypted value"),e;let[n,l,c]=r;try{let e=Buffer.from(n,"hex"),r=Buffer.from(c,"hex"),o=(0,i.createDecipheriv)(a,t,e);o.setAuthTag(r);let s=o.update(l,"hex","utf8");return s+=o.final("utf8")}catch(t){return console.error("[Encryption] Decryption failed:",t instanceof Error?t.message:String(t)),e}}function d(e){return c()&&e&&(e.apiKey&&(e.apiKey=u(e.apiKey)),e.accessToken&&(e.accessToken=u(e.accessToken)),e.refreshToken&&(e.refreshToken=u(e.refreshToken)),e.idToken&&(e.idToken=u(e.idToken))),e}function f(e){return e&&c()?{...e,apiKey:p(e.apiKey),accessToken:p(e.accessToken),refreshToken:p(e.refreshToken),idToken:p(e.idToken)}:e}var y=e.i(403122);function E(e){return e&&"object"==typeof e?e:{}}function _(e){return"string"==typeof e?e:null}async function v(e={}){let t=(0,r.getDbInstance)(),n="SELECT * FROM provider_connections",i=[],a={};return e.provider&&(i.push("provider = @provider"),a.provider=e.provider),void 0!==e.isActive&&(i.push("is_active = @isActive"),a.isActive=+!!e.isActive),i.length>0&&(n+=" WHERE "+i.join(" AND ")),n+=" ORDER BY priority ASC, updated_at DESC",t.prepare(n).all(a).map(e=>f((0,r.cleanNulls)((0,r.rowToCamel)(e))))}async function m(e){let t=(0,r.getDbInstance)().prepare("SELECT * FROM provider_connections WHERE id = ?").get(e);return t?f((0,r.cleanNulls)((0,r.rowToCamel)(t))):null}async function g(e){var i,a,o;let l=(0,r.getDbInstance)(),s=new Date().toISOString(),c=null;if("oauth"===e.authType&&e.email){let t=_(E(e.providerSpecificData).workspaceId);"codex"===e.provider&&t?(c=l.prepare("SELECT * FROM provider_connections WHERE provider = ? AND auth_type = 'oauth' AND json_extract(provider_specific_data, '$.workspaceId') = ? AND email = ?").get(e.provider,t,e.email)||null)||(c=l.prepare("SELECT * FROM provider_connections WHERE provider = ? AND auth_type = 'oauth' AND json_extract(provider_specific_data, '$.workspaceId') = ? AND (email IS NULL OR email = '')").get(e.provider,t)||null):c=l.prepare("SELECT * FROM provider_connections WHERE provider = ? AND auth_type = 'oauth' AND email = ?").get(e.provider,e.email)||null}else"apikey"===e.authType&&e.name&&(c=l.prepare("SELECT * FROM provider_connections WHERE provider = ? AND auth_type = 'apikey' AND name = ?").get(e.provider,e.name)||null);if(c){let t=_(c.id);if(!t)return null;let i={...E((0,r.rowToCamel)(c)),...e,updatedAt:s};return h(l,t,i),(0,n.backupDbFile)("pre-write"),(0,r.cleanNulls)(i)}let u=e.name||null;!u&&"oauth"===e.authType&&(e.email?u=e.email:e.displayName&&(u=e.displayName));let p=e.priority;if(!p){p=("number"==typeof(i=E(l.prepare("SELECT MAX(priority) as maxP FROM provider_connections WHERE provider = ?").get(e.provider)).maxP)?i:0)+1}let f={id:(0,t.v4)(),provider:e.provider,authType:e.authType||"oauth",name:u,priority:p,isActive:void 0===e.isActive||e.isActive,createdAt:s,updatedAt:s};for(let t of["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","idToken","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","lastErrorType","lastErrorSource","rateLimitedUntil","expiresIn","errorCode","consecutiveUseCount","rateLimitProtection","group"])void 0!==e[t]&&null!==e[t]&&(f[t]=e[t]);e.providerSpecificData&&Object.keys(e.providerSpecificData).length>0&&(f.providerSpecificData=e.providerSpecificData),a=l,o=d({...f}),a.prepare(`
1
+ module.exports=[878947,e=>{"use strict";var t=e.i(828059);let r=(0,t.generateModels)(),n=(0,t.generateAliasMap)();function a(e){return r[e]||[]}function i(e){let t=r[e];return t?.[0]?.id||null}function o(e,t,n=new Set){if(n.has(e))return!0;let a=r[e];return!!a&&a.some(e=>e.id===t)}function l(e,t){let n=r[e];if(!n)return t;let a=n.find(e=>e.id===t);return a?.name||t}function s(e,t){let n=r[e];if(!n)return null;let a=n.find(e=>e.id===t);return a?.targetFormat||null}function c(e){return r[n[e]||e]||[]}e.s(["PROVIDER_ID_TO_ALIAS",0,n,"PROVIDER_MODELS",0,r,"findModelName",()=>l,"getDefaultModel",()=>i,"getModelTargetFormat",()=>s,"getModelsByProviderId",()=>c,"getProviderModels",()=>a,"isValidModel",()=>o])},403122,e=>{"use strict";class t{cache=new Map;ttlMs;constructor(e){this.ttlMs=e}get(e){let t=this.cache.get(e);if(t)return Date.now()>t.expiresAt?void this.cache.delete(e):t.value}set(e,t){this.cache.set(e,{value:t,expiresAt:Date.now()+this.ttlMs})}invalidate(e){e?this.cache.delete(e):this.cache.clear()}}let r=new t(5e3),n=new t(3e4),a=new t(5e3);async function i(){let t=r.get("settings");if(t)return t;let{getSettings:n}=await e.A(606102),a=await n();return r.set("settings",a),a}async function o(){let t=n.get("pricing");if(t)return t;let{getPricing:r}=await e.A(606102),a=await r();return n.set("pricing",a),a}async function l(t){if(t&&Object.keys(t).length>0){let{getProviderConnections:r}=await e.A(789543);return r(t)}let r=a.get("all");if(r)return r;let{getProviderConnections:n}=await e.A(789543),i=await n();return a.set("all",i),i}function s(e){e&&"settings"!==e||r.invalidate(),e&&"pricing"!==e||n.invalidate(),e&&"connections"!==e||a.invalidate()}e.s(["getCachedPricing",()=>o,"getCachedProviderConnections",()=>l,"getCachedSettings",()=>i,"invalidateDbCache",()=>s])},792509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},785148,(e,t,r)=>{t.exports=e.x("better-sqlite3",()=>require("better-sqlite3"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},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 i(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(),`.${n}`)}function l({isCloud:e=!1}={}){let r;if(e)return"/tmp";let s=i(process.env.DATA_DIR);return s?s:(a(),(r=i(process.env.XDG_CONFIG_HOME))?t.default.join(r,n):o())}function s(e,r){return!!e&&!!r&&t.default.resolve(e)===t.default.resolve(r)}e.s(["getLegacyDotDataDir",()=>o,"isSamePath",()=>s,"resolveDataDir",()=>l])},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},935050,91429,e=>{"use strict";var t=e.i(785148),r=e.i(814747),n=e.i(522734),a=e.i(157763);let i=new Set;function o(e){i.add(e)}function l(){for(let e of i)try{e()}catch(e){console.warn("[DB] Failed to reset module state:",e)}}e.s(["registerDbStateResetter",()=>o,"resetAllDbModuleState",()=>l],91429);let s=0;function c(e="auto"){try{if(a.isBuildPhase||a.isCloud||!a.SQLITE_FILE||!n.default.existsSync(a.SQLITE_FILE))return null;let t=n.default.statSync(a.SQLITE_FILE);if(t.size<4096)return console.warn(`[DB] Backup SKIPPED — DB too small (${t.size}B)`),null;let i=Date.now();if("manual"!==e&&"pre-restore"!==e&&i-s<36e5)return null;s=i;let o=a.DB_BACKUPS_DIR||r.default.join(a.DATA_DIR,"db_backups");n.default.existsSync(o)||n.default.mkdirSync(o,{recursive:!0});let l=n.default.readdirSync(o).filter(e=>e.startsWith("db_")&&e.endsWith(".sqlite")).sort();if(l.length>0){let e=l[l.length-1],a=n.default.statSync(r.default.join(o,e));if(a.size>4096&&t.size<.5*a.size)return console.warn(`[DB] Backup SKIPPED — DB shrank from ${a.size}B to ${t.size}B`),null}let c=new Date().toISOString().replace(/[:.]/g,"-"),u=r.default.join(o,`db_${c}_${e}.sqlite`);(0,a.getDbInstance)().backup(u).then(()=>{console.log(`[DB] Backup created: ${u} (${t.size} bytes)`)}).catch(e=>{let t=e instanceof Error?e.message:String(e);console.error("[DB] Backup failed:",t)});let p=n.default.readdirSync(o).filter(e=>e.startsWith("db_")&&e.endsWith(".sqlite")).sort();for(;p.length>20;){let e=0,t=1/0;for(let a=0;a<p.length-1;a++)try{let i=n.default.statSync(r.default.join(o,p[a]));i.size<t&&(t=i.size,e=a)}catch{e=a;break}try{n.default.unlinkSync(r.default.join(o,p[e]))}catch{}p.splice(e,1)}return{filename:r.default.basename(u),size:t.size}}catch(e){return console.error("[DB] Backup failed:",e instanceof Error?e.message:String(e)),null}}async function u(){let e=a.DB_BACKUPS_DIR||r.default.join(a.DATA_DIR,"db_backups");try{if(!n.default.existsSync(e))return[];return n.default.readdirSync(e).filter(e=>e.startsWith("db_")&&e.endsWith(".sqlite")).sort().reverse().map(a=>{let i=r.default.join(e,a),o=n.default.statSync(i),l=a.match(/^db_(.+?)_([^.]+)\.sqlite$/),s=l?l[2]:"unknown",c=0;try{let e=new t.default(i,{readonly:!0}),r=e.prepare("SELECT COUNT(*) as cnt FROM provider_connections").get();c=r?.cnt||0,e.close()}catch{}return{id:a,filename:a,createdAt:o.mtime.toISOString(),size:o.size,reason:s,connectionCount:c}})}catch{return[]}}async function p(e){let i=a.DB_BACKUPS_DIR||r.default.join(a.DATA_DIR,"db_backups");if(!e.startsWith("db_")||!e.endsWith(".sqlite")||e.includes(r.default.sep)||e.includes("/"))throw Error("Invalid backup ID");let o=r.default.resolve(i,e);if(!o.startsWith(r.default.resolve(i)+r.default.sep)&&o!==r.default.resolve(i))throw Error("Invalid backup ID: path traversal detected");if(!n.default.existsSync(o))throw Error(`Backup not found: ${e}`);try{let e=new t.default(o,{readonly:!0}),r=e.pragma("integrity_check");if(e.close(),r[0]?.integrity_check!=="ok")throw Error("Backup integrity check failed")}catch(t){if(t instanceof Error&&"Backup integrity check failed"===t.message)throw t;let e=t instanceof Error?t.message:String(t);throw Error(`Backup file is corrupt: ${e}`)}s=0,c("pre-restore"),(0,a.resetDbInstance)(),l();let u=a.SQLITE_FILE;if(!u)throw Error("SQLITE_FILE is unavailable in local backup restore");for(let e of[u,`${u}-wal`,`${u}-shm`,`${u}-journal`])e&&n.default.existsSync(e)&&n.default.unlinkSync(e);n.default.copyFileSync(o,u);let p=(0,a.getDbInstance)(),d=p.prepare("SELECT COUNT(*) as cnt FROM provider_connections").get()?.cnt||0,f=p.prepare("SELECT COUNT(*) as cnt FROM provider_nodes").get()?.cnt||0,y=p.prepare("SELECT COUNT(*) as cnt FROM combos").get()?.cnt||0,E=p.prepare("SELECT COUNT(*) as cnt FROM api_keys").get()?.cnt||0;return console.log(`[DB] Restored backup: ${e} (${d} connections)`),{restored:!0,backupId:e,connectionCount:d,nodeCount:f,comboCount:y,apiKeyCount:E}}e.s(["backupDbFile",()=>c,"listDbBackups",()=>u,"restoreDbBackup",()=>p],935050)},542949,e=>{"use strict";var t=e.i(157763),r=e.i(935050);function n(e){let t=e&&"object"==typeof e&&!Array.isArray(e)?e:{};return{key:"string"==typeof t.key?t.key:null,value:"string"==typeof t.value?t.value:null}}async function a(){let e=(0,t.getDbInstance)().prepare("SELECT key, value FROM key_value WHERE namespace = 'modelAliases'").all(),r={};for(let t of e){let{key:e,value:a}=n(t);e&&null!==a&&(r[e]=JSON.parse(a))}return r}async function i(e,n){(0,t.getDbInstance)().prepare("INSERT OR REPLACE INTO key_value (namespace, key, value) VALUES ('modelAliases', ?, ?)").run(e,JSON.stringify(n)),(0,r.backupDbFile)("pre-write")}async function o(e){(0,t.getDbInstance)().prepare("DELETE FROM key_value WHERE namespace = 'modelAliases' AND key = ?").run(e),(0,r.backupDbFile)("pre-write")}async function l(e){let r=(0,t.getDbInstance)();if(e){let t=n(r.prepare("SELECT value FROM key_value WHERE namespace = 'mitmAlias' AND key = ?").get(e)).value;return t?JSON.parse(t):{}}let a=r.prepare("SELECT key, value FROM key_value WHERE namespace = 'mitmAlias'").all(),i={};for(let e of a){let{key:t,value:r}=n(e);t&&null!==r&&(i[t]=JSON.parse(r))}return i}async function s(e,n){(0,t.getDbInstance)().prepare("INSERT OR REPLACE INTO key_value (namespace, key, value) VALUES ('mitmAlias', ?, ?)").run(e,JSON.stringify(n||{})),(0,r.backupDbFile)("pre-write")}async function c(e){let r=(0,t.getDbInstance)();if(e){let t=n(r.prepare("SELECT value FROM key_value WHERE namespace = 'customModels' AND key = ?").get(e)).value;return t?JSON.parse(t):[]}let a=r.prepare("SELECT key, value FROM key_value WHERE namespace = 'customModels'").all(),i={};for(let e of a){let{key:t,value:r}=n(e);t&&null!==r&&(i[t]=JSON.parse(r))}return i}async function u(){let e=(0,t.getDbInstance)().prepare("SELECT key, value FROM key_value WHERE namespace = 'customModels'").all(),r={};for(let t of e){let{key:e,value:a}=n(t);e&&null!==a&&(r[e]=JSON.parse(a))}return r}async function p(e,a,i,o="manual",l="chat-completions",s=["chat"]){let c=(0,t.getDbInstance)(),u=n(c.prepare("SELECT value FROM key_value WHERE namespace = 'customModels' AND key = ?").get(e)).value,d=u?JSON.parse(u):[],f=d.find(e=>e.id===a);if(f)return f;let y={id:a,name:i||a,source:o,apiFormat:l,supportedEndpoints:s};return d.push(y),c.prepare("INSERT OR REPLACE INTO key_value (namespace, key, value) VALUES ('customModels', ?, ?)").run(e,JSON.stringify(d)),(0,r.backupDbFile)("pre-write"),y}async function d(e,a){let i=(0,t.getDbInstance)(),o=i.prepare("SELECT value FROM key_value WHERE namespace = 'customModels' AND key = ?").get(e);if(!o)return!1;let l=n(o).value;if(!l)return!1;let s=JSON.parse(l),c=s.length,u=s.filter(e=>e.id!==a);return u.length!==c&&(0===u.length?i.prepare("DELETE FROM key_value WHERE namespace = 'customModels' AND key = ?").run(e):i.prepare("UPDATE key_value SET value = ? WHERE namespace = 'customModels' AND key = ?").run(JSON.stringify(u),e),(0,r.backupDbFile)("pre-write"),!0)}async function f(e,a,i={}){let o=(0,t.getDbInstance)(),l=o.prepare("SELECT value FROM key_value WHERE namespace = 'customModels' AND key = ?").get(e);if(!l)return null;let s=n(l).value;if(!s)return null;let c=JSON.parse(s),u=c.findIndex(e=>e.id===a);if(-1===u)return null;let p=c[u],d={...p,...void 0!==i.modelName?{name:i.modelName||p.name}:{},...void 0!==i.apiFormat?{apiFormat:i.apiFormat}:{},...void 0!==i.supportedEndpoints?{supportedEndpoints:i.supportedEndpoints}:{},...void 0!==i.normalizeToolCallId?{normalizeToolCallId:!!i.normalizeToolCallId}:{}};return c[u]=d,o.prepare("UPDATE key_value SET value = ? WHERE namespace = 'customModels' AND key = ?").run(JSON.stringify(c),e),(0,r.backupDbFile)("pre-write"),d}function y(e,r){let a,i=n((0,t.getDbInstance)().prepare("SELECT value FROM key_value WHERE namespace = 'customModels' AND key = ?").get(e)).value;if(!i)return!1;try{a=JSON.parse(i)}catch{return!1}if(!Array.isArray(a))return!1;let o=a.find(e=>e.id===r);return!!o?.normalizeToolCallId}e.s(["addCustomModel",()=>p,"deleteModelAlias",()=>o,"getAllCustomModels",()=>u,"getCustomModels",()=>c,"getMitmAlias",()=>l,"getModelAliases",()=>a,"getModelNormalizeToolCallId",()=>y,"removeCustomModel",()=>d,"setMitmAliasAll",()=>s,"setModelAlias",()=>i,"updateCustomModel",()=>f])},151205,e=>{"use strict";var t=e.i(689960),r=e.i(157763),n=e.i(935050);function a(e){let t=e&&"object"==typeof e&&!Array.isArray(e)?e:{};return"string"==typeof t.data?t.data:null}async function i(){return(0,r.getDbInstance)().prepare("SELECT data FROM combos ORDER BY name").all().map(e=>a(e)).filter(e=>null!==e).map(e=>JSON.parse(e))}async function o(e){let t=a((0,r.getDbInstance)().prepare("SELECT data FROM combos WHERE id = ?").get(e));return t?JSON.parse(t):null}async function l(e){let t=a((0,r.getDbInstance)().prepare("SELECT data FROM combos WHERE name = ?").get(e));return t?JSON.parse(t):null}async function s(e){let a=(0,r.getDbInstance)(),i=new Date().toISOString(),o={id:(0,t.v4)(),name:e.name,models:e.models||[],strategy:e.strategy||"priority",config:e.config||{},createdAt:i,updatedAt:i};return a.prepare("INSERT INTO combos (id, name, data, created_at, updated_at) VALUES (?, ?, ?, ?, ?)").run(o.id,o.name,JSON.stringify(o),i,i),(0,n.backupDbFile)("pre-write"),o}async function c(e,t){let i=(0,r.getDbInstance)(),o=i.prepare("SELECT data FROM combos WHERE id = ?").get(e);if(!o)return null;let l=a(o);if(!l)return null;let s={...JSON.parse(l),...t,updatedAt:new Date().toISOString()};return i.prepare("UPDATE combos SET name = ?, data = ?, updated_at = ? WHERE id = ?").run(s.name,JSON.stringify(s),s.updatedAt,e),(0,n.backupDbFile)("pre-write"),s}async function u(e){return 0!==(0,r.getDbInstance)().prepare("DELETE FROM combos WHERE id = ?").run(e).changes&&((0,n.backupDbFile)("pre-write"),!0)}e.s(["createCombo",()=>s,"deleteCombo",()=>u,"getComboById",()=>o,"getComboByName",()=>l,"getCombos",()=>i,"updateCombo",()=>c])},245272,e=>{"use strict";e.i(385498),e.i(542949),e.i(151205),e.i(125852),e.i(548941),e.i(954031),e.i(751183),e.i(935050),e.i(403122),e.s([])},751183,e=>{"use strict";var t=e.i(157763),r=e.i(403122),n=e.i(935050);let a=["litellm"],i=parseInt(process.env.PRICING_SYNC_INTERVAL||"86400",10),o=Number.isFinite(i)&&i>0?1e3*i:864e5,l=(process.env.PRICING_SYNC_SOURCES||"litellm").split(",").map(e=>e.trim()).filter(e=>a.includes(e)),s={openai:["openai","cx"],anthropic:["anthropic","cc"],vertex_ai:["gemini","gc"],"vertex_ai-anthropic_models":["anthropic"],google:["gemini","gc"],deepseek:["if"],groq:["groq"],together_ai:["openrouter"],bedrock:["kiro"],fireworks_ai:["fireworks"],cerebras:["cerebras"],nvidia_nim:["nvidia"],siliconflow:["siliconflow"]},c=null,u=null,p=0,d=o;async function f(){let e=await fetch("https://raw.githubusercontent.com/BerriAI/litellm/main/model_prices_and_context_window.json",{signal:AbortSignal.timeout(3e4)});if(!e.ok)throw Error(`LiteLLM fetch failed [${e.status}]: ${e.statusText}`);let t=await e.text();try{return JSON.parse(t)}catch{throw Error(`LiteLLM returned invalid JSON (${t.slice(0,100)}...)`)}}function y(e){let t={};for(let[r,n]of Object.entries(e)){if(n.mode&&!["chat","completion"].includes(n.mode)||!n.input_cost_per_token&&0!==n.input_cost_per_token)continue;let e={input:Math.round(1e3*(1e6*(n.input_cost_per_token||0)))/1e3,output:Math.round(1e3*(1e6*(n.output_cost_per_token||0)))/1e3};null!=n.cache_read_input_token_cost&&(e.cached=Math.round(1e6*n.cache_read_input_token_cost*1e3)/1e3),null!=n.cache_creation_input_token_cost&&(e.cache_creation=Math.round(1e6*n.cache_creation_input_token_cost*1e3)/1e3);let a=r.indexOf("/"),i=a>=0?r.slice(a+1):r,o=n.litellm_provider||"",l=s[o];if(l)for(let r of l)t[r]||(t[r]={}),t[r][i]=e;else o&&(t[o]||(t[o]={}),t[o][i]=e)}return t}function E(){let e=(0,t.getDbInstance)().prepare("SELECT key, value FROM key_value WHERE namespace = 'pricing_synced'").all(),r={};for(let t of e){let e=t&&"object"==typeof t?t:{},n="string"==typeof e.key?e.key:null,a="string"==typeof e.value?e.value:null;if(n&&null!==a)try{r[n]=JSON.parse(a)}catch{console.warn(`[PRICING_SYNC] Corrupted data for provider "${n}", skipping`)}}return r}function v(e){let a=(0,t.getDbInstance)(),i=a.prepare("DELETE FROM key_value WHERE namespace = 'pricing_synced'"),o=a.prepare("INSERT INTO key_value (namespace, key, value) VALUES ('pricing_synced', ?, ?)");a.transaction(()=>{for(let[t,r]of(i.run(),Object.entries(e)))o.run(t,JSON.stringify(r))})(),(0,n.backupDbFile)("pre-write"),(0,r.invalidateDbCache)("pricing")}function _(){(0,t.getDbInstance)().prepare("DELETE FROM key_value WHERE namespace = 'pricing_synced'").run(),(0,n.backupDbFile)("pre-write"),(0,r.invalidateDbCache)("pricing")}async function m(e){let t=e?.sources||l,r=e?.dryRun??!1,n=t.filter(e=>a.includes(e)),i=t.filter(e=>!a.includes(e));if(0===n.length){let e=a.join(", ");return{success:!1,modelCount:0,providerCount:0,source:t.join(","),dryRun:r,error:`No valid sources provided. Supported: ${e}. Invalid: ${i.join(", ")}`}}try{let e={};for(let t of n)if("litellm"===t){let t=await f(),r=y(t);for(let[t,n]of Object.entries(r))e[t]||(e[t]={}),Object.assign(e[t],n)}let t=Object.values(e).reduce((e,t)=>e+Object.keys(t).length,0),a=Object.keys(e).length;return r||(v(e),u=new Date().toISOString(),p=t),{success:!0,modelCount:t,providerCount:a,source:n.join(","),dryRun:r,...i.length>0?{warnings:[`Unknown sources ignored: ${i.join(", ")}`]}:{},...r?{data:e}:{}}}catch(n){let e=n instanceof Error?n.message:String(n);return console.warn("[PRICING_SYNC] Sync failed:",e),{success:!1,modelCount:0,providerCount:0,source:t.join(","),dryRun:r,error:e}}}function g(e){if(c)return;let t=e??o;d=t,console.log(`[PRICING_SYNC] Starting periodic sync every ${t/1e3}s`),m().then(e=>{e.success&&console.log(`[PRICING_SYNC] Initial sync complete: ${e.modelCount} models from ${e.providerCount} providers`)}).catch(e=>{console.warn("[PRICING_SYNC] Initial sync error:",e instanceof Error?e.message:e)}),c=setInterval(()=>{m().then(e=>{e.success&&console.log(`[PRICING_SYNC] Periodic sync complete: ${e.modelCount} models`)}).catch(e=>{console.warn("[PRICING_SYNC] Periodic sync error:",e instanceof Error?e.message:e)})},t)}function h(){c&&(clearInterval(c),c=null,console.log("[PRICING_SYNC] Periodic sync stopped"))}function S(){return{enabled:"true"===process.env.PRICING_SYNC_ENABLED,lastSync:u,lastSyncModelCount:p,nextSync:c&&u?new Date(new Date(u).getTime()+d).toISOString():null,intervalMs:d,sources:l}}async function k(){"true"!==process.env.PRICING_SYNC_ENABLED?console.log("[PRICING_SYNC] Disabled (set PRICING_SYNC_ENABLED=true to enable)"):g()}e.s(["clearSyncedPricing",()=>_,"fetchLiteLLMPricing",()=>f,"getSyncStatus",()=>S,"getSyncedPricing",()=>E,"initPricingSync",()=>k,"saveSyncedPricing",()=>v,"startPeriodicSync",()=>g,"stopPeriodicSync",()=>h,"syncPricingFromSources",()=>m,"transformToOmniRoute",()=>y])},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},385498,e=>{"use strict";var t=e.i(689960),r=e.i(157763),n=e.i(935050),a=e.i(254799);let i="aes-256-gcm",o="enc:v1:",l=null;function s(){if(null!==l)return l;let e=process.env.STORAGE_ENCRYPTION_KEY;return e?l=(0,a.scryptSync)(e,"omniroute-field-encryption-v1",32):null}function c(){return!!process.env.STORAGE_ENCRYPTION_KEY}function u(e){if(!e||"string"!=typeof e)return e;let t=s();if(!t||e.startsWith(o))return e;let r=(0,a.randomBytes)(16),n=(0,a.createCipheriv)(i,t,r),l=n.update(e,"utf8","hex");l+=n.final("hex");let c=n.getAuthTag().toString("hex");return`${o}${r.toString("hex")}:${l}:${c}`}function p(e){if(!e||"string"!=typeof e||!e.startsWith(o))return e;let t=s();if(!t)return console.warn("[Encryption] Found encrypted data but STORAGE_ENCRYPTION_KEY is not set. Cannot decrypt."),e;let r=e.slice(o.length).split(":");if(3!==r.length)return console.error("[Encryption] Malformed encrypted value"),e;let[n,l,c]=r;try{let e=Buffer.from(n,"hex"),r=Buffer.from(c,"hex"),o=(0,a.createDecipheriv)(i,t,e);o.setAuthTag(r);let s=o.update(l,"hex","utf8");return s+=o.final("utf8")}catch(t){return console.error("[Encryption] Decryption failed:",t instanceof Error?t.message:String(t)),e}}function d(e){return c()&&e&&(e.apiKey&&(e.apiKey=u(e.apiKey)),e.accessToken&&(e.accessToken=u(e.accessToken)),e.refreshToken&&(e.refreshToken=u(e.refreshToken)),e.idToken&&(e.idToken=u(e.idToken))),e}function f(e){return e&&c()?{...e,apiKey:p(e.apiKey),accessToken:p(e.accessToken),refreshToken:p(e.refreshToken),idToken:p(e.idToken)}:e}var y=e.i(403122);function E(e){return e&&"object"==typeof e?e:{}}function v(e){return"string"==typeof e?e:null}async function _(e={}){let t=(0,r.getDbInstance)(),n="SELECT * FROM provider_connections",a=[],i={};return e.provider&&(a.push("provider = @provider"),i.provider=e.provider),void 0!==e.isActive&&(a.push("is_active = @isActive"),i.isActive=+!!e.isActive),a.length>0&&(n+=" WHERE "+a.join(" AND ")),n+=" ORDER BY priority ASC, updated_at DESC",t.prepare(n).all(i).map(e=>f((0,r.cleanNulls)((0,r.rowToCamel)(e))))}async function m(e){let t=(0,r.getDbInstance)().prepare("SELECT * FROM provider_connections WHERE id = ?").get(e);return t?f((0,r.cleanNulls)((0,r.rowToCamel)(t))):null}async function g(e){var a,i,o;let l=(0,r.getDbInstance)(),s=new Date().toISOString(),c=null;if("oauth"===e.authType&&e.email){let t=v(E(e.providerSpecificData).workspaceId);"codex"===e.provider&&t?(c=l.prepare("SELECT * FROM provider_connections WHERE provider = ? AND auth_type = 'oauth' AND json_extract(provider_specific_data, '$.workspaceId') = ? AND email = ?").get(e.provider,t,e.email)||null)||(c=l.prepare("SELECT * FROM provider_connections WHERE provider = ? AND auth_type = 'oauth' AND json_extract(provider_specific_data, '$.workspaceId') = ? AND (email IS NULL OR email = '')").get(e.provider,t)||null):c=l.prepare("SELECT * FROM provider_connections WHERE provider = ? AND auth_type = 'oauth' AND email = ?").get(e.provider,e.email)||null}else"apikey"===e.authType&&e.name&&(c=l.prepare("SELECT * FROM provider_connections WHERE provider = ? AND auth_type = 'apikey' AND name = ?").get(e.provider,e.name)||null);if(c){let t=v(c.id);if(!t)return null;let a={...E((0,r.rowToCamel)(c)),...e,updatedAt:s};return h(l,t,a),(0,n.backupDbFile)("pre-write"),(0,r.cleanNulls)(a)}let u=e.name||null;!u&&"oauth"===e.authType&&(e.email?u=e.email:e.displayName&&(u=e.displayName));let p=e.priority;if(!p){p=("number"==typeof(a=E(l.prepare("SELECT MAX(priority) as maxP FROM provider_connections WHERE provider = ?").get(e.provider)).maxP)?a:0)+1}let f={id:(0,t.v4)(),provider:e.provider,authType:e.authType||"oauth",name:u,priority:p,isActive:void 0===e.isActive||e.isActive,createdAt:s,updatedAt:s};for(let t of["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","idToken","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","lastErrorType","lastErrorSource","rateLimitedUntil","expiresIn","errorCode","consecutiveUseCount","rateLimitProtection","group"])void 0!==e[t]&&null!==e[t]&&(f[t]=e[t]);e.providerSpecificData&&Object.keys(e.providerSpecificData).length>0&&(f.providerSpecificData=e.providerSpecificData),i=l,o=d({...f}),i.prepare(`
2
2
  INSERT INTO provider_connections (
3
3
  id, provider, auth_type, name, email, priority, is_active,
4
4
  access_token, refresh_token, expires_at, token_expires_at,
@@ -18,7 +18,7 @@ module.exports=[878947,e=>{"use strict";var t=e.i(828059);let r=(0,t.generateMod
18
18
  @expiresIn, @displayName, @globalPriority, @defaultModel,
19
19
  @tokenType, @consecutiveUseCount, @rateLimitProtection, @lastUsedAt, @group, @createdAt, @updatedAt
20
20
  )
21
- `).run({id:o.id,provider:o.provider,authType:o.authType||null,name:o.name||null,email:o.email||null,priority:o.priority||0,isActive:+(!1!==o.isActive),accessToken:o.accessToken||null,refreshToken:o.refreshToken||null,expiresAt:o.expiresAt||null,tokenExpiresAt:o.tokenExpiresAt||null,scope:o.scope||null,projectId:o.projectId||null,testStatus:o.testStatus||null,errorCode:o.errorCode||null,lastError:o.lastError||null,lastErrorAt:o.lastErrorAt||null,lastErrorType:o.lastErrorType||null,lastErrorSource:o.lastErrorSource||null,backoffLevel:o.backoffLevel||0,rateLimitedUntil:o.rateLimitedUntil||null,healthCheckInterval:o.healthCheckInterval||null,lastHealthCheckAt:o.lastHealthCheckAt||null,lastTested:o.lastTested||null,apiKey:o.apiKey||null,idToken:o.idToken||null,providerSpecificData:o.providerSpecificData?JSON.stringify(o.providerSpecificData):null,expiresIn:o.expiresIn||null,displayName:o.displayName||null,globalPriority:o.globalPriority||null,defaultModel:o.defaultModel||null,tokenType:o.tokenType||null,consecutiveUseCount:o.consecutiveUseCount||0,rateLimitProtection:+(!0===o.rateLimitProtection||1===o.rateLimitProtection),lastUsedAt:o.lastUsedAt||null,group:o.group||null,createdAt:o.createdAt,updatedAt:o.updatedAt});let v=_(e.provider);return v&&b(l,v),(0,n.backupDbFile)("pre-write"),(0,y.invalidateDbCache)("connections"),(0,r.cleanNulls)(f)}function h(e,t,r){let n=r.updatedAt||new Date().toISOString();e.prepare(`
21
+ `).run({id:o.id,provider:o.provider,authType:o.authType||null,name:o.name||null,email:o.email||null,priority:o.priority||0,isActive:+(!1!==o.isActive),accessToken:o.accessToken||null,refreshToken:o.refreshToken||null,expiresAt:o.expiresAt||null,tokenExpiresAt:o.tokenExpiresAt||null,scope:o.scope||null,projectId:o.projectId||null,testStatus:o.testStatus||null,errorCode:o.errorCode||null,lastError:o.lastError||null,lastErrorAt:o.lastErrorAt||null,lastErrorType:o.lastErrorType||null,lastErrorSource:o.lastErrorSource||null,backoffLevel:o.backoffLevel||0,rateLimitedUntil:o.rateLimitedUntil||null,healthCheckInterval:o.healthCheckInterval||null,lastHealthCheckAt:o.lastHealthCheckAt||null,lastTested:o.lastTested||null,apiKey:o.apiKey||null,idToken:o.idToken||null,providerSpecificData:o.providerSpecificData?JSON.stringify(o.providerSpecificData):null,expiresIn:o.expiresIn||null,displayName:o.displayName||null,globalPriority:o.globalPriority||null,defaultModel:o.defaultModel||null,tokenType:o.tokenType||null,consecutiveUseCount:o.consecutiveUseCount||0,rateLimitProtection:+(!0===o.rateLimitProtection||1===o.rateLimitProtection),lastUsedAt:o.lastUsedAt||null,group:o.group||null,createdAt:o.createdAt,updatedAt:o.updatedAt});let _=v(e.provider);return _&&b(l,_),(0,n.backupDbFile)("pre-write"),(0,y.invalidateDbCache)("connections"),(0,r.cleanNulls)(f)}function h(e,t,r){let n=r.updatedAt||new Date().toISOString();e.prepare(`
22
22
  UPDATE provider_connections SET
23
23
  provider = @provider, auth_type = @authType, name = @name, email = @email,
24
24
  priority = @priority, is_active = @isActive, access_token = @accessToken,
@@ -37,14 +37,14 @@ module.exports=[878947,e=>{"use strict";var t=e.i(828059);let r=(0,t.generateMod
37
37
  "group" = @group,
38
38
  updated_at = @updatedAt
39
39
  WHERE id = @id
40
- `).run({id:t,provider:r.provider,authType:r.authType||null,name:r.name||null,email:r.email||null,priority:r.priority||0,isActive:+(!1!==r.isActive),accessToken:r.accessToken||null,refreshToken:r.refreshToken||null,expiresAt:r.expiresAt||null,tokenExpiresAt:r.tokenExpiresAt||null,scope:r.scope||null,projectId:r.projectId||null,testStatus:r.testStatus||null,errorCode:r.errorCode||null,lastError:r.lastError||null,lastErrorAt:r.lastErrorAt||null,lastErrorType:r.lastErrorType||null,lastErrorSource:r.lastErrorSource||null,backoffLevel:r.backoffLevel||0,rateLimitedUntil:r.rateLimitedUntil||null,healthCheckInterval:r.healthCheckInterval||null,lastHealthCheckAt:r.lastHealthCheckAt||null,lastTested:r.lastTested||null,apiKey:r.apiKey||null,idToken:r.idToken||null,providerSpecificData:r.providerSpecificData?JSON.stringify(r.providerSpecificData):null,expiresIn:r.expiresIn||null,displayName:r.displayName||null,globalPriority:r.globalPriority||null,defaultModel:r.defaultModel||null,tokenType:r.tokenType||null,consecutiveUseCount:r.consecutiveUseCount||0,rateLimitProtection:+(!0===r.rateLimitProtection||1===r.rateLimitProtection),lastUsedAt:r.lastUsedAt||null,group:r.group||null,updatedAt:n})}async function S(e,t){let i=(0,r.getDbInstance)(),a=i.prepare("SELECT * FROM provider_connections WHERE id = ?").get(e);if(!a)return null;let o={...(0,r.rowToCamel)(a),...t,updatedAt:new Date().toISOString()};if(h(i,e,d({...o})),(0,n.backupDbFile)("pre-write"),(0,y.invalidateDbCache)("connections"),void 0!==t.priority){let e=E(a);b(i,"string"==typeof e.provider?e.provider:String(e.provider||""))}return(0,r.cleanNulls)(o)}async function k(e){let t=(0,r.getDbInstance)(),i=t.prepare("SELECT provider FROM provider_connections WHERE id = ?").get(e);if(!i)return!1;t.prepare("DELETE FROM provider_connections WHERE id = ?").run(e);let a=E(i);return b(t,"string"==typeof a.provider?a.provider:String(a.provider||"")),(0,n.backupDbFile)("pre-write"),(0,y.invalidateDbCache)("connections"),!0}async function T(e){let t=(0,r.getDbInstance)().prepare("DELETE FROM provider_connections WHERE provider = ?").run(e);return(0,n.backupDbFile)("pre-write"),t.changes}async function D(e){b((0,r.getDbInstance)(),e)}function b(e,t){let r=e.prepare("SELECT id, priority, updated_at FROM provider_connections WHERE provider = ? ORDER BY priority ASC, updated_at DESC").all(t),n=e.prepare("UPDATE provider_connections SET priority = ? WHERE id = ?");r.forEach((e,t)=>{let r=E(e);n.run(t+1,r.id)})}async function A(){return 0}async function C(){return(0,r.getDbInstance)().prepare('SELECT DISTINCT "group" FROM provider_connections WHERE "group" IS NOT NULL ORDER BY "group"').all().map(e=>String(e.group??"")).filter(Boolean)}async function I(e={}){let t=(0,r.getDbInstance)(),n="SELECT * FROM provider_nodes",i={};return e.type&&(n+=" WHERE type = @type",i.type=e.type),t.prepare(n).all(i).map(r.rowToCamel)}async function R(e){let t=(0,r.getDbInstance)().prepare("SELECT * FROM provider_nodes WHERE id = ?").get(e);return t?(0,r.rowToCamel)(t):null}async function N(e){let i=(0,r.getDbInstance)(),a=new Date().toISOString(),o={id:e.id||(0,t.v4)(),type:e.type,name:e.name,prefix:e.prefix||null,apiType:e.apiType||null,baseUrl:e.baseUrl||null,chatPath:e.chatPath||null,modelsPath:e.modelsPath||null,createdAt:a,updatedAt:a};return i.prepare(`
40
+ `).run({id:t,provider:r.provider,authType:r.authType||null,name:r.name||null,email:r.email||null,priority:r.priority||0,isActive:+(!1!==r.isActive),accessToken:r.accessToken||null,refreshToken:r.refreshToken||null,expiresAt:r.expiresAt||null,tokenExpiresAt:r.tokenExpiresAt||null,scope:r.scope||null,projectId:r.projectId||null,testStatus:r.testStatus||null,errorCode:r.errorCode||null,lastError:r.lastError||null,lastErrorAt:r.lastErrorAt||null,lastErrorType:r.lastErrorType||null,lastErrorSource:r.lastErrorSource||null,backoffLevel:r.backoffLevel||0,rateLimitedUntil:r.rateLimitedUntil||null,healthCheckInterval:r.healthCheckInterval||null,lastHealthCheckAt:r.lastHealthCheckAt||null,lastTested:r.lastTested||null,apiKey:r.apiKey||null,idToken:r.idToken||null,providerSpecificData:r.providerSpecificData?JSON.stringify(r.providerSpecificData):null,expiresIn:r.expiresIn||null,displayName:r.displayName||null,globalPriority:r.globalPriority||null,defaultModel:r.defaultModel||null,tokenType:r.tokenType||null,consecutiveUseCount:r.consecutiveUseCount||0,rateLimitProtection:+(!0===r.rateLimitProtection||1===r.rateLimitProtection),lastUsedAt:r.lastUsedAt||null,group:r.group||null,updatedAt:n})}async function S(e,t){let a=(0,r.getDbInstance)(),i=a.prepare("SELECT * FROM provider_connections WHERE id = ?").get(e);if(!i)return null;let o={...(0,r.rowToCamel)(i),...t,updatedAt:new Date().toISOString()};if(h(a,e,d({...o})),(0,n.backupDbFile)("pre-write"),(0,y.invalidateDbCache)("connections"),void 0!==t.priority){let e=E(i);b(a,"string"==typeof e.provider?e.provider:String(e.provider||""))}return(0,r.cleanNulls)(o)}async function k(e){let t=(0,r.getDbInstance)(),a=t.prepare("SELECT provider FROM provider_connections WHERE id = ?").get(e);if(!a)return!1;t.prepare("DELETE FROM provider_connections WHERE id = ?").run(e);let i=E(a);return b(t,"string"==typeof i.provider?i.provider:String(i.provider||"")),(0,n.backupDbFile)("pre-write"),(0,y.invalidateDbCache)("connections"),!0}async function T(e){let t=(0,r.getDbInstance)().prepare("DELETE FROM provider_connections WHERE provider = ?").run(e);return(0,n.backupDbFile)("pre-write"),t.changes}async function D(e){b((0,r.getDbInstance)(),e)}function b(e,t){let r=e.prepare("SELECT id, priority, updated_at FROM provider_connections WHERE provider = ? ORDER BY priority ASC, updated_at DESC").all(t),n=e.prepare("UPDATE provider_connections SET priority = ? WHERE id = ?");r.forEach((e,t)=>{let r=E(e);n.run(t+1,r.id)})}async function C(){return 0}async function I(){return(0,r.getDbInstance)().prepare('SELECT DISTINCT "group" FROM provider_connections WHERE "group" IS NOT NULL ORDER BY "group"').all().map(e=>String(e.group??"")).filter(Boolean)}async function A(e={}){let t=(0,r.getDbInstance)(),n="SELECT * FROM provider_nodes",a={};return e.type&&(n+=" WHERE type = @type",a.type=e.type),t.prepare(n).all(a).map(r.rowToCamel)}async function R(e){let t=(0,r.getDbInstance)().prepare("SELECT * FROM provider_nodes WHERE id = ?").get(e);return t?(0,r.rowToCamel)(t):null}async function N(e){let a=(0,r.getDbInstance)(),i=new Date().toISOString(),o={id:e.id||(0,t.v4)(),type:e.type,name:e.name,prefix:e.prefix||null,apiType:e.apiType||null,baseUrl:e.baseUrl||null,chatPath:e.chatPath||null,modelsPath:e.modelsPath||null,createdAt:i,updatedAt:i};return a.prepare(`
41
41
  INSERT INTO provider_nodes (id, type, name, prefix, api_type, base_url, chat_path, models_path, created_at, updated_at)
42
42
  VALUES (@id, @type, @name, @prefix, @apiType, @baseUrl, @chatPath, @modelsPath, @createdAt, @updatedAt)
43
- `).run(o),(0,n.backupDbFile)("pre-write"),o}async function O(e,t){let i=(0,r.getDbInstance)(),a=i.prepare("SELECT * FROM provider_nodes WHERE id = ?").get(e);if(!a)return null;let o={...E((0,r.rowToCamel)(a)),...t,updatedAt:new Date().toISOString()};return i.prepare(`
43
+ `).run(o),(0,n.backupDbFile)("pre-write"),o}async function O(e,t){let a=(0,r.getDbInstance)(),i=a.prepare("SELECT * FROM provider_nodes WHERE id = ?").get(e);if(!i)return null;let o={...E((0,r.rowToCamel)(i)),...t,updatedAt:new Date().toISOString()};return a.prepare(`
44
44
  UPDATE provider_nodes SET type = @type, name = @name, prefix = @prefix,
45
45
  api_type = @apiType, base_url = @baseUrl, chat_path = @chatPath,
46
46
  models_path = @modelsPath, updated_at = @updatedAt
47
47
  WHERE id = @id
48
- `).run({id:e,type:o.type,name:o.name,prefix:o.prefix||null,apiType:o.apiType||null,baseUrl:o.baseUrl||null,chatPath:o.chatPath||null,modelsPath:o.modelsPath||null,updatedAt:o.updatedAt}),(0,n.backupDbFile)("pre-write"),o}async function L(e){let t=(0,r.getDbInstance)(),i=t.prepare("SELECT * FROM provider_nodes WHERE id = ?").get(e);return i?(t.prepare("DELETE FROM provider_nodes WHERE id = ?").run(e),(0,n.backupDbFile)("pre-write"),(0,r.rowToCamel)(i)):null}e.s(["cleanupProviderConnections",()=>A,"createProviderConnection",()=>g,"createProviderNode",()=>N,"deleteProviderConnection",()=>k,"deleteProviderConnectionsByProvider",()=>T,"deleteProviderNode",()=>L,"getDistinctGroups",()=>C,"getProviderConnectionById",()=>m,"getProviderConnections",()=>v,"getProviderNodeById",()=>R,"getProviderNodes",()=>I,"reorderProviderConnections",()=>D,"updateProviderConnection",()=>S,"updateProviderNode",()=>O],385498)}];
48
+ `).run({id:e,type:o.type,name:o.name,prefix:o.prefix||null,apiType:o.apiType||null,baseUrl:o.baseUrl||null,chatPath:o.chatPath||null,modelsPath:o.modelsPath||null,updatedAt:o.updatedAt}),(0,n.backupDbFile)("pre-write"),o}async function L(e){let t=(0,r.getDbInstance)(),a=t.prepare("SELECT * FROM provider_nodes WHERE id = ?").get(e);return a?(t.prepare("DELETE FROM provider_nodes WHERE id = ?").run(e),(0,n.backupDbFile)("pre-write"),(0,r.rowToCamel)(a)):null}e.s(["cleanupProviderConnections",()=>C,"createProviderConnection",()=>g,"createProviderNode",()=>N,"deleteProviderConnection",()=>k,"deleteProviderConnectionsByProvider",()=>T,"deleteProviderNode",()=>L,"getDistinctGroups",()=>I,"getProviderConnectionById",()=>m,"getProviderConnections",()=>_,"getProviderNodeById",()=>R,"getProviderNodes",()=>A,"reorderProviderConnections",()=>D,"updateProviderConnection",()=>S,"updateProviderNode",()=>O],385498)}];
49
49
 
50
50
  //# sourceMappingURL=%5Broot-of-the-server%5D__3972de72._.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 s=Object.defineProperty,n=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o={},l={RequestCookies:()=>m,ResponseCookies:()=>y,parseCookie:()=>p,parseSetCookie:()=>c,stringifyCookie:()=>d};for(var u in l)s(o,u,{get:l[u],enumerable:!0});function d(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),s=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?s:`${s}; ${r.join("; ")}`}function p(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[s,n]=[r.slice(0,e),r.slice(e+1)];try{t.set(s,decodeURIComponent(null!=n?n:"true"))}catch{}}return t}function c(e){if(!e)return;let[[t,r],...s]=p(e),{domain:n,expires:a,httponly:i,maxage:o,path:l,samesite:u,secure:d,partitioned:c,priority:m}=Object.fromEntries(s.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var y,g,x={name:t,value:decodeURIComponent(r),domain:n,...a&&{expires:new Date(a)},...i&&{httpOnly:!0},..."string"==typeof o&&{maxAge:Number(o)},path:l,...u&&{sameSite:h.includes(y=(y=u).toLowerCase())?y:void 0},...d&&{secure:!0},...m&&{priority:f.includes(g=(g=m).toLowerCase())?g:void 0},...c&&{partitioned:!0}};let e={};for(let t in x)x[t]&&(e[t]=x[t]);return e}}t.exports=((e,t,r,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of a(t))i.call(e,r)||void 0===r||s(e,r,{get:()=>t[r],enumerable:!(o=n(t,r))||o.enumerable});return e})(s({},"__esModule",{value:!0}),o);var h=["strict","lax","none"],f=["low","medium","high"],m=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of p(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let 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])=>d(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>d(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},y=class{constructor(e){var t,r,s;this._parsed=new Map,this._headers=e;const n=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(n)?n:function(e){if(!e)return[];var t,r,s,n,a,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,a=!1;l();)if(","===(r=e.charAt(o))){for(s=o,o+=1,l(),n=o;o<e.length&&"="!==(r=e.charAt(o))&&";"!==r&&","!==r;)o+=1;o<e.length&&"="===e.charAt(o)?(a=!0,o=n,i.push(e.substring(t,s)),t=o):o=s+1}else o+=1;(!a||o>=e.length)&&i.push(e.substring(t,e.length))}return i}(n)){const t=c(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let 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,n=this._parsed;return n.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...s})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=d(r);t.append("set-cookie",e)}}(n,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(d).join("; ")}}},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),n=t([s]);function a(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 i(e){return!1===e.success}[s]=n.then?(await n)():n,s.z.object({password:s.z.string().min(1,"Password is required").max(200)}),e.s(["isValidationFailure",()=>i,"validateBody",()=>a]),r()}catch(e){r(e)}},!1),125465,e=>e.a(async(t,r)=>{try{var s=e.i(89171);e.i(245272);var n=e.i(125852),a=e.i(548941),i=e.i(250875),o=e.i(639173),l=e.i(676088),u=e.i(200392),d=t([l,u]);async function p(e,{params:t}){try{let{id:e}=await t,r=await (0,n.getApiKeyById)(e);if(!r)return s.NextResponse.json({error:"Key not found"},{status:404});let a="string"==typeof r.key?r.key:null;return s.NextResponse.json({...r,key:a?a.slice(0,8)+"****"+a.slice(-4):null})}catch(e){return console.log("Error fetching key:",e),s.NextResponse.json({error:"Failed to fetch key"},{status:500})}}async function c(e,{params:t}){let r;try{r=await e.json()}catch{return s.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let{id:e}=await t,a=(0,u.validateBody)(l.updateKeyPermissionsSchema,r);if((0,u.isValidationFailure)(a))return s.NextResponse.json({error:a.error},{status:400});let{allowedModels:i,noLog:o}=a.data;if(!await (0,n.updateApiKeyPermissions)(e,{allowedModels:i,noLog:o}))return s.NextResponse.json({error:"Key not found"},{status:404});return await f(),s.NextResponse.json({message:"API key settings updated successfully",allowedModels:i,noLog:o})}catch(e){return console.log("Error updating key permissions:",e),s.NextResponse.json({error:"Failed to update permissions"},{status:500})}}async function h(e,{params:t}){try{let{id:e}=await t;if(!await (0,n.deleteApiKey)(e))return s.NextResponse.json({error:"Key not found"},{status:404});return await f(),s.NextResponse.json({message:"Key deleted successfully"})}catch(e){return console.log("Error deleting key:",e),s.NextResponse.json({error:"Failed to delete key"},{status:500})}}async function f(){try{if(!await (0,a.isCloudEnabled)())return;let e=await (0,i.getConsistentMachineId)();await (0,o.syncToCloud)(e)}catch(e){console.log("Error syncing keys to cloud:",e)}}[l,u]=d.then?(await d)():d,e.s(["DELETE",()=>h,"GET",()=>p,"PATCH",()=>c]),r()}catch(e){r(e)}},!1),368759,e=>e.a(async(t,r)=>{try{var s=e.i(747909),n=e.i(174017),a=e.i(996250),i=e.i(759756),o=e.i(561916),l=e.i(174677),u=e.i(869741),d=e.i(316795),p=e.i(487718),c=e.i(995169),h=e.i(47587),f=e.i(666012),m=e.i(570101),y=e.i(626937),g=e.i(10372),x=e.i(193695);e.i(52474);var v=e.i(600220),R=e.i(125465),w=t([R]);[R]=w.then?(await w)():w;let C=new s.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/keys/[id]/route",pathname:"/api/keys/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/keys/[id]/route.ts",nextConfigOutput:"standalone",userland:R}),{workAsyncStorage:b,workUnitAsyncStorage:E,serverHooks:k}=C;function _(){return(0,a.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:E})}async function A(e,t,r){C.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/keys/[id]/route";s=s.replace(/\/index$/,"")||"/";let a=await C.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!a)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,params:w,nextConfig:_,parsedUrl:A,isDraftMode:b,prerenderManifest:E,routerServerContext:k,isOnDemandRevalidate:j,revalidateOnlyGenerated:P,resolvedPathname:N,clientReferenceManifest:O,serverActionsManifest:S}=a,T=(0,u.normalizeAppPath)(s),q=!!(E.dynamicRoutes[T]||E.routes[N]),I=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,A,!1):t.end("This page could not be found"),null);if(q&&!b){let e=!!E.routes[N],t=E.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(_.experimental.adapterPath)return await I();throw new x.NoFallbackError}}let $=null;!q||C.isDev||b||($=N,$="/index"===$?"/":$);let D=!0===C.isDev||!q,U=q&&!D;S&&O&&(0,l.setManifestsSingleton)({page:s,clientReferenceManifest:O,serverActionsManifest:S});let H=e.method||"GET",M=(0,o.getTracer)(),K=M.getActiveScopeSpan(),F={params:w,prerenderManifest:E,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:D,incrementalCache:(0,i.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:_.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,n)=>C.onRequestError(e,t,s,n,k)},sharedContext:{buildId:R}},B=new d.NodeNextRequest(e),L=new d.NodeNextResponse(t),z=p.NextRequestAdapter.fromNodeNextRequest(B,(0,p.signalFromNodeResponse)(t));try{let a=async e=>C.handle(z,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} ${s}`)}),l=!!(0,i.getRequestMeta)(e,"minimalMode"),u=async i=>{var o,u;let d=async({previousCacheEntry:n})=>{try{if(!l&&j&&P&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await a(i);e.fetchMetrics=F.renderOpts.fetchMetrics;let o=F.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let u=F.renderOpts.collectedTags;if(!q)return await (0,f.sendResponse)(B,L,s,F.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(s.headers);u&&(t[g.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>=g.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,n=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=g.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:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:j})},!1,k),t}},p=await C.handleResponse({req:e,nextConfig:_,cacheKey:$,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:P,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:l});if(!q)return null;if((null==p||null==(o=p.value)?void 0:o.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(u=p.value)?void 0:u.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",j?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,m.fromNodeOutgoingHttpHeaders)(p.value.headers);return l&&q||c.delete(g.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,y.getCacheControlHeader)(p.cacheControl)),await (0,f.sendResponse)(B,L,new Response(p.value.body,{headers:c,status:p.value.status||200})),null};K?await u(K):await M.withPropagatedContext(e.headers,()=>M.trace(c.BaseServerSpan.handleRequest,{spanName:`${H} ${s}`,kind:o.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},u))}catch(t){if(t instanceof x.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:j})},!1,k),q)throw t;return await (0,f.sendResponse)(B,L,new Response(null,{status:500})),null}}e.s(["handler",()=>A,"patchFetch",()=>_,"routeModule",()=>C,"serverHooks",()=>k,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>E]),r()}catch(e){r(e)}},!1),606102,e=>{e.v(e=>Promise.resolve().then(()=>e(548941)))},789543,e=>{e.v(e=>Promise.resolve().then(()=>e(385498)))},579042,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_utils_apiKey_ts_fa113e09._.js"].map(t=>e.l(t))).then(()=>t(65448)))},49794,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_ts_65de0558._.js"].map(t=>e.l(t))).then(()=>t(404503)))},386305,e=>{e.v(e=>Promise.resolve().then(()=>e(878947)))},485685,e=>{e.v(e=>Promise.resolve().then(()=>e(254799)))}];
1
+ module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},442315,(e,t,r)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,r)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,r)=>{"use strict";var s=Object.defineProperty,n=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o={},l={RequestCookies:()=>f,ResponseCookies:()=>y,parseCookie:()=>p,parseSetCookie:()=>c,stringifyCookie:()=>d};for(var u in l)s(o,u,{get:l[u],enumerable:!0});function d(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),s=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?s:`${s}; ${r.join("; ")}`}function p(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[s,n]=[r.slice(0,e),r.slice(e+1)];try{t.set(s,decodeURIComponent(null!=n?n:"true"))}catch{}}return t}function c(e){if(!e)return;let[[t,r],...s]=p(e),{domain:n,expires:a,httponly:i,maxage:o,path:l,samesite:u,secure:d,partitioned:c,priority:f}=Object.fromEntries(s.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var y,g,v={name:t,value:decodeURIComponent(r),domain:n,...a&&{expires:new Date(a)},...i&&{httpOnly:!0},..."string"==typeof o&&{maxAge:Number(o)},path:l,...u&&{sameSite:h.includes(y=(y=u).toLowerCase())?y:void 0},...d&&{secure:!0},...f&&{priority:m.includes(g=(g=f).toLowerCase())?g:void 0},...c&&{partitioned:!0}};let e={};for(let t in v)v[t]&&(e[t]=v[t]);return e}}t.exports=((e,t,r,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of a(t))i.call(e,r)||void 0===r||s(e,r,{get:()=>t[r],enumerable:!(o=n(t,r))||o.enumerable});return e})(s({},"__esModule",{value:!0}),o);var h=["strict","lax","none"],m=["low","medium","high"],f=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of p(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let 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])=>d(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>d(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},y=class{constructor(e){var t,r,s;this._parsed=new Map,this._headers=e;const n=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(n)?n:function(e){if(!e)return[];var t,r,s,n,a,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,a=!1;l();)if(","===(r=e.charAt(o))){for(s=o,o+=1,l(),n=o;o<e.length&&"="!==(r=e.charAt(o))&&";"!==r&&","!==r;)o+=1;o<e.length&&"="===e.charAt(o)?(a=!0,o=n,i.push(e.substring(t,s)),t=o):o=s+1}else o+=1;(!a||o>=e.length)&&i.push(e.substring(t,e.length))}return i}(n)){const t=c(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let 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,n=this._parsed;return n.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...s})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=d(r);t.append("set-cookie",e)}}(n,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(d).join("; ")}}},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),n=t([s]);function a(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 i(e){return!1===e.success}[s]=n.then?(await n)():n,s.z.object({password:s.z.string().min(1,"Password is required").max(200)}),e.s(["isValidationFailure",()=>i,"validateBody",()=>a]),r()}catch(e){r(e)}},!1),125465,e=>e.a(async(t,r)=>{try{var s=e.i(89171);e.i(245272);var n=e.i(125852),a=e.i(548941),i=e.i(250875),o=e.i(639173),l=e.i(676088),u=e.i(200392),d=t([l,u]);async function p(e,{params:t}){try{let{id:e}=await t,r=await (0,n.getApiKeyById)(e);if(!r)return s.NextResponse.json({error:"Key not found"},{status:404});let a="string"==typeof r.key?r.key:null;return s.NextResponse.json({...r,key:a?a.slice(0,8)+"****"+a.slice(-4):null})}catch(e){return console.log("Error fetching key:",e),s.NextResponse.json({error:"Failed to fetch key"},{status:500})}}async function c(e,{params:t}){let r;try{r=await e.json()}catch{return s.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let{id:e}=await t,a=(0,u.validateBody)(l.updateKeyPermissionsSchema,r);if((0,u.isValidationFailure)(a))return s.NextResponse.json({error:a.error},{status:400});let{name:i,allowedModels:o,allowedConnections:d,noLog:p,autoResolve:c,isActive:h,accessSchedule:f}=a.data,y={};if(void 0!==i&&(y.name=i),void 0!==o&&(y.allowedModels=o),void 0!==d&&(y.allowedConnections=d),void 0!==p&&(y.noLog=p),void 0!==c&&(y.autoResolve=c),void 0!==h&&(y.isActive=h),void 0!==f&&(y.accessSchedule=f),!await (0,n.updateApiKeyPermissions)(e,y))return s.NextResponse.json({error:"Key not found"},{status:404});return await m(),s.NextResponse.json({message:"API key settings updated successfully",...void 0!==i&&{name:i},...void 0!==o&&{allowedModels:o},...void 0!==d&&{allowedConnections:d},...void 0!==p&&{noLog:p},...void 0!==c&&{autoResolve:c},...void 0!==h&&{isActive:h},...void 0!==f&&{accessSchedule:f}})}catch(e){return console.log("Error updating key permissions:",e),s.NextResponse.json({error:"Failed to update permissions"},{status:500})}}async function h(e,{params:t}){try{let{id:e}=await t;if(!await (0,n.deleteApiKey)(e))return s.NextResponse.json({error:"Key not found"},{status:404});return await m(),s.NextResponse.json({message:"Key deleted successfully"})}catch(e){return console.log("Error deleting key:",e),s.NextResponse.json({error:"Failed to delete key"},{status:500})}}async function m(){try{if(!await (0,a.isCloudEnabled)())return;let e=await (0,i.getConsistentMachineId)();await (0,o.syncToCloud)(e)}catch(e){console.log("Error syncing keys to cloud:",e)}}[l,u]=d.then?(await d)():d,e.s(["DELETE",()=>h,"GET",()=>p,"PATCH",()=>c]),r()}catch(e){r(e)}},!1),368759,e=>e.a(async(t,r)=>{try{var s=e.i(747909),n=e.i(174017),a=e.i(996250),i=e.i(759756),o=e.i(561916),l=e.i(174677),u=e.i(869741),d=e.i(316795),p=e.i(487718),c=e.i(995169),h=e.i(47587),m=e.i(666012),f=e.i(570101),y=e.i(626937),g=e.i(10372),v=e.i(193695);e.i(52474);var x=e.i(600220),R=e.i(125465),w=t([R]);[R]=w.then?(await w)():w;let C=new s.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/keys/[id]/route",pathname:"/api/keys/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/keys/[id]/route.ts",nextConfigOutput:"standalone",userland:R}),{workAsyncStorage:b,workUnitAsyncStorage:E,serverHooks:k}=C;function A(){return(0,a.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:E})}async function _(e,t,r){C.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/keys/[id]/route";s=s.replace(/\/index$/,"")||"/";let a=await C.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!a)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,params:w,nextConfig:A,parsedUrl:_,isDraftMode:b,prerenderManifest:E,routerServerContext:k,isOnDemandRevalidate:j,revalidateOnlyGenerated:P,resolvedPathname:S,clientReferenceManifest:N,serverActionsManifest:O}=a,T=(0,u.normalizeAppPath)(s),q=!!(E.dynamicRoutes[T]||E.routes[S]),I=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,_,!1):t.end("This page could not be found"),null);if(q&&!b){let e=!!E.routes[S],t=E.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(A.experimental.adapterPath)return await I();throw new v.NoFallbackError}}let $=null;!q||C.isDev||b||($=S,$="/index"===$?"/":$);let D=!0===C.isDev||!q,U=q&&!D;O&&N&&(0,l.setManifestsSingleton)({page:s,clientReferenceManifest:N,serverActionsManifest:O});let H=e.method||"GET",M=(0,o.getTracer)(),K=M.getActiveScopeSpan(),F={params:w,prerenderManifest:E,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:D,incrementalCache:(0,i.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:A.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,n)=>C.onRequestError(e,t,s,n,k)},sharedContext:{buildId:R}},L=new d.NodeNextRequest(e),B=new d.NodeNextResponse(t),z=p.NextRequestAdapter.fromNodeNextRequest(L,(0,p.signalFromNodeResponse)(t));try{let a=async e=>C.handle(z,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} ${s}`)}),l=!!(0,i.getRequestMeta)(e,"minimalMode"),u=async i=>{var o,u;let d=async({previousCacheEntry:n})=>{try{if(!l&&j&&P&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await a(i);e.fetchMetrics=F.renderOpts.fetchMetrics;let o=F.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let u=F.renderOpts.collectedTags;if(!q)return await (0,m.sendResponse)(L,B,s,F.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.headers);u&&(t[g.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>=g.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,n=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=g.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==n?void 0:n.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:j})},!1,k),t}},p=await C.handleResponse({req:e,nextConfig:A,cacheKey:$,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:P,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:l});if(!q)return null;if((null==p||null==(o=p.value)?void 0:o.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(u=p.value)?void 0:u.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",j?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,f.fromNodeOutgoingHttpHeaders)(p.value.headers);return l&&q||c.delete(g.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,y.getCacheControlHeader)(p.cacheControl)),await (0,m.sendResponse)(L,B,new Response(p.value.body,{headers:c,status:p.value.status||200})),null};K?await u(K):await M.withPropagatedContext(e.headers,()=>M.trace(c.BaseServerSpan.handleRequest,{spanName:`${H} ${s}`,kind:o.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},u))}catch(t){if(t instanceof v.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:j})},!1,k),q)throw t;return await (0,m.sendResponse)(L,B,new Response(null,{status:500})),null}}e.s(["handler",()=>_,"patchFetch",()=>A,"routeModule",()=>C,"serverHooks",()=>k,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>E]),r()}catch(e){r(e)}},!1),606102,e=>{e.v(e=>Promise.resolve().then(()=>e(548941)))},789543,e=>{e.v(e=>Promise.resolve().then(()=>e(385498)))},579042,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_utils_apiKey_ts_fa113e09._.js"].map(t=>e.l(t))).then(()=>t(65448)))},49794,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_ts_65de0558._.js"].map(t=>e.l(t))).then(()=>t(404503)))},386305,e=>{e.v(e=>Promise.resolve().then(()=>e(878947)))},485685,e=>{e.v(e=>Promise.resolve().then(()=>e(254799)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__64bd5d97._.js.map