[package]
name = "jammi-engine"
description = "Query engine, catalog, and storage layer for Jammi AI"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
readme = "README.md"

[features]
default = []
postgres = ["datafusion-table-providers/postgres-federation"]
mysql = ["datafusion-table-providers/mysql-federation"]

[dependencies]
# Query engine
datafusion.workspace = true
datafusion-federation.workspace = true
arrow.workspace = true
arrow-schema.workspace = true
arrow-array.workspace = true

# External sources (feature-gated — not a workspace dep to avoid sqlite3 links conflict)
datafusion-table-providers = { version = "0.10.1", default-features = false, optional = true }

# Storage
parquet.workspace = true
usearch.workspace = true
rusqlite.workspace = true
rusqlite_migration.workspace = true
r2d2.workspace = true
r2d2_sqlite.workspace = true

# Config
serde.workspace = true
serde_json.workspace = true
toml.workspace = true

# Caching
moka.workspace = true
seahash.workspace = true
bytemuck.workspace = true

# Retry
backon.workspace = true
futures.workspace = true

# Utilities
uuid.workspace = true
chrono.workspace = true
tracing.workspace = true
tracing-subscriber.workspace = true
thiserror.workspace = true
directories.workspace = true
tokio.workspace = true
url.workspace = true
async-trait.workspace = true

[dev-dependencies]
tempfile = "3"
tokio.workspace = true
jammi-test-utils.workspace = true
