@jheavenknows/bluerouter 3.0.24 → 3.0.25

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 (420) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +6 -6
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  5. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page_client-reference-manifest.js +1 -1
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  34. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  35. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  36. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  37. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  38. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  39. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  40. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  41. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  42. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  43. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  44. package/app/.next-cli-build/server/app/_not-found.rsc +3 -3
  45. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
  46. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  47. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +3 -3
  48. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  49. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  50. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  51. package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js.nft.json +1 -1
  52. package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js.nft.json +1 -1
  53. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  54. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  55. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  56. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  57. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  58. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  59. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  60. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  61. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route.js.nft.json +1 -1
  62. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route.js.nft.json +1 -1
  63. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route.js.nft.json +1 -1
  64. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  65. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  66. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  67. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  68. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  69. package/app/.next-cli-build/server/app/api/dashboard/analytics/route.js.nft.json +1 -1
  70. package/app/.next-cli-build/server/app/api/dashboard/combos/route.js.nft.json +1 -1
  71. package/app/.next-cli-build/server/app/api/dashboard/endpoint/route.js.nft.json +1 -1
  72. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js.nft.json +1 -1
  73. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/options/route.js.nft.json +1 -1
  74. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js.nft.json +1 -1
  75. package/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js.nft.json +1 -1
  76. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  77. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  78. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  79. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  80. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  81. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  82. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  83. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  84. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  85. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  86. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  87. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  88. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  89. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  90. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  91. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  92. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  93. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  94. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  95. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  96. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  97. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  98. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  99. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  100. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  101. package/app/.next-cli-build/server/app/api/provider-health/route.js.nft.json +1 -1
  102. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  103. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  104. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  105. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  107. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  108. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  111. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  113. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  119. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  124. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  125. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  155. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  161. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  162. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  164. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  166. package/app/.next-cli-build/server/app/callback.html +1 -1
  167. package/app/.next-cli-build/server/app/callback.rsc +3 -3
  168. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
  169. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  170. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +3 -3
  171. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  172. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  173. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  174. package/app/.next-cli-build/server/app/dashboard/analytics.html +1 -1
  175. package/app/.next-cli-build/server/app/dashboard/analytics.rsc +4 -4
  176. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics/__PAGE__.segment.rsc +1 -1
  177. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics.segment.rsc +1 -1
  178. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  179. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  180. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_full.segment.rsc +4 -4
  181. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_head.segment.rsc +1 -1
  182. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_index.segment.rsc +3 -3
  183. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_tree.segment.rsc +1 -1
  184. package/app/.next-cli-build/server/app/dashboard/api-keys.html +1 -1
  185. package/app/.next-cli-build/server/app/dashboard/api-keys.rsc +5 -5
  186. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard/api-keys/__PAGE__.segment.rsc +2 -2
  187. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard/api-keys.segment.rsc +1 -1
  188. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  189. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  190. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_full.segment.rsc +5 -5
  191. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_head.segment.rsc +1 -1
  192. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_index.segment.rsc +3 -3
  193. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_tree.segment.rsc +1 -1
  194. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  195. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +5 -5
  196. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  197. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  198. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  199. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  200. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +5 -5
  201. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  202. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +3 -3
  203. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
  204. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  205. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +5 -5
  206. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  207. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  208. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  209. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  210. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +5 -5
  211. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  212. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +3 -3
  213. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  214. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  215. package/app/.next-cli-build/server/app/dashboard/combos.rsc +5 -5
  216. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  217. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  218. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  219. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  220. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +5 -5
  221. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  222. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +3 -3
  223. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  224. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  225. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +5 -5
  226. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  227. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  228. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  229. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  230. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +5 -5
  231. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  232. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +3 -3
  233. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  234. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  235. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +5 -5
  236. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  237. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  238. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  239. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  240. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  241. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +5 -5
  242. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  243. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +3 -3
  244. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
  245. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  246. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +5 -5
  247. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  248. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  249. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  250. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  251. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +5 -5
  252. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  253. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +3 -3
  254. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
  255. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  256. package/app/.next-cli-build/server/app/dashboard/profile.rsc +4 -4
  257. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +1 -1
  258. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  259. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  260. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  261. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +4 -4
  262. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  263. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +3 -3
  264. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  265. package/app/.next-cli-build/server/app/dashboard/prompt-logs.html +1 -1
  266. package/app/.next-cli-build/server/app/dashboard/prompt-logs.rsc +4 -4
  267. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs/__PAGE__.segment.rsc +1 -1
  268. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs.segment.rsc +1 -1
  269. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  270. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  271. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_full.segment.rsc +4 -4
  272. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_head.segment.rsc +1 -1
  273. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_index.segment.rsc +3 -3
  274. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_tree.segment.rsc +1 -1
  275. package/app/.next-cli-build/server/app/dashboard/provider-health.html +1 -1
  276. package/app/.next-cli-build/server/app/dashboard/provider-health.rsc +4 -4
  277. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health/__PAGE__.segment.rsc +1 -1
  278. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health.segment.rsc +1 -1
  279. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  280. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  281. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_full.segment.rsc +4 -4
  282. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_head.segment.rsc +1 -1
  283. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_index.segment.rsc +3 -3
  284. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_tree.segment.rsc +1 -1
  285. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  286. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +5 -5
  287. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  288. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  289. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  290. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  291. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  292. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +5 -5
  293. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  294. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +3 -3
  295. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  296. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  297. package/app/.next-cli-build/server/app/dashboard/providers.rsc +5 -5
  298. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  299. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  300. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  301. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  302. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +5 -5
  303. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  304. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +3 -3
  305. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  306. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  307. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +5 -5
  308. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  309. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  310. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  311. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  312. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +5 -5
  313. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  314. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +3 -3
  315. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  316. package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
  317. package/app/.next-cli-build/server/app/dashboard/quota.rsc +6 -6
  318. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  319. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  320. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  321. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  322. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +6 -6
  323. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  324. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +3 -3
  325. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  326. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  327. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  328. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +3 -3
  329. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +3 -3
  330. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  331. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +3 -3
  332. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  333. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  334. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  335. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  336. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  337. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  338. package/app/.next-cli-build/server/app/dashboard/skills.rsc +5 -5
  339. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  340. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  341. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  342. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  343. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +5 -5
  344. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  345. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +3 -3
  346. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
  347. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  348. package/app/.next-cli-build/server/app/dashboard/translator.rsc +5 -5
  349. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  350. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  351. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  352. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  353. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +5 -5
  354. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  355. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +3 -3
  356. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  357. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  358. package/app/.next-cli-build/server/app/dashboard/usage.rsc +5 -5
  359. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  360. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  361. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  362. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  363. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +5 -5
  364. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  365. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +3 -3
  366. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  367. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  368. package/app/.next-cli-build/server/app/dashboard.rsc +5 -5
  369. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  370. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  371. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  372. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +5 -5
  373. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  374. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +3 -3
  375. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  376. package/app/.next-cli-build/server/app/index.html +1 -1
  377. package/app/.next-cli-build/server/app/index.rsc +3 -3
  378. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  379. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +3 -3
  380. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  381. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +3 -3
  382. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
  383. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  384. package/app/.next-cli-build/server/app/landing.html +1 -1
  385. package/app/.next-cli-build/server/app/landing.rsc +3 -3
  386. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +3 -3
  387. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  388. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +3 -3
  389. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  390. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  391. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  392. package/app/.next-cli-build/server/app/login/page.js +1 -1
  393. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  394. package/app/.next-cli-build/server/app/login.html +1 -1
  395. package/app/.next-cli-build/server/app/login.rsc +4 -4
  396. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
  397. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  398. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +3 -3
  399. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  400. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  401. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  402. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  403. package/app/.next-cli-build/server/app-paths-manifest.json +6 -6
  404. package/app/.next-cli-build/server/chunks/2338.js +1 -1
  405. package/app/.next-cli-build/server/chunks/3110.js +1 -1
  406. package/app/.next-cli-build/server/chunks/4746.js +1 -1
  407. package/app/.next-cli-build/server/chunks/7130.js +1 -1
  408. package/app/.next-cli-build/server/chunks/7153.js +1 -1
  409. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  410. package/app/.next-cli-build/server/pages/404.html +1 -1
  411. package/app/.next-cli-build/server/pages/500.html +1 -1
  412. package/app/.next-cli-build/static/chunks/{620-356dbe3dc69ff1ad.js → 620-0da2d3ddb59472c3.js} +1 -1
  413. package/app/.next-cli-build/static/chunks/app/login/{page-dce6eaa46bd2c709.js → page-beeb9f7cb47ad3fc.js} +1 -1
  414. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite-shm +0 -0
  415. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite-wal +0 -0
  416. package/app/package.json +1 -1
  417. package/package.json +1 -1
  418. /package/app/.next-cli-build/static/{-e_GXZS90ok4rzHf0AaIY → nxfjuhFM_8WLGDl2aSVXS}/_buildManifest.js +0 -0
  419. /package/app/.next-cli-build/static/{-e_GXZS90ok4rzHf0AaIY → nxfjuhFM_8WLGDl2aSVXS}/_ssgManifest.js +0 -0
  420. /package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-3.0.9-to-3.0.20-3.0.20-20260618-152041 → upgrade-3.0.24-to-3.0.25-3.0.25-20260618-163352}/data.sqlite +0 -0
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4520],{33796:(e,t,r)=>{Promise.resolve().then(r.bind(r,83016))},54642:e=>{var t;"u">typeof __nccwpck_require__&&(__nccwpck_require__.ab="//"),(t={}).endianness=function(){return"LE"},t.hostname=function(){return"u">typeof location?location.hostname:""},t.loadavg=function(){return[]},t.uptime=function(){return 0},t.freemem=function(){return Number.MAX_VALUE},t.totalmem=function(){return Number.MAX_VALUE},t.cpus=function(){return[]},t.type=function(){return"Browser"},t.release=function(){return"u">typeof navigator?navigator.appVersion:""},t.networkInterfaces=t.getNetworkInterfaces=function(){return{}},t.arch=function(){return"javascript"},t.platform=function(){return"browser"},t.tmpdir=t.tmpDir=function(){return"/tmp"},t.EOL="\n",t.homedir=function(){return"/"},e.exports=t},73321:(e,t,r)=>{"use strict";var s=r(74645);r.o(s,"notFound")&&r.d(t,{notFound:function(){return s.notFound}}),r.o(s,"useParams")&&r.d(t,{useParams:function(){return s.useParams}}),r.o(s,"usePathname")&&r.d(t,{usePathname:function(){return s.usePathname}}),r.o(s,"useRouter")&&r.d(t,{useRouter:function(){return s.useRouter}}),r.o(s,"useSearchParams")&&r.d(t,{useSearchParams:function(){return s.useSearchParams}})},83016:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>d});var s=r(95155),n=r(12115),a=r(73321),o=r(90620);let i=[{badge:"API",badgeColor:"bg-indigo-500",title:"AI API Gateway",description:"Quản l\xfd endpoint AI nội bộ. Theo d\xf5i trạng th\xe1i model, cấu h\xecnh routing v\xe0 gi\xe1m s\xe1t lưu lượng API theo thời gian thực.",href:"/dashboard",accent:"from-indigo-500/10 to-indigo-500/5",borderHover:"hover:border-indigo-300"},{badge:"CHAT",badgeColor:"bg-violet-500",title:"AI Web Chat",description:"Tr\xf2 chuyện với AI nội bộ. Hỗ trợ viết code, ph\xe2n t\xedch t\xe0i liệu, brainstorm \xfd tưởng v\xe0 trả lời c\xe2u hỏi kỹ thuật.",href:"https://ai.fujinet.vn/",accent:"from-violet-500/10 to-violet-500/5",borderHover:"hover:border-violet-300"},{badge:"DỊCH",badgeColor:"bg-purple-500",title:"AI Translator",description:"Dịch t\xe0i liệu hỗ trợ 201 ng\xf4n ngữ. Hỗ trợ Word, Excel, PowerPoint, IMAGE v\xe0 PDF với khả năng giữ nguy\xean định dạng gốc.",href:"https://translate-workspace.fujinet.vn",accent:"from-purple-500/10 to-purple-500/5",borderHover:"hover:border-purple-300"},{badge:"TICKET",badgeColor:"bg-blue-500",title:"IT Support",description:"Gửi y\xeau cầu hỗ trợ kỹ thuật. Theo d\xf5i tiến độ xử l\xfd ticket, trao đổi trực tiếp với đội IT v\xe0 xem lịch sử sự cố.",href:"https://itsupport.fujinet.vn",accent:"from-blue-500/10 to-blue-500/5",borderHover:"hover:border-blue-300"},{badge:"ASSET",badgeColor:"bg-sky-500",title:"IT Resource",description:"Quản l\xfd t\xe0i nguy\xean CNTT nội bộ. Đăng k\xfd cấp ph\xe1t thiết bị, t\xe0i khoản, quyền truy cập VPN v\xe0 c\xe1c dịch vụ hạ tầng.",href:"https://itresource.fujinet.net/",accent:"from-sky-500/10 to-sky-500/5",borderHover:"hover:border-sky-300"}];function l({service:e}){return(0,s.jsxs)("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",className:`group relative flex min-h-[260px] flex-col rounded-2xl border border-slate-200/80 bg-white/80 p-6 shadow-sm backdrop-blur transition-all duration-200 ${e.borderHover} hover:-translate-y-0.5 hover:shadow-lg`,children:[(0,s.jsx)("div",{className:`pointer-events-none absolute inset-0 rounded-2xl bg-gradient-to-br ${e.accent} opacity-0 transition-opacity group-hover:opacity-100`}),(0,s.jsxs)("div",{className:"relative flex h-full flex-col",children:[(0,s.jsx)("span",{className:`inline-flex w-fit rounded-lg ${e.badgeColor} px-2.5 py-1 text-[11px] font-bold tracking-widest text-white shadow-sm`,children:e.badge}),(0,s.jsx)("h2",{className:"mt-4 text-lg font-bold text-slate-800",children:e.title}),(0,s.jsx)("p",{className:"mt-2 flex-1 text-sm leading-relaxed text-slate-500",children:e.description}),(0,s.jsxs)("span",{className:"mt-5 inline-flex items-center gap-1.5 text-xs font-semibold uppercase tracking-wide text-indigo-500 opacity-0 transition-opacity group-hover:opacity-100",children:["Truy cập",(0,s.jsx)("svg",{className:"h-3.5 w-3.5 transition-transform group-hover:translate-x-0.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3"})})]})]})]})}function d(){let[e,t]=(0,n.useState)("admin"),[r,d]=(0,n.useState)(""),[c,u]=(0,n.useState)(""),[x,h]=(0,n.useState)(""),[p,g]=(0,n.useState)(0),[m,b]=(0,n.useState)(!1),[f,v]=(0,n.useState)(null),[j,w]=(0,n.useState)("password"),[y,N]=(0,n.useState)(!1),[k,S]=(0,n.useState)("Sign in with OIDC"),[I,C]=(0,n.useState)(!1),[P,A]=(0,n.useState)(!1),[T,_]=(0,n.useState)("admin"),L=(0,a.useRouter)(),E=o.vQ?.name||"FJS Digital Workspace";(0,n.useEffect)(()=>{if(p<=0)return;let e=setInterval(()=>g(e=>e>0?e-1:0),1e3);return()=>clearInterval(e)},[p]),(0,n.useEffect)(()=>{!async function(){let e=new AbortController,r=setTimeout(()=>e.abort(),5e3),s=window.location.origin;try{let n=await fetch(`${s}/api/auth/status`,{signal:e.signal});if(clearTimeout(r),n.ok){let e=await n.json();v(!!e.hasPassword),w(e.authMode||"password"),N(!0===e.oidcConfigured),S(e.oidcLoginLabel||"Sign in with OIDC"),C(!0===e.ldapEnabled),A(!0===e.ldapConfigured),_(e.localLoginUsername||"admin"),t(e.localLoginUsername||"admin")}else v(!0)}catch{clearTimeout(r),v(!0)}}()},[L]);let F=async t=>{t.preventDefault(),b(!0),u(""),h("");try{let t=await fetch("/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:e,password:r,loginType:"auto"})});if(t.ok)L.push("/dashboard"),L.refresh();else{let e=await t.json();u(e.error||"Invalid account or password"),e.resetHint&&h(e.resetHint),e.retryAfter&&g(Number(e.retryAfter))}}catch{u("An error occurred. Please try again.")}finally{b(!1)}},H=y&&["oidc","both"].includes(j),D="oidc"!==j||!y,O=I&&P&&D;return(0,s.jsxs)("main",{className:"relative min-h-screen overflow-hidden bg-slate-50 text-slate-800",children:[(0,s.jsx)("div",{className:"pointer-events-none absolute inset-x-0 top-0 h-72",style:{background:"linear-gradient(135deg, rgba(139,92,246,0.12) 0%, rgba(99,102,241,0.10) 40%, rgba(56,189,248,0.06) 100%)"}}),(0,s.jsx)("div",{className:"pointer-events-none absolute inset-0 opacity-[0.36]",style:{backgroundImage:"linear-gradient(to right, rgba(99,102,241,0.08) 1px, transparent 1px), linear-gradient(to bottom, rgba(99,102,241,0.08) 1px, transparent 1px)",backgroundSize:"48px 48px"}}),(0,s.jsxs)("div",{className:"relative mx-auto max-w-6xl px-6 py-12 lg:px-8",children:[(0,s.jsxs)("header",{className:"mb-10",children:[(0,s.jsxs)("div",{className:"mb-5 flex items-center gap-4",children:[(0,s.jsx)("img",{src:"/fjslogo.svg",alt:"Fujinet Systems JSC",className:"h-10 w-auto"}),(0,s.jsxs)("div",{className:"leading-none",children:[(0,s.jsx)("p",{className:"text-[11px] font-bold uppercase tracking-[0.2em] text-indigo-600",children:"Internal Portal"}),(0,s.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-[0.15em] text-slate-400",children:"Cổng nội bộ Fujinet"})]})]}),(0,s.jsx)("h1",{className:"text-4xl font-extrabold tracking-tight text-slate-900 sm:text-5xl",children:E}),(0,s.jsx)("p",{className:"mt-4 max-w-2xl text-base leading-relaxed text-slate-500",children:"Đăng nhập AI Router Gateway hoặc truy cập nhanh c\xe1c hệ thống nội bộ của Fujinet Systems."})]}),(0,s.jsxs)("section",{className:"grid items-stretch gap-4 sm:grid-cols-2 lg:grid-cols-3",children:[(0,s.jsxs)("div",{className:"relative flex min-h-[260px] flex-col rounded-2xl border border-indigo-200/80 bg-white/90 p-6 shadow-sm backdrop-blur transition-all duration-200 hover:-translate-y-0.5 hover:border-indigo-300 hover:shadow-lg",children:[(0,s.jsx)("div",{className:"pointer-events-none absolute inset-0 rounded-2xl bg-gradient-to-br from-indigo-500/10 to-indigo-500/5"}),(0,s.jsxs)("div",{className:"relative flex h-full flex-col",children:[(0,s.jsxs)("div",{className:"mb-4 flex items-center justify-between gap-3",children:[(0,s.jsx)("span",{className:"inline-flex rounded-lg bg-indigo-500 px-2.5 py-1 text-[11px] font-bold tracking-widest text-white shadow-sm",children:"LOGIN"}),(0,s.jsx)("img",{src:"/logo.svg",alt:"FUJINET",className:"h-7 w-auto object-contain"})]}),(0,s.jsx)("h2",{className:"text-lg font-bold text-slate-800",children:"AI Router Gateway"}),(0,s.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-slate-500",children:"Đăng nhập để quản trị API key, provider, routing, prompt logs v\xe0 dashboard usage."}),null===f?(0,s.jsx)("div",{className:"mt-5 rounded-xl border border-slate-200 bg-slate-50 px-4 py-3 text-sm text-slate-500",children:"Loading..."}):(0,s.jsxs)("div",{className:"mt-5 flex-1",children:[H&&(0,s.jsxs)("button",{type:"button",onClick:()=>{window.location.href="/api/auth/oidc/start"},className:"mb-3 flex w-full items-center justify-center gap-2 rounded-xl border border-slate-200 bg-slate-50 px-4 py-2.5 text-sm font-semibold text-slate-700 transition hover:border-indigo-300 hover:bg-indigo-50",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"lock_open"}),k]}),H&&D&&(0,s.jsxs)("div",{className:"mb-3 flex items-center gap-3 text-xs text-slate-400",children:[(0,s.jsx)("span",{className:"h-px flex-1 bg-slate-200"}),"or",(0,s.jsx)("span",{className:"h-px flex-1 bg-slate-200"})]}),D?(0,s.jsxs)("form",{onSubmit:F,className:"space-y-3",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"mb-1 block text-xs font-semibold uppercase tracking-wide text-slate-500",children:"Account"}),(0,s.jsx)("input",{value:e,onChange:e=>t(e.target.value),placeholder:O?"admin or your LDAP username":T||"admin",autoFocus:!H,required:!0,className:"w-full rounded-xl border border-slate-200 bg-white px-3 py-2.5 text-sm shadow-sm outline-none transition placeholder:text-slate-400 focus:border-indigo-400 focus:ring-4 focus:ring-indigo-500/15"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"mb-1 block text-xs font-semibold uppercase tracking-wide text-slate-500",children:"Password"}),(0,s.jsx)("input",{type:"password",value:r,onChange:e=>d(e.target.value),placeholder:"Enter password",required:!0,className:"w-full rounded-xl border border-slate-200 bg-white px-3 py-2.5 text-sm shadow-sm outline-none transition placeholder:text-slate-400 focus:border-indigo-400 focus:ring-4 focus:ring-indigo-500/15"})]}),"oidc"===j&&!y&&(0,s.jsx)("p",{className:"rounded-xl border border-yellow-500/30 bg-yellow-500/10 p-2.5 text-xs text-yellow-700",children:"OIDC login is enabled, but not configured yet. Password login is still available for recovery."}),"both"===j&&y&&(0,s.jsx)("p",{className:"rounded-xl border border-blue-500/30 bg-blue-500/10 p-2.5 text-xs text-blue-700",children:"Password/OIDC login are both enabled."}),c&&(0,s.jsx)("p",{className:"rounded-xl border border-red-500/30 bg-red-500/10 p-2.5 text-sm text-red-600",children:c}),p>0&&(0,s.jsxs)("p",{className:"rounded-xl border border-red-500/30 bg-red-500/10 p-2.5 text-sm text-red-600",children:["Locked. Retry in ",p,"s."]}),x&&(0,s.jsxs)("p",{className:"rounded-xl border border-slate-200 bg-slate-50 p-2.5 text-xs text-slate-500",children:["Forgot password? Open ",(0,s.jsx)("span",{className:"font-mono",children:"bluerouter"})," CLI on the host → Settings → Reset Password to Default."]}),(0,s.jsx)("button",{type:"submit",disabled:m||p>0,className:"w-full rounded-xl bg-gradient-to-r from-indigo-600 to-violet-500 px-4 py-2.5 text-sm font-semibold text-white shadow-lg shadow-indigo-500/20 transition hover:-translate-y-0.5 hover:shadow-indigo-500/30 disabled:cursor-not-allowed disabled:translate-y-0 disabled:opacity-50",children:p>0?`Wait ${p}s`:m?"Signing in...":"Login"}),!1===f&&(0,s.jsx)("p",{className:"text-center text-xs text-slate-500",children:"No custom password is set yet. The default password above will work until you change it."})]}):c&&(0,s.jsx)("p",{className:"rounded-xl border border-red-500/30 bg-red-500/10 p-3 text-sm text-red-600",children:c})]})]})]}),(0,s.jsx)(l,{service:i[0]}),(0,s.jsx)(l,{service:i[1]}),(0,s.jsx)(l,{service:i[2]}),(0,s.jsx)(l,{service:i[3]}),(0,s.jsx)(l,{service:i[4]})]}),(0,s.jsxs)("footer",{className:"mt-14 flex flex-col items-center justify-between gap-4 border-t border-slate-200 pt-6 sm:flex-row",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsx)("img",{src:"/fjslogo.svg",alt:"Fujinet Systems JSC",className:"h-7 w-auto"}),(0,s.jsx)("div",{className:"leading-tight",children:(0,s.jsx)("p",{className:"text-xs text-slate-400",children:"Internal Portal \xb7 v1.0.0"})})]}),(0,s.jsxs)("div",{className:"text-xs text-slate-400",children:["\xa9 2026 Fujinet Systems. All rights reserved."," ",(0,s.jsx)("a",{href:"mailto:itadmin@fujinet.net",target:"_blank",rel:"noopener noreferrer",className:"font-medium text-indigo-500 hover:underline",children:"Contact: itadmin@fujinet.net"})]})]})]})]})}}},e=>{e.O(0,[620,8441,3794,7358],()=>e(e.s=33796)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4520],{33796:(e,t,r)=>{Promise.resolve().then(r.bind(r,83016))},54642:e=>{var t;"u">typeof __nccwpck_require__&&(__nccwpck_require__.ab="//"),(t={}).endianness=function(){return"LE"},t.hostname=function(){return"u">typeof location?location.hostname:""},t.loadavg=function(){return[]},t.uptime=function(){return 0},t.freemem=function(){return Number.MAX_VALUE},t.totalmem=function(){return Number.MAX_VALUE},t.cpus=function(){return[]},t.type=function(){return"Browser"},t.release=function(){return"u">typeof navigator?navigator.appVersion:""},t.networkInterfaces=t.getNetworkInterfaces=function(){return{}},t.arch=function(){return"javascript"},t.platform=function(){return"browser"},t.tmpdir=t.tmpDir=function(){return"/tmp"},t.EOL="\n",t.homedir=function(){return"/"},e.exports=t},73321:(e,t,r)=>{"use strict";var s=r(74645);r.o(s,"notFound")&&r.d(t,{notFound:function(){return s.notFound}}),r.o(s,"useParams")&&r.d(t,{useParams:function(){return s.useParams}}),r.o(s,"usePathname")&&r.d(t,{usePathname:function(){return s.usePathname}}),r.o(s,"useRouter")&&r.d(t,{useRouter:function(){return s.useRouter}}),r.o(s,"useSearchParams")&&r.d(t,{useSearchParams:function(){return s.useSearchParams}})},83016:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>d});var s=r(95155),n=r(12115),a=r(73321),o=r(90620);let i=[{badge:"API",badgeColor:"bg-indigo-500",title:"AI API Gateway",description:"Quản l\xfd endpoint AI nội bộ. Theo d\xf5i trạng th\xe1i model, cấu h\xecnh routing v\xe0 gi\xe1m s\xe1t lưu lượng API theo thời gian thực.",href:"/dashboard",accent:"from-indigo-500/10 to-indigo-500/5",borderHover:"hover:border-indigo-300"},{badge:"CHAT",badgeColor:"bg-violet-500",title:"AI Web Chat",description:"Tr\xf2 chuyện với AI nội bộ. Hỗ trợ viết code, ph\xe2n t\xedch t\xe0i liệu, brainstorm \xfd tưởng v\xe0 trả lời c\xe2u hỏi kỹ thuật.",href:"https://ai.fujinet.vn/",accent:"from-violet-500/10 to-violet-500/5",borderHover:"hover:border-violet-300"},{badge:"DỊCH",badgeColor:"bg-purple-500",title:"AI Translator",description:"Dịch t\xe0i liệu hỗ trợ 201 ng\xf4n ngữ. Hỗ trợ Word, Excel, PowerPoint, IMAGE v\xe0 PDF với khả năng giữ nguy\xean định dạng gốc.",href:"https://translate-workspace.fujinet.vn",accent:"from-purple-500/10 to-purple-500/5",borderHover:"hover:border-purple-300"},{badge:"TICKET",badgeColor:"bg-blue-500",title:"IT Support",description:"Gửi y\xeau cầu hỗ trợ kỹ thuật. Theo d\xf5i tiến độ xử l\xfd ticket, trao đổi trực tiếp với đội IT v\xe0 xem lịch sử sự cố.",href:"https://itsupport.fujinet.vn",accent:"from-blue-500/10 to-blue-500/5",borderHover:"hover:border-blue-300"},{badge:"ASSET",badgeColor:"bg-sky-500",title:"IT Resource",description:"Quản l\xfd t\xe0i nguy\xean CNTT nội bộ. Đăng k\xfd cấp ph\xe1t thiết bị, t\xe0i khoản, quyền truy cập VPN v\xe0 c\xe1c dịch vụ hạ tầng.",href:"https://itresource.fujinet.net/",accent:"from-sky-500/10 to-sky-500/5",borderHover:"hover:border-sky-300"}];function l({service:e}){return(0,s.jsxs)("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",className:`group relative flex min-h-[260px] flex-col rounded-2xl border border-slate-200/80 bg-white/80 p-6 shadow-sm backdrop-blur transition-all duration-200 ${e.borderHover} hover:-translate-y-0.5 hover:shadow-lg`,children:[(0,s.jsx)("div",{className:`pointer-events-none absolute inset-0 rounded-2xl bg-gradient-to-br ${e.accent} opacity-0 transition-opacity group-hover:opacity-100`}),(0,s.jsxs)("div",{className:"relative flex h-full flex-col",children:[(0,s.jsx)("span",{className:`inline-flex w-fit rounded-lg ${e.badgeColor} px-2.5 py-1 text-[11px] font-bold tracking-widest text-white shadow-sm`,children:e.badge}),(0,s.jsx)("h2",{className:"mt-4 text-lg font-bold text-slate-800",children:e.title}),(0,s.jsx)("p",{className:"mt-2 flex-1 text-sm leading-relaxed text-slate-500",children:e.description}),(0,s.jsxs)("span",{className:"mt-5 inline-flex items-center gap-1.5 text-xs font-semibold uppercase tracking-wide text-indigo-500 opacity-0 transition-opacity group-hover:opacity-100",children:["Truy cập",(0,s.jsx)("svg",{className:"h-3.5 w-3.5 transition-transform group-hover:translate-x-0.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3"})})]})]})]})}function d(){let[e,t]=(0,n.useState)("admin"),[r,d]=(0,n.useState)(""),[c,u]=(0,n.useState)(""),[x,h]=(0,n.useState)(""),[p,m]=(0,n.useState)(0),[g,b]=(0,n.useState)(!1),[f,v]=(0,n.useState)(null),[j,w]=(0,n.useState)("password"),[y,N]=(0,n.useState)(!1),[k,S]=(0,n.useState)("Sign in with OIDC"),[C,I]=(0,n.useState)(!1),[P,A]=(0,n.useState)(!1),[T,_]=(0,n.useState)("admin"),L=(0,a.useRouter)(),E=o.vQ?.name||"FJS Digital Workspace";(0,n.useEffect)(()=>{if(p<=0)return;let e=setInterval(()=>m(e=>e>0?e-1:0),1e3);return()=>clearInterval(e)},[p]),(0,n.useEffect)(()=>{!async function(){let e=new AbortController,r=setTimeout(()=>e.abort(),5e3),s=window.location.origin;try{let n=await fetch(`${s}/api/auth/status`,{signal:e.signal});if(clearTimeout(r),n.ok){let e=await n.json();v(!!e.hasPassword),w(e.authMode||"password"),N(!0===e.oidcConfigured),S(e.oidcLoginLabel||"Sign in with OIDC"),I(!0===e.ldapEnabled),A(!0===e.ldapConfigured),_(e.localLoginUsername||"admin"),t(e.localLoginUsername||"admin")}else v(!0)}catch{clearTimeout(r),v(!0)}}()},[L]);let H=async t=>{t.preventDefault(),b(!0),u(""),h("");try{let t=await fetch("/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:e,password:r,loginType:"auto"})});if(t.ok)L.push("/dashboard"),L.refresh();else{let e=await t.json();u(e.error||"Invalid account or password"),e.resetHint&&h(e.resetHint),e.retryAfter&&m(Number(e.retryAfter))}}catch{u("An error occurred. Please try again.")}finally{b(!1)}},D=y&&["oidc","both"].includes(j),F="oidc"!==j||!y,O=C&&P&&F;return(0,s.jsxs)("main",{className:"relative min-h-screen overflow-hidden bg-slate-50 text-slate-800",children:[(0,s.jsx)("div",{className:"pointer-events-none absolute inset-x-0 top-0 h-72",style:{background:"linear-gradient(135deg, rgba(139,92,246,0.12) 0%, rgba(99,102,241,0.10) 40%, rgba(56,189,248,0.06) 100%)"}}),(0,s.jsx)("div",{className:"pointer-events-none absolute inset-0 opacity-[0.36]",style:{backgroundImage:"linear-gradient(to right, rgba(99,102,241,0.08) 1px, transparent 1px), linear-gradient(to bottom, rgba(99,102,241,0.08) 1px, transparent 1px)",backgroundSize:"48px 48px"}}),(0,s.jsxs)("div",{className:"relative mx-auto max-w-6xl px-6 py-12 lg:px-8",children:[(0,s.jsxs)("header",{className:"mb-10",children:[(0,s.jsxs)("div",{className:"mb-5 flex items-center gap-4",children:[(0,s.jsx)("img",{src:"/fjslogo.svg",alt:"Fujinet Systems JSC",className:"h-10 w-auto"}),(0,s.jsxs)("div",{className:"leading-none",children:[(0,s.jsx)("p",{className:"text-[11px] font-bold uppercase tracking-[0.2em] text-indigo-600",children:"Internal Portal"}),(0,s.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-[0.15em] text-slate-400",children:"Cổng nội bộ Fujinet"})]})]}),(0,s.jsx)("h1",{className:"text-4xl font-extrabold tracking-tight text-slate-900 sm:text-5xl",children:E}),(0,s.jsx)("p",{className:"mt-4 max-w-2xl text-base leading-relaxed text-slate-500",children:"Đăng nhập AI Router Gateway hoặc truy cập nhanh c\xe1c hệ thống nội bộ của Fujinet Systems."})]}),(0,s.jsxs)("section",{className:"grid items-stretch gap-4 sm:grid-cols-2 lg:grid-cols-3",children:[(0,s.jsxs)("div",{className:"relative flex min-h-[260px] flex-col rounded-2xl border border-indigo-200/80 bg-white/90 p-6 shadow-sm backdrop-blur transition-all duration-200 hover:-translate-y-0.5 hover:border-indigo-300 hover:shadow-lg",children:[(0,s.jsx)("div",{className:"pointer-events-none absolute inset-0 rounded-2xl bg-gradient-to-br from-indigo-500/10 to-indigo-500/5"}),(0,s.jsxs)("div",{className:"relative flex h-full flex-col",children:[(0,s.jsx)("div",{className:"mb-4 flex items-center justify-between gap-3",children:(0,s.jsx)("span",{className:"inline-flex rounded-lg bg-indigo-500 px-2.5 py-1 text-[11px] font-bold tracking-widest text-white shadow-sm",children:"LOGIN"})}),(0,s.jsx)("h2",{className:"text-lg font-bold text-slate-800",children:"AI Router Gateway"}),(0,s.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-slate-500",children:"Đăng nhập để quản trị API key, provider, routing, prompt logs v\xe0 dashboard usage."}),null===f?(0,s.jsx)("div",{className:"mt-5 rounded-xl border border-slate-200 bg-slate-50 px-4 py-3 text-sm text-slate-500",children:"Loading..."}):(0,s.jsxs)("div",{className:"mt-5 flex-1",children:[D&&(0,s.jsxs)("button",{type:"button",onClick:()=>{window.location.href="/api/auth/oidc/start"},className:"mb-3 flex w-full items-center justify-center gap-2 rounded-xl border border-slate-200 bg-slate-50 px-4 py-2.5 text-sm font-semibold text-slate-700 transition hover:border-indigo-300 hover:bg-indigo-50",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"lock_open"}),k]}),D&&F&&(0,s.jsxs)("div",{className:"mb-3 flex items-center gap-3 text-xs text-slate-400",children:[(0,s.jsx)("span",{className:"h-px flex-1 bg-slate-200"}),"or",(0,s.jsx)("span",{className:"h-px flex-1 bg-slate-200"})]}),F?(0,s.jsxs)("form",{onSubmit:H,className:"space-y-3",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"mb-1 block text-xs font-semibold uppercase tracking-wide text-slate-500",children:"Account"}),(0,s.jsx)("input",{value:e,onChange:e=>t(e.target.value),placeholder:O?"admin or your LDAP username":T||"admin",autoFocus:!D,required:!0,className:"w-full rounded-xl border border-slate-200 bg-white px-3 py-2.5 text-sm shadow-sm outline-none transition placeholder:text-slate-400 focus:border-indigo-400 focus:ring-4 focus:ring-indigo-500/15"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"mb-1 block text-xs font-semibold uppercase tracking-wide text-slate-500",children:"Password"}),(0,s.jsx)("input",{type:"password",value:r,onChange:e=>d(e.target.value),placeholder:"Enter password",required:!0,className:"w-full rounded-xl border border-slate-200 bg-white px-3 py-2.5 text-sm shadow-sm outline-none transition placeholder:text-slate-400 focus:border-indigo-400 focus:ring-4 focus:ring-indigo-500/15"})]}),"oidc"===j&&!y&&(0,s.jsx)("p",{className:"rounded-xl border border-yellow-500/30 bg-yellow-500/10 p-2.5 text-xs text-yellow-700",children:"OIDC login is enabled, but not configured yet. Password login is still available for recovery."}),"both"===j&&y&&(0,s.jsx)("p",{className:"rounded-xl border border-blue-500/30 bg-blue-500/10 p-2.5 text-xs text-blue-700",children:"Password/OIDC login are both enabled."}),c&&(0,s.jsx)("p",{className:"rounded-xl border border-red-500/30 bg-red-500/10 p-2.5 text-sm text-red-600",children:c}),p>0&&(0,s.jsxs)("p",{className:"rounded-xl border border-red-500/30 bg-red-500/10 p-2.5 text-sm text-red-600",children:["Locked. Retry in ",p,"s."]}),x&&(0,s.jsxs)("p",{className:"rounded-xl border border-slate-200 bg-slate-50 p-2.5 text-xs text-slate-500",children:["Forgot password? Open ",(0,s.jsx)("span",{className:"font-mono",children:"bluerouter"})," CLI on the host → Settings → Reset Password to Default."]}),(0,s.jsx)("button",{type:"submit",disabled:g||p>0,className:"w-full rounded-xl bg-gradient-to-r from-indigo-600 to-violet-500 px-4 py-2.5 text-sm font-semibold text-white shadow-lg shadow-indigo-500/20 transition hover:-translate-y-0.5 hover:shadow-indigo-500/30 disabled:cursor-not-allowed disabled:translate-y-0 disabled:opacity-50",children:p>0?`Wait ${p}s`:g?"Signing in...":"Login"}),!1===f&&(0,s.jsx)("p",{className:"text-center text-xs text-slate-500",children:"No custom password is set yet. The default password above will work until you change it."})]}):c&&(0,s.jsx)("p",{className:"rounded-xl border border-red-500/30 bg-red-500/10 p-3 text-sm text-red-600",children:c})]})]})]}),(0,s.jsx)(l,{service:i[0]}),(0,s.jsx)(l,{service:i[1]}),(0,s.jsx)(l,{service:i[2]}),(0,s.jsx)(l,{service:i[3]}),(0,s.jsx)(l,{service:i[4]})]}),(0,s.jsxs)("footer",{className:"mt-14 flex flex-col items-center justify-between gap-4 border-t border-slate-200 pt-6 sm:flex-row",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsx)("img",{src:"/fjslogo.svg",alt:"Fujinet Systems JSC",className:"h-7 w-auto"}),(0,s.jsx)("div",{className:"leading-tight",children:(0,s.jsx)("p",{className:"text-xs text-slate-400",children:"Internal Portal \xb7 v1.0.0"})})]}),(0,s.jsxs)("div",{className:"text-xs text-slate-400",children:["\xa9 2026 Fujinet Systems. All rights reserved."," ",(0,s.jsx)("a",{href:"mailto:itadmin@fujinet.net",target:"_blank",rel:"noopener noreferrer",className:"font-medium text-indigo-500 hover:underline",children:"Contact: itadmin@fujinet.net"})]})]})]})]})}}},e=>{e.O(0,[620,8441,3794,7358],()=>e(e.s=33796)),_N_E=e.O()}]);
package/app/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bluerouter-app",
3
- "version": "3.0.24",
3
+ "version": "3.0.25",
4
4
  "description": "Router web dashboard",
5
5
  "private": false,
6
6
  "scripts": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jheavenknows/bluerouter",
3
- "version": "3.0.24",
3
+ "version": "3.0.25",
4
4
  "description": "Bluerouter CLI - Start and manage Bluerouter server",
5
5
  "bin": {
6
6
  "bluerouter": "./cli.js"