[package]
name = "heddle-daemon"
version.workspace = true
edition.workspace = true
authors.workspace = true
description = "Heddle local-mode gRPC daemon and service implementations"
license.workspace = true
repository.workspace = true
keywords.workspace = true
categories.workspace = true

[dependencies]
chrono.workspace = true
crypto = { path = "../crypto", package = "heddle-crypto", version = "0.6" }
futures.workspace = true
grpc = { path = "../grpc", package = "heddle-grpc", version = "0.7" }
hex.workspace = true
libc.workspace = true
objects = { path = "../objects", package = "heddle-objects", version = "0.6" }
oplog = { path = "../oplog", package = "heddle-oplog", version = "0.6", default-features = false }
prost.workspace = true
prost-types.workspace = true
refs = { path = "../refs", package = "heddle-refs", version = "0.6", default-features = false }
repo = { path = "../repo", package = "heddle-repo", version = "0.6", default-features = false, features = ["git-overlay", "native"] }
serde.workspace = true
serde_json.workspace = true
state_review = { path = "../state_review", package = "heddle-state-review", version = "0.6" }
tokio.workspace = true
tokio-stream.workspace = true
tonic.workspace = true
toml.workspace = true
tracing.workspace = true

semantic = { path = "../semantic", package = "heddle-semantic", version = "0.6", optional = true }

[dev-dependencies]
objects = { path = "../objects", package = "heddle-objects", features = ["memory-backend"] }
proptest.workspace = true
serial_test.workspace = true
tempfile.workspace = true

[features]
default = []
semantic = ["dep:semantic", "repo/tree-sitter-symbols"]

[lib]
path = "src/lib.rs"
name = "daemon"
