feat: add offline model manager

This commit is contained in:
Evandro committed 2026-06-11 00:51:52 -03:00
1 parent a88206db2b
commit f324566b42
9 files changed
+1094 -21

No files matched your search

+10 -1
View File
@@ -1,3 +1,4 @@
use std::path::PathBuf;
use std::sync::Mutex;
use serde::{Deserialize, Serialize};
@@ -11,6 +12,7 @@ pub struct ManagedAppState {
pub settings: Mutex<AppSettings>,
pub recording: Mutex<RecordingSession>,
pub transcript: Mutex<TranscriptDraft>,
pub model_dir: PathBuf,
}
#[derive(Debug, Default, Clone, Serialize, Deserialize, PartialEq, Eq)]
@@ -35,6 +37,7 @@ impl Default for ManagedAppState {
settings: Mutex::new(AppSettings::default()),
recording: Mutex::new(RecordingSession::default()),
transcript: Mutex::new(TranscriptDraft::default()),
model_dir: default_model_dir(),
}
}
}
@@ -62,11 +65,17 @@ impl ManagedAppState {
settings,
recording_status,
transcript,
models: model_statuses(),
models: model_statuses(&self.model_dir),
})
}
}
fn default_model_dir() -> PathBuf {
std::env::current_dir()
.unwrap_or_else(|_| std::env::temp_dir())
.join("models")
}
#[cfg(test)]
mod tests {
use super::*;