use super::anthropic::AnthropicProvider;
use super::openai::OpenAIProvider;
use super::perplexity::PerplexityProvider;
use litty::literal;
use serde::{Deserialize, Serialize};
pub type DependencyV1 = DependencyProviderV1;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct DependencyProviderV1 {
pub r#type: DependencyProviderV1TypeProvider,
pub id: DependencyProviderV1Id,
}
#[literal("provider")]
pub struct DependencyProviderV1TypeProvider;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(untagged)]
pub enum DependencyProviderV1Id {
OpenAIProvider(OpenAIProvider),
AnthropicProvider(AnthropicProvider),
PerplexityProvider(PerplexityProvider),
}