tokenhop 1.0.0 → 1.0.3

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 (622) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +4 -4
  3. package/app/.next-cli-build/build-manifest.json +3 -3
  4. package/app/.next-cli-build/prerender-manifest.json +3 -3
  5. package/app/.next-cli-build/react-loadable-manifest.json +43 -43
  6. package/app/.next-cli-build/required-server-files.json +1 -0
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/[...missing]/page.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/[...missing]/page.js.nft.json +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/[...missing]/page_client-reference-manifest.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js.nft.json +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page_client-reference-manifest.js +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/page.js +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/page.js.nft.json +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  78. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  79. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
  80. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  81. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  82. package/app/.next-cli-build/server/app/(dashboard)/dashboard/ui-kit/page.js +1 -1
  83. package/app/.next-cli-build/server/app/(dashboard)/dashboard/ui-kit/page.js.nft.json +1 -1
  84. package/app/.next-cli-build/server/app/(dashboard)/dashboard/ui-kit/page_client-reference-manifest.js +1 -1
  85. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  86. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  87. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  88. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  89. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  90. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  91. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  92. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  93. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  94. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  95. package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
  96. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  97. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  98. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  99. package/app/.next-cli-build/server/app/_not-found.rsc +5 -5
  100. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +5 -5
  101. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -5
  102. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  103. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  104. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  105. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  107. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  108. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
  111. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
  113. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/cli-tool-settings/[toolId]/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/cli-tool-settings/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
  117. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  119. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  122. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  124. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +3 -3
  126. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  128. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  132. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +3 -3
  136. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +2 -2
  138. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  140. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +2 -2
  142. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +3 -3
  144. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +3 -3
  146. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  148. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  150. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  152. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/combos/[id]/headroom/route.js +1 -1
  154. package/app/.next-cli-build/server/app/api/combos/[id]/headroom/route.js.nft.json +1 -1
  155. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  156. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/combos/[id]/test/route.js +1 -1
  158. package/app/.next-cli-build/server/app/api/combos/[id]/test/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  160. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/gateway/status/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/home/live-routes/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/home/quota/route.js +1 -1
  171. package/app/.next-cli-build/server/app/api/home/quota/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/home/summary/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  176. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  181. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  185. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  187. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js +1 -1
  190. package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  192. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  195. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  197. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  199. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  201. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  203. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  206. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  211. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  212. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  214. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  217. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  219. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +1 -1
  222. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  225. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  226. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  227. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  228. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  229. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  230. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  233. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  235. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  237. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  240. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  243. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  245. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  254. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  257. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  259. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/api/settings/config/export/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/settings/config/import/route.js +1 -1
  262. package/app/.next-cli-build/server/app/api/settings/config/import/route.js.nft.json +1 -1
  263. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  264. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/settings/environment/route.js.nft.json +1 -1
  266. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  267. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  269. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  270. package/app/.next-cli-build/server/app/api/shell/savings-milestone/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/shell/summary/route.js +1 -1
  272. package/app/.next-cli-build/server/app/api/shell/summary/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  274. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  275. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  276. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  278. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  279. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  281. package/app/.next-cli-build/server/app/api/translator/send/route.js +9 -1
  282. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/translator/translate/route.js +9 -1
  284. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  285. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  287. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  288. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  290. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  291. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  292. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  293. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +9 -1
  294. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +9 -1
  296. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  298. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  299. package/app/.next-cli-build/server/app/api/usage/last-activity/route.js.nft.json +1 -1
  300. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  302. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  303. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  304. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  305. package/app/.next-cli-build/server/app/api/usage/savings/route.js.nft.json +1 -1
  306. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  307. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  308. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  309. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  310. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  311. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  312. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  313. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  314. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  315. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  316. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  317. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  318. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +9 -1
  319. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  320. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
  321. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  322. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  323. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  324. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  325. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  326. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js +1 -1
  327. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js.nft.json +1 -1
  328. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  329. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  330. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  331. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  332. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  333. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  334. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  335. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  336. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  337. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  338. package/app/.next-cli-build/server/app/api/v1/search/route.js +2 -2
  339. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  340. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
  341. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  342. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
  343. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  344. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
  345. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  346. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
  347. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  348. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  349. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  350. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  351. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  352. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  353. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  354. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  355. package/app/.next-cli-build/server/app/callback/page.js +1 -1
  356. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  357. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  358. package/app/.next-cli-build/server/app/callback.html +1 -1
  359. package/app/.next-cli-build/server/app/callback.rsc +5 -5
  360. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +5 -5
  361. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  362. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +5 -5
  363. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +2 -2
  364. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +11 -11
  365. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +11 -11
  366. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +11 -11
  367. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  368. package/app/.next-cli-build/server/app/dashboard/combos.html +2 -2
  369. package/app/.next-cli-build/server/app/dashboard/combos.rsc +11 -11
  370. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +11 -11
  371. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +11 -11
  372. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  373. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  374. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +9 -9
  375. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +8 -8
  376. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +9 -9
  377. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  378. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +2 -2
  379. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +11 -11
  380. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +11 -11
  381. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +11 -11
  382. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  383. package/app/.next-cli-build/server/app/dashboard/media-providers.html +1 -1
  384. package/app/.next-cli-build/server/app/dashboard/media-providers.rsc +10 -10
  385. package/app/.next-cli-build/server/app/dashboard/media-providers.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/__PAGE__.segment.rsc +10 -10
  386. package/app/.next-cli-build/server/app/dashboard/media-providers.segments/_full.segment.rsc +10 -10
  387. package/app/.next-cli-build/server/app/dashboard/media-providers.segments/_tree.segment.rsc +2 -2
  388. package/app/.next-cli-build/server/app/dashboard/mitm.html +2 -2
  389. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +11 -11
  390. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +11 -11
  391. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +11 -11
  392. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  393. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  394. package/app/.next-cli-build/server/app/dashboard/profile.rsc +10 -10
  395. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +10 -10
  396. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +10 -10
  397. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  398. package/app/.next-cli-build/server/app/dashboard/providers/new.html +2 -2
  399. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +11 -11
  400. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +11 -11
  401. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +11 -11
  402. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  403. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +2 -2
  404. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +10 -10
  405. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +10 -10
  406. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +10 -10
  407. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  408. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +2 -2
  409. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +10 -10
  410. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +10 -10
  411. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +10 -10
  412. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  413. package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
  414. package/app/.next-cli-build/server/app/dashboard/quota.rsc +11 -11
  415. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +11 -11
  416. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +11 -11
  417. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  418. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
  419. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  420. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  421. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  422. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +5 -5
  423. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -5
  424. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  425. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +5 -5
  426. package/app/.next-cli-build/server/app/dashboard/settings.html +2 -2
  427. package/app/.next-cli-build/server/app/dashboard/settings.rsc +11 -11
  428. package/app/.next-cli-build/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk/dashboard/settings/__PAGE__.segment.rsc +11 -11
  429. package/app/.next-cli-build/server/app/dashboard/settings.segments/_full.segment.rsc +11 -11
  430. package/app/.next-cli-build/server/app/dashboard/settings.segments/_tree.segment.rsc +2 -2
  431. package/app/.next-cli-build/server/app/dashboard/skills.html +2 -2
  432. package/app/.next-cli-build/server/app/dashboard/skills.rsc +8 -8
  433. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +8 -8
  434. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +8 -8
  435. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  436. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  437. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +11 -11
  438. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +11 -11
  439. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +11 -11
  440. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  441. package/app/.next-cli-build/server/app/dashboard/translator.html +2 -2
  442. package/app/.next-cli-build/server/app/dashboard/translator.rsc +11 -11
  443. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +11 -11
  444. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +11 -11
  445. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  446. package/app/.next-cli-build/server/app/dashboard/ui-kit.html +1 -1
  447. package/app/.next-cli-build/server/app/dashboard/ui-kit.rsc +10 -10
  448. package/app/.next-cli-build/server/app/dashboard/ui-kit.segments/!KGRhc2hib2FyZCk/dashboard/ui-kit/__PAGE__.segment.rsc +10 -10
  449. package/app/.next-cli-build/server/app/dashboard/ui-kit.segments/_full.segment.rsc +10 -10
  450. package/app/.next-cli-build/server/app/dashboard/ui-kit.segments/_tree.segment.rsc +2 -2
  451. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  452. package/app/.next-cli-build/server/app/dashboard/usage.rsc +11 -11
  453. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +11 -11
  454. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +11 -11
  455. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  456. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  457. package/app/.next-cli-build/server/app/dashboard.rsc +11 -11
  458. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +11 -11
  459. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +11 -11
  460. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  461. package/app/.next-cli-build/server/app/index.html +1 -1
  462. package/app/.next-cli-build/server/app/index.rsc +5 -5
  463. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +5 -5
  464. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +5 -5
  465. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  466. package/app/.next-cli-build/server/app/landing/page.js +1 -1
  467. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  468. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  469. package/app/.next-cli-build/server/app/landing.html +1 -1
  470. package/app/.next-cli-build/server/app/landing.rsc +6 -6
  471. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +6 -6
  472. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  473. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +6 -6
  474. package/app/.next-cli-build/server/app/login/page.js +1 -1
  475. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  476. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  477. package/app/.next-cli-build/server/app/login.html +1 -1
  478. package/app/.next-cli-build/server/app/login.rsc +5 -5
  479. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
  480. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  481. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +5 -5
  482. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  483. package/app/.next-cli-build/server/app/page.js +1 -1
  484. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  485. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  486. package/app/.next-cli-build/server/app/skills/[...slug]/route.js.nft.json +1 -1
  487. package/app/.next-cli-build/server/app-paths-manifest.json +4 -4
  488. package/app/.next-cli-build/server/chunks/1004.js +1 -0
  489. package/app/.next-cli-build/server/chunks/1152.js +1 -1
  490. package/app/.next-cli-build/server/chunks/1215.js +1 -0
  491. package/app/.next-cli-build/server/chunks/1336.js +1 -1
  492. package/app/.next-cli-build/server/chunks/1432.js +1 -1
  493. package/app/.next-cli-build/server/chunks/1533.js +1 -1
  494. package/app/.next-cli-build/server/chunks/2217.js +1 -1
  495. package/app/.next-cli-build/server/chunks/2380.js +7 -7
  496. package/app/.next-cli-build/server/chunks/24.js +1 -1
  497. package/app/.next-cli-build/server/chunks/2460.js +1 -1
  498. package/app/.next-cli-build/server/chunks/257.js +10 -0
  499. package/app/.next-cli-build/server/chunks/2592.js +1 -1
  500. package/app/.next-cli-build/server/chunks/2705.js +9 -0
  501. package/app/.next-cli-build/server/chunks/318.js +9 -16
  502. package/app/.next-cli-build/server/chunks/3593.js +1 -1
  503. package/app/.next-cli-build/server/chunks/3919.js +1 -1
  504. package/app/.next-cli-build/server/chunks/3943.js +1 -1
  505. package/app/.next-cli-build/server/chunks/4123.js +1 -1
  506. package/app/.next-cli-build/server/chunks/4125.js +1 -1
  507. package/app/.next-cli-build/server/chunks/4334.js +1 -1
  508. package/app/.next-cli-build/server/chunks/4406.js +2 -2
  509. package/app/.next-cli-build/server/chunks/4521.js +1 -1
  510. package/app/.next-cli-build/server/chunks/4730.js +1 -1
  511. package/app/.next-cli-build/server/chunks/4780.js +1 -1
  512. package/app/.next-cli-build/server/chunks/5055.js +1 -0
  513. package/app/.next-cli-build/server/chunks/5230.js +1 -0
  514. package/app/.next-cli-build/server/chunks/{1026.js → 5260.js} +1 -1
  515. package/app/.next-cli-build/server/chunks/5335.js +1 -0
  516. package/app/.next-cli-build/server/chunks/5559.js +9 -0
  517. package/app/.next-cli-build/server/chunks/5615.js +1 -1
  518. package/app/.next-cli-build/server/chunks/5649.js +1 -0
  519. package/app/.next-cli-build/server/chunks/5765.js +1 -0
  520. package/app/.next-cli-build/server/chunks/5827.js +1 -0
  521. package/app/.next-cli-build/server/chunks/5869.js +9 -0
  522. package/app/.next-cli-build/server/chunks/5908.js +1 -0
  523. package/app/.next-cli-build/server/chunks/620.js +1 -0
  524. package/app/.next-cli-build/server/chunks/6252.js +1 -1
  525. package/app/.next-cli-build/server/chunks/6328.js +1 -0
  526. package/app/.next-cli-build/server/chunks/6355.js +1 -0
  527. package/app/.next-cli-build/server/chunks/6493.js +1 -0
  528. package/app/.next-cli-build/server/chunks/6496.js +1 -1
  529. package/app/.next-cli-build/server/chunks/7211.js +1 -1
  530. package/app/.next-cli-build/server/chunks/7485.js +9 -0
  531. package/app/.next-cli-build/server/chunks/7616.js +1 -1
  532. package/app/.next-cli-build/server/chunks/7695.js +1 -0
  533. package/app/.next-cli-build/server/chunks/7716.js +1 -1
  534. package/app/.next-cli-build/server/chunks/7819.js +1 -1
  535. package/app/.next-cli-build/server/chunks/7828.js +1 -1
  536. package/app/.next-cli-build/server/chunks/8171.js +1 -1
  537. package/app/.next-cli-build/server/chunks/8255.js +1 -1
  538. package/app/.next-cli-build/server/chunks/8261.js +1 -0
  539. package/app/.next-cli-build/server/chunks/8416.js +1 -1
  540. package/app/.next-cli-build/server/chunks/878.js +1 -0
  541. package/app/.next-cli-build/server/chunks/8895.js +13 -13
  542. package/app/.next-cli-build/server/chunks/8954.js +1 -0
  543. package/app/.next-cli-build/server/chunks/8988.js +1 -0
  544. package/app/.next-cli-build/server/chunks/9016.js +9 -0
  545. package/app/.next-cli-build/server/chunks/9243.js +1 -0
  546. package/app/.next-cli-build/server/chunks/9326.js +1 -0
  547. package/app/.next-cli-build/server/chunks/9343.js +1 -1
  548. package/app/.next-cli-build/server/chunks/9421.js +1 -1
  549. package/app/.next-cli-build/server/chunks/9489.js +3 -0
  550. package/app/.next-cli-build/server/chunks/9578.js +1 -1
  551. package/app/.next-cli-build/server/chunks/9594.js +1 -0
  552. package/app/.next-cli-build/server/chunks/965.js +1 -1
  553. package/app/.next-cli-build/server/chunks/9899.js +1 -1
  554. package/app/.next-cli-build/server/instrumentation.js +1 -1
  555. package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
  556. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  557. package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
  558. package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
  559. package/app/.next-cli-build/server/pages/404.html +1 -1
  560. package/app/.next-cli-build/server/pages/500.html +1 -1
  561. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  562. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  563. package/app/.next-cli-build/static/chunks/{198-145d0ed2ec3c54f5.js → 198-7c5bbea89ef8bc14.js} +1 -1
  564. package/app/.next-cli-build/static/chunks/{3670-e7a22341025498f8.js → 3670-d6dc44bc181c9b8a.js} +1 -1
  565. package/app/.next-cli-build/static/chunks/5014-a5d960f4c6bc6297.js +1 -0
  566. package/app/.next-cli-build/static/chunks/{6174.18e2c57e892d721a.js → 6174.a18fedfa3d765b1e.js} +1 -1
  567. package/app/.next-cli-build/static/chunks/6448-71a8c2ac8d9ecc09.js +1 -0
  568. package/app/.next-cli-build/static/chunks/7899-a12f962af02edf7f.js +1 -0
  569. package/app/.next-cli-build/static/chunks/8105-71d1aea9708976db.js +1 -0
  570. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/{page-8147ae8fa9c04381.js → page-42bfc760fbea3b96.js} +1 -1
  571. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/{page-9cbf62f78701882a.js → page-1df6ad7d9adfc2a7.js} +1 -1
  572. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-5f91e148400a241b.js → page-59ee0b412f972940.js} +3 -3
  573. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-dac4ab98fc595054.js → page-25d06b77bd1a5edb.js} +1 -1
  574. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-463f9fa33be9426a.js +1 -0
  575. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/{page-06f4e52ee3b63f82.js → page-5bb99ecaf48bde39.js} +1 -1
  576. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/ui-kit/{page-6c982cc50b6af101.js → page-1bc393f267badc04.js} +1 -1
  577. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-923f864ec0be0fc8.js +1 -0
  578. package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-dd9d1e49b2f69197.js → layout-a94f45e334f1841b.js} +1 -1
  579. package/app/.next-cli-build/static/chunks/app/landing/{page-02b7bfebd65c41f1.js → page-98f05847e3372b16.js} +1 -1
  580. package/app/.next-cli-build/static/chunks/app/{layout-c266f1acedfb4651.js → layout-29d74e164758a126.js} +1 -1
  581. package/app/.next-cli-build/static/chunks/webpack-1e19a4b05298b49d.js +1 -0
  582. package/app/.next-cli-build/static/css/{9f0b95a0d0bc5e51.css → ffa1d9c3cbb4e959.css} +1 -1
  583. package/app/custom-server.js +0 -37
  584. package/app/package.json +4 -5
  585. package/app/server.js +1 -1
  586. package/app/src/lib/db/adapters/sqljsAdapter.js +39 -4
  587. package/app/src/lib/oauth/services/xai.js +19 -12
  588. package/app/src/shared/services/quotaAutoPing.js +43 -8
  589. package/app/src/shared/services/quotaSnapshotPoller.js +2 -1
  590. package/app/src/sse/services/backgroundTokenRefresh.js +13 -1
  591. package/package.json +1 -1
  592. package/src/cli/menus/combos.js +3 -1
  593. package/app/.next-cli-build/server/chunks/1764.js +0 -1
  594. package/app/.next-cli-build/server/chunks/2384.js +0 -1
  595. package/app/.next-cli-build/server/chunks/3093.js +0 -1
  596. package/app/.next-cli-build/server/chunks/3306.js +0 -1
  597. package/app/.next-cli-build/server/chunks/331.js +0 -1
  598. package/app/.next-cli-build/server/chunks/3414.js +0 -1
  599. package/app/.next-cli-build/server/chunks/3558.js +0 -1
  600. package/app/.next-cli-build/server/chunks/3586.js +0 -1
  601. package/app/.next-cli-build/server/chunks/3676.js +0 -1
  602. package/app/.next-cli-build/server/chunks/4037.js +0 -1
  603. package/app/.next-cli-build/server/chunks/4199.js +0 -2
  604. package/app/.next-cli-build/server/chunks/4278.js +0 -1
  605. package/app/.next-cli-build/server/chunks/6158.js +0 -1
  606. package/app/.next-cli-build/server/chunks/6354.js +0 -1
  607. package/app/.next-cli-build/server/chunks/6734.js +0 -1
  608. package/app/.next-cli-build/server/chunks/6769.js +0 -1
  609. package/app/.next-cli-build/server/chunks/7261.js +0 -1
  610. package/app/.next-cli-build/server/chunks/7901.js +0 -1
  611. package/app/.next-cli-build/server/chunks/8372.js +0 -1
  612. package/app/.next-cli-build/server/chunks/8635.js +0 -3
  613. package/app/.next-cli-build/server/chunks/994.js +0 -1
  614. package/app/.next-cli-build/static/chunks/5014-a441cde708542153.js +0 -1
  615. package/app/.next-cli-build/static/chunks/6448-4eabf683083596e6.js +0 -1
  616. package/app/.next-cli-build/static/chunks/7899-e6a70cb9d3684f7f.js +0 -1
  617. package/app/.next-cli-build/static/chunks/8105-5c7e7c73b4bd532d.js +0 -1
  618. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-9fadf2c38665c20c.js +0 -1
  619. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-7571538830147099.js +0 -1
  620. package/app/.next-cli-build/static/chunks/webpack-187fa25c98ba99f3.js +0 -1
  621. /package/app/.next-cli-build/static/{3Qm_WgU2xvFJ9U_G7SKhT → gdVYVwJMM6JES9Y1KPQyw}/_buildManifest.js +0 -0
  622. /package/app/.next-cli-build/static/{3Qm_WgU2xvFJ9U_G7SKhT → gdVYVwJMM6JES9Y1KPQyw}/_ssgManifest.js +0 -0
@@ -1,2 +1,2 @@
1
- <!DOCTYPE html><html lang="en" class="__variable_ac327c __variable_ebdb69 __variable_db7957 __variable_614881"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/22a5144ee8d83bca-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/2b5b02fc7e511755-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/7d4881bb7e1bf84d-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/9d5a263311222317-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/a3e6e8037ffa1953.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/aa016aab0e6d1295-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/c7e0cf6c760983e7-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/9f0b95a0d0bc5e51.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-187fa25c98ba99f3.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-0a1186eb85c3950f.js" async=""></script><script src="/_next/static/chunks/main-app-cf38df0bac48d0de.js" async=""></script><script src="/_next/static/chunks/3670-e7a22341025498f8.js" async=""></script><script src="/_next/static/chunks/app/layout-c266f1acedfb4651.js" async=""></script><script src="/_next/static/chunks/1610-54cdd36a7d983e62.js" async=""></script><script src="/_next/static/chunks/4070-c76ef7302b944563.js" async=""></script><script src="/_next/static/chunks/9233-7c1e356386d4e864.js" async=""></script><script src="/_next/static/chunks/9671-13bf0a1dd082ad39.js" async=""></script><script src="/_next/static/chunks/4685-8a4450325e60133c.js" async=""></script><script src="/_next/static/chunks/2903-5612a657f163e2fe.js" async=""></script><script src="/_next/static/chunks/7899-e6a70cb9d3684f7f.js" async=""></script><script src="/_next/static/chunks/1863-07d1c4c60eabc139.js" async=""></script><script src="/_next/static/chunks/5014-a441cde708542153.js" async=""></script><script src="/_next/static/chunks/8105-5c7e7c73b4bd532d.js" async=""></script><script src="/_next/static/chunks/198-145d0ed2ec3c54f5.js" async=""></script><script src="/_next/static/chunks/7505-ca9d79ac294d5e1d.js" async=""></script><script src="/_next/static/chunks/4588-174b18f1f2ff2cdb.js" async=""></script><script src="/_next/static/chunks/9284-61f162b7e4e8e29a.js" async=""></script><script src="/_next/static/chunks/4321-43ee628717578b08.js" async=""></script><script src="/_next/static/chunks/3343-ceaef2b087f3b07c.js" async=""></script><script src="/_next/static/chunks/2577-fc8581b39b97c9e7.js" async=""></script><script src="/_next/static/chunks/1039-ecf160a888ab92fc.js" async=""></script><script src="/_next/static/chunks/9518-fcc2c02ff35bf27c.js" async=""></script><script src="/_next/static/chunks/3671-e99f2f50ba62277e.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/dashboard/error-b49a63f5b486ee1d.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/dashboard/pxpipe/page-6b6b3f4066ef5323.js" async=""></script><meta name="theme-color" content="#f3f1ea" media="(prefers-color-scheme: light)"/><meta name="theme-color" content="#0d0e12" media="(prefers-color-scheme: dark)"/><title>tokenhop - 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="/brand/favicon.svg" type="image/svg+xml"/><link rel="icon" href="/brand/favicon.ico"/><meta name="next-size-adjust" content=""/><script>(function(){var r=document.documentElement;try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'dark';t=t||'dark';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'&&m)){r.classList.add('dark')}else{r.classList.remove('dark')}}catch(e){r.classList.add('dark')}try{var c=document.cookie.match(/(?:^|; )locale=([^;]*)/);var l=c?decodeURIComponent(c[1]):'en';if(l==='zh')l='zh-CN';if(["en","vi","zh-CN","zh-TW","ja","pt-BR","pt-PT","ko","es","de","fr","he","ar","ru","pl","cs","nl","tr","uk","tl","id","km","th","hi","bn","ur","ro","sv","it","el","hu","fi","da","no","fa"].indexOf(l)<0)l='en';r.lang=l;if(["ar","he","fa","ur"].indexOf(l)>=0)r.dir='rtl'}catch(e){}})();</script><script>(function(){try{var m=document.cookie.match(/(?:^|; )nr-density=([^;]*)/);if(m&&decodeURIComponent(m[1])==='compact'){document.documentElement.classList.add('compact-density')}}catch(e){}})();</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen w-full overflow-hidden bg-bg text-text"><a href="#main-content" class="sr-only focus:not-sr-only focus:absolute focus:start-4 focus:top-4 focus:z-[90] focus:rounded-lg focus:bg-panel focus:px-3 focus:py-2 focus:text-sm focus:shadow-card">Skip to content</a><div aria-live="polite" class="fixed end-4 top-4 z-[80] flex w-[min(92vw,380px)] flex-col gap-2"></div><div class="hidden lg:flex"><aside class="flex h-full min-h-0 w-[248px] shrink-0 flex-col gap-5 border-e border-line bg-panel px-4 pt-6 pb-4 text-text"><div class="flex items-center gap-2.5 px-2"><a class="flex items-center gap-2.5 focus-visible:outline-none focus-visible:shadow-focus" href="/dashboard"><span class="flex items-center gap-2.5 "><svg aria-hidden="true" viewBox="0 0 64 64" width="36" height="36" class="" focusable="false"><rect width="64" height="64" rx="16" fill="var(--signal-coral)"></rect><path d="M25 11V41.5C25 48.5 28.8 52 35.5 52H40" fill="none" stroke="currentColor" stroke-width="7.5" stroke-linecap="round"></path><path d="M14 26.5C22 18.5 34 18 42 24" fill="none" stroke="currentColor" stroke-width="6.5" stroke-linecap="round"></path><path d="M43 29a6.5 6.5 0 1 0 13 0a6.5 6.5 0 1 0-13 0z" fill="currentColor"></path></svg><span class="font-display font-bold tracking-[-0.02em] text-text" style="font-size:22px">tokenhop</span></span></a><span class="ms-auto max-w-[7.5rem] truncate rounded-md border border-line px-1.5 py-0.5 font-mono text-[11px] whitespace-nowrap text-muted" title="v1.0.0" data-i18n-skip="true">v1.0.0</span></div><div role="status" aria-label="Gateway status loading" class="flex h-[54px] animate-pulse items-center gap-2.5 rounded-xl bg-lime-bg px-3 py-2.5"><span class="size-2 shrink-0 rounded-full bg-lime-ink" aria-hidden="true"></span><div class="flex min-w-0 flex-1 flex-col gap-0.5"><span class="h-[17px] w-24 rounded bg-line"></span><span class="h-[15px] w-32 rounded bg-line"></span></div></div><nav aria-label="Main" class="flex min-h-0 flex-1 flex-col gap-[18px] overflow-y-auto custom-scrollbar"><div class="flex flex-col gap-0.5"><p class="px-3 pb-1.5 text-[11px] font-semibold uppercase tracking-[0.1em] text-subtle">Route</p><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">home</span><span class="min-w-0 flex-1 truncate">Home</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/providers"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">dns</span><span class="min-w-0 flex-1 truncate">Providers</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/combos"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">layers</span><span class="min-w-0 flex-1 truncate">Combos</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/endpoint"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">api</span><span class="min-w-0 flex-1 truncate">Endpoint &amp; keys</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a></div><div class="flex flex-col gap-0.5"><p class="px-3 pb-1.5 text-[11px] font-semibold uppercase tracking-[0.1em] text-subtle">Watch</p><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/usage"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">bar_chart</span><span class="min-w-0 flex-1 truncate">Usage</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/quota"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">data_usage</span><span class="min-w-0 flex-1 truncate">Quota</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/console-log"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">terminal</span><span class="min-w-0 flex-1 truncate">Console log</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a></div><div class="flex flex-col gap-0.5"><p class="px-3 pb-1.5 text-[11px] font-semibold uppercase tracking-[0.1em] text-subtle">Tune</p><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/token-saver"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">savings</span><span class="min-w-0 flex-1 truncate">Token saver</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/cli-tools"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">terminal</span><span class="min-w-0 flex-1 truncate">CLI tools</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/media-providers"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">perm_media</span><span class="min-w-0 flex-1 truncate">Media providers</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/proxy-pools"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">lan</span><span class="min-w-0 flex-1 truncate">Proxy pools</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/skills"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">extension</span><span class="min-w-0 flex-1 truncate">Skills</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/settings"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">settings</span><span class="min-w-0 flex-1 truncate">Settings</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a></div></nav><div class="flex items-center gap-2.5 border-t border-line px-2 pt-3"><span class="flex size-8 shrink-0 items-center justify-center rounded-full bg-sky font-display text-sm font-bold text-bg" aria-hidden="true">A</span><div class="flex min-w-0 flex-1 flex-col"><p class="truncate text-[13px] font-semibold text-text">Admin</p><p class="truncate text-xs text-muted">Password</p></div><button class="flex items-center justify-center size-10 rounded-full text-muted hover:text-text hover:bg-raised transition-colors size-11 rounded-[10px] border border-line bg-transparent hover:border-subtle" aria-label="Switch to light mode" title="Switch to light mode"><span class="material-symbols-outlined text-[22px]">light_mode</span></button><button aria-haspopup="menu" aria-expanded="false" type="button" aria-label="Account menu" class="inline-flex size-10 shrink-0 items-center justify-center rounded-lg border border-line bg-raised text-muted transition-colors duration-150 hover:bg-line/60 hover:text-text focus-visible:outline-none focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 size-11"><span class="material-symbols-outlined text-[20px]" aria-hidden="true">more_vert</span></button></div></aside></div><main id="main-content" tabindex="-1" class="relative isolate flex h-full min-w-0 flex-1 flex-col"><header class="flex shrink-0 flex-wrap items-end gap-x-3 gap-y-2 px-4 pt-6 pb-4 lg:px-10 lg:pt-7 lg:pb-5"><div class="flex shrink-0 items-center lg:hidden"><button aria-controls="mobile-sidebar-drawer" aria-expanded="false" type="button" aria-label="Open navigation" class="inline-flex size-10 shrink-0 items-center justify-center rounded-lg border border-line bg-raised text-muted transition-colors duration-150 hover:bg-line/60 hover:text-text focus-visible:outline-none focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50"><span class="material-symbols-outlined text-[20px]" aria-hidden="true">menu</span></button></div><div class="flex min-w-0 flex-1 flex-col gap-1 sm:max-w-[28rem]"><p class="truncate text-xs font-medium text-muted lg:text-sm">Service status, token savings, history and install logs.</p><h1 class="font-display text-xl leading-tight font-bold tracking-[-0.02em] text-text max-sm:line-clamp-2 max-sm:break-words sm:truncate sm:text-2xl xl:text-[42px] xl:leading-[1.05]" title="PXPIPE dashboard">PXPIPE dashboard</h1></div><div class="flex shrink-0 items-center justify-end gap-2 sm:min-w-0 sm:flex-1"><button type="button" aria-label="Open command palette" aria-haspopup="dialog" class="flex h-11 items-center gap-2.5 rounded-xl border border-line bg-raised px-3 text-start text-sm text-muted transition-colors hover:border-line/80 hover:text-text focus-visible:outline-none focus-visible:shadow-focus max-sm:size-11 max-sm:justify-center max-sm:px-0 sm:min-w-[140px] sm:max-w-[320px] sm:flex-1"><span class="material-symbols-outlined shrink-0 text-[18px] text-muted" aria-hidden="true">search</span><span class="min-w-0 flex-1 truncate text-xs text-subtle sm:text-sm max-sm:hidden">Jump to provider, model, combo…</span><span class="hidden shrink-0 items-center gap-1 sm:flex" aria-hidden="true"><kbd class="inline-flex h-5 min-w-5 items-center justify-center rounded-md border border-line bg-raised px-1.5 font-mono text-[11px] font-medium text-subtle">⌘K</kbd></span></button><div class="hidden min-w-0 items-center gap-2 sm:contents"><button type="button" aria-label="Support tokenhop" class="inline-flex size-10 shrink-0 items-center justify-center rounded-lg border border-line bg-raised text-muted transition-colors duration-150 hover:bg-line/60 hover:text-text focus-visible:outline-none focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 text-coral hover:bg-coral-bg hover:text-coral-ink"><span class="material-symbols-outlined text-[20px]" aria-hidden="true">volunteer_activism</span></button><button data-i18n-skip="true" type="button" aria-label="Language: English" class="inline-flex size-10 shrink-0 items-center justify-center rounded-lg border border-line bg-raised text-muted transition-colors duration-150 hover:bg-line/60 hover:text-text focus-visible:outline-none focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 w-auto gap-1 px-2.5"><span class="material-symbols-outlined text-[20px]" aria-hidden="true">translate</span><span class="font-mono text-xs font-semibold" aria-hidden="true">EN</span></button></div><span class="hidden sm:inline-flex"><button aria-haspopup="menu" aria-expanded="false" type="button" aria-label="Menu" class="inline-flex size-10 shrink-0 items-center justify-center rounded-lg border border-line bg-raised text-muted transition-colors duration-150 hover:bg-line/60 hover:text-text focus-visible:outline-none focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 border-transparent bg-transparent hover:bg-raised"><span class="material-symbols-outlined text-[20px]" aria-hidden="true">grid_view</span></button></span><span class="inline-flex sm:hidden"><button aria-haspopup="menu" aria-expanded="false" type="button" aria-label="Menu" class="inline-flex size-10 shrink-0 items-center justify-center rounded-lg border border-line bg-raised text-muted transition-colors duration-150 hover:bg-line/60 hover:text-text focus-visible:outline-none focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 border-transparent bg-transparent hover:bg-raised"><span class="material-symbols-outlined text-[20px]" aria-hidden="true">more_vert</span></button></span></div></header><div class="custom-scrollbar flex-1 overflow-y-auto p-4 lg:px-10 lg:pt-7 lg:pb-8"><div class="mx-auto w-full max-w-7xl"><!--$?--><template id="B:0"></template><div role="status" aria-label="Loading dashboard" class="flex flex-col gap-6"><div class="flex flex-col gap-2" aria-hidden="true"><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-3 w-full"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-3 w-2/3"></div></div><div class="grid gap-4 md:grid-cols-3"><div class="rounded-2xl border border-line bg-panel p-6 shadow-card"><div class="mb-4 flex items-center justify-between"><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-4 w-24"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised size-10 rounded-[10px]"></div></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised mb-2 h-8 w-16"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-3 w-20"></div></div><div class="rounded-2xl border border-line bg-panel p-6 shadow-card"><div class="mb-4 flex items-center justify-between"><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-4 w-24"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised size-10 rounded-[10px]"></div></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised mb-2 h-8 w-16"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-3 w-20"></div></div><div class="rounded-2xl border border-line bg-panel p-6 shadow-card"><div class="mb-4 flex items-center justify-between"><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-4 w-24"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised size-10 rounded-[10px]"></div></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised mb-2 h-8 w-16"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-3 w-20"></div></div></div></div><!--/$--></div></div></main></div><p role="status" aria-live="polite" class="sr-only"></p><script>requestAnimationFrame(function(){$RT=performance.now()});</script><script src="/_next/static/chunks/webpack-187fa25c98ba99f3.js" id="_R_" async=""></script><div hidden id="S:0"><div class="flex flex-col gap-5"><div class="flex flex-wrap items-center justify-between gap-3"><p class="text-xs font-semibold uppercase tracking-[0.08em] text-subtle">Experimental</p><div class="flex items-center gap-2"><a class="text-sm text-coral hover:underline focus-visible:outline-none focus-visible:shadow-focus" href="/dashboard/token-saver">Token saver settings</a><button class="inline-flex items-center justify-center gap-2 font-semibold transition-all duration-150 ease-out cursor-pointer active:scale-[0.97] focus-visible:outline-none focus-visible:shadow-focus disabled:opacity-50 disabled:cursor-not-allowed disabled:active:scale-100 aria-disabled:opacity-50 aria-disabled:cursor-not-allowed aria-disabled:active:scale-100 bg-transparent text-text border border-line hover:bg-raised h-10 px-3 text-sm rounded-lg" disabled="" aria-busy="true"><span class="material-symbols-outlined animate-spin text-[18px]" aria-hidden="true">progress_activity</span>Refresh</button></div></div><div class="grid grid-cols-2 gap-3 md:grid-cols-3 lg:grid-cols-6"><div class="rounded-2xl border border-line bg-panel shadow-card p-6 p-4"><p class="text-xs uppercase tracking-wide text-muted">Status</p><span class="inline-flex items-center gap-1.5 rounded-full font-semibold whitespace-nowrap bg-raised text-muted shadow-[inset_0_0_0_1px_var(--signal-line)] h-5 px-2 text-[11px]"><span aria-hidden="true" class="size-2 rounded-full bg-current"></span>—</span><p class="mt-0.5 text-xs text-muted">Disabled in pipeline</p></div><div class="rounded-2xl border border-line bg-panel shadow-card p-6 p-4"><p class="text-xs uppercase tracking-wide text-muted">Version</p><p class="mt-1 font-mono text-xl font-semibold ">—</p><p class="text-xs text-muted">pxpipe-proxy</p></div><div class="rounded-2xl border border-line bg-panel shadow-card p-6 p-4"><p class="text-xs uppercase tracking-wide text-muted">Uptime</p><p class="mt-1 font-mono text-xl font-semibold ">—</p><p class="text-xs text-muted">module loaded</p></div><div class="rounded-2xl border border-line bg-panel shadow-card p-6 p-4"><p class="text-xs uppercase tracking-wide text-muted">Requests</p><p class="mt-1 font-mono text-xl font-semibold ">—</p></div><div class="rounded-2xl border border-line bg-panel shadow-card p-6 p-4"><p class="text-xs uppercase tracking-wide text-muted">Compressed</p><p class="mt-1 font-mono text-xl font-semibold text-ok">—</p></div><div class="rounded-2xl border border-line bg-panel shadow-card p-6 p-4"><p class="text-xs uppercase tracking-wide text-muted">Bypassed</p><p class="mt-1 font-mono text-xl font-semibold ">—</p></div></div><div class="rounded-2xl border border-line bg-panel shadow-card p-6"><div class="flex flex-wrap items-center justify-between gap-3 mb-4"><div class="flex min-w-0 items-center gap-3"><div class="min-w-0"><h2 class="font-display text-lg font-bold text-text">Token savings (estimated)</h2></div></div></div><div role="radiogroup" aria-label="Savings window" class="inline-flex items-center gap-0.5 rounded-lg border border-line bg-raised p-1 overflow-x-auto"><button type="button" role="radio" aria-checked="false" tabindex="-1" class="inline-flex shrink-0 items-center gap-1.5 rounded-md px-3 font-semibold transition-colors duration-200 focus-visible:shadow-focus motion-reduce:transition-none h-9 text-xs text-muted hover:text-text">Today</button><button type="button" role="radio" aria-checked="false" tabindex="-1" class="inline-flex shrink-0 items-center gap-1.5 rounded-md px-3 font-semibold transition-colors duration-200 focus-visible:shadow-focus motion-reduce:transition-none h-9 text-xs text-muted hover:text-text">Yesterday</button><button type="button" role="radio" aria-checked="true" tabindex="0" class="inline-flex shrink-0 items-center gap-1.5 rounded-md px-3 font-semibold transition-colors duration-200 focus-visible:shadow-focus motion-reduce:transition-none h-9 text-xs bg-text text-bg">7 days</button><button type="button" role="radio" aria-checked="false" tabindex="-1" class="inline-flex shrink-0 items-center gap-1.5 rounded-md px-3 font-semibold transition-colors duration-200 focus-visible:shadow-focus motion-reduce:transition-none h-9 text-xs text-muted hover:text-text">30 days</button><button type="button" role="radio" aria-checked="false" tabindex="-1" class="inline-flex shrink-0 items-center gap-1.5 rounded-md px-3 font-semibold transition-colors duration-200 focus-visible:shadow-focus motion-reduce:transition-none h-9 text-xs text-muted hover:text-text">All time</button></div><div class="mt-4 grid grid-cols-2 gap-4 text-center md:grid-cols-4"><div><p class="text-xs text-muted">Original tokens</p><p class="font-mono text-lg font-semibold text-text">—</p></div><div><p class="text-xs text-muted">After PXPIPE</p><p class="font-mono text-lg font-semibold text-text">—</p></div><div><p class="text-xs text-muted">Saved</p><p class="font-mono text-lg font-semibold text-ok">—</p></div><div><p class="text-xs text-muted">Reduction</p><p class="font-mono text-lg font-semibold text-ok">—</p></div></div><p class="mt-3 text-xs text-muted">Estimates from body size before/after imaging; billed usage per request (recorded on the Usage page) remains the ground truth. Images generated:<!-- --> <!-- -->—<!-- --> · avg compression time:<!-- --> <!-- -->—<!-- --> · errors: <!-- -->—</p></div><div class="rounded-2xl border border-line bg-panel shadow-card p-6"><div class="flex flex-wrap items-center justify-between gap-3 mb-4"><div class="flex min-w-0 items-center gap-3"><div class="min-w-0"><h2 class="font-display text-lg font-bold text-text">Tokens saved — last 30 days</h2></div></div></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-32 w-full"></div></div><div class="rounded-2xl border border-line bg-panel shadow-card"><div class="flex flex-wrap items-center justify-between gap-3 mb-4"><div class="flex min-w-0 items-center gap-3"><div class="min-w-0"><h2 class="font-display text-lg font-bold text-text">History</h2></div></div></div><section class="overflow-x-auto focus-visible:shadow-focus" aria-label="PXPIPE history" tabindex="0"><table class="w-full text-sm"><thead><tr class="border-b border-line text-start text-xs text-muted"><th scope="col" class="py-2 pe-3 ps-4 text-start font-medium">Time</th><th scope="col" class="py-2 pe-3 text-start font-medium">Model</th><th scope="col" class="py-2 pe-3 text-end font-medium">Original</th><th scope="col" class="py-2 pe-3 text-end font-medium">Compressed</th><th scope="col" class="py-2 pe-3 text-end font-medium">Saved</th><th scope="col" class="py-2 pe-3 text-end font-medium">%</th><th scope="col" class="py-2 pe-3 text-end font-medium">Duration</th><th scope="col" class="py-2 pe-4 text-start font-medium">Status</th></tr></thead><tbody><tr><td colSpan="8" class="py-6 text-center text-sm text-muted">No PXPIPE activity yet</td></tr></tbody></table></section></div><div class="rounded-2xl border border-line bg-panel shadow-card p-6" id="logs"><div class="flex flex-wrap items-center justify-between gap-3 mb-4"><div class="flex min-w-0 items-center gap-3"><div class="min-w-0"><h2 class="font-display text-lg font-bold text-text">PXPIPE logs</h2></div></div></div><p class="text-sm text-muted">No install log yet.</p></div></div><!--$--><!--/$--></div><script>$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d||"/&"===d)if(0===h)break;else h--;else"$"!==d&&"$?"!==d&&"$~"!==d&&"$!"!==d&&"&"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data="$";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};
2
- $RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data="$~",$RB.push(a,b),2===$RB.length&&("number"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};$RC("B:0","S:0")</script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[24597,[\"3670\",\"static/chunks/3670-e7a22341025498f8.js\",\"7177\",\"static/chunks/app/layout-c266f1acedfb4651.js\"],\"default\"]\n3:I[21110,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"4070\",\"static/chunks/4070-c76ef7302b944563.js\",\"9233\",\"static/chunks/9233-7c1e356386d4e864.js\",\"9671\",\"static/chunks/9671-13bf0a1dd082ad39.js\",\"4685\",\"static/chunks/4685-8a4450325e60133c.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7899\",\"static/chunks/7899-e6a70cb9d3684f7f.js\",\"1863\",\"static/chunks/1863-07d1c4c60eabc139.js\",\"5014\",\"static/chunks/5014-a441cde708542153.js\",\"8105\",\"static/chunks/8105-5c7e7c73b4bd532d.js\",\"198\",\"static/chunks/198-145d0ed2ec3c54f5.js\",\"7505\",\"static/chunks/7505-ca9d79ac294d5e1d.js\",\"4588\",\"static/chunks/4588-174b18f1f2ff2cdb.js\",\"9284\",\"static/chunks/9284-61f162b7e4e8e29a.js\",\"4321\",\"static/chunks/4321-43ee628717578b08.js\",\"3343\",\"static/chunks/3343-ceaef2b087f3b07c.js\",\"2577\",\"static/chunks/2577-fc8581b39b97c9e7.js\",\"1039\",\"static/chunks/1039-ecf160a888ab92fc.js\",\"9518\",\"static/chunks/9518-fcc2c02ff35bf27c.js\",\"3671\",\"static/chunks/3671-e99f2f50ba62277e.js\",\"6337\",\"static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js\"],\"ThemeProvider\"]\n4:I[94635,[\"3670\",\"static/chunks/3670-e7a22341025498f8.js\",\"7177\",\"static/chunks/app/layout-c266f1acedfb4651.js\"],\"RuntimeI18nProvider\"]\n5:I[57121,[],\"\"]\n6:I[74581,[],\"\"]\n7:I[22577,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"4070\",\"static/chunks/4070-c76ef7302b944563.js\",\"9233\",\"static/chunks/9233-7c1e356386d4e864.js\",\"9671\",\"static/chunks/9671-13bf0a1dd082ad39.js\",\"4685\",\"static/chunks/4685-8a4450325e60133c.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7899\",\"static/chunks/7899-e6a70cb9d3684f7f.js\",\"1863\",\"static/chunks/1863-07d1c4c60eabc139.js\",\"5014\",\"static/chunks/5014-a441cde708542153.js\",\"8105\",\"static/chunks/8105-5c7e7c73b4bd532d.js\",\"198\",\"static/chunks/198-145d0ed2ec3c54f5.js\",\"7505\",\"static/chunks/7505-ca9d79ac294d5e1d.js\",\"4588\",\"static/chunks/4588-174b18f1f2ff2cdb.js\",\"9284\",\"static/chunks/9284-61f162b7e4e8e29a.js\",\"4321\",\"static/chunks/4321-43ee628717578b08.js\",\"3343\",\"static/chunks/3343-ceaef2b087f3b07c.js\",\"2577\",\"static/chunks/2577-fc8581b39b97c9e7.js\",\"1039\",\"static/chunks/1039-ecf160a888ab92fc.js\",\"9518\",\"static/chunks/9518-fcc2c02ff35bf27c.js\",\"3671\",\"static/chunks/3671-e99f2f50ba62277e.js\",\"6337\",\"static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js\"],\"default\"]\n8:I[57121,[],\"LoadingBoundaryProvider\"]\n9:I[25086,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"4070\",\"static/chunks/4070-c76ef7302b944563.js\",\"9233\",\"static/chunks/9233-7c1e356386d4e864.js\",\"9671\",\"static/chunks/9671-13bf0a1dd082ad39.js\",\"4685\",\"static/chunks/4685-8a4450325e60133c.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7899\",\"static/chunks/7899-e6a70cb9d3684f7f.js\",\"1863\",\"static/chunks/1863-07d1c4c60eabc139.js\",\"5014\",\"static/chunks/5014-a441cde708542153.js\",\"8105\",\"static/chunks/8105-5c7e7c73b4bd532d.js\",\"198\",\"static/chunks/198-145d0ed2ec3c54f5.js\",\"7505\",\"static/chunks/7505-ca9d79ac294d5e1d.js\",\"4588\",\"static/chunks/4588-174b18f1f2ff2cdb.js\",\"9284\",\"static/chunks/9284-61f162b7e4e8e29a.js\",\"4321\",\"static/chunks/4321-43ee628717578b08.js\",\"3343\",\"static/chunks/3343-ceaef2b087f3b07c.js\",\"2577\",\"static/chunks/2577-fc8581b39b97c9e7.js\",\"1039\",\"static/chunks/1039-ecf160a888ab92fc.js\",\"9518\",\"static/chunks/9518-fcc2c02ff35bf27c.js\",\"3671\",\"static/chunks/3671-e99f2f50ba62277e.js\",\"6337\",\"static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js\"],\"SkeletonText\"]\na:I[25086,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"4070\",\"static/chunks/4070-c76ef7302b944563.js\",\"9233\",\"static/chunks/9233-7c1e356386d4e864.js\",\"9671\",\"static/chunks/9671-13bf0a1dd082ad39.js\",\"4685\",\"static/chunks/4685-8a4450325e60133c.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7899\",\"static/chunks/7899-e6a70cb9d3684f7f.js\",\"1863\",\"static/chunks/1863-07d1c4c60eabc139.js\",\"5014\",\"static/chunks/5014-a441cde708542153.js\",\"8105\",\"static/chunks/8105-5c7e7c73b4bd532d.js\",\"198\",\"static/chunks/198-145d0ed2ec3c54f5.js\",\"7505\",\"static/chunks/7505-ca9d79ac294d5e1d.js\",\"4588\",\"static/chunks/4588-174b18f1f2ff2cdb.js\",\"9284\",\"static/chunks/9284-61f162b7e4e8e29a.js\",\"4321\",\"static/chunks/4321-43ee628717578b08.js\",\"3343\",\"static/chunks/3343-ceaef2b087f3b07c.js\",\"2577\",\"static/chunks/2577-fc8581b39b97c9e7.js\",\"1039\",\"static/chunks/1039-ecf160a888ab92fc.js\",\"9518\",\"static/chunks/9518-fcc2c02ff35bf27c.js\",\"3671\",\"static/chunks/3671-e99f2f50ba62277e.js\",\"6337\",\"static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js\"],\"CardSkeleton\"]\n10:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/22a5144ee8d83bca-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/2b5b02fc7e511755-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/7d4881bb7e1bf84d-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/9d5a263311222317-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/a3e6e8037ffa1953.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/aa016aab0e6d1295-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/c7e0cf6c760983e7-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/9f0b95a0d0bc5e51.css\",\"style\"]\ne:X\n0:{\"P\":null,\"c\":[\"\",\"dashboard\",\"pxpipe\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"(dashboard)\",{\"children\":[\"dashboard\",{\"children\":[\"pxpipe\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4612]},\"$undefined\",\"$undefined\",4616]},\"$undefined\",\"$undefined\",4632],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9f0b95a0d0bc5e51.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_ac327c __variable_ebdb69 __variable_db7957 __variable_614881\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){var r=document.documentElement;try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'dark';t=t||'dark';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'\u0026\u0026m)){r.classList.add('dark')}else{r.classList.remove('dark')}}catch(e){r.classList.add('dark')}try{var c=document.cookie.match(/(?:^|; )locale=([^;]*)/);var l=c?decodeURIComponent(c[1]):'en';if(l==='zh')l='zh-CN';if([\\\"en\\\",\\\"vi\\\",\\\"zh-CN\\\",\\\"zh-TW\\\",\\\"ja\\\",\\\"pt-BR\\\",\\\"pt-PT\\\",\\\"ko\\\",\\\"es\\\",\\\"de\\\",\\\"fr\\\",\\\"he\\\",\\\"ar\\\",\\\"ru\\\",\\\"pl\\\",\\\"cs\\\",\\\"nl\\\",\\\"tr\\\",\\\"uk\\\",\\\"tl\\\",\\\"id\\\",\\\"km\\\",\\\"th\\\",\\\"hi\\\",\\\"bn\\\",\\\"ur\\\",\\\"ro\\\",\\\"sv\\\",\\\"it\\\",\\\"el\\\",\\\"hu\\\",\\\"fi\\\",\\\"da\\\",\\\"no\\\",\\\"fa\\\"].indexOf(l)\u003c0)l='en';r.lang=l;if([\\\"ar\\\",\\\"he\\\",\\\"fa\\\",\\\"ur\\\"].indexOf(l)\u003e=0)r.dir='rtl'}catch(e){}})();\"}}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var m=document.cookie.match(/(?:^|; )nr-density=([^;]*)/);if(m\u0026\u0026decodeURIComponent(m[1])==='compact'){document.documentElement.classList.add('compact-density')}}catch(e){}})();\"}}]]}],[\"$\",\"body\",null,{\"className\":\"font-sans antialiased\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",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\"}]}]}]]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:1: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:f:0:1:0:props:children:1:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:1: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\"}]}]]}],{\"children\":[[\"$\",\"$L8\",null,{\"loading\":[[\"$\",\"div\",\"l\",{\"role\":\"status\",\"aria-label\":\"Loading dashboard\",\"className\":\"flex flex-col gap-6\",\"children\":[[\"$\",\"$L9\",null,{\"lines\":2}],[\"$\",\"div\",null,{\"className\":\"grid gap-4 md:grid-cols-3\",\"children\":[[\"$\",\"$La\",null,{}],[\"$\",\"$La\",null,{}],[\"$\",\"$La\",null,{}]]}]]}],[],null],\"children\":\"$Lb\"}],{\"children\":[\"$Lc\",{\"children\":[\"$Ld\",{},null,false,null]},null,false,\"$e\"]},null,false,\"$e\"]},null,false,null]},null,false,null],\"$Lf\",false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"3Qm_WgU2xvFJ9U_G7SKhT\"}\n11:I[44394,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"2274\",\"static/chunks/app/(dashboard)/dashboard/error-b49a63f5b486ee1d.js\"],\"default\"]\n12:I[99312,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"4070\",\"static/chunks/4070-c76ef7302b944563.js\",\"9233\",\"static/chunks/9233-7c1e356386d4e864.js\",\"9671\",\"static/chunks/9671-13bf0a1dd082ad39.js\",\"4685\",\"static/chunks/4685-8a4450325e60133c.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7899\",\"static/chunks/7899-e6a70cb9d3684f7f.js\",\"1863\",\"static/chunks/1863-07d1c4c60eabc139.js\",\"5014\",\"static/chunks/5014-a441cde708542153.js\",\"8105\",\"static/chunks/8105-5c7e7c73b4bd532d.js\",\"198\",\"static/chunks/198-145d0ed2ec3c54f5.js\",\"7505\",\"static/chunks/7505-ca9d79ac294d5e1d.js\",\"4588\",\"static/chunks/4588-174b18f1f2ff2cdb.js\",\"9284\",\"static/chunks/9284-61f162b7e4e8e29a.js\",\"4321\",\"static/chunks/4321-43ee628717578b08.js\",\"3343\",\"static/chunks/3343-ceaef2b087f3b07c.js\",\"2577\",\"static/chunks/2577-fc8581b39b97c9e7.js\",\"1039\",\"static/chunks/1039-ecf160a888ab92fc.js\",\"9518\",\"static/chunks/9518-fcc2c02ff35bf27c.js\",\"3671\",\"static/chunks/3671-e99f2f50ba62277e.js\",\"6337\",\"static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js\"],\"default\"]\n13:I[92542,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"4070\",\"static/chunks/4070-c76ef7302b944563.js\",\"9233\",\"static/chunks/9233-7c1e356386d4e864.js\",\"9671\",\"static/chunks/9671-13bf0a1dd082ad39.js\",\"4685\",\"static/chunks/4685-8a4450325e60133c.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7899\",\"static/chunks/7899-e6a70cb9d3684f7f.js\",\"1863\",\"static/chunks/1863-07d1c4c60eabc139.js\",\"5014\",\"static/chunks/5014-a441cde708542153.js\",\"8105\",\"static/chunks/8105-5c7e7c73b4bd532d.js\",\"198\",\"static/chunks/198-145d0ed2ec3c54f5.js\",\"7505\",\"static/chunks/7505-ca9d79ac294d5e1d.js\",\"4588\",\"static/chunks/4588-174b18f1f2ff2cdb.js\",\"9284\",\"static/chunks/9284-61f162b7e4e8e29a.js\",\"4321\",\"static/chunks/4321-43ee628717578b08.js\",\"3343\",\"static/chunks/3343-ceaef2b087f3b07c.js\",\"2577\",\"static/chunks/2577-fc8581b39b97c9e7.js\",\"1039\",\"static/chunks/1039-ecf160a888ab92fc.js\",\"9518\",\"static/chunks/9518-fcc2c02ff35bf27c.js\",\"3671\",\"static/chunks/3671-e99f2f50ba62277e.js\",\"6337\",\"static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js\"],\"default\"]\n14:I[71470,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7414\",\"static/chunks/app/(dashboard)/dashboard/pxpipe/page-6b6b3f4066ef5323.js\"],\"default\"]\n15:I[90484,[],\"OutletBoundary\"]\n16:\"$Sreact.suspense\"\n18:I[90484,[],\"ViewportBoundary\"]\n1a:I[90484,[],\"MetadataBoundary\"]\nb:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$11\",\"errorStyles\":[],\"errorScripts\":null,\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"section\",null,{\"className\":\"rounded-[20px] border border-line bg-panel shadow-card\",\"children\":[\"$\",\"$L12\",null,{\"as\":\"h1\",\"icon\":\"search_off\",\"title\":\"Page not found\",\"body\":\"This dashboard page doesn't exist. Go home or press ⌘K to find a page.\",\"action\":[\"$\",\"$L13\",null,{\"href\":\"/dashboard\",\"variant\":\"secondary\",\"iconRight\":\"arrow_forward\",\"children\":\"Back home\"}]}]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\nc:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\nd:[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L14\",null,{}],null,[\"$\",\"$L15\",null,{\"children\":[\"$\",\"$16\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@17\"}]}]]}]\nf:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L18\",null,{\"children\":\"$L19\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L1a\",null,{\"children\":[\"$\",\"$16\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L1b\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\ne:C\n19:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#f3f1ea\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"content\":\"#0d0e12\",\"media\":\"(prefers-color-scheme: dark)\"}]]\n1c:I[86869,[],\"IconMark\"]\n17:null\n1b:[[\"$\",\"title\",\"0\",{\"children\":\"tokenhop - 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\":\"/brand/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/brand/favicon.ico\"}],[\"$\",\"$L1c\",\"5\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en" class="__variable_0d2d87 __variable_4994ab __variable_258e5a __variable_614881"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/22a5144ee8d83bca-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/2b5b02fc7e511755-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/7d4881bb7e1bf84d-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/9d5a263311222317-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/a3e6e8037ffa1953.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/aa016aab0e6d1295-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/c7e0cf6c760983e7-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/ffa1d9c3cbb4e959.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-1e19a4b05298b49d.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-0a1186eb85c3950f.js" async=""></script><script src="/_next/static/chunks/main-app-cf38df0bac48d0de.js" async=""></script><script src="/_next/static/chunks/3670-d6dc44bc181c9b8a.js" async=""></script><script src="/_next/static/chunks/app/layout-29d74e164758a126.js" async=""></script><script src="/_next/static/chunks/1610-54cdd36a7d983e62.js" async=""></script><script src="/_next/static/chunks/4070-c76ef7302b944563.js" async=""></script><script src="/_next/static/chunks/9233-7c1e356386d4e864.js" async=""></script><script src="/_next/static/chunks/9671-13bf0a1dd082ad39.js" async=""></script><script src="/_next/static/chunks/4685-8a4450325e60133c.js" async=""></script><script src="/_next/static/chunks/2903-5612a657f163e2fe.js" async=""></script><script src="/_next/static/chunks/7899-a12f962af02edf7f.js" async=""></script><script src="/_next/static/chunks/1863-07d1c4c60eabc139.js" async=""></script><script src="/_next/static/chunks/5014-a5d960f4c6bc6297.js" async=""></script><script src="/_next/static/chunks/8105-71d1aea9708976db.js" async=""></script><script src="/_next/static/chunks/198-7c5bbea89ef8bc14.js" async=""></script><script src="/_next/static/chunks/7505-ca9d79ac294d5e1d.js" async=""></script><script src="/_next/static/chunks/4588-174b18f1f2ff2cdb.js" async=""></script><script src="/_next/static/chunks/9284-61f162b7e4e8e29a.js" async=""></script><script src="/_next/static/chunks/4321-43ee628717578b08.js" async=""></script><script src="/_next/static/chunks/3343-ceaef2b087f3b07c.js" async=""></script><script src="/_next/static/chunks/2577-fc8581b39b97c9e7.js" async=""></script><script src="/_next/static/chunks/1039-ecf160a888ab92fc.js" async=""></script><script src="/_next/static/chunks/9518-fcc2c02ff35bf27c.js" async=""></script><script src="/_next/static/chunks/3671-e99f2f50ba62277e.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/dashboard/error-b49a63f5b486ee1d.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/dashboard/pxpipe/page-6b6b3f4066ef5323.js" async=""></script><meta name="theme-color" content="#f3f1ea" media="(prefers-color-scheme: light)"/><meta name="theme-color" content="#0d0e12" media="(prefers-color-scheme: dark)"/><title>tokenhop - 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="/brand/favicon.svg" type="image/svg+xml"/><link rel="icon" href="/brand/favicon.ico"/><meta name="next-size-adjust" content=""/><script>(function(){var r=document.documentElement;try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'dark';t=t||'dark';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'&&m)){r.classList.add('dark')}else{r.classList.remove('dark')}}catch(e){r.classList.add('dark')}try{var c=document.cookie.match(/(?:^|; )locale=([^;]*)/);var l=c?decodeURIComponent(c[1]):'en';if(l==='zh')l='zh-CN';if(["en","vi","zh-CN","zh-TW","ja","pt-BR","pt-PT","ko","es","de","fr","he","ar","ru","pl","cs","nl","tr","uk","tl","id","km","th","hi","bn","ur","ro","sv","it","el","hu","fi","da","no","fa"].indexOf(l)<0)l='en';r.lang=l;if(["ar","he","fa","ur"].indexOf(l)>=0)r.dir='rtl'}catch(e){}})();</script><script>(function(){try{var m=document.cookie.match(/(?:^|; )nr-density=([^;]*)/);if(m&&decodeURIComponent(m[1])==='compact'){document.documentElement.classList.add('compact-density')}}catch(e){}})();</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen w-full overflow-hidden bg-bg text-text"><a href="#main-content" class="sr-only focus:not-sr-only focus:absolute focus:start-4 focus:top-4 focus:z-[90] focus:rounded-lg focus:bg-panel focus:px-3 focus:py-2 focus:text-sm focus:shadow-card">Skip to content</a><div aria-live="polite" class="fixed end-4 top-4 z-[80] flex w-[min(92vw,380px)] flex-col gap-2"></div><div class="hidden lg:flex"><aside class="flex h-full min-h-0 w-[248px] shrink-0 flex-col gap-5 border-e border-line bg-panel px-4 pt-6 pb-4 text-text"><div class="flex items-center gap-2.5 px-2"><a class="flex items-center gap-2.5 focus-visible:outline-none focus-visible:shadow-focus" href="/dashboard"><span class="flex items-center gap-2.5 "><svg aria-hidden="true" viewBox="0 0 64 64" width="36" height="36" class="" focusable="false"><rect width="64" height="64" rx="16" fill="var(--signal-coral)"></rect><path d="M25 11V41.5C25 48.5 28.8 52 35.5 52H40" fill="none" stroke="currentColor" stroke-width="7.5" stroke-linecap="round"></path><path d="M14 26.5C22 18.5 34 18 42 24" fill="none" stroke="currentColor" stroke-width="6.5" stroke-linecap="round"></path><path d="M43 29a6.5 6.5 0 1 0 13 0a6.5 6.5 0 1 0-13 0z" fill="currentColor"></path></svg><span class="font-display font-bold tracking-[-0.02em] text-text" style="font-size:22px">tokenhop</span></span></a><span class="ms-auto max-w-[7.5rem] truncate rounded-md border border-line px-1.5 py-0.5 font-mono text-[11px] whitespace-nowrap text-muted" title="v1.0.3" data-i18n-skip="true">v1.0.3</span></div><div role="status" aria-label="Gateway status loading" class="flex h-[54px] animate-pulse items-center gap-2.5 rounded-xl bg-lime-bg px-3 py-2.5"><span class="size-2 shrink-0 rounded-full bg-lime-ink" aria-hidden="true"></span><div class="flex min-w-0 flex-1 flex-col gap-0.5"><span class="h-[17px] w-24 rounded bg-line"></span><span class="h-[15px] w-32 rounded bg-line"></span></div></div><nav aria-label="Main" class="flex min-h-0 flex-1 flex-col gap-[18px] overflow-y-auto custom-scrollbar"><div class="flex flex-col gap-0.5"><p class="px-3 pb-1.5 text-[11px] font-semibold uppercase tracking-[0.1em] text-subtle">Route</p><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">home</span><span class="min-w-0 flex-1 truncate">Home</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/providers"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">dns</span><span class="min-w-0 flex-1 truncate">Providers</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/combos"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">layers</span><span class="min-w-0 flex-1 truncate">Combos</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/endpoint"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">api</span><span class="min-w-0 flex-1 truncate">Endpoint &amp; keys</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a></div><div class="flex flex-col gap-0.5"><p class="px-3 pb-1.5 text-[11px] font-semibold uppercase tracking-[0.1em] text-subtle">Watch</p><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/usage"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">bar_chart</span><span class="min-w-0 flex-1 truncate">Usage</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/quota"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">data_usage</span><span class="min-w-0 flex-1 truncate">Quota</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/console-log"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">terminal</span><span class="min-w-0 flex-1 truncate">Console log</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a></div><div class="flex flex-col gap-0.5"><p class="px-3 pb-1.5 text-[11px] font-semibold uppercase tracking-[0.1em] text-subtle">Tune</p><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/token-saver"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">savings</span><span class="min-w-0 flex-1 truncate">Token saver</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/cli-tools"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">terminal</span><span class="min-w-0 flex-1 truncate">CLI tools</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/media-providers"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">perm_media</span><span class="min-w-0 flex-1 truncate">Media providers</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/proxy-pools"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">lan</span><span class="min-w-0 flex-1 truncate">Proxy pools</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/skills"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">extension</span><span class="min-w-0 flex-1 truncate">Skills</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a><a class="flex h-9 items-center gap-3 rounded-[10px] px-3 text-sm font-medium transition-colors text-muted hover:text-text hover:bg-raised" href="/dashboard/settings"><span class="material-symbols-outlined text-[18px]" aria-hidden="true">settings</span><span class="min-w-0 flex-1 truncate">Settings</span><span aria-hidden="true" class="min-w-[28px] shrink-0 rounded-full px-[7px] py-px text-center font-mono text-[11px] invisible bg-raised text-muted"></span></a></div></nav><div class="flex items-center gap-2.5 border-t border-line px-2 pt-3"><span class="flex size-8 shrink-0 items-center justify-center rounded-full bg-sky font-display text-sm font-bold text-bg" aria-hidden="true">A</span><div class="flex min-w-0 flex-1 flex-col"><p class="truncate text-[13px] font-semibold text-text">Admin</p><p class="truncate text-xs text-muted">Password</p></div><button class="flex items-center justify-center size-10 rounded-full text-muted hover:text-text hover:bg-raised transition-colors size-11 rounded-[10px] border border-line bg-transparent hover:border-subtle" aria-label="Switch to light mode" title="Switch to light mode"><span class="material-symbols-outlined text-[22px]">light_mode</span></button><button aria-haspopup="menu" aria-expanded="false" type="button" aria-label="Account menu" class="inline-flex size-10 shrink-0 items-center justify-center rounded-lg border border-line bg-raised text-muted transition-colors duration-150 hover:bg-line/60 hover:text-text focus-visible:outline-none focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 size-11"><span class="material-symbols-outlined text-[20px]" aria-hidden="true">more_vert</span></button></div></aside></div><main id="main-content" tabindex="-1" class="relative isolate flex h-full min-w-0 flex-1 flex-col"><header class="flex shrink-0 flex-wrap items-end gap-x-3 gap-y-2 px-4 pt-6 pb-4 lg:px-10 lg:pt-7 lg:pb-5"><div class="flex shrink-0 items-center lg:hidden"><button aria-controls="mobile-sidebar-drawer" aria-expanded="false" type="button" aria-label="Open navigation" class="inline-flex size-10 shrink-0 items-center justify-center rounded-lg border border-line bg-raised text-muted transition-colors duration-150 hover:bg-line/60 hover:text-text focus-visible:outline-none focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50"><span class="material-symbols-outlined text-[20px]" aria-hidden="true">menu</span></button></div><div class="flex min-w-0 flex-1 flex-col gap-1 sm:max-w-[28rem]"><p class="truncate text-xs font-medium text-muted lg:text-sm">Service status, token savings, history and install logs.</p><h1 class="font-display text-xl leading-tight font-bold tracking-[-0.02em] text-text max-sm:line-clamp-2 max-sm:break-words sm:truncate sm:text-2xl xl:text-[42px] xl:leading-[1.05]" title="PXPIPE dashboard">PXPIPE dashboard</h1></div><div class="flex shrink-0 items-center justify-end gap-2 sm:min-w-0 sm:flex-1"><button type="button" aria-label="Open command palette" aria-haspopup="dialog" class="flex h-11 items-center gap-2.5 rounded-xl border border-line bg-raised px-3 text-start text-sm text-muted transition-colors hover:border-line/80 hover:text-text focus-visible:outline-none focus-visible:shadow-focus max-sm:size-11 max-sm:justify-center max-sm:px-0 sm:min-w-[140px] sm:max-w-[320px] sm:flex-1"><span class="material-symbols-outlined shrink-0 text-[18px] text-muted" aria-hidden="true">search</span><span class="min-w-0 flex-1 truncate text-xs text-subtle sm:text-sm max-sm:hidden">Jump to provider, model, combo…</span><span class="hidden shrink-0 items-center gap-1 sm:flex" aria-hidden="true"><kbd class="inline-flex h-5 min-w-5 items-center justify-center rounded-md border border-line bg-raised px-1.5 font-mono text-[11px] font-medium text-subtle">⌘K</kbd></span></button><div class="hidden min-w-0 items-center gap-2 sm:contents"><button type="button" aria-label="Support tokenhop" class="inline-flex size-10 shrink-0 items-center justify-center rounded-lg border border-line bg-raised text-muted transition-colors duration-150 hover:bg-line/60 hover:text-text focus-visible:outline-none focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 text-coral hover:bg-coral-bg hover:text-coral-ink"><span class="material-symbols-outlined text-[20px]" aria-hidden="true">volunteer_activism</span></button><button data-i18n-skip="true" type="button" aria-label="Language: English" class="inline-flex size-10 shrink-0 items-center justify-center rounded-lg border border-line bg-raised text-muted transition-colors duration-150 hover:bg-line/60 hover:text-text focus-visible:outline-none focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 w-auto gap-1 px-2.5"><span class="material-symbols-outlined text-[20px]" aria-hidden="true">translate</span><span class="font-mono text-xs font-semibold" aria-hidden="true">EN</span></button></div><span class="hidden sm:inline-flex"><button aria-haspopup="menu" aria-expanded="false" type="button" aria-label="Menu" class="inline-flex size-10 shrink-0 items-center justify-center rounded-lg border border-line bg-raised text-muted transition-colors duration-150 hover:bg-line/60 hover:text-text focus-visible:outline-none focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 border-transparent bg-transparent hover:bg-raised"><span class="material-symbols-outlined text-[20px]" aria-hidden="true">grid_view</span></button></span><span class="inline-flex sm:hidden"><button aria-haspopup="menu" aria-expanded="false" type="button" aria-label="Menu" class="inline-flex size-10 shrink-0 items-center justify-center rounded-lg border border-line bg-raised text-muted transition-colors duration-150 hover:bg-line/60 hover:text-text focus-visible:outline-none focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 border-transparent bg-transparent hover:bg-raised"><span class="material-symbols-outlined text-[20px]" aria-hidden="true">more_vert</span></button></span></div></header><div class="custom-scrollbar flex-1 overflow-y-auto p-4 lg:px-10 lg:pt-7 lg:pb-8"><div class="mx-auto w-full max-w-7xl"><!--$?--><template id="B:0"></template><div role="status" aria-label="Loading dashboard" class="flex flex-col gap-6"><div class="flex flex-col gap-2" aria-hidden="true"><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-3 w-full"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-3 w-2/3"></div></div><div class="grid gap-4 md:grid-cols-3"><div class="rounded-2xl border border-line bg-panel p-6 shadow-card"><div class="mb-4 flex items-center justify-between"><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-4 w-24"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised size-10 rounded-[10px]"></div></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised mb-2 h-8 w-16"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-3 w-20"></div></div><div class="rounded-2xl border border-line bg-panel p-6 shadow-card"><div class="mb-4 flex items-center justify-between"><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-4 w-24"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised size-10 rounded-[10px]"></div></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised mb-2 h-8 w-16"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-3 w-20"></div></div><div class="rounded-2xl border border-line bg-panel p-6 shadow-card"><div class="mb-4 flex items-center justify-between"><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-4 w-24"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised size-10 rounded-[10px]"></div></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised mb-2 h-8 w-16"></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-3 w-20"></div></div></div></div><!--/$--></div></div></main></div><p role="status" aria-live="polite" class="sr-only"></p><script>requestAnimationFrame(function(){$RT=performance.now()});</script><script src="/_next/static/chunks/webpack-1e19a4b05298b49d.js" id="_R_" async=""></script><div hidden id="S:0"><div class="flex flex-col gap-5"><div class="flex flex-wrap items-center justify-between gap-3"><p class="text-xs font-semibold uppercase tracking-[0.08em] text-subtle">Experimental</p><div class="flex items-center gap-2"><a class="text-sm text-coral hover:underline focus-visible:outline-none focus-visible:shadow-focus" href="/dashboard/token-saver">Token saver settings</a><button class="inline-flex items-center justify-center gap-2 font-semibold transition-all duration-150 ease-out cursor-pointer active:scale-[0.97] focus-visible:outline-none focus-visible:shadow-focus disabled:opacity-50 disabled:cursor-not-allowed disabled:active:scale-100 aria-disabled:opacity-50 aria-disabled:cursor-not-allowed aria-disabled:active:scale-100 bg-transparent text-text border border-line hover:bg-raised h-10 px-3 text-sm rounded-lg" disabled="" aria-busy="true"><span class="material-symbols-outlined animate-spin text-[18px]" aria-hidden="true">progress_activity</span>Refresh</button></div></div><div class="grid grid-cols-2 gap-3 md:grid-cols-3 lg:grid-cols-6"><div class="rounded-2xl border border-line bg-panel shadow-card p-6 p-4"><p class="text-xs uppercase tracking-wide text-muted">Status</p><span class="inline-flex items-center gap-1.5 rounded-full font-semibold whitespace-nowrap bg-raised text-muted shadow-[inset_0_0_0_1px_var(--signal-line)] h-5 px-2 text-[11px]"><span aria-hidden="true" class="size-2 rounded-full bg-current"></span>—</span><p class="mt-0.5 text-xs text-muted">Disabled in pipeline</p></div><div class="rounded-2xl border border-line bg-panel shadow-card p-6 p-4"><p class="text-xs uppercase tracking-wide text-muted">Version</p><p class="mt-1 font-mono text-xl font-semibold ">—</p><p class="text-xs text-muted">pxpipe-proxy</p></div><div class="rounded-2xl border border-line bg-panel shadow-card p-6 p-4"><p class="text-xs uppercase tracking-wide text-muted">Uptime</p><p class="mt-1 font-mono text-xl font-semibold ">—</p><p class="text-xs text-muted">module loaded</p></div><div class="rounded-2xl border border-line bg-panel shadow-card p-6 p-4"><p class="text-xs uppercase tracking-wide text-muted">Requests</p><p class="mt-1 font-mono text-xl font-semibold ">—</p></div><div class="rounded-2xl border border-line bg-panel shadow-card p-6 p-4"><p class="text-xs uppercase tracking-wide text-muted">Compressed</p><p class="mt-1 font-mono text-xl font-semibold text-ok">—</p></div><div class="rounded-2xl border border-line bg-panel shadow-card p-6 p-4"><p class="text-xs uppercase tracking-wide text-muted">Bypassed</p><p class="mt-1 font-mono text-xl font-semibold ">—</p></div></div><div class="rounded-2xl border border-line bg-panel shadow-card p-6"><div class="flex flex-wrap items-center justify-between gap-3 mb-4"><div class="flex min-w-0 items-center gap-3"><div class="min-w-0"><h2 class="font-display text-lg font-bold text-text">Token savings (estimated)</h2></div></div></div><div role="radiogroup" aria-label="Savings window" class="inline-flex items-center gap-0.5 rounded-lg border border-line bg-raised p-1 overflow-x-auto"><button type="button" role="radio" aria-checked="false" tabindex="-1" class="inline-flex shrink-0 items-center gap-1.5 rounded-md px-3 font-semibold transition-colors duration-200 focus-visible:shadow-focus motion-reduce:transition-none h-9 text-xs text-muted hover:text-text">Today</button><button type="button" role="radio" aria-checked="false" tabindex="-1" class="inline-flex shrink-0 items-center gap-1.5 rounded-md px-3 font-semibold transition-colors duration-200 focus-visible:shadow-focus motion-reduce:transition-none h-9 text-xs text-muted hover:text-text">Yesterday</button><button type="button" role="radio" aria-checked="true" tabindex="0" class="inline-flex shrink-0 items-center gap-1.5 rounded-md px-3 font-semibold transition-colors duration-200 focus-visible:shadow-focus motion-reduce:transition-none h-9 text-xs bg-text text-bg">7 days</button><button type="button" role="radio" aria-checked="false" tabindex="-1" class="inline-flex shrink-0 items-center gap-1.5 rounded-md px-3 font-semibold transition-colors duration-200 focus-visible:shadow-focus motion-reduce:transition-none h-9 text-xs text-muted hover:text-text">30 days</button><button type="button" role="radio" aria-checked="false" tabindex="-1" class="inline-flex shrink-0 items-center gap-1.5 rounded-md px-3 font-semibold transition-colors duration-200 focus-visible:shadow-focus motion-reduce:transition-none h-9 text-xs text-muted hover:text-text">All time</button></div><div class="mt-4 grid grid-cols-2 gap-4 text-center md:grid-cols-4"><div><p class="text-xs text-muted">Original tokens</p><p class="font-mono text-lg font-semibold text-text">—</p></div><div><p class="text-xs text-muted">After PXPIPE</p><p class="font-mono text-lg font-semibold text-text">—</p></div><div><p class="text-xs text-muted">Saved</p><p class="font-mono text-lg font-semibold text-ok">—</p></div><div><p class="text-xs text-muted">Reduction</p><p class="font-mono text-lg font-semibold text-ok">—</p></div></div><p class="mt-3 text-xs text-muted">Estimates from body size before/after imaging; billed usage per request (recorded on the Usage page) remains the ground truth. Images generated:<!-- --> <!-- -->—<!-- --> · avg compression time:<!-- --> <!-- -->—<!-- --> · errors: <!-- -->—</p></div><div class="rounded-2xl border border-line bg-panel shadow-card p-6"><div class="flex flex-wrap items-center justify-between gap-3 mb-4"><div class="flex min-w-0 items-center gap-3"><div class="min-w-0"><h2 class="font-display text-lg font-bold text-text">Tokens saved — last 30 days</h2></div></div></div><div aria-hidden="true" class="animate-pulse rounded-[10px] bg-raised h-32 w-full"></div></div><div class="rounded-2xl border border-line bg-panel shadow-card"><div class="flex flex-wrap items-center justify-between gap-3 mb-4"><div class="flex min-w-0 items-center gap-3"><div class="min-w-0"><h2 class="font-display text-lg font-bold text-text">History</h2></div></div></div><section class="overflow-x-auto focus-visible:shadow-focus" aria-label="PXPIPE history" tabindex="0"><table class="w-full text-sm"><thead><tr class="border-b border-line text-start text-xs text-muted"><th scope="col" class="py-2 pe-3 ps-4 text-start font-medium">Time</th><th scope="col" class="py-2 pe-3 text-start font-medium">Model</th><th scope="col" class="py-2 pe-3 text-end font-medium">Original</th><th scope="col" class="py-2 pe-3 text-end font-medium">Compressed</th><th scope="col" class="py-2 pe-3 text-end font-medium">Saved</th><th scope="col" class="py-2 pe-3 text-end font-medium">%</th><th scope="col" class="py-2 pe-3 text-end font-medium">Duration</th><th scope="col" class="py-2 pe-4 text-start font-medium">Status</th></tr></thead><tbody><tr><td colSpan="8" class="py-6 text-center text-sm text-muted">No PXPIPE activity yet</td></tr></tbody></table></section></div><div class="rounded-2xl border border-line bg-panel shadow-card p-6" id="logs"><div class="flex flex-wrap items-center justify-between gap-3 mb-4"><div class="flex min-w-0 items-center gap-3"><div class="min-w-0"><h2 class="font-display text-lg font-bold text-text">PXPIPE logs</h2></div></div></div><p class="text-sm text-muted">No install log yet.</p></div></div><!--$--><!--/$--></div><script>$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d||"/&"===d)if(0===h)break;else h--;else"$"!==d&&"$?"!==d&&"$~"!==d&&"$!"!==d&&"&"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data="$";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};
2
+ $RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data="$~",$RB.push(a,b),2===$RB.length&&("number"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};$RC("B:0","S:0")</script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[24597,[\"3670\",\"static/chunks/3670-d6dc44bc181c9b8a.js\",\"7177\",\"static/chunks/app/layout-29d74e164758a126.js\"],\"default\"]\n3:I[21110,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"4070\",\"static/chunks/4070-c76ef7302b944563.js\",\"9233\",\"static/chunks/9233-7c1e356386d4e864.js\",\"9671\",\"static/chunks/9671-13bf0a1dd082ad39.js\",\"4685\",\"static/chunks/4685-8a4450325e60133c.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7899\",\"static/chunks/7899-a12f962af02edf7f.js\",\"1863\",\"static/chunks/1863-07d1c4c60eabc139.js\",\"5014\",\"static/chunks/5014-a5d960f4c6bc6297.js\",\"8105\",\"static/chunks/8105-71d1aea9708976db.js\",\"198\",\"static/chunks/198-7c5bbea89ef8bc14.js\",\"7505\",\"static/chunks/7505-ca9d79ac294d5e1d.js\",\"4588\",\"static/chunks/4588-174b18f1f2ff2cdb.js\",\"9284\",\"static/chunks/9284-61f162b7e4e8e29a.js\",\"4321\",\"static/chunks/4321-43ee628717578b08.js\",\"3343\",\"static/chunks/3343-ceaef2b087f3b07c.js\",\"2577\",\"static/chunks/2577-fc8581b39b97c9e7.js\",\"1039\",\"static/chunks/1039-ecf160a888ab92fc.js\",\"9518\",\"static/chunks/9518-fcc2c02ff35bf27c.js\",\"3671\",\"static/chunks/3671-e99f2f50ba62277e.js\",\"6337\",\"static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js\"],\"ThemeProvider\"]\n4:I[94635,[\"3670\",\"static/chunks/3670-d6dc44bc181c9b8a.js\",\"7177\",\"static/chunks/app/layout-29d74e164758a126.js\"],\"RuntimeI18nProvider\"]\n5:I[57121,[],\"\"]\n6:I[74581,[],\"\"]\n7:I[22577,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"4070\",\"static/chunks/4070-c76ef7302b944563.js\",\"9233\",\"static/chunks/9233-7c1e356386d4e864.js\",\"9671\",\"static/chunks/9671-13bf0a1dd082ad39.js\",\"4685\",\"static/chunks/4685-8a4450325e60133c.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7899\",\"static/chunks/7899-a12f962af02edf7f.js\",\"1863\",\"static/chunks/1863-07d1c4c60eabc139.js\",\"5014\",\"static/chunks/5014-a5d960f4c6bc6297.js\",\"8105\",\"static/chunks/8105-71d1aea9708976db.js\",\"198\",\"static/chunks/198-7c5bbea89ef8bc14.js\",\"7505\",\"static/chunks/7505-ca9d79ac294d5e1d.js\",\"4588\",\"static/chunks/4588-174b18f1f2ff2cdb.js\",\"9284\",\"static/chunks/9284-61f162b7e4e8e29a.js\",\"4321\",\"static/chunks/4321-43ee628717578b08.js\",\"3343\",\"static/chunks/3343-ceaef2b087f3b07c.js\",\"2577\",\"static/chunks/2577-fc8581b39b97c9e7.js\",\"1039\",\"static/chunks/1039-ecf160a888ab92fc.js\",\"9518\",\"static/chunks/9518-fcc2c02ff35bf27c.js\",\"3671\",\"static/chunks/3671-e99f2f50ba62277e.js\",\"6337\",\"static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js\"],\"default\"]\n8:I[57121,[],\"LoadingBoundaryProvider\"]\n9:I[25086,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"4070\",\"static/chunks/4070-c76ef7302b944563.js\",\"9233\",\"static/chunks/9233-7c1e356386d4e864.js\",\"9671\",\"static/chunks/9671-13bf0a1dd082ad39.js\",\"4685\",\"static/chunks/4685-8a4450325e60133c.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7899\",\"static/chunks/7899-a12f962af02edf7f.js\",\"1863\",\"static/chunks/1863-07d1c4c60eabc139.js\",\"5014\",\"static/chunks/5014-a5d960f4c6bc6297.js\",\"8105\",\"static/chunks/8105-71d1aea9708976db.js\",\"198\",\"static/chunks/198-7c5bbea89ef8bc14.js\",\"7505\",\"static/chunks/7505-ca9d79ac294d5e1d.js\",\"4588\",\"static/chunks/4588-174b18f1f2ff2cdb.js\",\"9284\",\"static/chunks/9284-61f162b7e4e8e29a.js\",\"4321\",\"static/chunks/4321-43ee628717578b08.js\",\"3343\",\"static/chunks/3343-ceaef2b087f3b07c.js\",\"2577\",\"static/chunks/2577-fc8581b39b97c9e7.js\",\"1039\",\"static/chunks/1039-ecf160a888ab92fc.js\",\"9518\",\"static/chunks/9518-fcc2c02ff35bf27c.js\",\"3671\",\"static/chunks/3671-e99f2f50ba62277e.js\",\"6337\",\"static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js\"],\"SkeletonText\"]\na:I[25086,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"4070\",\"static/chunks/4070-c76ef7302b944563.js\",\"9233\",\"static/chunks/9233-7c1e356386d4e864.js\",\"9671\",\"static/chunks/9671-13bf0a1dd082ad39.js\",\"4685\",\"static/chunks/4685-8a4450325e60133c.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7899\",\"static/chunks/7899-a12f962af02edf7f.js\",\"1863\",\"static/chunks/1863-07d1c4c60eabc139.js\",\"5014\",\"static/chunks/5014-a5d960f4c6bc6297.js\",\"8105\",\"static/chunks/8105-71d1aea9708976db.js\",\"198\",\"static/chunks/198-7c5bbea89ef8bc14.js\",\"7505\",\"static/chunks/7505-ca9d79ac294d5e1d.js\",\"4588\",\"static/chunks/4588-174b18f1f2ff2cdb.js\",\"9284\",\"static/chunks/9284-61f162b7e4e8e29a.js\",\"4321\",\"static/chunks/4321-43ee628717578b08.js\",\"3343\",\"static/chunks/3343-ceaef2b087f3b07c.js\",\"2577\",\"static/chunks/2577-fc8581b39b97c9e7.js\",\"1039\",\"static/chunks/1039-ecf160a888ab92fc.js\",\"9518\",\"static/chunks/9518-fcc2c02ff35bf27c.js\",\"3671\",\"static/chunks/3671-e99f2f50ba62277e.js\",\"6337\",\"static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js\"],\"CardSkeleton\"]\n10:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/22a5144ee8d83bca-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/2b5b02fc7e511755-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/7d4881bb7e1bf84d-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/9d5a263311222317-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/a3e6e8037ffa1953.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/aa016aab0e6d1295-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/c7e0cf6c760983e7-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/ffa1d9c3cbb4e959.css\",\"style\"]\ne:X\n0:{\"P\":null,\"c\":[\"\",\"dashboard\",\"pxpipe\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"(dashboard)\",{\"children\":[\"dashboard\",{\"children\":[\"pxpipe\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4612]},\"$undefined\",\"$undefined\",4616]},\"$undefined\",\"$undefined\",4632],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/ffa1d9c3cbb4e959.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_0d2d87 __variable_4994ab __variable_258e5a __variable_614881\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){var r=document.documentElement;try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'dark';t=t||'dark';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'\u0026\u0026m)){r.classList.add('dark')}else{r.classList.remove('dark')}}catch(e){r.classList.add('dark')}try{var c=document.cookie.match(/(?:^|; )locale=([^;]*)/);var l=c?decodeURIComponent(c[1]):'en';if(l==='zh')l='zh-CN';if([\\\"en\\\",\\\"vi\\\",\\\"zh-CN\\\",\\\"zh-TW\\\",\\\"ja\\\",\\\"pt-BR\\\",\\\"pt-PT\\\",\\\"ko\\\",\\\"es\\\",\\\"de\\\",\\\"fr\\\",\\\"he\\\",\\\"ar\\\",\\\"ru\\\",\\\"pl\\\",\\\"cs\\\",\\\"nl\\\",\\\"tr\\\",\\\"uk\\\",\\\"tl\\\",\\\"id\\\",\\\"km\\\",\\\"th\\\",\\\"hi\\\",\\\"bn\\\",\\\"ur\\\",\\\"ro\\\",\\\"sv\\\",\\\"it\\\",\\\"el\\\",\\\"hu\\\",\\\"fi\\\",\\\"da\\\",\\\"no\\\",\\\"fa\\\"].indexOf(l)\u003c0)l='en';r.lang=l;if([\\\"ar\\\",\\\"he\\\",\\\"fa\\\",\\\"ur\\\"].indexOf(l)\u003e=0)r.dir='rtl'}catch(e){}})();\"}}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var m=document.cookie.match(/(?:^|; )nr-density=([^;]*)/);if(m\u0026\u0026decodeURIComponent(m[1])==='compact'){document.documentElement.classList.add('compact-density')}}catch(e){}})();\"}}]]}],[\"$\",\"body\",null,{\"className\":\"font-sans antialiased\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",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\"}]}]}]]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:1: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:f:0:1:0:props:children:1:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:1: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\"}]}]]}],{\"children\":[[\"$\",\"$L8\",null,{\"loading\":[[\"$\",\"div\",\"l\",{\"role\":\"status\",\"aria-label\":\"Loading dashboard\",\"className\":\"flex flex-col gap-6\",\"children\":[[\"$\",\"$L9\",null,{\"lines\":2}],[\"$\",\"div\",null,{\"className\":\"grid gap-4 md:grid-cols-3\",\"children\":[[\"$\",\"$La\",null,{}],[\"$\",\"$La\",null,{}],[\"$\",\"$La\",null,{}]]}]]}],[],null],\"children\":\"$Lb\"}],{\"children\":[\"$Lc\",{\"children\":[\"$Ld\",{},null,false,null]},null,false,\"$e\"]},null,false,\"$e\"]},null,false,null]},null,false,null],\"$Lf\",false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"gdVYVwJMM6JES9Y1KPQyw\"}\n11:I[44394,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"2274\",\"static/chunks/app/(dashboard)/dashboard/error-b49a63f5b486ee1d.js\"],\"default\"]\n12:I[99312,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"4070\",\"static/chunks/4070-c76ef7302b944563.js\",\"9233\",\"static/chunks/9233-7c1e356386d4e864.js\",\"9671\",\"static/chunks/9671-13bf0a1dd082ad39.js\",\"4685\",\"static/chunks/4685-8a4450325e60133c.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7899\",\"static/chunks/7899-a12f962af02edf7f.js\",\"1863\",\"static/chunks/1863-07d1c4c60eabc139.js\",\"5014\",\"static/chunks/5014-a5d960f4c6bc6297.js\",\"8105\",\"static/chunks/8105-71d1aea9708976db.js\",\"198\",\"static/chunks/198-7c5bbea89ef8bc14.js\",\"7505\",\"static/chunks/7505-ca9d79ac294d5e1d.js\",\"4588\",\"static/chunks/4588-174b18f1f2ff2cdb.js\",\"9284\",\"static/chunks/9284-61f162b7e4e8e29a.js\",\"4321\",\"static/chunks/4321-43ee628717578b08.js\",\"3343\",\"static/chunks/3343-ceaef2b087f3b07c.js\",\"2577\",\"static/chunks/2577-fc8581b39b97c9e7.js\",\"1039\",\"static/chunks/1039-ecf160a888ab92fc.js\",\"9518\",\"static/chunks/9518-fcc2c02ff35bf27c.js\",\"3671\",\"static/chunks/3671-e99f2f50ba62277e.js\",\"6337\",\"static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js\"],\"default\"]\n13:I[92542,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"4070\",\"static/chunks/4070-c76ef7302b944563.js\",\"9233\",\"static/chunks/9233-7c1e356386d4e864.js\",\"9671\",\"static/chunks/9671-13bf0a1dd082ad39.js\",\"4685\",\"static/chunks/4685-8a4450325e60133c.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7899\",\"static/chunks/7899-a12f962af02edf7f.js\",\"1863\",\"static/chunks/1863-07d1c4c60eabc139.js\",\"5014\",\"static/chunks/5014-a5d960f4c6bc6297.js\",\"8105\",\"static/chunks/8105-71d1aea9708976db.js\",\"198\",\"static/chunks/198-7c5bbea89ef8bc14.js\",\"7505\",\"static/chunks/7505-ca9d79ac294d5e1d.js\",\"4588\",\"static/chunks/4588-174b18f1f2ff2cdb.js\",\"9284\",\"static/chunks/9284-61f162b7e4e8e29a.js\",\"4321\",\"static/chunks/4321-43ee628717578b08.js\",\"3343\",\"static/chunks/3343-ceaef2b087f3b07c.js\",\"2577\",\"static/chunks/2577-fc8581b39b97c9e7.js\",\"1039\",\"static/chunks/1039-ecf160a888ab92fc.js\",\"9518\",\"static/chunks/9518-fcc2c02ff35bf27c.js\",\"3671\",\"static/chunks/3671-e99f2f50ba62277e.js\",\"6337\",\"static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js\"],\"default\"]\n14:I[71470,[\"1610\",\"static/chunks/1610-54cdd36a7d983e62.js\",\"2903\",\"static/chunks/2903-5612a657f163e2fe.js\",\"7414\",\"static/chunks/app/(dashboard)/dashboard/pxpipe/page-6b6b3f4066ef5323.js\"],\"default\"]\n15:I[90484,[],\"OutletBoundary\"]\n16:\"$Sreact.suspense\"\n18:I[90484,[],\"ViewportBoundary\"]\n1a:I[90484,[],\"MetadataBoundary\"]\nb:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$11\",\"errorStyles\":[],\"errorScripts\":null,\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"section\",null,{\"className\":\"rounded-[20px] border border-line bg-panel shadow-card\",\"children\":[\"$\",\"$L12\",null,{\"as\":\"h1\",\"icon\":\"search_off\",\"title\":\"Page not found\",\"body\":\"This dashboard page doesn't exist. Go home or press ⌘K to find a page.\",\"action\":[\"$\",\"$L13\",null,{\"href\":\"/dashboard\",\"variant\":\"secondary\",\"iconRight\":\"arrow_forward\",\"children\":\"Back home\"}]}]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\nc:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\nd:[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L14\",null,{}],null,[\"$\",\"$L15\",null,{\"children\":[\"$\",\"$16\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@17\"}]}]]}]\nf:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L18\",null,{\"children\":\"$L19\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L1a\",null,{\"children\":[\"$\",\"$16\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L1b\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\ne:C\n19:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#f3f1ea\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"content\":\"#0d0e12\",\"media\":\"(prefers-color-scheme: dark)\"}]]\n1c:I[86869,[],\"IconMark\"]\n17:null\n1b:[[\"$\",\"title\",\"0\",{\"children\":\"tokenhop - 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\":\"/brand/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/brand/favicon.ico\"}],[\"$\",\"$L1c\",\"5\",{}]]\n"])</script></body></html>
@@ -1,13 +1,13 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[24597,["3670","static/chunks/3670-e7a22341025498f8.js","7177","static/chunks/app/layout-c266f1acedfb4651.js"],"default"]
3
- 3:I[21110,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-e6a70cb9d3684f7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a441cde708542153.js","8105","static/chunks/8105-5c7e7c73b4bd532d.js","198","static/chunks/198-145d0ed2ec3c54f5.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"ThemeProvider"]
4
- 4:I[94635,["3670","static/chunks/3670-e7a22341025498f8.js","7177","static/chunks/app/layout-c266f1acedfb4651.js"],"RuntimeI18nProvider"]
2
+ 2:I[24597,["3670","static/chunks/3670-d6dc44bc181c9b8a.js","7177","static/chunks/app/layout-29d74e164758a126.js"],"default"]
3
+ 3:I[21110,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-a12f962af02edf7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a5d960f4c6bc6297.js","8105","static/chunks/8105-71d1aea9708976db.js","198","static/chunks/198-7c5bbea89ef8bc14.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"ThemeProvider"]
4
+ 4:I[94635,["3670","static/chunks/3670-d6dc44bc181c9b8a.js","7177","static/chunks/app/layout-29d74e164758a126.js"],"RuntimeI18nProvider"]
5
5
  5:I[57121,[],""]
6
6
  6:I[74581,[],""]
7
- 7:I[22577,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-e6a70cb9d3684f7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a441cde708542153.js","8105","static/chunks/8105-5c7e7c73b4bd532d.js","198","static/chunks/198-145d0ed2ec3c54f5.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"default"]
7
+ 7:I[22577,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-a12f962af02edf7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a5d960f4c6bc6297.js","8105","static/chunks/8105-71d1aea9708976db.js","198","static/chunks/198-7c5bbea89ef8bc14.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"default"]
8
8
  8:I[57121,[],"LoadingBoundaryProvider"]
9
- 9:I[25086,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-e6a70cb9d3684f7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a441cde708542153.js","8105","static/chunks/8105-5c7e7c73b4bd532d.js","198","static/chunks/198-145d0ed2ec3c54f5.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"SkeletonText"]
10
- a:I[25086,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-e6a70cb9d3684f7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a441cde708542153.js","8105","static/chunks/8105-5c7e7c73b4bd532d.js","198","static/chunks/198-145d0ed2ec3c54f5.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"CardSkeleton"]
9
+ 9:I[25086,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-a12f962af02edf7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a5d960f4c6bc6297.js","8105","static/chunks/8105-71d1aea9708976db.js","198","static/chunks/198-7c5bbea89ef8bc14.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"SkeletonText"]
10
+ a:I[25086,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-a12f962af02edf7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a5d960f4c6bc6297.js","8105","static/chunks/8105-71d1aea9708976db.js","198","static/chunks/198-7c5bbea89ef8bc14.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"CardSkeleton"]
11
11
  10:I[27123,[],"default",1]
12
12
  :HL["/_next/static/media/22a5144ee8d83bca-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
13
13
  :HL["/_next/static/media/2b5b02fc7e511755-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
@@ -16,12 +16,12 @@ a:I[25086,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks
16
16
  :HL["/_next/static/media/a3e6e8037ffa1953.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
17
17
  :HL["/_next/static/media/aa016aab0e6d1295-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
18
18
  :HL["/_next/static/media/c7e0cf6c760983e7-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
19
- :HL["/_next/static/css/9f0b95a0d0bc5e51.css","style"]
19
+ :HL["/_next/static/css/ffa1d9c3cbb4e959.css","style"]
20
20
  e:X
21
- 0:{"P":null,"c":["","dashboard","pxpipe"],"q":"","i":false,"f":[[["",{"children":["(dashboard)",{"children":["dashboard",{"children":["pxpipe",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4612]},"$undefined","$undefined",4616]},"$undefined","$undefined",4632],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/9f0b95a0d0bc5e51.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"__variable_ac327c __variable_ebdb69 __variable_db7957 __variable_614881","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){var r=document.documentElement;try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'dark';t=t||'dark';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'&&m)){r.classList.add('dark')}else{r.classList.remove('dark')}}catch(e){r.classList.add('dark')}try{var c=document.cookie.match(/(?:^|; )locale=([^;]*)/);var l=c?decodeURIComponent(c[1]):'en';if(l==='zh')l='zh-CN';if([\"en\",\"vi\",\"zh-CN\",\"zh-TW\",\"ja\",\"pt-BR\",\"pt-PT\",\"ko\",\"es\",\"de\",\"fr\",\"he\",\"ar\",\"ru\",\"pl\",\"cs\",\"nl\",\"tr\",\"uk\",\"tl\",\"id\",\"km\",\"th\",\"hi\",\"bn\",\"ur\",\"ro\",\"sv\",\"it\",\"el\",\"hu\",\"fi\",\"da\",\"no\",\"fa\"].indexOf(l)<0)l='en';r.lang=l;if([\"ar\",\"he\",\"fa\",\"ur\"].indexOf(l)>=0)r.dir='rtl'}catch(e){}})();"}}],["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var m=document.cookie.match(/(?:^|; )nr-density=([^;]*)/);if(m&&decodeURIComponent(m[1])==='compact'){document.documentElement.classList.add('compact-density')}}catch(e){}})();"}}]]}],["$","body",null,{"className":"font-sans antialiased","children":[["$","$L2",null,{}],["$","$L3",null,{"children":["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",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"}]}]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L7",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:1: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:f:0:1:0:props:children:1:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:1: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"}]}]]}],{"children":[["$","$L8",null,{"loading":[["$","div","l",{"role":"status","aria-label":"Loading dashboard","className":"flex flex-col gap-6","children":[["$","$L9",null,{"lines":2}],["$","div",null,{"className":"grid gap-4 md:grid-cols-3","children":[["$","$La",null,{}],["$","$La",null,{}],["$","$La",null,{}]]}]]}],[],null],"children":"$Lb"}],{"children":["$Lc",{"children":["$Ld",{},null,false,null]},null,false,"$e"]},null,false,"$e"]},null,false,null]},null,false,null],"$Lf",false]],"m":"$undefined","G":["$10",[]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"3Qm_WgU2xvFJ9U_G7SKhT"}
21
+ 0:{"P":null,"c":["","dashboard","pxpipe"],"q":"","i":false,"f":[[["",{"children":["(dashboard)",{"children":["dashboard",{"children":["pxpipe",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4612]},"$undefined","$undefined",4616]},"$undefined","$undefined",4632],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ffa1d9c3cbb4e959.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"__variable_0d2d87 __variable_4994ab __variable_258e5a __variable_614881","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){var r=document.documentElement;try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'dark';t=t||'dark';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'&&m)){r.classList.add('dark')}else{r.classList.remove('dark')}}catch(e){r.classList.add('dark')}try{var c=document.cookie.match(/(?:^|; )locale=([^;]*)/);var l=c?decodeURIComponent(c[1]):'en';if(l==='zh')l='zh-CN';if([\"en\",\"vi\",\"zh-CN\",\"zh-TW\",\"ja\",\"pt-BR\",\"pt-PT\",\"ko\",\"es\",\"de\",\"fr\",\"he\",\"ar\",\"ru\",\"pl\",\"cs\",\"nl\",\"tr\",\"uk\",\"tl\",\"id\",\"km\",\"th\",\"hi\",\"bn\",\"ur\",\"ro\",\"sv\",\"it\",\"el\",\"hu\",\"fi\",\"da\",\"no\",\"fa\"].indexOf(l)<0)l='en';r.lang=l;if([\"ar\",\"he\",\"fa\",\"ur\"].indexOf(l)>=0)r.dir='rtl'}catch(e){}})();"}}],["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var m=document.cookie.match(/(?:^|; )nr-density=([^;]*)/);if(m&&decodeURIComponent(m[1])==='compact'){document.documentElement.classList.add('compact-density')}}catch(e){}})();"}}]]}],["$","body",null,{"className":"font-sans antialiased","children":[["$","$L2",null,{}],["$","$L3",null,{"children":["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",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"}]}]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L7",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:1: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:f:0:1:0:props:children:1:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:1: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"}]}]]}],{"children":[["$","$L8",null,{"loading":[["$","div","l",{"role":"status","aria-label":"Loading dashboard","className":"flex flex-col gap-6","children":[["$","$L9",null,{"lines":2}],["$","div",null,{"className":"grid gap-4 md:grid-cols-3","children":[["$","$La",null,{}],["$","$La",null,{}],["$","$La",null,{}]]}]]}],[],null],"children":"$Lb"}],{"children":["$Lc",{"children":["$Ld",{},null,false,null]},null,false,"$e"]},null,false,"$e"]},null,false,null]},null,false,null],"$Lf",false]],"m":"$undefined","G":["$10",[]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"gdVYVwJMM6JES9Y1KPQyw"}
22
22
  11:I[44394,["1610","static/chunks/1610-54cdd36a7d983e62.js","2274","static/chunks/app/(dashboard)/dashboard/error-b49a63f5b486ee1d.js"],"default"]
23
- 12:I[99312,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-e6a70cb9d3684f7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a441cde708542153.js","8105","static/chunks/8105-5c7e7c73b4bd532d.js","198","static/chunks/198-145d0ed2ec3c54f5.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"default"]
24
- 13:I[92542,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-e6a70cb9d3684f7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a441cde708542153.js","8105","static/chunks/8105-5c7e7c73b4bd532d.js","198","static/chunks/198-145d0ed2ec3c54f5.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"default"]
23
+ 12:I[99312,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-a12f962af02edf7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a5d960f4c6bc6297.js","8105","static/chunks/8105-71d1aea9708976db.js","198","static/chunks/198-7c5bbea89ef8bc14.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"default"]
24
+ 13:I[92542,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-a12f962af02edf7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a5d960f4c6bc6297.js","8105","static/chunks/8105-71d1aea9708976db.js","198","static/chunks/198-7c5bbea89ef8bc14.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"default"]
25
25
  14:I[71470,["1610","static/chunks/1610-54cdd36a7d983e62.js","2903","static/chunks/2903-5612a657f163e2fe.js","7414","static/chunks/app/(dashboard)/dashboard/pxpipe/page-6b6b3f4066ef5323.js"],"default"]
26
26
  15:I[90484,[],"OutletBoundary"]
27
27
  16:"$Sreact.suspense"
@@ -8,20 +8,20 @@ a:I[86869,[],"IconMark"]
8
8
  c:I[57121,[],""]
9
9
  d:I[74581,[],""]
10
10
  10:I[57121,[],"LoadingBoundaryProvider"]
11
- 11:I[25086,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-e6a70cb9d3684f7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a441cde708542153.js","8105","static/chunks/8105-5c7e7c73b4bd532d.js","198","static/chunks/198-145d0ed2ec3c54f5.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"SkeletonText"]
12
- 12:I[25086,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-e6a70cb9d3684f7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a441cde708542153.js","8105","static/chunks/8105-5c7e7c73b4bd532d.js","198","static/chunks/198-145d0ed2ec3c54f5.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"CardSkeleton"]
11
+ 11:I[25086,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-a12f962af02edf7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a5d960f4c6bc6297.js","8105","static/chunks/8105-71d1aea9708976db.js","198","static/chunks/198-7c5bbea89ef8bc14.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"SkeletonText"]
12
+ 12:I[25086,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-a12f962af02edf7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a5d960f4c6bc6297.js","8105","static/chunks/8105-71d1aea9708976db.js","198","static/chunks/198-7c5bbea89ef8bc14.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"CardSkeleton"]
13
13
  13:I[44394,["1610","static/chunks/1610-54cdd36a7d983e62.js","2274","static/chunks/app/(dashboard)/dashboard/error-b49a63f5b486ee1d.js"],"default"]
14
- 14:I[99312,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-e6a70cb9d3684f7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a441cde708542153.js","8105","static/chunks/8105-5c7e7c73b4bd532d.js","198","static/chunks/198-145d0ed2ec3c54f5.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"default"]
15
- 15:I[92542,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-e6a70cb9d3684f7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a441cde708542153.js","8105","static/chunks/8105-5c7e7c73b4bd532d.js","198","static/chunks/198-145d0ed2ec3c54f5.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"default"]
16
- 17:I[22577,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-e6a70cb9d3684f7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a441cde708542153.js","8105","static/chunks/8105-5c7e7c73b4bd532d.js","198","static/chunks/198-145d0ed2ec3c54f5.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"default"]
17
- :HL["/_next/static/css/9f0b95a0d0bc5e51.css","style"]
14
+ 14:I[99312,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-a12f962af02edf7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a5d960f4c6bc6297.js","8105","static/chunks/8105-71d1aea9708976db.js","198","static/chunks/198-7c5bbea89ef8bc14.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"default"]
15
+ 15:I[92542,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-a12f962af02edf7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a5d960f4c6bc6297.js","8105","static/chunks/8105-71d1aea9708976db.js","198","static/chunks/198-7c5bbea89ef8bc14.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"default"]
16
+ 17:I[22577,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-a12f962af02edf7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a5d960f4c6bc6297.js","8105","static/chunks/8105-71d1aea9708976db.js","198","static/chunks/198-7c5bbea89ef8bc14.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"default"]
17
+ :HL["/_next/static/css/ffa1d9c3cbb4e959.css","style"]
18
18
  7:X
19
19
  f:X
20
20
  f:C
21
- 0:{"buildId":"3Qm_WgU2xvFJ9U_G7SKhT","data":[{"rsc":["$","$1","c",{"children":[["$","$L2",null,{}],null,["$","$L3",null,{"children":["$","$4",null,{"name":"Next.MetadataOutlet","children":"$@5"}]}]]}],"isPartial":"$@6","staleTime":"$7","varyParams":null},{"rsc":["$","$1","h",{"children":[null,["$","$L8",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#f3f1ea","media":"(prefers-color-scheme: light)"}],["$","meta","3",{"name":"theme-color","content":"#0d0e12","media":"(prefers-color-scheme: dark)"}]]}],["$","div",null,{"hidden":true,"children":["$","$L9",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"tokenhop - 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":"/brand/favicon.svg","type":"image/svg+xml"}],["$","link","4",{"rel":"icon","href":"/brand/favicon.ico"}],["$","$La","5",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":"$@b","staleTime":"$7","varyParams":null},{"rsc":["$","$1","c",{"children":[null,["$","$Lc",null,{"parallelRouterKey":"children","template":["$","$Ld",null,{}]}]]}],"isPartial":"$@e","staleTime":"$7","varyParams":"$f"},{"rsc":["$","$L10",null,{"loading":[["$","div","l",{"role":"status","aria-label":"Loading dashboard","className":"flex flex-col gap-6","children":[["$","$L11",null,{"lines":2}],["$","div",null,{"className":"grid gap-4 md:grid-cols-3","children":[["$","$L12",null,{}],["$","$L12",null,{}],["$","$L12",null,{}]]}]]}],[],null],"children":["$","$1","c",{"children":[null,["$","$Lc",null,{"parallelRouterKey":"children","error":"$13","errorStyles":[],"errorScripts":null,"template":["$","$Ld",null,{}],"notFound":[["$","section",null,{"className":"rounded-[20px] border border-line bg-panel shadow-card","children":["$","$L14",null,{"as":"h1","icon":"search_off","title":"Page not found","body":"This dashboard page doesn't exist. Go home or press ⌘K to find a page.","action":["$","$L15",null,{"href":"/dashboard","variant":"secondary","iconRight":"arrow_forward","children":"Back home"}]}]}],[]]}]]}]}],"isPartial":"$@16","staleTime":"$7","varyParams":"$f"},{"rsc":["$","$1","c",{"children":[null,["$","$L17",null,{"children":["$","$Lc",null,{"parallelRouterKey":"children","template":["$","$Ld",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."}]}]]}]}]],[]]}]}]]}],"isPartial":"$@18","staleTime":"$7","varyParams":null},{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/9f0b95a0d0bc5e51.css","precedence":"next"}]],["$","html",null,{"lang":"en","className":"__variable_ac327c __variable_ebdb69 __variable_db7957 __variable_614881","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){var r=document.documentElement;try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'dark';t=t||'dark';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'&&m)){r.classList.add('dark')}else{r.classList.remove('dark')}}catch(e){r.classList.add('dark')}try{var c=document.cookie.match(/(?:^|; )locale=([^;]*)/);var l=c?decodeURIComponent(c[1]):'en';if(l==='zh')l='zh-CN';if([\"en\",\"vi\",\"zh-CN\",\"zh-TW\",\"ja\",\"pt-BR\",\"pt-PT\",\"ko\",\"es\",\"de\",\"fr\",\"he\",\"ar\",\"ru\",\"pl\",\"cs\",\"nl\",\"tr\",\"uk\",\"tl\",\"id\",\"km\",\"th\",\"hi\",\"bn\",\"ur\",\"ro\",\"sv\",\"it\",\"el\",\"hu\",\"fi\",\"da\",\"no\",\"fa\"].indexOf(l)<0)l='en';r.lang=l;if([\"ar\",\"he\",\"fa\",\"ur\"].indexOf(l)>=0)r.dir='rtl'}catch(e){}})();"}}],"$L19"]}],"$L1a"]}]]}],"isPartial":"$@1b","staleTime":"$7","varyParams":null}],"isUpgradeableISRFallback":false,"a":"$@1c","rootVaryParams":null,"needsRuntimeRequest":"$@1d"}
22
- 1e:I[24597,["3670","static/chunks/3670-e7a22341025498f8.js","7177","static/chunks/app/layout-c266f1acedfb4651.js"],"default"]
23
- 1f:I[21110,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-e6a70cb9d3684f7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a441cde708542153.js","8105","static/chunks/8105-5c7e7c73b4bd532d.js","198","static/chunks/198-145d0ed2ec3c54f5.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"ThemeProvider"]
24
- 20:I[94635,["3670","static/chunks/3670-e7a22341025498f8.js","7177","static/chunks/app/layout-c266f1acedfb4651.js"],"RuntimeI18nProvider"]
21
+ 0:{"buildId":"gdVYVwJMM6JES9Y1KPQyw","data":[{"rsc":["$","$1","c",{"children":[["$","$L2",null,{}],null,["$","$L3",null,{"children":["$","$4",null,{"name":"Next.MetadataOutlet","children":"$@5"}]}]]}],"isPartial":"$@6","staleTime":"$7","varyParams":null},{"rsc":["$","$1","h",{"children":[null,["$","$L8",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#f3f1ea","media":"(prefers-color-scheme: light)"}],["$","meta","3",{"name":"theme-color","content":"#0d0e12","media":"(prefers-color-scheme: dark)"}]]}],["$","div",null,{"hidden":true,"children":["$","$L9",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"tokenhop - 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":"/brand/favicon.svg","type":"image/svg+xml"}],["$","link","4",{"rel":"icon","href":"/brand/favicon.ico"}],["$","$La","5",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":"$@b","staleTime":"$7","varyParams":null},{"rsc":["$","$1","c",{"children":[null,["$","$Lc",null,{"parallelRouterKey":"children","template":["$","$Ld",null,{}]}]]}],"isPartial":"$@e","staleTime":"$7","varyParams":"$f"},{"rsc":["$","$L10",null,{"loading":[["$","div","l",{"role":"status","aria-label":"Loading dashboard","className":"flex flex-col gap-6","children":[["$","$L11",null,{"lines":2}],["$","div",null,{"className":"grid gap-4 md:grid-cols-3","children":[["$","$L12",null,{}],["$","$L12",null,{}],["$","$L12",null,{}]]}]]}],[],null],"children":["$","$1","c",{"children":[null,["$","$Lc",null,{"parallelRouterKey":"children","error":"$13","errorStyles":[],"errorScripts":null,"template":["$","$Ld",null,{}],"notFound":[["$","section",null,{"className":"rounded-[20px] border border-line bg-panel shadow-card","children":["$","$L14",null,{"as":"h1","icon":"search_off","title":"Page not found","body":"This dashboard page doesn't exist. Go home or press ⌘K to find a page.","action":["$","$L15",null,{"href":"/dashboard","variant":"secondary","iconRight":"arrow_forward","children":"Back home"}]}]}],[]]}]]}]}],"isPartial":"$@16","staleTime":"$7","varyParams":"$f"},{"rsc":["$","$1","c",{"children":[null,["$","$L17",null,{"children":["$","$Lc",null,{"parallelRouterKey":"children","template":["$","$Ld",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."}]}]]}]}]],[]]}]}]]}],"isPartial":"$@18","staleTime":"$7","varyParams":null},{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ffa1d9c3cbb4e959.css","precedence":"next"}]],["$","html",null,{"lang":"en","className":"__variable_0d2d87 __variable_4994ab __variable_258e5a __variable_614881","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){var r=document.documentElement;try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'dark';t=t||'dark';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'&&m)){r.classList.add('dark')}else{r.classList.remove('dark')}}catch(e){r.classList.add('dark')}try{var c=document.cookie.match(/(?:^|; )locale=([^;]*)/);var l=c?decodeURIComponent(c[1]):'en';if(l==='zh')l='zh-CN';if([\"en\",\"vi\",\"zh-CN\",\"zh-TW\",\"ja\",\"pt-BR\",\"pt-PT\",\"ko\",\"es\",\"de\",\"fr\",\"he\",\"ar\",\"ru\",\"pl\",\"cs\",\"nl\",\"tr\",\"uk\",\"tl\",\"id\",\"km\",\"th\",\"hi\",\"bn\",\"ur\",\"ro\",\"sv\",\"it\",\"el\",\"hu\",\"fi\",\"da\",\"no\",\"fa\"].indexOf(l)<0)l='en';r.lang=l;if([\"ar\",\"he\",\"fa\",\"ur\"].indexOf(l)>=0)r.dir='rtl'}catch(e){}})();"}}],"$L19"]}],"$L1a"]}]]}],"isPartial":"$@1b","staleTime":"$7","varyParams":null}],"isUpgradeableISRFallback":false,"a":"$@1c","rootVaryParams":null,"needsRuntimeRequest":"$@1d"}
22
+ 1e:I[24597,["3670","static/chunks/3670-d6dc44bc181c9b8a.js","7177","static/chunks/app/layout-29d74e164758a126.js"],"default"]
23
+ 1f:I[21110,["1610","static/chunks/1610-54cdd36a7d983e62.js","4070","static/chunks/4070-c76ef7302b944563.js","9233","static/chunks/9233-7c1e356386d4e864.js","9671","static/chunks/9671-13bf0a1dd082ad39.js","4685","static/chunks/4685-8a4450325e60133c.js","2903","static/chunks/2903-5612a657f163e2fe.js","7899","static/chunks/7899-a12f962af02edf7f.js","1863","static/chunks/1863-07d1c4c60eabc139.js","5014","static/chunks/5014-a5d960f4c6bc6297.js","8105","static/chunks/8105-71d1aea9708976db.js","198","static/chunks/198-7c5bbea89ef8bc14.js","7505","static/chunks/7505-ca9d79ac294d5e1d.js","4588","static/chunks/4588-174b18f1f2ff2cdb.js","9284","static/chunks/9284-61f162b7e4e8e29a.js","4321","static/chunks/4321-43ee628717578b08.js","3343","static/chunks/3343-ceaef2b087f3b07c.js","2577","static/chunks/2577-fc8581b39b97c9e7.js","1039","static/chunks/1039-ecf160a888ab92fc.js","9518","static/chunks/9518-fcc2c02ff35bf27c.js","3671","static/chunks/3671-e99f2f50ba62277e.js","6337","static/chunks/app/(dashboard)/dashboard/page-58f293b4ade0e752.js"],"ThemeProvider"]
24
+ 20:I[94635,["3670","static/chunks/3670-d6dc44bc181c9b8a.js","7177","static/chunks/app/layout-29d74e164758a126.js"],"RuntimeI18nProvider"]
25
25
  5:null
26
26
  19:["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var m=document.cookie.match(/(?:^|; )nr-density=([^;]*)/);if(m&&decodeURIComponent(m[1])==='compact'){document.documentElement.classList.add('compact-density')}}catch(e){}})();"}}]
27
27
  1a:["$","body",null,{"className":"font-sans antialiased","children":[["$","$L1e",null,{}],["$","$L1f",null,{"children":["$","$L20",null,{"children":["$","$Lc",null,{"parallelRouterKey":"children","template":["$","$Ld",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:data:4:rsc:props:children:1: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:data:4:rsc:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:data:4:rsc:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:data:4:rsc:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],[]]}]}]}]]}]