@techysy/10router 1.5.1 → 1.6.0

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 (662) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +6 -6
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/prerender-manifest.json +18 -18
  5. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/experimental/page.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/experimental/page.js.nft.json +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/experimental/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  77. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  78. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  79. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  80. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  81. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  82. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  83. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  84. package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
  85. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  86. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  87. package/app/.next-cli-build/server/app/_not-found.html +2 -2
  88. package/app/.next-cli-build/server/app/_not-found.rsc +6 -6
  89. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +6 -6
  90. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +6 -6
  91. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  92. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  93. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  94. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  95. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  96. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  97. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  98. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  99. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  100. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  101. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  102. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  103. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js +1 -1
  104. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
  105. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js +1 -1
  106. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
  107. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js +1 -1
  108. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js +1 -1
  110. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
  111. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  112. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  113. package/app/.next-cli-build/server/app/api/auth/verify-password/route.js +1 -1
  114. package/app/.next-cli-build/server/app/api/auth/verify-password/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +1 -1
  116. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +1 -1
  118. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  119. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  120. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/cli-tools/claude-profiles/route.js +1 -1
  122. package/app/.next-cli-build/server/app/api/cli-tools/claude-profiles/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  132. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  143. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  145. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/external-quota/[source]/route.js +1 -1
  147. package/app/.next-cli-build/server/app/api/external-quota/[source]/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/gateway-probe/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  151. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
  153. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  155. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  157. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  162. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/keys/rotate/route.js +1 -1
  164. package/app/.next-cli-build/server/app/api/keys/rotate/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  166. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  171. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  173. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  175. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  176. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  177. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  179. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  181. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  183. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/models/caps/route.js +1 -1
  185. package/app/.next-cli-build/server/app/api/models/caps/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/models/custom/bulk/route.js.nft.json +1 -1
  187. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  188. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  190. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  192. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  194. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/network/egress-region/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  197. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js +1 -1
  199. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/checkin/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/claim-compensation/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/export/route.js +1 -1
  203. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/export/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  205. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  207. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  210. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  212. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  214. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  216. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  219. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  221. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  223. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  225. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/oauth/qoder/checkin/route.js.nft.json +1 -1
  227. package/app/.next-cli-build/server/app/api/oauth/qoder-cn/checkin/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/oauth/transfer/export/route.js +1 -1
  229. package/app/.next-cli-build/server/app/api/oauth/transfer/export/route.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/api/oauth/transfer/import/route.js +1 -1
  231. package/app/.next-cli-build/server/app/api/oauth/transfer/import/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js +1 -1
  233. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +1 -1
  235. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/desktop-kill/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/desktop-status/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js +1 -1
  240. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  242. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  244. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  245. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  246. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  248. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  250. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  252. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  254. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  256. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  257. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  258. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  259. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  261. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  263. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  264. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  266. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  267. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  268. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  269. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  270. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +1 -1
  272. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +1 -1
  274. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  275. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  276. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +1 -1
  278. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  279. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  281. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  282. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +1 -1
  284. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  285. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +1 -1
  287. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  288. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/security/status/route.js +1 -1
  290. package/app/.next-cli-build/server/app/api/security/status/route.js.nft.json +1 -1
  291. package/app/.next-cli-build/server/app/api/settings/database/import-usage/route.js +1 -1
  292. package/app/.next-cli-build/server/app/api/settings/database/import-usage/route.js.nft.json +1 -1
  293. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  294. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  296. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  297. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  298. package/app/.next-cli-build/server/app/api/settings/route.js +2 -2
  299. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  300. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  302. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  303. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  304. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  305. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  306. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  307. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  308. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  309. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  310. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  311. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  312. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  313. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  314. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  315. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  316. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  317. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  318. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  319. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  320. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  321. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  322. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  323. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  324. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +1 -1
  325. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  326. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js +1 -1
  327. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js.nft.json +1 -1
  328. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  329. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  330. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  331. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  332. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  333. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  334. package/app/.next-cli-build/server/app/api/usage/dashboard/route.js +1 -1
  335. package/app/.next-cli-build/server/app/api/usage/dashboard/route.js.nft.json +1 -1
  336. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  337. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  338. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  339. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  340. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  341. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  342. package/app/.next-cli-build/server/app/api/usage/quotas/route.js +1 -1
  343. package/app/.next-cli-build/server/app/api/usage/quotas/route.js.nft.json +1 -1
  344. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  345. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  346. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  347. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  348. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  349. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  350. package/app/.next-cli-build/server/app/api/usage/stream/route.js +1 -1
  351. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  352. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  353. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  354. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  355. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  356. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  357. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  358. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  359. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  360. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  361. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  362. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  363. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  364. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
  365. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  366. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  367. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  368. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  369. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  370. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  371. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  372. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  373. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  374. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  375. package/app/.next-cli-build/server/app/api/v1/rerank/route.js +1 -1
  376. package/app/.next-cli-build/server/app/api/v1/rerank/route.js.nft.json +1 -1
  377. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  378. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  379. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  380. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  381. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  382. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  383. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  384. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  385. package/app/.next-cli-build/server/app/api/v1/systemone/route.js +1 -1
  386. package/app/.next-cli-build/server/app/api/v1/systemone/route.js.nft.json +1 -1
  387. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
  388. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  389. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
  390. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  391. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
  392. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  393. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
  394. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  395. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  396. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  397. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  398. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  399. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  400. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  401. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  402. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  403. package/app/.next-cli-build/server/app/api/version/shell-update/route.js.nft.json +1 -1
  404. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  405. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  406. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  407. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  408. package/app/.next-cli-build/server/app/callback/page.js +1 -1
  409. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  410. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  411. package/app/.next-cli-build/server/app/callback.html +2 -2
  412. package/app/.next-cli-build/server/app/callback.rsc +6 -6
  413. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +6 -6
  414. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  415. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +6 -6
  416. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +2 -2
  417. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +8 -8
  418. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +8 -8
  419. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +8 -8
  420. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  421. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +2 -2
  422. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +8 -8
  423. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +8 -8
  424. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +8 -8
  425. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  426. package/app/.next-cli-build/server/app/dashboard/combos.html +2 -2
  427. package/app/.next-cli-build/server/app/dashboard/combos.rsc +8 -8
  428. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +8 -8
  429. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +8 -8
  430. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  431. package/app/.next-cli-build/server/app/dashboard/endpoint.html +2 -2
  432. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +8 -8
  433. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +8 -8
  434. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +8 -8
  435. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  436. package/app/.next-cli-build/server/app/dashboard/experimental.html +2 -2
  437. package/app/.next-cli-build/server/app/dashboard/experimental.rsc +8 -8
  438. package/app/.next-cli-build/server/app/dashboard/experimental.segments/!KGRhc2hib2FyZCk/dashboard/experimental/__PAGE__.segment.rsc +8 -8
  439. package/app/.next-cli-build/server/app/dashboard/experimental.segments/_full.segment.rsc +8 -8
  440. package/app/.next-cli-build/server/app/dashboard/experimental.segments/_tree.segment.rsc +2 -2
  441. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +2 -2
  442. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +8 -8
  443. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +8 -8
  444. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +8 -8
  445. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  446. package/app/.next-cli-build/server/app/dashboard/mitm.html +2 -2
  447. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +8 -8
  448. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +8 -8
  449. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +8 -8
  450. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  451. package/app/.next-cli-build/server/app/dashboard/profile.html +2 -2
  452. package/app/.next-cli-build/server/app/dashboard/profile.rsc +8 -8
  453. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +8 -8
  454. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +8 -8
  455. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  456. package/app/.next-cli-build/server/app/dashboard/providers/new.html +2 -2
  457. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +8 -8
  458. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +8 -8
  459. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +8 -8
  460. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  461. package/app/.next-cli-build/server/app/dashboard/providers.html +2 -2
  462. package/app/.next-cli-build/server/app/dashboard/providers.rsc +8 -8
  463. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +8 -8
  464. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +8 -8
  465. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  466. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +2 -2
  467. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +8 -8
  468. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +8 -8
  469. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +8 -8
  470. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  471. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +2 -2
  472. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +8 -8
  473. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +8 -8
  474. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +8 -8
  475. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  476. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  477. package/app/.next-cli-build/server/app/dashboard/quota.rsc +9 -9
  478. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +9 -9
  479. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +9 -9
  480. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  481. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
  482. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  483. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  484. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +2 -2
  485. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +6 -6
  486. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +6 -6
  487. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  488. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +6 -6
  489. package/app/.next-cli-build/server/app/dashboard/skills.html +2 -2
  490. package/app/.next-cli-build/server/app/dashboard/skills.rsc +8 -8
  491. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +8 -8
  492. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +8 -8
  493. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  494. package/app/.next-cli-build/server/app/dashboard/token-saver.html +2 -2
  495. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +8 -8
  496. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +8 -8
  497. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +8 -8
  498. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  499. package/app/.next-cli-build/server/app/dashboard/translator.html +2 -2
  500. package/app/.next-cli-build/server/app/dashboard/translator.rsc +8 -8
  501. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +8 -8
  502. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +8 -8
  503. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  504. package/app/.next-cli-build/server/app/dashboard/usage.html +2 -2
  505. package/app/.next-cli-build/server/app/dashboard/usage.rsc +8 -8
  506. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +8 -8
  507. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +8 -8
  508. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  509. package/app/.next-cli-build/server/app/dashboard.html +2 -2
  510. package/app/.next-cli-build/server/app/dashboard.rsc +8 -8
  511. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +8 -8
  512. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +8 -8
  513. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  514. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  515. package/app/.next-cli-build/server/app/index.html +1 -1
  516. package/app/.next-cli-build/server/app/index.rsc +6 -6
  517. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +6 -6
  518. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +6 -6
  519. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  520. package/app/.next-cli-build/server/app/landing/page.js +1 -1
  521. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  522. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  523. package/app/.next-cli-build/server/app/landing.html +2 -2
  524. package/app/.next-cli-build/server/app/landing.rsc +7 -7
  525. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +7 -7
  526. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  527. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +7 -7
  528. package/app/.next-cli-build/server/app/login/page.js +1 -1
  529. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  530. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  531. package/app/.next-cli-build/server/app/login.html +2 -2
  532. package/app/.next-cli-build/server/app/login.rsc +7 -7
  533. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +7 -7
  534. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  535. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +7 -7
  536. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  537. package/app/.next-cli-build/server/app/page.js +1 -1
  538. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  539. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  540. package/app/.next-cli-build/server/app-paths-manifest.json +6 -6
  541. package/app/.next-cli-build/server/chunks/1329.js +1 -1
  542. package/app/.next-cli-build/server/chunks/1806.js +1 -1
  543. package/app/.next-cli-build/server/chunks/{9417.js → 1819.js} +2 -2
  544. package/app/.next-cli-build/server/chunks/1884.js +1 -1
  545. package/app/.next-cli-build/server/chunks/2132.js +1 -1
  546. package/app/.next-cli-build/server/chunks/2154.js +1 -0
  547. package/app/.next-cli-build/server/chunks/2557.js +4 -4
  548. package/app/.next-cli-build/server/chunks/2812.js +1 -1
  549. package/app/.next-cli-build/server/chunks/318.js +10 -8
  550. package/app/.next-cli-build/server/chunks/3217.js +1 -0
  551. package/app/.next-cli-build/server/chunks/3267.js +1 -0
  552. package/app/.next-cli-build/server/chunks/3500.js +2 -2
  553. package/app/.next-cli-build/server/chunks/3535.js +1 -1
  554. package/app/.next-cli-build/server/chunks/3792.js +1 -1
  555. package/app/.next-cli-build/server/chunks/3943.js +1 -1
  556. package/app/.next-cli-build/server/chunks/3962.js +1 -1
  557. package/app/.next-cli-build/server/chunks/4123.js +1 -1
  558. package/app/.next-cli-build/server/chunks/4386.js +1 -0
  559. package/app/.next-cli-build/server/chunks/447.js +1 -0
  560. package/app/.next-cli-build/server/chunks/4575.js +1 -1
  561. package/app/.next-cli-build/server/chunks/4692.js +1 -1
  562. package/app/.next-cli-build/server/chunks/4775.js +1 -1
  563. package/app/.next-cli-build/server/chunks/{2112.js → 4906.js} +1 -1
  564. package/app/.next-cli-build/server/chunks/4927.js +4 -4
  565. package/app/.next-cli-build/server/chunks/5210.js +15 -13
  566. package/app/.next-cli-build/server/chunks/539.js +1 -1
  567. package/app/.next-cli-build/server/chunks/5598.js +1 -0
  568. package/app/.next-cli-build/server/chunks/5615.js +1 -1
  569. package/app/.next-cli-build/server/chunks/5625.js +1 -0
  570. package/app/.next-cli-build/server/chunks/5663.js +1 -0
  571. package/app/.next-cli-build/server/chunks/5757.js +1 -1
  572. package/app/.next-cli-build/server/chunks/5781.js +1 -1
  573. package/app/.next-cli-build/server/chunks/6070.js +1 -1
  574. package/app/.next-cli-build/server/chunks/615.js +1 -1
  575. package/app/.next-cli-build/server/chunks/6306.js +1 -1
  576. package/app/.next-cli-build/server/chunks/6326.js +1 -1
  577. package/app/.next-cli-build/server/chunks/6492.js +1 -1
  578. package/app/.next-cli-build/server/chunks/6763.js +1 -1
  579. package/app/.next-cli-build/server/chunks/6790.js +1 -1
  580. package/app/.next-cli-build/server/chunks/6877.js +1 -1
  581. package/app/.next-cli-build/server/chunks/6922.js +1 -1
  582. package/app/.next-cli-build/server/chunks/6956.js +1 -1
  583. package/app/.next-cli-build/server/chunks/6960.js +2 -2
  584. package/app/.next-cli-build/server/chunks/7067.js +1 -1
  585. package/app/.next-cli-build/server/chunks/7122.js +1 -1
  586. package/app/.next-cli-build/server/chunks/7247.js +1 -1
  587. package/app/.next-cli-build/server/chunks/7274.js +4 -4
  588. package/app/.next-cli-build/server/chunks/7322.js +2 -2
  589. package/app/.next-cli-build/server/chunks/7729.js +1 -0
  590. package/app/.next-cli-build/server/chunks/8145.js +1 -1
  591. package/app/.next-cli-build/server/chunks/8172.js +2 -2
  592. package/app/.next-cli-build/server/chunks/8318.js +1 -1
  593. package/app/.next-cli-build/server/chunks/8370.js +2 -2
  594. package/app/.next-cli-build/server/chunks/8499.js +3 -3
  595. package/app/.next-cli-build/server/chunks/8595.js +1 -1
  596. package/app/.next-cli-build/server/chunks/8689.js +1 -1
  597. package/app/.next-cli-build/server/chunks/8749.js +1 -1
  598. package/app/.next-cli-build/server/chunks/8775.js +1 -1
  599. package/app/.next-cli-build/server/chunks/8895.js +8 -8
  600. package/app/.next-cli-build/server/chunks/8920.js +1 -1
  601. package/app/.next-cli-build/server/chunks/9046.js +1 -1
  602. package/app/.next-cli-build/server/chunks/9154.js +1 -1
  603. package/app/.next-cli-build/server/chunks/9489.js +3 -2
  604. package/app/.next-cli-build/server/chunks/9601.js +1 -1
  605. package/app/.next-cli-build/server/chunks/9609.js +1 -1
  606. package/app/.next-cli-build/server/chunks/9628.js +1 -1
  607. package/app/.next-cli-build/server/chunks/976.js +1 -1
  608. package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
  609. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  610. package/app/.next-cli-build/server/middleware.js +5 -5
  611. package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
  612. package/app/.next-cli-build/server/pages/404.html +2 -2
  613. package/app/.next-cli-build/server/pages/500.html +1 -1
  614. package/app/.next-cli-build/static/chunks/1243-72ef45af27dc7a4a.js +3 -0
  615. package/app/.next-cli-build/static/chunks/1321-77ba328dd4d69fdb.js +1 -0
  616. package/app/.next-cli-build/static/chunks/5497-ec8a6308121a2b70.js +7 -0
  617. package/app/.next-cli-build/static/chunks/{9749-80768075d38162d1.js → 9749-1f31c98804847f2a.js} +8 -8
  618. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-8f6aadfc8bf2eb7b.js +1 -0
  619. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/experimental/{page-7ee730e7a1ddb6e5.js → page-01bf0e3f4117f6c1.js} +1 -1
  620. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-bce04d7851a6bf65.js → page-6db03f8140121a40.js} +10 -10
  621. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/{page-7c9d46f8c09d480e.js → page-73d4979c8eec774c.js} +1 -1
  622. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-a6b07fa9d0712cee.js +14 -0
  623. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/{page-ceb259d31ded818a.js → page-1e4e3f6f20152da1.js} +1 -1
  624. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-c77260f73f62aa0e.js +1 -0
  625. package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-db46cbc3bf22d61a.js +1 -0
  626. package/app/.next-cli-build/static/chunks/app/landing/page-c6c3a32dd06bc907.js +1 -0
  627. package/app/.next-cli-build/static/css/17275fac82e1641e.css +1 -0
  628. package/app/package.json +71 -71
  629. package/app/public/donate/alipay.svg +1 -0
  630. package/app/public/donate/ifdian.svg +1 -0
  631. package/app/public/donate/wechat.svg +1 -0
  632. package/app/public/i18n/changelog/en.md +513 -477
  633. package/app/public/i18n/changelog/zh-CN.md +511 -475
  634. package/app/public/i18n/changelog/zh-TW.md +513 -477
  635. package/app/public/i18n/literals/zh-CN.json +2107 -2063
  636. package/app/public/i18n/literals/zh-TW.json +951 -907
  637. package/app/public/providers/alitp-intl.png +0 -0
  638. package/app/public/providers/alitp.png +0 -0
  639. package/app/public/providers/inception.png +0 -0
  640. package/app/src/mitm/server.js +12 -12
  641. package/app/src/shared/services/quotaAutoPing.js +345 -313
  642. package/app/src/sse/services/codebuddyCheckin.js +687 -890
  643. package/app/src/sse/services/minimaxCheckin.js +340 -0
  644. package/package.json +61 -61
  645. package/app/.next-cli-build/server/chunks/3599.js +0 -1
  646. package/app/.next-cli-build/server/chunks/6593.js +0 -1
  647. package/app/.next-cli-build/server/chunks/7070.js +0 -1
  648. package/app/.next-cli-build/server/chunks/7252.js +0 -1
  649. package/app/.next-cli-build/server/chunks/8672.js +0 -1
  650. package/app/.next-cli-build/server/chunks/8972.js +0 -1
  651. package/app/.next-cli-build/server/chunks/939.js +0 -1
  652. package/app/.next-cli-build/static/chunks/1243-acdc1dcbfcd9336d.js +0 -3
  653. package/app/.next-cli-build/static/chunks/1321-f4736e33b06bb9d6.js +0 -1
  654. package/app/.next-cli-build/static/chunks/5497-f54b1274c2141bf0.js +0 -7
  655. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-14745e08d1edafb2.js +0 -1
  656. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-244e20b305c911c6.js +0 -14
  657. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-c70550b49f94cbc4.js +0 -1
  658. package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-cefb3cbfe469dd51.js +0 -1
  659. package/app/.next-cli-build/static/chunks/app/landing/page-38924391f8649361.js +0 -1
  660. package/app/.next-cli-build/static/css/cd8cdc4426ba0a3b.css +0 -1
  661. /package/app/.next-cli-build/static/{4BxfiRlz5UJXZcUl6uinS → 1q0xTGDYtD52dGw4uiY4-}/_buildManifest.js +0 -0
  662. /package/app/.next-cli-build/static/{4BxfiRlz5UJXZcUl6uinS → 1q0xTGDYtD52dGw4uiY4-}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- {"version":1,"files":["../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../node_modules/@swc/helpers/esm/_interop_require_default.js","../../node_modules/@swc/helpers/package.json","../../node_modules/better-sqlite3/lib/database.js","../../node_modules/better-sqlite3/lib/index.js","../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../node_modules/better-sqlite3/lib/methods/backup.js","../../node_modules/better-sqlite3/lib/methods/function.js","../../node_modules/better-sqlite3/lib/methods/inspect.js","../../node_modules/better-sqlite3/lib/methods/pragma.js","../../node_modules/better-sqlite3/lib/methods/serialize.js","../../node_modules/better-sqlite3/lib/methods/table.js","../../node_modules/better-sqlite3/lib/methods/transaction.js","../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../node_modules/better-sqlite3/lib/sqlite-error.js","../../node_modules/better-sqlite3/lib/util.js","../../node_modules/better-sqlite3/package.json","../../node_modules/bindings/bindings.js","../../node_modules/bindings/package.json","../../node_modules/file-uri-to-path/index.js","../../node_modules/file-uri-to-path/package.json","../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../node_modules/next/dist/client/components/hooks-server-context.js","../../node_modules/next/dist/client/components/static-generation-bailout.js","../../node_modules/next/dist/client/lib/console.js","../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../node_modules/next/dist/compiled/source-map/package.json","../../node_modules/next/dist/compiled/source-map/source-map.js","../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../node_modules/next/dist/compiled/ws/index.js","../../node_modules/next/dist/compiled/ws/package.json","../../node_modules/next/dist/lib/client-and-server-references.js","../../node_modules/next/dist/lib/constants.js","../../node_modules/next/dist/lib/framework/boundary-constants.js","../../node_modules/next/dist/lib/interop-default.js","../../node_modules/next/dist/lib/is-error.js","../../node_modules/next/dist/lib/picocolors.js","../../node_modules/next/dist/lib/scheduler.js","../../node_modules/next/dist/lib/semver-noop.js","../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../node_modules/next/dist/server/app-render/async-local-storage.js","../../node_modules/next/dist/server/app-render/blocking-route-messages.js","../../node_modules/next/dist/server/app-render/cache-signal.js","../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js","../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../node_modules/next/dist/server/app-render/staged-rendering.js","../../node_modules/next/dist/server/app-render/sync-io-messages.js","../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../node_modules/next/dist/server/lib/lru-cache.js","../../node_modules/next/dist/server/lib/parse-stack.js","../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../node_modules/next/dist/server/lib/source-maps.js","../../node_modules/next/dist/server/lib/trace/constants.js","../../node_modules/next/dist/server/lib/trace/tracer.js","../../node_modules/next/dist/server/load-manifest.external.js","../../node_modules/next/dist/server/node-environment-baseline.js","../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../node_modules/next/dist/server/node-environment-extensions/date.js","../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../node_modules/next/dist/server/node-environment-extensions/random.js","../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../node_modules/next/dist/server/node-environment.js","../../node_modules/next/dist/server/node-polyfill-crypto.js","../../node_modules/next/dist/server/patch-error-inspect.js","../../node_modules/next/dist/server/require-hook.js","../../node_modules/next/dist/server/response-cache/types.js","../../node_modules/next/dist/server/runtime-reacts.external.js","../../node_modules/next/dist/shared/lib/deep-freeze.js","../../node_modules/next/dist/shared/lib/instant-messages.js","../../node_modules/next/dist/shared/lib/invariant-error.js","../../node_modules/next/dist/shared/lib/is-plain-object.js","../../node_modules/next/dist/shared/lib/is-thenable.js","../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../node_modules/next/dist/shared/lib/server-reference-info.js","../../node_modules/next/package.json","../../node_modules/react/cjs/react.development.js","../../node_modules/react/cjs/react.production.js","../../node_modules/react/index.js","../../node_modules/react/package.json","../../node_modules/sql.js/dist/sql-wasm.js","../../node_modules/sql.js/package.json","../../package.json","../package.json","chunks/1219.js","chunks/1220.js","chunks/1261.js","chunks/1329.js","chunks/1345.js","chunks/1386.js","chunks/1531.js","chunks/1806.js","chunks/1813.js","chunks/1884.js","chunks/1998.js","chunks/2112.js","chunks/2116.js","chunks/2132.js","chunks/2391.js","chunks/241.js","chunks/2430.js","chunks/2557.js","chunks/2732.js","chunks/2750.js","chunks/2812.js","chunks/2926.js","chunks/2960.js","chunks/318.js","chunks/3225.js","chunks/3256.js","chunks/3433.js","chunks/3500.js","chunks/3535.js","chunks/3593.js","chunks/3599.js","chunks/3662.js","chunks/3792.js","chunks/3943.js","chunks/3962.js","chunks/4008.js","chunks/4123.js","chunks/4125.js","chunks/4152.js","chunks/4190.js","chunks/4293.js","chunks/4575.js","chunks/4613.js","chunks/4689.js","chunks/4692.js","chunks/4730.js","chunks/4739.js","chunks/4741.js","chunks/4755.js","chunks/4775.js","chunks/4780.js","chunks/4803.js","chunks/4927.js","chunks/507.js","chunks/5081.js","chunks/5182.js","chunks/5210.js","chunks/5258.js","chunks/539.js","chunks/5433.js","chunks/5527.js","chunks/5573.js","chunks/5615.js","chunks/5640.js","chunks/5692.js","chunks/5757.js","chunks/5781.js","chunks/595.js","chunks/6070.js","chunks/6103.js","chunks/6133.js","chunks/615.js","chunks/6252.js","chunks/6306.js","chunks/6326.js","chunks/6457.js","chunks/6492.js","chunks/6593.js","chunks/6756.js","chunks/6763.js","chunks/6790.js","chunks/6844.js","chunks/6875.js","chunks/6877.js","chunks/6921.js","chunks/6922.js","chunks/6947.js","chunks/6956.js","chunks/6960.js","chunks/698.js","chunks/7066.js","chunks/7067.js","chunks/7070.js","chunks/7122.js","chunks/7247.js","chunks/7252.js","chunks/7274.js","chunks/7322.js","chunks/75.js","chunks/7568.js","chunks/7726.js","chunks/7753.js","chunks/7774.js","chunks/7775.js","chunks/7828.js","chunks/7965.js","chunks/8062.js","chunks/808.js","chunks/8145.js","chunks/8172.js","chunks/8292.js","chunks/8318.js","chunks/8370.js","chunks/8410.js","chunks/8439.js","chunks/8469.js","chunks/8499.js","chunks/8520.js","chunks/8595.js","chunks/8658.js","chunks/8672.js","chunks/8689.js","chunks/8749.js","chunks/8775.js","chunks/8838.js","chunks/8895.js","chunks/8920.js","chunks/8972.js","chunks/8988.js","chunks/9046.js","chunks/9055.js","chunks/9154.js","chunks/939.js","chunks/9417.js","chunks/9451.js","chunks/9489.js","chunks/9601.js","chunks/9609.js","chunks/9628.js","chunks/976.js","webpack-runtime.js"]}
1
+ {"version":1,"files":["../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../node_modules/@swc/helpers/esm/_interop_require_default.js","../../node_modules/@swc/helpers/package.json","../../node_modules/better-sqlite3/lib/database.js","../../node_modules/better-sqlite3/lib/index.js","../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../node_modules/better-sqlite3/lib/methods/backup.js","../../node_modules/better-sqlite3/lib/methods/function.js","../../node_modules/better-sqlite3/lib/methods/inspect.js","../../node_modules/better-sqlite3/lib/methods/pragma.js","../../node_modules/better-sqlite3/lib/methods/serialize.js","../../node_modules/better-sqlite3/lib/methods/table.js","../../node_modules/better-sqlite3/lib/methods/transaction.js","../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../node_modules/better-sqlite3/lib/sqlite-error.js","../../node_modules/better-sqlite3/lib/util.js","../../node_modules/better-sqlite3/package.json","../../node_modules/bindings/bindings.js","../../node_modules/bindings/package.json","../../node_modules/file-uri-to-path/index.js","../../node_modules/file-uri-to-path/package.json","../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../node_modules/next/dist/client/components/hooks-server-context.js","../../node_modules/next/dist/client/components/static-generation-bailout.js","../../node_modules/next/dist/client/lib/console.js","../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../node_modules/next/dist/compiled/source-map/package.json","../../node_modules/next/dist/compiled/source-map/source-map.js","../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../node_modules/next/dist/compiled/ws/index.js","../../node_modules/next/dist/compiled/ws/package.json","../../node_modules/next/dist/lib/client-and-server-references.js","../../node_modules/next/dist/lib/constants.js","../../node_modules/next/dist/lib/framework/boundary-constants.js","../../node_modules/next/dist/lib/interop-default.js","../../node_modules/next/dist/lib/is-error.js","../../node_modules/next/dist/lib/picocolors.js","../../node_modules/next/dist/lib/scheduler.js","../../node_modules/next/dist/lib/semver-noop.js","../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../node_modules/next/dist/server/app-render/async-local-storage.js","../../node_modules/next/dist/server/app-render/blocking-route-messages.js","../../node_modules/next/dist/server/app-render/cache-signal.js","../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js","../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../node_modules/next/dist/server/app-render/staged-rendering.js","../../node_modules/next/dist/server/app-render/sync-io-messages.js","../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../node_modules/next/dist/server/lib/lru-cache.js","../../node_modules/next/dist/server/lib/parse-stack.js","../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../node_modules/next/dist/server/lib/source-maps.js","../../node_modules/next/dist/server/lib/trace/constants.js","../../node_modules/next/dist/server/lib/trace/tracer.js","../../node_modules/next/dist/server/load-manifest.external.js","../../node_modules/next/dist/server/node-environment-baseline.js","../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../node_modules/next/dist/server/node-environment-extensions/date.js","../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../node_modules/next/dist/server/node-environment-extensions/random.js","../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../node_modules/next/dist/server/node-environment.js","../../node_modules/next/dist/server/node-polyfill-crypto.js","../../node_modules/next/dist/server/patch-error-inspect.js","../../node_modules/next/dist/server/require-hook.js","../../node_modules/next/dist/server/response-cache/types.js","../../node_modules/next/dist/server/runtime-reacts.external.js","../../node_modules/next/dist/shared/lib/deep-freeze.js","../../node_modules/next/dist/shared/lib/instant-messages.js","../../node_modules/next/dist/shared/lib/invariant-error.js","../../node_modules/next/dist/shared/lib/is-plain-object.js","../../node_modules/next/dist/shared/lib/is-thenable.js","../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../node_modules/next/dist/shared/lib/server-reference-info.js","../../node_modules/next/package.json","../../node_modules/react/cjs/react.development.js","../../node_modules/react/cjs/react.production.js","../../node_modules/react/index.js","../../node_modules/react/package.json","../../node_modules/sql.js/dist/sql-wasm.js","../../node_modules/sql.js/package.json","../../package.json","../package.json","chunks/1219.js","chunks/1220.js","chunks/1261.js","chunks/1329.js","chunks/1345.js","chunks/1386.js","chunks/1531.js","chunks/1806.js","chunks/1813.js","chunks/1819.js","chunks/1884.js","chunks/1998.js","chunks/2116.js","chunks/2132.js","chunks/2154.js","chunks/2391.js","chunks/241.js","chunks/2430.js","chunks/2557.js","chunks/2732.js","chunks/2750.js","chunks/2812.js","chunks/2926.js","chunks/2960.js","chunks/318.js","chunks/3217.js","chunks/3225.js","chunks/3256.js","chunks/3267.js","chunks/3433.js","chunks/3500.js","chunks/3535.js","chunks/3593.js","chunks/3662.js","chunks/3792.js","chunks/3943.js","chunks/3962.js","chunks/4008.js","chunks/4123.js","chunks/4125.js","chunks/4152.js","chunks/4190.js","chunks/4293.js","chunks/4386.js","chunks/447.js","chunks/4575.js","chunks/4613.js","chunks/4689.js","chunks/4692.js","chunks/4730.js","chunks/4739.js","chunks/4741.js","chunks/4755.js","chunks/4775.js","chunks/4780.js","chunks/4803.js","chunks/4906.js","chunks/4927.js","chunks/507.js","chunks/5081.js","chunks/5182.js","chunks/5210.js","chunks/5258.js","chunks/539.js","chunks/5433.js","chunks/5527.js","chunks/5573.js","chunks/5598.js","chunks/5615.js","chunks/5625.js","chunks/5640.js","chunks/5663.js","chunks/5692.js","chunks/5757.js","chunks/5781.js","chunks/595.js","chunks/6070.js","chunks/6103.js","chunks/6133.js","chunks/615.js","chunks/6252.js","chunks/6306.js","chunks/6326.js","chunks/6457.js","chunks/6492.js","chunks/6756.js","chunks/6763.js","chunks/6790.js","chunks/6844.js","chunks/6875.js","chunks/6877.js","chunks/6921.js","chunks/6922.js","chunks/6947.js","chunks/6956.js","chunks/6960.js","chunks/698.js","chunks/7066.js","chunks/7067.js","chunks/7122.js","chunks/7247.js","chunks/7274.js","chunks/7322.js","chunks/75.js","chunks/7568.js","chunks/7726.js","chunks/7729.js","chunks/7753.js","chunks/7774.js","chunks/7775.js","chunks/7828.js","chunks/7965.js","chunks/8062.js","chunks/808.js","chunks/8145.js","chunks/8172.js","chunks/8292.js","chunks/8318.js","chunks/8370.js","chunks/8410.js","chunks/8439.js","chunks/8469.js","chunks/8499.js","chunks/8520.js","chunks/8595.js","chunks/8658.js","chunks/8689.js","chunks/8749.js","chunks/8775.js","chunks/8838.js","chunks/8895.js","chunks/8920.js","chunks/8988.js","chunks/9046.js","chunks/9055.js","chunks/9154.js","chunks/9451.js","chunks/9489.js","chunks/9601.js","chunks/9609.js","chunks/9628.js","chunks/976.js","webpack-runtime.js"]}
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/50fcf2faa21a2f51.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/cd8cdc4426ba0a3b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-f1d5e73ffd2bfb73.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-4d73df1ee3dd1b8a.js" async=""></script><script src="/_next/static/chunks/main-app-776fd087f52a1f50.js" async=""></script><script src="/_next/static/chunks/3170-8dc71548e5b2cbf9.js" async=""></script><script src="/_next/static/chunks/305-f019439bbcf9152e.js" async=""></script><script src="/_next/static/chunks/1321-f4736e33b06bb9d6.js" async=""></script><script src="/_next/static/chunks/5497-f54b1274c2141bf0.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-cefb3cbfe469dd51.js" async=""></script><script src="/_next/static/chunks/8720-a2aa5581184c3985.js" async=""></script><script src="/_next/static/chunks/app/layout-ba8ee035fd3fda5f.js" async=""></script><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-LC959F603F" as="script"/><meta name="robots" content="noindex"/><meta name="theme-color" content="#0a0a0a"/><title>10Router - AI Infrastructure Management</title><meta name="description" content="One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?603d046c9a6fdfbb" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/favicon.svg"/><title>404: This page could not be found.</title><script>(function(){try{var raw=null;try{raw=localStorage.getItem('theme')}catch(e){}
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/50fcf2faa21a2f51.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/17275fac82e1641e.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-f1d5e73ffd2bfb73.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-4d73df1ee3dd1b8a.js" async=""></script><script src="/_next/static/chunks/main-app-776fd087f52a1f50.js" async=""></script><script src="/_next/static/chunks/3170-8dc71548e5b2cbf9.js" async=""></script><script src="/_next/static/chunks/305-f019439bbcf9152e.js" async=""></script><script src="/_next/static/chunks/1321-77ba328dd4d69fdb.js" async=""></script><script src="/_next/static/chunks/5497-ec8a6308121a2b70.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-db46cbc3bf22d61a.js" async=""></script><script src="/_next/static/chunks/8720-a2aa5581184c3985.js" async=""></script><script src="/_next/static/chunks/app/layout-ba8ee035fd3fda5f.js" async=""></script><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-LC959F603F" as="script"/><meta name="robots" content="noindex"/><meta name="theme-color" content="#0a0a0a"/><title>10Router - AI Infrastructure Management</title><meta name="description" content="One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?603d046c9a6fdfbb" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/favicon.svg"/><title>404: This page could not be found.</title><script>(function(){try{var raw=null;try{raw=localStorage.getItem('theme')}catch(e){}
2
2
  var t=null;if(raw){try{var j=JSON.parse(raw);t=(j&&j.state&&j.state.theme)||null}catch(e){t=raw}}
3
3
  if(t!=='light'&&t!=='dark')t='system';
4
4
  var dark=t==='dark'||(window.matchMedia&&window.matchMedia('(prefers-color-scheme: dark)').matches);
@@ -6,4 +6,4 @@ var r=document.documentElement;
6
6
  if(dark)r.classList.add('dark');else r.classList.remove('dark');
7
7
  var m=document.querySelector('meta[name="theme-color"]');
8
8
  if(m)m.setAttribute('content',dark?'#0a0a0a':'#FDFAF6');
9
- }catch(e){}})();</script><script>if(document.fonts&&document.fonts.ready){document.fonts.ready.then(function(){document.documentElement.classList.add('fonts-loaded')})}else{document.documentElement.classList.add('fonts-loaded')}</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_d8ebd1 font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-f1d5e73ffd2bfb73.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[21110,[\"3170\",\"static/chunks/3170-8dc71548e5b2cbf9.js\",\"305\",\"static/chunks/305-f019439bbcf9152e.js\",\"1321\",\"static/chunks/1321-f4736e33b06bb9d6.js\",\"5497\",\"static/chunks/5497-f54b1274c2141bf0.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-cefb3cbfe469dd51.js\"],\"ThemeProvider\"]\n3:I[94635,[\"8720\",\"static/chunks/8720-a2aa5581184c3985.js\",\"1321\",\"static/chunks/1321-f4736e33b06bb9d6.js\",\"7177\",\"static/chunks/app/layout-ba8ee035fd3fda5f.js\"],\"RuntimeI18nProvider\"]\n4:I[57121,[],\"\"]\n5:I[74581,[],\"\"]\n6:I[53319,[\"8720\",\"static/chunks/8720-a2aa5581184c3985.js\",\"1321\",\"static/chunks/1321-f4736e33b06bb9d6.js\",\"7177\",\"static/chunks/app/layout-ba8ee035fd3fda5f.js\"],\"default\"]\n7:I[30565,[\"8720\",\"static/chunks/8720-a2aa5581184c3985.js\",\"1321\",\"static/chunks/1321-f4736e33b06bb9d6.js\",\"7177\",\"static/chunks/app/layout-ba8ee035fd3fda5f.js\"],\"GoogleAnalytics\"]\n8:I[90484,[],\"OutletBoundary\"]\n9:\"$Sreact.suspense\"\nc:I[90484,[],\"ViewportBoundary\"]\ne:I[90484,[],\"MetadataBoundary\"]\n10:I[27123,[],\"default\",1]\n:HL[\"/_next/static/css/50fcf2faa21a2f51.css\",\"style\"]\n:HL[\"/_next/static/css/cd8cdc4426ba0a3b.css\",\"style\"]\nb:X\n0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_not-found\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/50fcf2faa21a2f51.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/cd8cdc4426ba0a3b.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var raw=null;try{raw=localStorage.getItem('theme')}catch(e){}\\nvar t=null;if(raw){try{var j=JSON.parse(raw);t=(j\u0026\u0026j.state\u0026\u0026j.state.theme)||null}catch(e){t=raw}}\\nif(t!=='light'\u0026\u0026t!=='dark')t='system';\\nvar dark=t==='dark'||(window.matchMedia\u0026\u0026window.matchMedia('(prefers-color-scheme: dark)').matches);\\nvar r=document.documentElement;\\nif(dark)r.classList.add('dark');else r.classList.remove('dark');\\nvar m=document.querySelector('meta[name=\\\"theme-color\\\"]');\\nif(m)m.setAttribute('content',dark?'#0a0a0a':'#FDFAF6');\\n}catch(e){}})();\"}}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"if(document.fonts\u0026\u0026document.fonts.ready){document.fonts.ready.then(function(){document.documentElement.classList.add('fonts-loaded')})}else{document.documentElement.classList.add('fonts-loaded')}\"}}]]}],[\"$\",\"body\",null,{\"className\":\"__variable_d8ebd1 font-sans antialiased\",\"children\":[[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}],[\"$\",\"$L6\",null,{}],[\"$\",\"$L7\",null,{\"gaId\":\"G-LC959F603F\"}]]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@a\"}]}]]}],{},null,false,null]},null,false,\"$b\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Le\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lf\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"4BxfiRlz5UJXZcUl6uinS\"}\nb:C\nd:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0a0a0a\"}]]\n11:I[86869,[],\"IconMark\"]\na:null\nf:[[\"$\",\"title\",\"0\",{\"children\":\"10Router - AI Infrastructure Management\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?603d046c9a6fdfbb\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"$L11\",\"5\",{}]]\n"])</script></body></html>
9
+ }catch(e){}})();</script><script>if(document.fonts&&document.fonts.ready){document.fonts.ready.then(function(){document.documentElement.classList.add('fonts-loaded')})}else{document.documentElement.classList.add('fonts-loaded')}</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_d8ebd1 font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-f1d5e73ffd2bfb73.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[21110,[\"3170\",\"static/chunks/3170-8dc71548e5b2cbf9.js\",\"305\",\"static/chunks/305-f019439bbcf9152e.js\",\"1321\",\"static/chunks/1321-77ba328dd4d69fdb.js\",\"5497\",\"static/chunks/5497-ec8a6308121a2b70.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-db46cbc3bf22d61a.js\"],\"ThemeProvider\"]\n3:I[94635,[\"8720\",\"static/chunks/8720-a2aa5581184c3985.js\",\"1321\",\"static/chunks/1321-77ba328dd4d69fdb.js\",\"7177\",\"static/chunks/app/layout-ba8ee035fd3fda5f.js\"],\"RuntimeI18nProvider\"]\n4:I[57121,[],\"\"]\n5:I[74581,[],\"\"]\n6:I[53319,[\"8720\",\"static/chunks/8720-a2aa5581184c3985.js\",\"1321\",\"static/chunks/1321-77ba328dd4d69fdb.js\",\"7177\",\"static/chunks/app/layout-ba8ee035fd3fda5f.js\"],\"default\"]\n7:I[30565,[\"8720\",\"static/chunks/8720-a2aa5581184c3985.js\",\"1321\",\"static/chunks/1321-77ba328dd4d69fdb.js\",\"7177\",\"static/chunks/app/layout-ba8ee035fd3fda5f.js\"],\"GoogleAnalytics\"]\n8:I[90484,[],\"OutletBoundary\"]\n9:\"$Sreact.suspense\"\nc:I[90484,[],\"ViewportBoundary\"]\ne:I[90484,[],\"MetadataBoundary\"]\n10:I[27123,[],\"default\",1]\n:HL[\"/_next/static/css/50fcf2faa21a2f51.css\",\"style\"]\n:HL[\"/_next/static/css/17275fac82e1641e.css\",\"style\"]\nb:X\n0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_not-found\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/50fcf2faa21a2f51.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/17275fac82e1641e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var raw=null;try{raw=localStorage.getItem('theme')}catch(e){}\\nvar t=null;if(raw){try{var j=JSON.parse(raw);t=(j\u0026\u0026j.state\u0026\u0026j.state.theme)||null}catch(e){t=raw}}\\nif(t!=='light'\u0026\u0026t!=='dark')t='system';\\nvar dark=t==='dark'||(window.matchMedia\u0026\u0026window.matchMedia('(prefers-color-scheme: dark)').matches);\\nvar r=document.documentElement;\\nif(dark)r.classList.add('dark');else r.classList.remove('dark');\\nvar m=document.querySelector('meta[name=\\\"theme-color\\\"]');\\nif(m)m.setAttribute('content',dark?'#0a0a0a':'#FDFAF6');\\n}catch(e){}})();\"}}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"if(document.fonts\u0026\u0026document.fonts.ready){document.fonts.ready.then(function(){document.documentElement.classList.add('fonts-loaded')})}else{document.documentElement.classList.add('fonts-loaded')}\"}}]]}],[\"$\",\"body\",null,{\"className\":\"__variable_d8ebd1 font-sans antialiased\",\"children\":[[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}],[\"$\",\"$L6\",null,{}],[\"$\",\"$L7\",null,{\"gaId\":\"G-LC959F603F\"}]]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@a\"}]}]]}],{},null,false,null]},null,false,\"$b\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Le\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lf\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"1q0xTGDYtD52dGw4uiY4-\"}\nb:C\nd:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0a0a0a\"}]]\n11:I[86869,[],\"IconMark\"]\na:null\nf:[[\"$\",\"title\",\"0\",{\"children\":\"10Router - AI Infrastructure Management\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?603d046c9a6fdfbb\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"$L11\",\"5\",{}]]\n"])</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-f1d5e73ffd2bfb73.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-4d73df1ee3dd1b8a.js" async=""></script><script src="/_next/static/chunks/main-app-776fd087f52a1f50.js" async=""></script><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-f1d5e73ffd2bfb73.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:I[74581,[],\"\"]\n4:I[90484,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[90484,[],\"ViewportBoundary\"]\na:I[90484,[],\"MetadataBoundary\"]\nc:I[27123,[],\"default\",1]\n7:X\n0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_global-error\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4624]},\"$undefined\",\"$undefined\",4624]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$7\"]},null,false,\"$7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"4BxfiRlz5UJXZcUl6uinS\"}\n7:C\n9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n6:null\nb:[]\n"])</script></body></html>
1
+ <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-f1d5e73ffd2bfb73.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-4d73df1ee3dd1b8a.js" async=""></script><script src="/_next/static/chunks/main-app-776fd087f52a1f50.js" async=""></script><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-f1d5e73ffd2bfb73.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:I[74581,[],\"\"]\n4:I[90484,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[90484,[],\"ViewportBoundary\"]\na:I[90484,[],\"MetadataBoundary\"]\nc:I[27123,[],\"default\",1]\n7:X\n0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_global-error\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4624]},\"$undefined\",\"$undefined\",4624]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$7\"]},null,false,\"$7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"1q0xTGDYtD52dGw4uiY4-\"}\n7:C\n9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n6:null\nb:[]\n"])</script></body></html>
@@ -0,0 +1,3 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1243],{15536:(e,t,l)=>{"use strict";l.d(t,{Cp:()=>r,Hx:()=>n,Iv:()=>d,Nv:()=>u,RL:()=>c,ev:()=>m,fl:()=>i,hT:()=>s,oX:()=>a,t6:()=>o});let s=["zh-CN","zh-TW"],a=[{icon:"public",title:"Access Anywhere",desc:"Use your API from any network"},{icon:"group",title:"Share Endpoint",desc:"Share URL with team members"},{icon:"code",title:"Use in Cursor/Cline",desc:"Connect AI tools remotely"},{icon:"lock",title:"Encrypted",desc:"End-to-end TLS via Cloudflare"}],n=2e3,r=3e5,i=5e3,o=5,c=1e4,d=5e3,m=[{id:"lite",label:"Lite",desc:"Drop filler, keep grammar"},{id:"full",label:"Full",desc:"Drop articles, fragments OK"},{id:"ultra",label:"Ultra",desc:"Telegraphic, max compression"},{id:"wenyan-lite",label:"文 Lite",desc:"Classical Chinese, light compression",wenyan:!0},{id:"wenyan",label:"文 Full",desc:"Maximum 文言文, 80-90% reduction",wenyan:!0},{id:"wenyan-ultra",label:"文 Ultra",desc:"Extreme classical compression",wenyan:!0}],u=[{id:"lite",label:"Lite",desc:"Build asked, name lazier option"},{id:"full",label:"Full",desc:"Ladder enforced: stdlib/native first"},{id:"ultra",label:"Ultra",desc:"YAGNI extremist, deletion first"}]},20242:(e,t,l)=>{"use strict";l.d(t,{default:()=>j});var s=l(95155),a=l(12115),n=l(14051),r=l.n(n),i=l(35497),o=l(11059),c=l(15536);async function d(e){if(!e)return!1;try{return(await fetch(`${e}/api/health`,{mode:"cors",cache:"no-store",signal:AbortSignal.timeout(c.Iv)})).ok}catch{return!1}}async function m(...e){let t=e.filter(Boolean).map(d);return!!t.length&&new Promise(e=>{let l=t.length;t.forEach(t=>t.then(t=>{t?e(!0):0==--l&&e(!1)}))})}var u=l(72767);function x({label:e,url:t,copyId:l,copied:a,onCopy:n,badge:r,actions:o}){return(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:`text-xs font-mono px-1.5 py-0.5 rounded shrink-0 min-w-[88px] text-center ${"CF"===r||"TS"===r?"bg-primary/10 text-primary":"bg-surface-2 text-text-muted"}`,children:e}),(0,s.jsx)(i.pd,{value:t,readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,s.jsx)("button",{onClick:()=>n(t,l),className:"p-2 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary transition-colors shrink-0",children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:a===l?"check":"content_copy"})}),o]})}function h({status:e,className:t=""}){return(0,s.jsx)("div",{className:`p-2 rounded text-sm ${t} ${"success"===e.type?"bg-green-500/10 text-green-600 dark:text-green-400":"warning"===e.type?"bg-yellow-500/10 text-yellow-600 dark:text-yellow-400":"info"===e.type?"bg-blue-500/10 text-blue-600 dark:text-blue-400":"bg-red-500/10 text-red-600 dark:text-red-400"}`,children:e.message.split(/(https?:\/\/[^\s]+)/g).map((e,t)=>/^https?:\/\//.test(e)?(0,s.jsx)("a",{href:e,target:"_blank",rel:"noreferrer",className:"underline font-medium",children:e},t):e)})}function p({text:e}){return(0,s.jsxs)("span",{className:"relative group inline-flex items-center",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[14px] text-text-muted cursor-help",children:"help"}),(0,s.jsx)("span",{className:"pointer-events-none absolute left-5 top-1/2 -translate-y-1/2 z-50 w-64 rounded bg-gray-900 dark:bg-gray-800 text-white text-xs px-2.5 py-1.5 opacity-0 group-hover:opacity-100 transition-opacity shadow-lg",children:e})]})}function y({message:e,action:t}){return(0,s.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-amber-500/10 border border-amber-500/20 text-amber-700 dark:text-amber-400",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[16px] shrink-0 mt-0.5",children:"warning"}),(0,s.jsx)("p",{className:"text-xs flex-1",children:e}),t&&(0,s.jsx)("a",{href:t.href,className:"text-xs font-medium underline shrink-0 hover:opacity-80",onClick:t.href.startsWith("#")?e=>{e.preventDefault(),document.getElementById(t.href.slice(1))?.scrollIntoView({behavior:"smooth"})}:void 0,children:t.label})]})}var g=l(73006);function b(e){return e>=1e9?`${(e/1e9).toFixed(1)}B`:e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e)}function f(e){if(!e||"string"!=typeof e)return e;let t=/^(.*?)((?:\s*\(rotated\))*)$/.exec(e),l=(0,g.Tl)(t[1]),s=(t[2].match(/\(rotated\)/g)||[]).length;return s?`${l} ${Array.from({length:s},()=>(0,g.Tl)("(rotated)")).join(" ")}`:l}function j({machineId:e}){let[t,l]=(0,a.useState)([]),[n,r]=(0,a.useState)(!0),[k,w]=(0,a.useState)(!1),[v,T]=(0,a.useState)(""),[N,C]=(0,a.useState)(""),[S,$]=(0,a.useState)(null),[E,P]=(0,a.useState)(""),[_,A]=(0,a.useState)(!1),[L,O]=(0,a.useState)(null),[R,D]=(0,a.useState)([]),[F,I]=(0,a.useState)([]),[U,W]=(0,a.useState)(""),[q,K]=(0,a.useState)(!1),[M,z]=(0,a.useState)(!1),[B,H]=(0,a.useState)([]),[J,Y]=(0,a.useState)([]),[Q,V]=(0,a.useState)(null),[X,Z]=(0,a.useState)(null),[G,ee]=(0,a.useState)(!1),[et,el]=(0,a.useState)(!0),[es,ea]=(0,a.useState)(!1),[en,er]=(0,a.useState)(!1),ei=(0,a.useRef)(!1),[eo,ec]=(0,a.useState)(null),[ed,em]=(0,a.useState)(!0),[eu,ex]=(0,a.useState)(!0),[eh,ep]=(0,a.useState)(!1),[ey,eg]=(0,a.useState)(!0),[eb,ef]=(0,a.useState)(!1),[ej,ek]=(0,a.useState)(!1),[ew,ev]=(0,a.useState)(""),[eT,eN]=(0,a.useState)(""),[eC,eS]=(0,a.useState)(!1),[e$,eE]=(0,a.useState)(""),[eP,e_]=(0,a.useState)(null),[eA,eL]=(0,a.useState)(!1),[eO,eR]=(0,a.useState)(!1),[eD,eF]=(0,a.useState)(!1),[eI,eU]=(0,a.useState)(!1),[eW,eq]=(0,a.useState)(""),[eK,eM]=(0,a.useState)(!1),[ez,eB]=(0,a.useState)(""),[eH,eJ]=(0,a.useState)(null),[eY,eQ]=(0,a.useState)(""),[eV,eX]=(0,a.useState)(""),[eZ,eG]=(0,a.useState)(null),[e0,e1]=(0,a.useState)(!1),[e5,e2]=(0,a.useState)([]),[e4,e3]=(0,a.useState)(""),[e8,e6]=(0,a.useState)(!1),[e7,e9]=(0,a.useState)(!1),[te,tt]=(0,a.useState)(!1),tl=(0,a.useRef)(null),ts=(0,a.useRef)(0),ta=(0,a.useRef)(0),tn=(0,a.useRef)(!1),tr=(0,a.useRef)(!1),ti=(0,a.useRef)(!1),to=(0,a.useRef)(!1),[tc,td]=(0,a.useState)(!1),[tm,tu]=(0,a.useState)(!1),[tx,th]=(0,a.useState)(new Set),[tp,ty]=(0,a.useState)(!1);(0,a.useEffect)(()=>{ty(!["localhost","127.0.0.1","::1"].includes(window.location.hostname))},[]);let{copied:tg,copy:tb}=(0,o.C)(),tf=!ed||!eu,tj=ed?"Set a dashboard password before activating the tunnel.":'Enable "Require login" and set a custom password before activating the tunnel.';(0,a.useEffect)(()=>{tl.current&&(tl.current.scrollTop=tl.current.scrollHeight)},[e5]),(0,a.useEffect)(()=>{tE(),tv()},[]),(0,a.useEffect)(()=>{if(!(eb||eD))return;let e=!eb||ej,t=!eD||eI,l=()=>{document.hidden||tw()};if(document.addEventListener("visibilitychange",l),e&&t)return()=>document.removeEventListener("visibilitychange",l);let s=setInterval(()=>{document.hidden||tw()},c.fl);return()=>{clearInterval(s),document.removeEventListener("visibilitychange",l)}},[eb,eD,ej,eI]),(0,a.useEffect)(()=>{let e=async()=>{if(!document.hidden){if(eb&&(ew||eT)){let e=await m(eT,ew);tn.current=e,e?(ts.current=0,ek(!0),ti.current||(ti.current=!0,td(!0))):(ts.current+=1,ts.current>=c.t6&&ek(!1))}else tn.current=!1;if(eD&&eW){let e=await d(eW);tr.current=e,e?(ta.current=0,eU(!0),to.current||(to.current=!0,tu(!0))):(ta.current+=1,ta.current>=c.t6&&eU(!1))}else tr.current=!1}};if(!(eb&&(ew||eT)||eD&&eW))return;e();let t=!eD||eI;if((!eb||ej)&&t)return;let l=setInterval(e,c.RL);return()=>clearInterval(l)},[eb,ew,eT,eD,eW,ej,eI]);let tk=(0,a.useCallback)((e,t,l,s,a,n)=>{t.current?(l.current=0,s(!0),a.current||(a.current=!0,n(!0))):(l.current+=1,l.current>=c.t6&&s(!1))},[]),tw=async()=>{try{let e=await fetch("/api/tunnel/status",{cache:"no-store"});if(!e.ok)return;let t=await e.json(),l=t.tunnel?.settingsEnabled??t.tunnel?.enabled??!1,s=t.tunnel?.tunnelUrl||"";ev(s),eN(t.tunnel?.publicUrl||""),ef(l),tk(null,tn,ts,ek,ti,td);let a=t.tailscale?.settingsEnabled??t.tailscale?.enabled??!1,n=t.tailscale?.tunnelUrl||"";eq(n),eF(a),tk(null,tr,ta,eU,to,tu)}catch{}},tv=async()=>{eg(!0);try{let[e,t]=await Promise.all([u.A.getState().fetchSettings(),fetch("/api/tunnel/status",{cache:"no-store"})]);if(e&&(ee(e.requireApiKey||!1),el(!1!==e.dailyTokenLimitEnabled),ea(!0===e.apiKeyRotation),em(!1!==e.requireLogin),ex(e.hasPassword||!1),ep(e.tunnelDashboardAccess||!1)),t.ok){let e=await t.json(),l=e.tunnel?.settingsEnabled??e.tunnel?.enabled??!1,s=e.tunnel?.tunnelUrl||"";ev(s),eN(e.tunnel?.publicUrl||""),ef(l),tk(null,tn,ts,ek,ti,td);let a=e.tailscale?.settingsEnabled??e.tailscale?.enabled??!1,n=e.tailscale?.tunnelUrl||"";eq(n),eF(a),tk(null,tr,ta,eU,to,tu)}}catch(e){console.log("Error loading settings:",e)}finally{eg(!1)}},tT=async e=>{try{await u.A.getState().patchSettings({tunnelDashboardAccess:e})&&ep(e)}catch(e){console.log("Error updating tunnelDashboardAccess:",e)}},tN=async e=>{try{await u.A.getState().patchSettings({requireApiKey:e})&&ee(e)}catch(e){console.log("Error updating requireApiKey:",e)}},tC=async e=>{try{await u.A.getState().patchSettings({dailyTokenLimitEnabled:e})&&el(e)}catch(e){console.log("Error updating dailyTokenLimitEnabled:",e)}},tS=async e=>{try{let t=await u.A.getState().patchSettings({apiKeyRotation:e});return t&&ea(e),!!t}catch(e){return console.log("Error updating apiKeyRotation:",e),!1}},t$=async()=>{if(!ei.current){ei.current=!0,Z(null),er(!0);try{let e=await fetch("/api/keys/rotate",{method:"POST"});if(e.ok){let t=await e.json(),s=await fetch("/api/keys");if(s.ok){let e=await s.json();l(e.keys||[])}ec(t)}}catch(e){console.log("Error rotating keys:",e)}finally{er(!1),ei.current=!1}}},tE=async()=>{try{let e=async()=>{let e=await fetch("/api/keys");return e.ok&&(await e.json()).keys||[]},t=await e();if(0===t.length)try{(await fetch("/api/keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:"Default Key"})})).ok&&(t=await e())}catch{}l(t)}catch(e){console.log("Error fetching data:",e)}finally{r(!1)}},tP=async(...e)=>{eS(!0),eE("Waiting for tunnel ready...");let t=e.filter(Boolean).map(e=>`${e}/api/health`),l=Date.now();for(;Date.now()-l<c.Cp;){if(await new Promise(e=>setTimeout(e,c.Hx)),await Promise.any(t.map(async e=>{if((await fetch(e,{mode:"cors",cache:"no-store"})).ok)return!0;throw Error("not ready")})).catch(()=>!1))return ef(!0),eS(!1),eE(""),!0;if((Date.now()-l)%1e4<c.Hx)try{let e=await fetch("/api/tunnel/status");if(e.ok){let t=await e.json();if(!t.tunnel?.enabled)return e_({type:"error",message:(0,g.Tl)("Tunnel process stopped unexpectedly.")}),eS(!1),eE(""),!1}}catch{}}return e_({type:"error",message:(0,g.Tl)("Tunnel created but not reachable. Please try again.")}),eS(!1),eE(""),!1},t_=async()=>{eL(!1),eS(!0),e_(null),eE("Creating tunnel...");let e=!0;(async()=>{for(;e;){try{let t=await fetch("/api/tunnel/status");if(t.ok){let l=await t.json();l.download?.downloading?eE(`Downloading cloudflared... ${l.download.progress}%`):e&&eE("Creating tunnel...")}}catch{}await new Promise(e=>setTimeout(e,1e3))}})();try{let t=await fetch("/api/tunnel/enable",{method:"POST"});e=!1;let l=await t.json();if(!t.ok)return void e_({type:"error",message:l.error||"Failed to enable tunnel"});let s=l.tunnelUrl;if(!s)return void e_({type:"error",message:(0,g.Tl)("No tunnel URL returned")});ev(s),eN(l.publicUrl||""),await tP(l.publicUrl,s)}catch(e){e_({type:"error",message:e.message})}finally{e=!1,eS(!1),eE("")}},tA=async()=>{eS(!0),e_(null);try{let e=await fetch("/api/tunnel/disable",{method:"POST"}),t=await e.json();e.ok?(ef(!1),ev(""),eR(!1),e_({type:"success",message:(0,g.Tl)("Tunnel disabled")})):e_({type:"error",message:t.error||(0,g.Tl)("Failed to disable tunnel")})}catch(e){e_({type:"error",message:e.message})}finally{eS(!1)}},tL=async()=>{eG(null);try{let e=await fetch("/api/tunnel/tailscale-check");if(e.ok){let t=await e.json();return eG(t.installed),t}}catch{}return eG(!1),{installed:!1}},tO=async()=>{e1(!0),eJ(null),e2([]);try{let e=await fetch("/api/tunnel/tailscale-install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sudoPassword:e4})});e3("");let t=e.body.getReader(),l=new TextDecoder,s="";for(;;){let{done:e,value:a}=await t.read();if(e)break;let n=(s+=l.decode(a,{stream:!0})).split("\n\n");for(let e of(s=n.pop()||"",n)){let t=e.split("\n"),l="progress",s=null;for(let e of t)if(e.startsWith("event: ")&&(l=e.slice(7).trim()),e.startsWith("data: "))try{s=JSON.parse(e.slice(6))}catch{}if(s)if("progress"===l)e2(e=>[...e.slice(-50),s.message]);else if("done"===l){eG(!0),e1(!1),e9(!1),tI();return}else"error"===l&&eJ({type:"error",message:s.error||(0,g.Tl)("Install failed")})}}}catch(e){eJ({type:"error",message:e.message})}finally{e1(!1)}},tR=async e=>{eB((0,g.Tl)("Waiting for Tailscale ready..."));let t=`${e}/api/health`,l=Date.now();for(;Date.now()-l<c.Cp;){await new Promise(e=>setTimeout(e,c.Hx));try{let e=await fetch(t,{mode:"no-cors",cache:"no-store"});if(e.ok||"opaque"===e.type)return!0}catch{}}return!1},tD=(e,t)=>{eQ(e),eX(t)},tF=()=>{eQ(""),eX("")},tI=async()=>{e9(!1),e6(!0),eM(!0),eJ(null),eB("Connecting..."),tF();try{let e=await fetch("/api/tunnel/tailscale-enable",{method:"POST"}),t=await e.json();if(e.ok&&t.success){eq(t.tunnelUrl||"");let e=await tR(t.tunnelUrl);eF(!0),eJ(e?null:{type:"warning",message:(0,g.Tl)("Connected but not reachable yet.")});return}if(t.needsLogin&&t.authUrl){tD(t.authUrl,(0,g.Tl)("Open Login Page")),eB((0,g.Tl)('Login required — click "Open Login Page" to continue'));for(let e=0;e<40;e++){await new Promise(e=>setTimeout(e,3e3));try{let e=await fetch("/api/tunnel/tailscale-check");if(e.ok&&(await e.json()).loggedIn){tF(),eB((0,g.Tl)("Starting funnel..."));let e=await fetch("/api/tunnel/tailscale-enable",{method:"POST"}),t=await e.json();if(e.ok&&t.success){eq(t.tunnelUrl||"");let e=await tR(t.tunnelUrl);eF(!0),eJ(e?null:{type:"warning",message:(0,g.Tl)("Connected but not reachable yet.")})}else t.funnelNotEnabled&&t.enableUrl?await tU(t.enableUrl):eJ({type:"error",message:t.error||(0,g.Tl)("Failed to start funnel")});return}}catch{}}tF(),eJ({type:"error",message:(0,g.Tl)("Login timed out. Please try again.")});return}if(t.funnelNotEnabled&&t.enableUrl)return void await tU(t.enableUrl);eJ({type:"error",message:t.error||(0,g.Tl)("Failed to connect")})}catch(e){eJ({type:"error",message:e.message})}finally{eM(!1),e6(!1),eB(""),tF()}},tU=async e=>{tD(e,(0,g.Tl)("Open Funnel Settings")),eB((0,g.Tl)('Click "Open Funnel Settings" to enable Funnel...'));for(let e=0;e<40;e++){await new Promise(e=>setTimeout(e,3e3));try{let e=await fetch("/api/tunnel/tailscale-enable",{method:"POST"}),t=await e.json();if(e.ok&&t.success){tF(),eq(t.tunnelUrl||"");let e=await tR(t.tunnelUrl);eF(!0),eJ(e?null:{type:"warning",message:(0,g.Tl)("Connected but not reachable yet.")});return}if(t.funnelNotEnabled)continue;if(t.error){tF(),eJ({type:"error",message:t.error});return}}catch{}}tF(),eJ({type:"error",message:(0,g.Tl)("Timed out waiting for Funnel to be enabled.")})},tW=async()=>{eM(!0),eJ(null);try{let e=await fetch("/api/tunnel/tailscale-disable",{method:"POST"}),t=await e.json();e.ok?(eF(!1),eq(""),tt(!1),eJ({type:"success",message:(0,g.Tl)("Tailscale disabled")})):eJ({type:"error",message:t.error||(0,g.Tl)("Failed to disable Tailscale")})}catch(e){eJ({type:"error",message:e.message})}finally{eM(!1)}},tq=async()=>{eJ(null),e2([]);let e=await tL();e?.installed&&e?.hasCachedPassword?tI():e9(!0)},tK=async()=>{if(v.trim())try{let e=await fetch("/api/keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:v.trim(),dailyTokenLimit:N.trim()?Number(N.trim()):void 0})}),t=await e.json();e.ok&&(V(t.key),await tE(),T(""),C(""),w(!1))}catch(e){console.log("Error creating key:",e)}},tM=async()=>{if(S){A(!0);try{(await fetch(`/api/keys/${S.id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({dailyTokenLimit:E.trim()?Number(E.trim()):null})})).ok&&($(null),await tE())}catch(e){console.log("Error saving daily limit:",e)}finally{A(!1)}}},tz=async e=>{O(e);let t=e.allowedModels||[];if(D(t.filter(e=>!e.includes("*"))),W(t.filter(e=>e.includes("*")).join(", ")),I(e.allowedCombos||[]),0===B.length||0===J.length)try{let[e,t]=await Promise.all([fetch("/api/providers",{cache:"no-store"}),fetch("/api/combos",{cache:"no-store"})]);if(e.ok){let t=await e.json();H(t.connections||[])}if(t.ok){let e=await t.json();Y((e.combos||[]).map(e=>e.name))}}catch{}},tB=async()=>{if(L){K(!0);try{let e=U.split(/[\n,]/).map(e=>e.trim()).filter(Boolean),t=[...R,...e];(await fetch(`/api/keys/${L.id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({allowedModels:t.length>0?t:null,allowedCombos:F.length>0?F:null})})).ok&&(O(null),await tE())}catch(e){console.log("Error saving key access control:",e)}finally{K(!1)}}},tH=async e=>{Z({title:(0,g.Tl)("Delete API Key"),message:(0,g.Tl)("Delete this API key?"),onConfirm:async()=>{Z(null);try{(await fetch(`/api/keys/${e}`,{method:"DELETE"})).ok&&(l(t.filter(t=>t.id!==e)),th(t=>{let l=new Set(t);return l.delete(e),l}))}catch(e){console.log("Error deleting key:",e)}}})},tJ=async(e,t)=>{try{(await fetch(`/api/keys/${e}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isActive:t})})).ok&&l(l=>l.map(l=>l.id===e?{...l,isActive:t}:l))}catch(e){console.log("Error toggling key:",e)}},[tY,tQ]=(0,a.useState)("/v1");return((0,a.useEffect)(()=>{tQ(`${window.location.origin}/v1`)},[]),n)?(0,s.jsxs)("div",{className:"flex flex-col gap-8",children:[(0,s.jsx)(i.Qv,{}),(0,s.jsx)(i.Qv,{})]}):(0,s.jsxs)("div",{className:"flex flex-col gap-8",children:[(0,s.jsxs)(i.Zp,{children:[(0,s.jsxs)("h2",{className:"text-lg font-semibold mb-4 flex items-center gap-2",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-primary",children:"api"}),(0,g.Tl)("API Endpoint")]}),(0,s.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,s.jsx)(x,{label:(0,g.Tl)("Local"),url:tY,copyId:"local_url",copied:tg,onCopy:tb}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:`text-xs font-mono px-1.5 py-0.5 rounded shrink-0 min-w-[88px] text-center ${eb?"bg-primary/10 text-primary":"bg-surface-2 text-text-muted"}`,children:"Tunnel"}),eb&&!eC&&ej?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.pd,{value:`${eT||ew}/v1`,readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,s.jsx)("button",{onClick:()=>tb(`${eT||ew}/v1`,"tunnel_url"),className:"p-2 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary transition-colors shrink-0",children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"tunnel_url"===tg?"check":"content_copy"})}),(0,s.jsx)("button",{onClick:()=>eR(!0),className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:(0,g.Tl)("Disable Tunnel"),children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):!eb||eC||ej?eC?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-border bg-surface text-sm text-text-muted",children:[(0,s.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),e$||(0,g.Tl)("Creating tunnel...")]}),(0,s.jsx)("button",{onClick:()=>{eS(!1),eE("")},className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:(0,g.Tl)("Stop"),children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):eP?.type==="error"?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-red-300 dark:border-red-800 bg-red-500/5 text-sm text-red-600 dark:text-red-400",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-sm",children:"error"}),eP.message]}),(0,s.jsx)(i.$n,{size:"sm",icon:"cloud_upload",onClick:()=>eL(!0),children:(0,g.Tl)("Enable")})]}):ey?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-border bg-surface text-sm text-text-muted",children:[(0,s.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),"Checking..."]}),(0,s.jsx)("button",{onClick:()=>eg(!1),className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:(0,g.Tl)("Stop"),children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):(0,s.jsx)(i.$n,{size:"sm",icon:"cloud_upload",onClick:()=>{tf?e_({type:"error",message:`${(0,g.Tl)("Security required")}: ${tj}`}):G?eL(!0):e_({type:"error",message:(0,g.Tl)('Security required: Enable "Require API key" before activating the tunnel.')})},children:(0,g.Tl)("Enable")}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-amber-300 dark:border-amber-800 bg-amber-500/5 text-sm text-amber-600 dark:text-amber-400",children:[(0,s.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),tc?(0,g.Tl)("Tunnel reconnecting..."):(0,g.Tl)("Tunnel checking...")]}),(0,s.jsx)("button",{onClick:()=>eR(!0),className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:(0,g.Tl)("Disable Tunnel"),children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]})]}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:`text-xs font-mono px-1.5 py-0.5 rounded shrink-0 min-w-[88px] text-center ${eD?"bg-primary/10 text-primary":"bg-surface-2 text-text-muted"}`,children:"Tailscale"}),eD&&!eK&&eI?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.pd,{value:`${eW}/v1`,readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,s.jsx)("button",{onClick:()=>tb(`${eW}/v1`,"ts_url"),className:"p-2 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary transition-colors shrink-0",children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"ts_url"===tg?"check":"content_copy"})}),(0,s.jsx)("button",{onClick:()=>tt(!0),className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:(0,g.Tl)("Disable Tailscale"),children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):!eD||eK||eI?eK||e8?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-border bg-surface text-sm text-text-muted",children:[(0,s.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),ez||(0,g.Tl)("Connecting...")]}),eY&&(0,s.jsx)(i.$n,{size:"sm",icon:"open_in_new",onClick:()=>window.open(eY,"tailscale_auth","width=600,height=700,noopener,noreferrer"),children:eV||(0,g.Tl)("Open")}),(0,s.jsx)("button",{onClick:()=>{eM(!1),e6(!1),eB(""),tF()},className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:(0,g.Tl)("Stop"),children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):eH?.type==="error"?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-red-300 dark:border-red-800 bg-red-500/5 text-sm text-red-600 dark:text-red-400",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-sm",children:"error"}),eH.message]}),(0,s.jsx)(i.$n,{size:"sm",icon:"vpn_lock",onClick:tq,children:(0,g.Tl)("Enable")})]}):(0,s.jsx)(i.$n,{size:"sm",icon:"vpn_lock",onClick:()=>{tf?eJ({type:"error",message:`${(0,g.Tl)("Security required")}: ${tj}`}):tq()},className:"bg-linear-to-r from-indigo-500 to-purple-500 hover:from-indigo-600 hover:to-purple-600 text-white!",children:(0,g.Tl)("Enable")}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-amber-300 dark:border-amber-800 bg-amber-500/5 text-sm text-amber-600 dark:text-amber-400",children:[(0,s.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),tm?(0,g.Tl)("Tailscale reconnecting..."):(0,g.Tl)("Tailscale checking...")]}),(0,s.jsx)("button",{onClick:()=>tt(!0),className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:(0,g.Tl)("Disable Tailscale"),children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]})]})]}),tf&&!eb&&!eD&&(0,s.jsx)("div",{className:"mt-4",children:(0,s.jsx)(y,{message:tj,action:{label:(0,g.Tl)("Open settings"),href:"/dashboard/profile"}})}),(eb||eD)&&(0,s.jsxs)("div",{className:"mt-4 flex flex-col gap-2",children:[!G&&(0,s.jsx)(y,{message:(0,g.Tl)("Require API key is disabled — your endpoint is publicly accessible without authentication."),action:{label:(0,g.Tl)("Enable"),href:"#require-api-key"}}),(!ed||!eu)&&(0,s.jsx)(y,{message:ed?(0,g.Tl)("No dashboard password is set — set one on the Settings page."):(0,g.Tl)("Require login is disabled — anyone can access your dashboard via tunnel."),action:{label:ed?(0,g.Tl)("Change password"):(0,g.Tl)("Enable"),href:"/dashboard/profile"}})]}),(eb||eD)&&(0,s.jsxs)("div",{className:"mt-4 pt-4 border-t border-border flex items-center gap-3",children:[(0,s.jsx)(i.lM,{checked:eh,onChange:()=>tT(!eh)}),(0,s.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,s.jsx)("p",{className:"font-medium text-sm",children:(0,g.Tl)("Allow dashboard access via tunnel")}),(0,s.jsx)(p,{text:(0,g.Tl)("When enabled, the dashboard can be accessed through your tunnel or Tailscale URL (login still required). When disabled, dashboard access via tunnel/Tailscale is completely blocked.")})]})]})]}),(0,s.jsxs)(i.Zp,{id:"require-api-key",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,s.jsxs)("h2",{className:"text-lg font-semibold flex items-center gap-2",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-primary",children:"vpn_key"}),(0,g.Tl)("API Keys")]}),(0,s.jsx)(i.$n,{icon:"add",onClick:()=>w(!0),children:(0,g.Tl)("Create Key")})]}),(0,s.jsxs)("div",{className:"flex items-center justify-between pb-4 mb-4 border-b border-border",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"font-medium",children:(0,g.Tl)("Require API key")}),(0,s.jsx)("p",{className:"text-sm text-text-muted",children:(0,g.Tl)("Requests without a valid key will be rejected")})]}),(0,s.jsx)(i.lM,{checked:G,onChange:e=>{e?tN(!0):Z({title:(0,g.Tl)("Disable API key requirement?"),message:(0,g.Tl)("Requests without a valid key will be accepted while this is off. You can re-enable it at any time."),onConfirm:()=>tN(!1)})}})]}),tp&&!G&&(0,s.jsx)("div",{className:"mb-4 -mt-2",children:(0,s.jsx)(y,{message:(0,g.Tl)("Endpoint is exposed without an API key.")})}),(0,s.jsxs)("div",{className:"flex items-center justify-between pb-4 mb-4 border-b border-border",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"font-medium",children:(0,g.Tl)("Daily token limits")}),(0,s.jsx)("p",{className:"text-sm text-text-muted",children:(0,g.Tl)("Master switch for the per-key daily token caps. Turning this off stops enforcement but keeps every key's configured limit.")})]}),(0,s.jsx)(i.lM,{checked:et,onChange:tC})]}),(0,s.jsxs)("div",{className:"flex items-center justify-between py-4 mb-4 border-b border-border gap-3",children:[(0,s.jsxs)("div",{className:"flex items-center gap-1.5 min-w-0",children:[(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsxs)("p",{className:"font-medium flex items-center gap-2",children:[(0,g.Tl)("Key secret rotation"),(0,s.jsx)("span",{className:"text-[10px] uppercase tracking-wide px-1.5 py-0.5 rounded bg-amber-500/10 text-amber-600 dark:text-amber-400",children:(0,g.Tl)("Experimental")})]}),(0,s.jsx)("p",{className:"text-sm text-text-muted truncate",children:(0,g.Tl)("Sign new keys with an auto-generated secret instead of the built-in one")})]}),(0,s.jsx)(p,{text:(0,g.Tl)("When enabled, the HMAC secret used for API key CRC is auto-generated to the data directory (api-key-secret, mode 0600) — or set API_KEY_SECRET to pin your own (env always wins). Existing keys keep working only if they were issued under the same secret; enabling invalidates previously issued keys, and Re-issue all keys re-creates every stored key under the current secret so clients can be updated in one step.")})]}),(0,s.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[es&&(0,s.jsx)(i.$n,{size:"xs",onClick:()=>Z({title:(0,g.Tl)("Re-issue all API keys?"),message:(0,g.Tl)("Every existing key will be replaced with a new one signed under the current secret. All clients using old keys will stop working until updated. This cannot be undone."),onConfirm:t$}),disabled:en,children:en?(0,g.Tl)("Rotating…"):(0,g.Tl)("Rotate all")}),(0,s.jsx)(i.lM,{checked:es,onChange:e=>{e?Z({title:(0,g.Tl)("Enable key secret rotation?"),message:(0,g.Tl)("New keys will be signed with an auto-generated secret. Keys issued BEFORE enabling will stop validating and cannot be restored — re-create them and update every client. This cannot be undone silently."),onConfirm:()=>tS(!0)}):Z({title:(0,g.Tl)("Disable key secret rotation?"),message:(0,g.Tl)("New keys will be signed with the built-in secret again. Keys issued while rotation was enabled will stop validating — re-create them and update every client."),onConfirm:()=>tS(!1)})}})]})]}),0===t.length?(0,s.jsxs)("div",{className:"text-center py-12",children:[(0,s.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-full bg-primary/10 text-primary mb-4",children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[32px]",children:"vpn_key"})}),(0,s.jsx)("p",{className:"text-text-main font-medium mb-1",children:(0,g.Tl)("No API keys yet")}),(0,s.jsx)("p",{className:"text-sm text-text-muted mb-4",children:(0,g.Tl)("Create your first API key to get started")}),(0,s.jsx)(i.$n,{icon:"add",onClick:()=>w(!0),children:(0,g.Tl)("Create Key")})]}):(0,s.jsx)("div",{className:"flex flex-col",children:t.map(e=>{var t;return(0,s.jsxs)("div",{className:`group flex flex-col sm:flex-row sm:items-center justify-between py-3 gap-2 border-b border-black/[0.03] dark:border-white/[0.03] last:border-b-0 ${!1===e.isActive?"opacity-60":""}`,children:[(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsx)("p",{className:"text-sm font-medium",children:f(e.name)}),(0,s.jsxs)("div",{className:"flex items-center gap-2 mt-1",children:[(0,s.jsx)("code",{className:"text-xs text-text-muted font-mono",children:tx.has(e.id)?e.key:(t=e.key)&&!(t.length<=10)?t.slice(0,6)+"•".repeat(t.length-10)+t.slice(-4):t||""}),(0,s.jsx)("button",{onClick:()=>{var t;return t=e.id,void th(e=>{let l=new Set(e);return l.has(t)?l.delete(t):l.add(t),l})},className:"p-1 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary transition-all",title:tx.has(e.id)?(0,g.Tl)("Hide key"):(0,g.Tl)("Show key"),children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:tx.has(e.id)?"visibility_off":"visibility"})}),(0,s.jsx)("button",{onClick:()=>tb(e.key,e.id),className:"p-1 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary transition-all",children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:tg===e.id?"check":"content_copy"})})]}),(0,s.jsxs)("p",{className:"text-xs text-text-muted mt-1",children:[(0,g.Tl)("Created")," ",new Date(e.createdAt).toLocaleDateString()]}),e.dailyTokenLimit?(0,s.jsxs)("p",{className:`text-xs mt-1 ${(e.todayTokens||0)>=e.dailyTokenLimit?"text-red-500":"text-text-muted"}`,children:[(0,g.Tl)("Today"),": ",b(e.todayTokens||0)," / ",b(e.dailyTokenLimit)," ",(0,g.Tl)("tokens"),(e.todayTokens||0)>=e.dailyTokenLimit?` — ${(0,g.Tl)("Limit reached")}`:""]}):null,e.allowedModels?.length||e.allowedCombos?.length?(0,s.jsxs)("p",{className:"text-xs text-primary mt-1 flex items-center gap-1",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[13px]",children:"tune"}),(0,g.Tl)("Allowed"),": ",[e.allowedModels?.length?`${e.allowedModels.length} ${(0,g.Tl)("models")}`:null,e.allowedCombos?.length?`${e.allowedCombos.length} ${(0,g.Tl)("combos")}`:null].filter(Boolean).join(" \xb7 ")]}):null,!1===e.isActive&&(0,s.jsx)("p",{className:"text-xs text-orange-500 mt-1",children:(0,g.Tl)("Paused")})]}),(0,s.jsxs)("div",{className:"flex items-center gap-1.5 self-end sm:self-auto shrink-0",children:[(0,s.jsx)("button",{onClick:()=>tz(e),className:"p-2 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary transition-all",title:(0,g.Tl)("Allowed Models & Combos"),children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"tune"})}),(0,s.jsx)("button",{onClick:()=>{$(e),P(e.dailyTokenLimit?String(e.dailyTokenLimit):"")},className:"p-2 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary transition-all",title:(0,g.Tl)("Edit Daily Token Limit"),children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:e.dailyTokenLimit?"edit_calendar":"calendar_month"})}),(0,s.jsx)(i.lM,{size:"sm",checked:e.isActive??!0,onChange:t=>{e.isActive&&!t?Z({title:(0,g.Tl)("Pause API Key"),message:`${(0,g.Tl)("Pause API key")} "${e.name}"?
2
+
3
+ ${(0,g.Tl)("This key will stop working immediately but can be resumed later.")}`,onConfirm:async()=>{Z(null),tJ(e.id,t)}}):tJ(e.id,t)},title:e.isActive?(0,g.Tl)("Pause key"):(0,g.Tl)("Resume key")}),(0,s.jsx)("button",{onClick:()=>tH(e.id),className:"p-2 hover:bg-red-500/10 rounded text-red-500 opacity-100 sm:opacity-0 sm:group-hover:opacity-100 transition-all",children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"delete"})})]})]},e.id)})})]}),(0,s.jsx)(i.aF,{isOpen:k,title:(0,g.Tl)("Create API Key"),onClose:()=>{w(!1),T(""),C("")},children:(0,s.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,s.jsx)(i.pd,{label:(0,g.Tl)("Key Name"),value:v,onChange:e=>T(e.target.value),placeholder:(0,g.Tl)("Production Key")}),(0,s.jsx)(i.pd,{label:(0,g.Tl)("Daily Token Limit"),type:"number",min:"0",value:N,onChange:e=>C(e.target.value),placeholder:(0,g.Tl)("e.g. 100000000 — empty means unlimited")}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(i.$n,{onClick:tK,fullWidth:!0,disabled:!v.trim(),children:(0,g.Tl)("Create")}),(0,s.jsx)(i.$n,{onClick:()=>{w(!1),T(""),C("")},variant:"ghost",fullWidth:!0,children:(0,g.Tl)("Cancel")})]})]})}),(0,s.jsx)(i.aF,{isOpen:!!S,title:`${(0,g.Tl)("Edit Daily Token Limit")}${S?` — ${f(S.name)}`:""}`,onClose:()=>$(null),children:(0,s.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,s.jsx)(i.pd,{label:(0,g.Tl)("Daily Token Limit"),type:"number",min:"0",value:E,onChange:e=>P(e.target.value),placeholder:(0,g.Tl)("e.g. 100000000 — empty means unlimited"),hint:(0,g.Tl)("Leave empty to remove the limit.")}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(i.$n,{onClick:tM,fullWidth:!0,disabled:_,children:(0,g.Tl)("Save")}),(0,s.jsx)(i.$n,{onClick:()=>$(null),variant:"ghost",fullWidth:!0,children:(0,g.Tl)("Cancel")})]})]})}),(0,s.jsx)(i.aF,{isOpen:!!L,title:`${(0,g.Tl)("Allowed Models & Combos")}${L?` — ${f(L.name)}`:""}`,onClose:()=>O(null),children:(0,s.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,s.jsx)("p",{className:"text-xs text-text-muted",children:(0,g.Tl)("Restrict this key to specific models or combos. Leave empty for unrestricted access.")}),(0,s.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("label",{className:"text-xs font-medium text-text-muted",children:(0,g.Tl)("Allowed Models")}),(0,s.jsx)(i.$n,{size:"sm",variant:"secondary",icon:"add",onClick:()=>z(!0),children:(0,g.Tl)("Pick models")})]}),R.length>0?(0,s.jsx)("div",{className:"flex flex-wrap gap-1.5 max-h-32 overflow-y-auto rounded-lg border border-border bg-surface-2 p-2",children:R.map(e=>(0,s.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-primary/10 border border-primary/30 pl-2 pr-1 py-0.5 text-[11px] font-mono text-primary",children:[e,(0,s.jsx)("button",{onClick:()=>D(t=>t.filter(t=>t!==e)),className:"rounded-full p-0.5 hover:bg-primary/20 transition-colors",title:(0,g.Tl)("Remove"),children:(0,s.jsx)("span",{className:"material-symbols-outlined leading-none",style:{fontSize:"12px"},children:"close"})})]},e))}):(0,s.jsx)("p",{className:"text-[11px] text-text-muted italic",children:(0,g.Tl)("No models selected — unrestricted unless combos or patterns are set.")})]}),(0,s.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,s.jsx)("label",{className:"text-xs font-medium text-text-muted",children:(0,g.Tl)("Allowed Combos")}),J.length>0?(0,s.jsx)("div",{className:"flex flex-wrap gap-x-4 gap-y-1.5 rounded-lg border border-border bg-surface-2 p-2 max-h-28 overflow-y-auto",children:J.map(e=>(0,s.jsxs)("label",{className:"flex items-center gap-1.5 text-xs cursor-pointer select-none",children:[(0,s.jsx)("input",{type:"checkbox",className:"w-3.5 h-3.5 rounded border-border accent-primary cursor-pointer",checked:F.includes(e),onChange:t=>I(l=>t.target.checked?[...l,e]:l.filter(t=>t!==e))}),(0,s.jsx)("span",{className:"font-mono",children:e})]},e))}):(0,s.jsx)("p",{className:"text-[11px] text-text-muted italic",children:(0,g.Tl)("No combos yet.")})]}),(0,s.jsxs)("details",{className:"group",children:[(0,s.jsxs)("summary",{className:"cursor-pointer text-xs font-medium text-text-muted hover:text-text-main transition-colors select-none list-none flex items-center gap-1",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[14px] transition-transform group-open:rotate-90",children:"chevron_right"}),(0,g.Tl)("Wildcard patterns (advanced)")]}),(0,s.jsxs)("div",{className:"mt-2 flex flex-col gap-1.5",children:[(0,s.jsx)("textarea",{rows:2,value:U,onChange:e=>W(e.target.value),placeholder:"anthropic/*, *claude*",className:"w-full text-xs font-mono p-2.5 rounded-lg border border-border bg-surface-2 focus:outline-none focus:border-primary resize-y"}),(0,s.jsx)("p",{className:"text-[11px] text-text-muted",children:(0,g.Tl)("Patterns like anthropic/* or *claude* match whole providers/families. One per line or comma-separated.")})]})]}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(i.$n,{onClick:tB,fullWidth:!0,disabled:q,children:(0,g.Tl)("Save")}),(0,s.jsx)(i.$n,{onClick:()=>O(null),variant:"ghost",fullWidth:!0,children:(0,g.Tl)("Cancel")})]})]})}),M&&(0,s.jsx)(i.rq,{isOpen:M,onClose:()=>z(!1),onSelect:e=>{let t=e?.value;!t||e?.isPlaceholder||(J.includes(t)?I(e=>e.includes(t)?e:[...e,t]):D(e=>e.includes(t)?e:[...e,t]))},onDeselect:e=>{let t=e?.value;t&&(J.includes(t)?I(e=>e.filter(e=>e!==t)):D(e=>e.filter(e=>e!==t)))},activeProviders:B,title:(0,g.Tl)("Pick allowed models"),addedModelValues:[...R,...F],closeOnSelect:!1}),(0,s.jsx)(i.aF,{isOpen:!!eo,title:(0,g.Tl)("Keys Re-issued"),onClose:()=>ec(null),children:(0,s.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,s.jsxs)("div",{className:"bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-lg p-4",children:[(0,s.jsx)("p",{className:"text-sm text-yellow-800 dark:text-yellow-200 mb-2 font-medium",children:(0,g.Tl)("Save these keys now — shown only once")}),(0,s.jsx)("p",{className:"text-sm text-yellow-700 dark:text-yellow-300",children:(0,g.Tl)("Old keys no longer work. Update every client with the new values below.")})]}),(0,s.jsx)("div",{className:"flex flex-col gap-2 max-h-72 overflow-y-auto",children:(eo?.rotated||[]).map(e=>(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsx)("p",{className:"text-xs font-medium text-text-muted",children:f(e.name)}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(i.pd,{value:e.key,readOnly:!0,className:"flex-1 font-mono text-xs"}),(0,s.jsx)(i.$n,{variant:"secondary",icon:tg===`rot_${e.id}`?"check":"content_copy",onClick:()=>tb(e.key,`rot_${e.id}`),children:tg===`rot_${e.id}`?"Copied!":"Copy"})]})]},e.id))}),(0,s.jsx)(i.$n,{onClick:()=>ec(null),fullWidth:!0,children:(0,g.Tl)("Done")})]})}),(0,s.jsx)(i.aF,{isOpen:!!Q,title:(0,g.Tl)("API Key Created"),onClose:()=>V(null),children:(0,s.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,s.jsxs)("div",{className:"bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-lg p-4",children:[(0,s.jsx)("p",{className:"text-sm text-yellow-800 dark:text-yellow-200 mb-2 font-medium",children:(0,g.Tl)("Save this key now!")}),(0,s.jsx)("p",{className:"text-sm text-yellow-700 dark:text-yellow-300",children:(0,g.Tl)("This is the only time you will see this key. Store it securely.")})]}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(i.pd,{value:Q||"",readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,s.jsx)(i.$n,{variant:"secondary",icon:"created_key"===tg?"check":"content_copy",onClick:()=>tb(Q,"created_key"),children:"created_key"===tg?(0,g.Tl)("Copied!"):(0,g.Tl)("Copy")})]}),(0,s.jsx)(i.$n,{onClick:()=>V(null),fullWidth:!0,children:(0,g.Tl)("Done")})]})}),(0,s.jsx)(i.aF,{isOpen:eA,title:(0,g.Tl)("Enable Tunnel"),onClose:()=>eL(!1),children:(0,s.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,s.jsx)("div",{className:"bg-surface-2 border border-border-subtle rounded-lg p-4",children:(0,s.jsxs)("div",{className:"flex items-start gap-3",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-primary",children:"cloud_upload"}),(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"text-sm text-text-main font-medium mb-1",children:(0,g.Tl)("Cloudflare Tunnel")}),(0,s.jsx)("p",{className:"text-sm text-text-muted",children:(0,g.Tl)("Expose your local 10Router to the internet. No port forwarding, no static IP needed. Share endpoint URL with your team or use it in Cursor, Cline, and other AI tools from anywhere.")})]})]})}),(0,s.jsx)("div",{className:"grid grid-cols-2 gap-3",children:c.oX.map(e=>(0,s.jsxs)("div",{className:"flex flex-col items-center text-center p-3 rounded-lg bg-sidebar/50",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-xl text-primary mb-1",children:e.icon}),(0,s.jsx)("p",{className:"text-xs font-semibold",children:e.title}),(0,s.jsx)("p",{className:"text-xs text-text-muted",children:e.desc})]},e.title))}),(0,s.jsx)("p",{className:"text-xs text-text-muted",children:(0,g.Tl)("Requires outbound port 7844 (TCP/UDP). Connection may take 10-30s.")}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(i.$n,{onClick:t_,fullWidth:!0,children:(0,g.Tl)("Start Tunnel")}),(0,s.jsx)(i.$n,{onClick:()=>eL(!1),variant:"ghost",fullWidth:!0,children:(0,g.Tl)("Cancel")})]})]})}),(0,s.jsx)(i.aF,{isOpen:eO,title:(0,g.Tl)("Disable Tunnel"),onClose:()=>!eC&&eR(!1),children:(0,s.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,s.jsx)("p",{className:"text-sm text-text-muted",children:(0,g.Tl)("The Cloudflare tunnel will be disconnected. Remote access via tunnel URL will stop working.")}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(i.$n,{onClick:tA,fullWidth:!0,disabled:eC,variant:"danger",children:eC?"Disabling...":"Disable"}),(0,s.jsx)(i.$n,{onClick:()=>eR(!1),variant:"ghost",fullWidth:!0,disabled:eC,children:(0,g.Tl)("Cancel")})]})]})}),(0,s.jsx)(i.aF,{isOpen:e7,title:(0,g.Tl)("Tailscale Funnel"),onClose:()=>{e0||(e9(!1),e3(""),eJ(null))},children:(0,s.jsxs)("div",{className:"flex flex-col gap-4",children:[null===eZ&&(0,s.jsxs)("p",{className:"text-sm text-text-muted flex items-center gap-2",children:[(0,s.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),(0,g.Tl)("Checking...")]}),!1===eZ&&!e0&&(0,s.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,s.jsx)("p",{className:"text-sm text-text-muted",children:"Tailscale is not installed. Install it to enable Funnel."}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(i.$n,{onClick:tO,fullWidth:!0,children:(0,g.Tl)("Install Tailscale")}),(0,s.jsx)(i.$n,{onClick:()=>e9(!1),variant:"ghost",fullWidth:!0,children:(0,g.Tl)("Cancel")})]})]}),e0&&(0,s.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 text-sm text-text-muted",children:[(0,s.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),"Installing Tailscale..."]}),e5.length>0&&(0,s.jsx)("div",{ref:tl,className:"bg-black/5 dark:bg-white/5 rounded p-2 max-h-40 overflow-y-auto font-mono text-xs text-text-muted",children:e5.map((e,t)=>(0,s.jsx)("div",{children:e},t))})]}),!0===eZ&&!e0&&(0,s.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 text-sm text-green-600 dark:text-green-400",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"check_circle"}),"Tailscale installed"]}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(i.$n,{onClick:()=>tI(),fullWidth:!0,children:(0,g.Tl)("Connect")}),(0,s.jsx)(i.$n,{onClick:()=>e9(!1),variant:"ghost",fullWidth:!0,children:(0,g.Tl)("Cancel")})]})]}),eH&&(0,s.jsx)(h,{status:eH})]})}),(0,s.jsx)(i.aF,{isOpen:te,title:(0,g.Tl)("Disable Tailscale"),onClose:()=>!eK&&tt(!1),children:(0,s.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,s.jsx)("p",{className:"text-sm text-text-muted",children:"Tailscale Funnel will be stopped. Remote access via Tailscale URL will stop working."}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(i.$n,{onClick:tW,fullWidth:!0,disabled:eK,variant:"danger",children:eK?"Disabling...":"Disable"}),(0,s.jsx)(i.$n,{onClick:()=>tt(!1),variant:"ghost",fullWidth:!0,disabled:eK,children:(0,g.Tl)("Cancel")})]})]})}),(0,s.jsx)(i.uo,{isOpen:!!X,onClose:()=>Z(null),onConfirm:()=>{let e=X?.onConfirm;Z(null),e?.()},title:X?.title||"Confirm",message:X?.message,variant:"danger"})]})}j.propTypes={machineId:r().string.isRequired}},51243:(e,t,l)=>{Promise.resolve().then(l.bind(l,20242))}}]);