keyrouter 1.0.3 → 1.0.5

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 (508) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +16 -16
  3. package/app/.next-cli-build/build-manifest.json +3 -3
  4. package/app/.next-cli-build/prerender-manifest.json +20 -20
  5. package/app/.next-cli-build/react-loadable-manifest.json +8 -8
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +5 -5
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-injection/page.js +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-injection/page.js.nft.json +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-injection/page_client-reference-manifest.js +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  78. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  79. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  80. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  81. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  82. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  83. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  84. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  85. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  86. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  87. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  88. package/app/.next-cli-build/server/app/_not-found.rsc +7 -7
  89. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +7 -7
  90. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +7 -7
  91. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  92. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  93. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  94. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  95. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  96. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  97. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  98. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
  99. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
  100. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
  101. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
  102. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  103. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  104. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  105. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  107. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  108. package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  111. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  113. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  119. package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/cli-tools/hermes-profiles/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/combos/presets/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  155. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  160. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  162. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  164. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  176. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/start/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/status/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/prompt-injection/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  185. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  186. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  187. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  189. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/providers/[id]/overrides/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  192. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  196. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  202. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  203. package/app/.next-cli-build/server/app/api/providers/web-login/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/proxy-pools/netlify-deploy/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  212. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  225. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  227. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  229. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  230. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  232. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  233. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js +1 -1
  241. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  243. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  245. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  250. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  254. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  257. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  259. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  263. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  264. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js.nft.json +1 -1
  266. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  267. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  269. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  270. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  272. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/v1/systemone/route.js.nft.json +1 -1
  274. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  275. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  276. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  278. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  279. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  281. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  282. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  283. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  284. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  285. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  287. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  288. package/app/.next-cli-build/server/app/callback.html +1 -1
  289. package/app/.next-cli-build/server/app/callback.rsc +7 -7
  290. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +7 -7
  291. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  292. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +7 -7
  293. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  294. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +7 -7
  295. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +7 -7
  296. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +7 -7
  297. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  298. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  299. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +8 -8
  300. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +8 -8
  301. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +8 -8
  302. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  303. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  304. package/app/.next-cli-build/server/app/dashboard/combos.rsc +8 -8
  305. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +8 -8
  306. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +8 -8
  307. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  308. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  309. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +8 -8
  310. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +8 -8
  311. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +8 -8
  312. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  313. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  314. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +7 -7
  315. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +7 -7
  316. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +7 -7
  317. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  318. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  319. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +8 -8
  320. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +8 -8
  321. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +8 -8
  322. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  323. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  324. package/app/.next-cli-build/server/app/dashboard/profile.rsc +8 -8
  325. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +8 -8
  326. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +8 -8
  327. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  328. package/app/.next-cli-build/server/app/dashboard/prompt-injection.html +1 -1
  329. package/app/.next-cli-build/server/app/dashboard/prompt-injection.rsc +8 -8
  330. package/app/.next-cli-build/server/app/dashboard/prompt-injection.segments/!KGRhc2hib2FyZCk/dashboard/prompt-injection/__PAGE__.segment.rsc +8 -8
  331. package/app/.next-cli-build/server/app/dashboard/prompt-injection.segments/_full.segment.rsc +8 -8
  332. package/app/.next-cli-build/server/app/dashboard/prompt-injection.segments/_tree.segment.rsc +2 -2
  333. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  334. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +7 -7
  335. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +7 -7
  336. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +7 -7
  337. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  338. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  339. package/app/.next-cli-build/server/app/dashboard/providers.rsc +8 -8
  340. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +8 -8
  341. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +8 -8
  342. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  343. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  344. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +8 -8
  345. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +8 -8
  346. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +8 -8
  347. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  348. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  349. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +8 -8
  350. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +8 -8
  351. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +8 -8
  352. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  353. package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
  354. package/app/.next-cli-build/server/app/dashboard/quota.rsc +8 -8
  355. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +8 -8
  356. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +8 -8
  357. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  358. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
  359. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  360. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  361. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  362. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +8 -8
  363. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +8 -8
  364. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  365. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +8 -8
  366. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  367. package/app/.next-cli-build/server/app/dashboard/skills.rsc +8 -8
  368. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +8 -8
  369. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +8 -8
  370. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  371. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  372. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +8 -8
  373. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +8 -8
  374. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +8 -8
  375. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  376. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  377. package/app/.next-cli-build/server/app/dashboard/translator.rsc +7 -7
  378. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +7 -7
  379. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +7 -7
  380. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  381. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  382. package/app/.next-cli-build/server/app/dashboard/usage.rsc +9 -9
  383. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +9 -9
  384. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +9 -9
  385. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  386. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  387. package/app/.next-cli-build/server/app/dashboard.rsc +8 -8
  388. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +8 -8
  389. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +8 -8
  390. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  391. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  392. package/app/.next-cli-build/server/app/index.html +1 -1
  393. package/app/.next-cli-build/server/app/index.rsc +7 -7
  394. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +7 -7
  395. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +7 -7
  396. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  397. package/app/.next-cli-build/server/app/landing/page.js +1 -1
  398. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  399. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  400. package/app/.next-cli-build/server/app/landing.html +1 -1
  401. package/app/.next-cli-build/server/app/landing.rsc +8 -8
  402. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +8 -8
  403. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  404. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +8 -8
  405. package/app/.next-cli-build/server/app/login/page.js +1 -1
  406. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  407. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  408. package/app/.next-cli-build/server/app/login.html +1 -1
  409. package/app/.next-cli-build/server/app/login.rsc +8 -8
  410. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +8 -8
  411. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  412. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +8 -8
  413. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  414. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  415. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  416. package/app/.next-cli-build/server/app-paths-manifest.json +16 -16
  417. package/app/.next-cli-build/server/chunks/1051.js +1 -1
  418. package/app/.next-cli-build/server/chunks/2172.js +1 -1
  419. package/app/.next-cli-build/server/chunks/3449.js +1 -1
  420. package/app/.next-cli-build/server/chunks/3697.js +1 -1
  421. package/app/.next-cli-build/server/chunks/412.js +6 -6
  422. package/app/.next-cli-build/server/chunks/4190.js +1 -1
  423. package/app/.next-cli-build/server/chunks/4620.js +1 -0
  424. package/app/.next-cli-build/server/chunks/5299.js +7 -7
  425. package/app/.next-cli-build/server/chunks/615.js +1 -1
  426. package/app/.next-cli-build/server/chunks/6708.js +1 -1
  427. package/app/.next-cli-build/server/chunks/7066.js +1 -1
  428. package/app/.next-cli-build/server/chunks/8128.js +1 -1
  429. package/app/.next-cli-build/server/chunks/8251.js +1 -1
  430. package/app/.next-cli-build/server/chunks/8682.js +3 -3
  431. package/app/.next-cli-build/server/chunks/869.js +1 -1
  432. package/app/.next-cli-build/server/chunks/9604.js +1 -1
  433. package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
  434. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  435. package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
  436. package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
  437. package/app/.next-cli-build/server/pages/404.html +1 -1
  438. package/app/.next-cli-build/server/pages/500.html +1 -1
  439. package/app/.next-cli-build/static/chunks/{124.b7052d76521ac60b.js → 124.2dcfd9a087c9e48b.js} +1 -1
  440. package/app/.next-cli-build/static/chunks/{2435.51481baa53b475e1.js → 2435.7cc8c894f4a21999.js} +1 -1
  441. package/app/.next-cli-build/static/chunks/{2470-e9f1fd5f21c43fac.js → 2470-73a591ec7a5bdf40.js} +1 -1
  442. package/app/.next-cli-build/static/chunks/3521.96065c08772d432e.js +1 -0
  443. package/app/.next-cli-build/static/chunks/3557-ab733a862d0bba72.js +10 -0
  444. package/app/.next-cli-build/static/chunks/{5462.500e87268a882da6.js → 5462.b5dccc4c3626a6a1.js} +1 -1
  445. package/app/.next-cli-build/static/chunks/5496-336ad33bc5785fb5.js +9 -0
  446. package/app/.next-cli-build/static/chunks/5497-b6161d058c4b63f4.js +1 -0
  447. package/app/.next-cli-build/static/chunks/6808-ecaf0603c2c647dd.js +1 -0
  448. package/app/.next-cli-build/static/chunks/761-748923a2523301a7.js +132 -0
  449. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-dc2bbddae0338265.js +1 -0
  450. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-946dbaff84568fd1.js +1 -0
  451. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-c995565de72de5d6.js +1 -0
  452. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-569d2ce1c361cb5b.js → page-e9856c47cc41d2f2.js} +5 -5
  453. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-d8d32b819432e76e.js +1 -0
  454. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/prompt-injection/page-c0c7f0ec4d840259.js +1 -0
  455. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-745147f2bf98d096.js +27 -0
  456. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-3006aca559388a7a.js +1 -0
  457. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-c832cd28ad361668.js +4 -0
  458. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/pxpipe/page-f4d89bf3d96928c9.js +1 -0
  459. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-33826a8bc196b7de.js +1 -0
  460. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/page-6acecf90f03a1af3.js +1 -0
  461. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-71814d68cea6ef7d.js +1 -0
  462. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-ebe244550b022a8f.js +1 -0
  463. package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-84ba30538381db07.js +1 -0
  464. package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-607b1f15b82c8bba.js +1 -0
  465. package/app/.next-cli-build/static/chunks/app/landing/page-3e38f4876602c2fb.js +1 -0
  466. package/app/.next-cli-build/static/chunks/app/{layout-cd4efdfec7b51ca9.js → layout-8e337d947af1970c.js} +1 -1
  467. package/app/.next-cli-build/static/chunks/app/login/{page-d50a71c8703d2790.js → page-17082356385ade34.js} +1 -1
  468. package/app/.next-cli-build/static/chunks/{webpack-01b0b9fe7dbba18d.js → webpack-a1905b20ab1a879d.js} +1 -1
  469. package/app/.next-cli-build/static/css/d7b388223f36a397.css +1 -0
  470. package/app/package.json +1 -1
  471. package/app/public/favicon.svg +2 -12
  472. package/app/public/fonts/arabic-subset.ttf +0 -0
  473. package/app/public/fonts/bengali-subset.ttf +0 -0
  474. package/app/public/fonts/devanagari-subset.ttf +0 -0
  475. package/app/public/fonts/hebrew-subset.ttf +0 -0
  476. package/app/public/fonts/jp-subset.ttf +0 -0
  477. package/app/public/fonts/khmer-subset.ttf +0 -0
  478. package/app/public/fonts/kr-subset.ttf +0 -0
  479. package/app/public/fonts/sc-subset.ttf +0 -0
  480. package/app/public/fonts/tc-subset.ttf +0 -0
  481. package/app/public/fonts/thai-subset.ttf +0 -0
  482. package/package.json +1 -1
  483. package/app/.next-cli-build/server/chunks/5626.js +0 -1
  484. package/app/.next-cli-build/static/chunks/3521.03e47d524e0fcbf6.js +0 -1
  485. package/app/.next-cli-build/static/chunks/3557-437defff109ccb42.js +0 -10
  486. package/app/.next-cli-build/static/chunks/5496-a3a9ad577f310490.js +0 -9
  487. package/app/.next-cli-build/static/chunks/5497-bd4f9f37c29968bd.js +0 -1
  488. package/app/.next-cli-build/static/chunks/6808-4e4ca2233c09ffad.js +0 -1
  489. package/app/.next-cli-build/static/chunks/761-00700c1c25957243.js +0 -132
  490. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-7feaa4a67a8eb771.js +0 -1
  491. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-624e8d61fe459544.js +0 -1
  492. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-5da47ad2a6d8d5de.js +0 -1
  493. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-628c4ef1c9482980.js +0 -1
  494. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/prompt-injection/page-35a6881f7569aa64.js +0 -1
  495. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-3b9d43febf1e79d4.js +0 -27
  496. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-e9c955f52e5ae812.js +0 -1
  497. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-bbf57717de4a9782.js +0 -4
  498. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/pxpipe/page-b275a947fc978997.js +0 -1
  499. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-5434337e59f24de1.js +0 -1
  500. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/page-c7eb81dfb0b4fd77.js +0 -1
  501. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-1b0510b28ff8de92.js +0 -1
  502. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-be974a86e9053540.js +0 -1
  503. package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-18c2613dd78ff66f.js +0 -1
  504. package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-c439d82cf7840dc9.js +0 -1
  505. package/app/.next-cli-build/static/chunks/app/landing/page-38fc3c430a1a29dc.js +0 -1
  506. package/app/.next-cli-build/static/css/841943e9a30fe5cd.css +0 -1
  507. /package/app/.next-cli-build/static/{SaAkC7sXHdEDKHids4PIF → nPdnpoRoh59z5OwsCS3Vd}/_buildManifest.js +0 -0
  508. /package/app/.next-cli-build/static/{SaAkC7sXHdEDKHids4PIF → nPdnpoRoh59z5OwsCS3Vd}/_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/36966cca54120369-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/ad3cadf3cb03edcb.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/841943e9a30fe5cd.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-01b0b9fe7dbba18d.js"/><script src="/_next/static/chunks/4bd1b696-8cd12253b448cc13.js" async=""></script><script src="/_next/static/chunks/3794-fba3f76785a3c234.js" async=""></script><script src="/_next/static/chunks/main-app-398a58d48897ccf8.js" async=""></script><script src="/_next/static/chunks/3488-fd2f0bdef1a1217a.js" async=""></script><script src="/_next/static/chunks/2470-e9f1fd5f21c43fac.js" async=""></script><script src="/_next/static/chunks/app/layout-cd4efdfec7b51ca9.js" async=""></script><script src="/_next/static/chunks/763-64b80a1ab0aa3cfc.js" async=""></script><script src="/_next/static/chunks/705-c8a7b6dfca9ca382.js" async=""></script><script src="/_next/static/chunks/3557-437defff109ccb42.js" async=""></script><script src="/_next/static/chunks/5497-bd4f9f37c29968bd.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-18c2613dd78ff66f.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/dashboard/quota/page-5434337e59f24de1.js" async=""></script><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-LC959F603F" as="script"/><meta name="theme-color" content="#0a0a0a"/><title>KeyRouter - AI Infrastructure Management</title><meta name="description" content="One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?603d046c9a6fdfbb" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/favicon.svg"/><meta name="next-size-adjust" content=""/><script>(self.__next_s=self.__next_s||[]).push([0,{"children":"(function(){try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'system';t=t||'system';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'\u0026\u0026m)){document.documentElement.classList.add('dark')}}catch(e){}})();","id":"theme-bootstrap"}])</script><script>(self.__next_s=self.__next_s||[]).push([0,{"children":"var d=document,r=d.documentElement,f=function(){r.classList.add('fonts-loaded')};if(d.fonts\u0026\u0026d.fonts.load){d.fonts.load('24px \"Material Symbols Outlined\"').then(f).catch(f);setTimeout(f,3000)}else{f()}","id":"fonts-loaded-bootstrap"}])</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_d8ebd1 __variable_c219ed font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen w-full overflow-hidden bg-bg"><div class="fixed top-4 right-4 z-[80] flex w-[min(92vw,380px)] flex-col gap-2"></div><main class="flex flex-col flex-1 h-full min-w-0 relative transition-colors duration-300 isolate"><header class="shrink-0 z-20 flex flex-col bg-surface/60 backdrop-blur-xl lg:bg-transparent lg:backdrop-blur-none"><div class="flex items-center gap-3 py-2.5"><div class="mx-auto flex w-full max-w-7xl items-center gap-3 px-4 lg:px-8"><a class="group flex shrink-0 items-center gap-2.5" aria-label="KeyRouter Proxy home" href="/dashboard"><div class="grid size-9 shrink-0 place-items-center rounded-[10px] bg-gradient-to-br from-brand-500 to-brand-700 text-white shadow-[var(--shadow-warm)] transition-transform duration-150 group-hover:scale-[1.04]"><span class="material-symbols-outlined text-[18px]">route</span></div><div class="leading-tight"><h1 class="font-display text-[15px] font-bold tracking-tight text-text-main">KeyRouter Proxy</h1><span class="font-mono text-[10px] uppercase tracking-wider text-text-subtle">v<!-- -->1.0.3</span></div></a><div class="min-w-0 flex-1"></div><div class="flex items-center gap-1 shrink-0"><button class="flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-text-main hover:bg-black/5 dark:hover:bg-white/5 transition-all" title="Language" data-i18n-skip="true"><span class="text-lg leading-none">🇺🇸</span></button><div class=""></div><button class="flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-text-main hover:bg-black/5 dark:hover:bg-white/5 transition-all" title="Theme"><span class="material-symbols-outlined">dark_mode</span></button><button class="flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-text-main hover:bg-black/5 dark:hover:bg-white/5 transition-all hover:text-red-500 dark:hover:text-red-400" title="Shutdown"><span class="material-symbols-outlined">power_settings_new</span></button><button class="flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-text-main hover:bg-black/5 dark:hover:bg-white/5 transition-all hover:text-red-500 dark:hover:text-red-400" title="Logout"><span class="material-symbols-outlined">logout</span></button></div></div></div><div class="border-b border-border-subtle px-4 py-1.5 lg:px-8"><nav class="scrollbar-hide flex w-full items-center overflow-x-auto"><div class="mx-auto flex items-center gap-1"><a class="group flex shrink-0 items-center gap-2 rounded-lg px-3 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-text-main" href="/dashboard/endpoint"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-text-main">api</span><span class="truncate">Endpoint</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-3 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-text-main" href="/dashboard/providers"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-text-main">dns</span><span class="truncate">Providers</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-3 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-text-main" href="/dashboard/combos"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-text-main">layers</span><span class="truncate">Combos</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-3 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-text-main" href="/dashboard/cli-tools"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-text-main">terminal</span><span class="truncate">CLI</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-3 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-text-main" href="/dashboard/usage"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-text-main">bar_chart</span><span class="truncate">Usage</span></a><a aria-current="page" class="group flex shrink-0 items-center gap-2 rounded-lg px-3 py-1.5 font-display text-sm font-medium transition-colors duration-150 bg-surface-2 text-text-main" href="/dashboard/quota"><span class="material-symbols-outlined text-[18px] text-text-main">data_usage</span><span class="truncate">Quota</span><span class="size-1 shrink-0 rounded-full bg-text-muted"></span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-3 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-text-main" href="/dashboard/token-saver"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-text-main">savings</span><span class="truncate">Saver</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-3 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-text-main" href="/dashboard/media-providers/systemone"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-text-main">psychology</span><span class="truncate">System One</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-3 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-text-main" href="/dashboard/proxy-pools"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-text-main">lan</span><span class="truncate">Proxies</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-3 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-text-main" href="/dashboard/skills"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-text-main">extension</span><span class="truncate">Skills</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-3 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-text-main" href="/dashboard/prompt-injection"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-text-main">skull</span><span class="truncate">Prompt</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-3 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-text-main" href="/dashboard/console-log"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-text-main">monitor</span><span class="truncate">Logs</span></a></div></nav></div></header><div class="flex-1 overflow-y-auto custom-scrollbar py-6 lg:py-10 px-4 lg:px-8 "><div class="max-w-7xl mx-auto"><!--$!--><template data-dgst=""></template><div class="p-6 rounded-[14px] border border-border-subtle bg-surface shadow-[var(--shadow-soft)]"><div class="flex items-center justify-between mb-4"><div class="animate-pulse rounded-[10px] bg-surface-2 h-4 w-24"></div><div class="animate-pulse rounded-[10px] bg-surface-2 size-10 rounded-[10px]"></div></div><div class="animate-pulse rounded-[10px] bg-surface-2 h-8 w-16 mb-2"></div><div class="animate-pulse rounded-[10px] bg-surface-2 h-3 w-20"></div></div><!--/$--><!--$--><!--/$--></div></div></main></div><script src="/_next/static/chunks/webpack-01b0b9fe7dbba18d.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:\"static/chunks/3488-fd2f0bdef1a1217a.js\"\n3:\"static/chunks/2470-e9f1fd5f21c43fac.js\"\n4:\"static/chunks/app/layout-cd4efdfec7b51ca9.js\"\n5:I[42593,[\"3488\",\"$2\",\"2470\",\"$3\",\"7177\",\"$4\"],\"\"]\n6:\"static/chunks/763-64b80a1ab0aa3cfc.js\"\n7:\"static/chunks/705-c8a7b6dfca9ca382.js\"\n8:\"static/chunks/3557-437defff109ccb42.js\"\n9:\"static/chunks/5497-bd4f9f37c29968bd.js\"\na:\"static/chunks/app/(dashboard)/layout-18c2613dd78ff66f.js\"\nb:I[21110,[\"763\",\"$6\",\"2470\",\"$3\",\"705\",\"$7\",\"3557\",\"$8\",\"5497\",\"$9\",\"9305\",\"$a\"],\"ThemeProvider\"]\nc:\"RuntimeI18nProvider\"\nd:I[94635,[\"3488\",\"$2\",\"2470\",\"$3\",\"7177\",\"$4\"],\"$c\"]\ne:I[57121,[],\"\"]\nf:I[74581,[],\"\"]\n10:I[30565,[\"3488\",\"$2\",\"2470\",\"$3\",\"7177\",\"$4\"],\"GoogleAnalytics\"]\n12:I[30233,[\"763\",\"$6\",\"2470\",\"$3\",\"705\",\"$7\",\"3557\",\"$8\",\"5497\",\"$9\",\"9305\",\"$a\"],\"default\"]\n17:\"$Sreact.suspense\"\n18:\"static/chunks/app/(dashboard)/dashboard/quota/page-5434337e59f24de1.js\"\n19:I[25086,[\"763\",\"$6\",\"2470\",\"$3\",\"705\",\"$7\",\"3557\",\"$8\",\"5497\",\"$9\",\"3826\",\"$18\"],\"CardSkeleton\"]\n1a:I[75095,[\"763\",\"$6\",\"2470\",\"$3\",\"705\",\"$7\",\"3557\",\"$8\",\"5497\",\"$9\",\"3826\",\"$18\"],\"default\"]\n1b:I[90484,[],\"OutletBoundary\"]\n1d:\"ViewportBoundary\"\n1e:I[90484,[],\"$1d\"]\n20:\"MetadataBoundary\"\n21:I[90484,[],\"$20\"]\n23:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/36966cca54120369-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/ad3cadf3cb03edcb.css\",\"style\"]\n:HL[\"/_next/static/css/841943e9a30fe5cd.css\",\"style\"]\n14:X\n16:[[\"children\",{\"s\":\"__PAGE__\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$17\",null,{\"fallback\":[\"$\",\"$L19\",null,{}],\"children\":[\"$\",\"$L1a\",null,{}]}],null,[\"$\",\"$L1b\",null,{\"children\":[\"$\",\"$17\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@1c\"}]}]]}],\"p\":false,\"v\":null}}]]\n15:[[\"children\",{\"s\":\"quota\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$14\"},\"c\":\"$Q16\"}]]\n13:[[\"children\",{\"s\":\"dashboard\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$14\"},\"c\":\"$Q15\"}]]\n11:[[\"children\",{\"s\":\"(dashboard)\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:style\",\"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\":\"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}],\"p\":false,\"v\":null},\"c\":\"$Q13\"}]]\n0:{\"P\":null,\"c\":[\"\",\"dashboard\",\"quota\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/ad3cadf3cb03edcb.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/841943e9a30fe5cd.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"$L5\",null,{\"id\":\"theme-bootstrap\",\"strategy\":\"beforeInteractive\",\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'system';t=t||'system';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'\u0026\u0026m)){document.documentElement.classList.add('dark')}}catch(e){}})();\"}}],[\"$\",\"$L5\",null,{\"id\":\"fonts-loaded-bootstrap\",\"strategy\":\"beforeInteractive\",\"dangerouslySetInnerHTML\":{\"__html\":\"var d=document,r=d.documentElement,f=function(){r.classList.add('fonts-loaded')};if(d.fonts\u0026\u0026d.fonts.load){d.fonts.load('24px \\\"Material Symbols Outlined\\\"').then(f).catch(f);setTimeout(f,3000)}else{f()}\"}}]]}],[\"$\",\"body\",null,{\"className\":\"__variable_d8ebd1 __variable_c219ed font-sans antialiased\",\"children\":[[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"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.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}],[\"$\",\"$L10\",null,{\"gaId\":\"G-LC959F603F\"}]]}]]}]]}],\"p\":false,\"v\":null},\"c\":\"$Q11\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L1e\",null,{\"children\":\"$L1f\"}],[\"$\",\"$L21\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$17\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L22\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$23\",[]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"SaAkC7sXHdEDKHids4PIF\"}\n14:C\n1f:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0a0a0a\"}]]\n24:I[86869,[],\"IconMark\"]\n1c:null\n22:[[\"$\",\"title\",\"0\",{\"children\":\"KeyRouter - AI Infrastructure Management\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?603d046c9a6fdfbb\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"$L24\",\"5\",{}]]\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/36966cca54120369-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/ad3cadf3cb03edcb.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/d7b388223f36a397.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a1905b20ab1a879d.js"/><script src="/_next/static/chunks/4bd1b696-8cd12253b448cc13.js" async=""></script><script src="/_next/static/chunks/3794-fba3f76785a3c234.js" async=""></script><script src="/_next/static/chunks/main-app-398a58d48897ccf8.js" async=""></script><script src="/_next/static/chunks/3488-fd2f0bdef1a1217a.js" async=""></script><script src="/_next/static/chunks/2470-73a591ec7a5bdf40.js" async=""></script><script src="/_next/static/chunks/app/layout-8e337d947af1970c.js" async=""></script><script src="/_next/static/chunks/763-64b80a1ab0aa3cfc.js" async=""></script><script src="/_next/static/chunks/705-c8a7b6dfca9ca382.js" async=""></script><script src="/_next/static/chunks/3557-ab733a862d0bba72.js" async=""></script><script src="/_next/static/chunks/5497-b6161d058c4b63f4.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-84ba30538381db07.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/dashboard/quota/page-33826a8bc196b7de.js" async=""></script><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-LC959F603F" as="script"/><meta name="theme-color" content="#0a0a0a"/><title>KeyRouter - AI Infrastructure Management</title><meta name="description" content="One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?603d046c9a6fdfbb" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/favicon.svg"/><meta name="next-size-adjust" content=""/><script>(self.__next_s=self.__next_s||[]).push([0,{"children":"(function(){try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'system';t=t||'system';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'\u0026\u0026m)){document.documentElement.classList.add('dark')}}catch(e){}})();","id":"theme-bootstrap"}])</script><script>(self.__next_s=self.__next_s||[]).push([0,{"children":"var d=document,r=d.documentElement,f=function(){r.classList.add('fonts-loaded')};if(d.fonts\u0026\u0026d.fonts.load){d.fonts.load('24px \"Material Symbols Outlined\"').then(f).catch(f);setTimeout(f,3000)}else{f()}","id":"fonts-loaded-bootstrap"}])</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_d8ebd1 __variable_c219ed font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen w-full overflow-hidden bg-bg"><div class="fixed top-4 right-4 z-[80] flex w-[min(92vw,380px)] flex-col gap-2"></div><main class="flex flex-col flex-1 h-full min-w-0 relative transition-colors duration-300 isolate"><header class="relative shrink-0 z-20 flex flex-col bg-surface/60 backdrop-blur-xl lg:bg-transparent lg:backdrop-blur-none"><div class="px-4 py-2.5 lg:px-8"><div class="mx-auto flex w-full max-w-7xl items-center gap-3"><a class="group flex shrink-0 items-center gap-2.5" aria-label="KeyRouter Proxy home" href="/dashboard"><div class="grid size-9 shrink-0 place-items-center rounded-[10px] bg-primary text-white shadow-[var(--shadow-warm)] transition-transform duration-150 group-hover:scale-[1.04] dark:bg-primary dark:text-black"><span class="material-symbols-outlined text-[18px]">route</span></div><div class="leading-tight"><h1 class="font-display text-[15px] font-bold tracking-tight text-text-main">KeyRouter Proxy</h1><span class="font-mono text-[10px] uppercase tracking-wider text-text-subtle">v<!-- -->1.0.5</span></div></a><div class="min-w-0 flex-1"></div><div class="flex items-center gap-1 shrink-0"><button class="flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-primary transition-all" title="Language" data-i18n-skip="true"><span class="text-lg leading-none">🇺🇸</span></button><div class=""></div><button class="flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-primary transition-all" title="Theme"><span class="material-symbols-outlined">dark_mode</span></button><button class="flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-primary transition-all hover:text-red-500 dark:hover:text-red-400" title="Shutdown"><span class="material-symbols-outlined">power_settings_new</span></button><button class="flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-primary transition-all hover:text-red-500 dark:hover:text-red-400" title="Logout"><span class="material-symbols-outlined">logout</span></button></div></div></div><div class="border-b border-border-subtle"><div class="px-4 lg:px-8"><div class="mx-auto w-full max-w-7xl py-1.5"><nav class="scrollbar-hide flex w-full items-center overflow-x-auto"><div class="flex items-center gap-0.5"><a class="group flex shrink-0 items-center gap-2 rounded-lg px-2 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-primary" href="/dashboard/endpoint"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-primary">api</span><span class="truncate">Endpoint</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-2 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-primary" href="/dashboard/providers"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-primary">dns</span><span class="truncate">Providers</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-2 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-primary" href="/dashboard/combos"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-primary">layers</span><span class="truncate">Combos</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-2 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-primary" href="/dashboard/cli-tools"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-primary">terminal</span><span class="truncate">CLI</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-2 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-primary" href="/dashboard/usage"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-primary">bar_chart</span><span class="truncate">Usage</span></a><a aria-current="page" class="group flex shrink-0 items-center gap-2 rounded-lg px-2 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-primary" href="/dashboard/quota"><span class="material-symbols-outlined text-[18px] text-primary">data_usage</span><span class="truncate">Quota</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-2 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-primary" href="/dashboard/token-saver"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-primary">savings</span><span class="truncate">Saver</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-2 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-primary" href="/dashboard/media-providers/systemone"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-primary">psychology</span><span class="truncate">System One</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-2 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-primary" href="/dashboard/proxy-pools"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-primary">lan</span><span class="truncate">Proxies</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-2 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-primary" href="/dashboard/skills"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-primary">extension</span><span class="truncate">Skills</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-2 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-primary" href="/dashboard/prompt-injection"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-primary">skull</span><span class="truncate">Prompt</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-2 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-primary" href="/dashboard/profile"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-primary">settings</span><span class="truncate">Settings</span></a><a class="group flex shrink-0 items-center gap-2 rounded-lg px-2 py-1.5 font-display text-sm font-medium transition-colors duration-150 text-text-muted hover:text-primary" href="/dashboard/console-log"><span class="material-symbols-outlined text-[18px] text-text-subtle transition-colors group-hover:text-primary">monitor</span><span class="truncate">Logs</span></a></div></nav></div></div></div><div id="header-update-anchor" class="md:hidden"></div></header><div class="flex-1 overflow-y-auto custom-scrollbar py-6 lg:py-10 px-4 lg:px-8 "><div class="max-w-7xl mx-auto"><!--$!--><template data-dgst=""></template><div class="p-6 rounded-[14px] border border-border-subtle bg-surface shadow-[var(--shadow-soft)]"><div class="flex items-center justify-between mb-4"><div class="animate-pulse rounded-[10px] bg-surface-2 h-4 w-24"></div><div class="animate-pulse rounded-[10px] bg-surface-2 size-10 rounded-[10px]"></div></div><div class="animate-pulse rounded-[10px] bg-surface-2 h-8 w-16 mb-2"></div><div class="animate-pulse rounded-[10px] bg-surface-2 h-3 w-20"></div></div><!--/$--><!--$--><!--/$--></div></div></main></div><script src="/_next/static/chunks/webpack-a1905b20ab1a879d.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:\"static/chunks/3488-fd2f0bdef1a1217a.js\"\n3:\"static/chunks/2470-73a591ec7a5bdf40.js\"\n4:\"static/chunks/app/layout-8e337d947af1970c.js\"\n5:I[42593,[\"3488\",\"$2\",\"2470\",\"$3\",\"7177\",\"$4\"],\"\"]\n6:\"static/chunks/763-64b80a1ab0aa3cfc.js\"\n7:\"static/chunks/705-c8a7b6dfca9ca382.js\"\n8:\"static/chunks/3557-ab733a862d0bba72.js\"\n9:\"static/chunks/5497-b6161d058c4b63f4.js\"\na:\"static/chunks/app/(dashboard)/layout-84ba30538381db07.js\"\nb:I[21110,[\"763\",\"$6\",\"2470\",\"$3\",\"705\",\"$7\",\"3557\",\"$8\",\"5497\",\"$9\",\"9305\",\"$a\"],\"ThemeProvider\"]\nc:\"RuntimeI18nProvider\"\nd:I[94635,[\"3488\",\"$2\",\"2470\",\"$3\",\"7177\",\"$4\"],\"$c\"]\ne:I[57121,[],\"\"]\nf:I[74581,[],\"\"]\n10:I[30565,[\"3488\",\"$2\",\"2470\",\"$3\",\"7177\",\"$4\"],\"GoogleAnalytics\"]\n12:I[30233,[\"763\",\"$6\",\"2470\",\"$3\",\"705\",\"$7\",\"3557\",\"$8\",\"5497\",\"$9\",\"9305\",\"$a\"],\"default\"]\n17:\"$Sreact.suspense\"\n18:\"static/chunks/app/(dashboard)/dashboard/quota/page-33826a8bc196b7de.js\"\n19:I[25086,[\"763\",\"$6\",\"2470\",\"$3\",\"705\",\"$7\",\"3557\",\"$8\",\"5497\",\"$9\",\"3826\",\"$18\"],\"CardSkeleton\"]\n1a:I[75095,[\"763\",\"$6\",\"2470\",\"$3\",\"705\",\"$7\",\"3557\",\"$8\",\"5497\",\"$9\",\"3826\",\"$18\"],\"default\"]\n1b:I[90484,[],\"OutletBoundary\"]\n1d:\"ViewportBoundary\"\n1e:I[90484,[],\"$1d\"]\n20:\"MetadataBoundary\"\n21:I[90484,[],\"$20\"]\n23:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/36966cca54120369-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/ad3cadf3cb03edcb.css\",\"style\"]\n:HL[\"/_next/static/css/d7b388223f36a397.css\",\"style\"]\n14:X\n16:[[\"children\",{\"s\":\"__PAGE__\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$17\",null,{\"fallback\":[\"$\",\"$L19\",null,{}],\"children\":[\"$\",\"$L1a\",null,{}]}],null,[\"$\",\"$L1b\",null,{\"children\":[\"$\",\"$17\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@1c\"}]}]]}],\"p\":false,\"v\":null}}]]\n15:[[\"children\",{\"s\":\"quota\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$14\"},\"c\":\"$Q16\"}]]\n13:[[\"children\",{\"s\":\"dashboard\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$14\"},\"c\":\"$Q15\"}]]\n11:[[\"children\",{\"s\":\"(dashboard)\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:style\",\"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\":\"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}],\"p\":false,\"v\":null},\"c\":\"$Q13\"}]]\n0:{\"P\":null,\"c\":[\"\",\"dashboard\",\"quota\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/ad3cadf3cb03edcb.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/d7b388223f36a397.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"$L5\",null,{\"id\":\"theme-bootstrap\",\"strategy\":\"beforeInteractive\",\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'system';t=t||'system';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'\u0026\u0026m)){document.documentElement.classList.add('dark')}}catch(e){}})();\"}}],[\"$\",\"$L5\",null,{\"id\":\"fonts-loaded-bootstrap\",\"strategy\":\"beforeInteractive\",\"dangerouslySetInnerHTML\":{\"__html\":\"var d=document,r=d.documentElement,f=function(){r.classList.add('fonts-loaded')};if(d.fonts\u0026\u0026d.fonts.load){d.fonts.load('24px \\\"Material Symbols Outlined\\\"').then(f).catch(f);setTimeout(f,3000)}else{f()}\"}}]]}],[\"$\",\"body\",null,{\"className\":\"__variable_d8ebd1 __variable_c219ed font-sans antialiased\",\"children\":[[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"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.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}],[\"$\",\"$L10\",null,{\"gaId\":\"G-LC959F603F\"}]]}]]}]]}],\"p\":false,\"v\":null},\"c\":\"$Q11\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L1e\",null,{\"children\":\"$L1f\"}],[\"$\",\"$L21\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$17\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L22\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$23\",[]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"nPdnpoRoh59z5OwsCS3Vd\"}\n14:C\n1f:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0a0a0a\"}]]\n24:I[86869,[],\"IconMark\"]\n1c:null\n22:[[\"$\",\"title\",\"0\",{\"children\":\"KeyRouter - AI Infrastructure Management\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?603d046c9a6fdfbb\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"$L24\",\"5\",{}]]\n"])</script></body></html>
@@ -1,13 +1,13 @@
1
1
  1:"$Sreact.fragment"
2
2
  2:"static/chunks/3488-fd2f0bdef1a1217a.js"
3
- 3:"static/chunks/2470-e9f1fd5f21c43fac.js"
4
- 4:"static/chunks/app/layout-cd4efdfec7b51ca9.js"
3
+ 3:"static/chunks/2470-73a591ec7a5bdf40.js"
4
+ 4:"static/chunks/app/layout-8e337d947af1970c.js"
5
5
  5:I[42593,["3488","$2","2470","$3","7177","$4"],""]
6
6
  6:"static/chunks/763-64b80a1ab0aa3cfc.js"
7
7
  7:"static/chunks/705-c8a7b6dfca9ca382.js"
8
- 8:"static/chunks/3557-437defff109ccb42.js"
9
- 9:"static/chunks/5497-bd4f9f37c29968bd.js"
10
- a:"static/chunks/app/(dashboard)/layout-18c2613dd78ff66f.js"
8
+ 8:"static/chunks/3557-ab733a862d0bba72.js"
9
+ 9:"static/chunks/5497-b6161d058c4b63f4.js"
10
+ a:"static/chunks/app/(dashboard)/layout-84ba30538381db07.js"
11
11
  b:I[21110,["763","$6","2470","$3","705","$7","3557","$8","5497","$9","9305","$a"],"ThemeProvider"]
12
12
  c:"RuntimeI18nProvider"
13
13
  d:I[94635,["3488","$2","2470","$3","7177","$4"],"$c"]
@@ -16,7 +16,7 @@ f:I[74581,[],""]
16
16
  10:I[30565,["3488","$2","2470","$3","7177","$4"],"GoogleAnalytics"]
17
17
  12:I[30233,["763","$6","2470","$3","705","$7","3557","$8","5497","$9","9305","$a"],"default"]
18
18
  17:"$Sreact.suspense"
19
- 18:"static/chunks/app/(dashboard)/dashboard/quota/page-5434337e59f24de1.js"
19
+ 18:"static/chunks/app/(dashboard)/dashboard/quota/page-33826a8bc196b7de.js"
20
20
  19:I[25086,["763","$6","2470","$3","705","$7","3557","$8","5497","$9","3826","$18"],"CardSkeleton"]
21
21
  1a:I[75095,["763","$6","2470","$3","705","$7","3557","$8","5497","$9","3826","$18"],"default"]
22
22
  1b:I[90484,[],"OutletBoundary"]
@@ -28,13 +28,13 @@ f:I[74581,[],""]
28
28
  :HL["/_next/static/media/36966cca54120369-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
29
29
  :HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
30
30
  :HL["/_next/static/css/ad3cadf3cb03edcb.css","style"]
31
- :HL["/_next/static/css/841943e9a30fe5cd.css","style"]
31
+ :HL["/_next/static/css/d7b388223f36a397.css","style"]
32
32
  14:X
33
33
  16:[["children",{"s":"__PAGE__","h":512,"d":{"r":["$","$1","c",{"children":[["$","$17",null,{"fallback":["$","$L19",null,{}],"children":["$","$L1a",null,{}]}],null,["$","$L1b",null,{"children":["$","$17",null,{"name":"Next.MetadataOutlet","children":"$@1c"}]}]]}],"p":false,"v":null}}]]
34
34
  15:[["children",{"s":"quota","h":512,"d":{"r":["$","$1","c",{"children":[null,["$","$Le",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$Lf",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],"p":false,"v":"$14"},"c":"$Q16"}]]
35
35
  13:[["children",{"s":"dashboard","h":512,"d":{"r":["$","$1","c",{"children":[null,["$","$Le",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$Lf",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],"p":false,"v":"$14"},"c":"$Q15"}]]
36
36
  11:[["children",{"s":"(dashboard)","h":512,"d":{"r":["$","$1","c",{"children":[null,["$","$L12",null,{"children":["$","$Le",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$Lf",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:style","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":"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}],"p":false,"v":null},"c":"$Q13"}]]
37
- 0:{"P":null,"c":["","dashboard","quota"],"q":"","i":false,"t":{"t":{"s":"","h":528,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ad3cadf3cb03edcb.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/841943e9a30fe5cd.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","$L5",null,{"id":"theme-bootstrap","strategy":"beforeInteractive","dangerouslySetInnerHTML":{"__html":"(function(){try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'system';t=t||'system';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'&&m)){document.documentElement.classList.add('dark')}}catch(e){}})();"}}],["$","$L5",null,{"id":"fonts-loaded-bootstrap","strategy":"beforeInteractive","dangerouslySetInnerHTML":{"__html":"var d=document,r=d.documentElement,f=function(){r.classList.add('fonts-loaded')};if(d.fonts&&d.fonts.load){d.fonts.load('24px \"Material Symbols Outlined\"').then(f).catch(f);setTimeout(f,3000)}else{f()}"}}]]}],["$","body",null,{"className":"__variable_d8ebd1 __variable_c219ed font-sans antialiased","children":[["$","$Lb",null,{"children":["$","$Ld",null,{"children":["$","$Le",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$Lf",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","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."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L10",null,{"gaId":"G-LC959F603F"}]]}]]}]]}],"p":false,"v":null},"c":"$Q11"},"h":{"r":["$","$1","h",{"children":[null,["$","$L1e",null,{"children":"$L1f"}],["$","$L21",null,{"children":[["$","div",null,{"hidden":true,"children":["$","$17",null,{"name":"Next.Metadata","children":"$L22"}]}],null]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"p":false,"v":null}},"m":"$undefined","G":["$23",[]],"S":true,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"SaAkC7sXHdEDKHids4PIF"}
37
+ 0:{"P":null,"c":["","dashboard","quota"],"q":"","i":false,"t":{"t":{"s":"","h":528,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ad3cadf3cb03edcb.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/d7b388223f36a397.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","$L5",null,{"id":"theme-bootstrap","strategy":"beforeInteractive","dangerouslySetInnerHTML":{"__html":"(function(){try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'system';t=t||'system';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'&&m)){document.documentElement.classList.add('dark')}}catch(e){}})();"}}],["$","$L5",null,{"id":"fonts-loaded-bootstrap","strategy":"beforeInteractive","dangerouslySetInnerHTML":{"__html":"var d=document,r=d.documentElement,f=function(){r.classList.add('fonts-loaded')};if(d.fonts&&d.fonts.load){d.fonts.load('24px \"Material Symbols Outlined\"').then(f).catch(f);setTimeout(f,3000)}else{f()}"}}]]}],["$","body",null,{"className":"__variable_d8ebd1 __variable_c219ed font-sans antialiased","children":[["$","$Lb",null,{"children":["$","$Ld",null,{"children":["$","$Le",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$Lf",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","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."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L10",null,{"gaId":"G-LC959F603F"}]]}]]}]]}],"p":false,"v":null},"c":"$Q11"},"h":{"r":["$","$1","h",{"children":[null,["$","$L1e",null,{"children":"$L1f"}],["$","$L21",null,{"children":[["$","div",null,{"hidden":true,"children":["$","$17",null,{"name":"Next.Metadata","children":"$L22"}]}],null]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"p":false,"v":null}},"m":"$undefined","G":["$23",[]],"S":true,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"nPdnpoRoh59z5OwsCS3Vd"}
38
38
  14:C
39
39
  1f:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#0a0a0a"}]]
40
40
  24:I[86869,[],"IconMark"]
@@ -1,13 +1,13 @@
1
1
  1:"$Sreact.fragment"
2
2
  2:"static/chunks/3488-fd2f0bdef1a1217a.js"
3
- 3:"static/chunks/2470-e9f1fd5f21c43fac.js"
4
- 4:"static/chunks/app/layout-cd4efdfec7b51ca9.js"
3
+ 3:"static/chunks/2470-73a591ec7a5bdf40.js"
4
+ 4:"static/chunks/app/layout-8e337d947af1970c.js"
5
5
  5:I[42593,["3488","$2","2470","$3","7177","$4"],""]
6
6
  6:"static/chunks/763-64b80a1ab0aa3cfc.js"
7
7
  7:"static/chunks/705-c8a7b6dfca9ca382.js"
8
- 8:"static/chunks/3557-437defff109ccb42.js"
9
- 9:"static/chunks/5497-bd4f9f37c29968bd.js"
10
- a:"static/chunks/app/(dashboard)/layout-18c2613dd78ff66f.js"
8
+ 8:"static/chunks/3557-ab733a862d0bba72.js"
9
+ 9:"static/chunks/5497-b6161d058c4b63f4.js"
10
+ a:"static/chunks/app/(dashboard)/layout-84ba30538381db07.js"
11
11
  b:I[21110,["763","$6","2470","$3","705","$7","3557","$8","5497","$9","9305","$a"],"ThemeProvider"]
12
12
  c:"RuntimeI18nProvider"
13
13
  d:I[94635,["3488","$2","2470","$3","7177","$4"],"$c"]
@@ -16,7 +16,7 @@ f:I[74581,[],""]
16
16
  10:I[30565,["3488","$2","2470","$3","7177","$4"],"GoogleAnalytics"]
17
17
  14:I[30233,["763","$6","2470","$3","705","$7","3557","$8","5497","$9","9305","$a"],"default"]
18
18
  1c:"$Sreact.suspense"
19
- 1d:"static/chunks/app/(dashboard)/dashboard/quota/page-5434337e59f24de1.js"
19
+ 1d:"static/chunks/app/(dashboard)/dashboard/quota/page-33826a8bc196b7de.js"
20
20
  1e:I[25086,["763","$6","2470","$3","705","$7","3557","$8","5497","$9","3826","$1d"],"CardSkeleton"]
21
21
  1f:I[75095,["763","$6","2470","$3","705","$7","3557","$8","5497","$9","3826","$1d"],"default"]
22
22
  20:I[90484,[],"OutletBoundary"]
@@ -26,7 +26,7 @@ f:I[74581,[],""]
26
26
  26:I[90484,[],"$25"]
27
27
  27:I[86869,[],"IconMark"]
28
28
  :HL["/_next/static/css/ad3cadf3cb03edcb.css","style"]
29
- :HL["/_next/static/css/841943e9a30fe5cd.css","style"]
29
+ :HL["/_next/static/css/d7b388223f36a397.css","style"]
30
30
  12:X
31
31
  18:X
32
32
  18:C
@@ -34,7 +34,7 @@ f:I[74581,[],""]
34
34
  19:[["children",{"s":"quota","h":96,"d":{"r":["$","$1","c",{"children":[null,["$","$Le",null,{"parallelRouterKey":"children","template":["$","$Lf",null,{}]}]]}],"p":"$@1a","v":"$18","s":"$12"},"c":"$Q1b"}]]
35
35
  16:[["children",{"s":"dashboard","h":96,"d":{"r":["$","$1","c",{"children":[null,["$","$Le",null,{"parallelRouterKey":"children","template":["$","$Lf",null,{}]}]]}],"p":"$@17","v":"$18","s":"$12"},"c":"$Q19"}]]
36
36
  13:[["children",{"s":"(dashboard)","h":96,"d":{"r":["$","$1","c",{"children":[null,["$","$L14",null,{"children":["$","$Le",null,{"parallelRouterKey":"children","template":["$","$Lf",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:style","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":"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],[]]}]}]]}],"p":"$@15","v":null,"s":"$12"},"c":"$Q16"}]]
37
- 0:{"t":{"t":{"s":"","h":80,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ad3cadf3cb03edcb.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/841943e9a30fe5cd.css","precedence":"next"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","$L5",null,{"id":"theme-bootstrap","strategy":"beforeInteractive","dangerouslySetInnerHTML":{"__html":"(function(){try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'system';t=t||'system';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'&&m)){document.documentElement.classList.add('dark')}}catch(e){}})();"}}],["$","$L5",null,{"id":"fonts-loaded-bootstrap","strategy":"beforeInteractive","dangerouslySetInnerHTML":{"__html":"var d=document,r=d.documentElement,f=function(){r.classList.add('fonts-loaded')};if(d.fonts&&d.fonts.load){d.fonts.load('24px \"Material Symbols Outlined\"').then(f).catch(f);setTimeout(f,3000)}else{f()}"}}]]}],["$","body",null,{"className":"__variable_d8ebd1 __variable_c219ed font-sans antialiased","children":[["$","$Lb",null,{"children":["$","$Ld",null,{"children":["$","$Le",null,{"parallelRouterKey":"children","template":["$","$Lf",null,{}],"notFound":[[["$","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."}]}]]}]}]],[]]}]}]}],["$","$L10",null,{"gaId":"G-LC959F603F"}]]}]]}]]}],"p":"$@11","v":null,"s":"$12"},"c":"$Q13"},"h":{"r":["$","$1","h",{"children":[null,["$","$L24",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#0a0a0a"}]]}],["$","$L26",null,{"children":[["$","div",null,{"hidden":true,"children":["$","$1c",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"KeyRouter - 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"}],["$","link","3",{"rel":"icon","href":"/favicon.ico?603d046c9a6fdfbb","type":"image/x-icon","sizes":"16x16"}],["$","link","4",{"rel":"icon","href":"/favicon.svg"}],["$","$L27","5",{}]]}]}],null]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"p":"$@28","v":null,"s":"$12"}},"a":"$@29","u":"$@2a","b":"SaAkC7sXHdEDKHids4PIF"}
37
+ 0:{"t":{"t":{"s":"","h":80,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ad3cadf3cb03edcb.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/d7b388223f36a397.css","precedence":"next"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","$L5",null,{"id":"theme-bootstrap","strategy":"beforeInteractive","dangerouslySetInnerHTML":{"__html":"(function(){try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'system';t=t||'system';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'&&m)){document.documentElement.classList.add('dark')}}catch(e){}})();"}}],["$","$L5",null,{"id":"fonts-loaded-bootstrap","strategy":"beforeInteractive","dangerouslySetInnerHTML":{"__html":"var d=document,r=d.documentElement,f=function(){r.classList.add('fonts-loaded')};if(d.fonts&&d.fonts.load){d.fonts.load('24px \"Material Symbols Outlined\"').then(f).catch(f);setTimeout(f,3000)}else{f()}"}}]]}],["$","body",null,{"className":"__variable_d8ebd1 __variable_c219ed font-sans antialiased","children":[["$","$Lb",null,{"children":["$","$Ld",null,{"children":["$","$Le",null,{"parallelRouterKey":"children","template":["$","$Lf",null,{}],"notFound":[[["$","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."}]}]]}]}]],[]]}]}]}],["$","$L10",null,{"gaId":"G-LC959F603F"}]]}]]}]]}],"p":"$@11","v":null,"s":"$12"},"c":"$Q13"},"h":{"r":["$","$1","h",{"children":[null,["$","$L24",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#0a0a0a"}]]}],["$","$L26",null,{"children":[["$","div",null,{"hidden":true,"children":["$","$1c",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"KeyRouter - 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"}],["$","link","3",{"rel":"icon","href":"/favicon.ico?603d046c9a6fdfbb","type":"image/x-icon","sizes":"16x16"}],["$","link","4",{"rel":"icon","href":"/favicon.svg"}],["$","$L27","5",{}]]}]}],null]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"p":"$@28","v":null,"s":"$12"}},"a":"$@29","u":"$@2a","b":"nPdnpoRoh59z5OwsCS3Vd"}
38
38
  21:null
39
39
  12:300
40
40
  2a:true
@@ -1,13 +1,13 @@
1
1
  1:"$Sreact.fragment"
2
2
  2:"static/chunks/3488-fd2f0bdef1a1217a.js"
3
- 3:"static/chunks/2470-e9f1fd5f21c43fac.js"
4
- 4:"static/chunks/app/layout-cd4efdfec7b51ca9.js"
3
+ 3:"static/chunks/2470-73a591ec7a5bdf40.js"
4
+ 4:"static/chunks/app/layout-8e337d947af1970c.js"
5
5
  5:I[42593,["3488","$2","2470","$3","7177","$4"],""]
6
6
  6:"static/chunks/763-64b80a1ab0aa3cfc.js"
7
7
  7:"static/chunks/705-c8a7b6dfca9ca382.js"
8
- 8:"static/chunks/3557-437defff109ccb42.js"
9
- 9:"static/chunks/5497-bd4f9f37c29968bd.js"
10
- a:"static/chunks/app/(dashboard)/layout-18c2613dd78ff66f.js"
8
+ 8:"static/chunks/3557-ab733a862d0bba72.js"
9
+ 9:"static/chunks/5497-b6161d058c4b63f4.js"
10
+ a:"static/chunks/app/(dashboard)/layout-84ba30538381db07.js"
11
11
  b:I[21110,["763","$6","2470","$3","705","$7","3557","$8","5497","$9","9305","$a"],"ThemeProvider"]
12
12
  c:"RuntimeI18nProvider"
13
13
  d:I[94635,["3488","$2","2470","$3","7177","$4"],"$c"]
@@ -16,7 +16,7 @@ f:I[74581,[],""]
16
16
  10:I[30565,["3488","$2","2470","$3","7177","$4"],"GoogleAnalytics"]
17
17
  12:I[30233,["763","$6","2470","$3","705","$7","3557","$8","5497","$9","9305","$a"],"default"]
18
18
  17:"$Sreact.suspense"
19
- 18:"static/chunks/app/(dashboard)/dashboard/quota/page-5434337e59f24de1.js"
19
+ 18:"static/chunks/app/(dashboard)/dashboard/quota/page-33826a8bc196b7de.js"
20
20
  19:I[25086,["763","$6","2470","$3","705","$7","3557","$8","5497","$9","3826","$18"],"CardSkeleton"]
21
21
  1a:I[75095,["763","$6","2470","$3","705","$7","3557","$8","5497","$9","3826","$18"],"default"]
22
22
  1b:I[90484,[],"OutletBoundary"]
@@ -28,13 +28,13 @@ f:I[74581,[],""]
28
28
  :HL["/_next/static/media/36966cca54120369-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
29
29
  :HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
30
30
  :HL["/_next/static/css/ad3cadf3cb03edcb.css","style"]
31
- :HL["/_next/static/css/841943e9a30fe5cd.css","style"]
31
+ :HL["/_next/static/css/d7b388223f36a397.css","style"]
32
32
  14:X
33
33
  16:[["children",{"s":"__PAGE__","h":512,"d":{"r":["$","$1","c",{"children":[["$","$17",null,{"fallback":["$","$L19",null,{}],"children":["$","$L1a",null,{}]}],null,["$","$L1b",null,{"children":["$","$17",null,{"name":"Next.MetadataOutlet","children":"$@1c"}]}]]}],"p":false,"v":null}}]]
34
34
  15:[["children",{"s":"quota","h":512,"d":{"r":["$","$1","c",{"children":[null,["$","$Le",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$Lf",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],"p":false,"v":"$14"},"c":"$Q16"}]]
35
35
  13:[["children",{"s":"dashboard","h":512,"d":{"r":["$","$1","c",{"children":[null,["$","$Le",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$Lf",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],"p":false,"v":"$14"},"c":"$Q15"}]]
36
36
  11:[["children",{"s":"(dashboard)","h":512,"d":{"r":["$","$1","c",{"children":[null,["$","$L12",null,{"children":["$","$Le",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$Lf",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:style","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":"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:t:t:d:r:props:children:1:props:children:1:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}],"p":false,"v":null},"c":"$Q13"}]]
37
- 0:{"P":null,"c":["","dashboard","quota"],"q":"","i":false,"t":{"t":{"s":"","h":528,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ad3cadf3cb03edcb.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/841943e9a30fe5cd.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","$L5",null,{"id":"theme-bootstrap","strategy":"beforeInteractive","dangerouslySetInnerHTML":{"__html":"(function(){try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'system';t=t||'system';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'&&m)){document.documentElement.classList.add('dark')}}catch(e){}})();"}}],["$","$L5",null,{"id":"fonts-loaded-bootstrap","strategy":"beforeInteractive","dangerouslySetInnerHTML":{"__html":"var d=document,r=d.documentElement,f=function(){r.classList.add('fonts-loaded')};if(d.fonts&&d.fonts.load){d.fonts.load('24px \"Material Symbols Outlined\"').then(f).catch(f);setTimeout(f,3000)}else{f()}"}}]]}],["$","body",null,{"className":"__variable_d8ebd1 __variable_c219ed font-sans antialiased","children":[["$","$Lb",null,{"children":["$","$Ld",null,{"children":["$","$Le",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$Lf",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","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."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L10",null,{"gaId":"G-LC959F603F"}]]}]]}]]}],"p":false,"v":null},"c":"$Q11"},"h":{"r":["$","$1","h",{"children":[null,["$","$L1e",null,{"children":"$L1f"}],["$","$L21",null,{"children":[["$","div",null,{"hidden":true,"children":["$","$17",null,{"name":"Next.Metadata","children":"$L22"}]}],null]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"p":false,"v":null}},"m":"$undefined","G":["$23",[]],"S":true,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"SaAkC7sXHdEDKHids4PIF"}
37
+ 0:{"P":null,"c":["","dashboard","quota"],"q":"","i":false,"t":{"t":{"s":"","h":528,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ad3cadf3cb03edcb.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/d7b388223f36a397.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","$L5",null,{"id":"theme-bootstrap","strategy":"beforeInteractive","dangerouslySetInnerHTML":{"__html":"(function(){try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'system';t=t||'system';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'&&m)){document.documentElement.classList.add('dark')}}catch(e){}})();"}}],["$","$L5",null,{"id":"fonts-loaded-bootstrap","strategy":"beforeInteractive","dangerouslySetInnerHTML":{"__html":"var d=document,r=d.documentElement,f=function(){r.classList.add('fonts-loaded')};if(d.fonts&&d.fonts.load){d.fonts.load('24px \"Material Symbols Outlined\"').then(f).catch(f);setTimeout(f,3000)}else{f()}"}}]]}],["$","body",null,{"className":"__variable_d8ebd1 __variable_c219ed font-sans antialiased","children":[["$","$Lb",null,{"children":["$","$Ld",null,{"children":["$","$Le",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$Lf",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","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."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L10",null,{"gaId":"G-LC959F603F"}]]}]]}]]}],"p":false,"v":null},"c":"$Q11"},"h":{"r":["$","$1","h",{"children":[null,["$","$L1e",null,{"children":"$L1f"}],["$","$L21",null,{"children":[["$","div",null,{"hidden":true,"children":["$","$17",null,{"name":"Next.Metadata","children":"$L22"}]}],null]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"p":false,"v":null}},"m":"$undefined","G":["$23",[]],"S":true,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"nPdnpoRoh59z5OwsCS3Vd"}
38
38
  14:C
39
39
  1f:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#0a0a0a"}]]
40
40
  24:I[86869,[],"IconMark"]
@@ -1,9 +1,9 @@
1
1
  :HL["/_next/static/media/36966cca54120369-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
2
2
  :HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
3
3
  :HL["/_next/static/css/ad3cadf3cb03edcb.css","style"]
4
- :HL["/_next/static/css/841943e9a30fe5cd.css","style"]
4
+ :HL["/_next/static/css/d7b388223f36a397.css","style"]
5
5
  4:[["children",{"s":"__PAGE__","h":160}]]
6
6
  3:[["children",{"s":"quota","h":96,"c":"$Q4"}]]
7
7
  2:[["children",{"s":"dashboard","h":96,"c":"$Q3"}]]
8
8
  1:[["children",{"s":"(dashboard)","h":96,"c":"$Q2"}]]
9
- 0:{"b":"SaAkC7sXHdEDKHids4PIF","t":{"t":{"s":"","h":80,"c":"$Q1"}}}
9
+ 0:{"b":"nPdnpoRoh59z5OwsCS3Vd","t":{"t":{"s":"","h":80,"c":"$Q1"}}}
@@ -1 +1 @@
1
- (()=>{var a={};a.id=7370,a.ids=[7370],a.modules={643:a=>{"use strict";a.exports=require("node:perf_hooks")},1708:a=>{"use strict";a.exports=require("node:process")},1932:a=>{"use strict";a.exports=require("url")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3614:(a,b,c)=>{Promise.resolve().then(c.bind(c,50143))},4573:a=>{"use strict";a.exports=require("node:buffer")},7066:a=>{"use strict";a.exports=require("node:tty")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{"use strict";a.exports=require("dns")},16663:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>s,handler:()=>u,routeModule:()=>t});var d=c(21635),e=c(86315),f=c(1020),g=c(61287),h={};for(let a in g)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(h[a]=()=>g[a]);c.d(b,h);let i=(0,d.p)(()=>Promise.resolve().then(c.bind(c,57529))),j=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),k=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),l=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),m=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),n=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),o=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),p=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),q={children:["",{children:["dashboard",{children:["settings",{children:["pricing",{children:["__PAGE__",{},{page:[(0,d.p)(()=>Promise.resolve().then(c.bind(c,93870))),"/home/keyzakyy/Projects/keyrouter/src/app/dashboard/settings/pricing/page.js"]}]},{"global-error":[p,"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[o,"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[n,"next/dist/client/components/builtin/global-error.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,70440)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]},{layout:[i,"/home/keyzakyy/Projects/keyrouter/src/app/layout.js"],"global-error":[j,"next/dist/client/components/builtin/global-error.js"],"not-found":[k,"next/dist/client/components/builtin/not-found.js"],forbidden:[l,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[m,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,70440)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]}.children,r=(0,e.H)({tree:q,page:"/dashboard/settings/pricing/page",pathname:"/dashboard/settings/pricing",require:c,loadChunk:()=>Promise.resolve(),interopDefault:f.T}),s=r.__next_app__,t=r.routeModule,u=r.handler},16698:a=>{"use strict";a.exports=require("node:async_hooks")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{"use strict";a.exports=require("node:child_process")},32467:a=>{"use strict";a.exports=require("node:http2")},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},37067:a=>{"use strict";a.exports=require("node:http")},37540:a=>{"use strict";a.exports=require("node:console")},38522:a=>{"use strict";a.exports=require("node:zlib")},40610:a=>{"use strict";a.exports=require("node:dns")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},46060:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},46293:a=>{"use strict";a.exports=require("sql.js")},48161:a=>{"use strict";a.exports=require("node:os")},50143:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>j});var d=c(48249),e=c(67484),f=c(19099),g=c(17660),h=c(18982);function i({isOpen:a,onClose:b,onSave:c}){let[f,g]=(0,e.useState)({}),[j,k]=(0,e.useState)(!0),[l,m]=(0,e.useState)(!1),n=async()=>{m(!0);try{let a=await fetch("/api/pricing",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(f)});if(a.ok)c?.(),b();else{let b=await a.json();alert(`Failed to save pricing: ${b.error}`)}}catch(a){console.error("Failed to save pricing:",a),alert("Failed to save pricing")}finally{m(!1)}},o=async()=>{if(confirm("Reset all pricing to defaults? This cannot be undone."))try{if((await fetch("/api/pricing",{method:"DELETE"})).ok){let a=(0,h.ad)();g(a)}}catch(a){console.error("Failed to reset pricing:",a),alert("Failed to reset pricing")}};if(!a)return null;let p=Object.keys(f).sort(),q=["input","output","cached","reasoning","cache_creation"];return(0,d.jsx)("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50 p-4",children:(0,d.jsxs)("div",{className:"bg-bg-base border border-border rounded-lg shadow-xl max-w-6xl w-full max-h-[90vh] overflow-hidden flex flex-col",children:[(0,d.jsxs)("div",{className:"p-4 border-b border-border flex items-center justify-between",children:[(0,d.jsx)("h2",{className:"text-xl font-semibold",children:"Pricing Configuration"}),(0,d.jsx)("button",{onClick:b,className:"text-text-muted hover:text-text text-2xl leading-none",children:"\xd7"})]}),(0,d.jsx)("div",{className:"flex-1 overflow-auto p-4",children:j?(0,d.jsx)("div",{className:"text-center py-8 text-text-muted",children:"Loading pricing data..."}):(0,d.jsxs)("div",{className:"space-y-6",children:[(0,d.jsxs)("div",{className:"bg-bg-subtle border border-border rounded-lg p-3 text-sm",children:[(0,d.jsx)("p",{className:"font-medium mb-1",children:"Pricing Rates Format"}),(0,d.jsxs)("p",{className:"text-text-muted",children:["All rates are in ",(0,d.jsx)("strong",{children:"dollars per million tokens"})," ($/1M tokens). Example: Input rate of 2.50 means $2.50 per 1,000,000 input tokens."]})]}),p.map(a=>{let b=Object.keys(f[a]).sort();return(0,d.jsxs)("div",{className:"border border-border rounded-lg overflow-hidden",children:[(0,d.jsx)("div",{className:"bg-bg-subtle px-4 py-2 font-semibold text-sm",children:a.toUpperCase()}),(0,d.jsx)("div",{className:"overflow-x-auto",children:(0,d.jsxs)("table",{className:"w-full text-sm",children:[(0,d.jsx)("thead",{className:"bg-bg-hover text-text-muted uppercase text-xs",children:(0,d.jsxs)("tr",{children:[(0,d.jsx)("th",{className:"px-3 py-2 text-left",children:"Model"}),(0,d.jsx)("th",{className:"px-3 py-2 text-right",children:"Input"}),(0,d.jsx)("th",{className:"px-3 py-2 text-right",children:"Output"}),(0,d.jsx)("th",{className:"px-3 py-2 text-right",children:"Cached"}),(0,d.jsx)("th",{className:"px-3 py-2 text-right",children:"Reasoning"}),(0,d.jsx)("th",{className:"px-3 py-2 text-right",children:"Cache Creation"})]})}),(0,d.jsx)("tbody",{className:"divide-y divide-border",children:b.map(b=>(0,d.jsxs)("tr",{className:"hover:bg-bg-subtle/50",children:[(0,d.jsx)("td",{className:"px-3 py-2 font-medium",children:b}),q.map(c=>(0,d.jsx)("td",{className:"px-3 py-2",children:(0,d.jsx)("input",{type:"number",step:"0.01",min:"0",value:f[a][b][c]||0,onChange:d=>{let e;!isNaN(e=parseFloat(d.target.value))&&!(e<0)&&g(d=>{let f={...d};return f[a]||(f[a]={}),f[a][b]||(f[a][b]={}),f[a][b][c]=e,f})},className:"w-20 px-2 py-1 text-right bg-bg-base border border-border rounded focus:outline-none focus:border-primary"})},c))]},b))})]})})]},a)}),0===p.length&&(0,d.jsx)("div",{className:"text-center py-8 text-text-muted",children:"No pricing data available"})]})}),(0,d.jsxs)("div",{className:"p-4 border-t border-border flex items-center justify-between gap-2",children:[(0,d.jsx)("button",{onClick:o,className:"px-4 py-2 text-sm text-red-500 hover:bg-red-500/10 rounded border border-red-500/20 transition-colors",disabled:l,children:"Reset to Defaults"}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("button",{onClick:b,className:"px-4 py-2 text-sm text-text-muted hover:text-text border border-border rounded transition-colors",disabled:l,children:"Cancel"}),(0,d.jsx)("button",{onClick:n,className:"px-4 py-2 text-sm bg-primary text-white rounded hover:bg-primary/90 transition-colors disabled:opacity-50",disabled:l,children:l?"Saving...":"Save Changes"})]})]})]})})}function j(){(0,f.useRouter)();let[a,b]=(0,e.useState)(!1),[c,h]=(0,e.useState)(null),[j,k]=(0,e.useState)(!0),l=async()=>{k(!0);try{let a=await fetch("/api/pricing");if(a.ok){let b=await a.json();h(b)}}catch(a){console.error("Failed to load pricing:",a)}finally{k(!1)}};return(0,d.jsxs)("div",{className:"max-w-6xl mx-auto p-6 space-y-6",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h1",{className:"text-3xl font-bold",children:"Pricing Settings"}),(0,d.jsx)("p",{className:"text-text-muted mt-1",children:"Configure pricing rates for cost tracking and calculations"})]}),(0,d.jsx)("button",{onClick:()=>b(!0),className:"px-4 py-2 bg-primary text-white rounded hover:bg-primary/90 transition-colors",children:"Edit Pricing"})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[(0,d.jsxs)(g.default,{className:"p-4",children:[(0,d.jsx)("div",{className:"text-text-muted text-sm uppercase font-semibold",children:"Total Models"}),(0,d.jsx)("div",{className:"text-2xl font-bold mt-1",children:j?"...":(()=>{if(!c)return 0;let a=0;for(let b in c)a+=Object.keys(c[b]).length;return a})()})]}),(0,d.jsxs)(g.default,{className:"p-4",children:[(0,d.jsx)("div",{className:"text-text-muted text-sm uppercase font-semibold",children:"Providers"}),(0,d.jsx)("div",{className:"text-2xl font-bold mt-1",children:j?"...":(!c?[]:Object.keys(c).sort()).length})]}),(0,d.jsxs)(g.default,{className:"p-4",children:[(0,d.jsx)("div",{className:"text-text-muted text-sm uppercase font-semibold",children:"Status"}),(0,d.jsx)("div",{className:"text-2xl font-bold mt-1 text-success",children:j?"...":"Active"})]})]}),(0,d.jsxs)(g.default,{className:"p-6",children:[(0,d.jsx)("h2",{className:"text-xl font-semibold mb-4",children:"How Pricing Works"}),(0,d.jsxs)("div",{className:"space-y-3 text-sm text-text-muted",children:[(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Cost Calculation:"})," Costs are calculated based on token usage and pricing rates. Each request's cost is determined by: (input_tokens \xd7 input_rate) + (output_tokens \xd7 output_rate) + (cached_tokens \xd7 cached_rate)"]}),(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Pricing Format:"})," All rates are in ",(0,d.jsx)("strong",{children:"dollars per million tokens"})," ($/1M tokens). Example: An input rate of 2.50 means $2.50 per 1,000,000 input tokens."]}),(0,d.jsx)("p",{children:(0,d.jsx)("strong",{children:"Token Types:"})}),(0,d.jsxs)("ul",{className:"list-disc list-inside ml-4 space-y-1",children:[(0,d.jsxs)("li",{children:[(0,d.jsx)("strong",{children:"Input:"})," Standard prompt tokens"]}),(0,d.jsxs)("li",{children:[(0,d.jsx)("strong",{children:"Output:"})," Completion/response tokens"]}),(0,d.jsxs)("li",{children:[(0,d.jsx)("strong",{children:"Cached:"})," Cached input tokens (typically 50% of input rate)"]}),(0,d.jsxs)("li",{children:[(0,d.jsx)("strong",{children:"Reasoning:"})," Special reasoning/thinking tokens (fallback to output rate)"]}),(0,d.jsxs)("li",{children:[(0,d.jsx)("strong",{children:"Cache Creation:"})," Tokens used to create cache entries (fallback to input rate)"]})]}),(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Custom Pricing:"})," You can override default pricing for specific models. Reset to defaults anytime to restore standard rates."]})]})]}),(0,d.jsxs)(g.default,{className:"p-6",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,d.jsx)("h2",{className:"text-xl font-semibold",children:"Current Pricing Overview"}),(0,d.jsx)("button",{onClick:()=>b(!0),className:"text-primary hover:underline text-sm",children:"View Full Details"})]}),j?(0,d.jsx)("div",{className:"text-center py-4 text-text-muted",children:"Loading pricing data..."}):c?(0,d.jsxs)("div",{className:"space-y-3",children:[Object.keys(c).slice(0,5).map(a=>(0,d.jsxs)("div",{className:"text-sm",children:[(0,d.jsxs)("span",{className:"font-semibold",children:[a.toUpperCase(),":"]})," ",(0,d.jsxs)("span",{className:"text-text-muted",children:[Object.keys(c[a]).length," models"]})]},a)),Object.keys(c).length>5&&(0,d.jsxs)("div",{className:"text-sm text-text-muted",children:["+ ",Object.keys(c).length-5," more providers"]})]}):(0,d.jsx)("div",{className:"text-text-muted",children:"No pricing data available"})]}),a&&(0,d.jsx)(i,{isOpen:a,onClose:()=>b(!1),onSave:()=>{l()}})]})}},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71553:a=>{"use strict";a.exports=require("node:dns/promises")},71622:a=>{"use strict";a.exports=import("open")},72271:a=>{"use strict";a.exports=require("@aws-sdk/credential-providers")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},73496:a=>{"use strict";a.exports=require("http2")},74075:a=>{"use strict";a.exports=require("zlib")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77598:a=>{"use strict";a.exports=require("node:crypto")},78474:a=>{"use strict";a.exports=require("node:events")},79646:a=>{"use strict";a.exports=require("child_process")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81630:a=>{"use strict";a.exports=require("http")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},87997:a=>{"use strict";a.exports=require("node:timers")},91645:a=>{"use strict";a.exports=require("net")},91990:(a,b,c)=>{Promise.resolve().then(c.bind(c,93870))},93870:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/keyzakyy/Projects/keyrouter/src/app/dashboard/settings/pricing/page.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/keyzakyy/Projects/keyrouter/src/app/dashboard/settings/pricing/page.js","default")},94735:a=>{"use strict";a.exports=require("events")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1260,2430,7678,9100,8499,6070,869,915,6457,4123,2172,6777],()=>b(b.s=16663));module.exports=c})();
1
+ (()=>{var a={};a.id=7370,a.ids=[7370],a.modules={643:a=>{"use strict";a.exports=require("node:perf_hooks")},1708:a=>{"use strict";a.exports=require("node:process")},1932:a=>{"use strict";a.exports=require("url")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3614:(a,b,c)=>{Promise.resolve().then(c.bind(c,50143))},4573:a=>{"use strict";a.exports=require("node:buffer")},7066:a=>{"use strict";a.exports=require("node:tty")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{"use strict";a.exports=require("dns")},16663:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>s,handler:()=>u,routeModule:()=>t});var d=c(21635),e=c(86315),f=c(1020),g=c(61287),h={};for(let a in g)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(h[a]=()=>g[a]);c.d(b,h);let i=(0,d.p)(()=>Promise.resolve().then(c.bind(c,57529))),j=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),k=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),l=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),m=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),n=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),o=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),p=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),q={children:["",{children:["dashboard",{children:["settings",{children:["pricing",{children:["__PAGE__",{},{page:[(0,d.p)(()=>Promise.resolve().then(c.bind(c,93870))),"/home/keyzakyy/Projects/keyrouter/src/app/dashboard/settings/pricing/page.js"]}]},{"global-error":[p,"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[o,"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[n,"next/dist/client/components/builtin/global-error.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,70440)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]},{layout:[i,"/home/keyzakyy/Projects/keyrouter/src/app/layout.js"],"global-error":[j,"next/dist/client/components/builtin/global-error.js"],"not-found":[k,"next/dist/client/components/builtin/not-found.js"],forbidden:[l,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[m,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,70440)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]}.children,r=(0,e.H)({tree:q,page:"/dashboard/settings/pricing/page",pathname:"/dashboard/settings/pricing",require:c,loadChunk:()=>Promise.resolve(),interopDefault:f.T}),s=r.__next_app__,t=r.routeModule,u=r.handler},16698:a=>{"use strict";a.exports=require("node:async_hooks")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{"use strict";a.exports=require("node:child_process")},32467:a=>{"use strict";a.exports=require("node:http2")},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},37067:a=>{"use strict";a.exports=require("node:http")},37540:a=>{"use strict";a.exports=require("node:console")},38522:a=>{"use strict";a.exports=require("node:zlib")},40610:a=>{"use strict";a.exports=require("node:dns")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},46060:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},46293:a=>{"use strict";a.exports=require("sql.js")},48161:a=>{"use strict";a.exports=require("node:os")},50143:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>j});var d=c(48249),e=c(67484),f=c(19099),g=c(17660),h=c(18982);function i({isOpen:a,onClose:b,onSave:c}){let[f,g]=(0,e.useState)({}),[j,k]=(0,e.useState)(!0),[l,m]=(0,e.useState)(!1),n=async()=>{m(!0);try{let a=await fetch("/api/pricing",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(f)});if(a.ok)c?.(),b();else{let b=await a.json();alert(`Failed to save pricing: ${b.error}`)}}catch(a){console.error("Failed to save pricing:",a),alert("Failed to save pricing")}finally{m(!1)}},o=async()=>{if(confirm("Reset all pricing to defaults? This cannot be undone."))try{if((await fetch("/api/pricing",{method:"DELETE"})).ok){let a=(0,h.ad)();g(a)}}catch(a){console.error("Failed to reset pricing:",a),alert("Failed to reset pricing")}};if(!a)return null;let p=Object.keys(f).sort(),q=["input","output","cached","reasoning","cache_creation"];return(0,d.jsx)("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50 p-4",children:(0,d.jsxs)("div",{className:"bg-bg-base border border-border rounded-lg shadow-xl max-w-6xl w-full max-h-[90vh] overflow-hidden flex flex-col",children:[(0,d.jsxs)("div",{className:"p-4 border-b border-border flex items-center justify-between",children:[(0,d.jsx)("h2",{className:"text-xl font-semibold",children:"Pricing Configuration"}),(0,d.jsx)("button",{onClick:b,className:"text-text-muted hover:text-text text-2xl leading-none",children:"\xd7"})]}),(0,d.jsx)("div",{className:"flex-1 overflow-auto p-4",children:j?(0,d.jsx)("div",{className:"text-center py-8 text-text-muted",children:"Loading pricing data..."}):(0,d.jsxs)("div",{className:"space-y-6",children:[(0,d.jsxs)("div",{className:"bg-bg-subtle border border-border rounded-lg p-3 text-sm",children:[(0,d.jsx)("p",{className:"font-medium mb-1",children:"Pricing Rates Format"}),(0,d.jsxs)("p",{className:"text-text-muted",children:["All rates are in ",(0,d.jsx)("strong",{children:"dollars per million tokens"})," ($/1M tokens). Example: Input rate of 2.50 means $2.50 per 1,000,000 input tokens."]})]}),p.map(a=>{let b=Object.keys(f[a]).sort();return(0,d.jsxs)("div",{className:"border border-border rounded-lg overflow-hidden",children:[(0,d.jsx)("div",{className:"bg-bg-subtle px-4 py-2 font-semibold text-sm",children:a.toUpperCase()}),(0,d.jsx)("div",{className:"overflow-x-auto",children:(0,d.jsxs)("table",{className:"w-full text-sm",children:[(0,d.jsx)("thead",{className:"bg-bg-hover text-text-muted uppercase text-xs",children:(0,d.jsxs)("tr",{children:[(0,d.jsx)("th",{className:"px-3 py-2 text-left",children:"Model"}),(0,d.jsx)("th",{className:"px-3 py-2 text-right",children:"Input"}),(0,d.jsx)("th",{className:"px-3 py-2 text-right",children:"Output"}),(0,d.jsx)("th",{className:"px-3 py-2 text-right",children:"Cached"}),(0,d.jsx)("th",{className:"px-3 py-2 text-right",children:"Reasoning"}),(0,d.jsx)("th",{className:"px-3 py-2 text-right",children:"Cache Creation"})]})}),(0,d.jsx)("tbody",{className:"divide-y divide-border",children:b.map(b=>(0,d.jsxs)("tr",{className:"hover:bg-bg-subtle/50",children:[(0,d.jsx)("td",{className:"px-3 py-2 font-medium",children:b}),q.map(c=>(0,d.jsx)("td",{className:"px-3 py-2",children:(0,d.jsx)("input",{type:"number",step:"0.01",min:"0",value:f[a][b][c]||0,onChange:d=>{let e;!isNaN(e=parseFloat(d.target.value))&&!(e<0)&&g(d=>{let f={...d};return f[a]||(f[a]={}),f[a][b]||(f[a][b]={}),f[a][b][c]=e,f})},className:"w-20 px-2 py-1 text-right bg-bg-base border border-border rounded focus:outline-none focus:border-primary"})},c))]},b))})]})})]},a)}),0===p.length&&(0,d.jsx)("div",{className:"text-center py-8 text-text-muted",children:"No pricing data available"})]})}),(0,d.jsxs)("div",{className:"p-4 border-t border-border flex items-center justify-between gap-2",children:[(0,d.jsx)("button",{onClick:o,className:"px-4 py-2 text-sm text-red-500 hover:bg-red-500/10 rounded border border-red-500/20 transition-colors",disabled:l,children:"Reset to Defaults"}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("button",{onClick:b,className:"px-4 py-2 text-sm text-text-muted hover:text-text border border-border rounded transition-colors",disabled:l,children:"Cancel"}),(0,d.jsx)("button",{onClick:n,className:"px-4 py-2 text-sm bg-primary text-white dark:text-amber-950 rounded hover:bg-primary/90 transition-colors disabled:opacity-50",disabled:l,children:l?"Saving...":"Save Changes"})]})]})]})})}function j(){(0,f.useRouter)();let[a,b]=(0,e.useState)(!1),[c,h]=(0,e.useState)(null),[j,k]=(0,e.useState)(!0),l=async()=>{k(!0);try{let a=await fetch("/api/pricing");if(a.ok){let b=await a.json();h(b)}}catch(a){console.error("Failed to load pricing:",a)}finally{k(!1)}};return(0,d.jsxs)("div",{className:"max-w-6xl mx-auto p-6 space-y-6",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h1",{className:"text-3xl font-bold",children:"Pricing Settings"}),(0,d.jsx)("p",{className:"text-text-muted mt-1",children:"Configure pricing rates for cost tracking and calculations"})]}),(0,d.jsx)("button",{onClick:()=>b(!0),className:"px-4 py-2 bg-primary text-white dark:text-amber-950 rounded hover:bg-primary/90 transition-colors",children:"Edit Pricing"})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[(0,d.jsxs)(g.default,{className:"p-4",children:[(0,d.jsx)("div",{className:"text-text-muted text-sm uppercase font-semibold",children:"Total Models"}),(0,d.jsx)("div",{className:"text-2xl font-bold mt-1",children:j?"...":(()=>{if(!c)return 0;let a=0;for(let b in c)a+=Object.keys(c[b]).length;return a})()})]}),(0,d.jsxs)(g.default,{className:"p-4",children:[(0,d.jsx)("div",{className:"text-text-muted text-sm uppercase font-semibold",children:"Providers"}),(0,d.jsx)("div",{className:"text-2xl font-bold mt-1",children:j?"...":(!c?[]:Object.keys(c).sort()).length})]}),(0,d.jsxs)(g.default,{className:"p-4",children:[(0,d.jsx)("div",{className:"text-text-muted text-sm uppercase font-semibold",children:"Status"}),(0,d.jsx)("div",{className:"text-2xl font-bold mt-1 text-success",children:j?"...":"Active"})]})]}),(0,d.jsxs)(g.default,{className:"p-6",children:[(0,d.jsx)("h2",{className:"text-xl font-semibold mb-4",children:"How Pricing Works"}),(0,d.jsxs)("div",{className:"space-y-3 text-sm text-text-muted",children:[(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Cost Calculation:"})," Costs are calculated based on token usage and pricing rates. Each request's cost is determined by: (input_tokens \xd7 input_rate) + (output_tokens \xd7 output_rate) + (cached_tokens \xd7 cached_rate)"]}),(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Pricing Format:"})," All rates are in ",(0,d.jsx)("strong",{children:"dollars per million tokens"})," ($/1M tokens). Example: An input rate of 2.50 means $2.50 per 1,000,000 input tokens."]}),(0,d.jsx)("p",{children:(0,d.jsx)("strong",{children:"Token Types:"})}),(0,d.jsxs)("ul",{className:"list-disc list-inside ml-4 space-y-1",children:[(0,d.jsxs)("li",{children:[(0,d.jsx)("strong",{children:"Input:"})," Standard prompt tokens"]}),(0,d.jsxs)("li",{children:[(0,d.jsx)("strong",{children:"Output:"})," Completion/response tokens"]}),(0,d.jsxs)("li",{children:[(0,d.jsx)("strong",{children:"Cached:"})," Cached input tokens (typically 50% of input rate)"]}),(0,d.jsxs)("li",{children:[(0,d.jsx)("strong",{children:"Reasoning:"})," Special reasoning/thinking tokens (fallback to output rate)"]}),(0,d.jsxs)("li",{children:[(0,d.jsx)("strong",{children:"Cache Creation:"})," Tokens used to create cache entries (fallback to input rate)"]})]}),(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{children:"Custom Pricing:"})," You can override default pricing for specific models. Reset to defaults anytime to restore standard rates."]})]})]}),(0,d.jsxs)(g.default,{className:"p-6",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,d.jsx)("h2",{className:"text-xl font-semibold",children:"Current Pricing Overview"}),(0,d.jsx)("button",{onClick:()=>b(!0),className:"text-primary hover:underline text-sm",children:"View Full Details"})]}),j?(0,d.jsx)("div",{className:"text-center py-4 text-text-muted",children:"Loading pricing data..."}):c?(0,d.jsxs)("div",{className:"space-y-3",children:[Object.keys(c).slice(0,5).map(a=>(0,d.jsxs)("div",{className:"text-sm",children:[(0,d.jsxs)("span",{className:"font-semibold",children:[a.toUpperCase(),":"]})," ",(0,d.jsxs)("span",{className:"text-text-muted",children:[Object.keys(c[a]).length," models"]})]},a)),Object.keys(c).length>5&&(0,d.jsxs)("div",{className:"text-sm text-text-muted",children:["+ ",Object.keys(c).length-5," more providers"]})]}):(0,d.jsx)("div",{className:"text-text-muted",children:"No pricing data available"})]}),a&&(0,d.jsx)(i,{isOpen:a,onClose:()=>b(!1),onSave:()=>{l()}})]})}},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71553:a=>{"use strict";a.exports=require("node:dns/promises")},71622:a=>{"use strict";a.exports=import("open")},72271:a=>{"use strict";a.exports=require("@aws-sdk/credential-providers")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},73496:a=>{"use strict";a.exports=require("http2")},74075:a=>{"use strict";a.exports=require("zlib")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77598:a=>{"use strict";a.exports=require("node:crypto")},78474:a=>{"use strict";a.exports=require("node:events")},79646:a=>{"use strict";a.exports=require("child_process")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81630:a=>{"use strict";a.exports=require("http")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},87997:a=>{"use strict";a.exports=require("node:timers")},91645:a=>{"use strict";a.exports=require("net")},91990:(a,b,c)=>{Promise.resolve().then(c.bind(c,93870))},93870:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/keyzakyy/Projects/keyrouter/src/app/dashboard/settings/pricing/page.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/keyzakyy/Projects/keyrouter/src/app/dashboard/settings/pricing/page.js","default")},94735:a=>{"use strict";a.exports=require("events")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1260,2430,7678,9100,8499,6070,869,915,6457,4123,2172,6777],()=>b(b.s=16663));module.exports=c})();