Remove the local relay dashboard

Merged
WI
5mo ago
+188-2199

Summary

Removes the local web dashboard (relay-dashboard-server / @agent-relay/dashboard-server) and every reference/dependency on it across the CLI, supporting packages, helper scripts, and current CLI docs.

agent-relay up is now a plain broker launcher:

  • attached by default, --background to detach
  • the dashboard-only flags --no-dashboard, --port, and --foreground are gone

Changes

CLI / broker (packages/cli)

  • broker-lifecycle.ts: removed all dashboard machinery (spawning, static-asset discovery/refresh, the GitHub dashboard-ui.tar.gz download, dashboard port-fallback) and the dead "reuse broker for dashboard" branch. Added resolveBrokerBasePort() backed by AGENT_RELAY_BROKER_PORT (default 3888; broker API binds base+1). Orphan detection now keys on up minus --background instead of the removed --foreground.
  • core.ts: dropped the dashboard flags, the dashboard-binary resolver, and the unused dashboard-port findBrokerApiPort.
  • core-maintenance.ts: uninstall no longer touches dashboard assets, the relay-dashboard-server binary, or the @agent-relay/dashboard-server npm package.
  • telemetry/events.ts: dropped the dashboard / human_dashboard enum members.

Other packages: config (removed the dead localDashboardUrl / LOCAL_DASHBOARD_URL); comment fixes in harness-driver and policy.

Scripts: deleted run-dashboard.js and the stale sibling-repo test-spawn-refactor.sh; fixed removed-flag usages in ci-standalone-smoke.sh, e2e-test.sh (its --port now routes through AGENT_RELAY_BROKER_PORT, so the CI workflow keeps working), the demos, and watch-cli-tools.sh.

Tests: updated core.test.ts, broker-lifecycle.test.ts, and the e2e fleet harness for the new flag/port model.

Docs: removed the dashboard wording and the --no-dashboard/--port/--foreground rows from the current CLI docs (cli-broker-lifecycle.mdx, reference-cli.mdx, cli-overview.mdx). The 7.1.1/ snapshot (incl. relay-dashboard.mdx) is intentionally left as a historical version; generic uses of the word "dashboards" (operator consoles / API consumers) are left intact. The cloud dashboardUrl / appUrl (hosted web app) are a different concept and untouched.

Verification

  • npm run typecheck — passes (exit 0)
  • CLI test suite — 366 passed, 5 skipped