@uipath/test-manager-tool 0.1.5 → 0.1.7

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 (3) hide show
  1. package/dist/index.js +139 -94
  2. package/dist/tool.js +139 -94
  3. package/package.json +49 -49
package/dist/tool.js CHANGED
@@ -4,25 +4,43 @@ var __getProtoOf = Object.getPrototypeOf;
4
4
  var __defProp = Object.defineProperty;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ function __accessProp(key) {
8
+ return this[key];
9
+ }
10
+ var __toESMCache_node;
11
+ var __toESMCache_esm;
7
12
  var __toESM = (mod, isNodeMode, target) => {
13
+ var canCache = mod != null && typeof mod === "object";
14
+ if (canCache) {
15
+ var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
16
+ var cached = cache.get(mod);
17
+ if (cached)
18
+ return cached;
19
+ }
8
20
  target = mod != null ? __create(__getProtoOf(mod)) : {};
9
21
  const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
10
22
  for (let key of __getOwnPropNames(mod))
11
23
  if (!__hasOwnProp.call(to, key))
12
24
  __defProp(to, key, {
13
- get: () => mod[key],
25
+ get: __accessProp.bind(mod, key),
14
26
  enumerable: true
15
27
  });
28
+ if (canCache)
29
+ cache.set(mod, to);
16
30
  return to;
17
31
  };
18
32
  var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
33
+ var __returnValue = (v) => v;
34
+ function __exportSetter(name, newValue) {
35
+ this[name] = __returnValue.bind(null, newValue);
36
+ }
19
37
  var __export = (target, all) => {
20
38
  for (var name in all)
21
39
  __defProp(target, name, {
22
40
  get: all[name],
23
41
  enumerable: true,
24
42
  configurable: true,
25
- set: (newValue) => all[name] = () => newValue
43
+ set: __exportSetter.bind(all, name)
26
44
  });
27
45
  };
28
46
  var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
@@ -4665,7 +4683,7 @@ class SimpleLogger {
4665
4683
  return 0 /* DEBUG */;
4666
4684
  }
4667
4685
  } catch {}
4668
- return 3 /* ERROR */;
4686
+ return DEFAULT_LOG_LEVEL;
4669
4687
  }
4670
4688
  static parseLevel(value) {
4671
4689
  switch (value.toLowerCase()) {
@@ -4812,7 +4830,7 @@ function configureLogger(config) {
4812
4830
  logger.setLogFile(config.logFile);
4813
4831
  }
4814
4832
  }
4815
- var GLOBAL_KEY = "__uipcli_log_file_path__", LogLevel, logger;
4833
+ var GLOBAL_KEY = "__uipcli_log_file_path__", LogLevel, DEFAULT_LOG_LEVEL = 3 /* ERROR */, logger;
4816
4834
  var init_logger = __esm(() => {
4817
4835
  init_output_context();
4818
4836
  ((LogLevel2) => {
@@ -5089,7 +5107,7 @@ var init_telemetry = __esm(() => {
5089
5107
  init_logger_telemetry_provider();
5090
5108
  init_node_appinsights_telemetry_provider();
5091
5109
  sessionId = getOrCreateSessionId();
5092
- DEFAULT_AI_CONNECTION_STRING = Buffer.from("SW5zdHJ1bWVudGF0aW9uS2V5PTYwNjQ5ZGY3LTk4ZmYtNDk2My1iMWQ0LWE3MGQwMzA2MTc0ZjtJbmdlc3Rpb25FbmRwb2ludD1odHRwczovL3dlc3RldXJvcGUtNS5pbi5hcHBsaWNhdGlvbmluc2lnaHRzLmF6dXJlLmNvbS87TGl2ZUVuZHBvaW50PWh0dHBzOi8vd2VzdGV1cm9wZS5saXZlZGlhZ25vc3RpY3MubW9uaXRvci5henVyZS5jb20vO0FwcGxpY2F0aW9uSWQ9ZjlmYWNiNTctM2QxMS00Njc4LWJiOGItMDI0YmJhYmM1Y2Fl", "base64").toString("utf-8");
5110
+ DEFAULT_AI_CONNECTION_STRING = Buffer.from("SW5zdHJ1bWVudGF0aW9uS2V5PTliZDM3NDgyLTgxMGUtNDQyYS1hYWE2LWQzOGVmNjVjNjY3NDtJbmdlc3Rpb25FbmRwb2ludD1odHRwczovL3dlc3RldXJvcGUtNS5pbi5hcHBsaWNhdGlvbmluc2lnaHRzLmF6dXJlLmNvbS87TGl2ZUVuZHBvaW50PWh0dHBzOi8vd2VzdGV1cm9wZS5saXZlZGlhZ25vc3RpY3MubW9uaXRvci5henVyZS5jb20vO0FwcGxpY2F0aW9uSWQ9MzU2OTdlZjEtOGJkMC00ZjE5LWEyN2MtZDg3Y2NhYzY2ZDJj", "base64").toString("utf-8");
5093
5111
  telemetry = new Proxy({}, {
5094
5112
  get(_, prop) {
5095
5113
  const instance = getTelemetryInstance();
@@ -5103,7 +5121,7 @@ var init_telemetry = __esm(() => {
5103
5121
  var CommonTelemetryEvents;
5104
5122
  var init_telemetry_events = __esm(() => {
5105
5123
  CommonTelemetryEvents = {
5106
- Error: "Error"
5124
+ Error: "uip.error"
5107
5125
  };
5108
5126
  });
5109
5127
 
@@ -5169,11 +5187,6 @@ function logOutput(data, format = "table") {
5169
5187
  printOutput(data, format, (msg) => sink.writeOut(`${msg}
5170
5188
  `));
5171
5189
  }
5172
- function errorOutput(data, format = "table") {
5173
- const sink = getOutputSink();
5174
- printOutput(data, format, (msg) => sink.writeErr(`${msg}
5175
- `));
5176
- }
5177
5190
  function printTable(data, logFn = console.log, externalLogValue) {
5178
5191
  if (data.length === 0)
5179
5192
  return;
@@ -5236,7 +5249,7 @@ var init_formatter = __esm(() => {
5236
5249
  result: data.Result,
5237
5250
  message: data.Message
5238
5251
  });
5239
- errorOutput(data, getOutputFormat());
5252
+ logOutput(data, getOutputFormat());
5240
5253
  }
5241
5254
  OutputFormatter.error = error;
5242
5255
  function log(data) {
@@ -5274,6 +5287,12 @@ var init_command_help = __esm(() => {
5274
5287
  init_output_format_context();
5275
5288
  });
5276
5289
 
5290
+ // ../common/src/constants.ts
5291
+ var UIPATH_HOME_DIR = ".uipath", AUTH_FILENAME = ".auth", CONFIG_FILENAME = "config.json", LOCAL_CONFIG_FILENAME = "uipath.config.json", DEFAULT_BASE_URL = "https://cloud.uipath.com", DEFAULT_AUTH_TIMEOUT_MS;
5292
+ var init_constants = __esm(() => {
5293
+ DEFAULT_AUTH_TIMEOUT_MS = 5 * 60 * 1000;
5294
+ });
5295
+
5277
5296
  // ../../node_modules/jsonpath-plus/dist/index-node-esm.js
5278
5297
  import vm from "vm";
5279
5298
 
@@ -6680,12 +6699,35 @@ var init_jsonpath = __esm(() => {
6680
6699
  });
6681
6700
  // ../common/src/trackedAction.ts
6682
6701
  import { Command } from "commander";
6702
+ function deriveCommandPath(cmd) {
6703
+ const parts = [];
6704
+ let current = cmd;
6705
+ while (current) {
6706
+ const name = current.name();
6707
+ if (name) {
6708
+ parts.unshift(name);
6709
+ }
6710
+ current = current.parent;
6711
+ }
6712
+ if (parts.length > 1) {
6713
+ parts.shift();
6714
+ }
6715
+ return ["uip", ...parts.filter((p) => p !== "uip")].join(".");
6716
+ }
6717
+ var processContext;
6683
6718
  var init_trackedAction = __esm(() => {
6684
6719
  init_formatter();
6685
6720
  init_logger();
6686
6721
  init_telemetry();
6687
- Command.prototype.trackedAction = function(context, telemetryName, fn, properties) {
6722
+ processContext = {
6723
+ exit: (code) => {
6724
+ process.exitCode = code;
6725
+ }
6726
+ };
6727
+ Command.prototype.trackedAction = function(context, fn, properties) {
6728
+ const command = this;
6688
6729
  return this.action(async (...args) => {
6730
+ const telemetryName = deriveCommandPath(command);
6689
6731
  const props = typeof properties === "function" ? properties(...args) : properties;
6690
6732
  const startTime = performance.now();
6691
6733
  let errorMessage;
@@ -6716,6 +6758,7 @@ var init_trackedAction = __esm(() => {
6716
6758
  var init_src = __esm(() => {
6717
6759
  init_node_appinsights_telemetry_provider();
6718
6760
  init_command_help();
6761
+ init_constants();
6719
6762
  init_formatter();
6720
6763
  init_jsonpath();
6721
6764
  init_logger();
@@ -6723,7 +6766,6 @@ var init_src = __esm(() => {
6723
6766
  init_output_format_context();
6724
6767
  init_registry();
6725
6768
  init_telemetry();
6726
- init_telemetry_events();
6727
6769
  init_trackedAction();
6728
6770
  });
6729
6771
 
@@ -7554,8 +7596,8 @@ var require_src = __commonJS((exports, module) => {
7554
7596
  // package.json
7555
7597
  var package_default = {
7556
7598
  name: "@uipath/test-manager-tool",
7557
- version: "0.1.5",
7558
- description: "uipcli plugin for managing UiPath Test Manager",
7599
+ version: "0.1.7",
7600
+ description: "Manage test cases, test sets, executions, and results.",
7559
7601
  private: false,
7560
7602
  maintainers: [
7561
7603
  "aoltean16",
@@ -7568,7 +7610,7 @@ var package_default = {
7568
7610
  directory: "packages/test-manager-tool"
7569
7611
  },
7570
7612
  publishConfig: {
7571
- registry: "https://npm.pkg.github.com/@uipath"
7613
+ registry: "https://registry.npmjs.org/"
7572
7614
  },
7573
7615
  keywords: [
7574
7616
  "uipcli-tool"
@@ -9638,6 +9680,12 @@ var OUTPUT_DIR = join2(process.cwd(), "generated");
9638
9680
  var TEMP_DIR = join2(process.cwd(), "temp");
9639
9681
  var GENERATE_DIR = join2(process.cwd(), "swagger");
9640
9682
  if (false) {}
9683
+ // ../auth/src/index.ts
9684
+ init_src();
9685
+
9686
+ // ../auth/src/config.ts
9687
+ init_src();
9688
+
9641
9689
  // ../auth/src/utils/loadConfig.ts
9642
9690
  init_src();
9643
9691
 
@@ -23224,11 +23272,11 @@ var loadConfigAsync = async () => {
23224
23272
  const fs7 = await getFs();
23225
23273
  let configPath = fs7.env.getenv("UIPATH_CONFIG_PATH");
23226
23274
  if (!configPath) {
23227
- const localPath = fs7.path.join(fs7.env.cwd(), "uipath.config.json");
23275
+ const localPath = fs7.path.join(fs7.env.cwd(), LOCAL_CONFIG_FILENAME);
23228
23276
  if (await fs7.exists(localPath)) {
23229
23277
  configPath = localPath;
23230
23278
  } else {
23231
- configPath = fs7.path.join(fs7.env.homedir(), ".uipcli", "config.json");
23279
+ configPath = fs7.path.join(fs7.env.homedir(), UIPATH_HOME_DIR, CONFIG_FILENAME);
23232
23280
  }
23233
23281
  }
23234
23282
  if (!await fs7.exists(configPath)) {
@@ -23261,7 +23309,6 @@ Please ensure your config file contains valid JSON.`;
23261
23309
  };
23262
23310
 
23263
23311
  // ../auth/src/config.ts
23264
- var DEFAULT_BASE_URL = "https://cloud.uipath.com";
23265
23312
  var DEFAULT_CLIENT_ID = "36dea5b8-e8bb-423d-8e7b-c808df8f1c00";
23266
23313
 
23267
23314
  class InvalidBaseUrlError extends Error {
@@ -23356,10 +23403,10 @@ init_src2();
23356
23403
 
23357
23404
  // ../auth/src/telemetry-events.ts
23358
23405
  var AuthTelemetryEvents = {
23359
- Login: "Auth.Login",
23360
- TenantSelected: "Auth.TenantSelected",
23361
- TokenRefresh: "Auth.TokenRefresh",
23362
- Logout: "Auth.Logout"
23406
+ Login: "uip.auth.login",
23407
+ TenantSelected: "uip.auth.tenant-selected",
23408
+ TokenRefresh: "uip.auth.token-refresh",
23409
+ Logout: "uip.auth.logout"
23363
23410
  };
23364
23411
 
23365
23412
  // ../auth/src/tenantSelection.ts
@@ -23880,9 +23927,7 @@ var Qe = `${t("gray", h)} `;
23880
23927
  // ../auth/src/utils/envFile.ts
23881
23928
  init_src();
23882
23929
  init_src2();
23883
- var DEFAULT_AUTH_FILENAME = ".auth";
23884
- var DEFAULT_AUTH_DIR = ".uipath";
23885
- var DEFAULT_ENV_FILENAME = `${DEFAULT_AUTH_DIR}/${DEFAULT_AUTH_FILENAME}`;
23930
+ var DEFAULT_ENV_FILENAME = `${UIPATH_HOME_DIR}/${AUTH_FILENAME}`;
23886
23931
  var resolveEnvFilePathAsync = async (envFilePath = DEFAULT_ENV_FILENAME) => {
23887
23932
  const fs7 = getFileSystem();
23888
23933
  if (fs7.path.isAbsolute(envFilePath)) {
@@ -24345,7 +24390,7 @@ var registerAttachmentCommand = (program) => {
24345
24390
  attachmentCmd.command("download").description("Download attachments for test cases in an execution.").requiredOption("--execution-id <uuid>", "Test execution UUID to download attachments for").option("--project-key <key>", "Test Manager project key (e.g. DEMO)").option("--test-set-key <key>", "Test set key to derive project key from (e.g. DEMO:42 → DEMO)").option("--test-case-name <name>", "Filter by test case name (case-insensitive substring). Can be repeated for multiple names.", (val, acc) => {
24346
24391
  acc.push(val);
24347
24392
  return acc;
24348
- }, []).option("--only-failed", "Download attachments only for failed test cases").option("--result-path <path>", "Output directory for downloaded files (default: current directory)", ".").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").action(async (options) => {
24393
+ }, []).option("--only-failed", "Download attachments only for failed test cases").option("--result-path <path>", "Output directory for downloaded files (default: current directory)", ".").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").trackedAction(processContext, async (options) => {
24349
24394
  const ctx = await resolveCommandContext(options);
24350
24395
  if (!ctx)
24351
24396
  return;
@@ -24430,7 +24475,7 @@ var registerAttachmentCommand = (program) => {
24430
24475
  Message: message,
24431
24476
  Instructions: details
24432
24477
  }, format);
24433
- process.exitCode = 1;
24478
+ processContext.exit(1);
24434
24479
  }
24435
24480
  });
24436
24481
  };
@@ -24499,7 +24544,7 @@ function calcPassRate(passed, total) {
24499
24544
  // src/commands/execution.ts
24500
24545
  var registerExecutionCommand = (program) => {
24501
24546
  const executionCmd = program.command("execution").description("Manage Test Manager test executions");
24502
- executionCmd.command("retry").description("Retry only the failed test cases of a finished execution.").requiredOption("--execution-id <uuid>", "Test execution UUID to retry").option("--project-key <key>", "Test Manager project key (e.g. DEMO)").option("--test-set-key <key>", "Test set key to derive project key from (e.g. DEMO:42 → DEMO)").option("--execution-type <type>", "Execution type for the retry: automated, manual, mixed, none", "automated").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").action(async (options) => {
24547
+ executionCmd.command("retry").description("Retry only the failed test cases of a finished execution.").requiredOption("--execution-id <uuid>", "Test execution UUID to retry").option("--project-key <key>", "Test Manager project key (e.g. DEMO)").option("--test-set-key <key>", "Test set key to derive project key from (e.g. DEMO:42 → DEMO)").option("--execution-type <type>", "Execution type for the retry: automated, manual, mixed, none", "automated").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").trackedAction(processContext, async (options) => {
24503
24548
  const ctx = await resolveCommandContext(options);
24504
24549
  if (!ctx)
24505
24550
  return;
@@ -24518,7 +24563,7 @@ var registerExecutionCommand = (program) => {
24518
24563
  Result: "Failure",
24519
24564
  Message: `Execution '${executionId}' is not in a terminal state (current: ${currentStatus}). Wait for it to finish before retrying.`
24520
24565
  }, format);
24521
- process.exitCode = 1;
24566
+ processContext.exit(1);
24522
24567
  return;
24523
24568
  }
24524
24569
  const failedCount = currentStats.failed ?? 0;
@@ -24536,7 +24581,7 @@ var registerExecutionCommand = (program) => {
24536
24581
  Result: "Failure",
24537
24582
  Message: `No failed test case logs found for execution '${executionId}'.`
24538
24583
  }, format);
24539
- process.exitCode = 1;
24584
+ processContext.exit(1);
24540
24585
  return;
24541
24586
  }
24542
24587
  logger.info(`Found ${failedLogIds.length} failed test case log(s) to retry`);
@@ -24562,7 +24607,7 @@ var registerExecutionCommand = (program) => {
24562
24607
  Message: message,
24563
24608
  Instructions: details
24564
24609
  }, format);
24565
- process.exitCode = 1;
24610
+ processContext.exit(1);
24566
24611
  }
24567
24612
  });
24568
24613
  };
@@ -24595,7 +24640,7 @@ async function fetchAllFailedLogIds(api2, projectId, testExecutionId) {
24595
24640
  init_src();
24596
24641
  var registerProjectCommand = (program) => {
24597
24642
  const projectCmd = program.command("project").description("Manage Test Manager projects");
24598
- projectCmd.command("list").description("List all Test Manager projects.").option("--filter <text>", "Filter projects by name").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").action(async (options) => {
24643
+ projectCmd.command("list").description("List all Test Manager projects.").option("--filter <text>", "Filter projects by name").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").trackedAction(processContext, async (options) => {
24599
24644
  const ctx = await resolveBaseContext(options);
24600
24645
  if (!ctx)
24601
24646
  return;
@@ -24630,10 +24675,10 @@ var registerProjectCommand = (program) => {
24630
24675
  Message: message,
24631
24676
  Instructions: details
24632
24677
  }, format);
24633
- process.exitCode = 1;
24678
+ processContext.exit(1);
24634
24679
  }
24635
24680
  });
24636
- projectCmd.command("create").description("Create a new Test Manager project.").requiredOption("--name <name>", "Project name").requiredOption("--project-key <key>", "Project key / prefix (e.g. MYPROJ)").option("--description <text>", "Project description").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").action(async (options) => {
24681
+ projectCmd.command("create").description("Create a new Test Manager project.").requiredOption("--name <name>", "Project name").requiredOption("--project-key <key>", "Project key / prefix (e.g. MYPROJ)").option("--description <text>", "Project description").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").trackedAction(processContext, async (options) => {
24637
24682
  const ctx = await resolveBaseContext(options);
24638
24683
  if (!ctx)
24639
24684
  return;
@@ -24661,10 +24706,10 @@ var registerProjectCommand = (program) => {
24661
24706
  Message: message,
24662
24707
  Instructions: details
24663
24708
  }, format);
24664
- process.exitCode = 1;
24709
+ processContext.exit(1);
24665
24710
  }
24666
24711
  });
24667
- projectCmd.command("update").description("Update a Test Manager project name or description.").requiredOption("--project-key <key>", "Project key / prefix (e.g. MYPROJ)").option("--name <name>", "New project name").option("--description <text>", "New project description").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").action(async (options) => {
24712
+ projectCmd.command("update").description("Update a Test Manager project name or description.").requiredOption("--project-key <key>", "Project key / prefix (e.g. MYPROJ)").option("--name <name>", "New project name").option("--description <text>", "New project description").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").trackedAction(processContext, async (options) => {
24668
24713
  const ctx = await resolveBaseContext(options);
24669
24714
  if (!ctx)
24670
24715
  return;
@@ -24696,10 +24741,10 @@ var registerProjectCommand = (program) => {
24696
24741
  Message: message,
24697
24742
  Instructions: details
24698
24743
  }, format);
24699
- process.exitCode = 1;
24744
+ processContext.exit(1);
24700
24745
  }
24701
24746
  });
24702
- projectCmd.command("delete").description("Delete a Test Manager project by its key.").requiredOption("--project-key <key>", "Project key / prefix (e.g. MYPROJ)").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").action(async (options) => {
24747
+ projectCmd.command("delete").description("Delete a Test Manager project by its key.").requiredOption("--project-key <key>", "Project key / prefix (e.g. MYPROJ)").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").trackedAction(processContext, async (options) => {
24703
24748
  const ctx = await resolveBaseContext(options);
24704
24749
  if (!ctx)
24705
24750
  return;
@@ -24724,10 +24769,10 @@ var registerProjectCommand = (program) => {
24724
24769
  Message: message,
24725
24770
  Instructions: details
24726
24771
  }, format);
24727
- process.exitCode = 1;
24772
+ processContext.exit(1);
24728
24773
  }
24729
24774
  });
24730
- projectCmd.command("set-default-folder").description("Set the default Orchestrator folder for a project.").requiredOption("--project-key <key>", "Test Manager project key (e.g. LEO)").requiredOption("--folder-key <uuid>", "Orchestrator folder key UUID (from 'orch folders list')").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").action(async (options) => {
24775
+ projectCmd.command("set-default-folder").description("Set the default Orchestrator folder for a project.").requiredOption("--project-key <key>", "Test Manager project key (e.g. LEO)").requiredOption("--folder-key <uuid>", "Orchestrator folder key UUID (from 'orch folders list')").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").trackedAction(processContext, async (options) => {
24731
24776
  const ctx = await resolveCommandContext(options);
24732
24777
  if (!ctx)
24733
24778
  return;
@@ -24759,10 +24804,10 @@ var registerProjectCommand = (program) => {
24759
24804
  Message: message,
24760
24805
  Instructions: details
24761
24806
  }, format);
24762
- process.exitCode = 1;
24807
+ processContext.exit(1);
24763
24808
  }
24764
24809
  });
24765
- projectCmd.command("clear-default-folder").description("Clear the default Orchestrator folder from a project.").requiredOption("--project-key <key>", "Test Manager project key (e.g. LEO)").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").action(async (options) => {
24810
+ projectCmd.command("clear-default-folder").description("Clear the default Orchestrator folder from a project.").requiredOption("--project-key <key>", "Test Manager project key (e.g. LEO)").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").trackedAction(processContext, async (options) => {
24766
24811
  const ctx = await resolveCommandContext(options);
24767
24812
  if (!ctx)
24768
24813
  return;
@@ -24791,7 +24836,7 @@ var registerProjectCommand = (program) => {
24791
24836
  Message: message,
24792
24837
  Instructions: details
24793
24838
  }, format);
24794
- process.exitCode = 1;
24839
+ processContext.exit(1);
24795
24840
  }
24796
24841
  });
24797
24842
  };
@@ -24870,7 +24915,7 @@ function applyQuery(data, query) {
24870
24915
  // src/commands/report.ts
24871
24916
  var registerReportCommand = (program) => {
24872
24917
  const reportCmd = program.command("report").description("Manage Test Manager execution reports");
24873
- reportCmd.command("get").description("Get a summary report for a completed test execution.").requiredOption("--execution-id <uuid>", "Test execution UUID (from 'testset execute' output)").option("--project-key <key>", "Test Manager project key (e.g. DEMO)").option("--test-set-key <key>", "Test set key to derive project key from (e.g. DEMO:42 → project key DEMO)").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").option("--query <expr>", "jq-style filter applied to the output data — prints raw JSON, bypassing the envelope. " + "Supported: field access (.Field), object construction ({key: .Field}). " + 'Example: --query "{total: .TotalTests, passed: .Passed}"').action(async (options) => {
24918
+ reportCmd.command("get").description("Get a summary report for a completed test execution.").requiredOption("--execution-id <uuid>", "Test execution UUID (from 'testset execute' output)").option("--project-key <key>", "Test Manager project key (e.g. DEMO)").option("--test-set-key <key>", "Test set key to derive project key from (e.g. DEMO:42 → project key DEMO)").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").option("--query <expr>", "jq-style filter applied to the output data — prints raw JSON, bypassing the envelope. " + "Supported: field access (.Field), object construction ({key: .Field}). " + 'Example: --query "{total: .TotalTests, passed: .Passed}"').trackedAction(processContext, async (options) => {
24874
24919
  const ctx = await resolveCommandContext(options);
24875
24920
  if (!ctx)
24876
24921
  return;
@@ -24933,7 +24978,7 @@ var registerReportCommand = (program) => {
24933
24978
  Message: message,
24934
24979
  Instructions: details
24935
24980
  }, format);
24936
- process.exitCode = 1;
24981
+ processContext.exit(1);
24937
24982
  }
24938
24983
  });
24939
24984
  };
@@ -25064,7 +25109,7 @@ async function resolveOutputPath(resultPath, testSetName, format) {
25064
25109
  // src/commands/result.ts
25065
25110
  var registerResultCommand = (program) => {
25066
25111
  const resultCmd = program.command("result").description("Manage Test Manager execution results");
25067
- resultCmd.command("download").description("Download test execution results as JUnit XML.").requiredOption("--execution-id <uuid>", "Test execution UUID to download results for").option("--project-key <key>", "Test Manager project key (e.g. DEMO)").option("--test-set-key <key>", "Test set key to derive project key from (e.g. DEMO:42 → DEMO)").option("--result-path <path>", "Output file or directory (default: current working directory)").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").action(async (options) => {
25112
+ resultCmd.command("download").description("Download test execution results as JUnit XML.").requiredOption("--execution-id <uuid>", "Test execution UUID to download results for").option("--project-key <key>", "Test Manager project key (e.g. DEMO)").option("--test-set-key <key>", "Test set key to derive project key from (e.g. DEMO:42 → DEMO)").option("--result-path <path>", "Output file or directory (default: current working directory)").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").trackedAction(processContext, async (options) => {
25068
25113
  const ctx = await resolveCommandContext(options);
25069
25114
  if (!ctx)
25070
25115
  return;
@@ -25175,7 +25220,7 @@ var registerResultCommand = (program) => {
25175
25220
  Message: message,
25176
25221
  Instructions: details
25177
25222
  }, format);
25178
- process.exitCode = 1;
25223
+ processContext.exit(1);
25179
25224
  }
25180
25225
  });
25181
25226
  };
@@ -26823,7 +26868,7 @@ if (false) {}
26823
26868
  // src/commands/testcase.ts
26824
26869
  var registerTestcaseCommand = (program) => {
26825
26870
  const testcaseCmd = program.command("testcase").description("Manage Test Manager test cases");
26826
- testcaseCmd.command("create").description("Create a new test case in a Test Manager project.").requiredOption("--project-key <key>", "Test Manager project key (e.g. DEMO)").requiredOption("--name <name>", "Name of the test case").option("--description <text>", "Description for the test case").option("--version <version>", "Version of the test case", "1.0.0").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").action(async (options) => {
26871
+ testcaseCmd.command("create").description("Create a new test case in a Test Manager project.").requiredOption("--project-key <key>", "Test Manager project key (e.g. DEMO)").requiredOption("--name <name>", "Name of the test case").option("--description <text>", "Description for the test case").option("--version <version>", "Version of the test case", "1.0.0").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").trackedAction(processContext, async (options) => {
26827
26872
  const ctx = await resolveCommandContext(options);
26828
26873
  if (!ctx)
26829
26874
  return;
@@ -26853,10 +26898,10 @@ var registerTestcaseCommand = (program) => {
26853
26898
  Message: message,
26854
26899
  Instructions: details
26855
26900
  }, format);
26856
- process.exitCode = 1;
26901
+ processContext.exit(1);
26857
26902
  }
26858
26903
  });
26859
- testcaseCmd.command("list").description("List all test cases in a Test Manager project.").requiredOption("--project-key <key>", "Test Manager project key (e.g. LEO)").option("--filter <text>", "Filter test cases by name or key").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").action(async (options) => {
26904
+ testcaseCmd.command("list").description("List all test cases in a Test Manager project.").requiredOption("--project-key <key>", "Test Manager project key (e.g. LEO)").option("--filter <text>", "Filter test cases by name or key").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").trackedAction(processContext, async (options) => {
26860
26905
  const ctx = await resolveCommandContext(options);
26861
26906
  if (!ctx)
26862
26907
  return;
@@ -26895,10 +26940,10 @@ var registerTestcaseCommand = (program) => {
26895
26940
  Message: message,
26896
26941
  Instructions: details
26897
26942
  }, format);
26898
- process.exitCode = 1;
26943
+ processContext.exit(1);
26899
26944
  }
26900
26945
  });
26901
- testcaseCmd.command("delete").description("Delete a test case by its key.").requiredOption("--project-key <key>", "Test Manager project key (e.g. LEO)").requiredOption("--test-case-key <key>", "Test case object key (e.g. LEO-42)").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").action(async (options) => {
26946
+ testcaseCmd.command("delete").description("Delete a test case by its key.").requiredOption("--project-key <key>", "Test Manager project key (e.g. LEO)").requiredOption("--test-case-key <key>", "Test case object key (e.g. LEO-42)").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").trackedAction(processContext, async (options) => {
26902
26947
  const ctx = await resolveCommandContext(options);
26903
26948
  if (!ctx)
26904
26949
  return;
@@ -26918,7 +26963,7 @@ var registerTestcaseCommand = (program) => {
26918
26963
  Result: "Failure",
26919
26964
  Message: `Test case '${testCaseKey}' not found.`
26920
26965
  }, format);
26921
- process.exitCode = 1;
26966
+ processContext.exit(1);
26922
26967
  return;
26923
26968
  }
26924
26969
  await testCasesApi.testCasesDelete({
@@ -26937,10 +26982,10 @@ var registerTestcaseCommand = (program) => {
26937
26982
  Message: message,
26938
26983
  Instructions: details
26939
26984
  }, format);
26940
- process.exitCode = 1;
26985
+ processContext.exit(1);
26941
26986
  }
26942
26987
  });
26943
- testcaseCmd.command("link-automation").description("Link an Orchestrator package automation to a test case.").requiredOption("--project-key <key>", "Test Manager project key (e.g. LEO)").requiredOption("--test-case-key <key>", "Test case object key (e.g. LEO:2)").requiredOption("--folder-key <uuid>", "Orchestrator folder key UUID (from 'bun run start orch folders list')").requiredOption("--package-name <name>", "Orchestrator package identifier (e.g. ProjCSCrossTestCases)").requiredOption("--test-name <name>", "Test case name inside the package (e.g. MyLeoTest2)").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").action(async (options) => {
26988
+ testcaseCmd.command("link-automation").description("Link an Orchestrator package automation to a test case.").requiredOption("--project-key <key>", "Test Manager project key (e.g. LEO)").requiredOption("--test-case-key <key>", "Test case object key (e.g. LEO:2)").requiredOption("--folder-key <uuid>", "Orchestrator folder key UUID (from 'bun run start orch folders list')").requiredOption("--package-name <name>", "Orchestrator package identifier (e.g. ProjCSCrossTestCases)").requiredOption("--test-name <name>", "Test case name inside the package (e.g. MyLeoTest2)").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").trackedAction(processContext, async (options) => {
26944
26989
  const ctx = await resolveCommandContext(options);
26945
26990
  if (!ctx)
26946
26991
  return;
@@ -26961,7 +27006,7 @@ var registerTestcaseCommand = (program) => {
26961
27006
  Result: "Failure",
26962
27007
  Message: `Test case '${testCaseKey}' not found.`
26963
27008
  }, format);
26964
- process.exitCode = 1;
27009
+ processContext.exit(1);
26965
27010
  return;
26966
27011
  }
26967
27012
  const foldersApi = await createApiClient(FoldersApi, {
@@ -26977,7 +27022,7 @@ var registerTestcaseCommand = (program) => {
26977
27022
  Result: "Failure",
26978
27023
  Message: `Folder with key '${options.folderKey}' not found.`
26979
27024
  }, format);
26980
- process.exitCode = 1;
27025
+ processContext.exit(1);
26981
27026
  return;
26982
27027
  }
26983
27028
  const folderDisplayName = folderMatch.displayName;
@@ -26993,7 +27038,7 @@ var registerTestcaseCommand = (program) => {
26993
27038
  Result: "Failure",
26994
27039
  Message: `Test '${options.testName}' not found in package '${options.packageName}' for folder '${options.folderKey}'.`
26995
27040
  }, format);
26996
- process.exitCode = 1;
27041
+ processContext.exit(1);
26997
27042
  return;
26998
27043
  }
26999
27044
  const packageEntryPointUniqueId = entryPoint.packageEntryPointId;
@@ -27030,10 +27075,10 @@ var registerTestcaseCommand = (program) => {
27030
27075
  Message: message,
27031
27076
  Instructions: details
27032
27077
  }, format);
27033
- process.exitCode = 1;
27078
+ processContext.exit(1);
27034
27079
  }
27035
27080
  });
27036
- testcaseCmd.command("update").description("Update a test case name or description.").requiredOption("--project-key <key>", "Test Manager project key (e.g. LEO)").requiredOption("--test-case-key <key>", "Test case key (e.g. LEO:1)").option("--name <name>", "New test case name").option("--description <text>", "New test case description").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").action(async (options) => {
27081
+ testcaseCmd.command("update").description("Update a test case name or description.").requiredOption("--project-key <key>", "Test Manager project key (e.g. LEO)").requiredOption("--test-case-key <key>", "Test case key (e.g. LEO:1)").option("--name <name>", "New test case name").option("--description <text>", "New test case description").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").trackedAction(processContext, async (options) => {
27037
27082
  const ctx = await resolveCommandContext(options);
27038
27083
  if (!ctx)
27039
27084
  return;
@@ -27080,10 +27125,10 @@ var registerTestcaseCommand = (program) => {
27080
27125
  Message: message,
27081
27126
  Instructions: details
27082
27127
  }, format);
27083
- process.exitCode = 1;
27128
+ processContext.exit(1);
27084
27129
  }
27085
27130
  });
27086
- testcaseCmd.command("list-testsets").description("List test sets that contain a given test case.").requiredOption("--project-key <key>", "Test Manager project key (e.g. LEO)").requiredOption("--test-case-key <key>", "Test case key (e.g. LEO:1)").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").action(async (options) => {
27131
+ testcaseCmd.command("list-testsets").description("List test sets that contain a given test case.").requiredOption("--project-key <key>", "Test Manager project key (e.g. LEO)").requiredOption("--test-case-key <key>", "Test case key (e.g. LEO:1)").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").trackedAction(processContext, async (options) => {
27087
27132
  const ctx = await resolveCommandContext(options);
27088
27133
  if (!ctx)
27089
27134
  return;
@@ -27114,10 +27159,10 @@ var registerTestcaseCommand = (program) => {
27114
27159
  Message: message,
27115
27160
  Instructions: details
27116
27161
  }, format);
27117
- process.exitCode = 1;
27162
+ processContext.exit(1);
27118
27163
  }
27119
27164
  });
27120
- testcaseCmd.command("unlink-automation").description("Unlink the automation from a test case.").requiredOption("--project-key <key>", "Test Manager project key (e.g. LEO)").requiredOption("--test-case-key <key>", "Test case object key (e.g. LEO:2)").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").action(async (options) => {
27165
+ testcaseCmd.command("unlink-automation").description("Unlink the automation from a test case.").requiredOption("--project-key <key>", "Test Manager project key (e.g. LEO)").requiredOption("--test-case-key <key>", "Test case object key (e.g. LEO:2)").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").trackedAction(processContext, async (options) => {
27121
27166
  const ctx = await resolveCommandContext(options);
27122
27167
  if (!ctx)
27123
27168
  return;
@@ -27138,7 +27183,7 @@ var registerTestcaseCommand = (program) => {
27138
27183
  Result: "Failure",
27139
27184
  Message: `Test case '${testCaseKey}' not found.`
27140
27185
  }, format);
27141
- process.exitCode = 1;
27186
+ processContext.exit(1);
27142
27187
  return;
27143
27188
  }
27144
27189
  const updateRes = await fetch(`${tmBaseUrl}/api/v2/${projectId}/testcases/${testCase.id}/updatepackageautomation`, {
@@ -27171,10 +27216,10 @@ var registerTestcaseCommand = (program) => {
27171
27216
  Message: message,
27172
27217
  Instructions: details
27173
27218
  }, format);
27174
- process.exitCode = 1;
27219
+ processContext.exit(1);
27175
27220
  }
27176
27221
  });
27177
- testcaseCmd.command("list-automations").description("List test entry points available in an Orchestrator folder (use with link-automation).").requiredOption("--project-key <key>", "Test Manager project key (e.g. LEO)").requiredOption("--folder-key <uuid>", "Orchestrator folder key UUID (from 'uip orch folders list')").option("--package-name <name>", "Filter by package name (case-insensitive substring)").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").action(async (options) => {
27222
+ testcaseCmd.command("list-automations").description("List test entry points available in an Orchestrator folder (use with link-automation).").requiredOption("--project-key <key>", "Test Manager project key (e.g. LEO)").requiredOption("--folder-key <uuid>", "Orchestrator folder key UUID (from 'uip orch folders list')").option("--package-name <name>", "Filter by package name (case-insensitive substring)").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").trackedAction(processContext, async (options) => {
27178
27223
  const ctx = await resolveCommandContext(options);
27179
27224
  if (!ctx)
27180
27225
  return;
@@ -27214,7 +27259,7 @@ var registerTestcaseCommand = (program) => {
27214
27259
  Message: message,
27215
27260
  Instructions: details
27216
27261
  }, format);
27217
- process.exitCode = 1;
27262
+ processContext.exit(1);
27218
27263
  }
27219
27264
  });
27220
27265
  };
@@ -27224,7 +27269,7 @@ init_src();
27224
27269
  init_src2();
27225
27270
  var registerTestsetCommand = (program) => {
27226
27271
  const testsetCmd = program.command("testset").description("Manage Test Manager test sets");
27227
- testsetCmd.command("create").description("Create a new test set in a Test Manager project.").requiredOption("--project-key <key>", "Test Manager project key (e.g. DEMO)").requiredOption("--name <name>", "Name of the test set").option("--description <text>", "Description for the test set").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").action(async (options) => {
27272
+ testsetCmd.command("create").description("Create a new test set in a Test Manager project.").requiredOption("--project-key <key>", "Test Manager project key (e.g. DEMO)").requiredOption("--name <name>", "Name of the test set").option("--description <text>", "Description for the test set").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").trackedAction(processContext, async (options) => {
27228
27273
  const ctx = await resolveCommandContext(options);
27229
27274
  if (!ctx)
27230
27275
  return;
@@ -27252,10 +27297,10 @@ var registerTestsetCommand = (program) => {
27252
27297
  Message: message,
27253
27298
  Instructions: details
27254
27299
  }, format);
27255
- process.exitCode = 1;
27300
+ processContext.exit(1);
27256
27301
  }
27257
27302
  });
27258
- testsetCmd.command("delete").description("Delete a test set by its key.").requiredOption("--test-set-key <key>", "Test set object key (e.g. DEMO:42)").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").action(async (options) => {
27303
+ testsetCmd.command("delete").description("Delete a test set by its key.").requiredOption("--test-set-key <key>", "Test set object key (e.g. DEMO:42)").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").trackedAction(processContext, async (options) => {
27259
27304
  const ctx = await resolveCommandContext(options);
27260
27305
  if (!ctx)
27261
27306
  return;
@@ -27272,7 +27317,7 @@ var registerTestsetCommand = (program) => {
27272
27317
  Result: "Failure",
27273
27318
  Message: `Test set '${testSetKey}' not found.`
27274
27319
  }, format);
27275
- process.exitCode = 1;
27320
+ processContext.exit(1);
27276
27321
  return;
27277
27322
  }
27278
27323
  await testSetsApi.testSetsDelete({
@@ -27291,10 +27336,10 @@ var registerTestsetCommand = (program) => {
27291
27336
  Message: message,
27292
27337
  Instructions: details
27293
27338
  }, format);
27294
- process.exitCode = 1;
27339
+ processContext.exit(1);
27295
27340
  }
27296
27341
  });
27297
- testsetCmd.command("add-testcases").description("Add test cases to a test set.").requiredOption("--test-set-key <key>", "Test set object key (e.g. DEMO:42)").requiredOption("--test-case-keys <keys>", "Comma-separated test case keys to add (e.g. DEMO:1,DEMO:2)").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").action(async (options) => {
27342
+ testsetCmd.command("add-testcases").description("Add test cases to a test set.").requiredOption("--test-set-key <key>", "Test set object key (e.g. DEMO:42)").requiredOption("--test-case-keys <keys>", "Comma-separated test case keys to add (e.g. DEMO:1,DEMO:2)").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").trackedAction(processContext, async (options) => {
27298
27343
  const ctx = await resolveCommandContext(options);
27299
27344
  if (!ctx)
27300
27345
  return;
@@ -27313,7 +27358,7 @@ var registerTestsetCommand = (program) => {
27313
27358
  Result: "Failure",
27314
27359
  Message: `Test set '${testSetKey}' not found.`
27315
27360
  }, format);
27316
- process.exitCode = 1;
27361
+ processContext.exit(1);
27317
27362
  return;
27318
27363
  }
27319
27364
  const testCaseIds = [];
@@ -27330,7 +27375,7 @@ var registerTestsetCommand = (program) => {
27330
27375
  Result: "Failure",
27331
27376
  Message: `Test case '${tcKey}' not found.`
27332
27377
  }, format);
27333
- process.exitCode = 1;
27378
+ processContext.exit(1);
27334
27379
  return;
27335
27380
  }
27336
27381
  testCaseIds.push(tc.id);
@@ -27352,10 +27397,10 @@ var registerTestsetCommand = (program) => {
27352
27397
  Message: message,
27353
27398
  Instructions: details
27354
27399
  }, format);
27355
- process.exitCode = 1;
27400
+ processContext.exit(1);
27356
27401
  }
27357
27402
  });
27358
- testsetCmd.command("update").description("Update a test set name or description.").requiredOption("--test-set-key <key>", "Test set object key (e.g. DEMO:42)").option("--name <name>", "New test set name").option("--description <text>", "New test set description").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").action(async (options) => {
27403
+ testsetCmd.command("update").description("Update a test set name or description.").requiredOption("--test-set-key <key>", "Test set object key (e.g. DEMO:42)").option("--name <name>", "New test set name").option("--description <text>", "New test set description").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").trackedAction(processContext, async (options) => {
27359
27404
  const ctx = await resolveCommandContext(options);
27360
27405
  if (!ctx)
27361
27406
  return;
@@ -27391,10 +27436,10 @@ var registerTestsetCommand = (program) => {
27391
27436
  Message: message,
27392
27437
  Instructions: details
27393
27438
  }, format);
27394
- process.exitCode = 1;
27439
+ processContext.exit(1);
27395
27440
  }
27396
27441
  });
27397
- testsetCmd.command("remove-testcases").description("Remove test cases from a test set.").requiredOption("--test-set-key <key>", "Test set object key (e.g. DEMO:42)").requiredOption("--test-case-keys <keys>", "Comma-separated test case keys to remove (e.g. DEMO:1,DEMO:2)").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").action(async (options) => {
27442
+ testsetCmd.command("remove-testcases").description("Remove test cases from a test set.").requiredOption("--test-set-key <key>", "Test set object key (e.g. DEMO:42)").requiredOption("--test-case-keys <keys>", "Comma-separated test case keys to remove (e.g. DEMO:1,DEMO:2)").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").trackedAction(processContext, async (options) => {
27398
27443
  const ctx = await resolveCommandContext(options);
27399
27444
  if (!ctx)
27400
27445
  return;
@@ -27440,10 +27485,10 @@ var registerTestsetCommand = (program) => {
27440
27485
  Message: message,
27441
27486
  Instructions: details
27442
27487
  }, format);
27443
- process.exitCode = 1;
27488
+ processContext.exit(1);
27444
27489
  }
27445
27490
  });
27446
- testsetCmd.command("list-testcases").description("List test cases assigned to a test set.").requiredOption("--test-set-key <key>", "Test set object key (e.g. DEMO:42)").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").action(async (options) => {
27491
+ testsetCmd.command("list-testcases").description("List test cases assigned to a test set.").requiredOption("--test-set-key <key>", "Test set object key (e.g. DEMO:42)").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").trackedAction(processContext, async (options) => {
27447
27492
  const ctx = await resolveCommandContext(options);
27448
27493
  if (!ctx)
27449
27494
  return;
@@ -27483,7 +27528,7 @@ var registerTestsetCommand = (program) => {
27483
27528
  Message: message,
27484
27529
  Instructions: details
27485
27530
  }, format);
27486
- process.exitCode = 1;
27531
+ processContext.exit(1);
27487
27532
  }
27488
27533
  });
27489
27534
  testsetCmd.command("execute").description("Execute a test set and return the execution ID.").requiredOption("--test-set-key <key>", "Test set object key (e.g. DEMO:42). The project key is derived from the prefix (e.g. DEMO).").option("--execution-type <type>", [
@@ -27493,7 +27538,7 @@ var registerTestsetCommand = (program) => {
27493
27538
  " mixed - run both automated and manual test cases",
27494
27539
  " none - no specific type filter"
27495
27540
  ].join(`
27496
- `), "automated").option("--input-path <file>", 'JSON file with parameter overrides: [{"name":"Param","type":"String","value":"v"}]').option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").action(async (options) => {
27541
+ `), "automated").option("--input-path <file>", 'JSON file with parameter overrides: [{"name":"Param","type":"String","value":"v"}]').option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").trackedAction(processContext, async (options) => {
27497
27542
  const ctx = await resolveCommandContext(options);
27498
27543
  if (!ctx)
27499
27544
  return;
@@ -27511,7 +27556,7 @@ var registerTestsetCommand = (program) => {
27511
27556
  Result: "Failure",
27512
27557
  Message: `Test set '${testSetKey}' not found.`
27513
27558
  }, format);
27514
- process.exitCode = 1;
27559
+ processContext.exit(1);
27515
27560
  return;
27516
27561
  }
27517
27562
  if (options.inputPath) {
@@ -27536,10 +27581,10 @@ var registerTestsetCommand = (program) => {
27536
27581
  Message: message,
27537
27582
  Instructions: details
27538
27583
  }, format);
27539
- process.exitCode = 1;
27584
+ processContext.exit(1);
27540
27585
  }
27541
27586
  });
27542
- testsetCmd.command("list").description("List test sets in a Test Manager project.").requiredOption("--project-key <key>", "Test Manager project key (e.g. DEMO)").option("--folder-key <uuid>", "Filter by Orchestrator folder key (UUID, from 'or folders list')").option("--filter <text>", "Filter test sets by name").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").action(async (options) => {
27587
+ testsetCmd.command("list").description("List test sets in a Test Manager project.").requiredOption("--project-key <key>", "Test Manager project key (e.g. DEMO)").option("--folder-key <uuid>", "Filter by Orchestrator folder key (UUID, from 'or folders list')").option("--filter <text>", "Filter test sets by name").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").option("--format <format>", "Output format (table, json, yaml, plain)", "table").trackedAction(processContext, async (options) => {
27543
27588
  const ctx = await resolveCommandContext(options);
27544
27589
  if (!ctx)
27545
27590
  return;
@@ -27563,7 +27608,7 @@ var registerTestsetCommand = (program) => {
27563
27608
  Message: message,
27564
27609
  Instructions: details
27565
27610
  }, format);
27566
- process.exitCode = 1;
27611
+ processContext.exit(1);
27567
27612
  }
27568
27613
  });
27569
27614
  };
@@ -27623,7 +27668,7 @@ async function overrideTestSetParameters(tmConfig, projectId, testSetId, inputPa
27623
27668
  init_src();
27624
27669
  var POLL_INTERVAL_MS = 60000;
27625
27670
  var registerWaitCommand = (program) => {
27626
- program.command("wait").description("Wait for a test execution to reach a terminal state.").requiredOption("--execution-id <uuid>", "Test execution UUID (from 'testset execute' output)").option("--project-key <key>", "Test Manager project key (e.g. DEMO)").option("--test-set-key <key>", "Test set key to derive project key from (e.g. DEMO:42 → project key DEMO)").option("--timeout <seconds>", "Maximum seconds to wait (0 = no timeout)", "1800").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--format <format>", "Output format (table, json, yaml, plain)", "table").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").action(async (options) => {
27671
+ program.command("wait").description("Wait for a test execution to reach a terminal state.").requiredOption("--execution-id <uuid>", "Test execution UUID (from 'testset execute' output)").option("--project-key <key>", "Test Manager project key (e.g. DEMO)").option("--test-set-key <key>", "Test set key to derive project key from (e.g. DEMO:42 → project key DEMO)").option("--timeout <seconds>", "Maximum seconds to wait (0 = no timeout)", "1800").option("-t, --tenant <name>", "Tenant name (defaults to authenticated tenant)").option("--format <format>", "Output format (table, json, yaml, plain)", "table").option("--log-level <level>", "Log verbosity: debug, info, warn, error", "Information").trackedAction(processContext, async (options) => {
27627
27672
  const ctx = await resolveCommandContext(options);
27628
27673
  if (!ctx)
27629
27674
  return;
@@ -27676,7 +27721,7 @@ var registerWaitCommand = (program) => {
27676
27721
  Result: "Failure",
27677
27722
  Message: `Timed out after ${options.timeout}s waiting for execution '${executionId}'. Last status: ${status}.`
27678
27723
  }, format);
27679
- process.exitCode = 1;
27724
+ processContext.exit(1);
27680
27725
  return;
27681
27726
  }
27682
27727
  await new Promise((resolve2) => setTimeout(resolve2, POLL_INTERVAL_MS));
@@ -27688,7 +27733,7 @@ var registerWaitCommand = (program) => {
27688
27733
  Message: message,
27689
27734
  Instructions: details
27690
27735
  }, format);
27691
- process.exitCode = 1;
27736
+ processContext.exit(1);
27692
27737
  }
27693
27738
  });
27694
27739
  };
@@ -27697,7 +27742,7 @@ var registerWaitCommand = (program) => {
27697
27742
  var metadata = {
27698
27743
  name: "test-manager-tool",
27699
27744
  version: package_default.version,
27700
- description: "UiPath Test Manager Tool",
27745
+ description: "Manage test cases, test sets, executions, and results.",
27701
27746
  commandPrefix: "tm"
27702
27747
  };
27703
27748
  var registerCommands = (program) => {