| 30 | } |
| 31 | |
| 32 | QVector<AIConfiguration> ConfigurationManager::getPredefinedConfigurations( |
| 33 | ConfigurationType type) |
| 34 | { |
| 35 | QVector<AIConfiguration> presets; |
| 36 | |
| 37 | AIConfiguration claudeOpus; |
| 38 | claudeOpus.id = "preset_claude_opus"; |
| 39 | claudeOpus.name = "Claude Opus 4.7"; |
| 40 | claudeOpus.provider = "Claude"; |
| 41 | claudeOpus.model = "claude-opus-4-7"; |
| 42 | claudeOpus.url = "https://api.anthropic.com"; |
| 43 | claudeOpus.customEndpoint = ""; |
| 44 | claudeOpus.templateName = "Claude"; |
| 45 | claudeOpus.type = type; |
| 46 | claudeOpus.isPredefined = true; |
| 47 | |
| 48 | AIConfiguration claudeSonnet; |
| 49 | claudeSonnet.id = "preset_claude_sonnet"; |
| 50 | claudeSonnet.name = "Claude Sonnet 4.6"; |
| 51 | claudeSonnet.provider = "Claude"; |
| 52 | claudeSonnet.model = "claude-sonnet-4-6"; |
| 53 | claudeSonnet.url = "https://api.anthropic.com"; |
| 54 | claudeSonnet.customEndpoint = ""; |
| 55 | claudeSonnet.templateName = "Claude"; |
| 56 | claudeSonnet.type = type; |
| 57 | claudeSonnet.isPredefined = true; |
| 58 | |
| 59 | AIConfiguration claudeHaiku; |
| 60 | claudeHaiku.id = "preset_claude_haiku"; |
| 61 | claudeHaiku.name = "Claude Haiku 4.5"; |
| 62 | claudeHaiku.provider = "Claude"; |
| 63 | claudeHaiku.model = "claude-haiku-4-5-20251001"; |
| 64 | claudeHaiku.url = "https://api.anthropic.com"; |
| 65 | claudeHaiku.customEndpoint = ""; |
| 66 | claudeHaiku.templateName = "Claude"; |
| 67 | claudeHaiku.type = type; |
| 68 | claudeHaiku.isPredefined = true; |
| 69 | |
| 70 | AIConfiguration codestral; |
| 71 | codestral.id = "preset_codestral"; |
| 72 | codestral.name = "Codestral"; |
| 73 | codestral.provider = "Codestral"; |
| 74 | codestral.model = "codestral-latest"; |
| 75 | codestral.url = "https://codestral.mistral.ai"; |
| 76 | codestral.customEndpoint = ""; |
| 77 | codestral.templateName = type == ConfigurationType::CodeCompletion ? "Mistral AI FIM" : "Mistral AI Chat"; |
| 78 | codestral.type = type; |
| 79 | codestral.isPredefined = true; |
| 80 | |
| 81 | AIConfiguration mistral; |
| 82 | mistral.id = "preset_mistral"; |
| 83 | mistral.name = "Mistral"; |
| 84 | mistral.provider = "Mistral AI"; |
| 85 | mistral.model = type == ConfigurationType::CodeCompletion ? "codestral-latest" : "mistral-large-latest"; |
| 86 | mistral.url = "https://api.mistral.ai"; |
| 87 | mistral.customEndpoint = ""; |
| 88 | mistral.templateName = type == ConfigurationType::CodeCompletion ? "Mistral AI FIM" : "Mistral AI Chat"; |
| 89 | mistral.type = type; |