bdy 1.16.11-dev → 1.16.11-sbs-1

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.
Files changed (48) hide show
  1. package/distTs/package.json +4 -3
  2. package/distTs/src/api/client.js +78 -2
  3. package/distTs/src/command/login.js +280 -0
  4. package/distTs/src/command/logout.js +15 -0
  5. package/distTs/src/command/package/download.js +259 -0
  6. package/distTs/src/command/package/publish.js +231 -0
  7. package/distTs/src/command/package.js +14 -0
  8. package/distTs/src/command/project/list.js +61 -0
  9. package/distTs/src/command/project/set.js +85 -0
  10. package/distTs/src/command/project.js +14 -0
  11. package/distTs/src/command/sandbox/command/kill.js +35 -0
  12. package/distTs/src/command/sandbox/command/list.js +54 -0
  13. package/distTs/src/command/sandbox/command/logs.js +133 -0
  14. package/distTs/src/command/sandbox/command/status.js +44 -0
  15. package/distTs/src/command/sandbox/command.js +18 -0
  16. package/distTs/src/command/sandbox/cp.js +123 -0
  17. package/distTs/src/command/sandbox/create.js +99 -0
  18. package/distTs/src/command/sandbox/destroy.js +35 -0
  19. package/distTs/src/command/sandbox/endpoint/add.js +91 -0
  20. package/distTs/src/command/sandbox/endpoint/delete.js +46 -0
  21. package/distTs/src/command/sandbox/endpoint/get.js +58 -0
  22. package/distTs/src/command/sandbox/endpoint/list.js +51 -0
  23. package/distTs/src/command/sandbox/endpoint/update.js +85 -0
  24. package/distTs/src/command/sandbox/endpoint.js +20 -0
  25. package/distTs/src/command/sandbox/exec.js +127 -0
  26. package/distTs/src/command/sandbox/get.js +51 -0
  27. package/distTs/src/command/sandbox/list.js +41 -0
  28. package/distTs/src/command/sandbox/restart.js +49 -0
  29. package/distTs/src/command/sandbox/snapshot/create.js +68 -0
  30. package/distTs/src/command/sandbox/snapshot/delete.js +42 -0
  31. package/distTs/src/command/sandbox/snapshot/get.js +54 -0
  32. package/distTs/src/command/sandbox/snapshot/list.js +48 -0
  33. package/distTs/src/command/sandbox/snapshot.js +18 -0
  34. package/distTs/src/command/sandbox/start.js +49 -0
  35. package/distTs/src/command/sandbox/status.js +35 -0
  36. package/distTs/src/command/sandbox/stop.js +49 -0
  37. package/distTs/src/command/sandbox.js +36 -0
  38. package/distTs/src/command/workspace/list.js +57 -0
  39. package/distTs/src/command/workspace/set.js +81 -0
  40. package/distTs/src/command/workspace.js +14 -0
  41. package/distTs/src/index.js +10 -0
  42. package/distTs/src/input.js +15 -4
  43. package/distTs/src/texts.js +155 -1
  44. package/distTs/src/tunnel/cfg.js +38 -0
  45. package/package.json +4 -3
  46. package/distTs/src/command/agent/standalone/kill.js +0 -22
  47. package/distTs/src/command/agent/standalone.js +0 -136
  48. package/distTs/src/command/vt/scrap.js +0 -193
@@ -0,0 +1,36 @@
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 create_1 = __importDefault(require("./sandbox/create"));
9
+ const list_1 = __importDefault(require("./sandbox/list"));
10
+ const get_1 = __importDefault(require("./sandbox/get"));
11
+ const destroy_1 = __importDefault(require("./sandbox/destroy"));
12
+ const start_1 = __importDefault(require("./sandbox/start"));
13
+ const stop_1 = __importDefault(require("./sandbox/stop"));
14
+ const restart_1 = __importDefault(require("./sandbox/restart"));
15
+ const status_1 = __importDefault(require("./sandbox/status"));
16
+ const exec_1 = __importDefault(require("./sandbox/exec"));
17
+ const cp_1 = __importDefault(require("./sandbox/cp"));
18
+ const command_1 = __importDefault(require("./sandbox/command"));
19
+ const snapshot_1 = __importDefault(require("./sandbox/snapshot"));
20
+ const endpoint_1 = __importDefault(require("./sandbox/endpoint"));
21
+ const commandSandbox = (0, utils_1.newCommand)('sandbox', texts_1.DESC_COMMAND_SANDBOX);
22
+ commandSandbox.alias('sb');
23
+ commandSandbox.addCommand(create_1.default);
24
+ commandSandbox.addCommand(list_1.default);
25
+ commandSandbox.addCommand(get_1.default);
26
+ commandSandbox.addCommand(destroy_1.default);
27
+ commandSandbox.addCommand(start_1.default);
28
+ commandSandbox.addCommand(stop_1.default);
29
+ commandSandbox.addCommand(restart_1.default);
30
+ commandSandbox.addCommand(status_1.default);
31
+ commandSandbox.addCommand(exec_1.default);
32
+ commandSandbox.addCommand(cp_1.default);
33
+ commandSandbox.addCommand(command_1.default);
34
+ commandSandbox.addCommand(snapshot_1.default);
35
+ commandSandbox.addCommand(endpoint_1.default);
36
+ exports.default = commandSandbox;
@@ -0,0 +1,57 @@
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 client_1 = __importDefault(require("../../api/client"));
9
+ const texts_1 = require("../../texts");
10
+ const utils_1 = require("../../utils");
11
+ const commandWorkspaceList = (0, utils_1.newCommand)('list', texts_1.DESC_COMMAND_WORKSPACE_LIST);
12
+ commandWorkspaceList.alias('ls');
13
+ commandWorkspaceList.action(async () => {
14
+ const token = cfg_1.default.getToken();
15
+ if (!token) {
16
+ output_1.default.exitError(texts_1.ERR_WORKSPACE_NOT_LOGGED_IN);
17
+ }
18
+ const baseUrl = cfg_1.default.getBaseUrl();
19
+ const region = cfg_1.default.getRegion();
20
+ const currentWorkspace = cfg_1.default.getWorkspace();
21
+ let apiUrl;
22
+ if (baseUrl) {
23
+ apiUrl = baseUrl;
24
+ }
25
+ else if (region?.toLowerCase() === 'eu') {
26
+ apiUrl = 'api.eu.buddy.works';
27
+ }
28
+ else {
29
+ apiUrl = 'api.buddy.works';
30
+ }
31
+ try {
32
+ const client = new client_1.default(new URL(`https://${apiUrl}`), token);
33
+ const response = await client.getWorkspaces();
34
+ if (!response.workspaces || response.workspaces.length === 0) {
35
+ output_1.default.normal('No workspaces found.');
36
+ process.exit(0);
37
+ }
38
+ const data = [['NAME', 'DOMAIN', '']];
39
+ for (const ws of response.workspaces) {
40
+ const isCurrent = ws.domain === currentWorkspace;
41
+ data.push([
42
+ ws.name,
43
+ ws.domain,
44
+ isCurrent ? '(current)' : '',
45
+ ]);
46
+ }
47
+ output_1.default.table(data);
48
+ if (currentWorkspace) {
49
+ output_1.default.normal(`\n${(0, texts_1.TXT_WORKSPACE_CURRENT)(currentWorkspace)}`);
50
+ }
51
+ process.exit(0);
52
+ }
53
+ catch (err) {
54
+ output_1.default.exitError(err);
55
+ }
56
+ });
57
+ exports.default = commandWorkspaceList;
@@ -0,0 +1,81 @@
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
+ // @ts-ignore
7
+ const termkit_no_lazy_require_1 = __importDefault(require("terminal-kit/lib/termkit-no-lazy-require"));
8
+ const cfg_1 = __importDefault(require("../../tunnel/cfg"));
9
+ const output_1 = __importDefault(require("../../output"));
10
+ const client_1 = __importDefault(require("../../api/client"));
11
+ const texts_1 = require("../../texts");
12
+ const utils_1 = require("../../utils");
13
+ const terminal = termkit_no_lazy_require_1.default.terminal;
14
+ // Handle Ctrl+C and ESC
15
+ terminal.on('key', (key) => {
16
+ if (key === 'CTRL_C' || key === 'ESCAPE') {
17
+ terminal.grabInput(false);
18
+ terminal('\nCanceled\n');
19
+ process.exit(0);
20
+ }
21
+ });
22
+ async function selectWorkspace(workspaces, currentDomain) {
23
+ terminal(`${texts_1.TXT_LOGIN_SELECT_WORKSPACE}\n`);
24
+ const items = workspaces.map((w) => {
25
+ const isCurrent = w.domain === currentDomain;
26
+ return `${w.name} (${w.domain})${isCurrent ? ' (current)' : ''}`;
27
+ });
28
+ return new Promise((resolve) => {
29
+ terminal.singleColumnMenu(items, (error, response) => {
30
+ terminal('\n');
31
+ resolve(workspaces[response.selectedIndex]);
32
+ });
33
+ });
34
+ }
35
+ const commandWorkspaceSet = (0, utils_1.newCommand)('set', texts_1.DESC_COMMAND_WORKSPACE_SET);
36
+ commandWorkspaceSet.argument('[workspace]', 'Workspace domain to set');
37
+ commandWorkspaceSet.action(async (workspaceDomain) => {
38
+ const token = cfg_1.default.getToken();
39
+ if (!token) {
40
+ output_1.default.exitError(texts_1.ERR_WORKSPACE_NOT_LOGGED_IN);
41
+ }
42
+ const baseUrl = cfg_1.default.getBaseUrl();
43
+ const region = cfg_1.default.getRegion();
44
+ const currentWorkspace = cfg_1.default.getWorkspace();
45
+ let apiUrl;
46
+ if (baseUrl) {
47
+ apiUrl = baseUrl;
48
+ }
49
+ else if (region?.toLowerCase() === 'eu') {
50
+ apiUrl = 'api.eu.buddy.works';
51
+ }
52
+ else {
53
+ apiUrl = 'api.buddy.works';
54
+ }
55
+ try {
56
+ const client = new client_1.default(new URL(`https://${apiUrl}`), token);
57
+ const response = await client.getWorkspaces();
58
+ if (!response.workspaces || response.workspaces.length === 0) {
59
+ output_1.default.exitError(texts_1.ERR_LOGIN_NO_WORKSPACES);
60
+ }
61
+ let selectedWorkspace;
62
+ if (workspaceDomain) {
63
+ // Workspace provided as argument
64
+ const found = response.workspaces.find((w) => w.domain === workspaceDomain);
65
+ if (!found) {
66
+ output_1.default.exitError(`Workspace "${workspaceDomain}" not found`);
67
+ }
68
+ selectedWorkspace = found;
69
+ }
70
+ else {
71
+ // Interactive selection
72
+ selectedWorkspace = await selectWorkspace(response.workspaces, currentWorkspace);
73
+ }
74
+ cfg_1.default.setWorkspace(selectedWorkspace.domain);
75
+ output_1.default.exitSuccess((0, texts_1.TXT_WORKSPACE_SET_SUCCESS)(selectedWorkspace.domain));
76
+ }
77
+ catch (err) {
78
+ output_1.default.exitError(err);
79
+ }
80
+ });
81
+ exports.default = commandWorkspaceSet;
@@ -0,0 +1,14 @@
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 texts_1 = require("../texts");
7
+ const utils_1 = require("../utils");
8
+ const list_1 = __importDefault(require("./workspace/list"));
9
+ const set_1 = __importDefault(require("./workspace/set"));
10
+ const commandWorkspace = (0, utils_1.newCommand)('workspace', texts_1.DESC_COMMAND_WORKSPACE);
11
+ commandWorkspace.alias('ws');
12
+ commandWorkspace.addCommand(list_1.default);
13
+ commandWorkspace.addCommand(set_1.default);
14
+ exports.default = commandWorkspace;
@@ -15,6 +15,11 @@ const vt_1 = __importDefault(require("./command/vt"));
15
15
  const ut_1 = __importDefault(require("./command/ut"));
16
16
  const tunnel_1 = __importDefault(require("./command/tunnel"));
17
17
  const pipeline_1 = __importDefault(require("./command/pipeline"));
18
+ const sandbox_1 = __importDefault(require("./command/sandbox"));
19
+ const login_1 = __importDefault(require("./command/login"));
20
+ const logout_1 = __importDefault(require("./command/logout"));
21
+ const workspace_1 = __importDefault(require("./command/workspace"));
22
+ const project_1 = __importDefault(require("./command/project"));
18
23
  stream_1.default.setDefaultHighWaterMark(false, 67108864);
19
24
  process.title = 'bdy';
20
25
  process.on('uncaughtException', (err) => {
@@ -33,4 +38,9 @@ program.addCommand(version_1.default);
33
38
  program.addCommand(vt_1.default);
34
39
  program.addCommand(ut_1.default);
35
40
  program.addCommand(pipeline_1.default);
41
+ program.addCommand(sandbox_1.default);
42
+ program.addCommand(login_1.default);
43
+ program.addCommand(logout_1.default);
44
+ program.addCommand(workspace_1.default);
45
+ program.addCommand(project_1.default);
36
46
  program.parse();
@@ -45,6 +45,7 @@ const crypto_1 = __importDefault(require("crypto"));
45
45
  const utils_1 = require("./utils");
46
46
  const texts_1 = require("./texts");
47
47
  const tunnel_1 = require("./types/tunnel");
48
+ const cfg_1 = __importDefault(require("./tunnel/cfg"));
48
49
  class Input {
49
50
  static timeout(timeout) {
50
51
  const t = parseInt(timeout, 10);
@@ -229,6 +230,8 @@ class Input {
229
230
  let t = process.env.BUDDY_TOKEN;
230
231
  if (token)
231
232
  t = token;
233
+ if (!t)
234
+ t = cfg_1.default.getToken();
232
235
  if (!t) {
233
236
  output_1.default.exitError(texts_1.ERR_REST_API_TOKEN);
234
237
  }
@@ -310,15 +313,19 @@ class Input {
310
313
  let u = process.env.BUDDY_API_ENDPOINT;
311
314
  if (api)
312
315
  u = api;
316
+ if (!u)
317
+ u = cfg_1.default.getBaseUrl();
313
318
  if (!u) {
314
319
  let r = process.env.BUDDY_REGION;
315
320
  if (region)
316
321
  r = region;
317
- if (r === 'eu')
322
+ if (!r)
323
+ r = cfg_1.default.getRegion();
324
+ if (r?.toLowerCase() === 'eu')
318
325
  u = 'api.eu.buddy.works';
319
- else if (r === 'as')
320
- u = 'api.as.buddy.works';
321
- else if (r === 'us')
326
+ else if (r?.toLowerCase() === 'as')
327
+ u = 'api.asia.buddy.works';
328
+ else if (r?.toLowerCase() === 'us')
322
329
  u = 'api.buddy.works';
323
330
  }
324
331
  if (!u)
@@ -345,6 +352,8 @@ class Input {
345
352
  let w = process.env.BUDDY_WORKSPACE;
346
353
  if (workspace)
347
354
  w = workspace;
355
+ if (!w)
356
+ w = cfg_1.default.getWorkspace();
348
357
  if (!w) {
349
358
  output_1.default.exitError(texts_1.ERR_REST_API_WORKSPACE);
350
359
  }
@@ -354,6 +363,8 @@ class Input {
354
363
  let p = process.env.BUDDY_PROJECT;
355
364
  if (project)
356
365
  p = project;
366
+ if (!p)
367
+ p = cfg_1.default.getProject();
357
368
  if (!p) {
358
369
  output_1.default.exitError(texts_1.ERR_REST_API_PROJECT);
359
370
  }
@@ -7,7 +7,9 @@ exports.OPTION_PIPELINE_RUN_REVISION = exports.OPTION_PIPELINE_RUN_TAG = exports
7
7
  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_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 = 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_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_PROJECT = exports.OPTION_REST_API_WORKSPACE = exports.OPTION_PIPELINE_RUN_WAIT = exports.OPTION_PIPELINE_RUN_ACTION = exports.OPTION_REST_API_TOKEN = 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 = void 0;
8
8
  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 = 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 = void 0;
9
9
  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 = 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_TARGET = 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 = void 0;
10
- exports.DEBUG_WAIT_FOR_IDLE_TIMEOUT = exports.DEBUG_WAIT_FOR_IDLE = void 0;
10
+ exports.DESC_COMMAND_SANDBOX_SNAPSHOT_GET = exports.DESC_COMMAND_SANDBOX_SNAPSHOT_CREATE = exports.DESC_COMMAND_SANDBOX_SNAPSHOT_LIST = exports.DESC_COMMAND_SANDBOX_SNAPSHOT = exports.ERR_SANDBOX_NO_COMMANDS = exports.TXT_SANDBOX_COMMAND_KILLED = exports.OPTION_SANDBOX_COMMAND_LAST = exports.OPTION_SANDBOX_COMMAND_FOLLOW = exports.OPTION_SANDBOX_COMMAND_ID = exports.DESC_COMMAND_SANDBOX_COMMAND_KILL = exports.DESC_COMMAND_SANDBOX_COMMAND_LOGS = exports.DESC_COMMAND_SANDBOX_COMMAND_STATUS = exports.DESC_COMMAND_SANDBOX_COMMAND_LIST = exports.DESC_COMMAND_SANDBOX_COMMAND = exports.TXT_SANDBOX_EXEC_FINISHED = exports.TXT_SANDBOX_WAITING = exports.TXT_SANDBOX_RESTARTED = exports.TXT_SANDBOX_STOPPED = exports.TXT_SANDBOX_STARTED = exports.TXT_SANDBOX_DESTROYED = exports.TXT_SANDBOX_CREATED = exports.ERR_SANDBOX_STOP_TIMEOUT = exports.ERR_SANDBOX_START_TIMEOUT = exports.ERR_SANDBOX_SETUP_FAILED = exports.ERR_SANDBOX_INVALID_RUNTIME = exports.ERR_SANDBOX_INVALID_RESOURCES = exports.ERR_SANDBOX_COMMAND_REQUIRED = exports.ERR_SANDBOX_IDENTIFIER_REQUIRED = exports.ERR_SANDBOX_NOT_FOUND = exports.OPTION_SANDBOX_COMMAND = exports.OPTION_SANDBOX_DETACHED = exports.OPTION_SANDBOX_RUNTIME = exports.OPTION_SANDBOX_RUN_COMMAND = exports.OPTION_SANDBOX_INSTALL_COMMANDS = exports.OPTION_SANDBOX_RESOURCES = exports.OPTION_SANDBOX_OS = exports.OPTION_SANDBOX_NAME = exports.OPTION_SANDBOX_IDENTIFIER = 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_CREATE = exports.DESC_COMMAND_SANDBOX = exports.DEBUG_WAIT_FOR_IDLE_TIMEOUT = exports.DEBUG_WAIT_FOR_IDLE = void 0;
11
+ exports.TXT_LOGIN_ENTER_BASE_URL = exports.TXT_LOGIN_SELECT_REGION = exports.ERR_WORKSPACE_NOT_LOGGED_IN = exports.TXT_WORKSPACE_NONE = exports.TXT_WORKSPACE_SET_SUCCESS = exports.TXT_WORKSPACE_CURRENT = 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_SANDBOX_CP_INVALID_DEST = exports.ERR_SANDBOX_CP_SOURCE_NOT_FOUND = exports.TXT_SANDBOX_CP_DONE = exports.TXT_SANDBOX_CP_PROGRESS = exports.OPTION_SANDBOX_CP_SILENT = exports.OPTION_SANDBOX_CP_DEST = exports.OPTION_SANDBOX_CP_SOURCE = exports.DESC_COMMAND_SANDBOX_CP = exports.ERR_SANDBOX_ENDPOINT_NOT_FOUND = exports.ERR_SANDBOX_ENDPOINT_EXISTS = exports.TXT_SANDBOX_ENDPOINT_DELETED = exports.TXT_SANDBOX_ENDPOINT_UPDATED = exports.TXT_SANDBOX_ENDPOINT_ADDED = exports.OPTION_SANDBOX_ENDPOINT_PASSWORD = exports.OPTION_SANDBOX_ENDPOINT_USERNAME = exports.OPTION_SANDBOX_ENDPOINT_AUTH = exports.OPTION_SANDBOX_ENDPOINT_WHITELIST = exports.OPTION_SANDBOX_ENDPOINT_REGION = 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_UPDATE = 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_SNAPSHOT_NOT_FOUND = exports.ERR_SANDBOX_SNAPSHOT_FAILED = exports.TXT_SANDBOX_SNAPSHOT_WAITING = exports.TXT_SANDBOX_SNAPSHOT_DELETED = exports.TXT_SANDBOX_SNAPSHOT_CREATED = exports.OPTION_SANDBOX_FROM_SNAPSHOT = exports.OPTION_SANDBOX_SNAPSHOT_DESCRIPTION = exports.OPTION_SANDBOX_SNAPSHOT_NAME_ARG = exports.OPTION_SANDBOX_SNAPSHOT_NAME = exports.DESC_COMMAND_SANDBOX_SNAPSHOT_DELETE = void 0;
12
+ exports.ERR_PROJECT_NO_PROJECTS = exports.ERR_PROJECT_NOT_FOUND = exports.TXT_LOGIN_SELECT_PROJECT = exports.TXT_PROJECT_SELECT_OPTIONAL = exports.TXT_PROJECT_SELECT = exports.TXT_PROJECT_NONE = exports.TXT_PROJECT_SET_SUCCESS = exports.TXT_PROJECT_CURRENT = exports.DESC_COMMAND_PROJECT_SET = exports.DESC_COMMAND_PROJECT_LIST = exports.DESC_COMMAND_PROJECT = exports.ERR_LOGIN_INVALID_BASE_URL = exports.ERR_LOGIN_NO_WORKSPACES = exports.ERR_LOGIN_INVALID_TOKEN = exports.TXT_LOGIN_VERIFYING = exports.TXT_LOGIN_SUCCESS = exports.TXT_LOGIN_SELECT_WORKSPACE = exports.TXT_LOGIN_ENTER_TOKEN = exports.TXT_LOGIN_TOKEN_INFO = void 0;
11
13
  const utils_1 = require("./utils");
12
14
  exports.ERR_REST_API_GENERAL_ERROR = 'Something went wrong';
13
15
  exports.ERR_REST_API_WRONG_TOKEN = 'Valid token with proper scopes is required';
@@ -429,3 +431,155 @@ exports.DEBUG_RESOURCE_DISCOVERY_TIMEOUT = DEBUG_RESOURCE_DISCOVERY_TIMEOUT;
429
431
  exports.DEBUG_WAIT_FOR_IDLE = 'Wait for network idle';
430
432
  const DEBUG_WAIT_FOR_IDLE_TIMEOUT = (timeout) => `Wait for network idle timeout after ${timeout}ms`;
431
433
  exports.DEBUG_WAIT_FOR_IDLE_TIMEOUT = DEBUG_WAIT_FOR_IDLE_TIMEOUT;
434
+ // Sandbox commands
435
+ exports.DESC_COMMAND_SANDBOX = 'Commands to interact with sandboxes';
436
+ exports.DESC_COMMAND_SANDBOX_CREATE = 'Create a new sandbox';
437
+ exports.DESC_COMMAND_SANDBOX_LIST = 'List all sandboxes';
438
+ exports.DESC_COMMAND_SANDBOX_GET = 'Get sandbox details';
439
+ exports.DESC_COMMAND_SANDBOX_DESTROY = 'Delete a sandbox';
440
+ exports.DESC_COMMAND_SANDBOX_START = 'Start a stopped sandbox';
441
+ exports.DESC_COMMAND_SANDBOX_STOP = 'Stop a running sandbox';
442
+ exports.DESC_COMMAND_SANDBOX_RESTART = 'Restart a sandbox';
443
+ exports.DESC_COMMAND_SANDBOX_STATUS = 'Get sandbox status';
444
+ exports.DESC_COMMAND_SANDBOX_EXEC = 'Execute a command in sandbox';
445
+ // Sandbox options
446
+ exports.OPTION_SANDBOX_IDENTIFIER = 'sandbox identifier';
447
+ exports.OPTION_SANDBOX_NAME = 'sandbox display name';
448
+ exports.OPTION_SANDBOX_OS = 'operating system image (default: ubuntu:24.04)';
449
+ exports.OPTION_SANDBOX_RESOURCES = 'resource allocation: 1x2, 2x4, 4x8, 8x16, 12x24 (CPUxRAM)';
450
+ exports.OPTION_SANDBOX_INSTALL_COMMANDS = 'setup commands to run on creation (can be used multiple times)';
451
+ exports.OPTION_SANDBOX_RUN_COMMAND = 'command to run on startup';
452
+ exports.OPTION_SANDBOX_RUNTIME = 'command runtime: BASH, JAVASCRIPT, TYPESCRIPT, PYTHON (default: BASH)';
453
+ exports.OPTION_SANDBOX_DETACHED = 'run command in background';
454
+ exports.OPTION_SANDBOX_COMMAND = 'command to execute';
455
+ // Sandbox errors
456
+ exports.ERR_SANDBOX_NOT_FOUND = 'Sandbox not found';
457
+ exports.ERR_SANDBOX_IDENTIFIER_REQUIRED = 'Sandbox identifier is required';
458
+ exports.ERR_SANDBOX_COMMAND_REQUIRED = 'Command is required';
459
+ const ERR_SANDBOX_INVALID_RESOURCES = (resources) => `Invalid resources: ${resources}. Use: 1x2, 2x4, 4x8, 8x16, 12x24`;
460
+ exports.ERR_SANDBOX_INVALID_RESOURCES = ERR_SANDBOX_INVALID_RESOURCES;
461
+ const ERR_SANDBOX_INVALID_RUNTIME = (runtime) => `Invalid runtime: ${runtime}. Use: BASH, JAVASCRIPT, TYPESCRIPT, PYTHON`;
462
+ exports.ERR_SANDBOX_INVALID_RUNTIME = ERR_SANDBOX_INVALID_RUNTIME;
463
+ exports.ERR_SANDBOX_SETUP_FAILED = 'Sandbox setup failed';
464
+ exports.ERR_SANDBOX_START_TIMEOUT = 'Timeout waiting for sandbox to start';
465
+ exports.ERR_SANDBOX_STOP_TIMEOUT = 'Timeout waiting for sandbox to stop';
466
+ // Sandbox success messages
467
+ const TXT_SANDBOX_CREATED = (identifier, htmlUrl) => htmlUrl ? `Sandbox created: ${identifier}\n${htmlUrl}` : `Sandbox created: ${identifier}`;
468
+ exports.TXT_SANDBOX_CREATED = TXT_SANDBOX_CREATED;
469
+ const TXT_SANDBOX_DESTROYED = (identifier) => `Sandbox destroyed: ${identifier}`;
470
+ exports.TXT_SANDBOX_DESTROYED = TXT_SANDBOX_DESTROYED;
471
+ const TXT_SANDBOX_STARTED = (identifier) => `Sandbox started: ${identifier}`;
472
+ exports.TXT_SANDBOX_STARTED = TXT_SANDBOX_STARTED;
473
+ const TXT_SANDBOX_STOPPED = (identifier) => `Sandbox stopped: ${identifier}`;
474
+ exports.TXT_SANDBOX_STOPPED = TXT_SANDBOX_STOPPED;
475
+ const TXT_SANDBOX_RESTARTED = (identifier) => `Sandbox restarted: ${identifier}`;
476
+ exports.TXT_SANDBOX_RESTARTED = TXT_SANDBOX_RESTARTED;
477
+ exports.TXT_SANDBOX_WAITING = 'Waiting for sandbox to be ready...';
478
+ const TXT_SANDBOX_EXEC_FINISHED = (exitCode) => `Command finished with exit code: ${exitCode}`;
479
+ exports.TXT_SANDBOX_EXEC_FINISHED = TXT_SANDBOX_EXEC_FINISHED;
480
+ // Sandbox command subcommands
481
+ exports.DESC_COMMAND_SANDBOX_COMMAND = 'Manage sandbox commands';
482
+ exports.DESC_COMMAND_SANDBOX_COMMAND_LIST = 'List all commands';
483
+ exports.DESC_COMMAND_SANDBOX_COMMAND_STATUS = 'Get command status';
484
+ exports.DESC_COMMAND_SANDBOX_COMMAND_LOGS = 'Get command logs';
485
+ exports.DESC_COMMAND_SANDBOX_COMMAND_KILL = 'Kill a running command';
486
+ exports.OPTION_SANDBOX_COMMAND_ID = 'command ID';
487
+ exports.OPTION_SANDBOX_COMMAND_FOLLOW = 'follow log output (stream)';
488
+ exports.OPTION_SANDBOX_COMMAND_LAST = 'show logs of the most recent command';
489
+ const TXT_SANDBOX_COMMAND_KILLED = (commandId) => `Command killed: ${commandId}`;
490
+ exports.TXT_SANDBOX_COMMAND_KILLED = TXT_SANDBOX_COMMAND_KILLED;
491
+ exports.ERR_SANDBOX_NO_COMMANDS = 'No commands found for this sandbox';
492
+ // Sandbox snapshot subcommands
493
+ exports.DESC_COMMAND_SANDBOX_SNAPSHOT = 'Manage sandbox snapshots';
494
+ exports.DESC_COMMAND_SANDBOX_SNAPSHOT_LIST = 'List snapshots';
495
+ exports.DESC_COMMAND_SANDBOX_SNAPSHOT_CREATE = 'Create a snapshot';
496
+ exports.DESC_COMMAND_SANDBOX_SNAPSHOT_GET = 'Get snapshot details';
497
+ exports.DESC_COMMAND_SANDBOX_SNAPSHOT_DELETE = 'Delete a snapshot';
498
+ exports.OPTION_SANDBOX_SNAPSHOT_NAME = 'snapshot name (optional, auto-generated if not provided)';
499
+ exports.OPTION_SANDBOX_SNAPSHOT_NAME_ARG = 'snapshot name';
500
+ exports.OPTION_SANDBOX_SNAPSHOT_DESCRIPTION = 'snapshot description';
501
+ exports.OPTION_SANDBOX_FROM_SNAPSHOT = 'create from snapshot name (instead of OS)';
502
+ const TXT_SANDBOX_SNAPSHOT_CREATED = (snapshotName) => `Snapshot created: ${snapshotName}`;
503
+ exports.TXT_SANDBOX_SNAPSHOT_CREATED = TXT_SANDBOX_SNAPSHOT_CREATED;
504
+ const TXT_SANDBOX_SNAPSHOT_DELETED = (snapshotName) => `Snapshot deleted: ${snapshotName}`;
505
+ exports.TXT_SANDBOX_SNAPSHOT_DELETED = TXT_SANDBOX_SNAPSHOT_DELETED;
506
+ exports.TXT_SANDBOX_SNAPSHOT_WAITING = 'Waiting for snapshot to be ready...';
507
+ exports.ERR_SANDBOX_SNAPSHOT_FAILED = 'Snapshot creation failed';
508
+ exports.ERR_SANDBOX_SNAPSHOT_NOT_FOUND = 'Snapshot not found';
509
+ // Sandbox endpoint subcommands
510
+ exports.DESC_COMMAND_SANDBOX_ENDPOINT = 'Manage sandbox endpoints';
511
+ exports.DESC_COMMAND_SANDBOX_ENDPOINT_LIST = 'List endpoints';
512
+ exports.DESC_COMMAND_SANDBOX_ENDPOINT_GET = 'Get endpoint details';
513
+ exports.DESC_COMMAND_SANDBOX_ENDPOINT_ADD = 'Add an endpoint';
514
+ exports.DESC_COMMAND_SANDBOX_ENDPOINT_UPDATE = 'Update an endpoint';
515
+ exports.DESC_COMMAND_SANDBOX_ENDPOINT_DELETE = 'Delete an endpoint';
516
+ exports.OPTION_SANDBOX_ENDPOINT_NAME = 'endpoint name';
517
+ exports.OPTION_SANDBOX_ENDPOINT_NAME_ARG = 'endpoint name';
518
+ exports.OPTION_SANDBOX_ENDPOINT_PORT = 'port number';
519
+ exports.OPTION_SANDBOX_ENDPOINT_TYPE = 'endpoint type (HTTP, TLS, or TCP)';
520
+ exports.OPTION_SANDBOX_ENDPOINT_REGION = 'endpoint region (EU or US)';
521
+ exports.OPTION_SANDBOX_ENDPOINT_WHITELIST = 'IP whitelist (CIDR notation, e.g. 192.168.1.0/24)';
522
+ exports.OPTION_SANDBOX_ENDPOINT_AUTH = 'auth type (NONE, BASIC, or BUDDY)';
523
+ exports.OPTION_SANDBOX_ENDPOINT_USERNAME = 'username for BASIC auth (auto-sets auth to BASIC)';
524
+ exports.OPTION_SANDBOX_ENDPOINT_PASSWORD = 'password for BASIC auth (auto-sets auth to BASIC)';
525
+ const TXT_SANDBOX_ENDPOINT_ADDED = (name, url) => url ? `Endpoint added: ${name}\n${url}` : `Endpoint added: ${name}`;
526
+ exports.TXT_SANDBOX_ENDPOINT_ADDED = TXT_SANDBOX_ENDPOINT_ADDED;
527
+ const TXT_SANDBOX_ENDPOINT_UPDATED = (name) => `Endpoint updated: ${name}`;
528
+ exports.TXT_SANDBOX_ENDPOINT_UPDATED = TXT_SANDBOX_ENDPOINT_UPDATED;
529
+ const TXT_SANDBOX_ENDPOINT_DELETED = (name) => `Endpoint deleted: ${name}`;
530
+ exports.TXT_SANDBOX_ENDPOINT_DELETED = TXT_SANDBOX_ENDPOINT_DELETED;
531
+ const ERR_SANDBOX_ENDPOINT_EXISTS = (name) => `Endpoint already exists: ${name}`;
532
+ exports.ERR_SANDBOX_ENDPOINT_EXISTS = ERR_SANDBOX_ENDPOINT_EXISTS;
533
+ exports.ERR_SANDBOX_ENDPOINT_NOT_FOUND = 'Endpoint not found';
534
+ // Sandbox cp command
535
+ exports.DESC_COMMAND_SANDBOX_CP = 'Copy files/directories to sandbox';
536
+ exports.OPTION_SANDBOX_CP_SOURCE = 'local file or directory path';
537
+ exports.OPTION_SANDBOX_CP_DEST = 'sandbox destination (sandbox-id:/path)';
538
+ exports.OPTION_SANDBOX_CP_SILENT = 'suppress progress output';
539
+ const TXT_SANDBOX_CP_PROGRESS = (current, total, file) => `[${current}/${total}] ${file}`;
540
+ exports.TXT_SANDBOX_CP_PROGRESS = TXT_SANDBOX_CP_PROGRESS;
541
+ const TXT_SANDBOX_CP_DONE = (count) => `Copied ${count} file(s)`;
542
+ exports.TXT_SANDBOX_CP_DONE = TXT_SANDBOX_CP_DONE;
543
+ const ERR_SANDBOX_CP_SOURCE_NOT_FOUND = (path) => `Source not found: ${path}`;
544
+ exports.ERR_SANDBOX_CP_SOURCE_NOT_FOUND = ERR_SANDBOX_CP_SOURCE_NOT_FOUND;
545
+ exports.ERR_SANDBOX_CP_INVALID_DEST = 'Invalid destination format. Use: sandbox-id:/path';
546
+ // Login command
547
+ exports.DESC_COMMAND_LOGIN = 'Log in to Buddy';
548
+ exports.DESC_COMMAND_LOGOUT = 'Log out from Buddy';
549
+ exports.TXT_LOGOUT_SUCCESS = 'Logged out successfully.';
550
+ // Workspace commands
551
+ exports.DESC_COMMAND_WORKSPACE = 'Manage workspaces';
552
+ exports.DESC_COMMAND_WORKSPACE_LIST = 'List available workspaces';
553
+ exports.DESC_COMMAND_WORKSPACE_SET = 'Set current workspace';
554
+ const TXT_WORKSPACE_CURRENT = (workspace) => `Current workspace: ${workspace}`;
555
+ exports.TXT_WORKSPACE_CURRENT = TXT_WORKSPACE_CURRENT;
556
+ const TXT_WORKSPACE_SET_SUCCESS = (workspace) => `Workspace set to: ${workspace}`;
557
+ exports.TXT_WORKSPACE_SET_SUCCESS = TXT_WORKSPACE_SET_SUCCESS;
558
+ exports.TXT_WORKSPACE_NONE = 'No workspace configured. Run "bdy login" first.';
559
+ exports.ERR_WORKSPACE_NOT_LOGGED_IN = 'Not logged in. Run "bdy login" first.';
560
+ exports.TXT_LOGIN_SELECT_REGION = 'Select region:';
561
+ exports.TXT_LOGIN_ENTER_BASE_URL = 'Enter your Buddy instance URL (e.g., buddy.company.com):';
562
+ const TXT_LOGIN_TOKEN_INFO = (url) => `Get your personal access token at: ${url}`;
563
+ exports.TXT_LOGIN_TOKEN_INFO = TXT_LOGIN_TOKEN_INFO;
564
+ exports.TXT_LOGIN_ENTER_TOKEN = 'Enter your personal access token:';
565
+ exports.TXT_LOGIN_SELECT_WORKSPACE = 'Select workspace:';
566
+ exports.TXT_LOGIN_SUCCESS = 'Logged in successfully!';
567
+ exports.TXT_LOGIN_VERIFYING = 'Verifying token...';
568
+ exports.ERR_LOGIN_INVALID_TOKEN = 'Invalid token. Please check and try again.';
569
+ exports.ERR_LOGIN_NO_WORKSPACES = 'No workspaces found for this token';
570
+ exports.ERR_LOGIN_INVALID_BASE_URL = 'Invalid URL format';
571
+ // Project commands
572
+ exports.DESC_COMMAND_PROJECT = 'Manage projects';
573
+ exports.DESC_COMMAND_PROJECT_LIST = 'List projects in current workspace';
574
+ exports.DESC_COMMAND_PROJECT_SET = 'Set current project';
575
+ const TXT_PROJECT_CURRENT = (project) => `Current project: ${project}`;
576
+ exports.TXT_PROJECT_CURRENT = TXT_PROJECT_CURRENT;
577
+ const TXT_PROJECT_SET_SUCCESS = (project) => `Project set to: ${project}`;
578
+ exports.TXT_PROJECT_SET_SUCCESS = TXT_PROJECT_SET_SUCCESS;
579
+ exports.TXT_PROJECT_NONE = 'No project configured.';
580
+ exports.TXT_PROJECT_SELECT = 'Select project:';
581
+ exports.TXT_PROJECT_SELECT_OPTIONAL = 'Select project (optional):';
582
+ exports.TXT_LOGIN_SELECT_PROJECT = 'Select project (optional):';
583
+ const ERR_PROJECT_NOT_FOUND = (project) => `Project "${project}" not found`;
584
+ exports.ERR_PROJECT_NOT_FOUND = ERR_PROJECT_NOT_FOUND;
585
+ exports.ERR_PROJECT_NO_PROJECTS = 'No projects found in this workspace';
@@ -202,6 +202,44 @@ class Cfg {
202
202
  getTimeout() {
203
203
  return this.json.timeout || utils_1.DEFAULT_TIMEOUT;
204
204
  }
205
+ setWorkspace(workspace) {
206
+ if (!workspace)
207
+ delete this.json.workspace;
208
+ else
209
+ this.json.workspace = workspace;
210
+ this.save();
211
+ }
212
+ getWorkspace() {
213
+ return this.json.workspace || '';
214
+ }
215
+ setBaseUrl(baseUrl) {
216
+ if (!baseUrl)
217
+ delete this.json.baseUrl;
218
+ else
219
+ this.json.baseUrl = baseUrl;
220
+ this.save();
221
+ }
222
+ getBaseUrl() {
223
+ return this.json.baseUrl || '';
224
+ }
225
+ clearLogin() {
226
+ delete this.json.token;
227
+ delete this.json.workspace;
228
+ delete this.json.project;
229
+ delete this.json.baseUrl;
230
+ delete this.json.region;
231
+ this.save();
232
+ }
233
+ setProject(project) {
234
+ if (!project)
235
+ delete this.json.project;
236
+ else
237
+ this.json.project = project;
238
+ this.save();
239
+ }
240
+ getProject() {
241
+ return this.json.project || '';
242
+ }
205
243
  getWhitelist() {
206
244
  return this.json.whitelist || [];
207
245
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bdy",
3
3
  "preferGlobal": false,
4
- "version": "1.16.11-dev",
4
+ "version": "1.16.11-sbs-1",
5
5
  "type": "commonjs",
6
6
  "license": "MIT",
7
7
  "scripts": {
@@ -31,6 +31,8 @@
31
31
  "eventsource": "4.0.0",
32
32
  "fastify": "4.28.1",
33
33
  "fdir": "6.5.0",
34
+ "fflate": "0.8.2",
35
+ "human-id": "^4.1.3",
34
36
  "isbinaryfile": "5.0.2",
35
37
  "jsonwebtoken": "9.0.2",
36
38
  "mime-db": "1.52.0",
@@ -52,8 +54,7 @@
52
54
  "uuid": "10.0.0",
53
55
  "which": "4.0.0",
54
56
  "ws": "8.18.0",
55
- "zod": "3.24.2",
56
- "fflate": "0.8.2"
57
+ "zod": "3.24.2"
57
58
  },
58
59
  "devDependencies": {
59
60
  "@eslint/js": "9.13.0",
@@ -1,22 +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 manager_1 = __importDefault(require("../../../agent/manager"));
9
- const output_1 = __importDefault(require("../../../output"));
10
- const commandAgentStandaloneKill = (0, utils_1.newCommand)('kill', texts_1.DESC_COMMAND_AGENT_STANDALONE_KILL);
11
- commandAgentStandaloneKill.action(async () => {
12
- const hasAdminRights = await manager_1.default.system.hasAdminRights();
13
- if (!hasAdminRights) {
14
- output_1.default.exitError(texts_1.ERR_AGENT_ADMIN_RIGHTS);
15
- }
16
- if (!manager_1.default.system.isStandaloneProcRunning()) {
17
- output_1.default.exitError(texts_1.ERR_AGENT_NOT_RUNNING);
18
- }
19
- manager_1.default.system.killStandaloneProc();
20
- output_1.default.exitSuccess(texts_1.TXT_AGENT_STANDALONE_STOPPED);
21
- });
22
- exports.default = commandAgentStandaloneKill;