[package]
name = "terraphim_service"
version = "1.10.0"
edition.workspace = true
authors = ["Terraphim Contributors"]
description = "Terraphim service for handling user requests and responses."
documentation = "https://terraphim.ai"
homepage = "https://terraphim.ai"
repository = "https://github.com/terraphim/terraphim-ai"
keywords = ["personal-assistant", "ai", "privacy", "service"]
license = "Apache-2.0"
readme = "../../README.md"
[dependencies]
terraphim_persistence = { path = "../terraphim_persistence", version = "1.0.0" }
terraphim_config = { path = "../terraphim_config", version = "1.0.0" }
terraphim_middleware = { path = "../terraphim_middleware", version = "1.0.0" }
terraphim_types = { path = "../terraphim_types", version = "1.0.0" }
terraphim_automata = { path = "../terraphim_automata", version = "1.0.0", features = ["remote-loading", "tokio-runtime"] }
terraphim_rolegraph = { path = "../terraphim_rolegraph", version = "1.0.0" }
ahash = { version = "0.8.8", features = ["serde"] }
thiserror = { workspace = true }
opendal = { version = "0.54" }
serde_json = { workspace = true }
serde = { workspace = true }
log = { workspace = true }
strsim = "0.11.1"
regex = "1.11.0"
tokio = { workspace = true }
async-trait = { workspace = true }
futures-util = "0.3"
async-stream = "0.3"
uuid = { workspace = true }
chrono = { workspace = true }
reqwest = { workspace = true }
once_cell = "1.19"
terraphim_router = { path = "../terraphim_router", version = "1.0.0", optional = true }
env_logger = "0.11"
tracing = { version = "0.1", optional = true }
tracing-subscriber = { version = "0.3", features = ["env-filter"], optional = true }
[features]
default = ["ollama", "llm_router"]
openrouter = ["terraphim_config/openrouter"]
ollama = []
llm_router = ["dep:terraphim_router"]
tracing = ["dep:tracing", "dep:tracing-subscriber"]
[dev-dependencies]
tokio = { workspace = true }
terraphim_settings = { path = "../terraphim_settings", version = "1.0.0" }
terraphim_test_utils = { path = "../terraphim_test_utils" }
anyhow = { workspace = true }
serial_test = "3.3"
tempfile = "3"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
tracing = "0.1"