@fudrouter/fsrouter 0.6.58 → 0.6.60

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 (599) hide show
  1. package/bin/copyJs.js +9 -0
  2. package/bin/rewriteSseImports.js +15 -5
  3. package/dist/open-sse/executors/blackbox-web.js +1 -1
  4. package/dist/open-sse/executors/claude-web.js +1 -1
  5. package/dist/open-sse/executors/gitlab.js +1 -1
  6. package/dist/open-sse/executors/huggingchat.js +1 -1
  7. package/dist/open-sse/executors/kimi-web.js +1 -1
  8. package/dist/open-sse/executors/ninerouter.js +2 -2
  9. package/dist/open-sse/executors/qoder.js +3 -3
  10. package/dist/open-sse/executors/qwen-web.js +1 -1
  11. package/dist/open-sse/executors/yuanbao-web.js +1 -1
  12. package/dist/open-sse/handlers/chatCore/nonStreamingHandler.js +1 -1
  13. package/dist/open-sse/handlers/chatCore/requestDetail.js +1 -1
  14. package/dist/open-sse/handlers/chatCore/sseToJsonHandler.js +1 -1
  15. package/dist/open-sse/handlers/chatCore/streamingHandler.js +1 -1
  16. package/dist/open-sse/handlers/chatCore.js +1 -1
  17. package/dist/open-sse/handlers/imageProviders/leonardo.js +1 -1
  18. package/dist/open-sse/handlers/imageProviders/weavy.js +1 -1
  19. package/dist/open-sse/handlers/videoProviders/weavy.js +1 -1
  20. package/dist/open-sse/mcp-server/tools/advancedTools.js +2 -2
  21. package/dist/open-sse/mcp-server/tools/agentSkillTools.js +1 -1
  22. package/dist/open-sse/mcp-server/tools/compressionTools.js +4 -4
  23. package/dist/open-sse/mcp-server/tools/gamificationTools.js +10 -10
  24. package/dist/open-sse/mcp-server/tools/githubSkillTools.js +1 -1
  25. package/dist/open-sse/mcp-server/tools/memoryTools.js +3 -3
  26. package/dist/open-sse/mcp-server/tools/notionTools.js +2 -2
  27. package/dist/open-sse/mcp-server/tools/obsidianTools.js +2 -2
  28. package/dist/open-sse/mcp-server/tools/pickFastestModel.js +1 -1
  29. package/dist/open-sse/mcp-server/tools/pluginTools.js +4 -4
  30. package/dist/open-sse/mcp-server/tools/skillTools.js +2 -2
  31. package/dist/open-sse/services/combo/quotaExhaustionCutoff.js +2 -2
  32. package/dist/open-sse/services/combo/quotaShareStrategy.js +1 -1
  33. package/dist/open-sse/services/combo/resolveAutoStrategy.js +1 -1
  34. package/dist/open-sse/services/combo/sessionStickiness.js +1 -1
  35. package/dist/open-sse/services/combo/targetSorters.js +2 -2
  36. package/dist/open-sse/services/combo/validateQuality.js +1 -1
  37. package/dist/open-sse/services/thinkingBudget.js +1 -1
  38. package/dist/open-sse/services/tokenRefresh/providers.js +3 -3
  39. package/dist/open-sse/utils/providerRequestLogging.js +1 -1
  40. package/dist/open-sse/utils/responsesStatePolicy.js +1 -1
  41. package/dist/open-sse/utils/stream.js +1 -1
  42. package/dist/open-sse/utils/streamFailureFinalization.js +1 -1
  43. package/dist/open-sse/utils/usageTracking.js +1 -1
  44. package/package.json +1 -1
  45. package/open-sse/AGENTS.md +0 -39
  46. package/open-sse/config/anthropicHeaders.js +0 -87
  47. package/open-sse/config/appConstants.js +0 -238
  48. package/open-sse/config/audioRegistry.js +0 -506
  49. package/open-sse/config/cliFingerprints.js +0 -304
  50. package/open-sse/config/codexInstructions.js +0 -119
  51. package/open-sse/config/codexQuotaScopes.js +0 -42
  52. package/open-sse/config/constants.js +0 -4
  53. package/open-sse/config/contextEditing.js +0 -68
  54. package/open-sse/config/credentialLoader.js +0 -83
  55. package/open-sse/config/defaultThinkingSignature.js +0 -12
  56. package/open-sse/config/embeddingRegistry.js +0 -264
  57. package/open-sse/config/errorConfig.js +0 -96
  58. package/open-sse/config/freeModelCatalog.data.js +0 -121
  59. package/open-sse/config/freeModelCatalog.js +0 -90
  60. package/open-sse/config/freeTierCatalog.js +0 -81
  61. package/open-sse/config/googleTtsLanguages.js +0 -62
  62. package/open-sse/config/imageParamDefs.js +0 -360
  63. package/open-sse/config/imageRegistry.js +0 -493
  64. package/open-sse/config/kiroConstants.js +0 -268
  65. package/open-sse/config/mediaConfig.js +0 -27
  66. package/open-sse/config/mediaServiceKinds.js +0 -71
  67. package/open-sse/config/models.js +0 -13
  68. package/open-sse/config/moderationRegistry.js +0 -71
  69. package/open-sse/config/musicRegistry.js +0 -99
  70. package/open-sse/config/ocrRegistry.js +0 -61
  71. package/open-sse/config/ollamaModels.js +0 -19
  72. package/open-sse/config/providerErrorRules.js +0 -114
  73. package/open-sse/config/providerFieldStrips.js +0 -35
  74. package/open-sse/config/providerHeaderProfiles.js +0 -191
  75. package/open-sse/config/providerModels.js +0 -106
  76. package/open-sse/config/providerRegistry.js +0 -16
  77. package/open-sse/config/providers.js +0 -19
  78. package/open-sse/config/registryUtils.js +0 -106
  79. package/open-sse/config/rerankRegistry.js +0 -177
  80. package/open-sse/config/runtimeConfig.js +0 -96
  81. package/open-sse/config/runway.js +0 -39
  82. package/open-sse/config/searchRegistry.js +0 -153
  83. package/open-sse/config/toolCloaking.js +0 -199
  84. package/open-sse/config/ttsModels.js +0 -129
  85. package/open-sse/config/videoRegistry.js +0 -207
  86. package/open-sse/executors/adapta-web.js +0 -435
  87. package/open-sse/executors/antigravity.js +0 -534
  88. package/open-sse/executors/antigravityUpstreamError.js +0 -13
  89. package/open-sse/executors/auggie.js +0 -437
  90. package/open-sse/executors/azure-openai.js +0 -32
  91. package/open-sse/executors/azure.js +0 -57
  92. package/open-sse/executors/base.js +0 -181
  93. package/open-sse/executors/bedrock.js +0 -633
  94. package/open-sse/executors/blackbox-web.js +0 -578
  95. package/open-sse/executors/chatgpt-web.js +0 -2042
  96. package/open-sse/executors/chipotle.js +0 -357
  97. package/open-sse/executors/claude-web-with-auto-refresh.js +0 -73
  98. package/open-sse/executors/claude-web.js +0 -586
  99. package/open-sse/executors/cliproxyapi.js +0 -296
  100. package/open-sse/executors/cloudflare-ai.js +0 -46
  101. package/open-sse/executors/codebuddy-cn.js +0 -40
  102. package/open-sse/executors/codex.js +0 -1324
  103. package/open-sse/executors/commandCode.js +0 -558
  104. package/open-sse/executors/commandcode.js +0 -88
  105. package/open-sse/executors/copilot-m365-connection.js +0 -176
  106. package/open-sse/executors/copilot-m365-frames.js +0 -192
  107. package/open-sse/executors/copilot-m365-web.js +0 -299
  108. package/open-sse/executors/copilot-web.js +0 -580
  109. package/open-sse/executors/cursor.js +0 -795
  110. package/open-sse/executors/deepseek-web-with-auto-refresh.js +0 -150
  111. package/open-sse/executors/deepseek-web.js +0 -875
  112. package/open-sse/executors/default.js +0 -430
  113. package/open-sse/executors/devin-cli.js +0 -351
  114. package/open-sse/executors/doubao-web.js +0 -550
  115. package/open-sse/executors/duckduckgo-web.js +0 -629
  116. package/open-sse/executors/forceResponsesUpstream.js +0 -33
  117. package/open-sse/executors/gemini-business.js +0 -320
  118. package/open-sse/executors/gemini-cli.js +0 -89
  119. package/open-sse/executors/gemini-web.js +0 -297
  120. package/open-sse/executors/github.js +0 -379
  121. package/open-sse/executors/gitlab.js +0 -569
  122. package/open-sse/executors/glm.js +0 -361
  123. package/open-sse/executors/grok-cli.js +0 -119
  124. package/open-sse/executors/grok-web.js +0 -345
  125. package/open-sse/executors/huggingchat.js +0 -467
  126. package/open-sse/executors/iflow.js +0 -108
  127. package/open-sse/executors/index.js +0 -78
  128. package/open-sse/executors/inner-ai.js +0 -527
  129. package/open-sse/executors/kimchi.js +0 -123
  130. package/open-sse/executors/kimi-web.js +0 -325
  131. package/open-sse/executors/kimi.js +0 -97
  132. package/open-sse/executors/kiro.js +0 -503
  133. package/open-sse/executors/kiroThinking.js +0 -44
  134. package/open-sse/executors/lmarena.js +0 -395
  135. package/open-sse/executors/mimo-free.js +0 -167
  136. package/open-sse/executors/mimocode.js +0 -392
  137. package/open-sse/executors/ninerouter.js +0 -155
  138. package/open-sse/executors/nlpcloud.js +0 -438
  139. package/open-sse/executors/ollama-local.js +0 -14
  140. package/open-sse/executors/opencode-go.js +0 -41
  141. package/open-sse/executors/opencode.js +0 -32
  142. package/open-sse/executors/perplexity-web.js +0 -581
  143. package/open-sse/executors/poe-web.js +0 -133
  144. package/open-sse/executors/pollinations.js +0 -95
  145. package/open-sse/executors/puter.js +0 -31
  146. package/open-sse/executors/qoder.js +0 -448
  147. package/open-sse/executors/qwen-web.js +0 -372
  148. package/open-sse/executors/qwen.js +0 -129
  149. package/open-sse/executors/t3-chat-web.js +0 -417
  150. package/open-sse/executors/theoldllm.js +0 -290
  151. package/open-sse/executors/trae.js +0 -418
  152. package/open-sse/executors/v0-vercel-web.js +0 -141
  153. package/open-sse/executors/venice-web.js +0 -142
  154. package/open-sse/executors/vertex.js +0 -131
  155. package/open-sse/executors/vertexMedia.js +0 -236
  156. package/open-sse/executors/windsurf.js +0 -560
  157. package/open-sse/executors/xai.js +0 -46
  158. package/open-sse/executors/xiaomi-tokenplan.js +0 -19
  159. package/open-sse/executors/yuanbao-web.js +0 -385
  160. package/open-sse/executors/zed-hosted.js +0 -281
  161. package/open-sse/executors/zenmux-free.js +0 -247
  162. package/open-sse/handlers/audioSpeech.js +0 -759
  163. package/open-sse/handlers/audioTranscription.js +0 -395
  164. package/open-sse/handlers/audioTranslation.js +0 -181
  165. package/open-sse/handlers/chatCore/nonStreamingHandler.js +0 -300
  166. package/open-sse/handlers/chatCore/requestDetail.js +0 -102
  167. package/open-sse/handlers/chatCore/sseToJsonHandler.js +0 -231
  168. package/open-sse/handlers/chatCore/streamingHandler.js +0 -95
  169. package/open-sse/handlers/chatCore.js +0 -404
  170. package/open-sse/handlers/embeddingProviders/_base.js +0 -4
  171. package/open-sse/handlers/embeddingProviders/gemini.js +0 -54
  172. package/open-sse/handlers/embeddingProviders/index.js +0 -23
  173. package/open-sse/handlers/embeddingProviders/openai.js +0 -39
  174. package/open-sse/handlers/embeddingProviders/openaiCompatNode.js +0 -13
  175. package/open-sse/handlers/embeddingsCore.js +0 -126
  176. package/open-sse/handlers/fetch/index.js +0 -237
  177. package/open-sse/handlers/imageGenerationCore.js +0 -230
  178. package/open-sse/handlers/imageProviders/_base.js +0 -31
  179. package/open-sse/handlers/imageProviders/antigravity.js +0 -73
  180. package/open-sse/handlers/imageProviders/blackForestLabs.js +0 -63
  181. package/open-sse/handlers/imageProviders/cloudflareAi.js +0 -207
  182. package/open-sse/handlers/imageProviders/codex.js +0 -217
  183. package/open-sse/handlers/imageProviders/comfyui.js +0 -25
  184. package/open-sse/handlers/imageProviders/falAi.js +0 -62
  185. package/open-sse/handlers/imageProviders/gemini.js +0 -40
  186. package/open-sse/handlers/imageProviders/huggingface.js +0 -38
  187. package/open-sse/handlers/imageProviders/index.js +0 -44
  188. package/open-sse/handlers/imageProviders/leonardo.js +0 -435
  189. package/open-sse/handlers/imageProviders/nanobanana.js +0 -79
  190. package/open-sse/handlers/imageProviders/openai.js +0 -61
  191. package/open-sse/handlers/imageProviders/runwayml.js +0 -72
  192. package/open-sse/handlers/imageProviders/sdwebui.js +0 -36
  193. package/open-sse/handlers/imageProviders/stabilityAi.js +0 -59
  194. package/open-sse/handlers/imageProviders/weavy.js +0 -222
  195. package/open-sse/handlers/moderations.js +0 -92
  196. package/open-sse/handlers/ocr.js +0 -89
  197. package/open-sse/handlers/rerank.js +0 -223
  198. package/open-sse/handlers/responseSanitizer/reasoning.js +0 -144
  199. package/open-sse/handlers/responsesHandler.js +0 -99
  200. package/open-sse/handlers/search/callers.js +0 -371
  201. package/open-sse/handlers/search/chatSearch.js +0 -409
  202. package/open-sse/handlers/search/index.js +0 -201
  203. package/open-sse/handlers/search/normalizers.js +0 -223
  204. package/open-sse/handlers/search.js +0 -1056
  205. package/open-sse/handlers/sseParser.js +0 -469
  206. package/open-sse/handlers/sttCore.js +0 -193
  207. package/open-sse/handlers/ttsCore.js +0 -74
  208. package/open-sse/handlers/ttsProviders/_base.js +0 -39
  209. package/open-sse/handlers/ttsProviders/edgeTts.js +0 -89
  210. package/open-sse/handlers/ttsProviders/elevenlabs.js +0 -48
  211. package/open-sse/handlers/ttsProviders/gemini.js +0 -117
  212. package/open-sse/handlers/ttsProviders/genericFormats.js +0 -169
  213. package/open-sse/handlers/ttsProviders/googleTts.js +0 -54
  214. package/open-sse/handlers/ttsProviders/index.js +0 -50
  215. package/open-sse/handlers/ttsProviders/localDevice.js +0 -87
  216. package/open-sse/handlers/ttsProviders/minimax.js +0 -59
  217. package/open-sse/handlers/ttsProviders/openai.js +0 -30
  218. package/open-sse/handlers/ttsProviders/openrouter.js +0 -70
  219. package/open-sse/handlers/usageExtractor.js +0 -93
  220. package/open-sse/handlers/videoGenerationCore.js +0 -119
  221. package/open-sse/handlers/videoProviders/index.js +0 -22
  222. package/open-sse/handlers/videoProviders/leonardo.js +0 -511
  223. package/open-sse/handlers/videoProviders/weavy.js +0 -198
  224. package/open-sse/handlers/webFetch.js +0 -200
  225. package/open-sse/index.js +0 -79
  226. package/open-sse/mcp-server/audit.js +0 -283
  227. package/open-sse/mcp-server/catalog.js +0 -184
  228. package/open-sse/mcp-server/descriptionCompressor.js +0 -175
  229. package/open-sse/mcp-server/httpAuthContext.js +0 -32
  230. package/open-sse/mcp-server/httpTransport.js +0 -229
  231. package/open-sse/mcp-server/index.js +0 -33
  232. package/open-sse/mcp-server/mcpCallerIdentity.js +0 -21
  233. package/open-sse/mcp-server/runtimeHeartbeat.js +0 -110
  234. package/open-sse/mcp-server/schemas/a2a.js +0 -153
  235. package/open-sse/mcp-server/schemas/audit.js +0 -17
  236. package/open-sse/mcp-server/schemas/index.js +0 -166
  237. package/open-sse/mcp-server/schemas/pickFastestModel.js +0 -90
  238. package/open-sse/mcp-server/schemas/toolDefinition.js +0 -0
  239. package/open-sse/mcp-server/schemas/toolSearch.js +0 -32
  240. package/open-sse/mcp-server/schemas/tools.js +0 -1219
  241. package/open-sse/mcp-server/scopeEnforcement.js +0 -80
  242. package/open-sse/mcp-server/server.js +0 -1168
  243. package/open-sse/mcp-server/toolCardinality.js +0 -78
  244. package/open-sse/mcp-server/toolSearch/catalog.js +0 -66
  245. package/open-sse/mcp-server/toolSearch/handler.js +0 -20
  246. package/open-sse/mcp-server/toolSearch/index.js +0 -10
  247. package/open-sse/mcp-server/toolSearch/register.js +0 -21
  248. package/open-sse/mcp-server/toolSearch/search.js +0 -55
  249. package/open-sse/mcp-server/toolSearch/signature.js +0 -67
  250. package/open-sse/mcp-server/tools/advancedTools.js +0 -893
  251. package/open-sse/mcp-server/tools/agentSkillTools.js +0 -69
  252. package/open-sse/mcp-server/tools/compressionTools.js +0 -309
  253. package/open-sse/mcp-server/tools/gamificationTools.js +0 -134
  254. package/open-sse/mcp-server/tools/githubSkillTools.js +0 -102
  255. package/open-sse/mcp-server/tools/memoryTools.js +0 -118
  256. package/open-sse/mcp-server/tools/notionTools.js +0 -101
  257. package/open-sse/mcp-server/tools/obsidianTools.js +0 -307
  258. package/open-sse/mcp-server/tools/pickFastestModel.js +0 -223
  259. package/open-sse/mcp-server/tools/pluginTools.js +0 -181
  260. package/open-sse/mcp-server/tools/poolTools.js +0 -139
  261. package/open-sse/mcp-server/tools/skillTools.js +0 -113
  262. package/open-sse/package.json +0 -10
  263. package/open-sse/providers/REGISTRY_TEMPLATE.js +0 -98
  264. package/open-sse/providers/capabilities.js +0 -293
  265. package/open-sse/providers/index.js +0 -51
  266. package/open-sse/providers/models/helpers.js +0 -20
  267. package/open-sse/providers/models/namePatterns.js +0 -33
  268. package/open-sse/providers/models/schema.js +0 -40
  269. package/open-sse/providers/pricing.js +0 -308
  270. package/open-sse/providers/registry/alicode-intl.js +0 -30
  271. package/open-sse/providers/registry/alicode.js +0 -31
  272. package/open-sse/providers/registry/anthropic.js +0 -37
  273. package/open-sse/providers/registry/antigravity.js +0 -81
  274. package/open-sse/providers/registry/assemblyai.js +0 -38
  275. package/open-sse/providers/registry/aws-polly.js +0 -45
  276. package/open-sse/providers/registry/azure.js +0 -21
  277. package/open-sse/providers/registry/black-forest-labs.js +0 -32
  278. package/open-sse/providers/registry/blackbox.js +0 -41
  279. package/open-sse/providers/registry/brave-search.js +0 -35
  280. package/open-sse/providers/registry/byteplus.js +0 -35
  281. package/open-sse/providers/registry/cartesia.js +0 -36
  282. package/open-sse/providers/registry/cerebras.js +0 -31
  283. package/open-sse/providers/registry/chutes.js +0 -24
  284. package/open-sse/providers/registry/claude.js +0 -87
  285. package/open-sse/providers/registry/cline.js +0 -51
  286. package/open-sse/providers/registry/clinepass.js +0 -57
  287. package/open-sse/providers/registry/cloudflare-ai.js +0 -55
  288. package/open-sse/providers/registry/codebuddy-cn.js +0 -77
  289. package/open-sse/providers/registry/codex.js +0 -100
  290. package/open-sse/providers/registry/cohere.js +0 -27
  291. package/open-sse/providers/registry/comfyui.js +0 -20
  292. package/open-sse/providers/registry/commandcode.js +0 -43
  293. package/open-sse/providers/registry/coqui.js +0 -30
  294. package/open-sse/providers/registry/cursor.js +0 -58
  295. package/open-sse/providers/registry/deepgram.js +0 -33
  296. package/open-sse/providers/registry/deepseek.js +0 -51
  297. package/open-sse/providers/registry/digitalocean.js +0 -92
  298. package/open-sse/providers/registry/edge-tts.js +0 -24
  299. package/open-sse/providers/registry/elevenlabs.js +0 -35
  300. package/open-sse/providers/registry/exa.js +0 -50
  301. package/open-sse/providers/registry/fal-ai.js +0 -34
  302. package/open-sse/providers/registry/featherless.js +0 -34
  303. package/open-sse/providers/registry/firecrawl.js +0 -34
  304. package/open-sse/providers/registry/fireworks.js +0 -29
  305. package/open-sse/providers/registry/gemini-cli.js +0 -58
  306. package/open-sse/providers/registry/gemini.js +0 -83
  307. package/open-sse/providers/registry/github.js +0 -88
  308. package/open-sse/providers/registry/gitlab.js +0 -32
  309. package/open-sse/providers/registry/glm-cn.js +0 -35
  310. package/open-sse/providers/registry/glm.js +0 -58
  311. package/open-sse/providers/registry/google-pse.js +0 -35
  312. package/open-sse/providers/registry/google-tts.js +0 -24
  313. package/open-sse/providers/registry/grok-cli.js +0 -86
  314. package/open-sse/providers/registry/grok-web.js +0 -39
  315. package/open-sse/providers/registry/groq.js +0 -37
  316. package/open-sse/providers/registry/huggingface.js +0 -34
  317. package/open-sse/providers/registry/hyperbolic.js +0 -35
  318. package/open-sse/providers/registry/ibm-bob.js +0 -27
  319. package/open-sse/providers/registry/iflow.js +0 -52
  320. package/open-sse/providers/registry/index.js +0 -210
  321. package/open-sse/providers/registry/inworld.js +0 -36
  322. package/open-sse/providers/registry/jina-ai.js +0 -42
  323. package/open-sse/providers/registry/jina-reader.js +0 -34
  324. package/open-sse/providers/registry/kilocode.js +0 -51
  325. package/open-sse/providers/registry/kimchi.js +0 -49
  326. package/open-sse/providers/registry/kimi-coding.js +0 -65
  327. package/open-sse/providers/registry/kimi.js +0 -56
  328. package/open-sse/providers/registry/kiro.js +0 -115
  329. package/open-sse/providers/registry/linkup.js +0 -34
  330. package/open-sse/providers/registry/local-device.js +0 -24
  331. package/open-sse/providers/registry/mimo-free.js +0 -24
  332. package/open-sse/providers/registry/minimax-cn.js +0 -76
  333. package/open-sse/providers/registry/minimax.js +0 -83
  334. package/open-sse/providers/registry/mistral.js +0 -34
  335. package/open-sse/providers/registry/mmf.js +0 -19
  336. package/open-sse/providers/registry/nanobanana.js +0 -35
  337. package/open-sse/providers/registry/nebius.js +0 -27
  338. package/open-sse/providers/registry/nvidia.js +0 -43
  339. package/open-sse/providers/registry/ollama-local.js +0 -19
  340. package/open-sse/providers/registry/ollama.js +0 -36
  341. package/open-sse/providers/registry/openai.js +0 -84
  342. package/open-sse/providers/registry/opencode-go.js +0 -41
  343. package/open-sse/providers/registry/opencode.js +0 -25
  344. package/open-sse/providers/registry/openrouter.js +0 -60
  345. package/open-sse/providers/registry/perplexity-agent.js +0 -49
  346. package/open-sse/providers/registry/perplexity-web.js +0 -33
  347. package/open-sse/providers/registry/perplexity.js +0 -37
  348. package/open-sse/providers/registry/playht.js +0 -36
  349. package/open-sse/providers/registry/qoder.js +0 -54
  350. package/open-sse/providers/registry/qwen.js +0 -33
  351. package/open-sse/providers/registry/recraft.js +0 -24
  352. package/open-sse/providers/registry/runwayml.js +0 -30
  353. package/open-sse/providers/registry/sdwebui.js +0 -20
  354. package/open-sse/providers/registry/searchapi.js +0 -35
  355. package/open-sse/providers/registry/searxng.js +0 -35
  356. package/open-sse/providers/registry/serper.js +0 -35
  357. package/open-sse/providers/registry/siliconflow.js +0 -39
  358. package/open-sse/providers/registry/stability-ai.js +0 -31
  359. package/open-sse/providers/registry/tavily.js +0 -50
  360. package/open-sse/providers/registry/together.js +0 -31
  361. package/open-sse/providers/registry/topaz.js +0 -19
  362. package/open-sse/providers/registry/tortoise.js +0 -30
  363. package/open-sse/providers/registry/venice.js +0 -56
  364. package/open-sse/providers/registry/vercel-ai-gateway.js +0 -41
  365. package/open-sse/providers/registry/vertex-partner.js +0 -29
  366. package/open-sse/providers/registry/vertex.js +0 -32
  367. package/open-sse/providers/registry/volcengine-ark.js +0 -35
  368. package/open-sse/providers/registry/voyage-ai.js +0 -30
  369. package/open-sse/providers/registry/xai.js +0 -45
  370. package/open-sse/providers/registry/xiaomi-mimo.js +0 -46
  371. package/open-sse/providers/registry/xiaomi-tokenplan.js +0 -63
  372. package/open-sse/providers/registry/youcom.js +0 -35
  373. package/open-sse/providers/schema.js +0 -76
  374. package/open-sse/providers/shared.js +0 -74
  375. package/open-sse/providers/thinkingLevels.js +0 -48
  376. package/open-sse/rtk/applyFilter.js +0 -15
  377. package/open-sse/rtk/autodetect.js +0 -111
  378. package/open-sse/rtk/caveman.js +0 -100
  379. package/open-sse/rtk/cavemanPrompts.js +0 -78
  380. package/open-sse/rtk/constants.js +0 -55
  381. package/open-sse/rtk/filters/buildOutput.js +0 -127
  382. package/open-sse/rtk/filters/dedupLog.js +0 -44
  383. package/open-sse/rtk/filters/find.js +0 -50
  384. package/open-sse/rtk/filters/gitDiff.js +0 -92
  385. package/open-sse/rtk/filters/gitLog.js +0 -99
  386. package/open-sse/rtk/filters/gitStatus.js +0 -117
  387. package/open-sse/rtk/filters/grep.js +0 -48
  388. package/open-sse/rtk/filters/ls.js +0 -79
  389. package/open-sse/rtk/filters/readNumbered.js +0 -27
  390. package/open-sse/rtk/filters/searchList.js +0 -52
  391. package/open-sse/rtk/filters/smartTruncate.js +0 -15
  392. package/open-sse/rtk/filters/tree.js +0 -32
  393. package/open-sse/rtk/headroom.js +0 -215
  394. package/open-sse/rtk/index.js +0 -155
  395. package/open-sse/rtk/paleo.js +0 -47
  396. package/open-sse/rtk/ponytail.js +0 -9
  397. package/open-sse/rtk/ponytailPrompt.js +0 -52
  398. package/open-sse/rtk/ponytailPrompts.js +0 -76
  399. package/open-sse/rtk/pxpipe.js +0 -104
  400. package/open-sse/rtk/registry.js +0 -38
  401. package/open-sse/rtk/systemInject.js +0 -98
  402. package/open-sse/services/accountFallback.js +0 -323
  403. package/open-sse/services/antigravityHeaders.js +0 -91
  404. package/open-sse/services/antigravityVersion.js +0 -154
  405. package/open-sse/services/clinepassModels.js +0 -63
  406. package/open-sse/services/codexQuotaFetcher.js +0 -312
  407. package/open-sse/services/codexVerbosity.js +0 -30
  408. package/open-sse/services/combo/context.js +0 -12
  409. package/open-sse/services/combo/fingerprintExpansion.js +0 -51
  410. package/open-sse/services/combo/headroomRanking.js +0 -28
  411. package/open-sse/services/combo/quotaExhaustionCutoff.js +0 -87
  412. package/open-sse/services/combo/quotaScoring.js +0 -226
  413. package/open-sse/services/combo/quotaShareConcurrency.js +0 -25
  414. package/open-sse/services/combo/quotaShareInflight.js +0 -50
  415. package/open-sse/services/combo/quotaShareStrategy.js +0 -130
  416. package/open-sse/services/combo/resolveAutoStrategy.js +0 -231
  417. package/open-sse/services/combo/responseValidation.js +0 -140
  418. package/open-sse/services/combo/runtimeUnits.js +0 -195
  419. package/open-sse/services/combo/sessionStickiness.js +0 -128
  420. package/open-sse/services/combo/shadowRouting.js +0 -131
  421. package/open-sse/services/combo/targetExhaustion.js +0 -75
  422. package/open-sse/services/combo/targetSorters.js +0 -126
  423. package/open-sse/services/combo/targetTimeoutRunner.js +0 -65
  424. package/open-sse/services/combo/validateQuality.js +0 -271
  425. package/open-sse/services/combo.js +0 -571
  426. package/open-sse/services/comboAgentMiddleware.js +0 -91
  427. package/open-sse/services/comboConfig.js +0 -153
  428. package/open-sse/services/comboManifestMetrics.js +0 -10
  429. package/open-sse/services/comboMetrics.js +0 -278
  430. package/open-sse/services/compact.js +0 -71
  431. package/open-sse/services/copilotModels.js +0 -155
  432. package/open-sse/services/emergencyFallback.js +0 -109
  433. package/open-sse/services/errorClassifier.js +0 -190
  434. package/open-sse/services/evalRouting.js +0 -201
  435. package/open-sse/services/freeWebSearch.js +0 -4
  436. package/open-sse/services/fusion.js +0 -223
  437. package/open-sse/services/intentClassifier.js +0 -631
  438. package/open-sse/services/kimchiModels.js +0 -176
  439. package/open-sse/services/kiroModels.js +0 -332
  440. package/open-sse/services/model.js +0 -136
  441. package/open-sse/services/modelCapabilities.js +0 -5
  442. package/open-sse/services/modelDeprecation.js +0 -101
  443. package/open-sse/services/modelFamilyFallback.js +0 -166
  444. package/open-sse/services/oauthCredentialManager.js +0 -156
  445. package/open-sse/services/pipeline.js +0 -107
  446. package/open-sse/services/projectId.js +0 -306
  447. package/open-sse/services/provider.js +0 -169
  448. package/open-sse/services/providerCooldownTracker.js +0 -94
  449. package/open-sse/services/providerDefaultRateLimit.js +0 -11
  450. package/open-sse/services/proxyAutoSelector.js +0 -24
  451. package/open-sse/services/qoderModels.js +0 -214
  452. package/open-sse/services/quotaFetchThrottle.js +0 -103
  453. package/open-sse/services/quotaMonitor.js +0 -310
  454. package/open-sse/services/quotaPreflight.js +0 -266
  455. package/open-sse/services/rateLimitManager/headers.js +0 -56
  456. package/open-sse/services/rateLimitManager.js +0 -616
  457. package/open-sse/services/rateLimitSemaphore.js +0 -112
  458. package/open-sse/services/responsesInputSanitizer.js +0 -99
  459. package/open-sse/services/slidingWindowLimiter.js +0 -44
  460. package/open-sse/services/streamRecovery.js +0 -355
  461. package/open-sse/services/taskAwareRouter.js +0 -227
  462. package/open-sse/services/taskAwareRouting.js +0 -332
  463. package/open-sse/services/thinkingBudget.js +0 -247
  464. package/open-sse/services/tokenRefresh/dedup.js +0 -31
  465. package/open-sse/services/tokenRefresh/providers.js +0 -624
  466. package/open-sse/services/tokenRefresh.js +0 -254
  467. package/open-sse/services/usage/claude.js +0 -147
  468. package/open-sse/services/usage/codebuddy-cn.js +0 -138
  469. package/open-sse/services/usage/codex.js +0 -267
  470. package/open-sse/services/usage/github.js +0 -100
  471. package/open-sse/services/usage/google.js +0 -241
  472. package/open-sse/services/usage/grok-cli.js +0 -274
  473. package/open-sse/services/usage/kiro.js +0 -188
  474. package/open-sse/services/usage/minimax.js +0 -234
  475. package/open-sse/services/usage/misc.js +0 -288
  476. package/open-sse/services/usage/shared.js +0 -70
  477. package/open-sse/services/usage.js +0 -62
  478. package/open-sse/services/usageDb.js +0 -2
  479. package/open-sse/services/webSearchRouting.js +0 -25
  480. package/open-sse/services/wildcardRouter.js +0 -59
  481. package/open-sse/shared/clineAuth.js +0 -37
  482. package/open-sse/shared/machineId.js +0 -19
  483. package/open-sse/shared/qoder/constants.js +0 -64
  484. package/open-sse/shared/qoder/cosy.js +0 -175
  485. package/open-sse/shared/qoder/encoding.js +0 -55
  486. package/open-sse/transformer/responsesTransformer.js +0 -439
  487. package/open-sse/transformer/streamToJsonConverter.js +0 -103
  488. package/open-sse/translator/concerns/chunk.js +0 -11
  489. package/open-sse/translator/concerns/finishReason.js +0 -63
  490. package/open-sse/translator/concerns/image.js +0 -124
  491. package/open-sse/translator/concerns/json.js +0 -5
  492. package/open-sse/translator/concerns/message.js +0 -7
  493. package/open-sse/translator/concerns/modality.js +0 -155
  494. package/open-sse/translator/concerns/paramSupport.js +0 -75
  495. package/open-sse/translator/concerns/prefetch.js +0 -96
  496. package/open-sse/translator/concerns/reasoning.js +0 -24
  497. package/open-sse/translator/concerns/thinking.js +0 -53
  498. package/open-sse/translator/concerns/thinkingUnified.js +0 -329
  499. package/open-sse/translator/concerns/toolCall.js +0 -153
  500. package/open-sse/translator/concerns/usage.js +0 -69
  501. package/open-sse/translator/formats/claude.js +0 -368
  502. package/open-sse/translator/formats/gemini.js +0 -380
  503. package/open-sse/translator/formats/maxTokens.js +0 -34
  504. package/open-sse/translator/formats/openai.js +0 -134
  505. package/open-sse/translator/formats/responsesApi.js +0 -141
  506. package/open-sse/translator/formats.js +0 -36
  507. package/open-sse/translator/helpers/claudeHelper.js +0 -216
  508. package/open-sse/translator/helpers/geminiHelper.js +0 -372
  509. package/open-sse/translator/helpers/imageHelper.js +0 -34
  510. package/open-sse/translator/helpers/maxTokensHelper.js +0 -27
  511. package/open-sse/translator/helpers/openaiHelper.js +0 -130
  512. package/open-sse/translator/helpers/responsesApiHelper.js +0 -139
  513. package/open-sse/translator/helpers/toolCallHelper.js +0 -148
  514. package/open-sse/translator/index.js +0 -252
  515. package/open-sse/translator/request/antigravity-to-openai.js +0 -242
  516. package/open-sse/translator/request/claude-to-kiro.js +0 -478
  517. package/open-sse/translator/request/claude-to-openai.js +0 -263
  518. package/open-sse/translator/request/gemini-to-openai.js +0 -152
  519. package/open-sse/translator/request/openai-responses.js +0 -385
  520. package/open-sse/translator/request/openai-to-claude.js +0 -383
  521. package/open-sse/translator/request/openai-to-commandcode.js +0 -176
  522. package/open-sse/translator/request/openai-to-cursor.js +0 -185
  523. package/open-sse/translator/request/openai-to-gemini.js +0 -442
  524. package/open-sse/translator/request/openai-to-kiro.js +0 -607
  525. package/open-sse/translator/request/openai-to-kiro.old.js +0 -278
  526. package/open-sse/translator/request/openai-to-ollama.js +0 -195
  527. package/open-sse/translator/request/openai-to-vertex.js +0 -42
  528. package/open-sse/translator/response/claude-to-openai.js +0 -195
  529. package/open-sse/translator/response/commandcode-to-openai.js +0 -188
  530. package/open-sse/translator/response/cursor-to-openai.js +0 -30
  531. package/open-sse/translator/response/gemini-to-openai.js +0 -147
  532. package/open-sse/translator/response/kiro-to-claude.js +0 -261
  533. package/open-sse/translator/response/kiro-to-openai.js +0 -160
  534. package/open-sse/translator/response/ollama-to-openai.js +0 -134
  535. package/open-sse/translator/response/openai-responses.js +0 -535
  536. package/open-sse/translator/response/openai-to-antigravity.js +0 -123
  537. package/open-sse/translator/response/openai-to-claude.js +0 -265
  538. package/open-sse/translator/schema/blocks.js +0 -43
  539. package/open-sse/translator/schema/defaults.js +0 -7
  540. package/open-sse/translator/schema/finishReasons.js +0 -27
  541. package/open-sse/translator/schema/index.js +0 -8
  542. package/open-sse/translator/schema/roles.js +0 -16
  543. package/open-sse/utils/agentGoalPolicy.js +0 -85
  544. package/open-sse/utils/aiSdkCompat.js +0 -75
  545. package/open-sse/utils/bypassHandler.js +0 -298
  546. package/open-sse/utils/cacheControlPolicy.js +0 -189
  547. package/open-sse/utils/claudeCloaking.js +0 -155
  548. package/open-sse/utils/claudeHeaderCache.js +0 -70
  549. package/open-sse/utils/claudeSignature.js +0 -41
  550. package/open-sse/utils/clientDetector.js +0 -63
  551. package/open-sse/utils/codebuddySanitizer.js +0 -96
  552. package/open-sse/utils/composerToolCalls.js +0 -158
  553. package/open-sse/utils/cors.js +0 -13
  554. package/open-sse/utils/cursorChecksum.js +0 -149
  555. package/open-sse/utils/cursorImages.js +0 -224
  556. package/open-sse/utils/cursorProtobuf.js +0 -904
  557. package/open-sse/utils/cursorVersionDetector.js +0 -55
  558. package/open-sse/utils/debugLog.js +0 -14
  559. package/open-sse/utils/diagnostics.js +0 -143
  560. package/open-sse/utils/error.js +0 -164
  561. package/open-sse/utils/estimateSize.js +0 -33
  562. package/open-sse/utils/finishReason.js +0 -32
  563. package/open-sse/utils/flattenToolHistory.js +0 -68
  564. package/open-sse/utils/headers.js +0 -36
  565. package/open-sse/utils/heapPressure.js +0 -35
  566. package/open-sse/utils/jsonToSse.js +0 -125
  567. package/open-sse/utils/keepaliveThreshold.js +0 -40
  568. package/open-sse/utils/logger.js +0 -104
  569. package/open-sse/utils/noThinkingAlias.js +0 -74
  570. package/open-sse/utils/number.js +0 -7
  571. package/open-sse/utils/ollamaTransform.js +0 -85
  572. package/open-sse/utils/opencodeHeaders.js +0 -47
  573. package/open-sse/utils/progressTracker.js +0 -81
  574. package/open-sse/utils/providerRequestLogging.js +0 -219
  575. package/open-sse/utils/proxyFetch.js +0 -369
  576. package/open-sse/utils/reasoningContentInjector.js +0 -79
  577. package/open-sse/utils/reasoningFields.js +0 -70
  578. package/open-sse/utils/requestLogger.js +0 -260
  579. package/open-sse/utils/responsesInputNormalization.js +0 -92
  580. package/open-sse/utils/responsesStatePolicy.js +0 -52
  581. package/open-sse/utils/responsesStreamHelpers.js +0 -49
  582. package/open-sse/utils/sessionManager.js +0 -240
  583. package/open-sse/utils/sleep.js +0 -6
  584. package/open-sse/utils/sse.js +0 -14
  585. package/open-sse/utils/sseConstants.js +0 -23
  586. package/open-sse/utils/sseHeartbeat.js +0 -104
  587. package/open-sse/utils/stream.js +0 -517
  588. package/open-sse/utils/streamFailureFinalization.js +0 -134
  589. package/open-sse/utils/streamHandler.js +0 -250
  590. package/open-sse/utils/streamHelpers.js +0 -137
  591. package/open-sse/utils/textualToolCall.js +0 -104
  592. package/open-sse/utils/thinkCloseMarker.js +0 -72
  593. package/open-sse/utils/thinkTagParser.js +0 -146
  594. package/open-sse/utils/toolCallArguments.js +0 -12
  595. package/open-sse/utils/toolDeduper.js +0 -49
  596. package/open-sse/utils/toolSources.js +0 -31
  597. package/open-sse/utils/upstreamResponseHeaders.js +0 -25
  598. package/open-sse/utils/urlSanitize.js +0 -15
  599. package/open-sse/utils/usageTracking.js +0 -347
@@ -1,506 +0,0 @@
1
- /**
2
- * Audio Provider Registry
3
- *
4
- * Defines providers that support audio endpoints:
5
- * - /v1/audio/transcriptions (Whisper API)
6
- * - /v1/audio/translations (Whisper translate-to-English API)
7
- * - /v1/audio/speech (TTS API)
8
- */
9
-
10
- export const AUDIO_TRANSCRIPTION_PROVIDERS = {
11
- vertex: {
12
- id: "vertex",
13
- baseUrl: "https://us-central1-aiplatform.googleapis.com/v1",
14
- authType: "apikey",
15
- authHeader: "bearer",
16
- format: "vertex-gemini",
17
- models: [
18
- { id: "gemini-2.5-flash", name: "Gemini 2.5 Flash (Vertex Transcribe)" },
19
- { id: "gemini-2.5-pro", name: "Gemini 2.5 Pro (Vertex Transcribe)" },
20
- { id: "gemini-2.0-flash", name: "Gemini 2.0 Flash (Vertex Transcribe)" },
21
- ],
22
- },
23
-
24
- openai: {
25
- id: "openai",
26
- baseUrl: "https://api.openai.com/v1/audio/transcriptions",
27
- authType: "apikey",
28
- authHeader: "bearer",
29
- models: [
30
- { id: "whisper-1", name: "Whisper 1" },
31
- { id: "gpt-4o-transcription", name: "GPT-4o Transcription" },
32
- ],
33
- },
34
-
35
- cohere: {
36
- id: "cohere",
37
- baseUrl: "https://api.cohere.com/v2/audio/transcriptions",
38
- authType: "apikey",
39
- authHeader: "bearer",
40
- models: [{ id: "cohere-transcribe-03-2026", name: "Cohere Transcribe 2026-03" }],
41
- },
42
-
43
- groq: {
44
- id: "groq",
45
- baseUrl: "https://api.groq.com/openai/v1/audio/transcriptions",
46
- authType: "apikey",
47
- authHeader: "bearer",
48
- models: [
49
- { id: "whisper-large-v3", name: "Whisper Large v3" },
50
- { id: "whisper-large-v3-turbo", name: "Whisper Large v3 Turbo" },
51
- { id: "distil-whisper-large-v3-en", name: "Distil Whisper Large v3 EN" },
52
- ],
53
- },
54
-
55
- deepgram: {
56
- id: "deepgram",
57
- baseUrl: "https://api.deepgram.com/v1/listen",
58
- authType: "apikey",
59
- authHeader: "token",
60
- format: "deepgram",
61
- models: [
62
- { id: "nova-3", name: "Nova 3" },
63
- { id: "nova-2", name: "Nova 2" },
64
- { id: "whisper-large", name: "Whisper Large" },
65
- ],
66
- },
67
-
68
- pollinations: {
69
- id: "pollinations",
70
- baseUrl: "https://gen.pollinations.ai/v1/audio/transcriptions",
71
- authType: "apikey",
72
- authHeader: "bearer",
73
- format: "openai",
74
- models: [{ id: "whisper", name: "Pollinations Whisper (Free)" }],
75
- },
76
-
77
- together: {
78
- id: "together",
79
- baseUrl: "https://api.together.xyz/v1/audio/transcriptions",
80
- authType: "apikey",
81
- authHeader: "bearer",
82
- format: "openai",
83
- models: [
84
- { id: "openai/whisper-large-v3", name: "Whisper Large v3" },
85
- { id: "openai/whisper-large-v3-turbo", name: "Whisper Large v3 Turbo" },
86
- ],
87
- },
88
-
89
- assemblyai: {
90
- id: "assemblyai",
91
- baseUrl: "https://api.assemblyai.com/v2/transcript",
92
- authType: "apikey",
93
- authHeader: "bearer",
94
- async: true,
95
- format: "assemblyai",
96
- models: [
97
- { id: "universal-3-pro", name: "Universal 3 Pro" },
98
- { id: "universal-2", name: "Universal 2" },
99
- ],
100
- },
101
-
102
- nvidia: {
103
- id: "nvidia",
104
- baseUrl: "https://integrate.api.nvidia.com/v1/audio/transcriptions",
105
- authType: "apikey",
106
- authHeader: "bearer",
107
- format: "nvidia-asr",
108
- models: [
109
- { id: "nvidia/parakeet-ctc-1.1b-asr", name: "Parakeet CTC 1.1B" },
110
- { id: "openai/whisper-large-v3", name: "Whisper Large v3 (NVIDIA)" },
111
- ],
112
- },
113
-
114
- huggingface: {
115
- id: "huggingface",
116
- baseUrl: "https://api-inference.huggingface.co/models",
117
- authType: "apikey",
118
- authHeader: "bearer",
119
- format: "huggingface-asr",
120
- models: [
121
- { id: "openai/whisper-large-v3-turbo", name: "Whisper Large v3 Turbo (HF)" },
122
- { id: "openai/whisper-large-v3", name: "Whisper Large v3 (HF)" },
123
- ],
124
- },
125
-
126
- qwen: {
127
- id: "qwen",
128
- baseUrl: "http://localhost:8000/v1/audio/transcriptions",
129
- authType: "none",
130
- authHeader: "none",
131
- format: "openai",
132
- models: [{ id: "qwen3-asr", name: "Qwen3 ASR" }],
133
- },
134
-
135
- kie: {
136
- id: "kie",
137
- baseUrl: "https://api.kie.ai",
138
- authType: "apikey",
139
- authHeader: "bearer",
140
- format: "kie-audio",
141
- models: [
142
- { id: "elevenlabs/speech-to-text", name: "ElevenLabs STT" },
143
- { id: "elevenlabs/audio-isolation", name: "ElevenLabs Audio Isolation" },
144
- ],
145
- },
146
- };
147
-
148
- /**
149
- * Providers that expose an OpenAI-Whisper-compatible /audio/translations
150
- * endpoint (translate-to-English). This is a narrower surface than
151
- * transcription: only Whisper-family models support it, and there is no
152
- * `language` input — output is always English regardless of source audio.
153
- */
154
- export const AUDIO_TRANSLATION_PROVIDERS = {
155
- openai: {
156
- id: "openai",
157
- baseUrl: "https://api.openai.com/v1/audio/translations",
158
- authType: "apikey",
159
- authHeader: "bearer",
160
- models: [{ id: "whisper-1", name: "Whisper 1" }],
161
- },
162
-
163
- groq: {
164
- id: "groq",
165
- baseUrl: "https://api.groq.com/openai/v1/audio/translations",
166
- authType: "apikey",
167
- authHeader: "bearer",
168
- models: [{ id: "whisper-large-v3", name: "Whisper Large v3" }],
169
- },
170
- };
171
-
172
- export const AUDIO_SPEECH_PROVIDERS = {
173
- vertex: {
174
- id: "vertex",
175
- baseUrl: "https://us-central1-aiplatform.googleapis.com/v1",
176
- authType: "apikey",
177
- authHeader: "bearer",
178
- format: "vertex-gemini-tts",
179
- models: [
180
- { id: "gemini-3.1-flash-tts-preview", name: "Gemini 3.1 Flash TTS (Vertex)" },
181
- { id: "gemini-2.5-flash-preview-tts", name: "Gemini 2.5 Flash TTS (Vertex)" },
182
- { id: "gemini-2.5-pro-preview-tts", name: "Gemini 2.5 Pro TTS (Vertex)" },
183
- ],
184
- },
185
-
186
- openai: {
187
- id: "openai",
188
- baseUrl: "https://api.openai.com/v1/audio/speech",
189
- authType: "apikey",
190
- authHeader: "bearer",
191
- models: [
192
- { id: "tts-1-hd", name: "TTS 1 HD" },
193
- { id: "tts-1", name: "TTS 1" },
194
- { id: "gpt-4o-mini-tts", name: "GPT-4o Mini TTS" },
195
- ],
196
- },
197
-
198
- hyperbolic: {
199
- id: "hyperbolic",
200
- baseUrl: "https://api.hyperbolic.xyz/v1/audio/generation",
201
- authType: "apikey",
202
- authHeader: "bearer",
203
- format: "hyperbolic",
204
- models: [{ id: "melo-tts", name: "Melo TTS" }],
205
- },
206
-
207
- deepgram: {
208
- id: "deepgram",
209
- baseUrl: "https://api.deepgram.com/v1/speak",
210
- authType: "apikey",
211
- authHeader: "token",
212
- format: "deepgram",
213
- models: [
214
- { id: "aura-asteria-en", name: "Aura Asteria (EN)" },
215
- { id: "aura-luna-en", name: "Aura Luna (EN)" },
216
- { id: "aura-stella-en", name: "Aura Stella (EN)" },
217
- ],
218
- },
219
-
220
- nvidia: {
221
- id: "nvidia",
222
- baseUrl: "https://integrate.api.nvidia.com/v1/audio/speech",
223
- authType: "apikey",
224
- authHeader: "bearer",
225
- format: "nvidia-tts",
226
- models: [
227
- { id: "nvidia/fastpitch", name: "FastPitch" },
228
- { id: "nvidia/tacotron2", name: "Tacotron2" },
229
- ],
230
- },
231
-
232
- elevenlabs: {
233
- id: "elevenlabs",
234
- baseUrl: "https://api.elevenlabs.io/v1/text-to-speech",
235
- authType: "apikey",
236
- authHeader: "xi-api-key",
237
- format: "elevenlabs",
238
- models: [
239
- { id: "eleven_multilingual_v2", name: "Eleven Multilingual v2" },
240
- { id: "eleven_turbo_v2_5", name: "Eleven Turbo v2.5" },
241
- ],
242
- },
243
-
244
- huggingface: {
245
- id: "huggingface",
246
- baseUrl: "https://api-inference.huggingface.co/models",
247
- authType: "apikey",
248
- authHeader: "bearer",
249
- format: "huggingface-tts",
250
- models: [
251
- { id: "canopylabs/orpheus-3b-0.1-ft", name: "Orpheus 3B" },
252
- { id: "ResembleAI/chatterbox", name: "Chatterbox" },
253
- { id: "hexgrad/Kokoro-82M", name: "Kokoro TTS" },
254
- ],
255
- },
256
-
257
- coqui: {
258
- id: "coqui",
259
- baseUrl: "http://localhost:5002/api/tts",
260
- authType: "none",
261
- authHeader: "none",
262
- format: "coqui",
263
- models: [{ id: "tts_models/en/ljspeech/tacotron2-DDC", name: "Tacotron2 DDC (LJSpeech)" }],
264
- },
265
-
266
- tortoise: {
267
- id: "tortoise",
268
- baseUrl: "http://localhost:5000/api/tts",
269
- authType: "none",
270
- authHeader: "none",
271
- format: "tortoise",
272
- models: [{ id: "tortoise-v2", name: "Tortoise v2" }],
273
- },
274
-
275
- qwen: {
276
- id: "qwen",
277
- baseUrl: "http://localhost:8000/v1/audio/speech",
278
- authType: "none",
279
- authHeader: "none",
280
- format: "openai",
281
- models: [{ id: "qwen3-tts", name: "Qwen3 TTS" }],
282
- },
283
-
284
- // ── Cloud TTS Providers (#248) ────────────────────────────────────────────
285
-
286
- inworld: {
287
- id: "inworld",
288
- baseUrl: "https://api.inworld.ai/tts/v1/voice",
289
- authType: "apikey",
290
- authHeader: "basic",
291
- format: "inworld",
292
- supportedFormats: ["mp3", "wav", "opus", "pcm"],
293
- models: [
294
- { id: "inworld-tts-2", name: "Inworld TTS 2" },
295
- { id: "inworld-tts-1.5-mini", name: "Inworld TTS 1.5 Mini" },
296
- ],
297
- },
298
-
299
- cartesia: {
300
- id: "cartesia",
301
- baseUrl: "https://api.cartesia.ai/tts/bytes",
302
- authType: "apikey",
303
- authHeader: "x-api-key",
304
- format: "cartesia",
305
- models: [
306
- { id: "sonic-3", name: "Sonic 3" },
307
- { id: "sonic-2", name: "Sonic 2" },
308
- ],
309
- },
310
-
311
- playht: {
312
- id: "playht",
313
- baseUrl: "https://api.play.ht/api/v2/tts/stream",
314
- authType: "apikey",
315
- authHeader: "playht",
316
- format: "playht",
317
- models: [
318
- { id: "PlayDialog", name: "PlayDialog" },
319
- { id: "Play3.0-mini", name: "Play3.0 Mini" },
320
- ],
321
- },
322
-
323
- kie: {
324
- id: "kie",
325
- baseUrl: "https://api.kie.ai",
326
- authType: "apikey",
327
- authHeader: "bearer",
328
- format: "kie-audio",
329
- models: [
330
- { id: "elevenlabs/text-to-speech-multilingual-v2", name: "ElevenLabs TTS v2" },
331
- { id: "elevenlabs/text-to-speech-turbo-2-5", name: "ElevenLabs TTS Turbo 2.5" },
332
- { id: "elevenlabs/text-to-dialogue-v3", name: "ElevenLabs Text to Dialogue v3" },
333
- { id: "elevenlabs/sound-effect-v2", name: "ElevenLabs Sound Effect v2" },
334
- ],
335
- },
336
-
337
- "aws-polly": {
338
- id: "aws-polly",
339
- baseUrl: "https://polly.us-east-1.amazonaws.com",
340
- authType: "apikey",
341
- authHeader: "aws-sigv4",
342
- format: "aws-polly",
343
- models: [
344
- { id: "standard", name: "Polly Standard" },
345
- { id: "neural", name: "Polly Neural" },
346
- { id: "long-form", name: "Polly Long-Form" },
347
- { id: "generative", name: "Polly Generative" },
348
- ],
349
- },
350
- pollinations: {
351
- id: "pollinations",
352
- baseUrl: "https://gen.pollinations.ai/v1/audio/speech",
353
- authType: "apikey",
354
- authHeader: "bearer",
355
- format: "openai",
356
- models: [{ id: "default", name: "Pollinations TTS (Free)" }],
357
- },
358
-
359
- minimax: {
360
- id: "minimax",
361
- baseUrl: "https://api.minimax.io/v1/t2a_v2",
362
- authType: "apikey",
363
- authHeader: "bearer",
364
- format: "minimax-tts",
365
- models: [{ id: "speech-2.8-hd", name: "Speech 2.8 HD" }],
366
- },
367
-
368
- together: {
369
- id: "together",
370
- baseUrl: "https://api.together.xyz/v1/audio/speech",
371
- authType: "apikey",
372
- authHeader: "bearer",
373
- format: "openai",
374
- models: [
375
- { id: "cartesia/sonic-2", name: "Cartesia Sonic 2" },
376
- { id: "hexgrad/Kokoro-82M", name: "Kokoro 82M" },
377
- { id: "canopylabs/orpheus-3b-0.1-ft", name: "Orpheus 3B" },
378
- ],
379
- },
380
-
381
- "xiaomi-mimo": {
382
- id: "xiaomi-mimo",
383
- baseUrl: "https://api.xiaomimimo.com/v1/chat/completions",
384
- authType: "apikey",
385
- authHeader: "bearer",
386
- format: "xiaomi-mimo-tts",
387
- supportedFormats: ["mp3", "wav"],
388
- models: [
389
- { id: "mimo-v2.5-tts", name: "MiMo V2.5 TTS" },
390
- { id: "mimo-v2.5-tts-voicedesign", name: "MiMo V2.5 Voice Design" },
391
- { id: "mimo-v2.5-tts-voiceclone", name: "MiMo V2.5 Voice Clone" },
392
- ],
393
- },
394
- };
395
-
396
- /**
397
- * Get transcription provider config by ID
398
- */
399
- export function getTranscriptionProvider(providerId) {
400
- return AUDIO_TRANSCRIPTION_PROVIDERS[providerId] || null;
401
- }
402
-
403
- /**
404
- * Get translation provider config by ID
405
- */
406
- export function getTranslationProvider(providerId) {
407
- return AUDIO_TRANSLATION_PROVIDERS[providerId] || null;
408
- }
409
-
410
- /**
411
- * Get speech provider config by ID
412
- */
413
- export function getSpeechProvider(providerId) {
414
- return AUDIO_SPEECH_PROVIDERS[providerId] || null;
415
- }
416
-
417
- /**
418
- * Build a dynamic AudioProvider from a provider_node DB entry.
419
- * Only used for local providers (localhost/127.0.0.1) — remote nodes are
420
- * excluded by the caller to prevent auth bypass and SSRF.
421
- */
422
- export function buildDynamicAudioProvider(node, audioPath) {
423
- if (!node.prefix || !node.baseUrl) {
424
- throw new Error(`Invalid provider_node: missing prefix or baseUrl`);
425
- }
426
- const baseUrl = node.baseUrl.replace(/\/+$/, "");
427
- return {
428
- id: node.prefix,
429
- baseUrl: `${baseUrl}${audioPath}`,
430
- authType: "none",
431
- authHeader: "none",
432
- models: [],
433
- };
434
- }
435
-
436
- function parseAudioModel(modelStr, registry, dynamicProviders) {
437
- if (!modelStr) return { provider: null, model: null };
438
-
439
- // Phase 1: prefix match in hardcoded registry
440
- for (const [providerId] of Object.entries(registry)) {
441
- if (modelStr.startsWith(providerId + "/")) {
442
- return { provider: providerId, model: modelStr.slice(providerId.length + 1) };
443
- }
444
- }
445
-
446
- // Phase 2: bare model lookup in hardcoded registry
447
- for (const [providerId, config] of Object.entries(registry)) {
448
- if (config.models.some((m) => m.id === modelStr)) {
449
- return { provider: providerId, model: modelStr };
450
- }
451
- }
452
-
453
- // Phase 3: prefix match in dynamic providers (provider_nodes)
454
- if (dynamicProviders) {
455
- for (const dp of dynamicProviders) {
456
- if (modelStr.startsWith(dp.id + "/")) {
457
- return { provider: dp.id, model: modelStr.slice(dp.id.length + 1) };
458
- }
459
- }
460
- }
461
-
462
- return { provider: null, model: modelStr };
463
- }
464
-
465
- export function parseTranscriptionModel(modelStr, dynamicProviders) {
466
- return parseAudioModel(modelStr, AUDIO_TRANSCRIPTION_PROVIDERS, dynamicProviders);
467
- }
468
-
469
- export function parseSpeechModel(modelStr, dynamicProviders) {
470
- return parseAudioModel(modelStr, AUDIO_SPEECH_PROVIDERS, dynamicProviders);
471
- }
472
-
473
- export function parseTranslationModel(modelStr, dynamicProviders) {
474
- return parseAudioModel(modelStr, AUDIO_TRANSLATION_PROVIDERS, dynamicProviders);
475
- }
476
-
477
- /**
478
- * Get all audio models as a flat list
479
- */
480
- export function getAllAudioModels() {
481
- const models = [];
482
-
483
- for (const [providerId, config] of Object.entries(AUDIO_TRANSCRIPTION_PROVIDERS)) {
484
- for (const model of config.models) {
485
- models.push({
486
- id: model.id.startsWith(`${providerId}/`) ? model.id : `${providerId}/${model.id}`,
487
- name: model.name,
488
- provider: providerId,
489
- subtype: "transcription",
490
- });
491
- }
492
- }
493
-
494
- for (const [providerId, config] of Object.entries(AUDIO_SPEECH_PROVIDERS)) {
495
- for (const model of config.models) {
496
- models.push({
497
- id: model.id.startsWith(`${providerId}/`) ? model.id : `${providerId}/${model.id}`,
498
- name: model.name,
499
- provider: providerId,
500
- subtype: "speech",
501
- });
502
- }
503
- }
504
-
505
- return models;
506
- }