Files
codebase-memory-mcp/graph-ui/index.html
T
Martin Vogel c8661d7fb1 feat(ui): projects panel keeps indexing, ADR editing and server views in the browser
The previous graph-ui let a reader index a repository from the browser,
delete an index, edit the project's decision record and look at the
server's log and processes. CodeAtlasWeb is read-only by design and sent
all of that to the command line, which for a fresh install means a page
that says "nothing indexed" with no way forward. This adds a [p]rojects
panel (alt+p) in Bernhard's idiom so nothing users have today is cut.

What it does, and how it says so:

- Projects on this server: the list from list_projects over /rpc, with
  root path and counts when the server sends them ("counts not sent"
  when it does not), open (reloads with ?project=), check
  (GET /api/project-health as a sentence), reindex (POST /api/index with
  the root the server reported; no root, no button, a sentence instead)
  and delete (DELETE /api/project) as a two-step question in place.
- Index a repository: path and name (suggested from the last segment),
  a folder browser over GET /api/browse, the index button only once
  both fields are there, the acknowledgement of POST /api/index, and
  the job table from GET /api/index-status polled every 1.5 s while a
  job runs; the list reloads exactly when a job finishes.
- Decision record: GET/POST /api/adr for the open project, with
  "busy" told apart from "refused" by the 423 status.
- This server: GET /api/processes and the GET /api/logs tail.

Every block names its source route, a number the server did not send is
shown as not sent, and no control is on the screen that cannot act
(his promise-scan and style gates stay green; the panel is in the
hardcoded-string scan's file list).

Wiring: AtlasApi grows the routes above with a method-aware request;
the catalog gets a projects section, the menu entry, the help panel
entry and the help wording about what this window can ask the server
to do; WIRED_MENU_SHORTCUTS gains 'p' and the help table picks it up
structurally; the no-project status line points at alt+p.

index.html gets an inline SVG favicon so a fresh page stops logging a
404 for /favicon.ico.

Verified: 2073 vitest tests pass (49 new: model readers, the API
routes with a recording fetch, the panel in jsdom); in the embedded
build against a live server, POST /api/index returned 202, the job
table was polled to "done" and the list refreshed with the new project.

Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-09-05 20:36:10 +02:00

15 lines
606 B
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="color-scheme" content="dark" />
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3E%3Crect width=%2716%27 height=%2716%27 fill=%27%230a0e0d%27/%3E%3Ccircle cx=%278%27 cy=%278%27 r=%274%27 fill=%27%2333ff99%27/%3E%3C/svg%3E" />
<title>CodeAtlas</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>