Web UI with session management. Node entry serves it over HTTP+SSE; browser entry mounts the same UI in-process. Both share index.html + app.js.
Telegram bot frontend
In-process browser chat frontend: renders to the DOM and drives the session runner directly (no HTTP/SSE server).