diff --git a/crates/common/src/configuration.rs b/crates/common/src/configuration.rs index 37492904d..8aa521fa5 100644 --- a/crates/common/src/configuration.rs +++ b/crates/common/src/configuration.rs @@ -400,6 +400,10 @@ pub enum LlmProviderType { Vercel, #[serde(rename = "openrouter")] OpenRouter, + #[serde(rename = "astraflow")] + Astraflow, + #[serde(rename = "astraflow_cn")] + AstraflowCN, } impl Display for LlmProviderType { @@ -425,6 +429,8 @@ impl Display for LlmProviderType { LlmProviderType::DigitalOcean => write!(f, "digitalocean"), LlmProviderType::Vercel => write!(f, "vercel"), LlmProviderType::OpenRouter => write!(f, "openrouter"), + LlmProviderType::Astraflow => write!(f, "astraflow"), + LlmProviderType::AstraflowCN => write!(f, "astraflow_cn"), } } } diff --git a/crates/hermesllm/src/providers/id.rs b/crates/hermesllm/src/providers/id.rs index 4fa7d19d1..91b744de1 100644 --- a/crates/hermesllm/src/providers/id.rs +++ b/crates/hermesllm/src/providers/id.rs @@ -48,6 +48,8 @@ pub enum ProviderId { DigitalOcean, Vercel, OpenRouter, + Astraflow, + AstraflowCN, } impl TryFrom<&str> for ProviderId { @@ -81,6 +83,8 @@ impl TryFrom<&str> for ProviderId { "do_ai" => Ok(ProviderId::DigitalOcean), // alias "vercel" => Ok(ProviderId::Vercel), "openrouter" => Ok(ProviderId::OpenRouter), + "astraflow" => Ok(ProviderId::Astraflow), + "astraflow_cn" => Ok(ProviderId::AstraflowCN), _ => Err(format!("Unknown provider: {}", value)), } } @@ -107,6 +111,7 @@ impl ProviderId { ProviderId::Qwen => "qwen", ProviderId::ChatGPT => "chatgpt", ProviderId::DigitalOcean => "digitalocean", + ProviderId::Astraflow | ProviderId::AstraflowCN => return Vec::new(), _ => return Vec::new(), }; @@ -174,7 +179,9 @@ impl ProviderId { | ProviderId::Qwen | ProviderId::DigitalOcean | ProviderId::OpenRouter - | ProviderId::ChatGPT, + | ProviderId::ChatGPT + | ProviderId::Astraflow + | ProviderId::AstraflowCN, SupportedAPIsFromClient::AnthropicMessagesAPI(_), ) => SupportedUpstreamAPIs::OpenAIChatCompletions(OpenAIApi::ChatCompletions), @@ -196,7 +203,9 @@ impl ProviderId { | ProviderId::Qwen | ProviderId::DigitalOcean | ProviderId::OpenRouter - | ProviderId::ChatGPT, + | ProviderId::ChatGPT + | ProviderId::Astraflow + | ProviderId::AstraflowCN, SupportedAPIsFromClient::OpenAIChatCompletions(_), ) => SupportedUpstreamAPIs::OpenAIChatCompletions(OpenAIApi::ChatCompletions), @@ -267,6 +276,8 @@ impl Display for ProviderId { ProviderId::DigitalOcean => write!(f, "digitalocean"), ProviderId::Vercel => write!(f, "vercel"), ProviderId::OpenRouter => write!(f, "openrouter"), + ProviderId::Astraflow => write!(f, "astraflow"), + ProviderId::AstraflowCN => write!(f, "astraflow_cn"), } } }