visionclaw 0.1.216-beta.4 → 0.1.216-beta.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.
@@ -1 +1 @@
1
- {"version":3,"file":"browser-launcher.d.ts","sourceRoot":"","sources":["../../src/agent/browser-launcher.ts"],"names":[],"mappings":"AAOA,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAiC3D,wBAAgB,yBAAyB,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,CAErF;AAED,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAEhE;AAED,qEAAqE;AACrE,wBAAgB,mBAAmB,CAAC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,MAAM,CAExF;AAkFD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,aAAc,CAAC;AAMhD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,GAAE,MAAiC,GAAG,MAAM,CAWnF;AAqGD,wBAAsB,aAAa,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoC5E;AAED,wBAAsB,cAAc,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAM7E"}
1
+ {"version":3,"file":"browser-launcher.d.ts","sourceRoot":"","sources":["../../src/agent/browser-launcher.ts"],"names":[],"mappings":"AAOA,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAiC3D,wBAAgB,yBAAyB,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,CAErF;AAED,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAEhE;AAED,qEAAqE;AACrE,wBAAgB,mBAAmB,CAAC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,MAAM,CAExF;AAkFD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,aAAc,CAAC;AAMhD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,GAAE,MAAiC,GAAG,MAAM,CAWnF;AA4HD,wBAAsB,aAAa,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoC5E;AAED,wBAAsB,cAAc,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAM7E"}
@@ -5,7 +5,7 @@ import path from "node:path";
5
5
  import { getFingerprintProfileDir, getFingerprintSeedPath, getPlaywrightProfileDir } from "../config/index.js";
6
6
  import { logger } from "../logger.js";
7
7
  import { getHostCapabilities } from "../system/host-capabilities.js";
8
- import { describeBrowserSelection, resolveBrowserSelection, } from "./browser-selection.js";
8
+ import { describeBrowserSelection, readBrowserVersion, resolveBrowserSelection, } from "./browser-selection.js";
9
9
  const STOCK_CDP_PORT = 9222;
10
10
  const FINGERPRINT_CDP_PORT = 9333;
11
11
  const CDP_STARTUP_TIMEOUT_MS = 8_000;
@@ -145,6 +145,29 @@ export function fingerprintSeed(seedPath = getFingerprintSeedPath()) {
145
145
  fs.writeFileSync(seedPath, `${seed}\n`, { mode: 0o600 });
146
146
  return seed;
147
147
  }
148
+ /**
149
+ * `--fingerprint-brand` + `--fingerprint-brand-version`, or nothing.
150
+ *
151
+ * Without them the UA says Chrome/153 while sec-ch-ua says "Chromium";v="144":
152
+ * a contradiction no real browser produces, so it is itself a fingerprinting
153
+ * signal. Packet-verified on the host carrying the 153 binary — passing both
154
+ * makes sec-ch-ua report "Google Chrome";v="153", "Chromium";v="153".
155
+ *
156
+ * The two must be emitted as a PAIR. Negative control on the same host: the
157
+ * version alone, without the brand, still reports 144. So a missing version
158
+ * means neither flag ships, never the brand on its own.
159
+ *
160
+ * The version is read from the binary rather than pinned here, because a
161
+ * constant in this repo silently drifts the moment the shipped binary changes.
162
+ */
163
+ function fingerprintBrandFlags(executablePath) {
164
+ if (!executablePath)
165
+ return [];
166
+ const version = readBrowserVersion(executablePath);
167
+ if (!version)
168
+ return [];
169
+ return [`--fingerprint-brand=chrome`, `--fingerprint-brand-version=${version}`];
170
+ }
148
171
  function launchFlags(selection) {
149
172
  const engine = selection.engine;
150
173
  const flags = [
@@ -162,6 +185,7 @@ function launchFlags(selection) {
162
185
  // given (011-gpu-info.patch). UA-CH keeps the real platform unless this
163
186
  // flag is set. Always pass the host so the two surfaces agree.
164
187
  flags.push(`--fingerprint-platform=${fingerprintPlatform()}`);
188
+ flags.push(...fingerprintBrandFlags(selection.executablePath));
165
189
  }
166
190
  if (isVirtualMachine()) {
167
191
  flags.push("--disable-gpu", "--disable-software-rasterizer");
@@ -1 +1 @@
1
- {"version":3,"file":"browser-launcher.js","sourceRoot":"","sources":["../../src/agent/browser-launcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC/G,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GAGxB,MAAM,wBAAwB,CAAC;AAGhC,MAAM,cAAc,GAAG,IAAI,CAAC;AAC5B,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAClC,MAAM,sBAAsB,GAAG,KAAK,CAAC;AACrC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AACpC,MAAM,YAAY,GAAG,KAAK,CAAC;AAE3B,IAAI,eAA6C,CAAC;AAElD,SAAS,gBAAgB;IACvB,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAChD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,QAAQ,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3E,OAAO,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,MAAqB;IACvC,OAAO,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,cAAc,CAAC;AAC1E,CAAC;AAED,SAAS,OAAO,CAAC,MAAqB;IACpC,OAAO,oBAAoB,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,aAAa,CAAC,MAAqB;IAC1C,OAAO,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAAyB;IACjE,OAAO,eAAe,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAyB;IACtD,OAAO,OAAO,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,mBAAmB,CAAC,WAA4B,OAAO,CAAC,QAAQ;IAC9E,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,MAAqB;IAC7C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAQD,KAAK,UAAU,cAAc,CAAC,MAAqB;IACjD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjG,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAC1B,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAgB,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,MAAqB;IAClD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,GAAG,KAAK,iBAAiB,EAAE,CAAC;YAC7E,MAAM,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,EAAE,mBAAmB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAChE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAqB;IACtD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAC/C,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,yCAAyC,IAAI,GAAG,EAAE;YACxE,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,OAAO,MAAM;aACV,KAAK,CAAC,OAAO,CAAC;aACd,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACb,IAAI,CAAC,QAAQ,CAAC,2BAA2B,IAAI,EAAE,CAAC;eAC7C,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAC/B,CAAC;IACN,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,MAAqB;IACvC,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAClE,QAAQ,CAAC,wCAAwC,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjF,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,oEAAoE;IACtE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,MAAqB;IAC9C,UAAU,CAAC,MAAM,CAAC,CAAC;IACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC;IAC3C,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;YAAE,OAAO;QACxC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,uCAAuC,YAAY,sBAAsB,CAAC,CAAC;AACzF,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAC;AAEhD,SAAS,qBAAqB;IAC5B,OAAO,SAAS,CAAC,CAAC,EAAE,oBAAoB,GAAG,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,WAAmB,sBAAsB,EAAE;IACzE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACjE,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,oBAAoB;YAAE,OAAO,MAAM,CAAC;IAC/F,CAAC;IAAC,MAAM,CAAC;QACP,wCAAwC;IAC1C,CAAC;IACD,MAAM,IAAI,GAAG,qBAAqB,EAAE,CAAC;IACrC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,SAA2B;IAC9C,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IAChC,MAAM,KAAK,GAAG;QACZ,2BAA2B,UAAU,CAAC,MAAM,CAAC,EAAE;QAC/C,mBAAmB,aAAa,CAAC,MAAM,CAAC,EAAE;QAC1C,gBAAgB;QAChB,4BAA4B;QAC5B,6BAA6B;KAC9B,CAAC;IACF,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;QAC7B,uEAAuE;QACvE,4DAA4D;QAC5D,KAAK,CAAC,IAAI,CAAC,iBAAiB,eAAe,EAAE,EAAE,CAAC,CAAC;QACjD,2EAA2E;QAC3E,wEAAwE;QACxE,+DAA+D;QAC/D,KAAK,CAAC,IAAI,CAAC,0BAA0B,mBAAmB,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,gBAAgB,EAAE,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,+BAA+B,CAAC,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,kDAAkD,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACtC,IAAI,MAAM,KAAK,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,qBAAqB,EAAE,CAAC;YACrF,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;YAC5C,MAAM,CAAC,MAAM,CACX,sFAAsF,CACvF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,SAA2B;IACtD,MAAM,YAAY,GAAG,mBAAmB,EAAE,CAAC;IAC3C,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QACtE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IAChC,IAAI,MAAM,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,MAAM,CACX,yBAAyB,UAAU,CAAC,MAAM,CAAC,uDAAuD,CACnG,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,sBAAsB,CAAC;QACrD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC;YAC9D,IAAI,MAAM,UAAU,CAAC,MAAM,CAAC;gBAAE,OAAO,KAAK,CAAC;QAC7C,CAAC;QACD,MAAM,CAAC,IAAI,CACT,kCAAkC,UAAU,CAAC,MAAM,CAAC,yBAAyB,sBAAsB,IAAI,CACxG,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,cAAc,CAAC;IAC5C,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CACT,SAAS,CAAC,MAAM,KAAK,yBAAyB;YAC5C,CAAC,CAAC,uEAAuE;YACzE,CAAC,CAAC,wBAAwB,UAAU,IAAI,SAAS,GAAG,CACvD,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE;QACrC,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,QAAQ;QACf,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QACxB,MAAM,CAAC,IAAI,CAAC,0BAA0B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,KAAK,EAAE,CAAC;IAEd,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,sBAAsB,CAAC;IACrD,GAAG,CAAC;QACF,IAAI,MAAM,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,MAAM,CACX,GAAG,wBAAwB,CAAC,SAAS,CAAC,kCAAkC,UAAU,CAAC,MAAM,CAAC,EAAE,CAC7F,CAAC;YACF,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ;YAAE,MAAM;QAClC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAChE,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE;IAEhC,MAAM,CAAC,IAAI,CACT,wDAAwD,sBAAsB,IAAI,CACnF,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAyB;IAC3D,MAAM,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAClD,eAAe,GAAG,SAAS,CAAC;IAC5B,4EAA4E;IAC5E,qEAAqE;IACrE,MAAM,KAAK,GAAkB,SAAS,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;IAC1F,IAAI,yBAAyB,CAAC,KAAK,CAAC,IAAI,MAAM,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,MAAM,CACX,YAAY,KAAK,wBAAwB,UAAU,CAAC,KAAK,CAAC,wBAAwB,SAAS,CAAC,MAAM,EAAE,CACrG,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,yBAAyB,EAAE,CAAC;QACnD,MAAM,CAAC,MAAM,CACX,4DAA4D,SAAS,CAAC,cAAc,GAAG,CACxF,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,2CAA2C,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC;IACxF,CAAC;SAAM,IAAI,SAAS,CAAC,MAAM,KAAK,qBAAqB,EAAE,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,yCAAyC,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,CAAC;QACH,IAAI,MAAM,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,IAAI,MAAM,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5C,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;gBACpD,OAAO;YACT,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YAC/D,MAAM,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CACT,6BAA6B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAChF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAyB;IAC5D,MAAM,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAClD,eAAe,GAAG,SAAS,CAAC;IAC5B,MAAM,CAAC,MAAM,CAAC,4CAA4C,CAAC,CAAC;IAC5D,MAAM,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"browser-launcher.js","sourceRoot":"","sources":["../../src/agent/browser-launcher.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,25 @@ export interface BrowserSelection {
16
16
  /** True when the selected binary exists on disk. */
17
17
  available: boolean;
18
18
  }
19
+ /**
20
+ * Read a browser's own version, e.g. `Chromium 153.0.8010.36` -> `153.0.8010.36`.
21
+ *
22
+ * Asking the binary is the only way to stay in sync with whatever is actually
23
+ * installed; a version constant in this repo drifts the moment the shipped
24
+ * binary changes.
25
+ */
26
+ export declare function parseBrowserVersion(output: string): string | undefined;
27
+ export declare function readBrowserVersion(executablePath: string): string | undefined;
28
+ /**
29
+ * A path that exists is not a browser.
30
+ *
31
+ * `fs.existsSync` alone also accepts a directory and a truncated download, and
32
+ * both were measured to pass as "fingerprint browser available" — after which
33
+ * every launch fails and the host simply has no browser. Require a regular
34
+ * file carrying an executable bit, then make the binary prove itself by
35
+ * printing a version.
36
+ */
37
+ export declare function isUsableBrowserExecutable(candidate: string): boolean;
19
38
  export declare function findFingerprintExecutable(config?: Pick<VisionClawConfig, "browser">, env?: NodeJS.ProcessEnv, platform?: NodeJS.Platform): string | undefined;
20
39
  export declare function parseBrowserEngine(raw: string): BrowserEngine | undefined;
21
40
  export declare function wantsStockChrome(config?: Pick<VisionClawConfig, "browser">, env?: NodeJS.ProcessEnv): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"browser-selection.d.ts","sourceRoot":"","sources":["../../src/agent/browser-selection.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,OAAO,CAAC;AAEpD,MAAM,MAAM,sBAAsB,GAC9B,qBAAqB,GACrB,aAAa,GACb,yBAAyB,GACzB,yBAAyB,CAAC;AAE9B,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,aAAa,CAAC;IACtB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,MAAM,EAAE,sBAAsB,CAAC;IAC/B,oDAAoD;IACpD,SAAS,EAAE,OAAO,CAAC;CACpB;AAaD,wBAAgB,yBAAyB,CACvC,MAAM,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAC1C,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,GAAG,SAAS,CAUpB;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAKzE;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAC1C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAGT;AAED,wBAAgB,uBAAuB,CACrC,MAAM,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAC1C,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,gBAAgB,CAiClB;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,gBAAgB,GAAG,MAAM,CAW5E"}
1
+ {"version":3,"file":"browser-selection.d.ts","sourceRoot":"","sources":["../../src/agent/browser-selection.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,OAAO,CAAC;AAEpD,MAAM,MAAM,sBAAsB,GAC9B,qBAAqB,GACrB,aAAa,GACb,yBAAyB,GACzB,yBAAyB,CAAC;AAK9B,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,aAAa,CAAC;IACtB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,MAAM,EAAE,sBAAsB,CAAC;IAC/B,oDAAoD;IACpD,SAAS,EAAE,OAAO,CAAC;CACpB;AAaD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEtE;AAED,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAW7E;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAQpE;AAED,wBAAgB,yBAAyB,CACvC,MAAM,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAC1C,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,GAAG,SAAS,CAapB;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAKzE;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAC1C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAGT;AAED,wBAAgB,uBAAuB,CACrC,MAAM,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAC1C,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,gBAAgB,CAiClB;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,gBAAgB,GAAG,MAAM,CAW5E"}
@@ -6,8 +6,11 @@
6
6
  * VISIONCLAW_BROWSER=stock). Missing fingerprint binary never pretends to be
7
7
  * fingerprint — we use stock Chrome and say so.
8
8
  */
9
+ import { execFileSync } from "node:child_process";
9
10
  import fs from "node:fs";
10
11
  import { findChromeExecutable } from "../system/host-capabilities.js";
12
+ /** A browser that cannot print its version in a second is not usable. */
13
+ const VERSION_PROBE_TIMEOUT_MS = 1_000;
11
14
  const LINUX_FINGERPRINT_CANDIDATES = [
12
15
  "/opt/fingerprint-chromium/chrome",
13
16
  "/usr/lib/fingerprint-chromium/chrome",
@@ -17,17 +20,63 @@ const DARWIN_FINGERPRINT_CANDIDATES = [
17
20
  "/Applications/Fingerprint Chromium.app/Contents/MacOS/Chromium",
18
21
  "/Applications/Fingerprint Chromium.app/Contents/MacOS/chrome",
19
22
  ];
23
+ /**
24
+ * Read a browser's own version, e.g. `Chromium 153.0.8010.36` -> `153.0.8010.36`.
25
+ *
26
+ * Asking the binary is the only way to stay in sync with whatever is actually
27
+ * installed; a version constant in this repo drifts the moment the shipped
28
+ * binary changes.
29
+ */
30
+ export function parseBrowserVersion(output) {
31
+ return /\b(\d+\.\d+\.\d+\.\d+)\b/.exec(output)?.[1];
32
+ }
33
+ export function readBrowserVersion(executablePath) {
34
+ try {
35
+ const output = execFileSync(executablePath, ["--version"], {
36
+ timeout: VERSION_PROBE_TIMEOUT_MS,
37
+ encoding: "utf-8",
38
+ stdio: ["ignore", "pipe", "ignore"],
39
+ });
40
+ return parseBrowserVersion(output);
41
+ }
42
+ catch {
43
+ return undefined;
44
+ }
45
+ }
46
+ /**
47
+ * A path that exists is not a browser.
48
+ *
49
+ * `fs.existsSync` alone also accepts a directory and a truncated download, and
50
+ * both were measured to pass as "fingerprint browser available" — after which
51
+ * every launch fails and the host simply has no browser. Require a regular
52
+ * file carrying an executable bit, then make the binary prove itself by
53
+ * printing a version.
54
+ */
55
+ export function isUsableBrowserExecutable(candidate) {
56
+ try {
57
+ if (!fs.statSync(candidate).isFile())
58
+ return false;
59
+ fs.accessSync(candidate, fs.constants.X_OK);
60
+ }
61
+ catch {
62
+ return false;
63
+ }
64
+ return readBrowserVersion(candidate) !== undefined;
65
+ }
20
66
  export function findFingerprintExecutable(config, env = process.env, platform = process.platform) {
21
67
  const configured = config?.browser?.fingerprintExecutablePath?.trim()
22
68
  ?? env.FINGERPRINT_CHROMIUM_PATH?.trim();
23
- if (configured && fs.existsSync(configured))
69
+ // The configured path gets no more trust than a discovered one: a stale
70
+ // FINGERPRINT_CHROMIUM_PATH is exactly how a host ends up "configured" for a
71
+ // binary that is no longer there.
72
+ if (configured && isUsableBrowserExecutable(configured))
24
73
  return configured;
25
74
  const candidates = platform === "darwin"
26
75
  ? DARWIN_FINGERPRINT_CANDIDATES
27
76
  : platform === "linux"
28
77
  ? LINUX_FINGERPRINT_CANDIDATES
29
78
  : [];
30
- return candidates.find((candidate) => fs.existsSync(candidate));
79
+ return candidates.find((candidate) => isUsableBrowserExecutable(candidate));
31
80
  }
32
81
  export function parseBrowserEngine(raw) {
33
82
  const value = raw.trim().toLowerCase();
@@ -1 +1 @@
1
- {"version":3,"file":"browser-selection.js","sourceRoot":"","sources":["../../src/agent/browser-selection.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAmBtE,MAAM,4BAA4B,GAAG;IACnC,kCAAkC;IAClC,sCAAsC;IACtC,+BAA+B;CAChC,CAAC;AAEF,MAAM,6BAA6B,GAAG;IACpC,gEAAgE;IAChE,8DAA8D;CAC/D,CAAC;AAEF,MAAM,UAAU,yBAAyB,CACvC,MAA0C,EAC1C,MAAyB,OAAO,CAAC,GAAG,EACpC,WAA4B,OAAO,CAAC,QAAQ;IAE5C,MAAM,UAAU,GAAG,MAAM,EAAE,OAAO,EAAE,yBAAyB,EAAE,IAAI,EAAE;WAChE,GAAG,CAAC,yBAAyB,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAI,UAAU,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IAC/D,MAAM,UAAU,GAAG,QAAQ,KAAK,QAAQ;QACtC,CAAC,CAAC,6BAA6B;QAC/B,CAAC,CAAC,QAAQ,KAAK,OAAO;YACpB,CAAC,CAAC,4BAA4B;YAC9B,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,KAAK,KAAK,aAAa;QAAE,OAAO,aAAa,CAAC;IAClD,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IACjF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,MAA0C,EAC1C,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,MAAM,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACvF,OAAO,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,OAAO,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,MAA0C,EAC1C,MAAyB,OAAO,CAAC,GAAG,EACpC,WAA4B,OAAO,CAAC,QAAQ;IAE5C,MAAM,SAAS,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;QAClC,OAAO;YACL,MAAM,EAAE,OAAO;YACf,cAAc,EAAE,SAAS;YACzB,MAAM,EAAE,aAAa;YACrB,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;SAC9B,CAAC;IACJ,CAAC;IACD,MAAM,eAAe,GAAG,yBAAyB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IACzE,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO;YACL,MAAM,EAAE,aAAa;YACrB,cAAc,EAAE,eAAe;YAC/B,MAAM,EAAE,qBAAqB;YAC7B,SAAS,EAAE,IAAI;SAChB,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO;YACL,MAAM,EAAE,OAAO;YACf,cAAc,EAAE,SAAS;YACzB,MAAM,EAAE,yBAAyB;YACjC,SAAS,EAAE,IAAI;SAChB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,MAAM,EAAE,aAAa;QACrB,cAAc,EAAE,SAAS;QACzB,MAAM,EAAE,yBAAyB;QACjC,SAAS,EAAE,KAAK;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,SAA2B;IAClE,IAAI,SAAS,CAAC,MAAM,KAAK,qBAAqB,EAAE,CAAC;QAC/C,OAAO,yBAAyB,SAAS,CAAC,cAAc,GAAG,CAAC;IAC9D,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACvC,OAAO,2BAA2B,SAAS,CAAC,cAAc,IAAI,SAAS,GAAG,CAAC;IAC7E,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,yBAAyB,EAAE,CAAC;QACnD,OAAO,mDAAmD,SAAS,CAAC,cAAc,GAAG,CAAC;IACxF,CAAC;IACD,OAAO,+DAA+D,CAAC;AACzE,CAAC"}
1
+ {"version":3,"file":"browser-selection.js","sourceRoot":"","sources":["../../src/agent/browser-selection.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"browser-set-engine.d.ts","sourceRoot":"","sources":["../../src/tools/browser-set-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAmDlG;AAED,eAAO,MAAM,oBAAoB;;EAehC,CAAC"}
1
+ {"version":3,"file":"browser-set-engine.d.ts","sourceRoot":"","sources":["../../src/tools/browser-set-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CA6DlG;AAED,eAAO,MAAM,oBAAoB;;EAehC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { tool } from "@anthropic-ai/claude-agent-sdk";
3
3
  import { findFingerprintExecutable, parseBrowserEngine } from "../agent/browser-selection.js";
4
+ import { findChromeExecutable } from "../system/host-capabilities.js";
4
5
  import { getAgentState, runGracefulShutdown } from "../agent/state.js";
5
6
  import { saveConfig, writePendingRestart } from "../config/index.js";
6
7
  import { detectProcessManager, scheduleRestart } from "../utils/restart.js";
@@ -39,6 +40,15 @@ export function persistBrowserEngineAndRestart(rawEngine) {
39
40
  message: "Fingerprint Chromium is not installed (fingerprint-unavailable). Config was not changed. Stay on the current engine.",
40
41
  };
41
42
  }
43
+ // The mirror of the guard above. Writing the config and restarting into a
44
+ // host that has no Chrome leaves the agent with no browser at all, and the
45
+ // engine choice persists, so the next restart fails the same way.
46
+ if (requested === "stock" && !findChromeExecutable()) {
47
+ return {
48
+ ok: false,
49
+ message: "Stock Chrome is not installed (host-chrome-unavailable). Config was not changed. Stay on the current engine.",
50
+ };
51
+ }
42
52
  const pm = detectProcessManager();
43
53
  if (!pm) {
44
54
  return {
@@ -62,7 +72,7 @@ export function persistBrowserEngineAndRestart(rawEngine) {
62
72
  (requested === "stock" ? " When debugging is done, call browser_set_engine with fingerprint to switch back." : ""),
63
73
  };
64
74
  }
65
- export const browserSetEngineTool = tool("browser_set_engine", "Switch the Playwright browser between fingerprint Chromium (default) and stock Chrome (debug). Writes browser.engine and restarts the agent under its process manager; the choice persists across restarts. Startup then launches the selected binary and stops the other loopback CDP browser. Use stock when you need console/pageerror or fingerprint CDP is failing. When debugging is done, call this again with fingerprint to switch back. After the restart you will be told to continue the task that needed the switch. In message-driven mode there is no automatic wake after the restart: before calling this, tell the owner you are restarting and that the task continues on their next message. Do not attach an extension debugger to fingerprint. Fails without writing config when fingerprint Chromium is not installed, or when no process manager can restart the agent.", {
75
+ export const browserSetEngineTool = tool("browser_set_engine", "Switch the Playwright browser between fingerprint Chromium (default) and stock Chrome (debug). Writes browser.engine and restarts the agent under its process manager; the choice persists across restarts. Startup then launches the selected binary and stops the other loopback CDP browser. Use stock when you need console/pageerror or fingerprint CDP is failing. When debugging is done, call this again with fingerprint to switch back. After the restart you will be told to continue the task that needed the switch. In message-driven mode there is no automatic wake after the restart: before calling this, tell the owner you are restarting and that the task continues on their next message. Do not attach an extension debugger to fingerprint. Fails without writing config when the requested browser is not installed, or when no process manager can restart the agent.", {
66
76
  engine: z
67
77
  .string()
68
78
  .describe("fingerprint (default stealth Chromium) or stock (debug Chrome; aliases: chrome, debug)"),
@@ -1 +1 @@
1
- {"version":3,"file":"browser-set-engine.js","sourceRoot":"","sources":["../../src/tools/browser-set-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-set-engine.js","sourceRoot":"","sources":["../../src/tools/browser-set-engine.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/dist-agent/bundle.cjs
3
- size: 60145263 bytes
4
- sha256: b4d14d5499788eebd4a2a7bc7d0751c8d5387996d0cbbda9b3c75cc2c1930340
3
+ size: 60146744 bytes
4
+ sha256: 879f71893b700cf4c8e6b4a3966522d180b2e67a6c5f8dcfaa9f7c20d5682373
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "visionclaw",
3
- "version": "0.1.216-beta.4",
3
+ "version": "0.1.216-beta.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",