[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 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 # `agent-schedules` and `agent-inference`: the schedule ticker and the # inference poller each read their own key 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", ] } # This agent's own queue secret, read from the store under its own certificate. swarm-secret-client.workspace = true 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] tempfile = "3" tokio = { workspace = true, features = ["test-util"] } tower = { version = "0.5", features = ["util"] } # 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`.