@amir83nasr/10router 0.1.1 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +7 -7
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  6. package/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  7. package/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/[id]/page_client-reference-manifest.js +1 -1
  12. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/page_client-reference-manifest.js +1 -1
  13. package/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  14. package/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  15. package/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  16. package/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  17. package/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  18. package/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  19. package/.next/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  20. package/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  21. package/.next/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  22. package/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  23. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  24. package/.next/server/app/_global-error.html +1 -1
  25. package/.next/server/app/_global-error.rsc +1 -1
  26. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  27. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  28. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  29. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  30. package/.next/server/app/_not-found.html +1 -1
  31. package/.next/server/app/_not-found.rsc +6 -6
  32. package/.next/server/app/_not-found.segments/_full.segment.rsc +6 -6
  33. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +6 -6
  34. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  35. package/.next/server/app/api/cli-tools/all-statuses/route.js +1 -1
  36. package/.next/server/app/api/cli-tools/claude-settings/route.js +1 -1
  37. package/.next/server/app/api/cli-tools/codex-settings/route.js +1 -1
  38. package/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  39. package/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  40. package/.next/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  41. package/.next/server/app/api/cli-tools/dsh-settings/route.js +1 -1
  42. package/.next/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  43. package/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  44. package/.next/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  45. package/.next/server/app/api/oauth/codex/import-token/route.js +1 -1
  46. package/.next/server/app/api/providers/client/route.js +1 -1
  47. package/.next/server/app/api/translator/send/route.js +1 -1
  48. package/.next/server/app/api/translator/translate/route.js +1 -1
  49. package/.next/server/app/api/tunnel/tailscale-install/route.js +2 -2
  50. package/.next/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  51. package/.next/server/app/api/usage/[connectionId]/route.js +1 -1
  52. package/.next/server/app/api/v1/systemone/route.js +1 -1
  53. package/.next/server/app/api/version/route.js +1 -1
  54. package/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  55. package/.next/server/app/callback.html +1 -1
  56. package/.next/server/app/callback.rsc +7 -7
  57. package/.next/server/app/callback.segments/_full.segment.rsc +7 -7
  58. package/.next/server/app/callback.segments/_tree.segment.rsc +2 -2
  59. package/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +7 -7
  60. package/.next/server/app/dashboard/basic-chat.html +1 -1
  61. package/.next/server/app/dashboard/basic-chat.rsc +8 -8
  62. package/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +8 -8
  63. package/.next/server/app/dashboard/basic-chat.segments/_full.segment.rsc +8 -8
  64. package/.next/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  65. package/.next/server/app/dashboard/cli-tools.html +1 -1
  66. package/.next/server/app/dashboard/cli-tools.rsc +9 -9
  67. package/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +8 -8
  68. package/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +9 -9
  69. package/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  70. package/.next/server/app/dashboard/combos.html +1 -1
  71. package/.next/server/app/dashboard/combos.rsc +8 -8
  72. package/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +8 -8
  73. package/.next/server/app/dashboard/combos.segments/_full.segment.rsc +8 -8
  74. package/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  75. package/.next/server/app/dashboard/endpoint.html +1 -1
  76. package/.next/server/app/dashboard/endpoint.rsc +9 -9
  77. package/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +8 -8
  78. package/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +9 -9
  79. package/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  80. package/.next/server/app/dashboard/media-providers/systemone.html +1 -1
  81. package/.next/server/app/dashboard/media-providers/systemone.rsc +8 -8
  82. package/.next/server/app/dashboard/media-providers/systemone.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/systemone/__PAGE__.segment.rsc +8 -8
  83. package/.next/server/app/dashboard/media-providers/systemone.segments/_full.segment.rsc +8 -8
  84. package/.next/server/app/dashboard/media-providers/systemone.segments/_tree.segment.rsc +2 -2
  85. package/.next/server/app/dashboard/profile.html +1 -1
  86. package/.next/server/app/dashboard/profile.rsc +8 -8
  87. package/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +8 -8
  88. package/.next/server/app/dashboard/profile.segments/_full.segment.rsc +8 -8
  89. package/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  90. package/.next/server/app/dashboard/providers/new.html +1 -1
  91. package/.next/server/app/dashboard/providers/new.rsc +8 -8
  92. package/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +8 -8
  93. package/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +8 -8
  94. package/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  95. package/.next/server/app/dashboard/providers.html +1 -1
  96. package/.next/server/app/dashboard/providers.rsc +8 -8
  97. package/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +8 -8
  98. package/.next/server/app/dashboard/providers.segments/_full.segment.rsc +8 -8
  99. package/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  100. package/.next/server/app/dashboard/proxy-pools.html +1 -1
  101. package/.next/server/app/dashboard/proxy-pools.rsc +8 -8
  102. package/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +8 -8
  103. package/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +8 -8
  104. package/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  105. package/.next/server/app/dashboard/pxpipe.html +1 -1
  106. package/.next/server/app/dashboard/pxpipe.rsc +7 -7
  107. package/.next/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +7 -7
  108. package/.next/server/app/dashboard/pxpipe.segments/_full.segment.rsc +7 -7
  109. package/.next/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  110. package/.next/server/app/dashboard/quota.html +2 -2
  111. package/.next/server/app/dashboard/quota.rsc +9 -9
  112. package/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +9 -9
  113. package/.next/server/app/dashboard/quota.segments/_full.segment.rsc +9 -9
  114. package/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  115. package/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  116. package/.next/server/app/dashboard/settings/pricing.html +1 -1
  117. package/.next/server/app/dashboard/settings/pricing.rsc +6 -6
  118. package/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +6 -6
  119. package/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  120. package/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +6 -6
  121. package/.next/server/app/dashboard/token-saver.html +1 -1
  122. package/.next/server/app/dashboard/token-saver.rsc +7 -7
  123. package/.next/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +7 -7
  124. package/.next/server/app/dashboard/token-saver.segments/_full.segment.rsc +7 -7
  125. package/.next/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  126. package/.next/server/app/dashboard/usage.html +2 -2
  127. package/.next/server/app/dashboard/usage.rsc +8 -8
  128. package/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +8 -8
  129. package/.next/server/app/dashboard/usage.segments/_full.segment.rsc +8 -8
  130. package/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  131. package/.next/server/app/dashboard.html +1 -1
  132. package/.next/server/app/dashboard.rsc +9 -9
  133. package/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +8 -8
  134. package/.next/server/app/dashboard.segments/_full.segment.rsc +9 -9
  135. package/.next/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  136. package/.next/server/app/index.html +1 -1
  137. package/.next/server/app/index.rsc +6 -6
  138. package/.next/server/app/index.segments/__PAGE__.segment.rsc +6 -6
  139. package/.next/server/app/index.segments/_full.segment.rsc +6 -6
  140. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  141. package/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  142. package/.next/server/app/landing.html +1 -1
  143. package/.next/server/app/landing.rsc +7 -7
  144. package/.next/server/app/landing.segments/_full.segment.rsc +7 -7
  145. package/.next/server/app/landing.segments/_tree.segment.rsc +2 -2
  146. package/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +7 -7
  147. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  148. package/.next/server/app/login.html +1 -1
  149. package/.next/server/app/login.rsc +6 -6
  150. package/.next/server/app/login.segments/_full.segment.rsc +6 -6
  151. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  152. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +6 -6
  153. package/.next/server/app/page_client-reference-manifest.js +1 -1
  154. package/.next/server/app-paths-manifest.json +7 -7
  155. package/.next/server/chunks/1011.js +1 -1
  156. package/.next/server/chunks/1194.js +1 -1
  157. package/.next/server/chunks/1289.js +1 -1
  158. package/.next/server/chunks/1633.js +1 -1
  159. package/.next/server/chunks/2282.js +2 -2
  160. package/.next/server/chunks/2339.js +1 -1
  161. package/.next/server/chunks/3425.js +1 -1
  162. package/.next/server/chunks/4129.js +1 -1
  163. package/.next/server/chunks/537.js +1 -1
  164. package/.next/server/chunks/6056.js +1 -1
  165. package/.next/server/chunks/7816.js +1 -1
  166. package/.next/server/chunks/8569.js +1 -1
  167. package/.next/server/chunks/9429.js +1 -1
  168. package/.next/server/middleware-build-manifest.js +1 -1
  169. package/.next/server/pages/404.html +1 -1
  170. package/.next/server/pages/500.html +1 -1
  171. package/.next/server/server-reference-manifest.js +1 -1
  172. package/.next/server/server-reference-manifest.json +1 -1
  173. package/.next/static/chunks/{1278-7a48cdafd69414e5.js → 1278-ad2cb39d11b4a5f2.js} +1 -1
  174. package/.next/static/chunks/{1471-10f225f62f7469cc.js → 1471-69a7c30abf98c656.js} +1 -1
  175. package/.next/static/chunks/{159-17737a7c99ff1a65.js → 159-39356ce437096d44.js} +1 -1
  176. package/.next/static/chunks/{1699-13ee6864a8a31a96.js → 1699-49be310981e2759e.js} +2 -2
  177. package/.next/static/chunks/{3577-cd98d40e3099e1b0.js → 3577-1f02993330d7fba7.js} +1 -1
  178. package/.next/static/chunks/{5862-f98c2f3d480b80d2.js → 5862-6f3a3a6d4c00100d.js} +1 -1
  179. package/.next/static/chunks/{7287-b8e377303d1c5ae8.js → 7287-8eca6570ca087e2e.js} +2 -2
  180. package/.next/static/chunks/{9ce8c186-3c7d7dbc5d428052.js → 9ce8c186-6cd204e9c27ecee1.js} +1 -1
  181. package/.next/static/chunks/app/(dashboard)/dashboard/console-log/{page-619bc87666df1d5a.js → page-c803a3376280f0e8.js} +1 -1
  182. package/.next/static/chunks/app/(dashboard)/dashboard/providers/new/{page-56de365bce9dfc77.js → page-cef3c079d15c9349.js} +1 -1
  183. package/.next/static/chunks/app/{layout-777e294953f692c4.js → layout-101b832aa6789b60.js} +1 -1
  184. package/.next/static/css/{e9178fa7e53ec623.css → 5843ba28152e85f8.css} +1 -1
  185. package/open-sse/executors/opencode-go.js +2 -0
  186. package/open-sse/executors/opencode-zen.js +17 -6
  187. package/open-sse/executors/opencode.js +31 -8
  188. package/open-sse/handlers/systemoneCore.js +4 -2
  189. package/open-sse/providers/registry/opencode-go.js +23 -6
  190. package/open-sse/providers/registry/opencode-zen.js +8 -6
  191. package/open-sse/providers/registry/opencode.js +5 -4
  192. package/open-sse/translator/request/openai-to-claude.js +4 -1
  193. package/package.json +1 -1
  194. package/src/app/api/providers/[id]/test/testUtils.js +3 -3
  195. /package/.next/static/{SudImSgFkzCy6tK2dH6yg → nOEr8lKXMARlP2mV3XFuF}/_buildManifest.js +0 -0
  196. /package/.next/static/{SudImSgFkzCy6tK2dH6yg → nOEr8lKXMARlP2mV3XFuF}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/1abbc144918f74fd-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/8c96cc4bd2a39381-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/e9178fa7e53ec623.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/7698ede81d1862e2.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-452a2f4aec1a53ee.js"/><script src="/_next/static/chunks/e138dfde-a5c7fa92857215f2.js" async=""></script><script src="/_next/static/chunks/9966-7232c138a59bdc2f.js" async=""></script><script src="/_next/static/chunks/main-app-2ecba5da1d59188c.js" async=""></script><script src="/_next/static/chunks/5166-cadbdbf7d6854cf9.js" async=""></script><script src="/_next/static/chunks/7552-11960bc118e4e0f7.js" async=""></script><script src="/_next/static/chunks/9980-971a38c4ad288d6c.js" async=""></script><script src="/_next/static/chunks/4484-893f9cfcbe1499df.js" async=""></script><script src="/_next/static/chunks/7287-b8e377303d1c5ae8.js" async=""></script><script src="/_next/static/chunks/159-17737a7c99ff1a65.js" async=""></script><script src="/_next/static/chunks/app/layout-777e294953f692c4.js" async=""></script><script src="/_next/static/chunks/9ce8c186-3c7d7dbc5d428052.js" async=""></script><script src="/_next/static/chunks/1471-10f225f62f7469cc.js" async=""></script><script src="/_next/static/chunks/5778-9d97ce04f2ac118c.js" async=""></script><script src="/_next/static/chunks/3577-cd98d40e3099e1b0.js" async=""></script><script src="/_next/static/chunks/5862-f98c2f3d480b80d2.js" async=""></script><script src="/_next/static/chunks/5113-5c4f5181388aab72.js" async=""></script><script src="/_next/static/chunks/1699-13ee6864a8a31a96.js" async=""></script><script src="/_next/static/chunks/7276-16ef14f7b2cd478d.js" async=""></script><script src="/_next/static/chunks/1722-bb40b4311197204b.js" async=""></script><script src="/_next/static/chunks/4489-0f3ff0134169e717.js" async=""></script><script src="/_next/static/chunks/1278-7a48cdafd69414e5.js" async=""></script><script src="/_next/static/chunks/1830-901fe48c3c62604f.js" async=""></script><script src="/_next/static/chunks/208-521a3242b62d6c07.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-667f17706a5e1896.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="#F2F9F4"/><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.svg"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><script>(self.__next_s=self.__next_s||[]).push([0,{"children":"(function(){try{var s=localStorage.getItem('theme');if(s){try{var o=JSON.parse(s);if(o\u0026\u0026o.state){o.state.theme='light';localStorage.setItem('theme',JSON.stringify(o))}}catch(e){}}document.documentElement.classList.remove('dark')}catch(e){}})();","id":"theme-reset"}])</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_f367f3 __variable_2e86e3 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-452a2f4aec1a53ee.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[52760,[\"5166\",\"static/chunks/5166-cadbdbf7d6854cf9.js\",\"7552\",\"static/chunks/7552-11960bc118e4e0f7.js\",\"9980\",\"static/chunks/9980-971a38c4ad288d6c.js\",\"4484\",\"static/chunks/4484-893f9cfcbe1499df.js\",\"7287\",\"static/chunks/7287-b8e377303d1c5ae8.js\",\"159\",\"static/chunks/159-17737a7c99ff1a65.js\",\"7177\",\"static/chunks/app/layout-777e294953f692c4.js\"],\"\"]\n3:I[33526,[\"6766\",\"static/chunks/9ce8c186-3c7d7dbc5d428052.js\",\"5166\",\"static/chunks/5166-cadbdbf7d6854cf9.js\",\"7552\",\"static/chunks/7552-11960bc118e4e0f7.js\",\"9980\",\"static/chunks/9980-971a38c4ad288d6c.js\",\"1471\",\"static/chunks/1471-10f225f62f7469cc.js\",\"5778\",\"static/chunks/5778-9d97ce04f2ac118c.js\",\"4484\",\"static/chunks/4484-893f9cfcbe1499df.js\",\"3577\",\"static/chunks/3577-cd98d40e3099e1b0.js\",\"5862\",\"static/chunks/5862-f98c2f3d480b80d2.js\",\"5113\",\"static/chunks/5113-5c4f5181388aab72.js\",\"1699\",\"static/chunks/1699-13ee6864a8a31a96.js\",\"7276\",\"static/chunks/7276-16ef14f7b2cd478d.js\",\"1722\",\"static/chunks/1722-bb40b4311197204b.js\",\"159\",\"static/chunks/159-17737a7c99ff1a65.js\",\"4489\",\"static/chunks/4489-0f3ff0134169e717.js\",\"1278\",\"static/chunks/1278-7a48cdafd69414e5.js\",\"1830\",\"static/chunks/1830-901fe48c3c62604f.js\",\"208\",\"static/chunks/208-521a3242b62d6c07.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-667f17706a5e1896.js\"],\"ThemeProvider\"]\n4:I[84885,[\"5166\",\"static/chunks/5166-cadbdbf7d6854cf9.js\",\"7552\",\"static/chunks/7552-11960bc118e4e0f7.js\",\"9980\",\"static/chunks/9980-971a38c4ad288d6c.js\",\"4484\",\"static/chunks/4484-893f9cfcbe1499df.js\",\"7287\",\"static/chunks/7287-b8e377303d1c5ae8.js\",\"159\",\"static/chunks/159-17737a7c99ff1a65.js\",\"7177\",\"static/chunks/app/layout-777e294953f692c4.js\"],\"RuntimeI18nProvider\"]\n5:I[88476,[],\"\"]\n6:I[60938,[],\"\"]\n7:I[48565,[\"5166\",\"static/chunks/5166-cadbdbf7d6854cf9.js\",\"7552\",\"static/chunks/7552-11960bc118e4e0f7.js\",\"9980\",\"static/chunks/9980-971a38c4ad288d6c.js\",\"4484\",\"static/chunks/4484-893f9cfcbe1499df.js\",\"7287\",\"static/chunks/7287-b8e377303d1c5ae8.js\",\"159\",\"static/chunks/159-17737a7c99ff1a65.js\",\"7177\",\"static/chunks/app/layout-777e294953f692c4.js\"],\"GoogleAnalytics\"]\n8:I[72809,[],\"OutletBoundary\"]\n9:\"$Sreact.suspense\"\nc:I[72809,[],\"ViewportBoundary\"]\ne:I[72809,[],\"MetadataBoundary\"]\n10:I[36376,[],\"default\",1]\n:HL[\"/_next/static/media/1abbc144918f74fd-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/8c96cc4bd2a39381-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/e9178fa7e53ec623.css\",\"style\"]\n:HL[\"/_next/static/css/7698ede81d1862e2.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/e9178fa7e53ec623.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/7698ede81d1862e2.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"$L2\",null,{\"id\":\"theme-reset\",\"strategy\":\"beforeInteractive\",\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var s=localStorage.getItem('theme');if(s){try{var o=JSON.parse(s);if(o\u0026\u0026o.state){o.state.theme='light';localStorage.setItem('theme',JSON.stringify(o))}}catch(e){}}document.documentElement.classList.remove('dark')}catch(e){}})();\"}}]}],[\"$\",\"body\",null,{\"className\":\"__variable_f367f3 __variable_2e86e3 font-sans antialiased\",\"children\":[[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}],[\"$\",\"$L7\",null,{\"gaId\":\"G-LC959F603F\"}]]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",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\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"SudImSgFkzCy6tK2dH6yg\"}\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\":\"#F2F9F4\"}]]\n11:I[36060,[],\"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.svg\"}],[\"$\",\"$L11\",\"4\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/1abbc144918f74fd-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/8c96cc4bd2a39381-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/5843ba28152e85f8.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/7698ede81d1862e2.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-452a2f4aec1a53ee.js"/><script src="/_next/static/chunks/e138dfde-a5c7fa92857215f2.js" async=""></script><script src="/_next/static/chunks/9966-7232c138a59bdc2f.js" async=""></script><script src="/_next/static/chunks/main-app-2ecba5da1d59188c.js" async=""></script><script src="/_next/static/chunks/5166-cadbdbf7d6854cf9.js" async=""></script><script src="/_next/static/chunks/7552-11960bc118e4e0f7.js" async=""></script><script src="/_next/static/chunks/9980-971a38c4ad288d6c.js" async=""></script><script src="/_next/static/chunks/4484-893f9cfcbe1499df.js" async=""></script><script src="/_next/static/chunks/7287-8eca6570ca087e2e.js" async=""></script><script src="/_next/static/chunks/159-39356ce437096d44.js" async=""></script><script src="/_next/static/chunks/app/layout-101b832aa6789b60.js" async=""></script><script src="/_next/static/chunks/9ce8c186-6cd204e9c27ecee1.js" async=""></script><script src="/_next/static/chunks/1471-69a7c30abf98c656.js" async=""></script><script src="/_next/static/chunks/5778-9d97ce04f2ac118c.js" async=""></script><script src="/_next/static/chunks/3577-1f02993330d7fba7.js" async=""></script><script src="/_next/static/chunks/5862-6f3a3a6d4c00100d.js" async=""></script><script src="/_next/static/chunks/5113-5c4f5181388aab72.js" async=""></script><script src="/_next/static/chunks/1699-49be310981e2759e.js" async=""></script><script src="/_next/static/chunks/7276-16ef14f7b2cd478d.js" async=""></script><script src="/_next/static/chunks/1722-bb40b4311197204b.js" async=""></script><script src="/_next/static/chunks/4489-0f3ff0134169e717.js" async=""></script><script src="/_next/static/chunks/1278-ad2cb39d11b4a5f2.js" async=""></script><script src="/_next/static/chunks/1830-901fe48c3c62604f.js" async=""></script><script src="/_next/static/chunks/208-521a3242b62d6c07.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-667f17706a5e1896.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="#F2F9F4"/><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.svg"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><script>(self.__next_s=self.__next_s||[]).push([0,{"children":"(function(){try{var s=localStorage.getItem('theme');if(s){try{var o=JSON.parse(s);if(o\u0026\u0026o.state){o.state.theme='light';localStorage.setItem('theme',JSON.stringify(o))}}catch(e){}}document.documentElement.classList.remove('dark')}catch(e){}})();","id":"theme-reset"}])</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_d8ebd1 __variable_59f4ba 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-452a2f4aec1a53ee.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[52760,[\"5166\",\"static/chunks/5166-cadbdbf7d6854cf9.js\",\"7552\",\"static/chunks/7552-11960bc118e4e0f7.js\",\"9980\",\"static/chunks/9980-971a38c4ad288d6c.js\",\"4484\",\"static/chunks/4484-893f9cfcbe1499df.js\",\"7287\",\"static/chunks/7287-8eca6570ca087e2e.js\",\"159\",\"static/chunks/159-39356ce437096d44.js\",\"7177\",\"static/chunks/app/layout-101b832aa6789b60.js\"],\"\"]\n3:I[33526,[\"6766\",\"static/chunks/9ce8c186-6cd204e9c27ecee1.js\",\"5166\",\"static/chunks/5166-cadbdbf7d6854cf9.js\",\"7552\",\"static/chunks/7552-11960bc118e4e0f7.js\",\"9980\",\"static/chunks/9980-971a38c4ad288d6c.js\",\"1471\",\"static/chunks/1471-69a7c30abf98c656.js\",\"5778\",\"static/chunks/5778-9d97ce04f2ac118c.js\",\"4484\",\"static/chunks/4484-893f9cfcbe1499df.js\",\"3577\",\"static/chunks/3577-1f02993330d7fba7.js\",\"5862\",\"static/chunks/5862-6f3a3a6d4c00100d.js\",\"5113\",\"static/chunks/5113-5c4f5181388aab72.js\",\"1699\",\"static/chunks/1699-49be310981e2759e.js\",\"7276\",\"static/chunks/7276-16ef14f7b2cd478d.js\",\"1722\",\"static/chunks/1722-bb40b4311197204b.js\",\"159\",\"static/chunks/159-39356ce437096d44.js\",\"4489\",\"static/chunks/4489-0f3ff0134169e717.js\",\"1278\",\"static/chunks/1278-ad2cb39d11b4a5f2.js\",\"1830\",\"static/chunks/1830-901fe48c3c62604f.js\",\"208\",\"static/chunks/208-521a3242b62d6c07.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-667f17706a5e1896.js\"],\"ThemeProvider\"]\n4:I[84885,[\"5166\",\"static/chunks/5166-cadbdbf7d6854cf9.js\",\"7552\",\"static/chunks/7552-11960bc118e4e0f7.js\",\"9980\",\"static/chunks/9980-971a38c4ad288d6c.js\",\"4484\",\"static/chunks/4484-893f9cfcbe1499df.js\",\"7287\",\"static/chunks/7287-8eca6570ca087e2e.js\",\"159\",\"static/chunks/159-39356ce437096d44.js\",\"7177\",\"static/chunks/app/layout-101b832aa6789b60.js\"],\"RuntimeI18nProvider\"]\n5:I[88476,[],\"\"]\n6:I[60938,[],\"\"]\n7:I[48565,[\"5166\",\"static/chunks/5166-cadbdbf7d6854cf9.js\",\"7552\",\"static/chunks/7552-11960bc118e4e0f7.js\",\"9980\",\"static/chunks/9980-971a38c4ad288d6c.js\",\"4484\",\"static/chunks/4484-893f9cfcbe1499df.js\",\"7287\",\"static/chunks/7287-8eca6570ca087e2e.js\",\"159\",\"static/chunks/159-39356ce437096d44.js\",\"7177\",\"static/chunks/app/layout-101b832aa6789b60.js\"],\"GoogleAnalytics\"]\n8:I[72809,[],\"OutletBoundary\"]\n9:\"$Sreact.suspense\"\nc:I[72809,[],\"ViewportBoundary\"]\ne:I[72809,[],\"MetadataBoundary\"]\n10:I[36376,[],\"default\",1]\n:HL[\"/_next/static/media/1abbc144918f74fd-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/8c96cc4bd2a39381-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/5843ba28152e85f8.css\",\"style\"]\n:HL[\"/_next/static/css/7698ede81d1862e2.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/5843ba28152e85f8.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/7698ede81d1862e2.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"$L2\",null,{\"id\":\"theme-reset\",\"strategy\":\"beforeInteractive\",\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var s=localStorage.getItem('theme');if(s){try{var o=JSON.parse(s);if(o\u0026\u0026o.state){o.state.theme='light';localStorage.setItem('theme',JSON.stringify(o))}}catch(e){}}document.documentElement.classList.remove('dark')}catch(e){}})();\"}}]}],[\"$\",\"body\",null,{\"className\":\"__variable_d8ebd1 __variable_59f4ba font-sans antialiased\",\"children\":[[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}],[\"$\",\"$L7\",null,{\"gaId\":\"G-LC959F603F\"}]]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",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\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"nOEr8lKXMARlP2mV3XFuF\"}\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\":\"#F2F9F4\"}]]\n11:I[36060,[],\"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.svg\"}],[\"$\",\"$L11\",\"4\",{}]]\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-452a2f4aec1a53ee.js"/><script src="/_next/static/chunks/e138dfde-a5c7fa92857215f2.js" async=""></script><script src="/_next/static/chunks/9966-7232c138a59bdc2f.js" async=""></script><script src="/_next/static/chunks/main-app-2ecba5da1d59188c.js" async=""></script><meta name="next-size-adjust" content=""/><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-452a2f4aec1a53ee.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[88476,[],\"\"]\n3:I[60938,[],\"\"]\n4:I[72809,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[72809,[],\"ViewportBoundary\"]\na:I[72809,[],\"MetadataBoundary\"]\nc:I[36376,[],\"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\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"SudImSgFkzCy6tK2dH6yg\"}\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-452a2f4aec1a53ee.js"/><script src="/_next/static/chunks/e138dfde-a5c7fa92857215f2.js" async=""></script><script src="/_next/static/chunks/9966-7232c138a59bdc2f.js" async=""></script><script src="/_next/static/chunks/main-app-2ecba5da1d59188c.js" async=""></script><meta name="next-size-adjust" content=""/><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-452a2f4aec1a53ee.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[88476,[],\"\"]\n3:I[60938,[],\"\"]\n4:I[72809,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[72809,[],\"ViewportBoundary\"]\na:I[72809,[],\"MetadataBoundary\"]\nc:I[36376,[],\"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\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"nOEr8lKXMARlP2mV3XFuF\"}\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 +1 @@
1
- self.__RSC_SERVER_MANIFEST="{\"node\":{\"0052b1ebcc2dfa279393a9b2bdd601c20aeaaa9c38\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"85595\",\"async\":false}},\"filename\":\"app/api/cli-tools/all-statuses/route.js\",\"exportedName\":\"GET\"},\"0050688e9f721b7932c1f1da156771cc92ff2b051a\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"85595\",\"async\":false},\"app/api/cli-tools/claude-settings/route\":{\"moduleId\":\"57048\",\"async\":false}},\"filename\":\"app/api/cli-tools/claude-settings/route.js\",\"exportedName\":\"GET\"},\"00d68c6bdae4bc0560f63d3d28575041b0b9627953\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"85595\",\"async\":false},\"app/api/cli-tools/claude-settings/route\":{\"moduleId\":\"57048\",\"async\":false}},\"filename\":\"app/api/cli-tools/claude-settings/route.js\",\"exportedName\":\"DELETE\"},\"40d4f59071c2dd53fcb00b8a628782c5ebbc6a001d\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"85595\",\"async\":false},\"app/api/cli-tools/claude-settings/route\":{\"moduleId\":\"57048\",\"async\":false}},\"filename\":\"app/api/cli-tools/claude-settings/route.js\",\"exportedName\":\"POST\"},\"00ca2b7e569b8c51f07f2fb5e2aa688317d1987ca3\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"85595\",\"async\":false},\"app/api/cli-tools/codex-settings/route\":{\"moduleId\":\"30930\",\"async\":false}},\"filename\":\"app/api/cli-tools/codex-settings/route.js\",\"exportedName\":\"GET\"},\"00f1a99303d9f663e4fa4fa699bec40637f85bc4f5\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"85595\",\"async\":false},\"app/api/cli-tools/codex-settings/route\":{\"moduleId\":\"30930\",\"async\":false}},\"filename\":\"app/api/cli-tools/codex-settings/route.js\",\"exportedName\":\"DELETE\"},\"404240d06e07a9891d71be3660a9f15a3a2b1e9b57\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"85595\",\"async\":false},\"app/api/cli-tools/codex-settings/route\":{\"moduleId\":\"30930\",\"async\":false}},\"filename\":\"app/api/cli-tools/codex-settings/route.js\",\"exportedName\":\"POST\"},\"00e6487911605e9ae4f0ad5e39858b406ba4774bd0\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"85595\",\"async\":false},\"app/api/cli-tools/opencode-settings/route\":{\"moduleId\":\"65603\",\"async\":false}},\"filename\":\"app/api/cli-tools/opencode-settings/route.js\",\"exportedName\":\"GET\"},\"40108382d3e584bc04bff3d08aec7cdcb4c1c53196\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"85595\",\"async\":false},\"app/api/cli-tools/opencode-settings/route\":{\"moduleId\":\"65603\",\"async\":false}},\"filename\":\"app/api/cli-tools/opencode-settings/route.js\",\"exportedName\":\"POST\"},\"407981fb1cb6b76c34bbe792c586455a66c710440e\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"85595\",\"async\":false},\"app/api/cli-tools/opencode-settings/route\":{\"moduleId\":\"65603\",\"async\":false}},\"filename\":\"app/api/cli-tools/opencode-settings/route.js\",\"exportedName\":\"DELETE\"},\"409db70dff74f192a1eb55d00fef88e161cd910aa5\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"85595\",\"async\":false},\"app/api/cli-tools/opencode-settings/route\":{\"moduleId\":\"65603\",\"async\":false}},\"filename\":\"app/api/cli-tools/opencode-settings/route.js\",\"exportedName\":\"PATCH\"},\"00a4bedfa3aaf36a17d1793dd6066617ea68722794\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"85595\",\"async\":false},\"app/api/cli-tools/cowork-settings/route\":{\"moduleId\":\"45697\",\"async\":false}},\"filename\":\"app/api/cli-tools/cowork-settings/route.js\",\"exportedName\":\"DELETE\"},\"00e905676f485b1b1f91518655f5b591c819b6413a\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"85595\",\"async\":false},\"app/api/cli-tools/cowork-settings/route\":{\"moduleId\":\"45697\",\"async\":false}},\"filename\":\"app/api/cli-tools/cowork-settings/route.js\",\"exportedName\":\"GET\"},\"400e3235c5056494c422859d05cabd5c79286c96b2\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"85595\",\"async\":false},\"app/api/cli-tools/cowork-settings/route\":{\"moduleId\":\"45697\",\"async\":false}},\"filename\":\"app/api/cli-tools/cowork-settings/route.js\",\"exportedName\":\"POST\"},\"0022874c8f1e31519f6de8c6c72a27a7aacb1c1eeb\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"85595\",\"async\":false},\"app/api/cli-tools/dsh-settings/route\":{\"moduleId\":\"95104\",\"async\":false}},\"filename\":\"app/api/cli-tools/dsh-settings/route.ts\",\"exportedName\":\"DELETE\"},\"008b9245e8d495dfbd1bbeda95a74ffbb50e5a339c\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"85595\",\"async\":false},\"app/api/cli-tools/dsh-settings/route\":{\"moduleId\":\"95104\",\"async\":false}},\"filename\":\"app/api/cli-tools/dsh-settings/route.ts\",\"exportedName\":\"GET\"},\"40e688f795d3c6b1e88f8a6e97961210384e1d2945\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"85595\",\"async\":false},\"app/api/cli-tools/dsh-settings/route\":{\"moduleId\":\"95104\",\"async\":false}},\"filename\":\"app/api/cli-tools/dsh-settings/route.ts\",\"exportedName\":\"POST\"},\"40a631b7e3a3a3e4db1344645781bb466c8a951c9d\":{\"workers\":{\"app/api/cli-tools/cowork-mcp-registry/route\":{\"moduleId\":\"15215\",\"async\":false}},\"filename\":\"app/api/cli-tools/cowork-mcp-registry/route.js\",\"exportedName\":\"GET\"},\"40fd77f5e911c7612f81ebca27e1c9178dc16404e8\":{\"workers\":{\"app/api/cli-tools/cowork-mcp-tools/route\":{\"moduleId\":\"44464\",\"async\":false}},\"filename\":\"app/api/cli-tools/cowork-mcp-tools/route.js\",\"exportedName\":\"POST\"},\"40fcc881231bf3780bbfa264c29699ffede4a7af94\":{\"workers\":{\"app/api/tunnel/tailscale-install/route\":{\"moduleId\":\"71942\",\"async\":false}},\"filename\":\"app/api/tunnel/tailscale-install/route.js\",\"exportedName\":\"POST\"}},\"edge\":{},\"encryptionKey\":\"process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY\"}"
1
+ self.__RSC_SERVER_MANIFEST="{\"node\":{\"00ffec1c4311f5509d26dd90382eebe2624093f4e0\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"3577\",\"async\":false}},\"filename\":\"app/api/cli-tools/all-statuses/route.js\",\"exportedName\":\"GET\"},\"0053e1f0cc8ced8b3c30a7cfde86a11bea21bbb954\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"3577\",\"async\":false},\"app/api/cli-tools/claude-settings/route\":{\"moduleId\":\"63597\",\"async\":false}},\"filename\":\"app/api/cli-tools/claude-settings/route.js\",\"exportedName\":\"GET\"},\"00876fee55824ae5e10577cb8490001a7a07e0cd95\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"3577\",\"async\":false},\"app/api/cli-tools/claude-settings/route\":{\"moduleId\":\"63597\",\"async\":false}},\"filename\":\"app/api/cli-tools/claude-settings/route.js\",\"exportedName\":\"DELETE\"},\"40b8a3a36edc4965fcd8455b5090facfffd8af8e46\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"3577\",\"async\":false},\"app/api/cli-tools/claude-settings/route\":{\"moduleId\":\"63597\",\"async\":false}},\"filename\":\"app/api/cli-tools/claude-settings/route.js\",\"exportedName\":\"POST\"},\"005e8f68bea81486b3b7466943ed0df5b0162d8e6d\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"3577\",\"async\":false},\"app/api/cli-tools/codex-settings/route\":{\"moduleId\":\"54139\",\"async\":false}},\"filename\":\"app/api/cli-tools/codex-settings/route.js\",\"exportedName\":\"GET\"},\"00cea43aad23445d51c8a6aea9aecb3a2c07208679\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"3577\",\"async\":false},\"app/api/cli-tools/codex-settings/route\":{\"moduleId\":\"54139\",\"async\":false}},\"filename\":\"app/api/cli-tools/codex-settings/route.js\",\"exportedName\":\"DELETE\"},\"402634fd1a39139e33d1fd62a4f5af5a94cca3bafc\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"3577\",\"async\":false},\"app/api/cli-tools/codex-settings/route\":{\"moduleId\":\"54139\",\"async\":false}},\"filename\":\"app/api/cli-tools/codex-settings/route.js\",\"exportedName\":\"POST\"},\"0009015c9541dda0f07e9dfd680f4c53ba18757585\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"3577\",\"async\":false},\"app/api/cli-tools/opencode-settings/route\":{\"moduleId\":\"70200\",\"async\":false}},\"filename\":\"app/api/cli-tools/opencode-settings/route.js\",\"exportedName\":\"GET\"},\"403b35636497546e0dffd210d29237914981f1a481\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"3577\",\"async\":false},\"app/api/cli-tools/opencode-settings/route\":{\"moduleId\":\"70200\",\"async\":false}},\"filename\":\"app/api/cli-tools/opencode-settings/route.js\",\"exportedName\":\"POST\"},\"408fd10c8d2528afc240e77735502ff008b09a7386\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"3577\",\"async\":false},\"app/api/cli-tools/opencode-settings/route\":{\"moduleId\":\"70200\",\"async\":false}},\"filename\":\"app/api/cli-tools/opencode-settings/route.js\",\"exportedName\":\"DELETE\"},\"40b978d2a8d5b3d0c9e0055b8831f53d315b65cd36\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"3577\",\"async\":false},\"app/api/cli-tools/opencode-settings/route\":{\"moduleId\":\"70200\",\"async\":false}},\"filename\":\"app/api/cli-tools/opencode-settings/route.js\",\"exportedName\":\"PATCH\"},\"00b3feee0668ef63b69261e38171d400c3e14afd5b\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"3577\",\"async\":false},\"app/api/cli-tools/cowork-settings/route\":{\"moduleId\":\"38470\",\"async\":false}},\"filename\":\"app/api/cli-tools/cowork-settings/route.js\",\"exportedName\":\"DELETE\"},\"00cf58067ad42b304f221992a0c488f3a3d851d7dd\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"3577\",\"async\":false},\"app/api/cli-tools/cowork-settings/route\":{\"moduleId\":\"38470\",\"async\":false}},\"filename\":\"app/api/cli-tools/cowork-settings/route.js\",\"exportedName\":\"GET\"},\"4050bf67c375afecc3fc2c74d7ac0a1bd15edf918d\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"3577\",\"async\":false},\"app/api/cli-tools/cowork-settings/route\":{\"moduleId\":\"38470\",\"async\":false}},\"filename\":\"app/api/cli-tools/cowork-settings/route.js\",\"exportedName\":\"POST\"},\"000a3e6b4bf14567b943f565c56b580c4197a31e14\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"3577\",\"async\":false},\"app/api/cli-tools/dsh-settings/route\":{\"moduleId\":\"89617\",\"async\":false}},\"filename\":\"app/api/cli-tools/dsh-settings/route.ts\",\"exportedName\":\"DELETE\"},\"009497d7fb2b2904e7f5f58cdf7119e3d6f0639906\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"3577\",\"async\":false},\"app/api/cli-tools/dsh-settings/route\":{\"moduleId\":\"89617\",\"async\":false}},\"filename\":\"app/api/cli-tools/dsh-settings/route.ts\",\"exportedName\":\"GET\"},\"40ae397d7827d743d60d01b95bfe0c61f913e1c183\":{\"workers\":{\"app/api/cli-tools/all-statuses/route\":{\"moduleId\":\"3577\",\"async\":false},\"app/api/cli-tools/dsh-settings/route\":{\"moduleId\":\"89617\",\"async\":false}},\"filename\":\"app/api/cli-tools/dsh-settings/route.ts\",\"exportedName\":\"POST\"},\"40290d314d44bfe224bd6bfdaa2f2d70f5110644d1\":{\"workers\":{\"app/api/cli-tools/cowork-mcp-registry/route\":{\"moduleId\":\"74121\",\"async\":false}},\"filename\":\"app/api/cli-tools/cowork-mcp-registry/route.js\",\"exportedName\":\"GET\"},\"40fa180205f01f8a656a795bfac9ae33c27ac24958\":{\"workers\":{\"app/api/cli-tools/cowork-mcp-tools/route\":{\"moduleId\":\"38369\",\"async\":false}},\"filename\":\"app/api/cli-tools/cowork-mcp-tools/route.js\",\"exportedName\":\"POST\"},\"40dd39e48c033ae36a5ecd1399678401f458045fb3\":{\"workers\":{\"app/api/tunnel/tailscale-install/route\":{\"moduleId\":\"46784\",\"async\":false}},\"filename\":\"app/api/tunnel/tailscale-install/route.js\",\"exportedName\":\"POST\"}},\"edge\":{},\"encryptionKey\":\"process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY\"}"
@@ -1 +1 @@
1
- {"node":{"0052b1ebcc2dfa279393a9b2bdd601c20aeaaa9c38":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"85595","async":false}},"filename":"app/api/cli-tools/all-statuses/route.js","exportedName":"GET"},"0050688e9f721b7932c1f1da156771cc92ff2b051a":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"85595","async":false},"app/api/cli-tools/claude-settings/route":{"moduleId":"57048","async":false}},"filename":"app/api/cli-tools/claude-settings/route.js","exportedName":"GET"},"00d68c6bdae4bc0560f63d3d28575041b0b9627953":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"85595","async":false},"app/api/cli-tools/claude-settings/route":{"moduleId":"57048","async":false}},"filename":"app/api/cli-tools/claude-settings/route.js","exportedName":"DELETE"},"40d4f59071c2dd53fcb00b8a628782c5ebbc6a001d":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"85595","async":false},"app/api/cli-tools/claude-settings/route":{"moduleId":"57048","async":false}},"filename":"app/api/cli-tools/claude-settings/route.js","exportedName":"POST"},"00ca2b7e569b8c51f07f2fb5e2aa688317d1987ca3":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"85595","async":false},"app/api/cli-tools/codex-settings/route":{"moduleId":"30930","async":false}},"filename":"app/api/cli-tools/codex-settings/route.js","exportedName":"GET"},"00f1a99303d9f663e4fa4fa699bec40637f85bc4f5":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"85595","async":false},"app/api/cli-tools/codex-settings/route":{"moduleId":"30930","async":false}},"filename":"app/api/cli-tools/codex-settings/route.js","exportedName":"DELETE"},"404240d06e07a9891d71be3660a9f15a3a2b1e9b57":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"85595","async":false},"app/api/cli-tools/codex-settings/route":{"moduleId":"30930","async":false}},"filename":"app/api/cli-tools/codex-settings/route.js","exportedName":"POST"},"00e6487911605e9ae4f0ad5e39858b406ba4774bd0":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"85595","async":false},"app/api/cli-tools/opencode-settings/route":{"moduleId":"65603","async":false}},"filename":"app/api/cli-tools/opencode-settings/route.js","exportedName":"GET"},"40108382d3e584bc04bff3d08aec7cdcb4c1c53196":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"85595","async":false},"app/api/cli-tools/opencode-settings/route":{"moduleId":"65603","async":false}},"filename":"app/api/cli-tools/opencode-settings/route.js","exportedName":"POST"},"407981fb1cb6b76c34bbe792c586455a66c710440e":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"85595","async":false},"app/api/cli-tools/opencode-settings/route":{"moduleId":"65603","async":false}},"filename":"app/api/cli-tools/opencode-settings/route.js","exportedName":"DELETE"},"409db70dff74f192a1eb55d00fef88e161cd910aa5":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"85595","async":false},"app/api/cli-tools/opencode-settings/route":{"moduleId":"65603","async":false}},"filename":"app/api/cli-tools/opencode-settings/route.js","exportedName":"PATCH"},"00a4bedfa3aaf36a17d1793dd6066617ea68722794":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"85595","async":false},"app/api/cli-tools/cowork-settings/route":{"moduleId":"45697","async":false}},"filename":"app/api/cli-tools/cowork-settings/route.js","exportedName":"DELETE"},"00e905676f485b1b1f91518655f5b591c819b6413a":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"85595","async":false},"app/api/cli-tools/cowork-settings/route":{"moduleId":"45697","async":false}},"filename":"app/api/cli-tools/cowork-settings/route.js","exportedName":"GET"},"400e3235c5056494c422859d05cabd5c79286c96b2":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"85595","async":false},"app/api/cli-tools/cowork-settings/route":{"moduleId":"45697","async":false}},"filename":"app/api/cli-tools/cowork-settings/route.js","exportedName":"POST"},"0022874c8f1e31519f6de8c6c72a27a7aacb1c1eeb":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"85595","async":false},"app/api/cli-tools/dsh-settings/route":{"moduleId":"95104","async":false}},"filename":"app/api/cli-tools/dsh-settings/route.ts","exportedName":"DELETE"},"008b9245e8d495dfbd1bbeda95a74ffbb50e5a339c":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"85595","async":false},"app/api/cli-tools/dsh-settings/route":{"moduleId":"95104","async":false}},"filename":"app/api/cli-tools/dsh-settings/route.ts","exportedName":"GET"},"40e688f795d3c6b1e88f8a6e97961210384e1d2945":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"85595","async":false},"app/api/cli-tools/dsh-settings/route":{"moduleId":"95104","async":false}},"filename":"app/api/cli-tools/dsh-settings/route.ts","exportedName":"POST"},"40a631b7e3a3a3e4db1344645781bb466c8a951c9d":{"workers":{"app/api/cli-tools/cowork-mcp-registry/route":{"moduleId":"15215","async":false}},"filename":"app/api/cli-tools/cowork-mcp-registry/route.js","exportedName":"GET"},"40fd77f5e911c7612f81ebca27e1c9178dc16404e8":{"workers":{"app/api/cli-tools/cowork-mcp-tools/route":{"moduleId":"44464","async":false}},"filename":"app/api/cli-tools/cowork-mcp-tools/route.js","exportedName":"POST"},"40fcc881231bf3780bbfa264c29699ffede4a7af94":{"workers":{"app/api/tunnel/tailscale-install/route":{"moduleId":"71942","async":false}},"filename":"app/api/tunnel/tailscale-install/route.js","exportedName":"POST"}},"edge":{},"encryptionKey":"pthyDEtA2PLiQaOUUzzVKYFXHM5oH7DL7V/zk7dB53E="}
1
+ {"node":{"00ffec1c4311f5509d26dd90382eebe2624093f4e0":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"3577","async":false}},"filename":"app/api/cli-tools/all-statuses/route.js","exportedName":"GET"},"0053e1f0cc8ced8b3c30a7cfde86a11bea21bbb954":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"3577","async":false},"app/api/cli-tools/claude-settings/route":{"moduleId":"63597","async":false}},"filename":"app/api/cli-tools/claude-settings/route.js","exportedName":"GET"},"00876fee55824ae5e10577cb8490001a7a07e0cd95":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"3577","async":false},"app/api/cli-tools/claude-settings/route":{"moduleId":"63597","async":false}},"filename":"app/api/cli-tools/claude-settings/route.js","exportedName":"DELETE"},"40b8a3a36edc4965fcd8455b5090facfffd8af8e46":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"3577","async":false},"app/api/cli-tools/claude-settings/route":{"moduleId":"63597","async":false}},"filename":"app/api/cli-tools/claude-settings/route.js","exportedName":"POST"},"005e8f68bea81486b3b7466943ed0df5b0162d8e6d":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"3577","async":false},"app/api/cli-tools/codex-settings/route":{"moduleId":"54139","async":false}},"filename":"app/api/cli-tools/codex-settings/route.js","exportedName":"GET"},"00cea43aad23445d51c8a6aea9aecb3a2c07208679":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"3577","async":false},"app/api/cli-tools/codex-settings/route":{"moduleId":"54139","async":false}},"filename":"app/api/cli-tools/codex-settings/route.js","exportedName":"DELETE"},"402634fd1a39139e33d1fd62a4f5af5a94cca3bafc":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"3577","async":false},"app/api/cli-tools/codex-settings/route":{"moduleId":"54139","async":false}},"filename":"app/api/cli-tools/codex-settings/route.js","exportedName":"POST"},"0009015c9541dda0f07e9dfd680f4c53ba18757585":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"3577","async":false},"app/api/cli-tools/opencode-settings/route":{"moduleId":"70200","async":false}},"filename":"app/api/cli-tools/opencode-settings/route.js","exportedName":"GET"},"403b35636497546e0dffd210d29237914981f1a481":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"3577","async":false},"app/api/cli-tools/opencode-settings/route":{"moduleId":"70200","async":false}},"filename":"app/api/cli-tools/opencode-settings/route.js","exportedName":"POST"},"408fd10c8d2528afc240e77735502ff008b09a7386":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"3577","async":false},"app/api/cli-tools/opencode-settings/route":{"moduleId":"70200","async":false}},"filename":"app/api/cli-tools/opencode-settings/route.js","exportedName":"DELETE"},"40b978d2a8d5b3d0c9e0055b8831f53d315b65cd36":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"3577","async":false},"app/api/cli-tools/opencode-settings/route":{"moduleId":"70200","async":false}},"filename":"app/api/cli-tools/opencode-settings/route.js","exportedName":"PATCH"},"00b3feee0668ef63b69261e38171d400c3e14afd5b":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"3577","async":false},"app/api/cli-tools/cowork-settings/route":{"moduleId":"38470","async":false}},"filename":"app/api/cli-tools/cowork-settings/route.js","exportedName":"DELETE"},"00cf58067ad42b304f221992a0c488f3a3d851d7dd":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"3577","async":false},"app/api/cli-tools/cowork-settings/route":{"moduleId":"38470","async":false}},"filename":"app/api/cli-tools/cowork-settings/route.js","exportedName":"GET"},"4050bf67c375afecc3fc2c74d7ac0a1bd15edf918d":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"3577","async":false},"app/api/cli-tools/cowork-settings/route":{"moduleId":"38470","async":false}},"filename":"app/api/cli-tools/cowork-settings/route.js","exportedName":"POST"},"000a3e6b4bf14567b943f565c56b580c4197a31e14":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"3577","async":false},"app/api/cli-tools/dsh-settings/route":{"moduleId":"89617","async":false}},"filename":"app/api/cli-tools/dsh-settings/route.ts","exportedName":"DELETE"},"009497d7fb2b2904e7f5f58cdf7119e3d6f0639906":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"3577","async":false},"app/api/cli-tools/dsh-settings/route":{"moduleId":"89617","async":false}},"filename":"app/api/cli-tools/dsh-settings/route.ts","exportedName":"GET"},"40ae397d7827d743d60d01b95bfe0c61f913e1c183":{"workers":{"app/api/cli-tools/all-statuses/route":{"moduleId":"3577","async":false},"app/api/cli-tools/dsh-settings/route":{"moduleId":"89617","async":false}},"filename":"app/api/cli-tools/dsh-settings/route.ts","exportedName":"POST"},"40290d314d44bfe224bd6bfdaa2f2d70f5110644d1":{"workers":{"app/api/cli-tools/cowork-mcp-registry/route":{"moduleId":"74121","async":false}},"filename":"app/api/cli-tools/cowork-mcp-registry/route.js","exportedName":"GET"},"40fa180205f01f8a656a795bfac9ae33c27ac24958":{"workers":{"app/api/cli-tools/cowork-mcp-tools/route":{"moduleId":"38369","async":false}},"filename":"app/api/cli-tools/cowork-mcp-tools/route.js","exportedName":"POST"},"40dd39e48c033ae36a5ecd1399678401f458045fb3":{"workers":{"app/api/tunnel/tailscale-install/route":{"moduleId":"46784","async":false}},"filename":"app/api/tunnel/tailscale-install/route.js","exportedName":"POST"}},"edge":{},"encryptionKey":"I+PNJda2RVjTNR5xsoMUC5BaWo+gDtoekIRKvfnGhxM="}
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1278],{738:(e,t,a)=>{a.d(t,{A:()=>n});var r=a(29798),s=a(15814),i=a(63729);function n({src:e,providerId:t,alt:a,size:o=32,className:l="",fallbackText:d="?",fallbackColor:c}){let u=function(e,t){if(t)return(0,i.HY)(t);if(!e)return null;let a=String(e).match(/^\/providers\/([^/]+)\.png$/i);return a?(0,i.HY)(a[1]):e}(e,t),[m,p]=(0,s.useState)(!1);return!u||m?(0,r.jsx)("span",{className:`inline-flex items-center justify-center font-bold rounded-lg ${l}`.trim(),style:{width:o,height:o,color:c,fontSize:Math.max(10,Math.floor(.38*o))},children:d}):(0,r.jsx)("img",{src:u,alt:a,width:o,height:o,className:l,loading:"lazy",decoding:"async",onError:()=>{let e=u.match(/^\/providers\/([^/]+)\.png$/i);e&&(0,i.Kw)(e[1]),t&&(0,i.Kw)(t),p(!0)}})}},3537:(e,t,a)=>{a.d(t,{ConfirmModal:()=>u,default:()=>c});var r=a(29798),s=a(15814),i=a(69221),n=a(13008),o=a(18055),l=a(49787);let d={sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl",full:"max-w-4xl"};function c({isOpen:e,onClose:t,title:a,children:i,footer:o,size:u="md",closeOnOverlay:m=!0,className:p}){return(0,s.useEffect)(()=>(e?document.body.style.overflow="hidden":document.body.style.overflow="",()=>{document.body.style.overflow=""}),[e]),(0,r.jsx)(l.lG,{open:!!e,onOpenChange:e=>{e||t()},children:(0,r.jsxs)(l.Cf,{className:(0,n.cn)(d[u],p),onPointerDownOutside:m?void 0:e=>e.preventDefault(),onInteractOutside:m?void 0:e=>e.preventDefault(),children:[a&&(0,r.jsx)(l.c7,{children:(0,r.jsx)(l.L3,{children:a})}),(0,r.jsx)("div",{className:"max-h-[calc(85vh-100px)] overflow-y-auto p-4",children:i}),o&&(0,r.jsx)(l.Es,{children:o})]})})}function u({isOpen:e,onClose:t,onConfirm:a,title:s="Confirm",message:n,confirmText:l="Confirm",cancelText:d="Cancel",variant:m="danger",loading:p=!1}){return(0,r.jsx)(c,{isOpen:e,onClose:t,title:s,size:"sm",footer:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(o.$,{variant:"ghost",onClick:t,disabled:p,children:d}),(0,r.jsxs)(o.$,{variant:"danger"===m?"destructive":"primary"===m?"default":m,onClick:a,disabled:p,children:[p&&(0,r.jsx)(i.A,{className:"animate-spin"}),l]})]}),children:(0,r.jsx)("p",{className:"text-muted-foreground",children:n})})}},13008:(e,t,a)=>{a.d(t,{cn:()=>s});var r=a(5471);function s(...e){return(0,r.cn)(...e)}},16675:(e,t,a)=>{a.d(t,{default:()=>em});var r=a(29798),s=a(58913),i=a(70782),n=a(41671),o=a(42535),l=a(15814),d=a(16653),c=a(50141),u=a.n(c),m=a(51660),p=a(1352),x=a(69221),h=a(53784),f=a(18055),g=a(75669),b=a(49787),v=a(63523),j=a(63175);let w=["docker compose pull","docker compose up -d"],y=["docker pull ghcr.io/amir83nasr/10router:latest","docker stop 10router && docker rm 10router",'docker run -d --name 10router -p 20128:20128 -v "$HOME/.10router:/app/data" -e DATA_DIR=/app/data ghcr.io/amir83nasr/10router:latest'],k=["git pull","pnpm install","pnpm run build && PORT=20128 pnpm run start"];function N({id:e,steps:t}){let{copied:a,copy:i}=(0,v.C)();return(0,r.jsx)("ol",{className:"flex flex-col gap-1.5",children:t.map((t,n)=>{let o=`${e}-${n}`,l=a===o;return(0,r.jsxs)("li",{className:"flex items-center gap-2 text-sm",children:[(0,r.jsx)("span",{className:"flex size-5 shrink-0 items-center justify-center rounded-full bg-muted text-[11px] font-medium text-muted-foreground",children:n+1}),(0,r.jsx)("code",{className:"min-w-0 flex-1 rounded bg-muted px-2 py-1 font-mono text-xs break-all",children:t}),(0,r.jsx)(f.$,{variant:"ghost",size:"icon-xs",onClick:()=>i(t,o),"aria-label":`Copy step ${n+1}: ${t}`,children:(0,r.jsx)(s.default,{name:l?"check":"content_copy",className:"size-3.5"})})]},o)})})}function C({title:e,icon:t,id:a,steps:i}){return(0,r.jsxs)("details",{className:"group rounded-lg border border-border",children:[(0,r.jsxs)("summary",{className:"flex cursor-pointer list-none items-center gap-2 px-3 py-2 text-sm font-medium text-foreground [&::-webkit-details-marker]:hidden",children:[(0,r.jsx)(s.default,{name:t,className:"size-4 shrink-0 text-muted-foreground"}),(0,r.jsx)("span",{className:"flex-1",children:e}),(0,r.jsx)(s.default,{name:"expand_more",className:"size-4 shrink-0 text-muted-foreground transition-transform group-open:rotate-180"})]}),(0,r.jsx)("div",{className:"px-3 py-2",children:(0,r.jsx)(N,{id:a,steps:i})})]})}function _(){return(0,r.jsxs)("details",{className:"group flex flex-col gap-2 rounded-lg border border-border p-3",children:[(0,r.jsxs)("summary",{className:"flex cursor-pointer list-none items-center gap-2 text-sm font-medium text-foreground [&::-webkit-details-marker]:hidden",children:[(0,r.jsx)(s.default,{name:"terminal",className:"size-4 shrink-0 text-muted-foreground"}),(0,r.jsx)("span",{className:"flex-1",children:"Other install methods"}),(0,r.jsx)(s.default,{name:"expand_more",className:"size-4 shrink-0 text-muted-foreground transition-transform group-open:rotate-180"})]}),(0,r.jsxs)("div",{className:"flex flex-col gap-2 py-2",children:[(0,r.jsx)(C,{title:"Docker Compose",icon:"lan",id:"compose",steps:w}),(0,r.jsx)(C,{title:"Plain Docker run",icon:"dns",id:"docker",steps:y}),(0,r.jsx)(C,{title:"From source",icon:"code",id:"source",steps:k})]})]})}function S(){let{copied:e,copy:t}=(0,v.C)(),a=(0,j.c)(),i="npm i -g @amir83nasr/10router@latest",n="npm-0",o=e===n;return(0,r.jsxs)(g.Zp,{size:"sm",className:"border-primary/30 bg-primary/5",children:[(0,r.jsx)(g.aR,{children:(0,r.jsxs)(g.ZB,{className:"flex items-center gap-2",children:[(0,r.jsx)(s.default,{name:"upload",className:"size-4 shrink-0 text-primary"}),"npm ",(0,r.jsx)(h.E,{variant:"default",children:"recommended"})]})}),(0,r.jsxs)(g.Wu,{children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,r.jsx)("code",{className:"min-w-0 flex-1 rounded bg-muted px-2 py-1 font-mono text-xs break-all",children:i}),(0,r.jsx)(f.$,{variant:"ghost",size:"icon-xs",onClick:()=>t(i,n),"aria-label":`Copy: ${i}`,children:(0,r.jsx)(s.default,{name:o?"check":"content_copy",className:"size-3.5"})})]}),o&&!a.stopped&&!a.timedOut&&(0,r.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,r.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Copied. Stop the server, paste the command in your terminal, then run"," ",(0,r.jsx)("code",{className:"rounded bg-muted px-1 font-mono",children:"10router start"}),"."]}),(0,r.jsxs)(f.$,{variant:"destructive",size:"sm",className:"self-start",onClick:a.confirm,disabled:a.shuttingDown,children:[a.shuttingDown?(0,r.jsx)(x.A,{className:"animate-spin"}):(0,r.jsx)(s.default,{name:"power_settings_new",className:"size-4"}),a.shuttingDown?"Stopping…":"Stop server"]})]}),a.stopped&&(0,r.jsxs)("p",{className:"rounded-lg border border-green-500/30 bg-green-500/10 px-3 py-2 text-xs text-green-600 dark:text-green-400",children:["Server stopped — run the copied command in your terminal, then"," ",(0,r.jsx)("code",{className:"font-mono",children:"10router start"}),"."]}),a.timedOut&&(0,r.jsxs)("p",{className:"rounded-lg border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-xs text-amber-600 dark:text-amber-400",children:["The server did not stop in time — stop it manually (",(0,r.jsx)("code",{className:"font-mono",children:"10router stop"}),"), then run the copied command."]})]})]})}function z({open:e,onOpenChange:t,info:a,checkFailed:i,onRetry:n}){let o=a?a.hasUpdate?(0,r.jsxs)("p",{className:"rounded-lg border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-sm text-amber-600 dark:text-amber-400",children:["New version v",a.latestVersion," available (you run v",a.currentVersion,"). npm is the fastest way — or run the steps for your install method, in order:"]}):(0,r.jsxs)("p",{className:"rounded-lg border border-green-500/30 bg-green-500/10 px-3 py-2 text-sm text-green-600 dark:text-green-400",children:["Up to date — v",a.currentVersion," is the latest."]}):(0,r.jsx)("p",{className:"rounded-lg border border-border bg-muted/50 px-3 py-2 text-sm text-muted-foreground",children:i?"Could not reach GitHub to check for updates — the manual steps below still work.":"Checking for updates…"});return(0,r.jsx)(b.lG,{open:e,onOpenChange:t,children:(0,r.jsxs)(b.Cf,{className:"sm:max-w-lg",children:[(0,r.jsxs)(b.c7,{children:[(0,r.jsx)(b.L3,{children:"Updates"}),(0,r.jsx)(b.rr,{children:a?`Current v${a.currentVersion} \xb7 latest v${a.latestVersion}`:"Compare your version against the latest release"})]}),(0,r.jsxs)("div",{className:"flex max-h-[70vh] flex-col gap-4 overflow-y-auto p-4",children:[o,(0,r.jsx)(S,{}),(0,r.jsx)(_,{})]}),(0,r.jsxs)(b.Es,{children:[(0,r.jsxs)(f.$,{variant:"ghost",onClick:n,children:[(0,r.jsx)(s.default,{name:"refresh",className:"size-4"}),"Check again"]}),(0,r.jsx)(f.$,{variant:"outline",onClick:()=>t(!1),children:"Close"})]})]})})}var O=a(13008);function A({collapsed:e}){let[t,a]=(0,l.useState)(null),[i,n]=(0,l.useState)(!1),[o,d]=(0,l.useState)(!1),c=(0,l.useCallback)(async()=>{try{let e=await fetch("/api/version",{cache:"no-store"});if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();a({currentVersion:t?.currentVersion??m.vQ.version,latestVersion:t?.latestVersion??m.vQ.version,hasUpdate:!!t?.hasUpdate}),n(!1)}catch{n(!0)}},[]);(0,l.useEffect)(()=>{c();let e=setInterval(c,18e5);return()=>clearInterval(e)},[c]);let u=t?.hasUpdate??!1,x=u?`v${t?.latestVersion} available`:t?`v${t.currentVersion} \xb7 up to date`:`v${m.vQ.version}`,h=e?(0,r.jsxs)(p.m_,{children:[(0,r.jsx)(p.k$,{asChild:!0,children:u?(0,r.jsxs)("button",{type:"button",onClick:()=>d(!0),"aria-label":`Update available. ${x}`,className:"relative mx-auto flex size-8 items-center justify-center rounded-md bg-amber-500/15 text-amber-600 transition-colors hover:bg-amber-500/25 dark:text-amber-400",children:[(0,r.jsx)(s.default,{name:"download",className:"size-4"}),(0,r.jsx)("span",{className:"absolute right-1.5 top-1.5 size-1.5 rounded-full bg-amber-500"})]}):(0,r.jsx)("span",{className:"mx-auto flex size-8 items-center justify-center rounded-md text-muted-foreground",children:(0,r.jsx)(s.default,{name:"refresh",className:"size-4"})})}),(0,r.jsx)(p.ZI,{children:u?`${x} — click to update`:x})]}):u?(0,r.jsxs)("button",{type:"button",onClick:()=>d(!0),className:"flex w-full items-center gap-2 rounded-md bg-amber-500/15 px-1 py-1 text-left transition-colors hover:bg-amber-500/25","aria-label":`Update available. ${x}`,children:[(0,r.jsxs)("span",{className:"relative flex shrink-0 items-center text-muted-foreground",children:[(0,r.jsx)(s.default,{name:"download",className:"size-4"}),(0,r.jsx)("span",{className:"absolute -right-0.5 -top-0.5 size-1.5 rounded-full bg-amber-500"})]}),(0,r.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,r.jsxs)("span",{className:"block truncate text-[11px] text-muted-foreground",children:[m.vQ.name," v",t?.currentVersion??m.vQ.version]}),(0,r.jsx)("span",{className:"block truncate text-[11px] font-medium text-amber-600 dark:text-amber-400",children:x})]}),(0,r.jsx)(s.default,{name:"chevron_right",className:"size-3.5 shrink-0 text-muted-foreground"})]}):(0,r.jsxs)("div",{className:"flex w-full items-center gap-2 rounded-md px-1 py-1 text-left",children:[(0,r.jsx)("span",{className:"flex shrink-0 items-center text-muted-foreground",children:(0,r.jsx)(s.default,{name:"refresh",className:"size-4"})}),(0,r.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,r.jsxs)("span",{className:"block truncate text-[11px] text-muted-foreground",children:[m.vQ.name," v",t?.currentVersion??m.vQ.version]}),(0,r.jsx)("span",{className:(0,O.cn)("block truncate text-[11px] font-medium",i||!t?"text-muted-foreground":"text-green-600 dark:text-green-400"),children:x})]})]});return(0,r.jsxs)(r.Fragment,{children:[h,(0,r.jsx)(z,{open:o&&u,onOpenChange:d,info:t,checkFailed:i,onRetry:c})]})}var L=a(54366),E=a(5471),T=a(80954);a(77345);var P=a(73639);function I({className:e,orientation:t="horizontal",decorative:a=!0,...s}){return(0,r.jsx)(P.b,{"data-slot":"separator",decorative:a,orientation:t,className:(0,E.cn)("shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",e),...s})}var $=a(69260),M=a(6403);function D({...e}){return(0,r.jsx)($.bL,{"data-slot":"sheet",...e})}function U({...e}){return(0,r.jsx)($.ZL,{"data-slot":"sheet-portal",...e})}function R({className:e,...t}){return(0,r.jsx)($.hJ,{"data-slot":"sheet-overlay",className:(0,E.cn)("fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...t})}function F({className:e,children:t,side:a="right",showCloseButton:s=!0,...i}){return(0,r.jsxs)(U,{children:[(0,r.jsx)(R,{}),(0,r.jsxs)($.UC,{"data-slot":"sheet-content","data-side":a,className:(0,E.cn)("fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10",e),...i,children:[t,s&&(0,r.jsx)($.bm,{"data-slot":"sheet-close",asChild:!0,children:(0,r.jsxs)(f.$,{variant:"ghost",className:"absolute top-4 right-4",size:"icon-sm",children:[(0,r.jsx)(M.A,{}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]})})]})]})}function H({className:e,...t}){return(0,r.jsx)("div",{"data-slot":"sheet-header",className:(0,E.cn)("flex flex-col gap-1.5 p-4",e),...t})}function B({className:e,...t}){return(0,r.jsx)($.hE,{"data-slot":"sheet-title",className:(0,E.cn)("font-heading font-medium text-foreground",e),...t})}function V({className:e,...t}){return(0,r.jsx)($.VY,{"data-slot":"sheet-description",className:(0,E.cn)("text-sm text-muted-foreground",e),...t})}a(99118);let q=l.createContext(null);function Q(){let e=l.useContext(q);if(!e)throw Error("useSidebar must be used within a SidebarProvider.");return e}function K({defaultOpen:e=!0,open:t,onOpenChange:a,className:s,style:i,children:n,...o}){let d=function(){let[e,t]=l.useState(void 0);return l.useEffect(()=>{let e=window.matchMedia("(max-width: 767px)"),a=()=>{t(window.innerWidth<768)};return e.addEventListener("change",a),t(window.innerWidth<768),()=>e.removeEventListener("change",a)},[]),!!e}(),[c,u]=l.useState(!1),[m,p]=l.useState(e),x=t??m,h=l.useCallback(e=>{let t="function"==typeof e?e(x):e;a?a(t):p(t),document.cookie=`sidebar_state=${t}; path=/; max-age=604800`},[a,x]),f=l.useCallback(()=>d?u(e=>!e):h(e=>!e),[d,h,u]);l.useEffect(()=>{let e=e=>{"b"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),f())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[f]);let g=x?"expanded":"collapsed",b=l.useMemo(()=>({state:g,open:x,setOpen:h,isMobile:d,openMobile:c,setOpenMobile:u,toggleSidebar:f}),[g,x,h,d,c,u,f]);return(0,r.jsx)(q.Provider,{value:b,children:(0,r.jsx)("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":"16rem","--sidebar-width-icon":"3rem",...i},className:(0,E.cn)("group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar",s),...o,children:n})})}function W({side:e="left",variant:t="sidebar",collapsible:a="offcanvas",className:s,children:i,dir:n,...o}){let{isMobile:l,state:d,openMobile:c,setOpenMobile:u}=Q();return"none"===a?(0,r.jsx)("div",{"data-slot":"sidebar",className:(0,E.cn)("flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground",s),...o,children:i}):l?(0,r.jsx)(D,{open:c,onOpenChange:u,...o,children:(0,r.jsxs)(F,{dir:n,"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":"18rem"},side:e,children:[(0,r.jsxs)(H,{className:"sr-only",children:[(0,r.jsx)(B,{children:"Sidebar"}),(0,r.jsx)(V,{children:"Displays the mobile sidebar."})]}),(0,r.jsx)("div",{className:"flex h-full w-full flex-col",children:i})]})}):(0,r.jsxs)("div",{className:"group peer hidden text-sidebar-foreground md:block","data-state":d,"data-collapsible":"collapsed"===d?a:"","data-variant":t,"data-side":e,"data-slot":"sidebar",children:[(0,r.jsx)("div",{"data-slot":"sidebar-gap",className:(0,E.cn)("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180","floating"===t||"inset"===t?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),(0,r.jsx)("div",{"data-slot":"sidebar-container","data-side":e,className:(0,E.cn)("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear data-[side=left]:left-0 data-[side=left]:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)] data-[side=right]:right-0 data-[side=right]:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)] md:flex","floating"===t||"inset"===t?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",s),...o,children:(0,r.jsx)("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"flex size-full min-w-0 flex-col overflow-x-hidden bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 group-data-[variant=floating]:ring-sidebar-border",children:i})})]})}function Z({className:e,...t}){return(0,r.jsx)("main",{"data-slot":"sidebar-inset",className:(0,E.cn)("relative flex w-full flex-1 flex-col bg-background md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",e),...t})}function G({className:e,...t}){return(0,r.jsx)("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:(0,E.cn)("flex flex-col gap-2 p-2",e),...t})}function Y({className:e,...t}){return(0,r.jsx)("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:(0,E.cn)("flex flex-col gap-2 p-2",e),...t})}function X({className:e,...t}){return(0,r.jsx)(I,{"data-slot":"sidebar-separator","data-sidebar":"separator",className:(0,E.cn)("mx-2 w-auto bg-sidebar-border",e),...t})}function J({className:e,...t}){return(0,r.jsx)("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:(0,E.cn)("flex min-h-0 w-full min-w-0 flex-1 flex-col gap-2 overflow-x-hidden overflow-y-auto group-data-[collapsible=icon]:overflow-hidden",e),...t})}function ee({className:e,...t}){return(0,r.jsx)("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:(0,E.cn)("relative flex w-full min-w-0 flex-col p-2",e),...t})}function et({className:e,asChild:t=!1,...a}){let s=t?T.bL:"div";return(0,r.jsx)(s,{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:(0,E.cn)("flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",e),...a})}function ea({className:e,...t}){return(0,r.jsx)("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:(0,E.cn)("flex w-full min-w-0 flex-col gap-1",e),...t})}function er({className:e,...t}){return(0,r.jsx)("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:(0,E.cn)("group/menu-item relative",e),...t})}let es=(0,L.F)("peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground [&_svg]:size-4 [&_svg]:shrink-0 [&>span:last-child]:truncate",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_var(--sidebar-border)] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_var(--sidebar-accent)]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function ei({asChild:e=!1,isActive:t=!1,variant:a="default",size:s="default",tooltip:i,className:n,...o}){let l=e?T.bL:"button",{isMobile:d,state:c}=Q(),u=(0,r.jsx)(l,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":s,"data-active":t,className:(0,E.cn)(es({variant:a,size:s}),n),...o});return i?("string"==typeof i&&(i={children:i}),(0,r.jsxs)(p.m_,{children:[(0,r.jsx)(p.k$,{asChild:!0,children:u}),(0,r.jsx)(p.ZI,{side:"right",align:"center",hidden:"collapsed"!==c||d,...i})]})):u}let en=[{id:"endpoint",href:"/dashboard",label:"Endpoint & Key",icon:"api",match:e=>"/dashboard"===e||e.startsWith("/dashboard/endpoint")},{id:"providers",href:"/dashboard/providers",label:"Providers",icon:"dns"},{id:"combos",href:"/dashboard/combos",label:"Combo",icon:"layers"},{id:"usage",href:"/dashboard/usage",label:"Usage",icon:"bar_chart"},{id:"token-saver",href:"/dashboard/token-saver",label:"Token Saver",icon:"scissors"},{id:"cli-tools",href:"/dashboard/cli-tools",label:"CLI Tools",icon:"terminal"},{id:"systemone",href:"/dashboard/media-providers/systemone",label:"System One",icon:"bolt"}],eo=[{id:"proxy-pools",href:"/dashboard/proxy-pools",label:"Proxy Pools",icon:"waypoints"}],el=[{id:"profile",href:"/dashboard/profile",label:"Settings",icon:"settings"}];function ed({item:e}){var t;let a=(t=(0,i.usePathname)(),e.match?e.match(t):"/dashboard/profile"===e.href?"/dashboard/profile"===t:t.startsWith(e.href));return(0,r.jsx)(er,{children:(0,r.jsx)(ei,{asChild:!0,isActive:a,children:(0,r.jsxs)(u(),{href:e.href,className:"gap-3",children:[(0,r.jsx)(s.default,{name:e.icon,className:"text-[18px]"}),(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate",children:e.label})]})})})}function ec({...e}){(0,i.usePathname)();let{state:t}=Q(),a="collapsed"===t;return(0,r.jsxs)(W,{...e,children:[(0,r.jsx)(G,{className:"h-20 justify-center border-b border-sidebar-border px-4",children:(0,r.jsxs)(u(),{href:"/dashboard",className:"flex min-w-0 items-center gap-3",children:[(0,r.jsx)(d.default,{src:"/icons/icon.svg",alt:"10Router logo",width:36,height:36,className:"size-9 rounded-[10px] shrink-0"}),!a&&(0,r.jsxs)("div",{className:"flex min-w-0 flex-col leading-tight",children:[(0,r.jsx)("span",{className:"truncate text-lg font-semibold tracking-tight text-foreground",children:m.vQ.name}),(0,r.jsxs)("span",{className:"truncate text-xs text-muted-foreground",children:["v",m.vQ.version]})]})]})}),(0,r.jsxs)(J,{className:"pt-2",children:[(0,r.jsxs)(ee,{children:[(0,r.jsx)(et,{children:"Overview"}),(0,r.jsx)(ea,{children:en.map(e=>(0,r.jsx)(ed,{item:e},e.id))})]}),(0,r.jsx)(X,{}),(0,r.jsxs)(ee,{children:[(0,r.jsx)(et,{children:"System"}),(0,r.jsxs)(ea,{children:[eo.map(e=>(0,r.jsx)(ed,{item:e},e.id)),el.map(e=>(0,r.jsx)(ed,{item:e},e.id))]})]})]}),(0,r.jsx)(Y,{className:"border-t border-sidebar-border p-4",children:(0,r.jsx)(A,{collapsed:a})})]})}function eu({children:e}){let t=(0,i.usePathname)(),a=(0,n.i)(e=>e.notifications),l=(0,n.i)(e=>e.removeNotification),{toggleSidebar:d}=Q();return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"fixed top-4 right-4 z-[80] flex w-[min(92vw,380px)] flex-col gap-2",children:a.map(e=>{var t;let a="success"===(t=e.type)?{wrapper:"border-green-500/30 bg-green-500/10 text-green-600 dark:text-green-400",icon:"check_circle"}:"error"===t?{wrapper:"border-red-500/30 bg-red-500/10 text-red-600 dark:text-red-400",icon:"error"}:"warning"===t?{wrapper:"border-amber-500/30 bg-amber-500/10 text-amber-600 dark:text-amber-400",icon:"warning"}:{wrapper:"border-blue-500/30 bg-blue-500/10 text-blue-600 dark:text-blue-400",icon:"info"};return(0,r.jsx)("div",{className:`rounded-lg border px-3 py-2 shadow-lg backdrop-blur-sm ${a.wrapper}`,children:(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[(0,r.jsx)(s.default,{name:a.icon,className:"text-[18px] leading-5"}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[e.title?(0,r.jsx)("p",{className:"text-xs font-semibold mb-0.5",children:e.title}):null,(0,r.jsx)("p",{className:"text-xs whitespace-pre-wrap break-words",children:e.message})]}),e.dismissible?(0,r.jsx)("button",{type:"button",onClick:()=>l(e.id),className:"text-current/70 hover:text-current","aria-label":"Dismiss notification",children:(0,r.jsx)(s.default,{name:"close",className:"text-[16px]"})}):null]})},e.id)})}),(0,r.jsx)(ec,{}),(0,r.jsxs)(Z,{className:"flex flex-col h-full min-w-0 relative transition-colors duration-300 isolate",children:[(0,r.jsx)(o.default,{onMenuClick:d},t),(0,r.jsx)("div",{className:`dashboard-grid-bg flex-1 overflow-y-auto ${"/dashboard/basic-chat"===t?"":"p-6 lg:p-10"} ${"/dashboard/basic-chat"===t?"flex flex-col overflow-hidden":""}`,children:(0,r.jsx)("div",{className:`${"/dashboard/basic-chat"===t?"flex-1 w-full h-full flex flex-col":"max-w-7xl mx-auto"}`,children:e})})]})]})}function em({children:e}){return(0,r.jsx)(K,{children:(0,r.jsx)("div",{className:"flex h-screen w-full overflow-hidden bg-background",children:(0,r.jsx)(eu,{children:e})})})}},29575:(e,t,a)=>{a.d(t,{CardGrid:()=>p,Page:()=>c,PageHeader:()=>u,Section:()=>m});var r=a(29798),s=a(50141),i=a.n(s),n=a(13008),o=a(18055),l=a(58913);let d={default:"",narrow:"mx-auto w-full max-w-2xl",wide:"mx-auto w-full max-w-5xl"};function c({children:e,width:t="default",className:a}){return(0,r.jsx)("div",{className:(0,n.cn)("flex min-w-0 flex-col gap-6",d[t],a),children:e})}function u({title:e,description:t,actions:a,backHref:s,backLabel:d,className:c}){let m=null!=a;return(0,r.jsxs)("div",{className:(0,n.cn)(c),children:[s?(0,r.jsx)(o.$,{variant:"outline",size:"sm",asChild:!0,className:"mb-4 self-start",children:(0,r.jsxs)(i(),{href:s,children:[(0,r.jsx)(l.default,{name:"arrow_back",className:"text-lg"}),d??"Back"]})}):null,(0,r.jsxs)("div",{className:(0,n.cn)("flex flex-col gap-3",m&&"sm:flex-row sm:items-center sm:justify-between"),children:[(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("h1",{className:"text-2xl font-semibold tracking-tight sm:text-3xl",children:e}),t?(0,r.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:t}):null]}),m?(0,r.jsx)("div",{className:"grid shrink-0 grid-cols-1 gap-2 sm:flex sm:items-center",children:a}):null]})]})}function m({title:e,actions:t,children:a,className:s}){let i=void 0!==e||void 0!==t;return(0,r.jsxs)("section",{className:(0,n.cn)("flex min-w-0 flex-col gap-4",s),children:[i?(0,r.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[e?(0,r.jsx)("h2",{className:"text-lg font-semibold leading-tight sm:text-xl",children:e}):(0,r.jsx)("span",{}),t?(0,r.jsx)("div",{className:"grid grid-cols-1 gap-2 sm:flex sm:w-auto sm:items-center",children:t}):null]}):null,a]})}function p({children:e,variant:t="cards",className:a}){return(0,r.jsx)("div",{className:(0,n.cn)("grid min-w-0 grid-cols-1 gap-3 sm:gap-4","cards"===t&&"sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4","stat"===t&&"sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-5",a),children:e})}},41671:(e,t,a)=>{a.d(t,{i:()=>i});var r=a(58013);let s=0,i=(0,r.v)((e,t)=>({notifications:[],addNotification:a=>{let r=++s,i={id:r,type:a.type||"info",message:a.message,title:a.title||null,duration:a.duration??5e3,dismissible:a.dismissible??!0,createdAt:Date.now()};return e(e=>({notifications:[...e.notifications,i]})),i.duration>0&&setTimeout(()=>t().removeNotification(r),i.duration),r},removeNotification:t=>{e(e=>({notifications:e.notifications.filter(e=>e.id!==t)}))},clearAll:()=>e({notifications:[]}),success:(e,a)=>t().addNotification({type:"success",message:e,title:a}),error:(e,a)=>t().addNotification({type:"error",message:e,title:a,duration:8e3}),warning:(e,a)=>t().addNotification({type:"warning",message:e,title:a}),info:(e,a)=>t().addNotification({type:"info",message:e,title:a})}))},42535:(e,t,a)=>{a.d(t,{default:()=>w});var r=a(29798),s=a(58913),i=a(15814),n=a(70782),o=a(50141),l=a.n(o),d=a(738),c=a(56776);let u=(0,a(58013).v)(e=>({query:"",placeholder:"",visible:!1,setQuery:t=>e({query:t}),register:(t="Search...")=>e({visible:!0,placeholder:t,query:""}),unregister:()=>e({visible:!1,placeholder:"",query:""})}));var m=a(51660),p=a(13794),x=a(90046),h=a(63729),f=a(51780),g=a(53784),b=a(18055),v=a(77345),j=a(1352);function w({onMenuClick:e,showMenuButton:t=!0}){let a=(0,n.usePathname)(),[o,u]=(0,i.useState)(""),[b,v]=(0,i.useState)(""),{title:k,description:N,icon:C,breadcrumbs:_}=(0,i.useMemo)(()=>(e=>{if(!e)return{title:"",description:"",breadcrumbs:[]};let t=e.match(/\/providers\/([^/]+)$/);if(t){let e=t[1],a=m.zN[e]||m.fg[e];if(a)return{title:a.name,description:"",breadcrumbs:[{label:"Providers",href:"/dashboard/providers"},{label:a.name,image:(0,h.HY)(a.id)}]}}let a=e.match(/\/media-providers\/systemone\/([^/]+)$/);if(a){let e=decodeURIComponent(a[1]),t=p.Q2[e]||Object.values(p.Q2).find(t=>t.alias===e);if(t)return{title:t.name,description:"",breadcrumbs:[{label:"System One",href:"/dashboard/media-providers/systemone"},{label:t.name,image:(0,h.HY)(t.id)}]}}let r=e.match(/\/cli-tools\/([^/]+)$/);if(r){let e=decodeURIComponent(r[1]),t=x.d[e];if(t)return{title:t.name,description:"",breadcrumbs:[{label:"CLI Tools",href:"/dashboard/cli-tools"},{label:t.name,image:t.image}]}}return e.includes("/media-providers/systemone")?{title:"System One",description:"Decision models — native POST /v1/systemone endpoint",icon:"bolt",breadcrumbs:[]}:e.includes("/providers")?{title:"Providers",description:"Manage your AI provider connections",icon:"dns",breadcrumbs:[]}:e.includes("/combos")?{title:"Combos",description:"Model combos with fallback",icon:"layers",breadcrumbs:[]}:e.includes("/usage")?{title:"Usage & Analytics",description:"Monitor your API usage, token consumption, and request logs",icon:"bar_chart",breadcrumbs:[]}:e.includes("/auth-files")?{title:"Auth Files",description:"Map provider credentials stored in the local database",icon:"vpn_key",breadcrumbs:[]}:e.includes("/quota")?{title:"Quota Tracker",description:"Track and manage your API quota limits",icon:"data_usage",breadcrumbs:[]}:e.includes("/token-saver")?{title:"Token Saver",description:"Compress prompts and outputs to save tokens",icon:"scissors",breadcrumbs:[]}:e.includes("/cli-tools")?{title:"CLI Tools",description:"Configure CLI tools",icon:"terminal",breadcrumbs:[]}:e.includes("/proxy-pools")?{title:"Proxy Pools",description:"Manage your proxy pool configurations",icon:"waypoints",breadcrumbs:[]}:e.includes("/endpoint")?{title:"Endpoint",description:"API endpoint configuration",icon:"api",breadcrumbs:[]}:e.includes("/profile")?{title:"Settings",description:"Manage your preferences",icon:"settings",breadcrumbs:[]}:e.includes("/console-log")?{title:"Console Log",description:"Live server console output",icon:"monitor",breadcrumbs:[]}:"/dashboard"===e?{title:"Endpoint",description:"API endpoint configuration",icon:"api",breadcrumbs:[]}:{title:"",description:"",breadcrumbs:[]}})(a),[a]);(0,i.useEffect)(()=>{let e=!1;return async function(){try{let t=await fetch("/api/auth/status",{cache:"no-store"});if(!t.ok)return;let a=await t.json();e||(u(a?.displayName||a?.samlName||a?.samlEmail||a?.oidcName||a?.oidcEmail||""),v(a?.loginMethod||""))}catch{e||(u(""),v(""))}}(),()=>{e=!0}},[]);let S=async()=>{try{(await fetch("/api/auth/logout",{method:"POST"})).ok&&window.location.assign("/login")}catch(e){console.error("Failed to logout:",e)}};return(0,r.jsxs)("header",{className:"sticky top-0 flex h-20 shrink-0 items-center justify-between gap-3 px-4 lg:px-8 border-b border-border bg-card/60 backdrop-blur-xl lg:bg-transparent lg:backdrop-blur-none z-20",children:[(0,r.jsx)("div",{className:"flex items-center gap-3 lg:hidden shrink-0",children:t&&(0,r.jsx)("button",{onClick:e,className:"text-foreground hover:text-primary transition-colors",children:(0,r.jsx)(s.default,{name:"menu",className:""})})}),(0,r.jsx)("div",{className:"flex flex-col min-w-0 flex-1",children:_.length>0?(0,r.jsx)("div",{className:"flex items-center gap-2",children:_.map((e,t)=>(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[t>0&&(0,r.jsx)(s.default,{name:"chevron_right",className:"text-muted-foreground text-base"}),e.href?(0,r.jsx)(l(),{href:e.href,className:"text-muted-foreground hover:text-primary transition-colors",children:e.label}):(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[e.image&&(0,r.jsx)(d.A,{src:e.image,alt:e.label,size:28,className:"object-contain rounded max-w-[28px] max-h-[28px]",fallbackText:e.label.slice(0,2).toUpperCase()}),(0,r.jsx)("h1",{className:"text-base lg:text-2xl font-semibold text-foreground tracking-tight truncate",children:(0,f.Tl)(e.label)})]})]},`${e.label}-${e.href||"current"}`))}):k?(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[C&&(0,r.jsx)(s.default,{name:C,className:"text-primary text-xl lg:text-2xl"}),(0,r.jsx)("h1",{className:"text-base lg:text-2xl font-semibold tracking-tight truncate",children:(0,f.Tl)(k)})]}),N&&(0,r.jsx)("p",{className:"hidden lg:block text-sm text-muted-foreground truncate",children:(0,f.Tl)(N)})]}):null}),(0,r.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[o&&("OIDC"===b||"SAML"===b)&&(0,r.jsxs)(j.m_,{children:[(0,r.jsx)(j.k$,{asChild:!0,children:(0,r.jsxs)(g.E,{variant:"secondary",className:"hidden max-w-55 sm:inline-flex",children:[(0,r.jsx)(s.default,{name:"person",className:"size-3.5 text-primary"}),(0,r.jsx)("span",{className:"truncate",children:o}),(0,r.jsx)("span",{className:"shrink-0 rounded-full bg-primary/10 px-1.5 py-px text-[10px] font-semibold uppercase tracking-wide text-primary",children:b})]})}),(0,r.jsx)(j.ZI,{children:o})]}),(0,r.jsx)(y,{}),(0,r.jsx)(c.default,{onLogout:S})]})]})}function y(){let e=u(e=>e.visible),t=u(e=>e.query),a=u(e=>e.placeholder),i=u(e=>e.setQuery);return e?(0,r.jsxs)("div",{className:"relative w-40 sm:w-55",children:[(0,r.jsx)(s.default,{name:"search",className:"absolute left-2 top-1/2 -translate-y-1/2 text-muted-foreground size-4 pointer-events-none"}),(0,r.jsx)(v.p,{type:"text",value:t,onChange:e=>i(e.target.value),placeholder:a,className:"h-8 pl-7 pr-7"}),t&&(0,r.jsx)(b.$,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>i(""),className:"absolute right-1 top-1/2 -translate-y-1/2","aria-label":"Clear search",children:(0,r.jsx)(s.default,{name:"close",className:"size-4"})})]}):null}},51660:(e,t,a)=>{a.d(t,{Q2:()=>r.Q2,fg:()=>r.fg,vQ:()=>s,_$:()=>n,MA:()=>r.MA,UY:()=>l,Nu:()=>i,zN:()=>r.zN,B2:()=>o});var r=a(13794);a(80159);let s={name:"10Router Proxy",description:"AI Infrastructure Management",version:"0.1.1"},i={changelogUrl:"/api/changelog"},n=20128,o={storageKey:"theme",defaultTheme:"light"},l={maxLines:500,pollIntervalMs:1e3}},53599:(e,t,a)=>{a.d(t,{default:()=>o});var r=a(29798),s=a(69221),i=a(18055),n=a(3537);function o({isOpen:e,shuttingDown:t,stopped:a,timedOut:l,onClose:d,onConfirm:c}){let u=t&&!a&&!l;return(0,r.jsx)(n.default,{isOpen:e,onClose:d,title:a?"Server Stopped":l?"Still Running":"Close Proxy",size:"sm",closeOnOverlay:!u,footer:a||l?(0,r.jsx)(i.$,{variant:"default",onClick:d,children:"Close"}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.$,{variant:"ghost",onClick:d,disabled:u,children:"Cancel"}),(0,r.jsxs)(i.$,{variant:"destructive",onClick:c,disabled:u,children:[u&&(0,r.jsx)(s.A,{className:"animate-spin"}),u?"Stopping…":"Close"]})]}),children:(0,r.jsx)("p",{className:"text-muted-foreground",children:a?"The proxy server has stopped. You can close this tab now.":l?"The server did not stop in time. It may need a manual stop (10router stop).":"Are you sure you want to close the proxy server?"})})}},53784:(e,t,a)=>{a.d(t,{E:()=>l});var r=a(29798);a(15814);var s=a(54366),i=a(5471),n=a(80954);let o=(0,s.F)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});function l({className:e,variant:t="default",asChild:a=!1,...s}){let d=a?n.bL:"span";return(0,r.jsx)(d,{"data-slot":"badge","data-variant":t,className:(0,i.cn)(o({variant:t}),e),...s})}},56776:(e,t,a)=>{a.d(t,{default:()=>m});var r=a(29798),s=a(58913),i=a(15814),n=a(88336),o=a(63175),l=a(53599),d=a(18055),c=a(1352),u=a(76120);function m({onLogout:e}){let[t,a]=(0,i.useState)(!1),p=(0,o.c)();return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(u.rI,{children:[(0,r.jsxs)(c.m_,{children:[(0,r.jsx)(c.k$,{asChild:!0,children:(0,r.jsx)(u.ty,{asChild:!0,children:(0,r.jsx)(d.$,{variant:"ghost",size:"icon","aria-label":"Settings menu",children:(0,r.jsx)(s.default,{name:"settings",className:"size-5"})})})}),(0,r.jsx)(c.ZI,{children:"Settings"})]}),(0,r.jsxs)(u.SQ,{align:"end",className:"w-60",children:[(0,r.jsx)(u.lp,{children:"System"}),(0,r.jsx)(u.mB,{}),(0,r.jsxs)(u._2,{onSelect:()=>a(!0),children:[(0,r.jsx)(s.default,{name:"history",className:"size-4 text-muted-foreground"}),"Change Log"]}),(0,r.jsx)(u.mB,{}),(0,r.jsxs)(u._2,{variant:"destructive",onSelect:()=>p.open(),children:[(0,r.jsx)(s.default,{name:"power_settings_new",className:"size-4"}),"Shutdown"]}),(0,r.jsxs)(u._2,{variant:"destructive",onSelect:()=>e(),children:[(0,r.jsx)(s.default,{name:"logout",className:"size-4"}),"Logout"]})]})]}),(0,r.jsx)(n.default,{isOpen:t,onClose:()=>a(!1)}),(0,r.jsx)(l.default,{isOpen:p.confirmOpen||p.stopped||p.timedOut,onClose:p.reset,onConfirm:p.confirm,shuttingDown:p.shuttingDown,stopped:p.stopped,timedOut:p.timedOut})]})}},58913:(e,t,a)=>{a.d(t,{default:()=>l});var r=a(29798);a(15814);var s=a(36256);let i={add:"Plus",account_circle:"CircleUser",account_tree:"GitFork",api:"Plug",apps:"LayoutGrid",arrow_back:"ArrowLeft",arrow_downward:"ArrowDown",arrow_forward:"ArrowRight",arrow_upward:"ArrowUp",attach_file:"Paperclip",bar_chart:"BarChart3",block:"Ban",bolt:"Zap",business:"Briefcase",cancel:"X",cast:"Cast",chat:"MessageSquare",check:"Check",check_circle:"CheckCircle2",checklist:"ClipboardCheck",chevron_down:"ChevronDown",chevron_left:"ChevronLeft",chevron_right:"ChevronRight",chevron_up:"ChevronUp",close:"X",cloud:"Cloud",cloud_off:"CloudOff",cloud_sync:"CloudSync",cloud_upload:"CloudUpload",code:"Code2",computer:"Monitor",content_copy:"Copy",cookie:"Cookie",dashboard:"LayoutDashboard",data_array:"Table",data_object:"Braces",data_usage:"BarChart3",dark_mode:"Moon",delete:"Trash2",devices:"MonitorSmartphone",dns:"Network",download:"Download",edit:"Pencil",error:"CircleAlert",expand_more:"ChevronDown",extension:"Blocks",file_upload:"UploadCloud",filter_alt_off:"SlidersHorizontal",folder_open:"FolderOpen",gavel:"Scale",graphic_eq:"AudioWaveform",grid_view:"Grid2X2",group:"Users",help:"CircleHelp",history:"History",hourglass_top:"Timer",hub:"Router",image:"Image",image_search:"ScanSearch",info:"Info",input:"FileInput",key:"Key",keyboard_arrow_down:"ArrowDown",keyboard_arrow_up:"ArrowUp",lan:"Layers",language:"Languages",layers:"Layers",legend_toggle:"ListTree",light_mode:"Sun",link:"Link",link_off:"Link2Off",lock:"Lock",lock_open:"LockOpen",logout:"LogOut",menu:"Menu",menu_book:"BookOpen",mic:"Mic",monitoring:"Activity",monitor:"Monitor",movie:"Clapperboard",music_note:"Music",neurology:"Brain",open_in_new:"ExternalLink",output:"FileOutput",pause_circle:"CirclePause",person:"User",play_arrow:"Play",play_circle:"CirclePlay",playlist_add:"ListPlus",power:"Power",power_off:"PowerOff",power_settings_new:"Power",progress_activity:"Loader2",psychology:"BrainCircuit",public:"Earth",qr_code_scanner:"ScanQrCode",record_voice_over:"Mic",refresh:"RefreshCw",restart_alt:"RotateCcw",restore:"RotateCcw",rocket_launch:"Rocket",route:"Route",save:"Save",savings:"PiggyBank",scatter_plot:"ScatterChart",schedule:"Clock",science:"FlaskConical",search:"Search",search_off:"SearchX",security:"ShieldCheck",send:"Send",settings:"Settings",shield:"Shield",shield_lock:"ShieldCheck",shield_with_heart:"HeartPulse",smart_toy:"Bot",star:"Star",stop:"Square",stop_circle:"CircleStop",sync:"RefreshCw",sync_alt:"RefreshCw",terminal:"Terminal",toggle_off:"ToggleLeft",toggle_on:"ToggleRight",translate:"Languages",travel_explore:"Music4",upload:"Upload",upload_file:"UploadCloud",verified:"BadgeCheck",verified_user:"ShieldCheck",visibility:"Eye",visibility_off:"EyeOff",vpn_key:"KeyRound",vpn_lock:"Lock",warning:"TriangleAlert",wifi:"Wifi",wifi_off:"WifiOff",wifi_tethering:"Wifi"};function n(e){if("number"==typeof e&&Number.isFinite(e))return e;if("string"==typeof e){let t=e.trim().match(/^(\d+(?:\.\d+)?)px$/);if(t)return Number(t[1])}return null}function o({name:e="",className:t,style:a,...l}){let d=s[e]??s[i[e]||String(e).split(/[^a-zA-Z0-9]+/).filter(Boolean).map(e=>e[0].toUpperCase()+e.slice(1)).join("")]??s.Circle,c=function(e=""){let t=String(e).match(/\[(\d+(?:\.\d+)?)px\]/);return t?Number(t[1]):({"text-xs":12,"text-sm":14,"text-base":16,"text-lg":18,"text-xl":20,"text-2xl":24,"text-3xl":30,"text-4xl":36})[String(e).match(/\btext-(xs|sm|base|lg|xl|2xl|3xl|4xl)\b/)?.[0]]||null}(t)??(a&&"object"==typeof a?n(a.width)??n(a.height)??n(a.fontSize):null),u=c?{width:c,height:c}:void 0,m=String(t??"").replace(/\bmaterial-symbols-outlined\b/g,"").replace(/\bfill-1\b/g,"").replace(/\s+/g," ").trim();return(0,r.jsx)(d,{className:m,style:u?{...u,...a}:a,"aria-hidden":"true",...l})}function l({name:e,className:t,style:a}){return(0,r.jsx)(o,{name:e,className:t,style:a})}},63175:(e,t,a)=>{a.d(t,{c:()=>s});var r=a(15814);function s(){let[e,t]=(0,r.useState)(!1),[a,s]=(0,r.useState)(!1),[i,n]=(0,r.useState)(!1),[o,l]=(0,r.useState)(!1),d=(0,r.useRef)([]);(0,r.useEffect)(()=>()=>d.current.forEach(clearTimeout),[]);let c=(0,r.useCallback)(async()=>{let e=Date.now()+15e3;for(;Date.now()<e;){try{if(!(await fetch("/api/health",{cache:"no-store"})).ok)break}catch{break}await new Promise(e=>{let t=setTimeout(e,1e3);d.current.push(t)})}Date.now()>=e-1e3?l(!0):n(!0)},[]),u=(0,r.useCallback)(async()=>{s(!0);try{await fetch("/api/version/shutdown",{method:"POST"})}catch{}t(!1),c()},[c]),m=(0,r.useCallback)(()=>{l(!1),n(!1),t(!0)},[]),p=(0,r.useCallback)(()=>{t(!1),s(!1),n(!1),l(!1)},[]);return(0,r.useEffect)(()=>{(i||o)&&s(!1)},[i,o]),{confirmOpen:e,shuttingDown:a,stopped:i,timedOut:o,open:m,confirm:u,reset:p}}},63729:(e,t,a)=>{a.d(t,{HY:()=>n,IM:()=>m,Kw:()=>o,uM:()=>u});let r={antigravity:"gemini","perplexity-agent":"perplexity","gitlab-duo":"gitlab","vercel-ai-gateway":"vercel","ollama-search":"ollama","opencode-zen":"opencode"},s=new Set;function i(e){return e&&"string"==typeof e?e.trim().toLowerCase():""}function n(e){let t=function(e){let t=i(e);if(!t||s.has(t))return"";let a=r[t]||t;return s.has(a)?"":a}(e);return t?`/providers/${t}.png`:null}function o(e){let t=i(e);t&&s.add(t);let a=r[t];a&&s.add(a)}let l=new Set(["www","api","apis","rest","rpc","gateway","proxy","llm","chat","v1","v2","ai","app","dev","cloud","com","net","org","io","co","us","eu","cn"]),d={generativelanguage:"gemini",googleapis:"gemini",x:"xai"},c=new Set(["agentrouter","alicode","alicode-intl","alims-intl","alitp-intl","amp","anthropic","api-airforce","assemblyai","aws-polly","azure","baidu","bazaarlink","black-forest-labs","blackbox","bluesminds","brave-search","byteplus","cartesia","cerebras","chutes","claude","clinepass","codebuddy-cn","codebuddy-intl","codex","cohere","comfyui","commandcode","continue","coqui","cursor","deepgram","deepseek","deepseek-tui","devin-cli","droid","edge-tts","elevenlabs","exa","fal-ai","featherless","firecrawl","fireworks","fish-audio","gemini","github","gitlab","glm","glm-cn","google-pse","google-tts","grok-cli","grok-web","groq","hermes","huggingface","hyperbolic","iflow","inworld","jcode","jina-ai","jina-reader","kilo-gateway","kilocode","kimchi","linkup","llm7","local-device","longcat","mimo-free","minimax","minimax-cn","mistral","mmf","morph","nanobanana","nebius","novita","nvidia","ollama","ollama-local","openai","openclaw","opencode","opencode-go","opendesign","openrouter","perplexity","perplexity-agent","perplexity-web","playht","poolside","qoder","qwen","recraft","reka","roo","runwayml","sambanova","sdwebui","searchapi","searxng","selfhosted-embedding","selfhosted-stt","selfhosted-tts","serper","siliconflow","stability-ai","tavily","tencent","together","tokenrouter","topaz","tortoise","trae","venice","vercel","vercel-ai-gateway","volcengine-ark","voyage-ai","windsurf","workbuddy","xai","xiaomi-mimo","xiaomi-tokenplan","xquik","youcom","zed"]);function u(e){let t="";try{t=new URL(String(e||"")).hostname.toLowerCase()}catch{return""}if(!t||"localhost"===t||t.startsWith("127.")||t.includes(":")||t.startsWith("[")||/^\d+\.\d+\.\d+\.\d+$/.test(t))return"";let a=t.split(".").filter(Boolean).find(e=>!l.has(e)&&!/^\d+$/.test(e));if(!a)return"";let s=d[a]||r[a]||a;return c.has(s)?s:""}function m(e){let t=String(e||"").trim().split(/\s+/).filter(Boolean);return t.length?1===t.length?t[0].slice(0,2).toUpperCase():`${t[0][0]}${t[t.length-1][0]}`.toUpperCase():""}},72778:(e,t,a)=>{a.d(t,{default:()=>s});var r=a(29798);function s({children:e}){return(0,r.jsxs)("div",{className:"min-h-screen flex flex-col relative bg-background transition-colors duration-500 overflow-x-hidden selection:bg-primary/20 selection:text-foreground",children:[(0,r.jsx)("div",{className:"fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[800px] h-[800px] bg-primary/5 dark:bg-primary/5 rounded-full blur-[100px] pointer-events-none z-0"}),(0,r.jsx)("div",{className:"fixed bottom-0 right-0 w-[600px] h-[600px] bg-orange-200/20 dark:bg-orange-900/10 rounded-full blur-[120px] pointer-events-none z-0 translate-y-1/3 translate-x-1/3"}),(0,r.jsx)("main",{className:"flex-1 flex flex-col items-center justify-center p-4 sm:p-6 z-10 w-full h-full",children:e})]})}},76120:(e,t,a)=>{a.d(t,{SQ:()=>l,_2:()=>d,lp:()=>c,mB:()=>u,rI:()=>n,ty:()=>o});var r=a(29798);a(15814);var s=a(5471),i=a(47151);function n({...e}){return(0,r.jsx)(i.bL,{"data-slot":"dropdown-menu",...e})}function o({...e}){return(0,r.jsx)(i.l9,{"data-slot":"dropdown-menu-trigger",...e})}function l({className:e,align:t="start",sideOffset:a=4,...n}){return(0,r.jsx)(i.ZL,{children:(0,r.jsx)(i.UC,{"data-slot":"dropdown-menu-content",sideOffset:a,align:t,className:(0,s.cn)("z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:overflow-hidden data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",e),...n})})}function d({className:e,inset:t,variant:a="default",...n}){return(0,r.jsx)(i.q7,{"data-slot":"dropdown-menu-item","data-inset":t,"data-variant":a,className:(0,s.cn)("group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive",e),...n})}function c({className:e,inset:t,...a}){return(0,r.jsx)(i.JU,{"data-slot":"dropdown-menu-label","data-inset":t,className:(0,s.cn)("px-2 py-1.5 text-xs font-medium text-muted-foreground data-inset:pl-8",e),...a})}function u({className:e,...t}){return(0,r.jsx)(i.wv,{"data-slot":"dropdown-menu-separator",className:(0,s.cn)("-mx-1 my-1 h-px bg-border",e),...t})}},88336:(e,t,a)=>{a.d(t,{default:()=>d});var r=a(29798),s=a(58913),i=a(15814),n=a(62392),o=a(51660),l=a(49787);function d({isOpen:e,onClose:t}){let[a,c]=(0,i.useState)(""),[u,m]=(0,i.useState)(!1),[p,x]=(0,i.useState)(!1),[h,f]=(0,i.useState)("");(0,i.useEffect)(()=>{e&&!a&&(x(!0),f(""),fetch(o.Nu.changelogUrl).then(e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);return e.text()}).then(e=>c(e)).catch(e=>f(e.message||"Failed to load")).finally(()=>x(!1)))},[e,a]);let g=a?a.split(/(?=^## )/m).filter(e=>e.startsWith("## ")):[],b=u?g:g.slice(0,3),v=g.length-b.length,j=b.length?n.xI.parse(b.join("\n")):"";return(0,r.jsx)(l.lG,{open:!!e,onOpenChange:e=>!e&&t?.(),children:(0,r.jsxs)(l.Cf,{className:"sm:max-w-3xl",children:[(0,r.jsx)(l.c7,{children:(0,r.jsx)(l.L3,{children:"Change Log"})}),(0,r.jsxs)("div",{className:"max-h-[75vh] overflow-y-auto p-6",children:[p&&(0,r.jsxs)("div",{className:"flex items-center justify-center py-10 text-muted-foreground",children:[(0,r.jsx)(s.default,{name:"progress_activity",className:"animate-spin mr-2"}),"Loading..."]}),h&&(0,r.jsxs)("div",{className:"text-red-500 py-4",children:["Failed to load changelog: ",h]}),!p&&!h&&j&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"changelog-body text-foreground",dangerouslySetInnerHTML:{__html:j}}),v>0&&(0,r.jsxs)("button",{onClick:()=>m(!0),className:"mt-4 w-full py-2 rounded-lg text-sm font-medium text-foreground bg-black/5 dark:bg-white/5 hover:bg-black/10 dark:hover:bg-white/10 transition-colors",children:["Show ",v," more"]})]})]})]})})}n.xI.setOptions({gfm:!0,breaks:!0})},90046:(e,t,a)=>{a.d(t,{d:()=>r});let r={claude:{id:"claude",name:"Claude Code",image:"/providers/claude.png",color:"#D97757",description:"Anthropic Claude Code CLI",configType:"env",envVars:{baseUrl:"ANTHROPIC_BASE_URL",model:"ANTHROPIC_MODEL",opusModel:"ANTHROPIC_DEFAULT_OPUS_MODEL",sonnetModel:"ANTHROPIC_DEFAULT_SONNET_MODEL",fableModel:"ANTHROPIC_DEFAULT_FABLE_MODEL",haikuModel:"ANTHROPIC_DEFAULT_HAIKU_MODEL"},modelAliases:["default","sonnet","opus","fable","haiku","opusplan"],settingsFile:"~/.claude/settings.json",defaultModels:[{id:"fable",name:"Claude Fable",alias:"fable",envKey:"ANTHROPIC_DEFAULT_FABLE_MODEL",defaultValue:"cc/claude-fable-5"},{id:"opus",name:"Claude Opus",alias:"opus",envKey:"ANTHROPIC_DEFAULT_OPUS_MODEL",defaultValue:"cc/claude-opus-5"},{id:"sonnet",name:"Claude Sonnet",alias:"sonnet",envKey:"ANTHROPIC_DEFAULT_SONNET_MODEL",defaultValue:"cc/claude-sonnet-5"},{id:"haiku",name:"Claude Haiku",alias:"haiku",envKey:"ANTHROPIC_DEFAULT_HAIKU_MODEL",defaultValue:"cc/claude-haiku-4-5-20251001"}]},codex:{id:"codex",name:"OpenAI Codex CLI / App",image:"/providers/codex.png",color:"#10A37F",description:"OpenAI Codex CLI",configType:"custom"},opencode:{id:"opencode",name:"OpenCode",image:"/providers/opencode.png",color:"#E87040",description:"OpenCode AI Terminal Assistant",configType:"custom"},cowork:{id:"cowork",name:"Claude Cowork",image:"/providers/claude.png",color:"#D97757",description:"Claude Desktop Cowork (third-party inference)",configType:"custom"},dsh:{id:"dsh",name:"DSH - DeepSeek Harness",image:"/providers/deepseek.png",color:"#4D6BFE",description:"DeepSeek Harness (dsh web) provider",configType:"custom"},cursor:{id:"cursor",name:"Cursor",image:"/providers/cursor.png",color:"#000000",description:"Cursor AI Code Editor",configType:"guide",requiresExternalUrl:!0,notes:[{type:"warning",text:"Requires Cursor Pro account to use this feature."},{type:"cloudCheck",text:"Cursor routes requests through its own server, so local endpoint is not supported. Please enable Tunnel or Cloud Endpoint in Settings."}],guideSteps:[{step:1,title:"Open Settings",desc:"Go to Settings → Models"},{step:2,title:"Enable OpenAI API",desc:'Enable "OpenAI API key" option'},{step:3,title:"Base URL",value:"{{baseUrl}}",copyable:!0},{step:4,title:"API Key",type:"apiKeySelector"},{step:5,title:"Add Custom Model",desc:'Click "View All Model" → "Add Custom Model"'},{step:6,title:"Select Model",type:"modelSelector"}]}}},99118:(e,t,a)=>{a.d(t,{E:()=>i});var r=a(29798),s=a(5471);function i({className:e,...t}){return(0,r.jsx)("div",{"data-slot":"skeleton",className:(0,s.cn)("animate-pulse rounded-md bg-muted",e),...t})}}}]);
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1278],{738:(e,t,a)=>{a.d(t,{A:()=>n});var r=a(29798),s=a(15814),i=a(63729);function n({src:e,providerId:t,alt:a,size:o=32,className:l="",fallbackText:d="?",fallbackColor:c}){let u=function(e,t){if(t)return(0,i.HY)(t);if(!e)return null;let a=String(e).match(/^\/providers\/([^/]+)\.png$/i);return a?(0,i.HY)(a[1]):e}(e,t),[m,p]=(0,s.useState)(!1);return!u||m?(0,r.jsx)("span",{className:`inline-flex items-center justify-center font-bold rounded-lg ${l}`.trim(),style:{width:o,height:o,color:c,fontSize:Math.max(10,Math.floor(.38*o))},children:d}):(0,r.jsx)("img",{src:u,alt:a,width:o,height:o,className:l,loading:"lazy",decoding:"async",onError:()=>{let e=u.match(/^\/providers\/([^/]+)\.png$/i);e&&(0,i.Kw)(e[1]),t&&(0,i.Kw)(t),p(!0)}})}},3537:(e,t,a)=>{a.d(t,{ConfirmModal:()=>u,default:()=>c});var r=a(29798),s=a(15814),i=a(69221),n=a(13008),o=a(18055),l=a(49787);let d={sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl",full:"max-w-4xl"};function c({isOpen:e,onClose:t,title:a,children:i,footer:o,size:u="md",closeOnOverlay:m=!0,className:p}){return(0,s.useEffect)(()=>(e?document.body.style.overflow="hidden":document.body.style.overflow="",()=>{document.body.style.overflow=""}),[e]),(0,r.jsx)(l.lG,{open:!!e,onOpenChange:e=>{e||t()},children:(0,r.jsxs)(l.Cf,{className:(0,n.cn)(d[u],p),onPointerDownOutside:m?void 0:e=>e.preventDefault(),onInteractOutside:m?void 0:e=>e.preventDefault(),children:[a&&(0,r.jsx)(l.c7,{children:(0,r.jsx)(l.L3,{children:a})}),(0,r.jsx)("div",{className:"max-h-[calc(85vh-100px)] overflow-y-auto p-4",children:i}),o&&(0,r.jsx)(l.Es,{children:o})]})})}function u({isOpen:e,onClose:t,onConfirm:a,title:s="Confirm",message:n,confirmText:l="Confirm",cancelText:d="Cancel",variant:m="danger",loading:p=!1}){return(0,r.jsx)(c,{isOpen:e,onClose:t,title:s,size:"sm",footer:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(o.$,{variant:"ghost",onClick:t,disabled:p,children:d}),(0,r.jsxs)(o.$,{variant:"danger"===m?"destructive":"primary"===m?"default":m,onClick:a,disabled:p,children:[p&&(0,r.jsx)(i.A,{className:"animate-spin"}),l]})]}),children:(0,r.jsx)("p",{className:"text-muted-foreground",children:n})})}},13008:(e,t,a)=>{a.d(t,{cn:()=>s});var r=a(5471);function s(...e){return(0,r.cn)(...e)}},16675:(e,t,a)=>{a.d(t,{default:()=>em});var r=a(29798),s=a(58913),i=a(70782),n=a(41671),o=a(42535),l=a(15814),d=a(16653),c=a(50141),u=a.n(c),m=a(51660),p=a(1352),x=a(69221),h=a(53784),f=a(18055),g=a(75669),b=a(49787),v=a(63523),j=a(63175);let w=["docker compose pull","docker compose up -d"],y=["docker pull ghcr.io/amir83nasr/10router:latest","docker stop 10router && docker rm 10router",'docker run -d --name 10router -p 20128:20128 -v "$HOME/.10router:/app/data" -e DATA_DIR=/app/data ghcr.io/amir83nasr/10router:latest'],k=["git pull","pnpm install","pnpm run build && PORT=20128 pnpm run start"];function N({id:e,steps:t}){let{copied:a,copy:i}=(0,v.C)();return(0,r.jsx)("ol",{className:"flex flex-col gap-1.5",children:t.map((t,n)=>{let o=`${e}-${n}`,l=a===o;return(0,r.jsxs)("li",{className:"flex items-center gap-2 text-sm",children:[(0,r.jsx)("span",{className:"flex size-5 shrink-0 items-center justify-center rounded-full bg-muted text-[11px] font-medium text-muted-foreground",children:n+1}),(0,r.jsx)("code",{className:"min-w-0 flex-1 rounded bg-muted px-2 py-1 font-mono text-xs break-all",children:t}),(0,r.jsx)(f.$,{variant:"ghost",size:"icon-xs",onClick:()=>i(t,o),"aria-label":`Copy step ${n+1}: ${t}`,children:(0,r.jsx)(s.default,{name:l?"check":"content_copy",className:"size-3.5"})})]},o)})})}function C({title:e,icon:t,id:a,steps:i}){return(0,r.jsxs)("details",{className:"group rounded-lg border border-border",children:[(0,r.jsxs)("summary",{className:"flex cursor-pointer list-none items-center gap-2 px-3 py-2 text-sm font-medium text-foreground [&::-webkit-details-marker]:hidden",children:[(0,r.jsx)(s.default,{name:t,className:"size-4 shrink-0 text-muted-foreground"}),(0,r.jsx)("span",{className:"flex-1",children:e}),(0,r.jsx)(s.default,{name:"expand_more",className:"size-4 shrink-0 text-muted-foreground transition-transform group-open:rotate-180"})]}),(0,r.jsx)("div",{className:"px-3 py-2",children:(0,r.jsx)(N,{id:a,steps:i})})]})}function _(){return(0,r.jsxs)("details",{className:"group flex flex-col gap-2 rounded-lg border border-border p-3",children:[(0,r.jsxs)("summary",{className:"flex cursor-pointer list-none items-center gap-2 text-sm font-medium text-foreground [&::-webkit-details-marker]:hidden",children:[(0,r.jsx)(s.default,{name:"terminal",className:"size-4 shrink-0 text-muted-foreground"}),(0,r.jsx)("span",{className:"flex-1",children:"Other install methods"}),(0,r.jsx)(s.default,{name:"expand_more",className:"size-4 shrink-0 text-muted-foreground transition-transform group-open:rotate-180"})]}),(0,r.jsxs)("div",{className:"flex flex-col gap-2 py-2",children:[(0,r.jsx)(C,{title:"Docker Compose",icon:"lan",id:"compose",steps:w}),(0,r.jsx)(C,{title:"Plain Docker run",icon:"dns",id:"docker",steps:y}),(0,r.jsx)(C,{title:"From source",icon:"code",id:"source",steps:k})]})]})}function S(){let{copied:e,copy:t}=(0,v.C)(),a=(0,j.c)(),i="npm i -g @amir83nasr/10router@latest",n="npm-0",o=e===n;return(0,r.jsxs)(g.Zp,{size:"sm",className:"border-primary/30 bg-primary/5",children:[(0,r.jsx)(g.aR,{children:(0,r.jsxs)(g.ZB,{className:"flex items-center gap-2",children:[(0,r.jsx)(s.default,{name:"upload",className:"size-4 shrink-0 text-primary"}),"npm ",(0,r.jsx)(h.E,{variant:"default",children:"recommended"})]})}),(0,r.jsxs)(g.Wu,{children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,r.jsx)("code",{className:"min-w-0 flex-1 rounded bg-muted px-2 py-1 font-mono text-xs break-all",children:i}),(0,r.jsx)(f.$,{variant:"ghost",size:"icon-xs",onClick:()=>t(i,n),"aria-label":`Copy: ${i}`,children:(0,r.jsx)(s.default,{name:o?"check":"content_copy",className:"size-3.5"})})]}),o&&!a.stopped&&!a.timedOut&&(0,r.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,r.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Copied. Stop the server, paste the command in your terminal, then run"," ",(0,r.jsx)("code",{className:"rounded bg-muted px-1 font-mono",children:"10router start"}),"."]}),(0,r.jsxs)(f.$,{variant:"destructive",size:"sm",className:"self-start",onClick:a.confirm,disabled:a.shuttingDown,children:[a.shuttingDown?(0,r.jsx)(x.A,{className:"animate-spin"}):(0,r.jsx)(s.default,{name:"power_settings_new",className:"size-4"}),a.shuttingDown?"Stopping…":"Stop server"]})]}),a.stopped&&(0,r.jsxs)("p",{className:"rounded-lg border border-green-500/30 bg-green-500/10 px-3 py-2 text-xs text-green-600 dark:text-green-400",children:["Server stopped — run the copied command in your terminal, then"," ",(0,r.jsx)("code",{className:"font-mono",children:"10router start"}),"."]}),a.timedOut&&(0,r.jsxs)("p",{className:"rounded-lg border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-xs text-amber-600 dark:text-amber-400",children:["The server did not stop in time — stop it manually (",(0,r.jsx)("code",{className:"font-mono",children:"10router stop"}),"), then run the copied command."]})]})]})}function z({open:e,onOpenChange:t,info:a,checkFailed:i,onRetry:n}){let o=a?a.hasUpdate?(0,r.jsxs)("p",{className:"rounded-lg border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-sm text-amber-600 dark:text-amber-400",children:["New version v",a.latestVersion," available (you run v",a.currentVersion,"). npm is the fastest way — or run the steps for your install method, in order:"]}):(0,r.jsxs)("p",{className:"rounded-lg border border-green-500/30 bg-green-500/10 px-3 py-2 text-sm text-green-600 dark:text-green-400",children:["Up to date — v",a.currentVersion," is the latest."]}):(0,r.jsx)("p",{className:"rounded-lg border border-border bg-muted/50 px-3 py-2 text-sm text-muted-foreground",children:i?"Could not reach GitHub to check for updates — the manual steps below still work.":"Checking for updates…"});return(0,r.jsx)(b.lG,{open:e,onOpenChange:t,children:(0,r.jsxs)(b.Cf,{className:"sm:max-w-lg",children:[(0,r.jsxs)(b.c7,{children:[(0,r.jsx)(b.L3,{children:"Updates"}),(0,r.jsx)(b.rr,{children:a?`Current v${a.currentVersion} \xb7 latest v${a.latestVersion}`:"Compare your version against the latest release"})]}),(0,r.jsxs)("div",{className:"flex max-h-[70vh] flex-col gap-4 overflow-y-auto p-4",children:[o,(0,r.jsx)(S,{}),(0,r.jsx)(_,{})]}),(0,r.jsxs)(b.Es,{children:[(0,r.jsxs)(f.$,{variant:"ghost",onClick:n,children:[(0,r.jsx)(s.default,{name:"refresh",className:"size-4"}),"Check again"]}),(0,r.jsx)(f.$,{variant:"outline",onClick:()=>t(!1),children:"Close"})]})]})})}var O=a(13008);function A({collapsed:e}){let[t,a]=(0,l.useState)(null),[i,n]=(0,l.useState)(!1),[o,d]=(0,l.useState)(!1),c=(0,l.useCallback)(async()=>{try{let e=await fetch("/api/version",{cache:"no-store"});if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();a({currentVersion:t?.currentVersion??m.vQ.version,latestVersion:t?.latestVersion??m.vQ.version,hasUpdate:!!t?.hasUpdate}),n(!1)}catch{n(!0)}},[]);(0,l.useEffect)(()=>{c();let e=setInterval(c,18e5);return()=>clearInterval(e)},[c]);let u=t?.hasUpdate??!1,x=u?`v${t?.latestVersion} available`:t?`v${t.currentVersion} \xb7 up to date`:`v${m.vQ.version}`,h=e?(0,r.jsxs)(p.m_,{children:[(0,r.jsx)(p.k$,{asChild:!0,children:u?(0,r.jsxs)("button",{type:"button",onClick:()=>d(!0),"aria-label":`Update available. ${x}`,className:"relative mx-auto flex size-8 items-center justify-center rounded-md bg-amber-500/15 text-amber-600 transition-colors hover:bg-amber-500/25 dark:text-amber-400",children:[(0,r.jsx)(s.default,{name:"download",className:"size-4"}),(0,r.jsx)("span",{className:"absolute right-1.5 top-1.5 size-1.5 rounded-full bg-amber-500"})]}):(0,r.jsx)("span",{className:"mx-auto flex size-8 items-center justify-center rounded-md text-muted-foreground",children:(0,r.jsx)(s.default,{name:"refresh",className:"size-4"})})}),(0,r.jsx)(p.ZI,{children:u?`${x} — click to update`:x})]}):u?(0,r.jsxs)("button",{type:"button",onClick:()=>d(!0),className:"flex w-full items-center gap-2 rounded-md bg-amber-500/15 px-1 py-1 text-left transition-colors hover:bg-amber-500/25","aria-label":`Update available. ${x}`,children:[(0,r.jsxs)("span",{className:"relative flex shrink-0 items-center text-muted-foreground",children:[(0,r.jsx)(s.default,{name:"download",className:"size-4"}),(0,r.jsx)("span",{className:"absolute -right-0.5 -top-0.5 size-1.5 rounded-full bg-amber-500"})]}),(0,r.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,r.jsxs)("span",{className:"block truncate text-[11px] text-muted-foreground",children:[m.vQ.name," v",t?.currentVersion??m.vQ.version]}),(0,r.jsx)("span",{className:"block truncate text-[11px] font-medium text-amber-600 dark:text-amber-400",children:x})]}),(0,r.jsx)(s.default,{name:"chevron_right",className:"size-3.5 shrink-0 text-muted-foreground"})]}):(0,r.jsxs)("div",{className:"flex w-full items-center gap-2 rounded-md px-1 py-1 text-left",children:[(0,r.jsx)("span",{className:"flex shrink-0 items-center text-muted-foreground",children:(0,r.jsx)(s.default,{name:"refresh",className:"size-4"})}),(0,r.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,r.jsxs)("span",{className:"block truncate text-[11px] text-muted-foreground",children:[m.vQ.name," v",t?.currentVersion??m.vQ.version]}),(0,r.jsx)("span",{className:(0,O.cn)("block truncate text-[11px] font-medium",i||!t?"text-muted-foreground":"text-green-600 dark:text-green-400"),children:x})]})]});return(0,r.jsxs)(r.Fragment,{children:[h,(0,r.jsx)(z,{open:o&&u,onOpenChange:d,info:t,checkFailed:i,onRetry:c})]})}var L=a(54366),E=a(5471),T=a(80954);a(77345);var P=a(73639);function I({className:e,orientation:t="horizontal",decorative:a=!0,...s}){return(0,r.jsx)(P.b,{"data-slot":"separator",decorative:a,orientation:t,className:(0,E.cn)("shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",e),...s})}var $=a(69260),M=a(6403);function D({...e}){return(0,r.jsx)($.bL,{"data-slot":"sheet",...e})}function U({...e}){return(0,r.jsx)($.ZL,{"data-slot":"sheet-portal",...e})}function R({className:e,...t}){return(0,r.jsx)($.hJ,{"data-slot":"sheet-overlay",className:(0,E.cn)("fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...t})}function F({className:e,children:t,side:a="right",showCloseButton:s=!0,...i}){return(0,r.jsxs)(U,{children:[(0,r.jsx)(R,{}),(0,r.jsxs)($.UC,{"data-slot":"sheet-content","data-side":a,className:(0,E.cn)("fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10",e),...i,children:[t,s&&(0,r.jsx)($.bm,{"data-slot":"sheet-close",asChild:!0,children:(0,r.jsxs)(f.$,{variant:"ghost",className:"absolute top-4 right-4",size:"icon-sm",children:[(0,r.jsx)(M.A,{}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]})})]})]})}function H({className:e,...t}){return(0,r.jsx)("div",{"data-slot":"sheet-header",className:(0,E.cn)("flex flex-col gap-1.5 p-4",e),...t})}function B({className:e,...t}){return(0,r.jsx)($.hE,{"data-slot":"sheet-title",className:(0,E.cn)("font-heading font-medium text-foreground",e),...t})}function V({className:e,...t}){return(0,r.jsx)($.VY,{"data-slot":"sheet-description",className:(0,E.cn)("text-sm text-muted-foreground",e),...t})}a(99118);let q=l.createContext(null);function Q(){let e=l.useContext(q);if(!e)throw Error("useSidebar must be used within a SidebarProvider.");return e}function K({defaultOpen:e=!0,open:t,onOpenChange:a,className:s,style:i,children:n,...o}){let d=function(){let[e,t]=l.useState(void 0);return l.useEffect(()=>{let e=window.matchMedia("(max-width: 767px)"),a=()=>{t(window.innerWidth<768)};return e.addEventListener("change",a),t(window.innerWidth<768),()=>e.removeEventListener("change",a)},[]),!!e}(),[c,u]=l.useState(!1),[m,p]=l.useState(e),x=t??m,h=l.useCallback(e=>{let t="function"==typeof e?e(x):e;a?a(t):p(t),document.cookie=`sidebar_state=${t}; path=/; max-age=604800`},[a,x]),f=l.useCallback(()=>d?u(e=>!e):h(e=>!e),[d,h,u]);l.useEffect(()=>{let e=e=>{"b"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),f())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[f]);let g=x?"expanded":"collapsed",b=l.useMemo(()=>({state:g,open:x,setOpen:h,isMobile:d,openMobile:c,setOpenMobile:u,toggleSidebar:f}),[g,x,h,d,c,u,f]);return(0,r.jsx)(q.Provider,{value:b,children:(0,r.jsx)("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":"16rem","--sidebar-width-icon":"3rem",...i},className:(0,E.cn)("group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar",s),...o,children:n})})}function W({side:e="left",variant:t="sidebar",collapsible:a="offcanvas",className:s,children:i,dir:n,...o}){let{isMobile:l,state:d,openMobile:c,setOpenMobile:u}=Q();return"none"===a?(0,r.jsx)("div",{"data-slot":"sidebar",className:(0,E.cn)("flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground",s),...o,children:i}):l?(0,r.jsx)(D,{open:c,onOpenChange:u,...o,children:(0,r.jsxs)(F,{dir:n,"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":"18rem"},side:e,children:[(0,r.jsxs)(H,{className:"sr-only",children:[(0,r.jsx)(B,{children:"Sidebar"}),(0,r.jsx)(V,{children:"Displays the mobile sidebar."})]}),(0,r.jsx)("div",{className:"flex h-full w-full flex-col",children:i})]})}):(0,r.jsxs)("div",{className:"group peer hidden text-sidebar-foreground md:block","data-state":d,"data-collapsible":"collapsed"===d?a:"","data-variant":t,"data-side":e,"data-slot":"sidebar",children:[(0,r.jsx)("div",{"data-slot":"sidebar-gap",className:(0,E.cn)("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180","floating"===t||"inset"===t?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),(0,r.jsx)("div",{"data-slot":"sidebar-container","data-side":e,className:(0,E.cn)("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear data-[side=left]:left-0 data-[side=left]:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)] data-[side=right]:right-0 data-[side=right]:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)] md:flex","floating"===t||"inset"===t?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",s),...o,children:(0,r.jsx)("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"flex size-full min-w-0 flex-col overflow-x-hidden bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 group-data-[variant=floating]:ring-sidebar-border",children:i})})]})}function Z({className:e,...t}){return(0,r.jsx)("main",{"data-slot":"sidebar-inset",className:(0,E.cn)("relative flex w-full flex-1 flex-col bg-background md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",e),...t})}function G({className:e,...t}){return(0,r.jsx)("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:(0,E.cn)("flex flex-col gap-2 p-2",e),...t})}function Y({className:e,...t}){return(0,r.jsx)("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:(0,E.cn)("flex flex-col gap-2 p-2",e),...t})}function X({className:e,...t}){return(0,r.jsx)(I,{"data-slot":"sidebar-separator","data-sidebar":"separator",className:(0,E.cn)("mx-2 w-auto bg-sidebar-border",e),...t})}function J({className:e,...t}){return(0,r.jsx)("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:(0,E.cn)("flex min-h-0 w-full min-w-0 flex-1 flex-col gap-2 overflow-x-hidden overflow-y-auto group-data-[collapsible=icon]:overflow-hidden",e),...t})}function ee({className:e,...t}){return(0,r.jsx)("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:(0,E.cn)("relative flex w-full min-w-0 flex-col p-2",e),...t})}function et({className:e,asChild:t=!1,...a}){let s=t?T.bL:"div";return(0,r.jsx)(s,{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:(0,E.cn)("flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",e),...a})}function ea({className:e,...t}){return(0,r.jsx)("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:(0,E.cn)("flex w-full min-w-0 flex-col gap-1",e),...t})}function er({className:e,...t}){return(0,r.jsx)("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:(0,E.cn)("group/menu-item relative",e),...t})}let es=(0,L.F)("peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground [&_svg]:size-4 [&_svg]:shrink-0 [&>span:last-child]:truncate",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_var(--sidebar-border)] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_var(--sidebar-accent)]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function ei({asChild:e=!1,isActive:t=!1,variant:a="default",size:s="default",tooltip:i,className:n,...o}){let l=e?T.bL:"button",{isMobile:d,state:c}=Q(),u=(0,r.jsx)(l,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":s,"data-active":t,className:(0,E.cn)(es({variant:a,size:s}),n),...o});return i?("string"==typeof i&&(i={children:i}),(0,r.jsxs)(p.m_,{children:[(0,r.jsx)(p.k$,{asChild:!0,children:u}),(0,r.jsx)(p.ZI,{side:"right",align:"center",hidden:"collapsed"!==c||d,...i})]})):u}let en=[{id:"endpoint",href:"/dashboard",label:"Endpoint & Key",icon:"api",match:e=>"/dashboard"===e||e.startsWith("/dashboard/endpoint")},{id:"providers",href:"/dashboard/providers",label:"Providers",icon:"dns"},{id:"combos",href:"/dashboard/combos",label:"Combo",icon:"layers"},{id:"usage",href:"/dashboard/usage",label:"Usage",icon:"bar_chart"},{id:"token-saver",href:"/dashboard/token-saver",label:"Token Saver",icon:"scissors"},{id:"cli-tools",href:"/dashboard/cli-tools",label:"CLI Tools",icon:"terminal"},{id:"systemone",href:"/dashboard/media-providers/systemone",label:"System One",icon:"bolt"}],eo=[{id:"proxy-pools",href:"/dashboard/proxy-pools",label:"Proxy Pools",icon:"waypoints"}],el=[{id:"profile",href:"/dashboard/profile",label:"Settings",icon:"settings"}];function ed({item:e}){var t;let a=(t=(0,i.usePathname)(),e.match?e.match(t):"/dashboard/profile"===e.href?"/dashboard/profile"===t:t.startsWith(e.href));return(0,r.jsx)(er,{children:(0,r.jsx)(ei,{asChild:!0,isActive:a,children:(0,r.jsxs)(u(),{href:e.href,className:"gap-3",children:[(0,r.jsx)(s.default,{name:e.icon,className:"text-[18px]"}),(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate",children:e.label})]})})})}function ec({...e}){(0,i.usePathname)();let{state:t}=Q(),a="collapsed"===t;return(0,r.jsxs)(W,{...e,children:[(0,r.jsx)(G,{className:"h-20 justify-center border-b border-sidebar-border px-4",children:(0,r.jsxs)(u(),{href:"/dashboard",className:"flex min-w-0 items-center gap-3",children:[(0,r.jsx)(d.default,{src:"/icons/icon.svg",alt:"10Router logo",width:36,height:36,className:"size-9 rounded-[10px] shrink-0"}),!a&&(0,r.jsxs)("div",{className:"flex min-w-0 flex-col leading-tight",children:[(0,r.jsx)("span",{className:"truncate text-lg font-semibold tracking-tight text-foreground",children:m.vQ.name}),(0,r.jsxs)("span",{className:"truncate text-xs text-muted-foreground",children:["v",m.vQ.version]})]})]})}),(0,r.jsxs)(J,{className:"pt-2",children:[(0,r.jsxs)(ee,{children:[(0,r.jsx)(et,{children:"Overview"}),(0,r.jsx)(ea,{children:en.map(e=>(0,r.jsx)(ed,{item:e},e.id))})]}),(0,r.jsx)(X,{}),(0,r.jsxs)(ee,{children:[(0,r.jsx)(et,{children:"System"}),(0,r.jsxs)(ea,{children:[eo.map(e=>(0,r.jsx)(ed,{item:e},e.id)),el.map(e=>(0,r.jsx)(ed,{item:e},e.id))]})]})]}),(0,r.jsx)(Y,{className:"border-t border-sidebar-border p-4",children:(0,r.jsx)(A,{collapsed:a})})]})}function eu({children:e}){let t=(0,i.usePathname)(),a=(0,n.i)(e=>e.notifications),l=(0,n.i)(e=>e.removeNotification),{toggleSidebar:d}=Q();return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"fixed top-4 right-4 z-[80] flex w-[min(92vw,380px)] flex-col gap-2",children:a.map(e=>{var t;let a="success"===(t=e.type)?{wrapper:"border-green-500/30 bg-green-500/10 text-green-600 dark:text-green-400",icon:"check_circle"}:"error"===t?{wrapper:"border-red-500/30 bg-red-500/10 text-red-600 dark:text-red-400",icon:"error"}:"warning"===t?{wrapper:"border-amber-500/30 bg-amber-500/10 text-amber-600 dark:text-amber-400",icon:"warning"}:{wrapper:"border-blue-500/30 bg-blue-500/10 text-blue-600 dark:text-blue-400",icon:"info"};return(0,r.jsx)("div",{className:`rounded-lg border px-3 py-2 shadow-lg backdrop-blur-sm ${a.wrapper}`,children:(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[(0,r.jsx)(s.default,{name:a.icon,className:"text-[18px] leading-5"}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[e.title?(0,r.jsx)("p",{className:"text-xs font-semibold mb-0.5",children:e.title}):null,(0,r.jsx)("p",{className:"text-xs whitespace-pre-wrap break-words",children:e.message})]}),e.dismissible?(0,r.jsx)("button",{type:"button",onClick:()=>l(e.id),className:"text-current/70 hover:text-current","aria-label":"Dismiss notification",children:(0,r.jsx)(s.default,{name:"close",className:"text-[16px]"})}):null]})},e.id)})}),(0,r.jsx)(ec,{}),(0,r.jsxs)(Z,{className:"flex flex-col h-full min-w-0 relative transition-colors duration-300 isolate",children:[(0,r.jsx)(o.default,{onMenuClick:d},t),(0,r.jsx)("div",{className:`dashboard-grid-bg flex-1 overflow-y-auto ${"/dashboard/basic-chat"===t?"":"p-6 lg:p-10"} ${"/dashboard/basic-chat"===t?"flex flex-col overflow-hidden":""}`,children:(0,r.jsx)("div",{className:`${"/dashboard/basic-chat"===t?"flex-1 w-full h-full flex flex-col":"max-w-7xl mx-auto"}`,children:e})})]})]})}function em({children:e}){return(0,r.jsx)(K,{children:(0,r.jsx)("div",{className:"flex h-screen w-full overflow-hidden bg-background",children:(0,r.jsx)(eu,{children:e})})})}},29575:(e,t,a)=>{a.d(t,{CardGrid:()=>p,Page:()=>c,PageHeader:()=>u,Section:()=>m});var r=a(29798),s=a(50141),i=a.n(s),n=a(13008),o=a(18055),l=a(58913);let d={default:"",narrow:"mx-auto w-full max-w-2xl",wide:"mx-auto w-full max-w-5xl"};function c({children:e,width:t="default",className:a}){return(0,r.jsx)("div",{className:(0,n.cn)("flex min-w-0 flex-col gap-6",d[t],a),children:e})}function u({title:e,description:t,actions:a,backHref:s,backLabel:d,className:c}){let m=null!=a;return(0,r.jsxs)("div",{className:(0,n.cn)(c),children:[s?(0,r.jsx)(o.$,{variant:"outline",size:"sm",asChild:!0,className:"mb-4 self-start",children:(0,r.jsxs)(i(),{href:s,children:[(0,r.jsx)(l.default,{name:"arrow_back",className:"text-lg"}),d??"Back"]})}):null,(0,r.jsxs)("div",{className:(0,n.cn)("flex flex-col gap-3",m&&"sm:flex-row sm:items-center sm:justify-between"),children:[(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("h1",{className:"text-2xl font-semibold tracking-tight sm:text-3xl",children:e}),t?(0,r.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:t}):null]}),m?(0,r.jsx)("div",{className:"grid shrink-0 grid-cols-1 gap-2 sm:flex sm:items-center",children:a}):null]})]})}function m({title:e,actions:t,children:a,className:s}){let i=void 0!==e||void 0!==t;return(0,r.jsxs)("section",{className:(0,n.cn)("flex min-w-0 flex-col gap-4",s),children:[i?(0,r.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[e?(0,r.jsx)("h2",{className:"text-lg font-semibold leading-tight sm:text-xl",children:e}):(0,r.jsx)("span",{}),t?(0,r.jsx)("div",{className:"grid grid-cols-1 gap-2 sm:flex sm:w-auto sm:items-center",children:t}):null]}):null,a]})}function p({children:e,variant:t="cards",className:a}){return(0,r.jsx)("div",{className:(0,n.cn)("grid min-w-0 grid-cols-1 gap-3 sm:gap-4","cards"===t&&"sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4","stat"===t&&"sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-5",a),children:e})}},41671:(e,t,a)=>{a.d(t,{i:()=>i});var r=a(58013);let s=0,i=(0,r.v)((e,t)=>({notifications:[],addNotification:a=>{let r=++s,i={id:r,type:a.type||"info",message:a.message,title:a.title||null,duration:a.duration??5e3,dismissible:a.dismissible??!0,createdAt:Date.now()};return e(e=>({notifications:[...e.notifications,i]})),i.duration>0&&setTimeout(()=>t().removeNotification(r),i.duration),r},removeNotification:t=>{e(e=>({notifications:e.notifications.filter(e=>e.id!==t)}))},clearAll:()=>e({notifications:[]}),success:(e,a)=>t().addNotification({type:"success",message:e,title:a}),error:(e,a)=>t().addNotification({type:"error",message:e,title:a,duration:8e3}),warning:(e,a)=>t().addNotification({type:"warning",message:e,title:a}),info:(e,a)=>t().addNotification({type:"info",message:e,title:a})}))},42535:(e,t,a)=>{a.d(t,{default:()=>w});var r=a(29798),s=a(58913),i=a(15814),n=a(70782),o=a(50141),l=a.n(o),d=a(738),c=a(56776);let u=(0,a(58013).v)(e=>({query:"",placeholder:"",visible:!1,setQuery:t=>e({query:t}),register:(t="Search...")=>e({visible:!0,placeholder:t,query:""}),unregister:()=>e({visible:!1,placeholder:"",query:""})}));var m=a(51660),p=a(13794),x=a(90046),h=a(63729),f=a(51780),g=a(53784),b=a(18055),v=a(77345),j=a(1352);function w({onMenuClick:e,showMenuButton:t=!0}){let a=(0,n.usePathname)(),[o,u]=(0,i.useState)(""),[b,v]=(0,i.useState)(""),{title:k,description:N,icon:C,breadcrumbs:_}=(0,i.useMemo)(()=>(e=>{if(!e)return{title:"",description:"",breadcrumbs:[]};let t=e.match(/\/providers\/([^/]+)$/);if(t){let e=t[1],a=m.zN[e]||m.fg[e];if(a)return{title:a.name,description:"",breadcrumbs:[{label:"Providers",href:"/dashboard/providers"},{label:a.name,image:(0,h.HY)(a.id)}]}}let a=e.match(/\/media-providers\/systemone\/([^/]+)$/);if(a){let e=decodeURIComponent(a[1]),t=p.Q2[e]||Object.values(p.Q2).find(t=>t.alias===e);if(t)return{title:t.name,description:"",breadcrumbs:[{label:"System One",href:"/dashboard/media-providers/systemone"},{label:t.name,image:(0,h.HY)(t.id)}]}}let r=e.match(/\/cli-tools\/([^/]+)$/);if(r){let e=decodeURIComponent(r[1]),t=x.d[e];if(t)return{title:t.name,description:"",breadcrumbs:[{label:"CLI Tools",href:"/dashboard/cli-tools"},{label:t.name,image:t.image}]}}return e.includes("/media-providers/systemone")?{title:"System One",description:"Decision models — native POST /v1/systemone endpoint",icon:"bolt",breadcrumbs:[]}:e.includes("/providers")?{title:"Providers",description:"Manage your AI provider connections",icon:"dns",breadcrumbs:[]}:e.includes("/combos")?{title:"Combos",description:"Model combos with fallback",icon:"layers",breadcrumbs:[]}:e.includes("/usage")?{title:"Usage & Analytics",description:"Monitor your API usage, token consumption, and request logs",icon:"bar_chart",breadcrumbs:[]}:e.includes("/auth-files")?{title:"Auth Files",description:"Map provider credentials stored in the local database",icon:"vpn_key",breadcrumbs:[]}:e.includes("/quota")?{title:"Quota Tracker",description:"Track and manage your API quota limits",icon:"data_usage",breadcrumbs:[]}:e.includes("/token-saver")?{title:"Token Saver",description:"Compress prompts and outputs to save tokens",icon:"scissors",breadcrumbs:[]}:e.includes("/cli-tools")?{title:"CLI Tools",description:"Configure CLI tools",icon:"terminal",breadcrumbs:[]}:e.includes("/proxy-pools")?{title:"Proxy Pools",description:"Manage your proxy pool configurations",icon:"waypoints",breadcrumbs:[]}:e.includes("/endpoint")?{title:"Endpoint",description:"API endpoint configuration",icon:"api",breadcrumbs:[]}:e.includes("/profile")?{title:"Settings",description:"Manage your preferences",icon:"settings",breadcrumbs:[]}:e.includes("/console-log")?{title:"Console Log",description:"Live server console output",icon:"monitor",breadcrumbs:[]}:"/dashboard"===e?{title:"Endpoint",description:"API endpoint configuration",icon:"api",breadcrumbs:[]}:{title:"",description:"",breadcrumbs:[]}})(a),[a]);(0,i.useEffect)(()=>{let e=!1;return async function(){try{let t=await fetch("/api/auth/status",{cache:"no-store"});if(!t.ok)return;let a=await t.json();e||(u(a?.displayName||a?.samlName||a?.samlEmail||a?.oidcName||a?.oidcEmail||""),v(a?.loginMethod||""))}catch{e||(u(""),v(""))}}(),()=>{e=!0}},[]);let S=async()=>{try{(await fetch("/api/auth/logout",{method:"POST"})).ok&&window.location.assign("/login")}catch(e){console.error("Failed to logout:",e)}};return(0,r.jsxs)("header",{className:"sticky top-0 flex h-20 shrink-0 items-center justify-between gap-3 px-4 lg:px-8 border-b border-border bg-card/60 backdrop-blur-xl lg:bg-transparent lg:backdrop-blur-none z-20",children:[(0,r.jsx)("div",{className:"flex items-center gap-3 lg:hidden shrink-0",children:t&&(0,r.jsx)("button",{onClick:e,className:"text-foreground hover:text-primary transition-colors",children:(0,r.jsx)(s.default,{name:"menu",className:""})})}),(0,r.jsx)("div",{className:"flex flex-col min-w-0 flex-1",children:_.length>0?(0,r.jsx)("div",{className:"flex items-center gap-2",children:_.map((e,t)=>(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[t>0&&(0,r.jsx)(s.default,{name:"chevron_right",className:"text-muted-foreground text-base"}),e.href?(0,r.jsx)(l(),{href:e.href,className:"text-muted-foreground hover:text-primary transition-colors",children:e.label}):(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[e.image&&(0,r.jsx)(d.A,{src:e.image,alt:e.label,size:28,className:"object-contain rounded max-w-[28px] max-h-[28px]",fallbackText:e.label.slice(0,2).toUpperCase()}),(0,r.jsx)("h1",{className:"text-base lg:text-2xl font-semibold text-foreground tracking-tight truncate",children:(0,f.Tl)(e.label)})]})]},`${e.label}-${e.href||"current"}`))}):k?(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[C&&(0,r.jsx)(s.default,{name:C,className:"text-primary text-xl lg:text-2xl"}),(0,r.jsx)("h1",{className:"text-base lg:text-2xl font-semibold tracking-tight truncate",children:(0,f.Tl)(k)})]}),N&&(0,r.jsx)("p",{className:"hidden lg:block text-sm text-muted-foreground truncate",children:(0,f.Tl)(N)})]}):null}),(0,r.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[o&&("OIDC"===b||"SAML"===b)&&(0,r.jsxs)(j.m_,{children:[(0,r.jsx)(j.k$,{asChild:!0,children:(0,r.jsxs)(g.E,{variant:"secondary",className:"hidden max-w-55 sm:inline-flex",children:[(0,r.jsx)(s.default,{name:"person",className:"size-3.5 text-primary"}),(0,r.jsx)("span",{className:"truncate",children:o}),(0,r.jsx)("span",{className:"shrink-0 rounded-full bg-primary/10 px-1.5 py-px text-[10px] font-semibold uppercase tracking-wide text-primary",children:b})]})}),(0,r.jsx)(j.ZI,{children:o})]}),(0,r.jsx)(y,{}),(0,r.jsx)(c.default,{onLogout:S})]})]})}function y(){let e=u(e=>e.visible),t=u(e=>e.query),a=u(e=>e.placeholder),i=u(e=>e.setQuery);return e?(0,r.jsxs)("div",{className:"relative w-40 sm:w-55",children:[(0,r.jsx)(s.default,{name:"search",className:"absolute left-2 top-1/2 -translate-y-1/2 text-muted-foreground size-4 pointer-events-none"}),(0,r.jsx)(v.p,{type:"text",value:t,onChange:e=>i(e.target.value),placeholder:a,className:"h-8 pl-7 pr-7"}),t&&(0,r.jsx)(b.$,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>i(""),className:"absolute right-1 top-1/2 -translate-y-1/2","aria-label":"Clear search",children:(0,r.jsx)(s.default,{name:"close",className:"size-4"})})]}):null}},51660:(e,t,a)=>{a.d(t,{Q2:()=>r.Q2,fg:()=>r.fg,vQ:()=>s,_$:()=>n,MA:()=>r.MA,UY:()=>l,Nu:()=>i,zN:()=>r.zN,B2:()=>o});var r=a(13794);a(80159);let s={name:"10Router Proxy",description:"AI Infrastructure Management",version:"0.1.4"},i={changelogUrl:"/api/changelog"},n=20128,o={storageKey:"theme",defaultTheme:"light"},l={maxLines:500,pollIntervalMs:1e3}},53599:(e,t,a)=>{a.d(t,{default:()=>o});var r=a(29798),s=a(69221),i=a(18055),n=a(3537);function o({isOpen:e,shuttingDown:t,stopped:a,timedOut:l,onClose:d,onConfirm:c}){let u=t&&!a&&!l;return(0,r.jsx)(n.default,{isOpen:e,onClose:d,title:a?"Server Stopped":l?"Still Running":"Close Proxy",size:"sm",closeOnOverlay:!u,footer:a||l?(0,r.jsx)(i.$,{variant:"default",onClick:d,children:"Close"}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.$,{variant:"ghost",onClick:d,disabled:u,children:"Cancel"}),(0,r.jsxs)(i.$,{variant:"destructive",onClick:c,disabled:u,children:[u&&(0,r.jsx)(s.A,{className:"animate-spin"}),u?"Stopping…":"Close"]})]}),children:(0,r.jsx)("p",{className:"text-muted-foreground",children:a?"The proxy server has stopped. You can close this tab now.":l?"The server did not stop in time. It may need a manual stop (10router stop).":"Are you sure you want to close the proxy server?"})})}},53784:(e,t,a)=>{a.d(t,{E:()=>l});var r=a(29798);a(15814);var s=a(54366),i=a(5471),n=a(80954);let o=(0,s.F)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});function l({className:e,variant:t="default",asChild:a=!1,...s}){let d=a?n.bL:"span";return(0,r.jsx)(d,{"data-slot":"badge","data-variant":t,className:(0,i.cn)(o({variant:t}),e),...s})}},56776:(e,t,a)=>{a.d(t,{default:()=>m});var r=a(29798),s=a(58913),i=a(15814),n=a(88336),o=a(63175),l=a(53599),d=a(18055),c=a(1352),u=a(76120);function m({onLogout:e}){let[t,a]=(0,i.useState)(!1),p=(0,o.c)();return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(u.rI,{children:[(0,r.jsxs)(c.m_,{children:[(0,r.jsx)(c.k$,{asChild:!0,children:(0,r.jsx)(u.ty,{asChild:!0,children:(0,r.jsx)(d.$,{variant:"ghost",size:"icon","aria-label":"Settings menu",children:(0,r.jsx)(s.default,{name:"settings",className:"size-5"})})})}),(0,r.jsx)(c.ZI,{children:"Settings"})]}),(0,r.jsxs)(u.SQ,{align:"end",className:"w-60",children:[(0,r.jsx)(u.lp,{children:"System"}),(0,r.jsx)(u.mB,{}),(0,r.jsxs)(u._2,{onSelect:()=>a(!0),children:[(0,r.jsx)(s.default,{name:"history",className:"size-4 text-muted-foreground"}),"Change Log"]}),(0,r.jsx)(u.mB,{}),(0,r.jsxs)(u._2,{variant:"destructive",onSelect:()=>p.open(),children:[(0,r.jsx)(s.default,{name:"power_settings_new",className:"size-4"}),"Shutdown"]}),(0,r.jsxs)(u._2,{variant:"destructive",onSelect:()=>e(),children:[(0,r.jsx)(s.default,{name:"logout",className:"size-4"}),"Logout"]})]})]}),(0,r.jsx)(n.default,{isOpen:t,onClose:()=>a(!1)}),(0,r.jsx)(l.default,{isOpen:p.confirmOpen||p.stopped||p.timedOut,onClose:p.reset,onConfirm:p.confirm,shuttingDown:p.shuttingDown,stopped:p.stopped,timedOut:p.timedOut})]})}},58913:(e,t,a)=>{a.d(t,{default:()=>l});var r=a(29798);a(15814);var s=a(36256);let i={add:"Plus",account_circle:"CircleUser",account_tree:"GitFork",api:"Plug",apps:"LayoutGrid",arrow_back:"ArrowLeft",arrow_downward:"ArrowDown",arrow_forward:"ArrowRight",arrow_upward:"ArrowUp",attach_file:"Paperclip",bar_chart:"BarChart3",block:"Ban",bolt:"Zap",business:"Briefcase",cancel:"X",cast:"Cast",chat:"MessageSquare",check:"Check",check_circle:"CheckCircle2",checklist:"ClipboardCheck",chevron_down:"ChevronDown",chevron_left:"ChevronLeft",chevron_right:"ChevronRight",chevron_up:"ChevronUp",close:"X",cloud:"Cloud",cloud_off:"CloudOff",cloud_sync:"CloudSync",cloud_upload:"CloudUpload",code:"Code2",computer:"Monitor",content_copy:"Copy",cookie:"Cookie",dashboard:"LayoutDashboard",data_array:"Table",data_object:"Braces",data_usage:"BarChart3",dark_mode:"Moon",delete:"Trash2",devices:"MonitorSmartphone",dns:"Network",download:"Download",edit:"Pencil",error:"CircleAlert",expand_more:"ChevronDown",extension:"Blocks",file_upload:"UploadCloud",filter_alt_off:"SlidersHorizontal",folder_open:"FolderOpen",gavel:"Scale",graphic_eq:"AudioWaveform",grid_view:"Grid2X2",group:"Users",help:"CircleHelp",history:"History",hourglass_top:"Timer",hub:"Router",image:"Image",image_search:"ScanSearch",info:"Info",input:"FileInput",key:"Key",keyboard_arrow_down:"ArrowDown",keyboard_arrow_up:"ArrowUp",lan:"Layers",language:"Languages",layers:"Layers",legend_toggle:"ListTree",light_mode:"Sun",link:"Link",link_off:"Link2Off",lock:"Lock",lock_open:"LockOpen",logout:"LogOut",menu:"Menu",menu_book:"BookOpen",mic:"Mic",monitoring:"Activity",monitor:"Monitor",movie:"Clapperboard",music_note:"Music",neurology:"Brain",open_in_new:"ExternalLink",output:"FileOutput",pause_circle:"CirclePause",person:"User",play_arrow:"Play",play_circle:"CirclePlay",playlist_add:"ListPlus",power:"Power",power_off:"PowerOff",power_settings_new:"Power",progress_activity:"Loader2",psychology:"BrainCircuit",public:"Earth",qr_code_scanner:"ScanQrCode",record_voice_over:"Mic",refresh:"RefreshCw",restart_alt:"RotateCcw",restore:"RotateCcw",rocket_launch:"Rocket",route:"Route",save:"Save",savings:"PiggyBank",scatter_plot:"ScatterChart",schedule:"Clock",science:"FlaskConical",search:"Search",search_off:"SearchX",security:"ShieldCheck",send:"Send",settings:"Settings",shield:"Shield",shield_lock:"ShieldCheck",shield_with_heart:"HeartPulse",smart_toy:"Bot",star:"Star",stop:"Square",stop_circle:"CircleStop",sync:"RefreshCw",sync_alt:"RefreshCw",terminal:"Terminal",toggle_off:"ToggleLeft",toggle_on:"ToggleRight",translate:"Languages",travel_explore:"Music4",upload:"Upload",upload_file:"UploadCloud",verified:"BadgeCheck",verified_user:"ShieldCheck",visibility:"Eye",visibility_off:"EyeOff",vpn_key:"KeyRound",vpn_lock:"Lock",warning:"TriangleAlert",wifi:"Wifi",wifi_off:"WifiOff",wifi_tethering:"Wifi"};function n(e){if("number"==typeof e&&Number.isFinite(e))return e;if("string"==typeof e){let t=e.trim().match(/^(\d+(?:\.\d+)?)px$/);if(t)return Number(t[1])}return null}function o({name:e="",className:t,style:a,...l}){let d=s[e]??s[i[e]||String(e).split(/[^a-zA-Z0-9]+/).filter(Boolean).map(e=>e[0].toUpperCase()+e.slice(1)).join("")]??s.Circle,c=function(e=""){let t=String(e).match(/\[(\d+(?:\.\d+)?)px\]/);return t?Number(t[1]):({"text-xs":12,"text-sm":14,"text-base":16,"text-lg":18,"text-xl":20,"text-2xl":24,"text-3xl":30,"text-4xl":36})[String(e).match(/\btext-(xs|sm|base|lg|xl|2xl|3xl|4xl)\b/)?.[0]]||null}(t)??(a&&"object"==typeof a?n(a.width)??n(a.height)??n(a.fontSize):null),u=c?{width:c,height:c}:void 0,m=String(t??"").replace(/\bmaterial-symbols-outlined\b/g,"").replace(/\bfill-1\b/g,"").replace(/\s+/g," ").trim();return(0,r.jsx)(d,{className:m,style:u?{...u,...a}:a,"aria-hidden":"true",...l})}function l({name:e,className:t,style:a}){return(0,r.jsx)(o,{name:e,className:t,style:a})}},63175:(e,t,a)=>{a.d(t,{c:()=>s});var r=a(15814);function s(){let[e,t]=(0,r.useState)(!1),[a,s]=(0,r.useState)(!1),[i,n]=(0,r.useState)(!1),[o,l]=(0,r.useState)(!1),d=(0,r.useRef)([]);(0,r.useEffect)(()=>()=>d.current.forEach(clearTimeout),[]);let c=(0,r.useCallback)(async()=>{let e=Date.now()+15e3;for(;Date.now()<e;){try{if(!(await fetch("/api/health",{cache:"no-store"})).ok)break}catch{break}await new Promise(e=>{let t=setTimeout(e,1e3);d.current.push(t)})}Date.now()>=e-1e3?l(!0):n(!0)},[]),u=(0,r.useCallback)(async()=>{s(!0);try{await fetch("/api/version/shutdown",{method:"POST"})}catch{}t(!1),c()},[c]),m=(0,r.useCallback)(()=>{l(!1),n(!1),t(!0)},[]),p=(0,r.useCallback)(()=>{t(!1),s(!1),n(!1),l(!1)},[]);return(0,r.useEffect)(()=>{(i||o)&&s(!1)},[i,o]),{confirmOpen:e,shuttingDown:a,stopped:i,timedOut:o,open:m,confirm:u,reset:p}}},63729:(e,t,a)=>{a.d(t,{HY:()=>n,IM:()=>m,Kw:()=>o,uM:()=>u});let r={antigravity:"gemini","perplexity-agent":"perplexity","gitlab-duo":"gitlab","vercel-ai-gateway":"vercel","ollama-search":"ollama","opencode-zen":"opencode"},s=new Set;function i(e){return e&&"string"==typeof e?e.trim().toLowerCase():""}function n(e){let t=function(e){let t=i(e);if(!t||s.has(t))return"";let a=r[t]||t;return s.has(a)?"":a}(e);return t?`/providers/${t}.png`:null}function o(e){let t=i(e);t&&s.add(t);let a=r[t];a&&s.add(a)}let l=new Set(["www","api","apis","rest","rpc","gateway","proxy","llm","chat","v1","v2","ai","app","dev","cloud","com","net","org","io","co","us","eu","cn"]),d={generativelanguage:"gemini",googleapis:"gemini",x:"xai"},c=new Set(["agentrouter","alicode","alicode-intl","alims-intl","alitp-intl","amp","anthropic","api-airforce","assemblyai","aws-polly","azure","baidu","bazaarlink","black-forest-labs","blackbox","bluesminds","brave-search","byteplus","cartesia","cerebras","chutes","claude","clinepass","codebuddy-cn","codebuddy-intl","codex","cohere","comfyui","commandcode","continue","coqui","cursor","deepgram","deepseek","deepseek-tui","devin-cli","droid","edge-tts","elevenlabs","exa","fal-ai","featherless","firecrawl","fireworks","fish-audio","gemini","github","gitlab","glm","glm-cn","google-pse","google-tts","grok-cli","grok-web","groq","hermes","huggingface","hyperbolic","iflow","inworld","jcode","jina-ai","jina-reader","kilo-gateway","kilocode","kimchi","linkup","llm7","local-device","longcat","mimo-free","minimax","minimax-cn","mistral","mmf","morph","nanobanana","nebius","novita","nvidia","ollama","ollama-local","openai","openclaw","opencode","opencode-go","opendesign","openrouter","perplexity","perplexity-agent","perplexity-web","playht","poolside","qoder","qwen","recraft","reka","roo","runwayml","sambanova","sdwebui","searchapi","searxng","selfhosted-embedding","selfhosted-stt","selfhosted-tts","serper","siliconflow","stability-ai","tavily","tencent","together","tokenrouter","topaz","tortoise","trae","venice","vercel","vercel-ai-gateway","volcengine-ark","voyage-ai","windsurf","workbuddy","xai","xiaomi-mimo","xiaomi-tokenplan","xquik","youcom","zed"]);function u(e){let t="";try{t=new URL(String(e||"")).hostname.toLowerCase()}catch{return""}if(!t||"localhost"===t||t.startsWith("127.")||t.includes(":")||t.startsWith("[")||/^\d+\.\d+\.\d+\.\d+$/.test(t))return"";let a=t.split(".").filter(Boolean).find(e=>!l.has(e)&&!/^\d+$/.test(e));if(!a)return"";let s=d[a]||r[a]||a;return c.has(s)?s:""}function m(e){let t=String(e||"").trim().split(/\s+/).filter(Boolean);return t.length?1===t.length?t[0].slice(0,2).toUpperCase():`${t[0][0]}${t[t.length-1][0]}`.toUpperCase():""}},72778:(e,t,a)=>{a.d(t,{default:()=>s});var r=a(29798);function s({children:e}){return(0,r.jsxs)("div",{className:"min-h-screen flex flex-col relative bg-background transition-colors duration-500 overflow-x-hidden selection:bg-primary/20 selection:text-foreground",children:[(0,r.jsx)("div",{className:"fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[800px] h-[800px] bg-primary/5 dark:bg-primary/5 rounded-full blur-[100px] pointer-events-none z-0"}),(0,r.jsx)("div",{className:"fixed bottom-0 right-0 w-[600px] h-[600px] bg-orange-200/20 dark:bg-orange-900/10 rounded-full blur-[120px] pointer-events-none z-0 translate-y-1/3 translate-x-1/3"}),(0,r.jsx)("main",{className:"flex-1 flex flex-col items-center justify-center p-4 sm:p-6 z-10 w-full h-full",children:e})]})}},76120:(e,t,a)=>{a.d(t,{SQ:()=>l,_2:()=>d,lp:()=>c,mB:()=>u,rI:()=>n,ty:()=>o});var r=a(29798);a(15814);var s=a(5471),i=a(47151);function n({...e}){return(0,r.jsx)(i.bL,{"data-slot":"dropdown-menu",...e})}function o({...e}){return(0,r.jsx)(i.l9,{"data-slot":"dropdown-menu-trigger",...e})}function l({className:e,align:t="start",sideOffset:a=4,...n}){return(0,r.jsx)(i.ZL,{children:(0,r.jsx)(i.UC,{"data-slot":"dropdown-menu-content",sideOffset:a,align:t,className:(0,s.cn)("z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:overflow-hidden data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",e),...n})})}function d({className:e,inset:t,variant:a="default",...n}){return(0,r.jsx)(i.q7,{"data-slot":"dropdown-menu-item","data-inset":t,"data-variant":a,className:(0,s.cn)("group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive",e),...n})}function c({className:e,inset:t,...a}){return(0,r.jsx)(i.JU,{"data-slot":"dropdown-menu-label","data-inset":t,className:(0,s.cn)("px-2 py-1.5 text-xs font-medium text-muted-foreground data-inset:pl-8",e),...a})}function u({className:e,...t}){return(0,r.jsx)(i.wv,{"data-slot":"dropdown-menu-separator",className:(0,s.cn)("-mx-1 my-1 h-px bg-border",e),...t})}},88336:(e,t,a)=>{a.d(t,{default:()=>d});var r=a(29798),s=a(58913),i=a(15814),n=a(62392),o=a(51660),l=a(49787);function d({isOpen:e,onClose:t}){let[a,c]=(0,i.useState)(""),[u,m]=(0,i.useState)(!1),[p,x]=(0,i.useState)(!1),[h,f]=(0,i.useState)("");(0,i.useEffect)(()=>{e&&!a&&(x(!0),f(""),fetch(o.Nu.changelogUrl).then(e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);return e.text()}).then(e=>c(e)).catch(e=>f(e.message||"Failed to load")).finally(()=>x(!1)))},[e,a]);let g=a?a.split(/(?=^## )/m).filter(e=>e.startsWith("## ")):[],b=u?g:g.slice(0,3),v=g.length-b.length,j=b.length?n.xI.parse(b.join("\n")):"";return(0,r.jsx)(l.lG,{open:!!e,onOpenChange:e=>!e&&t?.(),children:(0,r.jsxs)(l.Cf,{className:"sm:max-w-3xl",children:[(0,r.jsx)(l.c7,{children:(0,r.jsx)(l.L3,{children:"Change Log"})}),(0,r.jsxs)("div",{className:"max-h-[75vh] overflow-y-auto p-6",children:[p&&(0,r.jsxs)("div",{className:"flex items-center justify-center py-10 text-muted-foreground",children:[(0,r.jsx)(s.default,{name:"progress_activity",className:"animate-spin mr-2"}),"Loading..."]}),h&&(0,r.jsxs)("div",{className:"text-red-500 py-4",children:["Failed to load changelog: ",h]}),!p&&!h&&j&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"changelog-body text-foreground",dangerouslySetInnerHTML:{__html:j}}),v>0&&(0,r.jsxs)("button",{onClick:()=>m(!0),className:"mt-4 w-full py-2 rounded-lg text-sm font-medium text-foreground bg-black/5 dark:bg-white/5 hover:bg-black/10 dark:hover:bg-white/10 transition-colors",children:["Show ",v," more"]})]})]})]})})}n.xI.setOptions({gfm:!0,breaks:!0})},90046:(e,t,a)=>{a.d(t,{d:()=>r});let r={claude:{id:"claude",name:"Claude Code",image:"/providers/claude.png",color:"#D97757",description:"Anthropic Claude Code CLI",configType:"env",envVars:{baseUrl:"ANTHROPIC_BASE_URL",model:"ANTHROPIC_MODEL",opusModel:"ANTHROPIC_DEFAULT_OPUS_MODEL",sonnetModel:"ANTHROPIC_DEFAULT_SONNET_MODEL",fableModel:"ANTHROPIC_DEFAULT_FABLE_MODEL",haikuModel:"ANTHROPIC_DEFAULT_HAIKU_MODEL"},modelAliases:["default","sonnet","opus","fable","haiku","opusplan"],settingsFile:"~/.claude/settings.json",defaultModels:[{id:"fable",name:"Claude Fable",alias:"fable",envKey:"ANTHROPIC_DEFAULT_FABLE_MODEL",defaultValue:"cc/claude-fable-5"},{id:"opus",name:"Claude Opus",alias:"opus",envKey:"ANTHROPIC_DEFAULT_OPUS_MODEL",defaultValue:"cc/claude-opus-5"},{id:"sonnet",name:"Claude Sonnet",alias:"sonnet",envKey:"ANTHROPIC_DEFAULT_SONNET_MODEL",defaultValue:"cc/claude-sonnet-5"},{id:"haiku",name:"Claude Haiku",alias:"haiku",envKey:"ANTHROPIC_DEFAULT_HAIKU_MODEL",defaultValue:"cc/claude-haiku-4-5-20251001"}]},codex:{id:"codex",name:"OpenAI Codex CLI / App",image:"/providers/codex.png",color:"#10A37F",description:"OpenAI Codex CLI",configType:"custom"},opencode:{id:"opencode",name:"OpenCode",image:"/providers/opencode.png",color:"#E87040",description:"OpenCode AI Terminal Assistant",configType:"custom"},cowork:{id:"cowork",name:"Claude Cowork",image:"/providers/claude.png",color:"#D97757",description:"Claude Desktop Cowork (third-party inference)",configType:"custom"},dsh:{id:"dsh",name:"DSH - DeepSeek Harness",image:"/providers/deepseek.png",color:"#4D6BFE",description:"DeepSeek Harness (dsh web) provider",configType:"custom"},cursor:{id:"cursor",name:"Cursor",image:"/providers/cursor.png",color:"#000000",description:"Cursor AI Code Editor",configType:"guide",requiresExternalUrl:!0,notes:[{type:"warning",text:"Requires Cursor Pro account to use this feature."},{type:"cloudCheck",text:"Cursor routes requests through its own server, so local endpoint is not supported. Please enable Tunnel or Cloud Endpoint in Settings."}],guideSteps:[{step:1,title:"Open Settings",desc:"Go to Settings → Models"},{step:2,title:"Enable OpenAI API",desc:'Enable "OpenAI API key" option'},{step:3,title:"Base URL",value:"{{baseUrl}}",copyable:!0},{step:4,title:"API Key",type:"apiKeySelector"},{step:5,title:"Add Custom Model",desc:'Click "View All Model" → "Add Custom Model"'},{step:6,title:"Select Model",type:"modelSelector"}]}}},99118:(e,t,a)=>{a.d(t,{E:()=>i});var r=a(29798),s=a(5471);function i({className:e,...t}){return(0,r.jsx)("div",{"data-slot":"skeleton",className:(0,s.cn)("animate-pulse rounded-md bg-muted",e),...t})}}}]);