@jheavenknows/bluerouter 5.3.47 → 5.3.49

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 (1052) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +7 -4
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/prerender-manifest.json +59 -31
  5. package/app/.next-cli-build/routes-manifest.json +18 -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_client-reference-manifest.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page.js +2 -2
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/audit-proxy/page.js +5 -0
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/audit-proxy/page.js.nft.json +1 -0
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/audit-proxy/page_client-reference-manifest.js +1 -0
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/model-profiles/page.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/model-profiles/page_client-reference-manifest.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cluster/page.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cluster/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/local-ai-report/page.js +2 -2
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/local-ai-report/page_client-reference-manifest.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovider/page.js +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovider/page_client-reference-manifest.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovidermonitor/page.js +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovidermonitor/page_client-reference-manifest.js +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalquota/page.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalquota/page_client-reference-manifest.js +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page.js +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page_client-reference-manifest.js +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page.js +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page_client-reference-manifest.js +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/resource-monitor/page.js +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/resource-monitor/page_client-reference-manifest.js +1 -1
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/routing-topology/page.js +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/routing-topology/page_client-reference-manifest.js +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page.js +1 -1
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
  78. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  79. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
  80. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  81. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
  82. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  83. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  84. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  85. package/app/.next-cli-build/server/app/_global-error/page.js +1 -1
  86. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  87. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  88. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  89. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  90. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  91. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  92. package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
  93. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  94. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  95. package/app/.next-cli-build/server/app/_not-found.rsc +6 -6
  96. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +6 -6
  97. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +6 -6
  98. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  99. package/app/.next-cli-build/server/app/api/audit-proxy/ca/route.js +18 -0
  100. package/app/.next-cli-build/server/app/api/audit-proxy/ca/route.js.nft.json +1 -0
  101. package/app/.next-cli-build/server/app/api/audit-proxy/ca/route_client-reference-manifest.js +1 -0
  102. package/app/.next-cli-build/server/app/api/audit-proxy/route.js +38 -0
  103. package/app/.next-cli-build/server/app/api/audit-proxy/route.js.nft.json +1 -0
  104. package/app/.next-cli-build/server/app/api/audit-proxy/route_client-reference-manifest.js +1 -0
  105. package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js +1 -1
  106. package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js.nft.json +1 -1
  107. package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js +1 -1
  108. package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/api/auth/login/route.js +2 -2
  110. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  111. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  112. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  113. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  114. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  116. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  118. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  119. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  120. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/auth/view-mode/route.js +1 -1
  122. package/app/.next-cli-build/server/app/api/auth/view-mode/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/branding/[asset]/route.js +1 -1
  124. package/app/.next-cli-build/server/app/api/branding/[asset]/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/branding/route.js +1 -1
  126. package/app/.next-cli-build/server/app/api/branding/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/branding/upload/route.js +1 -1
  128. package/app/.next-cli-build/server/app/api/branding/upload/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-model-profiles/cloud-models/route.js +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-model-profiles/cloud-models/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/cli-model-profiles/route.js +1 -1
  132. package/app/.next-cli-build/server/app/api/cli-model-profiles/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +2 -2
  134. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  136. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route.js +1 -1
  138. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route.js +2 -2
  140. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route.js +1 -1
  142. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  144. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  146. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  147. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  148. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +1 -1
  149. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  151. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  152. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  153. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  155. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  156. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  157. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  158. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +1 -1
  159. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  160. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  161. package/app/.next-cli-build/server/app/api/cli-tools/qwen-settings/route.js +1 -1
  162. package/app/.next-cli-build/server/app/api/cluster/config/route.js +1 -1
  163. package/app/.next-cli-build/server/app/api/cluster/config/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/cluster/heartbeat/route.js +1 -1
  165. package/app/.next-cli-build/server/app/api/cluster/heartbeat/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/cluster/peers/[id]/command/route.js +1 -1
  167. package/app/.next-cli-build/server/app/api/cluster/peers/[id]/command/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/cluster/peers/[id]/route.js +1 -1
  169. package/app/.next-cli-build/server/app/api/cluster/peers/[id]/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/cluster/peers/route.js +1 -1
  171. package/app/.next-cli-build/server/app/api/cluster/peers/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/cluster/snapshot/route.js +2 -2
  173. package/app/.next-cli-build/server/app/api/cluster/snapshot/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/cluster/sync/route.js +1 -1
  175. package/app/.next-cli-build/server/app/api/cluster/sync/route.js.nft.json +1 -1
  176. package/app/.next-cli-build/server/app/api/cluster/test/route.js +1 -1
  177. package/app/.next-cli-build/server/app/api/cluster/test/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +2 -2
  179. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  181. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/dashboard/ai-power-index/route.js +1 -1
  183. package/app/.next-cli-build/server/app/api/dashboard/ai-power-index/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/dashboard/analytics/ai-models/route.js +1 -1
  185. package/app/.next-cli-build/server/app/api/dashboard/analytics/ai-models/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/dashboard/analytics/analyze/route.js +1 -1
  187. package/app/.next-cli-build/server/app/api/dashboard/analytics/analyze/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/dashboard/analytics/route.js +1 -1
  189. package/app/.next-cli-build/server/app/api/dashboard/analytics/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/dashboard/combos/route.js +1 -1
  191. package/app/.next-cli-build/server/app/api/dashboard/combos/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/dashboard/endpoint/route.js +1 -1
  193. package/app/.next-cli-build/server/app/api/dashboard/endpoint/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/dashboard/local-ai-report/route.js +2 -2
  195. package/app/.next-cli-build/server/app/api/dashboard/local-ai-report/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js +1 -1
  197. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/options/route.js +1 -1
  199. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/options/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js +1 -1
  201. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/dashboard/routing-topology/config/route.js +1 -1
  203. package/app/.next-cli-build/server/app/api/dashboard/routing-topology/config/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/dashboard/routing-topology/live/route.js +1 -1
  205. package/app/.next-cli-build/server/app/api/dashboard/routing-topology/live/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/dashboard/routing-topology/route.js +1 -1
  207. package/app/.next-cli-build/server/app/api/dashboard/routing-topology/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/dashboard/token-saver/route.js +1 -1
  209. package/app/.next-cli-build/server/app/api/dashboard/token-saver/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  211. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  212. package/app/.next-cli-build/server/app/api/keys/[id]/caveman-test/route.js +1 -1
  213. package/app/.next-cli-build/server/app/api/keys/[id]/caveman-test/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js +1 -1
  215. package/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  217. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/keys/route.js +2 -2
  219. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  221. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
  222. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
  224. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  225. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  226. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  227. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  228. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  229. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  230. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  232. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  233. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  234. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  235. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  237. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  239. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  241. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  243. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  245. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  247. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  249. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  251. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  253. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  254. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  255. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/oauth/grok-cli/device-code/route.js +1 -1
  257. package/app/.next-cli-build/server/app/api/oauth/grok-cli/device-code/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/oauth/grok-cli/poll/route.js +1 -1
  259. package/app/.next-cli-build/server/app/api/oauth/grok-cli/poll/route.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  261. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  263. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  264. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  266. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  267. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/api-key-models/route.js +1 -1
  269. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/api-key-models/route.js.nft.json +1 -1
  270. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/import-models/route.js +1 -1
  271. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/import-models/route.js.nft.json +1 -1
  272. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/models/[...routeModel]/route.js +1 -1
  273. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/models/[...routeModel]/route.js.nft.json +1 -1
  274. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/move/route.js +1 -1
  275. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/move/route.js.nft.json +1 -1
  276. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/route.js +1 -1
  277. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/route.js.nft.json +1 -1
  278. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/usage/route.js +1 -1
  279. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/usage/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/api/personal-cloud-providers/client/route.js +1 -1
  281. package/app/.next-cli-build/server/app/api/personal-cloud-providers/client/route.js.nft.json +1 -1
  282. package/app/.next-cli-build/server/app/api/personal-cloud-providers/monitor/route.js +1 -1
  283. package/app/.next-cli-build/server/app/api/personal-cloud-providers/monitor/route.js.nft.json +1 -1
  284. package/app/.next-cli-build/server/app/api/personal-cloud-providers/permissions/route.js +1 -1
  285. package/app/.next-cli-build/server/app/api/personal-cloud-providers/permissions/route.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/api/personal-cloud-providers/route.js +1 -1
  287. package/app/.next-cli-build/server/app/api/personal-cloud-providers/route.js.nft.json +1 -1
  288. package/app/.next-cli-build/server/app/api/personal-cloud-providers/routing/route.js +1 -1
  289. package/app/.next-cli-build/server/app/api/personal-cloud-providers/routing/route.js.nft.json +1 -1
  290. package/app/.next-cli-build/server/app/api/personal-cloud-providers/shares/route.js +1 -1
  291. package/app/.next-cli-build/server/app/api/personal-cloud-providers/shares/route.js.nft.json +1 -1
  292. package/app/.next-cli-build/server/app/api/personal-cloud-providers/visibility/route.js +1 -1
  293. package/app/.next-cli-build/server/app/api/personal-cloud-providers/visibility/route.js.nft.json +1 -1
  294. package/app/.next-cli-build/server/app/api/pricing/catalog/route.js +2 -2
  295. package/app/.next-cli-build/server/app/api/pricing/catalog/route.js.nft.json +1 -1
  296. package/app/.next-cli-build/server/app/api/pricing/recalculate/route.js +1 -1
  297. package/app/.next-cli-build/server/app/api/pricing/recalculate/route.js.nft.json +1 -1
  298. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  299. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  300. package/app/.next-cli-build/server/app/api/provider-health/route.js +1 -1
  301. package/app/.next-cli-build/server/app/api/provider-health/route.js.nft.json +1 -1
  302. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  303. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  304. package/app/.next-cli-build/server/app/api/provider-nodes/openai-compatible/manage/route.js +1 -1
  305. package/app/.next-cli-build/server/app/api/provider-nodes/openai-compatible/manage/route.js.nft.json +1 -1
  306. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  307. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  308. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  309. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  310. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  311. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  312. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  313. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  314. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  315. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  316. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  317. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  318. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  319. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  320. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  321. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  322. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  323. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  324. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  325. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  326. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  327. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  328. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  329. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  330. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  331. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  332. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  333. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  334. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  335. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  336. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  337. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  338. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  339. package/app/.next-cli-build/server/app/api/resource-monitor/[id]/route.js +1 -1
  340. package/app/.next-cli-build/server/app/api/resource-monitor/[id]/route.js.nft.json +1 -1
  341. package/app/.next-cli-build/server/app/api/resource-monitor/ai-models/route.js +1 -1
  342. package/app/.next-cli-build/server/app/api/resource-monitor/ai-models/route.js.nft.json +1 -1
  343. package/app/.next-cli-build/server/app/api/resource-monitor/analyze/route.js +2 -2
  344. package/app/.next-cli-build/server/app/api/resource-monitor/analyze/route.js.nft.json +1 -1
  345. package/app/.next-cli-build/server/app/api/resource-monitor/history/route.js +2 -2
  346. package/app/.next-cli-build/server/app/api/resource-monitor/history/route.js.nft.json +1 -1
  347. package/app/.next-cli-build/server/app/api/resource-monitor/route.js +2 -2
  348. package/app/.next-cli-build/server/app/api/resource-monitor/route.js.nft.json +1 -1
  349. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  350. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  351. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  352. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  353. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  354. package/app/.next-cli-build/server/app/api/settings/route.js +2 -2
  355. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  356. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  357. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  358. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  359. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  360. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  361. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  362. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  363. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  364. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  365. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  366. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  367. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  368. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  369. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  370. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  371. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  372. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  373. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  374. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  375. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  376. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  377. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  378. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  379. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  380. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js +1 -1
  381. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js.nft.json +1 -1
  382. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js +1 -1
  383. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js.nft.json +1 -1
  384. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  385. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  386. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  387. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  388. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  389. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  390. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  391. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  392. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  393. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  394. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  395. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  396. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  397. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  398. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  399. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  400. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  401. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  402. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  403. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  404. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  405. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  406. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  407. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  408. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  409. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  410. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  411. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  412. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  413. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  414. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  415. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  416. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  417. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  418. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  419. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  420. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  421. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  422. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  423. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  424. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  425. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  426. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  427. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  428. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  429. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  430. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  431. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  432. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  433. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  434. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  435. package/app/.next-cli-build/server/app/api/version/restart/route.js +1 -1
  436. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  437. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  438. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  439. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  440. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  441. package/app/.next-cli-build/server/app/callback/page.js +1 -1
  442. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  443. package/app/.next-cli-build/server/app/callback.html +1 -1
  444. package/app/.next-cli-build/server/app/callback.rsc +6 -6
  445. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +6 -6
  446. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  447. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +6 -6
  448. package/app/.next-cli-build/server/app/dashboard/ai-power-index.html +1 -1
  449. package/app/.next-cli-build/server/app/dashboard/ai-power-index.rsc +7 -7
  450. package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/!KGRhc2hib2FyZCk/dashboard/ai-power-index/__PAGE__.segment.rsc +7 -7
  451. package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/_full.segment.rsc +7 -7
  452. package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/_tree.segment.rsc +2 -2
  453. package/app/.next-cli-build/server/app/dashboard/api-keys.html +1 -1
  454. package/app/.next-cli-build/server/app/dashboard/api-keys.rsc +10 -10
  455. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard/api-keys/__PAGE__.segment.rsc +10 -10
  456. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_full.segment.rsc +10 -10
  457. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_tree.segment.rsc +2 -2
  458. package/app/.next-cli-build/server/app/dashboard/audit-proxy.html +1 -0
  459. package/app/.next-cli-build/server/app/dashboard/audit-proxy.meta +36 -0
  460. package/app/.next-cli-build/server/app/dashboard/audit-proxy.rsc +25 -0
  461. package/app/.next-cli-build/server/app/dashboard/audit-proxy.segments/!KGRhc2hib2FyZCk/dashboard/audit-proxy/__PAGE__.segment.rsc +32 -0
  462. package/app/.next-cli-build/server/app/dashboard/audit-proxy.segments/_full.segment.rsc +25 -0
  463. package/app/.next-cli-build/server/app/dashboard/audit-proxy.segments/_tree.segment.rsc +4 -0
  464. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  465. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +8 -8
  466. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +8 -8
  467. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +8 -8
  468. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  469. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.html +1 -1
  470. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.rsc +8 -8
  471. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/model-profiles/__PAGE__.segment.rsc +8 -8
  472. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/_full.segment.rsc +8 -8
  473. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/_tree.segment.rsc +2 -2
  474. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  475. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +8 -8
  476. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +8 -8
  477. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +8 -8
  478. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  479. package/app/.next-cli-build/server/app/dashboard/cluster.html +1 -1
  480. package/app/.next-cli-build/server/app/dashboard/cluster.rsc +7 -7
  481. package/app/.next-cli-build/server/app/dashboard/cluster.segments/!KGRhc2hib2FyZCk/dashboard/cluster/__PAGE__.segment.rsc +7 -7
  482. package/app/.next-cli-build/server/app/dashboard/cluster.segments/_full.segment.rsc +7 -7
  483. package/app/.next-cli-build/server/app/dashboard/cluster.segments/_tree.segment.rsc +2 -2
  484. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  485. package/app/.next-cli-build/server/app/dashboard/combos.rsc +8 -8
  486. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +8 -8
  487. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +8 -8
  488. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  489. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  490. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +8 -8
  491. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +8 -8
  492. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +8 -8
  493. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  494. package/app/.next-cli-build/server/app/dashboard/local-ai-report.html +1 -1
  495. package/app/.next-cli-build/server/app/dashboard/local-ai-report.rsc +7 -7
  496. package/app/.next-cli-build/server/app/dashboard/local-ai-report.segments/!KGRhc2hib2FyZCk/dashboard/local-ai-report/__PAGE__.segment.rsc +7 -7
  497. package/app/.next-cli-build/server/app/dashboard/local-ai-report.segments/_full.segment.rsc +7 -7
  498. package/app/.next-cli-build/server/app/dashboard/local-ai-report.segments/_tree.segment.rsc +2 -2
  499. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  500. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +8 -8
  501. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +8 -8
  502. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +8 -8
  503. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  504. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  505. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +8 -8
  506. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +8 -8
  507. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +8 -8
  508. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  509. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  510. package/app/.next-cli-build/server/app/dashboard/profile.rsc +8 -8
  511. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +8 -8
  512. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +8 -8
  513. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  514. package/app/.next-cli-build/server/app/dashboard/prompt-logs.html +1 -1
  515. package/app/.next-cli-build/server/app/dashboard/prompt-logs.rsc +7 -7
  516. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs/__PAGE__.segment.rsc +7 -7
  517. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_full.segment.rsc +7 -7
  518. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_tree.segment.rsc +2 -2
  519. package/app/.next-cli-build/server/app/dashboard/provider-health.html +1 -1
  520. package/app/.next-cli-build/server/app/dashboard/provider-health.rsc +7 -7
  521. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health/__PAGE__.segment.rsc +7 -7
  522. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_full.segment.rsc +7 -7
  523. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_tree.segment.rsc +2 -2
  524. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  525. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +8 -8
  526. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +8 -8
  527. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +8 -8
  528. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  529. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  530. package/app/.next-cli-build/server/app/dashboard/providers.rsc +8 -8
  531. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +8 -8
  532. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +8 -8
  533. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  534. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  535. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +8 -8
  536. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +8 -8
  537. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +8 -8
  538. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  539. package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
  540. package/app/.next-cli-build/server/app/dashboard/quota.rsc +9 -9
  541. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +9 -9
  542. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +9 -9
  543. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  544. package/app/.next-cli-build/server/app/dashboard/resource-monitor.html +1 -1
  545. package/app/.next-cli-build/server/app/dashboard/resource-monitor.rsc +7 -7
  546. package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/!KGRhc2hib2FyZCk/dashboard/resource-monitor/__PAGE__.segment.rsc +7 -7
  547. package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/_full.segment.rsc +7 -7
  548. package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/_tree.segment.rsc +2 -2
  549. package/app/.next-cli-build/server/app/dashboard/routing-topology.html +1 -1
  550. package/app/.next-cli-build/server/app/dashboard/routing-topology.rsc +7 -7
  551. package/app/.next-cli-build/server/app/dashboard/routing-topology.segments/!KGRhc2hib2FyZCk/dashboard/routing-topology/__PAGE__.segment.rsc +7 -7
  552. package/app/.next-cli-build/server/app/dashboard/routing-topology.segments/_full.segment.rsc +7 -7
  553. package/app/.next-cli-build/server/app/dashboard/routing-topology.segments/_tree.segment.rsc +2 -2
  554. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  555. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +7 -7
  556. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing/__PAGE__.segment.rsc +7 -7
  557. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +7 -7
  558. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  559. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  560. package/app/.next-cli-build/server/app/dashboard/skills.rsc +8 -8
  561. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +8 -8
  562. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +8 -8
  563. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  564. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  565. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +7 -7
  566. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +7 -7
  567. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +7 -7
  568. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  569. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  570. package/app/.next-cli-build/server/app/dashboard/translator.rsc +8 -8
  571. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +8 -8
  572. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +8 -8
  573. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  574. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  575. package/app/.next-cli-build/server/app/dashboard/usage.rsc +8 -8
  576. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +8 -8
  577. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +8 -8
  578. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  579. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  580. package/app/.next-cli-build/server/app/dashboard.rsc +8 -8
  581. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +8 -8
  582. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +8 -8
  583. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  584. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  585. package/app/.next-cli-build/server/app/index.html +1 -1
  586. package/app/.next-cli-build/server/app/index.rsc +6 -6
  587. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +6 -6
  588. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +6 -6
  589. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  590. package/app/.next-cli-build/server/app/landing/page.js +1 -1
  591. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  592. package/app/.next-cli-build/server/app/landing.html +1 -1
  593. package/app/.next-cli-build/server/app/landing.rsc +6 -6
  594. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +6 -6
  595. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  596. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +6 -6
  597. package/app/.next-cli-build/server/app/login/page.js +1 -1
  598. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  599. package/app/.next-cli-build/server/app/login.html +1 -1
  600. package/app/.next-cli-build/server/app/login.rsc +7 -7
  601. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +7 -7
  602. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  603. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +7 -7
  604. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  605. package/app/.next-cli-build/server/app/page.js +1 -1
  606. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  607. package/app/.next-cli-build/server/app-paths-manifest.json +7 -4
  608. package/app/.next-cli-build/server/chunks/2566.js +2 -2
  609. package/app/.next-cli-build/server/chunks/4746.js +1 -1
  610. package/app/.next-cli-build/server/chunks/5210.js +3 -3
  611. package/app/.next-cli-build/server/chunks/6108.js +1 -1
  612. package/app/.next-cli-build/server/chunks/6328.js +1 -1
  613. package/app/.next-cli-build/server/chunks/6811.js +1 -1
  614. package/app/.next-cli-build/server/chunks/6992.js +1 -1
  615. package/app/.next-cli-build/server/chunks/7639.js +1 -1
  616. package/app/.next-cli-build/server/chunks/8352.js +2 -2
  617. package/app/.next-cli-build/server/chunks/8946.js +2 -2
  618. package/app/.next-cli-build/server/functions-config-manifest.json +2 -0
  619. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  620. package/app/.next-cli-build/server/middleware.js +1 -1
  621. package/app/.next-cli-build/server/pages/404.html +1 -1
  622. package/app/.next-cli-build/server/pages/500.html +1 -1
  623. package/app/.next-cli-build/server/prefetch-hints.json +24 -0
  624. package/app/.next-cli-build/static/L_h01kCNsdvHq-NfbF9cq/_buildManifest.js +1 -0
  625. package/app/.next-cli-build/static/chunks/{5263-7e4da67adf06eccf.js → 5263-4d0783ef24c50911.js} +1 -1
  626. package/app/.next-cli-build/static/chunks/7050-a706e6827db952b3.js +1 -0
  627. package/app/.next-cli-build/static/chunks/8500-01a63dafd809e317.js +1 -0
  628. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/api-keys/{page-653c30e1cfc826ad.js → page-a979b53a0e095564.js} +1 -1
  629. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/audit-proxy/page-3f3d666087630a55.js +5 -0
  630. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/{page-756885e39ef00c20.js → page-65c05edc9521c8fc.js} +1 -1
  631. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-1b504e40c85200fe.js → page-0193441bced46de6.js} +1 -1
  632. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/model-profiles/{page-08c194e770f52b58.js → page-7844bf2031454b1c.js} +1 -1
  633. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-5ee83aae55928333.js → page-fd337e41209f4b90.js} +1 -1
  634. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/{page-4639baaf9071ffff.js → page-7f613428dc68ec6e.js} +1 -1
  635. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/{page-c06fac9001a0ff2b.js → page-cc31ec395c8b0116.js} +1 -1
  636. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/{page-7e360930d0ecbe91.js → page-fb3cdf0c2e7742b6.js} +1 -1
  637. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-5016b3d6e5295239.js → page-12700e16781ed896.js} +1 -1
  638. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/{page-82071dc65929d1a2.js → page-f1b6603d564d76e3.js} +1 -1
  639. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-db01b84cc209b4f9.js → page-50c464dc6ec10d2f.js} +1 -1
  640. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/{page-700b671f2e833c31.js → page-82923ad2695bf65f.js} +1 -1
  641. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/page-054e65328f040baf.js +1 -0
  642. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/{page-7e360930d0ecbe91.js → page-fb3cdf0c2e7742b6.js} +1 -1
  643. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/personalcloudprovider/{layout-83fbe505bfd1d46f.js → layout-b6944f78d9c0e80c.js} +1 -1
  644. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/personalcloudprovider/{page-2e31214e45dd5dd7.js → page-89759854090658c5.js} +1 -1
  645. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/personalcloudprovidermonitor/{page-8e723a2203914aed.js → page-ae4159241f66d5fa.js} +1 -1
  646. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/{page-007560f58f9ba8fd.js → page-6c370ee99bad6882.js} +1 -1
  647. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-8619c99c9e76cc49.js → page-951afd9955093a68.js} +1 -1
  648. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-c4bf38103d1317a3.js → page-b264785b8e695d7a.js} +1 -1
  649. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/{page-97e8bd5381f6b48c.js → page-983bcf0c76f9029e.js} +1 -1
  650. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-44cf1f0d3d57fab2.js → page-fafe439299f350bf.js} +1 -1
  651. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/{page-23ecefa1f8d06ab3.js → page-a05ac739ed8f8677.js} +1 -1
  652. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/{page-a96f92cdf7ccaa92.js → page-59d8a02c13292a77.js} +1 -1
  653. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/{page-dc2a0d576213c24f.js → page-9eaf4a3d688f4243.js} +1 -1
  654. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/{page-e814d95a2e7f4fe2.js → page-b4ab0d22383a8303.js} +1 -1
  655. package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-bb6fdba0137a6272.js → layout-43b9cc22f69b564c.js} +1 -1
  656. package/app/.next-cli-build/static/chunks/app/_global-error/page-f5efd20f46cedab1.js +1 -0
  657. package/app/.next-cli-build/static/chunks/app/api/audit-proxy/ca/route-f5efd20f46cedab1.js +1 -0
  658. package/app/.next-cli-build/static/chunks/app/api/audit-proxy/route-f5efd20f46cedab1.js +1 -0
  659. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/test/route-f5efd20f46cedab1.js +1 -0
  660. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/users/route-f5efd20f46cedab1.js +1 -0
  661. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-f5efd20f46cedab1.js +1 -0
  662. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-f5efd20f46cedab1.js +1 -0
  663. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-f5efd20f46cedab1.js +1 -0
  664. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-f5efd20f46cedab1.js +1 -0
  665. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-f5efd20f46cedab1.js +1 -0
  666. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-f5efd20f46cedab1.js +1 -0
  667. package/app/.next-cli-build/static/chunks/app/api/auth/view-mode/route-f5efd20f46cedab1.js +1 -0
  668. package/app/.next-cli-build/static/chunks/app/api/branding/[asset]/route-f5efd20f46cedab1.js +1 -0
  669. package/app/.next-cli-build/static/chunks/app/api/branding/route-f5efd20f46cedab1.js +1 -0
  670. package/app/.next-cli-build/static/chunks/app/api/branding/upload/route-f5efd20f46cedab1.js +1 -0
  671. package/app/.next-cli-build/static/chunks/app/api/cli-model-profiles/cloud-models/route-f5efd20f46cedab1.js +1 -0
  672. package/app/.next-cli-build/static/chunks/app/api/cli-model-profiles/route-f5efd20f46cedab1.js +1 -0
  673. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-f5efd20f46cedab1.js +1 -0
  674. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-f5efd20f46cedab1.js +1 -0
  675. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/autostart/route-f5efd20f46cedab1.js +1 -0
  676. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/prompt-log-db/route-f5efd20f46cedab1.js +1 -0
  677. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/root-ca/route-f5efd20f46cedab1.js +1 -0
  678. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-f5efd20f46cedab1.js +1 -0
  679. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-f5efd20f46cedab1.js +1 -0
  680. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-f5efd20f46cedab1.js +1 -0
  681. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-f5efd20f46cedab1.js +1 -0
  682. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-f5efd20f46cedab1.js +1 -0
  683. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-f5efd20f46cedab1.js +1 -0
  684. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-f5efd20f46cedab1.js +1 -0
  685. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-f5efd20f46cedab1.js +1 -0
  686. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-f5efd20f46cedab1.js +1 -0
  687. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-f5efd20f46cedab1.js +1 -0
  688. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-f5efd20f46cedab1.js +1 -0
  689. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-f5efd20f46cedab1.js +1 -0
  690. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-f5efd20f46cedab1.js +1 -0
  691. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-f5efd20f46cedab1.js +1 -0
  692. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-f5efd20f46cedab1.js +1 -0
  693. package/app/.next-cli-build/static/chunks/app/api/cli-tools/qwen-settings/route-f5efd20f46cedab1.js +1 -0
  694. package/app/.next-cli-build/static/chunks/app/api/cluster/config/route-f5efd20f46cedab1.js +1 -0
  695. package/app/.next-cli-build/static/chunks/app/api/cluster/heartbeat/route-f5efd20f46cedab1.js +1 -0
  696. package/app/.next-cli-build/static/chunks/app/api/cluster/peers/[id]/command/route-f5efd20f46cedab1.js +1 -0
  697. package/app/.next-cli-build/static/chunks/app/api/cluster/peers/[id]/route-f5efd20f46cedab1.js +1 -0
  698. package/app/.next-cli-build/static/chunks/app/api/cluster/peers/route-f5efd20f46cedab1.js +1 -0
  699. package/app/.next-cli-build/static/chunks/app/api/cluster/snapshot/route-f5efd20f46cedab1.js +1 -0
  700. package/app/.next-cli-build/static/chunks/app/api/cluster/sync/route-f5efd20f46cedab1.js +1 -0
  701. package/app/.next-cli-build/static/chunks/app/api/cluster/test/route-f5efd20f46cedab1.js +1 -0
  702. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-f5efd20f46cedab1.js +1 -0
  703. package/app/.next-cli-build/static/chunks/app/api/combos/route-f5efd20f46cedab1.js +1 -0
  704. package/app/.next-cli-build/static/chunks/app/api/dashboard/ai-power-index/route-f5efd20f46cedab1.js +1 -0
  705. package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/ai-models/route-f5efd20f46cedab1.js +1 -0
  706. package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/analyze/route-f5efd20f46cedab1.js +1 -0
  707. package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/route-f5efd20f46cedab1.js +1 -0
  708. package/app/.next-cli-build/static/chunks/app/api/dashboard/combos/route-f5efd20f46cedab1.js +1 -0
  709. package/app/.next-cli-build/static/chunks/app/api/dashboard/endpoint/route-f5efd20f46cedab1.js +1 -0
  710. package/app/.next-cli-build/static/chunks/app/api/dashboard/local-ai-report/route-f5efd20f46cedab1.js +1 -0
  711. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/[id]/route-f5efd20f46cedab1.js +1 -0
  712. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/options/route-f5efd20f46cedab1.js +1 -0
  713. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/route-f5efd20f46cedab1.js +1 -0
  714. package/app/.next-cli-build/static/chunks/app/api/dashboard/routing-topology/config/route-f5efd20f46cedab1.js +1 -0
  715. package/app/.next-cli-build/static/chunks/app/api/dashboard/routing-topology/live/route-f5efd20f46cedab1.js +1 -0
  716. package/app/.next-cli-build/static/chunks/app/api/dashboard/routing-topology/route-f5efd20f46cedab1.js +1 -0
  717. package/app/.next-cli-build/static/chunks/app/api/dashboard/token-saver/route-f5efd20f46cedab1.js +1 -0
  718. package/app/.next-cli-build/static/chunks/app/api/health/route-f5efd20f46cedab1.js +1 -0
  719. package/app/.next-cli-build/static/chunks/app/api/init/route-f5efd20f46cedab1.js +1 -0
  720. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/caveman-test/route-f5efd20f46cedab1.js +1 -0
  721. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/rotate/route-f5efd20f46cedab1.js +1 -0
  722. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-f5efd20f46cedab1.js +1 -0
  723. package/app/.next-cli-build/static/chunks/app/api/keys/route-f5efd20f46cedab1.js +1 -0
  724. package/app/.next-cli-build/static/chunks/app/api/locale/route-f5efd20f46cedab1.js +1 -0
  725. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-f5efd20f46cedab1.js +1 -0
  726. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-f5efd20f46cedab1.js +1 -0
  727. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-f5efd20f46cedab1.js +1 -0
  728. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-f5efd20f46cedab1.js +1 -0
  729. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-f5efd20f46cedab1.js +1 -0
  730. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-f5efd20f46cedab1.js +1 -0
  731. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-f5efd20f46cedab1.js +1 -0
  732. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-f5efd20f46cedab1.js +1 -0
  733. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-f5efd20f46cedab1.js +1 -0
  734. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-f5efd20f46cedab1.js +1 -0
  735. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-f5efd20f46cedab1.js +1 -0
  736. package/app/.next-cli-build/static/chunks/app/api/models/route-f5efd20f46cedab1.js +1 -0
  737. package/app/.next-cli-build/static/chunks/app/api/models/test/route-f5efd20f46cedab1.js +1 -0
  738. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-f5efd20f46cedab1.js +1 -0
  739. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-f5efd20f46cedab1.js +1 -0
  740. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-f5efd20f46cedab1.js +1 -0
  741. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-f5efd20f46cedab1.js +1 -0
  742. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-f5efd20f46cedab1.js +1 -0
  743. package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/device-code/route-f5efd20f46cedab1.js +1 -0
  744. package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/poll/route-f5efd20f46cedab1.js +1 -0
  745. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-f5efd20f46cedab1.js +1 -0
  746. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-f5efd20f46cedab1.js +1 -0
  747. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-f5efd20f46cedab1.js +1 -0
  748. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-f5efd20f46cedab1.js +1 -0
  749. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-f5efd20f46cedab1.js +1 -0
  750. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/api-key-models/route-f5efd20f46cedab1.js +1 -0
  751. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/import-models/route-f5efd20f46cedab1.js +1 -0
  752. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/models/[...routeModel]/route-f5efd20f46cedab1.js +1 -0
  753. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/move/route-f5efd20f46cedab1.js +1 -0
  754. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/route-f5efd20f46cedab1.js +1 -0
  755. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/usage/route-f5efd20f46cedab1.js +1 -0
  756. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/client/route-f5efd20f46cedab1.js +1 -0
  757. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/monitor/route-f5efd20f46cedab1.js +1 -0
  758. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/permissions/route-f5efd20f46cedab1.js +1 -0
  759. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/route-f5efd20f46cedab1.js +1 -0
  760. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/routing/route-f5efd20f46cedab1.js +1 -0
  761. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/shares/route-f5efd20f46cedab1.js +1 -0
  762. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/visibility/route-f5efd20f46cedab1.js +1 -0
  763. package/app/.next-cli-build/static/chunks/app/api/pricing/catalog/route-f5efd20f46cedab1.js +1 -0
  764. package/app/.next-cli-build/static/chunks/app/api/pricing/recalculate/route-f5efd20f46cedab1.js +1 -0
  765. package/app/.next-cli-build/static/chunks/app/api/pricing/route-f5efd20f46cedab1.js +1 -0
  766. package/app/.next-cli-build/static/chunks/app/api/provider-health/route-f5efd20f46cedab1.js +1 -0
  767. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-f5efd20f46cedab1.js +1 -0
  768. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/openai-compatible/manage/route-f5efd20f46cedab1.js +1 -0
  769. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-f5efd20f46cedab1.js +1 -0
  770. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-f5efd20f46cedab1.js +1 -0
  771. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-f5efd20f46cedab1.js +1 -0
  772. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-f5efd20f46cedab1.js +1 -0
  773. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-f5efd20f46cedab1.js +1 -0
  774. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-f5efd20f46cedab1.js +1 -0
  775. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-f5efd20f46cedab1.js +1 -0
  776. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-f5efd20f46cedab1.js +1 -0
  777. package/app/.next-cli-build/static/chunks/app/api/providers/route-f5efd20f46cedab1.js +1 -0
  778. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-f5efd20f46cedab1.js +1 -0
  779. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-f5efd20f46cedab1.js +1 -0
  780. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-f5efd20f46cedab1.js +1 -0
  781. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-f5efd20f46cedab1.js +1 -0
  782. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-f5efd20f46cedab1.js +1 -0
  783. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-f5efd20f46cedab1.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-f5efd20f46cedab1.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-f5efd20f46cedab1.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-f5efd20f46cedab1.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/[id]/route-f5efd20f46cedab1.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/ai-models/route-f5efd20f46cedab1.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/analyze/route-f5efd20f46cedab1.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/history/route-f5efd20f46cedab1.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/route-f5efd20f46cedab1.js +1 -0
  792. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-f5efd20f46cedab1.js +1 -0
  793. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-f5efd20f46cedab1.js +1 -0
  794. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-f5efd20f46cedab1.js +1 -0
  795. package/app/.next-cli-build/static/chunks/app/api/settings/route-f5efd20f46cedab1.js +1 -0
  796. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-f5efd20f46cedab1.js +1 -0
  797. package/app/.next-cli-build/static/chunks/app/api/tags/route-f5efd20f46cedab1.js +1 -0
  798. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-f5efd20f46cedab1.js +1 -0
  799. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-f5efd20f46cedab1.js +1 -0
  800. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-f5efd20f46cedab1.js +1 -0
  801. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-f5efd20f46cedab1.js +1 -0
  802. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-f5efd20f46cedab1.js +1 -0
  803. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-f5efd20f46cedab1.js +1 -0
  804. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-f5efd20f46cedab1.js +1 -0
  805. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-f5efd20f46cedab1.js +1 -0
  806. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-f5efd20f46cedab1.js +1 -0
  807. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-f5efd20f46cedab1.js +1 -0
  808. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-f5efd20f46cedab1.js +1 -0
  809. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-f5efd20f46cedab1.js +1 -0
  810. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-f5efd20f46cedab1.js +1 -0
  811. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-login/route-f5efd20f46cedab1.js +1 -0
  812. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-start-daemon/route-f5efd20f46cedab1.js +1 -0
  813. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-f5efd20f46cedab1.js +1 -0
  814. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-f5efd20f46cedab1.js +1 -0
  815. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-f5efd20f46cedab1.js +1 -0
  816. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-f5efd20f46cedab1.js +1 -0
  817. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-f5efd20f46cedab1.js +1 -0
  818. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-f5efd20f46cedab1.js +1 -0
  819. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-f5efd20f46cedab1.js +1 -0
  820. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-f5efd20f46cedab1.js +1 -0
  821. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-f5efd20f46cedab1.js +1 -0
  822. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-f5efd20f46cedab1.js +1 -0
  823. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-f5efd20f46cedab1.js +1 -0
  824. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-f5efd20f46cedab1.js +1 -0
  825. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-f5efd20f46cedab1.js +1 -0
  826. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-f5efd20f46cedab1.js +1 -0
  827. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-f5efd20f46cedab1.js +1 -0
  828. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-f5efd20f46cedab1.js +1 -0
  829. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-f5efd20f46cedab1.js +1 -0
  830. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-f5efd20f46cedab1.js +1 -0
  831. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-f5efd20f46cedab1.js +1 -0
  832. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-f5efd20f46cedab1.js +1 -0
  833. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-f5efd20f46cedab1.js +1 -0
  834. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-f5efd20f46cedab1.js +1 -0
  835. package/app/.next-cli-build/static/chunks/app/api/v1/route-f5efd20f46cedab1.js +1 -0
  836. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-f5efd20f46cedab1.js +1 -0
  837. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-f5efd20f46cedab1.js +1 -0
  838. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-f5efd20f46cedab1.js +1 -0
  839. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-f5efd20f46cedab1.js +1 -0
  840. package/app/.next-cli-build/static/chunks/app/api/version/restart/route-f5efd20f46cedab1.js +1 -0
  841. package/app/.next-cli-build/static/chunks/app/api/version/route-f5efd20f46cedab1.js +1 -0
  842. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-f5efd20f46cedab1.js +1 -0
  843. package/app/.next-cli-build/static/chunks/app/api/version/update/route-f5efd20f46cedab1.js +1 -0
  844. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-f5efd20f46cedab1.js +1 -0
  845. package/app/.next-cli-build/static/chunks/app/page-f5efd20f46cedab1.js +1 -0
  846. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-f5efd20f46cedab1.js +1 -0
  847. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-f5efd20f46cedab1.js +1 -0
  848. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-f5efd20f46cedab1.js +1 -0
  849. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-f5efd20f46cedab1.js +1 -0
  850. package/app/.next-cli-build/static/css/150584b47405f066.css +1 -0
  851. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-5.3.40-to-5.3.41-5.3.41-20260821-072821 → upgrade-5.3.46-to-5.3.47-5.3.47-20260822-172255}/data.sqlite +0 -0
  852. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite +0 -0
  853. package/app/package.json +1 -1
  854. package/package.json +1 -1
  855. package/app/.next-cli-build/static/WzpaETe2CHJPwZBBssQBx/_buildManifest.js +0 -1
  856. package/app/.next-cli-build/static/chunks/1997-ec155690a9441b82.js +0 -1
  857. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/page-df910327664404cc.js +0 -1
  858. package/app/.next-cli-build/static/chunks/app/_global-error/page-1ae9897b4a00731e.js +0 -1
  859. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/test/route-1ae9897b4a00731e.js +0 -1
  860. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/users/route-1ae9897b4a00731e.js +0 -1
  861. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-1ae9897b4a00731e.js +0 -1
  862. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-1ae9897b4a00731e.js +0 -1
  863. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-1ae9897b4a00731e.js +0 -1
  864. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-1ae9897b4a00731e.js +0 -1
  865. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-1ae9897b4a00731e.js +0 -1
  866. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-1ae9897b4a00731e.js +0 -1
  867. package/app/.next-cli-build/static/chunks/app/api/auth/view-mode/route-1ae9897b4a00731e.js +0 -1
  868. package/app/.next-cli-build/static/chunks/app/api/branding/[asset]/route-1ae9897b4a00731e.js +0 -1
  869. package/app/.next-cli-build/static/chunks/app/api/branding/route-1ae9897b4a00731e.js +0 -1
  870. package/app/.next-cli-build/static/chunks/app/api/branding/upload/route-1ae9897b4a00731e.js +0 -1
  871. package/app/.next-cli-build/static/chunks/app/api/cli-model-profiles/cloud-models/route-1ae9897b4a00731e.js +0 -1
  872. package/app/.next-cli-build/static/chunks/app/api/cli-model-profiles/route-1ae9897b4a00731e.js +0 -1
  873. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-1ae9897b4a00731e.js +0 -1
  874. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-1ae9897b4a00731e.js +0 -1
  875. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/autostart/route-1ae9897b4a00731e.js +0 -1
  876. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/prompt-log-db/route-1ae9897b4a00731e.js +0 -1
  877. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/root-ca/route-1ae9897b4a00731e.js +0 -1
  878. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-1ae9897b4a00731e.js +0 -1
  879. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-1ae9897b4a00731e.js +0 -1
  880. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-1ae9897b4a00731e.js +0 -1
  881. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-1ae9897b4a00731e.js +0 -1
  882. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-1ae9897b4a00731e.js +0 -1
  883. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-1ae9897b4a00731e.js +0 -1
  884. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-1ae9897b4a00731e.js +0 -1
  885. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-1ae9897b4a00731e.js +0 -1
  886. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-1ae9897b4a00731e.js +0 -1
  887. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-1ae9897b4a00731e.js +0 -1
  888. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-1ae9897b4a00731e.js +0 -1
  889. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-1ae9897b4a00731e.js +0 -1
  890. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-1ae9897b4a00731e.js +0 -1
  891. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-1ae9897b4a00731e.js +0 -1
  892. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-1ae9897b4a00731e.js +0 -1
  893. package/app/.next-cli-build/static/chunks/app/api/cli-tools/qwen-settings/route-1ae9897b4a00731e.js +0 -1
  894. package/app/.next-cli-build/static/chunks/app/api/cluster/config/route-1ae9897b4a00731e.js +0 -1
  895. package/app/.next-cli-build/static/chunks/app/api/cluster/heartbeat/route-1ae9897b4a00731e.js +0 -1
  896. package/app/.next-cli-build/static/chunks/app/api/cluster/peers/[id]/command/route-1ae9897b4a00731e.js +0 -1
  897. package/app/.next-cli-build/static/chunks/app/api/cluster/peers/[id]/route-1ae9897b4a00731e.js +0 -1
  898. package/app/.next-cli-build/static/chunks/app/api/cluster/peers/route-1ae9897b4a00731e.js +0 -1
  899. package/app/.next-cli-build/static/chunks/app/api/cluster/snapshot/route-1ae9897b4a00731e.js +0 -1
  900. package/app/.next-cli-build/static/chunks/app/api/cluster/sync/route-1ae9897b4a00731e.js +0 -1
  901. package/app/.next-cli-build/static/chunks/app/api/cluster/test/route-1ae9897b4a00731e.js +0 -1
  902. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-1ae9897b4a00731e.js +0 -1
  903. package/app/.next-cli-build/static/chunks/app/api/combos/route-1ae9897b4a00731e.js +0 -1
  904. package/app/.next-cli-build/static/chunks/app/api/dashboard/ai-power-index/route-1ae9897b4a00731e.js +0 -1
  905. package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/ai-models/route-1ae9897b4a00731e.js +0 -1
  906. package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/analyze/route-1ae9897b4a00731e.js +0 -1
  907. package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/route-1ae9897b4a00731e.js +0 -1
  908. package/app/.next-cli-build/static/chunks/app/api/dashboard/combos/route-1ae9897b4a00731e.js +0 -1
  909. package/app/.next-cli-build/static/chunks/app/api/dashboard/endpoint/route-1ae9897b4a00731e.js +0 -1
  910. package/app/.next-cli-build/static/chunks/app/api/dashboard/local-ai-report/route-1ae9897b4a00731e.js +0 -1
  911. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/[id]/route-1ae9897b4a00731e.js +0 -1
  912. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/options/route-1ae9897b4a00731e.js +0 -1
  913. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/route-1ae9897b4a00731e.js +0 -1
  914. package/app/.next-cli-build/static/chunks/app/api/dashboard/routing-topology/config/route-1ae9897b4a00731e.js +0 -1
  915. package/app/.next-cli-build/static/chunks/app/api/dashboard/routing-topology/live/route-1ae9897b4a00731e.js +0 -1
  916. package/app/.next-cli-build/static/chunks/app/api/dashboard/routing-topology/route-1ae9897b4a00731e.js +0 -1
  917. package/app/.next-cli-build/static/chunks/app/api/dashboard/token-saver/route-1ae9897b4a00731e.js +0 -1
  918. package/app/.next-cli-build/static/chunks/app/api/health/route-1ae9897b4a00731e.js +0 -1
  919. package/app/.next-cli-build/static/chunks/app/api/init/route-1ae9897b4a00731e.js +0 -1
  920. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/caveman-test/route-1ae9897b4a00731e.js +0 -1
  921. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/rotate/route-1ae9897b4a00731e.js +0 -1
  922. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-1ae9897b4a00731e.js +0 -1
  923. package/app/.next-cli-build/static/chunks/app/api/keys/route-1ae9897b4a00731e.js +0 -1
  924. package/app/.next-cli-build/static/chunks/app/api/locale/route-1ae9897b4a00731e.js +0 -1
  925. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-1ae9897b4a00731e.js +0 -1
  926. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-1ae9897b4a00731e.js +0 -1
  927. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-1ae9897b4a00731e.js +0 -1
  928. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-1ae9897b4a00731e.js +0 -1
  929. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-1ae9897b4a00731e.js +0 -1
  930. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-1ae9897b4a00731e.js +0 -1
  931. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-1ae9897b4a00731e.js +0 -1
  932. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-1ae9897b4a00731e.js +0 -1
  933. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-1ae9897b4a00731e.js +0 -1
  934. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-1ae9897b4a00731e.js +0 -1
  935. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-1ae9897b4a00731e.js +0 -1
  936. package/app/.next-cli-build/static/chunks/app/api/models/route-1ae9897b4a00731e.js +0 -1
  937. package/app/.next-cli-build/static/chunks/app/api/models/test/route-1ae9897b4a00731e.js +0 -1
  938. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-1ae9897b4a00731e.js +0 -1
  939. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-1ae9897b4a00731e.js +0 -1
  940. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-1ae9897b4a00731e.js +0 -1
  941. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-1ae9897b4a00731e.js +0 -1
  942. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-1ae9897b4a00731e.js +0 -1
  943. package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/device-code/route-1ae9897b4a00731e.js +0 -1
  944. package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/poll/route-1ae9897b4a00731e.js +0 -1
  945. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-1ae9897b4a00731e.js +0 -1
  946. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-1ae9897b4a00731e.js +0 -1
  947. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-1ae9897b4a00731e.js +0 -1
  948. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-1ae9897b4a00731e.js +0 -1
  949. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-1ae9897b4a00731e.js +0 -1
  950. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/api-key-models/route-1ae9897b4a00731e.js +0 -1
  951. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/import-models/route-1ae9897b4a00731e.js +0 -1
  952. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/models/[...routeModel]/route-1ae9897b4a00731e.js +0 -1
  953. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/move/route-1ae9897b4a00731e.js +0 -1
  954. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/route-1ae9897b4a00731e.js +0 -1
  955. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/usage/route-1ae9897b4a00731e.js +0 -1
  956. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/client/route-1ae9897b4a00731e.js +0 -1
  957. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/monitor/route-1ae9897b4a00731e.js +0 -1
  958. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/permissions/route-1ae9897b4a00731e.js +0 -1
  959. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/route-1ae9897b4a00731e.js +0 -1
  960. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/routing/route-1ae9897b4a00731e.js +0 -1
  961. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/shares/route-1ae9897b4a00731e.js +0 -1
  962. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/visibility/route-1ae9897b4a00731e.js +0 -1
  963. package/app/.next-cli-build/static/chunks/app/api/pricing/catalog/route-1ae9897b4a00731e.js +0 -1
  964. package/app/.next-cli-build/static/chunks/app/api/pricing/recalculate/route-1ae9897b4a00731e.js +0 -1
  965. package/app/.next-cli-build/static/chunks/app/api/pricing/route-1ae9897b4a00731e.js +0 -1
  966. package/app/.next-cli-build/static/chunks/app/api/provider-health/route-1ae9897b4a00731e.js +0 -1
  967. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-1ae9897b4a00731e.js +0 -1
  968. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/openai-compatible/manage/route-1ae9897b4a00731e.js +0 -1
  969. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-1ae9897b4a00731e.js +0 -1
  970. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-1ae9897b4a00731e.js +0 -1
  971. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-1ae9897b4a00731e.js +0 -1
  972. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-1ae9897b4a00731e.js +0 -1
  973. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-1ae9897b4a00731e.js +0 -1
  974. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-1ae9897b4a00731e.js +0 -1
  975. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-1ae9897b4a00731e.js +0 -1
  976. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-1ae9897b4a00731e.js +0 -1
  977. package/app/.next-cli-build/static/chunks/app/api/providers/route-1ae9897b4a00731e.js +0 -1
  978. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-1ae9897b4a00731e.js +0 -1
  979. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-1ae9897b4a00731e.js +0 -1
  980. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-1ae9897b4a00731e.js +0 -1
  981. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-1ae9897b4a00731e.js +0 -1
  982. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-1ae9897b4a00731e.js +0 -1
  983. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-1ae9897b4a00731e.js +0 -1
  984. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-1ae9897b4a00731e.js +0 -1
  985. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-1ae9897b4a00731e.js +0 -1
  986. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-1ae9897b4a00731e.js +0 -1
  987. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/[id]/route-1ae9897b4a00731e.js +0 -1
  988. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/ai-models/route-1ae9897b4a00731e.js +0 -1
  989. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/analyze/route-1ae9897b4a00731e.js +0 -1
  990. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/history/route-1ae9897b4a00731e.js +0 -1
  991. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/route-1ae9897b4a00731e.js +0 -1
  992. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-1ae9897b4a00731e.js +0 -1
  993. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-1ae9897b4a00731e.js +0 -1
  994. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-1ae9897b4a00731e.js +0 -1
  995. package/app/.next-cli-build/static/chunks/app/api/settings/route-1ae9897b4a00731e.js +0 -1
  996. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-1ae9897b4a00731e.js +0 -1
  997. package/app/.next-cli-build/static/chunks/app/api/tags/route-1ae9897b4a00731e.js +0 -1
  998. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-1ae9897b4a00731e.js +0 -1
  999. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-1ae9897b4a00731e.js +0 -1
  1000. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-1ae9897b4a00731e.js +0 -1
  1001. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-1ae9897b4a00731e.js +0 -1
  1002. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-1ae9897b4a00731e.js +0 -1
  1003. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-1ae9897b4a00731e.js +0 -1
  1004. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-1ae9897b4a00731e.js +0 -1
  1005. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-1ae9897b4a00731e.js +0 -1
  1006. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-1ae9897b4a00731e.js +0 -1
  1007. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-1ae9897b4a00731e.js +0 -1
  1008. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-1ae9897b4a00731e.js +0 -1
  1009. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-1ae9897b4a00731e.js +0 -1
  1010. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-1ae9897b4a00731e.js +0 -1
  1011. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-login/route-1ae9897b4a00731e.js +0 -1
  1012. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-start-daemon/route-1ae9897b4a00731e.js +0 -1
  1013. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-1ae9897b4a00731e.js +0 -1
  1014. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-1ae9897b4a00731e.js +0 -1
  1015. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-1ae9897b4a00731e.js +0 -1
  1016. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-1ae9897b4a00731e.js +0 -1
  1017. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-1ae9897b4a00731e.js +0 -1
  1018. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-1ae9897b4a00731e.js +0 -1
  1019. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-1ae9897b4a00731e.js +0 -1
  1020. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-1ae9897b4a00731e.js +0 -1
  1021. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-1ae9897b4a00731e.js +0 -1
  1022. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-1ae9897b4a00731e.js +0 -1
  1023. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-1ae9897b4a00731e.js +0 -1
  1024. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-1ae9897b4a00731e.js +0 -1
  1025. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-1ae9897b4a00731e.js +0 -1
  1026. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-1ae9897b4a00731e.js +0 -1
  1027. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-1ae9897b4a00731e.js +0 -1
  1028. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-1ae9897b4a00731e.js +0 -1
  1029. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-1ae9897b4a00731e.js +0 -1
  1030. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-1ae9897b4a00731e.js +0 -1
  1031. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-1ae9897b4a00731e.js +0 -1
  1032. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-1ae9897b4a00731e.js +0 -1
  1033. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-1ae9897b4a00731e.js +0 -1
  1034. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-1ae9897b4a00731e.js +0 -1
  1035. package/app/.next-cli-build/static/chunks/app/api/v1/route-1ae9897b4a00731e.js +0 -1
  1036. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-1ae9897b4a00731e.js +0 -1
  1037. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-1ae9897b4a00731e.js +0 -1
  1038. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-1ae9897b4a00731e.js +0 -1
  1039. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-1ae9897b4a00731e.js +0 -1
  1040. package/app/.next-cli-build/static/chunks/app/api/version/restart/route-1ae9897b4a00731e.js +0 -1
  1041. package/app/.next-cli-build/static/chunks/app/api/version/route-1ae9897b4a00731e.js +0 -1
  1042. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-1ae9897b4a00731e.js +0 -1
  1043. package/app/.next-cli-build/static/chunks/app/api/version/update/route-1ae9897b4a00731e.js +0 -1
  1044. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-1ae9897b4a00731e.js +0 -1
  1045. package/app/.next-cli-build/static/chunks/app/page-1ae9897b4a00731e.js +0 -1
  1046. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-1ae9897b4a00731e.js +0 -1
  1047. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-1ae9897b4a00731e.js +0 -1
  1048. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-1ae9897b4a00731e.js +0 -1
  1049. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-1ae9897b4a00731e.js +0 -1
  1050. package/app/.next-cli-build/static/css/b5abfe9c2085ba8e.css +0 -1
  1051. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/upgrade-5.3.41-to-5.3.43-5.3.43-20260822-131146/data.sqlite +0 -0
  1052. /package/app/.next-cli-build/static/{WzpaETe2CHJPwZBBssQBx → L_h01kCNsdvHq-NfbF9cq}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- "use strict";(()=>{var a={};a.id=2752,a.ids=[2752],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{a.exports=require("node:perf_hooks")},1708:a=>{a.exports=require("node:process")},1900:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>j,POST:()=>k,dynamic:()=>l,maxDuration:()=>m});var e=c(23211),f=c(9588),g=c(62763),h=c(58664),i=a([h]);h=(i.then?(await i)():i)[0];let l="force-dynamic",m=180;async function j(a){let{response:b}=await (0,f.hH)();if(b)return b;let c=(0,h.L)(new URL(a.url).searchParams.get("period")),d=await (0,h.dT)(c);return e.NextResponse.json({...d,standby:await (0,g.WR)()},{headers:{"Cache-Control":"no-store"}})}async function k(a){let{access:b,response:c}=await (0,f.hH)();if(c)return c;if(await (0,g.WR)())return e.NextResponse.json({error:"Node đang ở chế độ Standby. H\xe3y tạo b\xe1o c\xe1o tr\xean Master; kết quả sẽ được đồng bộ qua settings."},{status:409});let d={};try{d=await a.json()}catch{d={}}let i=String(d.connectionId||"").trim(),j=String(d.model||"").trim(),k=i&&j?`${i}::${j}`:"",l=(0,h.L)(d.period);try{let a=await (0,h.F0)(k,{requestedBy:b.displayName,period:l});return e.NextResponse.json({report:a},{headers:{"Cache-Control":"no-store"}})}catch(a){return console.error("[local-ai-report] Failed to generate report:",a),e.NextResponse.json({error:a?.message||"Kh\xf4ng thể tạo b\xe1o c\xe1o Local AI"},{status:500})}}d()}catch(a){d(a)}})},1932:a=>{a.exports=require("url")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{a.exports=require("node:buffer")},7066:a=>{a.exports=require("node:tty")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},9588:(a,b,c)=>{c.d(b,{Cy:()=>i,I8:()=>k,Tv:()=>v,UX:()=>p,aV:()=>o,bz:()=>r,hH:()=>u,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)}},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},17509:(a,b,c)=>{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=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19225:(a,b,c)=>{a.exports=c(44870)},19771:a=>{a.exports=require("process")},21820:a=>{a.exports=require("os")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30869:(a,b,c)=>{c.d(b,{UY:()=>h,X3:()=>i,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g});var d=c(39006),e=c(75681),f=c(81329);d.rE;let g={npmPackageName:"@jheavenknows/bluerouter",installCmd:"npm i -g @jheavenknows/bluerouter",installCmdLatest:"npm install -g @jheavenknows/bluerouter@latest",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20128},h={maxLines:200,pollIntervalMs:1e3},i={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","alims-intl":"https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions","vercel-ai-gateway":"https://ai-gateway.vercel.sh/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat"}},31421:a=>{a.exports=require("node:child_process")},32467:a=>{a.exports=require("node:http2")},33792:(a,b,c)=>{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=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},34631:a=>{a.exports=require("tls")},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},40610:a=>{a.exports=require("node:dns")},41204:a=>{a.exports=require("string_decoder")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},44966:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>z,patchFetch:()=>y,routeModule:()=>u,serverHooks:()=>x,workAsyncStorage:()=>v,workUnitAsyncStorage:()=>w});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(37527);let u=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/dashboard/local-ai-report/route",pathname:"/api/dashboard/local-ai-report",filename:"route",bundlePath:"app/api/dashboard/local-ai-report/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"D:\\bluerouter\\src\\app\\api\\dashboard\\local-ai-report\\route.js",nextConfigOutput:"standalone",userland:()=>c(1900),...{}}),{workAsyncStorage:v,workUnitAsyncStorage:w,serverHooks:x}=u;function y(){return(0,f.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:w})}async function z(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),u.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/dashboard/local-ai-report/route";"/index"===d&&(d="/");let f=await u.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:v,deploymentId:w,params:x,nextConfig:y,parsedUrl:z,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=f,I=(0,j.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,z,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(y.adapterPath)return await K();throw new s.NoFallbackError}}let L=null;!J||u.isDev||A||(L="/index"===(L=F)?"/":L);let M=!0===u.isDev||!J,N=J&&!M;H&&G&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,h.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,g.getRequestMeta)(a,"minimalMode"),T=(0,g.getRequestMeta)(a,"incrementalCache")||await u.getIncrementalCache(a,y,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:x,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts,useCacheTimeout:y.experimental.useCacheTimeout},cacheComponents:!!y.cacheComponents,validationLevel:y.experimental.instantInsights.validationLevel,supportsDynamicResponse:M,incrementalCache:T,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:y.cacheLife,staticPageGenerationTimeout:y.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>u.onRequestError(a,b,d,e,C)},sharedContext:{buildId:v,deploymentId:w}},V=new k.NodeNextRequest(a),W=new k.NodeNextResponse(b),X=l.NextRequestAdapter.fromNodeNextRequest(V,(0,l.signalFromNodeResponse)(b)),Y=async({previousCacheEntry:e})=>{try{if(!S&&D&&E&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await u.handle(X,U);a.fetchMetrics=U.renderOpts.fetchMetrics;let f=U.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=U.renderOpts.collectedTags;if(!J)return await (0,o.I)(V,W,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?y.expireTime:void 0:U.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await u.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},Z=async(d,f)=>{try{var g,i;let d=await u.handleResponse({req:a,nextConfig:y,cacheKey:L,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:Y,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);S&&J||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(V,W,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await u.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;await (0,o.I)(V,W,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||I,g=`${O} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(R&&Q)await Z(Q,void 0);else{let b=P.getActiveScopeSpan();await P.withPropagatedContext(a.headers,()=>P.trace(m.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},a=>Z(a,b)),void 0,!R)}}},46293:a=>{a.exports=require("sql.js")},48161:a=>{a.exports=require("node:os")},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},58664:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{F0:()=>v,L:()=>l,dT:()=>w});var e=c(55511),f=c.n(e),g=c(73882),h=c(38360),i=c(89718),j=c(28919),k=a([g]);g=(k.then?(await k)():k)[0];let x="Asia/Ho_Chi_Minh",y={"7d":{days:7,label:"7 ng\xe0y",rollingKey:"rolling_7_days",settingsKey:"dashboardLocalAi7dReport"},"30d":{days:30,label:"30 ng\xe0y",rollingKey:"rolling_30_days",settingsKey:"dashboardLocalAi30dReport"}};function l(a){let b=String(a||"").trim();return Object.prototype.hasOwnProperty.call(y,b)?b:"7d"}function m(a){let b=l(a);return{period:b,...y[b]}}function n(a,b=240){let c=String(a??"").replace(/[\u0000-\u001f\u007f]+/g," ").replace(/\s+/g," ").trim();return c.length>b?`${c.slice(0,Math.max(0,b-1))}…`:c}function o(a,b=0){let c=Number(a);return Number.isFinite(c)?c:b}function p(a,b){let c=o(a,0),d=o(b,0);return d>0?c/d:0}function q(a,b=2){let c=10**b;return Math.round(o(a,0)*c)/c}function r(a,b=x){let c=new Date(a);if(Number.isNaN(c.getTime()))return"unknown";let d=new Intl.DateTimeFormat("en-CA",{timeZone:b,year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(c),e=Object.fromEntries(d.map(a=>[a.type,a.value]));return`${e.year}-${e.month}-${e.day}`}async function s(){return(await (0,i.Fh)()).filter(a=>"openai-compatible"===a.type&&"vllm"===a.openAICompatibleRuntime).map(a=>({id:n(a.id),name:n(a.name||a.id),type:a.type,runtime:a.openAICompatibleRuntime,baseUrl:n(a.baseUrl||a.openAICompatibleBaseUrl||a.url,300),enabled:!1!==a.enabled})).filter(a=>a.id)}function t(a=[],b=12){return a.slice(0,b).map(a=>({label:n(a.label,180),requests:o(a.requests),faultOwner:n(a.faultOwner),status:n(a.status),errorType:n(a.errorType),errorCode:n(a.errorCode),errorSource:n(a.errorSource),provider:n(a.provider),model:n(a.model),endpoint:n(a.endpoint,180),sample:n(a.sampleMessage||a.sample,200),lastSeen:a.lastSeen||null}))}function u(a=[],b=12){return a.slice(0,b).map(a=>({timestamp:a.timestamp||null,provider:n(a.provider),providerLabel:n(a.providerLabel||a.provider),model:n(a.model),sourceTool:n(a.sourceToolLabel||a.sourceTool),endpoint:n(a.endpoint,180),promptTokens:o(a.promptTokens),completionTokens:o(a.completionTokens),cachedTokens:o(a.cachedTokens),reasoningTokens:o(a.reasoningTokens),latencyMs:null==a.latencyMs?null:o(a.latencyMs),ttftMs:null==a.ttftMs?null:o(a.ttftMs),status:n(a.status)}))}async function v(a,{requestedBy:b="Admin",period:c="7d"}={}){let d,e=m(c),k=await s(),l=k.map(a=>a.id),[w,y]=await Promise.all([(0,j.HI)(),(0,i.mt)()]),z=function(a=[]){return a.map(a=>{let b=a.lastStatus||{};return{id:a.id,name:n(a.name||b.hostname||a.host||a.id),host:n(a.host),hostname:n(b.hostname),enabled:!1!==a.enabled,reachable:!!(b.ok&&a.lastStatus),statusAt:a.lastStatusAt||b.updatedAt||null,error:n(a.lastError,500)||null,os:n(b.os),kernel:n(b.kernel),cpu:{model:n(b.cpu?.model),cores:o(b.cpu?.cores),usagePercent:o(b.cpu?.usagePercent),load1:o(b.cpu?.load1),load5:o(b.cpu?.load5),load15:o(b.cpu?.load15)},memory:{totalBytes:o(b.memory?.totalBytes),usedBytes:o(b.memory?.usedBytes),usagePercent:o(b.memory?.usagePercent),swapTotalBytes:o(b.memory?.swapTotalBytes),swapUsedBytes:o(b.memory?.swapUsedBytes)},gpus:(b.gpus||[]).map(a=>({index:o(a.index),name:n(a.name||"NVIDIA GPU"),driverVersion:n(a.driverVersion),memoryTotalMb:o(a.memoryTotalMb),memoryUsedMb:o(a.memoryUsedMb),memoryUsagePercent:o(a.memoryUsagePercent),usagePercent:o(a.usagePercent),temperatureC:null==a.temperatureC?null:o(a.temperatureC),powerDrawW:null==a.powerDrawW?null:o(a.powerDrawW),powerLimitW:null==a.powerLimitW?null:o(a.powerLimitW)}))}})}(w);if(l.length)d=await (0,h.b2)({period:e.period,timeZone:x,providerIds:l,skipPromptLogs:!0});else{let a=new Date,b=new Date(a.getTime()-24*e.days*36e5);d={generatedAt:a.toISOString(),analyticsVersion:"no-local-provider",filters:{period:e.period,timeZone:x,startIso:b.toISOString(),endIso:a.toISOString()},overview:{},experience:{},groups:{},timeSeries:[],thinkingAnalytics:{},largeContextAnalytics:{},requestErrors:{disabled:!0},clientRequests:{},heavyRequests:[]}}let A=function({analytics:a,providers:b,hardware:c,requestedBy:d,period:e}){var g;let h,i,j,k,l,s,v,w=m(e),y=a.overview||{},z=a.experience||{},A=a.requestErrors||{},B=function(a={}){let b=a.groups?.models||[],c=a.experience?.byModel||[],d=a.thinkingAnalytics?.byModel||[],e=new Map(c.map(a=>[`${a.provider}|${a.model}`,a])),f=new Map(d.map(a=>[`${a.provider}|${a.model}`,a]));return b.map(b=>{let c=`${b.provider}|${b.model}`,d=e.get(c)||{},g=f.get(c)||{},h=o(b.requests);return{key:c,provider:n(b.provider),providerLabel:n(b.providerLabel||b.provider),model:n(b.model),requests:h,trafficShare:p(h,a.overview?.requests),success:o(b.success),errors:o(b.errors),errorRate:o(b.errorRate),promptTokens:o(b.promptTokens),completionTokens:o(b.completionTokens),totalTokens:o(b.totalTokens),cachedTokens:o(b.cachedTokens),cacheShare:p(b.cachedTokens,b.promptTokens),reasoningTokens:o(b.reasoningTokens),reasoningShare:p(b.reasoningTokens,b.completionTokens),cost:o(b.cost),samples:o(d.samples),score:null==d.score?null:o(d.score),qualityLabel:n(d.labelQuality||d.label),avgLatencyMs:null==d.avgLatencyMs?null:o(d.avgLatencyMs),p50LatencyMs:null==d.p50LatencyMs?null:o(d.p50LatencyMs),p95LatencyMs:null==d.p95LatencyMs?null:o(d.p95LatencyMs),maxLatencyMs:null==d.maxLatencyMs?null:o(d.maxLatencyMs),avgTtftMs:null==d.avgTtftMs?null:o(d.avgTtftMs),p95TtftMs:null==d.p95TtftMs?null:o(d.p95TtftMs),maxTtftMs:null==d.maxTtftMs?null:o(d.maxTtftMs),outputTokensPerSecond:null==d.outputTokensPerSecond?null:o(d.outputTokensPerSecond),avgPromptTokens:o(d.avgPromptTokens||b.avgPromptTokens),p95PromptTokens:o(d.p95PromptTokens),maxPromptTokens:o(d.maxPromptTokens),avgCompletionTokens:o(d.avgCompletionTokens||b.avgCompletionTokens),slowRequests:o(d.slowRequests),slowRequestRate:o(d.slowRequestRate),slowTtftRate:o(d.slowTtftRate),longInputRate:o(d.longInputRate),hugeInputRate:o(d.hugeInputRate),thinkingOnRequests:o(g.thinkingOnRequests),thinkingOffRequests:o(g.thinkingOffRequests),autoOffRequests:o(g.autoOffRequests),autoOffRate:o(g.autoOffRate),sampleQuality:h>=100?"high":h>=20?"medium":"low"}}).sort((a,b)=>b.requests-a.requests||b.totalTokens-a.totalTokens)}(a),C=function(a=[],b,c,d=8){let e=new Map,f=new Date(b),g=new Date(c);if(!Number.isNaN(f.getTime())&&!Number.isNaN(g.getTime())){let a=new Date(f);for(a.setUTCHours(12,0,0,0);a<=g;){let b=r(a);e.has(b)||e.set(b,{date:b,requests:0,success:0,errors:0,promptTokens:0,completionTokens:0,totalTokens:0,cachedTokens:0,reasoningTokens:0,cost:0}),a.setUTCDate(a.getUTCDate()+1)}}for(let b of a||[]){let a=r(b.label||b.ts),c=e.get(a)||{date:a,requests:0,success:0,errors:0,promptTokens:0,completionTokens:0,totalTokens:0,cachedTokens:0,reasoningTokens:0,cost:0};for(let a of["requests","success","errors","promptTokens","completionTokens","totalTokens","cachedTokens","reasoningTokens","cost"])c[a]+=o(b[a]);e.set(a,c)}return[...e.values()].sort((a,b)=>a.date.localeCompare(b.date)).slice(-Math.max(1,o(d,8))).map(a=>({...a,errorRate:p(a.errors,a.requests)}))}(a.timeSeries,a.filters?.startIso,a.filters?.endIso,w.days+1),D={requests:o(y.requests),success:o(y.success),errors:o(y.errors),pending:o(y.pending),successRate:p(y.success,y.requests),errorRate:o(y.errorRate),serverErrorRate:o(y.serverErrorRate),clientErrorRate:o(y.clientErrorRate),rateLimitErrorRate:o(y.rateLimitErrorRate),gatewayErrorEvents:o(y.gatewayErrorEvents),upstreamErrorEvents:o(y.upstreamErrorEvents),clientErrorEvents:o(y.clientErrorEvents),rateLimitErrorEvents:o(y.rateLimitErrorEvents),promptTokens:o(y.promptTokens),completionTokens:o(y.completionTokens),totalTokens:o(y.totalTokens),cachedTokens:o(y.cachedTokens),cacheShare:p(y.cachedTokens,y.promptTokens),reasoningTokens:o(y.reasoningTokens),reasoningShare:p(y.reasoningTokens,y.completionTokens),averageTokensPerRequest:p(y.totalTokens,y.requests),cost:o(y.cost),requestsPerMinute:o(y.requestsPerMinute),tokensPerMinute:o(y.tokensPerMinute),activeProviders:o(y.activeProviders),activeModels:o(y.activeModels),activeApiKeys:o(y.activeApiKeys),activeEndpoints:o(y.activeEndpoints)},E={id:f().randomUUID(),schemaVersion:"local-ai-report-v1",generatedAt:new Date().toISOString(),requestedBy:n(d||"Admin"),range:{period:w.period,label:w.label,days:w.days,rollingKey:w.rollingKey,timeZone:x,startIso:a.filters?.startIso||null,endIso:a.filters?.endIso||null},analyticsVersion:a.analyticsVersion||"unknown",computeMs:o(a.computeMs),providers:b,overview:D,experience:{samples:o(z.samples),score:null==z.score?null:o(z.score),label:n(z.label),avgLatencyMs:null==z.avgLatencyMs?null:o(z.avgLatencyMs),p50LatencyMs:null==z.p50LatencyMs?null:o(z.p50LatencyMs),p95LatencyMs:null==z.p95LatencyMs?null:o(z.p95LatencyMs),p99LatencyMs:null==z.p99LatencyMs?null:o(z.p99LatencyMs),avgTtftMs:null==z.avgTtftMs?null:o(z.avgTtftMs),p50TtftMs:null==z.p50TtftMs?null:o(z.p50TtftMs),p95TtftMs:null==z.p95TtftMs?null:o(z.p95TtftMs),p99TtftMs:null==z.p99TtftMs?null:o(z.p99TtftMs),decodeTokensPerSecond:null==z.decodeTokensPerSecond?null:o(z.decodeTokensPerSecond),outputTokensPerSecond:null==z.outputTokensPerSecond?null:o(z.outputTokensPerSecond),latencyMsPer10kInputTokens:null==z.latencyMsPer10kInputTokens?null:o(z.latencyMsPer10kInputTokens),slowRequestRate:o(z.slowRequestRate),verySlowRequestRate:o(z.verySlowRequestRate),slowTtftRate:o(z.slowTtftRate),longInputRate:o(z.longInputRate),hugeInputRate:o(z.hugeInputRate),extremeInputRate:o(z.extremeInputRate)},models:B,daily:C,contextAndThinking:{thinking:a.thinkingAnalytics||{},largeContext:a.largeContextAnalytics||{}},errors:{disabled:!0===A.disabled,total:o(A.total),summary:A.summary||{},topServerErrors:t(A.topServerErrors),topClientErrors:t(A.topClientErrors,8),topRateLimitErrors:t(A.topRateLimitErrors,8),byStatusCode:(A.byStatusCode||[]).slice(0,10).map(a=>({label:n(a.label),requests:o(a.requests)})),byErrorType:(A.byErrorType||[]).slice(0,10).map(a=>({label:n(a.label),requests:o(a.requests)}))},workload:function(a={}){let b=a.groups||{},c=a.clientRequests||{},d=b=>({key:n(b.key),label:n(b.label||b.name||b.key),requests:o(b.requests),totalTokens:o(b.totalTokens),errorRate:o(b.errorRate),trafficShare:p(b.requests,a.overview?.requests),tokenShare:p(b.totalTokens,a.overview?.totalTokens)});return{endpoints:(b.endpoints||[]).slice(0,10).map(d),apiKeys:(b.apiKeys||[]).slice(0,10).map(a=>({...d(a),ownerUser:n(a.ownerUser),fingerprint:n(a.fingerprint)})),heavyUsers:(c.topHeavyUsers||[]).slice(0,10).map(a=>({label:n(a.label),requests:o(a.requests),totalTokens:o(a.totalTokens),promptTokens:o(a.promptTokens),errorRate:o(a.errorRate),heavyRequests:o(a.heavyRequests),topTools:(a.topTools||[]).slice(0,3).map(a=>n(a.label||a.key))})),topSourceIps:(c.topSourceIpsByTokens||[]).slice(0,10).map(a=>({label:n(a.label),requests:o(a.requests),totalTokens:o(a.totalTokens),heavyRequests:o(a.heavyRequests)})),inputBuckets:(c.inputBuckets||[]).map(a=>({label:n(a.label),requests:o(a.requests),share:o(a.share),totalTokens:o(a.totalTokens)}))}}(a),heavyRequests:u(a.heavyRequests,15),slowestRequests:u(z.slowestRequests,15),hardware:c,dataQuality:[`Analytics local-only được lọc bằng ${b.length} provider ID vLLM ngay tại SQL usageHistory.`,`C\xf3 ${o(z.samples).toLocaleString("vi-VN")} mẫu latency tr\xean ${o(D.requests).toLocaleString("vi-VN")} request.`,A.disabled?"Request-error telemetry hiện kh\xf4ng khả dụng; phần ph\xe2n loại gateway/upstream/client c\xf3 thể thiếu.":`Request-error telemetry đ\xe3 được scope theo local provider; ghi nhận ${o(A.total).toLocaleString("vi-VN")} error event.`,"Prompt-log analytics kh\xf4ng được trộn v\xe0o b\xe1o c\xe1o v\xec schema hiện tại kh\xf4ng c\xf3 provider scope đ\xe1ng tin cậy.",c.length?`Resource Monitor chỉ l\xe0 snapshot gần nhất, kh\xf4ng đại diện cho lịch sử CPU/GPU của to\xe0n bộ ${w.label}.`:"Chưa cấu h\xecnh Resource Monitor; kh\xf4ng c\xf3 dữ liệu CPU/GPU để đ\xe1nh gi\xe1 bottleneck phần cứng."]},F=function({overview:a,experience:b,errors:c,hardware:d,models:e,daily:f,periodLabel:g}){var h;let i=o(a.requests);if(!i)return{status:"no_traffic",confidence:"low",score:null,signals:[`Kh\xf4ng c\xf3 request local vLLM trong ${g} gần nhất.`]};let j=100,k=[],l=o(a.serverErrorRate),m=o(a.errorRate),n=o(b.p95LatencyMs),p=o(b.p95TtftMs),r=o(b.slowRequestRate),s=d.filter(a=>a.enabled&&!a.reachable).length,t=d.flatMap(a=>a.gpus||[]).filter(a=>o(a.temperatureC)>=85).length,u=d.flatMap(a=>a.gpus||[]).filter(a=>o(a.memoryUsagePercent)>=95).length;j-=Math.min(35,500*l),j-=Math.min(15,150*m),j-=Math.min(20,Math.max(0,n-2e4)/4e3),j-=Math.min(15,Math.max(0,p-5e3)/2e3),j-=Math.min(10,100*r),j-=Math.min(10,5*s),j-=Math.min(8,4*t),j-=Math.min(8,4*u),j=Math.round((h=j,Math.max(0,Math.min(100,o(h,0))))),l>=.05&&k.push(`Tỷ lệ lỗi gateway/upstream ${q(100*l,1)}%.`),n>=45e3&&k.push(`Latency p95 ${Math.round(n)} ms vượt ngưỡng chậm 45 gi\xe2y.`),p>=2e4&&k.push(`TTFT p95 ${Math.round(p)} ms vượt ngưỡng chậm 20 gi\xe2y.`),u&&k.push(`${u} GPU c\xf3 VRAM snapshot từ 95% trở l\xean.`),t&&k.push(`${t} GPU c\xf3 nhiệt độ snapshot từ 85\xb0C trở l\xean.`),s&&k.push(`${s} node Resource Monitor kh\xf4ng c\xf3 snapshot khả dụng.`),k.length||k.push("Kh\xf4ng ph\xe1t hiện t\xedn hiệu vận h\xe0nh nghi\xeam trọng theo c\xe1c ngưỡng hiện c\xf3.");let v=j<55||l>=.1?"critical":j<80||k.length>1?"warning":"normal",w=o(b.samples),x=f.slice(0,Math.max(1,Math.floor(f.length/2))).reduce((a,b)=>a+b.requests,0),y=f.slice(Math.max(1,Math.floor(f.length/2))).reduce((a,b)=>a+b.requests,0);if(x>0){let a=(y-x)/x;Math.abs(a)>=.25&&k.push(`Lưu lượng nửa sau kỳ b\xe1o c\xe1o ${a>0?"tăng":"giảm"} khoảng ${q(100*Math.abs(a),1)}% so với nửa đầu.`)}return c.summary?.upstream>0&&k.push(`Ghi nhận ${o(c.summary.upstream)} lỗi được ph\xe2n loại thuộc upstream local.`),e.some(a=>"low"===a.sampleQuality)&&k.push("Một số model c\xf3 dưới 20 request; xếp hạng giữa model chỉ mang t\xednh tham khảo."),{status:v,confidence:i>=100&&w>=50?"high":i>=20&&w>=10?"medium":"low",score:j,signals:k}}({overview:D,experience:E.experience,errors:E.errors,hardware:c,models:B,daily:C,periodLabel:w.label});return E.status=F.status,E.confidence=F.confidence,E.score=F.score,E.operationalSignals=F.signals,g=w.label,h=E.overview,i=E.experience,j=E.models[0],k=[...E.daily].sort((a,b)=>b.requests-a.requests)[0],l=[],s=[],v=[],o(h.successRate)>=.98&&l.push({title:"Độ ổn định tốt",evidence:`${q(100*h.successRate,2)}% request th\xe0nh c\xf4ng tr\xean ${h.requests.toLocaleString("vi-VN")} request.`,confidence:E.confidence}),o(i.p95TtftMs)>0&&1e4>o(i.p95TtftMs)&&l.push({title:"Phản hồi ban đầu ổn định",evidence:`TTFT p95 ${Math.round(i.p95TtftMs).toLocaleString("vi-VN")} ms.`,confidence:E.confidence}),j&&l.push({title:"Model chủ lực r\xf5 r\xe0ng",evidence:`${j.model} xử l\xfd ${q(100*j.trafficShare,1)}% lưu lượng local.`,confidence:j.sampleQuality}),o(h.serverErrorRate)>=.02&&(s.push({title:"Lỗi ảnh hưởng server cần theo d\xf5i",evidence:`${q(100*h.serverErrorRate,2)}% request c\xf3 lỗi gateway/upstream.`,impact:"C\xf3 thể g\xe2y gi\xe1n đoạn hoặc retry từ client.",priority:h.serverErrorRate>=.05?"P0":"P1"}),v.push({priority:h.serverErrorRate>=.05?"P0":"P1",action:"Đối chiếu top lỗi upstream theo model v\xe0 endpoint, kiểm tra log vLLM trong c\xf9ng timestamp.",owner:"AI Platform / SRE",validationMetric:"Server error rate < 1% trong 24 giờ"})),o(i.p95LatencyMs)>=45e3&&(s.push({title:"Độ trễ đu\xf4i cao",evidence:`Latency p95 ${Math.round(i.p95LatencyMs).toLocaleString("vi-VN")} ms; slow request rate ${q(100*i.slowRequestRate,1)}%.`,impact:"T\xe1c vụ tương t\xe1c c\xf3 thể cảm nhận chậm r\xf5 rệt.",priority:"P1"}),v.push({priority:"P1",action:"Ph\xe2n t\xe1ch latency theo model v\xe0 bucket context; kiểm tra max-num-seqs, max-num-batched-tokens v\xe0 queue tại thời điểm cao tải.",owner:"AI Platform",validationMetric:"Latency p95 < 45 gi\xe2y v\xe0 TTFT p95 < 20 gi\xe2y"})),E.hardware.some(a=>a.enabled&&!a.reachable)&&(s.push({title:"Thiếu telemetry phần cứng",evidence:"C\xf3 node Resource Monitor kh\xf4ng trả snapshot tại thời điểm tạo b\xe1o c\xe1o.",impact:"Kh\xf4ng đủ cơ sở x\xe1c nhận GPU/CPU c\xf3 phải bottleneck.",priority:"P1"}),v.push({priority:"P1",action:"Kh\xf4i phục Resource Monitor agent v\xe0 kiểm tra đồng bộ thời gian tr\xean node.",owner:"Infrastructure",validationMetric:"100% node c\xf3 snapshot mới dưới 5 ph\xfat"})),v.length||v.push({priority:"P2",action:"Duy tr\xec theo d\xf5i p95 latency, p95 TTFT, upstream error rate v\xe0 tỷ lệ context >=50k theo ng\xe0y.",owner:"AI Platform",validationMetric:"C\xe1c KPI kh\xf4ng xấu đi qu\xe1 20% so với kỳ n\xe0y"}),E.narrative={executiveSummary:[`Trong ${g} gần nhất, local AI xử l\xfd ${h.requests.toLocaleString("vi-VN")} request với tỷ lệ th\xe0nh c\xf4ng ${q(100*h.successRate,2)}%.`,`Điểm vận h\xe0nh tổng hợp l\xe0 ${null==E.score?"chưa đủ dữ liệu":`${E.score}/100`} v\xe0 trạng th\xe1i ${E.status}.`,k?`Ng\xe0y cao tải nhất l\xe0 ${k.date} với ${k.requests.toLocaleString("vi-VN")} request.`:"Chưa x\xe1c định được ng\xe0y cao tải."],strengths:l,weaknesses:s,infrastructureAssessment:`Resource Monitor chỉ cung cấp snapshot hiện tại; b\xe1o c\xe1o kh\xf4ng suy diễn snapshot n\xe0y th\xe0nh lịch sử GPU trong to\xe0n bộ ${g}.`,forecast:E.daily.length>=4?"Xu hướng ngắn hạn được đ\xe1nh gi\xe1 từ ph\xe2n bố request theo ng\xe0y; chưa đủ cơ sở dự b\xe1o c\xf4ng suất nếu kh\xf4ng c\xf3 lịch sử GPU/queue li\xean tục.":"Chưa đủ điểm dữ liệu theo ng\xe0y để dự b\xe1o đ\xe1ng tin cậy.",actions:v},E}({analytics:d,providers:k,hardware:z,requestedBy:b,period:e.period}),B=String(y.dashboardAnalyticsVllmConfig||"").slice(0,5e4);if(A.hasVllmConfig=!!B.trim(),A.hasVllmConfig||A.dataQuality.push("Admin chưa cung cấp cấu h\xecnh vLLM; b\xe1o c\xe1o kh\xf4ng thể đối chiếu max-num-seqs, batch tokens, KV cache hoặc context limit."),k.length){if(A.overview.requests>0&&a){let{connectionId:b,model:c}=(0,g.M1)(a);if(b&&c)try{var C,D;let b,d,e,f,h,i,j,k=(C={reportScope:{period:A.range.rollingKey,periodLabel:A.range.label,days:A.range.days,timeZone:A.range.timeZone,startIso:A.range.startIso,endIso:A.range.endIso,generatedAt:A.generatedAt,localProviderDefinition:'provider node type="openai-compatible" and openAICompatibleRuntime="vllm"'},status:A.status,confidence:A.confidence,operationalScore:A.score,localProviders:A.providers,overview:A.overview,experience:A.experience,models:A.models,daily:A.daily,contextAndThinking:A.contextAndThinking,errors:A.errors,workload:A.workload,hardwareSnapshot:A.hardware,dataQuality:A.dataQuality,heavyRequests:A.heavyRequests,vllmConfig:n(B,5e4)},b=C?.reportScope?.periodLabel||"7 ng\xe0y",`Bạn l\xe0 chuy\xean gia SRE/MLOps đ\xe1nh gi\xe1 hệ thống local AI chạy vLLM sau BlueRouter.
1
+ "use strict";(()=>{var a={};a.id=2752,a.ids=[2752],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{a.exports=require("node:perf_hooks")},1708:a=>{a.exports=require("node:process")},1900:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>j,POST:()=>k,dynamic:()=>l,maxDuration:()=>m});var e=c(23211),f=c(9588),g=c(62763),h=c(58664),i=a([h]);h=(i.then?(await i)():i)[0];let l="force-dynamic",m=180;async function j(a){let{response:b}=await (0,f.hH)();if(b)return b;let c=(0,h.L)(new URL(a.url).searchParams.get("period")),d=await (0,h.dT)(c);return e.NextResponse.json({...d,standby:await (0,g.WR)()},{headers:{"Cache-Control":"no-store"}})}async function k(a){let{access:b,response:c}=await (0,f.hH)();if(c)return c;if(await (0,g.WR)())return e.NextResponse.json({error:"Node đang ở chế độ Standby. H\xe3y tạo b\xe1o c\xe1o tr\xean Master; kết quả sẽ được đồng bộ qua settings."},{status:409});let d={};try{d=await a.json()}catch{d={}}let i=String(d.connectionId||"").trim(),j=String(d.model||"").trim(),k=i&&j?`${i}::${j}`:"",l=(0,h.L)(d.period);try{let a=await (0,h.F0)(k,{requestedBy:b.displayName,period:l});return e.NextResponse.json({report:a},{headers:{"Cache-Control":"no-store"}})}catch(a){return console.error("[local-ai-report] Failed to generate report:",a),e.NextResponse.json({error:a?.message||"Kh\xf4ng thể tạo b\xe1o c\xe1o Local AI"},{status:500})}}d()}catch(a){d(a)}})},1932:a=>{a.exports=require("url")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{a.exports=require("node:buffer")},7066:a=>{a.exports=require("node:tty")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},9588:(a,b,c)=>{c.d(b,{Cy:()=>i,I8:()=>k,Tv:()=>v,UX:()=>p,aV:()=>o,bz:()=>r,hH:()=>u,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)}},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},17509:(a,b,c)=>{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=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19225:(a,b,c)=>{a.exports=c(44870)},19771:a=>{a.exports=require("process")},21820:a=>{a.exports=require("os")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30869:(a,b,c)=>{c.d(b,{UY:()=>h,X3:()=>i,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g});var d=c(39006),e=c(75681),f=c(81329);d.rE;let g={npmPackageName:"@jheavenknows/bluerouter",installCmd:"npm i -g @jheavenknows/bluerouter",installCmdLatest:"npm install -g @jheavenknows/bluerouter@latest",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20128},h={maxLines:200,pollIntervalMs:1e3},i={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","alims-intl":"https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions","vercel-ai-gateway":"https://ai-gateway.vercel.sh/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat"}},31421:a=>{a.exports=require("node:child_process")},32467:a=>{a.exports=require("node:http2")},33792:(a,b,c)=>{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=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},34631:a=>{a.exports=require("tls")},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},40610:a=>{a.exports=require("node:dns")},41204:a=>{a.exports=require("string_decoder")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},48161:a=>{a.exports=require("node:os")},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},58664:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{F0:()=>v,L:()=>l,dT:()=>w});var e=c(55511),f=c.n(e),g=c(73882),h=c(38360),i=c(89718),j=c(28919),k=a([g]);g=(k.then?(await k)():k)[0];let x="Asia/Ho_Chi_Minh",y={"7d":{days:7,label:"7 ng\xe0y",rollingKey:"rolling_7_days",settingsKey:"dashboardLocalAi7dReport"},"30d":{days:30,label:"30 ng\xe0y",rollingKey:"rolling_30_days",settingsKey:"dashboardLocalAi30dReport"}};function l(a){let b=String(a||"").trim();return Object.prototype.hasOwnProperty.call(y,b)?b:"7d"}function m(a){let b=l(a);return{period:b,...y[b]}}function n(a,b=240){let c=String(a??"").replace(/[\u0000-\u001f\u007f]+/g," ").replace(/\s+/g," ").trim();return c.length>b?`${c.slice(0,Math.max(0,b-1))}…`:c}function o(a,b=0){let c=Number(a);return Number.isFinite(c)?c:b}function p(a,b){let c=o(a,0),d=o(b,0);return d>0?c/d:0}function q(a,b=2){let c=10**b;return Math.round(o(a,0)*c)/c}function r(a,b=x){let c=new Date(a);if(Number.isNaN(c.getTime()))return"unknown";let d=new Intl.DateTimeFormat("en-CA",{timeZone:b,year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(c),e=Object.fromEntries(d.map(a=>[a.type,a.value]));return`${e.year}-${e.month}-${e.day}`}async function s(){return(await (0,i.Fh)()).filter(a=>"openai-compatible"===a.type&&"vllm"===a.openAICompatibleRuntime).map(a=>({id:n(a.id),name:n(a.name||a.id),type:a.type,runtime:a.openAICompatibleRuntime,baseUrl:n(a.baseUrl||a.openAICompatibleBaseUrl||a.url,300),enabled:!1!==a.enabled})).filter(a=>a.id)}function t(a=[],b=12){return a.slice(0,b).map(a=>({label:n(a.label,180),requests:o(a.requests),faultOwner:n(a.faultOwner),status:n(a.status),errorType:n(a.errorType),errorCode:n(a.errorCode),errorSource:n(a.errorSource),provider:n(a.provider),model:n(a.model),endpoint:n(a.endpoint,180),sample:n(a.sampleMessage||a.sample,200),lastSeen:a.lastSeen||null}))}function u(a=[],b=12){return a.slice(0,b).map(a=>({timestamp:a.timestamp||null,provider:n(a.provider),providerLabel:n(a.providerLabel||a.provider),model:n(a.model),sourceTool:n(a.sourceToolLabel||a.sourceTool),endpoint:n(a.endpoint,180),promptTokens:o(a.promptTokens),completionTokens:o(a.completionTokens),cachedTokens:o(a.cachedTokens),reasoningTokens:o(a.reasoningTokens),latencyMs:null==a.latencyMs?null:o(a.latencyMs),ttftMs:null==a.ttftMs?null:o(a.ttftMs),status:n(a.status)}))}async function v(a,{requestedBy:b="Admin",period:c="7d"}={}){let d,e=m(c),k=await s(),l=k.map(a=>a.id),[w,y]=await Promise.all([(0,j.HI)(),(0,i.mt)()]),z=function(a=[]){return a.map(a=>{let b=a.lastStatus||{};return{id:a.id,name:n(a.name||b.hostname||a.host||a.id),host:n(a.host),hostname:n(b.hostname),enabled:!1!==a.enabled,reachable:!!(b.ok&&a.lastStatus),statusAt:a.lastStatusAt||b.updatedAt||null,error:n(a.lastError,500)||null,os:n(b.os),kernel:n(b.kernel),cpu:{model:n(b.cpu?.model),cores:o(b.cpu?.cores),usagePercent:o(b.cpu?.usagePercent),load1:o(b.cpu?.load1),load5:o(b.cpu?.load5),load15:o(b.cpu?.load15)},memory:{totalBytes:o(b.memory?.totalBytes),usedBytes:o(b.memory?.usedBytes),usagePercent:o(b.memory?.usagePercent),swapTotalBytes:o(b.memory?.swapTotalBytes),swapUsedBytes:o(b.memory?.swapUsedBytes)},gpus:(b.gpus||[]).map(a=>({index:o(a.index),name:n(a.name||"NVIDIA GPU"),driverVersion:n(a.driverVersion),memoryTotalMb:o(a.memoryTotalMb),memoryUsedMb:o(a.memoryUsedMb),memoryUsagePercent:o(a.memoryUsagePercent),usagePercent:o(a.usagePercent),temperatureC:null==a.temperatureC?null:o(a.temperatureC),powerDrawW:null==a.powerDrawW?null:o(a.powerDrawW),powerLimitW:null==a.powerLimitW?null:o(a.powerLimitW)}))}})}(w);if(l.length)d=await (0,h.b2)({period:e.period,timeZone:x,providerIds:l,skipPromptLogs:!0});else{let a=new Date,b=new Date(a.getTime()-24*e.days*36e5);d={generatedAt:a.toISOString(),analyticsVersion:"no-local-provider",filters:{period:e.period,timeZone:x,startIso:b.toISOString(),endIso:a.toISOString()},overview:{},experience:{},groups:{},timeSeries:[],thinkingAnalytics:{},largeContextAnalytics:{},requestErrors:{disabled:!0},clientRequests:{},heavyRequests:[]}}let A=function({analytics:a,providers:b,hardware:c,requestedBy:d,period:e}){var g;let h,i,j,k,l,s,v,w=m(e),y=a.overview||{},z=a.experience||{},A=a.requestErrors||{},B=function(a={}){let b=a.groups?.models||[],c=a.experience?.byModel||[],d=a.thinkingAnalytics?.byModel||[],e=new Map(c.map(a=>[`${a.provider}|${a.model}`,a])),f=new Map(d.map(a=>[`${a.provider}|${a.model}`,a]));return b.map(b=>{let c=`${b.provider}|${b.model}`,d=e.get(c)||{},g=f.get(c)||{},h=o(b.requests);return{key:c,provider:n(b.provider),providerLabel:n(b.providerLabel||b.provider),model:n(b.model),requests:h,trafficShare:p(h,a.overview?.requests),success:o(b.success),errors:o(b.errors),errorRate:o(b.errorRate),promptTokens:o(b.promptTokens),completionTokens:o(b.completionTokens),totalTokens:o(b.totalTokens),cachedTokens:o(b.cachedTokens),cacheShare:p(b.cachedTokens,b.promptTokens),reasoningTokens:o(b.reasoningTokens),reasoningShare:p(b.reasoningTokens,b.completionTokens),cost:o(b.cost),samples:o(d.samples),score:null==d.score?null:o(d.score),qualityLabel:n(d.labelQuality||d.label),avgLatencyMs:null==d.avgLatencyMs?null:o(d.avgLatencyMs),p50LatencyMs:null==d.p50LatencyMs?null:o(d.p50LatencyMs),p95LatencyMs:null==d.p95LatencyMs?null:o(d.p95LatencyMs),maxLatencyMs:null==d.maxLatencyMs?null:o(d.maxLatencyMs),avgTtftMs:null==d.avgTtftMs?null:o(d.avgTtftMs),p95TtftMs:null==d.p95TtftMs?null:o(d.p95TtftMs),maxTtftMs:null==d.maxTtftMs?null:o(d.maxTtftMs),outputTokensPerSecond:null==d.outputTokensPerSecond?null:o(d.outputTokensPerSecond),avgPromptTokens:o(d.avgPromptTokens||b.avgPromptTokens),p95PromptTokens:o(d.p95PromptTokens),maxPromptTokens:o(d.maxPromptTokens),avgCompletionTokens:o(d.avgCompletionTokens||b.avgCompletionTokens),slowRequests:o(d.slowRequests),slowRequestRate:o(d.slowRequestRate),slowTtftRate:o(d.slowTtftRate),longInputRate:o(d.longInputRate),hugeInputRate:o(d.hugeInputRate),thinkingOnRequests:o(g.thinkingOnRequests),thinkingOffRequests:o(g.thinkingOffRequests),autoOffRequests:o(g.autoOffRequests),autoOffRate:o(g.autoOffRate),sampleQuality:h>=100?"high":h>=20?"medium":"low"}}).sort((a,b)=>b.requests-a.requests||b.totalTokens-a.totalTokens)}(a),C=function(a=[],b,c,d=8){let e=new Map,f=new Date(b),g=new Date(c);if(!Number.isNaN(f.getTime())&&!Number.isNaN(g.getTime())){let a=new Date(f);for(a.setUTCHours(12,0,0,0);a<=g;){let b=r(a);e.has(b)||e.set(b,{date:b,requests:0,success:0,errors:0,promptTokens:0,completionTokens:0,totalTokens:0,cachedTokens:0,reasoningTokens:0,cost:0}),a.setUTCDate(a.getUTCDate()+1)}}for(let b of a||[]){let a=r(b.label||b.ts),c=e.get(a)||{date:a,requests:0,success:0,errors:0,promptTokens:0,completionTokens:0,totalTokens:0,cachedTokens:0,reasoningTokens:0,cost:0};for(let a of["requests","success","errors","promptTokens","completionTokens","totalTokens","cachedTokens","reasoningTokens","cost"])c[a]+=o(b[a]);e.set(a,c)}return[...e.values()].sort((a,b)=>a.date.localeCompare(b.date)).slice(-Math.max(1,o(d,8))).map(a=>({...a,errorRate:p(a.errors,a.requests)}))}(a.timeSeries,a.filters?.startIso,a.filters?.endIso,w.days+1),D={requests:o(y.requests),success:o(y.success),errors:o(y.errors),pending:o(y.pending),successRate:p(y.success,y.requests),errorRate:o(y.errorRate),serverErrorRate:o(y.serverErrorRate),clientErrorRate:o(y.clientErrorRate),rateLimitErrorRate:o(y.rateLimitErrorRate),gatewayErrorEvents:o(y.gatewayErrorEvents),upstreamErrorEvents:o(y.upstreamErrorEvents),clientErrorEvents:o(y.clientErrorEvents),rateLimitErrorEvents:o(y.rateLimitErrorEvents),promptTokens:o(y.promptTokens),completionTokens:o(y.completionTokens),totalTokens:o(y.totalTokens),cachedTokens:o(y.cachedTokens),cacheShare:p(y.cachedTokens,y.promptTokens),reasoningTokens:o(y.reasoningTokens),reasoningShare:p(y.reasoningTokens,y.completionTokens),averageTokensPerRequest:p(y.totalTokens,y.requests),cost:o(y.cost),requestsPerMinute:o(y.requestsPerMinute),tokensPerMinute:o(y.tokensPerMinute),activeProviders:o(y.activeProviders),activeModels:o(y.activeModels),activeApiKeys:o(y.activeApiKeys),activeEndpoints:o(y.activeEndpoints)},E={id:f().randomUUID(),schemaVersion:"local-ai-report-v1",generatedAt:new Date().toISOString(),requestedBy:n(d||"Admin"),range:{period:w.period,label:w.label,days:w.days,rollingKey:w.rollingKey,timeZone:x,startIso:a.filters?.startIso||null,endIso:a.filters?.endIso||null},analyticsVersion:a.analyticsVersion||"unknown",computeMs:o(a.computeMs),providers:b,overview:D,experience:{samples:o(z.samples),score:null==z.score?null:o(z.score),label:n(z.label),avgLatencyMs:null==z.avgLatencyMs?null:o(z.avgLatencyMs),p50LatencyMs:null==z.p50LatencyMs?null:o(z.p50LatencyMs),p95LatencyMs:null==z.p95LatencyMs?null:o(z.p95LatencyMs),p99LatencyMs:null==z.p99LatencyMs?null:o(z.p99LatencyMs),avgTtftMs:null==z.avgTtftMs?null:o(z.avgTtftMs),p50TtftMs:null==z.p50TtftMs?null:o(z.p50TtftMs),p95TtftMs:null==z.p95TtftMs?null:o(z.p95TtftMs),p99TtftMs:null==z.p99TtftMs?null:o(z.p99TtftMs),decodeTokensPerSecond:null==z.decodeTokensPerSecond?null:o(z.decodeTokensPerSecond),outputTokensPerSecond:null==z.outputTokensPerSecond?null:o(z.outputTokensPerSecond),latencyMsPer10kInputTokens:null==z.latencyMsPer10kInputTokens?null:o(z.latencyMsPer10kInputTokens),slowRequestRate:o(z.slowRequestRate),verySlowRequestRate:o(z.verySlowRequestRate),slowTtftRate:o(z.slowTtftRate),longInputRate:o(z.longInputRate),hugeInputRate:o(z.hugeInputRate),extremeInputRate:o(z.extremeInputRate)},models:B,daily:C,contextAndThinking:{thinking:a.thinkingAnalytics||{},largeContext:a.largeContextAnalytics||{}},errors:{disabled:!0===A.disabled,total:o(A.total),summary:A.summary||{},topServerErrors:t(A.topServerErrors),topClientErrors:t(A.topClientErrors,8),topRateLimitErrors:t(A.topRateLimitErrors,8),byStatusCode:(A.byStatusCode||[]).slice(0,10).map(a=>({label:n(a.label),requests:o(a.requests)})),byErrorType:(A.byErrorType||[]).slice(0,10).map(a=>({label:n(a.label),requests:o(a.requests)}))},workload:function(a={}){let b=a.groups||{},c=a.clientRequests||{},d=b=>({key:n(b.key),label:n(b.label||b.name||b.key),requests:o(b.requests),totalTokens:o(b.totalTokens),errorRate:o(b.errorRate),trafficShare:p(b.requests,a.overview?.requests),tokenShare:p(b.totalTokens,a.overview?.totalTokens)});return{endpoints:(b.endpoints||[]).slice(0,10).map(d),apiKeys:(b.apiKeys||[]).slice(0,10).map(a=>({...d(a),ownerUser:n(a.ownerUser),fingerprint:n(a.fingerprint)})),heavyUsers:(c.topHeavyUsers||[]).slice(0,10).map(a=>({label:n(a.label),requests:o(a.requests),totalTokens:o(a.totalTokens),promptTokens:o(a.promptTokens),errorRate:o(a.errorRate),heavyRequests:o(a.heavyRequests),topTools:(a.topTools||[]).slice(0,3).map(a=>n(a.label||a.key))})),topSourceIps:(c.topSourceIpsByTokens||[]).slice(0,10).map(a=>({label:n(a.label),requests:o(a.requests),totalTokens:o(a.totalTokens),heavyRequests:o(a.heavyRequests)})),inputBuckets:(c.inputBuckets||[]).map(a=>({label:n(a.label),requests:o(a.requests),share:o(a.share),totalTokens:o(a.totalTokens)}))}}(a),heavyRequests:u(a.heavyRequests,15),slowestRequests:u(z.slowestRequests,15),hardware:c,dataQuality:[`Analytics local-only được lọc bằng ${b.length} provider ID vLLM ngay tại SQL usageHistory.`,`C\xf3 ${o(z.samples).toLocaleString("vi-VN")} mẫu latency tr\xean ${o(D.requests).toLocaleString("vi-VN")} request.`,A.disabled?"Request-error telemetry hiện kh\xf4ng khả dụng; phần ph\xe2n loại gateway/upstream/client c\xf3 thể thiếu.":`Request-error telemetry đ\xe3 được scope theo local provider; ghi nhận ${o(A.total).toLocaleString("vi-VN")} error event.`,"Prompt-log analytics kh\xf4ng được trộn v\xe0o b\xe1o c\xe1o v\xec schema hiện tại kh\xf4ng c\xf3 provider scope đ\xe1ng tin cậy.",c.length?`Resource Monitor chỉ l\xe0 snapshot gần nhất, kh\xf4ng đại diện cho lịch sử CPU/GPU của to\xe0n bộ ${w.label}.`:"Chưa cấu h\xecnh Resource Monitor; kh\xf4ng c\xf3 dữ liệu CPU/GPU để đ\xe1nh gi\xe1 bottleneck phần cứng."]},F=function({overview:a,experience:b,errors:c,hardware:d,models:e,daily:f,periodLabel:g}){var h;let i=o(a.requests);if(!i)return{status:"no_traffic",confidence:"low",score:null,signals:[`Kh\xf4ng c\xf3 request local vLLM trong ${g} gần nhất.`]};let j=100,k=[],l=o(a.serverErrorRate),m=o(a.errorRate),n=o(b.p95LatencyMs),p=o(b.p95TtftMs),r=o(b.slowRequestRate),s=d.filter(a=>a.enabled&&!a.reachable).length,t=d.flatMap(a=>a.gpus||[]).filter(a=>o(a.temperatureC)>=85).length,u=d.flatMap(a=>a.gpus||[]).filter(a=>o(a.memoryUsagePercent)>=95).length;j-=Math.min(35,500*l),j-=Math.min(15,150*m),j-=Math.min(20,Math.max(0,n-2e4)/4e3),j-=Math.min(15,Math.max(0,p-5e3)/2e3),j-=Math.min(10,100*r),j-=Math.min(10,5*s),j-=Math.min(8,4*t),j-=Math.min(8,4*u),j=Math.round((h=j,Math.max(0,Math.min(100,o(h,0))))),l>=.05&&k.push(`Tỷ lệ lỗi gateway/upstream ${q(100*l,1)}%.`),n>=45e3&&k.push(`Latency p95 ${Math.round(n)} ms vượt ngưỡng chậm 45 gi\xe2y.`),p>=2e4&&k.push(`TTFT p95 ${Math.round(p)} ms vượt ngưỡng chậm 20 gi\xe2y.`),u&&k.push(`${u} GPU c\xf3 VRAM snapshot từ 95% trở l\xean.`),t&&k.push(`${t} GPU c\xf3 nhiệt độ snapshot từ 85\xb0C trở l\xean.`),s&&k.push(`${s} node Resource Monitor kh\xf4ng c\xf3 snapshot khả dụng.`),k.length||k.push("Kh\xf4ng ph\xe1t hiện t\xedn hiệu vận h\xe0nh nghi\xeam trọng theo c\xe1c ngưỡng hiện c\xf3.");let v=j<55||l>=.1?"critical":j<80||k.length>1?"warning":"normal",w=o(b.samples),x=f.slice(0,Math.max(1,Math.floor(f.length/2))).reduce((a,b)=>a+b.requests,0),y=f.slice(Math.max(1,Math.floor(f.length/2))).reduce((a,b)=>a+b.requests,0);if(x>0){let a=(y-x)/x;Math.abs(a)>=.25&&k.push(`Lưu lượng nửa sau kỳ b\xe1o c\xe1o ${a>0?"tăng":"giảm"} khoảng ${q(100*Math.abs(a),1)}% so với nửa đầu.`)}return c.summary?.upstream>0&&k.push(`Ghi nhận ${o(c.summary.upstream)} lỗi được ph\xe2n loại thuộc upstream local.`),e.some(a=>"low"===a.sampleQuality)&&k.push("Một số model c\xf3 dưới 20 request; xếp hạng giữa model chỉ mang t\xednh tham khảo."),{status:v,confidence:i>=100&&w>=50?"high":i>=20&&w>=10?"medium":"low",score:j,signals:k}}({overview:D,experience:E.experience,errors:E.errors,hardware:c,models:B,daily:C,periodLabel:w.label});return E.status=F.status,E.confidence=F.confidence,E.score=F.score,E.operationalSignals=F.signals,g=w.label,h=E.overview,i=E.experience,j=E.models[0],k=[...E.daily].sort((a,b)=>b.requests-a.requests)[0],l=[],s=[],v=[],o(h.successRate)>=.98&&l.push({title:"Độ ổn định tốt",evidence:`${q(100*h.successRate,2)}% request th\xe0nh c\xf4ng tr\xean ${h.requests.toLocaleString("vi-VN")} request.`,confidence:E.confidence}),o(i.p95TtftMs)>0&&1e4>o(i.p95TtftMs)&&l.push({title:"Phản hồi ban đầu ổn định",evidence:`TTFT p95 ${Math.round(i.p95TtftMs).toLocaleString("vi-VN")} ms.`,confidence:E.confidence}),j&&l.push({title:"Model chủ lực r\xf5 r\xe0ng",evidence:`${j.model} xử l\xfd ${q(100*j.trafficShare,1)}% lưu lượng local.`,confidence:j.sampleQuality}),o(h.serverErrorRate)>=.02&&(s.push({title:"Lỗi ảnh hưởng server cần theo d\xf5i",evidence:`${q(100*h.serverErrorRate,2)}% request c\xf3 lỗi gateway/upstream.`,impact:"C\xf3 thể g\xe2y gi\xe1n đoạn hoặc retry từ client.",priority:h.serverErrorRate>=.05?"P0":"P1"}),v.push({priority:h.serverErrorRate>=.05?"P0":"P1",action:"Đối chiếu top lỗi upstream theo model v\xe0 endpoint, kiểm tra log vLLM trong c\xf9ng timestamp.",owner:"AI Platform / SRE",validationMetric:"Server error rate < 1% trong 24 giờ"})),o(i.p95LatencyMs)>=45e3&&(s.push({title:"Độ trễ đu\xf4i cao",evidence:`Latency p95 ${Math.round(i.p95LatencyMs).toLocaleString("vi-VN")} ms; slow request rate ${q(100*i.slowRequestRate,1)}%.`,impact:"T\xe1c vụ tương t\xe1c c\xf3 thể cảm nhận chậm r\xf5 rệt.",priority:"P1"}),v.push({priority:"P1",action:"Ph\xe2n t\xe1ch latency theo model v\xe0 bucket context; kiểm tra max-num-seqs, max-num-batched-tokens v\xe0 queue tại thời điểm cao tải.",owner:"AI Platform",validationMetric:"Latency p95 < 45 gi\xe2y v\xe0 TTFT p95 < 20 gi\xe2y"})),E.hardware.some(a=>a.enabled&&!a.reachable)&&(s.push({title:"Thiếu telemetry phần cứng",evidence:"C\xf3 node Resource Monitor kh\xf4ng trả snapshot tại thời điểm tạo b\xe1o c\xe1o.",impact:"Kh\xf4ng đủ cơ sở x\xe1c nhận GPU/CPU c\xf3 phải bottleneck.",priority:"P1"}),v.push({priority:"P1",action:"Kh\xf4i phục Resource Monitor agent v\xe0 kiểm tra đồng bộ thời gian tr\xean node.",owner:"Infrastructure",validationMetric:"100% node c\xf3 snapshot mới dưới 5 ph\xfat"})),v.length||v.push({priority:"P2",action:"Duy tr\xec theo d\xf5i p95 latency, p95 TTFT, upstream error rate v\xe0 tỷ lệ context >=50k theo ng\xe0y.",owner:"AI Platform",validationMetric:"C\xe1c KPI kh\xf4ng xấu đi qu\xe1 20% so với kỳ n\xe0y"}),E.narrative={executiveSummary:[`Trong ${g} gần nhất, local AI xử l\xfd ${h.requests.toLocaleString("vi-VN")} request với tỷ lệ th\xe0nh c\xf4ng ${q(100*h.successRate,2)}%.`,`Điểm vận h\xe0nh tổng hợp l\xe0 ${null==E.score?"chưa đủ dữ liệu":`${E.score}/100`} v\xe0 trạng th\xe1i ${E.status}.`,k?`Ng\xe0y cao tải nhất l\xe0 ${k.date} với ${k.requests.toLocaleString("vi-VN")} request.`:"Chưa x\xe1c định được ng\xe0y cao tải."],strengths:l,weaknesses:s,infrastructureAssessment:`Resource Monitor chỉ cung cấp snapshot hiện tại; b\xe1o c\xe1o kh\xf4ng suy diễn snapshot n\xe0y th\xe0nh lịch sử GPU trong to\xe0n bộ ${g}.`,forecast:E.daily.length>=4?"Xu hướng ngắn hạn được đ\xe1nh gi\xe1 từ ph\xe2n bố request theo ng\xe0y; chưa đủ cơ sở dự b\xe1o c\xf4ng suất nếu kh\xf4ng c\xf3 lịch sử GPU/queue li\xean tục.":"Chưa đủ điểm dữ liệu theo ng\xe0y để dự b\xe1o đ\xe1ng tin cậy.",actions:v},E}({analytics:d,providers:k,hardware:z,requestedBy:b,period:e.period}),B=String(y.dashboardAnalyticsVllmConfig||"").slice(0,5e4);if(A.hasVllmConfig=!!B.trim(),A.hasVllmConfig||A.dataQuality.push("Admin chưa cung cấp cấu h\xecnh vLLM; b\xe1o c\xe1o kh\xf4ng thể đối chiếu max-num-seqs, batch tokens, KV cache hoặc context limit."),k.length){if(A.overview.requests>0&&a){let{connectionId:b,model:c}=(0,g.M1)(a);if(b&&c)try{var C,D;let b,d,e,f,h,i,j,k=(C={reportScope:{period:A.range.rollingKey,periodLabel:A.range.label,days:A.range.days,timeZone:A.range.timeZone,startIso:A.range.startIso,endIso:A.range.endIso,generatedAt:A.generatedAt,localProviderDefinition:'provider node type="openai-compatible" and openAICompatibleRuntime="vllm"'},status:A.status,confidence:A.confidence,operationalScore:A.score,localProviders:A.providers,overview:A.overview,experience:A.experience,models:A.models,daily:A.daily,contextAndThinking:A.contextAndThinking,errors:A.errors,workload:A.workload,hardwareSnapshot:A.hardware,dataQuality:A.dataQuality,heavyRequests:A.heavyRequests,vllmConfig:n(B,5e4)},b=C?.reportScope?.periodLabel||"7 ng\xe0y",`Bạn l\xe0 chuy\xean gia SRE/MLOps đ\xe1nh gi\xe1 hệ thống local AI chạy vLLM sau BlueRouter.
2
2
 
3
3
  NHIỆM VỤ
4
4
  - Ph\xe2n t\xedch ch\xednh x\xe1c dữ liệu local-only của ${b} trượt gần nhất.
@@ -24,4 +24,4 @@ Chỉ trả về một JSON object hợp lệ, kh\xf4ng markdown, theo schema:
24
24
 
25
25
  <UNTRUSTED_LOCAL_AI_DATA>
26
26
  ${JSON.stringify(C)}
27
- </UNTRUSTED_LOCAL_AI_DATA>`),{content:l,connection:m,isCombo:o}=await (0,g.sn)(a,k),p=function(a){let b=String(a||"").trim(),c=b.match(/```(?:json)?\s*([\s\S]*?)\s*```/i),d=c?.[1]||b,e=d.indexOf("{"),f=d.lastIndexOf("}");if(e<0||f<=e)return null;try{return JSON.parse(d.slice(e,f+1))}catch{return null}}(l);D=A.narrative,d=p&&"object"==typeof p?p:{},f=(e=(a,b,c)=>Array.isArray(a)?a.slice(0,c).map(b).filter(Boolean):[])(d.executiveSummary,a=>n(a,700),10),h=e(d.strengths,a=>({title:n(a?.title,160),evidence:n(a?.evidence,700),confidence:["high","medium","low"].includes(a?.confidence)?a.confidence:"medium"}),8).filter(a=>a.title||a.evidence),i=e(d.weaknesses,a=>({title:n(a?.title,160),evidence:n(a?.evidence,700),impact:n(a?.impact,500),priority:["P0","P1","P2"].includes(a?.priority)?a.priority:"P2"}),8).filter(a=>a.title||a.evidence),j=e(d.actions,a=>({priority:["P0","P1","P2"].includes(a?.priority)?a.priority:"P2",action:n(a?.action,700),owner:n(a?.owner,120),validationMetric:n(a?.validationMetric,300)}),10).filter(a=>a.action),A.narrative={executiveSummary:f.length?f:D.executiveSummary,strengths:h.length?h:D.strengths,weaknesses:i.length?i:D.weaknesses,infrastructureAssessment:n(d.infrastructureAssessment,4e3)||D.infrastructureAssessment,forecast:n(d.forecast,4e3)||D.forecast,actions:j.length?j:D.actions},A.aiModel={value:a,connectionId:o?"combo":m.id,provider:o?"combo":m.provider,model:c,label:(0,g.XA)(o,m,c),parsed:!!p}}catch(a){A.aiWarning=n(a?.message||a,1e3)}}}else A.status="no_traffic",A.confidence="low",A.score=null,A.operationalSignals=["Chưa cấu h\xecnh provider node openai-compatible c\xf3 runtime vLLM."],A.narrative={...A.narrative,executiveSummary:["Chưa t\xecm thấy local vLLM provider trong cấu h\xecnh BlueRouter, v\xec vậy chưa thể tạo b\xe1o c\xe1o lưu lượng local AI."],actions:[{priority:"P1",action:"Kiểm tra Provider Nodes v\xe0 đặt OpenAI-compatible runtime th\xe0nh vLLM cho local AI server.",owner:"AI Platform",validationMetric:"Trang report nhận diện \xedt nhất 1 local vLLM provider"}]};return await (0,i.Xx)({[e.settingsKey]:A}),A}async function w(a="7d"){let b=await (0,i.mt)(),c=l(a),d={"7d":b.dashboardLocalAi7dReport||null,"30d":b.dashboardLocalAi30dReport||null};return{period:c,report:d[c],reports:d,selectedModel:b.dashboardAnalyticsAiModel||""}}d()}catch(a){d(a)}})},62763:(a,b,c)=>{c.d(b,{Jc:()=>r,NY:()=>w,Q1:()=>s,WR:()=>v,X_:()=>u,gX:()=>t});var d=c(77598),e=c.n(d),f=c(51455),g=c.n(f),h=c(76760),i=c.n(h),j=c(49120);let k=i().join(j.DATA_DIR,"cluster-config.json"),l=new Set(["standalone","master","slave"]),m="__blueRouterClusterConfigMutation",n={version:1,nodeId:"",role:"standalone",enabled:!1,masterUrl:"",syncToken:"",intervalMinutes:5,lastAttemptAt:null,lastSyncAt:null,lastSnapshotHash:"",lastError:"",lastResult:null,commandAck:null};function o(a={}){let b=l.has(a.role)?a.role:"standalone";return{...n,...a,version:1,nodeId:String(a.nodeId||"").trim()||e().randomUUID(),role:b,enabled:!0===a.enabled,masterUrl:function(a){let b=String(a||"").trim().replace(/\/+$/,"");if(!b)return"";let c=new URL(b);if(!["http:","https:"].includes(c.protocol))throw Error("Master URL must use http:// or https://");if(c.username||c.password)throw Error("Master URL must not contain credentials");return c.toString().replace(/\/+$/,"")}(a.masterUrl),syncToken:String(a.syncToken||"").trim(),intervalMinutes:Math.min(1440,Math.max(1,Number(a.intervalMinutes)||5))}}async function p(a){await g().mkdir(j.DATA_DIR,{recursive:!0});let b=`${k}.${process.pid}.${e().randomUUID()}.tmp`;try{await g().writeFile(b,JSON.stringify(a,null,2),{mode:384}),await g().rename(b,k)}catch(a){throw await g().unlink(b).catch(()=>{}),a}}function q(a){let b=(globalThis[m]||Promise.resolve()).then(a,a);return globalThis[m]=b.catch(()=>{}),b}async function r({includeSecrets:a=!1}={}){let b={};try{b=JSON.parse(await g().readFile(k,"utf8"))}catch(a){a?.code!=="ENOENT"&&console.warn("[cluster] failed to read config:",a?.message||a)}let c=o(b);if(b.nodeId||await p(c),a)return c;let{syncToken:d,...e}=c;return{...e,hasSyncToken:!!c.syncToken}}async function s(a={}){if(!a||"object"!=typeof a||Array.isArray(a))throw Error("Invalid cluster config payload");return q(async()=>{let b=await r({includeSecrets:!0}),c={};for(let b of["role","enabled","masterUrl","syncToken","intervalMinutes"])Object.prototype.hasOwnProperty.call(a,b)&&(c[b]=a[b]);let d=o({...b,...c});if("master"!==d.role||d.syncToken||(d.syncToken=e().randomBytes(32).toString("base64url")),d.enabled&&"slave"===d.role){if(!d.masterUrl)throw Error("Master URL is required for Standby mode");if(!d.syncToken)throw Error("Sync token is required for Standby mode")}return await p(d),d})}async function t(){return q(async()=>{let a={...await r({includeSecrets:!0}),syncToken:e().randomBytes(32).toString("base64url")};return await p(a),a})}async function u(a={}){return q(async()=>{let b=await r({includeSecrets:!0}),c=o({...b,...a,nodeId:b.nodeId,role:b.role,enabled:b.enabled,masterUrl:b.masterUrl,syncToken:b.syncToken,intervalMinutes:b.intervalMinutes});return await p(c),c})}async function v(){return"slave"===(await r({includeSecrets:!0})).role}function w(a,b){let c=Buffer.from(String(a||"")),d=Buffer.from(String(b||""));return c.length>0&&c.length===d.length&&e().timingSafeEqual(c,d)}},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},64939:a=>{a.exports=import("pg")},66136:a=>{a.exports=require("timers")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},73882:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{M1:()=>j,XA:()=>n,sn:()=>m});var e=c(89718),f=c(30869),g=c(54603),h=c(48895),i=a([h]);function j(a){let b=String(a||""),c=b.indexOf("::");return -1===c?{connectionId:"",model:""}:{connectionId:b.slice(0,c),model:b.slice(c+2)}}async function k(){let a=(await (0,e.PX)()).find(a=>"SYSTEM"===String(a.name||"").trim().toUpperCase());return a?.key||null}async function l(a,b){let c,d=await k();if(!d)throw Error('API key với t\xean "SYSTEM" kh\xf4ng tồn tại, kh\xf4ng thể gọi combo');let e=`http://127.0.0.1:${process.env.PORT||f.h0.appPort}`,h=await fetch(`${e}/api/v1/chat/completions`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${d}`,"x-9r-cli-token":await (0,g.Xj)("9r-cli-auth")},body:JSON.stringify({model:a,stream:!1,messages:[{role:"user",content:b}]}),signal:AbortSignal.timeout(12e4)}),i=await h.text().catch(()=>"");if(!h.ok)throw Error(`Combo trả về lỗi ${h.status}: ${i.slice(0,500)}`);try{c=JSON.parse(i)}catch{throw Error("Combo kh\xf4ng trả về JSON hợp lệ")}return c?.choices?.[0]?.message?.content||""}async function m(a,b){let c,{connectionId:d,model:f}=j(a),g="combo"===d;if(!d||!f)throw Error("Chưa chọn AI model để ph\xe2n t\xedch");let i=g?null:await (0,e.Mc)(d);if(!g&&(!i||!1===i.isActive))throw Error("Kh\xf4ng t\xecm thấy kết nối AI hoặc kết nối đ\xe3 bị v\xf4 hiệu h\xf3a");if(g)c=await l(f,b);else{let a={apiKey:i.apiKey,accessToken:i.accessToken,refreshToken:i.refreshToken,copilotToken:i.copilotToken,projectId:i.projectId,providerSpecificData:i.providerSpecificData},d=(0,h.SB)(i.provider),e={model:f,stream:!1,messages:[{role:"user",content:b}]},{response:g}=await d.execute({model:f,body:e,stream:!1,credentials:a});if(401===g.status||403===g.status){let b=await (0,h.$B)(i.provider,a);(b?.accessToken||b?.copilotToken)&&(Object.assign(a,b),{response:g}=await d.execute({model:f,body:e,stream:!1,credentials:a}))}if(!g.ok){let a=await g.text();throw Error(`Provider trả về lỗi ${g.status}: ${a.slice(0,500)}`)}let j=await g.json();c=j?.choices?.[0]?.message?.content||""}if(!c)throw Error("Provider kh\xf4ng trả về nội dung ph\xe2n t\xedch");return{content:c,connection:i,isCombo:g}}function n(a,b,c){return a?`Combo — ${c}`:`${b.name||b.provider} — ${c}`}h=(i.then?(await i)():i)[0],d()}catch(a){d(a)}})},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79428:a=>{a.exports=require("buffer")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},80099:a=>{a.exports=require("node:sqlite")},81630:a=>{a.exports=require("http")},81787:a=>{a.exports=require("bun:sqlite")},83997:a=>{a.exports=require("tty")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},90389:(a,b,c)=>{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/prompt-logs",label:"Prompt Logs",icon:"manage_search"}]),Object.freeze(["/dashboard","/dashboard/endpoint","/dashboard/api-keys","/dashboard/usage","/dashboard/analytics","/dashboard/ai-power-index","/dashboard/quota","/dashboard/prompt-logs"])},91645:a=>{a.exports=require("net")},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},94735:a=>{a.exports=require("events")},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,5592,5573,4433,5433,402,5681,4404,6064,436,8590,6992,318,5901,8895,7242,8360],()=>b(b.s=44966));module.exports=c})();
27
+ </UNTRUSTED_LOCAL_AI_DATA>`),{content:l,connection:m,isCombo:o}=await (0,g.sn)(a,k),p=function(a){let b=String(a||"").trim(),c=b.match(/```(?:json)?\s*([\s\S]*?)\s*```/i),d=c?.[1]||b,e=d.indexOf("{"),f=d.lastIndexOf("}");if(e<0||f<=e)return null;try{return JSON.parse(d.slice(e,f+1))}catch{return null}}(l);D=A.narrative,d=p&&"object"==typeof p?p:{},f=(e=(a,b,c)=>Array.isArray(a)?a.slice(0,c).map(b).filter(Boolean):[])(d.executiveSummary,a=>n(a,700),10),h=e(d.strengths,a=>({title:n(a?.title,160),evidence:n(a?.evidence,700),confidence:["high","medium","low"].includes(a?.confidence)?a.confidence:"medium"}),8).filter(a=>a.title||a.evidence),i=e(d.weaknesses,a=>({title:n(a?.title,160),evidence:n(a?.evidence,700),impact:n(a?.impact,500),priority:["P0","P1","P2"].includes(a?.priority)?a.priority:"P2"}),8).filter(a=>a.title||a.evidence),j=e(d.actions,a=>({priority:["P0","P1","P2"].includes(a?.priority)?a.priority:"P2",action:n(a?.action,700),owner:n(a?.owner,120),validationMetric:n(a?.validationMetric,300)}),10).filter(a=>a.action),A.narrative={executiveSummary:f.length?f:D.executiveSummary,strengths:h.length?h:D.strengths,weaknesses:i.length?i:D.weaknesses,infrastructureAssessment:n(d.infrastructureAssessment,4e3)||D.infrastructureAssessment,forecast:n(d.forecast,4e3)||D.forecast,actions:j.length?j:D.actions},A.aiModel={value:a,connectionId:o?"combo":m.id,provider:o?"combo":m.provider,model:c,label:(0,g.XA)(o,m,c),parsed:!!p}}catch(a){A.aiWarning=n(a?.message||a,1e3)}}}else A.status="no_traffic",A.confidence="low",A.score=null,A.operationalSignals=["Chưa cấu h\xecnh provider node openai-compatible c\xf3 runtime vLLM."],A.narrative={...A.narrative,executiveSummary:["Chưa t\xecm thấy local vLLM provider trong cấu h\xecnh BlueRouter, v\xec vậy chưa thể tạo b\xe1o c\xe1o lưu lượng local AI."],actions:[{priority:"P1",action:"Kiểm tra Provider Nodes v\xe0 đặt OpenAI-compatible runtime th\xe0nh vLLM cho local AI server.",owner:"AI Platform",validationMetric:"Trang report nhận diện \xedt nhất 1 local vLLM provider"}]};return await (0,i.Xx)({[e.settingsKey]:A}),A}async function w(a="7d"){let b=await (0,i.mt)(),c=l(a),d={"7d":b.dashboardLocalAi7dReport||null,"30d":b.dashboardLocalAi30dReport||null};return{period:c,report:d[c],reports:d,selectedModel:b.dashboardAnalyticsAiModel||""}}d()}catch(a){d(a)}})},62763:(a,b,c)=>{c.d(b,{Jc:()=>r,NY:()=>w,Q1:()=>s,WR:()=>v,X_:()=>u,gX:()=>t});var d=c(77598),e=c.n(d),f=c(51455),g=c.n(f),h=c(76760),i=c.n(h),j=c(49120);let k=i().join(j.DATA_DIR,"cluster-config.json"),l=new Set(["standalone","master","slave"]),m="__blueRouterClusterConfigMutation",n={version:1,nodeId:"",role:"standalone",enabled:!1,masterUrl:"",syncToken:"",intervalMinutes:5,lastAttemptAt:null,lastSyncAt:null,lastSnapshotHash:"",lastError:"",lastResult:null,commandAck:null};function o(a={}){let b=l.has(a.role)?a.role:"standalone";return{...n,...a,version:1,nodeId:String(a.nodeId||"").trim()||e().randomUUID(),role:b,enabled:!0===a.enabled,masterUrl:function(a){let b=String(a||"").trim().replace(/\/+$/,"");if(!b)return"";let c=new URL(b);if(!["http:","https:"].includes(c.protocol))throw Error("Master URL must use http:// or https://");if(c.username||c.password)throw Error("Master URL must not contain credentials");return c.toString().replace(/\/+$/,"")}(a.masterUrl),syncToken:String(a.syncToken||"").trim(),intervalMinutes:Math.min(1440,Math.max(1,Number(a.intervalMinutes)||5))}}async function p(a){await g().mkdir(j.DATA_DIR,{recursive:!0});let b=`${k}.${process.pid}.${e().randomUUID()}.tmp`;try{await g().writeFile(b,JSON.stringify(a,null,2),{mode:384}),await g().rename(b,k)}catch(a){throw await g().unlink(b).catch(()=>{}),a}}function q(a){let b=(globalThis[m]||Promise.resolve()).then(a,a);return globalThis[m]=b.catch(()=>{}),b}async function r({includeSecrets:a=!1}={}){let b={};try{b=JSON.parse(await g().readFile(k,"utf8"))}catch(a){a?.code!=="ENOENT"&&console.warn("[cluster] failed to read config:",a?.message||a)}let c=o(b);if(b.nodeId||await p(c),a)return c;let{syncToken:d,...e}=c;return{...e,hasSyncToken:!!c.syncToken}}async function s(a={}){if(!a||"object"!=typeof a||Array.isArray(a))throw Error("Invalid cluster config payload");return q(async()=>{let b=await r({includeSecrets:!0}),c={};for(let b of["role","enabled","masterUrl","syncToken","intervalMinutes"])Object.prototype.hasOwnProperty.call(a,b)&&(c[b]=a[b]);let d=o({...b,...c});if("master"!==d.role||d.syncToken||(d.syncToken=e().randomBytes(32).toString("base64url")),d.enabled&&"slave"===d.role){if(!d.masterUrl)throw Error("Master URL is required for Standby mode");if(!d.syncToken)throw Error("Sync token is required for Standby mode")}return await p(d),d})}async function t(){return q(async()=>{let a={...await r({includeSecrets:!0}),syncToken:e().randomBytes(32).toString("base64url")};return await p(a),a})}async function u(a={}){return q(async()=>{let b=await r({includeSecrets:!0}),c=o({...b,...a,nodeId:b.nodeId,role:b.role,enabled:b.enabled,masterUrl:b.masterUrl,syncToken:b.syncToken,intervalMinutes:b.intervalMinutes});return await p(c),c})}async function v(){return"slave"===(await r({includeSecrets:!0})).role}function w(a,b){let c=Buffer.from(String(a||"")),d=Buffer.from(String(b||""));return c.length>0&&c.length===d.length&&e().timingSafeEqual(c,d)}},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},64939:a=>{a.exports=import("pg")},66136:a=>{a.exports=require("timers")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},73882:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{M1:()=>j,XA:()=>n,sn:()=>m});var e=c(89718),f=c(30869),g=c(54603),h=c(48895),i=a([h]);function j(a){let b=String(a||""),c=b.indexOf("::");return -1===c?{connectionId:"",model:""}:{connectionId:b.slice(0,c),model:b.slice(c+2)}}async function k(){let a=(await (0,e.PX)()).find(a=>"SYSTEM"===String(a.name||"").trim().toUpperCase());return a?.key||null}async function l(a,b){let c,d=await k();if(!d)throw Error('API key với t\xean "SYSTEM" kh\xf4ng tồn tại, kh\xf4ng thể gọi combo');let e=`http://127.0.0.1:${process.env.PORT||f.h0.appPort}`,h=await fetch(`${e}/api/v1/chat/completions`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${d}`,"x-9r-cli-token":await (0,g.Xj)("9r-cli-auth")},body:JSON.stringify({model:a,stream:!1,messages:[{role:"user",content:b}]}),signal:AbortSignal.timeout(12e4)}),i=await h.text().catch(()=>"");if(!h.ok)throw Error(`Combo trả về lỗi ${h.status}: ${i.slice(0,500)}`);try{c=JSON.parse(i)}catch{throw Error("Combo kh\xf4ng trả về JSON hợp lệ")}return c?.choices?.[0]?.message?.content||""}async function m(a,b){let c,{connectionId:d,model:f}=j(a),g="combo"===d;if(!d||!f)throw Error("Chưa chọn AI model để ph\xe2n t\xedch");let i=g?null:await (0,e.Mc)(d);if(!g&&(!i||!1===i.isActive))throw Error("Kh\xf4ng t\xecm thấy kết nối AI hoặc kết nối đ\xe3 bị v\xf4 hiệu h\xf3a");if(g)c=await l(f,b);else{let a={apiKey:i.apiKey,accessToken:i.accessToken,refreshToken:i.refreshToken,copilotToken:i.copilotToken,projectId:i.projectId,providerSpecificData:i.providerSpecificData},d=(0,h.SB)(i.provider),e={model:f,stream:!1,messages:[{role:"user",content:b}]},{response:g}=await d.execute({model:f,body:e,stream:!1,credentials:a});if(401===g.status||403===g.status){let b=await (0,h.$B)(i.provider,a);(b?.accessToken||b?.copilotToken)&&(Object.assign(a,b),{response:g}=await d.execute({model:f,body:e,stream:!1,credentials:a}))}if(!g.ok){let a=await g.text();throw Error(`Provider trả về lỗi ${g.status}: ${a.slice(0,500)}`)}let j=await g.json();c=j?.choices?.[0]?.message?.content||""}if(!c)throw Error("Provider kh\xf4ng trả về nội dung ph\xe2n t\xedch");return{content:c,connection:i,isCombo:g}}function n(a,b,c){return a?`Combo — ${c}`:`${b.name||b.provider} — ${c}`}h=(i.then?(await i)():i)[0],d()}catch(a){d(a)}})},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79428:a=>{a.exports=require("buffer")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},80099:a=>{a.exports=require("node:sqlite")},81630:a=>{a.exports=require("http")},81787:a=>{a.exports=require("bun:sqlite")},83997:a=>{a.exports=require("tty")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},90389:(a,b,c)=>{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/prompt-logs",label:"Prompt Logs",icon:"manage_search"}]),Object.freeze(["/dashboard","/dashboard/endpoint","/dashboard/api-keys","/dashboard/usage","/dashboard/analytics","/dashboard/ai-power-index","/dashboard/quota","/dashboard/prompt-logs"])},91645:a=>{a.exports=require("net")},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},94735:a=>{a.exports=require("events")},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}},99145:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>z,patchFetch:()=>y,routeModule:()=>u,serverHooks:()=>x,workAsyncStorage:()=>v,workUnitAsyncStorage:()=>w});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(37527);let u=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/dashboard/local-ai-report/route",pathname:"/api/dashboard/local-ai-report",filename:"route",bundlePath:"app/api/dashboard/local-ai-report/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"D:\\bluerouter\\src\\app\\api\\dashboard\\local-ai-report\\route.js",nextConfigOutput:"standalone",userland:()=>c(1900),...{}}),{workAsyncStorage:v,workUnitAsyncStorage:w,serverHooks:x}=u;function y(){return(0,f.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:w})}async function z(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),u.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/dashboard/local-ai-report/route";"/index"===d&&(d="/");let f=await u.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:v,deploymentId:w,params:x,nextConfig:y,parsedUrl:z,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=f,I=(0,j.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,z,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(y.adapterPath)return await K();throw new s.NoFallbackError}}let L=null;!J||u.isDev||A||(L="/index"===(L=F)?"/":L);let M=!0===u.isDev||!J,N=J&&!M;H&&G&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,h.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,g.getRequestMeta)(a,"minimalMode"),T=(0,g.getRequestMeta)(a,"incrementalCache")||await u.getIncrementalCache(a,y,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:x,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts,useCacheTimeout:y.experimental.useCacheTimeout},cacheComponents:!!y.cacheComponents,validationLevel:y.experimental.instantInsights.validationLevel,supportsDynamicResponse:M,incrementalCache:T,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:y.cacheLife,staticPageGenerationTimeout:y.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>u.onRequestError(a,b,d,e,C)},sharedContext:{buildId:v,deploymentId:w}},V=new k.NodeNextRequest(a),W=new k.NodeNextResponse(b),X=l.NextRequestAdapter.fromNodeNextRequest(V,(0,l.signalFromNodeResponse)(b)),Y=async({previousCacheEntry:e})=>{try{if(!S&&D&&E&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await u.handle(X,U);a.fetchMetrics=U.renderOpts.fetchMetrics;let f=U.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=U.renderOpts.collectedTags;if(!J)return await (0,o.I)(V,W,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?y.expireTime:void 0:U.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await u.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},Z=async(d,f)=>{try{var g,i;let d=await u.handleResponse({req:a,nextConfig:y,cacheKey:L,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:Y,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);S&&J||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(V,W,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await u.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;await (0,o.I)(V,W,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||I,g=`${O} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(R&&Q)await Z(Q,void 0);else{let b=P.getActiveScopeSpan();await P.withPropagatedContext(a.headers,()=>P.trace(m.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},a=>Z(a,b)),void 0,!R)}}}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,5592,5573,4433,5433,402,5681,4404,6064,436,8590,6992,318,5901,8895,7242,8360],()=>b(b.s=99145));module.exports=c})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../../cli/.build-home/AppData/Roaming/bluerouter/db/backups/upgrade-5.3.40-to-5.3.41-5.3.41-20260821-072821/data.sqlite","../../../../../../cli/.build-home/AppData/Roaming/bluerouter/db/backups/upgrade-5.3.41-to-5.3.43-5.3.43-20260822-131146/data.sqlite","../../../../../../cli/.build-home/AppData/Roaming/bluerouter/db/backups/upgrade-5.3.43-to-5.3.44-5.3.44-20260822-133629/data.sqlite","../../../../../../cli/.build-home/AppData/Roaming/bluerouter/db/backups/upgrade-5.3.44-to-5.3.45-5.3.45-20260822-134846/data.sqlite","../../../../../../cli/.build-home/AppData/Roaming/bluerouter/db/backups/upgrade-5.3.45-to-5.3.46-5.3.46-20260822-140303/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/next-server/app-route.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/page-path/ensure-leading-slash.js","../../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../../../node_modules/next/dist/shared/lib/segment.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/lib/oauth/services/xai.js","../../../../../../src/shared/utils/apiKey.js","../../../../../package.json","../../../../chunks/1220.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/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/3696.js","../../../../chunks/3801.js","../../../../chunks/3824.js","../../../../chunks/4013.js","../../../../chunks/4017.js","../../../../chunks/402.js","../../../../chunks/4123.js","../../../../chunks/4177.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/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/698.js","../../../../chunks/6992.js","../../../../chunks/7242.js","../../../../chunks/7250.js","../../../../chunks/7341.js","../../../../chunks/7464.js","../../../../chunks/7639.js","../../../../chunks/7669.js","../../../../chunks/7753.js","../../../../chunks/7774.js","../../../../chunks/7812.js","../../../../chunks/7828.js","../../../../chunks/7965.js","../../../../chunks/8023.js","../../../../chunks/8062.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/8627.js","../../../../chunks/8640.js","../../../../chunks/8895.js","../../../../chunks/8946.js","../../../../chunks/9413.js","../../../../chunks/9483.js","../../../../chunks/9489.js","../../../../chunks/9609.js","../../../../chunks/9868.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../../../../cli/.build-home/AppData/Roaming/bluerouter/db/backups/upgrade-5.3.41-to-5.3.43-5.3.43-20260822-131146/data.sqlite","../../../../../../cli/.build-home/AppData/Roaming/bluerouter/db/backups/upgrade-5.3.43-to-5.3.44-5.3.44-20260822-133629/data.sqlite","../../../../../../cli/.build-home/AppData/Roaming/bluerouter/db/backups/upgrade-5.3.44-to-5.3.45-5.3.45-20260822-134846/data.sqlite","../../../../../../cli/.build-home/AppData/Roaming/bluerouter/db/backups/upgrade-5.3.45-to-5.3.46-5.3.46-20260822-140303/data.sqlite","../../../../../../cli/.build-home/AppData/Roaming/bluerouter/db/backups/upgrade-5.3.46-to-5.3.47-5.3.47-20260822-172255/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/next-server/app-route.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/page-path/ensure-leading-slash.js","../../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../../../node_modules/next/dist/shared/lib/segment.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/lib/oauth/services/xai.js","../../../../../../src/shared/utils/apiKey.js","../../../../../package.json","../../../../chunks/1220.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/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/3696.js","../../../../chunks/3801.js","../../../../chunks/3824.js","../../../../chunks/4013.js","../../../../chunks/4017.js","../../../../chunks/402.js","../../../../chunks/4123.js","../../../../chunks/4177.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/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/698.js","../../../../chunks/6992.js","../../../../chunks/7242.js","../../../../chunks/7250.js","../../../../chunks/7341.js","../../../../chunks/7464.js","../../../../chunks/7639.js","../../../../chunks/7669.js","../../../../chunks/7753.js","../../../../chunks/7774.js","../../../../chunks/7812.js","../../../../chunks/7828.js","../../../../chunks/7965.js","../../../../chunks/8023.js","../../../../chunks/8062.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/8627.js","../../../../chunks/8640.js","../../../../chunks/8895.js","../../../../chunks/8946.js","../../../../chunks/9413.js","../../../../chunks/9483.js","../../../../chunks/9489.js","../../../../chunks/9609.js","../../../../chunks/9868.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=3161,a.ids=[3161],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1932:a=>{a.exports=require("url")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{a.exports=require("node:buffer")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19225:(a,b,c)=>{a.exports=c(44870)},19771:a=>{a.exports=require("process")},21820:a=>{a.exports=require("os")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},34631:a=>{a.exports=require("tls")},41204:a=>{a.exports=require("string_decoder")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},60206:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>z,patchFetch:()=>y,routeModule:()=>u,serverHooks:()=>x,workAsyncStorage:()=>v,workUnitAsyncStorage:()=>w});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(37527);let u=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/dashboard/prompt-logs/[id]/route",pathname:"/api/dashboard/prompt-logs/[id]",filename:"route",bundlePath:"app/api/dashboard/prompt-logs/[id]/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"D:\\bluerouter\\src\\app\\api\\dashboard\\prompt-logs\\[id]\\route.js",nextConfigOutput:"standalone",userland:()=>c(89753),...{}}),{workAsyncStorage:v,workUnitAsyncStorage:w,serverHooks:x}=u;function y(){return(0,f.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:w})}async function z(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),u.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/dashboard/prompt-logs/[id]/route";"/index"===d&&(d="/");let f=await u.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:v,deploymentId:w,params:x,nextConfig:y,parsedUrl:z,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=f,I=(0,j.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,z,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(y.adapterPath)return await K();throw new s.NoFallbackError}}let L=null;!J||u.isDev||A||(L="/index"===(L=F)?"/":L);let M=!0===u.isDev||!J,N=J&&!M;H&&G&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,h.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,g.getRequestMeta)(a,"minimalMode"),T=(0,g.getRequestMeta)(a,"incrementalCache")||await u.getIncrementalCache(a,y,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:x,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts,useCacheTimeout:y.experimental.useCacheTimeout},cacheComponents:!!y.cacheComponents,validationLevel:y.experimental.instantInsights.validationLevel,supportsDynamicResponse:M,incrementalCache:T,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:y.cacheLife,staticPageGenerationTimeout:y.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>u.onRequestError(a,b,d,e,C)},sharedContext:{buildId:v,deploymentId:w}},V=new k.NodeNextRequest(a),W=new k.NodeNextResponse(b),X=l.NextRequestAdapter.fromNodeNextRequest(V,(0,l.signalFromNodeResponse)(b)),Y=async({previousCacheEntry:e})=>{try{if(!S&&D&&E&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await u.handle(X,U);a.fetchMetrics=U.renderOpts.fetchMetrics;let f=U.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=U.renderOpts.collectedTags;if(!J)return await (0,o.I)(V,W,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?y.expireTime:void 0:U.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await u.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},Z=async(d,f)=>{try{var g,i;let d=await u.handleResponse({req:a,nextConfig:y,cacheKey:L,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:Y,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);S&&J||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(V,W,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await u.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;await (0,o.I)(V,W,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||I,g=`${O} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(R&&Q)await Z(Q,void 0);else{let b=P.getActiveScopeSpan();await P.withPropagatedContext(a.headers,()=>P.trace(m.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},a=>Z(a,b)),void 0,!R)}}},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},64939:a=>{a.exports=import("pg")},66136:a=>{a.exports=require("timers")},73024:a=>{a.exports=require("node:fs")},74075:a=>{a.exports=require("zlib")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79428:a=>{a.exports=require("buffer")},79748:a=>{a.exports=require("fs/promises")},80099:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},89753:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>h,GET:()=>g});var d=c(23211),e=c(97242);async function f(a){let b=await a;return decodeURIComponent(b?.id||"")}async function g(a,b){try{let a=await f(b.params);if(!a)return d.NextResponse.json({error:"Missing prompt log id"},{status:400});let c=await (0,e.nv)(a);if(!c)return d.NextResponse.json({error:"Prompt log not found",id:a},{status:404});return d.NextResponse.json({row:c})}catch(a){return console.log("Failed to read prompt log:",a.message),d.NextResponse.json({error:a.message||"Failed to read prompt log"},{status:500})}}async function h(a,b){try{let a=await f(b.params);if(!a)return d.NextResponse.json({error:"Missing prompt log id"},{status:400});let c=await (0,e._3)(a);return d.NextResponse.json({success:!0,id:a,...c})}catch(a){return console.log("Failed to delete prompt log:",a.message),d.NextResponse.json({error:a.message||"Failed to delete prompt log"},{status:500})}}},91645:a=>{a.exports=require("net")},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},94735:a=>{a.exports=require("events")},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,5592,402,7242],()=>b(b.s=60206));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=3161,a.ids=[3161],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1932:a=>{a.exports=require("url")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{a.exports=require("node:buffer")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19225:(a,b,c)=>{a.exports=c(44870)},19771:a=>{a.exports=require("process")},21820:a=>{a.exports=require("os")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},34631:a=>{a.exports=require("tls")},41204:a=>{a.exports=require("string_decoder")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},64939:a=>{a.exports=import("pg")},66136:a=>{a.exports=require("timers")},71617:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>z,patchFetch:()=>y,routeModule:()=>u,serverHooks:()=>x,workAsyncStorage:()=>v,workUnitAsyncStorage:()=>w});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(37527);let u=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/dashboard/prompt-logs/[id]/route",pathname:"/api/dashboard/prompt-logs/[id]",filename:"route",bundlePath:"app/api/dashboard/prompt-logs/[id]/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"D:\\bluerouter\\src\\app\\api\\dashboard\\prompt-logs\\[id]\\route.js",nextConfigOutput:"standalone",userland:()=>c(89753),...{}}),{workAsyncStorage:v,workUnitAsyncStorage:w,serverHooks:x}=u;function y(){return(0,f.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:w})}async function z(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),u.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/dashboard/prompt-logs/[id]/route";"/index"===d&&(d="/");let f=await u.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:v,deploymentId:w,params:x,nextConfig:y,parsedUrl:z,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=f,I=(0,j.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,z,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(y.adapterPath)return await K();throw new s.NoFallbackError}}let L=null;!J||u.isDev||A||(L="/index"===(L=F)?"/":L);let M=!0===u.isDev||!J,N=J&&!M;H&&G&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,h.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,g.getRequestMeta)(a,"minimalMode"),T=(0,g.getRequestMeta)(a,"incrementalCache")||await u.getIncrementalCache(a,y,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:x,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts,useCacheTimeout:y.experimental.useCacheTimeout},cacheComponents:!!y.cacheComponents,validationLevel:y.experimental.instantInsights.validationLevel,supportsDynamicResponse:M,incrementalCache:T,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:y.cacheLife,staticPageGenerationTimeout:y.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>u.onRequestError(a,b,d,e,C)},sharedContext:{buildId:v,deploymentId:w}},V=new k.NodeNextRequest(a),W=new k.NodeNextResponse(b),X=l.NextRequestAdapter.fromNodeNextRequest(V,(0,l.signalFromNodeResponse)(b)),Y=async({previousCacheEntry:e})=>{try{if(!S&&D&&E&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await u.handle(X,U);a.fetchMetrics=U.renderOpts.fetchMetrics;let f=U.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=U.renderOpts.collectedTags;if(!J)return await (0,o.I)(V,W,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?y.expireTime:void 0:U.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await u.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},Z=async(d,f)=>{try{var g,i;let d=await u.handleResponse({req:a,nextConfig:y,cacheKey:L,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:Y,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);S&&J||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(V,W,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await u.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;await (0,o.I)(V,W,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||I,g=`${O} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(R&&Q)await Z(Q,void 0);else{let b=P.getActiveScopeSpan();await P.withPropagatedContext(a.headers,()=>P.trace(m.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},a=>Z(a,b)),void 0,!R)}}},73024:a=>{a.exports=require("node:fs")},74075:a=>{a.exports=require("zlib")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79428:a=>{a.exports=require("buffer")},79748:a=>{a.exports=require("fs/promises")},80099:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},89753:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>h,GET:()=>g});var d=c(23211),e=c(97242);async function f(a){let b=await a;return decodeURIComponent(b?.id||"")}async function g(a,b){try{let a=await f(b.params);if(!a)return d.NextResponse.json({error:"Missing prompt log id"},{status:400});let c=await (0,e.nv)(a);if(!c)return d.NextResponse.json({error:"Prompt log not found",id:a},{status:404});return d.NextResponse.json({row:c})}catch(a){return console.log("Failed to read prompt log:",a.message),d.NextResponse.json({error:a.message||"Failed to read prompt log"},{status:500})}}async function h(a,b){try{let a=await f(b.params);if(!a)return d.NextResponse.json({error:"Missing prompt log id"},{status:400});let c=await (0,e._3)(a);return d.NextResponse.json({success:!0,id:a,...c})}catch(a){return console.log("Failed to delete prompt log:",a.message),d.NextResponse.json({error:a.message||"Failed to delete prompt log"},{status:500})}}},91645:a=>{a.exports=require("net")},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},94735:a=>{a.exports=require("events")},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,5592,402,7242],()=>b(b.s=71617));module.exports=c})();