[package] name = "hive-forge" edition.workspace = true version.workspace = true readme = "README.md" [[bin]] name = "hive-forge" path = "src/main.rs" [dependencies] anyhow = { workspace = true } clap = { workspace = true } # `sync` = blocking client (hive-forge is a blocking CLI). TLS backend # comes from workspace feature unification on reqwest: the # `rustls-tls-native-roots` feature below applies to forgejo-api's # internal client too (same compiled reqwest), so the hive-CA trust # note keeps holding. forgejo-api = { workspace = true, features = ["sync"] } url.workspace = true time.workspace = true reqwest = { workspace = true, features = [ "json", # Trust the OS/system CA store (`rustls-native-certs`), plus the bundled # Mozilla roots (`webpki-roots`), so hive-forge validates the hive # gateway's self-signed leaf once the hive CA is in the agent's trust # store (embedded into agent flakes via security.pki.certificateFiles) # AND public CAs still validate. Cargo unifies features across the build, # so both root sources are enabled for every reqwest client; harmless (a # superset of roots, and on NixOS the system store already includes the # Mozilla bundle). (reqwest 0.13 renamed the 0.12 `rustls-tls` / # `rustls-tls-native-roots` features to `rustls` / `rustls-native-certs`.) "rustls", "rustls-native-certs", "webpki-roots", "blocking", "multipart", ] } serde = { workspace = true } serde_json = { workspace = true } [lints] workspace = true