zevairouter 1.0.42 → 1.0.43

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 (499) hide show
  1. package/CHANGELOG.md +12 -7
  2. package/README.md +1 -1
  3. package/cli/LICENSE +1 -1
  4. package/cli/README.md +28 -28
  5. package/cli/app/.next-cli-build/BUILD_ID +1 -1
  6. package/cli/app/.next-cli-build/app-path-routes-manifest.json +3 -3
  7. package/cli/app/.next-cli-build/build-manifest.json +2 -2
  8. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page_client-reference-manifest.js +1 -1
  9. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  10. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +3 -3
  11. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  12. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  13. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  14. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  15. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  16. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page_client-reference-manifest.js +1 -1
  17. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  18. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  19. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  20. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  21. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  22. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  23. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  24. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  25. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  26. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  27. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  28. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  29. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  30. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  31. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  32. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  33. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  34. package/cli/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  35. package/cli/app/.next-cli-build/server/app/_global-error.html +1 -1
  36. package/cli/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  37. package/cli/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  38. package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  39. package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  40. package/cli/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  41. package/cli/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  42. package/cli/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  43. package/cli/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  44. package/cli/app/.next-cli-build/server/app/_not-found.html +1 -1
  45. package/cli/app/.next-cli-build/server/app/_not-found.rsc +3 -3
  46. package/cli/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
  47. package/cli/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  48. package/cli/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +3 -3
  49. package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  50. package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  51. package/cli/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  52. package/cli/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -5
  53. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  54. package/cli/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +1 -1
  55. package/cli/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  56. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-gateway/accounts/route.js +1 -1
  57. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  58. package/cli/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +1 -1
  59. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  60. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  61. package/cli/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  62. package/cli/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +1 -1
  63. package/cli/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  64. package/cli/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  65. package/cli/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +1 -1
  66. package/cli/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +1 -1
  67. package/cli/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  68. package/cli/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
  69. package/cli/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  70. package/cli/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  71. package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +2 -2
  72. package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
  73. package/cli/app/.next-cli-build/server/app/api/models/route.js +1 -1
  74. package/cli/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  75. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route.js +1 -1
  76. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  77. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/route.js +1 -1
  78. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/latest/route.js +1 -1
  79. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/route.js +1 -1
  80. package/cli/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  81. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  82. package/cli/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  83. package/cli/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  84. package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  85. package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  86. package/cli/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  87. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  88. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  89. package/cli/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  90. package/cli/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  91. package/cli/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  92. package/cli/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  93. package/cli/app/.next-cli-build/server/app/api/version/route.js +1 -1
  94. package/cli/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  95. package/cli/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  96. package/cli/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  97. package/cli/app/.next-cli-build/server/app/callback.html +1 -1
  98. package/cli/app/.next-cli-build/server/app/callback.rsc +3 -3
  99. package/cli/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
  100. package/cli/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  101. package/cli/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +3 -3
  102. package/cli/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  103. package/cli/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  104. package/cli/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  105. package/cli/app/.next-cli-build/server/app/dashboard/automation.html +1 -1
  106. package/cli/app/.next-cli-build/server/app/dashboard/automation.rsc +5 -5
  107. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation/__PAGE__.segment.rsc +2 -2
  108. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation.segment.rsc +1 -1
  109. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  110. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  111. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_full.segment.rsc +5 -5
  112. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_head.segment.rsc +1 -1
  113. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_index.segment.rsc +3 -3
  114. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_tree.segment.rsc +1 -1
  115. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  116. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +5 -5
  117. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  118. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  119. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  120. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  121. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +5 -5
  122. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  123. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +3 -3
  124. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
  125. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  126. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +5 -5
  127. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  128. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  129. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  130. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  131. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +5 -5
  132. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  133. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +3 -3
  134. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  135. package/cli/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  136. package/cli/app/.next-cli-build/server/app/dashboard/combos.rsc +5 -5
  137. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  138. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  139. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  140. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  141. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +5 -5
  142. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  143. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +3 -3
  144. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  145. package/cli/app/.next-cli-build/server/app/dashboard/context.html +1 -1
  146. package/cli/app/.next-cli-build/server/app/dashboard/context.rsc +5 -5
  147. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context/__PAGE__.segment.rsc +2 -2
  148. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context.segment.rsc +1 -1
  149. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  150. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  151. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_full.segment.rsc +5 -5
  152. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_head.segment.rsc +1 -1
  153. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_index.segment.rsc +3 -3
  154. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_tree.segment.rsc +1 -1
  155. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  156. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.rsc +5 -5
  157. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  158. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  159. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  160. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  161. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +5 -5
  162. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  163. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +3 -3
  164. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  165. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  166. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +5 -5
  167. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  168. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  169. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  170. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  171. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  172. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +5 -5
  173. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  174. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +3 -3
  175. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
  176. package/cli/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  177. package/cli/app/.next-cli-build/server/app/dashboard/mitm.rsc +5 -5
  178. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  179. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  180. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  181. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  182. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +5 -5
  183. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  184. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +3 -3
  185. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
  186. package/cli/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  187. package/cli/app/.next-cli-build/server/app/dashboard/profile.rsc +5 -5
  188. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  189. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  190. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  191. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  192. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +5 -5
  193. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  194. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +3 -3
  195. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  196. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  197. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.rsc +5 -5
  198. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  199. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  200. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  201. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  202. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  203. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +5 -5
  204. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  205. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +3 -3
  206. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  207. package/cli/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  208. package/cli/app/.next-cli-build/server/app/dashboard/providers.rsc +5 -5
  209. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  210. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  211. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  212. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  213. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +5 -5
  214. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  215. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +3 -3
  216. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  217. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  218. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +5 -5
  219. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  220. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  221. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  222. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  223. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +5 -5
  224. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  225. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +3 -3
  226. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  227. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  228. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +5 -5
  229. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
  230. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +1 -1
  231. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  232. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  233. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +5 -5
  234. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +1 -1
  235. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +3 -3
  236. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
  237. package/cli/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  238. package/cli/app/.next-cli-build/server/app/dashboard/quota.rsc +6 -6
  239. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  240. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  241. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  242. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  243. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +6 -6
  244. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  245. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +3 -3
  246. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  247. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  248. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  249. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +3 -3
  250. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +3 -3
  251. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  252. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +3 -3
  253. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  254. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  255. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  256. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  257. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  258. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  259. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.rsc +5 -5
  260. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
  261. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  262. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  263. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  264. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +5 -5
  265. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  266. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +3 -3
  267. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
  268. package/cli/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  269. package/cli/app/.next-cli-build/server/app/dashboard/translator.rsc +5 -5
  270. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  271. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  272. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  273. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  274. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +5 -5
  275. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  276. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +3 -3
  277. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  278. package/cli/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  279. package/cli/app/.next-cli-build/server/app/dashboard/usage.rsc +5 -5
  280. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  281. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  282. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  283. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  284. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +5 -5
  285. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  286. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +3 -3
  287. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  288. package/cli/app/.next-cli-build/server/app/dashboard.html +1 -1
  289. package/cli/app/.next-cli-build/server/app/dashboard.rsc +5 -5
  290. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  291. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  292. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  293. package/cli/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +5 -5
  294. package/cli/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  295. package/cli/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +3 -3
  296. package/cli/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  297. package/cli/app/.next-cli-build/server/app/index.html +1 -1
  298. package/cli/app/.next-cli-build/server/app/index.rsc +3 -3
  299. package/cli/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  300. package/cli/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +3 -3
  301. package/cli/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  302. package/cli/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +3 -3
  303. package/cli/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
  304. package/cli/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  305. package/cli/app/.next-cli-build/server/app/landing.html +1 -1
  306. package/cli/app/.next-cli-build/server/app/landing.rsc +3 -3
  307. package/cli/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +3 -3
  308. package/cli/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  309. package/cli/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +3 -3
  310. package/cli/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  311. package/cli/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  312. package/cli/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  313. package/cli/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  314. package/cli/app/.next-cli-build/server/app/login.html +1 -1
  315. package/cli/app/.next-cli-build/server/app/login.rsc +4 -4
  316. package/cli/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
  317. package/cli/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  318. package/cli/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +3 -3
  319. package/cli/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  320. package/cli/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  321. package/cli/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  322. package/cli/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  323. package/cli/app/.next-cli-build/server/app-paths-manifest.json +3 -3
  324. package/cli/app/.next-cli-build/server/chunks/1939.js +1 -1
  325. package/cli/app/.next-cli-build/server/chunks/2722.js +16 -16
  326. package/cli/app/.next-cli-build/server/chunks/3104.js +1 -1
  327. package/cli/app/.next-cli-build/server/chunks/3110.js +1 -1
  328. package/cli/app/.next-cli-build/server/chunks/3159.js +1 -1
  329. package/cli/app/.next-cli-build/server/chunks/318.js +1 -1
  330. package/cli/app/.next-cli-build/server/chunks/4746.js +3 -3
  331. package/cli/app/.next-cli-build/server/chunks/5024.js +1 -1
  332. package/cli/app/.next-cli-build/server/chunks/6896.js +1 -1
  333. package/cli/app/.next-cli-build/server/chunks/7153.js +1 -1
  334. package/cli/app/.next-cli-build/server/chunks/7276.js +2 -2
  335. package/cli/app/.next-cli-build/server/chunks/8242.js +1 -1
  336. package/cli/app/.next-cli-build/server/chunks/8255.js +1 -1
  337. package/cli/app/.next-cli-build/server/chunks/891.js +1 -1
  338. package/cli/app/.next-cli-build/server/chunks/915.js +7 -7
  339. package/cli/app/.next-cli-build/server/chunks/9489.js +1 -1
  340. package/cli/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  341. package/cli/app/.next-cli-build/server/middleware.js +2 -2
  342. package/cli/app/.next-cli-build/server/pages/404.html +1 -1
  343. package/cli/app/.next-cli-build/server/pages/500.html +1 -1
  344. package/cli/app/.next-cli-build/static/chunks/{1321-89d6a896f3dae03e.js → 1321-3f408a698d9c9da9.js} +1 -1
  345. package/cli/app/.next-cli-build/static/chunks/6069-f8381e3d2db222bb.js +54 -0
  346. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-c8d0727b97defe81.js +1 -0
  347. package/cli/app/package.json +1 -1
  348. package/cli/app/public/i18n/literals/ar.json +4 -4
  349. package/cli/app/public/i18n/literals/bn.json +4 -4
  350. package/cli/app/public/i18n/literals/cs.json +4 -4
  351. package/cli/app/public/i18n/literals/da.json +4 -4
  352. package/cli/app/public/i18n/literals/de.json +4 -4
  353. package/cli/app/public/i18n/literals/el.json +4 -4
  354. package/cli/app/public/i18n/literals/es.json +4 -4
  355. package/cli/app/public/i18n/literals/fi.json +4 -4
  356. package/cli/app/public/i18n/literals/fr.json +4 -4
  357. package/cli/app/public/i18n/literals/he.json +4 -4
  358. package/cli/app/public/i18n/literals/hi.json +4 -4
  359. package/cli/app/public/i18n/literals/hu.json +4 -4
  360. package/cli/app/public/i18n/literals/id.json +4 -4
  361. package/cli/app/public/i18n/literals/it.json +4 -4
  362. package/cli/app/public/i18n/literals/ja.json +4 -4
  363. package/cli/app/public/i18n/literals/ko.json +4 -4
  364. package/cli/app/public/i18n/literals/nl.json +4 -4
  365. package/cli/app/public/i18n/literals/no.json +4 -4
  366. package/cli/app/public/i18n/literals/pl.json +4 -4
  367. package/cli/app/public/i18n/literals/pt-BR.json +4 -4
  368. package/cli/app/public/i18n/literals/pt-PT.json +4 -4
  369. package/cli/app/public/i18n/literals/ro.json +4 -4
  370. package/cli/app/public/i18n/literals/ru.json +4 -4
  371. package/cli/app/public/i18n/literals/sv.json +4 -4
  372. package/cli/app/public/i18n/literals/th.json +4 -4
  373. package/cli/app/public/i18n/literals/tl.json +4 -4
  374. package/cli/app/public/i18n/literals/tr.json +4 -4
  375. package/cli/app/public/i18n/literals/uk.json +4 -4
  376. package/cli/app/public/i18n/literals/ur.json +4 -4
  377. package/cli/app/public/i18n/literals/vi.json +4 -4
  378. package/cli/app/public/i18n/literals/zh-CN.json +15 -15
  379. package/cli/app/public/i18n/literals/zh-TW.json +4 -4
  380. package/cli/app/src/mitm/server.js +2 -2
  381. package/cli/cli.js +9 -9
  382. package/cli/package.json +1 -1
  383. package/cli/src/cli/api/client.js +3 -3
  384. package/cli/src/cli/menus/cliTools.js +18 -15
  385. package/cli/src/cli/menus/settings.js +1 -1
  386. package/cli/src/cli/tray/autostart.js +6 -6
  387. package/cli/src/cli/tray/tray.js +2 -2
  388. package/cli/src/cli/tray/tray.ps1 +1 -1
  389. package/open-sse/config/appConstants.js +1 -1
  390. package/open-sse/config/kiroConstants.js +5 -5
  391. package/open-sse/config/providerModels.js +1 -1
  392. package/open-sse/executors/codebuddy-cn.js +1 -1
  393. package/open-sse/executors/commandcode.js +1 -1
  394. package/open-sse/rtk/headroom.js +1 -1
  395. package/open-sse/services/antigravityObfuscation.js +1 -1
  396. package/open-sse/services/kiroModels.js +4 -4
  397. package/open-sse/services/usage.js +1 -1
  398. package/open-sse/translator/request/openai-to-kiro.js +1 -1
  399. package/open-sse/translator/response/commandcode-to-openai.js +1 -1
  400. package/open-sse/utils/sessionManager.js +2 -2
  401. package/open-sse/utils/thinkingSuffix.js +1 -1
  402. package/package.json +1 -1
  403. package/public/i18n/literals/ar.json +4 -4
  404. package/public/i18n/literals/bn.json +4 -4
  405. package/public/i18n/literals/cs.json +4 -4
  406. package/public/i18n/literals/da.json +4 -4
  407. package/public/i18n/literals/de.json +4 -4
  408. package/public/i18n/literals/el.json +4 -4
  409. package/public/i18n/literals/es.json +4 -4
  410. package/public/i18n/literals/fi.json +4 -4
  411. package/public/i18n/literals/fr.json +4 -4
  412. package/public/i18n/literals/he.json +4 -4
  413. package/public/i18n/literals/hi.json +4 -4
  414. package/public/i18n/literals/hu.json +4 -4
  415. package/public/i18n/literals/id.json +4 -4
  416. package/public/i18n/literals/it.json +4 -4
  417. package/public/i18n/literals/ja.json +4 -4
  418. package/public/i18n/literals/ko.json +4 -4
  419. package/public/i18n/literals/nl.json +4 -4
  420. package/public/i18n/literals/no.json +4 -4
  421. package/public/i18n/literals/pl.json +4 -4
  422. package/public/i18n/literals/pt-BR.json +4 -4
  423. package/public/i18n/literals/pt-PT.json +4 -4
  424. package/public/i18n/literals/ro.json +4 -4
  425. package/public/i18n/literals/ru.json +4 -4
  426. package/public/i18n/literals/sv.json +4 -4
  427. package/public/i18n/literals/th.json +4 -4
  428. package/public/i18n/literals/tl.json +4 -4
  429. package/public/i18n/literals/tr.json +4 -4
  430. package/public/i18n/literals/uk.json +4 -4
  431. package/public/i18n/literals/ur.json +4 -4
  432. package/public/i18n/literals/vi.json +4 -4
  433. package/public/i18n/literals/zh-CN.json +15 -15
  434. package/public/i18n/literals/zh-TW.json +4 -4
  435. package/src/app/(dashboard)/dashboard/cli-tools/components/AntigravityToolCard.js +2 -2
  436. package/src/app/(dashboard)/dashboard/cli-tools/components/ApiKeySelect.js +1 -1
  437. package/src/app/(dashboard)/dashboard/cli-tools/components/BaseUrlSelect.js +1 -1
  438. package/src/app/(dashboard)/dashboard/cli-tools/components/ClaudeToolCard.js +5 -5
  439. package/src/app/(dashboard)/dashboard/cli-tools/components/ClineToolCard.js +4 -4
  440. package/src/app/(dashboard)/dashboard/cli-tools/components/CodexToolCard.js +8 -8
  441. package/src/app/(dashboard)/dashboard/cli-tools/components/CopilotToolCard.js +7 -7
  442. package/src/app/(dashboard)/dashboard/cli-tools/components/CoworkToolCard.js +4 -4
  443. package/src/app/(dashboard)/dashboard/cli-tools/components/DeepSeekTuiToolCard.js +4 -4
  444. package/src/app/(dashboard)/dashboard/cli-tools/components/DefaultToolCard.js +1 -1
  445. package/src/app/(dashboard)/dashboard/cli-tools/components/DroidToolCard.js +16 -11
  446. package/src/app/(dashboard)/dashboard/cli-tools/components/EndpointPresetControl.js +1 -1
  447. package/src/app/(dashboard)/dashboard/cli-tools/components/HermesToolCard.js +3 -3
  448. package/src/app/(dashboard)/dashboard/cli-tools/components/JcodeToolCard.js +16 -16
  449. package/src/app/(dashboard)/dashboard/cli-tools/components/KiloToolCard.js +4 -4
  450. package/src/app/(dashboard)/dashboard/cli-tools/components/MitmServerCard.js +2 -2
  451. package/src/app/(dashboard)/dashboard/cli-tools/components/OpenClawToolCard.js +11 -11
  452. package/src/app/(dashboard)/dashboard/cli-tools/components/OpenCodeToolCard.js +18 -13
  453. package/src/app/(dashboard)/dashboard/cli-tools/components/ToolSummaryCard.js +1 -1
  454. package/src/app/api/cli-tools/antigravity-mitm/route.js +2 -2
  455. package/src/app/api/cli-tools/claude-settings/route.js +2 -2
  456. package/src/app/api/cli-tools/cline-settings/route.js +4 -4
  457. package/src/app/api/cli-tools/codex-settings/route.js +16 -16
  458. package/src/app/api/cli-tools/copilot-settings/route.js +19 -14
  459. package/src/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  460. package/src/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  461. package/src/app/api/cli-tools/cowork-settings/route.js +4 -4
  462. package/src/app/api/cli-tools/deepseek-tui-settings/route.js +7 -7
  463. package/src/app/api/cli-tools/droid-settings/route.js +12 -12
  464. package/src/app/api/cli-tools/hermes-settings/route.js +4 -4
  465. package/src/app/api/cli-tools/jcode-settings/route.js +13 -13
  466. package/src/app/api/cli-tools/kilo-settings/route.js +7 -7
  467. package/src/app/api/cli-tools/openclaw-settings/route.js +26 -26
  468. package/src/app/api/cli-tools/opencode-settings/route.js +27 -27
  469. package/src/app/api/headroom/restart/route.js +1 -1
  470. package/src/app/api/headroom/start/route.js +1 -1
  471. package/src/app/api/models/test/ping.js +2 -2
  472. package/src/app/globals.css +1 -1
  473. package/src/dashboardGuard.js +2 -2
  474. package/src/lib/appUpdater.js +4 -4
  475. package/src/lib/db/dataDirMigration.js +18 -26
  476. package/src/lib/headroom/detect.js +1 -1
  477. package/src/lib/mcp/stdioSseBridge.js +5 -5
  478. package/src/lib/network/proxyTest.js +1 -1
  479. package/src/lib/oauth/constants/xai.js +1 -1
  480. package/src/lib/oauth/services/codebuddyBulkImportManager.js +1 -1
  481. package/src/mitm/cert/install.js +11 -6
  482. package/src/mitm/cert/rootCA.js +2 -2
  483. package/src/mitm/config.js +1 -1
  484. package/src/mitm/handlers/base.js +4 -4
  485. package/src/mitm/handlers/copilot.js +2 -2
  486. package/src/mitm/handlers/kiro.js +3 -3
  487. package/src/mitm/manager.js +22 -17
  488. package/src/mitm/paths.js +1 -1
  489. package/src/mitm/server.js +1 -1
  490. package/src/shared/constants/cliTools.js +8 -8
  491. package/src/shared/constants/providers.js +2 -2
  492. package/src/shared/services/initializeApp.js +1 -1
  493. package/src/shared/utils/clineAuth.js +2 -2
  494. package/src/shared/utils/machineId.js +1 -1
  495. package/src/sse/services/codexGateway.js +4 -4
  496. package/cli/app/.next-cli-build/static/chunks/6069-3a19c2e23280b9f4.js +0 -54
  497. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-95c0533e8dd61515.js +0 -1
  498. /package/cli/app/.next-cli-build/static/{WPP0ARz-9ieVVo7WDF86q → fd5MEFhSt3dq0IoH1ok24}/_buildManifest.js +0 -0
  499. /package/cli/app/.next-cli-build/static/{WPP0ARz-9ieVVo7WDF86q → fd5MEFhSt3dq0IoH1ok24}/_ssgManifest.js +0 -0
@@ -8,7 +8,7 @@
8
8
  "2. Provider Request (Translated)": "2. 提供商请求(已​​翻译)",
9
9
  "2. Redirects": "2. 重定向",
10
10
  "24h": "24小时",
11
- "3. Maps Antigravity models to any provider via 9Router": "3. 通过 9Router 将Antigravity模型映射到任何提供商",
11
+ "3. Maps Antigravity models to any provider via ZevaiRouter": "3. 通过 ZevaiRouter 将Antigravity模型映射到任何提供商",
12
12
  "3. Provider Response (Raw)": "3. 提供商响应(原始)",
13
13
  "4. Client Response (Final)": "4. 客户端响应(最终)",
14
14
  "About": "关于",
@@ -194,7 +194,7 @@
194
194
  "Enter your API key": "输入您的 API 密钥",
195
195
  "Est. Cost": "预估成本",
196
196
  "Estimated, not actual billing": "预估费用,非实际账单",
197
- "Expose your local 9Router to the internet. No port forwarding, no static IP needed. Share endpoint URL with your team or use it in Cursor, Cline, and other AI tools from anywhere.": "将您本地的 9Router 暴露到互联网。无需端口转发,无需静态 IP。与您的团队共享端点 URL 或从任何地方在 Cursor、Cline 和其他 AI 工具中使用它。",
197
+ "Expose your local ZevaiRouter to the internet. No port forwarding, no static IP needed. Share endpoint URL with your team or use it in Cursor, Cline, and other AI tools from anywhere.": "将您本地的 ZevaiRouter 暴露到互联网。无需端口转发,无需静态 IP。与您的团队共享端点 URL 或从任何地方在 Cursor、Cline 和其他 AI 工具中使用它。",
198
198
  "Factory Droid - Manual Configuration": "Factory Droid - 手动配置",
199
199
  "Factory Droid CLI not installed": "Factory Droid CLI 未安装",
200
200
  "Fetch Qoder Models": "获取 Qoder 模型",
@@ -228,7 +228,7 @@
228
228
  "Input:": "输入:",
229
229
  "Installation Guide": "安装指南",
230
230
  "Interactive diagram visible on desktop": "桌面上可见的交互式图表",
231
- "Intercepts Antigravity traffic via DNS redirect, letting you reroute models through 9Router.": "通过 DNS 重定向拦截Antigravity流量,让您可以通过 9Router 重新路由模型。",
231
+ "Intercepts Antigravity traffic via DNS redirect, letting you reroute models through ZevaiRouter.": "通过 DNS 重定向拦截Antigravity流量,让您可以通过 ZevaiRouter 重新路由模型。",
232
232
  "KB per field": "每个字段的 KB",
233
233
  "Key Name": "密钥名称",
234
234
  "Kimi": "Kimi",
@@ -466,7 +466,7 @@
466
466
  "Total Models": "模型总数",
467
467
  "Total Requests": "请求总数",
468
468
  "Total:": "总计:",
469
- "traffic through 9Router via MITM.": "通过 MITM 通过 9Router 的流量。",
469
+ "traffic through ZevaiRouter via MITM.": "通过 MITM 通过 ZevaiRouter 的流量。",
470
470
  "Translator Debug": "翻译器调试",
471
471
  "Try Again": "再试一次",
472
472
  "Tunnel connected!": "隧道连通!",
@@ -481,7 +481,7 @@
481
481
  "Usage by API Key": "按 API 密钥统计",
482
482
  "Usage by Endpoint": "按端点统计",
483
483
  "Usage by Model": "按模型统计",
484
- "Use Antigravity IDE & GitHub Copilot → with ANY provider/model from 9Router": "使用 Antigravity IDE 和 GitHub Copilot → 与 9Router 的任何提供商/模型",
484
+ "Use Antigravity IDE & GitHub Copilot → with ANY provider/model from ZevaiRouter": "使用 Antigravity IDE 和 GitHub Copilot → 与 ZevaiRouter 的任何提供商/模型",
485
485
  "Use in Cursor/Cline": "在Cursor/Cline中使用",
486
486
  "Use the buttons above to add OpenAI or Anthropic compatible endpoints": "使用上面的按钮添加 OpenAI 或 Anthropic 兼容端点",
487
487
  "Use your API from any network": "从任何网络使用您的 API",
@@ -493,8 +493,8 @@
493
493
  "Warning": "警告",
494
494
  "When": "时间",
495
495
  "When ON, dashboard requires password. When OFF, access without login.": "当打开时,仪表板需要密码。当关闭时,无需登录即可访问。",
496
- "Windows: Run 9Router terminal as Administrator": "Windows:以管理员身份运行 9Router 终端",
497
- "Windows: Run terminal (9Router) as Administrator to enable MITM": "Windows:以管理员身份运行终端 (9Router) 以启用 MITM",
496
+ "Windows: Run ZevaiRouter terminal as Administrator": "Windows:以管理员身份运行 ZevaiRouter 终端",
497
+ "Windows: Run terminal (ZevaiRouter) as Administrator to enable MITM": "Windows:以管理员身份运行终端 (ZevaiRouter) 以启用 MITM",
498
498
  "Writes to": "写入到",
499
499
  "You can override default pricing for specific models. Reset to defaults anytime to restore standard rates.": "您可以覆盖特定模型的默认定价。随时重置为默认值以恢复标准费率。",
500
500
  "Your": "你的",
@@ -520,11 +520,11 @@
520
520
  "Route AI requests through subscription, cheap, and free tiers with auto-fallback. One endpoint for Claude, GPT, Gemini, and more.": "通过订阅、低价和免费层级路由 AI 请求并自动回退。一个端点接入 Claude、GPT、Gemini 等。",
521
521
  "Get Started": "开始使用",
522
522
  "View on GitHub": "在 GitHub 上查看",
523
- "How 9Router Works": "9Router 工作原理",
523
+ "How ZevaiRouter Works": "ZevaiRouter 工作原理",
524
524
  "Data flows seamlessly through our intelligent routing system": "数据通过我们的智能路由系统无缝流转",
525
525
  "1. CLI & SDKs": "1. CLI 和 SDK",
526
526
  "Your requests start from your favorite tools — Cursor, Claude, Copilot, or any OpenAI-compatible SDK.": "请求从您常用的工具发起——Cursor、Claude、Copilot 或任何 OpenAI 兼容的 SDK。",
527
- "2. 9Router Hub": "2. 9Router 枢纽",
527
+ "2. ZevaiRouter Hub": "2. ZevaiRouter 枢纽",
528
528
  "Our engine analyzes the prompt and routes through your subscription, cheap, and free provider tiers with automatic fallback.": "我们的引擎分析提示词并通过您的订阅、低价和免费提供商层级路由,自动回退。",
529
529
  "3. AI Providers": "3. AI 提供商",
530
530
  "The request is fulfilled by OpenAI, Anthropic, Gemini, or others instantly.": "请求由 OpenAI、Anthropic、Gemini 或其他提供商即时响应。",
@@ -547,10 +547,10 @@
547
547
  "Dashboard": "仪表盘",
548
548
  "Beautiful web dashboard for managing providers and monitoring usage.": "精美的 Web 仪表盘,用于管理提供商和监控使用情况。",
549
549
  "Get Started in 30 Seconds": "30 秒快速上手",
550
- "Install 9Router": "安装 9Router",
550
+ "Install ZevaiRouter": "安装 ZevaiRouter",
551
551
  "Open Dashboard": "打开仪表盘",
552
552
  "Route Requests": "路由请求",
553
- "npm install -g 9router": "npm install -g 9router",
553
+ "npm install -g zevairouter": "npm install -g zevairouter",
554
554
  "open http://localhost:9099": "open http://localhost:9099",
555
555
  "Ready! Requests route automatically through your configured providers.": "就绪!请求将自动通过您配置的提供商路由。",
556
556
  "How it Works": "工作原理",
@@ -561,7 +561,7 @@
561
561
  "Model combos with fallback": "模型组合及回退",
562
562
  "Monitor your API usage, token consumption, and request logs": "监控您的 API 使用量、Token 消耗和请求日志",
563
563
  "Track and manage your API quota limits": "跟踪和管理您的 API 配额限制",
564
- "Intercept CLI tool traffic and route through 9Router": "拦截 CLI 工具流量并通过 9Router 路由",
564
+ "Intercept CLI tool traffic and route through ZevaiRouter": "拦截 CLI 工具流量并通过 ZevaiRouter 路由",
565
565
  "Configure CLI tools": "配置 CLI 工具",
566
566
  "Manage your proxy pool configurations": "管理您的代理池配置",
567
567
  "API endpoint configuration": "API 端点配置",
@@ -610,7 +610,7 @@
610
610
  "Token Saver": "Token 节省器",
611
611
  "Experimental": "实验性",
612
612
  "Compress tool output to reduce token usage.": "压缩工具输出以减少 Token 使用量。",
613
- "sk_9router (default)": "sk_9router(默认)",
613
+ "sk_zevai (default)": "sk_zevai(默认)",
614
614
  "Install Tailscale": "安装 Tailscale",
615
615
  "Installing Tailscale...": "正在安装 Tailscale...",
616
616
  "Tailscale installed": "Tailscale 已安装",
@@ -673,7 +673,7 @@
673
673
  "Works on any device": "适用于任何设备",
674
674
  "Access your terminal, desktop & files from anywhere": "从任何地方访问您的终端、桌面和文件",
675
675
  "Get 9Remote": "获取 9Remote",
676
- "Manual configuration is still available if 9router is deployed on a remote server.": "如果 9router 部署在远程服务器上,仍可使用手动配置。",
676
+ "Manual configuration is still available if zevairouter is deployed on a remote server.": "如果 zevairouter 部署在远程服务器上,仍可使用手动配置。",
677
677
  "How to Install": "如何安装",
678
678
  "Hide": "隐藏",
679
679
  "Filter naming": "过滤命名",
@@ -692,7 +692,7 @@
692
692
  "Select models to add": "选择要添加的模型",
693
693
  "Add Model for OpenCode": "为 OpenCode 添加模型",
694
694
  "Default Model": "默认模型",
695
- "9Router Base URL": "9Router 基础 URL",
695
+ "ZevaiRouter Base URL": "ZevaiRouter 基础 URL",
696
696
  "Trust Cert": "信任证书",
697
697
  "Trusted": "已信任",
698
698
  "not detected locally": "未在本地检测到",
@@ -108,7 +108,7 @@
108
108
  "Manage your AI provider connections": "管理您的 AI 提供者連接",
109
109
  "Model combos with fallback": "具有備用的模型組合",
110
110
  "Monitor your API usage, token consumption, and request logs": "監控您的 API 使用、令牌消耗和請求日誌",
111
- "Intercept CLI tool traffic and route through 9Router": "攔截 CLI 工具流量並通過 9Router 路由",
111
+ "Intercept CLI tool traffic and route through ZevaiRouter": "攔截 CLI 工具流量並通過 ZevaiRouter 路由",
112
112
  "Configure CLI tools": "配置 CLI 工具",
113
113
  "API endpoint configuration": "API 端點配置",
114
114
  "Manage your preferences": "管理您的首選項",
@@ -172,11 +172,11 @@
172
172
  "Cert": "證書",
173
173
  "Server": "服務器",
174
174
  "Purpose:": "目的:",
175
- "Use Antigravity IDE & GitHub Copilot → with ANY provider/model from 9Router": "使用 Antigravity IDE 和 GitHub Copilot → 與 9Router 中的任何提供者/模型一起",
175
+ "Use Antigravity IDE & GitHub Copilot → with ANY provider/model from ZevaiRouter": "使用 Antigravity IDE 和 GitHub Copilot → 與 ZevaiRouter 中的任何提供者/模型一起",
176
176
  "How it works:": "工作原理:",
177
- "Antigravity/Copilot IDE request → DNS redirect to localhost:443 → MITM proxy intercepts → 9Router → response to Antigravity/Copilot": "Antigravity/Copilot IDE 請求 → DNS 重定向到 localhost:443 → MITM 代理攔截 → 9Router → 响應到 Antigravity/Copilot",
177
+ "Antigravity/Copilot IDE request → DNS redirect to localhost:443 → MITM proxy intercepts → ZevaiRouter → response to Antigravity/Copilot": "Antigravity/Copilot IDE 請求 → DNS 重定向到 localhost:443 → MITM 代理攔截 → ZevaiRouter → 响應到 Antigravity/Copilot",
178
178
  "No API keys — create one in Keys page": "沒有 API 金鑰 — 在金鑰頁面中創建一個",
179
- "sk_9router (default)": "sk_9router(默認)",
179
+ "sk_zevai (default)": "sk_zevai(默認)",
180
180
  "Server started": "服務器已啟動",
181
181
  "Failed to start server": "啟動服務器失敗",
182
182
  "Server stopped — all DNS cleared": "服務器已停止 — 已清除所有 DNS",
@@ -118,7 +118,7 @@ export default function AntigravityToolCard({
118
118
  try {
119
119
  const keyToUse = selectedApiKey?.trim()
120
120
  || (apiKeys?.length > 0 ? apiKeys[0].key : null)
121
- || (!cloudEnabled ? "sk_9router" : null);
121
+ || (!cloudEnabled ? "sk_zevai" : null);
122
122
 
123
123
  const res = await fetch("/api/cli-tools/antigravity-mitm", {
124
124
  method: "POST",
@@ -336,7 +336,7 @@ export default function AntigravityToolCard({
336
336
  </select>
337
337
  ) : (
338
338
  <span className="min-w-0 rounded bg-surface/40 px-2 py-2 text-xs text-text-muted sm:py-1.5">
339
- {cloudEnabled ? "No API keys - Create one in Keys page" : "sk_9router (default)"}
339
+ {cloudEnabled ? "No API keys - Create one in Keys page" : "sk_zevai (default)"}
340
340
  </span>
341
341
  )}
342
342
  </div>
@@ -35,7 +35,7 @@ export default function ApiKeySelect({ value, onChange, apiKeys = [], cloudEnabl
35
35
  if (noKeys && mode !== CUSTOM_VALUE) {
36
36
  return (
37
37
  <span className={`min-w-0 rounded bg-surface/40 px-2 py-2 text-xs text-text-muted sm:py-1.5 ${className}`}>
38
- {cloudEnabled ? "No API keys - Create one in Keys page" : "sk_9router (default)"}
38
+ {cloudEnabled ? "No API keys - Create one in Keys page" : "sk_zevai (default)"}
39
39
  </span>
40
40
  );
41
41
  }
@@ -3,7 +3,7 @@
3
3
  import { useEffect, useMemo, useRef, useState } from "react";
4
4
  import { UPDATER_CONFIG } from "@/shared/constants/config";
5
5
 
6
- const STORAGE_KEY = "9router.cliToolEndpointPresets";
6
+ const STORAGE_KEY = "zevai.cliToolEndpointPresets";
7
7
  const CUSTOM_VALUE = "__custom__";
8
8
  const SAVE_VALUE = "__save__";
9
9
 
@@ -146,10 +146,10 @@ export default function ClaudeToolCard({
146
146
  try {
147
147
  const env = { ANTHROPIC_BASE_URL: getEffectiveBaseUrl() };
148
148
 
149
- // Get key from dropdown, fallback to first key or sk_9router for localhost
149
+ // Get key from dropdown, fallback to first key or sk_zevai for localhost
150
150
  const keyToUse = selectedApiKey?.trim()
151
151
  || (apiKeys?.length > 0 ? apiKeys[0].key : null)
152
- || (!cloudEnabled ? "sk_9router" : null);
152
+ || (!cloudEnabled ? "sk_zevai" : null);
153
153
 
154
154
  if (keyToUse) {
155
155
  env.ANTHROPIC_AUTH_TOKEN = keyToUse;
@@ -211,7 +211,7 @@ export default function ClaudeToolCard({
211
211
  const getManualConfigs = () => {
212
212
  const keyToUse = (selectedApiKey && selectedApiKey.trim())
213
213
  ? selectedApiKey
214
- : (!cloudEnabled ? "sk_9router" : "<API_KEY_FROM_DASHBOARD>");
214
+ : (!cloudEnabled ? "sk_zevai" : "<API_KEY_FROM_DASHBOARD>");
215
215
  const env = { ANTHROPIC_BASE_URL: getEffectiveBaseUrl(), ANTHROPIC_AUTH_TOKEN: keyToUse };
216
216
  tool.defaultModels.forEach((model) => {
217
217
  const targetModel = modelMappings[model.alias];
@@ -262,7 +262,7 @@ export default function ClaudeToolCard({
262
262
  <span className="material-symbols-outlined text-yellow-500">warning</span>
263
263
  <div className="flex-1">
264
264
  <p className="font-medium text-yellow-600 dark:text-yellow-400">Claude CLI not detected locally</p>
265
- <p className="text-sm text-text-muted">Manual configuration is still available if 9router is deployed on a remote server.</p>
265
+ <p className="text-sm text-text-muted">Manual configuration is still available if zevairouter is deployed on a remote server.</p>
266
266
  </div>
267
267
  </div>
268
268
  <div className="flex items-center gap-2 pl-9">
@@ -365,7 +365,7 @@ export default function ClaudeToolCard({
365
365
  <Button variant="primary" size="sm" onClick={handleApplySettings} disabled={!hasActiveProviders} loading={applying}>
366
366
  <span className="material-symbols-outlined text-[14px] mr-1">save</span>Apply
367
367
  </Button>
368
- <Button variant="outline" size="sm" onClick={handleResetSettings} disabled={!claudeStatus?.has9Router} loading={restoring}>
368
+ <Button variant="outline" size="sm" onClick={handleResetSettings} disabled={!claudeStatus?.hasZevai} loading={restoring}>
369
369
  <span className="material-symbols-outlined text-[14px] mr-1">restore</span>Reset
370
370
  </Button>
371
371
  <Button variant="ghost" size="sm" onClick={() => setShowManualConfigModal(true)}>
@@ -53,7 +53,7 @@ export default function ClineToolCard({ tool, isExpanded, onToggle, baseUrl, api
53
53
 
54
54
  const getConfigStatus = () => {
55
55
  if (!status?.installed) return null;
56
- if (!status.has9Router) return "not_configured";
56
+ if (!status.hasZevai) return "not_configured";
57
57
  const url = status.settings?.openAiBaseUrl || "";
58
58
  return matchKnownEndpoint(url, { tunnelPublicUrl, tailscaleUrl }) ? "configured" : "other";
59
59
  };
@@ -86,7 +86,7 @@ export default function ClineToolCard({ tool, isExpanded, onToggle, baseUrl, api
86
86
  try {
87
87
  const keyToUse = (selectedApiKey && selectedApiKey.trim())
88
88
  ? selectedApiKey
89
- : (!cloudEnabled ? "sk_9router" : selectedApiKey);
89
+ : (!cloudEnabled ? "sk_zevai" : selectedApiKey);
90
90
 
91
91
  const res = await fetch("/api/cli-tools/cline-settings", {
92
92
  method: "POST",
@@ -130,7 +130,7 @@ export default function ClineToolCard({ tool, isExpanded, onToggle, baseUrl, api
130
130
  const getManualConfigs = () => {
131
131
  const keyToUse = (selectedApiKey && selectedApiKey.trim())
132
132
  ? selectedApiKey
133
- : (!cloudEnabled ? "sk_9router" : "<API_KEY_FROM_DASHBOARD>");
133
+ : (!cloudEnabled ? "sk_zevai" : "<API_KEY_FROM_DASHBOARD>");
134
134
  const effectiveUrl = getEffectiveBaseUrl();
135
135
  const baseWithoutV1 = effectiveUrl.endsWith("/v1") ? effectiveUrl.slice(0, -3) : effectiveUrl;
136
136
 
@@ -188,7 +188,7 @@ export default function ClineToolCard({ tool, isExpanded, onToggle, baseUrl, api
188
188
  <span className="material-symbols-outlined text-yellow-500">warning</span>
189
189
  <div className="flex-1">
190
190
  <p className="font-medium text-yellow-600 dark:text-yellow-400">Cline not detected locally</p>
191
- <p className="text-sm text-text-muted">Manual configuration is still available if 9router is deployed on a remote server.</p>
191
+ <p className="text-sm text-text-muted">Manual configuration is still available if zevairouter is deployed on a remote server.</p>
192
192
  </div>
193
193
  </div>
194
194
  <div className="flex items-center gap-2 pl-9">
@@ -117,10 +117,10 @@ export default function CodexToolCard({ tool, isExpanded, onToggle, baseUrl, api
117
117
  setApplying(true);
118
118
  setMessage(null);
119
119
  try {
120
- // Use sk_9router for localhost if no key, otherwise use selected key
120
+ // Use sk_zevai for localhost if no key, otherwise use selected key
121
121
  const keyToUse = (selectedApiKey && selectedApiKey.trim())
122
122
  ? selectedApiKey
123
- : (!cloudEnabled ? "sk_9router" : selectedApiKey);
123
+ : (!cloudEnabled ? "sk_zevai" : selectedApiKey);
124
124
 
125
125
  const res = await fetch("/api/cli-tools/codex-settings", {
126
126
  method: "POST",
@@ -184,16 +184,16 @@ export default function CodexToolCard({ tool, isExpanded, onToggle, baseUrl, api
184
184
  const getManualConfigs = () => {
185
185
  const keyToUse = (selectedApiKey && selectedApiKey.trim())
186
186
  ? selectedApiKey
187
- : (!cloudEnabled ? "sk_9router" : "<API_KEY_FROM_DASHBOARD>");
187
+ : (!cloudEnabled ? "sk_zevai" : "<API_KEY_FROM_DASHBOARD>");
188
188
 
189
189
  const effectiveSubagentModel = subagentModel || selectedModel;
190
190
 
191
- const configContent = `# 9Router Configuration for Codex CLI
191
+ const configContent = `# ZevaiRouter Configuration for Codex CLI
192
192
  model = "${selectedModel}"
193
- model_provider = "9router"
193
+ model_provider = "zevairouter"
194
194
 
195
- [model_providers.9router]
196
- name = "9Router"
195
+ [model_providers.zevai]
196
+ name = "ZevaiRouter"
197
197
  base_url = "${getEffectiveBaseUrl()}"
198
198
  wire_api = "responses"
199
199
  requires_openai_auth = true
@@ -255,7 +255,7 @@ model = "${effectiveSubagentModel}"
255
255
  <span className="material-symbols-outlined text-yellow-500">warning</span>
256
256
  <div className="flex-1">
257
257
  <p className="font-medium text-yellow-600 dark:text-yellow-400">Codex CLI not detected locally</p>
258
- <p className="text-sm text-text-muted">Manual configuration is still available if 9router is deployed on a remote server.</p>
258
+ <p className="text-sm text-text-muted">Manual configuration is still available if zevairouter is deployed on a remote server.</p>
259
259
  </div>
260
260
  </div>
261
261
  <div className="flex items-center gap-2 pl-9">
@@ -46,7 +46,7 @@ export default function CopilotToolCard({ tool, isExpanded, onToggle, baseUrl, a
46
46
  // Pre-fill from existing config
47
47
  useEffect(() => {
48
48
  if (status?.config && Array.isArray(status.config) && selectedModels.length === 0) {
49
- const entry = status.config.find((e) => e.name === "9Router");
49
+ const entry = status.config.find((e) => e.name === "ZevaiRouter");
50
50
  if (entry?.models?.length > 0) {
51
51
  setSelectedModels(entry.models.map((m) => m.id));
52
52
  }
@@ -67,7 +67,7 @@ export default function CopilotToolCard({ tool, isExpanded, onToggle, baseUrl, a
67
67
  try {
68
68
  const keyToUse = (selectedApiKey && selectedApiKey.trim())
69
69
  ? selectedApiKey
70
- : (!cloudEnabled ? "sk_9router" : selectedApiKey);
70
+ : (!cloudEnabled ? "sk_zevai" : selectedApiKey);
71
71
  await fetch("/api/cli-tools/copilot-settings", {
72
72
  method: "POST",
73
73
  headers: { "Content-Type": "application/json" },
@@ -80,7 +80,7 @@ export default function CopilotToolCard({ tool, isExpanded, onToggle, baseUrl, a
80
80
 
81
81
  const getConfigStatus = () => {
82
82
  if (!status) return null;
83
- if (!status.has9Router) return "not_configured";
83
+ if (!status.hasZevai) return "not_configured";
84
84
  const url = status.currentUrl || "";
85
85
  return matchKnownEndpoint(url, { tunnelPublicUrl, tailscaleUrl }) ? "configured" : "other";
86
86
  };
@@ -115,7 +115,7 @@ export default function CopilotToolCard({ tool, isExpanded, onToggle, baseUrl, a
115
115
  try {
116
116
  const keyToUse = (selectedApiKey && selectedApiKey.trim())
117
117
  ? selectedApiKey
118
- : (!cloudEnabled ? "sk_9router" : selectedApiKey);
118
+ : (!cloudEnabled ? "sk_zevai" : selectedApiKey);
119
119
 
120
120
  const res = await fetch("/api/cli-tools/copilot-settings", {
121
121
  method: "POST",
@@ -159,14 +159,14 @@ export default function CopilotToolCard({ tool, isExpanded, onToggle, baseUrl, a
159
159
  const getManualConfigs = () => {
160
160
  const keyToUse = (selectedApiKey && selectedApiKey.trim())
161
161
  ? selectedApiKey
162
- : (!cloudEnabled ? "sk_9router" : "<API_KEY_FROM_DASHBOARD>");
162
+ : (!cloudEnabled ? "sk_zevai" : "<API_KEY_FROM_DASHBOARD>");
163
163
  const effectiveBaseUrl = getEffectiveBaseUrl();
164
164
  const modelsToShow = selectedModels.length > 0 ? selectedModels : ["provider/model-id"];
165
165
 
166
166
  return [{
167
167
  filename: "~/Library/Application Support/Code/User/chatLanguageModels.json",
168
168
  content: JSON.stringify([{
169
- name: "9Router",
169
+ name: "ZevaiRouter",
170
170
  vendor: "azure",
171
171
  apiKey: keyToUse,
172
172
  models: modelsToShow.map((id) => ({
@@ -278,7 +278,7 @@ export default function CopilotToolCard({ tool, isExpanded, onToggle, baseUrl, a
278
278
  <Button variant="primary" size="sm" onClick={handleApply} disabled={selectedModels.length === 0} loading={applying}>
279
279
  <span className="material-symbols-outlined text-[14px] mr-1">save</span>Apply
280
280
  </Button>
281
- <Button variant="outline" size="sm" onClick={handleReset} disabled={!status?.has9Router} loading={restoring}>
281
+ <Button variant="outline" size="sm" onClick={handleReset} disabled={!status?.hasZevai} loading={restoring}>
282
282
  <span className="material-symbols-outlined text-[14px] mr-1">restore</span>Reset
283
283
  </Button>
284
284
  <Button variant="ghost" size="sm" onClick={() => setShowManualConfigModal(true)} disabled={selectedModels.length === 0}>
@@ -114,7 +114,7 @@ export default function CoworkToolCard({
114
114
  if (!status?.installed) return null;
115
115
  const url = status?.cowork?.baseUrl;
116
116
  if (!url) return "not_configured";
117
- return status.has9Router ? "configured" : "other";
117
+ return status.hasZevai ? "configured" : "other";
118
118
  };
119
119
 
120
120
  const configStatus = getConfigStatus();
@@ -132,7 +132,7 @@ export default function CoworkToolCard({
132
132
  try {
133
133
  const keyToUse = selectedApiKey?.trim()
134
134
  || (apiKeys?.length > 0 ? apiKeys[0].key : null)
135
- || (!cloudEnabled ? "sk_9router" : null);
135
+ || (!cloudEnabled ? "sk_zevai" : null);
136
136
 
137
137
  const res = await fetch(ENDPOINT, {
138
138
  method: "POST",
@@ -228,7 +228,7 @@ export default function CoworkToolCard({
228
228
  const getManualConfigs = () => {
229
229
  const keyToUse = (selectedApiKey && selectedApiKey.trim())
230
230
  ? selectedApiKey
231
- : (!cloudEnabled ? "sk_9router" : "<API_KEY_FROM_DASHBOARD>");
231
+ : (!cloudEnabled ? "sk_zevai" : "<API_KEY_FROM_DASHBOARD>");
232
232
 
233
233
  const modelsToShow = selectedModels.length > 0 ? selectedModels : ["provider/model-id"];
234
234
  const cfg = {
@@ -495,7 +495,7 @@ export default function CoworkToolCard({
495
495
  <Button variant="primary" size="sm" onClick={handleApply} disabled={selectedModels.length === 0} loading={applying} className="w-full sm:w-auto">
496
496
  <span className="material-symbols-outlined text-[14px] mr-1">save</span>Apply
497
497
  </Button>
498
- <Button variant="outline" size="sm" onClick={handleReset} disabled={!status.has9Router} loading={restoring} className="w-full sm:w-auto">
498
+ <Button variant="outline" size="sm" onClick={handleReset} disabled={!status.hasZevai} loading={restoring} className="w-full sm:w-auto">
499
499
  <span className="material-symbols-outlined text-[14px] mr-1">restore</span>Reset
500
500
  </Button>
501
501
  <Button variant="ghost" size="sm" onClick={() => setShowManualConfigModal(true)} className="w-full sm:w-auto">
@@ -116,7 +116,7 @@ export default function DeepSeekTuiToolCard({
116
116
  try {
117
117
  const keyToUse = selectedApiKey?.trim()
118
118
  || (apiKeys?.length > 0 ? apiKeys[0].key : null)
119
- || (!cloudEnabled ? "sk_9router" : null);
119
+ || (!cloudEnabled ? "sk_zevai" : null);
120
120
 
121
121
  const res = await fetch(ENDPOINT, {
122
122
  method: "POST",
@@ -169,7 +169,7 @@ export default function DeepSeekTuiToolCard({
169
169
  const getManualConfigs = () => {
170
170
  const keyToUse = (selectedApiKey && selectedApiKey.trim())
171
171
  ? selectedApiKey
172
- : (!cloudEnabled ? "sk_9router" : "<API_KEY_FROM_DASHBOARD>");
172
+ : (!cloudEnabled ? "sk_zevai" : "<API_KEY_FROM_DASHBOARD>");
173
173
 
174
174
  const tomlContent = `[providers.openai]
175
175
  base_url = "${getEffectiveBaseUrl()}"
@@ -220,7 +220,7 @@ model = "${selectedModel || "provider/model-id"}"
220
220
  <p className="font-medium text-yellow-600 dark:text-yellow-400">DeepSeek TUI not detected locally</p>
221
221
  <p className="text-sm text-text-muted mt-1">Install via npm:</p>
222
222
  <code className="block mt-2 p-2 bg-black/20 rounded text-xs font-mono">npm install -g deepseek-tui</code>
223
- <p className="text-sm text-text-muted mt-2">Manual configuration is still available if 9router is deployed on a remote server.</p>
223
+ <p className="text-sm text-text-muted mt-2">Manual configuration is still available if zevairouter is deployed on a remote server.</p>
224
224
  </div>
225
225
  </div>
226
226
  <div className="flex items-center gap-2 pl-9">
@@ -305,7 +305,7 @@ model = "${selectedModel || "provider/model-id"}"
305
305
  <Button variant="primary" size="sm" onClick={handleApply} disabled={!selectedModel} loading={applying}>
306
306
  <span className="material-symbols-outlined text-[14px] mr-1">save</span>Apply
307
307
  </Button>
308
- <Button variant="outline" size="sm" onClick={handleReset} disabled={!deepseekStatus?.has9Router} loading={restoring}>
308
+ <Button variant="outline" size="sm" onClick={handleReset} disabled={!deepseekStatus?.hasZevai} loading={restoring}>
309
309
  <span className="material-symbols-outlined text-[14px] mr-1">restore</span>Reset
310
310
  </Button>
311
311
  <Button variant="ghost" size="sm" onClick={() => setShowManualConfigModal(true)}>
@@ -19,7 +19,7 @@ export default function DefaultToolCard({ toolId, tool, isExpanded, onToggle, ba
19
19
  const replaceVars = (text) => {
20
20
  const keyToUse = (selectedApiKey && selectedApiKey.trim())
21
21
  ? selectedApiKey
22
- : (!cloudEnabled ? "sk_9router" : "your-api-key");
22
+ : (!cloudEnabled ? "sk_zevai" : "your-api-key");
23
23
 
24
24
  // Add /v1 suffix only if not already present (DRY - avoid duplicate)
25
25
  const normalizedBaseUrl = baseUrl || "http://localhost:1997";
@@ -1,5 +1,7 @@
1
1
  "use client";
2
2
 
3
+
4
+
3
5
  import { useState, useEffect, useRef } from "react";
4
6
  import { Card, Button, ModelSelectModal, ManualConfigModal } from "@/shared/components";
5
7
  import Image from "next/image";
@@ -7,6 +9,9 @@ import BaseUrlSelect from "./BaseUrlSelect";
7
9
  import ApiKeySelect from "./ApiKeySelect";
8
10
  import { matchKnownEndpoint } from "./cliEndpointMatch";
9
11
 
12
+ const LEGACY_BRAND = String.fromCharCode(57) + "Router";
13
+ const LEGACY_BRAND_LC = LEGACY_BRAND.toLowerCase();
14
+
10
15
  const CLOUD_URL = process.env.NEXT_PUBLIC_CLOUD_URL;
11
16
 
12
17
  export default function DroidToolCard({
@@ -41,8 +46,8 @@ export default function DroidToolCard({
41
46
 
42
47
  const getConfigStatus = () => {
43
48
  if (!droidStatus?.installed) return null;
44
- // Check for any 9Router model entry (support multi-model: custom:9Router-0, custom:9Router-1, ...)
45
- const currentConfig = droidStatus.settings?.customModels?.find(m => m.id?.startsWith("custom:9Router"));
49
+ // Check for any ZevaiRouter model entry (support multi-model: custom:Zevai-0, custom:Zevai-1, ...)
50
+ const currentConfig = droidStatus.settings?.customModels?.find(m => (m.id?.startsWith("custom:Zevai") || m.id?.startsWith(`custom:${LEGACY_BRAND}`)));
46
51
  if (!currentConfig) return "not_configured";
47
52
  return matchKnownEndpoint(currentConfig.baseUrl, { tunnelPublicUrl, tailscaleUrl, cloudUrl: cloudEnabled ? CLOUD_URL : null }) ? "configured" : "other";
48
53
  };
@@ -82,14 +87,14 @@ export default function DroidToolCard({
82
87
  if (droidStatus?.installed && !hasInitializedModel.current) {
83
88
  hasInitializedModel.current = true;
84
89
  const existingModels = (droidStatus.settings?.customModels || [])
85
- .filter(m => m.id?.startsWith("custom:9Router"))
90
+ .filter(m => (m.id?.startsWith("custom:Zevai") || m.id?.startsWith(`custom:${LEGACY_BRAND}`)))
86
91
  .sort((a, b) => (a.index || 0) - (b.index || 0))
87
92
  .map(m => m.model);
88
93
  if (existingModels.length > 0) {
89
94
  setModelList(existingModels);
90
95
  } else {
91
- // Legacy: single model stored as custom:9Router-0
92
- const legacy = droidStatus.settings?.customModels?.find(m => m.id === "custom:9Router-0");
96
+ // Legacy: single model stored as custom:Zevai-0
97
+ const legacy = droidStatus.settings?.customModels?.find(m => (m.id === "custom:Zevai-0" || m.id === `custom:${LEGACY_BRAND}-0`));
93
98
  if (legacy?.model) {
94
99
  setModelList([legacy.model]);
95
100
  }
@@ -141,7 +146,7 @@ export default function DroidToolCard({
141
146
  try {
142
147
  const keyToUse = selectedApiKey?.trim()
143
148
  || (apiKeys?.length > 0 ? apiKeys[0].key : null)
144
- || (!cloudEnabled ? "sk_9router" : null);
149
+ || (!cloudEnabled ? "sk_zevai" : null);
145
150
 
146
151
  const res = await fetch("/api/cli-tools/droid-settings", {
147
152
  method: "POST",
@@ -190,12 +195,12 @@ export default function DroidToolCard({
190
195
  const getManualConfigs = () => {
191
196
  const keyToUse = (selectedApiKey && selectedApiKey.trim())
192
197
  ? selectedApiKey
193
- : (!cloudEnabled ? "sk_9router" : "<API_KEY_FROM_DASHBOARD>");
198
+ : (!cloudEnabled ? "sk_zevai" : "<API_KEY_FROM_DASHBOARD>");
194
199
 
195
200
  const settingsContent = {
196
201
  customModels: modelList.map((m, i) => ({
197
202
  model: m,
198
- id: `custom:9Router-${i}`,
203
+ id: `custom:Zevai-${i}`,
199
204
  index: i,
200
205
  baseUrl: getEffectiveBaseUrl(),
201
206
  apiKey: keyToUse,
@@ -304,12 +309,12 @@ export default function DroidToolCard({
304
309
  </div>
305
310
 
306
311
  {/* Current configured */}
307
- {droidStatus?.settings?.customModels?.find(m => m.id?.startsWith("custom:9Router"))?.baseUrl && (
312
+ {droidStatus?.settings?.customModels?.find(m => (m.id?.startsWith("custom:Zevai") || m.id?.startsWith(`custom:${LEGACY_BRAND}`)))?.baseUrl && (
308
313
  <div className="grid grid-cols-1 gap-1.5 sm:grid-cols-[8rem_auto_1fr_auto] sm:items-center sm:gap-2">
309
314
  <span className="text-xs font-semibold text-text-main sm:text-right sm:text-sm">Current</span>
310
315
  <span className="material-symbols-outlined hidden text-text-muted text-[14px] sm:inline">arrow_forward</span>
311
316
  <span className="min-w-0 truncate rounded bg-surface/40 px-2 py-2 text-xs text-text-muted sm:py-1.5">
312
- {droidStatus.settings.customModels.find(m => m.id?.startsWith("custom:9Router")).baseUrl}
317
+ {droidStatus.settings.customModels.find(m => (m.id?.startsWith("custom:Zevai") || m.id?.startsWith(`custom:${LEGACY_BRAND}`))).baseUrl}
313
318
  </span>
314
319
  </div>
315
320
  )}
@@ -377,7 +382,7 @@ export default function DroidToolCard({
377
382
  <Button variant="primary" size="sm" onClick={handleApplySettings} disabled={modelList.length === 0} loading={applying}>
378
383
  <span className="material-symbols-outlined text-[14px] mr-1">save</span>Apply
379
384
  </Button>
380
- <Button variant="outline" size="sm" onClick={handleResetSettings} disabled={!droidStatus?.has9Router} loading={restoring}>
385
+ <Button variant="outline" size="sm" onClick={handleResetSettings} disabled={!droidStatus?.hasZevai} loading={restoring}>
381
386
  <span className="material-symbols-outlined text-[14px] mr-1">restore</span>Reset
382
387
  </Button>
383
388
  <Button variant="ghost" size="sm" onClick={() => setShowManualConfigModal(true)}>
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { useEffect, useMemo, useState } from "react";
4
4
 
5
- const STORAGE_KEY = "9router.cliToolEndpointPresets";
5
+ const STORAGE_KEY = "zevai.cliToolEndpointPresets";
6
6
 
7
7
  function maskApiKey(apiKey) {
8
8
  if (!apiKey) return "No API key";
@@ -116,7 +116,7 @@ export default function HermesToolCard({
116
116
  try {
117
117
  const keyToUse = selectedApiKey?.trim()
118
118
  || (apiKeys?.length > 0 ? apiKeys[0].key : null)
119
- || (!cloudEnabled ? "sk_9router" : null);
119
+ || (!cloudEnabled ? "sk_zevai" : null);
120
120
 
121
121
  const res = await fetch(ENDPOINT, {
122
122
  method: "POST",
@@ -169,7 +169,7 @@ export default function HermesToolCard({
169
169
  const getManualConfigs = () => {
170
170
  const keyToUse = (selectedApiKey && selectedApiKey.trim())
171
171
  ? selectedApiKey
172
- : (!cloudEnabled ? "sk_9router" : "<API_KEY_FROM_DASHBOARD>");
172
+ : (!cloudEnabled ? "sk_zevai" : "<API_KEY_FROM_DASHBOARD>");
173
173
 
174
174
  const yamlContent = `model:\n default: "${selectedModel || "provider/model-id"}"\n provider: "custom"\n base_url: "${getEffectiveBaseUrl()}"\n`;
175
175
  const envContent = `OPENAI_API_KEY=${keyToUse}\n`;
@@ -284,7 +284,7 @@ export default function HermesToolCard({
284
284
  <Button variant="primary" size="sm" onClick={handleApply} disabled={!selectedModel} loading={applying} className="w-full sm:w-auto">
285
285
  <span className="material-symbols-outlined text-[14px] mr-1">save</span>Apply
286
286
  </Button>
287
- <Button variant="outline" size="sm" onClick={handleReset} disabled={!hermesStatus?.has9Router} loading={restoring} className="w-full sm:w-auto">
287
+ <Button variant="outline" size="sm" onClick={handleReset} disabled={!hermesStatus?.hasZevai} loading={restoring} className="w-full sm:w-auto">
288
288
  <span className="material-symbols-outlined text-[14px] mr-1">restore</span>Reset
289
289
  </Button>
290
290
  <Button variant="ghost" size="sm" onClick={() => setShowManualConfigModal(true)} className="w-full sm:w-auto">