[workspace]
members = [".", "crates/license-issuer", "crates/oxo-bench"]

[package]
name = "oxo-call"
version = "0.2.0"
edition = "2024"
description = "Model-intelligent orchestration for CLI bioinformatics — call any tool with LLM intelligence"
authors = ["Traitome <https://github.com/Traitome>"]
license-file = "LICENSE"
keywords = ["bioinformatics", "llm", "cli", "automation", "ngs"]
categories = ["command-line-utilities", "science"]
readme = "README.md"
repository = "https://github.com/Traitome/oxo-call"
homepage = "https://github.com/Traitome/oxo-call"

[dependencies]
clap = { version = "4.5", features = ["derive", "env"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.8"
anyhow = "1.0"
thiserror = "2.0"
colored = "2.2"
chrono = { version = "0.4", features = ["serde"] }
uuid = { version = "1", features = ["v4"] }
ed25519-dalek = "2"
base64 = "0.22"

# ── Native-only dependencies (not available on wasm32) ────────────────────────
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
tokio = { version = "1", features = ["full"] }
reqwest = { version = "0.12", features = ["json", "rustls-tls"], default-features = false }
directories = "6.0"
which = "7.0"
indicatif = "0.17"

# ── WebAssembly dependencies ──────────────────────────────────────────────────
[target.'cfg(target_arch = "wasm32")'.dependencies]
tokio = { version = "1", features = ["rt", "macros"] }

[dev-dependencies]
tempfile = "3"

[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true
