windmill_api/models/
ai_provider.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
16pub enum AiProvider {
17 #[serde(rename = "openai")]
18 Openai,
19 #[serde(rename = "azure_openai")]
20 AzureOpenai,
21 #[serde(rename = "azure_foundry")]
22 AzureFoundry,
23 #[serde(rename = "anthropic")]
24 Anthropic,
25 #[serde(rename = "mistral")]
26 Mistral,
27 #[serde(rename = "deepseek")]
28 Deepseek,
29 #[serde(rename = "googleai")]
30 Googleai,
31 #[serde(rename = "groq")]
32 Groq,
33 #[serde(rename = "openrouter")]
34 Openrouter,
35 #[serde(rename = "togetherai")]
36 Togetherai,
37 #[serde(rename = "aws_bedrock")]
38 AwsBedrock,
39 #[serde(rename = "customai")]
40 Customai,
41 #[serde(rename = "typesafe")]
42 Typesafe,
43 #[serde(rename = "cloudflare")]
44 Cloudflare,
45
46}
47
48impl std::fmt::Display for AiProvider {
49 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
50 match self {
51 Self::Openai => write!(f, "openai"),
52 Self::AzureOpenai => write!(f, "azure_openai"),
53 Self::AzureFoundry => write!(f, "azure_foundry"),
54 Self::Anthropic => write!(f, "anthropic"),
55 Self::Mistral => write!(f, "mistral"),
56 Self::Deepseek => write!(f, "deepseek"),
57 Self::Googleai => write!(f, "googleai"),
58 Self::Groq => write!(f, "groq"),
59 Self::Openrouter => write!(f, "openrouter"),
60 Self::Togetherai => write!(f, "togetherai"),
61 Self::AwsBedrock => write!(f, "aws_bedrock"),
62 Self::Customai => write!(f, "customai"),
63 Self::Typesafe => write!(f, "typesafe"),
64 Self::Cloudflare => write!(f, "cloudflare"),
65 }
66 }
67}
68
69impl Default for AiProvider {
70 fn default() -> AiProvider {
71 Self::Openai
72 }
73}
74