ai_client 0.1.0

A Rust crate for interacting with AI language model APIs
Documentation
use async_trait::async_trait;
use super::super::entities::{Message, ChatCompletionResponse};
use super::super::metrics::Metrics;
use super::super::error::LlmClientError;
use super::ChatCompletionClient;

/// Placeholder for OpenAI client
pub struct OpenAIClient;

#[async_trait]
impl ChatCompletionClient for OpenAIClient {
    async fn send_chat_completion(
        &self,
        _messages: Vec<Message>,
        _reasoning_effort: &str,
    ) -> Result<ChatCompletionResponse, LlmClientError> {
        Err(LlmClientError::ApiError("OpenAI client not implemented".to_string()))
    }

    async fn get_metrics(&self) -> Metrics {
        Metrics::default()
    }

    async fn stream_chat_completion(
        &self,
        _messages: Vec<Message>,
        _reasoning_effort: &str,
    ) -> Result<(), LlmClientError> {
        Err(LlmClientError::ApiError("Streaming not supported".to_string()))
    }
}