bdy 1.18.0-dev → 1.18.1-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.0-dev",
4
+ "version": "1.18.1-dev",
5
5
  "type": "commonjs",
6
6
  "license": "MIT",
7
7
  "scripts": {
@@ -7,56 +7,6 @@ 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 popularTlds = [
11
- 'com',
12
- 'ai',
13
- 'io',
14
- 'net',
15
- 'cloud',
16
- 'dev',
17
- 'app',
18
- 'info',
19
- 'blog',
20
- 'run',
21
- 'me',
22
- 'at',
23
- 'nl',
24
- 'xyz',
25
- 'org',
26
- 'co',
27
- 'tech',
28
- 'studio',
29
- 'sh',
30
- 'space',
31
- 'fyi',
32
- 'link',
33
- 'es',
34
- 'art',
35
- 'club',
36
- 'inc',
37
- 'pro',
38
- 'store',
39
- 'shop',
40
- 'one',
41
- 'biz',
42
- 'vip',
43
- 'tube',
44
- 'online',
45
- 'design',
46
- 'realty',
47
- 'audio',
48
- 'lol',
49
- 'pics',
50
- 'love',
51
- 'baby',
52
- 'lat',
53
- 'so',
54
- 'homes',
55
- 'beauty',
56
- 'buzz',
57
- 'mom',
58
- 'my',
59
- ];
60
10
  const commandDomainBuy = (0, utils_1.newCommand)('buy', texts_1.DESC_COMMAND_DOMAIN_BUY);
61
11
  commandDomainBuy.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
62
12
  commandDomainBuy.option('-d, --tld <tld...>', texts_1.OPT_COMMAND_DOMAIN_BUY_TLD);
@@ -65,7 +15,7 @@ commandDomainBuy.argument('[domain|prompt]', texts_1.OPT_COMMAND_DOMAIN_PHRASE);
65
15
  commandDomainBuy.action(async (text, options) => {
66
16
  const workspace = input_1.default.restApiWorkspace(options.workspace);
67
17
  const client = input_1.default.restApiTokenClient();
68
- const tlds = getAllowedTlds(options.tld);
18
+ const tlds = input_1.default.allowedTlds(options.tld);
69
19
  const prompt = (text || '').trim().toLowerCase();
70
20
  const onOwnerBehalf = !!options.ownerBehalf;
71
21
  if (output_1.default.isTTY()) {
@@ -76,52 +26,16 @@ commandDomainBuy.action(async (text, options) => {
76
26
  }
77
27
  output_1.default.exitNormal();
78
28
  });
79
- const formatDomainPrice = (price) => {
80
- const sign = price.currency === 'USD' ? '$' : '€';
81
- const value = price.price * price.min_duration;
82
- const duration = price.min_duration === 1 ? '1yr' : `${price.min_duration}yrs`;
83
- return `${sign}${value.toFixed(2)} (${duration})`;
84
- };
85
- const formatClaim = (domain, available) => {
86
- if (available) {
87
- return `${output_1.default.getGreenColor(domain)} (Free)`;
88
- }
89
- return output_1.default.getDimColor(`${domain} (Unavailable)`);
90
- };
91
- const formatDomain = (domain) => {
92
- if (!domain.available || domain.premium) {
93
- return output_1.default.getDimColor(`${domain.name} (Unavailable)`);
94
- }
95
- return `${output_1.default.getGreenColor(domain.name)} ${formatDomainPrice(domain.prices.create)} / ${formatDomainPrice(domain.prices.renew)}`;
96
- };
97
- const isValidDomain = (prompt) => {
98
- return /^(?=.{1,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,}$/i.test(prompt);
99
- };
100
- const isValidSubdomain = (prompt) => {
101
- return /^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/i.test(prompt);
102
- };
103
- const getSubdomain = (domain) => {
104
- const idx = domain.indexOf('.');
105
- if (idx < 0)
106
- return '';
107
- return domain.substring(0, idx);
108
- };
109
- const getTld = (domain) => {
110
- const idx = domain.lastIndexOf('.');
111
- if (idx < 0)
112
- return '';
113
- return domain.substring(idx + 1);
114
- };
115
29
  const claimNonInteractive = async (client, workspace, domain, onOwnerBehalf) => {
116
30
  output_1.default.arrowSign();
117
- output_1.default.normal(`Matched: ${formatClaim(domain, true)}`);
31
+ output_1.default.normal(`Matched: ${output_1.default.formatDomainClaim(domain, true)}`);
118
32
  await client.domainClaim(workspace, domain, onOwnerBehalf);
119
33
  output_1.default.okSign();
120
34
  output_1.default.normal(`${domain} claimed`);
121
35
  };
122
36
  const buyNonInteractive = async (client, workspace, domain, onOwnerBehalf) => {
123
37
  output_1.default.arrowSign();
124
- output_1.default.normal(`Matched: ${formatDomain(domain)}`);
38
+ output_1.default.normal(`Matched: ${output_1.default.formatDomain(domain)}`);
125
39
  if (domain.available && !domain.premium) {
126
40
  await client.domainBuy(workspace, domain.name, onOwnerBehalf, true);
127
41
  output_1.default.okSign();
@@ -130,37 +44,38 @@ const buyNonInteractive = async (client, workspace, domain, onOwnerBehalf) => {
130
44
  };
131
45
  const interactive = async (client, workspace, prompt, tlds, onOwnerBehalf) => {
132
46
  if (!prompt) {
133
- prompt = await output_1.default.inputString(texts_1.TXT_COMMAND_DOMAIN_BUY_PROVIDE_PROMPT);
47
+ prompt = await output_1.default.inputString(texts_1.TXT_COMMAND_DOMAIN_PROVIDE_PROMPT);
134
48
  }
135
49
  if (!prompt) {
136
- output_1.default.exitError(texts_1.TXT_COMMAND_DOMAIN_BUY_PROMPT_REQUIRED);
50
+ output_1.default.exitError(texts_1.TXT_COMMAND_DOMAIN_PROMPT_REQUIRED);
137
51
  }
138
52
  output_1.default.arrowSign();
139
53
  output_1.default.normal(`Searching...`);
140
54
  let items = [];
141
- const createValue = (type, name) => {
142
- return `${type}:${name}`;
55
+ const createValue = (type, name, available) => {
56
+ return `${type}:${name}:${available ? '1' : '0'}`;
143
57
  };
144
- if (isValidDomain(prompt)) {
145
- const subdomain = getSubdomain(prompt);
58
+ if ((0, utils_1.isValidDomain)(prompt)) {
59
+ const subdomain = (0, utils_1.getSubdomain)(prompt);
146
60
  const claims = await client.domainClaimable(workspace, subdomain);
147
61
  const claimable = claims.domains.find((c) => `${subdomain}.${c.domain}` === prompt);
148
62
  if (claimable) {
149
63
  items.push(output_1.default.createMenuSeparator('Matched'));
150
- items.push(output_1.default.createMenuItem(formatClaim(prompt, claimable.available), createValue('claim', prompt)));
64
+ items.push(output_1.default.createMenuItem(output_1.default.formatDomainClaim(prompt, claimable.available), createValue('claim', prompt, claimable.available)));
151
65
  }
152
66
  else {
153
67
  const search = await client.domainSearch(workspace, [prompt]);
154
68
  const buyable = search.domains.find((d) => d.name === prompt);
155
69
  if (buyable) {
156
70
  items.push(output_1.default.createMenuSeparator('Matched'));
157
- items.push(output_1.default.createMenuItem(formatDomain(buyable), createValue('domain', prompt)));
71
+ items.push(output_1.default.createMenuItem(output_1.default.formatDomain(buyable), createValue('domain', prompt, buyable.available && !buyable.premium)));
158
72
  }
159
73
  }
160
74
  }
161
- else if (isValidSubdomain(prompt)) {
75
+ else if ((0, utils_1.isValidSubdomain)(prompt)) {
162
76
  const claims = await client.domainClaimable(workspace, prompt);
163
77
  const domains = [];
78
+ const popularTlds = (0, utils_1.getPopularTlds)();
164
79
  const searchTlds = tlds.length > 0 ? tlds : popularTlds;
165
80
  searchTlds.forEach((tld) => {
166
81
  domains.push(`${prompt}.${tld}`);
@@ -170,8 +85,8 @@ const interactive = async (client, workspace, prompt, tlds, onOwnerBehalf) => {
170
85
  const claimsAvailable = claims.domains.filter((c) => (c.available && !tlds.length) || tlds.includes(c.domain));
171
86
  const claimsUnavailable = claims.domains.filter((c) => (!c.available && !tlds.length) || tlds.includes(c.domain));
172
87
  search.domains = search.domains.sort((a, b) => {
173
- const aTld = getTld(a.name);
174
- const bTld = getTld(b.name);
88
+ const aTld = (0, utils_1.getDomainTld)(a.name);
89
+ const bTld = (0, utils_1.getDomainTld)(b.name);
175
90
  const aIdx = popularTlds.indexOf(aTld);
176
91
  const bIdx = popularTlds.indexOf(bTld);
177
92
  return aIdx < bIdx ? -1 : 1;
@@ -179,22 +94,22 @@ const interactive = async (client, workspace, prompt, tlds, onOwnerBehalf) => {
179
94
  const domainsAvailable = search.domains.filter((d) => d.available && !d.premium);
180
95
  const domainsUnavailable = search.domains.filter((d) => !d.available || d.premium);
181
96
  domainsAvailable.forEach((d) => {
182
- items.push(output_1.default.createMenuItem(formatDomain(d), createValue('domain', d.name)));
97
+ items.push(output_1.default.createMenuItem(output_1.default.formatDomain(d), createValue('domain', d.name, true)));
183
98
  });
184
99
  claimsAvailable.forEach((c, i) => {
185
100
  const domain = `${prompt}.${c.domain}`;
186
- const item = output_1.default.createMenuItem(formatClaim(domain, true), createValue('claim', domain));
101
+ const item = output_1.default.createMenuItem(output_1.default.formatDomainClaim(domain, true), createValue('claim', domain, true));
187
102
  if (i < 5)
188
103
  items.unshift(item);
189
104
  else
190
105
  items.push(item);
191
106
  });
192
107
  domainsUnavailable.forEach((d) => {
193
- items.push(output_1.default.createMenuItem(formatDomain(d), createValue('domain', d.name)));
108
+ items.push(output_1.default.createMenuItem(output_1.default.formatDomain(d), createValue('domain', d.name, false)));
194
109
  });
195
110
  claimsUnavailable.forEach((c) => {
196
111
  const domain = `${prompt}.${c.domain}`;
197
- const item = output_1.default.createMenuItem(formatClaim(domain, false), createValue('claim', domain));
112
+ const item = output_1.default.createMenuItem(output_1.default.formatDomainClaim(domain, false), createValue('claim', domain, false));
198
113
  items.push(item);
199
114
  });
200
115
  if (items.length > 10)
@@ -209,13 +124,13 @@ const interactive = async (client, workspace, prompt, tlds, onOwnerBehalf) => {
209
124
  suggestions.claims.forEach((c) => {
210
125
  if (i >= 10)
211
126
  return;
212
- items.push(output_1.default.createMenuItem(formatClaim(c, true), createValue('claim', c)));
127
+ items.push(output_1.default.createMenuItem(output_1.default.formatDomainClaim(c, true), createValue('claim', c, true)));
213
128
  i += 1;
214
129
  });
215
130
  suggestions.domains.forEach((d) => {
216
131
  if (i >= 10)
217
132
  return;
218
- items.push(output_1.default.createMenuItem(formatDomain(d), createValue('domain', d.name)));
133
+ items.push(output_1.default.createMenuItem(output_1.default.formatDomain(d), createValue('domain', d.name, true)));
219
134
  i += 1;
220
135
  });
221
136
  }
@@ -224,8 +139,11 @@ const interactive = async (client, workspace, prompt, tlds, onOwnerBehalf) => {
224
139
  output_1.default.exitError(texts_1.ERR_COMMAND_DOMAIN_NOT_FOUND);
225
140
  }
226
141
  const value = await output_1.default.inputMenuAdv(texts_1.TXT_COMMAND_DOMAIN_BUY_SELECT_DOMAIN, items);
227
- const [type, name] = value.split(':');
228
- if (type === 'claim') {
142
+ const [type, name, available] = value.split(':');
143
+ if (available !== '1') {
144
+ output_1.default.exitError(texts_1.ERR_COMMAND_DOMAIN_UNAVAILABLE);
145
+ }
146
+ else if (type === 'claim') {
229
147
  await client.domainClaim(workspace, name, onOwnerBehalf);
230
148
  output_1.default.okSign();
231
149
  output_1.default.normal(`${name} claimed`);
@@ -238,10 +156,10 @@ const interactive = async (client, workspace, prompt, tlds, onOwnerBehalf) => {
238
156
  };
239
157
  const nonInteractive = async (client, workspace, prompt, tlds, onOwnerBehalf) => {
240
158
  if (!prompt) {
241
- output_1.default.exitError(texts_1.TXT_COMMAND_DOMAIN_BUY_PROMPT_REQUIRED);
159
+ output_1.default.exitError(texts_1.TXT_COMMAND_DOMAIN_PROMPT_REQUIRED);
242
160
  }
243
- if (isValidDomain(prompt)) {
244
- const subdomain = getSubdomain(prompt);
161
+ if ((0, utils_1.isValidDomain)(prompt)) {
162
+ const subdomain = (0, utils_1.getSubdomain)(prompt);
245
163
  const claims = await client.domainClaimable(workspace, subdomain);
246
164
  const claimable = claims.domains.find((c) => c.available && `${subdomain}.${c.domain}` === prompt);
247
165
  if (claimable) {
@@ -266,13 +184,4 @@ const nonInteractive = async (client, workspace, prompt, tlds, onOwnerBehalf) =>
266
184
  }
267
185
  output_1.default.exitError(texts_1.ERR_COMMAND_DOMAIN_NOT_FOUND);
268
186
  };
269
- const getAllowedTlds = (tld) => {
270
- const result = [];
271
- if (tld) {
272
- tld.forEach((t) => {
273
- result.push(...t.split(',').map((t) => t.replace(/^\./, '')));
274
- });
275
- }
276
- return result;
277
- };
278
187
  exports.default = commandDomainBuy;
@@ -0,0 +1,91 @@
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 commandDomainSearch = (0, utils_1.newCommand)('search', texts_1.DESC_COMMAND_DOMAIN_SEARCH);
11
+ commandDomainSearch.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
12
+ commandDomainSearch.option('-d, --tld <tld...>', texts_1.OPT_COMMAND_DOMAIN_BUY_TLD);
13
+ commandDomainSearch.argument('[domain|prompt]', texts_1.OPT_COMMAND_DOMAIN_PHRASE);
14
+ commandDomainSearch.action(async (text, options) => {
15
+ const workspace = input_1.default.restApiWorkspace(options.workspace);
16
+ const client = input_1.default.restApiTokenClient();
17
+ const tlds = input_1.default.allowedTlds(options.tld);
18
+ let prompt = (text || '').trim().toLowerCase();
19
+ if (output_1.default.isTTY() && !prompt) {
20
+ prompt = await output_1.default.inputString(texts_1.TXT_COMMAND_DOMAIN_PROVIDE_PROMPT);
21
+ }
22
+ if (!prompt) {
23
+ output_1.default.exitError(texts_1.TXT_COMMAND_DOMAIN_PROMPT_REQUIRED);
24
+ }
25
+ output_1.default.arrowSign();
26
+ output_1.default.normal(`Searching...`);
27
+ const matched = [];
28
+ if ((0, utils_1.isValidDomain)(prompt)) {
29
+ const subdomain = (0, utils_1.getSubdomain)(prompt);
30
+ const claims = await client.domainClaimable(workspace, subdomain);
31
+ const claimable = claims.domains.find((c) => `${subdomain}.${c.domain}` === prompt);
32
+ if (claimable) {
33
+ matched.push(output_1.default.formatDomainClaim(prompt, claimable.available));
34
+ }
35
+ else {
36
+ const search = await client.domainSearch(workspace, [prompt]);
37
+ const buyable = search.domains.find((d) => d.name === prompt);
38
+ if (buyable) {
39
+ matched.push(output_1.default.formatDomain(buyable));
40
+ }
41
+ }
42
+ }
43
+ else if ((0, utils_1.isValidSubdomain)(prompt)) {
44
+ const claims = await client.domainClaimable(workspace, prompt);
45
+ const domains = [];
46
+ const popularTlds = (0, utils_1.getPopularTlds)();
47
+ const searchTlds = tlds.length > 0 ? tlds : popularTlds;
48
+ searchTlds.forEach((tld) => {
49
+ domains.push(`${prompt}.${tld}`);
50
+ });
51
+ const search = await client.domainSearch(workspace, domains);
52
+ search.domains = search.domains.sort((a, b) => {
53
+ const aTld = (0, utils_1.getDomainTld)(a.name);
54
+ const bTld = (0, utils_1.getDomainTld)(b.name);
55
+ const aIdx = popularTlds.indexOf(aTld);
56
+ const bIdx = popularTlds.indexOf(bTld);
57
+ return aIdx < bIdx ? -1 : 1;
58
+ });
59
+ claims.domains.forEach((c) => {
60
+ matched.push(output_1.default.formatDomainClaim(`${prompt}.${c.domain}`, c.available));
61
+ });
62
+ search.domains.forEach((d) => {
63
+ matched.push(output_1.default.formatDomain(d));
64
+ });
65
+ }
66
+ const result = await client.domainSuggest(workspace, prompt, tlds, 5);
67
+ output_1.default.clearPreviousLine();
68
+ let hasAny = false;
69
+ if (matched.length > 0) {
70
+ hasAny = true;
71
+ output_1.default.normal('Matched');
72
+ matched.forEach((m) => {
73
+ output_1.default.normal(m);
74
+ });
75
+ }
76
+ if (result.domains.length > 0 || result.claims.length > 0) {
77
+ hasAny = true;
78
+ output_1.default.normal('Suggestions');
79
+ result.claims.forEach((c) => {
80
+ output_1.default.normal(output_1.default.formatDomainClaim(c, true));
81
+ });
82
+ result.domains.forEach((d) => {
83
+ output_1.default.normal(output_1.default.formatDomain(d));
84
+ });
85
+ }
86
+ if (!hasAny)
87
+ output_1.default.exitError(texts_1.ERR_COMMAND_DOMAIN_NOT_FOUND);
88
+ else
89
+ output_1.default.exitNormal();
90
+ });
91
+ exports.default = commandDomainSearch;
@@ -8,8 +8,10 @@ const texts_1 = require("../texts");
8
8
  const buy_1 = __importDefault(require("./domain/buy"));
9
9
  const list_1 = __importDefault(require("./domain/list"));
10
10
  const get_1 = __importDefault(require("./domain/get"));
11
+ const search_1 = __importDefault(require("./domain/search"));
11
12
  const commandDomain = (0, utils_1.newCommand)('domain', texts_1.DESC_COMMAND_DOMAIN);
12
13
  commandDomain.addCommand(buy_1.default);
14
+ commandDomain.addCommand(search_1.default);
13
15
  commandDomain.addCommand(list_1.default);
14
16
  commandDomain.addCommand(get_1.default);
15
17
  exports.default = commandDomain;
@@ -326,6 +326,15 @@ class Input {
326
326
  clientToken: ct,
327
327
  };
328
328
  }
329
+ static allowedTlds(tld) {
330
+ const result = [];
331
+ if (tld) {
332
+ tld.forEach((t) => {
333
+ result.push(...t.split(',').map((t) => t.replace(/^\./, '')));
334
+ });
335
+ }
336
+ return result;
337
+ }
329
338
  static restApiTokenClient(allowNoToken = false, api = '', region = '', token = '') {
330
339
  const baseUrl = this.restApiBaseUrl(api, region);
331
340
  const { token: t, refreshToken, clientId, clientToken, clientSecret, } = this.restApiToken(allowNoToken, token);
@@ -730,7 +739,7 @@ class Input {
730
739
  cfg_1.default.setToken(token);
731
740
  return {
732
741
  token,
733
- host: d.host
742
+ host: d.host,
734
743
  };
735
744
  }
736
745
  static keyCert(keyPath, certPath) {
@@ -223,7 +223,7 @@ class Output {
223
223
  terminal.table(data, {
224
224
  fit: false,
225
225
  hasBorder: false,
226
- firstRowTextAttr: { color: 'blue' }
226
+ firstRowTextAttr: { color: 'blue' },
227
227
  });
228
228
  }
229
229
  static configTunnels(tunnels) {
@@ -250,7 +250,7 @@ class Output {
250
250
  return await prompts_1.default.confirm({
251
251
  message,
252
252
  theme: this.getInquirerTheme(),
253
- default: false
253
+ default: false,
254
254
  });
255
255
  }
256
256
  this.cyan('? ', false);
@@ -263,7 +263,7 @@ class Output {
263
263
  return await prompts_1.default.input({
264
264
  message,
265
265
  default: def,
266
- theme: this.getInquirerTheme()
266
+ theme: this.getInquirerTheme(),
267
267
  });
268
268
  }
269
269
  this.cyan('? ', false);
@@ -280,7 +280,8 @@ class Output {
280
280
  return await prompts_1.default.select({
281
281
  message,
282
282
  theme: this.getInquirerTheme(),
283
- choices: items
283
+ loop: false,
284
+ choices: items,
284
285
  });
285
286
  }
286
287
  else {
@@ -295,16 +296,36 @@ class Output {
295
296
  return '';
296
297
  }
297
298
  }
299
+ static formatDomainPrice(price) {
300
+ const sign = price.currency === 'USD' ? '$' : '€';
301
+ const value = price.price * price.min_duration;
302
+ const duration = price.min_duration === 1 ? '1yr' : `${price.min_duration}yrs`;
303
+ return `${sign}${value.toFixed(2)} (${duration})`;
304
+ }
305
+ static formatDomain(domain) {
306
+ if (!domain.available || domain.premium) {
307
+ return this.getDimColor(`${domain.name} (Unavailable)`);
308
+ }
309
+ return `${this.getGreenColor(domain.name)} ${this.formatDomainPrice(domain.prices.create)} / ${this.formatDomainPrice(domain.prices.renew)}`;
310
+ }
311
+ static formatDomainClaim(domain, available) {
312
+ if (available) {
313
+ return `${this.getGreenColor(domain)} (Free)`;
314
+ }
315
+ return this.getDimColor(`${domain} (Unavailable)`);
316
+ }
298
317
  static createMenuSeparator(text) {
299
318
  return new prompts_1.default.Separator(text);
300
319
  }
301
- static createMenuItem(name, value, description) {
320
+ static createMenuItem(name, value, description, disabled) {
302
321
  const item = {
303
322
  name,
304
323
  value,
305
324
  };
306
325
  if (description)
307
326
  item.description = description;
327
+ if (disabled)
328
+ item.disabled = disabled;
308
329
  return item;
309
330
  }
310
331
  static async inputMenu(message, items) {
@@ -312,7 +333,8 @@ class Output {
312
333
  return await prompts_1.default.select({
313
334
  message,
314
335
  theme: this.getInquirerTheme(),
315
- choices: items.map((item, index) => ({ value: index, name: item }))
336
+ loop: false,
337
+ choices: items.map((item, index) => ({ value: index, name: item })),
316
338
  });
317
339
  }
318
340
  else {
@@ -11,9 +11,9 @@ exports.LOG_TUNNEL_HTTP_WRONG_USER_AGENTS = exports.LOG_TUNNEL_HTTP_CIRCUIT_BREA
11
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
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
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;
14
+ 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 = 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.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.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 = 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 = exports.TXT_COMMAND_PROJECT_LINK_GIT_REPO_INITIALIZED = 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...';
@@ -780,17 +780,19 @@ exports.ERR_API_MESSAGE_REPLACER = ERR_API_MESSAGE_REPLACER;
780
780
  // domain commands
781
781
  exports.DESC_COMMAND_DOMAIN = 'Manage domains';
782
782
  exports.DESC_COMMAND_DOMAIN_BUY = 'Buy domain';
783
+ exports.DESC_COMMAND_DOMAIN_SEARCH = 'Search domain';
783
784
  exports.DESC_COMMAND_DOMAIN_LIST = 'List domains';
784
785
  exports.DESC_COMMAND_DOMAIN_GET = 'Get domain';
785
786
  exports.OPT_COMMAND_DOMAIN_BUY_TLD = 'Filter tld. Can be passed multiple times or separated by comma. Example: --tld=de --tld=com,io';
786
787
  exports.OPT_COMMAND_DOMAIN_BUY_OWNER = 'Buy domain on workspace owner behalf';
787
788
  exports.OPT_COMMAND_DOMAIN_PHRASE = 'Phrase, full domain or part of it';
788
789
  exports.ERR_COMMAND_DOMAIN_NOT_FOUND = 'Domain not found';
789
- exports.TXT_COMMAND_DOMAIN_BUY_PROVIDE_PROMPT = 'Enter domain name or describe your needs:';
790
+ exports.TXT_COMMAND_DOMAIN_PROVIDE_PROMPT = 'Enter domain name or describe your needs:';
790
791
  exports.TXT_COMMAND_DOMAIN_BUY_SELECT_DOMAIN = 'Select domain:';
791
- exports.TXT_COMMAND_DOMAIN_BUY_PROMPT_REQUIRED = 'Domain or prompt is required';
792
+ exports.TXT_COMMAND_DOMAIN_PROMPT_REQUIRED = 'Domain or prompt is required';
792
793
  exports.ERR_COMMAND_DOMAIN_NO_DOMAINS = 'No domains found';
793
794
  exports.OPTION_COMMAND_DOMAIN_IDENTIFIER = 'Domain ID or name';
795
+ exports.ERR_COMMAND_DOMAIN_UNAVAILABLE = 'Domain unavailable';
794
796
  // package commands
795
797
  exports.DESC_COMMAND_PACKAGE_VERSION = 'Manage package versions';
796
798
  exports.DESC_COMMAND_PACKAGE_LIST = 'List packages. Required scopes: PACKAGE_READ';
@@ -47,6 +47,11 @@ exports.getDockerRegistryHostByApiBaseUrl = getDockerRegistryHostByApiBaseUrl;
47
47
  exports.fetchOpenApiSchema = fetchOpenApiSchema;
48
48
  exports.openApiPrepareUrl = openApiPrepareUrl;
49
49
  exports.getOpenApiEndpointByApiBaseUrl = getOpenApiEndpointByApiBaseUrl;
50
+ exports.isValidDomain = isValidDomain;
51
+ exports.isValidSubdomain = isValidSubdomain;
52
+ exports.getSubdomain = getSubdomain;
53
+ exports.getDomainTld = getDomainTld;
54
+ exports.getPopularTlds = getPopularTlds;
50
55
  exports.getAppHostByApiBaseUrl = getAppHostByApiBaseUrl;
51
56
  const node_path_1 = __importDefault(require("node:path"));
52
57
  const node_fs_1 = require("node:fs");
@@ -699,6 +704,76 @@ function getOpenApiEndpointByApiBaseUrl(baseUrl) {
699
704
  return 'https://es.buddy.works/openapi/dev/restapi.json';
700
705
  }
701
706
  }
707
+ function isValidDomain(prompt) {
708
+ return /^(?=.{1,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,}$/i.test(prompt);
709
+ }
710
+ function isValidSubdomain(prompt) {
711
+ return /^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/i.test(prompt);
712
+ }
713
+ function getSubdomain(domain) {
714
+ const idx = domain.indexOf('.');
715
+ if (idx < 0)
716
+ return '';
717
+ return domain.substring(0, idx);
718
+ }
719
+ function getDomainTld(domain) {
720
+ const idx = domain.lastIndexOf('.');
721
+ if (idx < 0)
722
+ return '';
723
+ return domain.substring(idx + 1);
724
+ }
725
+ function getPopularTlds() {
726
+ return [
727
+ 'com',
728
+ 'ai',
729
+ 'io',
730
+ 'net',
731
+ 'cloud',
732
+ 'dev',
733
+ 'app',
734
+ 'info',
735
+ 'blog',
736
+ 'run',
737
+ 'me',
738
+ 'at',
739
+ 'nl',
740
+ 'xyz',
741
+ 'org',
742
+ 'co',
743
+ 'tech',
744
+ 'studio',
745
+ 'sh',
746
+ 'space',
747
+ 'fyi',
748
+ 'link',
749
+ 'es',
750
+ 'art',
751
+ 'club',
752
+ 'inc',
753
+ 'pro',
754
+ 'store',
755
+ 'shop',
756
+ 'one',
757
+ 'biz',
758
+ 'vip',
759
+ 'tube',
760
+ 'online',
761
+ 'design',
762
+ 'realty',
763
+ 'audio',
764
+ 'lol',
765
+ 'pics',
766
+ 'love',
767
+ 'baby',
768
+ 'lat',
769
+ 'so',
770
+ 'homes',
771
+ 'beauty',
772
+ 'buzz',
773
+ 'mom',
774
+ 'my',
775
+ ];
776
+ }
702
777
  function getAppHostByApiBaseUrl(baseUrl) {
703
778
  if (baseUrl.hostname.includes('api.buddy.works')) {
704
779
  return 'app.buddy.works';
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.1-dev",
5
5
  "type": "commonjs",
6
6
  "license": "MIT",
7
7
  "scripts": {