n9router 0.3.90 → 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 (489) 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 +10 -10
  64. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +10 -10
  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 +5 -5
  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 +1 -1
  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 +12 -12
  206. package/.next/standalone/.next/server/app/callback.segments/_full.segment.rsc +12 -12
  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 +5 -5
  209. package/.next/standalone/.next/server/app/callback.segments/_tree.segment.rsc +1 -1
  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 +12 -12
  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 +12 -12
  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 +5 -5
  221. package/.next/standalone/.next/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
  222. package/.next/standalone/.next/server/app/dashboard/cli-tools.html +1 -1
  223. package/.next/standalone/.next/server/app/dashboard/cli-tools.rsc +12 -12
  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 +12 -12
  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 +5 -5
  231. package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  232. package/.next/standalone/.next/server/app/dashboard/combos.html +1 -1
  233. package/.next/standalone/.next/server/app/dashboard/combos.rsc +13 -13
  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 +13 -13
  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 +5 -5
  241. package/.next/standalone/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  242. package/.next/standalone/.next/server/app/dashboard/endpoint.html +1 -1
  243. package/.next/standalone/.next/server/app/dashboard/endpoint.rsc +12 -12
  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 +12 -12
  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 +5 -5
  251. package/.next/standalone/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  252. package/.next/standalone/.next/server/app/dashboard/mitm.html +1 -1
  253. package/.next/standalone/.next/server/app/dashboard/mitm.rsc +12 -12
  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 +12 -12
  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 +5 -5
  261. package/.next/standalone/.next/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
  262. package/.next/standalone/.next/server/app/dashboard/profile.html +1 -1
  263. package/.next/standalone/.next/server/app/dashboard/profile.rsc +13 -13
  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 +13 -13
  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 +5 -5
  271. package/.next/standalone/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  272. package/.next/standalone/.next/server/app/dashboard/providers/new.html +1 -1
  273. package/.next/standalone/.next/server/app/dashboard/providers/new.rsc +13 -13
  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 +13 -13
  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 +5 -5
  282. package/.next/standalone/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  283. package/.next/standalone/.next/server/app/dashboard/providers.html +1 -1
  284. package/.next/standalone/.next/server/app/dashboard/providers.rsc +13 -13
  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 +13 -13
  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 +5 -5
  292. package/.next/standalone/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  293. package/.next/standalone/.next/server/app/dashboard/proxy-pools.html +1 -1
  294. package/.next/standalone/.next/server/app/dashboard/proxy-pools.rsc +13 -13
  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 +13 -13
  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 +5 -5
  302. package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  303. package/.next/standalone/.next/server/app/dashboard/quota.html +2 -2
  304. package/.next/standalone/.next/server/app/dashboard/quota.rsc +13 -13
  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 +13 -13
  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 +5 -5
  312. package/.next/standalone/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  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 +12 -12
  318. package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +12 -12
  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 +5 -5
  321. package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  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 +13 -13
  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 +13 -13
  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 +5 -5
  335. package/.next/standalone/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  336. package/.next/standalone/.next/server/app/dashboard/usage.html +1 -1
  337. package/.next/standalone/.next/server/app/dashboard/usage.rsc +13 -13
  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 +13 -13
  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 +5 -5
  345. package/.next/standalone/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  346. package/.next/standalone/.next/server/app/dashboard.html +1 -1
  347. package/.next/standalone/.next/server/app/dashboard.rsc +12 -12
  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 +12 -12
  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 +5 -5
  354. package/.next/standalone/.next/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  355. package/.next/standalone/.next/server/app/index.html +1 -1
  356. package/.next/standalone/.next/server/app/index.rsc +10 -10
  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 +10 -10
  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 +5 -5
  361. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  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 +12 -12
  367. package/.next/standalone/.next/server/app/landing.segments/_full.segment.rsc +12 -12
  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 +5 -5
  370. package/.next/standalone/.next/server/app/landing.segments/_tree.segment.rsc +1 -1
  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 +12 -12
  378. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +12 -12
  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 +5 -5
  381. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  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]__0z-kiuj._.js → [root-of-the-server]__0-th9q.._.js} +2 -2
  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/_next-internal_server_app_api_internal_request-detail_route_actions_0l0f~.x.js +3 -0
  456. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_internal_usage_route_actions_058gklf.js +3 -0
  457. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0c6sbbj._.js → [root-of-the-server]__04f0xi0._.js} +2 -2
  458. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0kjg_-d._.js → [root-of-the-server]__13ps.wr._.js} +2 -2
  459. package/.next/standalone/.next/server/chunks/ssr/src_0_xhepz._.js +1 -1
  460. package/.next/standalone/.next/server/chunks/ssr/src_app_(dashboard)_dashboard_usage_page_0fz7awb.js +1 -1
  461. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  462. package/.next/standalone/.next/server/pages/404.html +1 -1
  463. package/.next/standalone/.next/server/pages/500.html +1 -1
  464. package/.next/standalone/.next/static/chunks/0-rta-yheghf7.js +1 -0
  465. package/.next/standalone/.next/static/chunks/{0~p0472sbmye6.js → 0ggs~59p2zyrg.js} +1 -1
  466. package/.next/standalone/docs/token_swap.png +0 -0
  467. package/.next/standalone/docs/token_swap_guide.md +19 -0
  468. package/.next/standalone/mitm/server.js +51 -5
  469. package/.next/standalone/mitm/usageTracker.js +524 -0
  470. package/.next/standalone/package-lock.json +2 -2
  471. package/.next/standalone/package.json +1 -1
  472. package/.next/standalone/src/app/(dashboard)/dashboard/usage/components/RequestDetailsTab.js +13 -2
  473. package/.next/standalone/src/app/api/internal/request-detail/route.js +45 -0
  474. package/.next/standalone/src/app/api/internal/usage/route.js +59 -0
  475. package/.next/standalone/src/mitm/server.js +51 -5
  476. package/.next/standalone/src/mitm/usageTracker.js +524 -0
  477. package/.next/static/chunks/0-rta-yheghf7.js +1 -0
  478. package/.next/static/chunks/{0~p0472sbmye6.js → 0ggs~59p2zyrg.js} +1 -1
  479. package/package.json +1 -1
  480. package/.next/standalone/.next/server/chunks/[root-of-the-server]__081rpq_._.js +0 -4
  481. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cix-zv._.js +0 -3
  482. package/.next/standalone/.next/static/chunks/121._9x_i3s-~.js +0 -1
  483. package/.next/static/chunks/121._9x_i3s-~.js +0 -1
  484. /package/.next/standalone/.next/static/{eALv8q_pKhx9-bE-9KiDB → G51gMWWv_zPc_nZoCBESi}/_buildManifest.js +0 -0
  485. /package/.next/standalone/.next/static/{eALv8q_pKhx9-bE-9KiDB → G51gMWWv_zPc_nZoCBESi}/_clientMiddlewareManifest.js +0 -0
  486. /package/.next/standalone/.next/static/{eALv8q_pKhx9-bE-9KiDB → G51gMWWv_zPc_nZoCBESi}/_ssgManifest.js +0 -0
  487. /package/.next/static/{eALv8q_pKhx9-bE-9KiDB → G51gMWWv_zPc_nZoCBESi}/_buildManifest.js +0 -0
  488. /package/.next/static/{eALv8q_pKhx9-bE-9KiDB → G51gMWWv_zPc_nZoCBESi}/_clientMiddlewareManifest.js +0 -0
  489. /package/.next/static/{eALv8q_pKhx9-bE-9KiDB → G51gMWWv_zPc_nZoCBESi}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[46786,(e,t,a)=>{t.exports=e.x("os",()=>require("os"))},24361,(e,t,a)=>{t.exports=e.x("util",()=>require("util"))},18622,(e,t,a)=>{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,a)=>{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,a)=>{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,a)=>{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,a)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,a)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,a)=>{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,a)=>{t.exports=e.x("fs",()=>require("fs"))},12714,(e,t,a)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(e,t,a)=>{t.exports=e.x("node:path",()=>require("node:path"))},57764,(e,t,a)=>{t.exports=e.x("node:url",()=>require("node:url"))},27699,(e,t,a)=>{t.exports=e.x("events",()=>require("events"))},2157,(e,t,a)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,a)=>{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),a=e.i(50227),i=e.i(57764);async function o(e,t,a){for(let i=0;i<t;i++)try{return await e()}catch(e){if(i<t-1)await new Promise(e=>setTimeout(e,a));else throw e}}class r{#e;#t;#a=!1;#i=null;#o=null;#r=null;#s=null;#n(e){return this.#s=e,this.#r||=new Promise((e,t)=>{this.#o=[e,t]}),new Promise((e,t)=>{this.#r?.then(e).catch(t)})}async #l(e){this.#a=!0;try{await (0,t.writeFile)(this.#t,e,"utf-8"),await o(async()=>{await (0,t.rename)(this.#t,this.#e)},10,100),this.#i?.[0]()}catch(e){throw e instanceof Error&&this.#i?.[1](e),e}finally{if(this.#a=!1,this.#i=this.#o,this.#o=this.#r=null,null!==this.#s){let e=this.#s;this.#s=null,await this.write(e)}}}constructor(e){this.#e=e,this.#t=function(e){let t=e instanceof URL?(0,i.fileURLToPath)(e):e.toString();return(0,a.join)((0,a.dirname)(t),`.${(0,a.basename)(t)}.tmp`)}(e)}async write(e){return this.#a?this.#n(e):this.#l(e)}}class s{#e;#c;constructor(e){this.#e=e,this.#c=new r(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 n{#d;#p;#u;constructor(e,{parse:t,stringify:a}){this.#d=new s(e),this.#p=t,this.#u=a}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 n{constructor(e){super(e,{parse:JSON.parse,stringify:e=>JSON.stringify(e,null,2)})}}],67059),e.s([],21023)},66680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},88947,(e,t,a)=>{t.exports=e.x("stream",()=>require("stream"))},12249,(e,t,a)=>{t.exports=e.x("constants",()=>require("constants"))},49719,(e,t,a)=>{t.exports=e.x("assert",()=>require("assert"))},69789,e=>{"use strict";e.i(26753),e.s([])},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"}},a={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"}}},i={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"}},o={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"}},r="openai-compatible-",s="anthropic-compatible-",n={...t,...a,...i,...o};function l(e){for(let t of Object.values(n))if(t.alias===e||t.id===e)return t;return null}Object.values(n).reduce((e,t)=>(e[t.alias]=t.id,e),{}),Object.values(n).reduce((e,t)=>(e[t.id]=t.alias,e),{}),e.s(["AI_PROVIDERS",0,n,"ANTHROPIC_COMPATIBLE_PREFIX",0,s,"APIKEY_PROVIDERS",0,o,"FREE_PROVIDERS",0,t,"FREE_TIER_PROVIDERS",0,a,"OAUTH_PROVIDERS",0,i,"OPENAI_COMPATIBLE_PREFIX",0,r,"getProviderAlias",0,function(e){let t=n[e];return t?.alias||e},"getProviderByAlias",0,l,"isAnthropicCompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(s)},"isOpenAICompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(r)},"resolveProviderId",0,function(e){let t=l(e);return t?.id||e}])},22701,e=>{"use strict";var t=e.i(47909),a=e.i(74017),i=e.i(96250),o=e.i(59756),r=e.i(61916),s=e.i(74677),n=e.i(69741),l=e.i(16795),c=e.i(87718),d=e.i(95169),p=e.i(47587),u=e.i(66012),m=e.i(70101),h=e.i(26937),x=e.i(10372),g=e.i(93695);e.i(20232);var v=e.i(220),w=e.i(89171);e.i(69789);var f=e.i(26753),b=e.i(88077),y=e.i(20491);async function I(e){try{let{provider:t,apiKey:a}=await e.json();if(!t||!a)return w.NextResponse.json({error:"Provider and API key required"},{status:400});let i=!1,o=null;try{if((0,b.isOpenAICompatibleProvider)(t)){let e=await (0,f.getProviderNodeById)(t);if(!e)return w.NextResponse.json({error:"OpenAI Compatible node not found"},{status:404});let o=`${e.baseUrl?.replace(/\/$/,"")}/models`;return i=(await fetch(o,{headers:{Authorization:`Bearer ${a}`}})).ok,w.NextResponse.json({valid:i,error:i?null:"Invalid API key"})}if((0,b.isAnthropicCompatibleProvider)(t)){let e=await (0,f.getProviderNodeById)(t);if(!e)return w.NextResponse.json({error:"Anthropic Compatible node not found"},{status:404});let o=e.baseUrl?.trim().replace(/\/$/,"")||"";o.endsWith("/messages")&&(o=o.slice(0,-9));let r=`${o}/models`;return i=(await fetch(r,{headers:{"x-api-key":a,"anthropic-version":"2023-06-01",Authorization:`Bearer ${a}`}})).ok,w.NextResponse.json({valid:i,error:i?null:"Invalid API key"})}switch(t){case"openai":i=(await fetch("https://api.openai.com/v1/models",{headers:{Authorization:`Bearer ${a}`}})).ok;break;case"anthropic":let e=await fetch("https://api.anthropic.com/v1/messages",{method:"POST",headers:{"x-api-key":a,"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"}]})});i=401!==e.status;break;case"gemini":i=(await fetch(`https://generativelanguage.googleapis.com/v1/models?key=${a}`)).ok;break;case"openrouter":i=(await fetch("https://openrouter.ai/api/v1/models",{headers:{Authorization:`Bearer ${a}`}})).ok;break;case"glm":case"glm-cn":case"kimi":case"minimax":case"minimax-cn":case"alicode-intl":case"alicode":{let e={glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions"};if("glm-cn"===t||"alicode"===t||"alicode-intl"===t){let o=(0,y.getDefaultModel)(t),r=await fetch(e[t],{method:"POST",headers:{Authorization:`Bearer ${a}`,"content-type":"application/json"},body:JSON.stringify({model:o,max_tokens:1,messages:[{role:"user",content:"test"}]})});i=401!==r.status&&403!==r.status}else{let o=await fetch(e[t],{method:"POST",headers:{"x-api-key":a,"anthropic-version":"2023-06-01","content-type":"application/json"},body:JSON.stringify({model:"claude-sonnet-4-20250514",max_tokens:1,messages:[{role:"user",content:"test"}]})});i=401!==o.status}break}case"deepseek":case"groq":case"xai":case"mistral":case"perplexity":case"together":case"fireworks":case"cerebras":case"cohere":case"nebius":case"siliconflow":case"hyperbolic":case"ollama":case"ollama-local":case"assemblyai":case"nanobanana":case"chutes":case"nvidia":i=(await fetch({deepseek:"https://api.deepseek.com/models",groq:"https://api.groq.com/openai/v1/models",xai:"https://api.x.ai/v1/models",mistral:"https://api.mistral.ai/v1/models",perplexity:"https://api.perplexity.ai/models",together:"https://api.together.xyz/v1/models",fireworks:"https://api.fireworks.ai/inference/v1/models",cerebras:"https://api.cerebras.ai/v1/models",cohere:"https://api.cohere.ai/v1/models",nebius:"https://api.studio.nebius.ai/v1/models",siliconflow:"https://api.siliconflow.cn/v1/models",hyperbolic:"https://api.hyperbolic.xyz/v1/models",ollama:"https://ollama.com/api/tags","ollama-local":"http://localhost:11434/api/tags",assemblyai:"https://api.assemblyai.com/v1/account",nanobanana:"https://api.nanobananaapi.ai/v1/models",chutes:"https://llm.chutes.ai/v1/models",nvidia:"https://integrate.api.nvidia.com/v1/models"}[t],{headers:{Authorization:`Bearer ${a}`}})).ok;break;case"deepgram":i=(await fetch("https://api.deepgram.com/v1/projects",{headers:{Authorization:`Token ${a}`}})).ok;break;case"vertex":{let e=(()=>{try{let e=JSON.parse(a);return"service_account"===e.type?e:null}catch{return null}})();if(e)i=!!(e.client_email&&e.private_key&&e.project_id);else{let e=await fetch(`https://aiplatform.googleapis.com/v1/publishers/google/models/__probe__:generateContent?key=${a}`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"});i=401!==e.status&&403!==e.status}break}case"vertex-partner":{let e=(()=>{try{let e=JSON.parse(a);return"service_account"===e.type?e:null}catch{return null}})();if(e)i=!!(e.client_email&&e.private_key&&e.project_id);else{let e=await fetch(`https://aiplatform.googleapis.com/v1/publishers/google/models/__probe__:generateContent?key=${a}`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"});i=401!==e.status&&403!==e.status}break}default:return w.NextResponse.json({error:"Provider validation not supported"},{status:400})}}catch(e){o=e.message,i=!1}return w.NextResponse.json({valid:i,error:i?null:o||"Invalid API key"})}catch(e){return console.log("Error validating API key:",e),w.NextResponse.json({error:"Validation failed"},{status:500})}}e.s(["POST",0,I],55764);var k=e.i(55764);let A=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/providers/validate/route",pathname:"/api/providers/validate",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/providers/validate/route.js",nextConfigOutput:"standalone",userland:k,...{}}),{workAsyncStorage:R,workUnitAsyncStorage:C,serverHooks:P}=A;async function _(e,t,i){i.requestMeta&&(0,o.setRequestMeta)(e,i.requestMeta),A.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/providers/validate/route";w=w.replace(/\/index$/,"")||"/";let f=await A.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!f)return t.statusCode=400,t.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve()),null;let{buildId:b,params:y,nextConfig:I,parsedUrl:k,isDraftMode:R,prerenderManifest:C,routerServerContext:P,isOnDemandRevalidate:_,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:O,serverActionsManifest:N}=f,q=(0,n.normalizeAppPath)(w),S=!!(C.dynamicRoutes[q]||C.routes[F]),T=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,k,!1):t.end("This page could not be found"),null);if(S&&!R){let e=!!C.routes[F],t=C.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(I.adapterPath)return await T();throw new g.NoFallbackError}}let D=null;!S||A.isDev||R||(D="/index"===(D=F)?"/":D);let j=!0===A.isDev||!S,B=S&&!j;N&&O&&(0,s.setManifestsSingleton)({page:w,clientReferenceManifest:O,serverActionsManifest:N});let M=e.method||"GET",$=(0,r.getTracer)(),U=$.getActiveScopeSpan(),H=!!(null==P?void 0:P.isWrappedByNextServer),L=!!(0,o.getRequestMeta)(e,"minimalMode"),G=(0,o.getRequestMeta)(e,"incrementalCache")||await A.getIncrementalCache(e,I,C,L);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let K={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!I.experimental.authInterrupts},cacheComponents:!!I.cacheComponents,supportsDynamicResponse:j,incrementalCache:G,cacheLifeProfiles:I.cacheLife,waitUntil:i.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,i,o)=>A.onRequestError(e,t,i,o,P)},sharedContext:{buildId:b}},V=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),J=c.NextRequestAdapter.fromNodeNextRequest(V,(0,c.signalFromNodeResponse)(t));try{let o,s=async e=>A.handle(J,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=$.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=a.get("next.route");if(i){let t=`${M} ${i}`;e.setAttributes({"next.route":i,"http.route":i,"next.span_name":t}),e.updateName(t),o&&o!==e&&(o.setAttribute("http.route",i),o.updateName(t))}else e.updateName(`${M} ${w}`)}),n=async o=>{var r,n;let l=async({previousCacheEntry:a})=>{try{if(!L&&_&&E&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await s(o);e.fetchMetrics=K.renderOpts.fetchMetrics;let n=K.renderOpts.pendingWaitUntil;n&&i.waitUntil&&(i.waitUntil(n),n=void 0);let l=K.renderOpts.collectedTags;if(!S)return await (0,u.sendResponse)(V,z,r,K.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(r.headers);l&&(t[x.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,i=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:i}}}}catch(t){throw(null==a?void 0:a.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:_})},!1,P),t}},c=await A.handleResponse({req:e,nextConfig:I,cacheKey:D,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:E,responseGenerator:l,waitUntil:i.waitUntil,isMinimalMode:L});if(!S)return null;if((null==c||null==(r=c.value)?void 0:r.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(n=c.value)?void 0:n.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",_?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),R&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,m.fromNodeOutgoingHttpHeaders)(c.value.headers);return L&&S||d.delete(x.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,h.getCacheControlHeader)(c.cacheControl)),await (0,u.sendResponse)(V,z,new Response(c.value.body,{headers:d,status:c.value.status||200})),null};H&&U?await n(U):(o=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(d.BaseServerSpan.handleRequest,{spanName:`${M} ${w}`,kind:r.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},n),void 0,!H))}catch(t){if(t instanceof g.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:_})},!1,P),S)throw t;return await (0,u.sendResponse)(V,z,new Response(null,{status:500})),null}}e.s(["handler",0,_,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:R,workUnitAsyncStorage:C})},"routeModule",0,A,"serverHooks",0,P,"workAsyncStorage",0,R,"workUnitAsyncStorage",0,C],22701)},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=[46786,(e,t,a)=>{t.exports=e.x("os",()=>require("os"))},18622,(e,t,a)=>{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,a)=>{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,a)=>{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,a)=>{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,a)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,a)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},24361,(e,t,a)=>{t.exports=e.x("util",()=>require("util"))},93695,(e,t,a)=>{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,a)=>{t.exports=e.x("fs",()=>require("fs"))},12714,(e,t,a)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(e,t,a)=>{t.exports=e.x("node:path",()=>require("node:path"))},57764,(e,t,a)=>{t.exports=e.x("node:url",()=>require("node:url"))},27699,(e,t,a)=>{t.exports=e.x("events",()=>require("events"))},2157,(e,t,a)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,a)=>{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),a=e.i(50227),i=e.i(57764);async function o(e,t,a){for(let i=0;i<t;i++)try{return await e()}catch(e){if(i<t-1)await new Promise(e=>setTimeout(e,a));else throw e}}class r{#e;#t;#a=!1;#i=null;#o=null;#r=null;#s=null;#n(e){return this.#s=e,this.#r||=new Promise((e,t)=>{this.#o=[e,t]}),new Promise((e,t)=>{this.#r?.then(e).catch(t)})}async #l(e){this.#a=!0;try{await (0,t.writeFile)(this.#t,e,"utf-8"),await o(async()=>{await (0,t.rename)(this.#t,this.#e)},10,100),this.#i?.[0]()}catch(e){throw e instanceof Error&&this.#i?.[1](e),e}finally{if(this.#a=!1,this.#i=this.#o,this.#o=this.#r=null,null!==this.#s){let e=this.#s;this.#s=null,await this.write(e)}}}constructor(e){this.#e=e,this.#t=function(e){let t=e instanceof URL?(0,i.fileURLToPath)(e):e.toString();return(0,a.join)((0,a.dirname)(t),`.${(0,a.basename)(t)}.tmp`)}(e)}async write(e){return this.#a?this.#n(e):this.#l(e)}}class s{#e;#c;constructor(e){this.#e=e,this.#c=new r(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 n{#d;#p;#u;constructor(e,{parse:t,stringify:a}){this.#d=new s(e),this.#p=t,this.#u=a}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 n{constructor(e){super(e,{parse:JSON.parse,stringify:e=>JSON.stringify(e,null,2)})}}],67059),e.s([],21023)},66680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},88947,(e,t,a)=>{t.exports=e.x("stream",()=>require("stream"))},12249,(e,t,a)=>{t.exports=e.x("constants",()=>require("constants"))},49719,(e,t,a)=>{t.exports=e.x("assert",()=>require("assert"))},69789,e=>{"use strict";e.i(26753),e.s([])},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"}},a={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"}}},i={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"}},o={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"}},r="openai-compatible-",s="anthropic-compatible-",n={...t,...a,...i,...o};function l(e){for(let t of Object.values(n))if(t.alias===e||t.id===e)return t;return null}Object.values(n).reduce((e,t)=>(e[t.alias]=t.id,e),{}),Object.values(n).reduce((e,t)=>(e[t.id]=t.alias,e),{}),e.s(["AI_PROVIDERS",0,n,"ANTHROPIC_COMPATIBLE_PREFIX",0,s,"APIKEY_PROVIDERS",0,o,"FREE_PROVIDERS",0,t,"FREE_TIER_PROVIDERS",0,a,"OAUTH_PROVIDERS",0,i,"OPENAI_COMPATIBLE_PREFIX",0,r,"getProviderAlias",0,function(e){let t=n[e];return t?.alias||e},"getProviderByAlias",0,l,"isAnthropicCompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(s)},"isOpenAICompatibleProvider",0,function(e){return"string"==typeof e&&e.startsWith(r)},"resolveProviderId",0,function(e){let t=l(e);return t?.id||e}])},22701,e=>{"use strict";var t=e.i(47909),a=e.i(74017),i=e.i(96250),o=e.i(59756),r=e.i(61916),s=e.i(74677),n=e.i(69741),l=e.i(16795),c=e.i(87718),d=e.i(95169),p=e.i(47587),u=e.i(66012),m=e.i(70101),h=e.i(26937),x=e.i(10372),g=e.i(93695);e.i(20232);var v=e.i(220),w=e.i(89171);e.i(69789);var f=e.i(26753),b=e.i(88077),y=e.i(20491);async function I(e){try{let{provider:t,apiKey:a}=await e.json();if(!t||!a)return w.NextResponse.json({error:"Provider and API key required"},{status:400});let i=!1,o=null;try{if((0,b.isOpenAICompatibleProvider)(t)){let e=await (0,f.getProviderNodeById)(t);if(!e)return w.NextResponse.json({error:"OpenAI Compatible node not found"},{status:404});let o=`${e.baseUrl?.replace(/\/$/,"")}/models`;return i=(await fetch(o,{headers:{Authorization:`Bearer ${a}`}})).ok,w.NextResponse.json({valid:i,error:i?null:"Invalid API key"})}if((0,b.isAnthropicCompatibleProvider)(t)){let e=await (0,f.getProviderNodeById)(t);if(!e)return w.NextResponse.json({error:"Anthropic Compatible node not found"},{status:404});let o=e.baseUrl?.trim().replace(/\/$/,"")||"";o.endsWith("/messages")&&(o=o.slice(0,-9));let r=`${o}/models`;return i=(await fetch(r,{headers:{"x-api-key":a,"anthropic-version":"2023-06-01",Authorization:`Bearer ${a}`}})).ok,w.NextResponse.json({valid:i,error:i?null:"Invalid API key"})}switch(t){case"openai":i=(await fetch("https://api.openai.com/v1/models",{headers:{Authorization:`Bearer ${a}`}})).ok;break;case"anthropic":let e=await fetch("https://api.anthropic.com/v1/messages",{method:"POST",headers:{"x-api-key":a,"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"}]})});i=401!==e.status;break;case"gemini":i=(await fetch(`https://generativelanguage.googleapis.com/v1/models?key=${a}`)).ok;break;case"openrouter":i=(await fetch("https://openrouter.ai/api/v1/models",{headers:{Authorization:`Bearer ${a}`}})).ok;break;case"glm":case"glm-cn":case"kimi":case"minimax":case"minimax-cn":case"alicode-intl":case"alicode":{let e={glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions"};if("glm-cn"===t||"alicode"===t||"alicode-intl"===t){let o=(0,y.getDefaultModel)(t),r=await fetch(e[t],{method:"POST",headers:{Authorization:`Bearer ${a}`,"content-type":"application/json"},body:JSON.stringify({model:o,max_tokens:1,messages:[{role:"user",content:"test"}]})});i=401!==r.status&&403!==r.status}else{let o=await fetch(e[t],{method:"POST",headers:{"x-api-key":a,"anthropic-version":"2023-06-01","content-type":"application/json"},body:JSON.stringify({model:"claude-sonnet-4-20250514",max_tokens:1,messages:[{role:"user",content:"test"}]})});i=401!==o.status}break}case"deepseek":case"groq":case"xai":case"mistral":case"perplexity":case"together":case"fireworks":case"cerebras":case"cohere":case"nebius":case"siliconflow":case"hyperbolic":case"ollama":case"ollama-local":case"assemblyai":case"nanobanana":case"chutes":case"nvidia":i=(await fetch({deepseek:"https://api.deepseek.com/models",groq:"https://api.groq.com/openai/v1/models",xai:"https://api.x.ai/v1/models",mistral:"https://api.mistral.ai/v1/models",perplexity:"https://api.perplexity.ai/models",together:"https://api.together.xyz/v1/models",fireworks:"https://api.fireworks.ai/inference/v1/models",cerebras:"https://api.cerebras.ai/v1/models",cohere:"https://api.cohere.ai/v1/models",nebius:"https://api.studio.nebius.ai/v1/models",siliconflow:"https://api.siliconflow.cn/v1/models",hyperbolic:"https://api.hyperbolic.xyz/v1/models",ollama:"https://ollama.com/api/tags","ollama-local":"http://localhost:11434/api/tags",assemblyai:"https://api.assemblyai.com/v1/account",nanobanana:"https://api.nanobananaapi.ai/v1/models",chutes:"https://llm.chutes.ai/v1/models",nvidia:"https://integrate.api.nvidia.com/v1/models"}[t],{headers:{Authorization:`Bearer ${a}`}})).ok;break;case"deepgram":i=(await fetch("https://api.deepgram.com/v1/projects",{headers:{Authorization:`Token ${a}`}})).ok;break;case"vertex":{let e=(()=>{try{let e=JSON.parse(a);return"service_account"===e.type?e:null}catch{return null}})();if(e)i=!!(e.client_email&&e.private_key&&e.project_id);else{let e=await fetch(`https://aiplatform.googleapis.com/v1/publishers/google/models/__probe__:generateContent?key=${a}`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"});i=401!==e.status&&403!==e.status}break}case"vertex-partner":{let e=(()=>{try{let e=JSON.parse(a);return"service_account"===e.type?e:null}catch{return null}})();if(e)i=!!(e.client_email&&e.private_key&&e.project_id);else{let e=await fetch(`https://aiplatform.googleapis.com/v1/publishers/google/models/__probe__:generateContent?key=${a}`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"});i=401!==e.status&&403!==e.status}break}default:return w.NextResponse.json({error:"Provider validation not supported"},{status:400})}}catch(e){o=e.message,i=!1}return w.NextResponse.json({valid:i,error:i?null:o||"Invalid API key"})}catch(e){return console.log("Error validating API key:",e),w.NextResponse.json({error:"Validation failed"},{status:500})}}e.s(["POST",0,I],55764);var k=e.i(55764);let A=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/providers/validate/route",pathname:"/api/providers/validate",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/providers/validate/route.js",nextConfigOutput:"standalone",userland:k,...{}}),{workAsyncStorage:R,workUnitAsyncStorage:C,serverHooks:P}=A;async function _(e,t,i){i.requestMeta&&(0,o.setRequestMeta)(e,i.requestMeta),A.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/providers/validate/route";w=w.replace(/\/index$/,"")||"/";let f=await A.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!f)return t.statusCode=400,t.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve()),null;let{buildId:b,params:y,nextConfig:I,parsedUrl:k,isDraftMode:R,prerenderManifest:C,routerServerContext:P,isOnDemandRevalidate:_,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:O,serverActionsManifest:N}=f,q=(0,n.normalizeAppPath)(w),S=!!(C.dynamicRoutes[q]||C.routes[F]),T=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,k,!1):t.end("This page could not be found"),null);if(S&&!R){let e=!!C.routes[F],t=C.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(I.adapterPath)return await T();throw new g.NoFallbackError}}let D=null;!S||A.isDev||R||(D="/index"===(D=F)?"/":D);let j=!0===A.isDev||!S,B=S&&!j;N&&O&&(0,s.setManifestsSingleton)({page:w,clientReferenceManifest:O,serverActionsManifest:N});let M=e.method||"GET",$=(0,r.getTracer)(),U=$.getActiveScopeSpan(),H=!!(null==P?void 0:P.isWrappedByNextServer),L=!!(0,o.getRequestMeta)(e,"minimalMode"),G=(0,o.getRequestMeta)(e,"incrementalCache")||await A.getIncrementalCache(e,I,C,L);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let K={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!I.experimental.authInterrupts},cacheComponents:!!I.cacheComponents,supportsDynamicResponse:j,incrementalCache:G,cacheLifeProfiles:I.cacheLife,waitUntil:i.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,i,o)=>A.onRequestError(e,t,i,o,P)},sharedContext:{buildId:b}},V=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),J=c.NextRequestAdapter.fromNodeNextRequest(V,(0,c.signalFromNodeResponse)(t));try{let o,s=async e=>A.handle(J,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=$.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=a.get("next.route");if(i){let t=`${M} ${i}`;e.setAttributes({"next.route":i,"http.route":i,"next.span_name":t}),e.updateName(t),o&&o!==e&&(o.setAttribute("http.route",i),o.updateName(t))}else e.updateName(`${M} ${w}`)}),n=async o=>{var r,n;let l=async({previousCacheEntry:a})=>{try{if(!L&&_&&E&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await s(o);e.fetchMetrics=K.renderOpts.fetchMetrics;let n=K.renderOpts.pendingWaitUntil;n&&i.waitUntil&&(i.waitUntil(n),n=void 0);let l=K.renderOpts.collectedTags;if(!S)return await (0,u.sendResponse)(V,z,r,K.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(r.headers);l&&(t[x.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,i=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:i}}}}catch(t){throw(null==a?void 0:a.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:_})},!1,P),t}},c=await A.handleResponse({req:e,nextConfig:I,cacheKey:D,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:E,responseGenerator:l,waitUntil:i.waitUntil,isMinimalMode:L});if(!S)return null;if((null==c||null==(r=c.value)?void 0:r.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(n=c.value)?void 0:n.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",_?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),R&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,m.fromNodeOutgoingHttpHeaders)(c.value.headers);return L&&S||d.delete(x.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,h.getCacheControlHeader)(c.cacheControl)),await (0,u.sendResponse)(V,z,new Response(c.value.body,{headers:d,status:c.value.status||200})),null};H&&U?await n(U):(o=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(d.BaseServerSpan.handleRequest,{spanName:`${M} ${w}`,kind:r.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},n),void 0,!H))}catch(t){if(t instanceof g.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:_})},!1,P),S)throw t;return await (0,u.sendResponse)(V,z,new Response(null,{status:500})),null}}e.s(["handler",0,_,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:R,workUnitAsyncStorage:C})},"routeModule",0,A,"serverHooks",0,P,"workAsyncStorage",0,R,"workUnitAsyncStorage",0,C],22701)},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__0shx3oz._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0_zm3dg._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[24361,(t,e,r)=>{e.exports=t.x("util",()=>require("util"))},18622,(t,e,r)=>{e.exports=t.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,(t,e,r)=>{e.exports=t.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(t,e,r)=>{e.exports=t.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,(t,e,r)=>{e.exports=t.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,(t,e,r)=>{e.exports=t.x("path",()=>require("path"))},70406,(t,e,r)=>{e.exports=t.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(t,e,r)=>{e.exports=t.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},22734,(t,e,r)=>{e.exports=t.x("fs",()=>require("fs"))},12714,(t,e,r)=>{e.exports=t.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(t,e,r)=>{e.exports=t.x("node:path",()=>require("node:path"))},57764,(t,e,r)=>{e.exports=t.x("node:url",()=>require("node:url"))},27699,(t,e,r)=>{e.exports=t.x("events",()=>require("events"))},2157,(t,e,r)=>{e.exports=t.x("node:fs",()=>require("node:fs"))},60526,(t,e,r)=>{e.exports=t.x("node:os",()=>require("node:os"))},22593,67059,21023,t=>{"use strict";t.s(["Low",0,class{adapter;data;constructor(t,e){!function(t,e){if(void 0===t)throw Error("lowdb: missing adapter");if(void 0===e)throw Error("lowdb: missing default data")}(t,e),this.adapter=t,this.data=e}async read(){let t=await this.adapter.read();t&&(this.data=t)}async write(){this.data&&await this.adapter.write(this.data)}async update(t){t(this.data),await this.write()}}],22593),t.i(2157);var e=t.i(12714),r=t.i(50227),n=t.i(57764);async function o(t,e,r){for(let n=0;n<e;n++)try{return await t()}catch(t){if(n<e-1)await new Promise(t=>setTimeout(t,r));else throw t}}class i{#t;#e;#r=!1;#n=null;#o=null;#i=null;#a=null;#s(t){return this.#a=t,this.#i||=new Promise((t,e)=>{this.#o=[t,e]}),new Promise((t,e)=>{this.#i?.then(t).catch(e)})}async #c(t){this.#r=!0;try{await (0,e.writeFile)(this.#e,t,"utf-8"),await o(async()=>{await (0,e.rename)(this.#e,this.#t)},10,100),this.#n?.[0]()}catch(t){throw t instanceof Error&&this.#n?.[1](t),t}finally{if(this.#r=!1,this.#n=this.#o,this.#o=this.#i=null,null!==this.#a){let t=this.#a;this.#a=null,await this.write(t)}}}constructor(t){this.#t=t,this.#e=function(t){let e=t instanceof URL?(0,n.fileURLToPath)(t):t.toString();return(0,r.join)((0,r.dirname)(e),`.${(0,r.basename)(e)}.tmp`)}(t)}async write(t){return this.#r?this.#s(t):this.#c(t)}}class a{#t;#u;constructor(t){this.#t=t,this.#u=new i(t)}async read(){let t;try{t=await (0,e.readFile)(this.#t,"utf-8")}catch(t){if("ENOENT"===t.code)return null;throw t}return t}write(t){return this.#u.write(t)}}class s{#l;#f;#p;constructor(t,{parse:e,stringify:r}){this.#l=new a(t),this.#f=e,this.#p=r}async read(){let t=await this.#l.read();return null===t?null:this.#f(t)}write(t){return this.#l.write(this.#p(t))}}t.s(["JSONFile",0,class extends s{constructor(t){super(t,{parse:JSON.parse,stringify:t=>JSON.stringify(t,null,2)})}}],67059),t.s([],21023)},66680,(t,e,r)=>{e.exports=t.x("node:crypto",()=>require("node:crypto"))},88947,(t,e,r)=>{e.exports=t.x("stream",()=>require("stream"))},12249,(t,e,r)=>{e.exports=t.x("constants",()=>require("constants"))},49719,(t,e,r)=>{e.exports=t.x("assert",()=>require("assert"))},54799,(t,e,r)=>{e.exports=t.x("crypto",()=>require("crypto"))},33405,(t,e,r)=>{e.exports=t.x("child_process",()=>require("child_process"))},16828,(t,e,r)=>{t.e,e.exports=function(e,r){var n=[function(t,e,r){t.exports=r(34)},function(t,e,r){var n=r(29)("wks"),o=r(33),i=r(2).Symbol,a="function"==typeof i;(t.exports=function(t){return n[t]||(n[t]=a&&i[t]||(a?i:o)("Symbol."+t))}).store=n},function(t,e){var r=t.exports="u">typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=r)},function(t,e,r){var n=r(9);t.exports=function(t){if(!n(t))throw TypeError(t+" is not an object!");return t}},function(t,e,r){t.exports=!r(24)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e,r){var n=r(12),o=r(17);t.exports=r(4)?function(t,e,r){return n.f(t,e,o(1,r))}:function(t,e,r){return t[e]=r,t}},function(t,e){var r=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=r)},function(t,e,r){var n=r(14);t.exports=function(t,e,r){if(n(t),void 0===e)return t;switch(r){case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,o){return t.call(e,r,n,o)}}return function(){return t.apply(e,arguments)}}},function(t,e){var r={}.hasOwnProperty;t.exports=function(t,e){return r.call(t,e)}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e){t.exports={}},function(t,e){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},function(t,e,r){var n=r(3),o=r(26),i=r(32),a=Object.defineProperty;e.f=r(4)?Object.defineProperty:function(t,e,r){if(n(t),e=i(e,!0),n(r),o)try{return a(t,e,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported!");return"value"in r&&(t[e]=r.value),t}},function(t,e,r){var n=r(42),o=r(15);t.exports=function(t){return n(o(t))}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,r){var n=r(9),o=r(2).document,i=n(o)&&n(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,r){var n=r(12).f,o=r(8),i=r(1)("toStringTag");t.exports=function(t,e,r){t&&!o(t=r?t:t.prototype,i)&&n(t,i,{configurable:!0,value:e})}},function(t,e,r){var n=r(29)("keys"),o=r(33);t.exports=function(t){return n[t]||(n[t]=o(t))}},function(t,e){var r=Math.ceil,n=Math.floor;t.exports=function(t){return isNaN(t*=1)?0:(t>0?n:r)(t)}},function(t,e,r){var n=r(11),o=r(1)("toStringTag"),i="Arguments"==n(function(){return arguments}()),a=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,r,s;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=a(e=Object(t),o))?r:i?n(e):"Object"==(s=n(e))&&"function"==typeof e.callee?"Arguments":s}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,r){var n=r(2),o=r(6),i=r(7),a=r(5),s="prototype",c=function(t,e,r){var u,l,f,p=t&c.F,d=t&c.G,h=t&c.S,v=t&c.P,x=t&c.B,y=t&c.W,m=d?o:o[e]||(o[e]={}),w=m[s],g=d?n:h?n[e]:(n[e]||{})[s];for(u in d&&(r=e),r)(l=!p&&g&&void 0!==g[u])&&u in m||(f=l?g[u]:r[u],m[u]=d&&"function"!=typeof g[u]?r[u]:x&&l?i(f,n):y&&g[u]==f?function(t){var e=function(e,r,n){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,r)}return new t(e,r,n)}return t.apply(this,arguments)};return e[s]=t[s],e}(f):v&&"function"==typeof f?i(Function.call,f):f,v&&((m.virtual||(m.virtual={}))[u]=f,t&c.R&&w&&!w[u]&&a(w,u,f)))};c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,r){t.exports=r(2).document&&document.documentElement},function(t,e,r){t.exports=!r(4)&&!r(24)(function(){return 7!=Object.defineProperty(r(16)("div"),"a",{get:function(){return 7}}).a})},function(t,e,r){"use strict";var n=r(28),o=r(23),i=r(57),a=r(5),s=r(8),c=r(10),u=r(45),l=r(18),f=r(52),p=r(1)("iterator"),d=!([].keys&&"next"in[].keys()),h="keys",v="values",x=function(){return this};t.exports=function(t,e,r,y,m,w,g){u(r,e,y);var _,E,b,R=function(t){if(!d&&t in S)return S[t];switch(t){case h:case v:return function(){return new r(this,t)}}return function(){return new r(this,t)}},O=e+" Iterator",j=m==v,P=!1,S=t.prototype,k=S[p]||S["@@iterator"]||m&&S[m],A=k||R(m),C=m?j?R("entries"):A:void 0,T="Array"==e&&S.entries||k;if(T&&(b=f(T.call(new t)))!==Object.prototype&&(l(b,O,!0),n||s(b,p)||a(b,p,x)),j&&k&&k.name!==v&&(P=!0,A=function(){return k.call(this)}),(!n||g)&&(d||P||!S[p])&&a(S,p,A),c[e]=A,c[O]=x,m)if(_={values:j?A:R(v),keys:w?A:R(h),entries:C},g)for(E in _)E in S||i(S,E,_[E]);else o(o.P+o.F*(d||P),e,_);return _}},function(t,e){t.exports=!0},function(t,e,r){var n=r(2),o="__core-js_shared__",i=n[o]||(n[o]={});t.exports=function(t){return i[t]||(i[t]={})}},function(t,e,r){var n,o,i,a=r(7),s=r(41),c=r(25),u=r(16),l=r(2),f=l.process,p=l.setImmediate,d=l.clearImmediate,h=l.MessageChannel,v=0,x={},y="onreadystatechange",m=function(){var t=+this;if(x.hasOwnProperty(t)){var e=x[t];delete x[t],e()}},w=function(t){m.call(t.data)};p&&d||(p=function(t){for(var e=[],r=1;arguments.length>r;)e.push(arguments[r++]);return x[++v]=function(){s("function"==typeof t?t:Function(t),e)},n(v),v},d=function(t){delete x[t]},"process"==r(11)(f)?n=function(t){f.nextTick(a(m,t,1))}:h?(i=(o=new h).port2,o.port1.onmessage=w,n=a(i.postMessage,i,1)):l.addEventListener&&"function"==typeof postMessage&&!l.importScripts?(n=function(t){l.postMessage(t+"","*")},l.addEventListener("message",w,!1)):n=y in u("script")?function(t){c.appendChild(u("script"))[y]=function(){c.removeChild(this),m.call(t)}}:function(t){setTimeout(a(m,t,1),0)}),t.exports={set:p,clear:d}},function(t,e,r){var n=r(20),o=Math.min;t.exports=function(t){return t>0?o(n(t),0x1fffffffffffff):0}},function(t,e,r){var n=r(9);t.exports=function(t,e){var r,o;if(!n(t))return t;if(e&&"function"==typeof(r=t.toString)&&!n(o=r.call(t))||"function"==typeof(r=t.valueOf)&&!n(o=r.call(t))||!e&&"function"==typeof(r=t.toString)&&!n(o=r.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,e){var r=0,n=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++r+n).toString(36))}},function(t,e,r){"use strict";function n(t){return(0,c.createHash)("sha256").update(t).digest("hex")}function o(t){switch(u){case"darwin":return t.split("IOPlatformUUID")[1].split("\n")[0].replace(/\=|\s+|\"/gi,"").toLowerCase();case"win32":return t.toString().split("REG_SZ")[1].replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"linux":case"freebsd":return t.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();default:throw Error("Unsupported platform: "+process.platform)}}Object.defineProperty(e,"__esModule",{value:!0});var i,a=(i=r(35))&&i.__esModule?i:{default:i};e.machineIdSync=function(t){var e=o((0,s.execSync)(l[u]).toString());return t?e:n(e)},e.machineId=function(t){return new a.default(function(e,r){return(0,s.exec)(l[u],{},function(i,a,s){if(i)return r(Error("Error while obtaining machine id: "+i.stack));var c=o(a.toString());return e(t?c:n(c))})})};var s=r(70),c=r(71),u=process.platform,l={darwin:"ioreg -rd1 -c IOPlatformExpertDevice",win32:"undefined\\REG.exe QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid",linux:"( cat /var/lib/dbus/machine-id /etc/machine-id 2> /dev/null || hostname ) | head -n 1 || :",freebsd:"kenv -q smbios.system.uuid || sysctl -n kern.hostuuid"}},function(t,e,r){t.exports={default:r(36),__esModule:!0}},function(t,e,r){r(66),r(68),r(69),r(67),t.exports=r(6).Promise},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e,r,n){if(!(t instanceof e)||void 0!==n&&n in t)throw TypeError(r+": incorrect invocation!");return t}},function(t,e,r){var n=r(13),o=r(31),i=r(62);t.exports=function(t){return function(e,r,a){var s,c=n(e),u=o(c.length),l=i(a,u);if(t&&r!=r){for(;u>l;)if((s=c[l++])!=s)return!0}else for(;u>l;l++)if((t||l in c)&&c[l]===r)return t||l||0;return!t&&-1}}},function(t,e,r){var n=r(7),o=r(44),i=r(43),a=r(3),s=r(31),c=r(64),u={},l={},e=t.exports=function(t,e,r,f,p){var d,h,v,x,y=p?function(){return t}:c(t),m=n(r,f,e?2:1),w=0;if("function"!=typeof y)throw TypeError(t+" is not iterable!");if(i(y)){for(d=s(t.length);d>w;w++)if((x=e?m(a(h=t[w])[0],h[1]):m(t[w]))===u||x===l)return x}else for(v=y.call(t);!(h=v.next()).done;)if((x=o(v,m,h.value,e))===u||x===l)return x};e.BREAK=u,e.RETURN=l},function(t,e){t.exports=function(t,e,r){var n=void 0===r;switch(e.length){case 0:return n?t():t.call(r);case 1:return n?t(e[0]):t.call(r,e[0]);case 2:return n?t(e[0],e[1]):t.call(r,e[0],e[1]);case 3:return n?t(e[0],e[1],e[2]):t.call(r,e[0],e[1],e[2]);case 4:return n?t(e[0],e[1],e[2],e[3]):t.call(r,e[0],e[1],e[2],e[3])}return t.apply(r,e)}},function(t,e,r){var n=r(11);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==n(t)?t.split(""):Object(t)}},function(t,e,r){var n=r(10),o=r(1)("iterator"),i=Array.prototype;t.exports=function(t){return void 0!==t&&(n.Array===t||i[o]===t)}},function(t,e,r){var n=r(3);t.exports=function(t,e,r,o){try{return o?e(n(r)[0],r[1]):e(r)}catch(e){var i=t.return;throw void 0!==i&&n(i.call(t)),e}}},function(t,e,r){"use strict";var n=r(49),o=r(17),i=r(18),a={};r(5)(a,r(1)("iterator"),function(){return this}),t.exports=function(t,e,r){t.prototype=n(a,{next:o(1,r)}),i(t,e+" Iterator")}},function(t,e,r){var n=r(1)("iterator"),o=!1;try{var i=[7][n]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!o)return!1;var r=!1;try{var i=[7],a=i[n]();a.next=function(){return{done:r=!0}},i[n]=function(){return a},t(i)}catch(t){}return r}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,r){var n=r(2),o=r(30).set,i=n.MutationObserver||n.WebKitMutationObserver,a=n.process,s=n.Promise,c="process"==r(11)(a);t.exports=function(){var t,e,r,u=function(){var n,o;for(c&&(n=a.domain)&&n.exit();t;){o=t.fn,t=t.next;try{o()}catch(n){throw t?r():e=void 0,n}}e=void 0,n&&n.enter()};if(c)r=function(){a.nextTick(u)};else if(i){var l=!0,f=document.createTextNode("");new i(u).observe(f,{characterData:!0}),r=function(){f.data=l=!l}}else if(s&&s.resolve){var p=s.resolve();r=function(){p.then(u)}}else r=function(){o.call(n,u)};return function(n){var o={fn:n,next:void 0};e&&(e.next=o),t||(t=o,r()),e=o}}},function(t,e,r){var n=r(3),o=r(50),i=r(22),a=r(19)("IE_PROTO"),s=function(){},c="prototype",u=function(){var t,e=r(16)("iframe"),n=i.length;for(e.style.display="none",r(25).appendChild(e),e.src="javascript:",(t=e.contentWindow.document).open(),t.write("<script>document.F=Object</script>"),t.close(),u=t.F;n--;)delete u[c][i[n]];return u()};t.exports=Object.create||function(t,e){var r;return null!==t?(s[c]=n(t),r=new s,s[c]=null,r[a]=t):r=u(),void 0===e?r:o(r,e)}},function(t,e,r){var n=r(12),o=r(3),i=r(54);t.exports=r(4)?Object.defineProperties:function(t,e){o(t);for(var r,a=i(e),s=a.length,c=0;s>c;)n.f(t,r=a[c++],e[r]);return t}},function(t,e,r){var n=r(55),o=r(17),i=r(13),a=r(32),s=r(8),c=r(26),u=Object.getOwnPropertyDescriptor;e.f=r(4)?u:function(t,e){if(t=i(t),e=a(e,!0),c)try{return u(t,e)}catch(t){}if(s(t,e))return o(!n.f.call(t,e),t[e])}},function(t,e,r){var n=r(8),o=r(63),i=r(19)("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return n(t=o(t),i)?t[i]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},function(t,e,r){var n=r(8),o=r(13),i=r(39)(!1),a=r(19)("IE_PROTO");t.exports=function(t,e){var r,s=o(t),c=0,u=[];for(r in s)r!=a&&n(s,r)&&u.push(r);for(;e.length>c;)n(s,r=e[c++])&&(~i(u,r)||u.push(r));return u}},function(t,e,r){var n=r(53),o=r(22);t.exports=Object.keys||function(t){return n(t,o)}},function(t,e){e.f=({}).propertyIsEnumerable},function(t,e,r){var n=r(5);t.exports=function(t,e,r){for(var o in e)r&&t[o]?t[o]=e[o]:n(t,o,e[o]);return t}},function(t,e,r){t.exports=r(5)},function(t,e,r){var n=r(9),o=r(3),i=function(t,e){if(o(t),!n(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,n){try{(n=r(7)(Function.call,r(51).f(Object.prototype,"__proto__").set,2))(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,r){return i(t,r),e?t.__proto__=r:n(t,r),t}}({},!1):void 0),check:i}},function(t,e,r){"use strict";var n=r(2),o=r(6),i=r(12),a=r(4),s=r(1)("species");t.exports=function(t){var e="function"==typeof o[t]?o[t]:n[t];a&&e&&!e[s]&&i.f(e,s,{configurable:!0,get:function(){return this}})}},function(t,e,r){var n=r(3),o=r(14),i=r(1)("species");t.exports=function(t,e){var r,a=n(t).constructor;return void 0===a||void 0==(r=n(a)[i])?e:o(r)}},function(t,e,r){var n=r(20),o=r(15);t.exports=function(t){return function(e,r){var i,a,s=String(o(e)),c=n(r),u=s.length;return c<0||c>=u?t?"":void 0:(i=s.charCodeAt(c))<55296||i>56319||c+1===u||(a=s.charCodeAt(c+1))<56320||a>57343?t?s.charAt(c):i:t?s.slice(c,c+2):(i-55296<<10)+(a-56320)+65536}}},function(t,e,r){var n=r(20),o=Math.max,i=Math.min;t.exports=function(t,e){return(t=n(t))<0?o(t+e,0):i(t,e)}},function(t,e,r){var n=r(15);t.exports=function(t){return Object(n(t))}},function(t,e,r){var n=r(21),o=r(1)("iterator"),i=r(10);t.exports=r(6).getIteratorMethod=function(t){if(void 0!=t)return t[o]||t["@@iterator"]||i[n(t)]}},function(t,e,r){"use strict";var n=r(37),o=r(47),i=r(10),a=r(13);t.exports=r(27)(Array,"Array",function(t,e){this._t=a(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,r=this._i++;return!t||r>=t.length?(this._t=void 0,o(1)):"keys"==e?o(0,r):"values"==e?o(0,t[r]):o(0,[r,t[r]])},"values"),i.Arguments=i.Array,n("keys"),n("values"),n("entries")},function(t,e){},function(t,e,r){"use strict";var n,o,i,a=r(28),s=r(2),c=r(7),u=r(21),l=r(23),f=r(9),p=(r(3),r(14)),d=r(38),h=r(40),v=(r(58).set,r(60)),x=r(30).set,y=r(48)(),m="Promise",w=s.TypeError,g=s.process,_=s[m],g=s.process,E="process"==u(g),b=function(){},R=!!function(){try{var t=_.resolve(1),e=(t.constructor={})[r(1)("species")]=function(t){t(b,b)};return(E||"function"==typeof PromiseRejectionEvent)&&t.then(b)instanceof e}catch(t){}}(),O=function(t,e){return t===e||t===_&&e===i},j=function(t){var e;return!(!f(t)||"function"!=typeof(e=t.then))&&e},P=function(t){return O(_,t)?new S(t):new o(t)},S=o=function(t){var e,r;this.promise=new t(function(t,n){if(void 0!==e||void 0!==r)throw w("Bad Promise constructor");e=t,r=n}),this.resolve=p(e),this.reject=p(r)},k=function(t){try{t()}catch(t){return{error:t}}},A=function(t,e){if(!t._n){t._n=!0;var r=t._c;y(function(){for(var n=t._v,o=1==t._s,i=0;r.length>i;)!function(e){var r,i,a=o?e.ok:e.fail,s=e.resolve,c=e.reject,u=e.domain;try{a?(o||(2==t._h&&N(t),t._h=1),!0===a?r=n:(u&&u.enter(),r=a(n),u&&u.exit()),r===e.promise?c(w("Promise-chain cycle")):(i=j(r))?i.call(r,s,c):s(r)):c(n)}catch(t){c(t)}}(r[i++]);t._c=[],t._n=!1,e&&!t._h&&C(t)})}},C=function(t){x.call(s,function(){var e,r,n,o=t._v;if(T(t)&&(e=k(function(){E?g.emit("unhandledRejection",o,t):(r=s.onunhandledrejection)?r({promise:t,reason:o}):(n=s.console)&&n.error&&n.error("Unhandled promise rejection",o)}),t._h=E||T(t)?2:1),t._a=void 0,e)throw e.error})},T=function(t){if(1==t._h)return!1;for(var e,r=t._a||t._c,n=0;r.length>n;)if((e=r[n++]).fail||!T(e.promise))return!1;return!0},N=function(t){x.call(s,function(){var e;E?g.emit("rejectionHandled",t):(e=s.onrejectionhandled)&&e({promise:t,reason:t._v})})},I=function(t){var e=this;e._d||(e._d=!0,(e=e._w||e)._v=t,e._s=2,e._a||(e._a=e._c.slice()),A(e,!0))},M=function(t){var e,r=this;if(!r._d){r._d=!0,r=r._w||r;try{if(r===t)throw w("Promise can't be resolved itself");(e=j(t))?y(function(){var n={_w:r,_d:!1};try{e.call(t,c(M,n,1),c(I,n,1))}catch(t){I.call(n,t)}}):(r._v=t,r._s=1,A(r,!1))}catch(t){I.call({_w:r,_d:!1},t)}}};R||(_=function(t){d(this,_,m,"_h"),p(t),n.call(this);try{t(c(M,this,1),c(I,this,1))}catch(t){I.call(this,t)}},(n=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=r(56)(_.prototype,{then:function(t,e){var r=P(v(this,_));return r.ok="function"!=typeof t||t,r.fail="function"==typeof e&&e,r.domain=E?g.domain:void 0,this._c.push(r),this._a&&this._a.push(r),this._s&&A(this,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),S=function(){var t=new n;this.promise=t,this.resolve=c(M,t,1),this.reject=c(I,t,1)}),l(l.G+l.W+!R*l.F,{Promise:_}),r(18)(_,m),r(59)(m),i=r(6)[m],l(l.S+!R*l.F,m,{reject:function(t){var e=P(this);return(0,e.reject)(t),e.promise}}),l(l.S+l.F*(a||!R),m,{resolve:function(t){if(t instanceof _&&O(t.constructor,this))return t;var e=P(this);return(0,e.resolve)(t),e.promise}}),l(l.S+!(R&&r(46)(function(t){_.all(t).catch(b)}))*l.F,m,{all:function(t){var e=this,r=P(e),n=r.resolve,o=r.reject,i=k(function(){var r=[],i=0,a=1;h(t,!1,function(t){var s=i++,c=!1;r.push(void 0),a++,e.resolve(t).then(function(t){c||(c=!0,r[s]=t,--a||n(r))},o)}),--a||n(r)});return i&&o(i.error),r.promise},race:function(t){var e=this,r=P(e),n=r.reject,o=k(function(){h(t,!1,function(t){e.resolve(t).then(r.resolve,n)})});return o&&n(o.error),r.promise}})},function(t,e,r){"use strict";var n=r(61)(!0);r(27)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,r=this._i;return r>=e.length?{value:void 0,done:!0}:(t=n(e,r),this._i+=t.length,{value:t,done:!1})})},function(t,e,r){r(65);for(var n=r(2),o=r(5),i=r(10),a=r(1)("toStringTag"),s=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],c=0;c<5;c++){var u=s[c],l=n[u],f=l&&l.prototype;f&&!f[a]&&o(f,a,u),i[u]=i.Array}},function(e,r){e.exports=t.r(33405)},function(e,r){e.exports=t.r(54799)}];function o(t){if(i[t])return i[t].exports;var e=i[t]={exports:{},id:t,loaded:!1};return n[t].call(e.exports,e,e.exports,o),e.loaded=!0,e.exports}var i={};return o.m=n,o.c=i,o.p="",o(0)}(t.r(33405),t.r(54799))},22596,t=>{"use strict";var e=t.i(16828);async function r(n=null){let o=n||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt";try{let r=(0,e.machineIdSync)();return(await t.A(85685)).createHash("sha256").update(r+o).digest("hex").substring(0,16)}catch(t){return console.log("Error getting machine ID:",t),crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){let e=16*Math.random()|0;return("x"==t?e:3&e|8).toString(16)})}}t.s(["getConsistentMachineId",0,r])},54454,t=>{"use strict";var e=t.i(47909),r=t.i(74017),n=t.i(96250),o=t.i(59756),i=t.i(61916),a=t.i(74677),s=t.i(69741),c=t.i(16795),u=t.i(87718),l=t.i(95169),f=t.i(47587),p=t.i(66012),d=t.i(70101),h=t.i(26937),v=t.i(10372),x=t.i(93695);t.i(20232);var y=t.i(220),m=t.i(89171),w=t.i(26753),g=t.i(22596);async function _(){try{let t=await (0,w.getApiKeys)();return m.NextResponse.json({keys:t})}catch(t){return console.log("Error fetching keys:",t),m.NextResponse.json({error:"Failed to fetch keys"},{status:500})}}async function E(t){try{let{name:e}=await t.json();if(!e)return m.NextResponse.json({error:"Name is required"},{status:400});let r=await (0,g.getConsistentMachineId)(),n=await (0,w.createApiKey)(e,r);return m.NextResponse.json({key:n.key,name:n.name,id:n.id,machineId:n.machineId},{status:201})}catch(t){return console.log("Error creating key:",t),m.NextResponse.json({error:"Failed to create key"},{status:500})}}t.s(["GET",0,_,"POST",0,E,"dynamic",0,"force-dynamic"],74179);var b=t.i(74179);let R=new e.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/keys/route",pathname:"/api/keys",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/keys/route.js",nextConfigOutput:"standalone",userland:b,...{}}),{workAsyncStorage:O,workUnitAsyncStorage:j,serverHooks:P}=R;async function S(t,e,n){n.requestMeta&&(0,o.setRequestMeta)(t,n.requestMeta),R.isDev&&(0,o.addRequestMeta)(t,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/keys/route";m=m.replace(/\/index$/,"")||"/";let w=await R.prepare(t,e,{srcPage:m,multiZoneDraftMode:!1});if(!w)return e.statusCode=400,e.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:g,params:_,nextConfig:E,parsedUrl:b,isDraftMode:O,prerenderManifest:j,routerServerContext:P,isOnDemandRevalidate:S,revalidateOnlyGenerated:k,resolvedPathname:A,clientReferenceManifest:C,serverActionsManifest:T}=w,N=(0,s.normalizeAppPath)(m),I=!!(j.dynamicRoutes[N]||j.routes[A]),M=async()=>((null==P?void 0:P.render404)?await P.render404(t,e,b,!1):e.end("This page could not be found"),null);if(I&&!O){let t=!!j.routes[A],e=j.dynamicRoutes[N];if(e&&!1===e.fallback&&!t){if(E.adapterPath)return await M();throw new x.NoFallbackError}}let q=null;!I||R.isDev||O||(q="/index"===(q=A)?"/":q);let F=!0===R.isDev||!I,U=I&&!F;T&&C&&(0,a.setManifestsSingleton)({page:m,clientReferenceManifest:C,serverActionsManifest:T});let D=t.method||"GET",H=(0,i.getTracer)(),L=H.getActiveScopeSpan(),K=!!(null==P?void 0:P.isWrappedByNextServer),B=!!(0,o.getRequestMeta)(t,"minimalMode"),G=(0,o.getRequestMeta)(t,"incrementalCache")||await R.getIncrementalCache(t,E,j,B);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let $={params:_,previewProps:j.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:F,incrementalCache:G,cacheLifeProfiles:E.cacheLife,waitUntil:n.waitUntil,onClose:t=>{e.on("close",t)},onAfterTaskError:void 0,onInstrumentationRequestError:(e,r,n,o)=>R.onRequestError(t,e,n,o,P)},sharedContext:{buildId:g}},W=new c.NodeNextRequest(t),z=new c.NodeNextResponse(e),J=u.NextRequestAdapter.fromNodeNextRequest(W,(0,u.signalFromNodeResponse)(e));try{let o,a=async t=>R.handle(J,$).finally(()=>{if(!t)return;t.setAttributes({"http.status_code":e.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==l.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let e=`${D} ${n}`;t.setAttributes({"next.route":n,"http.route":n,"next.span_name":e}),t.updateName(e),o&&o!==t&&(o.setAttribute("http.route",n),o.updateName(e))}else t.updateName(`${D} ${m}`)}),s=async o=>{var i,s;let c=async({previousCacheEntry:r})=>{try{if(!B&&S&&k&&!r)return e.statusCode=404,e.setHeader("x-nextjs-cache","REVALIDATED"),e.end("This page could not be found"),null;let i=await a(o);t.fetchMetrics=$.renderOpts.fetchMetrics;let s=$.renderOpts.pendingWaitUntil;s&&n.waitUntil&&(n.waitUntil(s),s=void 0);let c=$.renderOpts.collectedTags;if(!I)return await (0,p.sendResponse)(W,z,i,$.renderOpts.pendingWaitUntil),null;{let t=await i.blob(),e=(0,d.toNodeOutgoingHttpHeaders)(i.headers);c&&(e[v.NEXT_CACHE_TAGS_HEADER]=c),!e["content-type"]&&t.type&&(e["content-type"]=t.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,n=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await t.arrayBuffer()),headers:e},cacheControl:{revalidate:r,expire:n}}}}catch(e){throw(null==r?void 0:r.isStale)&&await R.onRequestError(t,e,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:S})},!1,P),e}},u=await R.handleResponse({req:t,nextConfig:E,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:j,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:k,responseGenerator:c,waitUntil:n.waitUntil,isMinimalMode:B});if(!I)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(s=u.value)?void 0:s.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||e.setHeader("x-nextjs-cache",S?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),O&&e.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,d.fromNodeOutgoingHttpHeaders)(u.value.headers);return B&&I||l.delete(v.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||e.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(W,z,new Response(u.value.body,{headers:l,status:u.value.status||200})),null};K&&L?await s(L):(o=H.getActiveScopeSpan(),await H.withPropagatedContext(t.headers,()=>H.trace(l.BaseServerSpan.handleRequest,{spanName:`${D} ${m}`,kind:i.SpanKind.SERVER,attributes:{"http.method":D,"http.target":t.url}},s),void 0,!K))}catch(e){if(e instanceof x.NoFallbackError||await R.onRequestError(t,e,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:S})},!1,P),I)throw e;return await (0,p.sendResponse)(W,z,new Response(null,{status:500})),null}}t.s(["handler",0,S,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:j})},"routeModule",0,R,"serverHooks",0,P,"workAsyncStorage",0,O,"workUnitAsyncStorage",0,j],54454)},36498,t=>{t.v(e=>Promise.all(["server/chunks/src_shared_utils_apiKey_083r5uu.js"].map(e=>t.l(e))).then(()=>e(21297)))},66510,t=>{t.v(e=>Promise.all(["server/chunks/src_shared_constants_pricing_0oa_fz9.js"].map(e=>t.l(e))).then(()=>e(28628)))},85685,t=>{t.v(t=>Promise.resolve().then(()=>t(54799)))}];
1
+ module.exports=[18622,(t,e,r)=>{e.exports=t.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,(t,e,r)=>{e.exports=t.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(t,e,r)=>{e.exports=t.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,(t,e,r)=>{e.exports=t.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,(t,e,r)=>{e.exports=t.x("path",()=>require("path"))},70406,(t,e,r)=>{e.exports=t.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},24361,(t,e,r)=>{e.exports=t.x("util",()=>require("util"))},93695,(t,e,r)=>{e.exports=t.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},22734,(t,e,r)=>{e.exports=t.x("fs",()=>require("fs"))},12714,(t,e,r)=>{e.exports=t.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(t,e,r)=>{e.exports=t.x("node:path",()=>require("node:path"))},57764,(t,e,r)=>{e.exports=t.x("node:url",()=>require("node:url"))},27699,(t,e,r)=>{e.exports=t.x("events",()=>require("events"))},2157,(t,e,r)=>{e.exports=t.x("node:fs",()=>require("node:fs"))},60526,(t,e,r)=>{e.exports=t.x("node:os",()=>require("node:os"))},22593,67059,21023,t=>{"use strict";t.s(["Low",0,class{adapter;data;constructor(t,e){!function(t,e){if(void 0===t)throw Error("lowdb: missing adapter");if(void 0===e)throw Error("lowdb: missing default data")}(t,e),this.adapter=t,this.data=e}async read(){let t=await this.adapter.read();t&&(this.data=t)}async write(){this.data&&await this.adapter.write(this.data)}async update(t){t(this.data),await this.write()}}],22593),t.i(2157);var e=t.i(12714),r=t.i(50227),n=t.i(57764);async function o(t,e,r){for(let n=0;n<e;n++)try{return await t()}catch(t){if(n<e-1)await new Promise(t=>setTimeout(t,r));else throw t}}class i{#t;#e;#r=!1;#n=null;#o=null;#i=null;#a=null;#s(t){return this.#a=t,this.#i||=new Promise((t,e)=>{this.#o=[t,e]}),new Promise((t,e)=>{this.#i?.then(t).catch(e)})}async #c(t){this.#r=!0;try{await (0,e.writeFile)(this.#e,t,"utf-8"),await o(async()=>{await (0,e.rename)(this.#e,this.#t)},10,100),this.#n?.[0]()}catch(t){throw t instanceof Error&&this.#n?.[1](t),t}finally{if(this.#r=!1,this.#n=this.#o,this.#o=this.#i=null,null!==this.#a){let t=this.#a;this.#a=null,await this.write(t)}}}constructor(t){this.#t=t,this.#e=function(t){let e=t instanceof URL?(0,n.fileURLToPath)(t):t.toString();return(0,r.join)((0,r.dirname)(e),`.${(0,r.basename)(e)}.tmp`)}(t)}async write(t){return this.#r?this.#s(t):this.#c(t)}}class a{#t;#u;constructor(t){this.#t=t,this.#u=new i(t)}async read(){let t;try{t=await (0,e.readFile)(this.#t,"utf-8")}catch(t){if("ENOENT"===t.code)return null;throw t}return t}write(t){return this.#u.write(t)}}class s{#l;#f;#p;constructor(t,{parse:e,stringify:r}){this.#l=new a(t),this.#f=e,this.#p=r}async read(){let t=await this.#l.read();return null===t?null:this.#f(t)}write(t){return this.#l.write(this.#p(t))}}t.s(["JSONFile",0,class extends s{constructor(t){super(t,{parse:JSON.parse,stringify:t=>JSON.stringify(t,null,2)})}}],67059),t.s([],21023)},66680,(t,e,r)=>{e.exports=t.x("node:crypto",()=>require("node:crypto"))},88947,(t,e,r)=>{e.exports=t.x("stream",()=>require("stream"))},12249,(t,e,r)=>{e.exports=t.x("constants",()=>require("constants"))},49719,(t,e,r)=>{e.exports=t.x("assert",()=>require("assert"))},54799,(t,e,r)=>{e.exports=t.x("crypto",()=>require("crypto"))},33405,(t,e,r)=>{e.exports=t.x("child_process",()=>require("child_process"))},16828,(t,e,r)=>{t.e,e.exports=function(e,r){var n=[function(t,e,r){t.exports=r(34)},function(t,e,r){var n=r(29)("wks"),o=r(33),i=r(2).Symbol,a="function"==typeof i;(t.exports=function(t){return n[t]||(n[t]=a&&i[t]||(a?i:o)("Symbol."+t))}).store=n},function(t,e){var r=t.exports="u">typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=r)},function(t,e,r){var n=r(9);t.exports=function(t){if(!n(t))throw TypeError(t+" is not an object!");return t}},function(t,e,r){t.exports=!r(24)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e,r){var n=r(12),o=r(17);t.exports=r(4)?function(t,e,r){return n.f(t,e,o(1,r))}:function(t,e,r){return t[e]=r,t}},function(t,e){var r=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=r)},function(t,e,r){var n=r(14);t.exports=function(t,e,r){if(n(t),void 0===e)return t;switch(r){case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,o){return t.call(e,r,n,o)}}return function(){return t.apply(e,arguments)}}},function(t,e){var r={}.hasOwnProperty;t.exports=function(t,e){return r.call(t,e)}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e){t.exports={}},function(t,e){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},function(t,e,r){var n=r(3),o=r(26),i=r(32),a=Object.defineProperty;e.f=r(4)?Object.defineProperty:function(t,e,r){if(n(t),e=i(e,!0),n(r),o)try{return a(t,e,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported!");return"value"in r&&(t[e]=r.value),t}},function(t,e,r){var n=r(42),o=r(15);t.exports=function(t){return n(o(t))}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,r){var n=r(9),o=r(2).document,i=n(o)&&n(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,r){var n=r(12).f,o=r(8),i=r(1)("toStringTag");t.exports=function(t,e,r){t&&!o(t=r?t:t.prototype,i)&&n(t,i,{configurable:!0,value:e})}},function(t,e,r){var n=r(29)("keys"),o=r(33);t.exports=function(t){return n[t]||(n[t]=o(t))}},function(t,e){var r=Math.ceil,n=Math.floor;t.exports=function(t){return isNaN(t*=1)?0:(t>0?n:r)(t)}},function(t,e,r){var n=r(11),o=r(1)("toStringTag"),i="Arguments"==n(function(){return arguments}()),a=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,r,s;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=a(e=Object(t),o))?r:i?n(e):"Object"==(s=n(e))&&"function"==typeof e.callee?"Arguments":s}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,r){var n=r(2),o=r(6),i=r(7),a=r(5),s="prototype",c=function(t,e,r){var u,l,f,p=t&c.F,d=t&c.G,h=t&c.S,v=t&c.P,x=t&c.B,y=t&c.W,m=d?o:o[e]||(o[e]={}),w=m[s],g=d?n:h?n[e]:(n[e]||{})[s];for(u in d&&(r=e),r)(l=!p&&g&&void 0!==g[u])&&u in m||(f=l?g[u]:r[u],m[u]=d&&"function"!=typeof g[u]?r[u]:x&&l?i(f,n):y&&g[u]==f?function(t){var e=function(e,r,n){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,r)}return new t(e,r,n)}return t.apply(this,arguments)};return e[s]=t[s],e}(f):v&&"function"==typeof f?i(Function.call,f):f,v&&((m.virtual||(m.virtual={}))[u]=f,t&c.R&&w&&!w[u]&&a(w,u,f)))};c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,r){t.exports=r(2).document&&document.documentElement},function(t,e,r){t.exports=!r(4)&&!r(24)(function(){return 7!=Object.defineProperty(r(16)("div"),"a",{get:function(){return 7}}).a})},function(t,e,r){"use strict";var n=r(28),o=r(23),i=r(57),a=r(5),s=r(8),c=r(10),u=r(45),l=r(18),f=r(52),p=r(1)("iterator"),d=!([].keys&&"next"in[].keys()),h="keys",v="values",x=function(){return this};t.exports=function(t,e,r,y,m,w,g){u(r,e,y);var _,E,b,R=function(t){if(!d&&t in S)return S[t];switch(t){case h:case v:return function(){return new r(this,t)}}return function(){return new r(this,t)}},O=e+" Iterator",j=m==v,P=!1,S=t.prototype,k=S[p]||S["@@iterator"]||m&&S[m],A=k||R(m),C=m?j?R("entries"):A:void 0,T="Array"==e&&S.entries||k;if(T&&(b=f(T.call(new t)))!==Object.prototype&&(l(b,O,!0),n||s(b,p)||a(b,p,x)),j&&k&&k.name!==v&&(P=!0,A=function(){return k.call(this)}),(!n||g)&&(d||P||!S[p])&&a(S,p,A),c[e]=A,c[O]=x,m)if(_={values:j?A:R(v),keys:w?A:R(h),entries:C},g)for(E in _)E in S||i(S,E,_[E]);else o(o.P+o.F*(d||P),e,_);return _}},function(t,e){t.exports=!0},function(t,e,r){var n=r(2),o="__core-js_shared__",i=n[o]||(n[o]={});t.exports=function(t){return i[t]||(i[t]={})}},function(t,e,r){var n,o,i,a=r(7),s=r(41),c=r(25),u=r(16),l=r(2),f=l.process,p=l.setImmediate,d=l.clearImmediate,h=l.MessageChannel,v=0,x={},y="onreadystatechange",m=function(){var t=+this;if(x.hasOwnProperty(t)){var e=x[t];delete x[t],e()}},w=function(t){m.call(t.data)};p&&d||(p=function(t){for(var e=[],r=1;arguments.length>r;)e.push(arguments[r++]);return x[++v]=function(){s("function"==typeof t?t:Function(t),e)},n(v),v},d=function(t){delete x[t]},"process"==r(11)(f)?n=function(t){f.nextTick(a(m,t,1))}:h?(i=(o=new h).port2,o.port1.onmessage=w,n=a(i.postMessage,i,1)):l.addEventListener&&"function"==typeof postMessage&&!l.importScripts?(n=function(t){l.postMessage(t+"","*")},l.addEventListener("message",w,!1)):n=y in u("script")?function(t){c.appendChild(u("script"))[y]=function(){c.removeChild(this),m.call(t)}}:function(t){setTimeout(a(m,t,1),0)}),t.exports={set:p,clear:d}},function(t,e,r){var n=r(20),o=Math.min;t.exports=function(t){return t>0?o(n(t),0x1fffffffffffff):0}},function(t,e,r){var n=r(9);t.exports=function(t,e){var r,o;if(!n(t))return t;if(e&&"function"==typeof(r=t.toString)&&!n(o=r.call(t))||"function"==typeof(r=t.valueOf)&&!n(o=r.call(t))||!e&&"function"==typeof(r=t.toString)&&!n(o=r.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,e){var r=0,n=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++r+n).toString(36))}},function(t,e,r){"use strict";function n(t){return(0,c.createHash)("sha256").update(t).digest("hex")}function o(t){switch(u){case"darwin":return t.split("IOPlatformUUID")[1].split("\n")[0].replace(/\=|\s+|\"/gi,"").toLowerCase();case"win32":return t.toString().split("REG_SZ")[1].replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"linux":case"freebsd":return t.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();default:throw Error("Unsupported platform: "+process.platform)}}Object.defineProperty(e,"__esModule",{value:!0});var i,a=(i=r(35))&&i.__esModule?i:{default:i};e.machineIdSync=function(t){var e=o((0,s.execSync)(l[u]).toString());return t?e:n(e)},e.machineId=function(t){return new a.default(function(e,r){return(0,s.exec)(l[u],{},function(i,a,s){if(i)return r(Error("Error while obtaining machine id: "+i.stack));var c=o(a.toString());return e(t?c:n(c))})})};var s=r(70),c=r(71),u=process.platform,l={darwin:"ioreg -rd1 -c IOPlatformExpertDevice",win32:"undefined\\REG.exe QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid",linux:"( cat /var/lib/dbus/machine-id /etc/machine-id 2> /dev/null || hostname ) | head -n 1 || :",freebsd:"kenv -q smbios.system.uuid || sysctl -n kern.hostuuid"}},function(t,e,r){t.exports={default:r(36),__esModule:!0}},function(t,e,r){r(66),r(68),r(69),r(67),t.exports=r(6).Promise},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e,r,n){if(!(t instanceof e)||void 0!==n&&n in t)throw TypeError(r+": incorrect invocation!");return t}},function(t,e,r){var n=r(13),o=r(31),i=r(62);t.exports=function(t){return function(e,r,a){var s,c=n(e),u=o(c.length),l=i(a,u);if(t&&r!=r){for(;u>l;)if((s=c[l++])!=s)return!0}else for(;u>l;l++)if((t||l in c)&&c[l]===r)return t||l||0;return!t&&-1}}},function(t,e,r){var n=r(7),o=r(44),i=r(43),a=r(3),s=r(31),c=r(64),u={},l={},e=t.exports=function(t,e,r,f,p){var d,h,v,x,y=p?function(){return t}:c(t),m=n(r,f,e?2:1),w=0;if("function"!=typeof y)throw TypeError(t+" is not iterable!");if(i(y)){for(d=s(t.length);d>w;w++)if((x=e?m(a(h=t[w])[0],h[1]):m(t[w]))===u||x===l)return x}else for(v=y.call(t);!(h=v.next()).done;)if((x=o(v,m,h.value,e))===u||x===l)return x};e.BREAK=u,e.RETURN=l},function(t,e){t.exports=function(t,e,r){var n=void 0===r;switch(e.length){case 0:return n?t():t.call(r);case 1:return n?t(e[0]):t.call(r,e[0]);case 2:return n?t(e[0],e[1]):t.call(r,e[0],e[1]);case 3:return n?t(e[0],e[1],e[2]):t.call(r,e[0],e[1],e[2]);case 4:return n?t(e[0],e[1],e[2],e[3]):t.call(r,e[0],e[1],e[2],e[3])}return t.apply(r,e)}},function(t,e,r){var n=r(11);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==n(t)?t.split(""):Object(t)}},function(t,e,r){var n=r(10),o=r(1)("iterator"),i=Array.prototype;t.exports=function(t){return void 0!==t&&(n.Array===t||i[o]===t)}},function(t,e,r){var n=r(3);t.exports=function(t,e,r,o){try{return o?e(n(r)[0],r[1]):e(r)}catch(e){var i=t.return;throw void 0!==i&&n(i.call(t)),e}}},function(t,e,r){"use strict";var n=r(49),o=r(17),i=r(18),a={};r(5)(a,r(1)("iterator"),function(){return this}),t.exports=function(t,e,r){t.prototype=n(a,{next:o(1,r)}),i(t,e+" Iterator")}},function(t,e,r){var n=r(1)("iterator"),o=!1;try{var i=[7][n]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!o)return!1;var r=!1;try{var i=[7],a=i[n]();a.next=function(){return{done:r=!0}},i[n]=function(){return a},t(i)}catch(t){}return r}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,r){var n=r(2),o=r(30).set,i=n.MutationObserver||n.WebKitMutationObserver,a=n.process,s=n.Promise,c="process"==r(11)(a);t.exports=function(){var t,e,r,u=function(){var n,o;for(c&&(n=a.domain)&&n.exit();t;){o=t.fn,t=t.next;try{o()}catch(n){throw t?r():e=void 0,n}}e=void 0,n&&n.enter()};if(c)r=function(){a.nextTick(u)};else if(i){var l=!0,f=document.createTextNode("");new i(u).observe(f,{characterData:!0}),r=function(){f.data=l=!l}}else if(s&&s.resolve){var p=s.resolve();r=function(){p.then(u)}}else r=function(){o.call(n,u)};return function(n){var o={fn:n,next:void 0};e&&(e.next=o),t||(t=o,r()),e=o}}},function(t,e,r){var n=r(3),o=r(50),i=r(22),a=r(19)("IE_PROTO"),s=function(){},c="prototype",u=function(){var t,e=r(16)("iframe"),n=i.length;for(e.style.display="none",r(25).appendChild(e),e.src="javascript:",(t=e.contentWindow.document).open(),t.write("<script>document.F=Object</script>"),t.close(),u=t.F;n--;)delete u[c][i[n]];return u()};t.exports=Object.create||function(t,e){var r;return null!==t?(s[c]=n(t),r=new s,s[c]=null,r[a]=t):r=u(),void 0===e?r:o(r,e)}},function(t,e,r){var n=r(12),o=r(3),i=r(54);t.exports=r(4)?Object.defineProperties:function(t,e){o(t);for(var r,a=i(e),s=a.length,c=0;s>c;)n.f(t,r=a[c++],e[r]);return t}},function(t,e,r){var n=r(55),o=r(17),i=r(13),a=r(32),s=r(8),c=r(26),u=Object.getOwnPropertyDescriptor;e.f=r(4)?u:function(t,e){if(t=i(t),e=a(e,!0),c)try{return u(t,e)}catch(t){}if(s(t,e))return o(!n.f.call(t,e),t[e])}},function(t,e,r){var n=r(8),o=r(63),i=r(19)("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return n(t=o(t),i)?t[i]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},function(t,e,r){var n=r(8),o=r(13),i=r(39)(!1),a=r(19)("IE_PROTO");t.exports=function(t,e){var r,s=o(t),c=0,u=[];for(r in s)r!=a&&n(s,r)&&u.push(r);for(;e.length>c;)n(s,r=e[c++])&&(~i(u,r)||u.push(r));return u}},function(t,e,r){var n=r(53),o=r(22);t.exports=Object.keys||function(t){return n(t,o)}},function(t,e){e.f=({}).propertyIsEnumerable},function(t,e,r){var n=r(5);t.exports=function(t,e,r){for(var o in e)r&&t[o]?t[o]=e[o]:n(t,o,e[o]);return t}},function(t,e,r){t.exports=r(5)},function(t,e,r){var n=r(9),o=r(3),i=function(t,e){if(o(t),!n(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,n){try{(n=r(7)(Function.call,r(51).f(Object.prototype,"__proto__").set,2))(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,r){return i(t,r),e?t.__proto__=r:n(t,r),t}}({},!1):void 0),check:i}},function(t,e,r){"use strict";var n=r(2),o=r(6),i=r(12),a=r(4),s=r(1)("species");t.exports=function(t){var e="function"==typeof o[t]?o[t]:n[t];a&&e&&!e[s]&&i.f(e,s,{configurable:!0,get:function(){return this}})}},function(t,e,r){var n=r(3),o=r(14),i=r(1)("species");t.exports=function(t,e){var r,a=n(t).constructor;return void 0===a||void 0==(r=n(a)[i])?e:o(r)}},function(t,e,r){var n=r(20),o=r(15);t.exports=function(t){return function(e,r){var i,a,s=String(o(e)),c=n(r),u=s.length;return c<0||c>=u?t?"":void 0:(i=s.charCodeAt(c))<55296||i>56319||c+1===u||(a=s.charCodeAt(c+1))<56320||a>57343?t?s.charAt(c):i:t?s.slice(c,c+2):(i-55296<<10)+(a-56320)+65536}}},function(t,e,r){var n=r(20),o=Math.max,i=Math.min;t.exports=function(t,e){return(t=n(t))<0?o(t+e,0):i(t,e)}},function(t,e,r){var n=r(15);t.exports=function(t){return Object(n(t))}},function(t,e,r){var n=r(21),o=r(1)("iterator"),i=r(10);t.exports=r(6).getIteratorMethod=function(t){if(void 0!=t)return t[o]||t["@@iterator"]||i[n(t)]}},function(t,e,r){"use strict";var n=r(37),o=r(47),i=r(10),a=r(13);t.exports=r(27)(Array,"Array",function(t,e){this._t=a(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,r=this._i++;return!t||r>=t.length?(this._t=void 0,o(1)):"keys"==e?o(0,r):"values"==e?o(0,t[r]):o(0,[r,t[r]])},"values"),i.Arguments=i.Array,n("keys"),n("values"),n("entries")},function(t,e){},function(t,e,r){"use strict";var n,o,i,a=r(28),s=r(2),c=r(7),u=r(21),l=r(23),f=r(9),p=(r(3),r(14)),d=r(38),h=r(40),v=(r(58).set,r(60)),x=r(30).set,y=r(48)(),m="Promise",w=s.TypeError,g=s.process,_=s[m],g=s.process,E="process"==u(g),b=function(){},R=!!function(){try{var t=_.resolve(1),e=(t.constructor={})[r(1)("species")]=function(t){t(b,b)};return(E||"function"==typeof PromiseRejectionEvent)&&t.then(b)instanceof e}catch(t){}}(),O=function(t,e){return t===e||t===_&&e===i},j=function(t){var e;return!(!f(t)||"function"!=typeof(e=t.then))&&e},P=function(t){return O(_,t)?new S(t):new o(t)},S=o=function(t){var e,r;this.promise=new t(function(t,n){if(void 0!==e||void 0!==r)throw w("Bad Promise constructor");e=t,r=n}),this.resolve=p(e),this.reject=p(r)},k=function(t){try{t()}catch(t){return{error:t}}},A=function(t,e){if(!t._n){t._n=!0;var r=t._c;y(function(){for(var n=t._v,o=1==t._s,i=0;r.length>i;)!function(e){var r,i,a=o?e.ok:e.fail,s=e.resolve,c=e.reject,u=e.domain;try{a?(o||(2==t._h&&N(t),t._h=1),!0===a?r=n:(u&&u.enter(),r=a(n),u&&u.exit()),r===e.promise?c(w("Promise-chain cycle")):(i=j(r))?i.call(r,s,c):s(r)):c(n)}catch(t){c(t)}}(r[i++]);t._c=[],t._n=!1,e&&!t._h&&C(t)})}},C=function(t){x.call(s,function(){var e,r,n,o=t._v;if(T(t)&&(e=k(function(){E?g.emit("unhandledRejection",o,t):(r=s.onunhandledrejection)?r({promise:t,reason:o}):(n=s.console)&&n.error&&n.error("Unhandled promise rejection",o)}),t._h=E||T(t)?2:1),t._a=void 0,e)throw e.error})},T=function(t){if(1==t._h)return!1;for(var e,r=t._a||t._c,n=0;r.length>n;)if((e=r[n++]).fail||!T(e.promise))return!1;return!0},N=function(t){x.call(s,function(){var e;E?g.emit("rejectionHandled",t):(e=s.onrejectionhandled)&&e({promise:t,reason:t._v})})},I=function(t){var e=this;e._d||(e._d=!0,(e=e._w||e)._v=t,e._s=2,e._a||(e._a=e._c.slice()),A(e,!0))},M=function(t){var e,r=this;if(!r._d){r._d=!0,r=r._w||r;try{if(r===t)throw w("Promise can't be resolved itself");(e=j(t))?y(function(){var n={_w:r,_d:!1};try{e.call(t,c(M,n,1),c(I,n,1))}catch(t){I.call(n,t)}}):(r._v=t,r._s=1,A(r,!1))}catch(t){I.call({_w:r,_d:!1},t)}}};R||(_=function(t){d(this,_,m,"_h"),p(t),n.call(this);try{t(c(M,this,1),c(I,this,1))}catch(t){I.call(this,t)}},(n=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=r(56)(_.prototype,{then:function(t,e){var r=P(v(this,_));return r.ok="function"!=typeof t||t,r.fail="function"==typeof e&&e,r.domain=E?g.domain:void 0,this._c.push(r),this._a&&this._a.push(r),this._s&&A(this,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),S=function(){var t=new n;this.promise=t,this.resolve=c(M,t,1),this.reject=c(I,t,1)}),l(l.G+l.W+!R*l.F,{Promise:_}),r(18)(_,m),r(59)(m),i=r(6)[m],l(l.S+!R*l.F,m,{reject:function(t){var e=P(this);return(0,e.reject)(t),e.promise}}),l(l.S+l.F*(a||!R),m,{resolve:function(t){if(t instanceof _&&O(t.constructor,this))return t;var e=P(this);return(0,e.resolve)(t),e.promise}}),l(l.S+!(R&&r(46)(function(t){_.all(t).catch(b)}))*l.F,m,{all:function(t){var e=this,r=P(e),n=r.resolve,o=r.reject,i=k(function(){var r=[],i=0,a=1;h(t,!1,function(t){var s=i++,c=!1;r.push(void 0),a++,e.resolve(t).then(function(t){c||(c=!0,r[s]=t,--a||n(r))},o)}),--a||n(r)});return i&&o(i.error),r.promise},race:function(t){var e=this,r=P(e),n=r.reject,o=k(function(){h(t,!1,function(t){e.resolve(t).then(r.resolve,n)})});return o&&n(o.error),r.promise}})},function(t,e,r){"use strict";var n=r(61)(!0);r(27)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,r=this._i;return r>=e.length?{value:void 0,done:!0}:(t=n(e,r),this._i+=t.length,{value:t,done:!1})})},function(t,e,r){r(65);for(var n=r(2),o=r(5),i=r(10),a=r(1)("toStringTag"),s=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],c=0;c<5;c++){var u=s[c],l=n[u],f=l&&l.prototype;f&&!f[a]&&o(f,a,u),i[u]=i.Array}},function(e,r){e.exports=t.r(33405)},function(e,r){e.exports=t.r(54799)}];function o(t){if(i[t])return i[t].exports;var e=i[t]={exports:{},id:t,loaded:!1};return n[t].call(e.exports,e,e.exports,o),e.loaded=!0,e.exports}var i={};return o.m=n,o.c=i,o.p="",o(0)}(t.r(33405),t.r(54799))},22596,t=>{"use strict";var e=t.i(16828);async function r(n=null){let o=n||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt";try{let r=(0,e.machineIdSync)();return(await t.A(85685)).createHash("sha256").update(r+o).digest("hex").substring(0,16)}catch(t){return console.log("Error getting machine ID:",t),crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){let e=16*Math.random()|0;return("x"==t?e:3&e|8).toString(16)})}}t.s(["getConsistentMachineId",0,r])},54454,t=>{"use strict";var e=t.i(47909),r=t.i(74017),n=t.i(96250),o=t.i(59756),i=t.i(61916),a=t.i(74677),s=t.i(69741),c=t.i(16795),u=t.i(87718),l=t.i(95169),f=t.i(47587),p=t.i(66012),d=t.i(70101),h=t.i(26937),v=t.i(10372),x=t.i(93695);t.i(20232);var y=t.i(220),m=t.i(89171),w=t.i(26753),g=t.i(22596);async function _(){try{let t=await (0,w.getApiKeys)();return m.NextResponse.json({keys:t})}catch(t){return console.log("Error fetching keys:",t),m.NextResponse.json({error:"Failed to fetch keys"},{status:500})}}async function E(t){try{let{name:e}=await t.json();if(!e)return m.NextResponse.json({error:"Name is required"},{status:400});let r=await (0,g.getConsistentMachineId)(),n=await (0,w.createApiKey)(e,r);return m.NextResponse.json({key:n.key,name:n.name,id:n.id,machineId:n.machineId},{status:201})}catch(t){return console.log("Error creating key:",t),m.NextResponse.json({error:"Failed to create key"},{status:500})}}t.s(["GET",0,_,"POST",0,E,"dynamic",0,"force-dynamic"],74179);var b=t.i(74179);let R=new e.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/keys/route",pathname:"/api/keys",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/keys/route.js",nextConfigOutput:"standalone",userland:b,...{}}),{workAsyncStorage:O,workUnitAsyncStorage:j,serverHooks:P}=R;async function S(t,e,n){n.requestMeta&&(0,o.setRequestMeta)(t,n.requestMeta),R.isDev&&(0,o.addRequestMeta)(t,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/keys/route";m=m.replace(/\/index$/,"")||"/";let w=await R.prepare(t,e,{srcPage:m,multiZoneDraftMode:!1});if(!w)return e.statusCode=400,e.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:g,params:_,nextConfig:E,parsedUrl:b,isDraftMode:O,prerenderManifest:j,routerServerContext:P,isOnDemandRevalidate:S,revalidateOnlyGenerated:k,resolvedPathname:A,clientReferenceManifest:C,serverActionsManifest:T}=w,N=(0,s.normalizeAppPath)(m),I=!!(j.dynamicRoutes[N]||j.routes[A]),M=async()=>((null==P?void 0:P.render404)?await P.render404(t,e,b,!1):e.end("This page could not be found"),null);if(I&&!O){let t=!!j.routes[A],e=j.dynamicRoutes[N];if(e&&!1===e.fallback&&!t){if(E.adapterPath)return await M();throw new x.NoFallbackError}}let q=null;!I||R.isDev||O||(q="/index"===(q=A)?"/":q);let F=!0===R.isDev||!I,U=I&&!F;T&&C&&(0,a.setManifestsSingleton)({page:m,clientReferenceManifest:C,serverActionsManifest:T});let D=t.method||"GET",H=(0,i.getTracer)(),L=H.getActiveScopeSpan(),K=!!(null==P?void 0:P.isWrappedByNextServer),B=!!(0,o.getRequestMeta)(t,"minimalMode"),G=(0,o.getRequestMeta)(t,"incrementalCache")||await R.getIncrementalCache(t,E,j,B);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let $={params:_,previewProps:j.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:F,incrementalCache:G,cacheLifeProfiles:E.cacheLife,waitUntil:n.waitUntil,onClose:t=>{e.on("close",t)},onAfterTaskError:void 0,onInstrumentationRequestError:(e,r,n,o)=>R.onRequestError(t,e,n,o,P)},sharedContext:{buildId:g}},W=new c.NodeNextRequest(t),z=new c.NodeNextResponse(e),J=u.NextRequestAdapter.fromNodeNextRequest(W,(0,u.signalFromNodeResponse)(e));try{let o,a=async t=>R.handle(J,$).finally(()=>{if(!t)return;t.setAttributes({"http.status_code":e.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==l.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let e=`${D} ${n}`;t.setAttributes({"next.route":n,"http.route":n,"next.span_name":e}),t.updateName(e),o&&o!==t&&(o.setAttribute("http.route",n),o.updateName(e))}else t.updateName(`${D} ${m}`)}),s=async o=>{var i,s;let c=async({previousCacheEntry:r})=>{try{if(!B&&S&&k&&!r)return e.statusCode=404,e.setHeader("x-nextjs-cache","REVALIDATED"),e.end("This page could not be found"),null;let i=await a(o);t.fetchMetrics=$.renderOpts.fetchMetrics;let s=$.renderOpts.pendingWaitUntil;s&&n.waitUntil&&(n.waitUntil(s),s=void 0);let c=$.renderOpts.collectedTags;if(!I)return await (0,p.sendResponse)(W,z,i,$.renderOpts.pendingWaitUntil),null;{let t=await i.blob(),e=(0,d.toNodeOutgoingHttpHeaders)(i.headers);c&&(e[v.NEXT_CACHE_TAGS_HEADER]=c),!e["content-type"]&&t.type&&(e["content-type"]=t.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,n=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await t.arrayBuffer()),headers:e},cacheControl:{revalidate:r,expire:n}}}}catch(e){throw(null==r?void 0:r.isStale)&&await R.onRequestError(t,e,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:S})},!1,P),e}},u=await R.handleResponse({req:t,nextConfig:E,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:j,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:k,responseGenerator:c,waitUntil:n.waitUntil,isMinimalMode:B});if(!I)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(s=u.value)?void 0:s.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||e.setHeader("x-nextjs-cache",S?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),O&&e.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,d.fromNodeOutgoingHttpHeaders)(u.value.headers);return B&&I||l.delete(v.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||e.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(W,z,new Response(u.value.body,{headers:l,status:u.value.status||200})),null};K&&L?await s(L):(o=H.getActiveScopeSpan(),await H.withPropagatedContext(t.headers,()=>H.trace(l.BaseServerSpan.handleRequest,{spanName:`${D} ${m}`,kind:i.SpanKind.SERVER,attributes:{"http.method":D,"http.target":t.url}},s),void 0,!K))}catch(e){if(e instanceof x.NoFallbackError||await R.onRequestError(t,e,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:S})},!1,P),I)throw e;return await (0,p.sendResponse)(W,z,new Response(null,{status:500})),null}}t.s(["handler",0,S,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:j})},"routeModule",0,R,"serverHooks",0,P,"workAsyncStorage",0,O,"workUnitAsyncStorage",0,j],54454)},36498,t=>{t.v(e=>Promise.all(["server/chunks/src_shared_utils_apiKey_083r5uu.js"].map(e=>t.l(e))).then(()=>e(21297)))},66510,t=>{t.v(e=>Promise.all(["server/chunks/src_shared_constants_pricing_0oa_fz9.js"].map(e=>t.l(e))).then(()=>e(28628)))},85685,t=>{t.v(t=>Promise.resolve().then(()=>t(54799)))}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0ggqrke._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0a_9~cg._.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])},65197,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);async function R(){try{let e=await (0,g.getRecentLogs)(200);return v.NextResponse.json(e)}catch(e){return console.error("Error fetching logs:",e),v.NextResponse.json({error:"Failed to fetch logs"},{status:500})}}e.s(["GET",0,R],8568);var y=e.i(8568);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/usage/logs/route",pathname:"/api/usage/logs",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/usage/logs/route.js",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:E,workUnitAsyncStorage:b,serverHooks:I}=S;async function q(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),S.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/usage/logs/route";v=v.replace(/\/index$/,"")||"/";let g=await S.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:E,parsedUrl:b,isDraftMode:I,prerenderManifest:q,routerServerContext:A,isOnDemandRevalidate:T,revalidateOnlyGenerated:D,resolvedPathname:_,clientReferenceManifest:N,serverActionsManifest:C}=g,O=(0,o.normalizeAppPath)(v),k=!!(q.dynamicRoutes[O]||q.routes[_]),P=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,b,!1):t.end("This page could not be found"),null);if(k&&!I){let e=!!q.routes[_],t=q.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await P();throw new m.NoFallbackError}}let j=null;!k||S.isDev||I||(j="/index"===(j=_)?"/":j);let M=!0===S.isDev||!k,B=k&&!M;C&&N&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:N,serverActionsManifest:C});let L=e.method||"GET",F=(0,n.getTracer)(),H=F.getActiveScopeSpan(),U=!!(null==A?void 0:A.isWrappedByNextServer),z=!!(0,s.getRequestMeta)(e,"minimalMode"),$=(0,s.getRequestMeta)(e,"incrementalCache")||await S.getIncrementalCache(e,E,q,z);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let J={params:y,previewProps:q.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:M,incrementalCache:$,cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>S.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=>S.handle(K,J).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.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=`${L} ${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(`${L} ${v}`)}),o=async s=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!z&&T&&D&&!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(!k)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 S.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:T})},!1,A),t}},d=await S.handleResponse({req:e,nextConfig:E,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:q,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:D,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:z});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});z||t.setHeader("x-nextjs-cache",T?"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&&k||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};U&&H?await o(H):(s=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${L} ${v}`,kind:n.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},o),void 0,!U))}catch(t){if(t instanceof m.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:T})},!1,A),k)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:b})},"routeModule",0,S,"serverHooks",0,I,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,b],65197)},62724,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__08ra5xg._.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])},65197,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);async function R(){try{let e=await (0,g.getRecentLogs)(200);return v.NextResponse.json(e)}catch(e){return console.error("Error fetching logs:",e),v.NextResponse.json({error:"Failed to fetch logs"},{status:500})}}e.s(["GET",0,R],8568);var y=e.i(8568);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/usage/logs/route",pathname:"/api/usage/logs",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/usage/logs/route.js",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:E,workUnitAsyncStorage:b,serverHooks:I}=S;async function q(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),S.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/usage/logs/route";v=v.replace(/\/index$/,"")||"/";let g=await S.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:E,parsedUrl:b,isDraftMode:I,prerenderManifest:q,routerServerContext:A,isOnDemandRevalidate:D,revalidateOnlyGenerated:T,resolvedPathname:_,clientReferenceManifest:N,serverActionsManifest:C}=g,O=(0,o.normalizeAppPath)(v),k=!!(q.dynamicRoutes[O]||q.routes[_]),P=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,b,!1):t.end("This page could not be found"),null);if(k&&!I){let e=!!q.routes[_],t=q.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await P();throw new m.NoFallbackError}}let j=null;!k||S.isDev||I||(j="/index"===(j=_)?"/":j);let M=!0===S.isDev||!k,B=k&&!M;C&&N&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:N,serverActionsManifest:C});let L=e.method||"GET",F=(0,n.getTracer)(),H=F.getActiveScopeSpan(),U=!!(null==A?void 0:A.isWrappedByNextServer),z=!!(0,s.getRequestMeta)(e,"minimalMode"),$=(0,s.getRequestMeta)(e,"incrementalCache")||await S.getIncrementalCache(e,E,q,z);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let J={params:y,previewProps:q.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:M,incrementalCache:$,cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>S.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=>S.handle(K,J).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.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=`${L} ${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(`${L} ${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(!k)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 S.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:D})},!1,A),t}},d=await S.handleResponse({req:e,nextConfig:E,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(!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});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&&k||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};U&&H?await o(H):(s=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${L} ${v}`,kind:n.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},o),void 0,!U))}catch(t){if(t instanceof m.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:D})},!1,A),k)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:b})},"routeModule",0,S,"serverHooks",0,I,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,b],65197)},62724,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__08ra5xg._.js","server/chunks/_0amvca6._.js"].map(t=>e.l(t))).then(()=>t(26753)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__0azf4gz._.js.map
@@ -0,0 +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 n(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 s{#e;#t;#r=!1;#a=null;#n=null;#s=null;#i=null;#o(e){return this.#i=e,this.#s||=new Promise((e,t)=>{this.#n=[e,t]}),new Promise((e,t)=>{this.#s?.then(e).catch(t)})}async #l(e){this.#r=!0;try{await (0,t.writeFile)(this.#t,e,"utf-8"),await n(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.#n,this.#n=this.#s=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 s(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),n=e.i(60526),s=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=n.default.homedir();return a.default.join(e,".n9router")}(),l=i?null:a.default.join(o,"request-details.json");i||s.default.existsSync(o)||s.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=[],m=null,x=!1;async function w(){if(!i&&!x&&0!==f.length){x=!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||{}},n=r.maxJsonSize;for(let t of["request","providerRequest","providerResponse","response"]){let r=JSON.stringify(e[t]);r.length>n&&(e[t]={_truncated:!0,_originalSize:r.length,_preview:r.substring(0,200)})}let s=t.data.records.findIndex(t=>t.id===e.id);-1!==s?t.data.records[s]=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{x=!1}}}async function v(e){if(i)return;let t=await h();t.enabled&&(f.push(e),f.length>=t.batchSize?(await w(),m&&(clearTimeout(m),m=null)):m||(m=setTimeout(()=>{w().catch(()=>{}),m=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,n=e.pageSize||50,s=Math.ceil(r/n);return{details:t.slice((a-1)*n,a*n),pagination:{page:a,pageSize:n,totalItems:r,totalPages:s,hasNext:a<s,hasPrev:a>1}}}async function R(e){return i?null:(await u()).data.records.find(t=>t.id===e)||null}let y=async()=>{m&&(clearTimeout(m),m=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])},65047,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=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),m=e.i(10372),x=e.i(93695);e.i(20232);var w=e.i(220),v=e.i(89171),g=e.i(48582);async function R(e){if("local"!==e.headers.get("x-request-source"))return v.NextResponse.json({error:"forbidden"},{status:403});try{let t=await e.json(),r=function(e){if(!e||"object"!=typeof e)return null;let t={},r=(e,r)=>{if(null==r)return;let a=Number(r);Number.isFinite(a)&&(t[e]=a)};return r("prompt_tokens",e.prompt_tokens??e.input_tokens),r("completion_tokens",e.completion_tokens??e.output_tokens),r("total_tokens",e.total_tokens),r("cache_read_input_tokens",e.cache_read_input_tokens??e.cached_tokens),r("cache_creation_input_tokens",e.cache_creation_input_tokens),r("reasoning_tokens",e.reasoning_tokens),Object.keys(t).length>0?t:null}(t?.tokens);if(!t?.provider||!t?.model||!t?.connectionId||!r)return v.NextResponse.json({error:"invalid payload"},{status:400});return await (0,g.saveRequestUsage)({provider:t.provider,model:t.model,connectionId:t.connectionId,tokens:r,timestamp:new Date().toISOString()}),await (0,g.appendRequestLog)({model:t.model,provider:t.provider,connectionId:t.connectionId,tokens:r,status:t.status||"200 OK"}),v.NextResponse.json({ok:!0})}catch(e){return v.NextResponse.json({error:e.message||"failed to persist usage"},{status:500})}}e.s(["POST",0,R],3126);var y=e.i(3126);let b=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/internal/usage/route",pathname:"/api/internal/usage",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/internal/usage/route.js",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:S,workUnitAsyncStorage:_,serverHooks:E}=b;async function I(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),b.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/internal/usage/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:_,isDraftMode:E,prerenderManifest:I,routerServerContext:k,isOnDemandRevalidate:q,revalidateOnlyGenerated:A,resolvedPathname:D,clientReferenceManifest:N,serverActionsManifest:T}=g,O=(0,o.normalizeAppPath)(v),C=!!(I.dynamicRoutes[O]||I.routes[D]),P=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,_,!1):t.end("This page could not be found"),null);if(C&&!E){let e=!!I.routes[D],t=I.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(S.adapterPath)return await P();throw new x.NoFallbackError}}let j=null;!C||b.isDev||E||(j="/index"===(j=D)?"/":j);let M=!0===b.isDev||!C,B=C&&!M;T&&N&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:N,serverActionsManifest:T});let L=e.method||"GET",U=(0,s.getTracer)(),F=U.getActiveScopeSpan(),H=!!(null==k?void 0:k.isWrappedByNextServer),z=!!(0,n.getRequestMeta)(e,"minimalMode"),$=(0,n.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,S,I,z);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let J={params:y,previewProps:I.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,n)=>b.onRequestError(e,t,a,n,k)},sharedContext:{buildId:R}},K=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),G=d.NextRequestAdapter.fromNodeNextRequest(K,(0,d.signalFromNodeResponse)(t));try{let n,i=async e=>b.handle(G,J).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==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=`${L} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${L} ${v}`)}),o=async n=>{var s,o;let l=async({previousCacheEntry:r})=>{try{if(!z&&q&&A&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);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(!C)return await (0,p.sendResponse)(K,V,s,J.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[m.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>=m.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,a=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:J.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:s.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:q})},!1,k),t}},d=await b.handleResponse({req:e,nextConfig:S,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:A,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:z});if(!C)return null;if((null==d||null==(s=d.value)?void 0:s.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",q?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return z&&C||u.delete(m.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)(K,V,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};H&&F?await o(F):(n=U.getActiveScopeSpan(),await U.withPropagatedContext(e.headers,()=>U.trace(u.BaseServerSpan.handleRequest,{spanName:`${L} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},o),void 0,!H))}catch(t){if(t instanceof x.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:q})},!1,k),C)throw t;return await (0,p.sendResponse)(K,V,new Response(null,{status:500})),null}}e.s(["handler",0,I,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:_})},"routeModule",0,b,"serverHooks",0,E,"workAsyncStorage",0,S,"workUnitAsyncStorage",0,_],65047)},62724,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__067b5fv._.js","server/chunks/_0amvca6._.js"].map(t=>e.l(t))).then(()=>t(26753)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0b56uvi._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[92509,(e,t,a)=>{t.exports=e.x("url",()=>require("url"))},33703,e=>{"use strict";var t=e.i(22593);e.i(21023);var a=e.i(67059),r=e.i(50227),o=e.i(60526),s=e.i(2157);let i="u">typeof caches&&"object"==typeof caches,n=function(){if(i)return"/tmp";if(process.env.DATA_DIR)return process.env.DATA_DIR;process.platform;let e=o.default.homedir();return r.default.join(e,".n9router")}(),c=i?null:r.default.join(n,"request-details.json");i||s.default.existsSync(n)||s.default.mkdirSync(n,{recursive:!0});let l=null;async function p(){if(i)return null;if(!l){let e=new a.JSONFile(c),r=new t.Low(e,{records:[]});await r.read(),r.data?.records||(r.data={records:[]}),l=r}return l}let d=null,u=0;async function h(){if(d&&Date.now()-u<5e3)return d;try{let{getSettings:t}=await e.A(62724),a=await t(),r="false"!==process.env.OBSERVABILITY_ENABLED;d={enabled:"boolean"==typeof a.enableObservability?a.enableObservability:r,maxRecords:a.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:a.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:a.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(a.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{d={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return u=Date.now(),d}let m=[],f=null,b=!1;async function g(){if(!i&&!b&&0!==m.length){b=!0;try{let e=[...m];m=[];let t=await p(),a=await h();for(let r of e){r.id||(r.id=function(e){let t=new Date().toISOString(),a=Math.random().toString(36).substring(2,8),r=e?e.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${t}-${a}-${r}`}(r.model)),r.timestamp||(r.timestamp=new Date().toISOString()),r.request?.headers&&(r.request.headers=function(e){if(!e||"object"!=typeof e)return{};let t=["authorization","x-api-key","cookie","token","api-key"],a={...e};for(let e of Object.keys(a))t.some(t=>e.toLowerCase().includes(t))&&delete a[e];return a}(r.request.headers));let e={id:r.id,provider:r.provider||null,model:r.model||null,connectionId:r.connectionId||null,timestamp:r.timestamp,status:r.status||null,latency:r.latency||{},tokens:r.tokens||{},request:r.request||{},providerRequest:r.providerRequest||{},providerResponse:r.providerResponse||{},response:r.response||{}},o=a.maxJsonSize;for(let t of["request","providerRequest","providerResponse","response"]){let a=JSON.stringify(e[t]);a.length>o&&(e[t]={_truncated:!0,_originalSize:a.length,_preview:a.substring(0,200)})}let s=t.data.records.findIndex(t=>t.id===e.id);-1!==s?t.data.records[s]=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>a.maxRecords&&(t.data.records=t.data.records.slice(0,a.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{b=!1}}}async function v(e){if(i)return;let t=await h();t.enabled&&(m.push(e),m.length>=t.batchSize?(await g(),f&&(clearTimeout(f),f=null)):f||(f=setTimeout(()=>{g().catch(()=>{}),f=null},t.flushIntervalMs)))}async function y(e={}){if(i)return{details:[],pagination:{page:1,pageSize:50,totalItems:0,totalPages:0,hasNext:!1,hasPrev:!1}};let t=[...(await p()).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 a=t.length,r=e.page||1,o=e.pageSize||50,s=Math.ceil(a/o);return{details:t.slice((r-1)*o,r*o),pagination:{page:r,pageSize:o,totalItems:a,totalPages:s,hasNext:r<s,hasPrev:r>1}}}let E=async()=>{f&&(clearTimeout(f),f=null),m.length>0&&await g()};i||(process.off("beforeExit",E),process.off("SIGINT",E),process.off("SIGTERM",E),process.off("exit",E),process.on("beforeExit",E),process.on("SIGINT",E),process.on("SIGTERM",E),process.on("exit",E)),e.s(["getRequestDetails",0,y,"saveRequestDetail",0,v])},77452,e=>{"use strict";var t=e.i(46786);let a={"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},r="https://api.kimi.com/coding/v1/messages",o={claude:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",retry:{429:0},headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/2.1.63 (external, cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.3.0","X-Stainless-Package-Version":"0.74.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":function(){switch((0,t.arch)()){case"x64":return"x64";case"arm64":return"arm64";case"ia32":return"x86";default:return`other::${(0,t.arch)()}`}}(),"X-Stainless-Os":function(){switch((0,t.platform)()){case"darwin":return"MacOS";case"win32":return"Windows";case"linux":return"Linux";case"freebsd":return"FreeBSD";default:return`Other::${(0,t.platform)()}`}}(),"X-Stainless-Timeout":"600"},clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",tokenUrl:"https://api.anthropic.com/v1/oauth/token"},gemini:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",format:"gemini",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},"gemini-cli":{baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",format:"gemini-cli",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},codex:{baseUrl:"https://chatgpt.com/backend-api/codex/responses",format:"openai-responses",headers:{originator:"codex-cli","User-Agent":"codex-cli/1.0.18 (macOS; arm64)"},clientId:"app_EMoamEEZ73f0CkXaXp7hrann",clientSecret:"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",tokenUrl:"https://auth.openai.com/oauth/token"},qwen:{baseUrl:"https://portal.qwen.ai/v1/chat/completions",format:"openai",headers:{"User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"gl-node/22.17.0"},clientId:"f0304373b74a44d2b584a3fb70ca9e56",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",authUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code"},iflow:{baseUrl:"https://apis.iflow.cn/v1/chat/completions",format:"openai",headers:{"User-Agent":"iFlow-Cli"},clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",tokenUrl:"https://iflow.cn/oauth/token",authUrl:"https://iflow.cn/oauth"},qoder:{baseUrl:"https://api.qoder.com/v1/chat/completions",format:"openai",headers:{"User-Agent":"Qoder-Cli"},clientId:process.env.QODER_OAUTH_CLIENT_ID||"10009311001",clientSecret:process.env.QODER_OAUTH_CLIENT_SECRET||"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",tokenUrl:"https://api.qoder.com/oauth/token",authUrl:"https://qoder.com/oauth/authorize"},antigravity:{baseUrls:["https://daily-cloudcode-pa.googleapis.com","https://daily-cloudcode-pa.sandbox.googleapis.com"],format:"antigravity",headers:{"User-Agent":`antigravity/1.107.0 ${(0,t.platform)()}/${(0,t.arch)()}`},clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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"},openrouter:{baseUrl:"https://openrouter.ai/api/v1/chat/completions",format:"openai",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},openai:{baseUrl:"https://api.openai.com/v1/chat/completions",format:"openai"},glm:{baseUrl:"https://api.z.ai/api/anthropic/v1/messages",format:"claude",headers:{...a}},"glm-cn":{baseUrl:"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",format:"openai",headers:{}},kimi:{baseUrl:r,format:"claude",headers:{...a}},minimax:{baseUrl:"https://api.minimax.io/anthropic/v1/messages",format:"claude",headers:{...a}},"minimax-cn":{baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",format:"claude",headers:{...a}},alicode:{baseUrl:"https://coding.dashscope.aliyuncs.com/v1/chat/completions",format:"openai",headers:{}},"alicode-intl":{baseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",format:"openai",headers:{}},github:{baseUrl:"https://api.githubcopilot.com/chat/completions",responsesUrl:"https://api.githubcopilot.com/responses",format:"openai",headers:{"copilot-integration-id":"vscode-chat","editor-version":"vscode/1.110.0","editor-plugin-version":"copilot-chat/0.38.0","user-agent":"GitHubCopilotChat/0.38.0","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:"application/json","Content-Type":"application/json"},clientId:"Iv1.b507a08c87ecfe98"},kiro:{baseUrl:"https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse",format:"kiro",headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","X-Amz-Target":"AmazonCodeWhispererStreamingService.GenerateAssistantResponse","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev"},cursor:{baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",format:"cursor",headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"1.1.3"},"kimi-coding":{baseUrl:r,format:"claude",headers:{...a},clientId:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token"},kilocode:{baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",format:"openai",headers:{}},opencode:{baseUrl:"http://localhost:4096/v1/chat/completions",format:"openai",headers:{}},cline:{baseUrl:"https://api.cline.bot/api/v1/chat/completions",format:"openai",headers:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},nvidia:{baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",format:"openai"},anthropic:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",headers:{...a}},deepseek:{baseUrl:"https://api.deepseek.com/chat/completions",format:"openai"},groq:{baseUrl:"https://api.groq.com/openai/v1/chat/completions",format:"openai"},xai:{baseUrl:"https://api.x.ai/v1/chat/completions",format:"openai"},mistral:{baseUrl:"https://api.mistral.ai/v1/chat/completions",format:"openai"},perplexity:{baseUrl:"https://api.perplexity.ai/chat/completions",format:"openai"},together:{baseUrl:"https://api.together.xyz/v1/chat/completions",format:"openai"},fireworks:{baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",format:"openai"},cerebras:{baseUrl:"https://api.cerebras.ai/v1/chat/completions",format:"openai"},cohere:{baseUrl:"https://api.cohere.ai/v1/chat/completions",format:"openai"},nebius:{baseUrl:"https://api.studio.nebius.ai/v1/chat/completions",format:"openai"},siliconflow:{baseUrl:"https://api.siliconflow.cn/v1/chat/completions",format:"openai"},hyperbolic:{baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",format:"openai"},deepgram:{baseUrl:"https://api.deepgram.com/v1/listen",format:"openai"},assemblyai:{baseUrl:"https://api.assemblyai.com/v1/audio/transcriptions",format:"openai"},nanobanana:{baseUrl:"https://api.nanobananaapi.ai/v1/chat/completions",format:"openai"},chutes:{baseUrl:"https://llm.chutes.ai/v1/chat/completions",format:"openai"},ollama:{baseUrl:"https://ollama.com/api/chat",format:"ollama"},"ollama-local":{baseUrl:"http://localhost:11434/api/chat",format:"ollama"},vertex:{baseUrl:"https://aiplatform.googleapis.com",format:"vertex"},"vertex-partner":{baseUrl:"https://aiplatform.googleapis.com",format:"openai"},gitlab:{baseUrl:"https://gitlab.com/api/v4/chat/completions",format:"openai"},codebuddy:{baseUrl:"https://copilot.tencent.com/v1/chat/completions",format:"openai"}};e.s(["PROVIDERS",0,o])},12943,e=>{"use strict";e.s(["default",0,{name:"n9router",version:"0.3.90",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,a={}){let r,o=(r=function(e){if("string"!=typeof e)return"";let t=e.trim();return t?t.startsWith("workos:")?t:`workos:${t}`:""}(e))?`Bearer ${r}`:"",s={"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",...a};return o&&(s.Authorization=o),s}])},86345,e=>{"use strict";let t={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},a={[t.BAD_REQUEST]:{type:"invalid_request_error",code:"bad_request"},[t.UNAUTHORIZED]:{type:"authentication_error",code:"invalid_api_key"},[t.FORBIDDEN]:{type:"permission_error",code:"insufficient_quota"},[t.NOT_FOUND]:{type:"invalid_request_error",code:"model_not_found"},[t.NOT_ACCEPTABLE]:{type:"invalid_request_error",code:"model_not_supported"},[t.RATE_LIMITED]:{type:"rate_limit_error",code:"rate_limit_exceeded"},[t.SERVER_ERROR]:{type:"server_error",code:"internal_server_error"},[t.BAD_GATEWAY]:{type:"server_error",code:"bad_gateway"},[t.SERVICE_UNAVAILABLE]:{type:"server_error",code:"service_unavailable"},[t.GATEWAY_TIMEOUT]:{type:"server_error",code:"gateway_timeout"}},r={[t.BAD_REQUEST]:"Bad request",[t.UNAUTHORIZED]:"Invalid API key provided",[t.FORBIDDEN]:"You exceeded your current quota",[t.NOT_FOUND]:"Model not found",[t.NOT_ACCEPTABLE]:"Model not supported",[t.RATE_LIMITED]:"Rate limit exceeded",[t.SERVER_ERROR]:"Internal server error",[t.BAD_GATEWAY]:"Bad gateway - upstream provider error",[t.SERVICE_UNAVAILABLE]:"Service temporarily unavailable",[t.GATEWAY_TIMEOUT]:"Gateway timeout"};e.s(["BACKOFF_CONFIG",0,{base:1e3,max:12e4,maxLevel:15},"COOLDOWN_MS",0,{unauthorized:12e4,paymentRequired:12e4,notFound:12e4,transient:3e4,requestNotAllowed:5e3,rateLimit:12e4,serviceUnavailable:2e3,authExpired:12e4},"DEFAULT_ERROR_MESSAGES",0,r,"DEFAULT_MAX_TOKENS",0,64e3,"DEFAULT_MIN_TOKENS",0,32e3,"DEFAULT_RETRY_CONFIG",0,{429:2,503:0,502:0},"ERROR_TYPES",0,a,"HTTP_STATUS",0,t,"MEMORY_CONFIG",0,{sessionTtlMs:72e5,sessionCleanupIntervalMs:18e5,dnsCacheTtlMs:3e5,proxyDispatchersMaxSize:20},"RETRY_CONFIG",0,{maxAttempts:2,delayMs:2e3},"SKIP_PATTERNS",0,["Please write a 5-10 word title for the following conversation:"]])},13061,e=>{"use strict";var t=e.i(88947),a=e.i(86345);let r="u">typeof caches&&"object"==typeof caches,o=globalThis.fetch,s=new Map,i=new Map,n=["cloudcode-pa.googleapis.com","daily-cloudcode-pa.googleapis.com","api.individual.githubcopilot.com","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com","api2.cursor.sh"],c=["8.8.8.8","8.8.4.4"];function l(e){return null==e?"":String(e).trim()}async function p(t){let r=i.get(t);if(r&&Date.now()<r.expiry)return r.ip;try{let r=await e.A(57408),{promisify:o}=await e.A(34777),s=new r.Resolver;s.setServers(c);let n=o(s.resolve4.bind(s)),l=await n(t);return i.set(t,{ip:l[0],expiry:Date.now()+a.MEMORY_CONFIG.dnsCacheTtlMs}),l[0]}catch(e){return console.warn(`[ProxyFetch] DNS resolve failed for ${t}:`,e.message),null}}function d(e,t){let a,r=l(t);if(!r)return!1;try{a=new URL(e).hostname.toLowerCase()}catch{return!1}return r.split(",").map(e=>e.trim().toLowerCase()).filter(Boolean).some(e=>"*"===e||(e.startsWith(".")?a.endsWith(e)||a===e.slice(1):a===e||a.endsWith(`.${e}`)))}function u(e){let t=l(e);if(!t)return null;try{return new URL(t),t}catch{return`http://${t}`}}async function h(t){let r=u(t);if(!r)return null;if(!s.has(r)){s.size>=a.MEMORY_CONFIG.proxyDispatchersMaxSize&&s.delete(s.keys().next().value);let{ProxyAgent:t}=await e.A(4217);s.set(r,new t({uri:r}))}return s.get(r)}async function m(a,r,o){let s=await e.A(67955),i=await e.A(8884),n=s.default??s,c=i.default??i;return new Promise((e,s)=>{let i=new c.Socket;i.connect(443,r,()=>{let r={socket:i,servername:a.hostname,rejectUnauthorized:!1,path:a.pathname+a.search,method:o.method||"POST",headers:{...o.headers,Host:a.hostname}},c=n.request(r,a=>{let r={ok:a.statusCode>=200&&a.statusCode<300,status:a.statusCode,statusText:a.statusMessage,headers:new Map(Object.entries(a.headers)),body:t.Readable.toWeb(a),text:async()=>{let e=[];for await(let t of a)e.push(t);return Buffer.concat(e).toString()},json:async()=>JSON.parse(await r.text())};e(r)});c.on("error",s),o.body&&c.write("string"==typeof o.body?o.body:JSON.stringify(o.body)),c.end()}),i.on("error",s)})}async function f(e,t={},a=null){let r="string"==typeof e?e:e.toString(),s=function(e,t){if(t?.enabled!==!0&&t?.connectionProxyEnabled!==!0)return null;let a=l(t?.url??t?.connectionProxyUrl);if(!a)return null;let r=l(t?.noProxy??t?.connectionNoProxy);return r&&d(e,r)?null:u(a)}(r,a),i=s?null:u(function(e){let t;if(d(e,process.env.NO_PROXY||process.env.no_proxy))return null;try{t=new URL(e).protocol}catch{return null}return"https:"===t?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy}(r)),c=s||i;if(function(e){try{let t=new URL(e).hostname;return n.some(e=>t.includes(e))}catch{return!1}}(r)){if(c)try{let a=await h(c);return await o(e,{...t,dispatcher:a})}catch(e){if(a?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${e.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct bypass: ${e.message}`)}try{let e=new URL(r),a=await p(e.hostname);if(a)return await m(e,a,t)}catch(e){console.warn(`[ProxyFetch] MITM bypass failed: ${e.message}`)}}if(c)try{let a=await h(c);return await o(e,{...t,dispatcher:a})}catch(e){if(a?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${e.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct: ${e.message}`)}return o(e,t)}async function b(e,t={}){return f(e,t,null)}r||globalThis.fetch===b||(globalThis.fetch=b),e.s(["proxyAwareFetch",0,f])}];
1
+ module.exports=[92509,(e,t,a)=>{t.exports=e.x("url",()=>require("url"))},33703,e=>{"use strict";var t=e.i(22593);e.i(21023);var a=e.i(67059),r=e.i(50227),o=e.i(60526),s=e.i(2157);let i="u">typeof caches&&"object"==typeof caches,n=function(){if(i)return"/tmp";if(process.env.DATA_DIR)return process.env.DATA_DIR;process.platform;let e=o.default.homedir();return r.default.join(e,".n9router")}(),c=i?null:r.default.join(n,"request-details.json");i||s.default.existsSync(n)||s.default.mkdirSync(n,{recursive:!0});let l=null;async function p(){if(i)return null;if(!l){let e=new a.JSONFile(c),r=new t.Low(e,{records:[]});await r.read(),r.data?.records||(r.data={records:[]}),l=r}return l}let d=null,u=0;async function h(){if(d&&Date.now()-u<5e3)return d;try{let{getSettings:t}=await e.A(62724),a=await t(),r="false"!==process.env.OBSERVABILITY_ENABLED;d={enabled:"boolean"==typeof a.enableObservability?a.enableObservability:r,maxRecords:a.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:a.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:a.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(a.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{d={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return u=Date.now(),d}let m=[],f=null,b=!1;async function g(){if(!i&&!b&&0!==m.length){b=!0;try{let e=[...m];m=[];let t=await p(),a=await h();for(let r of e){r.id||(r.id=function(e){let t=new Date().toISOString(),a=Math.random().toString(36).substring(2,8),r=e?e.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${t}-${a}-${r}`}(r.model)),r.timestamp||(r.timestamp=new Date().toISOString()),r.request?.headers&&(r.request.headers=function(e){if(!e||"object"!=typeof e)return{};let t=["authorization","x-api-key","cookie","token","api-key"],a={...e};for(let e of Object.keys(a))t.some(t=>e.toLowerCase().includes(t))&&delete a[e];return a}(r.request.headers));let e={id:r.id,provider:r.provider||null,model:r.model||null,connectionId:r.connectionId||null,timestamp:r.timestamp,status:r.status||null,latency:r.latency||{},tokens:r.tokens||{},request:r.request||{},providerRequest:r.providerRequest||{},providerResponse:r.providerResponse||{},response:r.response||{}},o=a.maxJsonSize;for(let t of["request","providerRequest","providerResponse","response"]){let a=JSON.stringify(e[t]);a.length>o&&(e[t]={_truncated:!0,_originalSize:a.length,_preview:a.substring(0,200)})}let s=t.data.records.findIndex(t=>t.id===e.id);-1!==s?t.data.records[s]=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>a.maxRecords&&(t.data.records=t.data.records.slice(0,a.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{b=!1}}}async function v(e){if(i)return;let t=await h();t.enabled&&(m.push(e),m.length>=t.batchSize?(await g(),f&&(clearTimeout(f),f=null)):f||(f=setTimeout(()=>{g().catch(()=>{}),f=null},t.flushIntervalMs)))}async function y(e={}){if(i)return{details:[],pagination:{page:1,pageSize:50,totalItems:0,totalPages:0,hasNext:!1,hasPrev:!1}};let t=[...(await p()).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 a=t.length,r=e.page||1,o=e.pageSize||50,s=Math.ceil(a/o);return{details:t.slice((r-1)*o,r*o),pagination:{page:r,pageSize:o,totalItems:a,totalPages:s,hasNext:r<s,hasPrev:r>1}}}async function E(e){return i?null:(await p()).data.records.find(t=>t.id===e)||null}let w=async()=>{f&&(clearTimeout(f),f=null),m.length>0&&await g()};i||(process.off("beforeExit",w),process.off("SIGINT",w),process.off("SIGTERM",w),process.off("exit",w),process.on("beforeExit",w),process.on("SIGINT",w),process.on("SIGTERM",w),process.on("exit",w)),e.s(["getRequestDetailById",0,E,"getRequestDetails",0,y,"saveRequestDetail",0,v])},77452,e=>{"use strict";var t=e.i(46786);let a={"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},r="https://api.kimi.com/coding/v1/messages",o={claude:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",retry:{429:0},headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/2.1.63 (external, cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.3.0","X-Stainless-Package-Version":"0.74.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":function(){switch((0,t.arch)()){case"x64":return"x64";case"arm64":return"arm64";case"ia32":return"x86";default:return`other::${(0,t.arch)()}`}}(),"X-Stainless-Os":function(){switch((0,t.platform)()){case"darwin":return"MacOS";case"win32":return"Windows";case"linux":return"Linux";case"freebsd":return"FreeBSD";default:return`Other::${(0,t.platform)()}`}}(),"X-Stainless-Timeout":"600"},clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",tokenUrl:"https://api.anthropic.com/v1/oauth/token"},gemini:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",format:"gemini",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},"gemini-cli":{baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",format:"gemini-cli",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},codex:{baseUrl:"https://chatgpt.com/backend-api/codex/responses",format:"openai-responses",headers:{originator:"codex-cli","User-Agent":"codex-cli/1.0.18 (macOS; arm64)"},clientId:"app_EMoamEEZ73f0CkXaXp7hrann",clientSecret:"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",tokenUrl:"https://auth.openai.com/oauth/token"},qwen:{baseUrl:"https://portal.qwen.ai/v1/chat/completions",format:"openai",headers:{"User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"gl-node/22.17.0"},clientId:"f0304373b74a44d2b584a3fb70ca9e56",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",authUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code"},iflow:{baseUrl:"https://apis.iflow.cn/v1/chat/completions",format:"openai",headers:{"User-Agent":"iFlow-Cli"},clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",tokenUrl:"https://iflow.cn/oauth/token",authUrl:"https://iflow.cn/oauth"},qoder:{baseUrl:"https://api.qoder.com/v1/chat/completions",format:"openai",headers:{"User-Agent":"Qoder-Cli"},clientId:process.env.QODER_OAUTH_CLIENT_ID||"10009311001",clientSecret:process.env.QODER_OAUTH_CLIENT_SECRET||"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",tokenUrl:"https://api.qoder.com/oauth/token",authUrl:"https://qoder.com/oauth/authorize"},antigravity:{baseUrls:["https://daily-cloudcode-pa.googleapis.com","https://daily-cloudcode-pa.sandbox.googleapis.com"],format:"antigravity",headers:{"User-Agent":`antigravity/1.107.0 ${(0,t.platform)()}/${(0,t.arch)()}`},clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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"},openrouter:{baseUrl:"https://openrouter.ai/api/v1/chat/completions",format:"openai",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},openai:{baseUrl:"https://api.openai.com/v1/chat/completions",format:"openai"},glm:{baseUrl:"https://api.z.ai/api/anthropic/v1/messages",format:"claude",headers:{...a}},"glm-cn":{baseUrl:"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",format:"openai",headers:{}},kimi:{baseUrl:r,format:"claude",headers:{...a}},minimax:{baseUrl:"https://api.minimax.io/anthropic/v1/messages",format:"claude",headers:{...a}},"minimax-cn":{baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",format:"claude",headers:{...a}},alicode:{baseUrl:"https://coding.dashscope.aliyuncs.com/v1/chat/completions",format:"openai",headers:{}},"alicode-intl":{baseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",format:"openai",headers:{}},github:{baseUrl:"https://api.githubcopilot.com/chat/completions",responsesUrl:"https://api.githubcopilot.com/responses",format:"openai",headers:{"copilot-integration-id":"vscode-chat","editor-version":"vscode/1.110.0","editor-plugin-version":"copilot-chat/0.38.0","user-agent":"GitHubCopilotChat/0.38.0","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:"application/json","Content-Type":"application/json"},clientId:"Iv1.b507a08c87ecfe98"},kiro:{baseUrl:"https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse",format:"kiro",headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","X-Amz-Target":"AmazonCodeWhispererStreamingService.GenerateAssistantResponse","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev"},cursor:{baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",format:"cursor",headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"1.1.3"},"kimi-coding":{baseUrl:r,format:"claude",headers:{...a},clientId:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token"},kilocode:{baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",format:"openai",headers:{}},opencode:{baseUrl:"http://localhost:4096/v1/chat/completions",format:"openai",headers:{}},cline:{baseUrl:"https://api.cline.bot/api/v1/chat/completions",format:"openai",headers:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},nvidia:{baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",format:"openai"},anthropic:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",headers:{...a}},deepseek:{baseUrl:"https://api.deepseek.com/chat/completions",format:"openai"},groq:{baseUrl:"https://api.groq.com/openai/v1/chat/completions",format:"openai"},xai:{baseUrl:"https://api.x.ai/v1/chat/completions",format:"openai"},mistral:{baseUrl:"https://api.mistral.ai/v1/chat/completions",format:"openai"},perplexity:{baseUrl:"https://api.perplexity.ai/chat/completions",format:"openai"},together:{baseUrl:"https://api.together.xyz/v1/chat/completions",format:"openai"},fireworks:{baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",format:"openai"},cerebras:{baseUrl:"https://api.cerebras.ai/v1/chat/completions",format:"openai"},cohere:{baseUrl:"https://api.cohere.ai/v1/chat/completions",format:"openai"},nebius:{baseUrl:"https://api.studio.nebius.ai/v1/chat/completions",format:"openai"},siliconflow:{baseUrl:"https://api.siliconflow.cn/v1/chat/completions",format:"openai"},hyperbolic:{baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",format:"openai"},deepgram:{baseUrl:"https://api.deepgram.com/v1/listen",format:"openai"},assemblyai:{baseUrl:"https://api.assemblyai.com/v1/audio/transcriptions",format:"openai"},nanobanana:{baseUrl:"https://api.nanobananaapi.ai/v1/chat/completions",format:"openai"},chutes:{baseUrl:"https://llm.chutes.ai/v1/chat/completions",format:"openai"},ollama:{baseUrl:"https://ollama.com/api/chat",format:"ollama"},"ollama-local":{baseUrl:"http://localhost:11434/api/chat",format:"ollama"},vertex:{baseUrl:"https://aiplatform.googleapis.com",format:"vertex"},"vertex-partner":{baseUrl:"https://aiplatform.googleapis.com",format:"openai"},gitlab:{baseUrl:"https://gitlab.com/api/v4/chat/completions",format:"openai"},codebuddy:{baseUrl:"https://copilot.tencent.com/v1/chat/completions",format:"openai"}};e.s(["PROVIDERS",0,o])},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,a={}){let r,o=(r=function(e){if("string"!=typeof e)return"";let t=e.trim();return t?t.startsWith("workos:")?t:`workos:${t}`:""}(e))?`Bearer ${r}`:"",s={"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",...a};return o&&(s.Authorization=o),s}])},86345,e=>{"use strict";let t={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},a={[t.BAD_REQUEST]:{type:"invalid_request_error",code:"bad_request"},[t.UNAUTHORIZED]:{type:"authentication_error",code:"invalid_api_key"},[t.FORBIDDEN]:{type:"permission_error",code:"insufficient_quota"},[t.NOT_FOUND]:{type:"invalid_request_error",code:"model_not_found"},[t.NOT_ACCEPTABLE]:{type:"invalid_request_error",code:"model_not_supported"},[t.RATE_LIMITED]:{type:"rate_limit_error",code:"rate_limit_exceeded"},[t.SERVER_ERROR]:{type:"server_error",code:"internal_server_error"},[t.BAD_GATEWAY]:{type:"server_error",code:"bad_gateway"},[t.SERVICE_UNAVAILABLE]:{type:"server_error",code:"service_unavailable"},[t.GATEWAY_TIMEOUT]:{type:"server_error",code:"gateway_timeout"}},r={[t.BAD_REQUEST]:"Bad request",[t.UNAUTHORIZED]:"Invalid API key provided",[t.FORBIDDEN]:"You exceeded your current quota",[t.NOT_FOUND]:"Model not found",[t.NOT_ACCEPTABLE]:"Model not supported",[t.RATE_LIMITED]:"Rate limit exceeded",[t.SERVER_ERROR]:"Internal server error",[t.BAD_GATEWAY]:"Bad gateway - upstream provider error",[t.SERVICE_UNAVAILABLE]:"Service temporarily unavailable",[t.GATEWAY_TIMEOUT]:"Gateway timeout"};e.s(["BACKOFF_CONFIG",0,{base:1e3,max:12e4,maxLevel:15},"COOLDOWN_MS",0,{unauthorized:12e4,paymentRequired:12e4,notFound:12e4,transient:3e4,requestNotAllowed:5e3,rateLimit:12e4,serviceUnavailable:2e3,authExpired:12e4},"DEFAULT_ERROR_MESSAGES",0,r,"DEFAULT_MAX_TOKENS",0,64e3,"DEFAULT_MIN_TOKENS",0,32e3,"DEFAULT_RETRY_CONFIG",0,{429:2,503:0,502:0},"ERROR_TYPES",0,a,"HTTP_STATUS",0,t,"MEMORY_CONFIG",0,{sessionTtlMs:72e5,sessionCleanupIntervalMs:18e5,dnsCacheTtlMs:3e5,proxyDispatchersMaxSize:20},"RETRY_CONFIG",0,{maxAttempts:2,delayMs:2e3},"SKIP_PATTERNS",0,["Please write a 5-10 word title for the following conversation:"]])},13061,e=>{"use strict";var t=e.i(88947),a=e.i(86345);let r="u">typeof caches&&"object"==typeof caches,o=globalThis.fetch,s=new Map,i=new Map,n=["cloudcode-pa.googleapis.com","daily-cloudcode-pa.googleapis.com","api.individual.githubcopilot.com","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com","api2.cursor.sh"],c=["8.8.8.8","8.8.4.4"];function l(e){return null==e?"":String(e).trim()}async function p(t){let r=i.get(t);if(r&&Date.now()<r.expiry)return r.ip;try{let r=await e.A(57408),{promisify:o}=await e.A(34777),s=new r.Resolver;s.setServers(c);let n=o(s.resolve4.bind(s)),l=await n(t);return i.set(t,{ip:l[0],expiry:Date.now()+a.MEMORY_CONFIG.dnsCacheTtlMs}),l[0]}catch(e){return console.warn(`[ProxyFetch] DNS resolve failed for ${t}:`,e.message),null}}function d(e,t){let a,r=l(t);if(!r)return!1;try{a=new URL(e).hostname.toLowerCase()}catch{return!1}return r.split(",").map(e=>e.trim().toLowerCase()).filter(Boolean).some(e=>"*"===e||(e.startsWith(".")?a.endsWith(e)||a===e.slice(1):a===e||a.endsWith(`.${e}`)))}function u(e){let t=l(e);if(!t)return null;try{return new URL(t),t}catch{return`http://${t}`}}async function h(t){let r=u(t);if(!r)return null;if(!s.has(r)){s.size>=a.MEMORY_CONFIG.proxyDispatchersMaxSize&&s.delete(s.keys().next().value);let{ProxyAgent:t}=await e.A(4217);s.set(r,new t({uri:r}))}return s.get(r)}async function m(a,r,o){let s=await e.A(67955),i=await e.A(8884),n=s.default??s,c=i.default??i;return new Promise((e,s)=>{let i=new c.Socket;i.connect(443,r,()=>{let r={socket:i,servername:a.hostname,rejectUnauthorized:!1,path:a.pathname+a.search,method:o.method||"POST",headers:{...o.headers,Host:a.hostname}},c=n.request(r,a=>{let r={ok:a.statusCode>=200&&a.statusCode<300,status:a.statusCode,statusText:a.statusMessage,headers:new Map(Object.entries(a.headers)),body:t.Readable.toWeb(a),text:async()=>{let e=[];for await(let t of a)e.push(t);return Buffer.concat(e).toString()},json:async()=>JSON.parse(await r.text())};e(r)});c.on("error",s),o.body&&c.write("string"==typeof o.body?o.body:JSON.stringify(o.body)),c.end()}),i.on("error",s)})}async function f(e,t={},a=null){let r="string"==typeof e?e:e.toString(),s=function(e,t){if(t?.enabled!==!0&&t?.connectionProxyEnabled!==!0)return null;let a=l(t?.url??t?.connectionProxyUrl);if(!a)return null;let r=l(t?.noProxy??t?.connectionNoProxy);return r&&d(e,r)?null:u(a)}(r,a),i=s?null:u(function(e){let t;if(d(e,process.env.NO_PROXY||process.env.no_proxy))return null;try{t=new URL(e).protocol}catch{return null}return"https:"===t?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy}(r)),c=s||i;if(function(e){try{let t=new URL(e).hostname;return n.some(e=>t.includes(e))}catch{return!1}}(r)){if(c)try{let a=await h(c);return await o(e,{...t,dispatcher:a})}catch(e){if(a?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${e.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct bypass: ${e.message}`)}try{let e=new URL(r),a=await p(e.hostname);if(a)return await m(e,a,t)}catch(e){console.warn(`[ProxyFetch] MITM bypass failed: ${e.message}`)}}if(c)try{let a=await h(c);return await o(e,{...t,dispatcher:a})}catch(e){if(a?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${e.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct: ${e.message}`)}return o(e,t)}async function b(e,t={}){return f(e,t,null)}r||globalThis.fetch===b||(globalThis.fetch=b),e.s(["proxyAwareFetch",0,f])}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__0b802lh._.js.map