libnoa 0.3.2

AI-native distributed version control
Documentation
[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"] }
# Pure-Rust TLS: use rustls+ring instead of aws-lc-rs (avoids C compilation of aws-lc-sys)
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"