use crate::services::{PredictionService, PredictorService};
use super::anthropic::AnthropicClient;
use super::openai::OpenAIClient;
use super::typesafe::TypeSafeClient;
#[derive(Clone)]
pub struct BetaClient {
pub anthropic: AnthropicClient,
pub openai: OpenAIClient,
pub typesafe: TypeSafeClient,
}
impl BetaClient {
pub fn new(
predictors: PredictorService,
predictions: PredictionService,
) -> Self {
let anthropic = AnthropicClient::new(predictors.clone(), predictions.clone());
let openai = OpenAIClient::new(predictors.clone(), predictions.clone());
let typesafe = TypeSafeClient::new(predictors, predictions);
Self { anthropic, openai, typesafe }
}
}