@jheavenknows/bluerouter 1.0.53 → 1.0.54

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 (893) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +5 -5
  3. package/app/.next-cli-build/build-manifest.json +3 -3
  4. package/app/.next-cli-build/prerender-manifest.json +3 -3
  5. package/app/.next-cli-build/required-server-files.json +4 -4
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +3 -3
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +3 -3
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/ollama-nodes/page.js +2 -2
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/ollama-nodes/page.js.nft.json +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/ollama-nodes/page_client-reference-manifest.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page.js +2 -2
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page.js.nft.json +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page_client-reference-manifest.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page.js +2 -2
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page.js.nft.json +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page_client-reference-manifest.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +3 -3
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  78. package/app/.next-cli-build/server/app/(dashboard)/dashboard/virtual-combos/page.js +2 -2
  79. package/app/.next-cli-build/server/app/(dashboard)/dashboard/virtual-combos/page.js.nft.json +1 -1
  80. package/app/.next-cli-build/server/app/(dashboard)/dashboard/virtual-combos/page_client-reference-manifest.js +1 -1
  81. package/app/.next-cli-build/server/app/_global-error/page.js +3 -3
  82. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  83. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  84. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  85. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  86. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  87. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  88. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  89. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  90. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  91. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  92. package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  93. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  94. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  95. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  96. package/app/.next-cli-build/server/app/_not-found.rsc +4 -4
  97. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
  98. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  99. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +4 -4
  100. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  101. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  102. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  103. package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js +1 -1
  104. package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js.nft.json +1 -1
  105. package/app/.next-cli-build/server/app/api/auth/ldap/test/route_client-reference-manifest.js +1 -1
  106. package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js +1 -1
  107. package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js.nft.json +1 -1
  108. package/app/.next-cli-build/server/app/api/auth/ldap/users/route_client-reference-manifest.js +1 -1
  109. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  110. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  111. package/app/.next-cli-build/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  112. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  113. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  115. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  116. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route_client-reference-manifest.js +1 -1
  118. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  119. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/auth/oidc/start/route_client-reference-manifest.js +1 -1
  121. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  122. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/auth/oidc/test/route_client-reference-manifest.js +1 -1
  124. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  125. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
  128. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route_client-reference-manifest.js +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  131. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
  133. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route.js +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route_client-reference-manifest.js +1 -1
  136. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route.js +1 -1
  137. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route_client-reference-manifest.js +1 -1
  139. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route.js +2 -2
  140. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route_client-reference-manifest.js +1 -1
  142. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
  145. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  146. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  148. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  149. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
  151. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  152. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  154. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  155. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route_client-reference-manifest.js +1 -1
  157. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  158. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route_client-reference-manifest.js +1 -1
  160. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  161. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route_client-reference-manifest.js +1 -1
  163. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
  164. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route_client-reference-manifest.js +1 -1
  166. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  167. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route_client-reference-manifest.js +1 -1
  169. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  170. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
  172. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  173. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route_client-reference-manifest.js +1 -1
  175. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  176. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route_client-reference-manifest.js +1 -1
  178. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  179. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
  181. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  182. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  184. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  185. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route_client-reference-manifest.js +1 -1
  187. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  188. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  190. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  191. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/combos/route_client-reference-manifest.js +1 -1
  193. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js +2 -2
  194. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route_client-reference-manifest.js +1 -1
  196. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js +2 -2
  197. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route_client-reference-manifest.js +1 -1
  199. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  200. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/health/route_client-reference-manifest.js +1 -1
  202. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  203. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/init/route_client-reference-manifest.js +1 -1
  205. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  206. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  208. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  209. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/keys/route_client-reference-manifest.js +1 -1
  211. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  212. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/locale/route_client-reference-manifest.js +1 -1
  214. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
  215. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route_client-reference-manifest.js +1 -1
  217. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +5 -5
  218. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route_client-reference-manifest.js +1 -1
  220. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  221. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route_client-reference-manifest.js +1 -1
  223. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  224. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  225. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route_client-reference-manifest.js +1 -1
  226. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route_client-reference-manifest.js +1 -1
  229. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  230. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route_client-reference-manifest.js +1 -1
  232. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  233. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route_client-reference-manifest.js +1 -1
  235. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  236. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  238. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  239. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
  241. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  242. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/models/custom/route_client-reference-manifest.js +1 -1
  244. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  245. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/models/disabled/route_client-reference-manifest.js +1 -1
  247. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  248. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/models/route_client-reference-manifest.js +1 -1
  250. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  251. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/models/test/route_client-reference-manifest.js +1 -1
  253. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  254. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  256. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  257. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route_client-reference-manifest.js +1 -1
  259. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  260. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  262. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  263. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  264. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  265. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  266. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  267. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route_client-reference-manifest.js +1 -1
  268. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  269. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  270. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route_client-reference-manifest.js +1 -1
  271. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  272. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  274. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  275. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  276. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  277. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  278. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  279. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  280. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  281. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  282. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  283. package/app/.next-cli-build/server/app/api/ollama-model-memory/route.js +1 -1
  284. package/app/.next-cli-build/server/app/api/ollama-model-memory/route.js.nft.json +1 -1
  285. package/app/.next-cli-build/server/app/api/ollama-model-memory/route_client-reference-manifest.js +1 -1
  286. package/app/.next-cli-build/server/app/api/ollama-nodes/[id]/install/route.js +147 -16
  287. package/app/.next-cli-build/server/app/api/ollama-nodes/[id]/install/route.js.nft.json +1 -1
  288. package/app/.next-cli-build/server/app/api/ollama-nodes/[id]/install/route_client-reference-manifest.js +1 -1
  289. package/app/.next-cli-build/server/app/api/ollama-nodes/[id]/reservations/route.js +1 -1
  290. package/app/.next-cli-build/server/app/api/ollama-nodes/[id]/reservations/route.js.nft.json +1 -1
  291. package/app/.next-cli-build/server/app/api/ollama-nodes/[id]/reservations/route_client-reference-manifest.js +1 -1
  292. package/app/.next-cli-build/server/app/api/ollama-nodes/[id]/route.js +1 -1
  293. package/app/.next-cli-build/server/app/api/ollama-nodes/[id]/route.js.nft.json +1 -1
  294. package/app/.next-cli-build/server/app/api/ollama-nodes/[id]/route_client-reference-manifest.js +1 -1
  295. package/app/.next-cli-build/server/app/api/ollama-nodes/[id]/status/route.js +1 -1
  296. package/app/.next-cli-build/server/app/api/ollama-nodes/[id]/status/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/ollama-nodes/[id]/status/route_client-reference-manifest.js +1 -1
  298. package/app/.next-cli-build/server/app/api/ollama-nodes/route.js +1 -1
  299. package/app/.next-cli-build/server/app/api/ollama-nodes/route.js.nft.json +1 -1
  300. package/app/.next-cli-build/server/app/api/ollama-nodes/route_client-reference-manifest.js +1 -1
  301. package/app/.next-cli-build/server/app/api/ollama-routing-targets/route.js +1 -1
  302. package/app/.next-cli-build/server/app/api/ollama-routing-targets/route.js.nft.json +1 -1
  303. package/app/.next-cli-build/server/app/api/ollama-routing-targets/route_client-reference-manifest.js +1 -1
  304. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  305. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  306. package/app/.next-cli-build/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  307. package/app/.next-cli-build/server/app/api/provider-health/route.js +1 -1
  308. package/app/.next-cli-build/server/app/api/provider-health/route.js.nft.json +1 -1
  309. package/app/.next-cli-build/server/app/api/provider-health/route_client-reference-manifest.js +1 -1
  310. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  311. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  312. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  313. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  314. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  315. package/app/.next-cli-build/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  316. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  317. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  318. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  319. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  320. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  321. package/app/.next-cli-build/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  322. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  323. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  324. package/app/.next-cli-build/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  325. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  326. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  327. package/app/.next-cli-build/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  328. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  329. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  330. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route_client-reference-manifest.js +1 -1
  331. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  332. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  333. package/app/.next-cli-build/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  334. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  335. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  336. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route_client-reference-manifest.js +1 -1
  337. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  338. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  339. package/app/.next-cli-build/server/app/api/providers/route_client-reference-manifest.js +1 -1
  340. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  341. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  342. package/app/.next-cli-build/server/app/api/providers/suggested-models/route_client-reference-manifest.js +1 -1
  343. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  344. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  345. package/app/.next-cli-build/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  346. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  347. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  348. package/app/.next-cli-build/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  349. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  350. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  351. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route_client-reference-manifest.js +1 -1
  352. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  353. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  354. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route_client-reference-manifest.js +1 -1
  355. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  356. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  357. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route_client-reference-manifest.js +1 -1
  358. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  359. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  360. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route_client-reference-manifest.js +1 -1
  361. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  362. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  363. package/app/.next-cli-build/server/app/api/proxy-pools/route_client-reference-manifest.js +1 -1
  364. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  365. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  366. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route_client-reference-manifest.js +1 -1
  367. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  368. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  369. package/app/.next-cli-build/server/app/api/settings/database/route_client-reference-manifest.js +1 -1
  370. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  371. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  372. package/app/.next-cli-build/server/app/api/settings/proxy-test/route_client-reference-manifest.js +1 -1
  373. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  374. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  375. package/app/.next-cli-build/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  376. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  377. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  378. package/app/.next-cli-build/server/app/api/settings/route_client-reference-manifest.js +1 -1
  379. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  380. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  381. package/app/.next-cli-build/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  382. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  383. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  384. package/app/.next-cli-build/server/app/api/tags/route_client-reference-manifest.js +1 -1
  385. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  386. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  387. package/app/.next-cli-build/server/app/api/translator/console-logs/route_client-reference-manifest.js +1 -1
  388. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  389. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  390. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route_client-reference-manifest.js +1 -1
  391. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  392. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  393. package/app/.next-cli-build/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  394. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  395. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  396. package/app/.next-cli-build/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  397. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  398. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  399. package/app/.next-cli-build/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  400. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  401. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  402. package/app/.next-cli-build/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  403. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  404. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  405. package/app/.next-cli-build/server/app/api/tunnel/disable/route_client-reference-manifest.js +1 -1
  406. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  407. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  408. package/app/.next-cli-build/server/app/api/tunnel/enable/route_client-reference-manifest.js +1 -1
  409. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  410. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  411. package/app/.next-cli-build/server/app/api/tunnel/status/route_client-reference-manifest.js +1 -1
  412. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  413. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  414. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route_client-reference-manifest.js +1 -1
  415. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  416. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  417. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route_client-reference-manifest.js +1 -1
  418. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  419. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  420. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route_client-reference-manifest.js +1 -1
  421. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  422. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  423. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route_client-reference-manifest.js +1 -1
  424. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js +1 -1
  425. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js.nft.json +1 -1
  426. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route_client-reference-manifest.js +1 -1
  427. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js +2 -2
  428. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js.nft.json +1 -1
  429. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route_client-reference-manifest.js +1 -1
  430. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  431. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  432. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  433. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  434. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  435. package/app/.next-cli-build/server/app/api/usage/chart/route_client-reference-manifest.js +1 -1
  436. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  437. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  438. package/app/.next-cli-build/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  439. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  440. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  441. package/app/.next-cli-build/server/app/api/usage/providers/route_client-reference-manifest.js +1 -1
  442. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  443. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  444. package/app/.next-cli-build/server/app/api/usage/request-details/route_client-reference-manifest.js +1 -1
  445. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  446. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  447. package/app/.next-cli-build/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  448. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  449. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  450. package/app/.next-cli-build/server/app/api/usage/stats/route_client-reference-manifest.js +1 -1
  451. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  452. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  453. package/app/.next-cli-build/server/app/api/usage/stream/route_client-reference-manifest.js +1 -1
  454. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  455. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  456. package/app/.next-cli-build/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  457. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  458. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  459. package/app/.next-cli-build/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
  460. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  461. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  462. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
  463. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  464. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  465. package/app/.next-cli-build/server/app/api/v1/audio/voices/route_client-reference-manifest.js +1 -1
  466. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  467. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  468. package/app/.next-cli-build/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  469. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  470. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  471. package/app/.next-cli-build/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  472. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  473. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  474. package/app/.next-cli-build/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
  475. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  476. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  477. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  478. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  479. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  480. package/app/.next-cli-build/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  481. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  482. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  483. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route_client-reference-manifest.js +1 -1
  484. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  485. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  486. package/app/.next-cli-build/server/app/api/v1/models/info/route_client-reference-manifest.js +1 -1
  487. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  488. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  489. package/app/.next-cli-build/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  490. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  491. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  492. package/app/.next-cli-build/server/app/api/v1/responses/compact/route_client-reference-manifest.js +1 -1
  493. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  494. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  495. package/app/.next-cli-build/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  496. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  497. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  498. package/app/.next-cli-build/server/app/api/v1/route_client-reference-manifest.js +1 -1
  499. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  500. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  501. package/app/.next-cli-build/server/app/api/v1/search/route_client-reference-manifest.js +1 -1
  502. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  503. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  504. package/app/.next-cli-build/server/app/api/v1/web/fetch/route_client-reference-manifest.js +1 -1
  505. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  506. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  507. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  508. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  509. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  510. package/app/.next-cli-build/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  511. package/app/.next-cli-build/server/app/api/version/restart/route.js +1 -1
  512. package/app/.next-cli-build/server/app/api/version/restart/route.js.nft.json +1 -1
  513. package/app/.next-cli-build/server/app/api/version/restart/route_client-reference-manifest.js +1 -1
  514. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  515. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  516. package/app/.next-cli-build/server/app/api/version/route_client-reference-manifest.js +1 -1
  517. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  518. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  519. package/app/.next-cli-build/server/app/api/version/shutdown/route_client-reference-manifest.js +1 -1
  520. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  521. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  522. package/app/.next-cli-build/server/app/api/version/update/route_client-reference-manifest.js +1 -1
  523. package/app/.next-cli-build/server/app/api/virtual-combos/[id]/route.js +1 -1
  524. package/app/.next-cli-build/server/app/api/virtual-combos/[id]/route.js.nft.json +1 -1
  525. package/app/.next-cli-build/server/app/api/virtual-combos/[id]/route_client-reference-manifest.js +1 -1
  526. package/app/.next-cli-build/server/app/api/virtual-combos/route.js +1 -1
  527. package/app/.next-cli-build/server/app/api/virtual-combos/route.js.nft.json +1 -1
  528. package/app/.next-cli-build/server/app/api/virtual-combos/route_client-reference-manifest.js +1 -1
  529. package/app/.next-cli-build/server/app/callback/page.js +2 -2
  530. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  531. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  532. package/app/.next-cli-build/server/app/callback.html +1 -1
  533. package/app/.next-cli-build/server/app/callback.rsc +5 -5
  534. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +5 -5
  535. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  536. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +4 -4
  537. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  538. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +2 -2
  539. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  540. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  541. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +6 -6
  542. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  543. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  544. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  545. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  546. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
  547. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  548. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
  549. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  550. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  551. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +7 -7
  552. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  553. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  554. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  555. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  556. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +7 -7
  557. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  558. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
  559. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  560. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  561. package/app/.next-cli-build/server/app/dashboard/combos.rsc +6 -6
  562. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  563. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  564. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  565. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  566. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
  567. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  568. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
  569. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  570. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  571. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +8 -8
  572. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +3 -3
  573. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  574. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  575. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  576. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +8 -8
  577. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  578. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
  579. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  580. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  581. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +6 -6
  582. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  583. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  584. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  585. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  586. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  587. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +6 -6
  588. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  589. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +4 -4
  590. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  591. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  592. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +6 -6
  593. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  594. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  595. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  596. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  597. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
  598. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  599. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
  600. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  601. package/app/.next-cli-build/server/app/dashboard/ollama-nodes.html +1 -1
  602. package/app/.next-cli-build/server/app/dashboard/ollama-nodes.rsc +6 -6
  603. package/app/.next-cli-build/server/app/dashboard/ollama-nodes.segments/!KGRhc2hib2FyZCk/dashboard/ollama-nodes/__PAGE__.segment.rsc +2 -2
  604. package/app/.next-cli-build/server/app/dashboard/ollama-nodes.segments/!KGRhc2hib2FyZCk/dashboard/ollama-nodes.segment.rsc +1 -1
  605. package/app/.next-cli-build/server/app/dashboard/ollama-nodes.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  606. package/app/.next-cli-build/server/app/dashboard/ollama-nodes.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  607. package/app/.next-cli-build/server/app/dashboard/ollama-nodes.segments/_full.segment.rsc +6 -6
  608. package/app/.next-cli-build/server/app/dashboard/ollama-nodes.segments/_head.segment.rsc +1 -1
  609. package/app/.next-cli-build/server/app/dashboard/ollama-nodes.segments/_index.segment.rsc +4 -4
  610. package/app/.next-cli-build/server/app/dashboard/ollama-nodes.segments/_tree.segment.rsc +2 -2
  611. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  612. package/app/.next-cli-build/server/app/dashboard/profile.rsc +6 -6
  613. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  614. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  615. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  616. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  617. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +6 -6
  618. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  619. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
  620. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  621. package/app/.next-cli-build/server/app/dashboard/prompt-logs.html +1 -1
  622. package/app/.next-cli-build/server/app/dashboard/prompt-logs.rsc +6 -6
  623. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs/__PAGE__.segment.rsc +2 -2
  624. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs.segment.rsc +1 -1
  625. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  626. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  627. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_full.segment.rsc +6 -6
  628. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_head.segment.rsc +1 -1
  629. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_index.segment.rsc +4 -4
  630. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_tree.segment.rsc +2 -2
  631. package/app/.next-cli-build/server/app/dashboard/provider-health.html +1 -1
  632. package/app/.next-cli-build/server/app/dashboard/provider-health.rsc +6 -6
  633. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health/__PAGE__.segment.rsc +2 -2
  634. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health.segment.rsc +1 -1
  635. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  636. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  637. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_full.segment.rsc +6 -6
  638. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_head.segment.rsc +1 -1
  639. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_index.segment.rsc +4 -4
  640. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_tree.segment.rsc +2 -2
  641. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  642. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +6 -6
  643. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  644. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  645. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  646. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  647. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  648. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
  649. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  650. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
  651. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  652. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  653. package/app/.next-cli-build/server/app/dashboard/providers.rsc +6 -6
  654. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  655. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  656. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  657. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  658. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
  659. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  660. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
  661. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  662. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  663. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +6 -6
  664. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  665. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  666. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  667. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  668. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
  669. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  670. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
  671. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  672. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  673. package/app/.next-cli-build/server/app/dashboard/quota.rsc +7 -7
  674. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  675. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  676. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  677. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  678. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
  679. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  680. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
  681. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  682. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  683. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  684. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  685. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  686. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +5 -5
  687. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -5
  688. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  689. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
  690. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  691. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +2 -2
  692. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  693. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  694. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  695. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  696. package/app/.next-cli-build/server/app/dashboard/skills.rsc +6 -6
  697. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  698. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  699. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  700. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  701. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +6 -6
  702. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  703. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +4 -4
  704. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  705. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  706. package/app/.next-cli-build/server/app/dashboard/translator.rsc +6 -6
  707. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  708. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  709. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  710. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  711. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
  712. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  713. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
  714. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  715. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  716. package/app/.next-cli-build/server/app/dashboard/usage.rsc +6 -6
  717. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  718. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  719. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  720. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  721. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
  722. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  723. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
  724. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  725. package/app/.next-cli-build/server/app/dashboard/virtual-combos.html +2 -2
  726. package/app/.next-cli-build/server/app/dashboard/virtual-combos.rsc +6 -6
  727. package/app/.next-cli-build/server/app/dashboard/virtual-combos.segments/!KGRhc2hib2FyZCk/dashboard/virtual-combos/__PAGE__.segment.rsc +2 -2
  728. package/app/.next-cli-build/server/app/dashboard/virtual-combos.segments/!KGRhc2hib2FyZCk/dashboard/virtual-combos.segment.rsc +1 -1
  729. package/app/.next-cli-build/server/app/dashboard/virtual-combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  730. package/app/.next-cli-build/server/app/dashboard/virtual-combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  731. package/app/.next-cli-build/server/app/dashboard/virtual-combos.segments/_full.segment.rsc +6 -6
  732. package/app/.next-cli-build/server/app/dashboard/virtual-combos.segments/_head.segment.rsc +1 -1
  733. package/app/.next-cli-build/server/app/dashboard/virtual-combos.segments/_index.segment.rsc +4 -4
  734. package/app/.next-cli-build/server/app/dashboard/virtual-combos.segments/_tree.segment.rsc +2 -2
  735. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  736. package/app/.next-cli-build/server/app/dashboard.rsc +7 -7
  737. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  738. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  739. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  740. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +7 -7
  741. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  742. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +4 -4
  743. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  744. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  745. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  746. package/app/.next-cli-build/server/app/index.html +1 -1
  747. package/app/.next-cli-build/server/app/index.rsc +4 -4
  748. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  749. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +4 -4
  750. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  751. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +4 -4
  752. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  753. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  754. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  755. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  756. package/app/.next-cli-build/server/app/landing.html +1 -1
  757. package/app/.next-cli-build/server/app/landing.rsc +5 -5
  758. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +5 -5
  759. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  760. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +4 -4
  761. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  762. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +2 -2
  763. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  764. package/app/.next-cli-build/server/app/login/page.js +2 -2
  765. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  766. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  767. package/app/.next-cli-build/server/app/login.html +1 -1
  768. package/app/.next-cli-build/server/app/login.rsc +5 -5
  769. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
  770. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  771. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +4 -4
  772. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  773. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  774. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  775. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  776. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  777. package/app/.next-cli-build/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  778. package/app/.next-cli-build/server/app/page.js +2 -2
  779. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  780. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  781. package/app/.next-cli-build/server/app-paths-manifest.json +5 -5
  782. package/app/.next-cli-build/server/chunks/2769.js +1 -1
  783. package/app/.next-cli-build/server/chunks/3110.js +1 -1
  784. package/app/.next-cli-build/server/chunks/319.js +3 -3
  785. package/app/.next-cli-build/server/chunks/4746.js +1 -1
  786. package/app/.next-cli-build/server/chunks/5852.js +1 -1
  787. package/app/.next-cli-build/server/chunks/6604.js +7 -0
  788. package/app/.next-cli-build/server/chunks/7130.js +1 -0
  789. package/app/.next-cli-build/server/chunks/7153.js +1 -1
  790. package/app/.next-cli-build/server/chunks/7197.js +1 -1
  791. package/app/.next-cli-build/server/chunks/7774.js +6 -6
  792. package/app/.next-cli-build/server/chunks/7965.js +1 -1
  793. package/app/.next-cli-build/server/chunks/8491.js +2 -2
  794. package/app/.next-cli-build/server/chunks/8520.js +1 -1
  795. package/app/.next-cli-build/server/chunks/8895.js +1 -1
  796. package/app/.next-cli-build/server/chunks/9253.js +1 -0
  797. package/app/.next-cli-build/server/chunks/9447.js +1 -1
  798. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  799. package/app/.next-cli-build/server/middleware.js +4 -4
  800. package/app/.next-cli-build/server/pages/404.html +1 -1
  801. package/app/.next-cli-build/server/pages/500.html +1 -1
  802. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  803. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  804. package/app/.next-cli-build/static/chunks/{1321-5ef553cf7914ae11.js → 1321-d7b76de5f4e9daf2.js} +1 -1
  805. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/{page-0337bade7cc4bb54.js → page-1b2283499089d7dc.js} +1 -1
  806. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-1adaf9be4107d227.js +1 -0
  807. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-d8b42a4e1ae60f65.js → page-85cb2bafe0526c5d.js} +1 -1
  808. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-fa7f1ff2429b81f1.js +1 -0
  809. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/{page-c3640ed1577b33be.js → page-d26b9256cf41fb19.js} +1 -1
  810. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/{page-3154819acdf116e6.js → page-e0b4284d8e973996.js} +1 -1
  811. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-d943cf31dab4f2ca.js → page-4377fb8d824f5bde.js} +2 -2
  812. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/{page-95c158c771a04cee.js → page-0c0be38249c23b67.js} +1 -1
  813. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-784e3c876b7be38f.js → page-b2b612e7dedabef1.js} +2 -2
  814. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/{page-d797bc6e0016a832.js → page-356120709e5a1a94.js} +1 -1
  815. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/page-161edd90803b7184.js +1 -0
  816. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/ollama-nodes/page-3e97343c80613dec.js +1 -0
  817. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-5e2bec66810c6089.js +1 -0
  818. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-e4e65b72b72489e7.js +1 -0
  819. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/prompt-logs/{page-d92181d9443fbccc.js → page-51f32ade40c03a33.js} +1 -1
  820. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/provider-health/{page-362bbf660a9b7a90.js → page-1ad19698b1534460.js} +1 -1
  821. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-70cb77100361d775.js → page-322409a7d067a9ba.js} +1 -1
  822. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-75089627b58b62a8.js → page-009821d1edc5606b.js} +1 -1
  823. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/{page-ac3c52c3590019b2.js → page-0cf8abbb69a8a288.js} +1 -1
  824. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-7b8d25d6ac984272.js → page-0e356884dbb16e9e.js} +2 -2
  825. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-383255c4b63ebf3b.js +1 -0
  826. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/{page-84e359aafb683d81.js → page-de03c9c19092784e.js} +1 -1
  827. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/{page-ceeba7e47ca79a6e.js → page-fdac9423efa73ccd.js} +1 -1
  828. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/{page-738b345152864d51.js → page-a4e4500cdae96c24.js} +1 -1
  829. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/virtual-combos/{page-5c280ae46214bd5a.js → page-3175d0b06abbb400.js} +1 -1
  830. package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-4d4168ada31e1c18.js → layout-3a946e00857971ef.js} +1 -1
  831. package/app/.next-cli-build/static/chunks/app/_not-found/{page-49d97bcbe2f44252.js → page-858db954e7c2a6ea.js} +1 -1
  832. package/app/.next-cli-build/static/chunks/app/callback/{page-9b9bbcd8b2b1992b.js → page-92792dba9359010b.js} +1 -1
  833. package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-7f531843e0dca84d.js +1 -0
  834. package/app/.next-cli-build/static/chunks/app/landing/{page-7d550a4fdc74c753.js → page-657d33ccb95c2759.js} +1 -1
  835. package/app/.next-cli-build/static/chunks/app/{layout-bd4974e3335b6dc6.js → layout-39f1f36912db26e1.js} +1 -1
  836. package/app/.next-cli-build/static/chunks/app/login/{page-00b62bdd78002be3.js → page-5134676839e72d1b.js} +1 -1
  837. package/app/.next-cli-build/static/chunks/{framework-711ef29bc66f648c.js → framework-b8f729f35b3f9ad7.js} +1 -1
  838. package/app/.next-cli-build/static/chunks/main-app-0a27584eea53a4b0.js +1 -0
  839. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/global-error-ee20097265e1e7ed.js +1 -0
  840. package/app/.next-cli-build/static/css/7c50b64c9b7c7390.css +1 -0
  841. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite-shm +0 -0
  842. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite-wal +0 -0
  843. package/app/cli/.build-home/AppData/Roaming/bluerouter/jwt-secret +1 -1
  844. package/app/cli/.build-home/AppData/Roaming/bluerouter/machine-id +1 -1
  845. package/app/cli/.build-home/AppData/Roaming/nextjs-nodejs/Config/config.json +3 -3
  846. package/app/node_modules/react/cjs/react.development.js +1 -1
  847. package/app/node_modules/react/cjs/react.production.js +1 -1
  848. package/app/node_modules/react/package.json +1 -1
  849. package/app/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js +1 -1
  850. package/app/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js +1 -1
  851. package/app/node_modules/react-dom/cjs/react-dom-server.browser.production.js +3 -3
  852. package/app/node_modules/react-dom/cjs/react-dom-server.edge.production.js +3 -3
  853. package/app/node_modules/react-dom/cjs/react-dom-server.node.production.js +3 -3
  854. package/app/node_modules/react-dom/cjs/react-dom.production.js +1 -1
  855. package/app/node_modules/react-dom/package.json +2 -2
  856. package/app/package.json +2 -2
  857. package/app/public/sw.js +22 -22
  858. package/app/server.js +1 -1
  859. package/app/src/lib/db/adapters/betterSqliteAdapter.js +55 -55
  860. package/app/src/lib/db/adapters/bunSqliteAdapter.js +63 -63
  861. package/app/src/lib/db/adapters/nodeSqliteAdapter.js +84 -84
  862. package/app/src/lib/db/adapters/sqljsAdapter.js +115 -115
  863. package/app/src/lib/db/migrate.js +286 -286
  864. package/app/src/lib/oauth/services/xai.js +238 -238
  865. package/app/src/shared/utils/apiKey.js +98 -98
  866. package/package.json +1 -1
  867. package/src/cli/menus/apiKeys.js +233 -233
  868. package/src/cli/menus/combos.js +477 -477
  869. package/src/cli/menus/providers.js +845 -845
  870. package/src/cli/tray/trayWin.js +89 -89
  871. package/src/cli/utils/clipboard.js +30 -30
  872. package/src/cli/utils/display.js +156 -156
  873. package/src/cli/utils/endpoint.js +32 -32
  874. package/src/cli/utils/format.js +125 -125
  875. package/src/cli/utils/input.js +156 -156
  876. package/src/cli/utils/menuHelper.js +156 -156
  877. package/src/cli/utils/modelSelector.js +136 -136
  878. package/app/.next-cli-build/server/chunks/476.js +0 -7
  879. package/app/.next-cli-build/server/chunks/9526.js +0 -1
  880. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-db7807f40ca534e6.js +0 -1
  881. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-390aa31a6095d7ce.js +0 -1
  882. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/page-702e0cf44d2ad7e5.js +0 -1
  883. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/ollama-nodes/page-bac475308728333b.js +0 -1
  884. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-4cdbbceec96a49fe.js +0 -1
  885. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-b223dca149e57c72.js +0 -1
  886. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-eb63022ded49a729.js +0 -1
  887. package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-1c664ab9c6951012.js +0 -1
  888. package/app/.next-cli-build/static/chunks/main-app-2f687e2b0501c574.js +0 -1
  889. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/global-error-c3196a49c3084faa.js +0 -1
  890. package/app/.next-cli-build/static/css/faf8f3171226b301.css +0 -1
  891. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/upgrade-1.0.52-to-1.0.53-1.0.53-20260527-171653/data.sqlite +0 -0
  892. /package/app/.next-cli-build/static/{QSbdGxh8toy2LcHGBDqR0 → XswS5OH82Am6l7l-uHSAg}/_buildManifest.js +0 -0
  893. /package/app/.next-cli-build/static/{QSbdGxh8toy2LcHGBDqR0 → XswS5OH82Am6l7l-uHSAg}/_ssgManifest.js +0 -0
@@ -1,477 +1,477 @@
1
- const api = require("../api/client");
2
- const { prompt, confirm, pause } = require("../utils/input");
3
- const { clearScreen, showStatus, showHeader } = require("../utils/display");
4
- const { formatDate } = require("../utils/format");
5
- const { selectModelFromList } = require("../utils/modelSelector");
6
- const { showMenuWithBack } = require("../utils/menuHelper");
7
-
8
- /**
9
- * Format model to string (handle both string and object)
10
- */
11
- function formatModel(model) {
12
- if (typeof model === "string") return model;
13
- if (model && typeof model === "object") {
14
- return model.id || model.name || `${model.provider}/${model.model}` || JSON.stringify(model);
15
- }
16
- return String(model);
17
- }
18
-
19
- /**
20
- * Show actions for a specific combo
21
- * @param {Object} combo - Combo object
22
- * @param {Array<string>} breadcrumb - Breadcrumb path
23
- */
24
- async function showComboActions(combo, breadcrumb = []) {
25
- const modelsChain = Array.isArray(combo.models)
26
- ? combo.models.map(formatModel).join(" → ")
27
- : "";
28
-
29
- await showMenuWithBack({
30
- title: `🔀 ${combo.name}`,
31
- breadcrumb: [...breadcrumb, combo.name],
32
- headerContent: `Name: ${combo.name}\nModels: ${modelsChain}`,
33
- items: [
34
- {
35
- label: "Edit Combo",
36
- action: async () => {
37
- await handleEditSingleCombo(combo);
38
- return true;
39
- }
40
- },
41
- {
42
- label: "Delete Combo",
43
- action: async () => {
44
- await handleDeleteSingleCombo(combo);
45
- return false; // Exit after delete
46
- }
47
- }
48
- ]
49
- });
50
- }
51
-
52
- /**
53
- * Handle editing a single combo
54
- * @param {Object} combo - Combo to edit
55
- */
56
- async function handleEditSingleCombo(combo) {
57
- clearScreen();
58
- console.log(`\n✏️ Edit Combo: ${combo.name}\n`);
59
-
60
- const newName = await prompt(`New name (Enter to keep "${combo.name}"): `);
61
- const name = newName || combo.name;
62
-
63
- console.log("\nCurrent models: " + (Array.isArray(combo.models) ? combo.models.map(formatModel).join(" → ") : ""));
64
- console.log("\nSelect models for this combo (add one by one):");
65
-
66
- const models = [];
67
- let addMore = true;
68
-
69
- while (addMore) {
70
- const currentChain = models.length > 0 ? models.join(" → ") : "None";
71
- const model = await selectModelFromList(`Add Model #${models.length + 1}`, `Chain: ${currentChain}`);
72
-
73
- if (model) {
74
- models.push(model);
75
- console.log(`\n✓ Added: ${model}`);
76
- console.log(`Current chain: ${models.join(" → ")}\n`);
77
-
78
- const continueAdding = await confirm("Add another model?");
79
- addMore = continueAdding;
80
- } else {
81
- addMore = false;
82
- }
83
- }
84
-
85
- // Use new models if any were added, otherwise keep current
86
- const finalModels = models.length > 0 ? models : combo.models;
87
-
88
- const result = await api.updateCombo(combo.id, { name, models: finalModels });
89
-
90
- if (result.success) {
91
- showStatus("Combo updated!", "success");
92
- } else {
93
- showStatus(`Update failed: ${result.error}`, "error");
94
- }
95
- await pause();
96
- }
97
-
98
- /**
99
- * Handle deleting a single combo
100
- * @param {Object} combo - Combo to delete
101
- */
102
- async function handleDeleteSingleCombo(combo) {
103
- const confirmed = await confirm(`Delete combo "${combo.name}"?`);
104
- if (confirmed) {
105
- const result = await api.deleteCombo(combo.id);
106
- if (result.success) {
107
- showStatus("Combo deleted!", "success");
108
- } else {
109
- showStatus(`Delete failed: ${result.error}`, "error");
110
- }
111
- await pause();
112
- }
113
- }
114
-
115
- /**
116
- * Main combos menu - list all combos and actions
117
- * @param {Array<string>} breadcrumb - Breadcrumb path
118
- */
119
- async function showCombosMenu(breadcrumb = []) {
120
- const { showListMenu } = require("../utils/menuHelper");
121
-
122
- await showListMenu({
123
- title: "🔀 Combos Management",
124
- breadcrumb,
125
- fetchItems: async () => {
126
- const result = await api.getCombos();
127
- if (!result.success) {
128
- clearScreen();
129
- showStatus(`Failed to load combos: ${result.error}`, "error");
130
- await pause();
131
- return null;
132
- }
133
- return { items: result.data.combos || [] };
134
- },
135
- formatItem: (combo) => {
136
- const modelsChain = Array.isArray(combo.models) ? combo.models.map(formatModel).join(" → ") : "";
137
- const maxLen = 35;
138
- const displayModels = modelsChain.length > maxLen
139
- ? modelsChain.substring(0, maxLen - 3) + "..."
140
- : modelsChain;
141
- return `${combo.name}: ${displayModels}`;
142
- },
143
- onSelect: async (combo) => {
144
- await showComboActions(combo, breadcrumb);
145
- },
146
- createAction: {
147
- label: "Create New Combo",
148
- action: async () => {
149
- await handleCreateCombo();
150
- }
151
- }
152
- });
153
- }
154
-
155
- /**
156
- * Show combo detail with stats
157
- */
158
- async function showComboDetail(comboId) {
159
- clearScreen();
160
-
161
- const result = await api.getComboById(comboId);
162
-
163
- if (!result.success) {
164
- showStatus(`Failed to load combo: ${result.error}`, "error");
165
- await pause();
166
- return;
167
- }
168
-
169
- const combo = result.data;
170
-
171
- console.log("┌─────────────────────────────────────────────────────────┐");
172
- console.log(`│ 🔀 Combo: ${combo.name.padEnd(46)} │`);
173
- console.log("├─────────────────────────────────────────────────────────┤");
174
- console.log("│ │");
175
- console.log(`│ ID: ${combo.id.padEnd(51)} │`);
176
- console.log(`│ Created: ${formatDate(combo.createdAt).padEnd(46)} │`);
177
- console.log(`│ Updated: ${formatDate(combo.updatedAt).padEnd(46)} │`);
178
- console.log("│ │");
179
- console.log("│ Model Chain: │");
180
-
181
- // Models is array of strings like ["ag/claude-sonnet-4-5", "kr/claude-sonnet-4.5"]
182
- const models = Array.isArray(combo.models) ? combo.models : [];
183
- models.forEach((modelStr, index) => {
184
- const arrow = index < models.length - 1 ? " →" : " ";
185
- const displayText = `${index + 1}. ${modelStr}${arrow}`;
186
- const padding = Math.max(0, 54 - displayText.length);
187
- console.log(`│ ${displayText}${" ".repeat(padding)} │`);
188
- });
189
-
190
- console.log("│ │");
191
- console.log("└─────────────────────────────────────────────────────────┘");
192
-
193
- await pause();
194
- }
195
-
196
- /**
197
- * Format combo for menu display
198
- */
199
- function formatComboLabel(combo) {
200
- const modelsChain = Array.isArray(combo.models) ? combo.models.map(formatModel).join(" → ") : "";
201
- const maxLen = 40;
202
- const displayModels = modelsChain.length > maxLen
203
- ? modelsChain.substring(0, maxLen - 3) + "..."
204
- : modelsChain;
205
- return `${combo.name}: ${displayModels}`;
206
- }
207
-
208
- /**
209
- * Create new combo
210
- */
211
- async function handleCreateCombo() {
212
- clearScreen();
213
-
214
- showStatus("Create New Combo", "info");
215
- console.log();
216
-
217
- // Get combo name
218
- const name = await prompt("Combo name: ");
219
- if (!name) {
220
- showStatus("Combo name is required", "error");
221
- await pause();
222
- return;
223
- }
224
-
225
- // Fetch available models
226
- showStatus("Loading available models...", "info");
227
- const modelsResult = await api.getModels();
228
-
229
- if (!modelsResult.success) {
230
- showStatus(`Failed to load models: ${modelsResult.error}`, "error");
231
- await pause();
232
- return;
233
- }
234
-
235
- const availableModels = modelsResult.data.models || [];
236
-
237
- if (availableModels.length === 0) {
238
- showStatus("No models available. Please add providers first.", "warning");
239
- await pause();
240
- return;
241
- }
242
-
243
- // Select models for chain
244
- const selectedModels = [];
245
-
246
- console.log();
247
- showStatus("Select models for the chain (minimum 2)", "info");
248
-
249
- while (true) {
250
- clearScreen();
251
- console.log(`Creating combo: ${name}`);
252
- console.log(`Selected models (${selectedModels.length}):`);
253
-
254
- if (selectedModels.length > 0) {
255
- selectedModels.forEach((m, i) => {
256
- console.log(` ${i + 1}. ${m.provider}/${m.model}`);
257
- });
258
- } else {
259
- console.log(" (none)");
260
- }
261
-
262
- console.log();
263
- console.log("Available models:");
264
- availableModels.forEach((m, i) => {
265
- console.log(` ${i + 1}. ${m.provider}/${m.model}`);
266
- });
267
-
268
- console.log();
269
- console.log("Actions:");
270
- console.log(" - Enter number to add model");
271
- console.log(" - Type 'done' to finish (min 2 models)");
272
- console.log(" - Type 'cancel' to abort");
273
-
274
- const input = await prompt("\nAction: ");
275
-
276
- if (input.toLowerCase() === "cancel") {
277
- showStatus("Cancelled", "warning");
278
- await pause();
279
- return;
280
- }
281
-
282
- if (input.toLowerCase() === "done") {
283
- if (selectedModels.length < 2) {
284
- showStatus("Please select at least 2 models", "error");
285
- await pause();
286
- continue;
287
- }
288
- break;
289
- }
290
-
291
- const num = parseInt(input, 10);
292
- if (isNaN(num) || num < 1 || num > availableModels.length) {
293
- showStatus("Invalid model number", "error");
294
- await pause();
295
- continue;
296
- }
297
-
298
- selectedModels.push(availableModels[num - 1]);
299
- }
300
-
301
- // Create combo
302
- showStatus("Creating combo...", "info");
303
-
304
- const createResult = await api.createCombo({
305
- name,
306
- models: selectedModels
307
- });
308
-
309
- if (!createResult.success) {
310
- showStatus(`Failed to create combo: ${createResult.error}`, "error");
311
- await pause();
312
- return;
313
- }
314
-
315
- showStatus(`Combo "${name}" created successfully!`, "success");
316
- await pause();
317
- }
318
-
319
- /**
320
- * Edit combo - select which combo to edit
321
- */
322
- async function handleEditCombo(combos) {
323
- if (combos.length === 0) {
324
- showStatus("No combos available", "warning");
325
- await pause();
326
- return;
327
- }
328
-
329
- let selectedCombo = null;
330
-
331
- await showMenuWithBack({
332
- title: "✏️ Select Combo to Edit",
333
- items: combos.map(combo => ({
334
- label: formatComboLabel(combo),
335
- action: async () => {
336
- selectedCombo = combo;
337
- return false;
338
- }
339
- }))
340
- });
341
-
342
- if (!selectedCombo) return;
343
- await editSingleCombo(selectedCombo);
344
- }
345
-
346
- /**
347
- * Edit a single combo
348
- */
349
- async function editSingleCombo(combo) {
350
- clearScreen();
351
- showStatus(`Editing combo: ${combo.name}`, "info");
352
- console.log();
353
-
354
- const newName = await prompt(`New name (current: ${combo.name}, press Enter to keep): `);
355
- const editModels = await confirm("Edit model chain?");
356
-
357
- let newModels = combo.models;
358
-
359
- if (editModels) {
360
- newModels = [];
361
-
362
- while (true) {
363
- clearScreen();
364
- console.log(`Editing combo: ${combo.name}`);
365
- console.log(`Selected models (${newModels.length}):`);
366
-
367
- if (newModels.length > 0) {
368
- newModels.forEach((m, i) => console.log(` ${i + 1}. ${m}`));
369
- } else {
370
- console.log(" (none)");
371
- }
372
-
373
- console.log("\nType 'done' to finish (min 2 models) or 'cancel' to abort\n");
374
-
375
- const model = await selectModelFromList("Add Model", "");
376
-
377
- if (model === null) {
378
- showStatus("Cancelled", "warning");
379
- await pause();
380
- return;
381
- }
382
-
383
- if (model === "done") {
384
- if (newModels.length < 2) {
385
- showStatus("Please select at least 2 models", "error");
386
- await pause();
387
- continue;
388
- }
389
- break;
390
- }
391
-
392
- newModels.push(model);
393
- showStatus(`Added: ${model}`, "success");
394
- await pause();
395
- }
396
- }
397
-
398
- const updateData = {};
399
- if (newName) updateData.name = newName;
400
- if (editModels) updateData.models = newModels;
401
-
402
- if (Object.keys(updateData).length === 0) {
403
- showStatus("No changes made", "warning");
404
- await pause();
405
- return;
406
- }
407
-
408
- showStatus("Updating combo...", "info");
409
-
410
- const updateResult = await api.updateCombo(combo.id, updateData);
411
-
412
- if (!updateResult.success) {
413
- showStatus(`Failed to update combo: ${updateResult.error}`, "error");
414
- await pause();
415
- return;
416
- }
417
-
418
- showStatus("Combo updated successfully!", "success");
419
- await pause();
420
- }
421
-
422
- /**
423
- * Delete combo - select which combo to delete
424
- */
425
- async function handleDeleteCombo(combos) {
426
- if (combos.length === 0) {
427
- showStatus("No combos available", "warning");
428
- await pause();
429
- return;
430
- }
431
-
432
- let selectedCombo = null;
433
-
434
- await showMenuWithBack({
435
- title: "🗑️ Select Combo to Delete",
436
- items: combos.map(combo => ({
437
- label: formatComboLabel(combo),
438
- action: async () => {
439
- selectedCombo = combo;
440
- return false;
441
- }
442
- }))
443
- });
444
-
445
- if (!selectedCombo) return;
446
-
447
- clearScreen();
448
- showStatus(`Combo: ${selectedCombo.name}`, "warning");
449
- const modelsDisplay = Array.isArray(selectedCombo.models)
450
- ? selectedCombo.models.map(formatModel).join(" → ")
451
- : "";
452
- console.log(`Models: ${modelsDisplay}`);
453
- console.log();
454
-
455
- const confirmed = await confirm("Are you sure you want to delete this combo?");
456
-
457
- if (!confirmed) {
458
- showStatus("Cancelled", "info");
459
- await pause();
460
- return;
461
- }
462
-
463
- showStatus("Deleting combo...", "info");
464
-
465
- const deleteResult = await api.deleteCombo(selectedCombo.id);
466
-
467
- if (!deleteResult.success) {
468
- showStatus(`Failed to delete combo: ${deleteResult.error}`, "error");
469
- await pause();
470
- return;
471
- }
472
-
473
- showStatus("Combo deleted successfully!", "success");
474
- await pause();
475
- }
476
-
477
- module.exports = { showCombosMenu };
1
+ const api = require("../api/client");
2
+ const { prompt, confirm, pause } = require("../utils/input");
3
+ const { clearScreen, showStatus, showHeader } = require("../utils/display");
4
+ const { formatDate } = require("../utils/format");
5
+ const { selectModelFromList } = require("../utils/modelSelector");
6
+ const { showMenuWithBack } = require("../utils/menuHelper");
7
+
8
+ /**
9
+ * Format model to string (handle both string and object)
10
+ */
11
+ function formatModel(model) {
12
+ if (typeof model === "string") return model;
13
+ if (model && typeof model === "object") {
14
+ return model.id || model.name || `${model.provider}/${model.model}` || JSON.stringify(model);
15
+ }
16
+ return String(model);
17
+ }
18
+
19
+ /**
20
+ * Show actions for a specific combo
21
+ * @param {Object} combo - Combo object
22
+ * @param {Array<string>} breadcrumb - Breadcrumb path
23
+ */
24
+ async function showComboActions(combo, breadcrumb = []) {
25
+ const modelsChain = Array.isArray(combo.models)
26
+ ? combo.models.map(formatModel).join(" → ")
27
+ : "";
28
+
29
+ await showMenuWithBack({
30
+ title: `🔀 ${combo.name}`,
31
+ breadcrumb: [...breadcrumb, combo.name],
32
+ headerContent: `Name: ${combo.name}\nModels: ${modelsChain}`,
33
+ items: [
34
+ {
35
+ label: "Edit Combo",
36
+ action: async () => {
37
+ await handleEditSingleCombo(combo);
38
+ return true;
39
+ }
40
+ },
41
+ {
42
+ label: "Delete Combo",
43
+ action: async () => {
44
+ await handleDeleteSingleCombo(combo);
45
+ return false; // Exit after delete
46
+ }
47
+ }
48
+ ]
49
+ });
50
+ }
51
+
52
+ /**
53
+ * Handle editing a single combo
54
+ * @param {Object} combo - Combo to edit
55
+ */
56
+ async function handleEditSingleCombo(combo) {
57
+ clearScreen();
58
+ console.log(`\n✏️ Edit Combo: ${combo.name}\n`);
59
+
60
+ const newName = await prompt(`New name (Enter to keep "${combo.name}"): `);
61
+ const name = newName || combo.name;
62
+
63
+ console.log("\nCurrent models: " + (Array.isArray(combo.models) ? combo.models.map(formatModel).join(" → ") : ""));
64
+ console.log("\nSelect models for this combo (add one by one):");
65
+
66
+ const models = [];
67
+ let addMore = true;
68
+
69
+ while (addMore) {
70
+ const currentChain = models.length > 0 ? models.join(" → ") : "None";
71
+ const model = await selectModelFromList(`Add Model #${models.length + 1}`, `Chain: ${currentChain}`);
72
+
73
+ if (model) {
74
+ models.push(model);
75
+ console.log(`\n✓ Added: ${model}`);
76
+ console.log(`Current chain: ${models.join(" → ")}\n`);
77
+
78
+ const continueAdding = await confirm("Add another model?");
79
+ addMore = continueAdding;
80
+ } else {
81
+ addMore = false;
82
+ }
83
+ }
84
+
85
+ // Use new models if any were added, otherwise keep current
86
+ const finalModels = models.length > 0 ? models : combo.models;
87
+
88
+ const result = await api.updateCombo(combo.id, { name, models: finalModels });
89
+
90
+ if (result.success) {
91
+ showStatus("Combo updated!", "success");
92
+ } else {
93
+ showStatus(`Update failed: ${result.error}`, "error");
94
+ }
95
+ await pause();
96
+ }
97
+
98
+ /**
99
+ * Handle deleting a single combo
100
+ * @param {Object} combo - Combo to delete
101
+ */
102
+ async function handleDeleteSingleCombo(combo) {
103
+ const confirmed = await confirm(`Delete combo "${combo.name}"?`);
104
+ if (confirmed) {
105
+ const result = await api.deleteCombo(combo.id);
106
+ if (result.success) {
107
+ showStatus("Combo deleted!", "success");
108
+ } else {
109
+ showStatus(`Delete failed: ${result.error}`, "error");
110
+ }
111
+ await pause();
112
+ }
113
+ }
114
+
115
+ /**
116
+ * Main combos menu - list all combos and actions
117
+ * @param {Array<string>} breadcrumb - Breadcrumb path
118
+ */
119
+ async function showCombosMenu(breadcrumb = []) {
120
+ const { showListMenu } = require("../utils/menuHelper");
121
+
122
+ await showListMenu({
123
+ title: "🔀 Combos Management",
124
+ breadcrumb,
125
+ fetchItems: async () => {
126
+ const result = await api.getCombos();
127
+ if (!result.success) {
128
+ clearScreen();
129
+ showStatus(`Failed to load combos: ${result.error}`, "error");
130
+ await pause();
131
+ return null;
132
+ }
133
+ return { items: result.data.combos || [] };
134
+ },
135
+ formatItem: (combo) => {
136
+ const modelsChain = Array.isArray(combo.models) ? combo.models.map(formatModel).join(" → ") : "";
137
+ const maxLen = 35;
138
+ const displayModels = modelsChain.length > maxLen
139
+ ? modelsChain.substring(0, maxLen - 3) + "..."
140
+ : modelsChain;
141
+ return `${combo.name}: ${displayModels}`;
142
+ },
143
+ onSelect: async (combo) => {
144
+ await showComboActions(combo, breadcrumb);
145
+ },
146
+ createAction: {
147
+ label: "Create New Combo",
148
+ action: async () => {
149
+ await handleCreateCombo();
150
+ }
151
+ }
152
+ });
153
+ }
154
+
155
+ /**
156
+ * Show combo detail with stats
157
+ */
158
+ async function showComboDetail(comboId) {
159
+ clearScreen();
160
+
161
+ const result = await api.getComboById(comboId);
162
+
163
+ if (!result.success) {
164
+ showStatus(`Failed to load combo: ${result.error}`, "error");
165
+ await pause();
166
+ return;
167
+ }
168
+
169
+ const combo = result.data;
170
+
171
+ console.log("┌─────────────────────────────────────────────────────────┐");
172
+ console.log(`│ 🔀 Combo: ${combo.name.padEnd(46)} │`);
173
+ console.log("├─────────────────────────────────────────────────────────┤");
174
+ console.log("│ │");
175
+ console.log(`│ ID: ${combo.id.padEnd(51)} │`);
176
+ console.log(`│ Created: ${formatDate(combo.createdAt).padEnd(46)} │`);
177
+ console.log(`│ Updated: ${formatDate(combo.updatedAt).padEnd(46)} │`);
178
+ console.log("│ │");
179
+ console.log("│ Model Chain: │");
180
+
181
+ // Models is array of strings like ["ag/claude-sonnet-4-5", "kr/claude-sonnet-4.5"]
182
+ const models = Array.isArray(combo.models) ? combo.models : [];
183
+ models.forEach((modelStr, index) => {
184
+ const arrow = index < models.length - 1 ? " →" : " ";
185
+ const displayText = `${index + 1}. ${modelStr}${arrow}`;
186
+ const padding = Math.max(0, 54 - displayText.length);
187
+ console.log(`│ ${displayText}${" ".repeat(padding)} │`);
188
+ });
189
+
190
+ console.log("│ │");
191
+ console.log("└─────────────────────────────────────────────────────────┘");
192
+
193
+ await pause();
194
+ }
195
+
196
+ /**
197
+ * Format combo for menu display
198
+ */
199
+ function formatComboLabel(combo) {
200
+ const modelsChain = Array.isArray(combo.models) ? combo.models.map(formatModel).join(" → ") : "";
201
+ const maxLen = 40;
202
+ const displayModels = modelsChain.length > maxLen
203
+ ? modelsChain.substring(0, maxLen - 3) + "..."
204
+ : modelsChain;
205
+ return `${combo.name}: ${displayModels}`;
206
+ }
207
+
208
+ /**
209
+ * Create new combo
210
+ */
211
+ async function handleCreateCombo() {
212
+ clearScreen();
213
+
214
+ showStatus("Create New Combo", "info");
215
+ console.log();
216
+
217
+ // Get combo name
218
+ const name = await prompt("Combo name: ");
219
+ if (!name) {
220
+ showStatus("Combo name is required", "error");
221
+ await pause();
222
+ return;
223
+ }
224
+
225
+ // Fetch available models
226
+ showStatus("Loading available models...", "info");
227
+ const modelsResult = await api.getModels();
228
+
229
+ if (!modelsResult.success) {
230
+ showStatus(`Failed to load models: ${modelsResult.error}`, "error");
231
+ await pause();
232
+ return;
233
+ }
234
+
235
+ const availableModels = modelsResult.data.models || [];
236
+
237
+ if (availableModels.length === 0) {
238
+ showStatus("No models available. Please add providers first.", "warning");
239
+ await pause();
240
+ return;
241
+ }
242
+
243
+ // Select models for chain
244
+ const selectedModels = [];
245
+
246
+ console.log();
247
+ showStatus("Select models for the chain (minimum 2)", "info");
248
+
249
+ while (true) {
250
+ clearScreen();
251
+ console.log(`Creating combo: ${name}`);
252
+ console.log(`Selected models (${selectedModels.length}):`);
253
+
254
+ if (selectedModels.length > 0) {
255
+ selectedModels.forEach((m, i) => {
256
+ console.log(` ${i + 1}. ${m.provider}/${m.model}`);
257
+ });
258
+ } else {
259
+ console.log(" (none)");
260
+ }
261
+
262
+ console.log();
263
+ console.log("Available models:");
264
+ availableModels.forEach((m, i) => {
265
+ console.log(` ${i + 1}. ${m.provider}/${m.model}`);
266
+ });
267
+
268
+ console.log();
269
+ console.log("Actions:");
270
+ console.log(" - Enter number to add model");
271
+ console.log(" - Type 'done' to finish (min 2 models)");
272
+ console.log(" - Type 'cancel' to abort");
273
+
274
+ const input = await prompt("\nAction: ");
275
+
276
+ if (input.toLowerCase() === "cancel") {
277
+ showStatus("Cancelled", "warning");
278
+ await pause();
279
+ return;
280
+ }
281
+
282
+ if (input.toLowerCase() === "done") {
283
+ if (selectedModels.length < 2) {
284
+ showStatus("Please select at least 2 models", "error");
285
+ await pause();
286
+ continue;
287
+ }
288
+ break;
289
+ }
290
+
291
+ const num = parseInt(input, 10);
292
+ if (isNaN(num) || num < 1 || num > availableModels.length) {
293
+ showStatus("Invalid model number", "error");
294
+ await pause();
295
+ continue;
296
+ }
297
+
298
+ selectedModels.push(availableModels[num - 1]);
299
+ }
300
+
301
+ // Create combo
302
+ showStatus("Creating combo...", "info");
303
+
304
+ const createResult = await api.createCombo({
305
+ name,
306
+ models: selectedModels
307
+ });
308
+
309
+ if (!createResult.success) {
310
+ showStatus(`Failed to create combo: ${createResult.error}`, "error");
311
+ await pause();
312
+ return;
313
+ }
314
+
315
+ showStatus(`Combo "${name}" created successfully!`, "success");
316
+ await pause();
317
+ }
318
+
319
+ /**
320
+ * Edit combo - select which combo to edit
321
+ */
322
+ async function handleEditCombo(combos) {
323
+ if (combos.length === 0) {
324
+ showStatus("No combos available", "warning");
325
+ await pause();
326
+ return;
327
+ }
328
+
329
+ let selectedCombo = null;
330
+
331
+ await showMenuWithBack({
332
+ title: "✏️ Select Combo to Edit",
333
+ items: combos.map(combo => ({
334
+ label: formatComboLabel(combo),
335
+ action: async () => {
336
+ selectedCombo = combo;
337
+ return false;
338
+ }
339
+ }))
340
+ });
341
+
342
+ if (!selectedCombo) return;
343
+ await editSingleCombo(selectedCombo);
344
+ }
345
+
346
+ /**
347
+ * Edit a single combo
348
+ */
349
+ async function editSingleCombo(combo) {
350
+ clearScreen();
351
+ showStatus(`Editing combo: ${combo.name}`, "info");
352
+ console.log();
353
+
354
+ const newName = await prompt(`New name (current: ${combo.name}, press Enter to keep): `);
355
+ const editModels = await confirm("Edit model chain?");
356
+
357
+ let newModels = combo.models;
358
+
359
+ if (editModels) {
360
+ newModels = [];
361
+
362
+ while (true) {
363
+ clearScreen();
364
+ console.log(`Editing combo: ${combo.name}`);
365
+ console.log(`Selected models (${newModels.length}):`);
366
+
367
+ if (newModels.length > 0) {
368
+ newModels.forEach((m, i) => console.log(` ${i + 1}. ${m}`));
369
+ } else {
370
+ console.log(" (none)");
371
+ }
372
+
373
+ console.log("\nType 'done' to finish (min 2 models) or 'cancel' to abort\n");
374
+
375
+ const model = await selectModelFromList("Add Model", "");
376
+
377
+ if (model === null) {
378
+ showStatus("Cancelled", "warning");
379
+ await pause();
380
+ return;
381
+ }
382
+
383
+ if (model === "done") {
384
+ if (newModels.length < 2) {
385
+ showStatus("Please select at least 2 models", "error");
386
+ await pause();
387
+ continue;
388
+ }
389
+ break;
390
+ }
391
+
392
+ newModels.push(model);
393
+ showStatus(`Added: ${model}`, "success");
394
+ await pause();
395
+ }
396
+ }
397
+
398
+ const updateData = {};
399
+ if (newName) updateData.name = newName;
400
+ if (editModels) updateData.models = newModels;
401
+
402
+ if (Object.keys(updateData).length === 0) {
403
+ showStatus("No changes made", "warning");
404
+ await pause();
405
+ return;
406
+ }
407
+
408
+ showStatus("Updating combo...", "info");
409
+
410
+ const updateResult = await api.updateCombo(combo.id, updateData);
411
+
412
+ if (!updateResult.success) {
413
+ showStatus(`Failed to update combo: ${updateResult.error}`, "error");
414
+ await pause();
415
+ return;
416
+ }
417
+
418
+ showStatus("Combo updated successfully!", "success");
419
+ await pause();
420
+ }
421
+
422
+ /**
423
+ * Delete combo - select which combo to delete
424
+ */
425
+ async function handleDeleteCombo(combos) {
426
+ if (combos.length === 0) {
427
+ showStatus("No combos available", "warning");
428
+ await pause();
429
+ return;
430
+ }
431
+
432
+ let selectedCombo = null;
433
+
434
+ await showMenuWithBack({
435
+ title: "🗑️ Select Combo to Delete",
436
+ items: combos.map(combo => ({
437
+ label: formatComboLabel(combo),
438
+ action: async () => {
439
+ selectedCombo = combo;
440
+ return false;
441
+ }
442
+ }))
443
+ });
444
+
445
+ if (!selectedCombo) return;
446
+
447
+ clearScreen();
448
+ showStatus(`Combo: ${selectedCombo.name}`, "warning");
449
+ const modelsDisplay = Array.isArray(selectedCombo.models)
450
+ ? selectedCombo.models.map(formatModel).join(" → ")
451
+ : "";
452
+ console.log(`Models: ${modelsDisplay}`);
453
+ console.log();
454
+
455
+ const confirmed = await confirm("Are you sure you want to delete this combo?");
456
+
457
+ if (!confirmed) {
458
+ showStatus("Cancelled", "info");
459
+ await pause();
460
+ return;
461
+ }
462
+
463
+ showStatus("Deleting combo...", "info");
464
+
465
+ const deleteResult = await api.deleteCombo(selectedCombo.id);
466
+
467
+ if (!deleteResult.success) {
468
+ showStatus(`Failed to delete combo: ${deleteResult.error}`, "error");
469
+ await pause();
470
+ return;
471
+ }
472
+
473
+ showStatus("Combo deleted successfully!", "success");
474
+ await pause();
475
+ }
476
+
477
+ module.exports = { showCombosMenu };