Commit Graph

10 Commits

Author SHA1 Message Date
AskaEth 5cef8cdbc4 feat(daemon): add stealth navigator property injection (Task 11) 2026-08-12 21:04:49 +08:00
AskaEth 2ee59182bb feat(daemon): implement action routes and cookie management (Task 10)
- Add action endpoints: click/type/scroll/eval/wait/navigate
- Add cookie endpoints: GET/POST/DELETE /pages/:id/cookies
- Register actionRoutes in server.ts
- 23 integration tests with mock BrowserManager
2026-08-12 21:02:46 +08:00
AskaEth 55fc75eb54 feat(daemon): implement content routes for screenshot/text/html retrieval (Task 9)
- Add contentRoutes handler factory in routes/content.ts
- GET /pages/:id/screenshot returns PNG as base64
- GET /pages/:id/text returns document.body.innerText
- GET /pages/:id/html returns document.documentElement.outerHTML
- All use safeStringify, 404 on PAGE_NOT_FOUND
- Register contentRoutes in server.ts
- Add 8 integration tests with mock BrowserManager
2026-08-12 20:58:37 +08:00
AskaEth dd79194179 fix: add PageRegistry.clear() and getAll(), fix BrowserManager.cleanup() to clear registry 2026-08-12 20:56:16 +08:00
AskaEth ac503a5ca3 feat(daemon): implement page CRUD routes (Task 8)
- Add routes/pages.ts with pageRoutes handler for POST/GET/DELETE /pages
- Handle POST /pages (create), GET /pages (list), GET /pages/:id, DELETE /pages/:id
- Use safeStringify for all JSON output, proper error codes for 400/404/409/500
- Update server.ts to accept optional BrowserManager and register pageRoutes
- Add 13 unit tests with mock BrowserManager covering all endpoints
2026-08-12 20:55:36 +08:00
AskaEth a8fb781a7c feat: add browser manager with page registry and Playwright stealth integration
- PageRegistry: thread-safe in-memory registry for tracking active pages by ID and alias
- BrowserManager: Playwright browser lifecycle with stealth plugin, context creation, and page navigation
- 8 unit tests for PageRegistry (add, get, findByIdOrAlias, hasAlias, remove, list)
- 8 integration tests for BrowserManager (skipped by default, guard: VISIONL_INTEGRATION=1)
- Fix: PageInfo import in core/client.ts (was incorrectly imported from api.js instead of page.js)
2026-08-12 20:51:08 +08:00
AskaEth 513da621c6 feat: add pidfile management for daemon process tracking 2026-08-12 20:47:34 +08:00
AskaEth 19d67cfda9 feat: add daemon server skeleton with health check endpoint 2026-08-12 20:45:25 +08:00
AskaEth 01701e461a fix: align daemon package.json main field with source placeholder 2026-08-12 20:37:26 +08:00
AskaEth 1392357dc1 chore: initialize monorepo scaffold with npm workspaces 2026-08-12 20:36:12 +08:00