Roo-Code/webview-ui/src/components/settings/constants.ts
2026-05-20 04:04:44 +00:00

71 lines
2.5 KiB
TypeScript

import {
type ProviderName,
type ModelInfo,
anthropicModels,
bedrockModels,
deepSeekModels,
moonshotModels,
geminiModels,
mistralModels,
openAiNativeModels,
openAiCodexModels,
qwenCodeModels,
vertexModels,
xaiModels,
sambaNovaModels,
internationalZAiModels,
fireworksModels,
minimaxModels,
basetenModels,
kymaModels,
} from "@roo-code/types"
export const MODELS_BY_PROVIDER: Partial<Record<ProviderName, Record<string, ModelInfo>>> = {
anthropic: anthropicModels,
bedrock: bedrockModels,
deepseek: deepSeekModels,
moonshot: moonshotModels,
gemini: geminiModels,
mistral: mistralModels,
"openai-native": openAiNativeModels,
"openai-codex": openAiCodexModels,
"qwen-code": qwenCodeModels,
vertex: vertexModels,
xai: xaiModels,
sambanova: sambaNovaModels,
kyma: kymaModels,
zai: internationalZAiModels,
fireworks: fireworksModels,
minimax: minimaxModels,
baseten: basetenModels,
}
export const PROVIDERS = [
{ value: "openrouter", label: "OpenRouter", proxy: false },
{ value: "anthropic", label: "Anthropic", proxy: false },
{ value: "gemini", label: "Google Gemini", proxy: false },
{ value: "deepseek", label: "DeepSeek", proxy: false },
{ value: "moonshot", label: "Moonshot", proxy: false },
{ value: "openai-native", label: "OpenAI", proxy: false },
{ value: "openai-codex", label: "OpenAI - ChatGPT Plus/Pro", proxy: false },
{ value: "openai", label: "OpenAI Compatible", proxy: true },
{ value: "qwen-code", label: "Qwen Code", proxy: false },
{ value: "vertex", label: "GCP Vertex AI", proxy: false },
{ value: "bedrock", label: "Amazon Bedrock", proxy: false },
{ value: "vscode-lm", label: "VS Code LM API", proxy: false },
{ value: "mistral", label: "Mistral", proxy: false },
{ value: "lmstudio", label: "LM Studio", proxy: true },
{ value: "ollama", label: "Ollama", proxy: true },
{ value: "requesty", label: "Requesty", proxy: false },
{ value: "xai", label: "xAI (Grok)", proxy: false },
{ value: "litellm", label: "LiteLLM", proxy: true },
{ value: "sambanova", label: "SambaNova", proxy: false },
{ value: "kyma", label: "Kyma API", proxy: false },
{ value: "zai", label: "Z.ai", proxy: false },
{ value: "fireworks", label: "Fireworks AI", proxy: false },
{ value: "vercel-ai-gateway", label: "Vercel AI Gateway", proxy: false },
{ value: "minimax", label: "MiniMax", proxy: false },
{ value: "baseten", label: "Baseten", proxy: false },
{ value: "unbound", label: "Unbound", proxy: false },
{ value: "poe", label: "Poe", proxy: false },
].sort((a, b) => a.label.localeCompare(b.label))