feat(daemon): add WebSocket relay with console/network monitoring

- Add ws-relay.ts: WebSocket server at /ws with broadcast function
- Add network event types (request/response/failed) to core ws.ts types
- Add ConsoleEntry and NetworkEntry types
- Add consoleLog and networkLog buffers to PageRegistry (100/200 max)
- Add console listener in createPage: broadcasts page:console events
- Add network listeners (request/response/requestfailed) in createPage
- Add page crash handler broadcasting page:crashed events
- Add history endpoints: GET /pages/:id/console and GET /pages/:id/network
- Integrate createWsRelay in server.ts startup
- Bump ws from devDependency to full dependency
This commit is contained in:
2026-08-12 21:28:02 +08:00
parent b843eea9ae
commit e79590a6d8
10 changed files with 220 additions and 13 deletions
+2
View File
@@ -4,6 +4,7 @@ import { pageRoutes } from './routes/pages.js';
import { contentRoutes } from './routes/content.js';
import { actionRoutes } from './routes/actions.js';
import type { BrowserManager } from './browser-manager.js';
import { createWsRelay } from './ws-relay.js';
export function startServer(port: number, browserManager?: BrowserManager): Promise<http.Server> {
const routes = [healthRoute];
@@ -24,6 +25,7 @@ export function startServer(port: number, browserManager?: BrowserManager): Prom
server.listen(port, '127.0.0.1', () => {
console.log(`[daemon] VisionL daemon started on http://127.0.0.1:${port}`);
createWsRelay(server);
resolve(server);
});
});