Files
zeekay 6aa36a8a36 feat(admin): embedded admin SPA mounted at /_/agents/
Adds the admin chrome surface alongside the existing 79k LOC product
UI. Two embedded FS:
  - web/client/dist  → product UI (deck.gl, react-flow, xterm) at '/'
  - admin/dist       → admin chrome (orgs, keys, billing) at '/_/agents/'

Files:
  admin/embed.go            - //go:embed all:dist + http.Handler
  admin/dist/.gitkeep       - keeps the dir tracked before sync
  scripts/sync-admin-ui.sh  - copies bun-built bundle from
                              ~/work/hanzo/gui/apps/admin-agent/dist
                              into admin/dist before binary build
  .gitignore                - ignore agentd binary, tmp/, .DS_Store

internal/server/server.go: mount admin.Handler() at /_/agents/* when
admin.IsBuilt() (i.e. sync-admin-ui.sh has run). Only conditional —
local dev without the synced bundle keeps building.

Same shape ~/work/hanzo/tasks uses (ui/embed.go + scripts/sync-admin-ui.sh).
2026-04-27 18:56:01 -07:00
..