spreadsheet-kit
Core shared primitives for the spreadsheet-kit workspace.
What's in this crate
CellEdit— canonical cell edit type (address + value + is_formula)CoreWarning— structured warning type (code + message)BasicDiffChange/BasicDiffResponse— diff result typesRecalculateOutcome— recalc result metadata (backend, duration, cells evaluated, errors)- Edit normalization —
normalize_shorthand_edit()parses"A1=100"/"B2==SUM(...)"intoCellEdit apply_edits_to_file()— applies a batch ofCellEdits to an.xlsxfile viaumya-spreadsheetSessionRuntimetrait — scaffold for stateful session backends (open / apply_edits / recalculate / save_as)
What's intentionally not here
- MCP server logic — see
spreadsheet-mcp - CLI surface — see
agent-spreadsheet - Region detection, caching, formula analysis — all in
spreadsheet-mcp - Recalc backends — Formualizer and LibreOffice integration lives in
spreadsheet-mcpbehind feature flags
This crate is kept minimal so both the MCP server and the CLI can depend on it without pulling in server-specific dependencies.
Usage
[]
= "0.1"
use normalize_shorthand_edit;
let edit = normalize_shorthand_edit.unwrap;
assert_eq!;
assert_eq!;
assert!;
let formula = normalize_shorthand_edit.unwrap;
assert_eq!;
assert_eq!;
assert!;
Consumers
| Crate | Role |
|---|---|
spreadsheet-mcp |
Stateful MCP server |
agent-spreadsheet |
Stateless CLI |
License
Apache-2.0 — see LICENSE.