feat: add offline model manager
This commit is contained in:
1 parent
a88206db2b
commit
f324566b42
9 files changed
+1094
-21
No files matched your search
@@ -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::*;
|
||||
|
||||
Reference in new issue
Block a user