@yina-npm/openrouterx 0.4.26 → 0.4.28

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 (317) hide show
  1. package/app/.next/BUILD_ID +1 -1
  2. package/app/.next/app-path-routes-manifest.json +3 -2
  3. package/app/.next/build-manifest.json +2 -2
  4. package/app/.next/routes-manifest.json +6 -0
  5. package/app/.next/server/app/(dashboard)/dashboard/admin/keys/page.js +2 -2
  6. package/app/.next/server/app/(dashboard)/dashboard/admin/keys/page_client-reference-manifest.js +1 -1
  7. package/app/.next/server/app/(dashboard)/dashboard/admin/users/page.js +2 -2
  8. package/app/.next/server/app/(dashboard)/dashboard/admin/users/page_client-reference-manifest.js +1 -1
  9. package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  10. package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  11. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  12. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  13. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  14. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  15. package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  16. package/app/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  17. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  18. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  19. package/app/.next/server/app/(dashboard)/dashboard/focus-ui/page.js +2 -0
  20. package/app/.next/server/app/(dashboard)/dashboard/focus-ui/page.js.nft.json +1 -0
  21. package/app/.next/server/app/(dashboard)/dashboard/focus-ui/page_client-reference-manifest.js +1 -0
  22. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
  23. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  24. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  25. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  26. package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +2 -2
  27. package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  28. package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  29. package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  30. package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  31. package/app/.next/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  32. package/app/.next/server/app/(dashboard)/dashboard/network-analysis/page.js +2 -2
  33. package/app/.next/server/app/(dashboard)/dashboard/network-analysis/page_client-reference-manifest.js +1 -1
  34. package/app/.next/server/app/(dashboard)/dashboard/page.js +2 -2
  35. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  36. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  37. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  38. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  39. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  40. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  41. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  42. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  43. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  44. package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
  45. package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  46. package/app/.next/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  47. package/app/.next/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  48. package/app/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  49. package/app/.next/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  50. package/app/.next/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  51. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  52. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  53. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  54. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  55. package/app/.next/server/app/(dashboard)/dashboard/user/page.js +3 -3
  56. package/app/.next/server/app/(dashboard)/dashboard/user/page_client-reference-manifest.js +1 -1
  57. package/app/.next/server/app/_global-error/page.js +3 -3
  58. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  59. package/app/.next/server/app/_global-error.html +1 -1
  60. package/app/.next/server/app/_global-error.rsc +1 -1
  61. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  62. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  63. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  64. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  65. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  66. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  67. package/app/.next/server/app/_not-found/page.js +2 -2
  68. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  69. package/app/.next/server/app/_not-found.html +1 -1
  70. package/app/.next/server/app/_not-found.rsc +4 -4
  71. package/app/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
  72. package/app/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  73. package/app/.next/server/app/_not-found.segments/_index.segment.rsc +4 -4
  74. package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  75. package/app/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  76. package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  77. package/app/.next/server/app/api/auth/login/route.js +1 -1
  78. package/app/.next/server/app/api/auth/logout/route.js +1 -1
  79. package/app/.next/server/app/api/auth/me/route.js +1 -1
  80. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +1 -1
  81. package/app/.next/server/app/api/cli-tools/antigravity-mitm/inject-auth/route.js +1 -1
  82. package/app/.next/server/app/api/cli-tools/antigravity-mitm/restart/route.js +1 -1
  83. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  84. package/app/.next/server/app/api/cli-tools/antigravity-mitm/test/route.js +1 -1
  85. package/app/.next/server/app/api/cli-tools/claude-settings/route.js +2 -2
  86. package/app/.next/server/app/api/cli-tools/codex-settings/route.js +2 -2
  87. package/app/.next/server/app/api/cli-tools/copilot-settings/route.js +1 -1
  88. package/app/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  89. package/app/.next/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  90. package/app/.next/server/app/api/cli-tools/droid-settings/route.js +1 -1
  91. package/app/.next/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  92. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  93. package/app/.next/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  94. package/app/.next/server/app/api/cloud/auth/route.js +1 -1
  95. package/app/.next/server/app/api/cloud/credentials/update/route.js +1 -1
  96. package/app/.next/server/app/api/cloud/model/resolve/route.js +1 -1
  97. package/app/.next/server/app/api/cloud/models/alias/route.js +1 -1
  98. package/app/.next/server/app/api/combos/[id]/route.js +1 -1
  99. package/app/.next/server/app/api/combos/route.js +1 -1
  100. package/app/.next/server/app/api/health/route.js +1 -1
  101. package/app/.next/server/app/api/init/route.js +1 -1
  102. package/app/.next/server/app/api/keys/[id]/route.js +1 -1
  103. package/app/.next/server/app/api/keys/route.js +1 -1
  104. package/app/.next/server/app/api/locale/route.js +1 -1
  105. package/app/.next/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  106. package/app/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  107. package/app/.next/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  108. package/app/.next/server/app/api/media-providers/tts/voices/route.js +1 -1
  109. package/app/.next/server/app/api/models/alias/route.js +1 -1
  110. package/app/.next/server/app/api/models/availability/route.js +1 -1
  111. package/app/.next/server/app/api/models/custom/route.js +1 -1
  112. package/app/.next/server/app/api/models/disabled/route.js +1 -1
  113. package/app/.next/server/app/api/models/route.js +1 -1
  114. package/app/.next/server/app/api/models/test/route.js +1 -1
  115. package/app/.next/server/app/api/network-analysis/route.js +2 -2
  116. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  117. package/app/.next/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  118. package/app/.next/server/app/api/oauth/cursor/import/route.js +1 -1
  119. package/app/.next/server/app/api/oauth/gitlab/pat/route.js +1 -1
  120. package/app/.next/server/app/api/oauth/iflow/cookie/route.js +1 -1
  121. package/app/.next/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  122. package/app/.next/server/app/api/oauth/kiro/import/route.js +1 -1
  123. package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  124. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  125. package/app/.next/server/app/api/pricing/route.js +1 -1
  126. package/app/.next/server/app/api/provider-nodes/[id]/route.js +1 -1
  127. package/app/.next/server/app/api/provider-nodes/route.js +1 -1
  128. package/app/.next/server/app/api/provider-nodes/validate/route.js +1 -1
  129. package/app/.next/server/app/api/providers/[id]/models/route.js +1 -1
  130. package/app/.next/server/app/api/providers/[id]/route.js +1 -1
  131. package/app/.next/server/app/api/providers/[id]/test/route.js +1 -1
  132. package/app/.next/server/app/api/providers/[id]/test-models/route.js +1 -1
  133. package/app/.next/server/app/api/providers/client/route.js +1 -1
  134. package/app/.next/server/app/api/providers/kilo/free-models/route.js +1 -1
  135. package/app/.next/server/app/api/providers/route.js +1 -1
  136. package/app/.next/server/app/api/providers/suggested-models/route.js +1 -1
  137. package/app/.next/server/app/api/providers/test-batch/route.js +1 -1
  138. package/app/.next/server/app/api/providers/validate/route.js +1 -1
  139. package/app/.next/server/app/api/proxy-pools/[id]/route.js +1 -1
  140. package/app/.next/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  141. package/app/.next/server/app/api/proxy-pools/route.js +1 -1
  142. package/app/.next/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  143. package/app/.next/server/app/api/settings/database/route.js +1 -1
  144. package/app/.next/server/app/api/settings/proxy-test/route.js +1 -1
  145. package/app/.next/server/app/api/settings/require-login/route.js +1 -1
  146. package/app/.next/server/app/api/settings/route.js +1 -1
  147. package/app/.next/server/app/api/shutdown/route.js +1 -1
  148. package/app/.next/server/app/api/tags/route.js +1 -1
  149. package/app/.next/server/app/api/translator/console-logs/route.js +1 -1
  150. package/app/.next/server/app/api/translator/console-logs/stream/route.js +2 -2
  151. package/app/.next/server/app/api/translator/load/route.js +1 -1
  152. package/app/.next/server/app/api/translator/save/route.js +1 -1
  153. package/app/.next/server/app/api/translator/send/route.js +1 -1
  154. package/app/.next/server/app/api/translator/translate/route.js +1 -1
  155. package/app/.next/server/app/api/tunnel/disable/route.js +1 -1
  156. package/app/.next/server/app/api/tunnel/enable/route.js +1 -1
  157. package/app/.next/server/app/api/tunnel/status/route.js +1 -1
  158. package/app/.next/server/app/api/tunnel/tailscale-check/route.js +1 -1
  159. package/app/.next/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  160. package/app/.next/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  161. package/app/.next/server/app/api/tunnel/tailscale-install/route.js +1 -1
  162. package/app/.next/server/app/api/tunnel/tailscale-login/route.js +1 -1
  163. package/app/.next/server/app/api/tunnel/tailscale-start-daemon/route.js +2 -2
  164. package/app/.next/server/app/api/usage/[connectionId]/route.js +1 -1
  165. package/app/.next/server/app/api/usage/api-keys/route.js +1 -1
  166. package/app/.next/server/app/api/usage/chart/route.js +1 -1
  167. package/app/.next/server/app/api/usage/history/route.js +1 -1
  168. package/app/.next/server/app/api/usage/logs/route.js +1 -1
  169. package/app/.next/server/app/api/usage/providers/route.js +1 -1
  170. package/app/.next/server/app/api/usage/request-details/route.js +1 -1
  171. package/app/.next/server/app/api/usage/request-logs/route.js +1 -1
  172. package/app/.next/server/app/api/usage/stats/route.js +1 -1
  173. package/app/.next/server/app/api/usage/stream/route.js +2 -2
  174. package/app/.next/server/app/api/users/[id]/route.js +1 -1
  175. package/app/.next/server/app/api/users/route.js +1 -1
  176. package/app/.next/server/app/api/v1/api/chat/route.js +1 -1
  177. package/app/.next/server/app/api/v1/audio/speech/route.js +1 -1
  178. package/app/.next/server/app/api/v1/audio/transcriptions/route.js +1 -1
  179. package/app/.next/server/app/api/v1/audio/voices/route.js +1 -1
  180. package/app/.next/server/app/api/v1/chat/completions/route.js +1 -1
  181. package/app/.next/server/app/api/v1/embeddings/route.js +1 -1
  182. package/app/.next/server/app/api/v1/images/generations/route.js +1 -1
  183. package/app/.next/server/app/api/v1/messages/count_tokens/route.js +1 -1
  184. package/app/.next/server/app/api/v1/messages/route.js +1 -1
  185. package/app/.next/server/app/api/v1/models/[kind]/route.js +1 -1
  186. package/app/.next/server/app/api/v1/models/info/route.js +1 -1
  187. package/app/.next/server/app/api/v1/models/route.js +1 -1
  188. package/app/.next/server/app/api/v1/responses/compact/route.js +1 -1
  189. package/app/.next/server/app/api/v1/responses/route.js +1 -1
  190. package/app/.next/server/app/api/v1/route.js +1 -1
  191. package/app/.next/server/app/api/v1/search/route.js +1 -1
  192. package/app/.next/server/app/api/v1/web/fetch/route.js +1 -1
  193. package/app/.next/server/app/api/v1beta/models/[...path]/route.js +1 -1
  194. package/app/.next/server/app/api/v1beta/models/route.js +1 -1
  195. package/app/.next/server/app/api/version/route.js +1 -1
  196. package/app/.next/server/app/api/version/update/route.js +1 -1
  197. package/app/.next/server/app/callback/page.js +2 -2
  198. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  199. package/app/.next/server/app/callback.html +1 -1
  200. package/app/.next/server/app/callback.rsc +4 -4
  201. package/app/.next/server/app/callback.segments/_full.segment.rsc +4 -4
  202. package/app/.next/server/app/callback.segments/_head.segment.rsc +1 -1
  203. package/app/.next/server/app/callback.segments/_index.segment.rsc +4 -4
  204. package/app/.next/server/app/callback.segments/_tree.segment.rsc +2 -2
  205. package/app/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  206. package/app/.next/server/app/callback.segments/callback.segment.rsc +1 -1
  207. package/app/.next/server/app/dashboard/settings/pricing/page.js +2 -2
  208. package/app/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  209. package/app/.next/server/app/dashboard/settings/pricing.html +1 -1
  210. package/app/.next/server/app/dashboard/settings/pricing.rsc +4 -4
  211. package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  212. package/app/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  213. package/app/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
  214. package/app/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  215. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  216. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  217. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  218. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  219. package/app/.next/server/app/favicon.ico/route.js +1 -1
  220. package/app/.next/server/app/index.html +1 -1
  221. package/app/.next/server/app/index.rsc +4 -4
  222. package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  223. package/app/.next/server/app/index.segments/_full.segment.rsc +4 -4
  224. package/app/.next/server/app/index.segments/_head.segment.rsc +1 -1
  225. package/app/.next/server/app/index.segments/_index.segment.rsc +4 -4
  226. package/app/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  227. package/app/.next/server/app/landing/page.js +2 -2
  228. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  229. package/app/.next/server/app/landing.html +1 -1
  230. package/app/.next/server/app/landing.rsc +4 -4
  231. package/app/.next/server/app/landing.segments/_full.segment.rsc +4 -4
  232. package/app/.next/server/app/landing.segments/_head.segment.rsc +1 -1
  233. package/app/.next/server/app/landing.segments/_index.segment.rsc +4 -4
  234. package/app/.next/server/app/landing.segments/_tree.segment.rsc +2 -2
  235. package/app/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  236. package/app/.next/server/app/landing.segments/landing.segment.rsc +1 -1
  237. package/app/.next/server/app/login/page.js +2 -2
  238. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  239. package/app/.next/server/app/login.html +1 -1
  240. package/app/.next/server/app/login.rsc +5 -5
  241. package/app/.next/server/app/login.segments/_full.segment.rsc +5 -5
  242. package/app/.next/server/app/login.segments/_head.segment.rsc +1 -1
  243. package/app/.next/server/app/login.segments/_index.segment.rsc +4 -4
  244. package/app/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  245. package/app/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  246. package/app/.next/server/app/login.segments/login.segment.rsc +1 -1
  247. package/app/.next/server/app/manifest.webmanifest/route.js +2 -2
  248. package/app/.next/server/app/page.js +2 -2
  249. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  250. package/app/.next/server/app-paths-manifest.json +3 -2
  251. package/app/.next/server/chunks/3110.js +1 -1
  252. package/app/.next/server/chunks/3493.js +1 -0
  253. package/app/.next/server/chunks/412.js +2 -2
  254. package/app/.next/server/chunks/4122.js +1 -1
  255. package/app/.next/server/chunks/5681.js +1 -1
  256. package/app/.next/server/chunks/7595.js +1 -1
  257. package/app/.next/server/chunks/9547.js +2 -2
  258. package/app/.next/server/chunks/9718.js +1 -1
  259. package/app/.next/server/middleware-build-manifest.js +1 -1
  260. package/app/.next/server/middleware.js +3 -3
  261. package/app/.next/server/pages/404.html +1 -1
  262. package/app/.next/server/pages/500.html +1 -1
  263. package/app/.next/static/chunks/1321-38758d19993d62bf.js +1 -0
  264. package/app/.next/static/chunks/{2336-291f4397a7464d20.js → 2336-cef968b5640a96f8.js} +4 -4
  265. package/app/.next/static/chunks/5095-ca2b12905f37ff4d.js +1 -0
  266. package/app/.next/static/chunks/{5497-5e089c05197cb78c.js → 5497-2ef9901a04eb9472.js} +2 -2
  267. package/app/.next/static/chunks/app/(dashboard)/dashboard/console-log/page-24fbb3b59653700e.js +1 -0
  268. package/app/.next/static/chunks/app/(dashboard)/dashboard/focus-ui/page-74a4a20467839a51.js +1 -0
  269. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-aa4cac34e6e605a5.js +1 -0
  270. package/app/.next/static/chunks/app/(dashboard)/dashboard/quota/page-8228cc70494a195b.js +1 -0
  271. package/app/.next/static/chunks/app/login/page-cfe122b0047956eb.js +1 -0
  272. package/app/.next/static/css/90eec4fabec62f30.css +1 -0
  273. package/app/.next/static/uJKVggqia7KT98gdWEdVM/_buildManifest.js +1 -0
  274. package/app/package.json +1 -1
  275. package/app/public/i18n/literals/ar.json +178 -167
  276. package/app/public/i18n/literals/bn.json +178 -167
  277. package/app/public/i18n/literals/cs.json +178 -167
  278. package/app/public/i18n/literals/da.json +178 -167
  279. package/app/public/i18n/literals/de.json +178 -167
  280. package/app/public/i18n/literals/el.json +178 -167
  281. package/app/public/i18n/literals/es.json +178 -167
  282. package/app/public/i18n/literals/fi.json +178 -167
  283. package/app/public/i18n/literals/fr.json +178 -167
  284. package/app/public/i18n/literals/he.json +178 -167
  285. package/app/public/i18n/literals/hi.json +178 -167
  286. package/app/public/i18n/literals/hu.json +178 -167
  287. package/app/public/i18n/literals/id.json +178 -167
  288. package/app/public/i18n/literals/it.json +178 -167
  289. package/app/public/i18n/literals/ja.json +178 -167
  290. package/app/public/i18n/literals/ko.json +178 -167
  291. package/app/public/i18n/literals/nl.json +178 -167
  292. package/app/public/i18n/literals/no.json +178 -167
  293. package/app/public/i18n/literals/pl.json +178 -167
  294. package/app/public/i18n/literals/pt-BR.json +178 -167
  295. package/app/public/i18n/literals/pt-PT.json +178 -167
  296. package/app/public/i18n/literals/ro.json +178 -167
  297. package/app/public/i18n/literals/ru.json +178 -167
  298. package/app/public/i18n/literals/sv.json +178 -167
  299. package/app/public/i18n/literals/th.json +178 -167
  300. package/app/public/i18n/literals/tl.json +178 -167
  301. package/app/public/i18n/literals/tr.json +178 -167
  302. package/app/public/i18n/literals/uk.json +178 -167
  303. package/app/public/i18n/literals/ur.json +178 -167
  304. package/app/public/i18n/literals/vi.json +178 -167
  305. package/app/public/i18n/literals/zh-CN.json +330 -315
  306. package/app/public/i18n/literals/zh-TW.json +227 -211
  307. package/app/src/mitm/antigravityBootstrap.js +53 -0
  308. package/app/src/mitm/server.js +6 -27
  309. package/package.json +1 -1
  310. package/app/.next/static/chunks/1321-95c9ff5c55e7523c.js +0 -1
  311. package/app/.next/static/chunks/app/(dashboard)/dashboard/console-log/page-fbdc1506f7259342.js +0 -1
  312. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-39ab11dad9bb6b89.js +0 -1
  313. package/app/.next/static/chunks/app/(dashboard)/dashboard/quota/page-e03634044afafb6e.js +0 -1
  314. package/app/.next/static/chunks/app/login/page-163a87388cf383cc.js +0 -1
  315. package/app/.next/static/css/7cd54184567aeb93.css +0 -1
  316. package/app/.next/static/faQBvAhPvYR3OC9ddKyfJ/_buildManifest.js +0 -1
  317. /package/app/.next/static/{faQBvAhPvYR3OC9ddKyfJ → uJKVggqia7KT98gdWEdVM}/_ssgManifest.js +0 -0
@@ -1,244 +1,260 @@
1
1
  {
2
- "Cancel": "取消",
3
- "Delete": "刪除",
4
- "Edit": "編輯",
5
- "Save": "保存",
6
- "Close": "關閉",
2
+ "Actions": "操作",
3
+ "active": "作用中",
4
+ "Active": "活躍",
7
5
  "Add": "添加",
8
- "Remove": "移除",
9
- "Settings": "設置",
10
- "Profile": "個人資料",
11
- "Dashboard": "儀表板",
12
- "Logout": "登出",
13
- "Login": "登錄",
14
- "Providers": "提供者",
15
- "Usage": "統計",
6
+ "Advanced": "進階",
7
+ "All data stored on your machine": "所有數據存儲在您的機器上",
8
+ "Antigravity/Copilot IDE request → DNS redirect to localhost:443 → MITM proxy intercepts → OpenrouterX → response to Antigravity/Copilot": "Antigravity/Copilot IDE 請求 → DNS 重定向到 localhost:443 → MITM 代理攔截 → OpenrouterX → 响應到 Antigravity/Copilot",
9
+ "API endpoint configuration": "API 端點配置",
16
10
  "API Key": "API 金鑰",
17
- "Connected": "已連接",
18
- "Disconnected": "未連接",
19
- "Active": "活躍",
20
- "Inactive": "非活躍",
21
- "Success": "成功",
22
- "Failed": "失敗",
23
- "Error": "錯誤",
24
- "Warning": "警告",
25
- "Info": "信息",
26
- "Loading": "載入中",
27
- "Search": "搜尋",
28
- "Filter": "篩選",
29
- "Sort": "排序",
30
- "Export": "導出",
31
- "Import": "導入",
32
- "Refresh": "刷新",
33
- "Back": "返回",
34
- "Next": "下一個",
35
- "Previous": "上一個",
36
- "Submit": "提交",
37
- "Confirm": "確認",
38
- "Yes": "是",
39
- "No": "否",
40
- "OK": "確定",
41
11
  "Apply": "應用",
42
- "Reset": "重置",
12
+ "Are you sure you want to close the proxy server?": "您確定要關閉代理服務器嗎?",
13
+ "Auto": "自動",
14
+ "Available": "可用",
15
+ "Back": "返回",
16
+ "Basic": "基本",
17
+ "Batch Size": "批量大小",
18
+ "Calls per account before switching": "切換前每個帳戶的調用次數",
19
+ "Cancel": "取消",
20
+ "Cert": "證書",
43
21
  "Clear": "清除",
44
- "Select": "選擇",
45
- "Upload": "上傳",
46
- "Download": "下載",
22
+ "CLI Tools": "CLI 工具",
23
+ "Close": "關閉",
24
+ "Close Proxy": "關閉代理",
25
+ "Cloudflare tunnel": "Cloudflare 通道",
26
+ "Collapse": "收起",
27
+ "Combos": "組合",
28
+ "Comma-separated hostnames/domains to bypass the proxy.": "逗號分隔的主機名/域以繞過代理。",
29
+ "Configure CLI tools": "配置 CLI 工具",
30
+ "Configured outbound proxy timed out": "設定的出站代理逾時",
31
+ "Confirm": "確認",
32
+ "Confirm new password": "確認新密碼",
33
+ "Confirm New Password": "確認新密碼",
34
+ "Connected": "已連接",
35
+ "Console Log": "控制台日誌",
36
+ "Console Logs": "主控台日誌",
47
37
  "Copy": "複製",
48
- "Paste": "粘貼",
38
+ "Cost": "成本",
39
+ "Count": "計數",
40
+ "Create model combos with fallback support": "創建具有備用支持的模型組合",
41
+ "Created": "已建立",
42
+ "Current Machine State": "目前機器狀態",
43
+ "Current Password": "當前密碼",
44
+ "Custom": "自定義",
49
45
  "Cut": "剪切",
50
- "Undo": "撤銷",
51
- "Redo": "重做",
52
- "Name": "名稱",
53
- "Description": "描述",
54
- "Status": "狀態",
55
- "Type": "類型",
46
+ "Cycle through accounts to distribute load": "循環循環帳戶以分配負載",
47
+ "Dark": "深色",
48
+ "Dashboard": "儀表板",
49
+ "Database backup downloaded": "已下載數據庫備份",
50
+ "Database imported successfully": "已成功導入數據庫",
51
+ "Database Location": "數據庫位置",
56
52
  "Date": "日期",
57
- "Time": "時間",
58
- "Created": "已建立",
59
- "Updated": "更新於",
60
- "Actions": "操作",
53
+ "Debug": "調試",
54
+ "Debug translation flow between formats": "調試格式之間的轉換流",
55
+ "Default": "默認",
56
+ "Default route": "預設路由",
57
+ "Delete": "刪除",
58
+ "Description": "描述",
61
59
  "Details": "詳細信息",
62
- "View": "查看",
63
- "New": "新建",
64
- "Total": "總計",
65
- "Count": "計數",
66
- "Price": "價格",
67
- "Cost": "成本",
68
- "Free": "免費",
69
- "Paid": "付費",
70
- "Enable": "啟用",
60
+ "Diagnose local connectivity, proxy, DNS, and MITM network impact": "診斷本機連線、代理、DNS 和 MITM 對網路的影響",
71
61
  "Disable": "禁用",
72
- "Enabled": "已啟用",
73
62
  "Disabled": "已停用",
74
- "Online": "在線",
75
- "Offline": "離線",
76
- "Available": "可用",
77
- "Unavailable": "不可用",
78
- "Required": "必需",
79
- "Optional": "可選",
80
- "Default": "默認",
81
- "Custom": "自定義",
82
- "Advanced": "進階",
83
- "Basic": "基本",
84
- "Help": "幫助",
85
- "Support": "支持",
63
+ "Disconnected": "未連接",
64
+ "DNS errors": "DNS 錯誤",
86
65
  "Documentation": "文檔",
87
- "Version": "版本",
66
+ "Download": "下載",
67
+ "Download Backup": "下載備份",
68
+ "EADDRNOTAVAIL means Node could not allocate a usable local outbound address at that moment. This normally points to Wi-Fi/DHCP/route churn or VPN/proxy path loss before an upstream request completed.": "EADDRNOTAVAIL 表示 Node 當時無法分配可用的本機出站位址。通常說明上游請求完成前發生了 Wi-Fi、DHCP、路由變化,或 VPN/代理路徑遺失。",
69
+ "Edit": "編輯",
70
+ "Enable": "啟用",
71
+ "Enable DNS per tool below to activate interception": "為下面的每個工具啟用 DNS 以激活攔截",
72
+ "Enable Observability": "啟用可觀測性",
73
+ "Enable proxy for OAuth + provider outbound requests.": "為 OAuth + 提供者出站請求啟用代理。",
74
+ "Enabled": "已啟用",
75
+ "Enabled outside OpenrouterX": "在 OpenrouterX 外部啟用",
76
+ "Endpoint": "端點",
77
+ "Enter current password": "輸入當前密碼",
78
+ "Enter new password": "輸入新密碼",
79
+ "Enter your sudo password to start/stop MITM server": "輸入您的 Sudo 密碼以啟動/停止 MITM 服務器",
80
+ "Error": "錯誤",
81
+ "Existing TLS sockets were reset": "現有 TLS 連線被重置",
82
+ "Expand": "展開",
83
+ "Export": "導出",
84
+ "External route instability": "外部路由不穩定",
85
+ "Failed": "失敗",
86
+ "Failed to start server": "啟動服務器失敗",
87
+ "Failed to stop server": "停止服務器失敗",
88
+ "Filter": "篩選",
89
+ "Findings": "發現",
90
+ "Flush Interval (ms)": "刷新間隔 (ms)",
91
+ "Free": "免費",
92
+ "Healthy": "健康",
93
+ "Help": "幫助",
94
+ "high": "高",
95
+ "Hostname": "主機名稱",
96
+ "How it works:": "工作原理:",
97
+ "Import": "導入",
98
+ "Import Backup": "導入備份",
99
+ "Inactive": "非活躍",
100
+ "info": "資訊",
101
+ "Info": "信息",
102
+ "Intercept CLI tool traffic and route through OpenrouterX": "攔截 CLI 工具流量並通過 OpenrouterX 路由",
88
103
  "Language": "語言",
89
- "Theme": "主題",
104
+ "Leave empty to inherit existing env proxy (if any).": "留空以繼承現有的環境代理(如果有)。",
90
105
  "Light": "淺色",
91
- "Dark": "深色",
92
- "Auto": "自動",
93
- "Endpoint": "端點",
94
- "Combos": "組合",
95
- "Quota Tracker": "配額跟蹤",
96
- "MITM": "MITM",
97
- "CLI Tools": "CLI 工具",
98
- "Console Log": "控制台日誌",
99
- "System": "系統",
100
- "Debug": "調試",
101
- "Shutdown": "關機",
102
- "Close Proxy": "關閉代理",
103
- "Are you sure you want to close the proxy server?": "您確定要關閉代理服務器嗎?",
104
- "Server Disconnected": "服務器已斷開連接",
105
- "The proxy server has been stopped.": "代理服務器已停止。",
106
- "Reload Page": "重新加載頁面",
107
- "Service is running in terminal. You can close this web page. Shutdown will stop the service.": "服務在終端中運行。您可以關閉此網頁。關機將停止服務。",
106
+ "Live": "即時",
107
+ "Live server console output": "實時服務器控制台輸出",
108
+ "Loading": "載入中",
109
+ "Local Mode": "本地模式",
110
+ "Local route became unavailable": "本機路由變為不可用",
111
+ "Login": "登錄",
112
+ "Logout": "登出",
113
+ "low": "",
108
114
  "Manage your AI provider connections": "管理您的 AI 提供者連接",
115
+ "Manage your preferences": "管理您的首選項",
116
+ "Max JSON Size (KB)": "最大 JSON 大小 (KB)",
117
+ "Max Records": "最大記錄數",
118
+ "Maximum request detail records to keep (older records are auto-deleted)": "要保留的最大請求詳細記錄數(舊記錄自動刪除)",
119
+ "Maximum size for each JSON field (request/response) before truncation": "截斷前每個 JSON 字段(請求/響應)的最大大小",
120
+ "Maximum time to wait before flushing buffer (prevents data loss during low traffic)": "刷新緩衝區之前的最大等待時間(防止低流量期間的數據丟失)",
121
+ "medium": "中",
122
+ "MITM": "MITM",
123
+ "MITM / OpenrouterX realtime output": "MITM / OpenrouterX 即時輸出",
124
+ "MITM DNS tools": "MITM DNS 工具",
125
+ "MITM Server": "MITM 服務器",
126
+ "MITM server status and controls": "中間人伺服器狀態與啟動控制",
127
+ "MITM tool interception status": "MITM 工具攔截狀態",
109
128
  "Model combos with fallback": "具有備用的模型組合",
129
+ "Monitor MITM status, quota, and realtime logs in one place": "在一個頁面中關注 MITM 狀態、配額和即時日誌",
110
130
  "Monitor your API usage, token consumption, and request logs": "監控您的 API 使用、令牌消耗和請求日誌",
111
- "Intercept CLI tool traffic and route through OpenrouterX": "攔截 CLI 工具流量並通過 OpenrouterX 路由",
112
- "Configure CLI tools": "配置 CLI 工具",
113
- "API endpoint configuration": "API 端點配置",
114
- "Manage your preferences": "管理您的首選項",
115
- "Debug translation flow between formats": "調試格式之間的轉換流",
116
- "Live server console output": "實時服務器控制台輸出",
117
- "Create model combos with fallback support": "創建具有備用支持的模型組合",
118
- "Local Mode": "本地模式",
119
- "Running on your machine": "在您的機器上運行",
120
- "Database Location": "數據庫位置",
121
- "Download Backup": "下載備份",
122
- "Import Backup": "導入備份",
123
- "Database backup downloaded": "已下載數據庫備份",
124
- "Database imported successfully": "已成功導入數據庫",
125
- "Security": "安全性",
126
- "Require login": "需要登錄",
127
- "When ON, dashboard requires password. When OFF, access without login.": "打開時,儀表板需要密碼。關閉時,無需登錄即可訪問。",
128
- "Current Password": "當前密碼",
129
- "Enter current password": "輸入當前密碼",
131
+ "Name": "名稱",
132
+ "Network": "網絡",
133
+ "Network Analysis": "網路分析",
134
+ "Network Error Timeline": "網路錯誤時間線",
135
+ "Network path instability is affecting OpenrouterX": "網路路徑不穩定正在影響 OpenrouterX",
136
+ "New": "新建",
130
137
  "New Password": "新密碼",
131
- "Enter new password": "輸入新密碼",
132
- "Confirm New Password": "確認新密碼",
133
- "Confirm new password": "確認新密碼",
134
- "Update Password": "更新密碼",
135
- "Set Password": "設置密碼",
138
+ "Next": "下一個",
139
+ "No": "",
140
+ "No API keys — create one in Keys page": "沒有 API 金鑰 — 在金鑰頁面中創建一個",
141
+ "No console logs yet.": "尚無主控台日誌。",
142
+ "No macOS system proxy detected": "未偵測到 macOS 系統代理",
143
+ "No network transport errors in the sampled logs.": "取樣日誌中沒有網路傳輸錯誤。",
144
+ "No Proxy": "無代理",
145
+ "No recent network transport errors in app logs": "應用程式日誌中沒有近期網路傳輸錯誤",
146
+ "No transport errors in sampled logs": "取樣日誌中沒有傳輸錯誤",
147
+ "none": "無",
148
+ "None": "無",
149
+ "Number of items to accumulate before writing to database (higher = better performance)": "寫入數據庫前要積累的項目數(更高 = 更好的性能)",
150
+ "Observability": "可觀測性",
151
+ "Offline": "離線",
152
+ "OK": "確定",
153
+ "Online": "在線",
154
+ "OpenrouterX fell back after the configured proxy connection timed out. Because the app stores this as a targeted proxy allowlist, the failure affects selected upstream API calls rather than macOS global networking.": "設定的代理連線逾時後,OpenrouterX 已回退。由於應用程式將其儲存為定向代理允許清單,該故障影響的是選定的上游 API 呼叫,而不是 macOS 全域網路。",
155
+ "Optional": "可選",
156
+ "Outbound proxy": "出站代理",
157
+ "Outbound Proxy": "出站代理",
158
+ "Outbound scope": "出站範圍",
159
+ "Paid": "付費",
136
160
  "Password updated successfully": "已成功更新密碼",
137
161
  "Passwords do not match": "密碼不匹配",
138
- "Routing Strategy": "路由策略",
139
- "Round Robin": "輪詢",
140
- "Cycle through accounts to distribute load": "循環循環帳戶以分配負載",
141
- "Sticky Limit": "粘性限制",
142
- "Calls per account before switching": "切換前每個帳戶的調用次數",
143
- "Network": "網絡",
144
- "Outbound Proxy": "出站代理",
145
- "Enable proxy for OAuth + provider outbound requests.": "為 OAuth + 提供者出站請求啟用代理。",
146
- "Proxy URL": "代理 URL",
147
- "Leave empty to inherit existing env proxy (if any).": "留空以繼承現有的環境代理(如果有)。",
148
- "No Proxy": "無代理",
149
- "Comma-separated hostnames/domains to bypass the proxy.": "逗號分隔的主機名/域以繞過代理。",
150
- "Test proxy URL": "測試代理 URL",
151
- "Proxy settings applied": "已應用代理設置",
152
- "Proxy enabled": "已啟用代理",
162
+ "Paste": "粘貼",
163
+ "Platform": "平台",
164
+ "Please enter a Proxy URL to test": "請輸入要測試的代理 URL",
165
+ "Previous": "上一個",
166
+ "Price": "價格",
167
+ "Profile": "個人資料",
168
+ "Project Network Scope": "專案網路範圍",
169
+ "Provider account quota overview": "提供商帳號配額概覽",
170
+ "Providers": "提供者",
153
171
  "Proxy disabled": "已禁用代理",
154
- "Proxy test OK": "代理測試成功",
172
+ "Proxy enabled": "已啟用代理",
173
+ "Proxy failures": "代理故障",
174
+ "Proxy settings applied": "已應用代理設置",
155
175
  "Proxy test failed": "代理測試失敗",
156
- "Please enter a Proxy URL to test": "請輸入要測試的代理 URL",
157
- "Observability": "可觀測性",
158
- "Enable Observability": "啟用可觀測性",
159
- "Turn request detail recording on/off globally": "全局打開/關閉請求詳細記錄",
160
- "Max Records": "最大記錄數",
161
- "Maximum request detail records to keep (older records are auto-deleted)": "要保留的最大請求詳細記錄數(舊記錄自動刪除)",
162
- "Batch Size": "批量大小",
163
- "Number of items to accumulate before writing to database (higher = better performance)": "寫入數據庫前要積累的項目數(更高 = 更好的性能)",
164
- "Flush Interval (ms)": "刷新間隔 (ms)",
165
- "Maximum time to wait before flushing buffer (prevents data loss during low traffic)": "刷新緩衝區之前的最大等待時間(防止低流量期間的數據丟失)",
166
- "Max JSON Size (KB)": "最大 JSON 大小 (KB)",
167
- "Maximum size for each JSON field (request/response) before truncation": "截斷前每個 JSON 字段(請求/響應)的最大大小",
168
- "All data stored on your machine": "所有數據存儲在您的機器上",
169
- "MITM Server": "MITM 服務器",
176
+ "Proxy test OK": "代理測試成功",
177
+ "Proxy URL": "代理 URL",
178
+ "Purpose:": "目的:",
179
+ "Quota Management": "配額管理",
180
+ "Quota Tracker": "配額跟蹤",
181
+ "Raw DNS and proxy snapshot": "原始 DNS 和代理快照",
182
+ "Redo": "重做",
183
+ "Refresh": "刷新",
184
+ "Reload Page": "重新加載頁面",
185
+ "Remove": "移除",
186
+ "Requests were reset while in flight. This can come from upstream, Wi-Fi churn, or an intermediate proxy.": "請求進行中被重置。這可能來自上游服務、Wi-Fi 波動或中間代理。",
187
+ "Require login": "需要登錄",
188
+ "Required": "必需",
189
+ "Reset": "重置",
190
+ "Risk level": "風險等級",
191
+ "Round Robin": "輪詢",
192
+ "Route loss": "路由遺失",
193
+ "Routing Strategy": "路由策略",
170
194
  "Running": "運行中",
171
- "Stopped": "已停止",
172
- "Cert": "證書",
195
+ "Running on your machine": "在您的機器上運行",
196
+ "Save": "保存",
197
+ "Search": "搜尋",
198
+ "Security": "安全性",
199
+ "Select": "選擇",
173
200
  "Server": "服務器",
174
- "Purpose:": "目的:",
175
- "Use Antigravity IDE & GitHub Copilot → with ANY provider/model from OpenrouterX": "使用 Antigravity IDE 和 GitHub Copilot → 與 OpenrouterX 中的任何提供者/模型一起",
176
- "How it works:": "工作原理:",
177
- "Antigravity/Copilot IDE request → DNS redirect to localhost:443 → MITM proxy intercepts → OpenrouterX → response to Antigravity/Copilot": "Antigravity/Copilot IDE 請求 → DNS 重定向到 localhost:443 → MITM 代理攔截 → OpenrouterX → 响應到 Antigravity/Copilot",
178
- "No API keys — create one in Keys page": "沒有 API 金鑰 — 在金鑰頁面中創建一個",
179
- "sk_openrouterx (default)": "sk_openrouterx(默認)",
201
+ "Server Disconnected": "服務器已斷開連接",
180
202
  "Server started": "服務器已啟動",
181
- "Failed to start server": "啟動服務器失敗",
182
203
  "Server stopped — all DNS cleared": "服務器已停止 — 已清除所有 DNS",
183
- "Failed to stop server": "停止服務器失敗",
184
- "Sudo password is required": "需要 Sudo 密碼",
185
- "Stop Server": "停止服務器",
204
+ "Service is running in terminal. You can close this web page. Shutdown will stop the service.": "服務在終端中運行。您可以關閉此網頁。關機將停止服務。",
205
+ "Set Password": "設置密碼",
206
+ "Settings": "設置",
207
+ "Shutdown": "關機",
208
+ "sk_openrouterx (default)": "sk_openrouterx(默認)",
209
+ "Socket resets": "連線重置",
210
+ "Sort": "排序",
186
211
  "Start Server": "啟動服務器",
187
- "Enable DNS per tool below to activate interception": "為下面的每個工具啟用 DNS 以激活攔截",
188
- "Sudo Password Required": "需要 Sudo 密碼",
189
- "Enter your sudo password to start/stop MITM server": "輸入您的 Sudo 密碼以啟動/停止 MITM 服務器",
212
+ "Status": "狀態",
213
+ "Sticky Limit": "粘性限制",
214
+ "Stop Server": "停止服務器",
215
+ "Stopped": "已停止",
216
+ "Submit": "提交",
217
+ "success": "成功",
218
+ "Success": "成功",
190
219
  "Sudo Password": "Sudo 密碼",
191
- "Network Analysis": "網路分析",
192
- "Diagnose local connectivity, proxy, DNS, and MITM network impact": "診斷本機連線、代理、DNS MITM 對網路的影響",
193
- "Healthy": "健康",
194
- "No transport errors in sampled logs": "取樣日誌中沒有傳輸錯誤",
195
- "The current app log window does not show route loss, DNS failures, proxy timeout, or socket reset patterns.": "目前應用程式日誌視窗中沒有出現路由遺失、DNS 故障、代理逾時或 socket 重置模式。",
196
- "Socket resets": "連線重置",
197
- "Upstream sockets were interrupted": "上游連線被中斷",
198
- "Requests were reset while in flight. This can come from upstream, Wi-Fi churn, or an intermediate proxy.": "請求進行中被重置。這可能來自上游服務、Wi-Fi 波動或中間代理。",
199
- "External route instability": "外部路由不穩定",
200
- "Network path instability is affecting OpenrouterX": "網路路徑不穩定正在影響 OpenrouterX",
201
- "The log pattern points to local route loss, transient TLS disconnects, or the configured upstream proxy timing out before API calls complete.": "日誌模式指向本機路由遺失、短暫 TLS 斷線,或設定的上游代理在 API 呼叫完成前逾時。",
202
- "Route loss": "路由遺失",
203
- "Proxy failures": "代理故障",
204
- "DNS errors": "DNS 錯誤",
205
- "Project Network Scope": "專案網路範圍",
220
+ "Sudo password is required": "需要 Sudo 密碼",
221
+ "Sudo Password Required": "需要 Sudo 密碼",
222
+ "Support": "支持",
223
+ "System": "系統",
206
224
  "System proxy": "系統代理",
207
- "No macOS system proxy detected": "未偵測到 macOS 系統代理",
208
- "Enabled outside OpenrouterX": "在 OpenrouterX 外部啟用",
209
- "Risk level": "風險等級",
210
- "Outbound proxy": "出站代理",
211
- "Outbound scope": "出站範圍",
212
- "Targeted": "定向",
213
- "MITM DNS tools": "MITM DNS 工具",
214
- "Cloudflare tunnel": "Cloudflare 通道",
215
225
  "Tailscale": "Tailscale",
216
- "Current Machine State": "目前機器狀態",
217
- "Platform": "平台",
218
- "Hostname": "主機名稱",
219
- "Default route": "預設路由",
220
- "Wi-Fi status": "Wi-Fi 狀態",
221
- "Raw DNS and proxy snapshot": "原始 DNS 和代理快照",
222
- "Findings": "發現",
223
- "warning": "警告",
224
- "success": "成功",
225
- "info": "資訊",
226
- "Local route became unavailable": "本機路由變為不可用",
227
- "EADDRNOTAVAIL means Node could not allocate a usable local outbound address at that moment. This normally points to Wi-Fi/DHCP/route churn or VPN/proxy path loss before an upstream request completed.": "EADDRNOTAVAIL 表示 Node 當時無法分配可用的本機出站位址。通常說明上游請求完成前發生了 Wi-Fi、DHCP、路由變化,或 VPN/代理路徑遺失。",
228
- "Configured outbound proxy timed out": "設定的出站代理逾時",
229
- "OpenrouterX fell back after the configured proxy connection timed out. Because the app stores this as a targeted proxy allowlist, the failure affects selected upstream API calls rather than macOS global networking.": "設定的代理連線逾時後,OpenrouterX 已回退。由於應用程式將其儲存為定向代理允許清單,該故障影響的是選定的上游 API 呼叫,而不是 macOS 全域網路。",
230
- "Existing TLS sockets were reset": "現有 TLS 連線被重置",
231
- "TLS disconnects and ECONNRESET are consistent with transient network drops, upstream resets, or proxy interruption while MITM passthrough traffic was active.": "TLS 斷線和 ECONNRESET 與暫時斷網、上游重置,或 MITM 透傳流量活動期間代理中斷的表現一致。",
232
- "No recent network transport errors in app logs": "應用程式日誌中沒有近期網路傳輸錯誤",
226
+ "targeted": "定向",
227
+ "Targeted": "定向",
228
+ "Test proxy URL": "測試代理 URL",
229
+ "The current app log window does not show route loss, DNS failures, proxy timeout, or socket reset patterns.": "目前應用程式日誌視窗中沒有出現路由遺失、DNS 故障、代理逾時或 socket 重置模式。",
230
+ "The log pattern points to local route loss, transient TLS disconnects, or the configured upstream proxy timing out before API calls complete.": "日誌模式指向本機路由遺失、短暫 TLS 斷線,或設定的上游代理在 API 呼叫完成前逾時。",
231
+ "The proxy server has been stopped.": "代理服務器已停止。",
233
232
  "The sampled OpenrouterX logs do not currently show connection resets, route loss, DNS failures, or proxy timeouts.": "目前取樣的 OpenrouterX 日誌沒有顯示連線重置、路由遺失、DNS 故障或代理逾時。",
234
- "Network Error Timeline": "網路錯誤時間線",
235
- "No network transport errors in the sampled logs.": "取樣日誌中沒有網路傳輸錯誤。",
233
+ "Theme": "主題",
234
+ "Time": "時間",
235
+ "TLS disconnects and ECONNRESET are consistent with transient network drops, upstream resets, or proxy interruption while MITM passthrough traffic was active.": "TLS 斷線和 ECONNRESET 與暫時斷網、上游重置,或 MITM 透傳流量活動期間代理中斷的表現一致。",
236
+ "Total": "總計",
237
+ "Turn request detail recording on/off globally": "全局打開/關閉請求詳細記錄",
238
+ "Type": "類型",
239
+ "Unavailable": "不可用",
240
+ "Undo": "撤銷",
236
241
  "Unknown": "未知",
237
- "None": "",
238
- "low": "",
239
- "medium": "",
240
- "high": "",
241
- "active": "作用中",
242
- "targeted": "定向",
243
- "none": ""
242
+ "Update Password": "更新密碼",
243
+ "Updated": "更新於",
244
+ "Upload": "上傳",
245
+ "Upstream sockets were interrupted": "上游連線被中斷",
246
+ "Usage": "統計",
247
+ "Use Antigravity IDE & GitHub Copilot → with ANY provider/model from OpenrouterX": "使用 Antigravity IDE 和 GitHub Copilot → 與 OpenrouterX 中的任何提供者/模型一起",
248
+ "Version": "版本",
249
+ "View": "查看",
250
+ "warning": "警告",
251
+ "Warning": "警告",
252
+ "When ON, dashboard requires password. When OFF, access without login.": "打開時,儀表板需要密碼。關閉時,無需登錄即可訪問。",
253
+ "Wi-Fi status": "Wi-Fi 狀態",
254
+ "Yes": "是",
255
+ "关注UI": "關注UI",
256
+ "Open New Antigravity": "新開 Antigravity",
257
+ "Open a new Antigravity window with MITM enabled": "新開一個啟用 MITM 的 Antigravity 視窗",
258
+ "Opened new Antigravity": "已新開 Antigravity",
259
+ "Open New": "新開"
244
260
  }
@@ -0,0 +1,53 @@
1
+ const LOCAL_ANTIGRAVITY_PROJECT = "local-openrouterx";
2
+
3
+ function createLocalAntigravityTier(options = {}) {
4
+ const tier = {
5
+ id: "standard-tier",
6
+ name: "Gemini Code Assist",
7
+ description: "Unlimited coding assistant with the most powerful Gemini models",
8
+ userDefinedCloudaicompanionProject: true,
9
+ privacyNotice: {},
10
+ usesGcpTos: true,
11
+ };
12
+
13
+ if (options.isDefault) tier.isDefault = true;
14
+ return tier;
15
+ }
16
+
17
+ function createLocalAntigravityLoadCodeAssistPayload() {
18
+ const currentTier = createLocalAntigravityTier();
19
+
20
+ return {
21
+ cloudaicompanionProject: LOCAL_ANTIGRAVITY_PROJECT,
22
+ currentTier,
23
+ userTier: currentTier,
24
+ allowedTiers: [createLocalAntigravityTier({ isDefault: true })],
25
+ gcpManaged: false,
26
+ tosAccepted: true,
27
+ done: true,
28
+ releaseChannel: {
29
+ type: "EXPERIMENTAL",
30
+ name: "Preview Channel",
31
+ },
32
+ paidTier: currentTier,
33
+ };
34
+ }
35
+
36
+ function createLocalAntigravityOnboardUserPayload() {
37
+ const response = createLocalAntigravityLoadCodeAssistPayload();
38
+
39
+ return {
40
+ done: true,
41
+ cloudaicompanionProject: LOCAL_ANTIGRAVITY_PROJECT,
42
+ currentTier: response.currentTier,
43
+ allowedTiers: response.allowedTiers,
44
+ gcpManaged: false,
45
+ response,
46
+ };
47
+ }
48
+
49
+ module.exports = {
50
+ LOCAL_ANTIGRAVITY_PROJECT,
51
+ createLocalAntigravityLoadCodeAssistPayload,
52
+ createLocalAntigravityOnboardUserPayload,
53
+ };
@@ -7,6 +7,10 @@ const { promisify } = require("util");
7
7
  const { execSync } = require("child_process");
8
8
  const { log, err, dumpRequest, createResponseDumper } = require("./logger");
9
9
  const { TARGET_HOSTS, URL_PATTERNS, MODEL_SYNONYMS, getToolForHost } = require("./config");
10
+ const {
11
+ createLocalAntigravityLoadCodeAssistPayload,
12
+ createLocalAntigravityOnboardUserPayload,
13
+ } = require("./antigravityBootstrap");
10
14
  const { buildAntigravityAvailableModelsResponse } = require("./antigravityModels");
11
15
  const { DATA_DIR, MITM_DIR } = require("./paths");
12
16
  const { getCertForDomain } = require("./cert/generate");
@@ -184,38 +188,13 @@ function handleLocalAntigravityBootstrap(req, res) {
184
188
  if (!localAuthBootstrap) return false;
185
189
 
186
190
  if (req.url.includes(":loadCodeAssist")) {
187
- respondJson(res, 200, {
188
- cloudaicompanionProject: "local-openrouterx",
189
- allowedTiers: [
190
- {
191
- id: "standard-tier",
192
- name: "OpenrouterX Local",
193
- description: "Local MITM bootstrap tier",
194
- isDefault: true,
195
- },
196
- ],
197
- currentTier: {
198
- id: "standard-tier",
199
- name: "OpenrouterX Local",
200
- },
201
- userTier: {
202
- id: "standard-tier",
203
- name: "OpenrouterX Local",
204
- },
205
- tosAccepted: true,
206
- done: true,
207
- });
191
+ respondJson(res, 200, createLocalAntigravityLoadCodeAssistPayload());
208
192
  log("🧩 bootstrap | antigravity | local loadCodeAssist");
209
193
  return true;
210
194
  }
211
195
 
212
196
  if (req.url.includes(":onboardUser")) {
213
- respondJson(res, 200, {
214
- done: true,
215
- response: {
216
- cloudaicompanionProject: "local-openrouterx",
217
- },
218
- });
197
+ respondJson(res, 200, createLocalAntigravityOnboardUserPayload());
219
198
  log("🧩 bootstrap | antigravity | local onboardUser");
220
199
  return true;
221
200
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yina-npm/openrouterx",
3
- "version": "0.4.26",
3
+ "version": "0.4.28",
4
4
  "description": "openrouterX CLI - Start and manage 9Router server",
5
5
  "bin": {
6
6
  "openrouterX": "./cli.js"