parent
0fc77df1a9
commit
8e09f8360a
47 changed files with 98 additions and 1026 deletions
|
|
@ -17,7 +17,7 @@
|
|||
// resolved from @hive/shared)
|
||||
//
|
||||
// The in-container Rust binary mounts `dist/` (with per-agent
|
||||
// `hyperhive.frontend.extraFiles` layered on top) as a
|
||||
// `services.hyperhive.agent.frontend.extraFiles` layered on top) as a
|
||||
// `tower_http::ServeDir` fallback; the layout above keeps every URL
|
||||
// the HTML references reachable without rewriting paths.
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
"name": "@hive/agent",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "hive-ag3nt per-container web UI. Bundled by esbuild into a static dist; served by the in-container Rust binary at runtime via tower_http::ServeDir. Per-agent additions are layered on top via the hyperhive.frontend.extraFiles nix option.",
|
||||
"description": "hive-ag3nt per-container web UI. Bundled by esbuild into a static dist; served by the in-container Rust binary at runtime via tower_http::ServeDir. Per-agent additions are layered on top via the services.hyperhive.agent.frontend.extraFiles nix option.",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"build": "node ./build.mjs",
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
import { useEffect, useRef } from "preact/hooks";
|
||||
import type { ComponentChildren } from "preact";
|
||||
|
||||
// Icon 404s when the agent has no `hyperhive.icon` override (no
|
||||
// Icon 404s when the agent has no `services.hyperhive.agent.icon` override (no
|
||||
// bundled server-side default any more — see
|
||||
// `hive_agent::web_ui::screen::serve_icon`). Ports app.js's
|
||||
// `bindHeaderIconFallback` exactly: fire-and-forget load, swap to
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
// (`@hive/shared/icons.js`'s `LinkIcon` — an emoji glyph can't match a
|
||||
// neighbouring icon's size/weight on any platform, see that file's
|
||||
// comment) in the pills cluster that opens a popover listing
|
||||
// stats/screen/forge/config + any `hyperhive.dashboardLinks` extras,
|
||||
// stats/screen/forge/config + any `services.hyperhive.agent.dashboardLinks` extras,
|
||||
// sourced from the backend's `agent_links()` (the single source of
|
||||
// truth — same list also feeds the dashboard card's icon strip) — plus
|
||||
// a `🧭 dashboard` back-link.
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ export interface AgentState {
|
|||
|
||||
// Mirrors `hive_agent::web_ui::state::AgentLink` — one meta-nav entry
|
||||
// in the agent page header (stats/screen/forge/config + any
|
||||
// `hyperhive.dashboardLinks` extras). `agent_links()` on the backend
|
||||
// `services.hyperhive.agent.dashboardLinks` extras). `agent_links()` on the backend
|
||||
// is the single source of truth for what links an agent exposes; see
|
||||
// docs/web-ui/agent.md::Header for the kind → URL resolution table.
|
||||
export interface AgentLink {
|
||||
|
|
|
|||
|
|
@ -663,7 +663,7 @@ export function renderContainers(s) {
|
|||
// `docs/web-ui/dashboard.md::Container row` + `docs/networking/gateway.md::Vhost map`.
|
||||
const gatewayLinks = !!(s && s.gateway_enabled);
|
||||
// Forge public URL: state.forge_public_url (set by the NixOS module
|
||||
// from services.hyperhive.forge.publicUrl) or null — never guessed
|
||||
// from services.hyperhive.swarm.forge.publicUrl) or null — never guessed
|
||||
// from "<hostname>:3000". `null` propagates down to
|
||||
// buildContainerLi/buildAgentMenu, which already hide forge links
|
||||
// rather than emit a possibly-wrong one.
|
||||
|
|
|
|||
|
|
@ -149,7 +149,7 @@ export function LinkMatrixAccountForm({
|
|||
pattern={ACCOUNT_PATTERN}
|
||||
title="1-63 chars: letters, digits, underscore, hyphen"
|
||||
// Not "primary" — that reads as naming the hive-provided default
|
||||
// account (`main`, reserved: see `hyperhive.matrixAccounts`'s own
|
||||
// account (`main`, reserved: see `services.hyperhive.agent.matrixAccounts`'s own
|
||||
// module doc), which this route can neither create nor touch.
|
||||
// Picking a name with no relationship to that default avoids the
|
||||
// misread entirely, rather than requiring a reader to already know
|
||||
|
|
|
|||
Loading…
Reference in a new issue