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
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Request Handler - Routes IPC requests to session registry methods
|
|
4
|
-
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.RequestHandler = void 0;
|
|
7
|
-
const ipc_protocol_1 = require("../shared/ipc-protocol");
|
|
8
|
-
class RequestHandler {
|
|
9
|
-
registry;
|
|
10
|
-
server;
|
|
11
|
-
constructor(registry, server) {
|
|
12
|
-
this.registry = registry;
|
|
13
|
-
this.server = server;
|
|
14
|
-
this.server.on('request', (request) => this.handleRequest(request));
|
|
15
|
-
this.server.on('disconnect', (workerId) => this.handleWorkerDisconnect(workerId));
|
|
16
|
-
}
|
|
17
|
-
async handleRequest(request) {
|
|
18
|
-
const { id, method, params, workerId } = request;
|
|
19
|
-
try {
|
|
20
|
-
const result = await this.dispatch(method, params, workerId);
|
|
21
|
-
this.sendResponse(workerId, { id, result });
|
|
22
|
-
}
|
|
23
|
-
catch (error) {
|
|
24
|
-
console.error(`[RequestHandler] Error handling ${method}:`, error);
|
|
25
|
-
this.sendError(workerId, id, error);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
async dispatch(method, params, workerId) {
|
|
29
|
-
switch (method) {
|
|
30
|
-
// Session management
|
|
31
|
-
case 'session/create':
|
|
32
|
-
return this.registry.createSession(workerId, params);
|
|
33
|
-
case 'session/get':
|
|
34
|
-
return this.registry.getSession(params.sessionId);
|
|
35
|
-
case 'session/list':
|
|
36
|
-
return this.registry.listSessions();
|
|
37
|
-
case 'session/delete':
|
|
38
|
-
await this.registry.deleteSession(params.sessionId);
|
|
39
|
-
return { success: true };
|
|
40
|
-
// Tab management
|
|
41
|
-
case 'tabs/create':
|
|
42
|
-
return this.registry.createTarget(params.sessionId, params.url);
|
|
43
|
-
case 'tabs/list':
|
|
44
|
-
return this.registry.listTargets(params.sessionId);
|
|
45
|
-
case 'tabs/close':
|
|
46
|
-
await this.registry.closeTarget(params.sessionId, params.targetId);
|
|
47
|
-
return { success: true };
|
|
48
|
-
// Page operations
|
|
49
|
-
case 'page/navigate':
|
|
50
|
-
await this.registry.navigate(params.sessionId, params.targetId, params.url, params.options);
|
|
51
|
-
return { success: true };
|
|
52
|
-
case 'page/screenshot':
|
|
53
|
-
return this.registry.screenshot(params.sessionId, params.targetId, params.options);
|
|
54
|
-
case 'page/evaluate':
|
|
55
|
-
return this.registry.evaluate(params.sessionId, params.targetId, params.script);
|
|
56
|
-
case 'page/click':
|
|
57
|
-
await this.registry.click(params.sessionId, params.targetId, params.x, params.y);
|
|
58
|
-
return { success: true };
|
|
59
|
-
case 'page/type':
|
|
60
|
-
await this.registry.type(params.sessionId, params.targetId, params.text);
|
|
61
|
-
return { success: true };
|
|
62
|
-
case 'page/scroll':
|
|
63
|
-
await this.registry.scroll(params.sessionId, params.targetId, params.x, params.y, params.direction, params.amount);
|
|
64
|
-
return { success: true };
|
|
65
|
-
// CDP execution
|
|
66
|
-
case 'cdp/execute':
|
|
67
|
-
return this.registry.executeCDP(params.sessionId, params.targetId, params.method, params.params);
|
|
68
|
-
// Accessibility
|
|
69
|
-
case 'page/getAccessibilityTree':
|
|
70
|
-
return this.registry.getAccessibilityTree(params.sessionId, params.targetId);
|
|
71
|
-
// Reference management
|
|
72
|
-
case 'refs/set': {
|
|
73
|
-
const nodeInfo = params.nodeInfo;
|
|
74
|
-
const refId = this.registry.getRefIdManager().generateRef(params.sessionId, params.targetId, params.backendNodeId, nodeInfo?.role || 'unknown', nodeInfo?.name);
|
|
75
|
-
return { success: true, refId };
|
|
76
|
-
}
|
|
77
|
-
case 'refs/get':
|
|
78
|
-
return this.registry.getRefIdManager().getRef(params.sessionId, params.targetId, params.refId);
|
|
79
|
-
case 'refs/clear':
|
|
80
|
-
if (params.targetId) {
|
|
81
|
-
this.registry.getRefIdManager().clearTargetRefs(params.sessionId, params.targetId);
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
this.registry.getRefIdManager().clearSessionRefs(params.sessionId);
|
|
85
|
-
}
|
|
86
|
-
return { success: true };
|
|
87
|
-
// Worker management
|
|
88
|
-
case 'worker/register':
|
|
89
|
-
return { workerId, status: 'registered' };
|
|
90
|
-
case 'worker/heartbeat':
|
|
91
|
-
return { status: 'alive', timestamp: Date.now() };
|
|
92
|
-
default:
|
|
93
|
-
throw new Error(`Unknown method: ${method}`);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
sendResponse(workerId, response) {
|
|
97
|
-
this.server.sendToWorker(workerId, response);
|
|
98
|
-
}
|
|
99
|
-
sendError(workerId, id, error) {
|
|
100
|
-
const errorCode = this.getErrorCode(error);
|
|
101
|
-
this.server.sendToWorker(workerId, {
|
|
102
|
-
id,
|
|
103
|
-
error: {
|
|
104
|
-
code: errorCode,
|
|
105
|
-
message: error.message,
|
|
106
|
-
},
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
getErrorCode(error) {
|
|
110
|
-
const message = error.message.toLowerCase();
|
|
111
|
-
if (message.includes('session') && message.includes('not found')) {
|
|
112
|
-
return ipc_protocol_1.IPCErrorCodes.SESSION_NOT_FOUND;
|
|
113
|
-
}
|
|
114
|
-
if (message.includes('target') || message.includes('page not found')) {
|
|
115
|
-
return ipc_protocol_1.IPCErrorCodes.TARGET_NOT_FOUND;
|
|
116
|
-
}
|
|
117
|
-
if (message.includes('does not belong') || message.includes('ownership')) {
|
|
118
|
-
return ipc_protocol_1.IPCErrorCodes.OWNERSHIP_VIOLATION;
|
|
119
|
-
}
|
|
120
|
-
if (message.includes('not connected')) {
|
|
121
|
-
return ipc_protocol_1.IPCErrorCodes.CHROME_NOT_CONNECTED;
|
|
122
|
-
}
|
|
123
|
-
if (message.includes('timeout')) {
|
|
124
|
-
return ipc_protocol_1.IPCErrorCodes.TIMEOUT;
|
|
125
|
-
}
|
|
126
|
-
return ipc_protocol_1.IPCErrorCodes.INTERNAL_ERROR;
|
|
127
|
-
}
|
|
128
|
-
async handleWorkerDisconnect(workerId) {
|
|
129
|
-
console.error(`[RequestHandler] Worker disconnected: ${workerId}`);
|
|
130
|
-
await this.registry.cleanupWorker(workerId);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
exports.RequestHandler = RequestHandler;
|
|
134
|
-
//# sourceMappingURL=request-handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request-handler.js","sourceRoot":"","sources":["../../src/master/request-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Session Registry - Central session management for Master process
|
|
3
|
-
* Wraps the existing SessionManager to add worker tracking
|
|
4
|
-
*/
|
|
5
|
-
import { SessionManager } from '../session-manager';
|
|
6
|
-
import { CDPClient } from '../cdp/client';
|
|
7
|
-
export declare class SessionRegistry {
|
|
8
|
-
private sessionManager;
|
|
9
|
-
private workerSessions;
|
|
10
|
-
private sessionWorker;
|
|
11
|
-
constructor(cdpClient?: CDPClient);
|
|
12
|
-
/**
|
|
13
|
-
* Ensure connected to Chrome
|
|
14
|
-
*/
|
|
15
|
-
ensureConnected(): Promise<void>;
|
|
16
|
-
/**
|
|
17
|
-
* Create a new session for a worker
|
|
18
|
-
*/
|
|
19
|
-
createSession(workerId: string, options?: {
|
|
20
|
-
name?: string;
|
|
21
|
-
}): Promise<{
|
|
22
|
-
id: string;
|
|
23
|
-
name: string;
|
|
24
|
-
}>;
|
|
25
|
-
/**
|
|
26
|
-
* Get session info
|
|
27
|
-
*/
|
|
28
|
-
getSession(sessionId: string): import("../types").SessionInfo | undefined;
|
|
29
|
-
/**
|
|
30
|
-
* List all sessions
|
|
31
|
-
*/
|
|
32
|
-
listSessions(): import("../types").SessionInfo[];
|
|
33
|
-
/**
|
|
34
|
-
* List sessions for a specific worker
|
|
35
|
-
*/
|
|
36
|
-
listWorkerSessions(workerId: string): import("../types").SessionInfo[];
|
|
37
|
-
/**
|
|
38
|
-
* Delete a session
|
|
39
|
-
*/
|
|
40
|
-
deleteSession(sessionId: string): Promise<void>;
|
|
41
|
-
/**
|
|
42
|
-
* Create a new target (tab) for a session
|
|
43
|
-
*/
|
|
44
|
-
createTarget(sessionId: string, url?: string): Promise<{
|
|
45
|
-
targetId: string;
|
|
46
|
-
url: string;
|
|
47
|
-
title: string;
|
|
48
|
-
}>;
|
|
49
|
-
/**
|
|
50
|
-
* List targets for a session
|
|
51
|
-
*/
|
|
52
|
-
listTargets(sessionId: string): Promise<{
|
|
53
|
-
targetId: string;
|
|
54
|
-
url: string;
|
|
55
|
-
title: string;
|
|
56
|
-
}[]>;
|
|
57
|
-
/**
|
|
58
|
-
* Close a target
|
|
59
|
-
*/
|
|
60
|
-
closeTarget(sessionId: string, targetId: string): Promise<void>;
|
|
61
|
-
/**
|
|
62
|
-
* Navigate a page
|
|
63
|
-
*/
|
|
64
|
-
navigate(sessionId: string, targetId: string, url: string, options?: {
|
|
65
|
-
waitUntil?: string;
|
|
66
|
-
timeout?: number;
|
|
67
|
-
}): Promise<void>;
|
|
68
|
-
/**
|
|
69
|
-
* Take a screenshot
|
|
70
|
-
*/
|
|
71
|
-
screenshot(sessionId: string, targetId: string, options?: {
|
|
72
|
-
format?: string;
|
|
73
|
-
quality?: number;
|
|
74
|
-
fullPage?: boolean;
|
|
75
|
-
}): Promise<string>;
|
|
76
|
-
/**
|
|
77
|
-
* Evaluate JavaScript
|
|
78
|
-
*/
|
|
79
|
-
evaluate<T>(sessionId: string, targetId: string, script: string): Promise<T>;
|
|
80
|
-
/**
|
|
81
|
-
* Click at coordinates
|
|
82
|
-
*/
|
|
83
|
-
click(sessionId: string, targetId: string, x: number, y: number): Promise<void>;
|
|
84
|
-
/**
|
|
85
|
-
* Type text
|
|
86
|
-
*/
|
|
87
|
-
type(sessionId: string, targetId: string, text: string): Promise<void>;
|
|
88
|
-
/**
|
|
89
|
-
* Scroll
|
|
90
|
-
*/
|
|
91
|
-
scroll(sessionId: string, targetId: string, x: number, y: number, direction: string, amount: number): Promise<void>;
|
|
92
|
-
/**
|
|
93
|
-
* Execute CDP command
|
|
94
|
-
*/
|
|
95
|
-
executeCDP<T>(sessionId: string, targetId: string, method: string, params?: Record<string, unknown>): Promise<T>;
|
|
96
|
-
/**
|
|
97
|
-
* Get accessibility tree
|
|
98
|
-
*/
|
|
99
|
-
getAccessibilityTree(sessionId: string, targetId: string): Promise<unknown>;
|
|
100
|
-
/**
|
|
101
|
-
* Clean up all sessions for a disconnected worker
|
|
102
|
-
*/
|
|
103
|
-
cleanupWorker(workerId: string): Promise<void>;
|
|
104
|
-
/**
|
|
105
|
-
* Get ref ID manager
|
|
106
|
-
*/
|
|
107
|
-
getRefIdManager(): import("../utils/ref-id-manager").RefIdManager;
|
|
108
|
-
/**
|
|
109
|
-
* Get underlying session manager
|
|
110
|
-
*/
|
|
111
|
-
getSessionManager(): SessionManager;
|
|
112
|
-
/**
|
|
113
|
-
* Get statistics
|
|
114
|
-
*/
|
|
115
|
-
getStats(): {
|
|
116
|
-
sessions: number;
|
|
117
|
-
workers: number;
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
//# sourceMappingURL=session-registry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-registry.d.ts","sourceRoot":"","sources":["../../src/master/session-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,247 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Session Registry - Central session management for Master process
|
|
4
|
-
* Wraps the existing SessionManager to add worker tracking
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.SessionRegistry = void 0;
|
|
8
|
-
const session_manager_1 = require("../session-manager");
|
|
9
|
-
const client_1 = require("../cdp/client");
|
|
10
|
-
const ref_id_manager_1 = require("../utils/ref-id-manager");
|
|
11
|
-
class SessionRegistry {
|
|
12
|
-
sessionManager;
|
|
13
|
-
workerSessions = new Map(); // workerId -> sessionIds
|
|
14
|
-
sessionWorker = new Map(); // sessionId -> workerId
|
|
15
|
-
constructor(cdpClient) {
|
|
16
|
-
this.sessionManager = new session_manager_1.SessionManager(cdpClient || (0, client_1.getCDPClient)());
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Ensure connected to Chrome
|
|
20
|
-
*/
|
|
21
|
-
async ensureConnected() {
|
|
22
|
-
await this.sessionManager.ensureConnected();
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Create a new session for a worker
|
|
26
|
-
*/
|
|
27
|
-
async createSession(workerId, options) {
|
|
28
|
-
const session = await this.sessionManager.createSession(options);
|
|
29
|
-
// Track worker ownership
|
|
30
|
-
let workerSessionSet = this.workerSessions.get(workerId);
|
|
31
|
-
if (!workerSessionSet) {
|
|
32
|
-
workerSessionSet = new Set();
|
|
33
|
-
this.workerSessions.set(workerId, workerSessionSet);
|
|
34
|
-
}
|
|
35
|
-
workerSessionSet.add(session.id);
|
|
36
|
-
this.sessionWorker.set(session.id, workerId);
|
|
37
|
-
console.error(`[SessionRegistry] Created session ${session.id} for worker ${workerId}`);
|
|
38
|
-
return { id: session.id, name: session.name };
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Get session info
|
|
42
|
-
*/
|
|
43
|
-
getSession(sessionId) {
|
|
44
|
-
return this.sessionManager.getSessionInfo(sessionId);
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* List all sessions
|
|
48
|
-
*/
|
|
49
|
-
listSessions() {
|
|
50
|
-
return this.sessionManager.getAllSessionInfos();
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* List sessions for a specific worker
|
|
54
|
-
*/
|
|
55
|
-
listWorkerSessions(workerId) {
|
|
56
|
-
const sessionIds = this.workerSessions.get(workerId);
|
|
57
|
-
if (!sessionIds)
|
|
58
|
-
return [];
|
|
59
|
-
return Array.from(sessionIds)
|
|
60
|
-
.map(id => this.sessionManager.getSessionInfo(id))
|
|
61
|
-
.filter(info => info !== undefined);
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Delete a session
|
|
65
|
-
*/
|
|
66
|
-
async deleteSession(sessionId) {
|
|
67
|
-
const workerId = this.sessionWorker.get(sessionId);
|
|
68
|
-
if (workerId) {
|
|
69
|
-
const workerSessions = this.workerSessions.get(workerId);
|
|
70
|
-
if (workerSessions) {
|
|
71
|
-
workerSessions.delete(sessionId);
|
|
72
|
-
}
|
|
73
|
-
this.sessionWorker.delete(sessionId);
|
|
74
|
-
}
|
|
75
|
-
await this.sessionManager.deleteSession(sessionId);
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Create a new target (tab) for a session
|
|
79
|
-
*/
|
|
80
|
-
async createTarget(sessionId, url) {
|
|
81
|
-
const result = await this.sessionManager.createTarget(sessionId, url);
|
|
82
|
-
return {
|
|
83
|
-
targetId: result.targetId,
|
|
84
|
-
url: result.page.url(),
|
|
85
|
-
title: await result.page.title(),
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* List targets for a session
|
|
90
|
-
*/
|
|
91
|
-
async listTargets(sessionId) {
|
|
92
|
-
const pages = await this.sessionManager.getSessionPages(sessionId);
|
|
93
|
-
const targets = [];
|
|
94
|
-
for (const page of pages) {
|
|
95
|
-
const target = page.target();
|
|
96
|
-
const targetId = target._targetId;
|
|
97
|
-
targets.push({
|
|
98
|
-
targetId,
|
|
99
|
-
url: page.url(),
|
|
100
|
-
title: await page.title(),
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
return targets;
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Close a target
|
|
107
|
-
*/
|
|
108
|
-
async closeTarget(sessionId, targetId) {
|
|
109
|
-
await this.sessionManager.removeTarget(sessionId, targetId);
|
|
110
|
-
await this.sessionManager.getCDPClient().closePage(targetId);
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Navigate a page
|
|
114
|
-
*/
|
|
115
|
-
async navigate(sessionId, targetId, url, options) {
|
|
116
|
-
const page = await this.sessionManager.getPage(sessionId, targetId);
|
|
117
|
-
if (!page)
|
|
118
|
-
throw new Error(`Page not found: ${targetId}`);
|
|
119
|
-
await page.goto(url, {
|
|
120
|
-
waitUntil: options?.waitUntil || 'domcontentloaded',
|
|
121
|
-
timeout: options?.timeout || 30000,
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Take a screenshot
|
|
126
|
-
*/
|
|
127
|
-
async screenshot(sessionId, targetId, options) {
|
|
128
|
-
const page = await this.sessionManager.getPage(sessionId, targetId);
|
|
129
|
-
if (!page)
|
|
130
|
-
throw new Error(`Page not found: ${targetId}`);
|
|
131
|
-
const buffer = await page.screenshot({
|
|
132
|
-
type: options?.format || 'png',
|
|
133
|
-
quality: options?.format === 'jpeg' ? (options?.quality || 80) : undefined,
|
|
134
|
-
fullPage: options?.fullPage || false,
|
|
135
|
-
encoding: 'base64',
|
|
136
|
-
});
|
|
137
|
-
return buffer;
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Evaluate JavaScript
|
|
141
|
-
*/
|
|
142
|
-
async evaluate(sessionId, targetId, script) {
|
|
143
|
-
const page = await this.sessionManager.getPage(sessionId, targetId);
|
|
144
|
-
if (!page)
|
|
145
|
-
throw new Error(`Page not found: ${targetId}`);
|
|
146
|
-
return page.evaluate(script);
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Click at coordinates
|
|
150
|
-
*/
|
|
151
|
-
async click(sessionId, targetId, x, y) {
|
|
152
|
-
const page = await this.sessionManager.getPage(sessionId, targetId);
|
|
153
|
-
if (!page)
|
|
154
|
-
throw new Error(`Page not found: ${targetId}`);
|
|
155
|
-
await page.mouse.click(x, y);
|
|
156
|
-
}
|
|
157
|
-
/**
|
|
158
|
-
* Type text
|
|
159
|
-
*/
|
|
160
|
-
async type(sessionId, targetId, text) {
|
|
161
|
-
const page = await this.sessionManager.getPage(sessionId, targetId);
|
|
162
|
-
if (!page)
|
|
163
|
-
throw new Error(`Page not found: ${targetId}`);
|
|
164
|
-
await page.keyboard.type(text);
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Scroll
|
|
168
|
-
*/
|
|
169
|
-
async scroll(sessionId, targetId, x, y, direction, amount) {
|
|
170
|
-
const page = await this.sessionManager.getPage(sessionId, targetId);
|
|
171
|
-
if (!page)
|
|
172
|
-
throw new Error(`Page not found: ${targetId}`);
|
|
173
|
-
await page.mouse.move(x, y);
|
|
174
|
-
let deltaX = 0;
|
|
175
|
-
let deltaY = 0;
|
|
176
|
-
const scrollAmount = amount * 100;
|
|
177
|
-
switch (direction) {
|
|
178
|
-
case 'up':
|
|
179
|
-
deltaY = -scrollAmount;
|
|
180
|
-
break;
|
|
181
|
-
case 'down':
|
|
182
|
-
deltaY = scrollAmount;
|
|
183
|
-
break;
|
|
184
|
-
case 'left':
|
|
185
|
-
deltaX = -scrollAmount;
|
|
186
|
-
break;
|
|
187
|
-
case 'right':
|
|
188
|
-
deltaX = scrollAmount;
|
|
189
|
-
break;
|
|
190
|
-
}
|
|
191
|
-
await page.mouse.wheel({ deltaX, deltaY });
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Execute CDP command
|
|
195
|
-
*/
|
|
196
|
-
async executeCDP(sessionId, targetId, method, params) {
|
|
197
|
-
return this.sessionManager.executeCDP(sessionId, targetId, method, params);
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* Get accessibility tree
|
|
201
|
-
*/
|
|
202
|
-
async getAccessibilityTree(sessionId, targetId) {
|
|
203
|
-
return this.sessionManager.executeCDP(sessionId, targetId, 'Accessibility.getFullAXTree');
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Clean up all sessions for a disconnected worker
|
|
207
|
-
*/
|
|
208
|
-
async cleanupWorker(workerId) {
|
|
209
|
-
const sessionIds = this.workerSessions.get(workerId);
|
|
210
|
-
if (!sessionIds)
|
|
211
|
-
return;
|
|
212
|
-
console.error(`[SessionRegistry] Cleaning up ${sessionIds.size} sessions for worker ${workerId}`);
|
|
213
|
-
for (const sessionId of sessionIds) {
|
|
214
|
-
try {
|
|
215
|
-
await this.sessionManager.deleteSession(sessionId);
|
|
216
|
-
this.sessionWorker.delete(sessionId);
|
|
217
|
-
}
|
|
218
|
-
catch (error) {
|
|
219
|
-
console.error(`[SessionRegistry] Error deleting session ${sessionId}:`, error);
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
this.workerSessions.delete(workerId);
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* Get ref ID manager
|
|
226
|
-
*/
|
|
227
|
-
getRefIdManager() {
|
|
228
|
-
return (0, ref_id_manager_1.getRefIdManager)();
|
|
229
|
-
}
|
|
230
|
-
/**
|
|
231
|
-
* Get underlying session manager
|
|
232
|
-
*/
|
|
233
|
-
getSessionManager() {
|
|
234
|
-
return this.sessionManager;
|
|
235
|
-
}
|
|
236
|
-
/**
|
|
237
|
-
* Get statistics
|
|
238
|
-
*/
|
|
239
|
-
getStats() {
|
|
240
|
-
return {
|
|
241
|
-
sessions: this.sessionManager.sessionCount,
|
|
242
|
-
workers: this.workerSessions.size,
|
|
243
|
-
};
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
exports.SessionRegistry = SessionRegistry;
|
|
247
|
-
//# sourceMappingURL=session-registry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-registry.js","sourceRoot":"","sources":["../../src/master/session-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* IPC Constants - Paths and configuration for Master-Worker communication
|
|
3
|
-
*/
|
|
4
|
-
export declare const IPC_PIPE_NAME = "claude-chrome-parallel";
|
|
5
|
-
export declare const WINDOWS_PIPE_PATH = "\\\\.\\pipe\\claude-chrome-parallel";
|
|
6
|
-
export declare const UNIX_SOCKET_PATH: string;
|
|
7
|
-
export declare function getIPCPath(): string;
|
|
8
|
-
export declare const DEFAULT_CHROME_PORT = 9222;
|
|
9
|
-
export declare const IPC_CONNECT_TIMEOUT = 5000;
|
|
10
|
-
export declare const IPC_REQUEST_TIMEOUT = 30000;
|
|
11
|
-
export declare const IPC_HEARTBEAT_INTERVAL = 10000;
|
|
12
|
-
export declare const WORKER_CLEANUP_INTERVAL = 30000;
|
|
13
|
-
export declare const WORKER_RECONNECT_ATTEMPTS = 3;
|
|
14
|
-
export declare const WORKER_RECONNECT_DELAY = 1000;
|
|
15
|
-
export declare const MASTER_START_TIMEOUT = 10000;
|
|
16
|
-
//# sourceMappingURL=ipc-constants.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ipc-constants.d.ts","sourceRoot":"","sources":["../../src/shared/ipc-constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,eAAO,MAAM,aAAa,2BAA2B,CAAC;AAGtD,eAAO,MAAM,iBAAiB,wCAAkC,CAAC;AAGjE,eAAO,MAAM,gBAAgB,QAAkD,CAAC;AAGhF,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAGD,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAGxC,eAAO,MAAM,mBAAmB,OAAO,CAAC;AACxC,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AACzC,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAG5C,eAAO,MAAM,uBAAuB,QAAQ,CAAC;AAG7C,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAC3C,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAG3C,eAAO,MAAM,oBAAoB,QAAQ,CAAC"}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* IPC Constants - Paths and configuration for Master-Worker communication
|
|
4
|
-
*/
|
|
5
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
-
}
|
|
11
|
-
Object.defineProperty(o, k2, desc);
|
|
12
|
-
}) : (function(o, m, k, k2) {
|
|
13
|
-
if (k2 === undefined) k2 = k;
|
|
14
|
-
o[k2] = m[k];
|
|
15
|
-
}));
|
|
16
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
-
}) : function(o, v) {
|
|
19
|
-
o["default"] = v;
|
|
20
|
-
});
|
|
21
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
-
var ownKeys = function(o) {
|
|
23
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
-
var ar = [];
|
|
25
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
-
return ar;
|
|
27
|
-
};
|
|
28
|
-
return ownKeys(o);
|
|
29
|
-
};
|
|
30
|
-
return function (mod) {
|
|
31
|
-
if (mod && mod.__esModule) return mod;
|
|
32
|
-
var result = {};
|
|
33
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
-
__setModuleDefault(result, mod);
|
|
35
|
-
return result;
|
|
36
|
-
};
|
|
37
|
-
})();
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.MASTER_START_TIMEOUT = exports.WORKER_RECONNECT_DELAY = exports.WORKER_RECONNECT_ATTEMPTS = exports.WORKER_CLEANUP_INTERVAL = exports.IPC_HEARTBEAT_INTERVAL = exports.IPC_REQUEST_TIMEOUT = exports.IPC_CONNECT_TIMEOUT = exports.DEFAULT_CHROME_PORT = exports.UNIX_SOCKET_PATH = exports.WINDOWS_PIPE_PATH = exports.IPC_PIPE_NAME = void 0;
|
|
40
|
-
exports.getIPCPath = getIPCPath;
|
|
41
|
-
const path = __importStar(require("path"));
|
|
42
|
-
const os = __importStar(require("os"));
|
|
43
|
-
// Named pipe/socket names
|
|
44
|
-
exports.IPC_PIPE_NAME = 'claude-chrome-parallel';
|
|
45
|
-
// Windows: Named Pipe
|
|
46
|
-
exports.WINDOWS_PIPE_PATH = `\\\\.\\pipe\\${exports.IPC_PIPE_NAME}`;
|
|
47
|
-
// Unix: Domain Socket
|
|
48
|
-
exports.UNIX_SOCKET_PATH = path.join(os.tmpdir(), `${exports.IPC_PIPE_NAME}.sock`);
|
|
49
|
-
// Get the appropriate IPC path for the current platform
|
|
50
|
-
function getIPCPath() {
|
|
51
|
-
return process.platform === 'win32' ? exports.WINDOWS_PIPE_PATH : exports.UNIX_SOCKET_PATH;
|
|
52
|
-
}
|
|
53
|
-
// Default Chrome debugging port
|
|
54
|
-
exports.DEFAULT_CHROME_PORT = 9222;
|
|
55
|
-
// IPC timeouts
|
|
56
|
-
exports.IPC_CONNECT_TIMEOUT = 5000; // 5 seconds
|
|
57
|
-
exports.IPC_REQUEST_TIMEOUT = 30000; // 30 seconds
|
|
58
|
-
exports.IPC_HEARTBEAT_INTERVAL = 10000; // 10 seconds
|
|
59
|
-
// Master check interval for worker cleanup
|
|
60
|
-
exports.WORKER_CLEANUP_INTERVAL = 30000; // 30 seconds
|
|
61
|
-
// Worker reconnection settings
|
|
62
|
-
exports.WORKER_RECONNECT_ATTEMPTS = 3;
|
|
63
|
-
exports.WORKER_RECONNECT_DELAY = 1000; // 1 second
|
|
64
|
-
// Auto-start master timeout
|
|
65
|
-
exports.MASTER_START_TIMEOUT = 10000; // 10 seconds
|
|
66
|
-
//# sourceMappingURL=ipc-constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ipc-constants.js","sourceRoot":"","sources":["../../src/shared/ipc-constants.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeH,gCAEC;AAfD,2CAA6B;AAC7B,uCAAyB;AAEzB,0BAA0B;AACb,QAAA,aAAa,GAAG,wBAAwB,CAAC;AAEtD,sBAAsB;AACT,QAAA,iBAAiB,GAAG,gBAAgB,qBAAa,EAAE,CAAC;AAEjE,sBAAsB;AACT,QAAA,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,qBAAa,OAAO,CAAC,CAAC;AAEhF,wDAAwD;AACxD,SAAgB,UAAU;IACxB,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,yBAAiB,CAAC,CAAC,CAAC,wBAAgB,CAAC;AAC7E,CAAC;AAED,gCAAgC;AACnB,QAAA,mBAAmB,GAAG,IAAI,CAAC;AAExC,eAAe;AACF,QAAA,mBAAmB,GAAG,IAAI,CAAC,CAAE,YAAY;AACzC,QAAA,mBAAmB,GAAG,KAAK,CAAC,CAAC,aAAa;AAC1C,QAAA,sBAAsB,GAAG,KAAK,CAAC,CAAC,aAAa;AAE1D,2CAA2C;AAC9B,QAAA,uBAAuB,GAAG,KAAK,CAAC,CAAC,aAAa;AAE3D,+BAA+B;AAClB,QAAA,yBAAyB,GAAG,CAAC,CAAC;AAC9B,QAAA,sBAAsB,GAAG,IAAI,CAAC,CAAC,WAAW;AAEvD,4BAA4B;AACf,QAAA,oBAAoB,GAAG,KAAK,CAAC,CAAC,aAAa"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* IPC Protocol - Message types for Master-Worker communication
|
|
3
|
-
*/
|
|
4
|
-
export interface IPCRequest {
|
|
5
|
-
id: string;
|
|
6
|
-
method: IPCMethod;
|
|
7
|
-
params: Record<string, unknown>;
|
|
8
|
-
workerId: string;
|
|
9
|
-
}
|
|
10
|
-
export interface IPCResponse {
|
|
11
|
-
id: string;
|
|
12
|
-
result?: unknown;
|
|
13
|
-
error?: IPCError;
|
|
14
|
-
}
|
|
15
|
-
export interface IPCError {
|
|
16
|
-
code: number;
|
|
17
|
-
message: string;
|
|
18
|
-
data?: unknown;
|
|
19
|
-
}
|
|
20
|
-
export type IPCMethod = 'session/create' | 'session/delete' | 'session/get' | 'session/list' | 'tabs/create' | 'tabs/list' | 'tabs/close' | 'cdp/execute' | 'page/navigate' | 'page/screenshot' | 'page/evaluate' | 'page/click' | 'page/type' | 'page/scroll' | 'page/waitForSelector' | 'page/getAccessibilityTree' | 'page/setInputValue' | 'refs/set' | 'refs/get' | 'refs/clear' | 'worker/register' | 'worker/heartbeat';
|
|
21
|
-
export declare const IPCErrorCodes: {
|
|
22
|
-
readonly PARSE_ERROR: -32700;
|
|
23
|
-
readonly INVALID_REQUEST: -32600;
|
|
24
|
-
readonly METHOD_NOT_FOUND: -32601;
|
|
25
|
-
readonly INVALID_PARAMS: -32602;
|
|
26
|
-
readonly INTERNAL_ERROR: -32603;
|
|
27
|
-
readonly SESSION_NOT_FOUND: -40001;
|
|
28
|
-
readonly TARGET_NOT_FOUND: -40002;
|
|
29
|
-
readonly OWNERSHIP_VIOLATION: -40003;
|
|
30
|
-
readonly CHROME_NOT_CONNECTED: -40004;
|
|
31
|
-
readonly TIMEOUT: -40005;
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=ipc-protocol.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ipc-protocol.d.ts","sourceRoot":"","sources":["../../src/shared/ipc-protocol.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB;AAGD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAGD,MAAM,MAAM,SAAS,GAEjB,gBAAgB,GAChB,gBAAgB,GAChB,aAAa,GACb,cAAc,GAEd,aAAa,GACb,WAAW,GACX,YAAY,GAEZ,aAAa,GAEb,eAAe,GACf,iBAAiB,GACjB,eAAe,GACf,YAAY,GACZ,WAAW,GACX,aAAa,GACb,sBAAsB,GACtB,2BAA2B,GAC3B,oBAAoB,GAEpB,UAAU,GACV,UAAU,GACV,YAAY,GAEZ,iBAAiB,GACjB,kBAAkB,CAAC;AAGvB,eAAO,MAAM,aAAa;;;;;;;;;;;CAWhB,CAAC"}
|