[package] name = "dirigent_archivist" version = "0.1.0" edition = "2021" [lib] path = "src/lib.rs" [features] # All built-in importers are on by default. Turn the corresponding # `importer-*` flag off (and opt out of `default`) to ship a slimmer build. default = ["importer-claude", "importer-chatgpt", "importer-codex"] # Exposes the sub-trait contract test harness (`backend::contract`) to # downstream crates so new backends can reuse the same behavioral checks. test-utils = [] # Per-source importer feature gates. Each flag guards the corresponding # `ImporterRegistry::with_defaults` registration and (where relevant) the # source module itself. importer-claude = [] importer-chatgpt = ["dep:dirigent_chatgpt"] importer-codex = ["dep:dirigent_codex"] [dependencies] # Core dependencies dirigent_protocol = { path = "../dirigent_protocol" } dirigent_anth = { path = "../dirigent_anth" } dirigent_chatgpt = { path = "../dirigent_chatgpt", optional = true } dirigent_codex = { path = "../dirigent_codex", optional = true } camino = "1.1" # UUID support with v7 and serde uuid = { version = "1.11", features = ["v5", "v7", "serde"] } # Date/time handling chrono = { version = "0.4", features = ["serde"] } # Serialization serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" toml = "0.8" # Async runtime and file operations tokio = { version = "1.42", features = ["fs", "sync", "time", "io-util", "macros", "rt-multi-thread"] } # Logging tracing = "0.1" # Error handling thiserror = "2.0" anyhow = "1" # Hashing for content-addressable storage sha2 = "0.10" hex = "0.4" # LRU read cache for registry backends lru = "0.12" # Async traits async-trait = "0.1" # Async futures futures = "0.3" [dev-dependencies] tempfile = "3.0" walkdir = "2"