spreadsheet-kit 0.11.1

Core spreadsheet automation primitives — shared types, edit normalization, and session traits for agent-facing surfaces
Documentation
#[cfg(feature = "recalc-libreoffice")]
use anyhow::Result;
#[cfg(feature = "recalc-libreoffice")]
use async_trait::async_trait;
#[cfg(feature = "recalc-libreoffice")]
use std::path::Path;

#[cfg(feature = "recalc-libreoffice")]
#[async_trait]
pub trait RecalcExecutor: Send + Sync {
    async fn recalculate(&self, workbook_path: &Path) -> Result<RecalcResult>;
    fn is_available(&self) -> bool;
}

#[derive(Debug, Clone)]
pub struct RecalcResult {
    pub duration_ms: u64,
    pub was_warm: bool,
    pub backend_name: &'static str,
    pub cells_evaluated: Option<u64>,
    pub eval_errors: Option<Vec<String>>,
}