Add Groq provider to screen assistant model selection and API routing

Agent-Logs-Url: https://github.com/AkhilKonduru1/Atoll/sessions/d40c666d-f589-48ca-9539-1fd33c799962

Co-authored-by: AkhilKonduru1 <210101196+AkhilKonduru1@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot] 2026-04-15 03:14:11 +00:00 • committed by GitHub
commit 01c4284270
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 93 additions and 9 deletions

View file

@ -611,6 +611,7 @@ enum AIModelProvider: String, CaseIterable, Identifiable, Defaults.Serializable
case openai = "OpenAI GPT"
case claude = "Claude"
case local = "Local Model"
case groq = "Groq"
var id: String { self.rawValue }
@ -624,6 +625,7 @@ enum AIModelProvider: String, CaseIterable, Identifiable, Defaults.Serializable
case .openai: return "OpenAI's GPT models with advanced reasoning"
case .claude: return "Anthropic's Claude with strong analytical skills"
case .local: return "Local AI model (Ollama or similar)"
case .groq: return "Groq's fast inference for OpenAI-compatible models"
}
}
@ -664,6 +666,13 @@ enum AIModelProvider: String, CaseIterable, Identifiable, Defaults.Serializable
AIModel(id: "llama3.2", name: "Llama 3.2", supportsThinking: false),
AIModel(id: "qwen2.5", name: "Qwen 2.5", supportsThinking: false)
]
case .groq:
return [
AIModel(id: "llama-3.3-70b-versatile", name: "Llama 3.3 70B Versatile", supportsThinking: false),
AIModel(id: "llama-3.1-8b-instant", name: "Llama 3.1 8B Instant", supportsThinking: false),
AIModel(id: "qwen-qwq-32b", name: "Qwen QWQ 32B", supportsThinking: true),
AIModel(id: "mixtral-8x7b-32768", name: "Mixtral 8x7B", supportsThinking: false)
]
}
}
}
@ -1052,6 +1061,7 @@ extension Defaults.Keys {
static let geminiApiKey = Key<String>("geminiApiKey", default: "")
static let openaiApiKey = Key<String>("openaiApiKey", default: "")
static let claudeApiKey = Key<String>("claudeApiKey", default: "")
static let groqApiKey = Key<String>("groqApiKey", default: "")
static let selectedAIProvider = Key<AIModelProvider>("selectedAIProvider", default: .gemini)
static let selectedAIModel = Key<AIModel?>("selectedAIModel", default: nil)
static let enableThinkingMode = Key<Bool>("enableThinkingMode", default: false)