a11oy / web /console /README.md
betterwithage's picture
sync(space): full source mirror — resolve all GitHub<->Space drift (CTO)
a6a5d8e verified
|
Raw
History Blame
1.97 kB

a11oy operator console (SPA)

A small, self-contained operator console for a11oy with 5 working routes, each backed by a real a11oy serve HTTP endpoint.

Route Label a11oy endpoint
/ Health GET /healthz + GET /readyz
/ledger Proof Ledger GET /v1/ledger?limit=N
/receipt/:hash Receipt GET /v1/ledger/{hash}
/verify Verify POST /v1/verify
/policy Policy POST /v1/policy/evaluate

Why this exists

The mining audit recorded that a11oy's existing web surface (web/src/App.tsx, ~470 lazy imports) depends on ~30 platform workspace packages that are not part of this repository, so it cannot build here. The audit's instruction was to give the SPA the 5 working routes from the mined route surface rather than resurrect the dead-import surface.

This console is that deliverable. The 5 routes are derived from the mined a11oy MCP/CLI route surface and wired to the HTTP endpoints a11oy actually serves (see packages/receipt-substrate/src/serve.ts, the a11oy serve subcommand).

The legacy surface in web/src/ is left in place (Operating Principle #10: annotate stale content, do not silently delete). This console is additive and self-contained: its only dependencies are react, react-dom, and wouter.

Run

# 1. start a11oy's HTTP server (the data source)
a11oy serve --port 8080

# 2. start the console (dev proxies /v1, /healthz, /readyz to :8080)
cd web/console && npm install && npm run dev

Point at a remote substrate with VITE_A11OY_BASE_URL=https://a11oy.example.

Test

npm test   # node --experimental-strip-types src/a11oyClient.test.ts

The test boots a real node:http server matching the a11oy serve route contract and exercises every route's backing call over real TCP via Node's global fetch — no transport mock.

License

Apache-2.0 © 2026 SZL Holdings (Stephen P. Lutar Jr., ORCID 0009-0001-0110-4173)