agent: lumotia-rebrand — drop MagnotiaError prefix, now lumotia_core::Error
Phase 3 of the rebrand cascade per locked decision D4. MagnotiaError -> Error in crates/core/src/error.rs (the crate name already qualifies it). 92 usages across 14 .rs files renamed via word-boundary sed. One collision required disambiguation: lumotia_storage already had its own local Error type (introduced by the slop-pass Area A residuals work). crates/storage/src/error.rs aliases the imported core error as CoreError on import; the From<Error> for CoreError boundary impl and the CoreError::Storage construction site use the alias. cargo build --workspace passes. cargo test --workspace: 330 pass, 0 fail. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -2,7 +2,7 @@ use std::collections::HashSet;
|
||||
use std::path::{Path, PathBuf};
|
||||
use std::sync::{LazyLock, Mutex};
|
||||
|
||||
use lumotia_core::error::{MagnotiaError, Result};
|
||||
use lumotia_core::error::{Error, Result};
|
||||
use lumotia_core::model_registry::{find_model, ModelFile};
|
||||
use lumotia_core::types::{DownloadProgress, ModelId};
|
||||
|
||||
@@ -18,9 +18,9 @@ impl DownloadReservation {
|
||||
let id = id.as_str().to_string();
|
||||
let mut active = ACTIVE_DOWNLOADS
|
||||
.lock()
|
||||
.map_err(|_| MagnotiaError::DownloadFailed("download lock poisoned".into()))?;
|
||||
.map_err(|_| Error::DownloadFailed("download lock poisoned".into()))?;
|
||||
if !active.insert(id.clone()) {
|
||||
return Err(MagnotiaError::DownloadFailed(format!(
|
||||
return Err(Error::DownloadFailed(format!(
|
||||
"download already in progress for {id}"
|
||||
)));
|
||||
}
|
||||
@@ -80,7 +80,7 @@ pub async fn download(
|
||||
progress: impl Fn(DownloadProgress) + Send + 'static,
|
||||
) -> Result<()> {
|
||||
let _reservation = DownloadReservation::acquire(id)?;
|
||||
let entry = find_model(id).ok_or_else(|| MagnotiaError::ModelNotFound(id.clone()))?;
|
||||
let entry = find_model(id).ok_or_else(|| Error::ModelNotFound(id.clone()))?;
|
||||
|
||||
let dir = model_dir(id);
|
||||
std::fs::create_dir_all(&dir)?;
|
||||
@@ -98,7 +98,7 @@ pub async fn download(
|
||||
let _ = std::fs::remove_file(&dest);
|
||||
}
|
||||
Err(e) => {
|
||||
return Err(MagnotiaError::DownloadFailed(format!(
|
||||
return Err(Error::DownloadFailed(format!(
|
||||
"failed to verify existing {}: {e}",
|
||||
file.filename
|
||||
)));
|
||||
@@ -196,7 +196,7 @@ async fn download_file(
|
||||
let client = reqwest::Client::builder()
|
||||
.connect_timeout(std::time::Duration::from_secs(30))
|
||||
.build()
|
||||
.map_err(|e| MagnotiaError::DownloadFailed(e.to_string()))?;
|
||||
.map_err(|e| Error::DownloadFailed(e.to_string()))?;
|
||||
|
||||
// Check for existing partial download (resume support)
|
||||
let existing_bytes = if part_path.exists() {
|
||||
@@ -215,7 +215,7 @@ async fn download_file(
|
||||
let response = request
|
||||
.send()
|
||||
.await
|
||||
.map_err(|e| MagnotiaError::DownloadFailed(e.to_string()))?;
|
||||
.map_err(|e| Error::DownloadFailed(e.to_string()))?;
|
||||
|
||||
// If we requested Range but the server returned 200 (full file), the
|
||||
// server does not support resume. Rather than blindly appending a
|
||||
@@ -237,14 +237,14 @@ async fn download_file(
|
||||
false
|
||||
}
|
||||
other => {
|
||||
return Err(MagnotiaError::DownloadFailed(format!(
|
||||
return Err(Error::DownloadFailed(format!(
|
||||
"resume request returned unexpected status {other}"
|
||||
)));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if !response.status().is_success() {
|
||||
return Err(MagnotiaError::DownloadFailed(format!(
|
||||
return Err(Error::DownloadFailed(format!(
|
||||
"download returned HTTP {} for {}",
|
||||
response.status(),
|
||||
file.filename
|
||||
@@ -291,7 +291,7 @@ async fn download_file(
|
||||
}
|
||||
|
||||
while let Some(chunk) = stream.next().await {
|
||||
let chunk = chunk.map_err(|e| MagnotiaError::DownloadFailed(e.to_string()))?;
|
||||
let chunk = chunk.map_err(|e| Error::DownloadFailed(e.to_string()))?;
|
||||
std::io::Write::write_all(&mut out, &chunk)?;
|
||||
hasher.update(&chunk);
|
||||
downloaded += chunk.len() as u64;
|
||||
@@ -319,7 +319,7 @@ async fn download_file(
|
||||
let actual = format!("{:x}", hasher.finalize());
|
||||
if actual != file.sha256 {
|
||||
let _ = std::fs::remove_file(&part_path);
|
||||
return Err(MagnotiaError::DownloadFailed(format!(
|
||||
return Err(Error::DownloadFailed(format!(
|
||||
"SHA256 mismatch for {}: expected {}, got {}",
|
||||
file.filename, file.sha256, actual
|
||||
)));
|
||||
|
||||
Reference in New Issue
Block a user