pdftract/Cargo.toml
jedarden 9abc386cce feat(pdftract-3h9xo): implement threads JSON output + schema integration
Phase 7.7.3: Add threads field to ExtractionResult with ThreadJson schema integration.

Changes:
- Added ThreadJson and BeadJson structs to schema/mod.rs
- Added thread_to_json() function to threads/mod.rs
- Added build_page_ref_to_index() helper to parser/pages.rs
- Added threads field to ExtractionResult in extract.rs
- Implemented Phase 7.7 extraction logic with discover_threads/walk_beads
- Added threads_to_markdown() and collapse_page_ranges() to markdown.rs
- Updated JSON schema with ThreadJson and BeadJson definitions
- Added thread_to_py() and bead_to_py() conversions in pdftract-py
- Exported ThreadJson, BeadJson from lib.rs

All 32 threads module tests pass. All 35 markdown tests pass.

Verification: notes/pdftract-3h9xo.md

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-25 13:40:15 -04:00

27 lines
776 B
TOML

[workspace]
resolver = "2"
members = ["crates/pdftract-core", "crates/pdftract-cli", "crates/pdftract-py", "crates/pdftract-libpdftract"]
exclude = ["tests/fixtures/generate_lzw_fixtures.rs"]
[workspace.package]
version = "0.1.0"
edition = "2021"
rust-version = "1.78"
license = "MIT OR Apache-2.0"
repository = "https://github.com/jedarden/pdftract"
authors = ["Jed Cabanero <me@jedcabanero.com>"]
homepage = "https://github.com/jedarden/pdftract"
documentation = "https://docs.rs/pdftract-core"
[workspace.dependencies]
# Dependencies shared across workspace crates
anyhow = "1.0"
base64 = "0.22"
flate2 = "1.0"
lzw = "0.10"
memchr = "2.7"
secrecy = "0.10"
serde = { version = "1.0", features = ["derive"] }
thiserror = "1.0"
tracing = "0.1"
unicode-normalization = "0.1"