visionclaw 0.1.206-beta.19 → 0.1.206-beta.20

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.
@@ -31,7 +31,7 @@ export async function ensureBrowserForTool(options) {
31
31
  if (diagnosis.kind === "multiple") {
32
32
  logger.system(`Playwriter: relay still reports >1 extension after settle wait (${diagnosis.message}); proceeding — the connect may need one retry`);
33
33
  }
34
- syncPinnedRelayEndpointConfig(host, port, diagnosis.stableKeys);
34
+ syncPinnedRelayEndpointConfig(host, port, diagnosis);
35
35
  logger.debug("Playwriter extension already connected — skipping Chrome restart");
36
36
  return { playwriterConnectionsResetThisTurn: options.playwriterConnectionsResetThisTurn };
37
37
  }
@@ -49,7 +49,7 @@ export async function ensureBrowserForTool(options) {
49
49
  if (diagnosis.connectedIds.length !== 1) {
50
50
  logger.system(`Playwriter: relay did not settle to a single extension socket after launch (${diagnosis.kind}: ${diagnosis.message}); proceeding — the connect may need one retry`);
51
51
  }
52
- syncPinnedRelayEndpointConfig(host, port, diagnosis.stableKeys);
52
+ syncPinnedRelayEndpointConfig(host, port, diagnosis);
53
53
  return { playwriterConnectionsResetThisTurn: options.playwriterConnectionsResetThisTurn || didReset };
54
54
  }
55
55
  await ensureBrowser();
@@ -1 +1 @@
1
- {"version":3,"file":"browser-tool-policy.js","sourceRoot":"","sources":["../../../src/agent/engines/browser-tool-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-tool-policy.js","sourceRoot":"","sources":["../../../src/agent/engines/browser-tool-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AACrN,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,OAAO,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACxF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAM1C;IACC,MAAM,CAAC,KAAK,CAAC,kCAAkC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,cAAc,KAAK,YAAY,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,IAAI,WAAW,CAAC;QACxD,MAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,IAAI,KAAK,CAAC;QAElD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,CAAC,MAAM,CAAC,4CAA4C,CAAC,CAAC;YAC5D,0BAA0B,EAAE,CAAC;YAC7B,MAAM,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC9B,wEAAwE;YACxE,wEAAwE;YACxE,uEAAuE;YACvE,sEAAsE;YACtE,qEAAqE;YACrE,sEAAsE;YACtE,qEAAqE;YACrE,wEAAwE;YACxE,wEAAwE;YACxE,wDAAwD;YACxD,MAAM,SAAS,GAAG,MAAM,2BAA2B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAChE,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAClC,MAAM,CAAC,MAAM,CACX,mEAAmE,SAAS,CAAC,OAAO,gDAAgD,CACrI,CAAC;YACJ,CAAC;YACD,6BAA6B,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;YACrD,MAAM,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;YACjF,OAAO,EAAE,kCAAkC,EAAE,OAAO,CAAC,kCAAkC,EAAE,CAAC;QAC5F,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAC3C,OAAO,CAAC,kCAAkC,EAC1C,IAAI,EACJ,IAAI,CACL,CAAC;QACF,0EAA0E;QAC1E,sEAAsE;QACtE,4EAA4E;QAC5E,uEAAuE;QACvE,uEAAuE;QACvE,yEAAyE;QACzE,uEAAuE;QACvE,uEAAuE;QACvE,6CAA6C;QAC7C,MAAM,SAAS,GAAG,MAAM,0BAA0B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/D,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,MAAM,CACX,+EAA+E,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,OAAO,gDAAgD,CACpK,CAAC;QACJ,CAAC;QACD,6BAA6B,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QACrD,OAAO,EAAE,kCAAkC,EAAE,OAAO,CAAC,kCAAkC,IAAI,QAAQ,EAAE,CAAC;IACxG,CAAC;IAED,MAAM,aAAa,EAAE,CAAC;IACtB,OAAO,EAAE,kCAAkC,EAAE,OAAO,CAAC,kCAAkC,EAAE,CAAC;AAC5F,CAAC"}
@@ -40,6 +40,15 @@ export declare function assertPm2Available(): void;
40
40
  export declare function warnOnPm2VersionSkew(): void;
41
41
  export declare function getPlaywriterRelayStatus(host?: string, port?: number): Promise<PlaywriterRelayStatus>;
42
42
  export type RelayExtensionDiagnosisKind = "ok" | "none" | "multiple" | "unreachable";
43
+ /** Identity fields the relay reports for one connected extension socket. */
44
+ export interface RelayLiveExtension {
45
+ /** Per-connection instance id (NOT the Chrome extension id, issue #534). */
46
+ extensionId: string;
47
+ /** Install-stable identity; absent on pre-stableKey relays. */
48
+ stableKey?: string;
49
+ /** Playwriter extension version reported for this socket, when known. */
50
+ playwriterVersion?: string;
51
+ }
43
52
  export interface RelayExtensionDiagnosis {
44
53
  kind: RelayExtensionDiagnosisKind;
45
54
  /**
@@ -60,6 +69,13 @@ export interface RelayExtensionDiagnosis {
60
69
  * stableKey (older relay / none connected).
61
70
  */
62
71
  stableKeys: string[];
72
+ /**
73
+ * One entry per connected extension socket, with the identity fields the
74
+ * relay reports for it. Version-aware pin selection consumes this
75
+ * ({@link syncPinnedRelayEndpointConfig}); `stableKeys` stays the
76
+ * distinct-identity summary.
77
+ */
78
+ liveExtensions: RelayLiveExtension[];
63
79
  /** Honest, human-readable explanation distinguishing 0 vs 1 vs >1 identities. */
64
80
  message: string;
65
81
  }
@@ -143,11 +159,16 @@ export declare function getRelayMcpConfigPath(): string;
143
159
  * a pinned connect to the old key fails hard with `4003 Unknown extensionId`).
144
160
  *
145
161
  * Called from the browser-tool path, which has already probed the relay -- the
146
- * caller passes that diagnosis' distinct stableKeys so no extra probe runs.
147
- * Best-effort and non-throwing; no-op when the key is ambiguous (multiple
148
- * installs, none cached) or the config file is absent (playwright backend).
162
+ * caller passes that diagnosis so no extra probe runs. Best-effort and
163
+ * non-throwing; no-op when no live install reports a stableKey (pre-stableKey
164
+ * relay) or the config file is absent (playwright backend). With multiple
165
+ * distinct installs attached the pin target is auto-selected
166
+ * ({@link selectLivePinTarget}) rather than skipped -- this is the tool-time
167
+ * half of the duplicate-install heal, and writing the cache here is what makes
168
+ * it permanent (the exactly-one gate used to make the cache unwritable on such
169
+ * machines).
149
170
  */
150
- export declare function syncPinnedRelayEndpointConfig(host: string, port: number, liveStableKeys: string[]): void;
171
+ export declare function syncPinnedRelayEndpointConfig(host: string, port: number, live: Pick<RelayExtensionDiagnosis, "stableKeys" | "liveExtensions">): void;
151
172
  export interface WaitForSingleRelayExtensionOptions {
152
173
  /** Total time to wait for convergence to a single extension. Default 5000ms. */
153
174
  timeoutMs?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"playwriter-relay.d.ts","sourceRoot":"","sources":["../../src/utils/playwriter-relay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"playwriter-relay.d.ts","sourceRoot":"","sources":["../../src/utils/playwriter-relay.ts"],"names":[],"mappings":"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"}
@@ -604,6 +604,7 @@ export async function getPlaywriterRelayStatus(host = "127.0.0.1", port = 19988)
604
604
  export async function getRelayExtensionDiagnosis(host = "127.0.0.1", port = 19988) {
605
605
  let connectedIds = [];
606
606
  let stableKeys = [];
607
+ let liveExtensions = [];
607
608
  let identities = [];
608
609
  try {
609
610
  const response = await fetch(`${getRelayBaseUrl(host, port)}/extensions/status`, {
@@ -614,6 +615,7 @@ export async function getRelayExtensionDiagnosis(host = "127.0.0.1", port = 1998
614
615
  kind: "unreachable",
615
616
  connectedIds: [],
616
617
  stableKeys: [],
618
+ liveExtensions: [],
617
619
  message: `Relay reachable but /extensions/status returned HTTP ${response.status}`,
618
620
  };
619
621
  }
@@ -625,6 +627,15 @@ export async function getRelayExtensionDiagnosis(host = "127.0.0.1", port = 1998
625
627
  stableKeys = Array.from(new Set(entries
626
628
  .map((e) => (typeof e.stableKey === "string" ? e.stableKey : ""))
627
629
  .filter((k) => k.length > 0)));
630
+ liveExtensions = entries
631
+ .map((e) => ({
632
+ extensionId: typeof e.extensionId === "string" ? e.extensionId : "",
633
+ stableKey: typeof e.stableKey === "string" && e.stableKey.length > 0 ? e.stableKey : undefined,
634
+ playwriterVersion: typeof e.playwriterVersion === "string" && e.playwriterVersion.length > 0
635
+ ? e.playwriterVersion
636
+ : undefined,
637
+ }))
638
+ .filter((e) => e.extensionId.length > 0);
628
639
  // Identity per socket = its stableKey when present, else its instance id.
629
640
  // Distinct identities tell us how many *logical* installs are attached.
630
641
  identities = Array.from(new Set(entries
@@ -643,6 +654,7 @@ export async function getRelayExtensionDiagnosis(host = "127.0.0.1", port = 1998
643
654
  kind: "unreachable",
644
655
  connectedIds: [],
645
656
  stableKeys: [],
657
+ liveExtensions: [],
646
658
  message: "Relay unreachable while diagnosing extension connection",
647
659
  };
648
660
  }
@@ -651,6 +663,7 @@ export async function getRelayExtensionDiagnosis(host = "127.0.0.1", port = 1998
651
663
  kind: "none",
652
664
  connectedIds,
653
665
  stableKeys,
666
+ liveExtensions,
654
667
  message: "No extension connected � automation Chrome has not loaded the Playwriter extension yet",
655
668
  };
656
669
  }
@@ -662,6 +675,7 @@ export async function getRelayExtensionDiagnosis(host = "127.0.0.1", port = 1998
662
675
  kind: "ok",
663
676
  connectedIds,
664
677
  stableKeys,
678
+ liveExtensions,
665
679
  message: `Exactly one extension install connected (${connectedIds[0]})${overlap}`,
666
680
  };
667
681
  }
@@ -669,6 +683,7 @@ export async function getRelayExtensionDiagnosis(host = "127.0.0.1", port = 1998
669
683
  kind: "multiple",
670
684
  connectedIds,
671
685
  stableKeys,
686
+ liveExtensions,
672
687
  message: `Multiple distinct extensions connected (${identities.length}); expected exactly one. `
673
688
  + `Identities: ${identities.join(", ")}`,
674
689
  };
@@ -757,6 +772,101 @@ export async function resolveRelayCdpEndpoint(host = "127.0.0.1", port = 19988)
757
772
  }
758
773
  return bare;
759
774
  }
775
+ /**
776
+ * Compare two playwriter version strings segment-by-segment (numeric where
777
+ * both segments parse, else lexicographic). `undefined` ranks below any
778
+ * version. Only used for pin preference among duplicate installs, so a rough
779
+ * ordering is enough -- extension versions are plain x.y.z in practice.
780
+ */
781
+ function comparePlaywriterVersions(a, b) {
782
+ if (a === b)
783
+ return 0;
784
+ if (a === undefined)
785
+ return -1;
786
+ if (b === undefined)
787
+ return 1;
788
+ const pa = a.split(/[.-]/);
789
+ const pb = b.split(/[.-]/);
790
+ const len = Math.max(pa.length, pb.length);
791
+ for (let i = 0; i < len; i++) {
792
+ // Missing segments sort below present ones (0.4 < 0.4.1).
793
+ const sa = i < pa.length ? pa[i] : undefined;
794
+ const sb = i < pb.length ? pb[i] : undefined;
795
+ if (sa === undefined)
796
+ return -1;
797
+ if (sb === undefined)
798
+ return 1;
799
+ const na = Number.parseInt(sa, 10);
800
+ const nb = Number.parseInt(sb, 10);
801
+ if (!Number.isNaN(na) && !Number.isNaN(nb)) {
802
+ if (na !== nb)
803
+ return na < nb ? -1 : 1;
804
+ }
805
+ else if (sa !== sb) {
806
+ return sa < sb ? -1 : 1;
807
+ }
808
+ }
809
+ return 0;
810
+ }
811
+ /**
812
+ * Deterministically pick ONE stableKey to pin when the relay holds several
813
+ * genuinely different extension installs (duplicate install across two Chrome
814
+ * installs/profiles -- ghost Chrome processes, a personal Chrome also carrying
815
+ * the extension, etc.).
816
+ *
817
+ * Before this existed, the multi-install case simply gave up: the endpoint
818
+ * stayed BARE (every connect fails `4003 Multiple extensions connected`) and
819
+ * the stableKey cache could never be written (the exactly-one gate never
820
+ * passed) -- a permanent failure loop that needed a human to uninstall the
821
+ * duplicate. Proven twice in the fleet (Lily, then Jessica's claw-mba-7v54).
822
+ *
823
+ * Preference order, so repeated boots on the same machine converge on the
824
+ * same install:
825
+ * 1. installs whose reported playwriter version matches the BUNDLED one
826
+ * (ours is the freshest install VisionClaw itself manages);
827
+ * 2. highest playwriter version;
828
+ * 3. lexicographically smallest stableKey (pure tie-break).
829
+ *
830
+ * Emits a LOUD warning listing every connected install so the duplicate gets
831
+ * cleaned up eventually -- auto-pinning unblocks browsing but the extra
832
+ * install keeps consuming a relay socket.
833
+ */
834
+ function autoSelectStableKeyAmongDuplicates(liveExtensions, cached) {
835
+ // Best (highest) reported version per distinct install.
836
+ const byKey = new Map();
837
+ for (const ext of liveExtensions) {
838
+ if (!ext.stableKey)
839
+ continue;
840
+ if (!byKey.has(ext.stableKey) || comparePlaywriterVersions(ext.playwriterVersion, byKey.get(ext.stableKey)) > 0) {
841
+ byKey.set(ext.stableKey, ext.playwriterVersion);
842
+ }
843
+ }
844
+ if (byKey.size === 0)
845
+ return undefined;
846
+ const bundled = getBundledPlaywriterVersion();
847
+ const ranked = [...byKey.entries()].sort((a, b) => {
848
+ const aBundled = bundled !== undefined && a[1] === bundled ? 1 : 0;
849
+ const bBundled = bundled !== undefined && b[1] === bundled ? 1 : 0;
850
+ if (aBundled !== bBundled)
851
+ return bBundled - aBundled;
852
+ const byVersion = comparePlaywriterVersions(a[1], b[1]);
853
+ if (byVersion !== 0)
854
+ return -byVersion;
855
+ return a[0] < b[0] ? -1 : 1;
856
+ });
857
+ const chosen = ranked[0][0];
858
+ const listing = [...byKey.entries()]
859
+ .map(([key, version]) => `${key} (playwriter ${version ?? "unknown"})`)
860
+ .join(", ");
861
+ const deadCacheNote = cached !== undefined && !byKey.has(cached)
862
+ ? ` The previously pinned key ${cached} is no longer live -- re-pinning.`
863
+ : "";
864
+ logger.warn(`Playwriter: ${byKey.size} distinct extension installs are connected to the relay -- `
865
+ + `auto-pinning ${chosen} (prefer bundled playwriter ${bundled ?? "unknown"}, then highest version).${deadCacheNote} `
866
+ + `Connected installs: ${listing}. `
867
+ + `Remove the Playwriter extension from all but one Chrome install/profile to resolve this permanently.`);
868
+ return chosen;
869
+ }
760
870
  /**
761
871
  * Pick which stableKey (if any) the CDP endpoint should be pinned to. See
762
872
  * {@link resolveRelayCdpEndpoint} for the full rationale of each arm. The
@@ -764,16 +874,37 @@ export async function resolveRelayCdpEndpoint(host = "127.0.0.1", port = 19988)
764
874
  * stableKeys) deliberately stays unpinned: a pinned key the relay cannot match
765
875
  * fails hard with `4003 Unknown extensionId`, while the bare single-socket
766
876
  * fallback works there.
877
+ *
878
+ * With MULTIPLE distinct stableKeys attached, a cached key that is still live
879
+ * wins (it marks the install a past unambiguous observation proved is ours);
880
+ * otherwise one install is auto-selected deterministically
881
+ * ({@link autoSelectStableKeyAmongDuplicates}) instead of giving up -- a bare
882
+ * endpoint can NEVER resolve against duplicate installs, so "stay bare" was a
883
+ * guaranteed permanent failure, not a safe fallback.
767
884
  */
768
885
  function selectPinnedStableKey(diagnosis) {
769
- if (diagnosis.stableKeys.length === 1)
770
- return diagnosis.stableKeys[0];
771
- const cached = readCachedRelayStableKey();
772
- if (!cached)
773
- return undefined;
774
886
  if (diagnosis.connectedIds.length === 0)
887
+ return readCachedRelayStableKey();
888
+ return selectLivePinTarget(diagnosis);
889
+ }
890
+ /**
891
+ * Shared live-observation pin selection (no zero-socket cache arm -- that arm
892
+ * belongs only to the boot-time resolve, where "nothing connected yet" is the
893
+ * ordinary lazy-launch state):
894
+ * - exactly one distinct stableKey -> pin it;
895
+ * - none reported -> stay unpinned (pre-stableKey relay);
896
+ * - several -> the cached key if it is still live, else deterministic
897
+ * auto-select ({@link autoSelectStableKeyAmongDuplicates}).
898
+ */
899
+ function selectLivePinTarget(live) {
900
+ if (live.stableKeys.length === 1)
901
+ return live.stableKeys[0];
902
+ if (live.stableKeys.length === 0)
903
+ return undefined;
904
+ const cached = readCachedRelayStableKey();
905
+ if (cached !== undefined && live.stableKeys.includes(cached))
775
906
  return cached;
776
- return diagnosis.stableKeys.includes(cached) ? cached : undefined;
907
+ return autoSelectStableKeyAmongDuplicates(live.liveExtensions, cached);
777
908
  }
778
909
  export function getRelayMcpConfigPath() {
779
910
  return path.join(getConfigDir(), "playwright-mcp-relay-config.json");
@@ -791,21 +922,21 @@ export function getRelayMcpConfigPath() {
791
922
  * a pinned connect to the old key fails hard with `4003 Unknown extensionId`).
792
923
  *
793
924
  * Called from the browser-tool path, which has already probed the relay -- the
794
- * caller passes that diagnosis' distinct stableKeys so no extra probe runs.
795
- * Best-effort and non-throwing; no-op when the key is ambiguous (multiple
796
- * installs, none cached) or the config file is absent (playwright backend).
925
+ * caller passes that diagnosis so no extra probe runs. Best-effort and
926
+ * non-throwing; no-op when no live install reports a stableKey (pre-stableKey
927
+ * relay) or the config file is absent (playwright backend). With multiple
928
+ * distinct installs attached the pin target is auto-selected
929
+ * ({@link selectLivePinTarget}) rather than skipped -- this is the tool-time
930
+ * half of the duplicate-install heal, and writing the cache here is what makes
931
+ * it permanent (the exactly-one gate used to make the cache unwritable on such
932
+ * machines).
797
933
  */
798
- export function syncPinnedRelayEndpointConfig(host, port, liveStableKeys) {
934
+ export function syncPinnedRelayEndpointConfig(host, port, live) {
799
935
  try {
800
936
  // Only live keys count here (unlike the boot-time resolve, there is no
801
937
  // zero-socket cache arm: rewriting the frozen file is only worth doing on
802
- // a fresh, unambiguous observation).
803
- const cached = readCachedRelayStableKey();
804
- const target = liveStableKeys.length === 1
805
- ? liveStableKeys[0]
806
- : cached && liveStableKeys.includes(cached)
807
- ? cached
808
- : undefined;
938
+ // a fresh observation).
939
+ const target = selectLivePinTarget(live);
809
940
  if (!target)
810
941
  return;
811
942
  writeCachedRelayStableKey(target);
@@ -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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"}
@@ -20829,7 +20829,7 @@ var require_prompts3 = __commonJS({
20829
20829
 
20830
20830
  // dist/utils/version-check.js
20831
20831
  function isBundled() {
20832
- const v16 = "0.1.206-beta.19";
20832
+ const v16 = "0.1.206-beta.20";
20833
20833
  return typeof v16 === "string" && v16 !== "undefined";
20834
20834
  }
20835
20835
  function getPackageRoot() {
@@ -20846,7 +20846,7 @@ function getInstallationInfo() {
20846
20846
  };
20847
20847
  }
20848
20848
  function getCurrentVersion() {
20849
- const bundledVersion = "0.1.206-beta.19";
20849
+ const bundledVersion = "0.1.206-beta.20";
20850
20850
  if (bundledVersion && bundledVersion !== "undefined") {
20851
20851
  return bundledVersion;
20852
20852
  }
@@ -990461,7 +990461,7 @@ var init_browser_launcher = __esm({
990461
990461
 
990462
990462
  // dist/utils/playwriter-relay.js
990463
990463
  function isBundled2() {
990464
- const v16 = "0.1.206-beta.19";
990464
+ const v16 = "0.1.206-beta.20";
990465
990465
  return typeof v16 === "string" && v16 !== "undefined";
990466
990466
  }
990467
990467
  function resolveRelayEntryPath() {
@@ -990587,7 +990587,7 @@ function selectAndPruneCanonicalRelay(matches, expectedEntry) {
990587
990587
  return canonical;
990588
990588
  }
990589
990589
  function pm2Start(entryPath, host, port) {
990590
- const versionStr = "0.1.206-beta.19";
990590
+ const versionStr = "0.1.206-beta.20";
990591
990591
  (0, import_node_child_process19.execFileSync)("pm2", ["start", entryPath, "--name", PM2_PROCESS_NAME, "--update-env"], {
990592
990592
  encoding: "utf-8",
990593
990593
  stdio: "pipe",
@@ -990613,7 +990613,7 @@ function pm2Delete() {
990613
990613
  }
990614
990614
  }
990615
990615
  function pm2Restart(host, port) {
990616
- const versionStr = "0.1.206-beta.19";
990616
+ const versionStr = "0.1.206-beta.20";
990617
990617
  (0, import_node_child_process19.execFileSync)("pm2", ["restart", PM2_PROCESS_NAME, "--update-env"], {
990618
990618
  encoding: "utf-8",
990619
990619
  stdio: "pipe",
@@ -990813,6 +990813,7 @@ async function getPlaywriterRelayStatus(host = "127.0.0.1", port = 19988) {
990813
990813
  async function getRelayExtensionDiagnosis(host = "127.0.0.1", port = 19988) {
990814
990814
  let connectedIds = [];
990815
990815
  let stableKeys = [];
990816
+ let liveExtensions = [];
990816
990817
  let identities = [];
990817
990818
  try {
990818
990819
  const response = await fetch(`${getRelayBaseUrl(host, port)}/extensions/status`, {
@@ -990823,6 +990824,7 @@ async function getRelayExtensionDiagnosis(host = "127.0.0.1", port = 19988) {
990823
990824
  kind: "unreachable",
990824
990825
  connectedIds: [],
990825
990826
  stableKeys: [],
990827
+ liveExtensions: [],
990826
990828
  message: `Relay reachable but /extensions/status returned HTTP ${response.status}`
990827
990829
  };
990828
990830
  }
@@ -990830,6 +990832,11 @@ async function getRelayExtensionDiagnosis(host = "127.0.0.1", port = 19988) {
990830
990832
  const entries = Array.isArray(body.extensions) ? body.extensions : [];
990831
990833
  connectedIds = entries.map((e11) => typeof e11.extensionId === "string" ? e11.extensionId : "").filter((id3) => id3.length > 0);
990832
990834
  stableKeys = Array.from(new Set(entries.map((e11) => typeof e11.stableKey === "string" ? e11.stableKey : "").filter((k14) => k14.length > 0)));
990835
+ liveExtensions = entries.map((e11) => ({
990836
+ extensionId: typeof e11.extensionId === "string" ? e11.extensionId : "",
990837
+ stableKey: typeof e11.stableKey === "string" && e11.stableKey.length > 0 ? e11.stableKey : void 0,
990838
+ playwriterVersion: typeof e11.playwriterVersion === "string" && e11.playwriterVersion.length > 0 ? e11.playwriterVersion : void 0
990839
+ })).filter((e11) => e11.extensionId.length > 0);
990833
990840
  identities = Array.from(new Set(entries.map((e11) => {
990834
990841
  const key = typeof e11.stableKey === "string" && e11.stableKey.length > 0 ? e11.stableKey : typeof e11.extensionId === "string" ? e11.extensionId : "";
990835
990842
  return key;
@@ -990839,6 +990846,7 @@ async function getRelayExtensionDiagnosis(host = "127.0.0.1", port = 19988) {
990839
990846
  kind: "unreachable",
990840
990847
  connectedIds: [],
990841
990848
  stableKeys: [],
990849
+ liveExtensions: [],
990842
990850
  message: "Relay unreachable while diagnosing extension connection"
990843
990851
  };
990844
990852
  }
@@ -990847,6 +990855,7 @@ async function getRelayExtensionDiagnosis(host = "127.0.0.1", port = 19988) {
990847
990855
  kind: "none",
990848
990856
  connectedIds,
990849
990857
  stableKeys,
990858
+ liveExtensions,
990850
990859
  message: "No extension connected \uFFFD automation Chrome has not loaded the Playwriter extension yet"
990851
990860
  };
990852
990861
  }
@@ -990856,6 +990865,7 @@ async function getRelayExtensionDiagnosis(host = "127.0.0.1", port = 19988) {
990856
990865
  kind: "ok",
990857
990866
  connectedIds,
990858
990867
  stableKeys,
990868
+ liveExtensions,
990859
990869
  message: `Exactly one extension install connected (${connectedIds[0]})${overlap}`
990860
990870
  };
990861
990871
  }
@@ -990863,6 +990873,7 @@ async function getRelayExtensionDiagnosis(host = "127.0.0.1", port = 19988) {
990863
990873
  kind: "multiple",
990864
990874
  connectedIds,
990865
990875
  stableKeys,
990876
+ liveExtensions,
990866
990877
  message: `Multiple distinct extensions connected (${identities.length}); expected exactly one. Identities: ${identities.join(", ")}`
990867
990878
  };
990868
990879
  }
@@ -990902,23 +990913,83 @@ async function resolveRelayCdpEndpoint(host = "127.0.0.1", port = 19988) {
990902
990913
  }
990903
990914
  return bare;
990904
990915
  }
990905
- function selectPinnedStableKey(diagnosis) {
990906
- if (diagnosis.stableKeys.length === 1)
990907
- return diagnosis.stableKeys[0];
990908
- const cached4 = readCachedRelayStableKey();
990909
- if (!cached4)
990916
+ function comparePlaywriterVersions(a12, b14) {
990917
+ if (a12 === b14)
990918
+ return 0;
990919
+ if (a12 === void 0)
990920
+ return -1;
990921
+ if (b14 === void 0)
990922
+ return 1;
990923
+ const pa2 = a12.split(/[.-]/);
990924
+ const pb2 = b14.split(/[.-]/);
990925
+ const len = Math.max(pa2.length, pb2.length);
990926
+ for (let i12 = 0; i12 < len; i12++) {
990927
+ const sa2 = i12 < pa2.length ? pa2[i12] : void 0;
990928
+ const sb2 = i12 < pb2.length ? pb2[i12] : void 0;
990929
+ if (sa2 === void 0)
990930
+ return -1;
990931
+ if (sb2 === void 0)
990932
+ return 1;
990933
+ const na2 = Number.parseInt(sa2, 10);
990934
+ const nb2 = Number.parseInt(sb2, 10);
990935
+ if (!Number.isNaN(na2) && !Number.isNaN(nb2)) {
990936
+ if (na2 !== nb2)
990937
+ return na2 < nb2 ? -1 : 1;
990938
+ } else if (sa2 !== sb2) {
990939
+ return sa2 < sb2 ? -1 : 1;
990940
+ }
990941
+ }
990942
+ return 0;
990943
+ }
990944
+ function autoSelectStableKeyAmongDuplicates(liveExtensions, cached4) {
990945
+ const byKey = /* @__PURE__ */ new Map();
990946
+ for (const ext2 of liveExtensions) {
990947
+ if (!ext2.stableKey)
990948
+ continue;
990949
+ if (!byKey.has(ext2.stableKey) || comparePlaywriterVersions(ext2.playwriterVersion, byKey.get(ext2.stableKey)) > 0) {
990950
+ byKey.set(ext2.stableKey, ext2.playwriterVersion);
990951
+ }
990952
+ }
990953
+ if (byKey.size === 0)
990910
990954
  return void 0;
990955
+ const bundled = getBundledPlaywriterVersion();
990956
+ const ranked = [...byKey.entries()].sort((a12, b14) => {
990957
+ const aBundled = bundled !== void 0 && a12[1] === bundled ? 1 : 0;
990958
+ const bBundled = bundled !== void 0 && b14[1] === bundled ? 1 : 0;
990959
+ if (aBundled !== bBundled)
990960
+ return bBundled - aBundled;
990961
+ const byVersion = comparePlaywriterVersions(a12[1], b14[1]);
990962
+ if (byVersion !== 0)
990963
+ return -byVersion;
990964
+ return a12[0] < b14[0] ? -1 : 1;
990965
+ });
990966
+ const chosen = ranked[0][0];
990967
+ const listing = [...byKey.entries()].map(([key, version6]) => `${key} (playwriter ${version6 ?? "unknown"})`).join(", ");
990968
+ const deadCacheNote = cached4 !== void 0 && !byKey.has(cached4) ? ` The previously pinned key ${cached4} is no longer live -- re-pinning.` : "";
990969
+ logger.warn(`Playwriter: ${byKey.size} distinct extension installs are connected to the relay -- auto-pinning ${chosen} (prefer bundled playwriter ${bundled ?? "unknown"}, then highest version).${deadCacheNote} Connected installs: ${listing}. Remove the Playwriter extension from all but one Chrome install/profile to resolve this permanently.`);
990970
+ return chosen;
990971
+ }
990972
+ function selectPinnedStableKey(diagnosis) {
990911
990973
  if (diagnosis.connectedIds.length === 0)
990974
+ return readCachedRelayStableKey();
990975
+ return selectLivePinTarget(diagnosis);
990976
+ }
990977
+ function selectLivePinTarget(live) {
990978
+ if (live.stableKeys.length === 1)
990979
+ return live.stableKeys[0];
990980
+ if (live.stableKeys.length === 0)
990981
+ return void 0;
990982
+ const cached4 = readCachedRelayStableKey();
990983
+ if (cached4 !== void 0 && live.stableKeys.includes(cached4))
990912
990984
  return cached4;
990913
- return diagnosis.stableKeys.includes(cached4) ? cached4 : void 0;
990985
+ return autoSelectStableKeyAmongDuplicates(live.liveExtensions, cached4);
990914
990986
  }
990915
990987
  function getRelayMcpConfigPath() {
990916
990988
  return import_node_path45.default.join(getConfigDir(), "playwright-mcp-relay-config.json");
990917
990989
  }
990918
- function syncPinnedRelayEndpointConfig(host, port, liveStableKeys) {
990990
+ function syncPinnedRelayEndpointConfig(host, port, live) {
990919
990991
  try {
990920
- const cached4 = readCachedRelayStableKey();
990921
- const target = liveStableKeys.length === 1 ? liveStableKeys[0] : cached4 && liveStableKeys.includes(cached4) ? cached4 : void 0;
990992
+ const target = selectLivePinTarget(live);
990922
990993
  if (!target)
990923
990994
  return;
990924
990995
  writeCachedRelayStableKey(target);
@@ -991011,7 +991082,7 @@ async function reconcilePlaywriterRelay(host = "127.0.0.1", port = 19988) {
991011
991082
  pm2Restart(host, port);
991012
991083
  return;
991013
991084
  }
991014
- const currentVersion = "0.1.206-beta.19";
991085
+ const currentVersion = "0.1.206-beta.20";
991015
991086
  if (currentEnv.VISIONCLAW_VERSION && currentEnv.VISIONCLAW_VERSION !== currentVersion) {
991016
991087
  if (!await ensureRelayPortAvailable(host, port, current, "recreate after a version change"))
991017
991088
  return;
@@ -991232,7 +991303,7 @@ async function ensureBrowserForTool(options2) {
991232
991303
  if (diagnosis2.kind === "multiple") {
991233
991304
  logger.system(`Playwriter: relay still reports >1 extension after settle wait (${diagnosis2.message}); proceeding \u2014 the connect may need one retry`);
991234
991305
  }
991235
- syncPinnedRelayEndpointConfig(host, port, diagnosis2.stableKeys);
991306
+ syncPinnedRelayEndpointConfig(host, port, diagnosis2);
991236
991307
  logger.debug("Playwriter extension already connected \u2014 skipping Chrome restart");
991237
991308
  return { playwriterConnectionsResetThisTurn: options2.playwriterConnectionsResetThisTurn };
991238
991309
  }
@@ -991241,7 +991312,7 @@ async function ensureBrowserForTool(options2) {
991241
991312
  if (diagnosis.connectedIds.length !== 1) {
991242
991313
  logger.system(`Playwriter: relay did not settle to a single extension socket after launch (${diagnosis.kind}: ${diagnosis.message}); proceeding \u2014 the connect may need one retry`);
991243
991314
  }
991244
- syncPinnedRelayEndpointConfig(host, port, diagnosis.stableKeys);
991315
+ syncPinnedRelayEndpointConfig(host, port, diagnosis);
991245
991316
  return { playwriterConnectionsResetThisTurn: options2.playwriterConnectionsResetThisTurn || didReset };
991246
991317
  }
991247
991318
  await ensureBrowser();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "visionclaw",
3
- "version": "0.1.206-beta.19",
3
+ "version": "0.1.206-beta.20",
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",