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": "취소",
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": "확인",
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": "AI 제공자 연결 관리",
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.": "ON일 때 대시보드에서 암호가 필요합니다. OFF일 때 로그인 없이 접근할 수 있습니다.",
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).": "기존 환경 프록시를 상속받으려면 비워두세요.",
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": "프록시 테스트 성공",
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)": "플러시 간격 (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 요청 → localhost:443로 DNS 리디렉션 → 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": "MITM 서버를 시작/중지하려면 sudo 암호를 입력하세요",
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은 로컬 CA를 통해 IDE 도구(Antigravity, GitHub Copilot, Kiro)의 HTTPS 트래픽을 가로채 요청을 공급자로 리다이렉트합니다. ToS 위반 가능성 → 계정 차단 위험. 사용에 대한 책임은 본인에게 있습니다.",
194
+ "Endpoint is exposed without an API key.": "API 키 없이 엔드포인트가 노출되어 있습니다."
195
+ }
@@ -0,0 +1,195 @@
1
+ {
2
+ "Cancel": "Annuleren",
3
+ "Delete": "Verwijderen",
4
+ "Edit": "Bewerken",
5
+ "Save": "Opslaan",
6
+ "Close": "Sluiten",
7
+ "Add": "Toevoegen",
8
+ "Remove": "Verwijderen",
9
+ "Settings": "Instellingen",
10
+ "Profile": "Profiel",
11
+ "Dashboard": "Dashboard",
12
+ "Logout": "Afmelden",
13
+ "Login": "Aanmelden",
14
+ "Providers": "Providers",
15
+ "Usage": "Statistieken",
16
+ "API Key": "API-sleutel",
17
+ "Connected": "Verbonden",
18
+ "Disconnected": "Verbroken",
19
+ "Active": "Actief",
20
+ "Inactive": "Inactief",
21
+ "Success": "Succes",
22
+ "Failed": "Mislukt",
23
+ "Error": "Fout",
24
+ "Warning": "Waarschuwing",
25
+ "Info": "Info",
26
+ "Loading": "Laden",
27
+ "Search": "Zoeken",
28
+ "Filter": "Filteren",
29
+ "Sort": "Sorteren",
30
+ "Export": "Exporteren",
31
+ "Import": "Importeren",
32
+ "Refresh": "Vernieuwen",
33
+ "Back": "Terug",
34
+ "Next": "Volgende",
35
+ "Previous": "Vorige",
36
+ "Submit": "Verzenden",
37
+ "Confirm": "Bevestigen",
38
+ "Yes": "Ja",
39
+ "No": "Nee",
40
+ "OK": "OK",
41
+ "Apply": "Toepassen",
42
+ "Reset": "Opnieuw instellen",
43
+ "Clear": "Wissen",
44
+ "Select": "Selecteren",
45
+ "Upload": "Uploaden",
46
+ "Download": "Downloaden",
47
+ "Copy": "Kopieëren",
48
+ "Paste": "Plakken",
49
+ "Cut": "Knippen",
50
+ "Undo": "Ongedaan maken",
51
+ "Redo": "Opnieuw uitvoeren",
52
+ "Name": "Naam",
53
+ "Description": "Beschrijving",
54
+ "Status": "Status",
55
+ "Type": "Type",
56
+ "Date": "Datum",
57
+ "Time": "Tijd",
58
+ "Created": "Gemaakt",
59
+ "Updated": "Bijgewerkt",
60
+ "Actions": "Acties",
61
+ "Details": "Details",
62
+ "View": "Weergeven",
63
+ "New": "Nieuw",
64
+ "Total": "Totaal",
65
+ "Count": "Aantal",
66
+ "Price": "Prijs",
67
+ "Cost": "Kosten",
68
+ "Free": "Gratis",
69
+ "Paid": "Betaald",
70
+ "Enable": "Inschakelen",
71
+ "Disable": "Uitschakelen",
72
+ "Enabled": "Ingeschakeld",
73
+ "Disabled": "Uitgeschakeld",
74
+ "Online": "Online",
75
+ "Offline": "Offline",
76
+ "Available": "Beschikbaar",
77
+ "Unavailable": "Niet beschikbaar",
78
+ "Required": "Verplicht",
79
+ "Optional": "Optioneel",
80
+ "Default": "Standaard",
81
+ "Custom": "Aangepast",
82
+ "Advanced": "Geavanceerd",
83
+ "Basic": "Basis",
84
+ "Help": "Help",
85
+ "Support": "Ondersteuning",
86
+ "Documentation": "Documentatie",
87
+ "Version": "Versie",
88
+ "Language": "Taal",
89
+ "Theme": "Thema",
90
+ "Light": "Licht",
91
+ "Dark": "Donker",
92
+ "Auto": "Automatisch",
93
+ "Endpoint": "Eindpunt",
94
+ "Combos": "Combinaties",
95
+ "Quota Tracker": "Quotabijhouder",
96
+ "MITM": "MITM",
97
+ "CLI Tools": "CLI-tools",
98
+ "Console Log": "Consolenlogboek",
99
+ "System": "Systeem",
100
+ "Debug": "Foutopsporing",
101
+ "Shutdown": "Afsluiten",
102
+ "Close Proxy": "Proxy sluiten",
103
+ "Are you sure you want to close the proxy server?": "Weet u zeker dat u de proxyserver wilt sluiten?",
104
+ "Server Disconnected": "Server verbroken",
105
+ "The proxy server has been stopped.": "De proxyserver is gestopt.",
106
+ "Reload Page": "Pagina vernieuwen",
107
+ "Service is running in terminal. You can close this web page. Shutdown will stop the service.": "Service wordt uitgevoerd in terminal. U kunt deze webpagina sluiten. Afsluiten stopt de service.",
108
+ "Manage your AI provider connections": "Beheer uw AI-providerverbindingen",
109
+ "Model combos with fallback": "Modelcombinaties met fallback",
110
+ "Monitor your API usage, token consumption, and request logs": "Controleer uw API-gebruik, tokenverbruik en aanvraaglogboeken",
111
+ "Intercept CLI tool traffic and route through 9Router": "Onderschep CLI-toolverkeer en stuur het via 9Router",
112
+ "Configure CLI tools": "CLI-tools configureren",
113
+ "API endpoint configuration": "Configuratie van API-eindpunt",
114
+ "Manage your preferences": "Beheer uw voorkeuren",
115
+ "Debug translation flow between formats": "Debug de vertaalstroom tussen indelingen",
116
+ "Live server console output": "Live-serverconsoluitvoer",
117
+ "Create model combos with fallback support": "Maak modelcombinaties met fallback-ondersteuning",
118
+ "Local Mode": "Lokale modus",
119
+ "Running on your machine": "Actief op uw machine",
120
+ "Database Location": "Databaselocatie",
121
+ "Download Backup": "Backup downloaden",
122
+ "Import Backup": "Backup importeren",
123
+ "Database backup downloaded": "Databaseback-up gedownload",
124
+ "Database imported successfully": "Database succesvol geïmporteerd",
125
+ "Security": "Beveiliging",
126
+ "Require login": "Aanmelden vereist",
127
+ "When ON, dashboard requires password. When OFF, access without login.": "Wanneer AAN, vereist dashboard een wachtwoord. Wanneer UIT, toegang zonder aanmelden.",
128
+ "Current Password": "Huidig wachtwoord",
129
+ "Enter current password": "Voer het huidige wachtwoord in",
130
+ "New Password": "Nieuw wachtwoord",
131
+ "Enter new password": "Voer een nieuw wachtwoord in",
132
+ "Confirm New Password": "Nieuw wachtwoord bevestigen",
133
+ "Confirm new password": "Bevestig het nieuwe wachtwoord",
134
+ "Update Password": "Wachtwoord bijwerken",
135
+ "Set Password": "Wachtwoord instellen",
136
+ "Password updated successfully": "Wachtwoord succesvol bijgewerkt",
137
+ "Passwords do not match": "Wachtwoorden komen niet overeen",
138
+ "Routing Strategy": "Routeringsstrategie",
139
+ "Round Robin": "Round Robin",
140
+ "Cycle through accounts to distribute load": "Wisselen tussen accounts om belasting te verdelen",
141
+ "Sticky Limit": "Plakkerige limiet",
142
+ "Calls per account before switching": "Oproepen per account voordat u overschakelt",
143
+ "Network": "Netwerk",
144
+ "Outbound Proxy": "Uitgaande proxy",
145
+ "Enable proxy for OAuth + provider outbound requests.": "Schakel proxy in voor OAuth + uitgaande verzoeken van provider.",
146
+ "Proxy URL": "Proxy-URL",
147
+ "Leave empty to inherit existing env proxy (if any).": "Laat leeg om bestaande env-proxy over te nemen (indien aanwezig).",
148
+ "No Proxy": "Geen proxy",
149
+ "Comma-separated hostnames/domains to bypass the proxy.": "Door komma's gescheiden hostnamen/domeinen om de proxy te omzeilen.",
150
+ "Test proxy URL": "Proxy-URL testen",
151
+ "Proxy settings applied": "Proxy-instellingen toegepast",
152
+ "Proxy enabled": "Proxy ingeschakeld",
153
+ "Proxy disabled": "Proxy uitgeschakeld",
154
+ "Proxy test OK": "Proxy-test OK",
155
+ "Proxy test failed": "Proxy-test mislukt",
156
+ "Please enter a Proxy URL to test": "Voer een proxy-URL in om te testen",
157
+ "Observability": "Waarneembaarheid",
158
+ "Enable Observability": "Waarneembaarheid inschakelen",
159
+ "Turn request detail recording on/off globally": "Recordering van aanvraagdetails globaal in-/uitschakelen",
160
+ "Max Records": "Maximale records",
161
+ "Maximum request detail records to keep (older records are auto-deleted)": "Maximale aantal aanvraagdetailrecords om te behouden (oudere records worden automatisch verwijderd)",
162
+ "Batch Size": "Batchgrootte",
163
+ "Number of items to accumulate before writing to database (higher = better performance)": "Aantal items dat moet worden verzameld voordat naar database wordt geschreven (hoger = beter prestaties)",
164
+ "Flush Interval (ms)": "Spoelinterval (ms)",
165
+ "Maximum time to wait before flushing buffer (prevents data loss during low traffic)": "Maximale wachttijd voordat buffer wordt leeggemaakt (voorkomt gegevensverlies bij laag verkeer)",
166
+ "Max JSON Size (KB)": "Maximale JSON-grootte (KB)",
167
+ "Maximum size for each JSON field (request/response) before truncation": "Maximale grootte voor elk JSON-veld (aanvraag/antwoord) voordat afkappen",
168
+ "All data stored on your machine": "Alle gegevens opgeslagen op uw machine",
169
+ "MITM Server": "MITM-server",
170
+ "Running": "Actief",
171
+ "Stopped": "Gestopt",
172
+ "Cert": "Certificaat",
173
+ "Server": "Server",
174
+ "Purpose:": "Doel:",
175
+ "Use Antigravity IDE & GitHub Copilot → with ANY provider/model from 9Router": "Gebruik Antigravity IDE en GitHub Copilot → met ELKE provider/model van 9Router",
176
+ "How it works:": "Hoe het werkt:",
177
+ "Antigravity/Copilot IDE request → DNS redirect to localhost:443 → MITM proxy intercepts → 9Router → response to Antigravity/Copilot": "Antigravity/Copilot IDE-aanvraag → DNS-omleiding naar localhost:443 → MITM-proxy onderschept → 9Router → antwoord naar Antigravity/Copilot",
178
+ "No API keys — create one in Keys page": "Geen API-sleutels — maak er één aan op de pagina Sleutels",
179
+ "sk_9router (default)": "sk_9router (standaard)",
180
+ "Server started": "Server gestart",
181
+ "Failed to start server": "Server starten mislukt",
182
+ "Server stopped — all DNS cleared": "Server gestopt — alle DNS gewist",
183
+ "Failed to stop server": "Server stoppen mislukt",
184
+ "Sudo password is required": "Sudo-wachtwoord vereist",
185
+ "Stop Server": "Server stoppen",
186
+ "Start Server": "Server starten",
187
+ "Enable DNS per tool below to activate interception": "Schakel DNS in voor elk hulpmiddel hieronder om onderschepping te activeren",
188
+ "Sudo Password Required": "Sudo-wachtwoord vereist",
189
+ "Enter your sudo password to start/stop MITM server": "Voer uw sudo-wachtwoord in om de MITM-server te starten/stoppen",
190
+ "Sudo Password": "Sudo-wachtwoord",
191
+ "Click to add, click again to remove. Changes are saved automatically.": "Klik om toe te voegen, klik opnieuw om te verwijderen. Wijzigingen worden automatisch opgeslagen.",
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.": "⚠️ Risicokennisgeving: Deze provider gebruikt een abonnement/OAuth-sessie die niet officieel is gelicentieerd voor proxy/router-gebruik. Account kan worden beperkt of verbannen. Gebruik op eigen risico.",
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 onderschept HTTPS-verkeer van IDE-tools (Antigravity, GitHub Copilot, Kiro) via lokale CA om verzoeken om te leiden naar uw providers. Kan ToS schenden → risico op accountban. Gebruik op eigen risico.",
194
+ "Endpoint is exposed without an API key.": "Het eindpunt is blootgesteld zonder API-sleutel."
195
+ }
@@ -0,0 +1,195 @@
1
+ {
2
+ "Cancel": "Avbryt",
3
+ "Delete": "Slett",
4
+ "Edit": "Rediger",
5
+ "Save": "Lagre",
6
+ "Close": "Lukk",
7
+ "Add": "Legg til",
8
+ "Remove": "Fjern",
9
+ "Settings": "Innstillinger",
10
+ "Profile": "Profil",
11
+ "Dashboard": "Kontrollpanel",
12
+ "Logout": "Logg ut",
13
+ "Login": "Logg inn",
14
+ "Providers": "Leverandører",
15
+ "Usage": "Bruksstatistikk",
16
+ "API Key": "API-nøkkel",
17
+ "Connected": "Tilkoblet",
18
+ "Disconnected": "Frakoblet",
19
+ "Active": "Aktiv",
20
+ "Inactive": "Inaktiv",
21
+ "Success": "Suksess",
22
+ "Failed": "Mislyktes",
23
+ "Error": "Feil",
24
+ "Warning": "Advarsel",
25
+ "Info": "Informasjon",
26
+ "Loading": "Laster",
27
+ "Search": "Søk",
28
+ "Filter": "Filter",
29
+ "Sort": "Sorter",
30
+ "Export": "Eksporter",
31
+ "Import": "Importer",
32
+ "Refresh": "Oppdater",
33
+ "Back": "Tilbake",
34
+ "Next": "Neste",
35
+ "Previous": "Forrige",
36
+ "Submit": "Send inn",
37
+ "Confirm": "Bekreft",
38
+ "Yes": "Ja",
39
+ "No": "Nei",
40
+ "OK": "OK",
41
+ "Apply": "Bruk",
42
+ "Reset": "Tilbakestill",
43
+ "Clear": "Tøm",
44
+ "Select": "Velg",
45
+ "Upload": "Last opp",
46
+ "Download": "Last ned",
47
+ "Copy": "Kopier",
48
+ "Paste": "Lim inn",
49
+ "Cut": "Klipp",
50
+ "Undo": "Angre",
51
+ "Redo": "Gjør på nytt",
52
+ "Name": "Navn",
53
+ "Description": "Beskrivelse",
54
+ "Status": "Status",
55
+ "Type": "Type",
56
+ "Date": "Dato",
57
+ "Time": "Tid",
58
+ "Created": "Opprettet",
59
+ "Updated": "Oppdatert",
60
+ "Actions": "Handlinger",
61
+ "Details": "Detaljer",
62
+ "View": "Vis",
63
+ "New": "Ny",
64
+ "Total": "Total",
65
+ "Count": "Antall",
66
+ "Price": "Pris",
67
+ "Cost": "Kostnad",
68
+ "Free": "Gratis",
69
+ "Paid": "Betalt",
70
+ "Enable": "Aktiver",
71
+ "Disable": "Deaktiver",
72
+ "Enabled": "Aktivert",
73
+ "Disabled": "Deaktivert",
74
+ "Online": "Pålogget",
75
+ "Offline": "Frakoblet",
76
+ "Available": "Tilgjengelig",
77
+ "Unavailable": "Utilgjengelig",
78
+ "Required": "Obligatorisk",
79
+ "Optional": "Valgfritt",
80
+ "Default": "Standard",
81
+ "Custom": "Tilpasset",
82
+ "Advanced": "Avansert",
83
+ "Basic": "Grunnleggende",
84
+ "Help": "Hjelp",
85
+ "Support": "Støtte",
86
+ "Documentation": "Dokumentasjon",
87
+ "Version": "Versjon",
88
+ "Language": "Språk",
89
+ "Theme": "Tema",
90
+ "Light": "Lys",
91
+ "Dark": "Mørk",
92
+ "Auto": "Automatisk",
93
+ "Endpoint": "Endepunkt",
94
+ "Combos": "Kombinasjoner",
95
+ "Quota Tracker": "Kvotasporer",
96
+ "MITM": "MITM",
97
+ "CLI Tools": "Verktøy",
98
+ "Console Log": "Konsollogg",
99
+ "System": "System",
100
+ "Debug": "Feilsøking",
101
+ "Shutdown": "Slå av",
102
+ "Close Proxy": "Lukk proxy",
103
+ "Are you sure you want to close the proxy server?": "Er du sikker på at du vil lukke proxyserveren?",
104
+ "Server Disconnected": "Server frakoblet",
105
+ "The proxy server has been stopped.": "Proxyserveren har blitt stoppet.",
106
+ "Reload Page": "Last inn siden på nytt",
107
+ "Service is running in terminal. You can close this web page. Shutdown will stop the service.": "Tjenesten kjører i terminalen. Du kan lukke denne nettsiden. Slå av vil stoppe tjenesten.",
108
+ "Manage your AI provider connections": "Administrer AI-leverandørforbindelsene dine",
109
+ "Model combos with fallback": "Modellkombinasjoner med fallback",
110
+ "Monitor your API usage, token consumption, and request logs": "Overvåk API-bruken, tokenforbruk og anmodningslogger",
111
+ "Intercept CLI tool traffic and route through 9Router": "Avlytting av CLI-verktøy trafikk og rute gjennom 9Router",
112
+ "Configure CLI tools": "Konfigurer CLI-verktøy",
113
+ "API endpoint configuration": "Konfiguration av API-endepunkt",
114
+ "Manage your preferences": "Administrer dine preferanser",
115
+ "Debug translation flow between formats": "Feilsøking av oversettelsesflyt mellom formater",
116
+ "Live server console output": "Direkte serverkonsolresultat",
117
+ "Create model combos with fallback support": "Opprett modellkombinasjoner med fallback-støtte",
118
+ "Local Mode": "Lokalt modus",
119
+ "Running on your machine": "Kjørende på maskinen din",
120
+ "Database Location": "Databaseplassering",
121
+ "Download Backup": "Last ned sikkerhetskopi",
122
+ "Import Backup": "Importer sikkerhetskopi",
123
+ "Database backup downloaded": "Databasesikkerhetskopi lastet ned",
124
+ "Database imported successfully": "Database importert med suksess",
125
+ "Security": "Sikkerhet",
126
+ "Require login": "Krev innlogging",
127
+ "When ON, dashboard requires password. When OFF, access without login.": "Når PÅ krever kontrollpanelet passord. Når AV, tilgang uten innlogging.",
128
+ "Current Password": "Gjeldende passord",
129
+ "Enter current password": "Skriv inn gjeldende passord",
130
+ "New Password": "Nytt passord",
131
+ "Enter new password": "Skriv inn nytt passord",
132
+ "Confirm New Password": "Bekreft nytt passord",
133
+ "Confirm new password": "Bekreft nytt passord",
134
+ "Update Password": "Oppdater passord",
135
+ "Set Password": "Angi passord",
136
+ "Password updated successfully": "Passord oppdatert med suksess",
137
+ "Passwords do not match": "Passordene samsvarer ikke",
138
+ "Routing Strategy": "Rutestrategi",
139
+ "Round Robin": "Runderobin",
140
+ "Cycle through accounts to distribute load": "Syklus gjennom kontoer for å distribuere belastning",
141
+ "Sticky Limit": "Klebrig grense",
142
+ "Calls per account before switching": "Anrop per konto før bytte",
143
+ "Network": "Nettverk",
144
+ "Outbound Proxy": "Utgående proxy",
145
+ "Enable proxy for OAuth + provider outbound requests.": "Aktiver proxy for OAuth + leverandør utgående forespørsler.",
146
+ "Proxy URL": "Proxy-URL",
147
+ "Leave empty to inherit existing env proxy (if any).": "La være tom for å arve eksisterende env-proxy (hvis noen).",
148
+ "No Proxy": "Ingen proxy",
149
+ "Comma-separated hostnames/domains to bypass the proxy.": "Kommaseparerte vertsnavner/domener for å omgå proxyen.",
150
+ "Test proxy URL": "Test proxy-URL",
151
+ "Proxy settings applied": "Proxyinnstillinger brukt",
152
+ "Proxy enabled": "Proxy aktivert",
153
+ "Proxy disabled": "Proxy deaktivert",
154
+ "Proxy test OK": "Proxytest OK",
155
+ "Proxy test failed": "Proxytest mislyktes",
156
+ "Please enter a Proxy URL to test": "Vennligst skriv inn en proxy-URL å teste",
157
+ "Observability": "Observerbarhet",
158
+ "Enable Observability": "Aktiver observerbarhet",
159
+ "Turn request detail recording on/off globally": "Slå detaljregistrering av forespørsel på/av globalt",
160
+ "Max Records": "Max-poster",
161
+ "Maximum request detail records to keep (older records are auto-deleted)": "Maksimum anmodningsdetaljposter å beholde (eldre poster blir automatisk slettet)",
162
+ "Batch Size": "Batch-størrelse",
163
+ "Number of items to accumulate before writing to database (higher = better performance)": "Antall elementer som skal akkumuleres før skriving til database (høyere = bedre ytelse)",
164
+ "Flush Interval (ms)": "Spylt intervall (ms)",
165
+ "Maximum time to wait before flushing buffer (prevents data loss during low traffic)": "Maksimal ventetid før spyling av buffer (forhindrer tap av data under lavt trafikk)",
166
+ "Max JSON Size (KB)": "Maks JSON-størrelse (KB)",
167
+ "Maximum size for each JSON field (request/response) before truncation": "Maksimal størrelse for hvert JSON-felt (forespørsel/svar) før avkutting",
168
+ "All data stored on your machine": "Alle data lagret på maskinen din",
169
+ "MITM Server": "MITM-server",
170
+ "Running": "Kjørende",
171
+ "Stopped": "Stoppet",
172
+ "Cert": "Sertifikat",
173
+ "Server": "Server",
174
+ "Purpose:": "Formål:",
175
+ "Use Antigravity IDE & GitHub Copilot → with ANY provider/model from 9Router": "Bruk Antigravity IDE & GitHub Copilot → med ENHVER leverandør/modell fra 9Router",
176
+ "How it works:": "Slik fungerer det:",
177
+ "Antigravity/Copilot IDE request → DNS redirect to localhost:443 → MITM proxy intercepts → 9Router → response to Antigravity/Copilot": "Antigravity/Copilot IDE-forespørsel → DNS-omdirigering til localhost:443 → MITM-proxy avlytt → 9Router → svar til Antigravity/Copilot",
178
+ "No API keys — create one in Keys page": "Ingen API-nøkler — lag en på Keys-siden",
179
+ "sk_9router (default)": "sk_9router (standard)",
180
+ "Server started": "Server startet",
181
+ "Failed to start server": "Klarte ikke å starte server",
182
+ "Server stopped — all DNS cleared": "Server stoppet — alle DNS ryddet",
183
+ "Failed to stop server": "Klarte ikke å stoppe server",
184
+ "Sudo password is required": "Sudo-passord er påkrevd",
185
+ "Stop Server": "Stopp server",
186
+ "Start Server": "Start server",
187
+ "Enable DNS per tool below to activate interception": "Aktiver DNS for hvert verktøy nedenfor for å aktivere avlytting",
188
+ "Sudo Password Required": "Sudo-passord påkrevd",
189
+ "Enter your sudo password to start/stop MITM server": "Skriv inn sudo-passordet ditt for å starte/stoppe MITM-server",
190
+ "Sudo Password": "Sudo-passord",
191
+ "Click to add, click again to remove. Changes are saved automatically.": "Klikk for å legge til, klikk igjen for å fjerne. Endringer lagres automatisk.",
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.": "⚠️ Risikovarsel: Denne leverandøren bruker en abonnements-/OAuth-økt som ikke er offisielt lisensiert for proxy-/ruterbruk. Kontoen kan bli begrenset eller utestengt. Bruk på eget ansvar.",
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 avskjærer HTTPS-trafikk fra IDE-verktøy (Antigravity, GitHub Copilot, Kiro) via lokal CA for å omdirigere forespørsler til dine leverandører. Kan bryte ToS → risiko for kontoutestengelse. Bruk på eget ansvar.",
194
+ "Endpoint is exposed without an API key.": "Endepunktet er eksponert uten en API-nøkkel."
195
+ }