1 line
7.7 KiB
JSON
1 line
7.7 KiB
JSON
{"repo": "aprilnea/chatgpui", "files": {"src/icons/llm_provider.rs": {"a918a989aa3a039f9942de384453b4e861244092": {"t": 1785746223.841786, "n": 3562, "h": "a4168eb306879a01", "c": "use std::borrow::Cow;\n\nuse strum::{Display, EnumString};\n\nuse gpui::{AnyElement, IntoElement, SharedString};\nuse gpui_component::IconNamed;\n\nuse super::IntoIcon;\n\n/// LLM Provider enum\n#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, EnumString, Display)]\n#[strum(serialize_all = \"snake_case\", ascii_case_insensitive)]\npub enum LlmProvider {\n Anthropic,\n #[strum(serialize = \"openai\")]\n OpenAI,\n #[strum(serialize = \"azure_openai\")]\n AzureOpenAI,\n #[strum(serialize = \"deepseek\")]\n DeepSeek,\n #[strum(serialize = \"google_ai\", serialize = \"gemini\")]\n GoogleAI,\n Mistral,\n Ollama,\n #[strum(serialize = \"openrouter\")]\n OpenRouter,\n #[strum(serialize = \"xai\", serialize = \"grok\")]\n Xai,\n Perplexity,\n #[strum(serialize = \"kimi\", serialize = \"moonshot\")]\n Kimi,\n Groq,\n #[strum(serialize = \"together\", serialize = \"together_ai\")]\n TogetherAI,\n Cohere,\n #[strum(serialize = \"fireworks\", serialize = \"fireworks_ai\")]\n FireworksAI,\n}\n\nimpl LlmProvider {\n /// Get the display name for this provider\n #[allow(dead_code)]\n pub fn display_name(&self) -> &'static str {\n match self {\n Self::Anthropic => \"Anthropic\",\n Self::OpenAI => \"OpenAI\",\n Self::AzureOpenAI => \"Azure OpenAI\",\n Self::DeepSeek => \"DeepSeek\",\n Self::GoogleAI => \"Google AI\",\n Self::Mistral => \"Mistral\",\n Self::Ollama => \"Ollama\",\n Self::OpenRouter => \"OpenRouter\",\n Self::Xai => \"xAI\",\n Self::Perplexity => \"Perplexity\",\n Self::Kimi => \"Kimi\",\n Self::Groq => \"Groq\",\n Self::TogetherAI => \"Together AI\",\n Self::Cohere => \"Cohere\",\n Self::FireworksAI => \"Fireworks AI\",\n }\n }\n\n /// Get the default base URL for this provider\n #[allow(dead_code)]\n pub fn default_base_url(&self) -> &'static str {\n match self {\n Self::Anthropic => \"https://api.anthropic.com/v1\",\n Self::OpenAI => \"https://api.openai.com/v1\",\n Self::AzureOpenAI => \"\", // Requires custom endpoint\n Self::DeepSeek => \"https://api.deepseek.com/v1\",\n Self::GoogleAI => \"https://generativelanguage.googleapis.com/v1beta\",\n Self::Mistral => \"https://api.mistral.ai/v1\",\n Self::Ollama => \"http://localhost:11434/api\",\n Self::OpenRouter => \"https://openrouter.ai/api/v1\",\n Self::Xai => \"https://api.x.ai/v1\",\n Self::Perplexity => \"https://api.perplexity.ai\",\n Self::Kimi => \"https://api.moonshot.cn/v1\",\n Self::Groq => \"https://api.groq.com/openai/v1\",\n Self::TogetherAI => \"https://api.together.xyz/v1\",\n Self::Cohere => \"https://api.cohere.ai/v1\",\n Self::FireworksAI => \"https://api.fireworks.ai/inference/v1\",\n }\n }\n}\n\nimpl IconNamed for LlmProvider {\n fn path(self) -> SharedString {\n let name: Cow<str> = match self {\n Self::OpenAI | Self::AzureOpenAI => \"openai\".into(),\n Self::GoogleAI => \"google\".into(),\n Self::Mistral => \"mistral-ai\".into(),\n Self::TogetherAI => \"together\".into(),\n Self::FireworksAI => \"fireworks\".into(),\n _ => self.to_string().to_lowercase().into(),\n };\n format!(\"icons/llm_provider/{}.svg\", name).into()\n }\n}\n\nimpl IntoElement for LlmProvider {\n type Element = AnyElement;\n\n fn into_element(self) -> Self::Element {\n self.icon().into_any_element()\n }\n}\n"}, "3ede5e8d34401a394cebd7da2cbb5bdebab7de53": {"t": 1785760769.275272, "n": 3562, "h": "a4168eb306879a01", "c": "use std::borrow::Cow;\n\nuse strum::{Display, EnumString};\n\nuse gpui::{AnyElement, IntoElement, SharedString};\nuse gpui_component::IconNamed;\n\nuse super::IntoIcon;\n\n/// LLM Provider enum\n#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, EnumString, Display)]\n#[strum(serialize_all = \"snake_case\", ascii_case_insensitive)]\npub enum LlmProvider {\n Anthropic,\n #[strum(serialize = \"openai\")]\n OpenAI,\n #[strum(serialize = \"azure_openai\")]\n AzureOpenAI,\n #[strum(serialize = \"deepseek\")]\n DeepSeek,\n #[strum(serialize = \"google_ai\", serialize = \"gemini\")]\n GoogleAI,\n Mistral,\n Ollama,\n #[strum(serialize = \"openrouter\")]\n OpenRouter,\n #[strum(serialize = \"xai\", serialize = \"grok\")]\n Xai,\n Perplexity,\n #[strum(serialize = \"kimi\", serialize = \"moonshot\")]\n Kimi,\n Groq,\n #[strum(serialize = \"together\", serialize = \"together_ai\")]\n TogetherAI,\n Cohere,\n #[strum(serialize = \"fireworks\", serialize = \"fireworks_ai\")]\n FireworksAI,\n}\n\nimpl LlmProvider {\n /// Get the display name for this provider\n #[allow(dead_code)]\n pub fn display_name(&self) -> &'static str {\n match self {\n Self::Anthropic => \"Anthropic\",\n Self::OpenAI => \"OpenAI\",\n Self::AzureOpenAI => \"Azure OpenAI\",\n Self::DeepSeek => \"DeepSeek\",\n Self::GoogleAI => \"Google AI\",\n Self::Mistral => \"Mistral\",\n Self::Ollama => \"Ollama\",\n Self::OpenRouter => \"OpenRouter\",\n Self::Xai => \"xAI\",\n Self::Perplexity => \"Perplexity\",\n Self::Kimi => \"Kimi\",\n Self::Groq => \"Groq\",\n Self::TogetherAI => \"Together AI\",\n Self::Cohere => \"Cohere\",\n Self::FireworksAI => \"Fireworks AI\",\n }\n }\n\n /// Get the default base URL for this provider\n #[allow(dead_code)]\n pub fn default_base_url(&self) -> &'static str {\n match self {\n Self::Anthropic => \"https://api.anthropic.com/v1\",\n Self::OpenAI => \"https://api.openai.com/v1\",\n Self::AzureOpenAI => \"\", // Requires custom endpoint\n Self::DeepSeek => \"https://api.deepseek.com/v1\",\n Self::GoogleAI => \"https://generativelanguage.googleapis.com/v1beta\",\n Self::Mistral => \"https://api.mistral.ai/v1\",\n Self::Ollama => \"http://localhost:11434/api\",\n Self::OpenRouter => \"https://openrouter.ai/api/v1\",\n Self::Xai => \"https://api.x.ai/v1\",\n Self::Perplexity => \"https://api.perplexity.ai\",\n Self::Kimi => \"https://api.moonshot.cn/v1\",\n Self::Groq => \"https://api.groq.com/openai/v1\",\n Self::TogetherAI => \"https://api.together.xyz/v1\",\n Self::Cohere => \"https://api.cohere.ai/v1\",\n Self::FireworksAI => \"https://api.fireworks.ai/inference/v1\",\n }\n }\n}\n\nimpl IconNamed for LlmProvider {\n fn path(self) -> SharedString {\n let name: Cow<str> = match self {\n Self::OpenAI | Self::AzureOpenAI => \"openai\".into(),\n Self::GoogleAI => \"google\".into(),\n Self::Mistral => \"mistral-ai\".into(),\n Self::TogetherAI => \"together\".into(),\n Self::FireworksAI => \"fireworks\".into(),\n _ => self.to_string().to_lowercase().into(),\n };\n format!(\"icons/llm_provider/{}.svg\", name).into()\n }\n}\n\nimpl IntoElement for LlmProvider {\n type Element = AnyElement;\n\n fn into_element(self) -> Self::Element {\n self.icon().into_any_element()\n }\n}\n"}}}} |