From 39fe0f306a62f207a83c1be61f3451e012e18dee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?m=C3=BCde?= Date: Tue, 7 Jul 2026 08:48:07 +0200 Subject: [PATCH] build: add forgejo-api workspace dep (sync feature for hive-forge) --- Cargo.lock | 91 ++++++++++++++++++++++++++++++++++++++++++- Cargo.toml | 4 ++ hive-ag3nt/Cargo.toml | 2 + hive-c0re/Cargo.toml | 2 + hive-forge/Cargo.toml | 7 ++++ 5 files changed, 105 insertions(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index 2e4e59c1..b45078fc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -630,6 +630,16 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "core-foundation" version = "0.10.1" @@ -862,6 +872,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" dependencies = [ "powerfmt", + "serde_core", ] [[package]] @@ -924,6 +935,15 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91622ff5e7162018101f2fea40d6ebf4a78bbe5a49736a2020649edf9693679e" +[[package]] +name = "encoding_rs" +version = "0.8.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" +dependencies = [ + "cfg-if", +] + [[package]] name = "equivalent" version = "1.0.2" @@ -1057,6 +1077,27 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" +[[package]] +name = "forgejo-api" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c51fffa047d5836a4d89179a20b21b7e41ad97e713104752169d819b83c9158" +dependencies = [ + "base64ct", + "bytes", + "futures", + "reqwest", + "serde", + "serde_json", + "soft_assert", + "thiserror 1.0.69", + "time", + "tokio", + "url", + "urlencoding", + "zeroize", +] + [[package]] name = "form_urlencoded" version = "1.2.2" @@ -1338,6 +1379,7 @@ dependencies = [ "anyhow", "axum", "clap", + "forgejo-api", "futures-util", "hive-claude", "hive-sh4re", @@ -1353,6 +1395,7 @@ dependencies = [ "tower-http", "tracing", "tracing-subscriber", + "url", ] [[package]] @@ -1384,6 +1427,7 @@ dependencies = [ "clap", "clap-markdown", "clap_complete", + "forgejo-api", "hive-sh4re", "libc", "listenfd", @@ -1398,6 +1442,7 @@ dependencies = [ "tokio-stream", "tracing", "tracing-subscriber", + "url", ] [[package]] @@ -1417,9 +1462,11 @@ version = "0.1.0" dependencies = [ "anyhow", "clap", + "forgejo-api", "reqwest", "serde", "serde_json", + "url", ] [[package]] @@ -1631,9 +1678,11 @@ dependencies = [ "percent-encoding", "pin-project-lite", "socket2", + "system-configuration", "tokio", "tower-service", "tracing", + "windows-registry", ] [[package]] @@ -3018,6 +3067,7 @@ checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" dependencies = [ "base64", "bytes", + "encoding_rs", "futures-channel", "futures-core", "futures-util", @@ -3030,6 +3080,7 @@ dependencies = [ "hyper-util", "js-sys", "log", + "mime", "mime_guess", "percent-encoding", "pin-project-lite", @@ -3457,7 +3508,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" dependencies = [ "bitflags", - "core-foundation", + "core-foundation 0.10.1", "core-foundation-sys", "libc", "security-framework-sys", @@ -3689,6 +3740,12 @@ dependencies = [ "windows-sys 0.61.2", ] +[[package]] +name = "soft_assert" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5097ec7ea7218135541ad96348f1441d0c616537dd4ed9c47205920c35d7d97" + [[package]] name = "spki" version = "0.7.3" @@ -3786,6 +3843,27 @@ dependencies = [ "syn", ] +[[package]] +name = "system-configuration" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b" +dependencies = [ + "bitflags", + "core-foundation 0.9.4", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "tempfile" version = "3.27.0" @@ -4596,6 +4674,17 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" +[[package]] +name = "windows-registry" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" +dependencies = [ + "windows-link", + "windows-result", + "windows-strings", +] + [[package]] name = "windows-result" version = "0.4.1" diff --git a/Cargo.toml b/Cargo.toml index 873c0434..dc17b915 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -68,6 +68,10 @@ reqwest = { version = "0.12", default-features = false, features = [ "json", "rustls-tls", ] } +forgejo-api = { version = "0.11", default-features = false, features = [ + "rustls-tls", +] } +url = "2" petgraph = { version = "0.8", default-features = false, features = ["std"] } matrix-sdk = { version = "0.14", default-features = false, features = [ "rustls-tls", diff --git a/hive-ag3nt/Cargo.toml b/hive-ag3nt/Cargo.toml index 159d220e..9f041cc3 100644 --- a/hive-ag3nt/Cargo.toml +++ b/hive-ag3nt/Cargo.toml @@ -10,6 +10,8 @@ workspace = true anyhow.workspace = true axum.workspace = true reqwest.workspace = true +forgejo-api.workspace = true +url.workspace = true futures-util = "0.3" clap.workspace = true hive-claude.workspace = true diff --git a/hive-c0re/Cargo.toml b/hive-c0re/Cargo.toml index afa5ef54..de3e6b77 100644 --- a/hive-c0re/Cargo.toml +++ b/hive-c0re/Cargo.toml @@ -12,6 +12,8 @@ chrono.workspace = true base64.workspace = true bcrypt.workspace = true reqwest.workspace = true +forgejo-api.workspace = true +url.workspace = true clap.workspace = true clap_complete.workspace = true clap-markdown = "0.1" diff --git a/hive-forge/Cargo.toml b/hive-forge/Cargo.toml index d7ecb4fc..5886ce1b 100644 --- a/hive-forge/Cargo.toml +++ b/hive-forge/Cargo.toml @@ -10,6 +10,13 @@ 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 reqwest = { workspace = true, features = [ "json", # Trust the OS/system CA store (rustls-native-certs), not only the