Commit Graph

766 Commits

Author SHA1 Message Date
Tommy D. Rossi 4cbb3102f8 fix: pass cwd to executor in MCP so file operations use correct directory 2026-01-24 18:07:34 +01:00
Tommy D. Rossi a12b3737e2 docs: simplify editor example with hardcoded URL 2026-01-24 15:26:21 +01:00
Tommy D. Rossi d64229c1ab docs: fix editor example to use grep and proper URL/string format 2026-01-24 15:25:09 +01:00
Tommy D. Rossi 157c3a62d6 docs: add sandbox variables explanation to Examples 2026-01-24 15:23:31 +01:00
Tommy D. Rossi ab113914cd docs: use waitForResponse instead of networkidle 2026-01-24 15:21:34 +01:00
Tommy D. Rossi 2d060a6c59 docs: simplify examples by removing redundant -s flag 2026-01-24 15:21:15 +01:00
Tommy D. Rossi 6f19ec6b29 docs: use waitForLoadState instead of waitForTimeout 2026-01-24 15:20:07 +01:00
Tommy D. Rossi 7d8ab09f70 docs: add examples section, fix state usage, move Playwright API to bottom 2026-01-24 15:18:10 +01:00
Tommy D. Rossi e9ea0061bd docs: clarify session is stateful sandbox 2026-01-24 15:14:48 +01:00
Tommy D. Rossi 38b1b6d3ed docs: improve session isolation, extract MCP to separate file, add remote CLI 2026-01-24 15:10:53 +01:00
Tommy D. Rossi ad6ce1c2a8 remove old md files 2026-01-24 14:29:47 +01:00
Tommy D. Rossi 43ff16d941 Update README.md 2026-01-24 14:28:45 +01:00
Tommy D. Rossi 31bfddef74 chore: release playwriter@0.0.53 2026-01-24 14:26:26 +01:00
Tommy D. Rossi e11322905e add colors to CLI setup messages 2026-01-24 14:25:20 +01:00
Tommy D. Rossi 1d744e7995 fix CLI relay server startup and extension reconnection
- detect source vs compiled via __filename.endsWith('.ts') instead of env var
- add waitForExtension() to poll for extension connection after server start
- CLI waits up to 10s for extension to reconnect before executing commands
2026-01-24 14:23:50 +01:00
Tommy D. Rossi c8e0022790 update readme. show usage with cli first 2026-01-24 14:22:16 +01:00
Tommy D. Rossi fe28456719 Update .gitignore 2026-01-24 14:21:13 +01:00
Tommy D. Rossi 1474b2c38c chore: release playwriter@0.0.52 2026-01-24 13:36:13 +01:00
Tommy D. Rossi 61b0ced02f Update .gitignore 2026-01-24 13:34:44 +01:00
Tommy D. Rossi 2a62fa60d6 add snapshot format option with deduplication for accessibility snapshots
- add compactSnapshot, interactiveSnapshot, deduplicateSnapshot functions
- add format option to accessibilitySnapshot() with default 'interactive-dedup'
- deduplication removes redundant parent names that repeat child content
- compression stats: HN 72% smaller, GitHub 68% smaller vs raw
- add format documentation comment explaining expected aria snapshot structure
2026-01-24 13:32:25 +01:00
Tommy D. Rossi 19d8c78d90 delete files 2026-01-24 13:19:36 +01:00
Tommy D. Rossi 53758bc68c Update .gitignore 2026-01-24 13:19:32 +01:00
Tommy D. Rossi 7c1f00f0f6 refactor tests functions into utils 2026-01-24 13:19:27 +01:00
Tommy D. Rossi de3941da48 add aria snapshots functions 2026-01-24 13:19:13 +01:00
Tommy D. Rossi c2766cb386 feat: pass PLAYWRITER_AUTO_ENABLE when CLI starts relay server 2026-01-24 13:01:57 +01:00
Tommy D. Rossi f391eda881 Update package.json 2026-01-24 12:57:57 +01:00
Tommy D. Rossi 3ef771240a Update package.json 2026-01-24 12:57:41 +01:00
Tommy D. Rossi 1af5aac0cc feat: add session management CLI commands with @xmorse/cac
- Replace cac with @xmorse/cac for space-separated commands
- Add 'playwriter session new' to get new session ID
- Add 'playwriter session list' to show sessions and state keys
- Add 'playwriter session reset <id>' to reset a session
- Update SKILL.md with new CLI docs and multiline examples
- Put -s flag before -e in all examples
2026-01-24 12:57:21 +01:00
Tommy D. Rossi b7edfb52b1 refactor: make SKILL.md source of truth, generate prompt.md from it 2026-01-24 12:21:22 +01:00
Tommy D. Rossi f9869a59f2 refactor: move welcome.html to src/, simplify vite build config, cleanup cli.ts formatting 2026-01-23 23:57:25 +01:00
Tommy D. Rossi 18d0cdb646 Add prompt.md to website public and link in CLI help 2026-01-22 22:06:29 +01:00
Tommy D. Rossi 580c5f4597 docs: update error message references in agent prompts 2026-01-22 20:16:09 +01:00
Tommy D. Rossi fd6ce49a2d test: update assertion for new error message 2026-01-22 20:16:06 +01:00
Tommy D. Rossi 8b603ff766 fix: show log file path on connection refused error 2026-01-22 20:16:03 +01:00
Tommy D. Rossi 2b9d6b4952 feat: improve error messages for extension connection states
- Split NO_TABS_ERROR into EXTENSION_NOT_CONNECTED_ERROR and NO_TABS_ENABLED_ERROR
- Add checkExtensionStatus() to detect extension state before connecting
- Provide actionable guidance in error messages
2026-01-22 20:16:00 +01:00
Tommy D. Rossi 7e2b4e2546 fix: restore relay server auto-recovery on every execute
The old mcp.ts called ensureRelayServer on every execute call to
auto-recover from relay server crashes. This was missing in the
refactored code.
2026-01-22 20:04:05 +01:00
Tommy D. Rossi 62cf6db240 security: block browser access to CLI endpoints
- Add localhost-only check for /cli/* endpoints
- Reject requests with Origin header (browsers always send it, CLI tools don't)
- Prevents website-based attacks even with CORS
2026-01-22 19:54:16 +01:00
Tommy D. Rossi 67dd9aaef4 feat: add -e/--eval CLI flag for code execution
- Add -e/--eval flag to execute JavaScript code via relay server
- Extract PlaywrightExecutor class to shared executor.ts module
- Extract relay server utilities to relay-client.ts
- Add /cli/execute, /cli/reset, /cli/sessions endpoints
- Fix CDP session client ID collision by using fresh unique URLs for each connection
2026-01-22 19:48:43 +01:00
Tommy D. Rossi 58dc932990 Add CLI usage instructions to playwriter skill 2026-01-22 19:31:15 +01:00
Tommy D. Rossi eea0e57a1b Generate playwriter skill for add-skill discovery 2026-01-22 19:27:55 +01:00
Tommy D. Rossi 7fa6049b88 Update PLAYWRITER_AGENTS.md 2026-01-21 21:22:35 +01:00
Tommy D. Rossi 8ab0fda2b7 fix: preserve tabs during relay reconnects 2026-01-21 21:20:29 +01:00
Tommy D. Rossi 93fdcb6b35 feat: first extension with active tabs keeps connection instead of being replaced
- Server rejects new extension (code 4002) if existing has active tabs
- Idle extensions (no tabs) can still be replaced
- Extension properly enters polling mode when rejected during handshake
- /extension/status now returns activeTargets count for smarter reconnection
2026-01-21 19:09:37 +01:00
Tommy D. Rossi c3a6003fa9 gitignore shadcn-ui-accessibility.md snapshot 2026-01-21 18:22:34 +01:00
Tommy D. Rossi d444079e9f use my own install-mcp lib 2026-01-20 14:25:02 +01:00
Tommy D. Rossi 495035ccef fix: sharp fallback with viewport clipping when unavailable 2026-01-19 14:07:01 +01:00
Tommy D. Rossi 6af2373fe6 agents 2026-01-17 00:34:41 +01:00
Tommy D. Rossi 141ace59d7 Update prompt.md 2026-01-17 00:18:43 +01:00
Tommy D. Rossi d2925832aa serve: add --replace flag, make --token optional for localhost 2026-01-16 19:43:39 +01:00
Tommy D. Rossi 868d339a09 exit serve if already connected 2026-01-16 19:36:12 +01:00