zevairouter 1.0.142 → 1.0.144

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 (640) hide show
  1. package/cli/app/.next-cli-build/BUILD_ID +1 -1
  2. package/cli/app/.next-cli-build/app-path-routes-manifest.json +13 -13
  3. package/cli/app/.next-cli-build/build-manifest.json +3 -3
  4. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page.js +1 -1
  5. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page.js.nft.json +1 -1
  6. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page_client-reference-manifest.js +1 -1
  7. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  8. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  9. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  10. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -1
  11. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  12. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  13. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  14. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  15. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  16. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  17. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  18. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  19. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
  20. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  21. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  22. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page.js +1 -1
  23. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page.js.nft.json +1 -1
  24. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page_client-reference-manifest.js +1 -1
  25. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
  26. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  27. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  28. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +1 -1
  29. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  30. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  31. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
  32. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  33. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  34. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
  35. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  36. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  37. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
  38. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  39. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  40. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
  41. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  42. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  43. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
  44. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  45. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  46. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js +1 -1
  47. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js.nft.json +1 -1
  48. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  49. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  50. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  51. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  52. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +1 -1
  53. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  54. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  55. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  56. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  57. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  58. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  59. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  60. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  61. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
  62. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  63. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  64. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
  65. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  66. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  67. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  68. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  69. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  70. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page.js +1 -1
  71. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page.js.nft.json +1 -1
  72. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page_client-reference-manifest.js +1 -1
  73. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
  74. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  75. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  76. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
  77. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  78. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  79. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  80. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  81. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  82. package/cli/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  83. package/cli/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  84. package/cli/app/.next-cli-build/server/app/_global-error.html +1 -1
  85. package/cli/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  86. package/cli/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  87. package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  88. package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  89. package/cli/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  90. package/cli/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  91. package/cli/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  92. package/cli/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  93. package/cli/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  94. package/cli/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  95. package/cli/app/.next-cli-build/server/app/_not-found.html +1 -1
  96. package/cli/app/.next-cli-build/server/app/_not-found.rsc +5 -5
  97. package/cli/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +5 -5
  98. package/cli/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  99. package/cli/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +5 -5
  100. package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  101. package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  102. package/cli/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +3 -3
  103. package/cli/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  104. package/cli/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  105. package/cli/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  106. package/cli/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  107. package/cli/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  108. package/cli/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  109. package/cli/app/.next-cli-build/server/app/api/cache/stats/route.js.nft.json +1 -1
  110. package/cli/app/.next-cli-build/server/app/api/changelog/route.js.nft.json +1 -1
  111. package/cli/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  112. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  113. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  114. package/cli/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  115. package/cli/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  116. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-gateway/accounts/route.js.nft.json +1 -1
  117. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  118. package/cli/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  119. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  120. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  121. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  122. package/cli/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  123. package/cli/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  124. package/cli/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  125. package/cli/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  126. package/cli/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  127. package/cli/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  128. package/cli/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  129. package/cli/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  130. package/cli/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  131. package/cli/app/.next-cli-build/server/app/api/context/[id]/route.js.nft.json +1 -1
  132. package/cli/app/.next-cli-build/server/app/api/context/bulk/route.js.nft.json +1 -1
  133. package/cli/app/.next-cli-build/server/app/api/context/route.js.nft.json +1 -1
  134. package/cli/app/.next-cli-build/server/app/api/dashboard/chat/completions/route.js.nft.json +1 -1
  135. package/cli/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  136. package/cli/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  137. package/cli/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  138. package/cli/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  139. package/cli/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  140. package/cli/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  141. package/cli/app/.next-cli-build/server/app/api/health/ready/route.js.nft.json +1 -1
  142. package/cli/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  143. package/cli/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  144. package/cli/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js.nft.json +1 -1
  145. package/cli/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  146. package/cli/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  147. package/cli/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  148. package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  149. package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  150. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  151. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  152. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  153. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  154. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  155. package/cli/app/.next-cli-build/server/app/api/metrics/route.js.nft.json +1 -1
  156. package/cli/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  157. package/cli/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  158. package/cli/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  159. package/cli/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  160. package/cli/app/.next-cli-build/server/app/api/models/route.js +1 -1
  161. package/cli/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  162. package/cli/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  163. package/cli/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  164. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  165. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  166. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/route.js.nft.json +1 -1
  167. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/latest/route.js.nft.json +1 -1
  168. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/route.js.nft.json +1 -1
  169. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  170. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  171. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route.js.nft.json +1 -1
  172. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/latest/route.js.nft.json +1 -1
  173. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/route.js.nft.json +1 -1
  174. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  175. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  176. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/route.js.nft.json +1 -1
  177. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/latest/route.js.nft.json +1 -1
  178. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/route.js.nft.json +1 -1
  179. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-token/route.js.nft.json +1 -1
  180. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/quota-cookie/route.js.nft.json +1 -1
  181. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  182. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  183. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route.js.nft.json +1 -1
  184. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/latest/route.js.nft.json +1 -1
  185. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js.nft.json +1 -1
  186. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-token/route.js.nft.json +1 -1
  187. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/quota-cookie/route.js.nft.json +1 -1
  188. package/cli/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  189. package/cli/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  190. package/cli/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  191. package/cli/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  192. package/cli/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  193. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  194. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  195. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  196. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/route.js.nft.json +1 -1
  197. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/latest/route.js.nft.json +1 -1
  198. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/route.js.nft.json +1 -1
  199. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  200. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  201. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  202. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  203. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  204. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/route.js.nft.json +1 -1
  205. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/latest/route.js.nft.json +1 -1
  206. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/route.js.nft.json +1 -1
  207. package/cli/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  208. package/cli/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  209. package/cli/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  210. package/cli/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  211. package/cli/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  212. package/cli/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  213. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  214. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  215. package/cli/app/.next-cli-build/server/app/api/providers/bulk-delete/route.js.nft.json +1 -1
  216. package/cli/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  217. package/cli/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  218. package/cli/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  219. package/cli/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  220. package/cli/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  221. package/cli/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  222. package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  223. package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  224. package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  225. package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  226. package/cli/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  227. package/cli/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  228. package/cli/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  229. package/cli/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  230. package/cli/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  231. package/cli/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  232. package/cli/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  233. package/cli/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  234. package/cli/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  235. package/cli/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  236. package/cli/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  237. package/cli/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  238. package/cli/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  239. package/cli/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  240. package/cli/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  241. package/cli/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  242. package/cli/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  243. package/cli/app/.next-cli-build/server/app/api/terminal/auth/setup/route.js.nft.json +1 -1
  244. package/cli/app/.next-cli-build/server/app/api/terminal/auth/status/route.js.nft.json +1 -1
  245. package/cli/app/.next-cli-build/server/app/api/terminal/auth/unlock/route.js.nft.json +1 -1
  246. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/input/route.js.nft.json +1 -1
  247. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/resize/route.js.nft.json +1 -1
  248. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/route.js.nft.json +1 -1
  249. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/stream/route.js.nft.json +1 -1
  250. package/cli/app/.next-cli-build/server/app/api/terminal/session/route.js.nft.json +1 -1
  251. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  252. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  253. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  254. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  255. package/cli/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  256. package/cli/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  257. package/cli/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  258. package/cli/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  259. package/cli/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  260. package/cli/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  261. package/cli/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  262. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  263. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  264. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  265. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  266. package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  267. package/cli/app/.next-cli-build/server/app/api/usage/aggregate/route.js.nft.json +1 -1
  268. package/cli/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  269. package/cli/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  270. package/cli/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  271. package/cli/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  272. package/cli/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  273. package/cli/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  274. package/cli/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  275. package/cli/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  276. package/cli/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  277. package/cli/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  278. package/cli/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  279. package/cli/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  280. package/cli/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  281. package/cli/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  282. package/cli/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  283. package/cli/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  284. package/cli/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  285. package/cli/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  286. package/cli/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  287. package/cli/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  288. package/cli/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  289. package/cli/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  290. package/cli/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  291. package/cli/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  292. package/cli/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  293. package/cli/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  294. package/cli/app/.next-cli-build/server/app/api/version/route.js +1 -1
  295. package/cli/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  296. package/cli/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  297. package/cli/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  298. package/cli/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  299. package/cli/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  300. package/cli/app/.next-cli-build/server/app/callback/page.js +1 -1
  301. package/cli/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  302. package/cli/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  303. package/cli/app/.next-cli-build/server/app/callback.html +1 -1
  304. package/cli/app/.next-cli-build/server/app/callback.rsc +5 -5
  305. package/cli/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +5 -5
  306. package/cli/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  307. package/cli/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +5 -5
  308. package/cli/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +3 -3
  309. package/cli/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  310. package/cli/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  311. package/cli/app/.next-cli-build/server/app/dashboard/automation.html +1 -1
  312. package/cli/app/.next-cli-build/server/app/dashboard/automation.rsc +7 -7
  313. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation/__PAGE__.segment.rsc +2 -2
  314. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation.segment.rsc +1 -1
  315. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  316. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  317. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_full.segment.rsc +7 -7
  318. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_head.segment.rsc +1 -1
  319. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_index.segment.rsc +5 -5
  320. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_tree.segment.rsc +3 -3
  321. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  322. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +7 -7
  323. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  324. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  325. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  326. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  327. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +7 -7
  328. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  329. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +5 -5
  330. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +3 -3
  331. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  332. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +7 -7
  333. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  334. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  335. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  336. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  337. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +7 -7
  338. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  339. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +5 -5
  340. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +3 -3
  341. package/cli/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  342. package/cli/app/.next-cli-build/server/app/dashboard/combos.rsc +7 -7
  343. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  344. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  345. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  346. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  347. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +7 -7
  348. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  349. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +5 -5
  350. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +3 -3
  351. package/cli/app/.next-cli-build/server/app/dashboard/context.html +1 -1
  352. package/cli/app/.next-cli-build/server/app/dashboard/context.rsc +7 -7
  353. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context/__PAGE__.segment.rsc +2 -2
  354. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context.segment.rsc +1 -1
  355. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  356. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  357. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_full.segment.rsc +7 -7
  358. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_head.segment.rsc +1 -1
  359. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_index.segment.rsc +5 -5
  360. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_tree.segment.rsc +3 -3
  361. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  362. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.rsc +7 -7
  363. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  364. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  365. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  366. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  367. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +7 -7
  368. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  369. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +5 -5
  370. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +3 -3
  371. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  372. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +7 -7
  373. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  374. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  375. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  376. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  377. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  378. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +7 -7
  379. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  380. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +5 -5
  381. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +3 -3
  382. package/cli/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  383. package/cli/app/.next-cli-build/server/app/dashboard/mitm.rsc +7 -7
  384. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  385. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  386. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  387. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  388. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +7 -7
  389. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  390. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +5 -5
  391. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +3 -3
  392. package/cli/app/.next-cli-build/server/app/dashboard/playground.html +1 -1
  393. package/cli/app/.next-cli-build/server/app/dashboard/playground.rsc +7 -7
  394. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground/__PAGE__.segment.rsc +2 -2
  395. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground.segment.rsc +1 -1
  396. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  397. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  398. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_full.segment.rsc +7 -7
  399. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_head.segment.rsc +1 -1
  400. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_index.segment.rsc +5 -5
  401. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_tree.segment.rsc +3 -3
  402. package/cli/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  403. package/cli/app/.next-cli-build/server/app/dashboard/profile.rsc +7 -7
  404. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  405. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  406. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  407. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  408. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +7 -7
  409. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  410. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +5 -5
  411. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +3 -3
  412. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  413. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.rsc +7 -7
  414. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  415. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  416. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  417. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  418. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  419. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +7 -7
  420. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  421. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +5 -5
  422. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +3 -3
  423. package/cli/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  424. package/cli/app/.next-cli-build/server/app/dashboard/providers.rsc +7 -7
  425. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  426. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  427. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  428. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  429. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +7 -7
  430. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  431. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +5 -5
  432. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +3 -3
  433. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  434. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +7 -7
  435. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  436. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  437. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  438. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  439. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +7 -7
  440. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  441. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +5 -5
  442. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +3 -3
  443. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  444. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +7 -7
  445. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
  446. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +1 -1
  447. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  448. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  449. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +7 -7
  450. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +1 -1
  451. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +5 -5
  452. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +3 -3
  453. package/cli/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  454. package/cli/app/.next-cli-build/server/app/dashboard/quota.rsc +8 -8
  455. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  456. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  457. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  458. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  459. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +8 -8
  460. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  461. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +5 -5
  462. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +3 -3
  463. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  464. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  465. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  466. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  467. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +5 -5
  468. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -5
  469. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  470. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +5 -5
  471. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +3 -3
  472. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  473. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  474. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  475. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  476. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  477. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.rsc +7 -7
  478. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
  479. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  480. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  481. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  482. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +7 -7
  483. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  484. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +5 -5
  485. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +3 -3
  486. package/cli/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  487. package/cli/app/.next-cli-build/server/app/dashboard/translator.rsc +7 -7
  488. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  489. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  490. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  491. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  492. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +7 -7
  493. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  494. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +5 -5
  495. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +3 -3
  496. package/cli/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  497. package/cli/app/.next-cli-build/server/app/dashboard/usage.rsc +7 -7
  498. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  499. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  500. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  501. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  502. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +7 -7
  503. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  504. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +5 -5
  505. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +3 -3
  506. package/cli/app/.next-cli-build/server/app/dashboard.html +1 -1
  507. package/cli/app/.next-cli-build/server/app/dashboard.rsc +7 -7
  508. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  509. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  510. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  511. package/cli/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +7 -7
  512. package/cli/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  513. package/cli/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +5 -5
  514. package/cli/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +3 -3
  515. package/cli/app/.next-cli-build/server/app/index.html +1 -1
  516. package/cli/app/.next-cli-build/server/app/index.rsc +5 -5
  517. package/cli/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  518. package/cli/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +5 -5
  519. package/cli/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  520. package/cli/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +5 -5
  521. package/cli/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +3 -3
  522. package/cli/app/.next-cli-build/server/app/landing/page.js +1 -1
  523. package/cli/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  524. package/cli/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  525. package/cli/app/.next-cli-build/server/app/landing.html +1 -1
  526. package/cli/app/.next-cli-build/server/app/landing.rsc +6 -6
  527. package/cli/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +6 -6
  528. package/cli/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  529. package/cli/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +5 -5
  530. package/cli/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +3 -3
  531. package/cli/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +2 -2
  532. package/cli/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  533. package/cli/app/.next-cli-build/server/app/login/page.js +1 -1
  534. package/cli/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  535. package/cli/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  536. package/cli/app/.next-cli-build/server/app/login.html +1 -1
  537. package/cli/app/.next-cli-build/server/app/login.rsc +6 -6
  538. package/cli/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +6 -6
  539. package/cli/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  540. package/cli/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +5 -5
  541. package/cli/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +3 -3
  542. package/cli/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  543. package/cli/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  544. package/cli/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  545. package/cli/app/.next-cli-build/server/app/page.js +2 -2
  546. package/cli/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  547. package/cli/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  548. package/cli/app/.next-cli-build/server/app-paths-manifest.json +13 -13
  549. package/cli/app/.next-cli-build/server/chunks/3155.js +1 -1
  550. package/cli/app/.next-cli-build/server/chunks/318.js +1 -1
  551. package/cli/app/.next-cli-build/server/chunks/412.js +2 -2
  552. package/cli/app/.next-cli-build/server/chunks/4746.js +1 -1
  553. package/cli/app/.next-cli-build/server/chunks/5189.js +66 -0
  554. package/cli/app/.next-cli-build/server/chunks/5307.js +1 -1
  555. package/cli/app/.next-cli-build/server/chunks/601.js +2 -2
  556. package/cli/app/.next-cli-build/server/chunks/8242.js +2 -2
  557. package/cli/app/.next-cli-build/server/chunks/8306.js +1 -1
  558. package/cli/app/.next-cli-build/server/chunks/8895.js +1 -1
  559. package/cli/app/.next-cli-build/server/chunks/9071.js +1 -0
  560. package/cli/app/.next-cli-build/server/chunks/9621.js +1 -0
  561. package/cli/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  562. package/cli/app/.next-cli-build/server/pages/404.html +1 -1
  563. package/cli/app/.next-cli-build/server/pages/500.html +1 -1
  564. package/cli/app/.next-cli-build/static/chunks/3745-7e7bb6aaf8a63e86.js +1 -0
  565. package/cli/app/.next-cli-build/static/chunks/523-078802482e95c757.js +3 -0
  566. package/cli/app/.next-cli-build/static/chunks/5497-276ef7bcaaa911b7.js +7 -0
  567. package/cli/app/.next-cli-build/static/chunks/620-b227b2e4896911f3.js +1 -0
  568. package/cli/app/.next-cli-build/static/chunks/9802-1969f16a588b05f6.js +66 -0
  569. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/automation/{page-d55c4e337a98302a.js → page-bf069c081a5ae279.js} +1 -1
  570. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-b9e61d29da8941f7.js +1 -0
  571. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-2361fd82cdac58f9.js → page-f16310d2b403445e.js} +1 -1
  572. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-0186f028c4f68aa9.js → page-27b7575d0d2d59fa.js} +1 -1
  573. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/{page-81c25ef219dfc38b.js → page-92aed83e0b2aba47.js} +1 -1
  574. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/{page-b055dfe6fb0c0172.js → page-eb2a18df1f1f3808.js} +1 -1
  575. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/context/{page-fb93d56bfaccdc19.js → page-86fa4f45899539b7.js} +1 -1
  576. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-9762b5d12b9faca6.js +1 -0
  577. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-eb43268c6d46f931.js → page-a35d16eda369d68e.js} +1 -1
  578. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/{page-7b6e1ef525e44bd1.js → page-5317928a78e74942.js} +1 -1
  579. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-85e7b6f5b4af1dd4.js → page-e7989e6397c3cd28.js} +1 -1
  580. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/{page-29893b095259085d.js → page-72eb287b8ed78360.js} +1 -1
  581. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-c03ae64868d6bc4d.js → page-81eaa9fe75830559.js} +1 -1
  582. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-93b75c738ae813fe.js +1 -0
  583. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/playground/page-35b97573fd86a9fb.js +1 -0
  584. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/{page-3daabb58a77d3b0d.js → page-ceb414eddc31fbfc.js} +1 -1
  585. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-d2cd046c2bea1692.js → page-4f6f0b7c3b3da037.js} +1 -1
  586. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-c38381db33d5aafc.js → page-8692640e1920d5fd.js} +1 -1
  587. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-2cedde97aaf3c729.js +1 -0
  588. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-eb11e852f7a314c9.js → page-9e3ac0e62a8bba94.js} +1 -1
  589. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/pxpipe/{page-f1c47c7778f23895.js → page-95719c850f15a0cd.js} +1 -1
  590. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/{page-ac445dab96ac6223.js → page-6050ac2547c62b54.js} +1 -1
  591. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/terminal/{page-a3689f5a124bc27a.js → page-e08897cf6cbe1b49.js} +3 -3
  592. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/{page-26d372726ae6df38.js → page-8b89eccb0440a492.js} +1 -1
  593. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/{page-a408f0954e4812ab.js → page-7027d915ac07c723.js} +1 -1
  594. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/{page-2de7b12af94b8721.js → page-bc3ada97fab644b3.js} +1 -1
  595. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-2ae824d2d09c81ea.js → layout-59c5060c7f023ab8.js} +1 -1
  596. package/cli/app/.next-cli-build/static/chunks/app/landing/page-06b42dda19642072.js +1 -0
  597. package/cli/app/.next-cli-build/static/chunks/app/layout-f01c49fcec50ff21.js +1 -0
  598. package/cli/app/.next-cli-build/static/chunks/app/login/{page-b5822dd005b1f5c2.js → page-9ea3f794879db097.js} +1 -1
  599. package/cli/app/.next-cli-build/static/chunks/{webpack-948b910ed7afd0b8.js → webpack-99944d59834ca8f9.js} +1 -1
  600. package/cli/app/.next-cli-build/static/css/{f0a349c70ab9fca8.css → 081a0afca5a9bd20.css} +1 -1
  601. package/cli/app/.next-cli-build/static/css/b912482d9fc0b2ed.css +1 -0
  602. package/cli/app/package.json +1 -1
  603. package/cli/package.json +1 -1
  604. package/open-sse/utils/stream.js +6 -2
  605. package/open-sse/utils/usageTracking.js +6 -2
  606. package/package.json +1 -1
  607. package/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.js +80 -55
  608. package/src/app/(dashboard)/dashboard/providers/page.js +140 -58
  609. package/src/app/(dashboard)/dashboard/usage/components/OverviewCards.js +72 -25
  610. package/src/app/(dashboard)/dashboard/usage/components/ProviderTopology.js +39 -28
  611. package/src/app/(dashboard)/dashboard/usage/components/UsageChart.js +27 -14
  612. package/src/app/(dashboard)/dashboard/usage/page.js +1 -1
  613. package/src/app/globals.css +59 -48
  614. package/src/app/landing/components/HeroSection.js +31 -6
  615. package/src/app/landing/components/Navigation.js +14 -9
  616. package/src/app/layout.js +0 -1
  617. package/src/lib/db/repos/usageRepo.js +25 -24
  618. package/src/shared/components/Button.js +3 -3
  619. package/src/shared/components/Header.js +21 -17
  620. package/src/shared/components/SegmentedControl.js +2 -2
  621. package/src/shared/components/Sidebar.js +52 -69
  622. package/src/shared/components/UsageStats.js +89 -21
  623. package/cli/app/.next-cli-build/server/chunks/4491.js +0 -1
  624. package/cli/app/.next-cli-build/server/chunks/6269.js +0 -1
  625. package/cli/app/.next-cli-build/server/chunks/9476.js +0 -66
  626. package/cli/app/.next-cli-build/static/chunks/4343-ccad00872974a61b.js +0 -66
  627. package/cli/app/.next-cli-build/static/chunks/523-dd1081e3c6074114.js +0 -3
  628. package/cli/app/.next-cli-build/static/chunks/5242-bb1a1a7ec3bfb62f.js +0 -1
  629. package/cli/app/.next-cli-build/static/chunks/5497-471618863a988f25.js +0 -7
  630. package/cli/app/.next-cli-build/static/chunks/85-527f8960e00da0e4.js +0 -1
  631. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-fa9d3452d69f2fc7.js +0 -1
  632. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-09e6213a0742752b.js +0 -1
  633. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-fd2453044462eb4f.js +0 -1
  634. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/playground/page-13833a8f417b8d7e.js +0 -1
  635. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-5ab697596491a658.js +0 -1
  636. package/cli/app/.next-cli-build/static/chunks/app/landing/page-a5bcf36367dce737.js +0 -1
  637. package/cli/app/.next-cli-build/static/chunks/app/layout-2aaca42ecdf3a056.js +0 -1
  638. package/cli/app/.next-cli-build/static/css/62b104778c7fb066.css +0 -1
  639. /package/cli/app/.next-cli-build/static/{v3XjbfP9HOIoFNp8g293E → NDNBEXS64u-EzzKBoJKXf}/_buildManifest.js +0 -0
  640. /package/cli/app/.next-cli-build/static/{v3XjbfP9HOIoFNp8g293E → NDNBEXS64u-EzzKBoJKXf}/_ssgManifest.js +0 -0
@@ -11,32 +11,79 @@ export default function OverviewCards({ stats }) {
11
11
  const hitRate = stats.totalPromptTokens > 0
12
12
  ? Math.min(100, (cached / stats.totalPromptTokens) * 100)
13
13
  : 0;
14
+
15
+ const metrics = [
16
+ {
17
+ label: "Requests",
18
+ value: fmt(stats.totalRequests),
19
+ icon: "send",
20
+ valueClass: "text-text-main",
21
+ iconClass: "bg-primary/10 text-primary ring-primary/15",
22
+ accentClass: "from-primary via-primary/70 to-transparent",
23
+ detail: "All routed calls",
24
+ },
25
+ {
26
+ label: "Input Tokens",
27
+ value: fmt(stats.totalPromptTokens),
28
+ icon: "input",
29
+ valueClass: "text-primary",
30
+ iconClass: "bg-primary/10 text-primary ring-primary/15",
31
+ accentClass: "from-primary via-primary/70 to-transparent",
32
+ detail: "Prompt and context",
33
+ },
34
+ {
35
+ label: "Cached Tokens",
36
+ value: fmt(cached),
37
+ icon: "database",
38
+ valueClass: "text-info",
39
+ iconClass: "bg-info/10 text-info ring-info/15",
40
+ accentClass: "from-info via-info/70 to-transparent",
41
+ detail: cached > 0 ? `${hitRate.toFixed(1)}% of input · cache rate` : "No cache hits yet",
42
+ },
43
+ {
44
+ label: "Output Tokens",
45
+ value: fmt(stats.totalCompletionTokens),
46
+ icon: "output",
47
+ valueClass: "text-success",
48
+ iconClass: "bg-success/10 text-success ring-success/15",
49
+ accentClass: "from-success via-success/70 to-transparent",
50
+ detail: "Generated responses",
51
+ },
52
+ {
53
+ label: "Est. Cost",
54
+ value: `~${fmtCost(stats.totalCost)}`,
55
+ icon: "payments",
56
+ valueClass: "text-warning",
57
+ iconClass: "bg-warning/10 text-warning ring-warning/15",
58
+ accentClass: "from-warning via-warning/70 to-transparent",
59
+ detail: "Estimated, not billing",
60
+ className: "col-span-2 sm:col-span-1",
61
+ },
62
+ ];
63
+
14
64
  return (
15
- <div className="grid min-w-0 grid-cols-1 gap-3 sm:grid-cols-2 md:grid-cols-3 xl:grid-cols-5 sm:gap-4">
16
- <Card className="flex min-w-0 flex-col gap-1 px-4 py-3">
17
- <span className="text-text-muted text-sm uppercase font-semibold">Total Requests</span>
18
- <span className="truncate text-2xl font-bold">{fmt(stats.totalRequests)}</span>
19
- </Card>
20
- <Card className="flex min-w-0 flex-col gap-1 px-4 py-3">
21
- <span className="text-text-muted text-sm uppercase font-semibold">Total Input Tokens</span>
22
- <span className="truncate text-2xl font-bold text-primary">{fmt(stats.totalPromptTokens)}</span>
23
- </Card>
24
- <Card className="flex min-w-0 flex-col gap-1 px-4 py-3">
25
- <span className="text-text-muted text-sm uppercase font-semibold">Cached Tokens</span>
26
- <span className="truncate text-2xl font-bold text-info">{fmt(cached)}</span>
27
- <span className="text-[10px] text-text-muted">
28
- {cached > 0 ? `${hitRate.toFixed(1)}% of input · billed at cache rate` : "No cache hits yet"}
29
- </span>
30
- </Card>
31
- <Card className="flex min-w-0 flex-col gap-1 px-4 py-3">
32
- <span className="text-text-muted text-sm uppercase font-semibold">Output Tokens</span>
33
- <span className="truncate text-2xl font-bold text-success">{fmt(stats.totalCompletionTokens)}</span>
34
- </Card>
35
- <Card className="flex min-w-0 flex-col gap-1 px-4 py-3">
36
- <span className="text-text-muted text-sm uppercase font-semibold">Est. Cost</span>
37
- <span className="truncate text-2xl font-bold text-warning">~{fmtCost(stats.totalCost)}</span>
38
- <span className="text-[10px] text-text-muted">Estimated, not actual billing</span>
39
- </Card>
65
+ <div className="grid min-w-0 grid-cols-2 gap-3 md:grid-cols-3 xl:grid-cols-5">
66
+ {metrics.map((metric) => (
67
+ <Card
68
+ key={metric.label}
69
+ padding="none"
70
+ className={`group relative flex min-h-[118px] min-w-0 flex-col overflow-hidden p-3.5 transition-[border-color,box-shadow,transform] duration-200 hover:border-primary/20 sm:min-h-[130px] sm:p-4 ${metric.className || ""}`}
71
+ >
72
+ <span className={`absolute inset-x-0 top-0 h-0.5 bg-linear-to-r ${metric.accentClass}`} aria-hidden="true" />
73
+ <div className="flex items-start justify-between gap-2">
74
+ <span className="pt-0.5 text-[11px] font-bold uppercase tracking-[0.09em] text-text-muted">
75
+ {metric.label}
76
+ </span>
77
+ <span className={`material-symbols-outlined flex size-7 shrink-0 items-center justify-center rounded-lg text-[16px] ring-1 transition-transform duration-300 group-hover:scale-105 ${metric.iconClass}`}>
78
+ {metric.icon}
79
+ </span>
80
+ </div>
81
+ <span className={`mt-1.5 truncate text-[22px] font-bold tracking-[-0.02em] sm:text-2xl xl:text-[25px] ${metric.valueClass}`}>
82
+ {metric.value}
83
+ </span>
84
+ <span className="mt-auto min-h-[30px] text-[11px] leading-[1.35] text-text-muted">{metric.detail}</span>
85
+ </Card>
86
+ ))}
40
87
  </div>
41
88
  );
42
89
  }
@@ -283,35 +283,46 @@ export default function ProviderTopology({ providers = [], activeRequests = [],
283
283
  }, [nodes.length]);
284
284
 
285
285
  return (
286
- <div ref={containerRef} className="h-[320px] w-full min-w-0 rounded-lg border border-border bg-bg-subtle/30 sm:h-[480px]">
287
- {providers.length === 0 ? (
288
- <div className="h-full flex items-center justify-center text-text-muted text-sm">
289
- No providers connected
286
+ <div ref={containerRef} className="flex h-[360px] w-full min-w-0 flex-col overflow-hidden rounded-[14px] border border-border-subtle bg-surface/94 shadow-[0_14px_34px_-26px_rgba(15,23,42,0.28)] sm:h-[480px]">
287
+ <div className="flex shrink-0 items-center justify-between border-b border-border-subtle bg-surface/75 px-4 py-3.5">
288
+ <div className="flex items-center gap-2">
289
+ <span className="material-symbols-outlined text-[17px] text-primary">route</span>
290
+ <span className="text-xs font-bold uppercase tracking-[0.08em] text-text-muted">Routing Map</span>
290
291
  </div>
291
- ) : (
292
- <ReactFlow
293
- key={providersKey}
294
- nodes={nodes}
295
- edges={edges}
296
- nodeTypes={nodeTypes}
297
- fitView
298
- fitViewOptions={FIT_OPTS}
299
- minZoom={0.1}
300
- maxZoom={2}
301
- onInit={onInit}
302
- proOptions={{ hideAttribution: true }}
303
- panOnDrag
304
- zoomOnScroll
305
- zoomOnPinch
306
- zoomOnDoubleClick
307
- preventScrolling={false}
308
- nodesDraggable={false}
309
- nodesConnectable={false}
310
- elementsSelectable={false}
311
- >
312
- <Controls showInteractive={false} className="react-flow-controls-custom" />
313
- </ReactFlow>
314
- )}
292
+ <span className="rounded-full bg-primary/[0.08] px-2 py-1 text-[10px] font-semibold text-primary ring-1 ring-primary/15">
293
+ {providers.length} {providers.length === 1 ? "provider" : "providers"}
294
+ </span>
295
+ </div>
296
+ <div className="min-h-0 flex-1 bg-bg/35">
297
+ {providers.length === 0 ? (
298
+ <div className="flex h-full items-center justify-center text-sm text-text-muted">
299
+ No providers connected
300
+ </div>
301
+ ) : (
302
+ <ReactFlow
303
+ key={providersKey}
304
+ nodes={nodes}
305
+ edges={edges}
306
+ nodeTypes={nodeTypes}
307
+ fitView
308
+ fitViewOptions={FIT_OPTS}
309
+ minZoom={0.1}
310
+ maxZoom={2}
311
+ onInit={onInit}
312
+ proOptions={{ hideAttribution: true }}
313
+ panOnDrag
314
+ zoomOnScroll
315
+ zoomOnPinch
316
+ zoomOnDoubleClick
317
+ preventScrolling={false}
318
+ nodesDraggable={false}
319
+ nodesConnectable={false}
320
+ elementsSelectable={false}
321
+ >
322
+ <Controls showInteractive={false} className="react-flow-controls-custom" />
323
+ </ReactFlow>
324
+ )}
325
+ </div>
315
326
  </div>
316
327
  );
317
328
  }
@@ -21,6 +21,13 @@ const fmtTokens = (n) => {
21
21
  };
22
22
 
23
23
  const fmtCost = (n) => `$${(n || 0).toFixed(4)}`;
24
+ const PERIOD_LABELS = {
25
+ today: "Today",
26
+ "24h": "Last 24 hours",
27
+ "7d": "Last 7 days",
28
+ "30d": "Last 30 days",
29
+ "60d": "Last 60 days",
30
+ };
24
31
 
25
32
  export default function UsageChart({ period = "7d" }) {
26
33
  const [data, setData] = useState([]);
@@ -50,20 +57,26 @@ export default function UsageChart({ period = "7d" }) {
50
57
  const hasData = data.some((d) => d.tokens > 0 || d.cost > 0);
51
58
 
52
59
  return (
53
- <Card className="flex min-w-0 flex-col gap-3 p-3 sm:p-4">
54
- <div className="grid w-full grid-cols-2 items-center gap-1 rounded-lg border border-border bg-bg-subtle p-1 sm:w-auto sm:self-start">
55
- <button
56
- onClick={() => setViewMode("tokens")}
57
- className={`px-3 py-1 rounded-md text-sm font-medium transition-colors ${viewMode === "tokens" ? "bg-primary text-white shadow-sm" : "text-text-muted hover:text-text hover:bg-bg-hover"}`}
58
- >
59
- Tokens
60
- </button>
61
- <button
62
- onClick={() => setViewMode("cost")}
63
- className={`px-3 py-1 rounded-md text-sm font-medium transition-colors ${viewMode === "cost" ? "bg-primary text-white shadow-sm" : "text-text-muted hover:text-text hover:bg-bg-hover"}`}
64
- >
65
- Cost
66
- </button>
60
+ <Card className="flex min-w-0 flex-col gap-5 p-4 sm:p-5">
61
+ <div className="flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between">
62
+ <div>
63
+ <p className="text-sm font-semibold text-text-main">Usage trend</p>
64
+ <p className="mt-0.5 text-[11px] text-text-muted">{PERIOD_LABELS[period] || period} · routed traffic over time</p>
65
+ </div>
66
+ <div className="grid w-full grid-cols-2 items-center gap-1 rounded-lg border border-border bg-bg-subtle p-1 sm:w-auto">
67
+ <button
68
+ onClick={() => setViewMode("tokens")}
69
+ className={`rounded-md px-3 py-1 text-sm font-medium transition-colors ${viewMode === "tokens" ? "bg-primary text-white shadow-sm" : "text-text-muted hover:bg-bg-hover hover:text-text"}`}
70
+ >
71
+ Tokens
72
+ </button>
73
+ <button
74
+ onClick={() => setViewMode("cost")}
75
+ className={`rounded-md px-3 py-1 text-sm font-medium transition-colors ${viewMode === "cost" ? "bg-primary text-white shadow-sm" : "text-text-muted hover:bg-bg-hover hover:text-text"}`}
76
+ >
77
+ Cost
78
+ </button>
79
+ </div>
67
80
  </div>
68
81
 
69
82
  {loading ? (
@@ -40,7 +40,7 @@ function UsageContent() {
40
40
  };
41
41
 
42
42
  return (
43
- <div className="flex min-w-0 flex-col gap-6 px-1 sm:px-0">
43
+ <div className="flex min-w-0 flex-col gap-6 px-1 sm:px-0 lg:gap-7">
44
44
  {/* Tabs + period selector on same row */}
45
45
  <div className="flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between">
46
46
  <SegmentedControl
@@ -1,5 +1,13 @@
1
1
  @import "tailwindcss";
2
2
 
3
+ @font-face {
4
+ font-family: 'Material Symbols Outlined';
5
+ font-style: normal;
6
+ font-weight: 100 700;
7
+ font-display: block;
8
+ src: url('../../node_modules/material-symbols/material-symbols-outlined.woff2') format('woff2');
9
+ }
10
+
3
11
  @custom-variant dark (&:where(.dark, .dark *));
4
12
 
5
13
  /* Hide icon ligature text until font is ready */
@@ -42,8 +50,8 @@
42
50
  /* Text */
43
51
  --color-text: #0a0a0a;
44
52
  --color-text-main: #0a0a0a;
45
- --color-text-muted: #6B7280;
46
- --color-text-subtle: #9CA3AF;
53
+ --color-text-muted: #606A78;
54
+ --color-text-subtle: #7C8694;
47
55
 
48
56
  /* Status */
49
57
  --color-danger: #cf222e;
@@ -97,8 +105,8 @@
97
105
 
98
106
  --color-text: #ededed;
99
107
  --color-text-main: #ededed;
100
- --color-text-muted: #9ca3af;
101
- --color-text-subtle: #6b7280;
108
+ --color-text-muted: #a7aeb9;
109
+ --color-text-subtle: #858e9c;
102
110
 
103
111
  --color-danger: #ef4444;
104
112
  --color-success: #22c55e;
@@ -296,26 +304,30 @@ input, textarea {
296
304
  .traffic-light.yellow { background: #FFBD2E; }
297
305
  .traffic-light.green { background: #27C93F; }
298
306
 
299
- /* Material Symbols */
300
- .material-symbols-outlined {
301
- font-family: 'Material Symbols Outlined', sans-serif;
302
- font-weight: normal;
303
- font-style: normal;
304
- font-size: 24px;
305
- line-height: 1;
306
- letter-spacing: normal;
307
- text-transform: none;
308
- display: inline-block;
309
- white-space: nowrap;
310
- word-wrap: normal;
311
- direction: ltr;
312
- font-feature-settings: 'liga';
313
- -webkit-font-feature-settings: 'liga';
314
- -webkit-font-smoothing: antialiased;
315
- font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
316
- }
317
- .material-symbols-outlined.fill-1 {
318
- font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
307
+ /* Keep icon defaults below Tailwind utilities in the cascade. */
308
+ @layer base {
309
+ .material-symbols-outlined {
310
+ font-family: 'Material Symbols Outlined', sans-serif;
311
+ font-weight: normal;
312
+ font-style: normal;
313
+ font-size: 24px;
314
+ line-height: 1;
315
+ letter-spacing: normal;
316
+ text-transform: none;
317
+ display: inline-block;
318
+ white-space: nowrap;
319
+ word-wrap: normal;
320
+ direction: ltr;
321
+ font-feature-settings: 'liga';
322
+ -webkit-font-feature-settings: 'liga';
323
+ -webkit-font-smoothing: antialiased;
324
+ font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
325
+ -webkit-user-select: none;
326
+ user-select: none;
327
+ }
328
+ .material-symbols-outlined.fill-1 {
329
+ font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
330
+ }
319
331
  }
320
332
 
321
333
  /* Disable text selection on buttons */
@@ -418,13 +430,16 @@ button {
418
430
  /* Landing-style faint grid overlay (use absolute pos inside relative parent) */
419
431
  .landing-grid {
420
432
  background-image:
433
+ radial-gradient(circle at 18% 0%, rgba(229, 106, 74, 0.9) 0%, transparent 32%),
421
434
  linear-gradient(to right, var(--color-accent) 1px, transparent 1px),
422
435
  linear-gradient(to bottom, var(--color-accent) 1px, transparent 1px);
423
- background-size: 40px 40px;
424
- opacity: 0.08;
436
+ background-size: auto, 48px 48px, 48px 48px;
437
+ opacity: 0.055;
438
+ -webkit-mask-image: linear-gradient(to bottom, #000 0%, rgba(0, 0, 0, 0.78) 48%, transparent 100%);
439
+ mask-image: linear-gradient(to bottom, #000 0%, rgba(0, 0, 0, 0.78) 48%, transparent 100%);
425
440
  }
426
441
  .dark .landing-grid {
427
- opacity: 0.04;
442
+ opacity: 0.045;
428
443
  }
429
444
 
430
445
  /* React Flow controls: match app theme */
@@ -501,18 +516,17 @@ button {
501
516
  ============================================================ */
502
517
  .card-3d {
503
518
  position: relative;
504
- background: color-mix(in srgb, var(--color-surface) 86%, transparent);
505
- backdrop-filter: blur(12px) saturate(125%);
506
- -webkit-backdrop-filter: blur(12px) saturate(125%);
519
+ background: color-mix(in srgb, var(--color-surface) 94%, transparent);
520
+ backdrop-filter: blur(14px) saturate(118%);
521
+ -webkit-backdrop-filter: blur(14px) saturate(118%);
507
522
  border-radius: var(--radius-brand-lg);
508
523
  box-shadow:
509
- inset 0 1px 0 0 rgba(255, 255, 255, 0.55),
510
- 0 1px 2px rgba(15, 23, 42, 0.05),
511
- 0 10px 24px -10px rgba(15, 23, 42, 0.18),
512
- 0 24px 48px -24px rgba(15, 23, 42, 0.22);
524
+ inset 0 1px 0 0 rgba(255, 255, 255, 0.66),
525
+ 0 1px 2px rgba(15, 23, 42, 0.045),
526
+ 0 14px 34px -26px rgba(15, 23, 42, 0.28);
513
527
  transform: translateY(0);
514
- transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
515
- box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1);
528
+ transition: transform 0.22s cubic-bezier(0.22, 1, 0.36, 1),
529
+ box-shadow 0.25s cubic-bezier(0.22, 1, 0.36, 1);
516
530
  }
517
531
  .card-3d::before {
518
532
  content: "";
@@ -525,12 +539,11 @@ button {
525
539
  }
526
540
  .card-3d > * { position: relative; z-index: 1; }
527
541
  .card-3d:hover {
528
- transform: translateY(-3px);
542
+ transform: translateY(0);
529
543
  box-shadow:
530
- inset 0 1px 0 0 rgba(255, 255, 255, 0.6),
531
- 0 2px 4px rgba(15, 23, 42, 0.06),
532
- 0 14px 32px -14px rgba(229, 106, 74, 0.22),
533
- 0 32px 60px -32px rgba(15, 23, 42, 0.24);
544
+ inset 0 1px 0 0 rgba(255, 255, 255, 0.72),
545
+ 0 2px 4px rgba(15, 23, 42, 0.05),
546
+ 0 18px 40px -28px rgba(229, 106, 74, 0.3);
534
547
  }
535
548
  .card-3d-elev {
536
549
  box-shadow:
@@ -541,12 +554,11 @@ button {
541
554
  }
542
555
 
543
556
  .dark .card-3d {
544
- background: color-mix(in srgb, var(--color-surface) 80%, transparent);
557
+ background: color-mix(in srgb, var(--color-surface) 90%, transparent);
545
558
  box-shadow:
546
559
  inset 0 1px 0 0 rgba(255, 255, 255, 0.06),
547
- 0 1px 2px rgba(0, 0, 0, 0.4),
548
- 0 12px 28px -10px rgba(0, 0, 0, 0.55),
549
- 0 28px 56px -24px rgba(0, 0, 0, 0.6);
560
+ 0 1px 2px rgba(0, 0, 0, 0.34),
561
+ 0 16px 36px -26px rgba(0, 0, 0, 0.72);
550
562
  }
551
563
  .dark .card-3d::before {
552
564
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.07), transparent 42%);
@@ -554,9 +566,8 @@ button {
554
566
  .dark .card-3d:hover {
555
567
  box-shadow:
556
568
  inset 0 1px 0 0 rgba(255, 255, 255, 0.09),
557
- 0 2px 4px rgba(0, 0, 0, 0.5),
558
- 0 16px 36px -14px rgba(229, 106, 74, 0.3),
559
- 0 36px 64px -32px rgba(0, 0, 0, 0.7);
569
+ 0 2px 4px rgba(0, 0, 0, 0.42),
570
+ 0 20px 44px -30px rgba(229, 106, 74, 0.38);
560
571
  }
561
572
  .dark .card-3d-elev {
562
573
  box-shadow:
@@ -1,16 +1,25 @@
1
1
  "use client";
2
2
 
3
+ import Link from "next/link";
4
+ import { APP_CONFIG } from "@/shared/constants/config";
5
+
6
+ const PROOF_POINTS = [
7
+ { icon: "route", label: "One /v1 endpoint", detail: "OpenAI compatible" },
8
+ { icon: "hub", label: "20+ providers", detail: "One control plane" },
9
+ { icon: "shield_lock", label: "Local-first", detail: "Your keys stay yours" },
10
+ ];
11
+
3
12
  export default function HeroSection() {
4
13
  return (
5
14
  <section className="relative pt-32 pb-20 px-6 min-h-[90vh] flex flex-col items-center justify-center overflow-hidden">
6
15
  {/* Glow effect */}
7
16
  <div className="absolute top-0 left-1/2 -translate-x-1/2 w-[1000px] h-[500px] bg-[#f97815]/10 rounded-full blur-[120px] pointer-events-none"></div>
8
17
 
9
- <div className="relative z-10 max-w-4xl w-full text-center flex flex-col items-center gap-8">
18
+ <div className="relative z-10 max-w-5xl w-full text-center flex flex-col items-center gap-8">
10
19
  {/* Version badge */}
11
20
  <div className="inline-flex items-center gap-2 rounded-full border border-[#3a2f27] bg-[#23180f]/50 px-3 py-1 text-xs font-medium text-[#f97815]">
12
21
  <span className="flex h-2 w-2 rounded-full bg-[#f97815] animate-pulse"></span>
13
- v1.0 is now live
22
+ v{APP_CONFIG.version} is live
14
23
  </div>
15
24
 
16
25
  {/* Main heading */}
@@ -26,22 +35,38 @@ export default function HeroSection() {
26
35
 
27
36
  {/* CTA Buttons */}
28
37
  <div className="flex flex-wrap items-center justify-center gap-4 w-full">
29
- <button className="h-12 px-8 rounded-lg bg-[#f97815] hover:bg-[#e0650a] text-[#181411] text-base font-bold transition-all shadow-[0_0_15px_rgba(249,120,21,0.4)] flex items-center gap-2">
38
+ <Link
39
+ href="/dashboard"
40
+ className="h-12 px-8 rounded-lg bg-[#f97815] hover:bg-[#ff8a2f] text-[#181411] text-base font-bold transition-all duration-300 shadow-[0_0_15px_rgba(249,120,21,0.4)] hover:-translate-y-0.5 hover:shadow-[0_14px_32px_-12px_rgba(249,120,21,0.8)] flex items-center gap-2"
41
+ >
30
42
  <span className="material-symbols-outlined">rocket_launch</span>
31
43
  Get Started
32
- </button>
44
+ </Link>
33
45
  <a
34
46
  href="https://github.com/Verifiedlabs/zevairouter"
35
47
  target="_blank"
36
48
  rel="noopener noreferrer"
37
- className="h-12 px-8 rounded-lg border border-[#3a2f27] bg-[#23180f] hover:bg-[#3a2f27] text-white text-base font-bold transition-all flex items-center gap-2"
49
+ className="h-12 px-8 rounded-lg border border-[#3a2f27] bg-[#23180f]/90 hover:bg-[#3a2f27] hover:border-[#6a4a34] text-white text-base font-bold transition-all duration-300 hover:-translate-y-0.5 flex items-center gap-2"
38
50
  >
39
51
  <span className="material-symbols-outlined">code</span>
40
52
  View on GitHub
41
53
  </a>
42
54
  </div>
55
+
56
+ <dl className="hidden md:grid w-full max-w-3xl grid-cols-3 divide-x divide-[#3a2f27] overflow-hidden rounded-2xl border border-[#3a2f27] bg-[#1c1713]/75 p-1 shadow-[0_24px_70px_-45px_rgba(249,120,21,0.75)] backdrop-blur-xl">
57
+ {PROOF_POINTS.map((point) => (
58
+ <div key={point.label} className="flex items-center justify-center gap-3 px-5 py-3 text-left">
59
+ <span className="material-symbols-outlined flex size-9 shrink-0 items-center justify-center rounded-xl bg-[#f97815]/10 text-[19px] text-[#f97815] ring-1 ring-[#f97815]/15">
60
+ {point.icon}
61
+ </span>
62
+ <div>
63
+ <dt className="text-sm font-bold text-white">{point.label}</dt>
64
+ <dd className="mt-0.5 text-[11px] text-gray-500">{point.detail}</dd>
65
+ </div>
66
+ </div>
67
+ ))}
68
+ </dl>
43
69
  </div>
44
70
  </section>
45
71
  );
46
72
  }
47
-
@@ -23,11 +23,11 @@ export default function Navigation() {
23
23
  </button>
24
24
 
25
25
  {/* Desktop menu */}
26
- <div className="hidden md:flex items-center gap-8">
27
- <a className="text-gray-300 hover:text-white text-sm font-medium transition-colors" href="#features">Features</a>
28
- <a className="text-gray-300 hover:text-white text-sm font-medium transition-colors" href="#how-it-works">How it Works</a>
29
- <a className="text-gray-300 hover:text-white text-sm font-medium transition-colors" href="https://github.com/Verifiedlabs/zevairouter#readme" target="_blank" rel="noopener noreferrer">Docs</a>
30
- <a className="text-gray-300 hover:text-white text-sm font-medium transition-colors flex items-center gap-1" href="https://github.com/Verifiedlabs/zevairouter" target="_blank" rel="noopener noreferrer">
26
+ <div className="hidden md:flex items-center gap-1 rounded-full border border-[#3a2f27]/80 bg-[#23180f]/55 p-1 shadow-[0_12px_35px_-25px_rgba(249,120,21,0.8)]">
27
+ <a className="rounded-full px-3 py-1.5 text-gray-300 hover:bg-[#3a2f27]/70 hover:text-white text-sm font-medium transition-colors" href="#features">Features</a>
28
+ <a className="rounded-full px-3 py-1.5 text-gray-300 hover:bg-[#3a2f27]/70 hover:text-white text-sm font-medium transition-colors" href="#how-it-works">How it Works</a>
29
+ <a className="rounded-full px-3 py-1.5 text-gray-300 hover:bg-[#3a2f27]/70 hover:text-white text-sm font-medium transition-colors" href="https://github.com/Verifiedlabs/zevairouter#readme" target="_blank" rel="noopener noreferrer">Docs</a>
30
+ <a className="rounded-full px-3 py-1.5 text-gray-300 hover:bg-[#3a2f27]/70 hover:text-white text-sm font-medium transition-colors flex items-center gap-1" href="https://github.com/Verifiedlabs/zevairouter" target="_blank" rel="noopener noreferrer">
31
31
  GitHub <span className="material-symbols-outlined text-[14px]">open_in_new</span>
32
32
  </a>
33
33
  </div>
@@ -35,14 +35,19 @@ export default function Navigation() {
35
35
  {/* CTA + Mobile menu */}
36
36
  <div className="flex items-center gap-4">
37
37
  <button
38
+ type="button"
38
39
  onClick={() => router.push("/dashboard")}
39
- className="hidden sm:flex h-9 items-center justify-center rounded-lg px-4 bg-[#f97815] hover:bg-[#e0650a] transition-all text-[#181411] text-sm font-bold shadow-[0_0_15px_rgba(249,120,21,0.4)] hover:shadow-[0_0_20px_rgba(249,120,21,0.6)]"
40
+ className="hidden sm:flex h-10 items-center justify-center rounded-xl px-5 bg-[#f97815] hover:bg-[#ff8a2f] transition-all text-[#181411] text-sm font-bold shadow-[0_8px_24px_-10px_rgba(249,120,21,0.8)] hover:-translate-y-0.5 hover:shadow-[0_12px_30px_-10px_rgba(249,120,21,0.9)]"
40
41
  >
41
42
  Get Started
42
43
  </button>
43
44
  <button
44
- className="md:hidden text-white"
45
+ type="button"
46
+ className="flex size-10 items-center justify-center rounded-lg text-white transition-colors hover:bg-[#3a2f27] md:hidden"
45
47
  onClick={() => setMobileMenuOpen(!mobileMenuOpen)}
48
+ aria-label={mobileMenuOpen ? "Close navigation menu" : "Open navigation menu"}
49
+ aria-expanded={mobileMenuOpen}
50
+ aria-controls="landing-mobile-navigation"
46
51
  >
47
52
  <span className="material-symbols-outlined">{mobileMenuOpen ? "close" : "menu"}</span>
48
53
  </button>
@@ -51,13 +56,14 @@ export default function Navigation() {
51
56
 
52
57
  {/* Mobile menu dropdown */}
53
58
  {mobileMenuOpen && (
54
- <div className="md:hidden border-t border-[#3a2f27] bg-[#181411]/95 backdrop-blur-md">
59
+ <div id="landing-mobile-navigation" className="md:hidden border-t border-[#3a2f27] bg-[#181411]/95 backdrop-blur-md">
55
60
  <div className="flex flex-col gap-4 p-6">
56
61
  <a className="text-gray-300 hover:text-white text-sm font-medium transition-colors" href="#features" onClick={() => setMobileMenuOpen(false)}>Features</a>
57
62
  <a className="text-gray-300 hover:text-white text-sm font-medium transition-colors" href="#how-it-works" onClick={() => setMobileMenuOpen(false)}>How it Works</a>
58
63
  <a className="text-gray-300 hover:text-white text-sm font-medium transition-colors" href="https://github.com/Verifiedlabs/zevairouter#readme" target="_blank" rel="noopener noreferrer">Docs</a>
59
64
  <a className="text-gray-300 hover:text-white text-sm font-medium transition-colors" href="https://github.com/Verifiedlabs/zevairouter" target="_blank" rel="noopener noreferrer">GitHub</a>
60
65
  <button
66
+ type="button"
61
67
  onClick={() => router.push("/dashboard")}
62
68
  className="h-9 rounded-lg bg-[#f97815] hover:bg-[#e0650a] text-[#181411] text-sm font-bold"
63
69
  >
@@ -69,4 +75,3 @@ export default function Navigation() {
69
75
  </nav>
70
76
  );
71
77
  }
72
-
package/src/app/layout.js CHANGED
@@ -1,5 +1,4 @@
1
1
  import { Inter } from "next/font/google";
2
- import "material-symbols/outlined.css";
3
2
  import "./globals.css";
4
3
  import { ThemeProvider } from "@/shared/components/ThemeProvider";
5
4
  import "@/lib/network/initOutboundProxy"; // Auto-initialize outbound proxy env
@@ -164,6 +164,27 @@ async function calculateCost(provider, model, tokens) {
164
164
  }
165
165
  }
166
166
 
167
+ export function dedupeRecentRequests(entries, limit = 20) {
168
+ const seen = new Set();
169
+ return entries
170
+ .filter((entry) => {
171
+ if (entry.promptTokens === 0 && entry.completionTokens === 0) return false;
172
+ // Collapse legacy double-writes only when every persisted field, including
173
+ // the full timestamp, matches. Distinct requests in the same minute survive.
174
+ const key = JSON.stringify([
175
+ entry.timestamp,
176
+ entry.model,
177
+ entry.provider,
178
+ entry.promptTokens,
179
+ entry.completionTokens,
180
+ ]);
181
+ if (seen.has(key)) return false;
182
+ seen.add(key);
183
+ return true;
184
+ })
185
+ .slice(0, limit);
186
+ }
187
+
167
188
  export function trackPendingRequest(model, provider, connectionId, started, error = false) {
168
189
  const modelKey = provider ? `${model} (${provider})` : model;
169
190
  const timerKey = `${connectionId}|${modelKey}`;
@@ -228,8 +249,7 @@ export async function getActiveRequests() {
228
249
  }
229
250
 
230
251
  await ensureRingInitialized();
231
- const seen = new Set();
232
- const recentRequests = [...recentRing.items]
252
+ const recentRequests = dedupeRecentRequests([...recentRing.items]
233
253
  .sort((a, b) => new Date(b.timestamp) - new Date(a.timestamp))
234
254
  .map((e) => {
235
255
  const t = e.tokens || {};
@@ -239,16 +259,7 @@ export async function getActiveRequests() {
239
259
  completionTokens: t.completion_tokens || t.output_tokens || 0,
240
260
  status: e.status || "ok",
241
261
  };
242
- })
243
- .filter((e) => {
244
- if (e.promptTokens === 0 && e.completionTokens === 0) return false;
245
- const minute = e.timestamp ? e.timestamp.slice(0, 16) : "";
246
- const key = `${e.model}|${e.provider}|${e.promptTokens}|${e.completionTokens}|${minute}`;
247
- if (seen.has(key)) return false;
248
- seen.add(key);
249
- return true;
250
- })
251
- .slice(0, 20);
262
+ }));
252
263
 
253
264
  const errorProvider = (Date.now() - lastErrorProvider.ts < 10000) ? lastErrorProvider.provider : "";
254
265
  return { activeRequests, recentRequests, errorProvider };
@@ -361,8 +372,7 @@ export async function getUsageStats(period = "all") {
361
372
 
362
373
  // recentRequests from live history (last 100 entries enough for 20 deduped)
363
374
  const recentRows = db.all(`SELECT timestamp, provider, model, tokens, status FROM usageHistory ORDER BY id DESC LIMIT 100`);
364
- const seen = new Set();
365
- const recentRequests = recentRows
375
+ const recentRequests = dedupeRecentRequests(recentRows
366
376
  .map((r) => {
367
377
  const t = parseJson(r.tokens, {}) || {};
368
378
  return {
@@ -371,16 +381,7 @@ export async function getUsageStats(period = "all") {
371
381
  completionTokens: t.completion_tokens || t.output_tokens || 0,
372
382
  status: r.status || "ok",
373
383
  };
374
- })
375
- .filter((e) => {
376
- if (e.promptTokens === 0 && e.completionTokens === 0) return false;
377
- const minute = e.timestamp ? e.timestamp.slice(0, 16) : "";
378
- const key = `${e.model}|${e.provider}|${e.promptTokens}|${e.completionTokens}|${minute}`;
379
- if (seen.has(key)) return false;
380
- seen.add(key);
381
- return true;
382
- })
383
- .slice(0, 20);
384
+ }));
384
385
 
385
386
  const stats = {
386
387
  totalRequests: 0,