Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 44 additions & 43 deletions webview-ui/src/components/settings/ApiOptions.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import {
type ProviderName,
type ProviderSettings,
isRetiredProvider,
providerIdentifiers,
DEFAULT_CONSECUTIVE_MISTAKE_LIMIT,
} from "@roo-code/types"

Expand Down Expand Up @@ -207,7 +208,7 @@ const ApiOptions = ({
// stops typing.
useDebounce(
() => {
if (selectedProvider === "openai") {
if (selectedProvider === providerIdentifiers.openai) {
// Use our custom headers state to build the headers object.
const headerObject = convertHeadersToObject(customHeaders)

Expand All @@ -220,27 +221,27 @@ const ApiOptions = ({
openAiHeaders: headerObject,
},
})
} else if (selectedProvider === "ollama") {
} else if (selectedProvider === providerIdentifiers.ollama) {
vscode.postMessage({
type: "requestOllamaModels",
values: {
baseUrl: apiConfiguration?.ollamaBaseUrl,
apiKey: apiConfiguration?.ollamaApiKey,
},
})
} else if (selectedProvider === "lmstudio") {
} else if (selectedProvider === providerIdentifiers.lmstudio) {
requestLmStudioModels(apiConfiguration?.lmStudioBaseUrl)
} else if (selectedProvider === "vscode-lm") {
} else if (selectedProvider === providerIdentifiers.vscodeLm) {
vscode.postMessage({ type: "requestVsCodeLmModels" })
} else if (selectedProvider === "litellm") {
} else if (selectedProvider === providerIdentifiers.litellm) {
vscode.postMessage({
type: "requestRouterModels",
values: {
litellmApiKey: apiConfiguration?.litellmApiKey,
litellmBaseUrl: apiConfiguration?.litellmBaseUrl,
},
})
} else if (selectedProvider === "poe") {
} else if (selectedProvider === providerIdentifiers.poe) {
vscode.postMessage({ type: "requestRouterModels" })
}
},
Expand Down Expand Up @@ -270,7 +271,7 @@ const ApiOptions = ({
// Zoo Gateway renders its own auth-state error inline (sign-in card in
// ZooGateway.tsx) so it can react to zooCodeIsAuthenticated changes
// without re-running this effect or threading auth state through validation.
if (apiConfiguration.apiProvider === "zoo-gateway") {
if (apiConfiguration.apiProvider === providerIdentifiers.zooGateway) {
setErrorMessage(undefined)
return
}
Expand Down Expand Up @@ -322,7 +323,7 @@ const ApiOptions = ({
}

// Bedrock has a special “custom-arn” pseudo-model that isn't part of MODELS_BY_PROVIDER.
if (provider === "bedrock" && modelId === "custom-arn") {
if (provider === providerIdentifiers.bedrock && modelId === "custom-arn") {
return
}

Expand Down Expand Up @@ -441,7 +442,7 @@ const ApiOptions = ({
</div>
) : (
<>
{selectedProvider === "openrouter" && (
{selectedProvider === providerIdentifiers.openrouter && (
<OpenRouter
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
Expand All @@ -454,7 +455,7 @@ const ApiOptions = ({
/>
)}

{selectedProvider === "requesty" && (
{selectedProvider === providerIdentifiers.requesty && (
<Requesty
uriScheme={uriScheme}
apiConfiguration={apiConfiguration}
Expand All @@ -467,7 +468,7 @@ const ApiOptions = ({
/>
)}

{selectedProvider === "unbound" && (
{selectedProvider === providerIdentifiers.unbound && (
<Unbound
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
Expand All @@ -479,15 +480,15 @@ const ApiOptions = ({
/>
)}

{selectedProvider === "anthropic" && (
{selectedProvider === providerIdentifiers.anthropic && (
<Anthropic
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
simplifySettings={fromWelcomeView}
/>
)}

{selectedProvider === "openai-codex" && (
{selectedProvider === providerIdentifiers.openaiCodex && (
<OpenAICodex
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
Expand All @@ -496,7 +497,7 @@ const ApiOptions = ({
/>
)}

{selectedProvider === "openai-native" && (
{selectedProvider === providerIdentifiers.openaiNative && (
<OpenAI
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
Expand All @@ -505,23 +506,23 @@ const ApiOptions = ({
/>
)}

{selectedProvider === "mistral" && (
{selectedProvider === providerIdentifiers.mistral && (
<Mistral
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
simplifySettings={fromWelcomeView}
/>
)}

{selectedProvider === "baseten" && (
{selectedProvider === providerIdentifiers.baseten && (
<Baseten
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
simplifySettings={fromWelcomeView}
/>
)}

{selectedProvider === "bedrock" && (
{selectedProvider === providerIdentifiers.bedrock && (
<Bedrock
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
Expand All @@ -530,21 +531,21 @@ const ApiOptions = ({
/>
)}

{selectedProvider === "vertex" && (
{selectedProvider === providerIdentifiers.vertex && (
<Vertex
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
/>
)}

{selectedProvider === "gemini" && (
{selectedProvider === providerIdentifiers.gemini && (
<Gemini
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
/>
)}

{selectedProvider === "openai" && (
{selectedProvider === providerIdentifiers.openai && (
<OpenAICompatible
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
Expand All @@ -554,37 +555,37 @@ const ApiOptions = ({
/>
)}

{selectedProvider === "lmstudio" && (
{selectedProvider === providerIdentifiers.lmstudio && (
<LMStudio
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
/>
)}

{selectedProvider === "deepseek" && (
{selectedProvider === providerIdentifiers.deepseek && (
<DeepSeek
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
/>
)}

{selectedProvider === "qwen-code" && (
{selectedProvider === providerIdentifiers.qwenCode && (
<QwenCode
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
simplifySettings={fromWelcomeView}
/>
)}

{selectedProvider === "moonshot" && (
{selectedProvider === providerIdentifiers.moonshot && (
<Moonshot
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
simplifySettings={fromWelcomeView}
/>
)}

{selectedProvider === "kimi-code" && (
{selectedProvider === providerIdentifiers.kimiCode && (
<KimiCode
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
Expand All @@ -593,36 +594,36 @@ const ApiOptions = ({
/>
)}

{selectedProvider === "minimax" && (
{selectedProvider === providerIdentifiers.minimax && (
<MiniMax
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
/>
)}

{selectedProvider === "mimo" && (
{selectedProvider === providerIdentifiers.mimo && (
<Mimo apiConfiguration={apiConfiguration} setApiConfigurationField={setApiConfigurationField} />
)}

{selectedProvider === "vscode-lm" && (
{selectedProvider === providerIdentifiers.vscodeLm && (
<VSCodeLM
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
/>
)}

{selectedProvider === "ollama" && (
{selectedProvider === providerIdentifiers.ollama && (
<Ollama
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
/>
)}

{selectedProvider === "xai" && (
{selectedProvider === providerIdentifiers.xai && (
<XAI apiConfiguration={apiConfiguration} setApiConfigurationField={setApiConfigurationField} />
)}

{selectedProvider === "litellm" && (
{selectedProvider === providerIdentifiers.litellm && (
<LiteLLM
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
Expand All @@ -632,18 +633,18 @@ const ApiOptions = ({
/>
)}

{selectedProvider === "sambanova" && (
{selectedProvider === providerIdentifiers.sambanova && (
<SambaNova
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
/>
)}

{selectedProvider === "zai" && (
{selectedProvider === providerIdentifiers.zai && (
<ZAi apiConfiguration={apiConfiguration} setApiConfigurationField={setApiConfigurationField} />
)}

{selectedProvider === "vercel-ai-gateway" && (
{selectedProvider === providerIdentifiers.vercelAiGateway && (
<VercelAiGateway
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
Expand All @@ -654,7 +655,7 @@ const ApiOptions = ({
/>
)}

{selectedProvider === "opencode-go" && (
{selectedProvider === providerIdentifiers.opencodeGo && (
<OpenCodeGo
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
Expand All @@ -665,7 +666,7 @@ const ApiOptions = ({
/>
)}

{selectedProvider === "kenari" && (
{selectedProvider === providerIdentifiers.kenari && (
<Kenari
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
Expand All @@ -676,7 +677,7 @@ const ApiOptions = ({
/>
)}

{selectedProvider === "zoo-gateway" && (
{selectedProvider === providerIdentifiers.zooGateway && (
<ZooGateway
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
Expand All @@ -687,21 +688,21 @@ const ApiOptions = ({
/>
)}

{selectedProvider === "fireworks" && (
{selectedProvider === providerIdentifiers.fireworks && (
<Fireworks
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
/>
)}

{selectedProvider === "friendli" && (
{selectedProvider === providerIdentifiers.friendli && (
<Friendli
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
/>
)}

{selectedProvider === "poe" && (
{selectedProvider === providerIdentifiers.poe && (
<Poe
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
Expand Down Expand Up @@ -737,7 +738,7 @@ const ApiOptions = ({
}
/>

{selectedProvider === "bedrock" && selectedModelId === "custom-arn" && (
{selectedProvider === providerIdentifiers.bedrock && selectedModelId === "custom-arn" && (
<BedrockCustomArn
apiConfiguration={apiConfiguration}
setApiConfigurationField={setApiConfigurationField}
Expand Down Expand Up @@ -796,7 +797,7 @@ const ApiOptions = ({
}
onChange={(value) => setApiConfigurationField("consecutiveMistakeLimit", value)}
/>
{selectedProvider === "poe" && (
{selectedProvider === providerIdentifiers.poe && (
<VSCodeTextField
value={apiConfiguration?.poeBaseUrl || ""}
onInput={handleInputChange("poeBaseUrl")}
Expand All @@ -807,7 +808,7 @@ const ApiOptions = ({
</label>
</VSCodeTextField>
)}
{selectedProvider === "openrouter" &&
{selectedProvider === providerIdentifiers.openrouter &&
openRouterModelProviders &&
Object.keys(openRouterModelProviders).length > 0 && (
<div>
Expand Down
Loading
Loading