@applitools/eyes-browser 1.4.15 → 1.4.16

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/index.js CHANGED
@@ -10303,6 +10303,47 @@ var require_streams = __commonJS({
10303
10303
  }
10304
10304
  });
10305
10305
 
10306
+ // ../utils/dist/browser-process.js
10307
+ var require_browser_process = __commonJS({
10308
+ "../utils/dist/browser-process.js"(exports) {
10309
+ "use strict";
10310
+ init_process();
10311
+ init_setImmediate();
10312
+ init_buffer();
10313
+ init_setInterval();
10314
+ Object.defineProperty(exports, "__esModule", { value: true });
10315
+ exports.sh = exports.executeProcess = exports.executeAndControlProcess = exports.execute = void 0;
10316
+ var executionOutput = {
10317
+ stdout: "",
10318
+ stderr: "process execution is not supported in browser environment",
10319
+ code: 1
10320
+ };
10321
+ async function execute(command, options) {
10322
+ console.log("execute", { command, options });
10323
+ return executionOutput;
10324
+ }
10325
+ exports.execute = execute;
10326
+ async function executeAndControlProcess(command, args = [], options) {
10327
+ console.log("executeAndControlProcess", { command, args, options });
10328
+ return {
10329
+ subProcess: void 0,
10330
+ exitPromise: Promise.resolve(executionOutput)
10331
+ };
10332
+ }
10333
+ exports.executeAndControlProcess = executeAndControlProcess;
10334
+ async function executeProcess(command, args = [], options) {
10335
+ console.log("executeProcess", { command, args, options });
10336
+ return executionOutput;
10337
+ }
10338
+ exports.executeProcess = executeProcess;
10339
+ async function sh(command, options) {
10340
+ console.log("sh", { command, options });
10341
+ return executionOutput;
10342
+ }
10343
+ exports.sh = sh;
10344
+ }
10345
+ });
10346
+
10306
10347
  // ../utils/dist/browser.js
10307
10348
  var require_browser3 = __commonJS({
10308
10349
  "../utils/dist/browser.js"(exports) {
@@ -10349,7 +10390,7 @@ var require_browser3 = __commonJS({
10349
10390
  return result;
10350
10391
  };
10351
10392
  Object.defineProperty(exports, "__esModule", { value: true });
10352
- exports.streams = exports.math = exports.queues = exports.promises = exports.geometry = exports.general = exports.guard = exports.types = void 0;
10393
+ exports.process = exports.streams = exports.math = exports.queues = exports.promises = exports.geometry = exports.general = exports.guard = exports.types = void 0;
10353
10394
  __exportStar(require_utility_types(), exports);
10354
10395
  exports.types = __importStar(require_types());
10355
10396
  exports.guard = __importStar(require_guard());
@@ -10359,6 +10400,7 @@ var require_browser3 = __commonJS({
10359
10400
  exports.queues = __importStar(require_queues());
10360
10401
  exports.math = __importStar(require_math());
10361
10402
  exports.streams = __importStar(require_streams());
10403
+ exports.process = __importStar(require_browser_process());
10362
10404
  }
10363
10405
  });
10364
10406
 
@@ -11958,10 +12000,11 @@ var require_formatter = __commonJS({
11958
12000
  fatal: ["bgRed", "white"]
11959
12001
  }
11960
12002
  };
11961
- function formatter(chunks, { prelude = true, label, timestamp = /* @__PURE__ */ new Date(), level = "info", tags, colors } = {}) {
11962
- var _a;
12003
+ function formatter(chunks, { prelude = true, label, timestamp = /* @__PURE__ */ new Date(), level = "info", tags, colors, masks, maskLog } = {}) {
12004
+ var _a, _b;
11963
12005
  if (utils34.types.isBoolean(colors))
11964
12006
  colors = colors ? defaultColorTheme : void 0;
12007
+ const shouldMaskMessage = (_a = utils34.general.getEnvValue("MASK_LOG", "boolean")) !== null && _a !== void 0 ? _a : maskLog;
11965
12008
  const message = [];
11966
12009
  if (prelude) {
11967
12010
  if (label) {
@@ -11985,14 +12028,20 @@ var require_formatter = __commonJS({
11985
12028
  }
11986
12029
  if (level) {
11987
12030
  const text = level.toUpperCase().padEnd(5);
11988
- const color = (_a = colors === null || colors === void 0 ? void 0 : colors.level) === null || _a === void 0 ? void 0 : _a[level];
12031
+ const color = (_b = colors === null || colors === void 0 ? void 0 : colors.level) === null || _b === void 0 ? void 0 : _b[level];
11989
12032
  message.push(color ? (0, colorize_1.colorize)(` ${text} `, { color }) : `[${text}]`);
11990
12033
  }
11991
12034
  }
11992
12035
  if (chunks && chunks.length > 0) {
11993
12036
  const color = colors === null || colors === void 0 ? void 0 : colors.message;
11994
12037
  const strings = chunks.map((chunk) => {
11995
- return utils34.types.isString(chunk) ? (0, colorize_1.colorize)(chunk, { color }) : util_1.inspect === null || util_1.inspect === void 0 ? void 0 : (0, util_1.inspect)(chunk, { colors: Boolean(colors), compact: 5, depth: 5 });
12038
+ let text = utils34.types.isString(chunk) ? (0, colorize_1.colorize)(chunk, { color }) : util_1.inspect === null || util_1.inspect === void 0 ? void 0 : (0, util_1.inspect)(chunk, { colors: Boolean(colors), compact: 5, depth: 5 });
12039
+ if (shouldMaskMessage) {
12040
+ masks === null || masks === void 0 ? void 0 : masks.forEach((mask) => {
12041
+ text = text.replaceAll(mask, "***");
12042
+ });
12043
+ }
12044
+ return text;
11996
12045
  });
11997
12046
  message.push(strings.join(" "));
11998
12047
  }
@@ -12572,26 +12621,26 @@ var require_printer = __commonJS({
12572
12621
  Object.defineProperty(exports, "__esModule", { value: true });
12573
12622
  exports.makePrinter = void 0;
12574
12623
  var log_level_1 = require_log_level();
12575
- function makePrinter({ handler, level = log_level_1.LogLevel.silent, format }) {
12624
+ function makePrinter({ handler, level = log_level_1.LogLevel.silent, format, masks, maskLog }) {
12576
12625
  var _a;
12577
12626
  const formatter = (_a = format === null || format === void 0 ? void 0 : format.formatter) !== null && _a !== void 0 ? _a : (chunks, options) => ({ chunks, options, isRaw: true });
12578
12627
  return { debug, log, info: log, warn, error, fatal, verbose: log };
12579
12628
  function debug(...messages) {
12580
12629
  if (level < log_level_1.LogLevel.debug)
12581
12630
  return;
12582
- const options = { ...format, level: "debug" };
12631
+ const options = { ...format, level: "debug", masks, maskLog };
12583
12632
  handler.log(formatter(messages, options));
12584
12633
  }
12585
12634
  function log(...messages) {
12586
12635
  if (level < log_level_1.LogLevel.info)
12587
12636
  return;
12588
- const options = { ...format, level: "info" };
12637
+ const options = { ...format, level: "info", masks, maskLog };
12589
12638
  handler.log(formatter(messages, options));
12590
12639
  }
12591
12640
  function warn(...messages) {
12592
12641
  if (level < log_level_1.LogLevel.warn)
12593
12642
  return;
12594
- const options = { ...format, level: "warn" };
12643
+ const options = { ...format, level: "warn", masks, maskLog };
12595
12644
  if (handler.warn)
12596
12645
  handler.warn(formatter(messages, options));
12597
12646
  else
@@ -12600,7 +12649,7 @@ var require_printer = __commonJS({
12600
12649
  function error(...messages) {
12601
12650
  if (level < log_level_1.LogLevel.error)
12602
12651
  return;
12603
- const options = { ...format, level: "error" };
12652
+ const options = { ...format, level: "error", masks, maskLog };
12604
12653
  if (handler.error)
12605
12654
  handler.error(formatter(messages, options));
12606
12655
  else
@@ -12609,7 +12658,7 @@ var require_printer = __commonJS({
12609
12658
  function fatal(...messages) {
12610
12659
  if (level < log_level_1.LogLevel.fatal)
12611
12660
  return;
12612
- const options = { ...format, level: "fatal" };
12661
+ const options = { ...format, level: "fatal", masks, maskLog };
12613
12662
  if (handler.fatal)
12614
12663
  handler.fatal(formatter(messages, options));
12615
12664
  else if (handler.error)
@@ -12673,15 +12722,19 @@ var require_logger = __commonJS({
12673
12722
  var colorize_1 = require_colorize();
12674
12723
  var formatter_1 = require_formatter();
12675
12724
  var utils34 = __importStar(require_browser3());
12725
+ var masks = /* @__PURE__ */ new Set();
12676
12726
  function makeLogger2({ logger: baseLogger, ...options } = {}) {
12677
- var _a, _b, _c, _d, _e, _f;
12678
- var _g, _h;
12727
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
12728
+ var _k, _l;
12679
12729
  if (baseLogger)
12680
- return baseLogger.extend({ level: options.level, ...options.format });
12730
+ return baseLogger.extend({ level: options.level, ...options.format, maskLog: options.maskLog });
12681
12731
  (_a = options.console) !== null && _a !== void 0 ? _a : options.console = true;
12682
12732
  (_b = options.format) !== null && _b !== void 0 ? _b : options.format = {};
12683
- (_c = (_g = options.format).formatter) !== null && _c !== void 0 ? _c : _g.formatter = formatter_1.formatter;
12684
- (_d = (_h = options.format).colors) !== null && _d !== void 0 ? _d : _h.colors = utils34.general.getEnvValue("LOG_COLORS", "boolean");
12733
+ (_c = (_k = options.format).formatter) !== null && _c !== void 0 ? _c : _k.formatter = formatter_1.formatter;
12734
+ (_d = (_l = options.format).colors) !== null && _d !== void 0 ? _d : _l.colors = utils34.general.getEnvValue("LOG_COLORS", "boolean");
12735
+ (_e = options.maskLog) !== null && _e !== void 0 ? _e : options.maskLog = utils34.general.getEnvValue("MASK_LOG", "boolean");
12736
+ const userMaskValues = (_g = (_f = utils34.general.getEnvValue("MASK_VALUES")) === null || _f === void 0 ? void 0 : _f.split(/(?<!\\),/)) !== null && _g !== void 0 ? _g : [];
12737
+ userMaskValues.forEach((value) => masks.add(value.replace("\\,", ",")));
12685
12738
  let forceInitHandler;
12686
12739
  if (!options.handler) {
12687
12740
  if (process.env.APPLITOOLS_LOG_FILE) {
@@ -12701,7 +12754,7 @@ var require_logger = __commonJS({
12701
12754
  }
12702
12755
  }
12703
12756
  if (!utils34.types.isNumber(options.level)) {
12704
- (_e = options.level) !== null && _e !== void 0 ? _e : options.level = (_f = utils34.general.getEnvValue("LOG_LEVEL")) !== null && _f !== void 0 ? _f : utils34.general.getEnvValue("SHOW_LOGS", "boolean") ? "all" : void 0;
12757
+ (_h = options.level) !== null && _h !== void 0 ? _h : options.level = (_j = utils34.general.getEnvValue("LOG_LEVEL")) !== null && _j !== void 0 ? _j : utils34.general.getEnvValue("SHOW_LOGS", "boolean") ? "all" : void 0;
12705
12758
  options.level = log_level_1.LogLevel[options.level];
12706
12759
  }
12707
12760
  if (utils34.types.has(options.handler, "type")) {
@@ -12723,21 +12776,46 @@ var require_logger = __commonJS({
12723
12776
  const logger = {
12724
12777
  isLogger: true,
12725
12778
  options,
12726
- console: (0, printer_1.makePrinter)({ handler: options.console, level: log_level_1.LogLevel.all, format: { ...options.format, prelude: false } }),
12727
- ...(0, printer_1.makePrinter)({ handler: options.handler, level: options.level, format: options.format }),
12779
+ console: (0, printer_1.makePrinter)({
12780
+ handler: options.console,
12781
+ level: log_level_1.LogLevel.all,
12782
+ format: { ...options.format, prelude: false },
12783
+ maskLog: options.maskLog,
12784
+ masks
12785
+ }),
12786
+ ...(0, printer_1.makePrinter)({
12787
+ handler: options.handler,
12788
+ level: options.level,
12789
+ format: options.format,
12790
+ maskLog: options.maskLog,
12791
+ masks
12792
+ }),
12728
12793
  extend(optionsOrLogger, extraOptions) {
12794
+ var _a2, _b2, _c2;
12729
12795
  const extendOptions = [options];
12730
12796
  if (utils34.types.has(optionsOrLogger, "isLogger")) {
12731
12797
  if (optionsOrLogger !== logger)
12732
12798
  extendOptions.push({
12733
12799
  console: optionsOrLogger.options.console,
12734
12800
  level: optionsOrLogger.options.level,
12735
- format: optionsOrLogger.options.format
12801
+ format: optionsOrLogger.options.format,
12802
+ maskLog: (_a2 = optionsOrLogger.options.maskLog) !== null && _a2 !== void 0 ? _a2 : options.maskLog
12736
12803
  });
12737
- if (extraOptions)
12738
- extendOptions.push({ console: extraOptions.console, level: extraOptions.level, format: extraOptions });
12804
+ if (extraOptions) {
12805
+ extendOptions.push({
12806
+ console: extraOptions.console,
12807
+ level: extraOptions.level,
12808
+ maskLog: (_b2 = extraOptions.maskLog) !== null && _b2 !== void 0 ? _b2 : options.maskLog,
12809
+ format: extraOptions
12810
+ });
12811
+ }
12739
12812
  } else if (optionsOrLogger) {
12740
- extendOptions.push({ console: optionsOrLogger.console, level: optionsOrLogger.level, format: optionsOrLogger });
12813
+ extendOptions.push({
12814
+ console: optionsOrLogger.console,
12815
+ level: optionsOrLogger.level,
12816
+ maskLog: (_c2 = optionsOrLogger.maskLog) !== null && _c2 !== void 0 ? _c2 : options.maskLog,
12817
+ format: optionsOrLogger
12818
+ });
12741
12819
  }
12742
12820
  const extendedOptions = mergeOptions2(...extendOptions);
12743
12821
  if (forceInitHandler && extendedOptions.handler === options.handler) {
@@ -12755,6 +12833,9 @@ var require_logger = __commonJS({
12755
12833
  var _a2, _b2;
12756
12834
  if (!options.extended)
12757
12835
  (_b2 = (_a2 = options.handler).close) === null || _b2 === void 0 ? void 0 : _b2.call(_a2);
12836
+ },
12837
+ mask(value) {
12838
+ masks.add(value);
12758
12839
  }
12759
12840
  };
12760
12841
  return logger;
@@ -12778,15 +12859,16 @@ var require_logger = __commonJS({
12778
12859
  exports.mergeLoggers = mergeLoggers;
12779
12860
  function mergeOptions2(...options) {
12780
12861
  return options.reduce((baseOptions, currentOptions) => {
12781
- var _a, _b, _c, _d, _e;
12862
+ var _a, _b, _c, _d, _e, _f;
12782
12863
  return {
12783
12864
  ...baseOptions,
12784
12865
  ...currentOptions,
12785
12866
  level: (_a = currentOptions.level) !== null && _a !== void 0 ? _a : baseOptions.level,
12867
+ maskLog: (_b = currentOptions.maskLog) !== null && _b !== void 0 ? _b : baseOptions.maskLog,
12786
12868
  format: {
12787
12869
  ...baseOptions.format,
12788
12870
  ...currentOptions.format,
12789
- tags: mergeTags((_c = (_b = baseOptions.format) === null || _b === void 0 ? void 0 : _b.tags) !== null && _c !== void 0 ? _c : [], (_e = (_d = currentOptions.format) === null || _d === void 0 ? void 0 : _d.tags) !== null && _e !== void 0 ? _e : [])
12871
+ tags: mergeTags((_d = (_c = baseOptions.format) === null || _c === void 0 ? void 0 : _c.tags) !== null && _d !== void 0 ? _d : [], (_f = (_e = currentOptions.format) === null || _e === void 0 ? void 0 : _e.tags) !== null && _f !== void 0 ? _f : [])
12790
12872
  }
12791
12873
  };
12792
12874
  }, {});
@@ -21121,8 +21203,9 @@ var require_server_region_converter = __commonJS({
21121
21203
  options.maxLeftOffset = offset.left;
21122
21204
  options.maxRightOffset = offset.right;
21123
21205
  }
21124
- region = utils34.geometry.round(utils34.geometry.padding(region.region, (_a = region.padding) !== null && _a !== void 0 ? _a : 0));
21206
+ region = utils34.geometry.padding(region.region, (_a = region.padding) !== null && _a !== void 0 ? _a : 0);
21125
21207
  }
21208
+ region = utils34.geometry.round(region);
21126
21209
  return { left: region.x, top: region.y, width: region.width, height: region.height, ...options };
21127
21210
  }
21128
21211
  function regionSort(region1, region2) {
@@ -21619,6 +21702,7 @@ var require_requests = __commonJS({
21619
21702
  uploadUrl,
21620
21703
  ...rest
21621
21704
  };
21705
+ logger.mask(result.ufgServer.accessToken);
21622
21706
  logger.log('Request "getAccountInfo" finished successfully with body', result);
21623
21707
  async function getServiceUrl(settings2, logger2) {
21624
21708
  const serviceUrlNew = await checkServiceUrl(settings2.ufgServerUrlNew, settings2.eyesServer, logger2);
@@ -21924,6 +22008,7 @@ var require_requests = __commonJS({
21924
22008
  return await test.results;
21925
22009
  test.results = response.json().then((result) => {
21926
22010
  var _a;
22011
+ logger.mask(result.secretToken);
21927
22012
  result.userTestId = test.userTestId;
21928
22013
  result.url = test.resultsUrl;
21929
22014
  result.isNew = test.isNew;
@@ -22027,6 +22112,7 @@ var require_requests = __commonJS({
22027
22112
  }
22028
22113
  const response = await resultResponsePromise;
22029
22114
  const results = await response.json().then((result) => {
22115
+ logger.mask(result.secretToken);
22030
22116
  result.userTestId = test.userTestId;
22031
22117
  result.url = test.resultsUrl;
22032
22118
  result.initializedAt = test.initializedAt;
@@ -44377,12 +44463,12 @@ var require_requests_offline = __commonJS({
44377
44463
  logger = logger.extend(mainLogger, { tags: [`core-request-offline-${utils34.general.shortid()}`] });
44378
44464
  logger.log('Offline request "openEyes" called with settings', settings);
44379
44465
  let resultResponsePromise;
44380
- const testFolderPath = await createTestFolder(folderPath, settings);
44381
- logger.log("testFolderPath", testFolderPath);
44382
44466
  const settingsToSave = { ...settings };
44383
44467
  delete settingsToSave.processId;
44384
44468
  delete settingsToSave.userTestId;
44385
44469
  (_a = settingsToSave.environment) === null || _a === void 0 ? true : delete _a.environmentId;
44470
+ const testFolderPath = await createTestFolder(folderPath, settingsToSave);
44471
+ logger.log("testFolderPath", testFolderPath);
44386
44472
  await fs_1.default.promises.writeFile(path_1.default.resolve(testFolderPath, "settings.json"), JSON.stringify(settingsToSave, null, 2));
44387
44473
  const account = await getAccountInfo();
44388
44474
  const initializedAt = "dummy initialized at";
@@ -44486,6 +44572,30 @@ var require_requests_offline = __commonJS({
44486
44572
  }
44487
44573
  async function report() {
44488
44574
  }
44575
+ function createTestFolder(basePath, settings2) {
44576
+ const testFolderPath2 = path_1.default.resolve(basePath, getNameForFolder(settings2));
44577
+ if (fs_1.default.existsSync(testFolderPath2)) {
44578
+ logger.log(`removing already existing folder: ${testFolderPath2}`);
44579
+ fs_1.default.rmdirSync(testFolderPath2);
44580
+ }
44581
+ fs_1.default.mkdirSync(testFolderPath2, { recursive: true });
44582
+ return testFolderPath2;
44583
+ }
44584
+ function getNameForFolder(settings2) {
44585
+ const nameBeforeHash = JSON.stringify({
44586
+ testName: settings2.testName,
44587
+ environment: settings2.environment,
44588
+ appName: settings2.appName
44589
+ });
44590
+ const nameAfterHash = crypto_1.default.createHash("md5").update(nameBeforeHash).digest("hex");
44591
+ logger.log(`name for folder before hash: ${nameBeforeHash} and after hash: ${nameAfterHash}`);
44592
+ return `test-${nameAfterHash}`;
44593
+ }
44594
+ function createCheckFolder(testFolderPath2, settings2) {
44595
+ const checkFolderPath = path_1.default.resolve(testFolderPath2, `check-${settings2.stepIndex ? settings2.stepIndex + 1 : 0}`);
44596
+ fs_1.default.mkdirSync(checkFolderPath, { recursive: true });
44597
+ return checkFolderPath;
44598
+ }
44489
44599
  }
44490
44600
  async function openFunctionalSession() {
44491
44601
  throw new Error("not implemented");
@@ -44517,22 +44627,6 @@ var require_requests_offline = __commonJS({
44517
44627
  throw new Error("not implemented");
44518
44628
  }
44519
44629
  }
44520
- function createTestFolder(basePath, settings) {
44521
- const testFolderPath = path_1.default.resolve(basePath, getNameForFolder(settings));
44522
- if (fs_1.default.existsSync(testFolderPath)) {
44523
- fs_1.default.rmdirSync(testFolderPath);
44524
- }
44525
- fs_1.default.mkdirSync(testFolderPath, { recursive: true });
44526
- return testFolderPath;
44527
- }
44528
- function getNameForFolder(settings) {
44529
- return `test-${crypto_1.default.createHash("md5").update(JSON.stringify({ testName: settings.testName, environment: settings.environment, appName: settings.appName })).digest("hex")}`;
44530
- }
44531
- function createCheckFolder(testFolderPath, settings) {
44532
- const checkFolderPath = path_1.default.resolve(testFolderPath, `check-${settings.stepIndex ? settings.stepIndex + 1 : 0}`);
44533
- fs_1.default.mkdirSync(checkFolderPath, { recursive: true });
44534
- return checkFolderPath;
44535
- }
44536
44630
  }
44537
44631
  });
44538
44632
 
@@ -51500,8 +51594,8 @@ var require_core = __commonJS({
51500
51594
  var get_account_info_1 = require_get_account_info();
51501
51595
  var heartbeat_1 = require_heartbeat();
51502
51596
  var open_check_and_close_1 = require_open_check_and_close();
51503
- function makeCore({ agentId = "core-base", concurrency, logger: defaultLogger, offlineLocationPath }) {
51504
- const logger = (0, logger_1.makeLogger)({ logger: defaultLogger, format: { label: "core-base" } });
51597
+ function makeCore({ agentId = "core-base", concurrency, maskLog, logger: defaultLogger, offlineLocationPath }) {
51598
+ const logger = (0, logger_1.makeLogger)({ logger: defaultLogger, format: { label: "core-base" }, maskLog });
51505
51599
  logger.log(`Core is initialized for agent ${agentId}`);
51506
51600
  const requests = offlineLocationPath ? (0, requests_offline_1.makeCoreRequestsOfflineWithCache)({ folderPath: offlineLocationPath, logger }) : (0, requests_1.makeCoreRequestsWithCache)({ logger });
51507
51601
  const heartbeat = (0, heartbeat_1.makeHeartbeat)({ requests, logger });
@@ -57897,7 +57991,7 @@ ${l2}`}`, { bundledCss: i2, unfetchedResources: u2 };
57897
57991
  return d4 && (N3.shadowRoot = d4), N3;
57898
57992
  }
57899
57993
  }(t4);
57900
- d2(i2.doCaptureDoc), l2(i2.waitForImages), await Promise.all(f2), d2(i2.waitForImages), N2.version = "1.3.0", N2.scriptVersion = "11.5.2";
57994
+ d2(i2.doCaptureDoc), l2(i2.waitForImages), await Promise.all(f2), d2(i2.waitForImages), N2.version = "1.3.0", N2.scriptVersion = "11.5.3";
57901
57995
  const S2 = h2.length ? `${h2.join("\n")}
57902
57996
  ` : "", A2 = m2.size ? `${Array.from(m2).join("\n")}
57903
57997
  ` : "", Y2 = JSON.stringify({ separator: y2, cssStartToken: g2, cssEndToken: g2, iframeStartToken: `"${p2}`, iframeEndToken: `${p2}"` });
@@ -60389,10 +60483,10 @@ var require_core2 = __commonJS({
60389
60483
  var get_nml_client_1 = require_get_nml_client();
60390
60484
  var open_eyes_1 = require_open_eyes2();
60391
60485
  var utils34 = __importStar(require_browser3());
60392
- function makeCore({ spec, clients, base: defaultBase, concurrency, agentId = "core-classic", logger: defaultLogger, offlineLocationPath }) {
60393
- const logger = (0, logger_1.makeLogger)({ logger: defaultLogger, format: { label: "core-classic" } });
60486
+ function makeCore({ spec, clients, base: defaultBase, concurrency, agentId = "core-classic", logger: defaultLogger, maskLog, offlineLocationPath }) {
60487
+ const logger = (0, logger_1.makeLogger)({ logger: defaultLogger, format: { label: "core-classic" }, maskLog });
60394
60488
  logger.log(`Core classic is initialized ${defaultBase ? "with" : "without"} custom base core`);
60395
- const base = defaultBase !== null && defaultBase !== void 0 ? defaultBase : (0, core_base_1.makeCore)({ agentId, concurrency, logger, offlineLocationPath });
60489
+ const base = defaultBase !== null && defaultBase !== void 0 ? defaultBase : (0, core_base_1.makeCore)({ agentId, concurrency, logger, offlineLocationPath, maskLog });
60396
60490
  return utils34.general.extend(base, (core) => {
60397
60491
  return {
60398
60492
  type: "classic",
@@ -62593,7 +62687,7 @@ var require_processPagePollCjs = __commonJS({
62593
62687
  }(e4) && Jt(e4, 1, false) ? n3 + 1 : 0 : Qt(r2, n3, t4);
62594
62688
  }
62595
62689
  return e4.type === Gt.Dimension ? Qt(Jt(e4, 1, true), ++n3, t4) : 0;
62596
- }, rn = y, on = k, an = O, sn = ["calc(", "-moz-calc(", "-webkit-calc("], ln = /* @__PURE__ */ new Map([[rn.Function, rn.RightParenthesis], [rn.LeftParenthesis, rn.RightParenthesis], [rn.LeftSquareBracket, rn.RightSquareBracket], [rn.LeftCurlyBracket, rn.RightCurlyBracket]]);
62690
+ }, rn = k, on = y, an = O, sn = ["calc(", "-moz-calc(", "-webkit-calc("], ln = /* @__PURE__ */ new Map([[on.Function, on.RightParenthesis], [on.LeftParenthesis, on.RightParenthesis], [on.LeftSquareBracket, on.RightSquareBracket], [on.LeftCurlyBracket, on.RightCurlyBracket]]);
62597
62691
  function cn(e4, t4) {
62598
62692
  return t4 < e4.length ? e4.charCodeAt(t4) : 0;
62599
62693
  }
@@ -62607,7 +62701,7 @@ var require_processPagePollCjs = __commonJS({
62607
62701
  return false;
62608
62702
  }
62609
62703
  function dn(e4, t4) {
62610
- return t4 === e4.length - 2 && 92 === cn(e4, t4) && on.isDigit(cn(e4, t4 + 1));
62704
+ return t4 === e4.length - 2 && 92 === cn(e4, t4) && rn.isDigit(cn(e4, t4 + 1));
62611
62705
  }
62612
62706
  function pn(e4, t4, n3) {
62613
62707
  if (e4 && "Range" === e4.type) {
@@ -62623,14 +62717,14 @@ var require_processPagePollCjs = __commonJS({
62623
62717
  }
62624
62718
  function mn(e4) {
62625
62719
  return function(t4, n3, r2) {
62626
- return null === t4 ? 0 : t4.type === rn.Function && hn(t4.value, sn) ? function(e5, t5) {
62720
+ return null === t4 ? 0 : t4.type === on.Function && hn(t4.value, sn) ? function(e5, t5) {
62627
62721
  let n4 = 0, r3 = [], o2 = 0;
62628
62722
  e:
62629
62723
  do {
62630
62724
  switch (e5.type) {
62631
- case rn.RightCurlyBracket:
62632
- case rn.RightParenthesis:
62633
- case rn.RightSquareBracket:
62725
+ case on.RightCurlyBracket:
62726
+ case on.RightParenthesis:
62727
+ case on.RightSquareBracket:
62634
62728
  if (e5.type !== n4)
62635
62729
  break e;
62636
62730
  if (n4 = r3.pop(), 0 === r3.length) {
@@ -62638,10 +62732,10 @@ var require_processPagePollCjs = __commonJS({
62638
62732
  break e;
62639
62733
  }
62640
62734
  break;
62641
- case rn.Function:
62642
- case rn.LeftParenthesis:
62643
- case rn.LeftSquareBracket:
62644
- case rn.LeftCurlyBracket:
62735
+ case on.Function:
62736
+ case on.LeftParenthesis:
62737
+ case on.LeftSquareBracket:
62738
+ case on.LeftCurlyBracket:
62645
62739
  r3.push(n4), n4 = ln.get(e5.type);
62646
62740
  }
62647
62741
  o2++;
@@ -62656,11 +62750,11 @@ var require_processPagePollCjs = __commonJS({
62656
62750
  };
62657
62751
  }
62658
62752
  function gn(e4) {
62659
- return null === e4 || e4.type !== rn.Ident || 45 !== cn(e4.value, 0) || 45 !== cn(e4.value, 1) ? 0 : 1;
62753
+ return null === e4 || e4.type !== on.Ident || 45 !== cn(e4.value, 0) || 45 !== cn(e4.value, 1) ? 0 : 1;
62660
62754
  }
62661
62755
  function bn(e4) {
62662
62756
  return e4 && (e4 = new Set(e4)), function(t4, n3, r2) {
62663
- if (null === t4 || t4.type !== rn.Dimension)
62757
+ if (null === t4 || t4.type !== on.Dimension)
62664
62758
  return 0;
62665
62759
  const o2 = an.consumeNumber(t4.value, 0);
62666
62760
  if (null !== e4) {
@@ -62675,43 +62769,43 @@ var require_processPagePollCjs = __commonJS({
62675
62769
  return "function" != typeof e4 && (e4 = function() {
62676
62770
  return 0;
62677
62771
  }), function(t4, n3, r2) {
62678
- return null !== t4 && t4.type === rn.Number && 0 === Number(t4.value) ? 1 : e4(t4, n3, r2);
62772
+ return null !== t4 && t4.type === on.Number && 0 === Number(t4.value) ? 1 : e4(t4, n3, r2);
62679
62773
  };
62680
62774
  }
62681
- const kn = { "ident-token": fn(rn.Ident), "function-token": fn(rn.Function), "at-keyword-token": fn(rn.AtKeyword), "hash-token": fn(rn.Hash), "string-token": fn(rn.String), "bad-string-token": fn(rn.BadString), "url-token": fn(rn.Url), "bad-url-token": fn(rn.BadUrl), "delim-token": fn(rn.Delim), "number-token": fn(rn.Number), "percentage-token": fn(rn.Percentage), "dimension-token": fn(rn.Dimension), "whitespace-token": fn(rn.WhiteSpace), "CDO-token": fn(rn.CDO), "CDC-token": fn(rn.CDC), "colon-token": fn(rn.Colon), "semicolon-token": fn(rn.Semicolon), "comma-token": fn(rn.Comma), "[-token": fn(rn.LeftSquareBracket), "]-token": fn(rn.RightSquareBracket), "(-token": fn(rn.LeftParenthesis), ")-token": fn(rn.RightParenthesis), "{-token": fn(rn.LeftCurlyBracket), "}-token": fn(rn.RightCurlyBracket) }, wn = { string: fn(rn.String), ident: fn(rn.Ident), percentage: mn(function(e4, t4, n3) {
62682
- return null === e4 || e4.type !== rn.Percentage || pn(n3, e4.value, e4.value.length - 1) ? 0 : 1;
62775
+ const kn = { "ident-token": fn(on.Ident), "function-token": fn(on.Function), "at-keyword-token": fn(on.AtKeyword), "hash-token": fn(on.Hash), "string-token": fn(on.String), "bad-string-token": fn(on.BadString), "url-token": fn(on.Url), "bad-url-token": fn(on.BadUrl), "delim-token": fn(on.Delim), "number-token": fn(on.Number), "percentage-token": fn(on.Percentage), "dimension-token": fn(on.Dimension), "whitespace-token": fn(on.WhiteSpace), "CDO-token": fn(on.CDO), "CDC-token": fn(on.CDC), "colon-token": fn(on.Colon), "semicolon-token": fn(on.Semicolon), "comma-token": fn(on.Comma), "[-token": fn(on.LeftSquareBracket), "]-token": fn(on.RightSquareBracket), "(-token": fn(on.LeftParenthesis), ")-token": fn(on.RightParenthesis), "{-token": fn(on.LeftCurlyBracket), "}-token": fn(on.RightCurlyBracket) }, wn = { string: fn(on.String), ident: fn(on.Ident), percentage: mn(function(e4, t4, n3) {
62776
+ return null === e4 || e4.type !== on.Percentage || pn(n3, e4.value, e4.value.length - 1) ? 0 : 1;
62683
62777
  }), zero: yn(), number: mn(function(e4, t4, n3) {
62684
62778
  if (null === e4)
62685
62779
  return 0;
62686
62780
  const r2 = an.consumeNumber(e4.value, 0);
62687
62781
  return r2 === e4.value.length || dn(e4.value, r2) ? pn(n3, e4.value, r2) ? 0 : 1 : 0;
62688
62782
  }), integer: mn(function(e4, t4, n3) {
62689
- if (null === e4 || e4.type !== rn.Number)
62783
+ if (null === e4 || e4.type !== on.Number)
62690
62784
  return 0;
62691
62785
  let r2 = 43 === cn(e4.value, 0) || 45 === cn(e4.value, 0) ? 1 : 0;
62692
62786
  for (; r2 < e4.value.length; r2++)
62693
- if (!on.isDigit(cn(e4.value, r2)))
62787
+ if (!rn.isDigit(cn(e4.value, r2)))
62694
62788
  return 0;
62695
62789
  return pn(n3, e4.value, r2) ? 0 : 1;
62696
62790
  }), "custom-ident": function(e4) {
62697
- if (null === e4 || e4.type !== rn.Ident)
62791
+ if (null === e4 || e4.type !== on.Ident)
62698
62792
  return 0;
62699
62793
  const t4 = e4.value.toLowerCase();
62700
62794
  return hn(t4, en.cssWideKeywords) || un(t4, "default") ? 0 : 1;
62701
62795
  }, "dashed-ident": gn, "custom-property-name": function(e4) {
62702
62796
  return gn(e4) ? "--" === e4.value ? 0 : 1 : 0;
62703
62797
  }, "hex-color": function(e4) {
62704
- if (null === e4 || e4.type !== rn.Hash)
62798
+ if (null === e4 || e4.type !== on.Hash)
62705
62799
  return 0;
62706
62800
  const t4 = e4.value.length;
62707
62801
  if (4 !== t4 && 5 !== t4 && 7 !== t4 && 9 !== t4)
62708
62802
  return 0;
62709
62803
  for (let n3 = 1; n3 < t4; n3++)
62710
- if (!on.isHexDigit(cn(e4.value, n3)))
62804
+ if (!rn.isHexDigit(cn(e4.value, n3)))
62711
62805
  return 0;
62712
62806
  return 1;
62713
62807
  }, "id-selector": function(e4) {
62714
- return null === e4 || e4.type !== rn.Hash ? 0 : on.isIdentifierStart(cn(e4.value, 1), cn(e4.value, 2), cn(e4.value, 3)) ? 1 : 0;
62808
+ return null === e4 || e4.type !== on.Hash ? 0 : rn.isIdentifierStart(cn(e4.value, 1), cn(e4.value, 2), cn(e4.value, 3)) ? 1 : 0;
62715
62809
  }, "an-plus-b": tn, urange: nn, "declaration-value": function(e4, t4) {
62716
62810
  if (!e4)
62717
62811
  return 0;
@@ -62719,28 +62813,28 @@ var require_processPagePollCjs = __commonJS({
62719
62813
  e:
62720
62814
  do {
62721
62815
  switch (e4.type) {
62722
- case rn.BadString:
62723
- case rn.BadUrl:
62816
+ case on.BadString:
62817
+ case on.BadUrl:
62724
62818
  break e;
62725
- case rn.RightCurlyBracket:
62726
- case rn.RightParenthesis:
62727
- case rn.RightSquareBracket:
62819
+ case on.RightCurlyBracket:
62820
+ case on.RightParenthesis:
62821
+ case on.RightSquareBracket:
62728
62822
  if (e4.type !== n3)
62729
62823
  break e;
62730
62824
  n3 = r2.pop();
62731
62825
  break;
62732
- case rn.Semicolon:
62826
+ case on.Semicolon:
62733
62827
  if (0 === n3)
62734
62828
  break e;
62735
62829
  break;
62736
- case rn.Delim:
62830
+ case on.Delim:
62737
62831
  if (0 === n3 && "!" === e4.value)
62738
62832
  break e;
62739
62833
  break;
62740
- case rn.Function:
62741
- case rn.LeftParenthesis:
62742
- case rn.LeftSquareBracket:
62743
- case rn.LeftCurlyBracket:
62834
+ case on.Function:
62835
+ case on.LeftParenthesis:
62836
+ case on.LeftSquareBracket:
62837
+ case on.LeftCurlyBracket:
62744
62838
  r2.push(n3), n3 = ln.get(e4.type);
62745
62839
  }
62746
62840
  o2++;
@@ -62753,20 +62847,20 @@ var require_processPagePollCjs = __commonJS({
62753
62847
  e:
62754
62848
  do {
62755
62849
  switch (e4.type) {
62756
- case rn.BadString:
62757
- case rn.BadUrl:
62850
+ case on.BadString:
62851
+ case on.BadUrl:
62758
62852
  break e;
62759
- case rn.RightCurlyBracket:
62760
- case rn.RightParenthesis:
62761
- case rn.RightSquareBracket:
62853
+ case on.RightCurlyBracket:
62854
+ case on.RightParenthesis:
62855
+ case on.RightSquareBracket:
62762
62856
  if (e4.type !== n3)
62763
62857
  break e;
62764
62858
  n3 = r2.pop();
62765
62859
  break;
62766
- case rn.Function:
62767
- case rn.LeftParenthesis:
62768
- case rn.LeftSquareBracket:
62769
- case rn.LeftCurlyBracket:
62860
+ case on.Function:
62861
+ case on.LeftParenthesis:
62862
+ case on.LeftSquareBracket:
62863
+ case on.LeftCurlyBracket:
62770
62864
  r2.push(n3), n3 = ln.get(e4.type);
62771
62865
  }
62772
62866
  o2++;
@@ -66724,7 +66818,7 @@ var require_processPagePollCjs = __commonJS({
66724
66818
  return [t5].concat(n4 ? df(hf(n4.map(e6))) : []);
66725
66819
  }(u2);
66726
66820
  c2("doProcessResource from sessionStorage", u2, "deps:", e5.slice(1)), a2[u2] = Promise.resolve({ resourceUrls: e5 });
66727
- } else if (m2 && m2.indexOf(u2) > -1 || /https:\/\/fonts.googleapis.com/.test(u2))
66821
+ } else if (m2 && m2.indexOf(u2) > -1 || /https:\/\/fonts\.googleapis\.com/.test(u2))
66728
66822
  c2("not processing resource from skip list (or google font):", u2), a2[u2] = Promise.resolve({ resourceUrls: [u2] });
66729
66823
  else {
66730
66824
  const g2 = Date.now();
@@ -66944,7 +67038,7 @@ creating temp style for access.`), r2 = Sf(e4);
66944
67038
  function R2(e5) {
66945
67039
  return t5.defaultView && t5.defaultView.frameElement && t5.defaultView.frameElement.getAttribute(e5);
66946
67040
  }
66947
- }(t4).then((e4) => (h2("processPage end"), e4.scriptVersion = "4.11.12", e4));
67041
+ }(t4).then((e4) => (h2("processPage end"), e4.scriptVersion = "4.11.13", e4));
66948
67042
  };
66949
67043
  window[cg] = window[cg] || {};
66950
67044
  const dg = lg(hg, window[cg], ug);
@@ -67184,10 +67278,10 @@ var require_take_dom_snapshot = __commonJS({
67184
67278
  for (const elementReference of (_b = settings === null || settings === void 0 ? void 0 : settings.elementReferences) !== null && _b !== void 0 ? _b : []) {
67185
67279
  elements.push(await context.elements(elementReference));
67186
67280
  }
67187
- const snapshot = transformRawDomSnapshot(await takeContextDomSnapshot({ context }), elements);
67281
+ const snapshot = transformRawDomSnapshot(await takeContextDomSnapshot({ context, isRootFrame: true }), elements);
67188
67282
  snapshot.cookies = features.allCookies ? await driver.getCookies().catch(() => []) : cookies;
67189
67283
  return snapshot;
67190
- async function takeContextDomSnapshot({ context: context2 }) {
67284
+ async function takeContextDomSnapshot({ context: context2, isRootFrame }) {
67191
67285
  var _a2, _b2, _c;
67192
67286
  const arg = {
67193
67287
  dontFetchResources: settings === null || settings === void 0 ? void 0 : settings.disableBrowserFetching,
@@ -67197,7 +67291,7 @@ var require_take_dom_snapshot = __commonJS({
67197
67291
  serializeResources: true,
67198
67292
  compressResources: false,
67199
67293
  showLogs: settings === null || settings === void 0 ? void 0 : settings.showLogs,
67200
- elements
67294
+ elements: isRootFrame ? elements : []
67201
67295
  };
67202
67296
  const scripts = {
67203
67297
  main: features.canExecuteOnlyFunctionScripts ? require_dom_snapshot().processPagePoll : `return (${await getProcessPagePoll()}).apply(null, arguments);`,
@@ -67221,7 +67315,11 @@ var require_take_dom_snapshot = __commonJS({
67221
67315
  logger.log(`could not switch to frame during takeDomSnapshot. Path to frame: ${JSON.stringify(reference)}`, err);
67222
67316
  });
67223
67317
  if (frameContext) {
67224
- const frameSnapshot = await takeContextDomSnapshot({ context: frameContext });
67318
+ const frameSnapshot = await takeContextDomSnapshot({
67319
+ context: frameContext,
67320
+ isRootFrame: false
67321
+ // when we're diving into a frame, it's not the root frame anymore and we shouldn't pass the elements
67322
+ });
67225
67323
  let url = new URL(frameSnapshot.url);
67226
67324
  if (url.protocol === "data:")
67227
67325
  url = new URL(`http://data-url-frame${url.search}`);
@@ -68356,7 +68454,7 @@ var require_resource = __commonJS({
68356
68454
  var crypto_1 = require_crypto_browserify();
68357
68455
  var utils34 = __importStar(require_browser3());
68358
68456
  var UFG_MAX_RESOURCE_SIZE = 34.5 * 1024 * 1024;
68359
- function makeResource(resource) {
68457
+ function makeResource(resource, beforeSetResourceValue) {
68360
68458
  var _a, _b, _c;
68361
68459
  if (utils34.types.has(resource, "errorStatusCode")) {
68362
68460
  const failedResource = {
@@ -68369,7 +68467,7 @@ var require_resource = __commonJS({
68369
68467
  const contentfulResource = {
68370
68468
  id: (_a = resource.id) !== null && _a !== void 0 ? _a : resource.url,
68371
68469
  url: resource.url,
68372
- value: getResourceValue(resource.value),
68470
+ value: getResourceValue(resource.value, beforeSetResourceValue),
68373
68471
  contentType: resource.contentType || "application/x-applitools-unknown",
68374
68472
  dependencies: resource.dependencies
68375
68473
  };
@@ -68408,7 +68506,7 @@ var require_resource = __commonJS({
68408
68506
  ].includes(resource.contentType);
68409
68507
  }
68410
68508
  function isEnvironmentDependantResource({ url }) {
68411
- return /https:\/\/fonts.googleapis.com/.test(url);
68509
+ return /https:\/\/fonts\.googleapis\.com/.test(url);
68412
68510
  }
68413
68511
  function extractEnvironmentName({ environment }) {
68414
68512
  if (!utils34.types.has(environment, "name"))
@@ -68416,8 +68514,9 @@ var require_resource = __commonJS({
68416
68514
  const [browserName] = environment.name.split(/[-\d]/, 1);
68417
68515
  return browserName;
68418
68516
  }
68419
- function getResourceValue(value) {
68420
- return value ? utils34.types.isString(value) ? buffer_1.Buffer.from(value, "base64") : value : new Uint8Array(0);
68517
+ function getResourceValue(value, beforeSetResourceValue) {
68518
+ const returnValue = value ? utils34.types.isString(value) ? buffer_1.Buffer.from(value, "base64") : value : new Uint8Array(0);
68519
+ return beforeSetResourceValue ? beforeSetResourceValue(returnValue) : returnValue;
68421
68520
  }
68422
68521
  }
68423
68522
  });
@@ -68515,15 +68614,45 @@ var require_create_render_target = __commonJS({
68515
68614
  var resource_dom_1 = require_resource_dom();
68516
68615
  var resource_vhs_1 = require_resource_vhs();
68517
68616
  var utils34 = __importStar(require_browser3());
68518
- function makeCreateRenderTarget({ processResources, logger: mainLogger }) {
68617
+ var buffer_1 = require_buffer();
68618
+ function getSnapshotOrigin(url) {
68619
+ if (!url)
68620
+ return url;
68621
+ return new URL(url).origin;
68622
+ }
68623
+ function replaceResourceUrlIfNeeded(url, replaceResourceUrlsSettings) {
68624
+ if (!url || !replaceResourceUrlsSettings)
68625
+ return url;
68626
+ return url.replace(replaceResourceUrlsSettings.from, replaceResourceUrlsSettings.to);
68627
+ }
68628
+ function replaceUrlInContentIfNeeded(obj, replaceResourceUrlsSettings) {
68629
+ if (!replaceResourceUrlsSettings)
68630
+ return obj;
68631
+ return JSON.parse(JSON.stringify(obj).replace(new RegExp(replaceResourceUrlsSettings.from, "g"), replaceResourceUrlsSettings.to));
68632
+ }
68633
+ function makeReplaceUrlInBase64ContentIfNeeded(replaceResourceUrlsSettings) {
68634
+ if (!replaceResourceUrlsSettings)
68635
+ return void 0;
68636
+ return function replaceUrlInBase64ContentIfNeeded(obj) {
68637
+ if (obj.toString("utf-8").search(new RegExp(replaceResourceUrlsSettings.from, "g")) === -1)
68638
+ return obj;
68639
+ const resourceData = obj.toString("utf-8").replace(new RegExp(replaceResourceUrlsSettings.from, "g"), replaceResourceUrlsSettings.to);
68640
+ return buffer_1.Buffer.from(resourceData, "utf-8");
68641
+ };
68642
+ }
68643
+ function makeCreateRenderTarget({ processResources, logger: mainLogger, replaceResourceUrl }) {
68519
68644
  return async function createRenderTarget({ snapshot, settings, logger = mainLogger }) {
68520
68645
  logger = logger.extend(mainLogger, { tags: [`render-target-${utils34.general.shortid()}`] });
68521
68646
  const processedSnapshotResources = await processSnapshotResources({ snapshot, settings, logger });
68522
68647
  const resources = await processedSnapshotResources.promise;
68648
+ const sortedResources = replaceResourceUrl ? Object.entries(resources).sort(([url1], [url2]) => url1.localeCompare(url2)).reduce((mapping, [url, resource]) => {
68649
+ mapping[url] = resource;
68650
+ return mapping;
68651
+ }, {}) : resources;
68523
68652
  if (utils34.types.has(snapshot, "cdt")) {
68524
- const snapshotResource = resources[snapshot.url];
68525
- delete resources[snapshot.url];
68526
- return { snapshot: snapshotResource, resources, source: snapshot.url };
68653
+ const snapshotResource = sortedResources[snapshot.url];
68654
+ delete sortedResources[snapshot.url];
68655
+ return { snapshot: snapshotResource, resources: sortedResources, source: snapshot.url };
68527
68656
  } else {
68528
68657
  const snapshotResource = resources.vhs;
68529
68658
  return utils34.types.has(snapshot, "vhsType") ? { snapshot: snapshotResource, resources, vhsType: snapshot.vhsType } : { snapshot: snapshotResource, resources, vhsCompatibilityParams: snapshot.vhsCompatibilityParams };
@@ -68531,13 +68660,18 @@ var require_create_render_target = __commonJS({
68531
68660
  };
68532
68661
  async function processSnapshotResources({ snapshot, settings, logger }) {
68533
68662
  var _a, _b, _c;
68663
+ const replaceResourceUrlsSettings = replaceResourceUrl ? { from: getSnapshotOrigin(snapshot.url), to: replaceResourceUrl } : void 0;
68534
68664
  const [snapshotResources, ...frameResources] = await Promise.all([
68535
68665
  processResources({
68536
68666
  resources: Object.fromEntries([
68537
68667
  ...((_a = snapshot.resourceUrls) !== null && _a !== void 0 ? _a : []).map((url) => {
68668
+ url = replaceResourceUrlIfNeeded(url, replaceResourceUrlsSettings);
68538
68669
  return [url, (0, resource_1.makeResource)({ url, environment: settings === null || settings === void 0 ? void 0 : settings.environment })];
68539
68670
  }),
68540
68671
  ...Object.entries((_b = snapshot.resourceContents) !== null && _b !== void 0 ? _b : {}).map(([url, resource]) => {
68672
+ url = replaceResourceUrlIfNeeded(url, replaceResourceUrlsSettings);
68673
+ if (utils34.types.has(resource, "url"))
68674
+ resource.url = replaceResourceUrlIfNeeded(resource.url, replaceResourceUrlsSettings);
68541
68675
  return [
68542
68676
  url,
68543
68677
  utils34.types.has(resource, "errorStatusCode") ? (0, resource_1.makeResource)({ id: url, errorStatusCode: resource.errorStatusCode }) : (0, resource_1.makeResource)({
@@ -68545,7 +68679,7 @@ var require_create_render_target = __commonJS({
68545
68679
  value: resource.value,
68546
68680
  contentType: resource.type,
68547
68681
  dependencies: resource.dependencies
68548
- })
68682
+ }, makeReplaceUrlInBase64ContentIfNeeded(replaceResourceUrlsSettings))
68549
68683
  ];
68550
68684
  })
68551
68685
  ]),
@@ -68560,13 +68694,15 @@ var require_create_render_target = __commonJS({
68560
68694
  })
68561
68695
  ]);
68562
68696
  const frameDomResourceMapping = frameResources.reduce((mapping, resources, index) => {
68563
- const frameUrl = snapshot.frames[index].url;
68697
+ const frameUrl = replaceResourceUrlIfNeeded(snapshot.frames[index].url, replaceResourceUrlsSettings);
68564
68698
  return Object.assign(mapping, { [frameUrl]: resources.mapping[frameUrl] });
68565
68699
  }, {});
68566
68700
  const resourceMappingWithoutDom = { ...snapshotResources.mapping, ...frameDomResourceMapping };
68701
+ if (utils34.types.has(snapshot, "url"))
68702
+ snapshot.url = replaceResourceUrlIfNeeded(snapshot.url, replaceResourceUrlsSettings);
68567
68703
  const domResource = utils34.types.has(snapshot, "cdt") ? {
68568
68704
  [snapshot.url]: (0, resource_dom_1.makeResourceDom)({
68569
- cdt: snapshot.cdt,
68705
+ cdt: replaceUrlInContentIfNeeded(snapshot.cdt, replaceResourceUrlsSettings),
68570
68706
  resources: resourceMappingWithoutDom
68571
68707
  })
68572
68708
  } : {
@@ -72717,8 +72853,8 @@ var require_generic = __commonJS({
72717
72853
  var genericConst = require_generic_const();
72718
72854
  var genericAnPlusB = require_generic_an_plus_b();
72719
72855
  var genericUrange = require_generic_urange();
72720
- var types20 = require_types8();
72721
72856
  var charCodeDefinitions = require_char_code_definitions();
72857
+ var types20 = require_types8();
72722
72858
  var utils34 = require_utils5();
72723
72859
  var calcFunctionNames = ["calc(", "-moz-calc(", "-webkit-calc("];
72724
72860
  var balancePair = /* @__PURE__ */ new Map([
@@ -88386,7 +88522,7 @@ var require_client_offline = __commonJS({
88386
88522
  const getAndroidDevices = async () => ({});
88387
88523
  const getIOSDevices = async () => ios_devices_1.iosDevices;
88388
88524
  return {
88389
- createRenderTarget: (0, create_render_target_1.makeCreateRenderTarget)({ processResources, logger }),
88525
+ createRenderTarget: (0, create_render_target_1.makeCreateRenderTarget)({ processResources, logger, replaceResourceUrl: "http://offline" }),
88390
88526
  render,
88391
88527
  startRenders: async () => {
88392
88528
  throw new Error("not implemented");
@@ -89321,10 +89457,10 @@ var require_core3 = __commonJS({
89321
89457
  var get_ufg_client_1 = require_get_ufg_client();
89322
89458
  var open_eyes_1 = require_open_eyes3();
89323
89459
  var utils34 = __importStar(require_browser3());
89324
- function makeCore({ spec, clients, base: defaultBase, asyncCache, concurrency, offlineLocationPath, fetchConcurrency, agentId = "core-ufg", logger: defaultLogger }) {
89325
- const logger = (0, logger_1.makeLogger)({ logger: defaultLogger, format: { label: "core-ufg" } });
89460
+ function makeCore({ spec, clients, base: defaultBase, asyncCache, concurrency, offlineLocationPath, fetchConcurrency, agentId = "core-ufg", logger: defaultLogger, maskLog }) {
89461
+ const logger = (0, logger_1.makeLogger)({ logger: defaultLogger, format: { label: "core-ufg" }, maskLog });
89326
89462
  logger.log(`Core ufg is initialized ${defaultBase ? "with" : "without"} custom base core`);
89327
- const base = defaultBase !== null && defaultBase !== void 0 ? defaultBase : (0, core_base_1.makeCore)({ agentId, concurrency, logger, offlineLocationPath });
89463
+ const base = defaultBase !== null && defaultBase !== void 0 ? defaultBase : (0, core_base_1.makeCore)({ agentId, concurrency, logger, offlineLocationPath, maskLog });
89328
89464
  const ufgClient = clients === null || clients === void 0 ? void 0 : clients.ufg;
89329
89465
  return utils34.general.extend(base, (core) => {
89330
89466
  return {
@@ -89577,6 +89713,8 @@ var require_locate3 = __commonJS({
89577
89713
  logger = logger.extend(mainLogger, { tags: [`locate-${utils34.general.shortid()}`] });
89578
89714
  settings = { ...config === null || config === void 0 ? void 0 : config.open, ...config === null || config === void 0 ? void 0 : config.screenshot, ...settings };
89579
89715
  (0, populate_eyes_server_settings_1.populateEyesServerSettings)(settings);
89716
+ logger.mask(settings.apiKey);
89717
+ logger.mask(settings.eyesServerUrl);
89580
89718
  const classicCore = (0, core_1.makeCore)({ spec, base: core.base, logger });
89581
89719
  const results = await classicCore.locate({ target, settings, logger });
89582
89720
  return results;
@@ -89636,6 +89774,8 @@ var require_locate_text3 = __commonJS({
89636
89774
  logger = logger.extend(mainLogger, { tags: [`locate-text-${utils34.general.shortid()}`] });
89637
89775
  settings = { ...config === null || config === void 0 ? void 0 : config.open, ...config === null || config === void 0 ? void 0 : config.screenshot, ...settings };
89638
89776
  (0, populate_eyes_server_settings_1.populateEyesServerSettings)(settings);
89777
+ logger.mask(settings.apiKey);
89778
+ logger.mask(settings.eyesServerUrl);
89639
89779
  const classicCore = (0, core_1.makeCore)({ spec, base: core.base, logger });
89640
89780
  const results = await classicCore.locateText({ target, settings, logger });
89641
89781
  return results;
@@ -89699,6 +89839,8 @@ var require_extract_text3 = __commonJS({
89699
89839
  settings2 = { ...config === null || config === void 0 ? void 0 : config.open, ...config === null || config === void 0 ? void 0 : config.screenshot, ...settings2 };
89700
89840
  (_a = settings2.userCommandId) !== null && _a !== void 0 ? _a : settings2.userCommandId = `extract-text--${utils34.general.guid()}`;
89701
89841
  (0, populate_eyes_server_settings_1.populateEyesServerSettings)(settings2);
89842
+ logger.mask(settings2.apiKey);
89843
+ logger.mask(settings2.eyesServerUrl);
89702
89844
  return settings2;
89703
89845
  });
89704
89846
  const classicCore = (0, core_1.makeCore)({ spec, base: core.base, logger });
@@ -90349,6 +90491,8 @@ var require_open_eyes4 = __commonJS({
90349
90491
  logger = logger.extend(mainLogger, { tags: [`eyes-${type}-${utils34.general.shortid()}`] });
90350
90492
  const settings = { ...config === null || config === void 0 ? void 0 : config.open, ...openSettings };
90351
90493
  const eyesServerSettings = (0, populate_eyes_server_settings_1.populateEyesServerSettings)(settings);
90494
+ logger.mask(eyesServerSettings.apiKey);
90495
+ logger.mask(eyesServerSettings.eyesServerUrl);
90352
90496
  (_a = settings.userTestId) !== null && _a !== void 0 ? _a : settings.userTestId = `${settings.testName}--${utils34.general.guid()}`;
90353
90497
  settings.batch = { ...batch, ...settings.batch };
90354
90498
  (_b = (_w = settings.batch).id) !== null && _b !== void 0 ? _b : _w.id = (_c = utils34.general.getEnvValue("BATCH_ID")) !== null && _c !== void 0 ? _c : `generated-${utils34.general.guid()}`;
@@ -90793,11 +90937,11 @@ var require_make_manager = __commonJS({
90793
90937
  var open_eyes_1 = require_open_eyes4();
90794
90938
  var get_manager_results_1 = require_get_manager_results();
90795
90939
  var utils34 = __importStar(require_browser3());
90796
- function makeMakeManager({ spec, clients, core, base: defaultBase, agentId: defaultAgentId, environment, cwd = process.cwd(), logger: mainLogger, asyncCache, offlineLocationPath }) {
90940
+ function makeMakeManager({ spec, clients, core, base: defaultBase, agentId: defaultAgentId, environment, cwd = process.cwd(), logger: mainLogger, asyncCache, offlineLocationPath, maskLog }) {
90797
90941
  return async function makeManager({ type = "classic", settings, logger = mainLogger } = {}) {
90798
90942
  var _a, _b, _c, _d, _e, _f, _g;
90799
90943
  var _h, _j;
90800
- logger = logger.extend(mainLogger, { tags: [`manager-${type}-${utils34.general.shortid()}`] });
90944
+ logger = logger.extend(mainLogger, { tags: [`manager-${type}-${utils34.general.shortid()}`], maskLog });
90801
90945
  settings !== null && settings !== void 0 ? settings : settings = {};
90802
90946
  (_a = settings.concurrency) !== null && _a !== void 0 ? _a : settings.concurrency = (_b = utils34.general.getEnvValue("CONCURRENCY", "number")) !== null && _b !== void 0 ? _b : utils34.types.isInteger(settings.legacyConcurrency) ? settings.legacyConcurrency * 5 : 100;
90803
90947
  (_c = settings.batch) !== null && _c !== void 0 ? _c : settings.batch = {};
@@ -90805,11 +90949,11 @@ var require_make_manager = __commonJS({
90805
90949
  (_f = (_j = settings.batch).buildId) !== null && _f !== void 0 ? _f : _j.buildId = utils34.general.getEnvValue("BATCH_BUILD_ID");
90806
90950
  (_g = settings.agentId) !== null && _g !== void 0 ? _g : settings.agentId = type === "ufg" ? defaultAgentId === null || defaultAgentId === void 0 ? void 0 : defaultAgentId.replace(/(\/\d)/, ".visualgrid$1") : defaultAgentId;
90807
90951
  logger.log('Command "makeManager" is called with settings', settings);
90808
- const base = defaultBase !== null && defaultBase !== void 0 ? defaultBase : (0, core_base_1.makeCore)({ agentId: settings.agentId, concurrency: settings.concurrency, logger, offlineLocationPath });
90952
+ const base = defaultBase !== null && defaultBase !== void 0 ? defaultBase : (0, core_base_1.makeCore)({ agentId: settings.agentId, concurrency: settings.concurrency, logger, offlineLocationPath, maskLog });
90809
90953
  const fetchConcurrency = settings.fetchConcurrency;
90810
90954
  const cores = {
90811
- ufg: (0, core_2.makeCore)({ spec, clients, base, fetchConcurrency, asyncCache, logger, offlineLocationPath }),
90812
- classic: (0, core_1.makeCore)({ spec, clients, base, logger })
90955
+ ufg: (0, core_2.makeCore)({ spec, clients, base, fetchConcurrency, asyncCache, logger, offlineLocationPath, maskLog }),
90956
+ classic: (0, core_1.makeCore)({ spec, clients, base, logger, maskLog })
90813
90957
  };
90814
90958
  const storage = [];
90815
90959
  return {
@@ -90891,6 +91035,8 @@ var require_close_batch2 = __commonJS({
90891
91035
  logger = logger.extend(mainLogger, { tags: [`close-batch-${utils34.general.shortid()}`] });
90892
91036
  (utils34.types.isArray(settings) ? settings : [settings]).forEach((settings2) => {
90893
91037
  (0, populate_eyes_server_settings_1.populateEyesServerSettings)(settings2);
91038
+ logger.mask(settings2.apiKey);
91039
+ logger.mask(settings2.eyesServerUrl);
90894
91040
  });
90895
91041
  return core.base.closeBatch({ settings, logger });
90896
91042
  };
@@ -90948,6 +91094,9 @@ var require_delete_test2 = __commonJS({
90948
91094
  logger = logger.extend(mainLogger, { tags: [`delete-test-${utils34.general.shortid()}`] });
90949
91095
  (utils34.types.isArray(settings) ? settings : [settings]).forEach((settings2) => {
90950
91096
  (0, populate_eyes_server_settings_1.populateEyesServerSettings)(settings2);
91097
+ logger.mask(settings2.apiKey);
91098
+ logger.mask(settings2.eyesServerUrl);
91099
+ logger.mask(settings2.secretToken);
90951
91100
  });
90952
91101
  return core.base.deleteTest({ settings, logger });
90953
91102
  };
@@ -91020,7 +91169,7 @@ var require_package2 = __commonJS({
91020
91169
  "../core/package.json"(exports, module) {
91021
91170
  module.exports = {
91022
91171
  name: "@applitools/core",
91023
- version: "4.27.0",
91172
+ version: "4.28.0",
91024
91173
  homepage: "https://applitools.com",
91025
91174
  bugs: {
91026
91175
  url: "https://github.com/applitools/eyes.sdk.javascript1/issues"
@@ -91539,18 +91688,18 @@ var require_core4 = __commonJS({
91539
91688
  var validate_sdk_version_1 = require_validate_sdk_version();
91540
91689
  var memory_usage_logging_1 = require_memory_usage_logging();
91541
91690
  var take_snapshots_1 = require_take_snapshots2();
91542
- function makeCore({ spec, clients, base: defaultBase, concurrency = utils34.general.getEnvValue("CONCURRENCY", "number"), environment: defaultEnvironment, agentId = "core", cwd = process.cwd(), logger: defaultLogger, asyncCache } = {}) {
91543
- const logger = (0, logger_1.makeLogger)({ logger: defaultLogger, format: { label: "core" } });
91691
+ function makeCore({ spec, clients, base: defaultBase, concurrency = utils34.general.getEnvValue("CONCURRENCY", "number"), environment: defaultEnvironment, agentId = "core", cwd = process.cwd(), maskLog = false, logger: defaultLogger, asyncCache } = {}) {
91692
+ const logger = (0, logger_1.makeLogger)({ logger: defaultLogger, format: { label: "core" }, maskLog });
91544
91693
  (0, memory_usage_logging_1.startMemoryUsageLogging)({ logger });
91545
91694
  const environment = (0, extract_test_environment_1.extractTestEnvironment)(defaultEnvironment);
91546
91695
  const offlineLocationPath = (0, ensure_offline_folder_1.ensureOfflineFolder)();
91547
91696
  logger.log(`[pid=${process.pid} Core is initialized ${defaultBase ? "with" : "without"} custom base core ${offlineLocationPath ? `and offline location ${offlineLocationPath} ` : ""}and environment `, environment);
91548
91697
  if (environment.sdk)
91549
91698
  void (0, validate_sdk_version_1.validateSdkVersion)(environment.sdk, { logger });
91550
- const base = defaultBase !== null && defaultBase !== void 0 ? defaultBase : (0, core_base_1.makeCore)({ agentId, concurrency, logger, offlineLocationPath });
91699
+ const base = defaultBase !== null && defaultBase !== void 0 ? defaultBase : (0, core_base_1.makeCore)({ agentId, concurrency, logger, offlineLocationPath, maskLog });
91551
91700
  const cores = {
91552
- ufg: (0, core_2.makeCore)({ spec, clients, base, asyncCache, logger, offlineLocationPath }),
91553
- classic: (0, core_1.makeCore)({ spec, clients, base, logger, offlineLocationPath })
91701
+ ufg: (0, core_2.makeCore)({ spec, clients, base, asyncCache, logger, offlineLocationPath, maskLog }),
91702
+ classic: (0, core_1.makeCore)({ spec, clients, base, logger, offlineLocationPath, maskLog })
91554
91703
  };
91555
91704
  return utils34.general.extend(base, (core) => {
91556
91705
  return {
@@ -91572,7 +91721,8 @@ var require_core4 = __commonJS({
91572
91721
  environment,
91573
91722
  asyncCache,
91574
91723
  logger,
91575
- offlineLocationPath
91724
+ offlineLocationPath,
91725
+ maskLog
91576
91726
  }),
91577
91727
  locate: (0, locate_1.makeLocate)({ spec, core, logger }),
91578
91728
  locateText: (0, locate_text_1.makeLocateText)({ spec, core, logger }),
@@ -93871,7 +94021,8 @@ var require_ws_server = __commonJS({
93871
94021
  response.end();
93872
94022
  }
93873
94023
  });
93874
- http.listen(port, "localhost");
94024
+ const hostName = process.env.APPLITOOLS_UNIVERSAL_HOST_NAME || "localhost";
94025
+ http.listen(port, hostName);
93875
94026
  return new Promise((resolve, reject) => {
93876
94027
  http.on("listening", () => {
93877
94028
  const ws = new ws_1.Server({ server: http, path: "/eyes", maxPayload: 256 * 1024 * 1024 });
@@ -94012,7 +94163,8 @@ var require_history = __commonJS({
94012
94163
  const history = {
94013
94164
  managers: /* @__PURE__ */ new Map(),
94014
94165
  eyes: /* @__PURE__ */ new Map(),
94015
- startedAt: (/* @__PURE__ */ new Date()).toISOString()
94166
+ startedAt: (/* @__PURE__ */ new Date()).toISOString(),
94167
+ unknownEvents: []
94016
94168
  };
94017
94169
  const originalCommand = socket.command;
94018
94170
  socket.command = function command(name, fn) {
@@ -94061,6 +94213,8 @@ var require_history = __commonJS({
94061
94213
  eyesHistory.result = error !== null && error !== void 0 ? error : result;
94062
94214
  }
94063
94215
  }
94216
+ } else {
94217
+ history.unknownEvents.push({ name, payload });
94064
94218
  }
94065
94219
  }
94066
94220
  });
@@ -94117,6 +94271,7 @@ var require_core_server = __commonJS({
94117
94271
  // 15min
94118
94272
  printStdout = false,
94119
94273
  isProcess = false,
94274
+ maskLog = false,
94120
94275
  ...handlerOptions
94121
94276
  } = {}) {
94122
94277
  var _a, _b;
@@ -94124,7 +94279,8 @@ var require_core_server = __commonJS({
94124
94279
  const baseLogger = (0, logger_1.makeLogger)({
94125
94280
  handler: { type: "rolling file", name: "universal", dirname: logDirname },
94126
94281
  level: "info",
94127
- format: { label: "core-universal", colors: false }
94282
+ format: { label: "core-universal", colors: false },
94283
+ maskLog
94128
94284
  });
94129
94285
  baseLogger.log("Core universal is going to be initialized with options", {
94130
94286
  debug,
@@ -94183,7 +94339,8 @@ var require_core_server = __commonJS({
94183
94339
  warn: (message) => socket.emit("Logger.log", { level: "warn", message }),
94184
94340
  error: (message) => socket.emit("Logger.log", { level: "error", message }),
94185
94341
  fatal: (message) => socket.emit("Logger.log", { level: "fatal", message })
94186
- }
94342
+ },
94343
+ maskLog
94187
94344
  });
94188
94345
  logger.console.log(`Logs saved in: ${logDirname}`);
94189
94346
  const corePromise = socket.wait("Core.makeCore", ({ spec, agentId, environment, cwd }) => {
@@ -94197,7 +94354,8 @@ var require_core_server = __commonJS({
94197
94354
  versions: { ...defaultEnvironment === null || defaultEnvironment === void 0 ? void 0 : defaultEnvironment.versions, ...environment === null || environment === void 0 ? void 0 : environment.versions },
94198
94355
  universal: true
94199
94356
  },
94200
- logger
94357
+ logger,
94358
+ maskLog
94201
94359
  });
94202
94360
  });
94203
94361
  socket.command("Core.getAccountInfo", async (options) => {
@@ -94282,7 +94440,20 @@ var require_core_server = __commonJS({
94282
94440
  return (_a2 = refer2.deref(eyes)) === null || _a2 === void 0 ? void 0 : _a2.getResults(options);
94283
94441
  });
94284
94442
  socket.command("Debug.getHistory", async () => {
94285
- return getHistory();
94443
+ return {
94444
+ ...getHistory(),
94445
+ initialArgs: {
94446
+ environment: defaultEnvironment,
94447
+ agentIdPrefix,
94448
+ debug,
94449
+ shutdownMode,
94450
+ idleTimeout,
94451
+ printStdout,
94452
+ isProcess,
94453
+ maskLog,
94454
+ ...handlerOptions
94455
+ }
94456
+ };
94286
94457
  });
94287
94458
  });
94288
94459
  process.on("unhandledRejection", (error) => {
@@ -94619,6 +94790,8 @@ var require_open_eyes5 = __commonJS({
94619
94790
  function makeOpenEyes({ core, logger: defaultLogger }) {
94620
94791
  return async function openEyes({ settings, logger = defaultLogger }) {
94621
94792
  (0, populate_eyes_server_settings_1.populateEyesServerSettings)(settings);
94793
+ logger.mask(settings.apiKey);
94794
+ logger.mask(settings.eyesServerUrl);
94622
94795
  return core.base.openEyes({ settings, logger });
94623
94796
  };
94624
94797
  }
@@ -95660,7 +95833,7 @@ var require_package3 = __commonJS({
95660
95833
  "../eyes/package.json"(exports, module) {
95661
95834
  module.exports = {
95662
95835
  name: "@applitools/eyes",
95663
- version: "1.29.3",
95836
+ version: "1.30.0",
95664
95837
  keywords: [
95665
95838
  "applitools",
95666
95839
  "eyes",
@@ -99346,7 +99519,10 @@ var ConfigurationData = class {
99346
99519
  os: this.hostOS,
99347
99520
  displayOs: this.hostOSInfo,
99348
99521
  deviceName: this.deviceInfo,
99349
- viewportSize: this.viewportSize
99522
+ viewportSize: this.viewportSize && {
99523
+ width: this.viewportSize.width,
99524
+ height: this.viewportSize.height
99525
+ }
99350
99526
  }),
99351
99527
  branchName: this.branchName,
99352
99528
  parentBranchName: this.parentBranchName,
@@ -100039,7 +100215,9 @@ init_buffer();
100039
100215
  init_setInterval();
100040
100216
  var import_core = __toESM(require_dist9());
100041
100217
  var utils29 = __toESM(require_browser3());
100042
- function initSDK(options) {
100218
+ function initSDK(options, maskLog) {
100219
+ if (options)
100220
+ options.maskLog = maskLog;
100043
100221
  return {
100044
100222
  core: getCoreWithCache(options),
100045
100223
  spec: options == null ? void 0 : options.spec
@@ -100219,6 +100397,8 @@ var EyesRunner = class {
100219
100397
  this._managerSettings = {};
100220
100398
  /** @internal */
100221
100399
  this._getResultsSettings = {};
100400
+ var _a;
100401
+ this._maskLog = (_a = options == null ? void 0 : options.maskLog) != null ? _a : false;
100222
100402
  if (options) {
100223
100403
  this._managerSettings = {
100224
100404
  concurrency: options.testConcurrency,
@@ -100308,7 +100488,8 @@ var Eyes = class {
100308
100488
  this._state = {};
100309
100489
  this._events = /* @__PURE__ */ new Map();
100310
100490
  this._handlers = new SessionEventHandlers();
100311
- const sdk = initSDK(this._sdk);
100491
+ const maskLog = utils32.types.instanceOf(runnerOrConfig, EyesRunner) ? runnerOrConfig._maskLog : false;
100492
+ const sdk = initSDK(this._sdk, maskLog);
100312
100493
  this._spec = sdk.spec;
100313
100494
  this._core = sdk.core;
100314
100495
  if (utils32.types.instanceOf(runnerOrConfig, EyesRunner)) {
@@ -100326,7 +100507,7 @@ var Eyes = class {
100326
100507
  return this.constructor._sdk;
100327
100508
  }
100328
100509
  static async getExecutionCloudUrl(config) {
100329
- const { core } = initSDK(this._sdk);
100510
+ const { core } = initSDK(this._sdk, config == null ? void 0 : config.maskLog);
100330
100511
  const client = await core.getECClient({
100331
100512
  settings: {
100332
100513
  proxy: config == null ? void 0 : config.proxy,
@@ -100339,7 +100520,7 @@ var Eyes = class {
100339
100520
  static async setViewportSize(driver, size) {
100340
100521
  var _a;
100341
100522
  const { core } = initSDK(this._sdk);
100342
- await ((_a = core.setViewportSize) == null ? void 0 : _a.call(core, { target: driver, size }));
100523
+ await ((_a = core.setViewportSize) == null ? void 0 : _a.call(core, { target: driver, size: { width: size.width, height: size.height } }));
100343
100524
  }
100344
100525
  static setMobileCapabilities(capabilities, config) {
100345
100526
  var _a, _b;
@@ -100461,7 +100642,10 @@ var Eyes = class {
100461
100642
  config.open.testName = testNameOrViewportSize;
100462
100643
  if (utils32.types.has(viewportSizeOrSessionType, ["width", "height"])) {
100463
100644
  (_f = (_e = config.open).environment) != null ? _f : _e.environment = {};
100464
- config.open.environment.viewportSize = viewportSizeOrSessionType;
100645
+ config.open.environment.viewportSize = {
100646
+ width: viewportSizeOrSessionType.width,
100647
+ height: viewportSizeOrSessionType.height
100648
+ };
100465
100649
  }
100466
100650
  if (utils32.types.isEnumValue(sessionType, SessionTypeEnum))
100467
100651
  config.open.sessionType = sessionType;
@@ -100692,6 +100876,7 @@ var Eyes = class {
100692
100876
  async setViewportSize(size) {
100693
100877
  var _a, _b;
100694
100878
  utils32.guard.notNull(size, { name: "size" });
100879
+ size = { width: size.width, height: size.height };
100695
100880
  if (!this._driver) {
100696
100881
  this._config.setViewportSize(size);
100697
100882
  } else {