use crate::error::ProviderError;
use crate::provider::LlmProvider;
use crate::provider::types::{ChatMessage, ChatRequest, ChatResponse, ChatStreamChunk};
use async_trait::async_trait;
use futures_util::stream::BoxStream;
pub struct MockProvider;
#[async_trait]
impl LlmProvider for MockProvider {
async fn chat(&self, _request: ChatRequest) -> Result<ChatResponse, ProviderError> {
Ok(ChatResponse {
message: ChatMessage::assistant("Mock response"),
usage: None,
finish_reason: None,
})
}
fn stream_chat(
&self,
_request: ChatRequest,
) -> Result<BoxStream<'static, Result<ChatStreamChunk, ProviderError>>, ProviderError> {
Ok(Box::pin(futures_util::stream::empty()))
}
}