[package] name = "hive-agent" edition.workspace = true version.workspace = true readme = "README.md" [lints] workspace = true [dependencies] anyhow.workspace = true # Named directly for the client type the publishers hold, and for `jetstream`, # which the icon publisher's acked write needs. The connect and the credential # handling live in `swarm-queue-client` below. async-nats = { workspace = true, features = ["jetstream"] } axum.workspace = true backon.workspace = true chrono.workspace = true reqwest.workspace = true hyper.workspace = true hyper-util.workspace = true http-body-util.workspace = true futures-util = "0.3" clap.workspace = true hive-claude.workspace = true hive-runtime.workspace = true hive-agent-sock.workspace = true hive-core-agent-sock.workspace = true hive-log.workspace = true hive-sh4re.workspace = true hive-sock-client.workspace = true libc.workspace = true opentelemetry.workspace = true opentelemetry_sdk.workspace = true opentelemetry-otlp.workspace = true rmcp.workspace = true rusqlite.workspace = true schemars.workspace = true serde.workspace = true serde_json.workspace = true # The git blob id of AGENTS.md, the revision an edit from the swarm names. sha1 = "0.10" # `agent-schedules`, `agent-inference` and `operator-profiles`: the schedule # ticker and the inference poller each read their own key, and the prompt # renderer the operator list, with one direct get. # `kv`/`notices` name buckets and streams this harness opens neither end of, # and the terminal publisher is a plain core-subject publish. swarm-queue-client = { workspace = true, features = [ "agent-schedules", "agent-inference", "agent-permissions", "agents-md-initial", "operator-profiles", ] } # This agent's own queue secret, read from the store under its own certificate. swarm-secret-client.workspace = true # The directory an AGENTS.md edit is applied in, and the file it is written # through. tempfile = "3" tokio.workspace = true tokio-stream.workspace = true tower-http.workspace = true tracing.workspace = true # `test-util` for `#[tokio::test(start_paused = true)]`: `swarm_agent_state`'s # refresh test waits out its one-minute interval on paused time. [dev-dependencies] tokio = { workspace = true, features = ["test-util"] } tower = { version = "0.5", features = ["util"] } # A layer that captures `swarm_queue`'s exhausted-connect log event in a test. tracing-subscriber.workspace = true # Single harness serve-loop binary: `hive-agent` (from `src/main.rs`). # The sibling MCP server is its own bin crate now (`hive-agent-mcp`). # Privilege boundary is enforced server-side at the socket (tool # groups / manager surface). # See `docs/turn-loop/README.md::Harness binary shape`.