@jheavenknows/bluerouter 5.3.59 → 5.3.61

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 (490) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +8 -8
  3. package/app/.next-cli-build/build-manifest.json +3 -3
  4. package/app/.next-cli-build/prerender-manifest.json +0 -28
  5. package/app/.next-cli-build/server/app/(dashboard)/dashboard/ai-power-index/page_client-reference-manifest.js +1 -1
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page_client-reference-manifest.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/audit-proxy/page.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/audit-proxy/page.js.nft.json +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/audit-proxy/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/model-profiles/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cluster/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/local-ai-report/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personal/page_client-reference-manifest.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovider/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovidermonitor/page_client-reference-manifest.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalquota/page_client-reference-manifest.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page_client-reference-manifest.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page_client-reference-manifest.js +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/stt/page_client-reference-manifest.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/tts/page_client-reference-manifest.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/resource-monitor/page_client-reference-manifest.js +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/routing-topology/page_client-reference-manifest.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  52. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  53. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  54. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  55. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  56. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  57. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  58. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  59. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  60. package/app/.next-cli-build/server/app/_not-found.rsc +6 -6
  61. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +6 -6
  62. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +6 -6
  63. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  64. package/app/.next-cli-build/server/app/api/audit-proxy/ca/route.js.nft.json +1 -1
  65. package/app/.next-cli-build/server/app/api/audit-proxy/route.js +6 -6
  66. package/app/.next-cli-build/server/app/api/audit-proxy/route.js.nft.json +1 -1
  67. package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js.nft.json +1 -1
  68. package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js +1 -1
  69. package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js.nft.json +1 -1
  70. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  71. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  72. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  73. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  74. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  75. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  76. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  77. package/app/.next-cli-build/server/app/api/auth/view-mode/route.js +1 -1
  78. package/app/.next-cli-build/server/app/api/auth/view-mode/route.js.nft.json +1 -1
  79. package/app/.next-cli-build/server/app/api/branding/[asset]/route.js.nft.json +1 -1
  80. package/app/.next-cli-build/server/app/api/branding/route.js +1 -1
  81. package/app/.next-cli-build/server/app/api/branding/route.js.nft.json +1 -1
  82. package/app/.next-cli-build/server/app/api/branding/upload/route.js +1 -1
  83. package/app/.next-cli-build/server/app/api/branding/upload/route.js.nft.json +1 -1
  84. package/app/.next-cli-build/server/app/api/cli-model-profiles/cloud-models/route.js.nft.json +1 -1
  85. package/app/.next-cli-build/server/app/api/cli-model-profiles/route.js +1 -1
  86. package/app/.next-cli-build/server/app/api/cli-model-profiles/route.js.nft.json +1 -1
  87. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  88. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  89. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route.js.nft.json +1 -1
  90. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route.js.nft.json +1 -1
  91. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route.js.nft.json +1 -1
  92. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  93. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  94. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  95. package/app/.next-cli-build/server/app/api/cluster/config/route.js +1 -1
  96. package/app/.next-cli-build/server/app/api/cluster/config/route.js.nft.json +1 -1
  97. package/app/.next-cli-build/server/app/api/cluster/heartbeat/route.js.nft.json +1 -1
  98. package/app/.next-cli-build/server/app/api/cluster/peers/[id]/command/route.js +1 -1
  99. package/app/.next-cli-build/server/app/api/cluster/peers/[id]/command/route.js.nft.json +1 -1
  100. package/app/.next-cli-build/server/app/api/cluster/peers/[id]/route.js +1 -1
  101. package/app/.next-cli-build/server/app/api/cluster/peers/[id]/route.js.nft.json +1 -1
  102. package/app/.next-cli-build/server/app/api/cluster/peers/route.js +1 -1
  103. package/app/.next-cli-build/server/app/api/cluster/peers/route.js.nft.json +1 -1
  104. package/app/.next-cli-build/server/app/api/cluster/snapshot/route.js.nft.json +1 -1
  105. package/app/.next-cli-build/server/app/api/cluster/sync/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/cluster/test/route.js.nft.json +1 -1
  107. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  108. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  110. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  111. package/app/.next-cli-build/server/app/api/dashboard/ai-power-index/route.js +1 -1
  112. package/app/.next-cli-build/server/app/api/dashboard/ai-power-index/route.js.nft.json +1 -1
  113. package/app/.next-cli-build/server/app/api/dashboard/analytics/ai-models/route.js +1 -1
  114. package/app/.next-cli-build/server/app/api/dashboard/analytics/ai-models/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/dashboard/analytics/analyze/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/dashboard/analytics/route.js +1 -1
  117. package/app/.next-cli-build/server/app/api/dashboard/analytics/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/dashboard/combos/route.js.nft.json +1 -1
  119. package/app/.next-cli-build/server/app/api/dashboard/endpoint/route.js +1 -1
  120. package/app/.next-cli-build/server/app/api/dashboard/endpoint/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/dashboard/local-ai-report/route.js +1 -1
  122. package/app/.next-cli-build/server/app/api/dashboard/local-ai-report/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/options/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/dashboard/routing-topology/config/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/dashboard/routing-topology/live/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/dashboard/routing-topology/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/dashboard/token-saver/route.js +1 -1
  130. package/app/.next-cli-build/server/app/api/dashboard/token-saver/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/keys/[id]/caveman-test/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js +1 -1
  133. package/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  143. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  148. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  150. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  155. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/oauth/grok-cli/device-code/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/oauth/grok-cli/poll/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/api-key-models/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/import-models/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/models/[...routeModel]/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/move/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/usage/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/personal-cloud-providers/client/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/personal-cloud-providers/monitor/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/personal-cloud-providers/permissions/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/personal-cloud-providers/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/personal-cloud-providers/routing/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/personal-cloud-providers/shares/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/personal-cloud-providers/visibility/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/pricing/catalog/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/pricing/recalculate/route.js.nft.json +1 -1
  176. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/provider-health/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/provider-nodes/openai-compatible/manage/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  185. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  187. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  188. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/resource-monitor/[id]/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/resource-monitor/ai-models/route.js +1 -1
  199. package/app/.next-cli-build/server/app/api/resource-monitor/ai-models/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/resource-monitor/analyze/route.js +1 -1
  201. package/app/.next-cli-build/server/app/api/resource-monitor/analyze/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/resource-monitor/history/route.js +1 -1
  203. package/app/.next-cli-build/server/app/api/resource-monitor/history/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/resource-monitor/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  209. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  210. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  212. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  223. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  225. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  229. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  231. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  233. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/usage/stream/route.js +1 -1
  235. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  245. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  253. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  254. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  255. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  257. package/app/.next-cli-build/server/app/callback.html +1 -1
  258. package/app/.next-cli-build/server/app/callback.rsc +6 -6
  259. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +6 -6
  260. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  261. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +6 -6
  262. package/app/.next-cli-build/server/app/dashboard/ai-power-index.html +1 -1
  263. package/app/.next-cli-build/server/app/dashboard/ai-power-index.rsc +8 -8
  264. package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/!KGRhc2hib2FyZCk/dashboard/ai-power-index/__PAGE__.segment.rsc +8 -8
  265. package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/_full.segment.rsc +8 -8
  266. package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/_tree.segment.rsc +3 -3
  267. package/app/.next-cli-build/server/app/dashboard/api-keys.html +1 -1
  268. package/app/.next-cli-build/server/app/dashboard/api-keys.rsc +11 -11
  269. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard/api-keys/__PAGE__.segment.rsc +11 -11
  270. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_full.segment.rsc +11 -11
  271. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_tree.segment.rsc +3 -3
  272. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  273. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +9 -9
  274. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +9 -9
  275. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +9 -9
  276. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +3 -3
  277. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.html +1 -1
  278. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.rsc +9 -9
  279. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/model-profiles/__PAGE__.segment.rsc +9 -9
  280. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/_full.segment.rsc +9 -9
  281. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/_tree.segment.rsc +3 -3
  282. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  283. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +9 -9
  284. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +9 -9
  285. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +9 -9
  286. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +3 -3
  287. package/app/.next-cli-build/server/app/dashboard/cluster.html +1 -1
  288. package/app/.next-cli-build/server/app/dashboard/cluster.rsc +8 -8
  289. package/app/.next-cli-build/server/app/dashboard/cluster.segments/!KGRhc2hib2FyZCk/dashboard/cluster/__PAGE__.segment.rsc +8 -8
  290. package/app/.next-cli-build/server/app/dashboard/cluster.segments/_full.segment.rsc +8 -8
  291. package/app/.next-cli-build/server/app/dashboard/cluster.segments/_tree.segment.rsc +3 -3
  292. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  293. package/app/.next-cli-build/server/app/dashboard/combos.rsc +9 -9
  294. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +9 -9
  295. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +9 -9
  296. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +3 -3
  297. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  298. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +9 -9
  299. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +9 -9
  300. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +9 -9
  301. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +3 -3
  302. package/app/.next-cli-build/server/app/dashboard/local-ai-report.html +1 -1
  303. package/app/.next-cli-build/server/app/dashboard/local-ai-report.rsc +8 -8
  304. package/app/.next-cli-build/server/app/dashboard/local-ai-report.segments/!KGRhc2hib2FyZCk/dashboard/local-ai-report/__PAGE__.segment.rsc +8 -8
  305. package/app/.next-cli-build/server/app/dashboard/local-ai-report.segments/_full.segment.rsc +8 -8
  306. package/app/.next-cli-build/server/app/dashboard/local-ai-report.segments/_tree.segment.rsc +3 -3
  307. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  308. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +9 -9
  309. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +9 -9
  310. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +9 -9
  311. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +3 -3
  312. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  313. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +9 -9
  314. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +9 -9
  315. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +9 -9
  316. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +3 -3
  317. package/app/.next-cli-build/server/app/dashboard/personal.html +1 -1
  318. package/app/.next-cli-build/server/app/dashboard/personal.rsc +9 -9
  319. package/app/.next-cli-build/server/app/dashboard/personal.segments/!KGRhc2hib2FyZCk/dashboard/personal/__PAGE__.segment.rsc +9 -9
  320. package/app/.next-cli-build/server/app/dashboard/personal.segments/_full.segment.rsc +9 -9
  321. package/app/.next-cli-build/server/app/dashboard/personal.segments/_tree.segment.rsc +3 -3
  322. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  323. package/app/.next-cli-build/server/app/dashboard/profile.rsc +9 -9
  324. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +9 -9
  325. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +9 -9
  326. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +3 -3
  327. package/app/.next-cli-build/server/app/dashboard/prompt-logs.html +1 -1
  328. package/app/.next-cli-build/server/app/dashboard/prompt-logs.rsc +8 -8
  329. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs/__PAGE__.segment.rsc +8 -8
  330. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_full.segment.rsc +8 -8
  331. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_tree.segment.rsc +3 -3
  332. package/app/.next-cli-build/server/app/dashboard/provider-health.html +1 -1
  333. package/app/.next-cli-build/server/app/dashboard/provider-health.rsc +8 -8
  334. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health/__PAGE__.segment.rsc +8 -8
  335. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_full.segment.rsc +8 -8
  336. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_tree.segment.rsc +3 -3
  337. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  338. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +9 -9
  339. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +9 -9
  340. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +9 -9
  341. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +3 -3
  342. package/app/.next-cli-build/server/app/dashboard/providers/stt.html +1 -1
  343. package/app/.next-cli-build/server/app/dashboard/providers/stt.rsc +9 -9
  344. package/app/.next-cli-build/server/app/dashboard/providers/stt.segments/!KGRhc2hib2FyZCk/dashboard/providers/stt/__PAGE__.segment.rsc +9 -9
  345. package/app/.next-cli-build/server/app/dashboard/providers/stt.segments/_full.segment.rsc +9 -9
  346. package/app/.next-cli-build/server/app/dashboard/providers/stt.segments/_tree.segment.rsc +3 -3
  347. package/app/.next-cli-build/server/app/dashboard/providers/tts.html +1 -1
  348. package/app/.next-cli-build/server/app/dashboard/providers/tts.rsc +9 -9
  349. package/app/.next-cli-build/server/app/dashboard/providers/tts.segments/!KGRhc2hib2FyZCk/dashboard/providers/tts/__PAGE__.segment.rsc +9 -9
  350. package/app/.next-cli-build/server/app/dashboard/providers/tts.segments/_full.segment.rsc +9 -9
  351. package/app/.next-cli-build/server/app/dashboard/providers/tts.segments/_tree.segment.rsc +3 -3
  352. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  353. package/app/.next-cli-build/server/app/dashboard/providers.rsc +9 -9
  354. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +9 -9
  355. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +9 -9
  356. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +3 -3
  357. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  358. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +9 -9
  359. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +9 -9
  360. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +9 -9
  361. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +3 -3
  362. package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
  363. package/app/.next-cli-build/server/app/dashboard/quota.rsc +10 -10
  364. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +10 -10
  365. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +10 -10
  366. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +3 -3
  367. package/app/.next-cli-build/server/app/dashboard/resource-monitor.html +1 -1
  368. package/app/.next-cli-build/server/app/dashboard/resource-monitor.rsc +8 -8
  369. package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/!KGRhc2hib2FyZCk/dashboard/resource-monitor/__PAGE__.segment.rsc +8 -8
  370. package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/_full.segment.rsc +8 -8
  371. package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/_tree.segment.rsc +3 -3
  372. package/app/.next-cli-build/server/app/dashboard/routing-topology.html +1 -1
  373. package/app/.next-cli-build/server/app/dashboard/routing-topology.rsc +8 -8
  374. package/app/.next-cli-build/server/app/dashboard/routing-topology.segments/!KGRhc2hib2FyZCk/dashboard/routing-topology/__PAGE__.segment.rsc +8 -8
  375. package/app/.next-cli-build/server/app/dashboard/routing-topology.segments/_full.segment.rsc +8 -8
  376. package/app/.next-cli-build/server/app/dashboard/routing-topology.segments/_tree.segment.rsc +3 -3
  377. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  378. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +8 -8
  379. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing/__PAGE__.segment.rsc +8 -8
  380. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +8 -8
  381. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +3 -3
  382. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  383. package/app/.next-cli-build/server/app/dashboard/skills.rsc +9 -9
  384. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +9 -9
  385. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +9 -9
  386. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +3 -3
  387. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  388. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +8 -8
  389. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +8 -8
  390. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +8 -8
  391. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +3 -3
  392. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  393. package/app/.next-cli-build/server/app/dashboard/translator.rsc +9 -9
  394. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +9 -9
  395. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +9 -9
  396. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +3 -3
  397. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  398. package/app/.next-cli-build/server/app/dashboard/usage.rsc +9 -9
  399. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +9 -9
  400. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +9 -9
  401. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +3 -3
  402. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  403. package/app/.next-cli-build/server/app/dashboard.rsc +9 -9
  404. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +9 -9
  405. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +9 -9
  406. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +3 -3
  407. package/app/.next-cli-build/server/app/index.html +1 -1
  408. package/app/.next-cli-build/server/app/index.rsc +6 -6
  409. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +6 -6
  410. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +6 -6
  411. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  412. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  413. package/app/.next-cli-build/server/app/landing.html +1 -1
  414. package/app/.next-cli-build/server/app/landing.rsc +6 -6
  415. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +6 -6
  416. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  417. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +6 -6
  418. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  419. package/app/.next-cli-build/server/app/login.html +1 -1
  420. package/app/.next-cli-build/server/app/login.rsc +7 -7
  421. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +7 -7
  422. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  423. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +7 -7
  424. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  425. package/app/.next-cli-build/server/app-paths-manifest.json +8 -8
  426. package/app/.next-cli-build/server/chunks/3767.js +1 -1
  427. package/app/.next-cli-build/server/chunks/3958.js +6 -6
  428. package/app/.next-cli-build/server/chunks/4696.js +1 -1
  429. package/app/.next-cli-build/server/chunks/4746.js +1 -1
  430. package/app/.next-cli-build/server/chunks/541.js +1 -1
  431. package/app/.next-cli-build/server/chunks/607.js +1 -1
  432. package/app/.next-cli-build/server/chunks/6328.js +1 -1
  433. package/app/.next-cli-build/server/chunks/6811.js +1 -1
  434. package/app/.next-cli-build/server/chunks/6992.js +1 -1
  435. package/app/.next-cli-build/server/chunks/7639.js +1 -1
  436. package/app/.next-cli-build/server/chunks/7812.js +1 -1
  437. package/app/.next-cli-build/server/chunks/8640.js +2 -2
  438. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  439. package/app/.next-cli-build/server/pages/404.html +1 -1
  440. package/app/.next-cli-build/server/pages/500.html +1 -1
  441. package/app/.next-cli-build/server/prefetch-hints.json +0 -24
  442. package/app/.next-cli-build/static/chunks/{5263-5dc8bf4467129267.js → 5263-b499ff68622ea287.js} +1 -1
  443. package/app/.next-cli-build/static/chunks/{5497-e7a491e584d8e889.js → 5497-01cab2b16982f47b.js} +2 -2
  444. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/api-keys/{page-69abc960e895e371.js → page-8c2da5b95b0920e1.js} +1 -1
  445. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/{page-b4d366816efccb83.js → page-08bcacabfb4016a8.js} +1 -1
  446. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-cf60b5c7ef98268e.js → page-a9ff54e851d2ee6b.js} +1 -1
  447. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/model-profiles/{page-565eec37a6b1e43e.js → page-514941d4d89828f3.js} +1 -1
  448. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-4d03de73b87070b7.js → page-6af3a74f988fa9a3.js} +1 -1
  449. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/{page-9125d5791390ecd1.js → page-b484d39ac1824239.js} +1 -1
  450. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/{page-46eb716c240403a9.js → page-29077eb857ddaa6b.js} +1 -1
  451. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/{page-aaf1ae8b36169705.js → page-1abcaccf45c4d975.js} +1 -1
  452. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-9117c57680c9a427.js → page-9a1c2c9d6bc4319c.js} +1 -1
  453. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/{providers/stt/page-cc5320ebd1a7e502.js → media-providers/[kind]/page-154eed6f10067283.js} +1 -1
  454. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-c17bde6fb00334f8.js → page-2bcd21fc09c38461.js} +1 -1
  455. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/{page-7910b58d0aedaa0f.js → page-c01afc3879e58b71.js} +1 -1
  456. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-1ec588c770711f10.js → page-b40045309a980f35.js} +1 -1
  457. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/{page-aaf1ae8b36169705.js → page-1abcaccf45c4d975.js} +1 -1
  458. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/personal/{page-41e959b6a32f2dcd.js → page-ebc28879d4aba11d.js} +1 -1
  459. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/personalcloudprovider/{layout-e6352e14327c0403.js → layout-72251d3e2b178c64.js} +1 -1
  460. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/personalcloudprovider/{page-b0752e76d649652c.js → page-89c84b2666538769.js} +1 -1
  461. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/personalcloudprovidermonitor/{page-01cc90c62e5b5082.js → page-2366c1492c09d740.js} +1 -1
  462. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/{page-f08bb6e259b2c163.js → page-99b518e5b6d81643.js} +1 -1
  463. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-47131b1112d369af.js → page-d3d1b8d6916c6050.js} +1 -1
  464. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-a767336a177c4006.js → page-23d57f0cd3caa5a4.js} +1 -1
  465. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/{page-96ab6806712c81a9.js → page-d278b9c2099a88c8.js} +1 -1
  466. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/{tts/page-cc5320ebd1a7e502.js → stt/page-154eed6f10067283.js} +1 -1
  467. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/{media-providers/[kind]/page-cc5320ebd1a7e502.js → providers/tts/page-154eed6f10067283.js} +1 -1
  468. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-905744d22c273a69.js → page-9a6e31f87d838029.js} +1 -1
  469. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/{page-2fd66044b1fd1c69.js → page-d22d38cc4a97d13d.js} +1 -1
  470. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/{page-5d3a88a800c01ca2.js → page-efedba92d6e02c82.js} +1 -1
  471. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/{page-8d752b6befd00f90.js → page-089032ee4ac431a5.js} +1 -1
  472. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/{page-9fd8ba9f4423ea62.js → page-6f197758e96ec272.js} +1 -1
  473. package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-ff68f7f7cf22bcac.js → layout-e5f8b9540dd02062.js} +1 -1
  474. package/app/.next-cli-build/static/chunks/{webpack-e43d42d9ffe5099b.js → webpack-7223ab98c3aee1a6.js} +1 -1
  475. package/app/.next-cli-build/static/css/2efd59dd4cc5acfe.css +1 -0
  476. package/app/.next-cli-build/static/css/{6b035d23410f8c74.css → a242477e315442ed.css} +1 -1
  477. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-5.3.55-to-5.3.56-5.3.56-20260823-085719 → upgrade-5.3.57-to-5.3.58-5.3.58-20260823-092725}/data.sqlite +0 -0
  478. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-5.3.54-to-5.3.55-5.3.55-20260823-081202 → upgrade-5.3.58-to-5.3.59-5.3.59-20260823-093629}/data.sqlite +0 -0
  479. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite +0 -0
  480. package/app/package.json +1 -1
  481. package/package.json +1 -1
  482. package/app/.next-cli-build/server/app/dashboard/logs.html +0 -1
  483. package/app/.next-cli-build/server/app/dashboard/logs.meta +0 -36
  484. package/app/.next-cli-build/server/app/dashboard/logs.rsc +0 -28
  485. package/app/.next-cli-build/server/app/dashboard/logs.segments/_full.segment.rsc +0 -28
  486. package/app/.next-cli-build/server/app/dashboard/logs.segments/_tree.segment.rsc +0 -4
  487. package/app/.next-cli-build/static/css/ca15e2e7ae86ace9.css +0 -1
  488. /package/app/.next-cli-build/static/{LKy0aWfEJH5tIDvM4XhE1 → iuOIGTLoCuoWiJFqIZcvJ}/_buildManifest.js +0 -0
  489. /package/app/.next-cli-build/static/{LKy0aWfEJH5tIDvM4XhE1 → iuOIGTLoCuoWiJFqIZcvJ}/_ssgManifest.js +0 -0
  490. /package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-5.3.56-to-5.3.57-5.3.57-20260823-091335 → upgrade-5.3.57-to-5.3.58-5.3.58-20260823-092724}/data.sqlite +0 -0
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3528],{5214:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorage",{enumerable:!0,get:function(){return r.workAsyncStorageInstance}});let r=n(17828)},17828:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorageInstance",{enumerable:!0,get:function(){return r}});let r=(0,n(64054).createAsyncLocalStorage)()},21957:(e,t,n)=>{"use strict";function r({moduleIds:e}){return null}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadChunks",{enumerable:!0,get:function(){return r}}),n(95155),n(47650),n(5214),n(2451),n(53887)},41112:(e,t,n)=>{"use strict";function r({reason:e,children:t}){return t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return r}}),n(1980)},49106:(e,t,n)=>{Promise.resolve().then(n.bind(n,69472))},64054:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={bindSnapshot:function(){return i},createAsyncLocalStorage:function(){return o},createSnapshot:function(){return d}};for(var r in n)Object.defineProperty(t,r,{enumerable:!0,get:n[r]});let a=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class s{disable(){throw a}getStore(){}run(){throw a}exit(){throw a}enterWith(){throw a}static bind(e){return e}}let l="u">typeof globalThis&&globalThis.AsyncLocalStorage;function o(){return l?new l:new s}function i(e){return l?l.bind(e):s.bind(e)}function d(){return l?l.snapshot():function(e,...t){return e(...t)}}},68635:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i}});let r=n(95155),a=n(12115),s=n(41112);function l(e){return{default:e&&"default"in e?e.default:e}}n(21957);let o={loader:()=>Promise.resolve(l(()=>null)),loading:null,ssr:!0},i=function(e){let t={...o,...e},n=(0,a.lazy)(()=>t.loader().then(l)),i=t.loading;function d(e){let l=i?(0,r.jsx)(i,{isLoading:!0,pastDelay:!0,error:null}):null,o=!t.ssr||!!t.loading,d=o?a.Suspense:a.Fragment,c=t.ssr?(0,r.jsxs)(r.Fragment,{children:[null,(0,r.jsx)(n,{...e})]}):(0,r.jsx)(s.BailoutToCSR,{reason:"next/dynamic",children:(0,r.jsx)(n,{...e})});return(0,r.jsx)(d,{...o?{fallback:l}:{},children:c})}return d.displayName="LoadableComponent",d}},69472:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>u});var r=n(95155),a=n(12115),s=n(35497),l=n(11059),o=n(75707);let i=n.n(o)()(()=>n.e(8202).then(n.bind(n,28202)),{loadableGenerated:{webpack:()=>[28202]},ssr:!1}),d=[{id:1,label:"Client Request",file:"1_req_client.json",lang:"json",desc:"Raw request from client"},{id:2,label:"Source Body",file:"2_req_source.json",lang:"json",desc:"After initial conversion"},{id:3,label:"OpenAI Intermediate",file:"3_req_openai.json",lang:"json",desc:"source → openai"},{id:4,label:"Target Request",file:"4_req_target.json",lang:"json",desc:"openai → target + URL + headers"},{id:5,label:"Provider Response",file:"5_res_provider.txt",lang:"text",desc:"Raw SSE from provider"},{id:6,label:"OpenAI Response",file:"6_res_openai.txt",lang:"text",desc:"target → openai (response)"},{id:7,label:"Client Response",file:"7_res_client.txt",lang:"text",desc:"Final response to client"}],c={minimap:{enabled:!1},fontSize:12,lineNumbers:"on",scrollBeyondLastLine:!1,wordWrap:"on",automaticLayout:!0};function u(){let[e,t]=(0,a.useState)({}),[n,o]=(0,a.useState)({1:!0}),[u,f]=(0,a.useState)({}),[m,x]=(0,a.useState)(null),g=(e,t)=>f(n=>({...n,[e]:t})),h=(e,n)=>t(t=>({...t,[e]:n})),b=e=>o(t=>{let n={};return d.forEach(e=>{n[e.id]=!1}),n[e]=!0,n}),y=async e=>{let t=d.find(t=>t.id===e);g(`load-${e}`,!0);try{let n=await fetch(`/api/translator/load?file=${t.file}`),r=await n.json();r.success?(h(e,r.content),1===e&&await j(r.content)):alert(r.error||"File not found")}catch(e){alert(e.message)}g(`load-${e}`,!1)},j=async e=>{try{let t="string"==typeof e?JSON.parse(e):e,n=await fetch("/api/translator/translate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({step:1,body:t})}),r=await n.json();r.success&&x(r.result)}catch{}},_=(e,t)=>fetch("/api/translator/save",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({file:e,content:t})}).catch(()=>{}),v=async()=>{g("toOpenAI",!0);try{let t=e[1],n=JSON.parse(t);_("1_req_client.json",t),_("2_req_source.json",JSON.stringify({timestamp:new Date().toISOString(),headers:{},body:n.body||n},null,2));let r=await fetch("/api/translator/translate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({step:2,body:n})}),a=await r.json();if(!a.success)return void alert(a.error);let s=JSON.stringify(a.result.body,null,2);h(3,s),b(3)}catch(e){alert(e.message)}g("toOpenAI",!1)},O=async()=>{g("toTarget",!0);try{let t=e[3],n=JSON.parse(t);_("3_req_openai.json",t);let r=await fetch("/api/translator/translate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({step:3,body:{...n,provider:m?.provider,model:m?.model}})}),a=await r.json();if(!a.success)return void alert(a.error);let s={...a.result,provider:m?.provider,model:m?.model};h(4,JSON.stringify(s,null,2)),b(4)}catch(e){alert(e.message)}g("toTarget",!1)},S=async()=>{g("send",!0);try{let t=e[4],n=JSON.parse(t);_("4_req_target.json",t);let r=n.provider||m?.provider,a=n.model||m?.model;if(!r||!a)return void alert("Missing provider or model. Please run step 1 first to detect them.");let s=await fetch("/api/translator/send",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:r,model:a,body:n.body||n})});if(!s.ok){let e=await s.json().catch(()=>({error:s.statusText}));alert(e.error||"Send failed");return}let l=s.body.getReader(),o=new TextDecoder,i="";for(;;){let{done:e,value:t}=await l.read();if(e)break;i+=o.decode(t,{stream:!0})}h(5,i),b(5),await fetch("/api/translator/save",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({file:"5_res_provider.txt",content:i})})}catch(e){alert(e.message)}finally{g("send",!1)}},{copy:w}=(0,l.C)(),N=async t=>{e[t]&&w(e[t],`translator-step-${t}`)};return(0,r.jsxs)("div",{className:"p-8 space-y-3",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"text-2xl font-bold text-text-main",children:"Translator Debug"}),(0,r.jsx)("p",{className:"text-sm text-text-muted mt-1",children:"Replay request flow — matches log files"})]}),m&&(0,r.jsxs)("div",{className:"flex items-center gap-2 flex-wrap justify-end",children:[(0,r.jsx)(p,{label:"src",value:m.sourceFormat,color:"blue"}),(0,r.jsx)("span",{className:"material-symbols-outlined text-text-muted text-[14px]",children:"arrow_forward"}),(0,r.jsx)(p,{label:"dst",value:m.targetFormat,color:"orange"}),(0,r.jsx)(p,{label:"provider",value:m.provider,color:"green"}),(0,r.jsx)(p,{label:"model",value:m.model,color:"purple"})]})]}),d.map(t=>{var a;let l=1===(a=t.id)?(0,r.jsx)(s.$n,{size:"sm",icon:"arrow_forward",loading:u.toOpenAI,onClick:v,children:"→ OpenAI"}):3===a?(0,r.jsx)(s.$n,{size:"sm",icon:"arrow_forward",loading:u.toTarget,onClick:O,children:"→ Target"}):4===a?(0,r.jsx)(s.$n,{size:"sm",icon:"send",loading:u.send,onClick:S,children:"Send"}):null,d=!!n[t.id],p=e[t.id]||"";return(0,r.jsx)(s.Zp,{children:(0,r.jsxs)("div",{className:"p-4 space-y-3",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("button",{onClick:()=>{let e;return e=t.id,o(t=>({...t,[e]:!t[e]}))},className:"flex items-center gap-2 flex-1 text-left group",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-[20px] text-text-muted group-hover:text-primary transition-colors",children:d?"expand_more":"chevron_right"}),(0,r.jsx)("span",{className:"text-xs font-mono text-text-muted/60 w-4",children:t.id}),(0,r.jsx)("h3",{className:"text-sm font-semibold text-text-main",children:t.label}),(0,r.jsx)("span",{className:"text-xs text-text-muted/60 font-mono",children:t.file}),p&&(0,r.jsxs)("span",{className:"text-xs text-green-500",children:["(",p.length," chars)"]})]}),!d&&(0,r.jsxs)("div",{className:"flex gap-1 shrink-0",children:[(0,r.jsx)(s.$n,{size:"sm",variant:"ghost",icon:"folder_open",loading:u[`load-${t.id}`],onClick:()=>y(t.id)}),l]})]}),d&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"border border-border rounded-lg overflow-hidden",children:(0,r.jsx)(i,{height:"400px",defaultLanguage:"text"===t.lang?"plaintext":"json",value:p,onChange:e=>{h(t.id,e||""),1===t.id&&j(e||"")},theme:"vs-dark",options:c})}),(0,r.jsxs)("div",{className:"flex gap-2 flex-wrap",children:[(0,r.jsx)(s.$n,{size:"sm",variant:"outline",icon:"folder_open",loading:u[`load-${t.id}`],onClick:()=>y(t.id),children:"Load"}),(0,r.jsx)(s.$n,{size:"sm",variant:"outline",icon:"data_object",onClick:()=>(t=>{try{let n=JSON.parse(e[t]);h(t,JSON.stringify(n,null,2))}catch{}})(t.id),children:"Format"}),(0,r.jsx)(s.$n,{size:"sm",variant:"outline",icon:"content_copy",onClick:()=>N(t.id),children:"Copy"}),l]})]})]})},t.id)})]})}function p({label:e,value:t,color:n}){return(0,r.jsxs)("span",{className:`inline-flex items-center gap-1 px-2 py-0.5 rounded text-xs font-mono ${{blue:"bg-blue-500/10 text-blue-500",orange:"bg-orange-500/10 text-orange-500",green:"bg-green-500/10 text-green-500",purple:"bg-purple-500/10 text-purple-500"}[n]}`,children:[(0,r.jsxs)("span",{className:"text-text-muted/70 font-sans text-[10px]",children:[e,":"]}),t]})}},75707:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let r=n(73623)._(n(68635));function a(e,t){let n={};"function"==typeof e&&(n.loader=e);let a={...n,...t};return(0,r.default)({...a,modules:a.loadableGenerated?.modules})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}},e=>{e.O(0,[8991,3862,8500,9893,9959,7050,5564,5263,7033,5497,8441,3794,7358],()=>e(e.s=49106)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3528],{5214:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorage",{enumerable:!0,get:function(){return r.workAsyncStorageInstance}});let r=n(17828)},17828:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorageInstance",{enumerable:!0,get:function(){return r}});let r=(0,n(64054).createAsyncLocalStorage)()},21957:(e,t,n)=>{"use strict";function r({moduleIds:e}){return null}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadChunks",{enumerable:!0,get:function(){return r}}),n(95155),n(47650),n(5214),n(2451),n(53887)},41112:(e,t,n)=>{"use strict";function r({reason:e,children:t}){return t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return r}}),n(1980)},49106:(e,t,n)=>{Promise.resolve().then(n.bind(n,69472))},64054:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={bindSnapshot:function(){return i},createAsyncLocalStorage:function(){return o},createSnapshot:function(){return d}};for(var r in n)Object.defineProperty(t,r,{enumerable:!0,get:n[r]});let a=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class s{disable(){throw a}getStore(){}run(){throw a}exit(){throw a}enterWith(){throw a}static bind(e){return e}}let l="u">typeof globalThis&&globalThis.AsyncLocalStorage;function o(){return l?new l:new s}function i(e){return l?l.bind(e):s.bind(e)}function d(){return l?l.snapshot():function(e,...t){return e(...t)}}},68635:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i}});let r=n(95155),a=n(12115),s=n(41112);function l(e){return{default:e&&"default"in e?e.default:e}}n(21957);let o={loader:()=>Promise.resolve(l(()=>null)),loading:null,ssr:!0},i=function(e){let t={...o,...e},n=(0,a.lazy)(()=>t.loader().then(l)),i=t.loading;function d(e){let l=i?(0,r.jsx)(i,{isLoading:!0,pastDelay:!0,error:null}):null,o=!t.ssr||!!t.loading,d=o?a.Suspense:a.Fragment,c=t.ssr?(0,r.jsxs)(r.Fragment,{children:[null,(0,r.jsx)(n,{...e})]}):(0,r.jsx)(s.BailoutToCSR,{reason:"next/dynamic",children:(0,r.jsx)(n,{...e})});return(0,r.jsx)(d,{...o?{fallback:l}:{},children:c})}return d.displayName="LoadableComponent",d}},69472:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>u});var r=n(95155),a=n(12115),s=n(35497),l=n(11059),o=n(75707);let i=n.n(o)()(()=>n.e(8202).then(n.bind(n,28202)),{loadableGenerated:{webpack:()=>[28202]},ssr:!1}),d=[{id:1,label:"Client Request",file:"1_req_client.json",lang:"json",desc:"Raw request from client"},{id:2,label:"Source Body",file:"2_req_source.json",lang:"json",desc:"After initial conversion"},{id:3,label:"OpenAI Intermediate",file:"3_req_openai.json",lang:"json",desc:"source → openai"},{id:4,label:"Target Request",file:"4_req_target.json",lang:"json",desc:"openai → target + URL + headers"},{id:5,label:"Provider Response",file:"5_res_provider.txt",lang:"text",desc:"Raw SSE from provider"},{id:6,label:"OpenAI Response",file:"6_res_openai.txt",lang:"text",desc:"target → openai (response)"},{id:7,label:"Client Response",file:"7_res_client.txt",lang:"text",desc:"Final response to client"}],c={minimap:{enabled:!1},fontSize:12,lineNumbers:"on",scrollBeyondLastLine:!1,wordWrap:"on",automaticLayout:!0};function u(){let[e,t]=(0,a.useState)({}),[n,o]=(0,a.useState)({1:!0}),[u,f]=(0,a.useState)({}),[m,x]=(0,a.useState)(null),g=(e,t)=>f(n=>({...n,[e]:t})),h=(e,n)=>t(t=>({...t,[e]:n})),b=e=>o(t=>{let n={};return d.forEach(e=>{n[e.id]=!1}),n[e]=!0,n}),y=async e=>{let t=d.find(t=>t.id===e);g(`load-${e}`,!0);try{let n=await fetch(`/api/translator/load?file=${t.file}`),r=await n.json();r.success?(h(e,r.content),1===e&&await j(r.content)):alert(r.error||"File not found")}catch(e){alert(e.message)}g(`load-${e}`,!1)},j=async e=>{try{let t="string"==typeof e?JSON.parse(e):e,n=await fetch("/api/translator/translate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({step:1,body:t})}),r=await n.json();r.success&&x(r.result)}catch{}},_=(e,t)=>fetch("/api/translator/save",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({file:e,content:t})}).catch(()=>{}),v=async()=>{g("toOpenAI",!0);try{let t=e[1],n=JSON.parse(t);_("1_req_client.json",t),_("2_req_source.json",JSON.stringify({timestamp:new Date().toISOString(),headers:{},body:n.body||n},null,2));let r=await fetch("/api/translator/translate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({step:2,body:n})}),a=await r.json();if(!a.success)return void alert(a.error);let s=JSON.stringify(a.result.body,null,2);h(3,s),b(3)}catch(e){alert(e.message)}g("toOpenAI",!1)},O=async()=>{g("toTarget",!0);try{let t=e[3],n=JSON.parse(t);_("3_req_openai.json",t);let r=await fetch("/api/translator/translate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({step:3,body:{...n,provider:m?.provider,model:m?.model}})}),a=await r.json();if(!a.success)return void alert(a.error);let s={...a.result,provider:m?.provider,model:m?.model};h(4,JSON.stringify(s,null,2)),b(4)}catch(e){alert(e.message)}g("toTarget",!1)},S=async()=>{g("send",!0);try{let t=e[4],n=JSON.parse(t);_("4_req_target.json",t);let r=n.provider||m?.provider,a=n.model||m?.model;if(!r||!a)return void alert("Missing provider or model. Please run step 1 first to detect them.");let s=await fetch("/api/translator/send",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:r,model:a,body:n.body||n})});if(!s.ok){let e=await s.json().catch(()=>({error:s.statusText}));alert(e.error||"Send failed");return}let l=s.body.getReader(),o=new TextDecoder,i="";for(;;){let{done:e,value:t}=await l.read();if(e)break;i+=o.decode(t,{stream:!0})}h(5,i),b(5),await fetch("/api/translator/save",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({file:"5_res_provider.txt",content:i})})}catch(e){alert(e.message)}finally{g("send",!1)}},{copy:w}=(0,l.C)(),N=async t=>{e[t]&&w(e[t],`translator-step-${t}`)};return(0,r.jsxs)("div",{className:"p-8 space-y-3",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"text-2xl font-bold text-text-main",children:"Translator Debug"}),(0,r.jsx)("p",{className:"text-sm text-text-muted mt-1",children:"Replay request flow — matches log files"})]}),m&&(0,r.jsxs)("div",{className:"flex items-center gap-2 flex-wrap justify-end",children:[(0,r.jsx)(p,{label:"src",value:m.sourceFormat,color:"blue"}),(0,r.jsx)("span",{className:"material-symbols-outlined text-text-muted text-[14px]",children:"arrow_forward"}),(0,r.jsx)(p,{label:"dst",value:m.targetFormat,color:"orange"}),(0,r.jsx)(p,{label:"provider",value:m.provider,color:"green"}),(0,r.jsx)(p,{label:"model",value:m.model,color:"purple"})]})]}),d.map(t=>{var a;let l=1===(a=t.id)?(0,r.jsx)(s.$n,{size:"sm",icon:"arrow_forward",loading:u.toOpenAI,onClick:v,children:"→ OpenAI"}):3===a?(0,r.jsx)(s.$n,{size:"sm",icon:"arrow_forward",loading:u.toTarget,onClick:O,children:"→ Target"}):4===a?(0,r.jsx)(s.$n,{size:"sm",icon:"send",loading:u.send,onClick:S,children:"Send"}):null,d=!!n[t.id],p=e[t.id]||"";return(0,r.jsx)(s.Zp,{children:(0,r.jsxs)("div",{className:"p-4 space-y-3",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("button",{onClick:()=>{let e;return e=t.id,o(t=>({...t,[e]:!t[e]}))},className:"flex items-center gap-2 flex-1 text-left group",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-[20px] text-text-muted group-hover:text-primary transition-colors",children:d?"expand_more":"chevron_right"}),(0,r.jsx)("span",{className:"text-xs font-mono text-text-muted/60 w-4",children:t.id}),(0,r.jsx)("h3",{className:"text-sm font-semibold text-text-main",children:t.label}),(0,r.jsx)("span",{className:"text-xs text-text-muted/60 font-mono",children:t.file}),p&&(0,r.jsxs)("span",{className:"text-xs text-green-500",children:["(",p.length," chars)"]})]}),!d&&(0,r.jsxs)("div",{className:"flex gap-1 shrink-0",children:[(0,r.jsx)(s.$n,{size:"sm",variant:"ghost",icon:"folder_open",loading:u[`load-${t.id}`],onClick:()=>y(t.id)}),l]})]}),d&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"border border-border rounded-lg overflow-hidden",children:(0,r.jsx)(i,{height:"400px",defaultLanguage:"text"===t.lang?"plaintext":"json",value:p,onChange:e=>{h(t.id,e||""),1===t.id&&j(e||"")},theme:"vs-dark",options:c})}),(0,r.jsxs)("div",{className:"flex gap-2 flex-wrap",children:[(0,r.jsx)(s.$n,{size:"sm",variant:"outline",icon:"folder_open",loading:u[`load-${t.id}`],onClick:()=>y(t.id),children:"Load"}),(0,r.jsx)(s.$n,{size:"sm",variant:"outline",icon:"data_object",onClick:()=>(t=>{try{let n=JSON.parse(e[t]);h(t,JSON.stringify(n,null,2))}catch{}})(t.id),children:"Format"}),(0,r.jsx)(s.$n,{size:"sm",variant:"outline",icon:"content_copy",onClick:()=>N(t.id),children:"Copy"}),l]})]})]})},t.id)})]})}function p({label:e,value:t,color:n}){return(0,r.jsxs)("span",{className:`inline-flex items-center gap-1 px-2 py-0.5 rounded text-xs font-mono ${{blue:"bg-blue-500/10 text-blue-500",orange:"bg-orange-500/10 text-orange-500",green:"bg-green-500/10 text-green-500",purple:"bg-purple-500/10 text-purple-500"}[n]}`,children:[(0,r.jsxs)("span",{className:"text-text-muted/70 font-sans text-[10px]",children:[e,":"]}),t]})}},75707:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let r=n(73623)._(n(68635));function a(e,t){let n={};"function"==typeof e&&(n.loader=e);let a={...n,...t};return(0,r.default)({...a,modules:a.loadableGenerated?.modules})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}},e=>{e.O(0,[6373,3862,8500,9893,9959,7050,5564,5263,7033,5497,8441,3794,7358],()=>e(e.s=49106)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2825],{21007:(e,t,s)=>{Promise.resolve().then(s.bind(s,81772))},62146:()=>{},81772:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>w});var a=s(95155),l=s(12115),n=s(73321),r=s(35497),i=s(94027),o=s(84588),d=s(92542),c=s(31474);function x({isOpen:e,onClose:t,title:s,children:n,width:r="md",className:i}){let o={sm:"w-[400px]",md:"w-[500px]",lg:"w-[600px]",xl:"w-[800px]",full:"w-full"};return((0,l.useEffect)(()=>(e?document.body.style.overflow="hidden":document.body.style.overflow="",()=>{document.body.style.overflow=""}),[e]),(0,l.useEffect)(()=>{let s=s=>{"Escape"===s.key&&e&&t()};return document.addEventListener("keydown",s),()=>document.removeEventListener("keydown",s)},[e,t]),e)?(0,a.jsxs)("div",{className:"fixed inset-0 z-50",children:[(0,a.jsx)("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-[2px] fade-in cursor-pointer",onClick:t,"aria-hidden":"true"}),(0,a.jsxs)("div",{className:(0,c.cn)("absolute right-0 top-0 h-full bg-surface flex flex-col","shadow-[var(--shadow-elev)]","slide-in-right","border-l border-border-subtle",o[r]||o.md,i),children:[(0,a.jsxs)("div",{className:"flex items-center justify-between p-6 border-b border-border-subtle flex-shrink-0",children:[(0,a.jsx)("div",{className:"flex items-center gap-3",children:s&&(0,a.jsx)("h2",{className:"text-lg font-semibold text-text-main",children:s})}),(0,a.jsx)("button",{type:"button",onClick:t,className:"p-1.5 rounded-[10px] text-text-muted hover:bg-surface-2 hover:text-text-main transition-colors",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"close"})})]}),(0,a.jsx)("div",{className:"flex-1 overflow-y-auto p-6 custom-scrollbar",children:n})]})]}):null}function m({currentPage:e,pageSize:t,totalItems:s,onPageChange:l,onPageSizeChange:n,className:r}){let i=Math.ceil(s/t),o=s>0?(e-1)*t+1:0,x=Math.min(e*t,s),u=(()=>{let t=[],s=Math.max(1,e-2),a=Math.min(i,s+5-1);a-s+1<5&&(s=Math.max(1,a-5+1));for(let e=s;e<=a;e++)t.push(e);return t})();return(0,a.jsxs)("div",{className:(0,c.cn)("flex flex-col sm:flex-row items-center justify-between gap-4 py-4 px-2",r),children:[s>0&&(0,a.jsxs)("div",{className:"text-sm text-text-muted",children:["Showing ",(0,a.jsx)("span",{className:"font-medium text-text-main",children:o})," to"," ",(0,a.jsx)("span",{className:"font-medium text-text-main",children:x})," of"," ",(0,a.jsx)("span",{className:"font-medium text-text-main",children:s})," results"]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-center gap-2 sm:gap-4",children:[n&&(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-sm text-text-muted",children:"Rows:"}),(0,a.jsx)("select",{value:t,onChange:e=>n(Number(e.target.value)),className:(0,c.cn)("h-9 rounded-lg border border-black/10 dark:border-white/10 bg-surface","text-sm text-text-main focus:outline-none focus:ring-2 focus:ring-primary/20","cursor-pointer"),style:{colorScheme:"auto"},children:[10,20,50].map(e=>(0,a.jsx)("option",{value:e,children:e},e))})]}),i>1&&(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)(d.default,{variant:"outline",size:"sm",onClick:()=>l(e-1),disabled:1===e,className:"w-9 px-0",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"chevron_left"})}),u[0]>1&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(d.default,{variant:"ghost",size:"sm",onClick:()=>l(1),className:"w-9 px-0 hidden sm:inline-flex",children:"1"}),u[0]>2&&(0,a.jsx)("span",{className:"text-text-muted px-1 hidden sm:inline",children:"..."})]}),u.map(t=>(0,a.jsx)(d.default,{variant:e===t?"primary":"ghost",size:"sm",onClick:()=>l(t),className:(0,c.cn)("w-9 px-0",e===t?"inline-flex":"hidden sm:inline-flex"),children:t},t)),u[u.length-1]<i&&(0,a.jsxs)(a.Fragment,{children:[u[u.length-1]<i-1&&(0,a.jsx)("span",{className:"text-text-muted px-1 hidden sm:inline",children:"..."}),(0,a.jsx)(d.default,{variant:"ghost",size:"sm",onClick:()=>l(i),className:"w-9 px-0 hidden sm:inline-flex",children:i})]}),(0,a.jsx)(d.default,{variant:"outline",size:"sm",onClick:()=>l(e+1),disabled:e===i,className:"w-9 px-0",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"chevron_right"})})]})]})]})}var u=s(52679);let p=null,h=null;async function f({force:e=!1}={}){if(!e&&p&&h)return{providerNameCache:p,providerNodesCache:h};let t=await fetch("/api/provider-nodes",{cache:"no-store"}),s=(await t.json()).nodes||[];for(let e of(h={},s))h[e.id]=e.name;return{providerNameCache:p={...u.Q2,...h},providerNodesCache:h}}function b(e,t){if(!e||!t)return e;let s=t[e];if("string"==typeof s)return s;if(s?.name)return s.name;let a=(0,u.zt)(e)||u.Q2[e];return a?.name||e}function g({title:e,children:t,defaultOpen:s=!1,icon:n=null}){let[r,i]=(0,l.useState)(s);return(0,a.jsxs)("div",{className:"border border-black/5 dark:border-white/5 rounded-lg overflow-hidden",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>i(!r),className:"w-full flex items-center justify-between p-3 bg-black/[0.02] dark:bg-white/[0.02] hover:bg-black/[0.04] dark:hover:bg-white/[0.04] transition-colors",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[n&&(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px] text-text-muted",children:n}),(0,a.jsx)("span",{className:"font-semibold text-sm text-text-main",children:e})]}),(0,a.jsx)("span",{className:(0,c.cn)("material-symbols-outlined text-[20px] text-text-muted transition-transform duration-200",r?"rotate-90":""),children:"chevron_right"})]}),r&&(0,a.jsx)("div",{className:"p-4 border-t border-black/5 dark:border-white/5",children:t})]})}function j(e){let t=e?.display_total_input_tokens,s=Number(t);if(null!=t&&""!==t&&Number.isFinite(s)&&s>=0)return s;let a=Number(e?.prompt_tokens??e?.input_tokens??0)||0,l=Number(e?.display_cached_input_tokens??e?.cached_tokens??e?.cache_read_input_tokens??e?.input_tokens_details?.cached_tokens??e?.prompt_tokens_details?.cached_tokens??0)||0,n=Number(e?.display_cache_creation_input_tokens??e?.cache_creation_input_tokens??e?.input_tokens_details?.cache_creation_tokens??e?.prompt_tokens_details?.cache_creation_tokens??0)||0,r=e?.cache_read_input_tokens!=null||e?.cache_creation_input_tokens!=null,i=!!(e?.input_tokens_details||e?.prompt_tokens_details),o=e?.prompt_tokens!=null&&e?.input_tokens!=null&&Number(e.prompt_tokens)!==Number(e.input_tokens);return!r||i||o?a:a+l+n}function v(){let[e,t]=(0,l.useState)([]),[s,n]=(0,l.useState)({page:1,pageSize:20,totalItems:0,totalPages:0}),[r,i]=(0,l.useState)(!1),[u,p]=(0,l.useState)(null),[h,v]=(0,l.useState)(!1),[N,w]=(0,l.useState)([]),[k,y]=(0,l.useState)(null),[_,S]=(0,l.useState)({provider:"",startDate:"",endDate:""}),C=(0,l.useCallback)(async({force:e=!1}={})=>{try{let t=await fetch("/api/usage/providers",{cache:"no-store"}),s=await t.json();w(s.providers||[]);let a=await f({force:e});y(a.providerNameCache)}catch(e){console.error("Failed to fetch providers:",e)}},[]),D=(0,l.useCallback)(async({force:e=!1}={})=>{i(!0);try{let a=new URLSearchParams({page:s.page.toString(),pageSize:s.pageSize.toString()});_.provider&&a.append("provider",_.provider),_.startDate&&a.append("startDate",_.startDate),_.endDate&&a.append("endDate",_.endDate),e&&a.set("_refresh",Date.now().toString());let l=await fetch(`/api/usage/request-details?${a}`,{cache:"no-store"}),r=await l.json();t(r.details||[]),n(e=>({...e,...r.pagination}))}catch(e){console.error("Failed to fetch request details:",e)}finally{i(!1)}},[s.page,s.pageSize,_]);(0,l.useEffect)(()=>{C()},[C]),(0,l.useEffect)(()=>{D()},[D]);let z=(0,l.useCallback)(async()=>{await Promise.all([C({force:!0}),D({force:!0})])},[C,D]);return(0,a.jsxs)("div",{className:"flex min-w-0 flex-col gap-6",children:[(0,a.jsx)(o.default,{padding:"md",children:(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-col gap-2",children:[(0,a.jsx)("label",{htmlFor:"provider-filter",className:"text-sm font-medium text-text-main",children:"Provider"}),(0,a.jsxs)("select",{id:"provider-filter",value:_.provider,onChange:e=>S({..._,provider:e.target.value}),className:(0,c.cn)("h-9 px-3 rounded-lg border border-black/10 dark:border-white/10 bg-surface","text-sm text-text-main focus:outline-none focus:ring-2 focus:ring-primary/20","w-full min-w-0 cursor-pointer"),style:{colorScheme:"auto"},children:[(0,a.jsx)("option",{value:"",children:"All Providers"}),N.map(e=>(0,a.jsx)("option",{value:e.id,children:e.name},e.id))]})]}),(0,a.jsxs)("div",{className:"flex min-w-0 flex-col gap-2",children:[(0,a.jsx)("label",{htmlFor:"start-date-filter",className:"text-sm font-medium text-text-main",children:"Start Date"}),(0,a.jsx)("input",{id:"start-date-filter",type:"datetime-local",value:_.startDate,onChange:e=>S({..._,startDate:e.target.value}),className:(0,c.cn)("h-9 px-3 rounded-lg border border-black/10 dark:border-white/10 bg-surface","w-full min-w-0 text-sm text-text-main focus:outline-none focus:ring-2 focus:ring-primary/20")})]}),(0,a.jsxs)("div",{className:"flex min-w-0 flex-col gap-2",children:[(0,a.jsx)("label",{htmlFor:"end-date-filter",className:"text-sm font-medium text-text-main",children:"End Date"}),(0,a.jsx)("input",{id:"end-date-filter",type:"datetime-local",value:_.endDate,onChange:e=>S({..._,endDate:e.target.value}),className:(0,c.cn)("h-9 px-3 rounded-lg border border-black/10 dark:border-white/10 bg-surface","w-full min-w-0 text-sm text-text-main focus:outline-none focus:ring-2 focus:ring-primary/20")})]}),(0,a.jsxs)("div",{className:"flex min-w-0 flex-col gap-2 sm:col-span-2 lg:col-span-1",children:[(0,a.jsx)("span",{className:"hidden text-sm font-medium text-text-main opacity-0 lg:block","aria-hidden":"true",children:"Actions"}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,a.jsx)(d.default,{variant:"outline",onClick:z,loading:r,className:"w-full",icon:"refresh",children:"Refresh"}),(0,a.jsx)(d.default,{variant:"ghost",onClick:()=>{S({provider:"",startDate:"",endDate:""})},disabled:!_.provider&&!_.startDate&&!_.endDate,className:"w-full",children:"Clear"})]})]})]})}),(0,a.jsxs)(o.default,{padding:"none",children:[(0,a.jsx)("div",{className:"overflow-x-auto",children:(0,a.jsxs)("table",{className:"w-full min-w-[880px]",children:[(0,a.jsx)("thead",{children:(0,a.jsxs)("tr",{className:"border-b border-black/5 dark:border-white/5",children:[(0,a.jsx)("th",{className:"text-left p-4 text-sm font-semibold text-text-main",children:"Timestamp"}),(0,a.jsx)("th",{className:"text-left p-4 text-sm font-semibold text-text-main",children:"Model"}),(0,a.jsx)("th",{className:"text-left p-4 text-sm font-semibold text-text-main",children:"Provider"}),(0,a.jsx)("th",{className:"text-right p-4 text-sm font-semibold text-text-main",children:"Input Tokens"}),(0,a.jsx)("th",{className:"text-right p-4 text-sm font-semibold text-text-main",children:"Output Tokens"}),(0,a.jsx)("th",{className:"text-left p-4 text-sm font-semibold text-text-main",children:"Latency"}),(0,a.jsx)("th",{className:"text-center p-4 text-sm font-semibold text-text-main",children:"Action"})]})}),(0,a.jsx)("tbody",{children:r?(0,a.jsx)("tr",{children:(0,a.jsx)("td",{colSpan:"7",className:"p-8 text-center text-text-muted",children:(0,a.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,a.jsx)("span",{className:"material-symbols-outlined animate-spin text-[20px]",children:"progress_activity"}),"Loading..."]})})}):0===e.length?(0,a.jsx)("tr",{children:(0,a.jsx)("td",{colSpan:"7",className:"p-8 text-center text-text-muted",children:"No request details found"})}):e.map((e,t)=>(0,a.jsxs)("tr",{className:"border-b border-black/5 dark:border-white/5 last:border-b-0 hover:bg-black/[0.02] dark:hover:bg-white/[0.02] transition-colors",children:[(0,a.jsx)("td",{className:"whitespace-nowrap p-4 text-sm text-text-main",children:new Date(e.timestamp).toLocaleString()}),(0,a.jsx)("td",{className:"max-w-[260px] truncate p-4 font-mono text-sm text-text-main",children:e.model}),(0,a.jsx)("td",{className:"max-w-[180px] truncate p-4 text-sm text-text-main",children:(0,a.jsx)("span",{className:"font-medium",children:b(e.provider,k)})}),(0,a.jsx)("td",{className:"p-4 text-sm text-text-main text-right font-mono",children:j(e.tokens).toLocaleString()}),(0,a.jsx)("td",{className:"p-4 text-sm text-text-main text-right font-mono",children:e.tokens?.completion_tokens?.toLocaleString()||0}),(0,a.jsx)("td",{className:"p-4 text-sm text-text-muted",children:(0,a.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,a.jsxs)("div",{children:["TTFT: ",(0,a.jsxs)("span",{className:"font-mono",children:[e.latency?.ttft||0,"ms"]})]}),(0,a.jsxs)("div",{children:["Total: ",(0,a.jsxs)("span",{className:"font-mono",children:[e.latency?.total||0,"ms"]})]})]})}),(0,a.jsx)("td",{className:"p-4 text-center",children:(0,a.jsx)(d.default,{variant:"outline",size:"sm",onClick:()=>{p(e),v(!0)},children:"Detail"})})]},`${e.id}-${t}`))})]})}),!r&&e.length>0&&(0,a.jsx)("div",{className:"border-t border-black/5 dark:border-white/5",children:(0,a.jsx)(m,{currentPage:s.page,pageSize:s.pageSize,totalItems:s.totalItems,onPageChange:e=>{n(t=>({...t,page:e}))},onPageSizeChange:e=>{n(t=>({...t,pageSize:e,page:1}))}})})]}),(0,a.jsx)(x,{isOpen:h,onClose:()=>v(!1),title:"Request Details",width:"lg",children:u&&(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsxs)("div",{className:"grid min-w-0 grid-cols-1 gap-4 text-sm sm:grid-cols-2",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-text-muted",children:"ID:"})," ",(0,a.jsx)("span",{className:"break-all font-mono text-text-main",children:u.id})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-text-muted",children:"Timestamp:"})," ",(0,a.jsx)("span",{className:"text-text-main",children:new Date(u.timestamp).toLocaleString()})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-text-muted",children:"Provider:"})," ",(0,a.jsx)("span",{className:"text-text-main font-medium",children:b(u.provider,k)})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-text-muted",children:"Model:"})," ",(0,a.jsx)("span",{className:"text-text-main font-mono",children:u.model})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-text-muted",children:"Status:"})," ",(0,a.jsx)("span",{className:(0,c.cn)("font-medium","success"===u.status?"text-green-600":"text-red-600"),children:u.status})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-text-muted",children:"Latency:"})," ",(0,a.jsxs)("span",{className:"text-text-main font-mono",children:["TTFT ",u.latency?.ttft||0,"ms / Total ",u.latency?.total||0,"ms"]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-text-muted",children:"Input Tokens:"})," ",(0,a.jsx)("span",{className:"text-text-main font-mono",children:j(u.tokens).toLocaleString()})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-text-muted",children:"Output Tokens:"})," ",(0,a.jsx)("span",{className:"text-text-main font-mono",children:u.tokens?.completion_tokens?.toLocaleString()||0})]})]}),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)(g,{title:"1. Client Request (Input)",defaultOpen:!0,icon:"input",children:(0,a.jsx)("pre",{className:"max-h-[300px] max-w-full overflow-auto rounded-lg border border-black/5 bg-black/5 p-3 font-mono text-xs text-text-main dark:border-white/5 dark:bg-white/5 sm:p-4",children:JSON.stringify(u.request,null,2)})}),u.providerRequest&&(0,a.jsx)(g,{title:"2. Provider Request (Translated)",icon:"translate",children:(0,a.jsx)("pre",{className:"max-h-[300px] max-w-full overflow-auto rounded-lg border border-black/5 bg-black/5 p-3 font-mono text-xs text-text-main dark:border-white/5 dark:bg-white/5 sm:p-4",children:JSON.stringify(u.providerRequest,null,2)})}),u.providerResponse&&(0,a.jsx)(g,{title:"3. Provider Response (Raw)",icon:"data_object",children:(0,a.jsx)("pre",{className:"max-h-[300px] max-w-full overflow-auto rounded-lg border border-black/5 bg-black/5 p-3 font-mono text-xs text-text-main dark:border-white/5 dark:bg-white/5 sm:p-4",children:"object"==typeof u.providerResponse?JSON.stringify(u.providerResponse,null,2):u.providerResponse})}),(0,a.jsxs)(g,{title:"4. Client Response (Final)",defaultOpen:!0,icon:"output",children:[u.response?.thinking&&(0,a.jsxs)("div",{className:"mb-4",children:[(0,a.jsxs)("h4",{className:"font-semibold text-text-main mb-2 flex items-center gap-2 text-xs uppercase tracking-wide opacity-70",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"psychology"}),"Thinking Process"]}),(0,a.jsx)("pre",{className:"max-h-[200px] max-w-full overflow-auto rounded-lg border border-amber-200 bg-amber-50 p-3 font-mono text-xs text-amber-900 dark:border-amber-800 dark:bg-amber-950/30 dark:text-amber-100 sm:p-4",children:u.response.thinking})]}),(0,a.jsx)("h4",{className:"font-semibold text-text-main mb-2 text-xs uppercase tracking-wide opacity-70",children:"Content"}),(0,a.jsx)("pre",{className:"max-h-[300px] max-w-full overflow-auto rounded-lg border border-black/5 bg-black/5 p-3 font-mono text-xs text-text-main dark:border-white/5 dark:bg-white/5 sm:p-4",children:u.response?.content||"[No content]"})]})]})]})})]})}s(62146);let N=[{value:"today",label:"Today"},{value:"24h",label:"24h"},{value:"7d",label:"7D"},{value:"30d",label:"30D"},{value:"60d",label:"60D"}];function w(){return(0,a.jsx)(l.Suspense,{fallback:(0,a.jsx)(r.Qv,{}),children:(0,a.jsx)(k,{})})}function k(){let e=(0,n.useSearchParams)(),t=(0,n.useRouter)(),{isAdmin:s}=(0,i.s)(),[o,d]=(0,l.useState)("today"),c=e.get("tab"),x=c&&["overview","logs","details"].includes(c)&&("details"!==c||s)?c:"overview";(0,l.useEffect)(()=>{if("details"===c&&!s){let s=new URLSearchParams(e);s.set("tab","overview"),t.replace(`/dashboard/usage?${s.toString()}`,{scroll:!1})}},[c,s,t,e]);let m=[{value:"overview",label:"Overview"},...s?[{value:"details",label:"Details"}]:[]];return(0,a.jsxs)("div",{className:"usage-page flex min-w-0 flex-col gap-6 px-1 sm:px-0",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",children:[(0,a.jsx)(r.Iz,{options:m,value:x,onChange:s=>{if(s===x)return;let a=new URLSearchParams(e);a.set("tab",s),t.push(`/dashboard/usage?${a.toString()}`,{scroll:!1})},className:"w-full sm:w-auto"}),"overview"===x&&(0,a.jsx)(r.Iz,{options:N,value:o,onChange:d,size:"sm",className:"w-full sm:w-auto"})]}),"overview"===x&&(0,a.jsx)(l.Suspense,{fallback:(0,a.jsx)(r.Qv,{}),children:(0,a.jsx)(r.jK,{period:o,setPeriod:d,hidePeriodSelector:!0})}),"logs"===x&&(0,a.jsx)(r.gM,{}),"details"===x&&(0,a.jsx)(v,{})]})}}},e=>{e.O(0,[8991,8243,3862,8500,9893,9959,7050,5564,5263,7033,5497,8441,3794,7358],()=>e(e.s=21007)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2825],{21007:(e,t,s)=>{Promise.resolve().then(s.bind(s,81772))},62146:()=>{},81772:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>w});var a=s(95155),l=s(12115),n=s(73321),r=s(35497),i=s(94027),o=s(84588),d=s(92542),c=s(31474);function x({isOpen:e,onClose:t,title:s,children:n,width:r="md",className:i}){let o={sm:"w-[400px]",md:"w-[500px]",lg:"w-[600px]",xl:"w-[800px]",full:"w-full"};return((0,l.useEffect)(()=>(e?document.body.style.overflow="hidden":document.body.style.overflow="",()=>{document.body.style.overflow=""}),[e]),(0,l.useEffect)(()=>{let s=s=>{"Escape"===s.key&&e&&t()};return document.addEventListener("keydown",s),()=>document.removeEventListener("keydown",s)},[e,t]),e)?(0,a.jsxs)("div",{className:"fixed inset-0 z-50",children:[(0,a.jsx)("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-[2px] fade-in cursor-pointer",onClick:t,"aria-hidden":"true"}),(0,a.jsxs)("div",{className:(0,c.cn)("absolute right-0 top-0 h-full bg-surface flex flex-col","shadow-[var(--shadow-elev)]","slide-in-right","border-l border-border-subtle",o[r]||o.md,i),children:[(0,a.jsxs)("div",{className:"flex items-center justify-between p-6 border-b border-border-subtle flex-shrink-0",children:[(0,a.jsx)("div",{className:"flex items-center gap-3",children:s&&(0,a.jsx)("h2",{className:"text-lg font-semibold text-text-main",children:s})}),(0,a.jsx)("button",{type:"button",onClick:t,className:"p-1.5 rounded-[10px] text-text-muted hover:bg-surface-2 hover:text-text-main transition-colors",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"close"})})]}),(0,a.jsx)("div",{className:"flex-1 overflow-y-auto p-6 custom-scrollbar",children:n})]})]}):null}function m({currentPage:e,pageSize:t,totalItems:s,onPageChange:l,onPageSizeChange:n,className:r}){let i=Math.ceil(s/t),o=s>0?(e-1)*t+1:0,x=Math.min(e*t,s),u=(()=>{let t=[],s=Math.max(1,e-2),a=Math.min(i,s+5-1);a-s+1<5&&(s=Math.max(1,a-5+1));for(let e=s;e<=a;e++)t.push(e);return t})();return(0,a.jsxs)("div",{className:(0,c.cn)("flex flex-col sm:flex-row items-center justify-between gap-4 py-4 px-2",r),children:[s>0&&(0,a.jsxs)("div",{className:"text-sm text-text-muted",children:["Showing ",(0,a.jsx)("span",{className:"font-medium text-text-main",children:o})," to"," ",(0,a.jsx)("span",{className:"font-medium text-text-main",children:x})," of"," ",(0,a.jsx)("span",{className:"font-medium text-text-main",children:s})," results"]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-center gap-2 sm:gap-4",children:[n&&(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-sm text-text-muted",children:"Rows:"}),(0,a.jsx)("select",{value:t,onChange:e=>n(Number(e.target.value)),className:(0,c.cn)("h-9 rounded-lg border border-black/10 dark:border-white/10 bg-surface","text-sm text-text-main focus:outline-none focus:ring-2 focus:ring-primary/20","cursor-pointer"),style:{colorScheme:"auto"},children:[10,20,50].map(e=>(0,a.jsx)("option",{value:e,children:e},e))})]}),i>1&&(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)(d.default,{variant:"outline",size:"sm",onClick:()=>l(e-1),disabled:1===e,className:"w-9 px-0",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"chevron_left"})}),u[0]>1&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(d.default,{variant:"ghost",size:"sm",onClick:()=>l(1),className:"w-9 px-0 hidden sm:inline-flex",children:"1"}),u[0]>2&&(0,a.jsx)("span",{className:"text-text-muted px-1 hidden sm:inline",children:"..."})]}),u.map(t=>(0,a.jsx)(d.default,{variant:e===t?"primary":"ghost",size:"sm",onClick:()=>l(t),className:(0,c.cn)("w-9 px-0",e===t?"inline-flex":"hidden sm:inline-flex"),children:t},t)),u[u.length-1]<i&&(0,a.jsxs)(a.Fragment,{children:[u[u.length-1]<i-1&&(0,a.jsx)("span",{className:"text-text-muted px-1 hidden sm:inline",children:"..."}),(0,a.jsx)(d.default,{variant:"ghost",size:"sm",onClick:()=>l(i),className:"w-9 px-0 hidden sm:inline-flex",children:i})]}),(0,a.jsx)(d.default,{variant:"outline",size:"sm",onClick:()=>l(e+1),disabled:e===i,className:"w-9 px-0",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"chevron_right"})})]})]})]})}var u=s(52679);let p=null,h=null;async function f({force:e=!1}={}){if(!e&&p&&h)return{providerNameCache:p,providerNodesCache:h};let t=await fetch("/api/provider-nodes",{cache:"no-store"}),s=(await t.json()).nodes||[];for(let e of(h={},s))h[e.id]=e.name;return{providerNameCache:p={...u.Q2,...h},providerNodesCache:h}}function b(e,t){if(!e||!t)return e;let s=t[e];if("string"==typeof s)return s;if(s?.name)return s.name;let a=(0,u.zt)(e)||u.Q2[e];return a?.name||e}function g({title:e,children:t,defaultOpen:s=!1,icon:n=null}){let[r,i]=(0,l.useState)(s);return(0,a.jsxs)("div",{className:"border border-black/5 dark:border-white/5 rounded-lg overflow-hidden",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>i(!r),className:"w-full flex items-center justify-between p-3 bg-black/[0.02] dark:bg-white/[0.02] hover:bg-black/[0.04] dark:hover:bg-white/[0.04] transition-colors",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[n&&(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px] text-text-muted",children:n}),(0,a.jsx)("span",{className:"font-semibold text-sm text-text-main",children:e})]}),(0,a.jsx)("span",{className:(0,c.cn)("material-symbols-outlined text-[20px] text-text-muted transition-transform duration-200",r?"rotate-90":""),children:"chevron_right"})]}),r&&(0,a.jsx)("div",{className:"p-4 border-t border-black/5 dark:border-white/5",children:t})]})}function j(e){let t=e?.display_total_input_tokens,s=Number(t);if(null!=t&&""!==t&&Number.isFinite(s)&&s>=0)return s;let a=Number(e?.prompt_tokens??e?.input_tokens??0)||0,l=Number(e?.display_cached_input_tokens??e?.cached_tokens??e?.cache_read_input_tokens??e?.input_tokens_details?.cached_tokens??e?.prompt_tokens_details?.cached_tokens??0)||0,n=Number(e?.display_cache_creation_input_tokens??e?.cache_creation_input_tokens??e?.input_tokens_details?.cache_creation_tokens??e?.prompt_tokens_details?.cache_creation_tokens??0)||0,r=e?.cache_read_input_tokens!=null||e?.cache_creation_input_tokens!=null,i=!!(e?.input_tokens_details||e?.prompt_tokens_details),o=e?.prompt_tokens!=null&&e?.input_tokens!=null&&Number(e.prompt_tokens)!==Number(e.input_tokens);return!r||i||o?a:a+l+n}function v(){let[e,t]=(0,l.useState)([]),[s,n]=(0,l.useState)({page:1,pageSize:20,totalItems:0,totalPages:0}),[r,i]=(0,l.useState)(!1),[u,p]=(0,l.useState)(null),[h,v]=(0,l.useState)(!1),[N,w]=(0,l.useState)([]),[k,y]=(0,l.useState)(null),[_,S]=(0,l.useState)({provider:"",startDate:"",endDate:""}),C=(0,l.useCallback)(async({force:e=!1}={})=>{try{let t=await fetch("/api/usage/providers",{cache:"no-store"}),s=await t.json();w(s.providers||[]);let a=await f({force:e});y(a.providerNameCache)}catch(e){console.error("Failed to fetch providers:",e)}},[]),D=(0,l.useCallback)(async({force:e=!1}={})=>{i(!0);try{let a=new URLSearchParams({page:s.page.toString(),pageSize:s.pageSize.toString()});_.provider&&a.append("provider",_.provider),_.startDate&&a.append("startDate",_.startDate),_.endDate&&a.append("endDate",_.endDate),e&&a.set("_refresh",Date.now().toString());let l=await fetch(`/api/usage/request-details?${a}`,{cache:"no-store"}),r=await l.json();t(r.details||[]),n(e=>({...e,...r.pagination}))}catch(e){console.error("Failed to fetch request details:",e)}finally{i(!1)}},[s.page,s.pageSize,_]);(0,l.useEffect)(()=>{C()},[C]),(0,l.useEffect)(()=>{D()},[D]);let z=(0,l.useCallback)(async()=>{await Promise.all([C({force:!0}),D({force:!0})])},[C,D]);return(0,a.jsxs)("div",{className:"flex min-w-0 flex-col gap-6",children:[(0,a.jsx)(o.default,{padding:"md",children:(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-col gap-2",children:[(0,a.jsx)("label",{htmlFor:"provider-filter",className:"text-sm font-medium text-text-main",children:"Provider"}),(0,a.jsxs)("select",{id:"provider-filter",value:_.provider,onChange:e=>S({..._,provider:e.target.value}),className:(0,c.cn)("h-9 px-3 rounded-lg border border-black/10 dark:border-white/10 bg-surface","text-sm text-text-main focus:outline-none focus:ring-2 focus:ring-primary/20","w-full min-w-0 cursor-pointer"),style:{colorScheme:"auto"},children:[(0,a.jsx)("option",{value:"",children:"All Providers"}),N.map(e=>(0,a.jsx)("option",{value:e.id,children:e.name},e.id))]})]}),(0,a.jsxs)("div",{className:"flex min-w-0 flex-col gap-2",children:[(0,a.jsx)("label",{htmlFor:"start-date-filter",className:"text-sm font-medium text-text-main",children:"Start Date"}),(0,a.jsx)("input",{id:"start-date-filter",type:"datetime-local",value:_.startDate,onChange:e=>S({..._,startDate:e.target.value}),className:(0,c.cn)("h-9 px-3 rounded-lg border border-black/10 dark:border-white/10 bg-surface","w-full min-w-0 text-sm text-text-main focus:outline-none focus:ring-2 focus:ring-primary/20")})]}),(0,a.jsxs)("div",{className:"flex min-w-0 flex-col gap-2",children:[(0,a.jsx)("label",{htmlFor:"end-date-filter",className:"text-sm font-medium text-text-main",children:"End Date"}),(0,a.jsx)("input",{id:"end-date-filter",type:"datetime-local",value:_.endDate,onChange:e=>S({..._,endDate:e.target.value}),className:(0,c.cn)("h-9 px-3 rounded-lg border border-black/10 dark:border-white/10 bg-surface","w-full min-w-0 text-sm text-text-main focus:outline-none focus:ring-2 focus:ring-primary/20")})]}),(0,a.jsxs)("div",{className:"flex min-w-0 flex-col gap-2 sm:col-span-2 lg:col-span-1",children:[(0,a.jsx)("span",{className:"hidden text-sm font-medium text-text-main opacity-0 lg:block","aria-hidden":"true",children:"Actions"}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,a.jsx)(d.default,{variant:"outline",onClick:z,loading:r,className:"w-full",icon:"refresh",children:"Refresh"}),(0,a.jsx)(d.default,{variant:"ghost",onClick:()=>{S({provider:"",startDate:"",endDate:""})},disabled:!_.provider&&!_.startDate&&!_.endDate,className:"w-full",children:"Clear"})]})]})]})}),(0,a.jsxs)(o.default,{padding:"none",children:[(0,a.jsx)("div",{className:"overflow-x-auto",children:(0,a.jsxs)("table",{className:"w-full min-w-[880px]",children:[(0,a.jsx)("thead",{children:(0,a.jsxs)("tr",{className:"border-b border-black/5 dark:border-white/5",children:[(0,a.jsx)("th",{className:"text-left p-4 text-sm font-semibold text-text-main",children:"Timestamp"}),(0,a.jsx)("th",{className:"text-left p-4 text-sm font-semibold text-text-main",children:"Model"}),(0,a.jsx)("th",{className:"text-left p-4 text-sm font-semibold text-text-main",children:"Provider"}),(0,a.jsx)("th",{className:"text-right p-4 text-sm font-semibold text-text-main",children:"Input Tokens"}),(0,a.jsx)("th",{className:"text-right p-4 text-sm font-semibold text-text-main",children:"Output Tokens"}),(0,a.jsx)("th",{className:"text-left p-4 text-sm font-semibold text-text-main",children:"Latency"}),(0,a.jsx)("th",{className:"text-center p-4 text-sm font-semibold text-text-main",children:"Action"})]})}),(0,a.jsx)("tbody",{children:r?(0,a.jsx)("tr",{children:(0,a.jsx)("td",{colSpan:"7",className:"p-8 text-center text-text-muted",children:(0,a.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,a.jsx)("span",{className:"material-symbols-outlined animate-spin text-[20px]",children:"progress_activity"}),"Loading..."]})})}):0===e.length?(0,a.jsx)("tr",{children:(0,a.jsx)("td",{colSpan:"7",className:"p-8 text-center text-text-muted",children:"No request details found"})}):e.map((e,t)=>(0,a.jsxs)("tr",{className:"border-b border-black/5 dark:border-white/5 last:border-b-0 hover:bg-black/[0.02] dark:hover:bg-white/[0.02] transition-colors",children:[(0,a.jsx)("td",{className:"whitespace-nowrap p-4 text-sm text-text-main",children:new Date(e.timestamp).toLocaleString()}),(0,a.jsx)("td",{className:"max-w-[260px] truncate p-4 font-mono text-sm text-text-main",children:e.model}),(0,a.jsx)("td",{className:"max-w-[180px] truncate p-4 text-sm text-text-main",children:(0,a.jsx)("span",{className:"font-medium",children:b(e.provider,k)})}),(0,a.jsx)("td",{className:"p-4 text-sm text-text-main text-right font-mono",children:j(e.tokens).toLocaleString()}),(0,a.jsx)("td",{className:"p-4 text-sm text-text-main text-right font-mono",children:e.tokens?.completion_tokens?.toLocaleString()||0}),(0,a.jsx)("td",{className:"p-4 text-sm text-text-muted",children:(0,a.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,a.jsxs)("div",{children:["TTFT: ",(0,a.jsxs)("span",{className:"font-mono",children:[e.latency?.ttft||0,"ms"]})]}),(0,a.jsxs)("div",{children:["Total: ",(0,a.jsxs)("span",{className:"font-mono",children:[e.latency?.total||0,"ms"]})]})]})}),(0,a.jsx)("td",{className:"p-4 text-center",children:(0,a.jsx)(d.default,{variant:"outline",size:"sm",onClick:()=>{p(e),v(!0)},children:"Detail"})})]},`${e.id}-${t}`))})]})}),!r&&e.length>0&&(0,a.jsx)("div",{className:"border-t border-black/5 dark:border-white/5",children:(0,a.jsx)(m,{currentPage:s.page,pageSize:s.pageSize,totalItems:s.totalItems,onPageChange:e=>{n(t=>({...t,page:e}))},onPageSizeChange:e=>{n(t=>({...t,pageSize:e,page:1}))}})})]}),(0,a.jsx)(x,{isOpen:h,onClose:()=>v(!1),title:"Request Details",width:"lg",children:u&&(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsxs)("div",{className:"grid min-w-0 grid-cols-1 gap-4 text-sm sm:grid-cols-2",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-text-muted",children:"ID:"})," ",(0,a.jsx)("span",{className:"break-all font-mono text-text-main",children:u.id})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-text-muted",children:"Timestamp:"})," ",(0,a.jsx)("span",{className:"text-text-main",children:new Date(u.timestamp).toLocaleString()})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-text-muted",children:"Provider:"})," ",(0,a.jsx)("span",{className:"text-text-main font-medium",children:b(u.provider,k)})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-text-muted",children:"Model:"})," ",(0,a.jsx)("span",{className:"text-text-main font-mono",children:u.model})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-text-muted",children:"Status:"})," ",(0,a.jsx)("span",{className:(0,c.cn)("font-medium","success"===u.status?"text-green-600":"text-red-600"),children:u.status})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-text-muted",children:"Latency:"})," ",(0,a.jsxs)("span",{className:"text-text-main font-mono",children:["TTFT ",u.latency?.ttft||0,"ms / Total ",u.latency?.total||0,"ms"]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-text-muted",children:"Input Tokens:"})," ",(0,a.jsx)("span",{className:"text-text-main font-mono",children:j(u.tokens).toLocaleString()})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-text-muted",children:"Output Tokens:"})," ",(0,a.jsx)("span",{className:"text-text-main font-mono",children:u.tokens?.completion_tokens?.toLocaleString()||0})]})]}),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)(g,{title:"1. Client Request (Input)",defaultOpen:!0,icon:"input",children:(0,a.jsx)("pre",{className:"max-h-[300px] max-w-full overflow-auto rounded-lg border border-black/5 bg-black/5 p-3 font-mono text-xs text-text-main dark:border-white/5 dark:bg-white/5 sm:p-4",children:JSON.stringify(u.request,null,2)})}),u.providerRequest&&(0,a.jsx)(g,{title:"2. Provider Request (Translated)",icon:"translate",children:(0,a.jsx)("pre",{className:"max-h-[300px] max-w-full overflow-auto rounded-lg border border-black/5 bg-black/5 p-3 font-mono text-xs text-text-main dark:border-white/5 dark:bg-white/5 sm:p-4",children:JSON.stringify(u.providerRequest,null,2)})}),u.providerResponse&&(0,a.jsx)(g,{title:"3. Provider Response (Raw)",icon:"data_object",children:(0,a.jsx)("pre",{className:"max-h-[300px] max-w-full overflow-auto rounded-lg border border-black/5 bg-black/5 p-3 font-mono text-xs text-text-main dark:border-white/5 dark:bg-white/5 sm:p-4",children:"object"==typeof u.providerResponse?JSON.stringify(u.providerResponse,null,2):u.providerResponse})}),(0,a.jsxs)(g,{title:"4. Client Response (Final)",defaultOpen:!0,icon:"output",children:[u.response?.thinking&&(0,a.jsxs)("div",{className:"mb-4",children:[(0,a.jsxs)("h4",{className:"font-semibold text-text-main mb-2 flex items-center gap-2 text-xs uppercase tracking-wide opacity-70",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"psychology"}),"Thinking Process"]}),(0,a.jsx)("pre",{className:"max-h-[200px] max-w-full overflow-auto rounded-lg border border-amber-200 bg-amber-50 p-3 font-mono text-xs text-amber-900 dark:border-amber-800 dark:bg-amber-950/30 dark:text-amber-100 sm:p-4",children:u.response.thinking})]}),(0,a.jsx)("h4",{className:"font-semibold text-text-main mb-2 text-xs uppercase tracking-wide opacity-70",children:"Content"}),(0,a.jsx)("pre",{className:"max-h-[300px] max-w-full overflow-auto rounded-lg border border-black/5 bg-black/5 p-3 font-mono text-xs text-text-main dark:border-white/5 dark:bg-white/5 sm:p-4",children:u.response?.content||"[No content]"})]})]})]})})]})}s(62146);let N=[{value:"today",label:"Today"},{value:"24h",label:"24h"},{value:"7d",label:"7D"},{value:"30d",label:"30D"},{value:"60d",label:"60D"}];function w(){return(0,a.jsx)(l.Suspense,{fallback:(0,a.jsx)(r.Qv,{}),children:(0,a.jsx)(k,{})})}function k(){let e=(0,n.useSearchParams)(),t=(0,n.useRouter)(),{isAdmin:s}=(0,i.s)(),[o,d]=(0,l.useState)("today"),c=e.get("tab"),x=c&&["overview","logs","details"].includes(c)&&("details"!==c||s)?c:"overview";(0,l.useEffect)(()=>{if("details"===c&&!s){let s=new URLSearchParams(e);s.set("tab","overview"),t.replace(`/dashboard/usage?${s.toString()}`,{scroll:!1})}},[c,s,t,e]);let m=[{value:"overview",label:"Overview"},...s?[{value:"details",label:"Details"}]:[]];return(0,a.jsxs)("div",{className:"usage-page flex min-w-0 flex-col gap-6 px-1 sm:px-0",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",children:[(0,a.jsx)(r.Iz,{options:m,value:x,onChange:s=>{if(s===x)return;let a=new URLSearchParams(e);a.set("tab",s),t.push(`/dashboard/usage?${a.toString()}`,{scroll:!1})},className:"w-full sm:w-auto"}),"overview"===x&&(0,a.jsx)(r.Iz,{options:N,value:o,onChange:d,size:"sm",className:"w-full sm:w-auto"})]}),"overview"===x&&(0,a.jsx)(l.Suspense,{fallback:(0,a.jsx)(r.Qv,{}),children:(0,a.jsx)(r.jK,{period:o,setPeriod:d,hidePeriodSelector:!0})}),"logs"===x&&(0,a.jsx)(r.gM,{}),"details"===x&&(0,a.jsx)(v,{})]})}}},e=>{e.O(0,[6373,8243,3862,8500,9893,9959,7050,5564,5263,7033,5497,8441,3794,7358],()=>e(e.s=21007)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9305],{29776:(e,s,n)=>{Promise.resolve().then(n.bind(n,96748)),Promise.resolve().then(n.bind(n,87600)),Promise.resolve().then(n.bind(n,25752)),Promise.resolve().then(n.bind(n,56319)),Promise.resolve().then(n.bind(n,56061)),Promise.resolve().then(n.bind(n,70255)),Promise.resolve().then(n.bind(n,44656)),Promise.resolve().then(n.bind(n,92542)),Promise.resolve().then(n.bind(n,84588)),Promise.resolve().then(n.bind(n,40197)),Promise.resolve().then(n.bind(n,45455)),Promise.resolve().then(n.bind(n,30815)),Promise.resolve().then(n.bind(n,73579)),Promise.resolve().then(n.bind(n,92173)),Promise.resolve().then(n.bind(n,95088)),Promise.resolve().then(n.bind(n,74891)),Promise.resolve().then(n.bind(n,80752)),Promise.resolve().then(n.bind(n,23936)),Promise.resolve().then(n.bind(n,11910)),Promise.resolve().then(n.bind(n,61500)),Promise.resolve().then(n.bind(n,62899)),Promise.resolve().then(n.bind(n,94230)),Promise.resolve().then(n.bind(n,21931)),Promise.resolve().then(n.bind(n,91450)),Promise.resolve().then(n.bind(n,86671)),Promise.resolve().then(n.bind(n,25086)),Promise.resolve().then(n.bind(n,28815)),Promise.resolve().then(n.bind(n,28058)),Promise.resolve().then(n.bind(n,81127)),Promise.resolve().then(n.bind(n,72908)),Promise.resolve().then(n.bind(n,36548)),Promise.resolve().then(n.bind(n,4823)),Promise.resolve().then(n.bind(n,78314)),Promise.resolve().then(n.bind(n,6592)),Promise.resolve().then(n.bind(n,51825)),Promise.resolve().then(n.bind(n,23615)),Promise.resolve().then(n.bind(n,28067)),Promise.resolve().then(n.bind(n,98)),Promise.resolve().then(n.bind(n,92622)),Promise.resolve().then(n.bind(n,21110)),Promise.resolve().then(n.bind(n,38587)),Promise.resolve().then(n.bind(n,98542)),Promise.resolve().then(n.bind(n,97677)),Promise.resolve().then(n.bind(n,4809))}},e=>{e.O(0,[8991,3862,8500,9893,9959,7050,5564,5263,7033,5497,8441,3794,7358],()=>e(e.s=29776)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9305],{29776:(e,s,n)=>{Promise.resolve().then(n.bind(n,96748)),Promise.resolve().then(n.bind(n,87600)),Promise.resolve().then(n.bind(n,25752)),Promise.resolve().then(n.bind(n,56319)),Promise.resolve().then(n.bind(n,56061)),Promise.resolve().then(n.bind(n,70255)),Promise.resolve().then(n.bind(n,44656)),Promise.resolve().then(n.bind(n,92542)),Promise.resolve().then(n.bind(n,84588)),Promise.resolve().then(n.bind(n,40197)),Promise.resolve().then(n.bind(n,45455)),Promise.resolve().then(n.bind(n,30815)),Promise.resolve().then(n.bind(n,73579)),Promise.resolve().then(n.bind(n,92173)),Promise.resolve().then(n.bind(n,95088)),Promise.resolve().then(n.bind(n,74891)),Promise.resolve().then(n.bind(n,80752)),Promise.resolve().then(n.bind(n,23936)),Promise.resolve().then(n.bind(n,11910)),Promise.resolve().then(n.bind(n,61500)),Promise.resolve().then(n.bind(n,62899)),Promise.resolve().then(n.bind(n,94230)),Promise.resolve().then(n.bind(n,21931)),Promise.resolve().then(n.bind(n,91450)),Promise.resolve().then(n.bind(n,86671)),Promise.resolve().then(n.bind(n,25086)),Promise.resolve().then(n.bind(n,28815)),Promise.resolve().then(n.bind(n,28058)),Promise.resolve().then(n.bind(n,81127)),Promise.resolve().then(n.bind(n,72908)),Promise.resolve().then(n.bind(n,36548)),Promise.resolve().then(n.bind(n,4823)),Promise.resolve().then(n.bind(n,78314)),Promise.resolve().then(n.bind(n,6592)),Promise.resolve().then(n.bind(n,51825)),Promise.resolve().then(n.bind(n,23615)),Promise.resolve().then(n.bind(n,28067)),Promise.resolve().then(n.bind(n,98)),Promise.resolve().then(n.bind(n,92622)),Promise.resolve().then(n.bind(n,21110)),Promise.resolve().then(n.bind(n,38587)),Promise.resolve().then(n.bind(n,98542)),Promise.resolve().then(n.bind(n,97677)),Promise.resolve().then(n.bind(n,4809))}},e=>{e.O(0,[6373,3862,8500,9893,9959,7050,5564,5263,7033,5497,8441,3794,7358],()=>e(e.s=29776)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (()=>{"use strict";var e,t,r,o,n,a,i,u,l={},c={};function s(e){var t=c[e];if(void 0!==t)return t.exports;var r=c[e]={exports:{}},o=!0;try{l[e].call(r.exports,r,r.exports,s),o=!1}finally{o&&delete c[e]}return r.exports}s.m=l,e=[],s.O=(t,r,o,n)=>{if(r){n=n||0;for(var a=e.length;a>0&&e[a-1][2]>n;a--)e[a]=e[a-1];e[a]=[r,o,n];return}for(var i=1/0,a=0;a<e.length;a++){for(var[r,o,n]=e[a],u=!0,l=0;l<r.length;l++)(!1&n||i>=n)&&Object.keys(s.O).every(e=>s.O[e](r[l]))?r.splice(l--,1):(u=!1,n<i&&(i=n));if(u){e.splice(a--,1);var c=o();void 0!==c&&(t=c)}}return t},s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,s.t=function(e,o){if(1&o&&(e=this(e)),8&o||"object"==typeof e&&e&&(4&o&&e.__esModule||16&o&&"function"==typeof e.then))return e;var n=Object.create(null);s.r(n);var a={};t=t||[null,r({}),r([]),r(r)];for(var i=2&o&&e;"object"==typeof i&&!~t.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach(t=>a[t]=()=>e[t]);return a.default=()=>e,s.d(n,a),n},s.d=(e,t)=>{for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},s.f={},s.e=e=>Promise.all(Object.keys(s.f).reduce((t,r)=>(s.f[r](e,t),t),[])),s.u=e=>"static/chunks/"+e+"."+({1966:"b8f83f7ba376c962",3899:"d4d0ae202f418161",8202:"1ffc6ce531e066ce"})[e]+".js",s.miniCssF=e=>{},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o={},s.l=(e,t,r,n)=>{if(o[e])return void o[e].push(t);if(void 0!==r)for(var a,i,u=document.getElementsByTagName("script"),l=0;l<u.length;l++){var c=u[l];if(c.getAttribute("src")==e||c.getAttribute("data-webpack")=="_N_E:"+r){a=c;break}}a||(i=!0,(a=document.createElement("script")).charset="utf-8",a.timeout=120,s.nc&&a.setAttribute("nonce",s.nc),a.setAttribute("data-webpack","_N_E:"+r),a.src=s.tu(e)),o[e]=[t];var f=(t,r)=>{a.onerror=a.onload=null,clearTimeout(d);var n=o[e];if(delete o[e],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach(e=>e(r)),t)return t(r)},d=setTimeout(f.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=f.bind(null,a.onerror),a.onload=f.bind(null,a.onload),i&&document.head.appendChild(a)},s.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.tt=()=>(void 0===n&&(n={createScriptURL:e=>e},"u">typeof trustedTypes&&trustedTypes.createPolicy&&(n=trustedTypes.createPolicy("nextjs#bundler",n))),n),s.tu=e=>s.tt().createScriptURL(e),s.p="/_next/",a={8068:0,4652:0,3334:0,8991:0,646:0,8243:0,3483:0},s.f.j=(e,t)=>{var r=s.o(a,e)?a[e]:void 0;if(0!==r)if(r)t.push(r[2]);else if(/^(8(068|243|991)|3334|3483|4652|646)$/.test(e))a[e]=0;else{var o=new Promise((t,o)=>r=a[e]=[t,o]);t.push(r[2]=o);var n=s.p+s.u(e),i=Error();s.l(n,t=>{if(s.o(a,e)&&(0!==(r=a[e])&&(a[e]=void 0),r)){var o=t&&("load"===t.type?"missing":t.type),n=t&&t.target&&t.target.src;i.message="Loading chunk "+e+" failed.\n("+o+": "+n+")",i.name="ChunkLoadError",i.type=o,i.request=n,r[1](i)}},"chunk-"+e,e)}},s.O.j=e=>0===a[e],i=(e,t)=>{var r,o,[n,i,u]=t,l=0;if(n.some(e=>0!==a[e])){for(r in i)s.o(i,r)&&(s.m[r]=i[r]);if(u)var c=u(s)}for(e&&e(t);l<n.length;l++)o=n[l],s.o(a,o)&&a[o]&&a[o][0](),a[o]=0;return s.O(c)},(u=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(i.bind(null,0)),u.push=i.bind(null,u.push.bind(u))})();
1
+ (()=>{"use strict";var e,t,r,o,n,a,i,u,l={},c={};function s(e){var t=c[e];if(void 0!==t)return t.exports;var r=c[e]={exports:{}},o=!0;try{l[e].call(r.exports,r,r.exports,s),o=!1}finally{o&&delete c[e]}return r.exports}s.m=l,e=[],s.O=(t,r,o,n)=>{if(r){n=n||0;for(var a=e.length;a>0&&e[a-1][2]>n;a--)e[a]=e[a-1];e[a]=[r,o,n];return}for(var i=1/0,a=0;a<e.length;a++){for(var[r,o,n]=e[a],u=!0,l=0;l<r.length;l++)(!1&n||i>=n)&&Object.keys(s.O).every(e=>s.O[e](r[l]))?r.splice(l--,1):(u=!1,n<i&&(i=n));if(u){e.splice(a--,1);var c=o();void 0!==c&&(t=c)}}return t},s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,s.t=function(e,o){if(1&o&&(e=this(e)),8&o||"object"==typeof e&&e&&(4&o&&e.__esModule||16&o&&"function"==typeof e.then))return e;var n=Object.create(null);s.r(n);var a={};t=t||[null,r({}),r([]),r(r)];for(var i=2&o&&e;"object"==typeof i&&!~t.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach(t=>a[t]=()=>e[t]);return a.default=()=>e,s.d(n,a),n},s.d=(e,t)=>{for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},s.f={},s.e=e=>Promise.all(Object.keys(s.f).reduce((t,r)=>(s.f[r](e,t),t),[])),s.u=e=>"static/chunks/"+e+"."+({1966:"b8f83f7ba376c962",3899:"d4d0ae202f418161",8202:"1ffc6ce531e066ce"})[e]+".js",s.miniCssF=e=>{},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o={},s.l=(e,t,r,n)=>{if(o[e])return void o[e].push(t);if(void 0!==r)for(var a,i,u=document.getElementsByTagName("script"),l=0;l<u.length;l++){var c=u[l];if(c.getAttribute("src")==e||c.getAttribute("data-webpack")=="_N_E:"+r){a=c;break}}a||(i=!0,(a=document.createElement("script")).charset="utf-8",a.timeout=120,s.nc&&a.setAttribute("nonce",s.nc),a.setAttribute("data-webpack","_N_E:"+r),a.src=s.tu(e)),o[e]=[t];var f=(t,r)=>{a.onerror=a.onload=null,clearTimeout(d);var n=o[e];if(delete o[e],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach(e=>e(r)),t)return t(r)},d=setTimeout(f.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=f.bind(null,a.onerror),a.onload=f.bind(null,a.onload),i&&document.head.appendChild(a)},s.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.tt=()=>(void 0===n&&(n={createScriptURL:e=>e},"u">typeof trustedTypes&&trustedTypes.createPolicy&&(n=trustedTypes.createPolicy("nextjs#bundler",n))),n),s.tu=e=>s.tt().createScriptURL(e),s.p="/_next/",a={8068:0,4652:0,3334:0,6373:0,646:0,8243:0,3483:0},s.f.j=(e,t)=>{var r=s.o(a,e)?a[e]:void 0;if(0!==r)if(r)t.push(r[2]);else if(/^((348|637|824)3|3334|4652|646|8068)$/.test(e))a[e]=0;else{var o=new Promise((t,o)=>r=a[e]=[t,o]);t.push(r[2]=o);var n=s.p+s.u(e),i=Error();s.l(n,t=>{if(s.o(a,e)&&(0!==(r=a[e])&&(a[e]=void 0),r)){var o=t&&("load"===t.type?"missing":t.type),n=t&&t.target&&t.target.src;i.message="Loading chunk "+e+" failed.\n("+o+": "+n+")",i.name="ChunkLoadError",i.type=o,i.request=n,r[1](i)}},"chunk-"+e,e)}},s.O.j=e=>0===a[e],i=(e,t)=>{var r,o,[n,i,u]=t,l=0;if(n.some(e=>0!==a[e])){for(r in i)s.o(i,r)&&(s.m[r]=i[r]);if(u)var c=u(s)}for(e&&e(t);l<n.length;l++)o=n[l],s.o(a,o)&&a[o]&&a[o][0](),a[o]=0;return s.O(c)},(u=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(i.bind(null,0)),u.push=i.bind(null,u.push.bind(u))})();