fix: add missing specta annotations, scope tmp cleanup, and secure state file permissions
This commit is contained in:
@@ -29,9 +29,9 @@ pub struct LoreStatus {
|
||||
/// Summary counts from lore for the status response
|
||||
#[derive(Debug, Clone, Serialize, Type)]
|
||||
pub struct LoreSummaryStatus {
|
||||
pub open_issues: usize,
|
||||
pub authored_mrs: usize,
|
||||
pub reviewing_mrs: usize,
|
||||
pub open_issues: u32,
|
||||
pub authored_mrs: u32,
|
||||
pub reviewing_mrs: u32,
|
||||
}
|
||||
|
||||
/// Get the current status of lore integration by calling the real CLI.
|
||||
@@ -47,9 +47,9 @@ fn get_lore_status_with(cli: &dyn LoreCli) -> Result<LoreStatus, McError> {
|
||||
Ok(true) => match cli.get_me() {
|
||||
Ok(response) => {
|
||||
let summary = LoreSummaryStatus {
|
||||
open_issues: response.data.open_issues.len(),
|
||||
authored_mrs: response.data.open_mrs_authored.len(),
|
||||
reviewing_mrs: response.data.reviewing_mrs.len(),
|
||||
open_issues: response.data.open_issues.len() as u32,
|
||||
authored_mrs: response.data.open_mrs_authored.len() as u32,
|
||||
reviewing_mrs: response.data.reviewing_mrs.len() as u32,
|
||||
};
|
||||
Ok(LoreStatus {
|
||||
last_sync: response.data.since_iso.clone(),
|
||||
@@ -95,11 +95,11 @@ fn get_lore_status_with(cli: &dyn LoreCli) -> Result<LoreStatus, McError> {
|
||||
#[derive(Debug, Clone, Serialize, Type)]
|
||||
pub struct BridgeStatus {
|
||||
/// Total mapped items
|
||||
pub mapping_count: usize,
|
||||
pub mapping_count: u32,
|
||||
/// Items with pending bead creation
|
||||
pub pending_count: usize,
|
||||
pub pending_count: u32,
|
||||
/// Items flagged as suspect orphan (first strike)
|
||||
pub suspect_count: usize,
|
||||
pub suspect_count: u32,
|
||||
/// Last incremental sync timestamp
|
||||
pub last_sync: Option<String>,
|
||||
/// Last full reconciliation timestamp
|
||||
@@ -131,9 +131,9 @@ fn get_bridge_status_inner(
|
||||
let map = bridge.load_map()?;
|
||||
|
||||
Ok(BridgeStatus {
|
||||
mapping_count: map.mappings.len(),
|
||||
pending_count: map.mappings.values().filter(|e| e.pending).count(),
|
||||
suspect_count: map.mappings.values().filter(|e| e.suspect_orphan).count(),
|
||||
mapping_count: map.mappings.len() as u32,
|
||||
pending_count: map.mappings.values().filter(|e| e.pending).count() as u32,
|
||||
suspect_count: map.mappings.values().filter(|e| e.suspect_orphan).count() as u32,
|
||||
last_sync: map.cursor.last_check_timestamp,
|
||||
last_reconciliation: map.cursor.last_reconciliation,
|
||||
})
|
||||
|
||||
@@ -113,13 +113,13 @@ impl MappingKey {
|
||||
#[derive(Debug, Default, Serialize, Type)]
|
||||
pub struct SyncResult {
|
||||
/// Number of new beads created
|
||||
pub created: usize,
|
||||
pub created: u32,
|
||||
/// Number of existing items skipped (dedup)
|
||||
pub skipped: usize,
|
||||
pub skipped: u32,
|
||||
/// Number of beads closed (two-strike)
|
||||
pub closed: usize,
|
||||
pub closed: u32,
|
||||
/// Number of suspect_orphan flags cleared (item reappeared)
|
||||
pub healed: usize,
|
||||
pub healed: u32,
|
||||
/// Errors encountered (non-fatal, processing continued)
|
||||
pub errors: Vec<String>,
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
pub mod commands;
|
||||
pub mod data;
|
||||
pub mod error;
|
||||
pub mod sync;
|
||||
pub mod watcher;
|
||||
|
||||
use tauri::menu::{MenuBuilder, MenuItemBuilder};
|
||||
@@ -109,9 +110,6 @@ pub fn run() {
|
||||
tracing::info!("Starting Mission Control");
|
||||
|
||||
// Build tauri-specta builder for type-safe IPC
|
||||
// Note: read_state/write_state/clear_state use serde_json::Value which doesn't
|
||||
// implement specta::Type, so they're excluded from the builder but kept in
|
||||
// the invoke_handler via generate_handler!
|
||||
let builder = Builder::<tauri::Wry>::new().commands(collect_commands![
|
||||
commands::greet,
|
||||
commands::get_lore_status,
|
||||
@@ -119,6 +117,9 @@ pub fn run() {
|
||||
commands::sync_now,
|
||||
commands::reconcile,
|
||||
commands::quick_capture,
|
||||
commands::read_state,
|
||||
commands::write_state,
|
||||
commands::clear_state,
|
||||
]);
|
||||
|
||||
// Export TypeScript bindings in debug builds
|
||||
|
||||
Reference in New Issue
Block a user