[package] name = "can-sync" version = "0.2.0" edition = "2021" description = "P2P sync agent for CAN service — full mirror replication via iroh" [[bin]] name = "can-sync" path = "src/main.rs" [[bin]] name = "sync-test" path = "tests/sync_test.rs" [dependencies] # P2P networking (iroh for transport + gossip for discovery — NO iroh-docs) iroh = "0.96" iroh-gossip = "0.96" # Protobuf (same message types as CAN service sync API) prost = "0.13" # HTTP client for CAN service sync API reqwest = { version = "0.12", features = ["json", "multipart", "blocking"] } # Serialization serde = { version = "1", features = ["derive"] } serde_yaml = "0.9" # Crypto blake3 = "1" # Async runtime tokio = { version = "1", features = ["full"] } # Logging tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } # Stream utilities (needed for gossip event stream) n0-future = "0.1" # SSE client (for real-time events from CAN service) tokio-stream = "0.1" futures-util = "0.3" # Utilities anyhow = "1" bytes = "1" hex = "0.4" serde_json = "1" tempfile = "3" rand = "0.9"