Files
AgentCompany/AgentCompany-New/src/shared/provider-models.ts
T

238 lines
12 KiB
TypeScript

export interface ProviderModelEntry {
id: string;
name: string;
}
const ANTHROPIC_MODELS: ProviderModelEntry[] = [
{ id: "claude-opus-4-7", name: "Claude Opus 4.7" },
{ id: "claude-opus-4-6", name: "Claude Opus 4.6" },
{ id: "claude-opus-4-5", name: "Claude Opus 4.5 (latest)" },
{ id: "claude-opus-4-1", name: "Claude Opus 4.1 (latest)" },
{ id: "claude-opus-4-0", name: "Claude Opus 4 (latest)" },
{ id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6" },
{ id: "claude-sonnet-4-5", name: "Claude Sonnet 4.5 (latest)" },
{ id: "claude-sonnet-4-0", name: "Claude Sonnet 4 (latest)" },
{ id: "claude-haiku-4-5", name: "Claude Haiku 4.5 (latest)" },
{ id: "claude-3-7-sonnet-20250219", name: "Claude Sonnet 3.7" },
{ id: "claude-3-5-sonnet-20241022", name: "Claude Sonnet 3.5 v2" },
{ id: "claude-3-5-sonnet-20240620", name: "Claude Sonnet 3.5" },
{ id: "claude-3-5-haiku-latest", name: "Claude Haiku 3.5 (latest)" },
{ id: "claude-3-5-haiku-20241022", name: "Claude Haiku 3.5" },
{ id: "claude-3-haiku-20240307", name: "Claude Haiku 3" },
{ id: "claude-3-sonnet-20240229", name: "Claude Sonnet 3" },
{ id: "claude-3-opus-20240229", name: "Claude Opus 3" },
];
export const PROVIDER_MODELS: Record<string, ProviderModelEntry[]> = {
openai: [
{ id: "gpt-5.5", name: "GPT-5.5" },
{ id: "gpt-5.4-pro", name: "GPT-5.4 Pro" },
{ id: "gpt-5.4", name: "GPT-5.4" },
{ id: "gpt-5.4-mini", name: "GPT-5.4 mini" },
{ id: "gpt-5.4-nano", name: "GPT-5.4 nano" },
{ id: "gpt-5.3-codex", name: "GPT-5.3 Codex" },
{ id: "gpt-5.3-codex-spark", name: "GPT-5.3 Codex Spark" },
{ id: "gpt-5.3-chat-latest", name: "GPT-5.3 Chat" },
{ id: "gpt-5.2-pro", name: "GPT-5.2 Pro" },
{ id: "gpt-5.2", name: "GPT-5.2" },
{ id: "gpt-5.2-codex", name: "GPT-5.2 Codex" },
{ id: "gpt-5.2-chat-latest", name: "GPT-5.2 Chat" },
{ id: "gpt-5.1", name: "GPT-5.1" },
{ id: "gpt-5.1-codex", name: "GPT-5.1 Codex" },
{ id: "gpt-5.1-codex-max", name: "GPT-5.1 Codex Max" },
{ id: "gpt-5.1-codex-mini", name: "GPT-5.1 Codex mini" },
{ id: "gpt-5.1-chat-latest", name: "GPT-5.1 Chat" },
{ id: "gpt-5-pro", name: "GPT-5 Pro" },
{ id: "gpt-5", name: "GPT-5" },
{ id: "gpt-5-codex", name: "GPT-5 Codex" },
{ id: "gpt-5-mini", name: "GPT-5 mini" },
{ id: "gpt-5-nano", name: "GPT-5 nano" },
{ id: "gpt-5-chat-latest", name: "GPT-5 Chat" },
{ id: "o4-mini", name: "o4-mini" },
{ id: "o4-mini-deep-research", name: "o4-mini deep research" },
{ id: "o3", name: "o3" },
{ id: "o3-pro", name: "o3-pro" },
{ id: "o3-mini", name: "o3-mini" },
{ id: "o3-deep-research", name: "o3 deep research" },
{ id: "o1", name: "o1" },
{ id: "o1-pro", name: "o1-pro" },
{ id: "gpt-4.1", name: "GPT-4.1" },
{ id: "gpt-4.1-mini", name: "GPT-4.1 mini" },
{ id: "gpt-4.1-nano", name: "GPT-4.1 nano" },
{ id: "gpt-4o", name: "GPT-4o" },
{ id: "gpt-4o-mini", name: "GPT-4o mini" },
{ id: "gpt-4-turbo", name: "GPT-4 Turbo" },
{ id: "gpt-4", name: "GPT-4" },
],
anthropic: ANTHROPIC_MODELS,
"claude-pro": ANTHROPIC_MODELS,
xai: [
{ id: "grok-4", name: "Grok 4" },
{ id: "grok-4-fast", name: "Grok 4 Fast" },
{ id: "grok-4-fast-non-reasoning", name: "Grok 4 Fast (Non-Reasoning)" },
{ id: "grok-4-1-fast", name: "Grok 4.1 Fast" },
{ id: "grok-4-1-fast-non-reasoning", name: "Grok 4.1 Fast (Non-Reasoning)" },
{ id: "grok-4.20-0309-reasoning", name: "Grok 4.20 (Reasoning)" },
{ id: "grok-4.20-0309-non-reasoning", name: "Grok 4.20 (Non-Reasoning)" },
{ id: "grok-code-fast-1", name: "Grok Code Fast 1" },
{ id: "grok-3", name: "Grok 3" },
{ id: "grok-3-fast", name: "Grok 3 Fast" },
{ id: "grok-3-mini", name: "Grok 3 Mini" },
{ id: "grok-3-mini-fast", name: "Grok 3 Mini Fast" },
{ id: "grok-2", name: "Grok 2" },
{ id: "grok-2-vision", name: "Grok 2 Vision" },
{ id: "grok-beta", name: "Grok Beta" },
{ id: "grok-vision-beta", name: "Grok Vision Beta" },
],
groq: [
{ id: "groq/compound", name: "Compound" },
{ id: "groq/compound-mini", name: "Compound Mini" },
{ id: "moonshotai/kimi-k2-instruct-0905", name: "Kimi K2 Instruct 0905" },
{ id: "moonshotai/kimi-k2-instruct", name: "Kimi K2 Instruct" },
{ id: "openai/gpt-oss-120b", name: "GPT OSS 120B" },
{ id: "openai/gpt-oss-20b", name: "GPT OSS 20B" },
{ id: "openai/gpt-oss-safeguard-20b", name: "Safety GPT OSS 20B" },
{ id: "llama-3.3-70b-versatile", name: "Llama 3.3 70B Versatile" },
{ id: "llama-3.1-8b-instant", name: "Llama 3.1 8B Instant" },
{ id: "meta-llama/llama-4-maverick-17b-128e-instruct", name: "Llama 4 Maverick 17B" },
{ id: "meta-llama/llama-4-scout-17b-16e-instruct", name: "Llama 4 Scout 17B" },
{ id: "qwen-qwq-32b", name: "Qwen QwQ 32B" },
{ id: "qwen/qwen3-32b", name: "Qwen3 32B" },
{ id: "mistral-saba-24b", name: "Mistral Saba 24B" },
{ id: "deepseek-r1-distill-llama-70b", name: "DeepSeek R1 Distill Llama 70B" },
{ id: "gemma2-9b-it", name: "Gemma 2 9B" },
],
"github-copilot": [
{ id: "claude-opus-4.7", name: "Claude Opus 4.7" },
{ id: "claude-opus-4.6", name: "Claude Opus 4.6" },
{ id: "claude-opus-4.5", name: "Claude Opus 4.5" },
{ id: "claude-sonnet-4.6", name: "Claude Sonnet 4.6" },
{ id: "claude-sonnet-4.5", name: "Claude Sonnet 4.5" },
{ id: "claude-sonnet-4", name: "Claude Sonnet 4" },
{ id: "claude-haiku-4.5", name: "Claude Haiku 4.5" },
{ id: "gpt-5.5", name: "GPT-5.5" },
{ id: "gpt-5.4", name: "GPT-5.4" },
{ id: "gpt-5.4-mini", name: "GPT-5.4 mini" },
{ id: "gpt-5.3-codex", name: "GPT-5.3 Codex" },
{ id: "gpt-5.2", name: "GPT-5.2" },
{ id: "gpt-5.2-codex", name: "GPT-5.2 Codex" },
{ id: "gpt-5.1", name: "GPT-5.1" },
{ id: "gpt-5.1-codex", name: "GPT-5.1 Codex" },
{ id: "gpt-5.1-codex-max", name: "GPT-5.1 Codex Max" },
{ id: "gpt-5.1-codex-mini", name: "GPT-5.1 Codex Mini" },
{ id: "gpt-5", name: "GPT-5" },
{ id: "gpt-5-mini", name: "GPT-5 mini" },
{ id: "gpt-4.1", name: "GPT-4.1" },
{ id: "gpt-4o", name: "GPT-4o" },
{ id: "gemini-3.1-pro-preview", name: "Gemini 3.1 Pro Preview" },
{ id: "gemini-3-pro-preview", name: "Gemini 3 Pro Preview" },
{ id: "gemini-3-flash-preview", name: "Gemini 3 Flash" },
{ id: "gemini-2.5-pro", name: "Gemini 2.5 Pro" },
{ id: "grok-code-fast-1", name: "Grok Code Fast 1" },
],
"google-antigravity": [
{ id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6 (Antigravity)" },
{ id: "claude-sonnet-4-5", name: "Claude Sonnet 4.5 (Antigravity)" },
{ id: "claude-sonnet-4-5-thinking", name: "Claude Sonnet 4.5 Thinking" },
{ id: "claude-opus-4-6-thinking", name: "Claude Opus 4.6 Thinking" },
{ id: "claude-opus-4-5-thinking", name: "Claude Opus 4.5 Thinking" },
{ id: "gemini-3.1-pro-high", name: "Gemini 3.1 Pro High" },
{ id: "gemini-3.1-pro-low", name: "Gemini 3.1 Pro Low" },
{ id: "gemini-3-flash", name: "Gemini 3 Flash" },
{ id: "gpt-oss-120b-medium", name: "GPT-OSS 120B Medium" },
],
"gpt-account": [
{ id: "gpt-5.5", name: "GPT-5.5" },
{ id: "gpt-5.4", name: "GPT-5.4" },
{ id: "gpt-5.4-mini", name: "GPT-5.4 Mini" },
{ id: "gpt-5.3-codex", name: "GPT-5.3 Codex" },
{ id: "gpt-5.3-codex-spark", name: "GPT-5.3 Codex Spark" },
{ id: "gpt-5.2", name: "GPT-5.2" },
{ id: "gpt-5.2-codex", name: "GPT-5.2 Codex" },
{ id: "gpt-5.1", name: "GPT-5.1" },
{ id: "gpt-5.1-codex-max", name: "GPT-5.1 Codex Max" },
{ id: "gpt-5.1-codex-mini", name: "GPT-5.1 Codex Mini" },
],
"azure-openai": [
{ id: "gpt-5.5", name: "GPT-5.5" },
{ id: "gpt-5.4", name: "GPT-5.4" },
{ id: "gpt-5.4-mini", name: "GPT-5.4 mini" },
{ id: "gpt-5.3-codex", name: "GPT-5.3 Codex" },
{ id: "gpt-5.2", name: "GPT-5.2" },
{ id: "gpt-5.1", name: "GPT-5.1" },
{ id: "gpt-5", name: "GPT-5" },
{ id: "gpt-5-codex", name: "GPT-5 Codex" },
{ id: "gpt-4.1", name: "GPT-4.1" },
{ id: "gpt-4o", name: "GPT-4o" },
{ id: "o4-mini", name: "o4-mini" },
{ id: "o3", name: "o3" },
],
"aws-bedrock": [
{ id: "anthropic.claude-opus-4-7", name: "Claude Opus 4.7" },
{ id: "anthropic.claude-opus-4-6-v1", name: "Claude Opus 4.6" },
{ id: "anthropic.claude-opus-4-5-20251101-v1:0", name: "Claude Opus 4.5" },
{ id: "anthropic.claude-sonnet-4-6", name: "Claude Sonnet 4.6" },
{ id: "anthropic.claude-sonnet-4-5-20250929-v1:0", name: "Claude Sonnet 4.5" },
{ id: "anthropic.claude-haiku-4-5-20251001-v1:0", name: "Claude Haiku 4.5" },
{ id: "amazon.nova-2-lite-v1:0", name: "Nova 2 Lite" },
{ id: "amazon.nova-premier-v1:0", name: "Nova Premier" },
{ id: "amazon.nova-pro-v1:0", name: "Nova Pro" },
{ id: "deepseek.v3.2", name: "DeepSeek V3.2" },
{ id: "meta.llama3-3-70b-instruct-v1:0", name: "Llama 3.3 70B" },
{ id: "moonshotai.kimi-k2.5", name: "Kimi K2.5" },
],
"vertex-ai": [
{ id: "gemini-3.1-pro-preview", name: "Gemini 3.1 Pro Preview" },
{ id: "gemini-3-pro-preview", name: "Gemini 3 Pro Preview" },
{ id: "gemini-3-flash-preview", name: "Gemini 3 Flash Preview" },
{ id: "gemini-2.5-pro", name: "Gemini 2.5 Pro" },
{ id: "gemini-2.5-flash", name: "Gemini 2.5 Flash" },
{ id: "gemini-2.5-flash-lite", name: "Gemini 2.5 Flash Lite" },
{ id: "gemini-2.0-flash", name: "Gemini 2.0 Flash" },
{ id: "gemini-2.0-flash-lite", name: "Gemini 2.0 Flash Lite" },
{ id: "gemini-1.5-pro", name: "Gemini 1.5 Pro" },
{ id: "gemini-1.5-flash", name: "Gemini 1.5 Flash" },
],
mistral: [
{ id: "mistral-large-latest", name: "Mistral Large (latest)" },
{ id: "mistral-large-2512", name: "Mistral Large 3" },
{ id: "mistral-medium-latest", name: "Mistral Medium (latest)" },
{ id: "mistral-medium-2508", name: "Mistral Medium 3.1" },
{ id: "mistral-small-latest", name: "Mistral Small (latest)" },
{ id: "mistral-small-2603", name: "Mistral Small 4" },
{ id: "magistral-medium-latest", name: "Magistral Medium (latest)" },
{ id: "magistral-small", name: "Magistral Small" },
{ id: "codestral-latest", name: "Codestral (latest)" },
{ id: "devstral-medium-latest", name: "Devstral Medium (latest)" },
{ id: "devstral-small-2507", name: "Devstral Small" },
{ id: "ministral-8b-latest", name: "Ministral 8B (latest)" },
{ id: "ministral-3b-latest", name: "Ministral 3B (latest)" },
{ id: "pixtral-large-latest", name: "Pixtral Large (latest)" },
{ id: "open-mistral-nemo", name: "Mistral Nemo" },
],
cerebras: [
{ id: "qwen-3-235b-a22b-instruct-2507", name: "Qwen 3 235B Instruct" },
{ id: "gpt-oss-120b", name: "GPT OSS 120B" },
{ id: "zai-glm-4.7", name: "Z.AI GLM-4.7" },
{ id: "llama3.1-8b", name: "Llama 3.1 8B" },
],
openrouter: [
{ id: "anthropic/claude-sonnet-4.5", name: "Anthropic: Claude Sonnet 4.5" },
{ id: "anthropic/claude-opus-4.5", name: "Anthropic: Claude Opus 4.5" },
{ id: "anthropic/claude-haiku-4.5", name: "Anthropic: Claude Haiku 4.5" },
{ id: "openai/gpt-5.2", name: "OpenAI: GPT-5.2" },
{ id: "openai/gpt-5.1", name: "OpenAI: GPT-5.1" },
{ id: "google/gemini-3-pro-preview", name: "Google: Gemini 3 Pro Preview" },
{ id: "google/gemini-2.5-pro", name: "Google: Gemini 2.5 Pro" },
{ id: "google/gemini-2.5-flash", name: "Google: Gemini 2.5 Flash" },
{ id: "x-ai/grok-4", name: "xAI: Grok 4" },
{ id: "deepseek/deepseek-chat", name: "DeepSeek: DeepSeek Chat" },
{ id: "meta-llama/llama-4-maverick", name: "Meta: Llama 4 Maverick" },
{ id: "qwen/qwen3-235b-a22b", name: "Qwen: Qwen3 235B A22B" },
],
};
export function listProviderModels(providerKey: string): ProviderModelEntry[] {
return PROVIDER_MODELS[providerKey] ?? [];
}