claude-chrome-parallel 3.0.3 → 3.4.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.
- package/LICENSE +21 -21
- package/README.md +398 -464
- package/assets/demo.svg +278 -173
- package/dist/cdp/client.d.ts +60 -2
- package/dist/cdp/client.d.ts.map +1 -1
- package/dist/cdp/client.js +344 -5
- package/dist/cdp/client.js.map +1 -1
- package/dist/cdp/connection-pool.d.ts.map +1 -1
- package/dist/cdp/connection-pool.js +20 -4
- package/dist/cdp/connection-pool.js.map +1 -1
- package/dist/chrome/launcher.d.ts +11 -0
- package/dist/chrome/launcher.d.ts.map +1 -1
- package/dist/chrome/launcher.js +124 -10
- package/dist/chrome/launcher.js.map +1 -1
- package/dist/chrome/pool.d.ts +54 -0
- package/dist/chrome/pool.d.ts.map +1 -0
- package/dist/chrome/pool.js +301 -0
- package/dist/chrome/pool.js.map +1 -0
- package/dist/chrome/profile-detector.d.ts +52 -0
- package/dist/chrome/profile-detector.d.ts.map +1 -0
- package/dist/chrome/profile-detector.js +246 -0
- package/dist/chrome/profile-detector.js.map +1 -0
- package/dist/cli/claude-session.js +15 -15
- package/dist/cli/index.js +162 -37
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/update-check.d.ts +9 -0
- package/dist/cli/update-check.js +141 -0
- package/dist/cli/update-check.js.map +1 -0
- package/dist/config/global.d.ts +31 -0
- package/dist/config/global.d.ts.map +1 -1
- package/dist/config/global.js.map +1 -1
- package/dist/dashboard/activity-tracker.d.ts +60 -0
- package/dist/dashboard/activity-tracker.d.ts.map +1 -0
- package/dist/dashboard/activity-tracker.js +178 -0
- package/dist/dashboard/activity-tracker.js.map +1 -0
- package/dist/dashboard/ansi.d.ts +117 -0
- package/dist/dashboard/ansi.d.ts.map +1 -0
- package/dist/dashboard/ansi.js +199 -0
- package/dist/dashboard/ansi.js.map +1 -0
- package/dist/dashboard/index.d.ts +110 -0
- package/dist/dashboard/index.d.ts.map +1 -0
- package/dist/dashboard/index.js +412 -0
- package/dist/dashboard/index.js.map +1 -0
- package/dist/dashboard/keyboard-handler.d.ts +43 -0
- package/dist/dashboard/keyboard-handler.d.ts.map +1 -0
- package/dist/dashboard/keyboard-handler.js +215 -0
- package/dist/dashboard/keyboard-handler.js.map +1 -0
- package/dist/dashboard/operation-controller.d.ts +76 -0
- package/dist/dashboard/operation-controller.d.ts.map +1 -0
- package/dist/dashboard/operation-controller.js +167 -0
- package/dist/dashboard/operation-controller.js.map +1 -0
- package/dist/dashboard/renderer.d.ts +76 -0
- package/dist/dashboard/renderer.d.ts.map +1 -0
- package/dist/dashboard/renderer.js +193 -0
- package/dist/dashboard/renderer.js.map +1 -0
- package/dist/dashboard/types.d.ts +56 -0
- package/dist/dashboard/types.d.ts.map +1 -0
- package/dist/dashboard/types.js +12 -0
- package/dist/dashboard/types.js.map +1 -0
- package/dist/dashboard/views/main-view.d.ts +23 -0
- package/dist/dashboard/views/main-view.d.ts.map +1 -0
- package/dist/dashboard/views/main-view.js +143 -0
- package/dist/dashboard/views/main-view.js.map +1 -0
- package/dist/dashboard/views/sessions-view.d.ts +22 -0
- package/dist/dashboard/views/sessions-view.d.ts.map +1 -0
- package/dist/dashboard/views/sessions-view.js +104 -0
- package/dist/dashboard/views/sessions-view.js.map +1 -0
- package/dist/dashboard/views/tabs-view.d.ts +21 -0
- package/dist/dashboard/views/tabs-view.d.ts.map +1 -0
- package/dist/dashboard/views/tabs-view.js +92 -0
- package/dist/dashboard/views/tabs-view.js.map +1 -0
- package/dist/hints/hint-engine.d.ts +65 -0
- package/dist/hints/hint-engine.d.ts.map +1 -0
- package/dist/hints/hint-engine.js +156 -0
- package/dist/hints/hint-engine.js.map +1 -0
- package/dist/hints/index.d.ts +8 -0
- package/dist/hints/index.d.ts.map +1 -0
- package/dist/hints/index.js +11 -0
- package/dist/hints/index.js.map +1 -0
- package/dist/hints/pattern-learner.d.ts +76 -0
- package/dist/hints/pattern-learner.d.ts.map +1 -0
- package/dist/hints/pattern-learner.js +254 -0
- package/dist/hints/pattern-learner.js.map +1 -0
- package/dist/hints/rules/composite-suggestions.d.ts +6 -0
- package/dist/hints/rules/composite-suggestions.d.ts.map +1 -0
- package/dist/hints/rules/composite-suggestions.js +66 -0
- package/dist/hints/rules/composite-suggestions.js.map +1 -0
- package/dist/hints/rules/error-recovery.d.ts +7 -0
- package/dist/hints/rules/error-recovery.d.ts.map +1 -0
- package/dist/hints/rules/error-recovery.js +47 -0
- package/dist/hints/rules/error-recovery.js.map +1 -0
- package/dist/hints/rules/learned-rules.d.ts +13 -0
- package/dist/hints/rules/learned-rules.d.ts.map +1 -0
- package/dist/hints/rules/learned-rules.js +27 -0
- package/dist/hints/rules/learned-rules.js.map +1 -0
- package/dist/hints/rules/repetition-detection.d.ts +7 -0
- package/dist/hints/rules/repetition-detection.d.ts.map +1 -0
- package/dist/hints/rules/repetition-detection.js +82 -0
- package/dist/hints/rules/repetition-detection.js.map +1 -0
- package/dist/hints/rules/sequence-detection.d.ts +6 -0
- package/dist/hints/rules/sequence-detection.d.ts.map +1 -0
- package/dist/hints/rules/sequence-detection.js +61 -0
- package/dist/hints/rules/sequence-detection.js.map +1 -0
- package/dist/hints/rules/success-hints.d.ts +6 -0
- package/dist/hints/rules/success-hints.d.ts.map +1 -0
- package/dist/hints/rules/success-hints.js +62 -0
- package/dist/hints/rules/success-hints.js.map +1 -0
- package/dist/index.js +190 -55
- package/dist/index.js.map +1 -1
- package/dist/lightpanda/launcher.d.ts +58 -0
- package/dist/lightpanda/launcher.d.ts.map +1 -0
- package/dist/lightpanda/launcher.js +199 -0
- package/dist/lightpanda/launcher.js.map +1 -0
- package/dist/mcp-server.d.ts +38 -1
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +220 -6
- package/dist/mcp-server.js.map +1 -1
- package/dist/orchestration/state-manager.js +46 -46
- package/dist/orchestration/workflow-engine.d.ts +1 -0
- package/dist/orchestration/workflow-engine.d.ts.map +1 -1
- package/dist/orchestration/workflow-engine.js +112 -114
- package/dist/orchestration/workflow-engine.js.map +1 -1
- package/dist/resources/usage-guide.d.ts +13 -0
- package/dist/resources/usage-guide.d.ts.map +1 -0
- package/dist/resources/usage-guide.js +101 -0
- package/dist/resources/usage-guide.js.map +1 -0
- package/dist/router/browser-router.d.ts +51 -0
- package/dist/router/browser-router.d.ts.map +1 -0
- package/dist/router/browser-router.js +178 -0
- package/dist/router/browser-router.js.map +1 -0
- package/dist/router/cookie-sync.d.ts +48 -0
- package/dist/router/cookie-sync.d.ts.map +1 -0
- package/dist/router/cookie-sync.js +106 -0
- package/dist/router/cookie-sync.js.map +1 -0
- package/dist/router/index.d.ts +5 -0
- package/dist/router/index.d.ts.map +1 -0
- package/dist/router/index.js +10 -0
- package/dist/router/index.js.map +1 -0
- package/dist/router/tool-routing-registry.d.ts +21 -0
- package/dist/router/tool-routing-registry.d.ts.map +1 -0
- package/dist/router/tool-routing-registry.js +90 -0
- package/dist/router/tool-routing-registry.js.map +1 -0
- package/dist/session-manager.d.ts +41 -1
- package/dist/session-manager.d.ts.map +1 -1
- package/dist/session-manager.js +216 -21
- package/dist/session-manager.js.map +1 -1
- package/dist/tools/click-element.d.ts +8 -0
- package/dist/tools/click-element.d.ts.map +1 -0
- package/dist/tools/click-element.js +383 -0
- package/dist/tools/click-element.js.map +1 -0
- package/dist/tools/computer.d.ts.map +1 -1
- package/dist/tools/computer.js +198 -34
- package/dist/tools/computer.js.map +1 -1
- package/dist/tools/console-capture.d.ts +6 -0
- package/dist/tools/console-capture.d.ts.map +1 -0
- package/dist/tools/console-capture.js +320 -0
- package/dist/tools/console-capture.js.map +1 -0
- package/dist/tools/cookies.d.ts +6 -0
- package/dist/tools/cookies.d.ts.map +1 -0
- package/dist/tools/cookies.js +263 -0
- package/dist/tools/cookies.js.map +1 -0
- package/dist/tools/drag-drop.d.ts +6 -0
- package/dist/tools/drag-drop.d.ts.map +1 -0
- package/dist/tools/drag-drop.js +252 -0
- package/dist/tools/drag-drop.js.map +1 -0
- package/dist/tools/emulate-device.d.ts +6 -0
- package/dist/tools/emulate-device.d.ts.map +1 -0
- package/dist/tools/emulate-device.js +221 -0
- package/dist/tools/emulate-device.js.map +1 -0
- package/dist/tools/file-upload.d.ts +6 -0
- package/dist/tools/file-upload.d.ts.map +1 -0
- package/dist/tools/file-upload.js +208 -0
- package/dist/tools/file-upload.js.map +1 -0
- package/dist/tools/fill-form.d.ts +8 -0
- package/dist/tools/fill-form.d.ts.map +1 -0
- package/dist/tools/fill-form.js +342 -0
- package/dist/tools/fill-form.js.map +1 -0
- package/dist/tools/find.d.ts.map +1 -1
- package/dist/tools/find.js +153 -65
- package/dist/tools/find.js.map +1 -1
- package/dist/tools/form-input.js +52 -52
- package/dist/tools/form-input.js.map +1 -1
- package/dist/tools/geolocation.d.ts +6 -0
- package/dist/tools/geolocation.d.ts.map +1 -0
- package/dist/tools/geolocation.js +172 -0
- package/dist/tools/geolocation.js.map +1 -0
- package/dist/tools/http-auth.d.ts +6 -0
- package/dist/tools/http-auth.d.ts.map +1 -0
- package/dist/tools/http-auth.js +136 -0
- package/dist/tools/http-auth.js.map +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +50 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/javascript.js +1 -1
- package/dist/tools/javascript.js.map +1 -1
- package/dist/tools/navigate.d.ts.map +1 -1
- package/dist/tools/navigate.js +5 -2
- package/dist/tools/navigate.js.map +1 -1
- package/dist/tools/network.js +4 -4
- package/dist/tools/network.js.map +1 -1
- package/dist/tools/orchestration.d.ts.map +1 -1
- package/dist/tools/orchestration.js +13 -8
- package/dist/tools/orchestration.js.map +1 -1
- package/dist/tools/page-content.d.ts +6 -0
- package/dist/tools/page-content.d.ts.map +1 -0
- package/dist/tools/page-content.js +120 -0
- package/dist/tools/page-content.js.map +1 -0
- package/dist/tools/page-pdf.d.ts +6 -0
- package/dist/tools/page-pdf.d.ts.map +1 -0
- package/dist/tools/page-pdf.js +245 -0
- package/dist/tools/page-pdf.js.map +1 -0
- package/dist/tools/page-reload.d.ts +6 -0
- package/dist/tools/page-reload.d.ts.map +1 -0
- package/dist/tools/page-reload.js +89 -0
- package/dist/tools/page-reload.js.map +1 -0
- package/dist/tools/performance-metrics.d.ts +6 -0
- package/dist/tools/performance-metrics.d.ts.map +1 -0
- package/dist/tools/performance-metrics.js +158 -0
- package/dist/tools/performance-metrics.js.map +1 -0
- package/dist/tools/read-page.d.ts.map +1 -1
- package/dist/tools/read-page.js +4 -2
- package/dist/tools/read-page.js.map +1 -1
- package/dist/tools/request-intercept.d.ts +6 -0
- package/dist/tools/request-intercept.d.ts.map +1 -0
- package/dist/tools/request-intercept.js +439 -0
- package/dist/tools/request-intercept.js.map +1 -0
- package/dist/tools/selector-query.d.ts +6 -0
- package/dist/tools/selector-query.d.ts.map +1 -0
- package/dist/tools/selector-query.js +206 -0
- package/dist/tools/selector-query.js.map +1 -0
- package/dist/tools/storage.d.ts +6 -0
- package/dist/tools/storage.d.ts.map +1 -0
- package/dist/tools/storage.js +264 -0
- package/dist/tools/storage.js.map +1 -0
- package/dist/tools/tabs-close.d.ts +6 -0
- package/dist/tools/tabs-close.d.ts.map +1 -0
- package/dist/tools/tabs-close.js +124 -0
- package/dist/tools/tabs-close.js.map +1 -0
- package/dist/tools/tabs-context.js +1 -1
- package/dist/tools/tabs-context.js.map +1 -1
- package/dist/tools/user-agent.d.ts +6 -0
- package/dist/tools/user-agent.d.ts.map +1 -0
- package/dist/tools/user-agent.js +128 -0
- package/dist/tools/user-agent.js.map +1 -0
- package/dist/tools/wait-and-click.d.ts +8 -0
- package/dist/tools/wait-and-click.d.ts.map +1 -0
- package/dist/tools/wait-and-click.js +290 -0
- package/dist/tools/wait-and-click.js.map +1 -0
- package/dist/tools/wait-for.d.ts +6 -0
- package/dist/tools/wait-for.d.ts.map +1 -0
- package/dist/tools/wait-for.js +248 -0
- package/dist/tools/wait-for.js.map +1 -0
- package/dist/tools/xpath-query.d.ts +6 -0
- package/dist/tools/xpath-query.d.ts.map +1 -0
- package/dist/tools/xpath-query.js +230 -0
- package/dist/tools/xpath-query.js.map +1 -0
- package/dist/types/browser-backend.d.ts +30 -0
- package/dist/types/browser-backend.d.ts.map +1 -0
- package/dist/types/browser-backend.js +9 -0
- package/dist/types/browser-backend.js.map +1 -0
- package/dist/types/profile.d.ts +76 -0
- package/dist/types/profile.d.ts.map +1 -0
- package/dist/types/profile.js +35 -0
- package/dist/types/profile.js.map +1 -0
- package/dist/types/session.d.ts +7 -3
- package/dist/types/session.d.ts.map +1 -1
- package/package.json +78 -75
- package/dist/master/index.d.ts +0 -18
- package/dist/master/index.d.ts.map +0 -1
- package/dist/master/index.js +0 -75
- package/dist/master/index.js.map +0 -1
- package/dist/master/ipc-server.d.ts +0 -21
- package/dist/master/ipc-server.d.ts.map +0 -1
- package/dist/master/ipc-server.js +0 -175
- package/dist/master/ipc-server.js.map +0 -1
- package/dist/master/request-handler.d.ts +0 -17
- package/dist/master/request-handler.d.ts.map +0 -1
- package/dist/master/request-handler.js +0 -134
- package/dist/master/request-handler.js.map +0 -1
- package/dist/master/session-registry.d.ts +0 -120
- package/dist/master/session-registry.d.ts.map +0 -1
- package/dist/master/session-registry.js +0 -247
- package/dist/master/session-registry.js.map +0 -1
- package/dist/shared/ipc-constants.d.ts +0 -16
- package/dist/shared/ipc-constants.d.ts.map +0 -1
- package/dist/shared/ipc-constants.js +0 -66
- package/dist/shared/ipc-constants.js.map +0 -1
- package/dist/shared/ipc-protocol.d.ts +0 -33
- package/dist/shared/ipc-protocol.d.ts.map +0 -1
- package/dist/shared/ipc-protocol.js +0 -20
- package/dist/shared/ipc-protocol.js.map +0 -1
- package/dist/worker/auto-master.d.ts +0 -24
- package/dist/worker/auto-master.d.ts.map +0 -1
- package/dist/worker/auto-master.js +0 -135
- package/dist/worker/auto-master.js.map +0 -1
- package/dist/worker/index.d.ts +0 -25
- package/dist/worker/index.d.ts.map +0 -1
- package/dist/worker/index.js +0 -93
- package/dist/worker/index.js.map +0 -1
- package/dist/worker/ipc-client.d.ts +0 -26
- package/dist/worker/ipc-client.d.ts.map +0 -1
- package/dist/worker/ipc-client.js +0 -211
- package/dist/worker/ipc-client.js.map +0 -1
- package/dist/worker/remote-session-manager.d.ts +0 -114
- package/dist/worker/remote-session-manager.d.ts.map +0 -1
- package/dist/worker/remote-session-manager.js +0 -151
- package/dist/worker/remote-session-manager.js.map +0 -1
- package/dist/worker/tools.d.ts +0 -7
- package/dist/worker/tools.d.ts.map +0 -1
- package/dist/worker/tools.js +0 -340
- package/dist/worker/tools.js.map +0 -1
- package/dist/worker/worker-mcp-server.d.ts +0 -70
- package/dist/worker/worker-mcp-server.d.ts.map +0 -1
- package/dist/worker/worker-mcp-server.js +0 -295
- package/dist/worker/worker-mcp-server.js.map +0 -1
package/dist/session-manager.js
CHANGED
|
@@ -8,8 +8,11 @@ exports.SessionManager = void 0;
|
|
|
8
8
|
exports.getSessionManager = getSessionManager;
|
|
9
9
|
const client_1 = require("./cdp/client");
|
|
10
10
|
const connection_pool_1 = require("./cdp/connection-pool");
|
|
11
|
+
const pool_1 = require("./chrome/pool");
|
|
12
|
+
const global_1 = require("./config/global");
|
|
11
13
|
const request_queue_1 = require("./utils/request-queue");
|
|
12
14
|
const ref_id_manager_1 = require("./utils/ref-id-manager");
|
|
15
|
+
const router_1 = require("./router");
|
|
13
16
|
// Helper to get target ID (internal puppeteer property)
|
|
14
17
|
function getTargetId(target) {
|
|
15
18
|
return target._targetId;
|
|
@@ -20,15 +23,20 @@ const DEFAULT_CONFIG = {
|
|
|
20
23
|
autoCleanup: true,
|
|
21
24
|
maxSessions: 100,
|
|
22
25
|
maxWorkersPerSession: 20,
|
|
23
|
-
useConnectionPool:
|
|
26
|
+
useConnectionPool: true, // Enabled by default for faster page creation
|
|
27
|
+
useDefaultContext: true, // Use Chrome profile's cookies/sessions by default
|
|
28
|
+
usePool: false, // Disabled by default; enable for multi-Chrome origin isolation
|
|
24
29
|
};
|
|
25
30
|
class SessionManager {
|
|
26
31
|
sessions = new Map();
|
|
27
32
|
targetToWorker = new Map();
|
|
28
33
|
cdpClient;
|
|
29
34
|
connectionPool = null;
|
|
35
|
+
chromePool = null;
|
|
36
|
+
cdpFactory;
|
|
30
37
|
queueManager;
|
|
31
38
|
eventListeners = [];
|
|
39
|
+
browserRouter = null;
|
|
32
40
|
// TTL & Stats
|
|
33
41
|
config;
|
|
34
42
|
cleanupTimer = null;
|
|
@@ -40,9 +48,13 @@ class SessionManager {
|
|
|
40
48
|
this.cdpClient = cdpClient || (0, client_1.getCDPClient)();
|
|
41
49
|
this.queueManager = new request_queue_1.RequestQueueManager();
|
|
42
50
|
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
51
|
+
this.cdpFactory = (0, client_1.getCDPClientFactory)();
|
|
43
52
|
if (this.config.useConnectionPool) {
|
|
44
53
|
this.connectionPool = (0, connection_pool_1.getCDPConnectionPool)();
|
|
45
54
|
}
|
|
55
|
+
if (this.config.usePool) {
|
|
56
|
+
this.chromePool = (0, pool_1.getChromePool)({ autoLaunch: (0, global_1.getGlobalConfig)().autoLaunch });
|
|
57
|
+
}
|
|
46
58
|
if (this.config.autoCleanup) {
|
|
47
59
|
this.startAutoCleanup();
|
|
48
60
|
}
|
|
@@ -51,6 +63,18 @@ class SessionManager {
|
|
|
51
63
|
this.onTargetClosed(targetId);
|
|
52
64
|
});
|
|
53
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Get the CDPClient for a specific worker (may be on a different Chrome instance)
|
|
68
|
+
*/
|
|
69
|
+
getCDPClientForWorker(sessionId, workerId) {
|
|
70
|
+
const worker = this.getWorker(sessionId, workerId);
|
|
71
|
+
if (worker?.port) {
|
|
72
|
+
const client = this.cdpFactory.get(worker.port);
|
|
73
|
+
if (client)
|
|
74
|
+
return client;
|
|
75
|
+
}
|
|
76
|
+
return this.cdpClient;
|
|
77
|
+
}
|
|
54
78
|
/**
|
|
55
79
|
* Start automatic cleanup interval
|
|
56
80
|
*/
|
|
@@ -157,8 +181,11 @@ class SessionManager {
|
|
|
157
181
|
}
|
|
158
182
|
const name = options.name || `Session ${id.slice(0, 8)}`;
|
|
159
183
|
const defaultWorkerId = 'default';
|
|
160
|
-
// Create default worker
|
|
161
|
-
|
|
184
|
+
// Create default worker - use default context if configured (shares Chrome profile's cookies)
|
|
185
|
+
// or create isolated browser context for session isolation
|
|
186
|
+
const defaultContext = this.config.useDefaultContext
|
|
187
|
+
? null // null means use default browser context (shares cookies with Chrome profile)
|
|
188
|
+
: await this.cdpClient.createBrowserContext();
|
|
162
189
|
const defaultWorker = {
|
|
163
190
|
id: defaultWorkerId,
|
|
164
191
|
name: 'Default Worker',
|
|
@@ -220,7 +247,10 @@ class SessionManager {
|
|
|
220
247
|
for (const workerId of session.workers.keys()) {
|
|
221
248
|
await this.deleteWorkerInternal(session, workerId);
|
|
222
249
|
}
|
|
223
|
-
// Clean up
|
|
250
|
+
// Clean up all worker queues
|
|
251
|
+
for (const workerId of session.workers.keys()) {
|
|
252
|
+
this.queueManager.deleteQueue(`${sessionId}:${workerId}`);
|
|
253
|
+
}
|
|
224
254
|
this.queueManager.deleteQueue(sessionId);
|
|
225
255
|
// Clean up ref IDs
|
|
226
256
|
(0, ref_id_manager_1.getRefIdManager)().clearSessionRefs(sessionId);
|
|
@@ -242,6 +272,18 @@ class SessionManager {
|
|
|
242
272
|
this.totalSessionsCleaned++;
|
|
243
273
|
}
|
|
244
274
|
}
|
|
275
|
+
// Trigger browser-level GC after bulk cleanup
|
|
276
|
+
if (deletedSessions.length > 0) {
|
|
277
|
+
try {
|
|
278
|
+
const pages = await this.cdpClient.getPages();
|
|
279
|
+
if (pages.length > 0) {
|
|
280
|
+
await this.cdpClient.triggerGC(pages[0]);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
catch {
|
|
284
|
+
// Best-effort GC
|
|
285
|
+
}
|
|
286
|
+
}
|
|
245
287
|
return deletedSessions;
|
|
246
288
|
}
|
|
247
289
|
/**
|
|
@@ -254,6 +296,11 @@ class SessionManager {
|
|
|
254
296
|
await this.deleteSession(sessionId);
|
|
255
297
|
this.totalSessionsCleaned++;
|
|
256
298
|
}
|
|
299
|
+
// Clean up Chrome pool and factory connections
|
|
300
|
+
if (this.chromePool) {
|
|
301
|
+
await this.chromePool.cleanup();
|
|
302
|
+
}
|
|
303
|
+
await this.cdpFactory.disconnectAll();
|
|
257
304
|
return count;
|
|
258
305
|
}
|
|
259
306
|
// ==================== WORKER MANAGEMENT ====================
|
|
@@ -273,8 +320,34 @@ class SessionManager {
|
|
|
273
320
|
return session.workers.get(workerId);
|
|
274
321
|
}
|
|
275
322
|
const name = options.name || `Worker ${workerId}`;
|
|
276
|
-
// Create
|
|
277
|
-
const context =
|
|
323
|
+
// Create browser context: shared (null = copies cookies from Chrome profile) or isolated
|
|
324
|
+
const context = options.shareCookies
|
|
325
|
+
? null
|
|
326
|
+
: await this.cdpClient.createBrowserContext();
|
|
327
|
+
// If pool is enabled and targetUrl provided, acquire a separate Chrome instance
|
|
328
|
+
let workerPort;
|
|
329
|
+
let workerPoolOrigin;
|
|
330
|
+
if (this.chromePool && options.targetUrl) {
|
|
331
|
+
try {
|
|
332
|
+
const origin = new URL(options.targetUrl).origin;
|
|
333
|
+
const poolInstance = await this.chromePool.acquireInstance(origin);
|
|
334
|
+
workerPort = poolInstance.port;
|
|
335
|
+
workerPoolOrigin = origin;
|
|
336
|
+
// Ensure CDPClient for this port is connected
|
|
337
|
+
const workerCdpClient = this.cdpFactory.getOrCreate(workerPort, {
|
|
338
|
+
autoLaunch: (0, global_1.getGlobalConfig)().autoLaunch,
|
|
339
|
+
});
|
|
340
|
+
if (!workerCdpClient.isConnected()) {
|
|
341
|
+
await workerCdpClient.connect();
|
|
342
|
+
}
|
|
343
|
+
console.error(`[SessionManager] Worker ${workerId} assigned to Chrome instance on port ${workerPort} for origin ${origin}`);
|
|
344
|
+
}
|
|
345
|
+
catch (err) {
|
|
346
|
+
console.error(`[SessionManager] Pool acquisition failed, falling back to default:`, err);
|
|
347
|
+
workerPort = undefined;
|
|
348
|
+
workerPoolOrigin = undefined;
|
|
349
|
+
}
|
|
350
|
+
}
|
|
278
351
|
const worker = {
|
|
279
352
|
id: workerId,
|
|
280
353
|
name,
|
|
@@ -282,6 +355,8 @@ class SessionManager {
|
|
|
282
355
|
context,
|
|
283
356
|
createdAt: Date.now(),
|
|
284
357
|
lastActivityAt: Date.now(),
|
|
358
|
+
port: workerPort,
|
|
359
|
+
poolOrigin: workerPoolOrigin,
|
|
285
360
|
};
|
|
286
361
|
session.workers.set(workerId, worker);
|
|
287
362
|
this.touchSession(sessionId);
|
|
@@ -361,22 +436,33 @@ class SessionManager {
|
|
|
361
436
|
const worker = session.workers.get(workerId);
|
|
362
437
|
if (!worker)
|
|
363
438
|
return;
|
|
439
|
+
// Determine which CDPClient to use for this worker
|
|
440
|
+
const workerCdpClient = worker.port
|
|
441
|
+
? (this.cdpFactory.get(worker.port) || this.cdpClient)
|
|
442
|
+
: this.cdpClient;
|
|
364
443
|
// Close all pages in this worker
|
|
365
444
|
for (const targetId of worker.targets) {
|
|
366
445
|
try {
|
|
367
|
-
await
|
|
446
|
+
await workerCdpClient.closePage(targetId);
|
|
368
447
|
}
|
|
369
448
|
catch {
|
|
370
449
|
// Page might already be closed
|
|
371
450
|
}
|
|
372
451
|
this.targetToWorker.delete(targetId);
|
|
373
452
|
}
|
|
374
|
-
// Close the browser context
|
|
375
|
-
|
|
376
|
-
|
|
453
|
+
// Close the browser context (only if it's an isolated context, not the default)
|
|
454
|
+
if (worker.context) {
|
|
455
|
+
try {
|
|
456
|
+
await workerCdpClient.closeBrowserContext(worker.context);
|
|
457
|
+
}
|
|
458
|
+
catch {
|
|
459
|
+
// Context might already be closed
|
|
460
|
+
}
|
|
377
461
|
}
|
|
378
|
-
|
|
379
|
-
|
|
462
|
+
// Release Chrome pool instance if worker had one
|
|
463
|
+
if (worker.port && worker.poolOrigin && this.chromePool) {
|
|
464
|
+
this.chromePool.releaseInstance(worker.port, worker.poolOrigin);
|
|
465
|
+
console.error(`[SessionManager] Released pool instance port ${worker.port} for origin ${worker.poolOrigin}`);
|
|
380
466
|
}
|
|
381
467
|
// Clean up ref IDs for this worker
|
|
382
468
|
for (const targetId of worker.targets) {
|
|
@@ -395,8 +481,9 @@ class SessionManager {
|
|
|
395
481
|
async createTarget(sessionId, url, workerId) {
|
|
396
482
|
await this.ensureConnected();
|
|
397
483
|
const worker = await this.getOrCreateWorker(sessionId, workerId);
|
|
398
|
-
// Create page in the worker's isolated browser context
|
|
399
|
-
const
|
|
484
|
+
// Create page in the worker's isolated browser context (use worker's CDPClient if on pool)
|
|
485
|
+
const cdpClient = this.getCDPClientForWorker(sessionId, worker.id);
|
|
486
|
+
const page = await cdpClient.createPage(url, worker.context);
|
|
400
487
|
const targetId = getTargetId(page.target());
|
|
401
488
|
worker.targets.add(targetId);
|
|
402
489
|
worker.lastActivityAt = Date.now();
|
|
@@ -428,8 +515,9 @@ class SessionManager {
|
|
|
428
515
|
* @param sessionId Session ID
|
|
429
516
|
* @param targetId Target/Tab ID
|
|
430
517
|
* @param workerId Optional worker ID for validation
|
|
518
|
+
* @param toolName Optional MCP tool name for hybrid BrowserRouter routing
|
|
431
519
|
*/
|
|
432
|
-
async getPage(sessionId, targetId, workerId) {
|
|
520
|
+
async getPage(sessionId, targetId, workerId, toolName) {
|
|
433
521
|
const ownerInfo = this.targetToWorker.get(targetId);
|
|
434
522
|
if (!ownerInfo || ownerInfo.sessionId !== sessionId) {
|
|
435
523
|
throw new Error(`Target ${targetId} does not belong to session ${sessionId}`);
|
|
@@ -437,12 +525,25 @@ class SessionManager {
|
|
|
437
525
|
if (workerId && ownerInfo.workerId !== workerId) {
|
|
438
526
|
throw new Error(`Target ${targetId} does not belong to worker ${workerId}`);
|
|
439
527
|
}
|
|
528
|
+
const cdpClient = this.getCDPClientForWorker(sessionId, ownerInfo.workerId);
|
|
440
529
|
// Validate target is still valid
|
|
441
|
-
|
|
530
|
+
try {
|
|
531
|
+
const page = await cdpClient.getPageByTargetId(targetId);
|
|
532
|
+
if (!page || page.isClosed()) {
|
|
533
|
+
this.onTargetClosed(targetId);
|
|
534
|
+
return null;
|
|
535
|
+
}
|
|
536
|
+
// Route through BrowserRouter if hybrid mode is active and toolName provided
|
|
537
|
+
if (this.browserRouter && toolName) {
|
|
538
|
+
const result = await this.browserRouter.route(toolName, page);
|
|
539
|
+
return result.page;
|
|
540
|
+
}
|
|
541
|
+
return page;
|
|
542
|
+
}
|
|
543
|
+
catch {
|
|
442
544
|
this.onTargetClosed(targetId);
|
|
443
545
|
return null;
|
|
444
546
|
}
|
|
445
|
-
return this.cdpClient.getPageByTargetId(targetId);
|
|
446
547
|
}
|
|
447
548
|
/**
|
|
448
549
|
* Get all pages for a worker
|
|
@@ -451,9 +552,10 @@ class SessionManager {
|
|
|
451
552
|
const worker = this.getWorker(sessionId, workerId);
|
|
452
553
|
if (!worker)
|
|
453
554
|
return [];
|
|
555
|
+
const cdpClient = this.getCDPClientForWorker(sessionId, workerId);
|
|
454
556
|
const pages = [];
|
|
455
557
|
for (const targetId of worker.targets) {
|
|
456
|
-
const page = await
|
|
558
|
+
const page = await cdpClient.getPageByTargetId(targetId);
|
|
457
559
|
if (page) {
|
|
458
560
|
pages.push(page);
|
|
459
561
|
}
|
|
@@ -495,6 +597,68 @@ class SessionManager {
|
|
|
495
597
|
getTargetWorkerId(targetId) {
|
|
496
598
|
return this.targetToWorker.get(targetId)?.workerId;
|
|
497
599
|
}
|
|
600
|
+
/**
|
|
601
|
+
* Close a specific target/tab
|
|
602
|
+
* @param sessionId Session ID
|
|
603
|
+
* @param targetId Target/Tab ID to close
|
|
604
|
+
* @returns true if closed, false if not found
|
|
605
|
+
*/
|
|
606
|
+
async closeTarget(sessionId, targetId) {
|
|
607
|
+
const ownerInfo = this.targetToWorker.get(targetId);
|
|
608
|
+
if (!ownerInfo || ownerInfo.sessionId !== sessionId) {
|
|
609
|
+
return false;
|
|
610
|
+
}
|
|
611
|
+
try {
|
|
612
|
+
// Close the page via CDP (use worker's CDPClient if on pool)
|
|
613
|
+
const cdpClient = this.getCDPClientForWorker(sessionId, ownerInfo.workerId);
|
|
614
|
+
// closePage() already triggers GC internally before closing
|
|
615
|
+
await cdpClient.closePage(targetId);
|
|
616
|
+
// Clean up internal state
|
|
617
|
+
const session = this.sessions.get(sessionId);
|
|
618
|
+
if (session) {
|
|
619
|
+
const worker = session.workers.get(ownerInfo.workerId);
|
|
620
|
+
if (worker) {
|
|
621
|
+
worker.targets.delete(targetId);
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
// Clean up ref IDs
|
|
625
|
+
(0, ref_id_manager_1.getRefIdManager)().clearTargetRefs(sessionId, targetId);
|
|
626
|
+
// Remove from mapping
|
|
627
|
+
this.targetToWorker.delete(targetId);
|
|
628
|
+
this.emitEvent({
|
|
629
|
+
type: 'session:target-closed',
|
|
630
|
+
sessionId,
|
|
631
|
+
workerId: ownerInfo.workerId,
|
|
632
|
+
targetId,
|
|
633
|
+
timestamp: Date.now(),
|
|
634
|
+
});
|
|
635
|
+
return true;
|
|
636
|
+
}
|
|
637
|
+
catch (error) {
|
|
638
|
+
// Page might already be closed
|
|
639
|
+
this.onTargetClosed(targetId);
|
|
640
|
+
return true;
|
|
641
|
+
}
|
|
642
|
+
}
|
|
643
|
+
/**
|
|
644
|
+
* Close all tabs in a worker (without deleting the worker)
|
|
645
|
+
* @param sessionId Session ID
|
|
646
|
+
* @param workerId Worker ID
|
|
647
|
+
* @returns Number of tabs closed
|
|
648
|
+
*/
|
|
649
|
+
async closeWorkerTabs(sessionId, workerId) {
|
|
650
|
+
const worker = this.getWorker(sessionId, workerId);
|
|
651
|
+
if (!worker)
|
|
652
|
+
return 0;
|
|
653
|
+
const targetIds = Array.from(worker.targets);
|
|
654
|
+
let closedCount = 0;
|
|
655
|
+
for (const targetId of targetIds) {
|
|
656
|
+
if (await this.closeTarget(sessionId, targetId)) {
|
|
657
|
+
closedCount++;
|
|
658
|
+
}
|
|
659
|
+
}
|
|
660
|
+
return closedCount;
|
|
661
|
+
}
|
|
498
662
|
/**
|
|
499
663
|
* Execute a CDP command through the session's queue
|
|
500
664
|
*/
|
|
@@ -503,12 +667,17 @@ class SessionManager {
|
|
|
503
667
|
throw new Error(`Target ${targetId} does not belong to session ${sessionId}`);
|
|
504
668
|
}
|
|
505
669
|
this.touchSession(sessionId);
|
|
506
|
-
|
|
507
|
-
|
|
670
|
+
const ownerInfo = this.targetToWorker.get(targetId);
|
|
671
|
+
const cdpClient = ownerInfo
|
|
672
|
+
? this.getCDPClientForWorker(sessionId, ownerInfo.workerId)
|
|
673
|
+
: this.cdpClient;
|
|
674
|
+
const workerQueueKey = ownerInfo ? `${sessionId}:${ownerInfo.workerId}` : sessionId;
|
|
675
|
+
return this.queueManager.enqueue(workerQueueKey, async () => {
|
|
676
|
+
const page = await cdpClient.getPageByTargetId(targetId);
|
|
508
677
|
if (!page) {
|
|
509
678
|
throw new Error(`Page not found for target ${targetId}`);
|
|
510
679
|
}
|
|
511
|
-
return
|
|
680
|
+
return cdpClient.send(page, method, params);
|
|
512
681
|
});
|
|
513
682
|
}
|
|
514
683
|
/**
|
|
@@ -618,6 +787,32 @@ class SessionManager {
|
|
|
618
787
|
getCDPClient() {
|
|
619
788
|
return this.cdpClient;
|
|
620
789
|
}
|
|
790
|
+
/**
|
|
791
|
+
* Initialize hybrid mode with BrowserRouter
|
|
792
|
+
*/
|
|
793
|
+
async initHybrid(config) {
|
|
794
|
+
if (this.browserRouter)
|
|
795
|
+
return; // Already initialized
|
|
796
|
+
this.browserRouter = new router_1.BrowserRouter(config);
|
|
797
|
+
await this.browserRouter.initialize();
|
|
798
|
+
console.error('[SessionManager] Hybrid mode initialized');
|
|
799
|
+
}
|
|
800
|
+
/**
|
|
801
|
+
* Get the BrowserRouter (for stats/escalation)
|
|
802
|
+
*/
|
|
803
|
+
getBrowserRouter() {
|
|
804
|
+
return this.browserRouter;
|
|
805
|
+
}
|
|
806
|
+
/**
|
|
807
|
+
* Cleanup hybrid mode
|
|
808
|
+
*/
|
|
809
|
+
async cleanupHybrid() {
|
|
810
|
+
if (this.browserRouter) {
|
|
811
|
+
await this.browserRouter.cleanup();
|
|
812
|
+
this.browserRouter = null;
|
|
813
|
+
console.error('[SessionManager] Hybrid mode cleaned up');
|
|
814
|
+
}
|
|
815
|
+
}
|
|
621
816
|
}
|
|
622
817
|
exports.SessionManager = SessionManager;
|
|
623
818
|
// Singleton instance
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Click Element Tool - Composite tool that finds and clicks an element in one operation
|
|
3
|
+
*
|
|
4
|
+
* This reduces the typical find → get coordinates → click pattern into a single tool call.
|
|
5
|
+
*/
|
|
6
|
+
import { MCPServer } from '../mcp-server';
|
|
7
|
+
export declare function registerClickElementTool(server: MCPServer): void;
|
|
8
|
+
//# sourceMappingURL=click-element.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"click-element.d.ts","sourceRoot":"","sources":["../../src/tools/click-element.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AA0b1C,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAEhE"}
|