D-61 (Q-9): the writer sheds the typesetter and the crate map is layered again. The PDF/XLSX reader (extract.rs, plan P6) is now the plain library crate ledger-reader, moved whole with git mv and no behavior change. ledger-store depends on it instead of ledger-import, so the store no longer builds Typst or the fonts; ledger-import re-exports it as ledger_import::extract so gui, mcp, host and the fuzz targets compile unchanged, and still never depends on the store. New crate carries only the dependencies extract.rs imports (hayro, hayro-interpret, kurbo, zip, quick-xml, thiserror); fuzz/Cargo.lock gains the new package. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HS8WZziDnyxunC23MUxrLp
24 lines
877 B
TOML
24 lines
877 B
TOML
[package]
|
|
name = "ledger-reader"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
license = "MIT OR Apache-2.0"
|
|
description = "The one reader: a PDF's text and pages, an XLSX's cells as exact decimal strings (plan P6, D-61)."
|
|
|
|
[dependencies]
|
|
thiserror = "2"
|
|
# Extraction (plan P6): a PDF's text, a page's pixels, an XLSX's cells.
|
|
# hayro (the renderer) and hayro-interpret (the text interpreter) are pure
|
|
# Rust and already the viewer's PDF reader, so the server and the viewer
|
|
# read a receipt through one implementation rather than two; `zip` and
|
|
# `quick-xml` read a spreadsheet's XML. None of them touches money: a
|
|
# number is kept as the decimal string the XML holds.
|
|
hayro = { version = "0.8", features = ["embed-fonts"] }
|
|
hayro-interpret = "0.8"
|
|
kurbo = "0.13"
|
|
zip = { version = "9.0.1", default-features = false, features = ["deflate"] }
|
|
quick-xml = "0.38"
|
|
|
|
[lints]
|
|
workspace = true
|