Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/hive-ag3nt/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
iris 222a5b4dc6 dashboard+agent: agent backend owns its nav links; dashboard proxies
The previous take put a shared NavLink wire type in hive-sh4re and
duplicated the link-building logic across crates. Per @mara on #326:
that doesn't fit the eventual frontend/backend split goal (#273).
The agent backend is the natural source of truth for what links its
own page exposes; hive-c0re just passes the list through to the
dashboard.

* hive-ag3nt/src/web_ui.rs: agent_links now also serves the
  config-repo link + reads agent-declared dashboardLinks extras
  from {state_dir}/hyperhive-dashboard-links.json. AgentLink gains a
  kind enum (Container | Forge | External) so the frontend can build
  the right href no matter which surface is rendering. The host
  header is no longer used — URLs are paths for Container/Forge,
  absolute for External.

* hive-c0re/src/dashboard.rs: new GET /api/agent/{name}/links route,
  a same-origin proxy that fetches the agent's /api/state and
  forwards just the links field. No shared wire type — hive-c0re
  treats the payload as opaque JSON (serde_json::Value). All failure
  modes degrade to an empty list so the dashboard still renders.

* hive-c0re/assets/app.js: container card head row gets an async-
  populated icon-only nav strip from the proxy. The hardcoded stats
  link, the standalone config-repo trigger, and the extras block are
  gone. The deployed:<sha> chip stays — the agent harness can't know
  its own deployed sha, so this chip is how the operator sees what's
  live alongside the agent's (root-only) config link.

* hive-ag3nt/assets/app.js: agent page meta-links rendered via
  el() / textContent (DOM build) so agent-declared icon / label / url
  strings never reach innerHTML. kind-based href resolution mirrors
  the dashboard side.

* docs/web-ui.md: dashboard + per-agent sections updated for the new
  architecture.

Closes #262.
2026-05-23 02:11:40 +02:00
..
bin refactor: split long functions per review feedback; remove all #[allow] attributes 2026-05-22 19:24:44 +02:00
client.rs docs: add missing #[must_use], # Errors, # Panics across public api 2026-05-22 19:41:27 +02:00
events.rs events: HIVE_DEFAULT_MODEL takes priority over persisted model (closes #319) 2026-05-23 00:38:17 +02:00
forge_notify.rs forge_notify: include reason field in all notification messages (closes #110) 2026-05-22 23:59:47 +02:00
lib.rs refactor: extract format_wake_prompt/now_unix/build_row into serve_common (closes #169) 2026-05-21 18:53:41 +02:00
login.rs refactor: per-agent state paths (/agents/{label}/state), centralize in paths.rs 2026-05-16 15:18:32 +02:00
login_session.rs docs: add missing #[must_use], # Errors, # Panics across public api 2026-05-22 19:41:27 +02:00
mcp.rs docs: add missing #[must_use], # Errors, # Panics across public api 2026-05-22 19:41:27 +02:00
paths.rs fix: manager uses /agents/hm1nd/state, not /state, for HYPERHIVE_STATE_DIR 2026-05-20 13:35:12 +02:00
plugins.rs add optional in_reply_to field on send for conversation threading 2026-05-20 13:35:27 +02:00
serve_common.rs docs: add missing #[must_use], # Errors, # Panics across public api 2026-05-22 19:41:27 +02:00
stats.rs docs: add missing #[must_use], # Errors, # Panics across public api 2026-05-22 19:41:27 +02:00
turn.rs fix: self-calibrate context window from API result event 2026-05-22 22:20:07 +02:00
turn_stats.rs docs: add missing #[must_use], # Errors, # Panics across public api 2026-05-22 19:41:27 +02:00
web_ui.rs dashboard+agent: agent backend owns its nav links; dashboard proxies 2026-05-23 02:11:40 +02:00