@dynamicu/chromedebug-mcp 2.6.6 → 2.7.0

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.
Files changed (46) hide show
  1. package/CLAUDE.md +1 -1
  2. package/README.md +1 -1
  3. package/chrome-extension/activation-manager.js +18 -4
  4. package/chrome-extension/background.js +1044 -552
  5. package/chrome-extension/browser-recording-manager.js +256 -0
  6. package/chrome-extension/chrome-debug-logger.js +168 -0
  7. package/chrome-extension/console-interception-library.js +430 -0
  8. package/chrome-extension/content.css +16 -16
  9. package/chrome-extension/content.js +617 -215
  10. package/chrome-extension/data-buffer.js +206 -17
  11. package/chrome-extension/extension-config.js +1 -1
  12. package/chrome-extension/frame-capture.js +52 -15
  13. package/chrome-extension/license-helper.js +26 -0
  14. package/chrome-extension/manifest.free.json +3 -6
  15. package/chrome-extension/options.js +1 -1
  16. package/chrome-extension/popup.html +315 -181
  17. package/chrome-extension/popup.js +673 -526
  18. package/chrome-extension/pro/enhanced-capture.js +406 -0
  19. package/chrome-extension/pro/frame-editor.html +410 -0
  20. package/chrome-extension/pro/frame-editor.js +1496 -0
  21. package/chrome-extension/pro/function-tracker.js +843 -0
  22. package/chrome-extension/pro/jszip.min.js +13 -0
  23. package/config/chromedebug-config.json +101 -0
  24. package/dist/chromedebug-extension-free.zip +0 -0
  25. package/package.json +3 -1
  26. package/scripts/package-pro-extension.js +1 -1
  27. package/scripts/webpack.config.free.cjs +11 -8
  28. package/scripts/webpack.config.pro.cjs +5 -0
  29. package/src/chrome-controller.js +7 -7
  30. package/src/cli.js +2 -2
  31. package/src/database.js +61 -9
  32. package/src/http-server.js +3 -2
  33. package/src/index.js +9 -6
  34. package/src/mcp/server.js +2 -2
  35. package/src/services/process-manager.js +10 -6
  36. package/src/services/process-tracker.js +10 -5
  37. package/src/services/profile-manager.js +17 -2
  38. package/src/validation/schemas.js +36 -6
  39. package/src/index-direct.js +0 -157
  40. package/src/index-modular.js +0 -219
  41. package/src/index-monolithic-backup.js +0 -2230
  42. package/src/legacy/chrome-controller-old.js +0 -1406
  43. package/src/legacy/index-express.js +0 -625
  44. package/src/legacy/index-old.js +0 -977
  45. package/src/legacy/routes.js +0 -260
  46. package/src/legacy/shared-storage.js +0 -101
package/CLAUDE.md CHANGED
@@ -153,7 +153,7 @@ npm run compile
153
153
  - `save_restore_point` - Save browser state restore point
154
154
  - `restore_from_point` - Restore browser to saved point
155
155
  - `list_restore_points` - List restore points for workflow
156
- - `chrome_pilot_show_frames` - Display frame recording info
156
+ - `chromedebug_show_frames` - Display frame recording info
157
157
  - `get_frame_session_info` - Get frame capture session info
158
158
  - `get_frame` - Get specific frame from recording
159
159
  - `get_frame_screenshot` - Get screenshot image data for a specific frame as base64
package/README.md CHANGED
@@ -517,6 +517,6 @@ Screen recordings now automatically capture all user interactions:
517
517
  ### MCP Tools for Recording
518
518
 
519
519
  - `get_recording` - Retrieve a recording by ID to analyze video and logs
520
- - `chrome_pilot_show_frames` - Display frame-by-frame recording with interactions and logs
520
+ - `chromedebug_show_frames` - Display frame-by-frame recording with interactions and logs
521
521
  - `get_frame` - Get specific frame with its interactions and console logs
522
522
  - `get_screen_interactions` - Query specific interaction data from recordings
@@ -23,9 +23,13 @@ document.addEventListener('DOMContentLoaded', async () => {
23
23
  async function loadActivations() {
24
24
  try {
25
25
  // Get license key and instance ID from storage
26
- const stored = await chrome.storage.local.get(['ls_license_key', 'ls_instance_id', 'chromedebug_instance_id']);
26
+ // Note: ls_instance_id is the LemonSqueezy instance ID set during activation
27
+ const stored = await chrome.storage.local.get(['ls_license_key', 'ls_instance_id']);
27
28
  licenseKey = stored.ls_license_key;
28
- currentInstanceId = stored.chromedebug_instance_id;
29
+ currentInstanceId = stored.ls_instance_id;
30
+
31
+ console.log('[Activation Manager] Current instance ID:', currentInstanceId);
32
+ console.log('[Activation Manager] Storage:', stored);
29
33
 
30
34
  if (!licenseKey) {
31
35
  showError('License key not found. Please activate your license first.');
@@ -36,6 +40,9 @@ async function loadActivations() {
36
40
  const data = await licenseClient.listActivations(licenseKey);
37
41
  activations = data.activations || [];
38
42
 
43
+ console.log('[Activation Manager] Fetched activations:', JSON.stringify(activations, null, 2));
44
+ console.log('[Activation Manager] Comparing against current instance ID:', currentInstanceId);
45
+
39
46
  // Show activation status
40
47
  document.getElementById('activation-status').textContent =
41
48
  `${data.activationUsage} of ${data.activationLimit} activations used`;
@@ -72,8 +79,15 @@ function renderActivations() {
72
79
  item.className = 'activation-item';
73
80
 
74
81
  // Check if this is the current device
75
- const isCurrentDevice = activation.name === currentInstanceId ||
76
- activation.identifier === currentInstanceId;
82
+ // Compare against identifier (unique per activation), not name (same for all activations from this device)
83
+ const isCurrentDevice = currentInstanceId && activation.identifier === currentInstanceId;
84
+
85
+ console.log('[Activation Manager] Activation', index + 1, ':', {
86
+ name: activation.name,
87
+ identifier: activation.identifier,
88
+ currentInstanceId: currentInstanceId,
89
+ isCurrentDevice: isCurrentDevice
90
+ });
77
91
 
78
92
  if (isCurrentDevice) {
79
93
  item.classList.add('current-device');