First cut

This commit is contained in:
khalid@traclabs.com
2026-04-18 15:22:12 -05:00
commit 270e088c15
21 changed files with 6663 additions and 0 deletions

52
src/models.js Normal file
View File

@@ -0,0 +1,52 @@
// models.js — shared model configuration
// Used by the frontend dropdown AND the backend router.
//
// provider values map to individual AI SDK packages:
// "anthropic" → @ai-sdk/anthropic (ANTHROPIC_API_KEY)
// "openai" → @ai-sdk/openai (OPENAI_API_KEY)
// "google" → @ai-sdk/google (GOOGLE_API_KEY)
// "ollama" → ollama-ai-provider-v2 (OLLAMA_API_KEY)
export const MODELS = [
{
id: 'claude-sonnet-4-6-20250929',
label: 'Claude Sonnet 4.6',
provider: 'anthropic',
creator: 'Anthropic',
vision: true,
},
{
id: 'gpt-5.2',
label: 'GPT-5.2',
provider: 'openai',
creator: 'OpenAI',
vision: true,
},
{
id: 'gemini-3-flash-preview',
label: 'Gemini 3 Flash',
provider: 'google',
creator: 'Google',
vision: true,
},
{
id: 'qwen3.5:397b-cloud',
label: 'Qwen 3.5 397B',
provider: 'ollama',
creator: 'Qwen / Ollama Cloud',
vision: true,
},
{
id: 'llama4:maverick-cloud',
label: 'Llama 4 Maverick',
provider: 'ollama',
creator: 'Meta / Ollama Cloud',
vision: true,
},
];
export const DEFAULT_MODEL_ID = 'claude-sonnet-4-6-20250929';
export function findModel(id) {
return MODELS.find(m => m.id === id);
}