[package]
name = "oxide-graph"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
description = "Semantic knowledge graph for Rust Oxide. In-memory typed nodes + labelled edges, fed by oxide-mirror records and oxide-browser-sh extractions; queryable through pattern + traversal primitives."
[lib]
name = "oxide_graph"
path = "src/lib.rs"
[dependencies]
tokio = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
thiserror = { workspace = true }
anyhow = { workspace = true }
tracing = { workspace = true }
async-trait = { workspace = true }
chrono = { workspace = true }
uuid = { workspace = true }
oxide-k = { path = "../oxide-k", version = "0.3.0" }
sqlx = { workspace = true, optional = true, features = ["json"] }
neo4rs = { version = "0.8", optional = true }
futures-util = { version = "0.3", optional = true }
[features]
persist = ["sqlx"]
neo4j = ["dep:neo4rs", "dep:futures-util"]
[dev-dependencies]
tokio = { workspace = true, features = ["test-util", "macros"] }