mirror of
https://github.com/Nezumi-2711/9router.git
synced 2026-09-22 13:38:31 +00:00
refactor(open-sse): registry consolidation + DRY media/oauth/adhoc cleanup
- Single-source registry: oauth clientId/tokenUrl, usage URLs, image/embed configs, search defaultModel, codex fixedPort, google token url derive. - Remove 29 unused OmniRoute providers (registry 100→71); media intact. - De-adhoc: codex literals → registry format/oauth flags; reasoningInject, image/embed openrouter headers + xai bodyFields config-driven. - Add REGISTRY_TEMPLATE.js + expand PROVIDER_DEFAULTS/schema JSDoc. - Baselines updated; PROVIDERS 62 + alias 90 byte-for-byte, golden snapshots. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,15 +1,12 @@
|
||||
// Some thinking-mode providers (DeepSeek, Kimi, MiniMax, ...) require reasoning_content
|
||||
// to be echoed back on assistant messages. Clients in OpenAI format don't send it,
|
||||
// so we inject a non-empty placeholder to satisfy upstream validation.
|
||||
import { PROVIDERS } from "../config/providers.js";
|
||||
|
||||
const PLACEHOLDER = " ";
|
||||
|
||||
// Provider-level rules: keyed by executor.provider
|
||||
const PROVIDER_RULES = {
|
||||
deepseek: { scope: "all" },
|
||||
minimax: { scope: "all" },
|
||||
"minimax-cn": { scope: "all" }
|
||||
};
|
||||
// Provider-level rules derive from registry transport.reasoningInject (single source)
|
||||
const providerRuleFor = (provider) => PROVIDERS[provider]?.reasoningInject;
|
||||
|
||||
// Model-level rules: matched by predicate against model id
|
||||
const MODEL_RULES = [
|
||||
@@ -71,7 +68,7 @@ function applyDeepSeekV4ProAlias({ provider, model, body }) {
|
||||
}
|
||||
|
||||
export function injectReasoningContent({ provider, model, body }) {
|
||||
const providerRule = PROVIDER_RULES[provider];
|
||||
const providerRule = providerRuleFor(provider);
|
||||
const modelRule = MODEL_RULES.find(r => r.match(model));
|
||||
const rule = providerRule || modelRule;
|
||||
const nextBody = applyDeepSeekV4ProAlias({ provider, model, body });
|
||||
|
||||
Reference in New Issue
Block a user