@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/index.js CHANGED
@@ -6,25 +6,43 @@ var __getProtoOf = Object.getPrototypeOf;
6
6
  var __defProp = Object.defineProperty;
7
7
  var __getOwnPropNames = Object.getOwnPropertyNames;
8
8
  var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ function __accessProp(key) {
10
+ return this[key];
11
+ }
12
+ var __toESMCache_node;
13
+ var __toESMCache_esm;
9
14
  var __toESM = (mod, isNodeMode, target) => {
15
+ var canCache = mod != null && typeof mod === "object";
16
+ if (canCache) {
17
+ var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
18
+ var cached = cache.get(mod);
19
+ if (cached)
20
+ return cached;
21
+ }
10
22
  target = mod != null ? __create(__getProtoOf(mod)) : {};
11
23
  const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
12
24
  for (let key of __getOwnPropNames(mod))
13
25
  if (!__hasOwnProp.call(to, key))
14
26
  __defProp(to, key, {
15
- get: () => mod[key],
27
+ get: __accessProp.bind(mod, key),
16
28
  enumerable: true
17
29
  });
30
+ if (canCache)
31
+ cache.set(mod, to);
18
32
  return to;
19
33
  };
20
34
  var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
35
+ var __returnValue = (v) => v;
36
+ function __exportSetter(name, newValue) {
37
+ this[name] = __returnValue.bind(null, newValue);
38
+ }
21
39
  var __export = (target, all) => {
22
40
  for (var name in all)
23
41
  __defProp(target, name, {
24
42
  get: all[name],
25
43
  enumerable: true,
26
44
  configurable: true,
27
- set: (newValue) => all[name] = () => newValue
45
+ set: __exportSetter.bind(all, name)
28
46
  });
29
47
  };
30
48
  var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
@@ -6779,7 +6797,7 @@ class SimpleLogger {
6779
6797
  return 0 /* DEBUG */;
6780
6798
  }
6781
6799
  } catch {}
6782
- return 3 /* ERROR */;
6800
+ return DEFAULT_LOG_LEVEL;
6783
6801
  }
6784
6802
  static parseLevel(value) {
6785
6803
  switch (value.toLowerCase()) {
@@ -6926,7 +6944,7 @@ function configureLogger(config) {
6926
6944
  logger.setLogFile(config.logFile);
6927
6945
  }
6928
6946
  }
6929
- var GLOBAL_KEY = "__uipcli_log_file_path__", LogLevel, logger;
6947
+ var GLOBAL_KEY = "__uipcli_log_file_path__", LogLevel, DEFAULT_LOG_LEVEL = 3 /* ERROR */, logger;
6930
6948
  var init_logger = __esm(() => {
6931
6949
  init_output_context();
6932
6950
  ((LogLevel2) => {
@@ -7203,7 +7221,7 @@ var init_telemetry = __esm(() => {
7203
7221
  init_logger_telemetry_provider();
7204
7222
  init_node_appinsights_telemetry_provider();
7205
7223
  sessionId = getOrCreateSessionId();
7206
- DEFAULT_AI_CONNECTION_STRING = Buffer.from("SW5zdHJ1bWVudGF0aW9uS2V5PTYwNjQ5ZGY3LTk4ZmYtNDk2My1iMWQ0LWE3MGQwMzA2MTc0ZjtJbmdlc3Rpb25FbmRwb2ludD1odHRwczovL3dlc3RldXJvcGUtNS5pbi5hcHBsaWNhdGlvbmluc2lnaHRzLmF6dXJlLmNvbS87TGl2ZUVuZHBvaW50PWh0dHBzOi8vd2VzdGV1cm9wZS5saXZlZGlhZ25vc3RpY3MubW9uaXRvci5henVyZS5jb20vO0FwcGxpY2F0aW9uSWQ9ZjlmYWNiNTctM2QxMS00Njc4LWJiOGItMDI0YmJhYmM1Y2Fl", "base64").toString("utf-8");
7224
+ DEFAULT_AI_CONNECTION_STRING = Buffer.from("SW5zdHJ1bWVudGF0aW9uS2V5PTliZDM3NDgyLTgxMGUtNDQyYS1hYWE2LWQzOGVmNjVjNjY3NDtJbmdlc3Rpb25FbmRwb2ludD1odHRwczovL3dlc3RldXJvcGUtNS5pbi5hcHBsaWNhdGlvbmluc2lnaHRzLmF6dXJlLmNvbS87TGl2ZUVuZHBvaW50PWh0dHBzOi8vd2VzdGV1cm9wZS5saXZlZGlhZ25vc3RpY3MubW9uaXRvci5henVyZS5jb20vO0FwcGxpY2F0aW9uSWQ9MzU2OTdlZjEtOGJkMC00ZjE5LWEyN2MtZDg3Y2NhYzY2ZDJj", "base64").toString("utf-8");
7207
7225
  telemetry = new Proxy({}, {
7208
7226
  get(_, prop) {
7209
7227
  const instance = getTelemetryInstance();
@@ -7217,7 +7235,7 @@ var init_telemetry = __esm(() => {
7217
7235
  var CommonTelemetryEvents;
7218
7236
  var init_telemetry_events = __esm(() => {
7219
7237
  CommonTelemetryEvents = {
7220
- Error: "Error"
7238
+ Error: "uip.error"
7221
7239
  };
7222
7240
  });
7223
7241
 
@@ -7283,11 +7301,6 @@ function logOutput(data, format = "table") {
7283
7301
  printOutput(data, format, (msg) => sink.writeOut(`${msg}
7284
7302
  `));
7285
7303
  }
7286
- function errorOutput(data, format = "table") {
7287
- const sink = getOutputSink();
7288
- printOutput(data, format, (msg) => sink.writeErr(`${msg}
7289
- `));
7290
- }
7291
7304
  function printTable(data, logFn = console.log, externalLogValue) {
7292
7305
  if (data.length === 0)
7293
7306
  return;
@@ -7350,7 +7363,7 @@ var init_formatter = __esm(() => {
7350
7363
  result: data.Result,
7351
7364
  message: data.Message
7352
7365
  });
7353
- errorOutput(data, getOutputFormat());
7366
+ logOutput(data, getOutputFormat());
7354
7367
  }
7355
7368
  OutputFormatter.error = error;
7356
7369
  function log(data) {
@@ -7388,6 +7401,12 @@ var init_command_help = __esm(() => {
7388
7401
  init_output_format_context();
7389
7402
  });
7390
7403
 
7404
+ // ../common/src/constants.ts
7405
+ 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;
7406
+ var init_constants = __esm(() => {
7407
+ DEFAULT_AUTH_TIMEOUT_MS = 5 * 60 * 1000;
7408
+ });
7409
+
7391
7410
  // ../../node_modules/jsonpath-plus/dist/index-node-esm.js
7392
7411
  import vm from "vm";
7393
7412
 
@@ -8793,13 +8812,36 @@ var init_jsonpath = __esm(() => {
8793
8812
  init_index_node_esm();
8794
8813
  });
8795
8814
  // ../common/src/trackedAction.ts
8815
+ function deriveCommandPath(cmd) {
8816
+ const parts = [];
8817
+ let current = cmd;
8818
+ while (current) {
8819
+ const name = current.name();
8820
+ if (name) {
8821
+ parts.unshift(name);
8822
+ }
8823
+ current = current.parent;
8824
+ }
8825
+ if (parts.length > 1) {
8826
+ parts.shift();
8827
+ }
8828
+ return ["uip", ...parts.filter((p) => p !== "uip")].join(".");
8829
+ }
8830
+ var processContext;
8796
8831
  var init_trackedAction = __esm(() => {
8797
8832
  init_esm();
8798
8833
  init_formatter();
8799
8834
  init_logger();
8800
8835
  init_telemetry();
8801
- Command2.prototype.trackedAction = function(context, telemetryName, fn, properties) {
8836
+ processContext = {
8837
+ exit: (code) => {
8838
+ process.exitCode = code;
8839
+ }
8840
+ };
8841
+ Command2.prototype.trackedAction = function(context, fn, properties) {
8842
+ const command = this;
8802
8843
  return this.action(async (...args) => {
8844
+ const telemetryName = deriveCommandPath(command);
8803
8845
  const props = typeof properties === "function" ? properties(...args) : properties;
8804
8846
  const startTime = performance.now();
8805
8847
  let errorMessage;
@@ -8830,6 +8872,7 @@ var init_trackedAction = __esm(() => {
8830
8872
  var init_src = __esm(() => {
8831
8873
  init_node_appinsights_telemetry_provider();
8832
8874
  init_command_help();
8875
+ init_constants();
8833
8876
  init_formatter();
8834
8877
  init_jsonpath();
8835
8878
  init_logger();
@@ -8837,7 +8880,6 @@ var init_src = __esm(() => {
8837
8880
  init_output_format_context();
8838
8881
  init_registry();
8839
8882
  init_telemetry();
8840
- init_telemetry_events();
8841
8883
  init_trackedAction();
8842
8884
  });
8843
8885
 
@@ -9684,8 +9726,8 @@ var {
9684
9726
  // package.json
9685
9727
  var package_default = {
9686
9728
  name: "@uipath/test-manager-tool",
9687
- version: "0.1.5",
9688
- description: "uipcli plugin for managing UiPath Test Manager",
9729
+ version: "0.1.7",
9730
+ description: "Manage test cases, test sets, executions, and results.",
9689
9731
  private: false,
9690
9732
  maintainers: [
9691
9733
  "aoltean16",
@@ -9698,7 +9740,7 @@ var package_default = {
9698
9740
  directory: "packages/test-manager-tool"
9699
9741
  },
9700
9742
  publishConfig: {
9701
- registry: "https://npm.pkg.github.com/@uipath"
9743
+ registry: "https://registry.npmjs.org/"
9702
9744
  },
9703
9745
  keywords: [
9704
9746
  "uipcli-tool"
@@ -11768,6 +11810,12 @@ var OUTPUT_DIR = join2(process.cwd(), "generated");
11768
11810
  var TEMP_DIR = join2(process.cwd(), "temp");
11769
11811
  var GENERATE_DIR = join2(process.cwd(), "swagger");
11770
11812
  if (false) {}
11813
+ // ../auth/src/index.ts
11814
+ init_src();
11815
+
11816
+ // ../auth/src/config.ts
11817
+ init_src();
11818
+
11771
11819
  // ../auth/src/utils/loadConfig.ts
11772
11820
  init_src();
11773
11821
 
@@ -25354,11 +25402,11 @@ var loadConfigAsync = async () => {
25354
25402
  const fs7 = await getFs();
25355
25403
  let configPath = fs7.env.getenv("UIPATH_CONFIG_PATH");
25356
25404
  if (!configPath) {
25357
- const localPath = fs7.path.join(fs7.env.cwd(), "uipath.config.json");
25405
+ const localPath = fs7.path.join(fs7.env.cwd(), LOCAL_CONFIG_FILENAME);
25358
25406
  if (await fs7.exists(localPath)) {
25359
25407
  configPath = localPath;
25360
25408
  } else {
25361
- configPath = fs7.path.join(fs7.env.homedir(), ".uipcli", "config.json");
25409
+ configPath = fs7.path.join(fs7.env.homedir(), UIPATH_HOME_DIR, CONFIG_FILENAME);
25362
25410
  }
25363
25411
  }
25364
25412
  if (!await fs7.exists(configPath)) {
@@ -25391,7 +25439,6 @@ Please ensure your config file contains valid JSON.`;
25391
25439
  };
25392
25440
 
25393
25441
  // ../auth/src/config.ts
25394
- var DEFAULT_BASE_URL = "https://cloud.uipath.com";
25395
25442
  var DEFAULT_CLIENT_ID = "36dea5b8-e8bb-423d-8e7b-c808df8f1c00";
25396
25443
 
25397
25444
  class InvalidBaseUrlError extends Error {
@@ -25486,10 +25533,10 @@ init_src2();
25486
25533
 
25487
25534
  // ../auth/src/telemetry-events.ts
25488
25535
  var AuthTelemetryEvents = {
25489
- Login: "Auth.Login",
25490
- TenantSelected: "Auth.TenantSelected",
25491
- TokenRefresh: "Auth.TokenRefresh",
25492
- Logout: "Auth.Logout"
25536
+ Login: "uip.auth.login",
25537
+ TenantSelected: "uip.auth.tenant-selected",
25538
+ TokenRefresh: "uip.auth.token-refresh",
25539
+ Logout: "uip.auth.logout"
25493
25540
  };
25494
25541
 
25495
25542
  // ../auth/src/tenantSelection.ts
@@ -26010,9 +26057,7 @@ var Qe = `${t("gray", h)} `;
26010
26057
  // ../auth/src/utils/envFile.ts
26011
26058
  init_src();
26012
26059
  init_src2();
26013
- var DEFAULT_AUTH_FILENAME = ".auth";
26014
- var DEFAULT_AUTH_DIR = ".uipath";
26015
- var DEFAULT_ENV_FILENAME = `${DEFAULT_AUTH_DIR}/${DEFAULT_AUTH_FILENAME}`;
26060
+ var DEFAULT_ENV_FILENAME = `${UIPATH_HOME_DIR}/${AUTH_FILENAME}`;
26016
26061
  var resolveEnvFilePathAsync = async (envFilePath = DEFAULT_ENV_FILENAME) => {
26017
26062
  const fs7 = getFileSystem();
26018
26063
  if (fs7.path.isAbsolute(envFilePath)) {
@@ -26475,7 +26520,7 @@ var registerAttachmentCommand = (program3) => {
26475
26520
  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) => {
26476
26521
  acc.push(val);
26477
26522
  return acc;
26478
- }, []).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) => {
26523
+ }, []).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) => {
26479
26524
  const ctx = await resolveCommandContext(options);
26480
26525
  if (!ctx)
26481
26526
  return;
@@ -26560,7 +26605,7 @@ var registerAttachmentCommand = (program3) => {
26560
26605
  Message: message,
26561
26606
  Instructions: details
26562
26607
  }, format);
26563
- process.exitCode = 1;
26608
+ processContext.exit(1);
26564
26609
  }
26565
26610
  });
26566
26611
  };
@@ -26629,7 +26674,7 @@ function calcPassRate(passed, total) {
26629
26674
  // src/commands/execution.ts
26630
26675
  var registerExecutionCommand = (program3) => {
26631
26676
  const executionCmd = program3.command("execution").description("Manage Test Manager test executions");
26632
- 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) => {
26677
+ 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) => {
26633
26678
  const ctx = await resolveCommandContext(options);
26634
26679
  if (!ctx)
26635
26680
  return;
@@ -26648,7 +26693,7 @@ var registerExecutionCommand = (program3) => {
26648
26693
  Result: "Failure",
26649
26694
  Message: `Execution '${executionId}' is not in a terminal state (current: ${currentStatus}). Wait for it to finish before retrying.`
26650
26695
  }, format);
26651
- process.exitCode = 1;
26696
+ processContext.exit(1);
26652
26697
  return;
26653
26698
  }
26654
26699
  const failedCount = currentStats.failed ?? 0;
@@ -26666,7 +26711,7 @@ var registerExecutionCommand = (program3) => {
26666
26711
  Result: "Failure",
26667
26712
  Message: `No failed test case logs found for execution '${executionId}'.`
26668
26713
  }, format);
26669
- process.exitCode = 1;
26714
+ processContext.exit(1);
26670
26715
  return;
26671
26716
  }
26672
26717
  logger.info(`Found ${failedLogIds.length} failed test case log(s) to retry`);
@@ -26692,7 +26737,7 @@ var registerExecutionCommand = (program3) => {
26692
26737
  Message: message,
26693
26738
  Instructions: details
26694
26739
  }, format);
26695
- process.exitCode = 1;
26740
+ processContext.exit(1);
26696
26741
  }
26697
26742
  });
26698
26743
  };
@@ -26725,7 +26770,7 @@ async function fetchAllFailedLogIds(api2, projectId, testExecutionId) {
26725
26770
  init_src();
26726
26771
  var registerProjectCommand = (program3) => {
26727
26772
  const projectCmd = program3.command("project").description("Manage Test Manager projects");
26728
- 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) => {
26773
+ 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) => {
26729
26774
  const ctx = await resolveBaseContext(options);
26730
26775
  if (!ctx)
26731
26776
  return;
@@ -26760,10 +26805,10 @@ var registerProjectCommand = (program3) => {
26760
26805
  Message: message,
26761
26806
  Instructions: details
26762
26807
  }, format);
26763
- process.exitCode = 1;
26808
+ processContext.exit(1);
26764
26809
  }
26765
26810
  });
26766
- 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) => {
26811
+ 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) => {
26767
26812
  const ctx = await resolveBaseContext(options);
26768
26813
  if (!ctx)
26769
26814
  return;
@@ -26791,10 +26836,10 @@ var registerProjectCommand = (program3) => {
26791
26836
  Message: message,
26792
26837
  Instructions: details
26793
26838
  }, format);
26794
- process.exitCode = 1;
26839
+ processContext.exit(1);
26795
26840
  }
26796
26841
  });
26797
- 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) => {
26842
+ 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) => {
26798
26843
  const ctx = await resolveBaseContext(options);
26799
26844
  if (!ctx)
26800
26845
  return;
@@ -26826,10 +26871,10 @@ var registerProjectCommand = (program3) => {
26826
26871
  Message: message,
26827
26872
  Instructions: details
26828
26873
  }, format);
26829
- process.exitCode = 1;
26874
+ processContext.exit(1);
26830
26875
  }
26831
26876
  });
26832
- 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) => {
26877
+ 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) => {
26833
26878
  const ctx = await resolveBaseContext(options);
26834
26879
  if (!ctx)
26835
26880
  return;
@@ -26854,10 +26899,10 @@ var registerProjectCommand = (program3) => {
26854
26899
  Message: message,
26855
26900
  Instructions: details
26856
26901
  }, format);
26857
- process.exitCode = 1;
26902
+ processContext.exit(1);
26858
26903
  }
26859
26904
  });
26860
- 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) => {
26905
+ 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) => {
26861
26906
  const ctx = await resolveCommandContext(options);
26862
26907
  if (!ctx)
26863
26908
  return;
@@ -26889,10 +26934,10 @@ var registerProjectCommand = (program3) => {
26889
26934
  Message: message,
26890
26935
  Instructions: details
26891
26936
  }, format);
26892
- process.exitCode = 1;
26937
+ processContext.exit(1);
26893
26938
  }
26894
26939
  });
26895
- 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) => {
26940
+ 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) => {
26896
26941
  const ctx = await resolveCommandContext(options);
26897
26942
  if (!ctx)
26898
26943
  return;
@@ -26921,7 +26966,7 @@ var registerProjectCommand = (program3) => {
26921
26966
  Message: message,
26922
26967
  Instructions: details
26923
26968
  }, format);
26924
- process.exitCode = 1;
26969
+ processContext.exit(1);
26925
26970
  }
26926
26971
  });
26927
26972
  };
@@ -27000,7 +27045,7 @@ function applyQuery(data, query) {
27000
27045
  // src/commands/report.ts
27001
27046
  var registerReportCommand = (program3) => {
27002
27047
  const reportCmd = program3.command("report").description("Manage Test Manager execution reports");
27003
- 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) => {
27048
+ 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) => {
27004
27049
  const ctx = await resolveCommandContext(options);
27005
27050
  if (!ctx)
27006
27051
  return;
@@ -27063,7 +27108,7 @@ var registerReportCommand = (program3) => {
27063
27108
  Message: message,
27064
27109
  Instructions: details
27065
27110
  }, format);
27066
- process.exitCode = 1;
27111
+ processContext.exit(1);
27067
27112
  }
27068
27113
  });
27069
27114
  };
@@ -27194,7 +27239,7 @@ async function resolveOutputPath(resultPath, testSetName, format) {
27194
27239
  // src/commands/result.ts
27195
27240
  var registerResultCommand = (program3) => {
27196
27241
  const resultCmd = program3.command("result").description("Manage Test Manager execution results");
27197
- 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) => {
27242
+ 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) => {
27198
27243
  const ctx = await resolveCommandContext(options);
27199
27244
  if (!ctx)
27200
27245
  return;
@@ -27305,7 +27350,7 @@ var registerResultCommand = (program3) => {
27305
27350
  Message: message,
27306
27351
  Instructions: details
27307
27352
  }, format);
27308
- process.exitCode = 1;
27353
+ processContext.exit(1);
27309
27354
  }
27310
27355
  });
27311
27356
  };
@@ -28953,7 +28998,7 @@ if (false) {}
28953
28998
  // src/commands/testcase.ts
28954
28999
  var registerTestcaseCommand = (program3) => {
28955
29000
  const testcaseCmd = program3.command("testcase").description("Manage Test Manager test cases");
28956
- 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) => {
29001
+ 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) => {
28957
29002
  const ctx = await resolveCommandContext(options);
28958
29003
  if (!ctx)
28959
29004
  return;
@@ -28983,10 +29028,10 @@ var registerTestcaseCommand = (program3) => {
28983
29028
  Message: message,
28984
29029
  Instructions: details
28985
29030
  }, format);
28986
- process.exitCode = 1;
29031
+ processContext.exit(1);
28987
29032
  }
28988
29033
  });
28989
- 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) => {
29034
+ 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) => {
28990
29035
  const ctx = await resolveCommandContext(options);
28991
29036
  if (!ctx)
28992
29037
  return;
@@ -29025,10 +29070,10 @@ var registerTestcaseCommand = (program3) => {
29025
29070
  Message: message,
29026
29071
  Instructions: details
29027
29072
  }, format);
29028
- process.exitCode = 1;
29073
+ processContext.exit(1);
29029
29074
  }
29030
29075
  });
29031
- 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) => {
29076
+ 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) => {
29032
29077
  const ctx = await resolveCommandContext(options);
29033
29078
  if (!ctx)
29034
29079
  return;
@@ -29048,7 +29093,7 @@ var registerTestcaseCommand = (program3) => {
29048
29093
  Result: "Failure",
29049
29094
  Message: `Test case '${testCaseKey}' not found.`
29050
29095
  }, format);
29051
- process.exitCode = 1;
29096
+ processContext.exit(1);
29052
29097
  return;
29053
29098
  }
29054
29099
  await testCasesApi.testCasesDelete({
@@ -29067,10 +29112,10 @@ var registerTestcaseCommand = (program3) => {
29067
29112
  Message: message,
29068
29113
  Instructions: details
29069
29114
  }, format);
29070
- process.exitCode = 1;
29115
+ processContext.exit(1);
29071
29116
  }
29072
29117
  });
29073
- 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) => {
29118
+ 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) => {
29074
29119
  const ctx = await resolveCommandContext(options);
29075
29120
  if (!ctx)
29076
29121
  return;
@@ -29091,7 +29136,7 @@ var registerTestcaseCommand = (program3) => {
29091
29136
  Result: "Failure",
29092
29137
  Message: `Test case '${testCaseKey}' not found.`
29093
29138
  }, format);
29094
- process.exitCode = 1;
29139
+ processContext.exit(1);
29095
29140
  return;
29096
29141
  }
29097
29142
  const foldersApi = await createApiClient(FoldersApi, {
@@ -29107,7 +29152,7 @@ var registerTestcaseCommand = (program3) => {
29107
29152
  Result: "Failure",
29108
29153
  Message: `Folder with key '${options.folderKey}' not found.`
29109
29154
  }, format);
29110
- process.exitCode = 1;
29155
+ processContext.exit(1);
29111
29156
  return;
29112
29157
  }
29113
29158
  const folderDisplayName = folderMatch.displayName;
@@ -29123,7 +29168,7 @@ var registerTestcaseCommand = (program3) => {
29123
29168
  Result: "Failure",
29124
29169
  Message: `Test '${options.testName}' not found in package '${options.packageName}' for folder '${options.folderKey}'.`
29125
29170
  }, format);
29126
- process.exitCode = 1;
29171
+ processContext.exit(1);
29127
29172
  return;
29128
29173
  }
29129
29174
  const packageEntryPointUniqueId = entryPoint.packageEntryPointId;
@@ -29160,10 +29205,10 @@ var registerTestcaseCommand = (program3) => {
29160
29205
  Message: message,
29161
29206
  Instructions: details
29162
29207
  }, format);
29163
- process.exitCode = 1;
29208
+ processContext.exit(1);
29164
29209
  }
29165
29210
  });
29166
- 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) => {
29211
+ 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) => {
29167
29212
  const ctx = await resolveCommandContext(options);
29168
29213
  if (!ctx)
29169
29214
  return;
@@ -29210,10 +29255,10 @@ var registerTestcaseCommand = (program3) => {
29210
29255
  Message: message,
29211
29256
  Instructions: details
29212
29257
  }, format);
29213
- process.exitCode = 1;
29258
+ processContext.exit(1);
29214
29259
  }
29215
29260
  });
29216
- 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) => {
29261
+ 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) => {
29217
29262
  const ctx = await resolveCommandContext(options);
29218
29263
  if (!ctx)
29219
29264
  return;
@@ -29244,10 +29289,10 @@ var registerTestcaseCommand = (program3) => {
29244
29289
  Message: message,
29245
29290
  Instructions: details
29246
29291
  }, format);
29247
- process.exitCode = 1;
29292
+ processContext.exit(1);
29248
29293
  }
29249
29294
  });
29250
- 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) => {
29295
+ 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) => {
29251
29296
  const ctx = await resolveCommandContext(options);
29252
29297
  if (!ctx)
29253
29298
  return;
@@ -29268,7 +29313,7 @@ var registerTestcaseCommand = (program3) => {
29268
29313
  Result: "Failure",
29269
29314
  Message: `Test case '${testCaseKey}' not found.`
29270
29315
  }, format);
29271
- process.exitCode = 1;
29316
+ processContext.exit(1);
29272
29317
  return;
29273
29318
  }
29274
29319
  const updateRes = await fetch(`${tmBaseUrl}/api/v2/${projectId}/testcases/${testCase.id}/updatepackageautomation`, {
@@ -29301,10 +29346,10 @@ var registerTestcaseCommand = (program3) => {
29301
29346
  Message: message,
29302
29347
  Instructions: details
29303
29348
  }, format);
29304
- process.exitCode = 1;
29349
+ processContext.exit(1);
29305
29350
  }
29306
29351
  });
29307
- 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) => {
29352
+ 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) => {
29308
29353
  const ctx = await resolveCommandContext(options);
29309
29354
  if (!ctx)
29310
29355
  return;
@@ -29344,7 +29389,7 @@ var registerTestcaseCommand = (program3) => {
29344
29389
  Message: message,
29345
29390
  Instructions: details
29346
29391
  }, format);
29347
- process.exitCode = 1;
29392
+ processContext.exit(1);
29348
29393
  }
29349
29394
  });
29350
29395
  };
@@ -29354,7 +29399,7 @@ init_src();
29354
29399
  init_src2();
29355
29400
  var registerTestsetCommand = (program3) => {
29356
29401
  const testsetCmd = program3.command("testset").description("Manage Test Manager test sets");
29357
- 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) => {
29402
+ 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) => {
29358
29403
  const ctx = await resolveCommandContext(options);
29359
29404
  if (!ctx)
29360
29405
  return;
@@ -29382,10 +29427,10 @@ var registerTestsetCommand = (program3) => {
29382
29427
  Message: message,
29383
29428
  Instructions: details
29384
29429
  }, format);
29385
- process.exitCode = 1;
29430
+ processContext.exit(1);
29386
29431
  }
29387
29432
  });
29388
- 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) => {
29433
+ 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) => {
29389
29434
  const ctx = await resolveCommandContext(options);
29390
29435
  if (!ctx)
29391
29436
  return;
@@ -29402,7 +29447,7 @@ var registerTestsetCommand = (program3) => {
29402
29447
  Result: "Failure",
29403
29448
  Message: `Test set '${testSetKey}' not found.`
29404
29449
  }, format);
29405
- process.exitCode = 1;
29450
+ processContext.exit(1);
29406
29451
  return;
29407
29452
  }
29408
29453
  await testSetsApi.testSetsDelete({
@@ -29421,10 +29466,10 @@ var registerTestsetCommand = (program3) => {
29421
29466
  Message: message,
29422
29467
  Instructions: details
29423
29468
  }, format);
29424
- process.exitCode = 1;
29469
+ processContext.exit(1);
29425
29470
  }
29426
29471
  });
29427
- 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) => {
29472
+ 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) => {
29428
29473
  const ctx = await resolveCommandContext(options);
29429
29474
  if (!ctx)
29430
29475
  return;
@@ -29443,7 +29488,7 @@ var registerTestsetCommand = (program3) => {
29443
29488
  Result: "Failure",
29444
29489
  Message: `Test set '${testSetKey}' not found.`
29445
29490
  }, format);
29446
- process.exitCode = 1;
29491
+ processContext.exit(1);
29447
29492
  return;
29448
29493
  }
29449
29494
  const testCaseIds = [];
@@ -29460,7 +29505,7 @@ var registerTestsetCommand = (program3) => {
29460
29505
  Result: "Failure",
29461
29506
  Message: `Test case '${tcKey}' not found.`
29462
29507
  }, format);
29463
- process.exitCode = 1;
29508
+ processContext.exit(1);
29464
29509
  return;
29465
29510
  }
29466
29511
  testCaseIds.push(tc.id);
@@ -29482,10 +29527,10 @@ var registerTestsetCommand = (program3) => {
29482
29527
  Message: message,
29483
29528
  Instructions: details
29484
29529
  }, format);
29485
- process.exitCode = 1;
29530
+ processContext.exit(1);
29486
29531
  }
29487
29532
  });
29488
- 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) => {
29533
+ 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) => {
29489
29534
  const ctx = await resolveCommandContext(options);
29490
29535
  if (!ctx)
29491
29536
  return;
@@ -29521,10 +29566,10 @@ var registerTestsetCommand = (program3) => {
29521
29566
  Message: message,
29522
29567
  Instructions: details
29523
29568
  }, format);
29524
- process.exitCode = 1;
29569
+ processContext.exit(1);
29525
29570
  }
29526
29571
  });
29527
- 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) => {
29572
+ 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) => {
29528
29573
  const ctx = await resolveCommandContext(options);
29529
29574
  if (!ctx)
29530
29575
  return;
@@ -29570,10 +29615,10 @@ var registerTestsetCommand = (program3) => {
29570
29615
  Message: message,
29571
29616
  Instructions: details
29572
29617
  }, format);
29573
- process.exitCode = 1;
29618
+ processContext.exit(1);
29574
29619
  }
29575
29620
  });
29576
- 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) => {
29621
+ 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) => {
29577
29622
  const ctx = await resolveCommandContext(options);
29578
29623
  if (!ctx)
29579
29624
  return;
@@ -29613,7 +29658,7 @@ var registerTestsetCommand = (program3) => {
29613
29658
  Message: message,
29614
29659
  Instructions: details
29615
29660
  }, format);
29616
- process.exitCode = 1;
29661
+ processContext.exit(1);
29617
29662
  }
29618
29663
  });
29619
29664
  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>", [
@@ -29623,7 +29668,7 @@ var registerTestsetCommand = (program3) => {
29623
29668
  " mixed - run both automated and manual test cases",
29624
29669
  " none - no specific type filter"
29625
29670
  ].join(`
29626
- `), "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) => {
29671
+ `), "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) => {
29627
29672
  const ctx = await resolveCommandContext(options);
29628
29673
  if (!ctx)
29629
29674
  return;
@@ -29641,7 +29686,7 @@ var registerTestsetCommand = (program3) => {
29641
29686
  Result: "Failure",
29642
29687
  Message: `Test set '${testSetKey}' not found.`
29643
29688
  }, format);
29644
- process.exitCode = 1;
29689
+ processContext.exit(1);
29645
29690
  return;
29646
29691
  }
29647
29692
  if (options.inputPath) {
@@ -29666,10 +29711,10 @@ var registerTestsetCommand = (program3) => {
29666
29711
  Message: message,
29667
29712
  Instructions: details
29668
29713
  }, format);
29669
- process.exitCode = 1;
29714
+ processContext.exit(1);
29670
29715
  }
29671
29716
  });
29672
- 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) => {
29717
+ 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) => {
29673
29718
  const ctx = await resolveCommandContext(options);
29674
29719
  if (!ctx)
29675
29720
  return;
@@ -29693,7 +29738,7 @@ var registerTestsetCommand = (program3) => {
29693
29738
  Message: message,
29694
29739
  Instructions: details
29695
29740
  }, format);
29696
- process.exitCode = 1;
29741
+ processContext.exit(1);
29697
29742
  }
29698
29743
  });
29699
29744
  };
@@ -29753,7 +29798,7 @@ async function overrideTestSetParameters(tmConfig, projectId, testSetId, inputPa
29753
29798
  init_src();
29754
29799
  var POLL_INTERVAL_MS = 60000;
29755
29800
  var registerWaitCommand = (program3) => {
29756
- program3.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) => {
29801
+ program3.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) => {
29757
29802
  const ctx = await resolveCommandContext(options);
29758
29803
  if (!ctx)
29759
29804
  return;
@@ -29806,7 +29851,7 @@ var registerWaitCommand = (program3) => {
29806
29851
  Result: "Failure",
29807
29852
  Message: `Timed out after ${options.timeout}s waiting for execution '${executionId}'. Last status: ${status}.`
29808
29853
  }, format);
29809
- process.exitCode = 1;
29854
+ processContext.exit(1);
29810
29855
  return;
29811
29856
  }
29812
29857
  await new Promise((resolve2) => setTimeout(resolve2, POLL_INTERVAL_MS));
@@ -29818,7 +29863,7 @@ var registerWaitCommand = (program3) => {
29818
29863
  Message: message,
29819
29864
  Instructions: details
29820
29865
  }, format);
29821
- process.exitCode = 1;
29866
+ processContext.exit(1);
29822
29867
  }
29823
29868
  });
29824
29869
  };
@@ -29827,7 +29872,7 @@ var registerWaitCommand = (program3) => {
29827
29872
  var metadata = {
29828
29873
  name: "test-manager-tool",
29829
29874
  version: package_default.version,
29830
- description: "UiPath Test Manager Tool",
29875
+ description: "Manage test cases, test sets, executions, and results.",
29831
29876
  commandPrefix: "tm"
29832
29877
  };
29833
29878
  var registerCommands = (program3) => {