[package]
name = "libnoa"
version = "0.3.2"
edition = "2021"
rust-version = "1.85"
publish = true
authors = ["langyo <langyo.china@gmail.com>"]
description = "AI-native distributed version control"
license-file = "LICENSE"
repository = "https://github.com/celestia-island/noa"
documentation = "https://docs.rs/libnoa"
readme = "README.md"
keywords = ["vcs", "version-control", "ai", "agent", "git"]
categories = ["artificial-intelligence", "development-tools", "command-line-utilities", "filesystem", "data-structures"]
[[bin]]
name = "noa"
path = "bin/main.rs"
[[bin]]
name = "noa-server"
path = "bin/server.rs"
[lib]
crate-type = ["rlib"]
[dependencies]
redb = "^2"
serde = { version = "^1", features = ["derive"] }
serde_json = "^1"
rmp-serde = "^1"
toml = "^0.8"
clap = { version = "^4", features = ["derive"] }
sha2 = "^0.10"
hex = "^0.4"
base64 = "^0.22"
tokio = { version = "^1", features = ["full"] }
async-trait = "^0.1"
gix = "^0.84"
ignore = "^0.4"
regex = "^1"
axum = "^0.8"
aws-sdk-s3 = { version = "^1", default-features = false, features = ["sigv4a", "rt-tokio"] }
aws-config = { version = "^1", default-features = false, features = ["credentials-process", "rt-tokio", "sso"] }
aws-smithy-http-client = { version = "^1", features = ["rustls-ring"] }
reqwest = { version = "^0.12", default-features = false, features = ["rustls-tls", "json", "multipart"] }
suppaftp = { version = "^9", features = ["tokio"], optional = true }
anyhow = "^1"
thiserror = "^2"
chrono = "^0.4"
tracing = "^0.1"
tracing-subscriber = "^0.3"
getrandom = "^0.2"
subtle = "^2"
crossterm = "^0.27"
ratatui = { version = "^0.29", features = ["crossterm"] }
[features]
default = ["ftp"]
ftp = ["suppaftp"]
[dev-dependencies]
tempfile = "^3"
tower = "^0.5"