Expand description
In-app DevTools for Sova — thin host bridge + SPA panel.
Enable only in development ([development.devtools] enabled = true or
SOVA_DEVTOOLS=1). Injects into text/html responses only.
Host pages get a tiny bridge.js (bar + dock iframe). The Vue app
is served at /_devtools/app. Bar toggles the dock iframe; “New tab”
only opens the SPA in a browser tab (no persisted mode).
Frontend: ui/ (Vite + Vue + Tailwind + Pinia + Vue Router + TS).
Build: npm --prefix ui ci && npm --prefix ui run build → assets/.
Structs§
- Custom
Event - DevTools
- In-app DevTools (HTML inject + SSE timeline). Disabled unless development / env.
- DevTools
Bag - Per-request collection bag (stored on Request extensions).
- DevTools
Hub - Shared DevTools state installed on the app.
- Http
Line - LogLine
- Memory
Sample - Memory
Summary - Query
Line - Request
Snapshot
Constants§
Functions§
- inject_
body - Insert toolbar + assets. Returns
Nonewhen already present / empty.