fix(image): preserve provider config overrides in OpenRouter fallback
Honor providerConfig.baseUrl, providerConfig.api, and headers in the OpenRouter fallback path instead of hardcoding defaults. This ensures custom OpenRouter gateways/proxies and auth headers are preserved when plugin-based capability lookup returns nothing.
This commit is contained in:
parent
2355b0603c
commit
e39a8515f2
@ -323,6 +323,13 @@ export function resolveModelWithRegistry(params: {
|
||||
? ["text", "image"]
|
||||
: ["text"];
|
||||
|
||||
const providerHeaders = sanitizeModelHeaders(providerConfig?.headers, {
|
||||
stripSecretRefMarkers: true,
|
||||
});
|
||||
const modelHeaders = sanitizeModelHeaders(configuredOpenRouterModel?.headers, {
|
||||
stripSecretRefMarkers: true,
|
||||
});
|
||||
|
||||
return normalizeResolvedModel({
|
||||
provider,
|
||||
cfg,
|
||||
@ -330,15 +337,18 @@ export function resolveModelWithRegistry(params: {
|
||||
model: {
|
||||
id: modelId,
|
||||
name: modelId,
|
||||
api: "openai-completions",
|
||||
api: configuredOpenRouterModel?.api ?? providerConfig?.api ?? "openai-completions",
|
||||
provider,
|
||||
baseUrl: "https://openrouter.ai/api/v1",
|
||||
baseUrl: providerConfig?.baseUrl ?? "https://openrouter.ai/api/v1",
|
||||
reasoning: configuredOpenRouterModel?.reasoning ?? false,
|
||||
input: resolvedInput,
|
||||
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
||||
contextWindow: configuredOpenRouterModel?.contextWindow ?? DEFAULT_CONTEXT_TOKENS,
|
||||
// Align with OPENROUTER_DEFAULT_MAX_TOKENS in models-config.providers.ts
|
||||
maxTokens: configuredOpenRouterModel?.maxTokens ?? 8192,
|
||||
...(providerHeaders || modelHeaders
|
||||
? { headers: { ...providerHeaders, ...modelHeaders } }
|
||||
: {}),
|
||||
} as Model<Api>,
|
||||
});
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user