use crate::stream::AssistantMessageEventStream;
use crate::types::*;
use std::collections::HashMap;
define_openai_delegation_provider! {
name: GroqProvider,
doc: "Groq provider (OpenAI-compatible).",
provider_type: Provider::Groq,
env_var: "GROQ_API_KEY",
model_aware_compat: |model_id: &str| {
let reasoning_effort_map = if model_id == "qwen/qwen3-32b" {
let mut map = HashMap::new();
for level in &["minimal", "low", "medium", "high", "xhigh"] {
map.insert(level.to_string(), "default".to_string());
}
map
} else {
HashMap::new()
};
OpenAICompletionsCompat {
reasoning_effort_map,
..Default::default()
}
},
}