Description
Define the abstract LLM provider interface and message types that all backends will implement.
Parent: #2
Branch
feat/m1/llm-provider-trait
Files
crates/zeph-llm/src/provider.rs — trait + types
crates/zeph-llm/src/lib.rs — exports
Key Types
pub enum Role { System, User, Assistant }
pub struct Message {
pub role: Role,
pub content: String,
}
pub trait LlmProvider: Send + Sync {
async fn chat(&self, messages: &[Message]) -> Result<String>;
fn name(&self) -> &str;
}
Acceptance Criteria
Description
Define the abstract LLM provider interface and message types that all backends will implement.
Parent: #2
Branch
feat/m1/llm-provider-traitFiles
crates/zeph-llm/src/provider.rs— trait + typescrates/zeph-llm/src/lib.rs— exportsKey Types
Acceptance Criteria