visionclaw 0.1.200-dev.feat-issue-534-browser-singleton.2 → 0.1.200-dev.feat-issue-534-browser-singleton.3
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/dist/agent/engines/claude/session-browser-policy.js +2 -2
- package/dist/agent/engines/claude/session-browser-policy.js.map +1 -1
- package/dist/agent/runtime-surface.d.ts.map +1 -1
- package/dist/agent/runtime-surface.js +6 -4
- package/dist/agent/runtime-surface.js.map +1 -1
- package/dist/utils/playwriter-relay.d.ts +32 -21
- package/dist/utils/playwriter-relay.d.ts.map +1 -1
- package/dist/utils/playwriter-relay.js +31 -24
- package/dist/utils/playwriter-relay.js.map +1 -1
- package/dist-agent/bundle.cjs +17 -22
- package/package.json +1 -1
|
@@ -148,8 +148,8 @@ export async function ensurePlaywriterChrome(didResetConnectionsThisTurn, host =
|
|
|
148
148
|
logger.debug("Playwriter Chrome running and relay healthy — reusing");
|
|
149
149
|
return false;
|
|
150
150
|
}
|
|
151
|
-
// Honest diagnosis of *why* the extension isn't connected (0 vs >1
|
|
152
|
-
//
|
|
151
|
+
// Honest diagnosis of *why* the extension isn't connected (0 vs >1 connected)
|
|
152
|
+
// instead of relying on the relay's misleading 4003 "Multiple extensions"
|
|
153
153
|
// close reason (issue #534, layer 2).
|
|
154
154
|
const diagnosis = await getRelayExtensionDiagnosis(host, port);
|
|
155
155
|
logger.system(`Playwriter Chrome running but relay extension not connected (${diagnosis.kind}: ${diagnosis.message}) — restarting`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-browser-policy.js","sourceRoot":"","sources":["../../../../src/agent/engines/claude/session-browser-policy.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"session-browser-policy.js","sourceRoot":"","sources":["../../../../src/agent/engines/claude/session-browser-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-surface.d.ts","sourceRoot":"","sources":["../../src/agent/runtime-surface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-surface.d.ts","sourceRoot":"","sources":["../../src/agent/runtime-surface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AA4B3D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,gBAAgB,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,YAAY,GAAG,WAAW,CAAC;IACtC,yBAAyB,EAAE,OAAO,CAAC;CACpC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,YAAY,CAAC;AAEzD,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,iBAAiB,CAAC;IAC/B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5D,qEAAqE;IACrE,sBAAsB,EAAE,cAAc,CAAC;CACxC;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,cAAc,CAAC;IAC/B,4BAA4B,EAAE,MAAM,CAAC;CACtC;AAkDD;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,CAiC5F;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAoChG"}
|
|
@@ -5,7 +5,7 @@ import { resolvePhonecallApiKey } from "../phonecall-credentials.js";
|
|
|
5
5
|
import { resolveFinancialToolApiKey, resolveFinancialToolBaseUrl } from "../financial-tool-credentials.js";
|
|
6
6
|
import { resolveSerpApiKey } from "../serpapi-credentials.js";
|
|
7
7
|
import { ensurePlaywriterExtension, isPlaywriterExtensionAvailable, } from "../onboarding/playwriter-extension.js";
|
|
8
|
-
import { ensurePlaywriterRelay, reconcilePlaywriterRelay, getPlaywriterRelayStatus, cleanupOrphanRelay, getRelayCdpEndpoint,
|
|
8
|
+
import { ensurePlaywriterRelay, reconcilePlaywriterRelay, getPlaywriterRelayStatus, cleanupOrphanRelay, getRelayCdpEndpoint, } from "../utils/playwriter-relay.js";
|
|
9
9
|
import { killPlaywriterChrome, launchPlaywriterProfileChrome, isPlaywriterProfileChromeRunning, } from "./engines/claude/session-browser-policy.js";
|
|
10
10
|
import { fileURLToPath } from "url";
|
|
11
11
|
import path from "path";
|
|
@@ -161,9 +161,11 @@ function buildPlaywriterRelayMcpServer(config) {
|
|
|
161
161
|
const screenshotsDir = getScreenshotsDir();
|
|
162
162
|
const host = config.playwriterRelayHost ?? "127.0.0.1";
|
|
163
163
|
const port = config.playwriterRelayPort ?? 19988;
|
|
164
|
-
//
|
|
165
|
-
//
|
|
166
|
-
|
|
164
|
+
// Do NOT bind by extension id: the relay (playwriter 0.2.0) keys connections
|
|
165
|
+
// by a per-connection instance id, not the Chrome extension id, so passing
|
|
166
|
+
// the Chrome id makes it reject with 4003 (issue #534). The L3 single-Chrome
|
|
167
|
+
// guarantee keeps the relay unambiguous instead.
|
|
168
|
+
const cdpEndpoint = getRelayCdpEndpoint(host, port);
|
|
167
169
|
const packageRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../..");
|
|
168
170
|
const binDir = path.join(packageRoot, "node_modules", ".bin");
|
|
169
171
|
const playwrightConfig = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-surface.js","sourceRoot":"","sources":["../../src/agent/runtime-surface.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACrH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC3G,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EACL,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"runtime-surface.js","sourceRoot":"","sources":["../../src/agent/runtime-surface.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,45 +1,56 @@
|
|
|
1
1
|
declare const RELAY_PROTOCOL_VERSION = 1;
|
|
2
|
-
declare const EXTENSION_ID = "jfeammnjpkecdekppnclgkkffahnhfhe";
|
|
3
2
|
export interface PlaywriterRelayStatus {
|
|
4
3
|
reachable: boolean;
|
|
5
4
|
extensionConnected: boolean;
|
|
6
5
|
activeTargets: number;
|
|
7
6
|
relayProtocolVersion?: number;
|
|
8
7
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Build the relay's CDP WebSocket endpoint.
|
|
10
|
+
*
|
|
11
|
+
* We deliberately do NOT bind to a specific extension via a `?extensionId=`
|
|
12
|
+
* query param. The relay (playwriter 0.2.0) keys each connection by a
|
|
13
|
+
* per-connection instance id (e.g. `mqrtkouy_7b9qcx`), NOT the Chrome
|
|
14
|
+
* extension id — so passing the Chrome extension id makes the relay reject the
|
|
15
|
+
* connection with `4003 Unknown extensionId` (issue #534 regression). The L3
|
|
16
|
+
* single-instance guarantee (one Chrome on the dedicated profile → exactly one
|
|
17
|
+
* extension connected) is what keeps the relay unambiguous instead.
|
|
18
|
+
*/
|
|
19
|
+
export declare function getRelayCdpEndpoint(host: string, port: number): string;
|
|
19
20
|
export declare function assertPm2Available(): void;
|
|
20
21
|
export declare function getPlaywriterRelayStatus(host?: string, port?: number): Promise<PlaywriterRelayStatus>;
|
|
21
|
-
export type RelayExtensionDiagnosisKind = "ok" | "none" | "multiple" | "
|
|
22
|
+
export type RelayExtensionDiagnosisKind = "ok" | "none" | "multiple" | "unreachable";
|
|
22
23
|
export interface RelayExtensionDiagnosis {
|
|
23
24
|
kind: RelayExtensionDiagnosisKind;
|
|
24
|
-
/**
|
|
25
|
+
/**
|
|
26
|
+
* Relay connection ids currently attached. NOTE: the relay reports these as
|
|
27
|
+
* per-connection instance ids (e.g. `mqrtkouy_7b9qcx`), not Chrome extension
|
|
28
|
+
* ids — so we judge by *how many* are connected, never by matching a specific
|
|
29
|
+
* id. Empty when none/unreachable.
|
|
30
|
+
*/
|
|
25
31
|
connectedIds: string[];
|
|
26
|
-
/** Honest, human-readable explanation distinguishing 0 vs
|
|
32
|
+
/** Honest, human-readable explanation distinguishing 0 vs 1 vs >1. */
|
|
27
33
|
message: string;
|
|
28
34
|
}
|
|
29
35
|
/**
|
|
30
36
|
* Diagnose the relay's extension connection honestly.
|
|
31
37
|
*
|
|
32
38
|
* The third-party relay collapses "zero extensions" and "more than one
|
|
33
|
-
* extension" into a single `4003
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
39
|
+
* extension" into a single `4003` close reason, which is misleading — in
|
|
40
|
+
* practice the failure is almost always *zero* extensions (the automation
|
|
41
|
+
* Chrome never loaded the Playwriter extension). This queries
|
|
42
|
+
* `/extensions/status` (which lists each connected extension) so callers can
|
|
43
|
+
* log which case actually happened.
|
|
44
|
+
*
|
|
45
|
+
* We judge purely by the *count* of connected extensions, never by matching a
|
|
46
|
+
* specific id: the relay's reported `extensionId` is a per-connection instance
|
|
47
|
+
* id, not the Chrome extension id (issue #534). With the L3 single-instance
|
|
48
|
+
* guarantee, a healthy state is exactly one connection.
|
|
38
49
|
*
|
|
39
50
|
* Only call this on the error path (extension not connected) — the hot status
|
|
40
51
|
* probe stays a single fetch via {@link getPlaywriterRelayStatus}.
|
|
41
52
|
*/
|
|
42
|
-
export declare function getRelayExtensionDiagnosis(host?: string, port?: number
|
|
53
|
+
export declare function getRelayExtensionDiagnosis(host?: string, port?: number): Promise<RelayExtensionDiagnosis>;
|
|
43
54
|
export declare function getRelayInfoFromFile(): {
|
|
44
55
|
relayProtocolVersion?: number;
|
|
45
56
|
} | null;
|
|
@@ -48,5 +59,5 @@ export declare function invalidateRelayStatusCache(): void;
|
|
|
48
59
|
export declare function reconcilePlaywriterRelay(host?: string, port?: number): void;
|
|
49
60
|
export declare function ensurePlaywriterRelay(host?: string, port?: number): Promise<PlaywriterRelayStatus>;
|
|
50
61
|
export declare function cleanupOrphanRelay(): void;
|
|
51
|
-
export { RELAY_PROTOCOL_VERSION
|
|
62
|
+
export { RELAY_PROTOCOL_VERSION };
|
|
52
63
|
//# sourceMappingURL=playwriter-relay.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playwriter-relay.d.ts","sourceRoot":"","sources":["../../src/utils/playwriter-relay.ts"],"names":[],"mappings":"AASA,QAAA,MAAM,sBAAsB,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"playwriter-relay.d.ts","sourceRoot":"","sources":["../../src/utils/playwriter-relay.ts"],"names":[],"mappings":"AASA,QAAA,MAAM,sBAAsB,IAAI,CAAC;AAGjC,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AA8BD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAQzC;AAoED,wBAAsB,wBAAwB,CAC5C,IAAI,SAAc,EAClB,IAAI,SAAQ,GACX,OAAO,CAAC,qBAAqB,CAAC,CAoBhC;AAED,MAAM,MAAM,2BAA2B,GACnC,IAAI,GACJ,MAAM,GACN,UAAU,GACV,aAAa,CAAC;AAElB,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,2BAA2B,CAAC;IAClC;;;;;OAKG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,SAAc,EAClB,IAAI,SAAQ,GACX,OAAO,CAAC,uBAAuB,CAAC,CAiDlC;AAED,wBAAgB,oBAAoB,IAAI;IAAE,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAW/E;AAED,wBAAsB,oBAAoB,CACxC,IAAI,SAAc,EAClB,IAAI,SAAQ,GACX,OAAO,CAAC,qBAAqB,CAAC,CAOhC;AAED,wBAAgB,0BAA0B,IAAI,IAAI,CAGjD;AAED,wBAAgB,wBAAwB,CACtC,IAAI,SAAc,EAClB,IAAI,SAAQ,GACX,IAAI,CA8DN;AAED,wBAAsB,qBAAqB,CACzC,IAAI,SAAc,EAClB,IAAI,SAAQ,GACX,OAAO,CAAC,qBAAqB,CAAC,CA2BhC;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAWzC;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -8,7 +8,6 @@ import { logger } from "../logger.js";
|
|
|
8
8
|
const PM2_PROCESS_NAME = "playwriter-relay";
|
|
9
9
|
const RELAY_PROTOCOL_VERSION = 1;
|
|
10
10
|
const HEALTH_CHECK_TTL_MS = 30_000;
|
|
11
|
-
const EXTENSION_ID = "jfeammnjpkecdekppnclgkkffahnhfhe";
|
|
12
11
|
let cachedStatus = null;
|
|
13
12
|
let cachedStatusAt = 0;
|
|
14
13
|
function isBundled() {
|
|
@@ -23,11 +22,19 @@ function resolveRelayEntryPath() {
|
|
|
23
22
|
function getRelayBaseUrl(host, port) {
|
|
24
23
|
return `http://${host}:${port}`;
|
|
25
24
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
/**
|
|
26
|
+
* Build the relay's CDP WebSocket endpoint.
|
|
27
|
+
*
|
|
28
|
+
* We deliberately do NOT bind to a specific extension via a `?extensionId=`
|
|
29
|
+
* query param. The relay (playwriter 0.2.0) keys each connection by a
|
|
30
|
+
* per-connection instance id (e.g. `mqrtkouy_7b9qcx`), NOT the Chrome
|
|
31
|
+
* extension id — so passing the Chrome extension id makes the relay reject the
|
|
32
|
+
* connection with `4003 Unknown extensionId` (issue #534 regression). The L3
|
|
33
|
+
* single-instance guarantee (one Chrome on the dedicated profile → exactly one
|
|
34
|
+
* extension connected) is what keeps the relay unambiguous instead.
|
|
35
|
+
*/
|
|
36
|
+
export function getRelayCdpEndpoint(host, port) {
|
|
37
|
+
return `ws://${host}:${port}/cdp`;
|
|
31
38
|
}
|
|
32
39
|
export function assertPm2Available() {
|
|
33
40
|
try {
|
|
@@ -124,16 +131,21 @@ export async function getPlaywriterRelayStatus(host = "127.0.0.1", port = 19988)
|
|
|
124
131
|
* Diagnose the relay's extension connection honestly.
|
|
125
132
|
*
|
|
126
133
|
* The third-party relay collapses "zero extensions" and "more than one
|
|
127
|
-
* extension" into a single `4003
|
|
128
|
-
*
|
|
129
|
-
*
|
|
130
|
-
*
|
|
131
|
-
*
|
|
134
|
+
* extension" into a single `4003` close reason, which is misleading — in
|
|
135
|
+
* practice the failure is almost always *zero* extensions (the automation
|
|
136
|
+
* Chrome never loaded the Playwriter extension). This queries
|
|
137
|
+
* `/extensions/status` (which lists each connected extension) so callers can
|
|
138
|
+
* log which case actually happened.
|
|
139
|
+
*
|
|
140
|
+
* We judge purely by the *count* of connected extensions, never by matching a
|
|
141
|
+
* specific id: the relay's reported `extensionId` is a per-connection instance
|
|
142
|
+
* id, not the Chrome extension id (issue #534). With the L3 single-instance
|
|
143
|
+
* guarantee, a healthy state is exactly one connection.
|
|
132
144
|
*
|
|
133
145
|
* Only call this on the error path (extension not connected) — the hot status
|
|
134
146
|
* probe stays a single fetch via {@link getPlaywriterRelayStatus}.
|
|
135
147
|
*/
|
|
136
|
-
export async function getRelayExtensionDiagnosis(host = "127.0.0.1", port = 19988
|
|
148
|
+
export async function getRelayExtensionDiagnosis(host = "127.0.0.1", port = 19988) {
|
|
137
149
|
let connectedIds = [];
|
|
138
150
|
try {
|
|
139
151
|
const response = await fetch(`${getRelayBaseUrl(host, port)}/extensions/status`, {
|
|
@@ -164,25 +176,20 @@ export async function getRelayExtensionDiagnosis(host = "127.0.0.1", port = 1998
|
|
|
164
176
|
return {
|
|
165
177
|
kind: "none",
|
|
166
178
|
connectedIds,
|
|
167
|
-
message: "No extension connected — automation Chrome has not loaded the Playwriter extension yet
|
|
168
|
-
+ `(expected ${expectedExtensionId})`,
|
|
179
|
+
message: "No extension connected — automation Chrome has not loaded the Playwriter extension yet",
|
|
169
180
|
};
|
|
170
181
|
}
|
|
171
|
-
if (connectedIds.
|
|
172
|
-
if (connectedIds.length === 1) {
|
|
173
|
-
return { kind: "ok", connectedIds, message: `Expected extension connected: ${expectedExtensionId}` };
|
|
174
|
-
}
|
|
182
|
+
if (connectedIds.length === 1) {
|
|
175
183
|
return {
|
|
176
|
-
kind: "
|
|
184
|
+
kind: "ok",
|
|
177
185
|
connectedIds,
|
|
178
|
-
message: `
|
|
179
|
-
+ `(${expectedExtensionId}). Connected: ${connectedIds.join(", ")}`,
|
|
186
|
+
message: `Exactly one extension connected (${connectedIds[0]})`,
|
|
180
187
|
};
|
|
181
188
|
}
|
|
182
189
|
return {
|
|
183
|
-
kind: "
|
|
190
|
+
kind: "multiple",
|
|
184
191
|
connectedIds,
|
|
185
|
-
message: `
|
|
192
|
+
message: `Multiple extensions connected (${connectedIds.length}); expected exactly one. `
|
|
186
193
|
+ `Connected: ${connectedIds.join(", ")}`,
|
|
187
194
|
};
|
|
188
195
|
}
|
|
@@ -287,5 +294,5 @@ export function cleanupOrphanRelay() {
|
|
|
287
294
|
}
|
|
288
295
|
}
|
|
289
296
|
}
|
|
290
|
-
export { RELAY_PROTOCOL_VERSION
|
|
297
|
+
export { RELAY_PROTOCOL_VERSION };
|
|
291
298
|
//# sourceMappingURL=playwriter-relay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playwriter-relay.js","sourceRoot":"","sources":["../../src/utils/playwriter-relay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAC5C,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,mBAAmB,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"playwriter-relay.js","sourceRoot":"","sources":["../../src/utils/playwriter-relay.ts"],"names":[],"mappings":"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"}
|
package/dist-agent/bundle.cjs
CHANGED
|
@@ -20570,7 +20570,7 @@ var require_prompts3 = __commonJS({
|
|
|
20570
20570
|
|
|
20571
20571
|
// dist/utils/version-check.js
|
|
20572
20572
|
function isBundled() {
|
|
20573
|
-
const v14 = "0.1.200-dev.feat-issue-534-browser-singleton.
|
|
20573
|
+
const v14 = "0.1.200-dev.feat-issue-534-browser-singleton.3";
|
|
20574
20574
|
return typeof v14 === "string" && v14 !== "undefined";
|
|
20575
20575
|
}
|
|
20576
20576
|
function getPackageRoot() {
|
|
@@ -20587,7 +20587,7 @@ function getInstallationInfo() {
|
|
|
20587
20587
|
};
|
|
20588
20588
|
}
|
|
20589
20589
|
function getCurrentVersion() {
|
|
20590
|
-
const bundledVersion = "0.1.200-dev.feat-issue-534-browser-singleton.
|
|
20590
|
+
const bundledVersion = "0.1.200-dev.feat-issue-534-browser-singleton.3";
|
|
20591
20591
|
if (bundledVersion && bundledVersion !== "undefined") {
|
|
20592
20592
|
return bundledVersion;
|
|
20593
20593
|
}
|
|
@@ -990066,7 +990066,7 @@ var init_browser_launcher = __esm({
|
|
|
990066
990066
|
|
|
990067
990067
|
// dist/utils/playwriter-relay.js
|
|
990068
990068
|
function isBundled2() {
|
|
990069
|
-
const v14 = "0.1.200-dev.feat-issue-534-browser-singleton.
|
|
990069
|
+
const v14 = "0.1.200-dev.feat-issue-534-browser-singleton.3";
|
|
990070
990070
|
return typeof v14 === "string" && v14 !== "undefined";
|
|
990071
990071
|
}
|
|
990072
990072
|
function resolveRelayEntryPath() {
|
|
@@ -990077,9 +990077,8 @@ function resolveRelayEntryPath() {
|
|
|
990077
990077
|
function getRelayBaseUrl(host, port) {
|
|
990078
990078
|
return `http://${host}:${port}`;
|
|
990079
990079
|
}
|
|
990080
|
-
function getRelayCdpEndpoint(host, port
|
|
990081
|
-
|
|
990082
|
-
return `ws://${host}:${port}/cdp${query}`;
|
|
990080
|
+
function getRelayCdpEndpoint(host, port) {
|
|
990081
|
+
return `ws://${host}:${port}/cdp`;
|
|
990083
990082
|
}
|
|
990084
990083
|
function assertPm2Available() {
|
|
990085
990084
|
try {
|
|
@@ -990102,7 +990101,7 @@ function getPm2RelayProcess() {
|
|
|
990102
990101
|
}
|
|
990103
990102
|
}
|
|
990104
990103
|
function pm2Start(entryPath, host, port) {
|
|
990105
|
-
const versionStr = "0.1.200-dev.feat-issue-534-browser-singleton.
|
|
990104
|
+
const versionStr = "0.1.200-dev.feat-issue-534-browser-singleton.3";
|
|
990106
990105
|
(0, import_node_child_process19.execFileSync)("pm2", ["start", entryPath, "--name", PM2_PROCESS_NAME, "--update-env"], {
|
|
990107
990106
|
encoding: "utf-8",
|
|
990108
990107
|
stdio: "pipe",
|
|
@@ -990128,7 +990127,7 @@ function pm2Delete() {
|
|
|
990128
990127
|
}
|
|
990129
990128
|
}
|
|
990130
990129
|
function pm2Restart(host, port) {
|
|
990131
|
-
const versionStr = "0.1.200-dev.feat-issue-534-browser-singleton.
|
|
990130
|
+
const versionStr = "0.1.200-dev.feat-issue-534-browser-singleton.3";
|
|
990132
990131
|
(0, import_node_child_process19.execFileSync)("pm2", ["restart", PM2_PROCESS_NAME, "--update-env"], {
|
|
990133
990132
|
encoding: "utf-8",
|
|
990134
990133
|
stdio: "pipe",
|
|
@@ -990165,7 +990164,7 @@ async function getPlaywriterRelayStatus(host = "127.0.0.1", port = 19988) {
|
|
|
990165
990164
|
return { reachable: false, extensionConnected: false, activeTargets: 0 };
|
|
990166
990165
|
}
|
|
990167
990166
|
}
|
|
990168
|
-
async function getRelayExtensionDiagnosis(host = "127.0.0.1", port = 19988
|
|
990167
|
+
async function getRelayExtensionDiagnosis(host = "127.0.0.1", port = 19988) {
|
|
990169
990168
|
let connectedIds = [];
|
|
990170
990169
|
try {
|
|
990171
990170
|
const response = await fetch(`${getRelayBaseUrl(host, port)}/extensions/status`, {
|
|
@@ -990191,23 +990190,20 @@ async function getRelayExtensionDiagnosis(host = "127.0.0.1", port = 19988, expe
|
|
|
990191
990190
|
return {
|
|
990192
990191
|
kind: "none",
|
|
990193
990192
|
connectedIds,
|
|
990194
|
-
message:
|
|
990193
|
+
message: "No extension connected \u2014 automation Chrome has not loaded the Playwriter extension yet"
|
|
990195
990194
|
};
|
|
990196
990195
|
}
|
|
990197
|
-
if (connectedIds.
|
|
990198
|
-
if (connectedIds.length === 1) {
|
|
990199
|
-
return { kind: "ok", connectedIds, message: `Expected extension connected: ${expectedExtensionId}` };
|
|
990200
|
-
}
|
|
990196
|
+
if (connectedIds.length === 1) {
|
|
990201
990197
|
return {
|
|
990202
|
-
kind: "
|
|
990198
|
+
kind: "ok",
|
|
990203
990199
|
connectedIds,
|
|
990204
|
-
message: `
|
|
990200
|
+
message: `Exactly one extension connected (${connectedIds[0]})`
|
|
990205
990201
|
};
|
|
990206
990202
|
}
|
|
990207
990203
|
return {
|
|
990208
|
-
kind: "
|
|
990204
|
+
kind: "multiple",
|
|
990209
990205
|
connectedIds,
|
|
990210
|
-
message: `
|
|
990206
|
+
message: `Multiple extensions connected (${connectedIds.length}); expected exactly one. Connected: ${connectedIds.join(", ")}`
|
|
990211
990207
|
};
|
|
990212
990208
|
}
|
|
990213
990209
|
function getRelayInfoFromFile() {
|
|
@@ -990254,7 +990250,7 @@ function reconcilePlaywriterRelay(host = "127.0.0.1", port = 19988) {
|
|
|
990254
990250
|
pm2Restart(host, port);
|
|
990255
990251
|
return;
|
|
990256
990252
|
}
|
|
990257
|
-
const currentVersion = "0.1.200-dev.feat-issue-534-browser-singleton.
|
|
990253
|
+
const currentVersion = "0.1.200-dev.feat-issue-534-browser-singleton.3";
|
|
990258
990254
|
if (currentEnv.VISIONCLAW_VERSION && currentEnv.VISIONCLAW_VERSION !== currentVersion) {
|
|
990259
990255
|
logger.system(`Playwriter relay: VisionClaw version changed (${currentEnv.VISIONCLAW_VERSION} \u2192 ${currentVersion}), recreating`);
|
|
990260
990256
|
pm2Delete();
|
|
@@ -990307,7 +990303,7 @@ function cleanupOrphanRelay() {
|
|
|
990307
990303
|
}
|
|
990308
990304
|
}
|
|
990309
990305
|
}
|
|
990310
|
-
var import_node_child_process19, import_node_fs38, import_node_path45, import_node_url4, PM2_PROCESS_NAME, RELAY_PROTOCOL_VERSION, HEALTH_CHECK_TTL_MS,
|
|
990306
|
+
var import_node_child_process19, import_node_fs38, import_node_path45, import_node_url4, PM2_PROCESS_NAME, RELAY_PROTOCOL_VERSION, HEALTH_CHECK_TTL_MS, cachedStatus, cachedStatusAt;
|
|
990311
990307
|
var init_playwriter_relay = __esm({
|
|
990312
990308
|
"dist/utils/playwriter-relay.js"() {
|
|
990313
990309
|
"use strict";
|
|
@@ -990321,7 +990317,6 @@ var init_playwriter_relay = __esm({
|
|
|
990321
990317
|
PM2_PROCESS_NAME = "playwriter-relay";
|
|
990322
990318
|
RELAY_PROTOCOL_VERSION = 1;
|
|
990323
990319
|
HEALTH_CHECK_TTL_MS = 3e4;
|
|
990324
|
-
EXTENSION_ID = "jfeammnjpkecdekppnclgkkffahnhfhe";
|
|
990325
990320
|
cachedStatus = null;
|
|
990326
990321
|
cachedStatusAt = 0;
|
|
990327
990322
|
}
|
|
@@ -1319131,7 +1319126,7 @@ function buildPlaywriterRelayMcpServer(config3) {
|
|
|
1319131
1319126
|
const screenshotsDir = getScreenshotsDir();
|
|
1319132
1319127
|
const host = config3.playwriterRelayHost ?? "127.0.0.1";
|
|
1319133
1319128
|
const port = config3.playwriterRelayPort ?? 19988;
|
|
1319134
|
-
const cdpEndpoint = getRelayCdpEndpoint(host, port
|
|
1319129
|
+
const cdpEndpoint = getRelayCdpEndpoint(host, port);
|
|
1319135
1319130
|
const packageRoot = import_path127.default.resolve(import_path127.default.dirname((0, import_url400.fileURLToPath)(__importMetaUrl)), "../..");
|
|
1319136
1319131
|
const binDir = import_path127.default.join(packageRoot, "node_modules", ".bin");
|
|
1319137
1319132
|
const playwrightConfig = {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "visionclaw",
|
|
3
|
-
"version": "0.1.200-dev.feat-issue-534-browser-singleton.
|
|
3
|
+
"version": "0.1.200-dev.feat-issue-534-browser-singleton.3",
|
|
4
4
|
"description": "A personal assistant agent that runs on your desktop, receives commands from messaging channels, and executes tasks autonomously.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|