@jheavenknows/bluerouter 1.0.58 → 1.0.60

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 (967) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +1 -0
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/routes-manifest.json +6 -0
  5. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +3 -3
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +3 -3
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/ollama-nodes/page.js +2 -2
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/ollama-nodes/page.js.nft.json +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/ollama-nodes/page_client-reference-manifest.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page.js +2 -2
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page.js.nft.json +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page_client-reference-manifest.js +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page.js +2 -2
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page.js.nft.json +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page_client-reference-manifest.js +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/virtual-combos/page.js +16 -2
  78. package/app/.next-cli-build/server/app/(dashboard)/dashboard/virtual-combos/page.js.nft.json +1 -1
  79. package/app/.next-cli-build/server/app/(dashboard)/dashboard/virtual-combos/page_client-reference-manifest.js +1 -1
  80. package/app/.next-cli-build/server/app/_global-error/page.js +2 -2
  81. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  82. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  83. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  84. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  85. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  86. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  87. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  88. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  89. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  90. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  91. package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  92. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  93. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  94. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  95. package/app/.next-cli-build/server/app/_not-found.rsc +4 -4
  96. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
  97. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  98. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +4 -4
  99. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  100. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  101. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  102. package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js +1 -1
  103. package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js.nft.json +1 -1
  104. package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js +1 -1
  105. package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  107. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  108. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  109. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  111. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  113. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  115. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  117. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +3 -3
  119. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  121. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route.js +1 -1
  123. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route.js +1 -1
  125. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route.js +2 -2
  127. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +1 -1
  131. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  133. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  135. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +1 -1
  137. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  139. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  141. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  145. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +1 -1
  147. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +1 -1
  149. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  151. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  153. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +1 -1
  155. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  157. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  159. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  161. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js +2 -2
  163. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js +2 -2
  165. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  167. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  169. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  171. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  173. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  175. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  176. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
  177. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +5 -5
  179. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  181. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  183. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  185. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  187. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  189. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  191. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  193. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  195. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  197. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  199. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  201. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  203. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  205. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  207. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  209. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  211. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  212. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  213. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  215. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  217. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  219. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  221. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/ollama-model-memory/route.js +1 -1
  223. package/app/.next-cli-build/server/app/api/ollama-model-memory/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/ollama-nodes/[id]/install/route.js +574 -135
  225. package/app/.next-cli-build/server/app/api/ollama-nodes/[id]/install/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/ollama-nodes/[id]/reservations/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/ollama-nodes/[id]/reservations/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/ollama-nodes/[id]/route.js +1 -1
  229. package/app/.next-cli-build/server/app/api/ollama-nodes/[id]/route.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/api/ollama-nodes/[id]/status/route.js +1 -1
  231. package/app/.next-cli-build/server/app/api/ollama-nodes/[id]/status/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/ollama-nodes/route.js +1 -1
  233. package/app/.next-cli-build/server/app/api/ollama-nodes/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/ollama-routing-targets/route.js +1 -1
  235. package/app/.next-cli-build/server/app/api/ollama-routing-targets/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  237. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/provider-health/route.js +1 -1
  239. package/app/.next-cli-build/server/app/api/provider-health/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  241. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  243. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  245. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  247. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  249. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  251. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  253. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  254. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  255. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  257. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  259. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  261. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  263. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  264. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  265. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  266. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  267. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  269. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  270. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  271. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  272. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  273. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  274. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  275. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  276. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  277. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  278. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  279. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  281. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  282. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  283. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  284. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  285. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  287. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  288. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  289. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  290. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  291. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  292. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  293. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  294. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  295. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  296. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  297. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  298. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  299. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  300. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  301. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  302. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  303. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  304. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  305. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  306. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  307. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  308. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  309. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  310. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  311. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  312. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  313. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  314. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +1 -1
  315. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  316. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js +1 -1
  317. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js.nft.json +1 -1
  318. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js +1 -1
  319. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js.nft.json +1 -1
  320. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  321. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  322. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  323. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  324. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  325. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  326. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  327. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  328. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  329. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  330. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  331. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  332. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  333. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  334. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  335. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  336. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  337. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  338. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  339. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  340. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  341. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  342. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  343. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  344. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  345. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  346. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  347. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  348. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  349. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  350. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  351. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  352. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  353. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  354. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  355. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  356. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  357. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  358. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  359. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  360. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  361. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  362. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  363. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  364. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  365. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  366. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  367. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  368. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  369. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  370. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  371. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  372. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  373. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  374. package/app/.next-cli-build/server/app/api/version/restart/route.js +1 -1
  375. package/app/.next-cli-build/server/app/api/version/restart/route.js.nft.json +1 -1
  376. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  377. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  378. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  379. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  380. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  381. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  382. package/app/.next-cli-build/server/app/api/virtual-combos/[id]/route.js +1 -1
  383. package/app/.next-cli-build/server/app/api/virtual-combos/[id]/route.js.nft.json +1 -1
  384. package/app/.next-cli-build/server/app/api/virtual-combos/preview/route.js +1 -0
  385. package/app/.next-cli-build/server/app/api/virtual-combos/preview/route.js.nft.json +1 -0
  386. package/app/.next-cli-build/server/app/api/virtual-combos/preview/route_client-reference-manifest.js +1 -0
  387. package/app/.next-cli-build/server/app/api/virtual-combos/route.js +1 -1
  388. package/app/.next-cli-build/server/app/api/virtual-combos/route.js.nft.json +1 -1
  389. package/app/.next-cli-build/server/app/callback/page.js +2 -2
  390. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  391. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  392. package/app/.next-cli-build/server/app/callback.html +1 -1
  393. package/app/.next-cli-build/server/app/callback.rsc +4 -4
  394. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
  395. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  396. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +4 -4
  397. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  398. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  399. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  400. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  401. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +6 -6
  402. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  403. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  404. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  405. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  406. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
  407. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  408. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
  409. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  410. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  411. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +6 -6
  412. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  413. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  414. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  415. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  416. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +6 -6
  417. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  418. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
  419. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  420. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  421. package/app/.next-cli-build/server/app/dashboard/combos.rsc +6 -6
  422. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  423. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  424. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  425. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  426. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
  427. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  428. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
  429. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  430. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  431. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +7 -7
  432. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +3 -3
  433. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  434. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  435. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  436. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +7 -7
  437. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  438. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
  439. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  440. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  441. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +6 -6
  442. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  443. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  444. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  445. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  446. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  447. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +6 -6
  448. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  449. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +4 -4
  450. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  451. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  452. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +6 -6
  453. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  454. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  455. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  456. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  457. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
  458. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  459. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
  460. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  461. package/app/.next-cli-build/server/app/dashboard/ollama-nodes.html +1 -1
  462. package/app/.next-cli-build/server/app/dashboard/ollama-nodes.rsc +6 -6
  463. package/app/.next-cli-build/server/app/dashboard/ollama-nodes.segments/!KGRhc2hib2FyZCk/dashboard/ollama-nodes/__PAGE__.segment.rsc +2 -2
  464. package/app/.next-cli-build/server/app/dashboard/ollama-nodes.segments/!KGRhc2hib2FyZCk/dashboard/ollama-nodes.segment.rsc +1 -1
  465. package/app/.next-cli-build/server/app/dashboard/ollama-nodes.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  466. package/app/.next-cli-build/server/app/dashboard/ollama-nodes.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  467. package/app/.next-cli-build/server/app/dashboard/ollama-nodes.segments/_full.segment.rsc +6 -6
  468. package/app/.next-cli-build/server/app/dashboard/ollama-nodes.segments/_head.segment.rsc +1 -1
  469. package/app/.next-cli-build/server/app/dashboard/ollama-nodes.segments/_index.segment.rsc +4 -4
  470. package/app/.next-cli-build/server/app/dashboard/ollama-nodes.segments/_tree.segment.rsc +2 -2
  471. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  472. package/app/.next-cli-build/server/app/dashboard/profile.rsc +5 -5
  473. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +1 -1
  474. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  475. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  476. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  477. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +5 -5
  478. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  479. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
  480. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  481. package/app/.next-cli-build/server/app/dashboard/prompt-logs.html +1 -1
  482. package/app/.next-cli-build/server/app/dashboard/prompt-logs.rsc +5 -5
  483. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs/__PAGE__.segment.rsc +1 -1
  484. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs.segment.rsc +1 -1
  485. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  486. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  487. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_full.segment.rsc +5 -5
  488. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_head.segment.rsc +1 -1
  489. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_index.segment.rsc +4 -4
  490. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_tree.segment.rsc +2 -2
  491. package/app/.next-cli-build/server/app/dashboard/provider-health.html +1 -1
  492. package/app/.next-cli-build/server/app/dashboard/provider-health.rsc +5 -5
  493. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health/__PAGE__.segment.rsc +1 -1
  494. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health.segment.rsc +1 -1
  495. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  496. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  497. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_full.segment.rsc +5 -5
  498. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_head.segment.rsc +1 -1
  499. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_index.segment.rsc +4 -4
  500. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_tree.segment.rsc +2 -2
  501. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  502. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +6 -6
  503. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  504. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  505. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  506. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  507. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  508. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
  509. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  510. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
  511. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  512. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  513. package/app/.next-cli-build/server/app/dashboard/providers.rsc +6 -6
  514. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  515. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  516. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  517. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  518. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
  519. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  520. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
  521. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  522. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  523. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +6 -6
  524. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  525. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  526. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  527. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  528. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
  529. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  530. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
  531. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  532. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  533. package/app/.next-cli-build/server/app/dashboard/quota.rsc +7 -7
  534. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  535. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  536. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  537. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  538. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
  539. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  540. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
  541. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  542. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  543. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  544. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  545. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  546. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
  547. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  548. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  549. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
  550. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  551. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  552. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  553. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  554. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  555. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  556. package/app/.next-cli-build/server/app/dashboard/skills.rsc +6 -6
  557. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  558. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  559. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  560. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  561. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +6 -6
  562. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  563. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +4 -4
  564. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  565. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  566. package/app/.next-cli-build/server/app/dashboard/translator.rsc +6 -6
  567. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  568. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  569. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  570. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  571. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
  572. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  573. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
  574. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  575. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  576. package/app/.next-cli-build/server/app/dashboard/usage.rsc +6 -6
  577. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  578. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  579. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  580. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  581. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
  582. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  583. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
  584. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  585. package/app/.next-cli-build/server/app/dashboard/virtual-combos.html +1 -3
  586. package/app/.next-cli-build/server/app/dashboard/virtual-combos.rsc +6 -6
  587. package/app/.next-cli-build/server/app/dashboard/virtual-combos.segments/!KGRhc2hib2FyZCk/dashboard/virtual-combos/__PAGE__.segment.rsc +2 -2
  588. package/app/.next-cli-build/server/app/dashboard/virtual-combos.segments/!KGRhc2hib2FyZCk/dashboard/virtual-combos.segment.rsc +1 -1
  589. package/app/.next-cli-build/server/app/dashboard/virtual-combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  590. package/app/.next-cli-build/server/app/dashboard/virtual-combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  591. package/app/.next-cli-build/server/app/dashboard/virtual-combos.segments/_full.segment.rsc +6 -6
  592. package/app/.next-cli-build/server/app/dashboard/virtual-combos.segments/_head.segment.rsc +1 -1
  593. package/app/.next-cli-build/server/app/dashboard/virtual-combos.segments/_index.segment.rsc +4 -4
  594. package/app/.next-cli-build/server/app/dashboard/virtual-combos.segments/_tree.segment.rsc +2 -2
  595. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  596. package/app/.next-cli-build/server/app/dashboard.rsc +6 -6
  597. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  598. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  599. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  600. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +6 -6
  601. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  602. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +4 -4
  603. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  604. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  605. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  606. package/app/.next-cli-build/server/app/index.html +1 -1
  607. package/app/.next-cli-build/server/app/index.rsc +4 -4
  608. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  609. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +4 -4
  610. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  611. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +4 -4
  612. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  613. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  614. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  615. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  616. package/app/.next-cli-build/server/app/landing.html +1 -1
  617. package/app/.next-cli-build/server/app/landing.rsc +4 -4
  618. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
  619. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  620. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +4 -4
  621. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  622. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  623. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  624. package/app/.next-cli-build/server/app/login/page.js +2 -2
  625. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  626. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  627. package/app/.next-cli-build/server/app/login.html +1 -1
  628. package/app/.next-cli-build/server/app/login.rsc +4 -4
  629. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
  630. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  631. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +4 -4
  632. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  633. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  634. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  635. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  636. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  637. package/app/.next-cli-build/server/app/page.js +2 -2
  638. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  639. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  640. package/app/.next-cli-build/server/app-paths-manifest.json +1 -0
  641. package/app/.next-cli-build/server/chunks/1661.js +1 -0
  642. package/app/.next-cli-build/server/chunks/1807.js +1 -0
  643. package/app/.next-cli-build/server/chunks/3110.js +1 -1
  644. package/app/.next-cli-build/server/chunks/4746.js +1 -1
  645. package/app/.next-cli-build/server/chunks/4884.js +1 -1
  646. package/app/.next-cli-build/server/chunks/7130.js +1 -1
  647. package/app/.next-cli-build/server/chunks/7153.js +1 -1
  648. package/app/.next-cli-build/server/chunks/7774.js +6 -6
  649. package/app/.next-cli-build/server/chunks/8520.js +1 -1
  650. package/app/.next-cli-build/server/chunks/9253.js +1 -1
  651. package/app/.next-cli-build/server/chunks/9489.js +1 -1
  652. package/app/.next-cli-build/server/functions-config-manifest.json +2 -1
  653. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  654. package/app/.next-cli-build/server/pages/404.html +1 -1
  655. package/app/.next-cli-build/server/pages/500.html +1 -1
  656. package/app/.next-cli-build/static/Dcv7pgEOWAPLtjKtQZeS0/_buildManifest.js +1 -0
  657. package/app/.next-cli-build/static/chunks/{1321-333a720ed3de9e5e.js → 1321-5236ba2c1f690e42.js} +1 -1
  658. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/ollama-nodes/page-c771cf90148ecc62.js +1 -0
  659. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/virtual-combos/page-7731b73f4ce55878.js +15 -0
  660. package/app/.next-cli-build/static/chunks/app/_global-error/{page-da2083459ec19741.js → page-092c69469068a0c3.js} +1 -1
  661. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/test/{route-da2083459ec19741.js → route-092c69469068a0c3.js} +1 -1
  662. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/users/{route-da2083459ec19741.js → route-092c69469068a0c3.js} +1 -1
  663. package/app/.next-cli-build/static/chunks/app/api/auth/login/{route-da2083459ec19741.js → route-092c69469068a0c3.js} +1 -1
  664. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-092c69469068a0c3.js +1 -0
  665. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-092c69469068a0c3.js +1 -0
  666. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-092c69469068a0c3.js +1 -0
  667. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-092c69469068a0c3.js +1 -0
  668. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-092c69469068a0c3.js +1 -0
  669. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-092c69469068a0c3.js +1 -0
  670. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-092c69469068a0c3.js +1 -0
  671. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/autostart/route-092c69469068a0c3.js +1 -0
  672. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/prompt-log-db/route-092c69469068a0c3.js +1 -0
  673. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/root-ca/route-092c69469068a0c3.js +1 -0
  674. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-092c69469068a0c3.js +1 -0
  675. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-092c69469068a0c3.js +1 -0
  676. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-092c69469068a0c3.js +1 -0
  677. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-092c69469068a0c3.js +1 -0
  678. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-092c69469068a0c3.js +1 -0
  679. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-092c69469068a0c3.js +1 -0
  680. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-092c69469068a0c3.js +1 -0
  681. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-092c69469068a0c3.js +1 -0
  682. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-092c69469068a0c3.js +1 -0
  683. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-092c69469068a0c3.js +1 -0
  684. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-092c69469068a0c3.js +1 -0
  685. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-092c69469068a0c3.js +1 -0
  686. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-092c69469068a0c3.js +1 -0
  687. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-092c69469068a0c3.js +1 -0
  688. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-092c69469068a0c3.js +1 -0
  689. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-092c69469068a0c3.js +1 -0
  690. package/app/.next-cli-build/static/chunks/app/api/combos/route-092c69469068a0c3.js +1 -0
  691. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/[id]/route-092c69469068a0c3.js +1 -0
  692. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/route-092c69469068a0c3.js +1 -0
  693. package/app/.next-cli-build/static/chunks/app/api/health/route-092c69469068a0c3.js +1 -0
  694. package/app/.next-cli-build/static/chunks/app/api/init/route-092c69469068a0c3.js +1 -0
  695. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-092c69469068a0c3.js +1 -0
  696. package/app/.next-cli-build/static/chunks/app/api/keys/route-092c69469068a0c3.js +1 -0
  697. package/app/.next-cli-build/static/chunks/app/api/locale/route-092c69469068a0c3.js +1 -0
  698. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-092c69469068a0c3.js +1 -0
  699. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-092c69469068a0c3.js +1 -0
  700. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-092c69469068a0c3.js +1 -0
  701. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-092c69469068a0c3.js +1 -0
  702. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-092c69469068a0c3.js +1 -0
  703. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-092c69469068a0c3.js +1 -0
  704. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-092c69469068a0c3.js +1 -0
  705. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-092c69469068a0c3.js +1 -0
  706. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-092c69469068a0c3.js +1 -0
  707. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-092c69469068a0c3.js +1 -0
  708. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-092c69469068a0c3.js +1 -0
  709. package/app/.next-cli-build/static/chunks/app/api/models/route-092c69469068a0c3.js +1 -0
  710. package/app/.next-cli-build/static/chunks/app/api/models/test/route-092c69469068a0c3.js +1 -0
  711. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-092c69469068a0c3.js +1 -0
  712. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-092c69469068a0c3.js +1 -0
  713. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-092c69469068a0c3.js +1 -0
  714. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-092c69469068a0c3.js +1 -0
  715. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-092c69469068a0c3.js +1 -0
  716. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-092c69469068a0c3.js +1 -0
  717. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-092c69469068a0c3.js +1 -0
  718. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-092c69469068a0c3.js +1 -0
  719. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-092c69469068a0c3.js +1 -0
  720. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-092c69469068a0c3.js +1 -0
  721. package/app/.next-cli-build/static/chunks/app/api/ollama-model-memory/route-092c69469068a0c3.js +1 -0
  722. package/app/.next-cli-build/static/chunks/app/api/ollama-nodes/[id]/install/route-092c69469068a0c3.js +1 -0
  723. package/app/.next-cli-build/static/chunks/app/api/ollama-nodes/[id]/reservations/route-092c69469068a0c3.js +1 -0
  724. package/app/.next-cli-build/static/chunks/app/api/ollama-nodes/[id]/route-092c69469068a0c3.js +1 -0
  725. package/app/.next-cli-build/static/chunks/app/api/ollama-nodes/[id]/status/route-092c69469068a0c3.js +1 -0
  726. package/app/.next-cli-build/static/chunks/app/api/ollama-nodes/route-092c69469068a0c3.js +1 -0
  727. package/app/.next-cli-build/static/chunks/app/api/ollama-routing-targets/route-092c69469068a0c3.js +1 -0
  728. package/app/.next-cli-build/static/chunks/app/api/pricing/route-092c69469068a0c3.js +1 -0
  729. package/app/.next-cli-build/static/chunks/app/api/provider-health/route-092c69469068a0c3.js +1 -0
  730. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-092c69469068a0c3.js +1 -0
  731. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-092c69469068a0c3.js +1 -0
  732. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-092c69469068a0c3.js +1 -0
  733. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-092c69469068a0c3.js +1 -0
  734. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-092c69469068a0c3.js +1 -0
  735. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-092c69469068a0c3.js +1 -0
  736. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-092c69469068a0c3.js +1 -0
  737. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-092c69469068a0c3.js +1 -0
  738. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-092c69469068a0c3.js +1 -0
  739. package/app/.next-cli-build/static/chunks/app/api/providers/route-092c69469068a0c3.js +1 -0
  740. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-092c69469068a0c3.js +1 -0
  741. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-092c69469068a0c3.js +1 -0
  742. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-092c69469068a0c3.js +1 -0
  743. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-092c69469068a0c3.js +1 -0
  744. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-092c69469068a0c3.js +1 -0
  745. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-092c69469068a0c3.js +1 -0
  746. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-092c69469068a0c3.js +1 -0
  747. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-092c69469068a0c3.js +1 -0
  748. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-092c69469068a0c3.js +1 -0
  749. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-092c69469068a0c3.js +1 -0
  750. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-092c69469068a0c3.js +1 -0
  751. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-092c69469068a0c3.js +1 -0
  752. package/app/.next-cli-build/static/chunks/app/api/settings/route-092c69469068a0c3.js +1 -0
  753. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-092c69469068a0c3.js +1 -0
  754. package/app/.next-cli-build/static/chunks/app/api/tags/route-092c69469068a0c3.js +1 -0
  755. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-092c69469068a0c3.js +1 -0
  756. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-092c69469068a0c3.js +1 -0
  757. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-092c69469068a0c3.js +1 -0
  758. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-092c69469068a0c3.js +1 -0
  759. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-092c69469068a0c3.js +1 -0
  760. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-092c69469068a0c3.js +1 -0
  761. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-092c69469068a0c3.js +1 -0
  762. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-092c69469068a0c3.js +1 -0
  763. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-092c69469068a0c3.js +1 -0
  764. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-092c69469068a0c3.js +1 -0
  765. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-092c69469068a0c3.js +1 -0
  766. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-092c69469068a0c3.js +1 -0
  767. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-092c69469068a0c3.js +1 -0
  768. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-login/route-092c69469068a0c3.js +1 -0
  769. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-start-daemon/route-092c69469068a0c3.js +1 -0
  770. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-092c69469068a0c3.js +1 -0
  771. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-092c69469068a0c3.js +1 -0
  772. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-092c69469068a0c3.js +1 -0
  773. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-092c69469068a0c3.js +1 -0
  774. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-092c69469068a0c3.js +1 -0
  775. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-092c69469068a0c3.js +1 -0
  776. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-092c69469068a0c3.js +1 -0
  777. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-092c69469068a0c3.js +1 -0
  778. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-092c69469068a0c3.js +1 -0
  779. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-092c69469068a0c3.js +1 -0
  780. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-092c69469068a0c3.js +1 -0
  781. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-092c69469068a0c3.js +1 -0
  782. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-092c69469068a0c3.js +1 -0
  783. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-092c69469068a0c3.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-092c69469068a0c3.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-092c69469068a0c3.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-092c69469068a0c3.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-092c69469068a0c3.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-092c69469068a0c3.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-092c69469068a0c3.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-092c69469068a0c3.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-092c69469068a0c3.js +1 -0
  792. package/app/.next-cli-build/static/chunks/app/api/v1/route-092c69469068a0c3.js +1 -0
  793. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-092c69469068a0c3.js +1 -0
  794. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-092c69469068a0c3.js +1 -0
  795. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-092c69469068a0c3.js +1 -0
  796. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-092c69469068a0c3.js +1 -0
  797. package/app/.next-cli-build/static/chunks/app/api/version/restart/route-092c69469068a0c3.js +1 -0
  798. package/app/.next-cli-build/static/chunks/app/api/version/route-092c69469068a0c3.js +1 -0
  799. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-092c69469068a0c3.js +1 -0
  800. package/app/.next-cli-build/static/chunks/app/api/version/update/route-092c69469068a0c3.js +1 -0
  801. package/app/.next-cli-build/static/chunks/app/api/virtual-combos/[id]/route-092c69469068a0c3.js +1 -0
  802. package/app/.next-cli-build/static/chunks/app/api/virtual-combos/preview/route-092c69469068a0c3.js +1 -0
  803. package/app/.next-cli-build/static/chunks/app/api/virtual-combos/route-092c69469068a0c3.js +1 -0
  804. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-092c69469068a0c3.js +1 -0
  805. package/app/.next-cli-build/static/chunks/app/page-092c69469068a0c3.js +1 -0
  806. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-092c69469068a0c3.js +1 -0
  807. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-092c69469068a0c3.js +1 -0
  808. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-092c69469068a0c3.js +1 -0
  809. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-092c69469068a0c3.js +1 -0
  810. package/app/.next-cli-build/static/css/11e167ecf7b4e500.css +1 -0
  811. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite-shm +0 -0
  812. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite-wal +0 -0
  813. package/app/package.json +1 -1
  814. package/package.json +1 -1
  815. package/app/.next-cli-build/server/chunks/2769.js +0 -1
  816. package/app/.next-cli-build/static/HnTGcqSHEUKReNqlg_AiU/_buildManifest.js +0 -1
  817. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/ollama-nodes/page-3e97343c80613dec.js +0 -1
  818. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/virtual-combos/page-3175d0b06abbb400.js +0 -1
  819. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-da2083459ec19741.js +0 -1
  820. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-da2083459ec19741.js +0 -1
  821. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-da2083459ec19741.js +0 -1
  822. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-da2083459ec19741.js +0 -1
  823. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-da2083459ec19741.js +0 -1
  824. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-da2083459ec19741.js +0 -1
  825. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-da2083459ec19741.js +0 -1
  826. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/autostart/route-da2083459ec19741.js +0 -1
  827. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/prompt-log-db/route-da2083459ec19741.js +0 -1
  828. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/root-ca/route-da2083459ec19741.js +0 -1
  829. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-da2083459ec19741.js +0 -1
  830. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-da2083459ec19741.js +0 -1
  831. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-da2083459ec19741.js +0 -1
  832. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-da2083459ec19741.js +0 -1
  833. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-da2083459ec19741.js +0 -1
  834. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-da2083459ec19741.js +0 -1
  835. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-da2083459ec19741.js +0 -1
  836. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-da2083459ec19741.js +0 -1
  837. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-da2083459ec19741.js +0 -1
  838. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-da2083459ec19741.js +0 -1
  839. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-da2083459ec19741.js +0 -1
  840. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-da2083459ec19741.js +0 -1
  841. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-da2083459ec19741.js +0 -1
  842. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-da2083459ec19741.js +0 -1
  843. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-da2083459ec19741.js +0 -1
  844. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-da2083459ec19741.js +0 -1
  845. package/app/.next-cli-build/static/chunks/app/api/combos/route-da2083459ec19741.js +0 -1
  846. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/[id]/route-da2083459ec19741.js +0 -1
  847. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/route-da2083459ec19741.js +0 -1
  848. package/app/.next-cli-build/static/chunks/app/api/health/route-da2083459ec19741.js +0 -1
  849. package/app/.next-cli-build/static/chunks/app/api/init/route-da2083459ec19741.js +0 -1
  850. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-da2083459ec19741.js +0 -1
  851. package/app/.next-cli-build/static/chunks/app/api/keys/route-da2083459ec19741.js +0 -1
  852. package/app/.next-cli-build/static/chunks/app/api/locale/route-da2083459ec19741.js +0 -1
  853. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-da2083459ec19741.js +0 -1
  854. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-da2083459ec19741.js +0 -1
  855. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-da2083459ec19741.js +0 -1
  856. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-da2083459ec19741.js +0 -1
  857. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-da2083459ec19741.js +0 -1
  858. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-da2083459ec19741.js +0 -1
  859. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-da2083459ec19741.js +0 -1
  860. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-da2083459ec19741.js +0 -1
  861. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-da2083459ec19741.js +0 -1
  862. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-da2083459ec19741.js +0 -1
  863. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-da2083459ec19741.js +0 -1
  864. package/app/.next-cli-build/static/chunks/app/api/models/route-da2083459ec19741.js +0 -1
  865. package/app/.next-cli-build/static/chunks/app/api/models/test/route-da2083459ec19741.js +0 -1
  866. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-da2083459ec19741.js +0 -1
  867. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-da2083459ec19741.js +0 -1
  868. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-da2083459ec19741.js +0 -1
  869. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-da2083459ec19741.js +0 -1
  870. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-da2083459ec19741.js +0 -1
  871. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-da2083459ec19741.js +0 -1
  872. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-da2083459ec19741.js +0 -1
  873. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-da2083459ec19741.js +0 -1
  874. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-da2083459ec19741.js +0 -1
  875. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-da2083459ec19741.js +0 -1
  876. package/app/.next-cli-build/static/chunks/app/api/ollama-model-memory/route-da2083459ec19741.js +0 -1
  877. package/app/.next-cli-build/static/chunks/app/api/ollama-nodes/[id]/install/route-da2083459ec19741.js +0 -1
  878. package/app/.next-cli-build/static/chunks/app/api/ollama-nodes/[id]/reservations/route-da2083459ec19741.js +0 -1
  879. package/app/.next-cli-build/static/chunks/app/api/ollama-nodes/[id]/route-da2083459ec19741.js +0 -1
  880. package/app/.next-cli-build/static/chunks/app/api/ollama-nodes/[id]/status/route-da2083459ec19741.js +0 -1
  881. package/app/.next-cli-build/static/chunks/app/api/ollama-nodes/route-da2083459ec19741.js +0 -1
  882. package/app/.next-cli-build/static/chunks/app/api/ollama-routing-targets/route-da2083459ec19741.js +0 -1
  883. package/app/.next-cli-build/static/chunks/app/api/pricing/route-da2083459ec19741.js +0 -1
  884. package/app/.next-cli-build/static/chunks/app/api/provider-health/route-da2083459ec19741.js +0 -1
  885. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-da2083459ec19741.js +0 -1
  886. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-da2083459ec19741.js +0 -1
  887. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-da2083459ec19741.js +0 -1
  888. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-da2083459ec19741.js +0 -1
  889. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-da2083459ec19741.js +0 -1
  890. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-da2083459ec19741.js +0 -1
  891. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-da2083459ec19741.js +0 -1
  892. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-da2083459ec19741.js +0 -1
  893. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-da2083459ec19741.js +0 -1
  894. package/app/.next-cli-build/static/chunks/app/api/providers/route-da2083459ec19741.js +0 -1
  895. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-da2083459ec19741.js +0 -1
  896. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-da2083459ec19741.js +0 -1
  897. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-da2083459ec19741.js +0 -1
  898. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-da2083459ec19741.js +0 -1
  899. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-da2083459ec19741.js +0 -1
  900. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-da2083459ec19741.js +0 -1
  901. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-da2083459ec19741.js +0 -1
  902. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-da2083459ec19741.js +0 -1
  903. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-da2083459ec19741.js +0 -1
  904. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-da2083459ec19741.js +0 -1
  905. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-da2083459ec19741.js +0 -1
  906. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-da2083459ec19741.js +0 -1
  907. package/app/.next-cli-build/static/chunks/app/api/settings/route-da2083459ec19741.js +0 -1
  908. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-da2083459ec19741.js +0 -1
  909. package/app/.next-cli-build/static/chunks/app/api/tags/route-da2083459ec19741.js +0 -1
  910. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-da2083459ec19741.js +0 -1
  911. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-da2083459ec19741.js +0 -1
  912. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-da2083459ec19741.js +0 -1
  913. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-da2083459ec19741.js +0 -1
  914. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-da2083459ec19741.js +0 -1
  915. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-da2083459ec19741.js +0 -1
  916. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-da2083459ec19741.js +0 -1
  917. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-da2083459ec19741.js +0 -1
  918. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-da2083459ec19741.js +0 -1
  919. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-da2083459ec19741.js +0 -1
  920. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-da2083459ec19741.js +0 -1
  921. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-da2083459ec19741.js +0 -1
  922. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-da2083459ec19741.js +0 -1
  923. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-login/route-da2083459ec19741.js +0 -1
  924. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-start-daemon/route-da2083459ec19741.js +0 -1
  925. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-da2083459ec19741.js +0 -1
  926. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-da2083459ec19741.js +0 -1
  927. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-da2083459ec19741.js +0 -1
  928. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-da2083459ec19741.js +0 -1
  929. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-da2083459ec19741.js +0 -1
  930. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-da2083459ec19741.js +0 -1
  931. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-da2083459ec19741.js +0 -1
  932. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-da2083459ec19741.js +0 -1
  933. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-da2083459ec19741.js +0 -1
  934. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-da2083459ec19741.js +0 -1
  935. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-da2083459ec19741.js +0 -1
  936. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-da2083459ec19741.js +0 -1
  937. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-da2083459ec19741.js +0 -1
  938. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-da2083459ec19741.js +0 -1
  939. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-da2083459ec19741.js +0 -1
  940. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-da2083459ec19741.js +0 -1
  941. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-da2083459ec19741.js +0 -1
  942. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-da2083459ec19741.js +0 -1
  943. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-da2083459ec19741.js +0 -1
  944. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-da2083459ec19741.js +0 -1
  945. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-da2083459ec19741.js +0 -1
  946. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-da2083459ec19741.js +0 -1
  947. package/app/.next-cli-build/static/chunks/app/api/v1/route-da2083459ec19741.js +0 -1
  948. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-da2083459ec19741.js +0 -1
  949. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-da2083459ec19741.js +0 -1
  950. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-da2083459ec19741.js +0 -1
  951. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-da2083459ec19741.js +0 -1
  952. package/app/.next-cli-build/static/chunks/app/api/version/restart/route-da2083459ec19741.js +0 -1
  953. package/app/.next-cli-build/static/chunks/app/api/version/route-da2083459ec19741.js +0 -1
  954. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-da2083459ec19741.js +0 -1
  955. package/app/.next-cli-build/static/chunks/app/api/version/update/route-da2083459ec19741.js +0 -1
  956. package/app/.next-cli-build/static/chunks/app/api/virtual-combos/[id]/route-da2083459ec19741.js +0 -1
  957. package/app/.next-cli-build/static/chunks/app/api/virtual-combos/route-da2083459ec19741.js +0 -1
  958. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-da2083459ec19741.js +0 -1
  959. package/app/.next-cli-build/static/chunks/app/page-da2083459ec19741.js +0 -1
  960. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-da2083459ec19741.js +0 -1
  961. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-da2083459ec19741.js +0 -1
  962. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-da2083459ec19741.js +0 -1
  963. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-da2083459ec19741.js +0 -1
  964. package/app/.next-cli-build/static/css/7c50b64c9b7c7390.css +0 -1
  965. /package/app/.next-cli-build/static/{HnTGcqSHEUKReNqlg_AiU → Dcv7pgEOWAPLtjKtQZeS0}/_ssgManifest.js +0 -0
  966. /package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-1.0.53-to-1.0.54-1.0.54-20260527-190346 → upgrade-1.0.58-to-1.0.59-1.0.59-20260527-233043}/data.sqlite +0 -0
  967. /package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-1.0.54-to-1.0.55-1.0.55-20260527-201319 → upgrade-1.0.59-to-1.0.60-1.0.60-20260528-000431}/data.sqlite +0 -0
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
6
6
  PRAGMA cache_size = -64000;
7
7
  PRAGMA foreign_keys = ON;
8
8
  PRAGMA busy_timeout = 5000;
9
- `,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",allowedModels:"TEXT DEFAULT '[]'",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},88520:(a,b,c)=>{c.d(b,{createNodeSqliteAdapter:()=>e});var d=c(63775);async function e(a){let b=process.emit;process.emit=function(a,c,...d){return!("warning"===a&&c?.name==="ExperimentalWarning"&&/SQLite/i.test(c.message||""))&&b.call(process,a,c,...d)};let e=new(await Promise.resolve().then(c.t.bind(c,80099,23))).DatabaseSync(a);e.exec(d.oG);let f=new Map;function g(a){let b=f.get(a);return b||(b=e.prepare(a),f.set(a,b)),b}let h=setInterval(()=>{try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},6e4);function i(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}try{f.clear()}catch{}try{e.close()}catch{}}"function"==typeof h.unref&&h.unref();let j=()=>i();return process.once("beforeExit",j),process.once("SIGINT",()=>{j(),process.exit(0)}),process.once("SIGTERM",()=>{j(),process.exit(0)}),{driver:"node:sqlite",run(a,b=[]){let c=g(a).run(...b);return{changes:Number(c.changes??0),lastInsertRowid:Number(c.lastInsertRowid??0)}},get:(a,b=[])=>g(a).get(...b),all:(a,b=[])=>g(a).all(...b),exec:a=>e.exec(a),transaction(a){let b=`sp_${Math.random().toString(36).slice(2)}`;e.exec(`SAVEPOINT ${b}`);try{let c=a();return e.exec(`RELEASE ${b}`),c}catch(a){try{e.exec(`ROLLBACK TO ${b}`),e.exec(`RELEASE ${b}`)}catch{}throw a}},checkpoint(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(h),i()},raw:e}}}};
9
+ `,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",allowedModels:"TEXT DEFAULT '[]'",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},82491:(a,b,c)=>{c.d(b,{createNodeSqliteAdapter:()=>e});var d=c(63775);async function e(a){let b=process.emit;process.emit=function(a,c,...d){return!("warning"===a&&c?.name==="ExperimentalWarning"&&/SQLite/i.test(c.message||""))&&b.call(process,a,c,...d)};let e=new(await Promise.resolve().then(c.t.bind(c,80099,23))).DatabaseSync(a);e.exec(d.oG);let f=new Map;function g(a){let b=f.get(a);return b||(b=e.prepare(a),f.set(a,b)),b}let h=setInterval(()=>{try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},6e4);function i(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}try{f.clear()}catch{}try{e.close()}catch{}}"function"==typeof h.unref&&h.unref();let j=()=>i();return process.once("beforeExit",j),process.once("SIGINT",()=>{j(),process.exit(0)}),process.once("SIGTERM",()=>{j(),process.exit(0)}),{driver:"node:sqlite",run(a,b=[]){let c=g(a).run(...b);return{changes:Number(c.changes??0),lastInsertRowid:Number(c.lastInsertRowid??0)}},get:(a,b=[])=>g(a).get(...b),all:(a,b=[])=>g(a).all(...b),exec:a=>e.exec(a),transaction(a){let b=`sp_${Math.random().toString(36).slice(2)}`;e.exec(`SAVEPOINT ${b}`);try{let c=a();return e.exec(`RELEASE ${b}`),c}catch(a){try{e.exec(`ROLLBACK TO ${b}`),e.exec(`RELEASE ${b}`)}catch{}throw a}},checkpoint(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(h),i()},raw:e}}}};
@@ -1 +1 @@
1
- "use strict";exports.id=9253,exports.ids=[9253],exports.modules={19253:(a,b,c)=>{c.d(b,{MR:()=>u,sV:()=>v});var d=c(55013),e=c(35448);let f=["minRamFreeMb","minVramFreeMb","loadedRamFreeMb","loadedVramFreeMb","safetyMarginMb"];function g(a,b=0){let c=Number(a);return Number.isFinite(c)?c:b}function h(a){let b=String(a||"").trim().toLowerCase();if(!b)return"";let c=b.lastIndexOf("/");return c>=0?b.slice(c+1):b}function i(a){return String(a||"").trim()}function j(a={},b){let c=h(b);if(!c)return null;for(let[b,d]of Object.entries(a||{}))if(h(b)===c)return{key:b,rule:d,matchType:"exact"};for(let[b,d]of Object.entries(a||{}))if(String(b).includes("*")&&(function(a){let b=String(a||"").split("*").map(a=>a.replace(/[|\\{}()[\]^$+?.]/g,"\\$&")).join(".*");return RegExp(`^${b}$`,"i")})(h(b)).test(c))return{key:b,rule:d,matchType:"wildcard"};return null}function k(a,b=[]){return Math.max(0,g(a?.hardware?.ram?.availableMb,0)-b.reduce((a,b)=>a+g(b.ramMb,0),0))}function l(a,b,c={},d=[]){let e=Array.isArray(a?.hardware?.gpus)?a.hardware.gpus:[],f=Array.isArray(c?.detectedGpuIndices)?c.detectedGpuIndices.map(Number).filter(Number.isFinite):[],h="auto-best-gpu",i=e;if("cpu"===b.gpuMode)return{mode:"cpu",source:"manual-cpu",gpus:[],gpuIndices:[],vramFreeMb:0,vramTotalMb:0,vramUsedMb:0};"specific"===b.gpuMode&&b.gpuIndices.length?(h="manual-specific",i=e.filter(a=>b.gpuIndices.includes(Number(a.index)))):"all"===b.gpuMode?(h=b.allowMultiGpuSplit?"manual-all-split":"manual-all-best",i=e):f.length&&(h="detected-port-pid",i=e.filter(a=>f.includes(Number(a.index)))),i.length||(i=e);let j=i.map(a=>{var b;let c=(b=a.index,d.reduce((a,c)=>{let d;return a+(0===(d=Array.isArray(c.gpuIndices)?c.gpuIndices.map(Number):[]).length||d.includes(Number(b))?g(c.vramMb,0):0)},0));return{...a,reservedVramMb:c,effectiveVramFreeMb:Math.max(0,g(a.vramFreeMb,0)-c)}});if(b.allowMultiGpuSplit||"all"===b.gpuMode&&!0===b.allowMultiGpuSplit)return{mode:b.gpuMode||"auto",source:h,gpus:j,gpuIndices:j.map(a=>Number(a.index)),vramFreeMb:j.reduce((a,b)=>a+g(b.effectiveVramFreeMb,0),0),vramTotalMb:j.reduce((a,b)=>a+g(b.vramTotalMb,0),0),vramUsedMb:j.reduce((a,b)=>a+g(b.vramUsedMb,0),0)};let k=j.reduce((a,b)=>g(b.effectiveVramFreeMb,0)>g(a?.effectiveVramFreeMb,-1)?b:a,null);return{mode:b.gpuMode||"auto",source:h,gpus:k?[k]:[],gpuIndices:k?[Number(k.index)]:[],vramFreeMb:k?g(k.effectiveVramFreeMb,0):0,vramTotalMb:k?g(k.vramTotalMb,0):0,vramUsedMb:k?g(k.vramUsedMb,0):0}}var m=c(6774);let n=new Map;function o(){return new Date().toISOString()}function p(a){return`http://${a.host}:${a.agentPort||19999}/status`}function q(a,b={}){var c;let d;if(!a?.enabled)return!1;let e=Number(b.now||Date.now()),f=Number.isFinite(d=(c=a.lastStatusAt)?new Date(c).getTime():0)?d:0;if(!f)return!0;let g=Number(b.maxAgeMs||0);return e-f>=(g>0?g:function(a,b=5e3){return Math.max(5e3,Number(a?.refreshIntervalMs||b)||b)}(a))}async function r(a){try{return await a.text()}catch{return""}}async function s(a,b={}){let c,d=p(a),e={};a.agentToken&&(e.Authorization=`Bearer ${a.agentToken}`);let f=new AbortController,g=setTimeout(()=>f.abort(),Math.max(1e3,Number(b.timeoutMs||1e4))),h="";try{c=await fetch(d,{headers:e,signal:f.signal,cache:"no-store"}),h=await r(c)}finally{clearTimeout(g)}if(!c.ok){let a=Error(`Agent status failed: HTTP ${c.status}`);throw a.agentUrl=d,a.agentStatus=c.status,a.agentBody=h.slice(0,1e3),a}try{return{status:JSON.parse(h||"{}"),agentUrl:d}}catch{let a=Error("Agent returned invalid JSON");throw a.agentUrl=d,a.agentStatus=c.status,a.agentBody=h.slice(0,1e3),a}}async function t(a,b={}){let c="string"==typeof a?await (0,m.Vs)(a):a;if(!c?.id)return null;if(!b.force&&!q(c,b))return c;let r=c.id;if(n.has(r))return n.get(r);let u=(async()=>{try{let{status:a,agentUrl:n}=await s(c,b),p=await (0,d.MW)(),q=await (0,e._)({nodeId:c.id}),r=function(a,b={},c={},d={}){let e=Array.isArray(a?.instances)?a.instances:[{id:"default",port:null,baseUrl:a?.ollama?.baseUrl,alive:a?.ollama?.alive,models:a?.ollama?.models||[],loadedModels:a?.ollama?.loadedModels||[]}],m=Array.isArray(d.reservations)?d.reservations:[],n=e.map(d=>{let e=function(a={},b={}){let c=Number(b.port),d=(Array.isArray(a.instances)?a.instances:[]).find(a=>Number(a.port)===c||String(a.id||"")===String(b.id||""));return{id:d?.id||b.id||`ollama-${c||"default"}`,name:d?.name||`Ollama :${c||"default"}`,port:c,enabled:d?.enabled!==!1,gpuMode:d?.gpuMode||"auto",gpuIndices:Array.isArray(d?.gpuIndices)?d.gpuIndices.map(Number).filter(Number.isFinite):[],allowMultiGpuSplit:d?.allowMultiGpuSplit===!0,modelMemoryRequirements:d?.modelMemoryRequirements||{},tags:Array.isArray(d?.tags)?d.tags:[]}}(b,d),n=m.filter(a=>!!a.instanceId&&a.instanceId===e.id||!!a.port&&Number(a.port)===Number(d.port)),o=(d.models||[]).map(i).filter(Boolean),p=l(a,e,d,n),q=o.map(m=>(function({status:a,node:b,instance:c,instanceConfig:d,reservations:e,globalRequirements:m,model:n}){let o=function(a,b){let c=h(b);for(let b of Array.isArray(a.loadedModels)?a.loadedModels:[])if(h(b)===c)return{loaded:!0,loadedName:b,matchedBy:"name"};let d=Array.isArray(a.psModels)?a.psModels:[];for(let a of d)if(h(a.name||a.model)===c)return{loaded:!0,loadedName:a.name||a.model,matchedBy:"ps-name",psModel:a};let e=function(a,b){let c=h(b);for(let b of Array.isArray(a.modelDetails)?a.modelDetails:[])if(h(b.name||b.model)===c)return b;return null}(a,b),f=e?.digest;if(f){for(let a of d)if(a?.digest&&a.digest===f)return{loaded:!0,loadedName:a.name||a.model,matchedBy:"digest",psModel:a}}return{loaded:!1}}(c,n),p=!0===o.loaded,q=function({node:a,instanceConfig:b,globalRequirements:c,model:d}){let e,i=j(b.modelMemoryRequirements||{},d),k=j(a.modelMemoryRequirements||{},d),l=!1===a.useGlobalModelMemory?null:j(c||{},d);return{requirement:function(...a){let b={};for(let c of a)if(c)for(let a of f)void 0!==c[a]&&null!==c[a]&&""!==String(c[a]).trim()&&(b[a]=Math.max(0,g(c[a],0)));return b}((e=h(d)).includes("30b")?{minRamFreeMb:8192,minVramFreeMb:24e3,loadedRamFreeMb:2048,loadedVramFreeMb:3072,safetyMarginMb:2048}:e.includes("32b")?{minRamFreeMb:4096,minVramFreeMb:16e3,loadedRamFreeMb:2048,loadedVramFreeMb:2048,safetyMarginMb:2048}:e.includes("20b")?{minRamFreeMb:8192,minVramFreeMb:12e3,loadedRamFreeMb:2048,loadedVramFreeMb:2048,safetyMarginMb:2048}:e.includes("14b")?{minRamFreeMb:8192,minVramFreeMb:1e4,loadedRamFreeMb:2048,loadedVramFreeMb:1024,safetyMarginMb:1024}:e.includes("8b")?{minRamFreeMb:6144,minVramFreeMb:0,loadedRamFreeMb:1024,loadedVramFreeMb:512,safetyMarginMb:1024}:e.includes("7b")||e.includes("6.7b")?{minRamFreeMb:4096,minVramFreeMb:0,loadedRamFreeMb:1024,loadedVramFreeMb:512,safetyMarginMb:1024}:{minRamFreeMb:4096,minVramFreeMb:0,loadedRamFreeMb:1024,loadedVramFreeMb:0,safetyMarginMb:1024},l?.rule,k?.rule,i?.rule),source:i?"instance override":k?"node override":l?"global":"default",key:i?.key||k?.key||l?.key||"built-in"}}({node:b,instanceConfig:d,globalRequirements:m,model:n}),r=q.requirement,s=g(r.safetyMarginMb,0),t=(p?g(r.loadedRamFreeMb,0):g(r.minRamFreeMb,0))+s,u=(p?g(r.loadedVramFreeMb,0):g(r.minVramFreeMb,0))+s,v=k(a,e),w=l(a,d,c,e),x=w.vramFreeMb,y=v>=t,z=u<=0||x>=u,A=p?"loaded-ok":"sleeping-ok",B=p?`Loaded${o.loadedName?` as ${o.loadedName}`:""}. RAM ${v}MB, VRAM scope ${x}MB.`:`Sleeping. Needs RAM ${t}MB and VRAM ${u}MB before wake.`;return y||z?y?z||(A=p?"loaded-low-vram":"sleeping-insufficient-vram",B=`Not enough VRAM in this instance GPU scope. Free ${x}MB < required ${u}MB.`):(A=p?"loaded-low-ram":"sleeping-insufficient-ram",B=`Not enough RAM. Free ${v}MB < required ${t}MB.`):(A=p?"loaded-low-ram-vram":"sleeping-insufficient-ram-vram",B=`Not enough RAM/VRAM. RAM free ${v}MB < ${t}MB, VRAM scope free ${x}MB < ${u}MB.`),{model:i(n),loaded:p,loadedName:o.loadedName||null,loadedMatch:o.matchedBy||null,status:A,okToRoute:y&&z,reason:B,ruleSource:q.source,ruleKey:q.key,ramAvailableMb:v,vramFreeMb:x,hardwareScope:w,detectedGpuIndices:c.detectedGpuIndices||[],detectedGpuVramUsedMb:c.detectedGpuVramUsedMb||0,requirement:{...r,effectiveMinRamFreeMb:t,effectiveMinVramFreeMb:u}}})({status:a,node:b,instance:d,instanceConfig:e,reservations:n,globalRequirements:c,model:m})),r=q.filter(a=>!a.loaded&&!a.okToRoute);return{...d,config:e,hardwareScope:p,modelReadiness:q,blockedSleepingModels:r,hasBlockedSleepingModels:r.length>0}});return{ok:a?.ok===!0,ramAvailableMb:k(a,m),reservations:m,instances:n,hasBlockedSleepingModels:n.some(a=>a.hasBlockedSleepingModels)}}(a,c,p,{reservations:q});return{node:await (0,m.YT)(c.id,{lastStatus:a,lastEvaluation:r,lastStatusAt:o(),lastError:null}),status:a,evaluation:r,reservations:q,agentUrl:n,refreshed:!0}}catch(b){let a=b?.name==="AbortError"?"Agent status timed out":b.message||"Agent status failed";return{node:await (0,m.YT)(c.id,{lastError:a,lastStatusAt:o()}),error:a,agentUrl:b.agentUrl||p(c),agentStatus:b.agentStatus,agentBody:b.agentBody,refreshed:!1}}finally{n.delete(r)}})();return n.set(r,u),u}async function u(a,b={}){let c=await (0,m.Vs)(a);return c?t(c,{...b,force:!0}):null}async function v(a=null,b={}){let c=Array.isArray(a)?a:await (0,m.U1)(),d=[];for(let a of c)a?.enabled&&(b.force||q(a,b))&&d.push(await t(a,b));return{nodes:await (0,m.U1)(),refreshed:d}}}};
1
+ "use strict";exports.id=9253,exports.ids=[9253],exports.modules={19253:(a,b,c)=>{c.d(b,{MR:()=>u,sV:()=>v});var d=c(55013),e=c(35448);function f(a,b=0){let c=Number(a);return Number.isFinite(c)?c:b}function g(a){return String(a||"").trim().replace(/^.*\//,"").toLowerCase()}function h(a){return String(a||"").trim().replace(/^.*\//,"")}function i(a={},b){if(!a||"object"!=typeof a)return null;let c=h(b),d=a[c];if(d)return{rule:d,key:c,matchType:"exact"};let e=g(c),f=Object.keys(a).find(a=>g(a)===e);if(f)return{rule:a[f],key:f,matchType:"case-insensitive"};let j=Object.keys(a).find(a=>{let b;return a.includes("*")&&(b=String(a||"").split("*").map(a=>a.replace(/[|\\{}()[\]^$+?.]/g,"\\$&")).join(".*"),RegExp(`^${b}$`,"i")).test(c)});return j?{rule:a[j],key:j,matchType:"wildcard"}:null}function j(a,b=[]){return Math.max(0,f(a?.hardware?.ram?.availableMb??a?.hardware?.ram?.freeMb,0)-(0,e.Hj)(b).ramMb)}function k(a,b,{aggregate:c=!1,source:d="auto",mode:e="auto"}={}){let g=Array.isArray(b)&&b.length?function(a,b=[]){let c=new Set((b||[]).map(Number));return a.filter(a=>c.has(Number(a.index)))}(a,b):a;if(g.length||(g=a),!g.length)return{mode:e,source:d,aggregate:!1,gpus:[],gpuIndices:[],vramFreeMb:0};let h=!0===c,i=h?g.reduce((a,b)=>a+f(b.vramFreeMb,0),0):Math.max(...g.map(a=>f(a.vramFreeMb,0)),0),j=g.reduce((a,b)=>f(a.vramFreeMb,0)>=f(b.vramFreeMb,0)?a:b,g[0]);return{mode:e,source:d,aggregate:h,gpus:g,gpuIndices:h?g.map(a=>a.index):[j.index],candidateGpuIndices:g.map(a=>a.index),vramFreeMb:i}}function l(a,b={},c=[],d={}){let g=function(a,b=[]){let c=(0,e.Hj)(b);return a.map(b=>{let d=Number(c.vramByGpu[b.index]||0)+(c.vramUnscopedMb?c.vramUnscopedMb/Math.max(1,a.length):0);return{...b,reservedVramMb:d,vramFreeMb:Math.max(0,f(b.vramFreeMb,0)-d)}})}(Array.isArray(a?.hardware?.gpus)?a.hardware.gpus.map((a,b)=>({...a,index:Number.isInteger(Number(a.index))?Number(a.index):b})):[],c),h=b.gpuMode||"auto";if("cpu"===h||0===g.length)return{mode:h,source:"cpu"===h?"manual-cpu":"no-gpu",aggregate:!1,gpus:[],gpuIndices:[],vramFreeMb:0};if("specific"===h&&Array.isArray(b.gpuIndices)&&b.gpuIndices.length)return k(g,b.gpuIndices,{aggregate:!0===b.allowMultiGpuSplit,source:"manual-specific",mode:h});if("all"===h)return k(g,g.map(a=>a.index),{aggregate:!0===b.allowMultiGpuSplit,source:!0===b.allowMultiGpuSplit?"manual-all-aggregate":"manual-all-best-gpu",mode:h});let i=Array.isArray(d?.effectiveGpuIndices)&&d.effectiveGpuIndices.length?{indices:d.effectiveGpuIndices.map(Number),source:d.effectiveGpuSource||"agent-effective"}:Array.isArray(d?.configuredGpuIndices)&&d.configuredGpuIndices.length?{indices:d.configuredGpuIndices.map(Number),source:d.configuredGpuSource||"agent-configured"}:Array.isArray(d?.detectedGpuIndices)&&d.detectedGpuIndices.length?{indices:d.detectedGpuIndices.map(Number),source:d.detectedGpuBindingSource||"agent-runtime"}:Array.isArray(d?.runtimeGpuIndices)&&d.runtimeGpuIndices.length?{indices:d.runtimeGpuIndices.map(Number),source:"agent-runtime"}:null;return i?.indices?.length?k(g,i.indices,{aggregate:!0===b.allowMultiGpuSplit,source:!0===b.allowMultiGpuSplit?`${i.source}-aggregate`:`${i.source}-best-gpu`,mode:"auto"}):k(g,g.map(a=>a.index),{aggregate:!1,source:"auto-best-gpu",mode:"auto"})}var m=c(6774);let n=new Map;function o(){return new Date().toISOString()}function p(a){return`http://${a.host}:${a.agentPort||19999}/status`}function q(a,b={}){var c;let d;if(!a?.enabled)return!1;let e=Number(b.now||Date.now()),f=Number.isFinite(d=(c=a.lastStatusAt)?new Date(c).getTime():0)?d:0;if(!f)return!0;let g=Number(b.maxAgeMs||0);return e-f>=(g>0?g:function(a,b=5e3){return Math.max(5e3,Number(a?.refreshIntervalMs||b)||b)}(a))}async function r(a){try{return await a.text()}catch{return""}}async function s(a,b={}){let c,d=p(a),e={};a.agentToken&&(e.Authorization=`Bearer ${a.agentToken}`);let f=new AbortController,g=setTimeout(()=>f.abort(),Math.max(1e3,Number(b.timeoutMs||1e4))),h="";try{c=await fetch(d,{headers:e,signal:f.signal,cache:"no-store"}),h=await r(c)}finally{clearTimeout(g)}if(!c.ok){let a=Error(`Agent status failed: HTTP ${c.status}`);throw a.agentUrl=d,a.agentStatus=c.status,a.agentBody=h.slice(0,1e3),a}try{return{status:JSON.parse(h||"{}"),agentUrl:d}}catch{let a=Error("Agent returned invalid JSON");throw a.agentUrl=d,a.agentStatus=c.status,a.agentBody=h.slice(0,1e3),a}}async function t(a,b={}){let c="string"==typeof a?await (0,m.Vs)(a):a;if(!c?.id)return null;if(!b.force&&!q(c,b))return c;let k=c.id;if(n.has(k))return n.get(k);let r=(async()=>{try{let{status:a,agentUrl:k}=await s(c,b),n=await (0,d.MW)(),p=await (0,e._)({nodeId:c.id}),q=function(a,b={},c={},e={}){let k=Array.isArray(a?.instances)?a.instances:[{id:"default",port:null,baseUrl:a?.ollama?.baseUrl,alive:a?.ollama?.alive,models:a?.ollama?.models||[],loadedModels:a?.ollama?.loadedModels||[]}],m=Array.isArray(e.reservations)?e.reservations:[],n=k.map(e=>{let k,n,o=(k=Array.isArray(b?.instances)?b.instances:[],n=Number(e?.port),k.find(a=>Number(a.port)===n)||k.find(a=>a.id&&a.id===e?.id)||{port:n,gpuMode:"auto",gpuIndices:[],allowMultiGpuSplit:!1,modelMemoryRequirements:{}}),p=m.filter(a=>!a.port||Number(a.port)===Number(e.port)||a.instanceId&&a.instanceId===o.id),q=(e.models||[]).map(h).filter(Boolean),r=l(a,o,p,e),s=q.map(k=>(function({status:a,node:b,instance:c,instanceConfig:e,reservations:g,globalRequirements:k,model:m,loadedInfo:n}){let o=h(m),p=n?.loaded===!0,q=function(a,b,c,e,g){let h=[],j=g?c||{}:d.dV,k=i(j,e);k&&h.push({...k,source:g?"global":"default"});let l=i(b,e);l&&h.push({...l,source:"node"});let m=i(a,e);m&&h.push({...m,source:"instance"});let n={},o=[],p=[];for(let a of h)if(a?.rule){for(let b of(o.push(a.source),p.push(a.key),d.iP))Object.prototype.hasOwnProperty.call(a.rule,b)&&(n[b]=f(a.rule[b],0));a.rule.notes&&(n.notes=a.rule.notes)}return Object.keys(n).length?{rule:n,source:o.join("+"),key:p.filter(Boolean).join(" > ")}:null}(e?.modelMemoryRequirements||{},b?.modelMemoryRequirements||{},k||{},o,b?.useGlobalModelMemory!==!1),r=q?.rule,s=j(a,g),t=l(a,e,g,c),u=t.vramFreeMb;if(!r)return{model:o,loaded:p,loadedName:n?.loadedName||null,loadedMatch:n?.matchedBy||null,status:p?"loaded-unconfigured":"sleeping-unconfigured",okToRoute:!0,reason:"No model memory rule matched; allowing route by default.",ruleSource:"none",ruleKey:null,ramAvailableMb:s,vramFreeMb:u,hardwareScope:t,requirement:null};let v=f(r.safetyMarginMb,0),w=p?f(r.loadedRamFreeMb,0):f(r.minRamFreeMb,0),x=p?f(r.loadedVramFreeMb,0):f(r.minVramFreeMb,0),y=w+v,z=x+v,A=s>=y,B=x<=0||u>=z,C=p?"loaded-ready":"sleeping-ready",D=p?`Model is already loaded${n?.loadedName?` as ${n.loadedName}`:""}${n?.matchedBy?` (${n.matchedBy} match)`:""} and has enough overhead memory.`:"Model can be woken with current free memory.";return A||B?A?B||(C=p?"loaded-low-vram":"sleeping-insufficient-vram",D=`Not enough VRAM in this instance GPU scope. Free ${u}MB < required ${z}MB.`):(C=p?"loaded-low-ram":"sleeping-insufficient-ram",D=`Not enough RAM. Free ${s}MB < required ${y}MB.`):(C=p?"loaded-low-ram-vram":"sleeping-insufficient-ram-vram",D=`Not enough RAM/VRAM. RAM free ${s}MB < ${y}MB, VRAM scope free ${u}MB < ${z}MB.`),{model:o,loaded:p,loadedName:n?.loadedName||null,loadedMatch:n?.matchedBy||null,status:C,okToRoute:A&&B,reason:D,ruleSource:q.source,ruleKey:q.key,ramAvailableMb:s,vramFreeMb:u,hardwareScope:t,requirement:{...r,effectiveMinRamFreeMb:y,effectiveMinVramFreeMb:z}}})({status:a,node:b,instance:e,instanceConfig:o,reservations:p,globalRequirements:c,model:k,loadedInfo:function(a,b){let c,d,e,f,i=(c=h(b),d=new Set([c,g(c)]),(e=g(c)).endsWith(":latest")&&d.add(e.replace(/:latest$/,"")),(f=e.split(":")[0])&&d.add(f),d),j=function(a){let b=new Map;for(let c of a?.modelDetails||a?.modelsInfo||[]){let a=c?.digest;if(a)for(let d of[c.name,c.model])d&&b.set(g(d),a)}return b}(a),k=new Set;for(let a of i){let b=j.get(a);b&&k.add(b)}for(let b of function(a){let b=[];if(Array.isArray(a?.psModels)&&b.push(...a.psModels),Array.isArray(a?.loadedModelDetails)&&b.push(...a.loadedModelDetails),Array.isArray(a?.loadedModels))for(let c of a.loadedModels)b.push({name:c,model:c});return b}(a)){let a=[b?.name,b?.model].filter(Boolean);if(a.map(g).some(a=>i.has(a)))return{loaded:!0,matchedBy:"name",loadedName:a[0],psModel:b};let c=b?.digest;if(c&&k.has(c))return{loaded:!0,matchedBy:"digest",loadedName:a[0],psModel:b}}return{loaded:!1,matchedBy:null,loadedName:null,psModel:null}}(e,k)})),t=s.filter(a=>!a.loaded&&!a.okToRoute);return{...e,config:o,hardwareScope:r,modelReadiness:s,blockedSleepingModels:t,hasBlockedSleepingModels:t.length>0}});return{ok:a?.ok===!0,ramAvailableMb:j(a,m),reservations:m,instances:n,hasBlockedSleepingModels:n.some(a=>a.hasBlockedSleepingModels)}}(a,c,n,{reservations:p});return{node:await (0,m.YT)(c.id,{lastStatus:a,lastEvaluation:q,lastStatusAt:o(),lastError:null}),status:a,evaluation:q,reservations:p,agentUrl:k,refreshed:!0}}catch(b){let a=b?.name==="AbortError"?"Agent status timed out":b.message||"Agent status failed";return{node:await (0,m.YT)(c.id,{lastError:a,lastStatusAt:o()}),error:a,agentUrl:b.agentUrl||p(c),agentStatus:b.agentStatus,agentBody:b.agentBody,refreshed:!1}}finally{n.delete(k)}})();return n.set(k,r),r}async function u(a,b={}){let c=await (0,m.Vs)(a);return c?t(c,{...b,force:!0}):null}async function v(a=null,b={}){let c=Array.isArray(a)?a:await (0,m.U1)(),d=[];for(let a of c)a?.enabled&&(b.force||q(a,b))&&d.push(await t(a,b));return{nodes:await (0,m.U1)(),refreshed:d}}}};
@@ -1 +1 @@
1
- "use strict";exports.id=9489,exports.ids=[9489],exports.modules={29069:(a,b,c)=>{c.d(b,{HX:()=>h,mH:()=>i});var d=c(11893);function e(a){return String(a||"").trim()}function f(a){return Array.isArray(a)?[...new Set(a.map(a=>e(a)).filter(Boolean))]:"string"==typeof a?[...new Set(a.split(/[\n,;\s]+/).map(a=>e(a)).filter(Boolean))]:a&&"object"==typeof a?Object.entries(a).filter(([,a])=>!1!==a&&null!=a).map(([a,b])=>!0===b?e(a):`${e(a)}:${e(b)}`).filter(Boolean):[]}function g(a){if(!a||"object"!=typeof a)return null;let b=e(a.name||a.id||a.exposedModel||a.model),c=e(a.exposedModel||a.model||a.name||a.id),d=(a.targets||a.endpoints||a.models||[]).map(b=>(function(a,b={}){if("string"==typeof a)return{model:e(a),label:e(a),tags:[]};if(!a||"object"!=typeof a)return null;let c=e(a.model||a.value||a.id||a.fullModel);return c?{...a,id:e(a.id)||e(a.connectionId)||c,model:c,label:e(a.label||a.name||a.displayName)||c,connectionId:e(a.connectionId||a.connection_id||a.accountId),provider:e(a.provider||b.provider),endpoint:e(a.endpoint||a.baseUrl||a.baseURL||a.url),tags:f(a.tags||a.labels||a.routingTags),maxInFlight:Number(a.maxInFlight||a.maxInFlightPerTarget||b.maxInFlight||0)||void 0}:null})(b,a)).filter(Boolean);return b&&c&&0!==d.length?{...a,name:b,id:e(a.id)||b,exposedModel:c,enabled:!1!==a.enabled,strategy:e(a.strategy||a.fallbackStrategy||"least-latency"),requiredTags:f(a.requiredTags||a.tags),modelTagRules:function(a){if(!a||"object"!=typeof a)return{};let b={};for(let[c,d]of Object.entries(a)){let a=e(c),g=f(d);a&&g.length&&(b[a]=g)}return b}(a.modelTagRules||a.requiredTagsByModel||a.tagRules),targets:d}:null}function h(a={},b=""){let c=e(b);return c&&(function(a={}){let b=a.virtualCombos||[];return(Array.isArray(b)?b:Object.values(b||{})).map(g).filter(Boolean)})(a).find(a=>!1!==a.enabled&&(a.exposedModel===c||a.name===c))||null}async function i({body:a,combo:b,handleSingleTarget:c,log:f}){let h,j,k,l,m=e(a?.model||b?.exposedModel||b?.name),n=g(b);if(!n)return new Response(JSON.stringify({error:{message:"Invalid virtual combo"}}),{status:400,headers:{"Content-Type":"application/json"}});let o=(h=[...n.targets],j=n.modelTagRules||{},0===(h=(h=(0,d.OF)(h,m,j)).filter(a=>(function(a,b=[]){if(!b.length)return!0;let c=new Set((a.tags||[]).map(a=>String(a).toLowerCase()));return b.every(a=>c.has(String(a).toLowerCase()))})(a,n.requiredTags||[]))).length&&(h=[...n.targets]),k=h.map(a=>({...a,id:a.id||`${n.name}:${a.model}:${a.connectionId||"any"}`,connectionId:a.connectionId||"",provider:a.provider||"virtual-combo",providerLabel:n.name,label:a.label||a.model,model:m||n.exposedModel,upstreamModel:a.model,endpoint:a.endpoint||"",tags:a.tags||[],maxInFlight:a.maxInFlight})),(0,d.OI)(k),("p2c"===(l=String(n.strategy||"least-latency").toLowerCase())||"power-of-two"===l||"power_of_two"===l?(0,d.ZL)(k,{model:m,modelTagRules:j,includeSkippedAtEnd:!0}):"fallback"===l||"priority"===l?(0,d.Gc)(k,{model:m,modelTagRules:j,preserveOrder:!0,includeSkippedAtEnd:!0}):(0,d.Gc)(k,{model:m,modelTagRules:j,includeSkippedAtEnd:!0})).map(a=>({healthTarget:a,target:h.find(b=>a.upstreamModel===b.model&&(a.connectionId||"")===(b.connectionId||""))})).filter(a=>a.target)),p="All virtual combo targets unavailable",q=503;f?.info?.("VIRTUAL_COMBO",`Virtual combo "${n.name}" -> ${o.length} target(s), strategy=${n.strategy}`);for(let b=0;b<o.length;b+=1){let{target:e,healthTarget:g}=o[b],h=(0,d.kb)(g);if(h.skipped){f?.warn?.("VIRTUAL_COMBO",`Skip ${e.label||e.model}: ${h.reason}`);continue}let i=Date.now();try{let j={...a,model:e.model};f?.info?.("VIRTUAL_COMBO",`Trying ${b+1}/${o.length}: ${e.label||e.model}`);let k=await c(j,e),l=Date.now()-i;if(k?.ok)return(0,d.Fg)(g,l),h.end(),k;let m=k?.statusText||"request_failed";try{let a=await k.clone().json();m=a?.error?.message||a?.error||a?.message||m}catch{}q=k?.status||503,p="string"==typeof m?m:JSON.stringify(m),(0,d.h6)(g,{status:q,message:p}),f?.warn?.("VIRTUAL_COMBO",`${e.label||e.model} failed`,{status:q})}catch(a){q=500,p=a?.message||String(a),(0,d.h6)(g,a),f?.warn?.("VIRTUAL_COMBO",`${e.label||e.model} threw`,{error:p})}finally{h.end()}}return new Response(JSON.stringify({error:{message:p}}),{status:q||503,headers:{"Content-Type":"application/json"}})}},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);if(c.settings?.requireApiKey){if(c.missing)return{error:{message:"Missing API key",type:"authentication_error"},status:401};if(c.invalid)return{error:{message:"Invalid API key",type:"authentication_error"},status:401}}return c.keyRecord?{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)}:{data:b}}},38775:(a,b,c)=>{c.d(b,{d_:()=>h,mA:()=>g});var d=c(89718),e=c(40669);let f={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"};async function g(a){let b,c=(b=(0,e.Xh)(a),b?.providerAlias&&f[b.providerAlias]?{...b,provider:f[b.providerAlias]}:b);if(!c.isAlias){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===c.providerAlias);if(a)return{provider:a.id,model:c.model};let b=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===c.providerAlias);if(b)return{provider:b.id,model:c.model};let e=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===c.providerAlias);return e?{provider:e.id,model:c.model}:{provider:c.provider,model:c.model}}return await (0,d.Dj)(c.model)?{provider:null,model:c.model}:(0,e.js)(a,d.OM)}async function h(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},42318:(a,b,c)=>{function d(a={},b){let c=String(b||"").toLowerCase();for(let[b,d]of Object.entries(a||{}))if(String(b).toLowerCase()===c)return String((Array.isArray(d)?d[0]||"":d||"")||"");return""}function e({body:a,headers:b={},scope:c="global",fallbackToClientIp:f=!0}){if("client_ip"!==c&&"client_session"!==c)return null;let g=function(a={}){return String(d(a,"x-9r-client-ip")||d(a,"x-forwarded-for")||d(a,"x-real-ip")||d(a,"cf-connecting-ip")||"").split(",")[0].trim().replace(/^::ffff:/,"").replace(/^::1$/,"127.0.0.1")}(b),h=function(a={}){return d(a,"x-9r-source-tool")||d(a,"originator")||d(a,"copilot-integration-id")||""}(b),i="client_session"===c?String(function(a,b={}){return d(b,"x-client-session-id")||d(b,"session_id")||d(b,"session-id")||d(b,"x-session-id")||d(b,"x-interaction-id")||d(b,"conversation_id")||d(b,"conversation-id")||d(b,"x-conversation-id")||a?.conversationId||a?.conversation_id||a?.sessionId||a?.session_id||a?.metadata?.conversationId||a?.metadata?.conversation_id||a?.metadata?.sessionId||a?.metadata?.session_id||a?.conversationState?.conversationId||a?.conversationState?.sessionId||a?.conversationState?.currentConversationId||""}(a,b)||""):"";return"client_session"===c&&i?{key:[h||"tool",g||"unknown-ip",i].join("::"),label:i,scope:c,sourceTool:h,clientIp:g,sessionId:i}:"client_session"===c&&!1===f?null:g?{key:[h||"tool",g].join("::"),label:g,scope:"client_ip",sourceTool:h,clientIp:g,sessionId:""}:null}c.d(b,{lV:()=>e})},79489:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{P:()=>y});var e=c(48895),f=c(7793),g=c(71750),h=c(89718),i=c(33669),j=c(38775),k=c(92500),l=c(43659),m=c(18910),n=c(42318),o=c(29069),p=c(27349),q=c(41004),r=c(14170),s=c(7803),t=c(67828),u=c(38160),v=a([e,k]);async function w({body:a,modelStr:b,comboModels:c,settings:d,clientRawRequest:e,request:f,apiKey:g}){let h,i={comboStrategy:(h=(d.comboStrategies||{})[b]||{}).fallbackStrategy||d.comboStrategy||"fallback",comboStickyLimit:h.stickyRoundRobinLimit||h.stickyLimit||d.comboStickyRoundRobinLimit||1,comboStickyScope:h.stickyScope||d.comboRoundRobinStickyScope||"global",comboStickyTtlMinutes:h.stickyTtlMinutes||d.comboRoundRobinStickyTtlMinutes||120,comboStickyFallbackToClientIp:void 0!==h.stickyFallbackToClientIp?h.stickyFallbackToClientIp:!1!==d.comboStickyFallbackToClientIp},j=(0,n.lV)({body:a,headers:e?.headers||{},scope:i.comboStickyScope,fallbackToClientIp:i.comboStickyFallbackToClientIp});return s.info("CHAT",`Combo "${b}" with ${c.length} models (strategy: ${i.comboStrategy}, stickyLimit: ${i.comboStickyLimit}, stickyScope: ${i.comboStickyScope})`),(0,m.Pr)({body:a,models:c,handleSingleModel:(a,b)=>z(a,b,e,f,g),log:s,comboName:b,comboStrategy:i.comboStrategy,comboStickyLimit:i.comboStickyLimit,comboStickyScope:i.comboStickyScope,comboStickyTtlMinutes:i.comboStickyTtlMinutes,comboStickyContext:j})}async function x({body:a,modelStr:b,virtualCombo:c,clientRawRequest:d,request:e,apiKey:f}){return s.info("CHAT",`Virtual combo "${b}" matched ${c.targets?.length||0} target(s)`),(0,o.mH)({body:a,combo:c,log:s,handleSingleTarget:(a,b)=>z(a,b.model,d,e,f,{preferredConnectionId:b.connectionId||null})})}async function y(a,b=null){let c;try{c=await a.json()}catch{return s.warn("CHAT","Invalid JSON body"),(0,l.yj)(q.gx.BAD_REQUEST,"Invalid JSON body")}b||(b={endpoint:new URL(a.url).pathname,body:c,headers:Object.fromEntries(a.headers.entries())}),(0,g.n)(b.headers);let d=new URL(a.url),e=c.model,k=c.messages?.length||c.input?.length||0,m=c.tools?.length||0,n=c.reasoning_effort||c.reasoning?.effort||null;s.request("POST",`${d.pathname} | ${e} | ${k} msgs${m?` | ${m} tools`:""}${n?` | effort=${n}`:""}`);let r=a.headers.get("Authorization"),t=(0,f.Tr)(a);r&&t?s.debug("AUTH",`API Key: ${s.maskKey(t)}`):s.debug("AUTH","No API key provided (local mode)");let u=await (0,h.mt)(),v=null;if(t&&(v=await (0,h.mY)(t)),u.requireApiKey){if(!t)return s.warn("AUTH","Missing API key (requireApiKey=true)"),(0,l.yj)(q.gx.UNAUTHORIZED,"Missing API key");if(!(v?!1!==v.isActive:await (0,f.kI)(t)))return s.warn("AUTH","Invalid API key (requireApiKey=true)"),(0,l.yj)(q.gx.UNAUTHORIZED,"Invalid API key")}if(!e)return s.warn("CHAT","Missing model"),(0,l.yj)(q.gx.BAD_REQUEST,"Missing model");if(v&&!(0,i.zx)(v,e))return s.warn("AUTH",`API key not allowed to use model: ${e}`),(0,l.yj)(q.gx.FORBIDDEN||403,`API key is not allowed to use model: ${e}`);let A=a?.headers?.get("user-agent")||"",B=(0,p.c)(c,e,A,!!u.ccFilterNaming);if(B)return B.response||B;let C=(0,o.HX)(u,e);if(C)return x({body:c,modelStr:e,virtualCombo:C,clientRawRequest:b,request:a,apiKey:t});let D=await (0,j.d_)(e);return D?w({body:c,modelStr:e,comboModels:D,settings:u,clientRawRequest:b,request:a,apiKey:t}):z(c,e,b,a,t)}async function z(a,b,c=null,d=null,e=null,g={}){let i=await (0,j.mA)(b);if(!i.provider){let f=await (0,h.mt)(),g=(0,o.HX)(f,b);if(g)return x({body:a,modelStr:b,virtualCombo:g,clientRawRequest:c,request:d,apiKey:e});let i=await (0,j.d_)(b);return i?w({body:a,modelStr:b,comboModels:i,settings:f,clientRawRequest:c,request:d,apiKey:e}):(s.warn("CHAT","Invalid model format",{model:b}),(0,l.yj)(q.gx.BAD_REQUEST,"Invalid model format"))}let{provider:m,model:n}=i;b!==`${m}/${n}`?s.info("ROUTING",`${b} -> ${m}/${n}`):s.info("ROUTING",`Provider: ${m}, Model: ${n}`);let p=d?.headers?.get("user-agent")||"",v=new Set,y=null,A=null;for(;;){let b=await (0,f.c1)(m,v,n,{body:a,headers:c?.headers||{},preferredConnectionId:g.preferredConnectionId||null});if(!b||b.allRateLimited){if(b?.allRateLimited){let a=y||b.lastError||"Unavailable",c=A||Number(b.lastErrorCode)||q.gx.SERVICE_UNAVAILABLE;return s.warn("CHAT",`[${m}/${n}] ${a} (${b.retryAfterHuman})`),(0,l.wO)(c,`[${m}/${n}] ${a}`,b.retryAfter,b.retryAfterHuman)}if(0===v.size)return s.warn("AUTH",`No active credentials for provider: ${m}`),(0,l.yj)(q.gx.NOT_FOUND,`No active credentials for provider: ${m}`);return s.warn("CHAT","No more accounts available",{provider:m}),(0,l.yj)(A||q.gx.SERVICE_UNAVAILABLE,y||"All accounts unavailable")}s.info("AUTH",`\x1b[32mUsing ${m} account: ${b.connectionName}\x1b[0m`);let i=await (0,t.eU)(m,b);if(("antigravity"===m||"gemini-cli"===m)&&!i.projectId){let a=await (0,u.eG)(b.connectionId,i.accessToken);a&&(i.projectId=a,(0,t.vN)(b.connectionId,{projectId:a}).catch(()=>{}))}let j=await (0,h.mt)(),o=(j.providerThinking||{})[m]||null,w=await (0,k.w)({body:{...a,model:`${m}/${n}`},modelInfo:{provider:m,model:n},credentials:i,log:s,clientRawRequest:c,connectionId:b.connectionId,userAgent:p,apiKey:e,ccFilterNaming:!!j.ccFilterNaming,rtkEnabled:!!j.rtkEnabled,cavemanEnabled:!!j.cavemanEnabled,cavemanLevel:j.cavemanLevel||"full",providerThinking:o,sourceFormatOverride:d?.url?(0,r.t)(new URL(d.url).pathname,a):null,onCredentialsRefreshed:async a=>{await (0,t.vN)(b.connectionId,{accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,f.Pt)(b.connectionId,b,n)}});if(w.success)return w.response;let{shouldFallback:x}=await (0,f.vk)(b.connectionId,w.status,w.error,m,n,w.resetsAtMs);if(x){s.warn("AUTH",`Account ${b.connectionName} unavailable (${w.status}), trying fallback`),v.add(b.connectionId),y=w.error,A=w.status;continue}return w.response}}[e,k]=v.then?(await v)():v,d()}catch(a){d(a)}})}};
1
+ "use strict";exports.id=9489,exports.ids=[9489],exports.modules={29069:(a,b,c)=>{c.d(b,{HX:()=>j,mH:()=>k});var d=c(11893);let e="ollama-local";function f(a){return String(a||"").trim()}function g(a){return Array.isArray(a)?[...new Set(a.map(a=>f(a)).filter(Boolean))]:"string"==typeof a?[...new Set(a.split(/[\n,;]+/).map(a=>f(a)).filter(Boolean))]:a&&"object"==typeof a?Object.entries(a).filter(([,a])=>!1!==a&&null!=a).map(([a,b])=>!0===b?f(a):`${f(a)}:${f(b)}`).filter(Boolean):[]}function h(a,b=0){if("string"==typeof a)return{pattern:f(a),priority:Math.max(1,100-5*b),enabled:!0};if(!a||"object"!=typeof a)return null;let c=f(a.pattern||a.model||a.name||a.id);return c?{pattern:c,priority:Number(a.priority||Math.max(1,100-5*b))||Math.max(1,100-5*b),enabled:!1!==a.enabled,notes:f(a.notes||"")}:null}function i(a){if(!a||"object"!=typeof a)return null;let b=f(a.name||a.id||a.exposedModel||a.model),c=f(a.exposedModel||a.model||a.name||a.id),d=!function(a={}){return f(a.type||a.comboType).toLowerCase()===e}(a)?f(a.type||"virtual"):e,i=(a.targets||a.endpoints||a.models||[]).map(b=>(function(a,b={}){if("string"==typeof a)return{model:f(a),label:f(a),tags:[]};if(!a||"object"!=typeof a)return null;let c=f(a.model||a.value||a.id||a.fullModel);return c?{...a,id:f(a.id)||f(a.connectionId)||c,model:c,label:f(a.label||a.name||a.displayName)||c,connectionId:f(a.connectionId||a.connection_id||a.accountId),provider:f(a.provider||b.provider),endpoint:f(a.endpoint||a.baseUrl||a.baseURL||a.url),tags:g(a.tags||a.labels||a.routingTags),maxInFlight:Number(a.maxInFlight||a.maxInFlightPerTarget||b.maxInFlight||0)||void 0}:null})(b,a)).filter(Boolean);return b&&c&&(d===e||0!==i.length)?{...a,name:b,id:f(a.id)||b,exposedModel:c,enabled:!1!==a.enabled,type:d,strategy:f(a.strategy||a.fallbackStrategy||"least-latency"),requiredTags:g(a.requiredTags||a.tags),modelTagRules:function(a){if(!a||"object"!=typeof a)return{};let b={};for(let[c,d]of Object.entries(a)){let a=f(c),e=g(d);a&&e.length&&(b[a]=e)}return b}(a.modelTagRules||a.requiredTagsByModel||a.tagRules),targets:i,localOllama:d===e?function(a={}){let b=a?.localOllama&&"object"==typeof a.localOllama?a.localOllama:a||{};return{modelPatterns:Array.isArray(b.modelPatterns||b.models||b.patterns)?(b.modelPatterns||b.models||b.patterns).map(h).filter(Boolean):[],allowedNodeIds:g(b.allowedNodeIds||b.allowedNodes||b.nodeIds),allowedPorts:Array.isArray(b.allowedPorts)?b.allowedPorts.map(Number).filter(Boolean):g(b.allowedPorts||b.ports).map(Number).filter(Boolean),preferLoaded:!1!==b.preferLoaded,allowWakeSleeping:!1!==b.allowWakeSleeping,requireGpu:!0===b.requireGpu,allowCpuFallback:!1!==b.allowCpuFallback,allowMultiGpuSplit:!0===b.allowMultiGpuSplit,maxWakeVramMb:Math.max(0,Number(b.maxWakeVramMb||0)||0),maxWakeRamMb:Math.max(0,Number(b.maxWakeRamMb||0)||0),fallbackCombo:f(b.fallbackCombo||""),selectionPolicy:f(b.selectionPolicy||"best-fit")||"best-fit"}}(a.localOllama||a):void 0}:null}function j(a={},b=""){let c=f(b);return c&&(function(a={}){let b=a.virtualCombos||[];return(Array.isArray(b)?b:Object.values(b||{})).map(i).filter(Boolean)})(a).find(a=>!1!==a.enabled&&(a.exposedModel===c||a.name===c))||null}async function k({body:a,combo:b,handleSingleTarget:c,log:g}){let h,j,l,m,n=f(a?.model||b?.exposedModel||b?.name),o=i(b);if(!o||o.type===e)return new Response(JSON.stringify({error:{message:"Invalid virtual combo"}}),{status:400,headers:{"Content-Type":"application/json"}});let p=(h=[...o.targets],j=o.modelTagRules||{},0===(h=(h=(0,d.OF)(h,n,j)).filter(a=>(function(a,b=[]){if(!b.length)return!0;let c=new Set((a.tags||[]).map(a=>String(a).toLowerCase()));return b.every(a=>c.has(String(a).toLowerCase()))})(a,o.requiredTags||[]))).length&&(h=[...o.targets]),l=h.map(a=>({...a,id:a.id||`${o.name}:${a.model}:${a.connectionId||"any"}`,connectionId:a.connectionId||"",provider:a.provider||"virtual-combo",providerLabel:o.name,label:a.label||a.model,model:n||o.exposedModel,upstreamModel:a.model,endpoint:a.endpoint||"",tags:a.tags||[],maxInFlight:a.maxInFlight})),(0,d.OI)(l),("p2c"===(m=String(o.strategy||"least-latency").toLowerCase())||"power-of-two"===m||"power_of_two"===m?(0,d.ZL)(l,{model:n,modelTagRules:j,includeSkippedAtEnd:!0}):"fallback"===m||"priority"===m?(0,d.Gc)(l,{model:n,modelTagRules:j,preserveOrder:!0,includeSkippedAtEnd:!0}):(0,d.Gc)(l,{model:n,modelTagRules:j,includeSkippedAtEnd:!0})).map(a=>({healthTarget:a,target:h.find(b=>a.upstreamModel===b.model&&(a.connectionId||"")===(b.connectionId||""))})).filter(a=>a.target)),q="All virtual combo targets unavailable",r=503;g?.info?.("VIRTUAL_COMBO",`Virtual combo "${o.name}" -> ${p.length} target(s), strategy=${o.strategy}`);for(let b=0;b<p.length;b+=1){let{target:e,healthTarget:f}=p[b],h=(0,d.kb)(f);if(h.skipped){g?.warn?.("VIRTUAL_COMBO",`Skip ${e.label||e.model}: ${h.reason}`);continue}let i=Date.now();try{let j={...a,model:e.model};g?.info?.("VIRTUAL_COMBO",`Trying ${b+1}/${p.length}: ${e.label||e.model}`);let k=await c(j,e),l=Date.now()-i;if(k?.ok)return(0,d.Fg)(f,l),h.end(),k;let m=k?.statusText||"request_failed";try{let a=await k.clone().json();m=a?.error?.message||a?.error||a?.message||m}catch{}r=k?.status||503,q="string"==typeof m?m:JSON.stringify(m),(0,d.h6)(f,{status:r,message:q}),g?.warn?.("VIRTUAL_COMBO",`${e.label||e.model} failed`,{status:r})}catch(a){r=500,q=a?.message||String(a),(0,d.h6)(f,a),g?.warn?.("VIRTUAL_COMBO",`${e.label||e.model} threw`,{error:q})}finally{h.end()}}return new Response(JSON.stringify({error:{message:q}}),{status:r||503,headers:{"Content-Type":"application/json"}})}},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);if(c.settings?.requireApiKey){if(c.missing)return{error:{message:"Missing API key",type:"authentication_error"},status:401};if(c.invalid)return{error:{message:"Invalid API key",type:"authentication_error"},status:401}}return c.keyRecord?{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)}:{data:b}}},38775:(a,b,c)=>{c.d(b,{d_:()=>h,mA:()=>g});var d=c(89718),e=c(40669);let f={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"};async function g(a){let b,c=(b=(0,e.Xh)(a),b?.providerAlias&&f[b.providerAlias]?{...b,provider:f[b.providerAlias]}:b);if(!c.isAlias){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===c.providerAlias);if(a)return{provider:a.id,model:c.model};let b=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===c.providerAlias);if(b)return{provider:b.id,model:c.model};let e=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===c.providerAlias);return e?{provider:e.id,model:c.model}:{provider:c.provider,model:c.model}}return await (0,d.Dj)(c.model)?{provider:null,model:c.model}:(0,e.js)(a,d.OM)}async function h(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},42318:(a,b,c)=>{function d(a={},b){let c=String(b||"").toLowerCase();for(let[b,d]of Object.entries(a||{}))if(String(b).toLowerCase()===c)return String((Array.isArray(d)?d[0]||"":d||"")||"");return""}function e({body:a,headers:b={},scope:c="global",fallbackToClientIp:f=!0}){if("client_ip"!==c&&"client_session"!==c)return null;let g=function(a={}){return String(d(a,"x-9r-client-ip")||d(a,"x-forwarded-for")||d(a,"x-real-ip")||d(a,"cf-connecting-ip")||"").split(",")[0].trim().replace(/^::ffff:/,"").replace(/^::1$/,"127.0.0.1")}(b),h=function(a={}){return d(a,"x-9r-source-tool")||d(a,"originator")||d(a,"copilot-integration-id")||""}(b),i="client_session"===c?String(function(a,b={}){return d(b,"x-client-session-id")||d(b,"session_id")||d(b,"session-id")||d(b,"x-session-id")||d(b,"x-interaction-id")||d(b,"conversation_id")||d(b,"conversation-id")||d(b,"x-conversation-id")||a?.conversationId||a?.conversation_id||a?.sessionId||a?.session_id||a?.metadata?.conversationId||a?.metadata?.conversation_id||a?.metadata?.sessionId||a?.metadata?.session_id||a?.conversationState?.conversationId||a?.conversationState?.sessionId||a?.conversationState?.currentConversationId||""}(a,b)||""):"";return"client_session"===c&&i?{key:[h||"tool",g||"unknown-ip",i].join("::"),label:i,scope:c,sourceTool:h,clientIp:g,sessionId:i}:"client_session"===c&&!1===f?null:g?{key:[h||"tool",g].join("::"),label:g,scope:"client_ip",sourceTool:h,clientIp:g,sessionId:""}:null}c.d(b,{lV:()=>e})},79489:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{P:()=>A});var e=c(48895),f=c(7793),g=c(71750),h=c(89718),i=c(33669),j=c(38775),k=c(92500),l=c(43659),m=c(18910),n=c(42318),o=c(29069),p=c(31807),q=c(27349),r=c(41004),s=c(14170),t=c(7803),u=c(67828),v=c(38160),w=a([e,k]);async function x({body:a,modelStr:b,comboModels:c,settings:d,clientRawRequest:e,request:f,apiKey:g}){let h,i={comboStrategy:(h=(d.comboStrategies||{})[b]||{}).fallbackStrategy||d.comboStrategy||"fallback",comboStickyLimit:h.stickyRoundRobinLimit||h.stickyLimit||d.comboStickyRoundRobinLimit||1,comboStickyScope:h.stickyScope||d.comboRoundRobinStickyScope||"global",comboStickyTtlMinutes:h.stickyTtlMinutes||d.comboRoundRobinStickyTtlMinutes||120,comboStickyFallbackToClientIp:void 0!==h.stickyFallbackToClientIp?h.stickyFallbackToClientIp:!1!==d.comboStickyFallbackToClientIp},j=(0,n.lV)({body:a,headers:e?.headers||{},scope:i.comboStickyScope,fallbackToClientIp:i.comboStickyFallbackToClientIp});return t.info("CHAT",`Combo "${b}" with ${c.length} models (strategy: ${i.comboStrategy}, stickyLimit: ${i.comboStickyLimit}, stickyScope: ${i.comboStickyScope})`),(0,m.Pr)({body:a,models:c,handleSingleModel:(a,b)=>B(a,b,e,f,g),log:t,comboName:b,comboStrategy:i.comboStrategy,comboStickyLimit:i.comboStickyLimit,comboStickyScope:i.comboStickyScope,comboStickyTtlMinutes:i.comboStickyTtlMinutes,comboStickyContext:j})}async function y({body:a,modelStr:b,virtualCombo:c,clientRawRequest:d,request:e,apiKey:f}){return(0,p.M9)(c)?z({body:a,modelStr:b,virtualCombo:c,clientRawRequest:d,request:e,apiKey:f}):(t.info("CHAT",`Virtual combo "${b}" matched ${c.targets?.length||0} target(s)`),(0,o.mH)({body:a,combo:c,log:t,handleSingleTarget:(a,b)=>B(a,b.model,d,e,f,{preferredConnectionId:b.connectionId||null})}))}async function z({body:a,modelStr:b,virtualCombo:c,clientRawRequest:d,request:e,apiKey:f}){return t.info("CHAT",`Ollama local combo "${b}" resolving local target`),(0,p.au)({body:a,combo:c,request:e,log:t,handleFallback:(a,b)=>B(a,b,d,e,f)})}async function A(a,b=null){let c;try{c=await a.json()}catch{return t.warn("CHAT","Invalid JSON body"),(0,l.yj)(r.gx.BAD_REQUEST,"Invalid JSON body")}b||(b={endpoint:new URL(a.url).pathname,body:c,headers:Object.fromEntries(a.headers.entries())}),(0,g.n)(b.headers);let d=new URL(a.url),e=c.model,k=c.messages?.length||c.input?.length||0,m=c.tools?.length||0,n=c.reasoning_effort||c.reasoning?.effort||null;t.request("POST",`${d.pathname} | ${e} | ${k} msgs${m?` | ${m} tools`:""}${n?` | effort=${n}`:""}`);let p=a.headers.get("Authorization"),s=(0,f.Tr)(a);p&&s?t.debug("AUTH",`API Key: ${t.maskKey(s)}`):t.debug("AUTH","No API key provided (local mode)");let u=await (0,h.mt)(),v=null;if(s&&(v=await (0,h.mY)(s)),u.requireApiKey){if(!s)return t.warn("AUTH","Missing API key (requireApiKey=true)"),(0,l.yj)(r.gx.UNAUTHORIZED,"Missing API key");if(!(v?!1!==v.isActive:await (0,f.kI)(s)))return t.warn("AUTH","Invalid API key (requireApiKey=true)"),(0,l.yj)(r.gx.UNAUTHORIZED,"Invalid API key")}if(!e)return t.warn("CHAT","Missing model"),(0,l.yj)(r.gx.BAD_REQUEST,"Missing model");if(v&&!(0,i.zx)(v,e))return t.warn("AUTH",`API key not allowed to use model: ${e}`),(0,l.yj)(r.gx.FORBIDDEN||403,`API key is not allowed to use model: ${e}`);let w=a?.headers?.get("user-agent")||"",z=(0,q.c)(c,e,w,!!u.ccFilterNaming);if(z)return z.response||z;let C=(0,o.HX)(u,e);if(C)return y({body:c,modelStr:e,virtualCombo:C,clientRawRequest:b,request:a,apiKey:s});let D=await (0,j.d_)(e);return D?x({body:c,modelStr:e,comboModels:D,settings:u,clientRawRequest:b,request:a,apiKey:s}):B(c,e,b,a,s)}async function B(a,b,c=null,d=null,e=null,g={}){let i=await (0,j.mA)(b);if(!i.provider){let f=await (0,h.mt)(),g=(0,o.HX)(f,b);if(g)return y({body:a,modelStr:b,virtualCombo:g,clientRawRequest:c,request:d,apiKey:e});let i=await (0,j.d_)(b);return i?x({body:a,modelStr:b,comboModels:i,settings:f,clientRawRequest:c,request:d,apiKey:e}):(t.warn("CHAT","Invalid model format",{model:b}),(0,l.yj)(r.gx.BAD_REQUEST,"Invalid model format"))}let{provider:m,model:n}=i;b!==`${m}/${n}`?t.info("ROUTING",`${b} -> ${m}/${n}`):t.info("ROUTING",`Provider: ${m}, Model: ${n}`);let p=d?.headers?.get("user-agent")||"",q=new Set,w=null,z=null;for(;;){let b=await (0,f.c1)(m,q,n,{body:a,headers:c?.headers||{},preferredConnectionId:g.preferredConnectionId||null});if(!b||b.allRateLimited){if(b?.allRateLimited){let a=w||b.lastError||"Unavailable",c=z||Number(b.lastErrorCode)||r.gx.SERVICE_UNAVAILABLE;return t.warn("CHAT",`[${m}/${n}] ${a} (${b.retryAfterHuman})`),(0,l.wO)(c,`[${m}/${n}] ${a}`,b.retryAfter,b.retryAfterHuman)}if(0===q.size)return t.warn("AUTH",`No active credentials for provider: ${m}`),(0,l.yj)(r.gx.NOT_FOUND,`No active credentials for provider: ${m}`);return t.warn("CHAT","No more accounts available",{provider:m}),(0,l.yj)(z||r.gx.SERVICE_UNAVAILABLE,w||"All accounts unavailable")}t.info("AUTH",`\x1b[32mUsing ${m} account: ${b.connectionName}\x1b[0m`);let i=await (0,u.eU)(m,b);if(("antigravity"===m||"gemini-cli"===m)&&!i.projectId){let a=await (0,v.eG)(b.connectionId,i.accessToken);a&&(i.projectId=a,(0,u.vN)(b.connectionId,{projectId:a}).catch(()=>{}))}let j=await (0,h.mt)(),o=(j.providerThinking||{})[m]||null,x=await (0,k.w)({body:{...a,model:`${m}/${n}`},modelInfo:{provider:m,model:n},credentials:i,log:t,clientRawRequest:c,connectionId:b.connectionId,userAgent:p,apiKey:e,ccFilterNaming:!!j.ccFilterNaming,rtkEnabled:!!j.rtkEnabled,cavemanEnabled:!!j.cavemanEnabled,cavemanLevel:j.cavemanLevel||"full",providerThinking:o,sourceFormatOverride:d?.url?(0,s.t)(new URL(d.url).pathname,a):null,onCredentialsRefreshed:async a=>{await (0,u.vN)(b.connectionId,{accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,f.Pt)(b.connectionId,b,n)}});if(x.success)return x.response;let{shouldFallback:y}=await (0,f.vk)(b.connectionId,x.status,x.error,m,n,x.resetsAtMs);if(y){t.warn("AUTH",`Account ${b.connectionName} unavailable (${x.status}), trying fallback`),q.add(b.connectionId),w=x.error,z=x.status;continue}return x.response}}[e,k]=w.then?(await w)():w,d()}catch(a){d(a)}})}};
@@ -21,6 +21,7 @@
21
21
  "/api/ollama-routing-targets": {},
22
22
  "/api/v1/audio/transcriptions": {
23
23
  "maxDuration": 300
24
- }
24
+ },
25
+ "/api/virtual-combos/preview": {}
25
26
  }
26
27
  }
@@ -1 +1 @@
1
- globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/HnTGcqSHEUKReNqlg_AiU/_buildManifest.js","static/HnTGcqSHEUKReNqlg_AiU/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-a990cabb6976f421.js","static/chunks/4bd1b696-e356ca5ba0218e27.js","static/chunks/3794-ba2500baa4c52d55.js","static/chunks/main-app-0a27584eea53a4b0.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
1
+ globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/Dcv7pgEOWAPLtjKtQZeS0/_buildManifest.js","static/Dcv7pgEOWAPLtjKtQZeS0/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-a990cabb6976f421.js","static/chunks/4bd1b696-e356ca5ba0218e27.js","static/chunks/3794-ba2500baa4c52d55.js","static/chunks/main-app-0a27584eea53a4b0.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/0f03023a765dc337.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/7c50b64c9b7c7390.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a990cabb6976f421.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-ba2500baa4c52d55.js" async=""></script><script src="/_next/static/chunks/main-app-0a27584eea53a4b0.js" async=""></script><script src="/_next/static/chunks/1a258343-5938f676ed376386.js" async=""></script><script src="/_next/static/chunks/1051-080896ceff7ba88d.js" async=""></script><script src="/_next/static/chunks/1321-333a720ed3de9e5e.js" async=""></script><script src="/_next/static/chunks/5497-1047d219f0698864.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-3a946e00857971ef.js" async=""></script><script src="/_next/static/chunks/app/layout-39f1f36912db26e1.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><meta name="theme-color" content="#0a0a0a"/><title>Blue Router Gateway - AI Infrastructure Management</title><meta name="description" content="One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?d69b7278ea27dcf7" type="image/x-icon" sizes="32x32"/><link rel="icon" href="/favicon.svg"/><script>if(document.fonts&&document.fonts.ready){document.fonts.ready.then(function(){document.documentElement.classList.add('fonts-loaded')})}else{document.documentElement.classList.add('fonts-loaded')}</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_f367f3 font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-a990cabb6976f421.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[21110,[\"3862\",\"static/chunks/1a258343-5938f676ed376386.js\",\"1051\",\"static/chunks/1051-080896ceff7ba88d.js\",\"1321\",\"static/chunks/1321-333a720ed3de9e5e.js\",\"5497\",\"static/chunks/5497-1047d219f0698864.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-3a946e00857971ef.js\"],\"ThemeProvider\"]\n3:I[94635,[\"1321\",\"static/chunks/1321-333a720ed3de9e5e.js\",\"7177\",\"static/chunks/app/layout-39f1f36912db26e1.js\"],\"RuntimeI18nProvider\"]\n4:I[57121,[],\"\"]\n5:I[74581,[],\"\"]\n6:I[90484,[],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\na:I[90484,[],\"ViewportBoundary\"]\nc:I[90484,[],\"MetadataBoundary\"]\ne:I[27123,[],\"default\",1]\n:HL[\"/_next/static/css/0f03023a765dc337.css\",\"style\"]\n:HL[\"/_next/static/css/7c50b64c9b7c7390.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/0f03023a765dc337.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/7c50b64c9b7c7390.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"if(document.fonts\u0026\u0026document.fonts.ready){document.fonts.ready.then(function(){document.documentElement.classList.add('fonts-loaded')})}else{document.documentElement.classList.add('fonts-loaded')}\"}}]}],[\"$\",\"body\",null,{\"className\":\"__variable_f367f3 font-sans antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,null]},null,false,\"$@9\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Ld\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"HnTGcqSHEUKReNqlg_AiU\"}\n"])</script><script>self.__next_f.push([1,"f:[]\n9:\"$Wf\"\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0a0a0a\"}]]\n"])</script><script>self.__next_f.push([1,"10:I[86869,[],\"IconMark\"]\n8:null\nd:[[\"$\",\"title\",\"0\",{\"children\":\"Blue Router Gateway - AI Infrastructure Management\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?d69b7278ea27dcf7\",\"type\":\"image/x-icon\",\"sizes\":\"32x32\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"$L10\",\"5\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/0f03023a765dc337.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/11e167ecf7b4e500.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a990cabb6976f421.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-ba2500baa4c52d55.js" async=""></script><script src="/_next/static/chunks/main-app-0a27584eea53a4b0.js" async=""></script><script src="/_next/static/chunks/1a258343-5938f676ed376386.js" async=""></script><script src="/_next/static/chunks/1051-080896ceff7ba88d.js" async=""></script><script src="/_next/static/chunks/1321-5236ba2c1f690e42.js" async=""></script><script src="/_next/static/chunks/5497-1047d219f0698864.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-3a946e00857971ef.js" async=""></script><script src="/_next/static/chunks/app/layout-39f1f36912db26e1.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><meta name="theme-color" content="#0a0a0a"/><title>Blue Router Gateway - AI Infrastructure Management</title><meta name="description" content="One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?d69b7278ea27dcf7" type="image/x-icon" sizes="32x32"/><link rel="icon" href="/favicon.svg"/><script>if(document.fonts&&document.fonts.ready){document.fonts.ready.then(function(){document.documentElement.classList.add('fonts-loaded')})}else{document.documentElement.classList.add('fonts-loaded')}</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_f367f3 font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-a990cabb6976f421.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[21110,[\"3862\",\"static/chunks/1a258343-5938f676ed376386.js\",\"1051\",\"static/chunks/1051-080896ceff7ba88d.js\",\"1321\",\"static/chunks/1321-5236ba2c1f690e42.js\",\"5497\",\"static/chunks/5497-1047d219f0698864.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-3a946e00857971ef.js\"],\"ThemeProvider\"]\n3:I[94635,[\"1321\",\"static/chunks/1321-5236ba2c1f690e42.js\",\"7177\",\"static/chunks/app/layout-39f1f36912db26e1.js\"],\"RuntimeI18nProvider\"]\n4:I[57121,[],\"\"]\n5:I[74581,[],\"\"]\n6:I[90484,[],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\na:I[90484,[],\"ViewportBoundary\"]\nc:I[90484,[],\"MetadataBoundary\"]\ne:I[27123,[],\"default\",1]\n:HL[\"/_next/static/css/0f03023a765dc337.css\",\"style\"]\n:HL[\"/_next/static/css/11e167ecf7b4e500.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/0f03023a765dc337.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/11e167ecf7b4e500.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"if(document.fonts\u0026\u0026document.fonts.ready){document.fonts.ready.then(function(){document.documentElement.classList.add('fonts-loaded')})}else{document.documentElement.classList.add('fonts-loaded')}\"}}]}],[\"$\",\"body\",null,{\"className\":\"__variable_f367f3 font-sans antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,null]},null,false,\"$@9\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Ld\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"Dcv7pgEOWAPLtjKtQZeS0\"}\n"])</script><script>self.__next_f.push([1,"f:[]\n9:\"$Wf\"\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0a0a0a\"}]]\n"])</script><script>self.__next_f.push([1,"10:I[86869,[],\"IconMark\"]\n8:null\nd:[[\"$\",\"title\",\"0\",{\"children\":\"Blue Router Gateway - AI Infrastructure Management\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?d69b7278ea27dcf7\",\"type\":\"image/x-icon\",\"sizes\":\"32x32\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"$L10\",\"5\",{}]]\n"])</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a990cabb6976f421.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-ba2500baa4c52d55.js" async=""></script><script src="/_next/static/chunks/main-app-0a27584eea53a4b0.js" async=""></script><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-a990cabb6976f421.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:I[74581,[],\"\"]\n4:I[90484,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[90484,[],\"ViewportBoundary\"]\na:I[90484,[],\"MetadataBoundary\"]\nc:I[27123,[],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_global-error\",{\"children\":[\"__PAGE__\",{}]}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"HnTGcqSHEUKReNqlg_AiU\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[]\n"])</script></body></html>
1
+ <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a990cabb6976f421.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-ba2500baa4c52d55.js" async=""></script><script src="/_next/static/chunks/main-app-0a27584eea53a4b0.js" async=""></script><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-a990cabb6976f421.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:I[74581,[],\"\"]\n4:I[90484,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[90484,[],\"ViewportBoundary\"]\na:I[90484,[],\"MetadataBoundary\"]\nc:I[27123,[],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_global-error\",{\"children\":[\"__PAGE__\",{}]}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"Dcv7pgEOWAPLtjKtQZeS0\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[]\n"])</script></body></html>
@@ -0,0 +1 @@
1
+ self.__BUILD_MANIFEST=function(e,s,t){return{__rewrites:{afterFiles:[{has:e,source:"/v1/v1/:path*",destination:s},{has:e,source:"/v1/v1",destination:t},{has:e,source:"/codex/:path*",destination:"/api/v1/responses"},{has:e,source:"/v1/:path*",destination:s},{has:e,source:"/v1",destination:t}],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:152,errorRate:1e-4,numBits:2914,numHashes:14,bitArray:[1,1,1,1,0,0,0,1,0,1,1,0,1,1,1,1,1,0,1,1,0,0,1,0,0,0,1,0,1,0,1,1,1,1,0,0,1,1,1,0,1,0,0,0,0,1,0,0,0,1,0,0,1,1,0,1,1,0,1,1,0,0,0,0,0,0,0,1,1,1,0,1,0,0,1,1,1,1,0,0,1,0,0,0,0,0,1,0,1,1,1,0,1,0,1,1,1,1,1,0,0,0,0,1,0,0,0,1,1,0,1,1,1,0,0,1,1,1,0,0,1,0,1,1,1,0,0,0,1,0,0,1,1,1,1,1,1,0,0,1,0,1,1,0,1,0,0,0,1,0,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,1,0,0,1,0,0,1,1,1,0,0,1,1,1,0,0,1,1,0,1,1,0,0,0,1,0,1,1,1,1,0,0,1,0,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,1,0,1,0,1,0,1,1,0,0,1,0,0,1,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0,0,1,1,0,1,1,0,0,0,0,1,1,0,1,0,1,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,0,1,1,0,0,0,1,1,1,0,0,1,0,1,0,1,0,0,1,1,0,1,1,1,1,1,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,0,1,0,0,0,1,0,1,1,0,0,1,1,1,1,0,1,1,1,0,1,0,0,0,1,0,1,1,1,1,0,0,0,1,1,1,0,1,1,1,0,0,0,1,0,1,0,0,1,1,1,1,1,0,0,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1,0,0,0,1,1,0,0,0,1,0,1,1,1,1,0,1,0,1,1,1,0,0,1,0,1,0,1,0,0,1,1,0,0,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,1,1,1,0,1,1,0,0,1,0,1,0,1,1,1,0,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,0,1,0,1,0,1,1,1,1,0,1,1,0,1,0,0,0,1,1,0,0,1,0,1,1,0,0,0,0,1,1,1,0,1,0,1,0,0,1,1,0,0,0,1,1,1,1,0,0,1,1,0,1,0,0,1,1,1,0,0,0,1,0,1,1,1,1,1,0,0,1,0,0,1,0,1,1,1,0,0,1,1,0,1,0,1,1,0,1,0,0,1,1,1,0,1,0,1,1,0,1,1,0,1,0,1,0,0,1,1,1,0,1,1,1,1,0,1,0,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,0,1,0,0,0,1,1,1,1,0,0,1,0,0,1,1,1,0,0,1,0,1,0,0,0,1,1,1,1,1,1,1,1,0,1,0,0,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,0,1,0,0,1,0,0,1,1,1,1,1,1,0,0,1,0,0,0,0,0,1,1,0,0,1,1,1,1,1,0,1,1,0,1,0,1,1,1,1,0,1,1,0,1,1,1,0,1,1,1,1,0,0,0,0,0,1,0,1,0,1,1,1,1,0,1,1,0,0,0,1,1,0,0,1,1,0,1,0,0,1,0,1,0,1,0,1,0,1,1,0,0,1,1,0,1,0,1,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,1,0,1,0,0,1,1,0,1,1,1,0,0,0,0,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,0,0,1,0,1,1,1,1,1,0,1,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,1,1,1,1,0,0,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,1,1,0,1,0,1,1,1,0,1,1,0,1,0,1,1,1,0,1,0,0,0,1,1,0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,0,0,1,0,1,1,0,0,1,1,1,1,0,1,1,0,1,1,1,0,1,0,1,0,0,1,0,1,0,0,1,1,1,0,1,1,0,0,0,1,0,1,1,1,0,1,0,0,0,1,0,1,1,0,1,0,1,0,1,1,0,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,0,0,1,1,0,0,0,0,0,1,1,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,1,1,1,0,1,0,1,1,1,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,1,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,1,0,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,0,1,1,0,0,1,1,1,1,1,0,0,1,0,1,0,1,0,0,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,1,1,0,1,0,1,0,0,0,1,1,0,1,1,1,0,1,1,0,1,1,1,0,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,0,1,1,1,1,0,1,0,0,1,0,0,1,0,0,0,1,1,0,1,1,1,1,0,0,1,0,1,0,0,0,1,1,0,0,1,1,0,1,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,0,1,0,0,0,1,0,1,1,1,0,1,0,1,0,0,1,0,1,0,1,1,1,0,1,1,0,1,1,0,1,0,1,0,1,1,1,1,1,1,1,1,0,1,1,0,0,0,1,0,0,1,0,1,1,1,1,0,0,1,1,1,0,0,0,0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,1,1,0,0,0,0,0,1,0,1,0,0,0,1,1,1,0,0,0,1,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,1,0,1,1,0,0,1,1,0,0,1,1,0,1,0,0,1,1,1,0,0,0,0,1,1,1,0,1,1,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,1,1,1,0,1,0,0,0,0,1,1,1,0,1,1,1,0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,1,1,0,0,0,1,1,1,0,0,1,1,1,1,1,0,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,1,0,0,0,0,1,0,1,0,0,0,0,1,1,0,1,1,1,0,0,1,0,0,0,0,1,1,1,1,1,1,1,0,1,0,1,0,1,0,0,1,1,1,0,1,1,1,1,1,0,0,0,0,1,0,0,0,1,0,0,1,1,1,0,0,1,1,0,1,1,0,1,0,1,0,1,0,1,0,0,0,1,1,1,0,0,0,0,1,0,0,0,1,0,1,1,0,0,1,0,1,1,1,1,1,1,0,1,0,1,1,1,0,0,1,0,1,1,1,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,0,1,0,0,1,1,0,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,1,0,1,1,0,1,1,0,1,0,0,1,0,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,1,1,0,1,0,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,1,0,1,0,0,1,1,0,1,1,1,1,0,1,0,0,0,1,0,1,1,0,1,1,1,0,1,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,0,1,0,1,1,0,0,0,1,1,1,0,1,1,1,1,0,1,0,1,0,1,1,0,1,1,1,1,1,0,0,0,0,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1,1,0,1,0,0,1,1,0,0,0,1,1,0,1,0,0,0,1,1,0,1,1,0,1,1,0,0,0,1,0,0,0,0,1,0,1,1,0,0,0,0,1,0,1,1,0,0,1,0,0,0,1,0,1,1,1,0,0,0,0,1,1,1,0,0,1,1,0,1,0,1,1,0,0,0,0,0,1,1,0,1,1,1,0,0,0,0,0,1,0,1,1,1,1,0,1,1,1,0,0,0,1,0,0,0,1,0,1,1,0,1,1,0,0,0,1,1,1,0,0,0,1,1,0,0,1,1,0,1,0,0,1,1,0,1,1,1,0,1,1,0,0,0,0,0,1,0,0,0,1,0,1,1,0,1,0,1,0,0,1,0,1,1,0,0,0,1,1,1,1,0,1,1,1,1,1,1,1,0,0,0,1,0,0,0,1,0,1,0,1,0,1,1,1,0,0,0,0,1,0,0,1,0,1,1,0,0,0,0,1,0,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,1,1,0,0,0,1,0,1,0,1,0,1,1,1,0,1,0,1,0,1,0,1,0,1,0,1,1,1,0,0,1,1,1,0,1,0,1,1,0,0,1,0,0,0,1,0,0,1,1,0,1,1,1,1,1,0,0,1,1,0,0,1,0,1,0,0,0,1,1,1,1,1,0,1,0,0,1,0,1,0,1,1,0,0,1,1,1,1,0,0,0,1,0,0,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,0,1,0,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,1,1,0,0,1,0,1,1,1,0,0,1,0,1,1,1,0,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,1,0,1,1,1,0,0,0,1,0,0,0,1,1,1,1,0,0,1,0,1,1,1,0,0,1,0,1,0,1,0,1,1,0,1,0,1,1,1,1,1,1,1,0,0,0,1,0,1,1,1,1,1,1,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,1,1,0,0,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,1,0,1,0,1,0,0,1,0,0,1,0,1,0,0,1,0,1,1,1,0,0,0,0,0,1,1,0,0,1,1,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,1,0,1,1,0,1,1,0,1,0,1,0,1,0,0,0,1,1,0,1,1,0,0,0,1,1,1,0,0,0,1,0,0,0,1,1,1,0,1,1,1,1,1,1,1,0,0,1,1,0,1,0,1,0,0,1,1,0,1,1,0,1,0,1,1,1,1,0,0,0,1,1,1,0,1,1,1,1,1,1,0,1,1,0,1,0,0,0,0,1,0,1,0,1,1,1,1,0,0,0,1,1,0,1,1,0,1,1,1,0,1,1,1,1,0,0,0,0,1,0,0,1,0,1,1,1,0,0,0,1,1,0,0,0,1,0,0,0,0,1,1,0,0,1,0,1,0,1,0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,1,1,1,0,1,0,1,0,1,0,1,0,1,1,1,1,0,0,0,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,1,0,0,1,1,0,1,0,0,1,0,1,0,1,1,0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,1,0,1,1,1,1,0,1,1,0,0,1,0,1,1,1,0,1,1,1,0,0,1,1,1,1,1,0,1,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,1,0,1,1,0,1,0,0,0,0,1,0,1,0,0,0,1,1,0,0,0,0,1,1,1,0,0,1,1,1,1,0,0,0,0,1,1,0,1,0,1,1,1,1,1,0,0,0,1,0,1,1,0,0,0,1,0,1,1,0,0,1,0,1,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,1,1,1,1,0,1,1,1,0,1,1,0,1,0,1,0,0,1,1,1,0,1,0,1,1,0,0,1,1,0]},__routerFilterDynamic:{numItems:17,errorRate:1e-4,numBits:326,numHashes:14,bitArray:[1,1,0,1,1,1,0,0,1,1,1,1,1,0,1,1,1,0,0,1,1,0,0,1,1,1,0,0,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,1,0,0,1,0,1,0,0,0,0,1,0,1,1,1,0,1,1,0,1,0,0,1,0,1,1,1,0,1,0,1,1,1,0,0,1,0,1,1,0,0,1,0,0,1,0,0,1,1,0,0,0,1,0,1,1,0,0,1,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,0,0,1,0,1,0,0,1,0,0,1,0,1,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,1,1,0,0,1,0,0,0,1,0,0,0,1,1,1,0,1,0,1,1,0,1,1,0,1,1,1,0,1,0,0,1,0,0,1,0,0,0,1,1,1,1,1,0,0,1,1,0,1,0,1,0,0,1,1,0,1,0,1,0,1,0,1,0,1,0,0,1,1,1,0,0,1,1,1,0,1,0,1,0,1,0,0,1,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,0,1,1,0,1,0,1,1,0,1,1,1,0,1,0,1,1,0,1,1,1,0,0,1,0,1,0,0,1,0,0,1,0,1,1]},sortedPages:["/_app"]}}(void 0,"/api/v1/:path*","/api/v1"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();