Skip to content

Commit 037a62b

Browse files
authored
Fix: Enforce provider selection in OpenRouter by using 'only' parameter and disabling fallbacks (RooCodeInc#3338)
1 parent 2249efc commit 037a62b

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

src/api/providers/openrouter.ts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,11 @@ export class OpenRouterHandler extends BaseProvider implements SingleCompletionH
116116
// Only include provider if openRouterSpecificProvider is not "[default]".
117117
...(this.options.openRouterSpecificProvider &&
118118
this.options.openRouterSpecificProvider !== OPENROUTER_DEFAULT_PROVIDER_NAME && {
119-
provider: { order: [this.options.openRouterSpecificProvider] },
119+
provider: {
120+
order: [this.options.openRouterSpecificProvider],
121+
only: [this.options.openRouterSpecificProvider],
122+
allow_fallbacks: false,
123+
},
120124
}),
121125
// This way, the transforms field will only be included in the parameters when openRouterUseMiddleOutTransform is true.
122126
...((this.options.openRouterUseMiddleOutTransform ?? true) && { transforms: ["middle-out"] }),
@@ -202,6 +206,15 @@ export class OpenRouterHandler extends BaseProvider implements SingleCompletionH
202206
temperature,
203207
messages: [{ role: "user", content: prompt }],
204208
stream: false,
209+
// Only include provider if openRouterSpecificProvider is not "[default]".
210+
...(this.options.openRouterSpecificProvider &&
211+
this.options.openRouterSpecificProvider !== OPENROUTER_DEFAULT_PROVIDER_NAME && {
212+
provider: {
213+
order: [this.options.openRouterSpecificProvider],
214+
only: [this.options.openRouterSpecificProvider],
215+
allow_fallbacks: false,
216+
},
217+
}),
205218
}
206219

207220
const response = await this.client.chat.completions.create(completionParams)

0 commit comments

Comments
 (0)