[workspace]
members = [
"apps/xiaoo-app",
"apps/vault",
"crates/llm-client",
"crates/llm-client-cli",
"crates/agent-types",
"crates/agent-contracts",
"crates/agent-llm",
"crates/hook",
"crates/core",
"crates/memory",
"crates/compact",
"crates/tool",
"crates/subagent",
"crates/prompt",
"crates/skill",
"crates/trace",
"crates/trace/src/moirai",
"crates/operation_backend",
"crates/lsp",
]
resolver = "2"
[workspace.package]
version = "0.1.0"
edition = "2021"
license = "MulanPSL-2.0"
[workspace.dependencies]
anyhow = "1.0"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
async-trait = "0.1"
thiserror = "1.0"
tokio = { version = "1.35", features = ["rt"] }
tokio-util = { version = "0.7", features = ["rt"] }
uuid = { version = "1.6", features = ["v4", "serde"] }
tracing = "0.1"
arc-swap = "1.7"
tempfile = "3.9"
reqwest = { version = "0.12", default-features = false, features = ["json", "multipart", "rustls-tls", "rustls-tls-native-roots"] }
chrono = "0.4"
arboard = { version = "3", default-features = false }
base64 = "0.22"
crossterm = { version = "0.28", features = ["event-stream"] }
toml = "0.8"
parking_lot = "0.12"
futures-util = "0.3"
tokio-stream = "0.1"
ratatui = "0.28"
rusqlite = { version = "0.32", features = ["bundled"] }
ulid = "1.1"
clap = { version = "4.5", features = ["derive"] }
axum = "0.7"
tower = "0.5"
tower-http = { version = "0.5", features = ["fs"] }
rust-embed = "8.5"
mime_guess = "2.0"
dirs = "5"
aes-gcm = "0.10"
rand = "0.8"
hex = "0.4"
[profile.release]
opt-level = 3
lto = "thin"
codegen-units = 16
strip = true
[profile.dev]
opt-level = 0
debug = true