From 4769d7ce5a59075efc8e4311548f07016bddcce5 Mon Sep 17 00:00:00 2001 From: iris Date: Thu, 4 Jun 2026 21:45:32 +0200 Subject: [PATCH] docs: remove stale /api/agent/{name}/links references The c0re-proxy endpoint was removed in the dashboard-state refactor. Links are now served by agent_links() via two agent-local endpoints: StateSnapshot.links (GET /api/state, per-agent page) and DashboardState.links (GET /api/dashboard-state, dashboard card). Update docs/web-ui/agent.md and the StateSnapshot.links doc comment to reflect the current source of truth. --- docs/web-ui/agent.md | 8 ++++++-- hive-ag3nt/src/web_ui.rs | 11 +++++------ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/docs/web-ui/agent.md b/docs/web-ui/agent.md index fd2039c4..288012b3 100644 --- a/docs/web-ui/agent.md +++ b/docs/web-ui/agent.md @@ -27,8 +27,12 @@ through. Three flex columns: `⬡ forge` (profile) + `↳ config` (agent-configs mirror) when the agent has a forge account; any `hyperhive.dashboardLinks` extras (`kind = External`). A `↑ dashboard` link is prepended by the JS - so the host dashboard is one click away. `GET /api/agent/{name}/links` - is the single source of truth. Each `NavLink.kind` resolves + so the host dashboard is one click away. Links come from + `StateSnapshot.links` (served by `GET /api/state`); the same set + also appears in `DashboardState.links` (`GET /api/dashboard-state`) + for the dashboard card's icon strip. Both are produced by + `agent_links()` in hive-ag3nt — the single source of truth. + Each `NavLink.kind` resolves differently in the frontend: `Container` → same-origin path (the agent page is itself container-local); `Forge` → `http://:3000`; `External` → already absolute. diff --git a/hive-ag3nt/src/web_ui.rs b/hive-ag3nt/src/web_ui.rs index 799682a9..e81021c4 100644 --- a/hive-ag3nt/src/web_ui.rs +++ b/hive-ag3nt/src/web_ui.rs @@ -416,12 +416,11 @@ struct StateSnapshot { /// Cumulative token usage across the most recent turn's inferences /// (cost signal). `null` until the first turn finishes. cost_usage: Option, - /// Navigation links for this agent page. The same list feeds the - /// dashboard card's icon-only nav strip via hive-c0re's - /// `GET /api/agent/{name}/links` same-origin passthrough proxy - /// — single source of truth, no CORS. Per-agent page also reads - /// this directly. See [`docs/web-ui/dashboard.md::Container row`] for the - /// frontend resolver + which links appear in which conditions. + /// Navigation links for this agent page. Also served via + /// `DashboardState.links` (`GET /api/dashboard-state`) for the + /// dashboard card's icon strip. Both are produced by `agent_links()` + /// — single source of truth. See [`docs/web-ui/dashboard.md::Container row`] + /// for the frontend resolver + which links appear in which conditions. links: Vec, /// Public URL of the forge served by hive-gateway (e.g. /// `"https://forge.pr1ma.darkest.space"`). Sourced from