9router 0.5.91 → 0.5.95

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 (1006) hide show
  1. package/README.md +18 -0
  2. package/app/.next-cli-build/BUILD_ID +1 -1
  3. package/app/.next-cli-build/app-path-routes-manifest.json +8 -7
  4. package/app/.next-cli-build/build-manifest.json +3 -3
  5. package/app/.next-cli-build/prerender-manifest.json +17 -17
  6. package/app/.next-cli-build/react-loadable-manifest.json +1 -1
  7. package/app/.next-cli-build/routes-manifest.json +8 -0
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +2 -2
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +5 -5
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  77. package/app/.next-cli-build/server/app/_global-error/page.js +2 -2
  78. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  79. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  80. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  81. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  82. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  83. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  84. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  85. package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
  86. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  87. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  88. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  89. package/app/.next-cli-build/server/app/_not-found.rsc +5 -5
  90. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +5 -5
  91. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -5
  92. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  93. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  94. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  95. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  96. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  97. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  98. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  99. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  100. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  101. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  102. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  103. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  104. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  105. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js +1 -1
  106. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
  107. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js +1 -1
  108. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js +2 -2
  110. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
  111. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js +1 -1
  112. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
  113. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  114. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +18 -18
  116. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +1 -1
  118. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  119. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  120. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +1 -1
  122. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  124. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js +2 -2
  126. package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js +1 -1
  128. package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  132. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  136. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  138. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js +2 -2
  140. package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +5 -5
  142. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +1 -1
  144. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js +2 -2
  148. package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +8 -8
  150. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +1 -1
  152. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +1 -1
  154. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  155. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +1 -1
  156. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js +8 -8
  158. package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  160. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  162. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js +2 -2
  164. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js +2 -2
  166. package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  168. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/combos/presets/route.js +1 -1
  170. package/app/.next-cli-build/server/app/api/combos/presets/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  172. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -1
  174. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  176. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
  178. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  180. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  182. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  184. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  185. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  186. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  187. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  188. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  190. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  192. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  194. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +2 -2
  196. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +1 -1
  198. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  200. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  202. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  203. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  204. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  206. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  208. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  210. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  212. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js +1 -1
  214. package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  216. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  218. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  220. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  222. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  224. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  225. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  226. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  227. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  228. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  229. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +1 -1
  230. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  232. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  233. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  234. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js +1 -1
  236. package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  238. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  240. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  242. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  244. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  245. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  246. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  248. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  250. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js +1 -1
  252. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +2 -2
  254. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/start/route.js +1 -1
  256. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/start/route.js.nft.json +1 -1
  257. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/status/route.js +1 -1
  258. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/status/route.js.nft.json +1 -1
  259. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js +2 -2
  260. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js +1 -1
  262. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js.nft.json +1 -1
  263. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  264. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  266. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  267. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  268. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  269. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  270. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  272. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/providers/[id]/overrides/route.js +1 -0
  274. package/app/.next-cli-build/server/app/api/providers/[id]/overrides/route.js.nft.json +1 -0
  275. package/app/.next-cli-build/server/app/api/providers/[id]/overrides/route_client-reference-manifest.js +1 -0
  276. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  277. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  278. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  279. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  281. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  282. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  283. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  284. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  285. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  287. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  288. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  289. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  290. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  291. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  292. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  293. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  294. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  295. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  296. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  297. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  298. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  299. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  300. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  301. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  302. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  303. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  304. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +1 -1
  305. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  306. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js +2 -2
  307. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  308. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
  309. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  310. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js +2 -2
  311. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  312. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +2 -2
  313. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  314. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
  315. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  316. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +2 -2
  317. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  318. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
  319. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  320. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +2 -2
  321. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  322. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  323. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  324. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  325. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  326. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  327. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  328. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  329. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  330. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  331. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  332. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  333. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  334. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  335. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  336. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  337. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  338. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  339. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  340. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  341. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  342. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  343. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  344. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  345. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  346. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  347. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  348. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  349. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  350. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  351. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  352. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  353. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  354. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  355. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  356. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  357. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  358. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  359. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  360. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js +1 -1
  361. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js.nft.json +1 -1
  362. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  363. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  364. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  365. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  366. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  367. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  368. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  369. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  370. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  371. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  372. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  373. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  374. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  375. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  376. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  377. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  378. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  379. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  380. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  381. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  382. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  383. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  384. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  385. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  386. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  387. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  388. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  389. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  390. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  391. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  392. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  393. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  394. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  395. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  396. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  397. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  398. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  399. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  400. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js +1 -1
  401. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js.nft.json +1 -1
  402. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  403. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  404. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  405. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  406. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  407. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  408. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  409. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  410. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  411. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  412. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  413. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  414. package/app/.next-cli-build/server/app/api/v1/systemone/route.js +1 -1
  415. package/app/.next-cli-build/server/app/api/v1/systemone/route.js.nft.json +1 -1
  416. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
  417. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  418. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
  419. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  420. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
  421. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  422. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
  423. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  424. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  425. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  426. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  427. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  428. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  429. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  430. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  431. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  432. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  433. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  434. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  435. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  436. package/app/.next-cli-build/server/app/callback/page.js +1 -1
  437. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  438. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  439. package/app/.next-cli-build/server/app/callback.html +1 -1
  440. package/app/.next-cli-build/server/app/callback.rsc +5 -5
  441. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +5 -5
  442. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  443. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +5 -5
  444. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  445. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +7 -7
  446. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +7 -7
  447. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +7 -7
  448. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  449. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  450. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +7 -7
  451. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +7 -7
  452. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +7 -7
  453. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  454. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  455. package/app/.next-cli-build/server/app/dashboard/combos.rsc +7 -7
  456. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +7 -7
  457. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +7 -7
  458. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  459. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  460. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +7 -7
  461. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +7 -7
  462. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +7 -7
  463. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  464. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  465. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +7 -7
  466. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +7 -7
  467. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +7 -7
  468. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  469. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  470. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +7 -7
  471. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +7 -7
  472. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +7 -7
  473. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  474. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  475. package/app/.next-cli-build/server/app/dashboard/profile.rsc +7 -7
  476. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +7 -7
  477. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +7 -7
  478. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  479. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  480. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +7 -7
  481. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +7 -7
  482. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +7 -7
  483. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  484. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  485. package/app/.next-cli-build/server/app/dashboard/providers.rsc +7 -7
  486. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +7 -7
  487. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +7 -7
  488. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  489. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  490. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +7 -7
  491. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +7 -7
  492. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +7 -7
  493. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  494. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  495. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +7 -7
  496. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +7 -7
  497. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +7 -7
  498. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  499. package/app/.next-cli-build/server/app/dashboard/quota.html +1 -2
  500. package/app/.next-cli-build/server/app/dashboard/quota.rsc +8 -8
  501. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +8 -8
  502. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +8 -8
  503. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  504. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
  505. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  506. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  507. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  508. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +5 -5
  509. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -5
  510. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  511. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +5 -5
  512. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  513. package/app/.next-cli-build/server/app/dashboard/skills.rsc +7 -7
  514. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +7 -7
  515. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +7 -7
  516. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  517. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  518. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +7 -7
  519. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +7 -7
  520. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +7 -7
  521. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  522. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  523. package/app/.next-cli-build/server/app/dashboard/translator.rsc +7 -7
  524. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +7 -7
  525. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +7 -7
  526. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  527. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  528. package/app/.next-cli-build/server/app/dashboard/usage.rsc +7 -7
  529. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +7 -7
  530. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +7 -7
  531. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  532. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  533. package/app/.next-cli-build/server/app/dashboard.rsc +7 -7
  534. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +7 -7
  535. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +7 -7
  536. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  537. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  538. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  539. package/app/.next-cli-build/server/app/index.html +1 -1
  540. package/app/.next-cli-build/server/app/index.rsc +5 -5
  541. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +5 -5
  542. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +5 -5
  543. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  544. package/app/.next-cli-build/server/app/landing/page.js +1 -1
  545. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  546. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  547. package/app/.next-cli-build/server/app/landing.html +1 -1
  548. package/app/.next-cli-build/server/app/landing.rsc +5 -5
  549. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +5 -5
  550. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  551. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +5 -5
  552. package/app/.next-cli-build/server/app/login/page.js +1 -1
  553. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  554. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  555. package/app/.next-cli-build/server/app/login.html +1 -1
  556. package/app/.next-cli-build/server/app/login.rsc +6 -6
  557. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +6 -6
  558. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  559. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +6 -6
  560. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  561. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  562. package/app/.next-cli-build/server/app/page.js +1 -1
  563. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  564. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  565. package/app/.next-cli-build/server/app-paths-manifest.json +8 -7
  566. package/app/.next-cli-build/server/chunks/1220.js +2 -2
  567. package/app/.next-cli-build/server/chunks/1679.js +1 -1
  568. package/app/.next-cli-build/server/chunks/1731.js +1 -1
  569. package/app/.next-cli-build/server/chunks/2132.js +1 -1
  570. package/app/.next-cli-build/server/chunks/2220.js +1 -1
  571. package/app/.next-cli-build/server/chunks/24.js +1 -1
  572. package/app/.next-cli-build/server/chunks/3535.js +1 -1
  573. package/app/.next-cli-build/server/chunks/3558.js +1 -1
  574. package/app/.next-cli-build/server/chunks/3662.js +1 -1
  575. package/app/.next-cli-build/server/chunks/4037.js +1 -1
  576. package/app/.next-cli-build/server/chunks/4049.js +1 -1
  577. package/app/.next-cli-build/server/chunks/412.js +3 -3
  578. package/app/.next-cli-build/server/chunks/4123.js +1 -1
  579. package/app/.next-cli-build/server/chunks/436.js +1 -1
  580. package/app/.next-cli-build/server/chunks/4572.js +1 -1
  581. package/app/.next-cli-build/server/chunks/458.js +1 -0
  582. package/app/.next-cli-build/server/chunks/4850.js +1 -0
  583. package/app/.next-cli-build/server/chunks/4884.js +1 -1
  584. package/app/.next-cli-build/server/chunks/5245.js +1 -0
  585. package/app/.next-cli-build/server/chunks/5330.js +2 -2
  586. package/app/.next-cli-build/server/chunks/5524.js +1 -1
  587. package/app/.next-cli-build/server/chunks/5615.js +1 -1
  588. package/app/.next-cli-build/server/chunks/5670.js +1 -1
  589. package/app/.next-cli-build/server/chunks/6070.js +1 -1
  590. package/app/.next-cli-build/server/chunks/615.js +1 -1
  591. package/app/.next-cli-build/server/chunks/6249.js +1 -1
  592. package/app/.next-cli-build/server/chunks/6763.js +1 -1
  593. package/app/.next-cli-build/server/chunks/6922.js +1 -1
  594. package/app/.next-cli-build/server/chunks/700.js +1 -1
  595. package/app/.next-cli-build/server/chunks/7011.js +1 -1
  596. package/app/.next-cli-build/server/chunks/7211.js +1 -1
  597. package/app/.next-cli-build/server/chunks/7220.js +1 -1
  598. package/app/.next-cli-build/server/chunks/7247.js +1 -1
  599. package/app/.next-cli-build/server/chunks/7525.js +1 -1
  600. package/app/.next-cli-build/server/chunks/7557.js +1 -1
  601. package/app/.next-cli-build/server/chunks/7716.js +1 -1
  602. package/app/.next-cli-build/server/chunks/7774.js +1 -1
  603. package/app/.next-cli-build/server/chunks/7828.js +1 -1
  604. package/app/.next-cli-build/server/chunks/7995.js +2 -2
  605. package/app/.next-cli-build/server/chunks/827.js +1 -1
  606. package/app/.next-cli-build/server/chunks/8363.js +1 -1
  607. package/app/.next-cli-build/server/chunks/8402.js +1 -1
  608. package/app/.next-cli-build/server/chunks/8416.js +1 -1
  609. package/app/.next-cli-build/server/chunks/8499.js +13 -13
  610. package/app/.next-cli-build/server/chunks/8635.js +1 -1
  611. package/app/.next-cli-build/server/chunks/869.js +1 -1
  612. package/app/.next-cli-build/server/chunks/8895.js +7 -7
  613. package/app/.next-cli-build/server/chunks/8920.js +1 -1
  614. package/app/.next-cli-build/server/chunks/9128.js +1 -1
  615. package/app/.next-cli-build/server/chunks/9609.js +1 -1
  616. package/app/.next-cli-build/server/instrumentation.js +1 -1
  617. package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
  618. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  619. package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
  620. package/app/.next-cli-build/server/middleware.js +1 -1
  621. package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
  622. package/app/.next-cli-build/server/pages/404.html +1 -1
  623. package/app/.next-cli-build/server/pages/500.html +1 -1
  624. package/app/.next-cli-build/static/chunks/1321-2de537d3808c741a.js +1 -0
  625. package/app/.next-cli-build/static/chunks/{5497-b868b97201a1d557.js → 5497-14f3ba8b2ce72eb1.js} +3 -3
  626. package/app/.next-cli-build/static/chunks/{6808-d08581bd3ec10128.js → 6808-539a26dc25829cf4.js} +1 -1
  627. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-9bff48ee9a6eb2a7.js +27 -0
  628. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-5c052aa631fb2cc7.js +1 -0
  629. package/app/.next-cli-build/static/chunks/app/_global-error/page-11746d5d6532f1f0.js +1 -0
  630. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-11746d5d6532f1f0.js +1 -0
  631. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-11746d5d6532f1f0.js +1 -0
  632. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-11746d5d6532f1f0.js +1 -0
  633. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-11746d5d6532f1f0.js +1 -0
  634. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-11746d5d6532f1f0.js +1 -0
  635. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-11746d5d6532f1f0.js +1 -0
  636. package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-11746d5d6532f1f0.js +1 -0
  637. package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-11746d5d6532f1f0.js +1 -0
  638. package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-11746d5d6532f1f0.js +1 -0
  639. package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-11746d5d6532f1f0.js +1 -0
  640. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-11746d5d6532f1f0.js +1 -0
  641. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-11746d5d6532f1f0.js +1 -0
  642. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-11746d5d6532f1f0.js +1 -0
  643. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-11746d5d6532f1f0.js +1 -0
  644. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-11746d5d6532f1f0.js +1 -0
  645. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-11746d5d6532f1f0.js +1 -0
  646. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codewhale-settings/route-11746d5d6532f1f0.js +1 -0
  647. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-profiles/route-11746d5d6532f1f0.js +1 -0
  648. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-11746d5d6532f1f0.js +1 -0
  649. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-11746d5d6532f1f0.js +1 -0
  650. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-11746d5d6532f1f0.js +1 -0
  651. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-11746d5d6532f1f0.js +1 -0
  652. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-11746d5d6532f1f0.js +1 -0
  653. package/app/.next-cli-build/static/chunks/app/api/cli-tools/crush-settings/route-11746d5d6532f1f0.js +1 -0
  654. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-11746d5d6532f1f0.js +1 -0
  655. package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-11746d5d6532f1f0.js +1 -0
  656. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-11746d5d6532f1f0.js +1 -0
  657. package/app/.next-cli-build/static/chunks/app/api/cli-tools/forge-settings/route-11746d5d6532f1f0.js +1 -0
  658. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-11746d5d6532f1f0.js +1 -0
  659. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-11746d5d6532f1f0.js +1 -0
  660. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-11746d5d6532f1f0.js +1 -0
  661. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-11746d5d6532f1f0.js +1 -0
  662. package/app/.next-cli-build/static/chunks/app/api/cli-tools/omp-settings/route-11746d5d6532f1f0.js +1 -0
  663. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-11746d5d6532f1f0.js +1 -0
  664. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-11746d5d6532f1f0.js +1 -0
  665. package/app/.next-cli-build/static/chunks/app/api/cli-tools/pi-settings/route-11746d5d6532f1f0.js +1 -0
  666. package/app/.next-cli-build/static/chunks/app/api/cli-tools/smelt-settings/route-11746d5d6532f1f0.js +1 -0
  667. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-11746d5d6532f1f0.js +1 -0
  668. package/app/.next-cli-build/static/chunks/app/api/combos/presets/route-11746d5d6532f1f0.js +1 -0
  669. package/app/.next-cli-build/static/chunks/app/api/combos/route-11746d5d6532f1f0.js +1 -0
  670. package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-11746d5d6532f1f0.js +1 -0
  671. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-11746d5d6532f1f0.js +1 -0
  672. package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-11746d5d6532f1f0.js +1 -0
  673. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-11746d5d6532f1f0.js +1 -0
  674. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-11746d5d6532f1f0.js +1 -0
  675. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-11746d5d6532f1f0.js +1 -0
  676. package/app/.next-cli-build/static/chunks/app/api/health/route-11746d5d6532f1f0.js +1 -0
  677. package/app/.next-cli-build/static/chunks/app/api/init/route-11746d5d6532f1f0.js +1 -0
  678. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-11746d5d6532f1f0.js +1 -0
  679. package/app/.next-cli-build/static/chunks/app/api/keys/route-11746d5d6532f1f0.js +1 -0
  680. package/app/.next-cli-build/static/chunks/app/api/locale/route-11746d5d6532f1f0.js +1 -0
  681. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-11746d5d6532f1f0.js +1 -0
  682. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-11746d5d6532f1f0.js +1 -0
  683. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-11746d5d6532f1f0.js +1 -0
  684. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-11746d5d6532f1f0.js +1 -0
  685. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-11746d5d6532f1f0.js +1 -0
  686. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-11746d5d6532f1f0.js +1 -0
  687. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-11746d5d6532f1f0.js +1 -0
  688. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-11746d5d6532f1f0.js +1 -0
  689. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-11746d5d6532f1f0.js +1 -0
  690. package/app/.next-cli-build/static/chunks/app/api/models/catalog-sync/route-11746d5d6532f1f0.js +1 -0
  691. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-11746d5d6532f1f0.js +1 -0
  692. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-11746d5d6532f1f0.js +1 -0
  693. package/app/.next-cli-build/static/chunks/app/api/models/route-11746d5d6532f1f0.js +1 -0
  694. package/app/.next-cli-build/static/chunks/app/api/models/test/route-11746d5d6532f1f0.js +1 -0
  695. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-11746d5d6532f1f0.js +1 -0
  696. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-11746d5d6532f1f0.js +1 -0
  697. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-11746d5d6532f1f0.js +1 -0
  698. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-11746d5d6532f1f0.js +1 -0
  699. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-11746d5d6532f1f0.js +1 -0
  700. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-11746d5d6532f1f0.js +1 -0
  701. package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-11746d5d6532f1f0.js +1 -0
  702. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-11746d5d6532f1f0.js +1 -0
  703. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-11746d5d6532f1f0.js +1 -0
  704. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-11746d5d6532f1f0.js +1 -0
  705. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-11746d5d6532f1f0.js +1 -0
  706. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-11746d5d6532f1f0.js +1 -0
  707. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-11746d5d6532f1f0.js +1 -0
  708. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-11746d5d6532f1f0.js +1 -0
  709. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-11746d5d6532f1f0.js +1 -0
  710. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-11746d5d6532f1f0.js +1 -0
  711. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/login/start/route-11746d5d6532f1f0.js +1 -0
  712. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/login/status/route-11746d5d6532f1f0.js +1 -0
  713. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-11746d5d6532f1f0.js +1 -0
  714. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-11746d5d6532f1f0.js +1 -0
  715. package/app/.next-cli-build/static/chunks/app/api/pricing/route-11746d5d6532f1f0.js +1 -0
  716. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-11746d5d6532f1f0.js +1 -0
  717. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-11746d5d6532f1f0.js +1 -0
  718. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-11746d5d6532f1f0.js +1 -0
  719. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-11746d5d6532f1f0.js +1 -0
  720. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/overrides/route-11746d5d6532f1f0.js +1 -0
  721. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-11746d5d6532f1f0.js +1 -0
  722. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-11746d5d6532f1f0.js +1 -0
  723. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-11746d5d6532f1f0.js +1 -0
  724. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-11746d5d6532f1f0.js +1 -0
  725. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-11746d5d6532f1f0.js +1 -0
  726. package/app/.next-cli-build/static/chunks/app/api/providers/route-11746d5d6532f1f0.js +1 -0
  727. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-11746d5d6532f1f0.js +1 -0
  728. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-11746d5d6532f1f0.js +1 -0
  729. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-11746d5d6532f1f0.js +1 -0
  730. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-11746d5d6532f1f0.js +1 -0
  731. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-11746d5d6532f1f0.js +1 -0
  732. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-11746d5d6532f1f0.js +1 -0
  733. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-11746d5d6532f1f0.js +1 -0
  734. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-11746d5d6532f1f0.js +1 -0
  735. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-11746d5d6532f1f0.js +1 -0
  736. package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-11746d5d6532f1f0.js +1 -0
  737. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-11746d5d6532f1f0.js +1 -0
  738. package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-11746d5d6532f1f0.js +1 -0
  739. package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-11746d5d6532f1f0.js +1 -0
  740. package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-11746d5d6532f1f0.js +1 -0
  741. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-11746d5d6532f1f0.js +1 -0
  742. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-11746d5d6532f1f0.js +1 -0
  743. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-11746d5d6532f1f0.js +1 -0
  744. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-11746d5d6532f1f0.js +1 -0
  745. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-11746d5d6532f1f0.js +1 -0
  746. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-11746d5d6532f1f0.js +1 -0
  747. package/app/.next-cli-build/static/chunks/app/api/settings/route-11746d5d6532f1f0.js +1 -0
  748. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-11746d5d6532f1f0.js +1 -0
  749. package/app/.next-cli-build/static/chunks/app/api/tags/route-11746d5d6532f1f0.js +1 -0
  750. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-11746d5d6532f1f0.js +1 -0
  751. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-11746d5d6532f1f0.js +1 -0
  752. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-11746d5d6532f1f0.js +1 -0
  753. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-11746d5d6532f1f0.js +1 -0
  754. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-11746d5d6532f1f0.js +1 -0
  755. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-11746d5d6532f1f0.js +1 -0
  756. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-11746d5d6532f1f0.js +1 -0
  757. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-11746d5d6532f1f0.js +1 -0
  758. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-11746d5d6532f1f0.js +1 -0
  759. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-11746d5d6532f1f0.js +1 -0
  760. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-11746d5d6532f1f0.js +1 -0
  761. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-11746d5d6532f1f0.js +1 -0
  762. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-11746d5d6532f1f0.js +1 -0
  763. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/claude-reset/route-11746d5d6532f1f0.js +1 -0
  764. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-11746d5d6532f1f0.js +1 -0
  765. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-11746d5d6532f1f0.js +1 -0
  766. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-11746d5d6532f1f0.js +1 -0
  767. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-11746d5d6532f1f0.js +1 -0
  768. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-11746d5d6532f1f0.js +1 -0
  769. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-11746d5d6532f1f0.js +1 -0
  770. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-11746d5d6532f1f0.js +1 -0
  771. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-11746d5d6532f1f0.js +1 -0
  772. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-11746d5d6532f1f0.js +1 -0
  773. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-11746d5d6532f1f0.js +1 -0
  774. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-11746d5d6532f1f0.js +1 -0
  775. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-11746d5d6532f1f0.js +1 -0
  776. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-11746d5d6532f1f0.js +1 -0
  777. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-11746d5d6532f1f0.js +1 -0
  778. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-11746d5d6532f1f0.js +1 -0
  779. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-11746d5d6532f1f0.js +1 -0
  780. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-11746d5d6532f1f0.js +1 -0
  781. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-11746d5d6532f1f0.js +1 -0
  782. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-11746d5d6532f1f0.js +1 -0
  783. package/app/.next-cli-build/static/chunks/app/api/v1/models/[...model]/route-11746d5d6532f1f0.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-11746d5d6532f1f0.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-11746d5d6532f1f0.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-11746d5d6532f1f0.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-11746d5d6532f1f0.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/api/v1/route-11746d5d6532f1f0.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-11746d5d6532f1f0.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/api/v1/systemone/route-11746d5d6532f1f0.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-11746d5d6532f1f0.js +1 -0
  792. package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-11746d5d6532f1f0.js +1 -0
  793. package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-11746d5d6532f1f0.js +1 -0
  794. package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-11746d5d6532f1f0.js +1 -0
  795. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-11746d5d6532f1f0.js +1 -0
  796. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-11746d5d6532f1f0.js +1 -0
  797. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-11746d5d6532f1f0.js +1 -0
  798. package/app/.next-cli-build/static/chunks/app/api/version/route-11746d5d6532f1f0.js +1 -0
  799. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-11746d5d6532f1f0.js +1 -0
  800. package/app/.next-cli-build/static/chunks/app/api/version/update/route-11746d5d6532f1f0.js +1 -0
  801. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-11746d5d6532f1f0.js +1 -0
  802. package/app/.next-cli-build/static/chunks/app/page-11746d5d6532f1f0.js +1 -0
  803. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-11746d5d6532f1f0.js +1 -0
  804. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-11746d5d6532f1f0.js +1 -0
  805. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-11746d5d6532f1f0.js +1 -0
  806. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-11746d5d6532f1f0.js +1 -0
  807. package/app/.next-cli-build/static/chunks/{webpack-69d91e61421e854e.js → webpack-30d34428c43081e0.js} +1 -1
  808. package/app/.next-cli-build/static/css/aa115d8bf2a6b933.css +1 -0
  809. package/app/cli/.build-home/.9router/db/data.sqlite +0 -0
  810. package/app/package.json +1 -1
  811. package/app/public/providers/muse.png +0 -0
  812. package/app/public/providers/tinyfish.png +0 -0
  813. package/app/public/providers/v1m.png +0 -0
  814. package/cli.js +15 -0
  815. package/hooks/postinstall.js +4 -0
  816. package/package.json +3 -2
  817. package/src/cli/commands/connect.js +269 -0
  818. package/src/cli/commands/connectTools.js +338 -0
  819. package/src/cli/menus/providers.js +3 -2
  820. package/src/cli/utils/modelSelector.js +1 -1
  821. package/app/.next-cli-build/server/chunks/5315.js +0 -1
  822. package/app/.next-cli-build/server/chunks/8145.js +0 -1
  823. package/app/.next-cli-build/server/chunks/9866.js +0 -1
  824. package/app/.next-cli-build/static/chunks/1321-a87b4fa8cd302a0f.js +0 -1
  825. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-060e4856389ef940.js +0 -27
  826. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-1faac22f38ea330b.js +0 -1
  827. package/app/.next-cli-build/static/chunks/app/_global-error/page-6680a0968873a9a5.js +0 -1
  828. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-6680a0968873a9a5.js +0 -1
  829. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-6680a0968873a9a5.js +0 -1
  830. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-6680a0968873a9a5.js +0 -1
  831. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-6680a0968873a9a5.js +0 -1
  832. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-6680a0968873a9a5.js +0 -1
  833. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-6680a0968873a9a5.js +0 -1
  834. package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-6680a0968873a9a5.js +0 -1
  835. package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-6680a0968873a9a5.js +0 -1
  836. package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-6680a0968873a9a5.js +0 -1
  837. package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-6680a0968873a9a5.js +0 -1
  838. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-6680a0968873a9a5.js +0 -1
  839. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-6680a0968873a9a5.js +0 -1
  840. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-6680a0968873a9a5.js +0 -1
  841. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-6680a0968873a9a5.js +0 -1
  842. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-6680a0968873a9a5.js +0 -1
  843. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-6680a0968873a9a5.js +0 -1
  844. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codewhale-settings/route-6680a0968873a9a5.js +0 -1
  845. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-profiles/route-6680a0968873a9a5.js +0 -1
  846. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-6680a0968873a9a5.js +0 -1
  847. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-6680a0968873a9a5.js +0 -1
  848. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-6680a0968873a9a5.js +0 -1
  849. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-6680a0968873a9a5.js +0 -1
  850. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-6680a0968873a9a5.js +0 -1
  851. package/app/.next-cli-build/static/chunks/app/api/cli-tools/crush-settings/route-6680a0968873a9a5.js +0 -1
  852. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-6680a0968873a9a5.js +0 -1
  853. package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-6680a0968873a9a5.js +0 -1
  854. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-6680a0968873a9a5.js +0 -1
  855. package/app/.next-cli-build/static/chunks/app/api/cli-tools/forge-settings/route-6680a0968873a9a5.js +0 -1
  856. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-6680a0968873a9a5.js +0 -1
  857. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-6680a0968873a9a5.js +0 -1
  858. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-6680a0968873a9a5.js +0 -1
  859. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-6680a0968873a9a5.js +0 -1
  860. package/app/.next-cli-build/static/chunks/app/api/cli-tools/omp-settings/route-6680a0968873a9a5.js +0 -1
  861. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-6680a0968873a9a5.js +0 -1
  862. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-6680a0968873a9a5.js +0 -1
  863. package/app/.next-cli-build/static/chunks/app/api/cli-tools/pi-settings/route-6680a0968873a9a5.js +0 -1
  864. package/app/.next-cli-build/static/chunks/app/api/cli-tools/smelt-settings/route-6680a0968873a9a5.js +0 -1
  865. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-6680a0968873a9a5.js +0 -1
  866. package/app/.next-cli-build/static/chunks/app/api/combos/presets/route-6680a0968873a9a5.js +0 -1
  867. package/app/.next-cli-build/static/chunks/app/api/combos/route-6680a0968873a9a5.js +0 -1
  868. package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-6680a0968873a9a5.js +0 -1
  869. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-6680a0968873a9a5.js +0 -1
  870. package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-6680a0968873a9a5.js +0 -1
  871. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-6680a0968873a9a5.js +0 -1
  872. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-6680a0968873a9a5.js +0 -1
  873. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-6680a0968873a9a5.js +0 -1
  874. package/app/.next-cli-build/static/chunks/app/api/health/route-6680a0968873a9a5.js +0 -1
  875. package/app/.next-cli-build/static/chunks/app/api/init/route-6680a0968873a9a5.js +0 -1
  876. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-6680a0968873a9a5.js +0 -1
  877. package/app/.next-cli-build/static/chunks/app/api/keys/route-6680a0968873a9a5.js +0 -1
  878. package/app/.next-cli-build/static/chunks/app/api/locale/route-6680a0968873a9a5.js +0 -1
  879. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-6680a0968873a9a5.js +0 -1
  880. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-6680a0968873a9a5.js +0 -1
  881. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-6680a0968873a9a5.js +0 -1
  882. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-6680a0968873a9a5.js +0 -1
  883. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-6680a0968873a9a5.js +0 -1
  884. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-6680a0968873a9a5.js +0 -1
  885. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-6680a0968873a9a5.js +0 -1
  886. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-6680a0968873a9a5.js +0 -1
  887. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-6680a0968873a9a5.js +0 -1
  888. package/app/.next-cli-build/static/chunks/app/api/models/catalog-sync/route-6680a0968873a9a5.js +0 -1
  889. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-6680a0968873a9a5.js +0 -1
  890. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-6680a0968873a9a5.js +0 -1
  891. package/app/.next-cli-build/static/chunks/app/api/models/route-6680a0968873a9a5.js +0 -1
  892. package/app/.next-cli-build/static/chunks/app/api/models/test/route-6680a0968873a9a5.js +0 -1
  893. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-6680a0968873a9a5.js +0 -1
  894. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-6680a0968873a9a5.js +0 -1
  895. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-6680a0968873a9a5.js +0 -1
  896. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-6680a0968873a9a5.js +0 -1
  897. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-6680a0968873a9a5.js +0 -1
  898. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-6680a0968873a9a5.js +0 -1
  899. package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-6680a0968873a9a5.js +0 -1
  900. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-6680a0968873a9a5.js +0 -1
  901. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-6680a0968873a9a5.js +0 -1
  902. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-6680a0968873a9a5.js +0 -1
  903. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-6680a0968873a9a5.js +0 -1
  904. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-6680a0968873a9a5.js +0 -1
  905. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-6680a0968873a9a5.js +0 -1
  906. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-6680a0968873a9a5.js +0 -1
  907. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-6680a0968873a9a5.js +0 -1
  908. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-6680a0968873a9a5.js +0 -1
  909. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/login/start/route-6680a0968873a9a5.js +0 -1
  910. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/login/status/route-6680a0968873a9a5.js +0 -1
  911. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-6680a0968873a9a5.js +0 -1
  912. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-6680a0968873a9a5.js +0 -1
  913. package/app/.next-cli-build/static/chunks/app/api/pricing/route-6680a0968873a9a5.js +0 -1
  914. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-6680a0968873a9a5.js +0 -1
  915. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-6680a0968873a9a5.js +0 -1
  916. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-6680a0968873a9a5.js +0 -1
  917. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-6680a0968873a9a5.js +0 -1
  918. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-6680a0968873a9a5.js +0 -1
  919. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-6680a0968873a9a5.js +0 -1
  920. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-6680a0968873a9a5.js +0 -1
  921. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-6680a0968873a9a5.js +0 -1
  922. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-6680a0968873a9a5.js +0 -1
  923. package/app/.next-cli-build/static/chunks/app/api/providers/route-6680a0968873a9a5.js +0 -1
  924. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-6680a0968873a9a5.js +0 -1
  925. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-6680a0968873a9a5.js +0 -1
  926. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-6680a0968873a9a5.js +0 -1
  927. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-6680a0968873a9a5.js +0 -1
  928. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-6680a0968873a9a5.js +0 -1
  929. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-6680a0968873a9a5.js +0 -1
  930. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-6680a0968873a9a5.js +0 -1
  931. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-6680a0968873a9a5.js +0 -1
  932. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-6680a0968873a9a5.js +0 -1
  933. package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-6680a0968873a9a5.js +0 -1
  934. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-6680a0968873a9a5.js +0 -1
  935. package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-6680a0968873a9a5.js +0 -1
  936. package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-6680a0968873a9a5.js +0 -1
  937. package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-6680a0968873a9a5.js +0 -1
  938. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-6680a0968873a9a5.js +0 -1
  939. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-6680a0968873a9a5.js +0 -1
  940. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-6680a0968873a9a5.js +0 -1
  941. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-6680a0968873a9a5.js +0 -1
  942. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-6680a0968873a9a5.js +0 -1
  943. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-6680a0968873a9a5.js +0 -1
  944. package/app/.next-cli-build/static/chunks/app/api/settings/route-6680a0968873a9a5.js +0 -1
  945. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-6680a0968873a9a5.js +0 -1
  946. package/app/.next-cli-build/static/chunks/app/api/tags/route-6680a0968873a9a5.js +0 -1
  947. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-6680a0968873a9a5.js +0 -1
  948. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-6680a0968873a9a5.js +0 -1
  949. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-6680a0968873a9a5.js +0 -1
  950. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-6680a0968873a9a5.js +0 -1
  951. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-6680a0968873a9a5.js +0 -1
  952. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-6680a0968873a9a5.js +0 -1
  953. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-6680a0968873a9a5.js +0 -1
  954. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-6680a0968873a9a5.js +0 -1
  955. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-6680a0968873a9a5.js +0 -1
  956. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-6680a0968873a9a5.js +0 -1
  957. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-6680a0968873a9a5.js +0 -1
  958. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-6680a0968873a9a5.js +0 -1
  959. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-6680a0968873a9a5.js +0 -1
  960. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/claude-reset/route-6680a0968873a9a5.js +0 -1
  961. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-6680a0968873a9a5.js +0 -1
  962. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-6680a0968873a9a5.js +0 -1
  963. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-6680a0968873a9a5.js +0 -1
  964. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-6680a0968873a9a5.js +0 -1
  965. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-6680a0968873a9a5.js +0 -1
  966. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-6680a0968873a9a5.js +0 -1
  967. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-6680a0968873a9a5.js +0 -1
  968. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-6680a0968873a9a5.js +0 -1
  969. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-6680a0968873a9a5.js +0 -1
  970. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-6680a0968873a9a5.js +0 -1
  971. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-6680a0968873a9a5.js +0 -1
  972. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-6680a0968873a9a5.js +0 -1
  973. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-6680a0968873a9a5.js +0 -1
  974. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-6680a0968873a9a5.js +0 -1
  975. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-6680a0968873a9a5.js +0 -1
  976. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-6680a0968873a9a5.js +0 -1
  977. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-6680a0968873a9a5.js +0 -1
  978. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-6680a0968873a9a5.js +0 -1
  979. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-6680a0968873a9a5.js +0 -1
  980. package/app/.next-cli-build/static/chunks/app/api/v1/models/[...model]/route-6680a0968873a9a5.js +0 -1
  981. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-6680a0968873a9a5.js +0 -1
  982. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-6680a0968873a9a5.js +0 -1
  983. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-6680a0968873a9a5.js +0 -1
  984. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-6680a0968873a9a5.js +0 -1
  985. package/app/.next-cli-build/static/chunks/app/api/v1/route-6680a0968873a9a5.js +0 -1
  986. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-6680a0968873a9a5.js +0 -1
  987. package/app/.next-cli-build/static/chunks/app/api/v1/systemone/route-6680a0968873a9a5.js +0 -1
  988. package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-6680a0968873a9a5.js +0 -1
  989. package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-6680a0968873a9a5.js +0 -1
  990. package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-6680a0968873a9a5.js +0 -1
  991. package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-6680a0968873a9a5.js +0 -1
  992. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-6680a0968873a9a5.js +0 -1
  993. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-6680a0968873a9a5.js +0 -1
  994. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-6680a0968873a9a5.js +0 -1
  995. package/app/.next-cli-build/static/chunks/app/api/version/route-6680a0968873a9a5.js +0 -1
  996. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-6680a0968873a9a5.js +0 -1
  997. package/app/.next-cli-build/static/chunks/app/api/version/update/route-6680a0968873a9a5.js +0 -1
  998. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-6680a0968873a9a5.js +0 -1
  999. package/app/.next-cli-build/static/chunks/app/page-6680a0968873a9a5.js +0 -1
  1000. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-6680a0968873a9a5.js +0 -1
  1001. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-6680a0968873a9a5.js +0 -1
  1002. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-6680a0968873a9a5.js +0 -1
  1003. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-6680a0968873a9a5.js +0 -1
  1004. package/app/.next-cli-build/static/css/8f3253c444713bee.css +0 -1
  1005. /package/app/.next-cli-build/static/{JwK09RQ_bBz2fzOX7dkNE → 5trrx5cMl-I1JzJ-uos8B}/_buildManifest.js +0 -0
  1006. /package/app/.next-cli-build/static/{JwK09RQ_bBz2fzOX7dkNE → 5trrx5cMl-I1JzJ-uos8B}/_ssgManifest.js +0 -0
@@ -0,0 +1,269 @@
1
+ /**
2
+ * `9router connect <server-url>` — point local CLI tools (Claude Code, Codex, …) at a
3
+ * REMOTE 9router server. Nothing runs locally: we log in with the dashboard
4
+ * password, reuse/create an API key for this machine, then write the tool's
5
+ * settings files (see connectTools.js). Works via `npx 9router connect …` with no global install.
6
+ *
7
+ * The password and API key are never printed (key is masked).
8
+ */
9
+
10
+ const os = require("os");
11
+ const { TOOL_IDS, CLAUDE_MODELS, resolveTools } = require("./connectTools");
12
+
13
+ const DEFAULT_MODEL = "cc/claude-sonnet-5";
14
+
15
+ const HELP = `
16
+ Usage: 9router connect <server-url> [options]
17
+
18
+ Configure CLI tools on THIS machine to use a remote 9router server.
19
+ No local server is started. Run without installing:
20
+
21
+ npx 9router connect http://<server-host>:20128
22
+ npx 9router connect http://<server-host>:20128 --tools claude,codex,opencode
23
+
24
+ Options:
25
+ --tools <list> Comma-separated tools to configure (prompted if omitted
26
+ in a terminal; default: claude). Supported:
27
+ ${TOOL_IDS.join(", ")}, all
28
+ --password <pw> Dashboard password (or env NINE_ROUTER_PASSWORD;
29
+ prompted if omitted — preferred, keeps it out of shell history)
30
+ --key-name <name> API key name to reuse/create (default: cli-<hostname>)
31
+ --api-key <key> Use this API key, skip login + key lookup
32
+ --model <model> Model for non-Claude tools (default: ${DEFAULT_MODEL})
33
+ --fable|--opus|--sonnet|--haiku <model>
34
+ Override Claude Code model mapping
35
+ --print-env Also print OpenAI-compatible env vars for other CLIs
36
+ --reset Remove 9router settings from the selected tools and exit
37
+ -h, --help Show this help
38
+ `;
39
+
40
+ function parseArgs(argv) {
41
+ const opts = {
42
+ password: process.env.NINE_ROUTER_PASSWORD || null,
43
+ keyName: `cli-${os.hostname()}`.slice(0, 64),
44
+ apiKey: null,
45
+ models: {},
46
+ };
47
+ for (let i = 0; i < argv.length; i++) {
48
+ const a = argv[i];
49
+ const next = () => {
50
+ const v = argv[++i];
51
+ if (v === undefined) throw new Error(`Missing value for ${a}`);
52
+ return v;
53
+ };
54
+ if (a === "--password") opts.password = next();
55
+ else if (a === "--key-name") opts.keyName = next();
56
+ else if (a === "--api-key") opts.apiKey = next();
57
+ else if (a === "--tools") opts.tools = next().split(",");
58
+ else if (a === "--model") opts.model = next();
59
+ else if (a === "--print-env") opts.printEnv = true;
60
+ else if (a === "--reset") opts.reset = true;
61
+ else if (a === "-h" || a === "--help") opts.help = true;
62
+ else if (a.startsWith("--") && CLAUDE_MODELS.some((m) => `--${m.flag}` === a)) opts.models[a.slice(2)] = next();
63
+ else if (!a.startsWith("-") && !opts.url) opts.url = a;
64
+ else throw new Error(`Unknown option: ${a}`);
65
+ }
66
+ return opts;
67
+ }
68
+
69
+ function normalizeServerUrl(input) {
70
+ let raw = String(input || "").trim();
71
+ if (!/^https?:\/\//i.test(raw)) raw = `http://${raw}`;
72
+ const u = new URL(raw);
73
+ // Accept pasted dashboard/API URLs: keep only origin.
74
+ return u.origin;
75
+ }
76
+
77
+ function maskKey(key) {
78
+ if (!key || key.length < 12) return "****";
79
+ return `${key.slice(0, 6)}…${key.slice(-4)}`;
80
+ }
81
+
82
+ // Enquirer rejects with an empty value on Ctrl+C / Esc.
83
+ class Cancelled extends Error {}
84
+ const prompt = (p) => p.run().catch((err) => { throw err || new Cancelled("Cancelled"); });
85
+
86
+ async function promptPassword() {
87
+ if (!process.stdin.isTTY) throw new Error("Password required: pass --password or set NINE_ROUTER_PASSWORD");
88
+ const { Password } = require("enquirer");
89
+ return prompt(new Password({ message: "9router dashboard password" }));
90
+ }
91
+
92
+ async function request(url, { method = "GET", body, cookie, apiKey } = {}) {
93
+ const headers = { Accept: "application/json" };
94
+ if (body) headers["Content-Type"] = "application/json";
95
+ if (cookie) headers.Cookie = cookie;
96
+ if (apiKey) headers.Authorization = `Bearer ${apiKey}`;
97
+ let res;
98
+ try {
99
+ res = await fetch(url, { method, headers, body: body ? JSON.stringify(body) : undefined, redirect: "manual" });
100
+ } catch (err) {
101
+ throw new Error(`Cannot reach ${new URL(url).origin}: ${err.cause?.code || err.message}`);
102
+ }
103
+ let data = null;
104
+ try { data = await res.json(); } catch { /* non-JSON */ }
105
+ // Server-controlled strings get printed later — strip control chars (terminal escape injection).
106
+ if (typeof data?.error === "string") data.error = data.error.replace(/[\x00-\x1f\x7f]/g, "");
107
+ return { status: res.status, headers: res.headers, data };
108
+ }
109
+
110
+ function extractAuthCookie(headers) {
111
+ const list = typeof headers.getSetCookie === "function" ? headers.getSetCookie() : [headers.get("set-cookie") || ""];
112
+ for (const c of list) {
113
+ const m = /(?:^|,\s*)auth_token=([^;]+)/.exec(c);
114
+ if (m) return `auth_token=${m[1]}`;
115
+ }
116
+ return null;
117
+ }
118
+
119
+ async function login(server, password) {
120
+ const res = await request(`${server}/api/auth/login`, { method: "POST", body: { password } });
121
+ if (res.status === 200 && res.data?.success) {
122
+ const cookie = extractAuthCookie(res.headers);
123
+ if (!cookie) throw new Error("Login succeeded but server returned no session cookie");
124
+ return cookie;
125
+ }
126
+ throw new Error(`Login failed (${res.status}): ${res.data?.error || "unknown error"}`);
127
+ }
128
+
129
+ async function getOrCreateApiKey(server, cookie, keyName) {
130
+ const list = await request(`${server}/api/keys`, { cookie });
131
+ if (list.status === 401) throw new Error("Unauthorized listing API keys — wrong password or session rejected");
132
+ if (list.status !== 200) throw new Error(`Failed to list API keys (${list.status}): ${list.data?.error || ""}`);
133
+ const keys = (list.data?.keys || []).filter((k) => k.isActive !== false);
134
+ const existing = keys.find((k) => k.name === keyName);
135
+ if (existing) return { key: existing.key, created: false };
136
+
137
+ const created = await request(`${server}/api/keys`, { method: "POST", cookie, body: { name: keyName } });
138
+ if (created.status !== 201 || !created.data?.key) {
139
+ throw new Error(`Failed to create API key (${created.status}): ${created.data?.error || ""}`);
140
+ }
141
+ return { key: created.data.key, created: true };
142
+ }
143
+
144
+ async function listModels(server, apiKey) {
145
+ const res = await request(`${server}/v1/models`, { apiKey });
146
+ if (res.status === 401) throw new Error("API key rejected by server (/v1/models returned 401)");
147
+ if (res.status !== 200) return null;
148
+ return new Set((res.data?.data || []).map((m) => m.id));
149
+ }
150
+
151
+ async function promptTools() {
152
+ const { MultiSelect } = require("enquirer");
153
+ const { TOOLS } = require("./connectTools");
154
+ return prompt(new MultiSelect({
155
+ message: "Select CLI tools to configure (space to toggle, enter to confirm)",
156
+ choices: TOOLS.map((t) => ({ name: t.id, message: t.name, hint: t.paths()[0], enabled: t.id === "claude" })),
157
+ validate: (v) => v.length > 0 || "Select at least one tool",
158
+ }));
159
+ }
160
+
161
+ async function selectTools(opts) {
162
+ if (opts.tools) return resolveTools(opts.tools);
163
+ if (process.stdin.isTTY) return resolveTools(await promptTools());
164
+ return resolveTools(["claude"]);
165
+ }
166
+
167
+ async function run(argv) {
168
+ try {
169
+ return await runConnect(argv);
170
+ } catch (err) {
171
+ if (err instanceof Cancelled) {
172
+ console.log("Cancelled.");
173
+ return 130;
174
+ }
175
+ throw err;
176
+ }
177
+ }
178
+
179
+ async function runConnect(argv) {
180
+ const opts = parseArgs(argv);
181
+ if (opts.help) {
182
+ console.log(HELP);
183
+ return 0;
184
+ }
185
+ if (!opts.reset && !opts.url) {
186
+ console.log(HELP);
187
+ return 1;
188
+ }
189
+
190
+ // Pick tools before any network call: bad names fail fast, and cancelling
191
+ // the picker never leaves a freshly created key on the server.
192
+ const tools = await selectTools(opts);
193
+
194
+ if (opts.reset) {
195
+ let failed = 0;
196
+ for (const t of tools) {
197
+ try {
198
+ const files = await t.reset();
199
+ console.log(files.length ? `✅ ${t.name}: removed 9router settings (${files.join(", ")})` : `• ${t.name}: nothing to reset`);
200
+ } catch (err) {
201
+ failed++;
202
+ console.log(`❌ ${t.name}: ${err.message}`);
203
+ }
204
+ }
205
+ return failed ? 1 : 0;
206
+ }
207
+
208
+ const server = normalizeServerUrl(opts.url);
209
+ const isRemoteHttp = server.startsWith("http://") && !/^http:\/\/(localhost|127\.0\.0\.1|\[::1\])(:|$)/.test(server);
210
+ if (isRemoteHttp) {
211
+ console.log("\x1b[33m⚠ Plain HTTP: password and API key travel unencrypted. Use only on a trusted LAN/VPN.\x1b[0m");
212
+ }
213
+
214
+ let apiKey = opts.apiKey;
215
+ if (apiKey) {
216
+ console.log("• Using provided API key");
217
+ } else {
218
+ const password = opts.password ?? (await promptPassword());
219
+ console.log(`• Logging in to ${server}`);
220
+ const cookie = await login(server, password);
221
+ const result = await getOrCreateApiKey(server, cookie, opts.keyName);
222
+ apiKey = result.key;
223
+ console.log(`• ${result.created ? "Created" : "Reusing"} API key "${opts.keyName}" (${maskKey(apiKey)})`);
224
+ }
225
+
226
+ const available = await listModels(server, apiKey);
227
+ const warnMissing = (label, model, flag) => {
228
+ if (available && !available.has(model)) {
229
+ console.log(`\x1b[33m⚠ ${label}: "${model}" not listed by server — override with ${flag} <model>\x1b[0m`);
230
+ }
231
+ };
232
+
233
+ const claudeModels = {};
234
+ if (tools.some((t) => t.id === "claude")) {
235
+ for (const m of CLAUDE_MODELS) {
236
+ claudeModels[m.envKey] = opts.models[m.flag] || m.defaultValue;
237
+ warnMissing(`claude ${m.flag}`, claudeModels[m.envKey], `--${m.flag}`);
238
+ }
239
+ }
240
+ const model = opts.model || DEFAULT_MODEL;
241
+ if (tools.some((t) => t.id !== "claude")) warnMissing("model", model, "--model");
242
+
243
+ const ctx = { baseUrl: server, apiKey, model, claudeModels };
244
+ let failed = 0;
245
+ for (const t of tools) {
246
+ try {
247
+ const files = await t.apply(ctx);
248
+ console.log(`✅ ${t.name} → ${files.join(", ")}`);
249
+ } catch (err) {
250
+ failed++;
251
+ console.log(`❌ ${t.name}: ${err.message}`);
252
+ }
253
+ }
254
+ console.log(` Base URL: ${server}/v1`);
255
+ if (tools.some((t) => t.id === "claude")) {
256
+ for (const m of CLAUDE_MODELS) console.log(` ${m.envKey}=${claudeModels[m.envKey]}`);
257
+ }
258
+ if (tools.some((t) => t.id !== "claude")) console.log(` Model (other tools): ${model}`);
259
+ console.log(` Restart the tools to apply. Undo: npx 9router connect --reset --tools ${tools.map((t) => t.id).join(",")}`);
260
+
261
+ if (opts.printEnv) {
262
+ console.log("\nOpenAI-compatible CLIs (codex, opencode, aider, …):");
263
+ console.log(` OPENAI_BASE_URL=${server}/v1`);
264
+ console.log(` OPENAI_API_KEY=${apiKey}`);
265
+ }
266
+ return failed ? 1 : 0;
267
+ }
268
+
269
+ module.exports = { run, __test__: { parseArgs, normalizeServerUrl, extractAuthCookie, maskKey, Cancelled } };
@@ -0,0 +1,338 @@
1
+ /**
2
+ * Per-tool config writers for `9router connect`. File layout and keys mirror
3
+ * the dashboard routes in src/app/api/cli-tools/<tool>-settings/route.js so a
4
+ * tool configured here looks identical to one applied from the dashboard.
5
+ *
6
+ * Each tool: { id, name, paths(), apply(ctx) → string[] written, reset() → string[] touched }
7
+ * ctx: { baseUrl (origin, no /v1), apiKey, model, claudeModels: { envKey: model } }
8
+ */
9
+
10
+ const fs = require("fs");
11
+ const path = require("path");
12
+ const os = require("os");
13
+
14
+ const home = () => os.homedir();
15
+ const v1 = (baseUrl) => (baseUrl.endsWith("/v1") ? baseUrl : `${baseUrl}/v1`);
16
+
17
+ // Drop trailing commas (JSONC) outside string literals, so values like "a,}" survive.
18
+ function stripTrailingCommas(text) {
19
+ return text.replace(/("(?:\\.|[^"\\])*")|,(\s*[}\]])/g, (m, str, tail) => str ?? tail);
20
+ }
21
+
22
+ function readJson(file) {
23
+ try {
24
+ return JSON.parse(stripTrailingCommas(fs.readFileSync(file, "utf8")));
25
+ } catch (err) {
26
+ if (err.code === "ENOENT") return null;
27
+ throw new Error(`Cannot parse ${file}: ${err.message}`);
28
+ }
29
+ }
30
+
31
+ // Files hold the API key → owner-only (0600) on POSIX; no-op on Windows.
32
+ const SECRET_MODE = 0o600;
33
+
34
+ // Rewrite an existing file on reset (no backup, existing mode kept).
35
+ function rewriteFile(file, content) {
36
+ fs.writeFileSync(file, content, { mode: SECRET_MODE });
37
+ }
38
+
39
+ // One-time backup of the user's pre-9router file, then write.
40
+ function writeFile(file, content) {
41
+ fs.mkdirSync(path.dirname(file), { recursive: true });
42
+ const backup = `${file}.bak-9router`;
43
+ if (fs.existsSync(file) && !fs.existsSync(backup)) {
44
+ fs.copyFileSync(file, backup);
45
+ fs.chmodSync(backup, SECRET_MODE);
46
+ }
47
+ fs.writeFileSync(file, content, { mode: SECRET_MODE });
48
+ fs.chmodSync(file, SECRET_MODE); // mode above only applies when creating
49
+ }
50
+
51
+ const writeJson = (file, data) => writeFile(file, JSON.stringify(data, null, 2));
52
+
53
+ // confbox is ESM-only; loaded lazily so non-codex runs don't need it.
54
+ async function toml() {
55
+ return import("confbox");
56
+ }
57
+
58
+ // ── Claude Code ─────────────────────────────────────────────────────────────
59
+ const CLAUDE_MODELS = [
60
+ { flag: "fable", envKey: "ANTHROPIC_DEFAULT_FABLE_MODEL", defaultValue: "cc/claude-fable-5" },
61
+ { flag: "opus", envKey: "ANTHROPIC_DEFAULT_OPUS_MODEL", defaultValue: "cc/claude-opus-5" },
62
+ { flag: "sonnet", envKey: "ANTHROPIC_DEFAULT_SONNET_MODEL", defaultValue: "cc/claude-sonnet-5" },
63
+ { flag: "haiku", envKey: "ANTHROPIC_DEFAULT_HAIKU_MODEL", defaultValue: "cc/claude-haiku-4-5-20251001" },
64
+ ];
65
+ const CLAUDE_RESET_KEYS = ["ANTHROPIC_BASE_URL", "ANTHROPIC_AUTH_TOKEN", ...CLAUDE_MODELS.map((m) => m.envKey)];
66
+ const claudePath = () => path.join(home(), ".claude", "settings.json");
67
+
68
+ const claude = {
69
+ id: "claude",
70
+ name: "Claude Code",
71
+ paths: () => [claudePath()],
72
+ async apply({ baseUrl, apiKey, claudeModels }) {
73
+ const file = claudePath();
74
+ const cur = readJson(file) || {};
75
+ cur.hasCompletedOnboarding = true;
76
+ cur.env = { ...(cur.env || {}), ANTHROPIC_BASE_URL: v1(baseUrl), ANTHROPIC_AUTH_TOKEN: apiKey, ...claudeModels };
77
+ writeJson(file, cur);
78
+ return [file];
79
+ },
80
+ async reset() {
81
+ const file = claudePath();
82
+ const cur = readJson(file);
83
+ if (!cur) return [];
84
+ if (cur.env) {
85
+ CLAUDE_RESET_KEYS.forEach((k) => delete cur.env[k]);
86
+ if (Object.keys(cur.env).length === 0) delete cur.env;
87
+ }
88
+ rewriteFile(file, JSON.stringify(cur, null, 2));
89
+ return [file];
90
+ },
91
+ };
92
+
93
+ // ── OpenAI Codex CLI ────────────────────────────────────────────────────────
94
+ const codexPath = () => path.join(home(), ".codex", "config.toml");
95
+
96
+ const codex = {
97
+ id: "codex",
98
+ name: "OpenAI Codex CLI",
99
+ paths: () => [codexPath()],
100
+ async apply({ baseUrl, apiKey, model }) {
101
+ const { parseTOML, stringifyTOML } = await toml();
102
+ const file = codexPath();
103
+ let cfg = {};
104
+ try { cfg = parseTOML(fs.readFileSync(file, "utf8")) || {}; } catch (err) { if (err.code !== "ENOENT") throw err; }
105
+ cfg.model = model;
106
+ cfg.model_provider = "9router";
107
+ cfg.model_providers = cfg.model_providers || {};
108
+ // Custom providers ignore auth.json — key must travel as a static header.
109
+ cfg.model_providers["9router"] = {
110
+ name: "9Router",
111
+ base_url: v1(baseUrl),
112
+ wire_api: "responses",
113
+ http_headers: { Authorization: `Bearer ${apiKey}` },
114
+ };
115
+ cfg.agents = cfg.agents || {};
116
+ delete cfg.agents.subagent;
117
+ cfg.agents.default_subagent_model = model;
118
+ writeFile(file, stringifyTOML(cfg));
119
+ return [file];
120
+ },
121
+ async reset() {
122
+ const { parseTOML, stringifyTOML } = await toml();
123
+ const file = codexPath();
124
+ let cfg;
125
+ try { cfg = parseTOML(fs.readFileSync(file, "utf8")) || {}; } catch (err) { if (err.code === "ENOENT") return []; throw err; }
126
+ if (cfg.model_provider === "9router") { delete cfg.model; delete cfg.model_provider; }
127
+ if (cfg.model_providers) delete cfg.model_providers["9router"];
128
+ if (cfg.agents) { delete cfg.agents.default_subagent_model; delete cfg.agents.subagent; }
129
+ for (const k of ["model_providers", "agents"]) {
130
+ if (cfg[k] && Object.keys(cfg[k]).length === 0) delete cfg[k];
131
+ }
132
+ rewriteFile(file, stringifyTOML(cfg));
133
+ return [file];
134
+ },
135
+ };
136
+
137
+ // ── OpenCode ────────────────────────────────────────────────────────────────
138
+ const opencodePath = () => path.join(home(), ".config", "opencode", "opencode.json");
139
+
140
+ const opencode = {
141
+ id: "opencode",
142
+ name: "OpenCode",
143
+ paths: () => [opencodePath()],
144
+ async apply({ baseUrl, apiKey, model }) {
145
+ const file = opencodePath();
146
+ const cfg = readJson(file) || {};
147
+ cfg.provider = cfg.provider || {};
148
+ const p = cfg.provider["9router"] || { npm: "@ai-sdk/openai-compatible", options: {}, models: {} };
149
+ p.options = { ...p.options, baseURL: v1(baseUrl), apiKey };
150
+ p.models = p.models || {};
151
+ p.models[model] = { name: model, modalities: { input: ["text", "image"], output: ["text"] } };
152
+ cfg.provider["9router"] = p;
153
+ cfg.model = `9router/${model}`;
154
+ cfg.agent = cfg.agent || {};
155
+ cfg.agent.explorer = {
156
+ description: "Fast explorer subagent for codebase exploration",
157
+ mode: "subagent",
158
+ model: `9router/${model}`,
159
+ };
160
+ writeJson(file, cfg);
161
+ return [file];
162
+ },
163
+ async reset() {
164
+ const file = opencodePath();
165
+ const cfg = readJson(file);
166
+ if (!cfg) return [];
167
+ if (cfg.provider) delete cfg.provider["9router"];
168
+ if (cfg.model?.startsWith("9router/")) delete cfg.model;
169
+ if (cfg.agent?.explorer?.model?.startsWith("9router/")) {
170
+ delete cfg.agent.explorer;
171
+ if (Object.keys(cfg.agent).length === 0) delete cfg.agent;
172
+ }
173
+ rewriteFile(file, JSON.stringify(cfg, null, 2));
174
+ return [file];
175
+ },
176
+ };
177
+
178
+ // ── Factory Droid ───────────────────────────────────────────────────────────
179
+ const droidPath = () => path.join(home(), ".factory", "settings.json");
180
+ const isDroid9r = (m) => m.id?.startsWith("custom:9Router");
181
+
182
+ const droid = {
183
+ id: "droid",
184
+ name: "Factory Droid",
185
+ paths: () => [droidPath()],
186
+ async apply({ baseUrl, apiKey, model }) {
187
+ const file = droidPath();
188
+ const cfg = readJson(file) || {};
189
+ const others = (cfg.customModels || []).filter((m) => !isDroid9r(m));
190
+ cfg.customModels = [
191
+ {
192
+ model,
193
+ id: "custom:9Router-0",
194
+ index: 0,
195
+ baseUrl: v1(baseUrl),
196
+ apiKey,
197
+ displayName: model,
198
+ maxOutputTokens: 131072,
199
+ noImageSupport: false,
200
+ provider: "openai",
201
+ },
202
+ ...others,
203
+ ];
204
+ cfg.customModels.forEach((m, i) => { m.index = i; });
205
+ writeJson(file, cfg);
206
+ return [file];
207
+ },
208
+ async reset() {
209
+ const file = droidPath();
210
+ const cfg = readJson(file);
211
+ if (!cfg) return [];
212
+ if (cfg.customModels) {
213
+ cfg.customModels = cfg.customModels.filter((m) => !isDroid9r(m));
214
+ if (cfg.customModels.length === 0) delete cfg.customModels;
215
+ }
216
+ rewriteFile(file, JSON.stringify(cfg, null, 2));
217
+ return [file];
218
+ },
219
+ };
220
+
221
+ // ── Crush ───────────────────────────────────────────────────────────────────
222
+ const crushPath = () => path.join(process.env.XDG_CONFIG_HOME || path.join(home(), ".config"), "crush", "crush.json");
223
+
224
+ const crush = {
225
+ id: "crush",
226
+ name: "Crush",
227
+ paths: () => [crushPath()],
228
+ async apply({ baseUrl, apiKey, model }) {
229
+ const file = crushPath();
230
+ const cfg = readJson(file) || {};
231
+ cfg.providers = cfg.providers || {};
232
+ cfg.providers["9router"] = {
233
+ type: "openai-compat",
234
+ base_url: v1(baseUrl),
235
+ api_key: apiKey,
236
+ models: [{ id: model, name: model, context_window: 128000 }],
237
+ };
238
+ writeJson(file, cfg);
239
+ return [file];
240
+ },
241
+ async reset() {
242
+ const file = crushPath();
243
+ const cfg = readJson(file);
244
+ if (!cfg?.providers?.["9router"]) return [];
245
+ delete cfg.providers["9router"];
246
+ if (Object.keys(cfg.providers).length === 0) delete cfg.providers;
247
+ rewriteFile(file, JSON.stringify(cfg, null, 2));
248
+ return [file];
249
+ },
250
+ };
251
+
252
+ // ── Kilo Code (CLI auth only; VS Code settings left to the dashboard) ───────
253
+ const kiloPath = () => path.join(home(), ".local", "share", "kilo", "auth.json");
254
+
255
+ const kilo = {
256
+ id: "kilo",
257
+ name: "Kilo Code CLI",
258
+ paths: () => [kiloPath()],
259
+ async apply({ baseUrl, apiKey, model }) {
260
+ const file = kiloPath();
261
+ const auth = readJson(file) || {};
262
+ auth["openai-compatible"] = { type: "api-key", apiKey, baseUrl: v1(baseUrl), model };
263
+ writeJson(file, auth);
264
+ return [file];
265
+ },
266
+ async reset() {
267
+ const file = kiloPath();
268
+ const auth = readJson(file);
269
+ if (!auth) return [];
270
+ delete auth["openai-compatible"];
271
+ delete auth["9router"];
272
+ rewriteFile(file, JSON.stringify(auth, null, 2));
273
+ return [file];
274
+ },
275
+ };
276
+
277
+ // ── Cline CLI ───────────────────────────────────────────────────────────────
278
+ const clineDir = () => path.join(home(), ".cline", "data");
279
+ const clineState = () => path.join(clineDir(), "globalState.json");
280
+ const clineSecrets = () => path.join(clineDir(), "secrets.json");
281
+
282
+ const cline = {
283
+ id: "cline",
284
+ name: "Cline CLI",
285
+ paths: () => [clineState(), clineSecrets()],
286
+ async apply({ baseUrl, apiKey, model }) {
287
+ const state = readJson(clineState()) || {};
288
+ state.actModeApiProvider = "openai";
289
+ state.planModeApiProvider = "openai";
290
+ state.openAiBaseUrl = baseUrl; // Cline expects base WITHOUT /v1
291
+ state.openAiModelId = model;
292
+ state.planModeOpenAiModelId = model;
293
+ writeJson(clineState(), state);
294
+ const secrets = readJson(clineSecrets()) || {};
295
+ secrets.openAiApiKey = apiKey;
296
+ writeJson(clineSecrets(), secrets);
297
+ return [clineState(), clineSecrets()];
298
+ },
299
+ async reset() {
300
+ const state = readJson(clineState());
301
+ if (!state) return [];
302
+ if (state.actModeApiProvider === "openai") {
303
+ delete state.openAiBaseUrl;
304
+ delete state.openAiModelId;
305
+ delete state.planModeOpenAiModelId;
306
+ state.actModeApiProvider = "cline";
307
+ state.planModeApiProvider = "cline";
308
+ }
309
+ rewriteFile(clineState(), JSON.stringify(state, null, 2));
310
+ const touched = [clineState()];
311
+ const secrets = readJson(clineSecrets());
312
+ if (secrets) {
313
+ delete secrets.openAiApiKey;
314
+ rewriteFile(clineSecrets(), JSON.stringify(secrets, null, 2));
315
+ touched.push(clineSecrets());
316
+ }
317
+ return touched;
318
+ },
319
+ };
320
+
321
+ const TOOLS = [claude, codex, opencode, droid, crush, kilo, cline];
322
+ const TOOL_IDS = TOOLS.map((t) => t.id);
323
+ const TOOL_ALIASES = { "claude-code": "claude", "claudecode": "claude", "factory": "droid", "kilocode": "kilo" };
324
+
325
+ function resolveTools(list) {
326
+ const ids = new Set();
327
+ for (const raw of list) {
328
+ const id = String(raw).trim().toLowerCase();
329
+ if (!id) continue;
330
+ if (id === "all") { TOOL_IDS.forEach((t) => ids.add(t)); continue; }
331
+ const real = TOOL_ALIASES[id] || id;
332
+ if (!TOOL_IDS.includes(real)) throw new Error(`Unknown tool "${raw}". Supported: ${TOOL_IDS.join(", ")}, all`);
333
+ ids.add(real);
334
+ }
335
+ return TOOLS.filter((t) => ids.has(t.id));
336
+ }
337
+
338
+ module.exports = { TOOLS, TOOL_IDS, CLAUDE_MODELS, resolveTools, __test__: { stripTrailingCommas } };
@@ -138,11 +138,12 @@ const OAUTH_PROVIDERS = {
138
138
  iflow: { id: "iflow", alias: "if", name: "iFlow AI" },
139
139
  qwen: { id: "qwen", alias: "qw", name: "Qwen Code" },
140
140
  kiro: { id: "kiro", alias: "kr", name: "Kiro AI" },
141
+ glm: { id: "glm", alias: "glm", name: "Zai GLM Coding" },
141
142
  };
142
143
 
143
144
  const APIKEY_PROVIDERS = {
144
145
  openrouter: { id: "openrouter", name: "OpenRouter" },
145
- glm: { id: "glm", name: "GLM Coding" },
146
+ glm: { id: "glm", name: "Zai GLM Coding" },
146
147
  minimax: { id: "minimax", name: "Minimax Coding" },
147
148
  kimi: { id: "kimi", name: "Kimi" },
148
149
  openai: { id: "openai", name: "OpenAI" },
@@ -399,7 +400,7 @@ async function showConnectionActions(connection, providerId, breadcrumb = []) {
399
400
  * @param {string} authType - "oauth" or "apikey"
400
401
  */
401
402
  // Providers that use Device Code Flow (terminal-based polling)
402
- const DEVICE_CODE_PROVIDERS = ["github", "qwen", "kiro"];
403
+ const DEVICE_CODE_PROVIDERS = ["github", "qwen", "kiro", "glm"];
403
404
 
404
405
  /**
405
406
  * Handle adding new connection - auto-detect flow type
@@ -21,7 +21,7 @@ const PROVIDER_ALIAS_NAMES = {
21
21
  oc: "OpenCode Free",
22
22
  opencode: "OpenCode Free",
23
23
  openrouter: "OpenRouter",
24
- glm: "GLM Coding",
24
+ glm: "Zai GLM Coding",
25
25
  kimi: "Kimi Coding",
26
26
  minimax: "Minimax Coding",
27
27
  openai: "OpenAI",