agent_sdk/llm.rs
1pub mod router;
2pub mod types;
3
4pub use router::{ModelRouter, ModelTier, TaskComplexity};
5pub use types::*;
6
7use anyhow::Result;
8use async_trait::async_trait;
9
10#[async_trait]
11pub trait LlmProvider: Send + Sync {
12 async fn chat(&self, request: ChatRequest) -> Result<ChatOutcome>;
13 fn model(&self) -> &str;
14 fn provider(&self) -> &'static str;
15}