[workspace]
resolver = "2"
members = [
    "crates/bds-core",
    "crates/bds-editor",
    "crates/bds-ui",
    "crates/bds-cli",
    "crates/bds-mcp",
    "crates/bds-server",
    "crates/bds-package-runtime",
]

[workspace.package]
edition = "2024"
version = "0.1.0"
license = "MIT"

[workspace.dependencies]
# Foundation
base64 = "0.22"
uuid = { version = "1", features = ["v4", "serde"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_yaml = "0.9"
chrono = { version = "0.4", features = ["serde", "unstable-locales"] }
sha2 = "0.10"
md5 = "0.8.1"
unicode-normalization = "0.1"
thiserror = "2"
anyhow = "1"
clap = { version = "4", features = ["derive"] }
tokio = { version = "1", features = ["full"] }
axum = "0.8"
walkdir = "2"
futures = "0.3"
image = "0.25"
hpvcd = "0.3.1"
webp = { version = "0.3.1", default-features = false }
rust-stemmers = "1"
sys-locale = "0.3"
fluent-bundle = "0.16"
fluent-syntax = "0.12"
dirs = "5"
open = "5"
pulldown-cmark = "0.13"
liquid = "0.26"
liquid-core = { version = "0.26", features = ["derive"] }
quick-xml = "0.41"
htmd = "0.5.4"
regex = "1"
rayon = "1.10"
pagefind = "1.5.2"
reqwest = { version = "0.12", default-features = false, features = ["blocking", "json", "rustls-tls"] }
keyring = { version = "3", features = ["apple-native", "windows-native", "sync-secret-service"] }
diesel = { version = "2.3.11", features = ["sqlite", "returning_clauses_for_sqlite_3_35"] }
diesel_migrations = "2.3.2"
libsqlite3-sys = { version = "0.37.0", features = ["bundled"] }
mlua = { version = "0.12", features = ["lua54", "vendored", "serialize"] }
url = "2.5"
fastembed = { version = "5.17.3", default-features = false, features = ["hf-hub-rustls-tls", "ort-download-binaries-rustls-tls"] }
usearch = "2.26"
ort = { version = "=2.0.0-rc.12", default-features = false, features = ["std", "api-24", "coreml", "directml"] }
russh = "0.62.2"
ratatui = "0.30.2"
ratatui-image = { version = "11.0.6", default-features = false, features = ["crossterm", "image-defaults"] }
tui-markdown = { version = "0.3.8", default-features = false }

# UI framework
iced = { version = "0.13", features = ["wgpu", "advanced", "canvas", "image", "svg", "tokio", "markdown"] }

# Editor widget
cosmic-text = "0.12"
ropey = "1"
syntect = { version = "5", default-features = false, features = ["default-fancy"] }

# Platform integration (cross-platform)
muda = "0.15"
rfd = "0.15"

# Internal crates
bds-core = { path = "crates/bds-core" }
bds-editor = { path = "crates/bds-editor" }
bds-mcp = { path = "crates/bds-mcp" }
bds-server = { path = "crates/bds-server" }

[profile.release]
strip = "symbols"
