@jheavenknows/bluerouter 5.5.35 → 5.5.37

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 (480) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +39 -39
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/prerender-manifest.json +3 -3
  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 +13 -2
  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/logs/console/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/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/personalcloudcombo/page.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudcombo/page_client-reference-manifest.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovider/page_client-reference-manifest.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovidermonitor/page_client-reference-manifest.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalquota/page_client-reference-manifest.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page_client-reference-manifest.js +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/embedding/[id]/page_client-reference-manifest.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/embedding/page_client-reference-manifest.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/image/[id]/page_client-reference-manifest.js +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/image/page_client-reference-manifest.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/image-to-text/[id]/page_client-reference-manifest.js +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/image-to-text/page_client-reference-manifest.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/stt/[id]/page_client-reference-manifest.js +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/stt/page_client-reference-manifest.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/tts/[id]/page_client-reference-manifest.js +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/tts/page_client-reference-manifest.js +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/web/[kind]/[id]/page_client-reference-manifest.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/web/page_client-reference-manifest.js +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/resource-monitor/page.js +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/resource-monitor/page_client-reference-manifest.js +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  64. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  65. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  66. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  67. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  68. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  69. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  70. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  71. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  72. package/app/.next-cli-build/server/app/_not-found.rsc +5 -5
  73. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +5 -5
  74. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -5
  75. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  76. package/app/.next-cli-build/server/app/api/audit-proxy/ca/route.js.nft.json +1 -1
  77. package/app/.next-cli-build/server/app/api/audit-proxy/me/route.js.nft.json +1 -1
  78. package/app/.next-cli-build/server/app/api/audit-proxy/root-ca/route.js.nft.json +1 -1
  79. package/app/.next-cli-build/server/app/api/audit-proxy/route.js.nft.json +1 -1
  80. package/app/.next-cli-build/server/app/api/audit-proxy/users/route.js.nft.json +1 -1
  81. package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js.nft.json +1 -1
  82. package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js.nft.json +1 -1
  83. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  84. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  85. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  86. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  87. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  88. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  89. package/app/.next-cli-build/server/app/api/auth/view-mode/route.js.nft.json +1 -1
  90. package/app/.next-cli-build/server/app/api/branding/[asset]/route.js.nft.json +1 -1
  91. package/app/.next-cli-build/server/app/api/branding/route.js.nft.json +1 -1
  92. package/app/.next-cli-build/server/app/api/branding/upload/route.js.nft.json +1 -1
  93. package/app/.next-cli-build/server/app/api/cli-model-profiles/cloud-models/route.js.nft.json +1 -1
  94. package/app/.next-cli-build/server/app/api/cli-model-profiles/model-catalog/route.js.nft.json +1 -1
  95. package/app/.next-cli-build/server/app/api/cli-model-profiles/route.js.nft.json +1 -1
  96. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
  97. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  98. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  99. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  100. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  101. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  102. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  103. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  104. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  105. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  106. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  107. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  108. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  109. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  110. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  111. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  112. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  113. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  114. package/app/.next-cli-build/server/app/api/cli-tools/qwen-settings/route.js +1 -1
  115. package/app/.next-cli-build/server/app/api/cluster/config/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/cluster/heartbeat/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/cluster/peers/[id]/command/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/cluster/peers/[id]/route.js.nft.json +1 -1
  119. package/app/.next-cli-build/server/app/api/cluster/peers/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/cluster/snapshot/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/cluster/sync/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/cluster/test/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/codex-catalog/download/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/codex-catalog/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/codex-catalog/upload/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/dashboard/ai-power-index/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/dashboard/analytics/ai-models/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/dashboard/analytics/analyze/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/dashboard/analytics/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/dashboard/combos/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/dashboard/endpoint/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/options/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/dashboard/token-saver/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/keys/[id]/caveman-test/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  153. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  155. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/oauth/grok-cli/device-code/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/oauth/grok-cli/poll/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/personal-cloud-combos/[id]/api-key-models/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/personal-cloud-combos/[id]/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/personal-cloud-combos/route.js +1 -1
  169. package/app/.next-cli-build/server/app/api/personal-cloud-combos/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/api-key-models/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/import-models/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/models/[...routeModel]/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/move/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/usage/route.js.nft.json +1 -1
  176. package/app/.next-cli-build/server/app/api/personal-cloud-providers/account-emails/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/personal-cloud-providers/account-policy/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/personal-cloud-providers/client/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/personal-cloud-providers/monitor/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/personal-cloud-providers/pending-accounts/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/personal-cloud-providers/permissions/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/personal-cloud-providers/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/personal-cloud-providers/routing/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/personal-cloud-providers/shares/route.js.nft.json +1 -1
  185. package/app/.next-cli-build/server/app/api/personal-cloud-providers/visibility/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/personal-oauth-email/verify/route.js.nft.json +1 -1
  187. package/app/.next-cli-build/server/app/api/pricing/catalog/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/pricing/recalculate/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/provider-health/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/provider-nodes/combo-references/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/provider-nodes/custom-embedding/manage/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/provider-nodes/openai-compatible/manage/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  200. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  203. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  212. package/app/.next-cli-build/server/app/api/resource-monitor/[id]/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/resource-monitor/ai-models/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/resource-monitor/analyze/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/resource-monitor/history/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/resource-monitor/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/settings/database/export/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/settings/prompt-log-db/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/settings/smtp/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  223. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  224. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  225. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  227. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  229. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +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.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/v1/rate-limits/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 +5 -5
  259. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +5 -5
  260. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  261. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +5 -5
  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 +6 -6
  264. package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/!KGRhc2hib2FyZCk/dashboard/ai-power-index/__PAGE__.segment.rsc +6 -6
  265. package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/_full.segment.rsc +6 -6
  266. package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/_tree.segment.rsc +1 -1
  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 +9 -9
  269. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard/api-keys/__PAGE__.segment.rsc +9 -9
  270. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_full.segment.rsc +9 -9
  271. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_tree.segment.rsc +1 -1
  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 +7 -7
  274. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +7 -7
  275. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +7 -7
  276. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
  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 +8 -8
  279. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/model-profiles/__PAGE__.segment.rsc +8 -8
  280. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/_full.segment.rsc +8 -8
  281. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/_tree.segment.rsc +1 -1
  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 +7 -7
  284. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +7 -7
  285. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +7 -7
  286. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  287. package/app/.next-cli-build/server/app/dashboard/cluster.html +1 -1
  288. package/app/.next-cli-build/server/app/dashboard/cluster.rsc +6 -6
  289. package/app/.next-cli-build/server/app/dashboard/cluster.segments/!KGRhc2hib2FyZCk/dashboard/cluster/__PAGE__.segment.rsc +6 -6
  290. package/app/.next-cli-build/server/app/dashboard/cluster.segments/_full.segment.rsc +6 -6
  291. package/app/.next-cli-build/server/app/dashboard/cluster.segments/_tree.segment.rsc +1 -1
  292. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  293. package/app/.next-cli-build/server/app/dashboard/combos.rsc +7 -7
  294. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +7 -7
  295. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +7 -7
  296. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  297. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  298. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +7 -7
  299. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +7 -7
  300. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +7 -7
  301. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  302. package/app/.next-cli-build/server/app/dashboard/logs.html +1 -1
  303. package/app/.next-cli-build/server/app/dashboard/logs.rsc +6 -6
  304. package/app/.next-cli-build/server/app/dashboard/logs.segments/!KGRhc2hib2FyZCk/dashboard/logs/__PAGE__.segment.rsc +6 -6
  305. package/app/.next-cli-build/server/app/dashboard/logs.segments/_full.segment.rsc +6 -6
  306. package/app/.next-cli-build/server/app/dashboard/logs.segments/_tree.segment.rsc +1 -1
  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 +7 -7
  309. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +7 -7
  310. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +7 -7
  311. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
  312. package/app/.next-cli-build/server/app/dashboard/personal.html +1 -1
  313. package/app/.next-cli-build/server/app/dashboard/personal.rsc +7 -7
  314. package/app/.next-cli-build/server/app/dashboard/personal.segments/!KGRhc2hib2FyZCk/dashboard/personal/__PAGE__.segment.rsc +7 -7
  315. package/app/.next-cli-build/server/app/dashboard/personal.segments/_full.segment.rsc +7 -7
  316. package/app/.next-cli-build/server/app/dashboard/personal.segments/_tree.segment.rsc +1 -1
  317. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  318. package/app/.next-cli-build/server/app/dashboard/profile.rsc +7 -7
  319. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +7 -7
  320. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +7 -7
  321. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  322. package/app/.next-cli-build/server/app/dashboard/prompt-logs.html +1 -1
  323. package/app/.next-cli-build/server/app/dashboard/prompt-logs.rsc +6 -6
  324. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs/__PAGE__.segment.rsc +6 -6
  325. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_full.segment.rsc +6 -6
  326. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_tree.segment.rsc +1 -1
  327. package/app/.next-cli-build/server/app/dashboard/provider-health.html +1 -1
  328. package/app/.next-cli-build/server/app/dashboard/provider-health.rsc +6 -6
  329. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health/__PAGE__.segment.rsc +6 -6
  330. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_full.segment.rsc +6 -6
  331. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_tree.segment.rsc +1 -1
  332. package/app/.next-cli-build/server/app/dashboard/providers/embedding.html +1 -1
  333. package/app/.next-cli-build/server/app/dashboard/providers/embedding.rsc +7 -7
  334. package/app/.next-cli-build/server/app/dashboard/providers/embedding.segments/!KGRhc2hib2FyZCk/dashboard/providers/embedding/__PAGE__.segment.rsc +7 -7
  335. package/app/.next-cli-build/server/app/dashboard/providers/embedding.segments/_full.segment.rsc +7 -7
  336. package/app/.next-cli-build/server/app/dashboard/providers/embedding.segments/_tree.segment.rsc +1 -1
  337. package/app/.next-cli-build/server/app/dashboard/providers/image-to-text.html +1 -1
  338. package/app/.next-cli-build/server/app/dashboard/providers/image-to-text.rsc +7 -7
  339. package/app/.next-cli-build/server/app/dashboard/providers/image-to-text.segments/!KGRhc2hib2FyZCk/dashboard/providers/image-to-text/__PAGE__.segment.rsc +7 -7
  340. package/app/.next-cli-build/server/app/dashboard/providers/image-to-text.segments/_full.segment.rsc +7 -7
  341. package/app/.next-cli-build/server/app/dashboard/providers/image-to-text.segments/_tree.segment.rsc +1 -1
  342. package/app/.next-cli-build/server/app/dashboard/providers/image.html +1 -1
  343. package/app/.next-cli-build/server/app/dashboard/providers/image.rsc +7 -7
  344. package/app/.next-cli-build/server/app/dashboard/providers/image.segments/!KGRhc2hib2FyZCk/dashboard/providers/image/__PAGE__.segment.rsc +7 -7
  345. package/app/.next-cli-build/server/app/dashboard/providers/image.segments/_full.segment.rsc +7 -7
  346. package/app/.next-cli-build/server/app/dashboard/providers/image.segments/_tree.segment.rsc +1 -1
  347. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  348. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +7 -7
  349. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +7 -7
  350. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +7 -7
  351. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  352. package/app/.next-cli-build/server/app/dashboard/providers/stt.html +1 -1
  353. package/app/.next-cli-build/server/app/dashboard/providers/stt.rsc +7 -7
  354. package/app/.next-cli-build/server/app/dashboard/providers/stt.segments/!KGRhc2hib2FyZCk/dashboard/providers/stt/__PAGE__.segment.rsc +7 -7
  355. package/app/.next-cli-build/server/app/dashboard/providers/stt.segments/_full.segment.rsc +7 -7
  356. package/app/.next-cli-build/server/app/dashboard/providers/stt.segments/_tree.segment.rsc +1 -1
  357. package/app/.next-cli-build/server/app/dashboard/providers/tts.html +1 -1
  358. package/app/.next-cli-build/server/app/dashboard/providers/tts.rsc +7 -7
  359. package/app/.next-cli-build/server/app/dashboard/providers/tts.segments/!KGRhc2hib2FyZCk/dashboard/providers/tts/__PAGE__.segment.rsc +7 -7
  360. package/app/.next-cli-build/server/app/dashboard/providers/tts.segments/_full.segment.rsc +7 -7
  361. package/app/.next-cli-build/server/app/dashboard/providers/tts.segments/_tree.segment.rsc +1 -1
  362. package/app/.next-cli-build/server/app/dashboard/providers/web.html +1 -1
  363. package/app/.next-cli-build/server/app/dashboard/providers/web.rsc +7 -7
  364. package/app/.next-cli-build/server/app/dashboard/providers/web.segments/!KGRhc2hib2FyZCk/dashboard/providers/web/__PAGE__.segment.rsc +7 -7
  365. package/app/.next-cli-build/server/app/dashboard/providers/web.segments/_full.segment.rsc +7 -7
  366. package/app/.next-cli-build/server/app/dashboard/providers/web.segments/_tree.segment.rsc +1 -1
  367. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  368. package/app/.next-cli-build/server/app/dashboard/providers.rsc +7 -7
  369. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +7 -7
  370. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +7 -7
  371. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  372. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  373. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +7 -7
  374. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +7 -7
  375. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +7 -7
  376. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  377. package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
  378. package/app/.next-cli-build/server/app/dashboard/quota.rsc +8 -8
  379. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +8 -8
  380. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +8 -8
  381. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  382. package/app/.next-cli-build/server/app/dashboard/resource-monitor.html +1 -1
  383. package/app/.next-cli-build/server/app/dashboard/resource-monitor.rsc +6 -6
  384. package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/!KGRhc2hib2FyZCk/dashboard/resource-monitor/__PAGE__.segment.rsc +6 -6
  385. package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/_full.segment.rsc +6 -6
  386. package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/_tree.segment.rsc +1 -1
  387. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  388. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +6 -6
  389. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing/__PAGE__.segment.rsc +6 -6
  390. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +6 -6
  391. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  392. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  393. package/app/.next-cli-build/server/app/dashboard/skills.rsc +7 -7
  394. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +7 -7
  395. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +7 -7
  396. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
  397. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  398. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +6 -6
  399. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +6 -6
  400. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +6 -6
  401. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
  402. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  403. package/app/.next-cli-build/server/app/dashboard/translator.rsc +7 -7
  404. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +7 -7
  405. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +7 -7
  406. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  407. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  408. package/app/.next-cli-build/server/app/dashboard/usage.rsc +7 -7
  409. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +7 -7
  410. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +7 -7
  411. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  412. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  413. package/app/.next-cli-build/server/app/dashboard.rsc +7 -7
  414. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +7 -7
  415. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +7 -7
  416. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  417. package/app/.next-cli-build/server/app/index.html +1 -1
  418. package/app/.next-cli-build/server/app/index.rsc +5 -5
  419. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +5 -5
  420. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +5 -5
  421. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
  422. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  423. package/app/.next-cli-build/server/app/landing.html +1 -1
  424. package/app/.next-cli-build/server/app/landing.rsc +5 -5
  425. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +5 -5
  426. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  427. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +5 -5
  428. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  429. package/app/.next-cli-build/server/app/login.html +1 -1
  430. package/app/.next-cli-build/server/app/login.rsc +6 -6
  431. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +6 -6
  432. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  433. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +6 -6
  434. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  435. package/app/.next-cli-build/server/app-paths-manifest.json +39 -39
  436. package/app/.next-cli-build/server/chunks/1240.js +2 -2
  437. package/app/.next-cli-build/server/chunks/2428.js +1 -1
  438. package/app/.next-cli-build/server/chunks/2947.js +2 -2
  439. package/app/.next-cli-build/server/chunks/3042.js +1 -1
  440. package/app/.next-cli-build/server/chunks/3399.js +1 -1
  441. package/app/.next-cli-build/server/chunks/3792.js +2 -2
  442. package/app/.next-cli-build/server/chunks/3958.js +5 -5
  443. package/app/.next-cli-build/server/chunks/4404.js +1 -1
  444. package/app/.next-cli-build/server/chunks/4746.js +1 -1
  445. package/app/.next-cli-build/server/chunks/4778.js +1 -1
  446. package/app/.next-cli-build/server/chunks/5074.js +1 -1
  447. package/app/.next-cli-build/server/chunks/6108.js +1 -1
  448. package/app/.next-cli-build/server/chunks/6811.js +1 -1
  449. package/app/.next-cli-build/server/chunks/6992.js +1 -1
  450. package/app/.next-cli-build/server/chunks/7126.js +1 -1
  451. package/app/.next-cli-build/server/chunks/7341.js +1 -1
  452. package/app/.next-cli-build/server/chunks/7464.js +1 -1
  453. package/app/.next-cli-build/server/chunks/8946.js +2 -2
  454. package/app/.next-cli-build/server/chunks/9083.js +4 -4
  455. package/app/.next-cli-build/server/chunks/9489.js +1 -1
  456. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  457. package/app/.next-cli-build/server/middleware.js +2 -2
  458. package/app/.next-cli-build/server/pages/404.html +1 -1
  459. package/app/.next-cli-build/server/pages/500.html +1 -1
  460. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  461. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  462. package/app/.next-cli-build/static/chunks/2218-e72026615fa39090.js +1 -0
  463. package/app/.next-cli-build/static/chunks/{5263-f5ceb4c05a32c83d.js → 5263-1e365e71622a1e0b.js} +1 -1
  464. package/app/.next-cli-build/static/chunks/{5497-61ed1aa3cd67be07.js → 5497-18361369ded11d42.js} +7 -7
  465. package/app/.next-cli-build/static/chunks/{912-18e8c0b298d404a0.js → 912-f25684cb10847e5c.js} +1 -1
  466. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/audit-proxy/page-3734a995fb975cce.js +19 -0
  467. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/{page-1513bdccdfd9a5d4.js → page-ab71212aad777ebd.js} +1 -1
  468. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/personalcloudcombo/page-899a8a75058f3959.js +1 -0
  469. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite-shm +0 -0
  470. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite-wal +0 -0
  471. package/app/package.json +1 -1
  472. package/package.json +1 -1
  473. package/src/cli/menus/providers.js +5 -2
  474. package/app/.next-cli-build/static/chunks/2218-36e7f91e828ac660.js +0 -1
  475. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/audit-proxy/page-1c6e763650417c84.js +0 -8
  476. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/personalcloudcombo/page-49b624ecbe4f4e3f.js +0 -1
  477. /package/app/.next-cli-build/static/{rVGCgsHSCtpMPfhNHYRvX → n4mhcK0NMGFEKCUUi5TBc}/_buildManifest.js +0 -0
  478. /package/app/.next-cli-build/static/{rVGCgsHSCtpMPfhNHYRvX → n4mhcK0NMGFEKCUUi5TBc}/_ssgManifest.js +0 -0
  479. /package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-5.5.29-to-5.5.30-5.5.30-20260924-104020 → upgrade-5.5.33-to-5.5.34-5.5.34-20260924-180218}/data.sqlite +0 -0
  480. /package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-5.5.30-to-5.5.31-5.5.31-20260924-165740 → upgrade-5.5.34-to-5.5.35-5.5.35-20260929-221637}/data.sqlite +0 -0
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[823],{10332:(e,t,r)=>{Promise.resolve().then(r.bind(r,49711))},14051:(e,t,r)=>{e.exports=r(34701)()},31474:(e,t,r)=>{"use strict";function s(...e){return e.filter(Boolean).join(" ").replace(/\s+/g," ").trim()}r.d(t,{cn:()=>s})},34701:(e,t,r)=>{"use strict";var s=r(82114);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,r,a,o,n){if(n!==s){var l=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return r.PropTypes=r,r}},46442:(e,t,r)=>{"use strict";r.d(t,{j:()=>n,t:()=>l});var s=r(95155),a=r(12115);let o=(0,a.createContext)(null);function n({resolver:e,children:t}){return(0,s.jsx)(o.Provider,{value:"function"==typeof e?e:null,children:t})}function l(){return(0,a.useContext)(o)}},49711:(e,t,r)=>{"use strict";r.d(t,{default:()=>b});var s=r(95155),a=r(12115),o=r(84588),n=r(57250),l=r(81127),d=r(92542);let i=[{id:"fallback",label:"Fallback (priority order)",icon:"swap_vert"},{id:"round-robin",label:"Round Robin",icon:"sync"}],c={fallback:"Fallback (priority order)","round-robin":"Round Robin",sticky:"Sticky","least-latency":"Least latency",p2c:"Power of two choices"};function m(e){return c[e]||e||"fallback"}function x(e){return String(e||"").trim().toLowerCase()}function u(){return{id:null,name:"",strategy:"fallback",models:[]}}function b(){let[e,t]=(0,a.useState)([]),[r,c]=(0,a.useState)([]),[b,p]=(0,a.useState)(!0),[h,g]=(0,a.useState)(""),[f,y]=(0,a.useState)(!1),[v,j]=(0,a.useState)(""),[N,w]=(0,a.useState)(null),[k,C]=(0,a.useState)(u()),[S,A]=(0,a.useState)(""),[_,P]=(0,a.useState)(!1),[E,T]=(0,a.useState)(""),[I,M]=(0,a.useState)(""),[O,F]=(0,a.useState)(""),[R,$]=(0,a.useState)("all"),[L,U]=(0,a.useState)(null),[z,q]=(0,a.useState)([]),[B,D]=(0,a.useState)(!1),[K,W]=(0,a.useState)(""),[H,J]=(0,a.useState)(!1),[G,V]=(0,a.useState)(""),[X,Y]=(0,a.useState)(""),Q=(0,a.useCallback)(async()=>{p(!0),g("");try{let[e,r]=await Promise.all([fetch("/api/personal-cloud-providers",{cache:"no-store"}),fetch("/api/personal-cloud-combos?scope=all",{cache:"no-store"})]),s=await e.json().catch(()=>({})),a=await r.json().catch(()=>({}));if(!e.ok)throw Error(s.error||"Failed to load personal connections");if(!r.ok)throw Error(a.error||"Failed to load cloud combos");t(Array.isArray(s.connections)?s.connections:[]),c(Array.isArray(a.combos)?a.combos:[]),A(a.userId||""),P("all"===a.scope)}catch(e){g(e.message||"Failed to load cloud combos")}finally{p(!1)}},[]);(0,a.useEffect)(()=>{Q()},[Q]);let Z=async e=>{U(e),W(""),V(""),Y(""),D(!0);try{let e=await fetch("/api/keys?pageSize=100&status=active",{cache:"no-store"}),t=await e.json().catch(()=>({}));if(!e.ok)throw Error(t.error||"Failed to load API keys");q(Array.isArray(t.keys)?t.keys:[])}catch(e){V(e.message||"Failed to load API keys"),q([])}finally{D(!1)}};function ee(){U(null),W(""),V(""),Y("")}async function et(){if(L&&K){J(!0),V("");try{let e=await fetch(`/api/personal-cloud-combos/${encodeURIComponent(L.id)}/api-key-models`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKeyId:K})}),t=await e.json().catch(()=>({}));if(!e.ok)throw Error(t.error||"Failed to add combo to API key");Y(`Đ\xe3 th\xeam "${L.name}" v\xe0o API key ${t.key?.name||""}.`)}catch(e){V(e.message||"Failed to add combo to API key")}finally{J(!1)}}}let er=(0,a.useMemo)(()=>{let t=new Set,r=[];for(let s of e)if(!1!==s.isActive){for(let e of Array.isArray(s?.importedModels)&&s.importedModels.length>0?s.importedModels:Array.isArray(s?.availableModels)?s.availableModels:[])!e?.routeModel||t.has(e.routeModel)||(t.add(e.routeModel),r.push({provider:s.provider,connectionLabel:s.name||s.email||s.provider,model:e}))}return r},[e]),es=x(S),ea=(0,a.useCallback)(e=>!_||!!es&&x(e?.ownerUser)===es,[_,es]),eo=(0,a.useMemo)(()=>{let e=new Set;for(let t of r){let r=String(t.ownerUser||"").trim();r&&e.add(r)}return[...e].sort((e,t)=>e.localeCompare(t))},[r]),en=(0,a.useMemo)(()=>[...new Set(r.map(e=>e.strategy||"fallback"))].sort((e,t)=>m(e).localeCompare(m(t))),[r]),el=!!E.trim()||!!I||!!O||"all"!==R,ed=(0,a.useMemo)(()=>{if(!_)return r;let e=E.trim().toLowerCase();return r.filter(t=>(!I||x(t.ownerUser)===x(I))&&(!O||(t.strategy||"fallback")===O)&&("active"!==R||!1!==t.isActive)&&("inactive"!==R||!1===t.isActive)&&(!e||[t.ownerUser,t.name,t.id,...t.models||[]].join(" ").toLowerCase().includes(e)))},[r,_,E,I,O,R]);function ei(){w(null),C(u()),j("")}function ec(e,t){C(r=>{let s=[...r.models],a=e+t;return a<0||a>=s.length?r:([s[e],s[a]]=[s[a],s[e]],{...r,models:s})})}async function em(){j("");let e=k.name.trim();if(!e)return void j("Name is required");if(0===k.models.length)return void j("Select at least one model");y(!0);try{let t="new"===N,r=t?"/api/personal-cloud-combos":`/api/personal-cloud-combos/${encodeURIComponent(k.id)}`,s=await fetch(r,{method:t?"POST":"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,strategy:k.strategy,models:k.models})}),a=await s.json().catch(()=>({}));if(!s.ok){let e=Array.isArray(a.invalidModels)&&a.invalidModels.length>0?`: ${a.invalidModels.join(", ")}`:"";throw Error((a.error||"Failed to save combo")+e)}await Q(),ei()}catch(e){j(e.message||"Failed to save combo")}finally{y(!1)}}async function ex(e){if(window.confirm(`Delete cloud combo "${e.name}"? This cannot be undone.`))try{let t=await fetch(`/api/personal-cloud-combos/${encodeURIComponent(e.id)}`,{method:"DELETE"}),r=await t.json().catch(()=>({}));if(!t.ok)throw Error(r.error||"Failed to delete combo");await Q()}catch(e){g(e.message||"Failed to delete combo")}}return b?(0,s.jsx)("div",{className:"rounded-2xl border border-border bg-surface p-4 text-sm text-text-muted",children:"Loading cloud combos…"}):(0,s.jsxs)("div",{className:"space-y-5",children:[(0,s.jsxs)("section",{className:"space-y-2",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h2",{className:"text-base font-semibold text-text-main",children:"Cloud Combos"}),(0,s.jsx)("p",{className:"mt-1 max-w-2xl text-xs leading-5 text-text-muted",children:"Tạo combo (fallback / round-robin) gồm c\xe1c model từ ch\xednh c\xe1c t\xe0i khoản OAuth c\xe1 nh\xe2n của bạn (Claude, Codex/OpenAI, Grok, Kiro...). Kh\xf4ng c\xf3 sampling override."}),_&&(0,s.jsxs)("p",{className:"mt-1.5 inline-flex items-center gap-1.5 rounded-lg border border-primary/30 bg-primary/5 px-2 py-1 text-[11px] text-primary",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"admin_panel_settings"}),"Chế độ admin: đang xem ",r.length," combo của to\xe0n hệ thống (",eo.length," người d\xf9ng). Combo của người kh\xe1c chỉ xem, kh\xf4ng sửa được."]})]}),null===N&&(0,s.jsxs)("button",{type:"button",onClick:function(){C(u()),j(""),w("new")},className:"inline-flex items-center gap-1.5 rounded-lg border border-border bg-background px-3 py-1.5 text-xs font-medium text-text-main transition hover:border-primary/30 hover:bg-surface",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"add"}),"New combo"]})]}),h&&(0,s.jsx)("div",{className:"rounded-lg border border-red-500/20 bg-red-500/5 p-3 text-xs text-red-600",children:h}),_&&r.length>0&&(0,s.jsxs)("div",{className:"grid gap-2 md:grid-cols-[minmax(0,1fr)_auto_auto_auto]",children:[(0,s.jsx)("input",{type:"text",value:E,onChange:e=>T(e.target.value),placeholder:"T\xecm theo owner, t\xean combo, model id...",className:"h-9 w-full rounded-lg border border-border bg-background px-3 text-xs text-text-main outline-none focus:border-primary"}),(0,s.jsxs)("select",{value:I,onChange:e=>M(e.target.value),className:"h-9 rounded-lg border border-border bg-background px-2 text-xs text-text-main outline-none focus:border-primary",children:[(0,s.jsx)("option",{value:"",children:"Tất cả owner"}),eo.map(e=>(0,s.jsx)("option",{value:e,children:e},e))]}),(0,s.jsxs)("select",{value:O,onChange:e=>F(e.target.value),className:"h-9 rounded-lg border border-border bg-background px-2 text-xs text-text-main outline-none focus:border-primary",children:[(0,s.jsx)("option",{value:"",children:"Tất cả strategy"}),en.map(e=>(0,s.jsx)("option",{value:e,children:m(e)},e))]}),(0,s.jsxs)("select",{value:R,onChange:e=>$(e.target.value),className:"h-9 rounded-lg border border-border bg-background px-2 text-xs text-text-main outline-none focus:border-primary",children:[(0,s.jsx)("option",{value:"all",children:"Tất cả trạng th\xe1i"}),(0,s.jsx)("option",{value:"active",children:"Đang hoạt động"}),(0,s.jsx)("option",{value:"inactive",children:"Cần xử l\xfd"})]})]}),_&&el&&(0,s.jsxs)("div",{className:"flex items-center gap-2 text-[11px] text-text-muted",children:[(0,s.jsxs)("span",{children:["Hiện ",ed.length,"/",r.length," combo"]}),(0,s.jsx)("button",{type:"button",onClick:function(){T(""),M(""),F(""),$("all")},className:"text-primary hover:underline",children:"Xo\xe1 bộ lọc"})]})]}),null!==N&&(0,s.jsxs)(o.default,{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"mb-1 block text-xs font-medium text-text-muted",children:"Name"}),(0,s.jsx)("input",{type:"text",value:k.name,onChange:e=>C(t=>({...t,name:e.target.value})),placeholder:"my-claude-fallback",className:"w-full rounded-lg border border-border bg-background px-3 py-2 text-sm text-text-main"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"mb-1 block text-xs font-medium text-text-muted",children:"Strategy"}),(0,s.jsx)("div",{className:"flex gap-2",children:i.map(e=>(0,s.jsxs)("button",{type:"button",onClick:()=>C(t=>({...t,strategy:e.id})),className:`inline-flex flex-1 items-center justify-center gap-1.5 rounded-lg border px-3 py-2 text-xs font-medium transition ${k.strategy===e.id?"border-primary/40 bg-primary/10 text-primary":"border-border bg-background text-text-main hover:border-primary/30"}`,children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:e.icon}),e.label]},e.id))})]})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"mb-2 text-xs font-medium text-text-muted",children:"Models in this combo (order = fallback priority)"}),0===k.models.length?(0,s.jsx)("div",{className:"rounded-lg border border-dashed border-border p-3 text-xs text-text-muted",children:"Chưa chọn model n\xe0o."}):(0,s.jsx)("div",{className:"space-y-1.5",children:k.models.map((e,t)=>(0,s.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-border bg-background px-3 py-1.5",children:[(0,s.jsx)("span",{className:"min-w-0 flex-1 truncate text-xs font-mono text-text-main",children:e}),(0,s.jsx)("button",{type:"button",onClick:()=>ec(t,-1),disabled:0===t,className:"text-text-muted hover:text-text-main disabled:opacity-30",children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"arrow_upward"})}),(0,s.jsx)("button",{type:"button",onClick:()=>ec(t,1),disabled:t===k.models.length-1,className:"text-text-muted hover:text-text-main disabled:opacity-30",children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"arrow_downward"})}),(0,s.jsx)("button",{type:"button",onClick:()=>{C(t=>({...t,models:t.models.filter(t=>t!==e)}))},className:"text-red-500 hover:text-red-600",children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"close"})})]},e))})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"mb-2 text-xs font-medium text-text-muted",children:"Model của bạn (chỉ hiện model từ OAuth connection đang active của bạn)"}),0===er.length?(0,s.jsx)("div",{className:"rounded-lg border border-dashed border-border p-3 text-xs text-text-muted",children:"Bạn chưa c\xf3 personal OAuth connection n\xe0o đang active. Kết nối t\xe0i khoản ở tab Personal OAuth trước."}):(0,s.jsx)("div",{className:"grid max-h-64 gap-1.5 overflow-y-auto rounded-lg border border-border p-2 sm:grid-cols-2",children:er.map(({provider:e,connectionLabel:t,model:r})=>{let a=k.models.includes(r.routeModel),o="review"===r.quotaFamily,l=o?r.name.replace(/ Review$/,""):r.name;return(0,s.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 rounded-lg px-2 py-1.5 text-xs hover:bg-surface-2/50",children:[(0,s.jsx)("input",{type:"checkbox",checked:a,onChange:()=>{var e;return e=r.routeModel,void C(t=>{let r=t.models.includes(e);return{...t,models:r?t.models.filter(t=>t!==e):[...t.models,e]}})},className:"shrink-0"}),(0,s.jsx)(n.A,{src:`/providers/${e}.png`,alt:e,size:18,className:"shrink-0 rounded object-contain",fallbackText:String(e||"?").slice(0,2).toUpperCase()}),(0,s.jsxs)("span",{className:"min-w-0 flex-1 truncate",children:[(0,s.jsxs)("span",{className:"block truncate",children:[(0,s.jsx)("span",{className:"font-medium text-text-main",children:l}),o&&(0,s.jsx)("span",{className:"ml-1 rounded bg-amber-500/10 px-1 py-0.5 text-[10px] font-medium text-amber-600",children:"Review quota"}),(0,s.jsxs)("span",{className:"ml-1 text-text-muted",children:["\xb7 ",t]})]}),(0,s.jsx)("span",{className:"block truncate font-mono text-[10px] text-text-muted/70",children:r.routeModel})]})]},`${t}:${r.routeModel}`)})})]}),v&&(0,s.jsx)("div",{className:"rounded-lg border border-red-500/20 bg-red-500/5 p-2.5 text-xs text-red-600",children:v}),(0,s.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,s.jsx)("button",{type:"button",onClick:ei,className:"rounded-lg border border-border bg-background px-3 py-1.5 text-xs font-medium text-text-main hover:bg-surface",children:"Cancel"}),(0,s.jsx)("button",{type:"button",onClick:em,disabled:f,className:"rounded-lg border border-primary/40 bg-primary/10 px-3 py-1.5 text-xs font-medium text-primary hover:bg-primary/20 disabled:opacity-50",children:f?"Saving…":"new"===N?"Create combo":"Save changes"})]})]}),(0,s.jsxs)("div",{className:"grid gap-3 xl:grid-cols-2",children:[0===r.length&&null===N?(0,s.jsx)("div",{className:"col-span-full rounded-2xl border border-dashed border-border p-6 text-center text-sm text-text-muted",children:_?"Chưa c\xf3 ai tạo cloud combo n\xe0o.":"Bạn chưa c\xf3 cloud combo n\xe0o."}):null,r.length>0&&0===ed.length?(0,s.jsx)("div",{className:"col-span-full rounded-2xl border border-dashed border-border p-6 text-center text-sm text-text-muted",children:"Kh\xf4ng c\xf3 combo n\xe0o khớp bộ lọc."}):null,ed.map(e=>(0,s.jsxs)(o.default,{className:"space-y-3",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-2",children:[(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"truncate text-sm font-semibold text-text-main",children:e.name}),!1===e.isActive&&(0,s.jsx)("span",{className:"rounded-full border border-amber-500/30 bg-amber-500/10 px-2 py-0.5 text-[10px] font-semibold text-amber-600",children:"No models left — needs attention"})]}),(0,s.jsxs)("div",{className:"mt-1 text-xs text-text-muted",children:[m(e.strategy)," \xb7 ",e.models?.length||0," model(s)"]}),_&&(0,s.jsxs)("div",{className:"mt-1 flex items-center gap-1 text-[11px] text-text-muted",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"person"}),(0,s.jsx)("span",{className:"truncate",children:e.ownerUser||"—"})]})]}),ea(e)?(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsxs)("button",{type:"button",onClick:()=>Z(e),className:"inline-flex items-center gap-1 rounded-lg border border-primary/30 bg-primary/5 px-2 py-1.5 text-[11px] font-medium text-primary hover:bg-primary/10",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"vpn_key"}),"Add this combo to API key"]}),(0,s.jsx)("button",{type:"button",onClick:()=>{C({id:e.id,name:e.name,strategy:e.strategy||"fallback",models:[...e.models||[]]}),j(""),w(e.id)},className:"rounded-lg border border-border bg-background p-1.5 text-text-muted hover:text-text-main",children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"edit"})}),(0,s.jsx)("button",{type:"button",onClick:()=>ex(e),className:"rounded-lg border border-border bg-background p-1.5 text-red-500 hover:bg-red-500/5",children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"delete"})})]}):(0,s.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1 rounded-full border border-border bg-background px-2 py-0.5 text-[10px] font-medium text-text-muted",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[13px]",children:"lock"}),"Chỉ xem"]})]}),(0,s.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-border bg-background px-2.5 py-1.5",children:[(0,s.jsx)("span",{className:"text-[10px] uppercase tracking-wide text-text-muted",children:"model id để gọi API"}),(0,s.jsx)("code",{className:"min-w-0 flex-1 truncate text-xs text-text-main",children:e.id}),(0,s.jsx)("button",{type:"button",onClick:()=>(function(e){try{navigator.clipboard?.writeText(e)}catch{}})(e.id),className:"text-text-muted hover:text-text-main",children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"content_copy"})})]}),(0,s.jsx)("div",{className:"flex flex-wrap gap-1.5",children:(e.models||[]).map(e=>(0,s.jsx)("span",{className:"rounded-full border border-border bg-background px-2 py-0.5 text-[11px] font-mono text-text-muted",children:e},e))})]},e.id))]}),(0,s.jsx)(l.default,{isOpen:!!L,onClose:ee,title:`Add "${L?.name||""}" to API key`,footer:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(d.default,{variant:"ghost",onClick:ee,disabled:H,children:"Cancel"}),(0,s.jsx)(d.default,{onClick:et,loading:H,disabled:!K,children:"Add to key"})]}),children:(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("p",{className:"text-sm text-text-muted",children:["Th\xeam model id ",(0,s.jsx)("code",{className:"font-mono text-text-main",children:L?.id})," v\xe0o ",(0,s.jsx)("code",{children:"allowedModels"})," của API key đ\xe3 chọn (chỉ hiện API key của ch\xednh bạn)."]}),(0,s.jsx)("p",{className:"rounded-lg border border-primary/20 bg-primary/5 p-2.5 text-xs text-text-muted",children:"Chỉ cần cấp quyền combo: API key d\xf9ng được combo n\xe0y m\xe0 kh\xf4ng cần cấp quyền ri\xeang cho từng model b\xean trong."}),(0,s.jsxs)("label",{className:"block text-sm",children:[(0,s.jsx)("span",{className:"mb-1 block font-medium text-text-main",children:"API key"}),(0,s.jsxs)("select",{value:K,onChange:e=>W(e.target.value),className:"h-10 w-full rounded-xl border border-border bg-background px-3 text-sm text-text-main outline-none focus:border-primary",disabled:B,children:[(0,s.jsx)("option",{value:"",children:B?"Đang tải API keys...":"Chọn API key"}),z.map(e=>(0,s.jsx)("option",{value:e.id,children:e.name||e.id},e.id))]})]}),B||0!==z.length?null:(0,s.jsx)("div",{className:"rounded-xl border border-amber-500/30 bg-amber-500/10 p-3 text-xs text-amber-700",children:"Bạn chưa c\xf3 API key active n\xe0o. Tạo API key ở /dashboard/api-keys trước."}),G&&(0,s.jsx)("div",{className:"rounded-lg border border-red-500/20 bg-red-500/5 p-2.5 text-xs text-red-600",children:G}),X&&(0,s.jsx)("div",{className:"rounded-lg border border-green-500/20 bg-green-500/5 p-2.5 text-xs text-green-600",children:X})]})})]})}},57250:(e,t,r)=>{"use strict";r.d(t,{A:()=>l});var s=r(95155),a=r(12115),o=r(14051),n=r.n(o);function l({src:e,alt:t,size:r=32,className:o="",fallbackText:n="?",fallbackColor:d}){let[i,c]=(0,a.useState)(!1);return!e||i?(0,s.jsx)("span",{className:`inline-flex items-center justify-center font-bold rounded-lg ${o}`.trim(),style:{width:r,height:r,color:d,fontSize:Math.max(10,Math.floor(.38*r))},children:n}):(0,s.jsx)("img",{src:e,alt:t,width:r,height:r,className:o,onError:()=>c(!0)})}l.propTypes={src:n().string,alt:n().string,size:n().number,className:n().string,fallbackText:n().string,fallbackColor:n().string}},81127:(e,t,r)=>{"use strict";r.d(t,{ConfirmModal:()=>b,default:()=>u});var s=r(95155),a=r(12115),o=r(31474),n=r(92542),l=r(97677),d=r(46442);let i=[],c="";function m(){1===i.length?(c=document.body.style.overflow,document.body.style.overflow="hidden"):0===i.length&&(document.body.style.overflow=c)}function x(e,t){return!!e&&Object.prototype.hasOwnProperty.call(e,t)}function u({isOpen:e,onClose:t,title:r,children:n,footer:c,size:b="md",closeOnOverlay:p=!0,showTrafficLights:h=!0,busy:g=!1,className:f}){let y=(0,a.useRef)({onClose:t,busy:g}),v=(0,d.t)(),j=v?.({title:r,children:n,footer:c,size:b,className:f})||null,N=x(j,"children")?j.children:n,w=x(j,"footer")?j.footer:c,k=j?.size||b,C=(0,o.cn)(f,j?.className);y.current.onClose=t,y.current.busy=g;let S={sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl",full:"max-w-4xl"};return((0,a.useEffect)(()=>{if(!e)return;let t=y.current;i.push(t),m();let r=e=>{if("Escape"!==e.key)return;let r=i[i.length-1];r!==t||r.busy||(e.preventDefault(),r.onClose())};return document.addEventListener("keydown",r),()=>{document.removeEventListener("keydown",r);let e=i.indexOf(t);-1!==e&&i.splice(e,1),m()}},[e]),e)?(0,s.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-[2px] fade-in",onClick:p&&!g?t:void 0}),(0,s.jsxs)("div",{className:(0,o.cn)("relative w-full bg-surface","border border-border-subtle","rounded-[14px] shadow-[var(--shadow-elev)]","fade-in",S[k]||S.md,C),children:[(r||h)&&(0,s.jsxs)("div",{className:"flex items-center justify-between p-2 border-b border-border-subtle",children:[(0,s.jsxs)("div",{className:"flex items-center",children:[h&&(0,s.jsxs)("div",{className:"hidden md:flex items-center gap-2 mr-4 ml-2",children:[(0,s.jsx)(l.default,{text:"Close",position:"top",color:"#FF5F56",children:(0,s.jsx)("button",{onClick:t,disabled:g,"aria-label":"Close",title:"Close",className:"w-4 h-4 rounded-full bg-[#FF5F56] hover:brightness-90 transition-all cursor-pointer flex items-center justify-center group/dot disabled:cursor-not-allowed disabled:opacity-50",children:(0,s.jsx)("span",{className:"text-[9px] font-bold text-white opacity-0 group-hover/dot:opacity-100 transition-opacity leading-none",children:"✕"})})}),(0,s.jsx)("div",{className:"w-4 h-4 rounded-full bg-[#3a3a3a]/20 dark:bg-white/15 cursor-not-allowed"}),(0,s.jsx)("div",{className:"w-4 h-4 rounded-full bg-[#3a3a3a]/20 dark:bg-white/15 cursor-not-allowed"})]}),r&&(0,s.jsx)("h2",{className:"text-lg font-semibold text-text-main",children:r})]}),(0,s.jsx)("button",{onClick:t,disabled:g,"aria-label":"Close",className:"md:hidden p-1.5 rounded-[10px] text-text-muted hover:bg-surface-2 hover:text-text-main transition-colors disabled:cursor-not-allowed disabled:opacity-50",children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"close"})})]}),(0,s.jsx)("div",{className:"p-6 max-h-[calc(85vh-100px)] overflow-y-auto custom-scrollbar",children:N}),w&&(0,s.jsx)("div",{className:"flex items-center justify-end gap-3 p-6 border-t border-border-subtle",children:w})]})]}):null}function b({isOpen:e,onClose:t,onConfirm:r,title:a="Confirm",message:o,confirmText:l="Confirm",cancelText:d="Cancel",variant:i="danger",loading:c=!1}){return(0,s.jsx)(u,{isOpen:e,onClose:t,title:a,size:"sm",busy:c,footer:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.default,{variant:"ghost",onClick:t,disabled:c,children:d}),(0,s.jsx)(n.default,{variant:i,onClick:r,loading:c,children:l})]}),children:(0,s.jsx)("p",{className:"text-text-muted",children:o})})}},82114:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},84588:(e,t,r)=>{"use strict";r.d(t,{default:()=>o});var s=r(95155),a=r(31474);function o({children:e,title:t,subtitle:r,icon:n,action:l,padding:d="md",hover:i=!1,elev:c=!1,className:m,...x}){return(0,s.jsxs)("div",{className:(0,a.cn)("bg-surface border border-border",c?"rounded-[14px] shadow-[var(--shadow-elev)]":"rounded-[14px] shadow-[0_1px_2px_rgba(15,23,42,0.045),0_12px_28px_-26px_rgba(37,99,235,0.38)]",i&&"hover:shadow-[var(--shadow-warm)] hover:border-brand-500/40 transition-all cursor-pointer",{none:"",xs:"p-3",sm:"p-4",md:"p-5",lg:"p-6"}[d],m),...x,children:[(t||l)&&(0,s.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[n&&(0,s.jsx)("div",{className:"p-2 rounded-[10px] bg-bg-alt border border-border-subtle text-text-muted",children:(0,s.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:n})}),(0,s.jsxs)("div",{children:[t&&(0,s.jsx)("h3",{className:"text-text-main font-semibold",children:t}),r&&(0,s.jsx)("p",{className:"text-sm text-text-muted",children:r})]})]}),l]}),e]})}o.Section=function({children:e,className:t,...r}){return(0,s.jsx)("div",{className:(0,a.cn)("p-4 rounded-[10px]","bg-bg-alt border border-border",t),...r,children:e})},o.Row=function({children:e,className:t,...r}){return(0,s.jsx)("div",{className:(0,a.cn)("p-3 -mx-3 px-3 transition-colors","border-b border-border-subtle last:border-b-0","hover:bg-surface-2/50",t),...r,children:e})},o.ListItem=function({children:e,actions:t,className:r,...o}){return(0,s.jsxs)("div",{className:(0,a.cn)("group flex items-center justify-between p-3 -mx-3 px-3","border-b border-border-subtle last:border-b-0","hover:bg-surface-2/50 transition-colors",r),...o,children:[(0,s.jsx)("div",{className:"flex-1 min-w-0",children:e}),t&&(0,s.jsx)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:t})]})}},92542:(e,t,r)=>{"use strict";r.d(t,{default:()=>l});var s=r(95155),a=r(31474);let o={primary:"bg-brand-500 hover:bg-brand-600 text-white shadow-sm disabled:bg-surface-3 disabled:text-text-muted",secondary:"bg-surface-2 hover:bg-surface-3 text-text-main border border-border disabled:opacity-50",outline:"border border-border text-text-main hover:bg-surface-2 hover:border-brand-500/40",ghost:"text-text-muted hover:bg-surface-2 hover:text-text-main",danger:"bg-red-500 hover:bg-red-600 text-white shadow-sm disabled:bg-surface-3 disabled:text-text-muted",success:"bg-green-600 hover:bg-green-700 text-white shadow-sm disabled:bg-surface-3 disabled:text-text-muted"},n={sm:"h-7 px-3 text-xs rounded-[8px]",md:"h-9 px-4 text-sm rounded-[10px]",lg:"h-11 px-6 text-sm rounded-[10px]"};function l({children:e,variant:t="primary",size:r="md",icon:d,iconRight:i,disabled:c=!1,loading:m=!1,fullWidth:x=!1,className:u,...b}){return(0,s.jsxs)("button",{className:(0,a.cn)("inline-flex items-center justify-center gap-2 font-semibold transition-all duration-150 ease-out cursor-pointer","active:scale-[0.97] disabled:opacity-50 disabled:cursor-not-allowed disabled:active:scale-100",o[t],n[r],x&&"w-full",u),disabled:c||m,...b,children:[m?(0,s.jsx)("span",{className:"material-symbols-outlined animate-spin text-[18px]",children:"progress_activity"}):d?(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:d}):null,e,i&&!m&&(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:i})]})}},97677:(e,t,r)=>{"use strict";r.d(t,{default:()=>a});var s=r(95155);function a({text:e,children:t,position:r="top",color:o}){let n=o?"":"bg-gray-900";return(0,s.jsxs)("div",{className:"relative inline-flex group",children:[t,(0,s.jsx)("div",{className:`pointer-events-none absolute ${{top:"bottom-full left-1/2 -translate-x-1/2 mb-1.5",bottom:"top-full left-1/2 -translate-x-1/2 mt-1.5",left:"right-full top-1/2 -translate-y-1/2 mr-1.5",right:"left-full top-1/2 -translate-y-1/2 ml-1.5"}[r]} z-50 w-max max-w-56 rounded px-2 py-1 text-[11px] leading-snug ${n} text-white opacity-0 group-hover:opacity-100 transition-opacity duration-150 whitespace-normal`,style:o?{backgroundColor:o}:{},children:e})]})}}},e=>{e.O(0,[8441,3794,7358],()=>e(e.s=10332)),_N_E=e.O()}]);