dev3000 0.0.49 → 0.0.51
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/README.md +55 -6
- package/dist/cdp-monitor.d.ts.map +1 -1
- package/dist/cdp-monitor.js +54 -48
- package/dist/cdp-monitor.js.map +1 -1
- package/dist/cli.js +39 -33
- package/dist/cli.js.map +1 -1
- package/dist/dev-environment.d.ts +2 -0
- package/dist/dev-environment.d.ts.map +1 -1
- package/dist/dev-environment.js +212 -181
- package/dist/dev-environment.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/mcp-server/app/api/config/route.ts +7 -7
- package/mcp-server/app/api/logs/append/route.ts +59 -51
- package/mcp-server/app/api/logs/head/route.ts +22 -22
- package/mcp-server/app/api/logs/list/route.ts +39 -42
- package/mcp-server/app/api/logs/rotate/route.ts +28 -38
- package/mcp-server/app/api/logs/stream/route.ts +35 -35
- package/mcp-server/app/api/logs/tail/route.ts +22 -22
- package/mcp-server/app/api/mcp/[transport]/route.ts +189 -188
- package/mcp-server/app/api/replay/route.ts +217 -202
- package/mcp-server/app/layout.tsx +9 -8
- package/mcp-server/app/logs/LogsClient.test.ts +123 -99
- package/mcp-server/app/logs/LogsClient.tsx +724 -562
- package/mcp-server/app/logs/page.tsx +71 -72
- package/mcp-server/app/logs/utils.ts +99 -28
- package/mcp-server/app/page.tsx +10 -14
- package/mcp-server/app/replay/ReplayClient.tsx +120 -119
- package/mcp-server/app/replay/page.tsx +3 -3
- package/mcp-server/next.config.ts +2 -0
- package/mcp-server/package.json +5 -2
- package/mcp-server/pnpm-lock.yaml +37 -5
- package/mcp-server/tsconfig.json +4 -17
- package/package.json +16 -13
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ pnpm install -g dev3000
|
|
|
9
9
|
dev3000
|
|
10
10
|
```
|
|
11
11
|
|
|
12
|
-

|
|
13
13
|
|
|
14
14
|
**You can also connect claude code to the mcp-server to have it issue commands to the browser.**
|
|
15
15
|
|
|
@@ -36,10 +36,10 @@ The tool monitors your app in a real browser and captures:
|
|
|
36
36
|
Give Claude your log file for instant debugging:
|
|
37
37
|
|
|
38
38
|
```
|
|
39
|
-
Read /tmp/
|
|
39
|
+
Read /tmp/d3k.log
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
Logs are automatically saved with timestamps in `/var/log/dev3000/` (or temp directory) and rotated to keep the 10 most recent per project. The current session is always symlinked to `/tmp/
|
|
42
|
+
Logs are automatically saved with timestamps in `/var/log/dev3000/` (or temp directory) and rotated to keep the 10 most recent per project. The current session is always symlinked to `/tmp/d3k.log` for easy access.
|
|
43
43
|
|
|
44
44
|
Or use the MCP server at `http://localhost:3684/api/mcp/mcp` for advanced querying:
|
|
45
45
|
|
|
@@ -48,6 +48,51 @@ Or use the MCP server at `http://localhost:3684/api/mcp/mcp` for advanced queryi
|
|
|
48
48
|
- `get_browser_errors` - Extract browser errors by time period
|
|
49
49
|
- `execute_browser_action` - Control the browser (click, navigate, screenshot, evaluate, scroll, type)
|
|
50
50
|
|
|
51
|
+
### MCP Integration Notes
|
|
52
|
+
|
|
53
|
+
**Cursor Compatibility**: If registering the MCP server directly in Cursor shows "no tools or prompts", first register it with Claude, then it will work in both applications. This is a known Cursor MCP integration issue.
|
|
54
|
+
|
|
55
|
+
## Using the Chrome Extension vs Playwright
|
|
56
|
+
|
|
57
|
+
dev3000 supports two monitoring modes:
|
|
58
|
+
|
|
59
|
+
### Default: Playwright Browser Automation
|
|
60
|
+
|
|
61
|
+
By default, dev3000 launches a Playwright-controlled Chrome instance for comprehensive monitoring.
|
|
62
|
+
|
|
63
|
+
### Alternative: Chrome Extension
|
|
64
|
+
|
|
65
|
+
For a lighter approach, install the dev3000 Chrome extension to monitor your existing browser session.
|
|
66
|
+
|
|
67
|
+
#### Installing the Chrome Extension
|
|
68
|
+
|
|
69
|
+
Since the extension isn't published to the Chrome Web Store, install it locally:
|
|
70
|
+
|
|
71
|
+
1. Open Chrome and navigate to `chrome://extensions/`
|
|
72
|
+
2. Enable "Developer mode" (toggle in top-right corner)
|
|
73
|
+
3. Click "Load unpacked"
|
|
74
|
+
4. Navigate to your dev3000 installation directory and select the `chrome-extension` folder
|
|
75
|
+
5. The extension will now monitor localhost tabs automatically
|
|
76
|
+
|
|
77
|
+
#### Using with -so, --servers-only
|
|
78
|
+
|
|
79
|
+
When using the Chrome extension, start dev3000 with the `--servers-only` flag to skip Playwright:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
dev3000 --servers-only
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
#### Comparison
|
|
86
|
+
|
|
87
|
+
| Feature | Playwright (Default) | Chrome Extension |
|
|
88
|
+
| ------------------- | ------------------------ | ----------------------- |
|
|
89
|
+
| **Setup** | Automatic | Manual install required |
|
|
90
|
+
| **Performance** | Higher resource usage | Lightweight |
|
|
91
|
+
| **Browser Control** | Full automation support | Monitoring only |
|
|
92
|
+
| **User Experience** | Separate browser window | Your existing browser |
|
|
93
|
+
| **Screenshots** | Automatic on events | Manual via extension |
|
|
94
|
+
| **Best For** | Automated testing, CI/CD | Development debugging |
|
|
95
|
+
|
|
51
96
|
## Options
|
|
52
97
|
|
|
53
98
|
```bash
|
|
@@ -56,7 +101,8 @@ dev3000 [options]
|
|
|
56
101
|
-p, --port <port> Your app's port (default: 3000)
|
|
57
102
|
--mcp-port <port> MCP server port (default: 3684)
|
|
58
103
|
-s, --script <script> Package.json script to run (default: dev)
|
|
59
|
-
--
|
|
104
|
+
--servers-only Run servers only, skip browser launch (use with Chrome extension)
|
|
105
|
+
--profile-dir <dir> Chrome profile directory (default: /tmp/dev3000-chrome-profile)
|
|
60
106
|
```
|
|
61
107
|
|
|
62
108
|
Examples:
|
|
@@ -65,7 +111,10 @@ Examples:
|
|
|
65
111
|
# Custom port
|
|
66
112
|
dev3000 --port 5173
|
|
67
113
|
|
|
68
|
-
#
|
|
114
|
+
# Use with Chrome extension (no Playwright)
|
|
115
|
+
dev3000 --servers-only
|
|
116
|
+
|
|
117
|
+
# Custom profile directory
|
|
69
118
|
dev3000 --profile-dir ./chrome-profile
|
|
70
119
|
```
|
|
71
120
|
|
|
@@ -80,7 +129,7 @@ We welcome pull requests (PRs) from the community!
|
|
|
80
129
|
Before submitting a PR:
|
|
81
130
|
|
|
82
131
|
- **Pull the latest changes** from `main`.
|
|
83
|
-
- **Run** `scripts/
|
|
132
|
+
- **Run** `scripts/canary.sh` to test your feature locally and verify what is already in the canary build.
|
|
84
133
|
- **Tip** `dev3000 --version` to verify you're on the canary locally
|
|
85
134
|
- **FYI** .husky/pre-commit.sh runs `pnpm format` to apply biome.json rules to all code
|
|
86
135
|
- Please run and test the canary build locally to avoid duplicating work that may already be done.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdp-monitor.d.ts","sourceRoot":"","sources":["../src/cdp-monitor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cdp-monitor.d.ts","sourceRoot":"","sources":["../src/cdp-monitor.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAE9B,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,GAAG,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,SAAS,CAAA;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,aAAa,CAA+C;IACpE,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,MAAM,CAA2C;IACzD,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,eAAe,CAAI;IAC3B,OAAO,CAAC,gBAAgB,CAA8B;gBAGpD,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,EACjD,KAAK,GAAE,OAAe;IAQxB,OAAO,CAAC,QAAQ;IAMV,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB5B,OAAO,CAAC,iBAAiB;YAkCX,YAAY;YAoFZ,YAAY;YAuFZ,cAAc;YAsDd,gBAAgB;IAsC9B,OAAO,CAAC,kBAAkB;IAgN1B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,gBAAgB;IAelB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YA4ClC,wBAAwB;IAyJtC,OAAO,CAAC,6BAA6B;YAevB,cAAc;IA4BtB,kBAAkB,CAAC,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDnD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAuBhC"}
|
package/dist/cdp-monitor.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { spawn } from "child_process";
|
|
2
|
-
import {
|
|
3
|
-
import { writeFileSync, existsSync, mkdirSync, readFileSync } from "fs";
|
|
4
|
-
import { join, dirname } from "path";
|
|
2
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
5
3
|
import { tmpdir } from "os";
|
|
4
|
+
import { dirname, join } from "path";
|
|
6
5
|
import { fileURLToPath } from "url";
|
|
6
|
+
import { WebSocket } from "ws";
|
|
7
7
|
export class CDPMonitor {
|
|
8
8
|
browser = null;
|
|
9
9
|
connection = null;
|
|
@@ -57,9 +57,9 @@ export class CDPMonitor {
|
|
|
57
57
|
const loadingHtmlPath = join(currentDir, "src/loading.html");
|
|
58
58
|
let loadingHtml;
|
|
59
59
|
try {
|
|
60
|
-
loadingHtml = readFileSync(loadingHtmlPath,
|
|
60
|
+
loadingHtml = readFileSync(loadingHtmlPath, "utf-8");
|
|
61
61
|
}
|
|
62
|
-
catch (
|
|
62
|
+
catch (_error) {
|
|
63
63
|
// Fallback to a simple loading page if file not found
|
|
64
64
|
loadingHtml = `<!DOCTYPE html>
|
|
65
65
|
<html>
|
|
@@ -82,7 +82,7 @@ export class CDPMonitor {
|
|
|
82
82
|
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",
|
|
83
83
|
"google-chrome",
|
|
84
84
|
"chrome",
|
|
85
|
-
"chromium"
|
|
85
|
+
"chromium"
|
|
86
86
|
];
|
|
87
87
|
this.debugLog(`Attempting to launch Chrome for CDP monitoring on port ${this.debugPort}`);
|
|
88
88
|
this.debugLog(`Profile directory: ${this.profileDir}`);
|
|
@@ -99,10 +99,10 @@ export class CDPMonitor {
|
|
|
99
99
|
`--remote-debugging-port=${this.debugPort}`,
|
|
100
100
|
`--user-data-dir=${this.profileDir}`,
|
|
101
101
|
"--no-first-run",
|
|
102
|
-
this.createLoadingPage()
|
|
102
|
+
this.createLoadingPage()
|
|
103
103
|
], {
|
|
104
104
|
stdio: "pipe",
|
|
105
|
-
detached: false
|
|
105
|
+
detached: false
|
|
106
106
|
});
|
|
107
107
|
if (!this.browser) {
|
|
108
108
|
this.debugLog(`Failed to spawn Chrome process for path: ${chromePath}`);
|
|
@@ -169,7 +169,7 @@ export class CDPMonitor {
|
|
|
169
169
|
this.connection = {
|
|
170
170
|
ws,
|
|
171
171
|
sessionId: null,
|
|
172
|
-
nextId: 1
|
|
172
|
+
nextId: 1
|
|
173
173
|
};
|
|
174
174
|
resolve();
|
|
175
175
|
});
|
|
@@ -210,7 +210,7 @@ export class CDPMonitor {
|
|
|
210
210
|
throw new Error(`Failed to connect to CDP after ${maxRetries} attempts: ${error}`);
|
|
211
211
|
}
|
|
212
212
|
// Exponential backoff
|
|
213
|
-
const delay = Math.min(1000 *
|
|
213
|
+
const delay = Math.min(1000 * 2 ** (retryCount - 1), 5000);
|
|
214
214
|
this.debugLog(`Retrying CDP connection in ${delay}ms`);
|
|
215
215
|
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
216
216
|
}
|
|
@@ -225,13 +225,13 @@ export class CDPMonitor {
|
|
|
225
225
|
const command = {
|
|
226
226
|
id,
|
|
227
227
|
method,
|
|
228
|
-
params
|
|
228
|
+
params
|
|
229
229
|
};
|
|
230
230
|
const messageHandler = (data) => {
|
|
231
231
|
try {
|
|
232
232
|
const message = JSON.parse(data.toString());
|
|
233
233
|
if (message.id === id) {
|
|
234
|
-
this.connection
|
|
234
|
+
this.connection?.ws.removeListener("message", messageHandler);
|
|
235
235
|
if (message.error) {
|
|
236
236
|
reject(new Error(message.error.message));
|
|
237
237
|
}
|
|
@@ -241,14 +241,14 @@ export class CDPMonitor {
|
|
|
241
241
|
}
|
|
242
242
|
}
|
|
243
243
|
catch (error) {
|
|
244
|
-
this.connection
|
|
244
|
+
this.connection?.ws.removeListener("message", messageHandler);
|
|
245
245
|
reject(error);
|
|
246
246
|
}
|
|
247
247
|
};
|
|
248
|
-
this.connection
|
|
248
|
+
this.connection?.ws.on("message", messageHandler);
|
|
249
249
|
// Command timeout
|
|
250
250
|
const timeout = setTimeout(() => {
|
|
251
|
-
this.connection
|
|
251
|
+
this.connection?.ws.removeListener("message", messageHandler);
|
|
252
252
|
reject(new Error(`CDP command timeout: ${method}`));
|
|
253
253
|
}, 10000);
|
|
254
254
|
// Clear timeout if command succeeds/fails
|
|
@@ -262,7 +262,7 @@ export class CDPMonitor {
|
|
|
262
262
|
clearTimeout(timeout);
|
|
263
263
|
originalReject(reason);
|
|
264
264
|
};
|
|
265
|
-
this.connection
|
|
265
|
+
this.connection?.ws.send(JSON.stringify(command));
|
|
266
266
|
});
|
|
267
267
|
}
|
|
268
268
|
async enableCDPDomains() {
|
|
@@ -274,14 +274,16 @@ export class CDPMonitor {
|
|
|
274
274
|
"Performance", // Performance metrics
|
|
275
275
|
"Security", // Security events
|
|
276
276
|
"Log", // Browser console logs
|
|
277
|
-
"Input"
|
|
277
|
+
"Input" // Mouse and keyboard input events
|
|
278
278
|
];
|
|
279
279
|
for (const domain of domains) {
|
|
280
280
|
try {
|
|
281
281
|
this.debugLog(`Enabling CDP domain: ${domain}`);
|
|
282
282
|
await this.sendCDPCommand(`${domain}.enable`);
|
|
283
283
|
this.debugLog(`Successfully enabled CDP domain: ${domain}`);
|
|
284
|
-
this.
|
|
284
|
+
if (this.debug) {
|
|
285
|
+
this.logger("browser", `[CDP] Enabled ${domain} domain`);
|
|
286
|
+
}
|
|
285
287
|
}
|
|
286
288
|
catch (error) {
|
|
287
289
|
this.debugLog(`Failed to enable CDP domain ${domain}: ${error}`);
|
|
@@ -294,7 +296,7 @@ export class CDPMonitor {
|
|
|
294
296
|
this.debugLog("Enabling runtime for console and exception capture");
|
|
295
297
|
await this.sendCDPCommand("Runtime.enable");
|
|
296
298
|
await this.sendCDPCommand("Runtime.setAsyncCallStackDepth", {
|
|
297
|
-
maxDepth: 32
|
|
299
|
+
maxDepth: 32
|
|
298
300
|
});
|
|
299
301
|
this.debugLog("CDP domains enabled successfully");
|
|
300
302
|
}
|
|
@@ -312,12 +314,17 @@ export class CDPMonitor {
|
|
|
312
314
|
if (args.length > 0 && args[0].value?.includes("[DEV3000_INTERACTION]")) {
|
|
313
315
|
const interaction = args[0].value.replace("[DEV3000_INTERACTION] ", "");
|
|
314
316
|
this.logger("browser", `[INTERACTION] ${interaction}`);
|
|
317
|
+
// Take screenshot when scroll settles
|
|
318
|
+
if (interaction.startsWith("SCROLL_SETTLED")) {
|
|
319
|
+
this.takeScreenshot("scroll-settled");
|
|
320
|
+
}
|
|
315
321
|
return;
|
|
316
322
|
}
|
|
317
323
|
// Debug: Log all console messages to see if tracking script is even running
|
|
318
|
-
if (args.length > 0 &&
|
|
319
|
-
|
|
320
|
-
|
|
324
|
+
if (args.length > 0 && args[0].value?.includes("CDP tracking initialized")) {
|
|
325
|
+
if (this.debug) {
|
|
326
|
+
this.logger("browser", `[DEBUG] Interaction tracking script loaded successfully`);
|
|
327
|
+
}
|
|
321
328
|
}
|
|
322
329
|
// Log regular console messages with enhanced context
|
|
323
330
|
const values = args
|
|
@@ -420,13 +427,13 @@ export class CDPMonitor {
|
|
|
420
427
|
}, 200);
|
|
421
428
|
});
|
|
422
429
|
// Page load events for better screenshot timing
|
|
423
|
-
this.onCDPEvent("Page.loadEventFired", async (
|
|
430
|
+
this.onCDPEvent("Page.loadEventFired", async (_event) => {
|
|
424
431
|
this.logger("browser", "[PAGE] Load event fired");
|
|
425
432
|
this.takeScreenshot("page-loaded");
|
|
426
433
|
// Reinject interaction tracking on page load
|
|
427
434
|
await this.setupInteractionTracking();
|
|
428
435
|
});
|
|
429
|
-
this.onCDPEvent("Page.domContentEventFired", async (
|
|
436
|
+
this.onCDPEvent("Page.domContentEventFired", async (_event) => {
|
|
430
437
|
this.logger("browser", "[PAGE] DOM content loaded");
|
|
431
438
|
// Take screenshot on DOM content loaded too for earlier capture
|
|
432
439
|
this.takeScreenshot("dom-content-loaded");
|
|
@@ -434,18 +441,18 @@ export class CDPMonitor {
|
|
|
434
441
|
await this.setupInteractionTracking();
|
|
435
442
|
});
|
|
436
443
|
// Network activity tracking for better screenshot timing
|
|
437
|
-
this.onCDPEvent("Network.requestWillBeSent", (
|
|
444
|
+
this.onCDPEvent("Network.requestWillBeSent", (_event) => {
|
|
438
445
|
this.pendingRequests++;
|
|
439
446
|
if (this.networkIdleTimer) {
|
|
440
447
|
clearTimeout(this.networkIdleTimer);
|
|
441
448
|
this.networkIdleTimer = null;
|
|
442
449
|
}
|
|
443
450
|
});
|
|
444
|
-
this.onCDPEvent("Network.loadingFinished", (
|
|
451
|
+
this.onCDPEvent("Network.loadingFinished", (_event) => {
|
|
445
452
|
this.pendingRequests--;
|
|
446
453
|
this.scheduleNetworkIdleScreenshot();
|
|
447
454
|
});
|
|
448
|
-
this.onCDPEvent("Network.loadingFailed", (
|
|
455
|
+
this.onCDPEvent("Network.loadingFailed", (_event) => {
|
|
449
456
|
this.pendingRequests--;
|
|
450
457
|
this.scheduleNetworkIdleScreenshot();
|
|
451
458
|
});
|
|
@@ -483,7 +490,7 @@ export class CDPMonitor {
|
|
|
483
490
|
method: message.method,
|
|
484
491
|
params: message.params || {},
|
|
485
492
|
timestamp: Date.now(),
|
|
486
|
-
sessionId: message.sessionId
|
|
493
|
+
sessionId: message.sessionId
|
|
487
494
|
};
|
|
488
495
|
handler(event);
|
|
489
496
|
}
|
|
@@ -496,7 +503,7 @@ export class CDPMonitor {
|
|
|
496
503
|
this.debugLog(`Navigating to http://localhost:${port}`);
|
|
497
504
|
// Navigate to the app
|
|
498
505
|
await this.sendCDPCommand("Page.navigate", {
|
|
499
|
-
url: `http://localhost:${port}
|
|
506
|
+
url: `http://localhost:${port}`
|
|
500
507
|
});
|
|
501
508
|
this.debugLog("Navigation command sent successfully");
|
|
502
509
|
// Take an immediate screenshot after navigation command
|
|
@@ -610,7 +617,7 @@ export class CDPMonitor {
|
|
|
610
617
|
}
|
|
611
618
|
|
|
612
619
|
// If this is the first scroll event or different target, reset
|
|
613
|
-
if (scrollTimeout === null) {
|
|
620
|
+
if (scrollTimeout === null || scrollTarget !== target) {
|
|
614
621
|
scrollStartX = currentScrollX;
|
|
615
622
|
scrollStartY = currentScrollY;
|
|
616
623
|
scrollTarget = target;
|
|
@@ -622,11 +629,19 @@ export class CDPMonitor {
|
|
|
622
629
|
lastScrollX = currentScrollX;
|
|
623
630
|
lastScrollY = currentScrollY;
|
|
624
631
|
|
|
625
|
-
// Set timeout to log scroll after
|
|
632
|
+
// Set timeout to log scroll after 300ms of no scrolling (scroll settled)
|
|
626
633
|
scrollTimeout = setTimeout(function() {
|
|
627
|
-
|
|
634
|
+
// Only log if there was actual movement (threshold of 5 pixels)
|
|
635
|
+
let deltaX = Math.abs(lastScrollX - scrollStartX);
|
|
636
|
+
let deltaY = Math.abs(lastScrollY - scrollStartY);
|
|
637
|
+
|
|
638
|
+
if (deltaX > 5 || deltaY > 5) {
|
|
639
|
+
console.log('[DEV3000_INTERACTION] SCROLL from ' + scrollStartX + ',' + scrollStartY + ' to ' + lastScrollX + ',' + lastScrollY + ' in ' + target);
|
|
640
|
+
// Take screenshot after scroll settles
|
|
641
|
+
console.log('[DEV3000_INTERACTION] SCROLL_SETTLED at ' + lastScrollX + ',' + lastScrollY);
|
|
642
|
+
}
|
|
628
643
|
scrollTimeout = null;
|
|
629
|
-
},
|
|
644
|
+
}, 300);
|
|
630
645
|
}, true); // Use capture: true to catch scroll events on all elements
|
|
631
646
|
}
|
|
632
647
|
} catch (err) {
|
|
@@ -645,20 +660,11 @@ export class CDPMonitor {
|
|
|
645
660
|
this.logger("browser", `[CDP ERROR] Tracking script syntax error: ${errorMessage}`);
|
|
646
661
|
throw new Error(`Invalid tracking script syntax: ${errorMessage}`);
|
|
647
662
|
}
|
|
648
|
-
// First try a simple test
|
|
649
|
-
const simpleTest = `console.log('DEV3000_TEST: Simple script execution working!');`;
|
|
650
|
-
const testResult = await this.sendCDPCommand("Runtime.evaluate", {
|
|
651
|
-
expression: simpleTest,
|
|
652
|
-
includeCommandLineAPI: false,
|
|
653
|
-
});
|
|
654
|
-
this.debugLog(`Simple test result: ${JSON.stringify(testResult)}`);
|
|
655
|
-
this.logger("browser", `[DEBUG] Simple test result: ${testResult.result?.value || "undefined"}`);
|
|
656
663
|
const result = await this.sendCDPCommand("Runtime.evaluate", {
|
|
657
664
|
expression: trackingScript,
|
|
658
|
-
includeCommandLineAPI: false
|
|
665
|
+
includeCommandLineAPI: false
|
|
659
666
|
});
|
|
660
667
|
this.debugLog(`Interaction tracking script injected. Result: ${JSON.stringify(result)}`);
|
|
661
|
-
this.logger("browser", `[DEBUG] Script injection result: ${result.result?.value || "undefined"}`);
|
|
662
668
|
// Log any errors from the script injection
|
|
663
669
|
if (result.exceptionDetails) {
|
|
664
670
|
this.debugLog(`Script injection exception: ${JSON.stringify(result.exceptionDetails)}`);
|
|
@@ -689,7 +695,7 @@ export class CDPMonitor {
|
|
|
689
695
|
format: "png",
|
|
690
696
|
quality: 80,
|
|
691
697
|
clip: undefined, // Full viewport
|
|
692
|
-
fromSurface: true
|
|
698
|
+
fromSurface: true
|
|
693
699
|
});
|
|
694
700
|
const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
|
|
695
701
|
const filename = `${timestamp}-${event}.png`;
|
|
@@ -719,14 +725,14 @@ export class CDPMonitor {
|
|
|
719
725
|
x: interaction.coordinates.x,
|
|
720
726
|
y: interaction.coordinates.y,
|
|
721
727
|
button: "left",
|
|
722
|
-
clickCount: 1
|
|
728
|
+
clickCount: 1
|
|
723
729
|
});
|
|
724
730
|
await this.sendCDPCommand("Input.dispatchMouseEvent", {
|
|
725
731
|
type: "mouseReleased",
|
|
726
732
|
x: interaction.coordinates.x,
|
|
727
733
|
y: interaction.coordinates.y,
|
|
728
734
|
button: "left",
|
|
729
|
-
clickCount: 1
|
|
735
|
+
clickCount: 1
|
|
730
736
|
});
|
|
731
737
|
break;
|
|
732
738
|
case "KEYDOWN":
|
|
@@ -734,7 +740,7 @@ export class CDPMonitor {
|
|
|
734
740
|
type: "keyDown",
|
|
735
741
|
key: interaction.key,
|
|
736
742
|
code: interaction.code,
|
|
737
|
-
...interaction.modifiers
|
|
743
|
+
...interaction.modifiers
|
|
738
744
|
});
|
|
739
745
|
break;
|
|
740
746
|
case "SCROLL":
|
|
@@ -743,7 +749,7 @@ export class CDPMonitor {
|
|
|
743
749
|
x: interaction.to.x,
|
|
744
750
|
y: interaction.to.y,
|
|
745
751
|
deltaX: interaction.to.x - interaction.from.x,
|
|
746
|
-
deltaY: interaction.to.y - interaction.from.y
|
|
752
|
+
deltaY: interaction.to.y - interaction.from.y
|
|
747
753
|
});
|
|
748
754
|
break;
|
|
749
755
|
default:
|
package/dist/cdp-monitor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdp-monitor.js","sourceRoot":"","sources":["../src/cdp-monitor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cdp-monitor.js","sourceRoot":"","sources":["../src/cdp-monitor.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -1,37 +1,37 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { fileURLToPath } from
|
|
8
|
-
import {
|
|
2
|
+
import chalk from "chalk";
|
|
3
|
+
import { Command } from "commander";
|
|
4
|
+
import { existsSync, readFileSync } from "fs";
|
|
5
|
+
import { tmpdir } from "os";
|
|
6
|
+
import { dirname, join } from "path";
|
|
7
|
+
import { fileURLToPath } from "url";
|
|
8
|
+
import { createPersistentLogFile, startDevEnvironment } from "./dev-environment.js";
|
|
9
9
|
function detectPackageManager() {
|
|
10
|
-
if (existsSync(
|
|
11
|
-
return
|
|
12
|
-
if (existsSync(
|
|
13
|
-
return
|
|
14
|
-
if (existsSync(
|
|
15
|
-
return
|
|
16
|
-
return
|
|
10
|
+
if (existsSync("pnpm-lock.yaml"))
|
|
11
|
+
return "pnpm";
|
|
12
|
+
if (existsSync("yarn.lock"))
|
|
13
|
+
return "yarn";
|
|
14
|
+
if (existsSync("package-lock.json"))
|
|
15
|
+
return "npm";
|
|
16
|
+
return "npm"; // fallback
|
|
17
17
|
}
|
|
18
18
|
// Read version from package.json
|
|
19
19
|
function getVersion() {
|
|
20
20
|
try {
|
|
21
21
|
const currentFile = fileURLToPath(import.meta.url);
|
|
22
22
|
const packageRoot = dirname(dirname(currentFile)); // Go up from dist/ to package root
|
|
23
|
-
const packageJsonPath = join(packageRoot,
|
|
24
|
-
const packageJson = JSON.parse(readFileSync(packageJsonPath,
|
|
23
|
+
const packageJsonPath = join(packageRoot, "package.json");
|
|
24
|
+
const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf8"));
|
|
25
25
|
let version = packageJson.version;
|
|
26
26
|
// Use git to detect if we're in the dev3000 source repository
|
|
27
27
|
try {
|
|
28
|
-
const { execSync } = require(
|
|
29
|
-
const gitRemote = execSync(
|
|
28
|
+
const { execSync } = require("child_process");
|
|
29
|
+
const gitRemote = execSync("git remote get-url origin 2>/dev/null", {
|
|
30
30
|
cwd: packageRoot,
|
|
31
|
-
encoding:
|
|
31
|
+
encoding: "utf8"
|
|
32
32
|
}).trim();
|
|
33
|
-
if (gitRemote.includes(
|
|
34
|
-
version +=
|
|
33
|
+
if (gitRemote.includes("vercel-labs/dev3000") && !version.includes("canary")) {
|
|
34
|
+
version += "-local";
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
catch {
|
|
@@ -39,26 +39,30 @@ function getVersion() {
|
|
|
39
39
|
}
|
|
40
40
|
return version;
|
|
41
41
|
}
|
|
42
|
-
catch (
|
|
43
|
-
return
|
|
42
|
+
catch (_error) {
|
|
43
|
+
return "0.0.0"; // fallback
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
const program = new Command();
|
|
47
47
|
program
|
|
48
|
-
.name(
|
|
49
|
-
.description(
|
|
48
|
+
.name("dev3000")
|
|
49
|
+
.description("AI-powered development tools with browser monitoring and MCP server")
|
|
50
50
|
.version(getVersion());
|
|
51
51
|
program
|
|
52
|
-
.description(
|
|
53
|
-
.option(
|
|
54
|
-
.option(
|
|
55
|
-
.option(
|
|
56
|
-
.option(
|
|
57
|
-
.option(
|
|
52
|
+
.description("AI-powered development tools with browser monitoring and MCP server")
|
|
53
|
+
.option("-p, --port <port>", "Development server port", "3000")
|
|
54
|
+
.option("--mcp-port <port>", "MCP server port", "3684")
|
|
55
|
+
.option("-s, --script <script>", "Package.json script to run (e.g. dev, build-start)", "dev")
|
|
56
|
+
.option("--profile-dir <dir>", "Chrome profile directory", join(tmpdir(), "dev3000-chrome-profile"))
|
|
57
|
+
.option("--servers-only", "Run servers only, skip browser launch (use with Chrome extension)")
|
|
58
|
+
.option("--debug", "Enable debug logging to console")
|
|
58
59
|
.action(async (options) => {
|
|
59
60
|
// Convert script option to full command
|
|
60
61
|
const packageManager = detectPackageManager();
|
|
61
62
|
const serverCommand = `${packageManager} run ${options.script}`;
|
|
63
|
+
// Detect which command name was used (dev3000 or d3k)
|
|
64
|
+
const executablePath = process.argv[1];
|
|
65
|
+
const commandName = executablePath.endsWith("/d3k") || executablePath.includes("/d3k") ? "d3k" : "dev3000";
|
|
62
66
|
try {
|
|
63
67
|
// Create persistent log file and setup symlink
|
|
64
68
|
const logFile = createPersistentLogFile();
|
|
@@ -66,11 +70,13 @@ program
|
|
|
66
70
|
...options,
|
|
67
71
|
logFile,
|
|
68
72
|
serverCommand,
|
|
69
|
-
debug: options.debug
|
|
73
|
+
debug: options.debug,
|
|
74
|
+
serversOnly: options.serversOnly,
|
|
75
|
+
commandName
|
|
70
76
|
});
|
|
71
77
|
}
|
|
72
78
|
catch (error) {
|
|
73
|
-
console.error(chalk.red(
|
|
79
|
+
console.error(chalk.red("❌ Failed to start development environment:"), error);
|
|
74
80
|
process.exit(1);
|
|
75
81
|
}
|
|
76
82
|
});
|