@applitools/core 4.47.0 → 4.48.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,69 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.48.0](https://github.com/Applitools-Dev/sdk/compare/js/core@4.47.1...js/core@4.48.0) (2025-09-22)
4
+
5
+
6
+ ### Features
7
+
8
+ * use concurrency from server | AD-10015 ([#3207](https://github.com/Applitools-Dev/sdk/issues/3207)) ([5336c9e](https://github.com/Applitools-Dev/sdk/commit/5336c9e6578a8f935b2b255344e7172beadeb551))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * @applitools/nml-client bumped to 1.11.6
14
+
15
+ * @applitools/core-base bumped to 1.28.0
16
+ #### Features
17
+
18
+ * use concurrency from server | AD-10015 ([#3207](https://github.com/Applitools-Dev/sdk/issues/3207)) ([5336c9e](https://github.com/Applitools-Dev/sdk/commit/5336c9e6578a8f935b2b255344e7172beadeb551))
19
+ * @applitools/ec-client bumped to 1.12.8
20
+
21
+
22
+ ## [4.47.1](https://github.com/Applitools-Dev/sdk/compare/js/core@4.47.0...js/core@4.47.1) (2025-09-16)
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * remove duplicate tests on different sessions for same batch ([#3184](https://github.com/Applitools-Dev/sdk/issues/3184)) ([ede0d1f](https://github.com/Applitools-Dev/sdk/commit/ede0d1fd8018e14c19811903d78c273bce048f84))
28
+
29
+
30
+ ### Dependencies
31
+
32
+ * @applitools/logger bumped to 2.2.4
33
+ #### Bug Fixes
34
+
35
+ * remove duplicate tests on different sessions for same batch ([#3184](https://github.com/Applitools-Dev/sdk/issues/3184)) ([ede0d1f](https://github.com/Applitools-Dev/sdk/commit/ede0d1fd8018e14c19811903d78c273bce048f84))
36
+ * @applitools/dom-snapshot bumped to 4.13.7
37
+
38
+ * @applitools/socket bumped to 1.3.5
39
+
40
+ * @applitools/req bumped to 1.8.4
41
+
42
+ * @applitools/dom-capture bumped to 11.6.5
43
+
44
+ * @applitools/driver bumped to 1.23.5
45
+
46
+ * @applitools/spec-driver-webdriver bumped to 1.4.5
47
+
48
+ * @applitools/spec-driver-selenium bumped to 1.7.5
49
+
50
+ * @applitools/spec-driver-puppeteer bumped to 1.6.5
51
+
52
+ * @applitools/screenshoter bumped to 3.12.5
53
+
54
+ * @applitools/nml-client bumped to 1.11.5
55
+
56
+ * @applitools/tunnel-client bumped to 1.11.2
57
+
58
+ * @applitools/ufg-client bumped to 1.17.4
59
+
60
+ * @applitools/core-base bumped to 1.27.4
61
+
62
+ * @applitools/ec-client bumped to 1.12.7
63
+
64
+ * @applitools/test-server bumped to 1.3.3
65
+
66
+
3
67
  ## [4.47.0](https://github.com/Applitools-Dev/sdk/compare/js/core@4.46.0...js/core@4.47.0) (2025-09-15)
4
68
 
5
69
 
@@ -34,10 +34,10 @@ const extract_text_1 = require("../automation/extract-text");
34
34
  const get_nml_client_1 = require("../automation/get-nml-client");
35
35
  const open_eyes_1 = require("./open-eyes");
36
36
  const utils = __importStar(require("@applitools/utils"));
37
- function makeCore({ spec, clients, base: defaultBase, concurrency, agentId = 'core-classic', logger: defaultLogger, maskLog, offlineLocationPath, }) {
37
+ function makeCore({ spec, clients, base: defaultBase, agentId = 'core-classic', logger: defaultLogger, maskLog, offlineLocationPath, }) {
38
38
  const logger = (0, logger_1.makeLogger)({ logger: defaultLogger, format: { label: 'core-classic' }, maskLog });
39
39
  logger.log(`Core classic is initialized ${defaultBase ? 'with' : 'without'} custom base core`);
40
- const base = defaultBase !== null && defaultBase !== void 0 ? defaultBase : (0, core_base_1.makeCore)({ agentId, concurrency, logger, offlineLocationPath, maskLog });
40
+ const base = defaultBase !== null && defaultBase !== void 0 ? defaultBase : (0, core_base_1.makeCore)({ agentId, logger, offlineLocationPath, maskLog });
41
41
  return utils.general.extend(base, core => {
42
42
  return {
43
43
  type: 'classic',
package/dist/core.js CHANGED
@@ -54,7 +54,7 @@ function makeCore({ spec, clients, base: defaultBase, concurrency = utils.genera
54
54
  logger.log(`[pid=${process.pid} Core is initialized ${defaultBase ? 'with' : 'without'} custom base core ${offlineLocationPath ? `and offline location ${offlineLocationPath} ` : ''}and environment `, environment);
55
55
  if (environment.sdk)
56
56
  void (0, validate_sdk_version_1.validateSdkVersion)(environment.sdk, { logger });
57
- const base = defaultBase !== null && defaultBase !== void 0 ? defaultBase : (0, core_base_1.makeCore)({ agentId, concurrency, logger, offlineLocationPath, maskLog });
57
+ const base = defaultBase !== null && defaultBase !== void 0 ? defaultBase : (0, core_base_1.makeCore)({ agentId, logger, offlineLocationPath, maskLog });
58
58
  const cores = {
59
59
  ufg: (0, core_2.makeCore)({ spec, clients, base, asyncCache, logger, offlineLocationPath, maskLog }),
60
60
  classic: (0, core_1.makeCore)({ spec, clients, base, logger, offlineLocationPath, maskLog }),
@@ -85,7 +85,7 @@ function makeCore({ spec, clients, base: defaultBase, concurrency = utils.genera
85
85
  locate: (0, locate_1.makeLocate)({ spec, core, logger }),
86
86
  locateText: (0, locate_text_1.makeLocateText)({ spec, core, logger }),
87
87
  extractText: (0, extract_text_1.makeExtractText)({ spec, core, logger }),
88
- openEyes: (0, open_eyes_1.makeOpenEyes)({ spec, clients, core, cores, environment, asyncCache, cwd, logger }),
88
+ openEyes: (0, open_eyes_1.makeOpenEyes)({ spec, clients, core, cores, environment, asyncCache, cwd, concurrency, logger }),
89
89
  closeBatch: (0, close_batch_1.makeCloseBatch)({ core, logger }),
90
90
  deleteTest: (0, delete_test_1.makeDeleteTest)({ core, logger }),
91
91
  takeSnapshots: spec && (0, take_snapshots_1.makeTakeSnapshots)({ spec, core: cores.ufg, logger }),
package/dist/index.js CHANGED
@@ -35,4 +35,3 @@ __exportStar(require("./autonomous/core"), exports);
35
35
  __exportStar(require("@applitools/driver/dist/debug"), exports);
36
36
  exports.formatters = __importStar(require("./utils/format-results"));
37
37
  exports.logs = __importStar(require("./troubleshoot/logs"));
38
- __exportStar(require("./utils/constants"), exports);
@@ -30,20 +30,19 @@ const core_2 = require("./ufg/core");
30
30
  const open_eyes_1 = require("./open-eyes");
31
31
  const get_manager_results_1 = require("./get-manager-results");
32
32
  const utils = __importStar(require("@applitools/utils"));
33
- const constants_1 = require("./utils/constants");
34
33
  function makeMakeManager({ spec, clients, core, base: defaultBase, agentId: defaultAgentId, environment, cwd = process.cwd(), logger: mainLogger, asyncCache, offlineLocationPath, maskLog, }) {
35
34
  return async function makeManager({ type = 'classic', settings, logger = mainLogger, } = {}) {
36
35
  var _a, _b, _c, _d, _e, _f, _g;
37
36
  var _h, _j;
38
37
  logger = logger.extend(mainLogger, { tags: [`manager-${type}-${utils.general.shortid()}`], maskLog });
39
38
  settings !== null && settings !== void 0 ? settings : (settings = {});
40
- (_a = settings.concurrency) !== null && _a !== void 0 ? _a : (settings.concurrency = (_b = utils.general.getEnvValue('CONCURRENCY', 'number')) !== null && _b !== void 0 ? _b : (utils.types.isInteger(settings.legacyConcurrency) ? settings.legacyConcurrency * 5 : constants_1.DEFAULT_CONCURRENCY));
39
+ (_a = settings.concurrency) !== null && _a !== void 0 ? _a : (settings.concurrency = (_b = utils.general.getEnvValue('CONCURRENCY', 'number')) !== null && _b !== void 0 ? _b : (utils.types.isInteger(settings.legacyConcurrency) ? settings.legacyConcurrency * 5 : undefined));
41
40
  (_c = settings.batch) !== null && _c !== void 0 ? _c : (settings.batch = {});
42
41
  (_d = (_h = settings.batch).id) !== null && _d !== void 0 ? _d : (_h.id = (_e = utils.general.getEnvValue('BATCH_ID')) !== null && _e !== void 0 ? _e : `generated-${utils.general.guid()}`);
43
42
  (_f = (_j = settings.batch).buildId) !== null && _f !== void 0 ? _f : (_j.buildId = utils.general.getEnvValue('BATCH_BUILD_ID'));
44
43
  (_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);
45
44
  logger.log('Command "makeManager" is called with settings', settings);
46
- const base = defaultBase !== null && defaultBase !== void 0 ? defaultBase : (0, core_base_1.makeCore)({ agentId: settings.agentId, concurrency: settings.concurrency, logger, offlineLocationPath, maskLog });
45
+ const base = defaultBase !== null && defaultBase !== void 0 ? defaultBase : (0, core_base_1.makeCore)({ agentId: settings.agentId, logger, offlineLocationPath, maskLog });
47
46
  const fetchConcurrency = settings.fetchConcurrency;
48
47
  const cores = {
49
48
  ufg: (0, core_2.makeCore)({ spec, clients, base, fetchConcurrency, asyncCache, logger, offlineLocationPath, maskLog }),
@@ -51,9 +50,6 @@ function makeMakeManager({ spec, clients, core, base: defaultBase, agentId: defa
51
50
  };
52
51
  const storage = [];
53
52
  return {
54
- get concurrency() {
55
- return base.concurrency;
56
- },
57
53
  base,
58
54
  openEyes: utils.general.wrap((0, open_eyes_1.makeOpenEyes)({
59
55
  type,
@@ -66,6 +62,8 @@ function makeMakeManager({ spec, clients, core, base: defaultBase, agentId: defa
66
62
  environment,
67
63
  asyncCache,
68
64
  cwd,
65
+ concurrency: settings.concurrency,
66
+ useServerConcurrency: settings.useServerConcurrency,
69
67
  logger,
70
68
  }), async (openEyes, options) => {
71
69
  const eyes = await openEyes(options);
package/dist/open-eyes.js CHANGED
@@ -37,10 +37,11 @@ const populate_eyes_server_settings_1 = require("./utils/populate-eyes-server-se
37
37
  const utils = __importStar(require("@applitools/utils"));
38
38
  const core_base_1 = require("@applitools/core-base");
39
39
  const extract_git_info_1 = require("./utils/extract-git-info");
40
- function makeOpenEyes({ type: defaultType = 'classic', clients, batch, removeDuplicateTests, core, cores, spec, environment, logger: mainLogger, asyncCache, cwd = process.cwd(), }) {
40
+ const types_1 = require("./types");
41
+ function makeOpenEyes({ type: defaultType = 'classic', clients, batch, removeDuplicateTests, core, cores, spec, environment, logger: mainLogger, asyncCache, concurrency, useServerConcurrency = false, cwd = process.cwd(), }) {
41
42
  return async function openEyes({ type = defaultType, settings: openSettings, config, target, logger = mainLogger, }) {
42
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1;
43
- var _2, _3, _4, _5, _6;
43
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;
44
+ var _1, _2, _3, _4, _5;
44
45
  logger = logger.extend(mainLogger, { tags: [`eyes-${type}-${utils.general.shortid()}`] });
45
46
  const settings = { environments: config === null || config === void 0 ? void 0 : config.check.environments, ...config === null || config === void 0 ? void 0 : config.open, ...openSettings };
46
47
  const eyesServerSettings = (0, populate_eyes_server_settings_1.populateEyesServerSettings)(settings);
@@ -48,11 +49,11 @@ function makeOpenEyes({ type: defaultType = 'classic', clients, batch, removeDup
48
49
  logger.mask(eyesServerSettings.eyesServerUrl);
49
50
  (_a = settings.userTestId) !== null && _a !== void 0 ? _a : (settings.userTestId = `${settings.testName}--${utils.general.guid()}`);
50
51
  settings.batch = { ...batch, ...settings.batch };
51
- (_b = (_2 = settings.batch).id) !== null && _b !== void 0 ? _b : (_2.id = (_c = utils.general.getEnvValue('BATCH_ID')) !== null && _c !== void 0 ? _c : `generated-${utils.general.guid()}`);
52
- (_d = (_3 = settings.batch).buildId) !== null && _d !== void 0 ? _d : (_3.buildId = utils.general.getEnvValue('BATCH_BUILD_ID'));
53
- (_e = (_4 = settings.batch).name) !== null && _e !== void 0 ? _e : (_4.name = utils.general.getEnvValue('BATCH_NAME'));
54
- (_f = (_5 = settings.batch).sequenceName) !== null && _f !== void 0 ? _f : (_5.sequenceName = utils.general.getEnvValue('BATCH_SEQUENCE'));
55
- (_g = (_6 = settings.batch).notifyOnCompletion) !== null && _g !== void 0 ? _g : (_6.notifyOnCompletion = utils.general.getEnvValue('BATCH_NOTIFY', 'boolean'));
52
+ (_b = (_1 = settings.batch).id) !== null && _b !== void 0 ? _b : (_1.id = (_c = utils.general.getEnvValue('BATCH_ID')) !== null && _c !== void 0 ? _c : `generated-${utils.general.guid()}`);
53
+ (_d = (_2 = settings.batch).buildId) !== null && _d !== void 0 ? _d : (_2.buildId = utils.general.getEnvValue('BATCH_BUILD_ID'));
54
+ (_e = (_3 = settings.batch).name) !== null && _e !== void 0 ? _e : (_3.name = utils.general.getEnvValue('BATCH_NAME'));
55
+ (_f = (_4 = settings.batch).sequenceName) !== null && _f !== void 0 ? _f : (_4.sequenceName = utils.general.getEnvValue('BATCH_SEQUENCE'));
56
+ (_g = (_5 = settings.batch).notifyOnCompletion) !== null && _g !== void 0 ? _g : (_5.notifyOnCompletion = utils.general.getEnvValue('BATCH_NOTIFY', 'boolean'));
56
57
  (_h = settings.keepBatchOpen) !== null && _h !== void 0 ? _h : (settings.keepBatchOpen = utils.general.getEnvValue('DONT_CLOSE_BATCHES', 'boolean'));
57
58
  (_j = settings.branchName) !== null && _j !== void 0 ? _j : (settings.branchName = (_k = utils.general.getEnvValue('BRANCH')) !== null && _k !== void 0 ? _k : utils.general.getEnvValue('BRANCH_NAME'));
58
59
  (_l = settings.parentBranchName) !== null && _l !== void 0 ? _l : (settings.parentBranchName = (_m = utils.general.getEnvValue('PARENT_BRANCH')) !== null && _m !== void 0 ? _m : utils.general.getEnvValue('PARENT_BRANCH_NAME'));
@@ -101,6 +102,30 @@ function makeOpenEyes({ type: defaultType = 'classic', clients, batch, removeDup
101
102
  });
102
103
  }
103
104
  }
105
+ const account = await core.getAccountInfo({ settings: eyesServerSettings, logger });
106
+ const componentConcurrency = account.serverConcurrency.componentConcurrency;
107
+ // TODO remove this hacky override `useServerConcurrency` once we want to override for all SDKs
108
+ // remember when implementing: other SDKs use session concurrency, not component concurrency like storybook
109
+ if (useServerConcurrency) {
110
+ if (concurrency && concurrency < componentConcurrency) {
111
+ logger.console.warn(`Eyes Storybook "testConcurrency" explicitly set to ${concurrency}, which is lower than your available limit of ${componentConcurrency}. Using the lower value as requested.`);
112
+ settings.sessionConcurrency = concurrency;
113
+ }
114
+ else {
115
+ settings.sessionConcurrency = componentConcurrency;
116
+ if (concurrency) {
117
+ logger.console.warn(`Overriding user-defined "testConcurrency". Using organization concurrency limit from Eyes server: ${settings.sessionConcurrency}`);
118
+ }
119
+ }
120
+ }
121
+ else {
122
+ if (concurrency) {
123
+ settings.sessionConcurrency = concurrency;
124
+ }
125
+ else {
126
+ settings.sessionConcurrency = types_1.DEFAULT_CONCURRENCY;
127
+ }
128
+ }
104
129
  void core.logEvent({
105
130
  settings: {
106
131
  ...settings,
@@ -108,7 +133,7 @@ function makeOpenEyes({ type: defaultType = 'classic', clients, batch, removeDup
108
133
  event: {
109
134
  type: 'openEyes',
110
135
  userTestId: settings.userTestId,
111
- concurrency: (_0 = cores === null || cores === void 0 ? void 0 : cores[type].concurrency) !== null && _0 !== void 0 ? _0 : core.concurrency,
136
+ concurrency: settings.sessionConcurrency,
112
137
  environment,
113
138
  driver: {
114
139
  deviceName: driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.deviceName,
@@ -116,7 +141,7 @@ function makeOpenEyes({ type: defaultType = 'classic', clients, batch, removeDup
116
141
  browserVersion: driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.browserVersion,
117
142
  platformName: driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.platformName,
118
143
  platformVersion: driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.platformVersion,
119
- isApplitoolsLib: (_1 = driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.applitoolsLib) === null || _1 === void 0 ? void 0 : _1.instrumented,
144
+ isApplitoolsLib: (_0 = driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.applitoolsLib) === null || _0 === void 0 ? void 0 : _0.instrumented,
120
145
  isEC: driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.isEC,
121
146
  },
122
147
  driverUrl,
package/dist/types.js CHANGED
@@ -14,4 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.DEFAULT_CONCURRENCY = void 0;
17
18
  __exportStar(require("./automation/types"), exports);
19
+ var core_base_1 = require("@applitools/core-base");
20
+ Object.defineProperty(exports, "DEFAULT_CONCURRENCY", { enumerable: true, get: function () { return core_base_1.DEFAULT_CONCURRENCY; } });
package/dist/ufg/core.js CHANGED
@@ -36,10 +36,10 @@ const take_snapshots_1 = require("./take-snapshots");
36
36
  const get_ufg_client_1 = require("./get-ufg-client");
37
37
  const open_eyes_1 = require("./open-eyes");
38
38
  const utils = __importStar(require("@applitools/utils"));
39
- function makeCore({ spec, clients, base: defaultBase, asyncCache, concurrency, offlineLocationPath, fetchConcurrency, agentId = 'core-ufg', logger: defaultLogger, maskLog, }) {
39
+ function makeCore({ spec, clients, base: defaultBase, asyncCache, offlineLocationPath, fetchConcurrency, agentId = 'core-ufg', logger: defaultLogger, maskLog, }) {
40
40
  const logger = (0, logger_1.makeLogger)({ logger: defaultLogger, format: { label: 'core-ufg' }, maskLog });
41
41
  logger.log(`Core ufg is initialized ${defaultBase ? 'with' : 'without'} custom base core`);
42
- const base = defaultBase !== null && defaultBase !== void 0 ? defaultBase : (0, core_base_1.makeCore)({ agentId, concurrency, logger, offlineLocationPath, maskLog });
42
+ const base = defaultBase !== null && defaultBase !== void 0 ? defaultBase : (0, core_base_1.makeCore)({ agentId, logger, offlineLocationPath, maskLog });
43
43
  const ufgClient = clients === null || clients === void 0 ? void 0 : clients.ufg;
44
44
  return utils.general.extend(base, core => {
45
45
  return {
@@ -15,10 +15,10 @@ const history_1 = require("./history");
15
15
  const os_1 = __importDefault(require("os"));
16
16
  const path_1 = __importDefault(require("path"));
17
17
  async function makeCoreServer({ environment: defaultEnvironment, agentIdPrefix = `eyes-universal/${require('../../package.json').version}`, debug = false, shutdownMode = 'lazy', idleTimeout = 900000, // 15min
18
- printStdout = false, isProcess = false, maskLog = false, ...handlerOptions } = {}) {
18
+ printStdout = false, isProcess = false, maskLog = false, logger = undefined, ...handlerOptions } = {}) {
19
19
  var _a, _b;
20
20
  const logDirname = (_a = process.env.APPLITOOLS_LOG_DIR) !== null && _a !== void 0 ? _a : path_1.default.resolve(os_1.default.tmpdir(), `applitools-logs`);
21
- const baseLogger = (0, logger_1.makeLogger)({
21
+ const baseLogger = logger !== null && logger !== void 0 ? logger : (0, logger_1.makeLogger)({
22
22
  handler: { type: 'rolling file', name: 'universal', dirname: logDirname },
23
23
  level: 'info',
24
24
  format: { label: 'core-universal', colors: false },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/core",
3
- "version": "4.47.0",
3
+ "version": "4.48.0",
4
4
  "homepage": "https://applitools.com",
5
5
  "bugs": {
6
6
  "url": "https://github.com/applitools/eyes.sdk.javascript1/issues"
@@ -79,19 +79,19 @@
79
79
  }
80
80
  },
81
81
  "dependencies": {
82
- "@applitools/core-base": "1.27.3",
83
- "@applitools/dom-capture": "11.6.4",
84
- "@applitools/dom-snapshot": "4.13.6",
85
- "@applitools/driver": "1.23.4",
86
- "@applitools/ec-client": "1.12.6",
87
- "@applitools/logger": "2.2.3",
88
- "@applitools/nml-client": "1.11.4",
89
- "@applitools/req": "1.8.3",
90
- "@applitools/screenshoter": "3.12.4",
82
+ "@applitools/core-base": "1.28.0",
83
+ "@applitools/dom-capture": "11.6.5",
84
+ "@applitools/dom-snapshot": "4.13.7",
85
+ "@applitools/driver": "1.23.5",
86
+ "@applitools/ec-client": "1.12.8",
87
+ "@applitools/logger": "2.2.4",
88
+ "@applitools/nml-client": "1.11.6",
89
+ "@applitools/req": "1.8.4",
90
+ "@applitools/screenshoter": "3.12.5",
91
91
  "@applitools/snippets": "2.7.0",
92
- "@applitools/socket": "1.3.4",
93
- "@applitools/spec-driver-webdriver": "1.4.4",
94
- "@applitools/ufg-client": "1.17.3",
92
+ "@applitools/socket": "1.3.5",
93
+ "@applitools/spec-driver-webdriver": "1.4.5",
94
+ "@applitools/ufg-client": "1.17.4",
95
95
  "@applitools/utils": "1.12.0",
96
96
  "@types/ws": "8.5.5",
97
97
  "abort-controller": "3.0.0",
@@ -106,11 +106,11 @@
106
106
  "devDependencies": {
107
107
  "@applitools/bongo": "^5.10.0",
108
108
  "@applitools/sea": "^1.0.0",
109
- "@applitools/spec-driver-puppeteer": "^1.6.4",
110
- "@applitools/spec-driver-selenium": "^1.7.4",
111
- "@applitools/test-server": "^1.3.2",
109
+ "@applitools/spec-driver-puppeteer": "^1.6.5",
110
+ "@applitools/spec-driver-selenium": "^1.7.5",
111
+ "@applitools/test-server": "^1.3.3",
112
112
  "@applitools/test-utils": "^1.5.17",
113
- "@applitools/tunnel-client": "^1.11.1",
113
+ "@applitools/tunnel-client": "^1.11.2",
114
114
  "@types/mocha": "^10.0.7",
115
115
  "@types/node": "^12.20.55",
116
116
  "@types/selenium-webdriver": "^4.1.2",
@@ -15,5 +15,5 @@ type Options<TSpec extends SpecType> = {
15
15
  offlineLocationPath?: string;
16
16
  maskLog?: boolean;
17
17
  };
18
- export declare function makeCore<TSpec extends SpecType>({ spec, clients, base: defaultBase, concurrency, agentId, logger: defaultLogger, maskLog, offlineLocationPath, }: Options<TSpec>): Core<TSpec>;
18
+ export declare function makeCore<TSpec extends SpecType>({ spec, clients, base: defaultBase, agentId, logger: defaultLogger, maskLog, offlineLocationPath, }: Options<TSpec>): Core<TSpec>;
19
19
  export {};
package/types/index.d.ts CHANGED
@@ -7,4 +7,3 @@ export { type SpecType, type SpecDriver, type Selector } from '@applitools/drive
7
7
  export * from '@applitools/driver/dist/debug';
8
8
  export * as formatters from './utils/format-results';
9
9
  export * as logs from './troubleshoot/logs';
10
- export * from './utils/constants';
@@ -20,8 +20,10 @@ type Options<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = {
20
20
  logger: Logger;
21
21
  asyncCache?: AsyncCache;
22
22
  cwd?: string;
23
+ concurrency?: number;
24
+ useServerConcurrency?: boolean;
23
25
  };
24
- export declare function makeOpenEyes<TSpec extends SpecType, TDefaultType extends 'classic' | 'ufg' = 'classic'>({ type: defaultType, clients, batch, removeDuplicateTests, core, cores, spec, environment, logger: mainLogger, asyncCache, cwd, }: Options<TSpec, TDefaultType>): <TType extends "classic" | "ufg" = TDefaultType>({ type, settings: openSettings, config, target, logger, }: {
26
+ export declare function makeOpenEyes<TSpec extends SpecType, TDefaultType extends 'classic' | 'ufg' = 'classic'>({ type: defaultType, clients, batch, removeDuplicateTests, core, cores, spec, environment, logger: mainLogger, asyncCache, concurrency, useServerConcurrency, cwd, }: Options<TSpec, TDefaultType>): <TType extends "classic" | "ufg" = TDefaultType>({ type, settings: openSettings, config, target, logger, }: {
25
27
  type?: TType | undefined;
26
28
  settings?: Partial<OpenSettings<TDefaultType> & OpenSettings<TType>> | undefined;
27
29
  config?: (Config<TSpec, TDefaultType> & Config<TSpec, TType>) | undefined;
package/types/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { MaybeArray } from '@applitools/utils';
2
- import type * as BaseCore from '@applitools/core-base/types';
2
+ import * as BaseCore from '@applitools/core-base/types';
3
3
  import type * as AutomationCore from './automation/types';
4
4
  import type * as ClassicCore from './classic/types';
5
5
  import type * as UFGCore from './ufg/types';
@@ -8,6 +8,7 @@ import { type Logger } from '@applitools/logger';
8
8
  import { type ECClient, type ECClientSettings } from '@applitools/ec-client';
9
9
  export { ECClient };
10
10
  export * from './automation/types';
11
+ export { DEFAULT_CONCURRENCY } from '@applitools/core-base';
11
12
  export type TypedCore<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.Core<TSpec> : ClassicCore.Core<TSpec>;
12
13
  export type TypedEyes<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.Eyes<TSpec> : ClassicCore.Eyes<TSpec>;
13
14
  export type Target<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.Target<TSpec> : ClassicCore.Target<TSpec>;
@@ -54,7 +55,6 @@ export interface Core<TSpec extends SpecType, TDefaultType extends 'classic' | '
54
55
  }): Promise<UFGCore.Snapshot[]>;
55
56
  }
56
57
  export interface EyesManager<TSpec extends SpecType, TDefaultType extends 'classic' | 'ufg' = 'classic' | 'ufg'> {
57
- readonly concurrency: number | undefined;
58
58
  readonly base: BaseCore.Core;
59
59
  openEyes<TType extends 'classic' | 'ufg' = TDefaultType>(options: {
60
60
  type?: TType;
@@ -112,6 +112,7 @@ export interface ManagerSettings {
112
112
  batch?: AutomationCore.Batch;
113
113
  agentId?: string;
114
114
  removeDuplicateTests?: boolean;
115
+ useServerConcurrency?: boolean;
115
116
  }
116
117
  export type Config<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = {
117
118
  open: Partial<Omit<OpenSettings<TType>, 'userCommandId'>>;
@@ -19,5 +19,5 @@ type Options<TSpec extends SpecType> = {
19
19
  offlineLocationPath?: string;
20
20
  maskLog?: boolean;
21
21
  };
22
- export declare function makeCore<TSpec extends SpecType>({ spec, clients, base: defaultBase, asyncCache, concurrency, offlineLocationPath, fetchConcurrency, agentId, logger: defaultLogger, maskLog, }: Options<TSpec>): Core<TSpec>;
22
+ export declare function makeCore<TSpec extends SpecType>({ spec, clients, base: defaultBase, asyncCache, offlineLocationPath, fetchConcurrency, agentId, logger: defaultLogger, maskLog, }: Options<TSpec>): Core<TSpec>;
23
23
  export {};
@@ -1,4 +1,5 @@
1
1
  import { type ServerOptions } from './ws-server';
2
+ import { type Logger } from '@applitools/logger';
2
3
  export type Options = ServerOptions & {
3
4
  environment?: Record<string, any>;
4
5
  agentIdPrefix?: string;
@@ -8,9 +9,10 @@ export type Options = ServerOptions & {
8
9
  printStdout?: boolean;
9
10
  isProcess?: boolean;
10
11
  maskLog?: boolean;
12
+ logger?: Logger;
11
13
  };
12
14
  export declare function makeCoreServer({ environment: defaultEnvironment, agentIdPrefix, debug, shutdownMode, idleTimeout, // 15min
13
- printStdout, isProcess, maskLog, ...handlerOptions }?: Options): Promise<{
15
+ printStdout, isProcess, maskLog, logger, ...handlerOptions }?: Options): Promise<{
14
16
  port: number;
15
17
  close?: () => void;
16
18
  }>;
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_CONCURRENCY = void 0;
4
- exports.DEFAULT_CONCURRENCY = 100;
@@ -1 +0,0 @@
1
- export declare const DEFAULT_CONCURRENCY = 100;