Files
buzz/crates/buzz-acp/Cargo.toml
Duncan 88f9341b2a feat(acp): enforce deterministic agent git commit identity
Managed agents commit through a Git wrapper that pins author/committer to
the agent's Nostr identity, signs with the agent key, and refuses identity
overrides, so commit attribution no longer depends on host Git config.

Co-authored-by: Will Pfleger <pfleger.will@gmail.com>
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
2026-09-30 10:24:04 -04:00

90 lines
2.0 KiB
TOML

[package]
name = "buzz-acp"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
description = "ACP harness that bridges Buzz events to AI agents"
[lib]
name = "buzz_acp"
path = "src/lib.rs"
[[bin]]
name = "buzz-acp"
path = "src/main.rs"
[dependencies]
# Internal
buzz-core = { workspace = true }
buzz-sdk = { workspace = true }
buzz-persona = { path = "../buzz-persona" }
# Git multicall helpers and ephemeral key ownership
git-credential-nostr = { path = "../git-credential-nostr" }
git-sign-nostr = { path = "../git-sign-nostr" }
tempfile = "3"
zeroize = { workspace = true }
# Nostr
nostr = { workspace = true }
# Async runtime
tokio = { workspace = true, features = ["io-std"] }
# WebSocket
tokio-tungstenite = { workspace = true }
# Codec (bounded line reads)
tokio-util = { workspace = true }
rustls = { version = "0.23", default-features = false, features = ["ring", "std"] }
futures-util = { workspace = true }
# HTTP (channel discovery REST API)
reqwest = { workspace = true }
# Serialization
serde = { workspace = true }
serde_json = { workspace = true }
# IDs
uuid = { workspace = true }
chrono = { workspace = true }
# URL parsing
url = { workspace = true }
# NIP-98 HTTP auth signing
sha2 = { workspace = true }
base64 = "0.22"
hex = { workspace = true }
buzz-git-identity = { path = "../buzz-git-identity" }
# Logging
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
# Error handling
thiserror = { workspace = true }
anyhow = { workspace = true }
# CLI
clap = { version = "4", features = ["derive", "env"] }
# Config file
toml = "1.0"
# Filter expressions
evalexpr = { workspace = true }
# Process-group kill (safe wrapper around killpg) — Unix-only; kill_process_group
# has a #[cfg(not(unix))] fallback in acp.rs.
[target.'cfg(unix)'.dependencies]
nix = { version = "0.31", default-features = false, features = ["signal", "user"] }
[dev-dependencies]
axum = { workspace = true }
tokio = { workspace = true, features = ["test-util"] }
httparse = "1"