bdy 1.18.0-dev → 1.18.0-dev-scrape-869b6rbvf

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bdy",
3
3
  "preferGlobal": false,
4
- "version": "1.18.0-dev",
4
+ "version": "1.18.0-dev-scrape-869b6rbvf",
5
5
  "type": "commonjs",
6
6
  "license": "MIT",
7
7
  "scripts": {
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.validateInputAndOptions = validateInputAndOptions;
7
+ const zod_1 = require("zod");
8
+ const output_1 = __importDefault(require("../../output"));
9
+ const validation_1 = require("../vt/shared/validation");
10
+ const urlSchema = zod_1.z.string().url().optional();
11
+ const browserSchema = zod_1.z.enum(['chrome', 'firefox', 'safari']);
12
+ const browsersListSchema = zod_1.z
13
+ .string()
14
+ .transform((value) => value
15
+ .split(',')
16
+ .map((browser) => browser.trim().toLowerCase())
17
+ .filter((browser) => browser.length > 0))
18
+ .refine((browsers) => browsers.length > 0, {
19
+ message: 'Invalid browsers list. Supported values: chrome,firefox,safari',
20
+ })
21
+ .pipe(zod_1.z.array(browserSchema))
22
+ .transform((browsers) => Array.from(new Set(browsers.map((browser) => browser === 'chrome'
23
+ ? 'CHROMIUM'
24
+ : browser === 'firefox'
25
+ ? 'FIREFOX'
26
+ : 'WEBKIT'))));
27
+ const optionsSchema = zod_1.z.object({
28
+ follow: zod_1.z.boolean(),
29
+ respectRobots: zod_1.z.boolean(),
30
+ outputType: zod_1.z.enum(['jpeg', 'png', 'md', 'html']).optional(),
31
+ outputTypes: zod_1.z.string().optional(),
32
+ quality: zod_1.z.coerce.number().min(1).max(100).optional(),
33
+ outputDir: zod_1.z.string().default('.'),
34
+ fullPage: zod_1.z.boolean().optional(),
35
+ cssSelector: zod_1.z.string().optional(),
36
+ xpathSelector: zod_1.z.string().optional(),
37
+ colorScheme: zod_1.z.enum(['LIGHT', 'DARK', 'LIGHT_AND_DARK']).optional(),
38
+ browsers: browsersListSchema.optional(),
39
+ devices: zod_1.z.string().optional(),
40
+ delay: zod_1.z.coerce.number().min(0).max(10000),
41
+ waitFor: validation_1.waitForSchema,
42
+ cookie: validation_1.cookieSchema,
43
+ header: validation_1.headerSchema,
44
+ localStorage: zod_1.z
45
+ .array(zod_1.z.string().regex(/^(?:([^:]+)::)?([^=]+)=(.*)$/, {
46
+ message: "LocalStorage option must follow pattern '[scope::]key=value' (scope is optional)",
47
+ }))
48
+ .optional()
49
+ .transform((value) => value?.map((v) => {
50
+ const { scope, key, value } = (0, validation_1.parseScopedKeyValue)(v);
51
+ return { scope, key, value };
52
+ })),
53
+ });
54
+ function validateInputAndOptions(input, options) {
55
+ try {
56
+ const url = urlSchema.parse(input);
57
+ const { follow, respectRobots, outputType, outputTypes: rawOutputTypes, quality, outputDir, fullPage, cssSelector, xpathSelector, colorScheme, browsers: parsedBrowsers, devices: rawDevices, delay, waitFor, cookie, header, localStorage, } = optionsSchema.parse(options);
58
+ let parsedOutputTypes;
59
+ if (rawOutputTypes) {
60
+ try {
61
+ const outputTypeEntrySchema = zod_1.z.array(zod_1.z
62
+ .object({
63
+ type: zod_1.z.string().transform((v) => v.toUpperCase()),
64
+ selector: zod_1.z
65
+ .object({
66
+ type: zod_1.z.enum(['CSS', 'XPATH']).optional(),
67
+ value: zod_1.z.string().optional(),
68
+ })
69
+ .optional(),
70
+ quality: zod_1.z.number().min(1).max(100).optional(),
71
+ })
72
+ .transform((data) => ({
73
+ ...data,
74
+ type: data.type,
75
+ })));
76
+ parsedOutputTypes = outputTypeEntrySchema.parse(JSON.parse(rawOutputTypes));
77
+ }
78
+ catch {
79
+ output_1.default.exitError("Invalid --outputTypes value. Use JSON array, e.g. --outputTypes '[{\"type\":\"png\"},{\"type\":\"jpeg\",\"quality\":80}]'");
80
+ }
81
+ }
82
+ else if (outputType) {
83
+ if (typeof quality === 'number' && outputType !== 'jpeg') {
84
+ output_1.default.exitError('Quality is only supported for jpeg output type, use --outputType jpeg');
85
+ }
86
+ if (cssSelector && xpathSelector) {
87
+ output_1.default.exitError('Only one of --cssSelector or --xpathSelector can be used');
88
+ }
89
+ const entry = {
90
+ type: outputType.toUpperCase(),
91
+ };
92
+ if (cssSelector) {
93
+ entry.selector = { type: 'CSS', value: cssSelector };
94
+ }
95
+ else if (xpathSelector) {
96
+ entry.selector = { type: 'XPATH', value: xpathSelector };
97
+ }
98
+ if (typeof quality === 'number') {
99
+ entry.quality = quality;
100
+ }
101
+ parsedOutputTypes = [entry];
102
+ }
103
+ let parsedDevices;
104
+ if (rawDevices) {
105
+ try {
106
+ const viewportSchema = zod_1.z
107
+ .object({
108
+ width: zod_1.z.number().positive(),
109
+ height: zod_1.z.number().positive(),
110
+ })
111
+ .strict();
112
+ const deviceSchema = zod_1.z.array(zod_1.z
113
+ .object({
114
+ viewport: viewportSchema,
115
+ screen: viewportSchema.optional(),
116
+ devicePixelRatio: zod_1.z.number().positive().optional(),
117
+ isMobile: zod_1.z.boolean().optional(),
118
+ })
119
+ .strict()
120
+ .transform((data) => ({
121
+ viewport: data.viewport,
122
+ screen: data.screen ?? data.viewport,
123
+ devicePixelRatio: data.devicePixelRatio ?? 1,
124
+ isMobile: data.isMobile ?? false,
125
+ })));
126
+ parsedDevices = deviceSchema.parse(JSON.parse(rawDevices));
127
+ }
128
+ catch {
129
+ output_1.default.exitError('Invalid --devices value. Use JSON array, e.g. --devices \'[{"viewport":{"width":1920,"height":1080}}]\'');
130
+ }
131
+ }
132
+ return {
133
+ url,
134
+ follow,
135
+ respectRobots,
136
+ outputTypes: parsedOutputTypes,
137
+ outputDir,
138
+ fullPage,
139
+ colorScheme,
140
+ browsers: parsedBrowsers,
141
+ devices: parsedDevices,
142
+ cookies: cookie,
143
+ requestHeaders: header,
144
+ delay,
145
+ waitForSelectors: waitFor,
146
+ localStorage,
147
+ };
148
+ }
149
+ catch (error) {
150
+ if (error instanceof zod_1.ZodError) {
151
+ output_1.default.exitError(error.errors.map((e) => `${e.path}: ${e.message}`).join(', '));
152
+ }
153
+ else {
154
+ throw error;
155
+ }
156
+ }
157
+ }
@@ -3,49 +3,61 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const utils_1 = require("../../utils");
6
+ const utils_1 = require("../utils");
7
7
  const commander_1 = require("commander");
8
- const texts_1 = require("../../texts");
9
- const validation_1 = require("../../visualTest/validation");
10
- const output_1 = __importDefault(require("../../output"));
11
- const requests_1 = require("../../visualTest/requests");
12
- const zod_1 = require("zod");
8
+ const texts_1 = require("../texts");
9
+ const validation_1 = require("../visualTest/validation");
10
+ const output_1 = __importDefault(require("../output"));
11
+ const requests_1 = require("../visualTest/requests");
13
12
  const node_zlib_1 = require("node:zlib");
14
13
  const tar_stream_1 = __importDefault(require("tar-stream"));
15
14
  const promises_1 = require("node:stream/promises");
16
15
  const node_fs_1 = require("node:fs");
17
16
  const node_path_1 = __importDefault(require("node:path"));
18
17
  const promises_2 = require("node:fs/promises");
18
+ const context_1 = require("../visualTest/context");
19
+ const ci_info_1 = require("@buddy-works/ci-info");
20
+ const validation_2 = require("./scrape/validation");
19
21
  const commandScrape = (0, utils_1.newCommand)('scrape', texts_1.DESC_COMMAND_VT_SCRAPE);
20
- commandScrape.argument('<url>', texts_1.OPTION_SCRAPE_URL);
22
+ commandScrape.argument('[url]', texts_1.OPTION_SCRAPE_URL);
21
23
  commandScrape.option('--follow', texts_1.OPTION_SCRAPE_FOLLOW, false);
22
- commandScrape.addOption(new commander_1.Option('--outputType <type>', texts_1.OPTION_SCRAPE_OUTPUT_TYPE)
23
- .choices(['jpeg', 'png', 'md', 'html'])
24
- .makeOptionMandatory());
24
+ commandScrape.option('--respectRobots', texts_1.OPTION_COMPARE_RESPECT_ROBOTS, false);
25
+ commandScrape.addOption(new commander_1.Option('--outputType <type>', texts_1.OPTION_SCRAPE_OUTPUT_TYPE).choices([
26
+ 'jpeg',
27
+ 'png',
28
+ 'md',
29
+ 'html',
30
+ ]));
31
+ commandScrape.option('--outputTypes <json>', texts_1.OPTION_SCRAPE_OUTPUT_TYPES);
25
32
  commandScrape.option('--quality <quality>', texts_1.OPTION_SCRAPE_QUALITY);
26
33
  commandScrape.option('--fullPage', texts_1.OPTION_SCRAPE_FULL_PAGE, false);
27
34
  commandScrape.option('--cssSelector <selector>', texts_1.OPTION_SCRAPE_CSS_SELECTOR);
28
35
  commandScrape.option('--xpathSelector <selector>', texts_1.OPTION_SCRAPE_XPATH_SELECTOR);
29
- commandScrape.addOption(new commander_1.Option('--browser <browser>', texts_1.OPTION_SCRAPE_BROWSER)
30
- .choices(['chrome', 'firefox', 'safari'])
31
- .default('chrome'));
32
- commandScrape.option('--viewport <viewport>', texts_1.OPTION_SCRAPE_VIEWPORT, '1920x1080');
33
- commandScrape.option('--devicePixelRatio <ratio>', texts_1.OPTION_SCRAPE_DEVICE_PIXEL_RATIO, '1');
34
- commandScrape.option('--waitForElement <selector>', texts_1.OPTION_SCRAPE_WAIT_FOR_ELEMENT);
35
- commandScrape.option('--darkMode', texts_1.OPTION_SCRAPE_DARK_MODE, false);
36
+ commandScrape.addOption(new commander_1.Option('--colorScheme <scheme>', texts_1.OPTION_SCRAPE_COLOR_SCHEME).choices([
37
+ 'LIGHT',
38
+ 'DARK',
39
+ 'LIGHT_AND_DARK',
40
+ ]));
41
+ commandScrape.option('--browsers <browsers>', texts_1.OPTION_SCRAPE_BROWSERS);
42
+ commandScrape.option('--devices <devices>', texts_1.OPTION_SCRAPE_DEVICES);
43
+ commandScrape.option('--waitFor <waitFors...>', texts_1.OPTION_COMPARE_WAIT_FOR);
44
+ commandScrape.option('--cookie <cookies...>', texts_1.OPTION_COMPARE_COOKIE);
45
+ commandScrape.option('--header <headers...>', texts_1.OPTION_COMPARE_HEADER);
46
+ commandScrape.option('--localStorage <items...>', texts_1.OPTION_SCRAPE_LOCAL_STORAGE);
36
47
  commandScrape.option('--delay <delay>', texts_1.OPTION_SCRAPE_DELAY, '0');
37
48
  commandScrape.option('--outputDir <dir>', texts_1.OPTION_SCRAPE_OUTPUT_DIR, '.');
38
49
  commandScrape.action(async (inputUrl, options) => {
39
- if (!(0, validation_1.checkToken)()) {
40
- output_1.default.exitError(texts_1.ERR_MISSING_VT_TOKEN);
50
+ if (!(0, validation_1.checkToken)('scrape')) {
51
+ output_1.default.exitError(texts_1.ERR_MISSING_SCRAPE_TOKEN);
41
52
  }
42
- const { url, follow, outputType, quality, outputDir, fullPage, cssSelector, xpathSelector, browser, viewport, devicePixelRatio, darkMode, delay, waitForElement, } = validateInputAndOptions(inputUrl, options);
53
+ const { url, follow, respectRobots, outputTypes, outputDir, fullPage, colorScheme, browsers, devices, cookies, requestHeaders, delay, waitForSelectors, localStorage, } = (0, validation_2.validateInputAndOptions)(inputUrl, options);
43
54
  try {
44
- const { buildId } = await (0, requests_1.sendScrap)(url, outputType, follow, quality, fullPage, cssSelector, xpathSelector, browser, viewport, devicePixelRatio, darkMode, delay, waitForElement);
45
- output_1.default.normal('Starting scrape session');
55
+ const ciAndGitInfo = await (0, ci_info_1.getCiAndGitInfo)({});
56
+ (0, context_1.setCiAndCommitInfo)(ciAndGitInfo);
57
+ const { buildId } = await (0, requests_1.sendScrap)(url, follow, respectRobots, outputTypes, fullPage, colorScheme, browsers, devices, cookies, requestHeaders, delay, waitForSelectors, localStorage);
46
58
  const status = await watchSessionStatus(buildId);
47
59
  if (!status.ok) {
48
- output_1.default.exitError(`Unexpected error while watching session status: ${status.error}`);
60
+ output_1.default.exitError(`Scrape session failed: ${status.error}`);
49
61
  }
50
62
  output_1.default.normal('Downloading scrape package');
51
63
  const scrapPackageStream = await (0, requests_1.downloadScrapPackage)(buildId);
@@ -81,81 +93,15 @@ commandScrape.action(async (inputUrl, options) => {
81
93
  output_1.default.exitError(`${error}`);
82
94
  }
83
95
  });
84
- function validateInputAndOptions(input, options) {
85
- const urlSchema = zod_1.z.string().url();
86
- const optionsSchema = zod_1.z.object({
87
- follow: zod_1.z.boolean(),
88
- outputType: zod_1.z.enum(['jpeg', 'png', 'md', 'html']),
89
- quality: zod_1.z.coerce.number().min(1).max(100).optional(),
90
- outputDir: zod_1.z.string().default('.'),
91
- fullPage: zod_1.z.boolean().optional(),
92
- cssSelector: zod_1.z.string().optional(),
93
- xpathSelector: zod_1.z.string().optional(),
94
- browser: zod_1.z.enum(['chrome', 'firefox', 'safari']),
95
- viewport: zod_1.z
96
- .string()
97
- .refine((value) => {
98
- const [width, height] = value.split('x');
99
- return (width &&
100
- height &&
101
- !isNaN(Number(width)) &&
102
- !isNaN(Number(height)) &&
103
- Number(width) > 0 &&
104
- Number(height) > 0);
105
- }, 'Invalid viewport format, example: 1920x1080')
106
- .transform((value) => {
107
- const [width, height] = value.split('x');
108
- return {
109
- width: Number(width),
110
- height: Number(height),
111
- };
112
- }),
113
- devicePixelRatio: zod_1.z.coerce.number().min(1).max(4),
114
- darkMode: zod_1.z.boolean(),
115
- delay: zod_1.z.coerce.number().min(0).max(10000),
116
- waitForElement: zod_1.z.string().optional(),
117
- });
118
- try {
119
- const url = urlSchema.parse(input);
120
- const { follow, outputType, quality, outputDir, fullPage, cssSelector, xpathSelector, browser, viewport, devicePixelRatio, darkMode, delay, waitForElement, } = optionsSchema.parse(options);
121
- if (typeof quality === 'number' && outputType !== 'jpeg') {
122
- output_1.default.exitError('Quality is only supported for jpeg output type, use --outputType jpeg');
123
- }
124
- if (cssSelector && xpathSelector) {
125
- output_1.default.exitError('Only one of --cssSelector or --xpathSelector can be used');
126
- }
127
- return {
128
- url,
129
- follow,
130
- outputType,
131
- quality,
132
- outputDir,
133
- fullPage,
134
- cssSelector,
135
- xpathSelector,
136
- browser,
137
- viewport,
138
- devicePixelRatio,
139
- darkMode,
140
- delay,
141
- waitForElement,
142
- };
143
- }
144
- catch (error) {
145
- if (error instanceof zod_1.ZodError) {
146
- output_1.default.exitError(error.errors.map((e) => `${e.path}: ${e.message}`).join(', '));
147
- }
148
- else {
149
- throw error;
150
- }
151
- }
152
- }
153
96
  async function watchSessionStatus(buildId) {
154
97
  return new Promise((resolve) => {
155
98
  const eventSource = (0, requests_1.connectToScrapSession)(buildId);
156
99
  eventSource.addEventListener('SESSION_STATUS', (event) => {
157
100
  const data = JSON.parse(event.data);
158
- if (data.status === 'GATHER_URLS_COMPLETED') {
101
+ if (data.status === 'STARTED') {
102
+ output_1.default.normal('Scrape session started');
103
+ }
104
+ else if (data.status === 'GATHER_URLS_COMPLETED') {
159
105
  output_1.default.normal(`Gathering URLs completed, found ${data.text} URLs`);
160
106
  }
161
107
  else if (data.status === 'GATHER_URLS_FAILED') {
@@ -173,6 +119,10 @@ async function watchSessionStatus(buildId) {
173
119
  else if (data.status === 'CREATE_PACKAGE_FAILED') {
174
120
  output_1.default.error('Package creation failed');
175
121
  }
122
+ else if (data.status === 'ERROR') {
123
+ eventSource.close();
124
+ resolve({ ok: false, error: data.text });
125
+ }
176
126
  else if (data.status === 'FINISHED') {
177
127
  eventSource.close();
178
128
  output_1.default.normal('Scrape session finished');
@@ -10,7 +10,7 @@ const requests_1 = require("../../visualTest/requests");
10
10
  const output_1 = __importDefault(require("../../output"));
11
11
  const commandVtClose = (0, utils_1.newCommand)('close', texts_1.DESC_COMMAND_VT_CLOSE);
12
12
  commandVtClose.action(async () => {
13
- if (!(0, validation_1.checkToken)()) {
13
+ if (!(0, validation_1.checkToken)('vt')) {
14
14
  output_1.default.exitError(texts_1.ERR_MISSING_VT_TOKEN);
15
15
  }
16
16
  if (!(0, validation_1.checkBuildId)()) {
@@ -7,7 +7,7 @@ exports.validateOptions = validateOptions;
7
7
  exports.checkIfMinimalOptionsAreProvided = checkIfMinimalOptionsAreProvided;
8
8
  const zod_1 = require("zod");
9
9
  const output_1 = __importDefault(require("../../../output"));
10
- const DEFAULT_SCOPE = '**';
10
+ const validation_1 = require("../shared/validation");
11
11
  const optionsSchema = zod_1.z.object({
12
12
  urls: zod_1.z.string().optional(),
13
13
  sitemap: zod_1.z.string().optional(),
@@ -19,102 +19,9 @@ const optionsSchema = zod_1.z.object({
19
19
  message: "Ignore option must follow pattern '[scope::]type=value' where type must be CSS or XPATH (scope is optional)",
20
20
  }))
21
21
  .optional()
22
- .transform((value) => value?.map((v) => {
23
- let scope, type, value;
24
- if (v.includes('::CSS=') || v.includes('::XPATH=')) {
25
- const [scopePart, ...rest] = v.split('::');
26
- const [typePart, ...valuePart] = rest.join('::').split('=');
27
- type = typePart;
28
- value = valuePart.join('=');
29
- scope = scopePart;
30
- }
31
- else {
32
- const [typePart, ...valuePart] = v.split('=');
33
- type = typePart;
34
- value = valuePart.join('=');
35
- scope = DEFAULT_SCOPE;
36
- }
37
- return { scope, type, value };
38
- })),
39
- cookie: zod_1.z
40
- .array(zod_1.z
41
- .string()
42
- .max(4096, {
43
- message: 'Cookie must be less than 4096 characters',
44
- })
45
- .regex(/^(?:([^:]+)::)?(.+)$/, {
46
- message: "Cookie option must follow pattern '[scope::]cookie_value' (scope is optional)",
47
- }))
48
- .optional()
49
- .transform((value) => value?.map((v) => {
50
- let scope = DEFAULT_SCOPE;
51
- let cookieValue = v;
52
- if (v.includes('::')) {
53
- const [scopePart, valuePart] = v.split('::');
54
- scope = scopePart.trim();
55
- cookieValue = valuePart.trim();
56
- }
57
- // Parse cookie string into components
58
- const cookieParts = cookieValue.split(';').map((part) => part.trim());
59
- const mainPart = cookieParts[0].split('=');
60
- const key = mainPart[0].trim();
61
- const value = mainPart[1].trim();
62
- const cookie = {
63
- scope,
64
- key,
65
- value,
66
- httpOnly: false,
67
- secure: false,
68
- };
69
- // Process additional cookie attributes
70
- for (let i = 1; i < cookieParts.length; i++) {
71
- const part = cookieParts[i].toLowerCase();
72
- if (part === 'httponly') {
73
- cookie.httpOnly = true;
74
- }
75
- else if (part === 'secure') {
76
- cookie.secure = true;
77
- }
78
- else if (part.startsWith('domain=')) {
79
- cookie.domain = part.substring(7);
80
- }
81
- else if (part.startsWith('path=')) {
82
- cookie.path = part.substring(5);
83
- }
84
- else if (part.startsWith('samesite=')) {
85
- const sameSiteValue = part.substring(9);
86
- if (['strict', 'lax', 'none'].includes(sameSiteValue.toLowerCase())) {
87
- cookie.sameSite = (sameSiteValue.charAt(0).toUpperCase() +
88
- sameSiteValue.slice(1).toLowerCase());
89
- }
90
- }
91
- }
92
- return cookie;
93
- })),
94
- header: zod_1.z
95
- .array(zod_1.z.string().regex(/^(?:([^:]+)::)?(.+)$/, {
96
- message: "Header option must follow pattern '[scope::]header_value' (scope is optional)",
97
- }))
98
- .optional()
99
- .transform((value) => value?.map((v) => {
100
- if (v.includes('::')) {
101
- const [scope, headerValue] = v.split('::');
102
- const [name, value] = headerValue.split('=');
103
- return {
104
- scope: scope.trim(),
105
- key: name.trim(),
106
- value: value.trim(),
107
- };
108
- }
109
- else {
110
- const [name, value] = v.split('=');
111
- return {
112
- scope: DEFAULT_SCOPE,
113
- key: name.trim(),
114
- value: value.trim(),
115
- };
116
- }
117
- })),
22
+ .transform(validation_1.parseScopedSelector),
23
+ cookie: validation_1.cookieSchema,
24
+ header: validation_1.headerSchema,
118
25
  delay: zod_1.z
119
26
  .array(zod_1.z.string().regex(/^(?:([^:]+)::)?(\d+)$/, {
120
27
  message: "Delay option must follow pattern '[scope::]milliseconds' (scope is optional)",
@@ -126,31 +33,10 @@ const optionsSchema = zod_1.z.object({
126
33
  return { scope: scope.trim(), value: Number(milliseconds) };
127
34
  }
128
35
  else {
129
- return { scope: DEFAULT_SCOPE, value: Number(v) };
130
- }
131
- })),
132
- waitFor: zod_1.z
133
- .array(zod_1.z.string().regex(/^(?:([^:]+)::)?(?:(CSS|XPATH))=(.+)$/, {
134
- message: "WaitFor option must follow pattern '[scope::]type=value' where type must be CSS or XPATH (scope is optional)",
135
- }))
136
- .optional()
137
- .transform((value) => value?.map((v) => {
138
- let scope, type, value;
139
- if (v.includes('::CSS=') || v.includes('::XPATH=')) {
140
- const [scopePart, ...rest] = v.split('::');
141
- const [typePart, ...valuePart] = rest.join('::').split('=');
142
- type = typePart;
143
- value = valuePart.join('=');
144
- scope = scopePart;
145
- }
146
- else {
147
- const [typePart, ...valuePart] = v.split('=');
148
- type = typePart;
149
- value = valuePart.join('=');
150
- scope = DEFAULT_SCOPE;
36
+ return { scope: validation_1.DEFAULT_SCOPE, value: Number(v) };
151
37
  }
152
- return { scope, type, value };
153
38
  })),
39
+ waitFor: validation_1.waitForSchema,
154
40
  ignoreUrls: zod_1.z.array(zod_1.z.string()).optional(),
155
41
  dryRun: zod_1.z.boolean().optional(),
156
42
  });
@@ -28,7 +28,7 @@ commandVtCompare.option('--delay <delays...>', texts_1.OPTION_COMPARE_DELAY);
28
28
  commandVtCompare.option('--waitFor <waitFors...>', texts_1.OPTION_COMPARE_WAIT_FOR);
29
29
  commandVtCompare.action(async (options) => {
30
30
  const validatedOptions = (0, validation_2.validateOptions)(options);
31
- if (!(0, validation_1.checkToken)()) {
31
+ if (!(0, validation_1.checkToken)('vt')) {
32
32
  output_1.default.exitError(texts_1.ERR_MISSING_VT_TOKEN);
33
33
  }
34
34
  if (!(0, validation_2.checkIfMinimalOptionsAreProvided)(validatedOptions)) {
@@ -29,7 +29,7 @@ commandVtExec.action(async (command, options) => {
29
29
  catch (error) {
30
30
  output_1.default.exitError(`${error}`);
31
31
  }
32
- if (!(0, validation_1.checkToken)()) {
32
+ if (!(0, validation_1.checkToken)('vt')) {
33
33
  output_1.default.exitError(texts_1.ERR_MISSING_VT_TOKEN);
34
34
  }
35
35
  if (!(0, validation_1.checkParallel)()) {
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.waitForSchema = exports.headerSchema = exports.cookieSchema = exports.DEFAULT_SCOPE = void 0;
7
+ exports.parseScopedSelector = parseScopedSelector;
8
+ exports.parseScopedKeyValue = parseScopedKeyValue;
9
+ const zod_1 = require("zod");
10
+ const output_1 = __importDefault(require("../../../output"));
11
+ exports.DEFAULT_SCOPE = '**';
12
+ function parseScopedSelector(value) {
13
+ return value?.map((v) => {
14
+ let scope, type, selectorValue;
15
+ if (v.includes('::CSS=') || v.includes('::XPATH=')) {
16
+ const [scopePart, ...rest] = v.split('::');
17
+ const [typePart, ...valuePart] = rest.join('::').split('=');
18
+ type = typePart;
19
+ selectorValue = valuePart.join('=');
20
+ scope = scopePart;
21
+ }
22
+ else {
23
+ const [typePart, ...valuePart] = v.split('=');
24
+ type = typePart;
25
+ selectorValue = valuePart.join('=');
26
+ scope = exports.DEFAULT_SCOPE;
27
+ }
28
+ return { scope, type, value: selectorValue };
29
+ });
30
+ }
31
+ function parseScopedKeyValue(rawValue) {
32
+ let scope = exports.DEFAULT_SCOPE;
33
+ let keyValue = rawValue;
34
+ const scopeSeparatorIndex = rawValue.indexOf('::');
35
+ if (scopeSeparatorIndex >= 0) {
36
+ scope = rawValue.slice(0, scopeSeparatorIndex).trim();
37
+ keyValue = rawValue.slice(scopeSeparatorIndex + 2).trim();
38
+ }
39
+ const equalSignIndex = keyValue.indexOf('=');
40
+ if (equalSignIndex <= 0) {
41
+ output_1.default.exitError("Option value must follow pattern '[scope::]key=value' (scope is optional)");
42
+ }
43
+ const key = keyValue.slice(0, equalSignIndex).trim();
44
+ const value = keyValue.slice(equalSignIndex + 1).trim();
45
+ if (!key) {
46
+ output_1.default.exitError('Option key cannot be empty');
47
+ }
48
+ return { scope, key, value };
49
+ }
50
+ exports.cookieSchema = zod_1.z
51
+ .array(zod_1.z
52
+ .string()
53
+ .max(4096, {
54
+ message: 'Cookie must be less than 4096 characters',
55
+ })
56
+ .regex(/^(?:([^:]+)::)?([^=]+)=(.*)$/, {
57
+ message: "Cookie option must follow pattern '[scope::]key=value[;attribute]' (scope is optional)",
58
+ }))
59
+ .optional()
60
+ .transform((value) => value?.map((v) => {
61
+ let scope = exports.DEFAULT_SCOPE;
62
+ let cookieValue = v;
63
+ if (v.includes('::')) {
64
+ const [scopePart, valuePart] = v.split('::');
65
+ scope = scopePart.trim();
66
+ cookieValue = valuePart.trim();
67
+ }
68
+ const cookieParts = cookieValue.split(';').map((part) => part.trim());
69
+ const mainPart = cookieParts[0];
70
+ const firstEqualSignIndex = mainPart.indexOf('=');
71
+ const key = mainPart.slice(0, firstEqualSignIndex).trim();
72
+ const value = mainPart.slice(firstEqualSignIndex + 1).trim();
73
+ const cookie = {
74
+ scope,
75
+ key,
76
+ value,
77
+ httpOnly: false,
78
+ secure: false,
79
+ };
80
+ for (let i = 1; i < cookieParts.length; i++) {
81
+ const part = cookieParts[i].toLowerCase();
82
+ if (part === 'httponly') {
83
+ cookie.httpOnly = true;
84
+ }
85
+ else if (part === 'secure') {
86
+ cookie.secure = true;
87
+ }
88
+ else if (part.startsWith('domain=')) {
89
+ cookie.domain = part.substring(7);
90
+ }
91
+ else if (part.startsWith('path=')) {
92
+ cookie.path = part.substring(5);
93
+ }
94
+ else if (part.startsWith('samesite=')) {
95
+ const sameSiteValue = part.substring(9);
96
+ if (['strict', 'lax', 'none'].includes(sameSiteValue)) {
97
+ cookie.sameSite = (sameSiteValue.charAt(0).toUpperCase() +
98
+ sameSiteValue.slice(1));
99
+ }
100
+ }
101
+ }
102
+ return cookie;
103
+ }));
104
+ exports.headerSchema = zod_1.z
105
+ .array(zod_1.z.string().regex(/^(?:([^:]+)::)?([^=]+)=(.*)$/, {
106
+ message: "Header option must follow pattern '[scope::]key=value' (scope is optional)",
107
+ }))
108
+ .optional()
109
+ .transform((value) => value?.map((v) => {
110
+ const { scope, key, value } = parseScopedKeyValue(v);
111
+ return { scope, key, value };
112
+ }));
113
+ exports.waitForSchema = zod_1.z
114
+ .array(zod_1.z.string().regex(/^(?:([^:]+)::)?(?:(CSS|XPATH))=(.+)$/, {
115
+ message: "WaitFor option must follow pattern '[scope::]type=value' where type must be CSS or XPATH (scope is optional)",
116
+ }))
117
+ .optional()
118
+ .transform(parseScopedSelector);
@@ -17,7 +17,7 @@ const tar_stream_1 = __importDefault(require("tar-stream"));
17
17
  const node_zlib_1 = require("node:zlib");
18
18
  const commandVtStorybook = (0, utils_1.newCommand)('storybook', texts_1.DESC_COMMAND_VT_STORYBOOK);
19
19
  commandVtStorybook.action(async () => {
20
- if (!(0, validation_1.checkToken)()) {
20
+ if (!(0, validation_1.checkToken)('vt')) {
21
21
  output_1.default.exitError(texts_1.ERR_MISSING_VT_TOKEN);
22
22
  }
23
23
  const currentDirectoryFiles = getCurrentDirectoryFiles();
@@ -10,7 +10,6 @@ const storybook_1 = __importDefault(require("./vt/storybook"));
10
10
  const exec_1 = __importDefault(require("./vt/exec"));
11
11
  const installBrowser_1 = __importDefault(require("./vt/installBrowser"));
12
12
  const compare_1 = __importDefault(require("./vt/compare"));
13
- const scrape_1 = __importDefault(require("./vt/scrape"));
14
13
  const commandVt = (0, utils_1.newCommand)('visual', texts_1.DESC_COMMAND_VT);
15
14
  commandVt.alias('vt');
16
15
  commandVt.addCommand(close_1.default);
@@ -18,5 +17,4 @@ commandVt.addCommand(storybook_1.default);
18
17
  commandVt.addCommand(exec_1.default);
19
18
  commandVt.addCommand(installBrowser_1.default);
20
19
  commandVt.addCommand(compare_1.default);
21
- commandVt.addCommand(scrape_1.default);
22
20
  exports.default = commandVt;
@@ -12,6 +12,7 @@ const stream_1 = __importDefault(require("stream"));
12
12
  const utils_1 = require("./utils");
13
13
  const texts_1 = require("./texts");
14
14
  const vt_1 = __importDefault(require("./command/vt"));
15
+ const scrape_1 = __importDefault(require("./command/scrape"));
15
16
  const ut_1 = __importDefault(require("./command/ut"));
16
17
  const tunnel_1 = __importDefault(require("./command/tunnel"));
17
18
  const pipeline_1 = __importDefault(require("./command/pipeline"));
@@ -42,6 +43,7 @@ if (!(0, utils_1.isDocker)())
42
43
  program.addCommand(agent_1.default);
43
44
  program.addCommand(version_1.default);
44
45
  program.addCommand(vt_1.default);
46
+ program.addCommand(scrape_1.default);
45
47
  program.addCommand(ut_1.default);
46
48
  program.addCommand(pipeline_1.default);
47
49
  program.addCommand(package_1.default);
@@ -1,19 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ERR_USER_AGENT_IS_NOT_VALID = exports.ERR_BA_IS_NOT_VALID = exports.ERR_BA_LOGIN_NOT_PROVIDED = exports.ERR_BA_PASSWORD_NOT_PROVIDED = exports.ERR_CB_THRESHOLD_IS_NOT_VALID = exports.ERR_CERT_PATH_IS_NOT_VALID = exports.ERR_KEY_PATH_IS_NOT_VALID = exports.ERR_CA_PATH_IS_NOT_VALID = exports.ERR_WRONG_CA = exports.ERR_WRONG_KEY_CERT = exports.ERR_NAME_WITHOUT_ASTERISK = exports.ERR_PORT_IS_NOT_VALID = exports.ERR_REGION_IS_NOT_VALID = exports.ERR_PATH_IS_NOT_DIRECTORY = exports.ERR_DIRECTORY_DOES_NOT_EXISTS = exports.ERR_TERMINATE_IS_NOT_VALID = exports.ERR_TIMEOUT_IS_NOT_VALID = exports.ERR_TYPE_IS_NOT_VALID = exports.ERR_TARGET_IS_NOT_VALID = exports.ERR_SAVING_AGENT_CONFIG = exports.ERR_AGENT_NOT_REGISTERED = exports.ERR_RUN_PIPELINE_WRONG_VARIABLE = exports.ERR_RUN_PIPELINE_WRONG_ACTION = exports.ERR_RUN_PIPELINE_WRONG_DELAY = exports.ERR_RUN_PIPELINE_WRONG_PRIORITY = exports.ERR_RUN_PIPELINE_WAIT_TIMEOUT = exports.ERR_SANDBOX_EXEC_RUNTIME_NOT_FOUND = exports.ERR_PACKAGE_VERSIONS_NOT_FOUND = exports.ERR_PACKAGE_NOT_FOUND = exports.ERR_PACKAGE_VERSION_NOT_FOUND = exports.ERR_PACKAGE_VERSION_EXISTS = exports.ERR_PACKAGE_PUBLISH_NOT_FOUND = exports.ERR_PACKAGE_DOWNLOAD_NOT_FOUND = exports.ERR_PIPELINE_NOT_FOUND = exports.ERR_PROJECT_NOT_FOUND = exports.ERR_WORKSPACE_NOT_FOUND = exports.ERR_REST_API_YAML_NOT_FOUND = exports.ERR_REST_API_YAML = exports.ERR_REST_API_PROJECT = exports.ERR_REST_API_WORKSPACE = exports.ERR_PATH_NOT_EXISTS = exports.ERR_REST_API_REGION = exports.ERR_REST_API_URL = exports.ERR_REST_API_TOKEN = exports.ERR_REST_API_RATE_LIMIT = exports.ERR_REST_API_RESOURCE_NOT_FOUND = exports.ERR_REST_API_WRONG_TOKEN = exports.ERR_REST_API_CONNECT_ERROR = exports.ERR_REST_API_NOT_RESPONDING = exports.ERR_REST_API_GENERAL_ERROR = void 0;
4
- exports.ERR_INVALID_CLOSE_SESSION_RESPONSE = exports.ERR_INVALID_SNAPSHOTS_RESPONSE = exports.ERR_INVALID_SNAPSHOT_RESPONSE = exports.ERR_MISSING_URLS = exports.ERR_RESOURCE_NOT_FOUND = exports.ERR_MISSING_EXEC_COMMAND = exports.ERR_PARSING_STORIES = exports.ERR_UNSUPPORTED_STORYBOOK = exports.ERR_MISSING_STORYBOOK_INDEX_FILE = exports.ERR_WRONG_STORYBOOK_DIRECTORY = exports.ERR_MISSING_BUILD_ID = exports.ERR_MISSING_UT_TOKEN = exports.ERR_MISSING_VT_TOKEN = exports.ERR_CONFIG_CORRUPTED = exports.ERR_WRONG_TOKEN = exports.ERR_TOKEN_NOT_PROVIDED = exports.ERR_CANT_CREATE_DIR_IN_HOME = exports.ERR_CONNECTION_ERROR = exports.ERR_CONNECTION_TIMEOUT = exports.ERR_WRONG_STREAM = exports.ERR_WRONG_HANDSHAKE = exports.ERR_FETCH_VERSION = exports.ERR_PACKAGE_DOWNLOAD_REPLACE = exports.ERR_PACKAGE_DOWNLOAD_NOT_EMPTY_DIR = exports.ERR_PACKAGE_DOWNLOAD_IS_FILE = exports.ERR_PACKAGE_DOWNLOAD_READDIR = exports.ERR_PACKAGE_DOWNLOAD_MKDIR = exports.ERR_SWW = exports.ERR_NOT_FOUND = exports.ERR_FAILED_TO_CONNECT_TO_AGENT = exports.ERR_TUNNEL_REMOVED = exports.ERR_TUNNELS_DISABLED = exports.ERR_AGENT_LIMIT_REACHED = exports.ERR_TUNNEL_TARGET_INVALID = exports.ERR_WORKSPACE_FLAGGED = exports.ERR_TUNNEL_LIMIT_REACHED = exports.ERR_DOMAIN_RESTRICTED = exports.ERR_AGENT_REMOVED = exports.ERR_FAILED_TO_CONNECT = exports.ERR_TUNNEL_ALREADY_EXISTS = exports.ERR_AGENT_NOT_SUPPORTED = exports.ERR_AGENT_ADMIN_RIGHTS = exports.ERR_SWW_AGENT_UPDATING = exports.ERR_SWW_AGENT_ENABLING = exports.ERR_AGENT_TAG_INVALID = exports.ERR_AGENT_NOT_FOUND = exports.ERR_AGENT_NOT_RUNNING = exports.ERR_AGENT_NOT_INSTALLED = exports.ERR_TUNNEL_NOT_FOUND = exports.ERR_WHITELIST_IS_NOT_VALID = void 0;
5
- exports.DESC_COMMAND_CONFIG_ADD_TCP = exports.DESC_COMMAND_CONFIG_ADD_HTTP = exports.AGENT_FETCH_RETRY = exports.NO_TUNNELS_STARTED = exports.TXT_AGENT_STANDALONE_EXITING = exports.TXT_AGENT_STANDALONE_STARTED = exports.TXT_AGENT_STANDALONE_AGENT_REGISTER_ERROR = exports.TXT_AGENT_STANDALONE_AGENT_REGISTERED = exports.TXT_AGENT_STANDALONE_AGENT_REGISTERING = exports.TXT_AGENT_STANDALONE_AGENT_FETCH_ERROR = exports.TXT_AGENT_STANDALONE_AGENT_FETCHED = exports.TXT_AGENT_STANDALONE_AGENT_FETCHING = exports.TXT_TUNNEL_ADDED = exports.TXT_TUNNEL_REMOVED = exports.TXT_REGION_SAVED = exports.TXT_TIMEOUT_SAVED = exports.TXT_TOKEN_REMOVED = exports.TXT_TOKEN_SAVED = exports.TXT_WHITELIST_SAVED = exports.TXT_TUNNEL_STOPPED = exports.TXT_TUNNEL_STARTED = exports.TXY_AGENT_CONFIRM_DELETE = exports.TXT_AGENT_DISABLED = exports.TXT_AGENT_ALREADY_INSTALLED = exports.TXT_AGENT_UPDATED = exports.TXT_AGENT_INSTALLED = exports.TXT_AGENT_NO_TAGS = exports.TXT_AGENT_TAGS_SET = exports.TXT_AGENT_TUNNELING_DISABLED = exports.TXT_AGENT_TUNNELING_ENABLED = exports.TXT_AGENT_PROXY_DISABLED = exports.TXT_AGENT_PROXY_ENABLED = exports.TXT_AGENT_TARGET_DISABLED = exports.TXT_AGENT_TARGET_ENABLED = exports.TXT_AGENT_RESTARTED = exports.TXT_AGENT_DEBUG_OFF = exports.TXT_AGENT_DEBUG_ON = exports.TXT_AGENT_STARTED = exports.TXT_AGENT_STOPPED = exports.WARN_BROWSER_VERSION = exports.ERR_RESOURCE_DISCOVERY = exports.ERR_NO_SNAPSHOTS_TO_SEND = exports.ERR_INVALID_SNAPSHOT = exports.ERR_TEST_EXECUTION = exports.ERR_INVALID_JSON = exports.ERR_INVALID_DOWNLOAD_RESPONSE = exports.ERR_INVALID_SCRAPE_RESPONSE = exports.ERR_INVALID_COMPARE_LINKS_RESPONSE = exports.ERR_INVALID_STORYBOOK_RESPONSE = exports.ERR_INVALID_DEFAULT_SETTINGS_RESPONSE = void 0;
6
- exports.DESC_COMMAND_TUNNEL = exports.DESC_COMMAND_AGENT = exports.DESC_COMMAND_HTTP = exports.DESC_COMMAND_CONFIG = exports.DESC_COMMAND_AGENT_VERSION = exports.DESC_COMMAND_AGENT_UPDATE = exports.OPT_COMMAND_AGENT_TAGS_SET = exports.DESC_COMMAND_AGENT_TAGS_SET = exports.DESC_COMMAND_AGENT_TAGS_GET = exports.DESC_COMMAND_AGENT_TAGS = exports.DESC_COMMAND_AGENT_PROXY = exports.DESC_COMMAND_AGENT_TARGET = exports.DESC_COMMAND_AGENT_TUNNEL = exports.DESC_COMMAND_AGENT_STOP = exports.DESC_COMMAND_AGENT_PROXY_DISABLE = exports.DESC_COMMAND_AGENT_TARGET_DISABLE = exports.DESC_COMMAND_AGENT_TUNNELING_DISABLE = exports.DESC_COMMAND_AGENT_TUNNELING_ENABLE = exports.DESC_COMMAND_AGENT_PROXY_ENABLE = exports.DESC_COMMAND_AGENT_TARGET_ENABLE = exports.DESC_COMMAND_AGENT_PROXY_STATUS = exports.DESC_COMMAND_AGENT_TARGET_STATUS = exports.DESC_COMMAND_AGENT_STATUS = exports.DESC_COMMAND_AGENT_RESTART = exports.DESC_COMMAND_AGENT_ENABLE = exports.DESC_COMMAND_AGENT_DEBUG = exports.DESC_COMMAND_AGENT_DISABLE = exports.DESC_COMMAND_AGENT_START = exports.DESC_COMMAND_AGENT_INSTALL = exports.DESC_COMMAND_AGENT_UNINSTALL = exports.DESC_COMMAND_AGENT_TUNNEL_REMOVE = exports.DESC_COMMAND_AGENT_TUNNEL_STATUS = exports.DESC_COMMAND_AGENT_TUNNEL_LIST = exports.DESC_COMMAND_CONFIG_SET = exports.DESC_COMMAND_CONFIG_REMOVE = exports.DESC_COMMAND_CONFIG_GET = exports.DESC_COMMAND_CONFIG_ADD = exports.DESC_COMMAND_CONFIG_SET_WHITELIST = exports.DESC_COMMAND_CONFIG_SET_TOKEN = exports.DESC_COMMAND_CONFIG_SET_TIMEOUT = exports.DESC_COMMAND_CONFIG_SET_REGION = exports.DESC_COMMAND_CONFIG_REMOVE_TOKEN = exports.DESC_COMMAND_CONFIG_REMOVE_TUNNEL = exports.DESC_COMMAND_CONFIG_GET_WHITELIST = exports.DESC_COMMAND_CONFIG_GET_TUNNELS = exports.DESC_COMMAND_CONFIG_GET_TUNNEL = exports.DESC_COMMAND_CONFIG_GET_TOKEN = exports.DESC_COMMAND_CONFIG_GET_TIMEOUT = exports.DESC_COMMAND_CONFIG_GET_REGION = exports.DESC_COMMAND_CONFIG_ADD_TLS = void 0;
7
- exports.OPTION_REST_API_ENDPOINT = exports.OPTION_DEFAULT_REGION = exports.OPTION_REGION = exports.TXT_PACKAGE_UNZIPPING_COUNT = exports.TXT_PACKAGE_UNZIPPED = exports.TXT_PACKAGE_UNZIPPING = exports.TXT_PACKAGE_DOWNLOADED_ZIP = exports.TXT_PACKAGE_DOWNLOADING_ZIP = exports.TXT_PACKAGE_DOWNLOADED = exports.TXT_PACKAGE_PUBLISHED = exports.TXT_PACKAGE_ENTRIES_FOUND = exports.TXT_PACKAGE_UPLOADED = exports.TXT_PACKAGE_UPLOADING = exports.TXT_PACKAGE_ZIPPED = exports.TXT_PACKAGE_ZIP_ENTRIES = exports.TXT_PACKAGE_ONE_ENTRY_FOUND = exports.TXT_PACKAGE_NO_ENTRIES_FOUND = exports.TXT_PACKAGE_SCANNING_DIR = exports.TXT_PIPELINE_RUN_FINISH_FAILED = exports.TXT_PIPELINE_RUN_FINISH_SUCCESSFULLY = exports.TXT_STORIES_AMOUNT = exports.TXT_PIPELINE_RUN_STILL_WAITING = exports.TXT_PIPELINE_RUN_WAIT = exports.TXT_PIPELINE_RUN_SUCCESS = exports.TXT_OPENING_TUNNEL = exports.TXT_UPDATING_AGENT = exports.TXT_ENABLING_AGENT = exports.TXT_NEW_AGENT_VERSION = exports.TXT_NEW_CLI_DOCKER_VERSION = exports.OPTION_UPLOAD_DRY_RUN = exports.OPTION_UPLOAD_REPORT_FORMAT = exports.OPTION_UPLOAD_REPORT_GLOB = exports.DESC_COMMAND_UT_UPLOAD = exports.DESC_COMMAND_UT = exports.DESC_COMMAND_VT_INSTALL_BROWSER = exports.DESC_COMMAND_VT_EXEC = exports.DESC_COMMAND_VT_SCRAPE = exports.DESC_COMMAND_VT_COMPARE = exports.DESC_COMMAND_VT_STORYBOOK = exports.DESC_COMMAND_VT_CLOSE = exports.DESC_COMMAND_VT = exports.DESC_COMMAND_PIPELINE_RUN = exports.DESC_COMMAND_PACKAGE_DOWNLOAD = exports.DESC_COMMAND_PACKAGE_PUBLISH = exports.DESC_COMMAND_PACKAGE = exports.DESC_COMMAND_PIPELINE = exports.DESC_PROGRAM = exports.DESC_COMMAND_TLS = exports.DESC_COMMAND_TCP = exports.DESC_COMMAND_START = void 0;
8
- exports.OPTION_NAME = exports.OPTION_TARGET = exports.OPTION_TLS_TERMINATE = exports.OPTION_TLS_CA = exports.OPTION_TLS_CERT = exports.OPTION_TLS_KEY = exports.OPTION_HTTP_CIRCUIT_BREAKER = exports.OPTION_HTTP_COMPRESSION = exports.OPTION_HTTP_2 = exports.OPTION_HTTP_VERIFY = exports.OPTION_HTTP_LOG = exports.OPTION_HTTP_AUTH_BUDDY = exports.OPTION_HTTP_AUTH = exports.OPTION_HTTP_HOST = exports.OPTION_CONFIRM_FORCE = exports.OPTION_FORCE = exports.OPTION_TOKEN = exports.OPTION_TIMEOUT = exports.OPTION_FOLLOW = exports.OPTION_SERVE = exports.OPTION_HEADER_USER_AGENT = exports.OPTION_RESPONSE_HEADER = exports.OPTION_HEADER = exports.OPTION_WHITELIST = exports.OPTION_REST_API_PER_PAGE = exports.OPTION_REST_API_PAGE = exports.OPTION_REST_API_PROJECT = exports.OPTION_REST_API_WORKSPACE = exports.OPTION_PIPELINE_RUN_WAIT = exports.OPTION_PIPELINE_RUN_ACTION = exports.OPTION_REST_API_TOKEN = exports.OPTION_PACKAGE_DOWNLOAD_REPLACE = exports.OPTION_PACKAGE_DOWNLOAD_MERGE = exports.OPTION_PACKAGE_PUBLISH_OVERWRITE_VERSION = exports.OPTION_PACKAGE_PUBLISH_CREATE = exports.OPTION_PACKAGE_ID = exports.OPTION_PACKAGE_DOWNLOAD_PATH = exports.OPTION_PACKAGE_PUBLISH_PATH = exports.OPTION_PIPELINE_RUN_ARGUMENT = exports.OPTION_PIPELINE_RUN_DELAY = exports.OPTION_PIPELINE_RUN_VAR = exports.OPTION_PIPELINE_RUN_PRIORITY = exports.OPTION_PIPELINE_RUN_CLEAR_CACHE = exports.OPTION_PIPELINE_RUN_REFRESH = exports.OPTION_PIPELINE_RUN_COMMENT = exports.OPTION_PIPELINE_RUN_PULL_REQUEST = exports.OPTION_PIPELINE_RUN_REVISION = exports.OPTION_PIPELINE_RUN_TAG = exports.OPTION_PIPELINE_RUN_BRANCH = exports.OPTION_REST_API_REGION = void 0;
9
- exports.LOG_ERROR_SAVING_AGENT_STANDALONE_CONFIG = exports.LOG_ERROR_SAVING_AGENT_SYSTEM_CONFIG = exports.LOG_SAVING_AGENT_LOCAL_CONFIG = exports.LOG_REMOVING_AGENT_PROC_ID = exports.LOG_SAVING_AGENT_PROC_ID = exports.LOG_SAVING_AGENT_SYSTEM_CONFIG = exports.LOG_REGISTERING_AGENT = exports.OPTION_SCRAPE_OUTPUT_DIR = exports.OPTION_SCRAPE_DELAY = exports.OPTION_SCRAPE_DARK_MODE = exports.OPTION_SCRAPE_WAIT_FOR_ELEMENT = exports.OPTION_SCRAPE_DEVICE_PIXEL_RATIO = exports.OPTION_SCRAPE_VIEWPORT = exports.OPTION_SCRAPE_BROWSER = exports.OPTION_SCRAPE_XPATH_SELECTOR = exports.OPTION_SCRAPE_CSS_SELECTOR = exports.OPTION_SCRAPE_FULL_PAGE = exports.OPTION_SCRAPE_QUALITY = exports.OPTION_SCRAPE_OUTPUT_TYPE = exports.OPTION_SCRAPE_FOLLOW = exports.OPTION_SCRAPE_URL = exports.OPTION_COMPARE_WAIT_FOR = exports.OPTION_COMPARE_DELAY = exports.OPTION_COMPARE_HEADER = exports.OPTION_COMPARE_COOKIE = exports.OPTION_COMPARE_IGNORE = exports.OPTION_COMPARE_IGNORE_URLS = exports.OPTION_COMPARE_DRY_RUN = exports.OPTION_COMPARE_URLS_FILE = exports.OPTION_COMPARE_SITEMAP = exports.OPTION_COMPARE_URLS = exports.OPTION_COMPARE_RESPECT_ROBOTS = exports.OPTION_COMPARE_FOLLOW = exports.OPTION_EXEC_PARALLEL = exports.OPTION_EXEC_ONE_BY_ONE = exports.OPTION_EXEC_SKIP_DISCOVERY = exports.OPTION_EXEC_COMMAND = exports.OPTION_AGENT_DEBUG = exports.OPTION_AGENT_PORT = exports.OPTION_AGENT_TAG = exports.OPTION_AGENT_TUNNELING = exports.OPTION_AGENT_PROXY = exports.OPTION_AGENT_TARGET = exports.OPTION_PASS = exports.OPTION_APP = exports.OPTION_USER = exports.OPTION_AGENT_TOKEN = exports.OPTION_AGENT_START = exports.OPTION_AGENT_ID = exports.OPTION_ID = void 0;
10
- exports.LOG_TUNNEL_HTTP_WRONG_USER_AGENTS = exports.LOG_TUNNEL_HTTP_CIRCUIT_BREAKER_OPEN = exports.LOG_TUNNEL_HTTP_RATE_LIMIT = exports.LOG_TUNNEL_HTTP_WRON_AUTH = exports.LOG_TUNNEL_IDENTIFIED = exports.LOG_TUNNEL_DISCONNECTED = exports.LOG_TUNNEL_FAILED = exports.LOG_TUNNEL_CONNECTED = exports.LOG_AGENT_STARTED = exports.LOG_AGENT_SERVER_STARTED = exports.LOG_ERROR_STARTING_AGENT_SERVER = exports.LOG_SSH_CONNECTION = exports.LOG_WRONG_STREAM = exports.LOG_DETECTED_STREAM = exports.LOG_HTTP2_REQUEST = exports.LOG_HTTP2_CONNECTION = exports.LOG_HTTP1_REQUEST = exports.LOG_HTTP1_CONNECTION = exports.LOG_ERROR = exports.LOG_STOPPING_TUNNEL = exports.LOG_STARTING_TUNNEL = exports.LOG_ENABLING_AGENT_TUNNELING = exports.LOG_ENABLING_AGENT_PROXY = exports.LOG_ENABLING_AGENT_TARGET = exports.LOG_DISABLING_AGENT_TUNNELING = exports.LOG_DISABLING_AGENT_PROXY = exports.LOG_DISABLING_AGENT_TARGET = exports.LOG_REMOVING_TUNNEL = exports.LOG_TUNNEL_REGISTERED = exports.LOG_ERROR_WHILE_REFRESHING_AGENT = exports.LOG_REGISTERING_TUNNEL = exports.LOG_GETTING_AGENT = exports.LOG_UNREGISTERING_AGENT = exports.LOG_REGION_DETECTED = exports.LOG_AGENT_REGISTERED = exports.LOG_SOCKET_DISCONNECTED = exports.LOG_SOCKET_CONNECTED = exports.LOG_AGENT_NSSM_CLEARING = exports.LOG_AGENT_NSSM_EXTRACTING = exports.LOG_AGENT_NSSM_DOWNLOADING = exports.LOG_AGENT_ENABLED = exports.LOG_AGENT_STARTING_SYSTEM = exports.LOG_AGENT_STOPPING_SYSTEM = exports.LOG_AGENT_ENABLING_SYSTEM = exports.LOG_AGENT_SYSTEM_SERVICE_CONFIG = exports.LOG_AGENT_EXTRACTING_ARCHIVE = exports.LOG_AGENT_DOWNLOADING_ARCHIVE = exports.LOG_AGENT_SYSTEM_DIR = exports.LOG_ERROR_SAVING_AGENT_LOCAL_CONFIG = exports.LOG_ERROR_REMOVING_AGENT_STANDALONE_LOCK_FILE = void 0;
11
- exports.OPTION_SANDBOX_APP_TYPE = exports.OPTION_SANDBOX_APP_DIR = exports.OPTION_SANDBOX_RUN_COMMAND = exports.OPTION_SANDBOX_YAML = exports.OPTION_SANDBOX_TAGS = exports.OPTION_SANDBOX_INSTALL_COMMANDS = exports.OPTION_SANDBOX_RESOURCES = exports.OPTION_SANDBOX_OS = exports.OPTION_SANDBOX_NAME = exports.OPTION_SANDBOX_IDENTIFIER = exports.TXT_AUTOCOMPLETE_UNINSTALLED = exports.TXT_AUTOCOMPLETE_INSTALLED = exports.DESC_COMMAND_AUTOCOMPLETE_UNINSTALL = exports.DESC_COMMAND_AUTOCOMPLETE_INSTALL = exports.DESC_COMMAND_AUTOCOMPLETE = exports.DESC_COMMAND_SANDBOX_EXEC = exports.DESC_COMMAND_SANDBOX_STATUS = exports.DESC_COMMAND_SANDBOX_RESTART = exports.DESC_COMMAND_SANDBOX_STOP = exports.DESC_COMMAND_SANDBOX_START = exports.DESC_COMMAND_SANDBOX_DESTROY = exports.DESC_COMMAND_SANDBOX_GET = exports.DESC_COMMAND_SANDBOX_LIST = exports.DESC_COMMAND_SANDBOX_UPDATE = exports.DESC_COMMAND_SANDBOX_GET_YAML = exports.DESC_COMMAND_SANDBOX_CREATE = exports.DESC_COMMAND_SANDBOX = exports.DEBUG_WAIT_FOR_IDLE_TIMEOUT = exports.DEBUG_WAIT_FOR_IDLE = exports.DEBUG_RESOURCE_DISCOVERY_TIMEOUT = exports.DEBUG_AUTO_WIDTH = exports.DEBUG_AUTO_SCROLL = exports.DEBUG_RESOURCE_SCRAPPING_URL = exports.DEBUG_SNAPSHOT_PROCESSING = exports.DEBUG_SNAPSHOTS_PROCESSING = exports.DEBUG_EXEC_COMMAND = exports.DEBUG_EXEC_TEST_COMMAND = exports.LOG_INSTALLED_BROWSER = exports.LOG_SESSION_LINK = exports.LOG_SENDING_DATA = exports.LOG_SENDING_REQUEST = exports.LOG_PROCESSING_SNAPSHOTS = exports.LOG_RUNNING_EXEC_COMMAND = exports.LOG_TUNNEL_SSH_STREAM = exports.LOG_TUNNEL_TLS_AGENT_STREAM = exports.LOG_TUNNEL_TLS_REGION_STREAM = exports.LOG_TUNNEL_TLS_TARGET_STREAM = exports.LOG_TUNNEL_HTTP2_STREAM = exports.LOG_TUNNEL_HTTP1_STREAM = exports.LOG_TUNNEL_TCP_STREAM = void 0;
12
- exports.DESC_COMMAND_SANDBOX_ENDPOINT_GET = exports.DESC_COMMAND_SANDBOX_ENDPOINT_LIST = exports.DESC_COMMAND_SANDBOX_ENDPOINT = exports.ERR_SANDBOX_SNAPSHOTS_NOT_FOUND = exports.ERR_SANDBOX_SNAPSHOT_NOT_FOUND = exports.ERR_SANDBOX_SNAPSHOT_FAILED = exports.TXT_SANDBOX_SNAPSHOT_WAITING = exports.TXT_SANDBOX_SNAPSHOT_DELETE_CONFIRM = exports.TXT_SANDBOX_SNAPSHOT_DELETED = exports.TXT_SANDBOX_SNAPSHOT_CREATED = exports.OPTION_SANDBOX_FROM_SNAPSHOT = exports.OPTION_SANDBOX_SNAPSHOT_NAME_ARG = exports.OPTION_SANDBOX_SNAPSHOT_NAME = exports.DESC_COMMAND_SANDBOX_SNAPSHOT_DELETE = exports.DESC_COMMAND_SANDBOX_SNAPSHOT_GET = exports.DESC_COMMAND_SANDBOX_SNAPSHOT_CREATE = exports.DESC_COMMAND_SANDBOX_SNAPSHOT_LIST = exports.DESC_COMMAND_SANDBOX_SNAPSHOT = exports.TXT_SANDBOX_COMMAND_KILLED = exports.OPTION_SANDBOX_COMMAND_KILL_CONFIRM = exports.OPTION_SANDBOX_COMMAND_ID = exports.DESC_COMMAND_SANDBOX_EXEC_KILL = exports.DESC_COMMAND_SANDBOX_EXEC_LOGS = exports.DESC_COMMAND_SANDBOX_EXEC_STATUS = exports.DESC_COMMAND_SANDBOX_EXEC_LIST = exports.TXT_SANDBOX_WAITING_START = exports.TXT_SANDBOX_WAITING_STOP = exports.TXT_SANDBOX_WAITING_SETUP = exports.TXT_SANDBOX_WAITING_RUNNING = exports.TXT_SANDBOX_STOPPED = exports.TXT_SANDBOX_STARTED = exports.TXT_SANDBOX_DESTROYED = exports.TXT_SANDBOX_DESTROY_CONFIRM = exports.TXT_SANDBOX_UPDATED = exports.TXT_SANDBOX_CREATED = exports.TXT_SANDBOX_CREATING = exports.OPTION_SANDBOX_WAIT = exports.OPTION_SANDBOX_WAIT_CONFIGURED = exports.OPTION_SANDBOX_WAIT_RUNNING = exports.ERR_SANDBOX_STOP_FAILED = exports.ERR_SANDBOX_NO_COMMANDS = exports.ERR_SANDBOX_RUNNING_FAILED = exports.ERR_SANDBOX_STOP_TIMEOUT = exports.ERR_SANDBOX_SNAPSHOT_TIMEOUT = exports.ERR_SANDBOX_RUNNING_TIMEOUT = exports.ERR_SANDBOX_SETUP_TIMEOUT = exports.ERR_SANDBOX_SETUP_FAILED = exports.ERR_SANDBOX_INVALID_RESOURCES = exports.ERR_SANDBOX_NOT_FOUND = exports.OPTION_SANDBOX_RUNTIME = void 0;
13
- exports.DESC_COMMAND_API_WORKSPACE = exports.DESC_COMMAND_API_REQUEST_URL = exports.DESC_COMMAND_API_GET = exports.DESC_COMMAND_API_PATCH = exports.DESC_COMMAND_API_DELETE = exports.DESC_COMMAND_API_PUT = exports.DESC_COMMAND_API_POST = exports.DESC_COMMAND_API_LIST = exports.DESC_COMMAND_API = exports.ERR_WHOAMI_LOGOUT = exports.TXT_WHOAMI_NO_WORKSPACE = exports.DESC_COMMAND_WHOAMI = exports.TXT_SANDBOX_EXEC_FAILED = exports.TXT_SANDBOX_EXEC_INPROGRESS = exports.TXT_SANDBOX_EXEC_SUCCESS = exports.TXT_SANDBOX_EXEC_BACKGROUND = exports.TXT_SANDBOX_EXEC_ID = exports.ERR_SANDBOX_CP_INVALID_SOURCE = exports.ERR_SANDBOX_CP_INVALID_DEST = exports.ERR_SANDBOX_CP_REPLACE = exports.ERR_SANDBOX_CP_MKDIR = exports.ERR_SANDBOX_CP_PATH_EXISTS = exports.ERR_SANDBOX_CP_NOT_EMPTY_DIR = exports.ERR_SANDBOX_CP_READDIR = exports.ERR_SANDBOX_CP_DEST_NOT_FOLDER = exports.ERR_SANDBOX_CP_SOURCE_NOT_FOUND = exports.TXT_SANDBOX_CP_DONE = exports.TXT_SANDBOX_CP_PROGRESS = exports.TXT_SANDBOX_UNZIPPING_COUNT = exports.TXT_SANDBOX_UNZIP_DONE = exports.TXT_SANDBOX_UNZIP = exports.TXT_SANDBOX_CP_DOWNLOAD_DONE = exports.TXT_SANDBOX_CP_DOWNLOAD = exports.OPTION_SANDBOX_CP_DOWNLOAD_REPLACE = exports.OPTION_SANDBOX_CP_DOWNLOAD_MERGE = exports.OPTION_SANDBOX_CP_DEST = exports.OPTION_SANDBOX_CP_SOURCE = exports.DESC_COMMAND_SANDBOX_CP = exports.ERR_SANDBOX_ENDPOINTS_NOT_FOUND = exports.ERR_SANDBOX_ENDPOINT_NOT_FOUND = exports.ERR_SANDBOX_ENDPOINT_EXISTS = exports.TXT_SANDBOX_ENDPOINT_DELETED = exports.TXT_SANDBOX_ENDPOINT_DELETE_CONFIRM = exports.TXT_SANDBOX_ENDPOINT_ADDED = exports.OPTION_SANDBOX_ENDPOINT_TYPE = exports.OPTION_SANDBOX_ENDPOINT_PORT = exports.OPTION_SANDBOX_ENDPOINT_NAME_ARG = exports.OPTION_SANDBOX_ENDPOINT_NAME = exports.DESC_COMMAND_SANDBOX_ENDPOINT_DELETE = exports.DESC_COMMAND_SANDBOX_ENDPOINT_ADD = void 0;
14
- exports.OPT_COMMAND_DOMAIN_BUY_TLD = exports.DESC_COMMAND_DOMAIN_GET = exports.DESC_COMMAND_DOMAIN_LIST = exports.DESC_COMMAND_DOMAIN_BUY = exports.DESC_COMMAND_DOMAIN = exports.ERR_API_MESSAGE_REPLACER = exports.ERR_LOGIN_INVALID_BASE_URL = exports.ERR_LOGIN_NO_WORKSPACE_FOUND = exports.ERR_LOGIN_NO_WORKSPACES = exports.ERR_LOGIN_HTTP_SUCCESS = exports.ERR_LOGIN_HTTP_FAILED = exports.TXT_LOGIN_OAUTH = exports.ERR_LOGIN_HTTP_SERVER_PORT_TAKEN = exports.TXT_LOGIN_SUCCESS = exports.TXT_LOGIN_SELECT_WORKSPACE = exports.TXT_LOGIN_ENTER_BASE_URL = exports.TXT_LOGIN_SELECT_REGION = exports.TXT_WORKSPACE_NONE = exports.TXT_WORKSPACE_SET_SUCCESS = exports.ARG_COMMAND_WORKSPACE = exports.DESC_COMMAND_WORKSPACE_GET = exports.DESC_COMMAND_WORKSPACE_SET = exports.DESC_COMMAND_WORKSPACE_LIST = exports.DESC_COMMAND_WORKSPACE = exports.TXT_LOGOUT_SUCCESS = exports.DESC_COMMAND_LOGOUT = exports.DESC_COMMAND_LOGIN = exports.ERR_API_MEDIA_TYPE_NOT_IMPLEMENTED = exports.ERR_API_PARAMETER_NOT_REPLACED = exports.TXT_API_ENDPOINT_REQUIRED_SCOPES = exports.ERR_API_ENDPOINT_NOT_FOUND = exports.ERR_API_WRONG_METHOD = exports.ERR_SCHEMA_FETCH_FAILED = exports.OPT_COMMAND_API_INFO_URL = exports.OPT_COMMAND_API_INFO_SCHEMA = exports.OPT_COMMAND_API_INFO_METHOD = exports.OPT_COMMAND_API_LIST_SEARCH = exports.OPT_COMMAND_API_LIST_METHOD = exports.ERR_API_REQUEST_BODY_VALUE = exports.ERR_API_REQUEST_QUERY_VALUE = exports.ERR_API_REQUEST_INVALID_JSON = exports.ERR_API_REQUEST_FILE_ERROR = exports.ERR_API_REQUEST_OUTPUT_EXISTS = exports.DESC_COMMAND_API_INFO = exports.DESC_COMMAND_API_FORM = exports.DESC_COMMAND_API_JSON = exports.DESC_COMMAND_API_DATA = exports.DESC_COMMAND_API_OUTPUT = exports.DESC_COMMAND_API_REQUEST_QUERY = exports.DESC_COMMAND_API_PROJECT = void 0;
15
- exports.ERR_COMMAND_PROJECT_LINK_DIR_NOT_DIR = exports.TXT_COMMAND_PROJECT_LINK_GIT_REPO_INITIALIZED = exports.TXT_COMMAND_PROJECT_LINK_GIT_REPO = exports.TXT_COMMAND_PROJECT_LINK_DIR_CONFIRM = exports.TXT_COMMAND_PROJECT_LINK_DIR_LINKED = exports.ERR_COMMAND_PROJECT_LINK_DIR_CREATE = exports.OPT_COMMAND_PROJECT_LINK_TRY_NOW = exports.OPT_COMMAND_PROJECT_LINK_SET_GIT_REMOTE = exports.OPT_COMMAND_PROJECT_LINK_HAS_REMOTE = exports.OPT_COMMAND_PROJECT_LINK_DIRECTORY = exports.OPT_COMMAND_PROJECT_LINK_GIT = exports.OPT_COMMAND_PROJECT_LINK_RELINK = exports.DESC_COMMAND_PROJECT_LINK = exports.DESC_COMMAND_PROJECT_LIST = exports.DESC_COMMAND_PROJECT_GIT = exports.DESC_COMMAND_PROJECT_GIT_CREDENTIAL = exports.DESC_COMMAND_PROJECT = exports.TXT_PACKAGE_VERSION_DOWNLOAD = exports.TXT_PACKAGE_PUBLISH = exports.TXT_PACKAGE_CREATED = exports.TXT_PACKAGE_VERSION_DELETED = exports.TXT_PACKAGE_DELETED = exports.ERR_COMMAND_PACKAGE_TYPE = exports.OPT_COMMAND_PACKAGE_VERSION = exports.OPT_COMMAND_PACKAGE_IDENTIFIER = exports.OPT_COMMAND_PACKAGE_CREATE_IDENTIFIER = exports.OPT_COMMAND_PACKAGE_NAME = exports.OPT_COMMAND_PACKAGE_TYPE = exports.DESC_COMMAND_PACKAGE_CREATE = exports.DESC_COMMAND_PACKAGE_GET = exports.TXT_PACKAGE_DOCKER_LOGIN_FAILED = exports.TXT_PACKAGE_DOCKER_LOGIN_SUCCESS = exports.TXT_PACKAGE_VERSION_DELETE_CONFIRM = exports.TXT_PACKAGE_DELETE_CONFIRM = exports.DESC_COMMAND_PACKAGE_DELETE = exports.ERR_COMMAND_PACKAGE_NO_PROJECTS = exports.DESC_COMMAND_PACKAGE_VERSION_GET = exports.DESC_COMMAND_PACKAGE_VERSION_LIST = exports.DESC_COMMAND_PACKAGE_VERSION_DELETE = exports.DESC_COMMAND_PACKAGE_DOCKER_LOGIN = exports.DESC_COMMAND_PACKAGE_LIST = exports.DESC_COMMAND_PACKAGE_VERSION = exports.OPTION_COMMAND_DOMAIN_IDENTIFIER = exports.ERR_COMMAND_DOMAIN_NO_DOMAINS = exports.TXT_COMMAND_DOMAIN_BUY_PROMPT_REQUIRED = exports.TXT_COMMAND_DOMAIN_BUY_SELECT_DOMAIN = exports.TXT_COMMAND_DOMAIN_BUY_PROVIDE_PROMPT = exports.ERR_COMMAND_DOMAIN_NOT_FOUND = exports.OPT_COMMAND_DOMAIN_PHRASE = exports.OPT_COMMAND_DOMAIN_BUY_OWNER = void 0;
16
- exports.EXAMPLE_PACKAGE_VERSION_DELETE = exports.EXAMPLE_PACKAGE_VERSION_GET = exports.EXAMPLE_PACKAGE_VERSION_LIST = exports.EXAMPLE_PACKAGE_CREATE = exports.EXAMPLE_PACKAGE_DELETE = exports.EXAMPLE_PACKAGE_DOWNLOAD = exports.EXAMPLE_PACKAGE_PUBLISH = exports.EXAMPLE_PIPELINE_RUN = exports.EXAMPLE_SANDBOX_ENDPOINT_LIST = exports.EXAMPLE_SANDBOX_ENDPOINT_GET = exports.EXAMPLE_SANDBOX_ENDPOINT_DELETE = exports.EXAMPLE_SANDBOX_ENDPOINT_CREATE = exports.EXAMPLE_SANDBOX_SNAPSHOT_LIST = exports.EXAMPLE_SANDBOX_SNAPSHOT_GET = exports.EXAMPLE_SANDBOX_SNAPSHOT_DELETE = exports.EXAMPLE_SANDBOX_SNAPSHOT_CREATE = exports.EXAMPLE_SANDBOX_EXEC_STATUS = exports.EXAMPLE_SANDBOX_EXEC_LOGS = exports.EXAMPLE_SANDBOX_EXEC_LIST = exports.EXAMPLE_SANDBOX_EXEC_KILL = exports.EXAMPLE_SANDBOX_EXEC_COMMAND = exports.EXAMPLE_TUNNEL_START = exports.EXAMPLE_TUNNEL_TCP = exports.EXAMPLE_TUNNEL_TLS = exports.EXAMPLE_AGENT_TUNNEL_START = exports.EXAMPLE_AGENT_TUNNEL_STATUS = exports.EXAMPLE_AGENT_TUNNEL_REMOVE = exports.EXAMPLE_AGENT_TUNNEL_LIST = exports.EXAMPLE_TUNNEL_HTTP = exports.EXAMPLE_SANDBOX_CREATE = exports.EXAMPLE_SANDBOX_CP = exports.ERR_PROJECT_NO_PROJECTS = exports.TXT_LOGIN_SELECT_PROJECT = exports.TXT_COMMAND_PROJECT_CREATED = exports.TXT_COMMAND_PROJECT_LINK_NOT_FOUND = exports.TXT_COMMAND_PROJECT_LINK_NAME = exports.TXT_COMMAND_PROJECT_LINK_SELECT_PROJECT = exports.TXT_COMMAND_PROJECT_LINK_TO = exports.TXT_COMMAND_PROJECT_LINK_EXISTING_DESC = exports.TXT_COMMAND_PROJECT_LINK_EXISTING = exports.TXT_COMMAND_PROJECT_LINK_CREATE_NEW_DESC = exports.TXT_COMMAND_PROJECT_LINK_CREATE_NEW = void 0;
4
+ exports.ERR_INVALID_SNAPSHOTS_RESPONSE = exports.ERR_INVALID_SNAPSHOT_RESPONSE = exports.ERR_MISSING_URLS = exports.ERR_RESOURCE_NOT_FOUND = exports.ERR_MISSING_EXEC_COMMAND = exports.ERR_PARSING_STORIES = exports.ERR_UNSUPPORTED_STORYBOOK = exports.ERR_MISSING_STORYBOOK_INDEX_FILE = exports.ERR_WRONG_STORYBOOK_DIRECTORY = exports.ERR_MISSING_BUILD_ID = exports.ERR_MISSING_UT_TOKEN = exports.ERR_MISSING_SCRAPE_TOKEN = exports.ERR_MISSING_VT_TOKEN = exports.ERR_CONFIG_CORRUPTED = exports.ERR_WRONG_TOKEN = exports.ERR_TOKEN_NOT_PROVIDED = exports.ERR_CANT_CREATE_DIR_IN_HOME = exports.ERR_CONNECTION_ERROR = exports.ERR_CONNECTION_TIMEOUT = exports.ERR_WRONG_STREAM = exports.ERR_WRONG_HANDSHAKE = exports.ERR_FETCH_VERSION = exports.ERR_PACKAGE_DOWNLOAD_REPLACE = exports.ERR_PACKAGE_DOWNLOAD_NOT_EMPTY_DIR = exports.ERR_PACKAGE_DOWNLOAD_IS_FILE = exports.ERR_PACKAGE_DOWNLOAD_READDIR = exports.ERR_PACKAGE_DOWNLOAD_MKDIR = exports.ERR_SWW = exports.ERR_NOT_FOUND = exports.ERR_FAILED_TO_CONNECT_TO_AGENT = exports.ERR_TUNNEL_REMOVED = exports.ERR_TUNNELS_DISABLED = exports.ERR_AGENT_LIMIT_REACHED = exports.ERR_TUNNEL_TARGET_INVALID = exports.ERR_WORKSPACE_FLAGGED = exports.ERR_TUNNEL_LIMIT_REACHED = exports.ERR_DOMAIN_RESTRICTED = exports.ERR_AGENT_REMOVED = exports.ERR_FAILED_TO_CONNECT = exports.ERR_TUNNEL_ALREADY_EXISTS = exports.ERR_AGENT_NOT_SUPPORTED = exports.ERR_AGENT_ADMIN_RIGHTS = exports.ERR_SWW_AGENT_UPDATING = exports.ERR_SWW_AGENT_ENABLING = exports.ERR_AGENT_TAG_INVALID = exports.ERR_AGENT_NOT_FOUND = exports.ERR_AGENT_NOT_RUNNING = exports.ERR_AGENT_NOT_INSTALLED = exports.ERR_TUNNEL_NOT_FOUND = exports.ERR_WHITELIST_IS_NOT_VALID = void 0;
5
+ exports.DESC_COMMAND_CONFIG_ADD_HTTP = exports.AGENT_FETCH_RETRY = exports.NO_TUNNELS_STARTED = exports.TXT_AGENT_STANDALONE_EXITING = exports.TXT_AGENT_STANDALONE_STARTED = exports.TXT_AGENT_STANDALONE_AGENT_REGISTER_ERROR = exports.TXT_AGENT_STANDALONE_AGENT_REGISTERED = exports.TXT_AGENT_STANDALONE_AGENT_REGISTERING = exports.TXT_AGENT_STANDALONE_AGENT_FETCH_ERROR = exports.TXT_AGENT_STANDALONE_AGENT_FETCHED = exports.TXT_AGENT_STANDALONE_AGENT_FETCHING = exports.TXT_TUNNEL_ADDED = exports.TXT_TUNNEL_REMOVED = exports.TXT_REGION_SAVED = exports.TXT_TIMEOUT_SAVED = exports.TXT_TOKEN_REMOVED = exports.TXT_TOKEN_SAVED = exports.TXT_WHITELIST_SAVED = exports.TXT_TUNNEL_STOPPED = exports.TXT_TUNNEL_STARTED = exports.TXY_AGENT_CONFIRM_DELETE = exports.TXT_AGENT_DISABLED = exports.TXT_AGENT_ALREADY_INSTALLED = exports.TXT_AGENT_UPDATED = exports.TXT_AGENT_INSTALLED = exports.TXT_AGENT_NO_TAGS = exports.TXT_AGENT_TAGS_SET = exports.TXT_AGENT_TUNNELING_DISABLED = exports.TXT_AGENT_TUNNELING_ENABLED = exports.TXT_AGENT_PROXY_DISABLED = exports.TXT_AGENT_PROXY_ENABLED = exports.TXT_AGENT_TARGET_DISABLED = exports.TXT_AGENT_TARGET_ENABLED = exports.TXT_AGENT_RESTARTED = exports.TXT_AGENT_DEBUG_OFF = exports.TXT_AGENT_DEBUG_ON = exports.TXT_AGENT_STARTED = exports.TXT_AGENT_STOPPED = exports.WARN_BROWSER_VERSION = exports.ERR_RESOURCE_DISCOVERY = exports.ERR_NO_SNAPSHOTS_TO_SEND = exports.ERR_INVALID_SNAPSHOT = exports.ERR_TEST_EXECUTION = exports.ERR_INVALID_JSON = exports.ERR_INVALID_DOWNLOAD_RESPONSE = exports.ERR_INVALID_SCRAPE_RESPONSE = exports.ERR_INVALID_COMPARE_LINKS_RESPONSE = exports.ERR_INVALID_STORYBOOK_RESPONSE = exports.ERR_INVALID_DEFAULT_SETTINGS_RESPONSE = exports.ERR_INVALID_CLOSE_SESSION_RESPONSE = void 0;
6
+ exports.DESC_COMMAND_AGENT = exports.DESC_COMMAND_HTTP = exports.DESC_COMMAND_CONFIG = exports.DESC_COMMAND_AGENT_VERSION = exports.DESC_COMMAND_AGENT_UPDATE = exports.OPT_COMMAND_AGENT_TAGS_SET = exports.DESC_COMMAND_AGENT_TAGS_SET = exports.DESC_COMMAND_AGENT_TAGS_GET = exports.DESC_COMMAND_AGENT_TAGS = exports.DESC_COMMAND_AGENT_PROXY = exports.DESC_COMMAND_AGENT_TARGET = exports.DESC_COMMAND_AGENT_TUNNEL = exports.DESC_COMMAND_AGENT_STOP = exports.DESC_COMMAND_AGENT_PROXY_DISABLE = exports.DESC_COMMAND_AGENT_TARGET_DISABLE = exports.DESC_COMMAND_AGENT_TUNNELING_DISABLE = exports.DESC_COMMAND_AGENT_TUNNELING_ENABLE = exports.DESC_COMMAND_AGENT_PROXY_ENABLE = exports.DESC_COMMAND_AGENT_TARGET_ENABLE = exports.DESC_COMMAND_AGENT_PROXY_STATUS = exports.DESC_COMMAND_AGENT_TARGET_STATUS = exports.DESC_COMMAND_AGENT_STATUS = exports.DESC_COMMAND_AGENT_RESTART = exports.DESC_COMMAND_AGENT_ENABLE = exports.DESC_COMMAND_AGENT_DEBUG = exports.DESC_COMMAND_AGENT_DISABLE = exports.DESC_COMMAND_AGENT_START = exports.DESC_COMMAND_AGENT_INSTALL = exports.DESC_COMMAND_AGENT_UNINSTALL = exports.DESC_COMMAND_AGENT_TUNNEL_REMOVE = exports.DESC_COMMAND_AGENT_TUNNEL_STATUS = exports.DESC_COMMAND_AGENT_TUNNEL_LIST = exports.DESC_COMMAND_CONFIG_SET = exports.DESC_COMMAND_CONFIG_REMOVE = exports.DESC_COMMAND_CONFIG_GET = exports.DESC_COMMAND_CONFIG_ADD = exports.DESC_COMMAND_CONFIG_SET_WHITELIST = exports.DESC_COMMAND_CONFIG_SET_TOKEN = exports.DESC_COMMAND_CONFIG_SET_TIMEOUT = exports.DESC_COMMAND_CONFIG_SET_REGION = exports.DESC_COMMAND_CONFIG_REMOVE_TOKEN = exports.DESC_COMMAND_CONFIG_REMOVE_TUNNEL = exports.DESC_COMMAND_CONFIG_GET_WHITELIST = exports.DESC_COMMAND_CONFIG_GET_TUNNELS = exports.DESC_COMMAND_CONFIG_GET_TUNNEL = exports.DESC_COMMAND_CONFIG_GET_TOKEN = exports.DESC_COMMAND_CONFIG_GET_TIMEOUT = exports.DESC_COMMAND_CONFIG_GET_REGION = exports.DESC_COMMAND_CONFIG_ADD_TLS = exports.DESC_COMMAND_CONFIG_ADD_TCP = void 0;
7
+ exports.OPTION_DEFAULT_REGION = exports.OPTION_REGION = exports.TXT_PACKAGE_UNZIPPING_COUNT = exports.TXT_PACKAGE_UNZIPPED = exports.TXT_PACKAGE_UNZIPPING = exports.TXT_PACKAGE_DOWNLOADED_ZIP = exports.TXT_PACKAGE_DOWNLOADING_ZIP = exports.TXT_PACKAGE_DOWNLOADED = exports.TXT_PACKAGE_PUBLISHED = exports.TXT_PACKAGE_ENTRIES_FOUND = exports.TXT_PACKAGE_UPLOADED = exports.TXT_PACKAGE_UPLOADING = exports.TXT_PACKAGE_ZIPPED = exports.TXT_PACKAGE_ZIP_ENTRIES = exports.TXT_PACKAGE_ONE_ENTRY_FOUND = exports.TXT_PACKAGE_NO_ENTRIES_FOUND = exports.TXT_PACKAGE_SCANNING_DIR = exports.TXT_PIPELINE_RUN_FINISH_FAILED = exports.TXT_PIPELINE_RUN_FINISH_SUCCESSFULLY = exports.TXT_STORIES_AMOUNT = exports.TXT_PIPELINE_RUN_STILL_WAITING = exports.TXT_PIPELINE_RUN_WAIT = exports.TXT_PIPELINE_RUN_SUCCESS = exports.TXT_OPENING_TUNNEL = exports.TXT_UPDATING_AGENT = exports.TXT_ENABLING_AGENT = exports.TXT_NEW_AGENT_VERSION = exports.TXT_NEW_CLI_DOCKER_VERSION = exports.OPTION_UPLOAD_DRY_RUN = exports.OPTION_UPLOAD_REPORT_FORMAT = exports.OPTION_UPLOAD_REPORT_GLOB = exports.DESC_COMMAND_UT_UPLOAD = exports.DESC_COMMAND_UT = exports.DESC_COMMAND_VT_INSTALL_BROWSER = exports.DESC_COMMAND_VT_EXEC = exports.DESC_COMMAND_VT_SCRAPE = exports.DESC_COMMAND_VT_COMPARE = exports.DESC_COMMAND_VT_STORYBOOK = exports.DESC_COMMAND_VT_CLOSE = exports.DESC_COMMAND_VT = exports.DESC_COMMAND_PIPELINE_RUN = exports.DESC_COMMAND_PACKAGE_DOWNLOAD = exports.DESC_COMMAND_PACKAGE_PUBLISH = exports.DESC_COMMAND_PACKAGE = exports.DESC_COMMAND_PIPELINE = exports.DESC_PROGRAM = exports.DESC_COMMAND_TLS = exports.DESC_COMMAND_TCP = exports.DESC_COMMAND_START = exports.DESC_COMMAND_TUNNEL = void 0;
8
+ exports.OPTION_TARGET = exports.OPTION_TLS_TERMINATE = exports.OPTION_TLS_CA = exports.OPTION_TLS_CERT = exports.OPTION_TLS_KEY = exports.OPTION_HTTP_CIRCUIT_BREAKER = exports.OPTION_HTTP_COMPRESSION = exports.OPTION_HTTP_2 = exports.OPTION_HTTP_VERIFY = exports.OPTION_HTTP_LOG = exports.OPTION_HTTP_AUTH_BUDDY = exports.OPTION_HTTP_AUTH = exports.OPTION_HTTP_HOST = exports.OPTION_CONFIRM_FORCE = exports.OPTION_FORCE = exports.OPTION_TOKEN = exports.OPTION_TIMEOUT = exports.OPTION_FOLLOW = exports.OPTION_SERVE = exports.OPTION_HEADER_USER_AGENT = exports.OPTION_RESPONSE_HEADER = exports.OPTION_HEADER = exports.OPTION_WHITELIST = exports.OPTION_REST_API_PER_PAGE = exports.OPTION_REST_API_PAGE = exports.OPTION_REST_API_PROJECT = exports.OPTION_REST_API_WORKSPACE = exports.OPTION_PIPELINE_RUN_WAIT = exports.OPTION_PIPELINE_RUN_ACTION = exports.OPTION_REST_API_TOKEN = exports.OPTION_PACKAGE_DOWNLOAD_REPLACE = exports.OPTION_PACKAGE_DOWNLOAD_MERGE = exports.OPTION_PACKAGE_PUBLISH_OVERWRITE_VERSION = exports.OPTION_PACKAGE_PUBLISH_CREATE = exports.OPTION_PACKAGE_ID = exports.OPTION_PACKAGE_DOWNLOAD_PATH = exports.OPTION_PACKAGE_PUBLISH_PATH = exports.OPTION_PIPELINE_RUN_ARGUMENT = exports.OPTION_PIPELINE_RUN_DELAY = exports.OPTION_PIPELINE_RUN_VAR = exports.OPTION_PIPELINE_RUN_PRIORITY = exports.OPTION_PIPELINE_RUN_CLEAR_CACHE = exports.OPTION_PIPELINE_RUN_REFRESH = exports.OPTION_PIPELINE_RUN_COMMENT = exports.OPTION_PIPELINE_RUN_PULL_REQUEST = exports.OPTION_PIPELINE_RUN_REVISION = exports.OPTION_PIPELINE_RUN_TAG = exports.OPTION_PIPELINE_RUN_BRANCH = exports.OPTION_REST_API_REGION = exports.OPTION_REST_API_ENDPOINT = void 0;
9
+ exports.LOG_ERROR_SAVING_AGENT_SYSTEM_CONFIG = exports.LOG_SAVING_AGENT_LOCAL_CONFIG = exports.LOG_REMOVING_AGENT_PROC_ID = exports.LOG_SAVING_AGENT_PROC_ID = exports.LOG_SAVING_AGENT_SYSTEM_CONFIG = exports.LOG_REGISTERING_AGENT = exports.OPTION_SCRAPE_OUTPUT_TYPES = exports.OPTION_SCRAPE_OUTPUT_DIR = exports.OPTION_SCRAPE_DELAY = exports.OPTION_SCRAPE_LOCAL_STORAGE = exports.OPTION_SCRAPE_DEVICES = exports.OPTION_SCRAPE_BROWSERS = exports.OPTION_SCRAPE_COLOR_SCHEME = exports.OPTION_SCRAPE_XPATH_SELECTOR = exports.OPTION_SCRAPE_CSS_SELECTOR = exports.OPTION_SCRAPE_FULL_PAGE = exports.OPTION_SCRAPE_QUALITY = exports.OPTION_SCRAPE_OUTPUT_TYPE = exports.OPTION_SCRAPE_FOLLOW = exports.OPTION_SCRAPE_URL = exports.OPTION_COMPARE_WAIT_FOR = exports.OPTION_COMPARE_DELAY = exports.OPTION_COMPARE_HEADER = exports.OPTION_COMPARE_COOKIE = exports.OPTION_COMPARE_IGNORE = exports.OPTION_COMPARE_IGNORE_URLS = exports.OPTION_COMPARE_DRY_RUN = exports.OPTION_COMPARE_URLS_FILE = exports.OPTION_COMPARE_SITEMAP = exports.OPTION_COMPARE_URLS = exports.OPTION_COMPARE_RESPECT_ROBOTS = exports.OPTION_COMPARE_FOLLOW = exports.OPTION_EXEC_PARALLEL = exports.OPTION_EXEC_ONE_BY_ONE = exports.OPTION_EXEC_SKIP_DISCOVERY = exports.OPTION_EXEC_COMMAND = exports.OPTION_AGENT_DEBUG = exports.OPTION_AGENT_PORT = exports.OPTION_AGENT_TAG = exports.OPTION_AGENT_TUNNELING = exports.OPTION_AGENT_PROXY = exports.OPTION_AGENT_TARGET = exports.OPTION_PASS = exports.OPTION_APP = exports.OPTION_USER = exports.OPTION_AGENT_TOKEN = exports.OPTION_AGENT_START = exports.OPTION_AGENT_ID = exports.OPTION_ID = exports.OPTION_NAME = void 0;
10
+ exports.LOG_TUNNEL_HTTP_CIRCUIT_BREAKER_OPEN = exports.LOG_TUNNEL_HTTP_RATE_LIMIT = exports.LOG_TUNNEL_HTTP_WRON_AUTH = exports.LOG_TUNNEL_IDENTIFIED = exports.LOG_TUNNEL_DISCONNECTED = exports.LOG_TUNNEL_FAILED = exports.LOG_TUNNEL_CONNECTED = exports.LOG_AGENT_STARTED = exports.LOG_AGENT_SERVER_STARTED = exports.LOG_ERROR_STARTING_AGENT_SERVER = exports.LOG_SSH_CONNECTION = exports.LOG_WRONG_STREAM = exports.LOG_DETECTED_STREAM = exports.LOG_HTTP2_REQUEST = exports.LOG_HTTP2_CONNECTION = exports.LOG_HTTP1_REQUEST = exports.LOG_HTTP1_CONNECTION = exports.LOG_ERROR = exports.LOG_STOPPING_TUNNEL = exports.LOG_STARTING_TUNNEL = exports.LOG_ENABLING_AGENT_TUNNELING = exports.LOG_ENABLING_AGENT_PROXY = exports.LOG_ENABLING_AGENT_TARGET = exports.LOG_DISABLING_AGENT_TUNNELING = exports.LOG_DISABLING_AGENT_PROXY = exports.LOG_DISABLING_AGENT_TARGET = exports.LOG_REMOVING_TUNNEL = exports.LOG_TUNNEL_REGISTERED = exports.LOG_ERROR_WHILE_REFRESHING_AGENT = exports.LOG_REGISTERING_TUNNEL = exports.LOG_GETTING_AGENT = exports.LOG_UNREGISTERING_AGENT = exports.LOG_REGION_DETECTED = exports.LOG_AGENT_REGISTERED = exports.LOG_SOCKET_DISCONNECTED = exports.LOG_SOCKET_CONNECTED = exports.LOG_AGENT_NSSM_CLEARING = exports.LOG_AGENT_NSSM_EXTRACTING = exports.LOG_AGENT_NSSM_DOWNLOADING = exports.LOG_AGENT_ENABLED = exports.LOG_AGENT_STARTING_SYSTEM = exports.LOG_AGENT_STOPPING_SYSTEM = exports.LOG_AGENT_ENABLING_SYSTEM = exports.LOG_AGENT_SYSTEM_SERVICE_CONFIG = exports.LOG_AGENT_EXTRACTING_ARCHIVE = exports.LOG_AGENT_DOWNLOADING_ARCHIVE = exports.LOG_AGENT_SYSTEM_DIR = exports.LOG_ERROR_SAVING_AGENT_LOCAL_CONFIG = exports.LOG_ERROR_REMOVING_AGENT_STANDALONE_LOCK_FILE = exports.LOG_ERROR_SAVING_AGENT_STANDALONE_CONFIG = void 0;
11
+ exports.OPTION_SANDBOX_APP_DIR = exports.OPTION_SANDBOX_RUN_COMMAND = exports.OPTION_SANDBOX_YAML = exports.OPTION_SANDBOX_TAGS = exports.OPTION_SANDBOX_INSTALL_COMMANDS = exports.OPTION_SANDBOX_RESOURCES = exports.OPTION_SANDBOX_OS = exports.OPTION_SANDBOX_NAME = exports.OPTION_SANDBOX_IDENTIFIER = exports.TXT_AUTOCOMPLETE_UNINSTALLED = exports.TXT_AUTOCOMPLETE_INSTALLED = exports.DESC_COMMAND_AUTOCOMPLETE_UNINSTALL = exports.DESC_COMMAND_AUTOCOMPLETE_INSTALL = exports.DESC_COMMAND_AUTOCOMPLETE = exports.DESC_COMMAND_SANDBOX_EXEC = exports.DESC_COMMAND_SANDBOX_STATUS = exports.DESC_COMMAND_SANDBOX_RESTART = exports.DESC_COMMAND_SANDBOX_STOP = exports.DESC_COMMAND_SANDBOX_START = exports.DESC_COMMAND_SANDBOX_DESTROY = exports.DESC_COMMAND_SANDBOX_GET = exports.DESC_COMMAND_SANDBOX_LIST = exports.DESC_COMMAND_SANDBOX_UPDATE = exports.DESC_COMMAND_SANDBOX_GET_YAML = exports.DESC_COMMAND_SANDBOX_CREATE = exports.DESC_COMMAND_SANDBOX = exports.DEBUG_WAIT_FOR_IDLE_TIMEOUT = exports.DEBUG_WAIT_FOR_IDLE = exports.DEBUG_RESOURCE_DISCOVERY_TIMEOUT = exports.DEBUG_AUTO_WIDTH = exports.DEBUG_AUTO_SCROLL = exports.DEBUG_RESOURCE_SCRAPPING_URL = exports.DEBUG_SNAPSHOT_PROCESSING = exports.DEBUG_SNAPSHOTS_PROCESSING = exports.DEBUG_EXEC_COMMAND = exports.DEBUG_EXEC_TEST_COMMAND = exports.LOG_INSTALLED_BROWSER = exports.LOG_SESSION_LINK = exports.LOG_SENDING_DATA = exports.LOG_SENDING_REQUEST = exports.LOG_PROCESSING_SNAPSHOTS = exports.LOG_RUNNING_EXEC_COMMAND = exports.LOG_TUNNEL_SSH_STREAM = exports.LOG_TUNNEL_TLS_AGENT_STREAM = exports.LOG_TUNNEL_TLS_REGION_STREAM = exports.LOG_TUNNEL_TLS_TARGET_STREAM = exports.LOG_TUNNEL_HTTP2_STREAM = exports.LOG_TUNNEL_HTTP1_STREAM = exports.LOG_TUNNEL_TCP_STREAM = exports.LOG_TUNNEL_HTTP_WRONG_USER_AGENTS = void 0;
12
+ exports.DESC_COMMAND_SANDBOX_ENDPOINT_LIST = exports.DESC_COMMAND_SANDBOX_ENDPOINT = exports.ERR_SANDBOX_SNAPSHOTS_NOT_FOUND = exports.ERR_SANDBOX_SNAPSHOT_NOT_FOUND = exports.ERR_SANDBOX_SNAPSHOT_FAILED = exports.TXT_SANDBOX_SNAPSHOT_WAITING = exports.TXT_SANDBOX_SNAPSHOT_DELETE_CONFIRM = exports.TXT_SANDBOX_SNAPSHOT_DELETED = exports.TXT_SANDBOX_SNAPSHOT_CREATED = exports.OPTION_SANDBOX_FROM_SNAPSHOT = exports.OPTION_SANDBOX_SNAPSHOT_NAME_ARG = exports.OPTION_SANDBOX_SNAPSHOT_NAME = exports.DESC_COMMAND_SANDBOX_SNAPSHOT_DELETE = exports.DESC_COMMAND_SANDBOX_SNAPSHOT_GET = exports.DESC_COMMAND_SANDBOX_SNAPSHOT_CREATE = exports.DESC_COMMAND_SANDBOX_SNAPSHOT_LIST = exports.DESC_COMMAND_SANDBOX_SNAPSHOT = exports.TXT_SANDBOX_COMMAND_KILLED = exports.OPTION_SANDBOX_COMMAND_KILL_CONFIRM = exports.OPTION_SANDBOX_COMMAND_ID = exports.DESC_COMMAND_SANDBOX_EXEC_KILL = exports.DESC_COMMAND_SANDBOX_EXEC_LOGS = exports.DESC_COMMAND_SANDBOX_EXEC_STATUS = exports.DESC_COMMAND_SANDBOX_EXEC_LIST = exports.TXT_SANDBOX_WAITING_START = exports.TXT_SANDBOX_WAITING_STOP = exports.TXT_SANDBOX_WAITING_SETUP = exports.TXT_SANDBOX_WAITING_RUNNING = exports.TXT_SANDBOX_STOPPED = exports.TXT_SANDBOX_STARTED = exports.TXT_SANDBOX_DESTROYED = exports.TXT_SANDBOX_DESTROY_CONFIRM = exports.TXT_SANDBOX_UPDATED = exports.TXT_SANDBOX_CREATED = exports.TXT_SANDBOX_CREATING = exports.OPTION_SANDBOX_WAIT = exports.OPTION_SANDBOX_WAIT_CONFIGURED = exports.OPTION_SANDBOX_WAIT_RUNNING = exports.ERR_SANDBOX_STOP_FAILED = exports.ERR_SANDBOX_NO_COMMANDS = exports.ERR_SANDBOX_RUNNING_FAILED = exports.ERR_SANDBOX_STOP_TIMEOUT = exports.ERR_SANDBOX_SNAPSHOT_TIMEOUT = exports.ERR_SANDBOX_RUNNING_TIMEOUT = exports.ERR_SANDBOX_SETUP_TIMEOUT = exports.ERR_SANDBOX_SETUP_FAILED = exports.ERR_SANDBOX_INVALID_RESOURCES = exports.ERR_SANDBOX_NOT_FOUND = exports.OPTION_SANDBOX_RUNTIME = exports.OPTION_SANDBOX_APP_TYPE = void 0;
13
+ exports.DESC_COMMAND_API_REQUEST_URL = exports.DESC_COMMAND_API_GET = exports.DESC_COMMAND_API_PATCH = exports.DESC_COMMAND_API_DELETE = exports.DESC_COMMAND_API_PUT = exports.DESC_COMMAND_API_POST = exports.DESC_COMMAND_API_LIST = exports.DESC_COMMAND_API = exports.ERR_WHOAMI_LOGOUT = exports.TXT_WHOAMI_NO_WORKSPACE = exports.DESC_COMMAND_WHOAMI = exports.TXT_SANDBOX_EXEC_FAILED = exports.TXT_SANDBOX_EXEC_INPROGRESS = exports.TXT_SANDBOX_EXEC_SUCCESS = exports.TXT_SANDBOX_EXEC_BACKGROUND = exports.TXT_SANDBOX_EXEC_ID = exports.ERR_SANDBOX_CP_INVALID_SOURCE = exports.ERR_SANDBOX_CP_INVALID_DEST = exports.ERR_SANDBOX_CP_REPLACE = exports.ERR_SANDBOX_CP_MKDIR = exports.ERR_SANDBOX_CP_PATH_EXISTS = exports.ERR_SANDBOX_CP_NOT_EMPTY_DIR = exports.ERR_SANDBOX_CP_READDIR = exports.ERR_SANDBOX_CP_DEST_NOT_FOLDER = exports.ERR_SANDBOX_CP_SOURCE_NOT_FOUND = exports.TXT_SANDBOX_CP_DONE = exports.TXT_SANDBOX_CP_PROGRESS = exports.TXT_SANDBOX_UNZIPPING_COUNT = exports.TXT_SANDBOX_UNZIP_DONE = exports.TXT_SANDBOX_UNZIP = exports.TXT_SANDBOX_CP_DOWNLOAD_DONE = exports.TXT_SANDBOX_CP_DOWNLOAD = exports.OPTION_SANDBOX_CP_DOWNLOAD_REPLACE = exports.OPTION_SANDBOX_CP_DOWNLOAD_MERGE = exports.OPTION_SANDBOX_CP_DEST = exports.OPTION_SANDBOX_CP_SOURCE = exports.DESC_COMMAND_SANDBOX_CP = exports.ERR_SANDBOX_ENDPOINTS_NOT_FOUND = exports.ERR_SANDBOX_ENDPOINT_NOT_FOUND = exports.ERR_SANDBOX_ENDPOINT_EXISTS = exports.TXT_SANDBOX_ENDPOINT_DELETED = exports.TXT_SANDBOX_ENDPOINT_DELETE_CONFIRM = exports.TXT_SANDBOX_ENDPOINT_ADDED = exports.OPTION_SANDBOX_ENDPOINT_TYPE = exports.OPTION_SANDBOX_ENDPOINT_PORT = exports.OPTION_SANDBOX_ENDPOINT_NAME_ARG = exports.OPTION_SANDBOX_ENDPOINT_NAME = exports.DESC_COMMAND_SANDBOX_ENDPOINT_DELETE = exports.DESC_COMMAND_SANDBOX_ENDPOINT_ADD = exports.DESC_COMMAND_SANDBOX_ENDPOINT_GET = void 0;
14
+ exports.DESC_COMMAND_DOMAIN_GET = exports.DESC_COMMAND_DOMAIN_LIST = exports.DESC_COMMAND_DOMAIN_BUY = exports.DESC_COMMAND_DOMAIN = exports.ERR_API_MESSAGE_REPLACER = exports.ERR_LOGIN_INVALID_BASE_URL = exports.ERR_LOGIN_NO_WORKSPACE_FOUND = exports.ERR_LOGIN_NO_WORKSPACES = exports.ERR_LOGIN_HTTP_SUCCESS = exports.ERR_LOGIN_HTTP_FAILED = exports.TXT_LOGIN_OAUTH = exports.ERR_LOGIN_HTTP_SERVER_PORT_TAKEN = exports.TXT_LOGIN_SUCCESS = exports.TXT_LOGIN_SELECT_WORKSPACE = exports.TXT_LOGIN_ENTER_BASE_URL = exports.TXT_LOGIN_SELECT_REGION = exports.TXT_WORKSPACE_NONE = exports.TXT_WORKSPACE_SET_SUCCESS = exports.ARG_COMMAND_WORKSPACE = exports.DESC_COMMAND_WORKSPACE_GET = exports.DESC_COMMAND_WORKSPACE_SET = exports.DESC_COMMAND_WORKSPACE_LIST = exports.DESC_COMMAND_WORKSPACE = exports.TXT_LOGOUT_SUCCESS = exports.DESC_COMMAND_LOGOUT = exports.DESC_COMMAND_LOGIN = exports.ERR_API_MEDIA_TYPE_NOT_IMPLEMENTED = exports.ERR_API_PARAMETER_NOT_REPLACED = exports.TXT_API_ENDPOINT_REQUIRED_SCOPES = exports.ERR_API_ENDPOINT_NOT_FOUND = exports.ERR_API_WRONG_METHOD = exports.ERR_SCHEMA_FETCH_FAILED = exports.OPT_COMMAND_API_INFO_URL = exports.OPT_COMMAND_API_INFO_SCHEMA = exports.OPT_COMMAND_API_INFO_METHOD = exports.OPT_COMMAND_API_LIST_SEARCH = exports.OPT_COMMAND_API_LIST_METHOD = exports.ERR_API_REQUEST_BODY_VALUE = exports.ERR_API_REQUEST_QUERY_VALUE = exports.ERR_API_REQUEST_INVALID_JSON = exports.ERR_API_REQUEST_FILE_ERROR = exports.ERR_API_REQUEST_OUTPUT_EXISTS = exports.DESC_COMMAND_API_INFO = exports.DESC_COMMAND_API_FORM = exports.DESC_COMMAND_API_JSON = exports.DESC_COMMAND_API_DATA = exports.DESC_COMMAND_API_OUTPUT = exports.DESC_COMMAND_API_REQUEST_QUERY = exports.DESC_COMMAND_API_PROJECT = exports.DESC_COMMAND_API_WORKSPACE = void 0;
15
+ exports.TXT_COMMAND_PROJECT_LINK_GIT_REPO_INITIALIZED = exports.TXT_COMMAND_PROJECT_LINK_GIT_REPO = exports.TXT_COMMAND_PROJECT_LINK_DIR_CONFIRM = exports.TXT_COMMAND_PROJECT_LINK_DIR_LINKED = exports.ERR_COMMAND_PROJECT_LINK_DIR_CREATE = exports.OPT_COMMAND_PROJECT_LINK_TRY_NOW = exports.OPT_COMMAND_PROJECT_LINK_SET_GIT_REMOTE = exports.OPT_COMMAND_PROJECT_LINK_HAS_REMOTE = exports.OPT_COMMAND_PROJECT_LINK_DIRECTORY = exports.OPT_COMMAND_PROJECT_LINK_GIT = exports.OPT_COMMAND_PROJECT_LINK_RELINK = exports.DESC_COMMAND_PROJECT_LINK = exports.DESC_COMMAND_PROJECT_LIST = exports.DESC_COMMAND_PROJECT_GIT = exports.DESC_COMMAND_PROJECT_GIT_CREDENTIAL = exports.DESC_COMMAND_PROJECT = exports.TXT_PACKAGE_VERSION_DOWNLOAD = exports.TXT_PACKAGE_PUBLISH = exports.TXT_PACKAGE_CREATED = exports.TXT_PACKAGE_VERSION_DELETED = exports.TXT_PACKAGE_DELETED = exports.ERR_COMMAND_PACKAGE_TYPE = exports.OPT_COMMAND_PACKAGE_VERSION = exports.OPT_COMMAND_PACKAGE_IDENTIFIER = exports.OPT_COMMAND_PACKAGE_CREATE_IDENTIFIER = exports.OPT_COMMAND_PACKAGE_NAME = exports.OPT_COMMAND_PACKAGE_TYPE = exports.DESC_COMMAND_PACKAGE_CREATE = exports.DESC_COMMAND_PACKAGE_GET = exports.TXT_PACKAGE_DOCKER_LOGIN_FAILED = exports.TXT_PACKAGE_DOCKER_LOGIN_SUCCESS = exports.TXT_PACKAGE_VERSION_DELETE_CONFIRM = exports.TXT_PACKAGE_DELETE_CONFIRM = exports.DESC_COMMAND_PACKAGE_DELETE = exports.ERR_COMMAND_PACKAGE_NO_PROJECTS = exports.DESC_COMMAND_PACKAGE_VERSION_GET = exports.DESC_COMMAND_PACKAGE_VERSION_LIST = exports.DESC_COMMAND_PACKAGE_VERSION_DELETE = exports.DESC_COMMAND_PACKAGE_DOCKER_LOGIN = exports.DESC_COMMAND_PACKAGE_LIST = exports.DESC_COMMAND_PACKAGE_VERSION = exports.OPTION_COMMAND_DOMAIN_IDENTIFIER = exports.ERR_COMMAND_DOMAIN_NO_DOMAINS = exports.TXT_COMMAND_DOMAIN_BUY_PROMPT_REQUIRED = exports.TXT_COMMAND_DOMAIN_BUY_SELECT_DOMAIN = exports.TXT_COMMAND_DOMAIN_BUY_PROVIDE_PROMPT = exports.ERR_COMMAND_DOMAIN_NOT_FOUND = exports.OPT_COMMAND_DOMAIN_PHRASE = exports.OPT_COMMAND_DOMAIN_BUY_OWNER = exports.OPT_COMMAND_DOMAIN_BUY_TLD = void 0;
16
+ exports.EXAMPLE_PACKAGE_VERSION_DELETE = exports.EXAMPLE_PACKAGE_VERSION_GET = exports.EXAMPLE_PACKAGE_VERSION_LIST = exports.EXAMPLE_PACKAGE_CREATE = exports.EXAMPLE_PACKAGE_DELETE = exports.EXAMPLE_PACKAGE_DOWNLOAD = exports.EXAMPLE_PACKAGE_PUBLISH = exports.EXAMPLE_PIPELINE_RUN = exports.EXAMPLE_SANDBOX_ENDPOINT_LIST = exports.EXAMPLE_SANDBOX_ENDPOINT_GET = exports.EXAMPLE_SANDBOX_ENDPOINT_DELETE = exports.EXAMPLE_SANDBOX_ENDPOINT_CREATE = exports.EXAMPLE_SANDBOX_SNAPSHOT_LIST = exports.EXAMPLE_SANDBOX_SNAPSHOT_GET = exports.EXAMPLE_SANDBOX_SNAPSHOT_DELETE = exports.EXAMPLE_SANDBOX_SNAPSHOT_CREATE = exports.EXAMPLE_SANDBOX_EXEC_STATUS = exports.EXAMPLE_SANDBOX_EXEC_LOGS = exports.EXAMPLE_SANDBOX_EXEC_LIST = exports.EXAMPLE_SANDBOX_EXEC_KILL = exports.EXAMPLE_SANDBOX_EXEC_COMMAND = exports.EXAMPLE_TUNNEL_START = exports.EXAMPLE_TUNNEL_TCP = exports.EXAMPLE_TUNNEL_TLS = exports.EXAMPLE_AGENT_TUNNEL_START = exports.EXAMPLE_AGENT_TUNNEL_STATUS = exports.EXAMPLE_AGENT_TUNNEL_REMOVE = exports.EXAMPLE_AGENT_TUNNEL_LIST = exports.EXAMPLE_TUNNEL_HTTP = exports.EXAMPLE_SANDBOX_CREATE = exports.EXAMPLE_SANDBOX_CP = exports.ERR_PROJECT_NO_PROJECTS = exports.TXT_LOGIN_SELECT_PROJECT = exports.TXT_COMMAND_PROJECT_CREATED = exports.TXT_COMMAND_PROJECT_LINK_NOT_FOUND = exports.TXT_COMMAND_PROJECT_LINK_NAME = exports.TXT_COMMAND_PROJECT_LINK_SELECT_PROJECT = exports.TXT_COMMAND_PROJECT_LINK_TO = exports.TXT_COMMAND_PROJECT_LINK_EXISTING_DESC = exports.TXT_COMMAND_PROJECT_LINK_EXISTING = exports.TXT_COMMAND_PROJECT_LINK_CREATE_NEW_DESC = exports.TXT_COMMAND_PROJECT_LINK_CREATE_NEW = exports.ERR_COMMAND_PROJECT_LINK_DIR_NOT_DIR = void 0;
17
17
  const utils_1 = require("./utils");
18
18
  exports.ERR_REST_API_GENERAL_ERROR = 'Something went wrong';
19
19
  exports.ERR_REST_API_NOT_RESPONDING = 'Api endpoint not responding. Try again later...';
@@ -140,6 +140,7 @@ exports.ERR_TOKEN_NOT_PROVIDED = 'Token not provided';
140
140
  exports.ERR_WRONG_TOKEN = 'Wrong token';
141
141
  exports.ERR_CONFIG_CORRUPTED = 'Config file is corrupted';
142
142
  exports.ERR_MISSING_VT_TOKEN = 'No token provided. Please provide a token with the BUDDY_VT_TOKEN environment variable.';
143
+ exports.ERR_MISSING_SCRAPE_TOKEN = 'No token provided. Please provide a token with the BUDDY_SCRAPE_TOKEN environment variable.';
143
144
  exports.ERR_MISSING_UT_TOKEN = 'No token provided. Please provide a token with the BUDDY_UT_TOKEN environment variable.';
144
145
  exports.ERR_MISSING_BUILD_ID = 'No buildId provided. Please provide a buildId with the SNAPSHOTS_BUILD_ID environment variable.';
145
146
  exports.ERR_WRONG_STORYBOOK_DIRECTORY = 'Current directory is not a storybook directory';
@@ -271,7 +272,7 @@ exports.DESC_COMMAND_VT = 'Commands to interact with the visual test service';
271
272
  exports.DESC_COMMAND_VT_CLOSE = 'Close visual test session.';
272
273
  exports.DESC_COMMAND_VT_STORYBOOK = 'Create visual test session from storybook';
273
274
  exports.DESC_COMMAND_VT_COMPARE = 'Create visual test session for specific set of urls';
274
- exports.DESC_COMMAND_VT_SCRAPE = 'Scrape website';
275
+ exports.DESC_COMMAND_VT_SCRAPE = 'Commands to interact with the scrape service';
275
276
  exports.DESC_COMMAND_VT_EXEC = 'Run tests which use visual service plugin';
276
277
  exports.DESC_COMMAND_VT_INSTALL_BROWSER = 'Install browser for visual test';
277
278
  exports.DESC_COMMAND_UT = 'Commands to interact with the unit test service';
@@ -399,20 +400,20 @@ exports.OPTION_COMPARE_COOKIE = 'Set cookies used when visiting the urls (format
399
400
  exports.OPTION_COMPARE_HEADER = 'Set HTTP headers used when visiting the urls (format: [scope::]name=value, e.g., --header "Authorization=Bearer token" "example.com::Accept=application/json")';
400
401
  exports.OPTION_COMPARE_DELAY = 'Add delay in milliseconds before taking screenshot (format: [scope::]milliseconds, e.g., --delay "1000" "example.com::2000")';
401
402
  exports.OPTION_COMPARE_WAIT_FOR = 'Wait for elements to appear before taking screenshot (format: [scope::]type=value, e.g., --waitFor "CSS=#content" "example.com::XPATH=//div[@class=\'loaded\']")';
402
- exports.OPTION_SCRAPE_URL = 'URL to scrape';
403
+ exports.OPTION_SCRAPE_URL = 'URL to scrape (optional; defaults to scrape suite URL)';
403
404
  exports.OPTION_SCRAPE_FOLLOW = 'Scrape all subviews of the page';
404
405
  exports.OPTION_SCRAPE_OUTPUT_TYPE = 'Output type';
405
406
  exports.OPTION_SCRAPE_QUALITY = 'Quality of the png output (default: "100")';
406
407
  exports.OPTION_SCRAPE_FULL_PAGE = 'Scrape full page';
407
408
  exports.OPTION_SCRAPE_CSS_SELECTOR = 'CSS selector to scrape';
408
409
  exports.OPTION_SCRAPE_XPATH_SELECTOR = 'XPath selector to scrape';
409
- exports.OPTION_SCRAPE_BROWSER = 'Browser to use';
410
- exports.OPTION_SCRAPE_VIEWPORT = 'Viewport to use';
411
- exports.OPTION_SCRAPE_DEVICE_PIXEL_RATIO = 'Device pixel ratio';
412
- exports.OPTION_SCRAPE_WAIT_FOR_ELEMENT = 'Wait for element to be visible';
413
- exports.OPTION_SCRAPE_DARK_MODE = 'Dark mode';
410
+ exports.OPTION_SCRAPE_COLOR_SCHEME = 'Color scheme to use (LIGHT, DARK, LIGHT_AND_DARK)';
411
+ exports.OPTION_SCRAPE_BROWSERS = 'Browsers to use (comma separated: chrome,firefox,safari)';
412
+ exports.OPTION_SCRAPE_DEVICES = 'Devices definition as JSON array (e.g., --devices \'[{"viewport":{"width":1920,"height":1080}}]\')';
413
+ exports.OPTION_SCRAPE_LOCAL_STORAGE = 'Set localStorage values used when visiting urls (format: [scope::]key=value)';
414
414
  exports.OPTION_SCRAPE_DELAY = 'Delay in milliseconds';
415
415
  exports.OPTION_SCRAPE_OUTPUT_DIR = 'Output directory';
416
+ exports.OPTION_SCRAPE_OUTPUT_TYPES = 'Output types as JSON array (e.g., --outputTypes \'[{"type":"png","selector":{"type":"CSS","value":".main"}},{"type":"jpeg","quality":80}]\')';
416
417
  exports.LOG_REGISTERING_AGENT = 'Registering agent...';
417
418
  exports.LOG_SAVING_AGENT_SYSTEM_CONFIG = 'Saving agent system config...';
418
419
  exports.LOG_SAVING_AGENT_PROC_ID = 'Saving agent process id in lock file...';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.debug = exports.executionUrl = exports.browserPath = exports.commitDetails = exports.invokerId = exports.executionId = exports.actionId = exports.pipelineName = exports.pipelineId = exports.baseCommit = exports.commit = exports.pullRequestNumber = exports.tag = exports.branch = exports.ci = exports.defaultTimeout = exports.cliId = exports.buildId = exports.token = exports.parallel = exports.skipDiscovery = exports.oneByOne = exports.cliVersion = void 0;
3
+ exports.debug = exports.executionUrl = exports.browserPath = exports.commitDetails = exports.invokerId = exports.executionId = exports.actionId = exports.pipelineName = exports.pipelineId = exports.baseCommit = exports.commit = exports.pullRequestNumber = exports.tag = exports.branch = exports.ci = exports.defaultTimeout = exports.cliId = exports.buildId = exports.scrapeToken = exports.vtToken = exports.parallel = exports.skipDiscovery = exports.oneByOne = exports.cliVersion = void 0;
4
4
  exports.setExecOptions = setExecOptions;
5
5
  exports.setBrowserPath = setBrowserPath;
6
6
  exports.setCiAndCommitInfo = setCiAndCommitInfo;
@@ -11,7 +11,8 @@ exports.cliVersion = (0, utils_1.getVersion)();
11
11
  exports.oneByOne = false;
12
12
  exports.skipDiscovery = false;
13
13
  exports.parallel = false;
14
- exports.token = process.env.BUDDY_VT_TOKEN || '';
14
+ exports.vtToken = process.env.BUDDY_VT_TOKEN || '';
15
+ exports.scrapeToken = process.env.BUDDY_SCRAPE_TOKEN || '';
15
16
  exports.buildId = process.env.SNAPSHOTS_BUILD_ID || (0, uuid_1.v4)();
16
17
  exports.cliId = (0, uuid_1.v4)();
17
18
  exports.defaultTimeout = Number(process.env.SNAPSHOTS_DEFAULT_TIMEOUT) || 60_000;
@@ -23,12 +23,12 @@ function checkIfIsDevToken(token) {
23
23
  const tokenParts = token.split('_');
24
24
  return tokenParts.length === 5;
25
25
  }
26
- function getServiceUrl() {
26
+ function getServiceUrl(token) {
27
27
  if (customServiceUrl) {
28
28
  return customServiceUrl;
29
29
  }
30
- const tokenParts = context_1.token.split('_');
31
- const isDevToken = checkIfIsDevToken(context_1.token);
30
+ const tokenParts = token.split('_');
31
+ const isDevToken = checkIfIsDevToken(token);
32
32
  const devServiceUrl = Buffer.from(tokenParts[3], 'base64url').toString('utf-8');
33
33
  if (isDevToken) {
34
34
  if (devServiceUrl.includes('local.io')) {
@@ -36,10 +36,10 @@ function getServiceUrl() {
36
36
  }
37
37
  return devServiceUrl;
38
38
  }
39
- if (context_1.token.startsWith('bud_vt_eu')) {
39
+ if (token.startsWith('bud_vt_eu')) {
40
40
  return 'https://vt.eu.buddy.works';
41
41
  }
42
- if (context_1.token.startsWith('bud_vt_asia')) {
42
+ if (token.startsWith('bud_vt_asia')) {
43
43
  return 'https://vt.asia.buddy.works';
44
44
  }
45
45
  return 'https://vt.buddy.works';
@@ -107,6 +107,7 @@ async function sendSnapshot(snapshot, firstSnapshot) {
107
107
  const formData = createFormData(info, files);
108
108
  const [message, response] = await sendRequest({
109
109
  path: '/snapshot',
110
+ token: context_1.vtToken,
110
111
  payload: formData,
111
112
  multipart: true,
112
113
  });
@@ -144,6 +145,7 @@ async function sendSnapshots(snapshots) {
144
145
  const formData = createFormData(info, files);
145
146
  const [message, response] = await sendRequest({
146
147
  path: '/snapshots',
148
+ token: context_1.vtToken,
147
149
  payload: formData,
148
150
  multipart: true,
149
151
  });
@@ -157,11 +159,12 @@ async function sendSnapshots(snapshots) {
157
159
  }
158
160
  async function closeSession() {
159
161
  const payload = {
160
- token: context_1.token,
162
+ token: context_1.vtToken,
161
163
  buildId: context_1.buildId,
162
164
  };
163
165
  const [message, response] = await sendRequest({
164
166
  path: '/close',
167
+ token: context_1.vtToken,
165
168
  payload,
166
169
  });
167
170
  if (message) {
@@ -175,6 +178,7 @@ async function closeSession() {
175
178
  async function getDefaultSettings() {
176
179
  const [message, response] = await sendRequest({
177
180
  path: `/defaultSettings`,
181
+ token: context_1.vtToken,
178
182
  });
179
183
  if (message) {
180
184
  throw new Error(message);
@@ -212,6 +216,7 @@ async function sendStorybook(snapshots, compressedStorybookDirectory) {
212
216
  const formData = createFormData(info, files);
213
217
  const [message, response] = await sendRequest({
214
218
  path: '/storybook',
219
+ token: context_1.vtToken,
215
220
  payload: formData,
216
221
  multipart: true,
217
222
  });
@@ -251,6 +256,7 @@ async function sendCompareLinks(urls, validatedOptions, sitemapSource) {
251
256
  };
252
257
  const [message, response] = await sendRequest({
253
258
  path: '/compareLinks',
259
+ token: context_1.vtToken,
254
260
  payload: info,
255
261
  });
256
262
  if (message) {
@@ -261,24 +267,32 @@ async function sendCompareLinks(urls, validatedOptions, sitemapSource) {
261
267
  }
262
268
  return response;
263
269
  }
264
- async function sendScrap(url, outputType, follow, quality, fullPage, cssSelector, xpathSelector, browser, viewport, devicePixelRatio, darkMode, delay, waitForElement) {
270
+ async function sendScrap(url, follow, respectRobots, outputTypes, fullPage, colorScheme, browsers, devices, cookies, requestHeaders, delay, waitForSelectors, localStorage) {
265
271
  const payload = {
266
272
  url,
267
273
  follow,
268
- outputType,
269
- quality,
274
+ respectRobots,
275
+ outputTypes,
270
276
  fullPage,
271
- cssSelector,
272
- xpathSelector,
273
- browser,
274
- viewport,
275
- devicePixelRatio,
276
- darkMode,
277
+ colorScheme,
278
+ browsers,
279
+ devices,
280
+ cookies,
281
+ requestHeaders,
277
282
  delay,
278
- waitForElement,
283
+ waitForSelectors,
284
+ localStorage,
285
+ pipelineId: context_1.pipelineId,
286
+ pipelineName: context_1.pipelineName,
287
+ executionId: context_1.executionId,
288
+ actionId: context_1.actionId,
289
+ invokerId: context_1.invokerId,
290
+ ci: context_1.ci,
291
+ executionUrl: context_1.executionUrl,
279
292
  };
280
293
  const [message, response] = await sendRequest({
281
294
  path: '/scrap',
295
+ token: context_1.scrapeToken,
282
296
  payload,
283
297
  });
284
298
  if (message) {
@@ -292,7 +306,8 @@ async function sendScrap(url, outputType, follow, quality, fullPage, cssSelector
292
306
  async function downloadScrapPackage(buildId) {
293
307
  const [message, response] = await sendRequest({
294
308
  path: '/download',
295
- payload: { token: context_1.token, buildId },
309
+ token: context_1.scrapeToken,
310
+ payload: { token: context_1.scrapeToken, buildId },
296
311
  });
297
312
  if (message) {
298
313
  throw new Error(message);
@@ -302,16 +317,16 @@ async function downloadScrapPackage(buildId) {
302
317
  }
303
318
  return response;
304
319
  }
305
- async function sendRequest({ path, payload, multipart, }) {
306
- const fullUrl = new URL(path, getServiceUrl());
320
+ async function sendRequest({ path, token, payload, multipart, }) {
321
+ const fullUrl = new URL(path, getServiceUrl(token));
307
322
  output_1.default.debug((0, texts_1.LOG_SENDING_REQUEST)(fullUrl.toString()));
308
- const isDevToken = checkIfIsDevToken(context_1.token);
323
+ const isDevToken = checkIfIsDevToken(token);
309
324
  const init = {
310
325
  method: 'GET',
311
326
  redirect: 'follow',
312
327
  headers: {
313
328
  'X-CLI-VERSION': context_1.cliVersion,
314
- 'X-TOKEN': context_1.token,
329
+ 'X-TOKEN': token,
315
330
  },
316
331
  dispatcher: isDevToken
317
332
  ? new undici_1.Agent({
@@ -325,7 +340,7 @@ async function sendRequest({ path, payload, multipart, }) {
325
340
  init.method = 'POST';
326
341
  init.headers = {
327
342
  'Content-Type': 'application/json',
328
- 'X-TOKEN': context_1.token,
343
+ 'X-TOKEN': token,
329
344
  'X-CLI-VERSION': context_1.cliVersion,
330
345
  };
331
346
  init.body = JSON.stringify(payload);
@@ -353,13 +368,13 @@ async function sendRequest({ path, payload, multipart, }) {
353
368
  return [text, undefined];
354
369
  }
355
370
  function connectToScrapSession(buildId) {
356
- return new eventsource_1.EventSource(`${getServiceUrl()}/sse`, {
371
+ return new eventsource_1.EventSource(`${getServiceUrl(context_1.scrapeToken)}/sse`, {
357
372
  fetch: (url, options) => {
358
373
  return (0, undici_1.fetch)(url, {
359
374
  ...options,
360
375
  headers: {
361
376
  ...options?.headers,
362
- 'x-token': context_1.token,
377
+ 'x-token': context_1.scrapeToken,
363
378
  'x-cli-version': context_1.cliVersion,
364
379
  'x-build-id': buildId,
365
380
  },
@@ -4,8 +4,11 @@ exports.checkToken = checkToken;
4
4
  exports.checkBuildId = checkBuildId;
5
5
  exports.checkParallel = checkParallel;
6
6
  const context_1 = require("./context");
7
- function checkToken() {
8
- return !!context_1.token;
7
+ function checkToken(type) {
8
+ if (type === 'scrape') {
9
+ return !!context_1.scrapeToken;
10
+ }
11
+ return !!context_1.vtToken;
9
12
  }
10
13
  function checkBuildId() {
11
14
  return !!process.env.SNAPSHOTS_BUILD_ID;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bdy",
3
3
  "preferGlobal": false,
4
- "version": "1.18.0-dev",
4
+ "version": "1.18.0-dev-scrape-869b6rbvf",
5
5
  "type": "commonjs",
6
6
  "license": "MIT",
7
7
  "scripts": {
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const cfg_1 = __importDefault(require("../../tunnel/cfg"));
7
- const output_1 = __importDefault(require("../../output"));
8
- const texts_1 = require("../../texts");
9
- const utils_1 = require("../../utils");
10
- const commandProjectGet = (0, utils_1.newCommand)('get', texts_1.DESC_COMMAND_PROJECT_GET);
11
- commandProjectGet.action(async () => {
12
- const project = cfg_1.default.getProject();
13
- if (!project) {
14
- output_1.default.exitError(texts_1.TXT_PROJECT_NONE);
15
- }
16
- output_1.default.exitNormal(project);
17
- });
18
- exports.default = commandProjectGet;
@@ -1,31 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const cfg_1 = __importDefault(require("../../tunnel/cfg"));
7
- const output_1 = __importDefault(require("../../output"));
8
- const texts_1 = require("../../texts");
9
- const utils_1 = require("../../utils");
10
- const input_1 = __importDefault(require("../../input"));
11
- const commandProjectSet = (0, utils_1.newCommand)('set', texts_1.DESC_COMMAND_PROJECT_SET);
12
- commandProjectSet.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
13
- commandProjectSet.argument('[project]', texts_1.ARG_COMMAND_PROJECT_NAME);
14
- commandProjectSet.action(async (project, options) => {
15
- output_1.default.handleSignals();
16
- const workspace = input_1.default.restApiWorkspace(options.workspace);
17
- const client = input_1.default.restApiTokenClient();
18
- if (project) {
19
- await client.getProject(workspace, project);
20
- }
21
- else {
22
- const response = await client.getProjects(workspace);
23
- project = await output_1.default.selectProject(response.projects);
24
- }
25
- cfg_1.default.setProject(project);
26
- if (!project)
27
- output_1.default.exitSuccess(texts_1.TXT_PROJECT_SET_CLEARED);
28
- else
29
- output_1.default.exitSuccess((0, texts_1.TXT_PROJECT_SET_SUCCESS)(project));
30
- });
31
- exports.default = commandProjectSet;
@@ -1,30 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const utils_1 = require("../../../utils");
7
- const texts_1 = require("../../../texts");
8
- const input_1 = __importDefault(require("../../../input"));
9
- const output_1 = __importDefault(require("../../../output"));
10
- const commandSandboxGetYaml = (0, utils_1.newCommand)('yaml', texts_1.DESC_COMMAND_SANDBOX_GET_YAML);
11
- commandSandboxGetYaml.hideVersionUpdate = true;
12
- commandSandboxGetYaml.alias('yml');
13
- commandSandboxGetYaml.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
14
- commandSandboxGetYaml.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
15
- commandSandboxGetYaml.argument('<identifier>', texts_1.OPTION_SANDBOX_IDENTIFIER);
16
- commandSandboxGetYaml.action(async (identifier, options) => {
17
- const workspace = input_1.default.restApiWorkspace(options.workspace);
18
- const project = input_1.default.restApiProject(options.project);
19
- const client = input_1.default.restApiTokenClient();
20
- let result = await client.listSandboxes(workspace, project);
21
- const sandboxes = result.sandboxes || [];
22
- const found = sandboxes.find((s) => s.identifier === identifier);
23
- if (!found) {
24
- output_1.default.exitError(texts_1.ERR_SANDBOX_NOT_FOUND);
25
- }
26
- const sandboxId = found.id;
27
- result = await client.getSandboxYaml(workspace, sandboxId);
28
- output_1.default.exitNormal(Buffer.from(result.yaml, 'base64').toString('utf8'));
29
- });
30
- exports.default = commandSandboxGetYaml;