n9router 0.3.89 → 0.3.91

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 (519) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +2 -0
  3. package/.next/standalone/.next/build-manifest.json +3 -3
  4. package/.next/standalone/.next/routes-manifest.json +12 -0
  5. package/.next/standalone/.next/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  6. package/.next/standalone/.next/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  7. package/.next/standalone/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  9. package/.next/standalone/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  10. package/.next/standalone/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/.next/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  12. package/.next/standalone/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  13. package/.next/standalone/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/.next/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  15. package/.next/standalone/.next/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  16. package/.next/standalone/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/.next/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  18. package/.next/standalone/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  19. package/.next/standalone/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  20. package/.next/standalone/.next/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  21. package/.next/standalone/.next/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/(dashboard)/dashboard/page.js +2 -2
  24. package/.next/standalone/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  26. package/.next/standalone/.next/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  27. package/.next/standalone/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  29. package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  30. package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  32. package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  33. package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  35. package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  36. package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  38. package/.next/standalone/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
  39. package/.next/standalone/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  41. package/.next/standalone/.next/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  42. package/.next/standalone/.next/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  45. package/.next/standalone/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  48. package/.next/standalone/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/_global-error/page.js +1 -1
  51. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  53. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  54. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  55. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  56. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  57. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  58. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  59. package/.next/standalone/.next/server/app/_not-found/page.js +2 -2
  60. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  61. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  62. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  63. package/.next/standalone/.next/server/app/_not-found.rsc +11 -11
  64. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
  65. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  66. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +6 -6
  67. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  68. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  69. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  70. package/.next/standalone/.next/server/app/api/antigravity-tools/import/route.js.nft.json +1 -1
  71. package/.next/standalone/.next/server/app/api/auth/login/route.js +1 -1
  72. package/.next/standalone/.next/server/app/api/auth/login/route.js.nft.json +1 -1
  73. package/.next/standalone/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +1 -1
  74. package/.next/standalone/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  75. package/.next/standalone/.next/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  76. package/.next/standalone/.next/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  77. package/.next/standalone/.next/server/app/api/cli-tools/claude-settings/route.js +1 -1
  78. package/.next/standalone/.next/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  79. package/.next/standalone/.next/server/app/api/cli-tools/codex-settings/route.js +1 -1
  80. package/.next/standalone/.next/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  81. package/.next/standalone/.next/server/app/api/cli-tools/droid-settings/route.js +1 -1
  82. package/.next/standalone/.next/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  83. package/.next/standalone/.next/server/app/api/cli-tools/openclaw-settings/route.js +1 -1
  84. package/.next/standalone/.next/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  85. package/.next/standalone/.next/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  86. package/.next/standalone/.next/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  87. package/.next/standalone/.next/server/app/api/cloud/auth/route.js +1 -1
  88. package/.next/standalone/.next/server/app/api/cloud/auth/route.js.nft.json +1 -1
  89. package/.next/standalone/.next/server/app/api/cloud/credentials/update/route.js +1 -1
  90. package/.next/standalone/.next/server/app/api/cloud/credentials/update/route.js.nft.json +1 -1
  91. package/.next/standalone/.next/server/app/api/cloud/model/resolve/route.js +1 -1
  92. package/.next/standalone/.next/server/app/api/cloud/model/resolve/route.js.nft.json +1 -1
  93. package/.next/standalone/.next/server/app/api/cloud/models/alias/route.js +1 -1
  94. package/.next/standalone/.next/server/app/api/cloud/models/alias/route.js.nft.json +1 -1
  95. package/.next/standalone/.next/server/app/api/combos/[id]/route.js +1 -1
  96. package/.next/standalone/.next/server/app/api/combos/[id]/route.js.nft.json +1 -1
  97. package/.next/standalone/.next/server/app/api/combos/route.js +1 -1
  98. package/.next/standalone/.next/server/app/api/combos/route.js.nft.json +1 -1
  99. package/.next/standalone/.next/server/app/api/init/route.js +1 -1
  100. package/.next/standalone/.next/server/app/api/init/route.js.nft.json +1 -1
  101. package/.next/standalone/.next/server/app/api/internal/request-detail/route/app-paths-manifest.json +3 -0
  102. package/.next/standalone/.next/server/app/api/internal/request-detail/route/build-manifest.json +9 -0
  103. package/.next/standalone/.next/server/app/api/internal/request-detail/route/server-reference-manifest.json +4 -0
  104. package/.next/standalone/.next/server/app/api/internal/request-detail/route.js +8 -0
  105. package/.next/standalone/.next/server/app/api/internal/request-detail/route.js.map +5 -0
  106. package/.next/standalone/.next/server/app/api/internal/request-detail/route.js.nft.json +1 -0
  107. package/.next/standalone/.next/server/app/api/internal/request-detail/route_client-reference-manifest.js +3 -0
  108. package/.next/standalone/.next/server/app/api/internal/usage/route/app-paths-manifest.json +3 -0
  109. package/.next/standalone/.next/server/app/api/internal/usage/route/build-manifest.json +9 -0
  110. package/.next/standalone/.next/server/app/api/internal/usage/route/server-reference-manifest.json +4 -0
  111. package/.next/standalone/.next/server/app/api/internal/usage/route.js +8 -0
  112. package/.next/standalone/.next/server/app/api/internal/usage/route.js.map +5 -0
  113. package/.next/standalone/.next/server/app/api/internal/usage/route.js.nft.json +1 -0
  114. package/.next/standalone/.next/server/app/api/internal/usage/route_client-reference-manifest.js +3 -0
  115. package/.next/standalone/.next/server/app/api/keys/[id]/route.js +1 -1
  116. package/.next/standalone/.next/server/app/api/keys/[id]/route.js.nft.json +1 -1
  117. package/.next/standalone/.next/server/app/api/keys/route.js +1 -1
  118. package/.next/standalone/.next/server/app/api/keys/route.js.nft.json +1 -1
  119. package/.next/standalone/.next/server/app/api/models/alias/route.js +1 -1
  120. package/.next/standalone/.next/server/app/api/models/alias/route.js.nft.json +1 -1
  121. package/.next/standalone/.next/server/app/api/models/availability/route.js +1 -1
  122. package/.next/standalone/.next/server/app/api/models/availability/route.js.nft.json +1 -1
  123. package/.next/standalone/.next/server/app/api/models/route.js +1 -1
  124. package/.next/standalone/.next/server/app/api/models/route.js.nft.json +1 -1
  125. package/.next/standalone/.next/server/app/api/models/test/route.js +1 -1
  126. package/.next/standalone/.next/server/app/api/models/test/route.js.nft.json +1 -1
  127. package/.next/standalone/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  128. package/.next/standalone/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  129. package/.next/standalone/.next/server/app/api/oauth/cursor/auto-import/route.js +1 -1
  130. package/.next/standalone/.next/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  131. package/.next/standalone/.next/server/app/api/oauth/cursor/import/route.js +1 -1
  132. package/.next/standalone/.next/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  133. package/.next/standalone/.next/server/app/api/oauth/gitlab/pat/route.js +1 -1
  134. package/.next/standalone/.next/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  135. package/.next/standalone/.next/server/app/api/oauth/iflow/cookie/route.js +1 -1
  136. package/.next/standalone/.next/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  137. package/.next/standalone/.next/server/app/api/oauth/kiro/import/route.js +1 -1
  138. package/.next/standalone/.next/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  139. package/.next/standalone/.next/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  140. package/.next/standalone/.next/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  141. package/.next/standalone/.next/server/app/api/pricing/route.js +1 -1
  142. package/.next/standalone/.next/server/app/api/pricing/route.js.nft.json +1 -1
  143. package/.next/standalone/.next/server/app/api/provider-nodes/[id]/route.js +1 -1
  144. package/.next/standalone/.next/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  145. package/.next/standalone/.next/server/app/api/provider-nodes/route.js +1 -1
  146. package/.next/standalone/.next/server/app/api/provider-nodes/route.js.nft.json +1 -1
  147. package/.next/standalone/.next/server/app/api/providers/[id]/models/route.js +1 -1
  148. package/.next/standalone/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  149. package/.next/standalone/.next/server/app/api/providers/[id]/route.js +1 -1
  150. package/.next/standalone/.next/server/app/api/providers/[id]/route.js.nft.json +1 -1
  151. package/.next/standalone/.next/server/app/api/providers/[id]/test/route.js +1 -1
  152. package/.next/standalone/.next/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  153. package/.next/standalone/.next/server/app/api/providers/[id]/test-models/route.js +1 -1
  154. package/.next/standalone/.next/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  155. package/.next/standalone/.next/server/app/api/providers/client/route.js +1 -1
  156. package/.next/standalone/.next/server/app/api/providers/client/route.js.nft.json +1 -1
  157. package/.next/standalone/.next/server/app/api/providers/route.js +1 -1
  158. package/.next/standalone/.next/server/app/api/providers/route.js.nft.json +1 -1
  159. package/.next/standalone/.next/server/app/api/providers/test-batch/route.js +1 -1
  160. package/.next/standalone/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  161. package/.next/standalone/.next/server/app/api/providers/validate/route.js +1 -1
  162. package/.next/standalone/.next/server/app/api/providers/validate/route.js.nft.json +1 -1
  163. package/.next/standalone/.next/server/app/api/proxy-pools/[id]/route.js +1 -1
  164. package/.next/standalone/.next/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  165. package/.next/standalone/.next/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  166. package/.next/standalone/.next/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  167. package/.next/standalone/.next/server/app/api/proxy-pools/route.js +1 -1
  168. package/.next/standalone/.next/server/app/api/proxy-pools/route.js.nft.json +1 -1
  169. package/.next/standalone/.next/server/app/api/settings/database/route.js +1 -1
  170. package/.next/standalone/.next/server/app/api/settings/database/route.js.nft.json +1 -1
  171. package/.next/standalone/.next/server/app/api/settings/require-login/route.js +1 -1
  172. package/.next/standalone/.next/server/app/api/settings/require-login/route.js.nft.json +1 -1
  173. package/.next/standalone/.next/server/app/api/settings/route.js +1 -1
  174. package/.next/standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
  175. package/.next/standalone/.next/server/app/api/translator/send/route.js.nft.json +1 -1
  176. package/.next/standalone/.next/server/app/api/translator/translate/route.js +1 -1
  177. package/.next/standalone/.next/server/app/api/translator/translate/route.js.nft.json +1 -1
  178. package/.next/standalone/.next/server/app/api/tunnel/disable/route.js +1 -1
  179. package/.next/standalone/.next/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  180. package/.next/standalone/.next/server/app/api/tunnel/enable/route.js +1 -1
  181. package/.next/standalone/.next/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  182. package/.next/standalone/.next/server/app/api/tunnel/status/route.js +1 -1
  183. package/.next/standalone/.next/server/app/api/tunnel/status/route.js.nft.json +1 -1
  184. package/.next/standalone/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  185. package/.next/standalone/.next/server/app/api/usage/chart/route.js.nft.json +1 -1
  186. package/.next/standalone/.next/server/app/api/usage/history/route.js.nft.json +1 -1
  187. package/.next/standalone/.next/server/app/api/usage/logs/route.js.nft.json +1 -1
  188. package/.next/standalone/.next/server/app/api/usage/providers/route.js +1 -1
  189. package/.next/standalone/.next/server/app/api/usage/providers/route.js.nft.json +1 -1
  190. package/.next/standalone/.next/server/app/api/usage/request-details/route.js.nft.json +1 -1
  191. package/.next/standalone/.next/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  192. package/.next/standalone/.next/server/app/api/usage/stats/route.js.nft.json +1 -1
  193. package/.next/standalone/.next/server/app/api/usage/stream/route.js.nft.json +1 -1
  194. package/.next/standalone/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  195. package/.next/standalone/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  196. package/.next/standalone/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  197. package/.next/standalone/.next/server/app/api/v1/messages/route.js.nft.json +1 -1
  198. package/.next/standalone/.next/server/app/api/v1/models/route.js.nft.json +1 -1
  199. package/.next/standalone/.next/server/app/api/v1/responses/route.js.nft.json +1 -1
  200. package/.next/standalone/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  201. package/.next/standalone/.next/server/app/callback/page.js +2 -2
  202. package/.next/standalone/.next/server/app/callback/page.js.nft.json +1 -1
  203. package/.next/standalone/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  204. package/.next/standalone/.next/server/app/callback.html +1 -1
  205. package/.next/standalone/.next/server/app/callback.rsc +13 -13
  206. package/.next/standalone/.next/server/app/callback.segments/_full.segment.rsc +13 -13
  207. package/.next/standalone/.next/server/app/callback.segments/_head.segment.rsc +4 -4
  208. package/.next/standalone/.next/server/app/callback.segments/_index.segment.rsc +6 -6
  209. package/.next/standalone/.next/server/app/callback.segments/_tree.segment.rsc +2 -2
  210. package/.next/standalone/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +4 -4
  211. package/.next/standalone/.next/server/app/callback.segments/callback.segment.rsc +3 -3
  212. package/.next/standalone/.next/server/app/dashboard/basic-chat.html +1 -1
  213. package/.next/standalone/.next/server/app/dashboard/basic-chat.rsc +14 -14
  214. package/.next/standalone/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +3 -3
  215. package/.next/standalone/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +3 -3
  216. package/.next/standalone/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
  217. package/.next/standalone/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
  218. package/.next/standalone/.next/server/app/dashboard/basic-chat.segments/_full.segment.rsc +14 -14
  219. package/.next/standalone/.next/server/app/dashboard/basic-chat.segments/_head.segment.rsc +4 -4
  220. package/.next/standalone/.next/server/app/dashboard/basic-chat.segments/_index.segment.rsc +6 -6
  221. package/.next/standalone/.next/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  222. package/.next/standalone/.next/server/app/dashboard/cli-tools.html +1 -1
  223. package/.next/standalone/.next/server/app/dashboard/cli-tools.rsc +14 -14
  224. package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +3 -3
  225. package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +3 -3
  226. package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
  227. package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
  228. package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +14 -14
  229. package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/_head.segment.rsc +4 -4
  230. package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/_index.segment.rsc +6 -6
  231. package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  232. package/.next/standalone/.next/server/app/dashboard/combos.html +1 -1
  233. package/.next/standalone/.next/server/app/dashboard/combos.rsc +15 -15
  234. package/.next/standalone/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +4 -4
  235. package/.next/standalone/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +3 -3
  236. package/.next/standalone/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
  237. package/.next/standalone/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
  238. package/.next/standalone/.next/server/app/dashboard/combos.segments/_full.segment.rsc +15 -15
  239. package/.next/standalone/.next/server/app/dashboard/combos.segments/_head.segment.rsc +4 -4
  240. package/.next/standalone/.next/server/app/dashboard/combos.segments/_index.segment.rsc +6 -6
  241. package/.next/standalone/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  242. package/.next/standalone/.next/server/app/dashboard/endpoint.html +1 -1
  243. package/.next/standalone/.next/server/app/dashboard/endpoint.rsc +14 -14
  244. package/.next/standalone/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +3 -3
  245. package/.next/standalone/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +3 -3
  246. package/.next/standalone/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
  247. package/.next/standalone/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
  248. package/.next/standalone/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +14 -14
  249. package/.next/standalone/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +4 -4
  250. package/.next/standalone/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +6 -6
  251. package/.next/standalone/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  252. package/.next/standalone/.next/server/app/dashboard/mitm.html +1 -1
  253. package/.next/standalone/.next/server/app/dashboard/mitm.rsc +14 -14
  254. package/.next/standalone/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +3 -3
  255. package/.next/standalone/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +3 -3
  256. package/.next/standalone/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
  257. package/.next/standalone/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
  258. package/.next/standalone/.next/server/app/dashboard/mitm.segments/_full.segment.rsc +14 -14
  259. package/.next/standalone/.next/server/app/dashboard/mitm.segments/_head.segment.rsc +4 -4
  260. package/.next/standalone/.next/server/app/dashboard/mitm.segments/_index.segment.rsc +6 -6
  261. package/.next/standalone/.next/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  262. package/.next/standalone/.next/server/app/dashboard/profile.html +1 -1
  263. package/.next/standalone/.next/server/app/dashboard/profile.rsc +15 -15
  264. package/.next/standalone/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +4 -4
  265. package/.next/standalone/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +3 -3
  266. package/.next/standalone/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
  267. package/.next/standalone/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
  268. package/.next/standalone/.next/server/app/dashboard/profile.segments/_full.segment.rsc +15 -15
  269. package/.next/standalone/.next/server/app/dashboard/profile.segments/_head.segment.rsc +4 -4
  270. package/.next/standalone/.next/server/app/dashboard/profile.segments/_index.segment.rsc +6 -6
  271. package/.next/standalone/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  272. package/.next/standalone/.next/server/app/dashboard/providers/new.html +1 -1
  273. package/.next/standalone/.next/server/app/dashboard/providers/new.rsc +15 -15
  274. package/.next/standalone/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +4 -4
  275. package/.next/standalone/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +3 -3
  276. package/.next/standalone/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +3 -3
  277. package/.next/standalone/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
  278. package/.next/standalone/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
  279. package/.next/standalone/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +15 -15
  280. package/.next/standalone/.next/server/app/dashboard/providers/new.segments/_head.segment.rsc +4 -4
  281. package/.next/standalone/.next/server/app/dashboard/providers/new.segments/_index.segment.rsc +6 -6
  282. package/.next/standalone/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  283. package/.next/standalone/.next/server/app/dashboard/providers.html +1 -1
  284. package/.next/standalone/.next/server/app/dashboard/providers.rsc +15 -15
  285. package/.next/standalone/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +4 -4
  286. package/.next/standalone/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +3 -3
  287. package/.next/standalone/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
  288. package/.next/standalone/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
  289. package/.next/standalone/.next/server/app/dashboard/providers.segments/_full.segment.rsc +15 -15
  290. package/.next/standalone/.next/server/app/dashboard/providers.segments/_head.segment.rsc +4 -4
  291. package/.next/standalone/.next/server/app/dashboard/providers.segments/_index.segment.rsc +6 -6
  292. package/.next/standalone/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  293. package/.next/standalone/.next/server/app/dashboard/proxy-pools.html +1 -1
  294. package/.next/standalone/.next/server/app/dashboard/proxy-pools.rsc +15 -15
  295. package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +4 -4
  296. package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +3 -3
  297. package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
  298. package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
  299. package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +15 -15
  300. package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +4 -4
  301. package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +6 -6
  302. package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  303. package/.next/standalone/.next/server/app/dashboard/quota.html +2 -2
  304. package/.next/standalone/.next/server/app/dashboard/quota.rsc +15 -15
  305. package/.next/standalone/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +4 -4
  306. package/.next/standalone/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +3 -3
  307. package/.next/standalone/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
  308. package/.next/standalone/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
  309. package/.next/standalone/.next/server/app/dashboard/quota.segments/_full.segment.rsc +15 -15
  310. package/.next/standalone/.next/server/app/dashboard/quota.segments/_head.segment.rsc +4 -4
  311. package/.next/standalone/.next/server/app/dashboard/quota.segments/_index.segment.rsc +6 -6
  312. package/.next/standalone/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  313. package/.next/standalone/.next/server/app/dashboard/settings/pricing/page.js +2 -2
  314. package/.next/standalone/.next/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  315. package/.next/standalone/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  316. package/.next/standalone/.next/server/app/dashboard/settings/pricing.html +1 -1
  317. package/.next/standalone/.next/server/app/dashboard/settings/pricing.rsc +13 -13
  318. package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +13 -13
  319. package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +4 -4
  320. package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +6 -6
  321. package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  322. package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +4 -4
  323. package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +3 -3
  324. package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +3 -3
  325. package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +3 -3
  326. package/.next/standalone/.next/server/app/dashboard/translator.html +1 -1
  327. package/.next/standalone/.next/server/app/dashboard/translator.rsc +15 -15
  328. package/.next/standalone/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +4 -4
  329. package/.next/standalone/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +3 -3
  330. package/.next/standalone/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
  331. package/.next/standalone/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
  332. package/.next/standalone/.next/server/app/dashboard/translator.segments/_full.segment.rsc +15 -15
  333. package/.next/standalone/.next/server/app/dashboard/translator.segments/_head.segment.rsc +4 -4
  334. package/.next/standalone/.next/server/app/dashboard/translator.segments/_index.segment.rsc +6 -6
  335. package/.next/standalone/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  336. package/.next/standalone/.next/server/app/dashboard/usage.html +1 -1
  337. package/.next/standalone/.next/server/app/dashboard/usage.rsc +15 -15
  338. package/.next/standalone/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +4 -4
  339. package/.next/standalone/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +3 -3
  340. package/.next/standalone/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
  341. package/.next/standalone/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
  342. package/.next/standalone/.next/server/app/dashboard/usage.segments/_full.segment.rsc +15 -15
  343. package/.next/standalone/.next/server/app/dashboard/usage.segments/_head.segment.rsc +4 -4
  344. package/.next/standalone/.next/server/app/dashboard/usage.segments/_index.segment.rsc +6 -6
  345. package/.next/standalone/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  346. package/.next/standalone/.next/server/app/dashboard.html +1 -1
  347. package/.next/standalone/.next/server/app/dashboard.rsc +14 -14
  348. package/.next/standalone/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +3 -3
  349. package/.next/standalone/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
  350. package/.next/standalone/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
  351. package/.next/standalone/.next/server/app/dashboard.segments/_full.segment.rsc +14 -14
  352. package/.next/standalone/.next/server/app/dashboard.segments/_head.segment.rsc +4 -4
  353. package/.next/standalone/.next/server/app/dashboard.segments/_index.segment.rsc +6 -6
  354. package/.next/standalone/.next/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  355. package/.next/standalone/.next/server/app/index.html +1 -1
  356. package/.next/standalone/.next/server/app/index.rsc +11 -11
  357. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  358. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +11 -11
  359. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  360. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +6 -6
  361. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  362. package/.next/standalone/.next/server/app/landing/page.js +2 -2
  363. package/.next/standalone/.next/server/app/landing/page.js.nft.json +1 -1
  364. package/.next/standalone/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  365. package/.next/standalone/.next/server/app/landing.html +1 -1
  366. package/.next/standalone/.next/server/app/landing.rsc +13 -13
  367. package/.next/standalone/.next/server/app/landing.segments/_full.segment.rsc +13 -13
  368. package/.next/standalone/.next/server/app/landing.segments/_head.segment.rsc +4 -4
  369. package/.next/standalone/.next/server/app/landing.segments/_index.segment.rsc +6 -6
  370. package/.next/standalone/.next/server/app/landing.segments/_tree.segment.rsc +2 -2
  371. package/.next/standalone/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +4 -4
  372. package/.next/standalone/.next/server/app/landing.segments/landing.segment.rsc +3 -3
  373. package/.next/standalone/.next/server/app/login/page.js +2 -2
  374. package/.next/standalone/.next/server/app/login/page.js.nft.json +1 -1
  375. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  376. package/.next/standalone/.next/server/app/login.html +1 -1
  377. package/.next/standalone/.next/server/app/login.rsc +13 -13
  378. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +13 -13
  379. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +4 -4
  380. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +6 -6
  381. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  382. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
  383. package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +3 -3
  384. package/.next/standalone/.next/server/app/page.js +2 -2
  385. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  386. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  387. package/.next/standalone/.next/server/app-paths-manifest.json +2 -0
  388. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-7rakw._.js +1 -1
  389. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-th9q.._.js +3 -0
  390. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0wu_jyu._.js → [root-of-the-server]__00_sy8a._.js} +2 -2
  391. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0~0444n._.js → [root-of-the-server]__00w1-vt._.js} +2 -2
  392. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0y5ae.7._.js → [root-of-the-server]__01n7vgb._.js} +2 -2
  393. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0pwrfp1._.js → [root-of-the-server]__02.ogtw._.js} +2 -2
  394. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__11ddaxt._.js → [root-of-the-server]__02ez_-~._.js} +2 -2
  395. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0d-p9ea._.js → [root-of-the-server]__03of64y._.js} +2 -2
  396. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0wor~wi._.js → [root-of-the-server]__0442-5c._.js} +2 -2
  397. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0yye~im._.js → [root-of-the-server]__04c-kkd._.js} +2 -2
  398. package/.next/standalone/.next/server/chunks/[root-of-the-server]__053j5al._.js +1 -1
  399. package/.next/standalone/.next/server/chunks/[root-of-the-server]__067b5fv._.js +3 -0
  400. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0a872qj._.js → [root-of-the-server]__06n~wts._.js} +2 -2
  401. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0ygxf8q._.js → [root-of-the-server]__06ogl04._.js} +2 -2
  402. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0jd9t2e._.js → [root-of-the-server]__091ltaw._.js} +2 -2
  403. package/.next/standalone/.next/server/chunks/[root-of-the-server]__09pq~46._.js +3 -0
  404. package/.next/standalone/.next/server/chunks/[root-of-the-server]__09u3y1w._.js +1 -1
  405. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_5bxb7._.js +4 -0
  406. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0shx3oz._.js → [root-of-the-server]__0_zm3dg._.js} +2 -2
  407. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0ggqrke._.js → [root-of-the-server]__0a_9~cg._.js} +2 -2
  408. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0azf4gz._.js +1 -1
  409. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0b56uvi._.js +3 -0
  410. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0b802lh._.js +1 -1
  411. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0bcktr4._.js +3 -0
  412. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0c-qn~s._.js → [root-of-the-server]__0bdtalb._.js} +2 -2
  413. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0drf.ui._.js → [root-of-the-server]__0c09lpw._.js} +2 -2
  414. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0yqcvre._.js → [root-of-the-server]__0d7obnq._.js} +2 -2
  415. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0eyrvzj._.js → [root-of-the-server]__0e4os.p._.js} +2 -2
  416. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0ntxb7l._.js → [root-of-the-server]__0e7y8w~._.js} +2 -2
  417. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__04o67.c._.js → [root-of-the-server]__0ec61.d._.js} +2 -2
  418. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0b0hngg._.js → [root-of-the-server]__0evci68._.js} +2 -2
  419. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0jh1if9._.js → [root-of-the-server]__0f59x8f._.js} +2 -2
  420. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0ob~5~z._.js → [root-of-the-server]__0fa8rg9._.js} +2 -2
  421. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0d5yskq._.js → [root-of-the-server]__0fsp-sk._.js} +2 -2
  422. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0.yvcis._.js → [root-of-the-server]__0ha8pqz._.js} +2 -2
  423. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0g.slg5._.js → [root-of-the-server]__0jlk7i0._.js} +2 -2
  424. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0n1xjjj._.js → [root-of-the-server]__0jpee3.._.js} +2 -2
  425. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0kpc-o6._.js +1 -1
  426. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0lc~.sk._.js +1 -1
  427. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0tdx4rw._.js → [root-of-the-server]__0ldzewe._.js} +2 -2
  428. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0lp_pm5._.js +1 -1
  429. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0m.zwk_._.js +1 -1
  430. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0b7zcdl._.js → [root-of-the-server]__0m42-i~._.js} +2 -2
  431. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0vccex-._.js → [root-of-the-server]__0mcgcwu._.js} +2 -2
  432. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0-ztp63._.js → [root-of-the-server]__0mpe9.-._.js} +2 -2
  433. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0uilpvk._.js → [root-of-the-server]__0nab92j._.js} +2 -2
  434. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0148t9m._.js → [root-of-the-server]__0nkly1e._.js} +2 -2
  435. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0_8pmqq._.js → [root-of-the-server]__0p8vmzj._.js} +2 -2
  436. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0sr3x1r._.js → [root-of-the-server]__0pf0kam._.js} +2 -2
  437. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0a4rwvw._.js → [root-of-the-server]__0poxwxp._.js} +2 -2
  438. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0r6q4qf._.js +1 -1
  439. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0sy.n8z._.js +3 -0
  440. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__00d92lv._.js → [root-of-the-server]__0t-7jzt._.js} +2 -2
  441. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0_a3mp3._.js → [root-of-the-server]__0tw0zvj._.js} +2 -2
  442. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__01dhv3a._.js → [root-of-the-server]__0u8dezo._.js} +2 -2
  443. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0uw3x8s._.js +1 -1
  444. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0vbd~f-._.js +1 -1
  445. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0wn37_w._.js → [root-of-the-server]__0wczue6._.js} +2 -2
  446. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0s078yi._.js → [root-of-the-server]__0x6j5ov._.js} +2 -2
  447. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0qbud9-._.js → [root-of-the-server]__0xilem_._.js} +2 -2
  448. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0wzaoyn._.js → [root-of-the-server]__0xls6ee._.js} +2 -2
  449. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0y.reft._.js +1 -1
  450. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0uc~.ow._.js → [root-of-the-server]__0y3xqc0._.js} +2 -2
  451. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0q6qi87._.js → [root-of-the-server]__0yf_zm4._.js} +2 -2
  452. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0z-slhf._.js → [root-of-the-server]__0zgc10n._.js} +2 -2
  453. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__120yp9v._.js → [root-of-the-server]__11x4~za._.js} +2 -2
  454. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0yk.b~x._.js → [root-of-the-server]__1365t9j._.js} +2 -2
  455. package/.next/standalone/.next/server/chunks/_0amvca6._.js +1 -1
  456. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_internal_request-detail_route_actions_0l0f~.x.js +3 -0
  457. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_internal_usage_route_actions_058gklf.js +3 -0
  458. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0415gym._.js +1 -1
  459. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0c6sbbj._.js → [root-of-the-server]__04f0xi0._.js} +2 -2
  460. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0kjg_-d._.js → [root-of-the-server]__13ps.wr._.js} +2 -2
  461. package/.next/standalone/.next/server/chunks/ssr/_00c58qj._.js +1 -1
  462. package/.next/standalone/.next/server/chunks/ssr/_049j5t_._.js +3 -0
  463. package/.next/standalone/.next/server/chunks/ssr/_0ss815q._.js +3 -0
  464. package/.next/standalone/.next/server/chunks/ssr/_0tlv512._.js +3 -0
  465. package/.next/standalone/.next/server/chunks/ssr/src_0_xhepz._.js +1 -1
  466. package/.next/standalone/.next/server/chunks/ssr/src_app_(dashboard)_dashboard_usage_page_0fz7awb.js +1 -1
  467. package/.next/standalone/.next/server/chunks/ssr/src_shared_constants_cliTools_09iru_o.js +1 -1
  468. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  469. package/.next/standalone/.next/server/pages/404.html +1 -1
  470. package/.next/standalone/.next/server/pages/500.html +1 -1
  471. package/.next/standalone/.next/static/chunks/0-rta-yheghf7.js +1 -0
  472. package/.next/standalone/.next/static/chunks/026p3rpdycbyo.css +1 -0
  473. package/.next/{static/chunks/08kho~qudyqxf.js → standalone/.next/static/chunks/06l6ck_q1o~m9.js} +3 -3
  474. package/.next/standalone/.next/static/chunks/{0hgyabetclndg.js → 0ggs~59p2zyrg.js} +1 -1
  475. package/.next/standalone/.next/static/chunks/{00~ibgir0ac-0.js → 0pwbnjvdm7lt_.js} +2 -2
  476. package/.next/standalone/.next/static/chunks/{0a84s1t0dt8-h.js → 148_2lu2ra629.js} +1 -1
  477. package/.next/standalone/.next/static/chunks/{0f56a6ti-axtc.js → 17~_6lx17xr8z.js} +3 -3
  478. package/.next/standalone/docs/token_swap.png +0 -0
  479. package/.next/standalone/docs/token_swap_guide.md +19 -0
  480. package/.next/standalone/mitm/server.js +59 -13
  481. package/.next/standalone/mitm/tokenPool.js +79 -17
  482. package/.next/standalone/mitm/usageTracker.js +524 -0
  483. package/.next/standalone/package-lock.json +2 -2
  484. package/.next/standalone/package.json +1 -1
  485. package/.next/standalone/src/app/(dashboard)/dashboard/cli-tools/components/TokenSwapPoolCard.js +331 -50
  486. package/.next/standalone/src/app/(dashboard)/dashboard/mitm/MitmPageClient.js +11 -4
  487. package/.next/standalone/src/app/(dashboard)/dashboard/usage/components/RequestDetailsTab.js +13 -2
  488. package/.next/standalone/src/app/api/internal/request-detail/route.js +45 -0
  489. package/.next/standalone/src/app/api/internal/usage/route.js +59 -0
  490. package/.next/standalone/src/app/api/providers/[id]/route.js +4 -0
  491. package/.next/standalone/src/lib/localDb.js +3 -1
  492. package/.next/standalone/src/mitm/server.js +59 -13
  493. package/.next/standalone/src/mitm/tokenPool.js +79 -17
  494. package/.next/standalone/src/mitm/usageTracker.js +524 -0
  495. package/.next/standalone/tests/unit/tokenPool.test.js +55 -14
  496. package/.next/static/chunks/0-rta-yheghf7.js +1 -0
  497. package/.next/static/chunks/026p3rpdycbyo.css +1 -0
  498. package/.next/{standalone/.next/static/chunks/08kho~qudyqxf.js → static/chunks/06l6ck_q1o~m9.js} +3 -3
  499. package/.next/static/chunks/{0hgyabetclndg.js → 0ggs~59p2zyrg.js} +1 -1
  500. package/.next/static/chunks/{00~ibgir0ac-0.js → 0pwbnjvdm7lt_.js} +2 -2
  501. package/.next/static/chunks/{0a84s1t0dt8-h.js → 148_2lu2ra629.js} +1 -1
  502. package/.next/static/chunks/{0f56a6ti-axtc.js → 17~_6lx17xr8z.js} +3 -3
  503. package/package.json +1 -1
  504. package/.next/standalone/.next/server/chunks/[root-of-the-server]__081rpq_._.js +0 -4
  505. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cix-zv._.js +0 -3
  506. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0z-kiuj._.js +0 -3
  507. package/.next/standalone/.next/server/chunks/ssr/_0wr~fjn._.js +0 -3
  508. package/.next/standalone/.next/server/chunks/ssr/_0z7gqwv._.js +0 -3
  509. package/.next/standalone/.next/server/chunks/ssr/_12us7s0._.js +0 -3
  510. package/.next/standalone/.next/static/chunks/0lkbvidbb15ld.css +0 -1
  511. package/.next/standalone/.next/static/chunks/121._9x_i3s-~.js +0 -1
  512. package/.next/static/chunks/0lkbvidbb15ld.css +0 -1
  513. package/.next/static/chunks/121._9x_i3s-~.js +0 -1
  514. /package/.next/standalone/.next/static/{XSoZ0BJFg1b0W2IGyybf7 → G51gMWWv_zPc_nZoCBESi}/_buildManifest.js +0 -0
  515. /package/.next/standalone/.next/static/{XSoZ0BJFg1b0W2IGyybf7 → G51gMWWv_zPc_nZoCBESi}/_clientMiddlewareManifest.js +0 -0
  516. /package/.next/standalone/.next/static/{XSoZ0BJFg1b0W2IGyybf7 → G51gMWWv_zPc_nZoCBESi}/_ssgManifest.js +0 -0
  517. /package/.next/static/{XSoZ0BJFg1b0W2IGyybf7 → G51gMWWv_zPc_nZoCBESi}/_buildManifest.js +0 -0
  518. /package/.next/static/{XSoZ0BJFg1b0W2IGyybf7 → G51gMWWv_zPc_nZoCBESi}/_clientMiddlewareManifest.js +0 -0
  519. /package/.next/static/{XSoZ0BJFg1b0W2IGyybf7 → G51gMWWv_zPc_nZoCBESi}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},18622,(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"))},56704,(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"))},32319,(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"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},93695,(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"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},57764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},22593,67059,21023,e=>{"use strict";e.s(["Low",0,class{adapter;data;constructor(e,t){!function(e,t){if(void 0===e)throw Error("lowdb: missing adapter");if(void 0===t)throw Error("lowdb: missing default data")}(e,t),this.adapter=e,this.data=t}async read(){let e=await this.adapter.read();e&&(this.data=e)}async write(){this.data&&await this.adapter.write(this.data)}async update(e){e(this.data),await this.write()}}],22593),e.i(2157);var t=e.i(12714),r=e.i(50227),o=e.i(57764);async function a(e,t,r){for(let o=0;o<t;o++)try{return await e()}catch(e){if(o<t-1)await new Promise(e=>setTimeout(e,r));else throw e}}class i{#e;#t;#r=!1;#o=null;#a=null;#i=null;#n=null;#s(e){return this.#n=e,this.#i||=new Promise((e,t)=>{this.#a=[e,t]}),new Promise((e,t)=>{this.#i?.then(e).catch(t)})}async #l(e){this.#r=!0;try{await (0,t.writeFile)(this.#t,e,"utf-8"),await a(async()=>{await (0,t.rename)(this.#t,this.#e)},10,100),this.#o?.[0]()}catch(e){throw e instanceof Error&&this.#o?.[1](e),e}finally{if(this.#r=!1,this.#o=this.#a,this.#a=this.#i=null,null!==this.#n){let e=this.#n;this.#n=null,await this.write(e)}}}constructor(e){this.#e=e,this.#t=function(e){let t=e instanceof URL?(0,o.fileURLToPath)(e):e.toString();return(0,r.join)((0,r.dirname)(t),`.${(0,r.basename)(t)}.tmp`)}(e)}async write(e){return this.#r?this.#s(e):this.#l(e)}}class n{#e;#c;constructor(e){this.#e=e,this.#c=new i(e)}async read(){let e;try{e=await (0,t.readFile)(this.#e,"utf-8")}catch(e){if("ENOENT"===e.code)return null;throw e}return e}write(e){return this.#c.write(e)}}class s{#d;#p;#u;constructor(e,{parse:t,stringify:r}){this.#d=new n(e),this.#p=t,this.#u=r}async read(){let e=await this.#d.read();return null===e?null:this.#p(e)}write(e){return this.#d.write(this.#u(e))}}e.s(["JSONFile",0,class extends s{constructor(e){super(e,{parse:JSON.parse,stringify:e=>JSON.stringify(e,null,2)})}}],67059),e.s([],21023)},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},88947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},12249,(e,t,r)=>{t.exports=e.x("constants",()=>require("constants"))},49719,(e,t,r)=>{t.exports=e.x("assert",()=>require("assert"))},69789,e=>{"use strict";e.i(26753),e.s([])},85063,e=>{"use strict";e.i(46786);let t={clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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",authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile","https://www.googleapis.com/auth/cclog","https://www.googleapis.com/auth/experimentsandconfigs"],apiEndpoint:"https://cloudcode-pa.googleapis.com",apiVersion:"v1internal",loadCodeAssistEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUserEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser",loadCodeAssistUserAgent:"google-api-nodejs-client/9.15.1",loadCodeAssistApiClient:"google-cloud-sdk vscode_cloudshelleditor/0.1",loadCodeAssistClientMetadata:JSON.stringify({ideType:"IDE_UNSPECIFIED",platform:"PLATFORM_UNSPECIFIED",pluginType:"GEMINI"})},r={clientId:process.env.KIMI_CODING_OAUTH_CLIENT_ID||"17e5f671-d194-4dfb-9706-5516cb48c098",deviceCodeUrl:"https://auth.kimi.com/api/oauth/device_authorization",tokenUrl:"https://auth.kimi.com/api/oauth/token"};e.s(["ANTIGRAVITY_CONFIG",0,t,"CLAUDE_CONFIG",0,{clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorizeUrl:"https://claude.ai/oauth/authorize",tokenUrl:"https://api.anthropic.com/v1/oauth/token",scopes:["org:create_api_key","user:profile","user:inference"],codeChallengeMethod:"S256"},"CLINE_CONFIG",0,{appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenExchangeUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},"CODEBUDDY_CONFIG",0,{baseUrl:"https://copilot.tencent.com",stateUrl:"https://copilot.tencent.com/v2/plugin/auth/state",tokenUrl:"https://copilot.tencent.com/v2/plugin/auth/token",refreshUrl:"https://copilot.tencent.com/v2/plugin/auth/token/refresh",userAgent:"CLI/2.63.2 CodeBuddy/2.63.2",platform:"CLI",pollInterval:5e3},"CODEX_CONFIG",0,{clientId:"app_EMoamEEZ73f0CkXaXp7hrann",authorizeUrl:"https://auth.openai.com/oauth/authorize",tokenUrl:"https://auth.openai.com/oauth/token",scope:"openid profile email offline_access",codeChallengeMethod:"S256",extraParams:{id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"}},"CURSOR_CONFIG",0,{apiEndpoint:"https://api2.cursor.sh",chatEndpoint:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",modelsEndpoint:"/aiserver.v1.AiService/GetDefaultModelNudgeData",api3Endpoint:"https://api3.cursor.sh",agentEndpoint:"https://agent.api5.cursor.sh",agentNonPrivacyEndpoint:"https://agentn.api5.cursor.sh",clientVersion:"0.48.6",clientType:"ide",tokenStoragePaths:{linux:"~/.config/Cursor/User/globalStorage/state.vscdb",macos:"/Users/<user>/Library/Application Support/Cursor/User/globalStorage/state.vscdb",windows:"%APPDATA%\\Cursor\\User\\globalStorage\\state.vscdb"},dbKeys:{accessToken:"cursorAuth/accessToken",machineId:"storage.serviceMachineId"}},"GEMINI_CONFIG",0,{clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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",authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile"]},"GITHUB_CONFIG",0,{clientId:"Iv1.b507a08c87ecfe98",deviceCodeUrl:"https://github.com/login/device/code",tokenUrl:"https://github.com/login/oauth/access_token",userInfoUrl:"https://api.github.com/user",scopes:"read:user",apiVersion:"2022-11-28",copilotTokenUrl:"https://api.github.com/copilot_internal/v2/token",userAgent:"GitHubCopilotChat/0.26.7",editorVersion:"vscode/1.85.0",editorPluginVersion:"copilot-chat/0.26.7"},"GITLAB_CONFIG",0,{defaultBaseUrl:"https://gitlab.com",authorizeUrlPath:"/oauth/authorize",tokenUrlPath:"/oauth/token",userInfoUrlPath:"/api/v4/user",scope:"api read_user",codeChallengeMethod:"S256"},"IFLOW_CONFIG",0,{clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",authorizeUrl:"https://iflow.cn/oauth",tokenUrl:"https://iflow.cn/oauth/token",userInfoUrl:"https://iflow.cn/api/oauth/getUserInfo",extraParams:{loginMethod:"phone",type:"phone"}},"KILOCODE_CONFIG",0,{apiBaseUrl:"https://api.kilo.ai",initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"},"KIMI_CODING_CONFIG",0,r,"KIRO_CONFIG",0,{ssoOidcEndpoint:"https://oidc.us-east-1.amazonaws.com",registerClientUrl:"https://oidc.us-east-1.amazonaws.com/client/register",deviceAuthUrl:"https://oidc.us-east-1.amazonaws.com/device_authorization",tokenUrl:"https://oidc.us-east-1.amazonaws.com/token",startUrl:"https://view.awsapps.com/start",clientName:"kiro-oauth-client",clientType:"public",scopes:["codewhisperer:completions","codewhisperer:analysis","codewhisperer:conversations"],grantTypes:["urn:ietf:params:oauth:grant-type:device_code","refresh_token"],issuerUrl:"https://identitycenter.amazonaws.com/ssoins-722374e8c3c8e6c6",socialAuthEndpoint:"https://prod.us-east-1.auth.desktop.kiro.dev",socialLoginUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/login",socialTokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/oauth/token",socialRefreshUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authMethods:["builder-id","idc","google","github","import"]},"QODER_CONFIG",0,{apiBaseUrl:"https://api2.qoder.sh",deviceTokenUrl:"https://api2.qoder.sh/api/v1/deviceToken/poll",deviceRefreshUrl:"https://api2.qoder.sh/api/v1/deviceToken/refresh",refreshUrl:"https://api2.qoder.sh/api/v3/user/refresh_token",userInfoUrl:"https://api2.qoder.sh/api/v1/userinfo",statusUrl:"https://api2.qoder.sh/api/v3/user/status",loginUrl:"https://qoder.com/login"},"QWEN_CONFIG",0,{clientId:"f0304373b74a44d2b584a3fb70ca9e56",deviceCodeUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",scope:"openid profile email model.completion",codeChallengeMethod:"S256"}])},88077,e=>{"use strict";let t={kiro:{id:"kiro",alias:"kr",name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35"},qwen:{id:"qwen",alias:"qw",name:"Qwen Code",icon:"psychology",color:"#10B981"},"gemini-cli":{id:"gemini-cli",alias:"gc",name:"Gemini CLI",icon:"terminal",color:"#4285F4",deprecated:!0,deprecationNotice:"Google has tightened Gemini CLI abuse detection and restricted Pro models to paid accounts (Mar 25, 2026). Using this provider may violate ToS and risk account bans."},iflow:{id:"iflow",alias:"if",name:"iFlow AI",icon:"water_drop",color:"#6366F1"}},r={openrouter:{id:"openrouter",alias:"openrouter",name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",passthroughModels:!0,website:"https://openrouter.ai",notice:{text:"Free tier: 27+ free models, no credit card needed, 200 req/day. After $10 credit: 1,000 req/day.",apiKeyUrl:"https://openrouter.ai/settings/keys"},modelsFetcher:{url:"https://openrouter.ai/api/v1/models",type:"openrouter-free"}},nvidia:{id:"nvidia",alias:"nvidia",name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://developer.nvidia.com/nim",notice:{text:"Free access for NVIDIA Developer Program members (prototyping & testing).",apiKeyUrl:"https://build.nvidia.com/settings/api-keys"}},ollama:{id:"ollama",alias:"ollama",name:"Ollama Cloud",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com",notice:{text:"Free tier: light usage, 1 cloud model at a time (limits reset every 5h & 7d). Pro $20/mo · Max $100/mo.",apiKeyUrl:"https://ollama.com/settings/keys"}},vertex:{id:"vertex",alias:"vx",name:"Vertex AI",icon:"cloud",color:"#4285F4",textIcon:"VX",website:"https://cloud.google.com/vertex-ai",notice:{text:"New Google Cloud accounts get $300 free credits. Requires GCP project + Service Account with Vertex AI API enabled.",apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}}},o={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",deprecated:!0,deprecationNotice:"Antigravity has tightened abuse detection and restricted model access. Using this provider may violate ToS and risk account bans."},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"},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"}},a={glm:{id:"glm",alias:"glm",name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn"},"glm-cn":{id:"glm-cn",alias:"glm-cn",name:"GLM (China)",icon:"code",color:"#DC2626",textIcon:"GC",website:"https://open.bigmodel.cn"},kimi:{id:"kimi",alias:"kimi",name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn"},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"},"alicode-intl":{id:"alicode-intl",alias:"alicode-intl",name:"Alibaba Intl",icon:"cloud",color:"#FF6A00",textIcon:"ALi"},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"},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://www.cerebras.ai"},cohere:{id:"cohere",alias:"cohere",name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com"},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"},chutes:{id:"chutes",alias:"ch",name:"Chutes AI",icon:"water_drop",color:"#ffffffff",textIcon:"CH",website:"https://chutes.ai"},"ollama-local":{id:"ollama-local",alias:"ollama-local",name:"Ollama Local",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com"},"vertex-partner":{id:"vertex-partner",alias:"vxp",name:"Vertex Partner",icon:"cloud",color:"#34A853",textIcon:"VP",website:"https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models"}},i="openai-compatible-",n="anthropic-compatible-",s={...t,...r,...o,...a};function l(e){for(let t of Object.values(s))if(t.alias===e||t.id===e)return t;return null}Object.values(s).reduce((e,t)=>(e[t.alias]=t.id,e),{}),Object.values(s).reduce((e,t)=>(e[t.id]=t.alias,e),{}),e.s(["AI_PROVIDERS",0,s,"ANTHROPIC_COMPATIBLE_PREFIX",0,n,"APIKEY_PROVIDERS",0,a,"FREE_PROVIDERS",0,t,"FREE_TIER_PROVIDERS",0,r,"OAUTH_PROVIDERS",0,o,"OPENAI_COMPATIBLE_PREFIX",0,i,"getProviderAlias",0,function(e){let t=s[e];return t?.alias||e},"getProviderByAlias",0,l,"isAnthropicCompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(n)},"isOpenAICompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(i)},"resolveProviderId",0,function(e){let t=l(e);return t?.id||e}])},12943,e=>{"use strict";e.s(["default",0,{name:"n9router",version:"0.3.89",description:"Self-hosted AI routing gateway — local proxy for Claude, Gemini, OpenAI and 40+ providers",keywords:["ai","llm","proxy","router","claude","openai","gemini","cursor"],homepage:"https://github.com/nightwalker89/n9router",repository:{type:"git",url:"https://github.com/nightwalker89/n9router.git"},config:{appName:"n9router"},license:"MIT",bin:{n9router:"./bin/n9router.js"},files:["bin/",".next/standalone/",".next/static/","public/"],scripts:{dev:"next dev --webpack --port 20128",build:"cross-env NODE_ENV=production next build",start:"cross-env NODE_ENV=production next start","dev:bun":"bun --bun next dev --webpack --port 20128","build:bun":"NODE_ENV=production bun --bun next build --webpack","start:bun":"NODE_ENV=production bun ./.next/standalone/server.js","publish:npm":"./scripts/publish-npm.sh","publish:npm:dry":"./scripts/publish-npm.sh --dry-run"},dependencies:{"@monaco-editor/react":"^4.7.0","@xyflow/react":"^12.10.1",bcryptjs:"^3.0.3",confbox:"^0.2.4",express:"^5.2.1",fs:"^0.0.1-security","http-proxy-middleware":"^3.0.5",jose:"^6.1.3",lowdb:"^7.0.1","monaco-editor":"^0.55.1",next:"^16.1.6","node-forge":"^1.3.3","node-machine-id":"^1.1.12",open:"^11.0.0",ora:"^9.1.0","proper-lockfile":"^4.1.2",react:"19.2.4","react-dom":"19.2.4","react-is":"^16.13.1",recharts:"^3.7.0",selfsigned:"^5.5.0","socks-proxy-agent":"^8.0.5","sql.js":"^1.14.1",undici:"^7.19.2",uuid:"^13.0.0",zustand:"^5.0.10"},optionalDependencies:{"better-sqlite3":"^12.6.2"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","cross-env":"^10.1.0",eslint:"^9","eslint-config-next":"16.1.6",postcss:"^8.5.6",tailwindcss:"^4"}}])},26406,e=>{"use strict";let t=e.i(12943).default.version||"0.0.0";e.s(["buildClineHeaders",0,function(e,r={}){let o,a=(o=function(e){if("string"!=typeof e)return"";let t=e.trim();return t?t.startsWith("workos:")?t:`workos:${t}`:""}(e))?`Bearer ${o}`:"",i={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","User-Agent":`9Router/${t}`,"X-PLATFORM":process.platform||"unknown","X-PLATFORM-VERSION":process.version||"unknown","X-CLIENT-TYPE":"9router","X-CLIENT-VERSION":t,"X-CORE-VERSION":t,"X-IS-MULTIROOT":"false",...r};return a&&(i.Authorization=a),i}])},1102,e=>{"use strict";e.i(69789);var t=e.i(26753);function r(e){return null==e?"":String(e).trim()}async function o(e={}){let a=r(e?.proxyPoolId),i="__none__"===a?"":a,n=function(e={}){let t=e?.connectionProxyEnabled===!0;return{connectionProxyEnabled:t,connectionProxyUrl:r(e?.connectionProxyUrl),connectionNoProxy:r(e?.connectionNoProxy)}}(e);if(i){let e=await (0,t.getProxyPoolById)(i),o=r(e?.proxyUrl),a=r(e?.noProxy);if(e&&!0===e.isActive&&o)return{source:"pool",proxyPoolId:i,proxyPool:e,connectionProxyEnabled:!0,connectionProxyUrl:o,connectionNoProxy:a,strictProxy:!0===e.strictProxy}}return n.connectionProxyEnabled&&n.connectionProxyUrl?{source:"legacy",proxyPoolId:i||null,proxyPool:null,...n}:{source:"none",proxyPoolId:i||null,proxyPool:null,...n}}e.s(["resolveConnectionProxyConfig",0,o])},78500,(e,t,r)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},60709,e=>{"use strict";var t=e.i(36689);function r(e){return null==e?"":String(e).trim()}async function o({proxyUrl:e,testUrl:a,timeoutMs:i}={}){let n,s=r(e);if(!s)return{ok:!1,status:400,error:"proxyUrl is required"};let l=r(a)||"https://google.com/",c=Number(i),d=Number.isFinite(c)&&c>0?Math.min(c,3e4):8e3;try{try{n=new t.ProxyAgent({uri:s})}catch(e){return{ok:!1,status:400,error:`Invalid proxy URL: ${e?.message||String(e)}`}}let e=new AbortController,r=Date.now(),o=setTimeout(()=>e.abort(),d);try{let o=await (0,t.fetch)(l,{method:"HEAD",dispatcher:n,signal:e.signal,headers:{"User-Agent":"9Router"}});return{ok:o.ok,status:o.status,statusText:o.statusText,url:l,elapsedMs:Date.now()-r}}catch(t){let e=t?.name==="AbortError"?"Proxy test timed out":function(e){if(!e)return"Unknown error";let t=e?.message||String(e),r=e?.cause?.code||e?.code,o=e?.cause?.message;return o&&o!==t?r?`${t}: ${o} (${r})`:`${t}: ${o}`:r&&!t.includes(r)?`${t} (${r})`:t}(t);return{ok:!1,status:500,error:e}}finally{clearTimeout(o)}}finally{try{await n?.close?.()}catch{}}}e.s(["testProxyUrl",0,o])},21122,e=>{"use strict";var t=e.i(26753),r=e.i(1102),o=e.i(60709),a=e.i(88077),i=e.i(20491),n=e.i(85063),s=e.i(26406);let l={claude:{checkExpiry:!0,refreshable:!0},codex:{url:"https://chatgpt.com/backend-api/codex/responses",method:"POST",authHeader:"Authorization",authPrefix:"Bearer ",extraHeaders:{"Content-Type":"application/json",originator:"codex-cli","User-Agent":"codex-cli/1.0.18 (macOS; arm64)"},body:JSON.stringify({model:"gpt-5.3-codex",input:[],stream:!1,store:!1}),acceptStatuses:[400],refreshable:!0},"gemini-cli":{url:"https://www.googleapis.com/oauth2/v1/userinfo?alt=json",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",refreshable:!0},antigravity:{url:"https://www.googleapis.com/oauth2/v1/userinfo?alt=json",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",refreshable:!0},github:{url:"https://api.github.com/user",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",extraHeaders:{"User-Agent":"9Router",Accept:"application/vnd.github+json"}},iflow:{buildUrl:e=>`https://iflow.cn/api/oauth/getUserInfo?accessToken=${encodeURIComponent(e)}`,method:"GET",noAuth:!0},qwen:{checkExpiry:!0,refreshable:!0},kiro:{checkExpiry:!0,refreshable:!0},"kimi-coding":{checkExpiry:!0,refreshable:!1},cursor:{tokenExists:!0},kilocode:{url:`${n.KILOCODE_CONFIG.apiBaseUrl}/api/profile`,method:"GET",authHeader:"Authorization",authPrefix:"Bearer "},cline:{refreshable:!0},gitlab:{url:"https://gitlab.com/api/v4/user",method:"GET",authHeader:"Authorization",authPrefix:"Bearer "},codebuddy:{tokenExists:!0}};async function c(e){return await fetch("https://api.cline.bot/api/v1/users/me",{method:"GET",headers:(0,s.buildClineHeaders)(e,{Accept:"application/json"})})}async function d(e){let t=e.provider,r=e.refreshToken;if(!r)return null;try{if("gemini-cli"===t||"antigravity"===t){let e="gemini-cli"===t?n.GEMINI_CONFIG:n.ANTIGRAVITY_CONFIG,o=await fetch("https://oauth2.googleapis.com/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({client_id:e.clientId,client_secret:e.clientSecret,grant_type:"refresh_token",refresh_token:r})});if(!o.ok)return null;let a=await o.json();return{accessToken:a.access_token,expiresIn:a.expires_in,refreshToken:a.refresh_token||r}}if("codex"===t){let e=await fetch(n.CODEX_CONFIG.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"refresh_token",client_id:n.CODEX_CONFIG.clientId,refresh_token:r})});if(!e.ok)return null;let t=await e.json();return{accessToken:t.access_token,expiresIn:t.expires_in,refreshToken:t.refresh_token||r}}if("claude"===t){let e=await fetch(n.CLAUDE_CONFIG.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"refresh_token",refresh_token:r,client_id:n.CLAUDE_CONFIG.clientId})});if(!e.ok)return null;let t=await e.json();return{accessToken:t.access_token,expiresIn:t.expires_in,refreshToken:t.refresh_token||r}}if("kiro"===t){let t=e.providerSpecificData||{},o=t.clientId||e.clientId,a=t.clientSecret||e.clientSecret,i=t.region||e.region;if(o&&a){let e=`https://oidc.${i||"us-east-1"}.amazonaws.com/token`,t=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({clientId:o,clientSecret:a,refreshToken:r,grantType:"refresh_token"})});if(!t.ok)return null;let n=await t.json();return{accessToken:n.accessToken,expiresIn:n.expiresIn||3600,refreshToken:n.refreshToken||r}}let s=await fetch(n.KIRO_CONFIG.socialRefreshUrl,{method:"POST",headers:{"Content-Type":"application/json","User-Agent":"kiro-cli/1.0.0"},body:JSON.stringify({refreshToken:r})});if(!s.ok)return null;let l=await s.json();return{accessToken:l.accessToken,expiresIn:l.expiresIn||3600,refreshToken:l.refreshToken||r}}if("qwen"===t){let e=await fetch(n.QWEN_CONFIG.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:r,client_id:n.QWEN_CONFIG.clientId})});if(!e.ok)return null;let t=await e.json();return{accessToken:t.access_token,expiresIn:t.expires_in,refreshToken:t.refresh_token||r}}if("cline"===t){let e=await fetch(n.CLINE_CONFIG.refreshUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:r,grantType:"refresh_token",clientType:"extension"})});if(!e.ok)return null;let t=await e.json(),o=t?.data||t,a=o?.expiresAt?Math.max(1,Math.floor((new Date(o.expiresAt).getTime()-Date.now())/1e3)):3600;return{accessToken:o?.accessToken,expiresIn:a,refreshToken:o?.refreshToken||r}}return null}catch(e){return console.log(`Error refreshing ${t} token:`,e.message),null}}async function p(e,t=null){var r;let o=l[e.provider];if(!o)return{valid:!1,error:"Provider test not supported",refreshed:!1};if(!e.accessToken)return{valid:!1,error:"No access token",refreshed:!1};if(o.tokenExists)return{valid:!0,error:null,refreshed:!1,newTokens:null};let a=e.accessToken,i=!1,n=null,s=!!(r=e).expiresAt&&new Date(r.expiresAt).getTime()<=Date.now()+3e5;if(o.refreshable&&s&&e.refreshToken){let t=await d(e);if(!t)return{valid:!1,error:"Token expired and refresh failed",refreshed:!1};a=t.accessToken,i=!0,n=t}if(o.checkExpiry)return i?{valid:!0,error:null,refreshed:i,newTokens:n}:s?{valid:!1,error:"Token expired",refreshed:!1}:{valid:!0,error:null,refreshed:!1,newTokens:null};if("cline"===e.provider){let t=async e=>{let t=await c(e);return t.ok?{valid:!0,error:null,refreshed:i,newTokens:n}:401===t.status?{valid:!1,error:"Token invalid or revoked",refreshed:i}:403===t.status?{valid:!1,error:"Access denied",refreshed:i}:{valid:!1,error:`API returned ${t.status}`,refreshed:i}},r=await t(a);if(r.valid||"Token invalid or revoked"!==r.error||!e.refreshToken)return r;let o=await d(e);return o?.accessToken?(i=!0,n=o,a=o.accessToken,await t(a)):{valid:!1,error:"Token invalid or revoked",refreshed:!1}}try{let r=o.buildUrl?o.buildUrl(a):o.url,s=o.noAuth?{...o.extraHeaders}:{[o.authHeader]:`${o.authPrefix}${a}`,...o.extraHeaders},l={method:o.method,headers:s};o.body&&(l.body=o.body);let c=await u(r,l,t);if(c.ok||o.acceptStatuses&&o.acceptStatuses.includes(c.status))return{valid:!0,error:null,refreshed:i,newTokens:n};if(401===c.status&&o.refreshable&&!i&&e.refreshToken){let a=await d(e);if(a){let e=o.buildUrl?o.buildUrl(a.accessToken):r,i=o.noAuth?{...o.extraHeaders}:{[o.authHeader]:`${o.authPrefix}${a.accessToken}`,...o.extraHeaders},n={method:o.method,headers:i};o.body&&(n.body=o.body);let s=await u(e,n,t);if(s.ok||o.acceptStatuses&&o.acceptStatuses.includes(s.status))return{valid:!0,error:null,refreshed:!0,newTokens:a}}return{valid:!1,error:"Token invalid or revoked",refreshed:!1}}if(401===c.status)return{valid:!1,error:"Token invalid or revoked",refreshed:i};if(403===c.status)return{valid:!1,error:"Access denied",refreshed:i};return{valid:!1,error:`API returned ${c.status}`,refreshed:i}}catch(e){return{valid:!1,error:e.message,refreshed:i}}}async function u(t,r={},o=null){if(!o?.connectionProxyEnabled||!o?.connectionProxyUrl)return fetch(t,r);let{proxyAwareFetch:a}=await e.A(27349);return a(t,r,{connectionProxyEnabled:!0,connectionProxyUrl:o.connectionProxyUrl,connectionNoProxy:o.connectionNoProxy||""})}async function h(e,t=null){if((0,a.isOpenAICompatibleProvider)(e.provider)){let r=e.providerSpecificData?.baseUrl;if(!r)return{valid:!1,error:"Missing base URL"};try{let o=await u(`${r.replace(/\/$/,"")}/models`,{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:o.ok,error:o.ok?null:"Invalid API key or base URL"}}catch(e){return{valid:!1,error:e.message}}}if((0,a.isAnthropicCompatibleProvider)(e.provider)){let r=e.providerSpecificData?.baseUrl;if(!r)return{valid:!1,error:"Missing base URL"};try{(r=r.replace(/\/$/,"")).endsWith("/messages")&&(r=r.slice(0,-9));let o=await u(`${r}/models`,{headers:{"x-api-key":e.apiKey,"anthropic-version":"2023-06-01",Authorization:`Bearer ${e.apiKey}`}},t);return{valid:o.ok,error:o.ok?null:"Invalid API key or base URL"}}catch(e){return{valid:!1,error:e.message}}}try{switch(e.provider){case"openai":{let r=await u("https://api.openai.com/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"anthropic":{let r=await u("https://api.anthropic.com/v1/messages",{method:"POST",headers:{"x-api-key":e.apiKey,"anthropic-version":"2023-06-01","content-type":"application/json"},body:JSON.stringify({model:"claude-3-haiku-20240307",max_tokens:1,messages:[{role:"user",content:"test"}]})},t),o=401!==r.status;return{valid:o,error:o?null:"Invalid API key"}}case"gemini":{let r=await u(`https://generativelanguage.googleapis.com/v1/models?key=${e.apiKey}`,{},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"openrouter":{let r=await u("https://openrouter.ai/api/v1/auth/key",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"glm":{let r=await u("https://api.z.ai/api/anthropic/v1/messages",{method:"POST",headers:{"x-api-key":e.apiKey,"anthropic-version":"2023-06-01","content-type":"application/json"},body:JSON.stringify({model:"glm-4.7",max_tokens:1,messages:[{role:"user",content:"test"}]})},t),o=401!==r.status&&403!==r.status;return{valid:o,error:o?null:"Invalid API key"}}case"glm-cn":{let r=await u("https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",{method:"POST",headers:{Authorization:`Bearer ${e.apiKey}`,"content-type":"application/json"},body:JSON.stringify({model:"glm-4.7",max_tokens:1,messages:[{role:"user",content:"test"}]})},t),o=401!==r.status&&403!==r.status;return{valid:o,error:o?null:"Invalid API key"}}case"minimax":case"minimax-cn":{let r=await u({minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages"}[e.provider],{method:"POST",headers:{"x-api-key":e.apiKey,"anthropic-version":"2023-06-01","content-type":"application/json"},body:JSON.stringify({model:"minimax-m2",max_tokens:1,messages:[{role:"user",content:"test"}]})},t),o=401!==r.status&&403!==r.status;return{valid:o,error:o?null:"Invalid API key"}}case"kimi":{let r=await u("https://api.kimi.com/coding/v1/messages",{method:"POST",headers:{"x-api-key":e.apiKey,"anthropic-version":"2023-06-01","content-type":"application/json"},body:JSON.stringify({model:"kimi-latest",max_tokens:1,messages:[{role:"user",content:"test"}]})},t),o=401!==r.status&&403!==r.status;return{valid:o,error:o?null:"Invalid API key"}}case"alicode":case"alicode-intl":{let r="alicode-intl"===e.provider?"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions":"https://coding.dashscope.aliyuncs.com/v1/chat/completions",o=await u(r,{method:"POST",headers:{Authorization:`Bearer ${e.apiKey}`,"content-type":"application/json"},body:JSON.stringify({model:(0,i.getDefaultModel)(e.provider),max_tokens:1,messages:[{role:"user",content:"test"}]})},t),a=401!==o.status&&403!==o.status;return{valid:a,error:a?null:"Invalid API key"}}case"deepseek":{let r=await u("https://api.deepseek.com/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"groq":{let r=await u("https://api.groq.com/openai/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"mistral":{let r=await u("https://api.mistral.ai/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"xai":{let r=await u("https://api.x.ai/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"nvidia":{let r=await u("https://integrate.api.nvidia.com/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"perplexity":{let r=await u("https://api.perplexity.ai/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"together":{let r=await u("https://api.together.xyz/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"fireworks":{let r=await u("https://api.fireworks.ai/inference/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"cerebras":{let r=await u("https://api.cerebras.ai/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"cohere":{let r=await u("https://api.cohere.ai/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"nebius":{let r=await u("https://api.studio.nebius.ai/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"siliconflow":{let r=await u("https://api.siliconflow.cn/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"hyperbolic":{let r=await u("https://api.hyperbolic.xyz/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"ollama":{let t=await fetch("https://ollama.com/api/tags",{headers:{Authorization:`Bearer ${e.apiKey}`}});return{valid:t.ok,error:t.ok?null:"Invalid API key"}}case"ollama-local":{let e=await fetch("http://localhost:11434/api/tags");return{valid:e.ok,error:e.ok?null:"Ollama not running on localhost:11434"}}case"deepgram":{let r=await u("https://api.deepgram.com/v1/projects",{headers:{Authorization:`Token ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"assemblyai":{let r=await u("https://api.assemblyai.com/v1/account",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"nanobanana":{let r=await u("https://api.nanobananaapi.ai/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"chutes":{let r=await u("https://llm.chutes.ai/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}default:return{valid:!1,error:"Provider test not supported"}}}catch(e){return{valid:!1,error:e.message}}}async function m(e){let a,i=await (0,t.getProviderConnectionById)(e);if(!i)return{valid:!1,error:"Connection not found",latencyMs:0,testedAt:new Date().toISOString()};let n=await (0,r.resolveConnectionProxyConfig)(i.providerSpecificData||{});if(n.connectionProxyEnabled&&n.connectionProxyUrl){let r=await (0,o.testProxyUrl)({proxyUrl:n.connectionProxyUrl});if(!r.ok){let o=r.error||`Proxy test failed with status ${r.status}`;return await (0,t.updateProviderConnection)(e,{testStatus:"error",lastError:o,lastErrorAt:new Date().toISOString()}),{valid:!1,error:o,latencyMs:0,testedAt:new Date().toISOString()}}}let s=Date.now();a="apikey"===i.authType?await h(i,n):await p(i,n);let l=Date.now()-s,c={testStatus:a.valid?"active":"error",lastError:a.valid?null:a.error,lastErrorAt:a.valid?null:new Date().toISOString()};return a.refreshed&&a.newTokens&&(c.accessToken=a.newTokens.accessToken,a.newTokens.refreshToken&&(c.refreshToken=a.newTokens.refreshToken),a.newTokens.expiresIn&&(c.expiresAt=new Date(Date.now()+1e3*a.newTokens.expiresIn).toISOString())),await (0,t.updateProviderConnection)(e,c),{valid:a.valid,error:a.error,latencyMs:l,testedAt:new Date().toISOString()}}e.s(["testSingleConnection",0,m])},19208,e=>{"use strict";var t=e.i(47909),r=e.i(74017),o=e.i(96250),a=e.i(59756),i=e.i(61916),n=e.i(74677),s=e.i(69741),l=e.i(16795),c=e.i(87718),d=e.i(95169),p=e.i(47587),u=e.i(66012),h=e.i(70101),m=e.i(26937),f=e.i(10372),g=e.i(93695);e.i(20232);var v=e.i(220),y=e.i(22734),k=e.i(14747),w=e.i(46786),x=e.i(26753),I=e.i(21122);let b=k.default.join(w.default.homedir(),".antigravity_tools"),A=k.default.join(b,"accounts.json"),P=k.default.join(b,"accounts");function C(){return y.default.existsSync(A)&&JSON.parse(y.default.readFileSync(A,"utf-8")).accounts||[]}function T(e){let t=k.default.join(P,`${e}.json`);return y.default.existsSync(t)?JSON.parse(y.default.readFileSync(t,"utf-8")):null}async function _(){try{if(!y.default.existsSync(b))return Response.json({error:"~/.antigravity_tools not found",accounts:[]},{status:404});let e=C(),t=await (0,x.getProviderConnections)({provider:"antigravity"}),r=new Set(t.map(e=>e.email)),o=e.map(e=>{let t=T(e.id);return{id:e.id,email:e.email,name:e.name,disabled:e.disabled,hasToken:!!t?.token?.access_token,hasRefreshToken:!!t?.token?.refresh_token,isNew:!r.has(e.email)}});return Response.json({accounts:o,total:o.length})}catch(e){return console.error("[antigravity-tools/import] Preview error:",e),Response.json({error:e.message},{status:500})}}async function E(){try{if(!y.default.existsSync(b))return Response.json({error:"~/.antigravity_tools not found"},{status:404});let e=C(),t=await (0,x.getProviderConnections)({provider:"antigravity"}),r=new Set(t.map(e=>e.email)),o=0,a=0,i=0,n=[];for(let t of e)try{if(t.disabled){i++;continue}let e=T(t.id);if(!e?.token?.access_token){i++;continue}let n=e.token,s=null;n.expiry_timestamp?s=new Date(1e3*n.expiry_timestamp).toISOString():n.expires_in&&(s=new Date(Date.now()+1e3*n.expires_in).toISOString());let l={provider:"antigravity",authType:"oauth",email:t.email||n.email,name:t.name||t.email,accessToken:n.access_token,refreshToken:n.refresh_token||null,expiresAt:s,projectId:n.project_id||null,isActive:!0},c=r.has(l.email),d=await (0,x.createProviderConnection)(l);try{let e=await (0,I.testSingleConnection)(d.id);console.log(`[antigravity-tools/import] Tested ${l.email}: ${e.valid?"active":"error"} (${e.latencyMs}ms)`)}catch(e){console.log(`[antigravity-tools/import] Test failed for ${l.email}: ${e.message}`)}c?a++:(o++,r.add(l.email))}catch(e){n.push({email:t.email,error:e.message})}return console.log(`[antigravity-tools/import] Done: imported=${o}, updated=${a}, skipped=${i}, errors=${n.length}`),Response.json({imported:o,updated:a,skipped:i,errors:n,total:e.length})}catch(e){return console.error("[antigravity-tools/import] Import error:",e),Response.json({error:e.message},{status:500})}}e.s(["GET",0,_,"POST",0,E],74714);var O=e.i(74714);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/antigravity-tools/import/route",pathname:"/api/antigravity-tools/import",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/antigravity-tools/import/route.js",nextConfigOutput:"standalone",userland:O,...{}}),{workAsyncStorage:U,workUnitAsyncStorage:N,serverHooks:R}=S;async function F(e,t,o){o.requestMeta&&(0,a.setRequestMeta)(e,o.requestMeta),S.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/antigravity-tools/import/route";y=y.replace(/\/index$/,"")||"/";let k=await S.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!k)return t.statusCode=400,t.end("Bad Request"),null==o.waitUntil||o.waitUntil.call(o,Promise.resolve()),null;let{buildId:w,params:x,nextConfig:I,parsedUrl:b,isDraftMode:A,prerenderManifest:P,routerServerContext:C,isOnDemandRevalidate:T,revalidateOnlyGenerated:_,resolvedPathname:E,clientReferenceManifest:O,serverActionsManifest:U}=k,N=(0,s.normalizeAppPath)(y),R=!!(P.dynamicRoutes[N]||P.routes[E]),F=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,b,!1):t.end("This page could not be found"),null);if(R&&!A){let e=!!P.routes[E],t=P.dynamicRoutes[N];if(t&&!1===t.fallback&&!e){if(I.adapterPath)return await F();throw new g.NoFallbackError}}let D=null;!R||S.isDev||A||(D="/index"===(D=E)?"/":D);let $=!0===S.isDev||!R,j=R&&!$;U&&O&&(0,n.setManifestsSingleton)({page:y,clientReferenceManifest:O,serverActionsManifest:U});let B=e.method||"GET",q=(0,i.getTracer)(),G=q.getActiveScopeSpan(),M=!!(null==C?void 0:C.isWrappedByNextServer),z=!!(0,a.getRequestMeta)(e,"minimalMode"),K=(0,a.getRequestMeta)(e,"incrementalCache")||await S.getIncrementalCache(e,I,P,z);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let L={params:x,previewProps:P.preview,renderOpts:{experimental:{authInterrupts:!!I.experimental.authInterrupts},cacheComponents:!!I.cacheComponents,supportsDynamicResponse:$,incrementalCache:K,cacheLifeProfiles:I.cacheLife,waitUntil:o.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,o,a)=>S.onRequestError(e,t,o,a,C)},sharedContext:{buildId:w}},H=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),X=c.NextRequestAdapter.fromNodeNextRequest(H,(0,c.signalFromNodeResponse)(t));try{let a,n=async e=>S.handle(X,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=q.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==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 o=r.get("next.route");if(o){let t=`${B} ${o}`;e.setAttributes({"next.route":o,"http.route":o,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",o),a.updateName(t))}else e.updateName(`${B} ${y}`)}),s=async a=>{var i,s;let l=async({previousCacheEntry:r})=>{try{if(!z&&T&&_&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await n(a);e.fetchMetrics=L.renderOpts.fetchMetrics;let s=L.renderOpts.pendingWaitUntil;s&&o.waitUntil&&(o.waitUntil(s),s=void 0);let l=L.renderOpts.collectedTags;if(!R)return await (0,u.sendResponse)(H,V,i,L.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,o=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:o}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:T})},!1,C),t}},c=await S.handleResponse({req:e,nextConfig:I,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:P,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:_,responseGenerator:l,waitUntil:o.waitUntil,isMinimalMode:z});if(!R)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(s=c.value)?void 0:s.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});z||t.setHeader("x-nextjs-cache",T?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return z&&R||d.delete(f.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,m.getCacheControlHeader)(c.cacheControl)),await (0,u.sendResponse)(H,V,new Response(c.value.body,{headers:d,status:c.value.status||200})),null};M&&G?await s(G):(a=q.getActiveScopeSpan(),await q.withPropagatedContext(e.headers,()=>q.trace(d.BaseServerSpan.handleRequest,{spanName:`${B} ${y}`,kind:i.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},s),void 0,!M))}catch(t){if(t instanceof g.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:T})},!1,C),R)throw t;return await (0,u.sendResponse)(H,V,new Response(null,{status:500})),null}}e.s(["handler",0,F,"patchFetch",0,function(){return(0,o.patchFetch)({workAsyncStorage:U,workUnitAsyncStorage:N})},"routeModule",0,S,"serverHooks",0,R,"workAsyncStorage",0,U,"workUnitAsyncStorage",0,N],19208)},36498,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0kaoh2i._.js"].map(t=>e.l(t))).then(()=>t(21297)))},66510,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_0oa_fz9.js"].map(t=>e.l(t))).then(()=>t(28628)))},27349,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__10y-ljc._.js"].map(t=>e.l(t))).then(()=>t(13061)))}];
1
+ module.exports=[46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},18622,(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"))},56704,(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"))},32319,(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"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},93695,(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"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},57764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},22593,67059,21023,e=>{"use strict";e.s(["Low",0,class{adapter;data;constructor(e,t){!function(e,t){if(void 0===e)throw Error("lowdb: missing adapter");if(void 0===t)throw Error("lowdb: missing default data")}(e,t),this.adapter=e,this.data=t}async read(){let e=await this.adapter.read();e&&(this.data=e)}async write(){this.data&&await this.adapter.write(this.data)}async update(e){e(this.data),await this.write()}}],22593),e.i(2157);var t=e.i(12714),r=e.i(50227),o=e.i(57764);async function a(e,t,r){for(let o=0;o<t;o++)try{return await e()}catch(e){if(o<t-1)await new Promise(e=>setTimeout(e,r));else throw e}}class i{#e;#t;#r=!1;#o=null;#a=null;#i=null;#n=null;#s(e){return this.#n=e,this.#i||=new Promise((e,t)=>{this.#a=[e,t]}),new Promise((e,t)=>{this.#i?.then(e).catch(t)})}async #l(e){this.#r=!0;try{await (0,t.writeFile)(this.#t,e,"utf-8"),await a(async()=>{await (0,t.rename)(this.#t,this.#e)},10,100),this.#o?.[0]()}catch(e){throw e instanceof Error&&this.#o?.[1](e),e}finally{if(this.#r=!1,this.#o=this.#a,this.#a=this.#i=null,null!==this.#n){let e=this.#n;this.#n=null,await this.write(e)}}}constructor(e){this.#e=e,this.#t=function(e){let t=e instanceof URL?(0,o.fileURLToPath)(e):e.toString();return(0,r.join)((0,r.dirname)(t),`.${(0,r.basename)(t)}.tmp`)}(e)}async write(e){return this.#r?this.#s(e):this.#l(e)}}class n{#e;#c;constructor(e){this.#e=e,this.#c=new i(e)}async read(){let e;try{e=await (0,t.readFile)(this.#e,"utf-8")}catch(e){if("ENOENT"===e.code)return null;throw e}return e}write(e){return this.#c.write(e)}}class s{#d;#p;#u;constructor(e,{parse:t,stringify:r}){this.#d=new n(e),this.#p=t,this.#u=r}async read(){let e=await this.#d.read();return null===e?null:this.#p(e)}write(e){return this.#d.write(this.#u(e))}}e.s(["JSONFile",0,class extends s{constructor(e){super(e,{parse:JSON.parse,stringify:e=>JSON.stringify(e,null,2)})}}],67059),e.s([],21023)},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},88947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},12249,(e,t,r)=>{t.exports=e.x("constants",()=>require("constants"))},49719,(e,t,r)=>{t.exports=e.x("assert",()=>require("assert"))},69789,e=>{"use strict";e.i(26753),e.s([])},85063,e=>{"use strict";e.i(46786);let t={clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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",authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile","https://www.googleapis.com/auth/cclog","https://www.googleapis.com/auth/experimentsandconfigs"],apiEndpoint:"https://cloudcode-pa.googleapis.com",apiVersion:"v1internal",loadCodeAssistEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUserEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser",loadCodeAssistUserAgent:"google-api-nodejs-client/9.15.1",loadCodeAssistApiClient:"google-cloud-sdk vscode_cloudshelleditor/0.1",loadCodeAssistClientMetadata:JSON.stringify({ideType:"IDE_UNSPECIFIED",platform:"PLATFORM_UNSPECIFIED",pluginType:"GEMINI"})},r={clientId:process.env.KIMI_CODING_OAUTH_CLIENT_ID||"17e5f671-d194-4dfb-9706-5516cb48c098",deviceCodeUrl:"https://auth.kimi.com/api/oauth/device_authorization",tokenUrl:"https://auth.kimi.com/api/oauth/token"};e.s(["ANTIGRAVITY_CONFIG",0,t,"CLAUDE_CONFIG",0,{clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorizeUrl:"https://claude.ai/oauth/authorize",tokenUrl:"https://api.anthropic.com/v1/oauth/token",scopes:["org:create_api_key","user:profile","user:inference"],codeChallengeMethod:"S256"},"CLINE_CONFIG",0,{appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenExchangeUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},"CODEBUDDY_CONFIG",0,{baseUrl:"https://copilot.tencent.com",stateUrl:"https://copilot.tencent.com/v2/plugin/auth/state",tokenUrl:"https://copilot.tencent.com/v2/plugin/auth/token",refreshUrl:"https://copilot.tencent.com/v2/plugin/auth/token/refresh",userAgent:"CLI/2.63.2 CodeBuddy/2.63.2",platform:"CLI",pollInterval:5e3},"CODEX_CONFIG",0,{clientId:"app_EMoamEEZ73f0CkXaXp7hrann",authorizeUrl:"https://auth.openai.com/oauth/authorize",tokenUrl:"https://auth.openai.com/oauth/token",scope:"openid profile email offline_access",codeChallengeMethod:"S256",extraParams:{id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"}},"CURSOR_CONFIG",0,{apiEndpoint:"https://api2.cursor.sh",chatEndpoint:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",modelsEndpoint:"/aiserver.v1.AiService/GetDefaultModelNudgeData",api3Endpoint:"https://api3.cursor.sh",agentEndpoint:"https://agent.api5.cursor.sh",agentNonPrivacyEndpoint:"https://agentn.api5.cursor.sh",clientVersion:"0.48.6",clientType:"ide",tokenStoragePaths:{linux:"~/.config/Cursor/User/globalStorage/state.vscdb",macos:"/Users/<user>/Library/Application Support/Cursor/User/globalStorage/state.vscdb",windows:"%APPDATA%\\Cursor\\User\\globalStorage\\state.vscdb"},dbKeys:{accessToken:"cursorAuth/accessToken",machineId:"storage.serviceMachineId"}},"GEMINI_CONFIG",0,{clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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",authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile"]},"GITHUB_CONFIG",0,{clientId:"Iv1.b507a08c87ecfe98",deviceCodeUrl:"https://github.com/login/device/code",tokenUrl:"https://github.com/login/oauth/access_token",userInfoUrl:"https://api.github.com/user",scopes:"read:user",apiVersion:"2022-11-28",copilotTokenUrl:"https://api.github.com/copilot_internal/v2/token",userAgent:"GitHubCopilotChat/0.26.7",editorVersion:"vscode/1.85.0",editorPluginVersion:"copilot-chat/0.26.7"},"GITLAB_CONFIG",0,{defaultBaseUrl:"https://gitlab.com",authorizeUrlPath:"/oauth/authorize",tokenUrlPath:"/oauth/token",userInfoUrlPath:"/api/v4/user",scope:"api read_user",codeChallengeMethod:"S256"},"IFLOW_CONFIG",0,{clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",authorizeUrl:"https://iflow.cn/oauth",tokenUrl:"https://iflow.cn/oauth/token",userInfoUrl:"https://iflow.cn/api/oauth/getUserInfo",extraParams:{loginMethod:"phone",type:"phone"}},"KILOCODE_CONFIG",0,{apiBaseUrl:"https://api.kilo.ai",initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"},"KIMI_CODING_CONFIG",0,r,"KIRO_CONFIG",0,{ssoOidcEndpoint:"https://oidc.us-east-1.amazonaws.com",registerClientUrl:"https://oidc.us-east-1.amazonaws.com/client/register",deviceAuthUrl:"https://oidc.us-east-1.amazonaws.com/device_authorization",tokenUrl:"https://oidc.us-east-1.amazonaws.com/token",startUrl:"https://view.awsapps.com/start",clientName:"kiro-oauth-client",clientType:"public",scopes:["codewhisperer:completions","codewhisperer:analysis","codewhisperer:conversations"],grantTypes:["urn:ietf:params:oauth:grant-type:device_code","refresh_token"],issuerUrl:"https://identitycenter.amazonaws.com/ssoins-722374e8c3c8e6c6",socialAuthEndpoint:"https://prod.us-east-1.auth.desktop.kiro.dev",socialLoginUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/login",socialTokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/oauth/token",socialRefreshUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authMethods:["builder-id","idc","google","github","import"]},"QODER_CONFIG",0,{apiBaseUrl:"https://api2.qoder.sh",deviceTokenUrl:"https://api2.qoder.sh/api/v1/deviceToken/poll",deviceRefreshUrl:"https://api2.qoder.sh/api/v1/deviceToken/refresh",refreshUrl:"https://api2.qoder.sh/api/v3/user/refresh_token",userInfoUrl:"https://api2.qoder.sh/api/v1/userinfo",statusUrl:"https://api2.qoder.sh/api/v3/user/status",loginUrl:"https://qoder.com/login"},"QWEN_CONFIG",0,{clientId:"f0304373b74a44d2b584a3fb70ca9e56",deviceCodeUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",scope:"openid profile email model.completion",codeChallengeMethod:"S256"}])},88077,e=>{"use strict";let t={kiro:{id:"kiro",alias:"kr",name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35"},qwen:{id:"qwen",alias:"qw",name:"Qwen Code",icon:"psychology",color:"#10B981"},"gemini-cli":{id:"gemini-cli",alias:"gc",name:"Gemini CLI",icon:"terminal",color:"#4285F4",deprecated:!0,deprecationNotice:"Google has tightened Gemini CLI abuse detection and restricted Pro models to paid accounts (Mar 25, 2026). Using this provider may violate ToS and risk account bans."},iflow:{id:"iflow",alias:"if",name:"iFlow AI",icon:"water_drop",color:"#6366F1"}},r={openrouter:{id:"openrouter",alias:"openrouter",name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",passthroughModels:!0,website:"https://openrouter.ai",notice:{text:"Free tier: 27+ free models, no credit card needed, 200 req/day. After $10 credit: 1,000 req/day.",apiKeyUrl:"https://openrouter.ai/settings/keys"},modelsFetcher:{url:"https://openrouter.ai/api/v1/models",type:"openrouter-free"}},nvidia:{id:"nvidia",alias:"nvidia",name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://developer.nvidia.com/nim",notice:{text:"Free access for NVIDIA Developer Program members (prototyping & testing).",apiKeyUrl:"https://build.nvidia.com/settings/api-keys"}},ollama:{id:"ollama",alias:"ollama",name:"Ollama Cloud",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com",notice:{text:"Free tier: light usage, 1 cloud model at a time (limits reset every 5h & 7d). Pro $20/mo · Max $100/mo.",apiKeyUrl:"https://ollama.com/settings/keys"}},vertex:{id:"vertex",alias:"vx",name:"Vertex AI",icon:"cloud",color:"#4285F4",textIcon:"VX",website:"https://cloud.google.com/vertex-ai",notice:{text:"New Google Cloud accounts get $300 free credits. Requires GCP project + Service Account with Vertex AI API enabled.",apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}}},o={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",deprecated:!0,deprecationNotice:"Antigravity has tightened abuse detection and restricted model access. Using this provider may violate ToS and risk account bans."},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"},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"}},a={glm:{id:"glm",alias:"glm",name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn"},"glm-cn":{id:"glm-cn",alias:"glm-cn",name:"GLM (China)",icon:"code",color:"#DC2626",textIcon:"GC",website:"https://open.bigmodel.cn"},kimi:{id:"kimi",alias:"kimi",name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn"},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"},"alicode-intl":{id:"alicode-intl",alias:"alicode-intl",name:"Alibaba Intl",icon:"cloud",color:"#FF6A00",textIcon:"ALi"},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"},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://www.cerebras.ai"},cohere:{id:"cohere",alias:"cohere",name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com"},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"},chutes:{id:"chutes",alias:"ch",name:"Chutes AI",icon:"water_drop",color:"#ffffffff",textIcon:"CH",website:"https://chutes.ai"},"ollama-local":{id:"ollama-local",alias:"ollama-local",name:"Ollama Local",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com"},"vertex-partner":{id:"vertex-partner",alias:"vxp",name:"Vertex Partner",icon:"cloud",color:"#34A853",textIcon:"VP",website:"https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models"}},i="openai-compatible-",n="anthropic-compatible-",s={...t,...r,...o,...a};function l(e){for(let t of Object.values(s))if(t.alias===e||t.id===e)return t;return null}Object.values(s).reduce((e,t)=>(e[t.alias]=t.id,e),{}),Object.values(s).reduce((e,t)=>(e[t.id]=t.alias,e),{}),e.s(["AI_PROVIDERS",0,s,"ANTHROPIC_COMPATIBLE_PREFIX",0,n,"APIKEY_PROVIDERS",0,a,"FREE_PROVIDERS",0,t,"FREE_TIER_PROVIDERS",0,r,"OAUTH_PROVIDERS",0,o,"OPENAI_COMPATIBLE_PREFIX",0,i,"getProviderAlias",0,function(e){let t=s[e];return t?.alias||e},"getProviderByAlias",0,l,"isAnthropicCompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(n)},"isOpenAICompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(i)},"resolveProviderId",0,function(e){let t=l(e);return t?.id||e}])},12943,e=>{"use strict";e.s(["default",0,{name:"n9router",version:"0.3.91",description:"Self-hosted AI routing gateway — local proxy for Claude, Gemini, OpenAI and 40+ providers",keywords:["ai","llm","proxy","router","claude","openai","gemini","cursor"],homepage:"https://github.com/nightwalker89/n9router",repository:{type:"git",url:"https://github.com/nightwalker89/n9router.git"},config:{appName:"n9router"},license:"MIT",bin:{n9router:"./bin/n9router.js"},files:["bin/",".next/standalone/",".next/static/","public/"],scripts:{dev:"next dev --webpack --port 20128",build:"cross-env NODE_ENV=production next build",start:"cross-env NODE_ENV=production next start","dev:bun":"bun --bun next dev --webpack --port 20128","build:bun":"NODE_ENV=production bun --bun next build --webpack","start:bun":"NODE_ENV=production bun ./.next/standalone/server.js","publish:npm":"./scripts/publish-npm.sh","publish:npm:dry":"./scripts/publish-npm.sh --dry-run"},dependencies:{"@monaco-editor/react":"^4.7.0","@xyflow/react":"^12.10.1",bcryptjs:"^3.0.3",confbox:"^0.2.4",express:"^5.2.1",fs:"^0.0.1-security","http-proxy-middleware":"^3.0.5",jose:"^6.1.3",lowdb:"^7.0.1","monaco-editor":"^0.55.1",next:"^16.1.6","node-forge":"^1.3.3","node-machine-id":"^1.1.12",open:"^11.0.0",ora:"^9.1.0","proper-lockfile":"^4.1.2",react:"19.2.4","react-dom":"19.2.4","react-is":"^16.13.1",recharts:"^3.7.0",selfsigned:"^5.5.0","socks-proxy-agent":"^8.0.5","sql.js":"^1.14.1",undici:"^7.19.2",uuid:"^13.0.0",zustand:"^5.0.10"},optionalDependencies:{"better-sqlite3":"^12.6.2"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","cross-env":"^10.1.0",eslint:"^9","eslint-config-next":"16.1.6",postcss:"^8.5.6",tailwindcss:"^4"}}])},26406,e=>{"use strict";let t=e.i(12943).default.version||"0.0.0";e.s(["buildClineHeaders",0,function(e,r={}){let o,a=(o=function(e){if("string"!=typeof e)return"";let t=e.trim();return t?t.startsWith("workos:")?t:`workos:${t}`:""}(e))?`Bearer ${o}`:"",i={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","User-Agent":`9Router/${t}`,"X-PLATFORM":process.platform||"unknown","X-PLATFORM-VERSION":process.version||"unknown","X-CLIENT-TYPE":"9router","X-CLIENT-VERSION":t,"X-CORE-VERSION":t,"X-IS-MULTIROOT":"false",...r};return a&&(i.Authorization=a),i}])},1102,e=>{"use strict";e.i(69789);var t=e.i(26753);function r(e){return null==e?"":String(e).trim()}async function o(e={}){let a=r(e?.proxyPoolId),i="__none__"===a?"":a,n=function(e={}){let t=e?.connectionProxyEnabled===!0;return{connectionProxyEnabled:t,connectionProxyUrl:r(e?.connectionProxyUrl),connectionNoProxy:r(e?.connectionNoProxy)}}(e);if(i){let e=await (0,t.getProxyPoolById)(i),o=r(e?.proxyUrl),a=r(e?.noProxy);if(e&&!0===e.isActive&&o)return{source:"pool",proxyPoolId:i,proxyPool:e,connectionProxyEnabled:!0,connectionProxyUrl:o,connectionNoProxy:a,strictProxy:!0===e.strictProxy}}return n.connectionProxyEnabled&&n.connectionProxyUrl?{source:"legacy",proxyPoolId:i||null,proxyPool:null,...n}:{source:"none",proxyPoolId:i||null,proxyPool:null,...n}}e.s(["resolveConnectionProxyConfig",0,o])},78500,(e,t,r)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},60709,e=>{"use strict";var t=e.i(36689);function r(e){return null==e?"":String(e).trim()}async function o({proxyUrl:e,testUrl:a,timeoutMs:i}={}){let n,s=r(e);if(!s)return{ok:!1,status:400,error:"proxyUrl is required"};let l=r(a)||"https://google.com/",c=Number(i),d=Number.isFinite(c)&&c>0?Math.min(c,3e4):8e3;try{try{n=new t.ProxyAgent({uri:s})}catch(e){return{ok:!1,status:400,error:`Invalid proxy URL: ${e?.message||String(e)}`}}let e=new AbortController,r=Date.now(),o=setTimeout(()=>e.abort(),d);try{let o=await (0,t.fetch)(l,{method:"HEAD",dispatcher:n,signal:e.signal,headers:{"User-Agent":"9Router"}});return{ok:o.ok,status:o.status,statusText:o.statusText,url:l,elapsedMs:Date.now()-r}}catch(t){let e=t?.name==="AbortError"?"Proxy test timed out":function(e){if(!e)return"Unknown error";let t=e?.message||String(e),r=e?.cause?.code||e?.code,o=e?.cause?.message;return o&&o!==t?r?`${t}: ${o} (${r})`:`${t}: ${o}`:r&&!t.includes(r)?`${t} (${r})`:t}(t);return{ok:!1,status:500,error:e}}finally{clearTimeout(o)}}finally{try{await n?.close?.()}catch{}}}e.s(["testProxyUrl",0,o])},21122,e=>{"use strict";var t=e.i(26753),r=e.i(1102),o=e.i(60709),a=e.i(88077),i=e.i(20491),n=e.i(85063),s=e.i(26406);let l={claude:{checkExpiry:!0,refreshable:!0},codex:{url:"https://chatgpt.com/backend-api/codex/responses",method:"POST",authHeader:"Authorization",authPrefix:"Bearer ",extraHeaders:{"Content-Type":"application/json",originator:"codex-cli","User-Agent":"codex-cli/1.0.18 (macOS; arm64)"},body:JSON.stringify({model:"gpt-5.3-codex",input:[],stream:!1,store:!1}),acceptStatuses:[400],refreshable:!0},"gemini-cli":{url:"https://www.googleapis.com/oauth2/v1/userinfo?alt=json",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",refreshable:!0},antigravity:{url:"https://www.googleapis.com/oauth2/v1/userinfo?alt=json",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",refreshable:!0},github:{url:"https://api.github.com/user",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",extraHeaders:{"User-Agent":"9Router",Accept:"application/vnd.github+json"}},iflow:{buildUrl:e=>`https://iflow.cn/api/oauth/getUserInfo?accessToken=${encodeURIComponent(e)}`,method:"GET",noAuth:!0},qwen:{checkExpiry:!0,refreshable:!0},kiro:{checkExpiry:!0,refreshable:!0},"kimi-coding":{checkExpiry:!0,refreshable:!1},cursor:{tokenExists:!0},kilocode:{url:`${n.KILOCODE_CONFIG.apiBaseUrl}/api/profile`,method:"GET",authHeader:"Authorization",authPrefix:"Bearer "},cline:{refreshable:!0},gitlab:{url:"https://gitlab.com/api/v4/user",method:"GET",authHeader:"Authorization",authPrefix:"Bearer "},codebuddy:{tokenExists:!0}};async function c(e){return await fetch("https://api.cline.bot/api/v1/users/me",{method:"GET",headers:(0,s.buildClineHeaders)(e,{Accept:"application/json"})})}async function d(e){let t=e.provider,r=e.refreshToken;if(!r)return null;try{if("gemini-cli"===t||"antigravity"===t){let e="gemini-cli"===t?n.GEMINI_CONFIG:n.ANTIGRAVITY_CONFIG,o=await fetch("https://oauth2.googleapis.com/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({client_id:e.clientId,client_secret:e.clientSecret,grant_type:"refresh_token",refresh_token:r})});if(!o.ok)return null;let a=await o.json();return{accessToken:a.access_token,expiresIn:a.expires_in,refreshToken:a.refresh_token||r}}if("codex"===t){let e=await fetch(n.CODEX_CONFIG.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"refresh_token",client_id:n.CODEX_CONFIG.clientId,refresh_token:r})});if(!e.ok)return null;let t=await e.json();return{accessToken:t.access_token,expiresIn:t.expires_in,refreshToken:t.refresh_token||r}}if("claude"===t){let e=await fetch(n.CLAUDE_CONFIG.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"refresh_token",refresh_token:r,client_id:n.CLAUDE_CONFIG.clientId})});if(!e.ok)return null;let t=await e.json();return{accessToken:t.access_token,expiresIn:t.expires_in,refreshToken:t.refresh_token||r}}if("kiro"===t){let t=e.providerSpecificData||{},o=t.clientId||e.clientId,a=t.clientSecret||e.clientSecret,i=t.region||e.region;if(o&&a){let e=`https://oidc.${i||"us-east-1"}.amazonaws.com/token`,t=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({clientId:o,clientSecret:a,refreshToken:r,grantType:"refresh_token"})});if(!t.ok)return null;let n=await t.json();return{accessToken:n.accessToken,expiresIn:n.expiresIn||3600,refreshToken:n.refreshToken||r}}let s=await fetch(n.KIRO_CONFIG.socialRefreshUrl,{method:"POST",headers:{"Content-Type":"application/json","User-Agent":"kiro-cli/1.0.0"},body:JSON.stringify({refreshToken:r})});if(!s.ok)return null;let l=await s.json();return{accessToken:l.accessToken,expiresIn:l.expiresIn||3600,refreshToken:l.refreshToken||r}}if("qwen"===t){let e=await fetch(n.QWEN_CONFIG.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:r,client_id:n.QWEN_CONFIG.clientId})});if(!e.ok)return null;let t=await e.json();return{accessToken:t.access_token,expiresIn:t.expires_in,refreshToken:t.refresh_token||r}}if("cline"===t){let e=await fetch(n.CLINE_CONFIG.refreshUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:r,grantType:"refresh_token",clientType:"extension"})});if(!e.ok)return null;let t=await e.json(),o=t?.data||t,a=o?.expiresAt?Math.max(1,Math.floor((new Date(o.expiresAt).getTime()-Date.now())/1e3)):3600;return{accessToken:o?.accessToken,expiresIn:a,refreshToken:o?.refreshToken||r}}return null}catch(e){return console.log(`Error refreshing ${t} token:`,e.message),null}}async function p(e,t=null){var r;let o=l[e.provider];if(!o)return{valid:!1,error:"Provider test not supported",refreshed:!1};if(!e.accessToken)return{valid:!1,error:"No access token",refreshed:!1};if(o.tokenExists)return{valid:!0,error:null,refreshed:!1,newTokens:null};let a=e.accessToken,i=!1,n=null,s=!!(r=e).expiresAt&&new Date(r.expiresAt).getTime()<=Date.now()+3e5;if(o.refreshable&&s&&e.refreshToken){let t=await d(e);if(!t)return{valid:!1,error:"Token expired and refresh failed",refreshed:!1};a=t.accessToken,i=!0,n=t}if(o.checkExpiry)return i?{valid:!0,error:null,refreshed:i,newTokens:n}:s?{valid:!1,error:"Token expired",refreshed:!1}:{valid:!0,error:null,refreshed:!1,newTokens:null};if("cline"===e.provider){let t=async e=>{let t=await c(e);return t.ok?{valid:!0,error:null,refreshed:i,newTokens:n}:401===t.status?{valid:!1,error:"Token invalid or revoked",refreshed:i}:403===t.status?{valid:!1,error:"Access denied",refreshed:i}:{valid:!1,error:`API returned ${t.status}`,refreshed:i}},r=await t(a);if(r.valid||"Token invalid or revoked"!==r.error||!e.refreshToken)return r;let o=await d(e);return o?.accessToken?(i=!0,n=o,a=o.accessToken,await t(a)):{valid:!1,error:"Token invalid or revoked",refreshed:!1}}try{let r=o.buildUrl?o.buildUrl(a):o.url,s=o.noAuth?{...o.extraHeaders}:{[o.authHeader]:`${o.authPrefix}${a}`,...o.extraHeaders},l={method:o.method,headers:s};o.body&&(l.body=o.body);let c=await u(r,l,t);if(c.ok||o.acceptStatuses&&o.acceptStatuses.includes(c.status))return{valid:!0,error:null,refreshed:i,newTokens:n};if(401===c.status&&o.refreshable&&!i&&e.refreshToken){let a=await d(e);if(a){let e=o.buildUrl?o.buildUrl(a.accessToken):r,i=o.noAuth?{...o.extraHeaders}:{[o.authHeader]:`${o.authPrefix}${a.accessToken}`,...o.extraHeaders},n={method:o.method,headers:i};o.body&&(n.body=o.body);let s=await u(e,n,t);if(s.ok||o.acceptStatuses&&o.acceptStatuses.includes(s.status))return{valid:!0,error:null,refreshed:!0,newTokens:a}}return{valid:!1,error:"Token invalid or revoked",refreshed:!1}}if(401===c.status)return{valid:!1,error:"Token invalid or revoked",refreshed:i};if(403===c.status)return{valid:!1,error:"Access denied",refreshed:i};return{valid:!1,error:`API returned ${c.status}`,refreshed:i}}catch(e){return{valid:!1,error:e.message,refreshed:i}}}async function u(t,r={},o=null){if(!o?.connectionProxyEnabled||!o?.connectionProxyUrl)return fetch(t,r);let{proxyAwareFetch:a}=await e.A(27349);return a(t,r,{connectionProxyEnabled:!0,connectionProxyUrl:o.connectionProxyUrl,connectionNoProxy:o.connectionNoProxy||""})}async function h(e,t=null){if((0,a.isOpenAICompatibleProvider)(e.provider)){let r=e.providerSpecificData?.baseUrl;if(!r)return{valid:!1,error:"Missing base URL"};try{let o=await u(`${r.replace(/\/$/,"")}/models`,{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:o.ok,error:o.ok?null:"Invalid API key or base URL"}}catch(e){return{valid:!1,error:e.message}}}if((0,a.isAnthropicCompatibleProvider)(e.provider)){let r=e.providerSpecificData?.baseUrl;if(!r)return{valid:!1,error:"Missing base URL"};try{(r=r.replace(/\/$/,"")).endsWith("/messages")&&(r=r.slice(0,-9));let o=await u(`${r}/models`,{headers:{"x-api-key":e.apiKey,"anthropic-version":"2023-06-01",Authorization:`Bearer ${e.apiKey}`}},t);return{valid:o.ok,error:o.ok?null:"Invalid API key or base URL"}}catch(e){return{valid:!1,error:e.message}}}try{switch(e.provider){case"openai":{let r=await u("https://api.openai.com/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"anthropic":{let r=await u("https://api.anthropic.com/v1/messages",{method:"POST",headers:{"x-api-key":e.apiKey,"anthropic-version":"2023-06-01","content-type":"application/json"},body:JSON.stringify({model:"claude-3-haiku-20240307",max_tokens:1,messages:[{role:"user",content:"test"}]})},t),o=401!==r.status;return{valid:o,error:o?null:"Invalid API key"}}case"gemini":{let r=await u(`https://generativelanguage.googleapis.com/v1/models?key=${e.apiKey}`,{},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"openrouter":{let r=await u("https://openrouter.ai/api/v1/auth/key",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"glm":{let r=await u("https://api.z.ai/api/anthropic/v1/messages",{method:"POST",headers:{"x-api-key":e.apiKey,"anthropic-version":"2023-06-01","content-type":"application/json"},body:JSON.stringify({model:"glm-4.7",max_tokens:1,messages:[{role:"user",content:"test"}]})},t),o=401!==r.status&&403!==r.status;return{valid:o,error:o?null:"Invalid API key"}}case"glm-cn":{let r=await u("https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",{method:"POST",headers:{Authorization:`Bearer ${e.apiKey}`,"content-type":"application/json"},body:JSON.stringify({model:"glm-4.7",max_tokens:1,messages:[{role:"user",content:"test"}]})},t),o=401!==r.status&&403!==r.status;return{valid:o,error:o?null:"Invalid API key"}}case"minimax":case"minimax-cn":{let r=await u({minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages"}[e.provider],{method:"POST",headers:{"x-api-key":e.apiKey,"anthropic-version":"2023-06-01","content-type":"application/json"},body:JSON.stringify({model:"minimax-m2",max_tokens:1,messages:[{role:"user",content:"test"}]})},t),o=401!==r.status&&403!==r.status;return{valid:o,error:o?null:"Invalid API key"}}case"kimi":{let r=await u("https://api.kimi.com/coding/v1/messages",{method:"POST",headers:{"x-api-key":e.apiKey,"anthropic-version":"2023-06-01","content-type":"application/json"},body:JSON.stringify({model:"kimi-latest",max_tokens:1,messages:[{role:"user",content:"test"}]})},t),o=401!==r.status&&403!==r.status;return{valid:o,error:o?null:"Invalid API key"}}case"alicode":case"alicode-intl":{let r="alicode-intl"===e.provider?"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions":"https://coding.dashscope.aliyuncs.com/v1/chat/completions",o=await u(r,{method:"POST",headers:{Authorization:`Bearer ${e.apiKey}`,"content-type":"application/json"},body:JSON.stringify({model:(0,i.getDefaultModel)(e.provider),max_tokens:1,messages:[{role:"user",content:"test"}]})},t),a=401!==o.status&&403!==o.status;return{valid:a,error:a?null:"Invalid API key"}}case"deepseek":{let r=await u("https://api.deepseek.com/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"groq":{let r=await u("https://api.groq.com/openai/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"mistral":{let r=await u("https://api.mistral.ai/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"xai":{let r=await u("https://api.x.ai/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"nvidia":{let r=await u("https://integrate.api.nvidia.com/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"perplexity":{let r=await u("https://api.perplexity.ai/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"together":{let r=await u("https://api.together.xyz/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"fireworks":{let r=await u("https://api.fireworks.ai/inference/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"cerebras":{let r=await u("https://api.cerebras.ai/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"cohere":{let r=await u("https://api.cohere.ai/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"nebius":{let r=await u("https://api.studio.nebius.ai/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"siliconflow":{let r=await u("https://api.siliconflow.cn/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"hyperbolic":{let r=await u("https://api.hyperbolic.xyz/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"ollama":{let t=await fetch("https://ollama.com/api/tags",{headers:{Authorization:`Bearer ${e.apiKey}`}});return{valid:t.ok,error:t.ok?null:"Invalid API key"}}case"ollama-local":{let e=await fetch("http://localhost:11434/api/tags");return{valid:e.ok,error:e.ok?null:"Ollama not running on localhost:11434"}}case"deepgram":{let r=await u("https://api.deepgram.com/v1/projects",{headers:{Authorization:`Token ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"assemblyai":{let r=await u("https://api.assemblyai.com/v1/account",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"nanobanana":{let r=await u("https://api.nanobananaapi.ai/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}case"chutes":{let r=await u("https://llm.chutes.ai/v1/models",{headers:{Authorization:`Bearer ${e.apiKey}`}},t);return{valid:r.ok,error:r.ok?null:"Invalid API key"}}default:return{valid:!1,error:"Provider test not supported"}}}catch(e){return{valid:!1,error:e.message}}}async function m(e){let a,i=await (0,t.getProviderConnectionById)(e);if(!i)return{valid:!1,error:"Connection not found",latencyMs:0,testedAt:new Date().toISOString()};let n=await (0,r.resolveConnectionProxyConfig)(i.providerSpecificData||{});if(n.connectionProxyEnabled&&n.connectionProxyUrl){let r=await (0,o.testProxyUrl)({proxyUrl:n.connectionProxyUrl});if(!r.ok){let o=r.error||`Proxy test failed with status ${r.status}`;return await (0,t.updateProviderConnection)(e,{testStatus:"error",lastError:o,lastErrorAt:new Date().toISOString()}),{valid:!1,error:o,latencyMs:0,testedAt:new Date().toISOString()}}}let s=Date.now();a="apikey"===i.authType?await h(i,n):await p(i,n);let l=Date.now()-s,c={testStatus:a.valid?"active":"error",lastError:a.valid?null:a.error,lastErrorAt:a.valid?null:new Date().toISOString()};return a.refreshed&&a.newTokens&&(c.accessToken=a.newTokens.accessToken,a.newTokens.refreshToken&&(c.refreshToken=a.newTokens.refreshToken),a.newTokens.expiresIn&&(c.expiresAt=new Date(Date.now()+1e3*a.newTokens.expiresIn).toISOString())),await (0,t.updateProviderConnection)(e,c),{valid:a.valid,error:a.error,latencyMs:l,testedAt:new Date().toISOString()}}e.s(["testSingleConnection",0,m])},19208,e=>{"use strict";var t=e.i(47909),r=e.i(74017),o=e.i(96250),a=e.i(59756),i=e.i(61916),n=e.i(74677),s=e.i(69741),l=e.i(16795),c=e.i(87718),d=e.i(95169),p=e.i(47587),u=e.i(66012),h=e.i(70101),m=e.i(26937),f=e.i(10372),g=e.i(93695);e.i(20232);var v=e.i(220),y=e.i(22734),k=e.i(14747),w=e.i(46786),x=e.i(26753),I=e.i(21122);let b=k.default.join(w.default.homedir(),".antigravity_tools"),A=k.default.join(b,"accounts.json"),P=k.default.join(b,"accounts");function C(){return y.default.existsSync(A)&&JSON.parse(y.default.readFileSync(A,"utf-8")).accounts||[]}function T(e){let t=k.default.join(P,`${e}.json`);return y.default.existsSync(t)?JSON.parse(y.default.readFileSync(t,"utf-8")):null}async function _(){try{if(!y.default.existsSync(b))return Response.json({error:"~/.antigravity_tools not found",accounts:[]},{status:404});let e=C(),t=await (0,x.getProviderConnections)({provider:"antigravity"}),r=new Set(t.map(e=>e.email)),o=e.map(e=>{let t=T(e.id);return{id:e.id,email:e.email,name:e.name,disabled:e.disabled,hasToken:!!t?.token?.access_token,hasRefreshToken:!!t?.token?.refresh_token,isNew:!r.has(e.email)}});return Response.json({accounts:o,total:o.length})}catch(e){return console.error("[antigravity-tools/import] Preview error:",e),Response.json({error:e.message},{status:500})}}async function E(){try{if(!y.default.existsSync(b))return Response.json({error:"~/.antigravity_tools not found"},{status:404});let e=C(),t=await (0,x.getProviderConnections)({provider:"antigravity"}),r=new Set(t.map(e=>e.email)),o=0,a=0,i=0,n=[];for(let t of e)try{if(t.disabled){i++;continue}let e=T(t.id);if(!e?.token?.access_token){i++;continue}let n=e.token,s=null;n.expiry_timestamp?s=new Date(1e3*n.expiry_timestamp).toISOString():n.expires_in&&(s=new Date(Date.now()+1e3*n.expires_in).toISOString());let l={provider:"antigravity",authType:"oauth",email:t.email||n.email,name:t.name||t.email,accessToken:n.access_token,refreshToken:n.refresh_token||null,expiresAt:s,projectId:n.project_id||null,isActive:!0},c=r.has(l.email),d=await (0,x.createProviderConnection)(l);try{let e=await (0,I.testSingleConnection)(d.id);console.log(`[antigravity-tools/import] Tested ${l.email}: ${e.valid?"active":"error"} (${e.latencyMs}ms)`)}catch(e){console.log(`[antigravity-tools/import] Test failed for ${l.email}: ${e.message}`)}c?a++:(o++,r.add(l.email))}catch(e){n.push({email:t.email,error:e.message})}return console.log(`[antigravity-tools/import] Done: imported=${o}, updated=${a}, skipped=${i}, errors=${n.length}`),Response.json({imported:o,updated:a,skipped:i,errors:n,total:e.length})}catch(e){return console.error("[antigravity-tools/import] Import error:",e),Response.json({error:e.message},{status:500})}}e.s(["GET",0,_,"POST",0,E],74714);var O=e.i(74714);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/antigravity-tools/import/route",pathname:"/api/antigravity-tools/import",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/antigravity-tools/import/route.js",nextConfigOutput:"standalone",userland:O,...{}}),{workAsyncStorage:U,workUnitAsyncStorage:N,serverHooks:R}=S;async function F(e,t,o){o.requestMeta&&(0,a.setRequestMeta)(e,o.requestMeta),S.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/antigravity-tools/import/route";y=y.replace(/\/index$/,"")||"/";let k=await S.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!k)return t.statusCode=400,t.end("Bad Request"),null==o.waitUntil||o.waitUntil.call(o,Promise.resolve()),null;let{buildId:w,params:x,nextConfig:I,parsedUrl:b,isDraftMode:A,prerenderManifest:P,routerServerContext:C,isOnDemandRevalidate:T,revalidateOnlyGenerated:_,resolvedPathname:E,clientReferenceManifest:O,serverActionsManifest:U}=k,N=(0,s.normalizeAppPath)(y),R=!!(P.dynamicRoutes[N]||P.routes[E]),F=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,b,!1):t.end("This page could not be found"),null);if(R&&!A){let e=!!P.routes[E],t=P.dynamicRoutes[N];if(t&&!1===t.fallback&&!e){if(I.adapterPath)return await F();throw new g.NoFallbackError}}let D=null;!R||S.isDev||A||(D="/index"===(D=E)?"/":D);let $=!0===S.isDev||!R,j=R&&!$;U&&O&&(0,n.setManifestsSingleton)({page:y,clientReferenceManifest:O,serverActionsManifest:U});let B=e.method||"GET",q=(0,i.getTracer)(),G=q.getActiveScopeSpan(),M=!!(null==C?void 0:C.isWrappedByNextServer),z=!!(0,a.getRequestMeta)(e,"minimalMode"),K=(0,a.getRequestMeta)(e,"incrementalCache")||await S.getIncrementalCache(e,I,P,z);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let L={params:x,previewProps:P.preview,renderOpts:{experimental:{authInterrupts:!!I.experimental.authInterrupts},cacheComponents:!!I.cacheComponents,supportsDynamicResponse:$,incrementalCache:K,cacheLifeProfiles:I.cacheLife,waitUntil:o.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,o,a)=>S.onRequestError(e,t,o,a,C)},sharedContext:{buildId:w}},H=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),X=c.NextRequestAdapter.fromNodeNextRequest(H,(0,c.signalFromNodeResponse)(t));try{let a,n=async e=>S.handle(X,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=q.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==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 o=r.get("next.route");if(o){let t=`${B} ${o}`;e.setAttributes({"next.route":o,"http.route":o,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",o),a.updateName(t))}else e.updateName(`${B} ${y}`)}),s=async a=>{var i,s;let l=async({previousCacheEntry:r})=>{try{if(!z&&T&&_&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await n(a);e.fetchMetrics=L.renderOpts.fetchMetrics;let s=L.renderOpts.pendingWaitUntil;s&&o.waitUntil&&(o.waitUntil(s),s=void 0);let l=L.renderOpts.collectedTags;if(!R)return await (0,u.sendResponse)(H,V,i,L.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,o=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:o}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:T})},!1,C),t}},c=await S.handleResponse({req:e,nextConfig:I,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:P,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:_,responseGenerator:l,waitUntil:o.waitUntil,isMinimalMode:z});if(!R)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(s=c.value)?void 0:s.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});z||t.setHeader("x-nextjs-cache",T?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return z&&R||d.delete(f.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,m.getCacheControlHeader)(c.cacheControl)),await (0,u.sendResponse)(H,V,new Response(c.value.body,{headers:d,status:c.value.status||200})),null};M&&G?await s(G):(a=q.getActiveScopeSpan(),await q.withPropagatedContext(e.headers,()=>q.trace(d.BaseServerSpan.handleRequest,{spanName:`${B} ${y}`,kind:i.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},s),void 0,!M))}catch(t){if(t instanceof g.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:T})},!1,C),R)throw t;return await (0,u.sendResponse)(H,V,new Response(null,{status:500})),null}}e.s(["handler",0,F,"patchFetch",0,function(){return(0,o.patchFetch)({workAsyncStorage:U,workUnitAsyncStorage:N})},"routeModule",0,S,"serverHooks",0,R,"workAsyncStorage",0,U,"workUnitAsyncStorage",0,N],19208)},36498,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0kaoh2i._.js"].map(t=>e.l(t))).then(()=>t(21297)))},66510,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_0oa_fz9.js"].map(t=>e.l(t))).then(()=>t(28628)))},27349,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__10y-ljc._.js"].map(t=>e.l(t))).then(()=>t(13061)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__0uw3x8s._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(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"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},57764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},22593,67059,21023,e=>{"use strict";e.s(["Low",0,class{adapter;data;constructor(e,t){!function(e,t){if(void 0===e)throw Error("lowdb: missing adapter");if(void 0===t)throw Error("lowdb: missing default data")}(e,t),this.adapter=e,this.data=t}async read(){let e=await this.adapter.read();e&&(this.data=e)}async write(){this.data&&await this.adapter.write(this.data)}async update(e){e(this.data),await this.write()}}],22593),e.i(2157);var t=e.i(12714),r=e.i(50227),a=e.i(57764);async function s(e,t,r){for(let a=0;a<t;a++)try{return await e()}catch(e){if(a<t-1)await new Promise(e=>setTimeout(e,r));else throw e}}class n{#e;#t;#r=!1;#a=null;#s=null;#n=null;#i=null;#o(e){return this.#i=e,this.#n||=new Promise((e,t)=>{this.#s=[e,t]}),new Promise((e,t)=>{this.#n?.then(e).catch(t)})}async #l(e){this.#r=!0;try{await (0,t.writeFile)(this.#t,e,"utf-8"),await s(async()=>{await (0,t.rename)(this.#t,this.#e)},10,100),this.#a?.[0]()}catch(e){throw e instanceof Error&&this.#a?.[1](e),e}finally{if(this.#r=!1,this.#a=this.#s,this.#s=this.#n=null,null!==this.#i){let e=this.#i;this.#i=null,await this.write(e)}}}constructor(e){this.#e=e,this.#t=function(e){let t=e instanceof URL?(0,a.fileURLToPath)(e):e.toString();return(0,r.join)((0,r.dirname)(t),`.${(0,r.basename)(t)}.tmp`)}(e)}async write(e){return this.#r?this.#o(e):this.#l(e)}}class i{#e;#d;constructor(e){this.#e=e,this.#d=new n(e)}async read(){let e;try{e=await (0,t.readFile)(this.#e,"utf-8")}catch(e){if("ENOENT"===e.code)return null;throw e}return e}write(e){return this.#d.write(e)}}class o{#u;#c;#p;constructor(e,{parse:t,stringify:r}){this.#u=new i(e),this.#c=t,this.#p=r}async read(){let e=await this.#u.read();return null===e?null:this.#c(e)}write(e){return this.#u.write(this.#p(e))}}e.s(["JSONFile",0,class extends o{constructor(e){super(e,{parse:JSON.parse,stringify:e=>JSON.stringify(e,null,2)})}}],67059),e.s([],21023)},92509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},33703,e=>{"use strict";var t=e.i(22593);e.i(21023);var r=e.i(67059),a=e.i(50227),s=e.i(60526),n=e.i(2157);let i="u">typeof caches&&"object"==typeof caches,o=function(){if(i)return"/tmp";if(process.env.DATA_DIR)return process.env.DATA_DIR;process.platform;let e=s.default.homedir();return a.default.join(e,".n9router")}(),l=i?null:a.default.join(o,"request-details.json");i||n.default.existsSync(o)||n.default.mkdirSync(o,{recursive:!0});let d=null;async function u(){if(i)return null;if(!d){let e=new r.JSONFile(l),a=new t.Low(e,{records:[]});await a.read(),a.data?.records||(a.data={records:[]}),d=a}return d}let c=null,p=0;async function h(){if(c&&Date.now()-p<5e3)return c;try{let{getSettings:t}=await e.A(62724),r=await t(),a="false"!==process.env.OBSERVABILITY_ENABLED;c={enabled:"boolean"==typeof r.enableObservability?r.enableObservability:a,maxRecords:r.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:r.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:r.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(r.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{c={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return p=Date.now(),c}let f=[],x=null,m=!1;async function w(){if(!i&&!m&&0!==f.length){m=!0;try{let e=[...f];f=[];let t=await u(),r=await h();for(let a of e){a.id||(a.id=function(e){let t=new Date().toISOString(),r=Math.random().toString(36).substring(2,8),a=e?e.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${t}-${r}-${a}`}(a.model)),a.timestamp||(a.timestamp=new Date().toISOString()),a.request?.headers&&(a.request.headers=function(e){if(!e||"object"!=typeof e)return{};let t=["authorization","x-api-key","cookie","token","api-key"],r={...e};for(let e of Object.keys(r))t.some(t=>e.toLowerCase().includes(t))&&delete r[e];return r}(a.request.headers));let e={id:a.id,provider:a.provider||null,model:a.model||null,connectionId:a.connectionId||null,timestamp:a.timestamp,status:a.status||null,latency:a.latency||{},tokens:a.tokens||{},request:a.request||{},providerRequest:a.providerRequest||{},providerResponse:a.providerResponse||{},response:a.response||{}},s=r.maxJsonSize;for(let t of["request","providerRequest","providerResponse","response"]){let r=JSON.stringify(e[t]);r.length>s&&(e[t]={_truncated:!0,_originalSize:r.length,_preview:r.substring(0,200)})}let n=t.data.records.findIndex(t=>t.id===e.id);-1!==n?t.data.records[n]=e:t.data.records.push(e)}for(t.data.records.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp)),t.data.records.length>r.maxRecords&&(t.data.records=t.data.records.slice(0,r.maxRecords));t.data.records.length>1&&!(0x3200000>=Buffer.byteLength(JSON.stringify(t.data),"utf8"));)t.data.records=t.data.records.slice(0,Math.floor(t.data.records.length/2));await t.write()}catch(e){console.error("[requestDetailsDb] Batch write failed:",e)}finally{m=!1}}}async function v(e){if(i)return;let t=await h();t.enabled&&(f.push(e),f.length>=t.batchSize?(await w(),x&&(clearTimeout(x),x=null)):x||(x=setTimeout(()=>{w().catch(()=>{}),x=null},t.flushIntervalMs)))}async function g(e={}){if(i)return{details:[],pagination:{page:1,pageSize:50,totalItems:0,totalPages:0,hasNext:!1,hasPrev:!1}};let t=[...(await u()).data.records];e.provider&&(t=t.filter(t=>t.provider===e.provider)),e.model&&(t=t.filter(t=>t.model===e.model)),e.connectionId&&(t=t.filter(t=>t.connectionId===e.connectionId)),e.status&&(t=t.filter(t=>t.status===e.status)),e.startDate&&(t=t.filter(t=>new Date(t.timestamp)>=new Date(e.startDate))),e.endDate&&(t=t.filter(t=>new Date(t.timestamp)<=new Date(e.endDate))),t.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp));let r=t.length,a=e.page||1,s=e.pageSize||50,n=Math.ceil(r/s);return{details:t.slice((a-1)*s,a*s),pagination:{page:a,pageSize:s,totalItems:r,totalPages:n,hasNext:a<n,hasPrev:a>1}}}let R=async()=>{x&&(clearTimeout(x),x=null),f.length>0&&await w()};i||(process.off("beforeExit",R),process.off("SIGINT",R),process.off("SIGTERM",R),process.off("exit",R),process.on("beforeExit",R),process.on("SIGINT",R),process.on("SIGTERM",R),process.on("exit",R)),e.s(["getRequestDetails",0,g,"saveRequestDetail",0,v])},31984,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),s=e.i(59756),n=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),f=e.i(26937),x=e.i(10372),m=e.i(93695);e.i(20232);var w=e.i(220),v=e.i(89171),g=e.i(48582);let R=new Set(["24h","7d","30d","60d"]);async function y(e){try{let{searchParams:t}=new URL(e.url),r=t.get("period")||"7d";if(!R.has(r))return v.NextResponse.json({error:"Invalid period"},{status:400});let a=await (0,g.getChartData)(r);return v.NextResponse.json(a)}catch(e){return console.error("[API] Failed to get chart data:",e),v.NextResponse.json({error:"Failed to fetch chart data"},{status:500})}}e.s(["GET",0,y],91117);var S=e.i(91117);let b=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/usage/chart/route",pathname:"/api/usage/chart",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/usage/chart/route.js",nextConfigOutput:"standalone",userland:S,...{}}),{workAsyncStorage:E,workUnitAsyncStorage:I,serverHooks:A}=b;async function q(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),b.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/usage/chart/route";v=v.replace(/\/index$/,"")||"/";let g=await b.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:y,nextConfig:S,parsedUrl:E,isDraftMode:I,prerenderManifest:A,routerServerContext:q,isOnDemandRevalidate:D,revalidateOnlyGenerated:T,resolvedPathname:N,clientReferenceManifest:_,serverActionsManifest:C}=g,O=(0,o.normalizeAppPath)(v),P=!!(A.dynamicRoutes[O]||A.routes[N]),k=async()=>((null==q?void 0:q.render404)?await q.render404(e,t,E,!1):t.end("This page could not be found"),null);if(P&&!I){let e=!!A.routes[N],t=A.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(S.adapterPath)return await k();throw new m.NoFallbackError}}let j=null;!P||b.isDev||I||(j="/index"===(j=N)?"/":j);let M=!0===b.isDev||!P,B=P&&!M;C&&_&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:_,serverActionsManifest:C});let F=e.method||"GET",L=(0,n.getTracer)(),U=L.getActiveScopeSpan(),H=!!(null==q?void 0:q.isWrappedByNextServer),z=!!(0,s.getRequestMeta)(e,"minimalMode"),$=(0,s.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,S,A,z);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let J={params:y,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts},cacheComponents:!!S.cacheComponents,supportsDynamicResponse:M,incrementalCache:$,cacheLifeProfiles:S.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>b.onRequestError(e,t,a,s,q)},sharedContext:{buildId:R}},V=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),K=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let s,i=async e=>b.handle(K,J).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${F} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${F} ${v}`)}),o=async s=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!z&&D&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=J.renderOpts.fetchMetrics;let o=J.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=J.renderOpts.collectedTags;if(!P)return await (0,p.sendResponse)(V,G,n,J.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[x.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,a=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:J.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:D})},!1,q),t}},d=await b.handleResponse({req:e,nextConfig:S,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:z});if(!P)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});z||t.setHeader("x-nextjs-cache",D?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),I&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return z&&P||u.delete(x.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(V,G,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};H&&U?await o(U):(s=L.getActiveScopeSpan(),await L.withPropagatedContext(e.headers,()=>L.trace(u.BaseServerSpan.handleRequest,{spanName:`${F} ${v}`,kind:n.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},o),void 0,!H))}catch(t){if(t instanceof m.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:D})},!1,q),P)throw t;return await (0,p.sendResponse)(V,G,new Response(null,{status:500})),null}}e.s(["handler",0,q,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:I})},"routeModule",0,b,"serverHooks",0,A,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,I],31984)},62724,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0ec91ym._.js","server/chunks/_0amvca6._.js"].map(t=>e.l(t))).then(()=>t(26753)))}];
1
+ module.exports=[46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(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"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},57764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},22593,67059,21023,e=>{"use strict";e.s(["Low",0,class{adapter;data;constructor(e,t){!function(e,t){if(void 0===e)throw Error("lowdb: missing adapter");if(void 0===t)throw Error("lowdb: missing default data")}(e,t),this.adapter=e,this.data=t}async read(){let e=await this.adapter.read();e&&(this.data=e)}async write(){this.data&&await this.adapter.write(this.data)}async update(e){e(this.data),await this.write()}}],22593),e.i(2157);var t=e.i(12714),r=e.i(50227),a=e.i(57764);async function s(e,t,r){for(let a=0;a<t;a++)try{return await e()}catch(e){if(a<t-1)await new Promise(e=>setTimeout(e,r));else throw e}}class n{#e;#t;#r=!1;#a=null;#s=null;#n=null;#i=null;#o(e){return this.#i=e,this.#n||=new Promise((e,t)=>{this.#s=[e,t]}),new Promise((e,t)=>{this.#n?.then(e).catch(t)})}async #l(e){this.#r=!0;try{await (0,t.writeFile)(this.#t,e,"utf-8"),await s(async()=>{await (0,t.rename)(this.#t,this.#e)},10,100),this.#a?.[0]()}catch(e){throw e instanceof Error&&this.#a?.[1](e),e}finally{if(this.#r=!1,this.#a=this.#s,this.#s=this.#n=null,null!==this.#i){let e=this.#i;this.#i=null,await this.write(e)}}}constructor(e){this.#e=e,this.#t=function(e){let t=e instanceof URL?(0,a.fileURLToPath)(e):e.toString();return(0,r.join)((0,r.dirname)(t),`.${(0,r.basename)(t)}.tmp`)}(e)}async write(e){return this.#r?this.#o(e):this.#l(e)}}class i{#e;#d;constructor(e){this.#e=e,this.#d=new n(e)}async read(){let e;try{e=await (0,t.readFile)(this.#e,"utf-8")}catch(e){if("ENOENT"===e.code)return null;throw e}return e}write(e){return this.#d.write(e)}}class o{#u;#c;#p;constructor(e,{parse:t,stringify:r}){this.#u=new i(e),this.#c=t,this.#p=r}async read(){let e=await this.#u.read();return null===e?null:this.#c(e)}write(e){return this.#u.write(this.#p(e))}}e.s(["JSONFile",0,class extends o{constructor(e){super(e,{parse:JSON.parse,stringify:e=>JSON.stringify(e,null,2)})}}],67059),e.s([],21023)},92509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},33703,e=>{"use strict";var t=e.i(22593);e.i(21023);var r=e.i(67059),a=e.i(50227),s=e.i(60526),n=e.i(2157);let i="u">typeof caches&&"object"==typeof caches,o=function(){if(i)return"/tmp";if(process.env.DATA_DIR)return process.env.DATA_DIR;process.platform;let e=s.default.homedir();return a.default.join(e,".n9router")}(),l=i?null:a.default.join(o,"request-details.json");i||n.default.existsSync(o)||n.default.mkdirSync(o,{recursive:!0});let d=null;async function u(){if(i)return null;if(!d){let e=new r.JSONFile(l),a=new t.Low(e,{records:[]});await a.read(),a.data?.records||(a.data={records:[]}),d=a}return d}let c=null,p=0;async function h(){if(c&&Date.now()-p<5e3)return c;try{let{getSettings:t}=await e.A(62724),r=await t(),a="false"!==process.env.OBSERVABILITY_ENABLED;c={enabled:"boolean"==typeof r.enableObservability?r.enableObservability:a,maxRecords:r.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:r.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:r.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(r.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{c={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return p=Date.now(),c}let f=[],x=null,m=!1;async function w(){if(!i&&!m&&0!==f.length){m=!0;try{let e=[...f];f=[];let t=await u(),r=await h();for(let a of e){a.id||(a.id=function(e){let t=new Date().toISOString(),r=Math.random().toString(36).substring(2,8),a=e?e.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${t}-${r}-${a}`}(a.model)),a.timestamp||(a.timestamp=new Date().toISOString()),a.request?.headers&&(a.request.headers=function(e){if(!e||"object"!=typeof e)return{};let t=["authorization","x-api-key","cookie","token","api-key"],r={...e};for(let e of Object.keys(r))t.some(t=>e.toLowerCase().includes(t))&&delete r[e];return r}(a.request.headers));let e={id:a.id,provider:a.provider||null,model:a.model||null,connectionId:a.connectionId||null,timestamp:a.timestamp,status:a.status||null,latency:a.latency||{},tokens:a.tokens||{},request:a.request||{},providerRequest:a.providerRequest||{},providerResponse:a.providerResponse||{},response:a.response||{}},s=r.maxJsonSize;for(let t of["request","providerRequest","providerResponse","response"]){let r=JSON.stringify(e[t]);r.length>s&&(e[t]={_truncated:!0,_originalSize:r.length,_preview:r.substring(0,200)})}let n=t.data.records.findIndex(t=>t.id===e.id);-1!==n?t.data.records[n]=e:t.data.records.push(e)}for(t.data.records.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp)),t.data.records.length>r.maxRecords&&(t.data.records=t.data.records.slice(0,r.maxRecords));t.data.records.length>1&&!(0x3200000>=Buffer.byteLength(JSON.stringify(t.data),"utf8"));)t.data.records=t.data.records.slice(0,Math.floor(t.data.records.length/2));await t.write()}catch(e){console.error("[requestDetailsDb] Batch write failed:",e)}finally{m=!1}}}async function v(e){if(i)return;let t=await h();t.enabled&&(f.push(e),f.length>=t.batchSize?(await w(),x&&(clearTimeout(x),x=null)):x||(x=setTimeout(()=>{w().catch(()=>{}),x=null},t.flushIntervalMs)))}async function g(e={}){if(i)return{details:[],pagination:{page:1,pageSize:50,totalItems:0,totalPages:0,hasNext:!1,hasPrev:!1}};let t=[...(await u()).data.records];e.provider&&(t=t.filter(t=>t.provider===e.provider)),e.model&&(t=t.filter(t=>t.model===e.model)),e.connectionId&&(t=t.filter(t=>t.connectionId===e.connectionId)),e.status&&(t=t.filter(t=>t.status===e.status)),e.startDate&&(t=t.filter(t=>new Date(t.timestamp)>=new Date(e.startDate))),e.endDate&&(t=t.filter(t=>new Date(t.timestamp)<=new Date(e.endDate))),t.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp));let r=t.length,a=e.page||1,s=e.pageSize||50,n=Math.ceil(r/s);return{details:t.slice((a-1)*s,a*s),pagination:{page:a,pageSize:s,totalItems:r,totalPages:n,hasNext:a<n,hasPrev:a>1}}}async function R(e){return i?null:(await u()).data.records.find(t=>t.id===e)||null}let y=async()=>{x&&(clearTimeout(x),x=null),f.length>0&&await w()};i||(process.off("beforeExit",y),process.off("SIGINT",y),process.off("SIGTERM",y),process.off("exit",y),process.on("beforeExit",y),process.on("SIGINT",y),process.on("SIGTERM",y),process.on("exit",y)),e.s(["getRequestDetailById",0,R,"getRequestDetails",0,g,"saveRequestDetail",0,v])},31984,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),s=e.i(59756),n=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),f=e.i(26937),x=e.i(10372),m=e.i(93695);e.i(20232);var w=e.i(220),v=e.i(89171),g=e.i(48582);let R=new Set(["24h","7d","30d","60d"]);async function y(e){try{let{searchParams:t}=new URL(e.url),r=t.get("period")||"7d";if(!R.has(r))return v.NextResponse.json({error:"Invalid period"},{status:400});let a=await (0,g.getChartData)(r);return v.NextResponse.json(a)}catch(e){return console.error("[API] Failed to get chart data:",e),v.NextResponse.json({error:"Failed to fetch chart data"},{status:500})}}e.s(["GET",0,y],91117);var S=e.i(91117);let b=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/usage/chart/route",pathname:"/api/usage/chart",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/usage/chart/route.js",nextConfigOutput:"standalone",userland:S,...{}}),{workAsyncStorage:E,workUnitAsyncStorage:I,serverHooks:q}=b;async function A(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),b.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/usage/chart/route";v=v.replace(/\/index$/,"")||"/";let g=await b.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:y,nextConfig:S,parsedUrl:E,isDraftMode:I,prerenderManifest:q,routerServerContext:A,isOnDemandRevalidate:D,revalidateOnlyGenerated:T,resolvedPathname:N,clientReferenceManifest:_,serverActionsManifest:C}=g,O=(0,o.normalizeAppPath)(v),P=!!(q.dynamicRoutes[O]||q.routes[N]),k=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,E,!1):t.end("This page could not be found"),null);if(P&&!I){let e=!!q.routes[N],t=q.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(S.adapterPath)return await k();throw new m.NoFallbackError}}let j=null;!P||b.isDev||I||(j="/index"===(j=N)?"/":j);let M=!0===b.isDev||!P,B=P&&!M;C&&_&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:_,serverActionsManifest:C});let F=e.method||"GET",L=(0,n.getTracer)(),U=L.getActiveScopeSpan(),H=!!(null==A?void 0:A.isWrappedByNextServer),z=!!(0,s.getRequestMeta)(e,"minimalMode"),$=(0,s.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,S,q,z);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let J={params:y,previewProps:q.preview,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts},cacheComponents:!!S.cacheComponents,supportsDynamicResponse:M,incrementalCache:$,cacheLifeProfiles:S.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>b.onRequestError(e,t,a,s,A)},sharedContext:{buildId:R}},V=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),K=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let s,i=async e=>b.handle(K,J).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${F} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${F} ${v}`)}),o=async s=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!z&&D&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=J.renderOpts.fetchMetrics;let o=J.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=J.renderOpts.collectedTags;if(!P)return await (0,p.sendResponse)(V,G,n,J.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[x.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,a=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:J.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:D})},!1,A),t}},d=await b.handleResponse({req:e,nextConfig:S,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:q,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:z});if(!P)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});z||t.setHeader("x-nextjs-cache",D?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),I&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return z&&P||u.delete(x.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(V,G,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};H&&U?await o(U):(s=L.getActiveScopeSpan(),await L.withPropagatedContext(e.headers,()=>L.trace(u.BaseServerSpan.handleRequest,{spanName:`${F} ${v}`,kind:n.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},o),void 0,!H))}catch(t){if(t instanceof m.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:D})},!1,A),P)throw t;return await (0,p.sendResponse)(V,G,new Response(null,{status:500})),null}}e.s(["handler",0,A,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:I})},"routeModule",0,b,"serverHooks",0,q,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,I],31984)},62724,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0ec91ym._.js","server/chunks/_0amvca6._.js"].map(t=>e.l(t))).then(()=>t(26753)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__0vbd~f-._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(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"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},57764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},22593,67059,21023,e=>{"use strict";e.s(["Low",0,class{adapter;data;constructor(e,t){!function(e,t){if(void 0===e)throw Error("lowdb: missing adapter");if(void 0===t)throw Error("lowdb: missing default data")}(e,t),this.adapter=e,this.data=t}async read(){let e=await this.adapter.read();e&&(this.data=e)}async write(){this.data&&await this.adapter.write(this.data)}async update(e){e(this.data),await this.write()}}],22593),e.i(2157);var t=e.i(12714),r=e.i(50227),a=e.i(57764);async function s(e,t,r){for(let a=0;a<t;a++)try{return await e()}catch(e){if(a<t-1)await new Promise(e=>setTimeout(e,r));else throw e}}class n{#e;#t;#r=!1;#a=null;#s=null;#n=null;#i=null;#o(e){return this.#i=e,this.#n||=new Promise((e,t)=>{this.#s=[e,t]}),new Promise((e,t)=>{this.#n?.then(e).catch(t)})}async #l(e){this.#r=!0;try{await (0,t.writeFile)(this.#t,e,"utf-8"),await s(async()=>{await (0,t.rename)(this.#t,this.#e)},10,100),this.#a?.[0]()}catch(e){throw e instanceof Error&&this.#a?.[1](e),e}finally{if(this.#r=!1,this.#a=this.#s,this.#s=this.#n=null,null!==this.#i){let e=this.#i;this.#i=null,await this.write(e)}}}constructor(e){this.#e=e,this.#t=function(e){let t=e instanceof URL?(0,a.fileURLToPath)(e):e.toString();return(0,r.join)((0,r.dirname)(t),`.${(0,r.basename)(t)}.tmp`)}(e)}async write(e){return this.#r?this.#o(e):this.#l(e)}}class i{#e;#d;constructor(e){this.#e=e,this.#d=new n(e)}async read(){let e;try{e=await (0,t.readFile)(this.#e,"utf-8")}catch(e){if("ENOENT"===e.code)return null;throw e}return e}write(e){return this.#d.write(e)}}class o{#u;#p;#c;constructor(e,{parse:t,stringify:r}){this.#u=new i(e),this.#p=t,this.#c=r}async read(){let e=await this.#u.read();return null===e?null:this.#p(e)}write(e){return this.#u.write(this.#c(e))}}e.s(["JSONFile",0,class extends o{constructor(e){super(e,{parse:JSON.parse,stringify:e=>JSON.stringify(e,null,2)})}}],67059),e.s([],21023)},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},88947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},12249,(e,t,r)=>{t.exports=e.x("constants",()=>require("constants"))},49719,(e,t,r)=>{t.exports=e.x("assert",()=>require("assert"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},16014,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),s=e.i(59756),n=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),p=e.i(47587),c=e.i(66012),h=e.i(70101),x=e.i(26937),w=e.i(10372),m=e.i(93695);e.i(20232);var f=e.i(220),v=e.i(89171),R=e.i(92641);async function y(){try{let e=await (0,R.disableTunnel)();return v.NextResponse.json(e)}catch(e){return console.error("Tunnel disable error:",e),v.NextResponse.json({error:e.message},{status:500})}}e.s(["POST",0,y],95629);var g=e.i(95629);let E=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/tunnel/disable/route",pathname:"/api/tunnel/disable",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/tunnel/disable/route.js",nextConfigOutput:"standalone",userland:g,...{}}),{workAsyncStorage:q,workUnitAsyncStorage:b,serverHooks:C}=E;async function P(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),E.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/tunnel/disable/route";v=v.replace(/\/index$/,"")||"/";let R=await E.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,params:g,nextConfig:q,parsedUrl:b,isDraftMode:C,prerenderManifest:P,routerServerContext:_,isOnDemandRevalidate:N,revalidateOnlyGenerated:A,resolvedPathname:T,clientReferenceManifest:k,serverActionsManifest:S}=R,O=(0,o.normalizeAppPath)(v),j=!!(P.dynamicRoutes[O]||P.routes[T]),D=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,b,!1):t.end("This page could not be found"),null);if(j&&!C){let e=!!P.routes[T],t=P.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(q.adapterPath)return await D();throw new m.NoFallbackError}}let U=null;!j||E.isDev||C||(U="/index"===(U=T)?"/":U);let H=!0===E.isDev||!j,I=j&&!H;S&&k&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:k,serverActionsManifest:S});let F=e.method||"GET",M=(0,n.getTracer)(),$=M.getActiveScopeSpan(),K=!!(null==_?void 0:_.isWrappedByNextServer),L=!!(0,s.getRequestMeta)(e,"minimalMode"),B=(0,s.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,q,P,L);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let G={params:g,previewProps:P.preview,renderOpts:{experimental:{authInterrupts:!!q.experimental.authInterrupts},cacheComponents:!!q.cacheComponents,supportsDynamicResponse:H,incrementalCache:B,cacheLifeProfiles:q.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>E.onRequestError(e,t,a,s,_)},sharedContext:{buildId:y}},J=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),W=d.NextRequestAdapter.fromNodeNextRequest(J,(0,d.signalFromNodeResponse)(t));try{let s,i=async e=>E.handle(W,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${F} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${F} ${v}`)}),o=async s=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!L&&N&&A&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=G.renderOpts.collectedTags;if(!j)return await (0,c.sendResponse)(J,V,n,G.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[w.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,a=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:N})},!1,_),t}},d=await E.handleResponse({req:e,nextConfig:q,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:P,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:A,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:L});if(!j)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==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",N?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return L&&j||u.delete(w.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,x.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(J,V,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};K&&$?await o($):(s=M.getActiveScopeSpan(),await M.withPropagatedContext(e.headers,()=>M.trace(u.BaseServerSpan.handleRequest,{spanName:`${F} ${v}`,kind:n.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},o),void 0,!K))}catch(t){if(t instanceof m.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:N})},!1,_),j)throw t;return await (0,c.sendResponse)(J,V,new Response(null,{status:500})),null}}e.s(["handler",0,P,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:q,workUnitAsyncStorage:b})},"routeModule",0,E,"serverHooks",0,C,"workAsyncStorage",0,q,"workUnitAsyncStorage",0,b],16014)},36498,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_utils_apiKey_083r5uu.js"].map(t=>e.l(t))).then(()=>t(21297)))},66510,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_0oa_fz9.js"].map(t=>e.l(t))).then(()=>t(28628)))}];
1
+ module.exports=[46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},93695,(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"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},57764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},22593,67059,21023,e=>{"use strict";e.s(["Low",0,class{adapter;data;constructor(e,t){!function(e,t){if(void 0===e)throw Error("lowdb: missing adapter");if(void 0===t)throw Error("lowdb: missing default data")}(e,t),this.adapter=e,this.data=t}async read(){let e=await this.adapter.read();e&&(this.data=e)}async write(){this.data&&await this.adapter.write(this.data)}async update(e){e(this.data),await this.write()}}],22593),e.i(2157);var t=e.i(12714),r=e.i(50227),a=e.i(57764);async function s(e,t,r){for(let a=0;a<t;a++)try{return await e()}catch(e){if(a<t-1)await new Promise(e=>setTimeout(e,r));else throw e}}class n{#e;#t;#r=!1;#a=null;#s=null;#n=null;#i=null;#o(e){return this.#i=e,this.#n||=new Promise((e,t)=>{this.#s=[e,t]}),new Promise((e,t)=>{this.#n?.then(e).catch(t)})}async #l(e){this.#r=!0;try{await (0,t.writeFile)(this.#t,e,"utf-8"),await s(async()=>{await (0,t.rename)(this.#t,this.#e)},10,100),this.#a?.[0]()}catch(e){throw e instanceof Error&&this.#a?.[1](e),e}finally{if(this.#r=!1,this.#a=this.#s,this.#s=this.#n=null,null!==this.#i){let e=this.#i;this.#i=null,await this.write(e)}}}constructor(e){this.#e=e,this.#t=function(e){let t=e instanceof URL?(0,a.fileURLToPath)(e):e.toString();return(0,r.join)((0,r.dirname)(t),`.${(0,r.basename)(t)}.tmp`)}(e)}async write(e){return this.#r?this.#o(e):this.#l(e)}}class i{#e;#d;constructor(e){this.#e=e,this.#d=new n(e)}async read(){let e;try{e=await (0,t.readFile)(this.#e,"utf-8")}catch(e){if("ENOENT"===e.code)return null;throw e}return e}write(e){return this.#d.write(e)}}class o{#u;#p;#c;constructor(e,{parse:t,stringify:r}){this.#u=new i(e),this.#p=t,this.#c=r}async read(){let e=await this.#u.read();return null===e?null:this.#p(e)}write(e){return this.#u.write(this.#c(e))}}e.s(["JSONFile",0,class extends o{constructor(e){super(e,{parse:JSON.parse,stringify:e=>JSON.stringify(e,null,2)})}}],67059),e.s([],21023)},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},88947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},12249,(e,t,r)=>{t.exports=e.x("constants",()=>require("constants"))},49719,(e,t,r)=>{t.exports=e.x("assert",()=>require("assert"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},16014,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),s=e.i(59756),n=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),p=e.i(47587),c=e.i(66012),h=e.i(70101),x=e.i(26937),w=e.i(10372),m=e.i(93695);e.i(20232);var f=e.i(220),v=e.i(89171),R=e.i(92641);async function y(){try{let e=await (0,R.disableTunnel)();return v.NextResponse.json(e)}catch(e){return console.error("Tunnel disable error:",e),v.NextResponse.json({error:e.message},{status:500})}}e.s(["POST",0,y],95629);var g=e.i(95629);let E=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/tunnel/disable/route",pathname:"/api/tunnel/disable",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/tunnel/disable/route.js",nextConfigOutput:"standalone",userland:g,...{}}),{workAsyncStorage:q,workUnitAsyncStorage:b,serverHooks:C}=E;async function P(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),E.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/tunnel/disable/route";v=v.replace(/\/index$/,"")||"/";let R=await E.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,params:g,nextConfig:q,parsedUrl:b,isDraftMode:C,prerenderManifest:P,routerServerContext:_,isOnDemandRevalidate:N,revalidateOnlyGenerated:A,resolvedPathname:T,clientReferenceManifest:k,serverActionsManifest:S}=R,O=(0,o.normalizeAppPath)(v),j=!!(P.dynamicRoutes[O]||P.routes[T]),D=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,b,!1):t.end("This page could not be found"),null);if(j&&!C){let e=!!P.routes[T],t=P.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(q.adapterPath)return await D();throw new m.NoFallbackError}}let U=null;!j||E.isDev||C||(U="/index"===(U=T)?"/":U);let H=!0===E.isDev||!j,I=j&&!H;S&&k&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:k,serverActionsManifest:S});let F=e.method||"GET",M=(0,n.getTracer)(),$=M.getActiveScopeSpan(),K=!!(null==_?void 0:_.isWrappedByNextServer),L=!!(0,s.getRequestMeta)(e,"minimalMode"),B=(0,s.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,q,P,L);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let G={params:g,previewProps:P.preview,renderOpts:{experimental:{authInterrupts:!!q.experimental.authInterrupts},cacheComponents:!!q.cacheComponents,supportsDynamicResponse:H,incrementalCache:B,cacheLifeProfiles:q.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>E.onRequestError(e,t,a,s,_)},sharedContext:{buildId:y}},J=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),W=d.NextRequestAdapter.fromNodeNextRequest(J,(0,d.signalFromNodeResponse)(t));try{let s,i=async e=>E.handle(W,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${F} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${F} ${v}`)}),o=async s=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!L&&N&&A&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=G.renderOpts.collectedTags;if(!j)return await (0,c.sendResponse)(J,V,n,G.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[w.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,a=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:N})},!1,_),t}},d=await E.handleResponse({req:e,nextConfig:q,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:P,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:A,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:L});if(!j)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==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",N?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return L&&j||u.delete(w.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,x.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(J,V,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};K&&$?await o($):(s=M.getActiveScopeSpan(),await M.withPropagatedContext(e.headers,()=>M.trace(u.BaseServerSpan.handleRequest,{spanName:`${F} ${v}`,kind:n.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},o),void 0,!K))}catch(t){if(t instanceof m.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:N})},!1,_),j)throw t;return await (0,c.sendResponse)(J,V,new Response(null,{status:500})),null}}e.s(["handler",0,P,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:q,workUnitAsyncStorage:b})},"routeModule",0,E,"serverHooks",0,C,"workAsyncStorage",0,q,"workUnitAsyncStorage",0,b],16014)},36498,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_utils_apiKey_083r5uu.js"].map(t=>e.l(t))).then(()=>t(21297)))},66510,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_0oa_fz9.js"].map(t=>e.l(t))).then(()=>t(28628)))}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0wn37_w._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0wczue6._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(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"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},57764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},22593,67059,21023,e=>{"use strict";e.s(["Low",0,class{adapter;data;constructor(e,t){!function(e,t){if(void 0===e)throw Error("lowdb: missing adapter");if(void 0===t)throw Error("lowdb: missing default data")}(e,t),this.adapter=e,this.data=t}async read(){let e=await this.adapter.read();e&&(this.data=e)}async write(){this.data&&await this.adapter.write(this.data)}async update(e){e(this.data),await this.write()}}],22593),e.i(2157);var t=e.i(12714),r=e.i(50227),s=e.i(57764);async function a(e,t,r){for(let s=0;s<t;s++)try{return await e()}catch(e){if(s<t-1)await new Promise(e=>setTimeout(e,r));else throw e}}class n{#e;#t;#r=!1;#s=null;#a=null;#n=null;#i=null;#o(e){return this.#i=e,this.#n||=new Promise((e,t)=>{this.#a=[e,t]}),new Promise((e,t)=>{this.#n?.then(e).catch(t)})}async #l(e){this.#r=!0;try{await (0,t.writeFile)(this.#t,e,"utf-8"),await a(async()=>{await (0,t.rename)(this.#t,this.#e)},10,100),this.#s?.[0]()}catch(e){throw e instanceof Error&&this.#s?.[1](e),e}finally{if(this.#r=!1,this.#s=this.#a,this.#a=this.#n=null,null!==this.#i){let e=this.#i;this.#i=null,await this.write(e)}}}constructor(e){this.#e=e,this.#t=function(e){let t=e instanceof URL?(0,s.fileURLToPath)(e):e.toString();return(0,r.join)((0,r.dirname)(t),`.${(0,r.basename)(t)}.tmp`)}(e)}async write(e){return this.#r?this.#o(e):this.#l(e)}}class i{#e;#d;constructor(e){this.#e=e,this.#d=new n(e)}async read(){let e;try{e=await (0,t.readFile)(this.#e,"utf-8")}catch(e){if("ENOENT"===e.code)return null;throw e}return e}write(e){return this.#d.write(e)}}class o{#u;#p;#c;constructor(e,{parse:t,stringify:r}){this.#u=new i(e),this.#p=t,this.#c=r}async read(){let e=await this.#u.read();return null===e?null:this.#p(e)}write(e){return this.#u.write(this.#c(e))}}e.s(["JSONFile",0,class extends o{constructor(e){super(e,{parse:JSON.parse,stringify:e=>JSON.stringify(e,null,2)})}}],67059),e.s([],21023)},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},88947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},12249,(e,t,r)=>{t.exports=e.x("constants",()=>require("constants"))},49719,(e,t,r)=>{t.exports=e.x("assert",()=>require("assert"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},10544,e=>{"use strict";function t(e){return null==e?"":String(e).trim()}e.s(["applyOutboundProxyEnv",0,function({outboundProxyEnabled:e,outboundProxyUrl:r,outboundNoProxy:s}={}){if("u"<typeof process||!process.env)return;let a=t(r),n=t(s);if(!e){"1"===process.env.NINE_ROUTER_PROXY_MANAGED&&(delete process.env.HTTP_PROXY,delete process.env.HTTPS_PROXY,delete process.env.ALL_PROXY,delete process.env.NO_PROXY,delete process.env.NINE_ROUTER_PROXY_MANAGED,delete process.env.NINE_ROUTER_PROXY_URL,delete process.env.NINE_ROUTER_NO_PROXY);return}let i="1"===process.env.NINE_ROUTER_PROXY_MANAGED,o=!1;i&&(a||(delete process.env.HTTP_PROXY,delete process.env.HTTPS_PROXY,delete process.env.ALL_PROXY,delete process.env.NINE_ROUTER_PROXY_URL),n||(delete process.env.NO_PROXY,delete process.env.NINE_ROUTER_NO_PROXY)),a&&(process.env.HTTP_PROXY=a,process.env.HTTPS_PROXY=a,process.env.ALL_PROXY=a,process.env.NINE_ROUTER_PROXY_URL=a,o=!0),n&&(process.env.NO_PROXY=n,process.env.NINE_ROUTER_NO_PROXY=n,o=!0),o?process.env.NINE_ROUTER_PROXY_MANAGED="1":i&&delete process.env.NINE_ROUTER_PROXY_MANAGED}])},10638,e=>{"use strict";var t=e.i(47909),r=e.i(74017),s=e.i(96250),a=e.i(59756),n=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),p=e.i(47587),c=e.i(66012),h=e.i(70101),x=e.i(26937),R=e.i(10372),w=e.i(93695);e.i(20232);var v=e.i(220),f=e.i(89171),E=e.i(26753),m=e.i(10544),P=e.i(49632);async function _(){try{let{password:e,...t}=await (0,E.getSettings)(),r="true"===process.env.ENABLE_REQUEST_LOGS,s="true"===process.env.ENABLE_TRANSLATOR;return f.NextResponse.json({...t,enableRequestLogs:r,enableTranslator:s,hasPassword:!!e})}catch(e){return console.log("Error getting settings:",e),f.NextResponse.json({error:e.message},{status:500})}}async function g(e){try{let t=await e.json();if(t.newPassword){let e=(await (0,E.getSettings)()).password;if(e){if(!t.currentPassword)return f.NextResponse.json({error:"Current password required"},{status:400});if(!await P.default.compare(t.currentPassword,e))return f.NextResponse.json({error:"Invalid current password"},{status:401})}else if(t.currentPassword&&"123456"!==t.currentPassword)return f.NextResponse.json({error:"Invalid current password"},{status:401});let r=await P.default.genSalt(10);t.password=await P.default.hash(t.newPassword,r),delete t.newPassword,delete t.currentPassword}let r=await (0,E.updateSettings)(t);(Object.prototype.hasOwnProperty.call(t,"outboundProxyEnabled")||Object.prototype.hasOwnProperty.call(t,"outboundProxyUrl")||Object.prototype.hasOwnProperty.call(t,"outboundNoProxy"))&&(0,m.applyOutboundProxyEnv)(r);let{password:s,...a}=r;return f.NextResponse.json(a)}catch(e){return console.log("Error updating settings:",e),f.NextResponse.json({error:e.message},{status:500})}}e.s(["GET",0,_,"PATCH",0,g],68649);var y=e.i(68649);let O=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/settings/route",pathname:"/api/settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/settings/route.js",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:N,workUnitAsyncStorage:T,serverHooks:A}=O;async function b(e,t,s){s.requestMeta&&(0,a.setRequestMeta)(e,s.requestMeta),O.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/settings/route";f=f.replace(/\/index$/,"")||"/";let E=await O.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!E)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:m,params:P,nextConfig:_,parsedUrl:g,isDraftMode:y,prerenderManifest:N,routerServerContext:T,isOnDemandRevalidate:A,revalidateOnlyGenerated:b,resolvedPathname:q,clientReferenceManifest:C,serverActionsManifest:S}=E,U=(0,o.normalizeAppPath)(f),j=!!(N.dynamicRoutes[U]||N.routes[q]),I=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,g,!1):t.end("This page could not be found"),null);if(j&&!y){let e=!!N.routes[q],t=N.dynamicRoutes[U];if(t&&!1===t.fallback&&!e){if(_.adapterPath)return await I();throw new w.NoFallbackError}}let k=null;!j||O.isDev||y||(k="/index"===(k=q)?"/":k);let X=!0===O.isDev||!j,H=j&&!X;S&&C&&(0,i.setManifestsSingleton)({page:f,clientReferenceManifest:C,serverActionsManifest:S});let D=e.method||"GET",Y=(0,n.getTracer)(),L=Y.getActiveScopeSpan(),M=!!(null==T?void 0:T.isWrappedByNextServer),F=!!(0,a.getRequestMeta)(e,"minimalMode"),G=(0,a.getRequestMeta)(e,"incrementalCache")||await O.getIncrementalCache(e,_,N,F);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let $={params:P,previewProps:N.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:X,incrementalCache:G,cacheLifeProfiles:_.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>O.onRequestError(e,t,s,a,T)},sharedContext:{buildId:m}},K=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),J=d.NextRequestAdapter.fromNodeNextRequest(K,(0,d.signalFromNodeResponse)(t));try{let a,i=async e=>O.handle(J,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=Y.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route");if(s){let t=`${D} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",s),a.updateName(t))}else e.updateName(`${D} ${f}`)}),o=async a=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!F&&A&&b&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(a);e.fetchMetrics=$.renderOpts.fetchMetrics;let o=$.renderOpts.pendingWaitUntil;o&&s.waitUntil&&(s.waitUntil(o),o=void 0);let l=$.renderOpts.collectedTags;if(!j)return await (0,c.sendResponse)(K,B,n,$.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[R.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,s=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await O.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,T),t}},d=await O.handleResponse({req:e,nextConfig:_,cacheKey:k,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:b,responseGenerator:l,waitUntil:s.waitUntil,isMinimalMode:F});if(!j)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",A?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),y&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return F&&j||u.delete(R.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,x.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(K,B,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};M&&L?await o(L):(a=Y.getActiveScopeSpan(),await Y.withPropagatedContext(e.headers,()=>Y.trace(u.BaseServerSpan.handleRequest,{spanName:`${D} ${f}`,kind:n.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},o),void 0,!M))}catch(t){if(t instanceof w.NoFallbackError||await O.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,T),j)throw t;return await (0,c.sendResponse)(K,B,new Response(null,{status:500})),null}}e.s(["handler",0,b,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:T})},"routeModule",0,O,"serverHooks",0,A,"workAsyncStorage",0,N,"workUnitAsyncStorage",0,T],10638)},36498,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_utils_apiKey_083r5uu.js"].map(t=>e.l(t))).then(()=>t(21297)))},66510,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_0oa_fz9.js"].map(t=>e.l(t))).then(()=>t(28628)))}];
1
+ module.exports=[18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},93695,(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"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},57764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},22593,67059,21023,e=>{"use strict";e.s(["Low",0,class{adapter;data;constructor(e,t){!function(e,t){if(void 0===e)throw Error("lowdb: missing adapter");if(void 0===t)throw Error("lowdb: missing default data")}(e,t),this.adapter=e,this.data=t}async read(){let e=await this.adapter.read();e&&(this.data=e)}async write(){this.data&&await this.adapter.write(this.data)}async update(e){e(this.data),await this.write()}}],22593),e.i(2157);var t=e.i(12714),r=e.i(50227),s=e.i(57764);async function a(e,t,r){for(let s=0;s<t;s++)try{return await e()}catch(e){if(s<t-1)await new Promise(e=>setTimeout(e,r));else throw e}}class n{#e;#t;#r=!1;#s=null;#a=null;#n=null;#i=null;#o(e){return this.#i=e,this.#n||=new Promise((e,t)=>{this.#a=[e,t]}),new Promise((e,t)=>{this.#n?.then(e).catch(t)})}async #l(e){this.#r=!0;try{await (0,t.writeFile)(this.#t,e,"utf-8"),await a(async()=>{await (0,t.rename)(this.#t,this.#e)},10,100),this.#s?.[0]()}catch(e){throw e instanceof Error&&this.#s?.[1](e),e}finally{if(this.#r=!1,this.#s=this.#a,this.#a=this.#n=null,null!==this.#i){let e=this.#i;this.#i=null,await this.write(e)}}}constructor(e){this.#e=e,this.#t=function(e){let t=e instanceof URL?(0,s.fileURLToPath)(e):e.toString();return(0,r.join)((0,r.dirname)(t),`.${(0,r.basename)(t)}.tmp`)}(e)}async write(e){return this.#r?this.#o(e):this.#l(e)}}class i{#e;#d;constructor(e){this.#e=e,this.#d=new n(e)}async read(){let e;try{e=await (0,t.readFile)(this.#e,"utf-8")}catch(e){if("ENOENT"===e.code)return null;throw e}return e}write(e){return this.#d.write(e)}}class o{#u;#p;#c;constructor(e,{parse:t,stringify:r}){this.#u=new i(e),this.#p=t,this.#c=r}async read(){let e=await this.#u.read();return null===e?null:this.#p(e)}write(e){return this.#u.write(this.#c(e))}}e.s(["JSONFile",0,class extends o{constructor(e){super(e,{parse:JSON.parse,stringify:e=>JSON.stringify(e,null,2)})}}],67059),e.s([],21023)},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},88947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},12249,(e,t,r)=>{t.exports=e.x("constants",()=>require("constants"))},49719,(e,t,r)=>{t.exports=e.x("assert",()=>require("assert"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},10544,e=>{"use strict";function t(e){return null==e?"":String(e).trim()}e.s(["applyOutboundProxyEnv",0,function({outboundProxyEnabled:e,outboundProxyUrl:r,outboundNoProxy:s}={}){if("u"<typeof process||!process.env)return;let a=t(r),n=t(s);if(!e){"1"===process.env.NINE_ROUTER_PROXY_MANAGED&&(delete process.env.HTTP_PROXY,delete process.env.HTTPS_PROXY,delete process.env.ALL_PROXY,delete process.env.NO_PROXY,delete process.env.NINE_ROUTER_PROXY_MANAGED,delete process.env.NINE_ROUTER_PROXY_URL,delete process.env.NINE_ROUTER_NO_PROXY);return}let i="1"===process.env.NINE_ROUTER_PROXY_MANAGED,o=!1;i&&(a||(delete process.env.HTTP_PROXY,delete process.env.HTTPS_PROXY,delete process.env.ALL_PROXY,delete process.env.NINE_ROUTER_PROXY_URL),n||(delete process.env.NO_PROXY,delete process.env.NINE_ROUTER_NO_PROXY)),a&&(process.env.HTTP_PROXY=a,process.env.HTTPS_PROXY=a,process.env.ALL_PROXY=a,process.env.NINE_ROUTER_PROXY_URL=a,o=!0),n&&(process.env.NO_PROXY=n,process.env.NINE_ROUTER_NO_PROXY=n,o=!0),o?process.env.NINE_ROUTER_PROXY_MANAGED="1":i&&delete process.env.NINE_ROUTER_PROXY_MANAGED}])},10638,e=>{"use strict";var t=e.i(47909),r=e.i(74017),s=e.i(96250),a=e.i(59756),n=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),p=e.i(47587),c=e.i(66012),h=e.i(70101),x=e.i(26937),R=e.i(10372),w=e.i(93695);e.i(20232);var v=e.i(220),f=e.i(89171),E=e.i(26753),m=e.i(10544),P=e.i(49632);async function _(){try{let{password:e,...t}=await (0,E.getSettings)(),r="true"===process.env.ENABLE_REQUEST_LOGS,s="true"===process.env.ENABLE_TRANSLATOR;return f.NextResponse.json({...t,enableRequestLogs:r,enableTranslator:s,hasPassword:!!e})}catch(e){return console.log("Error getting settings:",e),f.NextResponse.json({error:e.message},{status:500})}}async function g(e){try{let t=await e.json();if(t.newPassword){let e=(await (0,E.getSettings)()).password;if(e){if(!t.currentPassword)return f.NextResponse.json({error:"Current password required"},{status:400});if(!await P.default.compare(t.currentPassword,e))return f.NextResponse.json({error:"Invalid current password"},{status:401})}else if(t.currentPassword&&"123456"!==t.currentPassword)return f.NextResponse.json({error:"Invalid current password"},{status:401});let r=await P.default.genSalt(10);t.password=await P.default.hash(t.newPassword,r),delete t.newPassword,delete t.currentPassword}let r=await (0,E.updateSettings)(t);(Object.prototype.hasOwnProperty.call(t,"outboundProxyEnabled")||Object.prototype.hasOwnProperty.call(t,"outboundProxyUrl")||Object.prototype.hasOwnProperty.call(t,"outboundNoProxy"))&&(0,m.applyOutboundProxyEnv)(r);let{password:s,...a}=r;return f.NextResponse.json(a)}catch(e){return console.log("Error updating settings:",e),f.NextResponse.json({error:e.message},{status:500})}}e.s(["GET",0,_,"PATCH",0,g],68649);var y=e.i(68649);let O=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/settings/route",pathname:"/api/settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/settings/route.js",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:N,workUnitAsyncStorage:T,serverHooks:A}=O;async function b(e,t,s){s.requestMeta&&(0,a.setRequestMeta)(e,s.requestMeta),O.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/settings/route";f=f.replace(/\/index$/,"")||"/";let E=await O.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!E)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:m,params:P,nextConfig:_,parsedUrl:g,isDraftMode:y,prerenderManifest:N,routerServerContext:T,isOnDemandRevalidate:A,revalidateOnlyGenerated:b,resolvedPathname:q,clientReferenceManifest:C,serverActionsManifest:S}=E,U=(0,o.normalizeAppPath)(f),j=!!(N.dynamicRoutes[U]||N.routes[q]),I=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,g,!1):t.end("This page could not be found"),null);if(j&&!y){let e=!!N.routes[q],t=N.dynamicRoutes[U];if(t&&!1===t.fallback&&!e){if(_.adapterPath)return await I();throw new w.NoFallbackError}}let k=null;!j||O.isDev||y||(k="/index"===(k=q)?"/":k);let X=!0===O.isDev||!j,H=j&&!X;S&&C&&(0,i.setManifestsSingleton)({page:f,clientReferenceManifest:C,serverActionsManifest:S});let D=e.method||"GET",Y=(0,n.getTracer)(),L=Y.getActiveScopeSpan(),M=!!(null==T?void 0:T.isWrappedByNextServer),F=!!(0,a.getRequestMeta)(e,"minimalMode"),G=(0,a.getRequestMeta)(e,"incrementalCache")||await O.getIncrementalCache(e,_,N,F);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let $={params:P,previewProps:N.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:X,incrementalCache:G,cacheLifeProfiles:_.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>O.onRequestError(e,t,s,a,T)},sharedContext:{buildId:m}},K=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),J=d.NextRequestAdapter.fromNodeNextRequest(K,(0,d.signalFromNodeResponse)(t));try{let a,i=async e=>O.handle(J,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=Y.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route");if(s){let t=`${D} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",s),a.updateName(t))}else e.updateName(`${D} ${f}`)}),o=async a=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!F&&A&&b&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(a);e.fetchMetrics=$.renderOpts.fetchMetrics;let o=$.renderOpts.pendingWaitUntil;o&&s.waitUntil&&(s.waitUntil(o),o=void 0);let l=$.renderOpts.collectedTags;if(!j)return await (0,c.sendResponse)(K,B,n,$.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[R.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,s=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await O.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,T),t}},d=await O.handleResponse({req:e,nextConfig:_,cacheKey:k,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:b,responseGenerator:l,waitUntil:s.waitUntil,isMinimalMode:F});if(!j)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",A?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),y&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return F&&j||u.delete(R.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,x.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(K,B,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};M&&L?await o(L):(a=Y.getActiveScopeSpan(),await Y.withPropagatedContext(e.headers,()=>Y.trace(u.BaseServerSpan.handleRequest,{spanName:`${D} ${f}`,kind:n.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},o),void 0,!M))}catch(t){if(t instanceof w.NoFallbackError||await O.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,T),j)throw t;return await (0,c.sendResponse)(K,B,new Response(null,{status:500})),null}}e.s(["handler",0,b,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:T})},"routeModule",0,O,"serverHooks",0,A,"workAsyncStorage",0,N,"workUnitAsyncStorage",0,T],10638)},36498,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_utils_apiKey_083r5uu.js"].map(t=>e.l(t))).then(()=>t(21297)))},66510,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_0oa_fz9.js"].map(t=>e.l(t))).then(()=>t(28628)))}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0s078yi._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0x6j5ov._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(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"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},57764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},22593,67059,21023,e=>{"use strict";e.s(["Low",0,class{adapter;data;constructor(e,t){!function(e,t){if(void 0===e)throw Error("lowdb: missing adapter");if(void 0===t)throw Error("lowdb: missing default data")}(e,t),this.adapter=e,this.data=t}async read(){let e=await this.adapter.read();e&&(this.data=e)}async write(){this.data&&await this.adapter.write(this.data)}async update(e){e(this.data),await this.write()}}],22593),e.i(2157);var t=e.i(12714),r=e.i(50227),s=e.i(57764);async function a(e,t,r){for(let s=0;s<t;s++)try{return await e()}catch(e){if(s<t-1)await new Promise(e=>setTimeout(e,r));else throw e}}class n{#e;#t;#r=!1;#s=null;#a=null;#n=null;#i=null;#o(e){return this.#i=e,this.#n||=new Promise((e,t)=>{this.#a=[e,t]}),new Promise((e,t)=>{this.#n?.then(e).catch(t)})}async #l(e){this.#r=!0;try{await (0,t.writeFile)(this.#t,e,"utf-8"),await a(async()=>{await (0,t.rename)(this.#t,this.#e)},10,100),this.#s?.[0]()}catch(e){throw e instanceof Error&&this.#s?.[1](e),e}finally{if(this.#r=!1,this.#s=this.#a,this.#a=this.#n=null,null!==this.#i){let e=this.#i;this.#i=null,await this.write(e)}}}constructor(e){this.#e=e,this.#t=function(e){let t=e instanceof URL?(0,s.fileURLToPath)(e):e.toString();return(0,r.join)((0,r.dirname)(t),`.${(0,r.basename)(t)}.tmp`)}(e)}async write(e){return this.#r?this.#o(e):this.#l(e)}}class i{#e;#d;constructor(e){this.#e=e,this.#d=new n(e)}async read(){let e;try{e=await (0,t.readFile)(this.#e,"utf-8")}catch(e){if("ENOENT"===e.code)return null;throw e}return e}write(e){return this.#d.write(e)}}class o{#p;#u;#c;constructor(e,{parse:t,stringify:r}){this.#p=new i(e),this.#u=t,this.#c=r}async read(){let e=await this.#p.read();return null===e?null:this.#u(e)}write(e){return this.#p.write(this.#c(e))}}e.s(["JSONFile",0,class extends o{constructor(e){super(e,{parse:JSON.parse,stringify:e=>JSON.stringify(e,null,2)})}}],67059),e.s([],21023)},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},88947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},12249,(e,t,r)=>{t.exports=e.x("constants",()=>require("constants"))},49719,(e,t,r)=>{t.exports=e.x("assert",()=>require("assert"))},10544,e=>{"use strict";function t(e){return null==e?"":String(e).trim()}e.s(["applyOutboundProxyEnv",0,function({outboundProxyEnabled:e,outboundProxyUrl:r,outboundNoProxy:s}={}){if("u"<typeof process||!process.env)return;let a=t(r),n=t(s);if(!e){"1"===process.env.NINE_ROUTER_PROXY_MANAGED&&(delete process.env.HTTP_PROXY,delete process.env.HTTPS_PROXY,delete process.env.ALL_PROXY,delete process.env.NO_PROXY,delete process.env.NINE_ROUTER_PROXY_MANAGED,delete process.env.NINE_ROUTER_PROXY_URL,delete process.env.NINE_ROUTER_NO_PROXY);return}let i="1"===process.env.NINE_ROUTER_PROXY_MANAGED,o=!1;i&&(a||(delete process.env.HTTP_PROXY,delete process.env.HTTPS_PROXY,delete process.env.ALL_PROXY,delete process.env.NINE_ROUTER_PROXY_URL),n||(delete process.env.NO_PROXY,delete process.env.NINE_ROUTER_NO_PROXY)),a&&(process.env.HTTP_PROXY=a,process.env.HTTPS_PROXY=a,process.env.ALL_PROXY=a,process.env.NINE_ROUTER_PROXY_URL=a,o=!0),n&&(process.env.NO_PROXY=n,process.env.NINE_ROUTER_NO_PROXY=n,o=!0),o?process.env.NINE_ROUTER_PROXY_MANAGED="1":i&&delete process.env.NINE_ROUTER_PROXY_MANAGED}])},26332,e=>{"use strict";var t=e.i(47909),r=e.i(74017),s=e.i(96250),a=e.i(59756),n=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),p=e.i(95169),u=e.i(47587),c=e.i(66012),h=e.i(70101),x=e.i(26937),R=e.i(10372),v=e.i(93695);e.i(20232);var w=e.i(220),f=e.i(89171),m=e.i(26753),E=e.i(10544);async function _(){try{let e=await (0,m.exportDb)();return f.NextResponse.json(e)}catch(e){return console.log("Error exporting database:",e),f.NextResponse.json({error:"Failed to export database"},{status:500})}}async function g(e){try{let t=await e.json();await (0,m.importDb)(t);try{let e=await (0,m.getSettings)();(0,E.applyOutboundProxyEnv)(e)}catch(e){console.warn("[Settings][DatabaseImport] Failed to re-apply outbound proxy env:",e)}return f.NextResponse.json({success:!0})}catch(e){return console.log("Error importing database:",e),f.NextResponse.json({error:e?.message||"Failed to import database"},{status:400})}}e.s(["GET",0,_,"POST",0,g],11718);var O=e.i(11718);let y=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/settings/database/route",pathname:"/api/settings/database",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/settings/database/route.js",nextConfigOutput:"standalone",userland:O,...{}}),{workAsyncStorage:N,workUnitAsyncStorage:P,serverHooks:T}=y;async function b(e,t,s){s.requestMeta&&(0,a.setRequestMeta)(e,s.requestMeta),y.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/settings/database/route";f=f.replace(/\/index$/,"")||"/";let m=await y.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!m)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:E,params:_,nextConfig:g,parsedUrl:O,isDraftMode:N,prerenderManifest:P,routerServerContext:T,isOnDemandRevalidate:b,revalidateOnlyGenerated:A,resolvedPathname:q,clientReferenceManifest:C,serverActionsManifest:S}=m,U=(0,o.normalizeAppPath)(f),k=!!(P.dynamicRoutes[U]||P.routes[q]),I=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,O,!1):t.end("This page could not be found"),null);if(k&&!N){let e=!!P.routes[q],t=P.dynamicRoutes[U];if(t&&!1===t.fallback&&!e){if(g.adapterPath)return await I();throw new v.NoFallbackError}}let j=null;!k||y.isDev||N||(j="/index"===(j=q)?"/":j);let D=!0===y.isDev||!k,X=k&&!D;S&&C&&(0,i.setManifestsSingleton)({page:f,clientReferenceManifest:C,serverActionsManifest:S});let H=e.method||"GET",Y=(0,n.getTracer)(),M=Y.getActiveScopeSpan(),F=!!(null==T?void 0:T.isWrappedByNextServer),L=!!(0,a.getRequestMeta)(e,"minimalMode"),$=(0,a.getRequestMeta)(e,"incrementalCache")||await y.getIncrementalCache(e,g,P,L);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let G={params:_,previewProps:P.preview,renderOpts:{experimental:{authInterrupts:!!g.experimental.authInterrupts},cacheComponents:!!g.cacheComponents,supportsDynamicResponse:D,incrementalCache:$,cacheLifeProfiles:g.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>y.onRequestError(e,t,s,a,T)},sharedContext:{buildId:E}},K=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),J=d.NextRequestAdapter.fromNodeNextRequest(K,(0,d.signalFromNodeResponse)(t));try{let a,i=async e=>y.handle(J,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=Y.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route");if(s){let t=`${H} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",s),a.updateName(t))}else e.updateName(`${H} ${f}`)}),o=async a=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!L&&b&&A&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(a);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&s.waitUntil&&(s.waitUntil(o),o=void 0);let l=G.renderOpts.collectedTags;if(!k)return await (0,c.sendResponse)(K,B,n,G.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[R.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,s=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await y.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:X,isOnDemandRevalidate:b})},!1,T),t}},d=await y.handleResponse({req:e,nextConfig:g,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:P,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:A,responseGenerator:l,waitUntil:s.waitUntil,isMinimalMode:L});if(!k)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",b?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return L&&k||p.delete(R.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,x.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(K,B,new Response(d.value.body,{headers:p,status:d.value.status||200})),null};F&&M?await o(M):(a=Y.getActiveScopeSpan(),await Y.withPropagatedContext(e.headers,()=>Y.trace(p.BaseServerSpan.handleRequest,{spanName:`${H} ${f}`,kind:n.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},o),void 0,!F))}catch(t){if(t instanceof v.NoFallbackError||await y.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:X,isOnDemandRevalidate:b})},!1,T),k)throw t;return await (0,c.sendResponse)(K,B,new Response(null,{status:500})),null}}e.s(["handler",0,b,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:P})},"routeModule",0,y,"serverHooks",0,T,"workAsyncStorage",0,N,"workUnitAsyncStorage",0,P],26332)},36498,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0kaoh2i._.js"].map(t=>e.l(t))).then(()=>t(21297)))},66510,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_0oa_fz9.js"].map(t=>e.l(t))).then(()=>t(28628)))}];
1
+ module.exports=[18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},93695,(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"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},57764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},22593,67059,21023,e=>{"use strict";e.s(["Low",0,class{adapter;data;constructor(e,t){!function(e,t){if(void 0===e)throw Error("lowdb: missing adapter");if(void 0===t)throw Error("lowdb: missing default data")}(e,t),this.adapter=e,this.data=t}async read(){let e=await this.adapter.read();e&&(this.data=e)}async write(){this.data&&await this.adapter.write(this.data)}async update(e){e(this.data),await this.write()}}],22593),e.i(2157);var t=e.i(12714),r=e.i(50227),s=e.i(57764);async function a(e,t,r){for(let s=0;s<t;s++)try{return await e()}catch(e){if(s<t-1)await new Promise(e=>setTimeout(e,r));else throw e}}class n{#e;#t;#r=!1;#s=null;#a=null;#n=null;#i=null;#o(e){return this.#i=e,this.#n||=new Promise((e,t)=>{this.#a=[e,t]}),new Promise((e,t)=>{this.#n?.then(e).catch(t)})}async #l(e){this.#r=!0;try{await (0,t.writeFile)(this.#t,e,"utf-8"),await a(async()=>{await (0,t.rename)(this.#t,this.#e)},10,100),this.#s?.[0]()}catch(e){throw e instanceof Error&&this.#s?.[1](e),e}finally{if(this.#r=!1,this.#s=this.#a,this.#a=this.#n=null,null!==this.#i){let e=this.#i;this.#i=null,await this.write(e)}}}constructor(e){this.#e=e,this.#t=function(e){let t=e instanceof URL?(0,s.fileURLToPath)(e):e.toString();return(0,r.join)((0,r.dirname)(t),`.${(0,r.basename)(t)}.tmp`)}(e)}async write(e){return this.#r?this.#o(e):this.#l(e)}}class i{#e;#d;constructor(e){this.#e=e,this.#d=new n(e)}async read(){let e;try{e=await (0,t.readFile)(this.#e,"utf-8")}catch(e){if("ENOENT"===e.code)return null;throw e}return e}write(e){return this.#d.write(e)}}class o{#p;#u;#c;constructor(e,{parse:t,stringify:r}){this.#p=new i(e),this.#u=t,this.#c=r}async read(){let e=await this.#p.read();return null===e?null:this.#u(e)}write(e){return this.#p.write(this.#c(e))}}e.s(["JSONFile",0,class extends o{constructor(e){super(e,{parse:JSON.parse,stringify:e=>JSON.stringify(e,null,2)})}}],67059),e.s([],21023)},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},88947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},12249,(e,t,r)=>{t.exports=e.x("constants",()=>require("constants"))},49719,(e,t,r)=>{t.exports=e.x("assert",()=>require("assert"))},10544,e=>{"use strict";function t(e){return null==e?"":String(e).trim()}e.s(["applyOutboundProxyEnv",0,function({outboundProxyEnabled:e,outboundProxyUrl:r,outboundNoProxy:s}={}){if("u"<typeof process||!process.env)return;let a=t(r),n=t(s);if(!e){"1"===process.env.NINE_ROUTER_PROXY_MANAGED&&(delete process.env.HTTP_PROXY,delete process.env.HTTPS_PROXY,delete process.env.ALL_PROXY,delete process.env.NO_PROXY,delete process.env.NINE_ROUTER_PROXY_MANAGED,delete process.env.NINE_ROUTER_PROXY_URL,delete process.env.NINE_ROUTER_NO_PROXY);return}let i="1"===process.env.NINE_ROUTER_PROXY_MANAGED,o=!1;i&&(a||(delete process.env.HTTP_PROXY,delete process.env.HTTPS_PROXY,delete process.env.ALL_PROXY,delete process.env.NINE_ROUTER_PROXY_URL),n||(delete process.env.NO_PROXY,delete process.env.NINE_ROUTER_NO_PROXY)),a&&(process.env.HTTP_PROXY=a,process.env.HTTPS_PROXY=a,process.env.ALL_PROXY=a,process.env.NINE_ROUTER_PROXY_URL=a,o=!0),n&&(process.env.NO_PROXY=n,process.env.NINE_ROUTER_NO_PROXY=n,o=!0),o?process.env.NINE_ROUTER_PROXY_MANAGED="1":i&&delete process.env.NINE_ROUTER_PROXY_MANAGED}])},26332,e=>{"use strict";var t=e.i(47909),r=e.i(74017),s=e.i(96250),a=e.i(59756),n=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),p=e.i(95169),u=e.i(47587),c=e.i(66012),h=e.i(70101),x=e.i(26937),R=e.i(10372),v=e.i(93695);e.i(20232);var w=e.i(220),f=e.i(89171),m=e.i(26753),E=e.i(10544);async function _(){try{let e=await (0,m.exportDb)();return f.NextResponse.json(e)}catch(e){return console.log("Error exporting database:",e),f.NextResponse.json({error:"Failed to export database"},{status:500})}}async function g(e){try{let t=await e.json();await (0,m.importDb)(t);try{let e=await (0,m.getSettings)();(0,E.applyOutboundProxyEnv)(e)}catch(e){console.warn("[Settings][DatabaseImport] Failed to re-apply outbound proxy env:",e)}return f.NextResponse.json({success:!0})}catch(e){return console.log("Error importing database:",e),f.NextResponse.json({error:e?.message||"Failed to import database"},{status:400})}}e.s(["GET",0,_,"POST",0,g],11718);var O=e.i(11718);let y=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/settings/database/route",pathname:"/api/settings/database",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/settings/database/route.js",nextConfigOutput:"standalone",userland:O,...{}}),{workAsyncStorage:N,workUnitAsyncStorage:P,serverHooks:T}=y;async function b(e,t,s){s.requestMeta&&(0,a.setRequestMeta)(e,s.requestMeta),y.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/settings/database/route";f=f.replace(/\/index$/,"")||"/";let m=await y.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!m)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:E,params:_,nextConfig:g,parsedUrl:O,isDraftMode:N,prerenderManifest:P,routerServerContext:T,isOnDemandRevalidate:b,revalidateOnlyGenerated:A,resolvedPathname:q,clientReferenceManifest:C,serverActionsManifest:S}=m,U=(0,o.normalizeAppPath)(f),k=!!(P.dynamicRoutes[U]||P.routes[q]),I=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,O,!1):t.end("This page could not be found"),null);if(k&&!N){let e=!!P.routes[q],t=P.dynamicRoutes[U];if(t&&!1===t.fallback&&!e){if(g.adapterPath)return await I();throw new v.NoFallbackError}}let j=null;!k||y.isDev||N||(j="/index"===(j=q)?"/":j);let D=!0===y.isDev||!k,X=k&&!D;S&&C&&(0,i.setManifestsSingleton)({page:f,clientReferenceManifest:C,serverActionsManifest:S});let H=e.method||"GET",Y=(0,n.getTracer)(),M=Y.getActiveScopeSpan(),F=!!(null==T?void 0:T.isWrappedByNextServer),L=!!(0,a.getRequestMeta)(e,"minimalMode"),$=(0,a.getRequestMeta)(e,"incrementalCache")||await y.getIncrementalCache(e,g,P,L);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let G={params:_,previewProps:P.preview,renderOpts:{experimental:{authInterrupts:!!g.experimental.authInterrupts},cacheComponents:!!g.cacheComponents,supportsDynamicResponse:D,incrementalCache:$,cacheLifeProfiles:g.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>y.onRequestError(e,t,s,a,T)},sharedContext:{buildId:E}},K=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),J=d.NextRequestAdapter.fromNodeNextRequest(K,(0,d.signalFromNodeResponse)(t));try{let a,i=async e=>y.handle(J,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=Y.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route");if(s){let t=`${H} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",s),a.updateName(t))}else e.updateName(`${H} ${f}`)}),o=async a=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!L&&b&&A&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(a);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&s.waitUntil&&(s.waitUntil(o),o=void 0);let l=G.renderOpts.collectedTags;if(!k)return await (0,c.sendResponse)(K,B,n,G.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[R.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,s=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await y.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:X,isOnDemandRevalidate:b})},!1,T),t}},d=await y.handleResponse({req:e,nextConfig:g,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:P,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:A,responseGenerator:l,waitUntil:s.waitUntil,isMinimalMode:L});if(!k)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",b?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return L&&k||p.delete(R.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,x.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(K,B,new Response(d.value.body,{headers:p,status:d.value.status||200})),null};F&&M?await o(M):(a=Y.getActiveScopeSpan(),await Y.withPropagatedContext(e.headers,()=>Y.trace(p.BaseServerSpan.handleRequest,{spanName:`${H} ${f}`,kind:n.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},o),void 0,!F))}catch(t){if(t instanceof v.NoFallbackError||await y.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:X,isOnDemandRevalidate:b})},!1,T),k)throw t;return await (0,c.sendResponse)(K,B,new Response(null,{status:500})),null}}e.s(["handler",0,b,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:P})},"routeModule",0,y,"serverHooks",0,T,"workAsyncStorage",0,N,"workUnitAsyncStorage",0,P],26332)},36498,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0kaoh2i._.js"].map(t=>e.l(t))).then(()=>t(21297)))},66510,e=>{e.v(t=>Promise.all(["server/chunks/src_shared_constants_pricing_0oa_fz9.js"].map(t=>e.l(t))).then(()=>t(28628)))}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0qbud9-._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0xilem_._.js.map