@jheavenknows/bluerouter 5.3.42 → 5.3.44

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 (1088) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +6 -5
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/prerender-manifest.json +1 -1
  5. package/app/.next-cli-build/routes-manifest.json +6 -0
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/ai-power-index/page.js +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/ai-power-index/page.js.nft.json +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/ai-power-index/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page.js.nft.json +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page.js +2 -2
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page.js.nft.json +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/model-profiles/page.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/model-profiles/page.js.nft.json +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/model-profiles/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cluster/page.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cluster/page.js.nft.json +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cluster/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/local-ai-report/page.js +2 -2
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/local-ai-report/page.js.nft.json +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/local-ai-report/page_client-reference-manifest.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovider/page.js +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovider/page.js.nft.json +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovider/page_client-reference-manifest.js +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovidermonitor/page.js +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovidermonitor/page.js.nft.json +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovidermonitor/page_client-reference-manifest.js +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalquota/page.js +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalquota/page.js.nft.json +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalquota/page_client-reference-manifest.js +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page.js +1 -1
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page.js.nft.json +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page_client-reference-manifest.js +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page.js +1 -1
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page.js.nft.json +1 -1
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page_client-reference-manifest.js +1 -1
  78. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  79. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  80. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  81. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  82. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  83. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  84. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  85. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  86. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  87. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
  88. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  89. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  90. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  91. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  92. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  93. package/app/.next-cli-build/server/app/(dashboard)/dashboard/resource-monitor/page.js +2 -2
  94. package/app/.next-cli-build/server/app/(dashboard)/dashboard/resource-monitor/page.js.nft.json +1 -1
  95. package/app/.next-cli-build/server/app/(dashboard)/dashboard/resource-monitor/page_client-reference-manifest.js +1 -1
  96. package/app/.next-cli-build/server/app/(dashboard)/dashboard/routing-topology/page.js +1 -1
  97. package/app/.next-cli-build/server/app/(dashboard)/dashboard/routing-topology/page.js.nft.json +1 -1
  98. package/app/.next-cli-build/server/app/(dashboard)/dashboard/routing-topology/page_client-reference-manifest.js +1 -1
  99. package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page.js +1 -1
  100. package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page.js.nft.json +1 -1
  101. package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  102. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
  103. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  104. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  105. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
  106. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  107. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  108. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
  109. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  111. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  112. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  113. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  114. package/app/.next-cli-build/server/app/_global-error/page.js +2 -2
  115. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  117. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  118. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  119. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  120. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  121. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  122. package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
  123. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  125. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  126. package/app/.next-cli-build/server/app/_not-found.rsc +6 -6
  127. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +6 -6
  128. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +6 -6
  129. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  130. package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js +1 -1
  131. package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js +1 -1
  133. package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/auth/login/route.js +2 -2
  135. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  137. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  139. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  141. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  143. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  145. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/auth/view-mode/route.js +1 -1
  147. package/app/.next-cli-build/server/app/api/auth/view-mode/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/branding/[asset]/route.js +1 -1
  149. package/app/.next-cli-build/server/app/api/branding/[asset]/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/branding/route.js +1 -1
  151. package/app/.next-cli-build/server/app/api/branding/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/branding/upload/route.js +1 -1
  153. package/app/.next-cli-build/server/app/api/branding/upload/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/cli-model-profiles/cloud-models/route.js +1 -1
  155. package/app/.next-cli-build/server/app/api/cli-model-profiles/cloud-models/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/cli-model-profiles/route.js +1 -1
  157. package/app/.next-cli-build/server/app/api/cli-model-profiles/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +3 -3
  159. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  161. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route.js +1 -1
  163. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route.js +2 -2
  165. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route.js +1 -1
  167. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  169. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  171. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  173. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  175. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  176. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +1 -1
  177. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  179. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  181. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  183. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +3 -3
  185. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  187. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +1 -1
  189. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  191. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  193. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +1 -1
  195. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  197. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/cli-tools/qwen-settings/route.js +1 -1
  199. package/app/.next-cli-build/server/app/api/cli-tools/qwen-settings/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/cluster/config/route.js +1 -1
  201. package/app/.next-cli-build/server/app/api/cluster/config/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/cluster/heartbeat/route.js +1 -1
  203. package/app/.next-cli-build/server/app/api/cluster/heartbeat/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/cluster/peers/[id]/command/route.js +1 -1
  205. package/app/.next-cli-build/server/app/api/cluster/peers/[id]/command/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/cluster/peers/[id]/route.js +1 -1
  207. package/app/.next-cli-build/server/app/api/cluster/peers/[id]/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/cluster/peers/route.js +1 -1
  209. package/app/.next-cli-build/server/app/api/cluster/peers/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/cluster/snapshot/route.js +2 -2
  211. package/app/.next-cli-build/server/app/api/cluster/snapshot/route.js.nft.json +1 -1
  212. package/app/.next-cli-build/server/app/api/cluster/sync/route.js +1 -1
  213. package/app/.next-cli-build/server/app/api/cluster/sync/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/cluster/test/route.js +1 -1
  215. package/app/.next-cli-build/server/app/api/cluster/test/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +2 -2
  217. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  219. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/dashboard/ai-power-index/route.js +1 -1
  221. package/app/.next-cli-build/server/app/api/dashboard/ai-power-index/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/dashboard/analytics/ai-models/route.js +1 -1
  223. package/app/.next-cli-build/server/app/api/dashboard/analytics/ai-models/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/dashboard/analytics/analyze/route.js +2 -2
  225. package/app/.next-cli-build/server/app/api/dashboard/analytics/analyze/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/dashboard/analytics/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/dashboard/analytics/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/dashboard/combos/route.js +1 -1
  229. package/app/.next-cli-build/server/app/api/dashboard/combos/route.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/api/dashboard/endpoint/route.js +1 -1
  231. package/app/.next-cli-build/server/app/api/dashboard/endpoint/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/dashboard/local-ai-report/route.js +2 -2
  233. package/app/.next-cli-build/server/app/api/dashboard/local-ai-report/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js +1 -1
  235. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/options/route.js +1 -1
  237. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/options/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js +1 -1
  239. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/dashboard/routing-topology/config/route.js +1 -1
  241. package/app/.next-cli-build/server/app/api/dashboard/routing-topology/config/route.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/api/dashboard/routing-topology/live/route.js +1 -1
  243. package/app/.next-cli-build/server/app/api/dashboard/routing-topology/live/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/dashboard/routing-topology/route.js +1 -1
  245. package/app/.next-cli-build/server/app/api/dashboard/routing-topology/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/dashboard/token-saver/route.js +2 -2
  247. package/app/.next-cli-build/server/app/api/dashboard/token-saver/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  249. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  251. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/keys/[id]/caveman-test/route.js +1 -1
  253. package/app/.next-cli-build/server/app/api/keys/[id]/caveman-test/route.js.nft.json +1 -1
  254. package/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js +1 -1
  255. package/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  257. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  259. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  261. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
  263. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  264. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
  265. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  266. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  267. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +2 -2
  269. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  270. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  271. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  272. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  273. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  274. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +2 -2
  275. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  276. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  277. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  278. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  279. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  281. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  282. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  283. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  284. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  285. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  287. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  288. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  289. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  290. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  291. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  292. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  293. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  294. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  295. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  296. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  297. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  298. package/app/.next-cli-build/server/app/api/oauth/grok-cli/device-code/route.js +1 -1
  299. package/app/.next-cli-build/server/app/api/oauth/grok-cli/device-code/route.js.nft.json +1 -1
  300. package/app/.next-cli-build/server/app/api/oauth/grok-cli/poll/route.js +1 -1
  301. package/app/.next-cli-build/server/app/api/oauth/grok-cli/poll/route.js.nft.json +1 -1
  302. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  303. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  304. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  305. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  306. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  307. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  308. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  309. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  310. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  311. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  312. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/api-key-models/route.js +1 -1
  313. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/api-key-models/route.js.nft.json +1 -1
  314. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/import-models/route.js +1 -1
  315. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/import-models/route.js.nft.json +1 -1
  316. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/models/[...routeModel]/route.js +1 -1
  317. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/models/[...routeModel]/route.js.nft.json +1 -1
  318. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/move/route.js +1 -1
  319. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/move/route.js.nft.json +1 -1
  320. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/route.js +1 -1
  321. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/route.js.nft.json +1 -1
  322. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/usage/route.js +1 -1
  323. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/usage/route.js.nft.json +1 -1
  324. package/app/.next-cli-build/server/app/api/personal-cloud-providers/client/route.js +1 -1
  325. package/app/.next-cli-build/server/app/api/personal-cloud-providers/client/route.js.nft.json +1 -1
  326. package/app/.next-cli-build/server/app/api/personal-cloud-providers/monitor/route.js +1 -1
  327. package/app/.next-cli-build/server/app/api/personal-cloud-providers/monitor/route.js.nft.json +1 -1
  328. package/app/.next-cli-build/server/app/api/personal-cloud-providers/permissions/route.js +1 -1
  329. package/app/.next-cli-build/server/app/api/personal-cloud-providers/permissions/route.js.nft.json +1 -1
  330. package/app/.next-cli-build/server/app/api/personal-cloud-providers/route.js +1 -1
  331. package/app/.next-cli-build/server/app/api/personal-cloud-providers/route.js.nft.json +1 -1
  332. package/app/.next-cli-build/server/app/api/personal-cloud-providers/routing/route.js +1 -1
  333. package/app/.next-cli-build/server/app/api/personal-cloud-providers/routing/route.js.nft.json +1 -1
  334. package/app/.next-cli-build/server/app/api/personal-cloud-providers/shares/route.js +1 -1
  335. package/app/.next-cli-build/server/app/api/personal-cloud-providers/shares/route.js.nft.json +1 -1
  336. package/app/.next-cli-build/server/app/api/personal-cloud-providers/visibility/route.js +1 -1
  337. package/app/.next-cli-build/server/app/api/personal-cloud-providers/visibility/route.js.nft.json +1 -1
  338. package/app/.next-cli-build/server/app/api/pricing/catalog/route.js +2 -2
  339. package/app/.next-cli-build/server/app/api/pricing/catalog/route.js.nft.json +1 -1
  340. package/app/.next-cli-build/server/app/api/pricing/recalculate/route.js +1 -1
  341. package/app/.next-cli-build/server/app/api/pricing/recalculate/route.js.nft.json +1 -1
  342. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  343. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  344. package/app/.next-cli-build/server/app/api/provider-health/route.js +1 -1
  345. package/app/.next-cli-build/server/app/api/provider-health/route.js.nft.json +1 -1
  346. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  347. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  348. package/app/.next-cli-build/server/app/api/provider-nodes/openai-compatible/manage/route.js +1 -0
  349. package/app/.next-cli-build/server/app/api/provider-nodes/openai-compatible/manage/route.js.nft.json +1 -0
  350. package/app/.next-cli-build/server/app/api/provider-nodes/openai-compatible/manage/route_client-reference-manifest.js +1 -0
  351. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  352. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  353. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  354. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  355. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  356. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  357. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  358. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  359. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  360. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  361. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  362. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  363. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  364. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  365. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  366. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  367. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  368. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  369. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  370. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  371. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  372. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  373. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  374. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  375. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  376. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  377. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  378. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  379. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  380. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  381. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  382. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  383. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  384. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  385. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +1 -1
  386. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  387. package/app/.next-cli-build/server/app/api/resource-monitor/[id]/route.js +2 -2
  388. package/app/.next-cli-build/server/app/api/resource-monitor/[id]/route.js.nft.json +1 -1
  389. package/app/.next-cli-build/server/app/api/resource-monitor/ai-models/route.js +1 -1
  390. package/app/.next-cli-build/server/app/api/resource-monitor/ai-models/route.js.nft.json +1 -1
  391. package/app/.next-cli-build/server/app/api/resource-monitor/analyze/route.js +2 -2
  392. package/app/.next-cli-build/server/app/api/resource-monitor/analyze/route.js.nft.json +1 -1
  393. package/app/.next-cli-build/server/app/api/resource-monitor/history/route.js +2 -2
  394. package/app/.next-cli-build/server/app/api/resource-monitor/history/route.js.nft.json +1 -1
  395. package/app/.next-cli-build/server/app/api/resource-monitor/route.js +2 -2
  396. package/app/.next-cli-build/server/app/api/resource-monitor/route.js.nft.json +1 -1
  397. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  398. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  399. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  400. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  401. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  402. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  403. package/app/.next-cli-build/server/app/api/settings/route.js +2 -2
  404. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  405. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  406. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  407. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  408. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  409. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  410. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  411. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  412. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  413. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  414. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  415. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  416. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  417. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  418. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  419. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  420. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  421. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  422. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  423. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  424. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  425. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  426. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  427. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  428. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  429. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  430. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  431. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  432. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  433. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  434. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  435. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js +1 -1
  436. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js.nft.json +1 -1
  437. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js +2 -2
  438. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js.nft.json +1 -1
  439. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  440. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  441. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  442. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  443. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  444. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  445. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  446. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  447. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  448. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  449. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  450. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  451. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  452. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  453. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  454. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  455. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  456. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  457. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  458. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  459. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  460. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  461. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  462. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  463. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  464. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  465. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  466. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  467. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  468. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  469. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  470. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  471. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  472. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  473. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  474. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  475. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  476. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  477. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  478. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  479. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  480. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  481. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  482. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  483. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  484. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  485. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  486. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  487. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  488. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  489. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  490. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  491. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  492. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  493. package/app/.next-cli-build/server/app/api/version/restart/route.js +1 -1
  494. package/app/.next-cli-build/server/app/api/version/restart/route.js.nft.json +1 -1
  495. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  496. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  497. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  498. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  499. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  500. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  501. package/app/.next-cli-build/server/app/callback/page.js +1 -1
  502. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  503. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  504. package/app/.next-cli-build/server/app/callback.html +1 -1
  505. package/app/.next-cli-build/server/app/callback.rsc +6 -6
  506. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +6 -6
  507. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  508. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +6 -6
  509. package/app/.next-cli-build/server/app/dashboard/ai-power-index.html +1 -1
  510. package/app/.next-cli-build/server/app/dashboard/ai-power-index.rsc +7 -7
  511. package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/!KGRhc2hib2FyZCk/dashboard/ai-power-index/__PAGE__.segment.rsc +7 -7
  512. package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/_full.segment.rsc +7 -7
  513. package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/_tree.segment.rsc +2 -2
  514. package/app/.next-cli-build/server/app/dashboard/api-keys.html +1 -1
  515. package/app/.next-cli-build/server/app/dashboard/api-keys.rsc +10 -10
  516. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard/api-keys/__PAGE__.segment.rsc +10 -10
  517. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_full.segment.rsc +10 -10
  518. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_tree.segment.rsc +2 -2
  519. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  520. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +8 -8
  521. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +8 -8
  522. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +8 -8
  523. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  524. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.html +1 -1
  525. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.rsc +8 -8
  526. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/model-profiles/__PAGE__.segment.rsc +8 -8
  527. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/_full.segment.rsc +8 -8
  528. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/_tree.segment.rsc +2 -2
  529. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  530. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +8 -8
  531. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +8 -8
  532. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +8 -8
  533. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  534. package/app/.next-cli-build/server/app/dashboard/cluster.html +1 -1
  535. package/app/.next-cli-build/server/app/dashboard/cluster.rsc +7 -7
  536. package/app/.next-cli-build/server/app/dashboard/cluster.segments/!KGRhc2hib2FyZCk/dashboard/cluster/__PAGE__.segment.rsc +7 -7
  537. package/app/.next-cli-build/server/app/dashboard/cluster.segments/_full.segment.rsc +7 -7
  538. package/app/.next-cli-build/server/app/dashboard/cluster.segments/_tree.segment.rsc +2 -2
  539. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  540. package/app/.next-cli-build/server/app/dashboard/combos.rsc +8 -8
  541. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +8 -8
  542. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +8 -8
  543. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  544. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  545. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +8 -8
  546. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +8 -8
  547. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +8 -8
  548. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  549. package/app/.next-cli-build/server/app/dashboard/local-ai-report.html +1 -1
  550. package/app/.next-cli-build/server/app/dashboard/local-ai-report.rsc +7 -7
  551. package/app/.next-cli-build/server/app/dashboard/local-ai-report.segments/!KGRhc2hib2FyZCk/dashboard/local-ai-report/__PAGE__.segment.rsc +7 -7
  552. package/app/.next-cli-build/server/app/dashboard/local-ai-report.segments/_full.segment.rsc +7 -7
  553. package/app/.next-cli-build/server/app/dashboard/local-ai-report.segments/_tree.segment.rsc +2 -2
  554. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  555. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +8 -8
  556. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +8 -8
  557. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +8 -8
  558. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  559. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  560. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +8 -8
  561. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +8 -8
  562. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +8 -8
  563. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  564. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  565. package/app/.next-cli-build/server/app/dashboard/profile.rsc +8 -8
  566. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +8 -8
  567. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +8 -8
  568. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  569. package/app/.next-cli-build/server/app/dashboard/prompt-logs.html +1 -1
  570. package/app/.next-cli-build/server/app/dashboard/prompt-logs.rsc +7 -7
  571. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs/__PAGE__.segment.rsc +7 -7
  572. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_full.segment.rsc +7 -7
  573. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_tree.segment.rsc +2 -2
  574. package/app/.next-cli-build/server/app/dashboard/provider-health.html +1 -1
  575. package/app/.next-cli-build/server/app/dashboard/provider-health.rsc +7 -7
  576. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health/__PAGE__.segment.rsc +7 -7
  577. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_full.segment.rsc +7 -7
  578. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_tree.segment.rsc +2 -2
  579. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  580. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +8 -8
  581. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +8 -8
  582. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +8 -8
  583. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  584. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  585. package/app/.next-cli-build/server/app/dashboard/providers.rsc +8 -8
  586. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +8 -8
  587. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +8 -8
  588. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  589. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  590. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +8 -8
  591. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +8 -8
  592. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +8 -8
  593. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  594. package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
  595. package/app/.next-cli-build/server/app/dashboard/quota.rsc +9 -9
  596. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +9 -9
  597. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +9 -9
  598. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  599. package/app/.next-cli-build/server/app/dashboard/resource-monitor.html +1 -1
  600. package/app/.next-cli-build/server/app/dashboard/resource-monitor.rsc +7 -7
  601. package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/!KGRhc2hib2FyZCk/dashboard/resource-monitor/__PAGE__.segment.rsc +7 -7
  602. package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/_full.segment.rsc +7 -7
  603. package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/_tree.segment.rsc +2 -2
  604. package/app/.next-cli-build/server/app/dashboard/routing-topology.html +1 -1
  605. package/app/.next-cli-build/server/app/dashboard/routing-topology.rsc +7 -7
  606. package/app/.next-cli-build/server/app/dashboard/routing-topology.segments/!KGRhc2hib2FyZCk/dashboard/routing-topology/__PAGE__.segment.rsc +7 -7
  607. package/app/.next-cli-build/server/app/dashboard/routing-topology.segments/_full.segment.rsc +7 -7
  608. package/app/.next-cli-build/server/app/dashboard/routing-topology.segments/_tree.segment.rsc +2 -2
  609. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  610. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +7 -7
  611. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing/__PAGE__.segment.rsc +7 -7
  612. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +7 -7
  613. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  614. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  615. package/app/.next-cli-build/server/app/dashboard/skills.rsc +8 -8
  616. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +8 -8
  617. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +8 -8
  618. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  619. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  620. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +7 -7
  621. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +7 -7
  622. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +7 -7
  623. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  624. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  625. package/app/.next-cli-build/server/app/dashboard/translator.rsc +8 -8
  626. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +8 -8
  627. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +8 -8
  628. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  629. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  630. package/app/.next-cli-build/server/app/dashboard/usage.rsc +8 -8
  631. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +8 -8
  632. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +8 -8
  633. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  634. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  635. package/app/.next-cli-build/server/app/dashboard.rsc +8 -8
  636. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +8 -8
  637. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +8 -8
  638. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  639. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  640. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  641. package/app/.next-cli-build/server/app/index.html +1 -1
  642. package/app/.next-cli-build/server/app/index.rsc +6 -6
  643. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +6 -6
  644. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +6 -6
  645. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  646. package/app/.next-cli-build/server/app/landing/page.js +1 -1
  647. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  648. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  649. package/app/.next-cli-build/server/app/landing.html +1 -1
  650. package/app/.next-cli-build/server/app/landing.rsc +6 -6
  651. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +6 -6
  652. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  653. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +6 -6
  654. package/app/.next-cli-build/server/app/login/page.js +1 -1
  655. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  656. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  657. package/app/.next-cli-build/server/app/login.html +1 -1
  658. package/app/.next-cli-build/server/app/login.rsc +7 -7
  659. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +7 -7
  660. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  661. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +7 -7
  662. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  663. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  664. package/app/.next-cli-build/server/app/page.js +1 -1
  665. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  666. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  667. package/app/.next-cli-build/server/app-paths-manifest.json +6 -5
  668. package/app/.next-cli-build/server/chunks/2566.js +2 -2
  669. package/app/.next-cli-build/server/chunks/2731.js +1 -1
  670. package/app/.next-cli-build/server/chunks/3484.js +1 -1
  671. package/app/.next-cli-build/server/chunks/402.js +6 -6
  672. package/app/.next-cli-build/server/chunks/4315.js +1 -1
  673. package/app/.next-cli-build/server/chunks/4746.js +1 -1
  674. package/app/.next-cli-build/server/chunks/6108.js +1 -1
  675. package/app/.next-cli-build/server/chunks/6328.js +1 -1
  676. package/app/.next-cli-build/server/chunks/6811.js +1 -1
  677. package/app/.next-cli-build/server/chunks/689.js +1 -1
  678. package/app/.next-cli-build/server/chunks/6992.js +1 -1
  679. package/app/.next-cli-build/server/chunks/7639.js +1 -1
  680. package/app/.next-cli-build/server/chunks/8255.js +1 -1
  681. package/app/.next-cli-build/server/chunks/8627.js +1 -0
  682. package/app/.next-cli-build/server/chunks/8895.js +1 -1
  683. package/app/.next-cli-build/server/chunks/9868.js +1 -1
  684. package/app/.next-cli-build/server/instrumentation.js +1 -1
  685. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  686. package/app/.next-cli-build/server/middleware.js +12 -12
  687. package/app/.next-cli-build/server/pages/404.html +1 -1
  688. package/app/.next-cli-build/server/pages/500.html +1 -1
  689. package/app/.next-cli-build/static/FtNp2TTehwx2bKJ_K5gXt/_buildManifest.js +1 -0
  690. package/app/.next-cli-build/static/chunks/{5263-611ae67a3e43fdb6.js → 5263-56ef4fb0c9660dcd.js} +1 -1
  691. package/app/.next-cli-build/static/chunks/8619-a741ad71332f7fa6.js +1 -0
  692. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-74de3c2ed0dacf12.js +3 -0
  693. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-97e8bd5381f6b48c.js +1 -0
  694. package/app/.next-cli-build/static/chunks/app/_global-error/page-1ae9897b4a00731e.js +1 -0
  695. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/test/route-1ae9897b4a00731e.js +1 -0
  696. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/users/route-1ae9897b4a00731e.js +1 -0
  697. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-1ae9897b4a00731e.js +1 -0
  698. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-1ae9897b4a00731e.js +1 -0
  699. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-1ae9897b4a00731e.js +1 -0
  700. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-1ae9897b4a00731e.js +1 -0
  701. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-1ae9897b4a00731e.js +1 -0
  702. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-1ae9897b4a00731e.js +1 -0
  703. package/app/.next-cli-build/static/chunks/app/api/auth/view-mode/route-1ae9897b4a00731e.js +1 -0
  704. package/app/.next-cli-build/static/chunks/app/api/branding/[asset]/route-1ae9897b4a00731e.js +1 -0
  705. package/app/.next-cli-build/static/chunks/app/api/branding/route-1ae9897b4a00731e.js +1 -0
  706. package/app/.next-cli-build/static/chunks/app/api/branding/upload/route-1ae9897b4a00731e.js +1 -0
  707. package/app/.next-cli-build/static/chunks/app/api/cli-model-profiles/cloud-models/route-1ae9897b4a00731e.js +1 -0
  708. package/app/.next-cli-build/static/chunks/app/api/cli-model-profiles/route-1ae9897b4a00731e.js +1 -0
  709. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-1ae9897b4a00731e.js +1 -0
  710. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-1ae9897b4a00731e.js +1 -0
  711. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/autostart/route-1ae9897b4a00731e.js +1 -0
  712. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/prompt-log-db/route-1ae9897b4a00731e.js +1 -0
  713. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/root-ca/route-1ae9897b4a00731e.js +1 -0
  714. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-1ae9897b4a00731e.js +1 -0
  715. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-1ae9897b4a00731e.js +1 -0
  716. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-1ae9897b4a00731e.js +1 -0
  717. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-1ae9897b4a00731e.js +1 -0
  718. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-1ae9897b4a00731e.js +1 -0
  719. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-1ae9897b4a00731e.js +1 -0
  720. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-1ae9897b4a00731e.js +1 -0
  721. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-1ae9897b4a00731e.js +1 -0
  722. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-1ae9897b4a00731e.js +1 -0
  723. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-1ae9897b4a00731e.js +1 -0
  724. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-1ae9897b4a00731e.js +1 -0
  725. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-1ae9897b4a00731e.js +1 -0
  726. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-1ae9897b4a00731e.js +1 -0
  727. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-1ae9897b4a00731e.js +1 -0
  728. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-1ae9897b4a00731e.js +1 -0
  729. package/app/.next-cli-build/static/chunks/app/api/cli-tools/qwen-settings/route-1ae9897b4a00731e.js +1 -0
  730. package/app/.next-cli-build/static/chunks/app/api/cluster/config/route-1ae9897b4a00731e.js +1 -0
  731. package/app/.next-cli-build/static/chunks/app/api/cluster/heartbeat/route-1ae9897b4a00731e.js +1 -0
  732. package/app/.next-cli-build/static/chunks/app/api/cluster/peers/[id]/command/route-1ae9897b4a00731e.js +1 -0
  733. package/app/.next-cli-build/static/chunks/app/api/cluster/peers/[id]/route-1ae9897b4a00731e.js +1 -0
  734. package/app/.next-cli-build/static/chunks/app/api/cluster/peers/route-1ae9897b4a00731e.js +1 -0
  735. package/app/.next-cli-build/static/chunks/app/api/cluster/snapshot/route-1ae9897b4a00731e.js +1 -0
  736. package/app/.next-cli-build/static/chunks/app/api/cluster/sync/route-1ae9897b4a00731e.js +1 -0
  737. package/app/.next-cli-build/static/chunks/app/api/cluster/test/route-1ae9897b4a00731e.js +1 -0
  738. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-1ae9897b4a00731e.js +1 -0
  739. package/app/.next-cli-build/static/chunks/app/api/combos/route-1ae9897b4a00731e.js +1 -0
  740. package/app/.next-cli-build/static/chunks/app/api/dashboard/ai-power-index/route-1ae9897b4a00731e.js +1 -0
  741. package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/ai-models/route-1ae9897b4a00731e.js +1 -0
  742. package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/analyze/route-1ae9897b4a00731e.js +1 -0
  743. package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/route-1ae9897b4a00731e.js +1 -0
  744. package/app/.next-cli-build/static/chunks/app/api/dashboard/combos/route-1ae9897b4a00731e.js +1 -0
  745. package/app/.next-cli-build/static/chunks/app/api/dashboard/endpoint/route-1ae9897b4a00731e.js +1 -0
  746. package/app/.next-cli-build/static/chunks/app/api/dashboard/local-ai-report/route-1ae9897b4a00731e.js +1 -0
  747. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/[id]/route-1ae9897b4a00731e.js +1 -0
  748. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/options/route-1ae9897b4a00731e.js +1 -0
  749. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/route-1ae9897b4a00731e.js +1 -0
  750. package/app/.next-cli-build/static/chunks/app/api/dashboard/routing-topology/config/route-1ae9897b4a00731e.js +1 -0
  751. package/app/.next-cli-build/static/chunks/app/api/dashboard/routing-topology/live/route-1ae9897b4a00731e.js +1 -0
  752. package/app/.next-cli-build/static/chunks/app/api/dashboard/routing-topology/route-1ae9897b4a00731e.js +1 -0
  753. package/app/.next-cli-build/static/chunks/app/api/dashboard/token-saver/route-1ae9897b4a00731e.js +1 -0
  754. package/app/.next-cli-build/static/chunks/app/api/health/route-1ae9897b4a00731e.js +1 -0
  755. package/app/.next-cli-build/static/chunks/app/api/init/route-1ae9897b4a00731e.js +1 -0
  756. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/caveman-test/route-1ae9897b4a00731e.js +1 -0
  757. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/rotate/route-1ae9897b4a00731e.js +1 -0
  758. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-1ae9897b4a00731e.js +1 -0
  759. package/app/.next-cli-build/static/chunks/app/api/keys/route-1ae9897b4a00731e.js +1 -0
  760. package/app/.next-cli-build/static/chunks/app/api/locale/route-1ae9897b4a00731e.js +1 -0
  761. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-1ae9897b4a00731e.js +1 -0
  762. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-1ae9897b4a00731e.js +1 -0
  763. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-1ae9897b4a00731e.js +1 -0
  764. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-1ae9897b4a00731e.js +1 -0
  765. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-1ae9897b4a00731e.js +1 -0
  766. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-1ae9897b4a00731e.js +1 -0
  767. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-1ae9897b4a00731e.js +1 -0
  768. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-1ae9897b4a00731e.js +1 -0
  769. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-1ae9897b4a00731e.js +1 -0
  770. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-1ae9897b4a00731e.js +1 -0
  771. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-1ae9897b4a00731e.js +1 -0
  772. package/app/.next-cli-build/static/chunks/app/api/models/route-1ae9897b4a00731e.js +1 -0
  773. package/app/.next-cli-build/static/chunks/app/api/models/test/route-1ae9897b4a00731e.js +1 -0
  774. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-1ae9897b4a00731e.js +1 -0
  775. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-1ae9897b4a00731e.js +1 -0
  776. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-1ae9897b4a00731e.js +1 -0
  777. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-1ae9897b4a00731e.js +1 -0
  778. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-1ae9897b4a00731e.js +1 -0
  779. package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/device-code/route-1ae9897b4a00731e.js +1 -0
  780. package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/poll/route-1ae9897b4a00731e.js +1 -0
  781. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-1ae9897b4a00731e.js +1 -0
  782. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-1ae9897b4a00731e.js +1 -0
  783. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-1ae9897b4a00731e.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-1ae9897b4a00731e.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-1ae9897b4a00731e.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/api-key-models/route-1ae9897b4a00731e.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/import-models/route-1ae9897b4a00731e.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/models/[...routeModel]/route-1ae9897b4a00731e.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/move/route-1ae9897b4a00731e.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/route-1ae9897b4a00731e.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/usage/route-1ae9897b4a00731e.js +1 -0
  792. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/client/route-1ae9897b4a00731e.js +1 -0
  793. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/monitor/route-1ae9897b4a00731e.js +1 -0
  794. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/permissions/route-1ae9897b4a00731e.js +1 -0
  795. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/route-1ae9897b4a00731e.js +1 -0
  796. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/routing/route-1ae9897b4a00731e.js +1 -0
  797. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/shares/route-1ae9897b4a00731e.js +1 -0
  798. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/visibility/route-1ae9897b4a00731e.js +1 -0
  799. package/app/.next-cli-build/static/chunks/app/api/pricing/catalog/route-1ae9897b4a00731e.js +1 -0
  800. package/app/.next-cli-build/static/chunks/app/api/pricing/recalculate/route-1ae9897b4a00731e.js +1 -0
  801. package/app/.next-cli-build/static/chunks/app/api/pricing/route-1ae9897b4a00731e.js +1 -0
  802. package/app/.next-cli-build/static/chunks/app/api/provider-health/route-1ae9897b4a00731e.js +1 -0
  803. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-1ae9897b4a00731e.js +1 -0
  804. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/openai-compatible/manage/route-1ae9897b4a00731e.js +1 -0
  805. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-1ae9897b4a00731e.js +1 -0
  806. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-1ae9897b4a00731e.js +1 -0
  807. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-1ae9897b4a00731e.js +1 -0
  808. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-1ae9897b4a00731e.js +1 -0
  809. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-1ae9897b4a00731e.js +1 -0
  810. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-1ae9897b4a00731e.js +1 -0
  811. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-1ae9897b4a00731e.js +1 -0
  812. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-1ae9897b4a00731e.js +1 -0
  813. package/app/.next-cli-build/static/chunks/app/api/providers/route-1ae9897b4a00731e.js +1 -0
  814. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-1ae9897b4a00731e.js +1 -0
  815. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-1ae9897b4a00731e.js +1 -0
  816. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-1ae9897b4a00731e.js +1 -0
  817. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-1ae9897b4a00731e.js +1 -0
  818. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-1ae9897b4a00731e.js +1 -0
  819. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-1ae9897b4a00731e.js +1 -0
  820. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-1ae9897b4a00731e.js +1 -0
  821. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-1ae9897b4a00731e.js +1 -0
  822. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-1ae9897b4a00731e.js +1 -0
  823. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/[id]/route-1ae9897b4a00731e.js +1 -0
  824. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/ai-models/route-1ae9897b4a00731e.js +1 -0
  825. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/analyze/route-1ae9897b4a00731e.js +1 -0
  826. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/history/route-1ae9897b4a00731e.js +1 -0
  827. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/route-1ae9897b4a00731e.js +1 -0
  828. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-1ae9897b4a00731e.js +1 -0
  829. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-1ae9897b4a00731e.js +1 -0
  830. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-1ae9897b4a00731e.js +1 -0
  831. package/app/.next-cli-build/static/chunks/app/api/settings/route-1ae9897b4a00731e.js +1 -0
  832. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-1ae9897b4a00731e.js +1 -0
  833. package/app/.next-cli-build/static/chunks/app/api/tags/route-1ae9897b4a00731e.js +1 -0
  834. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-1ae9897b4a00731e.js +1 -0
  835. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-1ae9897b4a00731e.js +1 -0
  836. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-1ae9897b4a00731e.js +1 -0
  837. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-1ae9897b4a00731e.js +1 -0
  838. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-1ae9897b4a00731e.js +1 -0
  839. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-1ae9897b4a00731e.js +1 -0
  840. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-1ae9897b4a00731e.js +1 -0
  841. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-1ae9897b4a00731e.js +1 -0
  842. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-1ae9897b4a00731e.js +1 -0
  843. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-1ae9897b4a00731e.js +1 -0
  844. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-1ae9897b4a00731e.js +1 -0
  845. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-1ae9897b4a00731e.js +1 -0
  846. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-1ae9897b4a00731e.js +1 -0
  847. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-login/route-1ae9897b4a00731e.js +1 -0
  848. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-start-daemon/route-1ae9897b4a00731e.js +1 -0
  849. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-1ae9897b4a00731e.js +1 -0
  850. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-1ae9897b4a00731e.js +1 -0
  851. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-1ae9897b4a00731e.js +1 -0
  852. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-1ae9897b4a00731e.js +1 -0
  853. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-1ae9897b4a00731e.js +1 -0
  854. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-1ae9897b4a00731e.js +1 -0
  855. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-1ae9897b4a00731e.js +1 -0
  856. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-1ae9897b4a00731e.js +1 -0
  857. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-1ae9897b4a00731e.js +1 -0
  858. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-1ae9897b4a00731e.js +1 -0
  859. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-1ae9897b4a00731e.js +1 -0
  860. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-1ae9897b4a00731e.js +1 -0
  861. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-1ae9897b4a00731e.js +1 -0
  862. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-1ae9897b4a00731e.js +1 -0
  863. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-1ae9897b4a00731e.js +1 -0
  864. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-1ae9897b4a00731e.js +1 -0
  865. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-1ae9897b4a00731e.js +1 -0
  866. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-1ae9897b4a00731e.js +1 -0
  867. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-1ae9897b4a00731e.js +1 -0
  868. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-1ae9897b4a00731e.js +1 -0
  869. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-1ae9897b4a00731e.js +1 -0
  870. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-1ae9897b4a00731e.js +1 -0
  871. package/app/.next-cli-build/static/chunks/app/api/v1/route-1ae9897b4a00731e.js +1 -0
  872. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-1ae9897b4a00731e.js +1 -0
  873. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-1ae9897b4a00731e.js +1 -0
  874. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-1ae9897b4a00731e.js +1 -0
  875. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-1ae9897b4a00731e.js +1 -0
  876. package/app/.next-cli-build/static/chunks/app/api/version/restart/route-1ae9897b4a00731e.js +1 -0
  877. package/app/.next-cli-build/static/chunks/app/api/version/route-1ae9897b4a00731e.js +1 -0
  878. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-1ae9897b4a00731e.js +1 -0
  879. package/app/.next-cli-build/static/chunks/app/api/version/update/route-1ae9897b4a00731e.js +1 -0
  880. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-1ae9897b4a00731e.js +1 -0
  881. package/app/.next-cli-build/static/chunks/app/page-1ae9897b4a00731e.js +1 -0
  882. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-1ae9897b4a00731e.js +1 -0
  883. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-1ae9897b4a00731e.js +1 -0
  884. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-1ae9897b4a00731e.js +1 -0
  885. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-1ae9897b4a00731e.js +1 -0
  886. package/app/.next-cli-build/static/css/61dc701e2e16897e.css +1 -0
  887. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-5.3.38-to-5.3.39-5.3.39-20260820-225942 → upgrade-5.3.40-to-5.3.41-5.3.41-20260821-072820}/data.sqlite +0 -0
  888. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/upgrade-5.3.40-to-5.3.41-5.3.41-20260821-072821/data.sqlite +0 -0
  889. 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
  890. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite +0 -0
  891. package/app/package.json +1 -1
  892. package/package.json +1 -1
  893. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-aaacd3d160675084.js +0 -3
  894. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-113d539e2ec819ea.js +0 -1
  895. package/app/.next-cli-build/static/chunks/app/_global-error/page-773d01113481ce91.js +0 -1
  896. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/test/route-773d01113481ce91.js +0 -1
  897. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/users/route-773d01113481ce91.js +0 -1
  898. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-773d01113481ce91.js +0 -1
  899. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-773d01113481ce91.js +0 -1
  900. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-773d01113481ce91.js +0 -1
  901. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-773d01113481ce91.js +0 -1
  902. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-773d01113481ce91.js +0 -1
  903. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-773d01113481ce91.js +0 -1
  904. package/app/.next-cli-build/static/chunks/app/api/auth/view-mode/route-773d01113481ce91.js +0 -1
  905. package/app/.next-cli-build/static/chunks/app/api/branding/[asset]/route-773d01113481ce91.js +0 -1
  906. package/app/.next-cli-build/static/chunks/app/api/branding/route-773d01113481ce91.js +0 -1
  907. package/app/.next-cli-build/static/chunks/app/api/branding/upload/route-773d01113481ce91.js +0 -1
  908. package/app/.next-cli-build/static/chunks/app/api/cli-model-profiles/cloud-models/route-773d01113481ce91.js +0 -1
  909. package/app/.next-cli-build/static/chunks/app/api/cli-model-profiles/route-773d01113481ce91.js +0 -1
  910. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-773d01113481ce91.js +0 -1
  911. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-773d01113481ce91.js +0 -1
  912. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/autostart/route-773d01113481ce91.js +0 -1
  913. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/prompt-log-db/route-773d01113481ce91.js +0 -1
  914. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/root-ca/route-773d01113481ce91.js +0 -1
  915. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-773d01113481ce91.js +0 -1
  916. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-773d01113481ce91.js +0 -1
  917. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-773d01113481ce91.js +0 -1
  918. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-773d01113481ce91.js +0 -1
  919. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-773d01113481ce91.js +0 -1
  920. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-773d01113481ce91.js +0 -1
  921. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-773d01113481ce91.js +0 -1
  922. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-773d01113481ce91.js +0 -1
  923. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-773d01113481ce91.js +0 -1
  924. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-773d01113481ce91.js +0 -1
  925. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-773d01113481ce91.js +0 -1
  926. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-773d01113481ce91.js +0 -1
  927. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-773d01113481ce91.js +0 -1
  928. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-773d01113481ce91.js +0 -1
  929. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-773d01113481ce91.js +0 -1
  930. package/app/.next-cli-build/static/chunks/app/api/cli-tools/qwen-settings/route-773d01113481ce91.js +0 -1
  931. package/app/.next-cli-build/static/chunks/app/api/cluster/config/route-773d01113481ce91.js +0 -1
  932. package/app/.next-cli-build/static/chunks/app/api/cluster/heartbeat/route-773d01113481ce91.js +0 -1
  933. package/app/.next-cli-build/static/chunks/app/api/cluster/peers/[id]/command/route-773d01113481ce91.js +0 -1
  934. package/app/.next-cli-build/static/chunks/app/api/cluster/peers/[id]/route-773d01113481ce91.js +0 -1
  935. package/app/.next-cli-build/static/chunks/app/api/cluster/peers/route-773d01113481ce91.js +0 -1
  936. package/app/.next-cli-build/static/chunks/app/api/cluster/snapshot/route-773d01113481ce91.js +0 -1
  937. package/app/.next-cli-build/static/chunks/app/api/cluster/sync/route-773d01113481ce91.js +0 -1
  938. package/app/.next-cli-build/static/chunks/app/api/cluster/test/route-773d01113481ce91.js +0 -1
  939. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-773d01113481ce91.js +0 -1
  940. package/app/.next-cli-build/static/chunks/app/api/combos/route-773d01113481ce91.js +0 -1
  941. package/app/.next-cli-build/static/chunks/app/api/dashboard/ai-power-index/route-773d01113481ce91.js +0 -1
  942. package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/ai-models/route-773d01113481ce91.js +0 -1
  943. package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/analyze/route-773d01113481ce91.js +0 -1
  944. package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/route-773d01113481ce91.js +0 -1
  945. package/app/.next-cli-build/static/chunks/app/api/dashboard/combos/route-773d01113481ce91.js +0 -1
  946. package/app/.next-cli-build/static/chunks/app/api/dashboard/endpoint/route-773d01113481ce91.js +0 -1
  947. package/app/.next-cli-build/static/chunks/app/api/dashboard/local-ai-report/route-773d01113481ce91.js +0 -1
  948. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/[id]/route-773d01113481ce91.js +0 -1
  949. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/options/route-773d01113481ce91.js +0 -1
  950. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/route-773d01113481ce91.js +0 -1
  951. package/app/.next-cli-build/static/chunks/app/api/dashboard/routing-topology/config/route-773d01113481ce91.js +0 -1
  952. package/app/.next-cli-build/static/chunks/app/api/dashboard/routing-topology/live/route-773d01113481ce91.js +0 -1
  953. package/app/.next-cli-build/static/chunks/app/api/dashboard/routing-topology/route-773d01113481ce91.js +0 -1
  954. package/app/.next-cli-build/static/chunks/app/api/dashboard/token-saver/route-773d01113481ce91.js +0 -1
  955. package/app/.next-cli-build/static/chunks/app/api/health/route-773d01113481ce91.js +0 -1
  956. package/app/.next-cli-build/static/chunks/app/api/init/route-773d01113481ce91.js +0 -1
  957. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/caveman-test/route-773d01113481ce91.js +0 -1
  958. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/rotate/route-773d01113481ce91.js +0 -1
  959. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-773d01113481ce91.js +0 -1
  960. package/app/.next-cli-build/static/chunks/app/api/keys/route-773d01113481ce91.js +0 -1
  961. package/app/.next-cli-build/static/chunks/app/api/locale/route-773d01113481ce91.js +0 -1
  962. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-773d01113481ce91.js +0 -1
  963. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-773d01113481ce91.js +0 -1
  964. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-773d01113481ce91.js +0 -1
  965. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-773d01113481ce91.js +0 -1
  966. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-773d01113481ce91.js +0 -1
  967. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-773d01113481ce91.js +0 -1
  968. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-773d01113481ce91.js +0 -1
  969. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-773d01113481ce91.js +0 -1
  970. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-773d01113481ce91.js +0 -1
  971. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-773d01113481ce91.js +0 -1
  972. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-773d01113481ce91.js +0 -1
  973. package/app/.next-cli-build/static/chunks/app/api/models/route-773d01113481ce91.js +0 -1
  974. package/app/.next-cli-build/static/chunks/app/api/models/test/route-773d01113481ce91.js +0 -1
  975. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-773d01113481ce91.js +0 -1
  976. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-773d01113481ce91.js +0 -1
  977. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-773d01113481ce91.js +0 -1
  978. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-773d01113481ce91.js +0 -1
  979. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-773d01113481ce91.js +0 -1
  980. package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/device-code/route-773d01113481ce91.js +0 -1
  981. package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/poll/route-773d01113481ce91.js +0 -1
  982. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-773d01113481ce91.js +0 -1
  983. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-773d01113481ce91.js +0 -1
  984. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-773d01113481ce91.js +0 -1
  985. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-773d01113481ce91.js +0 -1
  986. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-773d01113481ce91.js +0 -1
  987. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/api-key-models/route-773d01113481ce91.js +0 -1
  988. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/import-models/route-773d01113481ce91.js +0 -1
  989. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/models/[...routeModel]/route-773d01113481ce91.js +0 -1
  990. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/move/route-773d01113481ce91.js +0 -1
  991. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/route-773d01113481ce91.js +0 -1
  992. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/usage/route-773d01113481ce91.js +0 -1
  993. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/client/route-773d01113481ce91.js +0 -1
  994. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/monitor/route-773d01113481ce91.js +0 -1
  995. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/permissions/route-773d01113481ce91.js +0 -1
  996. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/route-773d01113481ce91.js +0 -1
  997. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/routing/route-773d01113481ce91.js +0 -1
  998. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/shares/route-773d01113481ce91.js +0 -1
  999. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/visibility/route-773d01113481ce91.js +0 -1
  1000. package/app/.next-cli-build/static/chunks/app/api/pricing/catalog/route-773d01113481ce91.js +0 -1
  1001. package/app/.next-cli-build/static/chunks/app/api/pricing/recalculate/route-773d01113481ce91.js +0 -1
  1002. package/app/.next-cli-build/static/chunks/app/api/pricing/route-773d01113481ce91.js +0 -1
  1003. package/app/.next-cli-build/static/chunks/app/api/provider-health/route-773d01113481ce91.js +0 -1
  1004. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-773d01113481ce91.js +0 -1
  1005. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-773d01113481ce91.js +0 -1
  1006. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-773d01113481ce91.js +0 -1
  1007. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-773d01113481ce91.js +0 -1
  1008. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-773d01113481ce91.js +0 -1
  1009. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-773d01113481ce91.js +0 -1
  1010. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-773d01113481ce91.js +0 -1
  1011. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-773d01113481ce91.js +0 -1
  1012. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-773d01113481ce91.js +0 -1
  1013. package/app/.next-cli-build/static/chunks/app/api/providers/route-773d01113481ce91.js +0 -1
  1014. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-773d01113481ce91.js +0 -1
  1015. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-773d01113481ce91.js +0 -1
  1016. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-773d01113481ce91.js +0 -1
  1017. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-773d01113481ce91.js +0 -1
  1018. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-773d01113481ce91.js +0 -1
  1019. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-773d01113481ce91.js +0 -1
  1020. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-773d01113481ce91.js +0 -1
  1021. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-773d01113481ce91.js +0 -1
  1022. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-773d01113481ce91.js +0 -1
  1023. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/[id]/route-773d01113481ce91.js +0 -1
  1024. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/ai-models/route-773d01113481ce91.js +0 -1
  1025. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/analyze/route-773d01113481ce91.js +0 -1
  1026. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/history/route-773d01113481ce91.js +0 -1
  1027. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/route-773d01113481ce91.js +0 -1
  1028. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-773d01113481ce91.js +0 -1
  1029. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-773d01113481ce91.js +0 -1
  1030. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-773d01113481ce91.js +0 -1
  1031. package/app/.next-cli-build/static/chunks/app/api/settings/route-773d01113481ce91.js +0 -1
  1032. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-773d01113481ce91.js +0 -1
  1033. package/app/.next-cli-build/static/chunks/app/api/tags/route-773d01113481ce91.js +0 -1
  1034. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-773d01113481ce91.js +0 -1
  1035. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-773d01113481ce91.js +0 -1
  1036. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-773d01113481ce91.js +0 -1
  1037. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-773d01113481ce91.js +0 -1
  1038. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-773d01113481ce91.js +0 -1
  1039. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-773d01113481ce91.js +0 -1
  1040. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-773d01113481ce91.js +0 -1
  1041. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-773d01113481ce91.js +0 -1
  1042. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-773d01113481ce91.js +0 -1
  1043. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-773d01113481ce91.js +0 -1
  1044. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-773d01113481ce91.js +0 -1
  1045. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-773d01113481ce91.js +0 -1
  1046. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-773d01113481ce91.js +0 -1
  1047. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-login/route-773d01113481ce91.js +0 -1
  1048. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-start-daemon/route-773d01113481ce91.js +0 -1
  1049. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-773d01113481ce91.js +0 -1
  1050. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-773d01113481ce91.js +0 -1
  1051. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-773d01113481ce91.js +0 -1
  1052. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-773d01113481ce91.js +0 -1
  1053. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-773d01113481ce91.js +0 -1
  1054. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-773d01113481ce91.js +0 -1
  1055. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-773d01113481ce91.js +0 -1
  1056. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-773d01113481ce91.js +0 -1
  1057. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-773d01113481ce91.js +0 -1
  1058. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-773d01113481ce91.js +0 -1
  1059. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-773d01113481ce91.js +0 -1
  1060. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-773d01113481ce91.js +0 -1
  1061. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-773d01113481ce91.js +0 -1
  1062. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-773d01113481ce91.js +0 -1
  1063. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-773d01113481ce91.js +0 -1
  1064. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-773d01113481ce91.js +0 -1
  1065. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-773d01113481ce91.js +0 -1
  1066. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-773d01113481ce91.js +0 -1
  1067. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-773d01113481ce91.js +0 -1
  1068. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-773d01113481ce91.js +0 -1
  1069. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-773d01113481ce91.js +0 -1
  1070. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-773d01113481ce91.js +0 -1
  1071. package/app/.next-cli-build/static/chunks/app/api/v1/route-773d01113481ce91.js +0 -1
  1072. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-773d01113481ce91.js +0 -1
  1073. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-773d01113481ce91.js +0 -1
  1074. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-773d01113481ce91.js +0 -1
  1075. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-773d01113481ce91.js +0 -1
  1076. package/app/.next-cli-build/static/chunks/app/api/version/restart/route-773d01113481ce91.js +0 -1
  1077. package/app/.next-cli-build/static/chunks/app/api/version/route-773d01113481ce91.js +0 -1
  1078. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-773d01113481ce91.js +0 -1
  1079. package/app/.next-cli-build/static/chunks/app/api/version/update/route-773d01113481ce91.js +0 -1
  1080. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-773d01113481ce91.js +0 -1
  1081. package/app/.next-cli-build/static/chunks/app/page-773d01113481ce91.js +0 -1
  1082. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-773d01113481ce91.js +0 -1
  1083. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-773d01113481ce91.js +0 -1
  1084. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-773d01113481ce91.js +0 -1
  1085. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-773d01113481ce91.js +0 -1
  1086. package/app/.next-cli-build/static/css/2ea3c3f3b45674ae.css +0 -1
  1087. package/app/.next-cli-build/static/oSthcw4U3bT9SrBfLJEFy/_buildManifest.js +0 -1
  1088. /package/app/.next-cli-build/static/{oSthcw4U3bT9SrBfLJEFy → FtNp2TTehwx2bKJ_K5gXt}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=8255,exports.ids=[8255],exports.modules={2574:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>y,OPTIONS:()=>x,buildModelsList:()=>w});var d=c(81329),e=c(75681),f=c(89718),g=c(16655),h=c(33669),i=c(29679);let j=/[-_][0-9a-f]{8,}$/i,k=[{id:"auto",description:"AutoCombo balanced routing"},{id:"auto/coding",description:"AutoCombo coding-focused routing"},{id:"auto/fast",description:"AutoCombo low-latency routing"},{id:"auto/cheap",description:"AutoCombo low-cost routing"},{id:"auto/offline",description:"AutoCombo local/offline-friendly routing"}],l={kiro:async a=>{let b=await (0,i.cW)({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null}},m={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText"};function n(a){return String(a??"").trim()}function o(a){return a?.type&&m[a.type]||"llm"}function p(a,b){let c=e.AI_PROVIDERS[a],d=Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"];return b.some(a=>d.includes(a))}function q(a){let b=n(a?.kind||a?.serviceKind).toLowerCase();return b||"llm"}function r(a){return n(a?.exposedModel||a?.model||a?.name||a?.id)}function s(a){return n(a?.name||a?.id||r(a))}async function t(){let a=new Map;try{for(let b of await (0,f.Uv)()||[]){let c=r(b)||s(b)||n(b?.id);c&&!a.has(c)&&a.set(c,b)}}catch(a){console.log("Could not fetch legacy combos for /v1/models:",a?.message||a)}return[...a.values()]}function u(a,b,c){let d=n(c?.id);!d||b.has(d)||(b.add(d),a.push({object:"model",...c,id:d}))}async function v(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:d,cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let f=await e.json();return Array.from(new Set((Array.isArray(f)?f:f?.data||f?.models||f?.results||[]).map(a=>a?.id||a?.name||a?.model).filter(a=>"string"==typeof a&&""!==a.trim())))}catch{return[]}}async function w(a){let b=[];try{b=(b=await (0,f.getProviderConnections)()).filter(a=>!1!==a.isActive)}catch{console.log("Could not fetch providers, returning all models")}let c=await t(),h=[];try{h=await (0,f.uv)()}catch{console.log("Could not fetch custom models")}let i={};try{i=await (0,f.OM)()}catch{console.log("Could not fetch model aliases")}let m={};try{m=await (0,g.vF)()}catch{console.log("Could not fetch disabled models")}let w=(a,b)=>Array.isArray(m[a])&&m[a].includes(b),x=new Map;for(let a of b)x.has(a.provider)||x.set(a.provider,a);let y=[],z=new Set;for(let b of c){if(b?.enabled===!1||!a.includes(q(b)))continue;let c=r(b);c&&u(y,z,{id:c,owned_by:"combo",kind:q(b),virtual:!0,combo:!0,comboType:"legacy",name:s(b),description:n(b.description)})}if(0===b.length){let b=Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a]));for(let[c,e]of Object.entries(d.vq))if(p(b[c]||c,a))for(let b of e)a.includes(o(b))&&(w(c,b.id)||u(y,z,{id:`${c}/${b.id}`,owned_by:c}));for(let b of h){if(!b?.id||b.type&&"llm"!==b.type||!a.includes("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=n(b.id);d&&u(y,z,{id:`${c}/${d}`,owned_by:c})}}else for(let[b,c]of x.entries()){if(!p(b,a))continue;let f=d.Xg[b]||b,g=(c?.providerSpecificData?.prefix||(0,e.wG)(b)||f).trim(),k=d.vq[f]||[],m=c?.providerSpecificData?.enabledModels,q=Array.isArray(m)&&m.length>0,r=(0,e.mq)(b)||(0,e.gb)(b),s=new Map(k.map(a=>[a.id,o(a)])),t=q?Array.from(new Set(m.filter(a=>"string"==typeof a&&""!==a.trim()))):k.map(a=>a.id);r&&0===t.length&&!j.test(b)&&(t=await v(c));let x=l[b];if(x&&!q)try{let a=await x(c);a?.models?.length&&(t=a.models.map(a=>a.id))}catch(a){console.log(`Live model fetch failed for ${b}: ${a?.message||a}`)}for(let c of Array.from(new Set([...t.map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim()),...h.filter(a=>{if(!a?.id||a.type&&"llm"!==a.type)return!1;let c=a.providerAlias;return c===f||c===g||c===b}).map(a=>n(a.id)).filter(Boolean),...Object.values(i||{}).filter(a=>"string"==typeof a&&!!a.includes("/")&&(a.startsWith(`${g}/`)||a.startsWith(`${f}/`)||a.startsWith(`${b}/`))).map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim())]))){let b=s.get(c)||function(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}(c);a.includes(b)&&(w(g,c)||w(f,c)||u(y,z,{id:`${g}/${c}`,owned_by:g}))}let A=e.AI_PROVIDERS[b],B=[];if(a.includes("tts")&&Array.isArray(A?.ttsConfig?.models))for(let a of A.ttsConfig.models)a?.id&&B.push(a.id);if(a.includes("embedding")&&Array.isArray(A?.embeddingConfig?.models))for(let a of A.embeddingConfig.models)a?.id&&B.push(a.id);for(let a of B)w(g,a)||w(f,a)||u(y,z,{id:`${g}/${a}`,owned_by:g});a.includes("webSearch")&&A?.searchConfig&&u(y,z,{id:`${g}/search`,kind:"webSearch",owned_by:g}),a.includes("webFetch")&&A?.fetchConfig&&u(y,z,{id:`${g}/fetch`,kind:"webFetch",owned_by:g})}if(a.includes("stt"))try{for(let a of await (0,f.Fh)({type:"custom-stt"})||[]){let b=n(a?.prefix),c=n(a?.defaultModel||"whisper-1");b&&c&&u(y,z,{id:`${b}/${c}`,owned_by:b,kind:"stt",name:a.name||b,custom:!0})}}catch(a){console.log("Could not fetch custom STT nodes for /v1/models:",a?.message||a)}if(a.includes("tts"))try{for(let a of await (0,f.Fh)({type:"custom-tts"})||[]){let b=n(a.prefix);if(!b)continue;let c=n(a.defaultModel)||"default";u(y,z,{id:`${b}/${c}`,owned_by:b,kind:"tts",name:a.name||"Custom TTS",custom:!0})}}catch(a){console.log("Could not fetch custom TTS nodes for /v1/models:",a?.message||a)}return!function(a,b){if(!b.includes("llm"))return;let c=new Set(a.map(a=>a?.id).filter(Boolean));for(let b of k)u(a,c,{id:b.id,owned_by:"auto",kind:"llm",virtual:!0,description:b.description})}(y,a),y}async function x(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function y(a){try{let b=await w(["llm"]),c=await (0,h.RC)(a,b);if(c.error)return Response.json({error:c.error},{status:c.status,headers:{"Access-Control-Allow-Origin":"*"}});return Response.json({object:"list",data:c.data},{headers:{"Access-Control-Allow-Origin":"*"}})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:a.message,type:"server_error"}},{status:500})}}},16655:(a,b,c)=>{c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(39189)},19225:(a,b,c)=>{a.exports=c(44870)},29679:(a,b,c)=>{c.d(b,{cW:()=>l});var d=c(94755),e=c(55511),f=c(8590);let g="1.0.0",h="0.10.32",i="us-east-1",j=new Map;async function k(a,b){let c,f,j,k=a?.providerSpecificData?.profileArn||"",l=function(a){if(!a||"string"!=typeof a)return i;let b=a.split(":");return b.length>=4&&b[3]?b[3]:i}(k),m=new URLSearchParams;m.set("origin","AI_EDITOR"),k&&m.set("profileArn",k);let n=`https://q.${l}.amazonaws.com/ListAvailableModels?${m.toString()}`,o={...(f=a?.providerSpecificData?.clientId||a?.refreshToken||a?.providerSpecificData?.profileArn||a?.accessToken||"kiro-anonymous",j=(0,e.createHash)("sha256").update(String(f)).digest("hex"),{"User-Agent":`aws-sdk-js/${g} ua/2.1 os/windows#10.0.26200 lang/js md/nodejs#22.21.1 api/codewhispererruntime#${g} m/N,E KiroIDE-${h}-${j}`,"x-amz-user-agent":`aws-sdk-js/${g} KiroIDE-${h}-${j}`,"x-amzn-kiro-agent-mode":"vibe","x-amzn-codewhisperer-optout":"true","amz-sdk-request":"attempt=1; max=1","amz-sdk-invocation-id":(0,d.A)(),Accept:"application/json"}),Authorization:`Bearer ${a?.accessToken||""}`},p=new AbortController,q=setTimeout(()=>p.abort("timeout"),3e4);b&&"function"==typeof b.addEventListener&&b.addEventListener("abort",()=>p.abort(b.reason));try{c=await fetch(n,{method:"GET",headers:o,signal:p.signal})}finally{clearTimeout(q)}if(!c.ok){let a=await c.text().catch(()=>""),b=Error(`Kiro ListAvailableModels ${c.status}: ${a||c.statusText}`);throw b.status=c.status,b.body=a,b}let r=await c.json();return Array.isArray(r?.models)?r.models:[]}async function l(a,b={}){let c,d,g;if(!a||!a.accessToken)return b.log?.debug?.("KIRO_MODELS","No accessToken; skipping live fetch"),null;let h=(g=(d=a?.providerSpecificData||{}).profileArn||d.clientId||a?.refreshToken||a?.accessToken||"anonymous",(0,e.createHash)("sha256").update(`kiro:${g}`).digest("hex")),i=Date.now();if(!b.forceRefresh){let a=j.get(h);if(a&&a.expiresAt>i)return{models:a.models,rawModels:a.rawModels}}try{c=await k(a,b.signal)}catch(d){if(!d||401!==d.status||!a.refreshToken)return b.log?.warn?.("KIRO_MODELS",`ListAvailableModels failed: ${d?.message||d}`),null;{b.log?.info?.("KIRO_MODELS","Got 401 from Kiro; refreshing token");let d=await (0,f.Ql)(a.refreshToken,a.providerSpecificData,b.log);if(!d?.accessToken)return b.log?.warn?.("KIRO_MODELS","Token refresh did not return accessToken"),null;{let e={...a,...d};if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed(d)}catch(a){b.log?.warn?.("KIRO_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await k(e,b.signal),a.accessToken=e.accessToken,e.refreshToken&&(a.refreshToken=e.refreshToken)}catch(a){return b.log?.warn?.("KIRO_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}}let m=[];for(let a of c){if(!a||"object"!=typeof a)continue;let b=a.modelId||a.id;if(!b)continue;let c=function(a,b,c){let d=(a||b||"Kiro").trim(),e=Number(c);if(!Number.isFinite(e)||1e-9>Math.abs(e-1)||e<=0)return`Kiro ${d}`;let f=e.toFixed(1).replace(",",".");return`Kiro ${d} (${f}x credit)`}(a.modelName,b,a.rateMultiplier),d=Number(a?.tokenLimits?.maxInputTokens)||2e5;for(let e of function(a,b){let c,d=((c=a).endsWith("-agentic")&&(c=c.slice(0,-8)),c.endsWith("-thinking")&&(c=c.slice(0,-9)),c),e=b||`Kiro ${d}`,f=[{id:d,name:e,capabilities:{thinking:!1,agentic:!1}},{id:`${d}-thinking`,name:`${e} (Thinking)`,capabilities:{thinking:!0,agentic:!1}}];return"auto"!==d&&(f.push({id:`${d}-agentic`,name:`${e} (Agentic)`,capabilities:{thinking:!1,agentic:!0}}),f.push({id:`${d}-thinking-agentic`,name:`${e} (Thinking + Agentic)`,capabilities:{thinking:!0,agentic:!0}})),f}(b,c))m.push({...e,contextLength:d,rateMultiplier:Number.isFinite(Number(a.rateMultiplier))?Number(a.rateMultiplier):1,upstreamModelId:b,description:a.description||""})}return j.set(h,{expiresAt:i+3e5,models:m,rawModels:c}),{models:m,rawModels:c}}},33669:(a,b,c)=>{c.d(b,{MI:()=>e,RC:()=>h,zx:()=>f});var d=c(89718);function e(a){return Array.isArray(a)?[...new Set(a.map(a=>String(a||"").trim()).filter(Boolean))]:[]}function f(a,b){if(!a||!1===a.isActive)return!1;let c=String(b||"").trim();if(!c)return!1;let d=e(a.allowedModels);return 0===d.length||d.includes(c)}async function g(a){let b,c=await (0,d.mt)(),e=(b=a?.headers?.get?.("Authorization")||"").startsWith("Bearer ")?b.slice(7).trim():a?.headers?.get?.("x-api-key")?.trim()||null;if(!e)return{settings:c,apiKey:null,keyRecord:null,missing:!0,invalid:!1};let f=await (0,d.mY)(e);return{settings:c,apiKey:e,keyRecord:f,missing:!1,invalid:!f||!1===f.isActive}}async function h(a,b){let c=await g(a);return c.missing?{error:{message:"Missing API key",type:"authentication_error"},status:401}:c.invalid?{error:{message:"Invalid API key",type:"authentication_error"},status:401}:{data:function(a,b){if(!b||0===e(b?.allowedModels).length)return a;let c=new Set(e(b.allowedModels));return(a||[]).filter(a=>c.has(a?.id))}(b,c.keyRecord)}}},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()}},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()}}},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)}}};
1
+ "use strict";exports.id=8255,exports.ids=[8255],exports.modules={2574:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>y,OPTIONS:()=>x,buildModelsList:()=>w});var d=c(81329),e=c(75681),f=c(89718),g=c(16655),h=c(33669),i=c(29679);let j=/[-_][0-9a-f]{8,}$/i,k=[{id:"auto",description:"AutoCombo balanced routing"},{id:"auto/coding",description:"AutoCombo coding-focused routing"},{id:"auto/fast",description:"AutoCombo low-latency routing"},{id:"auto/cheap",description:"AutoCombo low-cost routing"},{id:"auto/offline",description:"AutoCombo local/offline-friendly routing"}],l={kiro:async a=>{let b=await (0,i.cW)({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null}},m={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText"};function n(a){return String(a??"").trim()}function o(a){return a?.type&&m[a.type]||"llm"}function p(a,b){let c=e.AI_PROVIDERS[a],d=Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"];return b.some(a=>d.includes(a))}function q(a){let b=n(a?.kind||a?.serviceKind).toLowerCase();return b||"llm"}function r(a){return n(a?.exposedModel||a?.model||a?.name||a?.id)}function s(a){return n(a?.name||a?.id||r(a))}async function t(){let a=new Map;try{for(let b of await (0,f.Uv)()||[]){let c=r(b)||s(b)||n(b?.id);c&&!a.has(c)&&a.set(c,b)}}catch(a){console.log("Could not fetch legacy combos for /v1/models:",a?.message||a)}return[...a.values()]}function u(a,b,c){let d=n(c?.id);!d||b.has(d)||(b.add(d),a.push({object:"model",...c,id:d}))}async function v(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:d,cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let f=await e.json();return Array.from(new Set((Array.isArray(f)?f:f?.data||f?.models||f?.results||[]).map(a=>a?.id||a?.name||a?.model).filter(a=>"string"==typeof a&&""!==a.trim())))}catch{return[]}}async function w(a){let b=[];try{b=(b=await (0,f.getProviderConnections)()).filter(a=>!1!==a.isActive)}catch{console.log("Could not fetch providers, returning all models")}let c=await t(),h=[];try{h=await (0,f.uv)()}catch{console.log("Could not fetch custom models")}let i={};try{i=await (0,f.OM)()}catch{console.log("Could not fetch model aliases")}let m={};try{m=await (0,g.vF)()}catch{console.log("Could not fetch disabled models")}let w=(a,b)=>Array.isArray(m[a])&&m[a].includes(b),x=new Map;for(let a of b)x.has(a.provider)||x.set(a.provider,a);let y=[],z=new Set;for(let b of c){if(b?.enabled===!1||!a.includes(q(b)))continue;let c=r(b);c&&u(y,z,{id:c,owned_by:"combo",kind:q(b),virtual:!0,combo:!0,comboType:"legacy",name:s(b),description:n(b.description)})}if(0===b.length){let b=Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a]));for(let[c,e]of Object.entries(d.vq))if(p(b[c]||c,a))for(let b of e)a.includes(o(b))&&(w(c,b.id)||u(y,z,{id:`${c}/${b.id}`,owned_by:c}));for(let b of h){if(!b?.id||b.type&&"llm"!==b.type||!a.includes("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=n(b.id);d&&u(y,z,{id:`${c}/${d}`,owned_by:c})}}else for(let[b,c]of x.entries()){if(!p(b,a))continue;let f=d.Xg[b]||b,g=(c?.providerSpecificData?.prefix||(0,e.wG)(b)||f).trim(),k=d.vq[f]||[],m=c?.providerSpecificData?.enabledModels,q=Array.isArray(m)&&m.length>0,r=(0,e.mq)(b)||(0,e.gb)(b),s=new Map(k.map(a=>[a.id,o(a)])),t=q?Array.from(new Set(m.filter(a=>"string"==typeof a&&""!==a.trim()))):k.map(a=>a.id);r&&0===t.length&&!j.test(b)&&(t=await v(c));let x=l[b];if(x&&!q)try{let a=await x(c);a?.models?.length&&(t=a.models.map(a=>a.id))}catch(a){console.log(`Live model fetch failed for ${b}: ${a?.message||a}`)}for(let c of Array.from(new Set([...t.map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim()),...h.filter(a=>{if(!a?.id||a.type&&"llm"!==a.type)return!1;let c=a.providerAlias;return c===f||c===g||c===b}).map(a=>n(a.id)).filter(Boolean),...Object.values(i||{}).filter(a=>"string"==typeof a&&!!a.includes("/")&&(a.startsWith(`${g}/`)||a.startsWith(`${f}/`)||a.startsWith(`${b}/`))).map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim())]))){let b=s.get(c)||function(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}(c);a.includes(b)&&(w(g,c)||w(f,c)||u(y,z,{id:`${g}/${c}`,owned_by:g}))}let A=e.AI_PROVIDERS[b],B=[];if(a.includes("tts")&&Array.isArray(A?.ttsConfig?.models))for(let a of A.ttsConfig.models)a?.id&&B.push(a.id);if(a.includes("embedding")&&Array.isArray(A?.embeddingConfig?.models))for(let a of A.embeddingConfig.models)a?.id&&B.push(a.id);for(let a of B)w(g,a)||w(f,a)||u(y,z,{id:`${g}/${a}`,owned_by:g});a.includes("webSearch")&&A?.searchConfig&&u(y,z,{id:`${g}/search`,kind:"webSearch",owned_by:g}),a.includes("webFetch")&&A?.fetchConfig&&u(y,z,{id:`${g}/fetch`,kind:"webFetch",owned_by:g})}if(a.includes("stt"))try{for(let a of await (0,f.Fh)({type:"custom-stt"})||[]){let b=n(a?.prefix),c=n(a?.defaultModel||"whisper-1");b&&c&&u(y,z,{id:`${b}/${c}`,owned_by:b,kind:"stt",name:a.name||b,custom:!0})}}catch(a){console.log("Could not fetch custom STT nodes for /v1/models:",a?.message||a)}if(a.includes("tts"))try{for(let a of await (0,f.Fh)({type:"custom-tts"})||[]){let b=n(a.prefix);if(!b)continue;let c=n(a.defaultModel)||"default";u(y,z,{id:`${b}/${c}`,owned_by:b,kind:"tts",name:a.name||"Custom TTS",custom:!0})}}catch(a){console.log("Could not fetch custom TTS nodes for /v1/models:",a?.message||a)}return!function(a,b){if(!b.includes("llm"))return;let c=new Set(a.map(a=>a?.id).filter(Boolean));for(let b of k)u(a,c,{id:b.id,owned_by:"auto",kind:"llm",virtual:!0,description:b.description})}(y,a),y}async function x(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function y(a){try{let b=await w(["llm"]),c=await (0,h.RC)(a,b);if(c.error)return Response.json({error:c.error},{status:c.status,headers:{"Access-Control-Allow-Origin":"*"}});return Response.json({object:"list",data:c.data},{headers:{"Access-Control-Allow-Origin":"*"}})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:a.message,type:"server_error"}},{status:500})}}},16655:(a,b,c)=>{c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(39422)},19225:(a,b,c)=>{a.exports=c(44870)},29679:(a,b,c)=>{c.d(b,{cW:()=>l});var d=c(94755),e=c(55511),f=c(8590);let g="1.0.0",h="0.10.32",i="us-east-1",j=new Map;async function k(a,b){let c,f,j,k=a?.providerSpecificData?.profileArn||"",l=function(a){if(!a||"string"!=typeof a)return i;let b=a.split(":");return b.length>=4&&b[3]?b[3]:i}(k),m=new URLSearchParams;m.set("origin","AI_EDITOR"),k&&m.set("profileArn",k);let n=`https://q.${l}.amazonaws.com/ListAvailableModels?${m.toString()}`,o={...(f=a?.providerSpecificData?.clientId||a?.refreshToken||a?.providerSpecificData?.profileArn||a?.accessToken||"kiro-anonymous",j=(0,e.createHash)("sha256").update(String(f)).digest("hex"),{"User-Agent":`aws-sdk-js/${g} ua/2.1 os/windows#10.0.26200 lang/js md/nodejs#22.21.1 api/codewhispererruntime#${g} m/N,E KiroIDE-${h}-${j}`,"x-amz-user-agent":`aws-sdk-js/${g} KiroIDE-${h}-${j}`,"x-amzn-kiro-agent-mode":"vibe","x-amzn-codewhisperer-optout":"true","amz-sdk-request":"attempt=1; max=1","amz-sdk-invocation-id":(0,d.A)(),Accept:"application/json"}),Authorization:`Bearer ${a?.accessToken||""}`},p=new AbortController,q=setTimeout(()=>p.abort("timeout"),3e4);b&&"function"==typeof b.addEventListener&&b.addEventListener("abort",()=>p.abort(b.reason));try{c=await fetch(n,{method:"GET",headers:o,signal:p.signal})}finally{clearTimeout(q)}if(!c.ok){let a=await c.text().catch(()=>""),b=Error(`Kiro ListAvailableModels ${c.status}: ${a||c.statusText}`);throw b.status=c.status,b.body=a,b}let r=await c.json();return Array.isArray(r?.models)?r.models:[]}async function l(a,b={}){let c,d,g;if(!a||!a.accessToken)return b.log?.debug?.("KIRO_MODELS","No accessToken; skipping live fetch"),null;let h=(g=(d=a?.providerSpecificData||{}).profileArn||d.clientId||a?.refreshToken||a?.accessToken||"anonymous",(0,e.createHash)("sha256").update(`kiro:${g}`).digest("hex")),i=Date.now();if(!b.forceRefresh){let a=j.get(h);if(a&&a.expiresAt>i)return{models:a.models,rawModels:a.rawModels}}try{c=await k(a,b.signal)}catch(d){if(!d||401!==d.status||!a.refreshToken)return b.log?.warn?.("KIRO_MODELS",`ListAvailableModels failed: ${d?.message||d}`),null;{b.log?.info?.("KIRO_MODELS","Got 401 from Kiro; refreshing token");let d=await (0,f.Ql)(a.refreshToken,a.providerSpecificData,b.log);if(!d?.accessToken)return b.log?.warn?.("KIRO_MODELS","Token refresh did not return accessToken"),null;{let e={...a,...d};if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed(d)}catch(a){b.log?.warn?.("KIRO_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await k(e,b.signal),a.accessToken=e.accessToken,e.refreshToken&&(a.refreshToken=e.refreshToken)}catch(a){return b.log?.warn?.("KIRO_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}}let m=[];for(let a of c){if(!a||"object"!=typeof a)continue;let b=a.modelId||a.id;if(!b)continue;let c=function(a,b,c){let d=(a||b||"Kiro").trim(),e=Number(c);if(!Number.isFinite(e)||1e-9>Math.abs(e-1)||e<=0)return`Kiro ${d}`;let f=e.toFixed(1).replace(",",".");return`Kiro ${d} (${f}x credit)`}(a.modelName,b,a.rateMultiplier),d=Number(a?.tokenLimits?.maxInputTokens)||2e5;for(let e of function(a,b){let c,d=((c=a).endsWith("-agentic")&&(c=c.slice(0,-8)),c.endsWith("-thinking")&&(c=c.slice(0,-9)),c),e=b||`Kiro ${d}`,f=[{id:d,name:e,capabilities:{thinking:!1,agentic:!1}},{id:`${d}-thinking`,name:`${e} (Thinking)`,capabilities:{thinking:!0,agentic:!1}}];return"auto"!==d&&(f.push({id:`${d}-agentic`,name:`${e} (Agentic)`,capabilities:{thinking:!1,agentic:!0}}),f.push({id:`${d}-thinking-agentic`,name:`${e} (Thinking + Agentic)`,capabilities:{thinking:!0,agentic:!0}})),f}(b,c))m.push({...e,contextLength:d,rateMultiplier:Number.isFinite(Number(a.rateMultiplier))?Number(a.rateMultiplier):1,upstreamModelId:b,description:a.description||""})}return j.set(h,{expiresAt:i+3e5,models:m,rawModels:c}),{models:m,rawModels:c}}},33669:(a,b,c)=>{c.d(b,{MI:()=>e,RC:()=>h,zx:()=>f});var d=c(89718);function e(a){return Array.isArray(a)?[...new Set(a.map(a=>String(a||"").trim()).filter(Boolean))]:[]}function f(a,b){if(!a||!1===a.isActive)return!1;let c=String(b||"").trim();if(!c)return!1;let d=e(a.allowedModels);return 0===d.length||d.includes(c)}async function g(a){let b,c=await (0,d.mt)(),e=(b=a?.headers?.get?.("Authorization")||"").startsWith("Bearer ")?b.slice(7).trim():a?.headers?.get?.("x-api-key")?.trim()||null;if(!e)return{settings:c,apiKey:null,keyRecord:null,missing:!0,invalid:!1};let f=await (0,d.mY)(e);return{settings:c,apiKey:e,keyRecord:f,missing:!1,invalid:!f||!1===f.isActive}}async function h(a,b){let c=await g(a);return c.missing?{error:{message:"Missing API key",type:"authentication_error"},status:401}:c.invalid?{error:{message:"Invalid API key",type:"authentication_error"},status:401}:{data:function(a,b){if(!b||0===e(b?.allowedModels).length)return a;let c=new Set(e(b.allowedModels));return(a||[]).filter(a=>c.has(a?.id))}(b,c.keyRecord)}}},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()}},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()}}},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)}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=8627,exports.ids=[8627],exports.modules={54731:(a,b,c)=>{c.d(b,{HE:()=>g,t9:()=>i,tW:()=>j});let d="local",e="cloud",f="unknown",g=[{value:d,label:"Local / Self-hosted",description:"Model is hosted on infrastructure you operate (vLLM, SGLang, Ollama, llama.cpp, private GPU server)."},{value:e,label:"Cloud / External",description:"Model is served by an external/cloud API provider."}];function h(a){return String(a??"").trim()}function i(a,b=f){let c=h(a).toLowerCase();return c===d?d:c===e?e:c===f?f:b}function j(a,b=f){let c,g=h(a);if(!g)return b;try{c=new URL(g.includes("://")?g:`http://${g}`)}catch{return b}let i=h(c.hostname).replace(/^\[|\]$/g,"").toLowerCase();return i?"localhost"===i||"::1"===i||"0.0.0.0"===i||i.endsWith(".localhost")||i.endsWith(".local")||function(a){let b=a.split(".").map(a=>Number(a));if(4!==b.length||b.some(a=>!Number.isInteger(a)||a<0||a>255))return!1;let[c,d]=b;return 10===c||127===c||169===c&&254===d||172===c&&!!(d>=16)&&!!(d<=31)||192===c&&168===d}(i)?d:e:b}},98627:(a,b,c)=>{c.d(b,{A:()=>l});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(50412),i=c(96919),j=c(54731);function k({models:a,selected:b,defaultModel:c,onToggle:e,onDefault:f}){return a.length?(0,d.jsxs)("div",{className:"rounded-xl border border-border bg-sidebar/30 p-3",children:[(0,d.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-sm font-semibold text-text-main",children:"Models from /models"}),(0,d.jsx)("p",{className:"text-xs text-text-muted",children:"Select the models BlueRouter should expose for this provider."})]}),(0,d.jsxs)(h.Ex,{variant:"success",children:[a.length," found"]})]}),(0,d.jsx)("div",{className:"max-h-52 space-y-1 overflow-y-auto pr-1",children:a.map(a=>{let c=b.includes(a.id);return(0,d.jsxs)("label",{className:"flex items-center gap-2 rounded-lg px-2 py-1.5 hover:bg-black/[0.03] dark:hover:bg-white/[0.03]",children:[(0,d.jsx)("input",{type:"checkbox",checked:c,onChange:()=>e(a.id)}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate text-sm",children:a.name||a.id}),(0,d.jsx)("code",{className:"hidden max-w-[45%] truncate text-[11px] text-text-muted sm:block",children:a.id})]},a.id)})}),(0,d.jsx)("div",{className:"mt-3",children:(0,d.jsx)(h.l6,{label:"Default Model",value:c,onChange:a=>f(a.target.value),options:b.map(a=>({value:a,label:a})),disabled:!b.length})})]}):null}function l({isOpen:a,node:b,onSaved:c,onClose:f}){let g=!!b?.id,[m,n]=(0,e.useState)(()=>{let a,c;return a=b?.baseUrl||"https://api.openai.com/v1",c=b?.providerSpecificData?.routingTags||b?.providerSpecificData?.tags||b?.tags||[],{name:b?.name||"",prefix:b?.prefix||"",apiType:b?.apiType||"chat",baseUrl:a,deploymentType:(0,j.t9)(b?.deploymentType,"")||(0,j.tW)(a),openAICompatibleRuntime:b?.openAICompatibleRuntime||b?.providerSpecificData?.openAICompatibleRuntime||i.hb,routingTags:Array.isArray(c)?c.join(", "):String(c||""),maxInFlight:b?.providerSpecificData?.maxInFlight||b?.maxInFlight||""}}),[o,p]=(0,e.useState)(""),[q,r]=(0,e.useState)(!1),[s,t]=(0,e.useState)([]),[u,v]=(0,e.useState)([]),[w,x]=(0,e.useState)(""),[y,z]=(0,e.useState)(!1),[A,B]=(0,e.useState)(!1),[C,D]=(0,e.useState)(null),[E,F]=(0,e.useState)(""),G=(0,e.useMemo)(()=>[{value:"chat",label:"Chat Completions"},{value:"responses",label:"Responses API"}],[]),H=(0,e.useMemo)(()=>j.HE.map(({value:a,label:b})=>({value:a,label:b})),[]),I=()=>{t([]),D(null)},J=(a,b=!1)=>{n(b=>({...b,...a})),b&&I()},K=async()=>{if(m.baseUrl.trim()&&(o.trim()||q)){z(!0),F(""),D(null);try{let a=await fetch("/api/provider-nodes/openai-compatible/manage",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"check",nodeId:b?.id||void 0,baseUrl:m.baseUrl,apiKey:o.trim()||void 0})}),c=await a.json().catch(()=>({}));if(!a.ok||!c.valid){t([]),D("failed"),F(c.error||"Check failed");return}let d=c.models||[],e=new Set(d.map(a=>a.id)),f=u.filter(a=>e.has(a)),g=f.length?f:d.map(a=>a.id);t(d),v(g),x(a=>a&&g.includes(a)?a:g[0]||""),D("success")}catch(a){t([]),D("failed"),F(a.message||"Check failed")}finally{z(!1)}}},L=async()=>{if(m.name.trim()&&m.prefix.trim()&&m.baseUrl.trim()&&(g||o.trim())&&"success"===C&&s.length&&u.length&&w){B(!0),F("");try{let a=await fetch("/api/provider-nodes/openai-compatible/manage",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"save",nodeId:b?.id||void 0,...m,apiKey:o.trim()||void 0,routingTags:m.routingTags,maxInFlight:m.maxInFlight,selectedModels:u,defaultModel:w})}),d=await a.json().catch(()=>({}));if(!a.ok)return void F(d.error||"Failed to save provider");"function"==typeof c&&await c(d),f()}catch(a){F(a.message||"Failed to save provider")}finally{B(!1)}}};return(0,d.jsx)(h.aF,{isOpen:a,title:`${g?"Edit":"Add"} OpenAI Compatible`,onClose:f,children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)(h.pd,{label:"Name",value:m.name,onChange:a=>J({name:a.target.value}),placeholder:"6.13-vllm",hint:"Required. A friendly label for this endpoint."}),(0,d.jsx)(h.pd,{label:"Prefix",value:m.prefix,onChange:a=>J({prefix:a.target.value}),placeholder:"6.13-vllm",hint:"Required. Used as the provider prefix for model IDs."}),(0,d.jsx)(h.l6,{label:"API Type",options:G,value:m.apiType,onChange:a=>J({apiType:a.target.value},!0)}),(0,d.jsx)(h.l6,{label:"Server Type",options:i._8,value:m.openAICompatibleRuntime,onChange:a=>J({openAICompatibleRuntime:a.target.value}),hint:i._8.find(a=>a.value===m.openAICompatibleRuntime)?.description||"Controls how BlueRouter maps reasoning parameters for this endpoint."}),(0,d.jsx)(h.pd,{label:"Base URL",value:m.baseUrl,onChange:a=>J({baseUrl:a.target.value},!0),placeholder:"http://172.16.6.13:8000/v1",hint:"Use the base URL ending in /v1. Check reads the endpoint's /models list."}),(0,d.jsx)(h.l6,{label:"Deployment",options:H,value:m.deploymentType,onChange:a=>J({deploymentType:a.target.value}),hint:"Controls Local vs Cloud usage/analytics classification."}),(0,d.jsx)(h.pd,{label:"Routing Tags / Labels",value:m.routingTags,onChange:a=>J({routingTags:a.target.value}),placeholder:"gpu, vram:32gb, model_support:qwen",hint:"Comma or newline separated. Used by routing rules."}),(0,d.jsx)(h.pd,{label:"Max In-flight Requests",type:"number",value:m.maxInFlight,onChange:a=>J({maxInFlight:a.target.value}),placeholder:"2",hint:"Optional per-endpoint concurrency cap."}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.pd,{label:"API Key",type:"password",value:o,onChange:a=>{p(a.target.value),I()},placeholder:g&&q?"Leave blank to keep current key":"sk-...",hint:g&&q?"Leave blank to keep the saved key. Enter a new value to replace it.":void 0,className:"flex-1"}),(0,d.jsx)("div",{className:"pt-6",children:(0,d.jsx)(h.$n,{onClick:K,disabled:y||!m.baseUrl.trim()||!o.trim()&&!q,variant:"secondary",children:y?"Checking...":"Check"})})]}),"success"===C&&(0,d.jsx)(h.Ex,{variant:"success",children:"Connected \xb7 /models loaded"}),"failed"===C&&(0,d.jsx)(h.Ex,{variant:"error",children:"Check failed"}),E&&(0,d.jsx)("p",{className:"break-words text-xs text-red-500",children:E}),(0,d.jsx)(k,{models:s,selected:u,defaultModel:w,onToggle:a=>{v(b=>{let c=b.includes(a)?b.filter(b=>b!==a):[...b,a];return c.includes(w)||x(c[0]||""),c})},onDefault:x}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:L,fullWidth:!0,disabled:A||y||!m.name.trim()||!m.prefix.trim()||!m.baseUrl.trim()||!g&&!o.trim()||"success"!==C||!u.length||!w,children:A?"Saving...":g?"Save":"Create"}),(0,d.jsx)(h.$n,{onClick:f,variant:"ghost",fullWidth:!0,disabled:A,children:"Cancel"})]})]})})}k.propTypes={models:g().arrayOf(g().shape({id:g().string.isRequired,name:g().string})),selected:g().arrayOf(g().string).isRequired,defaultModel:g().string,onToggle:g().func.isRequired,onDefault:g().func.isRequired},l.propTypes={isOpen:g().bool.isRequired,node:g().shape({id:g().string,name:g().string,prefix:g().string,apiType:g().string,baseUrl:g().string,deploymentType:g().string,openAICompatibleRuntime:g().string,providerSpecificData:g().object,tags:g().oneOfType([g().string,g().array]),maxInFlight:g().oneOfType([g().string,g().number])}),onSaved:g().func,onClose:g().func.isRequired}}};
@@ -21,7 +21,7 @@ data: ${JSON.stringify(d)}
21
21
 
22
22
  `:`data: ${JSON.stringify(d)}
23
23
 
24
- `}async function i(a,b=null){let c="";try{c=await a.text()}catch{c=""}if(b&&"function"==typeof b.parseError)try{let e=b.parseError(a,c);if(e&&"object"==typeof e){let b=e.message||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:e.status||a.status,message:b,resetsAtMs:e.resetsAtMs}}}catch{}let e="";try{let a=JSON.parse(c);e=a.error?.message||a.message||a.error||c}catch{e=c}let f=("string"==typeof e?e:JSON.stringify(e))||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:a.status,message:f}}function j(a,b,c,d){return{success:!1,status:a,error:b,resetsAtMs:c,response:g(a,b,d)}}function k(a,b,c,d,e){let g=Math.max(Math.ceil((new Date(c).getTime()-Date.now())/1e3),1);return new Response(JSON.stringify(f(a,`${b} (${d})`,e)),{status:a,headers:{"Content-Type":"application/json","Retry-After":String(g)}})}function l(a,b,c,d){let e=d||a.code||"FETCH_FAILED",f=a.message||"Unknown error",g=a.cause?.code,h=a.cause?.message,i=g||h?` (cause: ${[g,h].filter(Boolean).join(": ")})`:"";return`[${e}]: ${f}${i}`}},47370:(a,b,c)=>{c.d(b,{BY:()=>d.BY,E5:()=>d.E5,SL:()=>d.SL,Zx:()=>d.Zx,_V:()=>d._V,j$:()=>d.j$,ox:()=>d.ox,rg:()=>d.rg,sZ:()=>d.sZ,uw:()=>d.uw});var d=c(39189);c(52549)},48895:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$B:()=>f.$B,KC:()=>e.KC,SB:()=>h.SB}),c(39609),c(35024),c(75924),c(41004);var e=c(44404);c(14170),c(46992),c(57647),c(40669),c(12557);var f=c(8590),g=c(92500);c(59657);var h=c(55330);c(43659),c(71857);var i=a([g,h]);[g,h]=i.then?(await i)():i,d()}catch(a){d(a)}})},59657:(a,b,c)=>{c.d(b,{Jb:()=>f,jd:()=>e});var d=c(41004);function e({onDisconnect:a,onError:b,log:c,provider:d,model:f}={}){let g=new AbortController,h=Date.now(),i=!1,j=null,k=a=>{let b=Date.now()-h,c=d?.toUpperCase()||"UNKNOWN";console.log(`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 🌊 [STREAM] ${c} | ${f||"unknown"} | ${b}ms | ${a}`)};return{signal:g.signal,startTime:h,isConnected:()=>!i,handleDisconnect:(b="client_closed")=>{i||(i=!0,k(`disconnect: ${b}`),j=setTimeout(()=>{g.abort()},500),a?.({reason:b,duration:Date.now()-h}))},handleComplete:()=>{!i&&(i=!0,k("complete"),j&&(clearTimeout(j),j=null))},handleError:a=>{if(!i){if(i=!0,j&&(clearTimeout(j),j=null),"AbortError"===a.name)return void k("aborted");k(`error: ${a.message}`),b?.(a)}},abort:()=>g.abort()}}function f(a,b,c){var e;let f,g,h=null,i=()=>{h&&(clearTimeout(h),h=null)},j=()=>{i(),h=setTimeout(()=>{h=null,c.handleError?.(Error("stream stall timeout")),c.abort?.()},d.xM)},k={signal:c.signal,startTime:c.startTime,isConnected:()=>c.isConnected(),handleComplete:()=>{i(),c.handleComplete()},handleError:a=>{i(),c.handleError(a)},handleDisconnect:a=>{i(),c.handleDisconnect(a)},abort:()=>{i(),c.abort()}};j();let l=new TransformStream({transform(a,b){j(),b.enqueue(a)},flush(){i()}});return e={readable:a.body.pipeThrough(l).pipeThrough(b),writable:{getWriter:()=>({abort:()=>Promise.resolve()})}},f=e.readable.getReader(),g=e.writable.getWriter(),new ReadableStream({async pull(a){if(!k.isConnected())return void a.close();try{let{done:b,value:c}=await f.read();if(b){k.handleComplete(),a.close();return}a.enqueue(c)}catch(c){let b=k.isConnected();if(k.handleError(c),f.cancel().catch(()=>{}),g.abort().catch(()=>{}),!b||"AbortError"===c.name||c.message?.includes("aborted"))try{a.close()}catch(a){}else try{a.error(c)}catch(a){}}},cancel(a){k.handleDisconnect(a||"cancelled"),f.cancel(),g.abort()}})}},60125:(a,b,c)=>{c.d(b,{p:()=>g});var d=c(14170);let e="Preserve every fact, number, name, technical term, negation, uncertainty qualifier, condition, time/frequency word, constraint and ordered step. Never add facts or remove reasoning links. Keep code blocks, file paths, commands, errors, URLs and API identifiers exact. Use normal language for security warnings, irreversible actions and confirmation requests. Prioritize replying in the language used by the user in their latest request, unless they explicitly ask for another language.",f={lite:["Use concise normal language. Remove filler, pleasantries, repeated explanations and unnecessary hedging. Prefer active voice, present tense and short sentences. One atomic thought per sentence when practical.",e,"Do not mention this compression instruction."].join(" "),full:["Use Caveman Compression. Remove articles, auxiliary verbs, redundant pronouns, intensifiers and grammatical scaffolding when meaning remains clear. Prefer 2-7 word sentences. Split compound thoughts. Remove connectives when sequence preserves cause and effect. Use simple common words, active voice and present tense. Keep critical prepositions that define location, source, inclusion or exclusion.",e,"Avoid telegraphic ambiguity. Do not mention this compression instruction."].join(" "),ultra:["Use maximum safe Caveman Compression. Keep only unpredictable semantic content. Use atomic 2-5 word sentences, labels, compact lists and standard technical abbreviations. Remove articles, auxiliaries, filler and most connectives. Compression must remain unambiguous and logically complete. Expand any phrase whose word order could change meaning.",e,"Do not mention this compression instruction."].join(" ")};function g(a,b,c){let e=f[c];if(a&&e)switch(b){case d.h.CLAUDE:!function(a,b){if("string"==typeof a.system&&a.system.length>0){a.system=`${a.system}
24
+ `}async function i(a,b=null){let c="";try{c=await a.text()}catch{c=""}if(b&&"function"==typeof b.parseError)try{let e=b.parseError(a,c);if(e&&"object"==typeof e){let b=e.message||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:e.status||a.status,message:b,resetsAtMs:e.resetsAtMs}}}catch{}let e="";try{let a=JSON.parse(c);e=a.error?.message||a.message||a.error||c}catch{e=c}let f=("string"==typeof e?e:JSON.stringify(e))||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:a.status,message:f}}function j(a,b,c,d){return{success:!1,status:a,error:b,resetsAtMs:c,response:g(a,b,d)}}function k(a,b,c,d,e){let g=Math.max(Math.ceil((new Date(c).getTime()-Date.now())/1e3),1);return new Response(JSON.stringify(f(a,`${b} (${d})`,e)),{status:a,headers:{"Content-Type":"application/json","Retry-After":String(g)}})}function l(a,b,c,d){let e=d||a.code||"FETCH_FAILED",f=a.message||"Unknown error",g=a.cause?.code,h=a.cause?.message,i=g||h?` (cause: ${[g,h].filter(Boolean).join(": ")})`:"";return`[${e}]: ${f}${i}`}},47370:(a,b,c)=>{c.d(b,{BY:()=>d.BY,E5:()=>d.E5,SL:()=>d.SL,Zx:()=>d.Zx,_V:()=>d._V,j$:()=>d.j$,ox:()=>d.ox,rg:()=>d.rg,sZ:()=>d.sZ,uw:()=>d.uw});var d=c(39422);c(52549)},48895:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$B:()=>f.$B,KC:()=>e.KC,SB:()=>h.SB}),c(39609),c(35024),c(75924),c(41004);var e=c(44404);c(14170),c(46992),c(57647),c(40669),c(12557);var f=c(8590),g=c(92500);c(59657);var h=c(55330);c(43659),c(71857);var i=a([g,h]);[g,h]=i.then?(await i)():i,d()}catch(a){d(a)}})},59657:(a,b,c)=>{c.d(b,{Jb:()=>f,jd:()=>e});var d=c(41004);function e({onDisconnect:a,onError:b,log:c,provider:d,model:f}={}){let g=new AbortController,h=Date.now(),i=!1,j=null,k=a=>{let b=Date.now()-h,c=d?.toUpperCase()||"UNKNOWN";console.log(`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 🌊 [STREAM] ${c} | ${f||"unknown"} | ${b}ms | ${a}`)};return{signal:g.signal,startTime:h,isConnected:()=>!i,handleDisconnect:(b="client_closed")=>{i||(i=!0,k(`disconnect: ${b}`),j=setTimeout(()=>{g.abort()},500),a?.({reason:b,duration:Date.now()-h}))},handleComplete:()=>{!i&&(i=!0,k("complete"),j&&(clearTimeout(j),j=null))},handleError:a=>{if(!i){if(i=!0,j&&(clearTimeout(j),j=null),"AbortError"===a.name)return void k("aborted");k(`error: ${a.message}`),b?.(a)}},abort:()=>g.abort()}}function f(a,b,c){var e;let f,g,h=null,i=()=>{h&&(clearTimeout(h),h=null)},j=()=>{i(),h=setTimeout(()=>{h=null,c.handleError?.(Error("stream stall timeout")),c.abort?.()},d.xM)},k={signal:c.signal,startTime:c.startTime,isConnected:()=>c.isConnected(),handleComplete:()=>{i(),c.handleComplete()},handleError:a=>{i(),c.handleError(a)},handleDisconnect:a=>{i(),c.handleDisconnect(a)},abort:()=>{i(),c.abort()}};j();let l=new TransformStream({transform(a,b){j(),b.enqueue(a)},flush(){i()}});return e={readable:a.body.pipeThrough(l).pipeThrough(b),writable:{getWriter:()=>({abort:()=>Promise.resolve()})}},f=e.readable.getReader(),g=e.writable.getWriter(),new ReadableStream({async pull(a){if(!k.isConnected())return void a.close();try{let{done:b,value:c}=await f.read();if(b){k.handleComplete(),a.close();return}a.enqueue(c)}catch(c){let b=k.isConnected();if(k.handleError(c),f.cancel().catch(()=>{}),g.abort().catch(()=>{}),!b||"AbortError"===c.name||c.message?.includes("aborted"))try{a.close()}catch(a){}else try{a.error(c)}catch(a){}}},cancel(a){k.handleDisconnect(a||"cancelled"),f.cancel(),g.abort()}})}},60125:(a,b,c)=>{c.d(b,{p:()=>g});var d=c(14170);let e="Preserve every fact, number, name, technical term, negation, uncertainty qualifier, condition, time/frequency word, constraint and ordered step. Never add facts or remove reasoning links. Keep code blocks, file paths, commands, errors, URLs and API identifiers exact. Use normal language for security warnings, irreversible actions and confirmation requests. Prioritize replying in the language used by the user in their latest request, unless they explicitly ask for another language.",f={lite:["Use concise normal language. Remove filler, pleasantries, repeated explanations and unnecessary hedging. Prefer active voice, present tense and short sentences. One atomic thought per sentence when practical.",e,"Do not mention this compression instruction."].join(" "),full:["Use Caveman Compression. Remove articles, auxiliary verbs, redundant pronouns, intensifiers and grammatical scaffolding when meaning remains clear. Prefer 2-7 word sentences. Split compound thoughts. Remove connectives when sequence preserves cause and effect. Use simple common words, active voice and present tense. Keep critical prepositions that define location, source, inclusion or exclusion.",e,"Avoid telegraphic ambiguity. Do not mention this compression instruction."].join(" "),ultra:["Use maximum safe Caveman Compression. Keep only unpredictable semantic content. Use atomic 2-5 word sentences, labels, compact lists and standard technical abbreviations. Remove articles, auxiliaries, filler and most connectives. Compression must remain unambiguous and logically complete. Expand any phrase whose word order could change meaning.",e,"Do not mention this compression instruction."].join(" ")};function g(a,b,c){let e=f[c];if(a&&e)switch(b){case d.h.CLAUDE:!function(a,b){if("string"==typeof a.system&&a.system.length>0){a.system=`${a.system}
25
25
 
26
26
  ${b}`;return}if(Array.isArray(a.system)){let c={type:"text",text:b},d=-1;for(let b=a.system.length-1;b>=0;b--)if(a.system[b]?.cache_control){d=b;break}d>=0?a.system.splice(d,0,c):a.system.push(c);return}a.system=b}(a,e);return;case d.h.GEMINI:case d.h.GEMINI_CLI:case d.h.VERTEX:case d.h.ANTIGRAVITY:var g,h;let i,j,k;g=a,h=e,i=g.request&&"object"==typeof g.request?g.request:g,j=Object.prototype.hasOwnProperty.call(i,"system_instruction")?"system_instruction":"systemInstruction",(k=i[j])&&Array.isArray(k.parts)?k.parts.push({text:h}):i[j]={parts:[{text:h}]};return;default:!function(a,b){var c,d;if("string"==typeof a.instructions){a.instructions=a.instructions?`${a.instructions}
27
27
 
@@ -1 +1 @@
1
- "use strict";exports.id=9868,exports.ids=[1998,9868],exports.modules={25343:(a,b,c)=>{c.d(b,{$4:()=>s,Qq:()=>t,UC:()=>u,t:()=>v});var d=c(55511),e=c.n(d),f=c(79748),g=c.n(f),h=c(21820),i=c.n(h),j=c(33873),k=c.n(j);let l=process.env.DATA_DIR||process.env.BLUEROUTER_DATA_DIR||k().join(i().homedir(),".bluerouter"),m=k().join(l,"routing-topology-overrides.json"),n=new Set(["direct","proxy"]);function o(a){return String(a||"").trim()}function p(a={},b={}){let c=o(a.routeType||b.routeType||"direct").toLowerCase();if(!n.has(c))throw Error("routeType must be 'direct' or 'proxy'");let d="proxy"===c?function(a){if(!Array.isArray(a))return[];if(a.length>32)throw Error("Too many real vLLM endpoints (max 32)");let b=new Set,c=[];for(let d of a){let a=function(a={}){let b,c=o(a.host),d=Number(a.port),e=a.weight,f=null==e||""===e?null:Number(e);if(!((b=o(c))&&/^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,252}$/.test(b))||b.includes(".."))throw Error(`Invalid vLLM endpoint host: ${c||"(empty)"}`);if(!Number.isInteger(d)||d<1||d>65535)throw Error(`Invalid vLLM endpoint port for ${c}`);if(null!==f&&(!Number.isFinite(f)||f<=0||f>1e5))throw Error(`Invalid vLLM endpoint weight for ${c}:${d}`);return{host:c,port:d,weight:null===f?null:Number(f),label:o(a.label).slice(0,160)}}(d),e=`${a.host.toLowerCase()}:${a.port}`;if(b.has(e))throw Error(`Duplicate vLLM endpoint: ${a.host}:${a.port}`);b.add(e),c.push(a)}return c}(Object.prototype.hasOwnProperty.call(a,"realEndpoints")?a.realEndpoints:b.realEndpoints):[];if("proxy"===c&&0===d.length)throw Error("Proxy / Load Balancer requires at least one real vLLM endpoint");return{routeType:c,realEndpoints:d,updatedAt:new Date().toISOString()}}async function q(){await g().mkdir(l,{recursive:!0});try{let a=JSON.parse(await g().readFile(m,"utf8"));return{version:1,providers:a?.providers&&"object"==typeof a.providers&&!Array.isArray(a.providers)?a.providers:{}}}catch{return{version:1,providers:{}}}}async function r(a){await g().mkdir(l,{recursive:!0});let b=`${m}.${process.pid}.${e().randomUUID()}.tmp`;try{await g().writeFile(b,JSON.stringify({version:1,providers:a.providers||{}},null,2)),await g().rename(b,m)}catch(a){throw await g().unlink(b).catch(()=>{}),a}}async function s(){return(await q()).providers||{}}async function t(a){let b=o(a);if(!b)return null;let c=(await s())[b];if(!c||"object"!=typeof c)return null;try{return p(c,c)}catch{return null}}async function u(a,b={}){let c=o(a);if(!c)throw Error("providerId is required");let d=await q(),e=p(b,d.providers[c]||{});return d.providers[c]=e,await r(d),e}async function v(a){let b=o(a);if(!b)return!1;let c=await q();return!!Object.prototype.hasOwnProperty.call(c.providers,b)&&(delete c.providers[b],await r(c),!0)}},28643:(a,b,c)=>{c.d(b,{Tb:()=>k,g2:()=>h});var d=c(60592),e=c(62763),f=c(28919);let g="__blueRouterResourceMonitorLiveSnapshot";function h(a={}){return String(a.containerId||a.endpoint||(a.port?`port:${a.port}`:""))}async function i(a){let b=(0,f.jT)(a);if(!1===a.enabled)return b;let c=new Date().toISOString();try{let e=await (0,d.h)(a);return{...b,lastStatus:e,lastStatusAt:c,lastError:null,lastErrorAt:null}}catch(a){return{...b,lastError:a?.message||"Agent is unreachable",lastErrorAt:c}}}async function j(){let a=await (0,f.HI)({includeSecrets:!0});return await (0,e.WR)()?{servers:a.map(f.jT),standby:!0,generatedAt:new Date().toISOString()}:{servers:await Promise.all(a.map(i)),standby:!1,generatedAt:new Date().toISOString()}}async function k({force:a=!1,maxAgeMs:b=3500}={}){let c=(globalThis[g]||(globalThis[g]={value:null,fetchedAt:0,pending:null}),globalThis[g]),d=Date.now();return!a&&c.value&&d-c.fetchedAt<Math.max(0,Number(b)||0)?c.value:(c.pending||(c.pending=j().then(a=>(c.value=a,c.fetchedAt=Date.now(),a)).finally(()=>{c.pending=null})),c.pending)}},49868:(a,b,c)=>{c.d(b,{G:()=>x,v:()=>y});var d=c(55511),e=c(71998),f=c(67769),g=c(28643),h=c(25343);let i="__blueRouterRoutingTopology",j=new Set(["coder","coder-fast","coder-high","translator"]);function k(){return globalThis[i]||(globalThis[i]={value:null,builtAt:0,pending:null}),globalThis[i]}function l(a){return String(a||"").trim()}function m(a){return l(a).toLowerCase()}function n(a){let b=m(a).replace(/^\[|\]$/g,"");return["localhost","127.0.0.1","::1"].includes(b)?"__local__":b}function o(a){return a&&"object"==typeof a?l(a.connectionId||a.connection_id):""}function p(a,b){return a&&"object"==typeof a&&l(a.label||a.displayName||a.name)||b}function q(a){if(!a||"object"!=typeof a)return null;let b=Number(a.weight);return Number.isFinite(b)&&b>0?b:null}function r(a){return!!["openai-compatible","anthropic-compatible"].includes(a?.type)&&"local"===((0,f.t9)(a.deploymentType,"")||(0,f.tW)(a.baseUrl))}function s(a){let b=a?.lastStatus||{},c=Array.isArray(b?.vllm?.instances)?b.vllm.instances:[];return{id:a.id,name:a.name,host:a.host,agentPort:a.agentPort,enabled:!1!==a.enabled,hostname:b.hostname||"",os:b.os||"",cpu:b.cpu?{model:b.cpu.model||"",cores:Number(b.cpu.cores||0)}:null,memoryTotalBytes:Number(b.memory?.totalBytes||0),gpus:(b.gpus||[]).map(a=>({index:a.index,uuid:a.uuid,name:a.name,memoryTotalMb:Number(a.memoryTotalMb||0)})),vllmInstances:c.map(a=>({key:(0,g.g2)(a),port:Number(a.port||0),endpoint:a.endpoint||"",containerName:a.containerName||"",image:a.image||"",models:Array.isArray(a.models)?a.models:[],discovery:a.discovery||""}))}}function t(a,b){if(!a?.normalizedHost)return{server:null,instance:null};let c=b.filter(b=>new Set([b?.host,b?.lastStatus?.hostname].map(n).filter(Boolean)).has(a.normalizedHost));if(1!==c.length)return{server:null,instance:null};let d=c[0],e=(d.lastStatus?.vllm?.instances||[]).filter(b=>Number(b.port||0)===Number(a.port||0));return{server:d,instance:1===e.length?e[0]:null}}function u(a,b,{source:c="manual",index:d=0}={}){let e=l(a?.host),f=Number(a?.port||0),{server:h,instance:i}=t({host:l(e),normalizedHost:n(e),port:Number(f||0)},b),j=Number(a?.weight);return{id:`${c}:${m(e)}:${f}:${d}`,source:c,host:e,port:f,label:l(a?.label),weight:Number.isFinite(j)&&j>0?j:null,resourceServerId:h?.id||null,vllmInstanceKey:i?(0,g.g2)(i):null,resourceMatch:h?i?"host-port":"host":"unmatched",reportedModels:Array.isArray(i?.models)?i.models:[]}}function v(a){let b=l(a),c=b.indexOf("/");return c>0?b.slice(0,c):""}async function w(){let[a,b,c,f,i]=await Promise.all([(0,e.Uv)(),(0,e.Fh)(),(0,e.P)(),(0,g.Tb)(),(0,h.$4)()]),k=f.servers||[],w=(b||[]).filter(r),x=new Map(w.map(a=>[a.id,a])),y=new Map((c||[]).map(a=>[a.id,a])),z=new Map;for(let a of c||[]){let b=z.get(a.provider)||[];b.push(a),z.set(a.provider,b)}let A=new Map;for(let a of w){let b=m(a.prefix);if(!b)continue;let c=A.get(b)||[];c.push(a),A.set(b,c)}let B=w.map(a=>{let b=function(a){try{let b=new URL(l(a)),c=b.protocol.replace(":",""),d=Number(b.port||("https"===c?443:80));return{protocol:c,host:b.hostname,normalizedHost:n(b.hostname),port:d,origin:b.origin}}catch{return null}}(a.baseUrl),c=b?t(b,k):{server:null,instance:null},d=(z.get(a.id)||[]).filter(a=>!1!==a.isActive),e=i?.[a.id]||null,f=e?.routeType==="proxy"?"proxy":"direct",g="proxy"===f?(e?.realEndpoints||[]).map((a,b)=>u(a,k,{source:"proxy-backend",index:b})):b?[u({host:b.host,port:b.port},k,{source:"base-url",index:0})]:[],h="direct"===f&&g[0]||null;return{id:a.id,name:a.name||a.prefix||a.id,prefix:a.prefix||"",type:a.type,apiType:a.apiType||"",baseUrl:a.baseUrl||"",deploymentType:"local",runtime:a.openAICompatibleRuntime||"",endpoint:b?{protocol:b.protocol,host:b.host,port:b.port}:null,connectionIds:d.map(a=>a.id),defaultModels:[...new Set(d.map(a=>l(a.defaultModel)).filter(Boolean))],routeType:f,topologyConfigured:!!e,topologyConfigUpdatedAt:e?.updatedAt||null,gateway:b?{host:b.host,port:b.port,resourceServerId:c.server?.id||null,resourceMatch:c.server?"host":"unmatched"}:null,backends:g,realEndpoints:"proxy"===f?g:[],resourceServerId:h?.resourceServerId||null,vllmInstanceKey:h?.vllmInstanceKey||null,resourceMatch:h?.resourceMatch||"unmatched"}}),C=new Map(B.map(a=>[a.id,a])),D=(a||[]).filter(a=>!a.kind),E=new Map(D.map(a=>[m(a.name),a]).filter(([a])=>!!a));function F({rootCombo:a,target:b,model:c,path:d,viaCombos:e,reason:f}){return{id:`${a.id||a.name}:${d.join(".")}`,order:Number(d[0]||0)+1,model:c,label:p(b,c),weight:q(b),connectionId:o(b)||null,providerId:null,providerPrefix:v(c),resolution:"unresolved",unresolvedReason:f,viaCombos:e,nestedDepth:e.length}}let G=D.sort((a,b)=>{let c=+!j.has(m(a.name)),d=+!j.has(m(b.name));return c!==d?c-d:l(a.name).localeCompare(l(b.name))}).map(a=>{let b=Array.isArray(a.models)?a.models:[],c=b.flatMap((b,c)=>(function a(b,c){let{rootCombo:d,path:e,stack:f,viaCombos:g}=c,h="string"==typeof b?l(b):b&&"object"==typeof b?l(b.value||b.model||b.id):"",i=o(b),j=i?y.get(i):null,k=j?x.get(j.provider):null,n=k?"connection":"",r="";if(!k){let a=m(v(h)),b=a&&A.get(a)||[];1===b.length?(k=b[0],n="model-prefix"):r=b.length>1?`Provider prefix '${a}' tr\xf9ng ${b.length} node`:i&&!j?`Kh\xf4ng t\xecm thấy connection ${i}`:a?`Kh\xf4ng t\xecm thấy local compatible provider '${a}'`:"Model kh\xf4ng c\xf3 provider prefix v\xe0 kh\xf4ng pin connection"}let s=k?C.get(k.id):null;if(s)return[{id:`${d.id||d.name}:${e.join(".")}`,order:Number(e[0]||0)+1,model:h,label:p(b,h),weight:q(b),connectionId:i||null,providerId:s.id,providerPrefix:s.prefix||v(h),resolution:g.length?`nested-combo:${n}`:n,unresolvedReason:"",viaCombos:g,nestedDepth:g.length}];let t=m(l(h).replace(/^:+/,"")),u=t?E.get(t):null;if(!u)return[F({rootCombo:d,target:b,model:h,path:e,viaCombos:g,reason:r})];if(f.includes(t)){let a=[...f,t].map(a=>`:${a}`).join(" → ");return[F({rootCombo:d,target:b,model:h,path:e,viaCombos:g,reason:`Ph\xe1t hiện v\xf2ng lặp combo: ${a}`})]}if(f.length>=12)return[F({rootCombo:d,target:b,model:h,path:e,viaCombos:g,reason:"Combo lồng nhau vượt qu\xe1 12 cấp"})];let w=Array.isArray(u.models)?u.models:[],z=[...g,{id:u.id||u.name,name:u.name,sourceModel:h}];return w.length?w.flatMap((b,c)=>a(b,{rootCombo:d,path:[...e,c],stack:[...f,t],viaCombos:z})):[F({rootCombo:d,target:b,model:h,path:e,viaCombos:z,reason:`Child combo :${u.name} kh\xf4ng c\xf3 upstream model`})]})(b,{rootCombo:a,path:[c],stack:[m(a.name)],viaCombos:[]}));return{id:a.id,name:a.name,isFocus:j.has(m(a.name)),configuredTargetCount:b.length,resolvedLeafTargetCount:c.length,hasNestedCombos:c.some(a=>a.nestedDepth>0),targets:c}}),H=k.map(s),I=G.reduce((a,b)=>a+b.targets.filter(a=>!a.providerId).length,0),J=G.reduce((a,b)=>a+b.targets.filter(a=>a.nestedDepth>0).length,0),K=B.flatMap(a=>a.backends||[]),L={combos:G,providers:B,servers:H,summary:{comboCount:G.length,focusComboCount:G.filter(a=>a.isFocus).length,localProviderCount:B.length,proxyProviderCount:B.filter(a=>"proxy"===a.routeType).length,realBackendCount:K.length,unresolvedBackends:K.filter(a=>"host-port"!==a.resourceMatch).length,resourceServerCount:H.length,unresolvedTargets:I,nestedComboRoutes:J}};return{...L,revision:(0,d.createHash)("sha1").update(JSON.stringify(L)).digest("hex").slice(0,12),generatedAt:new Date().toISOString(),topologyCacheMs:6e5,telemetryCacheMs:3500,standby:!0===f.standby}}async function x({force:a=!1}={}){let b=k(),c=Date.now();return!a&&b.value&&c-b.builtAt<6e5?b.value:(b.pending||(b.pending=w().then(a=>(b.value=a,b.builtAt=Date.now(),a)).finally(()=>{b.pending=null})),b.pending)}function y(){let a=k();a.value=null,a.builtAt=0}},67769:(a,b,c)=>{c.d(b,{P7:()=>k,t9:()=>i,tW:()=>j});let d="local",e="cloud",f="unknown",g=["openai-compatible-","anthropic-compatible-"];function h(a){return String(a??"").trim()}function i(a,b=f){let c=h(a).toLowerCase();return c===d?d:c===e?e:c===f?f:b}function j(a,b=f){let c,g=h(a);if(!g)return b;try{c=new URL(g.includes("://")?g:`http://${g}`)}catch{return b}let i=h(c.hostname).replace(/^\[|\]$/g,"").toLowerCase();return i?"localhost"===i||"::1"===i||"0.0.0.0"===i||i.endsWith(".localhost")||i.endsWith(".local")||function(a){let b=a.split(".").map(a=>Number(a));if(4!==b.length||b.some(a=>!Number.isInteger(a)||a<0||a>255))return!1;let[c,d]=b;return 10===c||127===c||169===c&&254===d||172===c&&!!(d>=16)&&!!(d<=31)||192===c&&168===d}(i)?d:e:b}function k({snapshot:a,configured:b,providerId:c,endpoint:d,baseUrl:l}={}){let m,n=i(a,"");if(n)return n;let o=i(b,"");if(o)return o;let p=j(l||d,"");return p?p:h(c)&&(m=h(c).toLowerCase(),!g.some(a=>m.startsWith(a)))?e:f}},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,nv:()=>d.nv,o5:()=>d.o5,op:()=>d.op,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.updateProviderConnection,uv:()=>d.uv,yg:()=>d.yg});var d=c(89718)}};
1
+ "use strict";exports.id=9868,exports.ids=[1998,9868],exports.modules={25343:(a,b,c)=>{c.d(b,{$4:()=>s,Qq:()=>t,UC:()=>u,t:()=>v});var d=c(55511),e=c.n(d),f=c(79748),g=c.n(f),h=c(21820),i=c.n(h),j=c(33873),k=c.n(j);let l=process.env.DATA_DIR||process.env.BLUEROUTER_DATA_DIR||k().join(i().homedir(),".bluerouter"),m=k().join(l,"routing-topology-overrides.json"),n=new Set(["direct","proxy"]);function o(a){return String(a||"").trim()}function p(a={},b={}){let c=o(a.routeType||b.routeType||"direct").toLowerCase();if(!n.has(c))throw Error("routeType must be 'direct' or 'proxy'");let d="proxy"===c?function(a){if(!Array.isArray(a))return[];if(a.length>32)throw Error("Too many real vLLM endpoints (max 32)");let b=new Set,c=[];for(let d of a){let a=function(a={}){let b,c=o(a.host),d=Number(a.port),e=a.weight,f=null==e||""===e?null:Number(e);if(!((b=o(c))&&/^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,252}$/.test(b))||b.includes(".."))throw Error(`Invalid vLLM endpoint host: ${c||"(empty)"}`);if(!Number.isInteger(d)||d<1||d>65535)throw Error(`Invalid vLLM endpoint port for ${c}`);if(null!==f&&(!Number.isFinite(f)||f<=0||f>1e5))throw Error(`Invalid vLLM endpoint weight for ${c}:${d}`);return{host:c,port:d,weight:null===f?null:Number(f),label:o(a.label).slice(0,160)}}(d),e=`${a.host.toLowerCase()}:${a.port}`;if(b.has(e))throw Error(`Duplicate vLLM endpoint: ${a.host}:${a.port}`);b.add(e),c.push(a)}return c}(Object.prototype.hasOwnProperty.call(a,"realEndpoints")?a.realEndpoints:b.realEndpoints):[];if("proxy"===c&&0===d.length)throw Error("Proxy / Load Balancer requires at least one real vLLM endpoint");return{routeType:c,realEndpoints:d,updatedAt:new Date().toISOString()}}async function q(){await g().mkdir(l,{recursive:!0});try{let a=JSON.parse(await g().readFile(m,"utf8"));return{version:1,providers:a?.providers&&"object"==typeof a.providers&&!Array.isArray(a.providers)?a.providers:{}}}catch{return{version:1,providers:{}}}}async function r(a){await g().mkdir(l,{recursive:!0});let b=`${m}.${process.pid}.${e().randomUUID()}.tmp`;try{await g().writeFile(b,JSON.stringify({version:1,providers:a.providers||{}},null,2)),await g().rename(b,m)}catch(a){throw await g().unlink(b).catch(()=>{}),a}}async function s(){return(await q()).providers||{}}async function t(a){let b=o(a);if(!b)return null;let c=(await s())[b];if(!c||"object"!=typeof c)return null;try{return p(c,c)}catch{return null}}async function u(a,b={}){let c=o(a);if(!c)throw Error("providerId is required");let d=await q(),e=p(b,d.providers[c]||{});return d.providers[c]=e,await r(d),e}async function v(a){let b=o(a);if(!b)return!1;let c=await q();return!!Object.prototype.hasOwnProperty.call(c.providers,b)&&(delete c.providers[b],await r(c),!0)}},28643:(a,b,c)=>{c.d(b,{Tb:()=>k,g2:()=>h});var d=c(60592),e=c(62763),f=c(28919);let g="__blueRouterResourceMonitorLiveSnapshot";function h(a={}){return String(a.containerId||a.endpoint||(a.port?`port:${a.port}`:""))}async function i(a){let b=(0,f.jT)(a);if(!1===a.enabled)return b;let c=new Date().toISOString();try{let e=await (0,d.h)(a);return{...b,lastStatus:e,lastStatusAt:c,lastError:null,lastErrorAt:null}}catch(a){return{...b,lastError:a?.message||"Agent is unreachable",lastErrorAt:c}}}async function j(){let a=await (0,f.HI)({includeSecrets:!0});return await (0,e.WR)()?{servers:a.map(f.jT),standby:!0,generatedAt:new Date().toISOString()}:{servers:await Promise.all(a.map(i)),standby:!1,generatedAt:new Date().toISOString()}}async function k({force:a=!1,maxAgeMs:b=3500}={}){let c=(globalThis[g]||(globalThis[g]={value:null,fetchedAt:0,pending:null}),globalThis[g]),d=Date.now();return!a&&c.value&&d-c.fetchedAt<Math.max(0,Number(b)||0)?c.value:(c.pending||(c.pending=j().then(a=>(c.value=a,c.fetchedAt=Date.now(),a)).finally(()=>{c.pending=null})),c.pending)}},49868:(a,b,c)=>{c.d(b,{G:()=>x,v:()=>y});var d=c(55511),e=c(71998),f=c(67769),g=c(28643),h=c(25343);let i="__blueRouterRoutingTopology",j=new Set(["coder","coder-fast","coder-high","translator"]);function k(){return globalThis[i]||(globalThis[i]={value:null,builtAt:0,pending:null}),globalThis[i]}function l(a){return String(a||"").trim()}function m(a){return l(a).toLowerCase()}function n(a){let b=m(a).replace(/^\[|\]$/g,"");return["localhost","127.0.0.1","::1"].includes(b)?"__local__":b}function o(a){return a&&"object"==typeof a?l(a.connectionId||a.connection_id):""}function p(a,b){return a&&"object"==typeof a&&l(a.label||a.displayName||a.name)||b}function q(a){if(!a||"object"!=typeof a)return null;let b=Number(a.weight);return Number.isFinite(b)&&b>0?b:null}function r(a){return!!["openai-compatible","anthropic-compatible"].includes(a?.type)&&"local"===((0,f.t9)(a.deploymentType,"")||(0,f.tW)(a.baseUrl))}function s(a){let b=a?.lastStatus||{},c=Array.isArray(b?.vllm?.instances)?b.vllm.instances:[];return{id:a.id,name:a.name,host:a.host,agentPort:a.agentPort,enabled:!1!==a.enabled,hostname:b.hostname||"",os:b.os||"",cpu:b.cpu?{model:b.cpu.model||"",cores:Number(b.cpu.cores||0)}:null,memoryTotalBytes:Number(b.memory?.totalBytes||0),gpus:(b.gpus||[]).map(a=>({index:a.index,uuid:a.uuid,name:a.name,memoryTotalMb:Number(a.memoryTotalMb||0)})),vllmInstances:c.map(a=>({key:(0,g.g2)(a),port:Number(a.port||0),endpoint:a.endpoint||"",containerName:a.containerName||"",image:a.image||"",models:Array.isArray(a.models)?a.models:[],discovery:a.discovery||""}))}}function t(a,b){if(!a?.normalizedHost)return{server:null,instance:null};let c=b.filter(b=>new Set([b?.host,b?.lastStatus?.hostname].map(n).filter(Boolean)).has(a.normalizedHost));if(1!==c.length)return{server:null,instance:null};let d=c[0],e=(d.lastStatus?.vllm?.instances||[]).filter(b=>Number(b.port||0)===Number(a.port||0));return{server:d,instance:1===e.length?e[0]:null}}function u(a,b,{source:c="manual",index:d=0}={}){let e=l(a?.host),f=Number(a?.port||0),{server:h,instance:i}=t({host:l(e),normalizedHost:n(e),port:Number(f||0)},b),j=Number(a?.weight);return{id:`${c}:${m(e)}:${f}:${d}`,source:c,host:e,port:f,label:l(a?.label),weight:Number.isFinite(j)&&j>0?j:null,resourceServerId:h?.id||null,vllmInstanceKey:i?(0,g.g2)(i):null,resourceMatch:h?i?"host-port":"host":"unmatched",reportedModels:Array.isArray(i?.models)?i.models:[]}}function v(a){let b=l(a),c=b.indexOf("/");return c>0?b.slice(0,c):""}async function w(){let[a,b,c,f,i]=await Promise.all([(0,e.Uv)(),(0,e.Fh)(),(0,e.P)(),(0,g.Tb)(),(0,h.$4)()]),k=f.servers||[],w=(b||[]).filter(r),x=new Map(w.map(a=>[a.id,a])),y=new Map((c||[]).map(a=>[a.id,a])),z=new Map;for(let a of c||[]){let b=z.get(a.provider)||[];b.push(a),z.set(a.provider,b)}let A=new Map;for(let a of w){let b=m(a.prefix);if(!b)continue;let c=A.get(b)||[];c.push(a),A.set(b,c)}let B=w.map(a=>{let b=function(a){try{let b=new URL(l(a)),c=b.protocol.replace(":",""),d=Number(b.port||("https"===c?443:80));return{protocol:c,host:b.hostname,normalizedHost:n(b.hostname),port:d,origin:b.origin}}catch{return null}}(a.baseUrl),c=b?t(b,k):{server:null,instance:null},d=(z.get(a.id)||[]).filter(a=>!1!==a.isActive),e=i?.[a.id]||null,f=e?.routeType==="proxy"?"proxy":"direct",g="proxy"===f?(e?.realEndpoints||[]).map((a,b)=>u(a,k,{source:"proxy-backend",index:b})):b?[u({host:b.host,port:b.port},k,{source:"base-url",index:0})]:[],h="direct"===f&&g[0]||null;return{id:a.id,name:a.name||a.prefix||a.id,prefix:a.prefix||"",type:a.type,apiType:a.apiType||"",baseUrl:a.baseUrl||"",deploymentType:"local",runtime:a.openAICompatibleRuntime||"",endpoint:b?{protocol:b.protocol,host:b.host,port:b.port}:null,connectionIds:d.map(a=>a.id),defaultModels:[...new Set(d.map(a=>l(a.defaultModel)).filter(Boolean))],routeType:f,topologyConfigured:!!e,topologyConfigUpdatedAt:e?.updatedAt||null,gateway:b?{host:b.host,port:b.port,resourceServerId:c.server?.id||null,resourceMatch:c.server?"host":"unmatched"}:null,backends:g,realEndpoints:"proxy"===f?g:[],resourceServerId:h?.resourceServerId||null,vllmInstanceKey:h?.vllmInstanceKey||null,resourceMatch:h?.resourceMatch||"unmatched"}}),C=new Map(B.map(a=>[a.id,a])),D=(a||[]).filter(a=>!a.kind),E=new Map(D.map(a=>[m(a.name),a]).filter(([a])=>!!a));function F({rootCombo:a,target:b,model:c,path:d,viaCombos:e,reason:f}){return{id:`${a.id||a.name}:${d.join(".")}`,order:Number(d[0]||0)+1,model:c,label:p(b,c),weight:q(b),connectionId:o(b)||null,providerId:null,providerPrefix:v(c),resolution:"unresolved",unresolvedReason:f,viaCombos:e,nestedDepth:e.length}}let G=D.sort((a,b)=>{let c=+!j.has(m(a.name)),d=+!j.has(m(b.name));return c!==d?c-d:l(a.name).localeCompare(l(b.name))}).map(a=>{let b=Array.isArray(a.models)?a.models:[],c=b.flatMap((b,c)=>(function a(b,c){let{rootCombo:d,path:e,stack:f,viaCombos:g}=c,h="string"==typeof b?l(b):b&&"object"==typeof b?l(b.value||b.model||b.id):"",i=o(b),j=i?y.get(i):null,k=j?x.get(j.provider):null,n=k?"connection":"",r="";if(!k){let a=m(v(h)),b=a&&A.get(a)||[];1===b.length?(k=b[0],n="model-prefix"):r=b.length>1?`Provider prefix '${a}' tr\xf9ng ${b.length} node`:i&&!j?`Kh\xf4ng t\xecm thấy connection ${i}`:a?`Kh\xf4ng t\xecm thấy local compatible provider '${a}'`:"Model kh\xf4ng c\xf3 provider prefix v\xe0 kh\xf4ng pin connection"}let s=k?C.get(k.id):null;if(s)return[{id:`${d.id||d.name}:${e.join(".")}`,order:Number(e[0]||0)+1,model:h,label:p(b,h),weight:q(b),connectionId:i||null,providerId:s.id,providerPrefix:s.prefix||v(h),resolution:g.length?`nested-combo:${n}`:n,unresolvedReason:"",viaCombos:g,nestedDepth:g.length}];let t=m(l(h).replace(/^:+/,"")),u=t?E.get(t):null;if(!u)return[F({rootCombo:d,target:b,model:h,path:e,viaCombos:g,reason:r})];if(f.includes(t)){let a=[...f,t].map(a=>`:${a}`).join(" → ");return[F({rootCombo:d,target:b,model:h,path:e,viaCombos:g,reason:`Ph\xe1t hiện v\xf2ng lặp combo: ${a}`})]}if(f.length>=12)return[F({rootCombo:d,target:b,model:h,path:e,viaCombos:g,reason:"Combo lồng nhau vượt qu\xe1 12 cấp"})];let w=Array.isArray(u.models)?u.models:[],z=[...g,{id:u.id||u.name,name:u.name,sourceModel:h}];return w.length?w.flatMap((b,c)=>a(b,{rootCombo:d,path:[...e,c],stack:[...f,t],viaCombos:z})):[F({rootCombo:d,target:b,model:h,path:e,viaCombos:z,reason:`Child combo :${u.name} kh\xf4ng c\xf3 upstream model`})]})(b,{rootCombo:a,path:[c],stack:[m(a.name)],viaCombos:[]}));return{id:a.id,name:a.name,isFocus:j.has(m(a.name)),configuredTargetCount:b.length,resolvedLeafTargetCount:c.length,hasNestedCombos:c.some(a=>a.nestedDepth>0),targets:c}}),H=k.map(s),I=G.reduce((a,b)=>a+b.targets.filter(a=>!a.providerId).length,0),J=G.reduce((a,b)=>a+b.targets.filter(a=>a.nestedDepth>0).length,0),K=B.flatMap(a=>a.backends||[]),L={combos:G,providers:B,servers:H,summary:{comboCount:G.length,focusComboCount:G.filter(a=>a.isFocus).length,localProviderCount:B.length,proxyProviderCount:B.filter(a=>"proxy"===a.routeType).length,realBackendCount:K.length,unresolvedBackends:K.filter(a=>"host-port"!==a.resourceMatch).length,resourceServerCount:H.length,unresolvedTargets:I,nestedComboRoutes:J}};return{...L,revision:(0,d.createHash)("sha1").update(JSON.stringify(L)).digest("hex").slice(0,12),generatedAt:new Date().toISOString(),topologyCacheMs:6e5,telemetryCacheMs:3500,standby:!0===f.standby}}async function x({force:a=!1}={}){let b=k(),c=Date.now();return!a&&b.value&&c-b.builtAt<6e5?b.value:(b.pending||(b.pending=w().then(a=>(b.value=a,b.builtAt=Date.now(),a)).finally(()=>{b.pending=null})),b.pending)}function y(){let a=k();a.value=null,a.builtAt=0}},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,nv:()=>d.nv,o5:()=>d.o5,op:()=>d.op,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.updateProviderConnection,uv:()=>d.uv,yg:()=>d.yg});var d=c(89718)}};
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=6183,a.ids=[6183],a.modules={643:a=>{a.exports=require("node:perf_hooks")},1708:a=>{a.exports=require("node:process")},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")},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")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19771:a=>{a.exports=require("process")},21820:a=>{a.exports=require("os")},27172:(a,b,c)=>{async function d(){try{await Promise.all([c.e(2664),c.e(2566),c.e(689),c.e(7639),c.e(5210),c.e(541),c.e(3696)]).then(c.bind(c,13696))}catch(a){console.log("[grok-cli] failed to register provider:",a?.message||a)}let a=globalThis.__appSingleton??={};a.allowedModelsPruned||(a.allowedModelsPruned=!0,Promise.all([c.e(689),c.e(3484)]).then(c.bind(c,36893)).then(a=>a.pruneStaleAllowedModels()).catch(a=>console.log("[InitApp] Allowed models prune failed:",a?.message||a)));try{let{ensureProviderHealthMonitor:a}=await Promise.all([c.e(3433),c.e(689),c.e(7639),c.e(6118)]).then(c.bind(c,59479));a()}catch(a){console.log("[provider-health] failed to start active monitor:",a?.message||a)}try{let{ensureResourceMonitorCollector:a}=await Promise.all([c.e(689),c.e(9483),c.e(2155),c.e(564)]).then(c.bind(c,93621));a()}catch(a){console.log("[resource-monitor] failed to start history collector:",a?.message||a)}try{let{ensureClusterSyncService:a}=await Promise.all([c.e(689),c.e(3031)]).then(c.bind(c,23248));a()}catch(a){console.log("[cluster] failed to start sync service:",a?.message||a)}try{let{ensureResourceMonitorAiScheduler:a}=await Promise.all([c.e(2664),c.e(689),c.e(7639),c.e(5210),c.e(9483),c.e(6977)]).then(c.bind(c,16977));a()}catch(a){console.log("[resource-monitor] failed to start AI analysis scheduler:",a?.message||a)}try{let{ensureDashboardAnalyticsAiScheduler:a}=await Promise.all([c.e(2664),c.e(689),c.e(7639),c.e(5210),c.e(9483),c.e(2155),c.e(2731)]).then(c.bind(c,82731));a()}catch(a){console.log("[dashboard-analytics] failed to start AI analysis scheduler:",a?.message||a)}try{let{ensureAiPowerIndexScheduler:a}=await Promise.all([c.e(689),c.e(476)]).then(c.bind(c,61736));a()}catch(a){console.log("[ai-power-index] failed to start snapshot scheduler:",a?.message||a)}try{let{ensurePromptPayloadRotationScheduler:a}=await Promise.all([c.e(689),c.e(814)]).then(c.bind(c,71372));a()}catch(a){console.log("[prompt-payload-rotation] failed to start scheduler:",a?.message||a)}}c.r(b),c.d(b,{register:()=>d})},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")},31421:a=>{a.exports=require("node:child_process")},32467:a=>{a.exports=require("node:http2")},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")},46293:a=>{a.exports=require("sql.js")},48161:a=>{a.exports=require("node:os")},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")},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")},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")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")}};var b=require("./webpack-runtime.js");b.C(a);var c=b(b.s=27172);module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=6183,a.ids=[6183],a.modules={643:a=>{a.exports=require("node:perf_hooks")},1708:a=>{a.exports=require("node:process")},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")},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")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19771:a=>{a.exports=require("process")},21820:a=>{a.exports=require("os")},27172:(a,b,c)=>{async function d(){try{await Promise.all([c.e(2664),c.e(2566),c.e(689),c.e(7639),c.e(5210),c.e(541),c.e(3696)]).then(c.bind(c,13696))}catch(a){console.log("[grok-cli] failed to register provider:",a?.message||a)}let a=globalThis.__appSingleton??={};a.allowedModelsPruned||(a.allowedModelsPruned=!0,Promise.all([c.e(689),c.e(3484)]).then(c.bind(c,59274)).then(a=>a.pruneStaleAllowedModels()).catch(a=>console.log("[InitApp] Allowed models prune failed:",a?.message||a)));try{let{ensureProviderHealthMonitor:a}=await Promise.all([c.e(3433),c.e(689),c.e(7639),c.e(6118)]).then(c.bind(c,59479));a()}catch(a){console.log("[provider-health] failed to start active monitor:",a?.message||a)}try{let{ensureResourceMonitorCollector:a}=await Promise.all([c.e(689),c.e(9483),c.e(2155),c.e(564)]).then(c.bind(c,93621));a()}catch(a){console.log("[resource-monitor] failed to start history collector:",a?.message||a)}try{let{ensureClusterSyncService:a}=await Promise.all([c.e(689),c.e(3031)]).then(c.bind(c,23248));a()}catch(a){console.log("[cluster] failed to start sync service:",a?.message||a)}try{let{ensureResourceMonitorAiScheduler:a}=await Promise.all([c.e(2664),c.e(689),c.e(7639),c.e(5210),c.e(9483),c.e(6977)]).then(c.bind(c,16977));a()}catch(a){console.log("[resource-monitor] failed to start AI analysis scheduler:",a?.message||a)}try{let{ensureDashboardAnalyticsAiScheduler:a}=await Promise.all([c.e(2664),c.e(689),c.e(7639),c.e(5210),c.e(9483),c.e(2155),c.e(2731)]).then(c.bind(c,82731));a()}catch(a){console.log("[dashboard-analytics] failed to start AI analysis scheduler:",a?.message||a)}try{let{ensureAiPowerIndexScheduler:a}=await Promise.all([c.e(689),c.e(476)]).then(c.bind(c,61736));a()}catch(a){console.log("[ai-power-index] failed to start snapshot scheduler:",a?.message||a)}try{let{ensurePromptPayloadRotationScheduler:a}=await Promise.all([c.e(689),c.e(814)]).then(c.bind(c,71372));a()}catch(a){console.log("[prompt-payload-rotation] failed to start scheduler:",a?.message||a)}}c.r(b),c.d(b,{register:()=>d})},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")},31421:a=>{a.exports=require("node:child_process")},32467:a=>{a.exports=require("node:http2")},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")},46293:a=>{a.exports=require("sql.js")},48161:a=>{a.exports=require("node:os")},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")},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")},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")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")}};var b=require("./webpack-runtime.js");b.C(a);var c=b(b.s=27172);module.exports=c})();
@@ -1 +1 @@
1
- globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/oSthcw4U3bT9SrBfLJEFy/_buildManifest.js","static/oSthcw4U3bT9SrBfLJEFy/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-d4aa6be94c905d41.js","static/chunks/4bd1b696-8a4ab4fdf0ae305a.js","static/chunks/3794-d7cddff008311ab3.js","static/chunks/main-app-eacc433ef218cf40.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
1
+ globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/FtNp2TTehwx2bKJ_K5gXt/_buildManifest.js","static/FtNp2TTehwx2bKJ_K5gXt/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-d4aa6be94c905d41.js","static/chunks/4bd1b696-8a4ab4fdf0ae305a.js","static/chunks/3794-d7cddff008311ab3.js","static/chunks/main-app-eacc433ef218cf40.js"],rootMainFilesTree:{},pages:{"/_app":[]}};