1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//! # tsaur-core
//!
//! Reference implementation of the **T-saur** archive format (`.tsr`): a content-addressed,
//! agent-first archive.
//!
//! * content-defined chunking (FastCDC) + BLAKE3 identities + deduplication, Merkle root identity
//! * block mode (default), solid blocks or granular blobs; codecs zstd, zstd + trained dictionary,
//! xz (LZMA2) and PPMd H, chosen per block; x86 and ARM64 branch filters for machine code
//! * container awareness: ZIP/OPC members and PDF FlateDecode streams inverted with preflate,
//! JPEG (files and DCTDecode streams) recoded losslessly with Lepton; always rebuilt bit-exact
//! * compression by reference: chunks present in a referenced archive are not stored again
//! * per-blob authenticated encryption (XChaCha20-Poly1305) with an envelope key unlocked by
//! Argon2id passwords or hybrid X25519 + ML-KEM-768 recipients; Ed25519 signatures
//! * hard resource limits (anti decompression bomb), path sanitisation by construction
//! * streaming packer and reader (bounded memory), range reads, canonical views (DOCX, PDF)
//! * fixed-size pieces + Reed-Solomon parity sidecars for transport verification and recovery
//!
//! The format is specified in `docs/spec/`; `tsaur` (the CLI crate) adds the agent-facing
//! commands and the MCP server.
pub use ;
pub use ;
pub use ;
/// Library version string (matches the crate version).
pub const VERSION: &str = env!;
/// Identifies the writer line recorded inside archives, views and volume descriptors. It names the
/// format (v1) and the writer generation, not the crate release, so that the same inputs give the
/// same bytes across patch releases (the golden archives in `tests/golden/` pin this).
pub const WRITER: &str = "tsaur-core/1.0";