bdy 1.17.19-dev → 1.17.21-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,14 +1,26 @@
1
1
  {
2
2
  "name": "bdy",
3
3
  "preferGlobal": false,
4
- "version": "1.17.19-dev",
4
+ "version": "1.17.21-dev",
5
5
  "type": "commonjs",
6
6
  "license": "MIT",
7
7
  "scripts": {
8
8
  "lint": "eslint \"*/**\"",
9
9
  "lint:types": "tsc --skipLibCheck --noEmit --project tsconfig.json",
10
10
  "watch": "tsc --watch --project tsconfig.json & tsc --watch --project src/visualTest/utils/tsconfig.json",
11
- "buildTs": "tsc --project tsconfig.json & tsc --project src/visualTest/utils/tsconfig.json"
11
+ "buildTs": "(tsc --project tsconfig.json & tsc --project src/visualTest/utils/tsconfig.json & wait) && cp package.json distTs/package.json",
12
+ "e2e": "npm run buildTs && vitest run --config e2e/vitest.config.ts",
13
+ "e2e:version": "vitest run --config e2e/vitest.config.ts e2e/modules/version/",
14
+ "e2e:tunnel-config": "vitest run --config e2e/vitest.config.ts e2e/modules/tunnel-config/",
15
+ "e2e:auth": "vitest run --config e2e/vitest.config.ts e2e/modules/auth/",
16
+ "e2e:workspace": "vitest run --config e2e/vitest.config.ts e2e/modules/workspace/",
17
+ "e2e:project": "vitest run --config e2e/vitest.config.ts e2e/modules/project/",
18
+ "e2e:package": "vitest run --config e2e/vitest.config.ts e2e/modules/package/",
19
+ "e2e:sandbox": "vitest run --config e2e/vitest.config.ts e2e/modules/sandbox/",
20
+ "e2e:api": "vitest run --config e2e/vitest.config.ts e2e/modules/api/",
21
+ "e2e:pipeline": "vitest run --config e2e/vitest.config.ts e2e/modules/pipeline/",
22
+ "e2e:tunnel": "vitest run --config e2e/vitest.config.ts e2e/modules/tunnel/",
23
+ "e2e:agent": "vitest run --config e2e/vitest.config.ts e2e/modules/agent/"
12
24
  },
13
25
  "files": [
14
26
  "distTs"
@@ -95,6 +107,7 @@
95
107
  "rollup": "4.24.2",
96
108
  "rollup-plugin-natives": "0.7.8",
97
109
  "typescript": "5.9.3",
98
- "typescript-eslint": "8.54.0"
110
+ "typescript-eslint": "8.54.0",
111
+ "vitest": "^3.0.0"
99
112
  }
100
113
  }
@@ -678,7 +678,7 @@ class ApiClient {
678
678
  }
679
679
  async createPackageVersionZip(workspace, pkgId, versionId, file) {
680
680
  const form = new undici_1.FormData();
681
- form.append('file', file);
681
+ form.append('file', file, 'file.zip');
682
682
  return await this.request({
683
683
  method: 'POST',
684
684
  path: `/workspaces/${encodeURIComponent(workspace)}/packages/${encodeURIComponent(pkgId)}/versions/${encodeURIComponent(versionId)}/upload`,
@@ -143,7 +143,7 @@ async function authorizeOAuth(api) {
143
143
  const { token, refreshToken } = await oauthServer(api, clientId, clientSecret);
144
144
  return { token, refreshToken, clientId, clientSecret, clientToken };
145
145
  }
146
- async function authorizeToken(api, token, refreshToken, clientId, clientSecret, clientToken, workspace, project) {
146
+ async function authorizeToken(api, token, refreshToken, clientId, clientSecret, clientToken, workspace) {
147
147
  cfg_1.default.setApiToken(token);
148
148
  cfg_1.default.setApiRefreshToken(refreshToken);
149
149
  const client = new client_1.default(new URL(`https://${api}`), token, refreshToken, clientId, clientSecret, clientToken);
@@ -161,14 +161,6 @@ async function authorizeToken(api, token, refreshToken, clientId, clientSecret,
161
161
  workspace = await output_1.default.selectWorkspace(w.workspaces);
162
162
  }
163
163
  cfg_1.default.setWorkspace(workspace);
164
- if (project) {
165
- await client.getProject(workspace, project);
166
- }
167
- else {
168
- const p = await client.getProjects(workspace);
169
- project = await output_1.default.selectProject(p.projects);
170
- }
171
- cfg_1.default.setProject(project);
172
164
  output_1.default.exitSuccess(texts_1.TXT_LOGIN_SUCCESS);
173
165
  }
174
166
  const commandLogin = (0, utils_1.newCommand)('login', texts_1.DESC_COMMAND_LOGIN);
@@ -176,7 +168,6 @@ commandLogin.option('--token <token>', texts_1.OPTION_REST_API_TOKEN);
176
168
  commandLogin.option('--api <url>', texts_1.OPTION_REST_API_ENDPOINT);
177
169
  commandLogin.option('--region <region>', texts_1.OPTION_REST_API_REGION);
178
170
  commandLogin.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
179
- commandLogin.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
180
171
  commandLogin.action(async (options) => {
181
172
  output_1.default.handleSignals();
182
173
  cfg_1.default.clearLogin();
@@ -184,7 +175,6 @@ commandLogin.action(async (options) => {
184
175
  let region = options.region || process.env.BUDDY_REGION;
185
176
  const token = options.token || process.env.BUDDY_TOKEN;
186
177
  const workspace = options.workspace || process.env.BUDDY_WORKSPACE;
187
- const project = options.project || process.env.BUDDY_PROJECT;
188
178
  if (api) {
189
179
  region = utils_1.REST_API_REGION.ONPREM;
190
180
  }
@@ -212,10 +202,10 @@ commandLogin.action(async (options) => {
212
202
  if (!token) {
213
203
  output_1.default.normal(texts_1.TXT_LOGIN_OAUTH);
214
204
  const { token, refreshToken, clientId, clientSecret, clientToken } = await authorizeOAuth(api);
215
- await authorizeToken(api, token, refreshToken, clientId, clientSecret, clientToken, workspace, project);
205
+ await authorizeToken(api, token, refreshToken, clientId, clientSecret, clientToken, workspace);
216
206
  }
217
207
  else {
218
- await authorizeToken(api, token, '', '', '', '', workspace, project);
208
+ await authorizeToken(api, token, '', '', '', '', workspace);
219
209
  }
220
210
  });
221
211
  exports.default = commandLogin;
@@ -16,7 +16,7 @@ commandProjectLink.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WO
16
16
  commandProjectLink.option('-r, --relink', texts_1.OPT_COMMAND_PROJECT_LINK_RELINK);
17
17
  commandProjectLink.option('-g, --git', texts_1.OPT_COMMAND_PROJECT_LINK_GIT);
18
18
  commandProjectLink.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
19
- commandProjectLink.argument('<directory>', texts_1.OPT_COMMAND_PROJECT_LINK_DIRECTORY);
19
+ commandProjectLink.argument('[directory]', texts_1.OPT_COMMAND_PROJECT_LINK_DIRECTORY);
20
20
  commandProjectLink.action(async (dir, options) => {
21
21
  output_1.default.handleSignals();
22
22
  const { path, git } = await checkPath(dir, options);
@@ -109,6 +109,8 @@ const initRepo = async (workspace, project, path, git, options) => {
109
109
  });
110
110
  };
111
111
  const checkPath = async (dir, options) => {
112
+ if (!dir)
113
+ dir = './';
112
114
  const path = (0, node_path_1.resolve)(dir);
113
115
  try {
114
116
  const stat = await node_fs_1.default.promises.stat(path);
@@ -6,15 +6,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const texts_1 = require("../texts");
7
7
  const utils_1 = require("../utils");
8
8
  const list_1 = __importDefault(require("./project/list"));
9
- const set_1 = __importDefault(require("./project/set"));
10
- const get_1 = __importDefault(require("./project/get"));
11
9
  const link_1 = __importDefault(require("./project/link"));
12
10
  const git_1 = __importDefault(require("./project/git"));
13
11
  const commandProject = (0, utils_1.newCommand)('project', texts_1.DESC_COMMAND_PROJECT);
14
12
  commandProject.alias('proj');
15
13
  commandProject.addCommand(list_1.default);
16
- commandProject.addCommand(set_1.default);
17
- commandProject.addCommand(get_1.default);
18
14
  commandProject.addCommand(link_1.default);
19
15
  commandProject.addCommand(git_1.default, { hidden: true });
20
16
  exports.default = commandProject;
@@ -7,9 +7,7 @@ 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 yaml_1 = __importDefault(require("./get/yaml"));
11
10
  const commandSandboxGet = (0, utils_1.newCommand)('get', texts_1.DESC_COMMAND_SANDBOX_GET);
12
- commandSandboxGet.addCommand(yaml_1.default);
13
11
  commandSandboxGet.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
14
12
  commandSandboxGet.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
15
13
  commandSandboxGet.argument('<identifier>', texts_1.OPTION_SANDBOX_IDENTIFIER);
@@ -0,0 +1,30 @@
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 commandSandboxYaml = (0, utils_1.newCommand)('yaml', texts_1.DESC_COMMAND_SANDBOX_GET_YAML);
11
+ commandSandboxYaml.hideVersionUpdate = true;
12
+ commandSandboxYaml.alias('yml');
13
+ commandSandboxYaml.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
14
+ commandSandboxYaml.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
15
+ commandSandboxYaml.argument('<identifier>', texts_1.OPTION_SANDBOX_IDENTIFIER);
16
+ commandSandboxYaml.action(async (identifier, options) => {
17
+ const workspace = input_1.default.restApiWorkspace(options.workspace);
18
+ const project = input_1.default.restApiProject(options.project);
19
+ const client = input_1.default.restApiTokenClient();
20
+ let result = await client.listSandboxes(workspace, project);
21
+ const sandboxes = result.sandboxes || [];
22
+ const found = sandboxes.find((s) => s.identifier === identifier);
23
+ if (!found) {
24
+ output_1.default.exitError(texts_1.ERR_SANDBOX_NOT_FOUND);
25
+ }
26
+ const sandboxId = found.id;
27
+ result = await client.getSandboxYaml(workspace, sandboxId);
28
+ output_1.default.exitNormal(Buffer.from(result.yaml, 'base64').toString('utf8'));
29
+ });
30
+ exports.default = commandSandboxYaml;
@@ -18,11 +18,13 @@ const snapshot_1 = __importDefault(require("./sandbox/snapshot"));
18
18
  const endpoint_1 = __importDefault(require("./sandbox/endpoint"));
19
19
  const exec_1 = __importDefault(require("./sandbox/exec"));
20
20
  const update_1 = __importDefault(require("./sandbox/update"));
21
+ const yaml_1 = __importDefault(require("./sandbox/yaml"));
21
22
  const commandSandbox = (0, utils_1.newCommand)('sandbox', texts_1.DESC_COMMAND_SANDBOX);
22
23
  commandSandbox.alias('sb');
23
24
  commandSandbox.addCommand(create_1.default);
24
25
  commandSandbox.addCommand(list_1.default);
25
26
  commandSandbox.addCommand(get_1.default);
27
+ commandSandbox.addCommand(yaml_1.default);
26
28
  commandSandbox.addCommand(update_1.default);
27
29
  commandSandbox.addCommand(destroy_1.default);
28
30
  commandSandbox.addCommand(start_1.default);
@@ -12,7 +12,6 @@ const cfg_2 = __importDefault(require("../project/cfg"));
12
12
  const commandWhoami = (0, utils_1.newCommand)('whoami', texts_1.DESC_COMMAND_WHOAMI);
13
13
  commandWhoami.action(async () => {
14
14
  const workspace = cfg_1.default.getWorkspace();
15
- const project = cfg_1.default.getProject();
16
15
  const localWorkspace = cfg_2.default.getWorkspace();
17
16
  const localProject = cfg_2.default.getProject();
18
17
  const client = input_1.default.restApiTokenClient();
@@ -22,10 +21,15 @@ commandWhoami.action(async () => {
22
21
  }
23
22
  const email = await (0, utils_1.tryGetEmail)(client);
24
23
  output_1.default.normal(`User: ${user.name}${email ? ` (${email})` : ''}`);
25
- output_1.default.normal(`Global workspace: ${!workspace ? texts_1.TXT_WHOAMI_NO_WORKSPACE : workspace}`);
26
- output_1.default.normal(`Global project: ${!project ? texts_1.TXT_WHOAMI_NO_PROJECT : project}`);
27
- output_1.default.normal(`Local workspace: ${!localWorkspace ? texts_1.TXT_WHOAMI_NO_LOCAL_LINK : localWorkspace}`);
28
- output_1.default.normal(`Local project: ${!localProject ? texts_1.TXT_WHOAMI_NO_LOCAL_LINK : localProject}`);
24
+ if (localWorkspace) {
25
+ output_1.default.normal(`Workspace: ${localWorkspace}`);
26
+ }
27
+ else {
28
+ output_1.default.normal(`Workspace: ${!workspace ? texts_1.TXT_WHOAMI_NO_WORKSPACE : workspace}`);
29
+ }
30
+ if (localProject) {
31
+ output_1.default.normal(`Project: ${localProject}`);
32
+ }
29
33
  output_1.default.exitNormal();
30
34
  });
31
35
  exports.default = commandWhoami;
@@ -643,8 +643,6 @@ class Input {
643
643
  p = project;
644
644
  if (!p)
645
645
  p = cfg_2.default.getProject();
646
- if (!p)
647
- p = cfg_1.default.getProject();
648
646
  if (!p) {
649
647
  if (allowNull)
650
648
  return null;
@@ -10,10 +10,10 @@ exports.LOG_AGENT_NSSM_EXTRACTING = exports.LOG_AGENT_NSSM_DOWNLOADING = exports
10
10
  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 = exports.LOG_REGION_DETECTED = exports.LOG_AGENT_REGISTERED = exports.LOG_SOCKET_DISCONNECTED = exports.LOG_SOCKET_CONNECTED = exports.LOG_AGENT_NSSM_CLEARING = void 0;
11
11
  exports.TXT_SANDBOX_STOPPED = exports.TXT_SANDBOX_STARTED = exports.TXT_SANDBOX_DESTROYED = exports.TXT_SANDBOX_DESTROY_CONFIRM = exports.TXT_SANDBOX_UPDATED = exports.TXT_SANDBOX_CREATED = exports.TXT_SANDBOX_CREATING = exports.OPTION_SANDBOX_WAIT = exports.OPTION_SANDBOX_WAIT_CONFIGURED = exports.OPTION_SANDBOX_WAIT_RUNNING = exports.ERR_SANDBOX_STOP_FAILED = exports.ERR_SANDBOX_NO_COMMANDS = exports.ERR_SANDBOX_RUNNING_FAILED = exports.ERR_SANDBOX_STOP_TIMEOUT = exports.ERR_SANDBOX_SNAPSHOT_TIMEOUT = exports.ERR_SANDBOX_RUNNING_TIMEOUT = exports.ERR_SANDBOX_SETUP_TIMEOUT = exports.ERR_SANDBOX_SETUP_FAILED = exports.ERR_SANDBOX_INVALID_RESOURCES = exports.ERR_SANDBOX_NOT_FOUND = exports.OPTION_SANDBOX_RUNTIME = exports.OPTION_SANDBOX_APP_TYPE = 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.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 = void 0;
12
12
  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 = 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 = void 0;
13
- 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.TXT_WHOAMI_NO_LOCAL_LINK = exports.ERR_WHOAMI_LOGOUT = exports.TXT_WHOAMI_NO_PROJECT = 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 = void 0;
14
- 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_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 = void 0;
15
- 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.TXT_PROJECT_NONE = exports.ERR_PROJECT_NO_PROJECTS = exports.TXT_LOGIN_SELECT_PROJECT = exports.TXT_PROJECT_SET_CLEARED = exports.TXT_PROJECT_SET_SUCCESS = exports.TXT_COMMAND_PROJECT_LINK_RANDOM = exports.TXT_COMMAND_PROJECT_LINK_NOT_FOUND = exports.TXT_COMMAND_PROJECT_LINK_NAME = exports.TXT_COMMAND_PROJECT_LINK_NEW = exports.ERR_COMMAND_PROJECT_LINK_DIR_NOT_DIR = exports.TXT_COMMAND_PROJECT_LINKED = 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_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_GET = exports.ARG_COMMAND_PROJECT_NAME = exports.DESC_COMMAND_PROJECT_SET = 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;
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 = void 0;
13
+ 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 = 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 = void 0;
14
+ 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_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 = void 0;
15
+ 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_LINK_RANDOM = exports.TXT_COMMAND_PROJECT_LINK_NOT_FOUND = exports.TXT_COMMAND_PROJECT_LINK_NAME = exports.TXT_COMMAND_PROJECT_LINK_NEW = exports.ERR_COMMAND_PROJECT_LINK_DIR_NOT_DIR = exports.TXT_COMMAND_PROJECT_LINKED = 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_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 = void 0;
16
+ exports.EXAMPLE_PACKAGE_VERSION_DELETE = 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...';
@@ -672,9 +672,7 @@ exports.TXT_SANDBOX_EXEC_FAILED = TXT_SANDBOX_EXEC_FAILED;
672
672
  // Whoami command
673
673
  exports.DESC_COMMAND_WHOAMI = 'Check login information';
674
674
  exports.TXT_WHOAMI_NO_WORKSPACE = 'Not set. Run `bdy ws set` to set a workspace';
675
- exports.TXT_WHOAMI_NO_PROJECT = 'Not set. Run `bdy proj set` to set a project';
676
675
  exports.ERR_WHOAMI_LOGOUT = 'Not logged in. Run `bdy login` to authenticate.';
677
- exports.TXT_WHOAMI_NO_LOCAL_LINK = 'Not set. Run `bdy project link`';
678
676
  // api command
679
677
  exports.DESC_COMMAND_API = 'Contact Buddy API directly';
680
678
  exports.DESC_COMMAND_API_LIST = 'List Buddy API endpoints';
@@ -822,9 +820,6 @@ exports.DESC_COMMAND_PROJECT = 'Manage projects';
822
820
  exports.DESC_COMMAND_PROJECT_GIT_CREDENTIAL = 'Git credential helper for Buddy';
823
821
  exports.DESC_COMMAND_PROJECT_GIT = 'Git helper for Buddy';
824
822
  exports.DESC_COMMAND_PROJECT_LIST = 'List projects in current workspace';
825
- exports.DESC_COMMAND_PROJECT_SET = 'Set current global project';
826
- exports.ARG_COMMAND_PROJECT_NAME = 'Project name to set';
827
- exports.DESC_COMMAND_PROJECT_GET = 'Get current global project';
828
823
  exports.DESC_COMMAND_PROJECT_LINK = 'Link directory with project in Buddy';
829
824
  exports.OPT_COMMAND_PROJECT_LINK_RELINK = 'Force relinking directory if already linked to project';
830
825
  exports.OPT_COMMAND_PROJECT_LINK_GIT = 'Force initialization of GIT repository';
@@ -844,13 +839,9 @@ const TXT_COMMAND_PROJECT_LINK_NOT_FOUND = (project) => `Project ${project} not
844
839
  exports.TXT_COMMAND_PROJECT_LINK_NOT_FOUND = TXT_COMMAND_PROJECT_LINK_NOT_FOUND;
845
840
  const TXT_COMMAND_PROJECT_LINK_RANDOM = (name) => `Generated project name: ${name}`;
846
841
  exports.TXT_COMMAND_PROJECT_LINK_RANDOM = TXT_COMMAND_PROJECT_LINK_RANDOM;
847
- const TXT_PROJECT_SET_SUCCESS = (project) => `Project set to: ${project}`;
848
- exports.TXT_PROJECT_SET_SUCCESS = TXT_PROJECT_SET_SUCCESS;
849
- exports.TXT_PROJECT_SET_CLEARED = 'Project cleared';
850
842
  const TXT_LOGIN_SELECT_PROJECT = (optional) => `Select project (${optional ? 'optional' : 'required'}):`;
851
843
  exports.TXT_LOGIN_SELECT_PROJECT = TXT_LOGIN_SELECT_PROJECT;
852
844
  exports.ERR_PROJECT_NO_PROJECTS = 'No projects found in this workspace';
853
- exports.TXT_PROJECT_NONE = 'No project configured. Run "bdy login" or "bdy project set" first.';
854
845
  // Examples
855
846
  exports.EXAMPLE_SANDBOX_CP = `
856
847
  EXAMPLES:
@@ -256,20 +256,9 @@ class Cfg {
256
256
  delete this.json.apiClientSecret;
257
257
  delete this.json.apiClientToken;
258
258
  delete this.json.workspace;
259
- delete this.json.project;
260
259
  delete this.json.baseUrl;
261
260
  this.save();
262
261
  }
263
- setProject(project) {
264
- if (!project)
265
- delete this.json.project;
266
- else
267
- this.json.project = project;
268
- this.save();
269
- }
270
- getProject() {
271
- return this.json.project || '';
272
- }
273
262
  getWhitelist() {
274
263
  return this.json.whitelist || [];
275
264
  }
package/package.json CHANGED
@@ -1,14 +1,26 @@
1
1
  {
2
2
  "name": "bdy",
3
3
  "preferGlobal": false,
4
- "version": "1.17.19-dev",
4
+ "version": "1.17.21-dev",
5
5
  "type": "commonjs",
6
6
  "license": "MIT",
7
7
  "scripts": {
8
8
  "lint": "eslint \"*/**\"",
9
9
  "lint:types": "tsc --skipLibCheck --noEmit --project tsconfig.json",
10
10
  "watch": "tsc --watch --project tsconfig.json & tsc --watch --project src/visualTest/utils/tsconfig.json",
11
- "buildTs": "tsc --project tsconfig.json & tsc --project src/visualTest/utils/tsconfig.json"
11
+ "buildTs": "(tsc --project tsconfig.json & tsc --project src/visualTest/utils/tsconfig.json & wait) && cp package.json distTs/package.json",
12
+ "e2e": "npm run buildTs && vitest run --config e2e/vitest.config.ts",
13
+ "e2e:version": "vitest run --config e2e/vitest.config.ts e2e/modules/version/",
14
+ "e2e:tunnel-config": "vitest run --config e2e/vitest.config.ts e2e/modules/tunnel-config/",
15
+ "e2e:auth": "vitest run --config e2e/vitest.config.ts e2e/modules/auth/",
16
+ "e2e:workspace": "vitest run --config e2e/vitest.config.ts e2e/modules/workspace/",
17
+ "e2e:project": "vitest run --config e2e/vitest.config.ts e2e/modules/project/",
18
+ "e2e:package": "vitest run --config e2e/vitest.config.ts e2e/modules/package/",
19
+ "e2e:sandbox": "vitest run --config e2e/vitest.config.ts e2e/modules/sandbox/",
20
+ "e2e:api": "vitest run --config e2e/vitest.config.ts e2e/modules/api/",
21
+ "e2e:pipeline": "vitest run --config e2e/vitest.config.ts e2e/modules/pipeline/",
22
+ "e2e:tunnel": "vitest run --config e2e/vitest.config.ts e2e/modules/tunnel/",
23
+ "e2e:agent": "vitest run --config e2e/vitest.config.ts e2e/modules/agent/"
12
24
  },
13
25
  "files": [
14
26
  "distTs"
@@ -95,6 +107,7 @@
95
107
  "rollup": "4.24.2",
96
108
  "rollup-plugin-natives": "0.7.8",
97
109
  "typescript": "5.9.3",
98
- "typescript-eslint": "8.54.0"
110
+ "typescript-eslint": "8.54.0",
111
+ "vitest": "^3.0.0"
99
112
  }
100
113
  }