visionclaw 0.1.200-dev.feat-issue-534-browser-singleton.4 → 0.1.200-dev.feat-issue-534-browser-singleton.5
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/runtime-surface.js +14 -10
- package/dist/agent/runtime-surface.js.map +1 -1
- package/dist/utils/playwriter-relay.d.ts +73 -32
- package/dist/utils/playwriter-relay.d.ts.map +1 -1
- package/dist/utils/playwriter-relay.js +102 -36
- package/dist/utils/playwriter-relay.js.map +1 -1
- package/dist-agent/bundle.cjs +40 -15
- package/package.json +1 -1
|
@@ -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,
|
|
8
|
+
import { ensurePlaywriterRelay, reconcilePlaywriterRelay, getPlaywriterRelayStatus, cleanupOrphanRelay, resolveRelayCdpEndpoint, } 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";
|
|
@@ -122,7 +122,7 @@ export async function buildRuntimeSurface(config) {
|
|
|
122
122
|
supportsSwitchSessionTool: true,
|
|
123
123
|
},
|
|
124
124
|
externalMcpServers: {
|
|
125
|
-
...buildBuiltinExternalMcpServers(config, resolvedBrowserBackend),
|
|
125
|
+
...(await buildBuiltinExternalMcpServers(config, resolvedBrowserBackend)),
|
|
126
126
|
...dynamicExternalMcpServers,
|
|
127
127
|
},
|
|
128
128
|
},
|
|
@@ -157,15 +157,19 @@ function buildPlaywrightMcpServer() {
|
|
|
157
157
|
},
|
|
158
158
|
};
|
|
159
159
|
}
|
|
160
|
-
function buildPlaywriterRelayMcpServer(config) {
|
|
160
|
+
async 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
|
-
//
|
|
167
|
-
//
|
|
168
|
-
|
|
164
|
+
// Bind the connect to the connected extension's relay stableKey when it is
|
|
165
|
+
// unambiguous. This is fixed here (warm-up) because @playwright/mcp reads the
|
|
166
|
+
// endpoint once at startup. A stableKey-bound endpoint resolves to the newest
|
|
167
|
+
// live socket, so the first connect survives the cold-start dead+fresh
|
|
168
|
+
// same-install overlap that a bare endpoint hits with 4003 "Multiple
|
|
169
|
+
// extensions" (issue #534). Falls back to a bare endpoint when zero or >1
|
|
170
|
+
// distinct stableKeys are attached. NOT the Chrome extension id — that is the
|
|
171
|
+
// L2 regression the relay rejects with 4003 "Unknown extensionId".
|
|
172
|
+
const cdpEndpoint = await resolveRelayCdpEndpoint(host, port);
|
|
169
173
|
const packageRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../..");
|
|
170
174
|
const binDir = path.join(packageRoot, "node_modules", ".bin");
|
|
171
175
|
const playwrightConfig = {
|
|
@@ -186,9 +190,9 @@ function buildPlaywriterRelayMcpServer(config) {
|
|
|
186
190
|
},
|
|
187
191
|
};
|
|
188
192
|
}
|
|
189
|
-
function buildBuiltinExternalMcpServers(config, resolvedBrowserBackend) {
|
|
193
|
+
async function buildBuiltinExternalMcpServers(config, resolvedBrowserBackend) {
|
|
190
194
|
const browserServer = resolvedBrowserBackend === "playwriter"
|
|
191
|
-
? buildPlaywriterRelayMcpServer(config)
|
|
195
|
+
? await buildPlaywriterRelayMcpServer(config)
|
|
192
196
|
: buildPlaywrightMcpServer();
|
|
193
197
|
const externalMcpServers = {
|
|
194
198
|
...browserServer,
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"runtime-surface.js","sourceRoot":"","sources":["../../src/agent/runtime-surface.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,15 +6,20 @@ export interface PlaywriterRelayStatus {
|
|
|
6
6
|
relayProtocolVersion?: number;
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
|
-
* Build the relay's CDP WebSocket endpoint.
|
|
9
|
+
* Build the relay's *bare* CDP WebSocket endpoint (no `?extensionId=`).
|
|
10
10
|
*
|
|
11
|
-
* We
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
11
|
+
* This is the fallback form. We must NOT bind by the *Chrome extension id*: the
|
|
12
|
+
* relay (playwriter 0.2.0) does not key connections by it, so passing it is
|
|
13
|
+
* rejected with `4003 Unknown extensionId` (the issue #534 L2 regression).
|
|
14
|
+
*
|
|
15
|
+
* A bare endpoint relies on the relay's fallback selection, which only works
|
|
16
|
+
* when exactly one extension socket is attached (or exactly one has active
|
|
17
|
+
* targets). On a cold-start relaunch the relay briefly holds the dead prior
|
|
18
|
+
* socket alongside the fresh one — two sockets, both with zero targets — and
|
|
19
|
+
* the bare endpoint is then rejected with `4003 Multiple extensions connected`.
|
|
20
|
+
* To survive that window the connect must instead be bound by the relay's
|
|
21
|
+
* *stableKey* (which it DOES accept and resolves to the newest live socket);
|
|
22
|
+
* see {@link resolveRelayCdpEndpoint}.
|
|
18
23
|
*/
|
|
19
24
|
export declare function getRelayCdpEndpoint(host: string, port: number): string;
|
|
20
25
|
export declare function assertPm2Available(): void;
|
|
@@ -23,13 +28,24 @@ export type RelayExtensionDiagnosisKind = "ok" | "none" | "multiple" | "unreacha
|
|
|
23
28
|
export interface RelayExtensionDiagnosis {
|
|
24
29
|
kind: RelayExtensionDiagnosisKind;
|
|
25
30
|
/**
|
|
26
|
-
*
|
|
27
|
-
* per
|
|
28
|
-
* ids
|
|
29
|
-
*
|
|
31
|
+
* Per-connection instance ids the relay currently reports (e.g.
|
|
32
|
+
* `mqrtkouy_7b9qcx`) — one per open extension socket, NOT Chrome extension
|
|
33
|
+
* ids. Empty when none/unreachable. May contain MORE THAN ONE entry for a
|
|
34
|
+
* single logical extension install during a cold-start overlap (the dead
|
|
35
|
+
* prior socket lingers next to the fresh one until it is reaped).
|
|
30
36
|
*/
|
|
31
37
|
connectedIds: string[];
|
|
32
|
-
/**
|
|
38
|
+
/**
|
|
39
|
+
* Distinct relay `stableKey` values among the connected sockets (e.g.
|
|
40
|
+
* `install:Chrome:1njvo548hl88z`). The relay derives a stableKey per
|
|
41
|
+
* connection from the extension's install id, so two sockets from the SAME
|
|
42
|
+
* install share one stableKey. We judge `ok` vs `multiple` by the count of
|
|
43
|
+
* distinct stable identities, not raw sockets — so a same-install cold-start
|
|
44
|
+
* overlap reads as `ok` (issue #534). Empty when the relay reports no
|
|
45
|
+
* stableKey (older relay / none connected).
|
|
46
|
+
*/
|
|
47
|
+
stableKeys: string[];
|
|
48
|
+
/** Honest, human-readable explanation distinguishing 0 vs 1 vs >1 identities. */
|
|
33
49
|
message: string;
|
|
34
50
|
}
|
|
35
51
|
/**
|
|
@@ -42,15 +58,45 @@ export interface RelayExtensionDiagnosis {
|
|
|
42
58
|
* `/extensions/status` (which lists each connected extension) so callers can
|
|
43
59
|
* log which case actually happened.
|
|
44
60
|
*
|
|
45
|
-
* We judge
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
61
|
+
* We judge by the count of *distinct stable identities*, not raw sockets: the
|
|
62
|
+
* relay's `extensionId` is a per-connection instance id (not the Chrome
|
|
63
|
+
* extension id, issue #534), but each connection also carries a `stableKey`
|
|
64
|
+
* derived from the extension install. Two sockets from the SAME install (the
|
|
65
|
+
* cold-start dead+fresh overlap) share one stableKey and so read as `ok`; only
|
|
66
|
+
* genuinely different installs read as `multiple`. A connection lacking a
|
|
67
|
+
* stableKey falls back to its instance id as its identity.
|
|
49
68
|
*
|
|
50
69
|
* Only call this on the error path (extension not connected) — the hot status
|
|
51
70
|
* probe stays a single fetch via {@link getPlaywriterRelayStatus}.
|
|
52
71
|
*/
|
|
53
72
|
export declare function getRelayExtensionDiagnosis(host?: string, port?: number): Promise<RelayExtensionDiagnosis>;
|
|
73
|
+
/**
|
|
74
|
+
* Resolve the relay CDP endpoint, binding it to the connected extension's
|
|
75
|
+
* `stableKey` when that is unambiguous.
|
|
76
|
+
*
|
|
77
|
+
* Why bind at all (and why stableKey specifically): the `@playwright/mcp`
|
|
78
|
+
* subprocess reads the endpoint from its config file ONCE at startup, so the
|
|
79
|
+
* endpoint is fixed at warm-up time and cannot be rewritten just before the
|
|
80
|
+
* connect. A bare endpoint is rejected (`4003 Multiple extensions connected`)
|
|
81
|
+
* if, at connect time, the relay still holds the dead prior socket next to the
|
|
82
|
+
* fresh one. The relay DOES accept `?extensionId=<stableKey>` and resolves it
|
|
83
|
+
* to the newest live socket for that install — so binding the stableKey makes
|
|
84
|
+
* the first connect succeed even during the overlap.
|
|
85
|
+
*
|
|
86
|
+
* Causality makes a warm-up probe sufficient: any stale socket that survives to
|
|
87
|
+
* cause a connect-time overlap was necessarily already attached at warm-up
|
|
88
|
+
* (sockets are only ever reaped, never resurrected), so the relay reports its
|
|
89
|
+
* stableKey here — and because the dedicated profile's install id is stable
|
|
90
|
+
* across Chrome relaunches, that stableKey matches the fresh socket too.
|
|
91
|
+
*
|
|
92
|
+
* Binds only when EXACTLY ONE distinct stableKey is connected. With zero
|
|
93
|
+
* (first-ever boot, or a clean restart where nothing lingers) the fresh socket
|
|
94
|
+
* connects alone and the bare endpoint already works; with more than one
|
|
95
|
+
* (a genuinely different install also attached) binding could pick the wrong
|
|
96
|
+
* one, so we stay bare and let the relay's own fallback decide. Best-effort and
|
|
97
|
+
* non-throwing: any probe failure falls back to the bare endpoint.
|
|
98
|
+
*/
|
|
99
|
+
export declare function resolveRelayCdpEndpoint(host?: string, port?: number): Promise<string>;
|
|
54
100
|
export interface WaitForSingleRelayExtensionOptions {
|
|
55
101
|
/** Total time to wait for convergence to a single extension. Default 5000ms. */
|
|
56
102
|
timeoutMs?: number;
|
|
@@ -58,24 +104,19 @@ export interface WaitForSingleRelayExtensionOptions {
|
|
|
58
104
|
intervalMs?: number;
|
|
59
105
|
}
|
|
60
106
|
/**
|
|
61
|
-
* Wait until the relay has converged to
|
|
107
|
+
* Wait until the relay has converged to a single *distinct* extension identity.
|
|
62
108
|
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
* attached and rejects the connect with `4003 Multiple extensions connected`
|
|
70
|
-
* (issue #534, layer 3). Holding until it settles to a single extension lets the
|
|
71
|
-
* subsequent connect succeed on the first try.
|
|
109
|
+
* This is now a secondary safeguard: the primary cold-start fix binds the
|
|
110
|
+
* connect to the extension's stableKey ({@link resolveRelayCdpEndpoint}), which
|
|
111
|
+
* already survives the dead+fresh same-install overlap. Because that overlap
|
|
112
|
+
* shares one stableKey it reads as `ok` here and returns immediately — this
|
|
113
|
+
* only loops when the relay reports more than one *genuinely different* install
|
|
114
|
+
* (`multiple`), which a stableKey-bound endpoint would not disambiguate either.
|
|
72
115
|
*
|
|
73
116
|
* Best-effort and non-throwing: it only loops while the relay reports
|
|
74
|
-
* `multiple` —
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
* and lets the caller proceed (the connect, and the agent's own retry, handle
|
|
78
|
-
* the residue).
|
|
117
|
+
* `multiple` — any other state (`ok`, `none`, `unreachable`) returns
|
|
118
|
+
* immediately, since waiting would not help those. On timeout it returns the
|
|
119
|
+
* last diagnosis and lets the caller proceed.
|
|
79
120
|
*/
|
|
80
121
|
export declare function waitForSingleRelayExtension(host?: string, port?: number, options?: WaitForSingleRelayExtensionOptions): Promise<RelayExtensionDiagnosis>;
|
|
81
122
|
export declare function getRelayInfoFromFile(): {
|
|
@@ -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;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
|
|
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;;;;;;;;;;;;;;;GAeG;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;;;;;;OAMG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;;;;;;;;OAQG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,iFAAiF;IACjF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,SAAc,EAClB,IAAI,SAAQ,GACX,OAAO,CAAC,uBAAuB,CAAC,CAmFlC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,SAAc,EAClB,IAAI,SAAQ,GACX,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED,MAAM,WAAW,kCAAkC;IACjD,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,2BAA2B,CAC/C,IAAI,SAAc,EAClB,IAAI,SAAQ,EACZ,OAAO,GAAE,kCAAuC,GAC/C,OAAO,CAAC,uBAAuB,CAAC,CAWlC;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,CAgChC;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAWzC;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -23,15 +23,20 @@ function getRelayBaseUrl(host, port) {
|
|
|
23
23
|
return `http://${host}:${port}`;
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
|
-
* Build the relay's CDP WebSocket endpoint.
|
|
26
|
+
* Build the relay's *bare* CDP WebSocket endpoint (no `?extensionId=`).
|
|
27
27
|
*
|
|
28
|
-
* We
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
28
|
+
* This is the fallback form. We must NOT bind by the *Chrome extension id*: the
|
|
29
|
+
* relay (playwriter 0.2.0) does not key connections by it, so passing it is
|
|
30
|
+
* rejected with `4003 Unknown extensionId` (the issue #534 L2 regression).
|
|
31
|
+
*
|
|
32
|
+
* A bare endpoint relies on the relay's fallback selection, which only works
|
|
33
|
+
* when exactly one extension socket is attached (or exactly one has active
|
|
34
|
+
* targets). On a cold-start relaunch the relay briefly holds the dead prior
|
|
35
|
+
* socket alongside the fresh one — two sockets, both with zero targets — and
|
|
36
|
+
* the bare endpoint is then rejected with `4003 Multiple extensions connected`.
|
|
37
|
+
* To survive that window the connect must instead be bound by the relay's
|
|
38
|
+
* *stableKey* (which it DOES accept and resolves to the newest live socket);
|
|
39
|
+
* see {@link resolveRelayCdpEndpoint}.
|
|
35
40
|
*/
|
|
36
41
|
export function getRelayCdpEndpoint(host, port) {
|
|
37
42
|
return `ws://${host}:${port}/cdp`;
|
|
@@ -137,16 +142,21 @@ export async function getPlaywriterRelayStatus(host = "127.0.0.1", port = 19988)
|
|
|
137
142
|
* `/extensions/status` (which lists each connected extension) so callers can
|
|
138
143
|
* log which case actually happened.
|
|
139
144
|
*
|
|
140
|
-
* We judge
|
|
141
|
-
*
|
|
142
|
-
*
|
|
143
|
-
*
|
|
145
|
+
* We judge by the count of *distinct stable identities*, not raw sockets: the
|
|
146
|
+
* relay's `extensionId` is a per-connection instance id (not the Chrome
|
|
147
|
+
* extension id, issue #534), but each connection also carries a `stableKey`
|
|
148
|
+
* derived from the extension install. Two sockets from the SAME install (the
|
|
149
|
+
* cold-start dead+fresh overlap) share one stableKey and so read as `ok`; only
|
|
150
|
+
* genuinely different installs read as `multiple`. A connection lacking a
|
|
151
|
+
* stableKey falls back to its instance id as its identity.
|
|
144
152
|
*
|
|
145
153
|
* Only call this on the error path (extension not connected) — the hot status
|
|
146
154
|
* probe stays a single fetch via {@link getPlaywriterRelayStatus}.
|
|
147
155
|
*/
|
|
148
156
|
export async function getRelayExtensionDiagnosis(host = "127.0.0.1", port = 19988) {
|
|
149
157
|
let connectedIds = [];
|
|
158
|
+
let stableKeys = [];
|
|
159
|
+
let identities = [];
|
|
150
160
|
try {
|
|
151
161
|
const response = await fetch(`${getRelayBaseUrl(host, port)}/extensions/status`, {
|
|
152
162
|
signal: AbortSignal.timeout(2_000),
|
|
@@ -155,20 +165,36 @@ export async function getRelayExtensionDiagnosis(host = "127.0.0.1", port = 1998
|
|
|
155
165
|
return {
|
|
156
166
|
kind: "unreachable",
|
|
157
167
|
connectedIds: [],
|
|
168
|
+
stableKeys: [],
|
|
158
169
|
message: `Relay reachable but /extensions/status returned HTTP ${response.status}`,
|
|
159
170
|
};
|
|
160
171
|
}
|
|
161
172
|
const body = (await response.json());
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
173
|
+
const entries = Array.isArray(body.extensions) ? body.extensions : [];
|
|
174
|
+
connectedIds = entries
|
|
175
|
+
.map((e) => (typeof e.extensionId === "string" ? e.extensionId : ""))
|
|
176
|
+
.filter((id) => id.length > 0);
|
|
177
|
+
stableKeys = Array.from(new Set(entries
|
|
178
|
+
.map((e) => (typeof e.stableKey === "string" ? e.stableKey : ""))
|
|
179
|
+
.filter((k) => k.length > 0)));
|
|
180
|
+
// Identity per socket = its stableKey when present, else its instance id.
|
|
181
|
+
// Distinct identities tell us how many *logical* installs are attached.
|
|
182
|
+
identities = Array.from(new Set(entries
|
|
183
|
+
.map((e) => {
|
|
184
|
+
const key = typeof e.stableKey === "string" && e.stableKey.length > 0
|
|
185
|
+
? e.stableKey
|
|
186
|
+
: typeof e.extensionId === "string"
|
|
187
|
+
? e.extensionId
|
|
188
|
+
: "";
|
|
189
|
+
return key;
|
|
190
|
+
})
|
|
191
|
+
.filter((k) => k.length > 0)));
|
|
167
192
|
}
|
|
168
193
|
catch {
|
|
169
194
|
return {
|
|
170
195
|
kind: "unreachable",
|
|
171
196
|
connectedIds: [],
|
|
197
|
+
stableKeys: [],
|
|
172
198
|
message: "Relay unreachable while diagnosing extension connection",
|
|
173
199
|
};
|
|
174
200
|
}
|
|
@@ -176,42 +202,82 @@ export async function getRelayExtensionDiagnosis(host = "127.0.0.1", port = 1998
|
|
|
176
202
|
return {
|
|
177
203
|
kind: "none",
|
|
178
204
|
connectedIds,
|
|
205
|
+
stableKeys,
|
|
179
206
|
message: "No extension connected — automation Chrome has not loaded the Playwriter extension yet",
|
|
180
207
|
};
|
|
181
208
|
}
|
|
182
|
-
if (
|
|
209
|
+
if (identities.length <= 1) {
|
|
210
|
+
const overlap = connectedIds.length > 1
|
|
211
|
+
? ` (${connectedIds.length} sockets for one install — cold-start overlap, treated as ready)`
|
|
212
|
+
: "";
|
|
183
213
|
return {
|
|
184
214
|
kind: "ok",
|
|
185
215
|
connectedIds,
|
|
186
|
-
|
|
216
|
+
stableKeys,
|
|
217
|
+
message: `Exactly one extension install connected (${connectedIds[0]})${overlap}`,
|
|
187
218
|
};
|
|
188
219
|
}
|
|
189
220
|
return {
|
|
190
221
|
kind: "multiple",
|
|
191
222
|
connectedIds,
|
|
192
|
-
|
|
193
|
-
|
|
223
|
+
stableKeys,
|
|
224
|
+
message: `Multiple distinct extensions connected (${identities.length}); expected exactly one. `
|
|
225
|
+
+ `Identities: ${identities.join(", ")}`,
|
|
194
226
|
};
|
|
195
227
|
}
|
|
196
228
|
/**
|
|
197
|
-
*
|
|
229
|
+
* Resolve the relay CDP endpoint, binding it to the connected extension's
|
|
230
|
+
* `stableKey` when that is unambiguous.
|
|
231
|
+
*
|
|
232
|
+
* Why bind at all (and why stableKey specifically): the `@playwright/mcp`
|
|
233
|
+
* subprocess reads the endpoint from its config file ONCE at startup, so the
|
|
234
|
+
* endpoint is fixed at warm-up time and cannot be rewritten just before the
|
|
235
|
+
* connect. A bare endpoint is rejected (`4003 Multiple extensions connected`)
|
|
236
|
+
* if, at connect time, the relay still holds the dead prior socket next to the
|
|
237
|
+
* fresh one. The relay DOES accept `?extensionId=<stableKey>` and resolves it
|
|
238
|
+
* to the newest live socket for that install — so binding the stableKey makes
|
|
239
|
+
* the first connect succeed even during the overlap.
|
|
240
|
+
*
|
|
241
|
+
* Causality makes a warm-up probe sufficient: any stale socket that survives to
|
|
242
|
+
* cause a connect-time overlap was necessarily already attached at warm-up
|
|
243
|
+
* (sockets are only ever reaped, never resurrected), so the relay reports its
|
|
244
|
+
* stableKey here — and because the dedicated profile's install id is stable
|
|
245
|
+
* across Chrome relaunches, that stableKey matches the fresh socket too.
|
|
246
|
+
*
|
|
247
|
+
* Binds only when EXACTLY ONE distinct stableKey is connected. With zero
|
|
248
|
+
* (first-ever boot, or a clean restart where nothing lingers) the fresh socket
|
|
249
|
+
* connects alone and the bare endpoint already works; with more than one
|
|
250
|
+
* (a genuinely different install also attached) binding could pick the wrong
|
|
251
|
+
* one, so we stay bare and let the relay's own fallback decide. Best-effort and
|
|
252
|
+
* non-throwing: any probe failure falls back to the bare endpoint.
|
|
253
|
+
*/
|
|
254
|
+
export async function resolveRelayCdpEndpoint(host = "127.0.0.1", port = 19988) {
|
|
255
|
+
const bare = getRelayCdpEndpoint(host, port);
|
|
256
|
+
try {
|
|
257
|
+
const diagnosis = await getRelayExtensionDiagnosis(host, port);
|
|
258
|
+
if (diagnosis.stableKeys.length === 1) {
|
|
259
|
+
return `${bare}?extensionId=${encodeURIComponent(diagnosis.stableKeys[0])}`;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
catch {
|
|
263
|
+
// fall through to the bare endpoint
|
|
264
|
+
}
|
|
265
|
+
return bare;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Wait until the relay has converged to a single *distinct* extension identity.
|
|
198
269
|
*
|
|
199
|
-
*
|
|
200
|
-
*
|
|
201
|
-
*
|
|
202
|
-
*
|
|
203
|
-
*
|
|
204
|
-
*
|
|
205
|
-
* attached and rejects the connect with `4003 Multiple extensions connected`
|
|
206
|
-
* (issue #534, layer 3). Holding until it settles to a single extension lets the
|
|
207
|
-
* subsequent connect succeed on the first try.
|
|
270
|
+
* This is now a secondary safeguard: the primary cold-start fix binds the
|
|
271
|
+
* connect to the extension's stableKey ({@link resolveRelayCdpEndpoint}), which
|
|
272
|
+
* already survives the dead+fresh same-install overlap. Because that overlap
|
|
273
|
+
* shares one stableKey it reads as `ok` here and returns immediately — this
|
|
274
|
+
* only loops when the relay reports more than one *genuinely different* install
|
|
275
|
+
* (`multiple`), which a stableKey-bound endpoint would not disambiguate either.
|
|
208
276
|
*
|
|
209
277
|
* Best-effort and non-throwing: it only loops while the relay reports
|
|
210
|
-
* `multiple` —
|
|
211
|
-
*
|
|
212
|
-
*
|
|
213
|
-
* and lets the caller proceed (the connect, and the agent's own retry, handle
|
|
214
|
-
* the residue).
|
|
278
|
+
* `multiple` — any other state (`ok`, `none`, `unreachable`) returns
|
|
279
|
+
* immediately, since waiting would not help those. On timeout it returns the
|
|
280
|
+
* last diagnosis and lets the caller proceed.
|
|
215
281
|
*/
|
|
216
282
|
export async function waitForSingleRelayExtension(host = "127.0.0.1", port = 19988, options = {}) {
|
|
217
283
|
const timeoutMs = options.timeoutMs ?? 5_000;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playwriter-relay.js","sourceRoot":"","sources":["../../src/utils/playwriter-relay.ts"],"names":[],"mappings":"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"}
|
|
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.5";
|
|
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.5";
|
|
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.5";
|
|
990070
990070
|
return typeof v14 === "string" && v14 !== "undefined";
|
|
990071
990071
|
}
|
|
990072
990072
|
function resolveRelayEntryPath() {
|
|
@@ -990101,7 +990101,7 @@ function getPm2RelayProcess() {
|
|
|
990101
990101
|
}
|
|
990102
990102
|
}
|
|
990103
990103
|
function pm2Start(entryPath, host, port) {
|
|
990104
|
-
const versionStr = "0.1.200-dev.feat-issue-534-browser-singleton.
|
|
990104
|
+
const versionStr = "0.1.200-dev.feat-issue-534-browser-singleton.5";
|
|
990105
990105
|
(0, import_node_child_process19.execFileSync)("pm2", ["start", entryPath, "--name", PM2_PROCESS_NAME, "--update-env"], {
|
|
990106
990106
|
encoding: "utf-8",
|
|
990107
990107
|
stdio: "pipe",
|
|
@@ -990127,7 +990127,7 @@ function pm2Delete() {
|
|
|
990127
990127
|
}
|
|
990128
990128
|
}
|
|
990129
990129
|
function pm2Restart(host, port) {
|
|
990130
|
-
const versionStr = "0.1.200-dev.feat-issue-534-browser-singleton.
|
|
990130
|
+
const versionStr = "0.1.200-dev.feat-issue-534-browser-singleton.5";
|
|
990131
990131
|
(0, import_node_child_process19.execFileSync)("pm2", ["restart", PM2_PROCESS_NAME, "--update-env"], {
|
|
990132
990132
|
encoding: "utf-8",
|
|
990133
990133
|
stdio: "pipe",
|
|
@@ -990166,6 +990166,8 @@ async function getPlaywriterRelayStatus(host = "127.0.0.1", port = 19988) {
|
|
|
990166
990166
|
}
|
|
990167
990167
|
async function getRelayExtensionDiagnosis(host = "127.0.0.1", port = 19988) {
|
|
990168
990168
|
let connectedIds = [];
|
|
990169
|
+
let stableKeys = [];
|
|
990170
|
+
let identities = [];
|
|
990169
990171
|
try {
|
|
990170
990172
|
const response = await fetch(`${getRelayBaseUrl(host, port)}/extensions/status`, {
|
|
990171
990173
|
signal: AbortSignal.timeout(2e3)
|
|
@@ -990174,15 +990176,23 @@ async function getRelayExtensionDiagnosis(host = "127.0.0.1", port = 19988) {
|
|
|
990174
990176
|
return {
|
|
990175
990177
|
kind: "unreachable",
|
|
990176
990178
|
connectedIds: [],
|
|
990179
|
+
stableKeys: [],
|
|
990177
990180
|
message: `Relay reachable but /extensions/status returned HTTP ${response.status}`
|
|
990178
990181
|
};
|
|
990179
990182
|
}
|
|
990180
990183
|
const body = await response.json();
|
|
990181
|
-
|
|
990184
|
+
const entries = Array.isArray(body.extensions) ? body.extensions : [];
|
|
990185
|
+
connectedIds = entries.map((e13) => typeof e13.extensionId === "string" ? e13.extensionId : "").filter((id3) => id3.length > 0);
|
|
990186
|
+
stableKeys = Array.from(new Set(entries.map((e13) => typeof e13.stableKey === "string" ? e13.stableKey : "").filter((k16) => k16.length > 0)));
|
|
990187
|
+
identities = Array.from(new Set(entries.map((e13) => {
|
|
990188
|
+
const key = typeof e13.stableKey === "string" && e13.stableKey.length > 0 ? e13.stableKey : typeof e13.extensionId === "string" ? e13.extensionId : "";
|
|
990189
|
+
return key;
|
|
990190
|
+
}).filter((k16) => k16.length > 0)));
|
|
990182
990191
|
} catch {
|
|
990183
990192
|
return {
|
|
990184
990193
|
kind: "unreachable",
|
|
990185
990194
|
connectedIds: [],
|
|
990195
|
+
stableKeys: [],
|
|
990186
990196
|
message: "Relay unreachable while diagnosing extension connection"
|
|
990187
990197
|
};
|
|
990188
990198
|
}
|
|
@@ -990190,22 +990200,37 @@ async function getRelayExtensionDiagnosis(host = "127.0.0.1", port = 19988) {
|
|
|
990190
990200
|
return {
|
|
990191
990201
|
kind: "none",
|
|
990192
990202
|
connectedIds,
|
|
990203
|
+
stableKeys,
|
|
990193
990204
|
message: "No extension connected \u2014 automation Chrome has not loaded the Playwriter extension yet"
|
|
990194
990205
|
};
|
|
990195
990206
|
}
|
|
990196
|
-
if (
|
|
990207
|
+
if (identities.length <= 1) {
|
|
990208
|
+
const overlap = connectedIds.length > 1 ? ` (${connectedIds.length} sockets for one install \u2014 cold-start overlap, treated as ready)` : "";
|
|
990197
990209
|
return {
|
|
990198
990210
|
kind: "ok",
|
|
990199
990211
|
connectedIds,
|
|
990200
|
-
|
|
990212
|
+
stableKeys,
|
|
990213
|
+
message: `Exactly one extension install connected (${connectedIds[0]})${overlap}`
|
|
990201
990214
|
};
|
|
990202
990215
|
}
|
|
990203
990216
|
return {
|
|
990204
990217
|
kind: "multiple",
|
|
990205
990218
|
connectedIds,
|
|
990206
|
-
|
|
990219
|
+
stableKeys,
|
|
990220
|
+
message: `Multiple distinct extensions connected (${identities.length}); expected exactly one. Identities: ${identities.join(", ")}`
|
|
990207
990221
|
};
|
|
990208
990222
|
}
|
|
990223
|
+
async function resolveRelayCdpEndpoint(host = "127.0.0.1", port = 19988) {
|
|
990224
|
+
const bare = getRelayCdpEndpoint(host, port);
|
|
990225
|
+
try {
|
|
990226
|
+
const diagnosis = await getRelayExtensionDiagnosis(host, port);
|
|
990227
|
+
if (diagnosis.stableKeys.length === 1) {
|
|
990228
|
+
return `${bare}?extensionId=${encodeURIComponent(diagnosis.stableKeys[0])}`;
|
|
990229
|
+
}
|
|
990230
|
+
} catch {
|
|
990231
|
+
}
|
|
990232
|
+
return bare;
|
|
990233
|
+
}
|
|
990209
990234
|
async function waitForSingleRelayExtension(host = "127.0.0.1", port = 19988, options2 = {}) {
|
|
990210
990235
|
const timeoutMs = options2.timeoutMs ?? 5e3;
|
|
990211
990236
|
const intervalMs = options2.intervalMs ?? 300;
|
|
@@ -990261,7 +990286,7 @@ function reconcilePlaywriterRelay(host = "127.0.0.1", port = 19988) {
|
|
|
990261
990286
|
pm2Restart(host, port);
|
|
990262
990287
|
return;
|
|
990263
990288
|
}
|
|
990264
|
-
const currentVersion = "0.1.200-dev.feat-issue-534-browser-singleton.
|
|
990289
|
+
const currentVersion = "0.1.200-dev.feat-issue-534-browser-singleton.5";
|
|
990265
990290
|
if (currentEnv.VISIONCLAW_VERSION && currentEnv.VISIONCLAW_VERSION !== currentVersion) {
|
|
990266
990291
|
logger.system(`Playwriter relay: VisionClaw version changed (${currentEnv.VISIONCLAW_VERSION} \u2192 ${currentVersion}), recreating`);
|
|
990267
990292
|
pm2Delete();
|
|
@@ -1319099,7 +1319124,7 @@ async function buildRuntimeSurface(config3) {
|
|
|
1319099
1319124
|
supportsSwitchSessionTool: true
|
|
1319100
1319125
|
},
|
|
1319101
1319126
|
externalMcpServers: {
|
|
1319102
|
-
...buildBuiltinExternalMcpServers(config3, resolvedBrowserBackend),
|
|
1319127
|
+
...await buildBuiltinExternalMcpServers(config3, resolvedBrowserBackend),
|
|
1319103
1319128
|
...dynamicExternalMcpServers
|
|
1319104
1319129
|
}
|
|
1319105
1319130
|
},
|
|
@@ -1319134,11 +1319159,11 @@ function buildPlaywrightMcpServer() {
|
|
|
1319134
1319159
|
}
|
|
1319135
1319160
|
};
|
|
1319136
1319161
|
}
|
|
1319137
|
-
function buildPlaywriterRelayMcpServer(config3) {
|
|
1319162
|
+
async function buildPlaywriterRelayMcpServer(config3) {
|
|
1319138
1319163
|
const screenshotsDir = getScreenshotsDir();
|
|
1319139
1319164
|
const host = config3.playwriterRelayHost ?? "127.0.0.1";
|
|
1319140
1319165
|
const port = config3.playwriterRelayPort ?? 19988;
|
|
1319141
|
-
const cdpEndpoint =
|
|
1319166
|
+
const cdpEndpoint = await resolveRelayCdpEndpoint(host, port);
|
|
1319142
1319167
|
const packageRoot = import_path127.default.resolve(import_path127.default.dirname((0, import_url400.fileURLToPath)(__importMetaUrl)), "../..");
|
|
1319143
1319168
|
const binDir = import_path127.default.join(packageRoot, "node_modules", ".bin");
|
|
1319144
1319169
|
const playwrightConfig = {
|
|
@@ -1319159,8 +1319184,8 @@ function buildPlaywriterRelayMcpServer(config3) {
|
|
|
1319159
1319184
|
}
|
|
1319160
1319185
|
};
|
|
1319161
1319186
|
}
|
|
1319162
|
-
function buildBuiltinExternalMcpServers(config3, resolvedBrowserBackend) {
|
|
1319163
|
-
const browserServer = resolvedBrowserBackend === "playwriter" ? buildPlaywriterRelayMcpServer(config3) : buildPlaywrightMcpServer();
|
|
1319187
|
+
async function buildBuiltinExternalMcpServers(config3, resolvedBrowserBackend) {
|
|
1319188
|
+
const browserServer = resolvedBrowserBackend === "playwriter" ? await buildPlaywriterRelayMcpServer(config3) : buildPlaywrightMcpServer();
|
|
1319164
1319189
|
const externalMcpServers = {
|
|
1319165
1319190
|
...browserServer
|
|
1319166
1319191
|
};
|
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.5",
|
|
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",
|