hyperhive/hive-sh4re/README.md
atlas bbfc578c95 docs(#2627): add READMEs for the remaining infra crates
Second increment of the per-crate README effort, covering the rest of the
infra/wire/priv column: hive-priv, hive-metric, hive-types, hive-sh4re,
hive-core-agent-sock, hive-agent-sock. Same shape as the first batch —
purpose + when-to-use, and point at the crate-root //! docs plus the
relevant docs/ pages rather than duplicating them. Wires
readme = "README.md" into each Cargo.toml [package].

Disjoint from the batch-1 crates, so the two increments compose cleanly.
2026-07-23 13:16:29 +02:00

33 lines
1.3 KiB
Markdown

# hive-sh4re
The **shared wire types** between `hive-c0re` and the in-container harness — the
common vocabulary (`Message`, `Approval`, `LooseEnd`, `HelperEvent`, the
Agent / Manager request + response shapes) that the unix-socket protocols are
built from.
## Where it sits
This is the shared payload crate; the per-socket *protocol envelopes* have been
split into their own smaller crates so specialised binaries don't have to pull
in all of `hive-sh4re`:
- `hive-host-sock` — host admin socket (`hivectl``hive-c0re`)
- `hive-core-agent-sock` — per-agent/manager socket (`/run/hive/mcp.sock`)
- `hive-priv-sock` — the privileged-helper socket
Those crates re-export or reference the payload types that still live here
(`Approval`, `Message`, `LooseEnd`, …).
## Modules
- **`jobs`** — the job-queue wire types (`DagView`) surfaced to the dashboard SSE
stream + hivectl.
- **`wire_time`** — the timestamp convention: wire fields are
`chrono::DateTime<Utc>` (serialized RFC 3339), while sqlite storage + input
args stay unix-epoch `i64`; this module owns the two boundary conversions.
- **`paths`** — well-known on-disk path helpers.
- **`assets`** — resolves bundled runtime asset paths (branding, prompts) under
`HIVE_ASSETS_DIR`.
Agent-name fields are typed as `hive_types::Ident` for serde-validated parsing at
the socket boundary.