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}