wyxrouter 0.4.71

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 (763) hide show
  1. package/CHANGELOG.md +222 -0
  2. package/LICENSE +21 -0
  3. package/README.md +96 -0
  4. package/README.zh-CN.md +1311 -0
  5. package/assets/pixel-router-2d.png +0 -0
  6. package/cli/LICENSE +42 -0
  7. package/cli/README.md +125 -0
  8. package/cli/app/package.json +58 -0
  9. package/cli/cli.js +806 -0
  10. package/cli/package.json +48 -0
  11. package/i18n/README.ja-JP.md +1209 -0
  12. package/i18n/README.ru.md +1311 -0
  13. package/i18n/README.vi.md +1310 -0
  14. package/i18n/README.zh-CN.md +1306 -0
  15. package/images/9router.png +0 -0
  16. package/jsconfig.json +12 -0
  17. package/next.config.mjs +71 -0
  18. package/open-sse/config/appConstants.js +203 -0
  19. package/open-sse/config/codexInstructions.js +119 -0
  20. package/open-sse/config/constants.js +4 -0
  21. package/open-sse/config/defaultThinkingSignature.js +12 -0
  22. package/open-sse/config/errorConfig.js +85 -0
  23. package/open-sse/config/googleTtsLanguages.js +62 -0
  24. package/open-sse/config/kiroConstants.js +322 -0
  25. package/open-sse/config/models.js +13 -0
  26. package/open-sse/config/ollamaModels.js +19 -0
  27. package/open-sse/config/providerModels.js +944 -0
  28. package/open-sse/config/providers.js +458 -0
  29. package/open-sse/config/runtimeConfig.js +72 -0
  30. package/open-sse/config/ttsModels.js +129 -0
  31. package/open-sse/executors/antigravity.js +504 -0
  32. package/open-sse/executors/azure.js +57 -0
  33. package/open-sse/executors/base.js +185 -0
  34. package/open-sse/executors/codex.js +469 -0
  35. package/open-sse/executors/commandcode.js +88 -0
  36. package/open-sse/executors/cursor.js +795 -0
  37. package/open-sse/executors/default.js +497 -0
  38. package/open-sse/executors/gemini-cli.js +89 -0
  39. package/open-sse/executors/github.js +379 -0
  40. package/open-sse/executors/grok-web.js +345 -0
  41. package/open-sse/executors/iflow.js +108 -0
  42. package/open-sse/executors/index.js +75 -0
  43. package/open-sse/executors/kiro.js +508 -0
  44. package/open-sse/executors/ollama-local.js +14 -0
  45. package/open-sse/executors/opencode-go.js +41 -0
  46. package/open-sse/executors/opencode.js +32 -0
  47. package/open-sse/executors/perplexity-web.js +507 -0
  48. package/open-sse/executors/qoder.js +450 -0
  49. package/open-sse/executors/qwen.js +129 -0
  50. package/open-sse/executors/vertex.js +131 -0
  51. package/open-sse/executors/xiaomi-tokenplan.js +19 -0
  52. package/open-sse/handlers/chatCore/nonStreamingHandler.js +230 -0
  53. package/open-sse/handlers/chatCore/requestDetail.js +102 -0
  54. package/open-sse/handlers/chatCore/sseToJsonHandler.js +231 -0
  55. package/open-sse/handlers/chatCore/streamingHandler.js +103 -0
  56. package/open-sse/handlers/chatCore.js +287 -0
  57. package/open-sse/handlers/embeddingProviders/_base.js +4 -0
  58. package/open-sse/handlers/embeddingProviders/gemini.js +54 -0
  59. package/open-sse/handlers/embeddingProviders/index.js +23 -0
  60. package/open-sse/handlers/embeddingProviders/openai.js +39 -0
  61. package/open-sse/handlers/embeddingProviders/openaiCompatNode.js +13 -0
  62. package/open-sse/handlers/embeddingsCore.js +126 -0
  63. package/open-sse/handlers/fetch/index.js +237 -0
  64. package/open-sse/handlers/imageGenerationCore.js +189 -0
  65. package/open-sse/handlers/imageProviders/_base.js +31 -0
  66. package/open-sse/handlers/imageProviders/blackForestLabs.js +43 -0
  67. package/open-sse/handlers/imageProviders/cloudflareAi.js +178 -0
  68. package/open-sse/handlers/imageProviders/codex.js +198 -0
  69. package/open-sse/handlers/imageProviders/comfyui.js +8 -0
  70. package/open-sse/handlers/imageProviders/falAi.js +41 -0
  71. package/open-sse/handlers/imageProviders/gemini.js +25 -0
  72. package/open-sse/handlers/imageProviders/huggingface.js +22 -0
  73. package/open-sse/handlers/imageProviders/index.js +40 -0
  74. package/open-sse/handlers/imageProviders/nanobanana.js +58 -0
  75. package/open-sse/handlers/imageProviders/openai.js +40 -0
  76. package/open-sse/handlers/imageProviders/runwayml.js +47 -0
  77. package/open-sse/handlers/imageProviders/sdwebui.js +17 -0
  78. package/open-sse/handlers/imageProviders/stabilityAi.js +34 -0
  79. package/open-sse/handlers/responsesHandler.js +103 -0
  80. package/open-sse/handlers/search/callers.js +371 -0
  81. package/open-sse/handlers/search/chatSearch.js +409 -0
  82. package/open-sse/handlers/search/index.js +201 -0
  83. package/open-sse/handlers/search/normalizers.js +223 -0
  84. package/open-sse/handlers/sttCore.js +194 -0
  85. package/open-sse/handlers/ttsCore.js +74 -0
  86. package/open-sse/handlers/ttsProviders/_base.js +39 -0
  87. package/open-sse/handlers/ttsProviders/edgeTts.js +89 -0
  88. package/open-sse/handlers/ttsProviders/elevenlabs.js +48 -0
  89. package/open-sse/handlers/ttsProviders/gemini.js +117 -0
  90. package/open-sse/handlers/ttsProviders/genericFormats.js +169 -0
  91. package/open-sse/handlers/ttsProviders/googleTts.js +54 -0
  92. package/open-sse/handlers/ttsProviders/index.js +50 -0
  93. package/open-sse/handlers/ttsProviders/localDevice.js +87 -0
  94. package/open-sse/handlers/ttsProviders/minimax.js +59 -0
  95. package/open-sse/handlers/ttsProviders/openai.js +30 -0
  96. package/open-sse/handlers/ttsProviders/openrouter.js +70 -0
  97. package/open-sse/index.js +82 -0
  98. package/open-sse/rtk/applyFilter.js +15 -0
  99. package/open-sse/rtk/autodetect.js +111 -0
  100. package/open-sse/rtk/caveman.js +100 -0
  101. package/open-sse/rtk/cavemanPrompts.js +78 -0
  102. package/open-sse/rtk/constants.js +55 -0
  103. package/open-sse/rtk/filters/buildOutput.js +127 -0
  104. package/open-sse/rtk/filters/dedupLog.js +44 -0
  105. package/open-sse/rtk/filters/find.js +49 -0
  106. package/open-sse/rtk/filters/gitDiff.js +92 -0
  107. package/open-sse/rtk/filters/gitStatus.js +117 -0
  108. package/open-sse/rtk/filters/grep.js +48 -0
  109. package/open-sse/rtk/filters/ls.js +79 -0
  110. package/open-sse/rtk/filters/readNumbered.js +27 -0
  111. package/open-sse/rtk/filters/searchList.js +52 -0
  112. package/open-sse/rtk/filters/smartTruncate.js +15 -0
  113. package/open-sse/rtk/filters/tree.js +32 -0
  114. package/open-sse/rtk/index.js +155 -0
  115. package/open-sse/rtk/registry.js +38 -0
  116. package/open-sse/services/accountFallback.js +238 -0
  117. package/open-sse/services/combo.js +198 -0
  118. package/open-sse/services/compact.js +71 -0
  119. package/open-sse/services/kiroModels.js +332 -0
  120. package/open-sse/services/model.js +261 -0
  121. package/open-sse/services/oauthCredentialManager.js +151 -0
  122. package/open-sse/services/projectId.js +306 -0
  123. package/open-sse/services/provider.js +356 -0
  124. package/open-sse/services/qoderModels.js +214 -0
  125. package/open-sse/services/tokenRefresh.js +939 -0
  126. package/open-sse/services/usage.js +1496 -0
  127. package/open-sse/transformer/responsesTransformer.js +439 -0
  128. package/open-sse/transformer/streamToJsonConverter.js +103 -0
  129. package/open-sse/translator/formats.js +36 -0
  130. package/open-sse/translator/helpers/claudeHelper.js +216 -0
  131. package/open-sse/translator/helpers/geminiHelper.js +372 -0
  132. package/open-sse/translator/helpers/imageHelper.js +34 -0
  133. package/open-sse/translator/helpers/maxTokensHelper.js +27 -0
  134. package/open-sse/translator/helpers/openaiHelper.js +130 -0
  135. package/open-sse/translator/helpers/responsesApiHelper.js +139 -0
  136. package/open-sse/translator/helpers/toolCallHelper.js +148 -0
  137. package/open-sse/translator/index.js +251 -0
  138. package/open-sse/translator/request/antigravity-to-openai.js +229 -0
  139. package/open-sse/translator/request/claude-to-openai.js +232 -0
  140. package/open-sse/translator/request/gemini-to-openai.js +147 -0
  141. package/open-sse/translator/request/openai-responses.js +318 -0
  142. package/open-sse/translator/request/openai-to-claude.js +401 -0
  143. package/open-sse/translator/request/openai-to-commandcode.js +170 -0
  144. package/open-sse/translator/request/openai-to-cursor.js +183 -0
  145. package/open-sse/translator/request/openai-to-gemini.js +470 -0
  146. package/open-sse/translator/request/openai-to-kiro.js +629 -0
  147. package/open-sse/translator/request/openai-to-kiro.old.js +278 -0
  148. package/open-sse/translator/request/openai-to-ollama.js +192 -0
  149. package/open-sse/translator/request/openai-to-vertex.js +42 -0
  150. package/open-sse/translator/response/claude-to-openai.js +206 -0
  151. package/open-sse/translator/response/commandcode-to-openai.js +197 -0
  152. package/open-sse/translator/response/cursor-to-openai.js +30 -0
  153. package/open-sse/translator/response/gemini-to-openai.js +245 -0
  154. package/open-sse/translator/response/kiro-to-openai.js +195 -0
  155. package/open-sse/translator/response/ollama-to-openai.js +152 -0
  156. package/open-sse/translator/response/openai-responses.js +590 -0
  157. package/open-sse/translator/response/openai-to-antigravity.js +122 -0
  158. package/open-sse/translator/response/openai-to-claude.js +266 -0
  159. package/open-sse/utils/bypassHandler.js +298 -0
  160. package/open-sse/utils/claudeCloaking.js +155 -0
  161. package/open-sse/utils/claudeHeaderCache.js +70 -0
  162. package/open-sse/utils/clientDetector.js +63 -0
  163. package/open-sse/utils/cursorChecksum.js +149 -0
  164. package/open-sse/utils/cursorProtobuf.js +904 -0
  165. package/open-sse/utils/debugLog.js +14 -0
  166. package/open-sse/utils/error.js +147 -0
  167. package/open-sse/utils/ollamaTransform.js +85 -0
  168. package/open-sse/utils/proxyFetch.js +368 -0
  169. package/open-sse/utils/reasoningContentInjector.js +79 -0
  170. package/open-sse/utils/requestLogger.js +260 -0
  171. package/open-sse/utils/responsesStreamHelpers.js +49 -0
  172. package/open-sse/utils/sessionManager.js +82 -0
  173. package/open-sse/utils/stream.js +462 -0
  174. package/open-sse/utils/streamHandler.js +250 -0
  175. package/open-sse/utils/streamHelpers.js +122 -0
  176. package/open-sse/utils/toolDeduper.js +49 -0
  177. package/open-sse/utils/usageTracking.js +347 -0
  178. package/package.json +100 -0
  179. package/postcss.config.mjs +12 -0
  180. package/public/favicon.svg +11 -0
  181. package/public/file.svg +1 -0
  182. package/public/globe.svg +1 -0
  183. package/public/i18n/literals/ar.json +195 -0
  184. package/public/i18n/literals/bn.json +195 -0
  185. package/public/i18n/literals/cs.json +195 -0
  186. package/public/i18n/literals/da.json +195 -0
  187. package/public/i18n/literals/de.json +195 -0
  188. package/public/i18n/literals/el.json +195 -0
  189. package/public/i18n/literals/es.json +195 -0
  190. package/public/i18n/literals/fi.json +195 -0
  191. package/public/i18n/literals/fr.json +195 -0
  192. package/public/i18n/literals/he.json +195 -0
  193. package/public/i18n/literals/hi.json +195 -0
  194. package/public/i18n/literals/hu.json +195 -0
  195. package/public/i18n/literals/id.json +195 -0
  196. package/public/i18n/literals/it.json +195 -0
  197. package/public/i18n/literals/ja.json +195 -0
  198. package/public/i18n/literals/ko.json +195 -0
  199. package/public/i18n/literals/nl.json +195 -0
  200. package/public/i18n/literals/no.json +195 -0
  201. package/public/i18n/literals/pl.json +195 -0
  202. package/public/i18n/literals/pt-BR.json +195 -0
  203. package/public/i18n/literals/pt-PT.json +195 -0
  204. package/public/i18n/literals/ro.json +195 -0
  205. package/public/i18n/literals/ru.json +195 -0
  206. package/public/i18n/literals/sv.json +195 -0
  207. package/public/i18n/literals/th.json +195 -0
  208. package/public/i18n/literals/tl.json +195 -0
  209. package/public/i18n/literals/tr.json +195 -0
  210. package/public/i18n/literals/uk.json +195 -0
  211. package/public/i18n/literals/ur.json +195 -0
  212. package/public/i18n/literals/vi.json +195 -0
  213. package/public/i18n/literals/zh-CN.json +772 -0
  214. package/public/i18n/literals/zh-TW.json +195 -0
  215. package/public/icons/discord.svg +4 -0
  216. package/public/icons/icon-192.svg +4 -0
  217. package/public/icons/icon-512.svg +4 -0
  218. package/public/next.svg +1 -0
  219. package/public/providers/alicode-intl.png +0 -0
  220. package/public/providers/alicode.png +0 -0
  221. package/public/providers/amp.png +0 -0
  222. package/public/providers/anthropic-m.png +0 -0
  223. package/public/providers/anthropic.png +0 -0
  224. package/public/providers/antigravity.png +0 -0
  225. package/public/providers/assemblyai.png +0 -0
  226. package/public/providers/aws-polly.png +0 -0
  227. package/public/providers/azure.png +0 -0
  228. package/public/providers/black-forest-labs.png +0 -0
  229. package/public/providers/blackbox.png +0 -0
  230. package/public/providers/brave-search.png +0 -0
  231. package/public/providers/byteplus.png +0 -0
  232. package/public/providers/cartesia.png +0 -0
  233. package/public/providers/cerebras.png +0 -0
  234. package/public/providers/chutes.png +0 -0
  235. package/public/providers/claude.png +0 -0
  236. package/public/providers/cline.png +0 -0
  237. package/public/providers/cloudflare-ai.png +0 -0
  238. package/public/providers/codebuddy.svg +37 -0
  239. package/public/providers/codex.png +0 -0
  240. package/public/providers/cohere.png +0 -0
  241. package/public/providers/comfyui.png +0 -0
  242. package/public/providers/commandcode.png +0 -0
  243. package/public/providers/continue.png +0 -0
  244. package/public/providers/copilot.png +0 -0
  245. package/public/providers/coqui.png +0 -0
  246. package/public/providers/cursor.png +0 -0
  247. package/public/providers/deepgram.png +0 -0
  248. package/public/providers/deepseek-tui.png +0 -0
  249. package/public/providers/deepseek.png +0 -0
  250. package/public/providers/droid.png +0 -0
  251. package/public/providers/edge-tts.png +0 -0
  252. package/public/providers/elevenlabs.png +0 -0
  253. package/public/providers/exa.png +0 -0
  254. package/public/providers/fal-ai.png +0 -0
  255. package/public/providers/firecrawl.png +0 -0
  256. package/public/providers/fireworks.png +0 -0
  257. package/public/providers/gemini-cli.png +0 -0
  258. package/public/providers/gemini.png +0 -0
  259. package/public/providers/github.png +0 -0
  260. package/public/providers/glm-cn.png +0 -0
  261. package/public/providers/glm.png +0 -0
  262. package/public/providers/google-pse.png +0 -0
  263. package/public/providers/google-tts.png +0 -0
  264. package/public/providers/grok-web.png +0 -0
  265. package/public/providers/groq.png +0 -0
  266. package/public/providers/hermes.png +0 -0
  267. package/public/providers/huggingface.png +0 -0
  268. package/public/providers/hyperbolic.png +0 -0
  269. package/public/providers/iflow.png +0 -0
  270. package/public/providers/inworld.png +0 -0
  271. package/public/providers/jcode.png +0 -0
  272. package/public/providers/jina-ai.png +0 -0
  273. package/public/providers/jina-reader.png +0 -0
  274. package/public/providers/kilocode.png +0 -0
  275. package/public/providers/kimi-coding.png +0 -0
  276. package/public/providers/kimi.png +0 -0
  277. package/public/providers/kiro.png +0 -0
  278. package/public/providers/linkup.png +0 -0
  279. package/public/providers/local-device.png +0 -0
  280. package/public/providers/minimax-cn.png +0 -0
  281. package/public/providers/minimax.png +0 -0
  282. package/public/providers/mistral.png +0 -0
  283. package/public/providers/nanobanana.png +0 -0
  284. package/public/providers/nebius.png +0 -0
  285. package/public/providers/nvidia.png +0 -0
  286. package/public/providers/oai-cc.png +0 -0
  287. package/public/providers/oai-r.png +0 -0
  288. package/public/providers/ollama-local.png +0 -0
  289. package/public/providers/ollama.png +0 -0
  290. package/public/providers/openai.png +0 -0
  291. package/public/providers/openclaw.png +0 -0
  292. package/public/providers/opencode-go.png +0 -0
  293. package/public/providers/opencode.png +0 -0
  294. package/public/providers/openrouter.png +0 -0
  295. package/public/providers/perplexity-web.png +0 -0
  296. package/public/providers/perplexity.png +0 -0
  297. package/public/providers/playht.png +0 -0
  298. package/public/providers/qoder.png +0 -0
  299. package/public/providers/qwen.png +0 -0
  300. package/public/providers/recraft.png +0 -0
  301. package/public/providers/roo.png +0 -0
  302. package/public/providers/runwayml.png +0 -0
  303. package/public/providers/sdwebui.png +0 -0
  304. package/public/providers/searchapi.png +0 -0
  305. package/public/providers/searxng.png +0 -0
  306. package/public/providers/serper.png +0 -0
  307. package/public/providers/siliconflow.png +0 -0
  308. package/public/providers/stability-ai.png +0 -0
  309. package/public/providers/tavily.png +0 -0
  310. package/public/providers/together.png +0 -0
  311. package/public/providers/topaz.png +0 -0
  312. package/public/providers/tortoise.png +0 -0
  313. package/public/providers/vertex-partner.png +0 -0
  314. package/public/providers/vertex.png +0 -0
  315. package/public/providers/volcengine-ark.png +0 -0
  316. package/public/providers/voyage-ai.png +0 -0
  317. package/public/providers/xai.png +0 -0
  318. package/public/providers/xiaomi-mimo.png +0 -0
  319. package/public/providers/xiaomi-tokenplan.png +0 -0
  320. package/public/providers/youcom.png +0 -0
  321. package/public/sw.js +22 -0
  322. package/public/vercel.svg +1 -0
  323. package/public/window.svg +1 -0
  324. package/scripts/compact-request-details.mjs +71 -0
  325. package/scripts/import-codex-gptjson.mjs +342 -0
  326. package/scripts/start-standalone.mjs +25 -0
  327. package/scripts/translate-readme.js +201 -0
  328. package/src/app/(dashboard)/dashboard/automation/page.js +294 -0
  329. package/src/app/(dashboard)/dashboard/basic-chat/BasicChatPageClient.js +967 -0
  330. package/src/app/(dashboard)/dashboard/basic-chat/page.js +5 -0
  331. package/src/app/(dashboard)/dashboard/cli-tools/CLIToolsPageClient.js +66 -0
  332. package/src/app/(dashboard)/dashboard/cli-tools/[toolId]/ToolDetailClient.js +173 -0
  333. package/src/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +11 -0
  334. package/src/app/(dashboard)/dashboard/cli-tools/components/AntigravityToolCard.js +481 -0
  335. package/src/app/(dashboard)/dashboard/cli-tools/components/ApiKeySelect.js +66 -0
  336. package/src/app/(dashboard)/dashboard/cli-tools/components/BaseUrlSelect.js +174 -0
  337. package/src/app/(dashboard)/dashboard/cli-tools/components/ClaudeToolCard.js +390 -0
  338. package/src/app/(dashboard)/dashboard/cli-tools/components/ClineToolCard.js +301 -0
  339. package/src/app/(dashboard)/dashboard/cli-tools/components/CodexToolCard.js +458 -0
  340. package/src/app/(dashboard)/dashboard/cli-tools/components/CopilotToolCard.js +323 -0
  341. package/src/app/(dashboard)/dashboard/cli-tools/components/CoworkToolCard.js +640 -0
  342. package/src/app/(dashboard)/dashboard/cli-tools/components/DeepSeekTuiToolCard.js +338 -0
  343. package/src/app/(dashboard)/dashboard/cli-tools/components/DefaultToolCard.js +271 -0
  344. package/src/app/(dashboard)/dashboard/cli-tools/components/DroidToolCard.js +410 -0
  345. package/src/app/(dashboard)/dashboard/cli-tools/components/EndpointPresetControl.js +128 -0
  346. package/src/app/(dashboard)/dashboard/cli-tools/components/HermesToolCard.js +317 -0
  347. package/src/app/(dashboard)/dashboard/cli-tools/components/JcodeToolCard.js +380 -0
  348. package/src/app/(dashboard)/dashboard/cli-tools/components/KiloToolCard.js +275 -0
  349. package/src/app/(dashboard)/dashboard/cli-tools/components/MitmLinkCard.js +40 -0
  350. package/src/app/(dashboard)/dashboard/cli-tools/components/MitmServerCard.js +329 -0
  351. package/src/app/(dashboard)/dashboard/cli-tools/components/MitmToolCard.js +318 -0
  352. package/src/app/(dashboard)/dashboard/cli-tools/components/OpenClawToolCard.js +388 -0
  353. package/src/app/(dashboard)/dashboard/cli-tools/components/OpenCodeToolCard.js +500 -0
  354. package/src/app/(dashboard)/dashboard/cli-tools/components/ToolSummaryCard.js +39 -0
  355. package/src/app/(dashboard)/dashboard/cli-tools/components/cliEndpointMatch.js +13 -0
  356. package/src/app/(dashboard)/dashboard/cli-tools/components/index.js +19 -0
  357. package/src/app/(dashboard)/dashboard/cli-tools/page.js +7 -0
  358. package/src/app/(dashboard)/dashboard/combos/page.js +612 -0
  359. package/src/app/(dashboard)/dashboard/console-log/ConsoleLogClient.js +91 -0
  360. package/src/app/(dashboard)/dashboard/console-log/page.js +8 -0
  361. package/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.js +1555 -0
  362. package/src/app/(dashboard)/dashboard/endpoint/page.js +7 -0
  363. package/src/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +1903 -0
  364. package/src/app/(dashboard)/dashboard/media-providers/[kind]/page.js +289 -0
  365. package/src/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +410 -0
  366. package/src/app/(dashboard)/dashboard/media-providers/web/page.js +209 -0
  367. package/src/app/(dashboard)/dashboard/mitm/MitmPageClient.js +117 -0
  368. package/src/app/(dashboard)/dashboard/mitm/page.js +5 -0
  369. package/src/app/(dashboard)/dashboard/page.js +7 -0
  370. package/src/app/(dashboard)/dashboard/profile/page.js +1140 -0
  371. package/src/app/(dashboard)/dashboard/providers/[id]/AddApiKeyModal.js +389 -0
  372. package/src/app/(dashboard)/dashboard/providers/[id]/AddCustomModelModal.js +125 -0
  373. package/src/app/(dashboard)/dashboard/providers/[id]/CompatibleModelsSection.js +250 -0
  374. package/src/app/(dashboard)/dashboard/providers/[id]/ConnectionRow.js +299 -0
  375. package/src/app/(dashboard)/dashboard/providers/[id]/CooldownTimer.js +42 -0
  376. package/src/app/(dashboard)/dashboard/providers/[id]/EditCompatibleNodeModal.js +161 -0
  377. package/src/app/(dashboard)/dashboard/providers/[id]/ModelRow.js +95 -0
  378. package/src/app/(dashboard)/dashboard/providers/[id]/PassthroughModelsSection.js +183 -0
  379. package/src/app/(dashboard)/dashboard/providers/[id]/page.js +2053 -0
  380. package/src/app/(dashboard)/dashboard/providers/[id]/page.new.js +1724 -0
  381. package/src/app/(dashboard)/dashboard/providers/components/ConnectionsCard.js +497 -0
  382. package/src/app/(dashboard)/dashboard/providers/components/ModelAvailabilityBadge.js +185 -0
  383. package/src/app/(dashboard)/dashboard/providers/components/ModelsCard.js +294 -0
  384. package/src/app/(dashboard)/dashboard/providers/new/page.js +220 -0
  385. package/src/app/(dashboard)/dashboard/providers/page.js +1365 -0
  386. package/src/app/(dashboard)/dashboard/proxy-pools/page.js +1092 -0
  387. package/src/app/(dashboard)/dashboard/quota/page.js +11 -0
  388. package/src/app/(dashboard)/dashboard/skills/page.js +112 -0
  389. package/src/app/(dashboard)/dashboard/translator/page.js +303 -0
  390. package/src/app/(dashboard)/dashboard/usage/components/OverviewCards.js +35 -0
  391. package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/ProviderLimitCard.js +185 -0
  392. package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/QuotaProgressBar.js +127 -0
  393. package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/QuotaTable.js +259 -0
  394. package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/index.js +1394 -0
  395. package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/utils.js +244 -0
  396. package/src/app/(dashboard)/dashboard/usage/components/ProviderTopology.js +327 -0
  397. package/src/app/(dashboard)/dashboard/usage/components/RequestDetailsTab.js +433 -0
  398. package/src/app/(dashboard)/dashboard/usage/components/UsageChart.js +141 -0
  399. package/src/app/(dashboard)/dashboard/usage/components/UsageTable.js +247 -0
  400. package/src/app/(dashboard)/dashboard/usage/page.js +75 -0
  401. package/src/app/(dashboard)/layout.js +6 -0
  402. package/src/app/api/auth/login/route.js +76 -0
  403. package/src/app/api/auth/logout/route.js +12 -0
  404. package/src/app/api/auth/oidc/callback/route.js +87 -0
  405. package/src/app/api/auth/oidc/start/route.js +52 -0
  406. package/src/app/api/auth/oidc/test/route.js +84 -0
  407. package/src/app/api/auth/status/route.js +45 -0
  408. package/src/app/api/cli-tools/all-statuses/route.js +46 -0
  409. package/src/app/api/cli-tools/antigravity-mitm/alias/route.js +53 -0
  410. package/src/app/api/cli-tools/antigravity-mitm/route.js +202 -0
  411. package/src/app/api/cli-tools/claude-settings/route.js +203 -0
  412. package/src/app/api/cli-tools/cline-settings/route.js +133 -0
  413. package/src/app/api/cli-tools/codex-gateway/accounts/route.js +16 -0
  414. package/src/app/api/cli-tools/codex-settings/route.js +239 -0
  415. package/src/app/api/cli-tools/copilot-settings/route.js +148 -0
  416. package/src/app/api/cli-tools/cowork-mcp-registry/route.js +77 -0
  417. package/src/app/api/cli-tools/cowork-mcp-tools/route.js +95 -0
  418. package/src/app/api/cli-tools/cowork-settings/route.js +412 -0
  419. package/src/app/api/cli-tools/deepseek-tui-settings/route.js +164 -0
  420. package/src/app/api/cli-tools/droid-settings/route.js +213 -0
  421. package/src/app/api/cli-tools/hermes-settings/route.js +175 -0
  422. package/src/app/api/cli-tools/jcode-settings/route.js +216 -0
  423. package/src/app/api/cli-tools/kilo-settings/route.js +131 -0
  424. package/src/app/api/cli-tools/openclaw-settings/route.js +292 -0
  425. package/src/app/api/cli-tools/opencode-settings/route.js +259 -0
  426. package/src/app/api/combos/[id]/route.js +81 -0
  427. package/src/app/api/combos/route.js +48 -0
  428. package/src/app/api/health/route.js +15 -0
  429. package/src/app/api/init/route.js +4 -0
  430. package/src/app/api/keys/[id]/route.js +58 -0
  431. package/src/app/api/keys/route.js +42 -0
  432. package/src/app/api/locale/route.js +30 -0
  433. package/src/app/api/mcp/[plugin]/message/route.js +21 -0
  434. package/src/app/api/mcp/[plugin]/sse/route.js +37 -0
  435. package/src/app/api/media-providers/tts/deepgram/voices/route.js +65 -0
  436. package/src/app/api/media-providers/tts/elevenlabs/voices/route.js +71 -0
  437. package/src/app/api/media-providers/tts/inworld/voices/route.js +61 -0
  438. package/src/app/api/media-providers/tts/minimax/voices/route.js +113 -0
  439. package/src/app/api/media-providers/tts/voices/route.js +99 -0
  440. package/src/app/api/models/alias/route.js +53 -0
  441. package/src/app/api/models/availability/route.js +103 -0
  442. package/src/app/api/models/custom/route.js +48 -0
  443. package/src/app/api/models/disabled/route.js +50 -0
  444. package/src/app/api/models/route.js +64 -0
  445. package/src/app/api/models/test/ping.js +191 -0
  446. package/src/app/api/models/test/route.js +14 -0
  447. package/src/app/api/oauth/[provider]/[action]/route.js +343 -0
  448. package/src/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route.js +19 -0
  449. package/src/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route.js +30 -0
  450. package/src/app/api/oauth/codebuddy/bulk-import/[jobId]/route.js +23 -0
  451. package/src/app/api/oauth/codebuddy/bulk-import/latest/route.js +25 -0
  452. package/src/app/api/oauth/codebuddy/bulk-import/route.js +49 -0
  453. package/src/app/api/oauth/codebuddy/quota-cookie/route.js +133 -0
  454. package/src/app/api/oauth/codex/import-token/route.js +96 -0
  455. package/src/app/api/oauth/cursor/auto-import/route.js +258 -0
  456. package/src/app/api/oauth/cursor/import/route.js +100 -0
  457. package/src/app/api/oauth/gitlab/pat/route.js +62 -0
  458. package/src/app/api/oauth/iflow/cookie/route.js +137 -0
  459. package/src/app/api/oauth/kiro/auto-import/route.js +85 -0
  460. package/src/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route.js +18 -0
  461. package/src/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route.js +29 -0
  462. package/src/app/api/oauth/kiro/bulk-import/[jobId]/route.js +22 -0
  463. package/src/app/api/oauth/kiro/bulk-import/latest/route.js +25 -0
  464. package/src/app/api/oauth/kiro/bulk-import/route.js +49 -0
  465. package/src/app/api/oauth/kiro/import/route.js +110 -0
  466. package/src/app/api/oauth/kiro/social-authorize/route.js +27 -0
  467. package/src/app/api/oauth/kiro/social-exchange/route.js +41 -0
  468. package/src/app/api/pricing/route.js +134 -0
  469. package/src/app/api/provider-nodes/[id]/route.js +101 -0
  470. package/src/app/api/provider-nodes/route.js +104 -0
  471. package/src/app/api/provider-nodes/validate/route.js +201 -0
  472. package/src/app/api/providers/[id]/models/route.js +526 -0
  473. package/src/app/api/providers/[id]/route.js +189 -0
  474. package/src/app/api/providers/[id]/test/route.js +23 -0
  475. package/src/app/api/providers/[id]/test/testUtils.js +714 -0
  476. package/src/app/api/providers/[id]/test-models/route.js +66 -0
  477. package/src/app/api/providers/client/route.js +126 -0
  478. package/src/app/api/providers/kilo/free-models/route.js +55 -0
  479. package/src/app/api/providers/route.js +206 -0
  480. package/src/app/api/providers/suggested-models/filters.js +20 -0
  481. package/src/app/api/providers/suggested-models/route.js +32 -0
  482. package/src/app/api/providers/test-batch/route.js +131 -0
  483. package/src/app/api/providers/validate/route.js +637 -0
  484. package/src/app/api/proxy-pools/[id]/route.js +123 -0
  485. package/src/app/api/proxy-pools/[id]/test/route.js +70 -0
  486. package/src/app/api/proxy-pools/cloudflare-deploy/route.js +145 -0
  487. package/src/app/api/proxy-pools/deno-deploy/route.js +175 -0
  488. package/src/app/api/proxy-pools/route.js +93 -0
  489. package/src/app/api/proxy-pools/vercel-deploy/route.js +142 -0
  490. package/src/app/api/settings/database/route.js +36 -0
  491. package/src/app/api/settings/proxy-test/route.js +23 -0
  492. package/src/app/api/settings/require-login/route.js +15 -0
  493. package/src/app/api/settings/route.js +100 -0
  494. package/src/app/api/shutdown/route.js +24 -0
  495. package/src/app/api/tags/route.js +18 -0
  496. package/src/app/api/translator/console-logs/route.js +24 -0
  497. package/src/app/api/translator/console-logs/stream/route.js +79 -0
  498. package/src/app/api/translator/load/route.js +45 -0
  499. package/src/app/api/translator/save/route.js +44 -0
  500. package/src/app/api/translator/send/route.js +94 -0
  501. package/src/app/api/translator/translate/route.js +90 -0
  502. package/src/app/api/tunnel/disable/route.js +12 -0
  503. package/src/app/api/tunnel/enable/route.js +16 -0
  504. package/src/app/api/tunnel/status/route.js +13 -0
  505. package/src/app/api/tunnel/tailscale-check/route.js +50 -0
  506. package/src/app/api/tunnel/tailscale-disable/route.js +12 -0
  507. package/src/app/api/tunnel/tailscale-enable/route.js +12 -0
  508. package/src/app/api/tunnel/tailscale-install/route.js +72 -0
  509. package/src/app/api/usage/[connectionId]/route.js +188 -0
  510. package/src/app/api/usage/chart/route.js +21 -0
  511. package/src/app/api/usage/history/route.js +12 -0
  512. package/src/app/api/usage/logs/route.js +12 -0
  513. package/src/app/api/usage/providers/route.js +42 -0
  514. package/src/app/api/usage/request-details/route.js +57 -0
  515. package/src/app/api/usage/request-logs/route.js +13 -0
  516. package/src/app/api/usage/stats/route.js +23 -0
  517. package/src/app/api/usage/stream/route.js +79 -0
  518. package/src/app/api/v1/api/chat/route.js +37 -0
  519. package/src/app/api/v1/audio/speech/route.js +16 -0
  520. package/src/app/api/v1/audio/transcriptions/route.js +19 -0
  521. package/src/app/api/v1/audio/voices/route.js +68 -0
  522. package/src/app/api/v1/chat/completions/route.js +35 -0
  523. package/src/app/api/v1/embeddings/route.js +21 -0
  524. package/src/app/api/v1/images/generations/route.js +16 -0
  525. package/src/app/api/v1/messages/count_tokens/route.js +52 -0
  526. package/src/app/api/v1/messages/route.js +36 -0
  527. package/src/app/api/v1/models/[kind]/route.js +55 -0
  528. package/src/app/api/v1/models/info/route.js +110 -0
  529. package/src/app/api/v1/models/route.js +451 -0
  530. package/src/app/api/v1/responses/compact/route.js +37 -0
  531. package/src/app/api/v1/responses/route.js +30 -0
  532. package/src/app/api/v1/route.js +1 -0
  533. package/src/app/api/v1/search/route.js +21 -0
  534. package/src/app/api/v1/web/fetch/route.js +21 -0
  535. package/src/app/api/v1beta/models/[...path]/route.js +328 -0
  536. package/src/app/api/v1beta/models/route.js +44 -0
  537. package/src/app/api/version/route.js +45 -0
  538. package/src/app/api/version/shutdown/route.js +15 -0
  539. package/src/app/api/version/update/route.js +21 -0
  540. package/src/app/callback/page.js +148 -0
  541. package/src/app/dashboard/settings/pricing/page.js +173 -0
  542. package/src/app/favicon.ico +0 -0
  543. package/src/app/globals.css +496 -0
  544. package/src/app/landing/components/AnimatedBackground.js +57 -0
  545. package/src/app/landing/components/Features.js +133 -0
  546. package/src/app/landing/components/FlowAnimation.js +175 -0
  547. package/src/app/landing/components/Footer.js +61 -0
  548. package/src/app/landing/components/GetStarted.js +97 -0
  549. package/src/app/landing/components/HeroSection.js +47 -0
  550. package/src/app/landing/components/HowItWorks.js +66 -0
  551. package/src/app/landing/components/Navigation.js +72 -0
  552. package/src/app/landing/page.js +106 -0
  553. package/src/app/layout.js +49 -0
  554. package/src/app/login/page.js +197 -0
  555. package/src/app/manifest.js +30 -0
  556. package/src/app/page.js +5 -0
  557. package/src/dashboardGuard.js +242 -0
  558. package/src/i18n/RuntimeI18nProvider.js +27 -0
  559. package/src/i18n/config.js +146 -0
  560. package/src/i18n/runtime.js +162 -0
  561. package/src/lib/appUpdater.js +200 -0
  562. package/src/lib/auth/dashboardSession.js +68 -0
  563. package/src/lib/auth/loginLimiter.js +52 -0
  564. package/src/lib/auth/oidc.js +234 -0
  565. package/src/lib/consoleLogBuffer.js +79 -0
  566. package/src/lib/dataDir.js +29 -0
  567. package/src/lib/db/adapters/betterSqliteAdapter.js +55 -0
  568. package/src/lib/db/adapters/bunSqliteAdapter.js +63 -0
  569. package/src/lib/db/adapters/nodeSqliteAdapter.js +84 -0
  570. package/src/lib/db/adapters/sqljsAdapter.js +115 -0
  571. package/src/lib/db/backup.js +35 -0
  572. package/src/lib/db/driver.js +85 -0
  573. package/src/lib/db/helpers/jsonCol.js +9 -0
  574. package/src/lib/db/helpers/kvStore.js +39 -0
  575. package/src/lib/db/helpers/metaStore.js +22 -0
  576. package/src/lib/db/index.js +171 -0
  577. package/src/lib/db/migrate.js +286 -0
  578. package/src/lib/db/migrations/001-initial.js +14 -0
  579. package/src/lib/db/migrations/index.js +10 -0
  580. package/src/lib/db/paths.js +18 -0
  581. package/src/lib/db/repos/aliasRepo.js +62 -0
  582. package/src/lib/db/repos/apiKeysRepo.js +75 -0
  583. package/src/lib/db/repos/combosRepo.js +73 -0
  584. package/src/lib/db/repos/connectionsRepo.js +226 -0
  585. package/src/lib/db/repos/disabledModelsRepo.js +56 -0
  586. package/src/lib/db/repos/nodesRepo.js +95 -0
  587. package/src/lib/db/repos/pricingRepo.js +108 -0
  588. package/src/lib/db/repos/proxyPoolsRepo.js +103 -0
  589. package/src/lib/db/repos/requestDetailsRepo.js +259 -0
  590. package/src/lib/db/repos/settingsRepo.js +104 -0
  591. package/src/lib/db/repos/usageRepo.js +731 -0
  592. package/src/lib/db/schema.js +157 -0
  593. package/src/lib/db/version.js +21 -0
  594. package/src/lib/disabledModelsDb.js +4 -0
  595. package/src/lib/localDb.js +21 -0
  596. package/src/lib/mcp/stdioSseBridge.js +198 -0
  597. package/src/lib/mitmAliasCache.js +46 -0
  598. package/src/lib/network/connectionProxy.js +160 -0
  599. package/src/lib/network/initOutboundProxy.js +25 -0
  600. package/src/lib/network/outboundProxy.js +68 -0
  601. package/src/lib/network/proxyTest.js +91 -0
  602. package/src/lib/oauth/constants/oauth.js +284 -0
  603. package/src/lib/oauth/constants/xai.js +61 -0
  604. package/src/lib/oauth/providers.js +1506 -0
  605. package/src/lib/oauth/services/antigravity.js +321 -0
  606. package/src/lib/oauth/services/claude.js +136 -0
  607. package/src/lib/oauth/services/codebuddyBulkImportManager.js +454 -0
  608. package/src/lib/oauth/services/codex.js +144 -0
  609. package/src/lib/oauth/services/cursor.js +179 -0
  610. package/src/lib/oauth/services/gemini.js +240 -0
  611. package/src/lib/oauth/services/github.js +225 -0
  612. package/src/lib/oauth/services/iflow.js +202 -0
  613. package/src/lib/oauth/services/index.js +17 -0
  614. package/src/lib/oauth/services/kiro.js +334 -0
  615. package/src/lib/oauth/services/kiroBulkImportManager.js +778 -0
  616. package/src/lib/oauth/services/kiroConnections.js +93 -0
  617. package/src/lib/oauth/services/kiroGoogleAutomation.js +1136 -0
  618. package/src/lib/oauth/services/oauth.js +157 -0
  619. package/src/lib/oauth/services/openai.js +123 -0
  620. package/src/lib/oauth/services/qoder.js +216 -0
  621. package/src/lib/oauth/services/qwen.js +170 -0
  622. package/src/lib/oauth/services/xai.js +238 -0
  623. package/src/lib/oauth/utils/banner.js +63 -0
  624. package/src/lib/oauth/utils/pkce.js +39 -0
  625. package/src/lib/oauth/utils/server.js +415 -0
  626. package/src/lib/oauth/utils/ui.js +48 -0
  627. package/src/lib/providerNormalization.js +45 -0
  628. package/src/lib/qoder/constants.js +64 -0
  629. package/src/lib/qoder/cosy.js +175 -0
  630. package/src/lib/qoder/encoding.js +55 -0
  631. package/src/lib/requestDetailsDb.js +4 -0
  632. package/src/lib/tunnel/cloudflare/cloudflared.js +449 -0
  633. package/src/lib/tunnel/cloudflare/config.js +9 -0
  634. package/src/lib/tunnel/cloudflare/healthCheck.js +29 -0
  635. package/src/lib/tunnel/cloudflare/manager.js +151 -0
  636. package/src/lib/tunnel/cloudflare/pid.js +23 -0
  637. package/src/lib/tunnel/index.js +48 -0
  638. package/src/lib/tunnel/shared/dnsResolver.js +17 -0
  639. package/src/lib/tunnel/shared/internetCheck.js +26 -0
  640. package/src/lib/tunnel/shared/state.js +41 -0
  641. package/src/lib/tunnel/shared/watchdogConfig.js +8 -0
  642. package/src/lib/tunnel/tailscale/config.js +7 -0
  643. package/src/lib/tunnel/tailscale/healthCheck.js +29 -0
  644. package/src/lib/tunnel/tailscale/manager.js +129 -0
  645. package/src/lib/tunnel/tailscale/tailscale.js +790 -0
  646. package/src/lib/updater/updater.js +235 -0
  647. package/src/lib/usage/fetcher.js +208 -0
  648. package/src/lib/usageDb.js +7 -0
  649. package/src/mitm/antigravityIdeVersion.js +50 -0
  650. package/src/mitm/cert/generate.js +32 -0
  651. package/src/mitm/cert/install.js +269 -0
  652. package/src/mitm/cert/rootCA.js +173 -0
  653. package/src/mitm/config.js +87 -0
  654. package/src/mitm/dbReader.js +22 -0
  655. package/src/mitm/dns/dnsConfig.js +266 -0
  656. package/src/mitm/handlers/antigravity.js +33 -0
  657. package/src/mitm/handlers/base.js +226 -0
  658. package/src/mitm/handlers/copilot.js +35 -0
  659. package/src/mitm/handlers/cursor.js +15 -0
  660. package/src/mitm/handlers/kiro.js +526 -0
  661. package/src/mitm/logger.js +106 -0
  662. package/src/mitm/manager.js +851 -0
  663. package/src/mitm/paths.js +32 -0
  664. package/src/mitm/server.js +435 -0
  665. package/src/mitm/winElevated.js +81 -0
  666. package/src/models/index.js +38 -0
  667. package/src/proxy.js +5 -0
  668. package/src/shared/components/AddCustomEmbeddingModal.js +183 -0
  669. package/src/shared/components/Avatar.js +88 -0
  670. package/src/shared/components/Badge.js +54 -0
  671. package/src/shared/components/BulkAccountAutomationModal.js +508 -0
  672. package/src/shared/components/Button.js +56 -0
  673. package/src/shared/components/Card.js +116 -0
  674. package/src/shared/components/ChangelogModal.js +97 -0
  675. package/src/shared/components/CodeBuddyQuotaCookieModal.js +109 -0
  676. package/src/shared/components/ComboFormModal.js +176 -0
  677. package/src/shared/components/CursorAuthModal.js +212 -0
  678. package/src/shared/components/DonateModal.js +136 -0
  679. package/src/shared/components/Drawer.js +82 -0
  680. package/src/shared/components/EditConnectionModal.js +286 -0
  681. package/src/shared/components/Footer.js +132 -0
  682. package/src/shared/components/GitLabAuthModal.js +194 -0
  683. package/src/shared/components/Header.js +380 -0
  684. package/src/shared/components/HeaderLanguage.js +46 -0
  685. package/src/shared/components/HeaderMenu.js +126 -0
  686. package/src/shared/components/IFlowCookieModal.js +132 -0
  687. package/src/shared/components/Input.js +65 -0
  688. package/src/shared/components/KiroAuthModal.js +1171 -0
  689. package/src/shared/components/KiroOAuthWrapper.js +149 -0
  690. package/src/shared/components/KiroSocialOAuthModal.js +205 -0
  691. package/src/shared/components/LanguageSwitcher.js +190 -0
  692. package/src/shared/components/Loading.js +75 -0
  693. package/src/shared/components/ManualConfigModal.js +44 -0
  694. package/src/shared/components/McpMarketplaceModal.js +255 -0
  695. package/src/shared/components/Modal.js +146 -0
  696. package/src/shared/components/ModelSelectModal.js +537 -0
  697. package/src/shared/components/NineRemoteButton.js +23 -0
  698. package/src/shared/components/NineRemotePromoModal.js +99 -0
  699. package/src/shared/components/NoAuthProxyCard.js +86 -0
  700. package/src/shared/components/OAuthModal.js +682 -0
  701. package/src/shared/components/Pagination.js +150 -0
  702. package/src/shared/components/PricingModal.js +208 -0
  703. package/src/shared/components/ProviderIcon.js +63 -0
  704. package/src/shared/components/ProviderInfoCard.js +82 -0
  705. package/src/shared/components/RequestLogger.js +121 -0
  706. package/src/shared/components/SegmentedControl.js +48 -0
  707. package/src/shared/components/Select.js +67 -0
  708. package/src/shared/components/Sidebar.js +441 -0
  709. package/src/shared/components/ThemeProvider.js +15 -0
  710. package/src/shared/components/ThemeToggle.js +42 -0
  711. package/src/shared/components/Toggle.js +69 -0
  712. package/src/shared/components/Tooltip.js +25 -0
  713. package/src/shared/components/UsageStats.js +505 -0
  714. package/src/shared/components/index.js +46 -0
  715. package/src/shared/components/layouts/AuthLayout.js +29 -0
  716. package/src/shared/components/layouts/DashboardLayout.js +104 -0
  717. package/src/shared/components/layouts/index.js +4 -0
  718. package/src/shared/constants/cliTools.js +397 -0
  719. package/src/shared/constants/colors.js +77 -0
  720. package/src/shared/constants/config.js +99 -0
  721. package/src/shared/constants/coworkPlugins.js +75 -0
  722. package/src/shared/constants/index.js +4 -0
  723. package/src/shared/constants/locales.js +36 -0
  724. package/src/shared/constants/mitmToolHosts.js +12 -0
  725. package/src/shared/constants/models.js +38 -0
  726. package/src/shared/constants/pricing.js +303 -0
  727. package/src/shared/constants/providers.js +289 -0
  728. package/src/shared/constants/skills.js +78 -0
  729. package/src/shared/constants/ttsProviders.js +138 -0
  730. package/src/shared/hooks/index.js +2 -0
  731. package/src/shared/hooks/useCopyToClipboard.js +43 -0
  732. package/src/shared/hooks/useTheme.js +60 -0
  733. package/src/shared/services/bootstrap.js +12 -0
  734. package/src/shared/services/initializeApp.js +268 -0
  735. package/src/shared/utils/api.js +93 -0
  736. package/src/shared/utils/apiKey.js +98 -0
  737. package/src/shared/utils/clineAuth.js +37 -0
  738. package/src/shared/utils/cn.js +11 -0
  739. package/src/shared/utils/connectionStatus.js +162 -0
  740. package/src/shared/utils/index.js +40 -0
  741. package/src/shared/utils/machine.js +6 -0
  742. package/src/shared/utils/machineId.js +66 -0
  743. package/src/shared/utils/providerModelsFetcher.js +30 -0
  744. package/src/sse/handlers/chat.js +261 -0
  745. package/src/sse/handlers/embeddings.js +141 -0
  746. package/src/sse/handlers/fetch.js +213 -0
  747. package/src/sse/handlers/imageGeneration.js +142 -0
  748. package/src/sse/handlers/search.js +206 -0
  749. package/src/sse/handlers/stt.js +88 -0
  750. package/src/sse/handlers/tts.js +114 -0
  751. package/src/sse/services/auth.js +346 -0
  752. package/src/sse/services/codexGateway.js +215 -0
  753. package/src/sse/services/model.js +99 -0
  754. package/src/sse/services/tokenRefresh.js +319 -0
  755. package/src/sse/utils/logger.js +75 -0
  756. package/src/store/headerSearchStore.js +19 -0
  757. package/src/store/index.js +6 -0
  758. package/src/store/notificationStore.js +45 -0
  759. package/src/store/providerStore.js +55 -0
  760. package/src/store/settingsStore.js +51 -0
  761. package/src/store/themeStore.js +54 -0
  762. package/src/store/userStore.js +20 -0
  763. package/start.sh +4 -0
@@ -0,0 +1,195 @@
1
+ {
2
+ "Cancel": "Anulare",
3
+ "Delete": "Ștergere",
4
+ "Edit": "Editare",
5
+ "Save": "Salvare",
6
+ "Close": "Închide",
7
+ "Add": "Adăugare",
8
+ "Remove": "Eliminare",
9
+ "Settings": "Setări",
10
+ "Profile": "Profil",
11
+ "Dashboard": "Tablou de bord",
12
+ "Logout": "Ieșire",
13
+ "Login": "Conectare",
14
+ "Providers": "Furnizori",
15
+ "Usage": "Statistici de utilizare",
16
+ "API Key": "Cheie API",
17
+ "Connected": "Conectat",
18
+ "Disconnected": "Deconectat",
19
+ "Active": "Activ",
20
+ "Inactive": "Inactiv",
21
+ "Success": "Succes",
22
+ "Failed": "Eşuat",
23
+ "Error": "Eroare",
24
+ "Warning": "Avertisment",
25
+ "Info": "Informații",
26
+ "Loading": "Se încarcă",
27
+ "Search": "Căutare",
28
+ "Filter": "Filtru",
29
+ "Sort": "Sortare",
30
+ "Export": "Exportare",
31
+ "Import": "Importare",
32
+ "Refresh": "Reîmprospătare",
33
+ "Back": "Înapoi",
34
+ "Next": "Următorul",
35
+ "Previous": "Anterior",
36
+ "Submit": "Trimitere",
37
+ "Confirm": "Confirmare",
38
+ "Yes": "Da",
39
+ "No": "Nu",
40
+ "OK": "OK",
41
+ "Apply": "Aplicare",
42
+ "Reset": "Resetare",
43
+ "Clear": "Curățare",
44
+ "Select": "Selectare",
45
+ "Upload": "Încărcare",
46
+ "Download": "Descărcare",
47
+ "Copy": "Copiere",
48
+ "Paste": "Lipire",
49
+ "Cut": "Tăiere",
50
+ "Undo": "Anulare",
51
+ "Redo": "Refacere",
52
+ "Name": "Nume",
53
+ "Description": "Descriere",
54
+ "Status": "Status",
55
+ "Type": "Tip",
56
+ "Date": "Data",
57
+ "Time": "Oră",
58
+ "Created": "Creat",
59
+ "Updated": "Actualizat",
60
+ "Actions": "Acțiuni",
61
+ "Details": "Detalii",
62
+ "View": "Vizualizare",
63
+ "New": "Nou",
64
+ "Total": "Total",
65
+ "Count": "Număr",
66
+ "Price": "Preț",
67
+ "Cost": "Cost",
68
+ "Free": "Gratuit",
69
+ "Paid": "Plătit",
70
+ "Enable": "Activare",
71
+ "Disable": "Dezactivare",
72
+ "Enabled": "Activat",
73
+ "Disabled": "Dezactivat",
74
+ "Online": "Online",
75
+ "Offline": "Offline",
76
+ "Available": "Disponibil",
77
+ "Unavailable": "Indisponibil",
78
+ "Required": "Necesar",
79
+ "Optional": "Opțional",
80
+ "Default": "Implicit",
81
+ "Custom": "Personalizat",
82
+ "Advanced": "Avansat",
83
+ "Basic": "De bază",
84
+ "Help": "Ajutor",
85
+ "Support": "Suport",
86
+ "Documentation": "Documentație",
87
+ "Version": "Versiune",
88
+ "Language": "Limbă",
89
+ "Theme": "Temă",
90
+ "Light": "Lumină",
91
+ "Dark": "Întunecat",
92
+ "Auto": "Automat",
93
+ "Endpoint": "Punct final",
94
+ "Combos": "Combinații",
95
+ "Quota Tracker": "Urmăritor cote",
96
+ "MITM": "MITM",
97
+ "CLI Tools": "Instrumente",
98
+ "Console Log": "Jurnal consolă",
99
+ "System": "Sistem",
100
+ "Debug": "Depanare",
101
+ "Shutdown": "Oprire",
102
+ "Close Proxy": "Închidere proxy",
103
+ "Are you sure you want to close the proxy server?": "Sunteti sigur că doriți să închideți serverul proxy?",
104
+ "Server Disconnected": "Server deconectat",
105
+ "The proxy server has been stopped.": "Serverul proxy a fost oprit.",
106
+ "Reload Page": "Reîncărcare pagină",
107
+ "Service is running in terminal. You can close this web page. Shutdown will stop the service.": "Serviciul rulează în terminal. Puteți închide această pagină web. Oprirea va opri serviciul.",
108
+ "Manage your AI provider connections": "Gestionați conexiunile furnizorului dvs. de IA",
109
+ "Model combos with fallback": "Combinații de modele cu fallback",
110
+ "Monitor your API usage, token consumption, and request logs": "Monitorizați utilizarea API-ului, consumul de token și jurnalele de solicitare",
111
+ "Intercept CLI tool traffic and route through 9Router": "Interceptați traficul instrumentului CLI și rutați prin 9Router",
112
+ "Configure CLI tools": "Configurați instrumentele CLI",
113
+ "API endpoint configuration": "Configurația punctului final API",
114
+ "Manage your preferences": "Gestionați preferințele dvs.",
115
+ "Debug translation flow between formats": "Depanare fluxului de traducere între formate",
116
+ "Live server console output": "Ieșire consolă server în direct",
117
+ "Create model combos with fallback support": "Creați combinații de modele cu suport fallback",
118
+ "Local Mode": "Mod local",
119
+ "Running on your machine": "Rulează pe mașina dvs.",
120
+ "Database Location": "Locația bazei de date",
121
+ "Download Backup": "Descărcare copie de rezervă",
122
+ "Import Backup": "Importare copie de rezervă",
123
+ "Database backup downloaded": "Copia de rezervă a bazei de date a fost descărcată",
124
+ "Database imported successfully": "Baza de date a fost importată cu succes",
125
+ "Security": "Securitate",
126
+ "Require login": "Necesită conectare",
127
+ "When ON, dashboard requires password. When OFF, access without login.": "Când este PORNIT, tabloul de bord necesită parolă. Când este OPRIT, accesați fără conectare.",
128
+ "Current Password": "Parola actuală",
129
+ "Enter current password": "Introduceți parola actuală",
130
+ "New Password": "Parola nouă",
131
+ "Enter new password": "Introduceți parola nouă",
132
+ "Confirm New Password": "Confirmați parola nouă",
133
+ "Confirm new password": "Confirmați parola nouă",
134
+ "Update Password": "Actualizare parolă",
135
+ "Set Password": "Setare parolă",
136
+ "Password updated successfully": "Parola a fost actualizată cu succes",
137
+ "Passwords do not match": "Parolele nu coincid",
138
+ "Routing Strategy": "Strategie de rutare",
139
+ "Round Robin": "Tur în jurul",
140
+ "Cycle through accounts to distribute load": "Ciclați prin conturi pentru a distribui sarcina",
141
+ "Sticky Limit": "Limită lipicioasă",
142
+ "Calls per account before switching": "Apeluri pe cont înainte de comutare",
143
+ "Network": "Rețea",
144
+ "Outbound Proxy": "Proxy de ieșire",
145
+ "Enable proxy for OAuth + provider outbound requests.": "Activați proxy-ul pentru solicitări de ieșire OAuth + furnizor.",
146
+ "Proxy URL": "URL proxy",
147
+ "Leave empty to inherit existing env proxy (if any).": "Lăsați gol pentru a moșteni proxy-ul env existent (dacă există).",
148
+ "No Proxy": "Nicio delegare",
149
+ "Comma-separated hostnames/domains to bypass the proxy.": "Nume de gazdă/domenii separate prin virgulă pentru a ocoli proxy-ul.",
150
+ "Test proxy URL": "Testare URL proxy",
151
+ "Proxy settings applied": "Setările proxy au fost aplicate",
152
+ "Proxy enabled": "Proxy activat",
153
+ "Proxy disabled": "Proxy dezactivat",
154
+ "Proxy test OK": "Testul proxy OK",
155
+ "Proxy test failed": "Testul proxy a eșuat",
156
+ "Please enter a Proxy URL to test": "Vă rugăm să introduceți un URL proxy pentru a testa",
157
+ "Observability": "Observabilitate",
158
+ "Enable Observability": "Activare observabilitate",
159
+ "Turn request detail recording on/off globally": "Porniți/opriți înregistrarea detaliilor solicitării la nivel global",
160
+ "Max Records": "Înregistrări maxime",
161
+ "Maximum request detail records to keep (older records are auto-deleted)": "Înregistrări de detalii de solicitare maxime de păstrat (înregistrările mai vechi sunt șterse automat)",
162
+ "Batch Size": "Dimensiune lot",
163
+ "Number of items to accumulate before writing to database (higher = better performance)": "Numărul de articole de acumulat înainte de a scrie în baza de date (mai mare = performanță mai bună)",
164
+ "Flush Interval (ms)": "Interval de golire (ms)",
165
+ "Maximum time to wait before flushing buffer (prevents data loss during low traffic)": "Timp maxim de așteptare înainte de golirea bufferului (previne pierderea datelor în condiții de trafic redus)",
166
+ "Max JSON Size (KB)": "Dimensiune JSON maximă (KB)",
167
+ "Maximum size for each JSON field (request/response) before truncation": "Dimensiune maximă pentru fiecare câmp JSON (solicitare/răspuns) înainte de trunchiere",
168
+ "All data stored on your machine": "Toate datele sunt stocate pe mașina dvs.",
169
+ "MITM Server": "Server MITM",
170
+ "Running": "Se execută",
171
+ "Stopped": "Oprit",
172
+ "Cert": "Certificat",
173
+ "Server": "Server",
174
+ "Purpose:": "Scop:",
175
+ "Use Antigravity IDE & GitHub Copilot → with ANY provider/model from 9Router": "Folosiți Antigravity IDE & GitHub Copilot → cu ORICE furnizor/model din 9Router",
176
+ "How it works:": "Cum funcționează:",
177
+ "Antigravity/Copilot IDE request → DNS redirect to localhost:443 → MITM proxy intercepts → 9Router → response to Antigravity/Copilot": "Solicitare Antigravity/Copilot IDE → Redirecționare DNS la localhost:443 → Proxy MITM interceptează → 9Router → răspuns la Antigravity/Copilot",
178
+ "No API keys — create one in Keys page": "Nicio cheie API — creați una în pagina Chei",
179
+ "sk_9router (default)": "sk_9router (implicit)",
180
+ "Server started": "Server pornit",
181
+ "Failed to start server": "Nu s-a putut porni serverul",
182
+ "Server stopped — all DNS cleared": "Server oprit — toate DNS-urile șterse",
183
+ "Failed to stop server": "Nu s-a putut opri serverul",
184
+ "Sudo password is required": "Parola sudo este necesară",
185
+ "Stop Server": "Oprire server",
186
+ "Start Server": "Server de pornire",
187
+ "Enable DNS per tool below to activate interception": "Activați DNS pentru fiecare instrument de mai jos pentru a activa interceptarea",
188
+ "Sudo Password Required": "Parola Sudo este necesară",
189
+ "Enter your sudo password to start/stop MITM server": "Introduceți parola sudo pentru a porni/opri serverul MITM",
190
+ "Sudo Password": "Parola Sudo",
191
+ "Click to add, click again to remove. Changes are saved automatically.": "Faceți clic pentru a adăuga, faceți clic din nou pentru a elimina. Modificările sunt salvate automat.",
192
+ "⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.": "⚠️ Notificare de risc: Acest furnizor folosește un abonament/sesiune OAuth care nu este licențiat oficial pentru utilizare proxy/router. Contul poate fi restricționat sau interzis. Utilizați pe propriul risc.",
193
+ "⚠️ MITM intercepts HTTPS traffic of IDE tools (Antigravity, GitHub Copilot, Kiro) via local CA to redirect requests to your providers. May violate ToS → account ban. Use at your own risk.": "⚠️ MITM interceptează traficul HTTPS al instrumentelor IDE (Antigravity, GitHub Copilot, Kiro) prin CA locală pentru a redirecționa cererile către furnizorii dvs. Poate încălca ToS → risc de interzicere a contului. Utilizați pe propriul risc.",
194
+ "Endpoint is exposed without an API key.": "Endpointul este expus fără o cheie API."
195
+ }
@@ -0,0 +1,195 @@
1
+ {
2
+ "Cancel": "Отменить",
3
+ "Delete": "Удалить",
4
+ "Edit": "Редактировать",
5
+ "Save": "Сохранить",
6
+ "Close": "Закрыть",
7
+ "Add": "Добавить",
8
+ "Remove": "Удалить",
9
+ "Settings": "Настройки",
10
+ "Profile": "Профиль",
11
+ "Dashboard": "Панель управления",
12
+ "Logout": "Выход",
13
+ "Login": "Вход",
14
+ "Providers": "Провайдеры",
15
+ "Usage": "Статистика",
16
+ "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": "OK",
41
+ "Apply": "Применить",
42
+ "Reset": "Сбросить",
43
+ "Clear": "Очистить",
44
+ "Select": "Выбрать",
45
+ "Upload": "Загрузить",
46
+ "Download": "Скачать",
47
+ "Copy": "Копировать",
48
+ "Paste": "Вставить",
49
+ "Cut": "Вырезать",
50
+ "Undo": "Отменить",
51
+ "Redo": "Повторить",
52
+ "Name": "Имя",
53
+ "Description": "Описание",
54
+ "Status": "Статус",
55
+ "Type": "Тип",
56
+ "Date": "Дата",
57
+ "Time": "Время",
58
+ "Created": "Создано",
59
+ "Updated": "Обновлено",
60
+ "Actions": "Действия",
61
+ "Details": "Подробности",
62
+ "View": "Просмотр",
63
+ "New": "Новый",
64
+ "Total": "Всего",
65
+ "Count": "Количество",
66
+ "Price": "Цена",
67
+ "Cost": "Стоимость",
68
+ "Free": "Бесплатно",
69
+ "Paid": "Платно",
70
+ "Enable": "Включить",
71
+ "Disable": "Отключить",
72
+ "Enabled": "Включено",
73
+ "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": "Поддержка",
86
+ "Documentation": "Документация",
87
+ "Version": "Версия",
88
+ "Language": "Язык",
89
+ "Theme": "Тема",
90
+ "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.": "Сервис работает в терминале. Вы можете закрыть эту веб-страницу. Завершение остановит сервис.",
108
+ "Manage your AI provider connections": "Управляйте своими подключениями провайдера ИИ",
109
+ "Model combos with fallback": "Комбинации моделей с резервным вариантом",
110
+ "Monitor your API usage, token consumption, and request logs": "Мониторьте использование API, потребление токенов и журналы запросов",
111
+ "Intercept CLI tool traffic and route through 9Router": "Перехватите трафик инструмента CLI и маршрутизируйте через 9Router",
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": "Введите текущий пароль",
130
+ "New Password": "Новый пароль",
131
+ "Enter new password": "Введите новый пароль",
132
+ "Confirm New Password": "Подтвердить новый пароль",
133
+ "Confirm new password": "Подтвердите новый пароль",
134
+ "Update Password": "Обновить пароль",
135
+ "Set Password": "Установить пароль",
136
+ "Password updated successfully": "Пароль успешно обновлен",
137
+ "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).": "Оставьте пусто, чтобы унаследовать существующий прокси env (если есть).",
148
+ "No Proxy": "Без прокси",
149
+ "Comma-separated hostnames/domains to bypass the proxy.": "Разделенные запятыми имена хостов/домены для обхода прокси.",
150
+ "Test proxy URL": "Протестировать URL прокси",
151
+ "Proxy settings applied": "Параметры прокси применены",
152
+ "Proxy enabled": "Прокси включен",
153
+ "Proxy disabled": "Прокси отключен",
154
+ "Proxy test OK": "Тест прокси OK",
155
+ "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)": "Интервал очистки (мс)",
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",
170
+ "Running": "Работает",
171
+ "Stopped": "Остановлено",
172
+ "Cert": "Сертификат",
173
+ "Server": "Сервер",
174
+ "Purpose:": "Назначение:",
175
+ "Use Antigravity IDE & GitHub Copilot → with ANY provider/model from 9Router": "Используйте Antigravity IDE и GitHub Copilot → с ЛЮБЫМ провайдером/моделью от 9Router",
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",
178
+ "No API keys — create one in Keys page": "Нет ключей API — создайте один на странице ключей",
179
+ "sk_9router (default)": "sk_9router (по умолчанию)",
180
+ "Server started": "Сервер запущен",
181
+ "Failed to start server": "Ошибка при запуске сервера",
182
+ "Server stopped — all DNS cleared": "Сервер остановлен — все DNS очищено",
183
+ "Failed to stop server": "Ошибка при остановке сервера",
184
+ "Sudo password is required": "Требуется пароль sudo",
185
+ "Stop Server": "Остановить сервер",
186
+ "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",
190
+ "Sudo Password": "Пароль sudo",
191
+ "Click to add, click again to remove. Changes are saved automatically.": "Нажмите, чтобы добавить, нажмите ещё раз, чтобы удалить. Изменения сохраняются автоматически.",
192
+ "⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.": "⚠️ Уведомление о риске: Этот провайдер использует сессию подписки/OAuth, не имеющую официальной лицензии для использования через прокси/маршрутизатор. Аккаунт может быть ограничен или заблокирован. Используйте на свой страх и риск.",
193
+ "⚠️ MITM intercepts HTTPS traffic of IDE tools (Antigravity, GitHub Copilot, Kiro) via local CA to redirect requests to your providers. May violate ToS → account ban. Use at your own risk.": "⚠️ MITM перехватывает HTTPS-трафик IDE-инструментов (Antigravity, GitHub Copilot, Kiro) через локальный CA для перенаправления запросов вашим провайдерам. Может нарушить ToS → риск блокировки аккаунта. Используйте на свой страх и риск.",
194
+ "Endpoint is exposed without an API key.": "Эндпоинт открыт без API-ключа."
195
+ }
@@ -0,0 +1,195 @@
1
+ {
2
+ "Cancel": "Avbryt",
3
+ "Delete": "Ta bort",
4
+ "Edit": "Redigera",
5
+ "Save": "Spara",
6
+ "Close": "Stäng",
7
+ "Add": "Lägg till",
8
+ "Remove": "Ta bort",
9
+ "Settings": "Inställningar",
10
+ "Profile": "Profil",
11
+ "Dashboard": "Instrumentpanel",
12
+ "Logout": "Logga ut",
13
+ "Login": "Logga in",
14
+ "Providers": "Leverantörer",
15
+ "Usage": "Användarstatistik",
16
+ "API Key": "API-nyckel",
17
+ "Connected": "Ansluten",
18
+ "Disconnected": "Frånkopplad",
19
+ "Active": "Aktiv",
20
+ "Inactive": "Inaktiv",
21
+ "Success": "Framgång",
22
+ "Failed": "Misslyckad",
23
+ "Error": "Fel",
24
+ "Warning": "Varning",
25
+ "Info": "Information",
26
+ "Loading": "Laddar",
27
+ "Search": "Sök",
28
+ "Filter": "Filter",
29
+ "Sort": "Sortera",
30
+ "Export": "Exportera",
31
+ "Import": "Importera",
32
+ "Refresh": "Uppdatera",
33
+ "Back": "Tillbaka",
34
+ "Next": "Nästa",
35
+ "Previous": "Föregående",
36
+ "Submit": "Skicka",
37
+ "Confirm": "Bekräfta",
38
+ "Yes": "Ja",
39
+ "No": "Nej",
40
+ "OK": "OK",
41
+ "Apply": "Verkställ",
42
+ "Reset": "Återställ",
43
+ "Clear": "Rensa",
44
+ "Select": "Välj",
45
+ "Upload": "Ladda upp",
46
+ "Download": "Ladda ner",
47
+ "Copy": "Kopiera",
48
+ "Paste": "Klistra in",
49
+ "Cut": "Klipp ut",
50
+ "Undo": "Ångra",
51
+ "Redo": "Gör om",
52
+ "Name": "Namn",
53
+ "Description": "Beskrivning",
54
+ "Status": "Status",
55
+ "Type": "Typ",
56
+ "Date": "Datum",
57
+ "Time": "Tid",
58
+ "Created": "Skapad",
59
+ "Updated": "Uppdaterad",
60
+ "Actions": "Åtgärder",
61
+ "Details": "Detaljer",
62
+ "View": "Visa",
63
+ "New": "Ny",
64
+ "Total": "Totalt",
65
+ "Count": "Antal",
66
+ "Price": "Pris",
67
+ "Cost": "Kostnad",
68
+ "Free": "Gratis",
69
+ "Paid": "Betald",
70
+ "Enable": "Aktivera",
71
+ "Disable": "Inaktivera",
72
+ "Enabled": "Aktiverad",
73
+ "Disabled": "Inaktiverad",
74
+ "Online": "Online",
75
+ "Offline": "Offline",
76
+ "Available": "Tillgänglig",
77
+ "Unavailable": "Inte tillgänglig",
78
+ "Required": "Krävs",
79
+ "Optional": "Valfritt",
80
+ "Default": "Standard",
81
+ "Custom": "Anpassad",
82
+ "Advanced": "Avancerat",
83
+ "Basic": "Grundläggande",
84
+ "Help": "Hjälp",
85
+ "Support": "Support",
86
+ "Documentation": "Dokumentation",
87
+ "Version": "Version",
88
+ "Language": "Språk",
89
+ "Theme": "Tema",
90
+ "Light": "Ljus",
91
+ "Dark": "Mörk",
92
+ "Auto": "Automatisk",
93
+ "Endpoint": "Slutpunkt",
94
+ "Combos": "Kombinationer",
95
+ "Quota Tracker": "Kvotspårare",
96
+ "MITM": "MITM",
97
+ "CLI Tools": "Verktyg",
98
+ "Console Log": "Konsollogg",
99
+ "System": "System",
100
+ "Debug": "Felsökning",
101
+ "Shutdown": "Stänga av",
102
+ "Close Proxy": "Stäng proxy",
103
+ "Are you sure you want to close the proxy server?": "Är du säker på att du vill stänga proxyservern?",
104
+ "Server Disconnected": "Server frånkopplad",
105
+ "The proxy server has been stopped.": "Proxyservern har stoppats.",
106
+ "Reload Page": "Läs in sidan på nytt",
107
+ "Service is running in terminal. You can close this web page. Shutdown will stop the service.": "Tjänsten körs i terminalen. Du kan stänga denna webbsida. Avstängning stoppar tjänsten.",
108
+ "Manage your AI provider connections": "Hantera dina AI-leverantörsanslutningar",
109
+ "Model combos with fallback": "Modellkombinationer med fallback",
110
+ "Monitor your API usage, token consumption, and request logs": "Övervaka din API-användning, tokenförbrukning och begärandeloggar",
111
+ "Intercept CLI tool traffic and route through 9Router": "Avlyssna CLI-verktygstrafik och dirigera genom 9Router",
112
+ "Configure CLI tools": "Konfigurera CLI-verktyg",
113
+ "API endpoint configuration": "Konfiguration av API-slutpunkt",
114
+ "Manage your preferences": "Hantera dina inställningar",
115
+ "Debug translation flow between formats": "Felsöka översättningsflöde mellan format",
116
+ "Live server console output": "Live-serverkonsoloutdata",
117
+ "Create model combos with fallback support": "Skapa modellkombinationer med fallback-stöd",
118
+ "Local Mode": "Lokalt läge",
119
+ "Running on your machine": "Körs på din maskin",
120
+ "Database Location": "Databasplats",
121
+ "Download Backup": "Ladda ner säkerhetskopia",
122
+ "Import Backup": "Importera säkerhetskopia",
123
+ "Database backup downloaded": "Databassäkerhetskopia nedladdad",
124
+ "Database imported successfully": "Databasen importerades framgångsrikt",
125
+ "Security": "Säkerhet",
126
+ "Require login": "Kräv inloggning",
127
+ "When ON, dashboard requires password. When OFF, access without login.": "När ON krävs lösenord för instrumentpanelen. När OFF, åtkomst utan inloggning.",
128
+ "Current Password": "Aktuellt lösenord",
129
+ "Enter current password": "Ange aktuellt lösenord",
130
+ "New Password": "Nytt lösenord",
131
+ "Enter new password": "Ange nytt lösenord",
132
+ "Confirm New Password": "Bekräfta nytt lösenord",
133
+ "Confirm new password": "Bekräfta nytt lösenord",
134
+ "Update Password": "Uppdatera lösenord",
135
+ "Set Password": "Ange lösenord",
136
+ "Password updated successfully": "Lösenord uppdaterades framgångsrikt",
137
+ "Passwords do not match": "Lösenorden matchar inte",
138
+ "Routing Strategy": "Routningsstrategi",
139
+ "Round Robin": "Omväxling",
140
+ "Cycle through accounts to distribute load": "Cykla genom konton för att distribuera belastningen",
141
+ "Sticky Limit": "Klibbig gräns",
142
+ "Calls per account before switching": "Anrop per konto innan byte",
143
+ "Network": "Nätverk",
144
+ "Outbound Proxy": "Utgående proxy",
145
+ "Enable proxy for OAuth + provider outbound requests.": "Aktivera proxy för utgående OAuth + leverantörsförfrågningar.",
146
+ "Proxy URL": "Proxy-URL",
147
+ "Leave empty to inherit existing env proxy (if any).": "Lämna tomt för att ärva befintlig env-proxy (om sådan finns).",
148
+ "No Proxy": "Ingen proxy",
149
+ "Comma-separated hostnames/domains to bypass the proxy.": "Kommaseparerade värdnamn/domäner för att kringgå proxyn.",
150
+ "Test proxy URL": "Testa proxy-URL",
151
+ "Proxy settings applied": "Proxyinställningar tillämpade",
152
+ "Proxy enabled": "Proxy aktiverad",
153
+ "Proxy disabled": "Proxy inaktiverad",
154
+ "Proxy test OK": "Proxy-test OK",
155
+ "Proxy test failed": "Proxy-test misslyckades",
156
+ "Please enter a Proxy URL to test": "Ange en proxy-URL att testa",
157
+ "Observability": "Observerbarhet",
158
+ "Enable Observability": "Aktivera observerbarhet",
159
+ "Turn request detail recording on/off globally": "Slå på/av inspelning av förfrågningsdetaljer globalt",
160
+ "Max Records": "Maximala poster",
161
+ "Maximum request detail records to keep (older records are auto-deleted)": "Maximala begärandedetaljposter att behålla (äldre poster raderas automatiskt)",
162
+ "Batch Size": "Batchstorlek",
163
+ "Number of items to accumulate before writing to database (higher = better performance)": "Antal objekt att ackumulera innan skrivning till databas (högre = bättre prestanda)",
164
+ "Flush Interval (ms)": "Spölningsintervall (ms)",
165
+ "Maximum time to wait before flushing buffer (prevents data loss during low traffic)": "Maximal väntetid innan buffern spolas (förhindrar dataförlust vid låg trafik)",
166
+ "Max JSON Size (KB)": "Maximal JSON-storlek (KB)",
167
+ "Maximum size for each JSON field (request/response) before truncation": "Maximal storlek för varje JSON-fält (begäran/svar) före trunkering",
168
+ "All data stored on your machine": "Alla data lagras på din maskin",
169
+ "MITM Server": "MITM-server",
170
+ "Running": "Körs",
171
+ "Stopped": "Stoppad",
172
+ "Cert": "Certifikat",
173
+ "Server": "Server",
174
+ "Purpose:": "Syfte:",
175
+ "Use Antigravity IDE & GitHub Copilot → with ANY provider/model from 9Router": "Använd Antigravity IDE & GitHub Copilot → med VALFRI leverantör/modell från 9Router",
176
+ "How it works:": "Hur det fungerar:",
177
+ "Antigravity/Copilot IDE request → DNS redirect to localhost:443 → MITM proxy intercepts → 9Router → response to Antigravity/Copilot": "Antigravity/Copilot IDE-begäran → DNS-omdirigering till localhost:443 → MITM-proxy avlyssnar → 9Router → svar till Antigravity/Copilot",
178
+ "No API keys — create one in Keys page": "Inga API-nycklar — skapa en på nyckelsidan",
179
+ "sk_9router (default)": "sk_9router (standard)",
180
+ "Server started": "Servern startad",
181
+ "Failed to start server": "Misslyckades att starta servern",
182
+ "Server stopped — all DNS cleared": "Server stoppad — all DNS rensad",
183
+ "Failed to stop server": "Misslyckades att stoppa servern",
184
+ "Sudo password is required": "Sudo-lösenord krävs",
185
+ "Stop Server": "Stoppa server",
186
+ "Start Server": "Starta server",
187
+ "Enable DNS per tool below to activate interception": "Aktivera DNS för varje verktyg nedan för att aktivera avlyssning",
188
+ "Sudo Password Required": "Sudo-lösenord krävs",
189
+ "Enter your sudo password to start/stop MITM server": "Ange ditt sudo-lösenord för att starta/stoppa MITM-servern",
190
+ "Sudo Password": "Sudo-lösenord",
191
+ "Click to add, click again to remove. Changes are saved automatically.": "Klicka för att lägga till, klicka igen för att ta bort. Ändringar sparas automatiskt.",
192
+ "⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.": "⚠️ Riskmeddelande: Denna leverantör använder en prenumerations-/OAuth-session som inte är officiellt licensierad för proxy-/routeranvändning. Kontot kan begränsas eller bannlysas. Användning sker på egen risk.",
193
+ "⚠️ MITM intercepts HTTPS traffic of IDE tools (Antigravity, GitHub Copilot, Kiro) via local CA to redirect requests to your providers. May violate ToS → account ban. Use at your own risk.": "⚠️ MITM avlyssnar HTTPS-trafik från IDE-verktyg (Antigravity, GitHub Copilot, Kiro) via lokal CA för att omdirigera förfrågningar till dina leverantörer. Kan bryta mot ToS → risk för kontoavstängning. Användning sker på egen risk.",
194
+ "Endpoint is exposed without an API key.": "Slutpunkten är exponerad utan en API-nyckel."
195
+ }