bdy 1.18.10-dev → 1.18.12-dev

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.10-dev",
4
+ "version": "1.18.12-dev",
5
5
  "type": "commonjs",
6
6
  "license": "MIT",
7
7
  "scripts": {
@@ -7,19 +7,36 @@ const utils_1 = require("../../utils");
7
7
  const texts_1 = require("../../texts");
8
8
  const output_1 = __importDefault(require("../../output"));
9
9
  const input_1 = __importDefault(require("../../input"));
10
+ const sortDomains = (arr, sort) => {
11
+ return arr.sort((a, b) => {
12
+ if (sort === 'name') {
13
+ return a.name.localeCompare(b.name);
14
+ }
15
+ else if (sort === 'price') {
16
+ if (a.price === b.price)
17
+ return a.name.localeCompare(b.name);
18
+ return a.price < b.price ? -1 : 1;
19
+ }
20
+ return 0;
21
+ });
22
+ };
10
23
  const commandDomainBuy = (0, utils_1.newCommand)('buy', texts_1.DESC_COMMAND_DOMAIN_BUY);
11
24
  commandDomainBuy.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
12
25
  commandDomainBuy.option('-d, --tld <tld...>', texts_1.OPT_COMMAND_DOMAIN_BUY_TLD);
13
26
  commandDomainBuy.option('-o, --owner-behalf', texts_1.OPT_COMMAND_DOMAIN_BUY_OWNER);
27
+ commandDomainBuy.option('-s, --sort <name|price>', texts_1.OPT_COMMAND_DOMAIN_SORT);
28
+ commandDomainBuy.option('-a, --only-available', texts_1.OPT_COMMAND_DOMAIN_ONLY_AVAILABLE);
14
29
  commandDomainBuy.argument('[domain|prompt]', texts_1.OPT_COMMAND_DOMAIN_PHRASE);
15
30
  commandDomainBuy.action(async (text, options) => {
31
+ const onlyAvailable = options.onlyAvailable;
32
+ const sort = options.sort;
16
33
  const workspace = input_1.default.restApiWorkspace(options.workspace);
17
34
  const client = input_1.default.restApiTokenClient();
18
35
  const tlds = input_1.default.allowedTlds(options.tld);
19
36
  const prompt = (text || '').trim().toLowerCase();
20
37
  const onOwnerBehalf = !!options.ownerBehalf;
21
38
  if (output_1.default.isTTY()) {
22
- await interactive(client, workspace, prompt, tlds, onOwnerBehalf);
39
+ await interactive(client, workspace, prompt, tlds, onOwnerBehalf, onlyAvailable, sort);
23
40
  }
24
41
  else {
25
42
  await nonInteractive(client, workspace, prompt, tlds, onOwnerBehalf);
@@ -42,7 +59,7 @@ const buyNonInteractive = async (client, workspace, domain, onOwnerBehalf) => {
42
59
  output_1.default.normal(`${domain.name} bought`);
43
60
  }
44
61
  };
45
- const interactive = async (client, workspace, prompt, tlds, onOwnerBehalf) => {
62
+ const interactive = async (client, workspace, prompt, tlds, onOwnerBehalf, onlyAvailable, sort) => {
46
63
  if (!prompt) {
47
64
  prompt = await output_1.default.inputString(texts_1.TXT_COMMAND_DOMAIN_PROVIDE_PROMPT);
48
65
  }
@@ -51,7 +68,8 @@ const interactive = async (client, workspace, prompt, tlds, onOwnerBehalf) => {
51
68
  }
52
69
  output_1.default.arrowSign();
53
70
  output_1.default.normal(`Searching...`);
54
- let items = [];
71
+ let toSort = [];
72
+ const items = [];
55
73
  const added = {};
56
74
  const createValue = (type, name, available) => {
57
75
  return `${type}:${name}:${available ? '1' : '0'}`;
@@ -60,17 +78,26 @@ const interactive = async (client, workspace, prompt, tlds, onOwnerBehalf) => {
60
78
  const subdomain = (0, utils_1.getSubdomain)(prompt);
61
79
  const claims = await client.domainClaimable(workspace, subdomain);
62
80
  const claimable = claims.domains.find((c) => `${subdomain}.${c.domain}` === prompt);
63
- if (claimable) {
64
- items.push(output_1.default.createMenuSeparator('Matched'));
65
- items.push(output_1.default.createMenuItem(output_1.default.formatDomainClaim(prompt, claimable.available), createValue('claim', prompt, claimable.available)));
81
+ if (claimable && (!onlyAvailable || claimable.available)) {
82
+ toSort.push({
83
+ formatted: output_1.default.formatDomainClaim(prompt, claimable.available),
84
+ value: createValue('claim', prompt, claimable.available),
85
+ name: prompt,
86
+ price: 0,
87
+ });
66
88
  added[prompt] = true;
67
89
  }
68
90
  else {
69
91
  const search = await client.domainSearch(workspace, [prompt]);
70
92
  const buyable = search.domains.find((d) => d.name === prompt);
71
- if (buyable) {
72
- items.push(output_1.default.createMenuSeparator('Matched'));
73
- items.push(output_1.default.createMenuItem(output_1.default.formatDomain(buyable), createValue('domain', prompt, buyable.available && !buyable.premium)));
93
+ if (buyable &&
94
+ (!onlyAvailable || (buyable.available && !buyable.premium))) {
95
+ toSort.push({
96
+ formatted: output_1.default.formatDomain(buyable),
97
+ value: createValue('domain', prompt, buyable.available && !buyable.premium),
98
+ name: prompt,
99
+ price: buyable.available && !buyable.premium ? buyable.prices.create.price : Infinity,
100
+ });
74
101
  added[prompt] = true;
75
102
  }
76
103
  }
@@ -98,49 +125,80 @@ const interactive = async (client, workspace, prompt, tlds, onOwnerBehalf) => {
98
125
  const domainsUnavailable = search.domains.filter((d) => !d.available || d.premium);
99
126
  domainsAvailable.forEach((d) => {
100
127
  if (!added[d.name]) {
101
- items.push(output_1.default.createMenuItem(output_1.default.formatDomain(d), createValue('domain', d.name, true)));
128
+ toSort.push({
129
+ formatted: output_1.default.formatDomain(d),
130
+ value: createValue('domain', d.name, true),
131
+ name: d.name,
132
+ price: d.prices.create.price,
133
+ });
102
134
  added[d.name] = true;
103
135
  }
104
136
  });
105
137
  claimsAvailable.forEach((c, i) => {
106
138
  const domain = `${prompt}.${c.domain}`;
107
139
  if (!added[domain]) {
108
- const item = output_1.default.createMenuItem(output_1.default.formatDomainClaim(domain, true), createValue('claim', domain, true));
140
+ const item = {
141
+ formatted: output_1.default.formatDomainClaim(domain, true),
142
+ value: createValue('claim', domain, true),
143
+ name: domain,
144
+ price: 0,
145
+ };
109
146
  if (i < 5)
110
- items.unshift(item);
147
+ toSort.unshift(item);
111
148
  else
112
- items.push(item);
113
- added[domain] = true;
114
- }
115
- });
116
- domainsUnavailable.forEach((d) => {
117
- if (!added[d.name]) {
118
- items.push(output_1.default.createMenuItem(output_1.default.formatDomain(d), createValue('domain', d.name, false)));
119
- added[d.name] = true;
120
- }
121
- });
122
- claimsUnavailable.forEach((c) => {
123
- const domain = `${prompt}.${c.domain}`;
124
- if (!added[domain]) {
125
- const item = output_1.default.createMenuItem(output_1.default.formatDomainClaim(domain, false), createValue('claim', domain, false));
126
- items.push(item);
149
+ toSort.push(item);
127
150
  added[domain] = true;
128
151
  }
129
152
  });
130
- if (items.length > 20)
131
- items = items.filter((_, i) => i < 20);
132
- items.unshift(output_1.default.createMenuSeparator('Matched'));
153
+ if (!onlyAvailable) {
154
+ domainsUnavailable.forEach((d) => {
155
+ if (!added[d.name]) {
156
+ toSort.push({
157
+ formatted: output_1.default.formatDomain(d),
158
+ value: createValue('domain', d.name, false),
159
+ name: d.name,
160
+ price: Infinity,
161
+ });
162
+ added[d.name] = true;
163
+ }
164
+ });
165
+ claimsUnavailable.forEach((c) => {
166
+ const domain = `${prompt}.${c.domain}`;
167
+ if (!added[domain]) {
168
+ toSort.push({
169
+ formatted: output_1.default.formatDomainClaim(domain, false),
170
+ value: createValue('claim', domain, false),
171
+ name: domain,
172
+ price: 0,
173
+ });
174
+ added[domain] = true;
175
+ }
176
+ });
177
+ }
133
178
  }
134
179
  }
180
+ if (toSort.length > 30)
181
+ toSort = toSort.filter((_, i) => i < 30);
182
+ if (toSort.length > 0) {
183
+ items.push(output_1.default.createMenuSeparator('Matched'));
184
+ sortDomains(toSort, sort).forEach((item) => {
185
+ items.push(output_1.default.createMenuItem(item.formatted, item.value));
186
+ });
187
+ }
188
+ toSort = [];
135
189
  const suggestions = await client.domainSuggest(workspace, prompt, tlds, 5);
136
190
  if (suggestions.domains.length > 0 || suggestions.claims.length > 0) {
137
- items.push(output_1.default.createMenuSeparator('Suggestions'));
138
191
  let i = 0;
139
192
  suggestions.claims.forEach((c) => {
140
193
  if (i >= 10)
141
194
  return;
142
195
  if (!added[c]) {
143
- items.push(output_1.default.createMenuItem(output_1.default.formatDomainClaim(c, true), createValue('claim', c, true)));
196
+ toSort.push({
197
+ formatted: output_1.default.formatDomainClaim(c, true),
198
+ value: createValue('claim', c, true),
199
+ name: c,
200
+ price: 0,
201
+ });
144
202
  added[c] = true;
145
203
  i += 1;
146
204
  }
@@ -149,12 +207,23 @@ const interactive = async (client, workspace, prompt, tlds, onOwnerBehalf) => {
149
207
  if (i >= 10)
150
208
  return;
151
209
  if (!added[d.name]) {
152
- items.push(output_1.default.createMenuItem(output_1.default.formatDomain(d), createValue('domain', d.name, true)));
210
+ toSort.push({
211
+ formatted: output_1.default.formatDomain(d),
212
+ value: createValue('domain', d.name, true),
213
+ name: d.name,
214
+ price: d.available && !d.premium ? d.prices.create.price : Infinity,
215
+ });
153
216
  added[d.name] = true;
154
217
  i += 1;
155
218
  }
156
219
  });
157
220
  }
221
+ if (toSort.length > 0) {
222
+ items.push(output_1.default.createMenuSeparator('Suggestions'));
223
+ sortDomains(toSort, sort).forEach((item) => {
224
+ items.push(output_1.default.createMenuItem(item.formatted, item.value));
225
+ });
226
+ }
158
227
  output_1.default.clearPreviousLine();
159
228
  if (!items.length) {
160
229
  output_1.default.exitError(texts_1.ERR_COMMAND_DOMAIN_NOT_FOUND);
@@ -199,8 +268,11 @@ const nonInteractive = async (client, workspace, prompt, tlds, onOwnerBehalf) =>
199
268
  await claimNonInteractive(client, workspace, suggestions.claims[0], onOwnerBehalf);
200
269
  return;
201
270
  }
202
- if (suggestions.domains.length > 0) {
203
- await buyNonInteractive(client, workspace, suggestions.domains[0], onOwnerBehalf);
271
+ const domains = suggestions.domains.sort((a, b) => {
272
+ return a.prices.create.price < b.prices.create.price ? -1 : 1;
273
+ });
274
+ if (domains.length > 0) {
275
+ await buyNonInteractive(client, workspace, domains[0], onOwnerBehalf);
204
276
  return;
205
277
  }
206
278
  output_1.default.exitError(texts_1.ERR_COMMAND_DOMAIN_NOT_FOUND);
@@ -7,11 +7,27 @@ const utils_1 = require("../../utils");
7
7
  const texts_1 = require("../../texts");
8
8
  const input_1 = __importDefault(require("../../input"));
9
9
  const output_1 = __importDefault(require("../../output"));
10
+ const sort = (arr, sort) => {
11
+ return arr.sort((a, b) => {
12
+ if (sort === 'name') {
13
+ return a.name.localeCompare(b.name);
14
+ }
15
+ else if (sort === 'price') {
16
+ if (a.price === b.price)
17
+ return a.name.localeCompare(b.name);
18
+ return a.price < b.price ? -1 : 1;
19
+ }
20
+ return 0;
21
+ });
22
+ };
10
23
  const commandDomainSearch = (0, utils_1.newCommand)('search', texts_1.DESC_COMMAND_DOMAIN_SEARCH);
11
24
  commandDomainSearch.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
12
25
  commandDomainSearch.option('-d, --tld <tld...>', texts_1.OPT_COMMAND_DOMAIN_BUY_TLD);
26
+ commandDomainSearch.option('-s, --sort <name|price>', texts_1.OPT_COMMAND_DOMAIN_SORT);
27
+ commandDomainSearch.option('-a, --only-available', texts_1.OPT_COMMAND_DOMAIN_ONLY_AVAILABLE);
13
28
  commandDomainSearch.argument('[domain|prompt]', texts_1.OPT_COMMAND_DOMAIN_PHRASE);
14
29
  commandDomainSearch.action(async (text, options) => {
30
+ const onlyAvailable = options.onlyAvailable;
15
31
  const workspace = input_1.default.restApiWorkspace(options.workspace);
16
32
  const client = input_1.default.restApiTokenClient();
17
33
  const tlds = input_1.default.allowedTlds(options.tld);
@@ -29,14 +45,25 @@ commandDomainSearch.action(async (text, options) => {
29
45
  const subdomain = (0, utils_1.getSubdomain)(prompt);
30
46
  const claims = await client.domainClaimable(workspace, subdomain);
31
47
  const claimable = claims.domains.find((c) => `${subdomain}.${c.domain}` === prompt);
32
- if (claimable) {
33
- matched.push(output_1.default.formatDomainClaim(prompt, claimable.available));
48
+ if (claimable && (!onlyAvailable || claimable.available)) {
49
+ matched.push({
50
+ formatted: output_1.default.formatDomainClaim(prompt, claimable.available),
51
+ price: 0,
52
+ name: prompt,
53
+ });
34
54
  }
35
55
  else {
36
56
  const search = await client.domainSearch(workspace, [prompt]);
37
57
  const buyable = search.domains.find((d) => d.name === prompt);
38
- if (buyable) {
39
- matched.push(output_1.default.formatDomain(buyable));
58
+ if (buyable &&
59
+ (!onlyAvailable || (buyable.available && !buyable.premium))) {
60
+ matched.push({
61
+ formatted: output_1.default.formatDomain(buyable),
62
+ price: !buyable.available || buyable.premium
63
+ ? Infinity
64
+ : buyable.prices.create.price,
65
+ name: buyable.name,
66
+ });
40
67
  }
41
68
  }
42
69
  }
@@ -57,10 +84,23 @@ commandDomainSearch.action(async (text, options) => {
57
84
  return aIdx < bIdx ? -1 : 1;
58
85
  });
59
86
  claims.domains.forEach((c) => {
60
- matched.push(output_1.default.formatDomainClaim(`${prompt}.${c.domain}`, c.available));
87
+ if (!onlyAvailable || c.available) {
88
+ const name = `${prompt}.${c.domain}`;
89
+ matched.push({
90
+ formatted: output_1.default.formatDomainClaim(name, c.available),
91
+ price: 0,
92
+ name,
93
+ });
94
+ }
61
95
  });
62
96
  search.domains.forEach((d) => {
63
- matched.push(output_1.default.formatDomain(d));
97
+ if (!onlyAvailable || (d.available && !d.premium)) {
98
+ matched.push({
99
+ formatted: output_1.default.formatDomain(d),
100
+ price: !d.available || d.premium ? Infinity : d.prices.create.price,
101
+ name: d.name,
102
+ });
103
+ }
64
104
  });
65
105
  }
66
106
  const result = await client.domainSuggest(workspace, prompt, tlds, 5);
@@ -69,18 +109,32 @@ commandDomainSearch.action(async (text, options) => {
69
109
  if (matched.length > 0) {
70
110
  hasAny = true;
71
111
  output_1.default.normal('Matched');
72
- matched.forEach((m) => {
73
- output_1.default.normal(m);
112
+ sort(matched, options.sort).forEach((m) => {
113
+ output_1.default.normal(m.formatted);
74
114
  });
75
115
  }
76
116
  if (result.domains.length > 0 || result.claims.length > 0) {
77
117
  hasAny = true;
78
118
  output_1.default.normal('Suggestions');
119
+ const suggestions = [];
79
120
  result.claims.forEach((c) => {
80
- output_1.default.normal(output_1.default.formatDomainClaim(c, true));
121
+ suggestions.push({
122
+ formatted: output_1.default.formatDomainClaim(c, true),
123
+ price: 0,
124
+ name: c,
125
+ });
81
126
  });
82
127
  result.domains.forEach((d) => {
83
- output_1.default.normal(output_1.default.formatDomain(d));
128
+ if (!onlyAvailable || (d.available && !d.premium)) {
129
+ suggestions.push({
130
+ formatted: output_1.default.formatDomain(d),
131
+ price: !d.available || d.premium ? Infinity : d.prices.create.price,
132
+ name: d.name,
133
+ });
134
+ }
135
+ });
136
+ sort(suggestions, options.sort).forEach((s) => {
137
+ output_1.default.normal(s.formatted);
84
138
  });
85
139
  }
86
140
  if (!hasAny)
@@ -68,6 +68,7 @@ function validateInputAndOptions(input, options) {
68
68
  })
69
69
  .optional(),
70
70
  quality: zod_1.z.number().min(1).max(100).optional(),
71
+ fullPage: zod_1.z.boolean().optional(),
71
72
  })
72
73
  .transform((data) => ({
73
74
  ...data,
@@ -98,6 +99,9 @@ function validateInputAndOptions(input, options) {
98
99
  if (typeof quality === 'number') {
99
100
  entry.quality = quality;
100
101
  }
102
+ if (fullPage) {
103
+ entry.fullPage = fullPage;
104
+ }
101
105
  parsedOutputTypes = [entry];
102
106
  }
103
107
  let parsedDevices;
@@ -129,7 +133,6 @@ function validateInputAndOptions(input, options) {
129
133
  respectRobots,
130
134
  outputTypes: parsedOutputTypes,
131
135
  outputDir,
132
- fullPage,
133
136
  colorScheme,
134
137
  browsers: parsedBrowsers,
135
138
  devices: parsedDevices,
@@ -50,11 +50,11 @@ commandScrape.action(async (inputUrl, options) => {
50
50
  if (!checkToken('scrape')) {
51
51
  output_1.default.exitError(texts_1.ERR_MISSING_SCRAPE_TOKEN);
52
52
  }
53
- const { url, follow, respectRobots, outputTypes, outputDir, fullPage, colorScheme, browsers, devices, cookies, requestHeaders, delay, waitForSelectors, localStorage, } = validateInputAndOptions(inputUrl, options);
53
+ const { url, follow, respectRobots, outputTypes, outputDir, colorScheme, browsers, devices, cookies, requestHeaders, delay, waitForSelectors, localStorage, } = validateInputAndOptions(inputUrl, options);
54
54
  try {
55
55
  const ciAndGitInfo = await getCiAndGitInfo({});
56
56
  setCiAndCommitInfo(ciAndGitInfo);
57
- const { buildId } = await sendScrap(url, follow, respectRobots, outputTypes, fullPage, colorScheme, browsers, devices, cookies, requestHeaders, delay, waitForSelectors, localStorage);
57
+ const { buildId } = await sendScrap(url, follow, respectRobots, outputTypes, colorScheme, browsers, devices, cookies, requestHeaders, delay, waitForSelectors, localStorage);
58
58
  const status = await watchSessionStatus(buildId);
59
59
  if (!status.ok) {
60
60
  output_1.default.exitError(`Scrape session failed: ${status.error}`);
@@ -12,9 +12,9 @@ exports.OPTION_SANDBOX_YAML = exports.OPTION_SANDBOX_TAGS = exports.OPTION_SANDB
12
12
  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_LOGS_LIMIT = exports.OPTION_SANDBOX_APP_ID = exports.OPTION_SANDBOX_COMMAND_ID = exports.DESC_COMMAND_SANDBOX_EXEC_KILL = exports.DESC_COMMAND_SANDBOX_EXEC_LOGS = exports.DESC_COMMAND_SANDBOX_APP_START = exports.DESC_COMMAND_SANDBOX_APP_STOP = exports.DESC_COMMAND_SANDBOX_APP_STATUS = exports.DESC_COMMAND_SANDBOX_APP_LOGS = exports.DESC_COMMAND_SANDBOX_EXEC_STATUS = exports.DESC_COMMAND_SANDBOX_EXEC_LIST = exports.DESC_COMMAND_SANDBOX_APP_LIST = exports.TXT_SANDBOX_WAITING_START = exports.TXT_SANDBOX_WAITING_STOP = exports.TXT_SANDBOX_WAITING_APPS = 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.TXT_SANDBOX_APP_STARTED = exports.TXT_SANDBOX_APP_STOPPED = exports.OPTION_SANDBOX_WAIT = exports.OPTION_SANDBOX_WAIT_APPS = 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_APPS_TIMEOUT = exports.ERR_SANDBOX_SETUP_TIMEOUT = exports.ERR_SANDBOX_APP_FAILED = exports.ERR_SANDBOX_SETUP_FAILED = exports.ERR_SANDBOX_INVALID_RESOURCES = exports.ERR_SANDBOX_APP_NOT_FOUND = exports.ERR_SANDBOX_NOT_FOUND = exports.OPTION_SANDBOX_RUNTIME = exports.OPTION_SANDBOX_APP_DIR = exports.OPTION_SANDBOX_APP_COMMAND = void 0;
13
13
  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 = 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 = void 0;
14
14
  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 = 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 = void 0;
15
- 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.ERR_COMMAND_DOMAIN_UNAVAILABLE = exports.OPTION_COMMAND_DOMAIN_IDENTIFIER = exports.ERR_COMMAND_DOMAIN_NO_DOMAINS = exports.TXT_COMMAND_DOMAIN_PROMPT_REQUIRED = exports.TXT_COMMAND_DOMAIN_BUY_SELECT_DOMAIN = exports.TXT_COMMAND_DOMAIN_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 = exports.DESC_COMMAND_DOMAIN_GET = exports.DESC_COMMAND_DOMAIN_LIST = exports.DESC_COMMAND_DOMAIN_SEARCH = 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 = void 0;
16
- exports.EXAMPLE_SANDBOX_SNAPSHOT_CREATE = exports.EXAMPLE_SANDBOX_EXEC_STATUS = exports.EXAMPLE_SANDBOX_EXEC_LOGS = exports.EXAMPLE_SANDBOX_APP_STATUS = exports.EXAMPLE_SANDBOX_APP_STOP = exports.EXAMPLE_SANDBOX_APP_START = exports.EXAMPLE_SANDBOX_APP_LOGS = exports.EXAMPLE_SANDBOX_EXEC_LIST = exports.EXAMPLE_SANDBOX_APP_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 = 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 = void 0;
17
- 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 = void 0;
15
+ 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.ERR_COMMAND_DOMAIN_UNAVAILABLE = exports.OPTION_COMMAND_DOMAIN_IDENTIFIER = exports.ERR_COMMAND_DOMAIN_NO_DOMAINS = exports.TXT_COMMAND_DOMAIN_PROMPT_REQUIRED = exports.TXT_COMMAND_DOMAIN_BUY_SELECT_DOMAIN = exports.TXT_COMMAND_DOMAIN_PROVIDE_PROMPT = exports.ERR_COMMAND_DOMAIN_NOT_FOUND = exports.OPT_COMMAND_DOMAIN_ONLY_AVAILABLE = exports.OPT_COMMAND_DOMAIN_SORT = exports.OPT_COMMAND_DOMAIN_PHRASE = exports.OPT_COMMAND_DOMAIN_BUY_OWNER = exports.OPT_COMMAND_DOMAIN_BUY_TLD = exports.DESC_COMMAND_DOMAIN_GET = exports.DESC_COMMAND_DOMAIN_LIST = exports.DESC_COMMAND_DOMAIN_SEARCH = 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 = void 0;
16
+ exports.EXAMPLE_SANDBOX_EXEC_LOGS = exports.EXAMPLE_SANDBOX_APP_STATUS = exports.EXAMPLE_SANDBOX_APP_STOP = exports.EXAMPLE_SANDBOX_APP_START = exports.EXAMPLE_SANDBOX_APP_LOGS = exports.EXAMPLE_SANDBOX_EXEC_LIST = exports.EXAMPLE_SANDBOX_APP_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 = 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 = void 0;
17
+ 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 = void 0;
18
18
  const utils_1 = require("./utils");
19
19
  exports.ERR_REST_API_GENERAL_ERROR = 'Something went wrong';
20
20
  exports.ERR_REST_API_NOT_RESPONDING = 'Api endpoint not responding. Try again later...';
@@ -414,7 +414,7 @@ exports.OPTION_SCRAPE_DEVICES = 'Devices definition as JSON array (e.g., --devic
414
414
  exports.OPTION_SCRAPE_LOCAL_STORAGE = 'Set localStorage values used when visiting urls (format: [scope::]key=value)';
415
415
  exports.OPTION_SCRAPE_DELAY = 'Delay in milliseconds';
416
416
  exports.OPTION_SCRAPE_OUTPUT_DIR = 'Output directory';
417
- exports.OPTION_SCRAPE_OUTPUT_TYPES = 'Output types as JSON array (e.g., --outputTypes \'[{"type":"png","selector":{"type":"CSS","value":".main"}},{"type":"jpeg","quality":80}]\')';
417
+ exports.OPTION_SCRAPE_OUTPUT_TYPES = 'Output types as JSON array (e.g., --outputTypes \'[{"type":"md","selector":{"type":"CSS","value":".main"}},{"type":"jpeg","quality":80,"fullPage":true}]\')';
418
418
  exports.LOG_REGISTERING_AGENT = 'Registering agent...';
419
419
  exports.LOG_SAVING_AGENT_SYSTEM_CONFIG = 'Saving agent system config...';
420
420
  exports.LOG_SAVING_AGENT_PROC_ID = 'Saving agent process id in lock file...';
@@ -803,6 +803,8 @@ exports.DESC_COMMAND_DOMAIN_GET = 'Get domain';
803
803
  exports.OPT_COMMAND_DOMAIN_BUY_TLD = 'Filter tld. Can be passed multiple times or separated by comma. Example: --tld=de --tld=com,io';
804
804
  exports.OPT_COMMAND_DOMAIN_BUY_OWNER = 'Buy domain on workspace owner behalf';
805
805
  exports.OPT_COMMAND_DOMAIN_PHRASE = 'Phrase, full domain or part of it';
806
+ exports.OPT_COMMAND_DOMAIN_SORT = 'Sort domains by "price" or "name"';
807
+ exports.OPT_COMMAND_DOMAIN_ONLY_AVAILABLE = 'Show only available domains';
806
808
  exports.ERR_COMMAND_DOMAIN_NOT_FOUND = 'Domain not found';
807
809
  exports.TXT_COMMAND_DOMAIN_PROVIDE_PROMPT = 'Enter domain name or describe your needs:';
808
810
  exports.TXT_COMMAND_DOMAIN_BUY_SELECT_DOMAIN = 'Select domain:';
@@ -267,13 +267,12 @@ async function sendCompareLinks(urls, validatedOptions, sitemapSource) {
267
267
  }
268
268
  return response;
269
269
  }
270
- async function sendScrap(url, follow, respectRobots, outputTypes, fullPage, colorScheme, browsers, devices, cookies, requestHeaders, delay, waitForSelectors, localStorage) {
270
+ async function sendScrap(url, follow, respectRobots, outputTypes, colorScheme, browsers, devices, cookies, requestHeaders, delay, waitForSelectors, localStorage) {
271
271
  const payload = {
272
272
  url,
273
273
  follow,
274
274
  respectRobots,
275
275
  outputTypes,
276
- fullPage,
277
276
  colorScheme,
278
277
  browsers,
279
278
  devices,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bdy",
3
3
  "preferGlobal": false,
4
- "version": "1.18.10-dev",
4
+ "version": "1.18.12-dev",
5
5
  "type": "commonjs",
6
6
  "license": "MIT",
7
7
  "scripts": {