[package]
edition = "2021"
name = "peat-protocol"
version = "0.9.0-rc.8"
authors = ["Kit Plummer <kitplummer@defenseunicorns.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Peat Coordination Protocol — hierarchical capability composition over CRDTs for heterogeneous mesh networks"
homepage = "https://github.com/defenseunicorns/peat"
documentation = "https://docs.rs/peat-protocol"
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/defenseunicorns/peat"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
keywords = [
"peat",
"protocol",
"mesh",
"crdt",
"coordination",
]
categories = ["network-programming"]
[features]
automerge-backend = [
"automerge",
"iroh",
"iroh-blobs",
"redb",
"lru",
"toml",
"mdns-sd",
"rand",
"futures-lite",
"negentropy",
"peat-mesh/automerge-backend",
]
bluetooth = [
"peat-btle",
"peat-mesh/bluetooth",
]
default = ["automerge-backend"]
lite-transport = [
"log",
"peat-mesh/lite-bridge",
]
relay-n0-hosted = []
[lib]
name = "peat_protocol"
path = "src/lib.rs"
[[example]]
name = "lite_aggregator"
path = "examples/lite_aggregator.rs"
[[example]]
name = "p2p_mesh_baseline"
path = "examples/p2p_mesh_baseline.rs"
[[example]]
name = "producer_only_baseline"
path = "examples/producer_only_baseline.rs"
[[example]]
name = "secure_node"
path = "examples/secure_node.rs"
[[example]]
name = "traditional_baseline"
path = "examples/traditional_baseline.rs"
[[test]]
name = "automerge_backend_integration"
path = "tests/automerge_backend_integration.rs"
[[test]]
name = "automerge_iroh_sync_e2e"
path = "tests/automerge_iroh_sync_e2e.rs"
[[test]]
name = "backend_agnostic_e2e"
path = "tests/backend_agnostic_e2e.rs"
[[test]]
name = "blob_store_tests"
path = "tests/blob_store_tests.rs"
[[test]]
name = "discovery_e2e"
path = "tests/discovery_e2e.rs"
[[test]]
name = "dual_active_simultaneous"
path = "tests/dual_active_simultaneous.rs"
[[test]]
name = "event_routing_integration"
path = "tests/event_routing_integration.rs"
[[test]]
name = "hierarchical_sim_test"
path = "tests/hierarchical_sim_test.rs"
[[test]]
name = "hierarchical_sync_e2e"
path = "tests/hierarchical_sync_e2e.rs"
[[test]]
name = "iroh_blob_sync_e2e"
path = "tests/iroh_blob_sync_e2e.rs"
[[test]]
name = "iroh_file_distribution_e2e"
path = "tests/iroh_file_distribution_e2e.rs"
[[test]]
name = "iroh_minimal_connection"
path = "tests/iroh_minimal_connection.rs"
[[test]]
name = "issue_229_sync_e2e"
path = "tests/issue_229_sync_e2e.rs"
[[test]]
name = "mdns_discovery_e2e"
path = "tests/mdns_discovery_e2e.rs"
[[test]]
name = "mdns_verify"
path = "tests/mdns_verify.rs"
[[test]]
name = "models_integration"
path = "tests/models_integration.rs"
[[test]]
name = "multi_node_mesh_e2e"
path = "tests/multi_node_mesh_e2e.rs"
[[test]]
name = "origin_threading_e2e"
path = "tests/origin_threading_e2e.rs"
[[test]]
name = "peer_discovery_e2e"
path = "tests/peer_discovery_e2e.rs"
[[test]]
name = "startup_optimization_e2e"
path = "tests/startup_optimization_e2e.rs"
[[test]]
name = "tombstone_sync_e2e"
path = "tests/tombstone_sync_e2e.rs"
[[bench]]
name = "cap_benchmarks"
path = "benches/cap_benchmarks.rs"
harness = false
[dependencies.anyhow]
version = "1"
[dependencies.argon2]
version = "0.5"
[dependencies.async-trait]
version = "0.1"
[dependencies.automerge]
version = "0.7.1"
optional = true
[dependencies.base64]
version = "0.22"
[dependencies.bitflags]
version = "2"
[dependencies.chacha20poly1305]
version = "0.10"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.dotenvy]
version = "0.15"
[dependencies.ed25519-dalek]
version = "2"
features = ["rand_core"]
[dependencies.futures-lite]
version = "2"
optional = true
[dependencies.hex]
version = "0.4"
[dependencies.hkdf]
version = "0.12"
[dependencies.hmac]
version = "0.12"
[dependencies.iroh]
version = "0.97"
features = ["address-lookup-mdns"]
optional = true
[dependencies.iroh-blobs]
version = "0.99"
optional = true
[dependencies.log]
version = "0.4"
optional = true
[dependencies.lru]
version = "0.16.3"
optional = true
[dependencies.mdns-sd]
version = "0.11"
optional = true
[dependencies.negentropy]
version = "0.5"
optional = true
[dependencies.peat-btle]
version = ">=0.4.0, <0.4.1"
optional = true
[dependencies.peat-mesh]
version = ">=0.9.0-rc.10, <0.9.1"
default-features = false
[dependencies.peat-schema]
version = "=0.9.0-rc.8"
[dependencies.postcard]
version = "1"
features = ["alloc"]
default-features = false
[dependencies.prost]
version = "0.13"
[dependencies.quick-xml]
version = "0.37"
features = ["serialize"]
[dependencies.rand]
version = "0.9"
optional = true
[dependencies.rand_core]
version = "0.6"
features = ["getrandom"]
[dependencies.redb]
version = "2.4"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.sha2]
version = "0.10"
[dependencies.subtle]
version = "2.6"
[dependencies.tempfile]
version = "3.13"
[dependencies.thiserror]
version = "1"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.toml]
version = "0.8"
optional = true
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dependencies.uuid]
version = "1"
features = [
"v4",
"serde",
]
[dependencies.x25519-dalek]
version = "2"
features = ["static_secrets"]
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.serial_test]
version = "3.1"
[dev-dependencies.tempfile]
version = "3.13"
[dev-dependencies.tokio]
version = "1"
features = [
"full",
"test-util",
]