Land argus's review nit from #2654 (it was pushed to that PR's branch as fc4230f2 but got orphaned when the branch was merged + auto-deleted before the fix landed). The hive-sh4re README opening said 'Agent / Manager request + response shapes', which reads as if the wire envelopes still live here; they moved to the per-socket crates. Now says 'shared payload vocabulary' and notes where the envelopes live.
34 lines
1.4 KiB
Markdown
34 lines
1.4 KiB
Markdown
# hive-sh4re
|
|
|
|
The **shared payload vocabulary** between `hive-c0re` and the in-container
|
|
harness — the common types (`Message`, `Approval`, `LooseEnd`, `HelperEvent`, …)
|
|
that the per-socket wire protocols are built from. The request/response
|
|
*envelopes* themselves now live in the per-socket crates (below); this crate
|
|
holds the payloads they carry.
|
|
|
|
## 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.
|