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
@@ -12,9 +12,9 @@ const variants = {
12
12
  };
13
13
 
14
14
  const sizes = {
15
- sm: "h-7 px-3 text-xs rounded-[8px]",
16
- md: "h-9 px-4 text-sm rounded-[10px]",
17
- lg: "h-11 px-6 text-sm rounded-[10px]",
15
+ sm: "h-10 px-3 text-xs rounded-[8px] sm:h-7",
16
+ md: "h-11 px-4 text-sm rounded-[10px] sm:h-9",
17
+ lg: "h-12 px-6 text-sm rounded-[10px] sm:h-11",
18
18
  };
19
19
 
20
20
  export default function Button({
@@ -171,7 +171,7 @@ const getPageInfo = (pathname) => {
171
171
  return {
172
172
  title: "Endpoint",
173
173
  description: "API endpoint configuration",
174
- icon: "api",
174
+ icon: "terminal",
175
175
  breadcrumbs: [],
176
176
  };
177
177
  if (pathname.includes("/profile"))
@@ -206,7 +206,7 @@ const getPageInfo = (pathname) => {
206
206
  return {
207
207
  title: "Endpoint",
208
208
  description: "API endpoint configuration",
209
- icon: "api",
209
+ icon: "terminal",
210
210
  breadcrumbs: [],
211
211
  };
212
212
  return { title: "", description: "", breadcrumbs: [] };
@@ -261,13 +261,15 @@ export default function Header({ onMenuClick, showMenuButton = true }) {
261
261
  };
262
262
 
263
263
  return (
264
- <header className="shrink-0 flex min-h-16 flex-wrap items-center justify-between gap-2 px-3 py-2.5 sm:gap-3 sm:px-4 sm:py-3 lg:px-8 border-b border-border-subtle bg-surface/80 backdrop-blur-xl z-20">
264
+ <header className="relative z-20 shrink-0 flex min-h-16 flex-wrap items-center justify-between gap-2 border-b border-border-subtle bg-surface/90 px-3 py-2.5 shadow-[0_12px_35px_-34px_rgba(15,23,42,0.8)] backdrop-blur-xl sm:gap-3 sm:px-4 sm:py-3 lg:min-h-[76px] lg:px-8">
265
265
  {/* Mobile menu button */}
266
266
  <div className="flex items-center gap-2 lg:hidden shrink-0">
267
267
  {showMenuButton && (
268
268
  <button
269
+ type="button"
269
270
  onClick={onMenuClick}
270
271
  className="flex size-10 items-center justify-center rounded-lg text-text-main hover:bg-surface-2 hover:text-primary transition-colors"
272
+ aria-label="Open dashboard navigation"
271
273
  >
272
274
  <span className="material-symbols-outlined">menu</span>
273
275
  </button>
@@ -315,28 +317,30 @@ export default function Header({ onMenuClick, showMenuButton = true }) {
315
317
  ))}
316
318
  </div>
317
319
  ) : title ? (
318
- <div>
319
- <div className="flex items-center gap-2">
320
+ <div className="flex items-center gap-3">
321
+ <div className="flex min-w-0 flex-1 items-center gap-3">
320
322
  {icon && (
321
- <span className="material-symbols-outlined text-primary text-xl lg:text-2xl">
322
- {icon}
323
+ <span className="flex size-8 shrink-0 items-center justify-center rounded-[10px] bg-primary/10 text-primary ring-1 ring-primary/15 lg:size-10 lg:rounded-xl">
324
+ <span className="material-symbols-outlined text-lg lg:text-[22px]">{icon}</span>
323
325
  </span>
324
326
  )}
325
- <h1 className="text-base lg:text-2xl font-semibold tracking-tight truncate">
326
- {translate(title)}
327
- </h1>
327
+ <div className="min-w-0">
328
+ <h1 className="truncate text-base font-semibold tracking-tight lg:text-[22px]">
329
+ {translate(title)}
330
+ </h1>
331
+ {description && (
332
+ <p className="hidden truncate text-sm text-text-muted lg:block">
333
+ {translate(description)}
334
+ </p>
335
+ )}
336
+ </div>
328
337
  </div>
329
- {description && (
330
- <p className="hidden lg:block text-sm text-text-muted truncate">
331
- {translate(description)}
332
- </p>
333
- )}
334
338
  </div>
335
339
  ) : null}
336
340
  </div>
337
341
 
338
342
  {/* Right actions */}
339
- <div className="order-2 flex items-center gap-0.5 shrink-0 sm:order-none sm:gap-1">
343
+ <div className="order-2 flex shrink-0 items-center gap-0.5 sm:order-none sm:gap-1 lg:rounded-xl lg:border lg:border-border-subtle lg:bg-surface-2/60 lg:p-1">
340
344
  {displayName && loginMethod === "OIDC" && (
341
345
  <div className="hidden sm:flex items-center max-w-[220px] px-3 py-1.5 rounded-full border border-border bg-surface/70 text-xs text-text-muted truncate">
342
346
  <span className="material-symbols-outlined text-[14px] mr-1.5 text-primary">person</span>
@@ -373,7 +377,7 @@ function HeaderSearch() {
373
377
  value={query}
374
378
  onChange={(e) => setQuery(e.target.value)}
375
379
  placeholder={placeholder}
376
- className="w-full h-8 pl-7 pr-7 rounded-lg border border-border bg-surface/60 text-sm focus:outline-none focus:border-primary/50 transition-colors"
380
+ className="h-9 w-full rounded-xl border border-border bg-surface/80 pl-8 pr-7 text-sm shadow-sm transition-colors focus:border-primary/50 focus:outline-none focus:ring-2 focus:ring-primary/10"
377
381
  />
378
382
  {query && (
379
383
  <button
@@ -11,8 +11,8 @@ export default function SegmentedControl({
11
11
  ...props
12
12
  }) {
13
13
  const sizes = {
14
- sm: "h-7 text-xs",
15
- md: "h-9 text-sm",
14
+ sm: "h-9 text-xs sm:h-7",
15
+ md: "h-10 text-sm sm:h-9",
16
16
  lg: "h-11 text-base",
17
17
  };
18
18
 
@@ -18,7 +18,7 @@ const COMBINED_WEB_ITEM = { id: "web", label: "Web Fetch & Search", icon: "trave
18
18
 
19
19
  // Core forever — everyday router surface
20
20
  const coreItems = [
21
- { href: "/dashboard/endpoint", label: "Endpoint", icon: "api" },
21
+ { href: "/dashboard/endpoint", label: "Endpoint", icon: "terminal" },
22
22
  { href: "/dashboard/providers", label: "Providers", icon: "dns" },
23
23
  { href: "/dashboard/playground", label: "Playground", icon: "forum" },
24
24
  { href: "/dashboard/usage", label: "Usage", icon: "bar_chart" },
@@ -49,6 +49,20 @@ function isPathInItems(pathname, items) {
49
49
  return items.some((item) => pathname === item.href || pathname.startsWith(`${item.href}/`));
50
50
  }
51
51
 
52
+ const NAV_ITEM_CLASS = "group relative flex min-h-11 items-center gap-3 rounded-xl border border-transparent px-3 py-2 transition-all duration-200 lg:min-h-9 lg:py-1";
53
+ const NAV_ITEM_ACTIVE = "border-primary/15 bg-linear-to-r from-primary/15 to-primary/5 text-primary shadow-[0_12px_26px_-22px_rgba(229,106,74,0.9)]";
54
+ const NAV_ITEM_IDLE = "text-text-muted hover:border-border-subtle hover:bg-surface-2 hover:text-text-main";
55
+ const NAV_ICON_CLASS = "material-symbols-outlined flex size-7 shrink-0 items-center justify-center rounded-lg text-[18px] transition-all duration-200";
56
+
57
+ function getNavIconClass(active) {
58
+ return cn(
59
+ NAV_ICON_CLASS,
60
+ active
61
+ ? "fill-1 bg-primary text-white shadow-[0_7px_16px_-8px_rgba(229,106,74,0.9)]"
62
+ : "group-hover:bg-primary/10 group-hover:text-primary"
63
+ );
64
+ }
65
+
52
66
  export default function Sidebar({ onClose }) {
53
67
  const pathname = usePathname();
54
68
  const advancedActive = isPathInItems(pathname, advancedItems);
@@ -129,7 +143,7 @@ export default function Sidebar({ onClose }) {
129
143
 
130
144
  return (
131
145
  <>
132
- <aside className="flex w-[min(18rem,86vw)] flex-col border-r border-border-subtle bg-vibrancy backdrop-blur-xl shadow-[8px_0_30px_-28px_rgba(0,0,0,0.45)] transition-colors duration-300 min-h-full lg:w-72">
146
+ <aside className="relative flex min-h-full w-[min(18rem,86vw)] flex-col overflow-hidden border-r border-border-subtle bg-vibrancy shadow-[8px_0_30px_-28px_rgba(0,0,0,0.45)] backdrop-blur-xl transition-colors duration-300 after:pointer-events-none after:absolute after:inset-y-0 after:right-0 after:w-px after:bg-linear-to-b after:from-transparent after:via-primary/25 after:to-transparent lg:w-72">
133
147
  {/* Traffic lights */}
134
148
  <div className="flex items-center gap-2 px-6 pt-5 pb-2">
135
149
  <div className="w-3 h-3 rounded-full bg-[#FF5F56]" />
@@ -138,7 +152,7 @@ export default function Sidebar({ onClose }) {
138
152
  </div>
139
153
 
140
154
  {/* Logo */}
141
- <div className="px-6 py-4 flex flex-col gap-2">
155
+ <div className="flex flex-col gap-2 border-b border-border-subtle/70 px-6 py-4">
142
156
  <Link href="/dashboard" className="flex items-center gap-3">
143
157
  <div className="flex items-center justify-center size-9 rounded-[10px] bg-gradient-to-br from-[#FF9A52] via-[#F56A2A] to-[#D94716] shadow-[var(--shadow-warm)] ring-1 ring-white/20">
144
158
  <svg viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg" className="w-6 h-6">
@@ -180,7 +194,7 @@ export default function Sidebar({ onClose }) {
180
194
 
181
195
  {/* Navigation */}
182
196
  <nav aria-label="Main navigation" className="flex-1 px-4 py-2 space-y-0.5 overflow-y-auto custom-scrollbar">
183
- <p className="px-3 pt-1 pb-1 text-[10px] font-semibold uppercase tracking-wider text-text-muted/55">
197
+ <p className="px-3 pt-1 pb-1 text-[10px] font-semibold uppercase tracking-[0.14em] text-text-muted/55">
184
198
  Core
185
199
  </p>
186
200
  {coreItems.map((item) => (
@@ -190,18 +204,11 @@ export default function Sidebar({ onClose }) {
190
204
  onClick={onClose}
191
205
  aria-current={isActive(item.href) ? "page" : undefined}
192
206
  className={cn(
193
- "flex items-center gap-3 px-3 py-1 rounded-lg transition-all group",
194
- isActive(item.href)
195
- ? "bg-primary/10 text-primary"
196
- : "text-text-muted hover:bg-surface-2 hover:text-text-main"
207
+ NAV_ITEM_CLASS,
208
+ isActive(item.href) ? NAV_ITEM_ACTIVE : NAV_ITEM_IDLE
197
209
  )}
198
210
  >
199
- <span
200
- className={cn(
201
- "material-symbols-outlined text-[18px]",
202
- isActive(item.href) ? "fill-1" : "group-hover:text-primary transition-colors"
203
- )}
204
- >
211
+ <span className={getNavIconClass(isActive(item.href))}>
205
212
  {item.icon}
206
213
  </span>
207
214
  <span className="text-[13px] font-medium">{item.label}</span>
@@ -213,14 +220,14 @@ export default function Sidebar({ onClose }) {
213
220
  type="button"
214
221
  onClick={() => setAdvancedOpen((v) => !v)}
215
222
  className={cn(
216
- "w-full flex items-center gap-2 px-3 py-1 rounded-lg transition-all group",
223
+ "group flex min-h-11 w-full items-center gap-2 rounded-xl px-3 py-2 transition-all lg:min-h-9 lg:py-1",
217
224
  advancedActive
218
225
  ? "text-primary"
219
226
  : "text-text-muted hover:bg-surface-2 hover:text-text-main"
220
227
  )}
221
228
  aria-expanded={advancedOpen}
222
229
  >
223
- <p className="flex-1 text-left text-[10px] font-semibold uppercase tracking-wider text-text-muted/55">
230
+ <p className="flex-1 text-left text-[10px] font-semibold uppercase tracking-[0.14em] text-text-muted/55">
224
231
  Advanced
225
232
  </p>
226
233
  <span className="text-[10px] font-medium text-text-subtle tabular-nums">
@@ -242,18 +249,11 @@ export default function Sidebar({ onClose }) {
242
249
  href={item.href}
243
250
  onClick={onClose}
244
251
  className={cn(
245
- "flex items-center gap-3 px-3 py-1 rounded-lg transition-all group",
246
- isActive(item.href)
247
- ? "bg-primary/10 text-primary"
248
- : "text-text-muted hover:bg-surface-2 hover:text-text-main"
252
+ NAV_ITEM_CLASS,
253
+ isActive(item.href) ? NAV_ITEM_ACTIVE : NAV_ITEM_IDLE
249
254
  )}
250
255
  >
251
- <span
252
- className={cn(
253
- "material-symbols-outlined text-[18px]",
254
- isActive(item.href) ? "fill-1" : "group-hover:text-primary transition-colors"
255
- )}
256
- >
256
+ <span className={getNavIconClass(isActive(item.href))}>
257
257
  {item.icon}
258
258
  </span>
259
259
  <span className="text-[13px] font-medium">{item.label}</span>
@@ -263,21 +263,23 @@ export default function Sidebar({ onClose }) {
263
263
 
264
264
  {/* System section */}
265
265
  <div className="pt-3 mt-2 space-y-0.5">
266
- <p className="px-3 text-[10px] font-semibold text-text-muted/55 uppercase tracking-wider mb-1">
266
+ <p className="px-3 text-[10px] font-semibold text-text-muted/55 uppercase tracking-[0.14em] mb-1">
267
267
  System
268
268
  </p>
269
269
 
270
270
  {/* Media Providers accordion */}
271
271
  <button
272
+ type="button"
272
273
  onClick={() => setMediaOpen((v) => !v)}
273
274
  className={cn(
274
- "w-full flex items-center gap-3 px-3 py-1 rounded-lg transition-all group",
275
+ NAV_ITEM_CLASS,
276
+ "w-full",
275
277
  pathname.startsWith("/dashboard/media-providers")
276
- ? "bg-primary/10 text-primary"
277
- : "text-text-muted hover:bg-surface-2 hover:text-text-main"
278
+ ? NAV_ITEM_ACTIVE
279
+ : NAV_ITEM_IDLE
278
280
  )}
279
281
  >
280
- <span className="material-symbols-outlined text-[18px]">perm_media</span>
282
+ <span className={getNavIconClass(pathname.startsWith("/dashboard/media-providers"))}>perm_media</span>
281
283
  <span className="text-[13px] font-medium flex-1 text-left">Media Providers</span>
282
284
  <span className={cn("material-symbols-outlined text-[14px] transition-transform", mediaOpen && "rotate-180")}>
283
285
  expand_more
@@ -291,13 +293,14 @@ export default function Sidebar({ onClose }) {
291
293
  href={`/dashboard/media-providers/${kind.id}`}
292
294
  onClick={onClose}
293
295
  className={cn(
294
- "flex items-center gap-3 px-4 py-1 rounded-lg transition-all group",
296
+ NAV_ITEM_CLASS,
297
+ "px-4",
295
298
  pathname.startsWith(`/dashboard/media-providers/${kind.id}`)
296
- ? "bg-primary/10 text-primary"
297
- : "text-text-muted hover:bg-surface-2 hover:text-text-main"
299
+ ? NAV_ITEM_ACTIVE
300
+ : NAV_ITEM_IDLE
298
301
  )}
299
302
  >
300
- <span className="material-symbols-outlined text-[16px]">{kind.icon}</span>
303
+ <span className={cn(getNavIconClass(pathname.startsWith(`/dashboard/media-providers/${kind.id}`)), "text-[16px]")}>{kind.icon}</span>
301
304
  <span className="text-sm">{kind.label}</span>
302
305
  </Link>
303
306
  ))}
@@ -306,13 +309,14 @@ export default function Sidebar({ onClose }) {
306
309
  href={COMBINED_WEB_ITEM.href}
307
310
  onClick={onClose}
308
311
  className={cn(
309
- "flex items-center gap-3 px-4 py-1 rounded-lg transition-all group",
312
+ NAV_ITEM_CLASS,
313
+ "px-4",
310
314
  pathname.startsWith(COMBINED_WEB_ITEM.href)
311
- ? "bg-primary/10 text-primary"
312
- : "text-text-muted hover:bg-surface-2 hover:text-text-main"
315
+ ? NAV_ITEM_ACTIVE
316
+ : NAV_ITEM_IDLE
313
317
  )}
314
318
  >
315
- <span className="material-symbols-outlined text-[16px]">{COMBINED_WEB_ITEM.icon}</span>
319
+ <span className={cn(getNavIconClass(pathname.startsWith(COMBINED_WEB_ITEM.href)), "text-[16px]")}>{COMBINED_WEB_ITEM.icon}</span>
316
320
  <span className="text-sm">{COMBINED_WEB_ITEM.label}</span>
317
321
  </Link>
318
322
  </div>
@@ -324,18 +328,11 @@ export default function Sidebar({ onClose }) {
324
328
  href={item.href}
325
329
  onClick={onClose}
326
330
  className={cn(
327
- "flex items-center gap-3 px-3 py-1 rounded-lg transition-all group",
328
- isActive(item.href)
329
- ? "bg-primary/10 text-primary"
330
- : "text-text-muted hover:bg-surface-2 hover:text-text-main"
331
+ NAV_ITEM_CLASS,
332
+ isActive(item.href) ? NAV_ITEM_ACTIVE : NAV_ITEM_IDLE
331
333
  )}
332
334
  >
333
- <span
334
- className={cn(
335
- "material-symbols-outlined text-[18px]",
336
- isActive(item.href) ? "fill-1" : "group-hover:text-primary transition-colors"
337
- )}
338
- >
335
+ <span className={getNavIconClass(isActive(item.href))}>
339
336
  {item.icon}
340
337
  </span>
341
338
  <span className="text-[13px] font-medium">{item.label}</span>
@@ -351,18 +348,11 @@ export default function Sidebar({ onClose }) {
351
348
  href={item.href}
352
349
  onClick={onClose}
353
350
  className={cn(
354
- "flex items-center gap-3 px-3 py-1 rounded-lg transition-all group",
355
- isActive(item.href)
356
- ? "bg-primary/10 text-primary"
357
- : "text-text-muted hover:bg-surface-2 hover:text-text-main"
351
+ NAV_ITEM_CLASS,
352
+ isActive(item.href) ? NAV_ITEM_ACTIVE : NAV_ITEM_IDLE
358
353
  )}
359
354
  >
360
- <span
361
- className={cn(
362
- "material-symbols-outlined text-[18px]",
363
- isActive(item.href) ? "fill-1" : "group-hover:text-primary transition-colors"
364
- )}
365
- >
355
+ <span className={getNavIconClass(isActive(item.href))}>
366
356
  {item.icon}
367
357
  </span>
368
358
  <span className="text-[13px] font-medium">{item.label}</span>
@@ -375,18 +365,11 @@ export default function Sidebar({ onClose }) {
375
365
  href="/dashboard/profile"
376
366
  onClick={onClose}
377
367
  className={cn(
378
- "flex items-center gap-3 px-3 py-1 rounded-lg transition-all group",
379
- isActive("/dashboard/profile")
380
- ? "bg-primary/10 text-primary"
381
- : "text-text-muted hover:bg-surface-2 hover:text-text-main"
368
+ NAV_ITEM_CLASS,
369
+ isActive("/dashboard/profile") ? NAV_ITEM_ACTIVE : NAV_ITEM_IDLE
382
370
  )}
383
371
  >
384
- <span
385
- className={cn(
386
- "material-symbols-outlined text-[18px]",
387
- isActive("/dashboard/profile") ? "fill-1" : "group-hover:text-primary transition-colors"
388
- )}
389
- >
372
+ <span className={getNavIconClass(isActive("/dashboard/profile"))}>
390
373
  settings
391
374
  </span>
392
375
  <span className="text-[13px] font-medium">Settings</span>
@@ -18,41 +18,89 @@ import ProviderTopology from "@/app/(dashboard)/dashboard/usage/components/Provi
18
18
  import UsageChart from "@/app/(dashboard)/dashboard/usage/components/UsageChart";
19
19
 
20
20
  function timeAgo(timestamp) {
21
- const diff = Math.floor((Date.now() - new Date(timestamp)) / 1000);
21
+ const diff = Math.max(0, Math.floor((Date.now() - new Date(timestamp)) / 1000));
22
22
  if (diff < 60) return `${diff}s ago`;
23
23
  if (diff < 3600) return `${Math.floor(diff / 60)}m ago`;
24
24
  if (diff < 86400) return `${Math.floor(diff / 3600)}h ago`;
25
25
  return `${Math.floor(diff / 86400)}d ago`;
26
26
  }
27
27
 
28
+ function isSuccessfulStatus(status) {
29
+ if (!status) return true;
30
+ const normalized = String(status).trim().toLowerCase();
31
+ return normalized === "ok"
32
+ || normalized === "success"
33
+ || normalized === "succeeded"
34
+ || /^2\d\d(?:\s|$)/.test(normalized);
35
+ }
36
+
28
37
  // Auto-update time display every second without re-rendering parent
29
38
  function TimeAgo({ timestamp }) {
30
39
  const [, setTick] = useState(0);
31
-
40
+
32
41
  useEffect(() => {
33
42
  const timer = setInterval(() => setTick(t => t + 1), 1000);
34
43
  return () => clearInterval(timer);
35
44
  }, []);
36
-
37
- return <>{timeAgo(timestamp)}</>;
45
+
46
+ return (
47
+ <time dateTime={timestamp} title={new Date(timestamp).toLocaleString()}>
48
+ {timeAgo(timestamp)}
49
+ </time>
50
+ );
38
51
  }
39
52
 
40
- function RecentRequests({ requests = [] }) {
53
+ const STREAM_STATUS = {
54
+ live: {
55
+ label: "Live",
56
+ title: "Usage stream connected",
57
+ className: "bg-success/10 text-success",
58
+ dotClassName: "bg-success animate-pulse",
59
+ },
60
+ reconnecting: {
61
+ label: "Reconnecting",
62
+ title: "Usage stream disconnected; reconnecting automatically",
63
+ className: "bg-warning/10 text-warning",
64
+ dotClassName: "bg-warning animate-pulse",
65
+ },
66
+ connecting: {
67
+ label: "Connecting",
68
+ title: "Connecting to the live usage stream",
69
+ className: "bg-primary/10 text-primary",
70
+ dotClassName: "bg-primary animate-pulse",
71
+ },
72
+ };
73
+
74
+ function RecentRequests({ requests = [], streamStatus = "connecting" }) {
75
+ const stream = STREAM_STATUS[streamStatus] || STREAM_STATUS.connecting;
76
+
41
77
  return (
42
- <Card className="flex min-w-0 flex-col overflow-hidden" padding="sm" style={{ height: 480 }}>
78
+ <Card className="flex min-w-0 flex-col overflow-hidden" padding="none" style={{ height: 480 }}>
43
79
  {/* Header */}
44
- <div className="px-1 py-2 border-b border-border shrink-0">
45
- <span className="text-xs font-semibold text-text-muted uppercase tracking-wide">Recent Requests</span>
80
+ <div className="flex shrink-0 items-center justify-between border-b border-border-subtle bg-surface/75 px-4 py-3.5">
81
+ <div className="flex items-center gap-2">
82
+ <span className="material-symbols-outlined text-[17px] text-primary">monitor_heart</span>
83
+ <span className="text-xs font-bold uppercase tracking-[0.08em] text-text-muted">Recent Requests</span>
84
+ </div>
85
+ <span
86
+ className={`inline-flex items-center gap-1.5 rounded-full px-2 py-1 text-[10px] font-semibold ${stream.className}`}
87
+ title={stream.title}
88
+ >
89
+ <span aria-hidden="true" className={`size-1.5 rounded-full ${stream.dotClassName}`} />
90
+ {stream.label}
91
+ </span>
46
92
  </div>
47
93
 
48
94
  {!requests.length ? (
49
95
  <div className="flex-1 flex items-center justify-center text-text-muted text-sm">No requests yet.</div>
50
96
  ) : (
51
- <div className="flex-1 overflow-y-auto">
97
+ <div className="flex-1 overflow-y-auto px-4 pb-3">
52
98
  <table className="w-full min-w-[300px] border-collapse text-xs">
53
- <thead className="sticky top-0 bg-bg z-10">
99
+ <thead className="sticky top-0 z-10 bg-surface/95 backdrop-blur-sm">
54
100
  <tr className="border-b border-border">
55
- <th className="py-1.5 text-left font-semibold text-text-muted w-2"></th>
101
+ <th className="w-2 py-1.5 text-left font-semibold text-text-muted">
102
+ <span className="sr-only">Status</span>
103
+ </th>
56
104
  <th className="py-1.5 text-left font-semibold text-text-muted">Model</th>
57
105
  <th className="py-1.5 text-right font-semibold text-text-muted whitespace-nowrap">In / Out</th>
58
106
  <th className="py-1.5 text-right font-semibold text-text-muted">When</th>
@@ -60,14 +108,28 @@ function RecentRequests({ requests = [] }) {
60
108
  </thead>
61
109
  <tbody className="divide-y divide-border/50">
62
110
  {requests.map((r, i) => {
63
- const ok = !r.status || r.status === "ok" || r.status === "success";
111
+ const ok = isSuccessfulStatus(r.status);
112
+ const statusLabel = ok ? "Succeeded" : "Failed";
113
+ const providerName = AI_PROVIDERS[r.provider]?.name || FREE_PROVIDERS[r.provider]?.name || r.provider || "Unknown provider";
64
114
  return (
65
- <tr key={i} className="hover:bg-bg-subtle transition-colors">
66
- <td className="py-1.5">
67
- <span className={`block w-1.5 h-1.5 rounded-full ${ok ? "bg-success" : "bg-error"}`} />
115
+ <tr
116
+ key={`${r.timestamp}-${r.model}-${r.provider}-${r.promptTokens}-${r.completionTokens}-${i}`}
117
+ className="transition-colors hover:bg-bg-subtle"
118
+ >
119
+ <td className="py-1.5" title={statusLabel}>
120
+ <span
121
+ role="img"
122
+ aria-label={statusLabel}
123
+ className={`block size-1.5 rounded-full ${ok ? "bg-success" : "bg-error"}`}
124
+ />
125
+ </td>
126
+ <td className="min-w-0 py-1.5 pr-2">
127
+ <div className="max-w-[132px] truncate font-mono" title={r.model}>{r.model}</div>
128
+ <div className="mt-0.5 max-w-[132px] truncate text-[9px] font-semibold uppercase tracking-[0.08em] text-text-subtle" title={providerName}>
129
+ {providerName}
130
+ </div>
68
131
  </td>
69
- <td className="py-1.5 font-mono truncate max-w-[120px]" title={r.model}>{r.model}</td>
70
- <td className="py-1.5 text-right whitespace-nowrap">
132
+ <td className="py-1.5 text-right font-mono tabular-nums whitespace-nowrap">
71
133
  <span className="text-primary">{fmt(r.promptTokens)}↑</span>
72
134
  {" "}
73
135
  <span className="text-success">{fmt(r.completionTokens)}↓</span>
@@ -203,6 +265,7 @@ export default function UsageStats({ period: periodProp, setPeriod: setPeriodPro
203
265
  const [tableView, setTableView] = useState("model");
204
266
  const [viewMode, setViewMode] = useState("costs");
205
267
  const [providers, setProviders] = useState([]);
268
+ const [streamStatus, setStreamStatus] = useState("connecting");
206
269
  const [periodLocal, setPeriodLocal] = useState("today");
207
270
  const isInitialLoad = useRef(true);
208
271
  const period = periodProp ?? periodLocal;
@@ -256,6 +319,8 @@ export default function UsageStats({ period: periodProp, setPeriod: setPeriodPro
256
319
  useEffect(() => {
257
320
  const es = new EventSource("/api/usage/stream");
258
321
 
322
+ es.onopen = () => setStreamStatus("live");
323
+
259
324
  es.onmessage = (e) => {
260
325
  try {
261
326
  const data = JSON.parse(e.data);
@@ -273,7 +338,10 @@ export default function UsageStats({ period: periodProp, setPeriod: setPeriodPro
273
338
  }
274
339
  };
275
340
 
276
- es.onerror = () => setLoading(false);
341
+ es.onerror = () => {
342
+ setStreamStatus("reconnecting");
343
+ setLoading(false);
344
+ };
277
345
 
278
346
  return () => es.close();
279
347
  }, []);
@@ -415,7 +483,7 @@ export default function UsageStats({ period: periodProp, setPeriod: setPeriodPro
415
483
  );
416
484
 
417
485
  return (
418
- <div className="flex min-w-0 flex-col gap-6">
486
+ <div className="flex min-w-0 flex-col gap-6 lg:gap-7">
419
487
  {/* Period selector (hidden when controlled by parent) */}
420
488
  {!hidePeriodSelector && (
421
489
  <div className="flex w-full items-center gap-2 sm:w-auto sm:self-end">
@@ -442,14 +510,14 @@ export default function UsageStats({ period: periodProp, setPeriod: setPeriodPro
442
510
 
443
511
  {/* Provider topology + Recent Requests */}
444
512
  {loading ? spinner : (
445
- <div className="grid min-w-0 grid-cols-1 items-stretch gap-2 lg:grid-cols-[minmax(0,2fr)_minmax(280px,1fr)]">
513
+ <div className="grid min-w-0 grid-cols-1 items-stretch gap-4 lg:grid-cols-[minmax(0,3fr)_minmax(340px,2fr)]">
446
514
  <ProviderTopology
447
515
  providers={providers}
448
516
  activeRequests={stats.activeRequests || []}
449
517
  lastProvider={stats.recentRequests?.[0]?.provider || ""}
450
518
  errorProvider={stats.errorProvider || ""}
451
519
  />
452
- <RecentRequests requests={stats.recentRequests || []} />
520
+ <RecentRequests requests={stats.recentRequests || []} streamStatus={streamStatus} />
453
521
  </div>
454
522
  )}
455
523
 
@@ -1 +0,0 @@
1
- exports.id=4491,exports.ids=[4491],exports.modules={300:(a,b,c)=>{"use strict";c.d(b,{Zr:()=>e});let d=a=>b=>{try{let c=a(b);if(c instanceof Promise)return c;return{then:a=>d(a)(c),catch(a){return this}}}catch(a){return{then(a){return this},catch:b=>d(b)(a)}}},e=(a,b)=>(c,e,f)=>{let g,h={storage:function(a){let b;try{b=a()}catch(a){return}return{getItem:a=>{var c;let d=a=>null===a?null:JSON.parse(a,void 0),e=null!=(c=b.getItem(a))?c:null;return e instanceof Promise?e.then(d):d(e)},setItem:(a,c)=>b.setItem(a,JSON.stringify(c,void 0)),removeItem:a=>b.removeItem(a)}}(()=>window.localStorage),partialize:a=>a,version:0,merge:(a,b)=>({...b,...a}),...b},i=!1,j=0,k=new Set,l=new Set,m=h.storage;if(!m)return a((...a)=>{console.warn(`[zustand persist middleware] Unable to update item '${h.name}', the given storage is currently unavailable.`),c(...a)},e,f);let n=()=>{let a=h.partialize({...e()});return m.setItem(h.name,{state:a,version:h.version})},o=f.setState;f.setState=(a,b)=>(o(a,b),n());let p=a((...a)=>(c(...a),n()),e,f);f.getInitialState=()=>p;let q=()=>{var a,b;if(!m)return;let f=++j;i=!1,k.forEach(a=>{var b;return a(null!=(b=e())?b:p)});let o=(null==(b=h.onRehydrateStorage)?void 0:b.call(h,null!=(a=e())?a:p))||void 0;return d(m.getItem.bind(m))(h.name).then(a=>{if(a)if("number"!=typeof a.version||a.version===h.version)return[!1,a.state];else{if(h.migrate){let b=h.migrate(a.state,a.version);return b instanceof Promise?b.then(a=>[!0,a]):[!0,b]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(a=>{var b;if(f!==j)return;let[d,i]=a;if(c(g=h.merge(i,null!=(b=e())?b:p),!0),d)return n()}).then(()=>{f===j&&(null==o||o(e(),void 0),g=e(),i=!0,l.forEach(a=>a(g)))}).catch(a=>{f===j&&(null==o||o(void 0,a))})};return f.persist={setOptions:a=>{h={...h,...a},a.storage&&(m=a.storage)},clearStorage:()=>{null==m||m.removeItem(h.name)},getOptions:()=>h,rehydrate:()=>q(),hasHydrated:()=>i,onHydrate:a=>(k.add(a),()=>{k.delete(a)}),onFinishHydration:a=>(l.add(a),()=>{l.delete(a)})},h.skipHydration||q(),g||p}},14953:(a,b,c)=>{"use strict";var d=c(68662);function e(){}function f(){}f.resetWarningCache=e,a.exports=function(){function a(a,b,c,e,f,g){if(g!==d){var h=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw h.name="Invariant Violation",h}}function b(){return a}a.isRequired=a;var c={array:a,bigint:a,bool:a,func:a,number:a,object:a,string:a,symbol:a,any:a,arrayOf:b,element:a,elementType:a,instanceOf:b,node:a,objectOf:b,oneOf:b,oneOfType:b,shape:b,exact:b,checkPropTypes:f,resetWarningCache:e};return c.PropTypes=c,c}},19099:(a,b,c)=>{"use strict";var d=c(54839);c.o(d,"notFound")&&c.d(b,{notFound:function(){return d.notFound}}),c.o(d,"useParams")&&c.d(b,{useParams:function(){return d.useParams}}),c.o(d,"usePathname")&&c.d(b,{usePathname:function(){return d.usePathname}}),c.o(d,"useRouter")&&c.d(b,{useRouter:function(){return d.useRouter}}),c.o(d,"useSearchParams")&&c.d(b,{useSearchParams:function(){return d.useSearchParams}})},31417:(a,b,c)=>{"use strict";c.d(b,{v:()=>g});var d=c(67484);let e=a=>{let b,c=new Set,d=(a,d)=>{let e="function"==typeof a?a(b):a;if(!Object.is(e,b)){let a=b;b=(null!=d?d:"object"!=typeof e||null===e)?e:Object.assign({},b,e),c.forEach(c=>c(b,a))}},e=()=>b,f={setState:d,getState:e,getInitialState:()=>g,subscribe:a=>(c.add(a),()=>c.delete(a))},g=b=a(d,e,f);return f},f=a=>{let b=a?e(a):e,c=a=>(function(a,b=a=>a){let c=d.useSyncExternalStore(a.subscribe,d.useCallback(()=>b(a.getState()),[a,b]),d.useCallback(()=>b(a.getInitialState()),[a,b]));return d.useDebugValue(c),c})(b,a);return Object.assign(c,b),c},g=a=>a?f(a):f},36497:()=>{},49885:(a,b,c)=>{a.exports=c(14953)()},55091:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return f}});let d=c(5735),e=c(22675);function f(){return(0,d.jsx)(e.HTTPAccessErrorFallback,{status:404,message:"This page could not be found."})}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},68662:a=>{"use strict";a.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},75329:a=>{a.exports={style:{fontFamily:"'Inter', 'Inter Fallback'",fontStyle:"normal"},className:"__className_f367f3",variable:"__variable_f367f3"}}};