First chunk of #589 v0 phase A: plumbing the hive-qualified 'name@hive' form through the per-agent surfaces that the harness itself owns. Broker from/to + dashboard rendering + container_view follow in subsequent PRs once damocles ships the HYPERHIVE_HIVE_DOMAIN env var in harness-base.nix. - new hive_ag3nt::identity module: label() / hive_domain() / qualified_label() / qualify(label). Reads HYPERHIVE_HIVE_DOMAIN (set by hive-c0re.nix module from hyperhive.domain) — when unset or empty, qualified_label degrades to just the short label so existing single-hive deployments are unchanged. Six unit tests cover the set / unset / empty / arbitrary-label paths. - prompt::render gains {qualified_label} substitution alongside the existing {label}. system.md template uses both: the agent intro now reads 'You are hyperhive agent iris (qualified: iris@darkest.space) in a multi-agent system. ... When you're talking to or about a peer on a different hive, use the qualified form (name@hive) so the operator + the manager can disambiguate'. Manager flavor gets the same treatment. - /api/state gains qualified_label: String. Always present, equals label when no domain is configured. - frontend setHeader takes the qualified_label, drives the browser tab title (so two tabs from different hives are distinguishable in the tab bar) while the glyphic #title stays short for the cinematic header. Gated on env var presence — no behaviour change for single-hive deployments. Pairs with damocles's upcoming harness-base.nix HYPERHIVE_HIVE_DOMAIN ship; safe to land in either order.
24 lines
609 B
Rust
24 lines
609 B
Rust
//! Shared in-container harness code used by both `hive-ag3nt` (agent) and
|
|
//! `hive-m1nd` (manager) binaries.
|
|
|
|
pub mod client;
|
|
pub mod events;
|
|
pub mod forge_notify;
|
|
pub mod identity;
|
|
pub mod login;
|
|
pub mod login_session;
|
|
pub mod mcp;
|
|
pub mod paths;
|
|
pub mod plugins;
|
|
pub mod prompt;
|
|
pub mod serve_common;
|
|
pub mod stats;
|
|
pub mod turn;
|
|
pub mod turn_stats;
|
|
pub mod web_ui;
|
|
|
|
/// Default socket path inside the container — bind-mounted by `hive-c0re`.
|
|
pub const DEFAULT_SOCKET: &str = "/run/hive/mcp.sock";
|
|
|
|
/// Default web UI port — used when `HIVE_PORT` env is unset.
|
|
pub const DEFAULT_WEB_PORT: u16 = 8042;
|