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
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Chrome Profile Types - Type definitions for profile management
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ProfileNotFoundError = exports.ProfileInUseError = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Error thrown when profile is already in use
|
|
9
|
+
*/
|
|
10
|
+
class ProfileInUseError extends Error {
|
|
11
|
+
profileId;
|
|
12
|
+
profilePath;
|
|
13
|
+
constructor(profileId, profilePath) {
|
|
14
|
+
super(`Profile "${profileId}" is already in use. Please close Chrome or use a different profile.`);
|
|
15
|
+
this.profileId = profileId;
|
|
16
|
+
this.profilePath = profilePath;
|
|
17
|
+
this.name = 'ProfileInUseError';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.ProfileInUseError = ProfileInUseError;
|
|
21
|
+
/**
|
|
22
|
+
* Error thrown when profile is not found
|
|
23
|
+
*/
|
|
24
|
+
class ProfileNotFoundError extends Error {
|
|
25
|
+
profileId;
|
|
26
|
+
availableProfiles;
|
|
27
|
+
constructor(profileId, availableProfiles) {
|
|
28
|
+
super(`Profile "${profileId}" not found. Available profiles: ${availableProfiles.join(', ') || 'none'}`);
|
|
29
|
+
this.profileId = profileId;
|
|
30
|
+
this.availableProfiles = availableProfiles;
|
|
31
|
+
this.name = 'ProfileNotFoundError';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.ProfileNotFoundError = ProfileNotFoundError;
|
|
35
|
+
//# sourceMappingURL=profile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/types/profile.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AA+DH;;GAEG;AACH,MAAa,iBAAkB,SAAQ,KAAK;IAExB;IACA;IAFlB,YACkB,SAAiB,EACjB,WAAmB;QAEnC,KAAK,CAAC,YAAY,SAAS,sEAAsE,CAAC,CAAC;QAHnF,cAAS,GAAT,SAAS,CAAQ;QACjB,gBAAW,GAAX,WAAW,CAAQ;QAGnC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AARD,8CAQC;AAED;;GAEG;AACH,MAAa,oBAAqB,SAAQ,KAAK;IAE3B;IACA;IAFlB,YACkB,SAAiB,EACjB,iBAA2B;QAE3C,KAAK,CACH,YAAY,SAAS,oCAAoC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAClG,CAAC;QALc,cAAS,GAAT,SAAS,CAAQ;QACjB,sBAAiB,GAAjB,iBAAiB,CAAU;QAK3C,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAVD,oDAUC"}
|
package/dist/types/session.d.ts
CHANGED
|
@@ -11,9 +11,11 @@ export interface Worker {
|
|
|
11
11
|
id: string;
|
|
12
12
|
name: string;
|
|
13
13
|
targets: Set<string>;
|
|
14
|
-
context: BrowserContext;
|
|
14
|
+
context: BrowserContext | null;
|
|
15
15
|
createdAt: number;
|
|
16
16
|
lastActivityAt: number;
|
|
17
|
+
port?: number;
|
|
18
|
+
poolOrigin?: string;
|
|
17
19
|
}
|
|
18
20
|
export interface WorkerInfo {
|
|
19
21
|
id: string;
|
|
@@ -25,6 +27,8 @@ export interface WorkerInfo {
|
|
|
25
27
|
export interface WorkerCreateOptions {
|
|
26
28
|
id?: string;
|
|
27
29
|
name?: string;
|
|
30
|
+
shareCookies?: boolean;
|
|
31
|
+
targetUrl?: string;
|
|
28
32
|
}
|
|
29
33
|
export interface Session {
|
|
30
34
|
id: string;
|
|
@@ -36,7 +40,7 @@ export interface Session {
|
|
|
36
40
|
lastActivityAt: number;
|
|
37
41
|
name: string;
|
|
38
42
|
targets: Set<string>;
|
|
39
|
-
context?: BrowserContext;
|
|
43
|
+
context?: BrowserContext | null;
|
|
40
44
|
}
|
|
41
45
|
export interface SessionInfo {
|
|
42
46
|
id: string;
|
|
@@ -52,7 +56,7 @@ export interface SessionCreateOptions {
|
|
|
52
56
|
name?: string;
|
|
53
57
|
}
|
|
54
58
|
export interface SessionEvent {
|
|
55
|
-
type: 'session:created' | 'session:deleted' | 'session:target-added' | 'session:target-removed' | 'worker:created' | 'worker:deleted';
|
|
59
|
+
type: 'session:created' | 'session:deleted' | 'session:target-added' | 'session:target-removed' | 'session:target-closed' | 'worker:created' | 'worker:deleted';
|
|
56
60
|
sessionId: string;
|
|
57
61
|
targetId?: string;
|
|
58
62
|
workerId?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,OAAO,EAAE,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,uEAAuE;IACvE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,iDAAiD;IACjD,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IAEb,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,sBAAsB,GAAG,wBAAwB,GAAG,uBAAuB,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;IAChK,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
package/package.json
CHANGED
|
@@ -1,75 +1,78 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "claude-chrome-parallel",
|
|
3
|
-
"version": "3.0
|
|
4
|
-
"description": "
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"bin": {
|
|
7
|
-
"claude-chrome-parallel": "./dist/cli/index.js",
|
|
8
|
-
"ccp": "./dist/cli/index.js",
|
|
9
|
-
"claude-session": "./dist/cli/claude-session.js"
|
|
10
|
-
},
|
|
11
|
-
"scripts": {
|
|
12
|
-
"build": "tsc -p tsconfig.cli.json && tsc -p tsconfig.json",
|
|
13
|
-
"build:cli": "tsc -p tsconfig.cli.json",
|
|
14
|
-
"build:src": "tsc -p tsconfig.json",
|
|
15
|
-
"dev": "tsc -p tsconfig.cli.json --watch",
|
|
16
|
-
"start": "node dist/cli/index.js serve",
|
|
17
|
-
"check": "node dist/cli/index.js check",
|
|
18
|
-
"test": "jest",
|
|
19
|
-
"test:coverage": "jest --coverage",
|
|
20
|
-
"lint": "eslint src --ext .ts",
|
|
21
|
-
"clean": "rimraf dist",
|
|
22
|
-
"prepare": "npm run build"
|
|
23
|
-
},
|
|
24
|
-
"keywords": [
|
|
25
|
-
"claude",
|
|
26
|
-
"claude-code",
|
|
27
|
-
"mcp",
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
"url": "https://github.com/shaun0927/claude-chrome-parallel
|
|
41
|
-
},
|
|
42
|
-
"
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
"@types/
|
|
48
|
-
"@types/
|
|
49
|
-
"@types/
|
|
50
|
-
"@
|
|
51
|
-
"@
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
"
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
"
|
|
68
|
-
},
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
"
|
|
74
|
-
|
|
75
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "claude-chrome-parallel",
|
|
3
|
+
"version": "3.4.0",
|
|
4
|
+
"description": "Ultrafast parallel browser MCP. Say 'ccp' and Claude automates your Chrome.",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"claude-chrome-parallel": "./dist/cli/index.js",
|
|
8
|
+
"ccp": "./dist/cli/index.js",
|
|
9
|
+
"claude-session": "./dist/cli/claude-session.js"
|
|
10
|
+
},
|
|
11
|
+
"scripts": {
|
|
12
|
+
"build": "tsc -p tsconfig.cli.json && tsc -p tsconfig.json",
|
|
13
|
+
"build:cli": "tsc -p tsconfig.cli.json",
|
|
14
|
+
"build:src": "tsc -p tsconfig.json",
|
|
15
|
+
"dev": "tsc -p tsconfig.cli.json --watch",
|
|
16
|
+
"start": "node dist/cli/index.js serve",
|
|
17
|
+
"check": "node dist/cli/index.js check",
|
|
18
|
+
"test": "jest",
|
|
19
|
+
"test:coverage": "jest --coverage",
|
|
20
|
+
"lint": "eslint src --ext .ts",
|
|
21
|
+
"clean": "rimraf dist",
|
|
22
|
+
"prepare": "npm run build"
|
|
23
|
+
},
|
|
24
|
+
"keywords": [
|
|
25
|
+
"claude",
|
|
26
|
+
"claude-code",
|
|
27
|
+
"mcp",
|
|
28
|
+
"mcp-server",
|
|
29
|
+
"ccp",
|
|
30
|
+
"browser-automation",
|
|
31
|
+
"parallel-sessions",
|
|
32
|
+
"cdp",
|
|
33
|
+
"chrome",
|
|
34
|
+
"chrome-devtools-protocol"
|
|
35
|
+
],
|
|
36
|
+
"author": "shaun0927",
|
|
37
|
+
"license": "MIT",
|
|
38
|
+
"repository": {
|
|
39
|
+
"type": "git",
|
|
40
|
+
"url": "git+https://github.com/shaun0927/claude-chrome-parallel.git"
|
|
41
|
+
},
|
|
42
|
+
"bugs": {
|
|
43
|
+
"url": "https://github.com/shaun0927/claude-chrome-parallel/issues"
|
|
44
|
+
},
|
|
45
|
+
"homepage": "https://github.com/shaun0927/claude-chrome-parallel#readme",
|
|
46
|
+
"devDependencies": {
|
|
47
|
+
"@types/chrome": "^0.1.36",
|
|
48
|
+
"@types/jest": "^29.5.0",
|
|
49
|
+
"@types/node": "^20.0.0",
|
|
50
|
+
"@types/proper-lockfile": "^4.1.4",
|
|
51
|
+
"@types/uuid": "^9.0.8",
|
|
52
|
+
"@types/write-file-atomic": "^4.0.3",
|
|
53
|
+
"@typescript-eslint/eslint-plugin": "^7.0.0",
|
|
54
|
+
"@typescript-eslint/parser": "^7.0.0",
|
|
55
|
+
"eslint": "^8.57.0",
|
|
56
|
+
"jest": "^29.7.0",
|
|
57
|
+
"rimraf": "^5.0.0",
|
|
58
|
+
"ts-jest": "^29.1.0",
|
|
59
|
+
"ts-node": "^10.9.2",
|
|
60
|
+
"typescript": "^5.4.0"
|
|
61
|
+
},
|
|
62
|
+
"dependencies": {
|
|
63
|
+
"commander": "^12.0.0",
|
|
64
|
+
"proper-lockfile": "^4.1.2",
|
|
65
|
+
"puppeteer-core": "^23.11.1",
|
|
66
|
+
"uuid": "^9.0.0",
|
|
67
|
+
"write-file-atomic": "^5.0.1"
|
|
68
|
+
},
|
|
69
|
+
"engines": {
|
|
70
|
+
"node": ">=18.0.0"
|
|
71
|
+
},
|
|
72
|
+
"files": [
|
|
73
|
+
"dist",
|
|
74
|
+
"assets",
|
|
75
|
+
"README.md",
|
|
76
|
+
"LICENSE"
|
|
77
|
+
]
|
|
78
|
+
}
|
package/dist/master/index.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Master Process - Central manager for Chrome connections and sessions
|
|
3
|
-
*/
|
|
4
|
-
export interface MasterOptions {
|
|
5
|
-
port?: number;
|
|
6
|
-
}
|
|
7
|
-
export declare class Master {
|
|
8
|
-
private registry;
|
|
9
|
-
private ipcServer;
|
|
10
|
-
private requestHandler;
|
|
11
|
-
private running;
|
|
12
|
-
start(options?: MasterOptions): Promise<void>;
|
|
13
|
-
stop(): Promise<void>;
|
|
14
|
-
isRunning(): boolean;
|
|
15
|
-
getStats(): object;
|
|
16
|
-
}
|
|
17
|
-
export declare function startMaster(port?: number): Promise<void>;
|
|
18
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/master/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,OAAO,CAAS;IAElB,KAAK,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCjD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAe3B,SAAS,IAAI,OAAO;IAIpB,QAAQ,IAAI,MAAM;CAOnB;AAGD,wBAAsB,WAAW,CAAC,IAAI,GAAE,MAA4B,GAAG,OAAO,CAAC,IAAI,CAAC,CASnF"}
|
package/dist/master/index.js
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Master Process - Central manager for Chrome connections and sessions
|
|
4
|
-
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Master = void 0;
|
|
7
|
-
exports.startMaster = startMaster;
|
|
8
|
-
const session_registry_1 = require("./session-registry");
|
|
9
|
-
const ipc_server_1 = require("./ipc-server");
|
|
10
|
-
const request_handler_1 = require("./request-handler");
|
|
11
|
-
const ipc_constants_1 = require("../shared/ipc-constants");
|
|
12
|
-
class Master {
|
|
13
|
-
registry = null;
|
|
14
|
-
ipcServer = null;
|
|
15
|
-
requestHandler = null;
|
|
16
|
-
running = false;
|
|
17
|
-
async start(options = {}) {
|
|
18
|
-
const port = options.port ?? ipc_constants_1.DEFAULT_CHROME_PORT;
|
|
19
|
-
console.error('[Master] Starting...');
|
|
20
|
-
console.error(`[Master] Chrome port: ${port}`);
|
|
21
|
-
try {
|
|
22
|
-
// Create session registry (will connect to Chrome)
|
|
23
|
-
this.registry = new session_registry_1.SessionRegistry();
|
|
24
|
-
await this.registry.ensureConnected();
|
|
25
|
-
// Start IPC server
|
|
26
|
-
this.ipcServer = new ipc_server_1.IPCServer();
|
|
27
|
-
await this.ipcServer.listen();
|
|
28
|
-
// Set up request handler
|
|
29
|
-
this.requestHandler = new request_handler_1.RequestHandler(this.registry, this.ipcServer);
|
|
30
|
-
this.running = true;
|
|
31
|
-
console.error('[Master] Ready for workers');
|
|
32
|
-
// Handle shutdown signals
|
|
33
|
-
process.on('SIGINT', () => this.stop());
|
|
34
|
-
process.on('SIGTERM', () => this.stop());
|
|
35
|
-
}
|
|
36
|
-
catch (error) {
|
|
37
|
-
console.error('[Master] Startup failed:', error);
|
|
38
|
-
await this.stop();
|
|
39
|
-
throw error;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
async stop() {
|
|
43
|
-
console.error('[Master] Shutting down...');
|
|
44
|
-
this.running = false;
|
|
45
|
-
if (this.ipcServer) {
|
|
46
|
-
await this.ipcServer.close();
|
|
47
|
-
this.ipcServer = null;
|
|
48
|
-
}
|
|
49
|
-
this.registry = null;
|
|
50
|
-
this.requestHandler = null;
|
|
51
|
-
console.error('[Master] Stopped');
|
|
52
|
-
}
|
|
53
|
-
isRunning() {
|
|
54
|
-
return this.running;
|
|
55
|
-
}
|
|
56
|
-
getStats() {
|
|
57
|
-
return {
|
|
58
|
-
running: this.running,
|
|
59
|
-
workers: this.ipcServer?.getWorkerIds().length ?? 0,
|
|
60
|
-
...this.registry?.getStats(),
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
exports.Master = Master;
|
|
65
|
-
// Entry point function
|
|
66
|
-
async function startMaster(port = ipc_constants_1.DEFAULT_CHROME_PORT) {
|
|
67
|
-
const master = new Master();
|
|
68
|
-
await master.start({ port });
|
|
69
|
-
// Keep process alive and log stats periodically
|
|
70
|
-
setInterval(() => {
|
|
71
|
-
const stats = master.getStats();
|
|
72
|
-
console.error(`[Master] Stats: ${JSON.stringify(stats)}`);
|
|
73
|
-
}, 60000);
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=index.js.map
|
package/dist/master/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/master/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* IPC Server - Named Pipe / Unix Socket server for Master process
|
|
3
|
-
*/
|
|
4
|
-
import { EventEmitter } from 'events';
|
|
5
|
-
import { IPCResponse } from '../shared/ipc-protocol';
|
|
6
|
-
export declare class IPCServer extends EventEmitter {
|
|
7
|
-
private server;
|
|
8
|
-
private workers;
|
|
9
|
-
private ipcPath;
|
|
10
|
-
private workerCounter;
|
|
11
|
-
constructor();
|
|
12
|
-
listen(): Promise<void>;
|
|
13
|
-
private handleConnection;
|
|
14
|
-
private handleData;
|
|
15
|
-
sendToWorker(workerId: string, response: IPCResponse): void;
|
|
16
|
-
broadcast(response: IPCResponse): void;
|
|
17
|
-
getWorkerIds(): string[];
|
|
18
|
-
isWorkerConnected(workerId: string): boolean;
|
|
19
|
-
close(): Promise<void>;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=ipc-server.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ipc-server.d.ts","sourceRoot":"","sources":["../../src/master/ipc-server.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAc,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAUjE,qBAAa,SAAU,SAAQ,YAAY;IACzC,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,OAAO,CAA4C;IAC3D,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAAK;;IAOpB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAuB7B,OAAO,CAAC,gBAAgB;IAmCxB,OAAO,CAAC,UAAU;IAyBlB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI;IAe3D,SAAS,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAMtC,YAAY,IAAI,MAAM,EAAE;IAIxB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAItC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CA2B7B"}
|
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* IPC Server - Named Pipe / Unix Socket server for Master process
|
|
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.IPCServer = void 0;
|
|
40
|
-
const net = __importStar(require("net"));
|
|
41
|
-
const fs = __importStar(require("fs"));
|
|
42
|
-
const events_1 = require("events");
|
|
43
|
-
const ipc_constants_1 = require("../shared/ipc-constants");
|
|
44
|
-
class IPCServer extends events_1.EventEmitter {
|
|
45
|
-
server = null;
|
|
46
|
-
workers = new Map();
|
|
47
|
-
ipcPath;
|
|
48
|
-
workerCounter = 0;
|
|
49
|
-
constructor() {
|
|
50
|
-
super();
|
|
51
|
-
this.ipcPath = (0, ipc_constants_1.getIPCPath)();
|
|
52
|
-
}
|
|
53
|
-
async listen() {
|
|
54
|
-
// Clean up existing socket file on Unix
|
|
55
|
-
if (process.platform !== 'win32' && fs.existsSync(ipc_constants_1.UNIX_SOCKET_PATH)) {
|
|
56
|
-
fs.unlinkSync(ipc_constants_1.UNIX_SOCKET_PATH);
|
|
57
|
-
}
|
|
58
|
-
return new Promise((resolve, reject) => {
|
|
59
|
-
this.server = net.createServer((socket) => {
|
|
60
|
-
this.handleConnection(socket);
|
|
61
|
-
});
|
|
62
|
-
this.server.on('error', (error) => {
|
|
63
|
-
console.error('[IPCServer] Server error:', error);
|
|
64
|
-
reject(error);
|
|
65
|
-
});
|
|
66
|
-
this.server.listen(this.ipcPath, () => {
|
|
67
|
-
console.error(`[IPCServer] Listening on ${this.ipcPath}`);
|
|
68
|
-
resolve();
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
handleConnection(socket) {
|
|
73
|
-
const workerId = `worker-${++this.workerCounter}`;
|
|
74
|
-
const connection = {
|
|
75
|
-
id: workerId,
|
|
76
|
-
socket,
|
|
77
|
-
buffer: '',
|
|
78
|
-
lastHeartbeat: Date.now(),
|
|
79
|
-
};
|
|
80
|
-
this.workers.set(workerId, connection);
|
|
81
|
-
console.error(`[IPCServer] Worker connected: ${workerId}`);
|
|
82
|
-
// Send worker ID to the worker
|
|
83
|
-
this.sendToWorker(workerId, {
|
|
84
|
-
id: 'init',
|
|
85
|
-
result: { workerId },
|
|
86
|
-
});
|
|
87
|
-
socket.on('data', (data) => {
|
|
88
|
-
this.handleData(workerId, data);
|
|
89
|
-
});
|
|
90
|
-
socket.on('close', () => {
|
|
91
|
-
console.error(`[IPCServer] Worker disconnected: ${workerId}`);
|
|
92
|
-
this.workers.delete(workerId);
|
|
93
|
-
this.emit('disconnect', workerId);
|
|
94
|
-
});
|
|
95
|
-
socket.on('error', (error) => {
|
|
96
|
-
console.error(`[IPCServer] Socket error for worker ${workerId}:`, error);
|
|
97
|
-
});
|
|
98
|
-
this.emit('connection', workerId);
|
|
99
|
-
}
|
|
100
|
-
handleData(workerId, data) {
|
|
101
|
-
const connection = this.workers.get(workerId);
|
|
102
|
-
if (!connection)
|
|
103
|
-
return;
|
|
104
|
-
connection.buffer += data.toString();
|
|
105
|
-
// Process complete messages (newline-delimited JSON)
|
|
106
|
-
let newlineIndex;
|
|
107
|
-
while ((newlineIndex = connection.buffer.indexOf('\n')) !== -1) {
|
|
108
|
-
const messageStr = connection.buffer.slice(0, newlineIndex);
|
|
109
|
-
connection.buffer = connection.buffer.slice(newlineIndex + 1);
|
|
110
|
-
if (messageStr.trim()) {
|
|
111
|
-
try {
|
|
112
|
-
const request = JSON.parse(messageStr);
|
|
113
|
-
request.workerId = workerId;
|
|
114
|
-
connection.lastHeartbeat = Date.now();
|
|
115
|
-
this.emit('request', request);
|
|
116
|
-
}
|
|
117
|
-
catch (error) {
|
|
118
|
-
console.error('[IPCServer] Failed to parse message:', error);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
sendToWorker(workerId, response) {
|
|
124
|
-
const connection = this.workers.get(workerId);
|
|
125
|
-
if (!connection) {
|
|
126
|
-
console.error(`[IPCServer] Worker not found: ${workerId}`);
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
try {
|
|
130
|
-
const message = JSON.stringify(response) + '\n';
|
|
131
|
-
connection.socket.write(message);
|
|
132
|
-
}
|
|
133
|
-
catch (error) {
|
|
134
|
-
console.error(`[IPCServer] Failed to send to worker ${workerId}:`, error);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
broadcast(response) {
|
|
138
|
-
for (const workerId of this.workers.keys()) {
|
|
139
|
-
this.sendToWorker(workerId, response);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
getWorkerIds() {
|
|
143
|
-
return Array.from(this.workers.keys());
|
|
144
|
-
}
|
|
145
|
-
isWorkerConnected(workerId) {
|
|
146
|
-
return this.workers.has(workerId);
|
|
147
|
-
}
|
|
148
|
-
async close() {
|
|
149
|
-
// Close all worker connections
|
|
150
|
-
for (const connection of this.workers.values()) {
|
|
151
|
-
connection.socket.destroy();
|
|
152
|
-
}
|
|
153
|
-
this.workers.clear();
|
|
154
|
-
// Close server
|
|
155
|
-
if (this.server) {
|
|
156
|
-
return new Promise((resolve) => {
|
|
157
|
-
this.server.close(() => {
|
|
158
|
-
this.server = null;
|
|
159
|
-
// Clean up socket file on Unix
|
|
160
|
-
if (process.platform !== 'win32' && fs.existsSync(ipc_constants_1.UNIX_SOCKET_PATH)) {
|
|
161
|
-
try {
|
|
162
|
-
fs.unlinkSync(ipc_constants_1.UNIX_SOCKET_PATH);
|
|
163
|
-
}
|
|
164
|
-
catch {
|
|
165
|
-
// Ignore
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
resolve();
|
|
169
|
-
});
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
exports.IPCServer = IPCServer;
|
|
175
|
-
//# sourceMappingURL=ipc-server.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ipc-server.js","sourceRoot":"","sources":["../../src/master/ipc-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Request Handler - Routes IPC requests to session registry methods
|
|
3
|
-
*/
|
|
4
|
-
import { SessionRegistry } from './session-registry';
|
|
5
|
-
import { IPCServer } from './ipc-server';
|
|
6
|
-
export declare class RequestHandler {
|
|
7
|
-
private registry;
|
|
8
|
-
private server;
|
|
9
|
-
constructor(registry: SessionRegistry, server: IPCServer);
|
|
10
|
-
private handleRequest;
|
|
11
|
-
private dispatch;
|
|
12
|
-
private sendResponse;
|
|
13
|
-
private sendError;
|
|
14
|
-
private getErrorCode;
|
|
15
|
-
private handleWorkerDisconnect;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=request-handler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request-handler.d.ts","sourceRoot":"","sources":["../../src/master/request-handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;gBADN,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,SAAS;YAMb,aAAa;YAYb,QAAQ;IAoJtB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,YAAY;YAsBN,sBAAsB;CAIrC"}
|