import { Bot, Cloud, Cpu, Database, Globe, Layers, Server, Settings2, Shuffle, Sparkles, Wand2, Zap, } from "lucide-react"; import { cn } from "@/lib/utils"; /** * Returns a Lucide icon element for the given LLM / image-gen provider. * Accepts an optional `className` override for the icon size. */ export function getProviderIcon( provider: string, { isAutoMode, className = "size-4", }: { isAutoMode?: boolean; className?: string } = {} ) { if (isAutoMode || provider?.toUpperCase() === "AUTO") { return ; } switch (provider?.toUpperCase()) { case "OPENAI": return ; case "ANTHROPIC": return ; case "GOOGLE": return ; case "AZURE_OPENAI": return ; case "GROQ": return ; case "OLLAMA": return ; case "XAI": return ; case "MISTRAL": return ; case "DEEPSEEK": return ; case "COHERE": return ; case "BEDROCK": return ; case "VERTEX_AI": return ; case "OPENROUTER": return ; case "TOGETHER_AI": return ; case "FIREWORKS_AI": return ; case "PERPLEXITY": return ; case "CEREBRAS": return ; case "RECRAFT": return ; case "REPLICATE": return ; case "ALIBABA_QWEN": return ; case "MOONSHOT": return ; case "ZHIPU": return ; case "ANYSCALE": return ; case "DEEPINFRA": return ; case "SAMBANOVA": return ; case "AI21": return ; case "CLOUDFLARE": return ; case "DATABRICKS": return ; case "COMETAPI": return ; case "HUGGINGFACE": return ; case "CUSTOM": return ; case "XINFERENCE": return ; case "NSCALE": return ; default: return ; } }