[package] name = "cm-decide" version = "0.1.0" edition.workspace = true rust-version.workspace = true license.workspace = true publish.workspace = true description = "Typed, calibrated gut-check decisions (Choice / Score / Noul) behind one trait, with a hosted and a local backend" [features] default = ["jev"] # TypeSafe's Jev over HTTP. jev = ["dep:reqwest"] # A local NLI cross-encoder (DeBERTa-v3 MNLI) run in-process with candle. nli = ["dep:candle-core", "dep:candle-nn", "dep:candle-transformers", "dep:tokenizers", "dep:hf-hub"] metal = ["candle-core/metal", "candle-nn/metal", "candle-transformers/metal"] cuda = ["candle-core/cuda", "candle-nn/cuda", "candle-transformers/cuda"] [dependencies] async-trait = "0.1" serde = { workspace = true } serde_json = { workspace = true } thiserror = { workspace = true } tokio = { workspace = true } reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"], optional = true } candle-core = { version = "0.11", optional = true } candle-nn = { version = "0.11", optional = true } candle-transformers = { version = "0.11", optional = true } tokenizers = { version = "0.21", default-features = false, features = ["onig"], optional = true } hf-hub = { version = "0.4", optional = true } [dev-dependencies] tokio = { workspace = true } [lints] workspace = true