oli_tui/app/models.rs
1use crate::models::ModelConfig;
2use anyhow::Result;
3use std::path::Path;
4use std::sync::mpsc;
5
6// Re-export from src/app/permissions.rs
7pub use super::permissions::ToolPermissionStatus;
8
9pub trait ModelManager {
10 fn current_model(&self) -> &ModelConfig;
11 fn select_next_model(&mut self);
12 fn select_prev_model(&mut self);
13 fn load_model(&mut self, model_path: &Path) -> Result<()>;
14 fn setup_models(&mut self, tx: mpsc::Sender<String>) -> Result<()>;
15 fn get_agent_model(&self) -> Option<String>;
16}