@jheavenknows/bluerouter 5.0.69 → 5.0.70

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 (437) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +3 -3
  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/personalcloudprovider/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalquota/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page_client-reference-manifest.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  37. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  38. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  39. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  40. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  41. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  42. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  43. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  44. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  45. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  46. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  47. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  48. package/app/.next-cli-build/server/app/_not-found.rsc +4 -4
  49. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
  50. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  51. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +4 -4
  52. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  53. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  54. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  55. package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js.nft.json +1 -1
  56. package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js.nft.json +1 -1
  57. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  58. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  59. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  60. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  61. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  62. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  63. package/app/.next-cli-build/server/app/api/branding/[asset]/route.js.nft.json +1 -1
  64. package/app/.next-cli-build/server/app/api/branding/route.js.nft.json +1 -1
  65. package/app/.next-cli-build/server/app/api/branding/upload/route.js.nft.json +1 -1
  66. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  67. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  68. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route.js.nft.json +1 -1
  69. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route.js.nft.json +1 -1
  70. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route.js.nft.json +1 -1
  71. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  72. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  73. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  74. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  75. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  76. package/app/.next-cli-build/server/app/api/dashboard/analytics/route.js.nft.json +1 -1
  77. package/app/.next-cli-build/server/app/api/dashboard/combos/route.js.nft.json +1 -1
  78. package/app/.next-cli-build/server/app/api/dashboard/endpoint/route.js.nft.json +1 -1
  79. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js.nft.json +1 -1
  80. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/options/route.js.nft.json +1 -1
  81. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js.nft.json +1 -1
  82. package/app/.next-cli-build/server/app/api/dashboard/token-saver/route.js.nft.json +1 -1
  83. package/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js.nft.json +1 -1
  84. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  85. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  86. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  87. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  88. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  89. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  90. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  91. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  92. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  93. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  94. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  95. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  96. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  97. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  98. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  99. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  100. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  101. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  102. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  103. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  104. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  105. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  107. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/api-key-models/route.js.nft.json +1 -1
  108. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/import-models/route.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/models/[...routeModel]/route.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/route.js.nft.json +1 -1
  111. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/usage/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/personal-cloud-providers/client/route.js.nft.json +1 -1
  113. package/app/.next-cli-build/server/app/api/personal-cloud-providers/permissions/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/personal-cloud-providers/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/personal-cloud-providers/routing/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/pricing/recalculate/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/provider-health/route.js.nft.json +1 -1
  119. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  155. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  176. package/app/.next-cli-build/server/app/callback.html +1 -1
  177. package/app/.next-cli-build/server/app/callback.rsc +4 -4
  178. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
  179. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  180. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +4 -4
  181. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  182. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  183. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  184. package/app/.next-cli-build/server/app/dashboard/analytics.html +1 -1
  185. package/app/.next-cli-build/server/app/dashboard/analytics.rsc +5 -5
  186. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics/__PAGE__.segment.rsc +1 -1
  187. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics.segment.rsc +1 -1
  188. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  189. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  190. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_full.segment.rsc +5 -5
  191. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_head.segment.rsc +1 -1
  192. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_index.segment.rsc +4 -4
  193. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_tree.segment.rsc +1 -1
  194. package/app/.next-cli-build/server/app/dashboard/api-keys.html +1 -1
  195. package/app/.next-cli-build/server/app/dashboard/api-keys.rsc +6 -6
  196. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard/api-keys/__PAGE__.segment.rsc +2 -2
  197. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard/api-keys.segment.rsc +1 -1
  198. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  199. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  200. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_full.segment.rsc +6 -6
  201. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_head.segment.rsc +1 -1
  202. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_index.segment.rsc +4 -4
  203. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_tree.segment.rsc +1 -1
  204. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  205. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +6 -6
  206. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  207. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  208. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  209. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  210. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
  211. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  212. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
  213. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
  214. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  215. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +6 -6
  216. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  217. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  218. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  219. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  220. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +6 -6
  221. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  222. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
  223. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  224. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  225. package/app/.next-cli-build/server/app/dashboard/combos.rsc +6 -6
  226. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  227. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  228. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  229. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  230. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
  231. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  232. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
  233. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  234. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  235. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +6 -6
  236. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  237. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  238. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  239. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  240. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +6 -6
  241. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  242. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
  243. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  244. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  245. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +6 -6
  246. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  247. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  248. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  249. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  250. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  251. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +6 -6
  252. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  253. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +4 -4
  254. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
  255. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  256. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +6 -6
  257. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  258. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  259. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  260. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  261. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
  262. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  263. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
  264. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
  265. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  266. package/app/.next-cli-build/server/app/dashboard/profile.rsc +5 -5
  267. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +1 -1
  268. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  269. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  270. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  271. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +5 -5
  272. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  273. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
  274. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  275. package/app/.next-cli-build/server/app/dashboard/prompt-logs.html +1 -1
  276. package/app/.next-cli-build/server/app/dashboard/prompt-logs.rsc +6 -6
  277. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs/__PAGE__.segment.rsc +2 -2
  278. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs.segment.rsc +1 -1
  279. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  280. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  281. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_full.segment.rsc +6 -6
  282. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_head.segment.rsc +1 -1
  283. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_index.segment.rsc +4 -4
  284. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_tree.segment.rsc +1 -1
  285. package/app/.next-cli-build/server/app/dashboard/provider-health.html +1 -1
  286. package/app/.next-cli-build/server/app/dashboard/provider-health.rsc +5 -5
  287. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health/__PAGE__.segment.rsc +1 -1
  288. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health.segment.rsc +1 -1
  289. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  290. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  291. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_full.segment.rsc +5 -5
  292. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_head.segment.rsc +1 -1
  293. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_index.segment.rsc +4 -4
  294. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_tree.segment.rsc +1 -1
  295. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  296. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +6 -6
  297. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  298. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  299. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  300. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  301. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  302. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
  303. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  304. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
  305. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  306. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  307. package/app/.next-cli-build/server/app/dashboard/providers.rsc +6 -6
  308. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  309. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  310. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  311. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  312. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
  313. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  314. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
  315. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  316. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  317. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +6 -6
  318. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  319. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  320. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  321. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  322. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
  323. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  324. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
  325. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  326. package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
  327. package/app/.next-cli-build/server/app/dashboard/quota.rsc +7 -7
  328. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  329. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  330. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  331. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  332. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
  333. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  334. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
  335. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  336. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  337. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  338. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
  339. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  340. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  341. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
  342. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  343. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  344. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  345. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  346. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  347. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  348. package/app/.next-cli-build/server/app/dashboard/skills.rsc +6 -6
  349. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  350. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  351. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  352. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  353. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +6 -6
  354. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  355. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +4 -4
  356. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
  357. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  358. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +5 -5
  359. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +1 -1
  360. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  361. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  362. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  363. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +5 -5
  364. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  365. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +4 -4
  366. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
  367. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  368. package/app/.next-cli-build/server/app/dashboard/translator.rsc +6 -6
  369. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  370. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  371. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  372. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  373. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
  374. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  375. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
  376. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  377. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  378. package/app/.next-cli-build/server/app/dashboard/usage.rsc +6 -6
  379. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  380. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  381. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  382. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  383. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
  384. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  385. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
  386. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  387. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  388. package/app/.next-cli-build/server/app/dashboard.rsc +6 -6
  389. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  390. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  391. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  392. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +6 -6
  393. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  394. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +4 -4
  395. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  396. package/app/.next-cli-build/server/app/index.html +1 -1
  397. package/app/.next-cli-build/server/app/index.rsc +4 -4
  398. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  399. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +4 -4
  400. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  401. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +4 -4
  402. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
  403. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  404. package/app/.next-cli-build/server/app/landing.html +1 -1
  405. package/app/.next-cli-build/server/app/landing.rsc +4 -4
  406. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
  407. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  408. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +4 -4
  409. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  410. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  411. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  412. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  413. package/app/.next-cli-build/server/app/login.html +1 -1
  414. package/app/.next-cli-build/server/app/login.rsc +4 -4
  415. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
  416. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  417. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +4 -4
  418. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  419. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  420. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  421. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  422. package/app/.next-cli-build/server/app-paths-manifest.json +3 -3
  423. package/app/.next-cli-build/server/chunks/402.js +7 -3
  424. package/app/.next-cli-build/server/chunks/700.js +1 -1
  425. package/app/.next-cli-build/server/chunks/7242.js +20 -6
  426. package/app/.next-cli-build/server/chunks/9489.js +1 -1
  427. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  428. package/app/.next-cli-build/server/pages/404.html +1 -1
  429. package/app/.next-cli-build/server/pages/500.html +1 -1
  430. package/app/.next-cli-build/static/chunks/{5497-fb31f66166ad1f83.js → 5497-848daf8851fab4ce.js} +1 -1
  431. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/prompt-logs/page-bbcbd864a1079a79.js +1 -0
  432. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/upgrade-5.0.67-to-5.0.69-5.0.69-20260702-163631/data.sqlite +0 -0
  433. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite-shm +0 -0
  434. package/package.json +1 -1
  435. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/prompt-logs/page-dda9b8c0f1598d99.js +0 -1
  436. /package/app/.next-cli-build/static/{vII5krioXbpX-AlS4qjud → jXgZLlSVP4vmoM2PcXbnF}/_buildManifest.js +0 -0
  437. /package/app/.next-cli-build/static/{vII5krioXbpX-AlS4qjud → jXgZLlSVP4vmoM2PcXbnF}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7692],{55478:(e,t,r)=>{"use strict";r.d(t,{default:()=>z});var s=r(95155),a=r(12115);let o={client:"Client request",source:"Source request",openai:"OpenAI normalized",target:"Provider request",provider_response:"Provider response",error:"Error"},l={client:"bg-blue-500/10 text-blue-600 border-blue-500/20",source:"bg-cyan-500/10 text-cyan-600 border-cyan-500/20",openai:"bg-purple-500/10 text-purple-600 border-purple-500/20",target:"bg-orange-500/10 text-orange-600 border-orange-500/20",provider_response:"bg-green-500/10 text-green-600 border-green-500/20",error:"bg-red-500/10 text-red-600 border-red-500/20"};function n(e){if(!e)return"-";try{let t=function(e){if(!e)return"";if(e instanceof Date)return e.toISOString();let t=String(e).trim();if(!t)return"";let r=t.replace(" ","T");return/(?:Z|[+-]\d{2}:?\d{2})$/i.test(r)?r:`${r}Z`}(e),r=new Date(t);if(Number.isNaN(r.getTime()))return String(e);return r.toLocaleString("vi-VN",{timeZone:"Asia/Ho_Chi_Minh",day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}catch{return e}}function d(e,t=240){let r=String(e||"").replace(/\s+/g," ").trim();return r.length>t?`${r.slice(0,t)}...`:r}function i(e){let t=String(e||"").trim();if(!t)return"";try{return new URL(t).hostname||""}catch{return t.replace(/^https?:\/\//,"").replace(/\/.*$/,"").replace(/:\d+$/,"")}}function c(e){return e?.provider_name||e?.provider_label||e?.provider_id||e?.provider||i(e?.provider_url)||i(e?.endpoint)||""}function x(e){return String(e||"").trim()}function m(e){let t=function(e={}){let t=x(c(e)).toLowerCase(),r=x(e.owner_user||e.ownerUser),s=x(e.account_email||e.accountEmail||e.email);if(!t||!r||!s||!function(e={}){let t=x(e?.display_model);return e?.isPersonalOAuth===!0||e?.is_personal_oauth===!0||e?.connection_scope==="personal"||e?.connectionScope==="personal"||e?.visibility==="private"||!!(e?.owner_user||e?.ownerUser)||/^[^/]+\/[^/]+@[^/]+\/[^/]+\//.test(t)}(e))return"";let a=x(e.model||e.rawModel||e.raw_model);if(!a){let t=x(e.display_model);if(t){let e=t.split("/").filter(Boolean);a=e[e.length-1]||""}}return a&&"-"!==a?(a.startsWith(`${t}/`)&&(a=a.slice(t.length+1)),`${r}/${s}/${t}/${a}`):""}(e);if(t)return t;if(e?.display_model)return e.display_model;let r=e?.model||"-",s=c(e);return!s||"-"===r||String(r).startsWith(`${s}/`)?r:`${s}/${r}`}function p(e){if(!e)return null;if("object"==typeof e)return e;try{return JSON.parse(e)}catch{return null}}function u({copied:e,onClick:t,label:r="Copy"}){return(0,s.jsx)("button",{type:"button",onClick:t,className:`rounded-xl border px-3 py-1.5 text-xs font-medium shadow-sm transition ${e?"border-emerald-500/30 bg-emerald-500/10 text-emerald-600":"border-zinc-200 bg-white text-zinc-900 hover:bg-zinc-50 dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-100 dark:hover:bg-zinc-800"}`,children:e?"Đ\xe3 copy":r})}function b({value:e}){let t=p(e),r=t?JSON.stringify(t,null,2):String(e||"");return(0,s.jsx)("pre",{className:"max-h-[42vh] max-w-full overflow-auto whitespace-pre-wrap break-words rounded-2xl bg-zinc-950 p-4 text-xs leading-relaxed text-zinc-100 shadow-inner [overflow-wrap:anywhere]",children:r||"No JSON"})}function h({value:e,empty:t="No content"}){return(0,s.jsx)("pre",{className:"max-h-[42vh] max-w-full overflow-auto whitespace-pre-wrap break-words rounded-2xl border border-zinc-200 bg-white p-4 font-mono text-xs leading-relaxed text-zinc-950 shadow-sm [overflow-wrap:anywhere] dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-100",children:e||t})}function g({label:e,value:t}){return(0,s.jsxs)("div",{className:"rounded-2xl border border-border bg-surface p-4 shadow-sm",children:[(0,s.jsx)("div",{className:"text-xs uppercase tracking-wide text-text-muted",children:e}),(0,s.jsx)("div",{className:"mt-1 text-2xl font-semibold text-text-main",children:t})]})}function f({stage:e}){let t=l[e]||"bg-surface text-text-main border-border";return(0,s.jsx)("span",{className:`inline-flex items-center rounded-full border px-2.5 py-1 text-xs font-medium ${t}`,children:o[e]||e||"-"})}function j({label:e,value:t}){return(0,s.jsxs)("div",{className:"rounded-2xl border border-zinc-200 bg-white p-3 shadow-sm dark:border-zinc-700 dark:bg-zinc-950",children:[(0,s.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-wide text-text-muted",children:e}),(0,s.jsx)("pre",{className:"mt-2 whitespace-pre-wrap break-words font-mono text-xs leading-relaxed text-text-main",children:t||"-"})]})}let N=["prompt","Prompt"],w=["request","Request JSON"],v=["response","Response text"],y=["responseJson","Response JSON"],_=["meta","Metadata"];function k(e){return"provider_response"===e?[v,y,_]:"client"===e||"source"===e||"openai"===e||"target"===e?[N,w,_]:[N,w,v,y,_]}function z(){let[e,t]=(0,a.useState)({keyword:"",model:"",stage:"",comboName:"",sourceTool:"",clientIp:"",sessionId:"",dateFrom:"",dateTo:"",limit:"50",offset:"0"}),[r,l]=(0,a.useState)([]),[i,x]=(0,a.useState)([]),[N,w]=(0,a.useState)([]),[v,y]=(0,a.useState)([]),[_,z]=(0,a.useState)(0),[S,C]=(0,a.useState)(null),[$,T]=(0,a.useState)(""),[I,E]=(0,a.useState)(""),[P,O]=(0,a.useState)(!1),[M,q]=(0,a.useState)(null),[J,D]=(0,a.useState)("prompt"),[F,L]=(0,a.useState)(""),[R,A]=(0,a.useState)(""),U=(0,a.useMemo)(()=>{let t=Number(e.limit||50);return Math.floor(Number(e.offset||0)/t)+1},[e.limit,e.offset]),H=(0,a.useCallback)(async()=>{O(!0),E(""),T("");try{let t=new URLSearchParams;Object.entries(e).forEach(([e,r])=>{String(r||"").trim()&&t.set(e,String(r).trim())});let r=await fetch(`/api/dashboard/prompt-logs?${t}`),s=await r.json();if(!r.ok)throw Error(s.error||"Failed to load prompt logs");l(s.rows||[]),x(s.models||[]),w(s.stages||[]),y(s.combos||[]),z(s.total||0),C(s.dbInfo||null),s.disabled&&T("Database prompt logging is disabled. Enable it in Dashboard -> MITM -> Prompt Log Database."),s.missing&&T("Prompt log database/table has no data yet, or the configured database is not initialized.")}catch(e){E(e.message||"Failed to load prompt logs")}finally{O(!1)}},[e]);(0,a.useEffect)(()=>{H()},[H]);let Z=e=>{t(t=>({...t,...e,offset:void 0!==e.offset?e.offset:"0"}))},B=async e=>{E("");try{var t;let r=await fetch(`/api/dashboard/prompt-logs/${encodeURIComponent(e)}`),s=await r.json();if(!r.ok)throw Error(s.error||"Failed to load detail");q(s.row),D((t=s.row?.stage,k(t)?.[0]?.[0]||"meta"))}catch(e){E(e.message||"Failed to load detail")}},V=async(e,t="copy")=>{let r=function(e){if(null==e||""===e)return"";if("string"==typeof e){let t=p(e);return t?JSON.stringify(t,null,2):e}if("object"==typeof e)try{return JSON.stringify(e,null,2)}catch{}return String(e)}(e);await navigator.clipboard.writeText(r),L(t),A("Đ\xe3 copy v\xe0o clipboard"),window.setTimeout(()=>{L(e=>e===t?"":e)},2200),window.setTimeout(()=>{A("")},2600)},W=async()=>{M?.id&&confirm("Delete this prompt log row?")&&(await fetch(`/api/dashboard/prompt-logs/${encodeURIComponent(M.id)}`,{method:"DELETE"})).ok&&(q(null),H())};return(0,a.useEffect)(()=>{if(!M)return;let e=k(M.stage);e.some(([e])=>e===J)||D(e[0]?.[0]||"meta")},[M,J]),(0,s.jsxs)("div",{className:"flex w-full max-w-none flex-col gap-5 p-3 md:p-4 lg:p-6",children:[(0,s.jsxs)("div",{className:"flex flex-col gap-2 md:flex-row md:items-end md:justify-between",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{className:"text-2xl font-semibold text-text-main",children:"Prompt Logs"}),(0,s.jsx)("p",{className:"mt-1 text-sm text-text-muted",children:"Search Copilot/MITM prompts across the currently configured prompt log database."})]}),(0,s.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,s.jsx)("a",{href:"/dashboard/mitm",className:"rounded-xl border border-border px-3 py-2 text-sm hover:bg-surface",children:"MITM Settings"}),(0,s.jsx)("button",{onClick:H,disabled:P,className:"rounded-xl bg-primary px-3 py-2 text-sm font-medium text-white disabled:opacity-50",children:P?"Loading...":"Refresh"})]})]}),$&&(0,s.jsx)("div",{className:"rounded-2xl border border-yellow-500/30 bg-yellow-500/10 p-4 text-sm text-yellow-700 dark:text-yellow-300",children:$}),I&&(0,s.jsx)("div",{className:"rounded-2xl border border-red-500/30 bg-red-500/10 p-4 text-sm text-red-500",children:I}),(0,s.jsxs)("div",{className:"grid gap-4 md:grid-cols-4",children:[(0,s.jsx)(g,{label:"Matching rows",value:_}),(0,s.jsx)(g,{label:"Loaded rows",value:r.length}),(0,s.jsx)(g,{label:"Page",value:U}),(0,s.jsx)(g,{label:"Database",value:S?.type||"-"})]}),S&&(0,s.jsxs)("div",{className:"rounded-2xl border border-border bg-surface p-3 text-xs text-text-muted",children:["DB: ",(0,s.jsx)("code",{children:S.type}),S.host?(0,s.jsxs)(s.Fragment,{children:[" ","\xb7 Host: ",(0,s.jsx)("code",{children:S.host})]}):null,S.database?(0,s.jsxs)(s.Fragment,{children:[" ","\xb7 Database: ",(0,s.jsx)("code",{children:S.database})]}):null]}),(0,s.jsx)("div",{className:"rounded-2xl border border-border bg-surface p-4 shadow-sm",children:(0,s.jsxs)("div",{className:"grid gap-3 md:grid-cols-4 xl:grid-cols-6",children:[(0,s.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,s.jsx)("span",{className:"text-text-muted",children:"Keyword"}),(0,s.jsx)("input",{value:e.keyword,onChange:e=>Z({keyword:e.target.value}),placeholder:"prompt, code, model, error...",className:"rounded-xl border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-2 focus:ring-primary/30"})]}),(0,s.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,s.jsx)("span",{className:"text-text-muted",children:"Model"}),(0,s.jsxs)("select",{value:e.model,onChange:e=>Z({model:e.target.value}),className:"rounded-xl border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-2 focus:ring-primary/30",children:[(0,s.jsx)("option",{value:"",children:"All models"}),i.map(e=>(0,s.jsx)("option",{value:e,children:e},e))]})]}),(0,s.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,s.jsx)("span",{className:"text-text-muted",children:"Stage"}),(0,s.jsxs)("select",{value:e.stage,onChange:e=>Z({stage:e.target.value}),className:"rounded-xl border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-2 focus:ring-primary/30",children:[(0,s.jsx)("option",{value:"",children:"All stages"}),N.map(e=>(0,s.jsx)("option",{value:e,children:o[e]||e},e))]})]}),(0,s.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,s.jsx)("span",{className:"text-text-muted",children:"Combo"}),(0,s.jsxs)("select",{value:e.comboName,onChange:e=>Z({comboName:e.target.value}),className:"rounded-xl border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-2 focus:ring-primary/30",children:[(0,s.jsx)("option",{value:"",children:"All combos"}),v.map(e=>(0,s.jsx)("option",{value:e,children:e},e))]})]}),(0,s.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,s.jsx)("span",{className:"text-text-muted",children:"Tool"}),(0,s.jsx)("input",{value:e.sourceTool,onChange:e=>Z({sourceTool:e.target.value}),placeholder:"copilot, antigravity...",className:"rounded-xl border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-2 focus:ring-primary/30"})]}),(0,s.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,s.jsx)("span",{className:"text-text-muted",children:"Client IP"}),(0,s.jsx)("input",{value:e.clientIp,onChange:e=>Z({clientIp:e.target.value}),placeholder:"172.16.253.1",className:"rounded-xl border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-2 focus:ring-primary/30"})]}),(0,s.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,s.jsx)("span",{className:"text-text-muted",children:"Session ID"}),(0,s.jsx)("input",{value:e.sessionId,onChange:e=>Z({sessionId:e.target.value}),placeholder:"session id",className:"rounded-xl border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-2 focus:ring-primary/30"})]}),(0,s.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,s.jsx)("span",{className:"text-text-muted",children:"From"}),(0,s.jsx)("input",{type:"datetime-local",value:e.dateFrom,onChange:e=>Z({dateFrom:e.target.value}),className:"rounded-xl border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-2 focus:ring-primary/30"})]}),(0,s.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,s.jsx)("span",{className:"text-text-muted",children:"To"}),(0,s.jsx)("input",{type:"datetime-local",value:e.dateTo,onChange:e=>Z({dateTo:e.target.value}),className:"rounded-xl border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-2 focus:ring-primary/30"})]}),(0,s.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,s.jsx)("span",{className:"text-text-muted",children:"Limit"}),(0,s.jsxs)("select",{value:e.limit,onChange:e=>Z({limit:e.target.value}),className:"rounded-xl border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-2 focus:ring-primary/30",children:[(0,s.jsx)("option",{value:"25",children:"25"}),(0,s.jsx)("option",{value:"50",children:"50"}),(0,s.jsx)("option",{value:"100",children:"100"}),(0,s.jsx)("option",{value:"200",children:"200"})]})]}),(0,s.jsxs)("div",{className:"flex items-end gap-2",children:[(0,s.jsx)("button",{onClick:()=>t({keyword:"",model:"",stage:"",comboName:"",sourceTool:"",clientIp:"",sessionId:"",dateFrom:"",dateTo:"",limit:"50",offset:"0"}),className:"rounded-xl border border-border px-3 py-2 text-sm hover:bg-background",children:"Reset"}),(0,s.jsx)("button",{onClick:H,className:"rounded-xl bg-primary px-3 py-2 text-sm font-medium text-white",children:"Search"})]})]})}),(0,s.jsxs)("div",{className:"overflow-hidden rounded-2xl border border-border bg-surface shadow-sm",children:[(0,s.jsx)("div",{className:"overflow-x-auto",children:(0,s.jsxs)("table",{className:"w-full min-w-[1400px] table-fixed text-left text-sm",children:[(0,s.jsxs)("colgroup",{children:[(0,s.jsx)("col",{className:"w-[9%]"}),(0,s.jsx)("col",{className:"w-[8%]"}),(0,s.jsx)("col",{className:"w-[8%]"}),(0,s.jsx)("col",{className:"w-[8%]"}),(0,s.jsx)("col",{className:"w-[9%]"}),(0,s.jsx)("col",{className:"w-[9%]"}),(0,s.jsx)("col",{className:"w-[9%]"}),(0,s.jsx)("col",{className:"w-[25%]"}),(0,s.jsx)("col",{className:"w-[12%]"}),(0,s.jsx)("col",{className:"w-[5%]"})]}),(0,s.jsx)("thead",{className:"border-b border-border bg-background/60 text-xs uppercase tracking-wide text-text-muted",children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{className:"px-4 py-3",children:"Time"}),(0,s.jsx)("th",{className:"px-4 py-3",children:"Stage"}),(0,s.jsx)("th",{className:"px-4 py-3",children:"Tool"}),(0,s.jsx)("th",{className:"px-4 py-3",children:"Client IP"}),(0,s.jsx)("th",{className:"px-4 py-3",children:"Model"}),(0,s.jsx)("th",{className:"px-4 py-3",children:"Combo"}),(0,s.jsx)("th",{className:"px-4 py-3",children:"Session"}),(0,s.jsx)("th",{className:"px-4 py-3",children:"Prompt/Response preview"}),(0,s.jsx)("th",{className:"px-4 py-3",children:"Status/Error"}),(0,s.jsx)("th",{className:"sticky right-0 z-20 bg-background/95 px-4 py-3 text-right shadow-[-8px_0_12px_-12px_rgba(0,0,0,0.45)]",children:"Action"})]})}),(0,s.jsxs)("tbody",{children:[0===r.length&&(0,s.jsx)("tr",{children:(0,s.jsx)("td",{colSpan:10,className:"px-4 py-10 text-center text-text-muted",children:"No prompt logs found."})}),r.map(e=>(0,s.jsxs)("tr",{className:"border-b border-border/70 hover:bg-background/50",children:[(0,s.jsx)("td",{className:"whitespace-nowrap px-4 py-3 text-xs text-text-muted align-top",children:n(e.created_at)}),(0,s.jsx)("td",{className:"px-4 py-3 align-top",children:(0,s.jsx)(f,{stage:e.stage})}),(0,s.jsx)("td",{className:"min-w-0 px-4 py-3 align-top",children:(0,s.jsx)("span",{className:"inline-flex max-w-full items-center truncate rounded-full border border-border bg-surface/70 px-2.5 py-1 text-xs font-medium text-text-main",children:e.source_tool_label||e.source_tool||e.source_format||"-"})}),(0,s.jsx)("td",{className:"min-w-0 truncate px-4 py-3 align-top font-mono text-xs text-text-muted",title:e.client_ip||"-",children:e.client_ip||"-"}),(0,s.jsx)("td",{className:"min-w-0 truncate px-4 py-3 align-top font-mono text-xs",title:m(e),children:m(e)}),(0,s.jsx)("td",{className:"min-w-0 truncate px-4 py-3 align-top font-mono text-xs text-text-muted",title:e.combo_name||"-",children:e.combo_name||"-"}),(0,s.jsx)("td",{className:"min-w-0 truncate px-4 py-3 align-top font-mono text-xs text-text-muted",title:e.session_id||"-",children:e.session_id||"-"}),(0,s.jsx)("td",{className:"max-w-0 px-4 py-3 align-top text-xs",children:(0,s.jsx)("div",{className:"max-h-24 overflow-hidden whitespace-normal break-words leading-relaxed [overflow-wrap:anywhere]",children:d(e?.stage==="provider_response"?e.response_preview||e.prompt_preview||"":e?.prompt_preview||e?.response_preview||"",620)||(0,s.jsx)("span",{className:"text-text-muted",children:"No prompt/response text"})})}),(0,s.jsx)("td",{className:"max-w-0 px-4 py-3 align-top text-xs",children:e.error_text?(0,s.jsx)("div",{className:"max-h-28 overflow-y-auto whitespace-pre-wrap break-words leading-relaxed text-red-500 [overflow-wrap:anywhere]",children:d(e.error_text,420)}):(0,s.jsx)("span",{className:e.status_code?"font-mono text-text-main":"text-text-muted",children:e.status_code||"-"})}),(0,s.jsx)("td",{className:"sticky right-0 z-10 bg-surface px-4 py-3 text-right align-top shadow-[-8px_0_12px_-12px_rgba(0,0,0,0.35)]",children:(0,s.jsx)("button",{onClick:()=>B(e.id),className:"rounded-lg bg-primary px-3 py-1.5 text-xs font-medium text-white",children:"View"})})]},e.id))]})]})}),(0,s.jsxs)("div",{className:"flex items-center justify-between border-t border-border p-3 text-sm",children:[(0,s.jsxs)("div",{className:"text-text-muted",children:["Showing ",r.length," of ",_,". Page ",U,"."]}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)("button",{onClick:()=>{let r=Number(e.limit||50),s=Number(e.offset||0);t(e=>({...e,offset:String(Math.max(0,s-r))}))},disabled:0>=Number(e.offset||0),className:"rounded-xl border border-border px-3 py-1.5 disabled:opacity-50",children:"Previous"}),(0,s.jsx)("button",{onClick:()=>{let r=Number(e.limit||50),s=Number(e.offset||0);s+r>=_||t(e=>({...e,offset:String(s+r)}))},disabled:Number(e.offset||0)+Number(e.limit||50)>=_,className:"rounded-xl border border-border px-3 py-1.5 disabled:opacity-50",children:"Next"})]})]})]}),M&&(0,s.jsx)("div",{className:"fixed inset-0 z-[99999] isolate flex items-start justify-center overflow-hidden bg-black/60 p-3 pt-8 md:p-5 md:pt-10",children:(0,s.jsxs)("div",{className:"relative z-[100000] flex h-[78vh] min-h-[520px] max-h-[760px] w-full max-w-[1080px] flex-col overflow-hidden rounded-3xl border border-zinc-200 bg-white shadow-2xl dark:border-zinc-700 dark:bg-zinc-950",children:[R&&(0,s.jsx)("div",{className:"absolute right-5 top-16 z-[100001] rounded-2xl border border-emerald-500/30 bg-emerald-500/10 px-4 py-2 text-sm font-medium text-emerald-600 shadow-lg backdrop-blur dark:bg-emerald-500/15",children:R}),(0,s.jsxs)("div",{className:"flex flex-none items-start justify-between gap-4 border-b border-zinc-200 bg-white px-3 py-2 dark:border-zinc-700 dark:bg-zinc-950",children:[(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,s.jsx)("h2",{className:"text-lg font-semibold text-text-main",children:"Prompt Log Detail"}),(0,s.jsx)(f,{stage:M.stage})]}),(0,s.jsxs)("div",{className:"mt-1 truncate text-xs text-text-muted",children:[n(M.created_at)," \xb7 ",m(M)," \xb7"," ",M.session_id||"-"]})]}),(0,s.jsx)("button",{onClick:()=>q(null),className:"rounded-xl border border-zinc-200 bg-white px-3 py-2 text-sm font-medium text-zinc-900 shadow-sm hover:bg-zinc-50 dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-100 dark:hover:bg-zinc-800",children:"Close"})]}),(0,s.jsxs)("div",{className:"grid min-h-0 flex-1 grid-cols-1 overflow-hidden bg-zinc-100 dark:bg-zinc-900 lg:grid-cols-[260px_minmax(0,1fr)]",children:[(0,s.jsx)("aside",{className:"min-h-0 overflow-y-auto border-b border-zinc-200 bg-zinc-100 p-3 dark:border-zinc-700 dark:bg-zinc-900 lg:border-b-0 lg:border-r",children:(0,s.jsxs)("div",{className:"grid gap-3",children:[(0,s.jsx)(j,{label:"ID",value:M.id}),(0,s.jsx)(j,{label:"Session",value:M.session_id}),(0,s.jsx)(j,{label:"Model",value:m(M)}),(0,s.jsx)(j,{label:"Combo",value:M.combo_name}),(0,s.jsx)(j,{label:"Provider",value:c(M)||M.provider_url||M.endpoint}),(0,s.jsx)(j,{label:"Source Tool",value:M.source_tool_label||M.source_tool||M.source_format}),(0,s.jsx)(j,{label:"Source Host",value:M.source_host}),(0,s.jsx)(j,{label:"Client IP",value:M.client_ip}),(0,s.jsx)(j,{label:"Client Port",value:M.client_port}),(0,s.jsx)(j,{label:"Client Host",value:M.client_host}),(0,s.jsx)(j,{label:"User Agent",value:M.client_user_agent}),(0,s.jsx)(j,{label:"Endpoint",value:M.endpoint||M.provider_url}),(0,s.jsx)(j,{label:"Source -> Target",value:`${M.source_format||"-"} -> ${M.target_format||"-"}`}),(0,s.jsx)(j,{label:"Status / Error",value:M.error_text||M.status_code||"-"}),(0,s.jsxs)("div",{className:"grid gap-2 pt-2",children:[(0,s.jsx)("button",{onClick:()=>V(M.extracted_prompt_text||M.prompt_text,"side-prompt"),className:`rounded-xl border px-3 py-2 text-sm font-medium shadow-sm transition ${"side-prompt"===F?"border-emerald-500/30 bg-emerald-500/10 text-emerald-600":"border-zinc-200 bg-white text-zinc-900 hover:bg-zinc-50 dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-100 dark:hover:bg-zinc-800"}`,children:"side-prompt"===F?"Đ\xe3 copy":"Copy prompt"}),(0,s.jsx)("button",{onClick:()=>V(M.full_request_json,"side-request"),className:`rounded-xl border px-3 py-2 text-sm font-medium shadow-sm transition ${"side-request"===F?"border-emerald-500/30 bg-emerald-500/10 text-emerald-600":"border-zinc-200 bg-white text-zinc-900 hover:bg-zinc-50 dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-100 dark:hover:bg-zinc-800"}`,children:"side-request"===F?"Đ\xe3 copy":"Copy request JSON"}),(0,s.jsx)("button",{onClick:()=>V(M.full_response_json,"side-response-json"),className:`rounded-xl border px-3 py-2 text-sm font-medium shadow-sm transition ${"side-response-json"===F?"border-emerald-500/30 bg-emerald-500/10 text-emerald-600":"border-zinc-200 bg-white text-zinc-900 hover:bg-zinc-50 dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-100 dark:hover:bg-zinc-800"}`,children:"side-response-json"===F?"Đ\xe3 copy":"Copy response JSON"}),(0,s.jsx)("button",{onClick:W,className:"rounded-xl border border-red-500/40 bg-red-500/10 px-3 py-2 text-sm font-medium text-red-500 shadow-inner hover:bg-red-500/20",children:"Delete row"})]})]})}),(0,s.jsxs)("main",{className:"flex min-h-0 flex-col overflow-hidden bg-zinc-50 dark:bg-zinc-950",children:[(0,s.jsxs)("div",{className:"flex flex-none items-center gap-2 border-b border-zinc-200 bg-white px-3 py-2 dark:border-zinc-700 dark:bg-zinc-950",children:[(0,s.jsx)("div",{className:"flex min-w-0 flex-1 gap-2 overflow-x-auto",children:k(M.stage).map(([e,t])=>(0,s.jsx)("button",{onClick:()=>D(e),className:`whitespace-nowrap rounded-xl px-3 py-2 text-sm ${J===e?"bg-primary text-white shadow-sm":"border border-border bg-surface text-text-main hover:bg-background"}`,children:t},e))}),(0,s.jsx)(u,{copied:F===`tab-${J}`,label:"Copy tab",onClick:()=>V((()=>{if(!M)return"";switch(J){case"prompt":return M.extracted_prompt_text||M.prompt_text||"";case"request":return M.full_request_json||"";case"response":return M.extracted_response_text||M.response_text||"";case"responseJson":return M.full_response_json||"";case"meta":return M.meta_json||"";default:return""}})(),`tab-${J}`)})]}),(0,s.jsxs)("div",{className:"min-h-0 flex-1 overflow-y-auto bg-zinc-50 p-3 dark:bg-zinc-950",children:["prompt"===J&&(0,s.jsxs)("section",{children:[(0,s.jsx)("h3",{className:"mb-2 text-sm font-semibold text-text-main",children:"Extracted prompt text"}),(0,s.jsx)(h,{value:M.extracted_prompt_text||M.prompt_text,empty:"No prompt text"})]}),"request"===J&&(0,s.jsxs)("section",{children:[(0,s.jsx)("h3",{className:"mb-2 text-sm font-semibold text-text-main",children:"Full request JSON"}),(0,s.jsx)(b,{value:M.full_request_json})]}),"response"===J&&(0,s.jsxs)("section",{children:[(0,s.jsx)("h3",{className:"mb-2 text-sm font-semibold text-text-main",children:"Extracted response text"}),(0,s.jsx)(h,{value:M.extracted_response_text||M.response_text,empty:"No response text stored for this stage"})]}),"responseJson"===J&&(0,s.jsxs)("section",{children:[(0,s.jsx)("h3",{className:"mb-2 text-sm font-semibold text-text-main",children:"Full response JSON"}),(0,s.jsx)(b,{value:M.full_response_json})]}),"meta"===J&&(0,s.jsxs)("section",{children:[(0,s.jsx)("h3",{className:"mb-2 text-sm font-semibold text-text-main",children:"Metadata JSON"}),(0,s.jsx)(b,{value:M.meta_json})]})]})]})]})]})})]})}},79705:(e,t,r)=>{Promise.resolve().then(r.bind(r,55478))}},e=>{e.O(0,[8441,3794,7358],()=>e(e.s=79705)),_N_E=e.O()}]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jheavenknows/bluerouter",
3
- "version": "5.0.69",
3
+ "version": "5.0.70",
4
4
  "description": "Bluerouter CLI - Start and manage Bluerouter server",
5
5
  "bin": {
6
6
  "bluerouter": "./cli.js"
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7692],{55478:(e,t,r)=>{"use strict";r.d(t,{default:()=>k});var s=r(95155),a=r(12115);let o={client:"Client request",source:"Source request",openai:"OpenAI normalized",target:"Provider request",provider_response:"Provider response",error:"Error"},l={client:"bg-blue-500/10 text-blue-600 border-blue-500/20",source:"bg-cyan-500/10 text-cyan-600 border-cyan-500/20",openai:"bg-purple-500/10 text-purple-600 border-purple-500/20",target:"bg-orange-500/10 text-orange-600 border-orange-500/20",provider_response:"bg-green-500/10 text-green-600 border-green-500/20",error:"bg-red-500/10 text-red-600 border-red-500/20"};function n(e){if(!e)return"-";try{let t=function(e){if(!e)return"";if(e instanceof Date)return e.toISOString();let t=String(e).trim();if(!t)return"";let r=t.replace(" ","T");return/(?:Z|[+-]\d{2}:?\d{2})$/i.test(r)?r:`${r}Z`}(e),r=new Date(t);if(Number.isNaN(r.getTime()))return String(e);return r.toLocaleString("vi-VN",{timeZone:"Asia/Ho_Chi_Minh",day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}catch{return e}}function d(e,t=240){let r=String(e||"").replace(/\s+/g," ").trim();return r.length>t?`${r.slice(0,t)}...`:r}function i(e){let t=String(e||"").trim();if(!t)return"";try{return new URL(t).hostname||""}catch{return t.replace(/^https?:\/\//,"").replace(/\/.*$/,"").replace(/:\d+$/,"")}}function c(e){return e?.provider_name||e?.provider_label||e?.provider_id||e?.provider||i(e?.provider_url)||i(e?.endpoint)||""}function x(e){if(e?.display_model)return e.display_model;let t=e?.model||"-",r=c(e);return!r||"-"===t||String(t).startsWith(`${r}/`)?t:`${r}/${t}`}function m(e){if(!e)return null;if("object"==typeof e)return e;try{return JSON.parse(e)}catch{return null}}function p({copied:e,onClick:t,label:r="Copy"}){return(0,s.jsx)("button",{type:"button",onClick:t,className:`rounded-xl border px-3 py-1.5 text-xs font-medium shadow-sm transition ${e?"border-emerald-500/30 bg-emerald-500/10 text-emerald-600":"border-zinc-200 bg-white text-zinc-900 hover:bg-zinc-50 dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-100 dark:hover:bg-zinc-800"}`,children:e?"Đ\xe3 copy":r})}function u({value:e}){let t=m(e),r=t?JSON.stringify(t,null,2):String(e||"");return(0,s.jsx)("pre",{className:"max-h-[42vh] max-w-full overflow-auto whitespace-pre-wrap break-words rounded-2xl bg-zinc-950 p-4 text-xs leading-relaxed text-zinc-100 shadow-inner [overflow-wrap:anywhere]",children:r||"No JSON"})}function b({value:e,empty:t="No content"}){return(0,s.jsx)("pre",{className:"max-h-[42vh] max-w-full overflow-auto whitespace-pre-wrap break-words rounded-2xl border border-zinc-200 bg-white p-4 font-mono text-xs leading-relaxed text-zinc-950 shadow-sm [overflow-wrap:anywhere] dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-100",children:e||t})}function h({label:e,value:t}){return(0,s.jsxs)("div",{className:"rounded-2xl border border-border bg-surface p-4 shadow-sm",children:[(0,s.jsx)("div",{className:"text-xs uppercase tracking-wide text-text-muted",children:e}),(0,s.jsx)("div",{className:"mt-1 text-2xl font-semibold text-text-main",children:t})]})}function g({stage:e}){let t=l[e]||"bg-surface text-text-main border-border";return(0,s.jsx)("span",{className:`inline-flex items-center rounded-full border px-2.5 py-1 text-xs font-medium ${t}`,children:o[e]||e||"-"})}function f({label:e,value:t}){return(0,s.jsxs)("div",{className:"rounded-2xl border border-zinc-200 bg-white p-3 shadow-sm dark:border-zinc-700 dark:bg-zinc-950",children:[(0,s.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-wide text-text-muted",children:e}),(0,s.jsx)("pre",{className:"mt-2 whitespace-pre-wrap break-words font-mono text-xs leading-relaxed text-text-main",children:t||"-"})]})}let j=["prompt","Prompt"],N=["request","Request JSON"],v=["response","Response text"],w=["responseJson","Response JSON"],y=["meta","Metadata"];function _(e){return"provider_response"===e?[v,w,y]:"client"===e||"source"===e||"openai"===e||"target"===e?[j,N,y]:[j,N,v,w,y]}function k(){let[e,t]=(0,a.useState)({keyword:"",model:"",stage:"",comboName:"",sourceTool:"",clientIp:"",sessionId:"",dateFrom:"",dateTo:"",limit:"50",offset:"0"}),[r,l]=(0,a.useState)([]),[i,j]=(0,a.useState)([]),[N,v]=(0,a.useState)([]),[w,y]=(0,a.useState)([]),[k,z]=(0,a.useState)(0),[S,C]=(0,a.useState)(null),[T,I]=(0,a.useState)(""),[$,E]=(0,a.useState)(""),[P,O]=(0,a.useState)(!1),[M,q]=(0,a.useState)(null),[J,D]=(0,a.useState)("prompt"),[F,L]=(0,a.useState)(""),[R,A]=(0,a.useState)(""),U=(0,a.useMemo)(()=>{let t=Number(e.limit||50);return Math.floor(Number(e.offset||0)/t)+1},[e.limit,e.offset]),H=(0,a.useCallback)(async()=>{O(!0),E(""),I("");try{let t=new URLSearchParams;Object.entries(e).forEach(([e,r])=>{String(r||"").trim()&&t.set(e,String(r).trim())});let r=await fetch(`/api/dashboard/prompt-logs?${t}`),s=await r.json();if(!r.ok)throw Error(s.error||"Failed to load prompt logs");l(s.rows||[]),j(s.models||[]),v(s.stages||[]),y(s.combos||[]),z(s.total||0),C(s.dbInfo||null),s.disabled&&I("Database prompt logging is disabled. Enable it in Dashboard -> MITM -> Prompt Log Database."),s.missing&&I("Prompt log database/table has no data yet, or the configured database is not initialized.")}catch(e){E(e.message||"Failed to load prompt logs")}finally{O(!1)}},[e]);(0,a.useEffect)(()=>{H()},[H]);let Z=e=>{t(t=>({...t,...e,offset:void 0!==e.offset?e.offset:"0"}))},V=async e=>{E("");try{var t;let r=await fetch(`/api/dashboard/prompt-logs/${encodeURIComponent(e)}`),s=await r.json();if(!r.ok)throw Error(s.error||"Failed to load detail");q(s.row),D((t=s.row?.stage,_(t)?.[0]?.[0]||"meta"))}catch(e){E(e.message||"Failed to load detail")}},B=async(e,t="copy")=>{let r=function(e){if(null==e||""===e)return"";if("string"==typeof e){let t=m(e);return t?JSON.stringify(t,null,2):e}if("object"==typeof e)try{return JSON.stringify(e,null,2)}catch{}return String(e)}(e);await navigator.clipboard.writeText(r),L(t),A("Đ\xe3 copy v\xe0o clipboard"),window.setTimeout(()=>{L(e=>e===t?"":e)},2200),window.setTimeout(()=>{A("")},2600)},K=async()=>{M?.id&&confirm("Delete this prompt log row?")&&(await fetch(`/api/dashboard/prompt-logs/${encodeURIComponent(M.id)}`,{method:"DELETE"})).ok&&(q(null),H())};return(0,a.useEffect)(()=>{if(!M)return;let e=_(M.stage);e.some(([e])=>e===J)||D(e[0]?.[0]||"meta")},[M,J]),(0,s.jsxs)("div",{className:"flex w-full max-w-none flex-col gap-5 p-3 md:p-4 lg:p-6",children:[(0,s.jsxs)("div",{className:"flex flex-col gap-2 md:flex-row md:items-end md:justify-between",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{className:"text-2xl font-semibold text-text-main",children:"Prompt Logs"}),(0,s.jsx)("p",{className:"mt-1 text-sm text-text-muted",children:"Search Copilot/MITM prompts across the currently configured prompt log database."})]}),(0,s.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,s.jsx)("a",{href:"/dashboard/mitm",className:"rounded-xl border border-border px-3 py-2 text-sm hover:bg-surface",children:"MITM Settings"}),(0,s.jsx)("button",{onClick:H,disabled:P,className:"rounded-xl bg-primary px-3 py-2 text-sm font-medium text-white disabled:opacity-50",children:P?"Loading...":"Refresh"})]})]}),T&&(0,s.jsx)("div",{className:"rounded-2xl border border-yellow-500/30 bg-yellow-500/10 p-4 text-sm text-yellow-700 dark:text-yellow-300",children:T}),$&&(0,s.jsx)("div",{className:"rounded-2xl border border-red-500/30 bg-red-500/10 p-4 text-sm text-red-500",children:$}),(0,s.jsxs)("div",{className:"grid gap-4 md:grid-cols-4",children:[(0,s.jsx)(h,{label:"Matching rows",value:k}),(0,s.jsx)(h,{label:"Loaded rows",value:r.length}),(0,s.jsx)(h,{label:"Page",value:U}),(0,s.jsx)(h,{label:"Database",value:S?.type||"-"})]}),S&&(0,s.jsxs)("div",{className:"rounded-2xl border border-border bg-surface p-3 text-xs text-text-muted",children:["DB: ",(0,s.jsx)("code",{children:S.type}),S.host?(0,s.jsxs)(s.Fragment,{children:[" ","\xb7 Host: ",(0,s.jsx)("code",{children:S.host})]}):null,S.database?(0,s.jsxs)(s.Fragment,{children:[" ","\xb7 Database: ",(0,s.jsx)("code",{children:S.database})]}):null]}),(0,s.jsx)("div",{className:"rounded-2xl border border-border bg-surface p-4 shadow-sm",children:(0,s.jsxs)("div",{className:"grid gap-3 md:grid-cols-4 xl:grid-cols-6",children:[(0,s.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,s.jsx)("span",{className:"text-text-muted",children:"Keyword"}),(0,s.jsx)("input",{value:e.keyword,onChange:e=>Z({keyword:e.target.value}),placeholder:"prompt, code, model, error...",className:"rounded-xl border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-2 focus:ring-primary/30"})]}),(0,s.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,s.jsx)("span",{className:"text-text-muted",children:"Model"}),(0,s.jsxs)("select",{value:e.model,onChange:e=>Z({model:e.target.value}),className:"rounded-xl border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-2 focus:ring-primary/30",children:[(0,s.jsx)("option",{value:"",children:"All models"}),i.map(e=>(0,s.jsx)("option",{value:e,children:e},e))]})]}),(0,s.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,s.jsx)("span",{className:"text-text-muted",children:"Stage"}),(0,s.jsxs)("select",{value:e.stage,onChange:e=>Z({stage:e.target.value}),className:"rounded-xl border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-2 focus:ring-primary/30",children:[(0,s.jsx)("option",{value:"",children:"All stages"}),N.map(e=>(0,s.jsx)("option",{value:e,children:o[e]||e},e))]})]}),(0,s.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,s.jsx)("span",{className:"text-text-muted",children:"Combo"}),(0,s.jsxs)("select",{value:e.comboName,onChange:e=>Z({comboName:e.target.value}),className:"rounded-xl border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-2 focus:ring-primary/30",children:[(0,s.jsx)("option",{value:"",children:"All combos"}),w.map(e=>(0,s.jsx)("option",{value:e,children:e},e))]})]}),(0,s.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,s.jsx)("span",{className:"text-text-muted",children:"Tool"}),(0,s.jsx)("input",{value:e.sourceTool,onChange:e=>Z({sourceTool:e.target.value}),placeholder:"copilot, antigravity...",className:"rounded-xl border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-2 focus:ring-primary/30"})]}),(0,s.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,s.jsx)("span",{className:"text-text-muted",children:"Client IP"}),(0,s.jsx)("input",{value:e.clientIp,onChange:e=>Z({clientIp:e.target.value}),placeholder:"172.16.253.1",className:"rounded-xl border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-2 focus:ring-primary/30"})]}),(0,s.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,s.jsx)("span",{className:"text-text-muted",children:"Session ID"}),(0,s.jsx)("input",{value:e.sessionId,onChange:e=>Z({sessionId:e.target.value}),placeholder:"session id",className:"rounded-xl border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-2 focus:ring-primary/30"})]}),(0,s.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,s.jsx)("span",{className:"text-text-muted",children:"From"}),(0,s.jsx)("input",{type:"datetime-local",value:e.dateFrom,onChange:e=>Z({dateFrom:e.target.value}),className:"rounded-xl border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-2 focus:ring-primary/30"})]}),(0,s.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,s.jsx)("span",{className:"text-text-muted",children:"To"}),(0,s.jsx)("input",{type:"datetime-local",value:e.dateTo,onChange:e=>Z({dateTo:e.target.value}),className:"rounded-xl border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-2 focus:ring-primary/30"})]}),(0,s.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,s.jsx)("span",{className:"text-text-muted",children:"Limit"}),(0,s.jsxs)("select",{value:e.limit,onChange:e=>Z({limit:e.target.value}),className:"rounded-xl border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-2 focus:ring-primary/30",children:[(0,s.jsx)("option",{value:"25",children:"25"}),(0,s.jsx)("option",{value:"50",children:"50"}),(0,s.jsx)("option",{value:"100",children:"100"}),(0,s.jsx)("option",{value:"200",children:"200"})]})]}),(0,s.jsxs)("div",{className:"flex items-end gap-2",children:[(0,s.jsx)("button",{onClick:()=>t({keyword:"",model:"",stage:"",comboName:"",sourceTool:"",clientIp:"",sessionId:"",dateFrom:"",dateTo:"",limit:"50",offset:"0"}),className:"rounded-xl border border-border px-3 py-2 text-sm hover:bg-background",children:"Reset"}),(0,s.jsx)("button",{onClick:H,className:"rounded-xl bg-primary px-3 py-2 text-sm font-medium text-white",children:"Search"})]})]})}),(0,s.jsxs)("div",{className:"overflow-hidden rounded-2xl border border-border bg-surface shadow-sm",children:[(0,s.jsx)("div",{className:"overflow-x-auto",children:(0,s.jsxs)("table",{className:"w-full min-w-[1400px] table-fixed text-left text-sm",children:[(0,s.jsxs)("colgroup",{children:[(0,s.jsx)("col",{className:"w-[9%]"}),(0,s.jsx)("col",{className:"w-[8%]"}),(0,s.jsx)("col",{className:"w-[8%]"}),(0,s.jsx)("col",{className:"w-[8%]"}),(0,s.jsx)("col",{className:"w-[9%]"}),(0,s.jsx)("col",{className:"w-[9%]"}),(0,s.jsx)("col",{className:"w-[9%]"}),(0,s.jsx)("col",{className:"w-[25%]"}),(0,s.jsx)("col",{className:"w-[12%]"}),(0,s.jsx)("col",{className:"w-[5%]"})]}),(0,s.jsx)("thead",{className:"border-b border-border bg-background/60 text-xs uppercase tracking-wide text-text-muted",children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{className:"px-4 py-3",children:"Time"}),(0,s.jsx)("th",{className:"px-4 py-3",children:"Stage"}),(0,s.jsx)("th",{className:"px-4 py-3",children:"Tool"}),(0,s.jsx)("th",{className:"px-4 py-3",children:"Client IP"}),(0,s.jsx)("th",{className:"px-4 py-3",children:"Model"}),(0,s.jsx)("th",{className:"px-4 py-3",children:"Combo"}),(0,s.jsx)("th",{className:"px-4 py-3",children:"Session"}),(0,s.jsx)("th",{className:"px-4 py-3",children:"Prompt/Response preview"}),(0,s.jsx)("th",{className:"px-4 py-3",children:"Status/Error"}),(0,s.jsx)("th",{className:"sticky right-0 z-20 bg-background/95 px-4 py-3 text-right shadow-[-8px_0_12px_-12px_rgba(0,0,0,0.45)]",children:"Action"})]})}),(0,s.jsxs)("tbody",{children:[0===r.length&&(0,s.jsx)("tr",{children:(0,s.jsx)("td",{colSpan:10,className:"px-4 py-10 text-center text-text-muted",children:"No prompt logs found."})}),r.map(e=>(0,s.jsxs)("tr",{className:"border-b border-border/70 hover:bg-background/50",children:[(0,s.jsx)("td",{className:"whitespace-nowrap px-4 py-3 text-xs text-text-muted align-top",children:n(e.created_at)}),(0,s.jsx)("td",{className:"px-4 py-3 align-top",children:(0,s.jsx)(g,{stage:e.stage})}),(0,s.jsx)("td",{className:"min-w-0 px-4 py-3 align-top",children:(0,s.jsx)("span",{className:"inline-flex max-w-full items-center truncate rounded-full border border-border bg-surface/70 px-2.5 py-1 text-xs font-medium text-text-main",children:e.source_tool_label||e.source_tool||e.source_format||"-"})}),(0,s.jsx)("td",{className:"min-w-0 truncate px-4 py-3 align-top font-mono text-xs text-text-muted",title:e.client_ip||"-",children:e.client_ip||"-"}),(0,s.jsx)("td",{className:"min-w-0 truncate px-4 py-3 align-top font-mono text-xs",title:x(e),children:x(e)}),(0,s.jsx)("td",{className:"min-w-0 truncate px-4 py-3 align-top font-mono text-xs text-text-muted",title:e.combo_name||"-",children:e.combo_name||"-"}),(0,s.jsx)("td",{className:"min-w-0 truncate px-4 py-3 align-top font-mono text-xs text-text-muted",title:e.session_id||"-",children:e.session_id||"-"}),(0,s.jsx)("td",{className:"max-w-0 px-4 py-3 align-top text-xs",children:(0,s.jsx)("div",{className:"max-h-24 overflow-hidden whitespace-normal break-words leading-relaxed [overflow-wrap:anywhere]",children:d(e?.stage==="provider_response"?e.response_preview||e.prompt_preview||"":e?.prompt_preview||e?.response_preview||"",620)||(0,s.jsx)("span",{className:"text-text-muted",children:"No prompt/response text"})})}),(0,s.jsx)("td",{className:"max-w-0 px-4 py-3 align-top text-xs",children:e.error_text?(0,s.jsx)("div",{className:"max-h-28 overflow-y-auto whitespace-pre-wrap break-words leading-relaxed text-red-500 [overflow-wrap:anywhere]",children:d(e.error_text,420)}):(0,s.jsx)("span",{className:e.status_code?"font-mono text-text-main":"text-text-muted",children:e.status_code||"-"})}),(0,s.jsx)("td",{className:"sticky right-0 z-10 bg-surface px-4 py-3 text-right align-top shadow-[-8px_0_12px_-12px_rgba(0,0,0,0.35)]",children:(0,s.jsx)("button",{onClick:()=>V(e.id),className:"rounded-lg bg-primary px-3 py-1.5 text-xs font-medium text-white",children:"View"})})]},e.id))]})]})}),(0,s.jsxs)("div",{className:"flex items-center justify-between border-t border-border p-3 text-sm",children:[(0,s.jsxs)("div",{className:"text-text-muted",children:["Showing ",r.length," of ",k,". Page ",U,"."]}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)("button",{onClick:()=>{let r=Number(e.limit||50),s=Number(e.offset||0);t(e=>({...e,offset:String(Math.max(0,s-r))}))},disabled:0>=Number(e.offset||0),className:"rounded-xl border border-border px-3 py-1.5 disabled:opacity-50",children:"Previous"}),(0,s.jsx)("button",{onClick:()=>{let r=Number(e.limit||50),s=Number(e.offset||0);s+r>=k||t(e=>({...e,offset:String(s+r)}))},disabled:Number(e.offset||0)+Number(e.limit||50)>=k,className:"rounded-xl border border-border px-3 py-1.5 disabled:opacity-50",children:"Next"})]})]})]}),M&&(0,s.jsx)("div",{className:"fixed inset-0 z-[99999] isolate flex items-start justify-center overflow-hidden bg-black/60 p-3 pt-8 md:p-5 md:pt-10",children:(0,s.jsxs)("div",{className:"relative z-[100000] flex h-[78vh] min-h-[520px] max-h-[760px] w-full max-w-[1080px] flex-col overflow-hidden rounded-3xl border border-zinc-200 bg-white shadow-2xl dark:border-zinc-700 dark:bg-zinc-950",children:[R&&(0,s.jsx)("div",{className:"absolute right-5 top-16 z-[100001] rounded-2xl border border-emerald-500/30 bg-emerald-500/10 px-4 py-2 text-sm font-medium text-emerald-600 shadow-lg backdrop-blur dark:bg-emerald-500/15",children:R}),(0,s.jsxs)("div",{className:"flex flex-none items-start justify-between gap-4 border-b border-zinc-200 bg-white px-3 py-2 dark:border-zinc-700 dark:bg-zinc-950",children:[(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,s.jsx)("h2",{className:"text-lg font-semibold text-text-main",children:"Prompt Log Detail"}),(0,s.jsx)(g,{stage:M.stage})]}),(0,s.jsxs)("div",{className:"mt-1 truncate text-xs text-text-muted",children:[n(M.created_at)," \xb7 ",x(M)," \xb7"," ",M.session_id||"-"]})]}),(0,s.jsx)("button",{onClick:()=>q(null),className:"rounded-xl border border-zinc-200 bg-white px-3 py-2 text-sm font-medium text-zinc-900 shadow-sm hover:bg-zinc-50 dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-100 dark:hover:bg-zinc-800",children:"Close"})]}),(0,s.jsxs)("div",{className:"grid min-h-0 flex-1 grid-cols-1 overflow-hidden bg-zinc-100 dark:bg-zinc-900 lg:grid-cols-[260px_minmax(0,1fr)]",children:[(0,s.jsx)("aside",{className:"min-h-0 overflow-y-auto border-b border-zinc-200 bg-zinc-100 p-3 dark:border-zinc-700 dark:bg-zinc-900 lg:border-b-0 lg:border-r",children:(0,s.jsxs)("div",{className:"grid gap-3",children:[(0,s.jsx)(f,{label:"ID",value:M.id}),(0,s.jsx)(f,{label:"Session",value:M.session_id}),(0,s.jsx)(f,{label:"Model",value:x(M)}),(0,s.jsx)(f,{label:"Combo",value:M.combo_name}),(0,s.jsx)(f,{label:"Provider",value:c(M)||M.provider_url||M.endpoint}),(0,s.jsx)(f,{label:"Source Tool",value:M.source_tool_label||M.source_tool||M.source_format}),(0,s.jsx)(f,{label:"Source Host",value:M.source_host}),(0,s.jsx)(f,{label:"Client IP",value:M.client_ip}),(0,s.jsx)(f,{label:"Client Port",value:M.client_port}),(0,s.jsx)(f,{label:"Client Host",value:M.client_host}),(0,s.jsx)(f,{label:"User Agent",value:M.client_user_agent}),(0,s.jsx)(f,{label:"Endpoint",value:M.endpoint||M.provider_url}),(0,s.jsx)(f,{label:"Source -> Target",value:`${M.source_format||"-"} -> ${M.target_format||"-"}`}),(0,s.jsx)(f,{label:"Status / Error",value:M.error_text||M.status_code||"-"}),(0,s.jsxs)("div",{className:"grid gap-2 pt-2",children:[(0,s.jsx)("button",{onClick:()=>B(M.extracted_prompt_text||M.prompt_text,"side-prompt"),className:`rounded-xl border px-3 py-2 text-sm font-medium shadow-sm transition ${"side-prompt"===F?"border-emerald-500/30 bg-emerald-500/10 text-emerald-600":"border-zinc-200 bg-white text-zinc-900 hover:bg-zinc-50 dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-100 dark:hover:bg-zinc-800"}`,children:"side-prompt"===F?"Đ\xe3 copy":"Copy prompt"}),(0,s.jsx)("button",{onClick:()=>B(M.full_request_json,"side-request"),className:`rounded-xl border px-3 py-2 text-sm font-medium shadow-sm transition ${"side-request"===F?"border-emerald-500/30 bg-emerald-500/10 text-emerald-600":"border-zinc-200 bg-white text-zinc-900 hover:bg-zinc-50 dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-100 dark:hover:bg-zinc-800"}`,children:"side-request"===F?"Đ\xe3 copy":"Copy request JSON"}),(0,s.jsx)("button",{onClick:()=>B(M.full_response_json,"side-response-json"),className:`rounded-xl border px-3 py-2 text-sm font-medium shadow-sm transition ${"side-response-json"===F?"border-emerald-500/30 bg-emerald-500/10 text-emerald-600":"border-zinc-200 bg-white text-zinc-900 hover:bg-zinc-50 dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-100 dark:hover:bg-zinc-800"}`,children:"side-response-json"===F?"Đ\xe3 copy":"Copy response JSON"}),(0,s.jsx)("button",{onClick:K,className:"rounded-xl border border-red-500/40 bg-red-500/10 px-3 py-2 text-sm font-medium text-red-500 shadow-inner hover:bg-red-500/20",children:"Delete row"})]})]})}),(0,s.jsxs)("main",{className:"flex min-h-0 flex-col overflow-hidden bg-zinc-50 dark:bg-zinc-950",children:[(0,s.jsxs)("div",{className:"flex flex-none items-center gap-2 border-b border-zinc-200 bg-white px-3 py-2 dark:border-zinc-700 dark:bg-zinc-950",children:[(0,s.jsx)("div",{className:"flex min-w-0 flex-1 gap-2 overflow-x-auto",children:_(M.stage).map(([e,t])=>(0,s.jsx)("button",{onClick:()=>D(e),className:`whitespace-nowrap rounded-xl px-3 py-2 text-sm ${J===e?"bg-primary text-white shadow-sm":"border border-border bg-surface text-text-main hover:bg-background"}`,children:t},e))}),(0,s.jsx)(p,{copied:F===`tab-${J}`,label:"Copy tab",onClick:()=>B((()=>{if(!M)return"";switch(J){case"prompt":return M.extracted_prompt_text||M.prompt_text||"";case"request":return M.full_request_json||"";case"response":return M.extracted_response_text||M.response_text||"";case"responseJson":return M.full_response_json||"";case"meta":return M.meta_json||"";default:return""}})(),`tab-${J}`)})]}),(0,s.jsxs)("div",{className:"min-h-0 flex-1 overflow-y-auto bg-zinc-50 p-3 dark:bg-zinc-950",children:["prompt"===J&&(0,s.jsxs)("section",{children:[(0,s.jsx)("h3",{className:"mb-2 text-sm font-semibold text-text-main",children:"Extracted prompt text"}),(0,s.jsx)(b,{value:M.extracted_prompt_text||M.prompt_text,empty:"No prompt text"})]}),"request"===J&&(0,s.jsxs)("section",{children:[(0,s.jsx)("h3",{className:"mb-2 text-sm font-semibold text-text-main",children:"Full request JSON"}),(0,s.jsx)(u,{value:M.full_request_json})]}),"response"===J&&(0,s.jsxs)("section",{children:[(0,s.jsx)("h3",{className:"mb-2 text-sm font-semibold text-text-main",children:"Extracted response text"}),(0,s.jsx)(b,{value:M.extracted_response_text||M.response_text,empty:"No response text stored for this stage"})]}),"responseJson"===J&&(0,s.jsxs)("section",{children:[(0,s.jsx)("h3",{className:"mb-2 text-sm font-semibold text-text-main",children:"Full response JSON"}),(0,s.jsx)(u,{value:M.full_response_json})]}),"meta"===J&&(0,s.jsxs)("section",{children:[(0,s.jsx)("h3",{className:"mb-2 text-sm font-semibold text-text-main",children:"Metadata JSON"}),(0,s.jsx)(u,{value:M.meta_json})]})]})]})]})]})})]})}},79705:(e,t,r)=>{Promise.resolve().then(r.bind(r,55478))}},e=>{e.O(0,[8441,3794,7358],()=>e(e.s=79705)),_N_E=e.O()}]);