[package]
name = "terraphim_service"
version = "1.5.2"
edition = "2021"
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 = "1.0.58"
opendal = { version = "0.54" }
serde_json = "1.0.116"
serde = { version = "1.0.198", features = ["serde_derive"] }
log = "0.4.29"
strsim = "0.11.1"
regex = "1.11.0"
tokio = { workspace = true }
async-trait = "0.1"
futures-util = "0.3"
async-stream = "0.3"
uuid = { version = "1.19", features = ["v4", "serde"] }
chrono = { version = "0.4", features = ["serde"] }
reqwest = { workspace = 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 = []
tracing = ["dep:tracing", "dep:tracing-subscriber"]
[dev-dependencies]
tokio = { version = "1.35.0", features = ["full"] }
terraphim_settings = { path = "../terraphim_settings", version = "1.0.0" }
anyhow = "1.0.82"
serial_test = "3.3"
tempfile = "3"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
tracing = "0.1"