[package]
name = "kogral-core"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
description = "KOGRAL core library - Config-driven knowledge graph engine with multi-backend storage"

[dependencies]
# Workspace dependencies
serde = { workspace = true }
serde_json = { workspace = true }
serde_yaml = { workspace = true }
toml = { workspace = true }
tokio = { workspace = true }
thiserror = { workspace = true }
anyhow = { workspace = true }
pulldown-cmark = { workspace = true }
tera = { workspace = true }
rig-core = { workspace = true }
surrealdb = { workspace = true, optional = true }
dashmap = { workspace = true }
notify = { workspace = true }
chrono = { workspace = true }
uuid = { workspace = true }
tracing = { workspace = true }

# Additional dependencies
async-trait = { workspace = true }
fastembed = { workspace = true, optional = true }
regex = { workspace = true }
once_cell = { workspace = true }
walkdir = { workspace = true }
futures = { workspace = true }

[dev-dependencies]
tokio = { workspace = true, features = ["test-util", "macros"] }
mockito = { workspace = true }
tempfile = { workspace = true }

[features]
default = ["filesystem"]
filesystem = []
surrealdb-backend = ["surrealdb"]
fastembed = ["dep:fastembed"]
full = ["surrealdb-backend", "fastembed"]
