buster/api/Cargo.toml

186 lines
5.1 KiB
TOML
Raw Normal View History

2025-02-15 04:44:21 +08:00
[workspace]
members = [
".",
2025-02-15 05:12:31 +08:00
"libs/handlers",
2025-02-18 23:17:43 +08:00
"libs/litellm",
2025-03-01 01:35:55 +08:00
"libs/database",
"libs/agents",
2025-03-03 21:29:15 +08:00
"libs/query_engine",
2025-03-19 23:41:29 +08:00
"libs/sharing",
2025-03-22 13:44:49 +08:00
"libs/sql_analyzer",
2025-02-15 04:44:21 +08:00
]
# Define shared dependencies for all workspace members
[workspace.dependencies]
anyhow = "1.0.86"
2025-03-07 23:47:56 +08:00
chrono = { version = "=0.4.38", features = ["serde"] }
2025-02-15 04:44:21 +08:00
serde = { version = "1.0.117", features = ["derive"] }
serde_json = { version = "1.0.117", features = ["preserve_order"] }
2025-02-19 00:26:40 +08:00
serde_yaml = "0.9.34"
2025-02-15 04:44:21 +08:00
tokio = { version = "1.38.0", features = ["full"] }
tracing = "0.1.40"
uuid = { version = "1.8", features = ["serde", "v4", "v5"] }
sha2 = "0.10.8"
2025-03-03 21:29:15 +08:00
diesel = { version = "2", features = [
"uuid",
"chrono",
"serde_json",
"postgres",
] }
2025-02-15 04:44:21 +08:00
diesel-async = { version = "0.5.2", features = ["postgres", "bb8"] }
futures = "0.3.30"
2025-03-01 01:35:55 +08:00
async-trait = "0.1.85"
thiserror = "2.0.12"
2025-03-01 01:35:55 +08:00
tokio-test = "0.4.3"
futures-util = "0.3"
reqwest = { version = "0.12.4", features = ["json", "stream"] }
dotenv = "0.15.0"
mockito = "1.2.0"
mockall = "0.12.1"
2025-03-01 01:35:55 +08:00
bb8-redis = "0.18.0"
indexmap = { version = "2.2.6", features = ["serde"] }
once_cell = "1.20.2"
rustls = { version = "0.23", features = ["ring"] }
rustls-native-certs = "0.8"
2025-03-03 21:29:15 +08:00
sqlx = { version = "0.8", features = [
"runtime-tokio",
"tls-rustls",
"postgres",
"uuid",
"chrono",
"json",
"mysql",
"bigdecimal",
] }
2025-03-01 01:35:55 +08:00
tokio-postgres = "0.7"
tokio-postgres-rustls = "0.13"
regex = "1.10.6"
sqlparser = { version = "0.54.0", features = ["visitor"] }
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"
cohere-rust = "0.6.0"
gcp-bigquery-client = "0.24.1"
jsonwebtoken = "9.3.0"
lazy_static = "1.4.0"
num-traits = "0.2.19"
rand = "0.8.5"
2025-03-03 21:29:15 +08:00
redis = { version = "0.27.5", features = [
"tokio-comp",
"tokio-rustls-comp",
"tls-rustls-webpki-roots",
] }
resend-rs = "0.10.0"
sentry = { version = "0.35.0", features = ["tokio", "sentry-tracing"] }
serde_urlencoded = "0.7.1"
snowflake-api = "0.11.0"
tempfile = "3.10.1"
2025-03-03 21:29:15 +08:00
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"] }
2025-03-03 21:29:15 +08:00
tower-http = { version = "0.6.2", features = [
"cors",
"trace",
"compression-gzip",
] }
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
url = "2.5.1"
rayon = "1.10.0"
diesel_migrations = "2.0.0"
html-escape = "0.2.13"
2025-02-15 04:44:21 +08:00
2025-01-04 05:32:54 +08:00
[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]
2025-02-15 04:44:21 +08:00
# Use workspace dependencies
anyhow = { workspace = true }
arrow = { workspace = true }
async-compression = { workspace = true }
async-trait = { workspace = true }
axum = { workspace = true }
base64 = { workspace = true }
bb8-redis = { workspace = true }
2025-02-15 04:44:21 +08:00
chrono = { workspace = true }
cohere-rust = { workspace = true }
2025-02-15 04:44:21 +08:00
diesel = { workspace = true }
diesel-async = { workspace = true }
diesel_migrations = { workspace = true }
dotenv = { workspace = true }
2025-03-01 01:35:55 +08:00
futures = { workspace = true }
futures-util = { workspace = true }
gcp-bigquery-client = { workspace = true }
html-escape = { workspace = true }
2025-03-01 01:35:55 +08:00
indexmap = { workspace = true }
jsonwebtoken = { workspace = true }
lazy_static = { workspace = true }
num-traits = { workspace = true }
2025-03-01 01:35:55 +08:00
once_cell = { workspace = true }
rand = { workspace = true }
rayon = { workspace = true }
redis = { workspace = true }
regex = { workspace = true }
reqwest = { workspace = true }
resend-rs = { workspace = true }
2025-03-01 01:35:55 +08:00
rustls = { workspace = true }
rustls-native-certs = { workspace = true }
sentry = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
serde_urlencoded = { workspace = true }
serde_yaml = { workspace = true }
snowflake-api = { workspace = true }
2025-03-01 01:35:55 +08:00
sqlx = { workspace = true }
tempfile = { workspace = true }
tiberius = { workspace = true }
tiktoken-rs = { workspace = true }
tokio = { workspace = true }
2025-03-01 01:35:55 +08:00
tokio-postgres = { workspace = true }
tokio-postgres-rustls = { workspace = true }
tokio-stream = { workspace = true }
tokio-util = { workspace = true }
tower-http = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
url = { workspace = true }
uuid = { workspace = true }
2025-03-01 05:22:55 +08:00
sqlparser = { workspace = true }
2025-02-15 04:44:21 +08:00
# Local dependencies
handlers = { path = "libs/handlers" }
2025-02-15 05:12:31 +08:00
litellm = { path = "libs/litellm" }
2025-02-18 23:17:43 +08:00
database = { path = "libs/database" }
2025-03-01 01:35:55 +08:00
agents = { path = "libs/agents" }
2025-03-03 21:29:15 +08:00
query_engine = { path = "libs/query_engine" }
braintrust = { path = "libs/braintrust" }
middleware = { path = "libs/middleware" }
2025-03-19 23:41:29 +08:00
sharing = { path = "libs/sharing" }
2025-02-15 04:44:21 +08:00
[dev-dependencies]
2025-03-01 01:35:55 +08:00
mockito = { workspace = true }
tokio-test = { workspace = true }
async-trait = { workspace = true }
2025-01-04 05:32:54 +08:00
[profile.release]
2025-03-03 21:29:15 +08:00
debug = false
2025-03-12 10:00:10 +08:00
incremental = true
[profile.dev]
incremental = true
opt-level = 0 # Ensure this is 0 for faster debug builds
2025-03-19 23:41:29 +08:00
debug = 1 # Reduce debug info slightly while keeping enough for backtraces