Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/hive-types
Repository files (latest commit first)
Filename Latest commit message Latest commit date
iris 6739bb903d docs: sort the top-level directories into five sections by what the reader wants
Every docs directory moves under 1-getting-started, 2-handbook,
4-implementation or 5-project; the options reference (section 3) comes from
the website and has no directory here. trust-boundary stays whole under the
handbook for now. web-ui, swarm and tools split between handbook and
implementation, and the command-line references move to
2-handbook/reference. Links, path references in code and nix, and the docs
index follow the moves; no page content changes.
2026-11-06 18:46:57 +01:00
..
src add a per-agent nix builds mode, host or none, carried like privateUsers 2026-11-06 09:18:42 +01:00
Cargo.toml logs and metrics permissions, tolerant record decode, hive capabilities 2026-11-01 18:40:35 +01:00
README.md docs: sort the top-level directories into five sections by what the reader wants 2026-11-06 18:46:57 +01:00

hive-types

Foundational shared newtypes for the hyperhive workspace. A zero-dependency (bar serde) leaf crate, so every wire-type crate (hive-sh4re, hive-host-sock, hive-core-agent-sock) and both binaries (hive-c0re, hivectl) can share them without cross-crate coupling and without growing hive-sh4re.

What's here

  • Permission — the set of named permissions an agent may hold, with its stored snake_case names and the MCP and built-in tools each grants.
  • NixBuilds — where an agent's nix builds run (host or none), as services.hyperhive.agent.nixBuilds sets it. It rides the swarm closure record, the builder's reply and the hive-priv wire; a spelling it doesn't know reads as none.
  • Ident — a validated agent-name newtype. Typing agent-name fields as Ident (rather than bare String) gets serde-validated parsing at the socket boundary for free: a malformed name is rejected at deserialize time instead of flowing into a handler that has to re-validate by hand.
  • term_msg — the icons and summary prefixes of a terminal row that sent a message or started a turn from one, and the parsers that read the recipient or sender back out.
  • review — which of a PR's reviews still stand (latest verdict per reviewer, stale or dismissed ones superseded). hive-forge pr assign-reviewer and the notification router's request-reviewer sink share it, so both skip a request on the same grounds.

The crate is deliberately a leaf with the smallest possible dependency footprint so anything in the workspace can depend on it. See docs/5-project/process/conventions.md ("identity = socket") for how agent identity is modelled across the sockets.