mod openai;
use crate::types::{LLMResponse, Message, ToolDefinition};
use async_trait::async_trait;
pub use openai::*;
#[async_trait]
pub trait LLMProvider: Send + Sync {
async fn call(
&mut self,
messages: &[Message],
tools: &[ToolDefinition],
) -> crate::Result<LLMResponse>;
}