[package]
edition = "2024"
name = "heddle-thread-api"
version = "0.25.4"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Native Thread clients and durable peer replication over Iroh"
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/HeddleCo/heddle"
resolver = "2"
[features]
default = [
"native",
"iroh",
]
iroh = [
"dep:iroh",
"dep:tokio",
"dep:heddle-perf-contract",
]
native = [
"root-attachment",
"source-transfer",
"dep:repo",
"dep:objects",
"dep:crypto",
"dep:biscuit-verifier",
"dep:base64",
"dep:chrono",
"dep:uuid",
"dep:hex",
"dep:tokio",
"dep:tempfile",
]
replication = [
"signing",
"dep:heddle-object-model",
"dep:tokio",
"dep:tracing",
]
root-attachment = [
"signing",
"dep:biscuit-verifier",
"dep:base64",
"dep:chrono",
]
semantic-analysis = ["dep:semantic"]
signing = [
"dep:crypto",
"dep:hex",
"dep:uuid",
"dep:getrandom",
]
source-transfer = [
"replication",
"dep:heddle-pack",
"dep:tempfile",
"dep:wire",
"heddle-pack/fs",
]
[lib]
name = "heddle_thread_api"
path = "src/lib.rs"
[[example]]
name = "multiplex"
path = "examples/multiplex.rs"
required-features = [
"iroh",
"replication",
]
[[example]]
name = "thread"
path = "examples/thread.rs"
required-features = [
"iroh",
"replication",
]
[[test]]
name = "analysis_observation"
path = "tests/analysis_observation.rs"
[[test]]
name = "behavior_analysis"
path = "tests/behavior_analysis.rs"
[[test]]
name = "identity_observation"
path = "tests/identity_observation.rs"
[[test]]
name = "reopen_retry"
path = "tests/reopen_retry.rs"
required-features = ["replication"]
[[test]]
name = "root_attachment"
path = "tests/root_attachment.rs"
[[test]]
name = "thread_creation"
path = "tests/thread_creation.rs"
[[test]]
name = "thread_creation_response"
path = "tests/thread_creation_response.rs"
[[test]]
name = "thread_genesis_browser_vector"
path = "tests/thread_genesis_browser_vector.rs"
[[test]]
name = "thread_workflow"
path = "tests/thread_workflow.rs"
required-features = [
"iroh",
"replication",
]
[[test]]
name = "transport_failures"
path = "tests/transport_failures.rs"
[[test]]
name = "transport_observation"
path = "tests/transport_observation.rs"
required-features = [
"iroh",
"replication",
]
[dependencies.api]
version = "=0.31.0-alpha.3"
package = "heddle-api"
[dependencies.base64]
version = "0.22"
optional = true
[dependencies.biscuit-verifier]
version = "0.25.4"
optional = true
package = "heddle-biscuit-verifier"
[dependencies.blake3]
version = "1"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
optional = true
[dependencies.crypto]
version = "0.25.4"
optional = true
package = "heddle-crypto"
[dependencies.heddle-object-model]
version = "0.25.4"
optional = true
[dependencies.heddle-pack]
version = "0.25.4"
optional = true
default-features = false
[dependencies.heddle-perf-contract]
version = "0.25.4"
optional = true
[dependencies.hex]
version = "0.4"
optional = true
[dependencies.iroh]
version = "=0.1.0"
features = ["tls-ring"]
optional = true
default-features = false
package = "heddleco-iroh"
[dependencies.objects]
version = "0.25.4"
optional = true
package = "heddle-objects"
[dependencies.prost]
version = "=0.14.1"
[dependencies.prost-types]
version = "0.14"
[dependencies.repo]
version = "0.25.4"
features = [
"native",
"git-overlay",
]
optional = true
default-features = false
package = "heddle-repo"
[dependencies.semantic]
version = "0.25.4"
optional = true
package = "heddle-semantic"
[dependencies.tempfile]
version = "3"
optional = true
[dependencies.thiserror]
version = "=2.0.18"
[dependencies.tokio]
version = "1"
features = [
"rt",
"macros",
"net",
"signal",
"sync",
"time",
"io-util",
"process",
"fs",
"rt-multi-thread",
]
optional = true
default-features = false
[dependencies.tracing]
version = "0.1"
optional = true
[dependencies.uuid]
version = "1"
features = [
"v4",
"v7",
"serde",
]
optional = true
[dependencies.wire]
version = "0.25.4"
optional = true
default-features = false
package = "heddle-wire"
[dev-dependencies.anyhow]
version = "1"
[dev-dependencies.biscuit-auth]
version = "6"
[dev-dependencies.ed25519-dalek]
version = "3"
[dev-dependencies.getrandom]
version = "0.4"
[dev-dependencies.hex]
version = "0.4"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"json",
]
[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom]
version = "0.4"
features = ["wasm_js"]
optional = true
[target.'cfg(target_arch = "wasm32")'.dependencies.uuid]
version = "1"
features = [
"v4",
"v7",
"serde",
"js",
]
optional = true