[package]
name = "bichon-core"
version.workspace = true
edition.workspace = true


[features]
default = ["web-api"]
web-api = ["dep:poem-openapi"]

[dependencies]
poem-openapi = { version = "5.1.16", features = [
    "openapi-explorer",
    "rapidoc",
    "scalar",
    "redoc",
    "swagger-ui",
    "email",
], optional = true }
chrono.workspace = true
clap.workspace = true
bichon-memdb.workspace = true
itertools.workspace = true
ring.workspace = true
serde.workspace = true
serde_json.workspace = true
tokio.workspace = true
tracing.workspace = true
tracing-appender.workspace = true
tracing-subscriber.workspace = true
base64.workspace = true
snafu.workspace = true
reqwest.workspace = true
tokio-socks.workspace = true
regex.workspace = true
email_address.workspace = true
futures.workspace = true
utf7-imap.workspace = true
mail-parser.workspace = true
tokio-rustls.workspace = true
oauth2.workspace = true
sysinfo.workspace = true
num_cpus.workspace = true
rand.workspace = true
encoding_rs.workspace = true
async-imap = { git = "https://github.com/rustmailer/async-imap.git", branch = "main", default-features = false, features = [
    "runtime-tokio",
    "compress",
] }
tantivy = { version = "0.26.1", features = ["zstd-compression", "quickwit"] }
webpki-roots.workspace = true
rustls.workspace = true
rustls-pki-types.workspace = true
tokio-io-timeout.workspace = true
governor.workspace = true
lru.workspace = true
time.workspace = true
murmur3.workspace = true
dashmap.workspace = true
itoa.workspace = true
html2text.workspace = true
bytes.workspace = true
mail-send.workspace = true
blake3.workspace = true
uuid.workspace = true
fjall.workspace = true
tracing-log.workspace = true
tokio-util.workspace = true
whichlang = "0.1.1"
deunicode = "1.6.2"
scopeguard = "1.2.0"
cron = "0.17"
quick-xml = { version = "0.41.0", features = ["serialize"] }
hickory-resolver = "0.26.1"
memmap2 = "0.9.10"
outlook-pst = { git = "https://github.com/rustmailer/outlook-pst-rs.git", branch = "main" }
compressed-rtf = "1.0.1"
codepage-strings = "1.0.2"
hex.workspace = true
