@jheavenknows/bluerouter 5.3.60 → 5.3.62

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 (1159) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +13 -12
  3. package/app/.next-cli-build/build-manifest.json +3 -3
  4. package/app/.next-cli-build/prerender-manifest.json +1 -1
  5. package/app/.next-cli-build/routes-manifest.json +6 -0
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/ai-power-index/page.js +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/ai-power-index/page.js.nft.json +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/ai-power-index/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page.js.nft.json +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page.js.nft.json +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/audit-proxy/page.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/audit-proxy/page.js.nft.json +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/audit-proxy/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/model-profiles/page.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/model-profiles/page.js.nft.json +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/model-profiles/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cluster/page.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cluster/page.js.nft.json +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cluster/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/local-ai-report/page.js +2 -2
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/local-ai-report/page.js.nft.json +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/local-ai-report/page_client-reference-manifest.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personal/page.js +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personal/page.js.nft.json +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personal/page_client-reference-manifest.js +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovider/page.js +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovider/page.js.nft.json +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovider/page_client-reference-manifest.js +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovidermonitor/page.js +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovidermonitor/page.js.nft.json +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovidermonitor/page_client-reference-manifest.js +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalquota/page.js +1 -1
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalquota/page.js.nft.json +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalquota/page_client-reference-manifest.js +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  78. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page.js +1 -1
  79. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page.js.nft.json +1 -1
  80. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page_client-reference-manifest.js +1 -1
  81. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page.js +1 -1
  82. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page.js.nft.json +1 -1
  83. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page_client-reference-manifest.js +1 -1
  84. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +1 -1
  85. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  86. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  87. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  88. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  89. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  90. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  91. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  92. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  93. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/stt/page.js +1 -1
  94. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/stt/page.js.nft.json +1 -1
  95. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/stt/page_client-reference-manifest.js +1 -1
  96. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/tts/page.js +1 -1
  97. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/tts/page.js.nft.json +1 -1
  98. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/tts/page_client-reference-manifest.js +1 -1
  99. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
  100. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  101. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  102. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  103. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  104. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  105. package/app/.next-cli-build/server/app/(dashboard)/dashboard/resource-monitor/page.js +1 -1
  106. package/app/.next-cli-build/server/app/(dashboard)/dashboard/resource-monitor/page.js.nft.json +1 -1
  107. package/app/.next-cli-build/server/app/(dashboard)/dashboard/resource-monitor/page_client-reference-manifest.js +1 -1
  108. package/app/.next-cli-build/server/app/(dashboard)/dashboard/routing-topology/page.js +1 -1
  109. package/app/.next-cli-build/server/app/(dashboard)/dashboard/routing-topology/page.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/(dashboard)/dashboard/routing-topology/page_client-reference-manifest.js +1 -1
  111. package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page.js +1 -1
  112. package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page.js.nft.json +1 -1
  113. package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  114. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
  115. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  117. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
  118. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  119. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  120. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
  121. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  123. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  124. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  126. package/app/.next-cli-build/server/app/_global-error/page.js +1 -1
  127. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  129. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  130. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  131. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  132. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  133. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  134. package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
  135. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  137. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  138. package/app/.next-cli-build/server/app/_not-found.rsc +6 -6
  139. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +6 -6
  140. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +6 -6
  141. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  142. package/app/.next-cli-build/server/app/api/audit-proxy/ca/route.js +1 -1
  143. package/app/.next-cli-build/server/app/api/audit-proxy/ca/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/audit-proxy/route.js +2 -2
  145. package/app/.next-cli-build/server/app/api/audit-proxy/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js +1 -1
  147. package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js +1 -1
  149. package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/auth/login/route.js +2 -2
  151. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  153. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  155. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  157. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  159. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  161. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/auth/view-mode/route.js +1 -1
  163. package/app/.next-cli-build/server/app/api/auth/view-mode/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/branding/[asset]/route.js +1 -1
  165. package/app/.next-cli-build/server/app/api/branding/[asset]/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/branding/route.js +1 -1
  167. package/app/.next-cli-build/server/app/api/branding/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/branding/upload/route.js +1 -1
  169. package/app/.next-cli-build/server/app/api/branding/upload/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/cli-model-profiles/cloud-models/route.js +1 -1
  171. package/app/.next-cli-build/server/app/api/cli-model-profiles/cloud-models/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/cli-model-profiles/route.js +1 -1
  173. package/app/.next-cli-build/server/app/api/cli-model-profiles/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +1 -1
  175. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  176. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  177. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route.js +1 -1
  179. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route.js +2 -2
  181. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route.js +1 -1
  183. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  185. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  187. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  189. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  191. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +1 -1
  193. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  195. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  197. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
  199. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  201. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  203. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  205. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  207. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +1 -1
  209. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  211. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  212. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  213. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/cli-tools/qwen-settings/route.js +2 -2
  215. package/app/.next-cli-build/server/app/api/cli-tools/qwen-settings/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/cluster/config/route.js +1 -1
  217. package/app/.next-cli-build/server/app/api/cluster/config/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/cluster/heartbeat/route.js +1 -1
  219. package/app/.next-cli-build/server/app/api/cluster/heartbeat/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/cluster/peers/[id]/command/route.js +1 -1
  221. package/app/.next-cli-build/server/app/api/cluster/peers/[id]/command/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/cluster/peers/[id]/route.js +1 -1
  223. package/app/.next-cli-build/server/app/api/cluster/peers/[id]/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/cluster/peers/route.js +1 -1
  225. package/app/.next-cli-build/server/app/api/cluster/peers/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/cluster/snapshot/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/cluster/snapshot/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/cluster/sync/route.js +1 -1
  229. package/app/.next-cli-build/server/app/api/cluster/sync/route.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/api/cluster/test/route.js +1 -1
  231. package/app/.next-cli-build/server/app/api/cluster/test/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +2 -2
  233. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  235. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/dashboard/ai-power-index/route.js +1 -1
  237. package/app/.next-cli-build/server/app/api/dashboard/ai-power-index/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/dashboard/analytics/ai-models/route.js +1 -1
  239. package/app/.next-cli-build/server/app/api/dashboard/analytics/ai-models/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/dashboard/analytics/analyze/route.js +2 -2
  241. package/app/.next-cli-build/server/app/api/dashboard/analytics/analyze/route.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/api/dashboard/analytics/route.js +1 -1
  243. package/app/.next-cli-build/server/app/api/dashboard/analytics/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/dashboard/combos/route.js +1 -1
  245. package/app/.next-cli-build/server/app/api/dashboard/combos/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/dashboard/endpoint/route.js +1 -1
  247. package/app/.next-cli-build/server/app/api/dashboard/endpoint/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/dashboard/local-ai-report/route.js +2 -2
  249. package/app/.next-cli-build/server/app/api/dashboard/local-ai-report/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js +1 -1
  251. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/options/route.js +1 -1
  253. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/options/route.js.nft.json +1 -1
  254. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js +1 -1
  255. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/dashboard/routing-topology/config/route.js +1 -1
  257. package/app/.next-cli-build/server/app/api/dashboard/routing-topology/config/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/dashboard/routing-topology/live/route.js +1 -1
  259. package/app/.next-cli-build/server/app/api/dashboard/routing-topology/live/route.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/api/dashboard/routing-topology/route.js +1 -1
  261. package/app/.next-cli-build/server/app/api/dashboard/routing-topology/route.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/api/dashboard/token-saver/route.js +2 -2
  263. package/app/.next-cli-build/server/app/api/dashboard/token-saver/route.js.nft.json +1 -1
  264. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  265. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  266. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  267. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/api/keys/[id]/caveman-test/route.js +1 -1
  269. package/app/.next-cli-build/server/app/api/keys/[id]/caveman-test/route.js.nft.json +1 -1
  270. package/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js +1 -1
  271. package/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js.nft.json +1 -1
  272. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  273. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  274. package/app/.next-cli-build/server/app/api/keys/route.js +2 -2
  275. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  276. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  277. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  278. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
  279. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +1 -1
  281. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  282. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  283. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  284. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  285. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  287. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  288. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  289. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  290. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +2 -2
  291. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  292. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  293. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  294. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  295. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  296. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  297. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  298. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  299. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  300. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  301. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  302. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  303. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  304. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  305. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  306. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  307. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  308. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +1 -1
  309. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  310. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  311. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  312. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  313. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  314. package/app/.next-cli-build/server/app/api/oauth/grok-cli/device-code/route.js +1 -1
  315. package/app/.next-cli-build/server/app/api/oauth/grok-cli/device-code/route.js.nft.json +1 -1
  316. package/app/.next-cli-build/server/app/api/oauth/grok-cli/poll/route.js +1 -1
  317. package/app/.next-cli-build/server/app/api/oauth/grok-cli/poll/route.js.nft.json +1 -1
  318. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  319. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  320. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  321. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  322. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  323. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  324. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  325. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  326. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  327. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  328. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/api-key-models/route.js +1 -1
  329. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/api-key-models/route.js.nft.json +1 -1
  330. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/import-models/route.js +1 -1
  331. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/import-models/route.js.nft.json +1 -1
  332. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/models/[...routeModel]/route.js +1 -1
  333. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/models/[...routeModel]/route.js.nft.json +1 -1
  334. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/move/route.js +1 -1
  335. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/move/route.js.nft.json +1 -1
  336. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/route.js +1 -1
  337. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/route.js.nft.json +1 -1
  338. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/usage/route.js +1 -1
  339. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/usage/route.js.nft.json +1 -1
  340. package/app/.next-cli-build/server/app/api/personal-cloud-providers/client/route.js +1 -1
  341. package/app/.next-cli-build/server/app/api/personal-cloud-providers/client/route.js.nft.json +1 -1
  342. package/app/.next-cli-build/server/app/api/personal-cloud-providers/monitor/route.js +1 -1
  343. package/app/.next-cli-build/server/app/api/personal-cloud-providers/monitor/route.js.nft.json +1 -1
  344. package/app/.next-cli-build/server/app/api/personal-cloud-providers/permissions/route.js +1 -1
  345. package/app/.next-cli-build/server/app/api/personal-cloud-providers/permissions/route.js.nft.json +1 -1
  346. package/app/.next-cli-build/server/app/api/personal-cloud-providers/route.js +1 -1
  347. package/app/.next-cli-build/server/app/api/personal-cloud-providers/route.js.nft.json +1 -1
  348. package/app/.next-cli-build/server/app/api/personal-cloud-providers/routing/route.js +1 -1
  349. package/app/.next-cli-build/server/app/api/personal-cloud-providers/routing/route.js.nft.json +1 -1
  350. package/app/.next-cli-build/server/app/api/personal-cloud-providers/shares/route.js +1 -1
  351. package/app/.next-cli-build/server/app/api/personal-cloud-providers/shares/route.js.nft.json +1 -1
  352. package/app/.next-cli-build/server/app/api/personal-cloud-providers/visibility/route.js +1 -1
  353. package/app/.next-cli-build/server/app/api/personal-cloud-providers/visibility/route.js.nft.json +1 -1
  354. package/app/.next-cli-build/server/app/api/pricing/catalog/route.js +2 -2
  355. package/app/.next-cli-build/server/app/api/pricing/catalog/route.js.nft.json +1 -1
  356. package/app/.next-cli-build/server/app/api/pricing/recalculate/route.js +1 -1
  357. package/app/.next-cli-build/server/app/api/pricing/recalculate/route.js.nft.json +1 -1
  358. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  359. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  360. package/app/.next-cli-build/server/app/api/provider-health/route.js +1 -1
  361. package/app/.next-cli-build/server/app/api/provider-health/route.js.nft.json +1 -1
  362. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  363. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  364. package/app/.next-cli-build/server/app/api/provider-nodes/openai-compatible/manage/route.js +1 -1
  365. package/app/.next-cli-build/server/app/api/provider-nodes/openai-compatible/manage/route.js.nft.json +1 -1
  366. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  367. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  368. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  369. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  370. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  371. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  372. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  373. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  374. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  375. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  376. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  377. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  378. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  379. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  380. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  381. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  382. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  383. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  384. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  385. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  386. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  387. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  388. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  389. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  390. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  391. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  392. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  393. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  394. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  395. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  396. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +1 -1
  397. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  398. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  399. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  400. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +1 -1
  401. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  402. package/app/.next-cli-build/server/app/api/resource-monitor/[id]/route.js +2 -2
  403. package/app/.next-cli-build/server/app/api/resource-monitor/[id]/route.js.nft.json +1 -1
  404. package/app/.next-cli-build/server/app/api/resource-monitor/ai-models/route.js +1 -1
  405. package/app/.next-cli-build/server/app/api/resource-monitor/ai-models/route.js.nft.json +1 -1
  406. package/app/.next-cli-build/server/app/api/resource-monitor/analyze/route.js +2 -2
  407. package/app/.next-cli-build/server/app/api/resource-monitor/analyze/route.js.nft.json +1 -1
  408. package/app/.next-cli-build/server/app/api/resource-monitor/history/route.js +2 -2
  409. package/app/.next-cli-build/server/app/api/resource-monitor/history/route.js.nft.json +1 -1
  410. package/app/.next-cli-build/server/app/api/resource-monitor/route.js +3 -3
  411. package/app/.next-cli-build/server/app/api/resource-monitor/route.js.nft.json +1 -1
  412. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  413. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  414. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  415. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  416. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  417. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  418. package/app/.next-cli-build/server/app/api/settings/route.js +2 -2
  419. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  420. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  421. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  422. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  423. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  424. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  425. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  426. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  427. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  428. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  429. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  430. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  431. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  432. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  433. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  434. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  435. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  436. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  437. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  438. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  439. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  440. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  441. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  442. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  443. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  444. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  445. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  446. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  447. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  448. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +1 -1
  449. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  450. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js +1 -1
  451. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js.nft.json +1 -1
  452. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js +1 -1
  453. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js.nft.json +1 -1
  454. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  455. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  456. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  457. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  458. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  459. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  460. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  461. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  462. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  463. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  464. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  465. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  466. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  467. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  468. package/app/.next-cli-build/server/app/api/usage/stream/route.js +1 -1
  469. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  470. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  471. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  472. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  473. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  474. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  475. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  476. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  477. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  478. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  479. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  480. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  481. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  482. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  483. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  484. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  485. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  486. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  487. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  488. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  489. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  490. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  491. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  492. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  493. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  494. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  495. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  496. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  497. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  498. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  499. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  500. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  501. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  502. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  503. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  504. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  505. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  506. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  507. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  508. package/app/.next-cli-build/server/app/api/version/restart/route.js +1 -1
  509. package/app/.next-cli-build/server/app/api/version/restart/route.js.nft.json +1 -1
  510. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  511. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  512. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  513. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  514. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  515. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  516. package/app/.next-cli-build/server/app/callback/page.js +1 -1
  517. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  518. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  519. package/app/.next-cli-build/server/app/callback.html +1 -1
  520. package/app/.next-cli-build/server/app/callback.rsc +6 -6
  521. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +6 -6
  522. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  523. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +6 -6
  524. package/app/.next-cli-build/server/app/dashboard/ai-power-index.html +1 -1
  525. package/app/.next-cli-build/server/app/dashboard/ai-power-index.rsc +8 -8
  526. package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/!KGRhc2hib2FyZCk/dashboard/ai-power-index/__PAGE__.segment.rsc +8 -8
  527. package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/_full.segment.rsc +8 -8
  528. package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/_tree.segment.rsc +3 -3
  529. package/app/.next-cli-build/server/app/dashboard/api-keys.html +1 -1
  530. package/app/.next-cli-build/server/app/dashboard/api-keys.rsc +11 -11
  531. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard/api-keys/__PAGE__.segment.rsc +11 -11
  532. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_full.segment.rsc +11 -11
  533. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_tree.segment.rsc +3 -3
  534. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  535. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +9 -9
  536. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +9 -9
  537. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +9 -9
  538. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +3 -3
  539. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.html +1 -1
  540. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.rsc +9 -9
  541. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/model-profiles/__PAGE__.segment.rsc +9 -9
  542. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/_full.segment.rsc +9 -9
  543. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/_tree.segment.rsc +3 -3
  544. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  545. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +9 -9
  546. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +9 -9
  547. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +9 -9
  548. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +3 -3
  549. package/app/.next-cli-build/server/app/dashboard/cluster.html +1 -1
  550. package/app/.next-cli-build/server/app/dashboard/cluster.rsc +8 -8
  551. package/app/.next-cli-build/server/app/dashboard/cluster.segments/!KGRhc2hib2FyZCk/dashboard/cluster/__PAGE__.segment.rsc +8 -8
  552. package/app/.next-cli-build/server/app/dashboard/cluster.segments/_full.segment.rsc +8 -8
  553. package/app/.next-cli-build/server/app/dashboard/cluster.segments/_tree.segment.rsc +3 -3
  554. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  555. package/app/.next-cli-build/server/app/dashboard/combos.rsc +9 -9
  556. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +9 -9
  557. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +9 -9
  558. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +3 -3
  559. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  560. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +9 -9
  561. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +9 -9
  562. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +9 -9
  563. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +3 -3
  564. package/app/.next-cli-build/server/app/dashboard/local-ai-report.html +1 -1
  565. package/app/.next-cli-build/server/app/dashboard/local-ai-report.rsc +8 -8
  566. package/app/.next-cli-build/server/app/dashboard/local-ai-report.segments/!KGRhc2hib2FyZCk/dashboard/local-ai-report/__PAGE__.segment.rsc +8 -8
  567. package/app/.next-cli-build/server/app/dashboard/local-ai-report.segments/_full.segment.rsc +8 -8
  568. package/app/.next-cli-build/server/app/dashboard/local-ai-report.segments/_tree.segment.rsc +3 -3
  569. package/app/.next-cli-build/server/app/dashboard/logs.html +1 -1
  570. package/app/.next-cli-build/server/app/dashboard/logs.rsc +22 -24
  571. package/app/.next-cli-build/server/app/dashboard/logs.segments/_full.segment.rsc +22 -24
  572. package/app/.next-cli-build/server/app/dashboard/logs.segments/_tree.segment.rsc +3 -3
  573. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  574. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +9 -9
  575. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +9 -9
  576. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +9 -9
  577. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +3 -3
  578. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  579. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +9 -9
  580. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +9 -9
  581. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +9 -9
  582. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +3 -3
  583. package/app/.next-cli-build/server/app/dashboard/personal.html +1 -1
  584. package/app/.next-cli-build/server/app/dashboard/personal.rsc +9 -9
  585. package/app/.next-cli-build/server/app/dashboard/personal.segments/!KGRhc2hib2FyZCk/dashboard/personal/__PAGE__.segment.rsc +9 -9
  586. package/app/.next-cli-build/server/app/dashboard/personal.segments/_full.segment.rsc +9 -9
  587. package/app/.next-cli-build/server/app/dashboard/personal.segments/_tree.segment.rsc +3 -3
  588. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  589. package/app/.next-cli-build/server/app/dashboard/profile.rsc +9 -9
  590. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +9 -9
  591. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +9 -9
  592. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +3 -3
  593. package/app/.next-cli-build/server/app/dashboard/prompt-logs.html +1 -1
  594. package/app/.next-cli-build/server/app/dashboard/prompt-logs.rsc +9 -9
  595. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs/__PAGE__.segment.rsc +9 -9
  596. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_full.segment.rsc +9 -9
  597. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_tree.segment.rsc +3 -3
  598. package/app/.next-cli-build/server/app/dashboard/provider-health.html +1 -1
  599. package/app/.next-cli-build/server/app/dashboard/provider-health.rsc +8 -8
  600. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health/__PAGE__.segment.rsc +8 -8
  601. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_full.segment.rsc +8 -8
  602. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_tree.segment.rsc +3 -3
  603. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  604. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +9 -9
  605. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +9 -9
  606. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +9 -9
  607. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +3 -3
  608. package/app/.next-cli-build/server/app/dashboard/providers/stt.html +1 -1
  609. package/app/.next-cli-build/server/app/dashboard/providers/stt.rsc +9 -9
  610. package/app/.next-cli-build/server/app/dashboard/providers/stt.segments/!KGRhc2hib2FyZCk/dashboard/providers/stt/__PAGE__.segment.rsc +9 -9
  611. package/app/.next-cli-build/server/app/dashboard/providers/stt.segments/_full.segment.rsc +9 -9
  612. package/app/.next-cli-build/server/app/dashboard/providers/stt.segments/_tree.segment.rsc +3 -3
  613. package/app/.next-cli-build/server/app/dashboard/providers/tts.html +1 -1
  614. package/app/.next-cli-build/server/app/dashboard/providers/tts.rsc +9 -9
  615. package/app/.next-cli-build/server/app/dashboard/providers/tts.segments/!KGRhc2hib2FyZCk/dashboard/providers/tts/__PAGE__.segment.rsc +9 -9
  616. package/app/.next-cli-build/server/app/dashboard/providers/tts.segments/_full.segment.rsc +9 -9
  617. package/app/.next-cli-build/server/app/dashboard/providers/tts.segments/_tree.segment.rsc +3 -3
  618. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  619. package/app/.next-cli-build/server/app/dashboard/providers.rsc +9 -9
  620. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +9 -9
  621. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +9 -9
  622. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +3 -3
  623. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  624. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +9 -9
  625. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +9 -9
  626. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +9 -9
  627. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +3 -3
  628. package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
  629. package/app/.next-cli-build/server/app/dashboard/quota.rsc +10 -10
  630. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +10 -10
  631. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +10 -10
  632. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +3 -3
  633. package/app/.next-cli-build/server/app/dashboard/resource-monitor.html +1 -1
  634. package/app/.next-cli-build/server/app/dashboard/resource-monitor.rsc +8 -8
  635. package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/!KGRhc2hib2FyZCk/dashboard/resource-monitor/__PAGE__.segment.rsc +8 -8
  636. package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/_full.segment.rsc +8 -8
  637. package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/_tree.segment.rsc +3 -3
  638. package/app/.next-cli-build/server/app/dashboard/routing-topology.html +1 -1
  639. package/app/.next-cli-build/server/app/dashboard/routing-topology.rsc +8 -8
  640. package/app/.next-cli-build/server/app/dashboard/routing-topology.segments/!KGRhc2hib2FyZCk/dashboard/routing-topology/__PAGE__.segment.rsc +8 -8
  641. package/app/.next-cli-build/server/app/dashboard/routing-topology.segments/_full.segment.rsc +8 -8
  642. package/app/.next-cli-build/server/app/dashboard/routing-topology.segments/_tree.segment.rsc +3 -3
  643. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  644. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +8 -8
  645. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing/__PAGE__.segment.rsc +8 -8
  646. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +8 -8
  647. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +3 -3
  648. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  649. package/app/.next-cli-build/server/app/dashboard/skills.rsc +9 -9
  650. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +9 -9
  651. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +9 -9
  652. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +3 -3
  653. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  654. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +8 -8
  655. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +8 -8
  656. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +8 -8
  657. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +3 -3
  658. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  659. package/app/.next-cli-build/server/app/dashboard/translator.rsc +9 -9
  660. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +9 -9
  661. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +9 -9
  662. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +3 -3
  663. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  664. package/app/.next-cli-build/server/app/dashboard/usage.rsc +9 -9
  665. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +9 -9
  666. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +9 -9
  667. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +3 -3
  668. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  669. package/app/.next-cli-build/server/app/dashboard.rsc +9 -9
  670. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +9 -9
  671. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +9 -9
  672. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +3 -3
  673. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  674. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  675. package/app/.next-cli-build/server/app/index.html +1 -1
  676. package/app/.next-cli-build/server/app/index.rsc +6 -6
  677. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +6 -6
  678. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +6 -6
  679. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  680. package/app/.next-cli-build/server/app/landing/page.js +1 -1
  681. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  682. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  683. package/app/.next-cli-build/server/app/landing.html +1 -1
  684. package/app/.next-cli-build/server/app/landing.rsc +6 -6
  685. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +6 -6
  686. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  687. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +6 -6
  688. package/app/.next-cli-build/server/app/login/page.js +1 -1
  689. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  690. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  691. package/app/.next-cli-build/server/app/login.html +1 -1
  692. package/app/.next-cli-build/server/app/login.rsc +7 -7
  693. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +7 -7
  694. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  695. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +7 -7
  696. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  697. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  698. package/app/.next-cli-build/server/app/page.js +1 -1
  699. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  700. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  701. package/app/.next-cli-build/server/app-paths-manifest.json +13 -12
  702. package/app/.next-cli-build/server/chunks/3767.js +1 -1
  703. package/app/.next-cli-build/server/chunks/3958.js +3 -3
  704. package/app/.next-cli-build/server/chunks/4594.js +1 -0
  705. package/app/.next-cli-build/server/chunks/4696.js +1 -1
  706. package/app/.next-cli-build/server/chunks/4746.js +1 -1
  707. package/app/.next-cli-build/server/chunks/4790.js +2 -2
  708. package/app/.next-cli-build/server/chunks/5210.js +9 -9
  709. package/app/.next-cli-build/server/chunks/541.js +1 -1
  710. package/app/.next-cli-build/server/chunks/607.js +1 -1
  711. package/app/.next-cli-build/server/chunks/6328.js +1 -1
  712. package/app/.next-cli-build/server/chunks/6811.js +1 -1
  713. package/app/.next-cli-build/server/chunks/6992.js +1 -1
  714. package/app/.next-cli-build/server/chunks/7142.js +1 -0
  715. package/app/.next-cli-build/server/chunks/7639.js +1 -1
  716. package/app/.next-cli-build/server/chunks/7812.js +1 -1
  717. package/app/.next-cli-build/server/chunks/8352.js +1 -1
  718. package/app/.next-cli-build/server/chunks/8640.js +2 -2
  719. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  720. package/app/.next-cli-build/server/pages/404.html +1 -1
  721. package/app/.next-cli-build/server/pages/500.html +1 -1
  722. package/app/.next-cli-build/static/OvJK_UdNOS0vJSr9JO4J4/_buildManifest.js +1 -0
  723. package/app/.next-cli-build/static/chunks/{5263-370057dd375df5fd.js → 5263-5edbd7b3aa9dfb9e.js} +1 -1
  724. package/app/.next-cli-build/static/chunks/{5497-e7a491e584d8e889.js → 5497-a3cadef0038fbc54.js} +2 -2
  725. package/app/.next-cli-build/static/chunks/{5478-b8434ac09db5465f.js → 9705-9912c0535c058c02.js} +1 -1
  726. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/api-keys/{page-69abc960e895e371.js → page-8c2da5b95b0920e1.js} +1 -1
  727. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/{page-b4d366816efccb83.js → page-08bcacabfb4016a8.js} +1 -1
  728. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-cf60b5c7ef98268e.js → page-a9ff54e851d2ee6b.js} +1 -1
  729. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/model-profiles/{page-565eec37a6b1e43e.js → page-514941d4d89828f3.js} +1 -1
  730. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-4d03de73b87070b7.js → page-6af3a74f988fa9a3.js} +1 -1
  731. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/{page-9125d5791390ecd1.js → page-b484d39ac1824239.js} +1 -1
  732. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-20db329e00f2d625.js +1 -0
  733. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/{page-aaf1ae8b36169705.js → page-1abcaccf45c4d975.js} +1 -1
  734. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-9117c57680c9a427.js → page-9a1c2c9d6bc4319c.js} +1 -1
  735. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/{providers/tts/page-cc5320ebd1a7e502.js → media-providers/[kind]/page-154eed6f10067283.js} +1 -1
  736. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-c17bde6fb00334f8.js → page-2bcd21fc09c38461.js} +1 -1
  737. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/{page-7910b58d0aedaa0f.js → page-c01afc3879e58b71.js} +1 -1
  738. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-1ec588c770711f10.js → page-b40045309a980f35.js} +1 -1
  739. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/{page-aaf1ae8b36169705.js → page-1abcaccf45c4d975.js} +1 -1
  740. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/personal/{page-41e959b6a32f2dcd.js → page-ebc28879d4aba11d.js} +1 -1
  741. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/personalcloudprovider/{layout-e6352e14327c0403.js → layout-72251d3e2b178c64.js} +1 -1
  742. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/personalcloudprovider/{page-b0752e76d649652c.js → page-89c84b2666538769.js} +1 -1
  743. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/personalcloudprovidermonitor/{page-01cc90c62e5b5082.js → page-2366c1492c09d740.js} +1 -1
  744. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/{page-f08bb6e259b2c163.js → page-99b518e5b6d81643.js} +1 -1
  745. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/prompt-logs/page-a3741fba3051df50.js +1 -0
  746. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-47131b1112d369af.js → page-d3d1b8d6916c6050.js} +1 -1
  747. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-a767336a177c4006.js → page-23d57f0cd3caa5a4.js} +1 -1
  748. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/{page-96ab6806712c81a9.js → page-d278b9c2099a88c8.js} +1 -1
  749. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/stt/{page-cc5320ebd1a7e502.js → page-154eed6f10067283.js} +1 -1
  750. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/{media-providers/[kind]/page-cc5320ebd1a7e502.js → providers/tts/page-154eed6f10067283.js} +1 -1
  751. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-905744d22c273a69.js → page-9a6e31f87d838029.js} +1 -1
  752. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/{page-2fd66044b1fd1c69.js → page-d22d38cc4a97d13d.js} +1 -1
  753. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/{page-5d3a88a800c01ca2.js → page-efedba92d6e02c82.js} +1 -1
  754. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/{page-8d752b6befd00f90.js → page-089032ee4ac431a5.js} +1 -1
  755. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/{page-9fd8ba9f4423ea62.js → page-6f197758e96ec272.js} +1 -1
  756. package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-ff68f7f7cf22bcac.js → layout-e5f8b9540dd02062.js} +1 -1
  757. package/app/.next-cli-build/static/chunks/app/_global-error/page-a48c4c9356e97886.js +1 -0
  758. package/app/.next-cli-build/static/chunks/app/api/audit-proxy/ca/route-a48c4c9356e97886.js +1 -0
  759. package/app/.next-cli-build/static/chunks/app/api/audit-proxy/route-a48c4c9356e97886.js +1 -0
  760. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/test/route-a48c4c9356e97886.js +1 -0
  761. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/users/route-a48c4c9356e97886.js +1 -0
  762. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-a48c4c9356e97886.js +1 -0
  763. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-a48c4c9356e97886.js +1 -0
  764. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-a48c4c9356e97886.js +1 -0
  765. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-a48c4c9356e97886.js +1 -0
  766. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-a48c4c9356e97886.js +1 -0
  767. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-a48c4c9356e97886.js +1 -0
  768. package/app/.next-cli-build/static/chunks/app/api/auth/view-mode/route-a48c4c9356e97886.js +1 -0
  769. package/app/.next-cli-build/static/chunks/app/api/branding/[asset]/route-a48c4c9356e97886.js +1 -0
  770. package/app/.next-cli-build/static/chunks/app/api/branding/route-a48c4c9356e97886.js +1 -0
  771. package/app/.next-cli-build/static/chunks/app/api/branding/upload/route-a48c4c9356e97886.js +1 -0
  772. package/app/.next-cli-build/static/chunks/app/api/cli-model-profiles/cloud-models/route-a48c4c9356e97886.js +1 -0
  773. package/app/.next-cli-build/static/chunks/app/api/cli-model-profiles/route-a48c4c9356e97886.js +1 -0
  774. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-a48c4c9356e97886.js +1 -0
  775. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-a48c4c9356e97886.js +1 -0
  776. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/autostart/route-a48c4c9356e97886.js +1 -0
  777. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/prompt-log-db/route-a48c4c9356e97886.js +1 -0
  778. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/root-ca/route-a48c4c9356e97886.js +1 -0
  779. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-a48c4c9356e97886.js +1 -0
  780. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-a48c4c9356e97886.js +1 -0
  781. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-a48c4c9356e97886.js +1 -0
  782. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-a48c4c9356e97886.js +1 -0
  783. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-a48c4c9356e97886.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-a48c4c9356e97886.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-a48c4c9356e97886.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-a48c4c9356e97886.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-a48c4c9356e97886.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-a48c4c9356e97886.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-a48c4c9356e97886.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-a48c4c9356e97886.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-a48c4c9356e97886.js +1 -0
  792. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-a48c4c9356e97886.js +1 -0
  793. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-a48c4c9356e97886.js +1 -0
  794. package/app/.next-cli-build/static/chunks/app/api/cli-tools/qwen-settings/route-a48c4c9356e97886.js +1 -0
  795. package/app/.next-cli-build/static/chunks/app/api/cluster/config/route-a48c4c9356e97886.js +1 -0
  796. package/app/.next-cli-build/static/chunks/app/api/cluster/heartbeat/route-a48c4c9356e97886.js +1 -0
  797. package/app/.next-cli-build/static/chunks/app/api/cluster/peers/[id]/command/route-a48c4c9356e97886.js +1 -0
  798. package/app/.next-cli-build/static/chunks/app/api/cluster/peers/[id]/route-a48c4c9356e97886.js +1 -0
  799. package/app/.next-cli-build/static/chunks/app/api/cluster/peers/route-a48c4c9356e97886.js +1 -0
  800. package/app/.next-cli-build/static/chunks/app/api/cluster/snapshot/route-a48c4c9356e97886.js +1 -0
  801. package/app/.next-cli-build/static/chunks/app/api/cluster/sync/route-a48c4c9356e97886.js +1 -0
  802. package/app/.next-cli-build/static/chunks/app/api/cluster/test/route-a48c4c9356e97886.js +1 -0
  803. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-a48c4c9356e97886.js +1 -0
  804. package/app/.next-cli-build/static/chunks/app/api/combos/route-a48c4c9356e97886.js +1 -0
  805. package/app/.next-cli-build/static/chunks/app/api/dashboard/ai-power-index/route-a48c4c9356e97886.js +1 -0
  806. package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/ai-models/route-a48c4c9356e97886.js +1 -0
  807. package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/analyze/route-a48c4c9356e97886.js +1 -0
  808. package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/route-a48c4c9356e97886.js +1 -0
  809. package/app/.next-cli-build/static/chunks/app/api/dashboard/combos/route-a48c4c9356e97886.js +1 -0
  810. package/app/.next-cli-build/static/chunks/app/api/dashboard/endpoint/route-a48c4c9356e97886.js +1 -0
  811. package/app/.next-cli-build/static/chunks/app/api/dashboard/local-ai-report/route-a48c4c9356e97886.js +1 -0
  812. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/[id]/route-a48c4c9356e97886.js +1 -0
  813. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/options/route-a48c4c9356e97886.js +1 -0
  814. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/route-a48c4c9356e97886.js +1 -0
  815. package/app/.next-cli-build/static/chunks/app/api/dashboard/routing-topology/config/route-a48c4c9356e97886.js +1 -0
  816. package/app/.next-cli-build/static/chunks/app/api/dashboard/routing-topology/live/route-a48c4c9356e97886.js +1 -0
  817. package/app/.next-cli-build/static/chunks/app/api/dashboard/routing-topology/route-a48c4c9356e97886.js +1 -0
  818. package/app/.next-cli-build/static/chunks/app/api/dashboard/token-saver/route-a48c4c9356e97886.js +1 -0
  819. package/app/.next-cli-build/static/chunks/app/api/health/route-a48c4c9356e97886.js +1 -0
  820. package/app/.next-cli-build/static/chunks/app/api/init/route-a48c4c9356e97886.js +1 -0
  821. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/caveman-test/route-a48c4c9356e97886.js +1 -0
  822. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/rotate/route-a48c4c9356e97886.js +1 -0
  823. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-a48c4c9356e97886.js +1 -0
  824. package/app/.next-cli-build/static/chunks/app/api/keys/route-a48c4c9356e97886.js +1 -0
  825. package/app/.next-cli-build/static/chunks/app/api/locale/route-a48c4c9356e97886.js +1 -0
  826. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-a48c4c9356e97886.js +1 -0
  827. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-a48c4c9356e97886.js +1 -0
  828. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-a48c4c9356e97886.js +1 -0
  829. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-a48c4c9356e97886.js +1 -0
  830. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-a48c4c9356e97886.js +1 -0
  831. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-a48c4c9356e97886.js +1 -0
  832. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-a48c4c9356e97886.js +1 -0
  833. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-a48c4c9356e97886.js +1 -0
  834. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-a48c4c9356e97886.js +1 -0
  835. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-a48c4c9356e97886.js +1 -0
  836. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-a48c4c9356e97886.js +1 -0
  837. package/app/.next-cli-build/static/chunks/app/api/models/route-a48c4c9356e97886.js +1 -0
  838. package/app/.next-cli-build/static/chunks/app/api/models/test/route-a48c4c9356e97886.js +1 -0
  839. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-a48c4c9356e97886.js +1 -0
  840. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-a48c4c9356e97886.js +1 -0
  841. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-a48c4c9356e97886.js +1 -0
  842. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-a48c4c9356e97886.js +1 -0
  843. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-a48c4c9356e97886.js +1 -0
  844. package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/device-code/route-a48c4c9356e97886.js +1 -0
  845. package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/poll/route-a48c4c9356e97886.js +1 -0
  846. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-a48c4c9356e97886.js +1 -0
  847. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-a48c4c9356e97886.js +1 -0
  848. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-a48c4c9356e97886.js +1 -0
  849. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-a48c4c9356e97886.js +1 -0
  850. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-a48c4c9356e97886.js +1 -0
  851. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/api-key-models/route-a48c4c9356e97886.js +1 -0
  852. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/import-models/route-a48c4c9356e97886.js +1 -0
  853. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/models/[...routeModel]/route-a48c4c9356e97886.js +1 -0
  854. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/move/route-a48c4c9356e97886.js +1 -0
  855. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/route-a48c4c9356e97886.js +1 -0
  856. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/usage/route-a48c4c9356e97886.js +1 -0
  857. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/client/route-a48c4c9356e97886.js +1 -0
  858. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/monitor/route-a48c4c9356e97886.js +1 -0
  859. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/permissions/route-a48c4c9356e97886.js +1 -0
  860. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/route-a48c4c9356e97886.js +1 -0
  861. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/routing/route-a48c4c9356e97886.js +1 -0
  862. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/shares/route-a48c4c9356e97886.js +1 -0
  863. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/visibility/route-a48c4c9356e97886.js +1 -0
  864. package/app/.next-cli-build/static/chunks/app/api/pricing/catalog/route-a48c4c9356e97886.js +1 -0
  865. package/app/.next-cli-build/static/chunks/app/api/pricing/recalculate/route-a48c4c9356e97886.js +1 -0
  866. package/app/.next-cli-build/static/chunks/app/api/pricing/route-a48c4c9356e97886.js +1 -0
  867. package/app/.next-cli-build/static/chunks/app/api/provider-health/route-a48c4c9356e97886.js +1 -0
  868. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-a48c4c9356e97886.js +1 -0
  869. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/openai-compatible/manage/route-a48c4c9356e97886.js +1 -0
  870. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-a48c4c9356e97886.js +1 -0
  871. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-a48c4c9356e97886.js +1 -0
  872. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-a48c4c9356e97886.js +1 -0
  873. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-a48c4c9356e97886.js +1 -0
  874. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-a48c4c9356e97886.js +1 -0
  875. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-a48c4c9356e97886.js +1 -0
  876. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-a48c4c9356e97886.js +1 -0
  877. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-a48c4c9356e97886.js +1 -0
  878. package/app/.next-cli-build/static/chunks/app/api/providers/route-a48c4c9356e97886.js +1 -0
  879. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-a48c4c9356e97886.js +1 -0
  880. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-a48c4c9356e97886.js +1 -0
  881. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-a48c4c9356e97886.js +1 -0
  882. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-a48c4c9356e97886.js +1 -0
  883. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-a48c4c9356e97886.js +1 -0
  884. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-a48c4c9356e97886.js +1 -0
  885. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-a48c4c9356e97886.js +1 -0
  886. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-a48c4c9356e97886.js +1 -0
  887. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-a48c4c9356e97886.js +1 -0
  888. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/[id]/route-a48c4c9356e97886.js +1 -0
  889. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/ai-models/route-a48c4c9356e97886.js +1 -0
  890. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/analyze/route-a48c4c9356e97886.js +1 -0
  891. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/history/route-a48c4c9356e97886.js +1 -0
  892. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/route-a48c4c9356e97886.js +1 -0
  893. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-a48c4c9356e97886.js +1 -0
  894. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-a48c4c9356e97886.js +1 -0
  895. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-a48c4c9356e97886.js +1 -0
  896. package/app/.next-cli-build/static/chunks/app/api/settings/route-a48c4c9356e97886.js +1 -0
  897. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-a48c4c9356e97886.js +1 -0
  898. package/app/.next-cli-build/static/chunks/app/api/tags/route-a48c4c9356e97886.js +1 -0
  899. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-a48c4c9356e97886.js +1 -0
  900. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-a48c4c9356e97886.js +1 -0
  901. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-a48c4c9356e97886.js +1 -0
  902. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-a48c4c9356e97886.js +1 -0
  903. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-a48c4c9356e97886.js +1 -0
  904. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-a48c4c9356e97886.js +1 -0
  905. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-a48c4c9356e97886.js +1 -0
  906. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-a48c4c9356e97886.js +1 -0
  907. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-a48c4c9356e97886.js +1 -0
  908. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-a48c4c9356e97886.js +1 -0
  909. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-a48c4c9356e97886.js +1 -0
  910. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-a48c4c9356e97886.js +1 -0
  911. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-a48c4c9356e97886.js +1 -0
  912. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-login/route-a48c4c9356e97886.js +1 -0
  913. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-start-daemon/route-a48c4c9356e97886.js +1 -0
  914. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-a48c4c9356e97886.js +1 -0
  915. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-a48c4c9356e97886.js +1 -0
  916. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-a48c4c9356e97886.js +1 -0
  917. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-a48c4c9356e97886.js +1 -0
  918. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-a48c4c9356e97886.js +1 -0
  919. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-a48c4c9356e97886.js +1 -0
  920. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-a48c4c9356e97886.js +1 -0
  921. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-a48c4c9356e97886.js +1 -0
  922. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-a48c4c9356e97886.js +1 -0
  923. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-a48c4c9356e97886.js +1 -0
  924. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-a48c4c9356e97886.js +1 -0
  925. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-a48c4c9356e97886.js +1 -0
  926. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-a48c4c9356e97886.js +1 -0
  927. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-a48c4c9356e97886.js +1 -0
  928. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-a48c4c9356e97886.js +1 -0
  929. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-a48c4c9356e97886.js +1 -0
  930. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-a48c4c9356e97886.js +1 -0
  931. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-a48c4c9356e97886.js +1 -0
  932. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-a48c4c9356e97886.js +1 -0
  933. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-a48c4c9356e97886.js +1 -0
  934. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-a48c4c9356e97886.js +1 -0
  935. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-a48c4c9356e97886.js +1 -0
  936. package/app/.next-cli-build/static/chunks/app/api/v1/route-a48c4c9356e97886.js +1 -0
  937. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-a48c4c9356e97886.js +1 -0
  938. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-a48c4c9356e97886.js +1 -0
  939. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-a48c4c9356e97886.js +1 -0
  940. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-a48c4c9356e97886.js +1 -0
  941. package/app/.next-cli-build/static/chunks/app/api/version/restart/route-a48c4c9356e97886.js +1 -0
  942. package/app/.next-cli-build/static/chunks/app/api/version/route-a48c4c9356e97886.js +1 -0
  943. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-a48c4c9356e97886.js +1 -0
  944. package/app/.next-cli-build/static/chunks/app/api/version/update/route-a48c4c9356e97886.js +1 -0
  945. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-a48c4c9356e97886.js +1 -0
  946. package/app/.next-cli-build/static/chunks/app/page-a48c4c9356e97886.js +1 -0
  947. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-a48c4c9356e97886.js +1 -0
  948. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-a48c4c9356e97886.js +1 -0
  949. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-a48c4c9356e97886.js +1 -0
  950. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-a48c4c9356e97886.js +1 -0
  951. package/app/.next-cli-build/static/chunks/{webpack-e43d42d9ffe5099b.js → webpack-7223ab98c3aee1a6.js} +1 -1
  952. package/app/.next-cli-build/static/css/2efd59dd4cc5acfe.css +1 -0
  953. package/app/.next-cli-build/static/css/{6b035d23410f8c74.css → d235ea8456abe03c.css} +1 -1
  954. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-5.3.56-to-5.3.57-5.3.57-20260823-091335 → upgrade-5.3.58-to-5.3.59-5.3.59-20260823-093629}/data.sqlite +0 -0
  955. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-5.3.57-to-5.3.58-5.3.58-20260823-092724 → upgrade-5.3.59-to-5.3.60-5.3.60-20260823-094446}/data.sqlite +0 -0
  956. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-5.3.55-to-5.3.56-5.3.56-20260823-085719 → upgrade-5.3.59-to-5.3.60-5.3.60-20260823-094447}/data.sqlite +0 -0
  957. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite +0 -0
  958. package/app/package.json +1 -1
  959. package/package.json +1 -1
  960. package/app/.next-cli-build/server/chunks/7859.js +0 -1
  961. package/app/.next-cli-build/static/-YTKQW02vkwwrrMAHMqfh/_buildManifest.js +0 -1
  962. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-46eb716c240403a9.js +0 -1
  963. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/prompt-logs/page-6b922c193b4831e7.js +0 -1
  964. package/app/.next-cli-build/static/chunks/app/_global-error/page-61d53eae35c05114.js +0 -1
  965. package/app/.next-cli-build/static/chunks/app/api/audit-proxy/ca/route-61d53eae35c05114.js +0 -1
  966. package/app/.next-cli-build/static/chunks/app/api/audit-proxy/route-61d53eae35c05114.js +0 -1
  967. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/test/route-61d53eae35c05114.js +0 -1
  968. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/users/route-61d53eae35c05114.js +0 -1
  969. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-61d53eae35c05114.js +0 -1
  970. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-61d53eae35c05114.js +0 -1
  971. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-61d53eae35c05114.js +0 -1
  972. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-61d53eae35c05114.js +0 -1
  973. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-61d53eae35c05114.js +0 -1
  974. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-61d53eae35c05114.js +0 -1
  975. package/app/.next-cli-build/static/chunks/app/api/auth/view-mode/route-61d53eae35c05114.js +0 -1
  976. package/app/.next-cli-build/static/chunks/app/api/branding/[asset]/route-61d53eae35c05114.js +0 -1
  977. package/app/.next-cli-build/static/chunks/app/api/branding/route-61d53eae35c05114.js +0 -1
  978. package/app/.next-cli-build/static/chunks/app/api/branding/upload/route-61d53eae35c05114.js +0 -1
  979. package/app/.next-cli-build/static/chunks/app/api/cli-model-profiles/cloud-models/route-61d53eae35c05114.js +0 -1
  980. package/app/.next-cli-build/static/chunks/app/api/cli-model-profiles/route-61d53eae35c05114.js +0 -1
  981. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-61d53eae35c05114.js +0 -1
  982. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-61d53eae35c05114.js +0 -1
  983. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/autostart/route-61d53eae35c05114.js +0 -1
  984. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/prompt-log-db/route-61d53eae35c05114.js +0 -1
  985. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/root-ca/route-61d53eae35c05114.js +0 -1
  986. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-61d53eae35c05114.js +0 -1
  987. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-61d53eae35c05114.js +0 -1
  988. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-61d53eae35c05114.js +0 -1
  989. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-61d53eae35c05114.js +0 -1
  990. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-61d53eae35c05114.js +0 -1
  991. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-61d53eae35c05114.js +0 -1
  992. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-61d53eae35c05114.js +0 -1
  993. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-61d53eae35c05114.js +0 -1
  994. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-61d53eae35c05114.js +0 -1
  995. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-61d53eae35c05114.js +0 -1
  996. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-61d53eae35c05114.js +0 -1
  997. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-61d53eae35c05114.js +0 -1
  998. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-61d53eae35c05114.js +0 -1
  999. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-61d53eae35c05114.js +0 -1
  1000. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-61d53eae35c05114.js +0 -1
  1001. package/app/.next-cli-build/static/chunks/app/api/cli-tools/qwen-settings/route-61d53eae35c05114.js +0 -1
  1002. package/app/.next-cli-build/static/chunks/app/api/cluster/config/route-61d53eae35c05114.js +0 -1
  1003. package/app/.next-cli-build/static/chunks/app/api/cluster/heartbeat/route-61d53eae35c05114.js +0 -1
  1004. package/app/.next-cli-build/static/chunks/app/api/cluster/peers/[id]/command/route-61d53eae35c05114.js +0 -1
  1005. package/app/.next-cli-build/static/chunks/app/api/cluster/peers/[id]/route-61d53eae35c05114.js +0 -1
  1006. package/app/.next-cli-build/static/chunks/app/api/cluster/peers/route-61d53eae35c05114.js +0 -1
  1007. package/app/.next-cli-build/static/chunks/app/api/cluster/snapshot/route-61d53eae35c05114.js +0 -1
  1008. package/app/.next-cli-build/static/chunks/app/api/cluster/sync/route-61d53eae35c05114.js +0 -1
  1009. package/app/.next-cli-build/static/chunks/app/api/cluster/test/route-61d53eae35c05114.js +0 -1
  1010. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-61d53eae35c05114.js +0 -1
  1011. package/app/.next-cli-build/static/chunks/app/api/combos/route-61d53eae35c05114.js +0 -1
  1012. package/app/.next-cli-build/static/chunks/app/api/dashboard/ai-power-index/route-61d53eae35c05114.js +0 -1
  1013. package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/ai-models/route-61d53eae35c05114.js +0 -1
  1014. package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/analyze/route-61d53eae35c05114.js +0 -1
  1015. package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/route-61d53eae35c05114.js +0 -1
  1016. package/app/.next-cli-build/static/chunks/app/api/dashboard/combos/route-61d53eae35c05114.js +0 -1
  1017. package/app/.next-cli-build/static/chunks/app/api/dashboard/endpoint/route-61d53eae35c05114.js +0 -1
  1018. package/app/.next-cli-build/static/chunks/app/api/dashboard/local-ai-report/route-61d53eae35c05114.js +0 -1
  1019. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/[id]/route-61d53eae35c05114.js +0 -1
  1020. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/options/route-61d53eae35c05114.js +0 -1
  1021. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/route-61d53eae35c05114.js +0 -1
  1022. package/app/.next-cli-build/static/chunks/app/api/dashboard/routing-topology/config/route-61d53eae35c05114.js +0 -1
  1023. package/app/.next-cli-build/static/chunks/app/api/dashboard/routing-topology/live/route-61d53eae35c05114.js +0 -1
  1024. package/app/.next-cli-build/static/chunks/app/api/dashboard/routing-topology/route-61d53eae35c05114.js +0 -1
  1025. package/app/.next-cli-build/static/chunks/app/api/dashboard/token-saver/route-61d53eae35c05114.js +0 -1
  1026. package/app/.next-cli-build/static/chunks/app/api/health/route-61d53eae35c05114.js +0 -1
  1027. package/app/.next-cli-build/static/chunks/app/api/init/route-61d53eae35c05114.js +0 -1
  1028. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/caveman-test/route-61d53eae35c05114.js +0 -1
  1029. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/rotate/route-61d53eae35c05114.js +0 -1
  1030. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-61d53eae35c05114.js +0 -1
  1031. package/app/.next-cli-build/static/chunks/app/api/keys/route-61d53eae35c05114.js +0 -1
  1032. package/app/.next-cli-build/static/chunks/app/api/locale/route-61d53eae35c05114.js +0 -1
  1033. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-61d53eae35c05114.js +0 -1
  1034. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-61d53eae35c05114.js +0 -1
  1035. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-61d53eae35c05114.js +0 -1
  1036. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-61d53eae35c05114.js +0 -1
  1037. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-61d53eae35c05114.js +0 -1
  1038. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-61d53eae35c05114.js +0 -1
  1039. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-61d53eae35c05114.js +0 -1
  1040. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-61d53eae35c05114.js +0 -1
  1041. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-61d53eae35c05114.js +0 -1
  1042. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-61d53eae35c05114.js +0 -1
  1043. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-61d53eae35c05114.js +0 -1
  1044. package/app/.next-cli-build/static/chunks/app/api/models/route-61d53eae35c05114.js +0 -1
  1045. package/app/.next-cli-build/static/chunks/app/api/models/test/route-61d53eae35c05114.js +0 -1
  1046. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-61d53eae35c05114.js +0 -1
  1047. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-61d53eae35c05114.js +0 -1
  1048. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-61d53eae35c05114.js +0 -1
  1049. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-61d53eae35c05114.js +0 -1
  1050. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-61d53eae35c05114.js +0 -1
  1051. package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/device-code/route-61d53eae35c05114.js +0 -1
  1052. package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/poll/route-61d53eae35c05114.js +0 -1
  1053. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-61d53eae35c05114.js +0 -1
  1054. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-61d53eae35c05114.js +0 -1
  1055. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-61d53eae35c05114.js +0 -1
  1056. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-61d53eae35c05114.js +0 -1
  1057. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-61d53eae35c05114.js +0 -1
  1058. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/api-key-models/route-61d53eae35c05114.js +0 -1
  1059. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/import-models/route-61d53eae35c05114.js +0 -1
  1060. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/models/[...routeModel]/route-61d53eae35c05114.js +0 -1
  1061. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/move/route-61d53eae35c05114.js +0 -1
  1062. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/route-61d53eae35c05114.js +0 -1
  1063. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/usage/route-61d53eae35c05114.js +0 -1
  1064. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/client/route-61d53eae35c05114.js +0 -1
  1065. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/monitor/route-61d53eae35c05114.js +0 -1
  1066. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/permissions/route-61d53eae35c05114.js +0 -1
  1067. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/route-61d53eae35c05114.js +0 -1
  1068. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/routing/route-61d53eae35c05114.js +0 -1
  1069. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/shares/route-61d53eae35c05114.js +0 -1
  1070. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/visibility/route-61d53eae35c05114.js +0 -1
  1071. package/app/.next-cli-build/static/chunks/app/api/pricing/catalog/route-61d53eae35c05114.js +0 -1
  1072. package/app/.next-cli-build/static/chunks/app/api/pricing/recalculate/route-61d53eae35c05114.js +0 -1
  1073. package/app/.next-cli-build/static/chunks/app/api/pricing/route-61d53eae35c05114.js +0 -1
  1074. package/app/.next-cli-build/static/chunks/app/api/provider-health/route-61d53eae35c05114.js +0 -1
  1075. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-61d53eae35c05114.js +0 -1
  1076. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/openai-compatible/manage/route-61d53eae35c05114.js +0 -1
  1077. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-61d53eae35c05114.js +0 -1
  1078. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-61d53eae35c05114.js +0 -1
  1079. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-61d53eae35c05114.js +0 -1
  1080. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-61d53eae35c05114.js +0 -1
  1081. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-61d53eae35c05114.js +0 -1
  1082. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-61d53eae35c05114.js +0 -1
  1083. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-61d53eae35c05114.js +0 -1
  1084. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-61d53eae35c05114.js +0 -1
  1085. package/app/.next-cli-build/static/chunks/app/api/providers/route-61d53eae35c05114.js +0 -1
  1086. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-61d53eae35c05114.js +0 -1
  1087. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-61d53eae35c05114.js +0 -1
  1088. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-61d53eae35c05114.js +0 -1
  1089. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-61d53eae35c05114.js +0 -1
  1090. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-61d53eae35c05114.js +0 -1
  1091. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-61d53eae35c05114.js +0 -1
  1092. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-61d53eae35c05114.js +0 -1
  1093. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-61d53eae35c05114.js +0 -1
  1094. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-61d53eae35c05114.js +0 -1
  1095. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/[id]/route-61d53eae35c05114.js +0 -1
  1096. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/ai-models/route-61d53eae35c05114.js +0 -1
  1097. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/analyze/route-61d53eae35c05114.js +0 -1
  1098. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/history/route-61d53eae35c05114.js +0 -1
  1099. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/route-61d53eae35c05114.js +0 -1
  1100. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-61d53eae35c05114.js +0 -1
  1101. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-61d53eae35c05114.js +0 -1
  1102. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-61d53eae35c05114.js +0 -1
  1103. package/app/.next-cli-build/static/chunks/app/api/settings/route-61d53eae35c05114.js +0 -1
  1104. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-61d53eae35c05114.js +0 -1
  1105. package/app/.next-cli-build/static/chunks/app/api/tags/route-61d53eae35c05114.js +0 -1
  1106. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-61d53eae35c05114.js +0 -1
  1107. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-61d53eae35c05114.js +0 -1
  1108. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-61d53eae35c05114.js +0 -1
  1109. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-61d53eae35c05114.js +0 -1
  1110. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-61d53eae35c05114.js +0 -1
  1111. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-61d53eae35c05114.js +0 -1
  1112. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-61d53eae35c05114.js +0 -1
  1113. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-61d53eae35c05114.js +0 -1
  1114. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-61d53eae35c05114.js +0 -1
  1115. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-61d53eae35c05114.js +0 -1
  1116. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-61d53eae35c05114.js +0 -1
  1117. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-61d53eae35c05114.js +0 -1
  1118. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-61d53eae35c05114.js +0 -1
  1119. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-login/route-61d53eae35c05114.js +0 -1
  1120. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-start-daemon/route-61d53eae35c05114.js +0 -1
  1121. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-61d53eae35c05114.js +0 -1
  1122. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-61d53eae35c05114.js +0 -1
  1123. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-61d53eae35c05114.js +0 -1
  1124. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-61d53eae35c05114.js +0 -1
  1125. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-61d53eae35c05114.js +0 -1
  1126. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-61d53eae35c05114.js +0 -1
  1127. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-61d53eae35c05114.js +0 -1
  1128. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-61d53eae35c05114.js +0 -1
  1129. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-61d53eae35c05114.js +0 -1
  1130. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-61d53eae35c05114.js +0 -1
  1131. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-61d53eae35c05114.js +0 -1
  1132. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-61d53eae35c05114.js +0 -1
  1133. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-61d53eae35c05114.js +0 -1
  1134. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-61d53eae35c05114.js +0 -1
  1135. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-61d53eae35c05114.js +0 -1
  1136. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-61d53eae35c05114.js +0 -1
  1137. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-61d53eae35c05114.js +0 -1
  1138. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-61d53eae35c05114.js +0 -1
  1139. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-61d53eae35c05114.js +0 -1
  1140. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-61d53eae35c05114.js +0 -1
  1141. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-61d53eae35c05114.js +0 -1
  1142. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-61d53eae35c05114.js +0 -1
  1143. package/app/.next-cli-build/static/chunks/app/api/v1/route-61d53eae35c05114.js +0 -1
  1144. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-61d53eae35c05114.js +0 -1
  1145. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-61d53eae35c05114.js +0 -1
  1146. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-61d53eae35c05114.js +0 -1
  1147. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-61d53eae35c05114.js +0 -1
  1148. package/app/.next-cli-build/static/chunks/app/api/version/restart/route-61d53eae35c05114.js +0 -1
  1149. package/app/.next-cli-build/static/chunks/app/api/version/route-61d53eae35c05114.js +0 -1
  1150. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-61d53eae35c05114.js +0 -1
  1151. package/app/.next-cli-build/static/chunks/app/api/version/update/route-61d53eae35c05114.js +0 -1
  1152. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-61d53eae35c05114.js +0 -1
  1153. package/app/.next-cli-build/static/chunks/app/page-61d53eae35c05114.js +0 -1
  1154. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-61d53eae35c05114.js +0 -1
  1155. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-61d53eae35c05114.js +0 -1
  1156. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-61d53eae35c05114.js +0 -1
  1157. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-61d53eae35c05114.js +0 -1
  1158. package/app/.next-cli-build/static/css/ca15e2e7ae86ace9.css +0 -1
  1159. /package/app/.next-cli-build/static/{-YTKQW02vkwwrrMAHMqfh → OvJK_UdNOS0vJSr9JO4J4}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (()=>{var a={};a.id=5236,a.ids=[5236],a.modules={1568:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"D:\\\\bluerouter\\\\src\\\\app\\\\(dashboard)\\\\dashboard\\\\audit-proxy\\\\AuditProxyPageClient.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"D:\\bluerouter\\src\\app\\(dashboard)\\dashboard\\audit-proxy\\AuditProxyPageClient.js","default")},1932:a=>{"use strict";a.exports=require("url")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{"use strict";a.exports=require("node:buffer")},5534:(a,b,c)=>{Promise.resolve().then(c.bind(c,52481)),Promise.resolve().then(c.bind(c,1568))},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},9588:(a,b,c)=>{"use strict";c.d(b,{Cy:()=>i,I8:()=>k,Tv:()=>v,UX:()=>p,aV:()=>o,bz:()=>r,hH:()=>u,ny:()=>s,oW:()=>t,s0:()=>m,ub:()=>n,vZ:()=>q});var d=c(65573),e=c(23211),f=c(89718),g=c(33792),h=c(90389);let i="dashboard_view_mode";function j(a){return String(a||"").trim().toLowerCase()}function k(a){return j(a)}function l(a={}){return[a.ldapUsername,a.ldapEmail,a.ldapName,a.oidcEmail,a.oidcName,a.localUsername,a.username,a.email].map(j).filter(Boolean)}function m(a={}){let b=l(a),c=b[0]||"local",d=a.ldapName||a.ldapEmail||a.oidcName||a.oidcEmail||a.localUsername||c;return{userId:c,displayName:d,loginMethod:a.oidc?"OIDC":a.ldap?"LDAP":"Local",candidates:b}}function n(a={},b={}){var c;if(!b?.authenticated)return!1;if(b.local||!b.ldap&&!b.oidc||b.role===h.hS.ADMIN||!0===b.ldapIsAdmin)return!0;let d=Array.isArray(c=a.ldapAllowedUsers)?c.map(j).filter(Boolean):String(c||"").split(/[,\n]/).map(j).filter(Boolean);return 0!==d.length&&l(b).some(a=>d.includes(a))}function o(a={},b={}){return!(!b?.authenticated||n(a,b))&&(b.role===h.hS.MONITOR_ADMIN||!0===b.ldapIsMonitorAdmin)}function p(a={},b={}){return!(!b?.authenticated||n(a,b)||o(a,b))&&(b.role===h.hS.AI_GATEWAYS_MONITOR||!0===b.ldapIsAiGatewaysMonitor)}function q(a={},b={}){return b?.authenticated?n(a,b)?h.hS.ADMIN:o(a,b)?h.hS.MONITOR_ADMIN:p(a,b)?h.hS.AI_GATEWAYS_MONITOR:h.hS.USER:h.hS.GUEST}function r(a={}){return!0===a.isAdmin||!0===a.isMonitorAdmin}async function s(){let a=await (0,f.mt)(),b=await (0,d.UL)(),c=await (0,g.dY)(b.get("auth_token")?.value);if(!c?.authenticated)return{authenticated:!1,isAdmin:!1,actualIsAdmin:!1,showAsUser:!1,canToggleUserMode:!1,isMonitorAdmin:!1,isAiGatewaysMonitor:!1,role:h.hS.GUEST,actualRole:h.hS.GUEST,userId:"",displayName:"Guest",loginMethod:"None",settings:{...a,requireLogin:!0},session:null};let e=m(c||{}),j=q(a,c||{}),k=j===h.hS.ADMIN,l=k&&b.get(i)?.value==="user",n=l?h.hS.USER:j,o=n===h.hS.ADMIN,p=n===h.hS.MONITOR_ADMIN,r=n===h.hS.AI_GATEWAYS_MONITOR;return{authenticated:!0,isAdmin:o,actualIsAdmin:k,showAsUser:l,canToggleUserMode:k,isMonitorAdmin:p,isAiGatewaysMonitor:r,role:n,actualRole:j,canManageApiKeys:o||p,canUseMonitorAdminTabs:o||p,canViewAllAnalytics:o||p||r,...e,settings:{...a,requireLogin:!0},session:c}}async function t(){let a=await s();return a.authenticated?{access:a,response:null}:{access:a,response:e.NextResponse.json({error:"Authentication required"},{status:401})}}async function u(a={}){let{allowMonitorAdmin:b=!1}=a||{},{access:c,response:d}=await t();return d?{access:c,response:d}:c.isAdmin||b&&c.isMonitorAdmin?{access:c,response:null}:{access:c,response:e.NextResponse.json({error:"Admin access required"},{status:403})}}function v(a,b){if(!a?.authenticated||!b)return!1;if(r(a))return!0;let c=j(a.userId),d=j(b.ownerUser),e=j(b.createdByUser);return!!c&&(d===c||e===c)}},10381:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ReadonlyURLSearchParams",{enumerable:!0,get:function(){return d}});class c extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams"),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1174",enumerable:!1,configurable:!0})}}class d extends URLSearchParams{append(){throw new c}delete(){throw new c}set(){throw new c}sort(){throw new c}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14430:(a,b,c)=>{"use strict";c.d(b,{default:()=>o});var d=c(48249),e=c(67484),f=c(2116),g=c.n(f);let h=["api.anthropic.com","*.anthropic.com","claude.ai","*.claude.ai"],i=["api.openai.com","*.openai.com","chatgpt.com","*.chatgpt.com"],j="localhost,127.0.0.1,::1";function k({ok:a,children:b}){return(0,d.jsxs)("span",{className:`inline-flex items-center gap-1 rounded-full border px-2 py-0.5 text-xs font-medium ${a?"border-green-500/30 bg-green-500/10 text-green-600 dark:text-green-400":"border-border bg-surface text-text-muted"}`,children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[13px]",children:a?"check_circle":"radio_button_unchecked"}),b]})}function l({label:a,hint:b,children:c}){return(0,d.jsxs)("label",{className:"grid gap-1.5",children:[(0,d.jsx)("span",{className:"text-sm font-semibold text-text-main",children:a}),c,b?(0,d.jsx)("span",{className:"text-[11px] leading-4 text-text-muted",children:b}):null]})}function m({label:a,description:b,checked:c,onChange:e,disabled:f=!1}){return(0,d.jsxs)("label",{className:"flex items-start justify-between gap-4 rounded-xl border border-border bg-background/50 p-3",children:[(0,d.jsxs)("span",{children:[(0,d.jsx)("span",{className:"block text-sm font-semibold text-text-main",children:a}),(0,d.jsx)("span",{className:"mt-0.5 block text-xs leading-5 text-text-muted",children:b})]}),(0,d.jsx)("input",{type:"checkbox",checked:c,onChange:a=>e(a.target.checked),disabled:f,className:"mt-1 h-4 w-4 accent-[var(--color-primary)]"})]})}function n({title:a,subtitle:b,command:c,copyKey:e,copied:f,onCopy:g,recommended:h=!1}){return(0,d.jsxs)("div",{className:`rounded-xl border bg-background p-3 ${h?"border-green-500/30":"border-border"}`,children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-text-main",children:a}),h?(0,d.jsx)("span",{className:"rounded-full bg-green-500/10 px-2 py-0.5 text-[10px] font-semibold text-green-600 dark:text-green-400",children:"Recommended"}):null]}),b?(0,d.jsx)("div",{className:"mt-0.5 text-[10px] leading-4 text-text-muted",children:b}):null]}),(0,d.jsx)("button",{type:"button",onClick:()=>g(e,c),className:"shrink-0 text-xs font-medium text-primary",children:f===e?"Copied":"Copy"})]}),(0,d.jsx)("pre",{className:"mt-2 overflow-x-auto whitespace-pre-wrap break-all rounded-lg bg-surface px-3 py-2 text-[11px] leading-5 text-text-muted",children:c})]})}function o(){let[a,b]=(0,e.useState)(null),[c,f]=(0,e.useState)(null),[o,p]=(0,e.useState)(""),[q,r]=(0,e.useState)(""),[s,t]=(0,e.useState)(""),[u,v]=(0,e.useState)(null),[w,x]=(0,e.useState)(""),y=(0,e.useCallback)(async(a=!0)=>{try{let c=await fetch("/api/audit-proxy?limit=50",{cache:"no-store"}),d=await c.json();if(!c.ok)throw Error(d.error||"Cannot load Audit Proxy");b(d),a?f(a=>a||d.config):f(d.config)}catch(a){r(a.message||"Cannot load Audit Proxy")}},[]),z=a?.status||{},A=z.security||{},B=z.rootCA||{},C=!0===z.running,D=(0,e.useMemo)(()=>{let a;return(a=String(c?.clientProxyHost||"").trim()||"<bluerouter-host>").includes(":")&&!a.startsWith("[")?`[${a}]`:a},[c?.clientProxyHost]),E=c?`http://${D}:${c.port}`:"",F=(c?.allowedHosts||[]).join("\n"),G=(a,b)=>f(c=>({...c,[a]:b})),H=async(a,b={})=>{p(a),r(""),t("");try{let c=await fetch("/api/audit-proxy",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:a,...b})}),d=await c.json().catch(()=>({}));if(!c.ok)throw Error(d.error||`${a} failed`);return"test"===a?(v(d.test),t(`Simulation passed ${d.test.passed}/${d.test.total} checks.`)):t("clear-logs"===a?"Audit logs cleared.":`Audit Proxy ${a} completed.`),await y("start"!==a&&"restart"!==a),d}catch(b){return r(b.message||`${a} failed`),null}finally{p("")}},I=async()=>{p("save"),r(""),t("");try{let a=await fetch("/api/audit-proxy",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({config:c})}),b=await a.json();if(!a.ok)throw Error(b.error||"Save failed");f(b.config),t("Configuration saved."),await y(!0)}catch(a){r(a.message||"Save failed")}finally{p("")}},J=async()=>{p("save-client-host"),r(""),t("");try{let a=await fetch("/api/audit-proxy",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"save-client-host",clientProxyHost:c?.clientProxyHost||""})}),b=await a.json().catch(()=>({}));if(!a.ok)throw Error(b.error||"Failed to save Client proxy host");f(a=>({...a,clientProxyHost:b.config?.clientProxyHost||""})),t("Client proxy host saved."),await y(!0)}catch(a){r(a.message||"Failed to save Client proxy host")}finally{p("")}},K=async()=>{p("ca"),r("");try{let a=await fetch("/api/audit-proxy/ca",{method:"POST"}),b=await a.json();if(!a.ok)throw Error(b.error||"CA validation failed");t("Root CA is ready. Existing enterprise CA material was not rotated."),await y(!0)}catch(a){r(a.message||"CA validation failed")}finally{p("")}},L=a=>G("allowedHosts",[...new Set([...c?.allowedHosts||[],...a])]),M=async(a,b)=>{try{await navigator.clipboard.writeText(b),x(a),setTimeout(()=>x(""),1500)}catch{r("Clipboard access failed.")}};if(!c)return(0,d.jsx)("div",{className:"rounded-xl border border-border bg-surface p-5 text-sm text-text-muted",children:"Loading Enterprise AI Audit Proxy…"});let N=Math.round(Number(c.captureLimitBytes||0)/1024/1024*10)/10,O=["0.0.0.0","::"].includes(c.bindHost)||!String(c.bindHost).startsWith("127.")&&"localhost"!==c.bindHost&&"::1"!==c.bindHost,P="C:\\BlueRouter\\bluerouter-audit-root-ca.crt",Q="$HOME/.bluerouter/bluerouter-audit-root-ca.crt",R=`set "HTTP_PROXY=${E}"&&set "HTTPS_PROXY=${E}"&&set "NO_PROXY=${j}"&&set "no_proxy=${j}"`,S=`cmd.exe /d /c '${R}&&set "NODE_EXTRA_CA_CERTS=${P}"&&claude'`,T=`cmd.exe /d /c '${R}&&set "CODEX_CA_CERTIFICATE=${P}"&&codex'`,U=`HTTP_PROXY='${E}' HTTPS_PROXY='${E}' NO_PROXY='${j}' no_proxy='${j}'`,V=`env ${U} NODE_EXTRA_CA_CERTS="${Q}" claude`,W=`env ${U} CODEX_CA_CERTIFICATE="${Q}" codex`;return(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-3 rounded-2xl border border-primary/20 bg-primary/5 p-4 sm:flex-row sm:items-start sm:justify-between",children:[(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary",children:"policy"}),(0,d.jsx)("h1",{className:"text-lg font-bold text-text-main",children:"Enterprise AI Audit Proxy"}),(0,d.jsx)(k,{ok:C,children:C?"Running":"Stopped"}),(0,d.jsx)(k,{ok:!0===B.validated,children:"Root CA"}),(0,d.jsx)(k,{ok:c.verifyUpstreamTls,children:"Verified upstream TLS"}),(0,d.jsx)(k,{ok:z.capabilities?.http2===!0,children:"HTTP/2"})]}),(0,d.jsx)("p",{className:"mt-2 max-w-5xl text-sm leading-6 text-text-muted",children:"Explicit HTTPS CONNECT proxy for Claude Code and Codex. Request method, path, query, authentication values and body bytes are forwarded without content rewriting. Standard hop-by-hop headers and BlueRouter internal headers remain intentionally removed."})]}),(0,d.jsxs)(g(),{href:"/dashboard/mitm",className:"inline-flex items-center gap-1 text-xs font-medium text-primary hover:underline",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"arrow_back"})," AI Traffic Gateway"]})]}),q?(0,d.jsx)("div",{className:"rounded-xl border border-red-500/30 bg-red-500/10 px-4 py-3 text-sm text-red-600 dark:text-red-400",children:q}):null,s?(0,d.jsx)("div",{className:"rounded-xl border border-green-500/30 bg-green-500/10 px-4 py-3 text-sm text-green-600 dark:text-green-400",children:s}):null,A.lanExposedWithoutIpFilter?(0,d.jsxs)("div",{className:"rounded-xl border border-red-500/30 bg-red-500/10 px-4 py-3 text-sm text-red-700 dark:text-red-300",children:[(0,d.jsx)("strong",{children:"LAN listener has no Client IP filter."})," Enable the IP allowlist below before broad deployment. Plain HTTP, private destinations and CONNECT ports other than 443 are blocked, but the listener should still be restricted by firewall/VLAN."]}):O?(0,d.jsxs)("div",{className:"rounded-xl border border-amber-500/30 bg-amber-500/10 px-4 py-3 text-sm text-amber-700 dark:text-amber-300",children:[(0,d.jsx)("strong",{children:"LAN listener enabled."})," Keep TCP ",c.port," restricted to the intended LAN/VPN and maintain the Client IP allowlist."]}):null,B.expiringSoon?(0,d.jsx)("div",{className:"rounded-xl border border-amber-500/30 bg-amber-500/10 px-4 py-3 text-sm text-amber-700 dark:text-amber-300",children:"Root CA expires soon. Audit Proxy will not rotate enterprise CA material automatically; prepare and deploy the replacement CA through Advanced CA management."}):null,(0,d.jsxs)("div",{className:"grid gap-4 xl:grid-cols-[1.25fr_0.75fr]",children:[(0,d.jsxs)("section",{className:"rounded-2xl border border-border bg-surface p-4",children:[(0,d.jsxs)("div",{className:"mb-4 flex flex-wrap items-center justify-between gap-2",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h2",{className:"font-semibold text-text-main",children:"Proxy configuration"}),(0,d.jsx)("p",{className:"mt-1 text-xs text-text-muted",children:"All server-side setup is managed here. No proxy daemon CLI is required."})]}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:()=>L(h),disabled:C,className:"rounded-lg border border-border px-3 py-1.5 text-xs text-text-main hover:bg-background disabled:opacity-50",children:"+ Anthropic preset"}),(0,d.jsx)("button",{type:"button",onClick:()=>L(i),disabled:C,className:"rounded-lg border border-border px-3 py-1.5 text-xs text-text-main hover:bg-background disabled:opacity-50",children:"+ OpenAI preset"})]})]}),(0,d.jsxs)("div",{className:"grid gap-4 md:grid-cols-2",children:[(0,d.jsx)(l,{label:"Bind address",hint:"127.0.0.1 = local only. Use 0.0.0.0 or a LAN IP for other workstations.",children:(0,d.jsx)("input",{value:c.bindHost,onChange:a=>G("bindHost",a.target.value),disabled:C,className:"rounded-lg border border-border bg-background px-3 py-2 text-sm text-text-main outline-none focus:border-primary disabled:opacity-60"})}),(0,d.jsx)(l,{label:"Proxy port",hint:"Default 3128; Docker deployments must publish this port explicitly.",children:(0,d.jsx)("input",{type:"number",min:"1",max:"65535",value:c.port,onChange:a=>G("port",Number(a.target.value)),disabled:C,className:"rounded-lg border border-border bg-background px-3 py-2 text-sm text-text-main outline-none focus:border-primary disabled:opacity-60"})}),(0,d.jsx)(l,{label:"Client proxy host",hint:"Manual persistent hostname/IP used only in deployment commands; it does not change the listener.",children:(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("input",{value:c.clientProxyHost||"",onChange:a=>G("clientProxyHost",a.target.value),placeholder:"172.16.6.8 or proxy.example.local",className:"min-w-0 flex-1 rounded-lg border border-border bg-background px-3 py-2 text-sm text-text-main outline-none focus:border-primary"}),(0,d.jsx)("button",{type:"button",onClick:J,disabled:!!o,className:"shrink-0 rounded-lg border border-primary/30 bg-primary/10 px-3 py-2 text-xs font-semibold text-primary disabled:opacity-50",children:"save-client-host"===o?"Saving…":"Save host"})]})}),(0,d.jsx)(l,{label:"Capture limit / request",hint:"Traffic streams immediately; only this bounded prefix is retained for audit.",children:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("input",{type:"number",min:"0",max:"16",step:"0.5",value:N,onChange:a=>G("captureLimitBytes",Math.round(1024*Number(a.target.value)*1024)),disabled:C||!c.captureBodies,className:"min-w-0 flex-1 rounded-lg border border-border bg-background px-3 py-2 text-sm text-text-main outline-none focus:border-primary disabled:opacity-60"}),(0,d.jsx)("span",{className:"text-xs text-text-muted",children:"MB"})]})})]}),(0,d.jsxs)("div",{className:"mt-4 grid gap-3 md:grid-cols-2",children:[(0,d.jsx)(m,{label:"Pass through non-audited hosts",description:"Unknown hosts use a blind TLS tunnel only when they resolve to public addresses on TCP 443. Private/reserved destinations are denied.",checked:c.passthroughUnknown,onChange:a=>G("passthroughUnknown",a),disabled:C}),(0,d.jsx)(m,{label:"Capture request/response bodies",description:"Credentials are redacted before persistence. Disable to retain metadata and wire hashes only.",checked:c.captureBodies,onChange:a=>G("captureBodies",a),disabled:C})]}),(0,d.jsxs)("div",{className:"mt-4 grid gap-4 md:grid-cols-[1fr_190px]",children:[(0,d.jsx)(l,{label:"TLS inspection allowlist",hint:"One hostname/wildcard per line. Only these public HTTPS hosts are decrypted and audited.",children:(0,d.jsx)("textarea",{rows:9,value:F,onChange:a=>G("allowedHosts",a.target.value.split(/\r?\n/).map(a=>a.trim()).filter(Boolean)),disabled:C,className:"rounded-lg border border-border bg-background px-3 py-2 font-mono text-xs text-text-main outline-none focus:border-primary disabled:opacity-60"})}),(0,d.jsxs)("div",{className:"grid content-start gap-4",children:[(0,d.jsx)(l,{label:"Retention",hint:"Daily local JSONL segments older than this value are deleted hourly.",children:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("input",{type:"number",min:"1",max:"365",value:c.retentionDays,onChange:a=>G("retentionDays",Number(a.target.value)),disabled:C,className:"min-w-0 flex-1 rounded-lg border border-border bg-background px-3 py-2 text-sm text-text-main outline-none focus:border-primary disabled:opacity-60"}),(0,d.jsx)("span",{className:"text-xs text-text-muted",children:"days"})]})}),(0,d.jsxs)("div",{className:"rounded-xl border border-green-500/20 bg-green-500/5 p-3 text-xs leading-5 text-text-muted",children:[(0,d.jsx)("div",{className:"font-semibold text-green-600 dark:text-green-400",children:"Transport controls enforced"}),"TLS verification ON \xb7 HTTP/1.1 + HTTP/2 \xb7 HTTPS CONNECT only \xb7 public TCP 443 only."]})]})]}),(0,d.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:I,disabled:!!o||C,className:"rounded-lg bg-primary px-4 py-2 text-sm font-semibold text-white disabled:opacity-50",children:"save"===o?"Saving…":"Save"}),C?(0,d.jsx)("button",{type:"button",onClick:()=>H("stop"),disabled:!!o,className:"rounded-lg border border-red-500/30 bg-red-500/10 px-4 py-2 text-sm font-semibold text-red-500 disabled:opacity-50",children:"stop"===o?"Stopping…":"Stop Proxy"}):(0,d.jsx)("button",{type:"button",onClick:()=>H("start",{config:c}),disabled:!!o,className:"rounded-lg border border-green-500/30 bg-green-500/10 px-4 py-2 text-sm font-semibold text-green-600 disabled:opacity-50",children:"start"===o?"Starting…":"Start Proxy"}),(0,d.jsx)("button",{type:"button",onClick:()=>H("restart",{config:c}),disabled:!!o,className:"rounded-lg border border-border px-4 py-2 text-sm font-semibold text-text-main hover:bg-background disabled:opacity-50",children:"restart"===o?"Restarting…":"Save & Restart"}),(0,d.jsx)("button",{type:"button",onClick:()=>H("test"),disabled:!!o,className:"rounded-lg border border-primary/30 bg-primary/10 px-4 py-2 text-sm font-semibold text-primary disabled:opacity-50",children:"test"===o?"Testing…":"Run Simulated Test"})]})]}),(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("section",{className:"rounded-2xl border border-border bg-surface p-4",children:[(0,d.jsx)("h2",{className:"font-semibold text-text-main",children:"Root CA"}),(0,d.jsx)("p",{className:"mt-1 text-xs leading-5 text-text-muted",children:"The existing Root CA/key pair is validated and reused. Audit Proxy never auto-rotates enterprise CA material."}),(0,d.jsxs)("div",{className:"mt-3 grid gap-2 text-xs",children:[(0,d.jsxs)("div",{className:"flex justify-between gap-3",children:[(0,d.jsx)("span",{className:"text-text-muted",children:"Status"}),(0,d.jsx)("span",{className:"font-medium text-text-main",children:B.validated?"Validated":B.certExists?"Needs attention":"Not generated"})]}),B.subject?(0,d.jsxs)("div",{className:"grid gap-1",children:[(0,d.jsx)("span",{className:"text-text-muted",children:"Subject"}),(0,d.jsx)("span",{className:"break-all font-mono text-[11px] text-text-main",children:B.subject})]}):null,B.fingerprint?(0,d.jsxs)("div",{className:"grid gap-1",children:[(0,d.jsx)("span",{className:"text-text-muted",children:"Public key fingerprint"}),(0,d.jsx)("span",{className:"break-all font-mono text-[11px] text-text-main",children:B.fingerprint})]}):null,B.notAfter?(0,d.jsxs)("div",{className:"flex justify-between gap-3",children:[(0,d.jsx)("span",{className:"text-text-muted",children:"Expires"}),(0,d.jsx)("span",{className:"text-text-main",children:new Date(B.notAfter).toLocaleString()})]}):null,B.error?(0,d.jsx)("div",{className:"rounded-lg bg-red-500/10 p-2 text-red-600 dark:text-red-300",children:B.error}):null]}),(0,d.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:K,disabled:!!o||C,className:"rounded-lg border border-border px-3 py-2 text-xs font-semibold text-text-main hover:bg-background disabled:opacity-50",children:B.certExists?"Validate / Reuse CA":"Generate CA"}),(0,d.jsx)("a",{href:"/api/audit-proxy/ca?download=cert",className:`rounded-lg border border-primary/30 bg-primary/10 px-3 py-2 text-xs font-semibold text-primary ${!B.certExists?"pointer-events-none opacity-50":""}`,children:"Download Root CA"}),(0,d.jsx)(g(),{href:"/dashboard/mitm",className:"rounded-lg border border-border px-3 py-2 text-xs font-semibold text-text-main hover:bg-background",children:"Advanced CA management"})]})]}),(0,d.jsxs)("section",{className:"rounded-2xl border border-border bg-surface p-4",children:[(0,d.jsx)("h2",{className:"font-semibold text-text-main",children:"Client deployment values"}),(0,d.jsx)("p",{className:"mt-1 text-xs leading-5 text-text-muted",children:"Process-scoped launchers do not use setx or modify Windows/System proxy. NO_PROXY keeps localhost OAuth callbacks and local MCP services off the gateway."}),(0,d.jsxs)("div",{className:"mt-3 rounded-xl border border-primary/20 bg-primary/5 p-3 text-xs leading-5 text-text-muted",children:[(0,d.jsx)("div",{className:"font-semibold text-primary",children:"Before first use"}),"Save the CA as ",(0,d.jsx)("code",{className:"rounded bg-background px-1 py-0.5",children:P})," on Windows or ",(0,d.jsx)("code",{className:"rounded bg-background px-1 py-0.5",children:Q})," on Linux/macOS. The extra CA variable is harmless when the CA is already trusted by the OS."]}),(0,d.jsxs)("div",{className:"mt-3 grid gap-3",children:[(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-text-main",children:"Proxy URL"}),(0,d.jsx)("button",{type:"button",onClick:()=>M("url",E),className:"text-xs text-primary",children:"url"===w?"Copied":"Copy"})]}),(0,d.jsx)("code",{className:"mt-1 block break-all text-xs text-text-muted",children:E})]}),(0,d.jsx)(n,{title:"Claude Code \xb7 Windows PowerShell",subtitle:"Proxy variables exist only in the child process.",command:S,copyKey:"claude-ps",copied:w,onCopy:M,recommended:!0}),(0,d.jsx)(n,{title:"Codex \xb7 Windows PowerShell",subtitle:"No persistent user/system environment changes.",command:T,copyKey:"codex-ps",copied:w,onCopy:M,recommended:!0}),(0,d.jsxs)("details",{className:"rounded-xl border border-border bg-background p-3",children:[(0,d.jsx)("summary",{className:"cursor-pointer text-xs font-semibold text-text-main",children:"Linux / macOS process-scoped commands"}),(0,d.jsxs)("div",{className:"mt-3 grid gap-3",children:[(0,d.jsx)(n,{title:"Claude Code \xb7 Bash/zsh",command:V,copyKey:"claude-bash",copied:w,onCopy:M}),(0,d.jsx)(n,{title:"Codex \xb7 Bash/zsh",command:W,copyKey:"codex-bash",copied:w,onCopy:M})]})]})]})]})]})]}),u?(0,d.jsxs)("section",{className:`rounded-2xl border p-4 ${u.ok?"border-green-500/30 bg-green-500/5":"border-red-500/30 bg-red-500/5"}`,children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h2",{className:"font-semibold text-text-main",children:"Simulated end-to-end test"}),(0,d.jsx)("p",{className:"mt-1 text-xs text-text-muted",children:"Local throwaway HTTP/1.1 + HTTP/2 TLS endpoints; no cloud credential or external API call is used."})]}),(0,d.jsxs)(k,{ok:u.ok,children:[u.passed,"/",u.total," passed \xb7 ",u.durationMs," ms"]})]}),(0,d.jsx)("div",{className:"mt-3 grid gap-2 md:grid-cols-2 xl:grid-cols-3",children:u.checks?.map(a=>(0,d.jsxs)("div",{className:"flex items-start gap-2 rounded-lg border border-border/70 bg-background/60 px-3 py-2 text-xs",children:[(0,d.jsx)("span",{className:`material-symbols-outlined text-[16px] ${a.ok?"text-green-500":"text-red-500"}`,children:a.ok?"check_circle":"error"}),(0,d.jsxs)("span",{children:[(0,d.jsx)("span",{className:"font-medium text-text-main",children:a.name}),a.detail?(0,d.jsx)("span",{className:"mt-0.5 block text-text-muted",children:a.detail}):null]})]},a.name))})]}):null,(0,d.jsxs)("section",{className:"rounded-2xl border border-border bg-surface p-4",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h2",{className:"font-semibold text-text-main",children:"Recent audit requests"}),(0,d.jsx)("p",{className:"mt-1 text-xs text-text-muted",children:"Credentials are redacted before persistence. Local writes and MySQL mirroring run through a bounded asynchronous queue."})]}),(0,d.jsxs)("div",{className:"flex items-center gap-3 text-xs text-text-muted",children:[(0,d.jsxs)("span",{children:["Queue ",z.auditStore?.queueDepth||0,"/",z.auditStore?.queueLimit||1e3]}),(0,d.jsx)("button",{type:"button",onClick:()=>H("clear-logs"),disabled:!!o,className:"rounded-lg border border-border px-3 py-1.5 hover:bg-background disabled:opacity-50",children:"Clear logs"})]})]}),(0,d.jsx)("div",{className:"mt-3 overflow-x-auto",children:(0,d.jsxs)("table",{className:"w-full min-w-[950px] text-left text-xs",children:[(0,d.jsx)("thead",{className:"border-b border-border text-text-muted",children:(0,d.jsxs)("tr",{children:[(0,d.jsx)("th",{className:"px-2 py-2 font-medium",children:"Time"}),(0,d.jsx)("th",{className:"px-2 py-2 font-medium",children:"Protocol"}),(0,d.jsx)("th",{className:"px-2 py-2 font-medium",children:"Client"}),(0,d.jsx)("th",{className:"px-2 py-2 font-medium",children:"Provider"}),(0,d.jsx)("th",{className:"px-2 py-2 font-medium",children:"Host"}),(0,d.jsx)("th",{className:"px-2 py-2 font-medium",children:"Model"}),(0,d.jsx)("th",{className:"px-2 py-2 font-medium",children:"Request"}),(0,d.jsx)("th",{className:"px-2 py-2 font-medium",children:"Status"}),(0,d.jsx)("th",{className:"px-2 py-2 font-medium",children:"Latency"})]})}),(0,d.jsxs)("tbody",{children:[(a?.events||[]).map(a=>(0,d.jsxs)("tr",{className:"border-b border-border/60 align-top text-text-main",children:[(0,d.jsx)("td",{className:"whitespace-nowrap px-2 py-2 text-text-muted",children:new Date(a.timestamp).toLocaleTimeString()}),(0,d.jsx)("td",{className:"px-2 py-2",children:a.protocol||"http/1.1"}),(0,d.jsx)("td",{className:"px-2 py-2 font-mono text-[11px]",children:a.client?.ip||"-"}),(0,d.jsx)("td",{className:"px-2 py-2",children:a.provider||"-"}),(0,d.jsx)("td",{className:"px-2 py-2 font-mono text-[11px]",children:a.host||"-"}),(0,d.jsx)("td",{className:"px-2 py-2",children:a.model||"-"}),(0,d.jsx)("td",{className:"max-w-[300px] px-2 py-2",children:(0,d.jsxs)("details",{children:[(0,d.jsxs)("summary",{className:"cursor-pointer truncate",children:[a.method," ",a.path]}),(0,d.jsx)("pre",{className:"mt-2 max-h-72 overflow-auto whitespace-pre-wrap rounded-lg bg-background p-2 text-[10px] leading-4 text-text-muted",children:JSON.stringify({request:a.request,response:a.response,error:a.error},null,2)})]})}),(0,d.jsx)("td",{className:"px-2 py-2",children:a.status||"ERR"}),(0,d.jsxs)("td",{className:"whitespace-nowrap px-2 py-2",children:[a.durationMs??"-"," ms"]})]},a.id)),a?.events?.length?null:(0,d.jsx)("tr",{children:(0,d.jsx)("td",{colSpan:"9",className:"px-2 py-8 text-center text-text-muted",children:"No audited requests yet."})})]})]})})]})]})}},17509:(a,b,c)=>{"use strict";c.d(b,{V:()=>o});var d=c(91356),e=c(80700),f=c(99129),g=c(73575),h=c(41570),i=c(19035),j=c(44893),k=c(69052);async function l(a,b,c){let l,{protected:m,header:n,payload:o}=a,p={};if(m&&(p=(0,h.OX)(m,f.Ye,"JWS Protected Header is invalid")),void 0!==n){if(!(0,i.fz)(p,n))throw new f.Ye("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");l={...p,...n}}else l=p;let q=(0,j.nI)(f.Ye,j.qc,b[1],p,l),r=!0;if(q.includes("b64")&&"boolean"!=typeof(r=p.b64))throw new f.Ye('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:s}=l;if("string"!=typeof s||!s)throw new f.Ye('JWS "alg" (Algorithm) Header Parameter missing or invalid');if(b[0]&&!b[0].has(s))throw new f.Rb('"alg" (Algorithm) Header Parameter value not allowed');if(r){if("string"!=typeof o)throw new f.Ye("JWS Payload must be a string")}else if("string"!=typeof o&&!(o instanceof Uint8Array))throw new f.Ye("JWS Payload must be a string or an Uint8Array instance");let t=!1;"function"==typeof c&&(c=await c(p,a),t=!0);let u=(0,e.q)(s),v=(0,g.xW)(void 0!==m?(0,g.lF)(m):new Uint8Array,(0,g.lF)("."),"string"==typeof o?r?b[2]??=(0,h.Fo)(o,"payload",f.Ye):g.Rd.encode(o):o),w=(0,h.h2)(a.signature,"signature",f.Ye),x=await (0,k.d)(u,c,"verify");if(!await (0,d.M)(u,x,w,v))throw new f.h2;return[r?(0,h.h2)(o,"payload",f.Ye):"string"==typeof o?g.Rd.encode(o):o,p,r,x,t]}async function m(a,b,c){if(a instanceof Uint8Array&&(a=g.D0.decode(a)),"string"!=typeof a)throw new f.Ye("Compact JWS must be a string or Uint8Array");let{0:d,1:e,2:h,length:i}=a.split(".");if(3!==i)throw new f.Ye("Invalid Compact JWS");return l({payload:e,protected:d,signature:h},b,c)}var n=c(17347);async function o(a,b,c){let d=await m(a,[c&&(0,j.Fw)("algorithms",c.algorithms),c?.crit],b);if(!d[2])throw new f.Dp("JWTs MUST NOT use unencoded payload");let e={payload:(0,n.k6)(d[1],d[0],c),protectedHeader:d[1]};return"function"==typeof b?{...e,key:d[3]}:e}},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19771:a=>{"use strict";a.exports=require("process")},21820:a=>{"use strict";a.exports=require("os")},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32171:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getRedirectError:function(){return i},getRedirectStatusCodeFromError:function(){return n},getRedirectTypeFromError:function(){return m},getURLFromRedirectError:function(){return l},permanentRedirect:function(){return k},redirect:function(){return j}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(81494),g=c(52220),h=c(73565);function i(a,b,c=f.RedirectStatusCode.TemporaryRedirect){let d=Object.defineProperty(Error(g.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return d.digest=`${g.REDIRECT_ERROR_CODE};${b};${a};${c};`,d}function j(a,b){throw i(a,b??=h.actionAsyncStorage?.getStore()?.isAction?"push":"replace",f.RedirectStatusCode.TemporaryRedirect)}function k(a,b="replace"){throw i(a,b,f.RedirectStatusCode.PermanentRedirect)}function l(a){return(0,g.isRedirectError)(a)?a.digest.split(";").slice(2,-2).join(";"):null}function m(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return a.digest.split(";",2)[1]}function n(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(a.digest.split(";").at(-2))}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},33792:(a,b,c)=>{"use strict";c.d(b,{Dc:()=>p,OZ:()=>s,YK:()=>n,dY:()=>q,tm:()=>r});var d=c(84433),e=c(17509),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(77598),k=c.n(j),l=c(49120);let m=new TextEncoder().encode(function(){if(process.env.JWT_SECRET)return process.env.JWT_SECRET;let a=i().join(l.DATA_DIR,"jwt-secret");try{return g().readFileSync(a,"utf8").trim()}catch{}g().mkdirSync(l.DATA_DIR,{recursive:!0});let b=k().randomBytes(32).toString("hex");return g().writeFileSync(a,b,{mode:384}),b}());function n(a){let b="true"===process.env.AUTH_COOKIE_SECURE,c=a?.headers?.get?.("x-forwarded-proto");return b||"https"===c}async function o(a={}){return new d.P({authenticated:!0,...a}).setProtectedHeader({alg:"HS256"}).setIssuedAt().setExpirationTime("86400s").sign(m)}async function p(a){if(!a)return!1;try{return await (0,e.V)(a,m),!0}catch{return!1}}async function q(a){if(!a)return null;try{let{payload:b}=await (0,e.V)(a,m);return b}catch{return null}}async function r(a,b,c={}){let d=await o(c);a.set("auth_token",d,{httpOnly:!0,secure:n(b),sameSite:"lax",path:"/",maxAge:86400})}function s(a){a.delete("auth_token")}},33873:a=>{"use strict";a.exports=require("path")},34631:a=>{"use strict";a.exports=require("tls")},38522:a=>{"use strict";a.exports=require("node:zlib")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41204:a=>{"use strict";a.exports=require("string_decoder")},44057:(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"unauthorized",{enumerable:!0,get:function(){return d}}),c(7638).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},45702:(a,b,c)=>{Promise.resolve().then(c.bind(c,84731)),Promise.resolve().then(c.bind(c,14430))},46060:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},46293:a=>{"use strict";a.exports=require("sql.js")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},52283:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"notFound",{enumerable:!0,get:function(){return f}});let d=c(7638),e=`${d.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;function f(){let a=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E1041",enumerable:!1,configurable:!0});throw a.digest=e,a}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},52481:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"D:\\\\bluerouter\\\\src\\\\app\\\\(dashboard)\\\\dashboard\\\\audit-proxy\\\\AuditProxyIpFilterCard.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"D:\\bluerouter\\src\\app\\(dashboard)\\dashboard\\audit-proxy\\AuditProxyIpFilterCard.js","default")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},64939:a=>{"use strict";a.exports=import("pg")},66136:a=>{"use strict";a.exports=require("timers")},66610:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={ReadonlyURLSearchParams:function(){return f.ReadonlyURLSearchParams},RedirectType:function(){return m},forbidden:function(){return i.forbidden},notFound:function(){return h.notFound},permanentRedirect:function(){return g.permanentRedirect},redirect:function(){return g.redirect},unauthorized:function(){return j.unauthorized},unstable_isUnrecognizedActionError:function(){return l},unstable_rethrow:function(){return k.unstable_rethrow}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(10381),g=c(32171),h=c(52283),i=c(92606),j=c(44057),k=c(98621);function l(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}let m={push:"push",replace:"replace"};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},67822:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>w,handler:()=>y,routeModule:()=>x});var d=c(21635),e=c(86315),f=c(1020),g=c(61287),h={};for(let a in g)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(h[a]=()=>g[a]);c.d(b,h);let i=(0,d.p)(()=>Promise.resolve().then(c.bind(c,32059))),j=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),k=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),l=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),m=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),n=(0,d.p)(()=>Promise.resolve().then(c.bind(c,30508))),o=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),p=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),q=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),r=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),s=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),t=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),u={children:["",{children:["(dashboard)",{children:["dashboard",{children:["audit-proxy",{children:["__PAGE__",{},{page:[(0,d.p)(()=>Promise.resolve().then(c.bind(c,86282))),"D:\\bluerouter\\src\\app\\(dashboard)\\dashboard\\audit-proxy\\page.js"]}]},{"global-error":[t,"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[s,"next/dist/client/components/builtin/global-error.js"]},[]]},{layout:[n,"D:\\bluerouter\\src\\app\\(dashboard)\\layout.js"],"global-error":[o,"next/dist/client/components/builtin/global-error.js"],"not-found":[p,"next/dist/client/components/builtin/not-found.js"],forbidden:[q,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[r,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,70440)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]},{layout:[i,"D:\\bluerouter\\src\\app\\layout.js"],"global-error":[j,"next/dist/client/components/builtin/global-error.js"],"not-found":[k,"next/dist/client/components/builtin/not-found.js"],forbidden:[l,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[m,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,70440)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]}.children,v=(0,e.H)({tree:u,page:"/(dashboard)/dashboard/audit-proxy/page",pathname:"/dashboard/audit-proxy",require:c,loadChunk:()=>Promise.resolve(),interopDefault:f.T}),w=v.__next_app__,x=v.routeModule,y=v.handler},73024:a=>{"use strict";a.exports=require("node:fs")},73565:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={actionAsyncStorage:function(){return f.actionAsyncStorage},workAsyncStorage:function(){return g.workAsyncStorage},workUnitAsyncStorage:function(){return h.workUnitAsyncStorage}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(19121),g=c(29294),h=c(63033);("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},74075:a=>{"use strict";a.exports=require("zlib")},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},79428:a=>{"use strict";a.exports=require("buffer")},79748:a=>{"use strict";a.exports=require("fs/promises")},80099:a=>{"use strict";a.exports=require("node:sqlite")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},84731:(a,b,c)=>{"use strict";c.d(b,{default:()=>f});var d=c(48249),e=c(67484);function f(){let[a,b]=(0,e.useState)(null),[c,f]=(0,e.useState)(!1),[g,h]=(0,e.useState)(!1),[i,j]=(0,e.useState)(""),[k,l]=(0,e.useState)(!1),[m,n]=(0,e.useState)(""),[o,p]=(0,e.useState)("");(0,e.useCallback)(async()=>{try{let a=await fetch("/api/audit-proxy?limit=1",{cache:"no-store"}),c=await a.json();if(!a.ok)throw Error(c.error||"Cannot load Audit Proxy IP filter");b(c.config),f(c.status?.running===!0),h(c.config?.clientIpFilterEnabled===!0),j((c.config?.allowedClientIps||[]).join("\n"))}catch(a){n(a.message||"Cannot load Audit Proxy IP filter")}},[]);let q=(0,e.useMemo)(()=>i.split(/\r?\n/).map(a=>a.trim()).filter(Boolean),[i]),r=async()=>{if(a){if(g&&0===q.length)return void n("Add at least one client IP or CIDR before enabling the filter.");l(!0),n(""),p("");try{let c=await fetch("/api/audit-proxy",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"save-ip-filter",enabled:g,allowedClientIps:q})}),d=await c.json().catch(()=>({}));if(!c.ok)throw Error(d.error||"Failed to save client IP filter");p(d.restarted?"Client IP filter saved and Audit Proxy restarted.":"Client IP filter saved."),b(d.config||a),f(d.status?.running===!0),h(d.config?.clientIpFilterEnabled===!0),j((d.config?.allowedClientIps||[]).join("\n"))}catch(a){n(a.message||"Failed to save client IP filter")}finally{l(!1)}}};return a?(0,d.jsxs)("section",{className:"rounded-2xl border border-border bg-surface p-4",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary",children:"shield_lock"}),(0,d.jsx)("h2",{className:"font-semibold text-text-main",children:"Client IP filter"}),(0,d.jsx)("span",{className:`rounded-full px-2 py-0.5 text-[10px] font-semibold ${g?"bg-green-500/10 text-green-600 dark:text-green-400":"bg-surface text-text-muted"}`,children:g?"ENABLED":"DISABLED"})]}),(0,d.jsxs)("p",{className:"mt-1 max-w-4xl text-xs leading-5 text-text-muted",children:["Restrict TCP access to the Audit Proxy itself. Only client IPs/CIDRs below can use port ",a.port,". The decision uses the socket peer IP; X-Forwarded-For and other HTTP headers are ignored."]})]}),(0,d.jsxs)("label",{className:"flex shrink-0 items-center gap-2 text-sm font-medium text-text-main",children:[(0,d.jsx)("input",{type:"checkbox",checked:g,onChange:a=>h(a.target.checked),className:"h-4 w-4 accent-[var(--color-primary)]"}),"Enable IP filter"]})]}),m?(0,d.jsx)("div",{className:"mt-3 rounded-lg border border-red-500/30 bg-red-500/10 px-3 py-2 text-xs text-red-600 dark:text-red-400",children:m}):null,o?(0,d.jsx)("div",{className:"mt-3 rounded-lg border border-green-500/30 bg-green-500/10 px-3 py-2 text-xs text-green-600 dark:text-green-400",children:o}):null,(0,d.jsxs)("div",{className:"mt-4 grid gap-4 lg:grid-cols-[1fr_320px]",children:[(0,d.jsxs)("label",{className:"grid gap-1.5",children:[(0,d.jsx)("span",{className:"text-sm font-semibold text-text-main",children:"Allowed client IPs / CIDRs"}),(0,d.jsx)("textarea",{rows:6,value:i,onChange:a=>j(a.target.value),placeholder:"172.16.253.3\n172.16.253.0/24\n10.20.30.15\n2001:db8::/64",className:"rounded-lg border border-border bg-background px-3 py-2 font-mono text-xs text-text-main outline-none focus:border-primary"}),(0,d.jsx)("span",{className:"text-[11px] leading-4 text-text-muted",children:"One IPv4, IPv6, or CIDR per line. IPv4-mapped IPv6 addresses are normalized automatically."})]}),(0,d.jsxs)("div",{className:"grid content-start gap-3",children:[(0,d.jsxs)("div",{className:"rounded-xl border border-primary/20 bg-primary/5 p-3 text-xs leading-5 text-text-muted",children:[(0,d.jsx)("div",{className:"font-semibold text-primary",children:"Security behavior"}),(0,d.jsx)("div",{className:"mt-1",children:"Allowed IP → proxy works normally."}),(0,d.jsx)("div",{children:"Other IP → TCP connection is immediately closed before CONNECT/HTTP parsing."}),(0,d.jsx)("div",{children:"Empty list + enabled → configuration is rejected."})]}),(0,d.jsx)("button",{type:"button",onClick:r,disabled:k,className:"rounded-lg bg-primary px-4 py-2 text-sm font-semibold text-white disabled:opacity-50",children:k?"Saving…":c?"Save & Restart Proxy":"Save IP Filter"}),c?(0,d.jsxs)("div",{className:"text-[11px] leading-4 text-text-muted",children:["Proxy is running, so applying this security policy requires a short restart of port ",a.port,"."]}):null]})]})]}):null}},86282:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>i});var d=c(5735),e=c(91970),f=c(9588),g=c(1568),h=c(52481);async function i(){let a=await (0,f.ny)();return a.authenticated||(0,e.redirect)("/login"),a.isAdmin||(0,e.redirect)("/dashboard/endpoint"),(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsx)(g.default,{}),(0,d.jsx)(h.default,{})]})}},87550:a=>{"use strict";a.exports=require("better-sqlite3")},90389:(a,b,c)=>{"use strict";c.d(b,{hS:()=>d});let d=Object.freeze({ADMIN:"admin",MONITOR_ADMIN:"monitor_admin",AI_GATEWAYS_MONITOR:"ai_gateways_monitor",USER:"user",GUEST:"guest"});Object.freeze([{href:"/dashboard/endpoint",label:"Endpoint",icon:"api"},{href:"/dashboard/api-keys",label:"API Keys",icon:"vpn_key"},{href:"/dashboard/usage",label:"Usage",icon:"bar_chart"},{href:"/dashboard/analytics",label:"Analytics",icon:"monitoring"},{href:"/dashboard/ai-power-index",label:"AI Power Index",icon:"electric_bolt"},{href:"/dashboard/quota",label:"Quota Tracker",icon:"data_usage"},{href:"/dashboard/logs",label:"Logs",icon:"manage_search"}]),Object.freeze(["/dashboard","/dashboard/endpoint","/dashboard/api-keys","/dashboard/usage","/dashboard/analytics","/dashboard/ai-power-index","/dashboard/quota","/dashboard/logs","/dashboard/prompt-logs"])},91645:a=>{"use strict";a.exports=require("net")},91970:(a,b,c)=>{"use strict";var d=c(66610);c.o(d,"notFound")&&c.d(b,{notFound:function(){return d.notFound}}),c.o(d,"redirect")&&c.d(b,{redirect:function(){return d.redirect}})},92606:(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"forbidden",{enumerable:!0,get:function(){return d}}),c(7638).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},94735:a=>{"use strict";a.exports=require("events")},98621:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"unstable_rethrow",{enumerable:!0,get:function(){return function a(b){if((0,g.isNextRouterError)(b)||(0,f.isBailoutToCSRError)(b)||(0,i.isDynamicServerError)(b)||(0,h.isDynamicPostpone)(b)||(0,e.isPostpone)(b)||(0,d.isHangingPromiseRejectionError)(b)||(0,h.isPrerenderInterruptedError)(b))throw b;b instanceof Error&&"cause"in b&&a(b.cause)}}});let d=c(48894),e=c(64491),f=c(62880),g=c(76484),h=c(23445),i=c(43449);("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,5592,5573,4433,2430,8316,8946,402,5681,4404,6064,6328,8640],()=>b(b.s=67822));module.exports=c})();
1
+ (()=>{var a={};a.id=5236,a.ids=[5236],a.modules={1568:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"D:\\\\bluerouter\\\\src\\\\app\\\\(dashboard)\\\\dashboard\\\\audit-proxy\\\\AuditProxyPageClient.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"D:\\bluerouter\\src\\app\\(dashboard)\\dashboard\\audit-proxy\\AuditProxyPageClient.js","default")},1932:a=>{"use strict";a.exports=require("url")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{"use strict";a.exports=require("node:buffer")},5534:(a,b,c)=>{Promise.resolve().then(c.bind(c,52481)),Promise.resolve().then(c.bind(c,1568))},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},9588:(a,b,c)=>{"use strict";c.d(b,{Cy:()=>i,I8:()=>k,Tv:()=>v,UX:()=>p,aV:()=>o,bz:()=>r,hH:()=>u,ny:()=>s,oW:()=>t,s0:()=>m,ub:()=>n,vZ:()=>q});var d=c(65573),e=c(23211),f=c(89718),g=c(33792),h=c(90389);let i="dashboard_view_mode";function j(a){return String(a||"").trim().toLowerCase()}function k(a){return j(a)}function l(a={}){return[a.ldapUsername,a.ldapEmail,a.ldapName,a.oidcEmail,a.oidcName,a.localUsername,a.username,a.email].map(j).filter(Boolean)}function m(a={}){let b=l(a),c=b[0]||"local",d=a.ldapName||a.ldapEmail||a.oidcName||a.oidcEmail||a.localUsername||c;return{userId:c,displayName:d,loginMethod:a.oidc?"OIDC":a.ldap?"LDAP":"Local",candidates:b}}function n(a={},b={}){var c;if(!b?.authenticated)return!1;if(b.local||!b.ldap&&!b.oidc||b.role===h.hS.ADMIN||!0===b.ldapIsAdmin)return!0;let d=Array.isArray(c=a.ldapAllowedUsers)?c.map(j).filter(Boolean):String(c||"").split(/[,\n]/).map(j).filter(Boolean);return 0!==d.length&&l(b).some(a=>d.includes(a))}function o(a={},b={}){return!(!b?.authenticated||n(a,b))&&(b.role===h.hS.MONITOR_ADMIN||!0===b.ldapIsMonitorAdmin)}function p(a={},b={}){return!(!b?.authenticated||n(a,b)||o(a,b))&&(b.role===h.hS.AI_GATEWAYS_MONITOR||!0===b.ldapIsAiGatewaysMonitor)}function q(a={},b={}){return b?.authenticated?n(a,b)?h.hS.ADMIN:o(a,b)?h.hS.MONITOR_ADMIN:p(a,b)?h.hS.AI_GATEWAYS_MONITOR:h.hS.USER:h.hS.GUEST}function r(a={}){return!0===a.isAdmin||!0===a.isMonitorAdmin}async function s(){let a=await (0,f.mt)(),b=await (0,d.UL)(),c=await (0,g.dY)(b.get("auth_token")?.value);if(!c?.authenticated)return{authenticated:!1,isAdmin:!1,actualIsAdmin:!1,showAsUser:!1,canToggleUserMode:!1,isMonitorAdmin:!1,isAiGatewaysMonitor:!1,role:h.hS.GUEST,actualRole:h.hS.GUEST,userId:"",displayName:"Guest",loginMethod:"None",settings:{...a,requireLogin:!0},session:null};let e=m(c||{}),j=q(a,c||{}),k=j===h.hS.ADMIN,l=k&&b.get(i)?.value==="user",n=l?h.hS.USER:j,o=n===h.hS.ADMIN,p=n===h.hS.MONITOR_ADMIN,r=n===h.hS.AI_GATEWAYS_MONITOR;return{authenticated:!0,isAdmin:o,actualIsAdmin:k,showAsUser:l,canToggleUserMode:k,isMonitorAdmin:p,isAiGatewaysMonitor:r,role:n,actualRole:j,canManageApiKeys:o||p,canUseMonitorAdminTabs:o||p,canViewAllAnalytics:o||p||r,...e,settings:{...a,requireLogin:!0},session:c}}async function t(){let a=await s();return a.authenticated?{access:a,response:null}:{access:a,response:e.NextResponse.json({error:"Authentication required"},{status:401})}}async function u(a={}){let{allowMonitorAdmin:b=!1}=a||{},{access:c,response:d}=await t();return d?{access:c,response:d}:c.isAdmin||b&&c.isMonitorAdmin?{access:c,response:null}:{access:c,response:e.NextResponse.json({error:"Admin access required"},{status:403})}}function v(a,b){if(!a?.authenticated||!b)return!1;if(r(a))return!0;let c=j(a.userId),d=j(b.ownerUser),e=j(b.createdByUser);return!!c&&(d===c||e===c)}},10381:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ReadonlyURLSearchParams",{enumerable:!0,get:function(){return d}});class c extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams"),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1174",enumerable:!1,configurable:!0})}}class d extends URLSearchParams{append(){throw new c}delete(){throw new c}set(){throw new c}sort(){throw new c}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14430:(a,b,c)=>{"use strict";c.d(b,{default:()=>o});var d=c(48249),e=c(67484),f=c(2116),g=c.n(f);let h=["api.anthropic.com","*.anthropic.com","claude.ai","*.claude.ai"],i=["api.openai.com","*.openai.com","chatgpt.com","*.chatgpt.com"],j="localhost,127.0.0.1,::1";function k({ok:a,children:b}){return(0,d.jsxs)("span",{className:`inline-flex items-center gap-1 rounded-full border px-2 py-0.5 text-xs font-medium ${a?"border-green-500/30 bg-green-500/10 text-green-600 dark:text-green-400":"border-border bg-surface text-text-muted"}`,children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[13px]",children:a?"check_circle":"radio_button_unchecked"}),b]})}function l({label:a,hint:b,children:c}){return(0,d.jsxs)("label",{className:"grid gap-1.5",children:[(0,d.jsx)("span",{className:"text-sm font-semibold text-text-main",children:a}),c,b?(0,d.jsx)("span",{className:"text-[11px] leading-4 text-text-muted",children:b}):null]})}function m({label:a,description:b,checked:c,onChange:e,disabled:f=!1}){return(0,d.jsxs)("label",{className:"flex items-start justify-between gap-4 rounded-xl border border-border bg-background/50 p-3",children:[(0,d.jsxs)("span",{children:[(0,d.jsx)("span",{className:"block text-sm font-semibold text-text-main",children:a}),(0,d.jsx)("span",{className:"mt-0.5 block text-xs leading-5 text-text-muted",children:b})]}),(0,d.jsx)("input",{type:"checkbox",checked:c,onChange:a=>e(a.target.checked),disabled:f,className:"mt-1 h-4 w-4 accent-[var(--color-primary)]"})]})}function n({title:a,subtitle:b,command:c,copyKey:e,copied:f,onCopy:g,recommended:h=!1}){return(0,d.jsxs)("div",{className:`rounded-xl border bg-background p-3 ${h?"border-green-500/30":"border-border"}`,children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-text-main",children:a}),h?(0,d.jsx)("span",{className:"rounded-full bg-green-500/10 px-2 py-0.5 text-[10px] font-semibold text-green-600 dark:text-green-400",children:"Recommended"}):null]}),b?(0,d.jsx)("div",{className:"mt-0.5 text-[10px] leading-4 text-text-muted",children:b}):null]}),(0,d.jsx)("button",{type:"button",onClick:()=>g(e,c),className:"shrink-0 text-xs font-medium text-primary",children:f===e?"Copied":"Copy"})]}),(0,d.jsx)("pre",{className:"mt-2 overflow-x-auto whitespace-pre-wrap break-all rounded-lg bg-surface px-3 py-2 text-[11px] leading-5 text-text-muted",children:c})]})}function o(){let[a,b]=(0,e.useState)(null),[c,f]=(0,e.useState)(null),[o,p]=(0,e.useState)(""),[q,r]=(0,e.useState)(""),[s,t]=(0,e.useState)(""),[u,v]=(0,e.useState)(null),[w,x]=(0,e.useState)(""),y=(0,e.useCallback)(async(a=!0)=>{try{let c=await fetch("/api/audit-proxy?limit=50",{cache:"no-store"}),d=await c.json();if(!c.ok)throw Error(d.error||"Cannot load Audit Proxy");b(d),a?f(a=>a||d.config):f(d.config)}catch(a){r(a.message||"Cannot load Audit Proxy")}},[]),z=a?.status||{},A=z.security||{},B=z.rootCA||{},C=!0===z.running,D=(0,e.useMemo)(()=>{let a;return(a=String(c?.clientProxyHost||"").trim()||"<bluerouter-host>").includes(":")&&!a.startsWith("[")?`[${a}]`:a},[c?.clientProxyHost]),E=c?`http://${D}:${c.port}`:"",F=(c?.allowedHosts||[]).join("\n"),G=(a,b)=>f(c=>({...c,[a]:b})),H=async(a,b={})=>{p(a),r(""),t("");try{let c=await fetch("/api/audit-proxy",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:a,...b})}),d=await c.json().catch(()=>({}));if(!c.ok)throw Error(d.error||`${a} failed`);return"test"===a?(v(d.test),t(`Simulation passed ${d.test.passed}/${d.test.total} checks.`)):t("clear-logs"===a?"Audit logs cleared.":`Audit Proxy ${a} completed.`),await y("start"!==a&&"restart"!==a),d}catch(b){return r(b.message||`${a} failed`),null}finally{p("")}},I=async()=>{p("save"),r(""),t("");try{let a=await fetch("/api/audit-proxy",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({config:c})}),b=await a.json();if(!a.ok)throw Error(b.error||"Save failed");f(b.config),t("Configuration saved."),await y(!0)}catch(a){r(a.message||"Save failed")}finally{p("")}},J=async()=>{p("save-client-host"),r(""),t("");try{let a=await fetch("/api/audit-proxy",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"save-client-host",clientProxyHost:c?.clientProxyHost||""})}),b=await a.json().catch(()=>({}));if(!a.ok)throw Error(b.error||"Failed to save Client proxy host");f(a=>({...a,clientProxyHost:b.config?.clientProxyHost||""})),t("Client proxy host saved."),await y(!0)}catch(a){r(a.message||"Failed to save Client proxy host")}finally{p("")}},K=async()=>{p("ca"),r("");try{let a=await fetch("/api/audit-proxy/ca",{method:"POST"}),b=await a.json();if(!a.ok)throw Error(b.error||"CA validation failed");t("Root CA is ready. Existing enterprise CA material was not rotated."),await y(!0)}catch(a){r(a.message||"CA validation failed")}finally{p("")}},L=a=>G("allowedHosts",[...new Set([...c?.allowedHosts||[],...a])]),M=async(a,b)=>{try{await navigator.clipboard.writeText(b),x(a),setTimeout(()=>x(""),1500)}catch{r("Clipboard access failed.")}};if(!c)return(0,d.jsx)("div",{className:"rounded-xl border border-border bg-surface p-5 text-sm text-text-muted",children:"Loading Enterprise AI Audit Proxy…"});let N=Math.round(Number(c.captureLimitBytes||0)/1024/1024*10)/10,O=["0.0.0.0","::"].includes(c.bindHost)||!String(c.bindHost).startsWith("127.")&&"localhost"!==c.bindHost&&"::1"!==c.bindHost,P="C:\\BlueRouter\\bluerouter-audit-root-ca.crt",Q="$HOME/.bluerouter/bluerouter-audit-root-ca.crt",R=`set "HTTP_PROXY=${E}"&&set "HTTPS_PROXY=${E}"&&set "NO_PROXY=${j}"&&set "no_proxy=${j}"`,S=`cmd.exe /d /c '${R}&&set "NODE_EXTRA_CA_CERTS=${P}"&&claude'`,T=`cmd.exe /d /c '${R}&&set "CODEX_CA_CERTIFICATE=${P}"&&codex'`,U=`HTTP_PROXY='${E}' HTTPS_PROXY='${E}' NO_PROXY='${j}' no_proxy='${j}'`,V=`env ${U} NODE_EXTRA_CA_CERTS="${Q}" claude`,W=`env ${U} CODEX_CA_CERTIFICATE="${Q}" codex`;return(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-3 rounded-2xl border border-primary/20 bg-primary/5 p-4 sm:flex-row sm:items-start sm:justify-between",children:[(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary",children:"policy"}),(0,d.jsx)("h1",{className:"text-lg font-bold text-text-main",children:"Enterprise AI Audit Proxy"}),(0,d.jsx)(k,{ok:C,children:C?"Running":"Stopped"}),(0,d.jsx)(k,{ok:!0===B.validated,children:"Root CA"}),(0,d.jsx)(k,{ok:c.verifyUpstreamTls,children:"Verified upstream TLS"}),(0,d.jsx)(k,{ok:z.capabilities?.http2===!0,children:"HTTP/2"})]}),(0,d.jsx)("p",{className:"mt-2 max-w-5xl text-sm leading-6 text-text-muted",children:"Explicit HTTPS CONNECT proxy for Claude Code and Codex. Request method, path, query, authentication values and body bytes are forwarded without content rewriting. Standard hop-by-hop headers and BlueRouter internal headers remain intentionally removed."})]}),(0,d.jsxs)(g(),{href:"/dashboard/mitm",className:"inline-flex items-center gap-1 text-xs font-medium text-primary hover:underline",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"arrow_back"})," AI Traffic Gateway"]})]}),q?(0,d.jsx)("div",{className:"rounded-xl border border-red-500/30 bg-red-500/10 px-4 py-3 text-sm text-red-600 dark:text-red-400",children:q}):null,s?(0,d.jsx)("div",{className:"rounded-xl border border-green-500/30 bg-green-500/10 px-4 py-3 text-sm text-green-600 dark:text-green-400",children:s}):null,A.lanExposedWithoutIpFilter?(0,d.jsxs)("div",{className:"rounded-xl border border-red-500/30 bg-red-500/10 px-4 py-3 text-sm text-red-700 dark:text-red-300",children:[(0,d.jsx)("strong",{children:"LAN listener has no Client IP filter."})," Enable the IP allowlist below before broad deployment. Plain HTTP, private destinations and CONNECT ports other than 443 are blocked, but the listener should still be restricted by firewall/VLAN."]}):O?(0,d.jsxs)("div",{className:"rounded-xl border border-amber-500/30 bg-amber-500/10 px-4 py-3 text-sm text-amber-700 dark:text-amber-300",children:[(0,d.jsx)("strong",{children:"LAN listener enabled."})," Keep TCP ",c.port," restricted to the intended LAN/VPN and maintain the Client IP allowlist."]}):null,B.expiringSoon?(0,d.jsx)("div",{className:"rounded-xl border border-amber-500/30 bg-amber-500/10 px-4 py-3 text-sm text-amber-700 dark:text-amber-300",children:"Root CA expires soon. Audit Proxy will not rotate enterprise CA material automatically; prepare and deploy the replacement CA through Advanced CA management."}):null,(0,d.jsxs)("div",{className:"grid gap-4 xl:grid-cols-[1.25fr_0.75fr]",children:[(0,d.jsxs)("section",{className:"rounded-2xl border border-border bg-surface p-4",children:[(0,d.jsxs)("div",{className:"mb-4 flex flex-wrap items-center justify-between gap-2",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h2",{className:"font-semibold text-text-main",children:"Proxy configuration"}),(0,d.jsx)("p",{className:"mt-1 text-xs text-text-muted",children:"All server-side setup is managed here. No proxy daemon CLI is required."})]}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:()=>L(h),disabled:C,className:"rounded-lg border border-border px-3 py-1.5 text-xs text-text-main hover:bg-background disabled:opacity-50",children:"+ Anthropic preset"}),(0,d.jsx)("button",{type:"button",onClick:()=>L(i),disabled:C,className:"rounded-lg border border-border px-3 py-1.5 text-xs text-text-main hover:bg-background disabled:opacity-50",children:"+ OpenAI preset"})]})]}),(0,d.jsxs)("div",{className:"grid gap-4 md:grid-cols-2",children:[(0,d.jsx)(l,{label:"Bind address",hint:"127.0.0.1 = local only. Use 0.0.0.0 or a LAN IP for other workstations.",children:(0,d.jsx)("input",{value:c.bindHost,onChange:a=>G("bindHost",a.target.value),disabled:C,className:"rounded-lg border border-border bg-background px-3 py-2 text-sm text-text-main outline-none focus:border-primary disabled:opacity-60"})}),(0,d.jsx)(l,{label:"Proxy port",hint:"Default 3128; Docker deployments must publish this port explicitly.",children:(0,d.jsx)("input",{type:"number",min:"1",max:"65535",value:c.port,onChange:a=>G("port",Number(a.target.value)),disabled:C,className:"rounded-lg border border-border bg-background px-3 py-2 text-sm text-text-main outline-none focus:border-primary disabled:opacity-60"})}),(0,d.jsx)(l,{label:"Client proxy host",hint:"Manual persistent hostname/IP used only in deployment commands; it does not change the listener.",children:(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("input",{value:c.clientProxyHost||"",onChange:a=>G("clientProxyHost",a.target.value),placeholder:"172.16.6.8 or proxy.example.local",className:"min-w-0 flex-1 rounded-lg border border-border bg-background px-3 py-2 text-sm text-text-main outline-none focus:border-primary"}),(0,d.jsx)("button",{type:"button",onClick:J,disabled:!!o,className:"shrink-0 rounded-lg border border-primary/30 bg-primary/10 px-3 py-2 text-xs font-semibold text-primary disabled:opacity-50",children:"save-client-host"===o?"Saving…":"Save host"})]})}),(0,d.jsx)(l,{label:"Capture limit / request",hint:"Traffic streams immediately; only this bounded prefix is retained for audit.",children:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("input",{type:"number",min:"0",max:"16",step:"0.5",value:N,onChange:a=>G("captureLimitBytes",Math.round(1024*Number(a.target.value)*1024)),disabled:C||!c.captureBodies,className:"min-w-0 flex-1 rounded-lg border border-border bg-background px-3 py-2 text-sm text-text-main outline-none focus:border-primary disabled:opacity-60"}),(0,d.jsx)("span",{className:"text-xs text-text-muted",children:"MB"})]})})]}),(0,d.jsxs)("div",{className:"mt-4 grid gap-3 md:grid-cols-2",children:[(0,d.jsx)(m,{label:"Pass through non-audited hosts",description:"Unknown hosts use a blind TLS tunnel only when they resolve to public addresses on TCP 443. Private/reserved destinations are denied.",checked:c.passthroughUnknown,onChange:a=>G("passthroughUnknown",a),disabled:C}),(0,d.jsx)(m,{label:"Capture request/response bodies",description:"Credentials are redacted before persistence. Disable to retain metadata and wire hashes only.",checked:c.captureBodies,onChange:a=>G("captureBodies",a),disabled:C})]}),(0,d.jsxs)("div",{className:"mt-4 grid gap-4 md:grid-cols-[1fr_190px]",children:[(0,d.jsx)(l,{label:"TLS inspection allowlist",hint:"One hostname/wildcard per line. Only these public HTTPS hosts are decrypted and audited.",children:(0,d.jsx)("textarea",{rows:9,value:F,onChange:a=>G("allowedHosts",a.target.value.split(/\r?\n/).map(a=>a.trim()).filter(Boolean)),disabled:C,className:"rounded-lg border border-border bg-background px-3 py-2 font-mono text-xs text-text-main outline-none focus:border-primary disabled:opacity-60"})}),(0,d.jsxs)("div",{className:"grid content-start gap-4",children:[(0,d.jsx)(l,{label:"Retention",hint:"Daily local JSONL segments older than this value are deleted hourly.",children:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("input",{type:"number",min:"1",max:"365",value:c.retentionDays,onChange:a=>G("retentionDays",Number(a.target.value)),disabled:C,className:"min-w-0 flex-1 rounded-lg border border-border bg-background px-3 py-2 text-sm text-text-main outline-none focus:border-primary disabled:opacity-60"}),(0,d.jsx)("span",{className:"text-xs text-text-muted",children:"days"})]})}),(0,d.jsxs)("div",{className:"rounded-xl border border-green-500/20 bg-green-500/5 p-3 text-xs leading-5 text-text-muted",children:[(0,d.jsx)("div",{className:"font-semibold text-green-600 dark:text-green-400",children:"Transport controls enforced"}),"TLS verification ON \xb7 HTTP/1.1 + HTTP/2 \xb7 HTTPS CONNECT only \xb7 public TCP 443 only."]})]})]}),(0,d.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:I,disabled:!!o||C,className:"rounded-lg bg-primary px-4 py-2 text-sm font-semibold text-white disabled:opacity-50",children:"save"===o?"Saving…":"Save"}),C?(0,d.jsx)("button",{type:"button",onClick:()=>H("stop"),disabled:!!o,className:"rounded-lg border border-red-500/30 bg-red-500/10 px-4 py-2 text-sm font-semibold text-red-500 disabled:opacity-50",children:"stop"===o?"Stopping…":"Stop Proxy"}):(0,d.jsx)("button",{type:"button",onClick:()=>H("start",{config:c}),disabled:!!o,className:"rounded-lg border border-green-500/30 bg-green-500/10 px-4 py-2 text-sm font-semibold text-green-600 disabled:opacity-50",children:"start"===o?"Starting…":"Start Proxy"}),(0,d.jsx)("button",{type:"button",onClick:()=>H("restart",{config:c}),disabled:!!o,className:"rounded-lg border border-border px-4 py-2 text-sm font-semibold text-text-main hover:bg-background disabled:opacity-50",children:"restart"===o?"Restarting…":"Save & Restart"}),(0,d.jsx)("button",{type:"button",onClick:()=>H("test"),disabled:!!o,className:"rounded-lg border border-primary/30 bg-primary/10 px-4 py-2 text-sm font-semibold text-primary disabled:opacity-50",children:"test"===o?"Testing…":"Run Simulated Test"})]})]}),(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("section",{className:"rounded-2xl border border-border bg-surface p-4",children:[(0,d.jsx)("h2",{className:"font-semibold text-text-main",children:"Root CA"}),(0,d.jsx)("p",{className:"mt-1 text-xs leading-5 text-text-muted",children:"The existing Root CA/key pair is validated and reused. Audit Proxy never auto-rotates enterprise CA material."}),(0,d.jsxs)("div",{className:"mt-3 grid gap-2 text-xs",children:[(0,d.jsxs)("div",{className:"flex justify-between gap-3",children:[(0,d.jsx)("span",{className:"text-text-muted",children:"Status"}),(0,d.jsx)("span",{className:"font-medium text-text-main",children:B.validated?"Validated":B.certExists?"Needs attention":"Not generated"})]}),B.subject?(0,d.jsxs)("div",{className:"grid gap-1",children:[(0,d.jsx)("span",{className:"text-text-muted",children:"Subject"}),(0,d.jsx)("span",{className:"break-all font-mono text-[11px] text-text-main",children:B.subject})]}):null,B.fingerprint?(0,d.jsxs)("div",{className:"grid gap-1",children:[(0,d.jsx)("span",{className:"text-text-muted",children:"Public key fingerprint"}),(0,d.jsx)("span",{className:"break-all font-mono text-[11px] text-text-main",children:B.fingerprint})]}):null,B.notAfter?(0,d.jsxs)("div",{className:"flex justify-between gap-3",children:[(0,d.jsx)("span",{className:"text-text-muted",children:"Expires"}),(0,d.jsx)("span",{className:"text-text-main",children:new Date(B.notAfter).toLocaleString()})]}):null,B.error?(0,d.jsx)("div",{className:"rounded-lg bg-red-500/10 p-2 text-red-600 dark:text-red-300",children:B.error}):null]}),(0,d.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:K,disabled:!!o||C,className:"rounded-lg border border-border px-3 py-2 text-xs font-semibold text-text-main hover:bg-background disabled:opacity-50",children:B.certExists?"Validate / Reuse CA":"Generate CA"}),(0,d.jsx)("a",{href:"/api/audit-proxy/ca?download=cert",className:`rounded-lg border border-primary/30 bg-primary/10 px-3 py-2 text-xs font-semibold text-primary ${!B.certExists?"pointer-events-none opacity-50":""}`,children:"Download Root CA"}),(0,d.jsx)(g(),{href:"/dashboard/mitm",className:"rounded-lg border border-border px-3 py-2 text-xs font-semibold text-text-main hover:bg-background",children:"Advanced CA management"})]})]}),(0,d.jsxs)("section",{className:"rounded-2xl border border-border bg-surface p-4",children:[(0,d.jsx)("h2",{className:"font-semibold text-text-main",children:"Client deployment values"}),(0,d.jsx)("p",{className:"mt-1 text-xs leading-5 text-text-muted",children:"Process-scoped launchers do not use setx or modify Windows/System proxy. NO_PROXY keeps localhost OAuth callbacks and local MCP services off the gateway."}),(0,d.jsxs)("div",{className:"mt-3 rounded-xl border border-primary/20 bg-primary/5 p-3 text-xs leading-5 text-text-muted",children:[(0,d.jsx)("div",{className:"font-semibold text-primary",children:"Before first use"}),"Save the CA as ",(0,d.jsx)("code",{className:"rounded bg-background px-1 py-0.5",children:P})," on Windows or ",(0,d.jsx)("code",{className:"rounded bg-background px-1 py-0.5",children:Q})," on Linux/macOS. The extra CA variable is harmless when the CA is already trusted by the OS."]}),(0,d.jsxs)("div",{className:"mt-3 grid gap-3",children:[(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-background p-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-semibold text-text-main",children:"Proxy URL"}),(0,d.jsx)("button",{type:"button",onClick:()=>M("url",E),className:"text-xs text-primary",children:"url"===w?"Copied":"Copy"})]}),(0,d.jsx)("code",{className:"mt-1 block break-all text-xs text-text-muted",children:E})]}),(0,d.jsx)(n,{title:"Claude Code \xb7 Windows PowerShell",subtitle:"Proxy variables exist only in the child process.",command:S,copyKey:"claude-ps",copied:w,onCopy:M,recommended:!0}),(0,d.jsx)(n,{title:"Codex \xb7 Windows PowerShell",subtitle:"No persistent user/system environment changes.",command:T,copyKey:"codex-ps",copied:w,onCopy:M,recommended:!0}),(0,d.jsxs)("details",{className:"rounded-xl border border-border bg-background p-3",children:[(0,d.jsx)("summary",{className:"cursor-pointer text-xs font-semibold text-text-main",children:"Linux / macOS process-scoped commands"}),(0,d.jsxs)("div",{className:"mt-3 grid gap-3",children:[(0,d.jsx)(n,{title:"Claude Code \xb7 Bash/zsh",command:V,copyKey:"claude-bash",copied:w,onCopy:M}),(0,d.jsx)(n,{title:"Codex \xb7 Bash/zsh",command:W,copyKey:"codex-bash",copied:w,onCopy:M})]})]})]})]})]})]}),u?(0,d.jsxs)("section",{className:`rounded-2xl border p-4 ${u.ok?"border-green-500/30 bg-green-500/5":"border-red-500/30 bg-red-500/5"}`,children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h2",{className:"font-semibold text-text-main",children:"Simulated end-to-end test"}),(0,d.jsx)("p",{className:"mt-1 text-xs text-text-muted",children:"Local throwaway HTTP/1.1 + HTTP/2 TLS endpoints; no cloud credential or external API call is used."})]}),(0,d.jsxs)(k,{ok:u.ok,children:[u.passed,"/",u.total," passed \xb7 ",u.durationMs," ms"]})]}),(0,d.jsx)("div",{className:"mt-3 grid gap-2 md:grid-cols-2 xl:grid-cols-3",children:u.checks?.map(a=>(0,d.jsxs)("div",{className:"flex items-start gap-2 rounded-lg border border-border/70 bg-background/60 px-3 py-2 text-xs",children:[(0,d.jsx)("span",{className:`material-symbols-outlined text-[16px] ${a.ok?"text-green-500":"text-red-500"}`,children:a.ok?"check_circle":"error"}),(0,d.jsxs)("span",{children:[(0,d.jsx)("span",{className:"font-medium text-text-main",children:a.name}),a.detail?(0,d.jsx)("span",{className:"mt-0.5 block text-text-muted",children:a.detail}):null]})]},a.name))})]}):null,(0,d.jsxs)("section",{className:"rounded-2xl border border-border bg-surface p-4",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h2",{className:"font-semibold text-text-main",children:"Recent audit requests"}),(0,d.jsx)("p",{className:"mt-1 text-xs text-text-muted",children:"Credentials are redacted before persistence. Local writes and MySQL mirroring run through a bounded asynchronous queue."})]}),(0,d.jsxs)("div",{className:"flex items-center gap-3 text-xs text-text-muted",children:[(0,d.jsxs)("span",{children:["Queue ",z.auditStore?.queueDepth||0,"/",z.auditStore?.queueLimit||1e3]}),(0,d.jsx)("button",{type:"button",onClick:()=>H("clear-logs"),disabled:!!o,className:"rounded-lg border border-border px-3 py-1.5 hover:bg-background disabled:opacity-50",children:"Clear logs"})]})]}),(0,d.jsx)("div",{className:"mt-3 overflow-x-auto",children:(0,d.jsxs)("table",{className:"w-full min-w-[950px] text-left text-xs",children:[(0,d.jsx)("thead",{className:"border-b border-border text-text-muted",children:(0,d.jsxs)("tr",{children:[(0,d.jsx)("th",{className:"px-2 py-2 font-medium",children:"Time"}),(0,d.jsx)("th",{className:"px-2 py-2 font-medium",children:"Protocol"}),(0,d.jsx)("th",{className:"px-2 py-2 font-medium",children:"Client"}),(0,d.jsx)("th",{className:"px-2 py-2 font-medium",children:"Provider"}),(0,d.jsx)("th",{className:"px-2 py-2 font-medium",children:"Host"}),(0,d.jsx)("th",{className:"px-2 py-2 font-medium",children:"Model"}),(0,d.jsx)("th",{className:"px-2 py-2 font-medium",children:"Request"}),(0,d.jsx)("th",{className:"px-2 py-2 font-medium",children:"Status"}),(0,d.jsx)("th",{className:"px-2 py-2 font-medium",children:"Latency"})]})}),(0,d.jsxs)("tbody",{children:[(a?.events||[]).map(a=>(0,d.jsxs)("tr",{className:"border-b border-border/60 align-top text-text-main",children:[(0,d.jsx)("td",{className:"whitespace-nowrap px-2 py-2 text-text-muted",children:new Date(a.timestamp).toLocaleTimeString()}),(0,d.jsx)("td",{className:"px-2 py-2",children:a.protocol||"http/1.1"}),(0,d.jsx)("td",{className:"px-2 py-2 font-mono text-[11px]",children:a.client?.ip||"-"}),(0,d.jsx)("td",{className:"px-2 py-2",children:a.provider||"-"}),(0,d.jsx)("td",{className:"px-2 py-2 font-mono text-[11px]",children:a.host||"-"}),(0,d.jsx)("td",{className:"px-2 py-2",children:a.model||"-"}),(0,d.jsx)("td",{className:"max-w-[300px] px-2 py-2",children:(0,d.jsxs)("details",{children:[(0,d.jsxs)("summary",{className:"cursor-pointer truncate",children:[a.method," ",a.path]}),(0,d.jsx)("pre",{className:"mt-2 max-h-72 overflow-auto whitespace-pre-wrap rounded-lg bg-background p-2 text-[10px] leading-4 text-text-muted",children:JSON.stringify({request:a.request,response:a.response,error:a.error},null,2)})]})}),(0,d.jsx)("td",{className:"px-2 py-2",children:a.status||"ERR"}),(0,d.jsxs)("td",{className:"whitespace-nowrap px-2 py-2",children:[a.durationMs??"-"," ms"]})]},a.id)),a?.events?.length?null:(0,d.jsx)("tr",{children:(0,d.jsx)("td",{colSpan:"9",className:"px-2 py-8 text-center text-text-muted",children:"No audited requests yet."})})]})]})})]})]})}},17509:(a,b,c)=>{"use strict";c.d(b,{V:()=>o});var d=c(91356),e=c(80700),f=c(99129),g=c(73575),h=c(41570),i=c(19035),j=c(44893),k=c(69052);async function l(a,b,c){let l,{protected:m,header:n,payload:o}=a,p={};if(m&&(p=(0,h.OX)(m,f.Ye,"JWS Protected Header is invalid")),void 0!==n){if(!(0,i.fz)(p,n))throw new f.Ye("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");l={...p,...n}}else l=p;let q=(0,j.nI)(f.Ye,j.qc,b[1],p,l),r=!0;if(q.includes("b64")&&"boolean"!=typeof(r=p.b64))throw new f.Ye('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:s}=l;if("string"!=typeof s||!s)throw new f.Ye('JWS "alg" (Algorithm) Header Parameter missing or invalid');if(b[0]&&!b[0].has(s))throw new f.Rb('"alg" (Algorithm) Header Parameter value not allowed');if(r){if("string"!=typeof o)throw new f.Ye("JWS Payload must be a string")}else if("string"!=typeof o&&!(o instanceof Uint8Array))throw new f.Ye("JWS Payload must be a string or an Uint8Array instance");let t=!1;"function"==typeof c&&(c=await c(p,a),t=!0);let u=(0,e.q)(s),v=(0,g.xW)(void 0!==m?(0,g.lF)(m):new Uint8Array,(0,g.lF)("."),"string"==typeof o?r?b[2]??=(0,h.Fo)(o,"payload",f.Ye):g.Rd.encode(o):o),w=(0,h.h2)(a.signature,"signature",f.Ye),x=await (0,k.d)(u,c,"verify");if(!await (0,d.M)(u,x,w,v))throw new f.h2;return[r?(0,h.h2)(o,"payload",f.Ye):"string"==typeof o?g.Rd.encode(o):o,p,r,x,t]}async function m(a,b,c){if(a instanceof Uint8Array&&(a=g.D0.decode(a)),"string"!=typeof a)throw new f.Ye("Compact JWS must be a string or Uint8Array");let{0:d,1:e,2:h,length:i}=a.split(".");if(3!==i)throw new f.Ye("Invalid Compact JWS");return l({payload:e,protected:d,signature:h},b,c)}var n=c(17347);async function o(a,b,c){let d=await m(a,[c&&(0,j.Fw)("algorithms",c.algorithms),c?.crit],b);if(!d[2])throw new f.Dp("JWTs MUST NOT use unencoded payload");let e={payload:(0,n.k6)(d[1],d[0],c),protectedHeader:d[1]};return"function"==typeof b?{...e,key:d[3]}:e}},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19771:a=>{"use strict";a.exports=require("process")},21820:a=>{"use strict";a.exports=require("os")},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32171:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getRedirectError:function(){return i},getRedirectStatusCodeFromError:function(){return n},getRedirectTypeFromError:function(){return m},getURLFromRedirectError:function(){return l},permanentRedirect:function(){return k},redirect:function(){return j}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(81494),g=c(52220),h=c(73565);function i(a,b,c=f.RedirectStatusCode.TemporaryRedirect){let d=Object.defineProperty(Error(g.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return d.digest=`${g.REDIRECT_ERROR_CODE};${b};${a};${c};`,d}function j(a,b){throw i(a,b??=h.actionAsyncStorage?.getStore()?.isAction?"push":"replace",f.RedirectStatusCode.TemporaryRedirect)}function k(a,b="replace"){throw i(a,b,f.RedirectStatusCode.PermanentRedirect)}function l(a){return(0,g.isRedirectError)(a)?a.digest.split(";").slice(2,-2).join(";"):null}function m(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return a.digest.split(";",2)[1]}function n(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(a.digest.split(";").at(-2))}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},33792:(a,b,c)=>{"use strict";c.d(b,{Dc:()=>p,OZ:()=>s,YK:()=>n,dY:()=>q,tm:()=>r});var d=c(84433),e=c(17509),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(77598),k=c.n(j),l=c(49120);let m=new TextEncoder().encode(function(){if(process.env.JWT_SECRET)return process.env.JWT_SECRET;let a=i().join(l.DATA_DIR,"jwt-secret");try{return g().readFileSync(a,"utf8").trim()}catch{}g().mkdirSync(l.DATA_DIR,{recursive:!0});let b=k().randomBytes(32).toString("hex");return g().writeFileSync(a,b,{mode:384}),b}());function n(a){let b="true"===process.env.AUTH_COOKIE_SECURE,c=a?.headers?.get?.("x-forwarded-proto");return b||"https"===c}async function o(a={}){return new d.P({authenticated:!0,...a}).setProtectedHeader({alg:"HS256"}).setIssuedAt().setExpirationTime("86400s").sign(m)}async function p(a){if(!a)return!1;try{return await (0,e.V)(a,m),!0}catch{return!1}}async function q(a){if(!a)return null;try{let{payload:b}=await (0,e.V)(a,m);return b}catch{return null}}async function r(a,b,c={}){let d=await o(c);a.set("auth_token",d,{httpOnly:!0,secure:n(b),sameSite:"lax",path:"/",maxAge:86400})}function s(a){a.delete("auth_token")}},33873:a=>{"use strict";a.exports=require("path")},34631:a=>{"use strict";a.exports=require("tls")},38522:a=>{"use strict";a.exports=require("node:zlib")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41204:a=>{"use strict";a.exports=require("string_decoder")},44057:(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"unauthorized",{enumerable:!0,get:function(){return d}}),c(7638).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},45702:(a,b,c)=>{Promise.resolve().then(c.bind(c,84731)),Promise.resolve().then(c.bind(c,14430))},46060:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},46293:a=>{"use strict";a.exports=require("sql.js")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},52283:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"notFound",{enumerable:!0,get:function(){return f}});let d=c(7638),e=`${d.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;function f(){let a=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E1041",enumerable:!1,configurable:!0});throw a.digest=e,a}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},52481:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"D:\\\\bluerouter\\\\src\\\\app\\\\(dashboard)\\\\dashboard\\\\audit-proxy\\\\AuditProxyIpFilterCard.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"D:\\bluerouter\\src\\app\\(dashboard)\\dashboard\\audit-proxy\\AuditProxyIpFilterCard.js","default")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},64939:a=>{"use strict";a.exports=import("pg")},66136:a=>{"use strict";a.exports=require("timers")},66610:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={ReadonlyURLSearchParams:function(){return f.ReadonlyURLSearchParams},RedirectType:function(){return m},forbidden:function(){return i.forbidden},notFound:function(){return h.notFound},permanentRedirect:function(){return g.permanentRedirect},redirect:function(){return g.redirect},unauthorized:function(){return j.unauthorized},unstable_isUnrecognizedActionError:function(){return l},unstable_rethrow:function(){return k.unstable_rethrow}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(10381),g=c(32171),h=c(52283),i=c(92606),j=c(44057),k=c(98621);function l(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}let m={push:"push",replace:"replace"};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},71899:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>w,handler:()=>y,routeModule:()=>x});var d=c(21635),e=c(86315),f=c(1020),g=c(61287),h={};for(let a in g)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(h[a]=()=>g[a]);c.d(b,h);let i=(0,d.p)(()=>Promise.resolve().then(c.bind(c,32059))),j=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),k=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),l=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),m=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),n=(0,d.p)(()=>Promise.resolve().then(c.bind(c,30508))),o=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),p=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),q=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),r=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),s=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),t=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),u={children:["",{children:["(dashboard)",{children:["dashboard",{children:["audit-proxy",{children:["__PAGE__",{},{page:[(0,d.p)(()=>Promise.resolve().then(c.bind(c,86282))),"D:\\bluerouter\\src\\app\\(dashboard)\\dashboard\\audit-proxy\\page.js"]}]},{"global-error":[t,"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[s,"next/dist/client/components/builtin/global-error.js"]},[]]},{layout:[n,"D:\\bluerouter\\src\\app\\(dashboard)\\layout.js"],"global-error":[o,"next/dist/client/components/builtin/global-error.js"],"not-found":[p,"next/dist/client/components/builtin/not-found.js"],forbidden:[q,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[r,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,70440)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]},{layout:[i,"D:\\bluerouter\\src\\app\\layout.js"],"global-error":[j,"next/dist/client/components/builtin/global-error.js"],"not-found":[k,"next/dist/client/components/builtin/not-found.js"],forbidden:[l,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[m,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,70440)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]}.children,v=(0,e.H)({tree:u,page:"/(dashboard)/dashboard/audit-proxy/page",pathname:"/dashboard/audit-proxy",require:c,loadChunk:()=>Promise.resolve(),interopDefault:f.T}),w=v.__next_app__,x=v.routeModule,y=v.handler},73024:a=>{"use strict";a.exports=require("node:fs")},73565:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={actionAsyncStorage:function(){return f.actionAsyncStorage},workAsyncStorage:function(){return g.workAsyncStorage},workUnitAsyncStorage:function(){return h.workUnitAsyncStorage}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(19121),g=c(29294),h=c(63033);("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},74075:a=>{"use strict";a.exports=require("zlib")},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},79428:a=>{"use strict";a.exports=require("buffer")},79748:a=>{"use strict";a.exports=require("fs/promises")},80099:a=>{"use strict";a.exports=require("node:sqlite")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},84731:(a,b,c)=>{"use strict";c.d(b,{default:()=>f});var d=c(48249),e=c(67484);function f(){let[a,b]=(0,e.useState)(null),[c,f]=(0,e.useState)(!1),[g,h]=(0,e.useState)(!1),[i,j]=(0,e.useState)(""),[k,l]=(0,e.useState)(!1),[m,n]=(0,e.useState)(""),[o,p]=(0,e.useState)("");(0,e.useCallback)(async()=>{try{let a=await fetch("/api/audit-proxy?limit=1",{cache:"no-store"}),c=await a.json();if(!a.ok)throw Error(c.error||"Cannot load Audit Proxy IP filter");b(c.config),f(c.status?.running===!0),h(c.config?.clientIpFilterEnabled===!0),j((c.config?.allowedClientIps||[]).join("\n"))}catch(a){n(a.message||"Cannot load Audit Proxy IP filter")}},[]);let q=(0,e.useMemo)(()=>i.split(/\r?\n/).map(a=>a.trim()).filter(Boolean),[i]),r=async()=>{if(a){if(g&&0===q.length)return void n("Add at least one client IP or CIDR before enabling the filter.");l(!0),n(""),p("");try{let c=await fetch("/api/audit-proxy",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"save-ip-filter",enabled:g,allowedClientIps:q})}),d=await c.json().catch(()=>({}));if(!c.ok)throw Error(d.error||"Failed to save client IP filter");p(d.restarted?"Client IP filter saved and Audit Proxy restarted.":"Client IP filter saved."),b(d.config||a),f(d.status?.running===!0),h(d.config?.clientIpFilterEnabled===!0),j((d.config?.allowedClientIps||[]).join("\n"))}catch(a){n(a.message||"Failed to save client IP filter")}finally{l(!1)}}};return a?(0,d.jsxs)("section",{className:"rounded-2xl border border-border bg-surface p-4",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary",children:"shield_lock"}),(0,d.jsx)("h2",{className:"font-semibold text-text-main",children:"Client IP filter"}),(0,d.jsx)("span",{className:`rounded-full px-2 py-0.5 text-[10px] font-semibold ${g?"bg-green-500/10 text-green-600 dark:text-green-400":"bg-surface text-text-muted"}`,children:g?"ENABLED":"DISABLED"})]}),(0,d.jsxs)("p",{className:"mt-1 max-w-4xl text-xs leading-5 text-text-muted",children:["Restrict TCP access to the Audit Proxy itself. Only client IPs/CIDRs below can use port ",a.port,". The decision uses the socket peer IP; X-Forwarded-For and other HTTP headers are ignored."]})]}),(0,d.jsxs)("label",{className:"flex shrink-0 items-center gap-2 text-sm font-medium text-text-main",children:[(0,d.jsx)("input",{type:"checkbox",checked:g,onChange:a=>h(a.target.checked),className:"h-4 w-4 accent-[var(--color-primary)]"}),"Enable IP filter"]})]}),m?(0,d.jsx)("div",{className:"mt-3 rounded-lg border border-red-500/30 bg-red-500/10 px-3 py-2 text-xs text-red-600 dark:text-red-400",children:m}):null,o?(0,d.jsx)("div",{className:"mt-3 rounded-lg border border-green-500/30 bg-green-500/10 px-3 py-2 text-xs text-green-600 dark:text-green-400",children:o}):null,(0,d.jsxs)("div",{className:"mt-4 grid gap-4 lg:grid-cols-[1fr_320px]",children:[(0,d.jsxs)("label",{className:"grid gap-1.5",children:[(0,d.jsx)("span",{className:"text-sm font-semibold text-text-main",children:"Allowed client IPs / CIDRs"}),(0,d.jsx)("textarea",{rows:6,value:i,onChange:a=>j(a.target.value),placeholder:"172.16.253.3\n172.16.253.0/24\n10.20.30.15\n2001:db8::/64",className:"rounded-lg border border-border bg-background px-3 py-2 font-mono text-xs text-text-main outline-none focus:border-primary"}),(0,d.jsx)("span",{className:"text-[11px] leading-4 text-text-muted",children:"One IPv4, IPv6, or CIDR per line. IPv4-mapped IPv6 addresses are normalized automatically."})]}),(0,d.jsxs)("div",{className:"grid content-start gap-3",children:[(0,d.jsxs)("div",{className:"rounded-xl border border-primary/20 bg-primary/5 p-3 text-xs leading-5 text-text-muted",children:[(0,d.jsx)("div",{className:"font-semibold text-primary",children:"Security behavior"}),(0,d.jsx)("div",{className:"mt-1",children:"Allowed IP → proxy works normally."}),(0,d.jsx)("div",{children:"Other IP → TCP connection is immediately closed before CONNECT/HTTP parsing."}),(0,d.jsx)("div",{children:"Empty list + enabled → configuration is rejected."})]}),(0,d.jsx)("button",{type:"button",onClick:r,disabled:k,className:"rounded-lg bg-primary px-4 py-2 text-sm font-semibold text-white disabled:opacity-50",children:k?"Saving…":c?"Save & Restart Proxy":"Save IP Filter"}),c?(0,d.jsxs)("div",{className:"text-[11px] leading-4 text-text-muted",children:["Proxy is running, so applying this security policy requires a short restart of port ",a.port,"."]}):null]})]})]}):null}},86282:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>i});var d=c(5735),e=c(91970),f=c(9588),g=c(1568),h=c(52481);async function i(){let a=await (0,f.ny)();return a.authenticated||(0,e.redirect)("/login"),a.isAdmin||(0,e.redirect)("/dashboard/endpoint"),(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsx)(g.default,{}),(0,d.jsx)(h.default,{})]})}},87550:a=>{"use strict";a.exports=require("better-sqlite3")},90389:(a,b,c)=>{"use strict";c.d(b,{hS:()=>d});let d=Object.freeze({ADMIN:"admin",MONITOR_ADMIN:"monitor_admin",AI_GATEWAYS_MONITOR:"ai_gateways_monitor",USER:"user",GUEST:"guest"});Object.freeze([{href:"/dashboard/endpoint",label:"Endpoint",icon:"api"},{href:"/dashboard/api-keys",label:"API Keys",icon:"vpn_key"},{href:"/dashboard/usage",label:"Usage",icon:"bar_chart"},{href:"/dashboard/analytics",label:"Analytics",icon:"monitoring"},{href:"/dashboard/ai-power-index",label:"AI Power Index",icon:"electric_bolt"},{href:"/dashboard/quota",label:"Quota Tracker",icon:"data_usage"}]),Object.freeze(["/dashboard","/dashboard/endpoint","/dashboard/api-keys","/dashboard/usage","/dashboard/analytics","/dashboard/ai-power-index","/dashboard/quota"])},91645:a=>{"use strict";a.exports=require("net")},91970:(a,b,c)=>{"use strict";var d=c(66610);c.o(d,"notFound")&&c.d(b,{notFound:function(){return d.notFound}}),c.o(d,"redirect")&&c.d(b,{redirect:function(){return d.redirect}})},92606:(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"forbidden",{enumerable:!0,get:function(){return d}}),c(7638).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},94735:a=>{"use strict";a.exports=require("events")},98621:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"unstable_rethrow",{enumerable:!0,get:function(){return function a(b){if((0,g.isNextRouterError)(b)||(0,f.isBailoutToCSRError)(b)||(0,i.isDynamicServerError)(b)||(0,h.isDynamicPostpone)(b)||(0,e.isPostpone)(b)||(0,d.isHangingPromiseRejectionError)(b)||(0,h.isPrerenderInterruptedError)(b))throw b;b instanceof Error&&"cause"in b&&a(b.cause)}}});let d=c(48894),e=c(64491),f=c(62880),g=c(76484),h=c(23445),i=c(43449);("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,5592,5573,4433,2430,8316,8946,402,5681,4404,6064,6328,8640],()=>b(b.s=71899));module.exports=c})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../../cli/.build-home/AppData/Roaming/bluerouter/db/backups/upgrade-5.3.54-to-5.3.55-5.3.55-20260823-081202/data.sqlite","../../../../../../cli/.build-home/AppData/Roaming/bluerouter/db/backups/upgrade-5.3.55-to-5.3.56-5.3.56-20260823-085719/data.sqlite","../../../../../../cli/.build-home/AppData/Roaming/bluerouter/db/backups/upgrade-5.3.56-to-5.3.57-5.3.57-20260823-091335/data.sqlite","../../../../../../cli/.build-home/AppData/Roaming/bluerouter/db/backups/upgrade-5.3.57-to-5.3.58-5.3.58-20260823-092724/data.sqlite","../../../../../../cli/.build-home/AppData/Roaming/bluerouter/db/backups/upgrade-5.3.57-to-5.3.58-5.3.58-20260823-092725/data.sqlite","../../../../../../cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite","../../../../../../cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite-shm","../../../../../../cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite-wal","../../../../../../cli/.build-home/AppData/Roaming/bluerouter/jwt-secret","../../../../../../cli/.build-home/AppData/Roaming/bluerouter/machine-id","../../../../../../cli/.build-home/AppData/Roaming/nextjs-nodejs/Config/config.json","../../../../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../../node_modules/@swc/helpers/package.json","../../../../../../node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../../../../../node_modules/better-sqlite3/lib/database.js","../../../../../../node_modules/better-sqlite3/lib/index.js","../../../../../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../../../node_modules/better-sqlite3/lib/methods/backup.js","../../../../../../node_modules/better-sqlite3/lib/methods/function.js","../../../../../../node_modules/better-sqlite3/lib/methods/inspect.js","../../../../../../node_modules/better-sqlite3/lib/methods/pragma.js","../../../../../../node_modules/better-sqlite3/lib/methods/serialize.js","../../../../../../node_modules/better-sqlite3/lib/methods/table.js","../../../../../../node_modules/better-sqlite3/lib/methods/transaction.js","../../../../../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../../../node_modules/better-sqlite3/lib/sqlite-error.js","../../../../../../node_modules/better-sqlite3/lib/util.js","../../../../../../node_modules/better-sqlite3/package.json","../../../../../../node_modules/bindings/bindings.js","../../../../../../node_modules/bindings/package.json","../../../../../../node_modules/file-uri-to-path/index.js","../../../../../../node_modules/file-uri-to-path/package.json","../../../../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../../node_modules/next/dist/client/lib/console.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../../node_modules/next/dist/lib/constants.js","../../../../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../../node_modules/next/dist/lib/is-error.js","../../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../../node_modules/next/dist/lib/scheduler.js","../../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/blocking-route-messages.js","../../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../../../../node_modules/next/dist/server/app-render/sync-io-messages.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../../node_modules/next/dist/server/lib/parse-stack.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../node_modules/next/dist/server/lib/source-maps.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../../node_modules/next/dist/server/node-environment-baseline.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../../node_modules/next/dist/server/node-environment.js","../../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../../node_modules/next/dist/server/require-hook.js","../../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../node_modules/next/dist/shared/lib/instant-messages.js","../../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../node_modules/next/package.json","../../../../../../node_modules/pg-cloudflare/dist/empty.js","../../../../../../node_modules/pg-cloudflare/dist/index.js","../../../../../../node_modules/pg-cloudflare/package.json","../../../../../../node_modules/pg-connection-string/index.js","../../../../../../node_modules/pg-connection-string/package.json","../../../../../../node_modules/pg-int8/index.js","../../../../../../node_modules/pg-int8/package.json","../../../../../../node_modules/pg-pool/index.js","../../../../../../node_modules/pg-pool/package.json","../../../../../../node_modules/pg-protocol/dist/buffer-reader.js","../../../../../../node_modules/pg-protocol/dist/buffer-writer.js","../../../../../../node_modules/pg-protocol/dist/index.js","../../../../../../node_modules/pg-protocol/dist/messages.js","../../../../../../node_modules/pg-protocol/dist/parser.js","../../../../../../node_modules/pg-protocol/dist/serializer.js","../../../../../../node_modules/pg-protocol/package.json","../../../../../../node_modules/pg-types/index.js","../../../../../../node_modules/pg-types/lib/arrayParser.js","../../../../../../node_modules/pg-types/lib/binaryParsers.js","../../../../../../node_modules/pg-types/lib/builtins.js","../../../../../../node_modules/pg-types/lib/textParsers.js","../../../../../../node_modules/pg-types/package.json","../../../../../../node_modules/pg/esm/index.mjs","../../../../../../node_modules/pg/lib/client.js","../../../../../../node_modules/pg/lib/connection-parameters.js","../../../../../../node_modules/pg/lib/connection.js","../../../../../../node_modules/pg/lib/crypto/cert-signatures.js","../../../../../../node_modules/pg/lib/crypto/sasl.js","../../../../../../node_modules/pg/lib/crypto/utils.js","../../../../../../node_modules/pg/lib/defaults.js","../../../../../../node_modules/pg/lib/index.js","../../../../../../node_modules/pg/lib/native/client.js","../../../../../../node_modules/pg/lib/native/index.js","../../../../../../node_modules/pg/lib/native/query.js","../../../../../../node_modules/pg/lib/query.js","../../../../../../node_modules/pg/lib/result.js","../../../../../../node_modules/pg/lib/stream.js","../../../../../../node_modules/pg/lib/type-overrides.js","../../../../../../node_modules/pg/lib/utils.js","../../../../../../node_modules/pg/package.json","../../../../../../node_modules/pgpass/lib/helper.js","../../../../../../node_modules/pgpass/lib/index.js","../../../../../../node_modules/pgpass/package.json","../../../../../../node_modules/postgres-array/index.js","../../../../../../node_modules/postgres-array/package.json","../../../../../../node_modules/postgres-bytea/index.js","../../../../../../node_modules/postgres-bytea/package.json","../../../../../../node_modules/postgres-date/index.js","../../../../../../node_modules/postgres-date/package.json","../../../../../../node_modules/postgres-interval/index.js","../../../../../../node_modules/postgres-interval/package.json","../../../../../../node_modules/react/cjs/react.development.js","../../../../../../node_modules/react/cjs/react.production.js","../../../../../../node_modules/react/index.js","../../../../../../node_modules/react/package.json","../../../../../../node_modules/split2/index.js","../../../../../../node_modules/split2/package.json","../../../../../../node_modules/sql.js/dist/sql-wasm.js","../../../../../../node_modules/sql.js/package.json","../../../../../../node_modules/xtend/mutable.js","../../../../../../node_modules/xtend/package.json","../../../../../../package.json","../../../../../../src/lib/db/adapters/betterSqliteAdapter.js","../../../../../../src/lib/db/adapters/bunSqliteAdapter.js","../../../../../../src/lib/db/adapters/nodeSqliteAdapter.js","../../../../../../src/lib/db/adapters/sqljsAdapter.js","../../../../../../src/lib/db/migrate.js","../../../../../../src/shared/utils/apiKey.js","../../../../../package.json","../../../../chunks/1002.js","../../../../chunks/1455.js","../../../../chunks/1817.js","../../../../chunks/1998.js","../../../../chunks/2155.js","../../../../chunks/2242.js","../../../../chunks/241.js","../../../../chunks/2430.js","../../../../chunks/2506.js","../../../../chunks/2507.js","../../../../chunks/2512.js","../../../../chunks/2556.js","../../../../chunks/2566.js","../../../../chunks/2611.js","../../../../chunks/2650.js","../../../../chunks/2664.js","../../../../chunks/2731.js","../../../../chunks/2891.js","../../../../chunks/2944.js","../../../../chunks/3031.js","../../../../chunks/3104.js","../../../../chunks/318.js","../../../../chunks/3433.js","../../../../chunks/3484.js","../../../../chunks/3593.js","../../../../chunks/3609.js","../../../../chunks/3696.js","../../../../chunks/3738.js","../../../../chunks/3767.js","../../../../chunks/3801.js","../../../../chunks/3824.js","../../../../chunks/3958.js","../../../../chunks/3960.js","../../../../chunks/4013.js","../../../../chunks/4017.js","../../../../chunks/402.js","../../../../chunks/4123.js","../../../../chunks/4177.js","../../../../chunks/4298.js","../../../../chunks/4315.js","../../../../chunks/436.js","../../../../chunks/4404.js","../../../../chunks/4433.js","../../../../chunks/4632.js","../../../../chunks/4696.js","../../../../chunks/4739.js","../../../../chunks/4741.js","../../../../chunks/4746.js","../../../../chunks/476.js","../../../../chunks/4778.js","../../../../chunks/4780.js","../../../../chunks/4790.js","../../../../chunks/4803.js","../../../../chunks/507.js","../../../../chunks/5206.js","../../../../chunks/5210.js","../../../../chunks/5258.js","../../../../chunks/541.js","../../../../chunks/5424.js","../../../../chunks/5433.js","../../../../chunks/5573.js","../../../../chunks/5592.js","../../../../chunks/564.js","../../../../chunks/5681.js","../../../../chunks/5852.js","../../../../chunks/5901.js","../../../../chunks/5915.js","../../../../chunks/595.js","../../../../chunks/6053.js","../../../../chunks/6064.js","../../../../chunks/607.js","../../../../chunks/6103.js","../../../../chunks/6108.js","../../../../chunks/6118.js","../../../../chunks/6182.js","../../../../chunks/6252.js","../../../../chunks/6328.js","../../../../chunks/6404.js","../../../../chunks/6492.js","../../../../chunks/6811.js","../../../../chunks/6844.js","../../../../chunks/689.js","../../../../chunks/6936.js","../../../../chunks/6956.js","../../../../chunks/6977.js","../../../../chunks/6979.js","../../../../chunks/698.js","../../../../chunks/6992.js","../../../../chunks/7126.js","../../../../chunks/7242.js","../../../../chunks/7341.js","../../../../chunks/7464.js","../../../../chunks/7639.js","../../../../chunks/7669.js","../../../../chunks/7707.js","../../../../chunks/7753.js","../../../../chunks/7774.js","../../../../chunks/7812.js","../../../../chunks/7828.js","../../../../chunks/7859.js","../../../../chunks/7965.js","../../../../chunks/7986.js","../../../../chunks/8023.js","../../../../chunks/8062.js","../../../../chunks/8099.js","../../../../chunks/814.js","../../../../chunks/8255.js","../../../../chunks/8316.js","../../../../chunks/8347.js","../../../../chunks/8352.js","../../../../chunks/8360.js","../../../../chunks/8469.js","../../../../chunks/8491.js","../../../../chunks/8520.js","../../../../chunks/8590.js","../../../../chunks/8640.js","../../../../chunks/8895.js","../../../../chunks/8946.js","../../../../chunks/9483.js","../../../../chunks/9489.js","../../../../chunks/9609.js","../../../../chunks/9868.js","../../../../webpack-runtime.js","page_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../../../../cli/.build-home/AppData/Roaming/bluerouter/db/backups/upgrade-5.3.57-to-5.3.58-5.3.58-20260823-092724/data.sqlite","../../../../../../cli/.build-home/AppData/Roaming/bluerouter/db/backups/upgrade-5.3.57-to-5.3.58-5.3.58-20260823-092725/data.sqlite","../../../../../../cli/.build-home/AppData/Roaming/bluerouter/db/backups/upgrade-5.3.58-to-5.3.59-5.3.59-20260823-093629/data.sqlite","../../../../../../cli/.build-home/AppData/Roaming/bluerouter/db/backups/upgrade-5.3.59-to-5.3.60-5.3.60-20260823-094446/data.sqlite","../../../../../../cli/.build-home/AppData/Roaming/bluerouter/db/backups/upgrade-5.3.59-to-5.3.60-5.3.60-20260823-094447/data.sqlite","../../../../../../cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite","../../../../../../cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite-shm","../../../../../../cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite-wal","../../../../../../cli/.build-home/AppData/Roaming/bluerouter/jwt-secret","../../../../../../cli/.build-home/AppData/Roaming/bluerouter/machine-id","../../../../../../cli/.build-home/AppData/Roaming/nextjs-nodejs/Config/config.json","../../../../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../../node_modules/@swc/helpers/package.json","../../../../../../node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../../../../../node_modules/better-sqlite3/lib/database.js","../../../../../../node_modules/better-sqlite3/lib/index.js","../../../../../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../../../node_modules/better-sqlite3/lib/methods/backup.js","../../../../../../node_modules/better-sqlite3/lib/methods/function.js","../../../../../../node_modules/better-sqlite3/lib/methods/inspect.js","../../../../../../node_modules/better-sqlite3/lib/methods/pragma.js","../../../../../../node_modules/better-sqlite3/lib/methods/serialize.js","../../../../../../node_modules/better-sqlite3/lib/methods/table.js","../../../../../../node_modules/better-sqlite3/lib/methods/transaction.js","../../../../../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../../../node_modules/better-sqlite3/lib/sqlite-error.js","../../../../../../node_modules/better-sqlite3/lib/util.js","../../../../../../node_modules/better-sqlite3/package.json","../../../../../../node_modules/bindings/bindings.js","../../../../../../node_modules/bindings/package.json","../../../../../../node_modules/file-uri-to-path/index.js","../../../../../../node_modules/file-uri-to-path/package.json","../../../../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../../node_modules/next/dist/client/lib/console.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../../node_modules/next/dist/lib/constants.js","../../../../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../../node_modules/next/dist/lib/is-error.js","../../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../../node_modules/next/dist/lib/scheduler.js","../../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/blocking-route-messages.js","../../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../../../../node_modules/next/dist/server/app-render/sync-io-messages.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../../node_modules/next/dist/server/lib/parse-stack.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../node_modules/next/dist/server/lib/source-maps.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../../node_modules/next/dist/server/node-environment-baseline.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../../node_modules/next/dist/server/node-environment.js","../../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../../node_modules/next/dist/server/require-hook.js","../../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../node_modules/next/dist/shared/lib/instant-messages.js","../../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../node_modules/next/package.json","../../../../../../node_modules/pg-cloudflare/dist/empty.js","../../../../../../node_modules/pg-cloudflare/dist/index.js","../../../../../../node_modules/pg-cloudflare/package.json","../../../../../../node_modules/pg-connection-string/index.js","../../../../../../node_modules/pg-connection-string/package.json","../../../../../../node_modules/pg-int8/index.js","../../../../../../node_modules/pg-int8/package.json","../../../../../../node_modules/pg-pool/index.js","../../../../../../node_modules/pg-pool/package.json","../../../../../../node_modules/pg-protocol/dist/buffer-reader.js","../../../../../../node_modules/pg-protocol/dist/buffer-writer.js","../../../../../../node_modules/pg-protocol/dist/index.js","../../../../../../node_modules/pg-protocol/dist/messages.js","../../../../../../node_modules/pg-protocol/dist/parser.js","../../../../../../node_modules/pg-protocol/dist/serializer.js","../../../../../../node_modules/pg-protocol/package.json","../../../../../../node_modules/pg-types/index.js","../../../../../../node_modules/pg-types/lib/arrayParser.js","../../../../../../node_modules/pg-types/lib/binaryParsers.js","../../../../../../node_modules/pg-types/lib/builtins.js","../../../../../../node_modules/pg-types/lib/textParsers.js","../../../../../../node_modules/pg-types/package.json","../../../../../../node_modules/pg/esm/index.mjs","../../../../../../node_modules/pg/lib/client.js","../../../../../../node_modules/pg/lib/connection-parameters.js","../../../../../../node_modules/pg/lib/connection.js","../../../../../../node_modules/pg/lib/crypto/cert-signatures.js","../../../../../../node_modules/pg/lib/crypto/sasl.js","../../../../../../node_modules/pg/lib/crypto/utils.js","../../../../../../node_modules/pg/lib/defaults.js","../../../../../../node_modules/pg/lib/index.js","../../../../../../node_modules/pg/lib/native/client.js","../../../../../../node_modules/pg/lib/native/index.js","../../../../../../node_modules/pg/lib/native/query.js","../../../../../../node_modules/pg/lib/query.js","../../../../../../node_modules/pg/lib/result.js","../../../../../../node_modules/pg/lib/stream.js","../../../../../../node_modules/pg/lib/type-overrides.js","../../../../../../node_modules/pg/lib/utils.js","../../../../../../node_modules/pg/package.json","../../../../../../node_modules/pgpass/lib/helper.js","../../../../../../node_modules/pgpass/lib/index.js","../../../../../../node_modules/pgpass/package.json","../../../../../../node_modules/postgres-array/index.js","../../../../../../node_modules/postgres-array/package.json","../../../../../../node_modules/postgres-bytea/index.js","../../../../../../node_modules/postgres-bytea/package.json","../../../../../../node_modules/postgres-date/index.js","../../../../../../node_modules/postgres-date/package.json","../../../../../../node_modules/postgres-interval/index.js","../../../../../../node_modules/postgres-interval/package.json","../../../../../../node_modules/react/cjs/react.development.js","../../../../../../node_modules/react/cjs/react.production.js","../../../../../../node_modules/react/index.js","../../../../../../node_modules/react/package.json","../../../../../../node_modules/split2/index.js","../../../../../../node_modules/split2/package.json","../../../../../../node_modules/sql.js/dist/sql-wasm.js","../../../../../../node_modules/sql.js/package.json","../../../../../../node_modules/xtend/mutable.js","../../../../../../node_modules/xtend/package.json","../../../../../../package.json","../../../../../../src/lib/db/adapters/betterSqliteAdapter.js","../../../../../../src/lib/db/adapters/bunSqliteAdapter.js","../../../../../../src/lib/db/adapters/nodeSqliteAdapter.js","../../../../../../src/lib/db/adapters/sqljsAdapter.js","../../../../../../src/lib/db/migrate.js","../../../../../../src/shared/utils/apiKey.js","../../../../../package.json","../../../../chunks/1002.js","../../../../chunks/1455.js","../../../../chunks/1817.js","../../../../chunks/1998.js","../../../../chunks/2155.js","../../../../chunks/2242.js","../../../../chunks/241.js","../../../../chunks/2430.js","../../../../chunks/2506.js","../../../../chunks/2507.js","../../../../chunks/2512.js","../../../../chunks/2556.js","../../../../chunks/2566.js","../../../../chunks/2611.js","../../../../chunks/2650.js","../../../../chunks/2664.js","../../../../chunks/2731.js","../../../../chunks/2891.js","../../../../chunks/2944.js","../../../../chunks/3031.js","../../../../chunks/3104.js","../../../../chunks/318.js","../../../../chunks/3433.js","../../../../chunks/3484.js","../../../../chunks/3593.js","../../../../chunks/3609.js","../../../../chunks/3696.js","../../../../chunks/3738.js","../../../../chunks/3767.js","../../../../chunks/3801.js","../../../../chunks/3824.js","../../../../chunks/3958.js","../../../../chunks/3960.js","../../../../chunks/4013.js","../../../../chunks/4017.js","../../../../chunks/402.js","../../../../chunks/4123.js","../../../../chunks/4177.js","../../../../chunks/4298.js","../../../../chunks/4315.js","../../../../chunks/436.js","../../../../chunks/4404.js","../../../../chunks/4433.js","../../../../chunks/4594.js","../../../../chunks/4632.js","../../../../chunks/4696.js","../../../../chunks/4739.js","../../../../chunks/4741.js","../../../../chunks/4746.js","../../../../chunks/476.js","../../../../chunks/4778.js","../../../../chunks/4780.js","../../../../chunks/4790.js","../../../../chunks/4803.js","../../../../chunks/507.js","../../../../chunks/5206.js","../../../../chunks/5210.js","../../../../chunks/5258.js","../../../../chunks/541.js","../../../../chunks/5424.js","../../../../chunks/5433.js","../../../../chunks/5573.js","../../../../chunks/5592.js","../../../../chunks/564.js","../../../../chunks/5681.js","../../../../chunks/5852.js","../../../../chunks/5901.js","../../../../chunks/5915.js","../../../../chunks/595.js","../../../../chunks/6053.js","../../../../chunks/6064.js","../../../../chunks/607.js","../../../../chunks/6103.js","../../../../chunks/6108.js","../../../../chunks/6118.js","../../../../chunks/6182.js","../../../../chunks/6252.js","../../../../chunks/6328.js","../../../../chunks/6404.js","../../../../chunks/6492.js","../../../../chunks/6811.js","../../../../chunks/6844.js","../../../../chunks/689.js","../../../../chunks/6936.js","../../../../chunks/6956.js","../../../../chunks/6977.js","../../../../chunks/6979.js","../../../../chunks/698.js","../../../../chunks/6992.js","../../../../chunks/7126.js","../../../../chunks/7142.js","../../../../chunks/7242.js","../../../../chunks/7341.js","../../../../chunks/7464.js","../../../../chunks/7639.js","../../../../chunks/7669.js","../../../../chunks/7707.js","../../../../chunks/7753.js","../../../../chunks/7774.js","../../../../chunks/7812.js","../../../../chunks/7828.js","../../../../chunks/7965.js","../../../../chunks/7986.js","../../../../chunks/8023.js","../../../../chunks/8062.js","../../../../chunks/8099.js","../../../../chunks/814.js","../../../../chunks/8255.js","../../../../chunks/8316.js","../../../../chunks/8347.js","../../../../chunks/8352.js","../../../../chunks/8360.js","../../../../chunks/8469.js","../../../../chunks/8491.js","../../../../chunks/8520.js","../../../../chunks/8590.js","../../../../chunks/8640.js","../../../../chunks/8895.js","../../../../chunks/8946.js","../../../../chunks/9483.js","../../../../chunks/9489.js","../../../../chunks/9609.js","../../../../chunks/9868.js","../../../../webpack-runtime.js","page_client-reference-manifest.js"]}