[workspace] members = [ ".", "libs/handlers", "libs/litellm", "libs/database" ] # Define shared dependencies for all workspace members [workspace.dependencies] anyhow = "1.0.86" chrono = { version = "0.4.38", features = ["serde"] } serde = { version = "1.0.117", features = ["derive"] } serde_json = { version = "1.0.117", features = ["preserve_order"] } serde_yaml = "0.9.34" tokio = { version = "1.38.0", features = ["full"] } tracing = "0.1.40" uuid = { version = "1.8", features = ["serde", "v4"] } diesel = { version = "2", features = ["uuid", "chrono", "serde_json", "postgres"] } diesel-async = { version = "0.5.2", features = ["postgres", "bb8"] } [package] name = "bi_api" version = "0.0.1" edition = "2021" default-run = "bi_api" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] # Use workspace dependencies anyhow = { workspace = true } chrono = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } tokio = { workspace = true } tracing = { workspace = true } uuid = { workspace = true } diesel = { workspace = true } diesel-async = { workspace = true } # Local dependencies handlers = { path = "libs/handlers" } litellm = { path = "libs/litellm" } database = { path = "libs/database" } # Other dependencies specific to the main app arrow = { version = "54.0.0", features = ["json"] } async-compression = { version = "0.4.11", features = ["tokio"] } axum = { version = "0.7.5", features = ["ws"] } base64 = "0.21" bb8-redis = "0.18.0" cohere-rust = "0.6.0" dotenv = "0.15.0" futures = "0.3.30" gcp-bigquery-client = "0.24.1" indexmap = { version = "2.2.6", features = ["serde"] } jsonwebtoken = "9.3.0" lazy_static = "1.4.0" num-traits = "0.2.19" once_cell = "1.20.2" rand = "0.8.5" redis = { version = "0.27.5", features = [ "tokio-comp", "tokio-rustls-comp", "tls-rustls-webpki-roots", ] } regex = "1.10.6" reqwest = { version = "0.12.4", features = ["json", "stream"] } resend-rs = "0.10.0" sentry = { version = "0.35.0", features = ["tokio", "sentry-tracing"] } serde_urlencoded = "0.7.1" snowflake-api = "0.11.0" sqlparser = { version = "0.53.0", features = ["visitor"] } sqlx = { version = "0.8", features = [ "runtime-tokio", "tls-rustls", "postgres", "mysql", "macros", "uuid", "chrono", "bigdecimal", ] } tempfile = "3.10.1" tiberius = { version = "0.12.2", default-features = false, features = [ "chrono", "rust_decimal", "tds73", "time", "rustls", "sql-browser-tokio", ] } tiktoken-rs = "0.6.0" tokio-stream = "0.1.15" tokio-util = { version = "0.7.11", features = ["compat"] } tower-http = { version = "0.6.2", features = [ "cors", "trace", "compression-gzip", ] } tracing-subscriber = { version = "0.3.18", features = ["env-filter"] } url = "2.5.1" rustls = { version = "0.23", features = ["ring"] } rustls-native-certs = "0.8" tokio-postgres-rustls = "0.13" tokio-postgres = "0.7" futures-util = "0.3" rayon = "1.10.0" diesel_migrations = "2.0.0" serde_yaml = "0.9.34" html-escape = "0.2.13" async-trait = "0.1.85" [dev-dependencies] mockito = "1.2.0" async-trait = "0.1.77" tokio = { version = "1.0", features = ["full", "test-util"] } [profile.release] debug = false