e2e-pilot 0.0.70 → 0.0.72

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -2,7 +2,9 @@
2
2
  import { cac } from 'cac';
3
3
  import fs from 'node:fs';
4
4
  import path from 'node:path';
5
- import { spawn } from 'node:child_process';
5
+ import { exec, spawn } from 'node:child_process';
6
+ import { promisify } from 'node:util';
7
+ import chalk from 'chalk';
6
8
  import { fileURLToPath } from 'node:url';
7
9
  import { chromium } from 'playwright-core';
8
10
  import { startE2EPilotCDPRelayServer } from './cdp-relay.js';
@@ -207,6 +209,59 @@ async function readStdin() {
207
209
  process.stdin.on('error', reject);
208
210
  });
209
211
  }
212
+ function copyDirRecursive(src, dest) {
213
+ fs.mkdirSync(dest, { recursive: true });
214
+ for (const entry of fs.readdirSync(src, { withFileTypes: true })) {
215
+ const srcPath = path.join(src, entry.name);
216
+ const destPath = path.join(dest, entry.name);
217
+ entry.isDirectory()
218
+ ? copyDirRecursive(srcPath, destPath)
219
+ : fs.copyFileSync(srcPath, destPath);
220
+ }
221
+ }
222
+ cli
223
+ .command('chrome', 'Set up the Chrome extension for E2E Pilot')
224
+ .action(async () => {
225
+ const execAsync = promisify(exec);
226
+ const extensionSrc = path.join(__dirname, '..', 'extension-dist');
227
+ const targetDir = path.join(process.cwd(), '.e2e-pilot', 'extension');
228
+ // Verify source exists
229
+ if (!fs.existsSync(extensionSrc)) {
230
+ console.error(chalk.red('Error: Extension files not found.'));
231
+ process.exit(1);
232
+ }
233
+ // Copy extension files
234
+ if (fs.existsSync(targetDir)) {
235
+ fs.rmSync(targetDir, { recursive: true });
236
+ }
237
+ copyDirRecursive(extensionSrc, targetDir);
238
+ // Show instructions first
239
+ console.log();
240
+ console.log(chalk.green.bold('Extension ready!'));
241
+ console.log();
242
+ console.log('Extension files copied to:');
243
+ console.log(chalk.cyan(` ${targetDir}`));
244
+ console.log();
245
+ console.log(chalk.bold('To load in Chrome:'));
246
+ console.log(' 1. Go to', chalk.cyan('chrome://extensions'));
247
+ console.log(' 2. Enable', chalk.yellow('Developer mode'), '(top-right toggle)');
248
+ console.log(' 3. Drag extension folder to chrome');
249
+ console.log();
250
+ // Wait for Enter key
251
+ process.stdout.write('Press Enter to open Chrome and extension folder...');
252
+ await new Promise((resolve) => {
253
+ process.stdin.setRawMode?.(false);
254
+ process.stdin.resume();
255
+ process.stdin.once('data', () => resolve());
256
+ });
257
+ console.log();
258
+ // Open folder and Chrome extensions page (macOS)
259
+ try {
260
+ await execAsync(`open "${targetDir}"`);
261
+ await execAsync('open -a "Google Chrome" "chrome://extensions"');
262
+ }
263
+ catch { /* continue if opening fails */ }
264
+ });
210
265
  cli.help();
211
266
  cli.version(VERSION);
212
267
  cli.parse();
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "manifest_version": 3,
3
3
  "name": "E2E Pilot MCP",
4
- "version": "0.0.70",
4
+ "version": "0.0.72",
5
5
  "description": "Automate your Browser using Cursor, Claude, VS Code. More capable and context efficient than Playwright MCP.",
6
6
  "permissions": [
7
7
  "debugger",
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html>
1
+ <!doctype html>
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="UTF-8" />
@@ -40,8 +40,7 @@
40
40
  }
41
41
 
42
42
  body {
43
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans",
44
- Helvetica, Arial, sans-serif;
43
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif;
45
44
  font-size: 16px;
46
45
  line-height: 1.6;
47
46
  color: var(--color-text);
@@ -87,8 +86,7 @@
87
86
  }
88
87
 
89
88
  code {
90
- font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas,
91
- "Liberation Mono", monospace;
89
+ font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;
92
90
  font-size: 0.875em;
93
91
  background-color: var(--color-code-bg);
94
92
  padding: 0.2em 0.4em;
@@ -125,8 +123,6 @@
125
123
  color: var(--color-heading);
126
124
  }
127
125
 
128
-
129
-
130
126
  .step-number {
131
127
  color: var(--color-link);
132
128
  font-weight: 700;
@@ -188,10 +184,8 @@
188
184
  <h2>Getting Started with E2E Pilot MCP</h2>
189
185
 
190
186
  <p>
191
- Control your browser via extension instead of spawning a full new
192
- Chrome window. Uses less context window by running Playwright CDP
193
- protocol directly. Collaborate with your agent and help get it
194
- unstuck when needed.
187
+ Control your browser via extension instead of spawning a full new Chrome window. Uses less context window by
188
+ running Playwright CDP protocol directly. Collaborate with your agent and help get it unstuck when needed.
195
189
  </p>
196
190
 
197
191
  <h3>Quick Start</h3>
@@ -200,10 +194,7 @@
200
194
  <span class="step-number">1</span>
201
195
  <div class="step-content">
202
196
  <strong>Pin this extension on Chrome toolbar</strong>
203
- <p>
204
- Click the puzzle icon in your Chrome toolbar and pin the
205
- E2E Pilot MCP extension for easy access.
206
- </p>
197
+ <p>Click the puzzle icon in your Chrome toolbar and pin the E2E Pilot MCP extension for easy access.</p>
207
198
  </div>
208
199
  </div>
209
200
 
@@ -212,81 +203,13 @@
212
203
  <div class="step-content">
213
204
  <strong>Click the extension icon</strong>
214
205
  <p>
215
- Click the E2E Pilot MCP extension icon in your browser toolbar
216
- to attach the debugger to the current tab. The icon will turn
217
- green when successfully connected.
218
- </p>
219
- </div>
220
- </div>
221
-
222
- <div class="step">
223
- <span class="step-number">3</span>
224
- <div class="step-content">
225
- <strong>Add the MCP to your agent</strong>
226
- <p>
227
- Add the following configuration to your MCP client settings (e.g.,
228
- Claude Desktop's <code>claude_desktop_config.json</code>):
229
- </p>
230
- <pre><code>{
231
- "mcpServers": {
232
- "e2e-pilot": {
233
- "command": "npx",
234
- "args": [
235
- "-y",
236
- "e2e-pilot@latest"
237
- ]
238
- }
239
- }
240
- }</code></pre>
241
- <p>
242
- Or install directly in Cursor:
243
- </p>
244
- <a
245
- href="https://cursor.com/en/install-mcp?name=playwriter&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyJwbGF5d3JpdGVyQGxhdGVzdCJdfQ%3D%3D"
246
- target="_blank"
247
- rel="noopener noreferrer"
248
- class="install-button"
249
- >
250
- <svg viewBox="0 0 466.73 533.32" xmlns="http://www.w3.org/2000/svg">
251
- <path d="m233.37 266.66 231.16 133.46c-1.42 2.46-3.48 4.56-6.03 6.03l-216.06 124.74c-5.61 3.24-12.53 3.24-18.14 0l-216.06-124.74c-2.55-1.47-4.61-3.57-6.03-6.03z" fill="#72716d"/>
252
- <path d="m233.37 0v266.66l-231.16 133.46c-1.42-2.46-2.21-5.3-2.21-8.24v-250.44c0-5.89 3.14-11.32 8.24-14.27l216.05-124.74c2.81-1.62 5.94-2.43 9.07-2.43z" fill="#55544f"/>
253
- <path d="m464.52 133.2c-1.42-2.46-3.48-4.56-6.03-6.03l-216.06-124.74c-2.8-1.62-5.93-2.43-9.06-2.43v266.66l231.16 133.46c1.42-2.46 2.21-5.3 2.21-8.24v-250.44c0-2.95-.78-5.77-2.21-8.24z" fill="#43413c"/>
254
- <path d="m448.35 142.54c1.31 2.26 1.49 5.16 0 7.74l-209.83 363.42c-1.41 2.46-5.16 1.45-5.16-1.38v-239.48c0-1.91-.51-3.75-1.44-5.36l216.42-124.95h.01z" fill="#d6d5d2"/>
255
- <path d="m448.35 142.54-216.42 124.95c-.92-1.6-2.26-2.96-3.92-3.92l-207.39-119.74c-2.46-1.41-1.45-5.16 1.38-5.16h419.65c2.98 0 5.4 1.61 6.7 3.87z" fill="#fff"/>
256
- </svg>
257
- Install in Cursor
258
- </a>
259
- <p style="margin-top: 1rem;">
260
- This will enable your AI assistant to control the browser through
261
- the extension.
206
+ Click the E2E Pilot MCP extension icon in your browser toolbar to attach the debugger to the current tab.
207
+ The icon will turn green when successfully connected.
262
208
  </p>
263
209
  </div>
264
210
  </div>
265
211
  </section>
266
212
 
267
- <section>
268
- <h2>How It Works</h2>
269
-
270
- <ul>
271
- <li>
272
- <strong>No new Chrome instances:</strong> Works with your current
273
- browser session
274
- </li>
275
- <li>
276
- <strong>No CDP mode required:</strong> No need to restart Chrome
277
- with special flags
278
- </li>
279
- <li>
280
- <strong>Full CDP access:</strong> Complete Chrome DevTools Protocol
281
- capabilities
282
- </li>
283
- <li>
284
- <strong>Visual feedback:</strong> Extension icon changes color to
285
- indicate connection status
286
- </li>
287
- </ul>
288
- </section>
289
-
290
213
  <section>
291
214
  <h2>Icon States</h2>
292
215
 
@@ -297,39 +220,6 @@
297
220
  <li><strong>Red badge (!):</strong> Error occurred</li>
298
221
  </ul>
299
222
  </section>
300
-
301
- <section>
302
- <h2>Privacy &amp; Security</h2>
303
-
304
- <p>
305
- E2E Pilot MCP runs locally in your browser and does not send any
306
- data to external servers. All browser control happens through the
307
- standard Chrome DevTools Protocol on your machine.
308
- </p>
309
- </section>
310
-
311
- <section>
312
- <h2>Need Help?</h2>
313
-
314
- <p>
315
- For issues, feature requests, or contributions, visit the
316
- <a
317
- href="https://github.com/remorses/playwriter"
318
- target="_blank"
319
- rel="noopener noreferrer"
320
- >
321
- GitHub repository
322
- </a>
323
- .
324
- </p>
325
- </section>
326
-
327
- <footer>
328
- <p>
329
- E2E Pilot MCP &copy; Microsoft Corporation &middot; Licensed under
330
- Apache-2.0
331
- </p>
332
- </footer>
333
223
  </main>
334
224
  </body>
335
225
  </html>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "e2e-pilot",
3
3
  "description": "",
4
- "version": "0.0.70",
4
+ "version": "0.0.72",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -37,6 +37,7 @@
37
37
  "@types/ws": "^8.18.1",
38
38
  "@vitest/ui": "^4.0.8",
39
39
  "bippy": "^0.5.27",
40
+ "bun": "^1.3.6",
40
41
  "image-size": "^2.0.2",
41
42
  "e2e-pilot-extension": "workspace:*",
42
43
  "vite-node": "^5.0.0",
@@ -49,7 +50,6 @@
49
50
  "@hono/node-server": "^1.19.6",
50
51
  "@hono/node-ws": "^1.2.0",
51
52
  "@modelcontextprotocol/sdk": "^1.21.1",
52
- "bun": "^1.3.6",
53
53
  "cac": "^6.7.14",
54
54
  "chalk": "^5.6.2",
55
55
  "colord": "^2.9.3",
package/src/cli.ts CHANGED
@@ -3,7 +3,9 @@
3
3
  import { cac } from 'cac'
4
4
  import fs from 'node:fs'
5
5
  import path from 'node:path'
6
- import { spawn } from 'node:child_process'
6
+ import { exec, spawn } from 'node:child_process'
7
+ import { promisify } from 'node:util'
8
+ import chalk from 'chalk'
7
9
  import { fileURLToPath } from 'node:url'
8
10
  import { chromium, Page } from 'playwright-core'
9
11
  import { startE2EPilotCDPRelayServer } from './cdp-relay.js'
@@ -244,6 +246,65 @@ async function readStdin(): Promise<string> {
244
246
  })
245
247
  }
246
248
 
249
+ function copyDirRecursive(src: string, dest: string): void {
250
+ fs.mkdirSync(dest, { recursive: true })
251
+ for (const entry of fs.readdirSync(src, { withFileTypes: true })) {
252
+ const srcPath = path.join(src, entry.name)
253
+ const destPath = path.join(dest, entry.name)
254
+ entry.isDirectory()
255
+ ? copyDirRecursive(srcPath, destPath)
256
+ : fs.copyFileSync(srcPath, destPath)
257
+ }
258
+ }
259
+
260
+ cli
261
+ .command('chrome', 'Set up the Chrome extension for E2E Pilot')
262
+ .action(async () => {
263
+ const execAsync = promisify(exec)
264
+ const extensionSrc = path.join(__dirname, '..', 'extension-dist')
265
+ const targetDir = path.join(process.cwd(), '.e2e-pilot', 'extension')
266
+
267
+ // Verify source exists
268
+ if (!fs.existsSync(extensionSrc)) {
269
+ console.error(chalk.red('Error: Extension files not found.'))
270
+ process.exit(1)
271
+ }
272
+
273
+ // Copy extension files
274
+ if (fs.existsSync(targetDir)) {
275
+ fs.rmSync(targetDir, { recursive: true })
276
+ }
277
+ copyDirRecursive(extensionSrc, targetDir)
278
+
279
+ // Show instructions first
280
+ console.log()
281
+ console.log(chalk.green.bold('Extension ready!'))
282
+ console.log()
283
+ console.log('Extension files copied to:')
284
+ console.log(chalk.cyan(` ${targetDir}`))
285
+ console.log()
286
+ console.log(chalk.bold('To load in Chrome:'))
287
+ console.log(' 1. Go to', chalk.cyan('chrome://extensions'))
288
+ console.log(' 2. Enable', chalk.yellow('Developer mode'), '(top-right toggle)')
289
+ console.log(' 3. Drag extension folder to chrome')
290
+ console.log()
291
+
292
+ // Wait for Enter key
293
+ process.stdout.write('Press Enter to open Chrome and extension folder...')
294
+ await new Promise<void>((resolve) => {
295
+ process.stdin.setRawMode?.(false)
296
+ process.stdin.resume()
297
+ process.stdin.once('data', () => resolve())
298
+ })
299
+ console.log()
300
+
301
+ // Open folder and Chrome extensions page (macOS)
302
+ try {
303
+ await execAsync(`open "${targetDir}"`)
304
+ await execAsync('open -a "Google Chrome" "chrome://extensions"')
305
+ } catch { /* continue if opening fails */ }
306
+ })
307
+
247
308
  cli.help()
248
309
  cli.version(VERSION)
249
310