@uipath/ixp-tool 1.198.0-preview.95 → 1.198.0

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 +2 -2
  2. package/dist/tool.js +258 -151
  3. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -2146,7 +2146,7 @@ var {
2146
2146
  var package_default = {
2147
2147
  name: "@uipath/ixp-tool",
2148
2148
  license: "MIT",
2149
- version: "1.198.0-preview.95",
2149
+ version: "1.198.0",
2150
2150
  description: "Manage UiPath IXP projects, prompts, predictions, and model publishing.",
2151
2151
  private: false,
2152
2152
  repository: {
@@ -2196,4 +2196,4 @@ program2.name("ixp-tool").description("UiPath IXP Tool - Standalone CLI").versio
2196
2196
  await registerCommands(program2);
2197
2197
  program2.parse(process.argv);
2198
2198
 
2199
- //# debugId=436C072B5CB4591D64756E2164756E21
2199
+ //# debugId=B1F74854BFC84DE664756E2164756E21
package/dist/tool.js CHANGED
@@ -21230,7 +21230,7 @@ var init_server = __esm(() => {
21230
21230
  var package_default = {
21231
21231
  name: "@uipath/ixp-tool",
21232
21232
  license: "MIT",
21233
- version: "1.198.0-preview.95",
21233
+ version: "1.198.0",
21234
21234
  description: "Manage UiPath IXP projects, prompts, predictions, and model publishing.",
21235
21235
  private: false,
21236
21236
  repository: {
@@ -27408,11 +27408,36 @@ class NodeContextStorage {
27408
27408
  return this.storage.getStore();
27409
27409
  }
27410
27410
  }
27411
+ // ../common/src/telemetry/trace-context.ts
27412
+ var TELEMETRY_TRACEPARENT_ENV = "TRACEPARENT";
27413
+ var TRACEPARENT_PATTERN = /^00-([0-9a-f]{32})-([0-9a-f]{16})-[0-9a-f]{2}$/;
27414
+ function getProcessEnv() {
27415
+ return globalThis.process?.env;
27416
+ }
27417
+ function parseInboundTraceparent(value) {
27418
+ if (!value) {
27419
+ return;
27420
+ }
27421
+ const match = TRACEPARENT_PATTERN.exec(value.trim().toLowerCase());
27422
+ if (!match) {
27423
+ return;
27424
+ }
27425
+ const [, traceId, parentSpanId] = match;
27426
+ if (/^0+$/.test(traceId) || /^0+$/.test(parentSpanId)) {
27427
+ return;
27428
+ }
27429
+ return { traceId, parentSpanId };
27430
+ }
27431
+ function getInboundTraceContext() {
27432
+ return parseInboundTraceparent(getProcessEnv()?.[TELEMETRY_TRACEPARENT_ENV]);
27433
+ }
27434
+
27411
27435
  // ../common/src/telemetry/session-id.ts
27412
27436
  var TELEMETRY_SESSION_ID_ENV = "UIPATH_SESSION_ID";
27413
27437
  var TELEMETRY_SESSION_ID_PROPERTY = "session_id";
27414
27438
  var telemetrySessionIdSlot = singleton("TelemetrySessionId");
27415
- function getProcessEnv() {
27439
+ var telemetryOperationIdSlot = singleton("TelemetryOperationId");
27440
+ function getProcessEnv2() {
27416
27441
  return globalThis.process?.env;
27417
27442
  }
27418
27443
  function normalizeSessionId(value) {
@@ -27423,18 +27448,165 @@ function normalizeSessionId(value) {
27423
27448
  return trimmed || undefined;
27424
27449
  }
27425
27450
  function getConfiguredTelemetrySessionId() {
27426
- return normalizeSessionId(getProcessEnv()?.[TELEMETRY_SESSION_ID_ENV]);
27451
+ return normalizeSessionId(getProcessEnv2()?.[TELEMETRY_SESSION_ID_ENV]);
27427
27452
  }
27428
27453
  function resolveTelemetrySessionId(existingSessionId) {
27429
27454
  return getConfiguredTelemetrySessionId() ?? normalizeSessionId(existingSessionId);
27430
27455
  }
27456
+ function getTelemetryOperationId() {
27457
+ const existing = telemetryOperationIdSlot.get();
27458
+ if (existing) {
27459
+ return existing;
27460
+ }
27461
+ const inboundTraceId = getInboundTraceContext()?.traceId;
27462
+ const generated = inboundTraceId ?? crypto.randomUUID().replaceAll("-", "");
27463
+ telemetryOperationIdSlot.set(generated);
27464
+ return generated;
27465
+ }
27431
27466
  // ../common/src/telemetry/global-telemetry-properties.ts
27432
27467
  var telemetryPropsSlot = singleton("TelemetryDefaultProps");
27433
27468
  function getGlobalTelemetryProperties() {
27434
27469
  return telemetryPropsSlot.get();
27435
27470
  }
27436
27471
 
27472
+ // ../common/src/telemetry/pii-redactor.ts
27473
+ var REDACTED = "[REDACTED]";
27474
+ var MAX_VALUE_LENGTH = 200;
27475
+ var SENSITIVE_NAME_TOKENS = new Set([
27476
+ "token",
27477
+ "tokens",
27478
+ "secret",
27479
+ "secrets",
27480
+ "password",
27481
+ "passwords",
27482
+ "pwd",
27483
+ "credential",
27484
+ "credentials",
27485
+ "auth",
27486
+ "authentication",
27487
+ "authorization",
27488
+ "authority",
27489
+ "cert",
27490
+ "certificate",
27491
+ "certificates"
27492
+ ]);
27493
+ var SENSITIVE_KEY_PREFIXES = new Set([
27494
+ "api",
27495
+ "access",
27496
+ "client",
27497
+ "private",
27498
+ "public",
27499
+ "signing",
27500
+ "encryption",
27501
+ "session",
27502
+ "master",
27503
+ "shared",
27504
+ "root",
27505
+ "ssh",
27506
+ "rsa",
27507
+ "aes",
27508
+ "hmac",
27509
+ "oauth"
27510
+ ]);
27511
+ var UUID_PATTERN = /\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/gi;
27512
+ var EMAIL_PATTERN = /\b[^\s@]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/g;
27513
+ var JWT_PATTERN = /\beyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+/g;
27514
+ var LONG_TOKEN_PATTERN = /\b[A-Za-z0-9_-]{40,}\b/g;
27515
+ var USER_HOME_PATTERN = /([/\\])(Users|home)([/\\])([^/\\]+)/gi;
27516
+ var URL_PATTERN = /\bhttps?:\/\/[^\s,;]+/gi;
27517
+ var URL_TRAILING_PUNCT = /[.,;:!?)\]}>'"]+$/;
27518
+ function shortHash(input) {
27519
+ let hash = 2166136261;
27520
+ for (let i = 0;i < input.length; i++) {
27521
+ hash ^= input.charCodeAt(i);
27522
+ hash = Math.imul(hash, 16777619);
27523
+ }
27524
+ return (hash >>> 0).toString(16).padStart(8, "0");
27525
+ }
27526
+ function redactUrl(raw) {
27527
+ try {
27528
+ const url = new URL(raw);
27529
+ return `${url.protocol}//${url.host}`;
27530
+ } catch {
27531
+ return `url#${shortHash(raw)}`;
27532
+ }
27533
+ }
27534
+ function redactValueDetectors(value) {
27535
+ let out = value;
27536
+ out = out.replace(JWT_PATTERN, () => REDACTED);
27537
+ out = out.replace(URL_PATTERN, (match) => {
27538
+ const trailing = match.match(URL_TRAILING_PUNCT)?.[0] ?? "";
27539
+ const core2 = trailing ? match.slice(0, -trailing.length) : match;
27540
+ return `${redactUrl(core2)}${trailing}`;
27541
+ });
27542
+ out = out.replace(USER_HOME_PATTERN, (_match, sep1, folder, sep2) => `${sep1}${folder}${sep2}<user>`);
27543
+ out = out.replace(EMAIL_PATTERN, (match) => `email#${shortHash(match)}`);
27544
+ out = out.replace(UUID_PATTERN, (match) => `uuid#${shortHash(match)}`);
27545
+ out = out.replace(LONG_TOKEN_PATTERN, () => REDACTED);
27546
+ if (out.length > MAX_VALUE_LENGTH) {
27547
+ out = `${out.slice(0, MAX_VALUE_LENGTH)}…`;
27548
+ }
27549
+ return out;
27550
+ }
27551
+ function redactValue(value) {
27552
+ return redactValueDetectors(value);
27553
+ }
27554
+ function redactError(error) {
27555
+ const safe = new Error(redactValueDetectors(error.message ?? ""));
27556
+ safe.name = error.name;
27557
+ safe.stack = typeof error.stack === "string" ? redactValueDetectors(error.stack) : undefined;
27558
+ return safe;
27559
+ }
27560
+ function nameTokens(name) {
27561
+ return name.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g, "$1 $2").split(/[\s._-]+/).map((t) => t.toLowerCase()).filter(Boolean);
27562
+ }
27563
+ function isSensitiveName(name) {
27564
+ const tokens = nameTokens(name);
27565
+ for (let i = 0;i < tokens.length; i++) {
27566
+ const token = tokens[i];
27567
+ if (SENSITIVE_NAME_TOKENS.has(token)) {
27568
+ return true;
27569
+ }
27570
+ if (token === "key" || token === "keys") {
27571
+ const prev = tokens[i - 1];
27572
+ if (prev && SENSITIVE_KEY_PREFIXES.has(prev)) {
27573
+ return true;
27574
+ }
27575
+ }
27576
+ }
27577
+ return false;
27578
+ }
27579
+ function redactProperty(name, value) {
27580
+ if (value === undefined || value === null) {
27581
+ return;
27582
+ }
27583
+ if (isSensitiveName(name)) {
27584
+ return REDACTED;
27585
+ }
27586
+ if (typeof value === "boolean" || typeof value === "number") {
27587
+ return value;
27588
+ }
27589
+ if (typeof value !== "string") {
27590
+ return "[OBJECT]";
27591
+ }
27592
+ return redactValueDetectors(value);
27593
+ }
27594
+ function redactProperties(properties) {
27595
+ const out = {};
27596
+ for (const [name, value] of Object.entries(properties)) {
27597
+ const redacted = redactProperty(name, value);
27598
+ if (redacted !== undefined) {
27599
+ out[name] = redacted;
27600
+ }
27601
+ }
27602
+ return out;
27603
+ }
27604
+
27437
27605
  // ../common/src/telemetry/telemetry-service.ts
27606
+ var TELEMETRY_OPERATION_ID_PROPERTY = "uip.trace.operation_id";
27607
+ var TELEMETRY_PARENT_ID_PROPERTY = "uip.trace.parent_id";
27608
+ var TELEMETRY_SPAN_ID_PROPERTY = "uip.trace.span_id";
27609
+
27438
27610
  class TelemetryService {
27439
27611
  telemetryProvider;
27440
27612
  contextStorage;
@@ -27461,11 +27633,15 @@ class TelemetryService {
27461
27633
  trackException(error, properties) {
27462
27634
  const context = this.getCurrentContext();
27463
27635
  const enrichedProperties = this.enrichPropertiesWithContext(properties, context);
27464
- this.telemetryProvider.trackException(error, enrichedProperties);
27636
+ this.telemetryProvider.trackException(redactError(error), enrichedProperties);
27465
27637
  }
27466
27638
  async trackRequest(name, fn, properties) {
27639
+ const parentContext = this.getCurrentContext();
27640
+ const operationId = parentContext?.operationId ?? this.operationId ?? getTelemetryOperationId();
27641
+ const parentId = parentContext ? parentContext.id : this.inboundParentIdFor(operationId);
27467
27642
  const context = {
27468
- operationId: this.operationId ?? this.generateId(),
27643
+ operationId,
27644
+ ...parentId !== undefined ? { parentId } : {},
27469
27645
  id: this.generateId()
27470
27646
  };
27471
27647
  const startTime = performance.now();
@@ -27483,6 +27659,45 @@ class TelemetryService {
27483
27659
  throw error;
27484
27660
  }
27485
27661
  }
27662
+ trackRequestResult(name, durationMs, success, properties, context) {
27663
+ const requestContext = context ?? {
27664
+ operationId: this.operationId ?? getTelemetryOperationId(),
27665
+ id: this.generateId()
27666
+ };
27667
+ const enrichedProperties = this.enrichPropertiesWithContext(properties, requestContext);
27668
+ this.telemetryProvider.trackRequest(name, durationMs, success, enrichedProperties);
27669
+ }
27670
+ createRequestContext() {
27671
+ const operationId = this.operationId ?? getTelemetryOperationId();
27672
+ const parentId = this.inboundParentIdFor(operationId);
27673
+ return {
27674
+ operationId,
27675
+ ...parentId !== undefined ? { parentId } : {},
27676
+ id: this.generateId()
27677
+ };
27678
+ }
27679
+ inboundParentIdFor(operationId) {
27680
+ const inbound = getInboundTraceContext();
27681
+ return inbound && inbound.traceId === operationId ? inbound.parentSpanId : undefined;
27682
+ }
27683
+ runWithContext(context, fn) {
27684
+ return this.contextStorage.run(context, fn);
27685
+ }
27686
+ createDependencyContext() {
27687
+ const parentContext = this.getCurrentContext();
27688
+ if (!parentContext) {
27689
+ return;
27690
+ }
27691
+ return {
27692
+ operationId: parentContext.operationId,
27693
+ parentId: parentContext.id,
27694
+ id: this.generateId()
27695
+ };
27696
+ }
27697
+ trackDependencyResult(name, type2, durationMs, success, properties, context, resultCode) {
27698
+ const enrichedProperties = this.enrichPropertiesWithContext(properties, context);
27699
+ this.telemetryProvider.trackDependency(redactValue(name), type2, durationMs, success, enrichedProperties, resultCode);
27700
+ }
27486
27701
  async trackDependencyOperation(name, type2, fn, properties) {
27487
27702
  const parentContext = this.getCurrentContext();
27488
27703
  if (!parentContext) {
@@ -27519,8 +27734,12 @@ class TelemetryService {
27519
27734
  ...getExecutionContextTelemetryProperties(),
27520
27735
  ...globalProperties,
27521
27736
  ...this.defaultProperties,
27522
- ...properties,
27523
- ...context
27737
+ ...redactProperties(properties ?? {}),
27738
+ ...context ? {
27739
+ [TELEMETRY_OPERATION_ID_PROPERTY]: context.operationId,
27740
+ ...context.parentId !== undefined ? { [TELEMETRY_PARENT_ID_PROPERTY]: context.parentId } : {},
27741
+ [TELEMETRY_SPAN_ID_PROPERTY]: context.id
27742
+ } : {}
27524
27743
  };
27525
27744
  if (sessionId === undefined) {
27526
27745
  delete enriched[TELEMETRY_SESSION_ID_PROPERTY];
@@ -27530,7 +27749,16 @@ class TelemetryService {
27530
27749
  return enriched;
27531
27750
  }
27532
27751
  generateId() {
27533
- return crypto.randomUUID().replaceAll("-", "");
27752
+ const bytes = new Uint8Array(8);
27753
+ let hex = "";
27754
+ do {
27755
+ crypto.getRandomValues(bytes);
27756
+ hex = "";
27757
+ for (const byte of bytes) {
27758
+ hex += byte.toString(16).padStart(2, "0");
27759
+ }
27760
+ } while (/^0+$/.test(hex));
27761
+ return hex;
27534
27762
  }
27535
27763
  }
27536
27764
  // ../common/src/telemetry/node-appinsights-telemetry-provider.ts
@@ -28232,134 +28460,11 @@ function buildCommandTelemetryAttribution(commandPath, skillSource) {
28232
28460
  };
28233
28461
  }
28234
28462
 
28235
- // ../common/src/telemetry/pii-redactor.ts
28236
- var REDACTED = "[REDACTED]";
28237
- var MAX_VALUE_LENGTH = 200;
28238
- var SENSITIVE_NAME_TOKENS = new Set([
28239
- "token",
28240
- "tokens",
28241
- "secret",
28242
- "secrets",
28243
- "password",
28244
- "passwords",
28245
- "pwd",
28246
- "credential",
28247
- "credentials",
28248
- "auth",
28249
- "authentication",
28250
- "authorization",
28251
- "authority",
28252
- "cert",
28253
- "certificate",
28254
- "certificates"
28255
- ]);
28256
- var SENSITIVE_KEY_PREFIXES = new Set([
28257
- "api",
28258
- "access",
28259
- "client",
28260
- "private",
28261
- "public",
28262
- "signing",
28263
- "encryption",
28264
- "session",
28265
- "master",
28266
- "shared",
28267
- "root",
28268
- "ssh",
28269
- "rsa",
28270
- "aes",
28271
- "hmac",
28272
- "oauth"
28273
- ]);
28274
- var UUID_PATTERN = /\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/gi;
28275
- var EMAIL_PATTERN = /\b[^\s@]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/g;
28276
- var JWT_PATTERN = /\beyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+/g;
28277
- var LONG_TOKEN_PATTERN = /\b[A-Za-z0-9_-]{40,}\b/g;
28278
- var USER_HOME_PATTERN = /([/\\])(Users|home)([/\\])([^/\\]+)/gi;
28279
- var URL_PATTERN = /\bhttps?:\/\/[^\s,;]+/gi;
28280
- var URL_TRAILING_PUNCT = /[.,;:!?)\]}>'"]+$/;
28281
- function shortHash(input) {
28282
- let hash = 2166136261;
28283
- for (let i = 0;i < input.length; i++) {
28284
- hash ^= input.charCodeAt(i);
28285
- hash = Math.imul(hash, 16777619);
28286
- }
28287
- return (hash >>> 0).toString(16).padStart(8, "0");
28288
- }
28289
- function redactUrl(raw) {
28290
- try {
28291
- const url = new URL(raw);
28292
- return `${url.protocol}//${url.host}`;
28293
- } catch {
28294
- return `url#${shortHash(raw)}`;
28295
- }
28296
- }
28297
- function redactValueDetectors(value) {
28298
- let out = value;
28299
- out = out.replace(JWT_PATTERN, () => REDACTED);
28300
- out = out.replace(URL_PATTERN, (match) => {
28301
- const trailing = match.match(URL_TRAILING_PUNCT)?.[0] ?? "";
28302
- const core2 = trailing ? match.slice(0, -trailing.length) : match;
28303
- return `${redactUrl(core2)}${trailing}`;
28304
- });
28305
- out = out.replace(USER_HOME_PATTERN, (_match, sep1, folder, sep2) => `${sep1}${folder}${sep2}<user>`);
28306
- out = out.replace(EMAIL_PATTERN, (match) => `email#${shortHash(match)}`);
28307
- out = out.replace(UUID_PATTERN, (match) => `uuid#${shortHash(match)}`);
28308
- out = out.replace(LONG_TOKEN_PATTERN, () => REDACTED);
28309
- if (out.length > MAX_VALUE_LENGTH) {
28310
- out = `${out.slice(0, MAX_VALUE_LENGTH)}…`;
28311
- }
28312
- return out;
28313
- }
28314
- function nameTokens(name) {
28315
- return name.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g, "$1 $2").split(/[\s_-]+/).map((t) => t.toLowerCase()).filter(Boolean);
28316
- }
28317
- function isSensitiveName(name) {
28318
- const tokens = nameTokens(name);
28319
- for (let i = 0;i < tokens.length; i++) {
28320
- const token = tokens[i];
28321
- if (SENSITIVE_NAME_TOKENS.has(token)) {
28322
- return true;
28323
- }
28324
- if (token === "key" || token === "keys") {
28325
- const prev = tokens[i - 1];
28326
- if (prev && SENSITIVE_KEY_PREFIXES.has(prev)) {
28327
- return true;
28328
- }
28329
- }
28330
- }
28331
- return false;
28332
- }
28333
- function redactProperty(name, value) {
28334
- if (value === undefined || value === null) {
28335
- return;
28336
- }
28337
- if (isSensitiveName(name)) {
28338
- return REDACTED;
28339
- }
28340
- if (typeof value === "boolean" || typeof value === "number") {
28341
- return value;
28342
- }
28343
- if (typeof value !== "string") {
28344
- return "[OBJECT]";
28345
- }
28346
- return redactValueDetectors(value);
28347
- }
28348
- function redactProperties(properties) {
28349
- const out = {};
28350
- for (const [name, value] of Object.entries(properties)) {
28351
- const redacted = redactProperty(name, value);
28352
- if (redacted !== undefined) {
28353
- out[name] = redacted;
28354
- }
28355
- }
28356
- return out;
28357
- }
28358
-
28359
28463
  // ../common/src/trackedAction.ts
28360
28464
  var pollSignalSlot = singleton("PollSignal");
28361
28465
  var cliErrorCodeValues = new Set(CLI_ERROR_CODES);
28362
28466
  var retryHintValues = new Set(RETRY_HINTS);
28467
+ var TELEMETRY_COMMAND_ARG_PREFIX = "uip.cmd.arg.";
28363
28468
  var processContext = {
28364
28469
  exit: (code) => {
28365
28470
  process.exitCode = code;
@@ -28370,22 +28475,18 @@ var processContext = {
28370
28475
  };
28371
28476
  function extractCommandParams(cmd) {
28372
28477
  const params = {};
28478
+ const add2 = (name, value) => {
28479
+ if (name && value !== undefined) {
28480
+ params[`${TELEMETRY_COMMAND_ARG_PREFIX}${name}`] = value;
28481
+ }
28482
+ };
28373
28483
  const registered = cmd.registeredArguments ?? [];
28374
28484
  const processed = cmd.processedArgs ?? [];
28375
28485
  for (let i = 0;i < registered.length; i++) {
28376
- const value = processed[i];
28377
- if (value === undefined) {
28378
- continue;
28379
- }
28380
- const name = registered[i].name();
28381
- if (name) {
28382
- params[name] = value;
28383
- }
28486
+ add2(registered[i].name(), processed[i]);
28384
28487
  }
28385
28488
  for (const [key, value] of Object.entries(cmd.opts())) {
28386
- if (value !== undefined) {
28387
- params[key] = value;
28388
- }
28489
+ add2(key, value);
28389
28490
  }
28390
28491
  return params;
28391
28492
  }
@@ -28428,11 +28529,12 @@ Command.prototype.trackedAction = function(context, fn, properties) {
28428
28529
  return this.action(async (...args) => {
28429
28530
  const telemetryName = deriveCommandPath(command);
28430
28531
  const props = typeof properties === "function" ? properties(...args) : properties;
28532
+ const requestContext = telemetry.createRequestContext();
28431
28533
  const startTime = performance.now();
28432
28534
  let errorMessage;
28433
28535
  let fallbackExitCode = EXIT_CODES.Success;
28434
28536
  clearRecordedCommandFailureTelemetry();
28435
- const [error] = await catchError(fn(...args));
28537
+ const [error] = await catchError(telemetry.runWithContext(requestContext, () => fn(...args)));
28436
28538
  if (error) {
28437
28539
  errorMessage = error instanceof Error ? error.message : String(error);
28438
28540
  logger.debug(`[trackedAction] ${telemetryName} failed: ${errorMessage}`);
@@ -28468,16 +28570,21 @@ Command.prototype.trackedAction = function(context, fn, properties) {
28468
28570
  recordedFailure,
28469
28571
  pollSignal: context.pollSignal
28470
28572
  });
28471
- telemetry.trackEvent(telemetryName, redactProperties({
28472
- ...extractCommandParams(command),
28573
+ const commandParams = extractCommandParams(command);
28574
+ if (props) {
28575
+ for (const key of Object.keys(props)) {
28576
+ delete commandParams[`${TELEMETRY_COMMAND_ARG_PREFIX}${key}`];
28577
+ }
28578
+ }
28579
+ const baseProperties = redactProperties({
28580
+ ...commandParams,
28473
28581
  ...props,
28474
28582
  ...buildCommandTelemetryAttribution(telemetryName, process.env.UIPATH_SKILL),
28475
28583
  command: "true",
28476
- duration: String(durationMs),
28477
- success: String(success),
28478
28584
  ...terminalTelemetry,
28479
28585
  ...errorMessage ? { errorMessage } : {}
28480
- }));
28586
+ });
28587
+ telemetry.trackRequestResult(telemetryName, durationMs, success, baseProperties, requestContext);
28481
28588
  });
28482
28589
  };
28483
28590
 
@@ -29811,7 +29918,7 @@ init_server();
29811
29918
  var package_default2 = {
29812
29919
  name: "@uipath/ixp-sdk",
29813
29920
  license: "MIT",
29814
- version: "1.198.0-preview.95",
29921
+ version: "1.198.0",
29815
29922
  description: "SDK for the UiPath IXP (Intelligent eXtraction Platform) API — projects, taxonomies, prompts, predictions, and model publishing.",
29816
29923
  repository: {
29817
29924
  type: "git",
@@ -32399,4 +32506,4 @@ export {
32399
32506
  metadata
32400
32507
  };
32401
32508
 
32402
- //# debugId=03B658AD9D8FDFDD64756E2164756E21
32509
+ //# debugId=98EF980406D299AE64756E2164756E21
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@uipath/ixp-tool",
3
3
  "license": "MIT",
4
- "version": "1.198.0-preview.95",
4
+ "version": "1.198.0",
5
5
  "description": "Manage UiPath IXP projects, prompts, predictions, and model publishing.",
6
6
  "private": false,
7
7
  "repository": {
@@ -26,5 +26,5 @@
26
26
  "files": [
27
27
  "dist"
28
28
  ],
29
- "gitHead": "7f6f14e06688fe417ecaac94186ab795a9106caa"
29
+ "gitHead": "1fadf03d7a8dd102742571dff569fdac11808afb"
30
30
  }