[package]
name = "cf-chat-engine"
description = "Chat Engine module: multi-tenant conversational infrastructure with plugin-driven backends"
version = "0.2.2"
edition.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
rust-version.workspace = true
readme = "README.md"
keywords = ["cyberfabric", "cyberfabric-modules"]
categories = ["artificial-intelligence"]
[package.metadata.docs.rs]
all-features = true
[lib]
name = "chat_engine"
[lints]
workspace = true
[features]
default = []
k8s = ["dep:kube", "dep:k8s-openapi"]
[dependencies]
chat-engine-sdk = { package = "cf-chat-engine-sdk", version = "0.1.0", path = "../chat-engine-sdk" }
anyhow = { workspace = true }
async-trait = { workspace = true }
tokio = { workspace = true }
tokio-retry = { workspace = true }
tokio-util = { workspace = true }
tracing = { workspace = true }
futures = { workspace = true }
toolkit-utils = { workspace = true, features = ["serde"] }
serde = { workspace = true }
serde_json = { workspace = true }
utoipa = { workspace = true, features = ["time"] }
axum = { workspace = true, features = ["macros"] }
http = { workspace = true }
time = { workspace = true }
uuid = { workspace = true }
sea-orm = { workspace = true }
sea-orm-migration = { workspace = true }
thiserror = { workspace = true }
parking_lot = { workspace = true }
reqwest = { workspace = true, features = ["json"] }
bytes = { workspace = true }
url = { workspace = true }
toolkit = { workspace = true }
toolkit-db = { workspace = true, features = ["sqlite", "pg"] }
toolkit-db-macros = { workspace = true }
toolkit-security = { workspace = true }
toolkit-macros = { workspace = true }
toolkit-canonical-errors = { workspace = true }
toolkit-gts = { workspace = true }
toolkit-odata = { workspace = true, features = ["with-utoipa"] }
toolkit-odata-macros = { workspace = true }
kube = { workspace = true, features = ["client", "rustls-tls", "aws-lc-rs"], optional = true }
k8s-openapi = { workspace = true, features = ["latest"], optional = true }
[dev-dependencies]
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }