@dynamicu/chromedebug-mcp 2.2.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 (95) hide show
  1. package/CLAUDE.md +344 -0
  2. package/LICENSE +21 -0
  3. package/README.md +250 -0
  4. package/chrome-extension/README.md +41 -0
  5. package/chrome-extension/background.js +3917 -0
  6. package/chrome-extension/chrome-session-manager.js +706 -0
  7. package/chrome-extension/content.css +181 -0
  8. package/chrome-extension/content.js +3022 -0
  9. package/chrome-extension/data-buffer.js +435 -0
  10. package/chrome-extension/dom-tracker.js +411 -0
  11. package/chrome-extension/extension-config.js +78 -0
  12. package/chrome-extension/firebase-client.js +278 -0
  13. package/chrome-extension/firebase-config.js +32 -0
  14. package/chrome-extension/firebase-config.module.js +22 -0
  15. package/chrome-extension/firebase-config.module.template.js +27 -0
  16. package/chrome-extension/firebase-config.template.js +36 -0
  17. package/chrome-extension/frame-capture.js +407 -0
  18. package/chrome-extension/icon128.png +1 -0
  19. package/chrome-extension/icon16.png +1 -0
  20. package/chrome-extension/icon48.png +1 -0
  21. package/chrome-extension/license-helper.js +181 -0
  22. package/chrome-extension/logger.js +23 -0
  23. package/chrome-extension/manifest.json +73 -0
  24. package/chrome-extension/network-tracker.js +510 -0
  25. package/chrome-extension/offscreen.html +10 -0
  26. package/chrome-extension/options.html +203 -0
  27. package/chrome-extension/options.js +282 -0
  28. package/chrome-extension/pako.min.js +2 -0
  29. package/chrome-extension/performance-monitor.js +533 -0
  30. package/chrome-extension/pii-redactor.js +405 -0
  31. package/chrome-extension/popup.html +532 -0
  32. package/chrome-extension/popup.js +2446 -0
  33. package/chrome-extension/upload-manager.js +323 -0
  34. package/chrome-extension/web-vitals.iife.js +1 -0
  35. package/config/api-keys.json +11 -0
  36. package/config/chrome-pilot-config.json +45 -0
  37. package/package.json +126 -0
  38. package/scripts/cleanup-processes.js +109 -0
  39. package/scripts/config-manager.js +280 -0
  40. package/scripts/generate-extension-config.js +53 -0
  41. package/scripts/setup-security.js +64 -0
  42. package/src/capture/architecture.js +426 -0
  43. package/src/capture/error-handling-tests.md +38 -0
  44. package/src/capture/error-handling-types.ts +360 -0
  45. package/src/capture/index.js +508 -0
  46. package/src/capture/interfaces.js +625 -0
  47. package/src/capture/memory-manager.js +713 -0
  48. package/src/capture/types.js +342 -0
  49. package/src/chrome-controller.js +2658 -0
  50. package/src/cli.js +19 -0
  51. package/src/config-loader.js +303 -0
  52. package/src/database.js +2178 -0
  53. package/src/firebase-license-manager.js +462 -0
  54. package/src/firebase-privacy-guard.js +397 -0
  55. package/src/http-server.js +1516 -0
  56. package/src/index-direct.js +157 -0
  57. package/src/index-modular.js +219 -0
  58. package/src/index-monolithic-backup.js +2230 -0
  59. package/src/index.js +305 -0
  60. package/src/legacy/chrome-controller-old.js +1406 -0
  61. package/src/legacy/index-express.js +625 -0
  62. package/src/legacy/index-old.js +977 -0
  63. package/src/legacy/routes.js +260 -0
  64. package/src/legacy/shared-storage.js +101 -0
  65. package/src/logger.js +10 -0
  66. package/src/mcp/handlers/chrome-tool-handler.js +306 -0
  67. package/src/mcp/handlers/element-tool-handler.js +51 -0
  68. package/src/mcp/handlers/frame-tool-handler.js +957 -0
  69. package/src/mcp/handlers/request-handler.js +104 -0
  70. package/src/mcp/handlers/workflow-tool-handler.js +636 -0
  71. package/src/mcp/server.js +68 -0
  72. package/src/mcp/tools/index.js +701 -0
  73. package/src/middleware/auth.js +371 -0
  74. package/src/middleware/security.js +267 -0
  75. package/src/port-discovery.js +258 -0
  76. package/src/routes/admin.js +182 -0
  77. package/src/services/browser-daemon.js +494 -0
  78. package/src/services/chrome-service.js +375 -0
  79. package/src/services/failover-manager.js +412 -0
  80. package/src/services/git-safety-service.js +675 -0
  81. package/src/services/heartbeat-manager.js +200 -0
  82. package/src/services/http-client.js +195 -0
  83. package/src/services/process-manager.js +318 -0
  84. package/src/services/process-tracker.js +574 -0
  85. package/src/services/profile-manager.js +449 -0
  86. package/src/services/project-manager.js +415 -0
  87. package/src/services/session-manager.js +497 -0
  88. package/src/services/session-registry.js +491 -0
  89. package/src/services/unified-session-manager.js +678 -0
  90. package/src/shared-storage-old.js +267 -0
  91. package/src/standalone-server.js +53 -0
  92. package/src/utils/extension-path.js +145 -0
  93. package/src/utils.js +187 -0
  94. package/src/validation/log-transformer.js +125 -0
  95. package/src/validation/schemas.js +391 -0
@@ -0,0 +1,181 @@
1
+ .chrome-pilot-hover {
2
+ outline: 2px solid #4A90E2 !important;
3
+ outline-offset: 2px !important;
4
+ cursor: pointer !important;
5
+ }
6
+
7
+ .chrome-pilot-selected {
8
+ outline: 3px solid #E91E63 !important;
9
+ outline-offset: 2px !important;
10
+ }
11
+
12
+ .chrome-pilot-overlay {
13
+ position: fixed;
14
+ bottom: 20px;
15
+ right: 20px;
16
+ background: #1e1e1e;
17
+ border: 2px solid #2196F3;
18
+ border-radius: 8px;
19
+ padding: 20px;
20
+ box-shadow: 0 8px 16px rgba(0, 0, 0, 0.6);
21
+ z-index: 999999;
22
+ font-family: Arial, sans-serif;
23
+ max-width: 400px;
24
+ color: #e0e0e0;
25
+ }
26
+
27
+ .chrome-pilot-overlay h3 {
28
+ margin: 0 0 10px 0;
29
+ font-size: 16px;
30
+ color: #ffffff;
31
+ }
32
+
33
+ .chrome-pilot-overlay .element-info {
34
+ background: #2a2a2a;
35
+ padding: 10px;
36
+ border-radius: 4px;
37
+ margin-bottom: 15px;
38
+ font-family: monospace;
39
+ font-size: 12px;
40
+ color: #e0e0e0;
41
+ border: 1px solid #3a3a3a;
42
+ }
43
+
44
+ .chrome-pilot-overlay .react-info {
45
+ background: #1a2332;
46
+ padding: 10px;
47
+ border-radius: 4px;
48
+ margin-bottom: 15px;
49
+ font-size: 12px;
50
+ border: 1px solid #61dafb;
51
+ color: #e0e0e0;
52
+ }
53
+
54
+ .chrome-pilot-overlay .react-info h4 {
55
+ margin: 0 0 8px 0;
56
+ font-size: 14px;
57
+ font-weight: 600;
58
+ }
59
+
60
+ .chrome-pilot-overlay textarea {
61
+ width: 100%;
62
+ padding: 10px;
63
+ border: 1px solid #ddd;
64
+ border-radius: 4px;
65
+ resize: vertical;
66
+ min-height: 80px;
67
+ font-family: Arial, sans-serif;
68
+ font-size: 14px;
69
+ }
70
+
71
+ .chrome-pilot-overlay .button-group {
72
+ display: flex;
73
+ gap: 10px;
74
+ margin-top: 15px;
75
+ }
76
+
77
+ .chrome-pilot-overlay button {
78
+ flex: 1;
79
+ padding: 10px 20px;
80
+ border: none;
81
+ border-radius: 4px;
82
+ cursor: pointer;
83
+ font-size: 14px;
84
+ font-weight: 500;
85
+ transition: background-color 0.2s;
86
+ }
87
+
88
+ .chrome-pilot-overlay .submit-btn {
89
+ background: #4A90E2;
90
+ color: white;
91
+ }
92
+
93
+ .chrome-pilot-overlay .submit-btn:hover {
94
+ background: #357ABD;
95
+ }
96
+
97
+ .chrome-pilot-overlay .cancel-btn {
98
+ background: #f0f0f0;
99
+ color: #333;
100
+ }
101
+
102
+ .chrome-pilot-overlay .cancel-btn:hover {
103
+ background: #e0e0e0;
104
+ }
105
+
106
+ .chrome-pilot-overlay .loading {
107
+ text-align: center;
108
+ color: #a0a0a0;
109
+ padding: 20px;
110
+ }
111
+
112
+ .chrome-pilot-status {
113
+ position: fixed;
114
+ top: 20px;
115
+ right: 20px;
116
+ background: #4CAF50;
117
+ color: white;
118
+ padding: 10px 20px;
119
+ border-radius: 4px;
120
+ font-family: Arial, sans-serif;
121
+ font-size: 14px;
122
+ z-index: 999999;
123
+ animation: slideIn 0.3s ease-out;
124
+ }
125
+
126
+ @keyframes slideIn {
127
+ from {
128
+ transform: translateX(100%);
129
+ opacity: 0;
130
+ }
131
+ to {
132
+ transform: translateX(0);
133
+ opacity: 1;
134
+ }
135
+ }
136
+
137
+ /* Screen Capture Visual Feedback Styles */
138
+ .screen-capture-click-highlight {
139
+ position: fixed;
140
+ width: 20px;
141
+ height: 20px;
142
+ border-radius: 50%;
143
+ background: rgba(76, 175, 80, 0.3);
144
+ border: 2px solid #4CAF50;
145
+ transform: translate(-50%, -50%);
146
+ pointer-events: none;
147
+ z-index: 999998;
148
+ animation: screen-capture-ripple 0.5s ease-out forwards;
149
+ }
150
+
151
+ @keyframes screen-capture-ripple {
152
+ 0% {
153
+ transform: translate(-50%, -50%) scale(0);
154
+ opacity: 1;
155
+ }
156
+ 100% {
157
+ transform: translate(-50%, -50%) scale(3);
158
+ opacity: 0;
159
+ }
160
+ }
161
+
162
+ .screen-capture-action-counter {
163
+ position: fixed;
164
+ top: 20px;
165
+ right: 20px;
166
+ background: #4CAF50;
167
+ color: white;
168
+ padding: 8px 16px;
169
+ border-radius: 20px;
170
+ font-family: Arial, sans-serif;
171
+ font-size: 14px;
172
+ font-weight: bold;
173
+ box-shadow: 0 2px 8px rgba(76, 175, 80, 0.3);
174
+ z-index: 999999;
175
+ pointer-events: none;
176
+ user-select: none;
177
+ border: 2px solid #45a049;
178
+ display: none;
179
+ }
180
+
181
+ /* Legacy recording indicator styles removed - now handled by ScreenCaptureVisualFeedback with inline styles */